haus-tokens 2.3.1 → 3.0.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/brand.css +19 -0
- package/dist/brands/core.css +133 -0
- package/dist/brands/drift.css +24 -0
- package/dist/brands/vault.css +8 -0
- package/dist/index.cjs +7 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +10 -11
- package/dist/index.d.ts +10 -11
- package/dist/index.js +7 -6
- package/dist/index.js.map +1 -1
- package/dist/primitives.css +0 -3
- package/dist/semantics.css +20 -5
- package/dist/tokens.json +6 -18
- package/package.json +1 -1
package/dist/brand.css
CHANGED
|
@@ -183,5 +183,24 @@
|
|
|
183
183
|
--haus-brand-modal-width-md: var(--haus-overlay-width-md); /* 560px: the default */
|
|
184
184
|
--haus-brand-modal-width-lg: var(--haus-overlay-width-lg); /* 720px: code, tables, previews */
|
|
185
185
|
|
|
186
|
+
/* ── Typeface ────────────────────────────────────────────────────────── */
|
|
187
|
+
/* haus#54. Until now `--haus-font-sans` and `--haus-font-mono` were
|
|
188
|
+
primitives that 32 components read directly, exempt from the primitive-read
|
|
189
|
+
rule because their own name was the role. That reasoning held for exactly
|
|
190
|
+
as long as there was one brand, and two consumers already disagree: vault
|
|
191
|
+
forks sans to Manrope Variable, drift keeps system-ui for all three of its
|
|
192
|
+
faces. By decision 0015's own argument typeface is one of the four things
|
|
193
|
+
that make two products look different (colour, shadow, radius, type), so
|
|
194
|
+
it belongs in the form tier beside the other three.
|
|
195
|
+
|
|
196
|
+
The value is a raw stack, not a `var()`, because there is no primitive left
|
|
197
|
+
to point at: the whole of haus#54 is that the primitive moved out of
|
|
198
|
+
primitives.css to here, which is a removal for a primitives-only consumer
|
|
199
|
+
and so a major under decision 0004. `semantics.css` exposes the unchanged
|
|
200
|
+
role name `--haus-font-sans` reading this entry, so no component read
|
|
201
|
+
moved. */
|
|
202
|
+
--haus-brand-font-sans: 'Manrope', system-ui, sans-serif;
|
|
203
|
+
--haus-brand-font-mono: 'Fira Code', ui-monospace, monospace;
|
|
204
|
+
|
|
186
205
|
}
|
|
187
206
|
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/* ─── haus / brand · core ─────────────────────────────────────────────────────
|
|
2
|
+
core's palette, stated as brand inputs. C1 of the theming overhaul.
|
|
3
|
+
|
|
4
|
+
The third brand, and the one that proves the base/feedback split earns its
|
|
5
|
+
keep. vault and drift both supply the feedback tier in full, so until now a
|
|
6
|
+
brand omitting it existed only as a passing test. core is the product that
|
|
7
|
+
actually omits it: its statuses are the states of a decision (proposed,
|
|
8
|
+
accepted, rejected, superseded, deprecated), five things that are not the four
|
|
9
|
+
semantics of a notification, and it cannot fill info / success / warning /
|
|
10
|
+
error without inventing three of them. So this file supplies the twenty-eight
|
|
11
|
+
base entries and nothing else, and the feedback tier inherits from :root
|
|
12
|
+
exactly as brand.css says it will. That is not a gap in core; the five
|
|
13
|
+
decision states are core's own domain vocabulary, consumed as one seed ink
|
|
14
|
+
each and composed inline, and they stay in core because no sibling product
|
|
15
|
+
re-decides them. They are the reason a product still owns something after the
|
|
16
|
+
system has done its half.
|
|
17
|
+
|
|
18
|
+
core brings its own ramps, the way vault brings ruby. It cannot borrow haus's
|
|
19
|
+
damson for neutrals the way vault and drift do: damson is a cool, barely-
|
|
20
|
+
lavender grey (hue 290) and core is committed warm paper (hue ~82): "warm
|
|
21
|
+
off-white surfaces, warm-grey ink", the whole of its identity. And its accent
|
|
22
|
+
is cobalt (hue 260), which haus has no ramp for. So two ramps are declared
|
|
23
|
+
here, --haus-paper-* and --haus-cobalt-*, every step a value core already
|
|
24
|
+
renders in app/globals.css. It invents no colour it did not already ship.
|
|
25
|
+
|
|
26
|
+
Nothing is restyled. Where core has no value for a base role, the value is
|
|
27
|
+
derived from an adjacent one core does render and marked DERIVED, rather than
|
|
28
|
+
left to fall through to haus's cool grey. Six such steps, each named below.
|
|
29
|
+
core has fewer rungs than haus in two places. It separates surfaces by fill
|
|
30
|
+
rather than by borders, and it disables by opacity rather than by a fixed
|
|
31
|
+
token, and those are the derivations.
|
|
32
|
+
|
|
33
|
+
--bg, core's warm-grey "desk" that white cards sit on, is deliberately not a
|
|
34
|
+
role here. It is the app-shell background, set by core's own layout, not a
|
|
35
|
+
surface a haus component reads. surface-default is the card.
|
|
36
|
+
|
|
37
|
+
Applied by attribute, and it nests:
|
|
38
|
+
|
|
39
|
+
<div data-haus-theme="core"> … </div>
|
|
40
|
+
|
|
41
|
+
backdrop reads --haus-opacity-60 rather than any role: a brand supplies inputs
|
|
42
|
+
and may not read the role layer it feeds. Same rule as drift's.
|
|
43
|
+
─────────────────────────────────────────────────────────────────────────── */
|
|
44
|
+
|
|
45
|
+
@layer haus.brand {
|
|
46
|
+
|
|
47
|
+
[data-haus-theme='core'] {
|
|
48
|
+
|
|
49
|
+
/* ── The warm-paper neutral ramp ───────────────────────────────────────
|
|
50
|
+
core's own greys, warm where haus's damson is cool. Every step is a value
|
|
51
|
+
from app/globals.css except the two marked DERIVED, which fill a rung core
|
|
52
|
+
renders by other means (opacity, a scrim) and has no standing token for. */
|
|
53
|
+
--haus-paper-0: oklch(99.8% 0.002 85); /* --surface: the white card */
|
|
54
|
+
--haus-paper-100: oklch(97.2% 0.006 83); /* --surface-2: subtle fill */
|
|
55
|
+
--haus-paper-200: oklch(94% 0.009 83); /* --surface-3: sunken */
|
|
56
|
+
--haus-paper-300: oklch(90% 0.008 80); /* --border */
|
|
57
|
+
--haus-paper-400: oklch(85% 0.010 80); /* --border-strong */
|
|
58
|
+
--haus-paper-500: oklch(74% 0.011 70); /* DERIVED: muted / disabled ink */
|
|
59
|
+
--haus-paper-600: oklch(60% 0.012 65); /* --text-faint: tertiary */
|
|
60
|
+
--haus-paper-700: oklch(46% 0.012 60); /* --text-dim: secondary */
|
|
61
|
+
--haus-paper-900: oklch(27% 0.012 60); /* --text: primary ink */
|
|
62
|
+
--haus-paper-950: oklch(15% 0.010 60); /* DERIVED: backdrop base, near-black */
|
|
63
|
+
|
|
64
|
+
/* ── The cobalt accent ramp ────────────────────────────────────────────
|
|
65
|
+
core's retro cobalt. 500 and 600 are --accent and --accent-hover; core
|
|
66
|
+
ships no pressed step and no opaque subtle fill (it tints with alpha), so
|
|
67
|
+
those two are DERIVED one step past what it renders. */
|
|
68
|
+
--haus-cobalt-100: oklch(95% 0.03 260); /* DERIVED: subtle bg, --accent-tint made opaque on white */
|
|
69
|
+
--haus-cobalt-500: oklch(50% 0.16 260); /* --accent */
|
|
70
|
+
--haus-cobalt-600: oklch(44% 0.16 260); /* --accent-hover */
|
|
71
|
+
--haus-cobalt-700: oklch(38% 0.15 260); /* DERIVED: pressed, one step past hover */
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
/* ── Surface ───────────────────────────────────────────────────────────
|
|
75
|
+
core separates surfaces by fill: the desk is grey, cards are white. So the
|
|
76
|
+
card is the default and everything else steps off it, the inverse of
|
|
77
|
+
haus's white-default ramp, but the role names land on the same intents. */
|
|
78
|
+
--haus-brand-surface-default: var(--haus-paper-0); /* the white card */
|
|
79
|
+
--haus-brand-surface-subtle: var(--haus-paper-100);
|
|
80
|
+
--haus-brand-surface-raised: var(--haus-paper-0); /* elevation via shadow, not colour */
|
|
81
|
+
--haus-brand-surface-overlay: var(--haus-paper-0); /* core does not tint modals/popovers */
|
|
82
|
+
--haus-brand-surface-sunken: var(--haus-paper-200);
|
|
83
|
+
--haus-brand-surface-inverse: var(--haus-paper-900); /* DERIVED: core has no inverse surface; its darkest ink stands in */
|
|
84
|
+
--haus-brand-surface-disabled: var(--haus-paper-100);
|
|
85
|
+
--haus-brand-surface-inverse-hover: oklch(from var(--haus-paper-0) l c h / 0.10);
|
|
86
|
+
|
|
87
|
+
/* ── Ink ───────────────────────────────────────────────────────────────── */
|
|
88
|
+
--haus-brand-ink-primary: var(--haus-paper-900); /* --text */
|
|
89
|
+
--haus-brand-ink-secondary: var(--haus-paper-700); /* --text-dim */
|
|
90
|
+
--haus-brand-ink-tertiary: var(--haus-paper-600); /* --text-faint */
|
|
91
|
+
--haus-brand-ink-disabled: var(--haus-paper-500); /* DERIVED: core disables by opacity */
|
|
92
|
+
--haus-brand-ink-inverse: var(--haus-paper-0);
|
|
93
|
+
--haus-brand-ink-link: var(--haus-cobalt-500); /* --accent: links are the accent */
|
|
94
|
+
--haus-brand-ink-on-primary: var(--haus-paper-0); /* --accent-fg: white on cobalt */
|
|
95
|
+
|
|
96
|
+
/* ── Border ──────────────────────────────────────────────────────────────
|
|
97
|
+
Three rungs from core's own neutrals. core leans on fill over borders, so
|
|
98
|
+
the subtle rung is its faintest surface tone pressed into service; default
|
|
99
|
+
and strong are --border and --border-strong verbatim. */
|
|
100
|
+
--haus-brand-border-subtle: var(--haus-paper-200); /* faint divider */
|
|
101
|
+
--haus-brand-border-default: var(--haus-paper-300); /* --border */
|
|
102
|
+
--haus-brand-border-strong: var(--haus-paper-400); /* --border-strong */
|
|
103
|
+
--haus-brand-border-disabled: var(--haus-paper-300);
|
|
104
|
+
--haus-brand-border-inverse: oklch(from var(--haus-paper-0) l c h / 0.30);
|
|
105
|
+
--haus-brand-border-inverse-hover: oklch(from var(--haus-paper-0) l c h / 0.50);
|
|
106
|
+
|
|
107
|
+
/* ── Primary ─────────────────────────────────────────────────────────────
|
|
108
|
+
Cobalt. default and hover are core's; pressed and the subtle pairing are
|
|
109
|
+
derived because core tints its accent with alpha rather than shipping the
|
|
110
|
+
opaque steps a ramp needs. */
|
|
111
|
+
--haus-brand-primary-default: var(--haus-cobalt-500); /* --accent */
|
|
112
|
+
--haus-brand-primary-hover: var(--haus-cobalt-600); /* --accent-hover */
|
|
113
|
+
--haus-brand-primary-pressed: var(--haus-cobalt-700); /* DERIVED */
|
|
114
|
+
--haus-brand-primary-subtle: var(--haus-cobalt-100); /* DERIVED: --accent-tint made opaque */
|
|
115
|
+
--haus-brand-primary-on-subtle: var(--haus-cobalt-700); /* dark cobalt text on the subtle tint */
|
|
116
|
+
--haus-brand-primary-disabled: var(--haus-paper-200); /* neutral resting grey */
|
|
117
|
+
|
|
118
|
+
/* ── Backdrop ──────────────────────────────────────────────────────────── */
|
|
119
|
+
--haus-brand-backdrop: oklch(from var(--haus-paper-950) l c h / var(--haus-opacity-60));
|
|
120
|
+
|
|
121
|
+
/* ── Typeface (form tier, haus#54) ─────────────────────────────────────────
|
|
122
|
+
core's faces, delivered by next/font: `--font-gabarito` and
|
|
123
|
+
`--font-geist-mono` are the hashed families the app registers, so the
|
|
124
|
+
stack references them and falls back to the literal name. This is the one
|
|
125
|
+
brand entry that reads an app-provided var rather than a haus primitive or
|
|
126
|
+
a bare literal, because a next/font face has no stable literal name, and
|
|
127
|
+
core is the only consumer of the core brand, so the coupling reaches no
|
|
128
|
+
one else. */
|
|
129
|
+
--haus-brand-font-sans: var(--font-gabarito), 'Gabarito', ui-sans-serif, system-ui, sans-serif;
|
|
130
|
+
--haus-brand-font-mono: var(--font-geist-mono), ui-monospace, monospace;
|
|
131
|
+
|
|
132
|
+
}
|
|
133
|
+
}
|
package/dist/brands/drift.css
CHANGED
|
@@ -100,5 +100,29 @@
|
|
|
100
100
|
--haus-brand-error-on-default: var(--haus-damson-0);
|
|
101
101
|
--haus-brand-error-emphasis: var(--haus-cherry-900); /* ── Backdrop (Modal, Drawer, etc.) ──────────────────────────────────── */
|
|
102
102
|
|
|
103
|
+
/* ── Radius, the form tier ───────────────────────────────────────────── */
|
|
104
|
+
/* Drift sits one step tighter than haus at all three sizes: a 6px control
|
|
105
|
+
against 8px, an 8px surface against 12px, a 12px overlay against 16px.
|
|
106
|
+
That is the whole of its shape difference and it is deliberate.
|
|
107
|
+
|
|
108
|
+
marker is stated at haus's own value because the form tier is all or
|
|
109
|
+
nothing per group. Drift does not disagree about a checkbox's corner; the
|
|
110
|
+
rule exists so that a brand cannot supply half a group and leave the other
|
|
111
|
+
half inheriting, which renders as two shapes with nothing reporting it. */
|
|
112
|
+
--haus-brand-radius-control: var(--haus-radius-sm);
|
|
113
|
+
--haus-brand-radius-surface: var(--haus-radius-md);
|
|
114
|
+
--haus-brand-radius-overlay: var(--haus-radius-lg);
|
|
115
|
+
--haus-brand-radius-marker: var(--haus-radius-sm); /* haus's value, stated by the group rule */
|
|
116
|
+
|
|
117
|
+
/* ── Typeface, the form tier (haus#54) ───────────────────────────────────
|
|
118
|
+
Drift's editorial face is system-ui across the board: sans and mono here,
|
|
119
|
+
and a third, --font-display, that stays a drift primitive because haus has
|
|
120
|
+
no display role to bind it to. These were three of the six names drift
|
|
121
|
+
deliberately did not rename in the 1.0 migration, because pointing them at
|
|
122
|
+
haus's Manrope would have changed the product's face. Stated as brand
|
|
123
|
+
inputs now rather than local primitives resolved by cascade order. */
|
|
124
|
+
--haus-brand-font-sans: system-ui, -apple-system, sans-serif;
|
|
125
|
+
--haus-brand-font-mono: ui-monospace, 'SFMono-Regular', Menlo, monospace;
|
|
126
|
+
|
|
103
127
|
}
|
|
104
128
|
}
|
package/dist/brands/vault.css
CHANGED
|
@@ -121,5 +121,13 @@
|
|
|
121
121
|
/* ── Backdrop ──────────────────────────────────────────────────────── */
|
|
122
122
|
--haus-brand-backdrop: oklch(from var(--haus-damson-950) l c h / var(--haus-opacity-60));
|
|
123
123
|
|
|
124
|
+
/* ── Typeface (form tier, haus#54) ──────────────────────────────────────
|
|
125
|
+
vault forks sans to Manrope Variable, the fork that lived in vault's own
|
|
126
|
+
tokens.css as a `--haus-font-sans` override until this became a brand
|
|
127
|
+
entry. mono is stated at haus's own value because the form tier is all or
|
|
128
|
+
nothing per group: vault does not re-decide its monospace face. */
|
|
129
|
+
--haus-brand-font-sans: 'Manrope Variable', 'Manrope', system-ui, sans-serif;
|
|
130
|
+
--haus-brand-font-mono: 'Fira Code', ui-monospace, monospace;
|
|
131
|
+
|
|
124
132
|
}
|
|
125
133
|
}
|
package/dist/index.cjs
CHANGED
|
@@ -65,7 +65,9 @@ var brandRoles = [
|
|
|
65
65
|
"--haus-brand-elevation-overlay",
|
|
66
66
|
"--haus-brand-modal-width-sm",
|
|
67
67
|
"--haus-brand-modal-width-md",
|
|
68
|
-
"--haus-brand-modal-width-lg"
|
|
68
|
+
"--haus-brand-modal-width-lg",
|
|
69
|
+
"--haus-brand-font-sans",
|
|
70
|
+
"--haus-brand-font-mono"
|
|
69
71
|
];
|
|
70
72
|
var brandRolesBase = [
|
|
71
73
|
"--haus-brand-surface-default",
|
|
@@ -135,7 +137,9 @@ var brandRolesForm = [
|
|
|
135
137
|
"--haus-brand-elevation-overlay",
|
|
136
138
|
"--haus-brand-modal-width-sm",
|
|
137
139
|
"--haus-brand-modal-width-md",
|
|
138
|
-
"--haus-brand-modal-width-lg"
|
|
140
|
+
"--haus-brand-modal-width-lg",
|
|
141
|
+
"--haus-brand-font-sans",
|
|
142
|
+
"--haus-brand-font-mono"
|
|
139
143
|
];
|
|
140
144
|
|
|
141
145
|
// src/index.ts
|
|
@@ -198,10 +202,7 @@ var tokens = {
|
|
|
198
202
|
}
|
|
199
203
|
},
|
|
200
204
|
font: {
|
|
201
|
-
family
|
|
202
|
-
sans: "'Manrope', system-ui, sans-serif",
|
|
203
|
-
mono: "'Fira Code', ui-monospace, monospace"
|
|
204
|
-
},
|
|
205
|
+
// family removed with haus#54; it is a brand entry now, not a primitive.
|
|
205
206
|
size: {
|
|
206
207
|
"11": "0.6875rem",
|
|
207
208
|
"12": "0.75rem",
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/brand.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["/* ─── haus / primitives ──────────────────────────────────────────────────────\n Raw values only. No component or semantic meaning.\n Nothing outside this file should define raw values.\n Components must never reference these directly. Use semantics.css.\n\n GENERATED FROM src/tokens.json. Do not edit.\n Regenerate with `npm run tokens`; `npm run tokens:check` fails CI if stale.\n ─────────────────────────────────────────────────────────────────────────── */\n\n/**\n * The entries every brand must supply, generated from brand.css.\n *\n * A brand file is CSS, so this cannot check it directly. What it does check is\n * the object form: build a brand in TypeScript, satisfy this type, and a missing\n * or misspelled role is a compile error rather than an unresolved var() that\n * drops a declaration with no warning at all.\n */\nexport interface BrandMapBase {\n '--haus-brand-surface-default': string\n '--haus-brand-surface-subtle': string\n '--haus-brand-surface-raised': string\n '--haus-brand-surface-overlay': string\n '--haus-brand-surface-sunken': string\n '--haus-brand-surface-inverse': string\n '--haus-brand-surface-disabled': string\n '--haus-brand-surface-inverse-hover': string\n '--haus-brand-ink-primary': string\n '--haus-brand-ink-secondary': string\n '--haus-brand-ink-tertiary': string\n '--haus-brand-ink-disabled': string\n '--haus-brand-ink-inverse': string\n '--haus-brand-ink-link': string\n '--haus-brand-ink-on-primary': string\n '--haus-brand-border-subtle': string\n '--haus-brand-border-default': string\n '--haus-brand-border-strong': string\n '--haus-brand-border-disabled': string\n '--haus-brand-border-inverse': string\n '--haus-brand-border-inverse-hover': string\n '--haus-brand-primary-default': string\n '--haus-brand-primary-hover': string\n '--haus-brand-primary-pressed': string\n '--haus-brand-primary-subtle': string\n '--haus-brand-primary-on-subtle': string\n '--haus-brand-primary-disabled': string\n '--haus-brand-backdrop': string\n}\n\n/**\n * The optional half: info, success, warning and error.\n *\n * A product whose statuses are not those four semantics omits this tier and\n * inherits haus's from :root, because custom properties inherit and a named\n * brand only overrides what it declares. Optional here, and all-or-nothing per\n * ramp in brand.test.ts, which types cannot express.\n */\nexport interface BrandMapFeedback {\n '--haus-brand-info-subtle': string\n '--haus-brand-info-border': string\n '--haus-brand-info-default': string\n '--haus-brand-info-on-subtle': string\n '--haus-brand-info-on-default': string\n '--haus-brand-info-emphasis': string\n '--haus-brand-success-subtle': string\n '--haus-brand-success-border': string\n '--haus-brand-success-default': string\n '--haus-brand-success-on-subtle': string\n '--haus-brand-success-on-default': string\n '--haus-brand-success-solid': string\n '--haus-brand-success-emphasis': string\n '--haus-brand-warning-subtle': string\n '--haus-brand-warning-border': string\n '--haus-brand-warning-default': string\n '--haus-brand-warning-on-subtle': string\n '--haus-brand-warning-on-default': string\n '--haus-brand-warning-solid': string\n '--haus-brand-warning-emphasis': string\n '--haus-brand-error-subtle': string\n '--haus-brand-error-border': string\n '--haus-brand-error-default': string\n '--haus-brand-error-on-subtle': string\n '--haus-brand-error-on-default': string\n '--haus-brand-error-emphasis': string\n}\n\n/**\n * The other optional half: what a product re-decides that is not a colour.\n *\n * Radius and elevation, taken from what drift and vault actually changed. Not\n * z-index, opacity, border-width or spacing: nobody re-decides those, and the\n * overrides that looked like it were the literal values of haus's own\n * primitives typed out. All-or-nothing per group, in brand.test.ts.\n */\nexport interface BrandMapForm {\n '--haus-brand-radius-control': string\n '--haus-brand-radius-surface': string\n '--haus-brand-radius-overlay': string\n '--haus-brand-radius-marker': string\n '--haus-brand-elevation-raised': string\n '--haus-brand-elevation-floating': string\n '--haus-brand-elevation-overlay': string\n '--haus-brand-modal-width-sm': string\n '--haus-brand-modal-width-md': string\n '--haus-brand-modal-width-lg': string\n}\n\n/** A complete brand: the base tier, and as much of the optional tiers as applies. */\nexport type BrandMap = BrandMapBase & Partial<BrandMapFeedback> & Partial<BrandMapForm>\n\n/** The role names themselves, for anyone generating a brand rather than writing one. */\nexport const brandRoles = [\n '--haus-brand-surface-default',\n '--haus-brand-surface-subtle',\n '--haus-brand-surface-raised',\n '--haus-brand-surface-overlay',\n '--haus-brand-surface-sunken',\n '--haus-brand-surface-inverse',\n '--haus-brand-surface-disabled',\n '--haus-brand-surface-inverse-hover',\n '--haus-brand-ink-primary',\n '--haus-brand-ink-secondary',\n '--haus-brand-ink-tertiary',\n '--haus-brand-ink-disabled',\n '--haus-brand-ink-inverse',\n '--haus-brand-ink-link',\n '--haus-brand-ink-on-primary',\n '--haus-brand-border-subtle',\n '--haus-brand-border-default',\n '--haus-brand-border-strong',\n '--haus-brand-border-disabled',\n '--haus-brand-border-inverse',\n '--haus-brand-border-inverse-hover',\n '--haus-brand-primary-default',\n '--haus-brand-primary-hover',\n '--haus-brand-primary-pressed',\n '--haus-brand-primary-subtle',\n '--haus-brand-primary-on-subtle',\n '--haus-brand-primary-disabled',\n '--haus-brand-backdrop',\n '--haus-brand-info-subtle',\n '--haus-brand-info-border',\n '--haus-brand-info-default',\n '--haus-brand-info-on-subtle',\n '--haus-brand-info-on-default',\n '--haus-brand-info-emphasis',\n '--haus-brand-success-subtle',\n '--haus-brand-success-border',\n '--haus-brand-success-default',\n '--haus-brand-success-on-subtle',\n '--haus-brand-success-on-default',\n '--haus-brand-success-solid',\n '--haus-brand-success-emphasis',\n '--haus-brand-warning-subtle',\n '--haus-brand-warning-border',\n '--haus-brand-warning-default',\n '--haus-brand-warning-on-subtle',\n '--haus-brand-warning-on-default',\n '--haus-brand-warning-solid',\n '--haus-brand-warning-emphasis',\n '--haus-brand-error-subtle',\n '--haus-brand-error-border',\n '--haus-brand-error-default',\n '--haus-brand-error-on-subtle',\n '--haus-brand-error-on-default',\n '--haus-brand-error-emphasis',\n '--haus-brand-radius-control',\n '--haus-brand-radius-surface',\n '--haus-brand-radius-overlay',\n '--haus-brand-radius-marker',\n '--haus-brand-elevation-raised',\n '--haus-brand-elevation-floating',\n '--haus-brand-elevation-overlay',\n '--haus-brand-modal-width-sm',\n '--haus-brand-modal-width-md',\n '--haus-brand-modal-width-lg',\n] as const\n\n/** The required half. A brand supplying fewer than these renders unstyled. */\nexport const brandRolesBase = [\n '--haus-brand-surface-default',\n '--haus-brand-surface-subtle',\n '--haus-brand-surface-raised',\n '--haus-brand-surface-overlay',\n '--haus-brand-surface-sunken',\n '--haus-brand-surface-inverse',\n '--haus-brand-surface-disabled',\n '--haus-brand-surface-inverse-hover',\n '--haus-brand-ink-primary',\n '--haus-brand-ink-secondary',\n '--haus-brand-ink-tertiary',\n '--haus-brand-ink-disabled',\n '--haus-brand-ink-inverse',\n '--haus-brand-ink-link',\n '--haus-brand-ink-on-primary',\n '--haus-brand-border-subtle',\n '--haus-brand-border-default',\n '--haus-brand-border-strong',\n '--haus-brand-border-disabled',\n '--haus-brand-border-inverse',\n '--haus-brand-border-inverse-hover',\n '--haus-brand-primary-default',\n '--haus-brand-primary-hover',\n '--haus-brand-primary-pressed',\n '--haus-brand-primary-subtle',\n '--haus-brand-primary-on-subtle',\n '--haus-brand-primary-disabled',\n '--haus-brand-backdrop',\n] as const\n\n/** The optional colour half, grouped by the ramp that has to be complete or absent. */\nexport const brandRolesFeedback = [\n '--haus-brand-info-subtle',\n '--haus-brand-info-border',\n '--haus-brand-info-default',\n '--haus-brand-info-on-subtle',\n '--haus-brand-info-on-default',\n '--haus-brand-info-emphasis',\n '--haus-brand-success-subtle',\n '--haus-brand-success-border',\n '--haus-brand-success-default',\n '--haus-brand-success-on-subtle',\n '--haus-brand-success-on-default',\n '--haus-brand-success-solid',\n '--haus-brand-success-emphasis',\n '--haus-brand-warning-subtle',\n '--haus-brand-warning-border',\n '--haus-brand-warning-default',\n '--haus-brand-warning-on-subtle',\n '--haus-brand-warning-on-default',\n '--haus-brand-warning-solid',\n '--haus-brand-warning-emphasis',\n '--haus-brand-error-subtle',\n '--haus-brand-error-border',\n '--haus-brand-error-default',\n '--haus-brand-error-on-subtle',\n '--haus-brand-error-on-default',\n '--haus-brand-error-emphasis',\n] as const\n\n/** The optional non-colour half: radius and elevation. */\nexport const brandRolesForm = [\n '--haus-brand-radius-control',\n '--haus-brand-radius-surface',\n '--haus-brand-radius-overlay',\n '--haus-brand-radius-marker',\n '--haus-brand-elevation-raised',\n '--haus-brand-elevation-floating',\n '--haus-brand-elevation-overlay',\n '--haus-brand-modal-width-sm',\n '--haus-brand-modal-width-md',\n '--haus-brand-modal-width-lg',\n] as const\n","/* ─── haus / tokens ──────────────────────────────────────────────────────────\n Typed constants for the primitive layer.\n\n The CSS custom properties are the runtime form; this exists for the places\n they cannot reach: @media conditions, build config, style-in-JS. Semantic\n tokens are deliberately absent: their whole job is to be swappable at\n runtime, which freezing them into a constant would defeat.\n\n GENERATED FROM src/tokens.json. Do not edit.\n Regenerate with `npm run tokens`; `npm run tokens:check` fails CI if stale.\n ─────────────────────────────────────────────────────────────────────────── */\n\nexport const tokens = {\n color: {\n aronia: {\n \"100\": \"oklch(97% 0.012 300)\",\n \"200\": \"oklch(92% 0.028 300)\",\n \"300\": \"oklch(84% 0.058 300)\",\n \"400\": \"oklch(72% 0.100 300)\",\n \"500\": \"oklch(52% 0.138 300)\",\n \"600\": \"oklch(43% 0.125 300)\",\n \"700\": \"oklch(35% 0.105 300)\",\n \"800\": \"oklch(26% 0.080 300)\",\n \"850\": \"oklch(22% 0.066 300)\",\n \"900\": \"oklch(18% 0.052 300)\",\n \"950\": \"oklch(12% 0.032 300)\",\n },\n damson: {\n \"0\": \"oklch(100% 0 0)\",\n \"50\": \"oklch(99% 0.003 290)\",\n \"100\": \"oklch(97% 0.006 290)\",\n \"200\": \"oklch(93% 0.008 290)\",\n \"300\": \"oklch(86% 0.010 290)\",\n \"400\": \"oklch(74% 0.010 290)\",\n \"500\": \"oklch(60% 0.008 290)\",\n \"600\": \"oklch(48% 0.007 290)\",\n \"700\": \"oklch(37% 0.006 290)\",\n \"800\": \"oklch(27% 0.005 290)\",\n \"900\": \"oklch(18% 0.003 290)\",\n \"950\": \"oklch(11% 0.002 290)\",\n },\n elderberry: {\n \"100\": \"oklch(97% 0.020 265)\",\n \"200\": \"oklch(93% 0.040 265)\",\n \"500\": \"oklch(55% 0.200 265)\",\n \"700\": \"oklch(42% 0.160 265)\",\n \"900\": \"oklch(30% 0.120 265)\",\n },\n greengage: {\n \"100\": \"oklch(97% 0.030 148)\",\n \"200\": \"oklch(93% 0.055 148)\",\n \"500\": \"oklch(58% 0.185 148)\",\n \"700\": \"oklch(45% 0.150 148)\",\n \"900\": \"oklch(33% 0.110 148)\",\n },\n mango: {\n \"100\": \"oklch(97% 0.025 65)\",\n \"200\": \"oklch(93% 0.045 65)\",\n \"500\": \"oklch(60% 0.175 65)\",\n \"700\": \"oklch(47% 0.142 65)\",\n \"900\": \"oklch(38% 0.110 65)\",\n },\n cherry: {\n \"100\": \"oklch(97% 0.030 27)\",\n \"200\": \"oklch(93% 0.055 27)\",\n \"500\": \"oklch(58% 0.200 27)\",\n \"700\": \"oklch(44% 0.168 27)\",\n \"900\": \"oklch(33% 0.110 27)\",\n },\n },\n font: {\n family: {\n sans: \"'Manrope', system-ui, sans-serif\",\n mono: \"'Fira Code', ui-monospace, monospace\",\n },\n size: {\n \"11\": \"0.6875rem\",\n \"12\": \"0.75rem\",\n \"13\": \"0.8125rem\",\n \"14\": \"0.875rem\",\n \"16\": \"1rem\",\n \"20\": \"1.25rem\",\n \"24\": \"1.5rem\",\n \"30\": \"1.875rem\",\n },\n weight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n lineHeight: {\n tight: 1.15,\n tighter: 1.2,\n snug: 1.25,\n compact: 1.3,\n normal: 1.4,\n relaxed: 1.5,\n loose: 1.6,\n },\n tracking: {\n tightest: \"-0.03em\",\n tighter: \"-0.02em\",\n tight: \"-0.01em\",\n normal: \"0em\",\n wide: \"0.02em\",\n wider: \"0.04em\",\n widest: \"0.08em\",\n },\n },\n spacing: {\n \"1\": \"0.25rem\",\n \"2\": \"0.5rem\",\n \"3\": \"0.75rem\",\n \"4\": \"1rem\",\n \"5\": \"1.25rem\",\n \"6\": \"1.5rem\",\n \"7\": \"1.75rem\",\n \"8\": \"2rem\",\n \"10\": \"2.5rem\",\n \"12\": \"3rem\",\n \"16\": \"4rem\",\n \"20\": \"5rem\",\n },\n radius: {\n none: \"0\",\n sm: \"0.25rem\",\n md: \"0.5rem\",\n lg: \"0.75rem\",\n xl: \"1rem\",\n \"2xl\": \"1.5rem\",\n full: \"9999px\",\n },\n duration: {\n instant: \"50ms\",\n fast: \"100ms\",\n normal: \"200ms\",\n moderate: \"300ms\",\n slow: \"500ms\",\n reduced: \"0ms\",\n },\n easing: {\n enter: \"cubic-bezier(0.00, 0.00, 0.20, 1.00)\",\n exit: \"cubic-bezier(0.40, 0.00, 1.00, 1.00)\",\n move: \"cubic-bezier(0.40, 0.00, 0.20, 1.00)\",\n spring: \"cubic-bezier(0.34, 1.56, 0.64, 1.00)\",\n linear: \"linear\",\n },\n motion: {\n \"fade-in\": \"200ms cubic-bezier(0.00, 0.00, 0.20, 1.00)\",\n \"fade-out\": \"100ms cubic-bezier(0.40, 0.00, 1.00, 1.00)\",\n \"slide-in\": \"300ms cubic-bezier(0.00, 0.00, 0.20, 1.00)\",\n \"slide-out\": \"100ms cubic-bezier(0.40, 0.00, 1.00, 1.00)\",\n micro: \"100ms cubic-bezier(0.40, 0.00, 0.20, 1.00)\",\n interactive: \"200ms cubic-bezier(0.40, 0.00, 0.20, 1.00)\",\n },\n shadow: {\n none: \"none\",\n sm: \"0 1px 2px oklch(18% 0.003 290 / 0.06)\",\n md: \"0 4px 6px -1px oklch(18% 0.003 290 / 0.10), 0 2px 4px -2px oklch(18% 0.003 290 / 0.10)\",\n lg: \"0 10px 15px -3px oklch(18% 0.003 290 / 0.10), 0 4px 6px -4px oklch(18% 0.003 290 / 0.07)\",\n xl: \"0 20px 25px -5px oklch(18% 0.003 290 / 0.10), 0 8px 10px -6px oklch(18% 0.003 290 / 0.10)\",\n },\n controlHeight: {\n sm: \"1.75rem\",\n md: \"2.25rem\",\n lg: \"2.75rem\",\n },\n zIndex: {\n \"0\": 0,\n \"10\": 10,\n \"100\": 100,\n \"200\": 200,\n \"300\": 300,\n \"400\": 400,\n \"500\": 500,\n \"600\": 600,\n },\n borderWidth: {\n \"1\": \"1px\",\n \"2\": \"2px\",\n },\n opacity: {\n \"40\": 0.4,\n \"60\": 0.6,\n },\n iconSize: {\n xs: \"0.75rem\",\n sm: \"1rem\",\n md: \"1.25rem\",\n lg: \"1.5rem\",\n xl: \"2rem\",\n },\n breakpoint: {\n sm: \"640px\",\n md: \"768px\",\n lg: \"1024px\",\n xl: \"1280px\",\n \"2xl\": \"1536px\",\n },\n} as const\n\nexport type Tokens = typeof tokens\n\n/* The brand map's type and role list, generated from brand.css. Re-exported here\n so a consumer has one entry point rather than two. */\nexport type { BrandMap, BrandMapBase, BrandMapFeedback, BrandMapForm } from './brand'\nexport { brandRoles, brandRolesBase, brandRolesFeedback, brandRolesForm } from './brand'\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/brand.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["/* ─── haus / primitives ──────────────────────────────────────────────────────\n Raw values only. No component or semantic meaning.\n Nothing outside this file should define raw values.\n Components must never reference these directly. Use semantics.css.\n\n GENERATED FROM src/tokens.json. Do not edit.\n Regenerate with `npm run tokens`; `npm run tokens:check` fails CI if stale.\n ─────────────────────────────────────────────────────────────────────────── */\n\n/**\n * The entries every brand must supply, generated from brand.css.\n *\n * A brand file is CSS, so this cannot check it directly. What it does check is\n * the object form: build a brand in TypeScript, satisfy this type, and a missing\n * or misspelled role is a compile error rather than an unresolved var() that\n * drops a declaration with no warning at all.\n */\nexport interface BrandMapBase {\n '--haus-brand-surface-default': string\n '--haus-brand-surface-subtle': string\n '--haus-brand-surface-raised': string\n '--haus-brand-surface-overlay': string\n '--haus-brand-surface-sunken': string\n '--haus-brand-surface-inverse': string\n '--haus-brand-surface-disabled': string\n '--haus-brand-surface-inverse-hover': string\n '--haus-brand-ink-primary': string\n '--haus-brand-ink-secondary': string\n '--haus-brand-ink-tertiary': string\n '--haus-brand-ink-disabled': string\n '--haus-brand-ink-inverse': string\n '--haus-brand-ink-link': string\n '--haus-brand-ink-on-primary': string\n '--haus-brand-border-subtle': string\n '--haus-brand-border-default': string\n '--haus-brand-border-strong': string\n '--haus-brand-border-disabled': string\n '--haus-brand-border-inverse': string\n '--haus-brand-border-inverse-hover': string\n '--haus-brand-primary-default': string\n '--haus-brand-primary-hover': string\n '--haus-brand-primary-pressed': string\n '--haus-brand-primary-subtle': string\n '--haus-brand-primary-on-subtle': string\n '--haus-brand-primary-disabled': string\n '--haus-brand-backdrop': string\n}\n\n/**\n * The optional half: info, success, warning and error.\n *\n * A product whose statuses are not those four semantics omits this tier and\n * inherits haus's from :root, because custom properties inherit and a named\n * brand only overrides what it declares. Optional here, and all-or-nothing per\n * ramp in brand.test.ts, which types cannot express.\n */\nexport interface BrandMapFeedback {\n '--haus-brand-info-subtle': string\n '--haus-brand-info-border': string\n '--haus-brand-info-default': string\n '--haus-brand-info-on-subtle': string\n '--haus-brand-info-on-default': string\n '--haus-brand-info-emphasis': string\n '--haus-brand-success-subtle': string\n '--haus-brand-success-border': string\n '--haus-brand-success-default': string\n '--haus-brand-success-on-subtle': string\n '--haus-brand-success-on-default': string\n '--haus-brand-success-solid': string\n '--haus-brand-success-emphasis': string\n '--haus-brand-warning-subtle': string\n '--haus-brand-warning-border': string\n '--haus-brand-warning-default': string\n '--haus-brand-warning-on-subtle': string\n '--haus-brand-warning-on-default': string\n '--haus-brand-warning-solid': string\n '--haus-brand-warning-emphasis': string\n '--haus-brand-error-subtle': string\n '--haus-brand-error-border': string\n '--haus-brand-error-default': string\n '--haus-brand-error-on-subtle': string\n '--haus-brand-error-on-default': string\n '--haus-brand-error-emphasis': string\n}\n\n/**\n * The other optional half: what a product re-decides that is not a colour.\n *\n * Radius, elevation, modal width and typeface, taken from what drift and vault\n * actually changed. Not z-index, opacity, border-width or spacing: nobody\n * re-decides those, and the overrides that looked like it were the literal\n * values of haus's own primitives typed out. All-or-nothing per group, in\n * brand.test.ts.\n */\nexport interface BrandMapForm {\n '--haus-brand-radius-control': string\n '--haus-brand-radius-surface': string\n '--haus-brand-radius-overlay': string\n '--haus-brand-radius-marker': string\n '--haus-brand-elevation-raised': string\n '--haus-brand-elevation-floating': string\n '--haus-brand-elevation-overlay': string\n '--haus-brand-modal-width-sm': string\n '--haus-brand-modal-width-md': string\n '--haus-brand-modal-width-lg': string\n '--haus-brand-font-sans': string\n '--haus-brand-font-mono': string\n}\n\n/** A complete brand: the base tier, and as much of the optional tiers as applies. */\nexport type BrandMap = BrandMapBase & Partial<BrandMapFeedback> & Partial<BrandMapForm>\n\n/** The role names themselves, for anyone generating a brand rather than writing one. */\nexport const brandRoles = [\n '--haus-brand-surface-default',\n '--haus-brand-surface-subtle',\n '--haus-brand-surface-raised',\n '--haus-brand-surface-overlay',\n '--haus-brand-surface-sunken',\n '--haus-brand-surface-inverse',\n '--haus-brand-surface-disabled',\n '--haus-brand-surface-inverse-hover',\n '--haus-brand-ink-primary',\n '--haus-brand-ink-secondary',\n '--haus-brand-ink-tertiary',\n '--haus-brand-ink-disabled',\n '--haus-brand-ink-inverse',\n '--haus-brand-ink-link',\n '--haus-brand-ink-on-primary',\n '--haus-brand-border-subtle',\n '--haus-brand-border-default',\n '--haus-brand-border-strong',\n '--haus-brand-border-disabled',\n '--haus-brand-border-inverse',\n '--haus-brand-border-inverse-hover',\n '--haus-brand-primary-default',\n '--haus-brand-primary-hover',\n '--haus-brand-primary-pressed',\n '--haus-brand-primary-subtle',\n '--haus-brand-primary-on-subtle',\n '--haus-brand-primary-disabled',\n '--haus-brand-backdrop',\n '--haus-brand-info-subtle',\n '--haus-brand-info-border',\n '--haus-brand-info-default',\n '--haus-brand-info-on-subtle',\n '--haus-brand-info-on-default',\n '--haus-brand-info-emphasis',\n '--haus-brand-success-subtle',\n '--haus-brand-success-border',\n '--haus-brand-success-default',\n '--haus-brand-success-on-subtle',\n '--haus-brand-success-on-default',\n '--haus-brand-success-solid',\n '--haus-brand-success-emphasis',\n '--haus-brand-warning-subtle',\n '--haus-brand-warning-border',\n '--haus-brand-warning-default',\n '--haus-brand-warning-on-subtle',\n '--haus-brand-warning-on-default',\n '--haus-brand-warning-solid',\n '--haus-brand-warning-emphasis',\n '--haus-brand-error-subtle',\n '--haus-brand-error-border',\n '--haus-brand-error-default',\n '--haus-brand-error-on-subtle',\n '--haus-brand-error-on-default',\n '--haus-brand-error-emphasis',\n '--haus-brand-radius-control',\n '--haus-brand-radius-surface',\n '--haus-brand-radius-overlay',\n '--haus-brand-radius-marker',\n '--haus-brand-elevation-raised',\n '--haus-brand-elevation-floating',\n '--haus-brand-elevation-overlay',\n '--haus-brand-modal-width-sm',\n '--haus-brand-modal-width-md',\n '--haus-brand-modal-width-lg',\n '--haus-brand-font-sans',\n '--haus-brand-font-mono',\n] as const\n\n/** The required half. A brand supplying fewer than these renders unstyled. */\nexport const brandRolesBase = [\n '--haus-brand-surface-default',\n '--haus-brand-surface-subtle',\n '--haus-brand-surface-raised',\n '--haus-brand-surface-overlay',\n '--haus-brand-surface-sunken',\n '--haus-brand-surface-inverse',\n '--haus-brand-surface-disabled',\n '--haus-brand-surface-inverse-hover',\n '--haus-brand-ink-primary',\n '--haus-brand-ink-secondary',\n '--haus-brand-ink-tertiary',\n '--haus-brand-ink-disabled',\n '--haus-brand-ink-inverse',\n '--haus-brand-ink-link',\n '--haus-brand-ink-on-primary',\n '--haus-brand-border-subtle',\n '--haus-brand-border-default',\n '--haus-brand-border-strong',\n '--haus-brand-border-disabled',\n '--haus-brand-border-inverse',\n '--haus-brand-border-inverse-hover',\n '--haus-brand-primary-default',\n '--haus-brand-primary-hover',\n '--haus-brand-primary-pressed',\n '--haus-brand-primary-subtle',\n '--haus-brand-primary-on-subtle',\n '--haus-brand-primary-disabled',\n '--haus-brand-backdrop',\n] as const\n\n/** The optional colour half, grouped by the ramp that has to be complete or absent. */\nexport const brandRolesFeedback = [\n '--haus-brand-info-subtle',\n '--haus-brand-info-border',\n '--haus-brand-info-default',\n '--haus-brand-info-on-subtle',\n '--haus-brand-info-on-default',\n '--haus-brand-info-emphasis',\n '--haus-brand-success-subtle',\n '--haus-brand-success-border',\n '--haus-brand-success-default',\n '--haus-brand-success-on-subtle',\n '--haus-brand-success-on-default',\n '--haus-brand-success-solid',\n '--haus-brand-success-emphasis',\n '--haus-brand-warning-subtle',\n '--haus-brand-warning-border',\n '--haus-brand-warning-default',\n '--haus-brand-warning-on-subtle',\n '--haus-brand-warning-on-default',\n '--haus-brand-warning-solid',\n '--haus-brand-warning-emphasis',\n '--haus-brand-error-subtle',\n '--haus-brand-error-border',\n '--haus-brand-error-default',\n '--haus-brand-error-on-subtle',\n '--haus-brand-error-on-default',\n '--haus-brand-error-emphasis',\n] as const\n\n/** The optional non-colour half: radius, elevation, modal width and typeface. */\nexport const brandRolesForm = [\n '--haus-brand-radius-control',\n '--haus-brand-radius-surface',\n '--haus-brand-radius-overlay',\n '--haus-brand-radius-marker',\n '--haus-brand-elevation-raised',\n '--haus-brand-elevation-floating',\n '--haus-brand-elevation-overlay',\n '--haus-brand-modal-width-sm',\n '--haus-brand-modal-width-md',\n '--haus-brand-modal-width-lg',\n '--haus-brand-font-sans',\n '--haus-brand-font-mono',\n] as const\n","/* ─── haus / tokens ──────────────────────────────────────────────────────────\n Typed constants for the primitive layer.\n\n The CSS custom properties are the runtime form; this exists for the places\n they cannot reach: @media conditions, build config, style-in-JS. Semantic\n tokens are deliberately absent: their whole job is to be swappable at\n runtime, which freezing them into a constant would defeat.\n\n GENERATED FROM src/tokens.json. Do not edit.\n Regenerate with `npm run tokens`; `npm run tokens:check` fails CI if stale.\n ─────────────────────────────────────────────────────────────────────────── */\n\nexport const tokens = {\n color: {\n aronia: {\n \"100\": \"oklch(97% 0.012 300)\",\n \"200\": \"oklch(92% 0.028 300)\",\n \"300\": \"oklch(84% 0.058 300)\",\n \"400\": \"oklch(72% 0.100 300)\",\n \"500\": \"oklch(52% 0.138 300)\",\n \"600\": \"oklch(43% 0.125 300)\",\n \"700\": \"oklch(35% 0.105 300)\",\n \"800\": \"oklch(26% 0.080 300)\",\n \"850\": \"oklch(22% 0.066 300)\",\n \"900\": \"oklch(18% 0.052 300)\",\n \"950\": \"oklch(12% 0.032 300)\",\n },\n damson: {\n \"0\": \"oklch(100% 0 0)\",\n \"50\": \"oklch(99% 0.003 290)\",\n \"100\": \"oklch(97% 0.006 290)\",\n \"200\": \"oklch(93% 0.008 290)\",\n \"300\": \"oklch(86% 0.010 290)\",\n \"400\": \"oklch(74% 0.010 290)\",\n \"500\": \"oklch(60% 0.008 290)\",\n \"600\": \"oklch(48% 0.007 290)\",\n \"700\": \"oklch(37% 0.006 290)\",\n \"800\": \"oklch(27% 0.005 290)\",\n \"900\": \"oklch(18% 0.003 290)\",\n \"950\": \"oklch(11% 0.002 290)\",\n },\n elderberry: {\n \"100\": \"oklch(97% 0.020 265)\",\n \"200\": \"oklch(93% 0.040 265)\",\n \"500\": \"oklch(55% 0.200 265)\",\n \"700\": \"oklch(42% 0.160 265)\",\n \"900\": \"oklch(30% 0.120 265)\",\n },\n greengage: {\n \"100\": \"oklch(97% 0.030 148)\",\n \"200\": \"oklch(93% 0.055 148)\",\n \"500\": \"oklch(58% 0.185 148)\",\n \"700\": \"oklch(45% 0.150 148)\",\n \"900\": \"oklch(33% 0.110 148)\",\n },\n mango: {\n \"100\": \"oklch(97% 0.025 65)\",\n \"200\": \"oklch(93% 0.045 65)\",\n \"500\": \"oklch(60% 0.175 65)\",\n \"700\": \"oklch(47% 0.142 65)\",\n \"900\": \"oklch(38% 0.110 65)\",\n },\n cherry: {\n \"100\": \"oklch(97% 0.030 27)\",\n \"200\": \"oklch(93% 0.055 27)\",\n \"500\": \"oklch(58% 0.200 27)\",\n \"700\": \"oklch(44% 0.168 27)\",\n \"900\": \"oklch(33% 0.110 27)\",\n },\n },\n font: {\n // family removed with haus#54; it is a brand entry now, not a primitive.\n size: {\n \"11\": \"0.6875rem\",\n \"12\": \"0.75rem\",\n \"13\": \"0.8125rem\",\n \"14\": \"0.875rem\",\n \"16\": \"1rem\",\n \"20\": \"1.25rem\",\n \"24\": \"1.5rem\",\n \"30\": \"1.875rem\",\n },\n weight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n lineHeight: {\n tight: 1.15,\n tighter: 1.2,\n snug: 1.25,\n compact: 1.3,\n normal: 1.4,\n relaxed: 1.5,\n loose: 1.6,\n },\n tracking: {\n tightest: \"-0.03em\",\n tighter: \"-0.02em\",\n tight: \"-0.01em\",\n normal: \"0em\",\n wide: \"0.02em\",\n wider: \"0.04em\",\n widest: \"0.08em\",\n },\n },\n spacing: {\n \"1\": \"0.25rem\",\n \"2\": \"0.5rem\",\n \"3\": \"0.75rem\",\n \"4\": \"1rem\",\n \"5\": \"1.25rem\",\n \"6\": \"1.5rem\",\n \"7\": \"1.75rem\",\n \"8\": \"2rem\",\n \"10\": \"2.5rem\",\n \"12\": \"3rem\",\n \"16\": \"4rem\",\n \"20\": \"5rem\",\n },\n radius: {\n none: \"0\",\n sm: \"0.25rem\",\n md: \"0.5rem\",\n lg: \"0.75rem\",\n xl: \"1rem\",\n \"2xl\": \"1.5rem\",\n full: \"9999px\",\n },\n duration: {\n instant: \"50ms\",\n fast: \"100ms\",\n normal: \"200ms\",\n moderate: \"300ms\",\n slow: \"500ms\",\n reduced: \"0ms\",\n },\n easing: {\n enter: \"cubic-bezier(0.00, 0.00, 0.20, 1.00)\",\n exit: \"cubic-bezier(0.40, 0.00, 1.00, 1.00)\",\n move: \"cubic-bezier(0.40, 0.00, 0.20, 1.00)\",\n spring: \"cubic-bezier(0.34, 1.56, 0.64, 1.00)\",\n linear: \"linear\",\n },\n motion: {\n \"fade-in\": \"200ms cubic-bezier(0.00, 0.00, 0.20, 1.00)\",\n \"fade-out\": \"100ms cubic-bezier(0.40, 0.00, 1.00, 1.00)\",\n \"slide-in\": \"300ms cubic-bezier(0.00, 0.00, 0.20, 1.00)\",\n \"slide-out\": \"100ms cubic-bezier(0.40, 0.00, 1.00, 1.00)\",\n micro: \"100ms cubic-bezier(0.40, 0.00, 0.20, 1.00)\",\n interactive: \"200ms cubic-bezier(0.40, 0.00, 0.20, 1.00)\",\n },\n shadow: {\n none: \"none\",\n sm: \"0 1px 2px oklch(18% 0.003 290 / 0.06)\",\n md: \"0 4px 6px -1px oklch(18% 0.003 290 / 0.10), 0 2px 4px -2px oklch(18% 0.003 290 / 0.10)\",\n lg: \"0 10px 15px -3px oklch(18% 0.003 290 / 0.10), 0 4px 6px -4px oklch(18% 0.003 290 / 0.07)\",\n xl: \"0 20px 25px -5px oklch(18% 0.003 290 / 0.10), 0 8px 10px -6px oklch(18% 0.003 290 / 0.10)\",\n },\n controlHeight: {\n sm: \"1.75rem\",\n md: \"2.25rem\",\n lg: \"2.75rem\",\n },\n zIndex: {\n \"0\": 0,\n \"10\": 10,\n \"100\": 100,\n \"200\": 200,\n \"300\": 300,\n \"400\": 400,\n \"500\": 500,\n \"600\": 600,\n },\n borderWidth: {\n \"1\": \"1px\",\n \"2\": \"2px\",\n },\n opacity: {\n \"40\": 0.4,\n \"60\": 0.6,\n },\n iconSize: {\n xs: \"0.75rem\",\n sm: \"1rem\",\n md: \"1.25rem\",\n lg: \"1.5rem\",\n xl: \"2rem\",\n },\n breakpoint: {\n sm: \"640px\",\n md: \"768px\",\n lg: \"1024px\",\n xl: \"1280px\",\n \"2xl\": \"1536px\",\n },\n} as const\n\nexport type Tokens = typeof tokens\n\n/* The brand map's type and role list, generated from brand.css. Re-exported here\n so a consumer has one entry point rather than two. */\nexport type { BrandMap, BrandMapBase, BrandMapFeedback, BrandMapForm } from './brand'\nexport { brandRoles, brandRolesBase, brandRolesFeedback, brandRolesForm } from './brand'\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -75,10 +75,11 @@ interface BrandMapFeedback {
|
|
|
75
75
|
/**
|
|
76
76
|
* The other optional half: what a product re-decides that is not a colour.
|
|
77
77
|
*
|
|
78
|
-
* Radius and
|
|
79
|
-
* z-index, opacity, border-width or spacing: nobody
|
|
80
|
-
* overrides that looked like it were the literal
|
|
81
|
-
* primitives typed out. All-or-nothing per group, in
|
|
78
|
+
* Radius, elevation, modal width and typeface, taken from what drift and vault
|
|
79
|
+
* actually changed. Not z-index, opacity, border-width or spacing: nobody
|
|
80
|
+
* re-decides those, and the overrides that looked like it were the literal
|
|
81
|
+
* values of haus's own primitives typed out. All-or-nothing per group, in
|
|
82
|
+
* brand.test.ts.
|
|
82
83
|
*/
|
|
83
84
|
interface BrandMapForm {
|
|
84
85
|
'--haus-brand-radius-control': string;
|
|
@@ -91,17 +92,19 @@ interface BrandMapForm {
|
|
|
91
92
|
'--haus-brand-modal-width-sm': string;
|
|
92
93
|
'--haus-brand-modal-width-md': string;
|
|
93
94
|
'--haus-brand-modal-width-lg': string;
|
|
95
|
+
'--haus-brand-font-sans': string;
|
|
96
|
+
'--haus-brand-font-mono': string;
|
|
94
97
|
}
|
|
95
98
|
/** A complete brand: the base tier, and as much of the optional tiers as applies. */
|
|
96
99
|
type BrandMap = BrandMapBase & Partial<BrandMapFeedback> & Partial<BrandMapForm>;
|
|
97
100
|
/** The role names themselves, for anyone generating a brand rather than writing one. */
|
|
98
|
-
declare const brandRoles: readonly ["--haus-brand-surface-default", "--haus-brand-surface-subtle", "--haus-brand-surface-raised", "--haus-brand-surface-overlay", "--haus-brand-surface-sunken", "--haus-brand-surface-inverse", "--haus-brand-surface-disabled", "--haus-brand-surface-inverse-hover", "--haus-brand-ink-primary", "--haus-brand-ink-secondary", "--haus-brand-ink-tertiary", "--haus-brand-ink-disabled", "--haus-brand-ink-inverse", "--haus-brand-ink-link", "--haus-brand-ink-on-primary", "--haus-brand-border-subtle", "--haus-brand-border-default", "--haus-brand-border-strong", "--haus-brand-border-disabled", "--haus-brand-border-inverse", "--haus-brand-border-inverse-hover", "--haus-brand-primary-default", "--haus-brand-primary-hover", "--haus-brand-primary-pressed", "--haus-brand-primary-subtle", "--haus-brand-primary-on-subtle", "--haus-brand-primary-disabled", "--haus-brand-backdrop", "--haus-brand-info-subtle", "--haus-brand-info-border", "--haus-brand-info-default", "--haus-brand-info-on-subtle", "--haus-brand-info-on-default", "--haus-brand-info-emphasis", "--haus-brand-success-subtle", "--haus-brand-success-border", "--haus-brand-success-default", "--haus-brand-success-on-subtle", "--haus-brand-success-on-default", "--haus-brand-success-solid", "--haus-brand-success-emphasis", "--haus-brand-warning-subtle", "--haus-brand-warning-border", "--haus-brand-warning-default", "--haus-brand-warning-on-subtle", "--haus-brand-warning-on-default", "--haus-brand-warning-solid", "--haus-brand-warning-emphasis", "--haus-brand-error-subtle", "--haus-brand-error-border", "--haus-brand-error-default", "--haus-brand-error-on-subtle", "--haus-brand-error-on-default", "--haus-brand-error-emphasis", "--haus-brand-radius-control", "--haus-brand-radius-surface", "--haus-brand-radius-overlay", "--haus-brand-radius-marker", "--haus-brand-elevation-raised", "--haus-brand-elevation-floating", "--haus-brand-elevation-overlay", "--haus-brand-modal-width-sm", "--haus-brand-modal-width-md", "--haus-brand-modal-width-lg"];
|
|
101
|
+
declare const brandRoles: readonly ["--haus-brand-surface-default", "--haus-brand-surface-subtle", "--haus-brand-surface-raised", "--haus-brand-surface-overlay", "--haus-brand-surface-sunken", "--haus-brand-surface-inverse", "--haus-brand-surface-disabled", "--haus-brand-surface-inverse-hover", "--haus-brand-ink-primary", "--haus-brand-ink-secondary", "--haus-brand-ink-tertiary", "--haus-brand-ink-disabled", "--haus-brand-ink-inverse", "--haus-brand-ink-link", "--haus-brand-ink-on-primary", "--haus-brand-border-subtle", "--haus-brand-border-default", "--haus-brand-border-strong", "--haus-brand-border-disabled", "--haus-brand-border-inverse", "--haus-brand-border-inverse-hover", "--haus-brand-primary-default", "--haus-brand-primary-hover", "--haus-brand-primary-pressed", "--haus-brand-primary-subtle", "--haus-brand-primary-on-subtle", "--haus-brand-primary-disabled", "--haus-brand-backdrop", "--haus-brand-info-subtle", "--haus-brand-info-border", "--haus-brand-info-default", "--haus-brand-info-on-subtle", "--haus-brand-info-on-default", "--haus-brand-info-emphasis", "--haus-brand-success-subtle", "--haus-brand-success-border", "--haus-brand-success-default", "--haus-brand-success-on-subtle", "--haus-brand-success-on-default", "--haus-brand-success-solid", "--haus-brand-success-emphasis", "--haus-brand-warning-subtle", "--haus-brand-warning-border", "--haus-brand-warning-default", "--haus-brand-warning-on-subtle", "--haus-brand-warning-on-default", "--haus-brand-warning-solid", "--haus-brand-warning-emphasis", "--haus-brand-error-subtle", "--haus-brand-error-border", "--haus-brand-error-default", "--haus-brand-error-on-subtle", "--haus-brand-error-on-default", "--haus-brand-error-emphasis", "--haus-brand-radius-control", "--haus-brand-radius-surface", "--haus-brand-radius-overlay", "--haus-brand-radius-marker", "--haus-brand-elevation-raised", "--haus-brand-elevation-floating", "--haus-brand-elevation-overlay", "--haus-brand-modal-width-sm", "--haus-brand-modal-width-md", "--haus-brand-modal-width-lg", "--haus-brand-font-sans", "--haus-brand-font-mono"];
|
|
99
102
|
/** The required half. A brand supplying fewer than these renders unstyled. */
|
|
100
103
|
declare const brandRolesBase: readonly ["--haus-brand-surface-default", "--haus-brand-surface-subtle", "--haus-brand-surface-raised", "--haus-brand-surface-overlay", "--haus-brand-surface-sunken", "--haus-brand-surface-inverse", "--haus-brand-surface-disabled", "--haus-brand-surface-inverse-hover", "--haus-brand-ink-primary", "--haus-brand-ink-secondary", "--haus-brand-ink-tertiary", "--haus-brand-ink-disabled", "--haus-brand-ink-inverse", "--haus-brand-ink-link", "--haus-brand-ink-on-primary", "--haus-brand-border-subtle", "--haus-brand-border-default", "--haus-brand-border-strong", "--haus-brand-border-disabled", "--haus-brand-border-inverse", "--haus-brand-border-inverse-hover", "--haus-brand-primary-default", "--haus-brand-primary-hover", "--haus-brand-primary-pressed", "--haus-brand-primary-subtle", "--haus-brand-primary-on-subtle", "--haus-brand-primary-disabled", "--haus-brand-backdrop"];
|
|
101
104
|
/** The optional colour half, grouped by the ramp that has to be complete or absent. */
|
|
102
105
|
declare const brandRolesFeedback: readonly ["--haus-brand-info-subtle", "--haus-brand-info-border", "--haus-brand-info-default", "--haus-brand-info-on-subtle", "--haus-brand-info-on-default", "--haus-brand-info-emphasis", "--haus-brand-success-subtle", "--haus-brand-success-border", "--haus-brand-success-default", "--haus-brand-success-on-subtle", "--haus-brand-success-on-default", "--haus-brand-success-solid", "--haus-brand-success-emphasis", "--haus-brand-warning-subtle", "--haus-brand-warning-border", "--haus-brand-warning-default", "--haus-brand-warning-on-subtle", "--haus-brand-warning-on-default", "--haus-brand-warning-solid", "--haus-brand-warning-emphasis", "--haus-brand-error-subtle", "--haus-brand-error-border", "--haus-brand-error-default", "--haus-brand-error-on-subtle", "--haus-brand-error-on-default", "--haus-brand-error-emphasis"];
|
|
103
|
-
/** The optional non-colour half: radius and
|
|
104
|
-
declare const brandRolesForm: readonly ["--haus-brand-radius-control", "--haus-brand-radius-surface", "--haus-brand-radius-overlay", "--haus-brand-radius-marker", "--haus-brand-elevation-raised", "--haus-brand-elevation-floating", "--haus-brand-elevation-overlay", "--haus-brand-modal-width-sm", "--haus-brand-modal-width-md", "--haus-brand-modal-width-lg"];
|
|
106
|
+
/** The optional non-colour half: radius, elevation, modal width and typeface. */
|
|
107
|
+
declare const brandRolesForm: readonly ["--haus-brand-radius-control", "--haus-brand-radius-surface", "--haus-brand-radius-overlay", "--haus-brand-radius-marker", "--haus-brand-elevation-raised", "--haus-brand-elevation-floating", "--haus-brand-elevation-overlay", "--haus-brand-modal-width-sm", "--haus-brand-modal-width-md", "--haus-brand-modal-width-lg", "--haus-brand-font-sans", "--haus-brand-font-mono"];
|
|
105
108
|
|
|
106
109
|
declare const tokens: {
|
|
107
110
|
readonly color: {
|
|
@@ -162,10 +165,6 @@ declare const tokens: {
|
|
|
162
165
|
};
|
|
163
166
|
};
|
|
164
167
|
readonly font: {
|
|
165
|
-
readonly family: {
|
|
166
|
-
readonly sans: "'Manrope', system-ui, sans-serif";
|
|
167
|
-
readonly mono: "'Fira Code', ui-monospace, monospace";
|
|
168
|
-
};
|
|
169
168
|
readonly size: {
|
|
170
169
|
readonly "11": "0.6875rem";
|
|
171
170
|
readonly "12": "0.75rem";
|
package/dist/index.d.ts
CHANGED
|
@@ -75,10 +75,11 @@ interface BrandMapFeedback {
|
|
|
75
75
|
/**
|
|
76
76
|
* The other optional half: what a product re-decides that is not a colour.
|
|
77
77
|
*
|
|
78
|
-
* Radius and
|
|
79
|
-
* z-index, opacity, border-width or spacing: nobody
|
|
80
|
-
* overrides that looked like it were the literal
|
|
81
|
-
* primitives typed out. All-or-nothing per group, in
|
|
78
|
+
* Radius, elevation, modal width and typeface, taken from what drift and vault
|
|
79
|
+
* actually changed. Not z-index, opacity, border-width or spacing: nobody
|
|
80
|
+
* re-decides those, and the overrides that looked like it were the literal
|
|
81
|
+
* values of haus's own primitives typed out. All-or-nothing per group, in
|
|
82
|
+
* brand.test.ts.
|
|
82
83
|
*/
|
|
83
84
|
interface BrandMapForm {
|
|
84
85
|
'--haus-brand-radius-control': string;
|
|
@@ -91,17 +92,19 @@ interface BrandMapForm {
|
|
|
91
92
|
'--haus-brand-modal-width-sm': string;
|
|
92
93
|
'--haus-brand-modal-width-md': string;
|
|
93
94
|
'--haus-brand-modal-width-lg': string;
|
|
95
|
+
'--haus-brand-font-sans': string;
|
|
96
|
+
'--haus-brand-font-mono': string;
|
|
94
97
|
}
|
|
95
98
|
/** A complete brand: the base tier, and as much of the optional tiers as applies. */
|
|
96
99
|
type BrandMap = BrandMapBase & Partial<BrandMapFeedback> & Partial<BrandMapForm>;
|
|
97
100
|
/** The role names themselves, for anyone generating a brand rather than writing one. */
|
|
98
|
-
declare const brandRoles: readonly ["--haus-brand-surface-default", "--haus-brand-surface-subtle", "--haus-brand-surface-raised", "--haus-brand-surface-overlay", "--haus-brand-surface-sunken", "--haus-brand-surface-inverse", "--haus-brand-surface-disabled", "--haus-brand-surface-inverse-hover", "--haus-brand-ink-primary", "--haus-brand-ink-secondary", "--haus-brand-ink-tertiary", "--haus-brand-ink-disabled", "--haus-brand-ink-inverse", "--haus-brand-ink-link", "--haus-brand-ink-on-primary", "--haus-brand-border-subtle", "--haus-brand-border-default", "--haus-brand-border-strong", "--haus-brand-border-disabled", "--haus-brand-border-inverse", "--haus-brand-border-inverse-hover", "--haus-brand-primary-default", "--haus-brand-primary-hover", "--haus-brand-primary-pressed", "--haus-brand-primary-subtle", "--haus-brand-primary-on-subtle", "--haus-brand-primary-disabled", "--haus-brand-backdrop", "--haus-brand-info-subtle", "--haus-brand-info-border", "--haus-brand-info-default", "--haus-brand-info-on-subtle", "--haus-brand-info-on-default", "--haus-brand-info-emphasis", "--haus-brand-success-subtle", "--haus-brand-success-border", "--haus-brand-success-default", "--haus-brand-success-on-subtle", "--haus-brand-success-on-default", "--haus-brand-success-solid", "--haus-brand-success-emphasis", "--haus-brand-warning-subtle", "--haus-brand-warning-border", "--haus-brand-warning-default", "--haus-brand-warning-on-subtle", "--haus-brand-warning-on-default", "--haus-brand-warning-solid", "--haus-brand-warning-emphasis", "--haus-brand-error-subtle", "--haus-brand-error-border", "--haus-brand-error-default", "--haus-brand-error-on-subtle", "--haus-brand-error-on-default", "--haus-brand-error-emphasis", "--haus-brand-radius-control", "--haus-brand-radius-surface", "--haus-brand-radius-overlay", "--haus-brand-radius-marker", "--haus-brand-elevation-raised", "--haus-brand-elevation-floating", "--haus-brand-elevation-overlay", "--haus-brand-modal-width-sm", "--haus-brand-modal-width-md", "--haus-brand-modal-width-lg"];
|
|
101
|
+
declare const brandRoles: readonly ["--haus-brand-surface-default", "--haus-brand-surface-subtle", "--haus-brand-surface-raised", "--haus-brand-surface-overlay", "--haus-brand-surface-sunken", "--haus-brand-surface-inverse", "--haus-brand-surface-disabled", "--haus-brand-surface-inverse-hover", "--haus-brand-ink-primary", "--haus-brand-ink-secondary", "--haus-brand-ink-tertiary", "--haus-brand-ink-disabled", "--haus-brand-ink-inverse", "--haus-brand-ink-link", "--haus-brand-ink-on-primary", "--haus-brand-border-subtle", "--haus-brand-border-default", "--haus-brand-border-strong", "--haus-brand-border-disabled", "--haus-brand-border-inverse", "--haus-brand-border-inverse-hover", "--haus-brand-primary-default", "--haus-brand-primary-hover", "--haus-brand-primary-pressed", "--haus-brand-primary-subtle", "--haus-brand-primary-on-subtle", "--haus-brand-primary-disabled", "--haus-brand-backdrop", "--haus-brand-info-subtle", "--haus-brand-info-border", "--haus-brand-info-default", "--haus-brand-info-on-subtle", "--haus-brand-info-on-default", "--haus-brand-info-emphasis", "--haus-brand-success-subtle", "--haus-brand-success-border", "--haus-brand-success-default", "--haus-brand-success-on-subtle", "--haus-brand-success-on-default", "--haus-brand-success-solid", "--haus-brand-success-emphasis", "--haus-brand-warning-subtle", "--haus-brand-warning-border", "--haus-brand-warning-default", "--haus-brand-warning-on-subtle", "--haus-brand-warning-on-default", "--haus-brand-warning-solid", "--haus-brand-warning-emphasis", "--haus-brand-error-subtle", "--haus-brand-error-border", "--haus-brand-error-default", "--haus-brand-error-on-subtle", "--haus-brand-error-on-default", "--haus-brand-error-emphasis", "--haus-brand-radius-control", "--haus-brand-radius-surface", "--haus-brand-radius-overlay", "--haus-brand-radius-marker", "--haus-brand-elevation-raised", "--haus-brand-elevation-floating", "--haus-brand-elevation-overlay", "--haus-brand-modal-width-sm", "--haus-brand-modal-width-md", "--haus-brand-modal-width-lg", "--haus-brand-font-sans", "--haus-brand-font-mono"];
|
|
99
102
|
/** The required half. A brand supplying fewer than these renders unstyled. */
|
|
100
103
|
declare const brandRolesBase: readonly ["--haus-brand-surface-default", "--haus-brand-surface-subtle", "--haus-brand-surface-raised", "--haus-brand-surface-overlay", "--haus-brand-surface-sunken", "--haus-brand-surface-inverse", "--haus-brand-surface-disabled", "--haus-brand-surface-inverse-hover", "--haus-brand-ink-primary", "--haus-brand-ink-secondary", "--haus-brand-ink-tertiary", "--haus-brand-ink-disabled", "--haus-brand-ink-inverse", "--haus-brand-ink-link", "--haus-brand-ink-on-primary", "--haus-brand-border-subtle", "--haus-brand-border-default", "--haus-brand-border-strong", "--haus-brand-border-disabled", "--haus-brand-border-inverse", "--haus-brand-border-inverse-hover", "--haus-brand-primary-default", "--haus-brand-primary-hover", "--haus-brand-primary-pressed", "--haus-brand-primary-subtle", "--haus-brand-primary-on-subtle", "--haus-brand-primary-disabled", "--haus-brand-backdrop"];
|
|
101
104
|
/** The optional colour half, grouped by the ramp that has to be complete or absent. */
|
|
102
105
|
declare const brandRolesFeedback: readonly ["--haus-brand-info-subtle", "--haus-brand-info-border", "--haus-brand-info-default", "--haus-brand-info-on-subtle", "--haus-brand-info-on-default", "--haus-brand-info-emphasis", "--haus-brand-success-subtle", "--haus-brand-success-border", "--haus-brand-success-default", "--haus-brand-success-on-subtle", "--haus-brand-success-on-default", "--haus-brand-success-solid", "--haus-brand-success-emphasis", "--haus-brand-warning-subtle", "--haus-brand-warning-border", "--haus-brand-warning-default", "--haus-brand-warning-on-subtle", "--haus-brand-warning-on-default", "--haus-brand-warning-solid", "--haus-brand-warning-emphasis", "--haus-brand-error-subtle", "--haus-brand-error-border", "--haus-brand-error-default", "--haus-brand-error-on-subtle", "--haus-brand-error-on-default", "--haus-brand-error-emphasis"];
|
|
103
|
-
/** The optional non-colour half: radius and
|
|
104
|
-
declare const brandRolesForm: readonly ["--haus-brand-radius-control", "--haus-brand-radius-surface", "--haus-brand-radius-overlay", "--haus-brand-radius-marker", "--haus-brand-elevation-raised", "--haus-brand-elevation-floating", "--haus-brand-elevation-overlay", "--haus-brand-modal-width-sm", "--haus-brand-modal-width-md", "--haus-brand-modal-width-lg"];
|
|
106
|
+
/** The optional non-colour half: radius, elevation, modal width and typeface. */
|
|
107
|
+
declare const brandRolesForm: readonly ["--haus-brand-radius-control", "--haus-brand-radius-surface", "--haus-brand-radius-overlay", "--haus-brand-radius-marker", "--haus-brand-elevation-raised", "--haus-brand-elevation-floating", "--haus-brand-elevation-overlay", "--haus-brand-modal-width-sm", "--haus-brand-modal-width-md", "--haus-brand-modal-width-lg", "--haus-brand-font-sans", "--haus-brand-font-mono"];
|
|
105
108
|
|
|
106
109
|
declare const tokens: {
|
|
107
110
|
readonly color: {
|
|
@@ -162,10 +165,6 @@ declare const tokens: {
|
|
|
162
165
|
};
|
|
163
166
|
};
|
|
164
167
|
readonly font: {
|
|
165
|
-
readonly family: {
|
|
166
|
-
readonly sans: "'Manrope', system-ui, sans-serif";
|
|
167
|
-
readonly mono: "'Fira Code', ui-monospace, monospace";
|
|
168
|
-
};
|
|
169
168
|
readonly size: {
|
|
170
169
|
readonly "11": "0.6875rem";
|
|
171
170
|
readonly "12": "0.75rem";
|
package/dist/index.js
CHANGED
|
@@ -63,7 +63,9 @@ var brandRoles = [
|
|
|
63
63
|
"--haus-brand-elevation-overlay",
|
|
64
64
|
"--haus-brand-modal-width-sm",
|
|
65
65
|
"--haus-brand-modal-width-md",
|
|
66
|
-
"--haus-brand-modal-width-lg"
|
|
66
|
+
"--haus-brand-modal-width-lg",
|
|
67
|
+
"--haus-brand-font-sans",
|
|
68
|
+
"--haus-brand-font-mono"
|
|
67
69
|
];
|
|
68
70
|
var brandRolesBase = [
|
|
69
71
|
"--haus-brand-surface-default",
|
|
@@ -133,7 +135,9 @@ var brandRolesForm = [
|
|
|
133
135
|
"--haus-brand-elevation-overlay",
|
|
134
136
|
"--haus-brand-modal-width-sm",
|
|
135
137
|
"--haus-brand-modal-width-md",
|
|
136
|
-
"--haus-brand-modal-width-lg"
|
|
138
|
+
"--haus-brand-modal-width-lg",
|
|
139
|
+
"--haus-brand-font-sans",
|
|
140
|
+
"--haus-brand-font-mono"
|
|
137
141
|
];
|
|
138
142
|
|
|
139
143
|
// src/index.ts
|
|
@@ -196,10 +200,7 @@ var tokens = {
|
|
|
196
200
|
}
|
|
197
201
|
},
|
|
198
202
|
font: {
|
|
199
|
-
family
|
|
200
|
-
sans: "'Manrope', system-ui, sans-serif",
|
|
201
|
-
mono: "'Fira Code', ui-monospace, monospace"
|
|
202
|
-
},
|
|
203
|
+
// family removed with haus#54; it is a brand entry now, not a primitive.
|
|
203
204
|
size: {
|
|
204
205
|
"11": "0.6875rem",
|
|
205
206
|
"12": "0.75rem",
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/brand.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/* ─── haus / primitives ──────────────────────────────────────────────────────\n Raw values only. No component or semantic meaning.\n Nothing outside this file should define raw values.\n Components must never reference these directly. Use semantics.css.\n\n GENERATED FROM src/tokens.json. Do not edit.\n Regenerate with `npm run tokens`; `npm run tokens:check` fails CI if stale.\n ─────────────────────────────────────────────────────────────────────────── */\n\n/**\n * The entries every brand must supply, generated from brand.css.\n *\n * A brand file is CSS, so this cannot check it directly. What it does check is\n * the object form: build a brand in TypeScript, satisfy this type, and a missing\n * or misspelled role is a compile error rather than an unresolved var() that\n * drops a declaration with no warning at all.\n */\nexport interface BrandMapBase {\n '--haus-brand-surface-default': string\n '--haus-brand-surface-subtle': string\n '--haus-brand-surface-raised': string\n '--haus-brand-surface-overlay': string\n '--haus-brand-surface-sunken': string\n '--haus-brand-surface-inverse': string\n '--haus-brand-surface-disabled': string\n '--haus-brand-surface-inverse-hover': string\n '--haus-brand-ink-primary': string\n '--haus-brand-ink-secondary': string\n '--haus-brand-ink-tertiary': string\n '--haus-brand-ink-disabled': string\n '--haus-brand-ink-inverse': string\n '--haus-brand-ink-link': string\n '--haus-brand-ink-on-primary': string\n '--haus-brand-border-subtle': string\n '--haus-brand-border-default': string\n '--haus-brand-border-strong': string\n '--haus-brand-border-disabled': string\n '--haus-brand-border-inverse': string\n '--haus-brand-border-inverse-hover': string\n '--haus-brand-primary-default': string\n '--haus-brand-primary-hover': string\n '--haus-brand-primary-pressed': string\n '--haus-brand-primary-subtle': string\n '--haus-brand-primary-on-subtle': string\n '--haus-brand-primary-disabled': string\n '--haus-brand-backdrop': string\n}\n\n/**\n * The optional half: info, success, warning and error.\n *\n * A product whose statuses are not those four semantics omits this tier and\n * inherits haus's from :root, because custom properties inherit and a named\n * brand only overrides what it declares. Optional here, and all-or-nothing per\n * ramp in brand.test.ts, which types cannot express.\n */\nexport interface BrandMapFeedback {\n '--haus-brand-info-subtle': string\n '--haus-brand-info-border': string\n '--haus-brand-info-default': string\n '--haus-brand-info-on-subtle': string\n '--haus-brand-info-on-default': string\n '--haus-brand-info-emphasis': string\n '--haus-brand-success-subtle': string\n '--haus-brand-success-border': string\n '--haus-brand-success-default': string\n '--haus-brand-success-on-subtle': string\n '--haus-brand-success-on-default': string\n '--haus-brand-success-solid': string\n '--haus-brand-success-emphasis': string\n '--haus-brand-warning-subtle': string\n '--haus-brand-warning-border': string\n '--haus-brand-warning-default': string\n '--haus-brand-warning-on-subtle': string\n '--haus-brand-warning-on-default': string\n '--haus-brand-warning-solid': string\n '--haus-brand-warning-emphasis': string\n '--haus-brand-error-subtle': string\n '--haus-brand-error-border': string\n '--haus-brand-error-default': string\n '--haus-brand-error-on-subtle': string\n '--haus-brand-error-on-default': string\n '--haus-brand-error-emphasis': string\n}\n\n/**\n * The other optional half: what a product re-decides that is not a colour.\n *\n * Radius and elevation, taken from what drift and vault actually changed. Not\n * z-index, opacity, border-width or spacing: nobody re-decides those, and the\n * overrides that looked like it were the literal values of haus's own\n * primitives typed out. All-or-nothing per group, in brand.test.ts.\n */\nexport interface BrandMapForm {\n '--haus-brand-radius-control': string\n '--haus-brand-radius-surface': string\n '--haus-brand-radius-overlay': string\n '--haus-brand-radius-marker': string\n '--haus-brand-elevation-raised': string\n '--haus-brand-elevation-floating': string\n '--haus-brand-elevation-overlay': string\n '--haus-brand-modal-width-sm': string\n '--haus-brand-modal-width-md': string\n '--haus-brand-modal-width-lg': string\n}\n\n/** A complete brand: the base tier, and as much of the optional tiers as applies. */\nexport type BrandMap = BrandMapBase & Partial<BrandMapFeedback> & Partial<BrandMapForm>\n\n/** The role names themselves, for anyone generating a brand rather than writing one. */\nexport const brandRoles = [\n '--haus-brand-surface-default',\n '--haus-brand-surface-subtle',\n '--haus-brand-surface-raised',\n '--haus-brand-surface-overlay',\n '--haus-brand-surface-sunken',\n '--haus-brand-surface-inverse',\n '--haus-brand-surface-disabled',\n '--haus-brand-surface-inverse-hover',\n '--haus-brand-ink-primary',\n '--haus-brand-ink-secondary',\n '--haus-brand-ink-tertiary',\n '--haus-brand-ink-disabled',\n '--haus-brand-ink-inverse',\n '--haus-brand-ink-link',\n '--haus-brand-ink-on-primary',\n '--haus-brand-border-subtle',\n '--haus-brand-border-default',\n '--haus-brand-border-strong',\n '--haus-brand-border-disabled',\n '--haus-brand-border-inverse',\n '--haus-brand-border-inverse-hover',\n '--haus-brand-primary-default',\n '--haus-brand-primary-hover',\n '--haus-brand-primary-pressed',\n '--haus-brand-primary-subtle',\n '--haus-brand-primary-on-subtle',\n '--haus-brand-primary-disabled',\n '--haus-brand-backdrop',\n '--haus-brand-info-subtle',\n '--haus-brand-info-border',\n '--haus-brand-info-default',\n '--haus-brand-info-on-subtle',\n '--haus-brand-info-on-default',\n '--haus-brand-info-emphasis',\n '--haus-brand-success-subtle',\n '--haus-brand-success-border',\n '--haus-brand-success-default',\n '--haus-brand-success-on-subtle',\n '--haus-brand-success-on-default',\n '--haus-brand-success-solid',\n '--haus-brand-success-emphasis',\n '--haus-brand-warning-subtle',\n '--haus-brand-warning-border',\n '--haus-brand-warning-default',\n '--haus-brand-warning-on-subtle',\n '--haus-brand-warning-on-default',\n '--haus-brand-warning-solid',\n '--haus-brand-warning-emphasis',\n '--haus-brand-error-subtle',\n '--haus-brand-error-border',\n '--haus-brand-error-default',\n '--haus-brand-error-on-subtle',\n '--haus-brand-error-on-default',\n '--haus-brand-error-emphasis',\n '--haus-brand-radius-control',\n '--haus-brand-radius-surface',\n '--haus-brand-radius-overlay',\n '--haus-brand-radius-marker',\n '--haus-brand-elevation-raised',\n '--haus-brand-elevation-floating',\n '--haus-brand-elevation-overlay',\n '--haus-brand-modal-width-sm',\n '--haus-brand-modal-width-md',\n '--haus-brand-modal-width-lg',\n] as const\n\n/** The required half. A brand supplying fewer than these renders unstyled. */\nexport const brandRolesBase = [\n '--haus-brand-surface-default',\n '--haus-brand-surface-subtle',\n '--haus-brand-surface-raised',\n '--haus-brand-surface-overlay',\n '--haus-brand-surface-sunken',\n '--haus-brand-surface-inverse',\n '--haus-brand-surface-disabled',\n '--haus-brand-surface-inverse-hover',\n '--haus-brand-ink-primary',\n '--haus-brand-ink-secondary',\n '--haus-brand-ink-tertiary',\n '--haus-brand-ink-disabled',\n '--haus-brand-ink-inverse',\n '--haus-brand-ink-link',\n '--haus-brand-ink-on-primary',\n '--haus-brand-border-subtle',\n '--haus-brand-border-default',\n '--haus-brand-border-strong',\n '--haus-brand-border-disabled',\n '--haus-brand-border-inverse',\n '--haus-brand-border-inverse-hover',\n '--haus-brand-primary-default',\n '--haus-brand-primary-hover',\n '--haus-brand-primary-pressed',\n '--haus-brand-primary-subtle',\n '--haus-brand-primary-on-subtle',\n '--haus-brand-primary-disabled',\n '--haus-brand-backdrop',\n] as const\n\n/** The optional colour half, grouped by the ramp that has to be complete or absent. */\nexport const brandRolesFeedback = [\n '--haus-brand-info-subtle',\n '--haus-brand-info-border',\n '--haus-brand-info-default',\n '--haus-brand-info-on-subtle',\n '--haus-brand-info-on-default',\n '--haus-brand-info-emphasis',\n '--haus-brand-success-subtle',\n '--haus-brand-success-border',\n '--haus-brand-success-default',\n '--haus-brand-success-on-subtle',\n '--haus-brand-success-on-default',\n '--haus-brand-success-solid',\n '--haus-brand-success-emphasis',\n '--haus-brand-warning-subtle',\n '--haus-brand-warning-border',\n '--haus-brand-warning-default',\n '--haus-brand-warning-on-subtle',\n '--haus-brand-warning-on-default',\n '--haus-brand-warning-solid',\n '--haus-brand-warning-emphasis',\n '--haus-brand-error-subtle',\n '--haus-brand-error-border',\n '--haus-brand-error-default',\n '--haus-brand-error-on-subtle',\n '--haus-brand-error-on-default',\n '--haus-brand-error-emphasis',\n] as const\n\n/** The optional non-colour half: radius and elevation. */\nexport const brandRolesForm = [\n '--haus-brand-radius-control',\n '--haus-brand-radius-surface',\n '--haus-brand-radius-overlay',\n '--haus-brand-radius-marker',\n '--haus-brand-elevation-raised',\n '--haus-brand-elevation-floating',\n '--haus-brand-elevation-overlay',\n '--haus-brand-modal-width-sm',\n '--haus-brand-modal-width-md',\n '--haus-brand-modal-width-lg',\n] as const\n","/* ─── haus / tokens ──────────────────────────────────────────────────────────\n Typed constants for the primitive layer.\n\n The CSS custom properties are the runtime form; this exists for the places\n they cannot reach: @media conditions, build config, style-in-JS. Semantic\n tokens are deliberately absent: their whole job is to be swappable at\n runtime, which freezing them into a constant would defeat.\n\n GENERATED FROM src/tokens.json. Do not edit.\n Regenerate with `npm run tokens`; `npm run tokens:check` fails CI if stale.\n ─────────────────────────────────────────────────────────────────────────── */\n\nexport const tokens = {\n color: {\n aronia: {\n \"100\": \"oklch(97% 0.012 300)\",\n \"200\": \"oklch(92% 0.028 300)\",\n \"300\": \"oklch(84% 0.058 300)\",\n \"400\": \"oklch(72% 0.100 300)\",\n \"500\": \"oklch(52% 0.138 300)\",\n \"600\": \"oklch(43% 0.125 300)\",\n \"700\": \"oklch(35% 0.105 300)\",\n \"800\": \"oklch(26% 0.080 300)\",\n \"850\": \"oklch(22% 0.066 300)\",\n \"900\": \"oklch(18% 0.052 300)\",\n \"950\": \"oklch(12% 0.032 300)\",\n },\n damson: {\n \"0\": \"oklch(100% 0 0)\",\n \"50\": \"oklch(99% 0.003 290)\",\n \"100\": \"oklch(97% 0.006 290)\",\n \"200\": \"oklch(93% 0.008 290)\",\n \"300\": \"oklch(86% 0.010 290)\",\n \"400\": \"oklch(74% 0.010 290)\",\n \"500\": \"oklch(60% 0.008 290)\",\n \"600\": \"oklch(48% 0.007 290)\",\n \"700\": \"oklch(37% 0.006 290)\",\n \"800\": \"oklch(27% 0.005 290)\",\n \"900\": \"oklch(18% 0.003 290)\",\n \"950\": \"oklch(11% 0.002 290)\",\n },\n elderberry: {\n \"100\": \"oklch(97% 0.020 265)\",\n \"200\": \"oklch(93% 0.040 265)\",\n \"500\": \"oklch(55% 0.200 265)\",\n \"700\": \"oklch(42% 0.160 265)\",\n \"900\": \"oklch(30% 0.120 265)\",\n },\n greengage: {\n \"100\": \"oklch(97% 0.030 148)\",\n \"200\": \"oklch(93% 0.055 148)\",\n \"500\": \"oklch(58% 0.185 148)\",\n \"700\": \"oklch(45% 0.150 148)\",\n \"900\": \"oklch(33% 0.110 148)\",\n },\n mango: {\n \"100\": \"oklch(97% 0.025 65)\",\n \"200\": \"oklch(93% 0.045 65)\",\n \"500\": \"oklch(60% 0.175 65)\",\n \"700\": \"oklch(47% 0.142 65)\",\n \"900\": \"oklch(38% 0.110 65)\",\n },\n cherry: {\n \"100\": \"oklch(97% 0.030 27)\",\n \"200\": \"oklch(93% 0.055 27)\",\n \"500\": \"oklch(58% 0.200 27)\",\n \"700\": \"oklch(44% 0.168 27)\",\n \"900\": \"oklch(33% 0.110 27)\",\n },\n },\n font: {\n family: {\n sans: \"'Manrope', system-ui, sans-serif\",\n mono: \"'Fira Code', ui-monospace, monospace\",\n },\n size: {\n \"11\": \"0.6875rem\",\n \"12\": \"0.75rem\",\n \"13\": \"0.8125rem\",\n \"14\": \"0.875rem\",\n \"16\": \"1rem\",\n \"20\": \"1.25rem\",\n \"24\": \"1.5rem\",\n \"30\": \"1.875rem\",\n },\n weight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n lineHeight: {\n tight: 1.15,\n tighter: 1.2,\n snug: 1.25,\n compact: 1.3,\n normal: 1.4,\n relaxed: 1.5,\n loose: 1.6,\n },\n tracking: {\n tightest: \"-0.03em\",\n tighter: \"-0.02em\",\n tight: \"-0.01em\",\n normal: \"0em\",\n wide: \"0.02em\",\n wider: \"0.04em\",\n widest: \"0.08em\",\n },\n },\n spacing: {\n \"1\": \"0.25rem\",\n \"2\": \"0.5rem\",\n \"3\": \"0.75rem\",\n \"4\": \"1rem\",\n \"5\": \"1.25rem\",\n \"6\": \"1.5rem\",\n \"7\": \"1.75rem\",\n \"8\": \"2rem\",\n \"10\": \"2.5rem\",\n \"12\": \"3rem\",\n \"16\": \"4rem\",\n \"20\": \"5rem\",\n },\n radius: {\n none: \"0\",\n sm: \"0.25rem\",\n md: \"0.5rem\",\n lg: \"0.75rem\",\n xl: \"1rem\",\n \"2xl\": \"1.5rem\",\n full: \"9999px\",\n },\n duration: {\n instant: \"50ms\",\n fast: \"100ms\",\n normal: \"200ms\",\n moderate: \"300ms\",\n slow: \"500ms\",\n reduced: \"0ms\",\n },\n easing: {\n enter: \"cubic-bezier(0.00, 0.00, 0.20, 1.00)\",\n exit: \"cubic-bezier(0.40, 0.00, 1.00, 1.00)\",\n move: \"cubic-bezier(0.40, 0.00, 0.20, 1.00)\",\n spring: \"cubic-bezier(0.34, 1.56, 0.64, 1.00)\",\n linear: \"linear\",\n },\n motion: {\n \"fade-in\": \"200ms cubic-bezier(0.00, 0.00, 0.20, 1.00)\",\n \"fade-out\": \"100ms cubic-bezier(0.40, 0.00, 1.00, 1.00)\",\n \"slide-in\": \"300ms cubic-bezier(0.00, 0.00, 0.20, 1.00)\",\n \"slide-out\": \"100ms cubic-bezier(0.40, 0.00, 1.00, 1.00)\",\n micro: \"100ms cubic-bezier(0.40, 0.00, 0.20, 1.00)\",\n interactive: \"200ms cubic-bezier(0.40, 0.00, 0.20, 1.00)\",\n },\n shadow: {\n none: \"none\",\n sm: \"0 1px 2px oklch(18% 0.003 290 / 0.06)\",\n md: \"0 4px 6px -1px oklch(18% 0.003 290 / 0.10), 0 2px 4px -2px oklch(18% 0.003 290 / 0.10)\",\n lg: \"0 10px 15px -3px oklch(18% 0.003 290 / 0.10), 0 4px 6px -4px oklch(18% 0.003 290 / 0.07)\",\n xl: \"0 20px 25px -5px oklch(18% 0.003 290 / 0.10), 0 8px 10px -6px oklch(18% 0.003 290 / 0.10)\",\n },\n controlHeight: {\n sm: \"1.75rem\",\n md: \"2.25rem\",\n lg: \"2.75rem\",\n },\n zIndex: {\n \"0\": 0,\n \"10\": 10,\n \"100\": 100,\n \"200\": 200,\n \"300\": 300,\n \"400\": 400,\n \"500\": 500,\n \"600\": 600,\n },\n borderWidth: {\n \"1\": \"1px\",\n \"2\": \"2px\",\n },\n opacity: {\n \"40\": 0.4,\n \"60\": 0.6,\n },\n iconSize: {\n xs: \"0.75rem\",\n sm: \"1rem\",\n md: \"1.25rem\",\n lg: \"1.5rem\",\n xl: \"2rem\",\n },\n breakpoint: {\n sm: \"640px\",\n md: \"768px\",\n lg: \"1024px\",\n xl: \"1280px\",\n \"2xl\": \"1536px\",\n },\n} as const\n\nexport type Tokens = typeof tokens\n\n/* The brand map's type and role list, generated from brand.css. Re-exported here\n so a consumer has one entry point rather than two. */\nexport type { BrandMap, BrandMapBase, BrandMapFeedback, BrandMapForm } from './brand'\nexport { brandRoles, brandRolesBase, brandRolesFeedback, brandRolesForm } from './brand'\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/brand.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/* ─── haus / primitives ──────────────────────────────────────────────────────\n Raw values only. No component or semantic meaning.\n Nothing outside this file should define raw values.\n Components must never reference these directly. Use semantics.css.\n\n GENERATED FROM src/tokens.json. Do not edit.\n Regenerate with `npm run tokens`; `npm run tokens:check` fails CI if stale.\n ─────────────────────────────────────────────────────────────────────────── */\n\n/**\n * The entries every brand must supply, generated from brand.css.\n *\n * A brand file is CSS, so this cannot check it directly. What it does check is\n * the object form: build a brand in TypeScript, satisfy this type, and a missing\n * or misspelled role is a compile error rather than an unresolved var() that\n * drops a declaration with no warning at all.\n */\nexport interface BrandMapBase {\n '--haus-brand-surface-default': string\n '--haus-brand-surface-subtle': string\n '--haus-brand-surface-raised': string\n '--haus-brand-surface-overlay': string\n '--haus-brand-surface-sunken': string\n '--haus-brand-surface-inverse': string\n '--haus-brand-surface-disabled': string\n '--haus-brand-surface-inverse-hover': string\n '--haus-brand-ink-primary': string\n '--haus-brand-ink-secondary': string\n '--haus-brand-ink-tertiary': string\n '--haus-brand-ink-disabled': string\n '--haus-brand-ink-inverse': string\n '--haus-brand-ink-link': string\n '--haus-brand-ink-on-primary': string\n '--haus-brand-border-subtle': string\n '--haus-brand-border-default': string\n '--haus-brand-border-strong': string\n '--haus-brand-border-disabled': string\n '--haus-brand-border-inverse': string\n '--haus-brand-border-inverse-hover': string\n '--haus-brand-primary-default': string\n '--haus-brand-primary-hover': string\n '--haus-brand-primary-pressed': string\n '--haus-brand-primary-subtle': string\n '--haus-brand-primary-on-subtle': string\n '--haus-brand-primary-disabled': string\n '--haus-brand-backdrop': string\n}\n\n/**\n * The optional half: info, success, warning and error.\n *\n * A product whose statuses are not those four semantics omits this tier and\n * inherits haus's from :root, because custom properties inherit and a named\n * brand only overrides what it declares. Optional here, and all-or-nothing per\n * ramp in brand.test.ts, which types cannot express.\n */\nexport interface BrandMapFeedback {\n '--haus-brand-info-subtle': string\n '--haus-brand-info-border': string\n '--haus-brand-info-default': string\n '--haus-brand-info-on-subtle': string\n '--haus-brand-info-on-default': string\n '--haus-brand-info-emphasis': string\n '--haus-brand-success-subtle': string\n '--haus-brand-success-border': string\n '--haus-brand-success-default': string\n '--haus-brand-success-on-subtle': string\n '--haus-brand-success-on-default': string\n '--haus-brand-success-solid': string\n '--haus-brand-success-emphasis': string\n '--haus-brand-warning-subtle': string\n '--haus-brand-warning-border': string\n '--haus-brand-warning-default': string\n '--haus-brand-warning-on-subtle': string\n '--haus-brand-warning-on-default': string\n '--haus-brand-warning-solid': string\n '--haus-brand-warning-emphasis': string\n '--haus-brand-error-subtle': string\n '--haus-brand-error-border': string\n '--haus-brand-error-default': string\n '--haus-brand-error-on-subtle': string\n '--haus-brand-error-on-default': string\n '--haus-brand-error-emphasis': string\n}\n\n/**\n * The other optional half: what a product re-decides that is not a colour.\n *\n * Radius, elevation, modal width and typeface, taken from what drift and vault\n * actually changed. Not z-index, opacity, border-width or spacing: nobody\n * re-decides those, and the overrides that looked like it were the literal\n * values of haus's own primitives typed out. All-or-nothing per group, in\n * brand.test.ts.\n */\nexport interface BrandMapForm {\n '--haus-brand-radius-control': string\n '--haus-brand-radius-surface': string\n '--haus-brand-radius-overlay': string\n '--haus-brand-radius-marker': string\n '--haus-brand-elevation-raised': string\n '--haus-brand-elevation-floating': string\n '--haus-brand-elevation-overlay': string\n '--haus-brand-modal-width-sm': string\n '--haus-brand-modal-width-md': string\n '--haus-brand-modal-width-lg': string\n '--haus-brand-font-sans': string\n '--haus-brand-font-mono': string\n}\n\n/** A complete brand: the base tier, and as much of the optional tiers as applies. */\nexport type BrandMap = BrandMapBase & Partial<BrandMapFeedback> & Partial<BrandMapForm>\n\n/** The role names themselves, for anyone generating a brand rather than writing one. */\nexport const brandRoles = [\n '--haus-brand-surface-default',\n '--haus-brand-surface-subtle',\n '--haus-brand-surface-raised',\n '--haus-brand-surface-overlay',\n '--haus-brand-surface-sunken',\n '--haus-brand-surface-inverse',\n '--haus-brand-surface-disabled',\n '--haus-brand-surface-inverse-hover',\n '--haus-brand-ink-primary',\n '--haus-brand-ink-secondary',\n '--haus-brand-ink-tertiary',\n '--haus-brand-ink-disabled',\n '--haus-brand-ink-inverse',\n '--haus-brand-ink-link',\n '--haus-brand-ink-on-primary',\n '--haus-brand-border-subtle',\n '--haus-brand-border-default',\n '--haus-brand-border-strong',\n '--haus-brand-border-disabled',\n '--haus-brand-border-inverse',\n '--haus-brand-border-inverse-hover',\n '--haus-brand-primary-default',\n '--haus-brand-primary-hover',\n '--haus-brand-primary-pressed',\n '--haus-brand-primary-subtle',\n '--haus-brand-primary-on-subtle',\n '--haus-brand-primary-disabled',\n '--haus-brand-backdrop',\n '--haus-brand-info-subtle',\n '--haus-brand-info-border',\n '--haus-brand-info-default',\n '--haus-brand-info-on-subtle',\n '--haus-brand-info-on-default',\n '--haus-brand-info-emphasis',\n '--haus-brand-success-subtle',\n '--haus-brand-success-border',\n '--haus-brand-success-default',\n '--haus-brand-success-on-subtle',\n '--haus-brand-success-on-default',\n '--haus-brand-success-solid',\n '--haus-brand-success-emphasis',\n '--haus-brand-warning-subtle',\n '--haus-brand-warning-border',\n '--haus-brand-warning-default',\n '--haus-brand-warning-on-subtle',\n '--haus-brand-warning-on-default',\n '--haus-brand-warning-solid',\n '--haus-brand-warning-emphasis',\n '--haus-brand-error-subtle',\n '--haus-brand-error-border',\n '--haus-brand-error-default',\n '--haus-brand-error-on-subtle',\n '--haus-brand-error-on-default',\n '--haus-brand-error-emphasis',\n '--haus-brand-radius-control',\n '--haus-brand-radius-surface',\n '--haus-brand-radius-overlay',\n '--haus-brand-radius-marker',\n '--haus-brand-elevation-raised',\n '--haus-brand-elevation-floating',\n '--haus-brand-elevation-overlay',\n '--haus-brand-modal-width-sm',\n '--haus-brand-modal-width-md',\n '--haus-brand-modal-width-lg',\n '--haus-brand-font-sans',\n '--haus-brand-font-mono',\n] as const\n\n/** The required half. A brand supplying fewer than these renders unstyled. */\nexport const brandRolesBase = [\n '--haus-brand-surface-default',\n '--haus-brand-surface-subtle',\n '--haus-brand-surface-raised',\n '--haus-brand-surface-overlay',\n '--haus-brand-surface-sunken',\n '--haus-brand-surface-inverse',\n '--haus-brand-surface-disabled',\n '--haus-brand-surface-inverse-hover',\n '--haus-brand-ink-primary',\n '--haus-brand-ink-secondary',\n '--haus-brand-ink-tertiary',\n '--haus-brand-ink-disabled',\n '--haus-brand-ink-inverse',\n '--haus-brand-ink-link',\n '--haus-brand-ink-on-primary',\n '--haus-brand-border-subtle',\n '--haus-brand-border-default',\n '--haus-brand-border-strong',\n '--haus-brand-border-disabled',\n '--haus-brand-border-inverse',\n '--haus-brand-border-inverse-hover',\n '--haus-brand-primary-default',\n '--haus-brand-primary-hover',\n '--haus-brand-primary-pressed',\n '--haus-brand-primary-subtle',\n '--haus-brand-primary-on-subtle',\n '--haus-brand-primary-disabled',\n '--haus-brand-backdrop',\n] as const\n\n/** The optional colour half, grouped by the ramp that has to be complete or absent. */\nexport const brandRolesFeedback = [\n '--haus-brand-info-subtle',\n '--haus-brand-info-border',\n '--haus-brand-info-default',\n '--haus-brand-info-on-subtle',\n '--haus-brand-info-on-default',\n '--haus-brand-info-emphasis',\n '--haus-brand-success-subtle',\n '--haus-brand-success-border',\n '--haus-brand-success-default',\n '--haus-brand-success-on-subtle',\n '--haus-brand-success-on-default',\n '--haus-brand-success-solid',\n '--haus-brand-success-emphasis',\n '--haus-brand-warning-subtle',\n '--haus-brand-warning-border',\n '--haus-brand-warning-default',\n '--haus-brand-warning-on-subtle',\n '--haus-brand-warning-on-default',\n '--haus-brand-warning-solid',\n '--haus-brand-warning-emphasis',\n '--haus-brand-error-subtle',\n '--haus-brand-error-border',\n '--haus-brand-error-default',\n '--haus-brand-error-on-subtle',\n '--haus-brand-error-on-default',\n '--haus-brand-error-emphasis',\n] as const\n\n/** The optional non-colour half: radius, elevation, modal width and typeface. */\nexport const brandRolesForm = [\n '--haus-brand-radius-control',\n '--haus-brand-radius-surface',\n '--haus-brand-radius-overlay',\n '--haus-brand-radius-marker',\n '--haus-brand-elevation-raised',\n '--haus-brand-elevation-floating',\n '--haus-brand-elevation-overlay',\n '--haus-brand-modal-width-sm',\n '--haus-brand-modal-width-md',\n '--haus-brand-modal-width-lg',\n '--haus-brand-font-sans',\n '--haus-brand-font-mono',\n] as const\n","/* ─── haus / tokens ──────────────────────────────────────────────────────────\n Typed constants for the primitive layer.\n\n The CSS custom properties are the runtime form; this exists for the places\n they cannot reach: @media conditions, build config, style-in-JS. Semantic\n tokens are deliberately absent: their whole job is to be swappable at\n runtime, which freezing them into a constant would defeat.\n\n GENERATED FROM src/tokens.json. Do not edit.\n Regenerate with `npm run tokens`; `npm run tokens:check` fails CI if stale.\n ─────────────────────────────────────────────────────────────────────────── */\n\nexport const tokens = {\n color: {\n aronia: {\n \"100\": \"oklch(97% 0.012 300)\",\n \"200\": \"oklch(92% 0.028 300)\",\n \"300\": \"oklch(84% 0.058 300)\",\n \"400\": \"oklch(72% 0.100 300)\",\n \"500\": \"oklch(52% 0.138 300)\",\n \"600\": \"oklch(43% 0.125 300)\",\n \"700\": \"oklch(35% 0.105 300)\",\n \"800\": \"oklch(26% 0.080 300)\",\n \"850\": \"oklch(22% 0.066 300)\",\n \"900\": \"oklch(18% 0.052 300)\",\n \"950\": \"oklch(12% 0.032 300)\",\n },\n damson: {\n \"0\": \"oklch(100% 0 0)\",\n \"50\": \"oklch(99% 0.003 290)\",\n \"100\": \"oklch(97% 0.006 290)\",\n \"200\": \"oklch(93% 0.008 290)\",\n \"300\": \"oklch(86% 0.010 290)\",\n \"400\": \"oklch(74% 0.010 290)\",\n \"500\": \"oklch(60% 0.008 290)\",\n \"600\": \"oklch(48% 0.007 290)\",\n \"700\": \"oklch(37% 0.006 290)\",\n \"800\": \"oklch(27% 0.005 290)\",\n \"900\": \"oklch(18% 0.003 290)\",\n \"950\": \"oklch(11% 0.002 290)\",\n },\n elderberry: {\n \"100\": \"oklch(97% 0.020 265)\",\n \"200\": \"oklch(93% 0.040 265)\",\n \"500\": \"oklch(55% 0.200 265)\",\n \"700\": \"oklch(42% 0.160 265)\",\n \"900\": \"oklch(30% 0.120 265)\",\n },\n greengage: {\n \"100\": \"oklch(97% 0.030 148)\",\n \"200\": \"oklch(93% 0.055 148)\",\n \"500\": \"oklch(58% 0.185 148)\",\n \"700\": \"oklch(45% 0.150 148)\",\n \"900\": \"oklch(33% 0.110 148)\",\n },\n mango: {\n \"100\": \"oklch(97% 0.025 65)\",\n \"200\": \"oklch(93% 0.045 65)\",\n \"500\": \"oklch(60% 0.175 65)\",\n \"700\": \"oklch(47% 0.142 65)\",\n \"900\": \"oklch(38% 0.110 65)\",\n },\n cherry: {\n \"100\": \"oklch(97% 0.030 27)\",\n \"200\": \"oklch(93% 0.055 27)\",\n \"500\": \"oklch(58% 0.200 27)\",\n \"700\": \"oklch(44% 0.168 27)\",\n \"900\": \"oklch(33% 0.110 27)\",\n },\n },\n font: {\n // family removed with haus#54; it is a brand entry now, not a primitive.\n size: {\n \"11\": \"0.6875rem\",\n \"12\": \"0.75rem\",\n \"13\": \"0.8125rem\",\n \"14\": \"0.875rem\",\n \"16\": \"1rem\",\n \"20\": \"1.25rem\",\n \"24\": \"1.5rem\",\n \"30\": \"1.875rem\",\n },\n weight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n lineHeight: {\n tight: 1.15,\n tighter: 1.2,\n snug: 1.25,\n compact: 1.3,\n normal: 1.4,\n relaxed: 1.5,\n loose: 1.6,\n },\n tracking: {\n tightest: \"-0.03em\",\n tighter: \"-0.02em\",\n tight: \"-0.01em\",\n normal: \"0em\",\n wide: \"0.02em\",\n wider: \"0.04em\",\n widest: \"0.08em\",\n },\n },\n spacing: {\n \"1\": \"0.25rem\",\n \"2\": \"0.5rem\",\n \"3\": \"0.75rem\",\n \"4\": \"1rem\",\n \"5\": \"1.25rem\",\n \"6\": \"1.5rem\",\n \"7\": \"1.75rem\",\n \"8\": \"2rem\",\n \"10\": \"2.5rem\",\n \"12\": \"3rem\",\n \"16\": \"4rem\",\n \"20\": \"5rem\",\n },\n radius: {\n none: \"0\",\n sm: \"0.25rem\",\n md: \"0.5rem\",\n lg: \"0.75rem\",\n xl: \"1rem\",\n \"2xl\": \"1.5rem\",\n full: \"9999px\",\n },\n duration: {\n instant: \"50ms\",\n fast: \"100ms\",\n normal: \"200ms\",\n moderate: \"300ms\",\n slow: \"500ms\",\n reduced: \"0ms\",\n },\n easing: {\n enter: \"cubic-bezier(0.00, 0.00, 0.20, 1.00)\",\n exit: \"cubic-bezier(0.40, 0.00, 1.00, 1.00)\",\n move: \"cubic-bezier(0.40, 0.00, 0.20, 1.00)\",\n spring: \"cubic-bezier(0.34, 1.56, 0.64, 1.00)\",\n linear: \"linear\",\n },\n motion: {\n \"fade-in\": \"200ms cubic-bezier(0.00, 0.00, 0.20, 1.00)\",\n \"fade-out\": \"100ms cubic-bezier(0.40, 0.00, 1.00, 1.00)\",\n \"slide-in\": \"300ms cubic-bezier(0.00, 0.00, 0.20, 1.00)\",\n \"slide-out\": \"100ms cubic-bezier(0.40, 0.00, 1.00, 1.00)\",\n micro: \"100ms cubic-bezier(0.40, 0.00, 0.20, 1.00)\",\n interactive: \"200ms cubic-bezier(0.40, 0.00, 0.20, 1.00)\",\n },\n shadow: {\n none: \"none\",\n sm: \"0 1px 2px oklch(18% 0.003 290 / 0.06)\",\n md: \"0 4px 6px -1px oklch(18% 0.003 290 / 0.10), 0 2px 4px -2px oklch(18% 0.003 290 / 0.10)\",\n lg: \"0 10px 15px -3px oklch(18% 0.003 290 / 0.10), 0 4px 6px -4px oklch(18% 0.003 290 / 0.07)\",\n xl: \"0 20px 25px -5px oklch(18% 0.003 290 / 0.10), 0 8px 10px -6px oklch(18% 0.003 290 / 0.10)\",\n },\n controlHeight: {\n sm: \"1.75rem\",\n md: \"2.25rem\",\n lg: \"2.75rem\",\n },\n zIndex: {\n \"0\": 0,\n \"10\": 10,\n \"100\": 100,\n \"200\": 200,\n \"300\": 300,\n \"400\": 400,\n \"500\": 500,\n \"600\": 600,\n },\n borderWidth: {\n \"1\": \"1px\",\n \"2\": \"2px\",\n },\n opacity: {\n \"40\": 0.4,\n \"60\": 0.6,\n },\n iconSize: {\n xs: \"0.75rem\",\n sm: \"1rem\",\n md: \"1.25rem\",\n lg: \"1.5rem\",\n xl: \"2rem\",\n },\n breakpoint: {\n sm: \"640px\",\n md: \"768px\",\n lg: \"1024px\",\n xl: \"1280px\",\n \"2xl\": \"1536px\",\n },\n} as const\n\nexport type Tokens = typeof tokens\n\n/* The brand map's type and role list, generated from brand.css. Re-exported here\n so a consumer has one entry point rather than two. */\nexport type { BrandMap, BrandMapBase, BrandMapFeedback, BrandMapForm } from './brand'\nexport { brandRoles, brandRolesBase, brandRolesFeedback, brandRolesForm } from './brand'\n"]}
|
package/dist/primitives.css
CHANGED
|
@@ -68,9 +68,6 @@
|
|
|
68
68
|
--haus-cherry-900: oklch(33% 0.110 27); /* Emphasis / high-contrast text */
|
|
69
69
|
|
|
70
70
|
/* ── Type scale ──────────────────────────────────────────────────────────── */
|
|
71
|
-
--haus-font-sans: 'Manrope', system-ui, sans-serif;
|
|
72
|
-
--haus-font-mono: 'Fira Code', ui-monospace, monospace;
|
|
73
|
-
|
|
74
71
|
--haus-text-11: 0.6875rem;
|
|
75
72
|
--haus-text-12: 0.75rem;
|
|
76
73
|
--haus-text-13: 0.8125rem;
|
package/dist/semantics.css
CHANGED
|
@@ -13,16 +13,22 @@
|
|
|
13
13
|
textarea's minimum height and the select chevron's offset. A size is a
|
|
14
14
|
value, not a role, and calling a 16px checkbox --haus-space-inset-md
|
|
15
15
|
would say something untrue.
|
|
16
|
-
·
|
|
17
|
-
is the role:
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
Button used to read --haus-tracking-normal here too; haus#37 moved it onto
|
|
16
|
+
· 22 read a primitive that has no alias here because its own name already
|
|
17
|
+
is the role: five control heights and seventeen icon sizes (five
|
|
18
|
+
--haus-icon-sm, six --haus-icon-lg, six --haus-icon-xs). Button used to
|
|
19
|
+
read --haus-tracking-normal here too; haus#37 moved it onto
|
|
21
20
|
--haus-type-label-tracking, so tracking is a role everywhere and no
|
|
22
21
|
component reads the tracking ladder. haus#43 added the icon reads: the
|
|
23
22
|
chevron and the two close buttons bind their box and glyph to the icon
|
|
24
23
|
scale rather than a raw size.
|
|
25
24
|
|
|
25
|
+
This was 54 until haus#54, which took the 32 --haus-font-sans reads out of
|
|
26
|
+
this count: typeface became brandable, so the font role now lives in this
|
|
27
|
+
file (reading --haus-brand-font-sans) rather than being a primitive the
|
|
28
|
+
components reach for, and a role read is not a primitive read. (The header
|
|
29
|
+
read 50 here until haus#54, stale since haus#55's Spinner took the icon
|
|
30
|
+
reads from thirteen to seventeen; corrected in the same pass.)
|
|
31
|
+
|
|
26
32
|
This was 71 before haus#27. Stacking, border width and opacity used to be
|
|
27
33
|
primitives wearing role names, so a product that wanted the stacking order
|
|
28
34
|
had to read primitives.css, and drift and vault each decided one for
|
|
@@ -138,6 +144,15 @@
|
|
|
138
144
|
/* so an invalid field stays legible as invalid while focused. */
|
|
139
145
|
--haus-focus-ring-error: 0 0 0 2px var(--haus-color-surface-default), 0 0 0 4px var(--haus-color-error-default);
|
|
140
146
|
|
|
147
|
+
/* ── Typeface ─────────────────────────────────────────────────────────── */
|
|
148
|
+
/* haus#54. These two kept their names and moved here from primitives.css.
|
|
149
|
+
The name is unchanged so the 32 component reads did not move; what changed
|
|
150
|
+
is that they now resolve through a brand entry instead of a primitive, so
|
|
151
|
+
typeface is brandable and a primitives-only consumer no longer sees them
|
|
152
|
+
(the removal that makes haus#54 a major). */
|
|
153
|
+
--haus-font-sans: var(--haus-brand-font-sans);
|
|
154
|
+
--haus-font-mono: var(--haus-brand-font-mono);
|
|
155
|
+
|
|
141
156
|
/* ── Typography roles ─────────────────────────────────────────────────── */
|
|
142
157
|
/* Use all four props together. Components must not mix roles. */
|
|
143
158
|
|
package/dist/tokens.json
CHANGED
|
@@ -184,24 +184,6 @@
|
|
|
184
184
|
}
|
|
185
185
|
},
|
|
186
186
|
"font": {
|
|
187
|
-
"family": {
|
|
188
|
-
"sans": {
|
|
189
|
-
"$type": "fontFamily",
|
|
190
|
-
"$value": [
|
|
191
|
-
"Manrope",
|
|
192
|
-
"system-ui",
|
|
193
|
-
"sans-serif"
|
|
194
|
-
]
|
|
195
|
-
},
|
|
196
|
-
"mono": {
|
|
197
|
-
"$type": "fontFamily",
|
|
198
|
-
"$value": [
|
|
199
|
-
"Fira Code",
|
|
200
|
-
"ui-monospace",
|
|
201
|
-
"monospace"
|
|
202
|
-
]
|
|
203
|
-
}
|
|
204
|
-
},
|
|
205
187
|
"size": {
|
|
206
188
|
"11": {
|
|
207
189
|
"$type": "dimension",
|
|
@@ -603,6 +585,12 @@
|
|
|
603
585
|
},
|
|
604
586
|
"modal-width-lg": {
|
|
605
587
|
"$value": "var(--haus-overlay-width-lg)"
|
|
588
|
+
},
|
|
589
|
+
"font-sans": {
|
|
590
|
+
"$value": "'Manrope', system-ui, sans-serif"
|
|
591
|
+
},
|
|
592
|
+
"font-mono": {
|
|
593
|
+
"$value": "'Fira Code', ui-monospace, monospace"
|
|
606
594
|
}
|
|
607
595
|
}
|
|
608
596
|
},
|
package/package.json
CHANGED