@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,35 +1,36 @@
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 { flattenChildren as r } from "../../../utils/flattenChildren.mjs";
5
- import { VisuallyHidden as i } from "../../utilities/VisuallyHidden/VisuallyHidden.mjs";
6
- import { IconButton as a } from "../../primitives/Button/Button.mjs";
7
- import { ChevronRightIcon as o, MoreHorizontalIcon as s } from "../../primitives/Icon/icons.mjs";
8
- import { Link as c } from "../Link/Link.mjs";
9
- import l from "./Breadcrumbs.module.css.mjs";
3
+ import { cx as t } from "../../../utils/cx.mjs";
4
+ import { flattenChildren as n } from "../../../utils/flattenChildren.mjs";
5
+ import { IconButton as r } from "../../primitives/Button/Button.mjs";
6
+ import { ChevronRightIcon as i, MoreHorizontalIcon as a } from "../../primitives/Icon/icons.mjs";
7
+ import { VisuallyHidden as o } from "../../utilities/VisuallyHidden/VisuallyHidden.mjs";
8
+ import { Link as s } from "../Link/Link.mjs";
9
+ import c from "./Breadcrumbs.module.css.mjs";
10
+ import { useMessages as l } from "../../utilities/LocaleProvider/LocaleProvider.mjs";
10
11
  import { createContext as u, useContext as d, useLayoutEffect as f, useMemo as p, useRef as m } from "react";
11
12
  import { jsx as h, jsxs as g } from "react/jsx-runtime";
12
- //#region src/components/navigation/Breadcrumbs/Breadcrumbs.tsx
13
+ // src/components/navigation/Breadcrumbs/Breadcrumbs.tsx
13
14
  var _ = globalThis.process?.env?.NODE_ENV !== "production", v = u(null), y = u(null), b = {
14
- sm: l.sm,
15
- md: l.md,
16
- lg: l.lg
15
+ sm: c.sm,
16
+ md: c.md,
17
+ lg: c.lg
17
18
  }, x = {
18
19
  sm: "xs",
19
20
  md: "sm",
20
21
  lg: "md"
21
22
  }, S = "a[href], button:not([disabled]), [tabindex]:not([tabindex='-1'])";
