@vjdesigns/vjdesigns-ui 2.4.0 → 3.0.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 (453) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +45 -1
  3. package/dist/ai/llms-full.txt +141 -76
  4. package/dist/ai/registry.json +125 -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 +59 -3
  33. package/dist/components/data-display/DataGrid/DataGrid.mjs +382 -272
  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 +29 -26
  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/DatePicker/index.d.ts +1 -1
  128. package/dist/components/forms/DateTimePicker/DateTimePicker.cjs.js +1 -1
  129. package/dist/components/forms/DateTimePicker/DateTimePicker.mjs +19 -19
  130. package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.mjs +1 -2
  131. package/dist/components/forms/Field/Field.cjs.js +1 -1
  132. package/dist/components/forms/Field/Field.mjs +14 -14
  133. package/dist/components/forms/Field/Field.module.css.mjs +1 -2
  134. package/dist/components/forms/Field/FieldContext.cjs.js +1 -1
  135. package/dist/components/forms/Field/FieldContext.mjs +2 -2
  136. package/dist/components/forms/FileUpload/FileUpload.cjs.js +1 -1
  137. package/dist/components/forms/FileUpload/FileUpload.mjs +250 -255
  138. package/dist/components/forms/FileUpload/FileUpload.module.css.mjs +1 -2
  139. package/dist/components/forms/Input/Input.cjs.js +1 -1
  140. package/dist/components/forms/Input/Input.mjs +35 -35
  141. package/dist/components/forms/Input/Input.module.css.mjs +1 -2
  142. package/dist/components/forms/NumberInput/NumberInput.cjs.js +1 -1
  143. package/dist/components/forms/NumberInput/NumberInput.mjs +137 -142
  144. package/dist/components/forms/NumberInput/NumberInput.module.css.mjs +1 -2
  145. package/dist/components/forms/PasswordInput/PasswordInput.cjs.js +1 -1
  146. package/dist/components/forms/PasswordInput/PasswordInput.mjs +142 -142
  147. package/dist/components/forms/PasswordInput/PasswordInput.module.css.mjs +1 -2
  148. package/dist/components/forms/PinInput/PinInput.cjs.js +1 -1
  149. package/dist/components/forms/PinInput/PinInput.mjs +12 -12
  150. package/dist/components/forms/PinInput/PinInput.module.css.mjs +1 -2
  151. package/dist/components/forms/Radio/Radio.cjs.js +1 -1
  152. package/dist/components/forms/Radio/Radio.mjs +2 -2
  153. package/dist/components/forms/Radio/Radio.module.css.mjs +1 -2
  154. package/dist/components/forms/Rating/Rating.cjs.js +1 -1
  155. package/dist/components/forms/Rating/Rating.mjs +110 -109
  156. package/dist/components/forms/Rating/Rating.module.css.mjs +1 -2
  157. package/dist/components/forms/SearchInput/SearchInput.cjs.js +1 -1
  158. package/dist/components/forms/SearchInput/SearchInput.mjs +118 -126
  159. package/dist/components/forms/SearchInput/SearchInput.module.css.mjs +1 -2
  160. package/dist/components/forms/SegmentedControl/SegmentedControl.cjs.js +1 -1
  161. package/dist/components/forms/SegmentedControl/SegmentedControl.mjs +46 -43
  162. package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.cjs.js +1 -1
  163. package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.mjs +2 -3
  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 +65 -67
  181. package/dist/components/forms/TimePicker/TimePicker.module.css.mjs +1 -2
  182. package/dist/components/forms/TimePicker/index.d.ts +1 -0
  183. package/dist/components/forms/TimePicker/timeUtils.cjs.js +1 -1
  184. package/dist/components/forms/TimePicker/timeUtils.d.ts +4 -1
  185. package/dist/components/forms/TimePicker/timeUtils.mjs +43 -38
  186. package/dist/components/forms/ToggleGroup/ToggleGroup.cjs.js +1 -1
  187. package/dist/components/forms/ToggleGroup/ToggleGroup.mjs +10 -10
  188. package/dist/components/forms/ToggleGroup/ToggleGroup.module.css.mjs +1 -2
  189. package/dist/components/layout/Box/Box.mjs +1 -2
  190. package/dist/components/layout/Box/Box.module.css.mjs +1 -2
  191. package/dist/components/layout/Container/Container.mjs +1 -2
  192. package/dist/components/layout/Container/Container.module.css.mjs +1 -2
  193. package/dist/components/layout/Divider/Divider.mjs +1 -2
  194. package/dist/components/layout/Divider/Divider.module.css.mjs +1 -2
  195. package/dist/components/layout/Flex/Flex.cjs.js +1 -1
  196. package/dist/components/layout/Flex/Flex.mjs +12 -13
  197. package/dist/components/layout/Flex/Flex.module.css.mjs +1 -2
  198. package/dist/components/layout/Grid/Grid.cjs.js +1 -1
  199. package/dist/components/layout/Grid/Grid.mjs +20 -21
  200. package/dist/components/layout/Grid/Grid.module.css.mjs +1 -2
  201. package/dist/components/layout/ResizablePanels/ResizablePanels.cjs.js +1 -1
  202. package/dist/components/layout/ResizablePanels/ResizablePanels.mjs +17 -17
  203. package/dist/components/layout/ResizablePanels/ResizablePanels.module.css.mjs +1 -2
  204. package/dist/components/layout/ScrollArea/ScrollArea.cjs.js +1 -1
  205. package/dist/components/layout/ScrollArea/ScrollArea.mjs +2 -2
  206. package/dist/components/layout/ScrollArea/ScrollArea.module.css.mjs +1 -2
  207. package/dist/components/layout/Stack/Stack.cjs.js +1 -1
  208. package/dist/components/layout/Stack/Stack.mjs +8 -9
  209. package/dist/components/layout/Stack/Stack.module.css.mjs +1 -2
  210. package/dist/components/navigation/Breadcrumbs/Breadcrumbs.cjs.js +1 -1
  211. package/dist/components/navigation/Breadcrumbs/Breadcrumbs.mjs +41 -41
  212. package/dist/components/navigation/Breadcrumbs/Breadcrumbs.module.css.mjs +1 -2
  213. package/dist/components/navigation/ContextMenu/ContextMenu.cjs.js +1 -1
  214. package/dist/components/navigation/ContextMenu/ContextMenu.mjs +48 -48
  215. package/dist/components/navigation/ContextMenu/ContextMenu.module.css.mjs +1 -2
  216. package/dist/components/navigation/Link/Link.cjs.js +1 -1
  217. package/dist/components/navigation/Link/Link.mjs +6 -7
  218. package/dist/components/navigation/Link/Link.module.css.mjs +1 -2
  219. package/dist/components/navigation/Menu/Menu.cjs.js +1 -1
  220. package/dist/components/navigation/Menu/Menu.mjs +11 -11
  221. package/dist/components/navigation/Menu/Menu.module.css.mjs +1 -2
  222. package/dist/components/navigation/Menu/MenuContent.cjs.js +1 -1
  223. package/dist/components/navigation/Menu/MenuContent.mjs +46 -46
  224. package/dist/components/navigation/Menu/MenuContext.cjs.js +1 -1
  225. package/dist/components/navigation/Menu/MenuContext.mjs +2 -2
  226. package/dist/components/navigation/Menu/MenuItem.cjs.js +1 -1
  227. package/dist/components/navigation/Menu/MenuItem.mjs +35 -39
  228. package/dist/components/navigation/Menu/MenuSub.cjs.js +1 -1
  229. package/dist/components/navigation/Menu/MenuSub.mjs +16 -20
  230. package/dist/components/navigation/Menu/useMenuRoot.cjs.js +1 -1
  231. package/dist/components/navigation/Menu/useMenuRoot.mjs +2 -2
  232. package/dist/components/navigation/Navbar/Navbar.cjs.js +1 -1
  233. package/dist/components/navigation/Navbar/Navbar.mjs +111 -111
  234. package/dist/components/navigation/Navbar/Navbar.module.css.mjs +1 -2
  235. package/dist/components/navigation/Pagination/Pagination.cjs.js +1 -1
  236. package/dist/components/navigation/Pagination/Pagination.mjs +31 -35
  237. package/dist/components/navigation/Pagination/Pagination.module.css.mjs +1 -2
  238. package/dist/components/navigation/Sidebar/Sidebar.cjs.js +1 -1
  239. package/dist/components/navigation/Sidebar/Sidebar.mjs +52 -52
  240. package/dist/components/navigation/Sidebar/Sidebar.module.css.mjs +1 -2
  241. package/dist/components/navigation/Sidebar/SidebarContext.cjs.js +1 -1
  242. package/dist/components/navigation/Sidebar/SidebarContext.mjs +2 -2
  243. package/dist/components/navigation/Sidebar/SidebarParts.cjs.js +1 -1
  244. package/dist/components/navigation/Sidebar/SidebarParts.mjs +76 -80
  245. package/dist/components/navigation/SkipLink/SkipLink.cjs.js +1 -1
  246. package/dist/components/navigation/SkipLink/SkipLink.mjs +12 -12
  247. package/dist/components/navigation/SkipLink/SkipLink.module.css.mjs +1 -2
  248. package/dist/components/navigation/Stepper/Stepper.cjs.js +1 -1
  249. package/dist/components/navigation/Stepper/Stepper.mjs +46 -46
  250. package/dist/components/navigation/Stepper/Stepper.module.css.mjs +1 -2
  251. package/dist/components/navigation/Tabs/Tabs.cjs.js +1 -1
  252. package/dist/components/navigation/Tabs/Tabs.mjs +2 -2
  253. package/dist/components/navigation/Tabs/Tabs.module.css.mjs +1 -2
  254. package/dist/components/overlays/CommandPalette/CommandPalette.cjs.js +1 -1
  255. package/dist/components/overlays/CommandPalette/CommandPalette.mjs +206 -206
  256. package/dist/components/overlays/CommandPalette/CommandPalette.module.css.mjs +1 -2
  257. package/dist/components/overlays/CommandPalette/CommandPaletteContext.cjs.js +1 -1
  258. package/dist/components/overlays/CommandPalette/CommandPaletteContext.mjs +2 -2
  259. package/dist/components/overlays/CommandPalette/CommandPaletteParts.cjs.js +1 -1
  260. package/dist/components/overlays/CommandPalette/CommandPaletteParts.mjs +104 -104
  261. package/dist/components/overlays/CommandPalette/commandPaletteUtils.cjs.js +1 -1
  262. package/dist/components/overlays/CommandPalette/commandPaletteUtils.mjs +62 -60
  263. package/dist/components/overlays/Drawer/Drawer.cjs.js +1 -1
  264. package/dist/components/overlays/Drawer/Drawer.mjs +31 -31
  265. package/dist/components/overlays/Drawer/Drawer.module.css.mjs +1 -2
  266. package/dist/components/overlays/Drawer/DrawerContent.cjs.js +1 -1
  267. package/dist/components/overlays/Drawer/DrawerContent.mjs +99 -99
  268. package/dist/components/overlays/Drawer/DrawerContext.cjs.js +1 -1
  269. package/dist/components/overlays/Drawer/DrawerContext.mjs +2 -2
  270. package/dist/components/overlays/Drawer/DrawerParts.cjs.js +1 -1
  271. package/dist/components/overlays/Drawer/DrawerParts.mjs +18 -18
  272. package/dist/components/overlays/Drawer/internal.mjs +1 -2
  273. package/dist/components/overlays/Drawer/useDragToClose.cjs.js +1 -1
  274. package/dist/components/overlays/Drawer/useDragToClose.mjs +2 -2
  275. package/dist/components/overlays/HoverCard/HoverCard.cjs.js +1 -1
  276. package/dist/components/overlays/HoverCard/HoverCard.mjs +31 -31
  277. package/dist/components/overlays/HoverCard/HoverCard.module.css.mjs +1 -2
  278. package/dist/components/overlays/Modal/ConfirmModal.cjs.js +1 -1
  279. package/dist/components/overlays/Modal/ConfirmModal.mjs +21 -23
  280. package/dist/components/overlays/Modal/Modal.cjs.js +1 -1
  281. package/dist/components/overlays/Modal/Modal.mjs +47 -47
  282. package/dist/components/overlays/Modal/Modal.module.css.mjs +1 -2
  283. package/dist/components/overlays/Modal/ModalContent.cjs.js +1 -1
  284. package/dist/components/overlays/Modal/ModalContent.mjs +24 -24
  285. package/dist/components/overlays/Modal/ModalContext.cjs.js +1 -1
  286. package/dist/components/overlays/Modal/ModalContext.mjs +2 -2
  287. package/dist/components/overlays/Modal/useScrollRegion.cjs.js +1 -1
  288. package/dist/components/overlays/Modal/useScrollRegion.mjs +2 -2
  289. package/dist/components/overlays/Popover/Popover.cjs.js +1 -1
  290. package/dist/components/overlays/Popover/Popover.mjs +40 -40
  291. package/dist/components/overlays/Popover/Popover.module.css.mjs +1 -2
  292. package/dist/components/overlays/Popover/PopoverContent.cjs.js +1 -1
  293. package/dist/components/overlays/Popover/PopoverContent.mjs +39 -39
  294. package/dist/components/overlays/Popover/PopoverContext.cjs.js +1 -1
  295. package/dist/components/overlays/Popover/PopoverContext.mjs +2 -2
  296. package/dist/components/overlays/Tooltip/Tooltip.cjs.js +1 -1
  297. package/dist/components/overlays/Tooltip/Tooltip.mjs +100 -95
  298. package/dist/components/overlays/Tooltip/Tooltip.module.css.mjs +1 -2
  299. package/dist/components/primitives/Button/Button.cjs.js +1 -1
  300. package/dist/components/primitives/Button/Button.mjs +59 -63
  301. package/dist/components/primitives/Button/Button.module.css.mjs +1 -2
  302. package/dist/components/primitives/Icon/Icon.cjs.js +1 -1
  303. package/dist/components/primitives/Icon/Icon.mjs +5 -6
  304. package/dist/components/primitives/Icon/Icon.module.css.mjs +1 -2
  305. package/dist/components/primitives/Icon/IconSvg.mjs +1 -2
  306. package/dist/components/primitives/Icon/icons.mjs +1 -2
  307. package/dist/components/primitives/Kbd/Kbd.cjs.js +1 -1
  308. package/dist/components/primitives/Kbd/Kbd.mjs +30 -30
  309. package/dist/components/primitives/Kbd/Kbd.module.css.mjs +1 -2
  310. package/dist/components/primitives/Typography/Typography.mjs +1 -2
  311. package/dist/components/primitives/Typography/Typography.module.css.mjs +1 -2
  312. package/dist/components/utilities/LocaleProvider/LocaleProvider.cjs.js +1 -1
  313. package/dist/components/utilities/LocaleProvider/LocaleProvider.mjs +11 -11
  314. package/dist/components/utilities/LocaleProvider/LocaleProvider.module.css.mjs +1 -2
  315. package/dist/components/utilities/Portal/Portal.cjs.js +1 -1
  316. package/dist/components/utilities/Portal/Portal.mjs +2 -2
  317. package/dist/components/utilities/Theme/Theme.cjs.js +1 -1
  318. package/dist/components/utilities/Theme/Theme.mjs +13 -13
  319. package/dist/components/utilities/Theme/Theme.module.css.mjs +1 -2
  320. package/dist/components/utilities/VisuallyHidden/VisuallyHidden.mjs +1 -2
  321. package/dist/components/utilities/VisuallyHidden/VisuallyHidden.module.css.mjs +1 -2
  322. package/dist/hooks/elementSource.cjs.js +1 -1
  323. package/dist/hooks/elementSource.mjs +4 -3
  324. package/dist/hooks/useClipboard.cjs.js +1 -1
  325. package/dist/hooks/useClipboard.mjs +2 -2
  326. package/dist/hooks/useControllableState.cjs.js +1 -1
  327. package/dist/hooks/useControllableState.mjs +2 -2
  328. package/dist/hooks/useDisclosure.cjs.js +1 -1
  329. package/dist/hooks/useDisclosure.mjs +2 -2
  330. package/dist/hooks/useDismiss.cjs.js +1 -1
  331. package/dist/hooks/useDismiss.mjs +2 -2
  332. package/dist/hooks/useElementObservers.cjs.js +1 -1
  333. package/dist/hooks/useElementObservers.mjs +2 -2
  334. package/dist/hooks/useEnvironment.cjs.js +1 -1
  335. package/dist/hooks/useEnvironment.mjs +2 -2
  336. package/dist/hooks/useFloatingPosition.cjs.js +1 -1
  337. package/dist/hooks/useFloatingPosition.mjs +2 -2
  338. package/dist/hooks/useFocusTrap.cjs.js +1 -1
  339. package/dist/hooks/useFocusTrap.mjs +4 -15
  340. package/dist/hooks/useFormReset.cjs.js +1 -1
  341. package/dist/hooks/useFormReset.mjs +2 -2
  342. package/dist/hooks/useFormValidation.cjs.js +1 -1
  343. package/dist/hooks/useFormValidation.mjs +2 -2
  344. package/dist/hooks/useHotkeys.cjs.js +1 -1
  345. package/dist/hooks/useHotkeys.mjs +2 -2
  346. package/dist/hooks/useInertOutside.cjs.js +1 -1
  347. package/dist/hooks/useInertOutside.mjs +5 -9
  348. package/dist/hooks/useMediaQuery.cjs.js +1 -1
  349. package/dist/hooks/useMediaQuery.mjs +2 -2
  350. package/dist/hooks/useMergedRef.cjs.js +1 -1
  351. package/dist/hooks/useMergedRef.mjs +2 -2
  352. package/dist/hooks/useOverlayLayer.cjs.js +1 -1
  353. package/dist/hooks/useOverlayLayer.mjs +3 -3
  354. package/dist/hooks/useResponsiveValue.cjs.js +1 -1
  355. package/dist/hooks/useResponsiveValue.mjs +2 -2
  356. package/dist/hooks/useScrollLock.cjs.js +1 -1
  357. package/dist/hooks/useScrollLock.mjs +2 -2
  358. package/dist/hooks/useStorage.cjs.js +1 -1
  359. package/dist/hooks/useStorage.mjs +2 -2
  360. package/dist/hooks/useTiming.cjs.js +1 -1
  361. package/dist/hooks/useTiming.mjs +10 -15
  362. package/dist/hooks/useVirtualizer.cjs.js +1 -1
  363. package/dist/hooks/useVirtualizer.d.ts +13 -0
  364. package/dist/hooks/useVirtualizer.mjs +93 -54
  365. package/dist/i18n/en.cjs.js +1 -1
  366. package/dist/i18n/en.mjs +194 -4
  367. package/dist/i18n/merge.mjs +1 -2
  368. package/dist/i18n/plural.mjs +1 -2
  369. package/dist/i18n/types.d.ts +240 -0
  370. package/dist/index.cjs.js +1 -1
  371. package/dist/index.mjs +114 -114
  372. package/dist/locales/ar.cjs.js +1 -1
  373. package/dist/locales/ar.mjs +230 -4
  374. package/dist/locales/bn.cjs.js +1 -1
  375. package/dist/locales/bn.mjs +167 -4
  376. package/dist/locales/cs.cjs.js +1 -1
  377. package/dist/locales/cs.mjs +212 -4
  378. package/dist/locales/da.cjs.js +1 -1
  379. package/dist/locales/da.mjs +194 -4
  380. package/dist/locales/de.cjs.js +1 -1
  381. package/dist/locales/de.mjs +194 -4
  382. package/dist/locales/el.cjs.js +1 -1
  383. package/dist/locales/el.mjs +194 -4
  384. package/dist/locales/es.cjs.js +1 -1
  385. package/dist/locales/es.mjs +194 -4
  386. package/dist/locales/fa.cjs.js +1 -1
  387. package/dist/locales/fa.mjs +167 -4
  388. package/dist/locales/fi.cjs.js +1 -1
  389. package/dist/locales/fi.mjs +194 -4
  390. package/dist/locales/fr.cjs.js +1 -1
  391. package/dist/locales/fr.mjs +194 -4
  392. package/dist/locales/he.cjs.js +1 -1
  393. package/dist/locales/he.mjs +203 -4
  394. package/dist/locales/hi.cjs.js +1 -1
  395. package/dist/locales/hi.mjs +194 -4
  396. package/dist/locales/hu.cjs.js +1 -1
  397. package/dist/locales/hu.mjs +167 -4
  398. package/dist/locales/id.cjs.js +1 -1
  399. package/dist/locales/id.mjs +167 -4
  400. package/dist/locales/it.cjs.js +1 -1
  401. package/dist/locales/it.mjs +194 -4
  402. package/dist/locales/ja.cjs.js +1 -1
  403. package/dist/locales/ja.mjs +167 -4
  404. package/dist/locales/ko.cjs.js +1 -1
  405. package/dist/locales/ko.mjs +167 -4
  406. package/dist/locales/nb.cjs.js +1 -1
  407. package/dist/locales/nb.mjs +194 -4
  408. package/dist/locales/nl.cjs.js +1 -1
  409. package/dist/locales/nl.mjs +194 -4
  410. package/dist/locales/pl.cjs.js +1 -1
  411. package/dist/locales/pl.mjs +212 -4
  412. package/dist/locales/pt-BR.cjs.js +1 -1
  413. package/dist/locales/pt-BR.mjs +194 -4
  414. package/dist/locales/ro.cjs.js +1 -1
  415. package/dist/locales/ro.mjs +203 -4
  416. package/dist/locales/ru.cjs.js +1 -1
  417. package/dist/locales/ru.mjs +212 -4
  418. package/dist/locales/sv.cjs.js +1 -1
  419. package/dist/locales/sv.mjs +194 -4
  420. package/dist/locales/th.cjs.js +1 -1
  421. package/dist/locales/th.mjs +167 -4
  422. package/dist/locales/tr.cjs.js +1 -1
  423. package/dist/locales/tr.mjs +167 -4
  424. package/dist/locales/uk.cjs.js +1 -1
  425. package/dist/locales/uk.mjs +212 -4
  426. package/dist/locales/ur.cjs.js +1 -1
  427. package/dist/locales/ur.mjs +194 -4
  428. package/dist/locales/vi.cjs.js +1 -1
  429. package/dist/locales/vi.mjs +167 -4
  430. package/dist/locales/zh-Hans.cjs.js +1 -1
  431. package/dist/locales/zh-Hans.mjs +167 -4
  432. package/dist/locales/zh-Hant.cjs.js +1 -1
  433. package/dist/locales/zh-Hant.mjs +167 -4
  434. package/dist/types/common.mjs +1 -2
  435. package/dist/utils/announce.cjs.js +1 -1
  436. package/dist/utils/announce.mjs +3 -4
  437. package/dist/utils/brandPalette.mjs +1 -2
  438. package/dist/utils/clipboard.mjs +1 -2
  439. package/dist/utils/cx.mjs +1 -2
  440. package/dist/utils/fillSlot.cjs.js +1 -1
  441. package/dist/utils/fillSlot.mjs +2 -2
  442. package/dist/utils/flattenChildren.mjs +1 -2
  443. package/dist/utils/hotkeys.mjs +1 -2
  444. package/dist/utils/intl.cjs.js +1 -0
  445. package/dist/utils/intl.d.ts +10 -0
  446. package/dist/utils/intl.mjs +15 -0
  447. package/dist/utils/refs.mjs +1 -2
  448. package/dist/utils/responsive.mjs +1 -2
  449. package/dist/utils/slot.mjs +1 -2
  450. package/dist/utils/validators.mjs +1 -2
  451. package/dist/vjdesigns-ui.css +1 -1
  452. package/dist/vjdesigns-ui.css.d.ts +2 -0
  453. package/package.json +103 -90
