@cascivo/react 0.16.0 → 0.17.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 (99) hide show
  1. package/README.md +6 -1
  2. package/dist/accordion/accordion.js +5 -4
  3. package/dist/app-shell/app-shell.css +1 -1
  4. package/dist/app-shell/app-shell.js +28 -26
  5. package/dist/app-shell/app-shell.module.js +8 -8
  6. package/dist/badge/badge.js +1 -1
  7. package/dist/button/button.css +1 -1
  8. package/dist/button/button.js +4 -1
  9. package/dist/button/button.module.js +4 -1
  10. package/dist/calendar/calendar.js +67 -63
  11. package/dist/card/card.css +1 -1
  12. package/dist/card/card.module.js +8 -8
  13. package/dist/checkbox/checkbox.css +1 -1
  14. package/dist/checkbox/checkbox.module.js +4 -4
  15. package/dist/combobox/combobox.js +55 -54
  16. package/dist/context-menu/context-menu.js +42 -38
  17. package/dist/data-table/data-table.css +1 -1
  18. package/dist/data-table/data-table.js +155 -160
  19. package/dist/data-table/data-table.module.js +29 -29
  20. package/dist/date-picker/date-picker.js +90 -89
  21. package/dist/field/field.css +1 -1
  22. package/dist/field/field.module.js +3 -3
  23. package/dist/index.d.ts +307 -145
  24. package/dist/infinite-scroll/infinite-scroll.css +1 -0
  25. package/dist/infinite-scroll/infinite-scroll.js +49 -0
  26. package/dist/infinite-scroll/infinite-scroll.module.js +8 -0
  27. package/dist/large-title-header/large-title-header.css +1 -0
  28. package/dist/large-title-header/large-title-header.js +38 -0
  29. package/dist/large-title-header/large-title-header.module.js +13 -0
  30. package/dist/layouts/src/grid/grid.css +1 -1
  31. package/dist/layouts/src/grid/grid.module.js +3 -3
  32. package/dist/link/link.css +1 -1
  33. package/dist/link/link.module.js +1 -1
  34. package/dist/menu/menu.js +47 -43
  35. package/dist/node/accordion/accordion.js +5 -4
  36. package/dist/node/app-shell/app-shell.js +28 -26
  37. package/dist/node/app-shell/app-shell.module.js +8 -8
  38. package/dist/node/badge/badge.js +1 -1
  39. package/dist/node/button/button.js +4 -1
  40. package/dist/node/button/button.module.js +4 -1
  41. package/dist/node/calendar/calendar.js +67 -63
  42. package/dist/node/card/card.module.js +8 -8
  43. package/dist/node/checkbox/checkbox.module.js +4 -4
  44. package/dist/node/combobox/combobox.js +55 -54
  45. package/dist/node/context-menu/context-menu.js +42 -38
  46. package/dist/node/data-table/data-table.js +155 -160
  47. package/dist/node/data-table/data-table.module.js +29 -29
  48. package/dist/node/date-picker/date-picker.js +90 -89
  49. package/dist/node/field/field.module.js +3 -3
  50. package/dist/node/infinite-scroll/infinite-scroll.js +49 -0
  51. package/dist/node/infinite-scroll/infinite-scroll.module.js +7 -0
  52. package/dist/node/large-title-header/large-title-header.js +38 -0
  53. package/dist/node/large-title-header/large-title-header.module.js +12 -0
  54. package/dist/node/layouts/src/grid/grid.module.js +3 -3
  55. package/dist/node/link/link.module.js +1 -1
  56. package/dist/node/menu/menu.js +47 -43
  57. package/dist/node/react/src/index.js +27 -23
  58. package/dist/node/reorder-list/reorder-list.js +143 -0
  59. package/dist/node/reorder-list/reorder-list.module.js +11 -0
  60. package/dist/node/search/search.js +5 -4
  61. package/dist/node/side-nav/side-nav.js +90 -89
  62. package/dist/node/skip-nav/skip-nav.js +1 -0
  63. package/dist/node/swap/swap.js +2 -3
  64. package/dist/node/switcher/switcher.js +1 -1
  65. package/dist/node/tabs/tabs.js +41 -40
  66. package/dist/node/tag/tag.module.js +2 -2
  67. package/dist/node/toc/toc.js +5 -4
  68. package/dist/node/virtual-list/virtual-list.js +40 -0
  69. package/dist/node/virtual-list/virtual-list.module.js +7 -0
  70. package/dist/node/wheel-picker/wheel-picker.js +84 -0
  71. package/dist/node/wheel-picker/wheel-picker.module.js +8 -0
  72. package/dist/react/src/index.js +27 -23
  73. package/dist/reorder-list/reorder-list.css +1 -0
  74. package/dist/reorder-list/reorder-list.js +143 -0
  75. package/dist/reorder-list/reorder-list.module.js +12 -0
  76. package/dist/search/search.js +5 -4
  77. package/dist/side-nav/side-nav.js +90 -89
  78. package/dist/skip-nav/skip-nav.js +1 -0
  79. package/dist/styles.css +48 -11
  80. package/dist/swap/swap.js +2 -3
  81. package/dist/switcher/switcher.js +1 -1
  82. package/dist/tabs/tabs.js +41 -40
  83. package/dist/tag/tag.css +1 -1
  84. package/dist/tag/tag.module.js +2 -2
  85. package/dist/toc/toc.js +5 -4
  86. package/dist/virtual-list/virtual-list.css +1 -0
  87. package/dist/virtual-list/virtual-list.js +40 -0
  88. package/dist/virtual-list/virtual-list.module.js +8 -0
  89. package/dist/wheel-picker/wheel-picker.css +1 -0
  90. package/dist/wheel-picker/wheel-picker.js +84 -0
  91. package/dist/wheel-picker/wheel-picker.module.js +9 -0
  92. package/package.json +4 -4
  93. package/readme.body.md +6 -1
  94. package/dist/node/react/src/theme.js +0 -78
  95. package/dist/node/storage/src/drivers.js +0 -34
  96. package/dist/node/storage/src/persisted-signal.js +0 -41
  97. package/dist/react/src/theme.js +0 -78
  98. package/dist/storage/src/drivers.js +0 -34
  99. package/dist/storage/src/persisted-signal.js +0 -41
package/README.md CHANGED
@@ -249,7 +249,7 @@ routing break after adding one of these, check that the import resolves to
249
249
 
250
250
  ## Component index
251
251
 
