haus-tokens 3.2.0 → 4.1.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 CHANGED
@@ -169,19 +169,33 @@
169
169
  --haus-brand-elevation-overlay: var(--haus-shadow-xl); /* Modal */
170
170
 
171
171
  /* ── Modal width ─────────────────────────────────────────────────────── */
172
- /* Modal's three sizes were 400px, 560px and 720px written into
173
- Modal.module.css, invisible to the hardcoded-value gate because it has no
174
- rule for width at all, the same blind spot haus#43 found for icons.
175
-
176
- A brand entry rather than a primitive, because two products disagree and
177
- both are right: haus's are a web app's, and vault ships four narrower
178
- steps for a dense desktop app, 360, 420, 480 and 600. A width is a
179
- proportion of the product's own layout, which is what makes it brand
180
- rather than scale. vault's fourth stays vault's: a contract cannot have an
181
- optional member. */
172
+ /* Modal's sizes were 400px, 560px and 720px written into Modal.module.css,
173
+ invisible to the hardcoded-value gate because it has no rule for width at
174
+ all, the same blind spot haus#43 found for icons.
175
+
176
+ A brand entry rather than a primitive, because a width is a proportion of
177
+ the product's own layout, which is what makes it brand rather than scale,
178
+ and a consumer may restate the set. The scale is four now, not three: a
179
+ second consumer's dense-desktop set (360, 420, 480, 600) met haus's three,
180
+ and rather than leave the fourth as a consumer's local (a group the
181
+ contract could not hold as an optional member), haus took the fourth. The
182
+ values stay haus's web-app proportions; a denser product restates all four
183
+ through this entry rather than carrying its own. */
182
184
  --haus-brand-modal-width-sm: var(--haus-overlay-width-sm); /* 400px: confirm, short form */
183
185
  --haus-brand-modal-width-md: var(--haus-overlay-width-md); /* 560px: the default */
184
186
  --haus-brand-modal-width-lg: var(--haus-overlay-width-lg); /* 720px: code, tables, previews */
187
+ --haus-brand-modal-width-xl: var(--haus-overlay-width-xl); /* 896px: wide dashboards, previews */
188
+
189
+ /* ── Popover width ───────────────────────────────────────────────────── */
190
+ /* The same decision as modal width, one order of size down: Popover's steps
191
+ were 180px, 260px and 340px hardcoded in Popover.module.css, read by
192
+ nothing that could theme them. A brand entry for the same reason, since a
193
+ panel width is a proportion of the product's layout, and four steps because
194
+ the Listbox popup a two-line option row needs is wider than a form panel. */
195
+ --haus-brand-popover-width-sm: var(--haus-panel-width-sm); /* 180px: a short action menu */
196
+ --haus-brand-popover-width-md: var(--haus-panel-width-md); /* 260px: the default */
197
+ --haus-brand-popover-width-lg: var(--haus-panel-width-lg); /* 340px: a panel holding a form */
198
+ --haus-brand-popover-width-xl: var(--haus-panel-width-xl); /* 420px: Listbox two-line rows */
185
199
 
186
200
  /* ── Typeface ────────────────────────────────────────────────────────── */