@@ -1 +1 @@
1
- const e=require("../../../hooks/useControllableState.cjs.js"),t=require("../../../hooks/useOverlayLayer.cjs.js"),n=require("../../utilities/LocaleProvider/LocaleProvider.cjs.js"),r=require("../../../utils/refs.cjs.js"),i=require("../../../utils/cx.cjs.js"),ee=require("../../utilities/VisuallyHidden/VisuallyHidden.cjs.js"),te=require("../../primitives/Icon/icons.cjs.js"),ne=require("../Field/FieldContext.cjs.js"),re=require("../../data-display/Chip/Chip.cjs.js"),a=require("./comboboxUtils.cjs.js"),o=require("./Combobox.module.css.cjs.js"),ie=require("./ComboboxPopup.cjs.js");let s=require("react"),c=require("react/jsx-runtime"),ae=require("react-dom");var oe={sm:o.default.sm,md:o.default.md,lg:o.default.lg},se={sm:`sm`,md:`sm`,lg:`md`};function l(e){return typeof e==`string`||typeof e==`number`?String(e):``}var ce=500,le=le=>{let u=n.useMessages().combobox,{options:d,renderOption:ue,multiple:f=!1,value:de,defaultValue:fe,onValueChange:pe,inputValue:me,defaultInputValue:he,onInputValueChange:ge,open:_e,defaultOpen:ve=!1,onOpenChange:ye,filter:be,loading:p=!1,loadingMessage:xe=u.loading,emptyMessage:m=u.empty,resultsMessage:Se=u.results,allowCustomValue:h=!1,onCreate:Ce,createLabel:we=u.create,clearable:Te=!1,clearLabel:Ee=u.clear,requiredMessage:De=u.required,clearOnEscape:Oe=!1,showSuggestionsLabel:ke=u.showSuggestions,hideSuggestionsLabel:Ae=u.hideSuggestions,selectedLabel:je=u.selected,autoHighlight:Me=!1,loop:Ne=!0,size:Pe,invalid:Fe,required:Ie,disabled:Le,readOnly:Re,name:g,placement:ze=`bottom-start`,maxHeight:Be,fullWidth:Ve=!0,container:He,inputClassName:Ue,className:We,style:Ge,id:Ke,ref:qe,placeholder:Je,onChange:Ye,onKeyDown:Xe,onBlur:Ze,"aria-describedby":Qe,"aria-label":_,"aria-labelledby":$e,...et}=le,v=ne.useFieldContext(),y=ne.useFieldControl({id:Ke,invalid:Fe,required:Ie,disabled:Le,readOnly:Re,size:Pe,"aria-describedby":Qe},{nativeRequired:!1}),b=y.size??`md`,x=!y.disabled&&!y.readOnly,tt=(0,s.useId)(),nt=y.id??`${tt}-input`,S=`${tt}-listbox`,C=(0,s.useRef)(null),w=(0,s.useRef)(null),T=(0,s.useRef)(null),rt=(0,s.useCallback)(e=>{C.current=e,r.assignRef(qe,e)},[qe]),E=(0,s.useRef)(new Map);for(let e of d)E.current.set(e.value,e);let D=e=>d.find(t=>t.value===e)??E.current.get(e),[O,k]=e.useControllableState({value:de,defaultValue:fe??(f?[]:null),onChange:pe}),A=f?Array.isArray(O)?O:[]:typeof O==`string`?[O]:[],j=!f&&typeof O==`string`?O:null,M=j===null?``:D(j)?.label??j,[N,P]=e.useControllableState({value:me,defaultValue:he??(f?``:M),onChange:ge}),it=A.length>0||h&&!f&&N.trim()!==``;(0,s.useEffect)(()=>{C.current?.setCustomValidity(y.required&&!it?De:``)},[y.required,it,De]);let[F,I]=e.useControllableState({value:_e,defaultValue:ve,onChange:ye}),at=F&&x,[L,R]=(0,s.useState)(!1),[z,B]=(0,s.useState)(null),ot=be===!1?null:be??a.defaultComboboxFilter,st=(e,t)=>{let n=[];d.forEach((t,r)=>{(!ot||ot(t,e))&&n.push({kind:`option`,key:t.value,option:t,id:`${S}-option-${r}`})});let r=N.trim();return Ce&&t&&r!==``&&!d.some(e=>a.normalizeText(e.label)===a.normalizeText(r))&&n.push({kind:`create`,key:a.CREATE_KEY,text:r,id:`${S}-create`}),a.orderItems(n)},V=f||L,H=st(V?N:``,V),U=z===null?-1:H.findIndex(e=>e.key===z);U>=0&&!a.isEnabled(H[U])&&(U=-1),U===-1&&Me&&V&&N.trim()!==``&&(U=a.findEnabled(H,-1,1,!0));let ct=m!=null&&m!==!1&&m!==``,W=at&&(H.length>0||p||ct),lt=W&&U>=0?H[U].id:void 0,[ut,G]=(0,s.useState)(``),dt=H.filter(e=>e.kind===`option`).length,ft=H.find(e=>e.kind===`create`),K=W?p?l(xe):dt>0?Se(dt):ft?.kind===`create`?l(we(ft.text)):l(m):``;(0,s.useEffect)(()=>{if(!K)return;let e=window.setTimeout(()=>G(K),ce);return()=>window.clearTimeout(e)},[K]),(0,s.useEffect)(()=>{W||G(``)},[W]);let q=(0,s.useRef)(me!==void 0&&!f&&M!==``?null:M);(0,s.useEffect)(()=>{f||q.current===M||(q.current=M,!(h&&M===``)&&(L||P(M)))},[f,M,L,h,P]);let J=e=>{(!e||x)&&(I(e),e||B(null))},pt=t.useOverlayLayer({active:W,elements:()=>[w,T],onEscape:()=>J(!1),onOutsidePress:()=>J(!1)}),Y=e=>{if(!x)return;let t=!f&&N===M,n=f||L&&!t;t&&R(!1);let r=st(n?N:``,n),i=-1;e===`first`?i=a.findEnabled(r,-1,1,!0):e===`last`?i=a.findEnabled(r,-1,-1,!0):e===`selected`&&(i=r.findIndex(e=>e.kind===`option`&&!e.option.disabled&&A.includes(e.option.value)),i<0&&(i=a.findEnabled(r,-1,1,!0))),B(i>=0?r[i].key:null),I(!0)},mt=e=>{let t=a.findEnabled(H,U,e,Ne);B(t>=0?H[t].key:null)},X=(e,t)=>{if(f){let n=A.includes(e);k(n?A.filter(t=>t!==e):[...A,e]),P(``),R(!1),B(e),G(n?u.optionRemoved(t):u.optionSelected(t));return}k(e),q.current=t,P(t),R(!1),J(!1)},ht=e=>{if(!a.isEnabled(e))return;if(e.kind===`option`){X(e.option.value,e.option.label);return}let t=Ce?.(e.text);if(typeof t==`string`){E.current.set(t,{value:t,label:e.text}),X(t,e.text);return}R(!1),f?P(``):J(!1)},gt=e=>{x&&(k(A.filter(t=>t!==e)),G(u.optionRemoved(D(e)?.label??e)))},Z=()=>{k(f?[]:null),q.current=``,P(``),R(!1),B(null)},_t=e=>{Ye?.(e),P(e.target.value),R(!0),B(null),F||J(!0)},vt=e=>{if(Xe?.(e),!(e.defaultPrevented||e.nativeEvent.isComposing||y.disabled))switch(e.key){case`ArrowDown`:if(!x)return;e.preventDefault(),e.altKey?W||Y(`none`):W?mt(1):Y(f?`first`:`selected`);return;case`ArrowUp`:if(!x)return;e.preventDefault(),e.altKey?J(!1):W?mt(-1):Y(`last`);return;case`Enter`:if(!W){f&&h&&N.trim()&&x&&(e.preventDefault(),e.repeat||yt()),!f&&x&&(0,ae.flushSync)(bt);return}if(e.preventDefault(),e.repeat)return;U>=0?ht(H[U]):f&&h&&N.trim()?yt():(!f&&h&&N!==M&&j!==null&&k(null),J(!1));return;case`Escape`:if(W)return;if(F){e.preventDefault(),I(!1);return}if(!x)return;{let t=f?``:M;if(N!==t){e.preventDefault(),P(t),R(!1);return}Oe&&(j!==null||A.length>0)&&(e.preventDefault(),Z())}return;case`Home`:case`End`:case`ArrowLeft`:case`ArrowRight`:z!==null&&B(null);return;case`Backspace`:f&&x&&!e.repeat&&N===``&&A.length>0&&gt(A[A.length-1]);return;default:return}},yt=()=>{let e=N.trim(),t=d.find(t=>a.normalizeText(t.label)===a.normalizeText(e));if(A.includes(t?.value??e)){P(``);return}if(t){t.disabled||X(t.value,t.label);return}E.current.set(e,{value:e,label:e}),X(e,e)},bt=()=>{if(!(f||N===M)){if(N.trim()===``){j===null?N!==``&&P(``):Z();return}if(h){j!==null&&k(null);return}P(M)}},xt=e=>{Ze?.(e),J(!1),R(!1),bt()},St=(0,s.useRef)(()=>{});St.current=()=>{if(de!==void 0)return;let e=fe??(f?[]:null);k(e);let t=typeof e==`string`?D(e)?.label??e:``;P(he??(f?``:t)),J(!1),R(!1)},(0,s.useEffect)(()=>{let e=C.current?.form;if(!e)return;let t=()=>St.current();return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)},[]);let Ct=e=>{let t=C.current;if(!t||y.disabled)return;let n=e.target;w.current?.contains(n)&&(n===t||n.closest(`button, a`)||(e.preventDefault(),t.focus()))},wt=e=>{let t=e.target;w.current?.contains(t)&&!t.closest(`button, a`)&&(F||Y(`none`))},Tt=()=>{C.current?.focus(),W||F?J(!1):Y(`none`)},Et=()=>{Z(),G(u.cleared),C.current?.focus()},Q=e=>e.preventDefault(),Dt=Te&&x&&(A.length>0||N!==``),$=f&&A.length>0,Ot=$e??(_?void 0:v&&!v.isGroup?v.labelId:void 0),kt=g===void 0?null:f?A.map(e=>(0,c.jsx)(`input`,{type:`hidden`,name:g,value:e,disabled:y.disabled},e)):(0,c.jsx)(`input`,{type:`hidden`,name:g,value:j??(h?N:``),disabled:y.disabled});return(0,c.jsxs)(`div`,{ref:w,className:i.cx(o.default.root,oe[b],Ve&&o.default.fullWidth,f&&o.default.multiple,$&&o.default.hasChips,y.invalid&&o.default.invalid,y.disabled&&o.default.disabled,y.readOnly&&!y.disabled&&o.default.readOnly,We),style:Ge,"data-size":b,"data-state":W?`open`:`closed`,onMouseDown:Ct,onClick:wt,children:[$&&(0,c.jsx)(re.ChipGroup,{"aria-label":je,size:se[b],tone:`primary`,variant:`soft`,disabled:y.disabled,focusFallback:C,className:o.default.chips,children:A.map(e=>{let t=D(e);return(0,c.jsx)(re.Chip,{startIcon:t?.icon,onRemove:x?()=>gt(e):void 0,children:t?.label??e},e)})}),(0,c.jsx)(`input`,{autoComplete:`off`,autoCorrect:`off`,autoCapitalize:`none`,spellCheck:!1,...et,ref:rt,id:nt,type:`text`,role:`combobox`,"aria-label":_,"aria-labelledby":$e,"aria-expanded":W,"aria-controls":S,"aria-autocomplete":`list`,"aria-activedescendant":lt,...y.ariaProps,placeholder:$?void 0:Je,value:N,disabled:y.disabled,readOnly:y.readOnly,className:i.cx(o.default.input,Ue),onChange:_t,onKeyDown:vt,onBlur:xt}),(0,c.jsxs)(`span`,{className:o.default.actions,children:[Dt&&(0,c.jsx)(`button`,{type:`button`,className:o.default.iconButton,"aria-label":Ee,onMouseDown:Q,onClick:Et,children:(0,c.jsx)(te.CloseIcon,{size:b===`lg`?`sm`:`xs`,strokeWidth:2.5})}),(0,c.jsx)(`button`,{type:`button`,tabIndex:-1,className:i.cx(o.default.iconButton,o.default.toggle),"aria-label":W?Ae:ke,disabled:!x,onMouseDown:Q,onClick:Tt,children:(0,c.jsx)(te.ChevronDownIcon,{size:b===`sm`?`sm`:`md`,className:o.default.chevron})})]}),kt,(0,c.jsx)(ee.VisuallyHidden,{role:`status`,"aria-live":`polite`,"aria-atomic":`true`,children:ut}),W&&(0,c.jsx)(ie.ComboboxPopup,{anchorRef:w,positionerRef:T,layer:pt,listboxId:S,labelledBy:Ot,label:_,multiple:f,size:b,placement:ze,maxHeight:Be,items:H,highlightedIndex:U,isSelected:e=>A.includes(e),onHighlight:e=>B(H[e]?.key??null),onChoose:ht,renderOption:ue,createLabel:we,loading:p,loadingMessage:xe,emptyMessage:m,container:He})]})};exports.Combobox=le,exports.defaultComboboxFilter=a.defaultComboboxFilter;
1
+ "use client";const e=require("../../../hooks/useControllableState.cjs.js"),t=require("../../../hooks/useOverlayLayer.cjs.js"),n=require("../../../utils/cx.cjs.js"),r=require("../../../utils/refs.cjs.js"),i=require("../../data-display/Chip/Chip.cjs.js"),ee=require("../../primitives/Icon/icons.cjs.js"),te=require("../../utilities/VisuallyHidden/VisuallyHidden.cjs.js"),ne=require("../Field/FieldContext.cjs.js"),re=require("./ComboboxPopup.cjs.js"),a=require("./comboboxUtils.cjs.js"),o=require("./Combobox.module.css.cjs.js"),ie=require("../../utilities/LocaleProvider/LocaleProvider.cjs.js");let s=require("react"),c=require("react/jsx-runtime"),ae=require("react-dom");var oe={sm:o.default.sm,md:o.default.md,lg:o.default.lg},se={sm:`sm`,md:`sm`,lg:`md`};function l(e){return typeof e==`string`||typeof e==`number`?String(e):``}var ce=500,le=le=>{let u=ie.useMessages().combobox,{options:d,renderOption:ue,multiple:f=!1,value:de,defaultValue:fe,onValueChange:pe,inputValue:me,defaultInputValue:he,onInputValueChange:ge,open:_e,defaultOpen:ve=!1,onOpenChange:ye,filter:be,loading:p=!1,loadingMessage:xe=u.loading,emptyMessage:m=u.empty,resultsMessage:Se=u.results,allowCustomValue:h=!1,onCreate:g,createLabel:Ce=u.create,clearable:we=!1,clearLabel:Te=u.clear,requiredMessage:Ee=u.required,clearOnEscape:De=!1,showSuggestionsLabel:Oe=u.showSuggestions,hideSuggestionsLabel:ke=u.hideSuggestions,selectedLabel:Ae=u.selected,autoHighlight:je=!1,loop:Me=!0,size:Ne,invalid:Pe,required:Fe,disabled:Ie,readOnly:Le,name:_,placement:Re=`bottom-start`,maxHeight:ze,fullWidth:Be=!0,container:Ve,inputClassName:He,className:Ue,style:We,id:Ge,ref:Ke,placeholder:qe,onChange:Je,onKeyDown:Ye,onBlur:Xe,"aria-describedby":Ze,"aria-label":v,"aria-labelledby":Qe,...$e}=le,y=ne.useFieldContext(),b=ne.useFieldControl({id:Ge,invalid:Pe,required:Fe,disabled:Ie,readOnly:Le,size:Ne,"aria-describedby":Ze},{nativeRequired:!1}),x=b.size??`md`,S=!b.disabled&&!b.readOnly,et=(0,s.useId)(),tt=b.id??`${et}-input`,C=`${et}-listbox`,w=(0,s.useRef)(null),T=(0,s.useRef)(null),nt=(0,s.useRef)(null),rt=(0,s.useCallback)(e=>{w.current=e,r.assignRef(Ke,e)},[Ke]),E=(0,s.useRef)(new Map);for(let e of d)E.current.set(e.value,e);let D=e=>d.find(t=>t.value===e)??E.current.get(e),[O,k]=e.useControllableState({value:de,defaultValue:fe??(f?[]:null),onChange:pe}),A=f?Array.isArray(O)?O:[]:typeof O==`string`?[O]:[],j=!f&&typeof O==`string`?O:null,M=j===null?``:D(j)?.label??j,[N,P]=e.useControllableState({value:me,defaultValue:he??(f?``:M),onChange:ge}),it=A.length>0||h&&!f&&N.trim()!==``;(0,s.useEffect)(()=>{w.current?.setCustomValidity(b.required&&!it?Ee:``)},[b.required,it,Ee]);let[F,I]=e.useControllableState({value:_e,defaultValue:ve,onChange:ye}),at=F&&S,[L,R]=(0,s.useState)(!1),[z,B]=(0,s.useState)(null),V=be===!1?null:be??a.defaultComboboxFilter,ot=(e,t)=>{let n=[];d.forEach((t,r)=>{(!V||V(t,e))&&n.push({kind:`option`,key:t.value,option:t,id:`${C}-option-${r}`})});let r=N.trim();if(g&&t&&r!==``){let e=a.normalizeText(r);d.some(t=>a.normalizeText(t.label)===e)||n.push({kind:`create`,key:a.CREATE_KEY,text:r,id:`${C}-create`})}return a.orderItems(n)},H=f||L,U=(0,s.useMemo)(()=>ot(H?N:``,H),[d,V,H,N,!!g,C]),W=z===null?-1:U.findIndex(e=>e.key===z);W>=0&&!a.isEnabled(U[W])&&(W=-1),W===-1&&je&&H&&N.trim()!==``&&(W=a.findEnabled(U,-1,1,!0));let st=m!=null&&m!==!1&&m!==``,G=at&&(U.length>0||p||st),ct=G&&W>=0?U[W].id:void 0,[lt,K]=(0,s.useState)(``),ut=U.filter(e=>e.kind===`option`).length,dt=U.find(e=>e.kind===`create`),q=G?p?l(xe):ut>0?Se(ut):dt?.kind===`create`?l(Ce(dt.text)):l(m):``;(0,s.useEffect)(()=>{if(!q)return;let e=window.setTimeout(()=>K(q),ce);return()=>window.clearTimeout(e)},[q]),(0,s.useEffect)(()=>{G||K(``)},[G]);let J=(0,s.useRef)(me!==void 0&&!f&&M!==``?null:M);(0,s.useEffect)(()=>{f||J.current===M||(J.current=M,h&&M===``||L||P(M))},[f,M,L,h,P]);let Y=e=>{(!e||S)&&(I(e),e||B(null))},ft=t.useOverlayLayer({active:G,elements:()=>[T,nt],onEscape:()=>Y(!1),onOutsidePress:()=>Y(!1)}),X=e=>{if(!S)return;let t=!f&&N===M,n=f||L&&!t;t&&R(!1);let r=ot(n?N:``,n),i=-1;e===`first`?i=a.findEnabled(r,-1,1,!0):e===`last`?i=a.findEnabled(r,-1,-1,!0):e===`selected`&&(i=r.findIndex(e=>e.kind===`option`&&!e.option.disabled&&A.includes(e.option.value)),i<0&&(i=a.findEnabled(r,-1,1,!0))),B(i>=0?r[i].key:null),I(!0)},pt=e=>{let t=a.findEnabled(U,W,e,Me);B(t>=0?U[t].key:null)},Z=(e,t)=>{if(f){let n=A.includes(e);k(n?A.filter(t=>t!==e):[...A,e]),P(``),R(!1),B(e),K(n?u.optionRemoved(t):u.optionSelected(t))}else k(e),J.current=t,P(t),R(!1),Y(!1)},mt=e=>{if(!a.isEnabled(e))return;if(e.kind===`option`){Z(e.option.value,e.option.label);return}let t=g?.(e.text);typeof t==`string`?(E.current.set(t,{value:t,label:e.text}),Z(t,e.text)):(R(!1),f?P(``):Y(!1))},ht=e=>{S&&(k(A.filter(t=>t!==e)),K(u.optionRemoved(D(e)?.label??e)))},Q=()=>{k(f?[]:null),J.current=``,P(``),R(!1),B(null)},gt=e=>{Je?.(e),P(e.target.value),R(!0),B(null),F||Y(!0)},_t=e=>{if(Ye?.(e),!(e.defaultPrevented||e.nativeEvent.isComposing||b.disabled))switch(e.key){case`ArrowDown`:if(!S)return;e.preventDefault(),e.altKey?G||X(`none`):G?pt(1):X(f?`first`:`selected`);return;case`ArrowUp`:if(!S)return;e.preventDefault(),e.altKey?Y(!1):G?pt(-1):X(`last`);return;case`Enter`:if(!G){f&&h&&N.trim()&&S&&(e.preventDefault(),e.repeat||vt()),!f&&S&&(0,ae.flushSync)(yt);return}if(e.preventDefault(),e.repeat)return;W>=0?mt(U[W]):f&&h&&N.trim()?vt():(!f&&h&&N!==M&&j!==null&&k(null),Y(!1));return;case`Escape`:if(G)return;if(F){e.preventDefault(),I(!1);return}if(!S)return;{let t=f?``:M;if(N!==t){e.preventDefault(),P(t),R(!1);return}De&&(j!==null||A.length>0)&&(e.preventDefault(),Q())}return;case`Home`:case`End`:case`ArrowLeft`:case`ArrowRight`:z!==null&&B(null);return;case`Backspace`:f&&S&&!e.repeat&&N===``&&A.length>0&&ht(A[A.length-1]);return;default:return}},vt=()=>{let e=N.trim(),t=d.find(t=>a.normalizeText(t.label)===a.normalizeText(e));A.includes(t?.value??e)?P(``):t?t.disabled||Z(t.value,t.label):(E.current.set(e,{value:e,label:e}),Z(e,e))},yt=()=>{f||N===M||(N.trim()===``?j===null?N!==``&&P(``):Q():h?j!==null&&k(null):P(M))},bt=e=>{Xe?.(e),Y(!1),R(!1),yt()},xt=(0,s.useRef)(()=>{});xt.current=()=>{if(de!==void 0)return;let e=fe??(f?[]:null);k(e);let t=typeof e==`string`?D(e)?.label??e:``;P(he??(f?``:t)),Y(!1),R(!1)},(0,s.useEffect)(()=>{let e=w.current?.form;if(!e)return;let t=()=>xt.current();return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)},[]);let St=e=>{let t=w.current;if(!t||b.disabled)return;let n=e.target;T.current?.contains(n)&&(n===t||n.closest(`button, a`)||(e.preventDefault(),t.focus()))},Ct=e=>{let t=e.target;T.current?.contains(t)&&!t.closest(`button, a`)&&(F||X(`none`))},wt=()=>{w.current?.focus(),G||F?Y(!1):X(`none`)},Tt=()=>{Q(),K(u.cleared),w.current?.focus()},Et=e=>e.preventDefault(),Dt=we&&S&&(A.length>0||N!==``),$=f&&A.length>0,Ot=Qe??(v?void 0:y&&!y.isGroup?y.labelId:void 0),kt=_===void 0?null:f?A.map(e=>(0,c.jsx)(`input`,{type:`hidden`,name:_,value:e,disabled:b.disabled},e)):(0,c.jsx)(`input`,{type:`hidden`,name:_,value:j??(h?N:``),disabled:b.disabled});return(0,c.jsxs)(`div`,{ref:T,className:n.cx(o.default.root,oe[x],Be&&o.default.fullWidth,f&&o.default.multiple,$&&o.default.hasChips,b.invalid&&o.default.invalid,b.disabled&&o.default.disabled,b.readOnly&&!b.disabled&&o.default.readOnly,Ue),style:We,"data-size":x,"data-state":G?`open`:`closed`,onMouseDown:St,onClick:Ct,children:[$&&(0,c.jsx)(i.ChipGroup,{"aria-label":Ae,size:se[x],tone:`primary`,variant:`soft`,disabled:b.disabled,focusFallback:w,className:o.default.chips,children:A.map(e=>{let t=D(e);return(0,c.jsx)(i.Chip,{startIcon:t?.icon,onRemove:S?()=>ht(e):void 0,children:t?.label??e},e)})}),(0,c.jsx)(`input`,{autoComplete:`off`,autoCorrect:`off`,autoCapitalize:`none`,spellCheck:!1,...$e,ref:rt,id:tt,type:`text`,role:`combobox`,"aria-label":v,"aria-labelledby":Qe,"aria-expanded":G,"aria-controls":C,"aria-autocomplete":`list`,"aria-activedescendant":ct,...b.ariaProps,placeholder:$?void 0:qe,value:N,disabled:b.disabled,readOnly:b.readOnly,className:n.cx(o.default.input,He),onChange:gt,onKeyDown:_t,onBlur:bt}),(0,c.jsxs)(`span`,{className:o.default.actions,children:[Dt&&(0,c.jsx)(`button`,{type:`button`,className:o.default.iconButton,"aria-label":Te,onMouseDown:Et,onClick:Tt,children:(0,c.jsx)(ee.CloseIcon,{size:x===`lg`?`sm`:`xs`,strokeWidth:2.5})}),(0,c.jsx)(`button`,{type:`button`,tabIndex:-1,className:n.cx(o.default.iconButton,o.default.toggle),"aria-label":G?ke:Oe,disabled:!S,onMouseDown:Et,onClick:wt,children:(0,c.jsx)(ee.ChevronDownIcon,{size:x===`sm`?`sm`:`md`,className:o.default.chevron})})]}),kt,(0,c.jsx)(te.VisuallyHidden,{role:`status`,"aria-live":`polite`,"aria-atomic":`true`,children:lt}),G&&(0,c.jsx)(re.ComboboxPopup,{anchorRef:T,positionerRef:nt,layer:ft,listboxId:C,labelledBy:Ot,label:v,multiple:f,size:x,placement:Re,maxHeight:ze,items:U,highlightedIndex:W,isSelected:e=>A.includes(e),onHighlight:e=>B(U[e]?.key??null),onChoose:mt,renderOption:ue,createLabel:Ce,loading:p,loadingMessage:xe,emptyMessage:m,container:Ve})]})};exports.Combobox=le,exports.defaultComboboxFilter=a.defaultComboboxFilter;
@@ -1,24 +1,25 @@
1
+ "use client";
1
2
  import { useControllableState as e } from "../../../hooks/useControllableState.mjs";
