@vjdesigns/vjdesigns-ui 2.4.0 → 2.5.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 (417) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +45 -1
  3. package/dist/ai/llms-full.txt +133 -76
  4. package/dist/ai/registry.json +82 -61
  5. package/dist/components/data-display/Accordion/Accordion.cjs.js +1 -1
  6. package/dist/components/data-display/Accordion/Accordion.mjs +22 -22
  7. package/dist/components/data-display/Accordion/Accordion.module.css.mjs +1 -2
  8. package/dist/components/data-display/Avatar/Avatar.cjs.js +1 -1
  9. package/dist/components/data-display/Avatar/Avatar.mjs +92 -92
  10. package/dist/components/data-display/Avatar/Avatar.module.css.mjs +1 -2
  11. package/dist/components/data-display/Badge/Badge.cjs.js +1 -1
  12. package/dist/components/data-display/Badge/Badge.mjs +2 -2
  13. package/dist/components/data-display/Badge/Badge.module.css.mjs +1 -2
  14. package/dist/components/data-display/Card/Card.cjs.js +1 -1
  15. package/dist/components/data-display/Card/Card.mjs +2 -2
  16. package/dist/components/data-display/Card/Card.module.css.mjs +1 -2
  17. package/dist/components/data-display/Carousel/Carousel.cjs.js +1 -1
  18. package/dist/components/data-display/Carousel/Carousel.mjs +42 -42
  19. package/dist/components/data-display/Carousel/Carousel.module.css.mjs +1 -2
  20. package/dist/components/data-display/Chat/Chat.cjs.js +1 -1
  21. package/dist/components/data-display/Chat/Chat.mjs +114 -118
  22. package/dist/components/data-display/Chat/Chat.module.css.mjs +1 -2
  23. package/dist/components/data-display/Chat/streams.mjs +1 -2
  24. package/dist/components/data-display/Chip/Chip.cjs.js +1 -1
  25. package/dist/components/data-display/Chip/Chip.mjs +50 -54
  26. package/dist/components/data-display/Chip/Chip.module.css.mjs +1 -2
  27. package/dist/components/data-display/CodeBlock/CodeBlock.cjs.js +4 -4
  28. package/dist/components/data-display/CodeBlock/CodeBlock.mjs +113 -113
  29. package/dist/components/data-display/CodeBlock/CodeBlock.module.css.mjs +1 -2
  30. package/dist/components/data-display/CodeBlock/tokenize.mjs +1 -2
  31. package/dist/components/data-display/DataGrid/DataGrid.cjs.js +1 -1
  32. package/dist/components/data-display/DataGrid/DataGrid.d.ts +14 -3
  33. package/dist/components/data-display/DataGrid/DataGrid.mjs +352 -267
  34. package/dist/components/data-display/DataGrid/DataGrid.module.css.cjs.js +1 -1
  35. package/dist/components/data-display/DataGrid/DataGrid.module.css.mjs +6 -5
  36. package/dist/components/data-display/DataGrid/dataGridUtils.cjs.js +1 -1
  37. package/dist/components/data-display/DataGrid/dataGridUtils.d.ts +18 -0
  38. package/dist/components/data-display/DataGrid/dataGridUtils.mjs +100 -32
  39. package/dist/components/data-display/EmptyState/EmptyState.cjs.js +1 -1
  40. package/dist/components/data-display/EmptyState/EmptyState.mjs +53 -53
  41. package/dist/components/data-display/EmptyState/EmptyState.module.css.mjs +1 -2
  42. package/dist/components/data-display/Image/Image.cjs.js +1 -1
  43. package/dist/components/data-display/Image/Image.mjs +6 -6
  44. package/dist/components/data-display/Image/Image.module.css.mjs +1 -2
  45. package/dist/components/data-display/List/List.cjs.js +1 -1
  46. package/dist/components/data-display/List/List.mjs +68 -68
  47. package/dist/components/data-display/List/List.module.css.mjs +1 -2
  48. package/dist/components/data-display/Stat/Stat.cjs.js +1 -1
  49. package/dist/components/data-display/Stat/Stat.mjs +112 -112
  50. package/dist/components/data-display/Stat/Stat.module.css.mjs +1 -2
  51. package/dist/components/data-display/Table/Table.cjs.js +1 -1
  52. package/dist/components/data-display/Table/Table.mjs +187 -183
  53. package/dist/components/data-display/Table/Table.module.css.mjs +1 -2
  54. package/dist/components/data-display/Table/useTable.cjs.js +1 -1
  55. package/dist/components/data-display/Table/useTable.mjs +2 -2
  56. package/dist/components/data-display/Timeline/Timeline.cjs.js +1 -1
  57. package/dist/components/data-display/Timeline/Timeline.mjs +64 -64
  58. package/dist/components/data-display/Timeline/Timeline.module.css.mjs +1 -2
  59. package/dist/components/data-display/TreeView/TreeView.cjs.js +1 -1
  60. package/dist/components/data-display/TreeView/TreeView.mjs +107 -119
  61. package/dist/components/data-display/TreeView/TreeView.module.css.mjs +1 -2
  62. package/dist/components/data-display/TreeView/treeUtils.mjs +1 -2
  63. package/dist/components/data-display/VirtualList/VirtualList.cjs.js +1 -1
  64. package/dist/components/data-display/VirtualList/VirtualList.mjs +2 -2
  65. package/dist/components/data-display/VirtualList/VirtualList.module.css.mjs +1 -2
  66. package/dist/components/feedback/Alert/Alert.cjs.js +1 -1
  67. package/dist/components/feedback/Alert/Alert.mjs +56 -56
  68. package/dist/components/feedback/Alert/Alert.module.css.mjs +1 -2
  69. package/dist/components/feedback/Banner/Banner.cjs.js +1 -1
  70. package/dist/components/feedback/Banner/Banner.mjs +48 -48
  71. package/dist/components/feedback/Banner/Banner.module.css.mjs +1 -2
  72. package/dist/components/feedback/ErrorSummary/ErrorSummary.cjs.js +1 -1
  73. package/dist/components/feedback/ErrorSummary/ErrorSummary.mjs +10 -10
  74. package/dist/components/feedback/ErrorSummary/ErrorSummary.module.css.mjs +1 -2
  75. package/dist/components/feedback/Progress/Progress.cjs.js +1 -1
  76. package/dist/components/feedback/Progress/Progress.mjs +2 -2
  77. package/dist/components/feedback/Progress/Progress.module.css.mjs +1 -2
  78. package/dist/components/feedback/Skeleton/Skeleton.cjs.js +1 -1
  79. package/dist/components/feedback/Skeleton/Skeleton.mjs +73 -73
  80. package/dist/components/feedback/Skeleton/Skeleton.module.css.mjs +1 -2
  81. package/dist/components/feedback/Spinner/Spinner.cjs.js +1 -1
  82. package/dist/components/feedback/Spinner/Spinner.mjs +29 -29
  83. package/dist/components/feedback/Spinner/Spinner.module.css.mjs +1 -2
  84. package/dist/components/feedback/Toast/Toast.cjs.js +1 -1
  85. package/dist/components/feedback/Toast/Toast.mjs +42 -42
  86. package/dist/components/feedback/Toast/Toast.module.css.mjs +1 -2
  87. package/dist/components/feedback/Toast/ToastItem.cjs.js +1 -1
  88. package/dist/components/feedback/Toast/ToastItem.mjs +10 -10
  89. package/dist/components/feedback/Toast/ToastProvider.cjs.js +1 -1
  90. package/dist/components/feedback/Toast/ToastProvider.mjs +11 -11
  91. package/dist/components/feedback/Toast/ToastViewport.cjs.js +1 -1
  92. package/dist/components/feedback/Toast/ToastViewport.mjs +30 -30
  93. package/dist/components/feedback/Toast/toastStore.mjs +1 -2
  94. package/dist/components/feedback/Toast/toastTiming.cjs.js +1 -1
  95. package/dist/components/feedback/Toast/toastTiming.mjs +2 -2
  96. package/dist/components/feedback/Toast/useToast.cjs.js +1 -1
  97. package/dist/components/feedback/Toast/useToast.mjs +2 -2
  98. package/dist/components/feedback/Toast/useToastAnnouncer.cjs.js +1 -1
  99. package/dist/components/feedback/Toast/useToastAnnouncer.mjs +2 -2
  100. package/dist/components/forms/CheckBox/CheckBox.cjs.js +1 -1
  101. package/dist/components/forms/CheckBox/CheckBox.mjs +2 -2
  102. package/dist/components/forms/CheckBox/CheckBox.module.css.mjs +1 -2
  103. package/dist/components/forms/ColorPicker/ColorInput.cjs.js +1 -1
  104. package/dist/components/forms/ColorPicker/ColorInput.mjs +43 -43
  105. package/dist/components/forms/ColorPicker/ColorPicker.cjs.js +1 -1
  106. package/dist/components/forms/ColorPicker/ColorPicker.mjs +153 -153
  107. package/dist/components/forms/ColorPicker/ColorPicker.module.css.mjs +1 -2
  108. package/dist/components/forms/ColorPicker/colorUtils.mjs +1 -2
  109. package/dist/components/forms/Combobox/Combobox.cjs.js +1 -1
  110. package/dist/components/forms/Combobox/Combobox.mjs +200 -213
  111. package/dist/components/forms/Combobox/Combobox.module.css.mjs +1 -2
  112. package/dist/components/forms/Combobox/ComboboxPopup.cjs.js +1 -1
  113. package/dist/components/forms/Combobox/ComboboxPopup.mjs +164 -121
  114. package/dist/components/forms/Combobox/comboboxUtils.cjs.js +1 -1
  115. package/dist/components/forms/Combobox/comboboxUtils.d.ts +4 -1
  116. package/dist/components/forms/Combobox/comboboxUtils.mjs +21 -20
  117. package/dist/components/forms/DatePicker/Calendar.cjs.js +1 -1
  118. package/dist/components/forms/DatePicker/Calendar.mjs +60 -66
  119. package/dist/components/forms/DatePicker/Calendar.module.css.mjs +1 -2
  120. package/dist/components/forms/DatePicker/DatePicker.cjs.js +1 -1
  121. package/dist/components/forms/DatePicker/DatePicker.mjs +72 -74
  122. package/dist/components/forms/DatePicker/DatePicker.module.css.mjs +1 -2
  123. package/dist/components/forms/DatePicker/DateRangePicker.cjs.js +1 -1
  124. package/dist/components/forms/DatePicker/DateRangePicker.mjs +117 -117
  125. package/dist/components/forms/DatePicker/DateRangePicker.module.css.mjs +1 -2
  126. package/dist/components/forms/DatePicker/dateUtils.mjs +1 -2
  127. package/dist/components/forms/DateTimePicker/DateTimePicker.cjs.js +1 -1
  128. package/dist/components/forms/DateTimePicker/DateTimePicker.mjs +19 -19
  129. package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.mjs +1 -2
  130. package/dist/components/forms/Field/Field.cjs.js +1 -1
  131. package/dist/components/forms/Field/Field.mjs +14 -14
  132. package/dist/components/forms/Field/Field.module.css.mjs +1 -2
  133. package/dist/components/forms/Field/FieldContext.cjs.js +1 -1
  134. package/dist/components/forms/Field/FieldContext.mjs +2 -2
  135. package/dist/components/forms/FileUpload/FileUpload.cjs.js +1 -1
  136. package/dist/components/forms/FileUpload/FileUpload.mjs +250 -255
  137. package/dist/components/forms/FileUpload/FileUpload.module.css.mjs +1 -2
  138. package/dist/components/forms/Input/Input.cjs.js +1 -1
  139. package/dist/components/forms/Input/Input.mjs +35 -35
  140. package/dist/components/forms/Input/Input.module.css.mjs +1 -2
  141. package/dist/components/forms/NumberInput/NumberInput.cjs.js +1 -1
  142. package/dist/components/forms/NumberInput/NumberInput.mjs +137 -142
  143. package/dist/components/forms/NumberInput/NumberInput.module.css.mjs +1 -2
  144. package/dist/components/forms/PasswordInput/PasswordInput.cjs.js +1 -1
  145. package/dist/components/forms/PasswordInput/PasswordInput.mjs +142 -142
  146. package/dist/components/forms/PasswordInput/PasswordInput.module.css.mjs +1 -2
  147. package/dist/components/forms/PinInput/PinInput.cjs.js +1 -1
  148. package/dist/components/forms/PinInput/PinInput.mjs +12 -12
  149. package/dist/components/forms/PinInput/PinInput.module.css.mjs +1 -2
  150. package/dist/components/forms/Radio/Radio.cjs.js +1 -1
  151. package/dist/components/forms/Radio/Radio.mjs +2 -2
  152. package/dist/components/forms/Radio/Radio.module.css.mjs +1 -2
  153. package/dist/components/forms/Rating/Rating.cjs.js +1 -1
  154. package/dist/components/forms/Rating/Rating.mjs +110 -109
  155. package/dist/components/forms/Rating/Rating.module.css.mjs +1 -2
  156. package/dist/components/forms/SearchInput/SearchInput.cjs.js +1 -1
  157. package/dist/components/forms/SearchInput/SearchInput.mjs +118 -126
  158. package/dist/components/forms/SearchInput/SearchInput.module.css.mjs +1 -2
  159. package/dist/components/forms/SegmentedControl/SegmentedControl.cjs.js +1 -1
  160. package/dist/components/forms/SegmentedControl/SegmentedControl.mjs +46 -43
  161. package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.mjs +1 -2
  162. package/dist/components/forms/Select/Select.cjs.js +1 -1
  163. package/dist/components/forms/Select/Select.mjs +2 -2
  164. package/dist/components/forms/Select/Select.module.css.mjs +1 -2
  165. package/dist/components/forms/Slider/Slider.cjs.js +1 -1
  166. package/dist/components/forms/Slider/Slider.mjs +2 -2
  167. package/dist/components/forms/Slider/Slider.module.css.mjs +1 -2
  168. package/dist/components/forms/Switch/Switch.cjs.js +1 -1
  169. package/dist/components/forms/Switch/Switch.mjs +39 -39
  170. package/dist/components/forms/Switch/Switch.module.css.mjs +1 -2
  171. package/dist/components/forms/TagInput/TagInput.cjs.js +1 -1
  172. package/dist/components/forms/TagInput/TagInput.mjs +197 -203
  173. package/dist/components/forms/TagInput/TagInput.module.css.mjs +1 -2
  174. package/dist/components/forms/Textarea/Textarea.cjs.js +1 -1
  175. package/dist/components/forms/Textarea/Textarea.mjs +59 -59
  176. package/dist/components/forms/Textarea/Textarea.module.css.mjs +1 -2
  177. package/dist/components/forms/TimePicker/TimePicker.cjs.js +1 -1
  178. package/dist/components/forms/TimePicker/TimePicker.mjs +14 -16
  179. package/dist/components/forms/TimePicker/TimePicker.module.css.mjs +1 -2
  180. package/dist/components/forms/TimePicker/timeUtils.cjs.js +1 -1
  181. package/dist/components/forms/TimePicker/timeUtils.d.ts +4 -1
  182. package/dist/components/forms/TimePicker/timeUtils.mjs +43 -38
  183. package/dist/components/forms/ToggleGroup/ToggleGroup.cjs.js +1 -1
  184. package/dist/components/forms/ToggleGroup/ToggleGroup.mjs +10 -10
  185. package/dist/components/forms/ToggleGroup/ToggleGroup.module.css.mjs +1 -2
  186. package/dist/components/layout/Box/Box.mjs +1 -2
  187. package/dist/components/layout/Box/Box.module.css.mjs +1 -2
  188. package/dist/components/layout/Container/Container.mjs +1 -2
  189. package/dist/components/layout/Container/Container.module.css.mjs +1 -2
  190. package/dist/components/layout/Divider/Divider.mjs +1 -2
  191. package/dist/components/layout/Divider/Divider.module.css.mjs +1 -2
  192. package/dist/components/layout/Flex/Flex.cjs.js +1 -1
  193. package/dist/components/layout/Flex/Flex.mjs +12 -13
  194. package/dist/components/layout/Flex/Flex.module.css.mjs +1 -2
  195. package/dist/components/layout/Grid/Grid.cjs.js +1 -1
  196. package/dist/components/layout/Grid/Grid.mjs +20 -21
  197. package/dist/components/layout/Grid/Grid.module.css.mjs +1 -2
  198. package/dist/components/layout/ResizablePanels/ResizablePanels.cjs.js +1 -1
  199. package/dist/components/layout/ResizablePanels/ResizablePanels.mjs +17 -17
  200. package/dist/components/layout/ResizablePanels/ResizablePanels.module.css.mjs +1 -2
  201. package/dist/components/layout/ScrollArea/ScrollArea.cjs.js +1 -1
  202. package/dist/components/layout/ScrollArea/ScrollArea.mjs +2 -2
  203. package/dist/components/layout/ScrollArea/ScrollArea.module.css.mjs +1 -2
  204. package/dist/components/layout/Stack/Stack.cjs.js +1 -1
  205. package/dist/components/layout/Stack/Stack.mjs +8 -9
  206. package/dist/components/layout/Stack/Stack.module.css.mjs +1 -2
  207. package/dist/components/navigation/Breadcrumbs/Breadcrumbs.cjs.js +1 -1
  208. package/dist/components/navigation/Breadcrumbs/Breadcrumbs.mjs +41 -41
  209. package/dist/components/navigation/Breadcrumbs/Breadcrumbs.module.css.mjs +1 -2
  210. package/dist/components/navigation/ContextMenu/ContextMenu.cjs.js +1 -1
  211. package/dist/components/navigation/ContextMenu/ContextMenu.mjs +48 -48
  212. package/dist/components/navigation/ContextMenu/ContextMenu.module.css.mjs +1 -2
  213. package/dist/components/navigation/Link/Link.cjs.js +1 -1
  214. package/dist/components/navigation/Link/Link.mjs +6 -7
  215. package/dist/components/navigation/Link/Link.module.css.mjs +1 -2
  216. package/dist/components/navigation/Menu/Menu.cjs.js +1 -1
  217. package/dist/components/navigation/Menu/Menu.mjs +11 -11
  218. package/dist/components/navigation/Menu/Menu.module.css.mjs +1 -2
  219. package/dist/components/navigation/Menu/MenuContent.cjs.js +1 -1
  220. package/dist/components/navigation/Menu/MenuContent.mjs +46 -46
  221. package/dist/components/navigation/Menu/MenuContext.cjs.js +1 -1
  222. package/dist/components/navigation/Menu/MenuContext.mjs +2 -2
  223. package/dist/components/navigation/Menu/MenuItem.cjs.js +1 -1
  224. package/dist/components/navigation/Menu/MenuItem.mjs +35 -39
  225. package/dist/components/navigation/Menu/MenuSub.cjs.js +1 -1
  226. package/dist/components/navigation/Menu/MenuSub.mjs +16 -20
  227. package/dist/components/navigation/Menu/useMenuRoot.cjs.js +1 -1
  228. package/dist/components/navigation/Menu/useMenuRoot.mjs +2 -2
  229. package/dist/components/navigation/Navbar/Navbar.cjs.js +1 -1
  230. package/dist/components/navigation/Navbar/Navbar.mjs +111 -111
  231. package/dist/components/navigation/Navbar/Navbar.module.css.mjs +1 -2
  232. package/dist/components/navigation/Pagination/Pagination.cjs.js +1 -1
  233. package/dist/components/navigation/Pagination/Pagination.mjs +31 -35
  234. package/dist/components/navigation/Pagination/Pagination.module.css.mjs +1 -2
  235. package/dist/components/navigation/Sidebar/Sidebar.cjs.js +1 -1
  236. package/dist/components/navigation/Sidebar/Sidebar.mjs +52 -52
  237. package/dist/components/navigation/Sidebar/Sidebar.module.css.mjs +1 -2
  238. package/dist/components/navigation/Sidebar/SidebarContext.cjs.js +1 -1
  239. package/dist/components/navigation/Sidebar/SidebarContext.mjs +2 -2
  240. package/dist/components/navigation/Sidebar/SidebarParts.cjs.js +1 -1
  241. package/dist/components/navigation/Sidebar/SidebarParts.mjs +76 -80
  242. package/dist/components/navigation/SkipLink/SkipLink.cjs.js +1 -1
  243. package/dist/components/navigation/SkipLink/SkipLink.mjs +12 -12
  244. package/dist/components/navigation/SkipLink/SkipLink.module.css.mjs +1 -2
  245. package/dist/components/navigation/Stepper/Stepper.cjs.js +1 -1
  246. package/dist/components/navigation/Stepper/Stepper.mjs +46 -46
  247. package/dist/components/navigation/Stepper/Stepper.module.css.mjs +1 -2
  248. package/dist/components/navigation/Tabs/Tabs.cjs.js +1 -1
  249. package/dist/components/navigation/Tabs/Tabs.mjs +2 -2
  250. package/dist/components/navigation/Tabs/Tabs.module.css.mjs +1 -2
  251. package/dist/components/overlays/CommandPalette/CommandPalette.cjs.js +1 -1
  252. package/dist/components/overlays/CommandPalette/CommandPalette.mjs +206 -206
  253. package/dist/components/overlays/CommandPalette/CommandPalette.module.css.mjs +1 -2
  254. package/dist/components/overlays/CommandPalette/CommandPaletteContext.cjs.js +1 -1
  255. package/dist/components/overlays/CommandPalette/CommandPaletteContext.mjs +2 -2
  256. package/dist/components/overlays/CommandPalette/CommandPaletteParts.cjs.js +1 -1
  257. package/dist/components/overlays/CommandPalette/CommandPaletteParts.mjs +104 -104
  258. package/dist/components/overlays/CommandPalette/commandPaletteUtils.cjs.js +1 -1
  259. package/dist/components/overlays/CommandPalette/commandPaletteUtils.mjs +62 -60
  260. package/dist/components/overlays/Drawer/Drawer.cjs.js +1 -1
  261. package/dist/components/overlays/Drawer/Drawer.mjs +31 -31
  262. package/dist/components/overlays/Drawer/Drawer.module.css.mjs +1 -2
  263. package/dist/components/overlays/Drawer/DrawerContent.cjs.js +1 -1
  264. package/dist/components/overlays/Drawer/DrawerContent.mjs +99 -99
  265. package/dist/components/overlays/Drawer/DrawerContext.cjs.js +1 -1
  266. package/dist/components/overlays/Drawer/DrawerContext.mjs +2 -2
  267. package/dist/components/overlays/Drawer/DrawerParts.cjs.js +1 -1
  268. package/dist/components/overlays/Drawer/DrawerParts.mjs +18 -18
  269. package/dist/components/overlays/Drawer/internal.mjs +1 -2
  270. package/dist/components/overlays/Drawer/useDragToClose.cjs.js +1 -1
  271. package/dist/components/overlays/Drawer/useDragToClose.mjs +2 -2
  272. package/dist/components/overlays/HoverCard/HoverCard.cjs.js +1 -1
  273. package/dist/components/overlays/HoverCard/HoverCard.mjs +31 -31
  274. package/dist/components/overlays/HoverCard/HoverCard.module.css.mjs +1 -2
  275. package/dist/components/overlays/Modal/ConfirmModal.cjs.js +1 -1
  276. package/dist/components/overlays/Modal/ConfirmModal.mjs +21 -23
  277. package/dist/components/overlays/Modal/Modal.cjs.js +1 -1
  278. package/dist/components/overlays/Modal/Modal.mjs +47 -47
  279. package/dist/components/overlays/Modal/Modal.module.css.mjs +1 -2
  280. package/dist/components/overlays/Modal/ModalContent.cjs.js +1 -1
  281. package/dist/components/overlays/Modal/ModalContent.mjs +24 -24
  282. package/dist/components/overlays/Modal/ModalContext.cjs.js +1 -1
  283. package/dist/components/overlays/Modal/ModalContext.mjs +2 -2
  284. package/dist/components/overlays/Modal/useScrollRegion.cjs.js +1 -1
  285. package/dist/components/overlays/Modal/useScrollRegion.mjs +2 -2
  286. package/dist/components/overlays/Popover/Popover.cjs.js +1 -1
  287. package/dist/components/overlays/Popover/Popover.mjs +40 -40
  288. package/dist/components/overlays/Popover/Popover.module.css.mjs +1 -2
  289. package/dist/components/overlays/Popover/PopoverContent.cjs.js +1 -1
  290. package/dist/components/overlays/Popover/PopoverContent.mjs +39 -39
  291. package/dist/components/overlays/Popover/PopoverContext.cjs.js +1 -1
  292. package/dist/components/overlays/Popover/PopoverContext.mjs +2 -2
  293. package/dist/components/overlays/Tooltip/Tooltip.cjs.js +1 -1
  294. package/dist/components/overlays/Tooltip/Tooltip.mjs +100 -95
  295. package/dist/components/overlays/Tooltip/Tooltip.module.css.mjs +1 -2
  296. package/dist/components/primitives/Button/Button.cjs.js +1 -1
  297. package/dist/components/primitives/Button/Button.mjs +59 -63
  298. package/dist/components/primitives/Button/Button.module.css.mjs +1 -2
  299. package/dist/components/primitives/Icon/Icon.cjs.js +1 -1
  300. package/dist/components/primitives/Icon/Icon.mjs +5 -6
  301. package/dist/components/primitives/Icon/Icon.module.css.mjs +1 -2
  302. package/dist/components/primitives/Icon/IconSvg.mjs +1 -2
  303. package/dist/components/primitives/Icon/icons.mjs +1 -2
  304. package/dist/components/primitives/Kbd/Kbd.cjs.js +1 -1
  305. package/dist/components/primitives/Kbd/Kbd.mjs +30 -30
  306. package/dist/components/primitives/Kbd/Kbd.module.css.mjs +1 -2
  307. package/dist/components/primitives/Typography/Typography.mjs +1 -2
  308. package/dist/components/primitives/Typography/Typography.module.css.mjs +1 -2
  309. package/dist/components/utilities/LocaleProvider/LocaleProvider.cjs.js +1 -1
  310. package/dist/components/utilities/LocaleProvider/LocaleProvider.mjs +11 -11
  311. package/dist/components/utilities/LocaleProvider/LocaleProvider.module.css.mjs +1 -2
  312. package/dist/components/utilities/Portal/Portal.cjs.js +1 -1
  313. package/dist/components/utilities/Portal/Portal.mjs +2 -2
  314. package/dist/components/utilities/Theme/Theme.cjs.js +1 -1
  315. package/dist/components/utilities/Theme/Theme.mjs +13 -13
  316. package/dist/components/utilities/Theme/Theme.module.css.mjs +1 -2
  317. package/dist/components/utilities/VisuallyHidden/VisuallyHidden.mjs +1 -2
  318. package/dist/components/utilities/VisuallyHidden/VisuallyHidden.module.css.mjs +1 -2
  319. package/dist/hooks/elementSource.cjs.js +1 -1
  320. package/dist/hooks/elementSource.mjs +4 -3
  321. package/dist/hooks/useClipboard.cjs.js +1 -1
  322. package/dist/hooks/useClipboard.mjs +2 -2
  323. package/dist/hooks/useControllableState.cjs.js +1 -1
  324. package/dist/hooks/useControllableState.mjs +2 -2
  325. package/dist/hooks/useDisclosure.cjs.js +1 -1
  326. package/dist/hooks/useDisclosure.mjs +2 -2
  327. package/dist/hooks/useDismiss.cjs.js +1 -1
  328. package/dist/hooks/useDismiss.mjs +2 -2
  329. package/dist/hooks/useElementObservers.cjs.js +1 -1
  330. package/dist/hooks/useElementObservers.mjs +2 -2
  331. package/dist/hooks/useEnvironment.cjs.js +1 -1
  332. package/dist/hooks/useEnvironment.mjs +2 -2
  333. package/dist/hooks/useFloatingPosition.cjs.js +1 -1
  334. package/dist/hooks/useFloatingPosition.mjs +2 -2
  335. package/dist/hooks/useFocusTrap.cjs.js +1 -1
  336. package/dist/hooks/useFocusTrap.mjs +4 -15
  337. package/dist/hooks/useFormReset.cjs.js +1 -1
  338. package/dist/hooks/useFormReset.mjs +2 -2
  339. package/dist/hooks/useFormValidation.cjs.js +1 -1
  340. package/dist/hooks/useFormValidation.mjs +2 -2
  341. package/dist/hooks/useHotkeys.cjs.js +1 -1
  342. package/dist/hooks/useHotkeys.mjs +2 -2
  343. package/dist/hooks/useInertOutside.cjs.js +1 -1
  344. package/dist/hooks/useInertOutside.mjs +5 -9
  345. package/dist/hooks/useMediaQuery.cjs.js +1 -1
  346. package/dist/hooks/useMediaQuery.mjs +2 -2
  347. package/dist/hooks/useMergedRef.cjs.js +1 -1
  348. package/dist/hooks/useMergedRef.mjs +2 -2
  349. package/dist/hooks/useOverlayLayer.cjs.js +1 -1
  350. package/dist/hooks/useOverlayLayer.mjs +3 -3
  351. package/dist/hooks/useResponsiveValue.cjs.js +1 -1
  352. package/dist/hooks/useResponsiveValue.mjs +2 -2
  353. package/dist/hooks/useScrollLock.cjs.js +1 -1
  354. package/dist/hooks/useScrollLock.mjs +2 -2
  355. package/dist/hooks/useStorage.cjs.js +1 -1
  356. package/dist/hooks/useStorage.mjs +2 -2
  357. package/dist/hooks/useTiming.cjs.js +1 -1
  358. package/dist/hooks/useTiming.mjs +10 -15
  359. package/dist/hooks/useVirtualizer.cjs.js +1 -1
  360. package/dist/hooks/useVirtualizer.d.ts +13 -0
  361. package/dist/hooks/useVirtualizer.mjs +93 -54
  362. package/dist/i18n/en.mjs +1 -2
  363. package/dist/i18n/merge.mjs +1 -2
  364. package/dist/i18n/plural.mjs +1 -2
  365. package/dist/index.cjs.js +1 -1
  366. package/dist/index.mjs +114 -114
  367. package/dist/locales/ar.mjs +1 -2
  368. package/dist/locales/bn.mjs +1 -2
  369. package/dist/locales/cs.mjs +1 -2
  370. package/dist/locales/da.mjs +1 -2
  371. package/dist/locales/de.mjs +1 -2
  372. package/dist/locales/el.mjs +1 -2
  373. package/dist/locales/es.mjs +1 -2
  374. package/dist/locales/fa.mjs +1 -2
  375. package/dist/locales/fi.mjs +1 -2
  376. package/dist/locales/fr.mjs +1 -2
  377. package/dist/locales/he.mjs +1 -2
  378. package/dist/locales/hi.mjs +1 -2
  379. package/dist/locales/hu.mjs +1 -2
  380. package/dist/locales/id.mjs +1 -2
  381. package/dist/locales/it.mjs +1 -2
  382. package/dist/locales/ja.mjs +1 -2
  383. package/dist/locales/ko.mjs +1 -2
  384. package/dist/locales/nb.mjs +1 -2
  385. package/dist/locales/nl.mjs +1 -2
  386. package/dist/locales/pl.mjs +1 -2
  387. package/dist/locales/pt-BR.mjs +1 -2
  388. package/dist/locales/ro.mjs +1 -2
  389. package/dist/locales/ru.mjs +1 -2
  390. package/dist/locales/sv.mjs +1 -2
  391. package/dist/locales/th.mjs +1 -2
  392. package/dist/locales/tr.mjs +1 -2
  393. package/dist/locales/uk.mjs +1 -2
  394. package/dist/locales/ur.mjs +1 -2
  395. package/dist/locales/vi.mjs +1 -2
  396. package/dist/locales/zh-Hans.mjs +1 -2
  397. package/dist/locales/zh-Hant.mjs +1 -2
  398. package/dist/types/common.mjs +1 -2
  399. package/dist/utils/announce.cjs.js +1 -1
  400. package/dist/utils/announce.mjs +3 -4
  401. package/dist/utils/brandPalette.mjs +1 -2
  402. package/dist/utils/clipboard.mjs +1 -2
  403. package/dist/utils/cx.mjs +1 -2
  404. package/dist/utils/fillSlot.cjs.js +1 -1
  405. package/dist/utils/fillSlot.mjs +2 -2
  406. package/dist/utils/flattenChildren.mjs +1 -2
  407. package/dist/utils/hotkeys.mjs +1 -2
  408. package/dist/utils/intl.cjs.js +1 -0
  409. package/dist/utils/intl.d.ts +10 -0
  410. package/dist/utils/intl.mjs +15 -0
  411. package/dist/utils/refs.mjs +1 -2
  412. package/dist/utils/responsive.mjs +1 -2
  413. package/dist/utils/slot.mjs +1 -2
  414. package/dist/utils/validators.mjs +1 -2
  415. package/dist/vjdesigns-ui.css +1 -1
  416. package/dist/vjdesigns-ui.css.d.ts +2 -0
  417. package/package.json +24 -14
