build(theme): adopt ZB.MOM.WW.Theme 0.4.1 button sizing

site.css declared `font-size: 0.82rem` literally on `.btn`. Bootstrap sizes
buttons through `font-size: var(--bs-btn-font-size)`, and `.btn-sm` /
`.btn-group-sm > .btn` do nothing but redefine that variable — so a literal at
equal specificity, loaded after Bootstrap, silently flattened every small button
in the dashboard into a padding-only difference. `btn-sm` was inert app-wide.

The kit now owns the sizing: 0.4.0 shipped the four `--bs-btn-*` overrides in
layout.css, which ThemeHead emits ahead of site.css, so removing the local
literal restores `.btn-sm` without a local copy. 0.4.1 is a pin-only follow-up
(it fixes `.rail-btn-block`, which this app does not use; `theme.css` is
byte-identical and the `.btn` rule is unchanged between the two).

The rest of the local rule is kept deliberately. 0.4.0 upstreamed sizing only,
not `border-radius` / `font-weight` / `white-space`, so deleting the block
wholesale would have dropped three app-specific declarations. `border-radius`
also stays a literal rather than `--bs-btn-border-radius`, because `.btn-sm`
redefines that variable and small buttons would shrink to Bootstrap's radius.

Verified in a browser against the running dashboard: `.btn` 13.6px and `.btn-sm`
12.48px, btn-group seams intact, and `--bs-btn-font-size` now declared in
exactly two sheets (bootstrap.min.css, layout.css) instead of three.
This commit is contained in:
Joseph Doherty
2026-08-11 05:47:52 -04:00
parent 917694c33d
commit dc53f04b81
2 changed files with 14 additions and 3 deletions
@@ -15,7 +15,7 @@
<PackageReference Include="ZB.MOM.WW.Auth.ApiKeys" Version="0.1.5" /> <PackageReference Include="ZB.MOM.WW.Auth.ApiKeys" Version="0.1.5" />
<PackageReference Include="ZB.MOM.WW.Auth.AspNetCore" Version="0.1.5" /> <PackageReference Include="ZB.MOM.WW.Auth.AspNetCore" Version="0.1.5" />
<PackageReference Include="ZB.MOM.WW.Audit" Version="0.1.0" /> <PackageReference Include="ZB.MOM.WW.Audit" Version="0.1.0" />
<PackageReference Include="ZB.MOM.WW.Theme" Version="0.3.1" /> <PackageReference Include="ZB.MOM.WW.Theme" Version="0.4.1" />
<PackageReference Include="ZB.MOM.WW.Configuration" Version="0.1.0" /> <PackageReference Include="ZB.MOM.WW.Configuration" Version="0.1.0" />
<PackageReference Include="ZB.MOM.WW.Health" Version="0.2.0" /> <PackageReference Include="ZB.MOM.WW.Health" Version="0.2.0" />
<PackageReference Include="ZB.MOM.WW.Telemetry" Version="0.1.0" /> <PackageReference Include="ZB.MOM.WW.Telemetry" Version="0.1.0" />
@@ -183,8 +183,19 @@ code {
} }
/* ── Buttons ───────────────────────────────────────────────────────────────── /* ── Buttons ─────────────────────────────────────────────────────────────────
Flatten Bootstrap buttons onto the single accent + hairline palette. */ Flatten Bootstrap buttons onto the single accent + hairline palette.
.btn { border-radius: 5px; font-size: 0.82rem; font-weight: 500; white-space: nowrap; }
Button *sizing* is not here: ZB.MOM.WW.Theme 0.4.0 upstreamed it into
layout.css as --bs-btn-* variable overrides, and ThemeHead emits that sheet
ahead of this one, so it applies without a local copy. Do not reintroduce a
local font-size on .btn — a literal at equal specificity beats Bootstrap's
`font-size: var(--bs-btn-font-size)` and flattens .btn-sm into a
padding-only difference across the whole app.
What remains is shape, not size, and is app-specific. border-radius stays a
literal rather than --bs-btn-border-radius so .btn-sm cannot shrink it; the
.btn-group seam rules outrank .btn, so groups still render seamed. */
.btn { border-radius: 5px; font-weight: 500; white-space: nowrap; }
.btn-primary { .btn-primary {
background: var(--accent); background: var(--accent);
border-color: var(--accent); border-color: var(--accent);