@cascivo/react 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/dist/accordion/accordion.js +1 -1
  2. package/dist/action-sheet/action-sheet.js +1 -1
  3. package/dist/alert/alert.js +1 -1
  4. package/dist/alert-dialog/alert-dialog.js +1 -1
  5. package/dist/app-shell/app-shell.css +1 -1
  6. package/dist/app-shell/app-shell.js +1 -1
  7. package/dist/app-shell/app-shell.module.js +1 -1
  8. package/dist/aspect-ratio/aspect-ratio.js +1 -1
  9. package/dist/avatar/avatar.js +1 -1
  10. package/dist/avatar-group/avatar-group.js +1 -1
  11. package/dist/badge/badge.js +1 -1
  12. package/dist/blockquote/blockquote.js +1 -1
  13. package/dist/bottom-sheet/bottom-sheet.js +1 -1
  14. package/dist/brand/logo/logo.js +1 -1
  15. package/dist/breadcrumb/breadcrumb.js +1 -1
  16. package/dist/button/button.css +1 -1
  17. package/dist/button/button.module.js +1 -1
  18. package/dist/button-group/button-group.js +1 -1
  19. package/dist/calendar/calendar-date.js +1 -1
  20. package/dist/calendar/calendar.js +1 -1
  21. package/dist/card/card.js +1 -1
  22. package/dist/carousel/carousel.js +1 -1
  23. package/dist/chat-bubble/chat-bubble.js +1 -1
  24. package/dist/code/code.js +1 -1
  25. package/dist/code-snippet/code-snippet.js +2 -2
  26. package/dist/code-snippet/highlight.js +1 -1
  27. package/dist/collapsible/collapsible.js +1 -1
  28. package/dist/color-picker/color-picker.js +1 -1
  29. package/dist/color-picker/color.js +1 -1
  30. package/dist/combobox/combobox.js +1 -1
  31. package/dist/combobox/list-nav.js +1 -1
  32. package/dist/combobox/option-list.js +1 -1
  33. package/dist/command-menu/command-menu.js +1 -1
  34. package/dist/comparison/comparison.js +1 -1
  35. package/dist/contained-list/contained-list.js +1 -1
  36. package/dist/context-menu/context-menu.js +1 -1
  37. package/dist/data-list/data-list.js +1 -1
  38. package/dist/data-table/column-filter.js +1 -1
  39. package/dist/data-table/column-layout.js +1 -1
  40. package/dist/data-table/data-table.js +1 -1
  41. package/dist/data-table/grid-keys.js +1 -1
  42. package/dist/data-table/row-group.js +1 -1
  43. package/dist/data-table/row-search.js +1 -1
  44. package/dist/data-table/row-sort.js +1 -1
  45. package/dist/data-table/to-csv.js +2 -2
  46. package/dist/data-table/virtual-window.js +1 -1
  47. package/dist/date-picker/date-picker.js +1 -1
  48. package/dist/date-picker/parse-date.js +1 -1
  49. package/dist/date-range-picker/date-range-picker.js +1 -1
  50. package/dist/dock/dock.js +1 -1
  51. package/dist/drawer/drawer.js +1 -1
  52. package/dist/dropdown/dropdown.js +1 -1
  53. package/dist/editable/editable.js +1 -1
  54. package/dist/empty-state/empty-state.js +1 -1
  55. package/dist/fab/fab.js +1 -1
  56. package/dist/field/field.js +1 -1
  57. package/dist/file-uploader/file-uploader.js +1 -1
  58. package/dist/filter/filter.js +1 -1
  59. package/dist/form/form.js +1 -1
  60. package/dist/header/header.js +1 -1
  61. package/dist/header-panel/header-panel.js +1 -1
  62. package/dist/heading/heading.js +1 -1
  63. package/dist/hover-card/hover-card.js +1 -1
  64. package/dist/image/image.js +1 -1
  65. package/dist/index.d.ts +749 -13
  66. package/dist/indicator/indicator.js +1 -1
  67. package/dist/infinite-scroll/infinite-scroll.js +1 -1
  68. package/dist/inline-loading/inline-loading.js +1 -1
  69. package/dist/input-group/input-group.js +1 -1
  70. package/dist/item/item.js +1 -1
  71. package/dist/join/join.js +1 -1
  72. package/dist/kbd/kbd.js +1 -1
  73. package/dist/label/label.js +1 -1
  74. package/dist/large-title-header/large-title-header.js +1 -1
  75. package/dist/layouts/src/auto-grid/auto-grid.js +1 -1
  76. package/dist/layouts/src/center/center.js +1 -1
  77. package/dist/layouts/src/columns/columns.js +1 -1
  78. package/dist/layouts/src/flex/flex.css +1 -1
  79. package/dist/layouts/src/flex/flex.js +1 -1
  80. package/dist/layouts/src/flex/flex.module.js +1 -1
  81. package/dist/layouts/src/grid/grid.js +1 -1
  82. package/dist/layouts/src/page-header/page-header.js +1 -1
  83. package/dist/layouts/src/spacer/spacer.js +1 -1
  84. package/dist/list/list.js +1 -1
  85. package/dist/log-viewer/log-viewer.css +1 -1
  86. package/dist/log-viewer/log-viewer.js +2 -2
  87. package/dist/log-viewer/log-viewer.module.js +1 -1
  88. package/dist/menu/menu.js +1 -1
  89. package/dist/menu-button/menu-button.js +1 -1
  90. package/dist/menubar/menubar.js +1 -1
  91. package/dist/modal/modal.js +1 -1
  92. package/dist/multi-select/list-nav.js +1 -1
  93. package/dist/multi-select/multi-select.js +1 -1
  94. package/dist/multi-select/option-list.js +1 -1
  95. package/dist/navigation-menu/navigation-menu.js +1 -1
  96. package/dist/node/accordion/accordion.js +1 -1
  97. package/dist/node/action-sheet/action-sheet.js +1 -1
  98. package/dist/node/alert/alert.js +1 -1
  99. package/dist/node/alert-dialog/alert-dialog.js +1 -1
  100. package/dist/node/app-shell/app-shell.js +1 -1
  101. package/dist/node/app-shell/app-shell.module.js +1 -1
  102. package/dist/node/aspect-ratio/aspect-ratio.js +1 -1
  103. package/dist/node/avatar/avatar.js +1 -1
  104. package/dist/node/avatar-group/avatar-group.js +1 -1
  105. package/dist/node/badge/badge.js +1 -1
  106. package/dist/node/blockquote/blockquote.js +1 -1
  107. package/dist/node/bottom-sheet/bottom-sheet.js +1 -1
  108. package/dist/node/brand/logo/logo.js +1 -1
  109. package/dist/node/breadcrumb/breadcrumb.js +1 -1
  110. package/dist/node/button/button.module.js +1 -1
  111. package/dist/node/button-group/button-group.js +1 -1
  112. package/dist/node/calendar/calendar-date.js +1 -1
  113. package/dist/node/calendar/calendar.js +1 -1
  114. package/dist/node/card/card.js +1 -1
  115. package/dist/node/carousel/carousel.js +1 -1
  116. package/dist/node/chat-bubble/chat-bubble.js +1 -1
  117. package/dist/node/code/code.js +1 -1
  118. package/dist/node/code-snippet/code-snippet.js +2 -2
  119. package/dist/node/code-snippet/highlight.js +1 -1
  120. package/dist/node/collapsible/collapsible.js +1 -1
  121. package/dist/node/color-picker/color-picker.js +1 -1
  122. package/dist/node/color-picker/color.js +1 -1
  123. package/dist/node/combobox/combobox.js +1 -1
  124. package/dist/node/combobox/list-nav.js +1 -1
  125. package/dist/node/combobox/option-list.js +1 -1
  126. package/dist/node/command-menu/command-menu.js +1 -1
  127. package/dist/node/comparison/comparison.js +1 -1
  128. package/dist/node/contained-list/contained-list.js +1 -1
  129. package/dist/node/context-menu/context-menu.js +1 -1
  130. package/dist/node/data-list/data-list.js +1 -1
  131. package/dist/node/data-table/column-filter.js +1 -1
  132. package/dist/node/data-table/column-layout.js +1 -1
  133. package/dist/node/data-table/data-table.js +1 -1
  134. package/dist/node/data-table/grid-keys.js +1 -1
  135. package/dist/node/data-table/row-group.js +1 -1
  136. package/dist/node/data-table/row-search.js +1 -1
  137. package/dist/node/data-table/row-sort.js +1 -1
  138. package/dist/node/data-table/to-csv.js +2 -2
  139. package/dist/node/data-table/virtual-window.js +1 -1
  140. package/dist/node/date-picker/date-picker.js +1 -1
  141. package/dist/node/date-picker/parse-date.js +1 -1
  142. package/dist/node/date-range-picker/date-range-picker.js +1 -1
  143. package/dist/node/dock/dock.js +1 -1
  144. package/dist/node/drawer/drawer.js +1 -1
  145. package/dist/node/dropdown/dropdown.js +1 -1
  146. package/dist/node/editable/editable.js +1 -1
  147. package/dist/node/empty-state/empty-state.js +1 -1
  148. package/dist/node/fab/fab.js +1 -1
  149. package/dist/node/field/field.js +1 -1
  150. package/dist/node/file-uploader/file-uploader.js +1 -1
  151. package/dist/node/filter/filter.js +1 -1
  152. package/dist/node/form/form.js +1 -1
  153. package/dist/node/header/header.js +1 -1
  154. package/dist/node/header-panel/header-panel.js +1 -1
  155. package/dist/node/heading/heading.js +1 -1
  156. package/dist/node/hover-card/hover-card.js +1 -1
  157. package/dist/node/image/image.js +1 -1
  158. package/dist/node/indicator/indicator.js +1 -1
  159. package/dist/node/infinite-scroll/infinite-scroll.js +1 -1
  160. package/dist/node/inline-loading/inline-loading.js +1 -1
  161. package/dist/node/input-group/input-group.js +1 -1
  162. package/dist/node/item/item.js +1 -1
  163. package/dist/node/join/join.js +1 -1
  164. package/dist/node/kbd/kbd.js +1 -1
  165. package/dist/node/label/label.js +1 -1
  166. package/dist/node/large-title-header/large-title-header.js +1 -1
  167. package/dist/node/layouts/src/auto-grid/auto-grid.js +1 -1
  168. package/dist/node/layouts/src/center/center.js +1 -1
  169. package/dist/node/layouts/src/columns/columns.js +1 -1
  170. package/dist/node/layouts/src/flex/flex.js +1 -1
  171. package/dist/node/layouts/src/flex/flex.module.js +1 -1
  172. package/dist/node/layouts/src/grid/grid.js +1 -1
  173. package/dist/node/layouts/src/page-header/page-header.js +1 -1
  174. package/dist/node/layouts/src/spacer/spacer.js +1 -1
  175. package/dist/node/list/list.js +1 -1
  176. package/dist/node/log-viewer/log-viewer.js +2 -2
  177. package/dist/node/log-viewer/log-viewer.module.js +1 -1
  178. package/dist/node/menu/menu.js +1 -1
  179. package/dist/node/menu-button/menu-button.js +1 -1
  180. package/dist/node/menubar/menubar.js +1 -1
  181. package/dist/node/modal/modal.js +1 -1
  182. package/dist/node/multi-select/list-nav.js +1 -1
  183. package/dist/node/multi-select/multi-select.js +1 -1
  184. package/dist/node/multi-select/option-list.js +1 -1
  185. package/dist/node/navigation-menu/navigation-menu.js +1 -1
  186. package/dist/node/notification/notification.js +1 -1
  187. package/dist/node/number-input/number-input.js +1 -1
  188. package/dist/node/otp-input/otp-input.js +1 -1
  189. package/dist/node/overflow-menu/overflow-menu.js +1 -1
  190. package/dist/node/pagination/pagination.js +1 -1
  191. package/dist/node/password-input/password-input.js +1 -1
  192. package/dist/node/popover/popover.js +1 -1
  193. package/dist/node/popover/use-popover.js +1 -1
  194. package/dist/node/progress/progress.js +1 -1
  195. package/dist/node/progress-bar/progress-bar.js +1 -1
  196. package/dist/node/progress-circle/progress-circle.js +1 -1
  197. package/dist/node/progress-indicator/progress-indicator.js +1 -1
  198. package/dist/node/prose/prose.js +1 -1
  199. package/dist/node/pull-to-refresh/pull-to-refresh.js +1 -1
  200. package/dist/node/qr-code/encode.js +1 -1
  201. package/dist/node/qr-code/qr-code.js +1 -1
  202. package/dist/node/radial-progress/radial-progress.js +1 -1
  203. package/dist/node/radio/radio.js +1 -1
  204. package/dist/node/radio-card/radio-card.js +1 -1
  205. package/dist/node/rating-group/rating-group.js +1 -1
  206. package/dist/node/react/src/index.js +1 -1
  207. package/dist/node/relative-time/relative-time.js +1 -1
  208. package/dist/node/reorder-list/reorder-list.js +1 -1
  209. package/dist/node/resizable/resizable.js +1 -1
  210. package/dist/node/scroll-area/scroll-area.js +1 -1
  211. package/dist/node/search/search.js +1 -1
  212. package/dist/node/segmented-control/segmented-control.js +1 -1
  213. package/dist/node/separator/separator.js +1 -1
  214. package/dist/node/sheet/sheet.js +1 -1
  215. package/dist/node/shell-header/shell-header.js +1 -1
  216. package/dist/node/side-nav/side-nav.js +1 -1
  217. package/dist/node/side-nav/side-nav.module.js +1 -1
  218. package/dist/node/skeleton/skeleton.js +1 -1
  219. package/dist/node/skip-nav/skip-nav.js +1 -1
  220. package/dist/node/spinner/spinner.js +1 -1
  221. package/dist/node/stack/stack.js +1 -1
  222. package/dist/node/stat/stat.js +1 -1
  223. package/dist/node/status/status.js +1 -1
  224. package/dist/node/steps/steps.js +1 -1
  225. package/dist/node/structured-list/structured-list.js +1 -1
  226. package/dist/node/swap/swap.js +1 -1
  227. package/dist/node/swipe-item/swipe-item.js +1 -1
  228. package/dist/node/switcher/switcher.js +1 -1
  229. package/dist/node/tabs/tabs.js +1 -1
  230. package/dist/node/tag/tag.js +1 -1
  231. package/dist/node/tags-input/tags-input.js +1 -1
  232. package/dist/node/text/text.js +1 -1
  233. package/dist/node/tile/tile.js +1 -1
  234. package/dist/node/timeline/timeline.js +1 -1
  235. package/dist/node/toast/toast.js +1 -1
  236. package/dist/node/toc/toc.js +1 -1
  237. package/dist/node/toc/use-toc-from-region.js +1 -1
  238. package/dist/node/toggle-group/toggle-group.js +1 -1
  239. package/dist/node/toggletip/toggletip.js +1 -1
  240. package/dist/node/tooltip/tooltip.js +1 -1
  241. package/dist/node/tree-view/tree-view.js +1 -1
  242. package/dist/node/user/user.js +1 -1
  243. package/dist/node/virtual-list/virtual-list.js +1 -1
  244. package/dist/node/wheel-picker/wheel-picker.js +1 -1
  245. package/dist/notification/notification.js +1 -1
  246. package/dist/number-input/number-input.js +1 -1
  247. package/dist/otp-input/otp-input.js +1 -1
  248. package/dist/overflow-menu/overflow-menu.js +1 -1
  249. package/dist/pagination/pagination.js +1 -1
  250. package/dist/password-input/password-input.js +1 -1
  251. package/dist/popover/popover.js +1 -1
  252. package/dist/popover/use-popover.js +1 -1
  253. package/dist/progress/progress.js +1 -1
  254. package/dist/progress-bar/progress-bar.js +1 -1
  255. package/dist/progress-circle/progress-circle.js +1 -1
  256. package/dist/progress-indicator/progress-indicator.js +1 -1
  257. package/dist/prose/prose.js +1 -1
  258. package/dist/pull-to-refresh/pull-to-refresh.js +1 -1
  259. package/dist/qr-code/encode.js +1 -1
  260. package/dist/qr-code/qr-code.js +1 -1
  261. package/dist/radial-progress/radial-progress.js +1 -1
  262. package/dist/radio/radio.js +1 -1
  263. package/dist/radio-card/radio-card.js +1 -1
  264. package/dist/rating-group/rating-group.js +1 -1
  265. package/dist/react/src/index.js +1 -1
  266. package/dist/relative-time/relative-time.js +1 -1
  267. package/dist/reorder-list/reorder-list.js +1 -1
  268. package/dist/resizable/resizable.js +1 -1
  269. package/dist/scroll-area/scroll-area.js +1 -1
  270. package/dist/search/search.js +1 -1
  271. package/dist/segmented-control/segmented-control.js +1 -1
  272. package/dist/separator/separator.js +1 -1
  273. package/dist/sheet/sheet.js +1 -1
  274. package/dist/shell-header/shell-header.js +1 -1
  275. package/dist/side-nav/side-nav.css +1 -1
  276. package/dist/side-nav/side-nav.js +1 -1
  277. package/dist/side-nav/side-nav.module.js +1 -1
  278. package/dist/skeleton/skeleton.js +1 -1
  279. package/dist/skip-nav/skip-nav.js +1 -1
  280. package/dist/spinner/spinner.js +1 -1
  281. package/dist/stack/stack.js +1 -1
  282. package/dist/stat/stat.js +1 -1
  283. package/dist/status/status.js +1 -1
  284. package/dist/steps/steps.js +1 -1
  285. package/dist/structured-list/structured-list.js +1 -1
  286. package/dist/styles.css +10 -6
  287. package/dist/swap/swap.js +1 -1
  288. package/dist/swipe-item/swipe-item.js +1 -1
  289. package/dist/switcher/switcher.js +1 -1
  290. package/dist/tabs/tabs.js +1 -1
  291. package/dist/tag/tag.js +1 -1
  292. package/dist/tags-input/tags-input.js +1 -1
  293. package/dist/text/text.js +1 -1
  294. package/dist/tile/tile.js +1 -1
  295. package/dist/timeline/timeline.js +1 -1
  296. package/dist/toast/toast.js +1 -1
  297. package/dist/toc/toc.js +1 -1
  298. package/dist/toc/use-toc-from-region.js +1 -1
  299. package/dist/toggle-group/toggle-group.js +1 -1
  300. package/dist/toggletip/toggletip.js +1 -1
  301. package/dist/tooltip/tooltip.js +1 -1
  302. package/dist/tree-view/tree-view.js +1 -1
  303. package/dist/user/user.js +1 -1
  304. package/dist/virtual-list/virtual-list.js +1 -1
  305. package/dist/wheel-picker/wheel-picker.js +1 -1
  306. package/package.json +4 -4
