@cascivo/react 0.11.1 → 0.13.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 (124) hide show
  1. package/README.md +1 -1
  2. package/dist/alert-dialog/alert-dialog.js +2 -4
  3. package/dist/app-shell/app-shell.js +24 -23
  4. package/dist/badge/badge.js +17 -10
  5. package/dist/button/button.css +1 -1
  6. package/dist/button/button.module.js +1 -1
  7. package/dist/card/card.css +1 -1
  8. package/dist/card/card.js +21 -11
  9. package/dist/card/card.module.js +8 -5
  10. package/dist/checkbox/checkbox.js +2 -2
  11. package/dist/combobox/combobox.css +1 -1
  12. package/dist/combobox/combobox.module.js +15 -15
  13. package/dist/command-menu/command-menu.js +67 -71
  14. package/dist/data-table/data-table.css +1 -1
  15. package/dist/data-table/data-table.js +7 -1
  16. package/dist/data-table/data-table.module.js +29 -29
  17. package/dist/date-picker/date-picker.css +1 -1
  18. package/dist/date-picker/date-picker.module.js +19 -19
  19. package/dist/dropdown/dropdown.js +48 -50
  20. package/dist/file-uploader/file-uploader.css +1 -1
  21. package/dist/file-uploader/file-uploader.module.js +14 -14
  22. package/dist/filter/filter.js +10 -9
  23. package/dist/header-panel/header-panel.js +2 -4
  24. package/dist/icon-button/icon-button.css +1 -1
  25. package/dist/icon-button/icon-button.js +10 -10
  26. package/dist/icon-button/icon-button.module.js +1 -1
  27. package/dist/index.d.ts +1300 -69
  28. package/dist/input/input.css +1 -1
  29. package/dist/input/input.module.js +5 -5
  30. package/dist/item/item.css +1 -1
  31. package/dist/item/item.module.js +6 -6
  32. package/dist/layouts/src/page-header/page-header.css +1 -0
  33. package/dist/layouts/src/page-header/page-header.js +33 -0
  34. package/dist/layouts/src/page-header/page-header.module.js +13 -0
  35. package/dist/link/link.js +12 -12
  36. package/dist/modal/modal.js +4 -4
  37. package/dist/multi-select/multi-select.css +1 -1
  38. package/dist/multi-select/multi-select.module.js +11 -11
  39. package/dist/node/alert-dialog/alert-dialog.js +2 -4
  40. package/dist/node/app-shell/app-shell.js +24 -23
  41. package/dist/node/badge/badge.js +17 -10
  42. package/dist/node/button/button.module.js +1 -1
  43. package/dist/node/card/card.js +21 -11
  44. package/dist/node/card/card.module.js +8 -5
  45. package/dist/node/checkbox/checkbox.js +2 -2
  46. package/dist/node/combobox/combobox.module.js +15 -15
  47. package/dist/node/command-menu/command-menu.js +67 -71
  48. package/dist/node/data-table/data-table.js +7 -1
  49. package/dist/node/data-table/data-table.module.js +29 -29
  50. package/dist/node/date-picker/date-picker.module.js +19 -19
  51. package/dist/node/dropdown/dropdown.js +48 -50
  52. package/dist/node/file-uploader/file-uploader.module.js +14 -14
  53. package/dist/node/filter/filter.js +10 -9
  54. package/dist/node/header-panel/header-panel.js +2 -4
  55. package/dist/node/icon-button/icon-button.js +10 -10
  56. package/dist/node/icon-button/icon-button.module.js +1 -1
  57. package/dist/node/input/input.module.js +5 -5
  58. package/dist/node/item/item.module.js +6 -6
  59. package/dist/node/layouts/src/page-header/page-header.js +33 -0
  60. package/dist/node/layouts/src/page-header/page-header.module.js +12 -0
  61. package/dist/node/link/link.js +12 -12
  62. package/dist/node/modal/modal.js +4 -4
  63. package/dist/node/multi-select/multi-select.module.js +11 -11
  64. package/dist/node/notification/notification.js +50 -44
  65. package/dist/node/notification/notification.module.js +7 -7
  66. package/dist/node/number-input/number-input.module.js +8 -8
  67. package/dist/node/otp-input/otp-input.module.js +2 -2
  68. package/dist/node/overflow-menu/overflow-menu.js +18 -13
  69. package/dist/node/password-input/password-input.module.js +7 -7
  70. package/dist/node/popover/use-popover.js +9 -9
  71. package/dist/node/progress/progress.js +3 -2
  72. package/dist/node/react/src/index.js +63 -62
  73. package/dist/node/search/search.js +19 -22
  74. package/dist/node/search/search.module.js +5 -5
  75. package/dist/node/sheet/sheet.js +2 -4
  76. package/dist/node/stat/stat.js +6 -5
  77. package/dist/node/stat/stat.module.js +7 -7
  78. package/dist/node/status/status.js +18 -11
  79. package/dist/node/steps/steps.js +23 -23
  80. package/dist/node/structured-list/structured-list.js +14 -13
  81. package/dist/node/tag/tag.js +22 -15
  82. package/dist/node/tags-input/tags-input.module.js +4 -4
  83. package/dist/node/tile/tile.module.js +3 -3
  84. package/dist/node/time-picker/time-picker.module.js +5 -5
  85. package/dist/node/timeline/timeline.js +22 -16
  86. package/dist/node/visually-hidden/visually-hidden.js +2 -13
  87. package/dist/notification/notification.css +1 -1
  88. package/dist/notification/notification.js +50 -44
  89. package/dist/notification/notification.module.js +7 -7
  90. package/dist/number-input/number-input.css +1 -1
  91. package/dist/number-input/number-input.module.js +8 -8
  92. package/dist/otp-input/otp-input.css +1 -1
  93. package/dist/otp-input/otp-input.module.js +2 -2
  94. package/dist/overflow-menu/overflow-menu.js +18 -13
  95. package/dist/password-input/password-input.css +1 -1
  96. package/dist/password-input/password-input.module.js +7 -7
  97. package/dist/popover/use-popover.js +9 -9
  98. package/dist/progress/progress.js +3 -2
  99. package/dist/react/src/index.js +63 -62
  100. package/dist/search/search.css +1 -1
  101. package/dist/search/search.js +19 -22
  102. package/dist/search/search.module.js +5 -5
  103. package/dist/sheet/sheet.js +2 -4
  104. package/dist/stat/stat.css +1 -1
  105. package/dist/stat/stat.js +6 -5
  106. package/dist/stat/stat.module.js +7 -7
  107. package/dist/status/status.js +18 -11
  108. package/dist/steps/steps.js +23 -23
  109. package/dist/structured-list/structured-list.js +14 -13
  110. package/dist/styles.css +33 -21
  111. package/dist/tag/tag.js +22 -15
  112. package/dist/tags-input/tags-input.css +1 -1
  113. package/dist/tags-input/tags-input.module.js +4 -4
  114. package/dist/tile/tile.css +1 -1
  115. package/dist/tile/tile.module.js +3 -3
  116. package/dist/time-picker/time-picker.css +1 -1
  117. package/dist/time-picker/time-picker.module.js +5 -5
  118. package/dist/timeline/timeline.js +22 -16
  119. package/dist/visually-hidden/visually-hidden.js +2 -13
  120. package/package.json +4 -4
  121. package/readme.body.md +1 -1
  122. package/dist/node/visually-hidden/visually-hidden.module.js +0 -5
  123. package/dist/visually-hidden/visually-hidden.css +0 -1
  124. package/dist/visually-hidden/visually-hidden.module.js +0 -6
