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
@@ -0,0 +1,165 @@
1
+
2
+ "use client";
3
+ import { classnames as e } from "../../utils/classnames.js";
4
+ import { useStrings as t } from "../LocaleProvider/useStrings.js";
5
+ import { getCanvasPoint as n, normalizeStroke as r, pointDistance as i, serializeStrokes as a } from "./signature-points.js";
6
+ /* empty css */
7
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
+ import { useCallback as c, useEffect as l, useRef as u, useState as d } from "react";
9
+ import { useControl as f } from "react-use-control";
10
+ //#region src/lib/components/Signature/Signature.tsx
11
+ var p = "#1f2937", ee = 1.5, m = "haze-Signature__root", h = "haze-Signature__canvasFrame", g = "haze-Signature__canvasClass", _ = "haze-Signature__toolbar", v = "haze-Signature__toolButton", y = "haze-Signature__unsupportedNotice";
12
+ function b({ value: b, onChange: x, clearLabel: S, undoLabel: C, unsupportedLabel: w, width: T = 320, height: E = 160, disabled: D = !1, penColor: O, penWidth: k = 2, className: A, ...j }) {
13
+ let M = t("signature"), N = S ?? M.clear, P = C ?? M.undo, F = w ?? M.unsupported, [, I] = f(b, ""), [L, R] = d(0), [z, B] = d(!1), V = u(null), H = u(null), U = u([]), W = u(null), G = u(p), K = u(""), q = c(() => {
14
+ if (O) return O;
15
+ let e = V.current;
16
+ return (e ? getComputedStyle(e).getPropertyValue("--haze-color-text").trim() : "") || p;
17
+ }, [O]), J = c((e, t) => {
18
+ let n = H.current;
19
+ n && (n.strokeStyle = G.current, n.lineWidth = k, n.lineCap = "round", n.lineJoin = "round", n.beginPath(), n.moveTo(e.x, e.y), n.lineTo(t.x, t.y), n.stroke());
20
+ }, [k]), Y = c((e) => {
21
+ let t = H.current;
22
+ t && (t.fillStyle = G.current, t.beginPath(), t.arc(e.x, e.y, k / 2, 0, Math.PI * 2), t.fill());
23
+ }, [k]), X = c(() => {
24
+ let e = H.current, t = V.current;
25
+ if (e && t) {
26
+ e.clearRect(0, 0, T, E), G.current = q();
27
+ for (let e of U.current) if (e.length !== 0) {
28
+ Y(e[0]);
29
+ for (let t = 1; t < e.length; t += 1) J(e[t - 1], e[t]);
30
+ }
31
+ }
32
+ }, [
33
+ T,
34
+ E,
35
+ q,
36
+ Y,
37
+ J
38
+ ]);
39
+ l(() => {
40
+ let e = V.current;
41
+ if (!e) return;
42
+ let t = typeof window > "u" ? 1 : window.devicePixelRatio || 1;
43
+ e.width = Math.max(1, Math.round(T * t)), e.height = Math.max(1, Math.round(E * t));
44
+ let n = e.getContext("2d");
45
+ H.current = n, B(!n), n && (n.scale(t, t), X());
46
+ }, [
47
+ T,
48
+ E,
49
+ X
50
+ ]);
51
+ let Z = c(() => {
52
+ let e = V.current;
53
+ if (!e || !H.current) return;
54
+ let t = a(U.current);
55
+ if (t === K.current) return;
56
+ K.current = t;
57
+ let n = U.current.length > 0 ? e.toDataURL("image/png") : "";
58
+ I(n), x?.(n);
59
+ }, [I, x]), Q = (e) => {
60
+ if (D || !H.current) return;
61
+ e.preventDefault();
62
+ let t = V.current;
63
+ if (!t || W.current !== null) return;
64
+ if (W.current = e.pointerId, typeof t.setPointerCapture == "function") try {
65
+ t.setPointerCapture(e.pointerId);
66
+ } catch {}
67
+ G.current = q();
68
+ let r = n(e.clientX, e.clientY, t.getBoundingClientRect());
69
+ U.current = [...U.current, [r]], R(U.current.length), Y(r);
70
+ }, te = (e) => {
71
+ if (W.current !== e.pointerId) return;
72
+ let t = V.current;
73
+ if (!t) return;
74
+ let r = U.current, a = r[r.length - 1];
75
+ if (!a) return;
76
+ let o = n(e.clientX, e.clientY, t.getBoundingClientRect()), s = a[a.length - 1];
77
+ if (!s || i(s, o) < .5) return;
78
+ let c = [...a, o];
79
+ U.current = [...r.slice(0, -1), c], J(s, o);
80
+ }, $ = () => {
81
+ if (W.current === null) return;
82
+ W.current = null;
83
+ let e = U.current, t = e[e.length - 1];
84
+ t && (U.current = [...e.slice(0, -1), r(t, ee)]), Z();
85
+ }, ne = () => {
86
+ D || U.current.length === 0 || (U.current = U.current.slice(0, -1), R(U.current.length), X(), Z());
87
+ }, re = () => {
88
+ D || U.current.length !== 0 && (U.current = [], R(0), X(), Z());
89
+ };
90
+ return z ? /* @__PURE__ */ o("div", {
91
+ ...j,
92
+ className: e([m, A]),
93
+ children: o("div", {
94
+ style: {
95
+ width: `${T}px`,
96
+ height: `${E}px`
97
+ },
98
+ role: "status",
99
+ className: e([y]),
100
+ children: F
101
+ })
102
+ }) : /* @__PURE__ */ s("div", {
103
+ ...j,
104
+ className: e([m, A]),
105
+ children: [/* @__PURE__ */ o("div", {
106
+ className: e([h]),
107
+ children: /* @__PURE__ */ o("canvas", {
108
+ ref: V,
109
+ style: {
110
+ width: `${T}px`,
111
+ height: `${E}px`
112
+ },
113
+ "data-disabled": D,
114
+ onPointerDown: Q,
115
+ onPointerMove: te,
116
+ onPointerUp: $,
117
+ onPointerCancel: $,
118
+ className: e([g])
119
+ })
120
+ }), /* @__PURE__ */ s("div", {
121
+ className: e([_]),
122
+ children: [/* @__PURE__ */ s("button", {
123
+ type: "button",
124
+ onClick: ne,
125
+ disabled: D || L === 0,
126
+ className: e([v]),
127
+ children: [/* @__PURE__ */ s("svg", {
128
+ width: "14",
129
+ height: "14",
130
+ viewBox: "0 0 24 24",
131
+ fill: "none",
132
+ stroke: "currentColor",
133
+ strokeWidth: "2",
134
+ strokeLinecap: "round",
135
+ strokeLinejoin: "round",
136
+ "aria-hidden": "true",
137
+ children: [/* @__PURE__ */ o("path", { d: "M9 14 4 9l5-5" }), /* @__PURE__ */ o("path", { d: "M4 9h10.5a5.5 5.5 0 0 1 0 11H11" })]
138
+ }), P]
139
+ }), /* @__PURE__ */ s("button", {
140
+ type: "button",
141
+ onClick: re,
142
+ disabled: D || L === 0,
143
+ className: e([v]),
144
+ children: [/* @__PURE__ */ s("svg", {
145
+ width: "14",
146
+ height: "14",
147
+ viewBox: "0 0 24 24",
148
+ fill: "none",
149
+ stroke: "currentColor",
150
+ strokeWidth: "2",
151
+ strokeLinecap: "round",
152
+ strokeLinejoin: "round",
153
+ "aria-hidden": "true",
154
+ children: [
155
+ /* @__PURE__ */ o("path", { d: "M3 6h18" }),
156
+ /* @__PURE__ */ o("path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6" }),
157
+ /* @__PURE__ */ o("path", { d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2" })
158
+ ]
159
+ }), N]
160
+ })]
161
+ })]
162
+ });
163
+ }
164
+ //#endregion
165
+ export { b as default };
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import e from "./Signature.js";
3
+ export { e as Signature };
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ //#region src/lib/components/Signature/signature-points.ts
3
+ function e(e, t) {
4
+ return Math.hypot(t.x - e.x, t.y - e.y);
5
+ }
6
+ function t(e, t, n) {
7
+ return {
8
+ x: e - n.left,
9
+ y: t - n.top
10
+ };
11
+ }
12
+ function n(t, n) {
13
+ let r = [];
14
+ return t.forEach((i, a) => {
15
+ let o = a === t.length - 1;
16
+ if (r.length === 0) {
17
+ r.push(i);
18
+ return;
19
+ }
20
+ let s = r[r.length - 1];
21
+ s && (o || e(s, i) >= n) && r.push(i);
22
+ }), r;
23
+ }
24
+ function r(e) {
25
+ return e.map((e) => e.map((e) => `${Math.round(e.x)},${Math.round(e.y)}`).join(" ")).join("|");
26
+ }
27
+ //#endregion
28
+ export { t as getCanvasPoint, n as normalizeStroke, e as pointDistance, r as serializeStrokes };
@@ -1,5 +1,4 @@
1
1
 
2
- "use client";
3
2
  import { classnames as e } from "../../utils/classnames.js";
4
3
  /* empty css */
5
4
  import { jsx as t } from "react/jsx-runtime";
@@ -1,3 +1,2 @@
1
- "use client";
2
1
  import e from "./Skeleton.js";
3
2
  export { e as Skeleton };
@@ -3,15 +3,23 @@ import e from "./SliderCore.js";
3
3
  import { jsx as t } from "react/jsx-runtime";
4
4
  import { useControl as n } from "react-use-control";
5
5
  //#region src/lib/components/Slider/Slider.tsx
6
- function r({ value: r, className: i, onChange: a, ...o }) {
7
- let [s, c] = n(r, 50);
6
+ function r(e, t) {
7
+ let n = e === void 0 ? NaN : Number(e);
8
+ return Number.isFinite(n) ? n : t;
9
+ }
10
+ function i({ value: i, range: a = !1, className: o, onChange: s, onValuesChange: c, ref: l, ...u }) {
11
+ let d = [r(u.min, 0), r(u.max, 100)], [f, p] = n(i, a ? d : 50);
8
12
  return /* @__PURE__ */ t(e, {
9
- value: s,
10
- onChange: c,
11
- onNativeChange: a,
12
- className: i,
13
- ...o
13
+ ref: l,
14
+ value: f,
15
+ onChange: (e) => {
16
+ p(e), c?.(e);
17
+ },
18
+ onNativeChange: s,
19
+ range: a,
20
+ className: o,
21
+ ...u
14
22
  });
15
23
  }
16
24
  //#endregion
17
- export { r as default };
25
+ export { i as default };
@@ -1,20 +1,83 @@
1
1
 
2
2
  "use client";
3
3
  import { classnames as e } from "../../utils/classnames.js";
4
+ import { getDirection as t } from "../../utils/direction.js";
4
5
  /* empty css */
5
- import { jsx as t } from "react/jsx-runtime";
6
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
6
7
  //#region src/lib/components/Slider/SliderCore.tsx
7
- var n = "haze-SliderCore__base";
8
- function r({ value: r, onChange: i, onNativeChange: a, className: o, ...s }) {
9
- return /* @__PURE__ */ t("input", {
10
- type: "range",
11
- value: r,
12
- onChange: (e) => {
13
- i(Number(e.target.value)), a?.(e);
14
- },
15
- ...s,
16
- className: e([n, o])
8
+ var i = "haze-SliderCore__base", a = "haze-SliderCore__rangeWrapper", o = "haze-SliderCore__rangeRail", s = "haze-SliderCore__rangeFill", c = "haze-SliderCore__rangeInput";
9
+ function l(e, n, r, i) {
10
+ let a = e.currentTarget;
11
+ if (a.disabled || t(a) !== "rtl" || e.key !== "ArrowLeft" && e.key !== "ArrowRight") return;
12
+ e.preventDefault();
13
+ let o = a.step === "" || a.step === "any" ? 1 : Number(a.step), s = a.min === "" ? 0 : Number(a.min), c = a.max === "" ? 100 : Number(a.max), l = e.key === "ArrowLeft" ? o : -o, u = Math.min(Math.max(n + l, s), c);
14
+ r(Math.round(u * 1e6) / 1e6), i?.(e);
15
+ }
16
+ function u(e) {
17
+ let t = Array.isArray(e) ? e : [e, e];
18
+ return t[0] <= t[1] ? [t[0], t[1]] : [t[1], t[0]];
19
+ }
20
+ function d(e, t) {
21
+ let n = e === void 0 ? NaN : Number(e);
22
+ return Number.isFinite(n) ? n : t;
23
+ }
24
+ function f({ value: t, onChange: f, onNativeChange: p, range: m = !1, className: h, onKeyDown: g, "aria-label": _, ref: v, ...y }) {
25
+ if (!m) {
26
+ let r = t;
27
+ return /* @__PURE__ */ n("input", {
28
+ ref: v,
29
+ type: "range",
30
+ value: r,
31
+ "aria-label": _,
32
+ onChange: (e) => {
33
+ f(Number(e.target.value)), p?.(e);
34
+ },
35
+ onKeyDown: (e) => {
36
+ g?.(e), e.defaultPrevented || l(e, r, f, p);
37
+ },
38
+ ...y,
39
+ className: e([i, h])
40
+ });
41
+ }
42
+ let [b, x] = u(t), S = Array.isArray(_) ? _ : [_, _], C = d(y.min, 0), w = d(y.max, 100) - C, T = (e) => w > 0 ? Math.min(Math.max((e - C) / w * 100, 0), 100) : 0, E = T(b), D = T(x) - E, O = (e) => f([Math.min(e, x), x]), k = (e) => f([b, Math.max(e, b)]), A = (e, t) => (n) => {
43
+ g?.(n), n.defaultPrevented || l(n, e, t, p);
44
+ };
45
+ return /* @__PURE__ */ r("span", {
46
+ className: e([a, h]),
47
+ children: [
48
+ /* @__PURE__ */ n("span", { className: e(o) }),
49
+ /* @__PURE__ */ n("span", {
50
+ style: {
51
+ insetInlineStart: `${E}%`,
52
+ width: `${D}%`
53
+ },
54
+ className: e(s)
55
+ }),
56
+ /* @__PURE__ */ n("input", {
57
+ ref: v,
58
+ type: "range",
59
+ value: b,
60
+ "aria-label": S[0],
61
+ onChange: (e) => {
62
+ O(Number(e.target.value)), p?.(e);
63
+ },
64
+ onKeyDown: A(b, O),
65
+ ...y,
66
+ className: e([i, c])
67
+ }),
68
+ /* @__PURE__ */ n("input", {
69
+ type: "range",
70
+ value: x,
71
+ "aria-label": S[1],
72
+ onChange: (e) => {
73
+ k(Number(e.target.value)), p?.(e);
74
+ },
75
+ onKeyDown: A(x, k),
76
+ ...y,
77
+ className: e([i, c])
78
+ })
79
+ ]
17
80
  });
18
81
  }
19
82
  //#endregion
20
- export { r as default };
83
+ export { f as default };
@@ -0,0 +1,109 @@
1
+
2
+ "use client";
3
+ import { classnames as e } from "../../utils/classnames.js";
4
+ import { useStrings as t } from "../LocaleProvider/useStrings.js";
5
+ /* empty css */
6
+ import { Fragment as n, jsx as r, jsxs as i } from "react/jsx-runtime";
7
+ import { useId as a } from "react";
8
+ import { useControl as o } from "react-use-control";
9
+ //#region src/lib/components/Sources/Sources.tsx
10
+ var s = "haze-Sources__list", c = "haze-Sources__item", l = "haze-Sources__badge", u = "haze-Sources__link", d = "haze-Sources__title", f = "haze-Sources__toggleBtn", p = "haze-Sources__snippetBase", m = "haze-Sources__snippetHidden", h = "haze-Sources__snippetShown", g = "haze-Sources__compactNav", _ = "haze-Sources__compactBadge", v = () => /* @__PURE__ */ r("svg", {
11
+ width: "10",
12
+ height: "10",
13
+ viewBox: "0 0 10 10",
14
+ fill: "none",
15
+ stroke: "currentColor",
16
+ strokeWidth: "1.5",
17
+ strokeLinecap: "round",
18
+ strokeLinejoin: "round",
19
+ "aria-hidden": "true",
20
+ focusable: "false",
21
+ style: { transition: "transform var(--haze-duration-fast) var(--haze-ease)" },
22
+ children: r("path", { d: "M3 1.5 6.5 5 3 8.5" })
23
+ });
24
+ function y(e, t) {
25
+ return typeof e == "string" ? `${t}. ${e}` : `[${t}]`;
26
+ }
27
+ function b({ items: b, compact: x = !1, expanded: S, label: C, expandLabel: w, collapseLabel: T, className: E, ...D }) {
28
+ let O = t("sources"), k = C ?? O.label, A = w ?? O.expand, j = T ?? O.collapse, M = a(), [N, P] = o(S, []);
29
+ if (x) return /* @__PURE__ */ r("nav", {
30
+ "aria-label": k,
31
+ ...D,
32
+ className: e([g, E]),
33
+ children: b.map((t, n) => {
34
+ let r = n + 1, a = y(t.title, r);
35
+ return t.url ? /* @__PURE__ */ i("a", {
36
+ href: t.url,
37
+ target: "_blank",
38
+ rel: "noopener noreferrer",
39
+ "aria-label": a,
40
+ className: e([_]),
41
+ children: [
42
+ "[",
43
+ r,
44
+ "]"
45
+ ]
46
+ }, t.id) : /* @__PURE__ */ i("span", {
47
+ "aria-label": a,
48
+ className: e([_]),
49
+ children: [
50
+ "[",
51
+ r,
52
+ "]"
53
+ ]
54
+ }, t.id);
55
+ })
56
+ });
57
+ let F = (e) => N.includes(e), I = (e) => {
58
+ P((t) => t.includes(e) ? t.filter((t) => t !== e) : [...t, e]);
59
+ };
60
+ return /* @__PURE__ */ r("ol", {
61
+ "aria-label": k,
62
+ ...D,
63
+ className: e([s, E]),
64
+ children: b.map((t, a) => {
65
+ let o = a + 1, s = `${M}-snippet-${t.id}`, g = F(t.id);
66
+ return /* @__PURE__ */ i("li", {
67
+ "data-haze-sources-item": "",
68
+ "data-state": g ? "expanded" : "collapsed",
69
+ className: e([c]),
70
+ children: [
71
+ /* @__PURE__ */ i("span", {
72
+ "aria-hidden": "true",
73
+ className: e([l]),
74
+ children: [
75
+ "[",
76
+ o,
77
+ "]"
78
+ ]
79
+ }),
80
+ t.url ? /* @__PURE__ */ r("a", {
81
+ href: t.url,
82
+ target: "_blank",
83
+ rel: "noopener noreferrer",
84
+ className: e([u]),
85
+ children: t.title
86
+ }) : /* @__PURE__ */ r("span", {
87
+ className: e([d]),
88
+ children: t.title
89
+ }),
90
+ t.snippet != null && /* @__PURE__ */ i(n, { children: [/* @__PURE__ */ r("button", {
91
+ type: "button",
92
+ "aria-expanded": g,
93
+ "aria-controls": s,
94
+ "aria-label": g ? j : A,
95
+ onClick: () => I(t.id),
96
+ className: e([f]),
97
+ children: /* @__PURE__ */ r(v, {})
98
+ }), /* @__PURE__ */ r("div", {
99
+ id: s,
100
+ className: e([p, g ? h : m]),
101
+ children: t.snippet
102
+ })] })
103
+ ]
104
+ }, t.id);
105
+ })
106
+ });
107
+ }
108
+ //#endregion
109
+ export { b as default };
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import e from "./Sources.js";
3
+ export { e as Sources };
@@ -1,5 +1,4 @@
1
1
 
2
- "use client";
3
2
  import { classnames as e } from "../../utils/classnames.js";
4
3
  /* empty css */
5
4
  import { jsx as t, jsxs as n } from "react/jsx-runtime";
@@ -1,3 +1,2 @@
1
- "use client";
2
1
  import { Stat as e, StatGroup as t } from "./Stat.js";
3
2
  export { e as Stat, t as StatGroup };
@@ -3,15 +3,16 @@ import e from "./SwitchCore.js";
3
3
  import { jsx as t } from "react/jsx-runtime";
4
4
  import { useControl as n } from "react-use-control";
5
5
  //#region src/lib/components/Switch/Switch.tsx
6
- function r({ checked: r, size: i, className: a, onClick: o, ...s }) {
7
- let [c, l] = n(r, !1);
6
+ function r({ checked: r, size: i, className: a, onClick: o, ref: s, ...c }) {
7
+ let [l, u] = n(r, !1);
8
8
  return /* @__PURE__ */ t(e, {
9
- checked: c,
10
- onChange: l,
9
+ ref: s,
10
+ checked: l,
11
+ onChange: u,
11
12
  onNativeClick: o,
12
13
  size: i,
13
14
  className: a,
14
- ...s
15
+ ...c
15
16
  });
16
17
  }
17
18
  //#endregion
@@ -17,15 +17,16 @@ var n = "haze-SwitchCore__track", r = "haze-SwitchCore__trackChecked", i = "haze
17
17
  md: f,
18
18
  lg: p
19
19
  };
20
- function _({ checked: a, onChange: o, onNativeClick: s, size: c = "md", className: l, ...u }) {
20
+ function _({ checked: a, onChange: o, onNativeClick: s, size: c = "md", className: l, ref: u, ...d }) {
21
21
  return /* @__PURE__ */ t("button", {
22
+ ref: u,
22
23
  type: "button",
23
24
  role: "switch",
24
25
  "aria-checked": a,
25
26
  onClick: (e) => {
26
27
  o(!a), s?.(e);
27
28
  },
28
- ...u,
29
+ ...d,
29
30
  className: e([
30
31
  n,
31
32
  m[c],
@@ -7,17 +7,20 @@ import { jsx as n } from "react/jsx-runtime";
7
7
  //#region src/lib/components/Tabs/Tab.tsx
8
8
  var r = "haze-Tab__base", i = "haze-Tab__active";
9
9
  function a({ value: a, className: o, children: s }) {
10
- let { value: c, setValue: l } = t(), u = c === a;
10
+ let { value: c, setValue: l, classNames: u } = t(), d = c === a;
11
11
  return /* @__PURE__ */ n("button", {
12
12
  type: "button",
13
13
  role: "tab",
14
- "aria-selected": u,
14
+ "aria-selected": d,
15
15
  "aria-controls": `tabpanel-${a}`,
16
+ tabIndex: d ? 0 : -1,
17
+ "data-haze-tab-value": a,
16
18
  onClick: () => l(a),
17
19
  className: e([
18
20
  r,
19
- u && i,
20
- o
21
+ d && i,
22
+ o,
23
+ u?.tab
21
24
  ]),
22
25
  children: s
23
26
  });
@@ -1,16 +1,47 @@
1
1
 
2
2
  "use client";
3
3
  import { classnames as e } from "../../utils/classnames.js";
4
+ import { getDirection as t } from "../../utils/direction.js";
5
+ import { useTabsContext as n } from "./TabsContext.js";
4
6
  /* empty css */
5
- import { jsx as t } from "react/jsx-runtime";
7
+ import { jsx as r } from "react/jsx-runtime";
8
+ import { useRef as i } from "react";
6
9
  //#region src/lib/components/Tabs/TabList.tsx
7
- var n = "haze-TabList__base";
8
- function r({ className: r, children: i }) {
9
- return /* @__PURE__ */ t("div", {
10
+ var a = "haze-TabList__base", o = "[role=\"tab\"]:not([disabled])";
11
+ function s({ className: s, children: c }) {
12
+ let { setValue: l, classNames: u } = n(), d = i(null);
13
+ return /* @__PURE__ */ r("div", {
14
+ ref: d,
10
15
  role: "tablist",
11
- className: e([n, r]),
12
- children: i
16
+ onKeyDown: (e) => {
17
+ let n = Array.from(d.current?.querySelectorAll(o) ?? []);
18
+ if (n.length === 0) return;
19
+ let r = n.indexOf(document.activeElement), i = (e) => {
20
+ let t = n[e];
21
+ t && (t.focus(), l(t.dataset.hazeTabValue ?? ""));
22
+ }, a = t(d.current) === "rtl" ? "ArrowLeft" : "ArrowRight", s = a === "ArrowLeft" ? "ArrowRight" : "ArrowLeft";
23
+ switch (e.key) {
24
+ case a:
25
+ e.preventDefault(), i(r < 0 ? 0 : (r + 1) % n.length);
26
+ return;
27
+ case s:
28
+ e.preventDefault(), i(r < 0 ? n.length - 1 : (r - 1 + n.length) % n.length);
29
+ return;
30
+ case "Home":
31
+ e.preventDefault(), i(0);
32
+ return;
33
+ case "End":
34
+ e.preventDefault(), i(n.length - 1);
35
+ return;
36
+ }
37
+ },
38
+ className: e([
39
+ a,
40
+ s,
41
+ u?.list
42
+ ]),
43
+ children: c
13
44
  });
14
45
  }
15
46
  //#endregion
16
- export { r as default };
47
+ export { s as default };
@@ -7,14 +7,15 @@ import { jsx as n } from "react/jsx-runtime";
7
7
  //#region src/lib/components/Tabs/TabPanel.tsx
8
8
  var r = "haze-TabPanel__base", i = "haze-TabPanel__hidden";
9
9
  function a({ value: a, className: o, children: s }) {
10
- let { value: c } = t(), l = c === a;
10
+ let { value: c, classNames: l } = t(), u = c === a;
11
11
  return /* @__PURE__ */ n("div", {
12
12
  role: "tabpanel",
13
13
  id: `tabpanel-${a}`,
14
14
  className: e([
15
15
  r,
16
- !l && i,
17
- o
16
+ !u && i,
17
+ o,
18
+ l?.panel
18
19
  ]),
19
20
  children: s
20
21
  });
@@ -7,16 +7,21 @@ import { jsx as n } from "react/jsx-runtime";
7
7
  import { useControl as r } from "react-use-control";
8
8
  //#region src/lib/components/Tabs/Tabs.tsx
9
9
  var i = "haze-Tabs__base";
10
- function a({ value: a, className: o, children: s }) {
11
- let [c, l] = r(a, "");
10
+ function a({ value: a, classNames: o, className: s, children: c }) {
11
+ let [l, u] = r(a, "");
12
12
  return /* @__PURE__ */ n("div", {
13
- className: e([i, o]),
13
+ className: e([
14
+ i,
15
+ s,
16
+ o?.root
17
+ ]),
14
18
  children: n(t, {
15
19
  value: {
16
- value: c,
17
- setValue: l
20
+ value: l,
21
+ setValue: u,
22
+ classNames: o
18
23
  },
19
- children: s
24
+ children: c
20
25
  })
21
26
  });
22
27
  }
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ import { classnames as e } from "../../utils/classnames.js";
3
+ import { SortableItem as t, SortableRegion as n } from "../../utils/sortable.js";
4
+ import { group as r } from "./tag-group-styles.js";
5
+ import { jsx as i } from "react/jsx-runtime";
6
+ import { Children as a } from "react";
7
+ import { arrayMove as o, rectSortingStrategy as s } from "@dnd-kit/sortable";
8
+ //#region src/lib/components/TagGroup/SortableTagGroup.tsx
9
+ function c({ children: c, className: l, onReorder: u }) {
10
+ let d = a.toArray(c), f = d.map((e, t) => t);
11
+ return /* @__PURE__ */ i("div", {
12
+ role: "group",
13
+ className: e([r, l]),
14
+ children: /* @__PURE__ */ i(n, {
15
+ ids: f,
16
+ strategy: s,
17
+ onMove: (e, t) => u?.(o(f, e, t)),
18
+ children: d.map((e, n) => /* @__PURE__ */ i(t, {
19
+ id: n,
20
+ children: e
21
+ }, n))
22
+ })
23
+ });
24
+ }
25
+ //#endregion
26
+ export { c as default };