lucent-ui 0.19.1 → 0.20.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/index.js CHANGED
@@ -146,7 +146,7 @@ function en() {
146
146
  /* @__PURE__ */ n("path", { d: "M12 2a10 10 0 0 1 10 10" })
147
147
  ] });
148
148
  }
149
- const Go = {
149
+ const Xo = {
150
150
  id: "button",
151
151
  name: "Button",
152
152
  tier: "atom",
@@ -341,7 +341,7 @@ const Go = {
341
341
  whiteSpace: "nowrap",
342
342
  userSelect: "none",
343
343
  flexShrink: 0
344
- }, A = { ...S, paddingLeft: ue[e], paddingRight: "2px" }, L = { ...S, paddingLeft: "2px", paddingRight: ue[e] };
344
+ }, A = { ...S, paddingLeft: ue[e], paddingRight: "2px" }, R = { ...S, paddingLeft: "2px", paddingRight: ue[e] };
345
345
  return /* @__PURE__ */ y("div", { style: { display: "flex", flexDirection: "column", gap: "var(--lucent-space-1)", width: "100%", ...d }, children: [
346
346
  t && /* @__PURE__ */ n(
347
347
  "label",
@@ -429,7 +429,7 @@ const Go = {
429
429
  alignItems: "center"
430
430
  }, children: i })
431
431
  ] }),
432
- s && /* @__PURE__ */ n("span", { style: L, children: s })
432
+ s && /* @__PURE__ */ n("span", { style: R, children: s })
433
433
  ]
434
434
  }
435
435
  ),
@@ -462,7 +462,7 @@ const Go = {
462
462
  }
463
463
  );
464
464
  ce.displayName = "Input";
