@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,16 +1,17 @@
1
+ "use client";
1
2
  import { useControllableState as e } from "../../../hooks/useControllableState.mjs";
2
- import { useMessages as t } from "../../utilities/LocaleProvider/LocaleProvider.mjs";
3
- import { cx as n } from "../../../utils/cx.mjs";
4
- import { Button as r } from "../../primitives/Button/Button.mjs";
5
- import { InfoIcon as i, WarningIcon as a } from "../../primitives/Icon/icons.mjs";
6
- import o from "./Modal.module.css.mjs";
7
- import { ModalContent as s } from "./ModalContent.mjs";
8
- import { Modal as c, ModalBody as l, ModalDescription as u, ModalFooter as d, ModalHeader as f, ModalTitle as p, ModalTrigger as m } from "./Modal.mjs";
3
+ import { cx as t } from "../../../utils/cx.mjs";
4
+ import { Button as n } from "../../primitives/Button/Button.mjs";
5
+ import { InfoIcon as r, WarningIcon as i } from "../../primitives/Icon/icons.mjs";
6
+ import { Modal as a, ModalBody as o, ModalDescription as s, ModalFooter as c, ModalHeader as l, ModalTitle as u, ModalTrigger as d } from "./Modal.mjs";
7
+ import f from "./Modal.module.css.mjs";
8
+ import { ModalContent as p } from "./ModalContent.mjs";
9
+ import { useMessages as m } from "../../utilities/LocaleProvider/LocaleProvider.mjs";
9
10
  import { useRef as h, useState as g } from "react";
10
11
  import { jsx as _, jsxs as v } from "react/jsx-runtime";
