@juwel-development/design-system 3.0.0 → 3.2.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.
Files changed (40) hide show
  1. package/README.md +31 -0
  2. package/dist/design-system.js +219 -128
  3. package/dist/index.css +1 -1
  4. package/dist/types/Arrangement/Cluster/Cluster.d.ts +50 -0
  5. package/dist/types/Arrangement/Stack/Stack.d.ts +51 -0
  6. package/dist/types/Display/Figure/Figure.d.ts +21 -4
  7. package/dist/types/Display/Rail/Rail.d.ts +6 -0
  8. package/dist/types/Display/Typography/H1/H1.d.ts +7 -1
  9. package/dist/types/Display/Typography/Note/Note.d.ts +35 -0
  10. package/dist/types/Interaction/Link/Link.d.ts +4 -4
  11. package/dist/types/Layout/Cover/Cover.d.ts +48 -0
  12. package/dist/types/Layout/Form/Form.d.ts +8 -4
  13. package/dist/types/Layout/Header/Header.d.ts +20 -1
  14. package/dist/types/Layout/Hero/Hero.d.ts +9 -7
  15. package/dist/types/Layout/Section/Section.d.ts +7 -0
  16. package/dist/types/Theme/Palette.d.ts +55 -6
  17. package/dist/types/index.d.ts +4 -0
  18. package/package.json +1 -1
  19. package/src/Arrangement/Cluster/Cluster.tsx +80 -0
  20. package/src/Arrangement/Stack/Stack.tsx +81 -0
  21. package/src/Display/Figure/Figure.tsx +48 -7
  22. package/src/Display/Rail/Rail.tsx +6 -0
  23. package/src/Display/Typography/H1/H1.tsx +17 -7
  24. package/src/Display/Typography/Note/Note.tsx +56 -0
  25. package/src/Interaction/Button/Button.tsx +4 -1
  26. package/src/Interaction/Input/Input.tsx +17 -6
  27. package/src/Interaction/Link/Link.tsx +9 -5
  28. package/src/Interaction/TextArea/TextArea.tsx +17 -6
  29. package/src/Layout/Cover/Cover.tsx +85 -0
  30. package/src/Layout/Form/Form.tsx +24 -8
  31. package/src/Layout/Header/Header.tsx +37 -4
  32. package/src/Layout/Hero/Hero.tsx +10 -6
  33. package/src/Layout/PageHead/PageHead.tsx +2 -0
  34. package/src/Layout/Section/Section.tsx +11 -0
  35. package/src/Theme/Palette.ts +63 -14
  36. package/src/Theme/renderTokens.ts +37 -7
  37. package/src/index.ts +4 -0
  38. package/src/tokens.css +29 -10
  39. package/src/tokens.dark.css +25 -6
  40. package/src/tokens.light.css +25 -6
@@ -46,61 +46,112 @@ var s = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, c = o, l = (e
46
46
  r
47
47
  ] : e;
48
48
  }, []), n?.class, n?.className);
