@cascivo/react 1.0.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 (646) hide show
  1. package/README.md +5 -4
  2. package/dist/accordion/accordion.js +1 -114
  3. package/dist/accordion/accordion.module.js +1 -10
  4. package/dist/action-sheet/action-sheet.css +1 -1
  5. package/dist/action-sheet/action-sheet.js +1 -91
  6. package/dist/action-sheet/action-sheet.module.js +1 -12
  7. package/dist/alert/alert.js +1 -55
  8. package/dist/alert/alert.module.js +1 -11
  9. package/dist/alert-dialog/alert-dialog.css +1 -1
  10. package/dist/alert-dialog/alert-dialog.js +1 -66
  11. package/dist/alert-dialog/alert-dialog.module.js +1 -11
  12. package/dist/app-shell/app-shell.css +1 -1
  13. package/dist/app-shell/app-shell.js +1 -85
  14. package/dist/app-shell/app-shell.module.js +1 -12
  15. package/dist/aspect-ratio/aspect-ratio.js +1 -20
  16. package/dist/aspect-ratio/aspect-ratio.module.js +1 -6
  17. package/dist/avatar/avatar.js +1 -57
  18. package/dist/avatar/avatar.module.js +1 -8
  19. package/dist/avatar-group/avatar-group.js +1 -24
  20. package/dist/avatar-group/avatar-group.module.js +1 -6
  21. package/dist/badge/badge.js +1 -22
  22. package/dist/badge/badge.module.js +1 -3
  23. package/dist/blockquote/blockquote.js +1 -16
  24. package/dist/blockquote/blockquote.module.js +1 -6
  25. package/dist/bottom-sheet/bottom-sheet.js +1 -111
  26. package/dist/bottom-sheet/bottom-sheet.module.js +1 -14
  27. package/dist/brand/logo/logo.css +1 -0
  28. package/dist/brand/logo/logo.js +1 -0
  29. package/dist/brand/logo/logo.module.js +2 -0
  30. package/dist/breadcrumb/breadcrumb.js +1 -28
  31. package/dist/breadcrumb/breadcrumb.module.js +1 -3
  32. package/dist/button/button.css +1 -1
  33. package/dist/button/button.js +1 -35
  34. package/dist/button/button.module.js +1 -6
  35. package/dist/button-group/button-group.js +1 -39
  36. package/dist/button-group/button-group.module.js +1 -3
  37. package/dist/calendar/calendar-date.js +1 -0
  38. package/dist/calendar/calendar.css +1 -1
  39. package/dist/calendar/calendar.js +1 -199
  40. package/dist/calendar/calendar.module.js +1 -14
  41. package/dist/card/card.js +1 -53
  42. package/dist/card/card.module.js +1 -12
  43. package/dist/carousel/carousel.css +1 -1
  44. package/dist/carousel/carousel.js +1 -138
  45. package/dist/carousel/carousel.module.js +1 -13
  46. package/dist/chat-bubble/chat-bubble.js +1 -31
  47. package/dist/chat-bubble/chat-bubble.module.js +1 -11
  48. package/dist/checkbox/checkbox.js +1 -39
  49. package/dist/checkbox/checkbox.module.js +1 -8
  50. package/dist/checkbox-card/checkbox-card.css +1 -1
  51. package/dist/checkbox-card/checkbox-card.js +1 -50
  52. package/dist/checkbox-card/checkbox-card.module.js +1 -11
  53. package/dist/code/code.js +1 -14
  54. package/dist/code/code.module.js +1 -3
  55. package/dist/code-snippet/code-snippet.js +2 -121
  56. package/dist/code-snippet/code-snippet.module.js +1 -17
  57. package/dist/code-snippet/highlight.js +1 -67
  58. package/dist/collapsible/collapsible.js +1 -47
  59. package/dist/collapsible/collapsible.module.js +1 -7
  60. package/dist/color-picker/color-picker.css +1 -1
  61. package/dist/color-picker/color-picker.js +1 -272
  62. package/dist/color-picker/color-picker.module.js +1 -18
  63. package/dist/color-picker/color.js +1 -0
  64. package/dist/combobox/combobox.css +1 -1
  65. package/dist/combobox/combobox.js +1 -170
  66. package/dist/combobox/combobox.module.js +1 -19
  67. package/dist/combobox/list-nav.js +1 -0
  68. package/dist/combobox/option-list.js +1 -0
  69. package/dist/command-menu/command-menu.js +1 -421
  70. package/dist/command-menu/command-menu.module.js +1 -34
  71. package/dist/comparison/comparison.js +1 -69
  72. package/dist/comparison/comparison.module.js +1 -9
  73. package/dist/contained-list/contained-list.js +1 -41
  74. package/dist/contained-list/contained-list.module.js +1 -11
  75. package/dist/context-menu/context-menu.js +1 -93
  76. package/dist/context-menu/context-menu.module.js +1 -7
  77. package/dist/copy-button/copy-button.js +1 -60
  78. package/dist/copy-button/copy-button.module.js +1 -6
  79. package/dist/data-list/data-list.js +1 -25
  80. package/dist/data-list/data-list.module.js +1 -8
  81. package/dist/data-table/column-filter.js +1 -0
  82. package/dist/data-table/column-layout.js +1 -0
  83. package/dist/data-table/data-table.css +1 -1
  84. package/dist/data-table/data-table.js +1 -398
  85. package/dist/data-table/data-table.module.js +1 -33
  86. package/dist/data-table/grid-keys.js +1 -0
  87. package/dist/data-table/row-group.js +1 -0
  88. package/dist/data-table/row-search.js +1 -0
  89. package/dist/data-table/row-sort.js +1 -0
  90. package/dist/data-table/to-csv.js +3 -0
  91. package/dist/data-table/virtual-window.js +1 -0
  92. package/dist/date-picker/date-picker.css +1 -1
  93. package/dist/date-picker/date-picker.js +1 -224
  94. package/dist/date-picker/date-picker.module.js +1 -23
  95. package/dist/date-picker/parse-date.js +1 -0
  96. package/dist/date-range-picker/date-range-picker.js +1 -196
  97. package/dist/date-range-picker/date-range-picker.module.js +1 -18
  98. package/dist/dock/dock.css +1 -1
  99. package/dist/dock/dock.js +1 -34
  100. package/dist/dock/dock.module.js +1 -8
  101. package/dist/drawer/drawer.js +1 -96
  102. package/dist/drawer/drawer.module.js +1 -13
  103. package/dist/dropdown/dropdown.css +1 -1
  104. package/dist/dropdown/dropdown.js +1 -110
  105. package/dist/dropdown/dropdown.module.js +1 -9
  106. package/dist/editable/editable.js +1 -76
  107. package/dist/editable/editable.module.js +1 -11
  108. package/dist/empty-state/empty-state.js +1 -32
  109. package/dist/empty-state/empty-state.module.js +1 -9
  110. package/dist/fab/fab.css +1 -1
  111. package/dist/fab/fab.js +1 -93
  112. package/dist/fab/fab.module.js +1 -12
  113. package/dist/field/field.css +1 -1
  114. package/dist/field/field.js +1 -53
  115. package/dist/field/field.module.js +1 -7
  116. package/dist/file-uploader/file-uploader.css +1 -1
  117. package/dist/file-uploader/file-uploader.js +1 -123
  118. package/dist/file-uploader/file-uploader.module.js +1 -18
  119. package/dist/filter/filter.css +1 -1
  120. package/dist/filter/filter.js +1 -35
  121. package/dist/filter/filter.module.js +1 -6
  122. package/dist/form/form.js +1 -95
  123. package/dist/form/form.module.js +1 -3
  124. package/dist/header/header.js +1 -44
  125. package/dist/header/header.module.js +1 -11
  126. package/dist/header-panel/header-panel.js +1 -72
  127. package/dist/header-panel/header-panel.module.js +1 -9
  128. package/dist/heading/heading.css +1 -1
  129. package/dist/heading/heading.js +1 -22
  130. package/dist/heading/heading.module.js +1 -3
  131. package/dist/hover-card/hover-card.css +1 -1
  132. package/dist/hover-card/hover-card.js +1 -84
  133. package/dist/hover-card/hover-card.module.js +1 -6
  134. package/dist/icon-button/icon-button.js +1 -19
  135. package/dist/icon-button/icon-button.module.js +1 -3
  136. package/dist/image/image.css +1 -1
  137. package/dist/image/image.js +1 -64
  138. package/dist/image/image.module.js +1 -9
  139. package/dist/index.d.ts +1521 -38
  140. package/dist/indicator/indicator.js +1 -16
  141. package/dist/indicator/indicator.module.js +1 -6
  142. package/dist/infinite-scroll/infinite-scroll.js +1 -49
  143. package/dist/infinite-scroll/infinite-scroll.module.js +1 -7
  144. package/dist/inline-loading/inline-loading.js +1 -74
  145. package/dist/inline-loading/inline-loading.module.js +1 -9
  146. package/dist/input/input.css +1 -1
  147. package/dist/input/input.js +1 -56
  148. package/dist/input/input.module.js +1 -9
  149. package/dist/input-group/input-group.css +1 -1
  150. package/dist/input-group/input-group.js +1 -39
  151. package/dist/input-group/input-group.module.js +1 -9
  152. package/dist/item/item.js +1 -50
  153. package/dist/item/item.module.js +1 -10
  154. package/dist/join/join.js +1 -12
  155. package/dist/join/join.module.js +1 -3
  156. package/dist/kbd/kbd.js +1 -14
  157. package/dist/kbd/kbd.module.js +1 -3
  158. package/dist/label/label.js +1 -23
  159. package/dist/label/label.module.js +1 -7
  160. package/dist/large-title-header/large-title-header.js +1 -38
  161. package/dist/large-title-header/large-title-header.module.js +1 -12
  162. package/dist/layouts/src/auto-grid/auto-grid.js +1 -17
  163. package/dist/layouts/src/auto-grid/auto-grid.module.js +1 -4
  164. package/dist/layouts/src/center/center.js +1 -16
  165. package/dist/layouts/src/center/center.module.js +1 -3
  166. package/dist/layouts/src/columns/columns.js +1 -21
  167. package/dist/layouts/src/columns/columns.module.js +1 -6
  168. package/dist/layouts/src/flex/flex.css +1 -1
  169. package/dist/layouts/src/flex/flex.js +1 -20
  170. package/dist/layouts/src/flex/flex.module.js +1 -3
  171. package/dist/layouts/src/grid/grid.css +1 -1
  172. package/dist/layouts/src/grid/grid.js +1 -55
  173. package/dist/layouts/src/grid/grid.module.js +1 -7
  174. package/dist/layouts/src/page-header/page-header.js +1 -31
  175. package/dist/layouts/src/page-header/page-header.module.js +1 -10
  176. package/dist/layouts/src/spacer/spacer.js +1 -17
  177. package/dist/layouts/src/spacer/spacer.module.js +1 -3
  178. package/dist/link/link.css +1 -1
  179. package/dist/link/link.js +1 -22
  180. package/dist/link/link.module.js +1 -3
  181. package/dist/list/list.js +1 -21
  182. package/dist/list/list.module.js +1 -6
  183. package/dist/log-viewer/log-viewer.css +1 -1
  184. package/dist/log-viewer/log-viewer.js +2 -184
  185. package/dist/log-viewer/log-viewer.module.js +1 -16
  186. package/dist/menu/menu.js +1 -126
  187. package/dist/menu/menu.module.js +1 -8
  188. package/dist/menu-button/menu-button.js +1 -92
  189. package/dist/menu-button/menu-button.module.js +1 -8
  190. package/dist/menubar/menubar.js +1 -103
  191. package/dist/menubar/menubar.module.js +1 -8
  192. package/dist/modal/modal.css +1 -1
  193. package/dist/modal/modal.js +1 -76
  194. package/dist/modal/modal.module.js +1 -12
  195. package/dist/multi-select/list-nav.js +1 -0
  196. package/dist/multi-select/multi-select.css +1 -1
  197. package/dist/multi-select/multi-select.js +1 -106
  198. package/dist/multi-select/multi-select.module.js +1 -15
  199. package/dist/multi-select/option-list.js +1 -0
  200. package/dist/native-select/native-select.css +1 -1
  201. package/dist/native-select/native-select.js +1 -37
  202. package/dist/native-select/native-select.module.js +1 -7
  203. package/dist/navigation-menu/navigation-menu.js +1 -99
  204. package/dist/navigation-menu/navigation-menu.module.js +1 -10
  205. package/dist/node/accordion/accordion.js +1 -114
  206. package/dist/node/accordion/accordion.module.js +1 -10
  207. package/dist/node/action-sheet/action-sheet.js +1 -91
  208. package/dist/node/action-sheet/action-sheet.module.js +1 -12
  209. package/dist/node/alert/alert.js +1 -55
  210. package/dist/node/alert/alert.module.js +1 -11
  211. package/dist/node/alert-dialog/alert-dialog.js +1 -66
  212. package/dist/node/alert-dialog/alert-dialog.module.js +1 -11
  213. package/dist/node/app-shell/app-shell.js +1 -85
  214. package/dist/node/app-shell/app-shell.module.js +1 -12
  215. package/dist/node/aspect-ratio/aspect-ratio.js +1 -20
  216. package/dist/node/aspect-ratio/aspect-ratio.module.js +1 -6
  217. package/dist/node/avatar/avatar.js +1 -57
  218. package/dist/node/avatar/avatar.module.js +1 -8
  219. package/dist/node/avatar-group/avatar-group.js +1 -24
  220. package/dist/node/avatar-group/avatar-group.module.js +1 -6
  221. package/dist/node/badge/badge.js +1 -22
  222. package/dist/node/badge/badge.module.js +1 -3
  223. package/dist/node/blockquote/blockquote.js +1 -16
  224. package/dist/node/blockquote/blockquote.module.js +1 -6
  225. package/dist/node/bottom-sheet/bottom-sheet.js +1 -111
  226. package/dist/node/bottom-sheet/bottom-sheet.module.js +1 -14
  227. package/dist/node/brand/logo/logo.js +1 -0
  228. package/dist/node/brand/logo/logo.module.js +1 -0
  229. package/dist/node/breadcrumb/breadcrumb.js +1 -28
  230. package/dist/node/breadcrumb/breadcrumb.module.js +1 -3
  231. package/dist/node/button/button.js +1 -35
  232. package/dist/node/button/button.module.js +1 -6
  233. package/dist/node/button-group/button-group.js +1 -39
  234. package/dist/node/button-group/button-group.module.js +1 -3
  235. package/dist/node/calendar/calendar-date.js +1 -0
  236. package/dist/node/calendar/calendar.js +1 -199
  237. package/dist/node/calendar/calendar.module.js +1 -14
  238. package/dist/node/card/card.js +1 -53
  239. package/dist/node/card/card.module.js +1 -12
  240. package/dist/node/carousel/carousel.js +1 -138
  241. package/dist/node/carousel/carousel.module.js +1 -13
  242. package/dist/node/chat-bubble/chat-bubble.js +1 -31
  243. package/dist/node/chat-bubble/chat-bubble.module.js +1 -11
  244. package/dist/node/checkbox/checkbox.js +1 -39
  245. package/dist/node/checkbox/checkbox.module.js +1 -8
  246. package/dist/node/checkbox-card/checkbox-card.js +1 -50
  247. package/dist/node/checkbox-card/checkbox-card.module.js +1 -11
  248. package/dist/node/code/code.js +1 -14
  249. package/dist/node/code/code.module.js +1 -3
  250. package/dist/node/code-snippet/code-snippet.js +2 -121
  251. package/dist/node/code-snippet/code-snippet.module.js +1 -17
  252. package/dist/node/code-snippet/highlight.js +1 -67
  253. package/dist/node/collapsible/collapsible.js +1 -47
  254. package/dist/node/collapsible/collapsible.module.js +1 -7
  255. package/dist/node/color-picker/color-picker.js +1 -272
  256. package/dist/node/color-picker/color-picker.module.js +1 -18
  257. package/dist/node/color-picker/color.js +1 -0
  258. package/dist/node/combobox/combobox.js +1 -170
  259. package/dist/node/combobox/combobox.module.js +1 -19
  260. package/dist/node/combobox/list-nav.js +1 -0
  261. package/dist/node/combobox/option-list.js +1 -0
  262. package/dist/node/command-menu/command-menu.js +1 -421
  263. package/dist/node/command-menu/command-menu.module.js +1 -34
  264. package/dist/node/comparison/comparison.js +1 -69
  265. package/dist/node/comparison/comparison.module.js +1 -9
  266. package/dist/node/contained-list/contained-list.js +1 -41
  267. package/dist/node/contained-list/contained-list.module.js +1 -11
  268. package/dist/node/context-menu/context-menu.js +1 -93
  269. package/dist/node/context-menu/context-menu.module.js +1 -7
  270. package/dist/node/copy-button/copy-button.js +1 -60
  271. package/dist/node/copy-button/copy-button.module.js +1 -6
  272. package/dist/node/data-list/data-list.js +1 -25
  273. package/dist/node/data-list/data-list.module.js +1 -8
  274. package/dist/node/data-table/column-filter.js +1 -0
  275. package/dist/node/data-table/column-layout.js +1 -0
  276. package/dist/node/data-table/data-table.js +1 -398
  277. package/dist/node/data-table/data-table.module.js +1 -33
  278. package/dist/node/data-table/grid-keys.js +1 -0
  279. package/dist/node/data-table/row-group.js +1 -0
  280. package/dist/node/data-table/row-search.js +1 -0
  281. package/dist/node/data-table/row-sort.js +1 -0
  282. package/dist/node/data-table/to-csv.js +3 -0
  283. package/dist/node/data-table/virtual-window.js +1 -0
  284. package/dist/node/date-picker/date-picker.js +1 -224
  285. package/dist/node/date-picker/date-picker.module.js +1 -23
  286. package/dist/node/date-picker/parse-date.js +1 -0
  287. package/dist/node/date-range-picker/date-range-picker.js +1 -196
  288. package/dist/node/date-range-picker/date-range-picker.module.js +1 -18
  289. package/dist/node/dock/dock.js +1 -34
  290. package/dist/node/dock/dock.module.js +1 -8
  291. package/dist/node/drawer/drawer.js +1 -96
  292. package/dist/node/drawer/drawer.module.js +1 -13
  293. package/dist/node/dropdown/dropdown.js +1 -110
  294. package/dist/node/dropdown/dropdown.module.js +1 -9
  295. package/dist/node/editable/editable.js +1 -76
  296. package/dist/node/editable/editable.module.js +1 -11
  297. package/dist/node/empty-state/empty-state.js +1 -32
  298. package/dist/node/empty-state/empty-state.module.js +1 -9
  299. package/dist/node/fab/fab.js +1 -93
  300. package/dist/node/fab/fab.module.js +1 -12
  301. package/dist/node/field/field.js +1 -53
  302. package/dist/node/field/field.module.js +1 -7
  303. package/dist/node/file-uploader/file-uploader.js +1 -123
  304. package/dist/node/file-uploader/file-uploader.module.js +1 -18
  305. package/dist/node/filter/filter.js +1 -35
  306. package/dist/node/filter/filter.module.js +1 -6
  307. package/dist/node/form/form.js +1 -95
  308. package/dist/node/form/form.module.js +1 -3
  309. package/dist/node/header/header.js +1 -44
  310. package/dist/node/header/header.module.js +1 -11
  311. package/dist/node/header-panel/header-panel.js +1 -72
  312. package/dist/node/header-panel/header-panel.module.js +1 -9
  313. package/dist/node/heading/heading.js +1 -22
  314. package/dist/node/heading/heading.module.js +1 -3
  315. package/dist/node/hover-card/hover-card.js +1 -84
  316. package/dist/node/hover-card/hover-card.module.js +1 -6
  317. package/dist/node/icon-button/icon-button.js +1 -19
  318. package/dist/node/icon-button/icon-button.module.js +1 -3
  319. package/dist/node/image/image.js +1 -64
  320. package/dist/node/image/image.module.js +1 -9
  321. package/dist/node/indicator/indicator.js +1 -16
  322. package/dist/node/indicator/indicator.module.js +1 -6
  323. package/dist/node/infinite-scroll/infinite-scroll.js +1 -49
  324. package/dist/node/infinite-scroll/infinite-scroll.module.js +1 -7
  325. package/dist/node/inline-loading/inline-loading.js +1 -74
  326. package/dist/node/inline-loading/inline-loading.module.js +1 -9
  327. package/dist/node/input/input.js +1 -56
  328. package/dist/node/input/input.module.js +1 -9
  329. package/dist/node/input-group/input-group.js +1 -39
  330. package/dist/node/input-group/input-group.module.js +1 -9
  331. package/dist/node/item/item.js +1 -50
  332. package/dist/node/item/item.module.js +1 -10
  333. package/dist/node/join/join.js +1 -12
  334. package/dist/node/join/join.module.js +1 -3
  335. package/dist/node/kbd/kbd.js +1 -14
  336. package/dist/node/kbd/kbd.module.js +1 -3
  337. package/dist/node/label/label.js +1 -23
  338. package/dist/node/label/label.module.js +1 -7
  339. package/dist/node/large-title-header/large-title-header.js +1 -38
  340. package/dist/node/large-title-header/large-title-header.module.js +1 -12
  341. package/dist/node/layouts/src/auto-grid/auto-grid.js +1 -17
  342. package/dist/node/layouts/src/auto-grid/auto-grid.module.js +1 -4
  343. package/dist/node/layouts/src/center/center.js +1 -16
  344. package/dist/node/layouts/src/center/center.module.js +1 -3
  345. package/dist/node/layouts/src/columns/columns.js +1 -21
  346. package/dist/node/layouts/src/columns/columns.module.js +1 -6
  347. package/dist/node/layouts/src/flex/flex.js +1 -20
  348. package/dist/node/layouts/src/flex/flex.module.js +1 -3
  349. package/dist/node/layouts/src/grid/grid.js +1 -55
  350. package/dist/node/layouts/src/grid/grid.module.js +1 -7
  351. package/dist/node/layouts/src/page-header/page-header.js +1 -31
  352. package/dist/node/layouts/src/page-header/page-header.module.js +1 -10
  353. package/dist/node/layouts/src/spacer/spacer.js +1 -17
  354. package/dist/node/layouts/src/spacer/spacer.module.js +1 -3
  355. package/dist/node/link/link.js +1 -22
  356. package/dist/node/link/link.module.js +1 -3
  357. package/dist/node/list/list.js +1 -21
  358. package/dist/node/list/list.module.js +1 -6
  359. package/dist/node/log-viewer/log-viewer.js +2 -184
  360. package/dist/node/log-viewer/log-viewer.module.js +1 -16
  361. package/dist/node/menu/menu.js +1 -126
  362. package/dist/node/menu/menu.module.js +1 -8
  363. package/dist/node/menu-button/menu-button.js +1 -92
  364. package/dist/node/menu-button/menu-button.module.js +1 -8
  365. package/dist/node/menubar/menubar.js +1 -103
  366. package/dist/node/menubar/menubar.module.js +1 -8
  367. package/dist/node/modal/modal.js +1 -76
  368. package/dist/node/modal/modal.module.js +1 -12
  369. package/dist/node/multi-select/list-nav.js +1 -0
  370. package/dist/node/multi-select/multi-select.js +1 -106
  371. package/dist/node/multi-select/multi-select.module.js +1 -15
  372. package/dist/node/multi-select/option-list.js +1 -0
  373. package/dist/node/native-select/native-select.js +1 -37
  374. package/dist/node/native-select/native-select.module.js +1 -7
  375. package/dist/node/navigation-menu/navigation-menu.js +1 -99
  376. package/dist/node/navigation-menu/navigation-menu.module.js +1 -10
  377. package/dist/node/notification/notification.js +1 -140
  378. package/dist/node/notification/notification.module.js +1 -11
  379. package/dist/node/number-input/number-input.js +1 -148
  380. package/dist/node/number-input/number-input.module.js +1 -12
  381. package/dist/node/otp-input/otp-input.js +1 -70
  382. package/dist/node/otp-input/otp-input.module.js +1 -6
  383. package/dist/node/overflow-menu/overflow-menu.js +1 -70
  384. package/dist/node/overflow-menu/overflow-menu.module.js +1 -7
  385. package/dist/node/pagination/pagination.js +1 -92
  386. package/dist/node/pagination/pagination.module.js +1 -11
  387. package/dist/node/password-input/password-input.js +1 -81
  388. package/dist/node/password-input/password-input.module.js +1 -11
  389. package/dist/node/popover/popover.js +1 -51
  390. package/dist/node/popover/popover.module.js +1 -6
  391. package/dist/node/popover/use-popover.js +1 -55
  392. package/dist/node/progress/progress.js +1 -16
  393. package/dist/node/progress/progress.module.js +1 -6
  394. package/dist/node/progress-bar/progress-bar.js +1 -42
  395. package/dist/node/progress-bar/progress-bar.module.js +1 -11
  396. package/dist/node/progress-circle/progress-circle.js +1 -46
  397. package/dist/node/progress-circle/progress-circle.module.js +1 -9
  398. package/dist/node/progress-indicator/progress-indicator.js +1 -34
  399. package/dist/node/progress-indicator/progress-indicator.module.js +1 -10
  400. package/dist/node/prose/prose.js +1 -13
  401. package/dist/node/prose/prose.module.js +1 -3
  402. package/dist/node/pull-to-refresh/pull-to-refresh.js +1 -82
  403. package/dist/node/pull-to-refresh/pull-to-refresh.module.js +1 -9
  404. package/dist/node/qr-code/encode.js +1 -583
  405. package/dist/node/qr-code/qr-code.js +1 -41
  406. package/dist/node/qr-code/qr-code.module.js +1 -6
  407. package/dist/node/radial-progress/radial-progress.js +1 -27
  408. package/dist/node/radial-progress/radial-progress.module.js +1 -6
  409. package/dist/node/radio/radio.js +1 -49
  410. package/dist/node/radio/radio.module.js +1 -9
  411. package/dist/node/radio-card/radio-card.js +1 -64
  412. package/dist/node/radio-card/radio-card.module.js +1 -11
  413. package/dist/node/rating-group/rating-group.js +1 -37
  414. package/dist/node/rating-group/rating-group.module.js +1 -6
  415. package/dist/node/react/src/index.js +1 -141
  416. package/dist/node/relative-time/relative-time.js +1 -66
  417. package/dist/node/relative-time/relative-time.module.js +1 -3
  418. package/dist/node/reorder-list/reorder-list.js +1 -143
  419. package/dist/node/reorder-list/reorder-list.module.js +1 -11
  420. package/dist/node/resizable/resizable.js +1 -80
  421. package/dist/node/resizable/resizable.module.js +1 -8
  422. package/dist/node/scroll-area/scroll-area.js +1 -38
  423. package/dist/node/scroll-area/scroll-area.module.js +1 -3
  424. package/dist/node/search/search.js +1 -96
  425. package/dist/node/search/search.module.js +1 -9
  426. package/dist/node/segmented-control/segmented-control.js +1 -43
  427. package/dist/node/segmented-control/segmented-control.module.js +1 -6
  428. package/dist/node/select/select.js +1 -73
  429. package/dist/node/select/select.module.js +1 -11
  430. package/dist/node/separator/separator.js +1 -19
  431. package/dist/node/separator/separator.module.js +1 -3
  432. package/dist/node/sheet/sheet.js +1 -49
  433. package/dist/node/sheet/sheet.module.js +1 -9
  434. package/dist/node/shell-header/shell-header.js +1 -169
  435. package/dist/node/shell-header/shell-header.module.js +1 -24
  436. package/dist/node/side-nav/side-nav.js +1 -334
  437. package/dist/node/side-nav/side-nav.module.js +1 -31
  438. package/dist/node/skeleton/skeleton.js +1 -23
  439. package/dist/node/skeleton/skeleton.module.js +1 -7
  440. package/dist/node/skip-nav/skip-nav.js +1 -28
  441. package/dist/node/skip-nav/skip-nav.module.js +1 -3
  442. package/dist/node/slider/slider.js +1 -30
  443. package/dist/node/slider/slider.module.js +1 -7
  444. package/dist/node/spinner/spinner.js +1 -18
  445. package/dist/node/spinner/spinner.module.js +1 -6
  446. package/dist/node/stack/stack.js +1 -17
  447. package/dist/node/stack/stack.module.js +1 -6
  448. package/dist/node/stat/stat.js +1 -41
  449. package/dist/node/stat/stat.module.js +1 -11
  450. package/dist/node/status/status.js +1 -25
  451. package/dist/node/status/status.module.js +1 -7
  452. package/dist/node/steps/steps.js +1 -35
  453. package/dist/node/steps/steps.module.js +1 -8
  454. package/dist/node/structured-list/structured-list.js +1 -102
  455. package/dist/node/structured-list/structured-list.module.js +1 -12
  456. package/dist/node/swap/swap.js +1 -36
  457. package/dist/node/swap/swap.module.js +1 -7
  458. package/dist/node/swipe-item/swipe-item.js +1 -62
  459. package/dist/node/swipe-item/swipe-item.module.js +1 -12
  460. package/dist/node/switcher/switcher.js +1 -32
  461. package/dist/node/switcher/switcher.module.js +1 -8
  462. package/dist/node/tabs/tabs.js +1 -98
  463. package/dist/node/tabs/tabs.module.js +1 -8
  464. package/dist/node/tag/tag.js +1 -33
  465. package/dist/node/tag/tag.module.js +1 -6
  466. package/dist/node/tags-input/tags-input.js +1 -68
  467. package/dist/node/tags-input/tags-input.module.js +1 -8
  468. package/dist/node/text/text.js +1 -16
  469. package/dist/node/text/text.module.js +1 -3
  470. package/dist/node/textarea/textarea.js +1 -58
  471. package/dist/node/textarea/textarea.module.js +1 -9
  472. package/dist/node/tile/tile.js +1 -39
  473. package/dist/node/tile/tile.module.js +1 -7
  474. package/dist/node/time-picker/time-picker.js +1 -64
  475. package/dist/node/time-picker/time-picker.module.js +1 -9
  476. package/dist/node/timeline/timeline.js +1 -55
  477. package/dist/node/timeline/timeline.module.js +1 -11
  478. package/dist/node/toast/toast.js +1 -85
  479. package/dist/node/toast/toast.module.js +1 -11
  480. package/dist/node/toc/toc.js +1 -43
  481. package/dist/node/toc/toc.module.js +1 -3
  482. package/dist/node/toc/use-toc-from-region.js +1 -18
  483. package/dist/node/toggle/toggle.js +1 -42
  484. package/dist/node/toggle/toggle.module.js +1 -8
  485. package/dist/node/toggle-group/toggle-group.js +1 -55
  486. package/dist/node/toggle-group/toggle-group.module.js +1 -6
  487. package/dist/node/toggletip/toggletip.js +1 -49
  488. package/dist/node/toggletip/toggletip.module.js +1 -7
  489. package/dist/node/tooltip/tooltip.js +1 -58
  490. package/dist/node/tooltip/tooltip.module.js +1 -6
  491. package/dist/node/tree-view/tree-view.js +1 -201
  492. package/dist/node/tree-view/tree-view.module.js +1 -13
  493. package/dist/node/user/user.js +1 -35
  494. package/dist/node/user/user.module.js +1 -9
  495. package/dist/node/virtual-list/virtual-list.js +1 -40
  496. package/dist/node/virtual-list/virtual-list.module.js +1 -7
  497. package/dist/node/visually-hidden/visually-hidden.js +1 -2
  498. package/dist/node/wheel-picker/wheel-picker.js +1 -84
  499. package/dist/node/wheel-picker/wheel-picker.module.js +1 -8
  500. package/dist/notification/notification.js +1 -140
  501. package/dist/notification/notification.module.js +1 -11
  502. package/dist/number-input/number-input.js +1 -148
  503. package/dist/number-input/number-input.module.js +1 -12
  504. package/dist/otp-input/otp-input.js +1 -70
  505. package/dist/otp-input/otp-input.module.js +1 -6
  506. package/dist/overflow-menu/overflow-menu.js +1 -70
  507. package/dist/overflow-menu/overflow-menu.module.js +1 -7
  508. package/dist/pagination/pagination.js +1 -92
  509. package/dist/pagination/pagination.module.js +1 -11
  510. package/dist/password-input/password-input.js +1 -81
  511. package/dist/password-input/password-input.module.js +1 -11
  512. package/dist/popover/popover.js +1 -51
  513. package/dist/popover/popover.module.js +1 -6
  514. package/dist/popover/use-popover.js +1 -55
  515. package/dist/progress/progress.css +1 -1
  516. package/dist/progress/progress.js +1 -16
  517. package/dist/progress/progress.module.js +1 -6
  518. package/dist/progress-bar/progress-bar.css +1 -1
  519. package/dist/progress-bar/progress-bar.js +1 -42
  520. package/dist/progress-bar/progress-bar.module.js +1 -11
  521. package/dist/progress-circle/progress-circle.js +1 -46
  522. package/dist/progress-circle/progress-circle.module.js +1 -9
  523. package/dist/progress-indicator/progress-indicator.css +1 -1
  524. package/dist/progress-indicator/progress-indicator.js +1 -34
  525. package/dist/progress-indicator/progress-indicator.module.js +1 -10
  526. package/dist/prose/prose.css +1 -1
  527. package/dist/prose/prose.js +1 -13
  528. package/dist/prose/prose.module.js +1 -3
  529. package/dist/pull-to-refresh/pull-to-refresh.js +1 -82
  530. package/dist/pull-to-refresh/pull-to-refresh.module.js +1 -9
  531. package/dist/qr-code/encode.js +1 -583
  532. package/dist/qr-code/qr-code.js +1 -41
  533. package/dist/qr-code/qr-code.module.js +1 -6
  534. package/dist/radial-progress/radial-progress.js +1 -27
  535. package/dist/radial-progress/radial-progress.module.js +1 -6
  536. package/dist/radio/radio.js +1 -49
  537. package/dist/radio/radio.module.js +1 -9
  538. package/dist/radio-card/radio-card.css +1 -1
  539. package/dist/radio-card/radio-card.js +1 -64
  540. package/dist/radio-card/radio-card.module.js +1 -11
  541. package/dist/rating-group/rating-group.js +1 -37
  542. package/dist/rating-group/rating-group.module.js +1 -6
  543. package/dist/react/src/index.js +1 -141
  544. package/dist/relative-time/relative-time.js +1 -66
  545. package/dist/relative-time/relative-time.module.js +1 -3
  546. package/dist/reorder-list/reorder-list.css +1 -1
  547. package/dist/reorder-list/reorder-list.js +1 -143
  548. package/dist/reorder-list/reorder-list.module.js +1 -11
  549. package/dist/resizable/resizable.js +1 -80
  550. package/dist/resizable/resizable.module.js +1 -8
  551. package/dist/scroll-area/scroll-area.css +1 -1
  552. package/dist/scroll-area/scroll-area.js +1 -38
  553. package/dist/scroll-area/scroll-area.module.js +1 -3
  554. package/dist/search/search.js +1 -96
  555. package/dist/search/search.module.js +1 -9
  556. package/dist/segmented-control/segmented-control.js +1 -43
  557. package/dist/segmented-control/segmented-control.module.js +1 -6
  558. package/dist/select/select.js +1 -73
  559. package/dist/select/select.module.js +1 -11
  560. package/dist/separator/separator.js +1 -19
  561. package/dist/separator/separator.module.js +1 -3
  562. package/dist/sheet/sheet.js +1 -49
  563. package/dist/sheet/sheet.module.js +1 -9
  564. package/dist/shell-header/shell-header.css +1 -1
  565. package/dist/shell-header/shell-header.js +1 -169
  566. package/dist/shell-header/shell-header.module.js +1 -24
  567. package/dist/side-nav/side-nav.css +1 -1
  568. package/dist/side-nav/side-nav.js +1 -334
  569. package/dist/side-nav/side-nav.module.js +1 -31
  570. package/dist/skeleton/skeleton.css +1 -1
  571. package/dist/skeleton/skeleton.js +1 -23
  572. package/dist/skeleton/skeleton.module.js +1 -7
  573. package/dist/skip-nav/skip-nav.js +1 -28
  574. package/dist/skip-nav/skip-nav.module.js +1 -3
  575. package/dist/slider/slider.js +1 -30
  576. package/dist/slider/slider.module.js +1 -7
  577. package/dist/spinner/spinner.css +1 -1
  578. package/dist/spinner/spinner.js +1 -18
  579. package/dist/spinner/spinner.module.js +1 -6
  580. package/dist/stack/stack.js +1 -17
  581. package/dist/stack/stack.module.js +1 -6
  582. package/dist/stat/stat.js +1 -41
  583. package/dist/stat/stat.module.js +1 -11
  584. package/dist/status/status.css +1 -1
  585. package/dist/status/status.js +1 -25
  586. package/dist/status/status.module.js +1 -7
  587. package/dist/steps/steps.css +1 -1
  588. package/dist/steps/steps.js +1 -35
  589. package/dist/steps/steps.module.js +1 -8
  590. package/dist/structured-list/structured-list.js +1 -102
  591. package/dist/structured-list/structured-list.module.js +1 -12
  592. package/dist/styles.css +401 -55
  593. package/dist/swap/swap.css +1 -1
  594. package/dist/swap/swap.js +1 -36
  595. package/dist/swap/swap.module.js +1 -7
  596. package/dist/swipe-item/swipe-item.js +1 -62
  597. package/dist/swipe-item/swipe-item.module.js +1 -12
  598. package/dist/switcher/switcher.js +1 -32
  599. package/dist/switcher/switcher.module.js +1 -8
  600. package/dist/tabs/tabs.js +1 -98
  601. package/dist/tabs/tabs.module.js +1 -8
  602. package/dist/tag/tag.js +1 -33
  603. package/dist/tag/tag.module.js +1 -6
  604. package/dist/tags-input/tags-input.js +1 -68
  605. package/dist/tags-input/tags-input.module.js +1 -8
  606. package/dist/text/text.css +1 -1
  607. package/dist/text/text.js +1 -16
  608. package/dist/text/text.module.js +1 -3
  609. package/dist/textarea/textarea.css +1 -1
  610. package/dist/textarea/textarea.js +1 -58
  611. package/dist/textarea/textarea.module.js +1 -9
  612. package/dist/tile/tile.css +1 -1
  613. package/dist/tile/tile.js +1 -39
  614. package/dist/tile/tile.module.js +1 -7
  615. package/dist/time-picker/time-picker.js +1 -64
  616. package/dist/time-picker/time-picker.module.js +1 -9
  617. package/dist/timeline/timeline.js +1 -55
  618. package/dist/timeline/timeline.module.js +1 -11
  619. package/dist/toast/toast.css +1 -1
  620. package/dist/toast/toast.js +1 -85
  621. package/dist/toast/toast.module.js +1 -11
  622. package/dist/toc/toc.css +1 -1
  623. package/dist/toc/toc.js +1 -43
  624. package/dist/toc/toc.module.js +1 -3
  625. package/dist/toc/use-toc-from-region.js +1 -18
  626. package/dist/toggle/toggle.js +1 -42
  627. package/dist/toggle/toggle.module.js +1 -8
  628. package/dist/toggle-group/toggle-group.js +1 -55
  629. package/dist/toggle-group/toggle-group.module.js +1 -6
  630. package/dist/toggletip/toggletip.js +1 -49
  631. package/dist/toggletip/toggletip.module.js +1 -7
  632. package/dist/tooltip/tooltip.css +1 -1
  633. package/dist/tooltip/tooltip.js +1 -58
  634. package/dist/tooltip/tooltip.module.js +1 -6
  635. package/dist/tree-view/tree-view.css +1 -1
  636. package/dist/tree-view/tree-view.js +1 -201
  637. package/dist/tree-view/tree-view.module.js +1 -13
  638. package/dist/user/user.js +1 -35
  639. package/dist/user/user.module.js +1 -9
  640. package/dist/virtual-list/virtual-list.js +1 -40
  641. package/dist/virtual-list/virtual-list.module.js +1 -7
  642. package/dist/visually-hidden/visually-hidden.js +1 -2
  643. package/dist/wheel-picker/wheel-picker.js +1 -84
  644. package/dist/wheel-picker/wheel-picker.module.js +1 -8
  645. package/package.json +4 -4
  646. package/readme.body.md +3 -2