package/dist/tag/tag.js CHANGED
@@ -1,26 +1,33 @@
1
1
  "use client";
2
2
 
3
3
  import e from "./tag.module.js";
4
- import { cn as t, useSignals as n } from "@cascivo/core";
5
- import { builtin as r, t as i } from "@cascivo/i18n";
6
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
4
+ import { cn as t, normalizeTone as n, useSignals as r } from "@cascivo/core";
5
+ import { builtin as i, t as a } from "@cascivo/i18n";
6
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
7
7
  //#region ../components/src/tag/tag.tsx
8
- function s({ variant: s = "default", size: c = "md", onDismiss: l, dismissLabel: u, className: d, children: f, ...p }) {
9
- n();
10
- let m = u ?? i(r.tag.dismiss);
11
- return /* @__PURE__ */ o("span", {
12
- "data-variant": s,
13
- "data-size": c,
14
- className: t(e.tag, d),
15
- ...p,
16
- children: [f, l && /* @__PURE__ */ a("button", {
8
+ var c = {
9
+ neutral: "default",
10
+ info: "info",
11
+ success: "success",
12
+ warning: "warning",
13
+ danger: "error"
14
+ };
15
+ function l({ variant: l = "default", size: u = "md", onDismiss: d, dismissLabel: f, className: p, children: m, ...h }) {
16
+ r();
17
+ let g = f ?? a(i.tag.dismiss);
18
+ return /* @__PURE__ */ s("span", {
19
+ "data-variant": c[n(l)] ?? l,
20
+ "data-size": u,
21
+ className: t(e.tag, p),
22
+ ...h,
23
+ children: [m, d && /* @__PURE__ */ o("button", {
17
24
  type: "button",
18
25
  className: e.dismiss,
19
- "aria-label": m,
20
- onClick: l,
26
+ "aria-label": g,
27
+ onClick: d,
21
28
  children: "✕"
22
29
  })]
23
30
  });
24
31
  }
25
32
  //#endregion
26
- export { s as Tag };
33
+ export { l as Tag };
@@ -1 +1 @@
1
- @layer cascivo.component{._wrapper_i1hay_2{gap:var(--cascivo-space-1);min-height:2.5rem;padding:var(--cascivo-space-2);background-color:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-field);cursor:text;transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);flex-wrap:wrap;display:flex}._wrapper_i1hay_2:focus-within{border-color:var(--cascivo-color-accent);box-shadow:var(--cascivo-focus-ring)}._wrapper_i1hay_2[data-disabled]{cursor:not-allowed;background-color:var(--cascivo-color-bg-subtle)}._wrapper_i1hay_2[data-disabled] ._tag_i1hay_28{color:var(--cascivo-color-text-muted);border-color:var(--cascivo-color-border)}._tag_i1hay_28{align-items:center;gap:var(--cascivo-space-1);padding-block:var(--cascivo-space-0-5);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-bg-subtle);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-full);line-height:1.25;display:inline-flex}._tag_i1hay_28[data-state=invalid]{color:var(--cascivo-color-destructive);background-color:rgb(from var(--cascivo-color-destructive) r g b / .08);border-color:var(--cascivo-color-destructive)}._dismiss_i1hay_55{border-radius:var(--cascivo-radius-full);width:1rem;height:1rem;color:var(--cascivo-color-text-muted);cursor:pointer;font-size:var(--cascivo-text-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}._dismiss_i1hay_55:hover{color:var(--cascivo-color-text);background-color:var(--cascivo-color-border)}._dismiss_i1hay_55:focus-visible{outline:2px solid var(--cascivo-color-accent);outline-offset:1px}._dismiss_i1hay_55:disabled{cursor:not-allowed}._input_i1hay_85{min-width:4rem;font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);background:0 0;border:none;outline:none;flex:1}._input_i1hay_85::placeholder{color:var(--cascivo-color-text-muted)}._input_i1hay_85:disabled{cursor:not-allowed}}
1
+ @layer cascivo.component{._wrapper_1ycwz_2{gap:var(--cascivo-space-1);min-inline-size:0;min-height:2.5rem;padding:var(--cascivo-space-2);background-color:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-field);cursor:text;transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);flex-wrap:wrap;display:flex}._wrapper_1ycwz_2:focus-within{border-color:var(--cascivo-color-accent);box-shadow:var(--cascivo-focus-ring)}._wrapper_1ycwz_2[data-disabled]{cursor:not-allowed;background-color:var(--cascivo-color-bg-subtle)}._wrapper_1ycwz_2[data-disabled] ._tag_1ycwz_32{color:var(--cascivo-color-text-muted);border-color:var(--cascivo-color-border)}._tag_1ycwz_32{align-items:center;gap:var(--cascivo-space-1);padding-block:var(--cascivo-space-0-5);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-bg-subtle);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-full);line-height:1.25;display:inline-flex}._tag_1ycwz_32[data-state=invalid]{color:var(--cascivo-color-destructive);background-color:rgb(from var(--cascivo-color-destructive) r g b / .08);border-color:var(--cascivo-color-destructive)}._dismiss_1ycwz_59{border-radius:var(--cascivo-radius-full);width:1rem;height:1rem;color:var(--cascivo-color-text-muted);cursor:pointer;font-size:var(--cascivo-text-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}._dismiss_1ycwz_59:hover{color:var(--cascivo-color-text);background-color:var(--cascivo-color-border)}._dismiss_1ycwz_59:focus-visible{outline:2px solid var(--cascivo-color-accent);outline-offset:1px}._dismiss_1ycwz_59:disabled{cursor:not-allowed}._input_1ycwz_89{min-width:4rem;font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);color:var(--cascivo-color-text);background:0 0;border:none;outline:none;flex:1}._input_1ycwz_89::placeholder{color:var(--cascivo-color-text-muted)}._input_1ycwz_89:disabled{cursor:not-allowed}}
@@ -2,10 +2,10 @@
2
2
 