11
- //#region src/components/overlays/Modal/ConfirmModal.tsx
12
+ // src/components/overlays/Modal/ConfirmModal.tsx
12
13
  function y({ open: y, defaultOpen: b = !1, onOpenChange: x, trigger: S, title: C, description: w, children: T, confirmLabel: E, cancelLabel: D, confirmLoadingText: O, tone: k = "primary", onConfirm: A, onCancel: j, size: M = "sm", finalFocusRef: N }) {
13
- let P = t(), F = E ?? P.modal.confirm, I = D ?? P.modal.cancel, [L, R] = e({
14
+ let P = m(), F = E ?? P.modal.confirm, I = D ?? P.modal.cancel, [L, R] = e({
14
15
  value: y,
15
16
  defaultValue: b,
16
17
  onChange: x
@@ -30,11 +31,9 @@ function y({ open: y, defaultOpen: b = !1, onOpenChange: x, trigger: S, title: C
30
31
  } catch {} finally {
31
32
  B(!1);
32
33
  }
33
- return;
34
- }
35
- R(!1);
36
- }, W = k === "danger" ? a : i;
37
- return /* @__PURE__ */ v(c, {
34
+ } else R(!1);
35
+ }, W = k === "danger" ? i : r;
36
+ return /* @__PURE__ */ v(a, {
38
37
  open: L,
39
38
  onOpenChange: H,
40
39
  role: "alertdialog",
@@ -43,25 +42,25 @@ function y({ open: y, defaultOpen: b = !1, onOpenChange: x, trigger: S, title: C
43
42
  closeOnEscape: !z,
44
43
  initialFocusRef: V,
45
44
  finalFocusRef: N,
46
- children: [S && /* @__PURE__ */ _(m, { children: S }), /* @__PURE__ */ v(s, { children: [
47
- /* @__PURE__ */ v(f, { children: [
45
+ children: [S && /* @__PURE__ */ _(d, { children: S }), /* @__PURE__ */ v(p, { children: [
46
+ /* @__PURE__ */ v(l, { children: [
48
47
  /* @__PURE__ */ _("span", {
49
- className: n(o.confirmIcon, k === "danger" && o.confirmIconDanger),
48
+ className: t(f.confirmIcon, k === "danger" && f.confirmIconDanger),
50
49
  "aria-hidden": "true",
51
50
  children: /* @__PURE__ */ _(W, { size: "lg" })
52
51
  }),
53
- /* @__PURE__ */ _(p, { children: C }),
54
- w != null && /* @__PURE__ */ _(u, { children: w })
52
+ /* @__PURE__ */ _(u, { children: C }),
53
+ w != null && /* @__PURE__ */ _(s, { children: w })
55
54
  ] }),
56
- T != null && /* @__PURE__ */ _(l, { children: T }),
57
- /* @__PURE__ */ v(d, { children: [/* @__PURE__ */ _(r, {
55
+ T != null && /* @__PURE__ */ _(o, { children: T }),
56
+ /* @__PURE__ */ v(c, { children: [/* @__PURE__ */ _(n, {
58
57
  ref: V,
59
58
  variant: "outline",
60
59
  tone: "neutral",
61
60
  disabled: z,
62
61
  onClick: () => H(!1),
63
62
  children: I
64
- }), /* @__PURE__ */ _(r, {
63
+ }), /* @__PURE__ */ _(n, {
65
64
  variant: "solid",
66
65
  tone: k,
67
66
  loading: z,
@@ -72,5 +71,4 @@ function y({ open: y, defaultOpen: b = !1, onOpenChange: x, trigger: S, title: C
72
71
  ] })]
73
72
  });
74
73
  }
75
- //#endregion
76
74
  export { y as ConfirmModal };
@@ -1 +1 @@
1
- const e=require("../../../hooks/useControllableState.cjs.js"),t=require("../../utilities/LocaleProvider/LocaleProvider.cjs.js"),n=require("../../../utils/refs.cjs.js"),r=require("../../../utils/cx.cjs.js"),i=require("../../primitives/Typography/Typography.cjs.js"),a=require("./ModalContext.cjs.js"),o=require("./Modal.module.css.cjs.js"),s=require("./ModalContent.cjs.js"),c=require("./useScrollRegion.cjs.js");let l=require("react"),u=require("react/jsx-runtime");function d({open:n,defaultOpen:r=!1,onOpenChange:i,size:o=`md`,placement:s=`center`,mobileLayout:c=`sheet`,scrollBehavior:d=`inside`,role:f=`dialog`,closeOnOverlayPress:p,closeOnEscape:m=!0,initialFocusRef:h,finalFocusRef:g,showClose:_=!0,closeLabel:v,children:y}){let b=t.useMessages(),x=v??b.modal.close,[S,C]=e.useControllableState({value:n,defaultValue:r,onChange:i}),w=(0,l.useRef)(null),T=(0,l.useRef)(null),E=(0,l.useId)(),[D,O]=(0,l.useState)(null),[k,A]=(0,l.useState)(null);(0,l.useLayoutEffect)(()=>{if(!S)return;let e=document.activeElement;T.current=e instanceof HTMLElement&&e!==document.body?e:null},[S]);let j=(0,l.useCallback)(e=>(O(e),()=>O(t=>t===e?null:t)),[]),M=(0,l.useCallback)(e=>(A(e),()=>A(t=>t===e?null:t)),[]),N=(0,l.useMemo)(()=>({open:S,setOpen:e=>C(e),size:o,placement:s,mobileLayout:c,scrollBehavior:d,role:f,closeOnOverlayPress:p??f!==`alertdialog`,closeOnEscape:m,showClose:_,closeLabel:x,initialFocusRef:h,finalFocusRef:g,triggerRef:w,returnFocusRef:T,defaultTitleId:`${E}-title`,defaultDescriptionId:`${E}-description`,titleId:D,descriptionId:k,registerTitle:j,registerDescription:M}),[S,C,o,s,c,d,f,p,m,_,x,h,g,E,D,k,j,M]);return(0,u.jsx)(a.ModalContext.Provider,{value:N,children:y})}function f({children:e}){let t=a.useModalContext(`Modal.Trigger`),r=(0,l.isValidElement)(e)?e:null,i=r?.props.ref,o=(0,l.useMemo)(()=>n.mergeRefs(i,t.triggerRef),[i,t.triggerRef]);return r?(0,l.cloneElement)(r,{ref:o,"aria-haspopup":`dialog`,"aria-expanded":t.open,onClick:e=>{r.props.onClick?.(e),e.defaultPrevented||t.setOpen(!0)}}):e}function p({children:e}){let t=a.useModalContext(`Modal.Close`);if(!(0,l.isValidElement)(e))return e;let n=e;return(0,l.cloneElement)(n,{"data-modal-close":``,onClick:e=>{n.props.onClick?.(e),e.defaultPrevented||t.setOpen(!1)}})}function m({className:e,...t}){return(0,u.jsx)(`div`,{...t,className:r.cx(o.default.header,e)})}function h({level:e=2,size:t=`2xl`,id:n,className:s,...c}){let d=a.useModalContext(`Modal.Title`),f=n??d.defaultTitleId,{registerTitle:p}=d;return(0,l.useLayoutEffect)(()=>p(f),[p,f]),(0,u.jsx)(i.Heading,{...c,id:f,level:e,size:t,weight:`black`,className:r.cx(o.default.title,s)})}function g({id:e,className:t,...n}){let s=a.useModalContext(`Modal.Description`),c=e??s.defaultDescriptionId,{registerDescription:d}=s;return(0,l.useLayoutEffect)(()=>d(c),[d,c]),(0,u.jsx)(i.Text,{...n,id:c,tone:`muted`,size:`md`,className:r.cx(o.default.description,t)})}function _({className:e,ref:t,scrollRegionLabel:i,...s}){let d=a.useModalContext(`Modal.Body`),[f,p]=c.useScrollRegion(d.scrollBehavior===`inside`),m=(0,l.useMemo)(()=>n.mergeRefs(t,f),[t,f]),h=p?{tabIndex:0,role:`region`,"aria-label":i,"aria-labelledby":i?void 0:d.titleId??void 0}:{};return(0,u.jsx)(`div`,{...h,...s,ref:m,"data-modal-body":``,className:r.cx(o.default.body,e)})}function v({className:e,...t}){return(0,u.jsx)(`div`,{...t,"data-modal-footer":``,className:r.cx(o.default.footer,e)})}var y=Object.assign(d,{Trigger:f,Content:s.ModalContent,Header:m,Title:h,Description:g,Body:_,Footer:v,Close:p});exports.Modal=y,exports.ModalBody=_,exports.ModalClose=p,exports.ModalContent=s.ModalContent,exports.ModalDescription=g,exports.ModalFooter=v,exports.ModalHeader=m,exports.ModalTitle=h,exports.ModalTrigger=f;
1
+ "use client";const e=require("../../../hooks/useControllableState.cjs.js"),t=require("../../../utils/cx.cjs.js"),n=require("../../primitives/Typography/Typography.cjs.js"),r=require("../../../utils/refs.cjs.js"),i=require("./ModalContent.cjs.js"),a=require("./ModalContext.cjs.js"),o=require("./useScrollRegion.cjs.js"),s=require("./Modal.module.css.cjs.js"),c=require("../../utilities/LocaleProvider/LocaleProvider.cjs.js");let l=require("react"),u=require("react/jsx-runtime");function d({open:t,defaultOpen:n=!1,onOpenChange:r,size:i=`md`,placement:o=`center`,mobileLayout:s=`sheet`,scrollBehavior:d=`inside`,role:f=`dialog`,closeOnOverlayPress:p,closeOnEscape:m=!0,initialFocusRef:h,finalFocusRef:g,showClose:_=!0,closeLabel:v,children:y}){let b=c.useMessages(),x=v??b.modal.close,[S,C]=e.useControllableState({value:t,defaultValue:n,onChange:r}),w=(0,l.useRef)(null),T=(0,l.useRef)(null),E=(0,l.useId)(),[D,O]=(0,l.useState)(null),[k,A]=(0,l.useState)(null);(0,l.useLayoutEffect)(()=>{if(!S)return;let e=document.activeElement;T.current=e instanceof HTMLElement&&e!==document.body?e:null},[S]);let j=(0,l.useCallback)(e=>(O(e),()=>O(t=>t===e?null:t)),[]),M=(0,l.useCallback)(e=>(A(e),()=>A(t=>t===e?null:t)),[]),N=(0,l.useMemo)(()=>({open:S,setOpen:e=>C(e),size:i,placement:o,mobileLayout:s,scrollBehavior:d,role:f,closeOnOverlayPress:p??f!==`alertdialog`,closeOnEscape:m,showClose:_,closeLabel:x,initialFocusRef:h,finalFocusRef:g,triggerRef:w,returnFocusRef:T,defaultTitleId:`${E}-title`,defaultDescriptionId:`${E}-description`,titleId:D,descriptionId:k,registerTitle:j,registerDescription:M}),[S,C,i,o,s,d,f,p,m,_,x,h,g,E,D,k,j,M]);return(0,u.jsx)(a.ModalContext.Provider,{value:N,children:y})}function f({children:e}){let t=a.useModalContext(`Modal.Trigger`),n=(0,l.isValidElement)(e)?e:null,i=n?.props.ref,o=(0,l.useMemo)(()=>r.mergeRefs(i,t.triggerRef),[i,t.triggerRef]);return n?(0,l.cloneElement)(n,{ref:o,"aria-haspopup":`dialog`,"aria-expanded":t.open,onClick:e=>{n.props.onClick?.(e),e.defaultPrevented||t.setOpen(!0)}}):e}function p({children:e}){let t=a.useModalContext(`Modal.Close`);if(!(0,l.isValidElement)(e))return e;let n=e;return(0,l.cloneElement)(n,{"data-modal-close":``,onClick:e=>{n.props.onClick?.(e),e.defaultPrevented||t.setOpen(!1)}})}function m({className:e,...n}){return(0,u.jsx)(`div`,{...n,className:t.cx(s.default.header,e)})}function h({level:e=2,size:r=`2xl`,id:i,className:o,...c}){let d=a.useModalContext(`Modal.Title`),f=i??d.defaultTitleId,{registerTitle:p}=d;return(0,l.useLayoutEffect)(()=>p(f),[p,f]),(0,u.jsx)(n.Heading,{...c,id:f,level:e,size:r,weight:`black`,className:t.cx(s.default.title,o)})}function g({id:e,className:r,...i}){let o=a.useModalContext(`Modal.Description`),c=e??o.defaultDescriptionId,{registerDescription:d}=o;return(0,l.useLayoutEffect)(()=>d(c),[d,c]),(0,u.jsx)(n.Text,{...i,id:c,tone:`muted`,size:`md`,className:t.cx(s.default.description,r)})}function _({className:e,ref:n,scrollRegionLabel:i,...c}){let d=a.useModalContext(`Modal.Body`),[f,p]=o.useScrollRegion(d.scrollBehavior===`inside`),m=(0,l.useMemo)(()=>r.mergeRefs(n,f),[n,f]),h=p?{tabIndex:0,role:`region`,"aria-label":i,"aria-labelledby":i?void 0:d.titleId??void 0}:{};return(0,u.jsx)(`div`,{...h,...c,ref:m,"data-modal-body":``,className:t.cx(s.default.body,e)})}function v({className:e,...n}){return(0,u.jsx)(`div`,{...n,"data-modal-footer":``,className:t.cx(s.default.footer,e)})}var y=Object.assign(d,{Trigger:f,Content:i.ModalContent,Header:m,Title:h,Description:g,Body:_,Footer:v,Close:p});exports.Modal=y,exports.ModalBody=_,exports.ModalClose=p,exports.ModalContent=i.ModalContent,exports.ModalDescription=g,exports.ModalFooter=v,exports.ModalHeader=m,exports.ModalTitle=h,exports.ModalTrigger=f;
@@ -1,20 +1,21 @@
1
+ "use client";
1
2
  import { useControllableState as e } from "../../../hooks/useControllableState.mjs";
2
- import { useMessages as t } from "../../utilities/LocaleProvider/LocaleProvider.mjs";
3
- import { mergeRefs as n } from "../../../utils/refs.mjs";
4
- import { cx as r } from "../../../utils/cx.mjs";
5
- import { Heading as i, Text as a } from "../../primitives/Typography/Typography.mjs";
3
+ import { cx as t } from "../../../utils/cx.mjs";
4
+ import { Heading as n, Text as r } from "../../primitives/Typography/Typography.mjs";
5
+ import { mergeRefs as i } from "../../../utils/refs.mjs";
6
+ import { ModalContent as a } from "./ModalContent.mjs";
6
7
  import { ModalContext as o, useModalContext as s } from "./ModalContext.mjs";
7
- import c from "./Modal.module.css.mjs";
8
- import { ModalContent as l } from "./ModalContent.mjs";
9
- import { useScrollRegion as u } from "./useScrollRegion.mjs";
8
+ import { useScrollRegion as c } from "./useScrollRegion.mjs";
9
+ import l from "./Modal.module.css.mjs";
10
+ import { useMessages as u } from "../../utilities/LocaleProvider/LocaleProvider.mjs";
10
11
  import { cloneElement as d, isValidElement as f, useCallback as p, useId as m, useLayoutEffect as h, useMemo as g, useRef as _, useState as v } from "react";
11
12
  import { jsx as y } from "react/jsx-runtime";
12
- //#region src/components/overlays/Modal/Modal.tsx
13
- function b({ open: n, defaultOpen: r = !1, onOpenChange: i, size: a = "md", placement: s = "center", mobileLayout: c = "sheet", scrollBehavior: l = "inside", role: u = "dialog", closeOnOverlayPress: d, closeOnEscape: f = !0, initialFocusRef: b, finalFocusRef: x, showClose: S = !0, closeLabel: C, children: w }) {
14
- let T = t(), E = C ?? T.modal.close, [D, O] = e({
15
- value: n,
16
- defaultValue: r,
17
- onChange: i
13
+ // src/components/overlays/Modal/Modal.tsx
14
+ function b({ open: t, defaultOpen: n = !1, onOpenChange: r, size: i = "md", placement: a = "center", mobileLayout: s = "sheet", scrollBehavior: c = "inside", role: l = "dialog", closeOnOverlayPress: d, closeOnEscape: f = !0, initialFocusRef: b, finalFocusRef: x, showClose: S = !0, closeLabel: C, children: w }) {
15
+ let T = u(), E = C ?? T.modal.close, [D, O] = e({
16
+ value: t,
17
+ defaultValue: n,
18
+ onChange: r
18
19
  }), k = _(null), A = _(null), j = m(), [M, N] = v(null), [P, F] = v(null);
19
20
  h(() => {
20
21
  if (!D) return;
@@ -24,12 +25,12 @@ function b({ open: n, defaultOpen: r = !1, onOpenChange: i, size: a = "md", plac
24
25
  let I = p((e) => (N(e), () => N((t) => t === e ? null : t)), []), L = p((e) => (F(e), () => F((t) => t === e ? null : t)), []), R = g(() => ({
25
26
  open: D,
26
27
  setOpen: (e) => O(e),
27
- size: a,
28
- placement: s,
29
- mobileLayout: c,
30
- scrollBehavior: l,
31
- role: u,
32
- closeOnOverlayPress: d ?? u !== "alertdialog",
28
+ size: i,
29
+ placement: a,
30
+ mobileLayout: s,
31
+ scrollBehavior: c,
32
+ role: l,
33
+ closeOnOverlayPress: d ?? l !== "alertdialog",
33
34
  closeOnEscape: f,
34
35
  showClose: S,
35
36
  closeLabel: E,
@@ -46,11 +47,11 @@ function b({ open: n, defaultOpen: r = !1, onOpenChange: i, size: a = "md", plac
46
47
  }), [
47
48
  D,
48
49
  O,
50
+ i,
49
51
  a,
50
52
  s,
51
53
  c,
52
54
  l,
53
- u,
54
55
  d,
55
56
  f,
56
57
  S,
@@ -69,13 +70,13 @@ function b({ open: n, defaultOpen: r = !1, onOpenChange: i, size: a = "md", plac
69
70
  });
70
71
  }
71
72
  function x({ children: e }) {
72
- let t = s("Modal.Trigger"), r = f(e) ? e : null, i = r?.props.ref, a = g(() => n(i, t.triggerRef), [i, t.triggerRef]);
73
- return r ? d(r, {
73
+ let t = s("Modal.Trigger"), n = f(e) ? e : null, r = n?.props.ref, a = g(() => i(r, t.triggerRef), [r, t.triggerRef]);
74
+ return n ? d(n, {
74
75
  ref: a,
75
76
  "aria-haspopup": "dialog",
76
77
  "aria-expanded": t.open,
77
78
  onClick: (e) => {
78
- r.props.onClick?.(e), e.defaultPrevented || t.setOpen(!0);
79
+ n.props.onClick?.(e), e.defaultPrevented || t.setOpen(!0);
79
80
  }
80
81
  }) : e;
81
82
  }
@@ -90,58 +91,58 @@ function S({ children: e }) {
90
91
  }
91
92
  });
92
93
  }
93
- function C({ className: e, ...t }) {
94
+ function C({ className: e, ...n }) {
94
95
  return /* @__PURE__ */ y("div", {
95
- ...t,
96
- className: r(c.header, e)
96
+ ...n,
97
+ className: t(l.header, e)
97
98
  });
98
99
  }
99
- function w({ level: e = 2, size: t = "2xl", id: n, className: a, ...o }) {
100
- let l = s("Modal.Title"), u = n ?? l.defaultTitleId, { registerTitle: d } = l;
101
- return h(() => d(u), [d, u]), /* @__PURE__ */ y(i, {
100
+ function w({ level: e = 2, size: r = "2xl", id: i, className: a, ...o }) {
101
+ let c = s("Modal.Title"), u = i ?? c.defaultTitleId, { registerTitle: d } = c;
102
+ return h(() => d(u), [d, u]), /* @__PURE__ */ y(n, {
102
103
  ...o,
103
104
  id: u,
104
105
  level: e,
105
- size: t,
106
+ size: r,
106
107
  weight: "black",
107
- className: r(c.title, a)
108
+ className: t(l.title, a)
108
109
  });
109
110
  }
110
- function T({ id: e, className: t, ...n }) {
111
- let i = s("Modal.Description"), o = e ?? i.defaultDescriptionId, { registerDescription: l } = i;
112
- return h(() => l(o), [l, o]), /* @__PURE__ */ y(a, {
113
- ...n,
111
+ function T({ id: e, className: n, ...i }) {
112
+ let a = s("Modal.Description"), o = e ?? a.defaultDescriptionId, { registerDescription: c } = a;
113
+ return h(() => c(o), [c, o]), /* @__PURE__ */ y(r, {
114
+ ...i,
114
115
  id: o,
115
116
  tone: "muted",
116
117
  size: "md",
117
- className: r(c.description, t)
118
+ className: t(l.description, n)
118
119
  });
119
120
  }
120
- function E({ className: e, ref: t, scrollRegionLabel: i, ...a }) {
121
- let o = s("Modal.Body"), [l, d] = u(o.scrollBehavior === "inside"), f = g(() => n(t, l), [t, l]), p = d ? {
121
+ function E({ className: e, ref: n, scrollRegionLabel: r, ...a }) {
122
+ let o = s("Modal.Body"), [u, d] = c(o.scrollBehavior === "inside"), f = g(() => i(n, u), [n, u]), p = d ? {
122
123
  tabIndex: 0,
123
124
  role: "region",
124
- "aria-label": i,
125
- "aria-labelledby": i ? void 0 : o.titleId ?? void 0
125
+ "aria-label": r,
126
+ "aria-labelledby": r ? void 0 : o.titleId ?? void 0
126
127
  } : {};
127
128
  return /* @__PURE__ */ y("div", {
128
129
  ...p,
129
130
  ...a,
130
131
  ref: f,
131
132
  "data-modal-body": "",
132
- className: r(c.body, e)
133
+ className: t(l.body, e)
133
134
  });
134
135
  }
135
- function D({ className: e, ...t }) {
136
+ function D({ className: e, ...n }) {
136
137
  return /* @__PURE__ */ y("div", {
137
- ...t,
138
+ ...n,
138
139
  "data-modal-footer": "",
139
- className: r(c.footer, e)
140
+ className: t(l.footer, e)
140
141
  });
141
142
  }
142
143
  var O = Object.assign(b, {
143
144
  Trigger: x,
144
- Content: l,
145
+ Content: a,
145
146
  Header: C,
146
147
  Title: w,
147
148
  Description: T,
@@ -149,5 +150,4 @@ var O = Object.assign(b, {
149
150
  Footer: D,
150
151
  Close: S
151
152
  });
152
- //#endregion
153
- export { O as Modal, E as ModalBody, S as ModalClose, l as ModalContent, T as ModalDescription, D as ModalFooter, C as ModalHeader, w as ModalTitle, x as ModalTrigger };
153
+ export { O as Modal, E as ModalBody, S as ModalClose, a as ModalContent, T as ModalDescription, D as ModalFooter, C as ModalHeader, w as ModalTitle, x as ModalTrigger };
@@ -1,4 +1,4 @@
1
- //#region src/components/overlays/Modal/Modal.module.css
1
+ // src/components/overlays/Modal/Modal.module.css
2
2
  var e = "_root_8lyks_39", t = "_overlay_8lyks_55", n = "_overlayIn_8lyks_1", r = "_overlayOut_8lyks_1", i = "_positioner_8lyks_97", a = "_scrollInside_8lyks_121", o = "_scrollOutside_8lyks_129", s = "_positionerFull_8lyks_137", c = "_placementCenter_8lyks_147", l = "_placementTop_8lyks_149", u = "_content_8lyks_161", d = "_contentInSheet_8lyks_1", f = "_contentOutSheet_8lyks_1", p = "_sizeSm_8lyks_233", m = "_sizeMd_8lyks_235", h = "_sizeLg_8lyks_237", g = "_sizeXl_8lyks_239", _ = "_sizeFull_8lyks_247", v = "_inner_8lyks_269", y = "_closeButton_8lyks_287", b = "_header_8lyks_305", x = "_hasClose_8lyks_319", S = "_title_8lyks_327", C = "_description_8lyks_343", w = "_body_8lyks_355", T = "_footer_8lyks_421", E = "_confirmIcon_8lyks_449", D = "_confirmIconDanger_8lyks_473", O = "_contentIn_8lyks_1", k = "_contentOut_8lyks_1", A = "_mobileCard_8lyks_627", j = {
3
3
  root: e,
4
4
  overlay: t,
@@ -32,5 +32,4 @@ var e = "_root_8lyks_39", t = "_overlay_8lyks_55", n = "_overlayIn_8lyks_1", r =
32
32
  contentOut: k,
33
33
  mobileCard: A
34
34
  };
35
- //#endregion
36
35
  export { w as body, y as closeButton, E as confirmIcon, D as confirmIconDanger, u as content, O as contentIn, d as contentInSheet, k as contentOut, f as contentOutSheet, j as default, C as description, T as footer, x as hasClose, b as header, v as inner, A as mobileCard, t as overlay, n as overlayIn, r as overlayOut, c as placementCenter, l as placementTop, i as positioner, s as positionerFull, e as root, a as scrollInside, o as scrollOutside, _ as sizeFull, h as sizeLg, m as sizeMd, p as sizeSm, g as sizeXl, S as title };
@@ -1 +1 @@
1
- const e=require("../../../hooks/useOverlayLayer.cjs.js"),t=require("../../../hooks/useDismiss.cjs.js"),n=require("../../../hooks/useFocusTrap.cjs.js"),r=require("../../../hooks/useInertOutside.cjs.js"),i=require("../../../hooks/useScrollLock.cjs.js"),a=require("../../../utils/refs.cjs.js"),o=require("../../../utils/cx.cjs.js"),s=require("../../utilities/Portal/Portal.cjs.js"),c=require("../../primitives/Button/Button.cjs.js"),l=require("../../primitives/Icon/icons.cjs.js"),u=require("./ModalContext.cjs.js"),d=require("./Modal.module.css.cjs.js");let f=require("react"),p=require("react/jsx-runtime");var m={sm:d.default.sizeSm,md:d.default.sizeMd,lg:d.default.sizeLg,xl:d.default.sizeXl,full:d.default.sizeFull},h={center:d.default.placementCenter,top:d.default.placementTop},g={inside:d.default.scrollInside,outside:d.default.scrollOutside},_=globalThis.process?.env?.NODE_ENV!==`production`;function v(e){return Math.max(0,...e.split(`,`).map(e=>{let t=parseFloat(e);return Number.isNaN(t)?0:e.trim().endsWith(`ms`)?t:t*1e3}))}var y=({overlayClassName:y,className:b,children:x,ref:S,onFocus:C,"aria-labelledby":w,"aria-describedby":T,...E})=>{let D=u.useModalContext(`Modal.Content`),{open:O,setOpen:k}=D,[A,j]=(0,f.useState)(O);O&&!A&&j(!0);let[M,N]=(0,f.useState)(null),[P,F]=(0,f.useState)(null),I=(0,f.useRef)(null),L=(0,f.useMemo)(()=>a.mergeRefs(S,I,F),[S]),R=(0,f.useRef)(D);R.current=D;let z=(0,f.useRef)(null),B=(0,f.useRef)(null),V=e.useOverlayLayer({active:O&&M!==null,modal:!0,elements:()=>[M]});(0,f.useLayoutEffect)(()=>{if(!O||!M)return;let e=i.lockScroll(),t=r.inertOutsideLayer(V.id,M);return()=>{t(),e(),z.current=null;let{finalFocusRef:n,returnFocusRef:r,triggerRef:i}=R.current;[n?.current,r.current,i.current].find(e=>!!e&&e.isConnected&&!e.closest(`[inert]`))?.focus()}},[O,M,V.id]);let H=O&&!V.hasModalAbove&&P!==null;(0,f.useLayoutEffect)(()=>{let e=I.current;if(!H||!e)return;let{initialFocusRef:t,role:r}=R.current,i=e.querySelector(`[data-modal-footer]`),a=e.querySelector(`[data-modal-body]`),o=z.current;B.current=(o&&e.contains(o)?o:null)??t?.current??(r===`alertdialog`&&i?i.querySelector(`[data-modal-close]`)??n.getFocusable(i)[0]:null)??(a?n.getFocusable(a)[0]:null)??e},[H]),n.useFocusTrap(P,{active:O&&P!==null,initialFocusRef:B,restoreFocus:!1,layer:V}),t.useDismiss([I],{active:O,onDismiss:()=>k(!1),escapeKey:D.closeOnEscape,outsidePress:!1,layer:V}),(0,f.useEffect)(()=>{if(O||!A)return;let e=I.current,t=e?v(window.getComputedStyle(e).animationDuration):0;if(!e||t===0){j(!1);return}let n=()=>j(!1),r=t=>{t.target===e&&n()};e.addEventListener(`animationend`,r);let i=window.setTimeout(n,t+50);return()=>{e.removeEventListener(`animationend`,r),window.clearTimeout(i)}},[O,A]);let U=E[`aria-label`];(0,f.useEffect)(()=>{_&&O&&P&&!D.titleId&&!w&&!U&&console.warn(`[Modal] Add a <Modal.Title> (or pass aria-label / aria-labelledby to <Modal.Content>) so the dialog has an accessible name.`)},[O,P,D.titleId,w,U]);let W=(0,f.useRef)(!1),G=e=>{W.current=e.target===e.currentTarget&&V.getIsTopmost()},K=e=>{let t=W.current;W.current=!1,t&&e.target===e.currentTarget&&D.closeOnOverlayPress&&O&&k(!1)},q=e=>{C?.(e),e.target instanceof HTMLElement&&e.currentTarget.contains(e.target)&&(z.current=e.target)};if(!O&&!A)return null;let J=w??D.titleId??void 0,Y=[T,D.descriptionId].filter(Boolean).join(` `)||void 0,X=O?`open`:`closed`;return(0,p.jsx)(s.Portal,{children:(0,p.jsx)(e.OverlayLayerProvider,{layer:V,children:(0,p.jsxs)(`div`,{ref:N,className:d.default.root,"data-state":X,inert:!O,children:[(0,p.jsx)(`div`,{className:o.cx(d.default.overlay,y),"data-state":X,"aria-hidden":`true`}),(0,p.jsx)(`div`,{className:o.cx(d.default.positioner,h[D.placement],g[D.scrollBehavior],D.size===`full`&&d.default.positionerFull,D.mobileLayout===`card`&&D.size!==`full`&&d.default.mobileCard),onPointerDown:G,onClick:K,children:(0,p.jsxs)(`div`,{role:D.role,"aria-modal":`true`,"aria-labelledby":J,"aria-describedby":Y,tabIndex:-1,...E,ref:L,onFocus:q,className:o.cx(d.default.content,m[D.size],g[D.scrollBehavior],D.showClose&&d.default.hasClose,b),"data-state":X,"data-size":D.size,children:[D.showClose&&(0,p.jsx)(c.IconButton,{"aria-label":D.closeLabel,variant:`ghost`,tone:`neutral`,size:`md`,className:d.default.closeButton,onClick:()=>k(!1),children:(0,p.jsx)(l.CloseIcon,{})}),(0,p.jsx)(`div`,{className:d.default.inner,children:x})]})})]})})})};exports.ModalContent=y;
1
+ "use client";const e=require("../../../hooks/useOverlayLayer.cjs.js"),t=require("../../../hooks/useFocusTrap.cjs.js"),n=require("../../../hooks/useInertOutside.cjs.js"),r=require("../../../hooks/useScrollLock.cjs.js"),i=require("../../../hooks/useDismiss.cjs.js"),a=require("../../../utils/cx.cjs.js"),o=require("../../primitives/Button/Button.cjs.js"),s=require("../../primitives/Icon/icons.cjs.js"),c=require("../../utilities/Portal/Portal.cjs.js"),l=require("../../../utils/refs.cjs.js"),u=require("./ModalContext.cjs.js"),d=require("./Modal.module.css.cjs.js");let f=require("react"),p=require("react/jsx-runtime");var m={sm:d.default.sizeSm,md:d.default.sizeMd,lg:d.default.sizeLg,xl:d.default.sizeXl,full:d.default.sizeFull},h={center:d.default.placementCenter,top:d.default.placementTop},g={inside:d.default.scrollInside,outside:d.default.scrollOutside},_=globalThis.process?.env?.NODE_ENV!==`production`;function v(e){return Math.max(0,...e.split(`,`).map(e=>{let t=parseFloat(e);return Number.isNaN(t)?0:e.trim().endsWith(`ms`)?t:t*1e3}))}var y=({overlayClassName:y,className:b,children:x,ref:S,onFocus:C,"aria-labelledby":w,"aria-describedby":T,...E})=>{let D=u.useModalContext(`Modal.Content`),{open:O,setOpen:k}=D,[A,j]=(0,f.useState)(O);O&&!A&&j(!0);let[M,N]=(0,f.useState)(null),[P,F]=(0,f.useState)(null),I=(0,f.useRef)(null),L=(0,f.useMemo)(()=>l.mergeRefs(S,I,F),[S]),R=(0,f.useRef)(D);R.current=D;let z=(0,f.useRef)(null),B=(0,f.useRef)(null),V=e.useOverlayLayer({active:O&&M!==null,modal:!0,elements:()=>[M]});(0,f.useLayoutEffect)(()=>{if(!O||!M)return;let e=r.lockScroll(),t=n.inertOutsideLayer(V.id,M);return()=>{t(),e(),z.current=null;let{finalFocusRef:n,returnFocusRef:r,triggerRef:i}=R.current;[n?.current,r.current,i.current].find(e=>!!e&&e.isConnected&&!e.closest(`[inert]`))?.focus()}},[O,M,V.id]);let H=O&&!V.hasModalAbove&&P!==null;(0,f.useLayoutEffect)(()=>{let e=I.current;if(!H||!e)return;let{initialFocusRef:n,role:r}=R.current,i=e.querySelector(`[data-modal-footer]`),a=e.querySelector(`[data-modal-body]`),o=z.current;B.current=(o&&e.contains(o)?o:null)??n?.current??(r===`alertdialog`&&i?i.querySelector(`[data-modal-close]`)??t.getFocusable(i)[0]:null)??(a?t.getFocusable(a)[0]:null)??e},[H]),t.useFocusTrap(P,{active:O&&P!==null,initialFocusRef:B,restoreFocus:!1,layer:V}),i.useDismiss([I],{active:O,onDismiss:()=>k(!1),escapeKey:D.closeOnEscape,outsidePress:!1,layer:V}),(0,f.useEffect)(()=>{if(O||!A)return;let e=I.current,t=e?v(window.getComputedStyle(e).animationDuration):0;if(!e||t===0){j(!1);return}let n=()=>j(!1),r=t=>{t.target===e&&n()};e.addEventListener(`animationend`,r);let i=window.setTimeout(n,t+50);return()=>{e.removeEventListener(`animationend`,r),window.clearTimeout(i)}},[O,A]);let U=E[`aria-label`];(0,f.useEffect)(()=>{_&&O&&P&&(D.titleId||w||U||console.warn(`[Modal] Add a <Modal.Title> (or pass aria-label / aria-labelledby to <Modal.Content>) so the dialog has an accessible name.`))},[O,P,D.titleId,w,U]);let W=(0,f.useRef)(!1),G=e=>{W.current=e.target===e.currentTarget&&V.getIsTopmost()},K=e=>{let t=W.current;W.current=!1,t&&e.target===e.currentTarget&&D.closeOnOverlayPress&&O&&k(!1)},q=e=>{C?.(e),e.target instanceof HTMLElement&&e.currentTarget.contains(e.target)&&(z.current=e.target)};if(!O&&!A)return null;let J=w??D.titleId??void 0,Y=[T,D.descriptionId].filter(Boolean).join(` `)||void 0,X=O?`open`:`closed`;return(0,p.jsx)(c.Portal,{children:(0,p.jsx)(e.OverlayLayerProvider,{layer:V,children:(0,p.jsxs)(`div`,{ref:N,className:d.default.root,"data-state":X,inert:!O,children:[(0,p.jsx)(`div`,{className:a.cx(d.default.overlay,y),"data-state":X,"aria-hidden":`true`}),(0,p.jsx)(`div`,{className:a.cx(d.default.positioner,h[D.placement],g[D.scrollBehavior],D.size===`full`&&d.default.positionerFull,D.mobileLayout===`card`&&D.size!==`full`&&d.default.mobileCard),onPointerDown:G,onClick:K,children:(0,p.jsxs)(`div`,{role:D.role,"aria-modal":`true`,"aria-labelledby":J,"aria-describedby":Y,tabIndex:-1,...E,ref:L,onFocus:q,className:a.cx(d.default.content,m[D.size],g[D.scrollBehavior],D.showClose&&d.default.hasClose,b),"data-state":X,"data-size":D.size,children:[D.showClose&&(0,p.jsx)(o.IconButton,{"aria-label":D.closeLabel,variant:`ghost`,tone:`neutral`,size:`md`,className:d.default.closeButton,onClick:()=>k(!1),children:(0,p.jsx)(s.CloseIcon,{})}),(0,p.jsx)(`div`,{className:d.default.inner,children:x})]})})]})})})};exports.ModalContent=y;
@@ -1,18 +1,19 @@
1
+ "use client";
1
2
  import { OverlayLayerProvider as e, useOverlayLayer as t } from "../../../hooks/useOverlayLayer.mjs";
2
- import { useDismiss as n } from "../../../hooks/useDismiss.mjs";
3
- import { getFocusable as r, useFocusTrap as i } from "../../../hooks/useFocusTrap.mjs";
4
- import { inertOutsideLayer as a } from "../../../hooks/useInertOutside.mjs";
5
- import { lockScroll as o } from "../../../hooks/useScrollLock.mjs";
6
- import { mergeRefs as s } from "../../../utils/refs.mjs";
7
- import { cx as c } from "../../../utils/cx.mjs";
8
- import { Portal as l } from "../../utilities/Portal/Portal.mjs";
9
- import { IconButton as u } from "../../primitives/Button/Button.mjs";
10
- import { CloseIcon as d } from "../../primitives/Icon/icons.mjs";
3
+ import { getFocusable as n, useFocusTrap as r } from "../../../hooks/useFocusTrap.mjs";
4
+ import { inertOutsideLayer as i } from "../../../hooks/useInertOutside.mjs";
5
+ import { lockScroll as a } from "../../../hooks/useScrollLock.mjs";
6
+ import { useDismiss as o } from "../../../hooks/useDismiss.mjs";
7
+ import { cx as s } from "../../../utils/cx.mjs";
8
+ import { IconButton as c } from "../../primitives/Button/Button.mjs";
9
+ import { CloseIcon as l } from "../../primitives/Icon/icons.mjs";
10
+ import { Portal as u } from "../../utilities/Portal/Portal.mjs";
11
+ import { mergeRefs as d } from "../../../utils/refs.mjs";
11
12
  import { useModalContext as f } from "./ModalContext.mjs";
12
13
  import p from "./Modal.module.css.mjs";
13
14
  import { useEffect as m, useLayoutEffect as h, useMemo as g, useRef as _, useState as v } from "react";
14
15
  import { jsx as y, jsxs as b } from "react/jsx-runtime";
15
- //#region src/components/overlays/Modal/ModalContent.tsx
16
+ // src/components/overlays/Modal/ModalContent.tsx
16
17
  var x = {
17
18
  sm: p.sizeSm,
18
19
  md: p.sizeMd,
@@ -35,7 +36,7 @@ function T(e) {
35
36
  var E = ({ overlayClassName: E, className: D, children: O, ref: k, onFocus: A, "aria-labelledby": j, "aria-describedby": M, ...N }) => {
36
37
  let P = f("Modal.Content"), { open: F, setOpen: I } = P, [L, R] = v(F);
37
38
  F && !L && R(!0);
38
- let [z, B] = v(null), [V, H] = v(null), U = _(null), W = g(() => s(k, U, H), [k]), G = _(P);
39
+ let [z, B] = v(null), [V, H] = v(null), U = _(null), W = g(() => d(k, U, H), [k]), G = _(P);
39
40
  G.current = P;
40
41
  let K = _(null), q = _(null), J = t({
41
42
  active: F && z !== null,
@@ -44,7 +45,7 @@ var E = ({ overlayClassName: E, className: D, children: O, ref: k, onFocus: A, "
44
45
  });
45
46
  h(() => {
46
47
  if (!F || !z) return;
47
- let e = o(), t = a(J.id, z);
48
+ let e = a(), t = i(J.id, z);
48
49
  return () => {
49
50
  t(), e(), K.current = null;
50
51
  let { finalFocusRef: n, returnFocusRef: r, triggerRef: i } = G.current;
@@ -63,14 +64,14 @@ var E = ({ overlayClassName: E, className: D, children: O, ref: k, onFocus: A, "
63
64
  h(() => {
64
65
  let e = U.current;
65
66
  if (!Y || !e) return;
66
- let { initialFocusRef: t, role: n } = G.current, i = e.querySelector("[data-modal-footer]"), a = e.querySelector("[data-modal-body]"), o = K.current;
67
- q.current = (o && e.contains(o) ? o : null) ?? t?.current ?? (n === "alertdialog" && i ? i.querySelector("[data-modal-close]") ?? r(i)[0] : null) ?? (a ? r(a)[0] : null) ?? e;
68
- }, [Y]), i(V, {
67
+ let { initialFocusRef: t, role: r } = G.current, i = e.querySelector("[data-modal-footer]"), a = e.querySelector("[data-modal-body]"), o = K.current;
68
+ q.current = (o && e.contains(o) ? o : null) ?? t?.current ?? (r === "alertdialog" && i ? i.querySelector("[data-modal-close]") ?? n(i)[0] : null) ?? (a ? n(a)[0] : null) ?? e;
69
+ }, [Y]), r(V, {
69
70
  active: F && V !== null,
70
71
  initialFocusRef: q,
71
72
  restoreFocus: !1,
72
73
  layer: J
73
- }), n([U], {
74
+ }), o([U], {
74
75
  active: F,
75
76
  onDismiss: () => I(!1),
76
77
  escapeKey: P.closeOnEscape,
@@ -94,7 +95,7 @@ var E = ({ overlayClassName: E, className: D, children: O, ref: k, onFocus: A, "
94
95
  }, [F, L]);
95
96
  let X = N["aria-label"];
96
97
  m(() => {
97
- w && F && V && !P.titleId && !j && !X && console.warn("[Modal] Add a <Modal.Title> (or pass aria-label / aria-labelledby to <Modal.Content>) so the dialog has an accessible name.");
98
+ w && F && V && (P.titleId || j || X || console.warn("[Modal] Add a <Modal.Title> (or pass aria-label / aria-labelledby to <Modal.Content>) so the dialog has an accessible name."));
98
99
  }, [
99
100
  F,
100
101
  V,
@@ -112,7 +113,7 @@ var E = ({ overlayClassName: E, className: D, children: O, ref: k, onFocus: A, "
112
113
  };
113
114
  if (!F && !L) return null;
114
115
  let ne = j ?? P.titleId ?? void 0, re = [M, P.descriptionId].filter(Boolean).join(" ") || void 0, $ = F ? "open" : "closed";
115
- return /* @__PURE__ */ y(l, { children: /* @__PURE__ */ y(e, {
116
+ return /* @__PURE__ */ y(u, { children: /* @__PURE__ */ y(e, {
116
117
  layer: J,
117
118
  children: /* @__PURE__ */ b("div", {
118
119
  ref: B,
@@ -120,11 +121,11 @@ var E = ({ overlayClassName: E, className: D, children: O, ref: k, onFocus: A, "
120
121
  "data-state": $,
121
122
  inert: !F,
122
123
  children: [/* @__PURE__ */ y("div", {
123
- className: c(p.overlay, E),
124
+ className: s(p.overlay, E),
124
125
  "data-state": $,
125
126
  "aria-hidden": "true"
126
127
  }), /* @__PURE__ */ y("div", {
127
- className: c(p.positioner, S[P.placement], C[P.scrollBehavior], P.size === "full" && p.positionerFull, P.mobileLayout === "card" && P.size !== "full" && p.mobileCard),
128
+ className: s(p.positioner, S[P.placement], C[P.scrollBehavior], P.size === "full" && p.positionerFull, P.mobileLayout === "card" && P.size !== "full" && p.mobileCard),
128
129
  onPointerDown: Q,
129
130
  onClick: ee,
130
131
  children: /* @__PURE__ */ b("div", {
@@ -136,17 +137,17 @@ var E = ({ overlayClassName: E, className: D, children: O, ref: k, onFocus: A, "
136
137
  ...N,
137
138
  ref: W,
138
139
  onFocus: te,
139
- className: c(p.content, x[P.size], C[P.scrollBehavior], P.showClose && p.hasClose, D),
140
+ className: s(p.content, x[P.size], C[P.scrollBehavior], P.showClose && p.hasClose, D),
140
141
  "data-state": $,
141
142
  "data-size": P.size,
142
- children: [P.showClose && /* @__PURE__ */ y(u, {
143
+ children: [P.showClose && /* @__PURE__ */ y(c, {
143
144
  "aria-label": P.closeLabel,
144
145
  variant: "ghost",
145
146
  tone: "neutral",
146
147
  size: "md",
147
148
  className: p.closeButton,
148
149
  onClick: () => I(!1),
149
- children: /* @__PURE__ */ y(d, {})
150
+ children: /* @__PURE__ */ y(l, {})
150
151
  }), /* @__PURE__ */ y("div", {
151
152
  className: p.inner,
152
153
  children: O
@@ -156,5 +157,4 @@ var E = ({ overlayClassName: E, className: D, children: O, ref: k, onFocus: A, "
156
157
  })
157
158
  }) });
158
159
  };
159
- //#endregion
160
160
  export { E as ModalContent };
@@ -1 +1 @@
1
- let e=require("react");var t=(0,e.createContext)(null);function n(n){let r=(0,e.useContext)(t);if(!r)throw Error(`<${n}> must be used inside <Modal>.`);return r}exports.ModalContext=t,exports.useModalContext=n;
1
+ "use client";let e=require("react");var t=(0,e.createContext)(null);function n(n){let r=(0,e.useContext)(t);if(!r)throw Error(`<${n}> must be used inside <Modal>.`);return r}exports.ModalContext=t,exports.useModalContext=n;
@@ -1,10 +1,10 @@
1
+ "use client";
1
2
  import { createContext as e, useContext as t } from "react";
2
- //#region src/components/overlays/Modal/ModalContext.ts
3
+ // src/components/overlays/Modal/ModalContext.ts
3
4
  var n = e(null);
4
5
  function r(e) {
5
6
  let r = t(n);
6
7
  if (!r) throw Error(`<${e}> must be used inside <Modal>.`);
7
8
  return r;
8
9
  }
9
- //#endregion
10
10
  export { n as ModalContext, r as useModalContext };
@@ -1 +1 @@
1
- let e=require("react");function t(t){let[n,r]=(0,e.useState)(null),[i,a]=(0,e.useState)(!1),o=(0,e.useCallback)(e=>r(e),[]);return(0,e.useEffect)(()=>{if(!t||!n){a(!1);return}let e=()=>a(n.scrollHeight>n.clientHeight+1);if(e(),typeof ResizeObserver>`u`)return;let r=new ResizeObserver(e),i=()=>{r.disconnect(),r.observe(n),Array.from(n.children).forEach(e=>r.observe(e))};i();let o=new MutationObserver(()=>{i(),e()});return o.observe(n,{childList:!0}),()=>{r.disconnect(),o.disconnect()}},[t,n]),[o,i]}exports.useScrollRegion=t;
1
+ "use client";let e=require("react");function t(t){let[n,r]=(0,e.useState)(null),[i,a]=(0,e.useState)(!1),o=(0,e.useCallback)(e=>r(e),[]);return(0,e.useEffect)(()=>{if(!t||!n){a(!1);return}let e=()=>a(n.scrollHeight>n.clientHeight+1);if(e(),typeof ResizeObserver>`u`)return;let r=new ResizeObserver(e),i=()=>{r.disconnect(),r.observe(n),Array.from(n.children).forEach(e=>r.observe(e))};i();let o=new MutationObserver(()=>{i(),e()});return o.observe(n,{childList:!0}),()=>{r.disconnect(),o.disconnect()}},[t,n]),[o,i]}exports.useScrollRegion=t;
@@ -1,5 +1,6 @@
1
+ "use client";
1
2
  import { useCallback as e, useEffect as t, useState as n } from "react";
2
- //#region src/components/overlays/Modal/useScrollRegion.ts
3
+ // src/components/overlays/Modal/useScrollRegion.ts
3
4
  function r(r) {
4
5
  let [i, a] = n(null), [o, s] = n(!1), c = e((e) => a(e), []);
5
6
  return t(() => {
@@ -21,5 +22,4 @@ function r(r) {
21
22
  };
22
23
  }, [r, i]), [c, o];
23
24
  }
24
- //#endregion
25
25
  export { r as useScrollRegion };
@@ -1 +1 @@
1
- const e=require("../../../hooks/useControllableState.cjs.js"),t=require("../../utilities/LocaleProvider/LocaleProvider.cjs.js"),n=require("../../../utils/refs.cjs.js"),r=require("../../../hooks/useMergedRef.cjs.js"),i=require("../../../utils/cx.cjs.js"),a=require("../../../utils/slot.cjs.js"),o=require("../../primitives/Button/Button.cjs.js"),s=require("./PopoverContext.cjs.js"),c=require("./Popover.module.css.cjs.js"),l=require("./PopoverContent.cjs.js");let u=require("react"),d=require("react/jsx-runtime");var f=({children:t,open:n,defaultOpen:r=!1,onOpenChange:i,placement:a=`bottom`,offset:o,modal:c=!1,closeOnOutsidePress:l=!0,closeOnEscape:f=!0,closeOnFocusOut:p=!0,closeOnAnchorFocus:m=!1})=>{let[h,g]=e.useControllableState({value:n,defaultValue:r,onChange:i}),_=(0,u.useRef)(null),v=(0,u.useRef)(null),y=(0,u.useRef)(null),b=(0,u.useRef)(null),x=(0,u.useRef)(`auto`),[S,C]=(0,u.useState)(!1),[w,T]=(0,u.useState)(!1),E=(0,u.useId)(),D=(0,u.useCallback)((e,t=`auto`)=>{e||(x.current=t),g(e)},[g]);(0,u.useLayoutEffect)(()=>{if(h){x.current=`auto`;let e=document.activeElement;b.current=e instanceof HTMLElement&&e!==document.body?e:null}},[h]),(0,u.useEffect)(()=>{let e=v.current;if(!h||!m||!e)return;let t=e=>{let t=e.target;t&&!_.current?.contains(t)&&D(!1,`none`)};return e.addEventListener(`focusin`,t),()=>e.removeEventListener(`focusin`,t)},[h,m,D]);let O=(0,u.useMemo)(()=>({open:h,setOpen:D,placement:a,offset:o,modal:c,closeOnOutsidePress:l,closeOnEscape:f,closeOnFocusOut:p,triggerRef:_,anchorRef:v,contentRef:y,returnFocusRef:b,restoreModeRef:x,contentId:`${E}-content`,titleId:`${E}-title`,descriptionId:`${E}-description`,hasTitle:S,hasDescription:w,setHasTitle:C,setHasDescription:T}),[h,D,a,o,c,l,f,p,E,S,w]);return(0,d.jsx)(s.PopoverContext.Provider,{value:O,children:t})};function p(e){let{variant:t,tone:n,size:r,radius:i,startIcon:a,endIcon:o,fullWidth:s,...c}=e;return c}var m=({children:e,asChild:t,onClick:i,ref:c,...l})=>{let u=s.usePopoverContext(`Popover.Trigger`),f=t??n.isSingleElement(e),m=f&&n.isSingleElement(e)?n.getChildRef(e):void 0,h=r.useMergedRef(u.triggerRef,c,m),g=e=>{i?.(e),!e.defaultPrevented&&u.setOpen(!u.open,`force`)},_={"aria-haspopup":`dialog`,"aria-expanded":u.open,"aria-controls":u.open?u.contentId:void 0,"data-state":u.open?`open`:`closed`};return f&&n.isSingleElement(e)?a.cloneSlot(e,{...p(l),..._,onClick:g},h):(0,d.jsx)(o.Button,{...l,..._,ref:h,onClick:g,children:e})},h=({children:e,asChild:t,ref:i,...o})=>{let c=s.usePopoverContext(`Popover.Anchor`),l=t??n.isSingleElement(e),u=l&&n.isSingleElement(e)?n.getChildRef(e):void 0,f=r.useMergedRef(c.anchorRef,i,u);return l&&n.isSingleElement(e)?a.cloneSlot(e,o,f):(0,d.jsx)(`div`,{...o,ref:f,children:e})},g=({level:e=2,className:t,id:n,...r})=>{let a=s.usePopoverContext(`Popover.Title`),{setHasTitle:o}=a;(0,u.useLayoutEffect)(()=>(o(!0),()=>o(!1)),[o]);let l=`h${e}`;return(0,d.jsx)(l,{...r,id:n??a.titleId,className:i.cx(c.default.title,t)})},_=({className:e,id:t,...n})=>{let r=s.usePopoverContext(`Popover.Description`),{setHasDescription:a}=r;return(0,u.useLayoutEffect)(()=>(a(!0),()=>a(!1)),[a]),(0,d.jsx)(`p`,{...n,id:t??r.descriptionId,className:i.cx(c.default.description,e)})},v=({children:e,asChild:i,onClick:c,ref:l,variant:u=`ghost`,...f})=>{let m=t.useMessages(),h=e??m.popover.close,g=s.usePopoverContext(`Popover.Close`),_=i??n.isSingleElement(h),v=_&&n.isSingleElement(h)?n.getChildRef(h):void 0,y=r.useMergedRef(l,v),b=e=>{c?.(e),e.defaultPrevented||g.setOpen(!1,`force`)};return _&&n.isSingleElement(h)?a.cloneSlot(h,{...p(f),onClick:b},y):(0,d.jsx)(o.Button,{...f,variant:u,ref:y,onClick:b,children:h})},y=Object.assign(f,{Trigger:m,Anchor:h,Content:l.PopoverContent,Title:g,Description:_,Close:v});exports.Popover=y,exports.PopoverAnchor=h,exports.PopoverClose=v,exports.PopoverContent=l.PopoverContent,exports.PopoverDescription=_,exports.PopoverTitle=g,exports.PopoverTrigger=m;
1
+ "use client";const e=require("../../../hooks/useControllableState.cjs.js"),t=require("../../../utils/cx.cjs.js"),n=require("../../primitives/Button/Button.cjs.js"),r=require("../../../hooks/useMergedRef.cjs.js"),i=require("../../../utils/refs.cjs.js"),a=require("../../../utils/slot.cjs.js"),o=require("./PopoverContext.cjs.js"),s=require("./PopoverContent.cjs.js"),c=require("./Popover.module.css.cjs.js"),l=require("../../utilities/LocaleProvider/LocaleProvider.cjs.js");let u=require("react"),d=require("react/jsx-runtime");var f=({children:t,open:n,defaultOpen:r=!1,onOpenChange:i,placement:a=`bottom`,offset:s,modal:c=!1,closeOnOutsidePress:l=!0,closeOnEscape:f=!0,closeOnFocusOut:p=!0,closeOnAnchorFocus:m=!1})=>{let[h,g]=e.useControllableState({value:n,defaultValue:r,onChange:i}),_=(0,u.useRef)(null),v=(0,u.useRef)(null),y=(0,u.useRef)(null),b=(0,u.useRef)(null),x=(0,u.useRef)(`auto`),[S,C]=(0,u.useState)(!1),[w,T]=(0,u.useState)(!1),E=(0,u.useId)(),D=(0,u.useCallback)((e,t=`auto`)=>{e||(x.current=t),g(e)},[g]);(0,u.useLayoutEffect)(()=>{if(h){x.current=`auto`;let e=document.activeElement;b.current=e instanceof HTMLElement&&e!==document.body?e:null}},[h]),(0,u.useEffect)(()=>{let e=v.current;if(!h||!m||!e)return;let t=e=>{let t=e.target;t&&!_.current?.contains(t)&&D(!1,`none`)};return e.addEventListener(`focusin`,t),()=>e.removeEventListener(`focusin`,t)},[h,m,D]);let O=(0,u.useMemo)(()=>({open:h,setOpen:D,placement:a,offset:s,modal:c,closeOnOutsidePress:l,closeOnEscape:f,closeOnFocusOut:p,triggerRef:_,anchorRef:v,contentRef:y,returnFocusRef:b,restoreModeRef:x,contentId:`${E}-content`,titleId:`${E}-title`,descriptionId:`${E}-description`,hasTitle:S,hasDescription:w,setHasTitle:C,setHasDescription:T}),[h,D,a,s,c,l,f,p,E,S,w]);return(0,d.jsx)(o.PopoverContext.Provider,{value:O,children:t})};function p(e){let{variant:t,tone:n,size:r,radius:i,startIcon:a,endIcon:o,fullWidth:s,...c}=e;return c}var m=({children:e,asChild:t,onClick:s,ref:c,...l})=>{let u=o.usePopoverContext(`Popover.Trigger`),f=t??i.isSingleElement(e),m=f&&i.isSingleElement(e)?i.getChildRef(e):void 0,h=r.useMergedRef(u.triggerRef,c,m),g=e=>{s?.(e),e.defaultPrevented||u.setOpen(!u.open,`force`)},_={"aria-haspopup":`dialog`,"aria-expanded":u.open,"aria-controls":u.open?u.contentId:void 0,"data-state":u.open?`open`:`closed`};return f&&i.isSingleElement(e)?a.cloneSlot(e,{...p(l),..._,onClick:g},h):(0,d.jsx)(n.Button,{...l,..._,ref:h,onClick:g,children:e})},h=({children:e,asChild:t,ref:n,...s})=>{let c=o.usePopoverContext(`Popover.Anchor`),l=t??i.isSingleElement(e),u=l&&i.isSingleElement(e)?i.getChildRef(e):void 0,f=r.useMergedRef(c.anchorRef,n,u);return l&&i.isSingleElement(e)?a.cloneSlot(e,s,f):(0,d.jsx)(`div`,{...s,ref:f,children:e})},g=({level:e=2,className:n,id:r,...i})=>{let a=o.usePopoverContext(`Popover.Title`),{setHasTitle:s}=a;(0,u.useLayoutEffect)(()=>(s(!0),()=>s(!1)),[s]);let l=`h${e}`;return(0,d.jsx)(l,{...i,id:r??a.titleId,className:t.cx(c.default.title,n)})},_=({className:e,id:n,...r})=>{let i=o.usePopoverContext(`Popover.Description`),{setHasDescription:a}=i;return(0,u.useLayoutEffect)(()=>(a(!0),()=>a(!1)),[a]),(0,d.jsx)(`p`,{...r,id:n??i.descriptionId,className:t.cx(c.default.description,e)})},v=({children:e,asChild:t,onClick:s,ref:c,variant:u=`ghost`,...f})=>{let m=l.useMessages(),h=e??m.popover.close,g=o.usePopoverContext(`Popover.Close`),_=t??i.isSingleElement(h),v=_&&i.isSingleElement(h)?i.getChildRef(h):void 0,y=r.useMergedRef(c,v),b=e=>{s?.(e),e.defaultPrevented||g.setOpen(!1,`force`)};return _&&i.isSingleElement(h)?a.cloneSlot(h,{...p(f),onClick:b},y):(0,d.jsx)(n.Button,{...f,variant:u,ref:y,onClick:b,children:h})},y=Object.assign(f,{Trigger:m,Anchor:h,Content:s.PopoverContent,Title:g,Description:_,Close:v});exports.Popover=y,exports.PopoverAnchor=h,exports.PopoverClose=v,exports.PopoverContent=s.PopoverContent,exports.PopoverDescription=_,exports.PopoverTitle=g,exports.PopoverTrigger=m;