465
- const _o = {
465
+ const Jo = {
466
466
  id: "input",
467
467
  name: "Input",
468
468
  tier: "atom",
@@ -596,7 +596,7 @@ const _o = {
596
596
  }
597
597
  );
598
598
  on.displayName = "Textarea";
599
- const Yo = {
599
+ const Zo = {
600
600
  id: "textarea",
601
601
  name: "Textarea",
602
602
  tier: "atom",
@@ -640,7 +640,7 @@ const Yo = {
640
640
  sm: { fontSize: "var(--lucent-font-size-xs)", padding: "0 var(--lucent-space-2)", height: "18px" },
641
641
  md: { fontSize: "var(--lucent-font-size-sm)", padding: "0 var(--lucent-space-2)", height: "22px" }
642
642
  };
643
- function Ko({ variant: e = "neutral", size: t = "md", dot: r = !1, children: o, style: a }) {
643
+ function Qo({ variant: e = "neutral", size: t = "md", dot: r = !1, children: o, style: a }) {
644
644
  const i = sn[e], l = ln[t];
645
645
  return /* @__PURE__ */ y("span", { style: {
646
646
  display: "inline-flex",
@@ -670,7 +670,7 @@ function Ko({ variant: e = "neutral", size: t = "md", dot: r = !1, children: o,
670
670
  o
671
671
  ] });
672
672
  }
673
- const Xo = {
673
+ const ei = {
674
674
  id: "badge",
675
675
  name: "Badge",
676
676
  tier: "atom",
@@ -879,7 +879,7 @@ function un({
879
879
  }
880
880
  ) : /* @__PURE__ */ n("span", { style: p, ...k, children: b });
881
881
  }
882
- const Jo = {
882
+ const ti = {
883
883
  id: "chip",
884
884
  name: "Chip",
885
885
  tier: "atom",
@@ -934,7 +934,7 @@ function hn(e, t) {
934
934
  const r = e.trim().split(/\s+/);
935
935
  return r.length === 1 ? (((o = r[0]) == null ? void 0 : o[0]) ?? "").toUpperCase() : ((((a = r[0]) == null ? void 0 : a[0]) ?? "") + (((i = r[r.length - 1]) == null ? void 0 : i[0]) ?? "")).toUpperCase();
936
936
  }
937
- function Zo({ src: e, alt: t, size: r = "md", initials: o, style: a, ...i }) {
937
+ function ni({ src: e, alt: t, size: r = "md", initials: o, style: a, ...i }) {
938
938
  const l = pn[r], s = hn(t, o), c = {
939
939
  width: l,
940
940
  height: l,
@@ -975,7 +975,7 @@ function Zo({ src: e, alt: t, size: r = "md", initials: o, style: a, ...i }) {
975
975
  }
976
976
  );
977
977
  }
978
- const Qo = {
978
+ const ai = {
979
979
  id: "avatar",
980
980
  name: "Avatar",
981
981
  tier: "atom",
@@ -1042,7 +1042,7 @@ function bn({ size: e = "md", label: t = "Loading…", color: r }) {
1042
1042
  /* @__PURE__ */ n("span", { style: { position: "absolute", width: 1, height: 1, overflow: "hidden", clip: "rect(0,0,0,0)", whiteSpace: "nowrap" }, children: t })
1043
1043
  ] });
1044
1044
  }
1045
- const ei = {
1045
+ const ri = {
1046
1046
  id: "spinner",
1047
1047
  name: "Spinner",
1048
1048
  tier: "atom",
@@ -1067,7 +1067,7 @@ const ei = {
1067
1067
  notes: 'The visible SVG is aria-hidden. The label is conveyed via a visually-hidden span inside role="status".'
1068
1068
  }
1069
1069
  };
1070
- function ti({ orientation: e = "horizontal", label: t, spacing: r = "var(--lucent-space-4)", style: o }) {
1070
+ function oi({ orientation: e = "horizontal", label: t, spacing: r = "var(--lucent-space-4)", style: o }) {
1071
1071
  return e === "vertical" ? /* @__PURE__ */ n(
1072
1072
  "span",
1073
1073
  {
@@ -1122,7 +1122,7 @@ function ti({ orientation: e = "horizontal", label: t, spacing: r = "var(--lucen
1122
1122
  }
1123
1123
  );
1124
1124
  }
1125
- const ni = {
1125
+ const ii = {
1126
1126
  id: "divider",
1127
1127
  name: "Divider",
1128
1128
  tier: "atom",
@@ -1172,21 +1172,21 @@ const ni = {
1172
1172
  style: u,
1173
1173
  ...f
1174
1174
  }, h) => {
1175
- const m = V(null), T = c ?? `lucent-checkbox-${Math.random().toString(36).slice(2, 7)}`, v = vn[t], p = i !== void 0, [b, k] = z(l ?? !1), [x, M] = z(!1), S = p ? !!i : b, A = V(S), [L, C] = z(0);
1175
+ const m = V(null), T = c ?? `lucent-checkbox-${Math.random().toString(36).slice(2, 7)}`, v = vn[t], p = i !== void 0, [b, k] = z(l ?? !1), [x, M] = z(!1), S = p ? !!i : b, A = V(S), [R, C] = z(0);
1176
1176
  X(() => {
1177
- !s && A.current !== S && (A.current = S, C((R) => R + 1));
1177
+ !s && A.current !== S && (A.current = S, C((L) => L + 1));
1178
1178
  }, [S, s]);
1179
1179
  const D = ee(
1180
- (R) => {
1181
- m.current = R, typeof h == "function" ? h(R) : h && (h.current = R);
1180
+ (L) => {
1181
+ m.current = L, typeof h == "function" ? h(L) : h && (h.current = L);
1182
1182
  },
1183
1183
  [h]
1184
1184
  );
1185
1185
  X(() => {
1186
1186
  m.current && (m.current.indeterminate = r);
1187
1187
  }, [r]);
1188
- const $ = (R) => {
1189
- p || k(R.target.checked), d == null || d(R);
1188
+ const $ = (L) => {
1189
+ p || k(L.target.checked), d == null || d(L);
1190
1190
  }, W = s ? "var(--lucent-text-disabled)" : "var(--lucent-text-on-accent)", w = {
1191
1191
  width: v,
1192
1192
  height: v,
@@ -1203,8 +1203,8 @@ const ni = {
1203
1203
  flexShrink: 0,
1204
1204
  transition: "background var(--lucent-duration-fast) var(--lucent-easing-default), border-color var(--lucent-duration-fast) var(--lucent-easing-default)",
1205
1205
  // Re-key forces the animation to restart on every toggle.
1206
- animation: L > 0 ? "lucent-cb-pop 220ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards" : void 0
1207
- }, F = /* @__PURE__ */ y(
1206
+ animation: R > 0 ? "lucent-cb-pop 220ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards" : void 0
1207
+ }, P = /* @__PURE__ */ y(
1208
1208
  "label",
1209
1209
  {
1210
1210
  style: {
@@ -1255,7 +1255,7 @@ const ni = {
1255
1255
  children: /* @__PURE__ */ n("path", { d: "M2 5H8", stroke: W, strokeWidth: 1.5, strokeLinecap: "round" })
1256
1256
  }
1257
1257
  )
1258
- ] }, L),
1258
+ ] }, R),
1259
1259
  (e || a) && /* @__PURE__ */ y("span", { style: { display: "flex", flexDirection: "column" }, children: [
1260
1260
  e && /* @__PURE__ */ n("span", { style: {
1261
1261
  fontWeight: a ? "var(--lucent-font-weight-medium)" : "var(--lucent-font-weight-regular)",
@@ -1291,18 +1291,18 @@ const ni = {
1291
1291
  cursor: s ? "not-allowed" : "pointer",
1292
1292
  ...u
1293
1293
  },
1294
- onClick: (R) => {
1294
+ onClick: (L) => {
1295
1295
  var N;
1296
- s || R.target === R.currentTarget && ((N = m.current) == null || N.click());
1296
+ s || L.target === L.currentTarget && ((N = m.current) == null || N.click());
1297
1297
  },
1298
- children: F
1298
+ children: P
1299
1299
  }
1300
- ) : F
1300
+ ) : P
1301
1301
  ] });
1302
1302
  }
1303
1303
  );
1304
1304
  yt.displayName = "Checkbox";
1305
- const ai = {
1305
+ const si = {
1306
1306
  id: "checkbox",
1307
1307
  name: "Checkbox",
1308
1308
  tier: "atom",
@@ -1428,7 +1428,7 @@ const Sn = { sm: 14, md: 16, lg: 20 }, Tn = { sm: "calc(var(--lucent-space-8) *
1428
1428
  md: "var(--lucent-font-size-md)",
1429
1429
  lg: "var(--lucent-font-size-md)"
1430
1430
  };
1431
- function ri({ value: e, label: t, size: r = "md", contained: o = !1, helperText: a, disabled: i, id: l, onChange: s, checked: c, style: d, ...u }) {
1431
+ function li({ value: e, label: t, size: r = "md", contained: o = !1, helperText: a, disabled: i, id: l, onChange: s, checked: c, style: d, ...u }) {
1432
1432
  const f = fe(xt), h = l ?? `lucent-radio-${Math.random().toString(36).slice(2, 7)}`, m = Sn[r], [T, v] = z(!1), p = i ?? (f == null ? void 0 : f.disabled) ?? !1, b = f ? f.value === e : !!c, k = V(b), [x, M] = z(0);
1433
1433
  X(() => {
1434
1434
  !p && k.current !== b && (k.current = b, M((D) => D + 1));
@@ -1442,7 +1442,7 @@ function ri({ value: e, label: t, size: r = "md", contained: o = !1, helperText:
1442
1442
  background: p ? "var(--lucent-text-disabled)" : "var(--lucent-text-on-accent)",
1443
1443
  animation: b ? "lucent-radio-dot 200ms cubic-bezier(0.34, 1.56, 0.64, 1) forwards" : void 0,
1444
1444
  opacity: b ? 1 : 0
1445
- }, L = {
1445
+ }, R = {
1446
1446
  width: m,
1447
1447
  height: m,
1448
1448
  borderRadius: "50%",
@@ -1483,7 +1483,7 @@ function ri({ value: e, label: t, size: r = "md", contained: o = !1, helperText:
1483
1483
  ...u
1484
1484
  }
1485
1485
  ),
1486
- /* @__PURE__ */ n("span", { "aria-hidden": !0, style: L, children: /* @__PURE__ */ n("span", { style: A }) }, x),
1486
+ /* @__PURE__ */ n("span", { "aria-hidden": !0, style: R, children: /* @__PURE__ */ n("span", { style: A }) }, x),
1487
1487
  t || a ? /* @__PURE__ */ y("span", { style: { display: "flex", flexDirection: "column" }, children: [
1488
1488
  t && /* @__PURE__ */ n("span", { style: {
1489
1489
  fontWeight: a ? "var(--lucent-font-weight-medium)" : "var(--lucent-font-weight-regular)",
@@ -1527,7 +1527,7 @@ function ri({ value: e, label: t, size: r = "md", contained: o = !1, helperText:
1527
1527
  ) : C
1528
1528
  ] });
1529
1529
  }
1530
- function oi({
1530
+ function ci({
1531
1531
  defaultValue: e = "",
1532
1532
  onChange: t,
1533
1533
  ...r
@@ -1544,7 +1544,7 @@ function oi({
1544
1544
  }
1545
1545
  );
1546
1546
  }
1547
- const ii = {
1547
+ const di = {
1548
1548
  id: "radio",
1549
1549
  name: "Radio",
1550
1550
  tier: "atom",
@@ -1654,7 +1654,7 @@ const ii = {
1654
1654
  100% { transform: scale(1); }
1655
1655
  }
1656
1656
  `;
1657
- function si({
1657
+ function ui({
1658
1658
  label: e,
1659
1659
  size: t = "md",
1660
1660
  checked: r,
@@ -1668,17 +1668,17 @@ function si({
1668
1668
  style: u,
1669
1669
  ...f
1670
1670
  }) {
1671
- const h = c ?? `lucent-toggle-${Math.random().toString(36).slice(2, 7)}`, m = r !== void 0, [T, v] = z(o ?? !1), p = m ? !!r : T, [b, k] = z(!1), x = V(p), [M, S] = z(0), [A, L] = z(!1);
1671
+ const h = c ?? `lucent-toggle-${Math.random().toString(36).slice(2, 7)}`, m = r !== void 0, [T, v] = z(o ?? !1), p = m ? !!r : T, [b, k] = z(!1), x = V(p), [M, S] = z(0), [A, R] = z(!1);
1672
1672
  X(() => {
1673
1673
  if (!s && x.current !== p) {
1674
- x.current = p, S((U) => U + 1), L(!0);
1675
- const N = setTimeout(() => L(!1), 150);
1674
+ x.current = p, S((U) => U + 1), R(!0);
1675
+ const N = setTimeout(() => R(!1), 150);
1676
1676
  return () => clearTimeout(N);
1677
1677
  }
1678
1678
  }, [p, s]);
1679
1679
  const { track: [C, D], thumb: $ } = Mn[t], W = p ? C - $ - 2 : 2, w = (N) => {
1680
1680
  m || v(N.target.checked), d == null || d(N);
1681
- }, F = /* @__PURE__ */ y(
1681
+ }, P = /* @__PURE__ */ y(
1682
1682
  "span",
1683
1683
  {
1684
1684
  "aria-hidden": !0,
@@ -1722,7 +1722,7 @@ function si({
1722
1722
  )
1723
1723
  ]
1724
1724
  }
1725
- ), R = /* @__PURE__ */ y(
1725
+ ), L = /* @__PURE__ */ y(
1726
1726
  "label",
1727
1727
  {
1728
1728
  style: {
@@ -1752,7 +1752,7 @@ function si({
1752
1752
  ...f
1753
1753
  }
1754
1754
  ),
1755
- l === "left" && F,
1755
+ l === "left" && P,
1756
1756
  e || i ? /* @__PURE__ */ y("span", { style: { display: "flex", flexDirection: "column", flex: l === "right" ? 1 : void 0 }, children: [
1757
1757
  e && /* @__PURE__ */ n("span", { style: {
1758
1758
  fontWeight: i ? "var(--lucent-font-weight-medium)" : "var(--lucent-font-weight-regular)",
@@ -1764,7 +1764,7 @@ function si({
1764
1764
  marginTop: "2px"
1765
1765
  }, children: i })
1766
1766
  ] }) : null,
1767
- l === "right" && F
1767
+ l === "right" && P
1768
1768
  ]
1769
1769
  }
1770
1770
  );
@@ -1792,12 +1792,12 @@ function si({
1792
1792
  U == null || U.click();
1793
1793
  }
1794
1794
  },
1795
- children: R
1795
+ children: L
1796
1796
  }
1797
- ) : R
1797
+ ) : L
1798
1798
  ] });
1799
1799
  }
1800
- const li = {
1800
+ const pi = {
1801
1801
  id: "toggle",
1802
1802
  name: "Toggle",
1803
1803
  tier: "atom",
@@ -2028,7 +2028,7 @@ const li = {
2028
2028
  }
2029
2029
  );
2030
2030
  wt.displayName = "Select";
2031
- const ci = {
2031
+ const fi = {
2032
2032
  id: "select",
2033
2033
  name: "Select",
2034
2034
  tier: "atom",
@@ -2133,13 +2133,13 @@ const ci = {
2133
2133
  warning: { bg: "var(--lucent-warning-subtle)", color: "var(--lucent-warning-text)", border: "var(--lucent-warning-subtle)", dismissHover: "var(--lucent-warning-default)" },
2134
2134
  danger: { bg: "var(--lucent-danger-subtle)", color: "var(--lucent-danger-text)", border: "var(--lucent-danger-subtle)", dismissHover: "var(--lucent-danger-default)" },
2135
2135
  info: { bg: "var(--lucent-info-subtle)", color: "var(--lucent-info-text)", border: "var(--lucent-info-subtle)", dismissHover: "var(--lucent-info-default)" }
2136
- }, Bn = {
2136
+ }, qn = {
2137
2137
  sm: { fontSize: "var(--lucent-font-size-xs)", height: "20px", padding: "0 var(--lucent-space-3)", iconSize: 10, gap: "var(--lucent-space-1)" },
2138
2138
  md: { fontSize: "var(--lucent-font-size-sm)", height: "24px", padding: "0 var(--lucent-space-3)", iconSize: 12, gap: "var(--lucent-space-1)" },
2139
2139
  lg: { fontSize: "var(--lucent-font-size-md)", height: "28px", padding: "0 var(--lucent-space-4)", iconSize: 14, gap: "var(--lucent-space-2)" }
2140
2140
  };
2141
- function di({ children: e, variant: t = "neutral", size: r = "md", onDismiss: o, disabled: a }) {
2142
- const i = En[t], l = Bn[r], [s, c] = z(!1), d = !a && o;
2141
+ function hi({ children: e, variant: t = "neutral", size: r = "md", onDismiss: o, disabled: a }) {
2142
+ const i = En[t], l = qn[r], [s, c] = z(!1), d = !a && o;
2143
2143
  return /* @__PURE__ */ y(
2144
2144
  "span",
2145
2145
  {
@@ -2208,7 +2208,7 @@ function di({ children: e, variant: t = "neutral", size: r = "md", onDismiss: o,
2208
2208
  }
2209
2209
  );
2210
2210
  }
2211
- const ui = {
2211
+ const mi = {
2212
2212
  id: "tag",
2213
2213
  name: "Tag",
2214
2214
  tier: "atom",
@@ -2265,12 +2265,12 @@ const ui = {
2265
2265
  notes: 'The dismiss button has aria-label="Dismiss" and is keyboard-focusable.',
2266
2266
  keyboardInteractions: ["Enter / Space — activates the dismiss button when focused"]
2267
2267
  }
2268
- }, Q = 5, qn = {
2268
+ }, Q = 5, Bn = {
2269
2269
  top: { bottom: "100%", left: "50%", transform: "translateX(-50%)", marginBottom: Q + 3 },
2270
2270
  bottom: { top: "100%", left: "50%", transform: "translateX(-50%)", marginTop: Q + 3 },
2271
2271
  left: { right: "100%", top: "50%", transform: "translateY(-50%)", marginRight: Q + 3 },
2272
2272
  right: { left: "100%", top: "50%", transform: "translateY(-50%)", marginLeft: Q + 3 }
2273
- }, Ln = {
2273
+ }, Rn = {
2274
2274
  top: {
2275
2275
  bottom: -Q,
2276
2276
  left: "50%",
@@ -2300,7 +2300,7 @@ const ui = {
2300
2300
  borderColor: "transparent var(--lucent-text-primary) transparent transparent"
2301
2301
  }
2302
2302
  };
2303
- function pi({ content: e, children: t, placement: r = "top", delay: o = 300 }) {
2303
+ function gi({ content: e, children: t, placement: r = "top", delay: o = 300 }) {
2304
2304
  const [a, i] = z(!1), l = V(null), s = () => {
2305
2305
  l.current = setTimeout(() => i(!0), o);
2306
2306
  }, c = () => {
@@ -2322,7 +2322,7 @@ function pi({ content: e, children: t, placement: r = "top", delay: o = 300 }) {
2322
2322
  role: "tooltip",
2323
2323
  style: {
2324
2324
  position: "absolute",
2325
- ...qn[r],
2325
+ ...Bn[r],
2326
2326
  background: "var(--lucent-text-primary)",
2327
2327
  color: "var(--lucent-bg-base)",
2328
2328
  padding: "5px 10px",
@@ -2347,7 +2347,7 @@ function pi({ content: e, children: t, placement: r = "top", delay: o = 300 }) {
2347
2347
  width: 0,
2348
2348
  height: 0,
2349
2349
  borderStyle: "solid",
2350
- ...Ln[r]
2350
+ ...Rn[r]
2351
2351
  }
2352
2352
  }
2353
2353
  )
@@ -2358,7 +2358,7 @@ function pi({ content: e, children: t, placement: r = "top", delay: o = 300 }) {
2358
2358
  }
2359
2359
  ) : /* @__PURE__ */ n(oe, { children: t });
2360
2360
  }
2361
- const fi = {
2361
+ const bi = {
2362
2362
  id: "tooltip",
2363
2363
  name: "Tooltip",
2364
2364
  tier: "atom",
@@ -2407,15 +2407,15 @@ const fi = {
2407
2407
  ariaAttributes: ['role="tooltip"'],
2408
2408
  notes: 'The tooltip is shown on both hover and focus, making it accessible to keyboard users. Content is exposed via role="tooltip".'
2409
2409
  }
2410
- }, Rn = {
2410
+ }, Ln = {
2411
2411
  xs: 12,
2412
2412
  sm: 14,
2413
2413
  md: 16,
2414
2414
  lg: 20,
2415
2415
  xl: 24
2416
2416
  };
2417
- function hi({ children: e, size: t = "md", label: r, color: o, style: a }) {
2418
- const i = Rn[t];
2417
+ function vi({ children: e, size: t = "md", label: r, color: o, style: a }) {
2418
+ const i = Ln[t];
2419
2419
  return /* @__PURE__ */ n(
2420
2420
  "span",
2421
2421
  {
@@ -2436,7 +2436,7 @@ function hi({ children: e, size: t = "md", label: r, color: o, style: a }) {
2436
2436
  }
2437
2437
  );
2438
2438
  }
2439
- const mi = {
2439
+ const yi = {
2440
2440
  id: "icon",
2441
2441
  name: "Icon",
2442
2442
  tier: "atom",
@@ -2484,7 +2484,7 @@ const mi = {
2484
2484
  ariaAttributes: ["aria-label", "aria-hidden"],
2485
2485
  notes: 'aria-hidden="true" is applied automatically when no label is given, hiding the icon from screen readers.'
2486
2486
  }
2487
- }, Pn = {
2487
+ }, Fn = {
2488
2488
  primary: "var(--lucent-text-primary)",
2489
2489
  secondary: "var(--lucent-text-secondary)",
2490
2490
  disabled: "var(--lucent-text-disabled)",
@@ -2494,7 +2494,7 @@ const mi = {
2494
2494
  warning: "var(--lucent-warning-text)",
2495
2495
  danger: "var(--lucent-danger-text)",
2496
2496
  info: "var(--lucent-info-text)"
2497
- }, Fn = {
2497
+ }, Pn = {
2498
2498
  xs: "var(--lucent-font-size-xs)",
2499
2499
  sm: "var(--lucent-font-size-sm)",
2500
2500
  md: "var(--lucent-font-size-md)",
@@ -2530,9 +2530,9 @@ function _({
2530
2530
  ...u
2531
2531
  }) {
2532
2532
  const f = {
2533
- fontSize: Fn[t],
2533
+ fontSize: Pn[t],
2534
2534
  fontWeight: Nn[r],
2535
- color: Pn[o],
2535
+ color: Fn[o],
2536
2536
  textAlign: a,
2537
2537
  lineHeight: $n[i],
2538
2538
  fontFamily: Wn[l],
@@ -2546,7 +2546,7 @@ function _({
2546
2546
  };
2547
2547
  return /* @__PURE__ */ n(e, { style: f, ...u, children: c });
2548
2548
  }
2549
- const gi = {
2549
+ const xi = {
2550
2550
  id: "text",
2551
2551
  name: "Text",
2552
2552
  tier: "atom",
@@ -2644,7 +2644,7 @@ const gi = {
2644
2644
  notes: 'The rendered element determines the implicit ARIA role. Use heading elements (h1–h6) for document headings so screen readers can navigate the page structure. Use `as="label"` with `htmlFor` to associate labels with form controls. Decorative text needs no additional ARIA.'
2645
2645
  }
2646
2646
  };
2647
- function bi({
2647
+ function wi({
2648
2648
  children: e,
2649
2649
  href: t,
2650
2650
  isActive: r = !1,
@@ -2790,7 +2790,7 @@ const On = { sm: "3px", md: "4px", lg: "5px" }, Hn = { sm: "14px", md: "18px", l
2790
2790
  cursor: not-allowed;
2791
2791
  }
2792
2792
  `;
2793
- function vi({
2793
+ function ki({
2794
2794
  label: e,
2795
2795
  showValue: t = !1,
2796
2796
  size: r = "md",
@@ -2885,7 +2885,7 @@ function vi({
2885
2885
  )
2886
2886
  ] });
2887
2887
  }
2888
- const yi = {
2888
+ const Si = {
2889
2889
  id: "slider",
2890
2890
  name: "Slider",
2891
2891
  tier: "atom",
@@ -2991,7 +2991,7 @@ function Un() {
2991
2991
  function Gn() {
2992
2992
  return /* @__PURE__ */ n("svg", { width: 13, height: 13, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2.5, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": !0, children: /* @__PURE__ */ n("path", { d: "M20 6L9 17l-5-5" }) });
2993
2993
  }
2994
- function xi({
2994
+ function Ti({
2995
2995
  code: e,
2996
2996
  language: t,
2997
2997
  tabs: r,
@@ -3205,7 +3205,7 @@ function xi({
3205
3205
  }
3206
3206
  );
3207
3207
  }
3208
- const wi = {
3208
+ const Ci = {
3209
3209
  id: "code-block",
3210
3210
  name: "CodeBlock",
3211
3211
  tier: "atom",
@@ -3381,7 +3381,7 @@ xe.Body = Kn;
3381
3381
  xe.Foot = Xn;
3382
3382
  xe.Row = Jn;
3383
3383
  xe.Cell = Zn;
3384
- const ki = {
3384
+ const Ii = {
3385
3385
  id: "table",
3386
3386
  name: "Table",
3387
3387
  tier: "atom",
@@ -3685,7 +3685,7 @@ const ze = pe(({
3685
3685
  );
3686
3686
  });
3687
3687
  ze.displayName = "ColorSwatch";
3688
- function Be(e, t, r) {
3688
+ function qe(e, t, r) {
3689
3689
  return Math.max(t, Math.min(r, e));
3690
3690
  }
3691
3691
  function oa(e, t, r) {
@@ -3724,7 +3724,7 @@ function St(e) {
3724
3724
  };
3725
3725
  }
3726
3726
  function _e({ r: e, g: t, b: r, a: o }) {
3727
- const a = (l) => Be(Math.round(l), 0, 255).toString(16).padStart(2, "0"), i = `#${a(e)}${a(t)}${a(r)}`;
3727
+ const a = (l) => qe(Math.round(l), 0, 255).toString(16).padStart(2, "0"), i = `#${a(e)}${a(t)}${a(r)}`;
3728
3728
  return o < 1 ? `${i}${a(Math.round(o * 255))}` : i;
3729
3729
  }
3730
3730
  function Tt({ h: e, s: t, v: r, a: o }) {
@@ -3777,7 +3777,7 @@ const la = [
3777
3777
  ].join(", ");
3778
3778
  function st({ value: e, min: t, max: r, onChange: o, trackStyle: a, formatTooltip: i }) {
3779
3779
  const l = V(null), [s, c] = z(!1), d = ee((f) => {
3780
- const h = l.current.getBoundingClientRect(), m = Be((f.clientX - h.left) / h.width, 0, 1);
3780
+ const h = l.current.getBoundingClientRect(), m = qe((f.clientX - h.left) / h.width, 0, 1);
3781
3781
  o(t + m * (r - t));
3782
3782
  }, [t, r, o]), u = (e - t) / (r - t) * 100;
3783
3783
  return /* @__PURE__ */ n(
@@ -3850,14 +3850,14 @@ function ua({
3850
3850
  id: c,
3851
3851
  style: d
3852
3852
  }) {
3853
- var P, j;
3853
+ var F, j;
3854
3854
  const u = o === "sm" ? 24 : 40, f = ve(), h = c ?? f, [m, T] = z(!1), [v, p] = z("hex"), [b, k] = z(0), [x, M] = z(() => {
3855
3855
  const g = e ? ke(e) ?? { r: 0, g: 0, b: 0, a: 1 } : { r: 0, g: 0, b: 0, a: 1 };
3856
3856
  return re(g);
3857
- }), [S, A] = z(() => we(x).slice(1).toUpperCase()), L = V(null), C = V(null), D = V(null), [$, W] = z({ top: 0, left: 0 });
3857
+ }), [S, A] = z(() => we(x).slice(1).toUpperCase()), R = V(null), C = V(null), D = V(null), [$, W] = z({ top: 0, left: 0 });
3858
3858
  se(() => {
3859
- if (!m || !L.current) return;
3860
- const g = L.current.getBoundingClientRect();
3859
+ if (!m || !R.current) return;
3860
+ const g = R.current.getBoundingClientRect();
3861
3861
  let E = g.left;
3862
3862
  const O = g.bottom + 8;
3863
3863
  if (D.current) {
@@ -3874,7 +3874,7 @@ function ua({
3874
3874
  const g = (E) => {
3875
3875
  var Y, H;
3876
3876
  const O = E.target;
3877
- (Y = L.current) != null && Y.contains(O) || (H = D.current) != null && H.contains(O) || T(!1);
3877
+ (Y = R.current) != null && Y.contains(O) || (H = D.current) != null && H.contains(O) || T(!1);
3878
3878
  };
3879
3879
  return document.addEventListener("mousedown", g), () => document.removeEventListener("mousedown", g);
3880
3880
  }, [m]);
@@ -3882,26 +3882,26 @@ function ua({
3882
3882
  M(g);
3883
3883
  const E = we(g);
3884
3884
  A(E.slice(1).toUpperCase()), t == null || t(E);
3885
- }, [t]), F = ee((g) => {
3886
- const E = C.current.getBoundingClientRect(), O = Math.round(Be((g.clientX - E.left) / E.width, 0, 1) * 100), Y = Math.round((1 - Be((g.clientY - E.top) / E.height, 0, 1)) * 100);
3885
+ }, [t]), P = ee((g) => {
3886
+ const E = C.current.getBoundingClientRect(), O = Math.round(qe((g.clientX - E.left) / E.width, 0, 1) * 100), Y = Math.round((1 - qe((g.clientY - E.top) / E.height, 0, 1)) * 100);
3887
3887
  w({ ...x, s: O, v: Y });
3888
- }, [x, w]), R = ee(async () => {
3888
+ }, [x, w]), L = ee(async () => {
3889
3889
  if ("EyeDropper" in window)
3890
3890
  try {
3891
3891
  const g = await new window.EyeDropper().open(), E = ke(g.sRGBHex);
3892
3892
  E && w(re(E));
3893
3893
  } catch {
3894
3894
  }
3895
- }, [w]), N = Tt(x), U = sa(N.r, N.g, N.b), Z = we(x), J = we({ ...x, a: 1 }), q = Math.round(x.a * 100), I = [
3895
+ }, [w]), N = Tt(x), U = sa(N.r, N.g, N.b), Z = we(x), J = we({ ...x, a: 1 }), B = Math.round(x.a * 100), I = [
3896
3896
  { id: "hex", label: "Hex" },
3897
3897
  { id: "rgb", label: "RGB" },
3898
3898
  { id: "hsl", label: "HSL" },
3899
3899
  { id: "hsb", label: "HSB" }
3900
- ], B = typeof window < "u" && "EyeDropper" in window;
3900
+ ], q = typeof window < "u" && "EyeDropper" in window;
3901
3901
  return /* @__PURE__ */ y(
3902
3902
  "div",
3903
3903
  {
3904
- ref: L,
3904
+ ref: R,
3905
3905
  style: { display: "inline-flex", flexDirection: a ? "row" : "column", alignItems: a ? "center" : void 0, gap: "var(--lucent-space-1)", position: "relative", ...d },
3906
3906
  children: [
3907
3907
  /* @__PURE__ */ n("style", { children: `
@@ -3992,10 +3992,10 @@ function ua({
3992
3992
  flexShrink: 0
3993
3993
  },
3994
3994
  onPointerDown: (g) => {
3995
- g.currentTarget.setPointerCapture(g.pointerId), F(g);
3995
+ g.currentTarget.setPointerCapture(g.pointerId), P(g);
3996
3996
  },
3997
3997
  onPointerMove: (g) => {
3998
- g.buttons > 0 && F(g);
3998
+ g.buttons > 0 && P(g);
3999
3999
  },
4000
4000
  children: [
4001
4001
  /* @__PURE__ */ n("div", { style: { position: "absolute", inset: 0, background: "linear-gradient(to right, #fff, transparent)" } }),
@@ -4077,9 +4077,9 @@ function ua({
4077
4077
  {
4078
4078
  variant: "secondary",
4079
4079
  size: "sm",
4080
- onClick: R,
4081
- disabled: !B,
4082
- title: B ? "Pick color from screen" : "Not supported in this browser",
4080
+ onClick: L,
4081
+ disabled: !q,
4082
+ title: q ? "Pick color from screen" : "Not supported in this browser",
4083
4083
  leftIcon: /* @__PURE__ */ n(da, {}),
4084
4084
  style: { flexShrink: 0, paddingLeft: 8, paddingRight: 8 }
4085
4085
  }
@@ -4111,7 +4111,7 @@ function ua({
4111
4111
  size: "sm",
4112
4112
  type: "number",
4113
4113
  suffix: "%",
4114
- value: q,
4114
+ value: B,
4115
4115
  min: 0,
4116
4116
  max: 100,
4117
4117
  onChange: (g) => {
@@ -4127,7 +4127,7 @@ function ua({
4127
4127
  { label: "R", val: N.r, max: 255, fn: (g) => w(re({ ...N, r: g })) },
4128
4128
  { label: "G", val: N.g, max: 255, fn: (g) => w(re({ ...N, g })) },
4129
4129
  { label: "B", val: N.b, max: 255, fn: (g) => w(re({ ...N, b: g })) },
4130
- { label: "A", val: q, max: 100, fn: (g) => w({ ...x, a: g / 100 }) }
4130
+ { label: "A", val: B, max: 100, fn: (g) => w({ ...x, a: g / 100 }) }
4131
4131
  ].map(({ label: g, val: E, max: O, fn: Y }) => /* @__PURE__ */ n(ce, { size: "sm", type: "number", prefix: g, value: E, min: 0, max: O, onChange: (H) => {
4132
4132
  const G = +H.target.value;
4133
4133
  !isNaN(G) && G >= 0 && G <= O && Y(G);
@@ -4145,7 +4145,7 @@ function ua({
4145
4145
  const { r: E, g: O, b: Y } = Ae(U.h, U.s, g);
4146
4146
  w(re({ r: E, g: O, b: Y, a: x.a }));
4147
4147
  } },
4148
- { label: "A", val: q, max: 100, fn: (g) => w({ ...x, a: g / 100 }) }
4148
+ { label: "A", val: B, max: 100, fn: (g) => w({ ...x, a: g / 100 }) }
4149
4149
  ].map(({ label: g, val: E, max: O, fn: Y }) => /* @__PURE__ */ n(ce, { size: "sm", type: "number", prefix: g, value: E, min: 0, max: O, onChange: (H) => {
4150
4150
  const G = +H.target.value;
4151
4151
  !isNaN(G) && G >= 0 && G <= O && Y(G);
@@ -4154,7 +4154,7 @@ function ua({
4154
4154
  { label: "H", val: x.h, max: 360, fn: (g) => w({ ...x, h: g }) },
4155
4155
  { label: "S", val: x.s, max: 100, fn: (g) => w({ ...x, s: g }) },
4156
4156
  { label: "B", val: x.v, max: 100, fn: (g) => w({ ...x, v: g }) },
4157
- { label: "A", val: q, max: 100, fn: (g) => w({ ...x, a: g / 100 }) }
4157
+ { label: "A", val: B, max: 100, fn: (g) => w({ ...x, a: g / 100 }) }
4158
4158
  ].map(({ label: g, val: E, max: O, fn: Y }) => /* @__PURE__ */ n(ce, { size: "sm", type: "number", prefix: g, value: E, min: 0, max: O, onChange: (H) => {
4159
4159
  const G = +H.target.value;
4160
4160
  !isNaN(G) && G >= 0 && G <= O && Y(G);
@@ -4174,7 +4174,7 @@ function ua({
4174
4174
  fontWeight: "var(--lucent-font-weight-medium)",
4175
4175
  color: "var(--lucent-text-secondary)",
4176
4176
  fontFamily: "var(--lucent-font-family-base)"
4177
- }, children: (P = l[0]) == null ? void 0 : P.label }),
4177
+ }, children: (F = l[0]) == null ? void 0 : F.label }),
4178
4178
  /* @__PURE__ */ n("div", { style: { display: "flex", gap: 6, flexWrap: "wrap" }, children: (((j = l[b]) == null ? void 0 : j.colors) ?? []).map((g) => {
4179
4179
  const E = Je(g).toLowerCase() === Z.slice(0, 7).toLowerCase();
4180
4180
  return /* @__PURE__ */ n(
@@ -4199,7 +4199,7 @@ function ua({
4199
4199
  );
4200
4200
  }
4201
4201
  ua.displayName = "ColorPicker";
4202
- const Si = {
4202
+ const Mi = {
4203
4203
  id: "color-picker",
4204
4204
  name: "ColorPicker",
4205
4205
  tier: "atom",
@@ -4306,7 +4306,7 @@ const Si = {
4306
4306
  "Tab — moves through format tabs and input fields within the popover"
4307
4307
  ]
4308
4308
  }
4309
- }, Ti = {
4309
+ }, Di = {
4310
4310
  id: "color-swatch",
4311
4311
  name: "ColorSwatch",
4312
4312
  tier: "atom",
@@ -4341,7 +4341,7 @@ const Si = {
4341
4341
  ariaAttributes: ["title (tooltip)"],
4342
4342
  keyboardInteractions: ["Enter / Space — triggers onClick"]
4343
4343
  }
4344
- }, Ci = {
4344
+ }, zi = {
4345
4345
  id: "segmented-control",
4346
4346
  name: "SegmentedControl",
4347
4347
  tier: "atom",
@@ -4438,8 +4438,305 @@ const Si = {
4438
4438
  "Click — selects an option"
4439
4439
  ]
4440
4440
  }
4441
+ }, pa = {
4442
+ start: "flex-start",
4443
+ center: "center",
4444
+ end: "flex-end",
4445
+ stretch: "stretch",
4446
+ baseline: "baseline"
4447
+ }, fa = {
4448
+ start: "flex-start",
4449
+ center: "center",
4450
+ end: "flex-end",
4451
+ between: "space-between",
4452
+ around: "space-around"
4453
+ };
4454
+ function Ai({
4455
+ gap: e = "4",
4456
+ align: t = "stretch",
4457
+ justify: r = "start",
4458
+ as: o = "div",
4459
+ wrap: a = !1,
4460
+ children: i,
4461
+ style: l,
4462
+ ...s
4463
+ }) {
4464
+ const c = {
4465
+ display: "flex",
4466
+ flexDirection: "column",
4467
+ gap: `var(--lucent-space-${e})`,
4468
+ alignItems: pa[t],
4469
+ justifyContent: fa[r],
4470
+ ...a && { flexWrap: "wrap" },
4471
+ ...l
4472
+ };
4473
+ return /* @__PURE__ */ n(o, { style: c, ...s, children: i });
4474
+ }
4475
+ const Ei = {
4476
+ id: "stack",
4477
+ name: "Stack",
4478
+ tier: "atom",
4479
+ domain: "neutral",
4480
+ specVersion: "0.1",
4481
+ description: "Vertical flex layout primitive that spaces children using design-system gap tokens.",
4482
+ designIntent: "Stack is the primary vertical layout container. Use it any time you need to arrange elements in a column with consistent spacing — form fields, card content, page sections, sidebar navigation. The gap prop maps to spacing tokens (--lucent-space-*), enforcing consistent vertical rhythm without manual margin management. Prefer Stack over raw inline flex styles for maintainability and readability. Use Row (the horizontal counterpart) when items should flow left-to-right. Stack does not add padding — wrap it in a Card or apply padding on a parent container instead.",
4483
+ props: [
4484
+ {
4485
+ name: "gap",
4486
+ type: "enum",
4487
+ required: !1,
4488
+ default: "4",
4489
+ description: "Spacing between children. Maps to --lucent-space-{n} tokens.",
4490
+ enumValues: ["0", "1", "2", "3", "4", "5", "6", "8", "10", "12", "16", "20", "24"]
4491
+ },
4492
+ {
4493
+ name: "align",
4494
+ type: "enum",
4495
+ required: !1,
4496
+ default: "stretch",
4497
+ description: 'Cross-axis alignment (alignItems). "stretch" fills the container width.',
4498
+ enumValues: ["start", "center", "end", "stretch", "baseline"]
4499
+ },
4500
+ {
4501
+ name: "justify",
4502
+ type: "enum",
4503
+ required: !1,
4504
+ default: "start",
4505
+ description: "Main-axis distribution (justifyContent).",
4506
+ enumValues: ["start", "center", "end", "between", "around"]
4507
+ },
4508
+ {
4509
+ name: "as",
4510
+ type: "enum",
4511
+ required: !1,
4512
+ default: "div",
4513
+ description: "HTML element to render. Use semantic elements when appropriate (nav for navigation, form for forms).",
4514
+ enumValues: ["div", "section", "nav", "form", "fieldset", "ul", "ol"]
4515
+ },
4516
+ {
4517
+ name: "wrap",
4518
+ type: "boolean",
4519
+ required: !1,
4520
+ default: "false",
4521
+ description: "Whether children should wrap to the next line when they exceed the container width."
4522
+ },
4523
+ {
4524
+ name: "children",
4525
+ type: "ReactNode",
4526
+ required: !0,
4527
+ description: "The elements to arrange vertically."
4528
+ },
4529
+ {
4530
+ name: "style",
4531
+ type: "object",
4532
+ required: !1,
4533
+ description: "Inline style overrides. Applied after computed layout styles."
4534
+ },
4535
+ {
4536
+ name: "className",
4537
+ type: "string",
4538
+ required: !1,
4539
+ description: "CSS class name passthrough."
4540
+ }
4541
+ ],
4542
+ usageExamples: [
4543
+ {
4544
+ title: "Form layout",
4545
+ code: `<Stack gap="4">
4546
+ <FormField label="Name"><Input /></FormField>
4547
+ <FormField label="Email"><Input type="email" /></FormField>
4548
+ <Button variant="primary">Submit</Button>
4549
+ </Stack>`
4550
+ },
4551
+ {
4552
+ title: "Card content",
4553
+ code: `<Card padding="lg">
4554
+ <Stack gap="3">
4555
+ <Text as="h3" size="lg" weight="semibold">Title</Text>
4556
+ <Text size="sm" color="secondary">Description goes here.</Text>
4557
+ <Button variant="outline" size="sm">Learn more</Button>
4558
+ </Stack>
4559
+ </Card>`
4560
+ },
4561
+ {
4562
+ title: "Tight spacing",
4563
+ code: `<Stack gap="1">
4564
+ <Text size="sm" weight="medium">Label</Text>
4565
+ <Text size="xs" color="secondary">Helper text</Text>
4566
+ </Stack>`
4567
+ },
4568
+ {
4569
+ title: "Centered content",
4570
+ code: `<Stack gap="4" align="center" justify="center" style={{ minHeight: 200 }}>
4571
+ <Spinner />
4572
+ <Text color="secondary">Loading...</Text>
4573
+ </Stack>`
4574
+ },
4575
+ {
4576
+ title: "Semantic nav",
4577
+ code: `<Stack as="nav" gap="1">
4578
+ <NavLink href="/home">Home</NavLink>
4579
+ <NavLink href="/settings">Settings</NavLink>
4580
+ </Stack>`
4581
+ }
4582
+ ],
4583
+ compositionGraph: [],
4584
+ accessibility: {
4585
+ notes: "Stack renders a <div> by default, which has no implicit ARIA role. Use the `as` prop to render semantic elements (nav, section, form) when the content has a specific structural purpose. Add aria-label or aria-labelledby when using landmark elements."
4586
+ }
4587
+ }, ha = {
4588
+ start: "flex-start",
4589
+ center: "center",
4590
+ end: "flex-end",
4591
+ stretch: "stretch",
4592
+ baseline: "baseline"
4593
+ }, ma = {
4594
+ start: "flex-start",
4595
+ center: "center",
4596
+ end: "flex-end",
4597
+ between: "space-between",
4598
+ around: "space-around"
4599
+ };
4600
+ function qi({
4601
+ gap: e = "3",
4602
+ align: t = "center",
4603
+ justify: r = "start",
4604
+ as: o = "div",
4605
+ wrap: a = !1,
4606
+ children: i,
4607
+ style: l,
4608
+ ...s
4609
+ }) {
4610
+ const c = {
4611
+ display: "flex",
4612
+ flexDirection: "row",
4613
+ gap: `var(--lucent-space-${e})`,
4614
+ alignItems: ha[t],
4615
+ justifyContent: ma[r],
4616
+ ...a && { flexWrap: "wrap" },
4617
+ ...l
4618
+ };
4619
+ return /* @__PURE__ */ n(o, { style: c, ...s, children: i });
4620
+ }
4621
+ const Bi = {
4622
+ id: "row",
4623
+ name: "Row",
4624
+ tier: "atom",
4625
+ domain: "neutral",
4626
+ specVersion: "0.1",
4627
+ description: "Horizontal flex layout primitive that spaces children using design-system gap tokens.",
4628
+ designIntent: 'Row is the primary horizontal layout container. Use it any time you need to arrange elements side by side — button groups, label-value pairs, icon + text combos, toolbar actions. Default align is "center" (vertical centering), which is the most common horizontal layout need. Use justify="between" for space-between patterns like a header with title on the left and actions on the right. Set wrap=true when items should flow to the next line on narrow screens. Row does not add padding — wrap it in a Card or apply padding on a parent container instead. For vertical arrangement, use Stack instead.',
4629
+ props: [
4630
+ {
4631
+ name: "gap",
4632
+ type: "enum",
4633
+ required: !1,
4634
+ default: "3",
4635
+ description: "Spacing between children. Maps to --lucent-space-{n} tokens.",
4636
+ enumValues: ["0", "1", "2", "3", "4", "5", "6", "8", "10", "12", "16", "20", "24"]
4637
+ },
4638
+ {
4639
+ name: "align",
4640
+ type: "enum",
4641
+ required: !1,
4642
+ default: "center",
4643
+ description: 'Cross-axis alignment (alignItems). "center" vertically centers items, which is the most common need.',
4644
+ enumValues: ["start", "center", "end", "stretch", "baseline"]
4645
+ },
4646
+ {
4647
+ name: "justify",
4648
+ type: "enum",
4649
+ required: !1,
4650
+ default: "start",
4651
+ description: 'Main-axis distribution (justifyContent). Use "between" for label/action pairs.',
4652
+ enumValues: ["start", "center", "end", "between", "around"]
4653
+ },
4654
+ {
4655
+ name: "as",
4656
+ type: "enum",
4657
+ required: !1,
4658
+ default: "div",
4659
+ description: "HTML element to render. Use semantic elements when appropriate (nav for navigation, form for forms).",
4660
+ enumValues: ["div", "section", "nav", "form", "fieldset", "ul", "ol"]
4661
+ },
4662
+ {
4663
+ name: "wrap",
4664
+ type: "boolean",
4665
+ required: !1,
4666
+ default: "false",
4667
+ description: "Whether children should wrap to the next line when they exceed the container width."
4668
+ },
4669
+ {
4670
+ name: "children",
4671
+ type: "ReactNode",
4672
+ required: !0,
4673
+ description: "The elements to arrange horizontally."
4674
+ },
4675
+ {
4676
+ name: "style",
4677
+ type: "object",
4678
+ required: !1,
4679
+ description: "Inline style overrides. Applied after computed layout styles."
4680
+ },
4681
+ {
4682
+ name: "className",
4683
+ type: "string",
4684
+ required: !1,
4685
+ description: "CSS class name passthrough."
4686
+ }
4687
+ ],
4688
+ usageExamples: [
4689
+ {
4690
+ title: "Settings toggle",
4691
+ code: `<Row gap="3" justify="between">
4692
+ <Text size="sm">Push notifications</Text>
4693
+ <Toggle />
4694
+ </Row>`
4695
+ },
4696
+ {
4697
+ title: "Button group",
4698
+ code: `<Row gap="2">
4699
+ <Button variant="primary">Save</Button>
4700
+ <Button variant="outline">Cancel</Button>
4701
+ </Row>`
4702
+ },
4703
+ {
4704
+ title: "Stats row",
4705
+ code: `<Row gap="6" wrap>
4706
+ <Stack gap="1">
4707
+ <Text size="2xl" weight="bold">1,234</Text>
4708
+ <Text size="xs" color="secondary">Users</Text>
4709
+ </Stack>
4710
+ <Stack gap="1">
4711
+ <Text size="2xl" weight="bold">56.7%</Text>
4712
+ <Text size="xs" color="secondary">Conversion</Text>
4713
+ </Stack>
4714
+ </Row>`
4715
+ },
4716
+ {
4717
+ title: "Icon + text",
4718
+ code: `<Row gap="2" align="center">
4719
+ <Icon name="check" size={16} />
4720
+ <Text size="sm" color="success">Verified</Text>
4721
+ </Row>`
4722
+ },
4723
+ {
4724
+ title: "Header with actions",
4725
+ code: `<Row justify="between">
4726
+ <Text as="h2" size="xl" weight="semibold">Dashboard</Text>
4727
+ <Row gap="2">
4728
+ <Button variant="outline" size="sm">Export</Button>
4729
+ <Button variant="primary" size="sm">New report</Button>
4730
+ </Row>
4731
+ </Row>`
4732
+ }
4733
+ ],
4734
+ compositionGraph: [],
4735
+ accessibility: {
4736
+ notes: 'Row renders a <div> by default, which has no implicit ARIA role. Use the `as` prop to render semantic elements (nav, section) when the content has a specific structural purpose. For toolbar patterns, consider adding role="toolbar" via the role prop.'
4737
+ }
4441
4738
  };
4442
- function Ii({
4739
+ function Ri({
4443
4740
  label: e,
4444
4741
  htmlFor: t,
4445
4742
  required: r = !1,
@@ -4458,7 +4755,7 @@ function Ii({
4458
4755
  s && /* @__PURE__ */ n(_, { size: "xs", color: c, lineHeight: "tight", children: s })
4459
4756
  ] });
4460
4757
  }
4461
- const Mi = {
4758
+ const Li = {
4462
4759
  id: "form-field",
4463
4760
  name: "FormField",
4464
4761
  tier: "molecule",
@@ -4544,11 +4841,11 @@ const Mi = {
4544
4841
  ariaAttributes: ["aria-required", "aria-describedby"],
4545
4842
  notes: 'Link the wrapped control to an error message using aria-describedby on the control and a matching id on the error element for full screen reader support. The required asterisk is aria-hidden; set aria-required="true" on the control itself.'
4546
4843
  }
4547
- }, pa = { sm: 14, md: 18, lg: 20 }, fa = { sm: "sm", md: "md", lg: "md" }, ha = { sm: "var(--lucent-space-1)", md: "var(--lucent-space-2)", lg: "var(--lucent-space-2)" }, ma = ({ size: e = 16 }) => /* @__PURE__ */ y("svg", { width: e, height: e, viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
4844
+ }, ga = { sm: 14, md: 18, lg: 20 }, ba = { sm: "sm", md: "md", lg: "md" }, va = { sm: "var(--lucent-space-1)", md: "var(--lucent-space-2)", lg: "var(--lucent-space-2)" }, ya = ({ size: e = 16 }) => /* @__PURE__ */ y("svg", { width: e, height: e, viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
4548
4845
  /* @__PURE__ */ n("circle", { cx: "6.5", cy: "6.5", r: "4", stroke: "currentColor", strokeWidth: "1.5" }),
4549
4846
  /* @__PURE__ */ n("path", { d: "M9.5 9.5L13 13", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })
4550
- ] }), ga = () => /* @__PURE__ */ n("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ n("path", { d: "M3 3L11 11M11 3L3 11", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) });
4551
- function Di({
4847
+ ] }), xa = () => /* @__PURE__ */ n("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ n("path", { d: "M3 3L11 11M11 3L3 11", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) });
4848
+ function Fi({
4552
4849
  value: e,
4553
4850
  onChange: t,
4554
4851
  placeholder: r = "Search…",
@@ -4569,7 +4866,7 @@ function Di({
4569
4866
  const w = k.current.getBoundingClientRect();
4570
4867
  S({ top: w.bottom + 4, left: w.left, width: w.width });
4571
4868
  }, [A]);
4572
- const L = () => {
4869
+ const R = () => {
4573
4870
  t("");
4574
4871
  }, C = (w) => {
4575
4872
  c == null || c(w), T(!1);
@@ -4582,7 +4879,7 @@ function Di({
4582
4879
  {
4583
4880
  type: "button",
4584
4881
  "aria-label": "Clear search",
4585
- onClick: L,
4882
+ onClick: R,
4586
4883
  style: {
4587
4884
  display: "flex",
4588
4885
  alignItems: "center",
@@ -4599,7 +4896,7 @@ function Di({
4599
4896
  onMouseLeave: (w) => {
4600
4897
  w.currentTarget.style.color = "var(--lucent-text-secondary)";
4601
4898
  },
4602
- children: /* @__PURE__ */ n(ga, {})
4899
+ children: /* @__PURE__ */ n(xa, {})
4603
4900
  }
4604
4901
  ) : null;
4605
4902
  return /* @__PURE__ */ y("div", { ref: k, style: { ...h }, children: [
@@ -4613,7 +4910,7 @@ function Di({
4613
4910
  onChange: (w) => t(w.target.value),
4614
4911
  placeholder: r,
4615
4912
  disabled: u,
4616
- leftElement: /* @__PURE__ */ n(ma, { size: pa[o] }),
4913
+ leftElement: /* @__PURE__ */ n(ya, { size: ga[o] }),
4617
4914
  rightElement: W ?? void 0,
4618
4915
  onFocus: $,
4619
4916
  onBlur: D,
@@ -4640,24 +4937,24 @@ function Di({
4640
4937
  border: "1px solid color-mix(in srgb, var(--lucent-accent-default) 15%, var(--lucent-border-default))",
4641
4938
  borderRadius: "var(--lucent-radius-lg)",
4642
4939
  boxShadow: "0 0 24px -4px color-mix(in srgb, var(--lucent-accent-default) 12%, transparent), var(--lucent-shadow-md)",
4643
- padding: ha[o]
4940
+ padding: va[o]
4644
4941
  },
4645
- children: s.map((w, F) => /* @__PURE__ */ n(
4942
+ children: s.map((w, P) => /* @__PURE__ */ n(
4646
4943
  "div",
4647
4944
  {
4648
4945
  role: "option",
4649
4946
  "aria-selected": !1,
4650
4947
  onMouseDown: () => C(w),
4651
- onMouseEnter: () => p(F),
4948
+ onMouseEnter: () => p(P),
4652
4949
  onMouseLeave: () => p(null),
4653
4950
  style: {
4654
4951
  padding: "var(--lucent-space-2)",
4655
4952
  borderRadius: "var(--lucent-radius-md)",
4656
4953
  cursor: "pointer",
4657
- background: v === F ? "color-mix(in srgb, var(--lucent-accent-default) 20%, var(--lucent-surface-secondary))" : "transparent",
4954
+ background: v === P ? "color-mix(in srgb, var(--lucent-accent-default) 20%, var(--lucent-surface-secondary))" : "transparent",
4658
4955
  transition: "background var(--lucent-duration-fast) var(--lucent-easing-default)"
4659
4956
  },
4660
- children: /* @__PURE__ */ n(_, { as: "span", size: fa[o], children: w.label })
4957
+ children: /* @__PURE__ */ n(_, { as: "span", size: ba[o], children: w.label })
4661
4958
  },
4662
4959
  w.id
4663
4960
  ))
@@ -4667,7 +4964,7 @@ function Di({
4667
4964
  )
4668
4965
  ] });
4669
4966
  }
4670
- const zi = {
4967
+ const Pi = {
4671
4968
  id: "search-input",
4672
4969
  name: "SearchInput",
4673
4970
  tier: "molecule",
@@ -4789,7 +5086,7 @@ const [results, setResults] = useState([]);
4789
5086
  keyboardInteractions: ["Enter to select focused result", "Escape to close dropdown"],
4790
5087
  notes: 'The results list uses role="listbox" with role="option" items. For full keyboard navigation (arrow keys to move between results), wire up onKeyDown on the Input and manage an activeIndex state.'
4791
5088
  }
4792
- }, Ct = ye("0"), ba = {
5089
+ }, Ct = ye("0"), wa = {
4793
5090
  none: { py: "0", px: "0" },
4794
5091
  sm: { py: "var(--lucent-space-2)", px: "var(--lucent-space-3)" },
4795
5092
  md: { py: "var(--lucent-space-4)", px: "var(--lucent-space-5)" },
@@ -4799,17 +5096,17 @@ const [results, setResults] = useState([]);
4799
5096
  sm: "var(--lucent-shadow-sm)",
4800
5097
  md: "var(--lucent-shadow-md)",
4801
5098
  lg: "var(--lucent-shadow-lg)"
4802
- }, va = {
5099
+ }, ka = {
4803
5100
  none: "var(--lucent-radius-none)",
4804
5101
  sm: "var(--lucent-radius-sm)",
4805
5102
  md: "var(--lucent-radius-md)",
4806
5103
  lg: "var(--lucent-radius-lg)"
4807
- }, ya = {
5104
+ }, Sa = {
4808
5105
  success: "var(--lucent-success-default)",
4809
5106
  warning: "var(--lucent-warning-default)",
4810
5107
  danger: "var(--lucent-danger-default)",
4811
5108
  info: "var(--lucent-info-default)"
4812
- }, xa = {
5109
+ }, Ta = {
4813
5110
  ghost: {
4814
5111
  background: "transparent",
4815
5112
  border: "none",
@@ -4840,22 +5137,22 @@ const [results, setResults] = useState([]);
4840
5137
  shadowDefault: "none",
4841
5138
  dividers: !1
4842
5139
  }
4843
- }, wa = [
5140
+ }, Ca = [
4844
5141
  "transform 80ms var(--lucent-easing-default)",
4845
5142
  "box-shadow var(--lucent-duration-fast) var(--lucent-easing-default)",
4846
5143
  "border-color var(--lucent-duration-fast) var(--lucent-easing-default)",
4847
5144
  "background var(--lucent-duration-fast) var(--lucent-easing-default)"
4848
- ].join(", "), ka = "0 4px 14px -2px var(--lucent-accent-subtle)", Sa = "0 0 0 3px var(--lucent-accent-subtle)", Ta = "0 0 0 2px var(--lucent-surface), 0 0 0 4px var(--lucent-accent-default)", Ca = "0 0 0 3px var(--lucent-accent-subtle)";
5145
+ ].join(", "), Ia = "0 4px 14px -2px var(--lucent-accent-subtle)", Ma = "0 0 0 3px var(--lucent-accent-subtle)", Da = "0 0 0 2px var(--lucent-surface), 0 0 0 4px var(--lucent-accent-default)", za = "0 0 0 3px var(--lucent-accent-subtle)";
4849
5146
  function he(...e) {
4850
5147
  const t = e.filter(
4851
5148
  (r) => r != null && r !== "none" && r !== "var(--lucent-shadow-none)"
4852
5149
  );
4853
5150
  return t.length > 0 ? t.join(", ") : void 0;
4854
5151
  }
4855
- function Ia(e, t, r) {
5152
+ function Aa(e, t, r) {
4856
5153
  return !t || r ? e.background : e.background === "transparent" ? "var(--lucent-accent-subtle)" : `color-mix(in srgb, var(--lucent-accent-default) 6%, ${e.background})`;
4857
5154
  }
4858
- function Ai({
5155
+ function Ni({
4859
5156
  variant: e = "outline",
4860
5157
  header: t,
4861
5158
  footer: r,
@@ -4873,18 +5170,18 @@ function Ai({
4873
5170
  selected: T,
4874
5171
  media: v
4875
5172
  }) {
4876
- const p = xa[e], b = e === "combo", k = i ?? (b ? "md" : p.shadowDefault), { py: x, px: M } = ba[a], S = `${x} ${M}`, A = va[l], L = d != null, C = c != null || L, D = (h ?? !1) && C, $ = L ? "a" : C ? "button" : "div", [W, w] = z(!1), [F, R] = z(!1), [N, U] = z(!1), Z = (T ?? !1) && !D, J = Z ? Ca : void 0, q = Ia(p, T ?? !1, D);
5173
+ const p = Ta[e], b = e === "combo", k = i ?? (b ? "md" : p.shadowDefault), { py: x, px: M } = wa[a], S = `${x} ${M}`, A = ka[l], R = d != null, C = c != null || R, D = (h ?? !1) && C, $ = R ? "a" : C ? "button" : "div", [W, w] = z(!1), [P, L] = z(!1), [N, U] = z(!1), Z = (T ?? !1) && !D, J = Z ? za : void 0, B = Aa(p, T ?? !1, D);
4877
5174
  let I;
4878
- b ? I = J : C && !D ? N ? I = he(Ta, J) : F ? I = he(Sa, J) : W ? I = he(ka, Se[k], J) : I = he(Se[k], J) : I = he(Se[k], J);
4879
- const B = {
5175
+ b ? I = J : C && !D ? N ? I = he(Da, J) : P ? I = he(Ma, J) : W ? I = he(Ia, Se[k], J) : I = he(Se[k], J) : I = he(Se[k], J);
5176
+ const q = {
4880
5177
  display: "flex",
4881
5178
  flexDirection: "column",
4882
- background: q,
5179
+ background: B,
4883
5180
  border: p.border,
4884
5181
  borderRadius: A,
4885
5182
  // Outer box-shadow rings (selected, focus) get clipped by overflow:hidden,
4886
5183
  // so we switch to overflow:visible when a ring is active.
4887
- overflow: Z || C && F ? "visible" : "hidden",
5184
+ overflow: Z || C && P ? "visible" : "hidden",
4888
5185
  boxSizing: "border-box",
4889
5186
  position: "relative",
4890
5187
  ...I !== void 0 && { boxShadow: I },
@@ -4895,18 +5192,18 @@ function Ai({
4895
5192
  ...C && {
4896
5193
  cursor: D ? "not-allowed" : "pointer",
4897
5194
  outline: "none",
4898
- transition: wa
5195
+ transition: Ca
4899
5196
  },
4900
5197
  // Button UA reset
4901
- ...C && !L && {
5198
+ ...C && !R && {
4902
5199
  padding: 0,
4903
5200
  font: "inherit",
4904
5201
  textAlign: "inherit",
4905
5202
  width: "100%",
4906
- background: q
5203
+ background: B
4907
5204
  },
4908
5205
  // Link reset
4909
- ...L && {
5206
+ ...R && {
4910
5207
  textDecoration: "none",
4911
5208
  color: "inherit"
4912
5209
  },
@@ -4920,7 +5217,7 @@ function Ai({
4920
5217
  return /* @__PURE__ */ y(
4921
5218
  $,
4922
5219
  {
4923
- style: B,
5220
+ style: q,
4924
5221
  ...C && !D ? {
4925
5222
  onMouseEnter: () => w(!0),
4926
5223
  onMouseLeave: () => {
@@ -4928,23 +5225,23 @@ function Ai({
4928
5225
  },
4929
5226
  onMouseDown: () => U(!0),
4930
5227
  onMouseUp: () => U(!1),
4931
- onFocus: () => R(!0),
5228
+ onFocus: () => L(!0),
4932
5229
  onBlur: () => {
4933
- R(!1), U(!1);
5230
+ L(!1), U(!1);
4934
5231
  }
4935
5232
  } : {},
4936
- ...L && {
5233
+ ...R && {
4937
5234
  href: D ? void 0 : d,
4938
5235
  ...u !== void 0 && { target: u },
4939
5236
  ...f !== void 0 && { rel: f }
4940
5237
  },
4941
- ...!L && C && {
5238
+ ...!R && C && {
4942
5239
  type: "button",
4943
5240
  ...D && { disabled: !0 }
4944
5241
  },
4945
5242
  ...c !== void 0 && !D && { onClick: c },
4946
5243
  ...C && T !== void 0 && { "aria-pressed": T },
4947
- ...L && D && { "aria-disabled": !0 },
5244
+ ...R && D && { "aria-disabled": !0 },
4948
5245
  children: [
4949
5246
  v != null && /* @__PURE__ */ n("div", { style: { lineHeight: 0 }, children: v }),
4950
5247
  m != null && /* @__PURE__ */ n(
@@ -4957,7 +5254,7 @@ function Ai({
4957
5254
  left: 0,
4958
5255
  bottom: 0,
4959
5256
  width: 3,
4960
- background: ya[m],
5257
+ background: Sa[m],
4961
5258
  zIndex: 1
4962
5259
  }
4963
5260
  }
@@ -5004,7 +5301,7 @@ function Ai({
5004
5301
  }
5005
5302
  );
5006
5303
  }
5007
- function Ei({ children: e, style: t }) {
5304
+ function $i({ children: e, style: t }) {
5008
5305
  const r = fe(Ct);
5009
5306
  return /* @__PURE__ */ n(
5010
5307
  "div",
@@ -5020,7 +5317,7 @@ function Ei({ children: e, style: t }) {
5020
5317
  }
5021
5318
  );
5022
5319
  }
5023
- const Bi = {
5320
+ const Wi = {
5024
5321
  id: "card",
5025
5322
  name: "Card",
5026
5323
  tier: "molecule",
@@ -5230,30 +5527,30 @@ const Bi = {
5230
5527
  accessibility: {
5231
5528
  notes: "Non-interactive cards have no implicit ARIA role — wrap in <section> or <article> if needed. Interactive cards with onClick render as <button> with focus ring. Interactive cards with href render as <a> with focus ring. Selected cards set aria-pressed on the interactive element. The status accent bar is aria-hidden (decorative). Media slot images should include alt text."
5232
5529
  }
5233
- }, Ma = {
5530
+ }, Ea = {
5234
5531
  info: { bg: "var(--lucent-info-subtle)", border: "var(--lucent-info-default)", iconColor: "var(--lucent-info-text)", textColor: "info" },
5235
5532
  success: { bg: "var(--lucent-success-subtle)", border: "var(--lucent-success-default)", iconColor: "var(--lucent-success-text)", textColor: "success" },
5236
5533
  warning: { bg: "var(--lucent-warning-subtle)", border: "var(--lucent-warning-default)", iconColor: "var(--lucent-warning-text)", textColor: "warning" },
5237
5534
  danger: { bg: "var(--lucent-danger-subtle)", border: "var(--lucent-danger-default)", iconColor: "var(--lucent-danger-text)", textColor: "danger" }
5238
- }, Da = () => /* @__PURE__ */ y("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
5535
+ }, qa = () => /* @__PURE__ */ y("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
5239
5536
  /* @__PURE__ */ n("circle", { cx: "8", cy: "8", r: "6.5", stroke: "currentColor", strokeWidth: "1.5" }),
5240
5537
  /* @__PURE__ */ n("path", { d: "M8 5.5V8.5M8 10.5V11", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })
5241
- ] }), za = () => /* @__PURE__ */ y("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
5538
+ ] }), Ba = () => /* @__PURE__ */ y("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
5242
5539
  /* @__PURE__ */ n("circle", { cx: "8", cy: "8", r: "6.5", stroke: "currentColor", strokeWidth: "1.5" }),
5243
5540
  /* @__PURE__ */ n("path", { d: "M5 8L7 10L11 6", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })
5244
- ] }), Aa = () => /* @__PURE__ */ y("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
5541
+ ] }), Ra = () => /* @__PURE__ */ y("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
5245
5542
  /* @__PURE__ */ n("path", { d: "M8 2L14.5 13H1.5L8 2Z", stroke: "currentColor", strokeWidth: "1.5", strokeLinejoin: "round" }),
5246
5543
  /* @__PURE__ */ n("path", { d: "M8 6V9M8 11V11.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })
5247
- ] }), Ea = () => /* @__PURE__ */ y("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
5544
+ ] }), La = () => /* @__PURE__ */ y("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
5248
5545
  /* @__PURE__ */ n("circle", { cx: "8", cy: "8", r: "6.5", stroke: "currentColor", strokeWidth: "1.5" }),
5249
5546
  /* @__PURE__ */ n("path", { d: "M5.5 5.5L10.5 10.5M10.5 5.5L5.5 10.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })
5250
- ] }), Ba = {
5251
- info: /* @__PURE__ */ n(Da, {}),
5252
- success: /* @__PURE__ */ n(za, {}),
5253
- warning: /* @__PURE__ */ n(Aa, {}),
5254
- danger: /* @__PURE__ */ n(Ea, {})
5255
- }, qa = () => /* @__PURE__ */ n("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ n("path", { d: "M3 3L11 11M11 3L3 11", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) });
5256
- function qi({
5547
+ ] }), Fa = {
5548
+ info: /* @__PURE__ */ n(qa, {}),
5549
+ success: /* @__PURE__ */ n(Ba, {}),
5550
+ warning: /* @__PURE__ */ n(Ra, {}),
5551
+ danger: /* @__PURE__ */ n(La, {})
5552
+ }, Pa = () => /* @__PURE__ */ n("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ n("path", { d: "M3 3L11 11M11 3L3 11", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) });
5553
+ function Oi({
5257
5554
  variant: e = "info",
5258
5555
  title: t,
5259
5556
  children: r,
@@ -5261,7 +5558,7 @@ function qi({
5261
5558
  icon: a,
5262
5559
  style: i
5263
5560
  }) {
5264
- const l = Ma[e], s = a ?? Ba[e];
5561
+ const l = Ea[e], s = a ?? Fa[e];
5265
5562
  return /* @__PURE__ */ y(
5266
5563
  "div",
5267
5564
  {
@@ -5319,14 +5616,14 @@ function qi({
5319
5616
  onMouseLeave: (c) => {
5320
5617
  c.currentTarget.style.opacity = "0.7";
5321
5618
  },
5322
- children: /* @__PURE__ */ n(qa, {})
5619
+ children: /* @__PURE__ */ n(Pa, {})
5323
5620
  }
5324
5621
  )
5325
5622
  ]
5326
5623
  }
5327
5624
  );
5328
5625
  }
5329
- const Li = {
5626
+ const Hi = {
5330
5627
  id: "alert",
5331
5628
  name: "Alert",
5332
5629
  tier: "molecule",
@@ -5401,7 +5698,7 @@ const Li = {
5401
5698
  notes: 'role="alert" causes screen readers to announce the content immediately when rendered. For non-urgent status messages, consider using role="status" instead by overriding via style/wrapper.'
5402
5699
  }
5403
5700
  };
5404
- function Ri({
5701
+ function Vi({
5405
5702
  illustration: e,
5406
5703
  title: t,
5407
5704
  description: r,
@@ -5444,7 +5741,7 @@ function Ri({
5444
5741
  }
5445
5742
  );
5446
5743
  }
5447
- const Pi = {
5744
+ const ji = {
5448
5745
  id: "empty-state",
5449
5746
  name: "EmptyState",
5450
5747
  tier: "molecule",
@@ -5515,11 +5812,11 @@ const Pi = {
5515
5812
  accessibility: {
5516
5813
  notes: "The title renders as an h3 by default. If EmptyState appears inside a section with its own heading hierarchy, override by passing a Text component as part of a custom layout. Ensure the action element has a descriptive label for screen readers."
5517
5814
  }
5518
- }, La = {
5815
+ }, Na = {
5519
5816
  text: "1em",
5520
5817
  circle: 40,
5521
5818
  rectangle: 40
5522
- }, Ra = {
5819
+ }, $a = {
5523
5820
  text: "var(--lucent-radius-sm)",
5524
5821
  circle: "var(--lucent-radius-full)",
5525
5822
  rectangle: "var(--lucent-radius-md)"
@@ -5548,7 +5845,7 @@ function lt({
5548
5845
  }
5549
5846
  );
5550
5847
  }
5551
- function Fi({
5848
+ function Ui({
5552
5849
  variant: e = "rectangle",
5553
5850
  width: t = "100%",
5554
5851
  height: r,
@@ -5557,7 +5854,7 @@ function Fi({
5557
5854
  radius: i,
5558
5855
  style: l
5559
5856
  }) {
5560
- const s = r ?? La[e], c = i ?? Ra[e], d = a ? /* @__PURE__ */ n("style", { children: `
5857
+ const s = r ?? Na[e], c = i ?? $a[e], d = a ? /* @__PURE__ */ n("style", { children: `
5561
5858
  @keyframes lucent-skeleton-shimmer {
5562
5859
  0% { background-position: 200% 0; }
5563
5860
  100% { background-position: -200% 0; }
@@ -5589,7 +5886,7 @@ function Fi({
5589
5886
  )
5590
5887
  ] });
5591
5888
  }
5592
- const Ni = {
5889
+ const Gi = {
5593
5890
  id: "skeleton",
5594
5891
  name: "Skeleton",
5595
5892
  tier: "molecule",
@@ -5676,7 +5973,7 @@ const Ni = {
5676
5973
  notes: 'Wrap loading regions with aria-busy="true" on the container so screen readers know content is loading. Individual Skeleton elements are presentational and do not need ARIA attributes themselves.'
5677
5974
  }
5678
5975
  };
5679
- function $i({ items: e, separator: t = "/", style: r }) {
5976
+ function _i({ items: e, separator: t = "/", style: r }) {
5680
5977
  return /* @__PURE__ */ n("nav", { "aria-label": "Breadcrumb", style: r, children: /* @__PURE__ */ n(
5681
5978
  "ol",
5682
5979
  {
@@ -5742,21 +6039,21 @@ function $i({ items: e, separator: t = "/", style: r }) {
5742
6039
  }
5743
6040
  ) });
5744
6041
  }
5745
- function Wi({ tabs: e, defaultValue: t, value: r, onChange: o, variant: a = "underline", style: i }) {
5746
- var q;
5747
- const l = r !== void 0, [s, c] = z(t ?? ((q = e[0]) == null ? void 0 : q.value) ?? ""), d = l ? r : s, [u, f] = z(null), h = V([]), [m, T] = z(null), v = V(!1), p = a === "pills", b = V(null), k = V(null), x = V(null), [M, S] = z(e.length), [A, L] = z(!1), [C, D] = z(!1), [$, W] = z(null), w = e.slice(0, M), F = e.slice(M), R = F.length > 0, N = F.some((I) => I.value === d), U = () => {
6042
+ function Yi({ tabs: e, defaultValue: t, value: r, onChange: o, variant: a = "underline", style: i }) {
6043
+ var B;
6044
+ const l = r !== void 0, [s, c] = z(t ?? ((B = e[0]) == null ? void 0 : B.value) ?? ""), d = l ? r : s, [u, f] = z(null), h = V([]), [m, T] = z(null), v = V(!1), p = a === "pills", b = V(null), k = V(null), x = V(null), [M, S] = z(e.length), [A, R] = z(!1), [C, D] = z(!1), [$, W] = z(null), w = e.slice(0, M), P = e.slice(M), L = P.length > 0, N = P.some((I) => I.value === d), U = () => {
5748
6045
  if (N) {
5749
6046
  T(null);
5750
6047
  return;
5751
6048
  }
5752
- const I = e.findIndex((P, j) => j < M && P.value === d), B = h.current[I];
5753
- if (B) {
6049
+ const I = e.findIndex((F, j) => j < M && F.value === d), q = h.current[I];
6050
+ if (q) {
5754
6051
  if (p) {
5755
- const P = B.querySelector("span");
5756
- if (!P) return;
5757
- T({ left: P.offsetLeft + B.offsetLeft, width: P.offsetWidth, animate: v.current });
6052
+ const F = q.querySelector("span");
6053
+ if (!F) return;
6054
+ T({ left: F.offsetLeft + q.offsetLeft, width: F.offsetWidth, animate: v.current });
5758
6055
  } else
5759
- T({ left: B.offsetLeft, width: B.offsetWidth, animate: v.current });
6056
+ T({ left: q.offsetLeft, width: q.offsetWidth, animate: v.current });
5760
6057
  v.current = !0;
5761
6058
  }
5762
6059
  };
@@ -5765,7 +6062,7 @@ function Wi({ tabs: e, defaultValue: t, value: r, onChange: o, variant: a = "und
5765
6062
  }, [d, M, p]), X(() => {
5766
6063
  const I = b.current;
5767
6064
  if (!I) return;
5768
- const B = () => {
6065
+ const q = () => {
5769
6066
  const E = I.clientWidth, O = 70;
5770
6067
  let Y = 0, H = 0;
5771
6068
  for (let G = 0; G < e.length; G++) {
@@ -5790,30 +6087,30 @@ function Wi({ tabs: e, defaultValue: t, value: r, onChange: o, variant: a = "und
5790
6087
  }
5791
6088
  S(H < 1 ? 1 : H);
5792
6089
  };
5793
- let P;
6090
+ let F;
5794
6091
  (() => {
5795
- P = requestAnimationFrame(() => {
5796
- P = requestAnimationFrame(B);
6092
+ F = requestAnimationFrame(() => {
6093
+ F = requestAnimationFrame(q);
5797
6094
  });
5798
6095
  })();
5799
- const g = new ResizeObserver(B);
6096
+ const g = new ResizeObserver(q);
5800
6097
  return g.observe(I), () => {
5801
- g.disconnect(), cancelAnimationFrame(P);
6098
+ g.disconnect(), cancelAnimationFrame(F);
5802
6099
  };
5803
6100
  }, [e]), X(() => {
5804
6101
  if (!A) return;
5805
- const I = (B) => {
5806
- x.current && !x.current.contains(B.target) && k.current && !k.current.contains(B.target) && (L(!1), W(null));
6102
+ const I = (q) => {
6103
+ x.current && !x.current.contains(q.target) && k.current && !k.current.contains(q.target) && (R(!1), W(null));
5807
6104
  };
5808
6105
  return document.addEventListener("mousedown", I), () => document.removeEventListener("mousedown", I);
5809
6106
  }, [A]);
5810
6107
  const Z = (I) => {
5811
6108
  l || c(I), o == null || o(I);
5812
- }, J = (I, B) => {
6109
+ }, J = (I, q) => {
5813
6110
  var E;
5814
- const P = w.map((O, Y) => O.disabled ? -1 : Y).filter((O) => O !== -1), j = P.indexOf(B);
6111
+ const F = w.map((O, Y) => O.disabled ? -1 : Y).filter((O) => O !== -1), j = F.indexOf(q);
5815
6112
  let g = -1;
5816
- I.key === "ArrowRight" && (g = P[(j + 1) % P.length] ?? -1), I.key === "ArrowLeft" && (g = P[(j - 1 + P.length) % P.length] ?? -1), I.key === "Home" && (g = P[0] ?? -1), I.key === "End" && (g = P[P.length - 1] ?? -1), g !== -1 && (I.preventDefault(), (E = h.current[g]) == null || E.focus(), Z(w[g].value));
6113
+ I.key === "ArrowRight" && (g = F[(j + 1) % F.length] ?? -1), I.key === "ArrowLeft" && (g = F[(j - 1 + F.length) % F.length] ?? -1), I.key === "Home" && (g = F[0] ?? -1), I.key === "End" && (g = F[F.length - 1] ?? -1), g !== -1 && (I.preventDefault(), (E = h.current[g]) == null || E.focus(), Z(w[g].value));
5817
6114
  };
5818
6115
  return /* @__PURE__ */ y("div", { style: { display: "flex", flexDirection: "column", position: "relative", ...i }, children: [
5819
6116
  /* @__PURE__ */ y(
@@ -5832,26 +6129,26 @@ function Wi({ tabs: e, defaultValue: t, value: r, onChange: o, variant: a = "und
5832
6129
  }
5833
6130
  },
5834
6131
  children: [
5835
- e.map((I, B) => {
5836
- const P = B < M, j = I.value === d, g = I.disabled ?? !1;
6132
+ e.map((I, q) => {
6133
+ const F = q < M, j = I.value === d, g = I.disabled ?? !1;
5837
6134
  return /* @__PURE__ */ y(
5838
6135
  "button",
5839
6136
  {
5840
6137
  ref: (E) => {
5841
- h.current[B] = E;
6138
+ h.current[q] = E;
5842
6139
  },
5843
6140
  role: "tab",
5844
6141
  "aria-selected": j,
5845
6142
  "aria-controls": `lucent-tabpanel-${I.value}`,
5846
6143
  id: `lucent-tab-${I.value}`,
5847
6144
  disabled: g,
5848
- tabIndex: j && P ? 0 : -1,
6145
+ tabIndex: j && F ? 0 : -1,
5849
6146
  onClick: () => {
5850
6147
  g || Z(I.value);
5851
6148
  },
5852
- onKeyDown: (E) => J(E, B),
6149
+ onKeyDown: (E) => J(E, q),
5853
6150
  onMouseEnter: () => {
5854
- !g && P && f(B);
6151
+ !g && F && f(q);
5855
6152
  },
5856
6153
  onMouseLeave: () => f(null),
5857
6154
  style: {
@@ -5866,20 +6163,20 @@ function Wi({ tabs: e, defaultValue: t, value: r, onChange: o, variant: a = "und
5866
6163
  transition: "color var(--lucent-duration-fast) var(--lucent-easing-default)",
5867
6164
  whiteSpace: "nowrap",
5868
6165
  outline: "none",
5869
- position: P ? "relative" : "absolute",
6166
+ position: F ? "relative" : "absolute",
5870
6167
  zIndex: j ? 1 : 0,
5871
6168
  // Hidden overflow tabs are positioned off-screen for measurement
5872
- ...P ? {} : { visibility: "hidden", pointerEvents: "none", left: -9999 }
6169
+ ...F ? {} : { visibility: "hidden", pointerEvents: "none", left: -9999 }
5873
6170
  },
5874
6171
  children: [
5875
6172
  /* @__PURE__ */ n("span", { style: {
5876
6173
  display: "block",
5877
6174
  padding: "var(--lucent-space-1) var(--lucent-space-3)",
5878
6175
  borderRadius: "var(--lucent-radius-md)",
5879
- background: !p && u === B && !j && !g ? "var(--lucent-surface-secondary)" : "transparent",
6176
+ background: !p && u === q && !j && !g ? "var(--lucent-surface-secondary)" : "transparent",
5880
6177
  transition: "background var(--lucent-duration-fast) var(--lucent-easing-default)"
5881
6178
  }, children: I.label }),
5882
- p && u === B && !j && !g && P && /* @__PURE__ */ n(
6179
+ p && u === q && !j && !g && F && /* @__PURE__ */ n(
5883
6180
  "span",
5884
6181
  {
5885
6182
  "aria-hidden": !0,
@@ -5901,11 +6198,11 @@ function Wi({ tabs: e, defaultValue: t, value: r, onChange: o, variant: a = "und
5901
6198
  I.value
5902
6199
  );
5903
6200
  }),
5904
- R && /* @__PURE__ */ n(
6201
+ L && /* @__PURE__ */ n(
5905
6202
  "button",
5906
6203
  {
5907
6204
  ref: k,
5908
- onClick: () => L((I) => !I),
6205
+ onClick: () => R((I) => !I),
5909
6206
  onMouseEnter: () => D(!0),
5910
6207
  onMouseLeave: () => D(!1),
5911
6208
  style: {
@@ -5959,7 +6256,7 @@ function Wi({ tabs: e, defaultValue: t, value: r, onChange: o, variant: a = "und
5959
6256
  ]
5960
6257
  }
5961
6258
  ),
5962
- R && A && /* @__PURE__ */ n(
6259
+ L && A && /* @__PURE__ */ n(
5963
6260
  "div",
5964
6261
  {
5965
6262
  ref: x,
@@ -5976,30 +6273,30 @@ function Wi({ tabs: e, defaultValue: t, value: r, onChange: o, variant: a = "und
5976
6273
  padding: "var(--lucent-space-1) 0",
5977
6274
  minWidth: 140
5978
6275
  },
5979
- children: F.map((I, B) => {
5980
- const P = I.value === d, j = I.disabled ?? !1, g = $ === B;
6276
+ children: P.map((I, q) => {
6277
+ const F = I.value === d, j = I.disabled ?? !1, g = $ === q;
5981
6278
  return /* @__PURE__ */ n(
5982
6279
  "button",
5983
6280
  {
5984
6281
  disabled: j,
5985
6282
  onClick: () => {
5986
- j || (Z(I.value), L(!1));
6283
+ j || (Z(I.value), R(!1));
5987
6284
  },
5988
6285
  onMouseEnter: () => {
5989
- j || W(B);
6286
+ j || W(q);
5990
6287
  },
5991
6288
  onMouseLeave: () => W(null),
5992
6289
  style: {
5993
6290
  display: "block",
5994
6291
  width: "100%",
5995
6292
  padding: "var(--lucent-space-2) var(--lucent-space-4)",
5996
- background: P || g ? "var(--lucent-surface-secondary)" : "none",
6293
+ background: F || g ? "var(--lucent-surface-secondary)" : "none",
5997
6294
  border: "none",
5998
6295
  cursor: j ? "not-allowed" : "pointer",
5999
6296
  fontFamily: "var(--lucent-font-family-base)",
6000
6297
  fontSize: "var(--lucent-font-size-md)",
6001
- fontWeight: P ? "var(--lucent-font-weight-medium)" : "var(--lucent-font-weight-regular)",
6002
- color: j ? "var(--lucent-text-disabled)" : P || g ? "var(--lucent-text-primary)" : "var(--lucent-text-secondary)",
6298
+ fontWeight: F ? "var(--lucent-font-weight-medium)" : "var(--lucent-font-weight-regular)",
6299
+ color: j ? "var(--lucent-text-disabled)" : F || g ? "var(--lucent-text-primary)" : "var(--lucent-text-secondary)",
6003
6300
  textAlign: "left",
6004
6301
  outline: "none",
6005
6302
  transition: "background var(--lucent-duration-fast) var(--lucent-easing-default), color var(--lucent-duration-fast) var(--lucent-easing-default)"
@@ -6026,13 +6323,13 @@ function Wi({ tabs: e, defaultValue: t, value: r, onChange: o, variant: a = "und
6026
6323
  ))
6027
6324
  ] });
6028
6325
  }
6029
- const Pa = `
6326
+ const Wa = `
6030
6327
  @keyframes lucent-collapsible-open {
6031
6328
  from { opacity: 0; transform: translateY(-4px); }
6032
6329
  to { opacity: 1; transform: translateY(0); }
6033
6330
  }
6034
6331
  `;
6035
- function Oi({ trigger: e, children: t, defaultOpen: r = !1, open: o, onOpenChange: a, style: i }) {
6332
+ function Ki({ trigger: e, children: t, defaultOpen: r = !1, open: o, onOpenChange: a, style: i }) {
6036
6333
  const l = o !== void 0, [s, c] = z(r), d = l ? o : s, u = V(null), [f, h] = z(d ? void 0 : 0), m = V(!1);
6037
6334
  X(() => {
6038
6335
  const v = u.current;
@@ -6052,7 +6349,7 @@ function Oi({ trigger: e, children: t, defaultOpen: r = !1, open: o, onOpenChang
6052
6349
  l || c(v), a == null || a(v);
6053
6350
  };
6054
6351
  return /* @__PURE__ */ y(oe, { children: [
6055
- /* @__PURE__ */ n("style", { children: Pa }),
6352
+ /* @__PURE__ */ n("style", { children: Wa }),
6056
6353
  /* @__PURE__ */ y("div", { style: { display: "flex", flexDirection: "column", fontFamily: "var(--lucent-font-family-base)", fontSize: "var(--lucent-font-size-md)", ...i }, children: [
6057
6354
  /* @__PURE__ */ y(
6058
6355
  "button",
@@ -6075,7 +6372,7 @@ function Oi({ trigger: e, children: t, defaultOpen: r = !1, open: o, onOpenChang
6075
6372
  },
6076
6373
  children: [
6077
6374
  /* @__PURE__ */ n("span", { style: { flex: 1 }, children: e }),
6078
- /* @__PURE__ */ n(Fa, { open: d })
6375
+ /* @__PURE__ */ n(Oa, { open: d })
6079
6376
  ]
6080
6377
  }
6081
6378
  ),
@@ -6104,7 +6401,7 @@ function Oi({ trigger: e, children: t, defaultOpen: r = !1, open: o, onOpenChang
6104
6401
  ] })
6105
6402
  ] });
6106
6403
  }
6107
- function Fa({ open: e }) {
6404
+ function Oa({ open: e }) {
6108
6405
  return /* @__PURE__ */ n(
6109
6406
  "svg",
6110
6407
  {
@@ -6127,11 +6424,11 @@ function Fa({ open: e }) {
6127
6424
  }
6128
6425
  );
6129
6426
  }
6130
- const ge = "lucent-pl-no-scrollbar", Na = `.${ge}{scrollbar-width:none}.${ge}::-webkit-scrollbar{display:none}`;
6427
+ const ge = "lucent-pl-no-scrollbar", Ha = `.${ge}{scrollbar-width:none}.${ge}::-webkit-scrollbar{display:none}`;
6131
6428
  function Te(e) {
6132
6429
  return typeof e == "number" ? `${e}px` : e;
6133
6430
  }
6134
- function Hi({
6431
+ function Xi({
6135
6432
  children: e,
6136
6433
  header: t,
6137
6434
  sidebar: r,
@@ -6161,7 +6458,7 @@ function Hi({
6161
6458
  ...m
6162
6459
  },
6163
6460
  children: [
6164
- /* @__PURE__ */ n("style", { children: Na }),
6461
+ /* @__PURE__ */ n("style", { children: Ha }),
6165
6462
  t != null && /* @__PURE__ */ n(
6166
6463
  "div",
6167
6464
  {
@@ -6240,7 +6537,7 @@ function Hi({
6240
6537
  }
6241
6538
  );
6242
6539
  }
6243
- function $a({ state: e }) {
6540
+ function Va({ state: e }) {
6244
6541
  return /* @__PURE__ */ y(
6245
6542
  "svg",
6246
6543
  {
@@ -6283,7 +6580,7 @@ function ct({ dir: e }) {
6283
6580
  }
6284
6581
  ) });
6285
6582
  }
6286
- function Vi({
6583
+ function Ji({
6287
6584
  columns: e,
6288
6585
  rows: t,
6289
6586
  pageSize: r = 10,
@@ -6293,22 +6590,22 @@ function Vi({
6293
6590
  emptyState: l,
6294
6591
  style: s
6295
6592
  }) {
6296
- const [c, d] = z(null), [u, f] = z(0), [h, m] = z(null), [T, v] = z({}), p = o !== void 0, b = p ? o : u, k = e.some((w) => w.filterable), x = k ? t.filter((w) => e.every((F) => {
6297
- if (!F.filterable) return !0;
6298
- const R = T[F.key];
6299
- if (!R || R.length === 0) return !0;
6300
- const N = String(w[F.key] ?? "");
6301
- return R.includes(N);
6302
- })) : t, M = c ? [...x].sort((w, F) => {
6303
- const R = w[c.key], N = F[c.key], U = String(R ?? "").localeCompare(String(N ?? ""), void 0, { numeric: !0 });
6593
+ const [c, d] = z(null), [u, f] = z(0), [h, m] = z(null), [T, v] = z({}), p = o !== void 0, b = p ? o : u, k = e.some((w) => w.filterable), x = k ? t.filter((w) => e.every((P) => {
6594
+ if (!P.filterable) return !0;
6595
+ const L = T[P.key];
6596
+ if (!L || L.length === 0) return !0;
6597
+ const N = String(w[P.key] ?? "");
6598
+ return L.includes(N);
6599
+ })) : t, M = c ? [...x].sort((w, P) => {
6600
+ const L = w[c.key], N = P[c.key], U = String(L ?? "").localeCompare(String(N ?? ""), void 0, { numeric: !0 });
6304
6601
  return c.dir === "asc" ? U : -U;
6305
- }) : x, S = r > 0 ? M.slice(b * r, (b + 1) * r) : M, A = r > 0 ? Math.max(1, Math.ceil(M.length / r)) : 1, L = (w) => {
6602
+ }) : x, S = r > 0 ? M.slice(b * r, (b + 1) * r) : M, A = r > 0 ? Math.max(1, Math.ceil(M.length / r)) : 1, R = (w) => {
6306
6603
  p || f(w), a == null || a(w);
6307
6604
  }, C = (w) => {
6308
- d((F) => !F || F.key !== w ? { key: w, dir: "asc" } : F.dir === "asc" ? { key: w, dir: "desc" } : null), p || f(0), a == null || a(0);
6309
- }, D = (w, F) => {
6310
- const R = { ...T, [w]: F };
6311
- F.length === 0 && delete R[w], v(R), p || f(0), a == null || a(0), i == null || i(R);
6605
+ d((P) => !P || P.key !== w ? { key: w, dir: "asc" } : P.dir === "asc" ? { key: w, dir: "desc" } : null), p || f(0), a == null || a(0);
6606
+ }, D = (w, P) => {
6607
+ const L = { ...T, [w]: P };
6608
+ P.length === 0 && delete L[w], v(L), p || f(0), a == null || a(0), i == null || i(L);
6312
6609
  }, $ = () => {
6313
6610
  v({}), p || f(0), a == null || a(0), i == null || i({});
6314
6611
  }, W = [];
@@ -6322,7 +6619,7 @@ function Vi({
6322
6619
  }
6323
6620
  return /* @__PURE__ */ y("div", { style: { display: "flex", flexDirection: "column", gap: "var(--lucent-space-3)", ...s }, children: [
6324
6621
  k && /* @__PURE__ */ n("div", { style: { position: "relative", zIndex: 1 }, children: /* @__PURE__ */ n(
6325
- Wa,
6622
+ ja,
6326
6623
  {
6327
6624
  columns: e,
6328
6625
  rows: t,
@@ -6342,7 +6639,7 @@ function Vi({
6342
6639
  fontSize: "var(--lucent-font-size-sm)"
6343
6640
  }, children: [
6344
6641
  /* @__PURE__ */ n("thead", { children: /* @__PURE__ */ n("tr", { style: { borderBottom: "1px solid var(--lucent-border-default)" }, children: e.map((w) => {
6345
- const F = (c == null ? void 0 : c.key) === w.key ? c.dir : "none";
6642
+ const P = (c == null ? void 0 : c.key) === w.key ? c.dir : "none";
6346
6643
  return /* @__PURE__ */ n(
6347
6644
  "th",
6348
6645
  {
@@ -6361,7 +6658,7 @@ function Vi({
6361
6658
  },
6362
6659
  children: /* @__PURE__ */ y("span", { style: { display: "inline-flex", alignItems: "center", gap: "var(--lucent-space-1)" }, children: [
6363
6660
  w.header,
6364
- w.sortable && /* @__PURE__ */ n($a, { state: F })
6661
+ w.sortable && /* @__PURE__ */ n(Va, { state: P })
6365
6662
  ] })
6366
6663
  },
6367
6664
  w.key
@@ -6374,31 +6671,31 @@ function Vi({
6374
6671
  style: { padding: "var(--lucent-space-12)", textAlign: "center" },
6375
6672
  children: l ?? /* @__PURE__ */ n(_, { color: "secondary", children: "No data" })
6376
6673
  }
6377
- ) }) : S.map((w, F) => /* @__PURE__ */ n(
6674
+ ) }) : S.map((w, P) => /* @__PURE__ */ n(
6378
6675
  "tr",
6379
6676
  {
6380
- onMouseEnter: () => m(F),
6677
+ onMouseEnter: () => m(P),
6381
6678
  onMouseLeave: () => m(null),
6382
6679
  style: {
6383
- borderBottom: F < S.length - 1 ? "1px solid var(--lucent-border-subtle)" : "none",
6384
- background: h === F ? "var(--lucent-surface-secondary)" : "var(--lucent-surface)",
6680
+ borderBottom: P < S.length - 1 ? "1px solid var(--lucent-border-subtle)" : "none",
6681
+ background: h === P ? "var(--lucent-surface-secondary)" : "var(--lucent-surface)",
6385
6682
  transition: "background var(--lucent-duration-fast) var(--lucent-easing-default)"
6386
6683
  },
6387
- children: e.map((R) => /* @__PURE__ */ n(
6684
+ children: e.map((L) => /* @__PURE__ */ n(
6388
6685
  "td",
6389
6686
  {
6390
6687
  style: {
6391
6688
  padding: "var(--lucent-space-3) var(--lucent-space-4)",
6392
6689
  color: "var(--lucent-text-primary)",
6393
- textAlign: R.align ?? "left",
6690
+ textAlign: L.align ?? "left",
6394
6691
  verticalAlign: "middle"
6395
6692
  },
6396
- children: R.render ? R.render(w, F) : String(w[R.key] ?? "")
6693
+ children: L.render ? L.render(w, P) : String(w[L.key] ?? "")
6397
6694
  },
6398
- R.key
6695
+ L.key
6399
6696
  ))
6400
6697
  },
6401
- F
6698
+ P
6402
6699
  )) })
6403
6700
  ] }) }),
6404
6701
  r > 0 && M.length > 0 && /* @__PURE__ */ y("div", { style: {
@@ -6413,21 +6710,21 @@ function Vi({
6413
6710
  /* @__PURE__ */ n(
6414
6711
  We,
6415
6712
  {
6416
- onClick: () => L(b - 1),
6713
+ onClick: () => R(b - 1),
6417
6714
  disabled: b === 0,
6418
6715
  "aria-label": "Previous page",
6419
6716
  children: /* @__PURE__ */ n(ct, { dir: "left" })
6420
6717
  }
6421
6718
  ),
6422
6719
  W.map(
6423
- (w, F) => w === "…" ? /* @__PURE__ */ n("span", { style: {
6720
+ (w, P) => w === "…" ? /* @__PURE__ */ n("span", { style: {
6424
6721
  padding: "0 var(--lucent-space-1)",
6425
6722
  color: "var(--lucent-text-disabled)",
6426
6723
  fontSize: "var(--lucent-font-size-sm)"
6427
- }, children: "…" }, `ellipsis-${F}`) : /* @__PURE__ */ n(
6724
+ }, children: "…" }, `ellipsis-${P}`) : /* @__PURE__ */ n(
6428
6725
  We,
6429
6726
  {
6430
- onClick: () => L(w),
6727
+ onClick: () => R(w),
6431
6728
  active: w === b,
6432
6729
  "aria-label": `Page ${w + 1}`,
6433
6730
  "aria-current": w === b ? "page" : void 0,
@@ -6439,7 +6736,7 @@ function Vi({
6439
6736
  /* @__PURE__ */ n(
6440
6737
  We,
6441
6738
  {
6442
- onClick: () => L(b + 1),
6739
+ onClick: () => R(b + 1),
6443
6740
  disabled: b >= A - 1,
6444
6741
  "aria-label": "Next page",
6445
6742
  children: /* @__PURE__ */ n(ct, { dir: "right" })
@@ -6449,7 +6746,7 @@ function Vi({
6449
6746
  ] })
6450
6747
  ] });
6451
6748
  }
6452
- function Wa({
6749
+ function ja({
6453
6750
  columns: e,
6454
6751
  rows: t,
6455
6752
  filters: r,
@@ -6463,7 +6760,7 @@ function Wa({
6463
6760
  new Set(t.map((d) => String(d[s.key] ?? "")))
6464
6761
  ).sort();
6465
6762
  return /* @__PURE__ */ n(
6466
- Oa,
6763
+ Ua,
6467
6764
  {
6468
6765
  label: s.header,
6469
6766
  values: c,
@@ -6495,7 +6792,7 @@ function Wa({
6495
6792
  )
6496
6793
  ] });
6497
6794
  }
6498
- function Oa({
6795
+ function Ua({
6499
6796
  label: e,
6500
6797
  values: t,
6501
6798
  value: r,
@@ -6634,7 +6931,7 @@ function Oa({
6634
6931
  fontSize: "var(--lucent-font-size-xs)",
6635
6932
  textAlign: "center"
6636
6933
  }, children: "No results" }) : m.map((p) => /* @__PURE__ */ n(
6637
- Ha,
6934
+ Ga,
6638
6935
  {
6639
6936
  label: p,
6640
6937
  isSelected: r.includes(p),
@@ -6645,7 +6942,7 @@ function Oa({
6645
6942
  ] })
6646
6943
  ] });
6647
6944
  }
6648
- function Ha({ label: e, isSelected: t, onClick: r }) {
6945
+ function Ga({ label: e, isSelected: t, onClick: r }) {
6649
6946
  const [o, a] = z(!1);
6650
6947
  return /* @__PURE__ */ y(
6651
6948
  "button",
@@ -6726,7 +7023,7 @@ function We({
6726
7023
  }
6727
7024
  );
6728
7025
  }
6729
- const ji = {
7026
+ const Zi = {
6730
7027
  id: "data-table",
6731
7028
  name: "DataTable",
6732
7029
  tier: "molecule",
@@ -6835,18 +7132,18 @@ const ji = {
6835
7132
  keyboardInteractions: ["Tab to pagination controls", "Enter/Space to activate buttons"],
6836
7133
  notes: 'Column headers with sortable:true are interactive buttons with aria-sort reflecting the current sort direction. Pagination buttons include aria-label and aria-current="page" for the active page.'
6837
7134
  }
6838
- }, Va = `
7135
+ }, _a = `
6839
7136
  @keyframes lucent-palette-in {
6840
7137
  from { opacity: 0; transform: scale(0.96) translateY(-8px); }
6841
7138
  to { opacity: 1; transform: scale(1) translateY(0); }
6842
7139
  }
6843
7140
  `;
6844
- function ja(e, t) {
7141
+ function Ya(e, t) {
6845
7142
  var o;
6846
7143
  const r = t.toLowerCase();
6847
7144
  return e.label.toLowerCase().includes(r) || (((o = e.description) == null ? void 0 : o.toLowerCase().includes(r)) ?? !1);
6848
7145
  }
6849
- function Ui({
7146
+ function Qi({
6850
7147
  commands: e,
6851
7148
  placeholder: t = "Search commands…",
6852
7149
  shortcutKey: r = "k",
@@ -6857,7 +7154,7 @@ function Ui({
6857
7154
  const l = o !== void 0, [s, c] = z(!1), d = l ? o : s, [u, f] = z(""), [h, m] = z(0), T = V(null), v = V(null), p = V(!1);
6858
7155
  if (!p.current) {
6859
7156
  const C = document.createElement("style");
6860
- C.textContent = Va, document.head.appendChild(C), p.current = !0;
7157
+ C.textContent = _a, document.head.appendChild(C), p.current = !0;
6861
7158
  }
6862
7159
  const b = ee((C) => {
6863
7160
  l || c(C), a == null || a(C);
@@ -6873,7 +7170,7 @@ function Ui({
6873
7170
  return (C = T.current) == null ? void 0 : C.focus();
6874
7171
  }, 10));
6875
7172
  }, [d]);
6876
- const k = u ? e.filter((C) => ja(C, u)) : e, x = k.filter((C) => !C.disabled);
7173
+ const k = u ? e.filter((C) => Ya(C, u)) : e, x = k.filter((C) => !C.disabled);
6877
7174
  X(() => {
6878
7175
  const C = v.current;
6879
7176
  if (!C) return;
@@ -6901,7 +7198,7 @@ function Ui({
6901
7198
  D && D.group === C.group ? D.items.push(C) : A.push({ group: C.group, items: [C] });
6902
7199
  }
6903
7200
  if (!d) return null;
6904
- let L = 0;
7201
+ let R = 0;
6905
7202
  return /* @__PURE__ */ n(
6906
7203
  "div",
6907
7204
  {
@@ -6999,19 +7296,19 @@ function Ui({
6999
7296
  }, children: /* @__PURE__ */ n(_, { size: "xs", color: "secondary", weight: "medium", children: C }) }),
7000
7297
  D.map((W) => {
7001
7298
  const w = W.disabled ?? !1;
7002
- let F = !1;
7003
- return w || (F = L === h, L++), /* @__PURE__ */ y(
7299
+ let P = !1;
7300
+ return w || (P = R === h, R++), /* @__PURE__ */ y(
7004
7301
  "div",
7005
7302
  {
7006
7303
  role: "option",
7007
- "aria-selected": F,
7304
+ "aria-selected": P,
7008
7305
  "aria-disabled": w,
7009
- "data-active": F,
7306
+ "data-active": P,
7010
7307
  onClick: () => M(W),
7011
7308
  onMouseEnter: () => {
7012
7309
  if (!w) {
7013
- const R = x.indexOf(W);
7014
- R !== -1 && m(R);
7310
+ const L = x.indexOf(W);
7311
+ L !== -1 && m(L);
7015
7312
  }
7016
7313
  },
7017
7314
  style: {
@@ -7021,7 +7318,7 @@ function Ui({
7021
7318
  padding: "var(--lucent-space-2) var(--lucent-space-3)",
7022
7319
  borderRadius: "var(--lucent-radius-md)",
7023
7320
  cursor: w ? "not-allowed" : "pointer",
7024
- background: F ? "color-mix(in srgb, var(--lucent-accent-default) 20%, var(--lucent-surface-secondary))" : "transparent",
7321
+ background: P ? "color-mix(in srgb, var(--lucent-accent-default) 20%, var(--lucent-surface-secondary))" : "transparent",
7025
7322
  transition: "background var(--lucent-duration-fast) var(--lucent-easing-default)",
7026
7323
  opacity: w ? 0.5 : 1
7027
7324
  },
@@ -7059,7 +7356,7 @@ function Ui({
7059
7356
  }
7060
7357
  );
7061
7358
  }
7062
- const Gi = {
7359
+ const es = {
7063
7360
  id: "command-palette",
7064
7361
  name: "CommandPalette",
7065
7362
  tier: "overlay",
@@ -7141,15 +7438,15 @@ const Gi = {
7141
7438
  keyboardInteractions: ["⌘K / Ctrl+K to open", "↑↓ to navigate", "Enter to select", "Escape to close"],
7142
7439
  notes: 'The backdrop and panel use role="dialog" with aria-modal="true". The input is role="searchbox". The result list is role="listbox" with role="option" items. Focus is moved to the search input on open.'
7143
7440
  }
7144
- }, Ua = {
7441
+ }, Ka = {
7145
7442
  sm: "calc(var(--lucent-space-8) * 0.5 + 16px + 2px)",
7146
7443
  md: "calc(var(--lucent-space-10) * 0.5 + 20px + 2px)",
7147
7444
  lg: "calc(var(--lucent-space-12) * 0.5 + 24px + 2px)"
7148
- }, Ga = {
7445
+ }, Xa = {
7149
7446
  sm: "var(--lucent-font-size-sm)",
7150
7447
  md: "var(--lucent-font-size-md)",
7151
7448
  lg: "var(--lucent-font-size-lg)"
7152
- }, _a = {
7449
+ }, Ja = {
7153
7450
  sm: "var(--lucent-space-1) var(--lucent-space-2)",
7154
7451
  md: "var(--lucent-space-1) var(--lucent-space-2)",
7155
7452
  lg: "var(--lucent-space-2) var(--lucent-space-3)"
@@ -7161,8 +7458,8 @@ const Gi = {
7161
7458
  sm: "var(--lucent-font-size-sm)",
7162
7459
  md: "var(--lucent-font-size-sm)",
7163
7460
  lg: "var(--lucent-font-size-md)"
7164
- }, dt = { sm: "sm", md: "md", lg: "lg" }, Ya = { sm: "sm", md: "md", lg: "lg" };
7165
- function _i({
7461
+ }, dt = { sm: "sm", md: "md", lg: "lg" }, Za = { sm: "sm", md: "md", lg: "lg" };
7462
+ function ts({
7166
7463
  options: e,
7167
7464
  value: t,
7168
7465
  defaultValue: r = [],
@@ -7176,7 +7473,7 @@ function _i({
7176
7473
  errorText: u,
7177
7474
  style: f
7178
7475
  }) {
7179
- const h = t !== void 0, [m, T] = z(r), v = h ? t : m, [p, b] = z(!1), [k, x] = z(""), [M, S] = z(0), [A, L] = z(!1), C = V(null), D = V(null), $ = V(null), W = V(null), [w, F] = z({ top: 0, left: 0, width: 0 }), R = ve();
7476
+ const h = t !== void 0, [m, T] = z(r), v = h ? t : m, [p, b] = z(!1), [k, x] = z(""), [M, S] = z(0), [A, R] = z(!1), C = V(null), D = V(null), $ = V(null), W = V(null), [w, P] = z({ top: 0, left: 0, width: 0 }), L = ve();
7180
7477
  X(() => {
7181
7478
  if (!p) return;
7182
7479
  const g = (E) => {
@@ -7187,7 +7484,7 @@ function _i({
7187
7484
  }, [p]), se(() => {
7188
7485
  if (!p || !$.current) return;
7189
7486
  const g = $.current.getBoundingClientRect();
7190
- F({ top: g.bottom + 4, left: g.left, width: g.width });
7487
+ P({ top: g.bottom + 4, left: g.left, width: g.width });
7191
7488
  }, [p, v, k]);
7192
7489
  const N = (g) => {
7193
7490
  const E = v.includes(g) ? v.filter((O) => O !== g) : l !== void 0 && v.length >= l ? v : [...v, g];
@@ -7208,7 +7505,7 @@ function _i({
7208
7505
  E && !E.disabled && N(E.value);
7209
7506
  }
7210
7507
  g.key === "Backspace" && k === "" && v.length > 0 && U(v[v.length - 1]);
7211
- }, q = l !== void 0 && v.length >= l, I = !!u, B = i ? "var(--lucent-border-default)" : I ? "var(--lucent-danger-default)" : A ? "var(--lucent-focus-ring)" : "var(--lucent-border-default)", P = A ? `0 0 0 3px ${I ? "var(--lucent-danger-subtle)" : "var(--lucent-accent-subtle)"}` : "none", j = `lucent-multiselect-${ve()}`;
7508
+ }, B = l !== void 0 && v.length >= l, I = !!u, q = i ? "var(--lucent-border-default)" : I ? "var(--lucent-danger-default)" : A ? "var(--lucent-focus-ring)" : "var(--lucent-border-default)", F = A ? `0 0 0 3px ${I ? "var(--lucent-danger-subtle)" : "var(--lucent-accent-subtle)"}` : "none", j = `lucent-multiselect-${ve()}`;
7212
7509
  return /* @__PURE__ */ y("div", { ref: C, style: { display: "flex", flexDirection: "column", gap: "var(--lucent-space-1)", ...f }, children: [
7213
7510
  c && /* @__PURE__ */ n(
7214
7511
  "label",
@@ -7236,20 +7533,20 @@ function _i({
7236
7533
  flexWrap: "wrap",
7237
7534
  alignItems: "center",
7238
7535
  gap: Ce[s],
7239
- minHeight: Ua[s],
7536
+ minHeight: Ka[s],
7240
7537
  boxSizing: "border-box",
7241
- padding: _a[s],
7538
+ padding: Ja[s],
7242
7539
  borderRadius: "var(--lucent-radius-lg)",
7243
- border: `1px solid ${B}`,
7540
+ border: `1px solid ${q}`,
7244
7541
  background: i ? "var(--lucent-surface-secondary)" : "var(--lucent-surface)",
7245
7542
  cursor: i ? "not-allowed" : "text",
7246
7543
  transition: "border-color var(--lucent-duration-fast) var(--lucent-easing-default), box-shadow var(--lucent-duration-fast) var(--lucent-easing-default)",
7247
- boxShadow: P
7544
+ boxShadow: F
7248
7545
  },
7249
7546
  children: [
7250
7547
  v.map((g) => {
7251
7548
  const E = e.find((O) => O.value === g);
7252
- return E ? /* @__PURE__ */ n(un, { size: Ya[s], onDismiss: () => U(g), disabled: i, children: E.label }, g) : null;
7549
+ return E ? /* @__PURE__ */ n(un, { size: Za[s], onDismiss: () => U(g), disabled: i, children: E.label }, g) : null;
7253
7550
  }),
7254
7551
  /* @__PURE__ */ n(
7255
7552
  "input",
@@ -7261,12 +7558,12 @@ function _i({
7261
7558
  x(g.target.value), b(!0), S(0);
7262
7559
  },
7263
7560
  onKeyDown: J,
7264
- onFocus: () => L(!0),
7265
- onBlur: () => L(!1),
7561
+ onFocus: () => R(!0),
7562
+ onBlur: () => R(!1),
7266
7563
  disabled: i,
7267
7564
  placeholder: v.length === 0 ? a : "",
7268
7565
  "aria-autocomplete": "list",
7269
- "aria-controls": R,
7566
+ "aria-controls": L,
7270
7567
  "aria-expanded": p,
7271
7568
  "aria-describedby": I ? `${j}-error` : d ? `${j}-helper` : void 0,
7272
7569
  role: "combobox",
@@ -7277,7 +7574,7 @@ function _i({
7277
7574
  outline: "none",
7278
7575
  background: "transparent",
7279
7576
  fontFamily: "var(--lucent-font-family-base)",
7280
- fontSize: Ga[s],
7577
+ fontSize: Xa[s],
7281
7578
  color: i ? "var(--lucent-text-disabled)" : "var(--lucent-text-primary)",
7282
7579
  cursor: i ? "not-allowed" : "text",
7283
7580
  padding: v.length === 0 ? "2px 0 2px var(--lucent-space-1)" : "2px 0"
@@ -7292,7 +7589,7 @@ function _i({
7292
7589
  "div",
7293
7590
  {
7294
7591
  ref: W,
7295
- id: R,
7592
+ id: L,
7296
7593
  role: "listbox",
7297
7594
  "aria-multiselectable": "true",
7298
7595
  style: {
@@ -7313,7 +7610,7 @@ function _i({
7313
7610
  },
7314
7611
  children: [
7315
7612
  Z.length === 0 ? /* @__PURE__ */ n("div", { style: { padding: "var(--lucent-space-2)" }, children: /* @__PURE__ */ n(_, { color: "secondary", size: dt[s], children: "No options" }) }) : Z.map((g, E) => {
7316
- const O = v.includes(g.value), Y = E === M, H = g.disabled ?? !1, G = q && !O;
7613
+ const O = v.includes(g.value), Y = E === M, H = g.disabled ?? !1, G = B && !O;
7317
7614
  return /* @__PURE__ */ y(
7318
7615
  "div",
7319
7616
  {
@@ -7352,7 +7649,7 @@ function _i({
7352
7649
  g.value
7353
7650
  );
7354
7651
  }),
7355
- q && /* @__PURE__ */ n("div", { style: {
7652
+ B && /* @__PURE__ */ n("div", { style: {
7356
7653
  padding: "var(--lucent-space-2)",
7357
7654
  borderTop: "1px solid var(--lucent-border-subtle)"
7358
7655
  }, children: /* @__PURE__ */ y(_, { size: s === "lg" ? "sm" : "xs", color: "secondary", children: [
@@ -7393,7 +7690,7 @@ function _i({
7393
7690
  )
7394
7691
  ] });
7395
7692
  }
7396
- const Yi = {
7693
+ const ns = {
7397
7694
  id: "multi-select",
7398
7695
  name: "MultiSelect",
7399
7696
  tier: "molecule",
@@ -7498,22 +7795,22 @@ const Yi = {
7498
7795
  notes: 'The input carries role="combobox" with aria-expanded and aria-controls pointing to the listbox. Each option has role="option" with aria-selected. Remove buttons on tags have descriptive aria-label.'
7499
7796
  }
7500
7797
  };
7501
- function Ka(e, t) {
7798
+ function Qa(e, t) {
7502
7799
  return new Date(e, t + 1, 0).getDate();
7503
7800
  }
7504
- function Xa(e, t) {
7801
+ function er(e, t) {
7505
7802
  return new Date(e, t, 1).getDay();
7506
7803
  }
7507
- function qe(e, t) {
7804
+ function Be(e, t) {
7508
7805
  return e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth() && e.getDate() === t.getDate();
7509
7806
  }
7510
- function Le(e, t) {
7807
+ function Re(e, t) {
7511
7808
  return new Date(e.getFullYear(), e.getMonth(), e.getDate()) < new Date(t.getFullYear(), t.getMonth(), t.getDate());
7512
7809
  }
7513
7810
  function ut(e, t) {
7514
7811
  return new Date(e.getFullYear(), e.getMonth(), e.getDate()) > new Date(t.getFullYear(), t.getMonth(), t.getDate());
7515
7812
  }
7516
- const Ja = [
7813
+ const tr = [
7517
7814
  "January",
7518
7815
  "February",
7519
7816
  "March",
@@ -7526,11 +7823,11 @@ const Ja = [
7526
7823
  "October",
7527
7824
  "November",
7528
7825
  "December"
7529
- ], Za = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
7826
+ ], nr = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
7530
7827
  function be(e) {
7531
7828
  return `${e.getFullYear()}-${String(e.getMonth() + 1).padStart(2, "0")}-${String(e.getDate()).padStart(2, "0")}`;
7532
7829
  }
7533
- const Qa = { sm: "calc(var(--lucent-space-8) * 0.5 + 18px)", md: "calc(var(--lucent-space-10) * 0.5 + 22px)", lg: "calc(var(--lucent-space-12) * 0.5 + 26px)" }, er = {
7830
+ const ar = { sm: "calc(var(--lucent-space-8) * 0.5 + 18px)", md: "calc(var(--lucent-space-10) * 0.5 + 22px)", lg: "calc(var(--lucent-space-12) * 0.5 + 26px)" }, rr = {
7534
7831
  sm: "var(--lucent-font-size-sm)",
7535
7832
  md: "var(--lucent-font-size-md)",
7536
7833
  lg: "var(--lucent-font-size-md)"
@@ -7538,17 +7835,17 @@ const Qa = { sm: "calc(var(--lucent-space-8) * 0.5 + 18px)", md: "calc(var(--luc
7538
7835
  sm: "var(--lucent-font-size-sm)",
7539
7836
  md: "var(--lucent-font-size-sm)",
7540
7837
  lg: "var(--lucent-font-size-md)"
7541
- }, tr = {
7838
+ }, or = {
7542
7839
  sm: "var(--lucent-space-3)",
7543
7840
  md: "var(--lucent-space-4)",
7544
7841
  lg: "var(--lucent-space-4)"
7545
- }, nr = {
7842
+ }, ir = {
7546
7843
  sm: "var(--lucent-space-2)",
7547
7844
  md: "calc((var(--lucent-space-2) + var(--lucent-space-3)) / 2)",
7548
7845
  lg: "var(--lucent-space-3)"
7549
- }, ar = { sm: 28, md: 32, lg: 38 }, rr = { sm: "var(--lucent-font-size-xs)", md: "var(--lucent-font-size-sm)", lg: "var(--lucent-font-size-md)" }, or = { sm: "xs", md: "sm", lg: "md" }, ir = { sm: "xs", md: "xs", lg: "sm" }, sr = { sm: 24, md: 28, lg: 32 }, lr = { sm: 14, md: 16, lg: 18 }, It = { sm: "var(--lucent-space-3)", md: "var(--lucent-space-4)", lg: "var(--lucent-space-5)" }, Ye = { sm: 220, md: 260, lg: 300 };
7846
+ }, sr = { sm: 28, md: 32, lg: 38 }, lr = { sm: "var(--lucent-font-size-xs)", md: "var(--lucent-font-size-sm)", lg: "var(--lucent-font-size-md)" }, cr = { sm: "xs", md: "sm", lg: "md" }, dr = { sm: "xs", md: "xs", lg: "sm" }, ur = { sm: 24, md: 28, lg: 32 }, pr = { sm: 14, md: 16, lg: 18 }, It = { sm: "var(--lucent-space-3)", md: "var(--lucent-space-4)", lg: "var(--lucent-space-5)" }, Ye = { sm: 220, md: 260, lg: 300 };
7550
7847
  function pt({ dir: e, onClick: t, disabled: r, size: o = "md" }) {
7551
- const [a, i] = z(!1), l = sr[o], s = lr[o];
7848
+ const [a, i] = z(!1), l = ur[o], s = pr[o];
7552
7849
  return /* @__PURE__ */ n(
7553
7850
  "button",
7554
7851
  {
@@ -7598,7 +7895,7 @@ function Ke({
7598
7895
  onDayHover: u,
7599
7896
  size: f = "md"
7600
7897
  }) {
7601
- const h = Ka(e, t), m = Xa(e, t), [T, v] = z(null), p = [
7898
+ const h = Qa(e, t), m = er(e, t), [T, v] = z(null), p = [
7602
7899
  ...Array(m).fill(null),
7603
7900
  ...Array.from({ length: h }, (b, k) => k + 1)
7604
7901
  ];
@@ -7606,19 +7903,19 @@ function Ke({
7606
7903
  return /* @__PURE__ */ y("div", { children: [
7607
7904
  /* @__PURE__ */ y("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", marginBottom: "var(--lucent-space-3)" }, children: [
7608
7905
  /* @__PURE__ */ n(pt, { dir: "prev", onClick: s, size: f }),
7609
- /* @__PURE__ */ y(_, { weight: "medium", size: or[f], children: [
7610
- Ja[t],
7906
+ /* @__PURE__ */ y(_, { weight: "medium", size: cr[f], children: [
7907
+ tr[t],
7611
7908
  " ",
7612
7909
  e
7613
7910
  ] }),
7614
7911
  /* @__PURE__ */ n(pt, { dir: "next", onClick: c, size: f })
7615
7912
  ] }),
7616
- /* @__PURE__ */ n("div", { style: { display: "grid", gridTemplateColumns: "repeat(7, 1fr)", gap: 2, marginBottom: "var(--lucent-space-1)" }, children: Za.map((b) => /* @__PURE__ */ n("div", { style: { textAlign: "center" }, children: /* @__PURE__ */ n(_, { size: ir[f], color: "secondary", children: b }) }, b)) }),
7913
+ /* @__PURE__ */ n("div", { style: { display: "grid", gridTemplateColumns: "repeat(7, 1fr)", gap: 2, marginBottom: "var(--lucent-space-1)" }, children: nr.map((b) => /* @__PURE__ */ n("div", { style: { textAlign: "center" }, children: /* @__PURE__ */ n(_, { size: dr[f], color: "secondary", children: b }) }, b)) }),
7617
7914
  /* @__PURE__ */ n("div", { style: { display: "grid", gridTemplateColumns: "repeat(7, 1fr)", gap: 2 }, children: p.map((b, k) => {
7618
7915
  if (!b) return /* @__PURE__ */ n("div", {}, k);
7619
- const x = new Date(e, t, b), M = r ? qe(x, r) : !1, S = qe(x, o), A = (a ? Le(x, a) : !1) || (i ? ut(x, i) : !1);
7620
- let L = !1;
7621
- return d != null && d.start && (d != null && d.end) && (L = !Le(x, d.start) && !ut(x, d.end)), /* @__PURE__ */ n(
7916
+ const x = new Date(e, t, b), M = r ? Be(x, r) : !1, S = Be(x, o), A = (a ? Re(x, a) : !1) || (i ? ut(x, i) : !1);
7917
+ let R = !1;
7918
+ return d != null && d.start && (d != null && d.end) && (R = !Re(x, d.start) && !ut(x, d.end)), /* @__PURE__ */ n(
7622
7919
  "button",
7623
7920
  {
7624
7921
  type: "button",
@@ -7636,13 +7933,13 @@ function Ke({
7636
7933
  display: "flex",
7637
7934
  alignItems: "center",
7638
7935
  justifyContent: "center",
7639
- height: ar[f],
7936
+ height: sr[f],
7640
7937
  width: "100%",
7641
7938
  border: S && !M ? "1px solid var(--lucent-border-strong)" : "1px solid transparent",
7642
7939
  borderRadius: "var(--lucent-radius-md)",
7643
- background: M ? "var(--lucent-accent-default)" : L ? "var(--lucent-accent-subtle)" : T === b && !A ? "color-mix(in srgb, var(--lucent-accent-default) 20%, var(--lucent-surface-secondary))" : "transparent",
7940
+ background: M ? "var(--lucent-accent-default)" : R ? "var(--lucent-accent-subtle)" : T === b && !A ? "color-mix(in srgb, var(--lucent-accent-default) 20%, var(--lucent-surface-secondary))" : "transparent",
7644
7941
  color: M ? "var(--lucent-text-on-accent)" : A ? "var(--lucent-text-disabled)" : "var(--lucent-text-primary)",
7645
- fontSize: rr[f],
7942
+ fontSize: lr[f],
7646
7943
  fontFamily: "var(--lucent-font-family-base)",
7647
7944
  fontWeight: S ? "var(--lucent-font-weight-medium)" : "var(--lucent-font-weight-regular)",
7648
7945
  cursor: A ? "not-allowed" : "pointer",
@@ -7655,7 +7952,7 @@ function Ke({
7655
7952
  }) })
7656
7953
  ] });
7657
7954
  }
7658
- function Ki({
7955
+ function as({
7659
7956
  value: e,
7660
7957
  defaultValue: t,
7661
7958
  onChange: r,
@@ -7669,26 +7966,26 @@ function Ki({
7669
7966
  errorText: u,
7670
7967
  style: f
7671
7968
  }) {
7672
- const h = e !== void 0, [m, T] = z(t), v = h ? e : m, p = !!u, b = a, k = `lucent-datepicker-${Math.random().toString(36).slice(2, 7)}`, x = /* @__PURE__ */ new Date(), [M, S] = z((v ?? x).getFullYear()), [A, L] = z((v ?? x).getMonth()), [C, D] = z(!1), [$, W] = z(!1), w = V(null), F = V(null), [R, N] = z({ top: 0, left: 0 });
7969
+ const h = e !== void 0, [m, T] = z(t), v = h ? e : m, p = !!u, b = a, k = `lucent-datepicker-${Math.random().toString(36).slice(2, 7)}`, x = /* @__PURE__ */ new Date(), [M, S] = z((v ?? x).getFullYear()), [A, R] = z((v ?? x).getMonth()), [C, D] = z(!1), [$, W] = z(!1), w = V(null), P = V(null), [L, N] = z({ top: 0, left: 0 });
7673
7970
  X(() => {
7674
7971
  if (!C) return;
7675
- const B = (P) => {
7972
+ const q = (F) => {
7676
7973
  var j, g;
7677
- !((j = w.current) != null && j.contains(P.target)) && !((g = F.current) != null && g.contains(P.target)) && D(!1);
7974
+ !((j = w.current) != null && j.contains(F.target)) && !((g = P.current) != null && g.contains(F.target)) && D(!1);
7678
7975
  };
7679
- return document.addEventListener("mousedown", B), () => document.removeEventListener("mousedown", B);
7976
+ return document.addEventListener("mousedown", q), () => document.removeEventListener("mousedown", q);
7680
7977
  }, [C]), se(() => {
7681
7978
  if (!C || !w.current) return;
7682
- const B = w.current.getBoundingClientRect();
7683
- N({ top: B.bottom + 4, left: B.left });
7979
+ const q = w.current.getBoundingClientRect();
7980
+ N({ top: q.bottom + 4, left: q.left });
7684
7981
  }, [C]);
7685
- const U = (B) => {
7686
- h || T(B), r == null || r(B), D(!1);
7982
+ const U = (q) => {
7983
+ h || T(q), r == null || r(q), D(!1);
7687
7984
  }, Z = () => {
7688
- A === 0 ? (L(11), S((B) => B - 1)) : L((B) => B - 1);
7985
+ A === 0 ? (R(11), S((q) => q - 1)) : R((q) => q - 1);
7689
7986
  }, J = () => {
7690
- A === 11 ? (L(0), S((B) => B + 1)) : L((B) => B + 1);
7691
- }, q = b ? "transparent" : p ? "var(--lucent-danger-default)" : $ ? "var(--lucent-focus-ring)" : "var(--lucent-border-default)", I = $ ? `0 0 0 3px ${p ? "var(--lucent-danger-subtle)" : "var(--lucent-accent-subtle)"}` : "none";
7987
+ A === 11 ? (R(0), S((q) => q + 1)) : R((q) => q + 1);
7988
+ }, B = b ? "transparent" : p ? "var(--lucent-danger-default)" : $ ? "var(--lucent-focus-ring)" : "var(--lucent-border-default)", I = $ ? `0 0 0 3px ${p ? "var(--lucent-danger-subtle)" : "var(--lucent-accent-subtle)"}` : "none";
7692
7989
  return /* @__PURE__ */ y("div", { ref: w, style: { display: "flex", flexDirection: "column", gap: "var(--lucent-space-1)", ...f }, children: [
7693
7990
  c && /* @__PURE__ */ n(
7694
7991
  "label",
@@ -7709,7 +8006,7 @@ function Ki({
7709
8006
  type: "button",
7710
8007
  id: k,
7711
8008
  disabled: a,
7712
- onClick: () => !a && D((B) => !B),
8009
+ onClick: () => !a && D((q) => !q),
7713
8010
  onFocus: () => W(!0),
7714
8011
  onBlur: () => W(!1),
7715
8012
  "aria-haspopup": "dialog",
@@ -7718,18 +8015,18 @@ function Ki({
7718
8015
  style: {
7719
8016
  display: "flex",
7720
8017
  alignItems: "center",
7721
- gap: nr[s],
8018
+ gap: ir[s],
7722
8019
  width: "100%",
7723
- height: Qa[s],
8020
+ height: ar[s],
7724
8021
  boxSizing: "border-box",
7725
- padding: `0 ${tr[s]}`,
8022
+ padding: `0 ${or[s]}`,
7726
8023
  borderRadius: "var(--lucent-radius-lg)",
7727
- border: `1px solid ${q}`,
8024
+ border: `1px solid ${B}`,
7728
8025
  boxShadow: I,
7729
8026
  background: b ? "var(--lucent-surface-secondary)" : "var(--lucent-surface)",
7730
8027
  color: v ? "var(--lucent-text-primary)" : "var(--lucent-text-secondary)",
7731
8028
  fontFamily: "var(--lucent-font-family-base)",
7732
- fontSize: er[s],
8029
+ fontSize: rr[s],
7733
8030
  cursor: b ? "not-allowed" : "pointer",
7734
8031
  outline: "none",
7735
8032
  transition: [
@@ -7774,13 +8071,13 @@ function Ki({
7774
8071
  /* @__PURE__ */ n(
7775
8072
  "div",
7776
8073
  {
7777
- ref: F,
8074
+ ref: P,
7778
8075
  role: "dialog",
7779
8076
  "aria-label": "Date picker",
7780
8077
  style: {
7781
8078
  position: "fixed",
7782
- top: R.top,
7783
- left: R.left,
8079
+ top: L.top,
8080
+ left: L.left,
7784
8081
  zIndex: 1e3,
7785
8082
  background: "color-mix(in srgb, var(--lucent-surface-overlay) 85%, transparent)",
7786
8083
  backdropFilter: "blur(6px)",
@@ -7812,7 +8109,7 @@ function Ki({
7812
8109
  )
7813
8110
  ] });
7814
8111
  }
7815
- const Xi = {
8112
+ const rs = {
7816
8113
  id: "date-picker",
7817
8114
  name: "DatePicker",
7818
8115
  tier: "molecule",
@@ -7923,15 +8220,15 @@ const Xi = {
7923
8220
  keyboardInteractions: ["Enter/Space to open calendar", "Click day to select", "Escape closes popover (click outside)"],
7924
8221
  notes: 'The calendar popover is role="dialog". Each day button has aria-label with the full date and aria-pressed for selected state. Full arrow-key navigation within the calendar grid is a planned enhancement.'
7925
8222
  }
7926
- }, cr = { sm: "calc(var(--lucent-space-8) * 0.5 + 18px)", md: "calc(var(--lucent-space-10) * 0.5 + 22px)", lg: "calc(var(--lucent-space-12) * 0.5 + 26px)" }, dr = {
8223
+ }, fr = { sm: "calc(var(--lucent-space-8) * 0.5 + 18px)", md: "calc(var(--lucent-space-10) * 0.5 + 22px)", lg: "calc(var(--lucent-space-12) * 0.5 + 26px)" }, hr = {
7927
8224
  sm: "var(--lucent-font-size-sm)",
7928
8225
  md: "var(--lucent-font-size-md)",
7929
8226
  lg: "var(--lucent-font-size-md)"
7930
- }, ur = {
8227
+ }, mr = {
7931
8228
  sm: "var(--lucent-space-3)",
7932
8229
  md: "var(--lucent-space-4)",
7933
8230
  lg: "var(--lucent-space-4)"
7934
- }, pr = {
8231
+ }, gr = {
7935
8232
  sm: "var(--lucent-space-2)",
7936
8233
  md: "calc((var(--lucent-space-2) + var(--lucent-space-3)) / 2)",
7937
8234
  lg: "var(--lucent-space-3)"
@@ -7940,10 +8237,10 @@ const Xi = {
7940
8237
  md: "var(--lucent-font-size-sm)",
7941
8238
  lg: "var(--lucent-font-size-md)"
7942
8239
  };
7943
- function fr(e, t) {
7944
- return e ? qe(e.start, e.end) ? be(e.start) : `${be(e.start)} → ${be(e.end)}` : t;
8240
+ function br(e, t) {
8241
+ return e ? Be(e.start, e.end) ? be(e.start) : `${be(e.start)} → ${be(e.end)}` : t;
7945
8242
  }
7946
- function Ji({
8243
+ function os({
7947
8244
  value: e,
7948
8245
  defaultValue: t,
7949
8246
  onChange: r,
@@ -7957,24 +8254,24 @@ function Ji({
7957
8254
  errorText: u,
7958
8255
  style: f
7959
8256
  }) {
7960
- const h = e !== void 0, [m, T] = z(t), v = h ? e : m, p = !!u, b = a, k = `lucent-daterangepicker-${Math.random().toString(36).slice(2, 7)}`, [x, M] = z(null), [S, A] = z(null), L = /* @__PURE__ */ new Date(), [C, D] = z(((v == null ? void 0 : v.start) ?? L).getFullYear()), [$, W] = z(((v == null ? void 0 : v.start) ?? L).getMonth()), w = $ === 11 ? 0 : $ + 1, F = $ === 11 ? C + 1 : C, [R, N] = z(!1), [U, Z] = z(!1), J = V(null), q = V(null), [I, B] = z({ top: 0, left: 0 });
8257
+ const h = e !== void 0, [m, T] = z(t), v = h ? e : m, p = !!u, b = a, k = `lucent-daterangepicker-${Math.random().toString(36).slice(2, 7)}`, [x, M] = z(null), [S, A] = z(null), R = /* @__PURE__ */ new Date(), [C, D] = z(((v == null ? void 0 : v.start) ?? R).getFullYear()), [$, W] = z(((v == null ? void 0 : v.start) ?? R).getMonth()), w = $ === 11 ? 0 : $ + 1, P = $ === 11 ? C + 1 : C, [L, N] = z(!1), [U, Z] = z(!1), J = V(null), B = V(null), [I, q] = z({ top: 0, left: 0 });
7961
8258
  X(() => {
7962
- if (!R) return;
8259
+ if (!L) return;
7963
8260
  const H = (G) => {
7964
8261
  var ae, ne;
7965
- !((ae = J.current) != null && ae.contains(G.target)) && !((ne = q.current) != null && ne.contains(G.target)) && (N(!1), M(null));
8262
+ !((ae = J.current) != null && ae.contains(G.target)) && !((ne = B.current) != null && ne.contains(G.target)) && (N(!1), M(null));
7966
8263
  };
7967
8264
  return document.addEventListener("mousedown", H), () => document.removeEventListener("mousedown", H);
7968
- }, [R]), se(() => {
7969
- if (!R || !J.current) return;
8265
+ }, [L]), se(() => {
8266
+ if (!L || !J.current) return;
7970
8267
  const H = J.current.getBoundingClientRect();
7971
- B({ top: H.bottom + 4, left: H.left });
7972
- }, [R]);
7973
- const P = (H) => {
8268
+ q({ top: H.bottom + 4, left: H.left });
8269
+ }, [L]);
8270
+ const F = (H) => {
7974
8271
  if (!x)
7975
8272
  M(H);
7976
8273
  else {
7977
- const [G, ae] = Le(H, x) || qe(H, x) ? [H, x] : [x, H], ne = { start: G, end: ae };
8274
+ const [G, ae] = Re(H, x) || Be(H, x) ? [H, x] : [x, H], ne = { start: G, end: ae };
7978
8275
  h || T(ne), r == null || r(ne), M(null), N(!1);
7979
8276
  }
7980
8277
  }, j = () => {
@@ -7984,7 +8281,7 @@ function Ji({
7984
8281
  };
7985
8282
  let E;
7986
8283
  if (x && S) {
7987
- const [H, G] = Le(S, x) ? [S, x] : [x, S];
8284
+ const [H, G] = Re(S, x) ? [S, x] : [x, S];
7988
8285
  E = { start: H, end: G };
7989
8286
  } else x ? E = { start: x, end: x } : v && (E = { start: v.start, end: v.end });
7990
8287
  const O = b ? "transparent" : p ? "var(--lucent-danger-default)" : U ? "var(--lucent-focus-ring)" : "var(--lucent-border-default)", Y = U ? `0 0 0 3px ${p ? "var(--lucent-danger-subtle)" : "var(--lucent-accent-subtle)"}` : "none";
@@ -8012,23 +8309,23 @@ function Ji({
8012
8309
  onFocus: () => Z(!0),
8013
8310
  onBlur: () => Z(!1),
8014
8311
  "aria-haspopup": "dialog",
8015
- "aria-expanded": R,
8312
+ "aria-expanded": L,
8016
8313
  "aria-invalid": p,
8017
8314
  style: {
8018
8315
  display: "flex",
8019
8316
  alignItems: "center",
8020
- gap: pr[s],
8317
+ gap: gr[s],
8021
8318
  width: "100%",
8022
- height: cr[s],
8319
+ height: fr[s],
8023
8320
  boxSizing: "border-box",
8024
- padding: `0 ${ur[s]}`,
8321
+ padding: `0 ${mr[s]}`,
8025
8322
  borderRadius: "var(--lucent-radius-lg)",
8026
8323
  border: `1px solid ${O}`,
8027
8324
  boxShadow: Y,
8028
8325
  background: b ? "var(--lucent-surface-secondary)" : "var(--lucent-surface)",
8029
8326
  color: v ? "var(--lucent-text-primary)" : "var(--lucent-text-secondary)",
8030
8327
  fontFamily: "var(--lucent-font-family-base)",
8031
- fontSize: dr[s],
8328
+ fontSize: hr[s],
8032
8329
  cursor: b ? "not-allowed" : "pointer",
8033
8330
  outline: "none",
8034
8331
  transition: [
@@ -8042,7 +8339,7 @@ function Ji({
8042
8339
  /* @__PURE__ */ n("path", { d: "M1 6h12", stroke: "currentColor", strokeWidth: "1.3" }),
8043
8340
  /* @__PURE__ */ n("path", { d: "M4 1v2M10 1v2", stroke: "currentColor", strokeWidth: "1.3", strokeLinecap: "round" })
8044
8341
  ] }),
8045
- /* @__PURE__ */ n("span", { style: { flex: 1, textAlign: "left" }, children: fr(v, o) })
8342
+ /* @__PURE__ */ n("span", { style: { flex: 1, textAlign: "left" }, children: br(v, o) })
8046
8343
  ]
8047
8344
  }
8048
8345
  ),
@@ -8069,11 +8366,11 @@ function Ji({
8069
8366
  children: d
8070
8367
  }
8071
8368
  ),
8072
- R && de(
8369
+ L && de(
8073
8370
  /* @__PURE__ */ y(
8074
8371
  "div",
8075
8372
  {
8076
- ref: q,
8373
+ ref: B,
8077
8374
  role: "dialog",
8078
8375
  "aria-label": "Date range picker",
8079
8376
  style: {
@@ -8098,10 +8395,10 @@ function Ji({
8098
8395
  year: C,
8099
8396
  month: $,
8100
8397
  ...(v == null ? void 0 : v.start) !== void 0 && { selected: v.start },
8101
- today: L,
8398
+ today: R,
8102
8399
  ...i !== void 0 && { min: i },
8103
8400
  ...l !== void 0 && { max: l },
8104
- onSelect: P,
8401
+ onSelect: F,
8105
8402
  onPrevMonth: j,
8106
8403
  onNextMonth: g,
8107
8404
  ...E !== void 0 && { highlightRange: E },
@@ -8113,13 +8410,13 @@ function Ji({
8113
8410
  /* @__PURE__ */ n("div", { style: { minWidth: Ye[s] }, children: /* @__PURE__ */ n(
8114
8411
  Ke,
8115
8412
  {
8116
- year: F,
8413
+ year: P,
8117
8414
  month: w,
8118
8415
  ...(v == null ? void 0 : v.end) !== void 0 && { selected: v.end },
8119
- today: L,
8416
+ today: R,
8120
8417
  ...i !== void 0 && { min: i },
8121
8418
  ...l !== void 0 && { max: l },
8122
- onSelect: P,
8419
+ onSelect: F,
8123
8420
  onPrevMonth: j,
8124
8421
  onNextMonth: g,
8125
8422
  ...E !== void 0 && { highlightRange: E },
@@ -8132,15 +8429,15 @@ function Ji({
8132
8429
  ),
8133
8430
  document.body
8134
8431
  ),
8135
- x && R && /* @__PURE__ */ n("div", { style: { position: "absolute", top: "calc(100% + var(--lucent-space-1))", left: 0, zIndex: 1001, pointerEvents: "none" } }),
8136
- x && R && /* @__PURE__ */ n("div", { style: {
8432
+ x && L && /* @__PURE__ */ n("div", { style: { position: "absolute", top: "calc(100% + var(--lucent-space-1))", left: 0, zIndex: 1001, pointerEvents: "none" } }),
8433
+ x && L && /* @__PURE__ */ n("div", { style: {
8137
8434
  position: "absolute",
8138
8435
  bottom: -24,
8139
8436
  left: 0
8140
8437
  }, children: /* @__PURE__ */ n(_, { size: "xs", color: "secondary", children: "Now pick the end date" }) })
8141
8438
  ] });
8142
8439
  }
8143
- const Zi = {
8440
+ const is = {
8144
8441
  id: "date-range-picker",
8145
8442
  name: "DateRangePicker",
8146
8443
  tier: "molecule",
@@ -8251,10 +8548,10 @@ const Zi = {
8251
8548
  function Xe(e) {
8252
8549
  return e < 1024 ? `${e} B` : e < 1024 * 1024 ? `${(e / 1024).toFixed(1)} KB` : `${(e / (1024 * 1024)).toFixed(1)} MB`;
8253
8550
  }
8254
- function hr() {
8551
+ function vr() {
8255
8552
  return Math.random().toString(36).slice(2);
8256
8553
  }
8257
- function mr({
8554
+ function yr({
8258
8555
  item: e,
8259
8556
  onRemove: t
8260
8557
  }) {
@@ -8316,7 +8613,7 @@ function mr({
8316
8613
  )
8317
8614
  ] });
8318
8615
  }
8319
- function Qi({
8616
+ function ss({
8320
8617
  accept: e,
8321
8618
  multiple: t = !1,
8322
8619
  maxSize: r,
@@ -8335,13 +8632,13 @@ function Qi({
8335
8632
  continue;
8336
8633
  }
8337
8634
  if (!t && f.length + A.length >= 1) break;
8338
- A.push({ id: hr(), file: C });
8635
+ A.push({ id: vr(), file: C });
8339
8636
  }
8340
8637
  if (A.length === 0) return;
8341
- const L = t ? [...f, ...A] : A;
8342
- c || u(L), a == null || a(L);
8638
+ const R = t ? [...f, ...A] : A;
8639
+ c || u(R), a == null || a(R);
8343
8640
  }, [l, f, c, r, t, a, i]), k = (S) => {
8344
- const A = f.filter((L) => L.id !== S);
8641
+ const A = f.filter((R) => R.id !== S);
8345
8642
  c || u(A), a == null || a(A);
8346
8643
  }, x = (S) => {
8347
8644
  S.preventDefault(), m(!1), b(S.dataTransfer.files);
@@ -8424,10 +8721,10 @@ function Qi({
8424
8721
  ]
8425
8722
  }
8426
8723
  ),
8427
- f.length > 0 && /* @__PURE__ */ n("div", { style: { display: "flex", flexDirection: "column", gap: "var(--lucent-space-2)" }, children: f.map((S) => /* @__PURE__ */ n(mr, { item: S, onRemove: k }, S.id)) })
8724
+ f.length > 0 && /* @__PURE__ */ n("div", { style: { display: "flex", flexDirection: "column", gap: "var(--lucent-space-2)" }, children: f.map((S) => /* @__PURE__ */ n(yr, { item: S, onRemove: k }, S.id)) })
8428
8725
  ] });
8429
8726
  }
8430
- const es = {
8727
+ const ls = {
8431
8728
  id: "file-upload",
8432
8729
  name: "FileUpload",
8433
8730
  tier: "molecule",
@@ -8525,23 +8822,23 @@ const handleChange = async (updated: UploadFile[]) => {
8525
8822
  keyboardInteractions: ["Enter/Space to open file picker", "Tab to focus drop zone"],
8526
8823
  notes: 'The drop zone has role="button" with tabIndex=0 and responds to Enter/Space. Remove buttons on file rows have aria-label including the filename.'
8527
8824
  }
8528
- }, gr = {
8825
+ }, xr = {
8529
8826
  default: "var(--lucent-border-strong)",
8530
8827
  success: "var(--lucent-success-default)",
8531
8828
  warning: "var(--lucent-warning-default)",
8532
8829
  danger: "var(--lucent-danger-default)",
8533
8830
  info: "var(--lucent-info-default)"
8534
- }, br = {
8831
+ }, wr = {
8535
8832
  default: "var(--lucent-surface-secondary)",
8536
8833
  success: "var(--lucent-success-subtle)",
8537
8834
  warning: "var(--lucent-warning-subtle)",
8538
8835
  danger: "var(--lucent-danger-subtle)",
8539
8836
  info: "var(--lucent-info-subtle)"
8540
8837
  };
8541
- function vr({ status: e }) {
8838
+ function kr({ status: e }) {
8542
8839
  return e === "success" ? /* @__PURE__ */ n("svg", { width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", "aria-hidden": !0, children: /* @__PURE__ */ n("path", { d: "M2 5l2 2 4-4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }) : e === "danger" ? /* @__PURE__ */ n("svg", { width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", "aria-hidden": !0, children: /* @__PURE__ */ n("path", { d: "M2 2l6 6M8 2L2 8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }) : e === "warning" ? /* @__PURE__ */ n("svg", { width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", "aria-hidden": !0, children: /* @__PURE__ */ n("path", { d: "M5 2v4M5 7.5v.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }) : null;
8543
8840
  }
8544
- function ts({ items: e, style: t }) {
8841
+ function cs({ items: e, style: t }) {
8545
8842
  return /* @__PURE__ */ n(
8546
8843
  "ol",
8547
8844
  {
@@ -8554,7 +8851,7 @@ function ts({ items: e, style: t }) {
8554
8851
  ...t
8555
8852
  },
8556
8853
  children: e.map((r, o) => {
8557
- const a = r.status ?? "default", i = gr[a], l = br[a], s = o === e.length - 1;
8854
+ const a = r.status ?? "default", i = xr[a], l = wr[a], s = o === e.length - 1;
8558
8855
  return /* @__PURE__ */ y(
8559
8856
  "li",
8560
8857
  {
@@ -8583,7 +8880,7 @@ function ts({ items: e, style: t }) {
8583
8880
  color: i,
8584
8881
  flexShrink: 0,
8585
8882
  zIndex: 1
8586
- }, children: r.icon ?? /* @__PURE__ */ n(vr, { status: a }) }),
8883
+ }, children: r.icon ?? /* @__PURE__ */ n(kr, { status: a }) }),
8587
8884
  !s && /* @__PURE__ */ n("div", { style: {
8588
8885
  flex: 1,
8589
8886
  width: 2,
@@ -8611,7 +8908,7 @@ function ts({ items: e, style: t }) {
8611
8908
  }
8612
8909
  );
8613
8910
  }
8614
- const ns = {
8911
+ const ds = {
8615
8912
  id: "timeline",
8616
8913
  name: "Timeline",
8617
8914
  tier: "molecule",
@@ -8665,7 +8962,7 @@ const ns = {
8665
8962
  keyboardInteractions: ["Standard document flow — no interactive elements unless custom icons include them"],
8666
8963
  notes: "Timeline is a semantic <ol> with <li> items. It is non-interactive by default. If items contain interactive elements (links, buttons), those elements carry their own keyboard behaviour."
8667
8964
  }
8668
- }, je = 120, yr = `
8965
+ }, je = 120, Sr = `
8669
8966
  @keyframes lucent-menu-in {
8670
8967
  from { opacity: 0; transform: scale(0.97) translateY(-2px); }
8671
8968
  to { opacity: 1; transform: scale(1) translateY(0); }
@@ -8678,20 +8975,20 @@ const ns = {
8678
8975
  sm: "var(--lucent-space-2)",
8679
8976
  md: "var(--lucent-space-2)",
8680
8977
  lg: "var(--lucent-space-3)"
8681
- }, xr = {
8978
+ }, Tr = {
8682
8979
  sm: "sm",
8683
8980
  md: "md",
8684
8981
  lg: "lg"
8685
- }, wr = {
8982
+ }, Cr = {
8686
8983
  sm: "xs",
8687
8984
  md: "sm",
8688
8985
  lg: "md"
8689
- }, kr = {
8986
+ }, Ir = {
8690
8987
  sm: 12,
8691
8988
  md: 14,
8692
8989
  lg: 16
8693
8990
  }, Qe = ye(null), Ie = 4;
8694
- function Sr(e, t, r) {
8991
+ function Mr(e, t, r) {
8695
8992
  const o = t.offsetWidth, a = t.offsetHeight, i = window.innerWidth, l = window.innerHeight;
8696
8993
  let s = 0, c = 0, d = r;
8697
8994
  const u = {
@@ -8704,7 +9001,7 @@ function Sr(e, t, r) {
8704
9001
  let f = "top left";
8705
9002
  return d.startsWith("top") ? f = d.endsWith("-end") ? "bottom right" : d.endsWith("-start") ? "bottom left" : "bottom center" : d.startsWith("bottom") ? f = d.endsWith("-end") ? "top right" : d.endsWith("-start") ? "top left" : "top center" : d === "left" ? f = "center right" : d === "right" && (f = "center left"), { top: s, left: c, transformOrigin: f };
8706
9003
  }
8707
- function as({
9004
+ function us({
8708
9005
  onSelect: e,
8709
9006
  children: t,
8710
9007
  icon: r,
@@ -8716,7 +9013,7 @@ function as({
8716
9013
  }) {
8717
9014
  const c = fe(Qe), d = V(-1);
8718
9015
  d.current === -1 && c && (d.current = c.getItemIndex(), c.registerItem(d.current, a));
8719
- const u = c ? c.activeIndex === d.current : !1, f = (c == null ? void 0 : c.size) ?? "md", h = Ze[f], m = xr[f], T = kr[f], v = () => {
9016
+ const u = c ? c.activeIndex === d.current : !1, f = (c == null ? void 0 : c.size) ?? "md", h = Ze[f], m = Tr[f], T = Ir[f], v = () => {
8720
9017
  a || (e(), c == null || c.close());
8721
9018
  }, p = () => {
8722
9019
  !a && c && c.setActiveIndex(d.current);
@@ -8762,7 +9059,7 @@ function as({
8762
9059
  }
8763
9060
  );
8764
9061
  }
8765
- function rs({ style: e }) {
9062
+ function ps({ style: e }) {
8766
9063
  return /* @__PURE__ */ n(
8767
9064
  "div",
8768
9065
  {
@@ -8776,14 +9073,14 @@ function rs({ style: e }) {
8776
9073
  }
8777
9074
  );
8778
9075
  }
8779
- function os({ label: e, children: t, style: r }) {
9076
+ function fs({ label: e, children: t, style: r }) {
8780
9077
  const o = fe(Qe), a = (o == null ? void 0 : o.size) ?? "md", i = Ze[a];
8781
9078
  return /* @__PURE__ */ y("div", { role: "group", "aria-label": e, style: r, children: [
8782
- /* @__PURE__ */ n("div", { style: { padding: `${i} ${i} var(--lucent-space-1)` }, children: /* @__PURE__ */ n(_, { size: wr[a], color: "secondary", weight: "medium", children: e }) }),
9079
+ /* @__PURE__ */ n("div", { style: { padding: `${i} ${i} var(--lucent-space-1)` }, children: /* @__PURE__ */ n(_, { size: Cr[a], color: "secondary", weight: "medium", children: e }) }),
8783
9080
  t
8784
9081
  ] });
8785
9082
  }
8786
- function is({
9083
+ function hs({
8787
9084
  trigger: e,
8788
9085
  children: t,
8789
9086
  placement: r = "bottom-start",
@@ -8793,107 +9090,107 @@ function is({
8793
9090
  portalContainer: l,
8794
9091
  style: s
8795
9092
  }) {
8796
- const c = a !== void 0, [d, u] = z(!1), f = c ? a : d, [h, m] = z(!1), [T, v] = z("idle"), p = V(null), b = V(null), k = V(null), x = V(!1), [M, S] = z(null), A = V(0), L = V(/* @__PURE__ */ new Map()), [C, D] = z(-1);
9093
+ const c = a !== void 0, [d, u] = z(!1), f = c ? a : d, [h, m] = z(!1), [T, v] = z("idle"), p = V(null), b = V(null), k = V(null), x = V(!1), [M, S] = z(null), A = V(0), R = V(/* @__PURE__ */ new Map()), [C, D] = z(-1);
8797
9094
  if (!x.current && typeof document < "u") {
8798
- const q = document.createElement("style");
8799
- q.textContent = yr, document.head.appendChild(q), x.current = !0;
9095
+ const B = document.createElement("style");
9096
+ B.textContent = Sr, document.head.appendChild(B), x.current = !0;
8800
9097
  }
8801
9098
  X(() => {
8802
9099
  if (f)
8803
- A.current = 0, L.current.clear(), m(!0), v("entering");
9100
+ A.current = 0, R.current.clear(), m(!0), v("entering");
8804
9101
  else if (h) {
8805
9102
  v("exiting");
8806
- const q = setTimeout(() => {
9103
+ const B = setTimeout(() => {
8807
9104
  m(!1), v("idle");
8808
9105
  }, je);
8809
- return () => clearTimeout(q);
9106
+ return () => clearTimeout(B);
8810
9107
  }
8811
9108
  }, [f]);
8812
- const $ = ee((q) => {
8813
- c || u(q), i == null || i(q);
9109
+ const $ = ee((B) => {
9110
+ c || u(B), i == null || i(B);
8814
9111
  }, [c, i]), W = ee(() => {
8815
- const q = k.current;
8816
- q && (q.querySelector("button, [tabindex]") ?? q).focus();
9112
+ const B = k.current;
9113
+ B && (B.querySelector("button, [tabindex]") ?? B).focus();
8817
9114
  }, []), w = ee(() => {
8818
9115
  $(!1), W();
8819
9116
  }, [$, W]);
8820
9117
  se(() => {
8821
9118
  if (!h || T !== "entering" || !p.current) return;
8822
- const q = requestAnimationFrame(() => {
8823
- const I = b.current, B = p.current;
8824
- if (!I || !B) return;
8825
- const P = B.getBoundingClientRect();
8826
- S(Sr(P, I, r));
9119
+ const B = requestAnimationFrame(() => {
9120
+ const I = b.current, q = p.current;
9121
+ if (!I || !q) return;
9122
+ const F = q.getBoundingClientRect();
9123
+ S(Mr(F, I, r));
8827
9124
  });
8828
- return () => cancelAnimationFrame(q);
9125
+ return () => cancelAnimationFrame(B);
8829
9126
  }, [h, T, r]), X(() => {
8830
9127
  if (!h || T !== "entering") return;
8831
- const q = setTimeout(() => {
8832
- const B = Array.from(L.current.entries()).sort((P, j) => P[0] - j[0]).find(([, P]) => !P.disabled);
8833
- D(B ? B[0] : -1);
9128
+ const B = setTimeout(() => {
9129
+ const q = Array.from(R.current.entries()).sort((F, j) => F[0] - j[0]).find(([, F]) => !F.disabled);
9130
+ D(q ? q[0] : -1);
8834
9131
  }, 0);
8835
- return () => clearTimeout(q);
9132
+ return () => clearTimeout(B);
8836
9133
  }, [h, T]), X(() => {
8837
9134
  if (!f) return;
8838
- const q = (B) => {
9135
+ const B = (q) => {
8839
9136
  var j, g;
8840
- const P = B.target;
8841
- (j = p.current) != null && j.contains(P) || (g = b.current) != null && g.contains(P) || w();
9137
+ const F = q.target;
9138
+ (j = p.current) != null && j.contains(F) || (g = b.current) != null && g.contains(F) || w();
8842
9139
  }, I = requestAnimationFrame(() => {
8843
- document.addEventListener("mousedown", q);
9140
+ document.addEventListener("mousedown", B);
8844
9141
  });
8845
9142
  return () => {
8846
- cancelAnimationFrame(I), document.removeEventListener("mousedown", q);
9143
+ cancelAnimationFrame(I), document.removeEventListener("mousedown", B);
8847
9144
  };
8848
9145
  }, [f, w]), X(() => {
8849
9146
  if (!f) return;
8850
- let q = !1;
9147
+ let B = !1;
8851
9148
  const I = setTimeout(() => {
8852
- q = !0;
8853
- }, 50), B = () => {
8854
- q && w();
9149
+ B = !0;
9150
+ }, 50), q = () => {
9151
+ B && w();
8855
9152
  };
8856
- return window.addEventListener("scroll", B, { passive: !0, capture: !0 }), () => {
8857
- clearTimeout(I), window.removeEventListener("scroll", B, { capture: !0 });
9153
+ return window.addEventListener("scroll", q, { passive: !0, capture: !0 }), () => {
9154
+ clearTimeout(I), window.removeEventListener("scroll", q, { capture: !0 });
8858
9155
  };
8859
9156
  }, [f, w]);
8860
- const F = ee(() => Array.from(L.current.entries()).filter(([, q]) => !q.disabled).map(([q]) => q).sort((q, I) => q - I), []), R = ee((q) => {
9157
+ const P = ee(() => Array.from(R.current.entries()).filter(([, B]) => !B.disabled).map(([B]) => B).sort((B, I) => B - I), []), L = ee((B) => {
8861
9158
  if (!f) return;
8862
- const I = F();
9159
+ const I = P();
8863
9160
  if (I.length !== 0)
8864
- switch (q.key) {
9161
+ switch (B.key) {
8865
9162
  case "Escape":
8866
- q.preventDefault(), w();
9163
+ B.preventDefault(), w();
8867
9164
  break;
8868
9165
  case "ArrowDown": {
8869
- q.preventDefault(), D((B) => {
8870
- const P = I.indexOf(B);
8871
- return P < I.length - 1 ? I[P + 1] : I[0];
9166
+ B.preventDefault(), D((q) => {
9167
+ const F = I.indexOf(q);
9168
+ return F < I.length - 1 ? I[F + 1] : I[0];
8872
9169
  });
8873
9170
  break;
8874
9171
  }
8875
9172
  case "ArrowUp": {
8876
- q.preventDefault(), D((B) => {
8877
- const P = I.indexOf(B);
8878
- return P > 0 ? I[P - 1] : I[I.length - 1];
9173
+ B.preventDefault(), D((q) => {
9174
+ const F = I.indexOf(q);
9175
+ return F > 0 ? I[F - 1] : I[I.length - 1];
8879
9176
  });
8880
9177
  break;
8881
9178
  }
8882
9179
  case "Home": {
8883
- q.preventDefault(), D(I[0]);
9180
+ B.preventDefault(), D(I[0]);
8884
9181
  break;
8885
9182
  }
8886
9183
  case "End": {
8887
- q.preventDefault(), D(I[I.length - 1]);
9184
+ B.preventDefault(), D(I[I.length - 1]);
8888
9185
  break;
8889
9186
  }
8890
9187
  case "Enter":
8891
9188
  case " ": {
8892
- q.preventDefault();
8893
- const B = b.current;
8894
- if (B) {
8895
- const P = B.querySelector('[data-active="true"]');
8896
- P == null || P.click();
9189
+ B.preventDefault();
9190
+ const q = b.current;
9191
+ if (q) {
9192
+ const F = q.querySelector('[data-active="true"]');
9193
+ F == null || F.click();
8897
9194
  }
8898
9195
  break;
8899
9196
  }
@@ -8902,29 +9199,29 @@ function is({
8902
9199
  break;
8903
9200
  }
8904
9201
  }
8905
- }, [f, w, F]);
9202
+ }, [f, w, P]);
8906
9203
  X(() => {
8907
9204
  if (f)
8908
- return document.addEventListener("keydown", R), () => document.removeEventListener("keydown", R);
8909
- }, [f, R]), X(() => {
9205
+ return document.addEventListener("keydown", L), () => document.removeEventListener("keydown", L);
9206
+ }, [f, L]), X(() => {
8910
9207
  if (!f) return;
8911
- const q = b.current;
8912
- if (!q) return;
8913
- const I = q.querySelector('[data-active="true"]');
9208
+ const B = b.current;
9209
+ if (!B) return;
9210
+ const I = B.querySelector('[data-active="true"]');
8914
9211
  I == null || I.scrollIntoView({ block: "nearest" });
8915
9212
  }, [C, f]);
8916
9213
  const N = () => {
8917
9214
  $(!f);
8918
- }, U = (q) => {
8919
- (q.key === "Enter" || q.key === " " || q.key === "ArrowDown") && (q.preventDefault(), f || $(!0)), q.key === "ArrowUp" && (q.preventDefault(), f || ($(!0), setTimeout(() => {
8920
- const I = F();
9215
+ }, U = (B) => {
9216
+ (B.key === "Enter" || B.key === " " || B.key === "ArrowDown") && (B.preventDefault(), f || $(!0)), B.key === "ArrowUp" && (B.preventDefault(), f || ($(!0), setTimeout(() => {
9217
+ const I = P();
8921
9218
  I.length > 0 && D(I[I.length - 1]);
8922
9219
  }, 0)));
8923
9220
  }, Z = {
8924
9221
  activeIndex: C,
8925
9222
  setActiveIndex: D,
8926
- registerItem: (q, I) => {
8927
- L.current.set(q, { disabled: I });
9223
+ registerItem: (B, I) => {
9224
+ R.current.set(B, { disabled: I });
8928
9225
  },
8929
9226
  close: w,
8930
9227
  getItemIndex: () => A.current++,
@@ -8986,7 +9283,7 @@ function is({
8986
9283
  )
8987
9284
  ] });
8988
9285
  }
8989
- const ss = {
9286
+ const ms = {
8990
9287
  id: "menu",
8991
9288
  name: "Menu",
8992
9289
  tier: "molecule",
@@ -9219,45 +9516,45 @@ const ss = {
9219
9516
  notes: 'Focus returns to the trigger element after the menu is dismissed via Escape or selection. Disabled items are skipped during keyboard navigation and have aria-disabled. Selected items use role="menuitemcheckbox" with aria-checked for screen reader announcement. The popover is portaled to document.body (or portalContainer) but remains semantically linked to the trigger via aria-controls.'
9220
9517
  }
9221
9518
  }, Mt = ye(null);
9222
- function ls() {
9519
+ function gs() {
9223
9520
  const e = fe(Mt);
9224
9521
  if (!e) throw new Error("useToast must be used inside <ToastProvider>");
9225
9522
  return e;
9226
9523
  }
9227
- const Tr = () => /* @__PURE__ */ y("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
9524
+ const Dr = () => /* @__PURE__ */ y("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
9228
9525
  /* @__PURE__ */ n("circle", { cx: "8", cy: "8", r: "6.5", stroke: "currentColor", strokeWidth: "1.5" }),
9229
9526
  /* @__PURE__ */ n("path", { d: "M8 5.5V8.5M8 10.5V11", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })
9230
- ] }), Cr = () => /* @__PURE__ */ y("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
9527
+ ] }), zr = () => /* @__PURE__ */ y("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
9231
9528
  /* @__PURE__ */ n("circle", { cx: "8", cy: "8", r: "6.5", stroke: "currentColor", strokeWidth: "1.5" }),
9232
9529
  /* @__PURE__ */ n("path", { d: "M5 8L7 10L11 6", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })
9233
- ] }), Ir = () => /* @__PURE__ */ y("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
9530
+ ] }), Ar = () => /* @__PURE__ */ y("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
9234
9531
  /* @__PURE__ */ n("path", { d: "M8 2L14.5 13H1.5L8 2Z", stroke: "currentColor", strokeWidth: "1.5", strokeLinejoin: "round" }),
9235
9532
  /* @__PURE__ */ n("path", { d: "M8 6V9M8 11V11.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })
9236
- ] }), Mr = () => /* @__PURE__ */ y("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
9533
+ ] }), Er = () => /* @__PURE__ */ y("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: [
9237
9534
  /* @__PURE__ */ n("circle", { cx: "8", cy: "8", r: "6.5", stroke: "currentColor", strokeWidth: "1.5" }),
9238
9535
  /* @__PURE__ */ n("path", { d: "M5.5 5.5L10.5 10.5M10.5 5.5L5.5 10.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })
9239
- ] }), Dr = () => /* @__PURE__ */ n("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ n("path", { d: "M3 3L11 11M11 3L3 11", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }), zr = {
9240
- info: /* @__PURE__ */ n(Tr, {}),
9241
- success: /* @__PURE__ */ n(Cr, {}),
9242
- warning: /* @__PURE__ */ n(Ir, {}),
9243
- danger: /* @__PURE__ */ n(Mr, {})
9244
- }, Ar = {
9536
+ ] }), qr = () => /* @__PURE__ */ n("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ n("path", { d: "M3 3L11 11M11 3L3 11", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }), Br = {
9537
+ info: /* @__PURE__ */ n(Dr, {}),
9538
+ success: /* @__PURE__ */ n(zr, {}),
9539
+ warning: /* @__PURE__ */ n(Ar, {}),
9540
+ danger: /* @__PURE__ */ n(Er, {})
9541
+ }, Rr = {
9245
9542
  default: { border: "var(--lucent-border-default)", iconColor: "var(--lucent-text-secondary)" },
9246
9543
  info: { border: "var(--lucent-info-default)", iconColor: "var(--lucent-info-text)" },
9247
9544
  success: { border: "var(--lucent-success-default)", iconColor: "var(--lucent-success-text)" },
9248
9545
  warning: { border: "var(--lucent-warning-default)", iconColor: "var(--lucent-warning-text)" },
9249
9546
  danger: { border: "var(--lucent-danger-default)", iconColor: "var(--lucent-danger-text)" }
9250
9547
  };
9251
- let Er = 0;
9252
- function Br() {
9253
- return `lucent-toast-${++Er}`;
9548
+ let Lr = 0;
9549
+ function Fr() {
9550
+ return `lucent-toast-${++Lr}`;
9254
9551
  }
9255
9552
  function Dt(e) {
9256
9553
  return e.startsWith("top");
9257
9554
  }
9258
- const qr = 200, Lr = 8, Rr = 0.04, Pr = 0.2, Fr = 3, Nr = 356;
9555
+ const Pr = 200, Nr = 8, $r = 0.04, Wr = 0.2, Or = 3, Hr = 356;
9259
9556
  function ft({ entry: e, onDismiss: t, hideContent: r, fixedHeight: o }) {
9260
- const { id: a, title: i, description: l, variant: s, action: c, icon: d } = e, u = Ar[s], f = d ?? (s !== "default" ? zr[s] : null), h = (c == null ? void 0 : c.style) ?? "button";
9557
+ const { id: a, title: i, description: l, variant: s, action: c, icon: d } = e, u = Rr[s], f = d ?? (s !== "default" ? Br[s] : null), h = (c == null ? void 0 : c.style) ?? "button";
9261
9558
  return /* @__PURE__ */ n(
9262
9559
  "div",
9263
9560
  {
@@ -9271,7 +9568,7 @@ function ft({ entry: e, onDismiss: t, hideContent: r, fixedHeight: o }) {
9271
9568
  borderRadius: "var(--lucent-radius-lg)",
9272
9569
  boxShadow: r ? "none" : "var(--lucent-shadow-lg)",
9273
9570
  boxSizing: "border-box",
9274
- width: Nr,
9571
+ width: Hr,
9275
9572
  maxWidth: "calc(100vw - var(--lucent-space-8))",
9276
9573
  fontFamily: "var(--lucent-font-family-base)",
9277
9574
  transition: "height var(--lucent-duration-base) var(--lucent-easing-emphasized), box-shadow var(--lucent-duration-base) var(--lucent-easing-default)",
@@ -9294,10 +9591,10 @@ function ft({ entry: e, onDismiss: t, hideContent: r, fixedHeight: o }) {
9294
9591
  /* @__PURE__ */ n(_, { as: "span", size: "sm", weight: "semibold", color: "primary", lineHeight: "tight", children: i }),
9295
9592
  l && /* @__PURE__ */ n(_, { as: "span", size: "sm", color: "secondary", lineHeight: "base", style: { whiteSpace: "pre-line" }, children: l })
9296
9593
  ] }),
9297
- c && h === "button" && /* @__PURE__ */ n($r, { label: c.label, onClick: () => {
9594
+ c && h === "button" && /* @__PURE__ */ n(Vr, { label: c.label, onClick: () => {
9298
9595
  c.onClick(), t(a);
9299
9596
  } }),
9300
- c && h === "link" && /* @__PURE__ */ n(Wr, { label: c.label, iconColor: u.iconColor, onClick: () => {
9597
+ c && h === "link" && /* @__PURE__ */ n(jr, { label: c.label, iconColor: u.iconColor, onClick: () => {
9301
9598
  c.onClick(), t(a);
9302
9599
  } }),
9303
9600
  /* @__PURE__ */ n(
@@ -9324,7 +9621,7 @@ function ft({ entry: e, onDismiss: t, hideContent: r, fixedHeight: o }) {
9324
9621
  onMouseLeave: (m) => {
9325
9622
  r || (m.currentTarget.style.opacity = "0.6");
9326
9623
  },
9327
- children: /* @__PURE__ */ n(Dr, {})
9624
+ children: /* @__PURE__ */ n(qr, {})
9328
9625
  }
9329
9626
  )
9330
9627
  ]
@@ -9333,7 +9630,7 @@ function ft({ entry: e, onDismiss: t, hideContent: r, fixedHeight: o }) {
9333
9630
  }
9334
9631
  );
9335
9632
  }
9336
- function $r({ label: e, onClick: t }) {
9633
+ function Vr({ label: e, onClick: t }) {
9337
9634
  return /* @__PURE__ */ n(
9338
9635
  "button",
9339
9636
  {
@@ -9364,7 +9661,7 @@ function $r({ label: e, onClick: t }) {
9364
9661
  }
9365
9662
  );
9366
9663
  }
9367
- function Wr({ label: e, iconColor: t, onClick: r }) {
9664
+ function jr({ label: e, iconColor: t, onClick: r }) {
9368
9665
  return /* @__PURE__ */ n(
9369
9666
  "button",
9370
9667
  {
@@ -9388,17 +9685,17 @@ function Wr({ label: e, iconColor: t, onClick: r }) {
9388
9685
  }
9389
9686
  );
9390
9687
  }
9391
- const ht = "var(--lucent-space-6)", Or = 40, Hr = 120;
9392
- function Vr(e) {
9688
+ const ht = "var(--lucent-space-6)", Ur = 40, Gr = 120;
9689
+ function _r(e) {
9393
9690
  const t = {
9394
9691
  position: "fixed",
9395
9692
  zIndex: 9999,
9396
9693
  pointerEvents: "none",
9397
9694
  boxSizing: "border-box"
9398
9695
  };
9399
- return Dt(e) ? t.top = Or : t.top = `calc(100vh - ${Hr}px)`, e.endsWith("left") ? t.left = ht : e.endsWith("right") ? t.right = ht : (t.left = "50%", t.transform = "translateX(-50%)"), t;
9696
+ return Dt(e) ? t.top = Ur : t.top = `calc(100vh - ${Gr}px)`, e.endsWith("left") ? t.left = ht : e.endsWith("right") ? t.right = ht : (t.left = "50%", t.transform = "translateX(-50%)"), t;
9400
9697
  }
9401
- function jr({ toasts: e, position: t, onDismiss: r, portalContainer: o }) {
9698
+ function Yr({ toasts: e, position: t, onDismiss: r, portalContainer: o }) {
9402
9699
  const [a, i] = z(!1), [l, s] = z(void 0), c = ee((p) => {
9403
9700
  p && s(p.offsetHeight);
9404
9701
  }, []), d = Dt(t), u = e.filter((p) => p.phase !== "exiting"), f = e.filter((p) => p.phase === "exiting");
@@ -9411,7 +9708,7 @@ function jr({ toasts: e, position: t, onDismiss: r, portalContainer: o }) {
9411
9708
  h.current = setTimeout(() => {
9412
9709
  i(!1), h.current = null;
9413
9710
  }, 150);
9414
- }, []), v = /* @__PURE__ */ n("div", { style: Vr(t), children: /* @__PURE__ */ n(
9711
+ }, []), v = /* @__PURE__ */ n("div", { style: _r(t), children: /* @__PURE__ */ n(
9415
9712
  "div",
9416
9713
  {
9417
9714
  onMouseEnter: m,
@@ -9427,7 +9724,7 @@ function jr({ toasts: e, position: t, onDismiss: r, portalContainer: o }) {
9427
9724
  transition: "transform var(--lucent-duration-base) var(--lucent-easing-emphasized), margin var(--lucent-duration-base) var(--lucent-easing-emphasized), gap var(--lucent-duration-base) var(--lucent-easing-emphasized)"
9428
9725
  }, children: [
9429
9726
  u.map((p, b) => {
9430
- const k = u.length - 1 - b, x = !a && k > Fr, M = k * Lr, S = d ? M : -M, A = a ? 1 : 1 - k * Rr, L = a ? 1 : Math.max(0, 1 - k * Pr), C = p.phase === "entering", D = k === 0, $ = !a && !D;
9727
+ const k = u.length - 1 - b, x = !a && k > Or, M = k * Nr, S = d ? M : -M, A = a ? 1 : 1 - k * $r, R = a ? 1 : Math.max(0, 1 - k * Wr), C = p.phase === "entering", D = k === 0, $ = !a && !D;
9431
9728
  return /* @__PURE__ */ n(
9432
9729
  "div",
9433
9730
  {
@@ -9444,7 +9741,7 @@ function jr({ toasts: e, position: t, onDismiss: r, portalContainer: o }) {
9444
9741
  ...!a && !D && (d ? { bottom: 0 } : { top: 0 }),
9445
9742
  zIndex: 100 - k,
9446
9743
  transform: C ? `translateY(${d ? "-20px" : "20px"}) scale(0.96)` : a ? void 0 : `translateY(${S}px) scaleX(${A})`,
9447
- opacity: C || p.phase === "exiting" ? 0 : L,
9744
+ opacity: C || p.phase === "exiting" ? 0 : R,
9448
9745
  transformOrigin: d ? "bottom center" : "top center",
9449
9746
  transition: C ? "none" : "transform var(--lucent-duration-base) var(--lucent-easing-emphasized), opacity var(--lucent-duration-base) var(--lucent-easing-default)",
9450
9747
  pointerEvents: x ? "none" : "auto",
@@ -9487,7 +9784,7 @@ function jr({ toasts: e, position: t, onDismiss: r, portalContainer: o }) {
9487
9784
  ) });
9488
9785
  return de(v, o ?? document.body);
9489
9786
  }
9490
- function cs({
9787
+ function bs({
9491
9788
  children: e,
9492
9789
  position: t = "bottom-right",
9493
9790
  duration: r = 5e3,
@@ -9500,9 +9797,9 @@ function cs({
9500
9797
  return !h || h.phase === "exiting" ? f : f.map((m) => m.id === u ? { ...m, phase: "exiting" } : m);
9501
9798
  }), setTimeout(() => {
9502
9799
  l((f) => f.filter((h) => h.id !== u));
9503
- }, qr);
9800
+ }, Pr);
9504
9801
  }, []), c = ee((u) => {
9505
- const f = Br(), h = {
9802
+ const f = Fr(), h = {
9506
9803
  id: f,
9507
9804
  title: u.title,
9508
9805
  variant: u.variant ?? "default",
@@ -9541,7 +9838,7 @@ function cs({
9541
9838
  return /* @__PURE__ */ y(Mt.Provider, { value: d, children: [
9542
9839
  e,
9543
9840
  i.length > 0 && /* @__PURE__ */ n(
9544
- jr,
9841
+ Yr,
9545
9842
  {
9546
9843
  toasts: i,
9547
9844
  position: t,
@@ -9551,7 +9848,7 @@ function cs({
9551
9848
  )
9552
9849
  ] });
9553
9850
  }
9554
- const ds = {
9851
+ const vs = {
9555
9852
  id: "toast",
9556
9853
  name: "Toast",
9557
9854
  tier: "molecule",
@@ -9748,7 +10045,7 @@ dismiss(id);`
9748
10045
  ],
9749
10046
  notes: 'Each toast uses role="status" with aria-live="polite" so screen readers announce the content without interrupting the current task. This is appropriate for non-urgent status messages like "Changes saved" or "Profile updated". For truly urgent errors that must interrupt the user, consider wrapping the ToastProvider output in a role="alert" region or using the Alert component instead. The dismiss button carries aria-label="Dismiss" for screen reader clarity. Stacked toasts behind the front toast are marked aria-hidden="true" to prevent screen readers from announcing duplicate or hidden content. When the stack expands on hover, aria-hidden is removed so all toasts become accessible.'
9750
10047
  }
9751
- }, Ur = {
10048
+ }, Kr = {
9752
10049
  fontFamilyBase: '"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
9753
10050
  fontFamilyMono: '"DM Mono", "Fira Code", "Cascadia Code", monospace',
9754
10051
  fontFamilyDisplay: '"Georama", "DM Sans", sans-serif',
@@ -9769,7 +10066,7 @@ dismiss(id);`
9769
10066
  letterSpacingTight: "-0.02em",
9770
10067
  letterSpacingBase: "0em",
9771
10068
  letterSpacingWide: "0.04em"
9772
- }, Gr = {
10069
+ }, Xr = {
9773
10070
  space0: "0px",
9774
10071
  space1: "0.25rem",
9775
10072
  space2: "0.5rem",
@@ -9783,38 +10080,38 @@ dismiss(id);`
9783
10080
  space16: "4rem",
9784
10081
  space20: "5rem",
9785
10082
  space24: "6rem"
9786
- }, _r = {
10083
+ }, Jr = {
9787
10084
  radiusNone: "0px",
9788
10085
  radiusSm: "0.25rem",
9789
10086
  radiusMd: "0.375rem",
9790
10087
  radiusLg: "0.5rem",
9791
10088
  radiusXl: "0.75rem",
9792
10089
  radiusFull: "9999px"
9793
- }, Yr = {
10090
+ }, Zr = {
9794
10091
  durationFast: "100ms",
9795
10092
  durationBase: "200ms",
9796
10093
  durationSlow: "350ms",
9797
10094
  easingDefault: "cubic-bezier(0.4, 0, 0.2, 1)",
9798
10095
  easingEmphasized: "cubic-bezier(0.2, 0, 0, 1)",
9799
10096
  easingDecelerate: "cubic-bezier(0, 0, 0.2, 1)"
9800
- }, Kr = {
10097
+ }, Qr = {
9801
10098
  shadowNone: "none",
9802
10099
  shadowSm: "0 1px 2px 0 rgb(0 0 0 / 0.05)",
9803
10100
  shadowMd: "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
9804
10101
  shadowLg: "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",
9805
10102
  shadowXl: "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)"
9806
- }, Xr = {
10103
+ }, eo = {
9807
10104
  shadowNone: "none",
9808
10105
  shadowSm: "0 1px 2px 0 rgb(0 0 0 / 0.3)",
9809
10106
  shadowMd: "0 4px 6px -1px rgb(0 0 0 / 0.4), 0 2px 4px -2px rgb(0 0 0 / 0.4)",
9810
10107
  shadowLg: "0 10px 15px -3px rgb(0 0 0 / 0.4), 0 4px 6px -4px rgb(0 0 0 / 0.4)",
9811
10108
  shadowXl: "0 20px 25px -5px rgb(0 0 0 / 0.5), 0 8px 10px -6px rgb(0 0 0 / 0.5)"
9812
- }, Fe = {
9813
- ...Ur,
9814
- ...Gr,
9815
- ..._r,
9816
- ...Yr,
10109
+ }, Pe = {
9817
10110
  ...Kr,
10111
+ ...Xr,
10112
+ ...Jr,
10113
+ ...Zr,
10114
+ ...Qr,
9818
10115
  // Backgrounds — page/layout layer only
9819
10116
  bgBase: "#ffffff",
9820
10117
  bgSubtle: "#f9fafb",
@@ -9863,16 +10160,16 @@ dismiss(id);`
9863
10160
  // Focus
9864
10161
  focusRing: "#111827"
9865
10162
  };
9866
- function Jr(e) {
10163
+ function to(e) {
9867
10164
  const t = parseInt(e.slice(1, 3), 16), r = parseInt(e.slice(3, 5), 16), o = parseInt(e.slice(5, 7), 16);
9868
10165
  return { r: t, g: r, b: o };
9869
10166
  }
9870
- function Zr({ r: e, g: t, b: r }) {
10167
+ function no({ r: e, g: t, b: r }) {
9871
10168
  const o = (a) => a.toString(16).padStart(2, "0");
9872
10169
  return `#${o(e)}${o(t)}${o(r)}`;
9873
10170
  }
9874
10171
  function le(e) {
9875
- const { r: t, g: r, b: o } = Jr(e), a = t / 255, i = r / 255, l = o / 255, s = Math.max(a, i, l), c = Math.min(a, i, l);
10172
+ const { r: t, g: r, b: o } = to(e), a = t / 255, i = r / 255, l = o / 255, s = Math.max(a, i, l), c = Math.min(a, i, l);
9876
10173
  let d = 0, u = 0;
9877
10174
  const f = (s + c) / 2;
9878
10175
  if (s !== c) {
@@ -9896,17 +10193,17 @@ function ie(e, t, r) {
9896
10193
  e = (e % 360 + 360) % 360, t = Math.min(1, Math.max(0, t)), r = Math.min(1, Math.max(0, r));
9897
10194
  const o = (1 - Math.abs(2 * r - 1)) * t, a = o * (1 - Math.abs(e / 60 % 2 - 1)), i = r - o / 2;
9898
10195
  let l = 0, s = 0, c = 0;
9899
- return e < 60 ? (l = o, s = a) : e < 120 ? (l = a, s = o) : e < 180 ? (s = o, c = a) : e < 240 ? (s = a, c = o) : e < 300 ? (l = a, c = o) : (l = o, c = a), Zr({ r: Math.round((l + i) * 255), g: Math.round((s + i) * 255), b: Math.round((c + i) * 255) });
10196
+ return e < 60 ? (l = o, s = a) : e < 120 ? (l = a, s = o) : e < 180 ? (s = o, c = a) : e < 240 ? (s = a, c = o) : e < 300 ? (l = a, c = o) : (l = o, c = a), no({ r: Math.round((l + i) * 255), g: Math.round((s + i) * 255), b: Math.round((c + i) * 255) });
9900
10197
  }
9901
10198
  function K(e, t) {
9902
10199
  const [r, o, a] = le(e);
9903
10200
  return ie(r, o, Math.min(1, Math.max(0, a + t)));
9904
10201
  }
9905
- const Qr = 222, eo = 0.12;
10202
+ const ao = 222, ro = 0.12;
9906
10203
  function zt(e, t) {
9907
- return t < 0.04 ? [Qr, eo] : [e, t];
10204
+ return t < 0.04 ? [ao, ro] : [e, t];
9908
10205
  }
9909
- function to(e) {
10206
+ function oo(e) {
9910
10207
  const [t, r, o] = le(e), [a, i] = zt(t, r);
9911
10208
  return ie(a, i, Math.max(0.04, Math.min(0.2, 0.07 + (1 - o))));
9912
10209
  }
@@ -9922,13 +10219,13 @@ function me(e) {
9922
10219
  const [t, r, o] = le(e);
9923
10220
  return ie(t, r, Math.max(0.02, Math.min(0.98, 1 - o)));
9924
10221
  }
9925
- function no(e) {
9926
- const t = to(e.bgBase), [r, o, a] = le(t), i = (l) => ie(r, o, Math.min(0.25, a + l));
10222
+ function io(e) {
10223
+ const t = oo(e.bgBase), [r, o, a] = le(t), i = (l) => ie(r, o, Math.min(0.25, a + l));
9927
10224
  return {
9928
10225
  // ── Non-color tokens: carry over from light unchanged ──────────────────
9929
10226
  ...e,
9930
10227
  // ── Shadows: dark variants have higher opacity for visibility ───────────
9931
- ...Xr,
10228
+ ...eo,
9932
10229
  // ── Backgrounds ─────────────────────────────────────────────────────────
9933
10230
  bgBase: t,
9934
10231
  bgSubtle: i(0.02),
@@ -9977,60 +10274,60 @@ function no(e) {
9977
10274
  focusRing: me(e.focusRing)
9978
10275
  };
9979
10276
  }
9980
- const At = no(Fe);
9981
- function ao(e) {
10277
+ const At = io(Pe);
10278
+ function so(e) {
9982
10279
  return "--lucent-" + e.replace(/([A-Z])/g, (t) => `-${t.toLowerCase()}`).replace(/([a-z])(\d)/g, (t, r, o) => `${r}-${o}`);
9983
10280
  }
9984
- function ro(e, t = ":root") {
9985
- const r = Object.entries(e).map(([o, a]) => ` ${ao(o)}: ${a};`).join(`
10281
+ function lo(e, t = ":root") {
10282
+ const r = Object.entries(e).map(([o, a]) => ` ${so(o)}: ${a};`).join(`
9986
10283
  `);
9987
10284
  return `${t} {
9988
10285
  ${r}
9989
10286
  }`;
9990
10287
  }
9991
- function oo(e) {
10288
+ function co(e) {
9992
10289
  const t = parseInt(e.slice(1, 3), 16) / 255, r = parseInt(e.slice(3, 5), 16) / 255, o = parseInt(e.slice(5, 7), 16) / 255, a = (i) => i <= 0.03928 ? i / 12.92 : Math.pow((i + 0.055) / 1.055, 2.4);
9993
10290
  return 0.2126 * a(t) + 0.7152 * a(r) + 0.0722 * a(o);
9994
10291
  }
9995
- const io = 0.2126729, so = 0.7151522, lo = 0.072175, co = 0.56, uo = 0.57, po = 0.65, fo = 0.62, mt = 0.022, ho = 1.414, mo = 1.14, go = 1.14, gt = 0.027, bt = 0.027;
10292
+ const uo = 0.2126729, po = 0.7151522, fo = 0.072175, ho = 0.56, mo = 0.57, go = 0.65, bo = 0.62, mt = 0.022, vo = 1.414, yo = 1.14, xo = 1.14, gt = 0.027, bt = 0.027;
9996
10293
  function vt(e) {
9997
10294
  const t = parseInt(e.slice(1, 3), 16) / 255, r = parseInt(e.slice(3, 5), 16) / 255, o = parseInt(e.slice(5, 7), 16) / 255, a = Math.pow(t, 2.4), i = Math.pow(r, 2.4), l = Math.pow(o, 2.4);
9998
- let s = io * a + so * i + lo * l;
9999
- return s < 0 && (s = 0), s < mt ? s + Math.pow(mt - s, ho) : s;
10295
+ let s = uo * a + po * i + fo * l;
10296
+ return s < 0 && (s = 0), s < mt ? s + Math.pow(mt - s, vo) : s;
10000
10297
  }
10001
- function Re(e, t) {
10298
+ function Le(e, t) {
10002
10299
  const r = vt(e), o = vt(t);
10003
10300
  let a;
10004
10301
  if (r > o) {
10005
- const i = (Math.pow(r, co) - Math.pow(o, uo)) * mo;
10302
+ const i = (Math.pow(r, ho) - Math.pow(o, mo)) * yo;
10006
10303
  a = i < gt ? 0 : i - gt;
10007
10304
  } else {
10008
- const i = (Math.pow(r, po) - Math.pow(o, fo)) * go;
10305
+ const i = (Math.pow(r, go) - Math.pow(o, bo)) * xo;
10009
10306
  a = i > -bt ? 0 : i + bt;
10010
10307
  }
10011
10308
  return a * 100;
10012
10309
  }
10013
10310
  function Et(e) {
10014
- const t = Math.abs(Re(e, "#ffffff")), r = Math.abs(Re(e, "#000000"));
10311
+ const t = Math.abs(Le(e, "#ffffff")), r = Math.abs(Le(e, "#000000"));
10015
10312
  return t >= r ? "#ffffff" : "#000000";
10016
10313
  }
10017
- function bo(e, t, r = 60) {
10018
- if (Math.abs(Re(e, t)) >= r) return e;
10314
+ function wo(e, t, r = 60) {
10315
+ if (Math.abs(Le(e, t)) >= r) return e;
10019
10316
  const o = parseInt(e.slice(1, 3), 16) / 255, a = parseInt(e.slice(3, 5), 16) / 255, i = parseInt(e.slice(5, 7), 16) / 255, l = Math.max(o, a, i), s = Math.min(o, a, i);
10020
10317
  let c = 0, d = 0, u = (l + s) / 2;
10021
10318
  if (l !== s) {
10022
10319
  const m = l - s;
10023
10320
  d = u > 0.5 ? m / (2 - l - s) : m / (l + s), l === o ? c = ((a - i) / m + (a < i ? 6 : 0)) / 6 : l === a ? c = ((i - o) / m + 2) / 6 : c = ((o - a) / m + 4) / 6;
10024
10321
  }
10025
- const h = oo(t) > 0.5 ? -5e-3 : 5e-3;
10322
+ const h = co(t) > 0.5 ? -5e-3 : 5e-3;
10026
10323
  for (let m = 0; m < 100; m++) {
10027
10324
  u = Math.min(1, Math.max(0, u + h));
10028
- const T = vo(c, d, u);
10029
- if (Math.abs(Re(T, t)) >= r) return T;
10325
+ const T = ko(c, d, u);
10326
+ if (Math.abs(Le(T, t)) >= r) return T;
10030
10327
  }
10031
10328
  return e;
10032
10329
  }
10033
- function vo(e, t, r) {
10330
+ function ko(e, t, r) {
10034
10331
  const o = (c, d, u) => (u < 0 && (u += 1), u > 1 && (u -= 1), u < 0.16666666666666666 ? c + (d - c) * 6 * u : u < 0.5 ? d : u < 0.6666666666666666 ? c + (d - c) * (0.6666666666666666 - u) * 6 : c);
10035
10332
  let a, i, l;
10036
10333
  if (t === 0)
@@ -10042,32 +10339,32 @@ function vo(e, t, r) {
10042
10339
  const s = (c) => Math.round(c * 255).toString(16).padStart(2, "0");
10043
10340
  return `#${s(a)}${s(i)}${s(l)}`;
10044
10341
  }
10045
- function yo(e, t) {
10342
+ function So(e, t) {
10046
10343
  const [r, o, a] = le(e);
10047
10344
  return t ? ie(r, o * 0.3, Math.min(1, a + (1 - a) * 0.85)) : ie(r, o, Math.min(0.25, a + 0.04));
10048
10345
  }
10049
- const Pe = {
10346
+ const Fe = {
10050
10347
  subtle: { light: 0.95, dark: 0.12 },
10051
10348
  text: { light: 0.28, dark: 0.78 }
10052
10349
  };
10053
10350
  function Me(e, t) {
10054
10351
  const [r, o] = le(e);
10055
- return ie(r, o * 0.5, t ? Pe.subtle.light : Pe.subtle.dark);
10352
+ return ie(r, o * 0.5, t ? Fe.subtle.light : Fe.subtle.dark);
10056
10353
  }
10057
10354
  function De(e, t) {
10058
10355
  const [r, o] = le(e);
10059
- return ie(r, o, t ? Pe.text.light : Pe.text.dark);
10356
+ return ie(r, o, t ? Fe.text.light : Fe.text.dark);
10060
10357
  }
10061
- function Bt(e, t, r) {
10358
+ function qt(e, t, r) {
10062
10359
  const o = {}, a = r === "light";
10063
10360
  if ("borderDefault" in e && ("borderSubtle" in e || (o.borderSubtle = K(t.borderDefault, a ? 0.05 : -0.02)), "borderStrong" in e || (o.borderStrong = K(t.borderDefault, a ? -0.27 : 0.19))), "bgBase" in e && ("bgSubtle" in e || (o.bgSubtle = K(t.bgBase, a ? -0.02 : 0.02)), "surfaceTint" in e || (o.surfaceTint = K(t.bgBase, a ? -0.04 : 0.03)), !("surface" in e))) {
10064
- const i = yo(t.bgBase, a);
10361
+ const i = So(t.bgBase, a);
10065
10362
  o.surface = i, "surfaceSecondary" in e || (o.surfaceSecondary = K(i, a ? -0.04 : 0.03)), "surfaceRaised" in e || (o.surfaceRaised = K(i, a ? 0 : 0.06)), "surfaceOverlay" in e || (o.surfaceOverlay = K(i, a ? 0 : 0.06));
10066
10363
  }
10067
10364
  return "surface" in e && ("surfaceSecondary" in e || (o.surfaceSecondary = K(t.surface, a ? -0.04 : 0.03)), "surfaceRaised" in e || (o.surfaceRaised = K(t.surface, a ? 0 : 0.06)), "surfaceOverlay" in e || (o.surfaceOverlay = K(t.surface, a ? 0 : 0.06))), "textPrimary" in e && ("textSecondary" in e || (o.textSecondary = K(t.textPrimary, a ? 0.2 : -0.15)), "textDisabled" in e || (o.textDisabled = K(t.textPrimary, a ? 0.35 : -0.4))), "accentDefault" in e && ("accentHover" in e || (o.accentHover = K(t.accentDefault, a ? 0.05 : -0.07)), "accentActive" in e || (o.accentActive = K(t.accentDefault, a ? 0.13 : -0.14)), "accentSubtle" in e || (o.accentSubtle = K(t.accentDefault, a ? 0.85 : -0.6))), "successDefault" in e && ("successSubtle" in e || (o.successSubtle = Me(t.successDefault, a)), "successText" in e || (o.successText = De(t.successDefault, a))), "warningDefault" in e && ("warningSubtle" in e || (o.warningSubtle = Me(t.warningDefault, a)), "warningText" in e || (o.warningText = De(t.warningDefault, a))), "dangerDefault" in e && ("dangerHover" in e || (o.dangerHover = K(t.dangerDefault, a ? 0.05 : -0.07)), "dangerSubtle" in e || (o.dangerSubtle = Me(t.dangerDefault, a)), "dangerText" in e || (o.dangerText = De(t.dangerDefault, a))), "infoDefault" in e && ("infoSubtle" in e || (o.infoSubtle = Me(t.infoDefault, a)), "infoText" in e || (o.infoText = De(t.infoDefault, a))), o;
10068
10365
  }
10069
- function qt(e, t = "light") {
10070
- const o = { ...t === "dark" ? At : Fe, ...e }, a = Bt(e, o, t), i = t === "light" ? K(o.accentDefault, -0.15) : K(o.accentDefault, 0.15);
10366
+ function Bt(e, t = "light") {
10367
+ const o = { ...t === "dark" ? At : Pe, ...e }, a = qt(e, o, t), i = t === "light" ? K(o.accentDefault, -0.15) : K(o.accentDefault, 0.15);
10071
10368
  return {
10072
10369
  ...o,
10073
10370
  ...a,
@@ -10075,7 +10372,7 @@ function qt(e, t = "light") {
10075
10372
  accentBorder: i
10076
10373
  };
10077
10374
  }
10078
- const Lt = {
10375
+ const Rt = {
10079
10376
  name: "default",
10080
10377
  light: {
10081
10378
  bgBase: "#ffffff",
@@ -10097,7 +10394,7 @@ const Lt = {
10097
10394
  dangerDefault: "#ef4444",
10098
10395
  infoDefault: "#3b82f6"
10099
10396
  }
10100
- }, xo = {
10397
+ }, To = {
10101
10398
  name: "brand",
10102
10399
  light: {
10103
10400
  bgBase: "#fffefb",
@@ -10119,7 +10416,7 @@ const Lt = {
10119
10416
  dangerDefault: "#ef4444",
10120
10417
  infoDefault: "#3b82f6"
10121
10418
  }
10122
- }, Rt = {
10419
+ }, Lt = {
10123
10420
  name: "indigo",
10124
10421
  light: {
10125
10422
  bgBase: "#fdfcff",
@@ -10141,7 +10438,7 @@ const Lt = {
10141
10438
  dangerDefault: "#ef4444",
10142
10439
  infoDefault: "#3b82f6"
10143
10440
  }
10144
- }, wo = {
10441
+ }, Co = {
10145
10442
  name: "violet",
10146
10443
  light: {
10147
10444
  bgBase: "#fdfcfe",
@@ -10163,7 +10460,7 @@ const Lt = {
10163
10460
  dangerDefault: "#ef4444",
10164
10461
  infoDefault: "#3b82f6"
10165
10462
  }
10166
- }, ko = {
10463
+ }, Io = {
10167
10464
  name: "emerald",
10168
10465
  light: {
10169
10466
  bgBase: "#fbfefc",
@@ -10185,7 +10482,7 @@ const Lt = {
10185
10482
  dangerDefault: "#ef4444",
10186
10483
  infoDefault: "#3b82f6"
10187
10484
  }
10188
- }, So = {
10485
+ }, Mo = {
10189
10486
  name: "teal",
10190
10487
  light: {
10191
10488
  bgBase: "#fbfefd",
@@ -10207,7 +10504,7 @@ const Lt = {
10207
10504
  dangerDefault: "#ef4444",
10208
10505
  infoDefault: "#3b82f6"
10209
10506
  }
10210
- }, Pt = {
10507
+ }, Ft = {
10211
10508
  name: "rose",
10212
10509
  light: {
10213
10510
  bgBase: "#fffcfd",
@@ -10229,7 +10526,7 @@ const Lt = {
10229
10526
  dangerDefault: "#ef4444",
10230
10527
  infoDefault: "#3b82f6"
10231
10528
  }
10232
- }, To = {
10529
+ }, Do = {
10233
10530
  name: "coral",
10234
10531
  light: {
10235
10532
  bgBase: "#fffcfb",
@@ -10251,7 +10548,7 @@ const Lt = {
10251
10548
  dangerDefault: "#ef4444",
10252
10549
  infoDefault: "#3b82f6"
10253
10550
  }
10254
- }, Co = {
10551
+ }, zo = {
10255
10552
  name: "amber",
10256
10553
  light: {
10257
10554
  bgBase: "#fffefb",
@@ -10273,7 +10570,7 @@ const Lt = {
10273
10570
  dangerDefault: "#ef4444",
10274
10571
  infoDefault: "#3b82f6"
10275
10572
  }
10276
- }, Io = {
10573
+ }, Ao = {
10277
10574
  name: "ocean",
10278
10575
  light: {
10279
10576
  bgBase: "#fbfdff",
@@ -10295,7 +10592,7 @@ const Lt = {
10295
10592
  dangerDefault: "#ef4444",
10296
10593
  infoDefault: "#3b82f6"
10297
10594
  }
10298
- }, Mo = {
10595
+ }, Eo = {
10299
10596
  name: "slate",
10300
10597
  light: {
10301
10598
  bgBase: "#fafbfc",
@@ -10317,7 +10614,7 @@ const Lt = {
10317
10614
  dangerDefault: "#ef4444",
10318
10615
  infoDefault: "#3b82f6"
10319
10616
  }
10320
- }, Do = {
10617
+ }, qo = {
10321
10618
  name: "sage",
10322
10619
  light: {
10323
10620
  bgBase: "#fbfcfb",
@@ -10339,7 +10636,7 @@ const Lt = {
10339
10636
  dangerDefault: "#ef4444",
10340
10637
  infoDefault: "#3b82f6"
10341
10638
  }
10342
- }, Ft = {
10639
+ }, Pt = {
10343
10640
  name: "sharp",
10344
10641
  tokens: {
10345
10642
  radiusNone: "0px",
@@ -10468,95 +10765,95 @@ const Lt = {
10468
10765
  shadowLg: "rgba(0, 0, 0, 0.3) 0px 8px 24px, rgba(0, 0, 0, 0.25) 0px 16px 48px",
10469
10766
  shadowXl: "rgba(0, 0, 0, 0.35) 0px 12px 32px, rgba(0, 0, 0, 0.3) 0px 24px 64px"
10470
10767
  }
10471
- }, zo = {
10768
+ }, Bo = {
10472
10769
  name: "modern",
10473
- palette: Rt,
10770
+ palette: Lt,
10474
10771
  shape: Nt,
10475
10772
  density: Ot,
10476
10773
  shadow: jt
10477
- }, Ao = {
10774
+ }, Ro = {
10478
10775
  name: "enterprise",
10479
- palette: Lt,
10480
- shape: Ft,
10776
+ palette: Rt,
10777
+ shape: Pt,
10481
10778
  density: Wt,
10482
10779
  shadow: Vt
10483
- }, Eo = {
10780
+ }, Lo = {
10484
10781
  name: "playful",
10485
- palette: Pt,
10782
+ palette: Ft,
10486
10783
  shape: $t,
10487
10784
  density: Ht,
10488
10785
  shadow: Ut
10489
- }, Bo = {
10490
- default: Lt,
10491
- brand: xo,
10492
- indigo: Rt,
10493
- violet: wo,
10494
- emerald: ko,
10495
- teal: So,
10496
- rose: Pt,
10497
- coral: To,
10498
- amber: Co,
10499
- ocean: Io,
10500
- slate: Mo,
10501
- sage: Do
10502
- }, qo = {
10503
- sharp: Ft,
10786
+ }, Fo = {
10787
+ default: Rt,
10788
+ brand: To,
10789
+ indigo: Lt,
10790
+ violet: Co,
10791
+ emerald: Io,
10792
+ teal: Mo,
10793
+ rose: Ft,
10794
+ coral: Do,
10795
+ amber: zo,
10796
+ ocean: Ao,
10797
+ slate: Eo,
10798
+ sage: qo
10799
+ }, Po = {
10800
+ sharp: Pt,
10504
10801
  rounded: Nt,
10505
10802
  pill: $t
10506
- }, Lo = {
10803
+ }, No = {
10507
10804
  compact: Wt,
10508
10805
  default: Ot,
10509
10806
  spacious: Ht
10510
- }, Ro = {
10807
+ }, $o = {
10511
10808
  flat: Vt,
10512
10809
  subtle: jt,
10513
10810
  elevated: Ut
10514
- }, Po = {
10515
- modern: zo,
10516
- enterprise: Ao,
10517
- playful: Eo
10811
+ }, Wo = {
10812
+ modern: Bo,
10813
+ enterprise: Ro,
10814
+ playful: Lo
10518
10815
  };
10519
- function Fo(e) {
10520
- return typeof e == "string" ? Bo[e] : e;
10816
+ function Oo(e) {
10817
+ return typeof e == "string" ? Fo[e] : e;
10521
10818
  }
10522
- function No(e) {
10523
- return typeof e == "string" ? qo[e] : e;
10819
+ function Ho(e) {
10820
+ return typeof e == "string" ? Po[e] : e;
10524
10821
  }
10525
- function $o(e) {
10526
- return typeof e == "string" ? Lo[e] : e;
10822
+ function Vo(e) {
10823
+ return typeof e == "string" ? No[e] : e;
10527
10824
  }
10528
- function Wo(e) {
10529
- return typeof e == "string" ? Ro[e] : e;
10825
+ function jo(e) {
10826
+ return typeof e == "string" ? $o[e] : e;
10530
10827
  }
10531
- function Oo(e, t) {
10828
+ function Uo(e, t) {
10532
10829
  let r, o, a, i;
10533
10830
  if (typeof e == "string") {
10534
- const s = Po[e];
10831
+ const s = Wo[e];
10535
10832
  if (!s) return {};
10536
10833
  r = s.palette, o = s.shape, a = s.density, i = s.shadow;
10537
10834
  } else
10538
- e.palette !== void 0 && (r = Fo(e.palette)), e.shape !== void 0 && (o = No(e.shape)), e.density !== void 0 && (a = $o(e.density)), e.shadow !== void 0 && (i = Wo(e.shadow));
10835
+ e.palette !== void 0 && (r = Oo(e.palette)), e.shape !== void 0 && (o = Ho(e.shape)), e.density !== void 0 && (a = Vo(e.density)), e.shadow !== void 0 && (i = jo(e.shadow));
10539
10836
  const l = {};
10540
10837
  if (r) {
10541
- const s = qt(r[t], t);
10838
+ const s = Bt(r[t], t);
10542
10839
  Object.assign(l, s);
10543
10840
  }
10544
10841
  return o && Object.assign(l, o.tokens), a && Object.assign(l, a.tokens), i && Object.assign(l, i[t]), l;
10545
10842
  }
10546
10843
  const Gt = ye({
10547
10844
  theme: "light",
10548
- tokens: Fe
10845
+ tokens: Pe
10549
10846
  });
10550
- function us({
10847
+ function ys({
10551
10848
  theme: e = "light",
10552
10849
  preset: t,
10553
10850
  tokens: r,
10554
10851
  anchors: o,
10555
10852
  children: a
10556
10853
  }) {
10557
- const i = ve().replace(/:/g, ""), l = t ? Oo(t, e) : void 0, s = (() => {
10854
+ const i = ve().replace(/:/g, ""), l = t ? Uo(t, e) : void 0, s = (() => {
10558
10855
  if (o) {
10559
- const p = qt(o, e);
10856
+ const p = Bt(o, e);
10560
10857
  if (l) {
10561
10858
  const b = {};
10562
10859
  for (const [k, x] of Object.entries(l))
@@ -10565,7 +10862,7 @@ function us({
10565
10862
  }
10566
10863
  return p;
10567
10864
  }
10568
- const d = e === "dark" ? At : Fe, u = l ? { ...l, ...r } : r, f = u ? { ...d, ...u } : d, h = u ? Bt(u, f, e) : {}, m = (u == null ? void 0 : u.accentBorder) ?? (e === "light" ? K(f.accentDefault, -0.15) : K(f.accentDefault, 0.15)), T = (u == null ? void 0 : u.textOnAccent) ?? Et(f.accentDefault), v = bo(f.accentDefault, T);
10865
+ const d = e === "dark" ? At : Pe, u = l ? { ...l, ...r } : r, f = u ? { ...d, ...u } : d, h = u ? qt(u, f, e) : {}, m = (u == null ? void 0 : u.accentBorder) ?? (e === "light" ? K(f.accentDefault, -0.15) : K(f.accentDefault, 0.15)), T = (u == null ? void 0 : u.textOnAccent) ?? Et(f.accentDefault), v = wo(f.accentDefault, T);
10569
10866
  return {
10570
10867
  ...f,
10571
10868
  ...h,
@@ -10574,7 +10871,7 @@ function us({
10574
10871
  accentBorder: m
10575
10872
  };
10576
10873
  })(), c = `html { font-size: 14px; }
10577
- ` + ro(s, ":root");
10874
+ ` + lo(s, ":root");
10578
10875
  return se(() => {
10579
10876
  let d = document.getElementById(`lucent-tokens-${i}`);
10580
10877
  return d || (d = document.createElement("style"), d.id = `lucent-tokens-${i}`, document.head.appendChild(d)), d.textContent = c, () => {
@@ -10583,10 +10880,10 @@ function us({
10583
10880
  };
10584
10881
  }, [i, c]), /* @__PURE__ */ n(Gt.Provider, { value: { theme: e, tokens: s }, children: a });
10585
10882
  }
10586
- function ps() {
10883
+ function xs() {
10587
10884
  return fe(Gt);
10588
10885
  }
10589
- const fs = {
10886
+ const ws = {
10590
10887
  bgBase: {
10591
10888
  description: "Main page/canvas background. The lowest elevation layer — everything sits on top of this. When bgBase is customized, `surface` and `surfaceTint` are auto-derived so the entire card elevation hierarchy (ghost → outline → filled → elevated → combo) adapts automatically.",
10592
10889
  lightGuidance: "Near-white. Typically #ffffff or a very faint tint (L > 0.96).",
@@ -10641,7 +10938,7 @@ const fs = {
10641
10938
  darkGuidance: "Slightly lighter than light-mode. createTheme() handles this automatically.",
10642
10939
  derives: ["infoSubtle", "infoText"]
10643
10940
  }
10644
- }, hs = {
10941
+ }, ks = {
10645
10942
  id: "lucent-provider",
10646
10943
  name: "LucentProvider",
10647
10944
  tier: "provider",
@@ -10821,7 +11118,7 @@ const myTheme = createTheme({
10821
11118
  }
10822
11119
  ],
10823
11120
  compositionGraph: []
10824
- }, ms = {
11121
+ }, Ss = {
10825
11122
  accentDefault: "#e9c96b",
10826
11123
  accentHover: "#ddb84e",
10827
11124
  accentActive: "#c9a33b",
@@ -10831,7 +11128,7 @@ const myTheme = createTheme({
10831
11128
  function te(e, t) {
10832
11129
  return { field: e, message: t };
10833
11130
  }
10834
- function Ho(e) {
11131
+ function Go(e) {
10835
11132
  const t = [];
10836
11133
  if (typeof e != "object" || e === null)
10837
11134
  return { valid: !1, errors: [te("manifest", "Must be a non-null object")] };
@@ -10848,8 +11145,8 @@ function Ho(e) {
10848
11145
  (typeof s.title != "string" || s.title === "") && t.push(te(`${c}.title`, "Must be a non-empty string")), (typeof s.code != "string" || s.code === "") && t.push(te(`${c}.code`, "Must be a non-empty string"));
10849
11146
  }) : t.push(te("usageExamples", "Must be an array")), Array.isArray(r.compositionGraph) || t.push(te("compositionGraph", "Must be an array (empty array is fine for atoms)")), typeof r.specVersion == "string" && !/^\d+\.\d+$/.test(r.specVersion) && t.push(te("specVersion", 'Must be "MAJOR.MINOR" format, e.g. "0.1"')), { valid: t.length === 0, errors: t };
10850
11147
  }
10851
- function gs(e) {
10852
- const t = Ho(e);
11148
+ function Ts(e) {
11149
+ const t = Go(e);
10853
11150
  if (!t.valid) {
10854
11151
  const r = t.errors.map((o) => ` ${o.field}: ${o.message}`).join(`
10855
11152
  `);
@@ -10857,133 +11154,137 @@ function gs(e) {
10857
11154
  ${r}`);
10858
11155
  }
10859
11156
  }
10860
- function bs(e) {
11157
+ function Cs(e) {
10861
11158
  if (typeof e != "object" || e === null) return !1;
10862
11159
  const t = e;
10863
11160
  return typeof t.name == "string" && typeof t.type == "string" && typeof t.required == "boolean" && typeof t.description == "string";
10864
11161
  }
10865
- const vs = "1.0", ys = "0.1.0";
11162
+ const Is = "1.0", Ms = "0.1.0";
10866
11163
  export {
10867
- qi as Alert,
10868
- Li as AlertManifest,
10869
- Zo as Avatar,
10870
- Qo as AvatarManifest,
10871
- Ko as Badge,
10872
- Xo as BadgeManifest,
10873
- $i as Breadcrumb,
11164
+ Oi as Alert,
11165
+ Hi as AlertManifest,
11166
+ ni as Avatar,
11167
+ ai as AvatarManifest,
11168
+ Qo as Badge,
11169
+ ei as BadgeManifest,
11170
+ _i as Breadcrumb,
10874
11171
  Ee as Button,
10875
- Go as ButtonManifest,
10876
- Jo as CHIP_MANIFEST,
10877
- Si as COLOR_PICKER_MANIFEST,
10878
- Ti as COLOR_SWATCH_MANIFEST,
10879
- Gi as COMMAND_PALETTE_MANIFEST,
10880
- Ai as Card,
10881
- Ei as CardBleed,
10882
- Bi as CardManifest,
11172
+ Xo as ButtonManifest,
11173
+ ti as CHIP_MANIFEST,
11174
+ Mi as COLOR_PICKER_MANIFEST,
11175
+ Di as COLOR_SWATCH_MANIFEST,
11176
+ es as COMMAND_PALETTE_MANIFEST,
11177
+ Ni as Card,
11178
+ $i as CardBleed,
11179
+ Wi as CardManifest,
10883
11180
  yt as Checkbox,
10884
- ai as CheckboxManifest,
11181
+ si as CheckboxManifest,
10885
11182
  un as Chip,
10886
- xi as CodeBlock,
10887
- wi as CodeBlockManifest,
10888
- Oi as Collapsible,
11183
+ Ti as CodeBlock,
11184
+ Ci as CodeBlockManifest,
11185
+ Ki as Collapsible,
10889
11186
  ua as ColorPicker,
10890
11187
  ze as ColorSwatch,
10891
- Ui as CommandPalette,
10892
- ji as DATA_TABLE_MANIFEST,
10893
- Xi as DATE_PICKER_MANIFEST,
10894
- Zi as DATE_RANGE_PICKER_MANIFEST,
10895
- Vi as DataTable,
10896
- Ki as DatePicker,
10897
- Ji as DateRangePicker,
10898
- ti as Divider,
10899
- ni as DividerManifest,
10900
- Ri as EmptyState,
10901
- Pi as EmptyStateManifest,
10902
- es as FILE_UPLOAD_MANIFEST,
10903
- Qi as FileUpload,
10904
- Ii as FormField,
10905
- Mi as FormFieldManifest,
10906
- hi as Icon,
10907
- mi as IconManifest,
11188
+ Qi as CommandPalette,
11189
+ Zi as DATA_TABLE_MANIFEST,
11190
+ rs as DATE_PICKER_MANIFEST,
11191
+ is as DATE_RANGE_PICKER_MANIFEST,
11192
+ Ji as DataTable,
11193
+ as as DatePicker,
11194
+ os as DateRangePicker,
11195
+ oi as Divider,
11196
+ ii as DividerManifest,
11197
+ Vi as EmptyState,
11198
+ ji as EmptyStateManifest,
11199
+ ls as FILE_UPLOAD_MANIFEST,
11200
+ ss as FileUpload,
11201
+ Ri as FormField,
11202
+ Li as FormFieldManifest,
11203
+ vi as Icon,
11204
+ yi as IconManifest,
10908
11205
  ce as Input,
10909
- _o as InputManifest,
10910
- ys as LUCENT_UI_VERSION,
10911
- us as LucentProvider,
10912
- hs as LucentProviderManifest,
10913
- vs as MANIFEST_SPEC_VERSION,
10914
- Yi as MULTI_SELECT_MANIFEST,
10915
- is as Menu,
10916
- os as MenuGroup,
10917
- as as MenuItem,
10918
- ss as MenuManifest,
10919
- rs as MenuSeparator,
10920
- _i as MultiSelect,
10921
- bi as NavLink,
10922
- Hi as PageLayout,
10923
- ri as Radio,
11206
+ Jo as InputManifest,
11207
+ Ms as LUCENT_UI_VERSION,
11208
+ ys as LucentProvider,
11209
+ ks as LucentProviderManifest,
11210
+ Is as MANIFEST_SPEC_VERSION,
11211
+ ns as MULTI_SELECT_MANIFEST,
11212
+ hs as Menu,
11213
+ fs as MenuGroup,
11214
+ us as MenuItem,
11215
+ ms as MenuManifest,
11216
+ ps as MenuSeparator,
11217
+ ts as MultiSelect,
11218
+ wi as NavLink,
11219
+ Xi as PageLayout,
11220
+ li as Radio,
10924
11221
  kn as RadioGroup,
10925
- oi as RadioGroupUncontrolled,
10926
- ii as RadioManifest,
10927
- Ci as SEGMENTED_CONTROL_MANIFEST,
10928
- Di as SearchInput,
10929
- zi as SearchInputManifest,
11222
+ ci as RadioGroupUncontrolled,
11223
+ di as RadioManifest,
11224
+ qi as Row,
11225
+ Bi as RowManifest,
11226
+ zi as SEGMENTED_CONTROL_MANIFEST,
11227
+ Fi as SearchInput,
11228
+ Pi as SearchInputManifest,
10930
11229
  kt as SegmentedControl,
10931
11230
  wt as Select,
10932
- ci as SelectManifest,
10933
- Fi as Skeleton,
10934
- Ni as SkeletonManifest,
10935
- vi as Slider,
10936
- yi as SliderManifest,
11231
+ fi as SelectManifest,
11232
+ Ui as Skeleton,
11233
+ Gi as SkeletonManifest,
11234
+ ki as Slider,
11235
+ Si as SliderManifest,
10937
11236
  bn as Spinner,
10938
- ei as SpinnerManifest,
10939
- ns as TIMELINE_MANIFEST,
11237
+ ri as SpinnerManifest,
11238
+ Ai as Stack,
11239
+ Ei as StackManifest,
11240
+ ds as TIMELINE_MANIFEST,
10940
11241
  xe as Table,
10941
- ki as TableManifest,
10942
- Wi as Tabs,
10943
- di as Tag,
10944
- ui as TagManifest,
11242
+ Ii as TableManifest,
11243
+ Yi as Tabs,
11244
+ hi as Tag,
11245
+ mi as TagManifest,
10945
11246
  _ as Text,
10946
- gi as TextManifest,
11247
+ xi as TextManifest,
10947
11248
  on as Textarea,
10948
- Yo as TextareaManifest,
10949
- fs as ThemeAnchorsSpec,
10950
- ts as Timeline,
10951
- ds as ToastManifest,
10952
- cs as ToastProvider,
10953
- si as Toggle,
10954
- li as ToggleManifest,
10955
- pi as Tooltip,
10956
- fi as TooltipManifest,
10957
- gs as assertManifest,
10958
- xo as brandPalette,
10959
- ms as brandTokens,
11249
+ Zo as TextareaManifest,
11250
+ ws as ThemeAnchorsSpec,
11251
+ cs as Timeline,
11252
+ vs as ToastManifest,
11253
+ bs as ToastProvider,
11254
+ ui as Toggle,
11255
+ pi as ToggleManifest,
11256
+ gi as Tooltip,
11257
+ bi as TooltipManifest,
11258
+ Ts as assertManifest,
11259
+ To as brandPalette,
11260
+ Ss as brandTokens,
10960
11261
  Wt as compactDensity,
10961
- qt as createTheme,
11262
+ Bt as createTheme,
10962
11263
  At as darkTokens,
10963
11264
  Ot as defaultDensity,
10964
- Lt as defaultPalette,
10965
- no as deriveDarkFromLight,
10966
- Bt as deriveTokens,
11265
+ Rt as defaultPalette,
11266
+ io as deriveDarkFromLight,
11267
+ qt as deriveTokens,
10967
11268
  Ut as elevatedShadow,
10968
- ko as emeraldPalette,
10969
- Ao as enterprisePreset,
11269
+ Io as emeraldPalette,
11270
+ Ro as enterprisePreset,
10970
11271
  Vt as flatShadow,
10971
11272
  Et as getContrastText,
10972
- Rt as indigoPalette,
10973
- bs as isValidPropDescriptor,
10974
- Fe as lightTokens,
10975
- ro as makeLibraryCSS,
10976
- zo as modernPreset,
10977
- Io as oceanPalette,
11273
+ Lt as indigoPalette,
11274
+ Cs as isValidPropDescriptor,
11275
+ Pe as lightTokens,
11276
+ lo as makeLibraryCSS,
11277
+ Bo as modernPreset,
11278
+ Ao as oceanPalette,
10978
11279
  $t as pillShape,
10979
- Eo as playfulPreset,
10980
- Oo as resolvePreset,
10981
- Pt as rosePalette,
11280
+ Lo as playfulPreset,
11281
+ Uo as resolvePreset,
11282
+ Ft as rosePalette,
10982
11283
  Nt as roundedShape,
10983
- Ft as sharpShape,
11284
+ Pt as sharpShape,
10984
11285
  Ht as spaciousDensity,
10985
11286
  jt as subtleShadow,
10986
- ps as useLucent,
10987
- ls as useToast,
10988
- Ho as validateManifest
11287
+ xs as useLucent,
11288
+ gs as useToast,
11289
+ Go as validateManifest
10989
11290
  };