49
- }, u = l("inline-flex", { variants: { cut: {
49
+ }, u = l("flex flex-wrap items-baseline gap-y-[var(--space-stack)]", {
50
+ variants: {
51
+ gap: {
52
+ stack: "gap-x-[var(--space-stack)]",
53
+ region: "gap-x-[var(--space-region)]"
54
+ },
55
+ justify: {
56
+ start: "",
57
+ between: "justify-between"
58
+ }
59
+ },
60
+ defaultVariants: {
61
+ gap: "region",
62
+ justify: "start"
63
+ }
64
+ }), d = ({ gap: t, justify: n, children: r, testId: i }) => /* @__PURE__ */ e("div", {
65
+ className: u({
66
+ gap: t,
67
+ justify: n
68
+ }),
69
+ "data-testid": i,
70
+ children: r
71
+ }), f = l("flex", {
72
+ variants: {
73
+ gap: {
74
+ stack: "gap-[var(--space-stack)]",
75
+ region: "gap-[var(--space-region)]"
76
+ },
77
+ measure: {
78
+ true: "max-w-[var(--measure)]",
79
+ false: "",
80
+ action: "w-full max-w-[var(--measure-action)]"
81
+ },
82
+ direction: {
83
+ column: "flex-col",
84
+ split: "flex-col lg:flex-row lg:items-start"
85
+ }
86
+ },
87
+ defaultVariants: {
88
+ gap: "stack",
89
+ measure: !1,
90
+ direction: "column"
91
+ }
92
+ }), p = ({ gap: t, measure: n, direction: r, children: i, testId: a }) => /* @__PURE__ */ e("div", {
93
+ className: f({
94
+ gap: t,
95
+ measure: n,
96
+ direction: r
97
+ }),
98
+ "data-testid": a,
99
+ children: i
100
+ }), m = l("inline-flex", { variants: { cut: {
50
101
  full: "",
51
102
  compact: ""
52
- } } }), d = ({ name: t, cut: n, children: r, testId: i }) => t === "" ? /* @__PURE__ */ e("span", {
103
+ } } }), h = ({ name: t, cut: n, children: r, testId: i }) => t === "" ? /* @__PURE__ */ e("span", {
53
104
  "aria-hidden": "true",
54
105
  "data-cut": n,
55
- className: u({ cut: n }),
106
+ className: m({ cut: n }),
56
107
  "data-testid": i,
57
108
  children: r
58
109
  }) : /* @__PURE__ */ e("span", {
59
110
  role: "img",
60
111
  "aria-label": t,
61
112
  "data-cut": n,
62
- className: u({ cut: n }),
113
+ className: m({ cut: n }),
63
114
  "data-testid": i,
64
115
  children: r
65
- }), f = l("m-0 list-none p-0"), p = l([
116
+ }), g = l("m-0 list-none p-0"), _ = l([
66
117
  "flex items-start gap-3 font-primary text-body leading-body text-foreground",
67
118
  "before:mt-[0.35em] before:size-[calc(var(--tick-length)*0.7)] before:shrink-0 before:rotate-45 before:[border-top:var(--tick-thickness)_solid_var(--color-rule)] before:[border-right:var(--tick-thickness)_solid_var(--color-rule)] before:content-['']",
68
119
  "[&:not(:first-child)]:mt-[var(--space-stack)] [&:not(:first-child)]:border-border [&:not(:first-child)]:border-t [&:not(:first-child)]:border-solid [&:not(:first-child)]:pt-[var(--space-stack)]"
69
- ].join(" ")), m = {
120
+ ].join(" ")), v = {
70
121
  Root: ({ children: t, testId: n }) => /* @__PURE__ */ e("ul", {
71
- className: f(),
122
+ className: g(),
72
123
  role: "list",
73
124
  "data-testid": n,
74
125
  children: t
75
126
  }),
76
127
  Item: ({ children: t }) => /* @__PURE__ */ e("li", {
77
- className: p(),
128
+ className: _(),
78
129
  children: t
79
130
  })
80
- }, h = l([
131
+ }, y = l([
81
132
  "grid gap-[var(--space-stack)] py-6",
82
133
  "border-b border-solid border-border first:border-t",
83
134
  "lg:grid-cols-[16rem_minmax(0,1fr)] lg:items-baseline lg:gap-x-12",
84
135
  "lg:[&>dt]:col-start-1 lg:[&>dd]:col-start-2 lg:[&>dd]:row-start-1"
85
- ].join(" ")), g = l("font-primary text-subtitle leading-subtitle text-foreground"), _ = l("font-primary text-body leading-body text-muted max-w-[var(--measure)]"), v = {
136
+ ].join(" ")), b = l("font-primary text-subtitle leading-subtitle text-foreground"), x = l("font-primary text-body leading-body text-muted max-w-[var(--measure)]"), S = {
86
137
  Root: ({ children: t, testId: n }) => /* @__PURE__ */ e("dl", {
87
138
  "data-testid": n,
88
139
  children: t
89
140
  }),
90
141
  Item: ({ children: t, testId: n }) => /* @__PURE__ */ e("div", {
91
- className: h(),
142
+ className: y(),
92
143
  "data-testid": n,
93
144
  children: t
94
145
  }),
95
146
  Term: ({ children: t }) => /* @__PURE__ */ e("dt", {
96
- className: g(),
147
+ className: b(),
97
148
  children: t
98
149
  }),
99
150
  Description: ({ children: t }) => /* @__PURE__ */ e("dd", {
100
- className: _(),
151
+ className: x(),
101
152
  children: t
102
153
  })
103
- }, y = l("block w-full object-cover bg-backing", {
154
+ }, C = l("block w-full object-cover bg-backing", {
104
155
  variants: {
105
156
  ratio: {
106
157
  portrait: "aspect-portrait",
@@ -117,46 +168,50 @@ var s = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, c = o, l = (e
117
168
  }
118
169
  },
119
170
  defaultVariants: { focus: "center" }
120
- }), b = ({ src: n, alt: r, width: i, height: a, ratio: o, focus: s, responsive: c, caption: l, priority: u, testId: d }) => {
121
- let f = /* @__PURE__ */ e("img", {
171
+ }), w = ({ src: n, alt: r, width: i, height: a, ratio: o, focus: s, responsive: c, caption: l, overlay: u, priority: d, testId: f }) => {
172
+ let p = u != null && typeof u != "boolean", m = /* @__PURE__ */ e("img", {
122
173
  src: n,
123
174
  alt: r,
124
175
  width: i,
125
176
  height: a,
126
- className: y({
177
+ className: C({
127
178
  ratio: o,
128
179
  focus: s
129
180
  }),
130
181
  srcSet: c?.srcSet,
131
182
  sizes: c?.sizes,
132
- loading: u ? "eager" : "lazy",
133
- fetchPriority: u ? "high" : void 0,
183
+ loading: d ? "eager" : "lazy",
184
+ fetchPriority: d ? "high" : void 0,
134
185
  decoding: "async",
135
- "data-testid": l === void 0 ? d : void 0
136
- });
137
- return l === void 0 ? f : /* @__PURE__ */ t("figure", {
186
+ "data-testid": l === void 0 && !p ? f : void 0
187
+ }), h = p ? /* @__PURE__ */ t("div", {
188
+ className: "relative",
189
+ "data-testid": l === void 0 ? f : void 0,
190
+ children: [m, u]
191
+ }) : m;
192
+ return l === void 0 ? h : /* @__PURE__ */ t("figure", {
138
193
  className: "flex flex-col gap-[var(--space-stack)]",
139
- "data-testid": d,
140
- children: [f, /* @__PURE__ */ e("figcaption", {
194
+ "data-testid": f,
195
+ children: [h, /* @__PURE__ */ e("figcaption", {
141
196
  className: "font-secondary text-label tracking-label text-muted",
142
197
  children: l
143
198
  })]
144
199
  });
145
- }, x = l(["grid gap-[var(--space-stack)]", "lg:grid-cols-[10rem_minmax(0,1fr)] lg:items-start lg:gap-x-12"].join(" ")), S = l("lg:sticky lg:top-6"), C = l("block border-b border-solid border-border pb-1 font-secondary text-label tracking-label text-muted"), w = l("block pt-1 font-secondary text-label tracking-label text-foreground"), T = {
200
+ }, T = l(["grid gap-[var(--space-stack)]", "lg:grid-cols-[10rem_minmax(0,1fr)] lg:items-start lg:gap-x-12"].join(" ")), E = l("lg:sticky lg:top-6"), ee = l("block border-b border-solid border-border pb-1 font-secondary text-label tracking-label text-muted"), te = l("block pt-1 font-secondary text-label tracking-label text-foreground"), D = {
146
201
  Root: ({ children: t, testId: n }) => /* @__PURE__ */ e("div", {
147
- className: x(),
202
+ className: T(),
148
203
  "data-testid": n,
149
204
  children: t
150
205
  }),
151
206
  Index: ({ number: n, children: r, testId: i }) => /* @__PURE__ */ t("div", {
152
- className: S(),
207
+ className: E(),
153
208
  "data-testid": i,
154
209
  "aria-hidden": "true",
155
210
  children: [n !== void 0 && /* @__PURE__ */ e("span", {
156
- className: C(),
211
+ className: ee(),
157
212
  children: n
158
213
  }), /* @__PURE__ */ e("span", {
159
- className: w(),
214
+ className: te(),
160
215
  children: r
161
216
  })]
162
217
  }),
@@ -164,7 +219,7 @@ var s = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, c = o, l = (e
164
219
  "data-testid": n,
165
220
  children: t
166
221
  })
167
- }, E = l([
222
+ }, O = l([
168
223
  "[&:not([data-notes])]:overflow-x-auto",
169
224
  "[&>table]:w-full [&>table]:border-collapse [&>table]:text-left",
170
225
  "[&_caption]:pb-3 [&_caption]:text-left [&_caption]:font-secondary [&_caption]:text-label [&_caption]:tracking-label [&_caption]:text-muted",
@@ -173,7 +228,7 @@ var s = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, c = o, l = (e
173
228
  "[&[data-notes=content]>table]:max-md:block",
174
229
  "[&[data-notes=content]_thead]:max-md:block [&[data-notes=content]_tbody]:max-md:block [&[data-notes=content]_tfoot]:max-md:block",
175
230
  "[&[data-notes=content]_tr]:max-md:block [&[data-notes=content]_td]:max-md:block [&[data-notes=content]_th]:max-md:block"
176
- ].join(" ")), ee = l("border-t border-solid border-border"), D = l("px-4 py-2 text-small first:pl-0 last:pr-0", {
231
+ ].join(" ")), k = l("border-t border-solid border-border"), A = l("px-4 py-2 text-small first:pl-0 last:pr-0", {
177
232
  variants: {
178
233
  variant: {
179
234
  value: "font-primary text-foreground tabular-nums",
@@ -189,24 +244,24 @@ var s = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, c = o, l = (e
189
244
  variant: "value",
190
245
  align: "left"
191
246
  }
192
- }), O = l("px-4 py-2 font-secondary font-medium text-label text-muted tracking-label first:pl-0 last:pr-0", {
247
+ }), j = l("px-4 py-2 font-secondary font-medium text-label text-muted tracking-label first:pl-0 last:pr-0", {
193
248
  variants: { align: {
194
249
  left: "text-left",
195
250
  right: "text-right",
196
251
  center: "text-center"
197
252
  } },
198
253
  defaultVariants: { align: "left" }
199
- }), k = {
254
+ }), M = {
200
255
  Root: ({ caption: n, notes: r, children: i, testId: a }) => {
201
256
  let o = /* @__PURE__ */ t("table", { children: [/* @__PURE__ */ e("caption", { children: n }), i] });
202
257
  return r === void 0 ? /* @__PURE__ */ e("section", {
203
- className: E(),
258
+ className: O(),
204
259
  "data-testid": a,
205
260
  "aria-label": n,
206
261
  tabIndex: 0,
207
262
  children: o
208
263
  }) : /* @__PURE__ */ e("div", {
209
- className: E(),
264
+ className: O(),
210
265
  "data-notes": r,
211
266
  "data-testid": a,
212
267
  children: o
@@ -216,150 +271,160 @@ var s = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, c = o, l = (e
216
271
  Body: ({ children: t }) => /* @__PURE__ */ e("tbody", { children: t }),
217
272
  Footer: ({ children: t }) => /* @__PURE__ */ e("tfoot", { children: t }),
218
273
  Row: ({ children: t, testId: n }) => /* @__PURE__ */ e("tr", {
219
- className: ee(),
274
+ className: k(),
220
275
  "data-testid": n,
221
276
  children: t
222
277
  }),
223
278
  HeaderCell: ({ scope: t, align: n, children: r }) => /* @__PURE__ */ e("th", {
224
279
  scope: t,
225
- className: O({ align: n }),
280
+ className: j({ align: n }),
226
281
  children: r
227
282
  }),
228
283
  Cell: ({ variant: t, align: n, children: r }) => /* @__PURE__ */ e("td", {
229
- className: D({
284
+ className: A({
230
285
  variant: t,
231
286
  align: n
232
287
  }),
233
288
  "data-variant": t ?? "value",
234
289
  children: r
235
290
  })
236
- }, A = l("font-secondary text-label tracking-label font-medium", {
291
+ }, N = l("font-secondary text-label tracking-label font-medium", {
237
292
  variants: { color: {
238
293
  foreground: "text-foreground",
239
294
  muted: "text-muted"
240
295
  } },
241
296
  defaultVariants: { color: "muted" }
242
- }), j = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("p", {
243
- className: A({ color: n }),
297
+ }), P = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("p", {
298
+ className: N({ color: n }),
244
299
  "data-testid": r,
245
300
  children: t
246
- }), M = l("font-primary text-display leading-display tracking-optical", {
301
+ }), F = l("font-primary text-display leading-display tracking-optical max-w-[var(--measure-display)]", {
247
302
  variants: { color: {
248
303
  foreground: "text-foreground",
249
304
  muted: "text-muted"
250
305
  } },
251
306
  defaultVariants: { color: "foreground" }
252
- }), N = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h1", {
253
- className: M({ color: n }),
307
+ }), I = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h1", {
308
+ className: F({ color: n }),
254
309
  "data-testid": r,
255
310
  children: t
256
- }), P = l("font-primary text-title leading-title tracking-optical", {
311
+ }), L = l("font-primary text-title leading-title tracking-optical", {
257
312
  variants: { color: {
258
313
  foreground: "text-foreground",
259
314
  muted: "text-muted"
260
315
  } },
261
316
  defaultVariants: { color: "foreground" }
262
- }), F = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h2", {
263
- className: P({ color: n }),
317
+ }), R = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h2", {
318
+ className: L({ color: n }),
264
319
  "data-testid": r,
265
320
  children: t
266
- }), I = l("font-primary text-subtitle leading-subtitle", {
321
+ }), z = l("font-primary text-subtitle leading-subtitle", {
267
322
  variants: { color: {
268
323
  foreground: "text-foreground",
269
324
  muted: "text-muted"
270
325
  } },
271
326
  defaultVariants: { color: "foreground" }
272
- }), L = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h3", {
273
- className: I({ color: n }),
327
+ }), B = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h3", {
328
+ className: z({ color: n }),
274
329
  "data-testid": r,
275
330
  children: t
276
- }), R = l("font-primary text-body leading-body font-bold", {
331
+ }), V = l("font-primary text-body leading-body font-bold", {
277
332
  variants: { color: {
278
333
  foreground: "text-foreground",
279
334
  muted: "text-muted"
280
335
  } },
281
336
  defaultVariants: { color: "foreground" }
282
- }), z = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h4", {
283
- className: R({ color: n }),
337
+ }), H = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h4", {
338
+ className: V({ color: n }),
284
339
  "data-testid": r,
285
340
  children: t
286
- }), B = l("font-primary text-body leading-body font-semibold", {
341
+ }), U = l("font-primary text-body leading-body font-semibold", {
287
342
  variants: { color: {
288
343
  foreground: "text-foreground",
289
344
  muted: "text-muted"
290
345
  } },
291
346
  defaultVariants: { color: "foreground" }
292
- }), V = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h5", {
293
- className: B({ color: n }),
347
+ }), W = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h5", {
348
+ className: U({ color: n }),
294
349
  "data-testid": r,