2
3
  import { useOverlayLayer as t } from "../../../hooks/useOverlayLayer.mjs";
3
- import { useMessages as n } from "../../utilities/LocaleProvider/LocaleProvider.mjs";
4
+ import { cx as n } from "../../../utils/cx.mjs";
4
5
  import { assignRef as r } from "../../../utils/refs.mjs";
5
- import { cx as i } from "../../../utils/cx.mjs";
6
- import { VisuallyHidden as ee } from "../../utilities/VisuallyHidden/VisuallyHidden.mjs";
6
+ import { Chip as i, ChipGroup as ee } from "../../data-display/Chip/Chip.mjs";
7
7
  import { ChevronDownIcon as te, CloseIcon as ne } from "../../primitives/Icon/icons.mjs";
8
- import { useFieldContext as re, useFieldControl as ie } from "../Field/FieldContext.mjs";
9
- import { Chip as ae, ChipGroup as oe } from "../../data-display/Chip/Chip.mjs";
8
+ import { VisuallyHidden as re } from "../../utilities/VisuallyHidden/VisuallyHidden.mjs";
9
+ import { useFieldContext as ie, useFieldControl as ae } from "../Field/FieldContext.mjs";
10
+ import { ComboboxPopup as oe } from "./ComboboxPopup.mjs";
10
11
  import { CREATE_KEY as se, defaultComboboxFilter as ce, findEnabled as a, isEnabled as le, normalizeText as o, orderItems as ue } from "./comboboxUtils.mjs";
