haze-ui 1.26.0 → 1.28.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 (479) hide show
  1. package/README.md +420 -36
  2. package/dist/components/Anchor/Anchor.js +78 -0
  3. package/dist/components/Anchor/index.js +3 -0
  4. package/dist/components/AppShell/AppShell.js +44 -0
  5. package/dist/components/AppShell/index.js +3 -0
  6. package/dist/components/AspectRatio/AspectRatio.js +0 -1
  7. package/dist/components/AspectRatio/index.js +0 -1
  8. package/dist/components/Badge/Badge.js +5 -17
  9. package/dist/components/Badge/badge-styles.js +15 -0
  10. package/dist/components/Badge/index.js +3 -3
  11. package/dist/components/BottomSheet/BottomSheet.js +133 -22
  12. package/dist/components/Button/index.js +4 -3
  13. package/dist/components/Calendar/Calendar.js +525 -78
  14. package/dist/components/Calendar/date.js +35 -2
  15. package/dist/components/Card/Card.js +0 -1
  16. package/dist/components/Card/index.js +0 -1
  17. package/dist/components/Carousel/Carousel.js +64 -41
  18. package/dist/components/Cascader/Cascader.js +222 -140
  19. package/dist/components/Chart/Chart.js +34 -0
  20. package/dist/components/Chart/chart-elements.js +164 -0
  21. package/dist/components/Chart/index.js +3 -0
  22. package/dist/components/ChatContainer/ChatContainer.js +36 -16
  23. package/dist/components/ChatInput/ChatInput.js +49 -29
  24. package/dist/components/ChatMessage/ChatMessage.js +76 -29
  25. package/dist/components/Checkbox/Checkbox.js +6 -5
  26. package/dist/components/Checkbox/CheckboxCore.js +6 -5
  27. package/dist/components/CodeBlock/CodeBlock.js +39 -10
  28. package/dist/components/CodeBlock/index.js +0 -1
  29. package/dist/components/Collapsible/Collapsible.js +23 -10
  30. package/dist/components/ColorPicker/ColorPicker.js +5 -4
  31. package/dist/components/ColorPicker/ColorPickerCore.js +5 -4
  32. package/dist/components/Combobox/Combobox.js +202 -75
  33. package/dist/components/Combobox/ComboboxGroup.js +23 -0
  34. package/dist/components/Combobox/ComboboxOption.js +7 -6
  35. package/dist/components/Combobox/index.js +4 -3
  36. package/dist/components/Command/Command.js +102 -59
  37. package/dist/components/Command/CommandDialog.js +48 -0
  38. package/dist/components/Command/command-filter.js +16 -0
  39. package/dist/components/Command/index.js +3 -2
  40. package/dist/components/ConfirmDialog/ConfirmDialog.js +3 -3
  41. package/dist/components/Container/Container.js +0 -1
  42. package/dist/components/Container/index.js +0 -1
  43. package/dist/components/ContextMenu/ContextMenuContent.js +4 -4
  44. package/dist/components/DataTable/CellEditor.js +38 -0
  45. package/dist/components/DataTable/DataTable.js +394 -143
  46. package/dist/components/DataTable/csv.js +29 -0
  47. package/dist/components/DataTable/features.js +25 -0
  48. package/dist/components/DataTable/index.js +3 -1
  49. package/dist/components/DataTable/summary.js +17 -0
  50. package/dist/components/DateRangePicker/DateRangePicker.js +31 -13
  51. package/dist/components/DateRangePicker/DateRangePickerCore.js +59 -27
  52. package/dist/components/DateRangePicker/presets.js +43 -0
  53. package/dist/components/Datepicker/Datepicker.js +17 -12
  54. package/dist/components/Datepicker/DatepickerCore.js +73 -39
  55. package/dist/components/Datepicker/datetime.js +23 -0
  56. package/dist/components/Descriptions/Descriptions.js +46 -0
  57. package/dist/components/Descriptions/index.js +3 -0
  58. package/dist/components/Dialog/Dialog.js +56 -32
  59. package/dist/components/DiffViewer/DiffViewer.js +31 -30
  60. package/dist/components/Divider/Divider.js +0 -1
  61. package/dist/components/Divider/index.js +0 -1
  62. package/dist/components/Drawer/Drawer.js +49 -29
  63. package/dist/components/DropdownMenu/DropdownMenu.js +38 -26
  64. package/dist/components/DropdownMenu/DropdownMenuSub.js +23 -0
  65. package/dist/components/DropdownMenu/DropdownMenuSubContent.js +24 -0
  66. package/dist/components/DropdownMenu/DropdownMenuSubTrigger.js +30 -0
  67. package/dist/components/DropdownMenu/index.js +4 -1
  68. package/dist/components/FilePreview/FilePreview.js +135 -0
  69. package/dist/components/FilePreview/file-preview-format.js +23 -0
  70. package/dist/components/FilePreview/index.js +3 -0
  71. package/dist/components/Flex/Flex.js +0 -1
  72. package/dist/components/Flex/index.js +0 -1
  73. package/dist/components/FloatButton/FloatButton.js +42 -0
  74. package/dist/components/FloatButton/FloatButtonGroup.js +58 -0
  75. package/dist/components/FloatButton/float-button-context.js +9 -0
  76. package/dist/components/FloatButton/float-button-glyphs.js +26 -0
  77. package/dist/components/FloatButton/float-button-styles.js +14 -0
  78. package/dist/components/FloatButton/index.js +4 -0
  79. package/dist/components/Fullscreen/Fullscreen.js +29 -0
  80. package/dist/components/Fullscreen/index.js +3 -0
  81. package/dist/components/Grid/Grid.js +0 -1
  82. package/dist/components/Grid/GridItem.js +0 -1
  83. package/dist/components/Grid/index.js +0 -1
  84. package/dist/components/Icon/Icon.js +0 -1
  85. package/dist/components/Icon/index.js +0 -1
  86. package/dist/components/Image/Image.js +37 -19
  87. package/dist/components/Image/ImagePreview.js +233 -0
  88. package/dist/components/InlineCompletion/InlineCompletion.js +81 -0
  89. package/dist/components/InlineCompletion/index.js +3 -0
  90. package/dist/components/Input/Input.js +6 -5
  91. package/dist/components/Input/InputCore.js +3 -2
  92. package/dist/components/JsonView/JsonView.js +209 -0
  93. package/dist/components/JsonView/index.js +3 -0
  94. package/dist/components/JsonView/json-view-utils.js +24 -0
  95. package/dist/components/Kbd/Kbd.js +0 -1
  96. package/dist/components/Kbd/index.js +0 -1
  97. package/dist/components/LocaleProvider/LocaleProvider.js +16 -13
  98. package/dist/components/LocaleProvider/index.js +5 -3
  99. package/dist/components/LocaleProvider/ja-jp.js +222 -0
  100. package/dist/components/LocaleProvider/locale.js +99 -5
  101. package/dist/components/LocaleProvider/strings.js +15 -0
  102. package/dist/components/LocaleProvider/useStrings.js +13 -11
  103. package/dist/components/LocaleProvider/zh-cn.js +99 -5
  104. package/dist/components/Masonry/Masonry.js +29 -0
  105. package/dist/components/Masonry/index.js +3 -0
  106. package/dist/components/Masonry/masonry-distribute.js +15 -0
  107. package/dist/components/Mentions/Mentions.js +6 -5
  108. package/dist/components/Mentions/MentionsCore.js +69 -68
  109. package/dist/components/Menu/Menu.js +5 -5
  110. package/dist/components/Menu/MenuSub.js +23 -0
  111. package/dist/components/Menu/MenuSubContent.js +24 -0
  112. package/dist/components/Menu/MenuSubTrigger.js +30 -0
  113. package/dist/components/Menu/index.js +4 -1
  114. package/dist/components/NumberInput/NumberInput.js +6 -5
  115. package/dist/components/NumberInput/NumberInputCore.js +9 -8
  116. package/dist/components/OTPInput/OTPInput.js +5 -4
  117. package/dist/components/OTPInput/OTPInputCore.js +34 -33
  118. package/dist/components/PasswordInput/PasswordInput.js +5 -4
  119. package/dist/components/PasswordInput/PasswordInputCore.js +8 -7
  120. package/dist/components/Popover/Popover.js +43 -31
  121. package/dist/components/PromptInput/PromptInput.js +213 -0
  122. package/dist/components/PromptInput/index.js +3 -0
  123. package/dist/components/Radio/Radio.js +7 -6
  124. package/dist/components/Radio/RadioGroup.js +5 -4
  125. package/dist/components/Radio/RadioGroupCore.js +23 -14
  126. package/dist/components/Rating/Rating.js +5 -4
  127. package/dist/components/Rating/RatingCore.js +62 -28
  128. package/dist/components/Resizable/index.js +1 -1
  129. package/dist/components/Segmented/Segmented.js +5 -4
  130. package/dist/components/Segmented/SegmentedCore.js +22 -18
  131. package/dist/components/Select/OptionGroup.js +12 -0
  132. package/dist/components/Select/Select.js +20 -9
  133. package/dist/components/Select/SelectCore.js +74 -13
  134. package/dist/components/Select/SelectFloating.js +256 -0
  135. package/dist/components/Select/index.js +5 -4
  136. package/dist/components/Select/select-options.js +57 -0
  137. package/dist/components/Sidebar/Sidebar.js +9 -9
  138. package/dist/components/Signature/Signature.js +165 -0
  139. package/dist/components/Signature/index.js +3 -0
  140. package/dist/components/Signature/signature-points.js +28 -0
  141. package/dist/components/Skeleton/Skeleton.js +0 -1
  142. package/dist/components/Skeleton/index.js +0 -1
  143. package/dist/components/Slider/Slider.js +16 -8
  144. package/dist/components/Slider/SliderCore.js +75 -12
  145. package/dist/components/Sources/Sources.js +109 -0
  146. package/dist/components/Sources/index.js +3 -0
  147. package/dist/components/Stat/Stat.js +0 -1
  148. package/dist/components/Stat/index.js +0 -1
  149. package/dist/components/Switch/Switch.js +6 -5
  150. package/dist/components/Switch/SwitchCore.js +3 -2
  151. package/dist/components/Tabs/Tab.js +7 -4
  152. package/dist/components/Tabs/TabList.js +38 -7
  153. package/dist/components/Tabs/TabPanel.js +4 -3
  154. package/dist/components/Tabs/Tabs.js +11 -6
  155. package/dist/components/TagGroup/SortableTagGroup.js +26 -0
  156. package/dist/components/TagGroup/TagGroup.js +4 -6
  157. package/dist/components/TagGroup/TagGroupItem.js +17 -11
  158. package/dist/components/TagGroup/index.js +2 -1
  159. package/dist/components/TagGroup/tag-group-styles.js +7 -0
  160. package/dist/components/TagInput/SortableTagInput.js +24 -0
  161. package/dist/components/TagInput/SortableTagInputCore.js +52 -0
  162. package/dist/components/TagInput/TagInput.js +5 -4
  163. package/dist/components/TagInput/TagInputCore.js +71 -57
  164. package/dist/components/TagInput/index.js +3 -1
  165. package/dist/components/TagInput/tag-input-styles.js +7 -0
  166. package/dist/components/Textarea/Textarea.js +6 -5
  167. package/dist/components/Textarea/TextareaCore.js +3 -2
  168. package/dist/components/TimePicker/TimePicker.js +6 -5
  169. package/dist/components/TimePicker/TimePickerCore.js +3 -2
  170. package/dist/components/Toast/Toast.js +44 -42
  171. package/dist/components/Toast/ToastContainer.js +67 -47
  172. package/dist/components/Toast/ToastContext.js +23 -4
  173. package/dist/components/Toast/toast2.js +63 -28
  174. package/dist/components/Toast/useToast.js +9 -7
  175. package/dist/components/Toggle/Toggle.js +20 -0
  176. package/dist/components/Toggle/ToggleCore.js +31 -0
  177. package/dist/components/Toggle/index.js +4 -0
  178. package/dist/components/Toolbar/Toolbar.js +33 -32
  179. package/dist/components/Toolbar/ToolbarToggle.js +31 -0
  180. package/dist/components/Toolbar/index.js +2 -1
  181. package/dist/components/Tooltip/Tooltip.js +1 -1
  182. package/dist/components/Tour/Tour.js +57 -53
  183. package/dist/components/Tree/Tree.js +265 -80
  184. package/dist/components/Tree/TreeItem.js +91 -55
  185. package/dist/components/Tree/utils.js +82 -10
  186. package/dist/components/Typography/Typography.js +0 -1
  187. package/dist/components/Typography/index.js +0 -1
  188. package/dist/components/Upload/Upload.js +24 -8
  189. package/dist/components/Upload/UploadCore.js +230 -37
  190. package/dist/components/Upload/UploadList.js +300 -0
  191. package/dist/components/Upload/xhr-upload.js +22 -0
  192. package/dist/components/VirtualList/VirtualList.js +84 -56
  193. package/dist/components/Watermark/Watermark.js +55 -0
  194. package/dist/components/Watermark/index.js +3 -0
  195. package/dist/css/anchor.css +2 -0
  196. package/dist/css/app-shell.css +2 -0
  197. package/dist/css/badge.css +1 -1
  198. package/dist/css/bottom-sheet.css +1 -1
  199. package/dist/css/button.css +1 -1
  200. package/dist/css/calendar.css +1 -1
  201. package/dist/css/cascader.css +1 -1
  202. package/dist/css/chart.css +2 -0
  203. package/dist/css/chat-container.css +1 -1
  204. package/dist/css/chat-message.css +1 -1
  205. package/dist/css/combobox.css +3 -2
  206. package/dist/css/command.css +2 -1
  207. package/dist/css/context-menu.css +1 -1
  208. package/dist/css/data-table.css +2 -1
  209. package/dist/css/date-range-picker.css +1 -1
  210. package/dist/css/datepicker.css +2 -2
  211. package/dist/css/descriptions.css +2 -0
  212. package/dist/css/dialog.css +1 -1
  213. package/dist/css/drawer.css +1 -1
  214. package/dist/css/dropdown-menu.css +4 -1
  215. package/dist/css/file-preview.css +2 -0
  216. package/dist/css/float-button.css +2 -0
  217. package/dist/css/image.css +2 -1
  218. package/dist/css/inline-completion.css +2 -0
  219. package/dist/css/json-view.css +2 -0
  220. package/dist/css/masonry.css +2 -0
  221. package/dist/css/menu.css +4 -1
  222. package/dist/css/popover.css +1 -1
  223. package/dist/css/prompt-input.css +2 -0
  224. package/dist/css/rating.css +1 -1
  225. package/dist/css/select.css +3 -1
  226. package/dist/css/signature.css +2 -0
  227. package/dist/css/slider.css +1 -1
  228. package/dist/css/sources.css +2 -0
  229. package/dist/css/tag-group.css +3 -1
  230. package/dist/css/tag-input.css +2 -1
  231. package/dist/css/toggle.css +2 -0
  232. package/dist/css/toolbar.css +1 -0
  233. package/dist/css/tooltip.css +1 -1
  234. package/dist/css/tree.css +2 -2
  235. package/dist/css/upload.css +2 -1
  236. package/dist/css/watermark.css +2 -0
  237. package/dist/css-manifest.json +75 -1
  238. package/dist/form/FormItem.js +55 -50
  239. package/dist/form/FormList.js +79 -0
  240. package/dist/form/index.js +5 -1
  241. package/dist/form/standard-schema.js +16 -0
  242. package/dist/haze-ui.css +61 -30
  243. package/dist/headless/index.js +19 -0
  244. package/dist/hooks/useClickOutside.js +24 -0
  245. package/dist/hooks/useDarkMode.js +27 -0
  246. package/dist/hooks/useFullscreen.js +42 -0
  247. package/dist/hooks/useHotkeys.js +77 -0
  248. package/dist/hooks/useInView.js +27 -0
  249. package/dist/hooks/useLocalStorage.js +8 -0
  250. package/dist/hooks/useMediaQuery.js +2 -1
  251. package/dist/hooks/usePrevious.js +11 -0
  252. package/dist/hooks/useSessionStorage.js +8 -0
  253. package/dist/hooks/useStorageState.js +80 -0
  254. package/dist/index.js +220 -171
  255. package/dist/registry.json +2435 -91
  256. package/dist/tokens/colors.js +0 -1
  257. package/dist/tokens/index.js +0 -1
  258. package/dist/tokens/motion.js +0 -1
  259. package/dist/tokens/oklch.js +0 -1
  260. package/dist/tokens/palette.js +0 -1
  261. package/dist/tokens/registry.js +17 -28
  262. package/dist/tokens/spacing.js +0 -1
  263. package/dist/tokens/typography.js +0 -1
  264. package/dist/types/components/Anchor/Anchor.d.ts +25 -0
  265. package/dist/types/components/Anchor/index.d.ts +2 -0
  266. package/dist/types/components/AppShell/AppShell.d.ts +17 -0
  267. package/dist/types/components/AppShell/index.d.ts +2 -0
  268. package/dist/types/components/Badge/badge-styles.d.ts +21 -0
  269. package/dist/types/components/Badge/index.d.ts +1 -0
  270. package/dist/types/components/BottomSheet/BottomSheet.d.ts +52 -3
  271. package/dist/types/components/BottomSheet/index.d.ts +1 -1
  272. package/dist/types/components/Button/Button.d.ts +7 -0
  273. package/dist/types/components/Button/ButtonLink.d.ts +3 -0
  274. package/dist/types/components/Button/index.d.ts +1 -0
  275. package/dist/types/components/Button/styles.d.ts +17 -0
  276. package/dist/types/components/Calendar/Calendar.d.ts +71 -7
  277. package/dist/types/components/Calendar/date.d.ts +52 -0
  278. package/dist/types/components/Calendar/index.d.ts +1 -1
  279. package/dist/types/components/Cascader/Cascader.d.ts +48 -3
  280. package/dist/types/components/Chart/Chart.d.ts +43 -0
  281. package/dist/types/components/Chart/chart-elements.d.ts +104 -0
  282. package/dist/types/components/Chart/index.d.ts +2 -0
  283. package/dist/types/components/ChatContainer/ChatContainer.d.ts +18 -3
  284. package/dist/types/components/ChatInput/ChatInput.d.ts +11 -1
  285. package/dist/types/components/ChatMessage/ChatMessage.d.ts +13 -1
  286. package/dist/types/components/Checkbox/Checkbox.d.ts +6 -2
  287. package/dist/types/components/Checkbox/CheckboxCore.d.ts +4 -2
  288. package/dist/types/components/CodeBlock/CodeBlock.d.ts +19 -2
  289. package/dist/types/components/CodeBlock/index.d.ts +1 -1
  290. package/dist/types/components/Collapsible/Collapsible.d.ts +24 -2
  291. package/dist/types/components/Collapsible/index.d.ts +1 -1
  292. package/dist/types/components/ColorPicker/ColorPicker.d.ts +7 -1
  293. package/dist/types/components/ColorPicker/ColorPickerCore.d.ts +7 -1
  294. package/dist/types/components/Combobox/Combobox.d.ts +111 -7
  295. package/dist/types/components/Combobox/ComboboxGroup.d.ts +22 -0
  296. package/dist/types/components/Combobox/ComboboxOption.d.ts +7 -2
  297. package/dist/types/components/Combobox/index.d.ts +3 -1
  298. package/dist/types/components/Command/Command.d.ts +70 -6
  299. package/dist/types/components/Command/CommandDialog.d.ts +36 -0
  300. package/dist/types/components/Command/command-filter.d.ts +34 -0
  301. package/dist/types/components/Command/index.d.ts +4 -2
  302. package/dist/types/components/DataTable/CellEditor.d.ts +24 -0
  303. package/dist/types/components/DataTable/DataTable.d.ts +184 -32
  304. package/dist/types/components/DataTable/csv.d.ts +36 -0
  305. package/dist/types/components/DataTable/features.d.ts +124 -0
  306. package/dist/types/components/DataTable/index.d.ts +4 -1
  307. package/dist/types/components/DataTable/summary.d.ts +19 -0
  308. package/dist/types/components/DateRangePicker/DateRangePicker.d.ts +28 -2
  309. package/dist/types/components/DateRangePicker/DateRangePickerCore.d.ts +26 -2
  310. package/dist/types/components/DateRangePicker/index.d.ts +2 -2
  311. package/dist/types/components/DateRangePicker/presets.d.ts +23 -0
  312. package/dist/types/components/Datepicker/Datepicker.d.ts +21 -1
  313. package/dist/types/components/Datepicker/DatepickerCore.d.ts +29 -2
  314. package/dist/types/components/Datepicker/datetime.d.ts +27 -0
  315. package/dist/types/components/Datepicker/index.d.ts +1 -1
  316. package/dist/types/components/Descriptions/Descriptions.d.ts +30 -0
  317. package/dist/types/components/Descriptions/index.d.ts +2 -0
  318. package/dist/types/components/Dialog/Dialog.d.ts +68 -3
  319. package/dist/types/components/Dialog/index.d.ts +1 -1
  320. package/dist/types/components/Drawer/Drawer.d.ts +33 -3
  321. package/dist/types/components/Drawer/index.d.ts +1 -1
  322. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +23 -3
  323. package/dist/types/components/DropdownMenu/DropdownMenuSub.d.ts +18 -0
  324. package/dist/types/components/DropdownMenu/DropdownMenuSubContent.d.ts +13 -0
  325. package/dist/types/components/DropdownMenu/DropdownMenuSubTrigger.d.ts +14 -0
  326. package/dist/types/components/DropdownMenu/index.d.ts +7 -1
  327. package/dist/types/components/FilePreview/FilePreview.d.ts +35 -0
  328. package/dist/types/components/FilePreview/file-preview-format.d.ts +20 -0
  329. package/dist/types/components/FilePreview/index.d.ts +2 -0
  330. package/dist/types/components/FloatButton/FloatButton.d.ts +43 -0
  331. package/dist/types/components/FloatButton/FloatButtonGroup.d.ts +33 -0
  332. package/dist/types/components/FloatButton/float-button-context.d.ts +11 -0
  333. package/dist/types/components/FloatButton/float-button-glyphs.d.ts +3 -0
  334. package/dist/types/components/FloatButton/float-button-styles.d.ts +58 -0
  335. package/dist/types/components/FloatButton/index.d.ts +4 -0
  336. package/dist/types/components/Fullscreen/Fullscreen.d.ts +34 -0
  337. package/dist/types/components/Fullscreen/index.d.ts +3 -0
  338. package/dist/types/components/Image/Image.d.ts +20 -5
  339. package/dist/types/components/Image/ImagePreview.d.ts +13 -0
  340. package/dist/types/components/Image/index.d.ts +1 -1
  341. package/dist/types/components/InlineCompletion/InlineCompletion.d.ts +29 -0
  342. package/dist/types/components/InlineCompletion/index.d.ts +2 -0
  343. package/dist/types/components/Input/Input.d.ts +5 -2
  344. package/dist/types/components/Input/InputCore.d.ts +4 -2
  345. package/dist/types/components/JsonView/JsonView.d.ts +26 -0
  346. package/dist/types/components/JsonView/index.d.ts +2 -0
  347. package/dist/types/components/JsonView/json-view-utils.d.ts +22 -0
  348. package/dist/types/components/LocaleProvider/LocaleContext.d.ts +9 -0
  349. package/dist/types/components/LocaleProvider/LocaleProvider.d.ts +12 -1
  350. package/dist/types/components/LocaleProvider/index.d.ts +3 -0
  351. package/dist/types/components/LocaleProvider/ja-jp.d.ts +13 -0
  352. package/dist/types/components/LocaleProvider/locale.d.ts +100 -0
  353. package/dist/types/components/LocaleProvider/strings.d.ts +28 -0
  354. package/dist/types/components/Masonry/Masonry.d.ts +34 -0
  355. package/dist/types/components/Masonry/index.d.ts +2 -0
  356. package/dist/types/components/Masonry/masonry-distribute.d.ts +16 -0
  357. package/dist/types/components/Mentions/Mentions.d.ts +5 -2
  358. package/dist/types/components/Mentions/MentionsCore.d.ts +4 -2
  359. package/dist/types/components/Menu/MenuSub.d.ts +18 -0
  360. package/dist/types/components/Menu/MenuSubContent.d.ts +12 -0
  361. package/dist/types/components/Menu/MenuSubTrigger.d.ts +14 -0
  362. package/dist/types/components/Menu/index.d.ts +6 -0
  363. package/dist/types/components/NumberInput/NumberInput.d.ts +5 -2
  364. package/dist/types/components/NumberInput/NumberInputCore.d.ts +4 -2
  365. package/dist/types/components/OTPInput/OTPInput.d.ts +5 -1
  366. package/dist/types/components/OTPInput/OTPInputCore.d.ts +4 -1
  367. package/dist/types/components/PasswordInput/PasswordInput.d.ts +5 -1
  368. package/dist/types/components/PasswordInput/PasswordInputCore.d.ts +4 -1
  369. package/dist/types/components/Popover/Popover.d.ts +41 -3
  370. package/dist/types/components/Popover/index.d.ts +1 -1
  371. package/dist/types/components/PromptInput/PromptInput.d.ts +46 -0
  372. package/dist/types/components/PromptInput/index.d.ts +2 -0
  373. package/dist/types/components/Radio/Radio.d.ts +5 -2
  374. package/dist/types/components/Radio/RadioGroup.d.ts +8 -2
  375. package/dist/types/components/Radio/RadioGroupCore.d.ts +7 -2
  376. package/dist/types/components/Rating/Rating.d.ts +8 -1
  377. package/dist/types/components/Rating/RatingCore.d.ts +7 -1
  378. package/dist/types/components/Resizable/index.d.ts +2 -0
  379. package/dist/types/components/Segmented/Segmented.d.ts +8 -1
  380. package/dist/types/components/Segmented/SegmentedCore.d.ts +7 -2
  381. package/dist/types/components/Select/OptionGroup.d.ts +16 -0
  382. package/dist/types/components/Select/Select.d.ts +78 -4
  383. package/dist/types/components/Select/SelectCore.d.ts +79 -6
  384. package/dist/types/components/Select/SelectFloating.d.ts +94 -0
  385. package/dist/types/components/Select/index.d.ts +2 -0
  386. package/dist/types/components/Select/select-options.d.ts +53 -0
  387. package/dist/types/components/Signature/Signature.d.ts +51 -0
  388. package/dist/types/components/Signature/index.d.ts +2 -0
  389. package/dist/types/components/Signature/signature-points.d.ts +31 -0
  390. package/dist/types/components/Slider/Slider.d.ts +29 -4
  391. package/dist/types/components/Slider/SliderCore.d.ts +35 -6
  392. package/dist/types/components/Sources/Sources.d.ts +37 -0
  393. package/dist/types/components/Sources/index.d.ts +2 -0
  394. package/dist/types/components/Switch/Switch.d.ts +5 -2
  395. package/dist/types/components/Switch/SwitchCore.d.ts +4 -2
  396. package/dist/types/components/Tabs/TabList.d.ts +7 -0
  397. package/dist/types/components/Tabs/Tabs.d.ts +8 -1
  398. package/dist/types/components/Tabs/TabsContext.d.ts +20 -0
  399. package/dist/types/components/Tabs/index.d.ts +1 -0
  400. package/dist/types/components/TagGroup/SortableTagGroup.d.ts +20 -0
  401. package/dist/types/components/TagGroup/TagGroup.d.ts +3 -0
  402. package/dist/types/components/TagGroup/index.d.ts +2 -0
  403. package/dist/types/components/TagGroup/tag-group-styles.d.ts +7 -0
  404. package/dist/types/components/TagInput/SortableTagInput.d.ts +34 -0
  405. package/dist/types/components/TagInput/SortableTagInputCore.d.ts +18 -0
  406. package/dist/types/components/TagInput/TagInput.d.ts +5 -1
  407. package/dist/types/components/TagInput/TagInputCore.d.ts +6 -2
  408. package/dist/types/components/TagInput/index.d.ts +4 -0
  409. package/dist/types/components/TagInput/tag-input-styles.d.ts +12 -0
  410. package/dist/types/components/Textarea/Textarea.d.ts +5 -2
  411. package/dist/types/components/Textarea/TextareaCore.d.ts +4 -2
  412. package/dist/types/components/TimePicker/TimePicker.d.ts +5 -2
  413. package/dist/types/components/TimePicker/TimePickerCore.d.ts +4 -2
  414. package/dist/types/components/Toast/Toast.d.ts +31 -2
  415. package/dist/types/components/Toast/ToastContainer.d.ts +11 -1
  416. package/dist/types/components/Toast/ToastContext.d.ts +44 -3
  417. package/dist/types/components/Toast/index.d.ts +1 -1
  418. package/dist/types/components/Toast/toast.d.ts +35 -4
  419. package/dist/types/components/Toast/useToast.d.ts +16 -4
  420. package/dist/types/components/Toggle/Toggle.d.ts +19 -0
  421. package/dist/types/components/Toggle/ToggleCore.d.ts +23 -0
  422. package/dist/types/components/Toggle/index.d.ts +4 -0
  423. package/dist/types/components/Toolbar/ToolbarToggle.d.ts +19 -0
  424. package/dist/types/components/Toolbar/index.d.ts +2 -0
  425. package/dist/types/components/Tour/Tour.d.ts +3 -3
  426. package/dist/types/components/Tree/Tree.d.ts +3 -3
  427. package/dist/types/components/Tree/TreeItem.d.ts +16 -1
  428. package/dist/types/components/Tree/types.d.ts +51 -0
  429. package/dist/types/components/Tree/utils.d.ts +73 -0
  430. package/dist/types/components/Upload/Upload.d.ts +47 -3
  431. package/dist/types/components/Upload/UploadCore.d.ts +95 -4
  432. package/dist/types/components/Upload/UploadList.d.ts +18 -0
  433. package/dist/types/components/Upload/index.d.ts +1 -0
  434. package/dist/types/components/Upload/types.d.ts +60 -0
  435. package/dist/types/components/Upload/xhr-upload.d.ts +20 -0
  436. package/dist/types/components/VirtualList/VirtualList.d.ts +16 -1
  437. package/dist/types/components/Watermark/Watermark.d.ts +32 -0
  438. package/dist/types/components/Watermark/index.d.ts +2 -0
  439. package/dist/types/form/FormItem.d.ts +33 -8
  440. package/dist/types/form/FormList.d.ts +113 -0
  441. package/dist/types/form/index.d.ts +26 -0
  442. package/dist/types/form/standard-schema.d.ts +30 -0
  443. package/dist/types/headless/index.d.ts +399 -0
  444. package/dist/types/hooks/index.d.ts +13 -0
  445. package/dist/types/hooks/useClickOutside.d.ts +46 -0
  446. package/dist/types/hooks/useDarkMode.d.ts +40 -0
  447. package/dist/types/hooks/useFullscreen.d.ts +33 -0
  448. package/dist/types/hooks/useHotkeys.d.ts +53 -0
  449. package/dist/types/hooks/useInView.d.ts +32 -0
  450. package/dist/types/hooks/useLocalStorage.d.ts +33 -0
  451. package/dist/types/hooks/useMediaQuery.d.ts +3 -0
  452. package/dist/types/hooks/usePrevious.d.ts +18 -0
  453. package/dist/types/hooks/useSessionStorage.d.ts +26 -0
  454. package/dist/types/hooks/useStorageState.d.ts +12 -0
  455. package/dist/types/index.d.ts +79 -37
  456. package/dist/types/utils/collision.d.ts +39 -1
  457. package/dist/types/utils/direction.d.ts +22 -0
  458. package/dist/types/utils/floating.d.ts +32 -4
  459. package/dist/types/utils/focus-scope.d.ts +2 -1
  460. package/dist/types/utils/focus.d.ts +2 -1
  461. package/dist/types/utils/menuKeyboard.d.ts +19 -4
  462. package/dist/types/utils/refs.d.ts +16 -0
  463. package/dist/types/utils/sortable-handle.d.ts +25 -0
  464. package/dist/types/utils/sortable-shared.d.ts +30 -0
  465. package/dist/types/utils/sortable.d.ts +36 -0
  466. package/dist/types/utils/submenu.d.ts +63 -0
  467. package/dist/types/utils/view-transition.d.ts +28 -0
  468. package/dist/utils/classnames.js +0 -1
  469. package/dist/utils/collision.js +37 -26
  470. package/dist/utils/direction.js +34 -0
  471. package/dist/utils/floating.js +163 -143
  472. package/dist/utils/menuKeyboard.js +59 -46
  473. package/dist/utils/refs.js +9 -0
  474. package/dist/utils/sortable-handle.js +12 -0
  475. package/dist/utils/sortable-shared.js +16 -0
  476. package/dist/utils/sortable.js +47 -0
  477. package/dist/utils/submenu.js +106 -0
  478. package/dist/utils/view-transition.js +26 -0
  479. package/package.json +169 -16
