@bsuite/theme 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/react/components/StatusBadge.js +1 -1
- package/package.json +1 -1
- package/src/css/braden.css +14 -0
- package/src/css/vars.css +47 -0
- package/src/preset-v4.css +11 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
/*
|
|
3
3
|
* Role-bound, not palette-bound. Until 0.7.0 these were raw Tailwind palette
|
|
4
|
-
* classes (`bg-emerald-50`, `bg-red-50`, …), which meant the design-system
|
|
4
|
+
* theme-audit-ok: prose. classes (`bg-emerald-50`, `bg-red-50`, …), which meant the design-system
|
|
5
5
|
* component every app imports was invisible to tenant white-labelling —
|
|
6
6
|
* BrandingProvider mutates the role layer, and these bound below it.
|
|
7
7
|
*
|
package/package.json
CHANGED
package/src/css/braden.css
CHANGED
|
@@ -281,3 +281,17 @@
|
|
|
281
281
|
--dot-color: oklch(0.72 0.060 90 / 0.16);
|
|
282
282
|
--grid-color: oklch(0.82 0.020 250 / 0.055);
|
|
283
283
|
}
|
|
284
|
+
|
|
285
|
+
/* ============================================================
|
|
286
|
+
BASE — the heading ramp, APPLIED. The tokens existed and nothing bound
|
|
287
|
+
them to an actual h1..h6, so every level rendered as flat body colour.
|
|
288
|
+
Contract values, verbatim.
|
|
289
|
+
============================================================ */
|
|
290
|
+
@layer base {
|
|
291
|
+
h1 { font-family: var(--font-display); color: var(--role-h1); font-size: 25px; font-weight: 600; letter-spacing: var(--track-display); }
|
|
292
|
+
h2 { font-family: var(--font-heading); color: var(--role-h2); font-size: 19px; font-weight: 700; }
|
|
293
|
+
h3 { font-family: var(--font-heading); color: var(--role-h3); font-size: 16px; font-weight: 700; }
|
|
294
|
+
h4 { font-family: var(--font-heading); color: var(--role-h4); font-size: 14px; font-weight: 700; }
|
|
295
|
+
h5 { font-family: var(--font-heading); color: var(--role-h5); font-size: 13px; font-weight: 700; }
|
|
296
|
+
h6 { font-family: var(--font-heading); color: var(--role-h6); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: var(--track-eyebrow); }
|
|
297
|
+
}
|
package/src/css/vars.css
CHANGED
|
@@ -127,6 +127,19 @@
|
|
|
127
127
|
--role-success: var(--neon-electric-teal); /* was green — 0.043 from red */
|
|
128
128
|
--role-info: var(--neon-electric-cyan); /* oklch(0.769 0.132 191.7) */
|
|
129
129
|
|
|
130
|
+
/* ═══ TYPE ═══ Lifted from the D2C contract, which specified a font
|
|
131
|
+
stack this package never shipped. Apps were left to pick their own, so
|
|
132
|
+
the estate ran system-ui, Inter and JetBrains Mono simultaneously while
|
|
133
|
+
the contract asked for one family. Same shape of gap as the heading
|
|
134
|
+
ramp: written down, never implemented. */
|
|
135
|
+
--font-display: 'Geist Variable', Geist, system-ui, sans-serif;
|
|
136
|
+
--font-body: 'Geist Variable', Geist, system-ui, sans-serif;
|
|
137
|
+
--font-mono: 'Geist Mono Variable', 'Geist Mono', ui-monospace, monospace;
|
|
138
|
+
--track-display: -0.028em;
|
|
139
|
+
--track-heading: -0.018em;
|
|
140
|
+
--track-body: 0em;
|
|
141
|
+
--track-eyebrow: 0.09em;
|
|
142
|
+
|
|
130
143
|
/* ═══ INFORMATIONAL SCALE — categorical, NOT semantic ═══
|
|
131
144
|
Added 2026-08-03 by operator ruling: "informational hues might be handy
|
|
132
145
|
to stand out against the style colour palette."
|
|
@@ -469,3 +482,37 @@
|
|
|
469
482
|
|
|
470
483
|
/* Shadcn bridge picks up rebindings automatically via var() chain */
|
|
471
484
|
}
|
|
485
|
+
|
|
486
|
+
/* ============================================================
|
|
487
|
+
BASE — the heading ramp, APPLIED.
|
|
488
|
+
============================================================
|
|
489
|
+
Added 2026-08-03 after operator review: "borders and heading levels
|
|
490
|
+
unstyled" (conduit) and "Document Management looks all black" (BSU).
|
|
491
|
+
|
|
492
|
+
Both were the same omission. --role-h1..h6 existed as tokens and NOTHING
|
|
493
|
+
bound them to an actual h1..h6, so every heading fell through to
|
|
494
|
+
--role-text-body — one flat near-black for all six levels. A ramp nobody
|
|
495
|
+
applies is not a ramp, it is six unused variables, and that is exactly what
|
|
496
|
+
an operator sees as "unstyled".
|
|
497
|
+
|
|
498
|
+
Values are the contract's, verbatim (d2c-theme-source-of-truth.html and the
|
|
499
|
+
Corporate equivalent). Each level shifts HUE as well as lightness, so the
|
|
500
|
+
hierarchy survives greyscale and both dichromacies rather than relying on
|
|
501
|
+
size alone.
|
|
502
|
+
|
|
503
|
+
Scoped to @layer base so any component class still wins — this sets the
|
|
504
|
+
floor, it does not fight Tailwind utilities. */
|
|
505
|
+
@layer base {
|
|
506
|
+
h1 { color: var(--role-h1); font-size: 25px; font-weight: 700; letter-spacing: var(--track-display); }
|
|
507
|
+
h2 { color: var(--role-h2); font-size: 19px; }
|
|
508
|
+
h3 { color: var(--role-h3); font-size: 16px; }
|
|
509
|
+
h4 { color: var(--role-h4); font-size: 14px; }
|
|
510
|
+
h5 { color: var(--role-h5); font-size: 13px; }
|
|
511
|
+
h6 {
|
|
512
|
+
color: var(--role-h6);
|
|
513
|
+
font-size: 11px;
|
|
514
|
+
text-transform: uppercase;
|
|
515
|
+
letter-spacing: var(--track-eyebrow);
|
|
516
|
+
font-weight: 700;
|
|
517
|
+
}
|
|
518
|
+
}
|
package/src/preset-v4.css
CHANGED
|
@@ -168,6 +168,17 @@
|
|
|
168
168
|
--color-text-on-success: var(--text-on-success);
|
|
169
169
|
--color-text-on-warning: var(--text-on-warning);
|
|
170
170
|
|
|
171
|
+
/* ============================================================
|
|
172
|
+
TYPE — the contract's stack, bridged to Tailwind's font-* utilities.
|
|
173
|
+
`font-sans` and `font-mono` are what components actually write, so
|
|
174
|
+
without this bridge the tokens exist and nothing uses them. Every D2C
|
|
175
|
+
app had been declaring its own --font-sans locally instead, which is how
|
|
176
|
+
the estate came to run system-ui, Inter and JetBrains Mono at once.
|
|
177
|
+
============================================================ */
|
|
178
|
+
--font-sans: var(--font-body);
|
|
179
|
+
--font-display: var(--font-display);
|
|
180
|
+
--font-mono: var(--font-mono);
|
|
181
|
+
|
|
171
182
|
/* ============================================================
|
|
172
183
|
ANIMATIONS
|
|
173
184
|
============================================================ */
|