3
3
  import './tags-input.css';
4
4
  var e = {
5
- wrapper: "_wrapper_i1hay_2",
6
- tag: "_tag_i1hay_28",
7
- dismiss: "_dismiss_i1hay_55",
8
- input: "_input_i1hay_85"
5
+ wrapper: "_wrapper_1ycwz_2",
6
+ tag: "_tag_1ycwz_32",
7
+ dismiss: "_dismiss_1ycwz_59",
8
+ input: "_input_1ycwz_89"
9
9
  };
10
10
  //#endregion
11
11
  export { e as default };
@@ -1 +1 @@
1
- @layer cascivo.component{._tile_1wkku_2{gap:var(--cascivo-space-3);padding:var(--cascivo-space-4);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-surface);background:var(--cascivo-color-bg);color:var(--cascivo-color-text);cursor:pointer;transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), background-color var(--cascivo-duration-150) var(--cascivo-ease-out);align-items:flex-start;display:flex}._tile_1wkku_2:hover:not([data-disabled]){border-color:var(--cascivo-color-border-strong)}._tile_1wkku_2:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._tile_1wkku_2[data-selected]{border-color:var(--cascivo-color-accent);background:color-mix(in oklch, var(--cascivo-color-accent) 4%, var(--cascivo-color-bg))}._tile_1wkku_2[data-disabled]{opacity:.5;cursor:not-allowed}._icon_1wkku_36{block-size:1.5rem;inline-size:1.5rem;color:var(--cascivo-color-text-muted);flex:none;place-items:center;display:grid}._tile_1wkku_2[data-selected] ._icon_1wkku_36{color:var(--cascivo-color-accent)}._body_1wkku_49{gap:var(--cascivo-space-1);font-size:var(--cascivo-text-sm);flex-direction:column;display:flex}}
1
+ @layer cascivo.component{._tile_cxt7m_2{gap:var(--cascivo-space-3);padding:var(--cascivo-space-4);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-surface);background:var(--cascivo-color-bg);color:var(--cascivo-color-text);cursor:pointer;transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), background-color var(--cascivo-duration-150) var(--cascivo-ease-out);align-items:flex-start;text-decoration:none;display:flex}._tile_cxt7m_2:hover:not([data-disabled]){border-color:var(--cascivo-color-border-strong)}._tile_cxt7m_2:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._tile_cxt7m_2[data-selected]{border-color:var(--cascivo-color-accent);background:color-mix(in oklch, var(--cascivo-color-accent) 4%, var(--cascivo-color-bg))}._tile_cxt7m_2[data-disabled]{opacity:.5;cursor:not-allowed}._icon_cxt7m_38{block-size:1.5rem;inline-size:1.5rem;color:var(--cascivo-color-text-muted);flex:none;place-items:center;display:grid}._tile_cxt7m_2[data-selected] ._icon_cxt7m_38{color:var(--cascivo-color-accent)}._body_cxt7m_51{gap:var(--cascivo-space-1);font-size:var(--cascivo-text-sm);flex-direction:column;display:flex}}
@@ -2,9 +2,9 @@
2
2
 
