diff --git a/src/tailwind.css b/src/tailwind.css index a9c1e2c..fddfee9 100644 --- a/src/tailwind.css +++ b/src/tailwind.css @@ -201,6 +201,12 @@ cursor: pointer; } +/* A grid button centres by `place-items`, which the rule above would override + for its inline axis: an icon-only button ends up pinned to its left edge. */ +.beaver-root.beaver-root button:is(.grid, .inline-grid) { + justify-content: initial; +} + .beaver-root.beaver-root button:hover { background: transparent; } diff --git a/tests/styles.test.ts b/tests/styles.test.ts index 837a79c..1ed83cd 100644 --- a/tests/styles.test.ts +++ b/tests/styles.test.ts @@ -89,4 +89,12 @@ describe("cascade against Obsidian", () => { expect(source).not.toMatch(/@import "tailwindcss"\s*[;l]/); expect(source).not.toMatch(/@import\s+"tailwindcss\/preflight/); }); + + // Obsidian's own `button` rules are what the reset answers, but a grid + // button must keep centring itself or an icon-only one drifts left. + it("leaves grid buttons to their own placement", () => { + expect(source).toMatch( + /button:is\(\.grid, \.inline-grid\) \{\s*justify-content: initial/ + ); + }); });