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