@cascivo/react 0.18.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/README.md +4 -3
  2. package/dist/action-sheet/action-sheet.js +1 -1
  3. package/dist/breadcrumb/breadcrumb.js +7 -7
  4. package/dist/checkbox/checkbox.js +11 -10
  5. package/dist/color-picker/color-picker.js +81 -77
  6. package/dist/combobox/combobox.js +81 -76
  7. package/dist/command-menu/command-menu.js +104 -104
  8. package/dist/comparison/comparison.js +18 -18
  9. package/dist/data-table/data-table.css +1 -1
  10. package/dist/data-table/data-table.js +148 -121
  11. package/dist/data-table/data-table.module.js +29 -29
  12. package/dist/date-picker/date-picker.js +98 -93
  13. package/dist/date-range-picker/date-range-picker.js +1 -1
  14. package/dist/dock/dock.js +2 -2
  15. package/dist/dropdown/dropdown.js +43 -40
  16. package/dist/editable/editable.js +29 -20
  17. package/dist/fab/fab.js +37 -37
  18. package/dist/field/field.js +24 -17
  19. package/dist/file-uploader/file-uploader.js +24 -23
  20. package/dist/filter/filter.js +11 -11
  21. package/dist/index.d.ts +1302 -85
  22. package/dist/input/input.js +14 -13
  23. package/dist/navigation-menu/navigation-menu.js +9 -9
  24. package/dist/node/action-sheet/action-sheet.js +1 -1
  25. package/dist/node/breadcrumb/breadcrumb.js +7 -7
  26. package/dist/node/checkbox/checkbox.js +11 -10
  27. package/dist/node/color-picker/color-picker.js +81 -77
  28. package/dist/node/combobox/combobox.js +81 -76
  29. package/dist/node/command-menu/command-menu.js +104 -104
  30. package/dist/node/comparison/comparison.js +18 -18
  31. package/dist/node/data-table/data-table.js +148 -121
  32. package/dist/node/data-table/data-table.module.js +29 -29
  33. package/dist/node/date-picker/date-picker.js +98 -93
  34. package/dist/node/date-range-picker/date-range-picker.js +1 -1
  35. package/dist/node/dock/dock.js +2 -2
  36. package/dist/node/dropdown/dropdown.js +43 -40
  37. package/dist/node/editable/editable.js +29 -20
  38. package/dist/node/fab/fab.js +37 -37
  39. package/dist/node/field/field.js +24 -17
  40. package/dist/node/file-uploader/file-uploader.js +24 -23
  41. package/dist/node/filter/filter.js +11 -11
  42. package/dist/node/input/input.js +14 -13
  43. package/dist/node/navigation-menu/navigation-menu.js +9 -9
  44. package/dist/node/number-input/number-input.js +28 -27
  45. package/dist/node/overflow-menu/overflow-menu.js +7 -7
  46. package/dist/node/progress/progress.js +3 -3
  47. package/dist/node/progress-circle/progress-circle.js +8 -8
  48. package/dist/node/progress-indicator/progress-indicator.js +1 -1
  49. package/dist/node/qr-code/qr-code.js +11 -11
  50. package/dist/node/radial-progress/radial-progress.js +9 -9
  51. package/dist/node/radio/radio.js +10 -9
  52. package/dist/node/react/src/index.js +93 -93
  53. package/dist/node/resizable/resizable.js +24 -24
  54. package/dist/node/search/search.js +35 -31
  55. package/dist/node/select/select.js +15 -14
  56. package/dist/node/side-nav/side-nav.js +35 -35
  57. package/dist/node/side-nav/side-nav.module.js +27 -27
  58. package/dist/node/slider/slider.js +13 -12
  59. package/dist/node/spinner/spinner.js +4 -4
  60. package/dist/node/steps/steps.js +10 -10
  61. package/dist/node/structured-list/structured-list.js +14 -14
  62. package/dist/node/swap/swap.js +5 -5
  63. package/dist/node/switcher/switcher.js +5 -5
  64. package/dist/node/tags-input/tags-input.js +20 -16
  65. package/dist/node/textarea/textarea.js +14 -13
  66. package/dist/node/time-picker/time-picker.js +21 -20
  67. package/dist/node/toggle/toggle.js +8 -7
  68. package/dist/node/tree-view/tree-view.js +43 -43
  69. package/dist/node/virtual-list/virtual-list.js +10 -10
  70. package/dist/node/wheel-picker/wheel-picker.js +36 -36
  71. package/dist/number-input/number-input.js +28 -27
  72. package/dist/overflow-menu/overflow-menu.js +7 -7
  73. package/dist/progress/progress.js +3 -3
  74. package/dist/progress-circle/progress-circle.js +8 -8
  75. package/dist/progress-indicator/progress-indicator.js +1 -1
  76. package/dist/qr-code/qr-code.js +11 -11
  77. package/dist/radial-progress/radial-progress.js +9 -9
  78. package/dist/radio/radio.js +10 -9
  79. package/dist/react/src/index.js +93 -93
  80. package/dist/resizable/resizable.js +24 -24
  81. package/dist/search/search.js +35 -31
  82. package/dist/select/select.js +15 -14
  83. package/dist/side-nav/side-nav.css +1 -1
  84. package/dist/side-nav/side-nav.js +35 -35
  85. package/dist/side-nav/side-nav.module.js +27 -27
  86. package/dist/slider/slider.js +13 -12
  87. package/dist/spinner/spinner.js +4 -4
  88. package/dist/steps/steps.js +10 -10
  89. package/dist/structured-list/structured-list.js +14 -14
  90. package/dist/styles.css +2 -2
  91. package/dist/swap/swap.js +5 -5
  92. package/dist/switcher/switcher.js +5 -5
  93. package/dist/tags-input/tags-input.js +20 -16
  94. package/dist/textarea/textarea.js +14 -13
  95. package/dist/time-picker/time-picker.js +21 -20
  96. package/dist/toggle/toggle.js +8 -7
  97. package/dist/tree-view/tree-view.js +43 -43
  98. package/dist/virtual-list/virtual-list.js +10 -10
  99. package/dist/wheel-picker/wheel-picker.js +36 -36
  100. package/package.json +4 -4
  101. package/readme.body.md +4 -3
@@ -141,31 +141,31 @@ function b({ item: e }) {
141
141
  }, t))]
142
142
  })] });
143
143
  }