252
- 192 components, exported from `@cascivo/react`. Full props, examples, and live demos at [cascivo.com/docs](https://cascivo.com/docs).
252
+ 197 components, exported from `@cascivo/react`. Full props, examples, and live demos at [cascivo.com/docs](https://cascivo.com/docs).
253
253
 
254
254
  ### Inputs
255
255
 
@@ -282,6 +282,7 @@ routing break after adding one of these, check that the import resolves to
282
282
  - **Radio** — Single choice from a set, grouped with RadioGroup
283
283
  - **RadioCard** — Selectable card backed by a native radio input. Use RadioCardGroup for single-select groups.
284
284
  - **RatingGroup** — Star rating input with accessible radio group pattern
285
+ - **ReorderList** — List whose rows can be reordered by pointer drag or entirely by keyboard
285
286
  - **Search** — Search input with debounced search callback and clear button
286
287
  - **SegmentedControl** — Mutually exclusive toggle group
287
288
  - **Select** — Native select menu styled to match the design system
@@ -293,6 +294,7 @@ routing break after adding one of these, check that the import resolves to
293
294
  - **TimePicker** — Native time input wrapper with label, hint, error, and size variants
294
295
  - **Toggle** — On/off switch built as an accessible button
295
296
  - **ToggleGroup** — A set of toggle buttons for single or multiple selection
297
+ - **WheelPicker** — iOS-style drum picker — a column of options that scrolls and snaps to a selection
296
298
 
297
299
  ### Display
298
300
 
@@ -353,6 +355,7 @@ routing break after adding one of these, check that the import resolves to
353
355
  - **TreeView** — Hierarchical, expandable tree of nodes with keyboard navigation and selection
354
356
  - **User** — Identity composite: an avatar with a name, description, and optional action slot
355
357
  - **UsersTablePage** — Full users management page with table, search, and invite action.
358
+ - **VirtualList** — Renders only the rows inside the viewport, so list length costs no extra DOM
356
359
  - **VisuallyHidden** — Hides content visually while keeping it available to screen readers
357
360
 
358
361
  ### Overlay
@@ -381,6 +384,7 @@ routing break after adding one of these, check that the import resolves to
381
384
  - **Dock** — Fixed bottom navigation bar for mobile app shells with up to 5 items
382
385
  - **Header** — App top bar with brand, primary navigation links, and an actions slot
383
386
  - **HeaderPanel** — Non-modal panel anchored below the shell header at the inline-end edge — hosts notifications, app switcher, user settings
387
+ - **LargeTitleHeader** — Scrolling region whose large title collapses into a compact sticky bar as it scrolls
384
388
  - **Link** — Styled anchor for navigation, standalone or inline within prose
385
389
  - **Menubar** — Horizontal application menu bar with keyboard-navigable dropdown menus
386
390
  - **MenuButton** — A button that opens an anchored action menu of one-shot commands
@@ -427,6 +431,7 @@ routing break after adding one of these, check that the import resolves to
427
431
 
428
432
  ### Feedback
429
433
 
434
+ - **InfiniteScroll** — Loads the next page when the end of a list scrolls into view
430
435
  - **InlineLoading** — Compact inline status indicator that pairs a label with a loading, success, or error state
431
436
  - **Notification** — Inline, actionable notification banner that surfaces a titled message with an optional recovery action
432
437
  - **Progress** — Horizontal bar showing the completion progress of a tracked operation
@@ -2,7 +2,7 @@
2
2
 
3
3
  import e from "./accordion.module.js";
4
4
  import { createContext as t, forwardRef as n, useId as r, useRef as i } from "react";
5
- import { cn as a, useSignal as o, useSignalEffect as s, useSignals as c } from "@cascivo/core";
5
+ import { cn as a, useControllableSignal as o, useSignalEffect as s, useSignals as c } from "@cascivo/core";
6
6
  import { jsx as l, jsxs as u } from "react/jsx-runtime";
7
7
  //#region ../components/src/accordion/accordion.tsx
8
8
  var d = t(null), f = t(null);
@@ -10,9 +10,10 @@ function p(e) {
10
10
  return e === void 0 ? [] : Array.isArray(e) ? e : [e];
11
11
  }
12
12
  function m({ type: t = "single", defaultValue: n, value: i, onValueChange: s, className: c, children: u }) {
13
- let f = r(), m = o(p(i ?? n));
14
- i !== void 0 && (m.value = p(i));
15
- let h = {
13
+ let f = r(), [m] = o({
14
+ value: i === void 0 ? void 0 : p(i),
15
+ defaultValue: p(n)
16
+ }), h = {
16
17
  open: m,
17
18
  baseId: f,
18
19
  type: t,
@@ -1 +1 @@
1
- @layer cascivo.component{._shell_1y4cv_4{box-sizing:border-box;block-size:100dvh;font-family:var(--cascivo-font-sans);color:var(--cascivo-color-foreground);background-color:var(--cascivo-color-background);flex-direction:column;display:flex;overflow:hidden}._header_1y4cv_16{z-index:var(--cascivo-z-raised);flex:none}._body_1y4cv_21{flex:auto;min-block-size:0;display:flex;position:relative}._navWrapper_1y4cv_32{z-index:var(--cascivo-z-overlay);block-size:100%;transition:transform var(--cascivo-motion-emphasis);position:absolute;inset-block:0;inset-inline-start:0;overflow:hidden;transform:translate(-100%)}._navWrapper_1y4cv_32[data-open=true]{transform:translate(0)}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) ._navWrapper_1y4cv_32{transform:translate(100%)}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) ._navWrapper_1y4cv_32[data-open=true]{transform:translate(0)}._navInner_1y4cv_58{block-size:100%;inline-size:var(--cascivo-shell-panel-inline-size,20rem);display:flex}._navInner_1y4cv_58>*{flex:auto;min-block-size:0}._scrim_1y4cv_70{z-index:var(--cascivo-z-dropdown);opacity:0;visibility:hidden;transition:opacity var(--cascivo-motion-emphasis), visibility var(--cascivo-motion-emphasis);background-color:oklch(0% 0 0/.4);position:absolute;inset:0}._scrim_1y4cv_70[data-open=true]{opacity:1;visibility:visible}._main_1y4cv_87{flex:auto;min-inline-size:0;overflow-y:auto}._footer_1y4cv_93{flex:none}@media (width>=64rem){._navWrapper_1y4cv_32{z-index:auto;inline-size:var(--cascivo-shell-aside-inline-size,18rem);transition:inline-size var(--cascivo-motion-emphasis);flex-shrink:0;position:static;transform:none}._navWrapper_1y4cv_32[data-open=false]{inline-size:0}._navInner_1y4cv_58{inline-size:var(--cascivo-shell-aside-inline-size,18rem)}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) ._navWrapper_1y4cv_32{transform:none}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) ._navWrapper_1y4cv_32[data-open=true]{transform:none}._scrim_1y4cv_70{display:none}}}
1
+ @layer cascivo.component{._shell_pf33o_4{box-sizing:border-box;block-size:100dvh;font-family:var(--cascivo-font-sans);color:var(--cascivo-color-foreground);background-color:var(--cascivo-color-background);flex-direction:column;display:flex;overflow:hidden}._header_pf33o_16{z-index:var(--cascivo-z-raised);flex:none}._body_pf33o_21{flex:auto;min-block-size:0;display:flex;position:relative}._navWrapper_pf33o_32{z-index:var(--cascivo-z-overlay);block-size:100%;transition:transform var(--cascivo-motion-emphasis);position:absolute;inset-block:0;inset-inline-start:0;overflow:hidden;transform:translate(-100%)}._navWrapper_pf33o_32[data-open=true]{transform:translate(0)}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) ._navWrapper_pf33o_32{transform:translate(100%)}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) ._navWrapper_pf33o_32[data-open=true]{transform:translate(0)}._navInner_pf33o_58{block-size:100%;inline-size:var(--cascivo-shell-panel-inline-size,20rem);display:flex}._navInner_pf33o_58>*{flex:auto;min-block-size:0}._scrim_pf33o_70{z-index:var(--cascivo-z-dropdown);opacity:0;visibility:hidden;transition:opacity var(--cascivo-motion-emphasis), visibility var(--cascivo-motion-emphasis);background-color:oklch(0% 0 0/.4);position:absolute;inset:0}._scrim_pf33o_70[data-open=true]{opacity:1;visibility:visible}._main_pf33o_87{min-inline-size:0;padding:var(--cascivo-space-6);flex:auto;overflow-y:auto}._main_pf33o_87[data-padding=none]{padding:0}._main_pf33o_87[data-padding="1"]{padding:var(--cascivo-space-1)}._main_pf33o_87[data-padding="2"]{padding:var(--cascivo-space-2)}._main_pf33o_87[data-padding="3"]{padding:var(--cascivo-space-3)}._main_pf33o_87[data-padding="4"]{padding:var(--cascivo-space-4)}._main_pf33o_87[data-padding="5"]{padding:var(--cascivo-space-5)}._main_pf33o_87[data-padding="6"]{padding:var(--cascivo-space-6)}._main_pf33o_87[data-padding="8"]{padding:var(--cascivo-space-8)}._main_pf33o_87[data-padding="10"]{padding:var(--cascivo-space-10)}._main_pf33o_87[data-padding="12"]{padding:var(--cascivo-space-12)}._footer_pf33o_128{flex:none}@media (width>=64rem){._navWrapper_pf33o_32{z-index:auto;inline-size:var(--cascivo-shell-aside-inline-size,18rem);transition:inline-size var(--cascivo-motion-emphasis);flex-shrink:0;position:static;transform:none}._navWrapper_pf33o_32[data-open=false]{inline-size:0}._navInner_pf33o_58{inline-size:var(--cascivo-shell-aside-inline-size,18rem)}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) ._navWrapper_pf33o_32{transform:none}:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) ._navWrapper_pf33o_32[data-open=true]{transform:none}._scrim_pf33o_70{display:none}}}
@@ -2,56 +2,57 @@
2
2
 