@@ -1 +1 @@
1
- @layer cascivo.component{._root_3wuq6_2{display:inline-flex;position:relative}._menu_3wuq6_7{z-index:var(--cascivo-z-dropdown);min-inline-size:10rem;max-inline-size:calc(100vw - var(--cascivo-space-4,1rem));padding:var(--cascivo-space-1);background-color:var(--cascivo-color-surface-overlay);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-overlay);box-shadow:var(--cascivo-shadow-overlay);opacity:0;visibility:hidden;transition:opacity var(--cascivo-motion-enter), translate var(--cascivo-motion-enter), visibility var(--cascivo-motion-enter);position:absolute;inset-block-start:calc(100% + var(--cascivo-space-1));translate:0 -.25rem}._menu_3wuq6_7[data-placement=bottom-start]{inset-inline-start:0}._menu_3wuq6_7[data-placement=bottom-end]{inset-inline-end:0}._menu_3wuq6_7[data-state=open]{opacity:1;visibility:visible;translate:0}@starting-style{._menu_3wuq6_7[data-state=open]{opacity:0;translate:0 -.25rem}}@supports (anchor-name:--a) and (position-anchor:--a){._menu_3wuq6_7{position-anchor:var(--cascivo-dropdown-anchor,--dropdown-trigger);position:fixed;inset:auto}._menu_3wuq6_7[data-placement=bottom-start]{inset-area:block-end span-inline-start;inset-inline-start:0}._menu_3wuq6_7[data-placement=bottom-end]{inset-area:block-end span-inline-end;inset-inline-end:0}@media (prefers-reduced-motion:no-preference){._menu_3wuq6_7{transition:opacity var(--cascivo-motion-enter), translate var(--cascivo-motion-enter), visibility var(--cascivo-motion-enter), display var(--cascivo-motion-enter) allow-discrete, overlay var(--cascivo-motion-enter) allow-discrete}@starting-style{._menu_3wuq6_7[data-state=open]{opacity:0;translate:0 -.25rem}}}}._item_3wuq6_83{align-items:center;gap:var(--cascivo-space-2);inline-size:100%;padding-inline:var(--cascivo-space-3);padding-block:var(--cascivo-space-2);font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);text-align:start;color:var(--cascivo-color-text);border-radius:var(--cascivo-radius-item);cursor:pointer;background:0 0;border:none;display:flex}._item_3wuq6_83:hover:not(:disabled),._item_3wuq6_83:focus-visible{background-color:var(--cascivo-color-bg-subtle);outline:none}._item_3wuq6_83:disabled{opacity:.5;cursor:not-allowed}._icon_3wuq6_111{color:var(--cascivo-color-text-muted);align-items:center;display:inline-flex}._separator_3wuq6_117{block-size:1px;margin-block:var(--cascivo-space-1);background-color:var(--cascivo-color-border)}}@media (forced-colors:active){._menu_3wuq6_7{border:1px solid buttontext}._item_3wuq6_83:focus-visible{outline-offset:2px;outline:2px solid highlight}}
1
+ @layer cascivo.component{._root_431yi_2{display:inline-flex;position:relative}._menu_431yi_7{z-index:var(--cascivo-z-dropdown);min-inline-size:10rem;max-inline-size:calc(100vw - var(--cascivo-space-4,1rem));padding:var(--cascivo-space-1);background-color:var(--cascivo-color-surface-overlay);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-overlay);box-shadow:var(--cascivo-shadow-overlay);opacity:0;visibility:hidden;transition:opacity var(--cascivo-motion-enter), translate var(--cascivo-motion-enter), visibility var(--cascivo-motion-enter);position:absolute;inset-block-start:calc(100% + var(--cascivo-space-1));translate:0 -.25rem}._menu_431yi_7[data-placement=bottom-start]{inset-inline-start:0}._menu_431yi_7[data-placement=bottom-end]{inset-inline-end:0}._menu_431yi_7[data-state=open]{opacity:1;visibility:visible;translate:0}@starting-style{._menu_431yi_7[data-state=open]{opacity:0;translate:0 -.25rem}}@supports (anchor-name:--a) and (position-anchor:--a){._menu_431yi_7{position-anchor:var(--cascivo-dropdown-anchor,--dropdown-trigger);min-inline-size:max(10rem, anchor-size(self-inline));position:fixed;inset:auto}._menu_431yi_7[data-placement=bottom-start]{position-area:block-end span-inline-start;inset-inline-start:0}._menu_431yi_7[data-placement=bottom-end]{position-area:block-end span-inline-end;inset-inline-end:0}@media (prefers-reduced-motion:no-preference){._menu_431yi_7{transition:opacity var(--cascivo-motion-enter), translate var(--cascivo-motion-enter), visibility var(--cascivo-motion-enter), display var(--cascivo-motion-enter) allow-discrete, overlay var(--cascivo-motion-enter) allow-discrete}@starting-style{._menu_431yi_7[data-state=open]{opacity:0;translate:0 -.25rem}}}}._item_431yi_88{align-items:center;gap:var(--cascivo-space-2);inline-size:100%;padding-inline:var(--cascivo-space-3);padding-block:var(--cascivo-space-2);font-family:var(--cascivo-font-sans);font-size:var(--cascivo-text-sm);text-align:start;color:var(--cascivo-color-text);border-radius:var(--cascivo-radius-item);cursor:pointer;background:0 0;border:none;display:flex}._item_431yi_88:hover:not(:disabled),._item_431yi_88:focus-visible{background-color:var(--cascivo-color-bg-subtle);outline:none}._item_431yi_88:disabled{opacity:.5;cursor:not-allowed}._icon_431yi_116{color:var(--cascivo-color-text-muted);align-items:center;display:inline-flex}._separator_431yi_122{block-size:1px;margin-block:var(--cascivo-space-1);background-color:var(--cascivo-color-border)}}@media (forced-colors:active){._menu_431yi_7{border:1px solid buttontext}._item_431yi_88:focus-visible{outline-offset:2px;outline:2px solid highlight}}
@@ -1,110 +1 @@
1
- "use client";
2
-
3
- import e from "./dropdown.module.js";
4
- import { cloneElement as t, useRef as n } from "react";
5
- import { composeRefs as r, createMachine as i, focusElement as a, useEffectPropSignal as o, useMachine as s, useSignal as c, useSignalEffect as l, useSignals as u } from "@cascivo/core";
6
- import { jsx as d, jsxs as f } from "react/jsx-runtime";
7
- //#region ../components/src/dropdown/dropdown.tsx
8
- var p = i({
9
- initial: "closed",
10
- states: {
11
- closed: { on: { OPEN: "open" } },
12
- open: { on: { CLOSE: "closed" } }
13
- }
14
- });
15
- function m(e) {
16
- return !("kind" in e);
17
- }
18
- function h({ trigger: i, items: h, onSelect: g, placement: _ = "bottom-start", open: v, onOpenChange: y }) {
19
- u();
20
- let [b, x] = s(p), S = n(null), C = n(null), w = n(null), T = n([]), E = c(-1), D = v !== void 0, O = D ? v : b.value === "open", k = o(O), A = h.map((e, t) => ({
21
- item: e,
22
- index: t
23
- })).filter(({ item: e }) => m(e) && !e.disabled).map(({ index: e }) => e), j = (e) => {
24
- D || x(e ? "OPEN" : "CLOSE"), y?.(e);
25
- };
26
- l(() => {
27
- let e = E.value;
28
- k.value && e >= 0 && T.current[e]?.focus();
29
- }), l(() => {
30
- k.value ? E.value = A[0] ?? -1 : E.value = -1;
31
- }), l(() => {
32
- k.value ? w.current?.showPopover() : w.current?.hidePopover();
33
- }), l(() => {
34
- let e = w.current;
35
- if (!e) return;
36
- let t = (e) => {
37
- e.newState === "closed" && j(!1);
38
- };
39
- return e.addEventListener("toggle", t), () => e.removeEventListener("toggle", t);
40
- });
41
- let M = (e) => {
42
- let t = h[e];
43
- !t || !m(t) || t.disabled || (g?.(t.value), j(!1), a(C.current));
44
- }, N = (e) => {
45
- A.length !== 0 && (E.value = A[(A.indexOf(E.value) + e + A.length) % A.length] ?? -1);
46
- }, P = (e) => {
47
- switch (e.key) {
48
- case "ArrowDown":
49
- e.preventDefault(), N(1);
50
- break;
51
- case "ArrowUp":
52
- e.preventDefault(), N(-1);
53
- break;
54
- case "Home":
55
- e.preventDefault(), E.value = A[0] ?? -1;
56
- break;
57
- case "End":
58
- e.preventDefault(), E.value = A[A.length - 1] ?? -1;
59
- break;
60
- case "Escape":
61
- e.preventDefault(), j(!1), a(C.current);
62
- break;
63
- case "Enter":
64
- case " ":
65
- e.preventDefault(), M(E.value);
66
- break;
67
- }
68
- }, F = i, I = t(F, {
69
- ref: r(C, F.props.ref),
70
- onClick: (e) => {
71
- F.props.onClick?.(e), j(!O);
72
- },
73
- "aria-haspopup": "menu",
74
- "aria-expanded": O
75
- });
76
- return /* @__PURE__ */ f("div", {
77
- ref: S,
78
- className: e.root,
79
- children: [I, /* @__PURE__ */ d("div", {
80
- ref: w,
81
- popover: "auto",
82
- role: "menu",
83
- "data-placement": _,
84
- "data-state": O ? "open" : "closed",
85
- className: e.menu,
86
- onKeyDown: P,
87
- children: h.map((t, n) => m(t) ? /* @__PURE__ */ f("button", {
88
- type: "button",
89
- role: "menuitem",
90
- ref: (e) => {
91
- T.current[n] = e;
92
- },
93
- tabIndex: E.value === n ? 0 : -1,
94
- disabled: t.disabled,
95
- className: e.item,
96
- onClick: () => M(n),
97
- children: [t.icon && /* @__PURE__ */ d("span", {
98
- className: e.icon,
99
- "aria-hidden": "true",
100
- children: t.icon
101
- }), t.label]
102
- }, t.value) : /* @__PURE__ */ d("div", {
103
- role: "separator",
104
- className: e.separator
105
- }, `sep-${n}`))
106
- })]
107
- });
108
- }
109
- //#endregion
110
- export { h as Dropdown };
1
+ "use client";import e from"./dropdown.module.js";import{cloneElement as t,useRef as n}from"react";import{composeRefs as r,createMachine as i,focusElement as a,useEffectPropSignal as o,useMachine as s,useSignal as c,useSignalEffect as l,useSignals as u}from"@cascivo/core";import{jsx as d,jsxs as f}from"react/jsx-runtime";var p=i({initial:`closed`,states:{closed:{on:{OPEN:`open`}},open:{on:{CLOSE:`closed`}}}});function isMenuItem(e){return!(`kind`in e)}function Dropdown({trigger:i,items:m,onSelect:h,placement:g=`bottom-start`,open:_,onOpenChange:v}){u();let[y,b]=s(p),x=n(null),S=n(null),C=n(null),w=n([]),T=c(-1),E=_!==void 0,D=E?_:y.value===`open`,O=o(D),k=m.map((e,t)=>({item:e,index:t})).filter(({item:e})=>isMenuItem(e)&&!e.disabled).map(({index:e})=>e),setOpen=e=>{E||b(e?`OPEN`:`CLOSE`),v?.(e)};l(()=>{let e=T.value;O.value&&e>=0&&w.current[e]?.focus()}),l(()=>{O.value?T.value=k[0]??-1:T.value=-1}),l(()=>{O.value?C.current?.showPopover():C.current?.hidePopover()}),l(()=>{let e=C.current;if(!e)return;let handleToggle=e=>{e.newState===`closed`&&setOpen(!1)};return e.addEventListener(`toggle`,handleToggle),()=>e.removeEventListener(`toggle`,handleToggle)});let selectAt=e=>{let t=m[e];!t||!isMenuItem(t)||t.disabled||(h?.(t.value),setOpen(!1),a(S.current))},moveActive=e=>{k.length!==0&&(T.value=k[(k.indexOf(T.value)+e+k.length)%k.length]??-1)},handleMenuKeyDown=e=>{switch(e.key){case`ArrowDown`:e.preventDefault(),moveActive(1);break;case`ArrowUp`:e.preventDefault(),moveActive(-1);break;case`Home`:e.preventDefault(),T.value=k[0]??-1;break;case`End`:e.preventDefault(),T.value=k[k.length-1]??-1;break;case`Escape`:e.preventDefault(),setOpen(!1),a(S.current);break;case`Enter`:case` `:e.preventDefault(),selectAt(T.value);break}},A=i,j=t(A,{ref:r(S,A.props.ref),onClick:e=>{A.props.onClick?.(e),setOpen(!D)},"aria-haspopup":`menu`,"aria-expanded":D});return f(`div`,{ref:x,className:e.root,children:[j,d(`div`,{ref:C,popover:`auto`,role:`menu`,"data-placement":g,"data-state":D?`open`:`closed`,className:e.menu,onKeyDown:handleMenuKeyDown,children:m.map((t,n)=>isMenuItem(t)?f(`button`,{type:`button`,role:`menuitem`,ref:e=>{w.current[n]=e},tabIndex:T.value===n?0:-1,disabled:t.disabled,className:e.item,onClick:()=>selectAt(n),children:[t.icon&&d(`span`,{className:e.icon,"aria-hidden":`true`,children:t.icon}),t.label]},t.value):d(`div`,{role:`separator`,className:e.separator},`sep-${n}`))})]})}export{Dropdown};
@@ -1,10 +1,2 @@
1
1
  import './dropdown.css';
