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,14 +1,15 @@
1
1
 
2
2
  "use client";
3
3
  import { classnames as e } from "../../utils/classnames.js";
4
- import { useStrings as t } from "../LocaleProvider/useStrings.js";
5
- import { addMonths as n, buildMonthCells as r, formatDate as i, parseCivilDate as a } from "./date.js";
4
+ import { getDirection as t } from "../../utils/direction.js";
5
+ import { useStrings as n } from "../LocaleProvider/useStrings.js";
6
+ import { addMonths as r, buildMonthCells as i, formatDate as a, formatMonthValue as o, formatQuarterValue as s, formatYearValue as c, getDaysInMonth as l, getISOWeekNumber as u, parseCivilDate as d, parseMonthValue as f, parseQuarterValue as ee, parseYearValue as p } from "./date.js";
6
7
  /* empty css */
7
- import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
- import { useState as c } from "react";
9
- import { useControl as l } from "react-use-control";
8
+ import { Fragment as te, jsx as m, jsxs as h } from "react/jsx-runtime";
9
+ import { useEffect as ne, useRef as g, useState as _ } from "react";
10
+ import { useControl as re } from "react-use-control";
10
11
  //#region src/lib/components/Calendar/Calendar.tsx
11
- var u = "haze-Calendar__calendarWrapper", d = "haze-Calendar__header", f = "haze-Calendar__headerBtn", p = "haze-Calendar__headerTitle", m = "haze-Calendar__headerTrailing", h = "haze-Calendar__grid", g = "haze-Calendar__rowContents", _ = "haze-Calendar__cellContents", v = "haze-Calendar__weekday", y = "haze-Calendar__dayBtn", b = "haze-Calendar__daySelected", x = "haze-Calendar__dayOutside", S = [
12
+ var ie = "haze-Calendar__calendarWrapper", ae = "haze-Calendar__header", v = "haze-Calendar__headerBtn", y = "haze-Calendar__headerTitle", oe = "haze-Calendar__titleBtn", se = "haze-Calendar__headerTrailing", ce = "haze-Calendar__grid", b = "haze-Calendar__rowContents", x = "haze-Calendar__cellContents", le = "haze-Calendar__weekday", ue = "haze-Calendar__weekNumber", S = "haze-Calendar__dayBtn", C = "haze-Calendar__daySelected", de = "haze-Calendar__dayInRange", fe = "haze-Calendar__dayOutside", pe = "haze-Calendar__monthPanels", me = "haze-Calendar__monthPanel", he = "haze-Calendar__paneHeader", ge = "haze-Calendar__quickSelect", _e = "haze-Calendar__quickToolbar", w = "haze-Calendar__quickGrid", ve = "haze-Calendar__quarterGrid", ye = [
12
13
  "Su",
13
14
  "Mo",
14
15
  "Tu",
@@ -17,7 +18,7 @@ var u = "haze-Calendar__calendarWrapper", d = "haze-Calendar__header", f = "haze
17
18
  "Fr",
18
19
  "Sa"
19
20
  ];
20
- function C(e, t) {
21
+ function be(e, t) {
21
22
  if (t !== void 0) return t;
22
23
  if (e === void 0) return 0;
23
24
  try {
@@ -27,98 +28,544 @@ function C(e, t) {
27
28
  return 0;
28
29
  }
29
30
  }
30
- function w(e, t) {
31
- if (e === void 0) return Array.from({ length: 7 }, (e, n) => S[(t + n) % 7]);
31
+ function xe(e, t) {
32
+ if (e === void 0) return Array.from({ length: 7 }, (e, n) => ye[(t + n) % 7]);
32
33
  let n = new Intl.DateTimeFormat(e, { weekday: "short" }), r = Array.from({ length: 7 }, (e, t) => n.format(new Date(2024, 0, 7 + t)));
33
34
  return Array.from({ length: 7 }, (e, n) => r[(t + n) % 7]);
34
35
  }
35
- function T({ value: S, min: T, max: E, locale: D, weekStartsOn: O, onSelect: k, className: A, ...j }) {
36
- let [M, N] = l(S, ""), P = t("calendar"), F = M && a(M) || /* @__PURE__ */ new Date(), [I, L] = c(F.getFullYear()), [R, z] = c(F.getMonth()), B = C(D, O), V = w(D, B), H = r(I, R, B), U = () => {
37
- let e = n(I, R, -1);
38
- L(e.year), z(e.month);
39
- }, W = () => {
40
- let e = n(I, R, 1);
41
- L(e.year), z(e.month);
42
- }, G = () => {
43
- let e = /* @__PURE__ */ new Date();
44
- L(e.getFullYear()), z(e.getMonth());
45
- }, K = (e) => !!(T && e < T || E && e > E), q = new Intl.DateTimeFormat(D ?? "default", {
36
+ function T(e) {
37
+ return Array.from(e?.querySelectorAll("button") ?? []);
38
+ }
39
+ function E(e, t, n) {
40
+ let r = t + n;
41
+ for (; r >= 0 && r < e.length && e[r].disabled;) r += n;
42
+ return r < 0 || r >= e.length ? null : r;
43
+ }
44
+ function Se(e, n, i, o) {
45
+ return (s) => {
46
+ let c = e.current;
47
+ if (!c) return;
48
+ let u = T(c);
49
+ if (u.length === 0) return;
50
+ let d = u.indexOf(s.target.closest("button")), f = t(c) === "rtl" ? "ArrowLeft" : "ArrowRight", ee = f === "ArrowLeft" ? "ArrowRight" : "ArrowLeft", p = (e) => {
51
+ let t = E(u, d < 0 ? 0 : d, e);
52
+ t !== null && (s.preventDefault(), u[t].focus());
53
+ };
54
+ switch (s.key) {
55
+ case f:
56
+ p(1);
57
+ return;
58
+ case ee:
59
+ p(-1);
60
+ return;
61
+ case "ArrowDown":
62
+ p(7);
63
+ return;
64
+ case "ArrowUp":
65
+ p(-7);
66
+ return;
67
+ case "Home": {
68
+ let e = E(u, (d < 0 ? 0 : d - d % 7) - 1, 1);
69
+ e !== null && (s.preventDefault(), u[e].focus());
70
+ return;
71
+ }
72
+ case "End": {
73
+ let e = E(u, (d < 0 ? 6 : d - d % 7 + 6) + 1, -1);
74
+ e !== null && (s.preventDefault(), u[e].focus());
75
+ return;
76
+ }
77
+ case "PageUp":
78
+ case "PageDown": {
79
+ s.preventDefault();
80
+ let e = s.key === "PageDown" ? 1 : -1, t = r(n.year, n.month, e), c = d >= 0 ? Number(u[d].textContent) : 1, f = Math.min(Math.max(c, 1), l(t.year, t.month));
81
+ i(t), o.current = a(t.year, t.month, f);
82
+ return;
83
+ }
84
+ }
85
+ };
86
+ }
87
+ function D(e, n, r, i) {
88
+ return (a) => {
89
+ let o = e.current;
90
+ if (!o) return;
91
+ let s = T(o);
92
+ if (s.length === 0) return;
93
+ let c = s.indexOf(a.target.closest("button")), l = t(o) === "rtl" ? "ArrowLeft" : "ArrowRight", u = l === "ArrowLeft" ? "ArrowRight" : "ArrowLeft", d = (e) => {
94
+ let t = E(s, c < 0 ? 0 : c, e);
95
+ t !== null && (a.preventDefault(), s[t].focus());
96
+ };
97
+ switch (a.key) {
98
+ case l:
99
+ d(1);
100
+ return;
101
+ case u:
102
+ d(-1);
103
+ return;
104
+ case "ArrowDown":
105
+ d(n);
106
+ return;
107
+ case "ArrowUp":
108
+ d(-n);
109
+ return;
110
+ case "Home": {
111
+ let e = E(s, (c < 0 ? 0 : c - c % n) - 1, 1);
112
+ e !== null && (a.preventDefault(), s[e].focus());
113
+ return;
114
+ }
115
+ case "End": {
116
+ let e = E(s, (c < 0 ? n - 1 : Math.min(c - c % n + n - 1, s.length - 1)) + 1, -1);
117
+ e !== null && (a.preventDefault(), s[e].focus());
118
+ return;
119
+ }
120
+ case "PageUp":
121
+ case "PageDown":
122
+ a.preventDefault(), i.current = c < 0 ? 0 : c, r(a.key === "PageDown" ? 1 : -1);
123
+ return;
124
+ }
125
+ };
126
+ }
127
+ function O({ picker: t = "date", value: ye, min: E, max: O, disabledDate: k, locale: A, weekStartsOn: Ce, showWeekNumbers: j = !1, months: we = 1, rangeStart: M, rangeEnd: N, onSelect: Te, className: Ee, ...De }) {
128
+ let [P, Oe] = re(ye, ""), F = n("calendar"), I = g(null), ke = g(null), L = g(null), R = g(null), z = g(null), B = g(null), V = g(null), Ae = g(null), H = g(null), [U, W] = _(!1), [G, K] = _(0), [q, je] = _(!1), Me = t === "month" ? f(P) : t === "quarter" ? ee(P) : t === "year" ? p(P) : null, Ne = t === "date" ? P && d(P) || M && d(M) || /* @__PURE__ */ new Date() : Me ? new Date(Me.year, 0, 1) : /* @__PURE__ */ new Date(), [J, Pe] = _(Ne.getFullYear()), [Y, Fe] = _(Ne.getMonth()), Ie = be(A, Ce), Le = xe(A, Ie), Re = new Intl.DateTimeFormat(A ?? "default", {
46
129
  month: "long",
47
130
  year: "numeric"
48
- }).format(new Date(I, R)), J = [];
49
- for (let e = 0; e < H.length; e += 7) J.push(H.slice(e, e + 7));
50
- return /* @__PURE__ */ s("div", {
51
- ...j,
52
- className: e([u, A]),
53
- children: [/* @__PURE__ */ s("div", {
54
- className: e([d]),
55
- children: [
56
- /* @__PURE__ */ o("button", {
57
- type: "button",
58
- onClick: U,
59
- "aria-label": P.previousMonth,
60
- className: e([f]),
61
- children: "‹"
62
- }),
63
- /* @__PURE__ */ o("span", {
64
- className: e([p]),
65
- children: q
66
- }),
67
- /* @__PURE__ */ s("span", {
68
- className: e([m]),
69
- children: [/* @__PURE__ */ o("button", {
70
- type: "button",
71
- onClick: G,
72
- className: e([f]),
73
- children: P.today
74
- }), /* @__PURE__ */ o("button", {
75
- type: "button",
76
- onClick: W,
77
- "aria-label": P.nextMonth,
78
- className: e([f]),
79
- children: "›"
80
- })]
81
- })
82
- ]
83
- }), /* @__PURE__ */ s("div", {
131
+ }), ze = new Intl.DateTimeFormat(A ?? "default", { month: "short" }), Be = Array.from({ length: 12 }, (e, t) => ze.format(new Date(2026, t, 15))), X = (e) => {
132
+ Pe(e.year), Fe(e.month);
133
+ };
134
+ ne(() => {
135
+ if (U) return;
136
+ let e = R.current;
137
+ e && (R.current = null, L.current?.querySelector(`[data-haze-day="${e}"]`)?.focus());
138
+ }, [
139
+ J,
140
+ Y,
141
+ U
142
+ ]), ne(() => {
143
+ if (!U) return;
144
+ let e = z.current;
145
+ z.current = null;
146
+ let t = T(H.current);
147
+ t.length !== 0 && (t[e ?? 0] ?? t[0]).focus();
148
+ }, [
149
+ U,
150
+ G,
151
+ q
152
+ ]), ne(() => {
153
+ if (t === "date") return;
154
+ let e = B.current;
155
+ if (B.current = null, e === null) return;
156
+ let n = T(V.current);
157
+ (n[e] ?? n[0])?.focus();
158
+ }, [t, J]);
159
+ let Ve = () => {
160
+ z.current = Y, K(J), je(!1), W(!0);
161
+ }, He = () => {
162
+ W(!1), Ae.current?.focus();
163
+ }, Ue = (e) => {
164
+ W(!1), X({
165
+ year: G,
166
+ month: e
167
+ }), R.current = a(G, e, 1);
168
+ }, Z = Math.floor(G / 10) * 10, We = () => {
169
+ z.current = G - Z, je(!0);
170
+ }, Ge = () => {
171
+ je(!1), z.current = Y;
172
+ }, Ke = (e) => {
173
+ K(e), Ge();
174
+ }, Q = r(J, Y, we - 1), qe = Se(I, {
175
+ year: J,
176
+ month: Y
177
+ }, X, R), Je = Se(ke, Q, X, R), Ye = D(H, 3, (e) => K((t) => t + e), z), Xe = D(H, 3, (e) => K((t) => t + e * 10), z), Ze = t === "quarter" ? 4 : 3, Qe = (e) => Pe((n) => n + e * (t === "year" ? 10 : 1)), $e = D(V, Ze, Qe, B), et = () => X(r(J, Y, -1)), tt = () => X(r(J, Y, 1)), nt = () => {
178
+ let e = /* @__PURE__ */ new Date();
179
+ Pe(e.getFullYear()), Fe(e.getMonth());
180
+ }, rt = (e, t, n) => {
181
+ let r = a(e, t, n);
182
+ return E && r < E || O && r > O ? !0 : k?.(new Date(e, t, n)) ?? !1;
183
+ }, it = (e, t) => E && a(e, t, l(e, t)) < E || O && a(e, t, 1) > O ? !0 : k?.(new Date(e, t, 1)) ?? !1, at = (e, t) => {
184
+ let n = t * 3 - 3, r = t * 3 - 1;
185
+ return E && a(e, r, l(e, r)) < E || O && a(e, n, 1) > O ? !0 : k?.(new Date(e, n, 1)) ?? !1;
186
+ }, ot = (e) => E && a(e, 11, 31) < E || O && a(e, 0, 1) > O ? !0 : k?.(new Date(e, 0, 1)) ?? !1, st = (e) => {
187
+ Oe(e), Te?.(e);
188
+ }, ct = M !== void 0 && M !== "", lt = N !== void 0 && N !== "", ut = (e) => ct && e === M || lt && e === N, dt = (e) => ct && lt && e > M && e < N, ft = Re.format(new Date(J, Y)), $ = (t, n, r) => {
189
+ let o = i(t.year, t.month, Ie), s = [];
190
+ for (let e = 0; e < o.length; e += 7) s.push(o.slice(e, e + 7));
191
+ let c = Re.format(new Date(t.year, t.month));
192
+ return /* @__PURE__ */ h("div", {
193
+ ref: n,
194
+ style: j ? { gridTemplateColumns: "repeat(8, 1fr)" } : void 0,
84
195
  role: "grid",
85
- "aria-label": q,
86
- className: e([h]),
87
- children: [/* @__PURE__ */ o("div", {
196
+ "aria-label": c,
197
+ onKeyDown: r,
198
+ className: e([ce]),
199
+ children: [/* @__PURE__ */ h("div", {
88
200
  role: "row",
89
- className: e([g]),
90
- children: V.map((t, n) => /* @__PURE__ */ o("span", {
201
+ className: e([b]),
202
+ children: [j && /* @__PURE__ */ m("span", {
91
203
  role: "columnheader",
92
- className: e([v]),
204
+ className: e([le]),
205
+ children: F.weekNumber
206
+ }), Le.map((t, n) => /* @__PURE__ */ m("span", {
207
+ role: "columnheader",
208
+ className: e([le]),
93
209
  children: t
94
- }, n))
95
- }), J.map((t, n) => /* @__PURE__ */ o("div", {
210
+ }, n))]
211
+ }), s.map((t, n) => /* @__PURE__ */ h("div", {
96
212
  role: "row",
97
- className: e([g]),
98
- children: t.map((t) => {
99
- let n = i(t.year, t.month, t.day);
100
- return /* @__PURE__ */ o("span", {
213
+ className: e([b]),
214
+ children: [j && /* @__PURE__ */ m("span", {
215
+ role: "gridcell",
216
+ className: e([ue]),
217
+ children: u(t[0].year, t[0].month, t[0].day)
218
+ }), t.map((t) => {
219
+ let n = a(t.year, t.month, t.day), r = ut(n), i = n === P || r;
220
+ return /* @__PURE__ */ m("span", {
101
221
  role: "gridcell",
102
- "aria-selected": n === M,
103
- className: e([_]),
104
- children: /* @__PURE__ */ o("button", {
222
+ "aria-selected": i || dt(n),
223
+ className: e([x]),
224
+ children: /* @__PURE__ */ m("button", {
105
225
  type: "button",
106
- disabled: K(n),
226
+ "data-haze-day": n,
227
+ disabled: rt(t.year, t.month, t.day),
107
228
  onClick: () => {
108
- N(n), k?.(n);
229
+ Oe(n), Te?.(n);
109
230
  },
110
231
  className: e([
111
- y,
112
- n === M && b,
113
- t.outside && x
232
+ S,
233
+ i && C,
234
+ !i && dt(n) && de,
235
+ t.outside && fe
114
236
  ]),
115
237
  children: t.day
116
238
  })
117
239
  }, n);
118
- })
240
+ })]
119
241
  }, n))]
242
+ });
243
+ }, pt = /* @__PURE__ */ h("div", {
244
+ onKeyDown: mt,
245
+ className: e([ge]),
246
+ children: [/* @__PURE__ */ m("div", {
247
+ className: e([_e]),
248
+ children: q ? /* @__PURE__ */ h(te, { children: [
249
+ /* @__PURE__ */ m("button", {
250
+ type: "button",
251
+ onClick: () => K((e) => e - 10),
252
+ "aria-label": F.previousDecade,
253
+ className: e([v]),
254
+ children: "‹"
255
+ }),
256
+ /* @__PURE__ */ h("span", {
257
+ className: e([y]),
258
+ children: [
259
+ Z,
260
+ " – ",
261
+ Z + 11
262
+ ]
263
+ }),
264
+ /* @__PURE__ */ m("button", {
265
+ type: "button",
266
+ onClick: () => K((e) => e + 10),
267
+ "aria-label": F.nextDecade,
268
+ className: e([v]),
269
+ children: "›"
270
+ })
271
+ ] }) : /* @__PURE__ */ h(te, { children: [
272
+ /* @__PURE__ */ m("button", {
273
+ type: "button",
274
+ onClick: () => K((e) => e - 1),
275
+ "aria-label": F.previousYear,
276
+ className: e([v]),
277
+ children: "‹"
278
+ }),
279
+ /* @__PURE__ */ m("button", {
280
+ type: "button",
281
+ "aria-haspopup": "grid",
282
+ onClick: We,
283
+ className: e([oe, y]),
284
+ children: G
285
+ }),
286
+ /* @__PURE__ */ m("button", {
287
+ type: "button",
288
+ onClick: () => K((e) => e + 1),
289
+ "aria-label": F.nextYear,
290
+ className: e([v]),
291
+ children: "›"
292
+ })
293
+ ] })
294
+ }), q ? /* @__PURE__ */ m("div", {
295
+ ref: H,
296
+ role: "grid",
297
+ "aria-label": F.selectYear,
298
+ onKeyDown: Xe,
299
+ className: e([w]),
300
+ children: [
301
+ 0,
302
+ 1,
303
+ 2,
304
+ 3
305
+ ].map((t) => /* @__PURE__ */ m("div", {
306
+ role: "row",
307
+ className: e([b]),
308
+ children: [
309
+ 0,
310
+ 1,
311
+ 2
312
+ ].map((n) => {
313
+ let r = Z + t * 3 + n, i = r === J;
314
+ return /* @__PURE__ */ m("span", {
315
+ role: "gridcell",
316
+ "aria-selected": i,
317
+ className: e([x]),
318
+ children: /* @__PURE__ */ m("button", {
319
+ type: "button",
320
+ "data-haze-year": r,
321
+ disabled: ot(r),
322
+ onClick: () => Ke(r),
323
+ className: e([S, i && C]),
324
+ children: r
325
+ })
326
+ }, r);
327
+ })
328
+ }, t))
329
+ }) : /* @__PURE__ */ m("div", {
330
+ ref: H,
331
+ role: "grid",
332
+ "aria-label": F.selectMonth,
333
+ onKeyDown: Ye,
334
+ className: e([w]),
335
+ children: [
336
+ 0,
337
+ 1,
338
+ 2,
339
+ 3
340
+ ].map((t) => /* @__PURE__ */ m("div", {
341
+ role: "row",
342
+ className: e([b]),
343
+ children: [
344
+ 0,
345
+ 1,
346
+ 2
347
+ ].map((n) => {
348
+ let r = t * 3 + n, i = G === J && r === Y;
349
+ return /* @__PURE__ */ m("span", {
350
+ role: "gridcell",
351
+ "aria-selected": i,
352
+ className: e([x]),
353
+ children: /* @__PURE__ */ m("button", {
354
+ type: "button",
355
+ "data-haze-month": r,
356
+ onClick: () => Ue(r),
357
+ className: e([S, i && C]),
358
+ children: Be[r]
359
+ })
360
+ }, r);
361
+ })
362
+ }, t))
120
363
  })]
121
364
  });
365
+ function mt(e) {
366
+ e.key === "Escape" && (e.preventDefault(), q ? Ge() : He());
367
+ }
368
+ if (t !== "date") {
369
+ let n = Math.floor(J / 10) * 10, r = t === "year" ? F.previousDecade : F.previousYear, i = t === "year" ? F.nextDecade : F.nextYear, a = t === "year" ? `${n} – ${n + 11}` : String(J), l = t === "month" ? /* @__PURE__ */ m("div", {
370
+ ref: V,
371
+ role: "grid",
372
+ "aria-label": F.selectMonth,
373
+ onKeyDown: $e,
374
+ className: e([w]),
375
+ children: [
376
+ 0,
377
+ 1,
378
+ 2,
379
+ 3
380
+ ].map((t) => /* @__PURE__ */ m("div", {
381
+ role: "row",
382
+ className: e([b]),
383
+ children: [
384
+ 0,
385
+ 1,
386
+ 2
387
+ ].map((n) => {
388
+ let r = t * 3 + n, i = P === o(J, r);
389
+ return /* @__PURE__ */ m("span", {
390
+ role: "gridcell",
391
+ "aria-selected": i,
392
+ className: e([x]),
393
+ children: /* @__PURE__ */ m("button", {
394
+ type: "button",
395
+ "data-haze-month": r,
396
+ disabled: it(J, r),
397
+ onClick: () => st(o(J, r)),
398
+ className: e([S, i && C]),
399
+ children: Be[r]
400
+ })
401
+ }, r);
402
+ })
403
+ }, t))
404
+ }) : t === "quarter" ? /* @__PURE__ */ m("div", {
405
+ ref: V,
406
+ role: "grid",
407
+ "aria-label": F.selectQuarter,
408
+ onKeyDown: $e,
409
+ className: e([ve]),
410
+ children: m("div", {
411
+ role: "row",
412
+ className: e([b]),
413
+ children: [
414
+ 1,
415
+ 2,
416
+ 3,
417
+ 4
418
+ ].map((t) => {
419
+ let n = P === s(J, t);
420
+ return /* @__PURE__ */ m("span", {
421
+ role: "gridcell",
422
+ "aria-selected": n,
423
+ className: e([x]),
424
+ children: /* @__PURE__ */ h("button", {
425
+ type: "button",
426
+ "data-haze-quarter": t,
427
+ disabled: at(J, t),
428
+ onClick: () => st(s(J, t)),
429
+ className: e([S, n && C]),
430
+ children: ["Q", t]
431
+ })
432
+ }, t);
433
+ })
434
+ })
435
+ }) : /* @__PURE__ */ m("div", {
436
+ ref: V,
437
+ role: "grid",
438
+ "aria-label": F.selectYear,
439
+ onKeyDown: $e,
440
+ className: e([w]),
441
+ children: [
442
+ 0,
443
+ 1,
444
+ 2,
445
+ 3
446
+ ].map((t) => /* @__PURE__ */ m("div", {
447
+ role: "row",
448
+ className: e([b]),
449
+ children: [
450
+ 0,
451
+ 1,
452
+ 2
453
+ ].map((r) => {
454
+ let i = n + t * 3 + r, a = P === c(i);
455
+ return /* @__PURE__ */ m("span", {
456
+ role: "gridcell",
457
+ "aria-selected": a,
458
+ className: e([x]),
459
+ children: /* @__PURE__ */ m("button", {
460
+ type: "button",
461
+ "data-haze-year": i,
462
+ disabled: ot(i),
463
+ onClick: () => st(c(i)),
464
+ className: e([S, a && C]),
465
+ children: i
466
+ })
467
+ }, i);
468
+ })
469
+ }, t))
470
+ });
471
+ return /* @__PURE__ */ h("div", {
472
+ ref: L,
473
+ ...De,
474
+ className: e([ie, Ee]),
475
+ children: [/* @__PURE__ */ h("div", {
476
+ className: e([ae]),
477
+ children: [
478
+ /* @__PURE__ */ m("button", {
479
+ type: "button",
480
+ onClick: () => Qe(-1),
481
+ "aria-label": r,
482
+ className: e([v]),
483
+ children: "‹"
484
+ }),
485
+ /* @__PURE__ */ m("span", {
486
+ className: e([y]),
487
+ children: a
488
+ }),
489
+ /* @__PURE__ */ h("span", {
490
+ className: e([se]),
491
+ children: [/* @__PURE__ */ m("button", {
492
+ type: "button",
493
+ onClick: nt,
494
+ className: e([v]),
495
+ children: F.today
496
+ }), /* @__PURE__ */ m("button", {
497
+ type: "button",
498
+ onClick: () => Qe(1),
499
+ "aria-label": i,
500
+ className: e([v]),
501
+ children: "›"
502
+ })]
503
+ })
504
+ ]
505
+ }), l]
506
+ });
507
+ }
508
+ return /* @__PURE__ */ h("div", {
509
+ ref: L,
510
+ ...De,
511
+ className: e([ie, Ee]),
512
+ children: [/* @__PURE__ */ h("div", {
513
+ className: e([ae]),
514
+ children: [
515
+ /* @__PURE__ */ m("button", {
516
+ type: "button",
517
+ onClick: et,
518
+ "aria-label": F.previousMonth,
519
+ className: e([v]),
520
+ children: "‹"
521
+ }),
522
+ /* @__PURE__ */ m("button", {
523
+ ref: Ae,
524
+ type: "button",
525
+ "aria-expanded": U,
526
+ onClick: U ? He : Ve,
527
+ className: e([oe, y]),
528
+ children: ft
529
+ }),
530
+ /* @__PURE__ */ h("span", {
531
+ className: e([se]),
532
+ children: [/* @__PURE__ */ m("button", {
533
+ type: "button",
534
+ onClick: nt,
535
+ className: e([v]),
536
+ children: F.today
537
+ }), /* @__PURE__ */ m("button", {
538
+ type: "button",
539
+ onClick: tt,
540
+ "aria-label": F.nextMonth,
541
+ className: e([v]),
542
+ children: "›"
543
+ })]
544
+ })
545
+ ]
546
+ }), U ? pt : we === 2 ? /* @__PURE__ */ h("div", {
547
+ className: e([pe]),
548
+ children: [/* @__PURE__ */ m("div", {
549
+ className: e([me]),
550
+ children: $({
551
+ year: J,
552
+ month: Y
553
+ }, I, qe)
554
+ }), /* @__PURE__ */ h("div", {
555
+ className: e([me]),
556
+ children: [/* @__PURE__ */ m("div", {
557
+ className: e([he]),
558
+ children: /* @__PURE__ */ m("span", {
559
+ className: e([y]),
560
+ children: Re.format(new Date(Q.year, Q.month))
561
+ })
562
+ }), $(Q, ke, Je)]
563
+ })]
564
+ }) : $({
565
+ year: J,
566
+ month: Y
567
+ }, I, qe)]
568
+ });
122
569
  }
123
570
  //#endregion
124
- export { T as default };
571
+ export { O as default };