3
3
  import e from "./app-shell.module.js";
4
4
  import { cloneElement as t, isValidElement as n, useRef as r } from "react";
5
- import { cn as i, useSignal as a, useSignalEffect as o, useSignals as s } from "@cascivo/core";
5
+ import { cn as i, useControllableSignal as a, useSignalEffect as o, useSignals as s } from "@cascivo/core";
6
6
  import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
7
7
  //#region ../components/src/app-shell/app-shell.tsx
8
- function d({ header: d, nav: f, children: p, footer: m, open: h, defaultOpen: g, onOpenChange: _, className: v, ...y }) {
8
+ function d({ header: d, nav: f, children: p, footer: m, open: h, defaultOpen: g, onOpenChange: _, padding: v = 6, className: y, ...b }) {
9
9
  s();
10
- let b = h !== void 0, x = a(h ?? g ?? !0);
11
- b && (x.value = h);
12
- let S = r(null), C = r(null);
13
- function w(e) {
14
- b || (x.value = e), _?.(e);
10
+ let x = h !== void 0, [S] = a({
11
+ value: h,
12
+ defaultValue: g ?? !0
13
+ }), C = r(null), w = r(null);
14
+ function T(e) {
15
+ x || (S.value = e), _?.(e);
15
16
  }
16
- function T() {
17
- typeof document < "u" && (C.current = document.activeElement), w(!x.value);
17
+ function E() {
18
+ typeof document < "u" && (w.current = document.activeElement), T(!S.value);
18
19
  }
19
20
  o(() => {
20
- b || g !== void 0 || typeof window > "u" || typeof window.matchMedia != "function" || window.matchMedia("(max-width: 63.999rem)").matches && (x.value = !1);
21
+ x || g !== void 0 || typeof window > "u" || typeof window.matchMedia != "function" || window.matchMedia("(max-width: 63.999rem)").matches && (S.value = !1);
21
22
  }), o(() => {
22
- if (!x.value || typeof document > "u") return;
23
+ if (!S.value || typeof document > "u") return;
23
24
  let e = (e) => {
24
- e.key === "Escape" && w(!1);
25
+ e.key === "Escape" && T(!1);
25
26
  };
26
27
  return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
27
28
  }), o(() => {
28
- let e = S.current;
29
- if (e) if (x.value) e.removeAttribute("inert");
29
+ let e = C.current;
30
+ if (e) if (S.value) e.removeAttribute("inert");
30
31
  else {
31
32
  e.setAttribute("inert", "");
32
- let t = C.current;
33
+ let t = w.current;
33
34
  t && e.contains(document.activeElement) && t.focus();
34
35
  }
35
36
  });
36
- let E = n(d) && f ? t(d, {
37
- onMenuClick: T,
38
- menuExpanded: x.value
37
+ let D = n(d) && f ? t(d, {
38
+ onMenuClick: E,
39
+ menuExpanded: S.value
39
40
  }) : d;
40
41
  return /* @__PURE__ */ u("div", {
41
- className: i(e.shell, v),
42
- "data-open": x.value,
43
- ...y,
42
+ className: i(e.shell, y),
43
+ "data-open": S.value,
44
+ ...b,
44
45
  children: [
45
46
  /* @__PURE__ */ l("div", {
46
47
  className: e.header,
47
- children: E
48
+ children: D
48
49
  }),
49
50
  /* @__PURE__ */ u("div", {
50
51
  className: e.body,
51
52
  children: [f && /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l("div", {
52
- ref: S,
53
+ ref: C,
53
54
  className: e.navWrapper,
54
- "data-open": x.value,
55
+ "data-open": S.value,
55
56
  "data-testid": "app-shell-nav",
56
57
  "data-cascivo-appshell-nav": "",
57
58
  children: /* @__PURE__ */ l("div", {
@@ -60,15 +61,16 @@ function d({ header: d, nav: f, children: p, footer: m, open: h, defaultOpen: g,
60
61
  })
61
62
  }), /* @__PURE__ */ l("div", {
62
63
  className: e.scrim,
63
- "data-open": x.value,
64
+ "data-open": S.value,
64
65
  "data-testid": "app-shell-scrim",
65
66
  "aria-hidden": "true",
66
- onClick: () => w(!1)
67
+ onClick: () => T(!1)
67
68
  })] }), /* @__PURE__ */ l("main", {
68
69
  id: "cascade-main",
69
70
  tabIndex: -1,
70
71
  className: e.main,
71
72
  "data-cascivo-appshell-main": "",
73
+ "data-padding": v === "none" ? "none" : String(v),
72
74
  children: p
73
75
  })]
74
76
  }),
@@ -1,13 +1,13 @@
1
1
  import './app-shell.css';
2
2
  var e = {
3
- shell: "_shell_1y4cv_4",
4
- header: "_header_1y4cv_16",
5
- body: "_body_1y4cv_21",
6
- navWrapper: "_navWrapper_1y4cv_32",
7
- navInner: "_navInner_1y4cv_58",
8
- scrim: "_scrim_1y4cv_70",
9
- main: "_main_1y4cv_87",
10
- footer: "_footer_1y4cv_93"
3
+ shell: "_shell_pf33o_4",
4
+ header: "_header_pf33o_16",
5
+ body: "_body_pf33o_21",
6
+ navWrapper: "_navWrapper_pf33o_32",
7
+ navInner: "_navInner_pf33o_58",
8
+ scrim: "_scrim_pf33o_70",
9
+ main: "_main_pf33o_87",
10
+ footer: "_footer_pf33o_128"
11
11
  };
12
12
  //#endregion
13
13
  export { e as default };
@@ -3,7 +3,7 @@ import { cn as t, normalizeTone as n } from "@cascivo/core/pure";
3
3
  import { jsx as r } from "react/jsx-runtime";
4
4
  //#region ../components/src/badge/badge.tsx
5
5
  var i = {
6
- neutral: "default",
6
+ neutral: "secondary",
7
7
  info: "info",
8
8
  success: "success",
9
9
  warning: "warning",
@@ -1 +1 @@
1
- @layer cascivo.component{._button_131qn_2{justify-content:center;align-items:center;gap:var(--cascivo-space-2);font-family:var(--cascivo-font-sans);font-weight:var(--cascivo-font-medium);line-height:var(--cascivo-leading-none);white-space:nowrap;cursor:pointer;transition:background-color var(--cascivo-duration-150) var(--cascivo-ease-out), color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);border-radius:var(--cascivo-button-radius,var(--cascivo-radius-control));border:1px solid #0000;text-decoration:none;display:inline-flex}._button_131qn_2:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._button_131qn_2:disabled,._button_131qn_2[aria-disabled=true]{opacity:.5;opacity:var(--cascivo-disabled-opacity,.5);cursor:not-allowed;pointer-events:none}._button_131qn_2[data-size=sm]{height:var(--cascivo-control-height-sm);padding-inline:var(--cascivo-space-3);font-size:var(--cascivo-text-ui)}._button_131qn_2[data-size=md]{height:var(--cascivo-control-height-md);padding-inline:var(--cascivo-space-4);padding-block:.5rem;padding-block:--cascivo-step(2);font-size:var(--cascivo-text-ui)}._button_131qn_2[data-size=lg]{height:var(--cascivo-control-height-lg);padding-inline:var(--cascivo-space-6);font-size:var(--cascivo-text-body)}@media (pointer:coarse){._button_131qn_2[data-size=sm],._button_131qn_2[data-size=md]{min-block-size:var(--cascivo-target-min-coarse,2.75rem)}}._button_131qn_2[data-variant=primary]{background-color:var(--cascivo-color-primary);color:var(--cascivo-color-primary-fg)}._button_131qn_2[data-variant=primary]:hover:not(:disabled){background-color:var(--cascivo-color-primary-hover)}._button_131qn_2[data-variant=primary]:active:not(:disabled){background-color:var(--cascivo-color-primary-active)}._button_131qn_2[data-variant=secondary]{background-color:var(--cascivo-color-secondary);color:var(--cascivo-color-secondary-content)}._button_131qn_2[data-variant=secondary]:hover:not(:disabled){background-color:var(--cascivo-color-secondary-hover)}._button_131qn_2[data-variant=ghost]{color:var(--cascivo-color-text);background-color:#0000}._button_131qn_2[data-variant=ghost]:hover:not(:disabled){background-color:var(--cascivo-color-bg-subtle)}._button_131qn_2[data-variant=destructive]{background-color:var(--cascivo-color-destructive);color:var(--cascivo-color-text-on-destructive)}._button_131qn_2[data-variant=destructive]:hover:not(:disabled){background-color:var(--cascivo-color-destructive-hover)}}@media (forced-colors:active){._button_131qn_2{border:1px solid buttontext}._button_131qn_2:focus-visible{outline-offset:2px;outline:2px solid highlight}._button_131qn_2:disabled{color:graytext;border-color:graytext}}
1
+ @layer cascivo.component{._label_yace7_10{align-items:center;gap:inherit;display:inline-flex}._button_yace7_8{justify-content:center;align-items:center;gap:var(--cascivo-space-2);font-family:var(--cascivo-font-sans);font-weight:var(--cascivo-font-medium);line-height:var(--cascivo-leading-none);white-space:nowrap;cursor:pointer;transition:background-color var(--cascivo-duration-150) var(--cascivo-ease-out), color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);border-radius:var(--cascivo-button-radius,var(--cascivo-radius-control));border:1px solid #0000;text-decoration:none;display:inline-flex}._button_yace7_8:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._button_yace7_8:disabled,._button_yace7_8[aria-disabled=true]{opacity:.5;opacity:var(--cascivo-disabled-opacity,.5);cursor:not-allowed;pointer-events:none}._button_yace7_8[data-size=sm]{height:var(--cascivo-control-height-sm);padding-inline:var(--cascivo-space-3);font-size:var(--cascivo-text-ui)}._button_yace7_8[data-size=md]{height:var(--cascivo-control-height-md);padding-inline:var(--cascivo-space-4);padding-block:.5rem;padding-block:--cascivo-step(2);font-size:var(--cascivo-text-ui)}._button_yace7_8[data-size=lg]{height:var(--cascivo-control-height-lg);padding-inline:var(--cascivo-space-6);font-size:var(--cascivo-text-body)}@media (pointer:coarse){._button_yace7_8[data-size=sm],._button_yace7_8[data-size=md]{min-block-size:var(--cascivo-target-min-coarse,2.75rem)}}._button_yace7_8[data-variant=primary]{background-color:var(--cascivo-color-primary);color:var(--cascivo-color-primary-fg)}._button_yace7_8[data-variant=primary]:hover:not(:disabled){background-color:var(--cascivo-color-primary-hover)}._button_yace7_8[data-variant=primary]:active:not(:disabled){background-color:var(--cascivo-color-primary-active)}._button_yace7_8[data-variant=secondary]{background-color:var(--cascivo-color-secondary);color:var(--cascivo-color-secondary-content)}._button_yace7_8[data-variant=secondary]:hover:not(:disabled){background-color:var(--cascivo-color-secondary-hover)}._button_yace7_8[data-variant=ghost]{color:var(--cascivo-color-text);background-color:#0000}._button_yace7_8[data-variant=ghost]:hover:not(:disabled){background-color:var(--cascivo-color-bg-subtle)}._button_yace7_8[data-variant=destructive]{background-color:var(--cascivo-color-destructive);color:var(--cascivo-color-text-on-destructive)}._button_yace7_8[data-variant=destructive]:hover:not(:disabled){background-color:var(--cascivo-color-destructive-hover)}}@media (forced-colors:active){._button_yace7_8{border:1px solid buttontext}._button_yace7_8:focus-visible{outline-offset:2px;outline:2px solid highlight}._button_yace7_8:disabled{color:graytext;border-color:graytext}}
@@ -25,7 +25,10 @@ var s = i(function({ variant: i = "primary", size: s = "md", loading: c = !1, as
25
25
  children: [c && /* @__PURE__ */ a(e, {
26
26
  size: "sm",
27
27
  "aria-hidden": "true"
28
- }), /* @__PURE__ */ a("span", { children: f })]
28
+ }), /* @__PURE__ */ a("span", {
29
+ className: t.label,
30
+ children: f
31
+ })]
29
32
  });
30
33
  });
31
34
  //#endregion
@@ -1,4 +1,7 @@
1
1
  import './button.css';
2
- var e = { button: "_button_131qn_2" };
2
+ var e = {
3
+ label: "_label_yace7_10",
4
+ button: "_button_yace7_8"
5
+ };
3
6
  //#endregion
4
7
  export { e as default };
@@ -1,18 +1,18 @@
1
1
  "use client";
2
2
 
3
3
  import e from "./calendar.module.js";
4
- import { batch as t, cn as n, useSignal as r, useSignals as i } from "@cascivo/core";
5
- import { builtin as a, currentLocale as o, t as s } from "@cascivo/i18n";
6
- import { jsx as c, jsxs as l } from "react/jsx-runtime";
4
+ import { batch as t, cn as n, useControllableSignal as r, useSignal as i, useSignals as a } from "@cascivo/core";
5
+ import { builtin as o, currentLocale as s, t as c } from "@cascivo/i18n";
6
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
7
7
  //#region ../components/src/calendar/calendar.tsx
8
- function u(e) {
8
+ function d(e) {
9
9
  try {
10
10
  let t = new Intl.Locale(e).weekInfo;
11
11
  if (t) return t.firstDay % 7;
12
12
  } catch {}
13
13
  return 1;
14
14
  }
15
- function d(e, t, n) {
15
+ function f(e, t, n) {
16
16
  let r = new Date(Date.UTC(e, t, 1)), i = new Date(Date.UTC(e, t + 1, 0)), a = (r.getUTCDay() - n + 7) % 7, o = [];
17
17
  for (let e = 0; e < a; e++) o.push(null);
18
18
  for (let n = 1; n <= i.getUTCDate(); n++) o.push(new Date(Date.UTC(e, t, n)));
@@ -21,22 +21,22 @@ function d(e, t, n) {
21
21
  for (let e = 0; e < o.length; e += 7) s.push(o.slice(e, e + 7));
22
22
  return s;
23
23
  }
24
- function f(e) {
24
+ function p(e) {
25
25
  return `${e.getUTCFullYear()}-${e.getUTCMonth()}-${e.getUTCDate()}`;
26
26
  }
27
- function p(e, t) {
28
- return !e || !t ? !1 : f(e) === f(t);
29
- }
30
27
  function m(e, t) {
31
- return new Date(Date.UTC(e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate() + t));
28
+ return !e || !t ? !1 : p(e) === p(t);
32
29
  }
33
30
  function h(e, t) {
34
- return new Date(Date.UTC(e.getUTCFullYear(), e.getUTCMonth() + t, e.getUTCDate()));
31
+ return new Date(Date.UTC(e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate() + t));
35
32
  }
36
33
  function g(e, t) {
37
- return m(e, -((e.getUTCDay() - t + 7) % 7));
34
+ return new Date(Date.UTC(e.getUTCFullYear(), e.getUTCMonth() + t, e.getUTCDate()));
35
+ }
36
+ function _(e, t) {
37
+ return h(e, -((e.getUTCDay() - t + 7) % 7));
38
38
  }
39
- function _(e, t, n) {
39
+ function v(e, t, n) {
40
40
  if (t) {
41
41
  let n = new Date(Date.UTC(t.getUTCFullYear(), t.getUTCMonth(), t.getUTCDate()));
42
42
  if (e.getTime() < n.getTime()) return !0;
@@ -47,96 +47,100 @@ function _(e, t, n) {
47
47
  }
48
48
  return !1;
49
49
  }
50
- function v({ value: f, defaultValue: v, onValueChange: y, min: b, max: x, disabled: S, locale: C, size: w = "md", labels: T, className: E, isInRange: D, isRangeStart: O, isRangeEnd: k, onDayHover: A, month: j, year: M, onViewChange: N, hideNav: P = !1 }) {
51
- i();
52
- let F = C ?? o(), I = T?.previousMonth ?? s(a.calendar.previousMonth), L = T?.nextMonth ?? s(a.calendar.nextMonth), R = f === void 0 ? v ?? null : f, z = /* @__PURE__ */ new Date(), B = R ?? v ?? z, V = r(B.getUTCFullYear()), H = r(B.getUTCMonth()), U = r(B);
53
- j !== void 0 && (H.value = j), M !== void 0 && (V.value = M);
54
- let W = u(F), G = d(V.value, H.value, W), K = new Intl.DateTimeFormat(F, { weekday: "short" }), q = Array.from({ length: 7 }, (e, t) => {
55
- let n = new Date(Date.UTC(2024, 0, 7 + W + t));
56
- return K.format(n);
57
- }), J = new Intl.DateTimeFormat(F, {
50
+ function y({ value: p, defaultValue: y, onValueChange: b, min: x, max: S, disabled: C, locale: w, size: T = "md", labels: E, className: D, isInRange: O, isRangeStart: k, isRangeEnd: A, onDayHover: j, month: M, year: N, onViewChange: P, hideNav: F = !1 }) {
51
+ a();
52
+ let I = w ?? s(), L = E?.previousMonth ?? c(o.calendar.previousMonth), R = E?.nextMonth ?? c(o.calendar.nextMonth), z = p === void 0 ? y ?? null : p, B = /* @__PURE__ */ new Date(), V = z ?? y ?? B, [H] = r({
53
+ value: N,
54
+ defaultValue: V.getUTCFullYear()
55
+ }), [U] = r({
56
+ value: M,
57
+ defaultValue: V.getUTCMonth()
58
+ }), W = i(V), G = d(I), K = f(H.value, U.value, G), q = new Intl.DateTimeFormat(I, { weekday: "short" }), J = Array.from({ length: 7 }, (e, t) => {
59
+ let n = new Date(Date.UTC(2024, 0, 7 + G + t));
60
+ return q.format(n);
61
+ }), ee = new Intl.DateTimeFormat(I, {
58
62
  weekday: "long",
59
63
  year: "numeric",
60
64
  month: "long",
61
65
  day: "numeric"
62
- }), Y = new Intl.DateTimeFormat(F, {
66
+ }), Y = new Intl.DateTimeFormat(I, {
63
67
  month: "long",
64
68
  year: "numeric"
65
- }).format(new Date(Date.UTC(V.value, H.value, 1))), X = (e) => _(e, b, x) || (S ? S(e) : !1), Z = j !== void 0 || M !== void 0, ee = (e) => {
66
- Z ? U.value = e : t(() => {
67
- V.value = e.getUTCFullYear(), H.value = e.getUTCMonth(), U.value = e;
68
- }), N?.({
69
+ }).format(new Date(Date.UTC(H.value, U.value, 1))), X = (e) => v(e, x, S) || (C ? C(e) : !1), Z = M !== void 0 || N !== void 0, te = (e) => {
70
+ Z ? W.value = e : t(() => {
71
+ H.value = e.getUTCFullYear(), U.value = e.getUTCMonth(), W.value = e;
72
+ }), P?.({
69
73
  month: e.getUTCMonth(),
70
74
  year: e.getUTCFullYear()
71
75
  });
72
76
  }, Q = (e) => {
73
- X(e) || y?.(e);
77
+ X(e) || b?.(e);
74
78
  }, $ = (e) => {
75
- let n = h(new Date(Date.UTC(V.value, H.value, 1)), e), r = n.getUTCMonth(), i = n.getUTCFullYear();
79
+ let n = g(new Date(Date.UTC(H.value, U.value, 1)), e), r = n.getUTCMonth(), i = n.getUTCFullYear();
76
80
  Z || t(() => {
77
- H.value = r, V.value = i;
78
- }), N?.({
81
+ U.value = r, H.value = i;
82
+ }), P?.({
79
83
  month: r,
80
84
  year: i
81
85
  });
82
86
  };
83
- return /* @__PURE__ */ l("div", {
84
- className: n(e.calendar, E),
85
- "data-size": w,
86
- onMouseLeave: () => A?.(null),
87
- children: [/* @__PURE__ */ l("div", {
87
+ return /* @__PURE__ */ u("div", {
88
+ className: n(e.calendar, D),
89
+ "data-size": T,
90
+ onMouseLeave: () => j?.(null),
91
+ children: [/* @__PURE__ */ u("div", {
88
92
  className: e.header,
89
93
  children: [
90
- P ? /* @__PURE__ */ c("span", { className: e.navSpacer }) : /* @__PURE__ */ c("button", {
94
+ F ? /* @__PURE__ */ l("span", { className: e.navSpacer }) : /* @__PURE__ */ l("button", {
91
95
  type: "button",
92
96
  className: e.navButton,
93
- "aria-label": I,
97
+ "aria-label": L,
94
98
  onClick: () => $(-1),
95
99
  children: "‹"
96
100
  }),
97
- /* @__PURE__ */ c("span", {
101
+ /* @__PURE__ */ l("span", {
98
102
  className: e.monthLabel,
99
103
  "aria-live": "polite",
100
104
  children: Y
101
105
  }),
102
- P ? /* @__PURE__ */ c("span", { className: e.navSpacer }) : /* @__PURE__ */ c("button", {
106
+ F ? /* @__PURE__ */ l("span", { className: e.navSpacer }) : /* @__PURE__ */ l("button", {
103
107
  type: "button",
104
108
  className: e.navButton,
105
- "aria-label": L,
109
+ "aria-label": R,
106
110
  onClick: () => $(1),
107
111
  children: "›"
108
112
  })
109
113
  ]
110
- }), /* @__PURE__ */ l("table", {
114
+ }), /* @__PURE__ */ u("table", {
111
115
  role: "grid",
112
116
  "aria-label": Y,
113
117
  className: e.grid,
114
118
  onKeyDown: (e) => {
115
- let t = U.value, n;
119
+ let t = W.value, n;
116
120
  switch (e.key) {
117
121
  case "ArrowRight":
118
- n = m(t, 1);
122
+ n = h(t, 1);
119
123
  break;
120
124
  case "ArrowLeft":
121
- n = m(t, -1);
125
+ n = h(t, -1);
122
126
  break;
123
127
  case "ArrowDown":
124
- n = m(t, 7);
128
+ n = h(t, 7);
125
129
  break;
126
130
  case "ArrowUp":
127
- n = m(t, -7);
131
+ n = h(t, -7);
128
132
  break;
129
133
  case "Home":
130
- n = g(t, W);
134
+ n = _(t, G);
131
135
  break;
132
136
  case "End":
133
- n = m(g(t, W), 6);
137
+ n = h(_(t, G), 6);
134
138
  break;
135
139
  case "PageUp":
136
- n = h(t, e.shiftKey ? -12 : -1);
140
+ n = g(t, e.shiftKey ? -12 : -1);
137
141
  break;
138
142
  case "PageDown":
139
- n = h(t, e.shiftKey ? 12 : 1);
143
+ n = g(t, e.shiftKey ? 12 : 1);
140
144
  break;
141
145
  case "Enter":
142
146
  case " ":
@@ -144,45 +148,45 @@ function v({ value: f, defaultValue: v, onValueChange: y, min: b, max: x, disabl
144
148
  return;
145
149
  default: return;
146
150
  }
147
- e.preventDefault(), ee(n), A?.(n);
151
+ e.preventDefault(), te(n), j?.(n);
148
152
  },
149
- children: [/* @__PURE__ */ c("thead", { children: /* @__PURE__ */ c("tr", {
153
+ children: [/* @__PURE__ */ l("thead", { children: /* @__PURE__ */ l("tr", {
150
154
  role: "row",
151
- children: q.map((t) => /* @__PURE__ */ c("th", {
155
+ children: J.map((t) => /* @__PURE__ */ l("th", {
152
156
  className: e.weekday,
153
157
  abbr: t,
154
158
  scope: "col",
155
159
  children: t
156
160
  }, t))
157
- }) }), /* @__PURE__ */ c("tbody", { children: G.map((t, n) => /* @__PURE__ */ c("tr", {
161
+ }) }), /* @__PURE__ */ l("tbody", { children: K.map((t, n) => /* @__PURE__ */ l("tr", {
158
162
  role: "row",
159
163
  children: t.map((t, n) => {
160
- if (!t) return /* @__PURE__ */ c("td", {
164
+ if (!t) return /* @__PURE__ */ l("td", {
161
165
  role: "gridcell",
162
166
  className: e.empty
163
167
  }, n);
164
- let r = p(t, R), i = p(t, z), a = p(t, U.value), o = X(t), s = D ? D(t) : !1, l = O ? O(t) : !1, u = k ? k(t) : !1;
165
- return /* @__PURE__ */ c("td", {
168
+ let r = m(t, z), i = m(t, B), a = m(t, W.value), o = X(t), s = O ? O(t) : !1, c = k ? k(t) : !1, u = A ? A(t) : !1;
169
+ return /* @__PURE__ */ l("td", {
166
170
  role: "gridcell",
167
171
  className: e.cell,
168
172
  "aria-selected": r,
169
- children: /* @__PURE__ */ c("button", {
173
+ children: /* @__PURE__ */ l("button", {
170
174
  type: "button",
171
175
  className: e.day,
172
176
  tabIndex: a ? 0 : -1,
173
- "aria-label": J.format(t),
177
+ "aria-label": ee.format(t),
174
178
  "aria-current": i ? "date" : void 0,
175
179
  "aria-disabled": o || void 0,
176
180
  "data-selected": r || void 0,
177
181
  "data-today": i || void 0,
178
182
  "data-in-range": s || void 0,
179
- "data-range-start": l || void 0,
183
+ "data-range-start": c || void 0,
180
184
  "data-range-end": u || void 0,
181
185
  onClick: () => Q(t),
182
186
  onFocus: () => {
183
- U.value = t;
187
+ W.value = t;
184
188
  },
185
- onMouseEnter: () => A?.(t),
189
+ onMouseEnter: () => j?.(t),
186
190
  children: t.getUTCDate()
187
191
  })
188
192
  }, n);
@@ -192,4 +196,4 @@ function v({ value: f, defaultValue: v, onValueChange: y, min: b, max: x, disabl
192
196
  });
193
197
  }
194
198
  //#endregion
195
- export { v as Calendar };
199
+ export { y as Calendar };
@@ -1 +1 @@
1
- @layer cascivo.component{._card_ssezx_2{background-color:var(--cascivo-color-surface);border-radius:var(--cascivo-radius-surface);padding:var(--_card-p,0);overflow:hidden}._card_ssezx_2:has(>._header_ssezx_12,>._content_ssezx_12,>._footer_ssezx_12){padding:0}._card_ssezx_2[data-padding=none]{--_card-p:0}._card_ssezx_2[data-padding=sm]{--_card-p:var(--cascivo-space-4);--_card-inner-p:var(--cascivo-space-4)}._card_ssezx_2[data-padding=md]{--_card-p:var(--cascivo-space-6);--_card-inner-p:var(--cascivo-space-6)}._card_ssezx_2[data-padding=lg]{--_card-p:var(--cascivo-space-8);--_card-inner-p:var(--cascivo-space-8)}._card_ssezx_2[data-variant=default]{border:1px solid var(--cascivo-color-border)}._card_ssezx_2[data-variant=outlined]{border:1.5px solid var(--cascivo-color-border-strong)}._card_ssezx_2[data-variant=elevated]{box-shadow:var(--cascivo-shadow-md);border:none}._header_ssezx_12{padding:var(--_card-inner-p,var(--cascivo-space-6));gap:var(--cascivo-space-1);flex-direction:column;min-inline-size:0;padding-block-end:0;display:flex}._headerRow_ssezx_67{justify-content:space-between;align-items:flex-start;gap:var(--cascivo-space-3);flex-direction:row}._headerRow_ssezx_67 ._headerMain_ssezx_75{gap:var(--cascivo-space-1);flex-direction:column;min-inline-size:0;display:flex}._headerRow_ssezx_67 ._headerActions_ssezx_82{align-items:center;gap:var(--cascivo-space-1);flex-shrink:0;display:flex}._title_ssezx_90{font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-lg);font-weight:var(--cascivo-font-semibold);color:var(--cascivo-color-text);line-height:var(--cascivo-leading-tight);margin:0}._content_ssezx_12{padding:var(--_card-inner-p,var(--cascivo-space-6));color:var(--cascivo-color-text-subtle);font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);line-height:var(--cascivo-leading-relaxed)}._footer_ssezx_12{padding:var(--_card-inner-p,var(--cascivo-space-6));align-items:center;gap:var(--cascivo-space-2);min-inline-size:0;padding-block-start:0;display:flex}._footer_ssezx_12>*{min-inline-size:0}}
1
+ @layer cascivo.component{._card_ipz9f_2{background-color:var(--cascivo-color-surface);border-radius:var(--cascivo-radius-surface);padding:var(--_card-p,0);position:relative;overflow:hidden}._card_ipz9f_2:has(>._header_ipz9f_19,>._content_ipz9f_19,>._footer_ipz9f_19){padding:0}._card_ipz9f_2[data-padding=none]{--_card-p:0}._card_ipz9f_2[data-padding=sm]{--_card-p:var(--cascivo-space-4);--_card-inner-p:var(--cascivo-space-4)}._card_ipz9f_2[data-padding=md]{--_card-p:var(--cascivo-space-6);--_card-inner-p:var(--cascivo-space-6)}._card_ipz9f_2[data-padding=lg]{--_card-p:var(--cascivo-space-8);--_card-inner-p:var(--cascivo-space-8)}._card_ipz9f_2[data-variant=default]{border:1px solid var(--cascivo-color-border)}._card_ipz9f_2[data-variant=outlined]{border:1.5px solid var(--cascivo-color-border-strong)}._card_ipz9f_2[data-variant=elevated]{box-shadow:var(--cascivo-shadow-md);border:none}._header_ipz9f_19{padding:var(--_card-inner-p,var(--cascivo-space-6));gap:var(--cascivo-space-1);flex-direction:column;min-inline-size:0;padding-block-end:0;display:flex}._headerRow_ipz9f_74{justify-content:space-between;align-items:flex-start;gap:var(--cascivo-space-3);flex-direction:row}._headerRow_ipz9f_74 ._headerMain_ipz9f_82{gap:var(--cascivo-space-1);flex-direction:column;min-inline-size:0;display:flex}._headerRow_ipz9f_74 ._headerActions_ipz9f_89{align-items:center;gap:var(--cascivo-space-1);flex-shrink:0;display:flex}._title_ipz9f_97{font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-lg);font-weight:var(--cascivo-font-semibold);color:var(--cascivo-color-text);line-height:var(--cascivo-leading-tight);margin:0}._content_ipz9f_19{padding:var(--_card-inner-p,var(--cascivo-space-6));color:var(--cascivo-color-text-subtle);font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);line-height:var(--cascivo-leading-relaxed)}._footer_ipz9f_19{padding:var(--_card-inner-p,var(--cascivo-space-6));align-items:center;gap:var(--cascivo-space-2);min-inline-size:0;padding-block-start:0;display:flex}._footer_ipz9f_19>*{min-inline-size:0}}
@@ -1,13 +1,13 @@
1
1
  import './card.css';
2
2
  var e = {
3
- card: "_card_ssezx_2",
4
- header: "_header_ssezx_12",
5
- content: "_content_ssezx_12",
6
- footer: "_footer_ssezx_12",
7
- headerRow: "_headerRow_ssezx_67",
8
- headerMain: "_headerMain_ssezx_75",
9
- headerActions: "_headerActions_ssezx_82",
10
- title: "_title_ssezx_90"
3
+ card: "_card_ipz9f_2",
4
+ header: "_header_ipz9f_19",
5
+ content: "_content_ipz9f_19",
6
+ footer: "_footer_ipz9f_19",
7
+ headerRow: "_headerRow_ipz9f_74",
8
+ headerMain: "_headerMain_ipz9f_82",
9
+ headerActions: "_headerActions_ipz9f_89",
10
+ title: "_title_ipz9f_97"
11
11
  };
12
12
  //#endregion
13
13
  export { e as default };
@@ -1 +1 @@
1
- @layer cascivo.component{._wrapper_tw120_2{align-items:center;gap:var(--cascivo-space-2);font-family:var(--cascivo-font-sans);cursor:pointer;display:inline-flex}._wrapper_tw120_2[data-disabled]{opacity:.5;cursor:not-allowed}._input_tw120_15{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._control_tw120_28{--_check-color:transparent;background-color:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border-strong);border-radius:var(--cascivo-radius-indicator);block-size:1.125rem;inline-size:1.125rem;transition:background-color var(--cascivo-duration-150) var(--cascivo-ease-out), border-color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);flex-shrink:0;display:inline-flex}._control_tw120_28:after{content:"";background-color:var(--_check-color);block-size:100%;inline-size:100%;-webkit-mask:var(--_check-icon,none) no-repeat center / .75rem;mask:var(--_check-icon,none) no-repeat center / .75rem}._input_tw120_15:checked+._control_tw120_28,._input_tw120_15:indeterminate+._control_tw120_28{--_check-color:var(--cascivo-color-text-on-accent);background-color:var(--cascivo-color-accent);border-color:var(--cascivo-color-accent)}._input_tw120_15:checked+._control_tw120_28{--_check-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-6'/%3E%3C/svg%3E")}._input_tw120_15:indeterminate+._control_tw120_28{--_check-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' d='M4 8h8'/%3E%3C/svg%3E")}._input_tw120_15:focus-visible+._control_tw120_28{box-shadow:var(--cascivo-focus-ring);outline:none}._label_tw120_72{font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);line-height:var(--cascivo-leading-snug)}}@media (forced-colors:active){._control_tw120_28{background-color:field;border:1px solid buttontext}._input_tw120_15:checked+._control_tw120_28,._input_tw120_15:indeterminate+._control_tw120_28{background-color:highlight;border-color:highlight}._input_tw120_15:focus-visible+._control_tw120_28{outline-offset:2px;outline:2px solid highlight}}
1
+ @layer cascivo.component{._wrapper_4zlmw_2{align-items:center;gap:var(--cascivo-space-2);font-family:var(--cascivo-font-sans);cursor:pointer;display:inline-flex}._wrapper_4zlmw_2[data-disabled]{opacity:.5;cursor:not-allowed}._input_4zlmw_15{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._control_4zlmw_28{--_check-color:transparent;pointer-events:none;background-color:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border-strong);border-radius:var(--cascivo-radius-indicator);block-size:1.125rem;inline-size:1.125rem;transition:background-color var(--cascivo-duration-150) var(--cascivo-ease-out), border-color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);flex-shrink:0;display:inline-flex}._control_4zlmw_28:after{content:"";background-color:var(--_check-color);block-size:100%;inline-size:100%;-webkit-mask:var(--_check-icon,none) no-repeat center / .75rem;mask:var(--_check-icon,none) no-repeat center / .75rem}._input_4zlmw_15:checked+._control_4zlmw_28,._input_4zlmw_15:indeterminate+._control_4zlmw_28{--_check-color:var(--cascivo-color-text-on-accent);background-color:var(--cascivo-color-accent);border-color:var(--cascivo-color-accent)}._input_4zlmw_15:checked+._control_4zlmw_28{--_check-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-6'/%3E%3C/svg%3E")}._input_4zlmw_15:indeterminate+._control_4zlmw_28{--_check-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' d='M4 8h8'/%3E%3C/svg%3E")}._input_4zlmw_15:focus-visible+._control_4zlmw_28{box-shadow:var(--cascivo-focus-ring);outline:none}._label_4zlmw_78{font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);line-height:var(--cascivo-leading-snug)}}@media (forced-colors:active){._control_4zlmw_28{background-color:field;border:1px solid buttontext}._input_4zlmw_15:checked+._control_4zlmw_28,._input_4zlmw_15:indeterminate+._control_4zlmw_28{background-color:highlight;border-color:highlight}._input_4zlmw_15:focus-visible+._control_4zlmw_28{outline-offset:2px;outline:2px solid highlight}}
@@ -1,9 +1,9 @@
1
1
  import './checkbox.css';
2
2
  var e = {
3
- wrapper: "_wrapper_tw120_2",
4
- input: "_input_tw120_15",
5
- control: "_control_tw120_28",
6
- label: "_label_tw120_72"
3
+ wrapper: "_wrapper_4zlmw_2",
4
+ input: "_input_4zlmw_15",
5
+ control: "_control_4zlmw_28",
6
+ label: "_label_4zlmw_78"
7
7
  };
8
8
  //#endregion
9
9
  export { e as default };