2
- var e = {
3
- root: "_root_3wuq6_2",
4
- menu: "_menu_3wuq6_7",
5
- item: "_item_3wuq6_83",
6
- icon: "_icon_3wuq6_111",
7
- separator: "_separator_3wuq6_117"
8
- };
9
- //#endregion
10
- export { e as default };
2
+ var e={root:`_root_431yi_2`,menu:`_menu_431yi_7`,item:`_item_431yi_88`,icon:`_icon_431yi_116`,separator:`_separator_431yi_122`};export{e as default};
@@ -1,76 +1 @@
1
- "use client";
2
-
3
- import e from "./editable.module.js";
4
- import { useRef as t } from "react";
5
- import { cn as n, useSignal as r, useSignalEffect as i, useSignals as a } from "@cascivo/core";
6
- import { jsx as o, jsxs as s } from "react/jsx-runtime";
7
- //#region ../components/src/editable/editable.tsx
8
- function c({ value: c, onValueChange: l, placeholder: u, disabled: d = !1, submitOnBlur: f = !0, onCancel: p, className: m, id: h, "aria-labelledby": g, "aria-describedby": _, "aria-invalid": v, ...y }) {
9
- a();
10
- let b = r(!1), x = r(c), S = t(null), C = t(p);
11
- C.current = p;
12
- let w = t(l);
13
- w.current = l;
14
- let T = {
15
- id: h,
16
- "aria-labelledby": g,
17
- "aria-describedby": _,
18
- "aria-invalid": v
19
- };
20
- b.value || (x.value = c), i(() => {
21
- if (b.value) {
22
- let e = S.current;
23
- e && (e.focus(), e.select());
24
- }
25
- });
26
- function E() {
27
- w.current(x.value), b.value = !1;
28
- }
29
- function D() {
30
- x.value = c, b.value = !1, C.current?.();
31
- }
32
- return b.value ? /* @__PURE__ */ o("div", {
33
- className: n(e.wrapper, e.editing, m),
34
- ...y,
35
- children: /* @__PURE__ */ o("input", {
36
- ref: S,
37
- className: e.input,
38
- ...T,
39
- value: x.value,
40
- onChange: (e) => {
41
- x.value = e.currentTarget.value;
42
- },
43
- onKeyDown: (e) => {
44
- e.key === "Enter" ? (e.preventDefault(), E()) : e.key === "Escape" && (e.preventDefault(), D());
45
- },
46
- onBlur: () => {
47
- f ? E() : D();
48
- }
49
- })
50
- }) : /* @__PURE__ */ o("div", {
51
- className: n(e.wrapper, m),
52
- "data-disabled": d ? "" : void 0,
53
- ...y,
54
- children: /* @__PURE__ */ s("button", {
55
- type: "button",
56
- className: e.preview,
57
- ...T,
58
- disabled: d,
59
- onClick: () => {
60
- d || (b.value = !0);
61
- },
62
- children: [/* @__PURE__ */ o("span", {
63
- className: e["preview-text"],
64
- children: c || /* @__PURE__ */ o("span", {
65
- className: e.placeholder,
66
- children: u
67
- })
68
- }), /* @__PURE__ */ o("span", {
69
- className: e["edit-icon"],
70
- "aria-hidden": "true"
71
- })]
72
- })
73
- });
74
- }
75
- //#endregion
76
- export { c as Editable };
1
+ "use client";import e from"./editable.module.js";import{useRef as t}from"react";import{cn as n,useSignal as r,useSignals as i}from"@cascivo/core";import{jsx as a,jsxs as o}from"react/jsx-runtime";function focusOnMount(e){e&&(e.focus(),e.select())}function Editable({value:s,onValueChange:c,placeholder:l,disabled:u=!1,submitOnBlur:d=!0,onCancel:f,className:p,id:m,"aria-label":h,"aria-labelledby":g,"aria-describedby":_,"aria-invalid":v,tabIndex:y,...b}){i();let x=r(!1),S=r(s),C=t(f);C.current=f;let w=t(c);w.current=c;let T={id:m,"aria-label":h,"aria-labelledby":g,"aria-describedby":_,"aria-invalid":v,tabIndex:y};x.value||(S.value=s);function confirm(){w.current(S.value),x.value=!1}function cancel(){S.value=s,x.value=!1,C.current?.()}return x.value?a(`div`,{className:n(e.wrapper,e.editing,p),...b,children:a(`input`,{ref:focusOnMount,className:e.input,...T,value:S.value,onChange:e=>{S.value=e.currentTarget.value},onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),confirm()):e.key===`Escape`&&(e.preventDefault(),cancel())},onBlur:()=>{d?confirm():cancel()}})}):a(`div`,{className:n(e.wrapper,p),"data-disabled":u?``:void 0,...b,children:o(`button`,{type:`button`,className:e.preview,...T,disabled:u,onClick:()=>{u||(x.value=!0)},children:[a(`span`,{className:e[`preview-text`],children:s||a(`span`,{className:e.placeholder,children:l})}),a(`span`,{className:e[`edit-icon`],"aria-hidden":`true`})]})})}export{Editable};
@@ -1,12 +1,2 @@
1
1
  import './editable.css';