11
12
  import s from "./Combobox.module.css.mjs";
12
- import { ComboboxPopup as de } from "./ComboboxPopup.mjs";
13
- import { useCallback as fe, useEffect as c, useId as pe, useRef as l, useState as u } from "react";
14
- import { jsx as d, jsxs as me } from "react/jsx-runtime";
15
- import { flushSync as he } from "react-dom";
16
- //#region src/components/forms/Combobox/Combobox.tsx
17
- var ge = {
13
+ import { useMessages as de } from "../../utilities/LocaleProvider/LocaleProvider.mjs";
14
+ import { useCallback as fe, useEffect as c, useId as pe, useMemo as me, useRef as l, useState as u } from "react";
15
+ import { jsx as d, jsxs as he } from "react/jsx-runtime";
16
+ import { flushSync as ge } from "react-dom";
17
+ // src/components/forms/Combobox/Combobox.tsx
18
+ var _e = {
18
19
  sm: s.sm,
19
20
  md: s.md,
20
21
  lg: s.lg
21
- }, _e = {
22
+ }, ve = {
22
23
  sm: "sm",
23
24
  md: "sm",
24
25
  lg: "md"
@@ -26,8 +27,8 @@ var ge = {
26
27
  function f(e) {
27
28
  return typeof e == "string" || typeof e == "number" ? String(e) : "";
28
29
  }
29
- var ve = 500, ye = (ye) => {
30
- let p = n().combobox, { options: m, renderOption: be, multiple: h = !1, value: xe, defaultValue: Se, onValueChange: Ce, inputValue: we, defaultInputValue: Te, onInputValueChange: Ee, open: De, defaultOpen: Oe = !1, onOpenChange: ke, filter: Ae, loading: g = !1, loadingMessage: je = p.loading, emptyMessage: _ = p.empty, resultsMessage: Me = p.results, allowCustomValue: v = !1, onCreate: Ne, createLabel: Pe = p.create, clearable: Fe = !1, clearLabel: Ie = p.clear, requiredMessage: Le = p.required, clearOnEscape: Re = !1, showSuggestionsLabel: ze = p.showSuggestions, hideSuggestionsLabel: Be = p.hideSuggestions, selectedLabel: Ve = p.selected, autoHighlight: He = !1, loop: Ue = !0, size: We, invalid: Ge, required: Ke, disabled: qe, readOnly: Je, name: y, placement: Ye = "bottom-start", maxHeight: Xe, fullWidth: Ze = !0, container: Qe, inputClassName: $e, className: et, style: tt, id: nt, ref: rt, placeholder: it, onChange: at, onKeyDown: ot, onBlur: st, "aria-describedby": ct, "aria-label": b, "aria-labelledby": lt, ...ut } = ye, x = re(), S = ie({
30
+ var ye = 500, be = (be) => {
31
+ let p = de().combobox, { options: m, renderOption: xe, multiple: h = !1, value: Se, defaultValue: Ce, onValueChange: we, inputValue: Te, defaultInputValue: Ee, onInputValueChange: De, open: Oe, defaultOpen: ke = !1, onOpenChange: Ae, filter: je, loading: g = !1, loadingMessage: Me = p.loading, emptyMessage: _ = p.empty, resultsMessage: Ne = p.results, allowCustomValue: v = !1, onCreate: y, createLabel: Pe = p.create, clearable: Fe = !1, clearLabel: Ie = p.clear, requiredMessage: Le = p.required, clearOnEscape: Re = !1, showSuggestionsLabel: ze = p.showSuggestions, hideSuggestionsLabel: Be = p.hideSuggestions, selectedLabel: Ve = p.selected, autoHighlight: He = !1, loop: Ue = !0, size: We, invalid: Ge, required: Ke, disabled: qe, readOnly: Je, name: b, placement: Ye = "bottom-start", maxHeight: Xe, fullWidth: Ze = !0, container: Qe, inputClassName: $e, className: et, style: tt, id: nt, ref: rt, placeholder: it, onChange: at, onKeyDown: ot, onBlur: st, "aria-describedby": ct, "aria-label": x, "aria-labelledby": lt, ...ut } = be, S = ie(), C = ae({
31
32
  id: nt,
32
33
  invalid: Ge,
33
34
  required: Ke,
@@ -35,242 +36,229 @@ var ve = 500, ye = (ye) => {
35
36
  readOnly: Je,
36
37
  size: We,
37
38
  "aria-describedby": ct
38
- }, { nativeRequired: !1 }), C = S.size ?? "md", w = !S.disabled && !S.readOnly, dt = pe(), ft = S.id ?? `${dt}-input`, T = `${dt}-listbox`, E = l(null), D = l(null), pt = l(null), mt = fe((e) => {
39
- E.current = e, r(rt, e);
40
- }, [rt]), O = l(/* @__PURE__ */ new Map());
41
- for (let e of m) O.current.set(e.value, e);
42
- let k = (e) => m.find((t) => t.value === e) ?? O.current.get(e), [A, j] = e({
43
- value: xe,
44
- defaultValue: Se ?? (h ? [] : null),
45
- onChange: Ce
46
- }), M = h ? Array.isArray(A) ? A : [] : typeof A == "string" ? [A] : [], N = !h && typeof A == "string" ? A : null, P = N === null ? "" : k(N)?.label ?? N, [F, I] = e({
47
- value: we,
48
- defaultValue: Te ?? (h ? "" : P),
49
- onChange: Ee
50
- }), ht = M.length > 0 || v && !h && F.trim() !== "";
39
+ }, { nativeRequired: !1 }), w = C.size ?? "md", T = !C.disabled && !C.readOnly, dt = pe(), ft = C.id ?? `${dt}-input`, E = `${dt}-listbox`, D = l(null), O = l(null), pt = l(null), mt = fe((e) => {
40
+ D.current = e, r(rt, e);
41
+ }, [rt]), k = l(/* @__PURE__ */ new Map());
42
+ for (let e of m) k.current.set(e.value, e);
43
+ let A = (e) => m.find((t) => t.value === e) ?? k.current.get(e), [j, M] = e({
44
+ value: Se,
45
+ defaultValue: Ce ?? (h ? [] : null),
46
+ onChange: we
47
+ }), N = h ? Array.isArray(j) ? j : [] : typeof j == "string" ? [j] : [], P = !h && typeof j == "string" ? j : null, F = P === null ? "" : A(P)?.label ?? P, [I, L] = e({
48
+ value: Te,
49
+ defaultValue: Ee ?? (h ? "" : F),
50
+ onChange: De
51
+ }), ht = N.length > 0 || v && !h && I.trim() !== "";
51
52
  c(() => {
52
- E.current?.setCustomValidity(S.required && !ht ? Le : "");
53
+ D.current?.setCustomValidity(C.required && !ht ? Le : "");
53
54
  }, [
54
- S.required,
55
+ C.required,
55
56
  ht,
56
57
  Le
57
58
  ]);
58
- let [L, R] = e({
59
- value: De,
60
- defaultValue: Oe,
61
- onChange: ke
62
- }), gt = L && w, [z, B] = u(!1), [V, H] = u(null), _t = Ae === !1 ? null : Ae ?? ce, vt = (e, t) => {
59
+ let [R, z] = e({
60
+ value: Oe,
61
+ defaultValue: ke,
62
+ onChange: Ae
63
+ }), gt = R && T, [B, V] = u(!1), [H, U] = u(null), _t = je === !1 ? null : je ?? ce, vt = (e, t) => {
63
64
  let n = [];
64
65
  m.forEach((t, r) => {
65
66
  (!_t || _t(t, e)) && n.push({
66
67
  kind: "option",
67
68
  key: t.value,
68
69
  option: t,
69
- id: `${T}-option-${r}`
70
+ id: `${E}-option-${r}`
70
71
  });
71
72
  });
72
- let r = F.trim();
73
- return Ne && t && r !== "" && !m.some((e) => o(e.label) === o(r)) && n.push({
74
- kind: "create",
75
- key: se,
76
- text: r,
77
- id: `${T}-create`
78
- }), ue(n);
79
- }, U = h || z, W = vt(U ? F : "", U), G = V === null ? -1 : W.findIndex((e) => e.key === V);
80
- G >= 0 && !le(W[G]) && (G = -1), G === -1 && He && U && F.trim() !== "" && (G = a(W, -1, 1, !0));
81
- let yt = _ != null && _ !== !1 && _ !== "", K = gt && (W.length > 0 || g || yt), bt = K && G >= 0 ? W[G].id : void 0, [xt, q] = u(""), St = W.filter((e) => e.kind === "option").length, Ct = W.find((e) => e.kind === "create"), J = K ? g ? f(je) : St > 0 ? Me(St) : Ct?.kind === "create" ? f(Pe(Ct.text)) : f(_) : "";
73
+ let r = I.trim();
74
+ if (y && t && r !== "") {
75
+ let e = o(r);
76
+ m.some((t) => o(t.label) === e) || n.push({
77
+ kind: "create",
78
+ key: se,
79
+ text: r,
80
+ id: `${E}-create`
81
+ });
82
+ }
83
+ return ue(n);
84
+ }, W = h || B, G = me(() => vt(W ? I : "", W), [
85
+ m,
86
+ _t,
87
+ W,
88
+ I,
89
+ !!y,
90
+ E
91
+ ]), K = H === null ? -1 : G.findIndex((e) => e.key === H);
92
+ K >= 0 && !le(G[K]) && (K = -1), K === -1 && He && W && I.trim() !== "" && (K = a(G, -1, 1, !0));
93
+ let yt = _ != null && _ !== !1 && _ !== "", q = gt && (G.length > 0 || g || yt), bt = q && K >= 0 ? G[K].id : void 0, [xt, J] = u(""), St = G.filter((e) => e.kind === "option").length, Ct = G.find((e) => e.kind === "create"), wt = q ? g ? f(Me) : St > 0 ? Ne(St) : Ct?.kind === "create" ? f(Pe(Ct.text)) : f(_) : "";
82
94
  c(() => {
83
- if (!J) return;
84
- let e = window.setTimeout(() => q(J), ve);
95
+ if (!wt) return;
96
+ let e = window.setTimeout(() => J(wt), ye);
85
97
  return () => window.clearTimeout(e);
86
- }, [J]), c(() => {
87
- K || q("");
88
- }, [K]);
89
- let Y = l(we !== void 0 && !h && P !== "" ? null : P);
98
+ }, [wt]), c(() => {
99
+ q || J("");
100
+ }, [q]);
101
+ let Y = l(Te !== void 0 && !h && F !== "" ? null : F);
90
102
  c(() => {
91
- h || Y.current === P || (Y.current = P, !(v && P === "") && (z || I(P)));
103
+ h || Y.current === F || (Y.current = F, v && F === "" || B || L(F));
92
104
  }, [
93
105
  h,
94
- P,
95
- z,
106
+ F,
107
+ B,
96
108
  v,
97
- I
109
+ L
98
110
  ]);
99
111
  let X = (e) => {
100
- (!e || w) && (R(e), e || H(null));
101
- }, wt = t({
102
- active: K,
103
- elements: () => [D, pt],
112
+ (!e || T) && (z(e), e || U(null));
113
+ }, Tt = t({
114
+ active: q,
115
+ elements: () => [O, pt],
104
116
  onEscape: () => X(!1),
105
117
  onOutsidePress: () => X(!1)
106
118
  }), Z = (e) => {
107
- if (!w) return;
108
- let t = !h && F === P, n = h || z && !t;
109
- t && B(!1);
110
- let r = vt(n ? F : "", n), i = -1;
111
- e === "first" ? i = a(r, -1, 1, !0) : e === "last" ? i = a(r, -1, -1, !0) : e === "selected" && (i = r.findIndex((e) => e.kind === "option" && !e.option.disabled && M.includes(e.option.value)), i < 0 && (i = a(r, -1, 1, !0))), H(i >= 0 ? r[i].key : null), R(!0);
112
- }, Tt = (e) => {
113
- let t = a(W, G, e, Ue);
114
- H(t >= 0 ? W[t].key : null);
119
+ if (!T) return;
120
+ let t = !h && I === F, n = h || B && !t;
121
+ t && V(!1);
122
+ let r = vt(n ? I : "", n), i = -1;
123
+ e === "first" ? i = a(r, -1, 1, !0) : e === "last" ? i = a(r, -1, -1, !0) : e === "selected" && (i = r.findIndex((e) => e.kind === "option" && !e.option.disabled && N.includes(e.option.value)), i < 0 && (i = a(r, -1, 1, !0))), U(i >= 0 ? r[i].key : null), z(!0);
124
+ }, Et = (e) => {
125
+ let t = a(G, K, e, Ue);
126
+ U(t >= 0 ? G[t].key : null);
115
127
  }, Q = (e, t) => {
116
128
  if (h) {
117
- let n = M.includes(e);
118
- j(n ? M.filter((t) => t !== e) : [...M, e]), I(""), B(!1), H(e), q(n ? p.optionRemoved(t) : p.optionSelected(t));
119
- return;
120
- }
121
- j(e), Y.current = t, I(t), B(!1), X(!1);
122
- }, Et = (e) => {
129
+ let n = N.includes(e);
130
+ M(n ? N.filter((t) => t !== e) : [...N, e]), L(""), V(!1), U(e), J(n ? p.optionRemoved(t) : p.optionSelected(t));
131
+ } else M(e), Y.current = t, L(t), V(!1), X(!1);
132
+ }, Dt = (e) => {
123
133
  if (!le(e)) return;
124
134
  if (e.kind === "option") {
125
135
  Q(e.option.value, e.option.label);
126
136
  return;
127
137
  }
128
- let t = Ne?.(e.text);
129
- if (typeof t == "string") {
130
- O.current.set(t, {
131
- value: t,
132
- label: e.text
133
- }), Q(t, e.text);
134
- return;
135
- }
136
- B(!1), h ? I("") : X(!1);
137
- }, Dt = (e) => {
138
- w && (j(M.filter((t) => t !== e)), q(p.optionRemoved(k(e)?.label ?? e)));
139
- }, $ = () => {
140
- j(h ? [] : null), Y.current = "", I(""), B(!1), H(null);
138
+ let t = y?.(e.text);
139
+ typeof t == "string" ? (k.current.set(t, {
140
+ value: t,
141
+ label: e.text
142
+ }), Q(t, e.text)) : (V(!1), h ? L("") : X(!1));
141
143
  }, Ot = (e) => {
142
- at?.(e), I(e.target.value), B(!0), H(null), L || X(!0);
143
- }, kt = (e) => {
144
- if (ot?.(e), !(e.defaultPrevented || e.nativeEvent.isComposing || S.disabled)) switch (e.key) {
144
+ T && (M(N.filter((t) => t !== e)), J(p.optionRemoved(A(e)?.label ?? e)));
145
+ }, kt = () => {
146
+ M(h ? [] : null), Y.current = "", L(""), V(!1), U(null);
147
+ }, At = (e) => {
148
+ at?.(e), L(e.target.value), V(!0), U(null), R || X(!0);
149
+ }, jt = (e) => {
150
+ if (ot?.(e), !(e.defaultPrevented || e.nativeEvent.isComposing || C.disabled)) switch (e.key) {
145
151
  case "ArrowDown":
146
- if (!w) return;
147
- e.preventDefault(), e.altKey ? K || Z("none") : K ? Tt(1) : Z(h ? "first" : "selected");
152
+ if (!T) return;
153
+ e.preventDefault(), e.altKey ? q || Z("none") : q ? Et(1) : Z(h ? "first" : "selected");
148
154
  return;
149
155
  case "ArrowUp":
150
- if (!w) return;
151
- e.preventDefault(), e.altKey ? X(!1) : K ? Tt(-1) : Z("last");
156
+ if (!T) return;
157
+ e.preventDefault(), e.altKey ? X(!1) : q ? Et(-1) : Z("last");
152
158
  return;
153
159
  case "Enter":
154
- if (!K) {
155
- h && v && F.trim() && w && (e.preventDefault(), e.repeat || At()), !h && w && he(jt);
160
+ if (!q) {
161
+ h && v && I.trim() && T && (e.preventDefault(), e.repeat || Mt()), !h && T && ge(Nt);
156
162
  return;
157
163
  }
158
164
  if (e.preventDefault(), e.repeat) return;
159
- G >= 0 ? Et(W[G]) : h && v && F.trim() ? At() : (!h && v && F !== P && N !== null && j(null), X(!1));
165
+ K >= 0 ? Dt(G[K]) : h && v && I.trim() ? Mt() : (!h && v && I !== F && P !== null && M(null), X(!1));
160
166
  return;
161
167
  case "Escape":
162
- if (K) return;
163
- if (L) {
164
- e.preventDefault(), R(!1);
168
+ if (q) return;
169
+ if (R) {
170
+ e.preventDefault(), z(!1);
165
171
  return;
166
172
  }
167
- if (!w) return;
173
+ if (!T) return;
168
174
  {
169
- let t = h ? "" : P;
170
- if (F !== t) {
171
- e.preventDefault(), I(t), B(!1);
175
+ let t = h ? "" : F;
176
+ if (I !== t) {
177
+ e.preventDefault(), L(t), V(!1);
172
178
  return;
173
179
  }
174
- Re && (N !== null || M.length > 0) && (e.preventDefault(), $());
180
+ Re && (P !== null || N.length > 0) && (e.preventDefault(), kt());
175
181
  }
176
182
  return;
177
183
  case "Home":
178
184
  case "End":
179
185
  case "ArrowLeft":
180
186
  case "ArrowRight":
181
- V !== null && H(null);
187
+ H !== null && U(null);
182
188
  return;
183
189
  case "Backspace":
184
- h && w && !e.repeat && F === "" && M.length > 0 && Dt(M[M.length - 1]);
190
+ h && T && !e.repeat && I === "" && N.length > 0 && Ot(N[N.length - 1]);
185
191
  return;
186
192
  default: return;
187
193
  }
188
- }, At = () => {
189
- let e = F.trim(), t = m.find((t) => o(t.label) === o(e));
190
- if (M.includes(t?.value ?? e)) {
191
- I("");
192
- return;
193
- }
194
- if (t) {
195
- t.disabled || Q(t.value, t.label);
196
- return;
197
- }
198
- O.current.set(e, {
194
+ }, Mt = () => {
195
+ let e = I.trim(), t = m.find((t) => o(t.label) === o(e));
196
+ N.includes(t?.value ?? e) ? L("") : t ? t.disabled || Q(t.value, t.label) : (k.current.set(e, {
199
197
  value: e,
200
198
  label: e
201
- }), Q(e, e);
202
- }, jt = () => {
203
- if (!(h || F === P)) {
204
- if (F.trim() === "") {
205
- N === null ? F !== "" && I("") : $();
206
- return;
207
- }
208
- if (v) {
209
- N !== null && j(null);
210
- return;
211
- }
212
- I(P);
213
- }
214
- }, Mt = (e) => {
215
- st?.(e), X(!1), B(!1), jt();
216
- }, Nt = l(() => {});
217
- Nt.current = () => {
218
- if (xe !== void 0) return;
219
- let e = Se ?? (h ? [] : null);
220
- j(e);
221
- let t = typeof e == "string" ? k(e)?.label ?? e : "";
222
- I(Te ?? (h ? "" : t)), X(!1), B(!1);
199
+ }), Q(e, e));
200
+ }, Nt = () => {
201
+ h || I === F || (I.trim() === "" ? P === null ? I !== "" && L("") : kt() : v ? P !== null && M(null) : L(F));
202
+ }, Pt = (e) => {
203
+ st?.(e), X(!1), V(!1), Nt();
204
+ }, Ft = l(() => {});
205
+ Ft.current = () => {
206
+ if (Se !== void 0) return;
207
+ let e = Ce ?? (h ? [] : null);
208
+ M(e);
209
+ let t = typeof e == "string" ? A(e)?.label ?? e : "";
210
+ L(Ee ?? (h ? "" : t)), X(!1), V(!1);
223
211
  }, c(() => {
224
- let e = E.current?.form;
212
+ let e = D.current?.form;
225
213
  if (!e) return;
226
- let t = () => Nt.current();
214
+ let t = () => Ft.current();
227
215
  return e.addEventListener("reset", t), () => e.removeEventListener("reset", t);
228
216
  }, []);
229
- let Pt = (e) => {
230
- let t = E.current;
231
- if (!t || S.disabled) return;
217
+ let It = (e) => {
218
+ let t = D.current;
219
+ if (!t || C.disabled) return;
232
220
  let n = e.target;
233
- D.current?.contains(n) && (n === t || n.closest("button, a") || (e.preventDefault(), t.focus()));
234
- }, Ft = (e) => {
221
+ O.current?.contains(n) && (n === t || n.closest("button, a") || (e.preventDefault(), t.focus()));
222
+ }, Lt = (e) => {
235
223
  let t = e.target;
236
- D.current?.contains(t) && !t.closest("button, a") && (L || Z("none"));
237
- }, It = () => {
238
- E.current?.focus(), K || L ? X(!1) : Z("none");
239
- }, Lt = () => {
240
- $(), q(p.cleared), E.current?.focus();
241
- }, Rt = (e) => e.preventDefault(), zt = Fe && w && (M.length > 0 || F !== ""), Bt = h && M.length > 0, Vt = lt ?? (b ? void 0 : x && !x.isGroup ? x.labelId : void 0), Ht = y === void 0 ? null : h ? M.map((e) => /* @__PURE__ */ d("input", {
224
+ O.current?.contains(t) && !t.closest("button, a") && (R || Z("none"));
225
+ }, Rt = () => {
226
+ D.current?.focus(), q || R ? X(!1) : Z("none");
227
+ }, zt = () => {
228
+ kt(), J(p.cleared), D.current?.focus();
229
+ }, Bt = (e) => e.preventDefault(), Vt = Fe && T && (N.length > 0 || I !== ""), $ = h && N.length > 0, Ht = lt ?? (x ? void 0 : S && !S.isGroup ? S.labelId : void 0), Ut = b === void 0 ? null : h ? N.map((e) => /* @__PURE__ */ d("input", {
242
230
  type: "hidden",
243
- name: y,
231
+ name: b,
244
232
  value: e,
245
- disabled: S.disabled
233
+ disabled: C.disabled
246
234
  }, e)) : /* @__PURE__ */ d("input", {
247
235
  type: "hidden",
248
- name: y,
249
- value: N ?? (v ? F : ""),
250
- disabled: S.disabled
236
+ name: b,
237
+ value: P ?? (v ? I : ""),
238
+ disabled: C.disabled
251
239
  });
252
- return /* @__PURE__ */ me("div", {
253
- ref: D,
254
- className: i(s.root, ge[C], Ze && s.fullWidth, h && s.multiple, Bt && s.hasChips, S.invalid && s.invalid, S.disabled && s.disabled, S.readOnly && !S.disabled && s.readOnly, et),
240
+ return /* @__PURE__ */ he("div", {
241
+ ref: O,
242
+ className: n(s.root, _e[w], Ze && s.fullWidth, h && s.multiple, $ && s.hasChips, C.invalid && s.invalid, C.disabled && s.disabled, C.readOnly && !C.disabled && s.readOnly, et),
255
243
  style: tt,
256
- "data-size": C,
257
- "data-state": K ? "open" : "closed",
258
- onMouseDown: Pt,
259
- onClick: Ft,
244
+ "data-size": w,
245
+ "data-state": q ? "open" : "closed",
246
+ onMouseDown: It,
247
+ onClick: Lt,
260
248
  children: [
261
- Bt && /* @__PURE__ */ d(oe, {
249
+ $ && /* @__PURE__ */ d(ee, {
262
250
  "aria-label": Ve,
263
- size: _e[C],
251
+ size: ve[w],
264
252
  tone: "primary",
265
253
  variant: "soft",
266
- disabled: S.disabled,
267
- focusFallback: E,
254
+ disabled: C.disabled,
255
+ focusFallback: D,
268
256
  className: s.chips,
269
- children: M.map((e) => {
270
- let t = k(e);
271
- return /* @__PURE__ */ d(ae, {
257
+ children: N.map((e) => {
258
+ let t = A(e);
259
+ return /* @__PURE__ */ d(i, {
272
260
  startIcon: t?.icon,
273
- onRemove: w ? () => Dt(e) : void 0,
261
+ onRemove: T ? () => Ot(e) : void 0,
274
262
  children: t?.label ?? e
275
263
  }, e);
276
264
  })
@@ -285,80 +273,79 @@ var ve = 500, ye = (ye) => {
285
273
  id: ft,
286
274
  type: "text",
287
275
  role: "combobox",
288
- "aria-label": b,
276
+ "aria-label": x,
289
277
  "aria-labelledby": lt,
290
- "aria-expanded": K,
291
- "aria-controls": T,
278
+ "aria-expanded": q,
279
+ "aria-controls": E,
292
280
  "aria-autocomplete": "list",
293
281
  "aria-activedescendant": bt,
294
- ...S.ariaProps,
295
- placeholder: Bt ? void 0 : it,
296
- value: F,
297
- disabled: S.disabled,
298
- readOnly: S.readOnly,
299
- className: i(s.input, $e),
300
- onChange: Ot,
301
- onKeyDown: kt,
302
- onBlur: Mt
282
+ ...C.ariaProps,
283
+ placeholder: $ ? void 0 : it,
284
+ value: I,
285
+ disabled: C.disabled,
286
+ readOnly: C.readOnly,
287
+ className: n(s.input, $e),
288
+ onChange: At,
289
+ onKeyDown: jt,
290
+ onBlur: Pt
303
291
  }),
304
- /* @__PURE__ */ me("span", {
292
+ /* @__PURE__ */ he("span", {
305
293
  className: s.actions,
306
- children: [zt && /* @__PURE__ */ d("button", {
294
+ children: [Vt && /* @__PURE__ */ d("button", {
307
295
  type: "button",
308
296
  className: s.iconButton,
309
297
  "aria-label": Ie,
310
- onMouseDown: Rt,
311
- onClick: Lt,
298
+ onMouseDown: Bt,
299
+ onClick: zt,
312
300
  children: /* @__PURE__ */ d(ne, {
313
- size: C === "lg" ? "sm" : "xs",
301
+ size: w === "lg" ? "sm" : "xs",
314
302
  strokeWidth: 2.5
315
303
  })
316
304
  }), /* @__PURE__ */ d("button", {
317
305
  type: "button",
318
306
  tabIndex: -1,
319
- className: i(s.iconButton, s.toggle),
320
- "aria-label": K ? Be : ze,
321
- disabled: !w,
322
- onMouseDown: Rt,
323
- onClick: It,
307
+ className: n(s.iconButton, s.toggle),
308
+ "aria-label": q ? Be : ze,
309
+ disabled: !T,
310
+ onMouseDown: Bt,
311
+ onClick: Rt,
324
312
  children: /* @__PURE__ */ d(te, {
325
- size: C === "sm" ? "sm" : "md",
313
+ size: w === "sm" ? "sm" : "md",
326
314
  className: s.chevron
327
315
  })
328
316
  })]
329
317
  }),
330
- Ht,
331
- /* @__PURE__ */ d(ee, {
318
+ Ut,
319
+ /* @__PURE__ */ d(re, {
332
320
  role: "status",
333
321
  "aria-live": "polite",
334
322
  "aria-atomic": "true",
335
323
  children: xt
336
324
  }),
337
- K && /* @__PURE__ */ d(de, {
338
- anchorRef: D,
325
+ q && /* @__PURE__ */ d(oe, {
326
+ anchorRef: O,
339
327
  positionerRef: pt,
340
- layer: wt,
341
- listboxId: T,
342
- labelledBy: Vt,
343
- label: b,
328
+ layer: Tt,
329
+ listboxId: E,
330
+ labelledBy: Ht,
331
+ label: x,
344
332
  multiple: h,
345
- size: C,
333
+ size: w,
346
334
  placement: Ye,
347
335
  maxHeight: Xe,
348
- items: W,
349
- highlightedIndex: G,
350
- isSelected: (e) => M.includes(e),
351
- onHighlight: (e) => H(W[e]?.key ?? null),
352
- onChoose: Et,
353
- renderOption: be,
336
+ items: G,
337
+ highlightedIndex: K,
338
+ isSelected: (e) => N.includes(e),
339
+ onHighlight: (e) => U(G[e]?.key ?? null),
340
+ onChoose: Dt,
341
+ renderOption: xe,
354
342
  createLabel: Pe,
355
343
  loading: g,
356
- loadingMessage: je,
344
+ loadingMessage: Me,
357
345
  emptyMessage: _,
358
346
  container: Qe
359
347
  })
360
348
  ]
361
349
  });
362
350
  };
363
- //#endregion
364
- export { ye as Combobox, ce as defaultComboboxFilter };
351
+ export { be as Combobox, ce as defaultComboboxFilter };
@@ -1,4 +1,4 @@
1
- //#region src/components/forms/Combobox/Combobox.module.css
1
+ // src/components/forms/Combobox/Combobox.module.css
2
2
  var e = "_root_1tvvc_31", t = "_fullWidth_1tvvc_103", n = "_hasChips_1tvvc_115", r = "_sm_1tvvc_125", i = "_md_1tvvc_143", a = "_lg_1tvvc_161", o = "_disabled_1tvvc_181", s = "_readOnly_1tvvc_181", c = "_invalid_1tvvc_181", l = "_chips_1tvvc_247", u = "_input_1tvvc_261", d = "_multiple_1tvvc_303", f = "_actions_1tvvc_359", p = "_iconButton_1tvvc_375", m = "_chevron_1tvvc_471", h = "_positioner_1tvvc_499", g = "_popup_1tvvc_511", _ = "_listSm_1tvvc_617", v = "_listMd_1tvvc_631", y = "_listLg_1tvvc_645", b = "_listbox_1tvvc_659", x = "_option_1tvvc_673", S = "_optionLabel_1tvvc_731", C = "_indicator_1tvvc_749", w = "_optionIcon_1tvvc_751", T = "_optionDescription_1tvvc_789", E = "_optionText_1tvvc_797", D = "_createOption_1tvvc_833", O = "_group_1tvvc_845", k = "_groupLabel_1tvvc_871", A = "_statusRow_1tvvc_901", j = {
3
3
  root: e,
4
4
  fullWidth: t,
@@ -33,5 +33,4 @@ var e = "_root_1tvvc_31", t = "_fullWidth_1tvvc_103", n = "_hasChips_1tvvc_115",
33
33
  groupLabel: k,
34
34
  statusRow: A
35
35
  };
36
- //#endregion
37
36
  export { f as actions, m as chevron, l as chips, D as createOption, j as default, o as disabled, t as fullWidth, O as group, k as groupLabel, n as hasChips, p as iconButton, C as indicator, u as input, c as invalid, a as lg, y as listLg, v as listMd, _ as listSm, b as listbox, i as md, d as multiple, x as option, T as optionDescription, w as optionIcon, S as optionLabel, E as optionText, g as popup, h as positioner, s as readOnly, e as root, r as sm, A as statusRow };