187
201
  /* haus#54. Until now `--haus-font-sans` and `--haus-font-mono` were
package/dist/index.cjs CHANGED
@@ -66,6 +66,11 @@ var brandRoles = [
66
66
  "--haus-brand-modal-width-sm",
67
67
  "--haus-brand-modal-width-md",
68
68
  "--haus-brand-modal-width-lg",
69
+ "--haus-brand-modal-width-xl",
70
+ "--haus-brand-popover-width-sm",
71
+ "--haus-brand-popover-width-md",
72
+ "--haus-brand-popover-width-lg",
73
+ "--haus-brand-popover-width-xl",
69
74
  "--haus-brand-font-sans",
70
75
  "--haus-brand-font-mono"
71
76
  ];
@@ -138,6 +143,11 @@ var brandRolesForm = [
138
143
  "--haus-brand-modal-width-sm",
139
144
  "--haus-brand-modal-width-md",
140
145
  "--haus-brand-modal-width-lg",
146
+ "--haus-brand-modal-width-xl",
147
+ "--haus-brand-popover-width-sm",
148
+ "--haus-brand-popover-width-md",
149
+ "--haus-brand-popover-width-lg",
150
+ "--haus-brand-popover-width-xl",
141
151
  "--haus-brand-font-sans",
142
152
  "--haus-brand-font-mono"
143
153
  ];
@@ -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, 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 xs: \"1.5rem\",\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-modal-width-xl': string\n '--haus-brand-popover-width-sm': string\n '--haus-brand-popover-width-md': string\n '--haus-brand-popover-width-lg': string\n '--haus-brand-popover-width-xl': 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-modal-width-xl',\n '--haus-brand-popover-width-sm',\n '--haus-brand-popover-width-md',\n '--haus-brand-popover-width-lg',\n '--haus-brand-popover-width-xl',\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-modal-width-xl',\n '--haus-brand-popover-width-sm',\n '--haus-brand-popover-width-md',\n '--haus-brand-popover-width-lg',\n '--haus-brand-popover-width-xl',\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 xs: \"1.5rem\",\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
@@ -92,19 +92,24 @@ interface BrandMapForm {
92
92
  '--haus-brand-modal-width-sm': string;
93
93
  '--haus-brand-modal-width-md': string;
94
94
  '--haus-brand-modal-width-lg': string;
95
+ '--haus-brand-modal-width-xl': string;
96
+ '--haus-brand-popover-width-sm': string;
97
+ '--haus-brand-popover-width-md': string;
98
+ '--haus-brand-popover-width-lg': string;
99
+ '--haus-brand-popover-width-xl': string;
95
100
  '--haus-brand-font-sans': string;
96
101
  '--haus-brand-font-mono': string;
97
102
  }
98
103
  /** A complete brand: the base tier, and as much of the optional tiers as applies. */
99
104
  type BrandMap = BrandMapBase & Partial<BrandMapFeedback> & Partial<BrandMapForm>;
100
105
  /** The role names themselves, for anyone generating a brand rather than writing one. */
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"];
106
+ 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-modal-width-xl", "--haus-brand-popover-width-sm", "--haus-brand-popover-width-md", "--haus-brand-popover-width-lg", "--haus-brand-popover-width-xl", "--haus-brand-font-sans", "--haus-brand-font-mono"];
102
107
  /** The required half. A brand supplying fewer than these renders unstyled. */
103
108
  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"];
104
109
  /** The optional colour half, grouped by the ramp that has to be complete or absent. */
105
110
  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"];
106
111
  /** 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"];
112
+ 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-modal-width-xl", "--haus-brand-popover-width-sm", "--haus-brand-popover-width-md", "--haus-brand-popover-width-lg", "--haus-brand-popover-width-xl", "--haus-brand-font-sans", "--haus-brand-font-mono"];
108
113
 
109
114
  declare const tokens: {
110
115
  readonly color: {
package/dist/index.d.ts CHANGED
@@ -92,19 +92,24 @@ interface BrandMapForm {
92
92
  '--haus-brand-modal-width-sm': string;
93
93
  '--haus-brand-modal-width-md': string;
94
94
  '--haus-brand-modal-width-lg': string;
95
+ '--haus-brand-modal-width-xl': string;
96
+ '--haus-brand-popover-width-sm': string;
97
+ '--haus-brand-popover-width-md': string;
98
+ '--haus-brand-popover-width-lg': string;
99
+ '--haus-brand-popover-width-xl': string;
95
100
  '--haus-brand-font-sans': string;
96
101
  '--haus-brand-font-mono': string;
97
102
  }
98
103
  /** A complete brand: the base tier, and as much of the optional tiers as applies. */
99
104
  type BrandMap = BrandMapBase & Partial<BrandMapFeedback> & Partial<BrandMapForm>;