2
- var e = {
3
- wrapper: "_wrapper_17cwn_2",
4
- preview: "_preview_17cwn_8",
5
- "preview-text": "_preview-text_17cwn_42",
6
- placeholder: "_placeholder_17cwn_46",
7
- "edit-icon": "_edit-icon_17cwn_50",
8
- editing: "_editing_17cwn_69",
9
- input: "_input_17cwn_70"
10
- };
11
- //#endregion
12
- export { e as default };
2
+ var e={wrapper:`_wrapper_17cwn_2`,preview:`_preview_17cwn_8`,"preview-text":`_preview-text_17cwn_42`,placeholder:`_placeholder_17cwn_46`,"edit-icon":`_edit-icon_17cwn_50`,editing:`_editing_17cwn_69`,input:`_input_17cwn_70`};export{e as default};
@@ -1,32 +1 @@
1
- import e from "./empty-state.module.js";
2
- import { cn as t } from "@cascivo/core/pure";
3
- import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
- //#region ../components/src/empty-state/empty-state.tsx
5
- function i({ icon: i, title: a, description: o, action: s, size: c = "md", className: l, ...u }) {
6
- return /* @__PURE__ */ r("div", {
7
- "data-size": c,
8
- className: t(e["empty-state"], l),
9
- ...u,
10
- children: [
11
- i && /* @__PURE__ */ n("span", {
12
- className: e.icon,
13
- "aria-hidden": "true",
14
- children: i
15
- }),
16
- /* @__PURE__ */ n("h3", {
17
- className: e.title,
18
- children: a
19
- }),
20
- o && /* @__PURE__ */ n("p", {
21
- className: e.description,
22
- children: o
23
- }),
24
- s && /* @__PURE__ */ n("div", {
25
- className: e.action,
26
- children: s
27
- })
28
- ]
29
- });
30
- }
31
- //#endregion
32
- export { i as EmptyState };
1
+ import e from"./empty-state.module.js";import{cn as t}from"@cascivo/core/pure";import{jsx as n,jsxs as r}from"react/jsx-runtime";function EmptyState({icon:i,title:a,description:o,action:s,size:c=`md`,className:l,...u}){return r(`div`,{"data-size":c,className:t(e[`empty-state`],l),...u,children:[i&&n(`span`,{className:e.icon,"aria-hidden":`true`,children:i}),n(`h3`,{className:e.title,children:a}),o&&n(`p`,{className:e.description,children:o}),s&&n(`div`,{className:e.action,children:s})]})}export{EmptyState};
@@ -1,10 +1,2 @@
1
1
  import './empty-state.css';