@@ -1,69 +1,89 @@
1
1
 
2
2
  "use client";
3
3
  import { classnames as e } from "../../utils/classnames.js";
4
- import { Presence as t } from "../../utils/presence.js";
5
- import n from "./Toast.js";
6
- import { ToastProvider as r } from "./ToastContext.js";
7
- import { nextToastId as i, subscribeToastChannel as a } from "./toast2.js";
4
+ import { useStrings as t } from "../LocaleProvider/useStrings.js";
5
+ import { Presence as n } from "../../utils/presence.js";
6
+ import r from "./Toast.js";
7
+ import { ToastProvider as i, applyToastPatch as a, deferredCopyKey as o } from "./ToastContext.js";
8
+ import { nextToastId as s, subscribeToastChannel as c } from "./toast2.js";
8
9
  /* empty css */
9
- import { jsx as o, jsxs as s } from "react/jsx-runtime";
10
- import { useCallback as c, useEffect as l, useRef as u, useState as d } from "react";
10
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
11
+ import { useCallback as d, useEffect as f, useRef as p, useState as m } from "react";
11
12
  //#region src/lib/components/Toast/ToastContainer.tsx
12
- var f = "haze-ToastContainer__containerBase", p = {
13
+ var h = "haze-ToastContainer__containerBase", g = {
13
14
  "top-left": "haze-ToastContainer__top-left",
14
15
  "top-right": "haze-ToastContainer__top-right",
15
16
  "bottom-left": "haze-ToastContainer__bottom-left",
16
17
  "bottom-right": "haze-ToastContainer__bottom-right"
17
18
  };
18
- function m({ children: m, maxCount: h, placement: g = "bottom-right" }) {
19
- let [_, v] = d([]), [y, b] = d([]), x = u([]);
20
- l(() => {
21
- x.current = _;
22
- }, [_]);
23
- let S = c((e) => {
24
- v((t) => {
19
+ function _({ children: _, maxCount: v, placement: y = "bottom-right", classNames: b }) {
20
+ let [x, S] = m([]), [C, w] = m([]), T = p([]);
21
+ f(() => {
22
+ T.current = x;
23
+ }, [x]);
24
+ let E = d((e) => {
25
+ S((t) => {
25
26
  let n = [...t, e];
26
- return h === void 0 || n.length <= h ? n : n.slice(n.length - h);
27
+ return v === void 0 || n.length <= v ? n : n.slice(n.length - v);
27
28
  });
28
- }, [h]), C = c((e) => {
29
- S({
29
+ }, [v]), D = d((e) => {
30
+ let t = s();
31
+ return E({
30
32
  ...e,
31
- id: i()
32
- });
33
- }, [S]), w = c((e) => {
34
- b((t) => t.includes(e) ? t : [...t, e]);
35
- }, []), T = c((e) => {
36
- v((t) => t.filter((t) => t.id !== e)), b((t) => t.filter((t) => t !== e));
37
- }, []), E = c((e) => {
33
+ id: t
34
+ }), t;
35
+ }, [E]), O = d((e, t) => {
36
+ S((n) => n.map((n) => n.id === e ? a(n, t) : n));
37
+ }, []), k = d((e) => {
38
+ w((t) => t.includes(e) ? t : [...t, e]);
39
+ }, []), A = d((e) => {
40
+ S((t) => t.filter((t) => t.id !== e)), w((t) => t.filter((t) => t !== e));
41
+ }, []), j = d((e) => {
38
42
  if (e === void 0) {
39
- x.current.forEach((e) => w(e.id));
43
+ T.current.forEach((e) => k(e.id));
40
44
  return;
41
45
  }
42
- w(e);
43
- }, [w]);
44
- return l(() => a({
45
- onToast: S,
46
- onDismiss: E
47
- }), [S, E]), /* @__PURE__ */ s(r, {
46
+ k(e);
47
+ }, [k]);
48
+ f(() => c({
49
+ onToast: E,
50
+ onDismiss: j,
51
+ onUpdate: O
52
+ }), [
53
+ E,
54
+ j,
55
+ O
56
+ ]);
57
+ let M = t("toast");
58
+ return /* @__PURE__ */ u(i, {
48
59
  value: {
49
- toasts: _,
50
- addToast: C,
51
- removeToast: w
60
+ toasts: x,
61
+ addToast: D,
62
+ removeToast: k,
63
+ updateToast: O
52
64
  },
53
- children: [m, /* @__PURE__ */ o("div", {
54
- className: e([f, p[g]]),
55
- children: _.map((e) => /* @__PURE__ */ o(t, {
56
- present: !y.includes(e.id),
57
- onExited: () => T(e.id),
58
- children: /* @__PURE__ */ o(n, {
59
- variant: e.variant,
60
- duration: e.duration,
61
- onClose: () => w(e.id),
62
- children: e.content
63
- })
64
- }, e.id))
65
+ children: [_, /* @__PURE__ */ l("div", {
66
+ className: e([
67
+ h,
68
+ g[y],
69
+ b?.viewport
70
+ ]),
71
+ children: x.map((e) => {
72
+ let t = o(e.content);
73
+ return /* @__PURE__ */ l(n, {
74
+ present: !C.includes(e.id),
75
+ onExited: () => A(e.id),
76
+ children: /* @__PURE__ */ l(r, {
77
+ variant: e.variant,
78
+ duration: e.duration,
79
+ onClose: () => k(e.id),
80
+ classNames: b,
81
+ children: t ? M[t] : e.content
82
+ })
83
+ }, e.id);
84
+ })
65
85
  })]
66
86
  });
67
87
  }
68
88
  //#endregion
69
- export { m as default, p as toastPlacements };
89
+ export { _ as default, g as toastPlacements };
@@ -1,11 +1,30 @@
1
1
  "use client";
2
2
  import { createContext as e, useContext as t } from "react";
3
3
  //#region src/lib/components/Toast/ToastContext.ts
4
- var n = e(void 0), r = n.Provider;
5
- function i() {
6
- let e = t(n);
4
+ function n(e) {
5
+ return { deferredCopy: e };
6
+ }
7
+ function r(e) {
8
+ return e === "loading" || e === "success" || e === "error";
9
+ }
10
+ function i(e) {
11
+ if (typeof e != "object" || !e || !("deferredCopy" in e)) return null;
12
+ let t = e.deferredCopy;
13
+ return r(t) ? t : null;
14
+ }
15
+ function a(e, t) {
16
+ return {
17
+ ...e,
18
+ ...t.content !== void 0 && { content: t.content },
19
+ ...t.variant !== void 0 && { variant: t.variant },
20
+ ...t.duration !== void 0 && { duration: t.duration }
21
+ };
22
+ }
23
+ var o = e(void 0), s = o.Provider;
24
+ function c() {
25
+ let e = t(o);
7
26
  if (!e) throw Error("useToast must be used within <ToastContainer>");
8
27
  return e;
9
28
  }
10
29
  //#endregion
11
- export { r as ToastProvider, i as useToastContext };
30
+ export { s as ToastProvider, a as applyToastPatch, i as deferredCopyKey, n as deferredToastCopy, c as useToastContext };
@@ -1,45 +1,80 @@
1
1
  "use client";
2
+ import { applyToastPatch as e, deferredToastCopy as t } from "./ToastContext.js";
2
3
  //#region src/lib/components/Toast/toast.ts
3
- var e = [], t = /* @__PURE__ */ new Set(), n = 0;
4
- function r() {
5
- return n += 1, n;
4
+ var n = 100, r = [], i = /* @__PURE__ */ new Set(), a = 0;
5
+ function o() {
6
+ return a += 1, a;
6
7
  }
7
- function i(n, i) {
8
+ function s(e, t) {
8
9
  let a = {
9
- id: r(),
10
- content: n,
11
- variant: i?.variant ?? "info",
12
- duration: i?.duration ?? 3e3
13
- }, [o] = t;
14
- return o ? o.onToast(a) : (e.length >= 100 && e.shift(), e.push(a)), a.id;
15
- }
16
- function a(n) {
17
- if (n === void 0) {
18
- e.length = 0;
19
- let [n] = t;
20
- n?.onDismiss(void 0);
10
+ id: o(),
11
+ content: e,
12
+ variant: t?.variant ?? "info",
13
+ duration: t?.duration ?? 3e3
14
+ }, [s] = i;
15
+ return s ? s.onToast(a) : (r.length >= n && r.shift(), r.push(a)), a.id;
16
+ }
17
+ function c(e) {
18
+ if (e === void 0) {
19
+ r.length = 0;
20
+ let [e] = i;
21
+ e?.onDismiss(void 0);
22
+ return;
23
+ }
24
+ let t = r.findIndex((t) => t.id === e);
25
+ if (t !== -1) {
26
+ r.splice(t, 1);
21
27
  return;
22
28
  }
23
- let r = e.findIndex((e) => e.id === n);
24
- if (r !== -1) {
25
- e.splice(r, 1);
29
+ let [n] = i;
30
+ n?.onDismiss(e);
31
+ }
32
+ function l(t, n) {
33
+ let a = r.findIndex((e) => e.id === t);
34
+ if (a !== -1) {
35
+ r[a] = e(r[a], n);
26
36
  return;
27
37
  }
28
- let [i] = t;
29
- i?.onDismiss(n);
38
+ let [o] = i;
39
+ o?.onUpdate(t, n);
30
40
  }
31
- function o(e) {
32
- return (t, n) => i(t, {
41
+ function u(e) {
42
+ return (t, n) => s(t, {
33
43
  ...n,
34
44
  variant: e
35
45
  });
36
46
  }
37
- i.info = o("info"), i.success = o("success"), i.warning = o("warning"), i.danger = o("danger"), i.dismiss = a;
38
- function s(n) {
39
- if (t.add(n), t.size === 1 && e.length > 0) for (let t of e.splice(0)) n.onToast(t);
47
+ function d(e, n, r) {
48
+ return e === void 0 ? t(r) : typeof e == "function" ? e(n) : e;
49
+ }
50
+ function f(e, n, r, i) {
51
+ let a = e(i?.loading ?? t("loading"), {
52
+ variant: "info",
53
+ duration: 0
54
+ }), o = i?.duration ?? 3e3;
55
+ return r.then((e) => {
56
+ n(a, {
57
+ content: d(i?.success, e, "success"),
58
+ variant: "success",
59
+ duration: o
60
+ });
61
+ }, (e) => {
62
+ n(a, {
63
+ content: d(i?.error, e, "error"),
64
+ variant: "danger",
65
+ duration: o
66
+ });
67
+ }), r;
68
+ }
69
+ function p(e, t) {
70
+ return f(s, l, e, t);
71
+ }
72
+ s.info = u("info"), s.success = u("success"), s.warning = u("warning"), s.danger = u("danger"), s.dismiss = c, s.update = l, s.promise = p;
73
+ function m(e) {
74
+ if (i.add(e), i.size === 1 && r.length > 0) for (let t of r.splice(0)) e.onToast(t);
40
75
  return () => {
41
- t.delete(n);
76
+ i.delete(e);
42
77
  };
43
78
  }
44
79
  //#endregion
45
- export { r as nextToastId, s as subscribeToastChannel, i as toast };
80
+ export { f as driveToastPromise, o as nextToastId, m as subscribeToastChannel, s as toast };
@@ -1,16 +1,18 @@
1
1
  "use client";
2
2
  import { useToastContext as e } from "./ToastContext.js";
3
- import { useCallback as t } from "react";
3
+ import { driveToastPromise as t } from "./toast2.js";
4
+ import { useMemo as n } from "react";
4
5
  //#region src/lib/components/Toast/useToast.ts
5
- function n() {
6
- let { addToast: n } = e();
7
- return t((e, t) => {
8
- n({
6
+ function r() {
7
+ let { addToast: r, updateToast: i } = e();
8
+ return n(() => {
9
+ let e = (e, t) => r({
9
10
  content: e,
10
11
  variant: t?.variant ?? "info",
11
12
  duration: t?.duration ?? 3e3
12
13
  });
13
- }, [n]);
14
+ return e.update = (e, t) => i(e, t), e.promise = (n, r) => t(e, i, n, r), e;
15
+ }, [r, i]);
14
16
  }
15
17
  //#endregion
16
- export { n as default };
18
+ export { r as default };
@@ -0,0 +1,20 @@
1
+ "use client";
2
+ import e from "./ToggleCore.js";
3
+ import { jsx as t } from "react/jsx-runtime";
4
+ import { useControl as n } from "react-use-control";
5
+ //#region src/lib/components/Toggle/Toggle.tsx
6
+ function r({ pressed: r, size: i, square: a, className: o, onClick: s, ref: c, ...l }) {
7
+ let [u, d] = n(r, !1);
8
+ return /* @__PURE__ */ t(e, {
9
+ ref: c,
10
+ pressed: u,
11
+ onPressedChange: d,
12
+ onNativeClick: s,
13
+ size: i,
14
+ square: a,
15
+ className: o,
16
+ ...l
17
+ });
18
+ }
19
+ //#endregion
20
+ export { r as default };
@@ -0,0 +1,31 @@
1
+
2
+ "use client";
3
+ import { classnames as e } from "../../utils/classnames.js";
4
+ import { base as t, sizes as n, squareSizes as r } from "../Button/styles.js";
5
+ /* empty css */
6
+ import { jsx as i } from "react/jsx-runtime";
7
+ //#region src/lib/components/Toggle/ToggleCore.tsx
8
+ var a = {
9
+ rest: "haze-ToggleCore__rest",
10
+ pressed: "haze-ToggleCore__pressed"
11
+ };
12
+ function o({ pressed: o, onPressedChange: s, onNativeClick: c, size: l = "md", square: u = !1, className: d, ref: f, ...p }) {
13
+ let m = u ? r[l] : n[l];
14
+ return /* @__PURE__ */ i("button", {
15
+ ref: f,
16
+ type: "button",
17
+ "aria-pressed": o,
18
+ onClick: (e) => {
19
+ s(!o), c?.(e);
20
+ },
21
+ ...p,
22
+ className: e([
23
+ t,
24
+ a[o ? "pressed" : "rest"],
25
+ m,
26
+ d
27
+ ])
28
+ });
29
+ }
30
+ //#endregion
31
+ export { o as default };
@@ -0,0 +1,4 @@
1
+ "use client";
2
+ import e from "./ToggleCore.js";
3
+ import t from "./Toggle.js";
4
+ export { t as Toggle, e as ToggleCore };
@@ -1,60 +1,61 @@
1
1
 
2
2
  "use client";
3
3
  import { classnames as e } from "../../utils/classnames.js";
4
- import { getEnabledMenuItems as t, useRovingTabindex as n } from "../../utils/menuKeyboard.js";
5
- import { ToolbarProvider as r } from "./ToolbarContext.js";
4
+ import { getDirection as t } from "../../utils/direction.js";
5
+ import { getEnabledMenuItems as n, useRovingTabindex as r } from "../../utils/menuKeyboard.js";
6
+ import { ToolbarProvider as i } from "./ToolbarContext.js";
6
7
  /* empty css */
7
- import { jsx as i } from "react/jsx-runtime";
8
- import { useCallback as a, useRef as o } from "react";
8
+ import { jsx as a } from "react/jsx-runtime";
9
+ import { useCallback as o, useRef as s } from "react";
9
10
  //#region src/lib/components/Toolbar/Toolbar.tsx
10
- var s = "[data-haze-toolbar-item]:not([disabled])", c = "haze-Toolbar__toolbar", l = "haze-Toolbar__vertical";
11
- function u(e, n) {
12
- return a((r) => {
13
- let i = e === "horizontal" ? "ArrowRight" : "ArrowDown", a = e === "horizontal" ? "ArrowLeft" : "ArrowUp";
14
- if (r.key !== i && r.key !== a && r.key !== "Home" && r.key !== "End") return;
15
- let o = t(n.current, s);
16
- if (o.length === 0) return;
17
- let c = o.indexOf(document.activeElement), l = (e) => o[e]?.focus();
18
- switch (r.preventDefault(), r.key) {
19
- case i:
20
- l((c + 1) % o.length);
11
+ var c = "[data-haze-toolbar-item]:not([disabled])", l = "haze-Toolbar__toolbar", u = "haze-Toolbar__vertical";
12
+ function d(e, r) {
13
+ return o((i) => {
14
+ let a = e === "horizontal" && t(r.current) === "rtl", o = e === "horizontal" ? a ? "ArrowLeft" : "ArrowRight" : "ArrowDown", s = e === "horizontal" ? a ? "ArrowRight" : "ArrowLeft" : "ArrowUp";
15
+ if (i.key !== o && i.key !== s && i.key !== "Home" && i.key !== "End") return;
16
+ let l = n(r.current, c);
17
+ if (l.length === 0) return;
18
+ let u = l.indexOf(document.activeElement), d = (e) => l[e]?.focus();
19
+ switch (i.preventDefault(), i.key) {
20
+ case o:
21
+ d((u + 1) % l.length);
21
22
  return;
22
- case a:
23
- l((c - 1 + o.length) % o.length);
23
+ case s:
24
+ d((u - 1 + l.length) % l.length);
24
25
  return;
25
26
  case "Home":
26
- l(0);
27
+ d(0);
27
28
  return;
28
29
  case "End":
29
- l(o.length - 1);
30
+ d(l.length - 1);
30
31
  return;
31
32
  }
32
- }, [e, n]);
33
+ }, [e, r]);
33
34
  }
34
- function d({ orientation: t = "horizontal", className: a, children: d, ...f }) {
35
- let p = o(null);
36
- n({
35
+ function f({ orientation: t = "horizontal", className: n, children: o, ...f }) {
36
+ let p = s(null);
37
+ r({
37
38
  menuRef: p,
38
39
  active: !0,
39
- selector: s
40
+ selector: c
40
41
  });
41
- let m = u(t, p);
42
- return /* @__PURE__ */ i(r, {
42
+ let m = d(t, p);
43
+ return /* @__PURE__ */ a(i, {
43
44
  value: t,
44
- children: i("div", {
45
+ children: a("div", {
45
46
  ref: p,
46
47
  role: "toolbar",
47
48
  "aria-orientation": t,
48
49
  onKeyDown: m,
49
50
  ...f,
50
51
  className: e([
51
- c,
52
- t === "vertical" && l,
53
- a
52
+ l,
53
+ t === "vertical" && u,
54
+ n
54
55
  ]),
55
- children: d
56
+ children: o
56
57
  })
57
58
  });
58
59
  }
59
60
  //#endregion
60
- export { d as default };
61
+ export { f as default };
@@ -0,0 +1,31 @@
1
+
2
+ "use client";
3
+ import { classnames as e } from "../../utils/classnames.js";
4
+ import { base as t, sizes as n, squareSizes as r, variants as i } from "../Button/styles.js";
5
+ /* empty css */
6
+ import { jsx as a } from "react/jsx-runtime";
7
+ import { useControl as o } from "react-use-control";
8
+ //#region src/lib/components/Toolbar/ToolbarToggle.tsx
9
+ var s = "haze-ToolbarToggle__toolbarItem";
10
+ function c({ pressed: c, variant: l = "ghost", size: u = "md", square: d = !1, className: f, onClick: p, ...m }) {
11
+ let [h, g] = o(c, !1), _ = d ? r[u] : n[u];
12
+ return /* @__PURE__ */ a("button", {
13
+ type: "button",
14
+ "data-haze-toolbar-item": "",
15
+ tabIndex: -1,
16
+ "aria-pressed": h,
17
+ onClick: (e) => {
18
+ g(!h), p?.(e);
19
+ },
20
+ ...m,
21
+ className: e([
22
+ t,
23
+ i[l],
24
+ _,
25
+ s,
26
+ f
27
+ ])
28
+ });
29
+ }
30
+ //#endregion
31
+ export { c as default };
@@ -2,4 +2,5 @@
2
2
  import e from "./Toolbar.js";
3
3
  import t from "./ToolbarButton.js";
4
4
  import n from "./ToolbarSeparator.js";
5
- export { e as Toolbar, t as ToolbarButton, n as ToolbarSeparator };
5
+ import r from "./ToolbarToggle.js";
6
+ export { e as Toolbar, t as ToolbarButton, n as ToolbarSeparator, r as ToolbarToggle };
@@ -53,7 +53,7 @@ function m({ content: m, position: h = "top", delay: g = 150, open: _, collision
53
53
  className: e([
54
54
  f,
55
55
  ...O.panelClasses,
56
- ...t(O, E)
56
+ ...t(O, E, O.direction)
57
57
  ]),
58
58
  children: m
59
59
  })]