100
105
  /** The role names themselves, for anyone generating a brand rather than writing one. */
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"];
106
+ 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-modal-width-xl", "--haus-brand-popover-width-sm", "--haus-brand-popover-width-md", "--haus-brand-popover-width-lg", "--haus-brand-popover-width-xl", "--haus-brand-font-sans", "--haus-brand-font-mono"];
102
107
  /** The required half. A brand supplying fewer than these renders unstyled. */
103
108
  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"];
104
109
  /** The optional colour half, grouped by the ramp that has to be complete or absent. */
105
110
  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"];
106
111
  /** 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"];
112
+ 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-modal-width-xl", "--haus-brand-popover-width-sm", "--haus-brand-popover-width-md", "--haus-brand-popover-width-lg", "--haus-brand-popover-width-xl", "--haus-brand-font-sans", "--haus-brand-font-mono"];
108
113
 
109
114
  declare const tokens: {
110
115
  readonly color: {
package/dist/index.js CHANGED
@@ -64,6 +64,11 @@ var brandRoles = [
64
64
  "--haus-brand-modal-width-sm",
65
65
  "--haus-brand-modal-width-md",
66
66
  "--haus-brand-modal-width-lg",
67
+ "--haus-brand-modal-width-xl",
68
+ "--haus-brand-popover-width-sm",
69
+ "--haus-brand-popover-width-md",
70
+ "--haus-brand-popover-width-lg",
71
+ "--haus-brand-popover-width-xl",
67
72
  "--haus-brand-font-sans",
68
73
  "--haus-brand-font-mono"
69
74
  ];
@@ -136,6 +141,11 @@ var brandRolesForm = [
136
141
  "--haus-brand-modal-width-sm",
137
142
  "--haus-brand-modal-width-md",
138
143
  "--haus-brand-modal-width-lg",
144
+ "--haus-brand-modal-width-xl",
145
+ "--haus-brand-popover-width-sm",
146
+ "--haus-brand-popover-width-md",
147
+ "--haus-brand-popover-width-lg",
148
+ "--haus-brand-popover-width-xl",
139
149
  "--haus-brand-font-sans",
140
150
  "--haus-brand-font-mono"
141
151
  ];
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, 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 xs: \"1.5rem\",\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-modal-width-xl': string\n '--haus-brand-popover-width-sm': string\n '--haus-brand-popover-width-md': string\n '--haus-brand-popover-width-lg': string\n '--haus-brand-popover-width-xl': 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-modal-width-xl',\n '--haus-brand-popover-width-sm',\n '--haus-brand-popover-width-md',\n '--haus-brand-popover-width-lg',\n '--haus-brand-popover-width-xl',\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-modal-width-xl',\n '--haus-brand-popover-width-sm',\n '--haus-brand-popover-width-md',\n '--haus-brand-popover-width-lg',\n '--haus-brand-popover-width-xl',\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 xs: \"1.5rem\",\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"]}
@@ -162,11 +162,19 @@
162
162
  --haus-icon-xl: 2rem; /* 32px, standalone or decorative */
163
163
 
164
164
  /* ── Overlay widths ──────────────────────────────────────────────────────── */
165
- /* How wide a floating surface may get. A proportion of the product's own layout, which is why Modal's three are a brand entry. */
165
+ /* How wide a floating surface may get. A proportion of the product's own layout, which is why Modal's four are a brand entry. */
166
166
  --haus-overlay-width-xs: 22.5rem; /* 360px, Toast. One value, and a plain role rather than a brand entry because no consumer has disagreed with it yet. */
167
167
  --haus-overlay-width-sm: 25rem; /* 400px, Modal sm. Confirm and short form. */
168
168
  --haus-overlay-width-md: 35rem; /* 560px, Modal md, the default. */
169
169
  --haus-overlay-width-lg: 45rem; /* 720px, Modal lg. Code, tables and previews. */