2
- var e = {
3
- "empty-state": "_empty-state_1wem6_2",
4
- icon: "_icon_1wem6_18",
5
- title: "_title_1wem6_39",
6
- description: "_description_1wem6_50",
7
- action: "_action_1wem6_62"
8
- };
9
- //#endregion
10
- export { e as default };
2
+ var e={"empty-state":`_empty-state_1wem6_2`,icon:`_icon_1wem6_18`,title:`_title_1wem6_39`,description:`_description_1wem6_50`,action:`_action_1wem6_62`};export{e as default};
package/dist/fab/fab.css CHANGED
@@ -1 +1 @@
1
- @layer cascivo.component{._root_142gl_2{z-index:var(--cascivo-z-dropdown,30);gap:var(--cascivo-space-3);flex-direction:column;display:flex;position:fixed;inset-block-end:calc(var(--cascivo-space-6) + env(safe-area-inset-bottom,0px))}._root_142gl_2[data-position=bottom-end]{align-items:flex-end;inset-inline-end:calc(var(--cascivo-space-6) + env(safe-area-inset-right,0px))}._root_142gl_2[data-position=bottom-start]{align-items:flex-start;inset-inline-start:calc(var(--cascivo-space-6) + env(safe-area-inset-left,0px))}._fab_142gl_21{block-size:3.5rem;inline-size:3.5rem;color:var(--cascivo-color-accent-content);background:var(--cascivo-color-accent);border-radius:var(--cascivo-radius-full,9999px);box-shadow:var(--cascivo-shadow-overlay);cursor:pointer;transition:background-color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}._fab_142gl_21:hover{background:var(--cascivo-color-accent-hover,var(--cascivo-color-accent))}._fab_142gl_21:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._icon_142gl_48{block-size:1.5rem;inline-size:1.5rem;transition:rotate var(--cascivo-motion-emphasis,.2s var(--cascivo-ease-out));display:inline-flex}._fab_142gl_21[data-state=open] ._icon_142gl_48{rotate:45deg}._dial_142gl_60{gap:var(--cascivo-space-2);align-items:inherit;opacity:1;transition:opacity var(--cascivo-motion-enter), translate var(--cascivo-motion-enter);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;translate:0}._dial_142gl_60[data-state=closed]{opacity:0;translate:0 var(--cascivo-space-3);transition:opacity var(--cascivo-motion-exit), translate var(--cascivo-motion-exit)}@starting-style{._dial_142gl_60[data-state=open]{opacity:0;translate:0 var(--cascivo-space-3)}}._dialItem_142gl_91{display:flex}._action_142gl_95{align-items:center;gap:var(--cascivo-space-3);min-block-size:var(--cascivo-target-min-coarse,2.75rem);padding-block:var(--cascivo-space-2);padding-inline:var(--cascivo-space-4);color:var(--cascivo-color-text);background:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-full,9999px);box-shadow:var(--cascivo-shadow-overlay);cursor:pointer;transition:background-color var(--cascivo-duration-150) var(--cascivo-ease-out);display:inline-flex}._root_142gl_2[data-position=bottom-start] ._action_142gl_95{flex-direction:row-reverse}._action_142gl_95:hover{background:var(--cascivo-color-bg-subtle)}._action_142gl_95:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._action_142gl_95[aria-disabled=true]{color:var(--cascivo-color-text-muted);cursor:not-allowed}._actionLabel_142gl_129{font-size:var(--cascivo-text-sm);white-space:nowrap}._actionIcon_142gl_134{block-size:1.25rem;inline-size:1.25rem;color:var(--cascivo-color-accent);display:inline-flex}@media (prefers-reduced-motion:reduce){._dial_142gl_60,._icon_142gl_48{transition:none}}}
1
+ @layer cascivo.component{._root_1padz_2{z-index:var(--cascivo-z-dropdown,30);gap:var(--cascivo-space-3);flex-direction:column;display:flex;position:fixed;inset-block-end:calc(var(--cascivo-space-6) + env(safe-area-inset-bottom,0px))}._root_1padz_2[data-position=bottom-end]{align-items:flex-end;inset-inline-end:calc(var(--cascivo-space-6) + env(safe-area-inset-right,0px))}._root_1padz_2[data-position=bottom-start]{align-items:flex-start;inset-inline-start:calc(var(--cascivo-space-6) + env(safe-area-inset-left,0px))}._fab_1padz_21{block-size:3.5rem;inline-size:3.5rem;color:var(--cascivo-color-accent-content);background:var(--cascivo-color-accent);border-radius:var(--cascivo-radius-full,9999px);box-shadow:var(--cascivo-shadow-overlay);cursor:pointer;transition:background-color var(--cascivo-duration-150) var(--cascivo-ease-out), box-shadow var(--cascivo-duration-150) var(--cascivo-ease-out);border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}._fab_1padz_21:hover{background:var(--cascivo-color-accent-hover,var(--cascivo-color-accent))}._fab_1padz_21:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._icon_1padz_48{block-size:1.5rem;inline-size:1.5rem;transition:rotate var(--cascivo-motion-emphasis,.2s var(--cascivo-ease-out));display:inline-flex}._fab_1padz_21[data-state=open] ._icon_1padz_48{rotate:45deg}._dial_1padz_60{gap:var(--cascivo-space-2);align-items:inherit;opacity:1;transition:opacity var(--cascivo-motion-enter), translate var(--cascivo-motion-enter);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;translate:0}._dial_1padz_60[data-state=closed]{opacity:0;translate:0 var(--cascivo-space-3);transition:opacity var(--cascivo-motion-exit), translate var(--cascivo-motion-exit)}@starting-style{._dial_1padz_60[data-state=open]{opacity:0;translate:0 var(--cascivo-space-3)}}._dialItem_1padz_91{display:flex}._action_1padz_95{align-items:center;gap:var(--cascivo-space-3);min-block-size:var(--cascivo-target-min-coarse,2.75rem);padding-block:var(--cascivo-space-2);padding-inline:var(--cascivo-space-4);color:var(--cascivo-color-text);background:var(--cascivo-color-surface);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-full,9999px);box-shadow:var(--cascivo-shadow-overlay);cursor:pointer;transition:background-color var(--cascivo-duration-150) var(--cascivo-ease-out);display:inline-flex}._root_1padz_2[data-position=bottom-start] ._action_1padz_95{flex-direction:row-reverse}._action_1padz_95:hover{background:var(--cascivo-color-bg-subtle)}._action_1padz_95:focus-visible{box-shadow:var(--cascivo-focus-ring);outline:none}._action_1padz_95[aria-disabled=true]{color:var(--cascivo-color-text-muted);cursor:not-allowed}._actionLabel_1padz_129{font-size:var(--cascivo-text-sm);white-space:nowrap}._actionIcon_1padz_134{block-size:1.25rem;inline-size:1.25rem;color:var(--cascivo-color-accent-text);display:inline-flex}@media (prefers-reduced-motion:reduce){._dial_1padz_60,._icon_1padz_48{transition:none}}}
package/dist/fab/fab.js CHANGED
@@ -1,93 +1 @@
1
- "use client";
2
-
3
- import e from "./fab.module.js";
4
- import { useId as t, useRef as n } from "react";
5
- import { DismissableLayer as r, Presence as i, cn as a, focusElement as o, useControllableSignal as s, useRovingFocus as c, useSignalEffect as l, useSignals as u } from "@cascivo/core";
6
- import { jsx as d, jsxs as f } from "react/jsx-runtime";
7
- //#region ../components/src/fab/fab.tsx
8
- function p({ children: p, ariaLabel: m, label: h, onClick: g, actions: _, position: v = "bottom-end", open: y, defaultOpen: b, onOpenChange: x, className: S }) {
9
- u();
10
- let C = _ != null && _.length > 0, [w, T] = s({
11
- value: y,
12
- defaultValue: b ?? !1,
13
- onChange: x
14
- }), E = c({
15
- orientation: "vertical",
16
- loop: !0
17
- }), D = n(null), O = n(null), k = t(), A = n(!1);
18
- l(() => {
19
- let e = C && w.value;
20
- e && !A.current ? O.current?.querySelector("[role=\"menuitem\"]:not([aria-disabled=\"true\"])")?.focus() : !e && A.current && o(D.current), A.current = e;
21
- });
22
- let j = (e) => {
23
- e.disabled || (e.onSelect(), T(!1));
24
- }, M = /* @__PURE__ */ d("button", {
25
- ref: D,
26
- type: "button",
27
- "aria-label": h ?? m,
28
- className: e.fab,
29
- ...C ? {
30
- "aria-haspopup": "menu",
31
- "aria-expanded": w.value,
32
- "aria-controls": k,
33
- "data-state": w.value ? "open" : "closed",
34
- onClick: () => T(!w.value)
35
- } : { onClick: g },
36
- children: /* @__PURE__ */ d("span", {
37
- className: e.icon,
38
- "aria-hidden": "true",
39
- children: p
40
- })
41
- });
42
- return C ? /* @__PURE__ */ d(r, {
43
- onDismiss: () => T(!1),
44
- escapeDismisses: w.value,
45
- disableOutsidePointer: !w.value,
46
- children: /* @__PURE__ */ f("div", {
47
- className: a(e.root, S),
48
- "data-position": v,
49
- children: [/* @__PURE__ */ d(i, {
50
- present: w,
51
- children: /* @__PURE__ */ d("menu", {
52
- ref: O,
53
- id: k,
54
- role: "menu",
55
- "aria-label": h ?? m,
56
- className: e.dial,
57
- children: _.map((t, n) => {
58
- let r = E.getItemProps(n);
59
- return /* @__PURE__ */ d("li", {
60
- role: "presentation",
61
- className: e.dialItem,
62
- children: /* @__PURE__ */ f("button", {
63
- ref: r.ref,
64
- type: "button",
65
- role: "menuitem",
66
- tabIndex: r.tabIndex,
67
- "aria-disabled": t.disabled || void 0,
68
- className: e.action,
69
- onKeyDown: r.onKeyDown,
70
- onFocus: r.onFocus,
71
- onClick: () => j(t),
72
- children: [/* @__PURE__ */ d("span", {
73
- className: e.actionLabel,
74
- children: t.label
75
- }), /* @__PURE__ */ d("span", {
76
- className: e.actionIcon,
77
- "aria-hidden": "true",
78
- children: t.icon
79
- })]
80
- })
81
- }, t.id ?? n);
82
- })
83
- })
84
- }), M]
85
- })
86
- }) : /* @__PURE__ */ d("div", {
87
- className: a(e.root, S),
88
- "data-position": v,
89
- children: M
90
- });
91
- }
92
- //#endregion
93
- export { p as Fab };
1
+ "use client";import e from"./fab.module.js";import{useId as t,useRef as n}from"react";import{DismissableLayer as r,Presence as i,cn as a,focusElement as o,useControllableSignal as s,useRovingFocus as c,useSignalEffect as l,useSignals as u}from"@cascivo/core";import{jsx as d,jsxs as f}from"react/jsx-runtime";function Fab({children:p,ariaLabel:m,label:h,onClick:g,actions:_,position:v=`bottom-end`,open:y,defaultOpen:b,onOpenChange:x,className:S}){u();let C=_!=null&&_.length>0,[w,T]=s({value:y,defaultValue:b??!1,onChange:x}),E=c({orientation:`vertical`,loop:!0}),D=n(null),O=n(null),k=t(),A=n(!1);l(()=>{let e=C&&w.value;e&&!A.current?O.current?.querySelector(`[role="menuitem"]:not([aria-disabled="true"])`)?.focus():!e&&A.current&&o(D.current),A.current=e});let selectAction=e=>{e.disabled||(e.onSelect(),T(!1))},j=d(`button`,{ref:D,type:`button`,"aria-label":h??m,className:e.fab,...C?{"aria-haspopup":`menu`,"aria-expanded":w.value,"aria-controls":k,"data-state":w.value?`open`:`closed`,onClick:()=>T(!w.value)}:{onClick:g},children:d(`span`,{className:e.icon,"aria-hidden":`true`,children:p})});return C?d(r,{onDismiss:()=>T(!1),escapeDismisses:w.value,disableOutsidePointer:!w.value,children:f(`div`,{className:a(e.root,S),"data-position":v,children:[d(i,{present:w,children:d(`menu`,{ref:O,id:k,role:`menu`,"aria-label":h??m,className:e.dial,children:_.map((t,n)=>{let r=E.getItemProps(n);return d(`li`,{role:`presentation`,className:e.dialItem,children:f(`button`,{ref:r.ref,type:`button`,role:`menuitem`,tabIndex:r.tabIndex,"aria-disabled":t.disabled||void 0,className:e.action,onKeyDown:r.onKeyDown,onFocus:r.onFocus,onClick:()=>selectAction(t),children:[d(`span`,{className:e.actionLabel,children:t.label}),d(`span`,{className:e.actionIcon,"aria-hidden":`true`,children:t.icon})]})},t.id??n)})})}),j]})}):d(`div`,{className:a(e.root,S),"data-position":v,children:j})}export{Fab};
@@ -1,13 +1,2 @@
1
1
  import './fab.css';
