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,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 上一次渲染时的值。首次渲染返回 `undefined`。
|
|
3
|
+
*
|
|
4
|
+
* ```tsx
|
|
5
|
+
* const [count, setCount] = useState(0);
|
|
6
|
+
* const prev = usePrevious(count);
|
|
7
|
+
* // count 从 0 变 1 后:count === 1, prev === 0
|
|
8
|
+
* ```
|
|
9
|
+
*
|
|
10
|
+
* - 值比较按渲染(identity),不做深比较——对象/数组每次新引用都会
|
|
11
|
+
* 视为变化,需要浅比较时先用 `useMemo` 稳定引用。
|
|
12
|
+
* - 写入发生在 effect:与 `useEffect`/`useLayoutEffect` 内读到的前一值
|
|
13
|
+
* 一致;并发渲染下同一轮重试不会污染 prev。
|
|
14
|
+
*
|
|
15
|
+
* @param value 需要追踪前值的任意值。
|
|
16
|
+
* @returns 上一轮渲染的同一值;首轮为 `undefined`。
|
|
17
|
+
*/
|
|
18
|
+
export declare function usePrevious<T>(value: T): T | undefined;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Dispatch, SetStateAction } from 'react';
|
|
2
|
+
import type { ControlOrValue } from 'react-use-control';
|
|
3
|
+
/**
|
|
4
|
+
* sessionStorage 持久化的可控状态:与 `useLocalStorage` 共享同一内核,
|
|
5
|
+
* 仅 storage 区域不同——值随标签页会话存活,关闭标签页即清空。
|
|
6
|
+
*
|
|
7
|
+
* ```tsx
|
|
8
|
+
* // 非受控:已持久化值优先于 initial;setValue 即写回 sessionStorage
|
|
9
|
+
* const [token, setToken] = useSessionStorage<string>('api-token', undefined, '');
|
|
10
|
+
* setToken('abc'); // sessionStorage['api-token'] === '"abc"'
|
|
11
|
+
*
|
|
12
|
+
* // 受控:control 所有者持有状态,storage 只作初值来源、不回写
|
|
13
|
+
* const [token, setToken, tokenControl] = useControl(undefined, '');
|
|
14
|
+
* <TokenField token={tokenControl} onTokenChange={setToken} />
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* 语义与 `useLocalStorage` 完全一致(初值解析顺序、损坏 JSON 容错、
|
|
18
|
+
* 非受控写回 + 跨标签页 `storage` 事件同步、受控不回写、SSR 安全),
|
|
19
|
+
* 见 {@link useLocalStorage}。
|
|
20
|
+
*
|
|
21
|
+
* @param key storage 键。
|
|
22
|
+
* @param control `Control<T>` 受控,或裸 `T` 作非受控初值。
|
|
23
|
+
* @param initial 兜底初始值(支持惰性函数形式)。
|
|
24
|
+
* @returns `[value, setValue]`,语义与 `useState` 一致。
|
|
25
|
+
*/
|
|
26
|
+
export declare function useSessionStorage<T>(key: string, control?: ControlOrValue<T>, initial?: T | (() => T)): [T, Dispatch<SetStateAction<T>>];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Dispatch, SetStateAction } from 'react';
|
|
2
|
+
import type { ControlOrValue } from 'react-use-control';
|
|
3
|
+
type StorageKind = 'local' | 'session';
|
|
4
|
+
/**
|
|
5
|
+
* storage 持久化的可控状态内核(useLocalStorage / useSessionStorage 共用)。
|
|
6
|
+
*
|
|
7
|
+
* 初值解析顺序:已持久化值 > 非受控裸值 > `initial`。受控(传入 control)
|
|
8
|
+
* 且 control 已携带 state 时,useControl 直接采用上游状态,storage 不参与。
|
|
9
|
+
*/
|
|
10
|
+
declare function useStorageState<T>(kind: StorageKind, key: string, control: ControlOrValue<T> | undefined, initial: T | (() => T) | undefined): [T, Dispatch<SetStateAction<T>>];
|
|
11
|
+
export { useStorageState };
|
|
12
|
+
export type { StorageKind };
|
package/dist/types/index.d.ts
CHANGED
|
@@ -3,24 +3,26 @@ export { spacing } from './tokens/spacing';
|
|
|
3
3
|
export { typography } from './tokens/typography';
|
|
4
4
|
export { TOKEN_REGISTRY, COMPONENT_TOKENS } from './tokens/registry';
|
|
5
5
|
export type { TokenDef } from './tokens/registry';
|
|
6
|
-
export { Button, ButtonLink } from './components/Button';
|
|
6
|
+
export { Button, ButtonLink, buttonVariants, buttonSizes } from './components/Button';
|
|
7
7
|
export type { ButtonProps, ButtonLinkProps } from './components/Button';
|
|
8
8
|
export { Input, InputCore } from './components/Input';
|
|
9
9
|
export type { InputProps, InputCoreProps } from './components/Input';
|
|
10
|
-
export { Select, Option, SelectCore } from './components/Select';
|
|
11
|
-
export type { SelectProps, OptionProps, SelectCoreProps } from './components/Select';
|
|
10
|
+
export { Select, Option, SelectCore, OptionGroup } from './components/Select';
|
|
11
|
+
export type { SelectProps, OptionProps, SelectCoreProps, OptionGroupProps } from './components/Select';
|
|
12
12
|
export { Checkbox, CheckboxCore } from './components/Checkbox';
|
|
13
13
|
export type { CheckboxProps, CheckboxCoreProps } from './components/Checkbox';
|
|
14
14
|
export { Switch, SwitchCore } from './components/Switch';
|
|
15
15
|
export type { SwitchProps, SwitchCoreProps } from './components/Switch';
|
|
16
|
-
export {
|
|
16
|
+
export { Toggle, ToggleCore } from './components/Toggle';
|
|
17
|
+
export type { ToggleProps, ToggleCoreProps } from './components/Toggle';
|
|
18
|
+
export { Badge, badgeVariants, badgeSizes } from './components/Badge';
|
|
17
19
|
export type { BadgeProps } from './components/Badge';
|
|
18
20
|
export { Dialog } from './components/Dialog';
|
|
19
|
-
export type { DialogProps } from './components/Dialog';
|
|
21
|
+
export type { DialogProps, DialogHandle, DialogClassNames } from './components/Dialog';
|
|
20
22
|
export { Tooltip } from './components/Tooltip';
|
|
21
23
|
export type { TooltipProps } from './components/Tooltip';
|
|
22
24
|
export { Popover } from './components/Popover';
|
|
23
|
-
export type { PopoverProps } from './components/Popover';
|
|
25
|
+
export type { PopoverProps, PopoverHandle, PopoverClassNames } from './components/Popover';
|
|
24
26
|
export { Card } from './components/Card';
|
|
25
27
|
export type { CardProps } from './components/Card';
|
|
26
28
|
export { Radio, RadioGroup, RadioGroupCore } from './components/Radio';
|
|
@@ -30,7 +32,7 @@ export type { TextareaProps, TextareaCoreProps } from './components/Textarea';
|
|
|
30
32
|
export { Slider, SliderCore } from './components/Slider';
|
|
31
33
|
export type { SliderProps, SliderCoreProps } from './components/Slider';
|
|
32
34
|
export { Tabs, TabList, Tab, TabPanel } from './components/Tabs';
|
|
33
|
-
export type { TabsProps, TabListProps, TabProps, TabPanelProps, } from './components/Tabs';
|
|
35
|
+
export type { TabsProps, TabsClassNames, TabListProps, TabProps, TabPanelProps, } from './components/Tabs';
|
|
34
36
|
export { Accordion, AccordionItem } from './components/Accordion';
|
|
35
37
|
export type { AccordionProps, AccordionItemProps, } from './components/Accordion';
|
|
36
38
|
export { Alert } from './components/Alert';
|
|
@@ -44,31 +46,31 @@ export type { SkeletonProps } from './components/Skeleton';
|
|
|
44
46
|
export { Icon } from './components/Icon';
|
|
45
47
|
export type { IconProps } from './components/Icon';
|
|
46
48
|
export { Image } from './components/Image';
|
|
47
|
-
export type { ImageProps } from './components/Image';
|
|
49
|
+
export type { ImageProps, ImagePreviewConfig } from './components/Image';
|
|
48
50
|
export { Flex } from './components/Flex';
|
|
49
51
|
export type { FlexProps } from './components/Flex';
|
|
50
52
|
export { Breadcrumb, BreadcrumbItem } from './components/Breadcrumb';
|
|
51
53
|
export type { BreadcrumbProps, BreadcrumbItemProps, } from './components/Breadcrumb';
|
|
52
54
|
export { Disclosure } from './components/Disclosure';
|
|
53
55
|
export type { DisclosureProps } from './components/Disclosure';
|
|
54
|
-
export { Menu, MenuItem, MenuDivider } from './components/Menu';
|
|
55
|
-
export type { MenuProps, MenuItemProps } from './components/Menu';
|
|
56
|
+
export { Menu, MenuItem, MenuDivider, MenuSub, MenuSubTrigger, MenuSubContent } from './components/Menu';
|
|
57
|
+
export type { MenuProps, MenuItemProps, MenuSubProps, MenuSubTriggerProps, MenuSubContentProps } from './components/Menu';
|
|
56
58
|
export { NumberInput, NumberInputCore } from './components/NumberInput';
|
|
57
59
|
export type { NumberInputProps, NumberInputCoreProps } from './components/NumberInput';
|
|
58
60
|
export { FileInput } from './components/FileInput';
|
|
59
61
|
export type { FileInputProps } from './components/FileInput';
|
|
60
62
|
export { Toast, ToastContainer, useToast, toast } from './components/Toast';
|
|
61
|
-
export type { ToastProps, ToastContainerProps, ToastOptions, ToastVariant } from './components/Toast';
|
|
63
|
+
export type { ToastProps, ToastContainerProps, ToastOptions, ToastVariant, ToastClassNames } from './components/Toast';
|
|
62
64
|
export { List, ListItem } from './components/List';
|
|
63
65
|
export type { ListProps, ListItemProps } from './components/List';
|
|
64
|
-
export { Combobox } from './components/Combobox';
|
|
65
|
-
export type { ComboboxProps } from './components/Combobox';
|
|
66
|
+
export { Combobox, ComboboxOption, ComboboxGroup } from './components/Combobox';
|
|
67
|
+
export type { ComboboxProps, ComboboxOptionProps, ComboboxGroupProps, ComboboxOptionData, ComboboxVirtualizedConfig } from './components/Combobox';
|
|
66
68
|
export { Table, TableHead, TableBody, TableRow, TableCell, } from './components/Table';
|
|
67
69
|
export type { TableProps, TableHeadProps, TableBodyProps, TableRowProps, TableCellProps, } from './components/Table';
|
|
68
70
|
export { Carousel, CarouselSlide } from './components/Carousel';
|
|
69
71
|
export type { CarouselProps, CarouselSlideProps } from './components/Carousel';
|
|
70
72
|
export { Datepicker, DatepickerCore } from './components/Datepicker';
|
|
71
|
-
export type { DatepickerProps, DatepickerCoreProps } from './components/Datepicker';
|
|
73
|
+
export type { DatepickerProps, DatepickerCoreProps, DatepickerPreset } from './components/Datepicker';
|
|
72
74
|
export { Tree } from './components/Tree';
|
|
73
75
|
export type { TreeProps, TreeNodeData } from './components/Tree';
|
|
74
76
|
export { Divider } from './components/Divider';
|
|
@@ -84,19 +86,21 @@ export type { PaginationProps } from './components/Pagination';
|
|
|
84
86
|
export { Grid, GridItem } from './components/Grid';
|
|
85
87
|
export type { GridProps, GridItemProps } from './components/Grid';
|
|
86
88
|
export { Drawer } from './components/Drawer';
|
|
87
|
-
export type { DrawerProps } from './components/Drawer';
|
|
89
|
+
export type { DrawerProps, DrawerHandle } from './components/Drawer';
|
|
88
90
|
export { Stepper, Step } from './components/Stepper';
|
|
89
91
|
export type { StepperProps, StepProps } from './components/Stepper';
|
|
90
|
-
export { Command, CommandInput, CommandList, CommandItem } from './components/Command';
|
|
91
|
-
export type { CommandProps, CommandInputProps, CommandListProps, CommandItemProps } from './components/Command';
|
|
92
|
+
export { Command, CommandInput, CommandList, CommandItem, CommandGroup, CommandDialog } from './components/Command';
|
|
93
|
+
export type { CommandProps, CommandInputProps, CommandListProps, CommandItemProps, CommandGroupProps, CommandDialogProps } from './components/Command';
|
|
92
94
|
export { ResizableGroup, ResizablePanel, ResizableHandle } from './components/Resizable';
|
|
93
95
|
export type { ResizableGroupProps, ResizablePanelProps, ResizableHandleProps } from './components/Resizable';
|
|
96
|
+
export { SplitterGroup, SplitterPanel, SplitterHandle, } from './components/Resizable';
|
|
97
|
+
export type { ResizableGroupProps as SplitterGroupProps, ResizablePanelProps as SplitterPanelProps, ResizableHandleProps as SplitterHandleProps, } from './components/Resizable';
|
|
94
98
|
export { Collapsible, CollapsibleTrigger, CollapsibleContent } from './components/Collapsible';
|
|
95
|
-
export type { CollapsibleProps, CollapsibleTriggerProps, CollapsibleContentProps } from './components/Collapsible';
|
|
99
|
+
export type { CollapsibleProps, CollapsibleTriggerProps, CollapsibleContentProps, CollapsibleClassNames } from './components/Collapsible';
|
|
96
100
|
export { Transfer, TransferCore } from './components/Transfer';
|
|
97
101
|
export type { TransferProps, TransferItem, TransferCoreProps } from './components/Transfer';
|
|
98
102
|
export { Upload, UploadCore } from './components/Upload';
|
|
99
|
-
export type { UploadProps, UploadCoreProps } from './components/Upload';
|
|
103
|
+
export type { UploadProps, UploadCoreProps, UploadHandle, UploadStatus, UploadFileStatus, UploadRequest, UploadRequestOptions, UploadListItemActions, UploadListItemRender } from './components/Upload';
|
|
100
104
|
export { ColorPicker, ColorPickerCore } from './components/ColorPicker';
|
|
101
105
|
export type { ColorPickerProps, ColorPickerCoreProps } from './components/ColorPicker';
|
|
102
106
|
export { Rating, RatingCore } from './components/Rating';
|
|
@@ -116,19 +120,21 @@ export type { ScrollAreaProps } from './components/ScrollArea';
|
|
|
116
120
|
export { TimePicker, TimePickerCore } from './components/TimePicker';
|
|
117
121
|
export type { TimePickerProps, TimePickerCoreProps } from './components/TimePicker';
|
|
118
122
|
export { DateRangePicker, DateRangePickerCore } from './components/DateRangePicker';
|
|
119
|
-
export type { DateRangePickerProps, DateRangePickerCoreProps } from './components/DateRangePicker';
|
|
123
|
+
export type { DateRangePickerProps, DateRangePickerCoreProps, DateRangePickerPreset, DateRangePickerPresets } from './components/DateRangePicker';
|
|
120
124
|
export { OTPInput, OTPInputCore } from './components/OTPInput';
|
|
121
125
|
export type { OTPInputProps, OTPInputCoreProps } from './components/OTPInput';
|
|
122
126
|
export { PasswordInput, PasswordInputCore } from './components/PasswordInput';
|
|
123
127
|
export type { PasswordInputProps, PasswordInputCoreProps } from './components/PasswordInput';
|
|
124
|
-
export { TagInput, TagInputCore } from './components/TagInput';
|
|
125
|
-
export type { TagInputProps, TagInputCoreProps } from './components/TagInput';
|
|
128
|
+
export { TagInput, TagInputCore, SortableTagInput, SortableTagInputCore } from './components/TagInput';
|
|
129
|
+
export type { TagInputProps, TagInputCoreProps, SortableTagInputProps, SortableTagInputCoreProps } from './components/TagInput';
|
|
126
130
|
export { Mentions, MentionsCore } from './components/Mentions';
|
|
127
131
|
export type { MentionsProps, MentionsCoreProps, MentionsOption } from './components/Mentions';
|
|
132
|
+
export { PromptInput } from './components/PromptInput';
|
|
133
|
+
export type { PromptInputProps } from './components/PromptInput';
|
|
128
134
|
export { InlineEdit } from './components/InlineEdit';
|
|
129
135
|
export type { InlineEditProps } from './components/InlineEdit';
|
|
130
|
-
export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator } from './components/DropdownMenu';
|
|
131
|
-
export type { DropdownMenuProps, DropdownMenuTriggerProps, DropdownMenuContentProps, DropdownMenuItemProps, DropdownMenuSeparatorProps } from './components/DropdownMenu';
|
|
136
|
+
export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent } from './components/DropdownMenu';
|
|
137
|
+
export type { DropdownMenuProps, DropdownMenuTriggerProps, DropdownMenuContentProps, DropdownMenuItemProps, DropdownMenuSeparatorProps, DropdownMenuSubProps, DropdownMenuSubTriggerProps, DropdownMenuSubContentProps, DropdownMenuHandle } from './components/DropdownMenu';
|
|
132
138
|
export { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuSeparator } from './components/ContextMenu';
|
|
133
139
|
export type { ContextMenuProps, ContextMenuTriggerProps, ContextMenuContentProps, ContextMenuItemProps, ContextMenuSeparatorProps } from './components/ContextMenu';
|
|
134
140
|
export { NavigationBar, NavLink } from './components/NavigationBar';
|
|
@@ -144,38 +150,51 @@ export type { BannerProps } from './components/Banner';
|
|
|
144
150
|
export { ConfirmDialog } from './components/ConfirmDialog';
|
|
145
151
|
export type { ConfirmDialogProps } from './components/ConfirmDialog';
|
|
146
152
|
export { CodeBlock } from './components/CodeBlock';
|
|
147
|
-
export type { CodeBlockProps } from './components/CodeBlock';
|
|
153
|
+
export type { CodeBlockProps, Highlighter } from './components/CodeBlock';
|
|
148
154
|
export { AspectRatio } from './components/AspectRatio';
|
|
149
155
|
export type { AspectRatioProps } from './components/AspectRatio';
|
|
150
156
|
export { VirtualList } from './components/VirtualList';
|
|
151
157
|
export type { VirtualListProps, VirtualListHandle, VirtualListGroup, VirtualListAlign } from './components/VirtualList';
|
|
152
|
-
export { TagGroup, TagGroupItem } from './components/TagGroup';
|
|
153
|
-
export type { TagGroupProps, TagGroupItemProps } from './components/TagGroup';
|
|
158
|
+
export { TagGroup, TagGroupItem, SortableTagGroup } from './components/TagGroup';
|
|
159
|
+
export type { TagGroupProps, TagGroupItemProps, SortableTagGroupProps } from './components/TagGroup';
|
|
154
160
|
export { BottomSheet } from './components/BottomSheet';
|
|
155
|
-
export type { BottomSheetProps } from './components/BottomSheet';
|
|
161
|
+
export type { BottomSheetProps, BottomSheetHandle } from './components/BottomSheet';
|
|
156
162
|
export { SwipeAction } from './components/SwipeAction';
|
|
157
163
|
export type { SwipeActionProps } from './components/SwipeAction';
|
|
158
164
|
export { default as LocaleProvider, useStrings } from './components/LocaleProvider';
|
|
159
|
-
export { defaultStrings, enUS, zhCN } from './components/LocaleProvider';
|
|
165
|
+
export { defaultStrings, enUS, zhCN, jaJP, createStrings } from './components/LocaleProvider';
|
|
160
166
|
export type { LocaleProviderProps, HazeStrings } from './components/LocaleProvider';
|
|
161
|
-
export {
|
|
162
|
-
export
|
|
167
|
+
export type { DeepPartial } from './components/LocaleProvider';
|
|
168
|
+
export { useDirection, getDirection, localeDirection } from './utils/direction';
|
|
169
|
+
export type { Direction } from './utils/direction';
|
|
170
|
+
export { DataTable, dataTableSum, dataTableAvg, dataTableCount, dataTableToCsv } from './components/DataTable';
|
|
171
|
+
export type { DataTableProps, DataTableColumnDef, DataTableColumnMeta, DataTableVirtualized, DataTableSummary, DataTableSummaryCell, DataTableCellEditorProps, DataTableCsvOptions, } from './components/DataTable';
|
|
172
|
+
export { Chart } from './components/Chart';
|
|
173
|
+
export type { ChartProps, ChartSeries, ChartType, ChartTooltipPayload, ChartTooltipEntry } from './components/Chart';
|
|
163
174
|
export { Kbd } from './components/Kbd';
|
|
164
175
|
export type { KbdProps } from './components/Kbd';
|
|
165
176
|
export { AvatarGroup } from './components/AvatarGroup';
|
|
166
177
|
export type { AvatarGroupProps } from './components/AvatarGroup';
|
|
167
178
|
export { Calendar } from './components/Calendar';
|
|
168
|
-
export type { CalendarProps } from './components/Calendar';
|
|
179
|
+
export type { CalendarProps, CalendarPickerMode } from './components/Calendar';
|
|
169
180
|
export { HoverCard } from './components/HoverCard';
|
|
170
181
|
export type { HoverCardProps } from './components/HoverCard';
|
|
171
|
-
export { Toolbar, ToolbarButton, ToolbarSeparator } from './components/Toolbar';
|
|
172
|
-
export type { ToolbarProps, ToolbarButtonProps, ToolbarSeparatorProps } from './components/Toolbar';
|
|
182
|
+
export { Toolbar, ToolbarButton, ToolbarSeparator, ToolbarToggle } from './components/Toolbar';
|
|
183
|
+
export type { ToolbarProps, ToolbarButtonProps, ToolbarSeparatorProps, ToolbarToggleProps } from './components/Toolbar';
|
|
184
|
+
export { AppShell } from './components/AppShell';
|
|
185
|
+
export type { AppShellProps } from './components/AppShell';
|
|
173
186
|
export { Cascader } from './components/Cascader';
|
|
174
187
|
export type { CascaderProps, CascaderOption } from './components/Cascader';
|
|
175
188
|
export { Sidebar, SidebarGroup, SidebarItem, SidebarFooter, SidebarToggle } from './components/Sidebar';
|
|
176
189
|
export type { SidebarProps, SidebarGroupProps, SidebarItemProps, SidebarFooterProps, SidebarToggleProps, } from './components/Sidebar';
|
|
177
190
|
export { Tour } from './components/Tour';
|
|
178
191
|
export type { TourProps, TourStep, TourCloseReason, TourPlacement } from './components/Tour';
|
|
192
|
+
export { Anchor } from './components/Anchor';
|
|
193
|
+
export type { AnchorProps, AnchorItem } from './components/Anchor';
|
|
194
|
+
export { Watermark } from './components/Watermark';
|
|
195
|
+
export type { WatermarkProps, WatermarkFont } from './components/Watermark';
|
|
196
|
+
export { Fullscreen } from './components/Fullscreen';
|
|
197
|
+
export type { FullscreenProps } from './components/Fullscreen';
|
|
179
198
|
export { ChatMessage } from './components/ChatMessage';
|
|
180
199
|
export type { ChatMessageProps, ChatMessageRole } from './components/ChatMessage';
|
|
181
200
|
export { ChatContainer } from './components/ChatContainer';
|
|
@@ -206,9 +225,32 @@ export { LogViewer } from './components/LogViewer';
|
|
|
206
225
|
export type { LogViewerProps, LogEntry, LogLevel } from './components/LogViewer';
|
|
207
226
|
export { AsyncSection } from './components/AsyncSection';
|
|
208
227
|
export type { AsyncSectionProps } from './components/AsyncSection';
|
|
209
|
-
export {
|
|
228
|
+
export { Descriptions } from './components/Descriptions';
|
|
229
|
+
export type { DescriptionsProps, DescriptionsItem } from './components/Descriptions';
|
|
230
|
+
export { JsonView } from './components/JsonView';
|
|
231
|
+
export type { JsonViewProps, MoreLabelFn } from './components/JsonView';
|
|
232
|
+
export { Sources } from './components/Sources';
|
|
233
|
+
export type { SourcesProps, SourceItem } from './components/Sources';
|
|
234
|
+
export { FilePreview } from './components/FilePreview';
|
|
235
|
+
export type { FilePreviewProps, FilePreviewFile, FilePreviewStatus } from './components/FilePreview';
|
|
236
|
+
export { InlineCompletion } from './components/InlineCompletion';
|
|
237
|
+
export type { InlineCompletionProps } from './components/InlineCompletion';
|
|
238
|
+
export { FloatButton, FloatButtonGroup } from './components/FloatButton';
|
|
239
|
+
export type { FloatButtonProps, FloatButtonGroupProps } from './components/FloatButton';
|
|
240
|
+
export { Masonry } from './components/Masonry';
|
|
241
|
+
export type { MasonryProps } from './components/Masonry';
|
|
242
|
+
export { Signature } from './components/Signature';
|
|
243
|
+
export type { SignatureProps } from './components/Signature';
|
|
244
|
+
export { useTitle, useMediaQuery, usePrefersReducedMotion, useDebouncedValue, useDebouncedCallback, useDarkMode, useClipboard, useFullscreen, } from './hooks';
|
|
210
245
|
export type { UseClipboardResult } from './hooks';
|
|
211
|
-
export {
|
|
212
|
-
export type {
|
|
246
|
+
export type { FullscreenTarget, UseFullscreenHandle } from './hooks';
|
|
247
|
+
export type { ColorMode, UseDarkModeOptions, UseDarkModeResult } from './hooks';
|
|
248
|
+
export { useHotkeys, hotkey, useInView, useLocalStorage, useSessionStorage } from './hooks';
|
|
249
|
+
export type { HotkeyHandler, UseHotkeysOptions, UseInViewOptions } from './hooks';
|
|
250
|
+
export { useClickOutside } from './hooks';
|
|
251
|
+
export type { UseClickOutsideOptions } from './hooks';
|
|
252
|
+
export { usePrevious } from './hooks';
|
|
253
|
+
export { FormItem, FormList, FormProvider, useFormContext, useFieldArray, useFieldArrayItem, useWatch, trigger, setFocus, setServerErrors, setValue, getValue, getValues, reset, hasStandardProps, standardSchemaFormValidator, standardSchemaResolver, zodResolver, } from './form';
|
|
254
|
+
export type { FieldValidator, FormItemAsProps, FormItemBinding, FormItemOwnProps, FormItemProps, FormItemRawElement, FormItemRawElementBinding, FormInstance, FormListProps, FormListBinding, FormListField, PathValueOf, StandardSchemaV1, } from './form';
|
|
213
255
|
export { useControl } from 'react-use-control';
|
|
214
256
|
export type { Control, ControlOrValue } from 'react-use-control';
|
|
@@ -38,14 +38,50 @@ type PlacementGap = {
|
|
|
38
38
|
* and a missing value entirely — count as no padding.
|
|
39
39
|
*/
|
|
40
40
|
export declare function resolvePadding(padding?: CollisionPadding): Record<CollisionSide, number>;
|
|
41
|
+
/**
|
|
42
|
+
* Inline-axis mirror of each placement: what the logical name means in
|
|
43
|
+
* physical terms once the writing direction flips. Start/end alignments
|
|
44
|
+
* swap sides and the horizontal placements change sides; centers and the
|
|
45
|
+
* block axis are direction-invariant.
|
|
46
|
+
*/
|
|
47
|
+
declare const mirroredPlacements: {
|
|
48
|
+
readonly bottom: "bottom-end";
|
|
49
|
+
readonly 'bottom-span': "bottom-end";
|
|
50
|
+
readonly 'bottom-center': "bottom-center";
|
|
51
|
+
readonly 'bottom-end': "bottom";
|
|
52
|
+
readonly top: "top";
|
|
53
|
+
readonly left: "right";
|
|
54
|
+
readonly right: "left";
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Resolve a placement to physical terms for a writing direction: the
|
|
58
|
+
* identity for LTR, the inline-axis mirror for RTL.
|
|
59
|
+
*/
|
|
60
|
+
export declare function mirrorPlacement<P extends keyof typeof mirroredPlacements>(placement: P, dir?: 'ltr' | 'rtl'): P | {
|
|
61
|
+
readonly bottom: "bottom-end";
|
|
62
|
+
readonly 'bottom-span': "bottom-end";
|
|
63
|
+
readonly 'bottom-center': "bottom-center";
|
|
64
|
+
readonly 'bottom-end': "bottom";
|
|
65
|
+
readonly top: "top";
|
|
66
|
+
readonly left: "right";
|
|
67
|
+
readonly right: "left";
|
|
68
|
+
}[P];
|
|
41
69
|
/**
|
|
42
70
|
* Resolve a fixed-panel position from literal rects: baseline coordinates →
|
|
43
71
|
* flip on the primary axis → shift on the cross axis → primary-axis clamp.
|
|
44
72
|
* The baseline and flip math mirror placeFloatingPanel in floating.tsx, so
|
|
45
73
|
* with zero padding and both strategies enabled the output is
|
|
46
74
|
* pixel-identical to the legacy behavior.
|
|
75
|
+
*
|
|
76
|
+
* `placement` is logical, not physical: under `dir: 'rtl'` it mirrors on
|
|
77
|
+
* the inline axis first (see `mirrorPlacement`) — 'left' lands beside the
|
|
78
|
+
* trigger's physical right, and the start/end alignments of the vertical
|
|
79
|
+
* placements swap. The returned `placement` is the physical side the panel
|
|
80
|
+
* actually landed on, so collision outcomes stay comparable across
|
|
81
|
+
* directions. Omitting `dir` (or passing 'ltr') keeps the historical
|
|
82
|
+
* physical behavior.
|
|
47
83
|
*/
|
|
48
|
-
export declare function computeFloatingPosition({ trigger: rect, panel: box, viewport, placement, gap, strategy, }: {
|
|
84
|
+
export declare function computeFloatingPosition({ trigger: rect, panel: box, viewport, placement, gap, strategy, dir, }: {
|
|
49
85
|
trigger: TriggerRect;
|
|
50
86
|
panel: Size;
|
|
51
87
|
viewport: Size;
|
|
@@ -54,6 +90,8 @@ export declare function computeFloatingPosition({ trigger: rect, panel: box, vie
|
|
|
54
90
|
strategy: Required<Pick<CollisionStrategy, 'flip' | 'shift'>> & {
|
|
55
91
|
padding: Record<CollisionSide, number>;
|
|
56
92
|
};
|
|
93
|
+
/** Writing direction the placement resolves against; defaults to LTR. */
|
|
94
|
+
dir?: 'ltr' | 'rtl';
|
|
57
95
|
}): {
|
|
58
96
|
top: number;
|
|
59
97
|
left: number;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Writing direction of a subtree. */
|
|
2
|
+
export type Direction = 'ltr' | 'rtl';
|
|
3
|
+
/** Direction implied by a BCP 47 tag; `undefined` when no tag is given. */
|
|
4
|
+
export declare function localeDirection(locale: string | undefined): Direction | undefined;
|
|
5
|
+
/**
|
|
6
|
+
* Rendered direction of an element: the nearest ancestor carrying a
|
|
7
|
+
* `dir` attribute, `'ltr'` when none does. `dir="auto"` resolves by
|
|
8
|
+
* element content, so it defers to the computed style (and to `'ltr'`
|
|
9
|
+
* where that is unavailable, e.g. restricted environments).
|
|
10
|
+
*/
|
|
11
|
+
export declare function getDirection(el: Element | null): Direction;
|
|
12
|
+
/**
|
|
13
|
+
* Declared direction for the current tree: the LocaleProvider chain's
|
|
14
|
+
* explicit `direction` prop or locale-derived direction, falling back to
|
|
15
|
+
* the document's rendered direction when no provider is mounted.
|
|
16
|
+
*
|
|
17
|
+
* Prefer {@link getDirection} on the concrete element whenever the value
|
|
18
|
+
* must match the painted layout — a provider's declared direction says
|
|
19
|
+
* what the app intends, the `[dir]` subtree says what CSS actually
|
|
20
|
+
* resolved.
|
|
21
|
+
*/
|
|
22
|
+
export declare function useDirection(): Direction;
|
|
@@ -22,6 +22,13 @@ export declare const floatingHidden: import("@linaria/core").LinariaClassName;
|
|
|
22
22
|
* handover lands (a one-frame flash-back would otherwise show).
|
|
23
23
|
*/
|
|
24
24
|
export declare const floatingAnimated: import("@linaria/core").LinariaClassName;
|
|
25
|
+
/**
|
|
26
|
+
* Whether the anchored tier can use logical `position-area` keywords.
|
|
27
|
+
* Probes the exact value shape the logical classes declare (see the
|
|
28
|
+
* syntax trap above), gated on anchor positioning itself for the same
|
|
29
|
+
* reason `supportsAnchorPositioning` gates on the popover API.
|
|
30
|
+
*/
|
|
31
|
+
export declare function supportsLogicalPositionArea(): boolean;
|
|
25
32
|
declare const anchoredPlacements: {
|
|
26
33
|
readonly bottom: import("@linaria/core").LinariaClassName;
|
|
27
34
|
readonly 'bottom-span': import("@linaria/core").LinariaClassName;
|
|
@@ -33,8 +40,10 @@ declare const anchoredPlacements: {
|
|
|
33
40
|
};
|
|
34
41
|
type AnchorablePlacement = keyof typeof anchoredPlacements;
|
|
35
42
|
/**
|
|
36
|
-
* Panel placement relative to the trigger
|
|
37
|
-
*
|
|
43
|
+
* Panel placement relative to the trigger, logical (inline-relative):
|
|
44
|
+
* under `dir='rtl'` the horizontal placements and the start/end
|
|
45
|
+
* alignments mirror (see the module's RTL note). `point` leaves
|
|
46
|
+
* positioning entirely to the consumer (e.g. ContextMenu at the pointer coordinates).
|
|
38
47
|
*/
|
|
39
48
|
export type FloatingPlacement = AnchorablePlacement | 'point';
|
|
40
49
|
type UseFloatingOptions = {
|
|
@@ -89,6 +98,13 @@ export type FloatingBehavior = {
|
|
|
89
98
|
exited: boolean;
|
|
90
99
|
/** Collision strategy FloatingPanel forwards to useFloatingPosition. */
|
|
91
100
|
collision: CollisionStrategy | undefined;
|
|
101
|
+
/**
|
|
102
|
+
* Rendered writing direction of the trigger's subtree (`[dir]`
|
|
103
|
+
* resolution): drives the RTL mirror of the placement classes on the
|
|
104
|
+
* JS-positioned tiers. Read per render from the trigger element, so a
|
|
105
|
+
* panel that opens after mount always sees the live direction.
|
|
106
|
+
*/
|
|
107
|
+
direction: 'ltr' | 'rtl';
|
|
92
108
|
/** Unique CSS anchor name for this instance (anchored path). */
|
|
93
109
|
anchorName: string;
|
|
94
110
|
/** Inline style for the trigger: declares `anchor-name`. */
|
|
@@ -113,8 +129,20 @@ export type FloatingBehavior = {
|
|
|
113
129
|
panelRef: RefObject<HTMLElement | null>;
|
|
114
130
|
};
|
|
115
131
|
export declare function useFloating({ open, setOpen, triggerRef, panelRef, animated, collision, }: UseFloatingOptions): FloatingBehavior;
|
|
116
|
-
/**
|
|
117
|
-
|
|
132
|
+
/**
|
|
133
|
+
* x-class entries placing the panel relative to the trigger, per tier.
|
|
134
|
+
*
|
|
135
|
+
* `placement` is logical (see the module's RTL note): under `dir='rtl'`
|
|
136
|
+
* it mirrors on the inline axis. The anchored tier prefers logical
|
|
137
|
+
* `position-area` classes, which mirror themselves in CSS; engines
|
|
138
|
+
* without the logical keywords get the physical class of the mirrored
|
|
139
|
+
* placement. The JS-positioned tiers (gap margins, fallback offsets)
|
|
140
|
+
* are physical declarations, so the mirror is applied to the lookup
|
|
141
|
+
* here — the same `mirrorPlacement` `placeFloatingPanel` resolves
|
|
142
|
+
* coordinates with, keeping the gap class and the JS math on the same
|
|
143
|
+
* side.
|
|
144
|
+
*/
|
|
145
|
+
export declare function floatingPlacementClasses(behavior: Pick<FloatingBehavior, 'native' | 'anchored'>, placement: FloatingPlacement, dir?: 'ltr' | 'rtl'): (string | false)[];
|
|
118
146
|
/**
|
|
119
147
|
* Place a fixed panel from the trigger's rect (tier 2). Centers compute
|
|
120
148
|
* from the panel's own rect, so this needs the panel to be laid out —
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 焦点域 hook(Radix FocusScope 的简化版,headless:返回 ref 回调,
|
|
3
3
|
* 由消费方挂到容器元素上)。负责弹层的初始聚焦 / 焦点归还 / 可选困焦,
|
|
4
|
-
* 无 CSS 依赖,不进 src/lib/index.ts barrel
|
|
4
|
+
* 无 CSS 依赖,不进 src/lib/index.ts barrel——公共面由 haze-ui/headless
|
|
5
|
+
* 子路径策展导出。
|
|
5
6
|
*/
|
|
6
7
|
export type FocusScopeOptions = {
|
|
7
8
|
/**
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* 纯焦点工具:tabbable 元素查询与首个聚焦目标计算。
|
|
3
3
|
*
|
|
4
4
|
* 无 React、无 CSS 依赖,可在任意 DOM 环境(含 jsdom)直接复用。
|
|
5
|
-
* 与 floating.tsx 一样属于内部原语,不进 src/lib/index.ts barrel
|
|
5
|
+
* 与 floating.tsx 一样属于内部原语,不进 src/lib/index.ts barrel——
|
|
6
|
+
* 公共面由 haze-ui/headless 子路径策展导出。
|
|
6
7
|
*/
|
|
7
8
|
/**
|
|
8
9
|
* Tab 序候选元素选择器。仅做结构性筛选;disabled / hidden /
|
|
@@ -14,14 +14,29 @@ type UseMenuKeyboardOptions = {
|
|
|
14
14
|
* `[role=option]` list of a Command palette.
|
|
15
15
|
*/
|
|
16
16
|
selector?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Submenu levels only: called for the inline-start arrow (ArrowLeft in
|
|
19
|
+
* LTR, ArrowRight under `dir="rtl"` — mirrored like the horizontal
|
|
20
|
+
* orientation) so this level closes and focus returns to its trigger.
|
|
21
|
+
* Root menus leave it unset and the key stays inert.
|
|
22
|
+
*/
|
|
23
|
+
onCloseToStart?: () => void;
|
|
24
|
+
/**
|
|
25
|
+
* Layout axis of the item container. Vertical (default) moves with
|
|
26
|
+
* ↑/↓; horizontal moves with ←/→, mirrored under `dir="rtl"` (←
|
|
27
|
+
* advances) so the keys follow the mirrored layout. Home/End, Escape,
|
|
28
|
+
* Tab-close and typeahead are direction-invariant either way.
|
|
29
|
+
*/
|
|
30
|
+
orientation?: 'horizontal' | 'vertical';
|
|
17
31
|
};
|
|
18
32
|
/**
|
|
19
33
|
* Keyboard behavior for a roving-tabindex item container (WAI-ARIA menu
|
|
20
|
-
* button / listbox pattern):
|
|
21
|
-
* items), Home/End jump to the ends,
|
|
22
|
-
* the trigger), Tab closes, and
|
|
34
|
+
* button / listbox pattern): the orientation's main-axis arrows move
|
|
35
|
+
* focus (wrapping, skipping disabled items), Home/End jump to the ends,
|
|
36
|
+
* Escape closes (returning focus to the trigger), Tab closes, and
|
|
37
|
+
* printable characters run typeahead.
|
|
23
38
|
*/
|
|
24
|
-
export declare function useMenuKeyboard({ menuRef, onClose, selector, }: UseMenuKeyboardOptions): (event: ReactKeyboardEvent) => void;
|
|
39
|
+
export declare function useMenuKeyboard({ menuRef, onClose, selector, onCloseToStart, orientation, }: UseMenuKeyboardOptions): (event: ReactKeyboardEvent) => void;
|
|
25
40
|
type UseRovingTabindexOptions = {
|
|
26
41
|
menuRef: RefObject<HTMLElement | null>;
|
|
27
42
|
/**
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Ref } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Compose several refs (object and/or callback) into one callback ref.
|
|
4
|
+
*
|
|
5
|
+
* The ref-forwarding pattern for components that need their own element
|
|
6
|
+
* handle *and* forward the consumer's ref to the same node (React 19
|
|
7
|
+
* ref-as-prop): the internal `useRef` and the forwarded `ref` prop both
|
|
8
|
+
* receive every attach/detach.
|
|
9
|
+
*
|
|
10
|
+
* The returned callback always returns `undefined` (React 19 warns on
|
|
11
|
+
* non-cleanup return values), so a consumer callback ref's own React 19
|
|
12
|
+
* cleanup-function return is not surfaced — the usual merged-refs
|
|
13
|
+
* trade-off, same as every component library.
|
|
14
|
+
*/
|
|
15
|
+
declare function mergeRefs<T>(...refs: (Ref<T> | undefined)[]): (node: T | null) => void;
|
|
16
|
+
export { mergeRefs };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { DraggableAttributes, DraggableSyntheticListeners } from '@dnd-kit/core';
|
|
2
|
+
/**
|
|
3
|
+
* Dnd-free seam for the drag-handle contract. The @dnd-kit imports here are
|
|
4
|
+
* type-only and erased at runtime, so consumers that must stay free of the
|
|
5
|
+
* @dnd-kit runtime (TagGroupItem) import from this module; the provider
|
|
6
|
+
* side (SortableItem in utils/sortable.tsx) imports the same context from
|
|
7
|
+
* here. Split from sortable-shared.ts so the base components never reach
|
|
8
|
+
* the dnd runtime. Not part of the public barrel.
|
|
9
|
+
*/
|
|
10
|
+
export type SortableHandle = {
|
|
11
|
+
attributes: DraggableAttributes;
|
|
12
|
+
listeners: DraggableSyntheticListeners;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Handle props for the item's drag activator. SortableItem provides it so
|
|
16
|
+
* the item component (e.g. TagGroupItem) can place the interactive handle
|
|
17
|
+
* on its label span — a sibling of any close button — instead of letting
|
|
18
|
+
* dnd-kit's role=button land on an ancestor of interactive content (axe
|
|
19
|
+
* nested-interactive). Null outside a SortableItem.
|
|
20
|
+
*/
|
|
21
|
+
export declare const SortableHandleContext: import("react").Context<SortableHandle | null>;
|
|
22
|
+
export declare function useSortableHandle(): SortableHandle | null;
|
|
23
|
+
/** Drag-affordance styles for the element that carries the handle props
|
|
24
|
+
* (cursor + letting PointerSensor own touch drags instead of scrolling). */
|
|
25
|
+
export declare const sortableHandle: import("@linaria/core").LinariaClassName;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Transform } from '@dnd-kit/utilities';
|
|
2
|
+
/**
|
|
3
|
+
* Non-component drag-and-drop primitives for the Sortable* variants and
|
|
4
|
+
* the sortable wrappers in `sortable.tsx`. Split from the component file
|
|
5
|
+
* per the react-refresh sibling-file convention (Button/styles.ts,
|
|
6
|
+
* Chart/chart-elements.tsx precedents) — not part of the public barrel;
|
|
7
|
+
* consumers needing custom sortable surfaces should compose @dnd-kit
|
|
8
|
+
* directly.
|
|
9
|
+
*
|
|
10
|
+
* The @dnd-kit packages are optional peers following the Chart/recharts
|
|
11
|
+
* contract: these helpers import them statically, so under preserveModules
|
|
12
|
+
* only bundles that actually reach a Sortable* variant resolve the
|
|
13
|
+
* dependency.
|
|
14
|
+
*
|
|
15
|
+
* Base components (TagGroup, TagGroupItem, TagInputCore) must NOT import
|
|
16
|
+
* this module or utils/sortable — either would drag the @dnd-kit runtime
|
|
17
|
+
* into every consumer. Only the Sortable* variants and utils/sortable.tsx
|
|
18
|
+
* import from here.
|
|
19
|
+
*/
|
|
20
|
+
/** Sensors shared by every sortable surface: pointer drags with a small
|
|
21
|
+
* distance threshold (so clicks never start a drag) plus the sortable
|
|
22
|
+
* keyboard coordinate getter — Space lifts, arrows walk one item per
|
|
23
|
+
* press, Space drops, Escape cancels. */
|
|
24
|
+
export declare function useSortableSensors(): import("@dnd-kit/core").SensorDescriptor<import("@dnd-kit/core").SensorOptions>[];
|
|
25
|
+
/** Inline transform style for a sortable node; `transition` animates the
|
|
26
|
+
* snap-back after a cancelled or completed drag. */
|
|
27
|
+
export declare function sortableItemStyle(transform: Transform | null, transition: string | null | undefined): {
|
|
28
|
+
transform: string | undefined;
|
|
29
|
+
transition: string | undefined;
|
|
30
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { SortingStrategy } from '@dnd-kit/sortable';
|
|
3
|
+
/**
|
|
4
|
+
* Internal sortable wrapper components (the non-component primitives live
|
|
5
|
+
* in `sortable-shared.ts`). Not part of the public barrel — see the header
|
|
6
|
+
* comment there for the optional-peer contract.
|
|
7
|
+
*/
|
|
8
|
+
type SortableRegionProps = {
|
|
9
|
+
/** Stable sortable ids, one per item (both call sites use indices). */
|
|
10
|
+
ids: (string | number)[];
|
|
11
|
+
/** Layout strategy — rectSortingStrategy for wrapping chip rows,
|
|
12
|
+
* verticalListSortingStrategy for stacked lists. */
|
|
13
|
+
strategy: SortingStrategy;
|
|
14
|
+
/** Index move resolved from a completed drag; never called when the drop
|
|
15
|
+
* lands back on the origin item. */
|
|
16
|
+
onMove: (from: number, to: number) => void;
|
|
17
|
+
children: ReactNode;
|
|
18
|
+
};
|
|
19
|
+
/** DndContext + SortableContext wiring with the shared sensors and
|
|
20
|
+
* closest-center collision. Renders no DOM of its own, so it can wrap a
|
|
21
|
+
* ul or a chip row without changing layout or semantics. */
|
|
22
|
+
export declare function SortableRegion({ ids, strategy, onMove, children }: SortableRegionProps): import("react").JSX.Element;
|
|
23
|
+
type SortableItemProps = {
|
|
24
|
+
id: string | number;
|
|
25
|
+
className?: string;
|
|
26
|
+
children: ReactNode;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Non-semantic wrapper span that turns its child into a sortable item. The
|
|
30
|
+
* wrapper itself stays free of interactive semantics (axe nested-interactive
|
|
31
|
+
* stays clean even when the child contains buttons); the child picks up the
|
|
32
|
+
* drag handle via useSortableHandle. List-semantic parents (TagInput's ul)
|
|
33
|
+
* inline useSortable directly so the li keeps its listitem role.
|
|
34
|
+
*/
|
|
35
|
+
export declare function SortableItem({ id, className, children }: SortableItemProps): import("react").JSX.Element;
|
|
36
|
+
export {};
|