170
+ --haus-overlay-width-xl: 56rem; /* 896px, Modal xl. Wide dashboards and side-by-side previews. Added when a second consumer's four-step scale met haus's three: the fourth is haus's now rather than the consumer's. */
171
+
172
+ /* ── Panel widths ────────────────────────────────────────────────────────── */
173
+ /* The popover-scale sibling of overlay widths: Popover and the Listbox popup. A brand entry too, for the same reason, read through --haus-popover-width-*. */
174
+ --haus-panel-width-sm: 11.25rem; /* 180px, Popover sm. A short action menu. */
175
+ --haus-panel-width-md: 16.25rem; /* 260px, Popover md, the default. */
176
+ --haus-panel-width-lg: 21.25rem; /* 340px, Popover lg. A panel holding a form. */
177
+ --haus-panel-width-xl: 26.25rem; /* 420px, Popover xl. The two-line option rows a Listbox draws. */
170
178
 
171
179
  /* ── Component geometry ──────────────────────────────────────────────────── */
172
180
  /* On no ladder and not spacing. Literals inside components until haus#53 put width and height into the hardcoded-value rule. */
@@ -373,6 +373,14 @@
373
373
  --haus-modal-width-sm: var(--haus-brand-modal-width-sm);
374
374
  --haus-modal-width-md: var(--haus-brand-modal-width-md);
375
375
  --haus-modal-width-lg: var(--haus-brand-modal-width-lg);
376
+ --haus-modal-width-xl: var(--haus-brand-modal-width-xl);
377
+
378
+ /* Popover width, the popover-scale sibling of modal width. Read by Popover
379
+ and by the Listbox popup; themeable through the brand entry above. */
380
+ --haus-popover-width-sm: var(--haus-brand-popover-width-sm);
381
+ --haus-popover-width-md: var(--haus-brand-popover-width-md);
382
+ --haus-popover-width-lg: var(--haus-brand-popover-width-lg);
383
+ --haus-popover-width-xl: var(--haus-brand-popover-width-xl);
376
384
 
