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.
- package/README.md +420 -36
- package/dist/components/Anchor/Anchor.js +78 -0
- package/dist/components/Anchor/index.js +3 -0
- package/dist/components/AppShell/AppShell.js +44 -0
- package/dist/components/AppShell/index.js +3 -0
- package/dist/components/AspectRatio/AspectRatio.js +0 -1
- package/dist/components/AspectRatio/index.js +0 -1
- package/dist/components/Badge/Badge.js +5 -17
- package/dist/components/Badge/badge-styles.js +15 -0
- package/dist/components/Badge/index.js +3 -3
- package/dist/components/BottomSheet/BottomSheet.js +133 -22
- package/dist/components/Button/index.js +4 -3
- package/dist/components/Calendar/Calendar.js +525 -78
- package/dist/components/Calendar/date.js +35 -2
- package/dist/components/Card/Card.js +0 -1
- package/dist/components/Card/index.js +0 -1
- package/dist/components/Carousel/Carousel.js +64 -41
- package/dist/components/Cascader/Cascader.js +222 -140
- package/dist/components/Chart/Chart.js +34 -0
- package/dist/components/Chart/chart-elements.js +164 -0
- package/dist/components/Chart/index.js +3 -0
- package/dist/components/ChatContainer/ChatContainer.js +36 -16
- package/dist/components/ChatInput/ChatInput.js +49 -29
- package/dist/components/ChatMessage/ChatMessage.js +76 -29
- package/dist/components/Checkbox/Checkbox.js +6 -5
- package/dist/components/Checkbox/CheckboxCore.js +6 -5
- package/dist/components/CodeBlock/CodeBlock.js +39 -10
- package/dist/components/CodeBlock/index.js +0 -1
- package/dist/components/Collapsible/Collapsible.js +23 -10
- package/dist/components/ColorPicker/ColorPicker.js +5 -4
- package/dist/components/ColorPicker/ColorPickerCore.js +5 -4
- package/dist/components/Combobox/Combobox.js +202 -75
- package/dist/components/Combobox/ComboboxGroup.js +23 -0
- package/dist/components/Combobox/ComboboxOption.js +7 -6
- package/dist/components/Combobox/index.js +4 -3
- package/dist/components/Command/Command.js +102 -59
- package/dist/components/Command/CommandDialog.js +48 -0
- package/dist/components/Command/command-filter.js +16 -0
- package/dist/components/Command/index.js +3 -2
- package/dist/components/ConfirmDialog/ConfirmDialog.js +3 -3
- package/dist/components/Container/Container.js +0 -1
- package/dist/components/Container/index.js +0 -1
- package/dist/components/ContextMenu/ContextMenuContent.js +4 -4
- package/dist/components/DataTable/CellEditor.js +38 -0
- package/dist/components/DataTable/DataTable.js +394 -143
- package/dist/components/DataTable/csv.js +29 -0
- package/dist/components/DataTable/features.js +25 -0
- package/dist/components/DataTable/index.js +3 -1
- package/dist/components/DataTable/summary.js +17 -0
- package/dist/components/DateRangePicker/DateRangePicker.js +31 -13
- package/dist/components/DateRangePicker/DateRangePickerCore.js +59 -27
- package/dist/components/DateRangePicker/presets.js +43 -0
- package/dist/components/Datepicker/Datepicker.js +17 -12
- package/dist/components/Datepicker/DatepickerCore.js +73 -39
- package/dist/components/Datepicker/datetime.js +23 -0
- package/dist/components/Descriptions/Descriptions.js +46 -0
- package/dist/components/Descriptions/index.js +3 -0
- package/dist/components/Dialog/Dialog.js +56 -32
- package/dist/components/DiffViewer/DiffViewer.js +31 -30
- package/dist/components/Divider/Divider.js +0 -1
- package/dist/components/Divider/index.js +0 -1
- package/dist/components/Drawer/Drawer.js +49 -29
- package/dist/components/DropdownMenu/DropdownMenu.js +38 -26
- package/dist/components/DropdownMenu/DropdownMenuSub.js +23 -0
- package/dist/components/DropdownMenu/DropdownMenuSubContent.js +24 -0
- package/dist/components/DropdownMenu/DropdownMenuSubTrigger.js +30 -0
- package/dist/components/DropdownMenu/index.js +4 -1
- package/dist/components/FilePreview/FilePreview.js +135 -0
- package/dist/components/FilePreview/file-preview-format.js +23 -0
- package/dist/components/FilePreview/index.js +3 -0
- package/dist/components/Flex/Flex.js +0 -1
- package/dist/components/Flex/index.js +0 -1
- package/dist/components/FloatButton/FloatButton.js +42 -0
- package/dist/components/FloatButton/FloatButtonGroup.js +58 -0
- package/dist/components/FloatButton/float-button-context.js +9 -0
- package/dist/components/FloatButton/float-button-glyphs.js +26 -0
- package/dist/components/FloatButton/float-button-styles.js +14 -0
- package/dist/components/FloatButton/index.js +4 -0
- package/dist/components/Fullscreen/Fullscreen.js +29 -0
- package/dist/components/Fullscreen/index.js +3 -0
- package/dist/components/Grid/Grid.js +0 -1
- package/dist/components/Grid/GridItem.js +0 -1
- package/dist/components/Grid/index.js +0 -1
- package/dist/components/Icon/Icon.js +0 -1
- package/dist/components/Icon/index.js +0 -1
- package/dist/components/Image/Image.js +37 -19
- package/dist/components/Image/ImagePreview.js +233 -0
- package/dist/components/InlineCompletion/InlineCompletion.js +81 -0
- package/dist/components/InlineCompletion/index.js +3 -0
- package/dist/components/Input/Input.js +6 -5
- package/dist/components/Input/InputCore.js +3 -2
- package/dist/components/JsonView/JsonView.js +209 -0
- package/dist/components/JsonView/index.js +3 -0
- package/dist/components/JsonView/json-view-utils.js +24 -0
- package/dist/components/Kbd/Kbd.js +0 -1
- package/dist/components/Kbd/index.js +0 -1
- package/dist/components/LocaleProvider/LocaleProvider.js +16 -13
- package/dist/components/LocaleProvider/index.js +5 -3
- package/dist/components/LocaleProvider/ja-jp.js +222 -0
- package/dist/components/LocaleProvider/locale.js +99 -5
- package/dist/components/LocaleProvider/strings.js +15 -0
- package/dist/components/LocaleProvider/useStrings.js +13 -11
- package/dist/components/LocaleProvider/zh-cn.js +99 -5
- package/dist/components/Masonry/Masonry.js +29 -0
- package/dist/components/Masonry/index.js +3 -0
- package/dist/components/Masonry/masonry-distribute.js +15 -0
- package/dist/components/Mentions/Mentions.js +6 -5
- package/dist/components/Mentions/MentionsCore.js +69 -68
- package/dist/components/Menu/Menu.js +5 -5
- package/dist/components/Menu/MenuSub.js +23 -0
- package/dist/components/Menu/MenuSubContent.js +24 -0
- package/dist/components/Menu/MenuSubTrigger.js +30 -0
- package/dist/components/Menu/index.js +4 -1
- package/dist/components/NumberInput/NumberInput.js +6 -5
- package/dist/components/NumberInput/NumberInputCore.js +9 -8
- package/dist/components/OTPInput/OTPInput.js +5 -4
- package/dist/components/OTPInput/OTPInputCore.js +34 -33
- package/dist/components/PasswordInput/PasswordInput.js +5 -4
- package/dist/components/PasswordInput/PasswordInputCore.js +8 -7
- package/dist/components/Popover/Popover.js +43 -31
- package/dist/components/PromptInput/PromptInput.js +213 -0
- package/dist/components/PromptInput/index.js +3 -0
- package/dist/components/Radio/Radio.js +7 -6
- package/dist/components/Radio/RadioGroup.js +5 -4
- package/dist/components/Radio/RadioGroupCore.js +23 -14
- package/dist/components/Rating/Rating.js +5 -4
- package/dist/components/Rating/RatingCore.js +62 -28
- package/dist/components/Resizable/index.js +1 -1
- package/dist/components/Segmented/Segmented.js +5 -4
- package/dist/components/Segmented/SegmentedCore.js +22 -18
- package/dist/components/Select/OptionGroup.js +12 -0
- package/dist/components/Select/Select.js +20 -9
- package/dist/components/Select/SelectCore.js +74 -13
- package/dist/components/Select/SelectFloating.js +256 -0
- package/dist/components/Select/index.js +5 -4
- package/dist/components/Select/select-options.js +57 -0
- package/dist/components/Sidebar/Sidebar.js +9 -9
- package/dist/components/Signature/Signature.js +165 -0
- package/dist/components/Signature/index.js +3 -0
- package/dist/components/Signature/signature-points.js +28 -0
- package/dist/components/Skeleton/Skeleton.js +0 -1
- package/dist/components/Skeleton/index.js +0 -1
- package/dist/components/Slider/Slider.js +16 -8
- package/dist/components/Slider/SliderCore.js +75 -12
- package/dist/components/Sources/Sources.js +109 -0
- package/dist/components/Sources/index.js +3 -0
- package/dist/components/Stat/Stat.js +0 -1
- package/dist/components/Stat/index.js +0 -1
- package/dist/components/Switch/Switch.js +6 -5
- package/dist/components/Switch/SwitchCore.js +3 -2
- package/dist/components/Tabs/Tab.js +7 -4
- package/dist/components/Tabs/TabList.js +38 -7
- package/dist/components/Tabs/TabPanel.js +4 -3
- package/dist/components/Tabs/Tabs.js +11 -6
- package/dist/components/TagGroup/SortableTagGroup.js +26 -0
- package/dist/components/TagGroup/TagGroup.js +4 -6
- package/dist/components/TagGroup/TagGroupItem.js +17 -11
- package/dist/components/TagGroup/index.js +2 -1
- package/dist/components/TagGroup/tag-group-styles.js +7 -0
- package/dist/components/TagInput/SortableTagInput.js +24 -0
- package/dist/components/TagInput/SortableTagInputCore.js +52 -0
- package/dist/components/TagInput/TagInput.js +5 -4
- package/dist/components/TagInput/TagInputCore.js +71 -57
- package/dist/components/TagInput/index.js +3 -1
- package/dist/components/TagInput/tag-input-styles.js +7 -0
- package/dist/components/Textarea/Textarea.js +6 -5
- package/dist/components/Textarea/TextareaCore.js +3 -2
- package/dist/components/TimePicker/TimePicker.js +6 -5
- package/dist/components/TimePicker/TimePickerCore.js +3 -2
- package/dist/components/Toast/Toast.js +44 -42
- package/dist/components/Toast/ToastContainer.js +67 -47
- package/dist/components/Toast/ToastContext.js +23 -4
- package/dist/components/Toast/toast2.js +63 -28
- package/dist/components/Toast/useToast.js +9 -7
- package/dist/components/Toggle/Toggle.js +20 -0
- package/dist/components/Toggle/ToggleCore.js +31 -0
- package/dist/components/Toggle/index.js +4 -0
- package/dist/components/Toolbar/Toolbar.js +33 -32
- package/dist/components/Toolbar/ToolbarToggle.js +31 -0
- package/dist/components/Toolbar/index.js +2 -1
- package/dist/components/Tooltip/Tooltip.js +1 -1
- package/dist/components/Tour/Tour.js +57 -53
- package/dist/components/Tree/Tree.js +265 -80
- package/dist/components/Tree/TreeItem.js +91 -55
- package/dist/components/Tree/utils.js +82 -10
- package/dist/components/Typography/Typography.js +0 -1
- package/dist/components/Typography/index.js +0 -1
- package/dist/components/Upload/Upload.js +24 -8
- package/dist/components/Upload/UploadCore.js +230 -37
- package/dist/components/Upload/UploadList.js +300 -0
- package/dist/components/Upload/xhr-upload.js +22 -0
- package/dist/components/VirtualList/VirtualList.js +84 -56
- package/dist/components/Watermark/Watermark.js +55 -0
- package/dist/components/Watermark/index.js +3 -0
- package/dist/css/anchor.css +2 -0
- package/dist/css/app-shell.css +2 -0
- package/dist/css/badge.css +1 -1
- package/dist/css/bottom-sheet.css +1 -1
- package/dist/css/button.css +1 -1
- package/dist/css/calendar.css +1 -1
- package/dist/css/cascader.css +1 -1
- package/dist/css/chart.css +2 -0
- package/dist/css/chat-container.css +1 -1
- package/dist/css/chat-message.css +1 -1
- package/dist/css/combobox.css +3 -2
- package/dist/css/command.css +2 -1
- package/dist/css/context-menu.css +1 -1
- package/dist/css/data-table.css +2 -1
- package/dist/css/date-range-picker.css +1 -1
- package/dist/css/datepicker.css +2 -2
- package/dist/css/descriptions.css +2 -0
- package/dist/css/dialog.css +1 -1
- package/dist/css/drawer.css +1 -1
- package/dist/css/dropdown-menu.css +4 -1
- package/dist/css/file-preview.css +2 -0
- package/dist/css/float-button.css +2 -0
- package/dist/css/image.css +2 -1
- package/dist/css/inline-completion.css +2 -0
- package/dist/css/json-view.css +2 -0
- package/dist/css/masonry.css +2 -0
- package/dist/css/menu.css +4 -1
- package/dist/css/popover.css +1 -1
- package/dist/css/prompt-input.css +2 -0
- package/dist/css/rating.css +1 -1
- package/dist/css/select.css +3 -1
- package/dist/css/signature.css +2 -0
- package/dist/css/slider.css +1 -1
- package/dist/css/sources.css +2 -0
- package/dist/css/tag-group.css +3 -1
- package/dist/css/tag-input.css +2 -1
- package/dist/css/toggle.css +2 -0
- package/dist/css/toolbar.css +1 -0
- package/dist/css/tooltip.css +1 -1
- package/dist/css/tree.css +2 -2
- package/dist/css/upload.css +2 -1
- package/dist/css/watermark.css +2 -0
- package/dist/css-manifest.json +75 -1
- package/dist/form/FormItem.js +55 -50
- package/dist/form/FormList.js +79 -0
- package/dist/form/index.js +5 -1
- package/dist/form/standard-schema.js +16 -0
- package/dist/haze-ui.css +61 -30
- package/dist/headless/index.js +19 -0
- package/dist/hooks/useClickOutside.js +24 -0
- package/dist/hooks/useDarkMode.js +27 -0
- package/dist/hooks/useFullscreen.js +42 -0
- package/dist/hooks/useHotkeys.js +77 -0
- package/dist/hooks/useInView.js +27 -0
- package/dist/hooks/useLocalStorage.js +8 -0
- package/dist/hooks/useMediaQuery.js +2 -1
- package/dist/hooks/usePrevious.js +11 -0
- package/dist/hooks/useSessionStorage.js +8 -0
- package/dist/hooks/useStorageState.js +80 -0
- package/dist/index.js +220 -171
- package/dist/registry.json +2435 -91
- package/dist/tokens/colors.js +0 -1
- package/dist/tokens/index.js +0 -1
- package/dist/tokens/motion.js +0 -1
- package/dist/tokens/oklch.js +0 -1
- package/dist/tokens/palette.js +0 -1
- package/dist/tokens/registry.js +17 -28
- package/dist/tokens/spacing.js +0 -1
- package/dist/tokens/typography.js +0 -1
- package/dist/types/components/Anchor/Anchor.d.ts +25 -0
- package/dist/types/components/Anchor/index.d.ts +2 -0
- package/dist/types/components/AppShell/AppShell.d.ts +17 -0
- package/dist/types/components/AppShell/index.d.ts +2 -0
- package/dist/types/components/Badge/badge-styles.d.ts +21 -0
- package/dist/types/components/Badge/index.d.ts +1 -0
- package/dist/types/components/BottomSheet/BottomSheet.d.ts +52 -3
- package/dist/types/components/BottomSheet/index.d.ts +1 -1
- package/dist/types/components/Button/Button.d.ts +7 -0
- package/dist/types/components/Button/ButtonLink.d.ts +3 -0
- package/dist/types/components/Button/index.d.ts +1 -0
- package/dist/types/components/Button/styles.d.ts +17 -0
- package/dist/types/components/Calendar/Calendar.d.ts +71 -7
- package/dist/types/components/Calendar/date.d.ts +52 -0
- package/dist/types/components/Calendar/index.d.ts +1 -1
- package/dist/types/components/Cascader/Cascader.d.ts +48 -3
- package/dist/types/components/Chart/Chart.d.ts +43 -0
- package/dist/types/components/Chart/chart-elements.d.ts +104 -0
- package/dist/types/components/Chart/index.d.ts +2 -0
- package/dist/types/components/ChatContainer/ChatContainer.d.ts +18 -3
- package/dist/types/components/ChatInput/ChatInput.d.ts +11 -1
- package/dist/types/components/ChatMessage/ChatMessage.d.ts +13 -1
- package/dist/types/components/Checkbox/Checkbox.d.ts +6 -2
- package/dist/types/components/Checkbox/CheckboxCore.d.ts +4 -2
- package/dist/types/components/CodeBlock/CodeBlock.d.ts +19 -2
- package/dist/types/components/CodeBlock/index.d.ts +1 -1
- package/dist/types/components/Collapsible/Collapsible.d.ts +24 -2
- package/dist/types/components/Collapsible/index.d.ts +1 -1
- package/dist/types/components/ColorPicker/ColorPicker.d.ts +7 -1
- package/dist/types/components/ColorPicker/ColorPickerCore.d.ts +7 -1
- package/dist/types/components/Combobox/Combobox.d.ts +111 -7
- package/dist/types/components/Combobox/ComboboxGroup.d.ts +22 -0
- package/dist/types/components/Combobox/ComboboxOption.d.ts +7 -2
- package/dist/types/components/Combobox/index.d.ts +3 -1
- package/dist/types/components/Command/Command.d.ts +70 -6
- package/dist/types/components/Command/CommandDialog.d.ts +36 -0
- package/dist/types/components/Command/command-filter.d.ts +34 -0
- package/dist/types/components/Command/index.d.ts +4 -2
- package/dist/types/components/DataTable/CellEditor.d.ts +24 -0
- package/dist/types/components/DataTable/DataTable.d.ts +184 -32
- package/dist/types/components/DataTable/csv.d.ts +36 -0
- package/dist/types/components/DataTable/features.d.ts +124 -0
- package/dist/types/components/DataTable/index.d.ts +4 -1
- package/dist/types/components/DataTable/summary.d.ts +19 -0
- package/dist/types/components/DateRangePicker/DateRangePicker.d.ts +28 -2
- package/dist/types/components/DateRangePicker/DateRangePickerCore.d.ts +26 -2
- package/dist/types/components/DateRangePicker/index.d.ts +2 -2
- package/dist/types/components/DateRangePicker/presets.d.ts +23 -0
- package/dist/types/components/Datepicker/Datepicker.d.ts +21 -1
- package/dist/types/components/Datepicker/DatepickerCore.d.ts +29 -2
- package/dist/types/components/Datepicker/datetime.d.ts +27 -0
- package/dist/types/components/Datepicker/index.d.ts +1 -1
- package/dist/types/components/Descriptions/Descriptions.d.ts +30 -0
- package/dist/types/components/Descriptions/index.d.ts +2 -0
- package/dist/types/components/Dialog/Dialog.d.ts +68 -3
- package/dist/types/components/Dialog/index.d.ts +1 -1
- package/dist/types/components/Drawer/Drawer.d.ts +33 -3
- package/dist/types/components/Drawer/index.d.ts +1 -1
- package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +23 -3
- package/dist/types/components/DropdownMenu/DropdownMenuSub.d.ts +18 -0
- package/dist/types/components/DropdownMenu/DropdownMenuSubContent.d.ts +13 -0
- package/dist/types/components/DropdownMenu/DropdownMenuSubTrigger.d.ts +14 -0
- package/dist/types/components/DropdownMenu/index.d.ts +7 -1
- package/dist/types/components/FilePreview/FilePreview.d.ts +35 -0
- package/dist/types/components/FilePreview/file-preview-format.d.ts +20 -0
- package/dist/types/components/FilePreview/index.d.ts +2 -0
- package/dist/types/components/FloatButton/FloatButton.d.ts +43 -0
- package/dist/types/components/FloatButton/FloatButtonGroup.d.ts +33 -0
- package/dist/types/components/FloatButton/float-button-context.d.ts +11 -0
- package/dist/types/components/FloatButton/float-button-glyphs.d.ts +3 -0
- package/dist/types/components/FloatButton/float-button-styles.d.ts +58 -0
- package/dist/types/components/FloatButton/index.d.ts +4 -0
- package/dist/types/components/Fullscreen/Fullscreen.d.ts +34 -0
- package/dist/types/components/Fullscreen/index.d.ts +3 -0
- package/dist/types/components/Image/Image.d.ts +20 -5
- package/dist/types/components/Image/ImagePreview.d.ts +13 -0
- package/dist/types/components/Image/index.d.ts +1 -1
- package/dist/types/components/InlineCompletion/InlineCompletion.d.ts +29 -0
- package/dist/types/components/InlineCompletion/index.d.ts +2 -0
- package/dist/types/components/Input/Input.d.ts +5 -2
- package/dist/types/components/Input/InputCore.d.ts +4 -2
- package/dist/types/components/JsonView/JsonView.d.ts +26 -0
- package/dist/types/components/JsonView/index.d.ts +2 -0
- package/dist/types/components/JsonView/json-view-utils.d.ts +22 -0
- package/dist/types/components/LocaleProvider/LocaleContext.d.ts +9 -0
- package/dist/types/components/LocaleProvider/LocaleProvider.d.ts +12 -1
- package/dist/types/components/LocaleProvider/index.d.ts +3 -0
- package/dist/types/components/LocaleProvider/ja-jp.d.ts +13 -0
- package/dist/types/components/LocaleProvider/locale.d.ts +100 -0
- package/dist/types/components/LocaleProvider/strings.d.ts +28 -0
- package/dist/types/components/Masonry/Masonry.d.ts +34 -0
- package/dist/types/components/Masonry/index.d.ts +2 -0
- package/dist/types/components/Masonry/masonry-distribute.d.ts +16 -0
- package/dist/types/components/Mentions/Mentions.d.ts +5 -2
- package/dist/types/components/Mentions/MentionsCore.d.ts +4 -2
- package/dist/types/components/Menu/MenuSub.d.ts +18 -0
- package/dist/types/components/Menu/MenuSubContent.d.ts +12 -0
- package/dist/types/components/Menu/MenuSubTrigger.d.ts +14 -0
- package/dist/types/components/Menu/index.d.ts +6 -0
- package/dist/types/components/NumberInput/NumberInput.d.ts +5 -2
- package/dist/types/components/NumberInput/NumberInputCore.d.ts +4 -2
- package/dist/types/components/OTPInput/OTPInput.d.ts +5 -1
- package/dist/types/components/OTPInput/OTPInputCore.d.ts +4 -1
- package/dist/types/components/PasswordInput/PasswordInput.d.ts +5 -1
- package/dist/types/components/PasswordInput/PasswordInputCore.d.ts +4 -1
- package/dist/types/components/Popover/Popover.d.ts +41 -3
- package/dist/types/components/Popover/index.d.ts +1 -1
- package/dist/types/components/PromptInput/PromptInput.d.ts +46 -0
- package/dist/types/components/PromptInput/index.d.ts +2 -0
- package/dist/types/components/Radio/Radio.d.ts +5 -2
- package/dist/types/components/Radio/RadioGroup.d.ts +8 -2
- package/dist/types/components/Radio/RadioGroupCore.d.ts +7 -2
- package/dist/types/components/Rating/Rating.d.ts +8 -1
- package/dist/types/components/Rating/RatingCore.d.ts +7 -1
- package/dist/types/components/Resizable/index.d.ts +2 -0
- package/dist/types/components/Segmented/Segmented.d.ts +8 -1
- package/dist/types/components/Segmented/SegmentedCore.d.ts +7 -2
- package/dist/types/components/Select/OptionGroup.d.ts +16 -0
- package/dist/types/components/Select/Select.d.ts +78 -4
- package/dist/types/components/Select/SelectCore.d.ts +79 -6
- package/dist/types/components/Select/SelectFloating.d.ts +94 -0
- package/dist/types/components/Select/index.d.ts +2 -0
- package/dist/types/components/Select/select-options.d.ts +53 -0
- package/dist/types/components/Signature/Signature.d.ts +51 -0
- package/dist/types/components/Signature/index.d.ts +2 -0
- package/dist/types/components/Signature/signature-points.d.ts +31 -0
- package/dist/types/components/Slider/Slider.d.ts +29 -4
- package/dist/types/components/Slider/SliderCore.d.ts +35 -6
- package/dist/types/components/Sources/Sources.d.ts +37 -0
- package/dist/types/components/Sources/index.d.ts +2 -0
- package/dist/types/components/Switch/Switch.d.ts +5 -2
- package/dist/types/components/Switch/SwitchCore.d.ts +4 -2
- package/dist/types/components/Tabs/TabList.d.ts +7 -0
- package/dist/types/components/Tabs/Tabs.d.ts +8 -1
- package/dist/types/components/Tabs/TabsContext.d.ts +20 -0
- package/dist/types/components/Tabs/index.d.ts +1 -0
- package/dist/types/components/TagGroup/SortableTagGroup.d.ts +20 -0
- package/dist/types/components/TagGroup/TagGroup.d.ts +3 -0
- package/dist/types/components/TagGroup/index.d.ts +2 -0
- package/dist/types/components/TagGroup/tag-group-styles.d.ts +7 -0
- package/dist/types/components/TagInput/SortableTagInput.d.ts +34 -0
- package/dist/types/components/TagInput/SortableTagInputCore.d.ts +18 -0
- package/dist/types/components/TagInput/TagInput.d.ts +5 -1
- package/dist/types/components/TagInput/TagInputCore.d.ts +6 -2
- package/dist/types/components/TagInput/index.d.ts +4 -0
- package/dist/types/components/TagInput/tag-input-styles.d.ts +12 -0
- package/dist/types/components/Textarea/Textarea.d.ts +5 -2
- package/dist/types/components/Textarea/TextareaCore.d.ts +4 -2
- package/dist/types/components/TimePicker/TimePicker.d.ts +5 -2
- package/dist/types/components/TimePicker/TimePickerCore.d.ts +4 -2
- package/dist/types/components/Toast/Toast.d.ts +31 -2
- package/dist/types/components/Toast/ToastContainer.d.ts +11 -1
- package/dist/types/components/Toast/ToastContext.d.ts +44 -3
- package/dist/types/components/Toast/index.d.ts +1 -1
- package/dist/types/components/Toast/toast.d.ts +35 -4
- package/dist/types/components/Toast/useToast.d.ts +16 -4
- package/dist/types/components/Toggle/Toggle.d.ts +19 -0
- package/dist/types/components/Toggle/ToggleCore.d.ts +23 -0
- package/dist/types/components/Toggle/index.d.ts +4 -0
- package/dist/types/components/Toolbar/ToolbarToggle.d.ts +19 -0
- package/dist/types/components/Toolbar/index.d.ts +2 -0
- package/dist/types/components/Tour/Tour.d.ts +3 -3
- package/dist/types/components/Tree/Tree.d.ts +3 -3
- package/dist/types/components/Tree/TreeItem.d.ts +16 -1
- package/dist/types/components/Tree/types.d.ts +51 -0
- package/dist/types/components/Tree/utils.d.ts +73 -0
- package/dist/types/components/Upload/Upload.d.ts +47 -3
- package/dist/types/components/Upload/UploadCore.d.ts +95 -4
- package/dist/types/components/Upload/UploadList.d.ts +18 -0
- package/dist/types/components/Upload/index.d.ts +1 -0
- package/dist/types/components/Upload/types.d.ts +60 -0
- package/dist/types/components/Upload/xhr-upload.d.ts +20 -0
- package/dist/types/components/VirtualList/VirtualList.d.ts +16 -1
- package/dist/types/components/Watermark/Watermark.d.ts +32 -0
- package/dist/types/components/Watermark/index.d.ts +2 -0
- package/dist/types/form/FormItem.d.ts +33 -8
- package/dist/types/form/FormList.d.ts +113 -0
- package/dist/types/form/index.d.ts +26 -0
- package/dist/types/form/standard-schema.d.ts +30 -0
- package/dist/types/headless/index.d.ts +399 -0
- package/dist/types/hooks/index.d.ts +13 -0
- package/dist/types/hooks/useClickOutside.d.ts +46 -0
- package/dist/types/hooks/useDarkMode.d.ts +40 -0
- package/dist/types/hooks/useFullscreen.d.ts +33 -0
- package/dist/types/hooks/useHotkeys.d.ts +53 -0
- package/dist/types/hooks/useInView.d.ts +32 -0
- package/dist/types/hooks/useLocalStorage.d.ts +33 -0
- package/dist/types/hooks/useMediaQuery.d.ts +3 -0
- package/dist/types/hooks/usePrevious.d.ts +18 -0
- package/dist/types/hooks/useSessionStorage.d.ts +26 -0
- package/dist/types/hooks/useStorageState.d.ts +12 -0
- package/dist/types/index.d.ts +79 -37
- package/dist/types/utils/collision.d.ts +39 -1
- package/dist/types/utils/direction.d.ts +22 -0
- package/dist/types/utils/floating.d.ts +32 -4
- package/dist/types/utils/focus-scope.d.ts +2 -1
- package/dist/types/utils/focus.d.ts +2 -1
- package/dist/types/utils/menuKeyboard.d.ts +19 -4
- package/dist/types/utils/refs.d.ts +16 -0
- package/dist/types/utils/sortable-handle.d.ts +25 -0
- package/dist/types/utils/sortable-shared.d.ts +30 -0
- package/dist/types/utils/sortable.d.ts +36 -0
- package/dist/types/utils/submenu.d.ts +63 -0
- package/dist/types/utils/view-transition.d.ts +28 -0
- package/dist/utils/classnames.js +0 -1
- package/dist/utils/collision.js +37 -26
- package/dist/utils/direction.js +34 -0
- package/dist/utils/floating.js +163 -143
- package/dist/utils/menuKeyboard.js +59 -46
- package/dist/utils/refs.js +9 -0
- package/dist/utils/sortable-handle.js +12 -0
- package/dist/utils/sortable-shared.js +16 -0
- package/dist/utils/sortable.js +47 -0
- package/dist/utils/submenu.js +106 -0
- package/dist/utils/view-transition.js +26 -0
- package/package.json +169 -16
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { mergeRefs as e } from "../utils/refs.js";
|
|
3
|
+
import { getDirection as t, localeDirection as n, useDirection as r } from "../utils/direction.js";
|
|
4
|
+
import { computeFloatingPosition as i, resolvePadding as a } from "../utils/collision.js";
|
|
5
|
+
import { Presence as o, whenExitSettles as s } from "../utils/presence.js";
|
|
6
|
+
import { FloatingPanel as c, floatingPlacementClasses as l, placeFloatingPanel as u, supportsAnchorPositioning as d, supportsNativePopover as f, useFloating as p, useFloatingPosition as m } from "../utils/floating.js";
|
|
7
|
+
import { TABBABLE_SELECTOR as h, focusFirst as g, getTabbables as _, isTabbable as v } from "../utils/focus.js";
|
|
8
|
+
import { useFocusScope as y } from "../utils/focus-scope.js";
|
|
9
|
+
import { useMediaQuery as b } from "../hooks/useMediaQuery.js";
|
|
10
|
+
import { useViewTransitionFlip as x } from "../utils/view-transition.js";
|
|
11
|
+
import { getEnabledMenuItems as S, useMenuKeyboard as C, useRovingTabindex as w } from "../utils/menuKeyboard.js";
|
|
12
|
+
import { SUBMENU_CLOSE_GRACE_MS as T, SUBMENU_OPEN_DELAY_MS as E, SubmenuProvider as D, useSubmenu as O, useSubmenuContext as k } from "../utils/submenu.js";
|
|
13
|
+
import { hotkey as A, useHotkeys as j } from "../hooks/useHotkeys.js";
|
|
14
|
+
import { useClickOutside as M } from "../hooks/useClickOutside.js";
|
|
15
|
+
import { useLocalStorage as N } from "../hooks/useLocalStorage.js";
|
|
16
|
+
import { useInView as P } from "../hooks/useInView.js";
|
|
17
|
+
import { usePrevious as F } from "../hooks/usePrevious.js";
|
|
18
|
+
import { useSessionStorage as I } from "../hooks/useSessionStorage.js";
|
|
19
|
+
export { c as FloatingPanel, o as Presence, T as SUBMENU_CLOSE_GRACE_MS, E as SUBMENU_OPEN_DELAY_MS, D as SubmenuProvider, h as TABBABLE_SELECTOR, i as computeFloatingPosition, l as floatingPlacementClasses, g as focusFirst, t as getDirection, S as getEnabledMenuItems, _ as getTabbables, A as hotkey, v as isTabbable, n as localeDirection, e as mergeRefs, u as placeFloatingPanel, a as resolvePadding, d as supportsAnchorPositioning, f as supportsNativePopover, M as useClickOutside, r as useDirection, p as useFloating, m as useFloatingPosition, y as useFocusScope, j as useHotkeys, P as useInView, N as useLocalStorage, b as useMediaQuery, C as useMenuKeyboard, F as usePrevious, w as useRovingTabindex, I as useSessionStorage, O as useSubmenu, k as useSubmenuContext, x as useViewTransitionFlip, s as whenExitSettles };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback as e, useEffect as t, useRef as n, useState as r } from "react";
|
|
3
|
+
//#region src/lib/hooks/useClickOutside.ts
|
|
4
|
+
function i(i, a = {}) {
|
|
5
|
+
let { enabled: o = !0, ignore: s } = a, [c, l] = r(null), u = n(i), d = n(s);
|
|
6
|
+
return t(() => {
|
|
7
|
+
u.current = i, d.current = s;
|
|
8
|
+
}), t(() => {
|
|
9
|
+
if (!o || c === null) return;
|
|
10
|
+
let e = (e) => {
|
|
11
|
+
let t = d.current;
|
|
12
|
+
if (!t) return !1;
|
|
13
|
+
for (let n of t) if (n.current && e instanceof Node && n.current.contains(e)) return !0;
|
|
14
|
+
return !1;
|
|
15
|
+
}, t = (t) => {
|
|
16
|
+
!t.composedPath().includes(c) && !e(t.target) && u.current(t);
|
|
17
|
+
};
|
|
18
|
+
return document.addEventListener("pointerdown", t), () => document.removeEventListener("pointerdown", t);
|
|
19
|
+
}, [o, c]), e((e) => {
|
|
20
|
+
l(e);
|
|
21
|
+
}, []);
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { i as useClickOutside };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { darkTheme as e, lightTheme as t } from "../tokens/colors.js";
|
|
3
|
+
import { useMediaQuery as n } from "./useMediaQuery.js";
|
|
4
|
+
import { useLocalStorage as r } from "./useLocalStorage.js";
|
|
5
|
+
import { useCallback as i, useEffect as a } from "react";
|
|
6
|
+
//#region src/lib/hooks/useDarkMode.ts
|
|
7
|
+
var o = "haze-ui-color-mode", s = "(prefers-color-scheme: dark)", c = (e) => e === "light" || e === "dark" || e === "system";
|
|
8
|
+
function l(e) {
|
|
9
|
+
return typeof document > "u" ? null : e === void 0 ? document.documentElement : typeof e == "object" && "current" in e ? e.current : e;
|
|
10
|
+
}
|
|
11
|
+
function u(u) {
|
|
12
|
+
let { storageKey: d = o, target: f, defaultMode: p = "system" } = u ?? {}, [m, h] = r(d, void 0, p), g = c(m) ? m : p, _ = n(s), v = g === "dark" || g === "system" && _, y = i((e) => {
|
|
13
|
+
let t = typeof e == "function" ? e(v) : e;
|
|
14
|
+
h(t ? "dark" : "light");
|
|
15
|
+
}, [v, h]);
|
|
16
|
+
return a(() => {
|
|
17
|
+
let n = l(f);
|
|
18
|
+
n !== null && (n.classList.toggle(t, !v), n.classList.toggle(e, v));
|
|
19
|
+
}, [v, f]), [
|
|
20
|
+
v,
|
|
21
|
+
y,
|
|
22
|
+
g,
|
|
23
|
+
h
|
|
24
|
+
];
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { u as useDarkMode };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback as e, useEffect as t, useMemo as n, useState as r } from "react";
|
|
3
|
+
//#region src/lib/hooks/useFullscreen.ts
|
|
4
|
+
function i(e) {
|
|
5
|
+
return e ? "current" in e ? e.current : e : document.documentElement;
|
|
6
|
+
}
|
|
7
|
+
function a(a) {
|
|
8
|
+
let [o, s] = r(!1), c = e(() => {
|
|
9
|
+
let e = i(a);
|
|
10
|
+
s(document.fullscreenElement === e);
|
|
11
|
+
}, [a]);
|
|
12
|
+
t(() => (c(), document.addEventListener("fullscreenchange", c), () => document.removeEventListener("fullscreenchange", c)), [c]);
|
|
13
|
+
let l = e(() => {
|
|
14
|
+
let e = i(a);
|
|
15
|
+
e && typeof e.requestFullscreen == "function" && e.requestFullscreen().catch(() => void 0);
|
|
16
|
+
}, [a]), u = e(() => {
|
|
17
|
+
typeof document.exitFullscreen == "function" && document.fullscreenElement === i(a) && document.exitFullscreen().catch(() => void 0);
|
|
18
|
+
}, [a]), d = e(() => {
|
|
19
|
+
document.fullscreenElement === i(a) ? u() : l();
|
|
20
|
+
}, [
|
|
21
|
+
a,
|
|
22
|
+
l,
|
|
23
|
+
u
|
|
24
|
+
]);
|
|
25
|
+
return [
|
|
26
|
+
o,
|
|
27
|
+
d,
|
|
28
|
+
n(() => ({
|
|
29
|
+
isFullscreen: o,
|
|
30
|
+
enter: l,
|
|
31
|
+
exit: u,
|
|
32
|
+
toggle: d
|
|
33
|
+
}), [
|
|
34
|
+
o,
|
|
35
|
+
l,
|
|
36
|
+
u,
|
|
37
|
+
d
|
|
38
|
+
])
|
|
39
|
+
];
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
export { a as useFullscreen };
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useEffect as e, useRef as t } from "react";
|
|
3
|
+
//#region src/lib/hooks/useHotkeys.ts
|
|
4
|
+
var n = {
|
|
5
|
+
mod: "mod",
|
|
6
|
+
ctrl: "ctrl",
|
|
7
|
+
control: "ctrl",
|
|
8
|
+
meta: "meta",
|
|
9
|
+
cmd: "meta",
|
|
10
|
+
command: "meta",
|
|
11
|
+
"⌘": "meta",
|
|
12
|
+
shift: "shift",
|
|
13
|
+
alt: "alt",
|
|
14
|
+
option: "alt",
|
|
15
|
+
"⌥": "alt"
|
|
16
|
+
};
|
|
17
|
+
function r() {
|
|
18
|
+
return typeof navigator > "u" ? !1 : /mac|iphone|ipad|ipod/i.test(navigator.platform);
|
|
19
|
+
}
|
|
20
|
+
function i(e) {
|
|
21
|
+
let t = e.split("+").map((e) => e.trim()), i = t.pop() ?? "";
|
|
22
|
+
if (i === "") return null;
|
|
23
|
+
let a = /* @__PURE__ */ new Set();
|
|
24
|
+
for (let e of t) {
|
|
25
|
+
let t = n[e.toLowerCase()];
|
|
26
|
+
if (t === void 0) return null;
|
|
27
|
+
a.add(t === "mod" ? r() ? "meta" : "ctrl" : t);
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
modifiers: a,
|
|
31
|
+
key: i
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function a(e, t) {
|
|
35
|
+
let n = i(e);
|
|
36
|
+
if (n === null) return !1;
|
|
37
|
+
let { modifiers: r, key: a } = n;
|
|
38
|
+
return r.has("ctrl") && !t.ctrlKey || r.has("shift") && !t.shiftKey || r.has("alt") && !t.altKey || r.has("meta") && !t.metaKey || !r.has("ctrl") && t.ctrlKey || !r.has("alt") && t.altKey || !r.has("meta") && t.metaKey ? !1 : a.length === 1 ? t.key.toLowerCase() === a.toLowerCase() : t.key === a;
|
|
39
|
+
}
|
|
40
|
+
function o(e) {
|
|
41
|
+
if (!(e instanceof HTMLElement)) return !1;
|
|
42
|
+
if (e.isContentEditable) return !0;
|
|
43
|
+
let t = e.tagName;
|
|
44
|
+
return t === "INPUT" || t === "TEXTAREA" || t === "SELECT";
|
|
45
|
+
}
|
|
46
|
+
function s(...e) {
|
|
47
|
+
return e.join(",");
|
|
48
|
+
}
|
|
49
|
+
function c(n, r = {}) {
|
|
50
|
+
let { enabled: i = !0, target: s, eventName: c = "keydown", allowInInput: l = !1 } = r, u = t(n);
|
|
51
|
+
e(() => {
|
|
52
|
+
u.current = n;
|
|
53
|
+
}), e(() => {
|
|
54
|
+
if (!i) return;
|
|
55
|
+
let e = s === void 0 ? window : "current" in s ? s.current : s;
|
|
56
|
+
if (e === null) return;
|
|
57
|
+
let t = (e) => {
|
|
58
|
+
let t = e;
|
|
59
|
+
if (!l && o(t.target)) return;
|
|
60
|
+
let n = u.current;
|
|
61
|
+
for (let e of Object.keys(n)) if (e.split(",").some((e) => a(e.trim(), t))) {
|
|
62
|
+
let r = n[e];
|
|
63
|
+
if (!r) continue;
|
|
64
|
+
t.preventDefault(), t.stopPropagation(), r(t);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
return e.addEventListener(c, t), () => e.removeEventListener(c, t);
|
|
69
|
+
}, [
|
|
70
|
+
i,
|
|
71
|
+
s,
|
|
72
|
+
c,
|
|
73
|
+
l
|
|
74
|
+
]);
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
export { s as hotkey, c as useHotkeys };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback as e, useEffect as t, useRef as n, useState as r } from "react";
|
|
3
|
+
//#region src/lib/hooks/useInView.ts
|
|
4
|
+
function i(i = {}) {
|
|
5
|
+
let { once: a = !1, root: o, rootMargin: s, threshold: c } = i, [l, u] = r(null), [d, f] = r(!1), p = n(!1);
|
|
6
|
+
return t(() => {
|
|
7
|
+
if (l === null || typeof IntersectionObserver > "u") return;
|
|
8
|
+
let e = new IntersectionObserver((t) => {
|
|
9
|
+
for (let n of t) n.isIntersecting ? (p.current || f(!0), a && (p.current = !0, e.disconnect())) : a || f(!1);
|
|
10
|
+
}, {
|
|
11
|
+
root: o,
|
|
12
|
+
rootMargin: s,
|
|
13
|
+
threshold: c
|
|
14
|
+
});
|
|
15
|
+
return e.observe(l), () => e.disconnect();
|
|
16
|
+
}, [
|
|
17
|
+
l,
|
|
18
|
+
a,
|
|
19
|
+
o,
|
|
20
|
+
s,
|
|
21
|
+
c
|
|
22
|
+
]), [e((e) => {
|
|
23
|
+
u(e);
|
|
24
|
+
}, []), d];
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { i as useInView };
|
|
@@ -4,9 +4,10 @@ import { useCallback as e, useSyncExternalStore as t } from "react";
|
|
|
4
4
|
var n = () => !1;
|
|
5
5
|
function r(r) {
|
|
6
6
|
let i = e((e) => {
|
|
7
|
+
if (typeof window.matchMedia != "function") return () => void 0;
|
|
7
8
|
let t = window.matchMedia(r);
|
|
8
9
|
return t.addEventListener("change", e), () => t.removeEventListener("change", e);
|
|
9
|
-
}, [r]), a = e(() => window.matchMedia(r).matches, [r]);
|
|
10
|
+
}, [r]), a = e(() => typeof window.matchMedia == "function" && window.matchMedia(r).matches, [r]);
|
|
10
11
|
return t(i, a, n);
|
|
11
12
|
}
|
|
12
13
|
//#endregion
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useEffect as e, useRef as t } from "react";
|
|
3
|
+
//#region src/lib/hooks/usePrevious.ts
|
|
4
|
+
function n(n) {
|
|
5
|
+
let r = t(void 0), i = r.current;
|
|
6
|
+
return e(() => {
|
|
7
|
+
r.current = n;
|
|
8
|
+
}, [n]), i;
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { n as usePrevious };
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useEffect as e } from "react";
|
|
3
|
+
import { isControl as t, useControl as n } from "react-use-control";
|
|
4
|
+
//#region src/lib/hooks/useStorageState.ts
|
|
5
|
+
function r(e) {
|
|
6
|
+
if (typeof window > "u") return null;
|
|
7
|
+
try {
|
|
8
|
+
return e === "local" ? window.localStorage : window.sessionStorage;
|
|
9
|
+
} catch {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function i(e, t) {
|
|
14
|
+
let n = r(e);
|
|
15
|
+
if (n === null) return {
|
|
16
|
+
present: !1,
|
|
17
|
+
value: void 0
|
|
18
|
+
};
|
|
19
|
+
let i;
|
|
20
|
+
try {
|
|
21
|
+
i = n.getItem(t);
|
|
22
|
+
} catch {
|
|
23
|
+
return {
|
|
24
|
+
present: !1,
|
|
25
|
+
value: void 0
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
if (i === null) return {
|
|
29
|
+
present: !1,
|
|
30
|
+
value: void 0
|
|
31
|
+
};
|
|
32
|
+
try {
|
|
33
|
+
return {
|
|
34
|
+
present: !0,
|
|
35
|
+
value: JSON.parse(i)
|
|
36
|
+
};
|
|
37
|
+
} catch {
|
|
38
|
+
return {
|
|
39
|
+
present: !1,
|
|
40
|
+
value: void 0
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function a(a, o, s, c) {
|
|
45
|
+
let l = t(s), u = l ? void 0 : s, [d, f] = n(l ? s : void 0, () => {
|
|
46
|
+
let e = i(a, o);
|
|
47
|
+
if (e.present) return e.value;
|
|
48
|
+
if (u !== void 0) return u;
|
|
49
|
+
if (c !== void 0) return typeof c == "function" ? c() : c;
|
|
50
|
+
});
|
|
51
|
+
return e(() => {
|
|
52
|
+
if (l || d === void 0) return;
|
|
53
|
+
let e = r(a);
|
|
54
|
+
if (e !== null) try {
|
|
55
|
+
e.setItem(o, JSON.stringify(d));
|
|
56
|
+
} catch {}
|
|
57
|
+
}, [
|
|
58
|
+
l,
|
|
59
|
+
a,
|
|
60
|
+
o,
|
|
61
|
+
d
|
|
62
|
+
]), e(() => {
|
|
63
|
+
if (l || typeof window > "u") return;
|
|
64
|
+
let e = (e) => {
|
|
65
|
+
if (e.key !== o) return;
|
|
66
|
+
let t = r(a);
|
|
67
|
+
if ((t === null || e.storageArea === null || e.storageArea === t) && e.newValue !== null) try {
|
|
68
|
+
f(JSON.parse(e.newValue));
|
|
69
|
+
} catch {}
|
|
70
|
+
};
|
|
71
|
+
return window.addEventListener("storage", e), () => window.removeEventListener("storage", e);
|
|
72
|
+
}, [
|
|
73
|
+
l,
|
|
74
|
+
a,
|
|
75
|
+
o,
|
|
76
|
+
f
|
|
77
|
+
]), [d, f];
|
|
78
|
+
}
|
|
79
|
+
//#endregion
|
|
80
|
+
export { a as useStorageState };
|