@@ -1,50 +1,52 @@
1
- import { en as e } from "../../../i18n/en.mjs";
2
- import { useControllableState as t } from "../../../hooks/useControllableState.mjs";
3
- import { useFormReset as n } from "../../../hooks/useFormReset.mjs";
4
- import { useLocale as r } from "../../utilities/LocaleProvider/LocaleProvider.mjs";
5
- import { assignRef as i } from "../../../utils/refs.mjs";
6
- import { cx as a } from "../../../utils/cx.mjs";
7
- import { VisuallyHidden as o } from "../../utilities/VisuallyHidden/VisuallyHidden.mjs";
8
- import { Spinner as s } from "../../feedback/Spinner/Spinner.mjs";
9
- import { Button as c, IconButton as l } from "../../primitives/Button/Button.mjs";
10
- import { CheckIcon as u, CloseIcon as d, ErrorIcon as f, FileIcon as p, ImageIcon as m, TrashIcon as h, UploadIcon as g } from "../../primitives/Icon/icons.mjs";
1
+ "use client";
2
+ import { cx as e } from "../../../utils/cx.mjs";
3
+ import { getNumberFormat as t } from "../../../utils/intl.mjs";
4
+ import { assignRef as n } from "../../../utils/refs.mjs";
5
+ import { useControllableState as r } from "../../../hooks/useControllableState.mjs";
6
+ import { useFormReset as i } from "../../../hooks/useFormReset.mjs";
7
+ import { Button as a, IconButton as o } from "../../primitives/Button/Button.mjs";
8
+ import { CheckIcon as s, CloseIcon as c, ErrorIcon as l, FileIcon as u, ImageIcon as d, TrashIcon as f, UploadIcon as p } from "../../primitives/Icon/icons.mjs";
9
+ import { Progress as m } from "../../feedback/Progress/Progress.mjs";
10
+ import { Spinner as h } from "../../feedback/Spinner/Spinner.mjs";
11
+ import { VisuallyHidden as g } from "../../utilities/VisuallyHidden/VisuallyHidden.mjs";
11
12
  import { useFieldContext as _, useFieldControl as v } from "../Field/FieldContext.mjs";