@@ -1 +1 @@
1
- "use client";import e from"./notification.module.js";import{useRef as t}from"react";import{Presence as n,cn as r,normalizeTone as i,useSignal as a,useSignals as o}from"@cascivo/core";import{builtin as s,t as c}from"@cascivo/i18n";import{jsx as l,jsxs as u}from"react/jsx-runtime";var d={neutral:`neutral`,info:`info`,success:`success`,warning:`warning`,danger:`error`},f=new Set([`warning`,`error`]),p=160;function m({variant:e}){return e===`success`?u(`svg`,{viewBox:`0 0 20 20`,width:`20`,height:`20`,fill:`none`,"aria-hidden":`true`,children:[l(`circle`,{cx:`10`,cy:`10`,r:`8`,stroke:`currentColor`,strokeWidth:`1.5`}),l(`path`,{d:`M6.5 10.5l2.5 2.5 4.5-5`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})]}):e===`warning`?u(`svg`,{viewBox:`0 0 20 20`,width:`20`,height:`20`,fill:`none`,"aria-hidden":`true`,children:[l(`path`,{d:`M10 2.5L18.5 17H1.5L10 2.5z`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinejoin:`round`}),l(`path`,{d:`M10 8v3.5M10 14h.01`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})]}):e===`error`?u(`svg`,{viewBox:`0 0 20 20`,width:`20`,height:`20`,fill:`none`,"aria-hidden":`true`,children:[l(`circle`,{cx:`10`,cy:`10`,r:`8`,stroke:`currentColor`,strokeWidth:`1.5`}),l(`path`,{d:`M10 6v4.5M10 13.5h.01`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})]}):u(`svg`,{viewBox:`0 0 20 20`,width:`20`,height:`20`,fill:`none`,"aria-hidden":`true`,children:[l(`circle`,{cx:`10`,cy:`10`,r:`8`,stroke:`currentColor`,strokeWidth:`1.5`}),l(`path`,{d:`M10 9v5M10 6.5h.01`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})]})}function h({title:h,description:g,variant:_=`info`,dismissible:v=!1,onDismiss:y,actions:b,icon:x,labels:S,className:C,...w}){o();let T=d[i(_)]??_,E=a(!0),D=t(y);D.current=y;let O=v||y!==void 0,k=()=>{E.value=!1,setTimeout(()=>D.current?.(),p)};return l(n,{present:E,children:u(`div`,{role:f.has(T)?`alert`:`status`,"data-variant":T,className:r(e.notification,C),...w,children:[l(`span`,{className:e.icon,"aria-hidden":`true`,children:x??l(m,{variant:T})}),u(`div`,{className:e.body,children:[l(`div`,{className:e.title,children:h}),g&&l(`div`,{className:e.description,children:g}),b&&l(`div`,{className:e.actions,children:b})]}),O&&l(`button`,{type:`button`,className:e.dismiss,"aria-label":S?.dismiss??c(s.notification.dismiss),onClick:k,children:`✕`})]})})}export{h as Notification};
1
+ "use client";import e from"./notification.module.js";import{useRef as t}from"react";import{Presence as n,cn as r,normalizeTone as i,useSignal as a,useSignals as o}from"@cascivo/core";import{builtin as s,t as c}from"@cascivo/i18n";import{jsx as l,jsxs as u}from"react/jsx-runtime";var d={neutral:`neutral`,info:`info`,success:`success`,warning:`warning`,danger:`error`},f=new Set([`warning`,`error`]),p=160;function VariantIcon({variant:e}){return e===`success`?u(`svg`,{viewBox:`0 0 20 20`,width:`20`,height:`20`,fill:`none`,"aria-hidden":`true`,children:[l(`circle`,{cx:`10`,cy:`10`,r:`8`,stroke:`currentColor`,strokeWidth:`1.5`}),l(`path`,{d:`M6.5 10.5l2.5 2.5 4.5-5`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})]}):e===`warning`?u(`svg`,{viewBox:`0 0 20 20`,width:`20`,height:`20`,fill:`none`,"aria-hidden":`true`,children:[l(`path`,{d:`M10 2.5L18.5 17H1.5L10 2.5z`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinejoin:`round`}),l(`path`,{d:`M10 8v3.5M10 14h.01`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})]}):e===`error`?u(`svg`,{viewBox:`0 0 20 20`,width:`20`,height:`20`,fill:`none`,"aria-hidden":`true`,children:[l(`circle`,{cx:`10`,cy:`10`,r:`8`,stroke:`currentColor`,strokeWidth:`1.5`}),l(`path`,{d:`M10 6v4.5M10 13.5h.01`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})]}):u(`svg`,{viewBox:`0 0 20 20`,width:`20`,height:`20`,fill:`none`,"aria-hidden":`true`,children:[l(`circle`,{cx:`10`,cy:`10`,r:`8`,stroke:`currentColor`,strokeWidth:`1.5`}),l(`path`,{d:`M10 9v5M10 6.5h.01`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})]})}function Notification({title:m,description:h,variant:g=`info`,dismissible:_=!1,onDismiss:v,actions:y,icon:b,labels:x,className:S,...C}){o();let w=d[i(g)]??g,T=a(!0),E=t(v);E.current=v;let D=_||v!==void 0,dismiss=()=>{T.value=!1,setTimeout(()=>E.current?.(),p)};return l(n,{present:T,children:u(`div`,{role:f.has(w)?`alert`:`status`,"data-variant":w,className:r(e.notification,S),...C,children:[l(`span`,{className:e.icon,"aria-hidden":`true`,children:b??l(VariantIcon,{variant:w})}),u(`div`,{className:e.body,children:[l(`div`,{className:e.title,children:m}),h&&l(`div`,{className:e.description,children:h}),y&&l(`div`,{className:e.actions,children:y})]}),D&&l(`button`,{type:`button`,className:e.dismiss,"aria-label":x?.dismiss??c(s.notification.dismiss),onClick:dismiss,children:`✕`})]})})}export{Notification};
@@ -1 +1 @@
1
- "use client";import e from"./number-input.module.js";import{forwardRef as t}from"react";import{cn as n,createMachine as r,useMachine as i,useSignal as a,useSignals as o}from"@cascivo/core";import{builtin as s,t as c}from"@cascivo/i18n";import{jsx as l,jsxs as u}from"react/jsx-runtime";var d=r({initial:`idle`,states:{idle:{on:{FOCUS:`focused`}},focused:{on:{BLUR:`idle`}}}});function f(e,t,n){let r=e;return t!==void 0&&(r=Math.max(r,t)),n!==void 0&&(r=Math.min(r,n)),r}function p(e){let t=String(e),n=t.indexOf(`.`);return n===-1?0:t.length-n-1}function m(e,t){let n=10**t;return Math.round(e*n)/n}function h(e){let t=e.trim();if(t===``)return null;let n=Number(t);return Number.isFinite(n)?n:null}var g=t(function({value:t,defaultValue:r,onValueChange:g,min:_,max:v,step:y=1,precision:b,formatOptions:x,label:S,hint:C,error:w,size:T=`md`,disabled:E,incrementLabel:D,decrementLabel:O,className:k,id:A,onFocus:j,onBlur:M,onKeyDown:N,ariaLabel:P,...F},I){o();let L=D??c(s.numberInput.increment),R=O??c(s.numberInput.decrement),[z,B]=i(d),V=t!==void 0,H=a(r??null),U=a(``),W=V?t:H.value,G=A??(S?`cascade-number-input-${S.toLowerCase().replace(/\s+/g,`-`)}`:void 0),K=e=>{V||(H.value=e),U.value=e==null?``:String(e),e!==W&&g?.(e)},q=()=>{let e=h(U.value);e!=null&&(e=f(e,_,v),b!==void 0&&(e=m(e,b))),K(e)},J=e=>{let t=(z.value===`focused`?h(U.value):W)??0,n=b??Math.max(p(y),p(t));K(f(m(t+e*y,n),_,v))},Y=z.value===`focused`?U.value:(e=>e==null?``:x?new Intl.NumberFormat(void 0,x).format(e):String(e))(W),X=W!=null&&v!==void 0&&W>=v,Z=W!=null&&_!==void 0&&W<=_;return u(`div`,{className:n(e.wrapper,k),"data-state":w?`error`:z.value,"data-size":T,children:[S&&l(`label`,{className:e.label,htmlFor:G,children:S}),u(`div`,{className:e.field,children:[l(`input`,{id:G,type:`text`,inputMode:`decimal`,autoComplete:`off`,role:`spinbutton`,className:e.input,value:Y,disabled:E,"aria-valuenow":W??void 0,"aria-valuemin":_,"aria-valuemax":v,"aria-invalid":w?!0:void 0,"aria-describedby":w?`${G}-error`:C?`${G}-hint`:void 0,onChange:e=>{U.value=e.target.value},onFocus:e=>{U.value=W==null?``:String(W),B(`FOCUS`),j?.(e)},onBlur:e=>{q(),B(`BLUR`),M?.(e)},onKeyDown:e=>{e.key===`ArrowUp`?(e.preventDefault(),J(1)):e.key===`ArrowDown`?(e.preventDefault(),J(-1)):e.key===`Enter`&&q(),N?.(e)},ref:I,...F,"aria-label":F[`aria-label`]??P}),u(`div`,{className:e.steppers,children:[l(`button`,{type:`button`,className:e.stepper,"aria-label":L,tabIndex:-1,disabled:E||X,onMouseDown:e=>e.preventDefault(),onClick:()=>J(1),children:l(`svg`,{viewBox:`0 0 10 10`,"aria-hidden":`true`,focusable:`false`,children:l(`path`,{d:`M2 6.5 5 3.5 8 6.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})}),l(`button`,{type:`button`,className:e.stepper,"aria-label":R,tabIndex:-1,disabled:E||Z,onMouseDown:e=>e.preventDefault(),onClick:()=>J(-1),children:l(`svg`,{viewBox:`0 0 10 10`,"aria-hidden":`true`,focusable:`false`,children:l(`path`,{d:`M2 3.5 5 6.5 8 3.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})})]})]}),w&&l(`span`,{id:`${G}-error`,className:e.error,role:`alert`,children:w}),!w&&C&&l(`span`,{id:`${G}-hint`,className:e.hint,children:C})]})});export{g as NumberInput};
1
+ "use client";import e from"./number-input.module.js";import{forwardRef as t}from"react";import{cn as n,createMachine as r,useMachine as i,useSignal as a,useSignals as o}from"@cascivo/core";import{builtin as s,t as c}from"@cascivo/i18n";import{jsx as l,jsxs as u}from"react/jsx-runtime";var d=r({initial:`idle`,states:{idle:{on:{FOCUS:`focused`}},focused:{on:{BLUR:`idle`}}}});function clamp(e,t,n){let r=e;return t!==void 0&&(r=Math.max(r,t)),n!==void 0&&(r=Math.min(r,n)),r}function decimalsOf(e){let t=String(e),n=t.indexOf(`.`);return n===-1?0:t.length-n-1}function roundTo(e,t){let n=10**t;return Math.round(e*n)/n}function parseText(e){let t=e.trim();if(t===``)return null;let n=Number(t);return Number.isFinite(n)?n:null}var f=t(function({value:t,defaultValue:r,onValueChange:f,min:p,max:m,step:h=1,precision:g,formatOptions:_,label:v,hint:y,error:b,size:x=`md`,disabled:S,incrementLabel:C,decrementLabel:w,className:T,id:E,onFocus:D,onBlur:O,onKeyDown:k,ariaLabel:A,...j},M){o();let N=C??c(s.numberInput.increment),P=w??c(s.numberInput.decrement),[F,I]=i(d),L=t!==void 0,R=a(r??null),z=a(``),B=L?t:R.value,V=E??(v?`cascade-number-input-${v.toLowerCase().replace(/\s+/g,`-`)}`:void 0),setValue=e=>{L||(R.value=e),z.value=e==null?``:String(e),e!==B&&f?.(e)},commitText=()=>{let e=parseText(z.value);e!=null&&(e=clamp(e,p,m),g!==void 0&&(e=roundTo(e,g))),setValue(e)},stepBy=e=>{let t=(F.value===`focused`?parseText(z.value):B)??0,n=g??Math.max(decimalsOf(h),decimalsOf(t));setValue(clamp(roundTo(t+e*h,n),p,m))},H=F.value===`focused`?z.value:(e=>e==null?``:_?new Intl.NumberFormat(void 0,_).format(e):String(e))(B),U=B!=null&&m!==void 0&&B>=m,W=B!=null&&p!==void 0&&B<=p;return u(`div`,{className:n(e.wrapper,T),"data-state":b?`error`:F.value,"data-size":x,children:[v&&l(`label`,{className:e.label,htmlFor:V,children:v}),u(`div`,{className:e.field,children:[l(`input`,{id:V,type:`text`,inputMode:`decimal`,autoComplete:`off`,role:`spinbutton`,className:e.input,value:H,disabled:S,"aria-valuenow":B??void 0,"aria-valuemin":p,"aria-valuemax":m,"aria-invalid":b?!0:void 0,"aria-describedby":b?`${V}-error`:y?`${V}-hint`:void 0,onChange:e=>{z.value=e.target.value},onFocus:e=>{z.value=B==null?``:String(B),I(`FOCUS`),D?.(e)},onBlur:e=>{commitText(),I(`BLUR`),O?.(e)},onKeyDown:e=>{e.key===`ArrowUp`?(e.preventDefault(),stepBy(1)):e.key===`ArrowDown`?(e.preventDefault(),stepBy(-1)):e.key===`Enter`&&commitText(),k?.(e)},ref:M,...j,"aria-label":j[`aria-label`]??A}),u(`div`,{className:e.steppers,children:[l(`button`,{type:`button`,className:e.stepper,"aria-label":N,tabIndex:-1,disabled:S||U,onMouseDown:e=>e.preventDefault(),onClick:()=>stepBy(1),children:l(`svg`,{viewBox:`0 0 10 10`,"aria-hidden":`true`,focusable:`false`,children:l(`path`,{d:`M2 6.5 5 3.5 8 6.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})}),l(`button`,{type:`button`,className:e.stepper,"aria-label":P,tabIndex:-1,disabled:S||W,onMouseDown:e=>e.preventDefault(),onClick:()=>stepBy(-1),children:l(`svg`,{viewBox:`0 0 10 10`,"aria-hidden":`true`,focusable:`false`,children:l(`path`,{d:`M2 3.5 5 6.5 8 3.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})})]})]}),b&&l(`span`,{id:`${V}-error`,className:e.error,role:`alert`,children:b}),!b&&y&&l(`span`,{id:`${V}-hint`,className:e.hint,children:y})]})});export{f as NumberInput};
@@ -1 +1 @@
1
- "use client";import e from"./otp-input.module.js";import{useRef as t}from"react";import{cn as n,useSignal as r,useSignals as i}from"@cascivo/core";import{builtin as a,t as o}from"@cascivo/i18n";import{jsx as s}from"react/jsx-runtime";function c({length:c=6,value:l,onValueChange:u,disabled:d=!1,type:f=`numeric`,className:p,...m}){i();let h=r(Array.from({length:c},(e,t)=>l[t]??``)),g=t([]),_=Array.from({length:c},(e,t)=>l[t]??``);JSON.stringify(h.value)!==JSON.stringify(_)&&(h.value=_);function v(e){u(e.join(``)),h.value=e}function y(e){let t=Math.max(0,Math.min(c-1,e));g.current[t]?.focus()}function b(e,t){if(!(f===`numeric`?/^\d$/:/^[a-zA-Z0-9]$/).test(t))return;let n=[...h.value];n[e]=t,v(n),e<c-1&&y(e+1)}function x(e,t){if(t.key===`Backspace`){t.preventDefault();let n=[...h.value];n[e]?(n[e]=``,v(n)):e>0&&(n[e-1]=``,v(n),y(e-1))}else t.key===`ArrowLeft`?(t.preventDefault(),y(e-1)):t.key===`ArrowRight`&&(t.preventDefault(),y(e+1))}function S(e,t){let n=t.clipboardData.getData(`text`).replace(/\s/g,``).slice(0,c-e);if(!(f===`numeric`?/^\d+$/:/^[a-zA-Z0-9]+$/).test(n))return;t.preventDefault();let r=[...h.value];for(let t=0;t<n.length;t++)e+t<c&&(r[e+t]=n[t]??``);v(r),y(Math.min(e+n.length,c-1))}let C=o(a.otpInput.label);return s(`div`,{className:n(e.wrapper,p),role:`group`,"aria-label":C,...m,children:h.value.map((t,n)=>s(`input`,{ref:e=>{g.current[n]=e},type:f===`numeric`?`tel`:`text`,inputMode:f===`numeric`?`numeric`:`text`,className:e.slot,value:t,maxLength:1,"aria-label":o(a.otpInput.digit,{n:String(n+1)}),autoComplete:n===0?`one-time-code`:`off`,disabled:d,"data-filled":t?``:void 0,onChange:e=>{let t=e.currentTarget.value.slice(-1);t&&b(n,t)},onKeyDown:e=>x(n,e),onPaste:e=>S(n,e),onFocus:e=>e.currentTarget.select()},n))})}export{c as OtpInput};
1
+ "use client";import e from"./otp-input.module.js";import{useRef as t}from"react";import{cn as n,useSignal as r,useSignals as i}from"@cascivo/core";import{builtin as a,t as o}from"@cascivo/i18n";import{jsx as s}from"react/jsx-runtime";function OtpInput({length:c=6,value:l,onValueChange:u,disabled:d=!1,type:f=`numeric`,className:p,...m}){i();let h=r(Array.from({length:c},(e,t)=>l[t]??``)),g=t([]),_=Array.from({length:c},(e,t)=>l[t]??``);JSON.stringify(h.value)!==JSON.stringify(_)&&(h.value=_);function notifyChange(e){u(e.join(``)),h.value=e}function focusSlot(e){let t=Math.max(0,Math.min(c-1,e));g.current[t]?.focus()}function handleInput(e,t){if(!(f===`numeric`?/^\d$/:/^[a-zA-Z0-9]$/).test(t))return;let n=[...h.value];n[e]=t,notifyChange(n),e<c-1&&focusSlot(e+1)}function handleKeyDown(e,t){if(t.key===`Backspace`){t.preventDefault();let n=[...h.value];n[e]?(n[e]=``,notifyChange(n)):e>0&&(n[e-1]=``,notifyChange(n),focusSlot(e-1))}else t.key===`ArrowLeft`?(t.preventDefault(),focusSlot(e-1)):t.key===`ArrowRight`&&(t.preventDefault(),focusSlot(e+1))}function handlePaste(e,t){let n=t.clipboardData.getData(`text`).replace(/\s/g,``).slice(0,c-e);if(!(f===`numeric`?/^\d+$/:/^[a-zA-Z0-9]+$/).test(n))return;t.preventDefault();let r=[...h.value];for(let t=0;t<n.length;t++)e+t<c&&(r[e+t]=n[t]??``);notifyChange(r),focusSlot(Math.min(e+n.length,c-1))}let v=o(a.otpInput.label);return s(`div`,{className:n(e.wrapper,p),role:`group`,"aria-label":v,...m,children:h.value.map((t,n)=>s(`input`,{ref:e=>{g.current[n]=e},type:f===`numeric`?`tel`:`text`,inputMode:f===`numeric`?`numeric`:`text`,className:e.slot,value:t,maxLength:1,"aria-label":o(a.otpInput.digit,{n:String(n+1)}),autoComplete:n===0?`one-time-code`:`off`,disabled:d,"data-filled":t?``:void 0,onChange:e=>{let t=e.currentTarget.value.slice(-1);t&&handleInput(n,t)},onKeyDown:e=>handleKeyDown(n,e),onPaste:e=>handlePaste(n,e),onFocus:e=>e.currentTarget.select()},n))})}export{OtpInput};
@@ -1 +1 @@
1
- "use client";import{Dropdown as e}from"../dropdown/dropdown.js";import t from"./overflow-menu.module.js";import{cn as n,useSignals as r}from"@cascivo/core";import{builtin as i,t as a}from"@cascivo/i18n";import{Fragment as o,jsx as s,jsxs as c}from"react/jsx-runtime";function l(e){let t=e.value??e.id;if(t===void 0)throw Error(`OverflowMenu: item "${e.label}" has neither \`value\` nor \`id\`. One of them is required — it is what \`onSelect\` receives.`);return t}function u(){return c(`svg`,{viewBox:`0 0 16 16`,width:`16`,height:`16`,fill:`currentColor`,"aria-hidden":`true`,children:[s(`circle`,{cx:`8`,cy:`3`,r:`1.5`}),s(`circle`,{cx:`8`,cy:`8`,r:`1.5`}),s(`circle`,{cx:`8`,cy:`13`,r:`1.5`})]})}function d({items:d,onSelect:f,placement:p=`bottom-end`,ariaLabel:m,label:h,size:g=`md`,disabled:_=!1,tabIndex:v,className:y}){r();let b=m??h??a(i.overflowMenu.trigger),x=d.map(e=>{let n={label:e.label,value:l(e)};return e.disabled!==void 0&&(n.disabled=e.disabled),e.destructive?n.icon=c(o,{children:[e.icon,s(`span`,{className:t[`destructive-flag`],"aria-hidden":`true`})]}):e.icon!==void 0&&(n.icon=e.icon),n});return s(`div`,{className:n(t.root,y),children:s(e,{items:x,onSelect:e=>f?.(e),placement:p,trigger:s(`button`,{type:`button`,className:t.trigger,"data-size":g,disabled:_,tabIndex:v,"aria-label":b,children:s(u,{})})})})}export{d as OverflowMenu};
1
+ "use client";import{Dropdown as e}from"../dropdown/dropdown.js";import t from"./overflow-menu.module.js";import{cn as n,useSignals as r}from"@cascivo/core";import{builtin as i,t as a}from"@cascivo/i18n";import{Fragment as o,jsx as s,jsxs as c}from"react/jsx-runtime";function identityOf(e){let t=e.value??e.id;if(t===void 0)throw Error(`OverflowMenu: item "${e.label}" has neither \`value\` nor \`id\`. One of them is required — it is what \`onSelect\` receives.`);return t}function KebabIcon(){return c(`svg`,{viewBox:`0 0 16 16`,width:`16`,height:`16`,fill:`currentColor`,"aria-hidden":`true`,children:[s(`circle`,{cx:`8`,cy:`3`,r:`1.5`}),s(`circle`,{cx:`8`,cy:`8`,r:`1.5`}),s(`circle`,{cx:`8`,cy:`13`,r:`1.5`})]})}function OverflowMenu({items:l,onSelect:u,placement:d=`bottom-end`,ariaLabel:f,label:p,size:m=`md`,disabled:h=!1,tabIndex:g,className:_}){r();let v=f??p??a(i.overflowMenu.trigger),y=l.map(e=>{let n={label:e.label,value:identityOf(e)};return e.disabled!==void 0&&(n.disabled=e.disabled),e.destructive?n.icon=c(o,{children:[e.icon,s(`span`,{className:t[`destructive-flag`],"aria-hidden":`true`})]}):e.icon!==void 0&&(n.icon=e.icon),n});return s(`div`,{className:n(t.root,_),children:s(e,{items:y,onSelect:e=>u?.(e),placement:d,trigger:s(`button`,{type:`button`,className:t.trigger,"data-size":m,disabled:h,tabIndex:g,"aria-label":v,children:s(KebabIcon,{})})})})}export{OverflowMenu};
@@ -1 +1 @@
1
- "use client";import e from"./pagination.module.js";import{cn as t,useSignals as n}from"@cascivo/core";import{builtin as r,t as i}from"@cascivo/i18n";import{jsx as a,jsxs as o}from"react/jsx-runtime";var s=[10,25,50,100];function c({page:c,pageSize:l,totalItems:u,onPageChange:d,onPageSizeChange:f,pageSizeOptions:p=s,labels:m,className:h}){n();let g=Math.max(1,Math.ceil(u/l)),_=Math.min(Math.max(c,1),g),v=u===0?0:(_-1)*l+1,y=Math.min(_*l,u),b=m?.nav??i(r.pagination.nav),x=m?.itemsPerPage??i(r.pagination.itemsPerPage),S=m?.pageOf?.(_,g)??i(r.pagination.pageOf,{page:_,total:g}),C=m?.range?.(v,y,u)??i(r.pagination.range,{start:v,end:y,total:u}),w=m?.previous??i(r.pagination.previous),T=m?.next??i(r.pagination.next);return o(`nav`,{"aria-label":b,className:t(e.pagination,h),children:[f&&o(`label`,{className:e.group,children:[a(`span`,{className:e.label,children:x}),a(`select`,{className:e.select,value:l,onChange:e=>f(Number(e.target.value)),children:p.map(e=>a(`option`,{value:e,children:e},e))})]}),a(`span`,{className:e.range,children:C}),o(`div`,{className:e.group,children:[a(`select`,{className:e.select,"aria-label":S,value:_,onChange:e=>d(Number(e.target.value)),children:Array.from({length:g},(e,t)=>a(`option`,{value:t+1,children:t+1},t+1))}),a(`span`,{className:e.label,"aria-hidden":`true`,children:S})]}),o(`div`,{className:e.buttons,children:[a(`button`,{type:`button`,className:e.button,"aria-label":w,disabled:_<=1,onClick:()=>d(_-1),children:a(`span`,{"aria-hidden":`true`,children:`‹`})}),a(`button`,{type:`button`,className:e.button,"aria-label":T,disabled:_>=g,onClick:()=>d(_+1),children:a(`span`,{"aria-hidden":`true`,children:`›`})})]})]})}export{c as Pagination};
1
+ "use client";import e from"./pagination.module.js";import{cn as t,useSignals as n}from"@cascivo/core";import{builtin as r,t as i}from"@cascivo/i18n";import{jsx as a,jsxs as o}from"react/jsx-runtime";var s=[10,25,50,100];function Pagination({page:c,pageSize:l,totalItems:u,onPageChange:d,onPageSizeChange:f,pageSizeOptions:p=s,labels:m,className:h}){n();let g=Math.max(1,Math.ceil(u/l)),_=Math.min(Math.max(c,1),g),v=u===0?0:(_-1)*l+1,y=Math.min(_*l,u),b=m?.nav??i(r.pagination.nav),x=m?.itemsPerPage??i(r.pagination.itemsPerPage),S=m?.pageOf?.(_,g)??i(r.pagination.pageOf,{page:_,total:g}),C=m?.range?.(v,y,u)??i(r.pagination.range,{start:v,end:y,total:u}),w=m?.previous??i(r.pagination.previous),T=m?.next??i(r.pagination.next);return o(`nav`,{"aria-label":b,className:t(e.pagination,h),children:[f&&o(`label`,{className:e.group,children:[a(`span`,{className:e.label,children:x}),a(`select`,{className:e.select,value:l,onChange:e=>f(Number(e.target.value)),children:p.map(e=>a(`option`,{value:e,children:e},e))})]}),a(`span`,{className:e.range,children:C}),o(`div`,{className:e.group,children:[a(`select`,{className:e.select,"aria-label":S,value:_,onChange:e=>d(Number(e.target.value)),children:Array.from({length:g},(e,t)=>a(`option`,{value:t+1,children:t+1},t+1))}),a(`span`,{className:e.label,"aria-hidden":`true`,children:S})]}),o(`div`,{className:e.buttons,children:[a(`button`,{type:`button`,className:e.button,"aria-label":w,disabled:_<=1,onClick:()=>d(_-1),children:a(`span`,{"aria-hidden":`true`,children:`‹`})}),a(`button`,{type:`button`,className:e.button,"aria-label":T,disabled:_>=g,onClick:()=>d(_+1),children:a(`span`,{"aria-hidden":`true`,children:`›`})})]})]})}export{Pagination};
@@ -1 +1 @@
1
- "use client";import e from"./password-input.module.js";import{forwardRef as t,useId as n}from"react";import{cn as r,useSignal as i,useSignals as a}from"@cascivo/core";import{builtin as o,t as s}from"@cascivo/i18n";import{jsx as c,jsxs as l}from"react/jsx-runtime";function u(e){if(!e)return{score:0,label:`weak`};let t=0;return/[a-z]/.test(e)&&t++,/[A-Z]/.test(e)&&t++,/[0-9]/.test(e)&&t++,/[^a-zA-Z0-9]/.test(e)&&t++,e.length>=12&&(t=Math.min(4,t+1)),t=Math.min(4,t),{score:t,label:[`weak`,`weak`,`fair`,`good`,`strong`][t]}}var d=t(function({showStrengthMeter:t=!1,size:d=`md`,labels:f,className:p,id:m,value:h,defaultValue:g,onChange:_,...v},y){a();let b=i(!1),x=i(typeof h==`string`?h:typeof g==`string`?g:``);typeof h==`string`&&(x.value=h);let S=n(),C=m??`cascade-password-${S}`,w=t?u(x.value):null,T=b.value?f?.hide??s(o.passwordInput.hide):f?.reveal??s(o.passwordInput.reveal),E=w?f?.strengthLabel?f.strengthLabel(w.label):s(o.passwordInput.strengthLabel,{level:w.label}):void 0;return l(`div`,{className:r(e.wrapper,p),"data-size":d,"data-revealed":b.value?``:void 0,children:[l(`div`,{className:e[`input-row`],children:[c(`input`,{ref:y,...v,id:C,type:b.value?`text`:`password`,className:e.input,value:h,defaultValue:g,onChange:e=>{typeof h!=`string`&&(x.value=e.currentTarget.value),_?.(e)}}),c(`button`,{type:`button`,className:e[`reveal-btn`],"aria-label":T,onClick:()=>{b.value=!b.value},children:c(`span`,{className:e[`reveal-icon`],"aria-hidden":`true`})})]}),t&&w&&c(`div`,{className:e[`strength-meter`],role:`meter`,"aria-label":E,"aria-valuenow":w.score,"aria-valuemin":0,"aria-valuemax":4,"data-strength":w.label,children:[0,1,2,3].map(t=>c(`div`,{className:e[`strength-segment`],"data-filled":t<w.score?``:void 0},t))})]})});export{d as PasswordInput};
1
+ "use client";import e from"./password-input.module.js";import{forwardRef as t,useId as n}from"react";import{cn as r,useSignal as i,useSignals as a}from"@cascivo/core";import{builtin as o,t as s}from"@cascivo/i18n";import{jsx as c,jsxs as l}from"react/jsx-runtime";function getStrengthLevel(e){if(!e)return{score:0,label:`weak`};let t=0;return/[a-z]/.test(e)&&t++,/[A-Z]/.test(e)&&t++,/[0-9]/.test(e)&&t++,/[^a-zA-Z0-9]/.test(e)&&t++,e.length>=12&&(t=Math.min(4,t+1)),t=Math.min(4,t),{score:t,label:[`weak`,`weak`,`fair`,`good`,`strong`][t]}}var u=t(function({showStrengthMeter:t=!1,size:u=`md`,labels:d,className:f,id:p,value:m,defaultValue:h,onChange:g,..._},v){a();let y=i(!1),b=i(typeof m==`string`?m:typeof h==`string`?h:``);typeof m==`string`&&(b.value=m);let x=n(),S=p??`cascade-password-${x}`,C=t?getStrengthLevel(b.value):null,w=y.value?d?.hide??s(o.passwordInput.hide):d?.reveal??s(o.passwordInput.reveal),T=C?d?.strengthLabel?d.strengthLabel(C.label):s(o.passwordInput.strengthLabel,{level:C.label}):void 0;return l(`div`,{className:r(e.wrapper,f),"data-size":u,"data-revealed":y.value?``:void 0,children:[l(`div`,{className:e[`input-row`],children:[c(`input`,{ref:v,..._,id:S,type:y.value?`text`:`password`,className:e.input,value:m,defaultValue:h,onChange:e=>{typeof m!=`string`&&(b.value=e.currentTarget.value),g?.(e)}}),c(`button`,{type:`button`,className:e[`reveal-btn`],"aria-label":w,onClick:()=>{y.value=!y.value},children:c(`span`,{className:e[`reveal-icon`],"aria-hidden":`true`})})]}),t&&C&&c(`div`,{className:e[`strength-meter`],role:`meter`,"aria-label":T,"aria-valuenow":C.score,"aria-valuemin":0,"aria-valuemax":4,"data-strength":C.label,children:[0,1,2,3].map(t=>c(`div`,{className:e[`strength-segment`],"data-filled":t<C.score?``:void 0},t))})]})});export{u as PasswordInput};
@@ -1 +1 @@
1
- "use client";import{usePopover as e}from"./use-popover.js";import t from"./popover.module.js";import{createContext as n}from"react";import{Slot as r,useSignals as i}from"@cascivo/core";import{jsx as a}from"react/jsx-runtime";var o=n(null);function s({children:t,...n}){let r=e(n);return a(o.Provider,{value:r,children:t})}function c({children:e,asChild:n=!1}){i();let s=n?r:`button`;return a(o.Consumer,{children:r=>{if(!r)throw Error(`PopoverTrigger must be used inside <Popover>`);let{triggerRef:i,toggle:o,anchorName:c,isOpen:l}=r;return a(s,{ref:i,type:n?void 0:`button`,"aria-expanded":l.value,"aria-haspopup":`dialog`,style:{anchorName:c},onClick:o,className:t.trigger,children:e})}})}function l({children:e,className:n}){return i(),a(o.Consumer,{children:r=>{if(!r)throw Error(`PopoverContent must be used inside <Popover>`);let{popoverRef:i,anchorName:o,isOpen:s}=r;return a(`div`,{ref:i,popover:`auto`,role:`dialog`,"data-state":s.value?`open`:`closed`,style:{positionAnchor:o},className:[t.content,n].filter(Boolean).join(` `),children:e})}})}export{s as Popover,l as PopoverContent,c as PopoverTrigger};
1
+ "use client";import{usePopover as e}from"./use-popover.js";import t from"./popover.module.js";import{createContext as n}from"react";import{Slot as r,useSignals as i}from"@cascivo/core";import{jsx as a}from"react/jsx-runtime";var o=n(null);function Popover({children:t,...n}){let r=e(n);return a(o.Provider,{value:r,children:t})}function PopoverTrigger({children:e,asChild:n=!1}){i();let s=n?r:`button`;return a(o.Consumer,{children:r=>{if(!r)throw Error(`PopoverTrigger must be used inside <Popover>`);let{triggerRef:i,toggle:o,anchorName:c,isOpen:l}=r;return a(s,{ref:i,type:n?void 0:`button`,"aria-expanded":l.value,"aria-haspopup":`dialog`,style:{anchorName:c},onClick:o,className:t.trigger,children:e})}})}function PopoverContent({children:e,className:n}){return i(),a(o.Consumer,{children:r=>{if(!r)throw Error(`PopoverContent must be used inside <Popover>`);let{popoverRef:i,anchorName:o,isOpen:s}=r;return a(`div`,{ref:i,popover:`auto`,role:`dialog`,"data-state":s.value?`open`:`closed`,style:{positionAnchor:o},className:[t.content,n].filter(Boolean).join(` `),children:e})}})}export{Popover,PopoverContent,PopoverTrigger};
@@ -1 +1 @@
1
- import{useRef as e}from"react";import{useId as t,useSignal as n,useSignalEffect as r}from"@cascivo/core";var i=typeof CSS<`u`&&typeof CSS.supports==`function`&&CSS.supports(`anchor-name: --cascivo-a`);function a(a={}){let o=`--${t(`cascivo-popover`)}`,s=e(null),c=e(null),l=n(a.open??!1);a.open!==void 0&&(l.value=a.open);let u=e(a.onOpenChange);u.current=a.onOpenChange;let d=e(a.placement);d.current=a.placement;let f=e(a.offset);return f.current=a.offset,r(()=>{let e=l.value;u.current?.(e);let t=c.current;if(t){if(e)try{t.showPopover()}catch{}else try{t.hidePopover()}catch{}if(!i&&e){let e=s.current;if(!e)return;let n=e.getBoundingClientRect(),r=d.current??`bottom`,i=f.current??4;r===`bottom`?(t.style.top=`${n.bottom+i+window.scrollY}px`,t.style.left=`${n.left+window.scrollX}px`):r===`top`?(t.style.top=`${n.top-i+window.scrollY}px`,t.style.left=`${n.left+window.scrollX}px`,t.style.transform=`translateY(-100%)`):r===`left`?(t.style.top=`${n.top+window.scrollY}px`,t.style.left=`${n.left-i+window.scrollX}px`,t.style.transform=`translateX(-100%)`):r===`right`&&(t.style.top=`${n.top+window.scrollY}px`,t.style.left=`${n.right+i+window.scrollX}px`)}}}),r(()=>{let e=c.current;if(!e)return;let t=e=>{e.newState===`closed`&&(l.value=!1)};return e.addEventListener(`toggle`,t),()=>e.removeEventListener(`toggle`,t)}),{triggerRef:s,popoverRef:c,isOpen:l,anchorName:o,open:()=>{l.value=!0},close:()=>{l.value=!1},toggle:()=>{l.value=!l.value}}}export{a as usePopover};
1
+ import{useRef as e}from"react";import{useId as t,useSignal as n,useSignalEffect as r}from"@cascivo/core";var i=typeof CSS<`u`&&typeof CSS.supports==`function`&&CSS.supports(`anchor-name: --cascivo-a`);function usePopover(a={}){let o=`--${t(`cascivo-popover`)}`,s=e(null),c=e(null),l=n(a.open??!1);a.open!==void 0&&(l.value=a.open);let u=e(a.onOpenChange);u.current=a.onOpenChange;let d=e(a.placement);d.current=a.placement;let f=e(a.offset);return f.current=a.offset,r(()=>{let e=l.value;u.current?.(e);let t=c.current;if(t){if(e)try{t.showPopover()}catch{}else try{t.hidePopover()}catch{}if(!i&&e){let e=s.current;if(!e)return;let n=e.getBoundingClientRect(),r=d.current??`bottom`,i=f.current??4;r===`bottom`?(t.style.top=`${n.bottom+i+window.scrollY}px`,t.style.left=`${n.left+window.scrollX}px`):r===`top`?(t.style.top=`${n.top-i+window.scrollY}px`,t.style.left=`${n.left+window.scrollX}px`,t.style.transform=`translateY(-100%)`):r===`left`?(t.style.top=`${n.top+window.scrollY}px`,t.style.left=`${n.left-i+window.scrollX}px`,t.style.transform=`translateX(-100%)`):r===`right`&&(t.style.top=`${n.top+window.scrollY}px`,t.style.left=`${n.right+i+window.scrollX}px`)}}}),r(()=>{let e=c.current;if(!e)return;let handler=e=>{e.newState===`closed`&&(l.value=!1)};return e.addEventListener(`toggle`,handler),()=>e.removeEventListener(`toggle`,handler)}),{triggerRef:s,popoverRef:c,isOpen:l,anchorName:o,open:()=>{l.value=!0},close:()=>{l.value=!1},toggle:()=>{l.value=!l.value}}}export{usePopover};
@@ -1 +1 @@
1
- import e from"./progress.module.js";import{jsx as t}from"react/jsx-runtime";function n({value:n,variant:r=`primary`,size:i=`md`,className:a,ariaLabel:o,label:s,...c}){return t(`progress`,{"aria-label":c[`aria-label`]??o??s,className:[e.progress,a].filter(Boolean).join(` `),"data-variant":r,"data-size":i,value:n,max:n===void 0?void 0:100,...c})}export{n as Progress};
1
+ import e from"./progress.module.js";import{jsx as t}from"react/jsx-runtime";function Progress({value:n,variant:r=`primary`,size:i=`md`,className:a,ariaLabel:o,label:s,...c}){return t(`progress`,{"aria-label":c[`aria-label`]??o??s,className:[e.progress,a].filter(Boolean).join(` `),"data-variant":r,"data-size":i,value:n,max:n===void 0?void 0:100,...c})}export{Progress};
@@ -1 +1 @@
1
- import e from"./progress-bar.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n,jsxs as r}from"react/jsx-runtime";function i({value:i,max:a=100,label:o,helperText:s,size:c=`md`,status:l=`active`,className:u}){let d=i===void 0,f=d?0:Math.min(Math.max(i,0),a),p=a>0?f/a*100:0,m=o?`cascade-progress-${o.toLowerCase().replace(/\s+/g,`-`)}`:void 0,h=l===`success`?`✓`:l===`error`?`✕`:null;return r(`div`,{"data-status":l,"data-size":c,"data-state":d?`indeterminate`:void 0,className:t(e.progress,u),children:[o&&r(`span`,{id:m,className:e.label,children:[o,h&&n(`span`,{className:e.glyph,"aria-hidden":`true`,children:h})]}),n(`div`,{role:`progressbar`,"aria-valuemin":0,"aria-valuemax":a,"aria-valuenow":d?void 0:f,"aria-labelledby":m,className:e.track,children:n(`div`,{className:e.fill,style:d?void 0:{"--cascivo-progress-value":`${p}%`}})}),s&&n(`span`,{className:e.helper,children:s})]})}export{i as ProgressBar};
1
+ import e from"./progress-bar.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n,jsxs as r}from"react/jsx-runtime";function ProgressBar({value:i,max:a=100,label:o,helperText:s,size:c=`md`,status:l=`active`,className:u}){let d=i===void 0,f=d?0:Math.min(Math.max(i,0),a),p=a>0?f/a*100:0,m=o?`cascade-progress-${o.toLowerCase().replace(/\s+/g,`-`)}`:void 0,h=l===`success`?`✓`:l===`error`?`✕`:null;return r(`div`,{"data-status":l,"data-size":c,"data-state":d?`indeterminate`:void 0,className:t(e.progress,u),children:[o&&r(`span`,{id:m,className:e.label,children:[o,h&&n(`span`,{className:e.glyph,"aria-hidden":`true`,children:h})]}),n(`div`,{role:`progressbar`,"aria-valuemin":0,"aria-valuemax":a,"aria-valuenow":d?void 0:f,"aria-labelledby":m,className:e.track,children:n(`div`,{className:e.fill,style:d?void 0:{"--cascivo-progress-value":`${p}%`}})}),s&&n(`span`,{className:e.helper,children:s})]})}export{ProgressBar};
@@ -1 +1 @@
1
- import e from"./progress-circle.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n,jsxs as r}from"react/jsx-runtime";var i=20,a=2*Math.PI*i;function o({value:o,max:s=100,size:c=`md`,showValue:l=!1,label:u,ariaLabel:d,className:f,...p}){let m=Math.min(Math.max(o,0),s),h=s>0?m/s*100:0,g=a*(1-h/100);return r(`div`,{role:`progressbar`,"aria-valuemin":0,"aria-valuemax":s,"aria-valuenow":m,"aria-label":d??u,"data-size":c,className:t(e.progressCircle,f),...p,children:[r(`svg`,{viewBox:`0 0 48 48`,"aria-hidden":`true`,className:e.svg,children:[n(`circle`,{className:e.track,cx:`24`,cy:`24`,r:i,fill:`none`,strokeWidth:`4`}),n(`circle`,{className:e.fill,cx:`24`,cy:`24`,r:i,fill:`none`,strokeWidth:`4`,strokeLinecap:`round`,strokeDasharray:a,strokeDashoffset:g})]}),l&&r(`span`,{className:e.value,children:[Math.round(h),`%`]})]})}export{o as ProgressCircle};
1
+ import e from"./progress-circle.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n,jsxs as r}from"react/jsx-runtime";var i=20,a=2*Math.PI*i;function ProgressCircle({value:o,max:s=100,size:c=`md`,showValue:l=!1,label:u,ariaLabel:d,className:f,...p}){let m=Math.min(Math.max(o,0),s),h=s>0?m/s*100:0,g=a*(1-h/100);return r(`div`,{role:`progressbar`,"aria-valuemin":0,"aria-valuemax":s,"aria-valuenow":m,"aria-label":d??u,"data-size":c,className:t(e.progressCircle,f),...p,children:[r(`svg`,{viewBox:`0 0 48 48`,"aria-hidden":`true`,className:e.svg,children:[n(`circle`,{className:e.track,cx:`24`,cy:`24`,r:i,fill:`none`,strokeWidth:`4`}),n(`circle`,{className:e.fill,cx:`24`,cy:`24`,r:i,fill:`none`,strokeWidth:`4`,strokeLinecap:`round`,strokeDasharray:a,strokeDashoffset:g})]}),l&&r(`span`,{className:e.value,children:[Math.round(h),`%`]})]})}export{ProgressCircle};
@@ -1 +1 @@
1
- import e from"./progress-indicator.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n,jsxs as r}from"react/jsx-runtime";function i({steps:i,currentIndex:a,vertical:o=!1,className:s}){return n(`ol`,{className:t(e.indicator,s),"data-orientation":o?`vertical`:`horizontal`,children:i.map((t,i)=>{let o=i<a?`complete`:i===a?`current`:`incomplete`;return r(`li`,{className:e.step,"data-status":o,"aria-current":o===`current`?`step`:void 0,children:[n(`span`,{className:e.marker,"aria-hidden":`true`,children:o===`complete`?`✓`:i+1}),r(`span`,{className:e.text,children:[n(`span`,{className:e.label,children:t.label}),t.description&&n(`span`,{className:e.description,children:t.description})]})]},t.id??i)})})}export{i as ProgressIndicator};
1
+ import e from"./progress-indicator.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n,jsxs as r}from"react/jsx-runtime";function ProgressIndicator({steps:i,currentIndex:a,vertical:o=!1,className:s}){return n(`ol`,{className:t(e.indicator,s),"data-orientation":o?`vertical`:`horizontal`,children:i.map((t,i)=>{let o=i<a?`complete`:i===a?`current`:`incomplete`;return r(`li`,{className:e.step,"data-status":o,"aria-current":o===`current`?`step`:void 0,children:[n(`span`,{className:e.marker,"aria-hidden":`true`,children:o===`complete`?`✓`:i+1}),r(`span`,{className:e.text,children:[n(`span`,{className:e.label,children:t.label}),t.description&&n(`span`,{className:e.description,children:t.description})]})]},t.id??i)})})}export{ProgressIndicator};
@@ -1 +1 @@
1
- import e from"./prose.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n}from"react/jsx-runtime";function r({className:r,children:i,...a}){return n(`div`,{className:t(e.prose,r),...a,children:i})}export{r as Prose};
1
+ import e from"./prose.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n}from"react/jsx-runtime";function Prose({className:r,children:i,...a}){return n(`div`,{className:t(e.prose,r),...a,children:i})}export{Prose};
@@ -1 +1 @@
1
- "use client";import{Spinner as e}from"../spinner/spinner.js";import t from"./pull-to-refresh.module.js";import{useRef as n}from"react";import{cn as r,useSignal as i,useSignalEffect as a,useSignals as o}from"@cascivo/core";import{builtin as s,t as c}from"@cascivo/i18n";import{jsx as l,jsxs as u}from"react/jsx-runtime";var d=.5;function f({onRefresh:f,children:p,threshold:m=64,disabled:h=!1,labels:g,className:_}){o();let v=n(null),y=i(0),b=i(!1),x=i(!1),S=n(f);S.current=f;let C=n(m);C.current=m;let w=n(h);w.current=h,a(()=>{let e=v.current;if(!e||typeof window>`u`)return;let t=0,n=!1,r=r=>{w.current||b.value||e.scrollTop>0||(t=r.clientY,n=!0)},i=r=>{if(!n||b.value)return;let i=r.clientY-t;if(i<=0||e.scrollTop>0){y.value=0,x.value=!1;return}r.preventDefault(),x.value=!0,y.value=Math.min(i*d,C.current*1.5)},a=()=>{n&&(n=!1,x.value=!1,!b.value&&(y.value>=C.current?(b.value=!0,y.value=C.current,Promise.resolve(S.current()).then(()=>{b.value=!1,y.value=0},()=>{b.value=!1,y.value=0})):y.value=0))};return e.addEventListener(`pointerdown`,r),window.addEventListener(`pointermove`,i,{passive:!1}),window.addEventListener(`pointerup`,a),window.addEventListener(`pointercancel`,a),()=>{e.removeEventListener(`pointerdown`,r),window.removeEventListener(`pointermove`,i),window.removeEventListener(`pointerup`,a),window.removeEventListener(`pointercancel`,a)}});let T=b.value?m:y.value,E=Math.min(T/m,1),D=E>=1,O=b.value?g?.refreshing??c(s.pullToRefresh.refreshing):D?g?.release??c(s.pullToRefresh.release):T>0?g?.pull??c(s.pullToRefresh.pull):``,k={"--_pull":`${T}px`};return u(`div`,{className:r(t.root,_),style:k,children:[l(`div`,{className:t.indicator,"data-dragging":x.value?``:void 0,children:b.value?l(e,{size:`sm`}):l(`svg`,{"aria-hidden":`true`,viewBox:`0 0 16 16`,className:t.arrow,"data-ready":D?``:void 0,style:{opacity:E},children:l(`path`,{d:`M8 13V3M4 7l4-4 4 4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})}),l(`span`,{role:`status`,"aria-live":`polite`,className:t.srOnly,children:O}),l(`div`,{ref:v,className:t.viewport,"data-dragging":x.value?``:void 0,children:p})]})}export{f as PullToRefresh};
1
+ "use client";import{Spinner as e}from"../spinner/spinner.js";import t from"./pull-to-refresh.module.js";import{useRef as n}from"react";import{cn as r,useSignal as i,useSignalEffect as a,useSignals as o}from"@cascivo/core";import{builtin as s,t as c}from"@cascivo/i18n";import{jsx as l,jsxs as u}from"react/jsx-runtime";var d=.5;function PullToRefresh({onRefresh:f,children:p,threshold:m=64,disabled:h=!1,labels:g,className:_}){o();let v=n(null),y=i(0),b=i(!1),x=i(!1),S=n(f);S.current=f;let C=n(m);C.current=m;let w=n(h);w.current=h,a(()=>{let e=v.current;if(!e||typeof window>`u`)return;let t=0,n=!1,onDown=r=>{w.current||b.value||e.scrollTop>0||(t=r.clientY,n=!0)},onMove=r=>{if(!n||b.value)return;let i=r.clientY-t;if(i<=0||e.scrollTop>0){y.value=0,x.value=!1;return}r.preventDefault(),x.value=!0,y.value=Math.min(i*d,C.current*1.5)},onUp=()=>{n&&(n=!1,x.value=!1,!b.value&&(y.value>=C.current?(b.value=!0,y.value=C.current,Promise.resolve(S.current()).then(()=>{b.value=!1,y.value=0},()=>{b.value=!1,y.value=0})):y.value=0))};return e.addEventListener(`pointerdown`,onDown),window.addEventListener(`pointermove`,onMove,{passive:!1}),window.addEventListener(`pointerup`,onUp),window.addEventListener(`pointercancel`,onUp),()=>{e.removeEventListener(`pointerdown`,onDown),window.removeEventListener(`pointermove`,onMove),window.removeEventListener(`pointerup`,onUp),window.removeEventListener(`pointercancel`,onUp)}});let T=b.value?m:y.value,E=Math.min(T/m,1),D=E>=1,O=b.value?g?.refreshing??c(s.pullToRefresh.refreshing):D?g?.release??c(s.pullToRefresh.release):T>0?g?.pull??c(s.pullToRefresh.pull):``,k={"--_pull":`${T}px`};return u(`div`,{className:r(t.root,_),style:k,children:[l(`div`,{className:t.indicator,"data-dragging":x.value?``:void 0,children:b.value?l(e,{size:`sm`}):l(`svg`,{"aria-hidden":`true`,viewBox:`0 0 16 16`,className:t.arrow,"data-ready":D?``:void 0,style:{opacity:E},children:l(`path`,{d:`M8 13V3M4 7l4-4 4 4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})}),l(`span`,{role:`status`,"aria-live":`polite`,className:t.srOnly,children:O}),l(`div`,{ref:v,className:t.viewport,"data-dragging":x.value?``:void 0,children:p})]})}export{PullToRefresh};
@@ -1 +1 @@
1
- var e={L:{ordinal:0,formatBits:1},M:{ordinal:1,formatBits:0},Q:{ordinal:2,formatBits:3},H:{ordinal:3,formatBits:2}},t=1,n=40,r=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],i=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]];function a(e){let t=(16*e+128)*e+64;if(e>=2){let n=Math.floor(e/7)+2;t-=(25*n-10)*n-55,e>=7&&(t-=36)}return t}function o(t,n){let o=e[n].ordinal;return Math.floor(a(t)/8)-r[o][t]*i[o][t]}function s(e,t){let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return n&255}function c(e){let t=Array.from({length:e}).fill(0);t[e-1]=1;let n=1;for(let r=0;r<e;r++){for(let e=0;e<t.length;e++)t[e]=s(t[e],n),e+1<t.length&&(t[e]=t[e]^t[e+1]);n=s(n,2)}return t}function l(e,t){let n=Array.from({length:t.length}).fill(0);for(let r of e){let e=r^n.shift();n.push(0);for(let r=0;r<n.length;r++)n[r]=n[r]^s(t[r],e)}return n}function u(e,t,n){for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function d(e,t){let n=[];u(4,4,n);let r=t<=9?8:16;u(e.length,r,n);for(let t of e)u(t,8,n);return n}function f(e,t,n){return 4+(t<=9?8:16)+e*8<=o(t,n)*8}function p(t,n,o){let s=e[o].ordinal,u=i[s][n],d=r[s][n],f=Math.floor(a(n)/8),p=u-f%u,m=Math.floor(f/u),h=[],g=c(d),_=0;for(let e=0;e<u;e++){let n=m-d+(e<p?0:1),r=t.slice(_,_+n);_+=n;let i=l(r,g);e<p&&r.push(0),h.push(r.concat(i))}let v=[];for(let e=0;e<h[0].length;e++)for(let t=0;t<h.length;t++)(e!==m-d||t>=p)&&v.push(h[t][e]);return v}function m(e,t,n){let r=d(h(e),t),i=o(t,n)*8;u(0,Math.min(4,i-r.length),r),u(0,(8-r.length%8)%8,r);let a=[];for(let e=0;e<r.length;e+=8){let t=0;for(let n=0;n<8;n++)t=t<<1|r[e+n];a.push(t)}for(let e=236;a.length<i/8;e^=253)a.push(e);return a}function h(e){return typeof TextEncoder<`u`?Array.from(new TextEncoder().encode(e)):Array.from(unescape(encodeURIComponent(e)),e=>e.charCodeAt(0))}var g=class{size;modules;isFunction;constructor(e){this.size=e*4+17,this.modules=Array.from({length:this.size},()=>Array.from({length:this.size}).fill(!1)),this.isFunction=Array.from({length:this.size},()=>Array.from({length:this.size}).fill(!1))}set(e,t,n,r){this.modules[t][e]=n,this.isFunction[t][e]=r}drawFinder(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=e+r,a=t+n;if(i<0||i>=this.size||a<0||a>=this.size)continue;let o=Math.max(Math.abs(r),Math.abs(n));this.set(i,a,o!==2&&o!==4,!0)}}drawAlignment(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.set(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!==1,!0)}isFn(e,t){return this.isFunction[t][e]}};function _(e){if(e===1)return[];let t=Math.floor(e/7)+2,n=Math.floor((e*8+t*3+5)/(t*4-4))*2,r=[6];for(let i=e*4+10;r.length<t;i-=n)r.splice(1,0,i);return r}function v(e,t,n){let r=e.size;for(let t=0;t<r;t++)e.set(6,t,t%2==0,!0),e.set(t,6,t%2==0,!0);e.drawFinder(3,3),e.drawFinder(r-4,3),e.drawFinder(3,r-4);let i=_(t);for(let t=0;t<i.length;t++)for(let n=0;n<i.length;n++)t===0&&n===0||t===0&&n===i.length-1||t===i.length-1&&n===0||e.drawAlignment(i[t],i[n]);y(e,n,0,!0),b(e,t)}function y(t,n,r,i){let a=t.size,o=e[n].formatBits<<3|r,s=o;for(let e=0;e<10;e++)s=s<<1^(s>>>9)*1335;let c=(o<<10|s)^21522,l=e=>i?!1:(c>>>e&1)!=0;for(let e=0;e<=5;e++)t.set(8,e,l(e),!0);t.set(8,7,l(6),!0),t.set(8,8,l(7),!0),t.set(7,8,l(8),!0);for(let e=9;e<15;e++)t.set(14-e,8,l(e),!0);for(let e=0;e<8;e++)t.set(a-1-e,8,l(e),!0);for(let e=8;e<15;e++)t.set(8,a-15+e,l(e),!0);t.set(8,a-8,!0,!0)}function b(e,t){if(t<7)return;let n=t;for(let e=0;e<12;e++)n=n<<1^(n>>>11)*7973;let r=t<<12|n;for(let t=0;t<18;t++){let n=(r>>>t&1)!=0,i=e.size-11+t%3,a=Math.floor(t/3);e.set(i,a,n,!0),e.set(a,i,n,!0)}}function x(e,t){let n=e.size,r=0;for(let i=n-1;i>=1;i-=2){let a=i===6?5:i;for(let i=0;i<n;i++)for(let o=0;o<2;o++){let s=a-o,c=a+1&2?i:n-1-i;if(!e.isFn(s,c)&&r<t.length*8){let n=(t[r>>>3]>>>7-(r&7)&1)!=0;e.set(s,c,n,!1),r++}}}}function S(e,t){for(let n=0;n<e.size;n++)for(let r=0;r<e.size;r++){if(e.isFn(r,n))continue;let i=!1;switch(t){case 0:i=(r+n)%2==0;break;case 1:i=n%2==0;break;case 2:i=r%3==0;break;case 3:i=(r+n)%3==0;break;case 4:i=(Math.floor(r/3)+Math.floor(n/2))%2==0;break;case 5:i=r*n%2+r*n%3==0;break;case 6:i=(r*n%2+r*n%3)%2==0;break;case 7:i=((r+n)%2+r*n%3)%2==0;break}i&&(e.modules[n][r]=!e.modules[n][r])}}function C(e){let t=e.size,n=0,r=e.modules;for(let e=0;e<t;e++){let i=!1,a=0;for(let o=0;o<t;o++)r[e][o]===i?(a++,a===5?n+=3:a>5&&n++):(i=r[e][o],a=1)}for(let e=0;e<t;e++){let i=!1,a=0;for(let o=0;o<t;o++)r[o][e]===i?(a++,a===5?n+=3:a>5&&n++):(i=r[o][e],a=1)}for(let e=0;e<t-1;e++)for(let i=0;i<t-1;i++){let t=r[e][i];t===r[e][i+1]&&t===r[e+1][i]&&t===r[e+1][i+1]&&(n+=3)}let i=0;for(let e=0;e<t;e++)for(let n=0;n<t;n++)r[e][n]&&i++;let a=t*t,o=Math.ceil(Math.abs(i*20-a*10)/a)-1;return n+=o*10,n}function w(e,r=`M`){let i=h(e).length,a=t;for(;a<=n&&!f(i,a,r);)a++;if(a>n)throw Error(`Data too long for a QR code`);let o=p(m(e,a,r),a,r),s=new g(a);v(s,a,r),x(s,o);let c=0,l=1/0;for(let e=0;e<8;e++){S(s,e),y(s,r,e,!1);let t=C(s);t<l&&(l=t,c=e),S(s,e)}return S(s,c),y(s,r,c,!1),s.modules}export{w as encode};
1
+ var e={L:{ordinal:0,formatBits:1},M:{ordinal:1,formatBits:0},Q:{ordinal:2,formatBits:3},H:{ordinal:3,formatBits:2}},t=1,n=40,r=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],i=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]];function getNumRawDataModules(e){let t=(16*e+128)*e+64;if(e>=2){let n=Math.floor(e/7)+2;t-=(25*n-10)*n-55,e>=7&&(t-=36)}return t}function getNumDataCodewords(t,n){let a=e[n].ordinal;return Math.floor(getNumRawDataModules(t)/8)-r[a][t]*i[a][t]}function reedSolomonMultiply(e,t){let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return n&255}function reedSolomonComputeDivisor(e){let t=Array.from({length:e}).fill(0);t[e-1]=1;let n=1;for(let r=0;r<e;r++){for(let e=0;e<t.length;e++)t[e]=reedSolomonMultiply(t[e],n),e+1<t.length&&(t[e]=t[e]^t[e+1]);n=reedSolomonMultiply(n,2)}return t}function reedSolomonComputeRemainder(e,t){let n=Array.from({length:t.length}).fill(0);for(let r of e){let e=r^n.shift();n.push(0);for(let r=0;r<n.length;r++)n[r]=n[r]^reedSolomonMultiply(t[r],e)}return n}function appendBits(e,t,n){for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function encodeByteSegment(e,t){let n=[];appendBits(4,4,n);let r=t<=9?8:16;appendBits(e.length,r,n);for(let t of e)appendBits(t,8,n);return n}function fitsVersion(e,t,n){return 4+(t<=9?8:16)+e*8<=getNumDataCodewords(t,n)*8}function addEccAndInterleave(t,n,a){let o=e[a].ordinal,s=i[o][n],c=r[o][n],l=Math.floor(getNumRawDataModules(n)/8),u=s-l%s,d=Math.floor(l/s),f=[],p=reedSolomonComputeDivisor(c),m=0;for(let e=0;e<s;e++){let n=d-c+(e<u?0:1),r=t.slice(m,m+n);m+=n;let i=reedSolomonComputeRemainder(r,p);e<u&&r.push(0),f.push(r.concat(i))}let h=[];for(let e=0;e<f[0].length;e++)for(let t=0;t<f.length;t++)(e!==d-c||t>=u)&&h.push(f[t][e]);return h}function buildDataCodewords(e,t,n){let r=encodeByteSegment(utf8Bytes(e),t),i=getNumDataCodewords(t,n)*8;appendBits(0,Math.min(4,i-r.length),r),appendBits(0,(8-r.length%8)%8,r);let a=[];for(let e=0;e<r.length;e+=8){let t=0;for(let n=0;n<8;n++)t=t<<1|r[e+n];a.push(t)}for(let e=236;a.length<i/8;e^=253)a.push(e);return a}function utf8Bytes(e){return typeof TextEncoder<`u`?Array.from(new TextEncoder().encode(e)):Array.from(unescape(encodeURIComponent(e)),e=>e.charCodeAt(0))}var QrMatrix=class{size;modules;isFunction;constructor(e){this.size=e*4+17,this.modules=Array.from({length:this.size},()=>Array.from({length:this.size}).fill(!1)),this.isFunction=Array.from({length:this.size},()=>Array.from({length:this.size}).fill(!1))}set(e,t,n,r){this.modules[t][e]=n,this.isFunction[t][e]=r}drawFinder(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=e+r,a=t+n;if(i<0||i>=this.size||a<0||a>=this.size)continue;let o=Math.max(Math.abs(r),Math.abs(n));this.set(i,a,o!==2&&o!==4,!0)}}drawAlignment(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.set(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!==1,!0)}isFn(e,t){return this.isFunction[t][e]}};function alignmentPositions(e){if(e===1)return[];let t=Math.floor(e/7)+2,n=Math.floor((e*8+t*3+5)/(t*4-4))*2,r=[6];for(let i=e*4+10;r.length<t;i-=n)r.splice(1,0,i);return r}function drawFunctionPatterns(e,t,n){let r=e.size;for(let t=0;t<r;t++)e.set(6,t,t%2==0,!0),e.set(t,6,t%2==0,!0);e.drawFinder(3,3),e.drawFinder(r-4,3),e.drawFinder(3,r-4);let i=alignmentPositions(t);for(let t=0;t<i.length;t++)for(let n=0;n<i.length;n++)t===0&&n===0||t===0&&n===i.length-1||t===i.length-1&&n===0||e.drawAlignment(i[t],i[n]);drawFormatBits(e,n,0,!0),drawVersion(e,t)}function drawFormatBits(t,n,r,i){let a=t.size,o=e[n].formatBits<<3|r,s=o;for(let e=0;e<10;e++)s=s<<1^(s>>>9)*1335;let c=(o<<10|s)^21522,get=e=>i?!1:(c>>>e&1)!=0;for(let e=0;e<=5;e++)t.set(8,e,get(e),!0);t.set(8,7,get(6),!0),t.set(8,8,get(7),!0),t.set(7,8,get(8),!0);for(let e=9;e<15;e++)t.set(14-e,8,get(e),!0);for(let e=0;e<8;e++)t.set(a-1-e,8,get(e),!0);for(let e=8;e<15;e++)t.set(8,a-15+e,get(e),!0);t.set(8,a-8,!0,!0)}function drawVersion(e,t){if(t<7)return;let n=t;for(let e=0;e<12;e++)n=n<<1^(n>>>11)*7973;let r=t<<12|n;for(let t=0;t<18;t++){let n=(r>>>t&1)!=0,i=e.size-11+t%3,a=Math.floor(t/3);e.set(i,a,n,!0),e.set(a,i,n,!0)}}function drawCodewords(e,t){let n=e.size,r=0;for(let i=n-1;i>=1;i-=2){let a=i===6?5:i;for(let i=0;i<n;i++)for(let o=0;o<2;o++){let s=a-o,c=a+1&2?i:n-1-i;if(!e.isFn(s,c)&&r<t.length*8){let n=(t[r>>>3]>>>7-(r&7)&1)!=0;e.set(s,c,n,!1),r++}}}}function applyMask(e,t){for(let n=0;n<e.size;n++)for(let r=0;r<e.size;r++){if(e.isFn(r,n))continue;let i=!1;switch(t){case 0:i=(r+n)%2==0;break;case 1:i=n%2==0;break;case 2:i=r%3==0;break;case 3:i=(r+n)%3==0;break;case 4:i=(Math.floor(r/3)+Math.floor(n/2))%2==0;break;case 5:i=r*n%2+r*n%3==0;break;case 6:i=(r*n%2+r*n%3)%2==0;break;case 7:i=((r+n)%2+r*n%3)%2==0;break}i&&(e.modules[n][r]=!e.modules[n][r])}}function penaltyScore(e){let t=e.size,n=0,r=e.modules;for(let e=0;e<t;e++){let i=!1,a=0;for(let o=0;o<t;o++)r[e][o]===i?(a++,a===5?n+=3:a>5&&n++):(i=r[e][o],a=1)}for(let e=0;e<t;e++){let i=!1,a=0;for(let o=0;o<t;o++)r[o][e]===i?(a++,a===5?n+=3:a>5&&n++):(i=r[o][e],a=1)}for(let e=0;e<t-1;e++)for(let i=0;i<t-1;i++){let t=r[e][i];t===r[e][i+1]&&t===r[e+1][i]&&t===r[e+1][i+1]&&(n+=3)}let i=0;for(let e=0;e<t;e++)for(let n=0;n<t;n++)r[e][n]&&i++;let a=t*t,o=Math.ceil(Math.abs(i*20-a*10)/a)-1;return n+=o*10,n}function encode(e,r=`M`){let i=utf8Bytes(e).length,a=t;for(;a<=n&&!fitsVersion(i,a,r);)a++;if(a>n)throw Error(`Data too long for a QR code`);let o=addEccAndInterleave(buildDataCodewords(e,a,r),a,r),s=new QrMatrix(a);drawFunctionPatterns(s,a,r),drawCodewords(s,o);let c=0,l=1/0;for(let e=0;e<8;e++){applyMask(s,e),drawFormatBits(s,r,e,!1);let t=penaltyScore(s);t<l&&(l=t,c=e),applyMask(s,e)}return applyMask(s,c),drawFormatBits(s,r,c,!1),s.modules}export{encode};
@@ -1 +1 @@
1
- "use client";import{encode as e}from"./encode.js";import t from"./qr-code.module.js";import{cn as n,useSignals as r}from"@cascivo/core";import{builtin as i,t as a}from"@cascivo/i18n";import{jsx as o,jsxs as s}from"react/jsx-runtime";var c=4;function l({value:l,size:u=128,errorCorrection:d=`M`,radius:f,fill:p=`currentColor`,background:m=`transparent`,label:h,ariaLabel:g,className:_,style:v,...y}){if(r(),!l)return null;let b=e(l,d),x=b.length+c*2,S=``;for(let e=0;e<b.length;e++)for(let t=0;t<b.length;t++)b[e][t]&&(S+=`M${t+c},${e+c}h1v1h-1z`);return o(`div`,{className:n(t.qrCode,_),style:{inlineSize:u,blockSize:u,borderRadius:f,...v},...y,children:s(`svg`,{className:t.svg,role:`img`,"aria-label":g??h??a(i.qrCode.label),viewBox:`0 0 ${x} ${x}`,shapeRendering:`crispEdges`,children:[o(`rect`,{width:x,height:x,fill:m}),o(`path`,{d:S,fill:p})]})})}export{l as QrCode};
1
+ "use client";import{encode as e}from"./encode.js";import t from"./qr-code.module.js";import{cn as n,useSignals as r}from"@cascivo/core";import{builtin as i,t as a}from"@cascivo/i18n";import{jsx as o,jsxs as s}from"react/jsx-runtime";var c=4;function QrCode({value:l,size:u=128,errorCorrection:d=`M`,radius:f,fill:p=`currentColor`,background:m=`transparent`,label:h,ariaLabel:g,className:_,style:v,...y}){if(r(),!l)return null;let b=e(l,d),x=b.length+c*2,S=``;for(let e=0;e<b.length;e++)for(let t=0;t<b.length;t++)b[e][t]&&(S+=`M${t+c},${e+c}h1v1h-1z`);return o(`div`,{className:n(t.qrCode,_),style:{inlineSize:u,blockSize:u,borderRadius:f,...v},...y,children:s(`svg`,{className:t.svg,role:`img`,"aria-label":g??h??a(i.qrCode.label),viewBox:`0 0 ${x} ${x}`,shapeRendering:`crispEdges`,children:[o(`rect`,{width:x,height:x,fill:m}),o(`path`,{d:S,fill:p})]})})}export{QrCode};
@@ -1 +1 @@
1
- import e from"./radial-progress.module.js";import{useId as t}from"react";import{jsx as n}from"react/jsx-runtime";function r({value:r,size:i=`md`,variant:a=`primary`,children:o,className:s,ariaLabel:c,label:l,...u}){let d=Math.min(100,Math.max(0,r)),f=t(),p=c??l;return n(`div`,{role:`progressbar`,"aria-valuenow":d,"aria-valuemin":0,"aria-valuemax":100,"aria-labelledby":p??u[`aria-label`]?void 0:f,className:[e.radialProgress,s].filter(Boolean).join(` `),"data-size":i,"data-variant":a,style:{"--cascivo-radial-progress":d},...u,...p===void 0?{}:{"aria-label":p},children:n(`span`,{id:f,className:e.label,children:o??`${d}%`})})}export{r as RadialProgress};
1
+ import e from"./radial-progress.module.js";import{useId as t}from"react";import{jsx as n}from"react/jsx-runtime";function RadialProgress({value:r,size:i=`md`,variant:a=`primary`,children:o,className:s,ariaLabel:c,label:l,...u}){let d=Math.min(100,Math.max(0,r)),f=t(),p=c??l;return n(`div`,{role:`progressbar`,"aria-valuenow":d,"aria-valuemin":0,"aria-valuemax":100,"aria-labelledby":p??u[`aria-label`]?void 0:f,className:[e.radialProgress,s].filter(Boolean).join(` `),"data-size":i,"data-variant":a,style:{"--cascivo-radial-progress":d},...u,...p===void 0?{}:{"aria-label":p},children:n(`span`,{id:f,className:e.label,children:o??`${d}%`})})}export{RadialProgress};
@@ -1 +1 @@
1
- import e from"./radio.module.js";import{cn as t}from"@cascivo/core/pure";import{Children as n,cloneElement as r,forwardRef as i,isValidElement as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";var c=i(function({label:n,ariaLabel:r,className:i,id:a,disabled:c,value:l,...u},d){let f=a??(n?`cascade-radio-${l}`:void 0);return s(`label`,{className:t(e.wrapper,i),"data-disabled":c||void 0,children:[o(`input`,{id:f,type:`radio`,value:l,className:e.input,disabled:c,ref:d,...u,"aria-label":u[`aria-label`]??r}),o(`span`,{className:e.control,"aria-hidden":`true`}),n&&o(`span`,{className:e.label,children:n})]})});function l({name:i,value:s,defaultValue:c,onChange:l,orientation:u=`vertical`,className:d,children:f}){let p=s!==void 0;return o(`div`,{role:`radiogroup`,"data-orientation":u,className:t(e.group,d),children:n.map(f,e=>{if(!a(e))return e;let t=e,n=t.props.value,o={name:i};return p?o.checked=n===s:c!==void 0&&(o.defaultChecked=n===c),l&&(o.onChange=e=>{e.target.checked&&l(n)}),r(t,o)})})}export{c as Radio,l as RadioGroup};
1
+ import e from"./radio.module.js";import{cn as t}from"@cascivo/core/pure";import{Children as n,cloneElement as r,forwardRef as i,isValidElement as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";var c=i(function({label:n,ariaLabel:r,className:i,id:a,disabled:c,value:l,...u},d){let f=a??(n?`cascade-radio-${l}`:void 0);return s(`label`,{className:t(e.wrapper,i),"data-disabled":c||void 0,children:[o(`input`,{id:f,type:`radio`,value:l,className:e.input,disabled:c,ref:d,...u,"aria-label":u[`aria-label`]??r}),o(`span`,{className:e.control,"aria-hidden":`true`}),n&&o(`span`,{className:e.label,children:n})]})});function RadioGroup({name:i,value:s,defaultValue:c,onChange:l,orientation:u=`vertical`,className:d,children:f}){let p=s!==void 0;return o(`div`,{role:`radiogroup`,"data-orientation":u,className:t(e.group,d),children:n.map(f,e=>{if(!a(e))return e;let t=e,n=t.props.value,o={name:i};return p?o.checked=n===s:c!==void 0&&(o.defaultChecked=n===c),l&&(o.onChange=e=>{e.target.checked&&l(n)}),r(t,o)})})}export{c as Radio,RadioGroup};
@@ -1 +1 @@
1
- "use client";import e from"./radio-card.module.js";import{createContext as t,forwardRef as n}from"react";import{cn as r}from"@cascivo/core";import{jsx as i,jsxs as a}from"react/jsx-runtime";var o=t({name:``});function s({name:t,label:n,value:a,defaultValue:s,onValueChange:c,children:l,className:u}){return i(o.Provider,{value:{name:t,value:a,defaultValue:s,onValueChange:c},children:i(`div`,{role:`radiogroup`,"aria-label":n,className:r(e.group,u),children:l})})}var c=n(function({value:t,title:n,description:r,disabled:s,hideIndicator:c,...l},u){return i(o.Consumer,{children:o=>a(`label`,{className:e.card,"data-disabled":s||void 0,children:[i(`input`,{type:`radio`,className:e.input,name:o.name,value:t,disabled:s,...o.value===void 0?{defaultChecked:o.defaultValue===t,onChange:()=>o.onValueChange?.(t)}:{checked:o.value===t,onChange:()=>o.onValueChange?.(t)},ref:u,...l}),!c&&i(`span`,{className:e.glyph,"aria-hidden":`true`}),a(`span`,{className:e.body,children:[i(`span`,{className:e.title,children:n}),r&&i(`span`,{className:e.description,children:r})]})]})})});export{c as RadioCard,s as RadioCardGroup};
1
+ "use client";import e from"./radio-card.module.js";import{createContext as t,forwardRef as n}from"react";import{cn as r}from"@cascivo/core";import{jsx as i,jsxs as a}from"react/jsx-runtime";var o=t({name:``});function RadioCardGroup({name:t,label:n,value:a,defaultValue:s,onValueChange:c,children:l,className:u}){return i(o.Provider,{value:{name:t,value:a,defaultValue:s,onValueChange:c},children:i(`div`,{role:`radiogroup`,"aria-label":n,className:r(e.group,u),children:l})})}var s=n(function({value:t,title:n,description:r,disabled:s,hideIndicator:c,...l},u){return i(o.Consumer,{children:o=>a(`label`,{className:e.card,"data-disabled":s||void 0,children:[i(`input`,{type:`radio`,className:e.input,name:o.name,value:t,disabled:s,...o.value===void 0?{defaultChecked:o.defaultValue===t,onChange:()=>o.onValueChange?.(t)}:{checked:o.value===t,onChange:()=>o.onValueChange?.(t)},ref:u,...l}),!c&&i(`span`,{className:e.glyph,"aria-hidden":`true`}),a(`span`,{className:e.body,children:[i(`span`,{className:e.title,children:n}),r&&i(`span`,{className:e.description,children:r})]})]})})});export{s as RadioCard,RadioCardGroup};
@@ -1 +1 @@
1
- "use client";import e from"./rating-group.module.js";import{cn as t}from"@cascivo/core";import{jsx as n}from"react/jsx-runtime";function r(e,t){return`${e} of ${t} stars`}function i({value:i,onValueChange:a,max:o=5,size:s=`md`,disabled:c=!1,readOnly:l=!1,labels:u,className:d,...f}){let p=u?.rating??r,m=!c&&!l&&a!==void 0;return n(`div`,{className:t(e.wrapper,d),"data-size":s,role:`radiogroup`,...f,children:Array.from({length:o},(t,r)=>{let s=r+1,l=s<=i;return n(`button`,{type:`button`,role:`radio`,"aria-checked":s===i,"aria-label":p(s,o),className:e.star,"data-filled":l?``:void 0,"data-value":s,disabled:c,tabIndex:m?0:-1,onClick:()=>{m&&a(s)}},s)})})}export{i as RatingGroup};
1
+ "use client";import e from"./rating-group.module.js";import{cn as t}from"@cascivo/core";import{jsx as n}from"react/jsx-runtime";function defaultRatingLabel(e,t){return`${e} of ${t} stars`}function RatingGroup({value:r,onValueChange:i,max:a=5,size:o=`md`,disabled:s=!1,readOnly:c=!1,labels:l,className:u,...d}){let f=l?.rating??defaultRatingLabel,p=!s&&!c&&i!==void 0;return n(`div`,{className:t(e.wrapper,u),"data-size":o,role:`radiogroup`,...d,children:Array.from({length:a},(t,o)=>{let c=o+1,l=c<=r;return n(`button`,{type:`button`,role:`radio`,"aria-checked":c===r,"aria-label":f(c,a),className:e.star,"data-filled":l?``:void 0,"data-value":c,disabled:s,tabIndex:p?0:-1,onClick:()=>{p&&i(c)}},c)})})}export{RatingGroup};
@@ -1 +1 @@
1
- import{Spinner as ee}from"../../spinner/spinner.js";import{Button as te}from"../../button/button.js";import{Input as e}from"../../input/input.js";import{Card as t,CardContent as n,CardFooter as r,CardHeader as i,CardTitle as a}from"../../card/card.js";import{Badge as o}from"../../badge/badge.js";import{Modal as s}from"../../modal/modal.js";import{Separator as c}from"../../separator/separator.js";import{Logo as l}from"../../brand/logo/logo.js";import{Alert as u}from"../../alert/alert.js";import{Avatar as d}from"../../avatar/avatar.js";import{AvatarGroup as f}from"../../avatar-group/avatar-group.js";import{User as p}from"../../user/user.js";import{Image as m}from"../../image/image.js";import{Textarea as h}from"../../textarea/textarea.js";import{Select as g}from"../../select/select.js";import{Checkbox as _}from"../../checkbox/checkbox.js";import{Radio as v,RadioGroup as y}from"../../radio/radio.js";import{Toggle as b}from"../../toggle/toggle.js";import{Slider as x}from"../../slider/slider.js";import{Tooltip as S}from"../../tooltip/tooltip.js";import{Dropdown as C}from"../../dropdown/dropdown.js";import{ToastProvider as w,dismissAllToasts as T,useToast as E}from"../../toast/toast.js";import{Tabs as D,TabsContent as O,TabsList as k,TabsTrigger as A}from"../../tabs/tabs.js";import{Accordion as j,AccordionContent as M,AccordionItem as N,AccordionTrigger as P}from"../../accordion/accordion.js";import{ActionSheet as F}from"../../action-sheet/action-sheet.js";import{Kbd as I}from"../../kbd/kbd.js";import{Link as L}from"../../link/link.js";import{Breadcrumb as R}from"../../breadcrumb/breadcrumb.js";import{Toc as z}from"../../toc/toc.js";import{useTocFromRegion as B}from"../../toc/use-toc-from-region.js";import{Header as V}from"../../header/header.js";import{usePopover as H}from"../../popover/use-popover.js";import{SideNav as U}from"../../side-nav/side-nav.js";import{Pagination as W}from"../../pagination/pagination.js";import{ProgressIndicator as G}from"../../progress-indicator/progress-indicator.js";import{Tag as K}from"../../tag/tag.js";import{Skeleton as q}from"../../skeleton/skeleton.js";import{ProgressBar as J}from"../../progress-bar/progress-bar.js";import{EmptyState as Y}from"../../empty-state/empty-state.js";import{Fab as X}from"../../fab/fab.js";import{OverflowMenu as Z}from"../../overflow-menu/overflow-menu.js";import{Search as Q}from"../../search/search.js";import{NumberInput as ne}from"../../number-input/number-input.js";import{Editable as re}from"../../editable/editable.js";import{Popover as ie,PopoverContent as ae,PopoverTrigger as oe}from"../../popover/popover.js";import{DataTable as se}from"../../data-table/data-table.js";import{CommandMenu as ce,fuzzyMatch as le,fuzzyScore as ue}from"../../command-menu/command-menu.js";import{Form as de,createForm as fe,useForm as pe}from"../../form/form.js";import{Combobox as me}from"../../combobox/combobox.js";import{Calendar as he}from"../../calendar/calendar.js";import{DatePicker as ge}from"../../date-picker/date-picker.js";import{FileUploader as _e}from"../../file-uploader/file-uploader.js";import{TimePicker as ve}from"../../time-picker/time-picker.js";import{Menu as ye,MenuItem as be,MenuSeparator as xe,MenuTrigger as Se}from"../../menu/menu.js";import{AlertDialog as Ce}from"../../alert-dialog/alert-dialog.js";import{Sheet as we}from"../../sheet/sheet.js";import{BottomSheet as Te}from"../../bottom-sheet/bottom-sheet.js";import{ContextMenu as Ee,ContextMenuItem as De}from"../../context-menu/context-menu.js";import{Comparison as Oe}from"../../comparison/comparison.js";import{HoverCard as ke,HoverCardContent as Ae,HoverCardTrigger as je}from"../../hover-card/hover-card.js";import{PasswordInput as Me}from"../../password-input/password-input.js";import{MultiSelect as Ne}from"../../multi-select/multi-select.js";import{TagsInput as Pe}from"../../tags-input/tags-input.js";import{OtpInput as Fe}from"../../otp-input/otp-input.js";import{SegmentedControl as Ie}from"../../segmented-control/segmented-control.js";import{InputGroup as Le,InputGroupAddon as Re}from"../../input-group/input-group.js";import{RatingGroup as ze}from"../../rating-group/rating-group.js";import{RadioCard as Be,RadioCardGroup as Ve}from"../../radio-card/radio-card.js";import{ShellHeader as He}from"../../shell-header/shell-header.js";import{HeaderPanel as Ue}from"../../header-panel/header-panel.js";import{Switcher as We}from"../../switcher/switcher.js";import{CheckboxCard as Ge}from"../../checkbox-card/checkbox-card.js";import{CopyButton as Ke}from"../../copy-button/copy-button.js";import{Stat as qe}from"../../stat/stat.js";import{Status as Je}from"../../status/status.js";import"../../visually-hidden/visually-hidden.js";import{SkipNavLink as Ye,SkipNavTarget as Xe}from"../../skip-nav/skip-nav.js";import{Progress as Ze}from"../../progress/progress.js";import{ProgressCircle as Qe}from"../../progress-circle/progress-circle.js";import{Heading as $e}from"../../heading/heading.js";import{Text as et}from"../../text/text.js";import{Code as tt}from"../../code/code.js";import{Blockquote as nt}from"../../blockquote/blockquote.js";import{List as rt,ListItem as it}from"../../list/list.js";import{LogViewer as at}from"../../log-viewer/log-viewer.js";import{Prose as ot}from"../../prose/prose.js";import{PullToRefresh as st}from"../../pull-to-refresh/pull-to-refresh.js";import{QrCode as ct}from"../../qr-code/qr-code.js";import{RelativeTime as lt}from"../../relative-time/relative-time.js";import{Label as ut}from"../../label/label.js";import{Field as dt}from"../../field/field.js";import{Filter as ft}from"../../filter/filter.js";import{IconButton as $}from"../../icon-button/icon-button.js";import{ButtonGroup as pt}from"../../button-group/button-group.js";import{ToggleGroup as mt}from"../../toggle-group/toggle-group.js";import{InlineLoading as ht}from"../../inline-loading/inline-loading.js";import{Notification as gt}from"../../notification/notification.js";import{ScrollArea as _t}from"../../scroll-area/scroll-area.js";import{Collapsible as vt}from"../../collapsible/collapsible.js";import{AspectRatio as yt}from"../../aspect-ratio/aspect-ratio.js";import{MenuButton as bt}from"../../menu-button/menu-button.js";import{Toggletip as xt}from"../../toggletip/toggletip.js";import{Menubar as St}from"../../menubar/menubar.js";import{NavigationMenu as Ct}from"../../navigation-menu/navigation-menu.js";import{TreeView as wt,treeViewMessages as Tt}from"../../tree-view/tree-view.js";import{StructuredList as Et}from"../../structured-list/structured-list.js";import{ContainedList as Dt,ContainedListItem as Ot}from"../../contained-list/contained-list.js";import{DataList as kt}from"../../data-list/data-list.js";import{Timeline as At}from"../../timeline/timeline.js";import{Item as jt,ItemActions as Mt,ItemContent as Nt,ItemDescription as Pt,ItemMedia as Ft,ItemTitle as It}from"../../item/item.js";import{DateRangePicker as Lt}from"../../date-range-picker/date-range-picker.js";import{ColorPicker as Rt}from"../../color-picker/color-picker.js";import{Carousel as zt}from"../../carousel/carousel.js";import{Resizable as Bt}from"../../resizable/resizable.js";import{Dock as Vt}from"../../dock/dock.js";import{LargeTitleHeader as Ht}from"../../large-title-header/large-title-header.js";import{InfiniteScroll as Ut}from"../../infinite-scroll/infinite-scroll.js";import{ReorderList as Wt}from"../../reorder-list/reorder-list.js";import{VirtualList as Gt}from"../../virtual-list/virtual-list.js";import{WheelPicker as Kt}from"../../wheel-picker/wheel-picker.js";import{Drawer as qt}from"../../drawer/drawer.js";import{NativeSelect as Jt}from"../../native-select/native-select.js";import{CodeSnippet as Yt}from"../../code-snippet/code-snippet.js";import{Steps as Xt}from"../../steps/steps.js";import{Tile as Zt}from"../../tile/tile.js";import{Indicator as Qt}from"../../indicator/indicator.js";import{Join as $t}from"../../join/join.js";import{Stack as en}from"../../stack/stack.js";import{AppShell as tn}from"../../app-shell/app-shell.js";import{ChatBubble as nn}from"../../chat-bubble/chat-bubble.js";import{RadialProgress as rn}from"../../radial-progress/radial-progress.js";import{Swap as an}from"../../swap/swap.js";import{SwipeItem as on}from"../../swipe-item/swipe-item.js";import{Grid as sn,GridItem as cn}from"../../layouts/src/grid/grid.js";import{Flex as ln}from"../../layouts/src/flex/flex.js";import{Columns as un}from"../../layouts/src/columns/columns.js";import{Center as dn}from"../../layouts/src/center/center.js";import{Spacer as fn}from"../../layouts/src/spacer/spacer.js";import{AutoGrid as pn}from"../../layouts/src/auto-grid/auto-grid.js";import{PageHeader as mn}from"../../layouts/src/page-header/page-header.js";import{DismissableLayer as hn,ErrorBoundary as gn,FocusScope as _n,Portal as vn,Presence as yn,Slot as bn,SuspenseBoundary as xn,ThemeProvider as Sn,VisuallyHidden as Cn,applyTheme as wn,batch as Tn,cn as En,composeRefs as Dn,computePosition as On,computed as kn,createMachine as An,createScope as jn,createStreamBuffer as Mn,effect as Nn,getLinkComponent as Pn,mergeProps as Fn,setLinkComponent as In,setTheme as Ln,signal as Rn,themePreloadScript as zn,themeSignal as Bn,useAnchorPosition as Vn,useClipboard as Hn,useComputed as Un,useControllableSignal as Wn,useDisclosure as Gn,useEffectPropSignal as Kn,useId as qn,useMachine as Jn,useMediaQuery as Yn,useRovingFocus as Xn,useScope as Zn,useScrollLock as Qn,useSignal as $n,useSignalEffect as er,useSignals as tr,useStreamBuffer as nr,useTheme as rr,useTypeahead as ir}from"@cascivo/core";export{j as Accordion,M as AccordionContent,N as AccordionItem,P as AccordionTrigger,F as ActionSheet,u as Alert,Ce as AlertDialog,tn as AppShell,yt as AspectRatio,pn as AutoGrid,d as Avatar,f as AvatarGroup,o as Badge,nt as Blockquote,Te as BottomSheet,R as Breadcrumb,te as Button,pt as ButtonGroup,he as Calendar,t as Card,n as CardContent,r as CardFooter,i as CardHeader,a as CardTitle,zt as Carousel,dn as Center,nn as ChatBubble,_ as Checkbox,Ge as CheckboxCard,tt as Code,Yt as CodeSnippet,vt as Collapsible,Rt as ColorPicker,un as Columns,me as Combobox,ce as CommandMenu,Oe as Comparison,Dt as ContainedList,Ot as ContainedListItem,Ee as ContextMenu,De as ContextMenuItem,Ke as CopyButton,kt as DataList,se as DataTable,ge as DatePicker,Lt as DateRangePicker,hn as DismissableLayer,Vt as Dock,qt as Drawer,C as Dropdown,re as Editable,Y as EmptyState,gn as ErrorBoundary,X as Fab,dt as Field,_e as FileUploader,ft as Filter,ln as Flex,_n as FocusScope,de as Form,sn as Grid,cn as GridItem,V as Header,Ue as HeaderPanel,$e as Heading,ke as HoverCard,Ae as HoverCardContent,je as HoverCardTrigger,$ as IconButton,m as Image,Qt as Indicator,Ut as InfiniteScroll,ht as InlineLoading,e as Input,Le as InputGroup,Re as InputGroupAddon,jt as Item,Mt as ItemActions,Nt as ItemContent,Pt as ItemDescription,Ft as ItemMedia,It as ItemTitle,$t as Join,I as Kbd,ut as Label,Ht as LargeTitleHeader,L as Link,rt as List,it as ListItem,at as LogViewer,l as Logo,ye as Menu,bt as MenuButton,be as MenuItem,xe as MenuSeparator,Se as MenuTrigger,St as Menubar,s as Modal,Ne as MultiSelect,Jt as NativeSelect,Ct as NavigationMenu,gt as Notification,ne as NumberInput,Fe as OtpInput,Z as OverflowMenu,mn as PageHeader,W as Pagination,Me as PasswordInput,ie as Popover,ae as PopoverContent,oe as PopoverTrigger,vn as Portal,yn as Presence,Ze as Progress,J as ProgressBar,Qe as ProgressCircle,G as ProgressIndicator,ot as Prose,st as PullToRefresh,ct as QrCode,rn as RadialProgress,v as Radio,Be as RadioCard,Ve as RadioCardGroup,y as RadioGroup,ze as RatingGroup,lt as RelativeTime,Wt as ReorderList,Bt as Resizable,_t as ScrollArea,Q as Search,Ie as SegmentedControl,g as Select,c as Separator,we as Sheet,He as ShellHeader,U as SideNav,q as Skeleton,Ye as SkipNavLink,Xe as SkipNavTarget,x as Slider,bn as Slot,fn as Spacer,ee as Spinner,en as Stack,qe as Stat,Je as Status,Xt as Steps,Et as StructuredList,xn as SuspenseBoundary,an as Swap,on as SwipeItem,b as Switch,We as Switcher,D as Tabs,O as TabsContent,k as TabsList,A as TabsTrigger,K as Tag,Pe as TagsInput,et as Text,h as Textarea,Sn as ThemeProvider,Zt as Tile,ve as TimePicker,At as Timeline,w as ToastProvider,z as Toc,b as Toggle,mt as ToggleGroup,xt as Toggletip,S as Tooltip,wt as TreeView,p as User,Gt as VirtualList,Cn as VisuallyHidden,Kt as WheelPicker,wn as applyTheme,Tn as batch,En as cn,Dn as composeRefs,On as computePosition,kn as computed,fe as createForm,An as createMachine,jn as createScope,Mn as createStreamBuffer,T as dismissAllToasts,Nn as effect,le as fuzzyMatch,ue as fuzzyScore,Pn as getLinkComponent,Fn as mergeProps,In as setLinkComponent,Ln as setTheme,Rn as signal,zn as themePreloadScript,Bn as themeSignal,Tt as treeViewMessages,Vn as useAnchorPosition,Hn as useClipboard,Un as useComputed,Wn as useControllableSignal,Gn as useDisclosure,Kn as useEffectPropSignal,pe as useForm,qn as useId,Jn as useMachine,Yn as useMediaQuery,H as usePopover,Xn as useRovingFocus,Zn as useScope,Qn as useScrollLock,$n as useSignal,er as useSignalEffect,tr as useSignals,nr as useStreamBuffer,rr as useTheme,E as useToast,B as useTocFromRegion,ir as useTypeahead};
1
+ import{Spinner as ee}from"../../spinner/spinner.js";import{Button as te}from"../../button/button.js";import{Input as e}from"../../input/input.js";import{Card as t,CardContent as n,CardFooter as r,CardHeader as i,CardTitle as a}from"../../card/card.js";import{Badge as o}from"../../badge/badge.js";import{Modal as s}from"../../modal/modal.js";import{Separator as c}from"../../separator/separator.js";import{Logo as l}from"../../brand/logo/logo.js";import{Alert as u}from"../../alert/alert.js";import{Avatar as d}from"../../avatar/avatar.js";import{AvatarGroup as f}from"../../avatar-group/avatar-group.js";import{User as p}from"../../user/user.js";import{Image as m}from"../../image/image.js";import{Textarea as h}from"../../textarea/textarea.js";import{Select as g}from"../../select/select.js";import{Checkbox as _}from"../../checkbox/checkbox.js";import{Radio as v,RadioGroup as y}from"../../radio/radio.js";import{Toggle as b}from"../../toggle/toggle.js";import{Slider as x}from"../../slider/slider.js";import{Tooltip as S}from"../../tooltip/tooltip.js";import{Dropdown as C}from"../../dropdown/dropdown.js";import{ToastProvider as w,dismissAllToasts as T,useToast as E}from"../../toast/toast.js";import{Tabs as D,TabsContent as O,TabsList as k,TabsTrigger as A}from"../../tabs/tabs.js";import{Accordion as j,AccordionContent as M,AccordionItem as N,AccordionTrigger as P}from"../../accordion/accordion.js";import{ActionSheet as F}from"../../action-sheet/action-sheet.js";import{Kbd as I}from"../../kbd/kbd.js";import{Link as L}from"../../link/link.js";import{Breadcrumb as R}from"../../breadcrumb/breadcrumb.js";import{Toc as z}from"../../toc/toc.js";import{useTocFromRegion as B}from"../../toc/use-toc-from-region.js";import{Header as V}from"../../header/header.js";import{usePopover as H}from"../../popover/use-popover.js";import{SideNav as U}from"../../side-nav/side-nav.js";import{Pagination as W}from"../../pagination/pagination.js";import{ProgressIndicator as G}from"../../progress-indicator/progress-indicator.js";import{Tag as K}from"../../tag/tag.js";import{Skeleton as q}from"../../skeleton/skeleton.js";import{ProgressBar as J}from"../../progress-bar/progress-bar.js";import{EmptyState as Y}from"../../empty-state/empty-state.js";import{Fab as X}from"../../fab/fab.js";import{OverflowMenu as Z}from"../../overflow-menu/overflow-menu.js";import{Search as Q}from"../../search/search.js";import{NumberInput as ne}from"../../number-input/number-input.js";import{Editable as re}from"../../editable/editable.js";import{Popover as ie,PopoverContent as ae,PopoverTrigger as oe}from"../../popover/popover.js";import{DataTable as se}from"../../data-table/data-table.js";import{CommandMenu as ce,fuzzyMatch as le,fuzzyScore as ue}from"../../command-menu/command-menu.js";import{Form as de,createForm as fe,useForm as pe}from"../../form/form.js";import{Combobox as me}from"../../combobox/combobox.js";import{Calendar as he}from"../../calendar/calendar.js";import{DatePicker as ge}from"../../date-picker/date-picker.js";import{FileUploader as _e}from"../../file-uploader/file-uploader.js";import{TimePicker as ve}from"../../time-picker/time-picker.js";import{Menu as ye,MenuItem as be,MenuSeparator as xe,MenuTrigger as Se}from"../../menu/menu.js";import{AlertDialog as Ce}from"../../alert-dialog/alert-dialog.js";import{Sheet as we}from"../../sheet/sheet.js";import{BottomSheet as Te}from"../../bottom-sheet/bottom-sheet.js";import{ContextMenu as Ee,ContextMenuItem as De}from"../../context-menu/context-menu.js";import{Comparison as Oe}from"../../comparison/comparison.js";import{HoverCard as ke,HoverCardContent as Ae,HoverCardTrigger as je}from"../../hover-card/hover-card.js";import{PasswordInput as Me}from"../../password-input/password-input.js";import{MultiSelect as Ne}from"../../multi-select/multi-select.js";import{TagsInput as Pe}from"../../tags-input/tags-input.js";import{OtpInput as Fe}from"../../otp-input/otp-input.js";import{SegmentedControl as Ie}from"../../segmented-control/segmented-control.js";import{InputGroup as Le,InputGroupAddon as Re}from"../../input-group/input-group.js";import{RatingGroup as ze}from"../../rating-group/rating-group.js";import{RadioCard as Be,RadioCardGroup as Ve}from"../../radio-card/radio-card.js";import{ShellHeader as He}from"../../shell-header/shell-header.js";import{HeaderPanel as Ue}from"../../header-panel/header-panel.js";import{Switcher as We}from"../../switcher/switcher.js";import{CheckboxCard as Ge}from"../../checkbox-card/checkbox-card.js";import{CopyButton as Ke}from"../../copy-button/copy-button.js";import{Stat as qe}from"../../stat/stat.js";import{Status as Je}from"../../status/status.js";import"../../visually-hidden/visually-hidden.js";import{SkipNavLink as Ye,SkipNavTarget as Xe}from"../../skip-nav/skip-nav.js";import{Progress as Ze}from"../../progress/progress.js";import{ProgressCircle as Qe}from"../../progress-circle/progress-circle.js";import{Heading as $e}from"../../heading/heading.js";import{Text as et}from"../../text/text.js";import{Code as tt}from"../../code/code.js";import{Blockquote as nt}from"../../blockquote/blockquote.js";import{List as rt,ListItem as it}from"../../list/list.js";import{LogViewer as at}from"../../log-viewer/log-viewer.js";import{Prose as ot}from"../../prose/prose.js";import{PullToRefresh as st}from"../../pull-to-refresh/pull-to-refresh.js";import{QrCode as ct}from"../../qr-code/qr-code.js";import{RelativeTime as lt}from"../../relative-time/relative-time.js";import{Label as ut}from"../../label/label.js";import{Field as dt}from"../../field/field.js";import{Filter as ft}from"../../filter/filter.js";import{IconButton as $}from"../../icon-button/icon-button.js";import{ButtonGroup as pt}from"../../button-group/button-group.js";import{ToggleGroup as mt}from"../../toggle-group/toggle-group.js";import{InlineLoading as ht}from"../../inline-loading/inline-loading.js";import{Notification as gt}from"../../notification/notification.js";import{ScrollArea as _t}from"../../scroll-area/scroll-area.js";import{Collapsible as vt}from"../../collapsible/collapsible.js";import{AspectRatio as yt}from"../../aspect-ratio/aspect-ratio.js";import{MenuButton as bt}from"../../menu-button/menu-button.js";import{Toggletip as xt}from"../../toggletip/toggletip.js";import{Menubar as St}from"../../menubar/menubar.js";import{NavigationMenu as Ct}from"../../navigation-menu/navigation-menu.js";import{TreeView as wt,treeViewMessages as Tt}from"../../tree-view/tree-view.js";import{StructuredList as Et}from"../../structured-list/structured-list.js";import{ContainedList as Dt,ContainedListItem as Ot}from"../../contained-list/contained-list.js";import{DataList as kt,DataListItem as At}from"../../data-list/data-list.js";import{Timeline as jt}from"../../timeline/timeline.js";import{Item as Mt,ItemActions as Nt,ItemContent as Pt,ItemDescription as Ft,ItemMedia as It,ItemTitle as Lt}from"../../item/item.js";import{DateRangePicker as Rt}from"../../date-range-picker/date-range-picker.js";import{ColorPicker as zt}from"../../color-picker/color-picker.js";import{Carousel as Bt}from"../../carousel/carousel.js";import{Resizable as Vt}from"../../resizable/resizable.js";import{Dock as Ht}from"../../dock/dock.js";import{LargeTitleHeader as Ut}from"../../large-title-header/large-title-header.js";import{InfiniteScroll as Wt}from"../../infinite-scroll/infinite-scroll.js";import{ReorderList as Gt}from"../../reorder-list/reorder-list.js";import{VirtualList as Kt}from"../../virtual-list/virtual-list.js";import{WheelPicker as qt}from"../../wheel-picker/wheel-picker.js";import{Drawer as Jt}from"../../drawer/drawer.js";import{NativeSelect as Yt}from"../../native-select/native-select.js";import{CodeSnippet as Xt}from"../../code-snippet/code-snippet.js";import{Steps as Zt}from"../../steps/steps.js";import{Tile as Qt}from"../../tile/tile.js";import{Indicator as $t}from"../../indicator/indicator.js";import{Join as en}from"../../join/join.js";import{Stack as tn}from"../../stack/stack.js";import{AppShell as nn}from"../../app-shell/app-shell.js";import{ChatBubble as rn}from"../../chat-bubble/chat-bubble.js";import{RadialProgress as an}from"../../radial-progress/radial-progress.js";import{Swap as on}from"../../swap/swap.js";import{SwipeItem as sn}from"../../swipe-item/swipe-item.js";import{Grid as cn,GridItem as ln}from"../../layouts/src/grid/grid.js";import{Flex as un,FlexItem as dn}from"../../layouts/src/flex/flex.js";import{Columns as fn}from"../../layouts/src/columns/columns.js";import{Center as pn}from"../../layouts/src/center/center.js";import{Spacer as mn}from"../../layouts/src/spacer/spacer.js";import{AutoGrid as hn}from"../../layouts/src/auto-grid/auto-grid.js";import{PageHeader as gn}from"../../layouts/src/page-header/page-header.js";import{DismissableLayer as _n,ErrorBoundary as vn,FocusScope as yn,Portal as bn,Presence as xn,Slot as Sn,SuspenseBoundary as Cn,ThemeProvider as wn,VisuallyHidden as Tn,applyTheme as En,batch as Dn,cn as On,composeRefs as kn,computePosition as An,computed as jn,createMachine as Mn,createScope as Nn,createStreamBuffer as Pn,effect as Fn,getLinkComponent as In,mergeProps as Ln,setLinkComponent as Rn,setTheme as zn,signal as Bn,themePreloadScript as Vn,themeSignal as Hn,useAnchorPosition as Un,useClipboard as Wn,useComputed as Gn,useControllableSignal as Kn,useDisclosure as qn,useEffectPropSignal as Jn,useId as Yn,useMachine as Xn,useMediaQuery as Zn,useRovingFocus as Qn,useScope as $n,useScrollLock as er,useSignal as tr,useSignalEffect as nr,useSignals as rr,useStreamBuffer as ir,useTheme as ar,useTypeahead as or}from"@cascivo/core";export{j as Accordion,M as AccordionContent,N as AccordionItem,P as AccordionTrigger,F as ActionSheet,u as Alert,Ce as AlertDialog,nn as AppShell,yt as AspectRatio,hn as AutoGrid,d as Avatar,f as AvatarGroup,o as Badge,nt as Blockquote,Te as BottomSheet,R as Breadcrumb,te as Button,pt as ButtonGroup,he as Calendar,t as Card,n as CardContent,r as CardFooter,i as CardHeader,a as CardTitle,Bt as Carousel,pn as Center,rn as ChatBubble,_ as Checkbox,Ge as CheckboxCard,tt as Code,Xt as CodeSnippet,vt as Collapsible,zt as ColorPicker,fn as Columns,me as Combobox,ce as CommandMenu,Oe as Comparison,Dt as ContainedList,Ot as ContainedListItem,Ee as ContextMenu,De as ContextMenuItem,Ke as CopyButton,kt as DataList,At as DataListItem,se as DataTable,ge as DatePicker,Rt as DateRangePicker,_n as DismissableLayer,Ht as Dock,Jt as Drawer,C as Dropdown,re as Editable,Y as EmptyState,vn as ErrorBoundary,X as Fab,dt as Field,_e as FileUploader,ft as Filter,un as Flex,dn as FlexItem,yn as FocusScope,de as Form,cn as Grid,ln as GridItem,V as Header,Ue as HeaderPanel,$e as Heading,ke as HoverCard,Ae as HoverCardContent,je as HoverCardTrigger,$ as IconButton,m as Image,$t as Indicator,Wt as InfiniteScroll,ht as InlineLoading,e as Input,Le as InputGroup,Re as InputGroupAddon,Mt as Item,Nt as ItemActions,Pt as ItemContent,Ft as ItemDescription,It as ItemMedia,Lt as ItemTitle,en as Join,I as Kbd,ut as Label,Ut as LargeTitleHeader,L as Link,rt as List,it as ListItem,at as LogViewer,l as Logo,ye as Menu,bt as MenuButton,be as MenuItem,xe as MenuSeparator,Se as MenuTrigger,St as Menubar,s as Modal,Ne as MultiSelect,Yt as NativeSelect,Ct as NavigationMenu,gt as Notification,ne as NumberInput,Fe as OtpInput,Z as OverflowMenu,gn as PageHeader,W as Pagination,Me as PasswordInput,ie as Popover,ae as PopoverContent,oe as PopoverTrigger,bn as Portal,xn as Presence,Ze as Progress,J as ProgressBar,Qe as ProgressCircle,G as ProgressIndicator,ot as Prose,st as PullToRefresh,ct as QrCode,an as RadialProgress,v as Radio,Be as RadioCard,Ve as RadioCardGroup,y as RadioGroup,ze as RatingGroup,lt as RelativeTime,Gt as ReorderList,Vt as Resizable,_t as ScrollArea,Q as Search,Ie as SegmentedControl,g as Select,c as Separator,we as Sheet,He as ShellHeader,U as SideNav,q as Skeleton,Ye as SkipNavLink,Xe as SkipNavTarget,x as Slider,Sn as Slot,mn as Spacer,ee as Spinner,tn as Stack,qe as Stat,Je as Status,Zt as Steps,Et as StructuredList,Cn as SuspenseBoundary,on as Swap,sn as SwipeItem,b as Switch,We as Switcher,D as Tabs,O as TabsContent,k as TabsList,A as TabsTrigger,K as Tag,Pe as TagsInput,et as Text,h as Textarea,wn as ThemeProvider,Qt as Tile,ve as TimePicker,jt as Timeline,w as ToastProvider,z as Toc,b as Toggle,mt as ToggleGroup,xt as Toggletip,S as Tooltip,wt as TreeView,p as User,Kt as VirtualList,Tn as VisuallyHidden,qt as WheelPicker,En as applyTheme,Dn as batch,On as cn,kn as composeRefs,An as computePosition,jn as computed,fe as createForm,Mn as createMachine,Nn as createScope,Pn as createStreamBuffer,T as dismissAllToasts,Fn as effect,le as fuzzyMatch,ue as fuzzyScore,In as getLinkComponent,Ln as mergeProps,Rn as setLinkComponent,zn as setTheme,Bn as signal,Vn as themePreloadScript,Hn as themeSignal,Tt as treeViewMessages,Un as useAnchorPosition,Wn as useClipboard,Gn as useComputed,Kn as useControllableSignal,qn as useDisclosure,Jn as useEffectPropSignal,pe as useForm,Yn as useId,Xn as useMachine,Zn as useMediaQuery,H as usePopover,Qn as useRovingFocus,$n as useScope,er as useScrollLock,tr as useSignal,nr as useSignalEffect,rr as useSignals,ir as useStreamBuffer,ar as useTheme,E as useToast,B as useTocFromRegion,or as useTypeahead};
@@ -1 +1 @@
1
- "use client";import e from"./relative-time.module.js";import{cn as t,useSignal as n,useSignalEffect as r,useSignals as i}from"@cascivo/core";import{formatDate as a,formatRelativeTime as o}from"@cascivo/i18n";import{jsx as s}from"react/jsx-runtime";var c=1e3,l=60*c,u=60*l,d=24*u,f=7*d,p=30*d,m=365*d;function h(e){let t=Math.abs(e);return t<l?{value:Math.round(e/c),unit:`second`,nextUpdateMs:c}:t<u?{value:Math.round(e/l),unit:`minute`,nextUpdateMs:l}:t<d?{value:Math.round(e/u),unit:`hour`,nextUpdateMs:u}:t<f?{value:Math.round(e/d),unit:`day`,nextUpdateMs:d}:t<p?{value:Math.round(e/f),unit:`week`,nextUpdateMs:d}:t<m?{value:Math.round(e/p),unit:`month`,nextUpdateMs:d}:{value:Math.round(e/m),unit:`year`,nextUpdateMs:d}}var g=e=>e instanceof Date?e.getTime():typeof e==`number`?e:Date.parse(e);function _({date:c,sync:l=!0,now:u,format:d,className:f,...p}){i();let m=g(c),_=u!==void 0,v=n(u??Date.now());_&&(v.value=u),r(()=>{if(_||typeof window>`u`||(v.value=Date.now(),!l))return;let{nextUpdateMs:e}=h(m-v.value),t=window.setInterval(()=>{v.value=Date.now()},e);return()=>window.clearInterval(t)});let{value:y,unit:b}=h(m-v.value),x=o(y,b,d);return s(`time`,{dateTime:new Date(m).toISOString(),title:a(m,{dateStyle:`long`,timeStyle:`short`}),className:t(e.relativeTime,f),suppressHydrationWarning:!0,...p,children:x})}export{_ as RelativeTime};
1
+ "use client";import e from"./relative-time.module.js";import{cn as t,useSignal as n,useSignalEffect as r,useSignals as i}from"@cascivo/core";import{formatDate as a,formatRelativeTime as o}from"@cascivo/i18n";import{jsx as s}from"react/jsx-runtime";var c=1e3,l=60*c,u=60*l,d=24*u,f=7*d,p=30*d,m=365*d;function selectUnit(e){let t=Math.abs(e);return t<l?{value:Math.round(e/c),unit:`second`,nextUpdateMs:c}:t<u?{value:Math.round(e/l),unit:`minute`,nextUpdateMs:l}:t<d?{value:Math.round(e/u),unit:`hour`,nextUpdateMs:u}:t<f?{value:Math.round(e/d),unit:`day`,nextUpdateMs:d}:t<p?{value:Math.round(e/f),unit:`week`,nextUpdateMs:d}:t<m?{value:Math.round(e/p),unit:`month`,nextUpdateMs:d}:{value:Math.round(e/m),unit:`year`,nextUpdateMs:d}}var toTimestamp=e=>e instanceof Date?e.getTime():typeof e==`number`?e:Date.parse(e);function RelativeTime({date:c,sync:l=!0,now:u,format:d,className:f,...p}){i();let m=toTimestamp(c),h=u!==void 0,g=n(u??Date.now());h&&(g.value=u),r(()=>{if(h||typeof window>`u`||(g.value=Date.now(),!l))return;let{nextUpdateMs:e}=selectUnit(m-g.value),t=window.setInterval(()=>{g.value=Date.now()},e);return()=>window.clearInterval(t)});let{value:_,unit:v}=selectUnit(m-g.value),y=o(_,v,d);return s(`time`,{dateTime:new Date(m).toISOString(),title:a(m,{dateStyle:`long`,timeStyle:`short`}),className:t(e.relativeTime,f),suppressHydrationWarning:!0,...p,children:y})}export{RelativeTime};
@@ -1 +1 @@
1
- "use client";import e from"./reorder-list.module.js";import{useRef as t}from"react";import{cn as n,useSignal as r,useSignalEffect as i,useSignals as a}from"@cascivo/core";import{builtin as o,t as s}from"@cascivo/i18n";import{jsx as c,jsxs as l}from"react/jsx-runtime";function u(e){return e.name??(typeof e.label==`string`?e.label:e.id)}function d(e,t,n){let r=e.slice(),[i]=r.splice(t,1);return i&&r.splice(n,0,i),r}function f({value:f,onValueChange:p,disabled:m=!1,labels:h,className:g}){a();let _=t(null),v=r(null),y=r(``),b=t(f);b.current=f;let x=t(p);x.current=p;let S=t(m);S.current=m;let C=t(null),w=(e,t,n)=>{y.value=e?e.replace(`{name}`,n.name).replace(`{position}`,String(n.position)).replace(`{total}`,String(n.total)):t},T=(e,t)=>{let n=b.current,r=Math.max(0,Math.min(n.length-1,t));if(r===e)return;let i=n[e];if(!i)return;x.current(d(n,e,r)),v.value=r;let a={name:u(i),position:r+1,total:n.length};w(h?.moved,s(o.reorderList.moved,a),a)},E=e=>{let t=b.current,n=t[e];if(!n)return;C.current=t,v.value=e;let r={name:u(n),position:e+1,total:t.length};w(h?.grabbed,s(o.reorderList.grabbed,r),r)},D=()=>{let e=v.value;if(e===null)return;let t=b.current,n=t[e];if(C.current=null,v.value=null,!n)return;let r={name:u(n),position:e+1,total:t.length};w(h?.dropped,s(o.reorderList.dropped,r),r)},O=()=>{let e=C.current,t=v.value;if(C.current=null,v.value=null,!e)return;x.current(e);let n=t===null?void 0:e[t],r={name:n?u(n):``,position:(t??0)+1,total:e.length};w(h?.cancelled,s(o.reorderList.cancelled,r),r)},k=(e,t)=>{if(m)return;let n=v.value;if(e.key===` `||e.key===`Enter`){e.preventDefault(),n===t?D():E(t);return}if(e.key===`Escape`&&n!==null){e.preventDefault(),O();return}n===t&&(e.key===`ArrowUp`?(e.preventDefault(),T(t,t-1)):e.key===`ArrowDown`&&(e.preventDefault(),T(t,t+1)))};return i(()=>{let e=_.current;if(!e||typeof window>`u`)return;let t=t=>{let n=v.value;if(n===null||S.current)return;let r=[...e.querySelectorAll(`[data-reorder-row]`)].findIndex(e=>{let n=e.getBoundingClientRect();return t.clientY>=n.top&&t.clientY<=n.bottom});r!==-1&&r!==n&&T(n,r)},n=()=>{v.value!==null&&C.current&&D()};return window.addEventListener(`pointermove`,t),window.addEventListener(`pointerup`,n),window.addEventListener(`pointercancel`,n),()=>{window.removeEventListener(`pointermove`,t),window.removeEventListener(`pointerup`,n),window.removeEventListener(`pointercancel`,n)}}),l(`div`,{className:n(e.root,g),children:[c(`ul`,{ref:_,className:e.list,children:f.map((t,n)=>l(`li`,{"data-reorder-row":``,"data-active":v.value===n?``:void 0,className:e.row,children:[c(`button`,{type:`button`,disabled:m,"aria-label":h?.handle?h.handle.replace(`{name}`,u(t)):s(o.reorderList.handle,{name:u(t)}),"aria-pressed":v.value===n,className:e.handle,onKeyDown:e=>k(e,n),onPointerDown:()=>{m||E(n)},children:c(`svg`,{"aria-hidden":`true`,viewBox:`0 0 16 16`,className:e.grip,children:c(`path`,{d:`M6 4h.01M10 4h.01M6 8h.01M10 8h.01M6 12h.01M10 12h.01`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`})})}),c(`span`,{className:e.label,children:t.label})]},t.id))}),c(`span`,{role:`status`,"aria-live":`polite`,className:e.srOnly,children:y.value})]})}export{f as ReorderList};
1
+ "use client";import e from"./reorder-list.module.js";import{useRef as t}from"react";import{cn as n,useSignal as r,useSignalEffect as i,useSignals as a}from"@cascivo/core";import{builtin as o,t as s}from"@cascivo/i18n";import{jsx as c,jsxs as l}from"react/jsx-runtime";function nameOf(e){return e.name??(typeof e.label==`string`?e.label:e.id)}function move(e,t,n){let r=e.slice(),[i]=r.splice(t,1);return i&&r.splice(n,0,i),r}function ReorderList({value:u,onValueChange:d,disabled:f=!1,labels:p,className:m}){a();let h=t(null),g=r(null),_=r(``),v=t(u);v.current=u;let y=t(d);y.current=d;let b=t(f);b.current=f;let x=t(null),announce=(e,t,n)=>{_.value=e?e.replace(`{name}`,n.name).replace(`{position}`,String(n.position)).replace(`{total}`,String(n.total)):t},reorder=(e,t)=>{let n=v.current,r=Math.max(0,Math.min(n.length-1,t));if(r===e)return;let i=n[e];if(!i)return;y.current(move(n,e,r)),g.value=r;let a={name:nameOf(i),position:r+1,total:n.length};announce(p?.moved,s(o.reorderList.moved,a),a)},grab=e=>{let t=v.current,n=t[e];if(!n)return;x.current=t,g.value=e;let r={name:nameOf(n),position:e+1,total:t.length};announce(p?.grabbed,s(o.reorderList.grabbed,r),r)},drop=()=>{let e=g.value;if(e===null)return;let t=v.current,n=t[e];if(x.current=null,g.value=null,!n)return;let r={name:nameOf(n),position:e+1,total:t.length};announce(p?.dropped,s(o.reorderList.dropped,r),r)},cancel=()=>{let e=x.current,t=g.value;if(x.current=null,g.value=null,!e)return;y.current(e);let n=t===null?void 0:e[t],r={name:n?nameOf(n):``,position:(t??0)+1,total:e.length};announce(p?.cancelled,s(o.reorderList.cancelled,r),r)},onHandleKeyDown=(e,t)=>{if(f)return;let n=g.value;if(e.key===` `||e.key===`Enter`){e.preventDefault(),n===t?drop():grab(t);return}if(e.key===`Escape`&&n!==null){e.preventDefault(),cancel();return}n===t&&(e.key===`ArrowUp`?(e.preventDefault(),reorder(t,t-1)):e.key===`ArrowDown`&&(e.preventDefault(),reorder(t,t+1)))};return i(()=>{let e=h.current;if(!e||typeof window>`u`)return;let onMove=t=>{let n=g.value;if(n===null||b.current)return;let r=[...e.querySelectorAll(`[data-reorder-row]`)].findIndex(e=>{let n=e.getBoundingClientRect();return t.clientY>=n.top&&t.clientY<=n.bottom});r!==-1&&r!==n&&reorder(n,r)},onUp=()=>{g.value!==null&&x.current&&drop()};return window.addEventListener(`pointermove`,onMove),window.addEventListener(`pointerup`,onUp),window.addEventListener(`pointercancel`,onUp),()=>{window.removeEventListener(`pointermove`,onMove),window.removeEventListener(`pointerup`,onUp),window.removeEventListener(`pointercancel`,onUp)}}),l(`div`,{className:n(e.root,m),children:[c(`ul`,{ref:h,className:e.list,children:u.map((t,n)=>l(`li`,{"data-reorder-row":``,"data-active":g.value===n?``:void 0,className:e.row,children:[c(`button`,{type:`button`,disabled:f,"aria-label":p?.handle?p.handle.replace(`{name}`,nameOf(t)):s(o.reorderList.handle,{name:nameOf(t)}),"aria-pressed":g.value===n,className:e.handle,onKeyDown:e=>onHandleKeyDown(e,n),onPointerDown:()=>{f||grab(n)},children:c(`svg`,{"aria-hidden":`true`,viewBox:`0 0 16 16`,className:e.grip,children:c(`path`,{d:`M6 4h.01M10 4h.01M6 8h.01M10 8h.01M6 12h.01M10 12h.01`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`})})}),c(`span`,{className:e.label,children:t.label})]},t.id))}),c(`span`,{role:`status`,"aria-live":`polite`,className:e.srOnly,children:_.value})]})}export{ReorderList};
@@ -1 +1 @@
1
- "use client";import e from"./resizable.module.js";import{Children as t,useRef as n}from"react";import{cn as r,useControllableSignal as i,useSignal as a,useSignalEffect as o,useSignals as s}from"@cascivo/core";import{builtin as c,t as l}from"@cascivo/i18n";import{jsx as u,jsxs as d}from"react/jsx-runtime";function f(e,t,n){return Math.min(n,Math.max(t,e))}function p({children:p,orientation:m=`horizontal`,defaultRatio:h=.5,ratio:g,minRatio:_=.1,maxRatio:v=.9,onRatioChange:y,className:b,label:x,ariaLabel:S}){s();let[C,w]=t.toArray(p),[T,E]=i({value:g,defaultValue:h,onChange:y}),D=n(null),O=a(!1),k=e=>{E(f(e,_,v))},A=(e,t)=>{let n=D.current;if(!n)return T.value;let r=n.getBoundingClientRect();return m===`horizontal`?(e-r.left)/r.width:(t-r.top)/r.height};o(()=>{if(!O.value)return;let e=e=>k(A(e.clientX,e.clientY)),t=()=>{O.value=!1};return window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,t),()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,t)}});let j=e=>{let t=e.shiftKey?.1:.02,n=m===`horizontal`?`ArrowLeft`:`ArrowUp`,r=m===`horizontal`?`ArrowRight`:`ArrowDown`;if(e.key===n)k(T.value-t);else if(e.key===r)k(T.value+t);else if(e.key===`Home`)k(_);else if(e.key===`End`)k(v);else return;e.preventDefault()},M=S??x??l(c.resizable.handle),N=Math.round(T.value*100);return d(`div`,{ref:D,className:r(e.resizable,b),"data-orientation":m,style:{"--cascivo-resizable-ratio":T.value},children:[u(`div`,{className:e.pane,children:C}),u(`div`,{className:e.handle,role:`separator`,"aria-orientation":m,"aria-label":M,"aria-valuenow":N,"aria-valuemin":Math.round(_*100),"aria-valuemax":Math.round(v*100),tabIndex:0,onKeyDown:j,onPointerDown:e=>{e.preventDefault(),O.value=!0},children:u(`span`,{className:e.grip,"aria-hidden":`true`})}),u(`div`,{className:e.pane,children:w})]})}export{p as Resizable};
1
+ "use client";import e from"./resizable.module.js";import{Children as t,useRef as n}from"react";import{cn as r,useControllableSignal as i,useSignal as a,useSignalEffect as o,useSignals as s}from"@cascivo/core";import{builtin as c,t as l}from"@cascivo/i18n";import{jsx as u,jsxs as d}from"react/jsx-runtime";function clamp(e,t,n){return Math.min(n,Math.max(t,e))}function Resizable({children:f,orientation:p=`horizontal`,defaultRatio:m=.5,ratio:h,minRatio:g=.1,maxRatio:_=.9,onRatioChange:v,className:y,label:b,ariaLabel:x}){s();let[S,C]=t.toArray(f),[w,T]=i({value:h,defaultValue:m,onChange:v}),E=n(null),D=a(!1),set=e=>{T(clamp(e,g,_))},ratioFromPointer=(e,t)=>{let n=E.current;if(!n)return w.value;let r=n.getBoundingClientRect();return p===`horizontal`?(e-r.left)/r.width:(t-r.top)/r.height};o(()=>{if(!D.value)return;let onMove=e=>set(ratioFromPointer(e.clientX,e.clientY)),onUp=()=>{D.value=!1};return window.addEventListener(`pointermove`,onMove),window.addEventListener(`pointerup`,onUp),()=>{window.removeEventListener(`pointermove`,onMove),window.removeEventListener(`pointerup`,onUp)}});let onKeyDown=e=>{let t=e.shiftKey?.1:.02,n=p===`horizontal`?`ArrowLeft`:`ArrowUp`,r=p===`horizontal`?`ArrowRight`:`ArrowDown`;if(e.key===n)set(w.value-t);else if(e.key===r)set(w.value+t);else if(e.key===`Home`)set(g);else if(e.key===`End`)set(_);else return;e.preventDefault()},O=x??b??l(c.resizable.handle),k=Math.round(w.value*100);return d(`div`,{ref:E,className:r(e.resizable,y),"data-orientation":p,style:{"--cascivo-resizable-ratio":w.value},children:[u(`div`,{className:e.pane,children:S}),u(`div`,{className:e.handle,role:`separator`,"aria-orientation":p,"aria-label":O,"aria-valuenow":k,"aria-valuemin":Math.round(g*100),"aria-valuemax":Math.round(_*100),tabIndex:0,onKeyDown,onPointerDown:e=>{e.preventDefault(),D.value=!0},children:u(`span`,{className:e.grip,"aria-hidden":`true`})}),u(`div`,{className:e.pane,children:C})]})}export{Resizable};
@@ -1 +1 @@
1
- "use client";import e from"./scroll-area.module.js";import{useRef as t}from"react";import{cn as n,useSignalEffect as r,useSignals as i}from"@cascivo/core";import{jsx as a}from"react/jsx-runtime";function o(){return typeof CSS<`u`&&typeof CSS.supports==`function`&&CSS.supports(`container-type`,`scroll-state`)}function s({height:s,width:c,orientation:l=`vertical`,edges:u=`shadow`,className:d,style:f,children:p,...m}){i();let h=t(null);r(()=>{if(u===`shadow`&&o())return;let e=h.current;if(!e)return;let t=()=>{let t=e.scrollTop<=0,n=e.scrollTop+e.clientHeight>=e.scrollHeight-1,r=e.scrollLeft<=0,i=e.scrollLeft+e.clientWidth>=e.scrollWidth-1;e.toggleAttribute(`data-scroll-top`,!t),e.toggleAttribute(`data-scroll-bottom`,!n),e.toggleAttribute(`data-scroll-start`,!r),e.toggleAttribute(`data-scroll-end`,!i)};return t(),e.addEventListener(`scroll`,t,{passive:!0}),()=>{e.removeEventListener(`scroll`,t)}});let g={...s===void 0?{}:{"--cascivo-scroll-area-height":s},...c===void 0?{}:{"--cascivo-scroll-area-width":c},...f};return a(`div`,{ref:h,"data-orientation":l,"data-edges":u,className:n(e.root,d),style:g,...m,children:p})}export{s as ScrollArea};
1
+ "use client";import e from"./scroll-area.module.js";import{useRef as t}from"react";import{cn as n,useSignalEffect as r,useSignals as i}from"@cascivo/core";import{jsx as a}from"react/jsx-runtime";function supportsScrollState(){return typeof CSS<`u`&&typeof CSS.supports==`function`&&CSS.supports(`container-type`,`scroll-state`)}function ScrollArea({height:o,width:s,orientation:c=`vertical`,edges:l=`shadow`,className:u,style:d,children:f,...p}){i();let m=t(null);r(()=>{if(l===`shadow`&&supportsScrollState())return;let e=m.current;if(!e)return;let update=()=>{let t=e.scrollTop<=0,n=e.scrollTop+e.clientHeight>=e.scrollHeight-1,r=e.scrollLeft<=0,i=e.scrollLeft+e.clientWidth>=e.scrollWidth-1;e.toggleAttribute(`data-scroll-top`,!t),e.toggleAttribute(`data-scroll-bottom`,!n),e.toggleAttribute(`data-scroll-start`,!r),e.toggleAttribute(`data-scroll-end`,!i)};return update(),e.addEventListener(`scroll`,update,{passive:!0}),()=>{e.removeEventListener(`scroll`,update)}});let h={...o===void 0?{}:{"--cascivo-scroll-area-height":o},...s===void 0?{}:{"--cascivo-scroll-area-width":s},...d};return a(`div`,{ref:m,"data-orientation":c,"data-edges":l,className:n(e.root,u),style:h,...p,children:f})}export{ScrollArea};
@@ -1 +1 @@
1
- "use client";import e from"./search.module.js";import{useRef as t}from"react";import{cn as n,focusElement as r,useControllableSignal as i,useId as a,useSignalEffect as o,useSignals as s}from"@cascivo/core";import{builtin as c,t as l}from"@cascivo/i18n";import{jsx as u,jsxs as d}from"react/jsx-runtime";function f(){return d(`svg`,{viewBox:`0 0 16 16`,width:`16`,height:`16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,"aria-hidden":`true`,children:[u(`circle`,{cx:`7`,cy:`7`,r:`4.5`}),u(`line`,{x1:`10.5`,y1:`10.5`,x2:`14`,y2:`14`})]})}function p({value:p,defaultValue:m=``,onValueChange:h,onSearch:g,debounceMs:_=300,placeholder:v,size:y=`md`,label:b,ariaLabel:x,disabled:S=!1,clearLabel:C,id:w,"aria-labelledby":T,"aria-describedby":E,"aria-invalid":D,className:O}){s();let k=v??l(c.search.placeholder),A=b??(T===void 0?l(c.search.label):void 0),j=C??l(c.search.clear),M=t(null),N=a(`cascade-search`),P=w??N,F=p!==void 0,[I]=i({value:p,defaultValue:m}),L=t(g);L.current=g;let R=t(null),z=()=>{R.current!==null&&(clearTimeout(R.current),R.current=null)};o(()=>z);let B=e=>{let t=e.target.value;F||(I.value=t),h?.(t),z(),R.current=setTimeout(()=>{R.current=null,L.current?.(t)},_)},V=e=>{e.key===`Enter`&&(z(),g?.(I.value))},H=()=>{z(),F||(I.value=``),h?.(``),g?.(``),r(M.current)},U=I.value!==``;return d(`div`,{className:n(e.root,O),"data-size":y,"data-state":U?`filled`:`empty`,children:[A!==void 0&&u(`label`,{className:e.label,htmlFor:P,children:A}),u(`span`,{className:e.icon,children:u(f,{})}),u(`input`,{ref:M,id:P,type:`search`,"aria-labelledby":T,"aria-label":x,"aria-describedby":E,"aria-invalid":D,className:e.input,value:I.value,placeholder:k,disabled:S,onChange:B,onKeyDown:V}),U&&u(`button`,{type:`button`,className:e.clear,"aria-label":j,disabled:S,onClick:H,children:u(`span`,{"aria-hidden":`true`,children:`✕`})})]})}export{p as Search};
1
+ "use client";import e from"./search.module.js";import{useRef as t}from"react";import{cn as n,focusElement as r,useControllableSignal as i,useId as a,useSignalEffect as o,useSignals as s}from"@cascivo/core";import{builtin as c,t as l}from"@cascivo/i18n";import{jsx as u,jsxs as d}from"react/jsx-runtime";function MagnifierIcon(){return d(`svg`,{viewBox:`0 0 16 16`,width:`16`,height:`16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,"aria-hidden":`true`,children:[u(`circle`,{cx:`7`,cy:`7`,r:`4.5`}),u(`line`,{x1:`10.5`,y1:`10.5`,x2:`14`,y2:`14`})]})}function Search({value:f,defaultValue:p=``,onValueChange:m,onSearch:h,debounceMs:g=300,placeholder:_,size:v=`md`,label:y,ariaLabel:b,disabled:x=!1,clearLabel:S,id:C,"aria-labelledby":w,"aria-describedby":T,"aria-invalid":E,className:D}){s();let O=_??l(c.search.placeholder),k=y??(w===void 0?l(c.search.label):void 0),A=S??l(c.search.clear),j=t(null),M=a(`cascade-search`),N=C??M,P=f!==void 0,[F]=i({value:f,defaultValue:p}),I=t(h);I.current=h;let L=t(null),clearTimer=()=>{L.current!==null&&(clearTimeout(L.current),L.current=null)};o(()=>clearTimer);let handleChange=e=>{let t=e.target.value;P||(F.value=t),m?.(t),clearTimer(),L.current=setTimeout(()=>{L.current=null,I.current?.(t)},g)},handleKeyDown=e=>{e.key===`Enter`&&(clearTimer(),h?.(F.value))},handleClear=()=>{clearTimer(),P||(F.value=``),m?.(``),h?.(``),r(j.current)},R=F.value!==``;return d(`div`,{className:n(e.root,D),"data-size":v,"data-state":R?`filled`:`empty`,children:[k!==void 0&&u(`label`,{className:e.label,htmlFor:N,children:k}),u(`span`,{className:e.icon,children:u(MagnifierIcon,{})}),u(`input`,{ref:j,id:N,type:`search`,"aria-labelledby":w,"aria-label":b,"aria-describedby":T,"aria-invalid":E,className:e.input,value:F.value,placeholder:O,disabled:x,onChange:handleChange,onKeyDown:handleKeyDown}),R&&u(`button`,{type:`button`,className:e.clear,"aria-label":A,disabled:x,onClick:handleClear,children:u(`span`,{"aria-hidden":`true`,children:`✕`})})]})}export{Search};
@@ -1 +1 @@
1
- "use client";import e from"./segmented-control.module.js";import{cn as t}from"@cascivo/core";import{jsx as n}from"react/jsx-runtime";function r({options:r,value:i,onValueChange:a,size:o=`md`,disabled:s=!1,className:c,...l}){function u(e,t){let n=r.filter(e=>!e.disabled),i=n.findIndex(e=>e.value===r[t]?.value);if(e.key===`ArrowRight`){e.preventDefault();let t=n[(i+1)%n.length];t&&a(t.value)}else if(e.key===`ArrowLeft`){e.preventDefault();let t=n[(i-1+n.length)%n.length];t&&a(t.value)}}return n(`div`,{role:`group`,className:t(e.wrapper,c),"data-size":o,"data-disabled":s?``:void 0,...l,children:r.map((t,r)=>n(`button`,{type:`button`,role:`radio`,"aria-checked":t.value===i,"data-selected":t.value===i?``:void 0,"data-size":o,className:e.segment,disabled:s||t.disabled,onClick:()=>{t.disabled||a(t.value)},onKeyDown:e=>u(e,r),children:t.label},t.value))})}export{r as SegmentedControl};
1
+ "use client";import e from"./segmented-control.module.js";import{cn as t}from"@cascivo/core";import{jsx as n}from"react/jsx-runtime";function SegmentedControl({options:r,value:i,onValueChange:a,size:o=`md`,disabled:s=!1,ariaLabel:c,label:l,className:u,...d}){function handleKeyDown(e,t){let n=r.filter(e=>!e.disabled),i=n.findIndex(e=>e.value===r[t]?.value);if(e.key===`ArrowRight`){e.preventDefault();let t=n[(i+1)%n.length];t&&a(t.value)}else if(e.key===`ArrowLeft`){e.preventDefault();let t=n[(i-1+n.length)%n.length];t&&a(t.value)}}return n(`div`,{role:`group`,"aria-label":c??l,className:t(e.wrapper,u),"data-size":o,"data-disabled":s?``:void 0,...d,children:r.map((t,r)=>n(`button`,{type:`button`,role:`radio`,"aria-checked":t.value===i,"data-selected":t.value===i?``:void 0,"data-size":o,className:e.segment,disabled:s||t.disabled,onClick:()=>{t.disabled||a(t.value)},onKeyDown:e=>handleKeyDown(e,r),children:t.label},t.value))})}export{SegmentedControl};
@@ -1 +1 @@
1
- import e from"./separator.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n}from"react/jsx-runtime";function r({orientation:r=`horizontal`,decorative:i=!1,className:a,...o}){return r===`horizontal`&&!i?n(`hr`,{"data-orientation":`horizontal`,className:t(e.separator,a),...o}):n(`div`,{role:i?`none`:`separator`,"aria-orientation":i?void 0:r,"data-orientation":r,className:t(e.separator,a),...o})}export{r as Separator};
1
+ import e from"./separator.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n}from"react/jsx-runtime";function Separator({orientation:r=`horizontal`,decorative:i=!1,className:a,...o}){return r===`horizontal`&&!i?n(`hr`,{"data-orientation":`horizontal`,className:t(e.separator,a),...o}):n(`div`,{role:i?`none`:`separator`,"aria-orientation":i?void 0:r,"data-orientation":r,className:t(e.separator,a),...o})}export{Separator};
@@ -1 +1 @@
1
- "use client";import e from"./sheet.module.js";import{useId as t,useRef as n}from"react";import{useEffectPropSignal as r,useSignalEffect as i}from"@cascivo/core";import{builtin as a,t as o}from"@cascivo/i18n";import{jsx as s,jsxs as c}from"react/jsx-runtime";function l({open:l,onClose:u,title:d,children:f,side:p=`end`}){let m=n(null),h=t(),g=r(l),_=n(u);return _.current=u,i(()=>{let e=m.current;if(e)if(g.value)try{e.showPopover()}catch{}else try{e.hidePopover()}catch{}}),c(`div`,{ref:m,popover:`manual`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":d==null?void 0:h,"data-state":l?`open`:`closed`,"data-side":p,className:e.sheet,children:[c(`div`,{className:e.header,children:[d!=null&&s(`span`,{id:h,className:e.title,children:d}),s(`button`,{type:`button`,"aria-label":o(a.sheet.close),onClick:()=>_.current(),className:e.close,children:`✕`})]}),s(`div`,{className:e.body,"data-cascivo-sheet-body":``,children:f})]})}export{l as Sheet};
1
+ "use client";import e from"./sheet.module.js";import{useId as t,useRef as n}from"react";import{useEffectPropSignal as r,useSignalEffect as i}from"@cascivo/core";import{builtin as a,t as o}from"@cascivo/i18n";import{jsx as s,jsxs as c}from"react/jsx-runtime";function Sheet({open:l,onClose:u,title:d,children:f,side:p=`end`}){let m=n(null),h=t(),g=r(l),_=n(u);return _.current=u,i(()=>{let e=m.current;if(e)if(g.value)try{e.showPopover()}catch{}else try{e.hidePopover()}catch{}}),c(`div`,{ref:m,popover:`manual`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":d==null?void 0:h,"data-state":l?`open`:`closed`,"data-side":p,className:e.sheet,children:[c(`div`,{className:e.header,children:[d!=null&&s(`span`,{id:h,className:e.title,children:d}),s(`button`,{type:`button`,"aria-label":o(a.sheet.close),onClick:()=>_.current(),className:e.close,children:`✕`})]}),s(`div`,{className:e.body,"data-cascivo-sheet-body":``,children:f})]})}export{Sheet};
@@ -1 +1 @@
1
- "use client";import{usePopover as e}from"../popover/use-popover.js";import t from"./shell-header.module.js";import{cn as n,getLinkComponent as r,useSignal as i,useSignalEffect as a,useSignals as o}from"@cascivo/core";import{builtin as s,t as c}from"@cascivo/i18n";import{jsx as l,jsxs as u}from"react/jsx-runtime";function d(e){return typeof e==`object`&&!!e&&`name`in e}function f(e){return`items`in e}function p({item:n}){o();let s=r(),{triggerRef:c,popoverRef:d,isOpen:f,anchorName:p,toggle:m,close:h}=e(),g=n.items.some(e=>e.active),_=i(!1);a(()=>{if(!_.value||!f.value)return;_.value=!1;let e=d.current;e&&e.querySelector(`[role="menuitem"]`)?.focus()});function v(e){e.key===`ArrowDown`?(e.preventDefault(),f.value?d.current?.querySelector(`[role="menuitem"]`)?.focus():(_.value=!0,m())):e.key===`Escape`&&(e.preventDefault(),h())}function y(e){let t=Array.from(d.current?.querySelectorAll(`[role="menuitem"]`)??[]),n=t.indexOf(document.activeElement);e.key===`ArrowDown`?(e.preventDefault(),t[(n+1)%t.length]?.focus()):e.key===`ArrowUp`?(e.preventDefault(),t[(n-1+t.length)%t.length]?.focus()):e.key===`Escape`&&(h(),c.current?.focus())}return u(`li`,{className:t.navMenuWrapper,children:[u(`button`,{ref:c,type:`button`,"aria-haspopup":`menu`,"aria-expanded":f.value,"data-state":g?`active`:void 0,style:{anchorName:p},className:t.navMenuTrigger,onClick:m,onKeyDown:v,children:[n.label,l(`svg`,{viewBox:`0 0 16 16`,width:`12`,height:`12`,"aria-hidden":`true`,className:t.chevron,children:l(`path`,{d:`M4 6l4 4 4-4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})]}),l(`div`,{ref:d,popover:`auto`,role:`menu`,"aria-label":n.label,"data-state":f.value?`open`:`closed`,style:{positionAnchor:p},className:t.navMenuPanel,onKeyDown:y,children:n.items.map((e,n)=>l(s,{href:e.href,role:`menuitem`,"aria-current":e.active?`page`:void 0,"data-state":e.active?`active`:void 0,className:t.navMenuItem,onClick:h,children:e.label},e.id??`${n}-${e.href}`))})]})}function m({brand:e,nav:i,center:a,actions:m,end:h,onMenuClick:g,menuExpanded:_,skipToContentHref:v=`#cascade-main`,labels:y,className:b}){o();let x=r(),S=y?.nav??c(s.shellHeader.nav),C=_?y?.closeMenu??c(s.shellHeader.closeMenu):y?.openMenu??c(s.shellHeader.openMenu);return u(`header`,{role:`banner`,className:n(t.header,b),children:[v!==!1&&l(`a`,{href:v,className:t.skipLink,children:y?.skipToContent??c(s.shellHeader.skipToContent)}),g&&l(`button`,{type:`button`,"aria-label":C,"aria-expanded":_??!1,className:t.menuButton,onClick:g,children:l(`svg`,{viewBox:`0 0 16 16`,width:`16`,height:`16`,"aria-hidden":`true`,children:l(`path`,{d:`M2 4h12M2 8h12M2 12h12`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})})}),e!=null&&(d(e)?u(x,{href:e.href??`/`,"aria-label":[e.prefix,e.name].filter(Boolean).join(` `),className:t.brand,children:[e.prefix&&l(`span`,{className:t.brandPrefix,children:e.prefix}),l(`span`,{className:t.brandName,children:e.name})]}):l(`div`,{className:t.brand,children:e})),i&&i.length>0&&l(`nav`,{"aria-label":S,className:t.nav,children:l(`ul`,{className:t.navList,children:i.map((e,n)=>f(e)?l(p,{item:e},e.id??`${n}-${e.label}`):l(`li`,{children:l(x,{href:e.href,"aria-current":e.active?`page`:void 0,"data-state":e.active?`active`:void 0,className:t.navLink,...e.onClick?{onClick:e.onClick}:{},children:e.label})},e.id??`${n}-${e.href}`))})}),a?l(`div`,{className:t.center,children:a}):l(`div`,{className:t.spacer}),m&&m.length>0&&l(`div`,{className:t.actions,children:m.map(e=>l(`button`,{type:`button`,"aria-label":e.label,"aria-pressed":e.active??!1,title:e.label,"data-state":e.active?`active`:void 0,className:t.action,onClick:e.onClick,children:l(`span`,{className:t.actionIcon,"aria-hidden":`true`,children:e.icon})},e.id))}),h&&l(`div`,{className:t.end,children:h})]})}export{m as ShellHeader};
1
+ "use client";import{usePopover as e}from"../popover/use-popover.js";import t from"./shell-header.module.js";import{cn as n,getLinkComponent as r,useSignal as i,useSignalEffect as a,useSignals as o}from"@cascivo/core";import{builtin as s,t as c}from"@cascivo/i18n";import{jsx as l,jsxs as u}from"react/jsx-runtime";function isBrandObject(e){return typeof e==`object`&&!!e&&`name`in e}function isNavMenu(e){return`items`in e}function NavMenu({item:n}){o();let s=r(),{triggerRef:c,popoverRef:d,isOpen:f,anchorName:p,toggle:m,close:h}=e(),g=n.items.some(e=>e.active),_=i(!1);a(()=>{if(!_.value||!f.value)return;_.value=!1;let e=d.current;e&&e.querySelector(`[role="menuitem"]`)?.focus()});function handleTriggerKeyDown(e){e.key===`ArrowDown`?(e.preventDefault(),f.value?d.current?.querySelector(`[role="menuitem"]`)?.focus():(_.value=!0,m())):e.key===`Escape`&&(e.preventDefault(),h())}function handlePanelKeyDown(e){let t=Array.from(d.current?.querySelectorAll(`[role="menuitem"]`)??[]),n=t.indexOf(document.activeElement);e.key===`ArrowDown`?(e.preventDefault(),t[(n+1)%t.length]?.focus()):e.key===`ArrowUp`?(e.preventDefault(),t[(n-1+t.length)%t.length]?.focus()):e.key===`Escape`&&(h(),c.current?.focus())}return u(`li`,{className:t.navMenuWrapper,children:[u(`button`,{ref:c,type:`button`,"aria-haspopup":`menu`,"aria-expanded":f.value,"data-state":g?`active`:void 0,style:{anchorName:p},className:t.navMenuTrigger,onClick:m,onKeyDown:handleTriggerKeyDown,children:[n.label,l(`svg`,{viewBox:`0 0 16 16`,width:`12`,height:`12`,"aria-hidden":`true`,className:t.chevron,children:l(`path`,{d:`M4 6l4 4 4-4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})]}),l(`div`,{ref:d,popover:`auto`,role:`menu`,"aria-label":n.label,"data-state":f.value?`open`:`closed`,style:{positionAnchor:p},className:t.navMenuPanel,onKeyDown:handlePanelKeyDown,children:n.items.map((e,n)=>l(s,{href:e.href,role:`menuitem`,"aria-current":e.active?`page`:void 0,"data-state":e.active?`active`:void 0,className:t.navMenuItem,onClick:h,children:e.label},e.id??`${n}-${e.href}`))})]})}function ShellHeader({brand:e,nav:i,center:a,actions:d,end:f,onMenuClick:p,menuExpanded:m,skipToContentHref:h=`#cascade-main`,labels:g,className:_}){o();let v=r(),y=g?.nav??c(s.shellHeader.nav),b=m?g?.closeMenu??c(s.shellHeader.closeMenu):g?.openMenu??c(s.shellHeader.openMenu);return u(`header`,{role:`banner`,className:n(t.header,_),children:[h!==!1&&l(`a`,{href:h,className:t.skipLink,children:g?.skipToContent??c(s.shellHeader.skipToContent)}),p&&l(`button`,{type:`button`,"aria-label":b,"aria-expanded":m??!1,className:t.menuButton,onClick:p,children:l(`svg`,{viewBox:`0 0 16 16`,width:`16`,height:`16`,"aria-hidden":`true`,children:l(`path`,{d:`M2 4h12M2 8h12M2 12h12`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})})}),e!=null&&(isBrandObject(e)?u(v,{href:e.href??`/`,"aria-label":[e.prefix,e.name].filter(Boolean).join(` `),className:t.brand,children:[e.prefix&&l(`span`,{className:t.brandPrefix,children:e.prefix}),l(`span`,{className:t.brandName,children:e.name})]}):l(`div`,{className:t.brand,children:e})),i&&i.length>0&&l(`nav`,{"aria-label":y,className:t.nav,children:l(`ul`,{className:t.navList,children:i.map((e,n)=>isNavMenu(e)?l(NavMenu,{item:e},e.id??`${n}-${e.label}`):l(`li`,{children:l(v,{href:e.href,"aria-current":e.active?`page`:void 0,"data-state":e.active?`active`:void 0,className:t.navLink,...e.onClick?{onClick:e.onClick}:{},children:e.label})},e.id??`${n}-${e.href}`))})}),a?l(`div`,{className:t.center,children:a}):l(`div`,{className:t.spacer}),d&&d.length>0&&l(`div`,{className:t.actions,children:d.map(e=>l(`button`,{type:`button`,"aria-label":e.label,"aria-pressed":e.active??!1,title:e.label,"data-state":e.active?`active`:void 0,className:t.action,onClick:e.onClick,children:l(`span`,{className:t.actionIcon,"aria-hidden":`true`,children:e.icon})},e.id))}),f&&l(`div`,{className:t.end,children:f})]})}export{ShellHeader};
@@ -1 +1 @@
1
- "use client";import{Tooltip as e}from"../tooltip/tooltip.js";import{usePopover as t}from"../popover/use-popover.js";import n from"./side-nav.module.js";import{Fragment as r,useId as i}from"react";import{cn as a,focusElement as o,getLinkComponent as s,useControllableSignal as c,useSignal as l,useSignals as u}from"@cascivo/core";import{builtin as d,t as f}from"@cascivo/i18n";import{Fragment as p,jsx as m,jsxs as h}from"react/jsx-runtime";function g(e){return!(`type`in e)}function _(){return m(`svg`,{viewBox:`0 0 16 16`,width:`14`,height:`14`,"aria-hidden":`true`,className:n.checkMark,children:m(`path`,{d:`M3.5 8.5l3 3 6-7`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})}function v(e,{inMenu:t,onActivate:r,extraClass:i}){let o=t?`menuitem`:void 0,c=a(n.link,n.sublink,i),l=h(p,{children:[e.icon?m(`span`,{className:n.icon,"aria-hidden":`true`,children:e.icon}):null,m(`span`,{className:n.label,children:e.label}),e.selected?m(_,{}):null]});return e.onSelect&&!e.href?m(`button`,{type:`button`,role:o,"aria-current":e.active?`page`:void 0,"data-state":e.active?`active`:void 0,"data-selected":e.selected||void 0,disabled:e.disabled,className:c,onClick:()=>{e.onSelect?.(),r?.()},children:l}):m(s(),{href:e.disabled?void 0:e.href,role:o,"aria-current":e.active?`page`:void 0,"aria-disabled":e.disabled||void 0,tabIndex:e.disabled?-1:void 0,"data-state":e.active?`active`:void 0,"data-selected":e.selected||void 0,className:c,onClick:t=>{if(e.disabled){t.preventDefault();return}e.onSelect?.(),r?.()},children:l})}function y(e){if(typeof Intl<`u`&&`Segmenter`in Intl){let t=new Intl.Segmenter(void 0,{granularity:`grapheme`});for(let n of t.segment(e))return n.segment}return[...e][0]??``}function b({item:e}){let{triggerRef:i,popoverRef:a,isOpen:s,anchorName:c,open:l,close:u,toggle:d}=t(),f=`[role="menuitem"]:not([disabled]):not([aria-disabled="true"])`;return h(p,{children:[m(`button`,{ref:i,type:`button`,"aria-haspopup":`menu`,"aria-expanded":s.value,"aria-label":e.label,"data-state":s.value?`open`:`closed`,style:{anchorName:c},className:n.groupTrigger,onClick:()=>d(),onKeyDown:e=>{if(e.key===`ArrowDown`){e.preventDefault(),s.value||l();let t=a.current;t&&setTimeout(()=>{t.querySelector(f)?.focus()},0)}else e.key===`Escape`&&u()},children:e.icon?m(`span`,{className:n.icon,"aria-hidden":`true`,children:e.icon}):m(`span`,{className:n.fallbackIcon,"data-fallback-icon":!0,"aria-hidden":`true`,children:y(e.label)})}),h(`div`,{ref:a,popover:`auto`,role:`menu`,"aria-label":e.label,style:{positionAnchor:c},className:n.railFlyout,onKeyDown:e=>{let t=a.current;if(!t)return;let n=Array.from(t.querySelectorAll(f)),r=n.indexOf(e.target);e.key===`ArrowDown`?(e.preventDefault(),n[(r+1)%n.length]?.focus()):e.key===`ArrowUp`?(e.preventDefault(),n[(r-1+n.length)%n.length]?.focus()):e.key===`Escape`&&(e.preventDefault(),u(),o(i.current))},children:[m(`div`,{className:n.railFlyoutCaption,"aria-hidden":`true`,children:e.label}),e.items.map((e,t)=>g(e)?m(r,{children:v(e,{inMenu:!0,onActivate:u,extraClass:n.flyoutItem})},t):e.type===`separator`?m(`div`,{role:`separator`,className:n.flyoutSeparator},t):m(`div`,{className:n.railFlyoutCaption,"aria-hidden":`true`,children:e.label},t))]})]})}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}){u();let j=S??C??f(d.sideNav.nav),M=w??f(d.sideNav.collapse),N=T??f(d.sideNav.expand),P=i(),[F]=c({value:o,defaultValue:_}),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=>{let t=L.value;L.value=t.includes(e)?t.filter(t=>t!==e):[...t,e]},z=()=>{let e=!F.value;o===void 0&&(F.value=e),x?.(e)},B=F.value;return h(`nav`,{"aria-label":j,"data-state":B?`collapsed`:`expanded`,"data-expand-on-hover":B&&E?``:void 0,className:a(n.sideNav,A),children:[O&&m(`div`,{className:n.header,children:O}),m(`ul`,{className:n.list,children:I.map((t,r)=>h(`li`,{className:n.group,children:[t.label&&m(`h3`,{className:n.groupLabel,children:t.label}),m(`ul`,{className:n.groupItems,children:t.items.map((t,i)=>{let a=`${r}-${i}`;if(t.items){if(B&&!E)return m(`li`,{children:m(b,{item:t})},t.id??a);let e=L.value.includes(t.label),r=`${P}-group-${a}`;return h(`li`,{children:[h(`button`,{type:`button`,"aria-expanded":e,"aria-controls":r,"aria-label":B?t.label:void 0,"data-state":e?`open`:`closed`,className:n.groupTrigger,onClick:()=>R(t.label),children:[t.icon?m(`span`,{className:n.icon,"aria-hidden":`true`,children:t.icon}):B?m(`span`,{className:n.fallbackIcon,"data-fallback-icon":!0,"aria-hidden":`true`,children:y(t.label)}):null,m(`span`,{className:n.label,"data-rail-hidden":B||void 0,children:t.label}),m(`svg`,{viewBox:`0 0 16 16`,width:`12`,height:`12`,"aria-hidden":`true`,className:n.groupIndicator,children:m(`path`,{d:`M4 6l4 4 4-4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})]}),m(`div`,{id:r,"data-state":e?`open`:`closed`,className:n.sublist,children:m(`ul`,{className:n.sublistInner,children:t.items.map((e,t)=>g(e)?m(`li`,{children:v(e,{inMenu:!1})},t):e.type===`separator`?m(`li`,{role:`separator`,className:n.subSeparator},t):m(`li`,{className:n.subGroupLabel,children:e.label},t))})})]},t.id??a)}let o=h(p,{children:[t.icon?m(`span`,{className:n.icon,"aria-hidden":`true`,children:t.icon}):B?m(`span`,{className:n.fallbackIcon,"data-fallback-icon":!0,"aria-hidden":`true`,children:y(t.label)}):null,m(`span`,{className:n.label,"data-rail-hidden":B||void 0,children:t.label}),t.trailing==null?null:m(`span`,{className:n.trailing,"data-rail-hidden":B||void 0,children:t.trailing})]}),c=t.tone&&t.tone!=="default"?t.tone:void 0,l={href:t.disabled?void 0:t.href,"aria-current":t.active?`page`:void 0,"aria-label":B?t.label:void 0,"aria-disabled":t.disabled||void 0,tabIndex:t.disabled?-1:void 0,"data-state":t.active?`active`:void 0,"data-tone":c,className:n.link,onClick:e=>{if(t.disabled){e.preventDefault();return}t.onClick?.(e)}};if(t.render)return m(`li`,{className:n.customItem,children:t.render({collapsed:B,children:o,linkProps:l})},t.id??a);let u=s(),d=t.onClick&&!t.href?m(`button`,{type:`button`,"aria-current":t.active?`page`:void 0,"aria-label":B?t.label:void 0,"data-state":t.active?`active`:void 0,"data-tone":c,className:n.link,disabled:t.disabled,onClick:e=>t.onClick?.(e),children:o}):m(u,{...l,children:o});return m(`li`,{children:B&&!E?m(e,{content:t.label,placement:`right`,children:d}):d},t.id??a)})})]},t.id??r))}),k&&m(`div`,{className:n.footer,children:k}),D&&m(`button`,{type:`button`,"aria-label":B?N:M,className:n.collapseToggle,onClick:z,children:m(`svg`,{viewBox:`0 0 16 16`,width:`14`,height:`14`,"aria-hidden":`true`,className:n.collapseIcon,children:m(`path`,{d:`M10 4l-4 4 4 4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})})]})}export{x as SideNav};
1
+ "use client";import{Tooltip as e}from"../tooltip/tooltip.js";import{usePopover as t}from"../popover/use-popover.js";import n from"./side-nav.module.js";import{Fragment as r,useId as i}from"react";import{cn as a,focusElement as o,getLinkComponent as s,useSignal as c,useSignals as l}from"@cascivo/core";import{builtin as u,t as d}from"@cascivo/i18n";import{Fragment as f,jsx as p,jsxs as m}from"react/jsx-runtime";function isLinkSubItem(e){return!(`type`in e)}function renderSlot(e,t){return typeof e==`function`?e({collapsed:t}):e}function CheckMark(){return p(`svg`,{viewBox:`0 0 16 16`,width:`14`,height:`14`,"aria-hidden":`true`,className:n.checkMark,children:p(`path`,{d:`M3.5 8.5l3 3 6-7`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})}function renderSubControl(e,{inMenu:t,onActivate:r,extraClass:i}){let o=t?`menuitem`:void 0,c=a(n.link,n.sublink,i),l=m(f,{children:[e.icon?p(`span`,{className:n.icon,"aria-hidden":`true`,children:e.icon}):null,p(`span`,{className:n.label,children:e.label}),e.selected?p(CheckMark,{}):null]});return e.onSelect&&!e.href?p(`button`,{type:`button`,role:o,"aria-current":e.active?`page`:void 0,"data-state":e.active?`active`:void 0,"data-selected":e.selected||void 0,disabled:e.disabled,className:c,onClick:()=>{e.onSelect?.(),r?.()},children:l}):p(s(),{href:e.disabled?void 0:e.href,role:o,"aria-current":e.active?`page`:void 0,"aria-disabled":e.disabled||void 0,tabIndex:e.disabled?-1:void 0,"data-state":e.active?`active`:void 0,"data-selected":e.selected||void 0,className:c,onClick:t=>{if(e.disabled){t.preventDefault();return}e.onSelect?.(),r?.()},children:l})}function firstGrapheme(e){if(typeof Intl<`u`&&`Segmenter`in Intl){let t=new Intl.Segmenter(void 0,{granularity:`grapheme`});for(let n of t.segment(e))return n.segment}return[...e][0]??``}function RailGroupFlyout({item:e}){let{triggerRef:i,popoverRef:a,isOpen:s,anchorName:c,open:l,close:u,toggle:d}=t(),h=`[role="menuitem"]:not([disabled]):not([aria-disabled="true"])`;return m(f,{children:[p(`button`,{ref:i,type:`button`,"aria-haspopup":`menu`,"aria-expanded":s.value,"aria-label":e.label,"data-state":s.value?`open`:`closed`,style:{anchorName:c},className:n.groupTrigger,onClick:()=>d(),onKeyDown:e=>{if(e.key===`ArrowDown`){e.preventDefault(),s.value||l();let t=a.current;t&&setTimeout(()=>{t.querySelector(h)?.focus()},0)}else e.key===`Escape`&&u()},children:e.icon?p(`span`,{className:n.icon,"aria-hidden":`true`,children:e.icon}):p(`span`,{className:n.fallbackIcon,"data-fallback-icon":!0,"aria-hidden":`true`,children:firstGrapheme(e.label)})}),m(`div`,{ref:a,popover:`auto`,role:`menu`,"aria-label":e.label,style:{positionAnchor:c},className:n.railFlyout,onKeyDown:e=>{let t=a.current;if(!t)return;let n=Array.from(t.querySelectorAll(h)),r=n.indexOf(e.target);e.key===`ArrowDown`?(e.preventDefault(),n[(r+1)%n.length]?.focus()):e.key===`ArrowUp`?(e.preventDefault(),n[(r-1+n.length)%n.length]?.focus()):e.key===`Escape`&&(e.preventDefault(),u(),o(i.current))},children:[p(`div`,{className:n.railFlyoutCaption,"aria-hidden":`true`,children:e.label}),e.items.map((e,t)=>isLinkSubItem(e)?p(r,{children:renderSubControl(e,{inMenu:!0,onActivate:u,extraClass:n.flyoutItem})},t):e.type===`separator`?p(`div`,{role:`separator`,className:n.flyoutSeparator},t):p(`div`,{className:n.railFlyoutCaption,"aria-hidden":`true`,children:e.label},t))]})]})}function SideNav({items:t,groups:r,collapsed:o,defaultCollapsed:h=!1,onCollapsedChange:g,ariaLabel:_,label:v,collapseLabel:y,expandLabel:b,expandOnHover:x=!1,showCollapseToggle:S=!0,header:C,footer:w,className:T}){l();let E=_??v??d(u.sideNav.nav),D=y??d(u.sideNav.collapse),O=b??d(u.sideNav.expand),k=i(),A=c(h),j=o??A.value,M=r??(t?[{items:t}]:[{items:[]}]),N=c(M.flatMap(e=>e.items).filter(e=>e.items?.some(e=>isLinkSubItem(e)&&e.active)).map(e=>e.label)),toggleGroup=e=>{let t=N.value;N.value=t.includes(e)?t.filter(t=>t!==e):[...t,e]};return m(`nav`,{"aria-label":E,"data-state":j?`collapsed`:`expanded`,"data-expand-on-hover":j&&x?``:void 0,className:a(n.sideNav,T),children:[C!=null&&C!==!1&&p(`div`,{className:n.header,children:renderSlot(C,j)}),p(`ul`,{className:n.list,children:M.map((t,r)=>m(`li`,{className:n.group,children:[t.label&&p(`h3`,{className:n.groupLabel,children:t.label}),p(`ul`,{className:n.groupItems,children:t.items.map((t,i)=>{let a=`${r}-${i}`;if(t.items){if(j&&!x)return p(`li`,{children:p(RailGroupFlyout,{item:t})},t.id??a);let e=N.value.includes(t.label),r=`${k}-group-${a}`;return m(`li`,{children:[m(`button`,{type:`button`,"aria-expanded":e,"aria-controls":r,"aria-label":j?t.label:void 0,"data-state":e?`open`:`closed`,className:n.groupTrigger,onClick:()=>toggleGroup(t.label),children:[t.icon?p(`span`,{className:n.icon,"aria-hidden":`true`,children:t.icon}):j?p(`span`,{className:n.fallbackIcon,"data-fallback-icon":!0,"aria-hidden":`true`,children:firstGrapheme(t.label)}):null,p(`span`,{className:n.label,"data-rail-hidden":j||void 0,children:t.label}),p(`svg`,{viewBox:`0 0 16 16`,width:`12`,height:`12`,"aria-hidden":`true`,className:n.groupIndicator,children:p(`path`,{d:`M4 6l4 4 4-4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})]}),p(`div`,{id:r,"data-state":e?`open`:`closed`,className:n.sublist,children:p(`ul`,{className:n.sublistInner,children:t.items.map((e,t)=>isLinkSubItem(e)?p(`li`,{children:renderSubControl(e,{inMenu:!1})},t):e.type===`separator`?p(`li`,{role:`separator`,className:n.subSeparator},t):p(`li`,{className:n.subGroupLabel,children:e.label},t))})})]},t.id??a)}let o=m(f,{children:[t.icon?p(`span`,{className:n.icon,"aria-hidden":`true`,children:t.icon}):j?p(`span`,{className:n.fallbackIcon,"data-fallback-icon":!0,"aria-hidden":`true`,children:firstGrapheme(t.label)}):null,p(`span`,{className:n.label,"data-rail-hidden":j||void 0,children:t.label}),t.trailing==null?null:p(`span`,{className:n.trailing,"data-rail-hidden":j||void 0,children:t.trailing})]}),c=t.tone&&t.tone!=="default"?t.tone:void 0,l={href:t.disabled?void 0:t.href,"aria-current":t.active?`page`:void 0,"aria-label":j?t.label:void 0,"aria-disabled":t.disabled||void 0,tabIndex:t.disabled?-1:void 0,"data-state":t.active?`active`:void 0,"data-tone":c,className:n.link,onClick:e=>{if(t.disabled){e.preventDefault();return}t.onClick?.(e)}};if(t.render)return p(`li`,{className:n.customItem,children:t.render({collapsed:j,children:o,linkProps:l})},t.id??a);let u=s(),d=t.onClick&&!t.href?p(`button`,{type:`button`,"aria-current":t.active?`page`:void 0,"aria-label":j?t.label:void 0,"data-state":t.active?`active`:void 0,"data-tone":c,className:n.link,disabled:t.disabled,onClick:e=>t.onClick?.(e),children:o}):p(u,{...l,children:o});return p(`li`,{children:j&&!x?p(e,{content:t.label,placement:`right`,children:d}):d},t.id??a)})})]},t.id??r))}),w!=null&&w!==!1&&p(`div`,{className:n.footer,children:renderSlot(w,j)}),S&&p(`button`,{type:`button`,"aria-label":j?O:D,className:n.collapseToggle,onClick:()=>{let e=!j;o===void 0&&(A.value=e),g?.(e)},children:p(`svg`,{viewBox:`0 0 16 16`,width:`14`,height:`14`,"aria-hidden":`true`,className:n.collapseIcon,children:p(`path`,{d:`M10 4l-4 4 4 4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})})]})}export{SideNav};
@@ -1 +1 @@
1
- var e={sideNav:`_sideNav_1qbq3_2`,label:`_label_1qbq3_24`,trailing:`_trailing_1qbq3_25`,groupIndicator:`_groupIndicator_1qbq3_29`,link:`_link_1qbq3_50`,groupTrigger:`_groupTrigger_1qbq3_51`,fallbackIcon:`_fallbackIcon_1qbq3_60`,list:`_list_1qbq3_67`,sublistInner:`_sublistInner_1qbq3_68`,groupItems:`_groupItems_1qbq3_69`,group:`_group_1qbq3_29`,groupLabel:`_groupLabel_1qbq3_84`,checkMark:`_checkMark_1qbq3_185`,icon:`_icon_1qbq3_191`,sublist:`_sublist_1qbq3_68`,sublink:`_sublink_1qbq3_251`,subSeparator:`_subSeparator_1qbq3_263`,subGroupLabel:`_subGroupLabel_1qbq3_270`,header:`_header_1qbq3_282`,footer:`_footer_1qbq3_289`,customItem:`_customItem_1qbq3_297`,collapseToggle:`_collapseToggle_1qbq3_302`,collapseIcon:`_collapseIcon_1qbq3_328`,railFlyout:`_railFlyout_1qbq3_337`,railFlyoutCaption:`_railFlyoutCaption_1qbq3_369`,flyoutItem:`_flyoutItem_1qbq3_379`,flyoutSeparator:`_flyoutSeparator_1qbq3_384`};export{e as default};
1
+ var e={sideNav:`_sideNav_11mx5_2`,label:`_label_11mx5_24`,trailing:`_trailing_11mx5_25`,groupIndicator:`_groupIndicator_11mx5_29`,groupLabel:`_groupLabel_11mx5_39`,group:`_group_11mx5_29`,groupItems:`_groupItems_11mx5_47`,link:`_link_11mx5_79`,groupTrigger:`_groupTrigger_11mx5_80`,fallbackIcon:`_fallbackIcon_11mx5_89`,list:`_list_11mx5_96`,sublistInner:`_sublistInner_11mx5_97`,checkMark:`_checkMark_11mx5_214`,icon:`_icon_11mx5_220`,sublist:`_sublist_11mx5_97`,sublink:`_sublink_11mx5_280`,subSeparator:`_subSeparator_11mx5_292`,subGroupLabel:`_subGroupLabel_11mx5_299`,header:`_header_11mx5_311`,footer:`_footer_11mx5_318`,customItem:`_customItem_11mx5_326`,collapseToggle:`_collapseToggle_11mx5_331`,collapseIcon:`_collapseIcon_11mx5_357`,railFlyout:`_railFlyout_11mx5_366`,railFlyoutCaption:`_railFlyoutCaption_11mx5_398`,flyoutItem:`_flyoutItem_11mx5_408`,flyoutSeparator:`_flyoutSeparator_11mx5_413`};export{e as default};
@@ -1 +1 @@
1
- import e from"./skeleton.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n}from"react/jsx-runtime";function r({variant:r=`text`,width:i,height:a,lines:o=1,className:s,style:c,...l}){let u={...i!==void 0&&{"--cascivo-skeleton-width":i},...a!==void 0&&{"--cascivo-skeleton-height":a}};return n(`div`,{"aria-hidden":`true`,"data-variant":r,className:t(e.skeleton,s),style:{...u,...c},...l,children:r===`text`&&Array.from({length:o},(t,r)=>n(`span`,{className:e.line},r))})}export{r as Skeleton};
1
+ import e from"./skeleton.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n}from"react/jsx-runtime";function Skeleton({variant:r=`text`,width:i,height:a,lines:o=1,className:s,style:c,...l}){let u={...i!==void 0&&{"--cascivo-skeleton-width":i},...a!==void 0&&{"--cascivo-skeleton-height":a}};return n(`div`,{"aria-hidden":`true`,"data-variant":r,className:t(e.skeleton,s),style:{...u,...c},...l,children:r===`text`&&Array.from({length:o},(t,r)=>n(`span`,{className:e.line},r))})}export{Skeleton};
@@ -1 +1 @@
1
- "use client";import e from"./skip-nav.module.js";import{forwardRef as t}from"react";import{cn as n,useSignals as r}from"@cascivo/core";import{builtin as i,t as a}from"@cascivo/i18n";import{jsx as o}from"react/jsx-runtime";var s=`cascade-skip-target`,c=t(function({targetId:t=s,labels:c,className:l,...u},d){r();let f=c?.label??a(i.skipNav.label);return o(`a`,{ref:d,href:`#${t}`,className:n(e.link,l),...u,children:f})});function l({id:e=s,...t}){return o(`div`,{id:e,tabIndex:-1,...t})}export{c as SkipNavLink,l as SkipNavTarget};
1
+ "use client";import e from"./skip-nav.module.js";import{forwardRef as t}from"react";import{cn as n,useSignals as r}from"@cascivo/core";import{builtin as i,t as a}from"@cascivo/i18n";import{jsx as o}from"react/jsx-runtime";var s=`cascade-skip-target`,c=t(function({targetId:t=s,labels:c,className:l,...u},d){r();let f=c?.label??a(i.skipNav.label);return o(`a`,{ref:d,href:`#${t}`,className:n(e.link,l),...u,children:f})});function SkipNavTarget({id:e=s,...t}){return o(`div`,{id:e,tabIndex:-1,...t})}export{c as SkipNavLink,SkipNavTarget};
@@ -1 +1 @@
1
- "use client";import e from"./spinner.module.js";import{cn as t,useSignals as n}from"@cascivo/core";import{builtin as r,t as i}from"@cascivo/i18n";import{jsx as a}from"react/jsx-runtime";function o({size:o=`md`,label:s,ariaLabel:c,className:l,...u}){return n(),a(`span`,{role:`status`,"aria-label":c??s??i(r.spinner.label),"data-size":o,className:t(e.spinner,l),...u})}export{o as Spinner};
1
+ "use client";import e from"./spinner.module.js";import{cn as t,useSignals as n}from"@cascivo/core";import{builtin as r,t as i}from"@cascivo/i18n";import{jsx as a}from"react/jsx-runtime";function Spinner({size:o=`md`,label:s,ariaLabel:c,className:l,...u}){return n(),a(`span`,{role:`status`,"aria-label":c??s??i(r.spinner.label),"data-size":o,className:t(e.spinner,l),...u})}export{Spinner};
@@ -1 +1 @@
1
- import e from"./stack.module.js";import{jsx as t}from"react/jsx-runtime";function n({children:n,offset:r=4,className:i}){let a=Array.isArray(n)?n:[n];return t(`div`,{className:[e.stack,i].filter(Boolean).join(` `),style:{"--cascivo-stack-offset":`${r}px`},children:a.map((n,r)=>t(`div`,{className:e.layer,style:{"--cascivo-stack-index":r},children:n},r))})}export{n as Stack};
1
+ import e from"./stack.module.js";import{jsx as t}from"react/jsx-runtime";function Stack({children:n,offset:r=4,className:i}){let a=Array.isArray(n)?n:[n];return t(`div`,{className:[e.stack,i].filter(Boolean).join(` `),style:{"--cascivo-stack-offset":`${r}px`},children:a.map((n,r)=>t(`div`,{className:e.layer,style:{"--cascivo-stack-index":r},children:n},r))})}export{Stack};
@@ -1 +1 @@
1
- import e from"./stat.module.js";import{cn as t,sentimentOf as n}from"@cascivo/core/pure";import{jsx as r,jsxs as i}from"react/jsx-runtime";function a({label:a,value:o,delta:s,trend:c=`flat`,goodDirection:l=`up`,helpText:u,card:d=!1,visual:f,className:p,...m}){return i(`div`,{"data-card":d||void 0,className:t(e.stat,p),...m,children:[r(`span`,{className:e.label,children:a}),r(`span`,{className:e.value,children:o}),s&&i(`span`,{"data-trend":c,"data-sentiment":n(c,l),className:e.delta,children:[r(`span`,{"aria-hidden":`true`,className:e.arrow,children:c===`up`?`▲`:c===`down`?`▼`:`–`}),s]}),u&&r(`span`,{className:e.help,children:u}),f&&r(`span`,{className:e.visual,children:f})]})}export{a as Stat};
1
+ import e from"./stat.module.js";import{cn as t,sentimentOf as n}from"@cascivo/core/pure";import{jsx as r,jsxs as i}from"react/jsx-runtime";function Stat({label:a,value:o,delta:s,trend:c=`flat`,goodDirection:l=`up`,helpText:u,card:d=!1,visual:f,className:p,...m}){return i(`div`,{"data-card":d||void 0,className:t(e.stat,p),...m,children:[r(`span`,{className:e.label,children:a}),r(`span`,{className:e.value,children:o}),s&&i(`span`,{"data-trend":c,"data-sentiment":n(c,l),className:e.delta,children:[r(`span`,{"aria-hidden":`true`,className:e.arrow,children:c===`up`?`▲`:c===`down`?`▼`:`–`}),s]}),u&&r(`span`,{className:e.help,children:u}),f&&r(`span`,{className:e.visual,children:f})]})}export{Stat};
@@ -1 +1 @@
1
- import e from"./status.module.js";import{cn as t,normalizeTone as n}from"@cascivo/core/pure";import{jsx as r,jsxs as i}from"react/jsx-runtime";var a={neutral:`neutral`,info:`info`,success:`success`,warning:`warning`,danger:`error`};function o({status:o=`neutral`,pulse:s=!1,className:c,children:l,...u}){return i(`span`,{"data-status":a[n(o)]??o,"data-pulse":s?``:void 0,className:t(e.status,c),...u,children:[r(`span`,{"aria-hidden":`true`,className:e.dot}),l]})}export{o as Status};
1
+ import e from"./status.module.js";import{cn as t,normalizeTone as n}from"@cascivo/core/pure";import{jsx as r,jsxs as i}from"react/jsx-runtime";var a={neutral:`neutral`,info:`info`,success:`success`,warning:`warning`,danger:`error`};function Status({status:o=`neutral`,pulse:s=!1,className:c,children:l,...u}){return i(`span`,{"data-status":a[n(o)]??o,"data-pulse":s?``:void 0,className:t(e.status,c),...u,children:[r(`span`,{"aria-hidden":`true`,className:e.dot}),l]})}export{Status};
@@ -1 +1 @@
1
- "use client";import e from"./steps.module.js";import{normalizeProgress as t,useSignal as n,useSignals as r}from"@cascivo/core";import{builtin as i,t as a}from"@cascivo/i18n";import{jsx as o,jsxs as s}from"react/jsx-runtime";function c({steps:c,items:l,activeStep:u,orientation:d=`horizontal`,className:f,ariaLabel:p,label:m}){r();let h=l??c??[],g=n(u??0);g.value=u??g.value;let _=p??m??a(i.steps.label);return o(`ol`,{className:[e.steps,f].filter(Boolean).join(` `),"data-orientation":d,"aria-label":_,children:h.map((n,r)=>{let i=n.state?t(n.state):r<g.value?`complete`:r===g.value?`active`:`pending`;return s(`li`,{className:e.step,"data-state":i,"aria-current":i===`active`?`step`:void 0,children:[o(`div`,{className:e.circle,children:i===`complete`?`✓`:i===`error`?`✕`:r+1}),o(`span`,{className:e.label,children:n.label})]},n.id??r)})})}export{c as Steps};
1
+ "use client";import e from"./steps.module.js";import{normalizeProgress as t,useSignal as n,useSignals as r}from"@cascivo/core";import{builtin as i,t as a}from"@cascivo/i18n";import{jsx as o,jsxs as s}from"react/jsx-runtime";function Steps({steps:c,items:l,activeStep:u,orientation:d=`horizontal`,className:f,ariaLabel:p,label:m}){r();let h=l??c??[],g=n(u??0);g.value=u??g.value;let _=p??m??a(i.steps.label);return o(`ol`,{className:[e.steps,f].filter(Boolean).join(` `),"data-orientation":d,"aria-label":_,children:h.map((n,r)=>{let i=n.state?t(n.state):r<g.value?`complete`:r===g.value?`active`:`pending`;return s(`li`,{className:e.step,"data-state":i,"aria-current":i===`active`?`step`:void 0,children:[o(`div`,{className:e.circle,children:i===`complete`?`✓`:i===`error`?`✕`:r+1}),o(`span`,{className:e.label,children:n.label})]},n.id??r)})})}export{Steps};