377
385
  /* ── Stacking ────────────────────────────────────────────────────────────
378
386
  Named for what sits at each height, rather than for the number. The
package/dist/tokens.json CHANGED
@@ -586,6 +586,21 @@
586
586
  "modal-width-lg": {
587
587
  "$value": "var(--haus-overlay-width-lg)"
588
588
  },
589
+ "modal-width-xl": {
590
+ "$value": "var(--haus-overlay-width-xl)"
591
+ },
592
+ "popover-width-sm": {
593
+ "$value": "var(--haus-panel-width-sm)"
594
+ },
595
+ "popover-width-md": {
596
+ "$value": "var(--haus-panel-width-md)"
597
+ },
598
+ "popover-width-lg": {
599
+ "$value": "var(--haus-panel-width-lg)"
600
+ },
601
+ "popover-width-xl": {
602
+ "$value": "var(--haus-panel-width-xl)"
603
+ },
589
604
  "font-sans": {
590
605
  "$value": "'Manrope', system-ui, sans-serif"
591
606
  },
@@ -886,6 +901,30 @@
886
901
  "lg": {
887
902
  "$value": "45rem",
888
903
  "$description": "720px, Modal lg. Code, tables and previews."
904
+ },
905
+ "xl": {
906
+ "$value": "56rem",
907
+ "$description": "896px, Modal xl. Wide dashboards and side-by-side previews. Added when a second consumer's four-step scale met haus's three: the fourth is haus's now rather than the consumer's."
908
+ }
909
+ },
910
+ "panelWidth": {
911
+ "$type": "dimension",
912
+ "$description": "How wide a small floating panel is allowed to get: Popover, and the themed popup a Listbox opens. The popover-scale sibling of overlayWidth, kept separate because a popover holding a form is a different order of size from a modal, and read through --haus-popover-width-* in semantics.css the way overlayWidth is read through --haus-modal-width-*.",
913
+ "sm": {
914
+ "$value": "11.25rem",
915
+ "$description": "180px, Popover sm. A short action menu."
916
+ },
917
+ "md": {
918
+ "$value": "16.25rem",
919
+ "$description": "260px, Popover md, the default."
920
+ },
921
+ "lg": {
922
+ "$value": "21.25rem",
923
+ "$description": "340px, Popover lg. A panel holding a form."
924
+ },
925
+ "xl": {
926
+ "$value": "26.25rem",
927
+ "$description": "420px, Popover xl. The two-line option rows a Listbox draws."
889
928
  }
890
929
  },
891
930
  "size": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "haus-tokens",
3
- "version": "3.2.0",
3
+ "version": "4.1.0",
4
4
  "description": "haus design tokens: OKLCH colour, type, spacing, radius, shadow and motion, as W3C-DTCG JSON, CSS custom properties, and typed JS constants.",
5
5
  "license": "MIT",
6
6
  "engines": {
@@ -1,128 +0,0 @@
1
- /* ─── haus / brand · drift ────────────────────────────────────────────────────
2
- Drift's palette, stated as brand inputs.
3
-
4
- Until 2026-09-08 these fifty-four lived in drift's own semantics.css as role
5
- overrides, resolved through cascade order rather than supplied through the
6
- contract. That shape had already produced one defect on the record: Badge and
7
- Input rendered in haus's aronia purple inside a cool blue product, because
8
- drift declared --color-surface-default and haus-components read
9
- --haus-color-surface-default, so the cascade order decided nothing.
10
-
11
- It is a cool, editorial reading of the same primitives haus ships. It invents
12
- no colour: every value here is a step of a haus ramp, which is what makes it a
13
- brand rather than a second palette. Drift's own faces and its four --shadow-*
14
- steps stay in the product, because those are not colour and the brand contract
15
- covers colour, radius, elevation and modal width. The radius and elevation
16
- halves arrive with drift#53 / D3.
17
-
18
- backdrop reads --haus-opacity-60 rather than the --haus-opacity-overlay role
19
- it used in drift: a brand supplies inputs and may not read the role layer it
20
- feeds. Same value, correct layer.
21
-
22
- The feedback tier is supplied in full. Drift has all four notification
23
- semantics and uses them on the audit screen, so the optional half of the
24
- contract is not optional here.
25
- ─────────────────────────────────────────────────────────────────────────── */
26
-
27
- @layer haus.brand {
28
-
29
- [data-haus-theme='drift'] {
30
-
31
- /* ── Surfaces ────────────────────────────────────────────────────────── */
32
- --haus-brand-surface-default: var(--haus-damson-0);
33
- --haus-brand-surface-subtle: var(--haus-damson-100);
34
- --haus-brand-surface-raised: var(--haus-damson-0); /* elevation via shadow, not colour */
35
- --haus-brand-surface-overlay: var(--haus-damson-50); /* modal / popover, barely off-white */
36
- --haus-brand-surface-sunken: var(--haus-damson-200);
37
- --haus-brand-surface-inverse: var(--haus-damson-900); /* dark chip, tooltip bg in light mode */
38
- --haus-brand-surface-disabled: var(--haus-damson-100); /* ── Ink (text) ───────────────────────────────────────────────────────── */
39
- --haus-brand-surface-inverse-hover: oklch(from var(--haus-damson-0) l c h / 0.10); /* ── Spacing ──────────────────────────────────────────────────────────── */
40
-
41
- /* ── Ink ─────────────────────────────────────────────────────────────── */
42
- --haus-brand-ink-primary: var(--haus-damson-900);
43
- --haus-brand-ink-secondary: var(--haus-damson-700);
44
- --haus-brand-ink-tertiary: var(--haus-damson-500);
45
- --haus-brand-ink-disabled: var(--haus-damson-400);
46
- --haus-brand-ink-inverse: var(--haus-damson-0);
47
- --haus-brand-ink-link: var(--haus-aronia-500);
48
- --haus-brand-ink-on-primary: var(--haus-damson-0); /* ── Border ───────────────────────────────────────────────────────────── */
49
-
50
- /* ── Borders ─────────────────────────────────────────────────────────── */
51
- --haus-brand-border-subtle: var(--haus-damson-100);
52
- --haus-brand-border-default: var(--haus-damson-200);
53
- --haus-brand-border-strong: var(--haus-damson-300);
54
- --haus-brand-border-disabled: var(--haus-damson-200); /* ── Primary, Aronia ─────────────────────────────────────────────────── */
55
- --haus-brand-border-inverse: oklch(from var(--haus-damson-0) l c h / 0.30);
56
- --haus-brand-border-inverse-hover: oklch(from var(--haus-damson-0) l c h / 0.50);
57
-
58
- /* ── Primary ─────────────────────────────────────────────────────────── */
59
- --haus-brand-primary-default: var(--haus-aronia-500);
60
- --haus-brand-primary-hover: var(--haus-aronia-600);
61
- --haus-brand-primary-pressed: var(--haus-aronia-700);
62
- --haus-brand-primary-subtle: var(--haus-aronia-100);
63
- --haus-brand-primary-on-subtle: var(--haus-aronia-700);
64
- --haus-brand-primary-disabled: var(--haus-damson-200); /* ── Feedback, Info (Elderberry · Indigo) ────────────────────────────── */
65
-
66
- /* ── Backdrop ────────────────────────────────────────────────────────── */
67
- --haus-brand-backdrop: oklch(from var(--haus-damson-950) l c h / var(--haus-opacity-60)); /* ── Inverse surface interactions (UI placed on dark/inverted surfaces) ── */
68
-
69
- /* ── Info ────────────────────────────────────────────────────────────── */
70
- --haus-brand-info-subtle: var(--haus-elderberry-100);
71
- --haus-brand-info-border: var(--haus-elderberry-200);
72
- --haus-brand-info-default: var(--haus-elderberry-500);
73
- --haus-brand-info-on-subtle: var(--haus-elderberry-700);
74
- --haus-brand-info-on-default: var(--haus-damson-0);
75
- --haus-brand-info-emphasis: var(--haus-elderberry-900); /* ── Feedback, Success (Greengage · Green) ───────────────────────────── */
76
-
77
- /* ── Success ─────────────────────────────────────────────────────────── */
78
- --haus-brand-success-subtle: var(--haus-greengage-100);
79
- --haus-brand-success-border: var(--haus-greengage-200);
80
- --haus-brand-success-default: var(--haus-greengage-500);
81
- --haus-brand-success-on-subtle: var(--haus-greengage-700);
82
- --haus-brand-success-on-default: var(--haus-damson-900); /* dark text, greengage-500 fails with white */
83
- --haus-brand-success-solid: var(--haus-greengage-700); /* 700-level: white text passes at 6.82:1 */
84
- --haus-brand-success-emphasis: var(--haus-greengage-900); /* ── Feedback, Warning (Mango · Golden) ──────────────────────────────── */
85
-
86
- /* ── Warning ─────────────────────────────────────────────────────────── */
87
- --haus-brand-warning-subtle: var(--haus-mango-100);
88
- --haus-brand-warning-border: var(--haus-mango-200);
89
- --haus-brand-warning-default: var(--haus-mango-500);
90
- --haus-brand-warning-on-subtle: var(--haus-mango-700);
91
- --haus-brand-warning-on-default: var(--haus-damson-900); /* dark text, mango-500 fails with white */
92
- --haus-brand-warning-solid: var(--haus-mango-700); /* 700-level: white text passes at 7.05:1 */
93
- --haus-brand-warning-emphasis: var(--haus-mango-900); /* ── Feedback, Error (Cherry · Red) ─────────────────────────────────── */
94
-
95
- /* ── Error ───────────────────────────────────────────────────────────── */
96
- --haus-brand-error-subtle: var(--haus-cherry-100);
97
- --haus-brand-error-border: var(--haus-cherry-200);
98
- --haus-brand-error-default: var(--haus-cherry-500);
99
- --haus-brand-error-on-subtle: var(--haus-cherry-700);
100
- --haus-brand-error-on-default: var(--haus-damson-0);
101
- --haus-brand-error-emphasis: var(--haus-cherry-900); /* ── Backdrop (Modal, Drawer, etc.) ──────────────────────────────────── */
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
-
127
- }
128
- }