22
- function C({ children: i, "aria-label": c, size: u = "md", separator: d, linkAs: _, maxItems: C, itemsBeforeCollapse: w = 1, itemsAfterCollapse: T = 1, expanded: E, defaultExpanded: D = !1, onExpandedChange: O, expandLabel: k, className: A, ...j }) {
23
- let M = t(), N = k ?? M.breadcrumbs.expand, P = c ?? M.breadcrumbs.nav, [F, I] = e({
23
+ function C({ children: o, "aria-label": s, size: u = "md", separator: d, linkAs: _, maxItems: C, itemsBeforeCollapse: w = 1, itemsAfterCollapse: T = 1, expanded: E, defaultExpanded: D = !1, onExpandedChange: O, expandLabel: k, className: A, ...j }) {
24
+ let M = l(), N = k ?? M.breadcrumbs.expand, P = s ?? M.breadcrumbs.nav, [F, I] = e({
24
25
  value: E,
25
26
  defaultValue: D,
26
27
  onChange: O
27
- }), L = m(null), R = m(!1), z = r(i), B = z.length, V = Math.max(0, Math.floor(w)), H = Math.max(1, Math.floor(T)), U = !F && C !== void 0 && B > C && V + H < B, W = U ? B - V - H : 0, G = p(() => ({
28
+ }), L = m(null), R = m(!1), z = n(o), B = z.length, V = Math.max(0, Math.floor(w)), H = Math.max(1, Math.floor(T)), U = !F && C !== void 0 && B > C && V + H < B, W = U ? B - V - H : 0, G = p(() => ({
28
29
  size: u,
29
30
  linkAs: _,
30
- separator: d ?? /* @__PURE__ */ h(o, {
31
+ separator: d ?? /* @__PURE__ */ h(i, {
31
32
  size: x[u],
32
- className: l.chevron
33
+ className: c.chevron
33
34
  })
34
35
  }), [
35
36
  u,
@@ -51,21 +52,21 @@ function C({ children: i, "aria-label": c, size: u = "md", separator: d, linkAs:
51
52
  return z.forEach((e, t) => {
52
53
  let n = U && t >= V && t < B - H;
53
54
  U && t === V && q.push(/* @__PURE__ */ g("li", {
54
- className: l.item,
55
- children: [/* @__PURE__ */ h(a, {
55
+ className: c.item,
56
+ children: [/* @__PURE__ */ h(r, {
56
57
  variant: "ghost",
57
58
  tone: "neutral",
58
59
  size: "sm",
59
60
  "aria-label": N(W),
60
- className: l.expand,
61
+ className: c.expand,
61
62
  onClick: () => {
62
63
  R.current = !0, I(!0), requestAnimationFrame(() => {
63
64
  R.current = !1;
64
65
  });
65
66
  },
66
- children: /* @__PURE__ */ h(s, {})
67
+ children: /* @__PURE__ */ h(a, {})
67
68
  }), /* @__PURE__ */ h("span", {
68
- className: l.separator,
69
+ className: c.separator,
69
70
  "aria-hidden": "true",
70
71
  children: G.separator
71
72
  })]
@@ -73,12 +74,12 @@ function C({ children: i, "aria-label": c, size: u = "md", separator: d, linkAs:
73
74
  }), /* @__PURE__ */ h("nav", {
74
75
  ...j,
75
76
  "aria-label": P,
76
- className: n(l.root, b[u], A),
77
+ className: t(c.root, b[u], A),
77
78
  children: /* @__PURE__ */ h(v.Provider, {
78
79
  value: G,
79
80
  children: /* @__PURE__ */ h("ol", {
80
81
  ref: L,
81
- className: l.list,
82
+ className: c.list,
82
83
  children: q
83
84
  })
84
85
  })
@@ -89,59 +90,58 @@ var w = (e) => {
89
90
  t.dataset.title === void 0 && (t.scrollWidth > t.clientWidth ? t.title = t.textContent ?? "" : t.removeAttribute("title"));
90
91
  };
91
92
  function T(e) {
92
- let { href: t, as: r, linkProps: a, icon: s, current: u, title: f, children: p, className: m, "aria-label": b, ...S } = e, C = d(v), T = d(y)?.isLast ?? !0, E = u ?? T, D = C?.size ?? "md", O = p == null || p === !1 || p === "", k = r ?? C?.linkAs, A = !E && (t !== void 0 || a !== void 0 && k !== void 0);
93
- _ && !E && t === void 0 && a !== void 0 && k === void 0 && console.warn("[Breadcrumbs.Item] `linkProps` without `href` needs a link component (`as` on the item or `linkAs` on Breadcrumbs); rendering plain text.");
93
+ let { href: n, as: r, linkProps: a, icon: l, current: u, title: f, children: p, className: m, "aria-label": b, ...S } = e, C = d(v), T = d(y)?.isLast ?? !0, E = u ?? T, D = C?.size ?? "md", O = p == null || p === !1 || p === "", k = r ?? C?.linkAs, A = !E && (n !== void 0 || a !== void 0 && k !== void 0);
94
+ _ && !E && n === void 0 && a !== void 0 && k === void 0 && console.warn("[Breadcrumbs.Item] `linkProps` without `href` needs a link component (`as` on the item or `linkAs` on Breadcrumbs); rendering plain text.");
94
95
  let j = !A && b !== void 0, M = /* @__PURE__ */ g("span", {
95
- className: l.content,
96
+ className: c.content,
96
97
  children: [
97
- s != null && /* @__PURE__ */ h("span", {
98
- className: l.icon,
98
+ l != null && /* @__PURE__ */ h("span", {
99
+ className: c.icon,
99
100
  "aria-hidden": "true",
100
- children: s
101
+ children: l
101
102
  }),
102
103
  !O && /* @__PURE__ */ h("span", {
103
- className: l.text,
104
+ className: c.text,
104
105
  title: f,
105
106
  "data-title": f === void 0 ? void 0 : "",
106
107
  "aria-hidden": j ? !0 : void 0,
107
108
  onPointerEnter: w,
108
109
  children: p
109
110
  }),
110
- j && /* @__PURE__ */ h(i, { children: b })
111
+ j && /* @__PURE__ */ h(o, { children: b })
111
112
  ]
112
113
  }), N;
113
114
  if (A) {
114
115
  let e = {
115
116
  ...a,
116
- ...t === void 0 ? null : { href: t },
117
+ ...n === void 0 ? null : { href: n },
117
118
  as: k,
118
119
  variant: "subtle",
119
120
  tone: "neutral",
120
121
  size: D,
121
122
  underline: "none",
122
123
  "aria-label": b,
123
- className: n(l.link, O && l.iconOnly),
124
+ className: t(c.link, O && c.iconOnly),
124
125
  children: M
125
126
  };
126
- N = /* @__PURE__ */ h(c, { ...e });
127
+ N = /* @__PURE__ */ h(s, { ...e });
127
128
  } else N = /* @__PURE__ */ h("span", {
128
- className: n(E ? l.current : l.plain, O && l.iconOnly),
129
+ className: t(E ? c.current : c.plain, O && c.iconOnly),
129
130
  "aria-current": E ? "page" : void 0,
130
131
  children: M
131
132
  });
132
133
  return /* @__PURE__ */ g("li", {
133
134
  ...S,
134
- className: n(l.item, m),
135
+ className: t(c.item, m),
135
136
  children: [N, !T && /* @__PURE__ */ h("span", {
136
- className: l.separator,
137
+ className: c.separator,
137
138
  "aria-hidden": "true",
138
- children: C?.separator ?? /* @__PURE__ */ h(o, {
139
+ children: C?.separator ?? /* @__PURE__ */ h(i, {
139
140
  size: x[D],
140
- className: l.chevron
141
+ className: c.chevron
141
142
  })
142
143
  })]
143
144
  });
144
145
  }
145
146
  var E = Object.assign(C, { Item: T });
146
- //#endregion
147
147
  export { T as BreadcrumbItem, E as Breadcrumbs };
@@ -1,4 +1,4 @@
1
- //#region src/components/navigation/Breadcrumbs/Breadcrumbs.module.css
1
+ // src/components/navigation/Breadcrumbs/Breadcrumbs.module.css
2
2
  var e = "_root_8gmpy_21", t = "_sm_8gmpy_53", n = "_md_8gmpy_65", r = "_lg_8gmpy_73", i = "_list_8gmpy_89", a = "_item_8gmpy_109", o = "_content_8gmpy_141", s = "_text_8gmpy_155", c = "_icon_8gmpy_181", l = "_link_8gmpy_209", u = "_iconOnly_8gmpy_237", d = "_current_8gmpy_253", f = "_plain_8gmpy_255", p = "_separator_8gmpy_295", m = "_chevron_8gmpy_313", h = "_expand_8gmpy_325", g = {
3
3
  root: e,
4
4
  sm: t,
@@ -17,5 +17,4 @@ var e = "_root_8gmpy_21", t = "_sm_8gmpy_53", n = "_md_8gmpy_65", r = "_lg_8gmpy
17
17
  chevron: m,
18
18
  expand: h
19
19
  };
20
- //#endregion
21
20
  export { m as chevron, o as content, d as current, g as default, h as expand, c as icon, u as iconOnly, a as item, r as lg, l as link, i as list, n as md, f as plain, e as root, p as separator, t as sm, s as text };
@@ -1 +1 @@
1
- const e=require("../../utilities/LocaleProvider/LocaleProvider.cjs.js"),t=require("../../../utils/refs.cjs.js"),n=require("../../../hooks/useMergedRef.cjs.js"),r=require("../../../utils/cx.cjs.js"),i=require("../../../utils/slot.cjs.js"),a=require("../../utilities/Portal/Portal.cjs.js"),o=require("../Menu/MenuContext.cjs.js"),s=require("../Menu/MenuContent.cjs.js"),c=require("../Menu/useMenuRoot.cjs.js"),l=require("../Menu/MenuItem.cjs.js"),u=require("../Menu/MenuSub.cjs.js"),d=require("./ContextMenu.module.css.cjs.js");let f=require("react"),p=require("react/jsx-runtime");var m=(0,f.createContext)(null);function h(e){let t=(0,f.useContext)(m);if(!t)throw Error(`${e} must be rendered inside <ContextMenu>.`);return t}var g=({children:e,disabled:t=!1,longPressDelay:n=500,...r})=>{let i=(0,f.useRef)(null),{level:s,tree:l}=c.useMenuRoot({...r,anchorRef:i}),[u,h]=(0,f.useState)(null),[g,_]=(0,f.useState)(`ltr`),v={disabled:t,open:s.open,longPressDelay:n,openAt:(e,{focus:t,from:n,restoreTo:r})=>{s.triggerRef.current=r,_(getComputedStyle(n).direction===`rtl`?`rtl`:`ltr`),h(e),s.setOpen(!0,{focus:t})},close:()=>s.setOpen(!1,{restore:`none`})};return(0,p.jsx)(m.Provider,{value:v,children:(0,p.jsx)(o.MenuTreeContext.Provider,{value:l,children:(0,p.jsxs)(o.MenuLevelContext.Provider,{value:s,children:[u&&(0,p.jsx)(a.Portal,{children:(0,p.jsx)(`span`,{ref:i,className:d.default.anchor,dir:g,"aria-hidden":`true`,style:{left:u.x,top:u.y}},`${u.x},${u.y}`)}),e]})})})};function _(e){return e.key===`ContextMenu`||e.key===`F10`&&e.shiftKey}var v=10,y=({children:e,asChild:a=!1,className:o,onContextMenu:s,onPointerDown:c,onPointerMove:l,onPointerUp:u,onPointerCancel:m,onKeyDown:g,ref:y,...b})=>{let x=h(`ContextMenu.Trigger`),S=a&&t.isSingleElement(e)?e:null,C=n.useMergedRef(y,S?t.getChildRef(S):void 0),w=(0,f.useRef)(0),T=(0,f.useRef)(null),E=()=>{T.current&&window.clearTimeout(T.current.timer),T.current=null};(0,f.useEffect)(()=>E,[]);let D=e=>{let t=document.activeElement;return t instanceof HTMLElement&&t!==document.body?t:e instanceof HTMLElement?e:null},O=e=>{if(s?.(e),x.disabled||e.defaultPrevented||(e.preventDefault(),Date.now()<w.current))return;if(e.clientX===0&&e.clientY===0){k(e.target);return}let t=e.target;x.openAt({x:e.clientX,y:e.clientY},{focus:`content`,from:t,restoreTo:D(null)})},k=e=>{let t=e.getBoundingClientRect(),n=getComputedStyle(e).direction===`rtl`;x.openAt({x:n?t.right:t.left,y:t.bottom},{focus:`first`,from:e,restoreTo:D(e)})},A={className:r.cx(d.default.trigger,o),"data-state":x.open?`open`:`closed`,"data-disabled":x.disabled?``:void 0,onContextMenu:O,onKeyDown:e=>{g?.(e),!(x.disabled||e.defaultPrevented||!_(e))&&(e.preventDefault(),w.current=Date.now()+500,k(e.target))},onPointerDown:e=>{if(c?.(e),x.disabled||e.defaultPrevented)return;if(e.button===2){e.preventDefault();return}if(e.pointerType!==`touch`||e.button!==0)return;E();let{clientX:t,clientY:n}=e,r=e.target;T.current={x:t,y:n,timer:window.setTimeout(()=>{T.current=null,w.current=Date.now()+800,x.openAt({x:t,y:n},{focus:`content`,from:r,restoreTo:D(r)})},x.longPressDelay)}},onPointerMove:e=>{l?.(e);let t=T.current;t&&Math.hypot(e.clientX-t.x,e.clientY-t.y)>v&&E()},onPointerUp:e=>{u?.(e),E()},onPointerCancel:e=>{m?.(e),E()}};return S?i.cloneSlot(S,{...b,...A},C):(0,p.jsx)(`div`,{...b,...A,ref:C,children:e})},b=({placement:t=`bottom-start`,offset:n=2,"aria-label":r,"aria-labelledby":i,...a})=>{let o=e.useMessages().contextMenu;return h(`ContextMenu.Content`),(0,p.jsx)(s.MenuContent,{...a,placement:t,offset:n,"aria-labelledby":i,"aria-label":i?r:r??o.label})},x=Object.assign(g,{Trigger:y,Content:b,Item:l.MenuItem,CheckboxItem:l.MenuCheckboxItem,RadioGroup:l.MenuRadioGroup,RadioItem:l.MenuRadioItem,Group:l.MenuGroup,Label:l.MenuLabel,Separator:l.MenuSeparator,Sub:u.MenuSub,SubTrigger:u.MenuSubTrigger,SubContent:u.MenuSubContent});exports.ContextMenu=x,exports.ContextMenuContent=b,exports.ContextMenuTrigger=y;
1
+ "use client";const e=require("../../../hooks/useMergedRef.cjs.js"),t=require("../../../utils/cx.cjs.js"),n=require("../../../utils/refs.cjs.js"),r=require("../../../utils/slot.cjs.js"),i=require("../../utilities/LocaleProvider/LocaleProvider.cjs.js"),a=require("../../utilities/Portal/Portal.cjs.js"),o=require("../Menu/MenuItem.cjs.js"),s=require("../Menu/MenuContent.cjs.js"),c=require("../Menu/MenuSub.cjs.js"),l=require("../Menu/MenuContext.cjs.js"),u=require("../Menu/useMenuRoot.cjs.js"),d=require("./ContextMenu.module.css.cjs.js");let f=require("react"),p=require("react/jsx-runtime");var m=(0,f.createContext)(null);function h(e){let t=(0,f.useContext)(m);if(!t)throw Error(`${e} must be rendered inside <ContextMenu>.`);return t}var g=({children:e,disabled:t=!1,longPressDelay:n=500,...r})=>{let i=(0,f.useRef)(null),{level:o,tree:s}=u.useMenuRoot({...r,anchorRef:i}),[c,h]=(0,f.useState)(null),[g,_]=(0,f.useState)(`ltr`),v={disabled:t,open:o.open,longPressDelay:n,openAt:(e,{focus:t,from:n,restoreTo:r})=>{o.triggerRef.current=r,_(getComputedStyle(n).direction===`rtl`?`rtl`:`ltr`),h(e),o.setOpen(!0,{focus:t})},close:()=>o.setOpen(!1,{restore:`none`})};return(0,p.jsx)(m.Provider,{value:v,children:(0,p.jsx)(l.MenuTreeContext.Provider,{value:s,children:(0,p.jsxs)(l.MenuLevelContext.Provider,{value:o,children:[c&&(0,p.jsx)(a.Portal,{children:(0,p.jsx)(`span`,{ref:i,className:d.default.anchor,dir:g,"aria-hidden":`true`,style:{left:c.x,top:c.y}},`${c.x},${c.y}`)}),e]})})})};function _(e){return e.key===`ContextMenu`||e.key===`F10`&&e.shiftKey}var v=10,y=({children:i,asChild:a=!1,className:o,onContextMenu:s,onPointerDown:c,onPointerMove:l,onPointerUp:u,onPointerCancel:m,onKeyDown:g,ref:y,...b})=>{let x=h(`ContextMenu.Trigger`),S=a&&n.isSingleElement(i)?i:null,C=e.useMergedRef(y,S?n.getChildRef(S):void 0),w=(0,f.useRef)(0),T=(0,f.useRef)(null),E=()=>{T.current&&window.clearTimeout(T.current.timer),T.current=null};(0,f.useEffect)(()=>E,[]);let D=e=>{let t=document.activeElement;return t instanceof HTMLElement&&t!==document.body?t:e instanceof HTMLElement?e:null},O=e=>{if(s?.(e),x.disabled||e.defaultPrevented||(e.preventDefault(),Date.now()<w.current))return;if(e.clientX===0&&e.clientY===0){k(e.target);return}let t=e.target;x.openAt({x:e.clientX,y:e.clientY},{focus:`content`,from:t,restoreTo:D(null)})},k=e=>{let t=e.getBoundingClientRect(),n=getComputedStyle(e).direction===`rtl`;x.openAt({x:n?t.right:t.left,y:t.bottom},{focus:`first`,from:e,restoreTo:D(e)})},A={className:t.cx(d.default.trigger,o),"data-state":x.open?`open`:`closed`,"data-disabled":x.disabled?``:void 0,onContextMenu:O,onKeyDown:e=>{g?.(e),x.disabled||e.defaultPrevented||!_(e)||(e.preventDefault(),w.current=Date.now()+500,k(e.target))},onPointerDown:e=>{if(c?.(e),x.disabled||e.defaultPrevented)return;if(e.button===2){e.preventDefault();return}if(e.pointerType!==`touch`||e.button!==0)return;E();let{clientX:t,clientY:n}=e,r=e.target;T.current={x:t,y:n,timer:window.setTimeout(()=>{T.current=null,w.current=Date.now()+800,x.openAt({x:t,y:n},{focus:`content`,from:r,restoreTo:D(r)})},x.longPressDelay)}},onPointerMove:e=>{l?.(e);let t=T.current;t&&Math.hypot(e.clientX-t.x,e.clientY-t.y)>v&&E()},onPointerUp:e=>{u?.(e),E()},onPointerCancel:e=>{m?.(e),E()}};return S?r.cloneSlot(S,{...b,...A},C):(0,p.jsx)(`div`,{...b,...A,ref:C,children:i})},b=({placement:e=`bottom-start`,offset:t=2,"aria-label":n,"aria-labelledby":r,...a})=>{let o=i.useMessages().contextMenu;return h(`ContextMenu.Content`),(0,p.jsx)(s.MenuContent,{...a,placement:e,offset:t,"aria-labelledby":r,"aria-label":r?n:n??o.label})},x=Object.assign(g,{Trigger:y,Content:b,Item:o.MenuItem,CheckboxItem:o.MenuCheckboxItem,RadioGroup:o.MenuRadioGroup,RadioItem:o.MenuRadioItem,Group:o.MenuGroup,Label:o.MenuLabel,Separator:o.MenuSeparator,Sub:c.MenuSub,SubTrigger:c.MenuSubTrigger,SubContent:c.MenuSubContent});exports.ContextMenu=x,exports.ContextMenuContent=b,exports.ContextMenuTrigger=y;
@@ -1,18 +1,19 @@
1
- import { useMessages as e } from "../../utilities/LocaleProvider/LocaleProvider.mjs";
2
- import { getChildRef as t, isSingleElement as n } from "../../../utils/refs.mjs";
3
- import { useMergedRef as r } from "../../../hooks/useMergedRef.mjs";
4
- import { cx as i } from "../../../utils/cx.mjs";
5
- import { cloneSlot as a } from "../../../utils/slot.mjs";
1
+ "use client";
2
+ import { useMergedRef as e } from "../../../hooks/useMergedRef.mjs";
3
+ import { cx as t } from "../../../utils/cx.mjs";
4
+ import { getChildRef as n, isSingleElement as r } from "../../../utils/refs.mjs";
5
+ import { cloneSlot as i } from "../../../utils/slot.mjs";
6
+ import { useMessages as a } from "../../utilities/LocaleProvider/LocaleProvider.mjs";
6
7
  import { Portal as o } from "../../utilities/Portal/Portal.mjs";
7
- import { MenuLevelContext as s, MenuTreeContext as c } from "../Menu/MenuContext.mjs";
8
- import { MenuContent as l } from "../Menu/MenuContent.mjs";
9
- import { useMenuRoot as u } from "../Menu/useMenuRoot.mjs";
10
- import { MenuCheckboxItem as d, MenuGroup as f, MenuItem as p, MenuLabel as m, MenuRadioGroup as h, MenuRadioItem as g, MenuSeparator as _ } from "../Menu/MenuItem.mjs";
11
- import { MenuSub as v, MenuSubContent as y, MenuSubTrigger as b } from "../Menu/MenuSub.mjs";
8
+ import { MenuCheckboxItem as s, MenuGroup as c, MenuItem as l, MenuLabel as u, MenuRadioGroup as d, MenuRadioItem as f, MenuSeparator as p } from "../Menu/MenuItem.mjs";
9
+ import { MenuContent as m } from "../Menu/MenuContent.mjs";
10
+ import { MenuSub as h, MenuSubContent as g, MenuSubTrigger as _ } from "../Menu/MenuSub.mjs";
11
+ import { MenuLevelContext as v, MenuTreeContext as y } from "../Menu/MenuContext.mjs";
12
+ import { useMenuRoot as b } from "../Menu/useMenuRoot.mjs";
12
13
  import x from "./ContextMenu.module.css.mjs";
13
14
  import { createContext as S, useContext as C, useEffect as w, useRef as T, useState as E } from "react";
14
15
  import { jsx as D, jsxs as O } from "react/jsx-runtime";
15
- //#region src/components/navigation/ContextMenu/ContextMenu.tsx
16
+ // src/components/navigation/ContextMenu/ContextMenu.tsx
16
17
  var k = S(null);
17
18
  function A(e) {
18
19
  let t = C(k);
@@ -20,34 +21,34 @@ function A(e) {
20
21
  return t;
21
22
  }
22
23
  var j = ({ children: e, disabled: t = !1, longPressDelay: n = 500, ...r }) => {
23
- let i = T(null), { level: a, tree: l } = u({
24
+ let i = T(null), { level: a, tree: s } = b({
24
25
  ...r,
25
26
  anchorRef: i
26
- }), [d, f] = E(null), [p, m] = E("ltr"), h = {
27
+ }), [c, l] = E(null), [u, d] = E("ltr"), f = {
27
28
  disabled: t,
28
29
  open: a.open,
29
30
  longPressDelay: n,
30
31
  openAt: (e, { focus: t, from: n, restoreTo: r }) => {
31
- a.triggerRef.current = r, m(getComputedStyle(n).direction === "rtl" ? "rtl" : "ltr"), f(e), a.setOpen(!0, { focus: t });
32
+ a.triggerRef.current = r, d(getComputedStyle(n).direction === "rtl" ? "rtl" : "ltr"), l(e), a.setOpen(!0, { focus: t });
32
33
  },
33
34
  close: () => a.setOpen(!1, { restore: "none" })
34
35
  };
35
36
  return /* @__PURE__ */ D(k.Provider, {
36
- value: h,
37
- children: /* @__PURE__ */ D(c.Provider, {
38
- value: l,
39
- children: /* @__PURE__ */ O(s.Provider, {
37
+ value: f,
38
+ children: /* @__PURE__ */ D(y.Provider, {
39
+ value: s,
40
+ children: /* @__PURE__ */ O(v.Provider, {
40
41
  value: a,
41
- children: [d && /* @__PURE__ */ D(o, { children: /* @__PURE__ */ D("span", {
42
+ children: [c && /* @__PURE__ */ D(o, { children: /* @__PURE__ */ D("span", {
42
43
  ref: i,
43
44
  className: x.anchor,
44
- dir: p,
45
+ dir: u,
45
46
  "aria-hidden": "true",
46
47
  style: {
47
- left: d.x,
48
- top: d.y
48
+ left: c.x,
49
+ top: c.y
49
50
  }
50
- }, `${d.x},${d.y}`) }), e]
51
+ }, `${c.x},${c.y}`) }), e]
51
52
  })
52
53
  })
53
54
  });
@@ -55,8 +56,8 @@ var j = ({ children: e, disabled: t = !1, longPressDelay: n = 500, ...r }) => {
55
56
  function M(e) {
56
57
  return e.key === "ContextMenu" || e.key === "F10" && e.shiftKey;
57
58
  }
58
- var N = 10, P = ({ children: e, asChild: o = !1, className: s, onContextMenu: c, onPointerDown: l, onPointerMove: u, onPointerUp: d, onPointerCancel: f, onKeyDown: p, ref: m, ...h }) => {
59
- let g = A("ContextMenu.Trigger"), _ = o && n(e) ? e : null, v = r(m, _ ? t(_) : void 0), y = T(0), b = T(null), S = () => {
59
+ var N = 10, P = ({ children: a, asChild: o = !1, className: s, onContextMenu: c, onPointerDown: l, onPointerMove: u, onPointerUp: d, onPointerCancel: f, onKeyDown: p, ref: m, ...h }) => {
60
+ let g = A("ContextMenu.Trigger"), _ = o && r(a) ? a : null, v = e(m, _ ? n(_) : void 0), y = T(0), b = T(null), S = () => {
60
61
  b.current && window.clearTimeout(b.current.timer), b.current = null;
61
62
  };
62
63
  w(() => S, []);
@@ -89,12 +90,12 @@ var N = 10, P = ({ children: e, asChild: o = !1, className: s, onContextMenu: c,
89
90
  restoreTo: C(e)
90
91
  });
91
92
  }, k = {
92
- className: i(x.trigger, s),
93
+ className: t(x.trigger, s),
93
94
  "data-state": g.open ? "open" : "closed",
94
95
  "data-disabled": g.disabled ? "" : void 0,
95
96
  onContextMenu: E,
96
97
  onKeyDown: (e) => {
97
- p?.(e), !(g.disabled || e.defaultPrevented || !M(e)) && (e.preventDefault(), y.current = Date.now() + 500, O(e.target));
98
+ p?.(e), g.disabled || e.defaultPrevented || !M(e) || (e.preventDefault(), y.current = Date.now() + 500, O(e.target));
98
99
  },
99
100
  onPointerDown: (e) => {
100
101
  if (l?.(e), g.disabled || e.defaultPrevented) return;
@@ -132,37 +133,36 @@ var N = 10, P = ({ children: e, asChild: o = !1, className: s, onContextMenu: c,
132
133
  f?.(e), S();
133
134
  }
134
135
  };
135
- return _ ? a(_, {
136
+ return _ ? i(_, {
136
137
  ...h,
137
138
  ...k
138
139
  }, v) : /* @__PURE__ */ D("div", {
139
140
  ...h,
140
141
  ...k,
141
142
  ref: v,
142
- children: e
143
+ children: a
143
144
  });
144
- }, F = ({ placement: t = "bottom-start", offset: n = 2, "aria-label": r, "aria-labelledby": i, ...a }) => {
145
- let o = e().contextMenu;
146
- return A("ContextMenu.Content"), /* @__PURE__ */ D(l, {
147
- ...a,
148
- placement: t,
149
- offset: n,
150
- "aria-labelledby": i,
151
- "aria-label": i ? r : r ?? o.label
145
+ }, F = ({ placement: e = "bottom-start", offset: t = 2, "aria-label": n, "aria-labelledby": r, ...i }) => {
146
+ let o = a().contextMenu;
147
+ return A("ContextMenu.Content"), /* @__PURE__ */ D(m, {
148
+ ...i,
149
+ placement: e,
150
+ offset: t,
151
+ "aria-labelledby": r,
152
+ "aria-label": r ? n : n ?? o.label
152
153
  });
153
154
  }, I = Object.assign(j, {
154
155
  Trigger: P,
155
156
  Content: F,
156
- Item: p,
157
- CheckboxItem: d,
158
- RadioGroup: h,
159
- RadioItem: g,
160
- Group: f,
161
- Label: m,
162
- Separator: _,
163
- Sub: v,
164
- SubTrigger: b,
165
- SubContent: y
157
+ Item: l,
158
+ CheckboxItem: s,
159
+ RadioGroup: d,
160
+ RadioItem: f,
161
+ Group: c,
162
+ Label: u,
163
+ Separator: p,
164
+ Sub: h,
165
+ SubTrigger: _,
166
+ SubContent: g
166
167
  });
167
- //#endregion
168
168
  export { I as ContextMenu, F as ContextMenuContent, P as ContextMenuTrigger };
@@ -1,7 +1,6 @@
1
- //#region src/components/navigation/ContextMenu/ContextMenu.module.css
1
+ // src/components/navigation/ContextMenu/ContextMenu.module.css
2
2
  var e = "_trigger_1ajgq_8", t = "_anchor_1ajgq_13", n = {
3
3
  trigger: e,
4
4
  anchor: t
5
5
  };
6
- //#endregion
7
6
  export { t as anchor, n as default, e as trigger };
@@ -1 +1 @@
1
- const e=require("../../../utils/cx.cjs.js"),t=require("../../utilities/VisuallyHidden/VisuallyHidden.cjs.js"),n=require("../../primitives/Icon/icons.cjs.js"),r=require("./Link.module.css.cjs.js");let i=require("react/jsx-runtime");var a={inline:r.default.inline,standalone:r.default.standalone,subtle:r.default.subtle},o={primary:r.default.primary,neutral:r.default.neutral,accent:r.default.accent,success:r.default.success,warning:r.default.warning,danger:r.default.danger,info:r.default.info},s={inherit:void 0,sm:r.default.sm,md:r.default.md,lg:r.default.lg},c={always:r.default.underlineAlways,hover:r.default.underlineHover,none:r.default.underlineNone},l={inline:`always`,standalone:`hover`,subtle:`hover`},u=e=>Array.from(new Set([...(e??``).split(/\s+/).filter(Boolean),`noopener`,`noreferrer`])).join(` `);function d(d){let{as:f,variant:p=`inline`,tone:m=`primary`,size:h=`inherit`,underline:g,external:_=!1,externalLabel:v=`(opens in a new tab)`,arrow:y=!1,startIcon:b,endIcon:x,disabled:S=!1,visited:C=!1,className:w,children:T,rel:E,target:D,onClick:O,...k}=d,A=g??l[p],j=e.cx(r.default.root,a[p],o[m],s[h],c[A],S?r.default.disabled:r.default.interactive,C&&!S&&r.default.visited,w),M=(0,i.jsxs)(i.Fragment,{children:[b!=null&&(0,i.jsx)(`span`,{className:e.cx(r.default.icon,r.default.startIcon),children:b}),T!=null&&T!==!1&&(0,i.jsx)(`span`,{className:r.default.label,children:T}),x!=null&&(0,i.jsx)(`span`,{className:e.cx(r.default.icon,r.default.endIcon),children:x}),y&&!_&&(0,i.jsx)(`span`,{className:e.cx(r.default.icon,r.default.endIcon,r.default.arrow),children:(0,i.jsx)(n.ArrowRightIcon,{})}),_&&!S&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`span`,{className:e.cx(r.default.icon,r.default.endIcon,r.default.external),children:(0,i.jsx)(n.ExternalLinkIcon,{})}),(0,i.jsxs)(t.VisuallyHidden,{children:[` `,v]})]})]});if(S){let{href:e,to:t,download:n,ping:r,hrefLang:a,referrerPolicy:o,tabIndex:s,...c}=k,l=e=>{e.preventDefault()};return(0,i.jsx)(`a`,{...c,role:`link`,"aria-disabled":`true`,onClick:l,className:j,children:M})}return(0,i.jsx)(f??`a`,{...k,target:_?`_blank`:D,rel:_?u(E):E,onClick:O,className:j,children:M})}exports.Link=d;
1
+ const e=require("../../../utils/cx.cjs.js"),t=require("../../primitives/Icon/icons.cjs.js"),n=require("../../utilities/VisuallyHidden/VisuallyHidden.cjs.js"),r=require("./Link.module.css.cjs.js");let i=require("react/jsx-runtime");var a={inline:r.default.inline,standalone:r.default.standalone,subtle:r.default.subtle},o={primary:r.default.primary,neutral:r.default.neutral,accent:r.default.accent,success:r.default.success,warning:r.default.warning,danger:r.default.danger,info:r.default.info},s={inherit:void 0,sm:r.default.sm,md:r.default.md,lg:r.default.lg},c={always:r.default.underlineAlways,hover:r.default.underlineHover,none:r.default.underlineNone},l={inline:`always`,standalone:`hover`,subtle:`hover`},u=e=>Array.from(new Set([...(e??``).split(/\s+/).filter(Boolean),`noopener`,`noreferrer`])).join(` `);function d(d){let{as:f,variant:p=`inline`,tone:m=`primary`,size:h=`inherit`,underline:g,external:_=!1,externalLabel:v=`(opens in a new tab)`,arrow:y=!1,startIcon:b,endIcon:x,disabled:S=!1,visited:C=!1,className:w,children:T,rel:E,target:D,onClick:O,...k}=d,A=g??l[p],j=e.cx(r.default.root,a[p],o[m],s[h],c[A],S?r.default.disabled:r.default.interactive,C&&!S&&r.default.visited,w),M=(0,i.jsxs)(i.Fragment,{children:[b!=null&&(0,i.jsx)(`span`,{className:e.cx(r.default.icon,r.default.startIcon),children:b}),T!=null&&T!==!1&&(0,i.jsx)(`span`,{className:r.default.label,children:T}),x!=null&&(0,i.jsx)(`span`,{className:e.cx(r.default.icon,r.default.endIcon),children:x}),y&&!_&&(0,i.jsx)(`span`,{className:e.cx(r.default.icon,r.default.endIcon,r.default.arrow),children:(0,i.jsx)(t.ArrowRightIcon,{})}),_&&!S&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(`span`,{className:e.cx(r.default.icon,r.default.endIcon,r.default.external),children:(0,i.jsx)(t.ExternalLinkIcon,{})}),(0,i.jsxs)(n.VisuallyHidden,{children:[` `,v]})]})]});if(S){let{href:e,to:t,download:n,ping:r,hrefLang:a,referrerPolicy:o,tabIndex:s,...c}=k,l=e=>{e.preventDefault()};return(0,i.jsx)(`a`,{...c,role:`link`,"aria-disabled":`true`,onClick:l,className:j,children:M})}return(0,i.jsx)(f??`a`,{...k,target:_?`_blank`:D,rel:_?u(E):E,onClick:O,className:j,children:M})}exports.Link=d;
@@ -1,9 +1,9 @@
1
1
  import { cx as e } from "../../../utils/cx.mjs";
2
- import { VisuallyHidden as t } from "../../utilities/VisuallyHidden/VisuallyHidden.mjs";
3
- import { ArrowRightIcon as n, ExternalLinkIcon as r } from "../../primitives/Icon/icons.mjs";
2
+ import { ArrowRightIcon as t, ExternalLinkIcon as n } from "../../primitives/Icon/icons.mjs";
3
+ import { VisuallyHidden as r } from "../../utilities/VisuallyHidden/VisuallyHidden.mjs";
4
4
  import i from "./Link.module.css.mjs";
5
5
  import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
6
- //#region src/components/navigation/Link/Link.tsx
6
+ // src/components/navigation/Link/Link.tsx
7
7
  var c = {
8
8
  inline: i.inline,
9
9
  standalone: i.standalone,
@@ -50,12 +50,12 @@ function m(m) {
50
50
  }),
51
51
  S && !b && /* @__PURE__ */ o("span", {
52
52
  className: e(i.icon, i.endIcon, i.arrow),
53
- children: /* @__PURE__ */ o(n, {})
53
+ children: /* @__PURE__ */ o(t, {})
54
54
  }),
55
55
  b && !T && /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o("span", {
56
56
  className: e(i.icon, i.endIcon, i.external),
57
- children: /* @__PURE__ */ o(r, {})
58
- }), /* @__PURE__ */ s(t, { children: [" ", x] })] })
57
+ children: /* @__PURE__ */ o(n, {})
58
+ }), /* @__PURE__ */ s(r, { children: [" ", x] })] })
59
59
  ] });
60
60
  if (T) {
61
61
  let { href: e, to: t, download: n, ping: r, hrefLang: i, referrerPolicy: a, tabIndex: s, ...c } = M, l = (e) => {
@@ -79,5 +79,4 @@ function m(m) {
79
79
  children: F
80
80
  });
81
81
  }
82
- //#endregion
83
82
  export { m as Link };
@@ -1,4 +1,4 @@
1
- //#region src/components/navigation/Link/Link.module.css
1
+ // src/components/navigation/Link/Link.module.css
2
2
  var e = "_root_1atiq_15", t = "_interactive_1atiq_71", n = "_label_1atiq_101", r = "_underlineAlways_1atiq_133", i = "_underlineHover_1atiq_179", a = "_underlineNone_1atiq_189", o = "_inline_1atiq_217", s = "_standalone_1atiq_227", c = "_subtle_1atiq_269", l = "_primary_1atiq_301", u = "_neutral_1atiq_315", d = "_accent_1atiq_333", f = "_success_1atiq_343", p = "_warning_1atiq_353", m = "_danger_1atiq_363", h = "_info_1atiq_373", g = "_sm_1atiq_387", _ = "_md_1atiq_395", v = "_lg_1atiq_403", y = "_visited_1atiq_415", b = "_icon_1atiq_429", x = "_startIcon_1atiq_457", S = "_endIcon_1atiq_465", C = "_arrow_1atiq_473", w = "_external_1atiq_495", T = "_disabled_1atiq_523", E = {
3
3
  root: e,
4
4
  interactive: t,
@@ -27,5 +27,4 @@ var e = "_root_1atiq_15", t = "_interactive_1atiq_71", n = "_label_1atiq_101", r
27
27
  external: w,
28
28
  disabled: T
29
29
  };
30
- //#endregion
31
30
  export { d as accent, C as arrow, m as danger, E as default, T as disabled, S as endIcon, w as external, b as icon, h as info, o as inline, t as interactive, n as label, v as lg, _ as md, u as neutral, l as primary, e as root, g as sm, s as standalone, x as startIcon, c as subtle, f as success, r as underlineAlways, i as underlineHover, a as underlineNone, y as visited, p as warning };
@@ -1 +1 @@
1
- const e=require("../../../utils/refs.cjs.js"),t=require("../../../hooks/useMergedRef.cjs.js"),n=require("../../../utils/slot.cjs.js"),r=require("../../primitives/Button/Button.cjs.js"),i=require("./MenuContext.cjs.js"),a=require("./MenuContent.cjs.js"),o=require("./useMenuRoot.cjs.js"),s=require("./MenuItem.cjs.js"),c=require("./MenuSub.cjs.js");let l=require("react"),u=require("react/jsx-runtime");var d=({children:e,...t})=>{let{level:n,tree:r}=o.useMenuRoot(t);return(0,u.jsx)(i.MenuTreeContext.Provider,{value:r,children:(0,u.jsx)(i.MenuLevelContext.Provider,{value:n,children:e})})};function f(e){let{variant:t,tone:n,size:r,radius:i,startIcon:a,endIcon:o,fullWidth:s,...c}=e;return c}var p=({children:a,asChild:o,onClick:s,onKeyDown:c,onPointerDown:d,id:p,ref:m,...h})=>{let g=i.useMenuLevel(`Menu.Trigger`);i.useMenuTree(`Menu.Trigger`);let _=(o??e.isSingleElement(a))&&e.isSingleElement(a)?a:null,v=_?e.getChildRef(_):void 0,y=t.useMergedRef(g.triggerRef,m,v),b=(0,l.useRef)(!1),x=e=>{c?.(e),!e.defaultPrevented&&(e.key===`ArrowDown`||e.key===`ArrowUp`?(e.preventDefault(),g.setOpen(!0,{focus:e.key===`ArrowDown`?`first`:`last`})):(e.key===`Enter`||e.key===` `)&&(b.current=!0))},S=e=>{d?.(e),b.current=!1},C=e=>{s?.(e);let t=b.current||e.detail===0;b.current=!1,!e.defaultPrevented&&(g.open?g.setOpen(!1,{restore:`force`}):g.setOpen(!0,{focus:t?`first`:`content`}))},w=_?_.props.id:void 0,T={id:p??w??g.triggerId,"aria-haspopup":`menu`,"aria-expanded":g.open,"aria-controls":g.open?g.contentId:void 0,"data-state":g.open?`open`:`closed`,onClick:C,onKeyDown:x,onPointerDown:S};return _?n.cloneSlot(_,{...f(h),...T},y):(0,u.jsx)(r.Button,{...h,...T,ref:y,children:a})},m=Object.assign(d,{Trigger:p,Content:a.MenuContent,Item:s.MenuItem,CheckboxItem:s.MenuCheckboxItem,RadioGroup:s.MenuRadioGroup,RadioItem:s.MenuRadioItem,Group:s.MenuGroup,Label:s.MenuLabel,Separator:s.MenuSeparator,Sub:c.MenuSub,SubTrigger:c.MenuSubTrigger,SubContent:c.MenuSubContent});exports.Menu=m,exports.MenuCheckboxItem=s.MenuCheckboxItem,exports.MenuContent=a.MenuContent,exports.MenuGroup=s.MenuGroup,exports.MenuItem=s.MenuItem,exports.MenuLabel=s.MenuLabel,exports.MenuRadioGroup=s.MenuRadioGroup,exports.MenuRadioItem=s.MenuRadioItem,exports.MenuSeparator=s.MenuSeparator,exports.MenuSub=c.MenuSub,exports.MenuSubContent=c.MenuSubContent,exports.MenuSubTrigger=c.MenuSubTrigger,exports.MenuTrigger=p;
1
+ "use client";const e=require("../../primitives/Button/Button.cjs.js"),t=require("../../../hooks/useMergedRef.cjs.js"),n=require("../../../utils/refs.cjs.js"),r=require("../../../utils/slot.cjs.js"),i=require("./MenuContext.cjs.js"),a=require("./MenuContent.cjs.js"),o=require("./useMenuRoot.cjs.js"),s=require("./MenuItem.cjs.js"),c=require("./MenuSub.cjs.js");let l=require("react"),u=require("react/jsx-runtime");var d=({children:e,...t})=>{let{level:n,tree:r}=o.useMenuRoot(t);return(0,u.jsx)(i.MenuTreeContext.Provider,{value:r,children:(0,u.jsx)(i.MenuLevelContext.Provider,{value:n,children:e})})};function f(e){let{variant:t,tone:n,size:r,radius:i,startIcon:a,endIcon:o,fullWidth:s,...c}=e;return c}var p=({children:a,asChild:o,onClick:s,onKeyDown:c,onPointerDown:d,id:p,ref:m,...h})=>{let g=i.useMenuLevel(`Menu.Trigger`);i.useMenuTree(`Menu.Trigger`);let _=(o??n.isSingleElement(a))&&n.isSingleElement(a)?a:null,v=_?n.getChildRef(_):void 0,y=t.useMergedRef(g.triggerRef,m,v),b=(0,l.useRef)(!1),x=e=>{c?.(e),e.defaultPrevented||(e.key===`ArrowDown`||e.key===`ArrowUp`?(e.preventDefault(),g.setOpen(!0,{focus:e.key===`ArrowDown`?`first`:`last`})):(e.key===`Enter`||e.key===` `)&&(b.current=!0))},S=e=>{d?.(e),b.current=!1},C=e=>{s?.(e);let t=b.current||e.detail===0;b.current=!1,e.defaultPrevented||(g.open?g.setOpen(!1,{restore:`force`}):g.setOpen(!0,{focus:t?`first`:`content`}))},w=_?_.props.id:void 0,T={id:p??w??g.triggerId,"aria-haspopup":`menu`,"aria-expanded":g.open,"aria-controls":g.open?g.contentId:void 0,"data-state":g.open?`open`:`closed`,onClick:C,onKeyDown:x,onPointerDown:S};return _?r.cloneSlot(_,{...f(h),...T},y):(0,u.jsx)(e.Button,{...h,...T,ref:y,children:a})},m=Object.assign(d,{Trigger:p,Content:a.MenuContent,Item:s.MenuItem,CheckboxItem:s.MenuCheckboxItem,RadioGroup:s.MenuRadioGroup,RadioItem:s.MenuRadioItem,Group:s.MenuGroup,Label:s.MenuLabel,Separator:s.MenuSeparator,Sub:c.MenuSub,SubTrigger:c.MenuSubTrigger,SubContent:c.MenuSubContent});exports.Menu=m,exports.MenuCheckboxItem=s.MenuCheckboxItem,exports.MenuContent=a.MenuContent,exports.MenuGroup=s.MenuGroup,exports.MenuItem=s.MenuItem,exports.MenuLabel=s.MenuLabel,exports.MenuRadioGroup=s.MenuRadioGroup,exports.MenuRadioItem=s.MenuRadioItem,exports.MenuSeparator=s.MenuSeparator,exports.MenuSub=c.MenuSub,exports.MenuSubContent=c.MenuSubContent,exports.MenuSubTrigger=c.MenuSubTrigger,exports.MenuTrigger=p;
@@ -1,7 +1,8 @@
1
- import { getChildRef as e, isSingleElement as t } from "../../../utils/refs.mjs";
2
- import { useMergedRef as n } from "../../../hooks/useMergedRef.mjs";
3
- import { cloneSlot as r } from "../../../utils/slot.mjs";
4
- import { Button as i } from "../../primitives/Button/Button.mjs";
1
+ "use client";
2
+ import { Button as e } from "../../primitives/Button/Button.mjs";
3
+ import { useMergedRef as t } from "../../../hooks/useMergedRef.mjs";
4
+ import { getChildRef as n, isSingleElement as r } from "../../../utils/refs.mjs";
5
+ import { cloneSlot as i } from "../../../utils/slot.mjs";
5
6
  import { MenuLevelContext as a, MenuTreeContext as o, useMenuLevel as s, useMenuTree as c } from "./MenuContext.mjs";
6
7
  import { MenuContent as l } from "./MenuContent.mjs";
7
8
  import { useMenuRoot as u } from "./useMenuRoot.mjs";
@@ -9,7 +10,7 @@ import { MenuCheckboxItem as d, MenuGroup as f, MenuItem as p, MenuLabel as m, M
9
10
  import { MenuSub as v, MenuSubContent as y, MenuSubTrigger as b } from "./MenuSub.mjs";
10
11
  import { useRef as x } from "react";
11
12
  import { jsx as S } from "react/jsx-runtime";
12
- //#region src/components/navigation/Menu/Menu.tsx
13
+ // src/components/navigation/Menu/Menu.tsx
13
14
  var C = ({ children: e, ...t }) => {
14
15
  let { level: n, tree: r } = u(t);
15
16
  return /* @__PURE__ */ S(o.Provider, {
@@ -27,14 +28,14 @@ function w(e) {
27
28
  var T = ({ children: a, asChild: o, onClick: l, onKeyDown: u, onPointerDown: d, id: f, ref: p, ...m }) => {
28
29
  let h = s("Menu.Trigger");
29
30
  c("Menu.Trigger");
30
- let g = (o ?? t(a)) && t(a) ? a : null, _ = g ? e(g) : void 0, v = n(h.triggerRef, p, _), y = x(!1), b = (e) => {
31
- u?.(e), !e.defaultPrevented && (e.key === "ArrowDown" || e.key === "ArrowUp" ? (e.preventDefault(), h.setOpen(!0, { focus: e.key === "ArrowDown" ? "first" : "last" })) : (e.key === "Enter" || e.key === " ") && (y.current = !0));
31
+ let g = (o ?? r(a)) && r(a) ? a : null, _ = g ? n(g) : void 0, v = t(h.triggerRef, p, _), y = x(!1), b = (e) => {
32
+ u?.(e), e.defaultPrevented || (e.key === "ArrowDown" || e.key === "ArrowUp" ? (e.preventDefault(), h.setOpen(!0, { focus: e.key === "ArrowDown" ? "first" : "last" })) : (e.key === "Enter" || e.key === " ") && (y.current = !0));
32
33
  }, C = (e) => {
33
34
  d?.(e), y.current = !1;
34
35
  }, T = (e) => {
35
36
  l?.(e);
36
37
  let t = y.current || e.detail === 0;
37
- y.current = !1, !e.defaultPrevented && (h.open ? h.setOpen(!1, { restore: "force" }) : h.setOpen(!0, { focus: t ? "first" : "content" }));
38
+ y.current = !1, e.defaultPrevented || (h.open ? h.setOpen(!1, { restore: "force" }) : h.setOpen(!0, { focus: t ? "first" : "content" }));
38
39
  }, E = g ? g.props.id : void 0, D = {
39
40
  id: f ?? E ?? h.triggerId,
40
41
  "aria-haspopup": "menu",
@@ -45,10 +46,10 @@ var T = ({ children: a, asChild: o, onClick: l, onKeyDown: u, onPointerDown: d,
45
46
  onKeyDown: b,
46
47
  onPointerDown: C
47
48
  };
48
- return g ? r(g, {
49
+ return g ? i(g, {
49
50
  ...w(m),
50
51
  ...D
51
- }, v) : /* @__PURE__ */ S(i, {
52
+ }, v) : /* @__PURE__ */ S(e, {
52
53
  ...m,
53
54
  ...D,
54
55
  ref: v,
@@ -68,5 +69,4 @@ var T = ({ children: a, asChild: o, onClick: l, onKeyDown: u, onPointerDown: d,
68
69
  SubTrigger: b,
69
70
  SubContent: y
70
71
  });
71
- //#endregion
72
72
  export { E as Menu, d as MenuCheckboxItem, l as MenuContent, f as MenuGroup, p as MenuItem, m as MenuLabel, h as MenuRadioGroup, g as MenuRadioItem, _ as MenuSeparator, v as MenuSub, y as MenuSubContent, b as MenuSubTrigger, T as MenuTrigger };
@@ -1,4 +1,4 @@
1
- //#region src/components/navigation/Menu/Menu.module.css
1
+ // src/components/navigation/Menu/Menu.module.css
2
2
  var e = "_positioner_g4nth_15", t = "_content_g4nth_27", n = "_sm_g4nth_113", r = "_md_g4nth_127", i = "_lg_g4nth_141", a = "_item_g4nth_221", o = "_subTrigger_g4nth_305", s = "_danger_g4nth_315", c = "_indicator_g4nth_357", l = "_icon_g4nth_359", u = "_chevron_g4nth_361", d = "_label_g4nth_413", f = "_shortcut_g4nth_425", p = "_group_g4nth_481", m = "_groupLabel_g4nth_493", h = "_separator_g4nth_521", g = {
3
3
  positioner: e,
4
4
  content: t,
@@ -18,5 +18,4 @@ var e = "_positioner_g4nth_15", t = "_content_g4nth_27", n = "_sm_g4nth_113", r
18
18
  groupLabel: m,
19
19
  separator: h
20
20
  };
21
- //#endregion
22
21
  export { u as chevron, t as content, s as danger, g as default, p as group, m as groupLabel, l as icon, c as indicator, a as item, d as label, i as lg, r as md, e as positioner, h as separator, f as shortcut, n as sm, o as subTrigger };
@@ -1 +1 @@
1
- const e=require("../../../hooks/useOverlayLayer.cjs.js"),t=require("../../../hooks/useFloatingPosition.cjs.js"),n=require("../../../hooks/useFocusTrap.cjs.js"),r=require("../../../hooks/useMergedRef.cjs.js"),i=require("../../../utils/cx.cjs.js"),a=require("../../utilities/Portal/Portal.cjs.js"),o=require("./MenuContext.cjs.js"),s=require("./Menu.module.css.cjs.js");let c=require("react"),l=require("react/jsx-runtime");var u={sm:s.default.sm,md:s.default.md,lg:s.default.lg},d=500;function f(e,t){if(!t)return e;let[n,r]=e.split(`-`);return n!==`top`&&n!==`bottom`||!r?e:`${n}-${r===`start`?`end`:`start`}`}var p=({container:e,...t})=>{let n=o.useMenuLevel(`Menu.Content`),r=o.useMenuTree(`Menu.Content`);return n.open?(0,l.jsx)(a.Portal,{container:e,children:(0,l.jsx)(m,{...t,level:n,tree:r})}):null},m=({level:a,tree:p,children:m,placement:h,offset:g,maxHeight:_,className:v,style:y,ref:b,onKeyDown:x,onPointerEnter:S,onFocus:C,"aria-label":w,"aria-labelledby":T,...E})=>{let D=(0,c.useRef)(null),O=r.useMergedRef(a.contentRef,b),[k,A]=(0,c.useState)(`ltr`);(0,c.useLayoutEffect)(()=>{let e=(a.anchorRef??a.triggerRef).current;e&&A(getComputedStyle(e).direction===`rtl`?`rtl`:`ltr`)},[a.anchorRef,a.triggerRef]);let j=f(h??(a.isSub?o.defaultSubPlacement(k===`rtl`):`bottom-start`),k===`rtl`),M=t.useFloatingPosition(a.anchorRef??a.triggerRef,D,{open:!0,placement:j,offset:g??(a.isSub?4:8)}),N=M.isPositioned,P=M.placement.split(`-`)[0],F=e.useOverlayLayer({active:!0,elements:()=>[D,a.anchorRef??a.triggerRef],onEscape:()=>a.setOpen(!1,{restore:`force`}),onOutsidePress:e=>{if(a.isSub){a.setOpen(!1,{restore:`auto`});return}let t=e.target instanceof Element?e.target:null;a.setOpen(!1,{restore:t?.closest(`a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),label,summary,iframe,[contenteditable='true'],[tabindex]`)?`none`:`deferred`})}});(0,c.useEffect)(()=>{if(!N||a.openFocusRef.current===`none`)return;let e=a.contentRef.current;if(e)return n.focusWhenReady(()=>{let t=a.openFocusRef.current;if(t===`none`||!e.isConnected)return null;let n=o.getMenuItems(e),r=(t===`first`?n[0]:t===`last`?n[n.length-1]:null)??e;return o.focusItem(r),document.activeElement===r&&(a.openFocusRef.current=`none`),r})},[N,a.focusNonce,a.openFocusRef,a.contentRef]),(0,c.useLayoutEffect)(()=>{let{contentRef:e,triggerRef:t,restoreModeRef:n,isSub:r}=a,i=e.current,o=`[data-menu-tree="${p.treeId}"]`;return()=>{let e=n.current;if(n.current=`auto`,r&&p.closingAllRef.current)return;let a=document.activeElement,s=!a||a===document.body||(r?!!i?.contains(a):!!a.closest(o)),c=()=>{let e=t.current;e?.isConnected&&e.focus({preventScroll:!0})};e===`force`||e===`auto`&&s?c():e===`deferred`&&window.setTimeout(c,0)}},[]);let I=(0,c.useRef)({buffer:``,timer:0});(0,c.useEffect)(()=>()=>window.clearTimeout(I.current.timer),[]);let L=(e,t,n)=>{let r=I.current;window.clearTimeout(r.timer),r.buffer+=e.toLowerCase(),r.timer=window.setTimeout(()=>{r.buffer=``},d);let i=r.buffer,a=Array.from(i).every(e=>e===i[0]),s=a?i[0]:i,c=a?n+1:Math.max(n,0),l=[...t.slice(c),...t.slice(0,c)].find(e=>o.getItemText(e).toLowerCase().startsWith(s));l&&o.focusItem(l)},R=e=>{if(x?.(e),e.defaultPrevented)return;let t=a.contentRef.current,n=e.target;if(!t||!t.contains(n))return;let r=o.getMenuItems(t),i=n.closest(`[${o.ITEM_ATTR}]`),s=i?r.indexOf(i):-1,c=getComputedStyle(t).direction===`rtl`,l=c?`ArrowLeft`:`ArrowRight`,u=c?`ArrowRight`:`ArrowLeft`,d=r.length-1,f=()=>{a.openSub!==null&&a.setOpenSub(null)};switch(e.key){case`ArrowDown`:e.preventDefault(),f(),r.length&&o.focusItem(r[(s+1)%r.length]);return;case`ArrowUp`:e.preventDefault(),f(),r.length&&o.focusItem(r[s<=0?d:s-1]);return;case`Home`:case`PageUp`:e.preventDefault(),f(),o.focusItem(r[0]);return;case`End`:case`PageDown`:e.preventDefault(),f(),o.focusItem(r[d]);return;case l:i?.getAttribute(`aria-haspopup`)===`menu`&&(e.preventDefault(),i.click());return;case u:a.isSub&&(e.preventDefault(),a.setOpen(!1,{restore:`force`}));return;case`Enter`:case` `:if(e.key===` `&&I.current.buffer){e.preventDefault(),L(` `,r,s);return}if(i){if(e.preventDefault(),e.repeat)return;i.click()}return;case`Tab`:p.focusRootTrigger(),p.closeAll(`none`);return;default:e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&(e.preventDefault(),L(e.key,r,s))}},z=e=>{C?.(e);let t=a.contentRef.current,n=e.target;if(t&&n.hasAttribute(`data-menu-item`)&&t.contains(n))for(let e of o.getMenuItems(t))e.tabIndex=e===n?0:-1},B=e=>{S?.(e),a.parent?.cancelSubTimer()},V=T??(w?void 0:a.triggerRef.current?.id||a.triggerId),H=_===void 0?y:{...y,"--_max-h":typeof _==`number`?`${_}px`:_};return(0,l.jsx)(e.OverlayLayerProvider,{layer:F,children:(0,l.jsx)(o.MenuLevelContext.Provider,{value:a,children:(0,l.jsx)(`div`,{ref:D,className:s.default.positioner,style:M.style,dir:k,children:(0,l.jsx)(`div`,{"aria-label":w,"aria-labelledby":V,tabIndex:-1,...E,role:`menu`,"aria-orientation":`vertical`,id:a.contentId,ref:O,className:i.cx(s.default.content,u[p.size],v),style:H,"data-side":P,"data-state":`open`,"data-menu-tree":p.treeId,onKeyDown:R,onPointerEnter:B,onFocus:z,children:m})})})})};exports.MenuContent=p,exports.MenuSurface=m;
1
+ "use client";const e=require("../../../hooks/useFloatingPosition.cjs.js"),t=require("../../../hooks/useFocusTrap.cjs.js"),n=require("../../../hooks/useOverlayLayer.cjs.js"),r=require("../../../utils/cx.cjs.js"),i=require("../../utilities/Portal/Portal.cjs.js"),a=require("../../../hooks/useMergedRef.cjs.js"),o=require("./MenuContext.cjs.js"),s=require("./Menu.module.css.cjs.js");let c=require("react"),l=require("react/jsx-runtime");var u={sm:s.default.sm,md:s.default.md,lg:s.default.lg},d=500;function f(e,t){if(!t)return e;let[n,r]=e.split(`-`);return n!==`top`&&n!==`bottom`||!r?e:`${n}-${r===`start`?`end`:`start`}`}var p=({container:e,...t})=>{let n=o.useMenuLevel(`Menu.Content`),r=o.useMenuTree(`Menu.Content`);return n.open?(0,l.jsx)(i.Portal,{container:e,children:(0,l.jsx)(m,{...t,level:n,tree:r})}):null},m=({level:i,tree:p,children:m,placement:h,offset:g,maxHeight:_,className:v,style:y,ref:b,onKeyDown:x,onPointerEnter:S,onFocus:C,"aria-label":w,"aria-labelledby":T,...E})=>{let D=(0,c.useRef)(null),O=a.useMergedRef(i.contentRef,b),[k,A]=(0,c.useState)(`ltr`);(0,c.useLayoutEffect)(()=>{let e=(i.anchorRef??i.triggerRef).current;e&&A(getComputedStyle(e).direction===`rtl`?`rtl`:`ltr`)},[i.anchorRef,i.triggerRef]);let j=f(h??(i.isSub?o.defaultSubPlacement(k===`rtl`):`bottom-start`),k===`rtl`),M=e.useFloatingPosition(i.anchorRef??i.triggerRef,D,{open:!0,placement:j,offset:g??(i.isSub?4:8)}),N=M.isPositioned,P=M.placement.split(`-`)[0],F=n.useOverlayLayer({active:!0,elements:()=>[D,i.anchorRef??i.triggerRef],onEscape:()=>i.setOpen(!1,{restore:`force`}),onOutsidePress:e=>{if(i.isSub){i.setOpen(!1,{restore:`auto`});return}let t=e.target instanceof Element?e.target:null;i.setOpen(!1,{restore:t?.closest(`a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),label,summary,iframe,[contenteditable='true'],[tabindex]`)?`none`:`deferred`})}});(0,c.useEffect)(()=>{if(!N||i.openFocusRef.current===`none`)return;let e=i.contentRef.current;if(e)return t.focusWhenReady(()=>{let t=i.openFocusRef.current;if(t===`none`||!e.isConnected)return null;let n=o.getMenuItems(e),r=(t===`first`?n[0]:t===`last`?n[n.length-1]:null)??e;return o.focusItem(r),document.activeElement===r&&(i.openFocusRef.current=`none`),r})},[N,i.focusNonce,i.openFocusRef,i.contentRef]),(0,c.useLayoutEffect)(()=>{let{contentRef:e,triggerRef:t,restoreModeRef:n,isSub:r}=i,a=e.current,o=`[data-menu-tree="${p.treeId}"]`;return()=>{let e=n.current;if(n.current=`auto`,r&&p.closingAllRef.current)return;let i=document.activeElement,s=!i||i===document.body||(r?!!a?.contains(i):!!i.closest(o)),c=()=>{let e=t.current;e?.isConnected&&e.focus({preventScroll:!0})};e===`force`||e===`auto`&&s?c():e===`deferred`&&window.setTimeout(c,0)}},[]);let I=(0,c.useRef)({buffer:``,timer:0});(0,c.useEffect)(()=>()=>window.clearTimeout(I.current.timer),[]);let L=(e,t,n)=>{let r=I.current;window.clearTimeout(r.timer),r.buffer+=e.toLowerCase(),r.timer=window.setTimeout(()=>{r.buffer=``},d);let i=r.buffer,a=Array.from(i).every(e=>e===i[0]),s=a?i[0]:i,c=a?n+1:Math.max(n,0),l=[...t.slice(c),...t.slice(0,c)].find(e=>o.getItemText(e).toLowerCase().startsWith(s));l&&o.focusItem(l)},R=e=>{if(x?.(e),e.defaultPrevented)return;let t=i.contentRef.current,n=e.target;if(!t||!t.contains(n))return;let r=o.getMenuItems(t),a=n.closest(`[${o.ITEM_ATTR}]`),s=a?r.indexOf(a):-1,c=getComputedStyle(t).direction===`rtl`,l=c?`ArrowLeft`:`ArrowRight`,u=c?`ArrowRight`:`ArrowLeft`,d=r.length-1,f=()=>{i.openSub!==null&&i.setOpenSub(null)};switch(e.key){case`ArrowDown`:e.preventDefault(),f(),r.length&&o.focusItem(r[(s+1)%r.length]);return;case`ArrowUp`:e.preventDefault(),f(),r.length&&o.focusItem(r[s<=0?d:s-1]);return;case`Home`:case`PageUp`:e.preventDefault(),f(),o.focusItem(r[0]);return;case`End`:case`PageDown`:e.preventDefault(),f(),o.focusItem(r[d]);return;case l:a?.getAttribute(`aria-haspopup`)===`menu`&&(e.preventDefault(),a.click());return;case u:i.isSub&&(e.preventDefault(),i.setOpen(!1,{restore:`force`}));return;case`Enter`:case` `:if(e.key===` `&&I.current.buffer){e.preventDefault(),L(` `,r,s);return}if(a){if(e.preventDefault(),e.repeat)return;a.click()}return;case`Tab`:p.focusRootTrigger(),p.closeAll(`none`);return;default:e.key.length!==1||e.ctrlKey||e.metaKey||e.altKey||(e.preventDefault(),L(e.key,r,s))}},z=e=>{C?.(e);let t=i.contentRef.current,n=e.target;if(t&&n.hasAttribute(`data-menu-item`)&&t.contains(n))for(let e of o.getMenuItems(t))e.tabIndex=e===n?0:-1},B=e=>{S?.(e),i.parent?.cancelSubTimer()},V=T??(w?void 0:i.triggerRef.current?.id||i.triggerId),H=_===void 0?y:{...y,"--_max-h":typeof _==`number`?`${_}px`:_};return(0,l.jsx)(n.OverlayLayerProvider,{layer:F,children:(0,l.jsx)(o.MenuLevelContext.Provider,{value:i,children:(0,l.jsx)(`div`,{ref:D,className:s.default.positioner,style:M.style,dir:k,children:(0,l.jsx)(`div`,{"aria-label":w,"aria-labelledby":V,tabIndex:-1,...E,role:`menu`,"aria-orientation":`vertical`,id:i.contentId,ref:O,className:r.cx(s.default.content,u[p.size],v),style:H,"data-side":P,"data-state":`open`,"data-menu-tree":p.treeId,onKeyDown:R,onPointerEnter:B,onFocus:z,children:m})})})})};exports.MenuContent=p,exports.MenuSurface=m;