3
3
  import './tile.css';
4
4
  var e = {
5
- tile: "_tile_1wkku_2",
6
- icon: "_icon_1wkku_36",
7
- body: "_body_1wkku_49"
5
+ tile: "_tile_cxt7m_2",
6
+ icon: "_icon_cxt7m_38",
7
+ body: "_body_cxt7m_51"
8
8
  };
9
9
  //#endregion
10
10
  export { e as default };
@@ -1 +1 @@
1
- @layer cascivo.component{._wrapper_shh6w_2{gap:var(--cascivo-space-1);font-family:var(--cascivo-font-sans);flex-direction:column;display:flex}._wrapper_shh6w_2[data-size=sm]{--_height:2rem;--_font:var(--cascivo-text-sm);--_px:var(--cascivo-space-3)}._wrapper_shh6w_2[data-size=md]{--_height:2.5rem;--_font:var(--cascivo-text-sm);--_px:var(--cascivo-space-4)}._wrapper_shh6w_2[data-size=lg]{--_height:3rem;--_font:var(--cascivo-text-base);--_px:var(--cascivo-space-4)}._label_shh6w_25{font-size:var(--cascivo-text-sm);font-weight:var(--cascivo-font-medium);color:var(--cascivo-color-text);line-height:var(--cascivo-leading-snug)}._input_shh6w_32{block-size:var(--_height,2.5rem);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);transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);outline:none}._input_shh6w_32:hover:not(:disabled):not(:focus-visible){border-color:var(--cascivo-color-border-strong)}._input_shh6w_32:focus-visible{border-color:var(--cascivo-color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--cascivo-color-accent) 20%, transparent)}._input_shh6w_32:disabled{opacity:.5;cursor:not-allowed;background-color:var(--cascivo-color-bg-subtle)}._wrapper_shh6w_2[data-state=error] ._input_shh6w_32{border-color:var(--cascivo-color-danger)}._error_shh6w_66{font-size:var(--cascivo-text-xs);color:var(--cascivo-color-danger)}._hint_shh6w_71{font-size:var(--cascivo-text-xs);color:var(--cascivo-color-text-muted)}}
1
+ @layer cascivo.component{._wrapper_auxoq_2{gap:var(--cascivo-space-1);min-inline-size:0;font-family:var(--cascivo-font-sans);flex-direction:column;display:flex}._wrapper_auxoq_2[data-size=sm]{--_height:2rem;--_font:var(--cascivo-text-sm);--_px:var(--cascivo-space-3)}._wrapper_auxoq_2[data-size=md]{--_height:2.5rem;--_font:var(--cascivo-text-sm);--_px:var(--cascivo-space-4)}._wrapper_auxoq_2[data-size=lg]{--_height:3rem;--_font:var(--cascivo-text-base);--_px:var(--cascivo-space-4)}._label_auxoq_29{font-size:var(--cascivo-text-sm);font-weight:var(--cascivo-font-medium);color:var(--cascivo-color-text);line-height:var(--cascivo-leading-snug)}._input_auxoq_36{block-size:var(--_height,2.5rem);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);transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);outline:none}._input_auxoq_36:hover:not(:disabled):not(:focus-visible){border-color:var(--cascivo-color-border-strong)}._input_auxoq_36:focus-visible{border-color:var(--cascivo-color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--cascivo-color-accent) 20%, transparent)}._input_auxoq_36:disabled{opacity:.5;cursor:not-allowed;background-color:var(--cascivo-color-bg-subtle)}._wrapper_auxoq_2[data-state=error] ._input_auxoq_36{border-color:var(--cascivo-color-danger)}._error_auxoq_70{font-size:var(--cascivo-text-xs);color:var(--cascivo-color-danger)}._hint_auxoq_75{font-size:var(--cascivo-text-xs);color:var(--cascivo-color-text-muted)}}
@@ -2,11 +2,11 @@
2
2
 