2
- var e = {
3
- root: "_root_142gl_2",
4
- fab: "_fab_142gl_21",
5
- icon: "_icon_142gl_48",
6
- dial: "_dial_142gl_60",
7
- dialItem: "_dialItem_142gl_91",
8
- action: "_action_142gl_95",
9
- actionLabel: "_actionLabel_142gl_129",
10
- actionIcon: "_actionIcon_142gl_134"
11
- };
12
- //#endregion
13
- export { e as default };
2
+ var e={root:`_root_1padz_2`,fab:`_fab_1padz_21`,icon:`_icon_1padz_48`,dial:`_dial_1padz_60`,dialItem:`_dialItem_1padz_91`,action:`_action_1padz_95`,actionLabel:`_actionLabel_1padz_129`,actionIcon:`_actionIcon_1padz_134`};export{e as default};
@@ -1 +1 @@
1
- @layer cascivo.component{._field_1y14o_2{gap:var(--cascivo-space-2);font-family:var(--cascivo-font-sans);align-content:start;display:grid}._field_1y14o_2[data-disabled]{opacity:.5}._description_1y14o_20{font-size:var(--cascivo-text-sm);line-height:var(--cascivo-leading-snug);color:var(--cascivo-color-text-muted);margin:0}._error_1y14o_27{font-size:var(--cascivo-text-sm);line-height:var(--cascivo-leading-snug);color:var(--cascivo-color-destructive);margin:0}}@media (forced-colors:active){._error_1y14o_27{color:buttontext}}
1
+ @layer cascivo.component{._field_zrdph_2{gap:var(--cascivo-space-2);font-family:var(--cascivo-font-sans);align-content:start;display:grid}._field_zrdph_2[data-disabled]{opacity:.5}._field_zrdph_2:has(:disabled){opacity:.5}._field_zrdph_2:has(:user-invalid) label{color:var(--cascivo-color-destructive)}._description_zrdph_50{font-size:var(--cascivo-text-sm);line-height:var(--cascivo-leading-snug);color:var(--cascivo-color-text-muted);margin:0}._error_zrdph_57{font-size:var(--cascivo-text-sm);line-height:var(--cascivo-leading-snug);color:var(--cascivo-color-destructive);margin:0}}@media (forced-colors:active){._error_zrdph_57{color:buttontext}}
@@ -1,53 +1 @@
1
- import { Label as e } from "../label/label.js";
2
- import t from "./field.module.js";
3
- import { cn as n, useId as r } from "@cascivo/core/pure";
4
- import { Children as i, cloneElement as a, isValidElement as o } from "react";
5
- import { jsx as s, jsxs as c } from "react/jsx-runtime";
6
- //#region ../components/src/field/field.tsx
7
- var l = /* @__PURE__ */ new Set();
8
- function u() {
9
- return globalThis.process?.env?.NODE_ENV !== "production";
10
- }
11
- function d(e, t) {
12
- if (!u() || e == null || t.props.label == null) return;
13
- let n = String(e);
14
- l.has(n) || (l.add(n), console.warn(`cascivo Field: both the Field and its child control define a \`label\` (${n}). Omit the child's \`label\` inside a Field — it renders a second <label> for the same control. The Field owns the label.`));
15
- }
16
- var f = /* @__PURE__ */ new Set();
17
- function p(e, t) {
18
- if (!u() || e == null || t.props.hint == null) return;
19
- let n = String(e);
20
- f.has(n) || (f.add(n), console.warn(`cascivo Field: both the Field and its child control define supporting text (${n}). Omit the child's \`hint\` inside a Field — the Field owns it, and only the Field's is wired into aria-describedby.`));
21
- }
22
- function m({ label: l, description: u, hint: f, error: m, required: h = !1, disabled: g = !1, id: _, children: v, className: y }) {
23
- let b = u ?? f, x = r("cascade-field"), S = _ ?? x, C = `${S}-description`, w = `${S}-error`, T = `${S}-label`, E = [b ? C : null, m ? w : null].filter(Boolean).join(" ") || void 0, D = { id: S };
24
- l != null && (D["aria-labelledby"] = T), E && (D["aria-describedby"] = E), m && (D["aria-invalid"] = !0), (g || v.props.disabled) && (D.disabled = !0), o(v) && (d(l, v), p(b, v));
25
- let O = o(v) ? a(i.only(v), D) : v;
26
- return /* @__PURE__ */ c("div", {
27
- className: n(t.field, y),
28
- "data-disabled": g ? "" : void 0,
29
- children: [
30
- l && /* @__PURE__ */ s(e, {
31
- id: T,
32
- htmlFor: S,
33
- required: h,
34
- disabled: g,
35
- children: l
36
- }),
37
- O,
38
- b && /* @__PURE__ */ s("p", {
39
- id: C,
40
- className: t.description,
41
- children: b
42
- }),
43
- m && /* @__PURE__ */ s("p", {
44
- id: w,
45
- role: "alert",
46
- className: t.error,
47
- children: m
48
- })
49
- ]
50
- });
51
- }
52
- //#endregion
53
- export { m as Field };
1
+ import{Label as e}from"../label/label.js";import t from"./field.module.js";import{cn as n,useId as r}from"@cascivo/core/pure";import{Children as i,cloneElement as a,isValidElement as o}from"react";import{jsx as s,jsxs as c}from"react/jsx-runtime";var l=new Set;function isDev(){return globalThis.process?.env?.NODE_ENV!==`production`}function warnIfDoubleLabel(e,t){if(!isDev()||e==null||t.props.label==null)return;let n=String(e);l.has(n)||(l.add(n),console.warn(`cascivo Field: both the Field and its child control define a \`label\` (${n}). Omit the child's \`label\` inside a Field — it renders a second <label> for the same control. The Field owns the label.`))}var u=new Set;function warnIfDoubleHint(e,t){if(!isDev()||e==null||t.props.hint==null)return;let n=String(e);u.has(n)||(u.add(n),console.warn(`cascivo Field: both the Field and its child control define supporting text (${n}). Omit the child's \`hint\` inside a Field — the Field owns it, and only the Field's is wired into aria-describedby.`))}function Field({label:l,description:u,hint:d,error:f,required:p=!1,disabled:m=!1,id:h,children:g,className:_}){let v=u??d,y=r(`cascade-field`),b=h??y,x=`${b}-description`,S=`${b}-error`,C=`${b}-label`,w=[v?x:null,f?S:null].filter(Boolean).join(` `)||void 0,T={id:b};l!=null&&(T[`aria-labelledby`]=C),w&&(T[`aria-describedby`]=w),f&&(T[`aria-invalid`]=!0),(m||g.props.disabled)&&(T.disabled=!0),o(g)&&(warnIfDoubleLabel(l,g),warnIfDoubleHint(v,g));let E=o(g)?a(i.only(g),T):g;return c(`div`,{className:n(t.field,_),"data-disabled":m?``:void 0,children:[l&&s(e,{id:C,htmlFor:b,required:p,disabled:m,children:l}),E,v&&s(`p`,{id:x,className:t.description,children:v}),f&&s(`p`,{id:S,role:`alert`,className:t.error,children:f})]})}export{Field};
@@ -1,8 +1,2 @@
1
1
  import './field.css';