295
350
  children: t
296
- }), H = l("font-primary text-body leading-body font-medium", {
351
+ }), G = l("font-primary text-body leading-body font-medium", {
297
352
  variants: { color: {
298
353
  foreground: "text-foreground",
299
354
  muted: "text-muted"
300
355
  } },
301
356
  defaultVariants: { color: "foreground" }
302
- }), U = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h6", {
303
- className: H({ color: n }),
357
+ }), K = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("h6", {
358
+ className: G({ color: n }),
304
359
  "data-testid": r,
305
360
  children: t
306
- }), W = l("font-primary text-body leading-body", {
361
+ }), q = l("font-secondary text-small", {
307
362
  variants: { color: {
308
363
  foreground: "text-foreground",
309
364
  muted: "text-muted"
310
365
  } },
311
366
  defaultVariants: { color: "foreground" }
312
- }), G = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("p", {
313
- className: W({ color: n }),
367
+ }), J = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("p", {
368
+ className: q({ color: n }),
314
369
  "data-testid": r,
315
370
  children: t
316
- }), K = l("flex max-w-[var(--measure)] flex-col gap-[var(--space-stack)]"), q = l("font-primary text-lede leading-lede text-foreground"), J = l("font-primary text-body leading-body", {
371
+ }), Y = l("font-primary text-body leading-body", {
317
372
  variants: { color: {
318
373
  foreground: "text-foreground",
319
374
  muted: "text-muted"
320
375
  } },
321
376
  defaultVariants: { color: "foreground" }
322
- }), Y = l("font-primary text-small text-muted"), X = {
377
+ }), X = ({ children: t, color: n, testId: r }) => /* @__PURE__ */ e("p", {
378
+ className: Y({ color: n }),
379
+ "data-testid": r,
380
+ children: t
381
+ }), Z = l("flex max-w-[var(--measure)] flex-col gap-[var(--space-stack)]"), Q = l("font-primary text-lede leading-lede text-foreground"), ne = l("font-primary text-body leading-body", {
382
+ variants: { color: {
383
+ foreground: "text-foreground",
384
+ muted: "text-muted"
385
+ } },
386
+ defaultVariants: { color: "foreground" }
387
+ }), re = l("font-primary text-small text-muted"), ie = {
323
388
  Root: ({ children: t, testId: n }) => /* @__PURE__ */ e("div", {
324
- className: K(),
389
+ className: Z(),
325
390
  "data-testid": n,
326
391
  children: t
327
392
  }),
328
393
  Lede: ({ children: t }) => /* @__PURE__ */ e("p", {
329
- className: q(),
394
+ className: Q(),
330
395
  children: t
331
396
  }),
332
397
  Body: ({ color: t, children: n }) => /* @__PURE__ */ e("p", {
333
- className: J({ color: t }),
398
+ className: ne({ color: t }),
334
399
  children: n
335
400
  }),
336
401
  Tail: ({ children: t }) => /* @__PURE__ */ e("p", {
337
- className: Y(),
402
+ className: re(),
338
403
  children: t
339
404
  })
340
- }, te = l("transition-colors duration-[var(--motion-duration-color)] rounded-[var(--radius-control)] py-2 sm:py-2 disabled:bg-disabled disabled:hover:bg-disabled-hover cursor-pointer disabled:cursor-not-allowed select-none text-nowrap inline-flex flex-row items-center justify-center gap-2 outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)]", {
405
+ }, ae = l("font-primary text-body transition-colors duration-[var(--motion-duration-color)] rounded-[var(--radius-control)] py-2 sm:py-2 disabled:bg-disabled disabled:hover:bg-disabled-hover cursor-pointer disabled:cursor-not-allowed select-none text-nowrap inline-flex flex-row items-center justify-center gap-2 outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)]", {
341
406
  variants: { variant: {
342
407
  primary: "px-4 sm:px-6 min-w-[var(--control-min-width)] bg-primary text-primary-foreground hover:bg-primary-hover",
343
408
  secondary: "px-4 sm:px-6 min-w-[var(--control-min-width)] bg-secondary text-secondary-foreground hover:bg-secondary-hover",
344
409
  ghost: "px-2 min-w-0 bg-transparent text-foreground hover:underline hover:decoration-[length:var(--underline-thickness)] hover:underline-offset-[var(--underline-offset)]"
345
410
  } },
346
411
  defaultVariants: { variant: "primary" }
347
- }), Z = ({ children: t, disabled: n, testId: r, variant: i, onClick$: a, ariaLabel: o, type: s = "button" }) => /* @__PURE__ */ e("button", {
412
+ }), oe = ({ children: t, disabled: n, testId: r, variant: i, onClick$: a, ariaLabel: o, type: s = "button" }) => /* @__PURE__ */ e("button", {
348
413
  type: s,
349
414
  "data-testid": r,
350
- className: te({ variant: i }),
415
+ className: ae({ variant: i }),
351
416
  onClick: () => a?.next(),
352
417
  disabled: n,
353
418
  "aria-label": o,
354
419
  children: t
355
- }), Q = l("block w-full rounded-[var(--radius-control)] border border-solid border-control-border bg-transparent px-3 py-2 text-foreground transition-colors duration-[var(--motion-duration-color)] outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)] [&:user-invalid]:border-error aria-[invalid=true]:border-error disabled:cursor-not-allowed disabled:border-disabled disabled:text-muted", {
420
+ }), se = l("block w-full rounded-[var(--radius-control)] border border-solid border-control-border bg-transparent px-3 py-2 font-primary text-body text-foreground transition-colors duration-[var(--motion-duration-color)] outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)] [&:user-invalid]:border-error aria-[invalid=true]:border-error disabled:cursor-not-allowed disabled:border-disabled disabled:text-muted", {
356
421
  variants: { variant: {
357
422
  text: "",
358
423
  email: "",
359
424
  url: ""
360
425
  } },
361
426
  defaultVariants: { variant: "text" }
362
- }), ne = ({ label: a, name: o, variant: s, required: c, optionalLabel: l, invalid: u, disabled: d, defaultValue: f, placeholder: p, autocomplete: m, hint: h, errorMessage: g, onInput$: _, reset$: v, testId: y }) => {
427
+ }), ce = ({ label: a, name: o, variant: s, required: c, optionalLabel: l, invalid: u, disabled: d, defaultValue: f, placeholder: p, autocomplete: m, hint: h, errorMessage: g, onInput$: _, reset$: v, testId: y }) => {
363
428
  let b = r(), x = `${b}-control`, S = `${b}-hint`, C = `${b}-error`, w = [h ? S : void 0, u ? C : void 0].filter(Boolean).join(" ") || void 0, T = i(null);
364
429
  return n(() => {
365
430
  let e = v?.subscribe(() => {
@@ -371,7 +436,7 @@ var s = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, c = o, l = (e
371
436
  children: [
372
437
  /* @__PURE__ */ e("label", {
373
438
  htmlFor: x,
374
- className: "font-medium text-foreground",
439
+ className: "font-secondary font-medium text-body text-foreground",
375
440
  children: a
376
441
  }),
377
442
  /* @__PURE__ */ e("input", {
@@ -379,7 +444,7 @@ var s = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, c = o, l = (e
379
444
  id: x,
380
445
  name: o,
381
446
  type: s ?? "text",
382
- className: Q({ variant: s }),
447
+ className: se({ variant: s }),
383
448
  required: c,
384
449
  disabled: d,
385
450
  defaultValue: f,
@@ -391,38 +456,38 @@ var s = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, c = o, l = (e
391
456
  onInput: (e) => _?.next(e.currentTarget.value)
392
457
  }),
393
458
  !c && l && /* @__PURE__ */ e("span", {
394
- className: "text-muted text-sm",
459
+ className: "font-secondary text-muted text-small",
395
460
  children: l
396
461
  }),
397
462
  h && /* @__PURE__ */ e("p", {
398
463
  id: S,
399
- className: "text-muted text-sm",
464
+ className: "font-secondary text-muted text-small",
400
465
  children: h
401
466
  }),
402
467
  u && /* @__PURE__ */ e("p", {
403
468
  id: C,
404
- className: "text-error text-sm",
469
+ className: "font-secondary text-error text-small",
405
470
  children: g
406
471
  })
407
472
  ]
408
473
  });
409
- }, re = l("outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)]", {
474
+ }, le = l("outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)]", {
410
475
  variants: { treatment: {
411
476
  prose: "text-link underline decoration-[length:var(--underline-thickness)] underline-offset-[var(--underline-offset)] hover:decoration-[length:var(--underline-thickness-hover)]",
412
- quiet: "text-muted no-underline decoration-[length:var(--underline-thickness)] underline-offset-[var(--underline-offset)] transition-colors duration-[var(--motion-duration-color)] hover:text-foreground hover:underline",
477
+ quiet: "font-secondary text-muted no-underline decoration-[length:var(--underline-thickness)] underline-offset-[var(--underline-offset)] transition-colors duration-[var(--motion-duration-color)] hover:text-foreground hover:underline",
413
478
  "label-link": "text-inherit no-underline decoration-[length:var(--underline-thickness)] underline-offset-[var(--underline-offset)] hover:underline",
414
479
  graphic: "text-inherit no-underline"
415
480
  } },
416
481
  defaultVariants: { treatment: "prose" }
417
- }), ie = ({ href: t, children: n, treatment: r, external: i, current: a, testId: o }) => /* @__PURE__ */ e("a", {
482
+ }), ue = ({ href: t, children: n, treatment: r, external: i, current: a, testId: o }) => /* @__PURE__ */ e("a", {
418
483
  href: t,
419
- className: re({ treatment: r }),
484
+ className: le({ treatment: r }),
420
485
  target: i ? "_blank" : void 0,
421
486
  rel: i ? "noopener noreferrer" : void 0,
422
487
  "aria-current": a ? "page" : void 0,
423
488
  "data-testid": o,
424
489
  children: n
425
- }), ae = l("block min-h-24 w-full rounded-[var(--radius-control)] border border-solid border-control-border bg-transparent px-3 py-2 text-foreground transition-colors duration-[var(--motion-duration-color)] outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)] [&:user-invalid]:border-error aria-[invalid=true]:border-error disabled:cursor-not-allowed disabled:border-disabled disabled:text-muted"), oe = ({ label: a, name: o, required: s, optionalLabel: c, invalid: l, disabled: u, defaultValue: d, placeholder: f, autocomplete: p, hint: m, errorMessage: h, onInput$: g, reset$: _, testId: v }) => {
490
+ }), de = l("block min-h-24 w-full rounded-[var(--radius-control)] border border-solid border-control-border bg-transparent px-3 py-2 font-primary text-body text-foreground transition-colors duration-[var(--motion-duration-color)] outline-focus-ring outline-offset-[var(--focus-ring-offset)] focus-visible:outline focus-visible:outline-[length:var(--focus-ring-width)] [&:user-invalid]:border-error aria-[invalid=true]:border-error disabled:cursor-not-allowed disabled:border-disabled disabled:text-muted"), fe = ({ label: a, name: o, required: s, optionalLabel: c, invalid: l, disabled: u, defaultValue: d, placeholder: f, autocomplete: p, hint: m, errorMessage: h, onInput$: g, reset$: _, testId: v }) => {
426
491
  let y = r(), b = `${y}-control`, x = `${y}-hint`, S = `${y}-error`, C = [m ? x : void 0, l ? S : void 0].filter(Boolean).join(" ") || void 0, w = i(null);
427
492
  return n(() => {
428
493
  let e = _?.subscribe(() => {
@@ -434,14 +499,14 @@ var s = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, c = o, l = (e
434
499
  children: [
435
500
  /* @__PURE__ */ e("label", {
436
501
  htmlFor: b,
437
- className: "font-medium text-foreground",
502
+ className: "font-secondary font-medium text-body text-foreground",
438
503
  children: a
439
504
  }),
440
505
  /* @__PURE__ */ e("textarea", {
441
506
  ref: w,
442
507
  id: b,
443
508
  name: o,
444
- className: ae(),
509
+ className: de(),
445
510
  required: s,
446
511
  disabled: u,
447
512
  defaultValue: d,
@@ -453,32 +518,46 @@ var s = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, c = o, l = (e
453
518
  onInput: (e) => g?.next(e.currentTarget.value)
454
519
  }),
455
520
  !s && c && /* @__PURE__ */ e("span", {
456
- className: "text-muted text-sm",
521
+ className: "font-secondary text-muted text-small",
457
522
  children: c
458
523
  }),
459
524
  m && /* @__PURE__ */ e("p", {
460
525
  id: x,
461
- className: "text-muted text-sm",
526
+ className: "font-secondary text-muted text-small",
462
527
  children: m
463
528
  }),
464
529
  l && /* @__PURE__ */ e("p", {
465
530
  id: S,
466
- className: "text-error text-sm",
531
+ className: "font-secondary text-error text-small",
467
532
  children: h
468
533
  })
469
534
  ]
470
535
  });
471
- }, se = l("font-secondary text-small text-muted py-[var(--space-region)] px-[var(--gutter)]", {
536
+ }, pe = l([
537
+ "flex flex-col items-center",
538
+ "min-h-[var(--cover-height)]",
539
+ "px-[var(--gutter)] py-[var(--space-region)]"
540
+ ].join(" ")), me = "my-auto", he = ({ children: n, foot: r, testId: i }) => {
541
+ let a = r != null && typeof r != "boolean";
542
+ return /* @__PURE__ */ t("div", {
543
+ className: pe(),
544
+ "data-testid": i,
545
+ children: [/* @__PURE__ */ e("div", {
546
+ className: me,
547
+ children: n
548
+ }), a && /* @__PURE__ */ e("div", { children: r })]
549
+ });
550
+ }, ge = l("font-secondary text-small text-muted py-[var(--space-region)] px-[var(--gutter)]", {
472
551
  variants: { edge: {
473
552
  none: "",
474
553
  rule: "border-t border-solid border-rule"
475
554
  } },
476
555
  defaultVariants: { edge: "rule" }
477
- }), ce = ({ edge: t, children: n, testId: r }) => /* @__PURE__ */ e("footer", {
478
- className: se({ edge: t }),
556
+ }), _e = ({ edge: t, children: n, testId: r }) => /* @__PURE__ */ e("footer", {
557
+ className: ge({ edge: t }),
479
558
  "data-testid": r,
480
559
  children: n
481
- }), le = l("text-sm", {
560
+ }), ve = l("font-secondary text-small", {
482
561
  variants: { state: {
483
562
  idle: "text-muted",
484
563
  sending: "text-muted",
@@ -486,12 +565,13 @@ var s = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, c = o, l = (e
486
565
  failed: "text-error"
487
566
  } },
488
567
  defaultVariants: { state: "idle" }
489
- }), ue = {
568
+ }), ye = {
490
569
  sent: "status",
491
570
  failed: "alert"
492
- }, de = ({ action: n, method: r = "post", state: i = "idle", children: a, actions: o, note: s, testId: c }) => {
493
- if (i === "sent" && !s) throw Error("Form in the `sent` state must be given a `note` - it is the outcome message.");
494
- let l = i !== "sent", u = ue[i];
571
+ }, be = ({ action: n, method: r = "post", state: i = "idle", children: a, actions: o, note: s, testId: c }) => {
572
+ let l = s != null && typeof s != "boolean";
573
+ if (i === "sent" && !l) throw Error("Form in the `sent` state must be given a `note` - it is the outcome message.");
574
+ let u = i !== "sent", d = ye[i];
495
575
  return /* @__PURE__ */ t("form", {
496
576
  action: n,
497
577
  method: r,
@@ -499,24 +579,24 @@ var s = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, c = o, l = (e
499
579
  "data-testid": c,
500
580
  className: "flex max-w-[var(--measure)] flex-col gap-[var(--space-region)]",
501
581
  children: [
502
- l && /* @__PURE__ */ e("div", {
582
+ u && /* @__PURE__ */ e("div", {
503
583
  className: "flex flex-col gap-[var(--space-stack)]",
504
584
  children: a
505
585
  }),
506
- l && o && /* @__PURE__ */ e("div", {
586
+ u && o && /* @__PURE__ */ e("div", {
507
587
  className: "flex flex-row gap-[var(--space-stack)]",
508
588
  children: o
509
589
  }),
510
- s && /* @__PURE__ */ e("p", {
511
- role: u,
512
- className: le({ state: i }),
590
+ l && /* @__PURE__ */ e("p", {
591
+ role: d,
592
+ className: ve({ state: i }),
513
593
  children: s
514
594
  })
515
595
  ]
516
596
  });
517
- }, fe = l([
597
+ }, xe = l([
518
598
  "flex items-baseline justify-between",
519
- "font-secondary text-label tracking-label text-muted",
599
+ "font-secondary text-label leading-label tracking-label text-muted",
520
600
  "py-[var(--space-region)] px-[var(--gutter)]",
521
601
  "[&_[aria-current=page]]:text-foreground"
522
602
  ].join(" "), {
@@ -525,55 +605,66 @@ var s = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, c = o, l = (e
525
605
  rule: "border-b border-solid border-rule"
526
606
  } },
527
607
  defaultVariants: { edge: "rule" }
528
- }), pe = ({ edge: n, standing: r, navName: i, children: a, testId: o }) => /* @__PURE__ */ t("header", {
529
- className: fe({ edge: n }),
608
+ }), Se = [
609
+ "inline-flex shrink-0 items-center",
610
+ "min-h-[calc(var(--text-label)*var(--leading-label))]",
611
+ "min-w-[var(--standing-min-width)]"
612
+ ].join(" "), Ce = ({ edge: n, standing: r, navName: i, children: a, testId: o }) => /* @__PURE__ */ t("header", {
613
+ className: xe({ edge: n }),
530
614
  "data-testid": o,
531
- children: [/* @__PURE__ */ e("div", { children: r }), /* @__PURE__ */ e("nav", {
615
+ children: [/* @__PURE__ */ e("div", {
616
+ className: Se,
617
+ children: r
618
+ }), /* @__PURE__ */ e("nav", {
532
619
  "aria-label": i,
533
620
  className: "flex flex-wrap items-baseline gap-[var(--space-region)]",
534
621
  children: a
535
622
  })]
536
- }), $ = l("flex flex-col min-h-[var(--fold-height)] gap-[var(--space-stack)]", {
623
+ }), we = l("flex flex-col min-h-[var(--fold-height)] gap-[var(--space-stack)]", {
537
624
  variants: { place: {
538
625
  start: "justify-start",
539
626
  center: "justify-center",
540
627
  between: "justify-between"
541
628
  } },
542
629
  defaultVariants: { place: "center" }
543
- }), me = ({ place: t, children: n, testId: r }) => /* @__PURE__ */ e("div", {
544
- className: $({ place: t }),
630
+ }), Te = ({ place: t, children: n, testId: r }) => /* @__PURE__ */ e("div", {
631
+ className: we({ place: t }),
545
632
  "data-testid": r,
546
633
  children: n
547
- }), he = l("flex flex-col gap-[var(--space-stack)] py-[var(--space-band)] px-[var(--gutter)]"), ge = l("font-primary text-title leading-title tracking-optical text-foreground"), _e = l("font-primary text-lede leading-lede text-foreground max-w-[var(--measure-wide)]"), ve = l("font-primary text-small text-muted max-w-[var(--measure)]"), ye = ({ title: n, lede: r, intro: i, testId: a }) => /* @__PURE__ */ t("header", {
548
- className: he(),
634
+ }), Ee = l("flex flex-col gap-[var(--space-stack)] py-[var(--space-band)] px-[var(--gutter)]"), De = l("font-primary text-title leading-title tracking-optical text-foreground"), $ = l("font-primary text-lede leading-lede text-foreground max-w-[var(--measure-wide)]"), Oe = l("font-primary text-small text-muted max-w-[var(--measure)]"), ke = ({ title: n, lede: r, intro: i, testId: a }) => /* @__PURE__ */ t("header", {
635
+ className: Ee(),
549
636
  "data-testid": a,
550
637
  children: [
551
638
  /* @__PURE__ */ e("h1", {
552
- className: ge(),
639
+ className: De(),
553
640
  children: n
554
641
  }),
555
642
  r !== void 0 && /* @__PURE__ */ e("p", {
556
- className: _e(),
643
+ className: $(),
557
644
  children: r
558
645
  }),
559
646
  i !== void 0 && /* @__PURE__ */ e("p", {
560
- className: ve(),
647
+ className: Oe(),
561
648
  children: i
562
649
  })
563
650
  ]
564
- }), be = l(["py-[var(--space-band)]", "[[data-section]+&]:border-t [[data-section]+&]:border-solid [[data-section]+&]:border-rule"].join(" "), {
651
+ }), Ae = l([
652
+ "relative",
653
+ "py-[var(--space-band)]",
654
+ "[[data-section]+&]:border-t [[data-section]+&]:border-solid [[data-section]+&]:border-rule"
655
+ ].join(" "), {
565
656
  variants: { bleed: {
566
657
  inset: "px-[var(--gutter)]",
567
658
  full: ""
568
659
  } },
569
660
  defaultVariants: { bleed: "inset" }
570
- }), xe = ({ bleed: t, name: n, children: r, testId: i }) => /* @__PURE__ */ e("section", {
661
+ }), je = ({ bleed: t, name: n, children: r, testId: i }) => /* @__PURE__ */ e("section", {
571
662
  "data-section": "",
572
- className: be({ bleed: t }),
663
+ className: Ae({ bleed: t }),
573
664
  "aria-label": n,
574
665
  "data-testid": i,
575
666
  children: r
576
- }), Se = {
667
+ }), Me = {
577
668
  surface: "#ffffff",
578
669
  foreground: "#0f172a",
579
670
  muted: "#64748b",
@@ -581,11 +672,11 @@ var s = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, c = o, l = (e
581
672
  controlBorder: "#64748b",
582
673
  rule: "#808fa3",
583
674
  backing: "#f1f5f9",
584
- primary: "#8b5cf6",
585
- primaryHover: "#7c3aed",
675
+ primary: "#7c3aed",
676
+ primaryHover: "#6d28d9",
586
677
  primaryForeground: "#f8fafc",
587
- secondary: "#0ea5e9",
588
- secondaryHover: "#0284c7",
678
+ secondary: "#0369a1",
679
+ secondaryHover: "#075985",
589
680
  secondaryForeground: "#f8fafc",
590
681
  disabled: "#94a3b8",
591
682
  disabledHover: "#64748b",
@@ -595,7 +686,7 @@ var s = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, c = o, l = (e
595
686
  warning: "#f59e0b",
596
687
  error: "#d63384",
597
688
  info: "#06b6d4"
598
- }, Ce = {
689
+ }, Ne = {
599
690
  surface: "#0f172a",
600
691
  foreground: "#f8fafc",
601
692
  muted: "#94a3b8",
@@ -603,12 +694,12 @@ var s = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, c = o, l = (e
603
694
  controlBorder: "#94a3b8",
604
695
  rule: "#5b6a80",
605
696
  backing: "#1e293b",
606
- primary: "#7c3aed",
607
- primaryHover: "#8b5cf6",
608
- primaryForeground: "#f8fafc",
697
+ primary: "#8b5cf6",
698
+ primaryHover: "#a78bfa",
699
+ primaryForeground: "#020617",
609
700
  secondary: "#0284c7",
610
701
  secondaryHover: "#0ea5e9",
611
- secondaryForeground: "#f8fafc",
702
+ secondaryForeground: "#020617",
612
703
  disabled: "#475569",
613
704
  disabledHover: "#334155",
614
705
  focusRing: "#cbd5e1",
@@ -619,4 +710,4 @@ var s = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, c = o, l = (e
619
710
  info: "#22d3ee"
620
711
  };
621
712
  //#endregion
622
- export { d as Brandmark, Z as Button, m as Checklist, v as DefinitionList, j as Eyebrow, b as Figure, ce as Footer, de as Form, N as H1, F as H2, L as H3, z as H4, V as H5, U as H6, pe as Header, me as Hero, ne as Input, ie as Link, G as P, ye as PageHead, X as Prose, T as Rail, xe as Section, k as Table, oe as TextArea, Ce as dark, Se as light };
713
+ export { h as Brandmark, oe as Button, v as Checklist, d as Cluster, he as Cover, S as DefinitionList, P as Eyebrow, w as Figure, _e as Footer, be as Form, I as H1, R as H2, B as H3, H as H4, W as H5, K as H6, Ce as Header, Te as Hero, ce as Input, ue as Link, J as Note, X as P, ke as PageHead, ie as Prose, D as Rail, je as Section, p as Stack, M as Table, fe as TextArea, Ne as dark, Me as light };