3
3
  import './time-picker.css';
4
4
  var e = {
5
- wrapper: "_wrapper_shh6w_2",
6
- label: "_label_shh6w_25",
7
- input: "_input_shh6w_32",
8
- error: "_error_shh6w_66",
9
- hint: "_hint_shh6w_71"
5
+ wrapper: "_wrapper_auxoq_2",
6
+ label: "_label_auxoq_29",
7
+ input: "_input_auxoq_36",
8
+ error: "_error_auxoq_70",
9
+ hint: "_hint_auxoq_75"
10
10
  };
11
11
  //#endregion
12
12
  export { e as default };
@@ -1,34 +1,40 @@
1
1
  "use client";
2
2
 
3
3
  import e from "./timeline.module.js";
4
- import { cn as t } from "@cascivo/core";
5
- import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ import { cn as t, normalizeProgress as n } from "@cascivo/core";
5
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
6
6
  //#region ../components/src/timeline/timeline.tsx
7
- function i({ items: i, orientation: a = "vertical", className: o, ...s }) {
8
- return /* @__PURE__ */ n("ol", {
9
- "data-orientation": a,
10
- className: t(e.list, o),
11
- ...s,
12
- children: i.map((t) => /* @__PURE__ */ r("li", {
13
- "data-status": t.status ?? "upcoming",
14
- "aria-current": t.status === "current" ? "step" : void 0,
7
+ var a = {
8
+ pending: "upcoming",
9
+ active: "current",
10
+ complete: "complete",
11
+ error: "current"
12
+ };
13
+ function o({ items: o, orientation: s = "vertical", className: c, ...l }) {
14
+ return /* @__PURE__ */ r("ol", {
15
+ "data-orientation": s,
16
+ className: t(e.list, c),
17
+ ...l,
18
+ children: o.map((t) => /* @__PURE__ */ i("li", {
19
+ "data-status": a[n(t.status ?? "pending")] ?? "upcoming",
20
+ "aria-current": n(t.status ?? "pending") === "active" ? "step" : void 0,
15
21
  className: e.item,
16
- children: [/* @__PURE__ */ n("span", {
22
+ children: [/* @__PURE__ */ r("span", {
17
23
  className: e.marker,
18
24
  "aria-hidden": "true",
19
25
  children: t.icon
20
- }), /* @__PURE__ */ r("div", {
26
+ }), /* @__PURE__ */ i("div", {
21
27
  className: e.content,
22
28
  children: [
23
- /* @__PURE__ */ n("div", {
29
+ /* @__PURE__ */ r("div", {
24
30
  className: e.title,
25
31
  children: t.title
26
32
  }),
27
- t.time ? /* @__PURE__ */ n("time", {
33
+ t.time ? /* @__PURE__ */ r("time", {
28
34
  className: e.time,
29
35
  children: t.time
30
36
  }) : null,
31
- t.description ? /* @__PURE__ */ n("div", {
37
+ t.description ? /* @__PURE__ */ r("div", {
32
38
  className: e.description,
33
39
  children: t.description
34
40
  }) : null
@@ -38,4 +44,4 @@ function i({ items: i, orientation: a = "vertical", className: o, ...s }) {
38
44
  });
39
45
  }
40
46
  //#endregion
41
- export { i as Timeline };
47
+ export { o as Timeline };
@@ -1,15 +1,4 @@
1
1
  "use client";
2
2
 
3
- import e from "./visually-hidden.module.js";
4
- import { cn as t } from "@cascivo/core";
5
- import { jsx as n } from "react/jsx-runtime";
6
- //#region ../components/src/visually-hidden/visually-hidden.tsx
7
- function r({ children: r, className: i, ...a }) {
8
- return /* @__PURE__ */ n("span", {
9
- className: t(e.visuallyHidden, i),
10
- ...a,
11
- children: r
12
- });
13
- }
14
- //#endregion
15
- export { r as VisuallyHidden };
3
+ import "@cascivo/core";
4
+ import "react/jsx-runtime";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cascivo/react",
3
- "version": "0.11.1",
3
+ "version": "0.13.0",
4
4
  "private": false,
5
5
  "description": "Prebuilt cascivo design system components — use without copying source. @cascivo/themes installs with it; pair with @cascivo/charts (data-viz) and @cascivo/icons. Docs offline: npx @cascivo/docs",
6
6
  "keywords": [
@@ -45,9 +45,9 @@
45
45
  "provenance": true
46
46
  },
47
47
  "dependencies": {
48
- "@cascivo/i18n": "^0.2.11",
49
- "@cascivo/core": "^0.5.3",
50
- "@cascivo/themes": "^0.4.6"
48
+ "@cascivo/core": "^0.7.0",
49
+ "@cascivo/i18n": "^0.2.13",
50
+ "@cascivo/themes": "^0.4.8"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@testing-library/jest-dom": "^6.9.1",
package/readme.body.md CHANGED
@@ -389,7 +389,7 @@ routing break after adding one of these, check that the import resolves to
389
389
  - **Cta** — Call-to-action band — quiet hairline-bordered section with title, description, and centered actions. Replace demo content before shipping.
390
390
  - **DashboardLayout** — Dashboard page layout with stats strip, main content area, and optional aside.
391
391
  - **FeatureGrid** — Feature section — AutoGrid of items with optional title, description, and icon slots. Icons are optional; the grid works text-only. Replace demo content before shipping.
392
- - **Flex** — Flex layout primitive for vertical or horizontal stacking with gap control.
392
+ - **Flex** — Flex layout primitive for vertical or horizontal stacking with gap control. ⚠ Unlike CSS `flex-direction`, `direction` defaults to `vertical` — pass `direction="horizontal"` for a row.
393
393
  - **Grid** — CSS grid layout primitive with responsive column collapsing. Establishes its own containment, so responsive `cols` adapt to the grid’s own slot width with no wrapper or container ancestor required.
394
394
  - **Hero** — Page hero section — centered or split layout with eyebrow, title, description, actions and media slots. Replace demo content before shipping.
395
395
  - **Indicator** — Positions an overlay element (badge, dot, count) at a corner of its child
@@ -1,5 +0,0 @@
1
- "use client";
2
-
3
- var e = { visuallyHidden: "_visuallyHidden_1iva7_2" };
4
- //#endregion
5
- export { e as default };
@@ -1 +0,0 @@
1
- @layer cascivo.component{._visuallyHidden_1iva7_2{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}
@@ -1,6 +0,0 @@
1
- "use client";
2
-
3
- import './visually-hidden.css';
4
- var e = { visuallyHidden: "_visuallyHidden_1iva7_2" };
5
- //#endregion
6
- export { e as default };