2
- var e = {
3
- field: "_field_1y14o_2",
4
- description: "_description_1y14o_20",
5
- error: "_error_1y14o_27"
6
- };
7
- //#endregion
8
- export { e as default };
2
+ var e={field:`_field_zrdph_2`,description:`_description_zrdph_50`,error:`_error_zrdph_57`};export{e as default};
@@ -1 +1 @@
1
- @layer cascivo.component{._uploader_c3mm3_2{gap:var(--cascivo-space-2);flex-direction:column;inline-size:100%;min-inline-size:0;display:flex}._label_c3mm3_13{font-size:var(--cascivo-text-sm);font-weight:var(--cascivo-font-medium);color:var(--cascivo-color-text)}._input_c3mm3_19{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}._zone_c3mm3_28{padding:var(--cascivo-space-8) var(--cascivo-space-4);border:2px dashed var(--cascivo-color-border);border-radius:var(--cascivo-radius-surface);background:var(--cascivo-color-surface);color:var(--cascivo-color-text-muted);font-size:var(--cascivo-text-sm);cursor:pointer;transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), background var(--cascivo-duration-150) var(--cascivo-ease-out);text-align:center;justify-content:center;align-items:center;inline-size:100%;display:flex}._zone_c3mm3_28:hover:not(:disabled),._zone_c3mm3_28[data-state=dragover]{border-color:var(--cascivo-color-accent);background:var(--cascivo-color-accent-subtle)}._zone_c3mm3_28:disabled{opacity:.5;cursor:not-allowed}._hint_c3mm3_61{font-size:var(--cascivo-text-xs);color:var(--cascivo-color-text-muted)}._list_c3mm3_66{gap:var(--cascivo-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}._file_c3mm3_75{align-items:center;gap:var(--cascivo-space-2);padding:var(--cascivo-space-2) var(--cascivo-space-3);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-surface);background:var(--cascivo-color-surface);font-size:var(--cascivo-text-sm);grid-template-columns:auto 1fr auto auto;grid-template-areas:"status name size remove""status error error error";display:grid}._file_c3mm3_75[data-state=error]{border-color:var(--cascivo-color-destructive)}._status_c3mm3_92{grid-area:status;align-items:center;display:flex}._glyph-complete_c3mm3_98{color:var(--cascivo-color-success-foreground)}._glyph-error_c3mm3_102{color:var(--cascivo-color-destructive)}._name_c3mm3_106{text-overflow:ellipsis;white-space:nowrap;grid-area:name;overflow:hidden}._size_c3mm3_113{color:var(--cascivo-color-text-muted);font-size:var(--cascivo-text-xs);grid-area:size}._remove_c3mm3_119{padding:var(--cascivo-space-1);border-radius:var(--cascivo-radius-control);color:var(--cascivo-color-text-muted);cursor:pointer;font-size:var(--cascivo-text-xs);background:0 0;border:none;grid-area:remove;justify-content:center;align-items:center;line-height:1;display:flex}._remove_c3mm3_119:hover{color:var(--cascivo-color-destructive);background:var(--cascivo-color-destructive-subtle)}._error-message_c3mm3_139{font-size:var(--cascivo-text-xs);color:var(--cascivo-color-destructive);grid-area:error}}
1
+ @layer cascivo.component{._uploader_d2bk6_2{gap:var(--cascivo-space-2);flex-direction:column;inline-size:100%;min-inline-size:0;display:flex}._label_d2bk6_13{font-size:var(--cascivo-text-sm);font-weight:var(--cascivo-font-medium);color:var(--cascivo-color-text)}._input_d2bk6_19{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}._zone_d2bk6_28{padding:var(--cascivo-space-8) var(--cascivo-space-4);border:2px dashed var(--cascivo-color-border);border-radius:var(--cascivo-radius-surface);background:var(--cascivo-color-surface);color:var(--cascivo-color-text-muted);font-size:var(--cascivo-text-sm);cursor:pointer;transition:border-color var(--cascivo-duration-150) var(--cascivo-ease-out), background var(--cascivo-duration-150) var(--cascivo-ease-out);text-align:center;justify-content:center;align-items:center;inline-size:100%;display:flex}._zone_d2bk6_28:hover:not(:disabled),._zone_d2bk6_28[data-state=dragover]{border-color:var(--cascivo-color-accent);background:var(--cascivo-color-accent-subtle)}._zone_d2bk6_28:disabled{opacity:.5;cursor:not-allowed}._hint_d2bk6_61{font-size:var(--cascivo-text-xs);color:var(--cascivo-color-text-muted)}._list_d2bk6_66{gap:var(--cascivo-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}._file_d2bk6_75{align-items:center;gap:var(--cascivo-space-2);padding:var(--cascivo-space-2) var(--cascivo-space-3);border:1px solid var(--cascivo-color-border);border-radius:var(--cascivo-radius-surface);background:var(--cascivo-color-surface);font-size:var(--cascivo-text-sm);grid-template-columns:auto 1fr auto auto;grid-template-areas:"status name size remove""status error error error";display:grid}._file_d2bk6_75[data-state=error]{border-color:var(--cascivo-color-destructive)}._status_d2bk6_92{grid-area:status;align-items:center;display:flex}._glyph-complete_d2bk6_98{color:var(--cascivo-color-success-foreground)}._glyph-error_d2bk6_102{color:var(--cascivo-color-destructive)}._name_d2bk6_106{text-overflow:ellipsis;white-space:nowrap;grid-area:name;overflow:hidden}._size_d2bk6_113{color:var(--cascivo-color-text-muted);font-size:var(--cascivo-text-xs);grid-area:size}._remove_d2bk6_119{padding:var(--cascivo-space-1);border-radius:var(--cascivo-radius-control);color:var(--cascivo-color-text-muted);cursor:pointer;font-size:var(--cascivo-text-xs);background:0 0;border:none;grid-area:remove;justify-content:center;align-items:center;line-height:1;display:flex}._remove_d2bk6_119:hover{color:var(--cascivo-color-destructive);background:var(--cascivo-color-destructive-subtle)}._error-message_d2bk6_139{font-size:var(--cascivo-text-xs);color:var(--cascivo-color-destructive);grid-area:error}._zoneText_d2bk6_148{pointer-events:none}._srOnly_d2bk6_152{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (pointer:coarse){._remove_d2bk6_119{min-inline-size:var(--cascivo-target-min-coarse,2.75rem);min-block-size:var(--cascivo-target-min-coarse,2.75rem)}}}@media (forced-colors:active){._zone_d2bk6_28[data-state=dragover]{outline-offset:-2px;outline:2px solid highlight}._zone_d2bk6_28:disabled{color:graytext}._file_d2bk6_75[data-state=error] ._glyph-error_d2bk6_102,._error-message_d2bk6_139{color:canvastext;forced-color-adjust:none}._zone_d2bk6_28:focus-visible,._remove_d2bk6_119:focus-visible{outline-offset:1px;outline:2px solid highlight}}
@@ -1,123 +1 @@
1
- "use client";
2
-
3
- import { Spinner as e } from "../spinner/spinner.js";
4
- import t from "./file-uploader.module.js";
5
- import { useRef as n } from "react";
6
- import { cn as r, useSignal as i, useSignals as a } from "@cascivo/core";
7
- import { builtin as o, t as s } from "@cascivo/i18n";
8
- import { jsx as c, jsxs as l } from "react/jsx-runtime";
9
- //#region ../components/src/file-uploader/file-uploader.tsx
10
- function u(e, t) {
11
- let n = t.split(",").map((e) => e.trim()).filter(Boolean);
12
- return n.length === 0 ? !0 : n.some((t) => t.startsWith(".") ? e.name.toLowerCase().endsWith(t.toLowerCase()) : t.endsWith("/*") ? e.type.startsWith(t.slice(0, -1)) : e.type === t);
13
- }
14
- function d(e) {
15
- return e >= 1024 * 1024 ? `${(e / (1024 * 1024)).toFixed(1)} MB` : e >= 1024 ? `${(e / 1024).toFixed(1)} KB` : `${e} B`;
16
- }
17
- function f({ files: f = [], onFilesAdded: p, onRemove: m, multiple: h = !1, accept: g, maxSize: _, onRejected: v, label: y, ariaLabel: b, hint: x, labels: S, disabled: C = !1, className: w }) {
18
- a();
19
- let T = n(null), E = i(!1), D = y ?? S?.label ?? s(o.fileUploader.label), O = S?.drop ?? s(o.fileUploader.drop), k = S?.uploading ?? s(o.fileUploader.uploading), A = S?.complete ?? s(o.fileUploader.complete), j = S?.error ?? s(o.fileUploader.error), M = (e) => S?.remove ? S.remove.replace("{name}", e) : s(o.fileUploader.remove, { name: e }), N = `cascade-uploader-${D.toLowerCase().replace(/\s+/g, "-")}`, P = `${N}-label`, F = `${N}-hint`, I = (e) => {
20
- if (!e || e.length === 0) return;
21
- let t = h ? Array.from(e) : Array.from(e).slice(0, 1), n = [], r = [], i = [];
22
- for (let e of t) g && !u(e, g) ? r.push(e) : _ !== void 0 && e.size > _ ? i.push(e) : n.push(e);
23
- r.length > 0 && v?.(r, "type"), i.length > 0 && v?.(i, "size"), n.length > 0 && p?.(n);
24
- };
25
- return /* @__PURE__ */ l("div", {
26
- className: r(t.uploader, w),
27
- children: [
28
- /* @__PURE__ */ c("span", {
29
- id: P,
30
- className: t.label,
31
- children: D
32
- }),
33
- /* @__PURE__ */ c("input", {
34
- ref: T,
35
- type: "file",
36
- className: t.input,
37
- tabIndex: -1,
38
- "aria-hidden": "true",
39
- multiple: h,
40
- accept: g,
41
- disabled: C,
42
- onChange: (e) => {
43
- I(e.target.files), e.target.value = "";
44
- }
45
- }),
46
- /* @__PURE__ */ c("button", {
47
- type: "button",
48
- className: t.zone,
49
- "data-state": E.value ? "dragover" : "idle",
50
- disabled: C,
51
- "aria-label": b,
52
- "aria-describedby": x ? `${P} ${F}` : P,
53
- onClick: () => T.current?.click(),
54
- onDragEnter: (e) => {
55
- e.preventDefault(), C || (E.value = !0);
56
- },
57
- onDragOver: (e) => e.preventDefault(),
58
- onDragLeave: () => {
59
- E.value = !1;
60
- },
61
- onDrop: (e) => {
62
- e.preventDefault(), E.value = !1, !C && I(e.dataTransfer.files);
63
- },
64
- children: O
65
- }),
66
- x && /* @__PURE__ */ c("span", {
67
- id: F,
68
- className: t.hint,
69
- children: x
70
- }),
71
- f.length > 0 && /* @__PURE__ */ c("ul", {
72
- className: t.list,
73
- "aria-live": "polite",
74
- children: f.map((n) => /* @__PURE__ */ l("li", {
75
- className: t.file,
76
- "data-state": n.status,
77
- children: [
78
- /* @__PURE__ */ l("span", {
79
- className: t.status,
80
- children: [
81
- n.status === "uploading" && /* @__PURE__ */ c(e, {
82
- size: "sm",
83
- label: k
84
- }),
85
- n.status === "complete" && /* @__PURE__ */ c("span", {
86
- className: t["glyph-complete"],
87
- "aria-label": A,
88
- children: "✓"
89
- }),
90
- n.status === "error" && /* @__PURE__ */ c("span", {
91
- className: t["glyph-error"],
92
- "aria-label": j,
93
- children: "✕"
94
- })
95
- ]
96
- }),
97
- /* @__PURE__ */ c("span", {
98
- className: t.name,
99
- children: n.name
100
- }),
101
- n.size !== void 0 && /* @__PURE__ */ c("span", {
102
- className: t.size,
103
- children: d(n.size)
104
- }),
105
- /* @__PURE__ */ c("button", {
106
- type: "button",
107
- className: t.remove,
108
- "aria-label": M(n.name),
109
- onClick: () => m?.(n.id),
110
- children: "✕"
111
- }),
112
- n.status === "error" && n.errorMessage && /* @__PURE__ */ c("span", {
113
- className: t["error-message"],
114
- children: n.errorMessage
115
- })
116
- ]
117
- }, n.id))
118
- })
119
- ]
120
- });
121
- }
122
- //#endregion
123
- export { f as FileUploader };
1
+ "use client";import{Spinner as e}from"../spinner/spinner.js";import t from"./file-uploader.module.js";import{useRef as n}from"react";import{cn as r,useId as i,useSignal as a,useSignals as o}from"@cascivo/core";import{builtin as s,currentLocale as c,t as l}from"@cascivo/i18n";import{jsx as u,jsxs as d}from"react/jsx-runtime";function matchesAccept(e,t){let n=t.split(`,`).map(e=>e.trim()).filter(Boolean);return n.length===0?!0:n.some(t=>t.startsWith(`.`)?e.name.toLowerCase().endsWith(t.toLowerCase()):t.endsWith(`/*`)?e.type.startsWith(t.slice(0,-1)):e.type===t)}function formatSize(e,t){let[n,r]=e>=1024*1024?[e/(1024*1024),`megabyte`]:e>=1024?[e/1024,`kilobyte`]:[e,`byte`];try{return new Intl.NumberFormat(t,{style:`unit`,unit:r,unitDisplay:`short`,maximumFractionDigits:r===`byte`?0:1}).format(n)}catch{return new Intl.NumberFormat(t,{maximumFractionDigits:r===`byte`?0:1}).format(n)}}function statusSummary(e,t,n,r){return e.some(e=>e.status===`error`)?r:e.some(e=>e.status===`uploading`)?t:n}function FileUploader({files:f=[],onFilesAdded:p,onRemove:m,multiple:h=!1,accept:g,maxSize:_,onRejected:v,label:y,ariaLabel:b,hint:x,labels:S,disabled:C=!1,className:w}){o();let T=c(),E=n(null),D=a(!1),O=y??S?.label??l(s.fileUploader.label),k=S?.drop??l(s.fileUploader.drop),A=S?.uploading??l(s.fileUploader.uploading),j=S?.complete??l(s.fileUploader.complete),M=S?.error??l(s.fileUploader.error),resolveRemove=e=>S?.remove?S.remove.replaceAll(`{name}`,e):l(s.fileUploader.remove,{name:e}),N=i(`cascivo-uploader`),P=`${N}-label`,F=`${N}-hint`,I=`${N}-status`,processFiles=e=>{if(!e||e.length===0)return;let t=h?Array.from(e):Array.from(e).slice(0,1),n=[],r=[],i=[];for(let e of t)g&&!matchesAccept(e,g)?r.push(e):_!==void 0&&e.size>_?i.push(e):n.push(e);r.length>0&&v?.(r,`type`),i.length>0&&v?.(i,`size`),n.length>0&&p?.(n)};return d(`div`,{className:r(t.uploader,w),children:[u(`span`,{id:P,className:t.label,children:O}),u(`input`,{ref:E,type:`file`,className:t.input,tabIndex:-1,"aria-labelledby":P,multiple:h,accept:g,disabled:C,onChange:e=>{processFiles(e.target.files),e.target.value=``}}),u(`button`,{type:`button`,className:t.zone,"data-state":D.value?`dragover`:`idle`,disabled:C,"aria-labelledby":b?void 0:P,"aria-label":b,"aria-describedby":x?F:void 0,onClick:()=>E.current?.click(),onDragEnter:e=>{e.preventDefault(),C||(D.value=!0)},onDragOver:e=>{e.preventDefault(),C||(e.dataTransfer.dropEffect=`copy`)},onDragLeave:e=>{e.currentTarget.contains(e.relatedTarget)||(D.value=!1)},onDrop:e=>{e.preventDefault(),D.value=!1,!C&&processFiles(e.dataTransfer.files)},children:u(`span`,{className:t.zoneText,children:k})}),x&&u(`span`,{id:F,className:t.hint,children:x}),u(`span`,{id:I,className:t.srOnly,role:`status`,"aria-live":`polite`,children:f.length>0?l(s.fileUploader.status,{count:f.length,state:statusSummary(f,A,j,M)}):``}),f.length>0&&u(`ul`,{className:t.list,children:f.map(n=>d(`li`,{className:t.file,"data-state":n.status,children:[d(`span`,{className:t.status,children:[n.status===`uploading`&&u(e,{size:`sm`,label:A}),n.status===`complete`&&u(`span`,{className:t[`glyph-complete`],role:`img`,"aria-label":j,children:`✓`}),n.status===`error`&&u(`span`,{className:t[`glyph-error`],role:`img`,"aria-label":M,children:`✕`})]}),u(`span`,{className:t.name,children:n.name}),n.size!==void 0&&u(`span`,{className:t.size,children:formatSize(n.size,T)}),u(`button`,{type:`button`,className:t.remove,"aria-label":resolveRemove(n.name),disabled:C,onClick:()=>m?.(n.id),children:`✕`}),n.status===`error`&&n.errorMessage&&u(`span`,{className:t[`error-message`],role:`alert`,children:n.errorMessage})]},n.id))})]})}export{FileUploader};