144
- function x({ items: t, groups: r, collapsed: o, defaultCollapsed: _ = !1, onCollapsedChange: x, ariaLabel: S, collapseLabel: C, expandLabel: w, expandOnHover: T = !1, showCollapseToggle: E = !0, header: D, footer: O, className: k }) {
144
+ function x({ items: t, groups: r, collapsed: o, defaultCollapsed: _ = !1, onCollapsedChange: x, ariaLabel: S, label: C, collapseLabel: w, expandLabel: T, expandOnHover: E = !1, showCollapseToggle: D = !0, header: O, footer: k, className: A }) {
145
145
  u();
146
- let A = S ?? f(d.sideNav.nav), j = C ?? f(d.sideNav.collapse), M = w ?? f(d.sideNav.expand), N = i(), [P] = c({
146
+ let j = S ?? C ?? f(d.sideNav.nav), M = w ?? f(d.sideNav.collapse), N = T ?? f(d.sideNav.expand), P = i(), [F] = c({
147
147
  value: o,
148
148
  defaultValue: _
149
- }), F = r ?? (t ? [{ items: t }] : [{ items: [] }]), I = l(F.flatMap((e) => e.items).filter((e) => e.items?.some((e) => g(e) && e.active)).map((e) => e.label)), L = (e) => {
150
- let t = I.value;
151
- I.value = t.includes(e) ? t.filter((t) => t !== e) : [...t, e];
152
- }, R = () => {
153
- let e = !P.value;
154
- o === void 0 && (P.value = e), x?.(e);
155
- }, z = P.value;
149
+ }), I = r ?? (t ? [{ items: t }] : [{ items: [] }]), L = l(I.flatMap((e) => e.items).filter((e) => e.items?.some((e) => g(e) && e.active)).map((e) => e.label)), R = (e) => {
150
+ let t = L.value;
151
+ L.value = t.includes(e) ? t.filter((t) => t !== e) : [...t, e];
152
+ }, z = () => {
153
+ let e = !F.value;
154
+ o === void 0 && (F.value = e), x?.(e);
155
+ }, B = F.value;
156
156
  return /* @__PURE__ */ h("nav", {
157
- "aria-label": A,
158
- "data-state": z ? "collapsed" : "expanded",
159
- "data-expand-on-hover": z && T ? "" : void 0,
160
- className: a(n.sideNav, k),
157
+ "aria-label": j,
158
+ "data-state": B ? "collapsed" : "expanded",
159
+ "data-expand-on-hover": B && E ? "" : void 0,
160
+ className: a(n.sideNav, A),
161
161
  children: [
162
- D && /* @__PURE__ */ m("div", {
162
+ O && /* @__PURE__ */ m("div", {
163
163
  className: n.header,
164
- children: D
164
+ children: O
165
165
  }),
166
166
  /* @__PURE__ */ m("ul", {
167
167
  className: n.list,
168
- children: F.map((t, r) => /* @__PURE__ */ h("li", {
168
+ children: I.map((t, r) => /* @__PURE__ */ h("li", {
169
169
  className: n.group,
170
170
  children: [t.label && /* @__PURE__ */ m("h3", {
171
171
  className: n.groupLabel,
@@ -175,22 +175,22 @@ function x({ items: t, groups: r, collapsed: o, defaultCollapsed: _ = !1, onColl
175
175
  children: t.items.map((t, i) => {
176
176
  let a = `${r}-${i}`;
177
177
  if (t.items) {
178
- if (z && !T) return /* @__PURE__ */ m("li", { children: /* @__PURE__ */ m(b, { item: t }) }, t.id ?? a);
179
- let e = I.value.includes(t.label), r = `${N}-group-${a}`;
178
+ if (B && !E) return /* @__PURE__ */ m("li", { children: /* @__PURE__ */ m(b, { item: t }) }, t.id ?? a);
179
+ let e = L.value.includes(t.label), r = `${P}-group-${a}`;
180
180
  return /* @__PURE__ */ h("li", { children: [/* @__PURE__ */ h("button", {
181
181
  type: "button",
182
182
  "aria-expanded": e,
183
183
  "aria-controls": r,
184
- "aria-label": z ? t.label : void 0,
184
+ "aria-label": B ? t.label : void 0,
185
185
  "data-state": e ? "open" : "closed",
186
186
  className: n.groupTrigger,
187
- onClick: () => L(t.label),
187
+ onClick: () => R(t.label),
188
188
  children: [
189
189
  t.icon ? /* @__PURE__ */ m("span", {
190
190
  className: n.icon,
191
191
  "aria-hidden": "true",
192
192
  children: t.icon
193
- }) : z ? /* @__PURE__ */ m("span", {
193
+ }) : B ? /* @__PURE__ */ m("span", {
194
194
  className: n.fallbackIcon,
195
195
  "data-fallback-icon": !0,
196
196
  "aria-hidden": "true",
@@ -198,7 +198,7 @@ function x({ items: t, groups: r, collapsed: o, defaultCollapsed: _ = !1, onColl
198
198
  }) : null,
199
199
  /* @__PURE__ */ m("span", {
200
200
  className: n.label,
201
- "data-rail-hidden": z || void 0,
201
+ "data-rail-hidden": B || void 0,
202
202
  children: t.label
203
203
  }),
204
204
  /* @__PURE__ */ m("svg", {
@@ -238,7 +238,7 @@ function x({ items: t, groups: r, collapsed: o, defaultCollapsed: _ = !1, onColl
238
238
  className: n.icon,
239
239
  "aria-hidden": "true",
240
240
  children: t.icon
241
- }) : z ? /* @__PURE__ */ m("span", {
241
+ }) : B ? /* @__PURE__ */ m("span", {
242
242
  className: n.fallbackIcon,
243
243
  "data-fallback-icon": !0,
244
244
  "aria-hidden": "true",
@@ -246,18 +246,18 @@ function x({ items: t, groups: r, collapsed: o, defaultCollapsed: _ = !1, onColl
246
246
  }) : null,
247
247
  /* @__PURE__ */ m("span", {
248
248
  className: n.label,
249
- "data-rail-hidden": z || void 0,
249
+ "data-rail-hidden": B || void 0,
250
250
  children: t.label
251
251
  }),
252
252
  t.trailing == null ? null : /* @__PURE__ */ m("span", {
253
253
  className: n.trailing,
254
- "data-rail-hidden": z || void 0,
254
+ "data-rail-hidden": B || void 0,
255
255
  children: t.trailing
256
256
  })
257
257
  ] }), c = t.tone && t.tone !== "default" ? t.tone : void 0, l = {
258
258
  href: t.disabled ? void 0 : t.href,
259
259
  "aria-current": t.active ? "page" : void 0,
260
- "aria-label": z ? t.label : void 0,
260
+ "aria-label": B ? t.label : void 0,
261
261
  "aria-disabled": t.disabled || void 0,
262
262
  tabIndex: t.disabled ? -1 : void 0,
263
263
  "data-state": t.active ? "active" : void 0,
@@ -274,7 +274,7 @@ function x({ items: t, groups: r, collapsed: o, defaultCollapsed: _ = !1, onColl
274
274
  if (t.render) return /* @__PURE__ */ m("li", {
275
275
  className: n.customItem,
276
276
  children: t.render({
277
- collapsed: z,
277
+ collapsed: B,
278
278
  children: o,
279
279
  linkProps: l
280
280
  })
@@ -282,7 +282,7 @@ function x({ items: t, groups: r, collapsed: o, defaultCollapsed: _ = !1, onColl
282
282
  let u = s(), d = t.onClick && !t.href ? /* @__PURE__ */ m("button", {
283
283
  type: "button",
284
284
  "aria-current": t.active ? "page" : void 0,
285
- "aria-label": z ? t.label : void 0,
285
+ "aria-label": B ? t.label : void 0,
286
286
  "data-state": t.active ? "active" : void 0,
287
287
  "data-tone": c,
288
288
  className: n.link,
@@ -293,24 +293,24 @@ function x({ items: t, groups: r, collapsed: o, defaultCollapsed: _ = !1, onColl
293
293
  ...l,
294
294
  children: o
295
295
  });
296
- return /* @__PURE__ */ m("li", { children: z && !T ? /* @__PURE__ */ m(e, {
296
+ return /* @__PURE__ */ m("li", { children: B && !E ? /* @__PURE__ */ m(e, {
297
297
  content: t.label,
298
298
  placement: "right",
299
299
  children: d
300
300
  }) : d }, t.id ?? a);
301
301
  })
302
302
  })]
303
- }, r))
303
+ }, t.id ?? r))
304
304
  }),
305
- O && /* @__PURE__ */ m("div", {
305
+ k && /* @__PURE__ */ m("div", {
306
306
  className: n.footer,
307
- children: O
307
+ children: k
308
308
  }),
309
- E && /* @__PURE__ */ m("button", {
309
+ D && /* @__PURE__ */ m("button", {
310
310
  type: "button",
311
- "aria-label": z ? M : j,
311
+ "aria-label": B ? N : M,
312
312
  className: n.collapseToggle,
313
- onClick: R,
313
+ onClick: z,
314
314
  children: /* @__PURE__ */ m("svg", {
315
315
  viewBox: "0 0 16 16",
316
316
  width: "14",
@@ -1,32 +1,32 @@
1
1
  import './side-nav.css';
2
2
  var e = {
3
- sideNav: "_sideNav_1v53b_2",
4
- label: "_label_1v53b_24",
5
- trailing: "_trailing_1v53b_25",
6
- groupIndicator: "_groupIndicator_1v53b_29",
7
- link: "_link_1v53b_50",
8
- groupTrigger: "_groupTrigger_1v53b_51",
9
- fallbackIcon: "_fallbackIcon_1v53b_60",
10
- list: "_list_1v53b_67",
11
- sublistInner: "_sublistInner_1v53b_68",
12
- groupItems: "_groupItems_1v53b_69",
13
- group: "_group_1v53b_29",
14
- groupLabel: "_groupLabel_1v53b_84",
15
- checkMark: "_checkMark_1v53b_185",
16
- icon: "_icon_1v53b_191",
17
- sublist: "_sublist_1v53b_68",
18
- sublink: "_sublink_1v53b_251",
19
- subSeparator: "_subSeparator_1v53b_263",
20
- subGroupLabel: "_subGroupLabel_1v53b_270",
21
- header: "_header_1v53b_282",
22
- footer: "_footer_1v53b_289",
23
- customItem: "_customItem_1v53b_296",
24
- collapseToggle: "_collapseToggle_1v53b_301",
25
- collapseIcon: "_collapseIcon_1v53b_327",
26
- railFlyout: "_railFlyout_1v53b_336",
27
- railFlyoutCaption: "_railFlyoutCaption_1v53b_368",
28
- flyoutItem: "_flyoutItem_1v53b_378",
29
- flyoutSeparator: "_flyoutSeparator_1v53b_383"
3
+ sideNav: "_sideNav_uayvm_2",
4
+ label: "_label_uayvm_24",
5
+ trailing: "_trailing_uayvm_25",
6
+ groupIndicator: "_groupIndicator_uayvm_29",
7
+ link: "_link_uayvm_50",
8
+ groupTrigger: "_groupTrigger_uayvm_51",
9
+ fallbackIcon: "_fallbackIcon_uayvm_60",
10
+ list: "_list_uayvm_67",
11
+ sublistInner: "_sublistInner_uayvm_68",
12
+ groupItems: "_groupItems_uayvm_69",
13
+ group: "_group_uayvm_29",
14
+ groupLabel: "_groupLabel_uayvm_84",
15
+ checkMark: "_checkMark_uayvm_185",
16
+ icon: "_icon_uayvm_191",
17
+ sublist: "_sublist_uayvm_68",
18
+ sublink: "_sublink_uayvm_251",
19
+ subSeparator: "_subSeparator_uayvm_263",
20
+ subGroupLabel: "_subGroupLabel_uayvm_270",
21
+ header: "_header_uayvm_282",
22
+ footer: "_footer_uayvm_289",
23
+ customItem: "_customItem_uayvm_297",
24
+ collapseToggle: "_collapseToggle_uayvm_302",
25
+ collapseIcon: "_collapseIcon_uayvm_328",
26
+ railFlyout: "_railFlyout_uayvm_337",
27
+ railFlyoutCaption: "_railFlyoutCaption_uayvm_369",
28
+ flyoutItem: "_flyoutItem_uayvm_379",
29
+ flyoutSeparator: "_flyoutSeparator_uayvm_384"
30
30
  };
31
31
  //#endregion
32
32
  export { e as default };
@@ -3,25 +3,26 @@ import { cn as t } from "@cascivo/core/pure";
3
3
  import { forwardRef as n } from "react";
4
4
  import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
5
  //#region ../components/src/slider/slider.tsx
6
- var a = n(function({ label: n, className: a, id: o, min: s = 0, max: c = 100, step: l = 1, disabled: u, ...d }, f) {
7
- let p = o ?? (n ? `cascade-slider-${n.toLowerCase().replace(/\s+/g, "-")}` : void 0);
6
+ var a = n(function({ label: n, ariaLabel: a, className: o, id: s, min: c = 0, max: l = 100, step: u = 1, disabled: d, ...f }, p) {
7
+ let m = s ?? (n ? `cascade-slider-${n.toLowerCase().replace(/\s+/g, "-")}` : void 0);
8
8
  return /* @__PURE__ */ i("div", {
9
- className: t(e.wrapper, a),
10
- "data-disabled": u || void 0,
9
+ className: t(e.wrapper, o),
10
+ "data-disabled": d || void 0,
11
11
  children: [n && /* @__PURE__ */ r("label", {
12
12
  className: e.label,
13
- htmlFor: p,
13
+ htmlFor: m,
14
14
  children: n
15
15
  }), /* @__PURE__ */ r("input", {
16
- id: p,
16
+ id: m,
17
17
  type: "range",
18
- min: s,
19
- max: c,
20
- step: l,
21
- disabled: u,
18
+ min: c,
19
+ max: l,
20
+ step: u,
21
+ disabled: d,
22
22
  className: e.slider,
23
- ref: f,
24
- ...d
23
+ ref: p,
24
+ ...f,
25
+ "aria-label": f["aria-label"] ?? a
25
26
  })]
26
27
  });
27
28
  });
@@ -5,13 +5,13 @@ import { cn as t, useSignals as n } from "@cascivo/core";
5
5
  import { builtin as r, t as i } from "@cascivo/i18n";
6
6
  import { jsx as a } from "react/jsx-runtime";
7
7
  //#region ../components/src/spinner/spinner.tsx
8
- function o({ size: o = "md", label: s, className: c, ...l }) {
8
+ function o({ size: o = "md", label: s, ariaLabel: c, className: l, ...u }) {
9
9
  return n(), /* @__PURE__ */ a("span", {
10
10
  role: "status",
11
- "aria-label": s ?? i(r.spinner.label),
11
+ "aria-label": c ?? s ?? i(r.spinner.label),
12
12
  "data-size": o,
13
- className: t(e.spinner, c),
14
- ...l
13
+ className: t(e.spinner, l),
14
+ ...u
15
15
  });
16
16
  }
17
17
  //#endregion
@@ -5,17 +5,17 @@ import { normalizeProgress as t, useSignal as n, useSignals as r } from "@casciv
5
5
  import { builtin as i, t as a } from "@cascivo/i18n";
6
6
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
7
7
  //#region ../components/src/steps/steps.tsx
8
- function c({ steps: c, activeStep: l, orientation: u = "horizontal", className: d, ariaLabel: f }) {
8
+ function c({ steps: c, items: l, activeStep: u, orientation: d = "horizontal", className: f, ariaLabel: p, label: m }) {
9
9
  r();
10
- let p = n(l ?? 0);
11
- p.value = l ?? p.value;
12
- let m = f ?? a(i.steps.label);
10
+ let h = l ?? c ?? [], g = n(u ?? 0);
11
+ g.value = u ?? g.value;
12
+ let _ = p ?? m ?? a(i.steps.label);
13
13
  return /* @__PURE__ */ o("ol", {
14
- className: [e.steps, d].filter(Boolean).join(" "),
15
- "data-orientation": u,
16
- "aria-label": m,
17
- children: c.map((n, r) => {
18
- let i = n.state ? t(n.state) : r < p.value ? "complete" : r === p.value ? "active" : "pending";
14
+ className: [e.steps, f].filter(Boolean).join(" "),
15
+ "data-orientation": d,
16
+ "aria-label": _,
17
+ children: h.map((n, r) => {
18
+ let i = n.state ? t(n.state) : r < g.value ? "complete" : r === g.value ? "active" : "pending";
19
19
  return /* @__PURE__ */ s("li", {
20
20
  className: e.step,
21
21
  "data-state": i,
@@ -27,7 +27,7 @@ function c({ steps: c, activeStep: l, orientation: u = "horizontal", className:
27
27
  className: e.label,
28
28
  children: n.label
29
29
  })]
30
- }, r);
30
+ }, n.id ?? r);
31
31
  })
32
32
  });
33
33
  }
@@ -6,10 +6,10 @@ import { cn as n, useControllableSignal as r, useRovingFocus as i, useSignals as
6
6
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
7
7
  //#region ../components/src/structured-list/structured-list.tsx
8
8
  function c(t) {
9
- let { items: r, headers: i, selectable: a = !1, className: c, ariaLabel: u, "aria-label": d } = t;
9
+ let { items: r, headers: i, selectable: a = !1, className: c, ariaLabel: u, label: d, "aria-label": f } = t;
10
10
  return a ? /* @__PURE__ */ o(l, { ...t }) : /* @__PURE__ */ s("div", {
11
11
  role: "table",
12
- "aria-label": d ?? u,
12
+ "aria-label": f ?? u ?? d,
13
13
  className: n(e.list, c),
14
14
  children: [i && /* @__PURE__ */ o("div", {
15
15
  role: "row",
@@ -34,22 +34,22 @@ function c(t) {
34
34
  })]
35
35
  });
36
36
  }
37
- function l({ items: c, headers: l, value: u, defaultValue: d, onSelect: f, className: p, ariaLabel: m, "aria-label": h }) {
38
- let g = h ?? m;
37
+ function l({ items: c, headers: l, value: u, defaultValue: d, onSelect: f, className: p, ariaLabel: m, "aria-label": h, label: g }) {
38
+ let _ = h ?? m ?? g;
39
39
  a();
40
- let _ = t(), [v, y] = r({
40
+ let v = t(), [y, b] = r({
41
41
  value: u,
42
42
  defaultValue: d ?? c.find((e) => e.selected)?.id ?? "",
43
43
  onChange: f
44
- }), b = i({
44
+ }), x = i({
45
45
  orientation: "vertical",
46
46
  loop: !1
47
- }), x = (e) => {
48
- y(e);
47
+ }), S = (e) => {
48
+ b(e);
49
49
  };
50
50
  return /* @__PURE__ */ s("div", {
51
51
  role: "radiogroup",
52
- "aria-label": g,
52
+ "aria-label": _,
53
53
  className: n(e.list, e.selectable, p),
54
54
  children: [l && /* @__PURE__ */ s("div", {
55
55
  className: e.headerRow,
@@ -63,18 +63,18 @@ function l({ items: c, headers: l, value: u, defaultValue: d, onSelect: f, class
63
63
  }), /* @__PURE__ */ o("div", {
64
64
  className: e.body,
65
65
  children: c.map((t, n) => {
66
- let r = v.value === t.id, { ref: i, ...a } = b.getItemProps(n);
66
+ let r = y.value === t.id, { ref: i, ...a } = x.getItemProps(n);
67
67
  return /* @__PURE__ */ s("div", {
68
68
  role: "radio",
69
69
  "aria-checked": r,
70
- "aria-labelledby": `${_}-${t.id}-label`,
70
+ "aria-labelledby": `${v}-${t.id}-label`,
71
71
  "data-selected": r || void 0,
72
72
  className: e.row,
73
73
  ref: i,
74
74
  ...a,
75
- onClick: () => x(t.id),
75
+ onClick: () => S(t.id),
76
76
  onKeyDown: (e) => {
77
- a.onKeyDown(e), (e.key === "Enter" || e.key === " ") && (e.preventDefault(), x(t.id));
77
+ a.onKeyDown(e), (e.key === "Enter" || e.key === " ") && (e.preventDefault(), S(t.id));
78
78
  },
79
79
  children: [
80
80
  /* @__PURE__ */ o("div", {
@@ -84,7 +84,7 @@ function l({ items: c, headers: l, value: u, defaultValue: d, onSelect: f, class
84
84
  }),
85
85
  /* @__PURE__ */ o("div", {
86
86
  className: e.cell,
87
- id: `${_}-${t.id}-label`,
87
+ id: `${v}-${t.id}-label`,
88
88
  children: t.cells[0]
89
89
  }),
90
90
  t.cells.slice(1).map((t, n) => /* @__PURE__ */ o("div", {
package/dist/styles.css CHANGED
@@ -953,7 +953,7 @@
953
953
  /*$vite$:1*/
954
954
  @layer cascivo.component{._list_prsqy_2{font-family:var(--cascivo-font-sans);color:var(--cascivo-color-text);line-height:var(--cascivo-leading-normal);margin:0}._list_prsqy_2[data-size=sm]{font-size:var(--cascivo-text-xs);--_row-gap:var(--cascivo-space-2);--_pair-gap:var(--cascivo-space-2)}._list_prsqy_2[data-size=md]{font-size:var(--cascivo-text-sm);--_row-gap:var(--cascivo-space-3);--_pair-gap:var(--cascivo-space-4)}._row_prsqy_21{gap:var(--_pair-gap);padding-block:var(--_row-gap);display:grid}._list_prsqy_2[data-orientation=horizontal] ._row_prsqy_21{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:baseline}._list_prsqy_2[data-orientation=vertical] ._row_prsqy_21{gap:var(--cascivo-space-1);grid-template-columns:1fr}._list_prsqy_2[data-dividers] ._row_prsqy_21{border-block-end:1px solid var(--cascivo-color-border)}._list_prsqy_2[data-dividers] ._row_prsqy_21:last-child{border-block-end:none}._term_prsqy_45{color:var(--cascivo-color-text-subtle);font-weight:var(--cascivo-font-medium);margin:0}._detail_prsqy_51{margin:0;color:var(--cascivo-color-text);margin-inline-start:0}}@media (forced-colors:active){._list_prsqy_2[data-dividers] ._row_prsqy_21{border-block-end:1px solid canvastext}}
955
955
  /*$vite$:1*/
956
- @layer cascivo.component{._root_bwapn_2{--_row-height:3rem;font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-surface);background-color:var(--cascivo-color-surface);flex-direction:column;display:flex;overflow:hidden}._root_bwapn_2[data-density=compact]{--_row-height:2.25rem}._root_bwapn_2[data-density=normal]{--_row-height:3rem}._root_bwapn_2[data-density=relaxed]{--_row-height:3.75rem}._toolbar_bwapn_26{justify-content:space-between;align-items:flex-end;gap:var(--cascivo-space-4);padding:var(--cascivo-space-3) var(--cascivo-space-4);border-block-end:1px solid var(--cascivo-color-border);display:flex}._heading_bwapn_35{gap:var(--cascivo-space-1);flex-direction:column;display:flex}._title_bwapn_41{font-size:var(--cascivo-text-base);font-weight:var(--cascivo-font-semibold);color:var(--cascivo-color-text)}._description_bwapn_47{font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text-subtle)}._search_bwapn_52{appearance:none;height:2rem;min-inline-size:14rem;padding-inline:var(--cascivo-space-3);font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);background-color:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-field);transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);outline:none}._search_bwapn_52:hover:not(:focus){border-color:var(--cascivo-color-border-strong)}._search_bwapn_52:focus-visible{border-color:var(--cascivo-color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--cascivo-color-accent) 20%, transparent)}._batchBar_bwapn_79{justify-content:space-between;align-items:center;gap:var(--cascivo-space-4);padding:var(--cascivo-space-2) var(--cascivo-space-4);background-color:var(--cascivo-color-bg-subtle);border-block-end:1px solid var(--cascivo-color-border);display:flex}._batchCount_bwapn_89{font-size:var(--cascivo-text-sm);font-weight:var(--cascivo-font-medium);color:var(--cascivo-color-text)}._batchActions_bwapn_95{gap:var(--cascivo-space-2);display:flex}._scroller_bwapn_101{max-block-size:var(--cascivo-data-table-max-height,none);scrollbar-gutter:stable;overflow:auto}._scrollerVirtualized_bwapn_111{block-size:var(--cascivo-data-table-height,400px);max-block-size:none;overflow:auto}._table_bwapn_117{border-collapse:collapse;table-layout:auto;inline-size:100%}._root_bwapn_2[data-paginated=true][data-fixed-layout=true] ._table_bwapn_117{table-layout:fixed}._table_bwapn_117 thead th{padding-block:var(--cascivo-space-2);padding-inline:var(--cascivo-data-table-cell-gap,var(--cascivo-space-4));text-align:start;font-weight:var(--cascivo-font-semibold);font-size:var(--cascivo-text-xs);text-transform:uppercase;letter-spacing:var(--cascivo-tracking-wide);color:var(--cascivo-color-text-subtle);background-color:var(--cascivo-color-bg-subtle);border-block-end:1px solid var(--cascivo-color-border);white-space:nowrap}._table_bwapn_117 thead th[data-align=end]{text-align:end}._table_bwapn_117 td{padding-block:0;padding-inline:var(--cascivo-data-table-cell-gap,var(--cascivo-space-4));block-size:var(--_row-height);vertical-align:middle;border-block-end:1px solid var(--cascivo-color-border);color:var(--cascivo-color-text)}._table_bwapn_117 td[data-sized],._table_bwapn_117 th[data-sized]{overflow-wrap:break-word;min-inline-size:min-content}._table_bwapn_117 td[data-align=end]{text-align:end}._table_bwapn_117 tbody tr[data-filler-row] td{border-block-end:none}._root_bwapn_2[data-sticky-header=true] ._table_bwapn_117 thead th{z-index:var(--cascivo-z-raised,10);background-color:var(--cascivo-color-surface);position:sticky;inset-block-start:0}._root_bwapn_2[data-zebra=true] ._table_bwapn_117 tbody tr:nth-child(2n of ._row_bwapn_199){background-color:var(--cascivo-table-zebra-bg,color-mix(in oklab, var(--cascivo-color-text) 5%, transparent))}._controlCol_bwapn_219{inline-size:3rem}._controlCell_bwapn_223{text-align:center;padding-inline:var(--cascivo-space-2)}._sortButton_bwapn_229{align-items:center;gap:var(--cascivo-space-1);font-family:inherit;font-size:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;background:0 0;border:none;outline:none;padding:0;display:inline-flex}._sortButton_bwapn_229:focus-visible{text-decoration:underline}._sortButton_bwapn_229:after{content:"↕";opacity:.4;font-size:.75em}._sortButton_bwapn_229[data-state=ascending]:after{content:"↑";opacity:.9}._sortButton_bwapn_229[data-state=descending]:after{content:"↓";opacity:.9}._row_bwapn_199{content-visibility:auto;contain-intrinsic-size:auto var(--_row-height,3rem)}._row_bwapn_199[data-state=selected] td{background-color:color-mix(in srgb, var(--cascivo-color-accent) 8%, transparent)}._emptyCell_bwapn_277{padding:var(--cascivo-space-8) var(--cascivo-space-4);text-align:center;color:var(--cascivo-color-text-muted)}._expansionRow_bwapn_284[data-state=closed]{display:none}._expansionGrid_bwapn_290{overflow:hidden}._expansionInner_bwapn_294{padding:var(--cascivo-space-4)}._expandButton_bwapn_299{cursor:pointer;block-size:1.5rem;inline-size:1.5rem;color:var(--cascivo-color-text-muted);border-radius:var(--cascivo-radius-control);background:0 0;border:none;outline:none;justify-content:center;align-items:center;display:inline-flex}._expandButton_bwapn_299:focus-visible{box-shadow:0 0 0 2px var(--cascivo-color-accent)}._expandButton_bwapn_299:hover{color:var(--cascivo-color-text);background-color:var(--cascivo-color-bg-subtle)}._chevron_bwapn_322{block-size:.75rem;inline-size:.75rem;transition:transform var(--cascivo-duration-150) var(--cascivo-ease-out);border-block-end:2px solid;border-inline-end:2px solid;display:block;transform:rotate(45deg)}._expandButton_bwapn_299[data-state=open] ._chevron_bwapn_322{transform:rotate(-135deg)}._shimmer_bwapn_337{background-color:var(--cascivo-color-bg-subtle);border-radius:var(--cascivo-radius-indicator);block-size:.875rem;inline-size:80%;display:block;position:relative;overflow:hidden}._shimmer_bwapn_337:after{content:"";background:linear-gradient(90deg, transparent, var(--cascivo-color-surface), transparent);animation:_shimmer_bwapn_337 var(--cascivo-duration-500,.5s) var(--cascivo-ease-in-out,ease-in-out) infinite;position:absolute;inset:0;translate:-100%}@keyframes _shimmer_bwapn_337{to{translate:100%}}._footer_bwapn_364{justify-content:flex-end;align-items:center;gap:var(--cascivo-space-4);padding:var(--cascivo-space-3) var(--cascivo-space-4);border-block-start:1px solid var(--cascivo-color-border);font-size:var(--cascivo-text-sm);display:flex}._pageSize_bwapn_374{align-items:center;gap:var(--cascivo-space-2);color:var(--cascivo-color-text-muted);display:flex}._pageSize_bwapn_374 select{appearance:none;height:2rem;padding-inline:var(--cascivo-space-2);font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);background-color:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-field);cursor:pointer;outline:none}._pageSize_bwapn_374 select:focus-visible{border-color:var(--cascivo-color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--cascivo-color-accent) 20%, transparent)}._range_bwapn_400{color:var(--cascivo-color-text-muted);white-space:nowrap}._pageButtons_bwapn_405{gap:var(--cascivo-space-1);display:flex}._pageButton_bwapn_405{border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-control);cursor:pointer;block-size:2rem;inline-size:2rem;color:var(--cascivo-color-text);font-size:var(--cascivo-text-base);transition:background-color var(--cascivo-duration-150) var(--cascivo-ease-out), border-color var(--cascivo-duration-150) var(--cascivo-ease-out);background:0 0;outline:none;justify-content:center;align-items:center;display:inline-flex}._pageButton_bwapn_405:hover:not(:disabled){background-color:var(--cascivo-color-bg-subtle);border-color:var(--cascivo-color-border-strong)}._pageButton_bwapn_405:focus-visible{border-color:var(--cascivo-color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--cascivo-color-accent) 20%, transparent)}._pageButton_bwapn_405:disabled{color:var(--cascivo-color-text-muted);cursor:not-allowed}._srOnly_bwapn_446{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}}
956
+ @layer cascivo.component{._root_1bz3s_2{--_row-height:3rem;font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-surface);background-color:var(--cascivo-color-surface);flex-direction:column;display:flex;overflow:hidden}._root_1bz3s_2[data-density=compact]{--_row-height:2.25rem}._root_1bz3s_2[data-density=normal]{--_row-height:3rem}._root_1bz3s_2[data-density=relaxed]{--_row-height:3.75rem}._toolbar_1bz3s_26{justify-content:space-between;align-items:flex-end;gap:var(--cascivo-space-4);padding:var(--cascivo-space-3) var(--cascivo-space-4);border-block-end:1px solid var(--cascivo-color-border);display:flex}._heading_1bz3s_35{gap:var(--cascivo-space-1);flex-direction:column;display:flex}._title_1bz3s_41{font-size:var(--cascivo-text-base);font-weight:var(--cascivo-font-semibold);color:var(--cascivo-color-text)}._description_1bz3s_47{font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text-subtle)}._search_1bz3s_52{appearance:none;height:2rem;min-inline-size:14rem;padding-inline:var(--cascivo-space-3);font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);background-color:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-field);transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);outline:none}._search_1bz3s_52:hover:not(:focus){border-color:var(--cascivo-color-border-strong)}._search_1bz3s_52:focus-visible{border-color:var(--cascivo-color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--cascivo-color-accent) 20%, transparent)}._batchBar_1bz3s_79{justify-content:space-between;align-items:center;gap:var(--cascivo-space-4);padding:var(--cascivo-space-2) var(--cascivo-space-4);background-color:var(--cascivo-color-bg-subtle);border-block-end:1px solid var(--cascivo-color-border);display:flex}._batchCount_1bz3s_89{font-size:var(--cascivo-text-sm);font-weight:var(--cascivo-font-medium);color:var(--cascivo-color-text)}._batchActions_1bz3s_95{gap:var(--cascivo-space-2);display:flex}._scroller_1bz3s_101{max-block-size:var(--cascivo-data-table-max-height,none);scrollbar-gutter:stable;background-image:linear-gradient(to right, var(--cascivo-color-surface) 30%, transparent), linear-gradient(to left, var(--cascivo-color-surface) 30%, transparent), radial-gradient(farthest-side at 0 50%, var(--cascivo-color-border), transparent), radial-gradient(farthest-side at 100% 50%, var(--cascivo-color-border), transparent);background-position:0 0,100% 0,0 0,100% 0;background-repeat:no-repeat;background-size:2.5rem 100%,2.5rem 100%,.875rem 100%,.875rem 100%;background-attachment:local,local,scroll,scroll;overflow:auto}._scrollerVirtualized_1bz3s_137{block-size:var(--cascivo-data-table-height,400px);max-block-size:none;overflow:auto}._table_1bz3s_143{border-collapse:collapse;table-layout:auto;inline-size:100%}._root_1bz3s_2[data-paginated=true][data-fixed-layout=true] ._table_1bz3s_143{table-layout:fixed}._table_1bz3s_143 thead th{padding-block:var(--cascivo-space-2);padding-inline:var(--cascivo-data-table-cell-gap,var(--cascivo-space-4));text-align:start;font-weight:var(--cascivo-font-semibold);font-size:var(--cascivo-text-xs);text-transform:uppercase;letter-spacing:var(--cascivo-tracking-wide);color:var(--cascivo-color-text-subtle);background-color:var(--cascivo-color-bg-subtle);border-block-end:1px solid var(--cascivo-color-border);white-space:nowrap}._table_1bz3s_143 thead th[data-align=end]{text-align:end}._table_1bz3s_143 td{padding-block:0;padding-inline:var(--cascivo-data-table-cell-gap,var(--cascivo-space-4));block-size:var(--_row-height);vertical-align:middle;border-block-end:1px solid var(--cascivo-color-border);color:var(--cascivo-color-text)}._table_1bz3s_143 td[data-sized],._table_1bz3s_143 th[data-sized]{overflow-wrap:break-word;min-inline-size:min-content}._table_1bz3s_143 td[data-align=end]{text-align:end}._table_1bz3s_143 tbody tr[data-filler-row] td{border-block-end:none}._root_1bz3s_2[data-sticky-header=true] ._table_1bz3s_143 thead th{z-index:var(--cascivo-z-raised,10);background-color:var(--cascivo-color-surface);position:sticky;inset-block-start:0}._root_1bz3s_2[data-zebra=true] ._table_1bz3s_143 tbody tr:nth-child(2n of ._row_1bz3s_225){background-color:var(--cascivo-table-zebra-bg,color-mix(in oklab, var(--cascivo-color-text) 5%, transparent))}._controlCol_1bz3s_245{inline-size:3rem}._controlCell_1bz3s_249{text-align:center;padding-inline:var(--cascivo-space-2)}._sortButton_1bz3s_255{align-items:center;gap:var(--cascivo-space-1);font-family:inherit;font-size:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;background:0 0;border:none;outline:none;padding:0;display:inline-flex}._sortButton_1bz3s_255:focus-visible{text-decoration:underline}._sortButton_1bz3s_255:after{content:"↕";opacity:.4;font-size:.75em}._sortButton_1bz3s_255[data-state=ascending]:after{content:"↑";opacity:.9}._sortButton_1bz3s_255[data-state=descending]:after{content:"↓";opacity:.9}._row_1bz3s_225{content-visibility:auto;contain-intrinsic-size:auto var(--_row-height,3rem)}._row_1bz3s_225[data-state=selected] td{background-color:color-mix(in srgb, var(--cascivo-color-accent) 8%, transparent)}._emptyCell_1bz3s_303{padding:var(--cascivo-space-8) var(--cascivo-space-4);text-align:center;color:var(--cascivo-color-text-muted)}._expansionRow_1bz3s_310[data-state=closed]{display:none}._expansionGrid_1bz3s_316{overflow:hidden}._expansionInner_1bz3s_320{padding:var(--cascivo-space-4)}._expandButton_1bz3s_325{cursor:pointer;block-size:1.5rem;inline-size:1.5rem;color:var(--cascivo-color-text-muted);border-radius:var(--cascivo-radius-control);background:0 0;border:none;outline:none;justify-content:center;align-items:center;display:inline-flex}._expandButton_1bz3s_325:focus-visible{box-shadow:0 0 0 2px var(--cascivo-color-accent)}._expandButton_1bz3s_325:hover{color:var(--cascivo-color-text);background-color:var(--cascivo-color-bg-subtle)}._chevron_1bz3s_348{block-size:.75rem;inline-size:.75rem;transition:transform var(--cascivo-duration-150) var(--cascivo-ease-out);border-block-end:2px solid;border-inline-end:2px solid;display:block;transform:rotate(45deg)}._expandButton_1bz3s_325[data-state=open] ._chevron_1bz3s_348{transform:rotate(-135deg)}._shimmer_1bz3s_363{background-color:var(--cascivo-color-bg-subtle);border-radius:var(--cascivo-radius-indicator);block-size:.875rem;inline-size:80%;display:block;position:relative;overflow:hidden}._shimmer_1bz3s_363:after{content:"";background:linear-gradient(90deg, transparent, var(--cascivo-color-surface), transparent);animation:_shimmer_1bz3s_363 var(--cascivo-duration-500,.5s) var(--cascivo-ease-in-out,ease-in-out) infinite;position:absolute;inset:0;translate:-100%}@keyframes _shimmer_1bz3s_363{to{translate:100%}}._footer_1bz3s_390{justify-content:flex-end;align-items:center;gap:var(--cascivo-space-4);padding:var(--cascivo-space-3) var(--cascivo-space-4);border-block-start:1px solid var(--cascivo-color-border);font-size:var(--cascivo-text-sm);display:flex}._pageSize_1bz3s_400{align-items:center;gap:var(--cascivo-space-2);color:var(--cascivo-color-text-muted);display:flex}._pageSize_1bz3s_400 select{appearance:none;height:2rem;padding-inline:var(--cascivo-space-2);font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);background-color:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-field);cursor:pointer;outline:none}._pageSize_1bz3s_400 select:focus-visible{border-color:var(--cascivo-color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--cascivo-color-accent) 20%, transparent)}._range_1bz3s_426{color:var(--cascivo-color-text-muted);white-space:nowrap}._pageButtons_1bz3s_431{gap:var(--cascivo-space-1);display:flex}._pageButton_1bz3s_431{border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-control);cursor:pointer;block-size:2rem;inline-size:2rem;color:var(--cascivo-color-text);font-size:var(--cascivo-text-base);transition:background-color var(--cascivo-duration-150) var(--cascivo-ease-out), border-color var(--cascivo-duration-150) var(--cascivo-ease-out);background:0 0;outline:none;justify-content:center;align-items:center;display:inline-flex}._pageButton_1bz3s_431:hover:not(:disabled){background-color:var(--cascivo-color-bg-subtle);border-color:var(--cascivo-color-border-strong)}._pageButton_1bz3s_431:focus-visible{border-color:var(--cascivo-color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--cascivo-color-accent) 20%, transparent)}._pageButton_1bz3s_431:disabled{color:var(--cascivo-color-text-muted);cursor:not-allowed}._srOnly_1bz3s_472{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}}
957
957
  /*$vite$:1*/
958
958
  @layer cascivo.component{._wrapper_g43fz_2{gap:var(--cascivo-space-1);min-inline-size:0;font-family:var(--cascivo-font-sans);flex-direction:column;display:inline-flex;position:relative}._wrapper_g43fz_2[data-size=sm]{--_height:2rem;--_font:var(--cascivo-text-sm);--_px:var(--cascivo-space-3)}._wrapper_g43fz_2[data-size=md]{--_height:2.5rem;--_font:var(--cascivo-text-sm);--_px:var(--cascivo-space-4)}._wrapper_g43fz_2[data-size=lg]{--_height:3rem;--_font:var(--cascivo-text-base);--_px:var(--cascivo-space-4)}._label_g43fz_31{font-size:var(--cascivo-text-sm);font-weight:var(--cascivo-font-medium);color:var(--cascivo-color-text);line-height:var(--cascivo-leading-snug)}._field_g43fz_38{align-items:center;display:flex;position:relative}._trigger_g43fz_44{justify-content:space-between;align-items:center;gap:var(--cascivo-space-2);block-size:var(--_height,2.5rem);min-inline-size:12rem;padding-inline:var(--_px,var(--cascivo-space-4));font-family:var(--cascivo-font-sans);font-size:var(--_font,var(--cascivo-text-sm));color:var(--cascivo-color-text);background-color:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-field);cursor:pointer;text-align:start;transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);outline:none;display:flex}._trigger_g43fz_44:hover:not(:disabled){border-color:var(--cascivo-color-border-strong)}._trigger_g43fz_44:focus-visible{border-color:var(--cascivo-color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--cascivo-color-accent) 20%, transparent)}._trigger_g43fz_44:disabled{opacity:.5;cursor:not-allowed}._wrapper_g43fz_2[data-state=error] ._trigger_g43fz_44{border-color:var(--cascivo-color-destructive)}._value_g43fz_82{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}._placeholder_g43fz_88{color:var(--cascivo-color-text-subtle)}._icon_g43fz_91{color:var(--cascivo-color-text-muted);font-style:normal}._clear_g43fz_96{cursor:pointer;min-block-size:1.5rem;min-inline-size:1.5rem;color:var(--cascivo-color-text-muted);font-size:var(--cascivo-text-xs);padding:var(--cascivo-space-1);border-radius:var(--cascivo-radius-control);background:0 0;border:none;outline:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;inset-inline-end:var(--cascivo-space-8)}._clear_g43fz_96:hover{color:var(--cascivo-color-text)}._clear_g43fz_96:focus-visible{box-shadow:0 0 0 2px var(--cascivo-color-accent)}._calendar_g43fz_121{z-index:var(--cascivo-z-dropdown);padding:var(--cascivo-space-3);background-color:var(--cascivo-color-surface-overlay);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-overlay);box-shadow:var(--cascivo-shadow-overlay);opacity:0;visibility:hidden;transition:opacity var(--cascivo-motion-enter), translate var(--cascivo-motion-enter), visibility var(--cascivo-motion-enter);position:absolute;inset-block-start:calc(100% + var(--cascivo-space-1));inset-inline-start:0;translate:0 -.25rem}._calendar_g43fz_121[data-state=open]{opacity:1;visibility:visible;translate:0}@starting-style{._calendar_g43fz_121[data-state=open]{opacity:0;translate:0 -.25rem}}._header_g43fz_153{justify-content:space-between;align-items:center;margin-block-end:var(--cascivo-space-2);display:flex}._monthLabel_g43fz_160{font-size:var(--cascivo-text-sm);font-weight:var(--cascivo-font-semibold);color:var(--cascivo-color-text)}._navButton_g43fz_166{border-radius:var(--cascivo-radius-control);cursor:pointer;block-size:2rem;inline-size:2rem;color:var(--cascivo-color-text-muted);font-size:var(--cascivo-text-base);background:0 0;border:1px solid #0000;outline:none;justify-content:center;align-items:center;display:inline-flex}._navButton_g43fz_166:hover{background-color:var(--cascivo-color-bg-subtle);color:var(--cascivo-color-text)}._navButton_g43fz_166:focus-visible{border-color:var(--cascivo-color-accent)}._grid_g43fz_188{border-collapse:collapse;inline-size:100%}._weekday_g43fz_193{padding-block:var(--cascivo-space-1);font-size:var(--cascivo-text-xs);font-weight:var(--cascivo-font-medium);color:var(--cascivo-color-text-muted);text-align:center;inline-size:2.25rem}._cell_g43fz_202{text-align:center;padding:2px}._empty_g43fz_206{inline-size:2.25rem}._day_g43fz_210{block-size:2.25rem;inline-size:2.25rem;font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);border-radius:var(--cascivo-radius-control);cursor:pointer;background:0 0;border:none;outline:none;justify-content:center;align-items:center;display:flex}._day_g43fz_210:hover:not([aria-disabled]){background-color:var(--cascivo-color-bg-subtle)}._day_g43fz_210:focus-visible{box-shadow:0 0 0 2px var(--cascivo-color-accent)}._day_g43fz_210[data-today]{font-weight:var(--cascivo-font-semibold);color:var(--cascivo-color-accent)}._day_g43fz_210[data-selected]{background-color:var(--cascivo-color-accent);color:var(--cascivo-color-accent-foreground,var(--cascivo-color-text-on-accent))}._day_g43fz_210[aria-disabled]{opacity:.35;cursor:not-allowed}._error_g43fz_245{font-size:var(--cascivo-text-xs);color:var(--cascivo-color-destructive)}._hint_g43fz_249{font-size:var(--cascivo-text-xs);color:var(--cascivo-color-text-muted)}}
959
959
  /*$vite$:1*/
@@ -1101,7 +1101,7 @@
1101
1101
  /*$vite$:1*/
1102
1102
  @layer cascivo.component{._header_6njjo_2{align-items:center;gap:var(--cascivo-space-2);block-size:var(--cascivo-shell-header-block-size);padding-inline:var(--cascivo-space-3);background:var(--cascivo-color-surface);border-block-end:1px solid var(--cascivo-color-border);font-family:var(--cascivo-font-sans);display:flex;position:relative}._skipLink_6njjo_14{z-index:100;padding:var(--cascivo-space-2) var(--cascivo-space-3);background:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-control);color:var(--cascivo-color-text);font-size:var(--cascivo-text-sm);clip-path:inset(50%);text-decoration:none;position:absolute;inset-block-start:var(--cascivo-space-2);inset-inline-start:var(--cascivo-space-2)}._skipLink_6njjo_14:focus-visible{clip-path:none;box-shadow:var(--cascivo-focus-ring);outline:none}._menuButton_6njjo_36{border-radius:var(--cascivo-radius-control);block-size:2.5rem;inline-size:2.5rem;color:var(--cascivo-color-text);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._menuButton_6njjo_36:hover{background:var(--cascivo-color-bg-subtle)}._menuButton_6njjo_36:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._brand_6njjo_59{align-items:baseline;gap:var(--cascivo-space-1);color:var(--cascivo-color-text);white-space:nowrap;font-size:var(--cascivo-text-sm);text-decoration:none;display:inline-flex}._brandPrefix_6njjo_69{font-weight:var(--cascivo-font-normal)}._brandName_6njjo_73{font-weight:var(--cascivo-font-semibold)}._nav_6njjo_77{min-inline-size:0}._navList_6njjo_81{align-items:center;gap:var(--cascivo-space-1);margin:0;padding:0;list-style:none;display:flex}._navLink_6njjo_90{padding-inline:var(--cascivo-space-3);padding-block:var(--cascivo-space-2);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text-subtle);white-space:nowrap;border-radius:var(--cascivo-radius-control);transition:color var(--cascivo-duration-150) var(--cascivo-ease-out);align-items:center;text-decoration:none;display:inline-flex}._navLink_6njjo_90:hover{color:var(--cascivo-color-text);background:var(--cascivo-color-bg-subtle)}._navLink_6njjo_90:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._navLink_6njjo_90[data-state=active]{color:var(--cascivo-color-text);font-weight:var(--cascivo-font-semibold);background:var(--cascivo-color-bg-subtle)}._navMenuWrapper_6njjo_119{list-style:none;position:relative}._navMenuTrigger_6njjo_124{align-items:center;gap:var(--cascivo-space-1);padding-inline:var(--cascivo-space-3);padding-block:var(--cascivo-space-2);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text-subtle);border-radius:var(--cascivo-radius-control);cursor:pointer;white-space:nowrap;transition:color var(--cascivo-duration-150) var(--cascivo-ease-out);background:0 0;border:none;display:inline-flex}._navMenuTrigger_6njjo_124:hover{color:var(--cascivo-color-text);background:var(--cascivo-color-bg-subtle)}._navMenuTrigger_6njjo_124:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._navMenuTrigger_6njjo_124[data-state=active]{color:var(--cascivo-color-text);font-weight:var(--cascivo-font-semibold);background:var(--cascivo-color-bg-subtle)}._chevron_6njjo_156{transition:transform var(--cascivo-duration-150) var(--cascivo-ease-out)}[aria-expanded=true] ._chevron_6njjo_156{transform:rotate(180deg)}._navMenuPanel_6njjo_164{position-anchor:var(--cascivo-popover-anchor,inherit);margin:var(--cascivo-space-1) 0 0;padding:var(--cascivo-space-1);background:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-control);min-inline-size:12rem;box-shadow:var(--cascivo-shadow-md);transition:translate var(--cascivo-motion-enter), display var(--cascivo-motion-enter) allow-discrete, overlay var(--cascivo-motion-enter) allow-discrete;list-style:none;position:fixed;inset-block-start:anchor(end);inset-inline-start:anchor(start);translate:0}@starting-style{._navMenuPanel_6njjo_164{translate:0 -.5rem}}._navMenuPanel_6njjo_164[data-state=closed]{transition:translate var(--cascivo-motion-exit), display var(--cascivo-motion-exit) allow-discrete, overlay var(--cascivo-motion-exit) allow-discrete;translate:0 -.5rem}._navMenuItem_6njjo_197{padding-inline:var(--cascivo-space-3);padding-block:var(--cascivo-space-2);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);border-radius:var(--cascivo-radius-item);white-space:nowrap;text-decoration:none;display:block}._navMenuItem_6njjo_197:hover,._navMenuItem_6njjo_197:focus-visible{background:var(--cascivo-color-bg-subtle);outline:none}._navMenuItem_6njjo_197[data-state=active]{background:var(--cascivo-color-active-bg);font-weight:var(--cascivo-font-medium)}._spacer_6njjo_219{flex:1}._center_6njjo_226{min-inline-size:0;padding-inline:var(--cascivo-space-2);flex:1;justify-content:center;align-items:center;display:flex}._actions_6njjo_235{align-items:center;gap:var(--cascivo-space-1);display:flex}._action_6njjo_235{border:none;block-size:2.5rem;inline-size:2.5rem;color:var(--cascivo-color-text);cursor:pointer;border-radius:var(--cascivo-radius-control);background:0 0;border-block-end:2px solid #0000;justify-content:center;align-items:center;display:inline-flex}._action_6njjo_235:hover{background:var(--cascivo-color-bg-subtle)}._action_6njjo_235:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._action_6njjo_235[data-state=active]{border-block-end-color:var(--cascivo-color-accent);background:var(--cascivo-color-bg-subtle)}._actionIcon_6njjo_269{justify-content:center;align-items:center;block-size:1.25rem;inline-size:1.25rem;display:inline-flex}._end_6njjo_277{align-items:center;gap:var(--cascivo-space-2);padding-inline-start:var(--cascivo-space-2);display:flex}}
1103
1103
  /*$vite$:1*/
1104
- @layer cascivo.component{._sideNav_1v53b_2{box-sizing:border-box;inline-size:var(--cascivo-sidenav-inline-size,16rem);block-size:100%;max-block-size:100%;padding:var(--cascivo-space-2);font-family:var(--cascivo-font-sans);background-color:var(--cascivo-sidenav-bg,var(--cascivo-color-surface));border-inline-end:1px solid var(--cascivo-color-border);transition:inline-size var(--cascivo-motion-emphasis);flex-direction:column;display:flex;overflow:hidden auto}._sideNav_1v53b_2[data-state=collapsed]{inline-size:var(--cascivo-sidenav-rail-inline-size,4rem)}._sideNav_1v53b_2[data-state=collapsed] ._label_1v53b_24[data-rail-hidden],._sideNav_1v53b_2[data-state=collapsed] ._trailing_1v53b_25[data-rail-hidden],._sideNav_1v53b_2[data-state=collapsed] ._groupIndicator_1v53b_29{display:none}._sideNav_1v53b_2[data-expand-on-hover][data-state=collapsed]{position:relative}._sideNav_1v53b_2[data-expand-on-hover][data-state=collapsed]:hover,._sideNav_1v53b_2[data-expand-on-hover][data-state=collapsed]:focus-within{inline-size:var(--cascivo-sidenav-inline-size,16rem);z-index:10;box-shadow:var(--cascivo-shadow-md);position:absolute;inset-block:0}:is(._sideNav_1v53b_2[data-expand-on-hover][data-state=collapsed]:hover,._sideNav_1v53b_2[data-expand-on-hover][data-state=collapsed]:focus-within) ._label_1v53b_24[data-rail-hidden],:is(._sideNav_1v53b_2[data-expand-on-hover][data-state=collapsed]:hover,._sideNav_1v53b_2[data-expand-on-hover][data-state=collapsed]:focus-within) ._trailing_1v53b_25[data-rail-hidden]{display:initial}:is(._sideNav_1v53b_2[data-expand-on-hover][data-state=collapsed]:hover,._sideNav_1v53b_2[data-expand-on-hover][data-state=collapsed]:focus-within) ._link_1v53b_50,:is(._sideNav_1v53b_2[data-expand-on-hover][data-state=collapsed]:hover,._sideNav_1v53b_2[data-expand-on-hover][data-state=collapsed]:focus-within) ._groupTrigger_1v53b_51{padding-inline:var(--cascivo-space-3);justify-content:flex-start}:is(._sideNav_1v53b_2[data-expand-on-hover][data-state=collapsed]:hover,._sideNav_1v53b_2[data-expand-on-hover][data-state=collapsed]:focus-within) ._groupIndicator_1v53b_29{display:initial}:is(._sideNav_1v53b_2[data-expand-on-hover][data-state=collapsed]:hover,._sideNav_1v53b_2[data-expand-on-hover][data-state=collapsed]:focus-within) ._fallbackIcon_1v53b_60{display:none}._list_1v53b_67,._sublistInner_1v53b_68,._groupItems_1v53b_69{gap:var(--cascivo-space-1);padding:0;padding-inline:var(--cascivo-space-2);flex-direction:column;margin:0;list-style:none;display:flex}._group_1v53b_29{display:contents}._group_1v53b_29+._group_1v53b_29>._groupLabel_1v53b_84,._group_1v53b_29+._group_1v53b_29>._groupItems_1v53b_69:first-child{border-block-start:1px solid var(--cascivo-color-border);margin-block-start:var(--cascivo-space-4);padding-block-start:var(--cascivo-space-3)}._groupLabel_1v53b_84{padding-inline:var(--cascivo-space-3);padding-block:var(--cascivo-space-2) var(--cascivo-space-1);font-size:var(--cascivo-text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--cascivo-color-foreground-muted);margin:0;font-weight:600}._link_1v53b_50,._groupTrigger_1v53b_51{align-items:center;gap:var(--cascivo-space-2);inline-size:100%;padding-block:var(--cascivo-space-2);padding-inline:var(--cascivo-space-2);font-family:inherit;font-size:var(--cascivo-text-sm);line-height:var(--cascivo-leading-tight);text-align:start;white-space:nowrap;color:var(--cascivo-color-text-subtle);border-radius:var(--cascivo-radius-item);cursor:pointer;transition:color var(--cascivo-duration-150) var(--cascivo-ease-out), background-color var(--cascivo-duration-150) var(--cascivo-ease-out);background:0 0;border:none;text-decoration:none;display:flex;position:relative}:is(._link_1v53b_50,._groupTrigger_1v53b_51):hover{color:var(--cascivo-color-text);background-color:var(--cascivo-color-bg-subtle)}:is(._link_1v53b_50,._groupTrigger_1v53b_51):focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._link_1v53b_50[data-state=active]{color:var(--cascivo-color-text);font-weight:var(--cascivo-font-medium);background-color:var(--cascivo-color-accent-subtle)}._link_1v53b_50[data-state=active]:before{content:"";inset-block:var(--cascivo-radius-item);background:var(--cascivo-color-accent);border-radius:var(--cascivo-radius-full);inline-size:2px;position:absolute;inset-inline-start:0}._link_1v53b_50[data-tone=danger]{color:var(--cascivo-color-destructive)}._link_1v53b_50[data-tone=warning]{color:var(--cascivo-color-warning)}._link_1v53b_50[data-tone=success]{color:var(--cascivo-color-success)}._link_1v53b_50:disabled,._link_1v53b_50[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}._trailing_1v53b_25{font-size:var(--cascivo-text-xs);color:var(--cascivo-color-text-subtle);flex-shrink:0;align-items:center;margin-inline-start:auto;display:inline-flex}._checkMark_1v53b_185{color:var(--cascivo-color-accent);flex-shrink:0;margin-inline-start:auto}._icon_1v53b_191{inline-size:var(--cascivo-space-4);block-size:var(--cascivo-space-4);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._fallbackIcon_1v53b_60{background:var(--cascivo-color-bg-subtle);block-size:1.25rem;inline-size:1.25rem;font-size:.6875rem;font-weight:var(--cascivo-font-medium);color:var(--cascivo-color-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._label_1v53b_24{text-overflow:ellipsis;overflow:hidden}._groupIndicator_1v53b_29{transition:rotate var(--cascivo-motion-emphasis);flex-shrink:0;margin-inline-start:auto}._groupTrigger_1v53b_51[data-state=open] ._groupIndicator_1v53b_29{rotate:180deg}._sublist_1v53b_68{visibility:hidden;transition:grid-template-rows var(--cascivo-motion-exit), visibility var(--cascivo-motion-exit);grid-template-rows:0fr;display:grid}._sublist_1v53b_68[data-state=open]{visibility:visible;transition:grid-template-rows var(--cascivo-motion-enter), visibility var(--cascivo-motion-enter);grid-template-rows:1fr}._sublistInner_1v53b_68{min-block-size:0;overflow:hidden}._sublink_1v53b_251{padding-inline-start:calc(var(--cascivo-space-3) + var(--cascivo-space-4) + var(--cascivo-space-2))}._sublink_1v53b_251[data-selected]{color:var(--cascivo-color-text);font-weight:var(--cascivo-font-medium)}._subSeparator_1v53b_263{block-size:1px;margin-block:var(--cascivo-space-1);margin-inline:var(--cascivo-space-3);background:var(--cascivo-color-border)}._subGroupLabel_1v53b_270{padding-inline-start:calc(var(--cascivo-space-3) + var(--cascivo-space-4) + var(--cascivo-space-2));padding-block:var(--cascivo-space-1);font-size:var(--cascivo-text-xs);font-weight:var(--cascivo-font-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--cascivo-color-text-subtle)}._header_1v53b_282{padding-block:var(--cascivo-space-2);padding-inline:var(--cascivo-space-2);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text-subtle)}._footer_1v53b_289{padding-block:var(--cascivo-space-2);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text-subtle)}._customItem_1v53b_296{padding-block:var(--cascivo-space-2);padding-inline:var(--cascivo-space-2)}._collapseToggle_1v53b_301{padding-block:var(--cascivo-space-2);color:var(--cascivo-color-text-subtle);border-radius:var(--cascivo-radius-control);cursor:pointer;transition:color var(--cascivo-duration-150) var(--cascivo-ease-out), background-color var(--cascivo-duration-150) var(--cascivo-ease-out);background:0 0;border:none;justify-content:center;align-items:center;margin-block-start:auto;display:flex}._collapseToggle_1v53b_301:hover{color:var(--cascivo-color-text);background-color:var(--cascivo-color-bg-subtle)}._collapseToggle_1v53b_301:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._collapseIcon_1v53b_327{transition:rotate var(--cascivo-motion-emphasis)}._sideNav_1v53b_2[data-state=collapsed] ._collapseIcon_1v53b_327{rotate:180deg}._railFlyout_1v53b_336{min-inline-size:11rem;padding:var(--cascivo-space-1);background:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-overlay);box-shadow:var(--cascivo-shadow-md);margin:0;position:absolute;inset-block-start:anchor(start);inset-inline-start:anchor(end)}._railFlyout_1v53b_336:popover-open{flex-direction:column;gap:2px;display:flex}@starting-style{._railFlyout_1v53b_336:popover-open{opacity:0;translate:-4px}}._railFlyout_1v53b_336{transition:opacity var(--cascivo-duration-150) var(--cascivo-ease-out), translate var(--cascivo-duration-150) var(--cascivo-ease-out), display var(--cascivo-duration-150) var(--cascivo-ease-out) allow-discrete, overlay var(--cascivo-duration-150) var(--cascivo-ease-out) allow-discrete}._railFlyoutCaption_1v53b_368{padding-block:var(--cascivo-space-1);padding-inline:var(--cascivo-space-3);font-size:var(--cascivo-text-xs);font-weight:var(--cascivo-font-semibold);color:var(--cascivo-color-text-subtle);text-transform:uppercase;letter-spacing:.05em}._flyoutItem_1v53b_378{border-inline-start:none;padding-inline-start:var(--cascivo-space-3)}._flyoutSeparator_1v53b_383{block-size:1px;margin-block:var(--cascivo-space-1);margin-inline:var(--cascivo-space-2);background:var(--cascivo-color-border)}}
1104
+ @layer cascivo.component{._sideNav_uayvm_2{box-sizing:border-box;inline-size:var(--cascivo-sidenav-inline-size,16rem);block-size:100%;max-block-size:100%;padding:var(--cascivo-space-2);font-family:var(--cascivo-font-sans);background-color:var(--cascivo-sidenav-bg,var(--cascivo-color-surface));border-inline-end:1px solid var(--cascivo-color-border);transition:inline-size var(--cascivo-motion-emphasis);flex-direction:column;display:flex;overflow:hidden auto}._sideNav_uayvm_2[data-state=collapsed]{inline-size:var(--cascivo-sidenav-rail-inline-size,4rem)}._sideNav_uayvm_2[data-state=collapsed] ._label_uayvm_24[data-rail-hidden],._sideNav_uayvm_2[data-state=collapsed] ._trailing_uayvm_25[data-rail-hidden],._sideNav_uayvm_2[data-state=collapsed] ._groupIndicator_uayvm_29{display:none}._sideNav_uayvm_2[data-expand-on-hover][data-state=collapsed]{position:relative}._sideNav_uayvm_2[data-expand-on-hover][data-state=collapsed]:hover,._sideNav_uayvm_2[data-expand-on-hover][data-state=collapsed]:focus-within{inline-size:var(--cascivo-sidenav-inline-size,16rem);z-index:10;box-shadow:var(--cascivo-shadow-md);position:absolute;inset-block:0}:is(._sideNav_uayvm_2[data-expand-on-hover][data-state=collapsed]:hover,._sideNav_uayvm_2[data-expand-on-hover][data-state=collapsed]:focus-within) ._label_uayvm_24[data-rail-hidden],:is(._sideNav_uayvm_2[data-expand-on-hover][data-state=collapsed]:hover,._sideNav_uayvm_2[data-expand-on-hover][data-state=collapsed]:focus-within) ._trailing_uayvm_25[data-rail-hidden]{display:initial}:is(._sideNav_uayvm_2[data-expand-on-hover][data-state=collapsed]:hover,._sideNav_uayvm_2[data-expand-on-hover][data-state=collapsed]:focus-within) ._link_uayvm_50,:is(._sideNav_uayvm_2[data-expand-on-hover][data-state=collapsed]:hover,._sideNav_uayvm_2[data-expand-on-hover][data-state=collapsed]:focus-within) ._groupTrigger_uayvm_51{padding-inline:var(--cascivo-space-3);justify-content:flex-start}:is(._sideNav_uayvm_2[data-expand-on-hover][data-state=collapsed]:hover,._sideNav_uayvm_2[data-expand-on-hover][data-state=collapsed]:focus-within) ._groupIndicator_uayvm_29{display:initial}:is(._sideNav_uayvm_2[data-expand-on-hover][data-state=collapsed]:hover,._sideNav_uayvm_2[data-expand-on-hover][data-state=collapsed]:focus-within) ._fallbackIcon_uayvm_60{display:none}._list_uayvm_67,._sublistInner_uayvm_68,._groupItems_uayvm_69{gap:var(--cascivo-space-1);padding:0;padding-inline:var(--cascivo-space-2);flex-direction:column;margin:0;list-style:none;display:flex}._group_uayvm_29{display:contents}._group_uayvm_29+._group_uayvm_29>._groupLabel_uayvm_84,._group_uayvm_29+._group_uayvm_29>._groupItems_uayvm_69:first-child{border-block-start:1px solid var(--cascivo-color-border);margin-block-start:var(--cascivo-space-4);padding-block-start:var(--cascivo-space-3)}._groupLabel_uayvm_84{padding-inline:var(--cascivo-space-3);padding-block:var(--cascivo-space-2) var(--cascivo-space-1);font-size:var(--cascivo-text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--cascivo-color-foreground-muted);margin:0;font-weight:600}._link_uayvm_50,._groupTrigger_uayvm_51{align-items:center;gap:var(--cascivo-space-2);inline-size:100%;padding-block:var(--cascivo-space-2);padding-inline:var(--cascivo-space-2);font-family:inherit;font-size:var(--cascivo-text-sm);line-height:var(--cascivo-leading-tight);text-align:start;white-space:nowrap;color:var(--cascivo-color-text-subtle);border-radius:var(--cascivo-radius-item);cursor:pointer;transition:color var(--cascivo-duration-150) var(--cascivo-ease-out), background-color var(--cascivo-duration-150) var(--cascivo-ease-out);background:0 0;border:none;text-decoration:none;display:flex;position:relative}:is(._link_uayvm_50,._groupTrigger_uayvm_51):hover{color:var(--cascivo-color-text);background-color:var(--cascivo-color-bg-subtle)}:is(._link_uayvm_50,._groupTrigger_uayvm_51):focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._link_uayvm_50[data-state=active]{color:var(--cascivo-color-text);font-weight:var(--cascivo-font-medium);background-color:var(--cascivo-color-accent-subtle)}._link_uayvm_50[data-state=active]:before{content:"";inset-block:var(--cascivo-radius-item);background:var(--cascivo-color-accent);border-radius:var(--cascivo-radius-full);inline-size:2px;position:absolute;inset-inline-start:0}._link_uayvm_50[data-tone=danger]{color:var(--cascivo-color-destructive)}._link_uayvm_50[data-tone=warning]{color:var(--cascivo-color-warning)}._link_uayvm_50[data-tone=success]{color:var(--cascivo-color-success)}._link_uayvm_50:disabled,._link_uayvm_50[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}._trailing_uayvm_25{font-size:var(--cascivo-text-xs);color:var(--cascivo-color-text-subtle);flex-shrink:0;align-items:center;margin-inline-start:auto;display:inline-flex}._checkMark_uayvm_185{color:var(--cascivo-color-accent);flex-shrink:0;margin-inline-start:auto}._icon_uayvm_191{inline-size:var(--cascivo-space-4);block-size:var(--cascivo-space-4);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._fallbackIcon_uayvm_60{background:var(--cascivo-color-bg-subtle);block-size:1.25rem;inline-size:1.25rem;font-size:.6875rem;font-weight:var(--cascivo-font-medium);color:var(--cascivo-color-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._label_uayvm_24{text-overflow:ellipsis;overflow:hidden}._groupIndicator_uayvm_29{transition:rotate var(--cascivo-motion-emphasis);flex-shrink:0;margin-inline-start:auto}._groupTrigger_uayvm_51[data-state=open] ._groupIndicator_uayvm_29{rotate:180deg}._sublist_uayvm_68{visibility:hidden;transition:grid-template-rows var(--cascivo-motion-exit), visibility var(--cascivo-motion-exit);grid-template-rows:0fr;display:grid}._sublist_uayvm_68[data-state=open]{visibility:visible;transition:grid-template-rows var(--cascivo-motion-enter), visibility var(--cascivo-motion-enter);grid-template-rows:1fr}._sublistInner_uayvm_68{min-block-size:0;overflow:hidden}._sublink_uayvm_251{padding-inline-start:calc(var(--cascivo-space-3) + var(--cascivo-space-4) + var(--cascivo-space-2))}._sublink_uayvm_251[data-selected]{color:var(--cascivo-color-text);font-weight:var(--cascivo-font-medium)}._subSeparator_uayvm_263{block-size:1px;margin-block:var(--cascivo-space-1);margin-inline:var(--cascivo-space-3);background:var(--cascivo-color-border)}._subGroupLabel_uayvm_270{padding-inline-start:calc(var(--cascivo-space-3) + var(--cascivo-space-4) + var(--cascivo-space-2));padding-block:var(--cascivo-space-1);font-size:var(--cascivo-text-xs);font-weight:var(--cascivo-font-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--cascivo-color-text-subtle)}._header_uayvm_282,._footer_uayvm_289{padding-block:var(--cascivo-space-2);padding-inline:var(--cascivo-space-2);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text-subtle)}._customItem_uayvm_297{padding-block:var(--cascivo-space-2);padding-inline:var(--cascivo-space-2)}._collapseToggle_uayvm_302{padding-block:var(--cascivo-space-2);color:var(--cascivo-color-text-subtle);border-radius:var(--cascivo-radius-control);cursor:pointer;transition:color var(--cascivo-duration-150) var(--cascivo-ease-out), background-color var(--cascivo-duration-150) var(--cascivo-ease-out);background:0 0;border:none;justify-content:center;align-items:center;margin-block-start:auto;display:flex}._collapseToggle_uayvm_302:hover{color:var(--cascivo-color-text);background-color:var(--cascivo-color-bg-subtle)}._collapseToggle_uayvm_302:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._collapseIcon_uayvm_328{transition:rotate var(--cascivo-motion-emphasis)}._sideNav_uayvm_2[data-state=collapsed] ._collapseIcon_uayvm_328{rotate:180deg}._railFlyout_uayvm_337{min-inline-size:11rem;padding:var(--cascivo-space-1);background:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-overlay);box-shadow:var(--cascivo-shadow-md);margin:0;position:absolute;inset-block-start:anchor(start);inset-inline-start:anchor(end)}._railFlyout_uayvm_337:popover-open{flex-direction:column;gap:2px;display:flex}@starting-style{._railFlyout_uayvm_337:popover-open{opacity:0;translate:-4px}}._railFlyout_uayvm_337{transition:opacity var(--cascivo-duration-150) var(--cascivo-ease-out), translate var(--cascivo-duration-150) var(--cascivo-ease-out), display var(--cascivo-duration-150) var(--cascivo-ease-out) allow-discrete, overlay var(--cascivo-duration-150) var(--cascivo-ease-out) allow-discrete}._railFlyoutCaption_uayvm_369{padding-block:var(--cascivo-space-1);padding-inline:var(--cascivo-space-3);font-size:var(--cascivo-text-xs);font-weight:var(--cascivo-font-semibold);color:var(--cascivo-color-text-subtle);text-transform:uppercase;letter-spacing:.05em}._flyoutItem_uayvm_379{border-inline-start:none;padding-inline-start:var(--cascivo-space-3)}._flyoutSeparator_uayvm_384{block-size:1px;margin-block:var(--cascivo-space-1);margin-inline:var(--cascivo-space-2);background:var(--cascivo-color-border)}}
1105
1105
  /*$vite$:1*/
1106
1106
  @layer cascivo.component{._skeleton_14kv6_2[data-variant=text]{gap:var(--cascivo-space-2);inline-size:var(--cascivo-skeleton-width,100%);flex-direction:column;display:flex}._skeleton_14kv6_2[data-variant=circle]{inline-size:var(--cascivo-skeleton-width,var(--cascivo-space-10));block-size:var(--cascivo-skeleton-height,var(--cascivo-space-10));border-radius:var(--cascivo-radius-full)}._skeleton_14kv6_2[data-variant=rect]{inline-size:var(--cascivo-skeleton-width,100%);block-size:var(--cascivo-skeleton-height,var(--cascivo-space-24));border-radius:var(--cascivo-radius-surface)}._line_14kv6_23{inline-size:100%;block-size:var(--cascivo-skeleton-height,1em);border-radius:var(--cascivo-radius-indicator);display:block}._line_14kv6_23:last-child:not(:first-child){inline-size:60%}._skeleton_14kv6_2[data-variant=circle],._skeleton_14kv6_2[data-variant=rect],._line_14kv6_23{background-color:var(--cascivo-color-border);background-image:linear-gradient(90deg, var(--cascivo-color-border) 25%, var(--cascivo-color-bg-subtle) 50%, var(--cascivo-color-border) 75%);background-size:200% 100%;animation:1.5s linear infinite _cascade-shimmer_14kv6_1}@keyframes _cascade-shimmer_14kv6_1{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){._skeleton_14kv6_2[data-variant=circle],._skeleton_14kv6_2[data-variant=rect],._line_14kv6_23{background-image:none;animation:none}}}
1107
1107
  /*$vite$:1*/
package/dist/swap/swap.js CHANGED
@@ -4,23 +4,23 @@ import e from "./swap.module.js";
4
4
  import { useControllableSignal as t, useSignals as n } from "@cascivo/core";
5
5
  import { jsx as r, jsxs as i } from "react/jsx-runtime";
6
6
  //#region ../components/src/swap/swap.tsx
7
- function a({ on: a, off: o, checked: s = !1, onValueChange: c, onChange: l, mode: u = "rotate", className: d, ariaLabel: f, ...p }) {
7
+ function a({ on: a, off: o, checked: s = !1, onValueChange: c, mode: l = "rotate", className: u, ariaLabel: d, label: f, ...p }) {
8
8
  n();
9
9
  let [m] = t({ value: s });
10
10
  function h() {
11
11
  let e = !m.value;
12
- (c ?? l)?.(e);
12
+ c?.(e);
13
13
  }
14
14
  return /* @__PURE__ */ i("button", {
15
15
  type: "button",
16
16
  role: "switch",
17
17
  "aria-checked": m.value,
18
- className: [e.swap, d].filter(Boolean).join(" "),
18
+ className: [e.swap, u].filter(Boolean).join(" "),
19
19
  "data-checked": m.value || void 0,
20
- "data-mode": u,
20
+ "data-mode": l,
21
21
  onClick: h,
22
22
  ...p,
23
- ...f === void 0 ? {} : { "aria-label": f },
23
+ ...(d ?? f) === void 0 ? {} : { "aria-label": d ?? f },
24
24
  children: [/* @__PURE__ */ r("span", {
25
25
  className: e.on,
26
26
  "aria-hidden": "true",
@@ -5,17 +5,17 @@ import { cn as t, getLinkComponent as n, useSignals as r } from "@cascivo/core";
5
5
  import { builtin as i, t as a } from "@cascivo/i18n";
6
6
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
7
7
  //#region ../components/src/switcher/switcher.tsx
8
- function c({ items: c, label: l, className: u }) {
8
+ function c({ items: c, label: l, ariaLabel: u, className: d }) {
9
9
  r();
10
- let d = n();
10
+ let f = n();
11
11
  return /* @__PURE__ */ o("ul", {
12
- "aria-label": l ?? a(i.switcher.label),
13
- className: t(e.switcher, u),
12
+ "aria-label": u ?? l ?? a(i.switcher.label),
13
+ className: t(e.switcher, d),
14
14
  children: c.map((t, n) => "divider" in t ? /* @__PURE__ */ o("li", { children: /* @__PURE__ */ o("span", {
15
15
  role: "separator",
16
16
  "aria-orientation": "horizontal",
17
17
  className: e.divider
18
- }) }, `divider-${n}`) : /* @__PURE__ */ o("li", { children: /* @__PURE__ */ s(d, {
18
+ }) }, `divider-${n}`) : /* @__PURE__ */ o("li", { children: /* @__PURE__ */ s(f, {
19
19
  href: t.href,
20
20
  "aria-current": t.active ? "page" : void 0,
21
21
  "data-state": t.active ? "active" : void 0,