12
- import { Progress as y } from "../../feedback/Progress/Progress.mjs";
13
- import b from "./FileUpload.module.css.mjs";
14
- import { useCallback as x, useEffect as S, useId as C, useLayoutEffect as w, useMemo as T, useRef as E, useState as D } from "react";
15
- import { Fragment as ee, jsx as O, jsxs as k } from "react/jsx-runtime";
16
- //#region src/components/forms/FileUpload/FileUpload.tsx
17
- var te = {
18
- sm: b.sm,
19
- md: b.md,
20
- lg: b.lg
21
- }, A = {
22
- dropzone: b.variantDropzone,
23
- button: b.variantButton
13
+ import y from "./FileUpload.module.css.mjs";
14
+ import { useLocale as ee } from "../../utilities/LocaleProvider/LocaleProvider.mjs";
15
+ import { en as b } from "../../../i18n/en.mjs";
16
+ import { useCallback as x, useEffect as S, useId as C, useLayoutEffect as w, useMemo as te, useRef as T, useState as E } from "react";
17
+ import { Fragment as ne, jsx as D, jsxs as O } from "react/jsx-runtime";
18
+ // src/components/forms/FileUpload/FileUpload.tsx
19
+ var re = {
20
+ sm: y.sm,
21
+ md: y.md,
22
+ lg: y.lg
23
+ }, k = {
24
+ dropzone: y.variantDropzone,
25
+ button: y.variantButton
24
26
  };
25
- function j(t, n = e.fileUpload.units, r) {
26
- let i = (e) => new Intl.NumberFormat(r).format(e);
27
- if (!Number.isFinite(t) || t < 0) return `${i(0)} ${n.B}`;
28
- if (t < 1024) return `${i(Math.round(t))} ${n.B}`;
27
+ function A(e, n = b.fileUpload.units, r) {
28
+ let i = (e) => t(r).format(e);
29
+ if (!Number.isFinite(e) || e < 0) return `${i(0)} ${n.B}`;
30
+ if (e < 1024) return `${i(Math.round(e))} ${n.B}`;
29
31
  let a = [
30
32
  n.KB,
31
33
  n.MB,
32
34
  n.GB,
33
35
  n.TB
34
- ], o = t / 1024, s = 0;
36
+ ], o = e / 1024, s = 0;
35
37
  for (; o >= 1024 && s < a.length - 1;) o /= 1024, s++;
36
38
  return `${i(o >= 10 ? Math.round(o) : Math.round(o * 10) / 10)} ${a[s]}`;
37
39
  }
38
- function M(e) {
40
+ function j(e) {
39
41
  return e ? e.split(",").map((e) => e.trim().toLowerCase()).filter(Boolean) : [];
40
42
  }
41
- function N(e, t) {
42
- let n = M(t);
43
+ function M(e, t) {
44
+ let n = j(t);
43
45
  if (n.length === 0) return !0;
44
46
  let r = e.name.toLowerCase(), i = (e.type || "").toLowerCase();
45
47
  return n.some((e) => e.startsWith(".") ? r.endsWith(e) : e.endsWith("/*") ? i.startsWith(e.slice(0, -1)) : i === e);
46
48
  }
47
- var P = {
49
+ var ie = {
48
50
  "image/jpeg": "JPG",
49
51
  "image/svg+xml": "SVG",
50
52
  "text/plain": "TXT",
@@ -53,36 +55,36 @@ var P = {
53
55
  "application/vnd.ms-excel": "XLS",
54
56
  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "XLSX"
55
57
  };
56
- function F(t, n = e.fileUpload) {
57
- let r = n.typeGroups, i = M(t).map((e) => {
58
+ function ae(e, t = b.fileUpload) {
59
+ let n = t.typeGroups, r = j(e).map((e) => {
58
60
  if (e.startsWith(".")) return e.slice(1).toUpperCase();
59
61
  if (e.endsWith("/*")) {
60
- let t = e.slice(0, -2);
61
- return r[t] ?? n.typeGroup(t);
62
+ let r = e.slice(0, -2);
63
+ return n[r] ?? t.typeGroup(r);
62
64
  }
63
- return P[e] ? P[e] : (e.split("/")[1] ?? e).toUpperCase();
64
- }), a = Array.from(new Set(i));
65
- if (a.length === 0) return "";
66
- let o = a.join(", ");
67
- return o.charAt(0).toUpperCase() + o.slice(1);
65
+ return ie[e] ? ie[e] : (e.split("/")[1] ?? e).toUpperCase();
66
+ }), i = Array.from(new Set(r));
67
+ if (i.length === 0) return "";
68
+ let a = i.join(", ");
69
+ return a.charAt(0).toUpperCase() + a.slice(1);
68
70
  }
69
- var I = (e) => `${e.name}::${e.size}::${e.lastModified}`, ne = (e) => (e.type || "").startsWith("image/"), L = /* @__PURE__ */ new WeakMap(), re = 0;
70
- function ie(e) {
71
- let t = L.get(e);
72
- return t || (t = `file-${++re}`, L.set(e, t)), t;
71
+ var N = (e) => `${e.name}::${e.size}::${e.lastModified}`, oe = (e) => (e.type || "").startsWith("image/"), se = /* @__PURE__ */ new WeakMap(), ce = 0;
72
+ function le(e) {
73
+ let t = se.get(e);
74
+ return t || (t = `file-${++ce}`, se.set(e, t)), t;
73
75
  }
74
- function ae(e, t) {
76
+ function P(e, t) {
75
77
  let n = Intl.ListFormat;
76
78
  return n ? new n(t, { type: "conjunction" }).format(e) : e.join(", ");
77
79
  }
78
- function oe() {
79
- let [e, t] = D(""), n = E(!1);
80
+ function ue() {
81
+ let [e, t] = E(""), n = T(!1);
80
82
  return [e, x((e) => {
81
83
  n.current = !n.current, t(n.current ? `${e} ` : e);
82
84
  }, [])];
83
85
  }
84
- function R(e, t) {
85
- let [n, r] = D();
86
+ function F(e, t) {
87
+ let [n, r] = E();
86
88
  return S(() => {
87
89
  if (!t || typeof URL > "u" || typeof URL.createObjectURL != "function") return;
88
90
  let n = URL.createObjectURL(e);
@@ -91,7 +93,7 @@ function R(e, t) {
91
93
  };
92
94
  }, [e, t]), n;
93
95
  }
94
- var z = (e, t) => {
96
+ var de = (e, t) => {
95
97
  if (!e?.status && e?.progress == null) return null;
96
98
  if (e.message) return e.message;
97
99
  switch (e.status) {
@@ -99,160 +101,154 @@ var z = (e, t) => {
99
101
  case "error": return t.uploadFailed;
100
102
  default: return e.progress == null ? t.uploading : t.uploadingPercent(Math.round(e.progress));
101
103
  }
102
- }, se = ({ file: e, state: t, showThumbnails: n, disabled: i, removeLabel: a, onRemove: o, removeRef: c }) => {
103
- let { messages: g, locale: _ } = r(), v = ne(e), [x, S] = D(!1), C = R(e, n && v), w = t?.status ?? (t?.progress == null ? void 0 : "uploading"), T = z(t, g.fileUpload), E = w === "uploading" && t?.progress != null;
104
- return /* @__PURE__ */ k("li", {
105
- className: b.item,
106
- "data-status": w,
104
+ }, I = ({ file: e, state: t, showThumbnails: n, disabled: r, removeLabel: i, onRemove: a, removeRef: p }) => {
105
+ let { messages: g, locale: _ } = ee(), v = oe(e), [b, x] = E(!1), S = F(e, n && v), C = t?.status ?? (t?.progress == null ? void 0 : "uploading"), w = de(t, g.fileUpload), te = C === "uploading" && t?.progress != null;
106
+ return /* @__PURE__ */ O("li", {
107
+ className: y.item,
108
+ "data-status": C,
107
109
  children: [
108
- /* @__PURE__ */ O("span", {
109
- className: b.thumb,
110
+ /* @__PURE__ */ D("span", {
111
+ className: y.thumb,
110
112
  "aria-hidden": "true",
111
- children: C && !x ? /* @__PURE__ */ O("img", {
112
- className: b.thumbImage,
113
- src: C,
113
+ children: S && !b ? /* @__PURE__ */ D("img", {
114
+ className: y.thumbImage,
115
+ src: S,
114
116
  alt: "",
115
- onError: () => S(!0)
116
- }) : O(v ? m : p, { size: "md" })
117
+ onError: () => x(!0)
118
+ }) : D(v ? d : u, { size: "md" })
117
119
  }),
118
- /* @__PURE__ */ k("div", {
119
- className: b.itemBody,
120
+ /* @__PURE__ */ O("div", {
121
+ className: y.itemBody,
120
122
  children: [
121
- /* @__PURE__ */ O("span", {
122
- className: b.fileName,
123
+ /* @__PURE__ */ D("span", {
124
+ className: y.fileName,
123
125
  title: e.name,
124
126
  children: e.name
125
127
  }),
126
- /* @__PURE__ */ k("span", {
127
- className: b.meta,
128
- children: [/* @__PURE__ */ O("span", { children: j(e.size, g.fileUpload.units, _) }), T && /* @__PURE__ */ k("span", {
129
- className: b.status,
130
- "data-status": w,
128
+ /* @__PURE__ */ O("span", {
129
+ className: y.meta,
130
+ children: [/* @__PURE__ */ D("span", { children: A(e.size, g.fileUpload.units, _) }), w && /* @__PURE__ */ O("span", {
131
+ className: y.status,
132
+ "data-status": C,
131
133
  children: [
132
- w === "done" && /* @__PURE__ */ O(u, { size: "sm" }),
133
- w === "error" && /* @__PURE__ */ O(f, { size: "sm" }),
134
- w === "uploading" && /* @__PURE__ */ O(s, {
134
+ C === "done" && /* @__PURE__ */ D(s, { size: "sm" }),
135
+ C === "error" && /* @__PURE__ */ D(l, { size: "sm" }),
136
+ C === "uploading" && /* @__PURE__ */ D(h, {
135
137
  decorative: !0,
136
138
  size: "xs"
137
139
  }),
138
- /* @__PURE__ */ O("span", { children: T })
140
+ /* @__PURE__ */ D("span", { children: w })
139
141
  ]
140
142
  })]
141
143
  }),
142
- E && /* @__PURE__ */ O(y, {
143
- className: b.progress,
144
+ te && /* @__PURE__ */ D(m, {
145
+ className: y.progress,
144
146
  size: "sm",
145
147
  value: t?.progress,
146
148
  "aria-label": g.fileUpload.progressFor(e.name)
147
149
  })
148
150
  ]
149
151
  }),
150
- o && /* @__PURE__ */ O(l, {
151
- ref: c,
152
- className: b.remove,
152
+ a && /* @__PURE__ */ D(o, {
153
+ ref: p,
154
+ className: y.remove,
153
155
  variant: "ghost",
154
156
  tone: "neutral",
155
157
  size: "sm",
156
- "aria-label": a,
157
- disabled: i,
158
- onClick: o,
159
- children: O(w === "uploading" ? d : h, { size: "sm" })
158
+ "aria-label": i,
159
+ disabled: r,
160
+ onClick: a,
161
+ children: D(C === "uploading" ? c : f, { size: "sm" })
160
162
  })
161
163
  ]
162
164
  });
163
- }, ce = ({ files: e, onRemove: t, getFileState: n, showThumbnails: i = !0, disabled: s = !1, removeLabel: c, focusFallback: l, size: u = "md", className: d, "aria-label": f, ...p }) => {
164
- let { messages: m, locale: h } = r(), g = (e) => ae(e, h), _ = c ?? m.fileUpload.remove, v = f ?? m.fileUpload.list, y = E([]), x = E(null), [C, T] = oe(), D = (n, r) => {
165
- x.current = {
165
+ }, L = ({ files: t, onRemove: n, getFileState: r, showThumbnails: i = !0, disabled: a = !1, removeLabel: o, focusFallback: s, size: c = "md", className: l, "aria-label": u, ...d }) => {
166
+ let { messages: f, locale: p } = ee(), m = (e) => P(e, p), h = o ?? f.fileUpload.remove, _ = u ?? f.fileUpload.list, v = T([]), b = T(null), [x, C] = ue(), te = (e, r) => {
167
+ b.current = {
166
168
  index: r,
167
- length: e.length
168
- }, t?.(n, r);
169
+ length: t.length
170
+ }, n?.(e, r);
169
171
  };
170
172
  w(() => {
171
- let t = x.current;
172
- if (t && (x.current = null, !(e.length >= t.length))) {
173
- if (e.length === 0) {
174
- l?.()?.focus();
175
- return;
176
- }
177
- y.current[Math.min(t.index, e.length - 1)]?.focus();
178
- }
179
- }, [e, l]);
180
- let A = e.map((e, t) => n?.(e, t)), j = E(/* @__PURE__ */ new WeakMap()), M = A.map((e) => e?.status ?? "").join("|");
173
+ let e = b.current;
174
+ e && (b.current = null, t.length >= e.length || (t.length === 0 ? s?.()?.focus() : v.current[Math.min(e.index, t.length - 1)]?.focus()));
175
+ }, [t, s]);
176
+ let E = t.map((e, t) => r?.(e, t)), k = T(/* @__PURE__ */ new WeakMap()), A = E.map((e) => e?.status ?? "").join("|");
181
177
  return S(() => {
182
- let t = [], n = [];
183
- e.forEach((e, r) => {
184
- let i = A[r]?.status, a = j.current.get(e);
185
- i !== a && ((a !== void 0 || j.current.has(e)) && (i === "done" && t.push(e.name), i === "error" && n.push(e.name)), j.current.set(e, i));
178
+ let e = [], n = [];
179
+ t.forEach((t, r) => {
180
+ let i = E[r]?.status, a = k.current.get(t);
181
+ i !== a && ((a !== void 0 || k.current.has(t)) && (i === "done" && e.push(t.name), i === "error" && n.push(t.name)), k.current.set(t, i));
186
182
  });
187
183
  let r = [];
188
- t.length && r.push(m.fileUpload.announceUploaded(g(t))), n.length && r.push(m.fileUpload.announceFailed(g(n))), r.length && T(r.join(" "));
184
+ e.length && r.push(f.fileUpload.announceUploaded(m(e))), n.length && r.push(f.fileUpload.announceFailed(m(n))), r.length && C(r.join(" "));
189
185
  }, [
190
- e,
191
- M,
192
- T
193
- ]), /* @__PURE__ */ k(ee, { children: [e.length > 0 && /* @__PURE__ */ O("ul", {
194
- ...p,
195
- "aria-label": v,
196
- className: a(b.list, te[u], d),
197
- children: e.map((e, n) => /* @__PURE__ */ O(se, {
186
+ t,
187
+ A,
188
+ C
189
+ ]), /* @__PURE__ */ O(ne, { children: [t.length > 0 && /* @__PURE__ */ D("ul", {
190
+ ...d,
191
+ "aria-label": _,
192
+ className: e(y.list, re[c], l),
193
+ children: t.map((e, t) => /* @__PURE__ */ D(I, {
198
194
  file: e,
199
- state: A[n],
195
+ state: E[t],
200
196
  showThumbnails: i,
201
- disabled: s,
202
- removeLabel: _(e.name),
203
- onRemove: t ? () => D(e, n) : void 0,
197
+ disabled: a,
198
+ removeLabel: h(e.name),
199
+ onRemove: n ? () => te(e, t) : void 0,
204
200
  removeRef: (e) => {
205
- y.current[n] = e;
201
+ v.current[t] = e;
206
202
  }
207
- }, ie(e)))
208
- }), /* @__PURE__ */ O(o, {
203
+ }, le(e)))
204
+ }), /* @__PURE__ */ D(g, {
209
205
  role: "status",
210
- children: C
206
+ children: x
211
207
  })] });
212
208
  };
213
- function le(e, t, n, r, i) {
214
- let a = (e) => j(e, r.units, i), { accept: o, multiple: s = !1, maxFiles: c, maxSize: l, minSize: u, validator: d } = n, f = [], p = [], m = new Set(s ? t.map(I) : []), h = s ? c ?? Infinity : 1, g = s ? t.length : 0, _ = F(o, r);
209
+ function fe(e, t, n, r, i) {
210
+ let a = (e) => A(e, r.units, i), { accept: o, multiple: s = !1, maxFiles: c, maxSize: l, minSize: u, validator: d } = n, f = [], p = [], m = new Set(s ? t.map(N) : []), h = s ? c ?? Infinity : 1, g = s ? t.length : 0, _ = ae(o, r);
215
211
  for (let t of e) {
216
212
  let e = [];
217
- if (N(t, o) || e.push(_ ? r.typeNotAcceptedUse(_) : r.typeNotAccepted), l != null && t.size > l && e.push(r.tooLarge(a(l))), u != null && t.size < u && e.push(r.tooSmall(a(u))), m.has(I(t)) && e.push(r.duplicate), e.length === 0 && d) {
213
+ if (M(t, o) || e.push(_ ? r.typeNotAcceptedUse(_) : r.typeNotAccepted), l != null && t.size > l && e.push(r.tooLarge(a(l))), u != null && t.size < u && e.push(r.tooSmall(a(u))), m.has(N(t)) && e.push(r.duplicate), e.length === 0 && d) {
218
214
  let n = d(t);
219
215
  n && e.push(n);
220
216
  }
221
217
  e.length === 0 && g + f.length >= h && e.push(s ? r.tooMany(h) : r.onlyOne), e.length ? p.push({
222
218
  file: t,
223
219
  errors: e
224
- }) : (f.push(t), m.add(I(t)));
220
+ }) : (f.push(t), m.add(N(t)));
225
221
  }
226
222
  return {
227
223
  accepted: f,
228
224
  rejections: p
229
225
  };
230
226
  }
231
- var B = (e) => Array.from(e.dataTransfer?.types ?? []).includes("Files"), ue = Object.assign(({ accept: e, multiple: s = !1, maxFiles: u, maxSize: p, minSize: m, validator: h, value: y, defaultValue: w, onValueChange: M, onReject: N, onFileRemove: P, disabled: I, invalid: ne, name: L, required: re, size: ae, variant: R = "dropzone", children: z, prompt: se, hint: ue, browseLabel: de, showList: fe = !0, showRejections: pe = !0, showThumbnails: me = !0, getFileState: he, inputRef: ge, buttonRef: _e, id: ve, className: ye, style: be, "aria-describedby": xe, "aria-label": Se, "aria-labelledby": Ce, ...we }) => {
232
- let { messages: V, locale: Te } = r(), Ee = (e) => j(e, V.fileUpload.units, Te), H = C(), De = `${H}-hint`, Oe = `${H}-prompt`, ke = `${H}-browse`, Ae = `${H}-rejections`, je = `${H}-required`, Me = `${H}-input`, U = _(), [Ne, Pe] = D([]), W = ue === void 0 ? [[F(e, V.fileUpload), p == null ? "" : s ? V.fileUpload.upToEach(Ee(p)) : V.fileUpload.upTo(Ee(p))].filter(Boolean).join(" "), s && u != null ? V.fileUpload.maxFiles(u) : ""].filter(Boolean).map((e) => `${e}.`).join(" ") || null : ue, Fe = W !== null && W !== !1 && W !== "", Ie = pe && Ne.length > 0, G = v({
233
- id: ve,
234
- invalid: ne,
235
- required: re,
236
- disabled: I,
237
- size: ae,
227
+ var R = (e) => Array.from(e.dataTransfer?.types ?? []).includes("Files"), pe = Object.assign(({ accept: t, multiple: s = !1, maxFiles: u, maxSize: d, minSize: f, validator: m, value: h, defaultValue: b, onValueChange: w, onReject: j, onFileRemove: M, disabled: ie, invalid: N, name: oe, required: se, size: ce, variant: P = "dropzone", children: F, prompt: de, hint: I, browseLabel: pe, showList: me = !0, showRejections: he = !0, showThumbnails: ge = !0, getFileState: _e, inputRef: ve, buttonRef: ye, id: be, className: xe, style: Se, "aria-describedby": Ce, "aria-label": we, "aria-labelledby": Te, ...Ee }) => {
228
+ let { messages: z, locale: De } = ee(), Oe = (e) => A(e, z.fileUpload.units, De), B = C(), ke = `${B}-hint`, Ae = `${B}-prompt`, je = `${B}-browse`, Me = `${B}-rejections`, Ne = `${B}-required`, Pe = `${B}-input`, V = _(), [Fe, Ie] = E([]), H = I === void 0 ? [[ae(t, z.fileUpload), d == null ? "" : s ? z.fileUpload.upToEach(Oe(d)) : z.fileUpload.upTo(Oe(d))].filter(Boolean).join(" "), s && u != null ? z.fileUpload.maxFiles(u) : ""].filter(Boolean).map((e) => `${e}.`).join(" ") || null : I, Le = H !== null && H !== !1 && H !== "", Re = he && Fe.length > 0, U = v({
229
+ id: be,
230
+ invalid: N,
231
+ required: se,
232
+ disabled: ie,
233
+ size: ce,
238
234
  "aria-describedby": [
239
- xe,
240
- Fe && !z ? De : void 0,
241
- Ie ? Ae : void 0
235
+ Ce,
236
+ Le && !F ? ke : void 0,
237
+ Re ? Me : void 0
242
238
  ].filter(Boolean).join(" ") || void 0
243
- }), K = G.size ?? "md", q = G.disabled, [J, Le] = t({
244
- value: y,
245
- defaultValue: w ?? [],
246
- onChange: M
239
+ }), W = U.size ?? "md", G = U.disabled, [K, q] = r({
240
+ value: h,
241
+ defaultValue: b ?? [],
242
+ onChange: w
247
243
  });
248
- n(() => G.id ? document.getElementById(G.id) : null, () => Le(w ?? []), y === void 0);
249
- let Y = E(J);
250
- Y.current = J;
251
- let [Re, ze] = oe(), [Be, Ve] = D(!1), X = E(0), Z = E(null), Q = E(null), He = x((e) => {
252
- Z.current = e, i(ge, e);
253
- }, [ge]), Ue = x((e) => {
254
- Q.current = e, i(_e, e);
255
- }, [_e]), $ = x((e) => {
244
+ i(() => U.id ? document.getElementById(U.id) : null, () => q(b ?? []), h === void 0);
245
+ let J = T(K);
246
+ J.current = K;
247
+ let [ze, Be] = ue(), [Ve, Y] = E(!1), X = T(0), Z = T(null), Q = T(null), He = x((e) => {
248
+ Z.current = e, n(ve, e);
249
+ }, [ve]), Ue = x((e) => {
250
+ Q.current = e, n(ye, e);
251
+ }, [ye]), $ = x((e) => {
256
252
  let t = Z.current;
257
253
  if (t) try {
258
254
  if (typeof DataTransfer > "u") throw Error("unsupported");
@@ -263,185 +259,184 @@ var B = (e) => Array.from(e.dataTransfer?.types ?? []).includes("Files"), ue = O
263
259
  }
264
260
  }, []);
265
261
  S(() => {
266
- $(J);
267
- }, [J, $]);
262
+ $(K);
263
+ }, [K, $]);
268
264
  let We = x(() => {
269
- if (q) return;
265
+ if (G) return;
270
266
  let e = Z.current;
271
267
  e && (e.value = "", e.click());
272
- }, [q]);
268
+ }, [G]);
273
269
  S(() => {
274
270
  let e = Z.current;
275
271
  if (!e) return;
276
- let t = () => $(Y.current);
272
+ let t = () => $(J.current);
277
273
  return e.addEventListener("cancel", t), () => e.removeEventListener("cancel", t);
278
274
  }, [$]);
279
- let Ge = (t) => {
280
- if (q || t.length === 0) return;
281
- let n = Y.current, r = le(t, n, {
282
- accept: e,
275
+ let Ge = (e) => {
276
+ if (G || e.length === 0) return;
277
+ let n = J.current, r = fe(e, n, {
278
+ accept: t,
283
279
  multiple: s,
284
280
  maxFiles: u,
285
- maxSize: p,
286
- minSize: m,
287
- validator: h
288
- }, V.fileUpload, Te);
289
- r.accepted.length && Le(s ? [...n, ...r.accepted] : r.accepted), Pe(r.rejections), r.rejections.length && N?.(r.rejections);
290
- let i = r.accepted.length, a = r.rejections.length, o = V.fileUpload.announceAdded(i, a);
291
- a === 1 && i === 0 && (o += ` ${r.rejections[0].file.name}: ${r.rejections[0].errors.join(" ")}`), ze(o);
281
+ maxSize: d,
282
+ minSize: f,
283
+ validator: m
284
+ }, z.fileUpload, De);
285
+ r.accepted.length && q(s ? [...n, ...r.accepted] : r.accepted), Ie(r.rejections), r.rejections.length && j?.(r.rejections);
286
+ let i = r.accepted.length, a = r.rejections.length, o = z.fileUpload.announceAdded(i, a);
287
+ a === 1 && i === 0 && (o += ` ${r.rejections[0].file.name}: ${r.rejections[0].errors.join(" ")}`), Be(o);
292
288
  }, Ke = (e) => {
293
289
  let t = Array.from(e.target.files ?? []);
294
- Ge(t), requestAnimationFrame(() => $(Y.current));
290
+ Ge(t), requestAnimationFrame(() => $(J.current));
295
291
  }, qe = (e) => {
296
- let t = Y.current.filter((t) => t !== e);
297
- Le(t), P?.(e), ze(`${e.name} removed.`);
292
+ let t = J.current.filter((t) => t !== e);
293
+ q(t), M?.(e), Be(`${e.name} removed.`);
298
294
  }, Je = () => {
299
- X.current = 0, Ve(!1);
295
+ X.current = 0, Y(!1);
300
296
  }, Ye = (e) => {
301
- B(e) && (e.preventDefault(), X.current += 1, q || Ve(!0));
297
+ R(e) && (e.preventDefault(), X.current += 1, G || Y(!0));
302
298
  }, Xe = (e) => {
303
- B(e) && (e.preventDefault(), e.dataTransfer.dropEffect = q ? "none" : "copy");
299
+ R(e) && (e.preventDefault(), e.dataTransfer.dropEffect = G ? "none" : "copy");
304
300
  }, Ze = (e) => {
305
- B(e) && (X.current = Math.max(0, X.current - 1), X.current === 0 && Ve(!1));
301
+ R(e) && (X.current = Math.max(0, X.current - 1), X.current === 0 && Y(!1));
306
302
  }, Qe = (e) => {
307
- B(e) && (e.preventDefault(), Je(), !q && Ge(Array.from(e.dataTransfer.files ?? [])));
308
- }, $e = [ke, U && !U.isGroup ? U.labelId : void 0].filter(Boolean).join(" "), et = [G.ariaProps["aria-describedby"], G.required ? je : void 0].filter(Boolean).join(" ") || void 0, tt = de ?? (R === "button" ? V.fileUpload.uploadFiles : V.fileUpload.browseFiles), nt = K, rt = /* @__PURE__ */ O(c, {
303
+ R(e) && (e.preventDefault(), Je(), G || Ge(Array.from(e.dataTransfer.files ?? [])));
304
+ }, $e = [je, V && !V.isGroup ? V.labelId : void 0].filter(Boolean).join(" "), et = [U.ariaProps["aria-describedby"], U.required ? Ne : void 0].filter(Boolean).join(" ") || void 0, tt = pe ?? (P === "button" ? z.fileUpload.uploadFiles : z.fileUpload.browseFiles), nt = W, rt = /* @__PURE__ */ D(a, {
309
305
  ref: Ue,
310
- id: G.id,
311
- className: b.browse,
312
- variant: R === "button" ? "outline" : "solid",
306
+ id: U.id,
307
+ className: y.browse,
308
+ variant: P === "button" ? "outline" : "solid",
313
309
  size: nt,
314
- startIcon: R === "button" ? /* @__PURE__ */ O(g, { size: "sm" }) : void 0,
315
- disabled: q,
310
+ startIcon: P === "button" ? /* @__PURE__ */ D(p, { size: "sm" }) : void 0,
311
+ disabled: G,
316
312
  "aria-labelledby": $e,
317
313
  "aria-describedby": et,
318
- "aria-invalid": G.ariaProps["aria-invalid"],
319
- "aria-errormessage": G.ariaProps["aria-errormessage"],
320
- "aria-controls": Me,
314
+ "aria-invalid": U.ariaProps["aria-invalid"],
315
+ "aria-errormessage": U.ariaProps["aria-errormessage"],
316
+ "aria-controls": Pe,
321
317
  onClick: We,
322
- children: /* @__PURE__ */ O("span", {
323
- id: ke,
318
+ children: /* @__PURE__ */ D("span", {
319
+ id: je,
324
320
  children: tt
325
321
  })
326
- }), it = se ?? (s ? V.fileUpload.dropFiles : V.fileUpload.dropFile), at = typeof z == "function" ? z({
327
- dragging: Be,
328
- disabled: q,
322
+ }), it = de ?? (s ? z.fileUpload.dropFiles : z.fileUpload.dropFile), at = typeof F == "function" ? F({
323
+ dragging: Ve,
324
+ disabled: G,
329
325
  openPicker: We
330
- }) : z, ot = Fe ? /* @__PURE__ */ O("p", {
331
- id: De,
332
- className: b.hint,
333
- children: W
334
- }) : null, st = Ce ?? (U && !Se ? U.labelId : void 0), ct = !!(Se || st), lt = x(() => Q.current, []), ut = T(() => J, [J]);
335
- return /* @__PURE__ */ k("div", {
336
- ...we,
337
- role: ct ? "group" : we.role,
338
- "aria-label": Se,
326
+ }) : F, ot = Le ? /* @__PURE__ */ D("p", {
327
+ id: ke,
328
+ className: y.hint,
329
+ children: H
330
+ }) : null, st = Te ?? (V && !we ? V.labelId : void 0), ct = !!(we || st), lt = x(() => Q.current, []), ut = te(() => K, [K]);
331
+ return /* @__PURE__ */ O("div", {
332
+ ...Ee,
333
+ role: ct ? "group" : Ee.role,
334
+ "aria-label": we,
339
335
  "aria-labelledby": st,
340
- className: a(b.root, te[K], A[R], G.invalid && b.invalid, q && b.disabled, ye),
341
- style: be,
342
- "data-size": K,
343
- "data-variant": R,
344
- "data-dragging": Be || void 0,
345
- "data-disabled": q || void 0,
346
- "aria-disabled": q || void 0,
336
+ className: e(y.root, re[W], k[P], U.invalid && y.invalid, G && y.disabled, xe),
337
+ style: Se,
338
+ "data-size": W,
339
+ "data-variant": P,
340
+ "data-dragging": Ve || void 0,
341
+ "data-disabled": G || void 0,
342
+ "aria-disabled": G || void 0,
347
343
  children: [
348
- /* @__PURE__ */ O("input", {
344
+ /* @__PURE__ */ D("input", {
349
345
  ref: He,
350
- id: Me,
351
- className: b.nativeInput,
346
+ id: Pe,
347
+ className: y.nativeInput,
352
348
  type: "file",
353
- name: L,
354
- accept: e,
349
+ name: oe,
350
+ accept: t,
355
351
  multiple: s,
356
- required: G.required,
357
- disabled: q,
352
+ required: U.required,
353
+ disabled: G,
358
354
  tabIndex: -1,
359
355
  "aria-hidden": "true",
360
356
  onChange: Ke,
361
357
  onInvalid: () => Q.current?.focus()
362
358
  }),
363
- G.required && /* @__PURE__ */ O(o, {
364
- id: je,
365
- children: V.fileUpload.required
359
+ U.required && /* @__PURE__ */ D(g, {
360
+ id: Ne,
361
+ children: z.fileUpload.required
366
362
  }),
367
- R === "dropzone" ? /* @__PURE__ */ k("div", {
368
- className: b.dropzone,
363
+ P === "dropzone" ? /* @__PURE__ */ O("div", {
364
+ className: y.dropzone,
369
365
  onDragEnter: Ye,
370
366
  onDragOver: Xe,
371
367
  onDragLeave: Ze,
372
368
  onDrop: Qe,
373
369
  children: [
374
- /* @__PURE__ */ O("span", {
375
- className: b.iconBadge,
370
+ /* @__PURE__ */ D("span", {
371
+ className: y.iconBadge,
376
372
  "aria-hidden": "true",
377
- children: /* @__PURE__ */ O(g, { size: K === "lg" ? "xl" : K === "sm" ? "sm" : "lg" })
373
+ children: /* @__PURE__ */ D(p, { size: W === "lg" ? "xl" : W === "sm" ? "sm" : "lg" })
378
374
  }),
379
- /* @__PURE__ */ O("div", {
380
- className: b.text,
381
- children: at ?? /* @__PURE__ */ k(ee, { children: [/* @__PURE__ */ O("p", {
382
- id: Oe,
383
- className: b.prompt,
375
+ /* @__PURE__ */ D("div", {
376
+ className: y.text,
377
+ children: at ?? /* @__PURE__ */ O(ne, { children: [/* @__PURE__ */ D("p", {
378
+ id: Ae,
379
+ className: y.prompt,
384
380
  children: it
385
381
  }), ot] })
386
382
  }),
387
383
  rt
388
384
  ]
389
- }) : /* @__PURE__ */ k("div", {
390
- className: b.buttonRow,
385
+ }) : /* @__PURE__ */ O("div", {
386
+ className: y.buttonRow,
391
387
  children: [rt, at ?? ot]
392
388
  }),
393
- Ie && /* @__PURE__ */ k("div", {
394
- id: Ae,
395
- className: b.rejections,
396
- children: [/* @__PURE__ */ k("div", {
397
- className: b.rejectionsHeader,
389
+ Re && /* @__PURE__ */ O("div", {
390
+ id: Me,
391
+ className: y.rejections,
392
+ children: [/* @__PURE__ */ O("div", {
393
+ className: y.rejectionsHeader,
398
394
  children: [
399
- /* @__PURE__ */ O(f, { size: "sm" }),
400
- /* @__PURE__ */ O("p", {
401
- className: b.rejectionsTitle,
402
- children: V.fileUpload.rejected(Ne.length)
395
+ /* @__PURE__ */ D(l, { size: "sm" }),
396
+ /* @__PURE__ */ D("p", {
397
+ className: y.rejectionsTitle,
398
+ children: z.fileUpload.rejected(Fe.length)
403
399
  }),
404
- /* @__PURE__ */ O(l, {
405
- className: b.rejectionsDismiss,
400
+ /* @__PURE__ */ D(o, {
401
+ className: y.rejectionsDismiss,
406
402
  variant: "ghost",
407
403
  tone: "neutral",
408
404
  size: "sm",
409
- "aria-label": V.fileUpload.dismissErrors,
405
+ "aria-label": z.fileUpload.dismissErrors,
410
406
  onClick: () => {
411
- Pe([]), Q.current?.focus();
407
+ Ie([]), Q.current?.focus();
412
408
  },
413
- children: /* @__PURE__ */ O(d, { size: "sm" })
409
+ children: /* @__PURE__ */ D(c, { size: "sm" })
414
410
  })
415
411
  ]
416
- }), /* @__PURE__ */ O("ul", {
417
- className: b.rejectionList,
418
- children: Ne.map(({ file: e, errors: t }, n) => /* @__PURE__ */ k("li", {
419
- className: b.rejection,
420
- children: [/* @__PURE__ */ O("span", {
421
- className: b.rejectionName,
412
+ }), /* @__PURE__ */ D("ul", {
413
+ className: y.rejectionList,
414
+ children: Fe.map(({ file: e, errors: t }, n) => /* @__PURE__ */ O("li", {
415
+ className: y.rejection,
416
+ children: [/* @__PURE__ */ D("span", {
417
+ className: y.rejectionName,
422
418
  children: e.name
423
- }), /* @__PURE__ */ O("span", {
424
- className: b.rejectionReason,
419
+ }), /* @__PURE__ */ D("span", {
420
+ className: y.rejectionReason,
425
421
  children: t.join(" ")
426
422
  })]
427
- }, `${ie(e)}-${n}`))
423
+ }, `${le(e)}-${n}`))
428
424
  })]
429
425
  }),
430
- fe && /* @__PURE__ */ O(ce, {
426
+ me && /* @__PURE__ */ D(L, {
431
427
  files: ut,
432
- size: K,
433
- disabled: q,
434
- showThumbnails: me,
435
- getFileState: he,
428
+ size: W,
429
+ disabled: G,
430
+ showThumbnails: ge,
431
+ getFileState: _e,
436
432
  onRemove: qe,
437
433
  focusFallback: lt
438
434
  }),
439
- /* @__PURE__ */ O(o, {
435
+ /* @__PURE__ */ D(g, {
440
436
  role: "status",
441
- children: Re
437
+ children: ze
442
438
  })
443
439
  ]
444
440
  });
445
- }, { List: ce });
446
- //#endregion
447
- export { ue as FileUpload, ce as FileUploadList, F as describeAccept, N as fileMatchesAccept, j as formatFileSize };
441
+ }, { List: L });
442
+ export { pe as FileUpload, L as FileUploadList, ae as describeAccept, M as fileMatchesAccept, A as formatFileSize };