haze-ui 1.25.0 → 1.26.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 +98 -0
- package/dist/components/Accordion/Accordion.js +1 -0
- package/dist/components/Accordion/AccordionItem.js +1 -0
- package/dist/components/Accordion/index.js +1 -0
- package/dist/components/Affix/Affix.js +1 -0
- package/dist/components/Affix/index.js +1 -0
- package/dist/components/Alert/Alert.js +1 -0
- package/dist/components/Alert/index.js +1 -0
- package/dist/components/ApprovalCard/ApprovalCard.js +1 -0
- package/dist/components/ApprovalCard/index.js +1 -0
- package/dist/components/AspectRatio/AspectRatio.js +1 -0
- package/dist/components/AspectRatio/index.js +1 -0
- package/dist/components/AsyncSection/AsyncSection.js +1 -0
- package/dist/components/AsyncSection/index.js +1 -0
- package/dist/components/Avatar/Avatar.js +1 -0
- package/dist/components/Avatar/index.js +1 -0
- package/dist/components/AvatarGroup/AvatarGroup.js +1 -0
- package/dist/components/AvatarGroup/index.js +1 -0
- package/dist/components/BackToTop/BackToTop.js +1 -0
- package/dist/components/BackToTop/index.js +1 -0
- package/dist/components/Badge/Badge.js +1 -0
- package/dist/components/Badge/index.js +1 -0
- package/dist/components/Banner/Banner.js +1 -0
- package/dist/components/Banner/index.js +1 -0
- package/dist/components/BottomSheet/BottomSheet.js +1 -0
- package/dist/components/BottomSheet/index.js +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.js +1 -0
- package/dist/components/Breadcrumb/BreadcrumbItem.js +1 -0
- package/dist/components/Breadcrumb/index.js +1 -0
- package/dist/components/Button/Button.js +1 -0
- package/dist/components/Button/ButtonLink.js +1 -0
- package/dist/components/Button/index.js +1 -0
- package/dist/components/Button/styles.js +1 -0
- package/dist/components/Calendar/Calendar.js +65 -93
- package/dist/components/Calendar/date.js +54 -0
- package/dist/components/Calendar/index.js +1 -0
- package/dist/components/Card/Card.js +1 -0
- package/dist/components/Card/index.js +1 -0
- package/dist/components/Carousel/Carousel.js +1 -0
- package/dist/components/Carousel/CarouselSlide.js +1 -0
- package/dist/components/Carousel/index.js +1 -0
- package/dist/components/Cascader/Cascader.js +1 -0
- package/dist/components/Cascader/index.js +1 -0
- package/dist/components/ChatContainer/ChatContainer.js +1 -0
- package/dist/components/ChatContainer/index.js +1 -0
- package/dist/components/ChatInput/ChatInput.js +1 -0
- package/dist/components/ChatInput/index.js +1 -0
- package/dist/components/ChatMessage/ChatMessage.js +1 -0
- package/dist/components/ChatMessage/index.js +1 -0
- package/dist/components/Checkbox/Checkbox.js +1 -0
- package/dist/components/Checkbox/CheckboxCore.js +1 -0
- package/dist/components/Checkbox/index.js +1 -0
- package/dist/components/Chip/Chip.js +1 -0
- package/dist/components/Chip/index.js +1 -0
- package/dist/components/CodeBlock/CodeBlock.js +1 -0
- package/dist/components/CodeBlock/index.js +1 -0
- package/dist/components/Collapsible/Collapsible.js +1 -0
- package/dist/components/Collapsible/index.js +1 -0
- package/dist/components/ColorPicker/ColorPicker.js +1 -0
- package/dist/components/ColorPicker/ColorPickerCore.js +1 -0
- package/dist/components/ColorPicker/index.js +1 -0
- package/dist/components/Combobox/Combobox.js +15 -7
- package/dist/components/Combobox/ComboboxOption.js +9 -5
- package/dist/components/Combobox/index.js +1 -0
- package/dist/components/Command/Command.js +1 -0
- package/dist/components/Command/index.js +1 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.js +1 -0
- package/dist/components/ConfirmDialog/index.js +1 -0
- package/dist/components/Container/Container.js +1 -0
- package/dist/components/Container/index.js +1 -0
- package/dist/components/ContextMenu/ContextMenu.js +1 -0
- package/dist/components/ContextMenu/ContextMenuContent.js +1 -0
- package/dist/components/ContextMenu/ContextMenuContext.js +1 -0
- package/dist/components/ContextMenu/ContextMenuItem.js +1 -0
- package/dist/components/ContextMenu/ContextMenuSeparator.js +1 -0
- package/dist/components/ContextMenu/ContextMenuTrigger.js +1 -0
- package/dist/components/ContextMenu/index.js +1 -0
- package/dist/components/ConversationList/ConversationItem.js +1 -0
- package/dist/components/ConversationList/ConversationList.js +1 -0
- package/dist/components/ConversationList/index.js +1 -0
- package/dist/components/DataTable/DataTable.js +155 -113
- package/dist/components/DataTable/index.js +1 -0
- package/dist/components/DateRangePicker/DateRangePicker.js +1 -0
- package/dist/components/DateRangePicker/DateRangePickerCore.js +1 -0
- package/dist/components/DateRangePicker/index.js +1 -0
- package/dist/components/Datepicker/Datepicker.js +1 -0
- package/dist/components/Datepicker/DatepickerCore.js +1 -0
- package/dist/components/Datepicker/index.js +1 -0
- package/dist/components/Dialog/Dialog.js +1 -0
- package/dist/components/Dialog/index.js +1 -0
- package/dist/components/DiffViewer/DiffViewer.js +1 -0
- package/dist/components/DiffViewer/index.js +1 -0
- package/dist/components/Disclosure/Disclosure.js +1 -0
- package/dist/components/Disclosure/index.js +1 -0
- package/dist/components/Divider/Divider.js +1 -0
- package/dist/components/Divider/index.js +1 -0
- package/dist/components/Drawer/Drawer.js +1 -0
- package/dist/components/Drawer/index.js +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.js +1 -0
- package/dist/components/DropdownMenu/DropdownMenuContent.js +1 -0
- package/dist/components/DropdownMenu/DropdownMenuContext.js +1 -0
- package/dist/components/DropdownMenu/DropdownMenuItem.js +1 -0
- package/dist/components/DropdownMenu/DropdownMenuSeparator.js +1 -0
- package/dist/components/DropdownMenu/DropdownMenuTrigger.js +1 -0
- package/dist/components/DropdownMenu/index.js +1 -0
- package/dist/components/Empty/Empty.js +1 -0
- package/dist/components/Empty/index.js +1 -0
- package/dist/components/FileInput/FileInput.js +1 -0
- package/dist/components/FileInput/index.js +1 -0
- package/dist/components/Flex/Flex.js +1 -0
- package/dist/components/Flex/index.js +1 -0
- package/dist/components/Grid/Grid.js +1 -0
- package/dist/components/Grid/GridItem.js +1 -0
- package/dist/components/Grid/index.js +1 -0
- package/dist/components/HoverCard/HoverCard.js +1 -0
- package/dist/components/HoverCard/index.js +1 -0
- package/dist/components/Icon/Icon.js +1 -0
- package/dist/components/Icon/index.js +1 -0
- package/dist/components/Image/Image.js +1 -0
- package/dist/components/Image/index.js +1 -0
- package/dist/components/InlineEdit/InlineEdit.js +1 -0
- package/dist/components/InlineEdit/index.js +1 -0
- package/dist/components/Input/Input.js +1 -0
- package/dist/components/Input/InputCore.js +1 -0
- package/dist/components/Input/index.js +1 -0
- package/dist/components/Kbd/Kbd.js +1 -0
- package/dist/components/Kbd/index.js +1 -0
- package/dist/components/List/List.js +1 -0
- package/dist/components/List/ListItem.js +1 -0
- package/dist/components/List/index.js +1 -0
- package/dist/components/LocaleProvider/LocaleContext.js +1 -0
- package/dist/components/LocaleProvider/LocaleProvider.js +1 -0
- package/dist/components/LocaleProvider/index.js +5 -3
- package/dist/components/LocaleProvider/locale.js +7 -1
- package/dist/components/LocaleProvider/useStrings.js +18 -8
- package/dist/components/LocaleProvider/zh-cn.js +128 -0
- package/dist/components/LogViewer/LogViewer.js +1 -0
- package/dist/components/LogViewer/index.js +1 -0
- package/dist/components/MarkdownRenderer/MarkdownRenderer.js +1 -0
- package/dist/components/MarkdownRenderer/index.js +1 -0
- package/dist/components/MarkdownRenderer/markdown-blocks.js +1 -0
- package/dist/components/Mentions/Mentions.js +17 -0
- package/dist/components/Mentions/MentionsCore.js +116 -0
- package/dist/components/Mentions/index.js +4 -0
- package/dist/components/Menu/Menu.js +1 -0
- package/dist/components/Menu/MenuDivider.js +1 -0
- package/dist/components/Menu/MenuItem.js +1 -0
- package/dist/components/Menu/index.js +1 -0
- package/dist/components/ModelPicker/ModelPicker.js +1 -0
- package/dist/components/ModelPicker/index.js +1 -0
- package/dist/components/NavigationBar/NavLink.js +1 -0
- package/dist/components/NavigationBar/NavigationBar.js +1 -0
- package/dist/components/NavigationBar/index.js +1 -0
- package/dist/components/NumberInput/NumberInput.js +1 -0
- package/dist/components/NumberInput/NumberInputCore.js +1 -0
- package/dist/components/NumberInput/index.js +1 -0
- package/dist/components/OTPInput/OTPInput.js +1 -0
- package/dist/components/OTPInput/OTPInputCore.js +1 -0
- package/dist/components/OTPInput/index.js +1 -0
- package/dist/components/Pagination/Pagination.js +1 -0
- package/dist/components/Pagination/index.js +1 -0
- package/dist/components/PasswordInput/PasswordInput.js +1 -0
- package/dist/components/PasswordInput/PasswordInputCore.js +1 -0
- package/dist/components/PasswordInput/index.js +1 -0
- package/dist/components/Popover/Popover.js +1 -0
- package/dist/components/Popover/index.js +1 -0
- package/dist/components/Progress/Progress.js +1 -0
- package/dist/components/Progress/index.js +1 -0
- package/dist/components/Radio/Radio.js +1 -0
- package/dist/components/Radio/RadioContext.js +1 -0
- package/dist/components/Radio/RadioGroup.js +1 -0
- package/dist/components/Radio/RadioGroupCore.js +1 -0
- package/dist/components/Radio/index.js +1 -0
- package/dist/components/Rating/Rating.js +1 -0
- package/dist/components/Rating/RatingCore.js +1 -0
- package/dist/components/Rating/index.js +1 -0
- package/dist/components/Resizable/Resizable.js +1 -0
- package/dist/components/Resizable/index.js +1 -0
- package/dist/components/ScrollArea/ScrollArea.js +1 -0
- package/dist/components/ScrollArea/index.js +1 -0
- package/dist/components/Segmented/Segmented.js +1 -0
- package/dist/components/Segmented/SegmentedCore.js +1 -0
- package/dist/components/Segmented/index.js +1 -0
- package/dist/components/Select/Option.js +1 -0
- package/dist/components/Select/Select.js +1 -0
- package/dist/components/Select/SelectCore.js +1 -0
- package/dist/components/Select/index.js +1 -0
- package/dist/components/Sidebar/Sidebar.js +1 -0
- package/dist/components/Sidebar/index.js +1 -0
- package/dist/components/Skeleton/Skeleton.js +1 -0
- package/dist/components/Skeleton/index.js +1 -0
- package/dist/components/Slider/Slider.js +1 -0
- package/dist/components/Slider/SliderCore.js +1 -0
- package/dist/components/Slider/index.js +1 -0
- package/dist/components/Spinner/Spinner.js +1 -0
- package/dist/components/Spinner/index.js +1 -0
- package/dist/components/Stat/Stat.js +1 -0
- package/dist/components/Stat/index.js +1 -0
- package/dist/components/StepTimeline/StepTimeline.js +1 -0
- package/dist/components/StepTimeline/index.js +1 -0
- package/dist/components/Stepper/Step.js +1 -0
- package/dist/components/Stepper/Stepper.js +1 -0
- package/dist/components/Stepper/StepperContext.js +1 -0
- package/dist/components/Stepper/index.js +1 -0
- package/dist/components/StreamingText/StreamingText.js +1 -0
- package/dist/components/StreamingText/index.js +1 -0
- package/dist/components/SwipeAction/SwipeAction.js +1 -0
- package/dist/components/SwipeAction/index.js +1 -0
- package/dist/components/Switch/Switch.js +1 -0
- package/dist/components/Switch/SwitchCore.js +1 -0
- package/dist/components/Switch/index.js +1 -0
- package/dist/components/Table/Table.js +1 -0
- package/dist/components/Table/TableBody.js +1 -0
- package/dist/components/Table/TableCell.js +1 -0
- package/dist/components/Table/TableHead.js +1 -0
- package/dist/components/Table/TableRow.js +1 -0
- package/dist/components/Table/index.js +1 -0
- package/dist/components/Tabs/Tab.js +1 -0
- package/dist/components/Tabs/TabList.js +1 -0
- package/dist/components/Tabs/TabPanel.js +1 -0
- package/dist/components/Tabs/Tabs.js +1 -0
- package/dist/components/Tabs/TabsContext.js +1 -0
- package/dist/components/Tabs/index.js +1 -0
- package/dist/components/Tag/Tag.js +1 -0
- package/dist/components/Tag/index.js +1 -0
- package/dist/components/TagGroup/TagGroup.js +1 -0
- package/dist/components/TagGroup/TagGroupItem.js +1 -0
- package/dist/components/TagGroup/index.js +1 -0
- package/dist/components/TagInput/TagInput.js +1 -0
- package/dist/components/TagInput/TagInputCore.js +1 -0
- package/dist/components/TagInput/index.js +1 -0
- package/dist/components/Textarea/Textarea.js +1 -0
- package/dist/components/Textarea/TextareaCore.js +1 -0
- package/dist/components/Textarea/index.js +1 -0
- package/dist/components/ThinkingIndicator/ThinkingIndicator.js +1 -0
- package/dist/components/ThinkingIndicator/index.js +1 -0
- package/dist/components/TimePicker/TimePicker.js +1 -0
- package/dist/components/TimePicker/TimePickerCore.js +1 -0
- package/dist/components/TimePicker/index.js +1 -0
- package/dist/components/Timeline/Timeline.js +1 -0
- package/dist/components/Timeline/index.js +1 -0
- package/dist/components/Toast/Toast.js +36 -30
- package/dist/components/Toast/ToastContainer.js +1 -0
- package/dist/components/Toast/ToastContext.js +1 -0
- package/dist/components/Toast/index.js +1 -0
- package/dist/components/Toast/toast2.js +1 -0
- package/dist/components/Toast/useToast.js +1 -0
- package/dist/components/TokenCounter/TokenCounter.js +1 -0
- package/dist/components/TokenCounter/index.js +1 -0
- package/dist/components/ToolCallCard/ToolCallCard.js +1 -0
- package/dist/components/ToolCallCard/index.js +1 -0
- package/dist/components/Toolbar/Toolbar.js +1 -0
- package/dist/components/Toolbar/ToolbarButton.js +1 -0
- package/dist/components/Toolbar/ToolbarContext.js +1 -0
- package/dist/components/Toolbar/ToolbarSeparator.js +1 -0
- package/dist/components/Toolbar/index.js +1 -0
- package/dist/components/Tooltip/Tooltip.js +1 -0
- package/dist/components/Tooltip/index.js +1 -0
- package/dist/components/Tour/Tour.js +1 -0
- package/dist/components/Tour/index.js +1 -0
- package/dist/components/Transfer/Transfer.js +1 -0
- package/dist/components/Transfer/TransferCore.js +1 -0
- package/dist/components/Transfer/index.js +1 -0
- package/dist/components/Tree/Tree.js +1 -0
- package/dist/components/Tree/TreeItem.js +1 -0
- package/dist/components/Tree/index.js +1 -0
- package/dist/components/Tree/utils.js +1 -0
- package/dist/components/Typography/Typography.js +1 -0
- package/dist/components/Typography/index.js +1 -0
- package/dist/components/Upload/Upload.js +1 -0
- package/dist/components/Upload/UploadCore.js +1 -0
- package/dist/components/Upload/index.js +1 -0
- package/dist/components/VirtualList/VirtualList.js +1 -0
- package/dist/components/VirtualList/index.js +1 -0
- package/dist/css/accordion.css +1 -1
- package/dist/css/alert.css +1 -1
- package/dist/css/approval-card.css +1 -1
- package/dist/css/async-section.css +1 -1
- package/dist/css/back-to-top.css +1 -1
- package/dist/css/breadcrumb.css +1 -1
- package/dist/css/button.css +1 -1
- package/dist/css/carousel.css +1 -1
- package/dist/css/cascader.css +1 -1
- package/dist/css/chat-input.css +1 -1
- package/dist/css/checkbox.css +1 -1
- package/dist/css/chip.css +1 -1
- package/dist/css/color-picker.css +1 -1
- package/dist/css/combobox.css +1 -1
- package/dist/css/command.css +1 -1
- package/dist/css/context-menu.css +1 -1
- package/dist/css/conversation-list.css +1 -1
- package/dist/css/data-table.css +1 -1
- package/dist/css/date-range-picker.css +1 -1
- package/dist/css/datepicker.css +1 -1
- package/dist/css/disclosure.css +1 -1
- package/dist/css/dropdown-menu.css +1 -1
- package/dist/css/file-input.css +1 -1
- package/dist/css/inline-edit.css +1 -1
- package/dist/css/input.css +1 -1
- package/dist/css/log-viewer.css +1 -1
- package/dist/css/mentions.css +2 -0
- package/dist/css/menu.css +1 -1
- package/dist/css/model-picker.css +1 -1
- package/dist/css/navigation-bar.css +1 -1
- package/dist/css/number-input.css +1 -1
- package/dist/css/otp-input.css +1 -1
- package/dist/css/pagination.css +1 -1
- package/dist/css/password-input.css +1 -1
- package/dist/css/progress.css +1 -1
- package/dist/css/radio.css +1 -1
- package/dist/css/rating.css +1 -1
- package/dist/css/resizable.css +1 -1
- package/dist/css/segmented.css +1 -1
- package/dist/css/select.css +1 -1
- package/dist/css/slider.css +1 -1
- package/dist/css/stepper.css +1 -1
- package/dist/css/swipe-action.css +1 -1
- package/dist/css/switch.css +1 -1
- package/dist/css/tabs.css +1 -1
- package/dist/css/tag-input.css +1 -1
- package/dist/css/tag.css +1 -1
- package/dist/css/textarea.css +1 -1
- package/dist/css/time-picker.css +1 -1
- package/dist/css/token-counter.css +1 -1
- package/dist/css/tokens.css +1 -1
- package/dist/css/tree.css +1 -1
- package/dist/css/upload.css +1 -1
- package/dist/css-manifest.json +10 -1
- package/dist/form/FormItem.js +1 -0
- package/dist/form/index.js +1 -0
- package/dist/haze-ui.css +53 -52
- package/dist/hooks/useClipboard.js +30 -0
- package/dist/hooks/useDebouncedCallback.js +17 -0
- package/dist/hooks/useDebouncedValue.js +12 -0
- package/dist/hooks/useMediaQuery.js +13 -0
- package/dist/hooks/usePrefersReducedMotion.js +9 -0
- package/dist/hooks/useTitle.js +1 -0
- package/dist/index.js +138 -129
- package/dist/registry.json +15 -15
- package/dist/tokens/colors.js +1 -0
- package/dist/tokens/index.js +1 -0
- package/dist/tokens/motion.js +1 -0
- package/dist/tokens/oklch.js +1 -0
- package/dist/tokens/palette.js +1 -0
- package/dist/tokens/registry.js +1 -0
- package/dist/tokens/spacing.js +1 -0
- package/dist/tokens/typography.js +1 -0
- package/dist/types/components/Calendar/date.d.ts +79 -0
- package/dist/types/components/Combobox/ComboboxOption.d.ts +13 -1
- package/dist/types/components/DataTable/DataTable.d.ts +43 -2
- package/dist/types/components/DataTable/index.d.ts +1 -1
- package/dist/types/components/LocaleProvider/LocaleContext.d.ts +1 -1
- package/dist/types/components/LocaleProvider/LocaleProvider.d.ts +5 -2
- package/dist/types/components/LocaleProvider/index.d.ts +2 -1
- package/dist/types/components/LocaleProvider/locale.d.ts +7 -1
- package/dist/types/components/LocaleProvider/useStrings.d.ts +5 -4
- package/dist/types/components/LocaleProvider/zh-cn.d.ts +13 -0
- package/dist/types/components/Mentions/Mentions.d.ts +17 -0
- package/dist/types/components/Mentions/MentionsCore.d.ts +21 -0
- package/dist/types/components/Mentions/index.d.ts +4 -0
- package/dist/types/hooks/index.d.ts +6 -0
- package/dist/types/hooks/useClipboard.d.ts +31 -0
- package/dist/types/hooks/useDebouncedCallback.d.ts +21 -0
- package/dist/types/hooks/useDebouncedValue.d.ts +20 -0
- package/dist/types/hooks/useMediaQuery.d.ts +17 -0
- package/dist/types/hooks/usePrefersReducedMotion.d.ts +14 -0
- package/dist/types/index.d.ts +6 -3
- package/dist/utils/classnames.js +1 -0
- package/dist/utils/collision.js +1 -0
- package/dist/utils/floating.js +1 -0
- package/dist/utils/focus-scope.js +1 -0
- package/dist/utils/focus.js +1 -0
- package/dist/utils/menuKeyboard.js +1 -0
- package/dist/utils/presence.js +1 -0
- package/package.json +15 -13
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 返回 `fn` 的防抖版本(尾触发):窗口内连续调用只在最后一次调用
|
|
3
|
+
* 的窗口到期后执行一次,参数取最后一次调用。
|
|
4
|
+
*
|
|
5
|
+
* ```tsx
|
|
6
|
+
* const save = useDebouncedCallback((draft) => persist(draft), 500);
|
|
7
|
+
* <Textarea onChange={(e) => save(e.target.value)} />;
|
|
8
|
+
* ```
|
|
9
|
+
*
|
|
10
|
+
* - `fn` 与 `delayMs` 都经 ref 透传:调用时始终执行「最新一次渲染」
|
|
11
|
+
* 的闭包(事件回调里读到最新 state,无需把 fn 写进依赖)。
|
|
12
|
+
* - 返回的函数引用跨渲染稳定(空依赖 `useCallback` + ref 计时),
|
|
13
|
+
* 可安全放进子组件的 props 比较 / effect 依赖。
|
|
14
|
+
* - `delayMs` 变更即时生效:下一次调度起用新窗口。
|
|
15
|
+
* - 卸载时取消挂起的计时器且不 flush——尾调用不会在组件消失后触发。
|
|
16
|
+
*
|
|
17
|
+
* @param fn 需要防抖的函数(引用可任意变化)。
|
|
18
|
+
* @param delayMs 防抖窗口(毫秒)。
|
|
19
|
+
* @returns 引用稳定的防抖函数。
|
|
20
|
+
*/
|
|
21
|
+
export declare function useDebouncedCallback<A extends unknown[]>(fn: (...args: A) => void, delayMs: number): (...args: A) => void;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 返回 `value` 的防抖镜像:值停止变化 `delayMs` 后才同步到最新值。
|
|
3
|
+
*
|
|
4
|
+
* ```tsx
|
|
5
|
+
* const debouncedQuery = useDebouncedValue(query, 300);
|
|
6
|
+
* useEffect(() => { search(debouncedQuery); }, [debouncedQuery]);
|
|
7
|
+
* ```
|
|
8
|
+
*
|
|
9
|
+
* - 内部派生状态(镜像没有「父组件控制」的语义,不走 useControl)。
|
|
10
|
+
* - 挂载首帧直接返回当时的 `value`(不防抖);窗口内快速变化的
|
|
11
|
+
* 中间值永远不会暴露。
|
|
12
|
+
* - `delayMs` 变更即时生效:计时器依赖 `[value, delayMs]`,任一变化
|
|
13
|
+
* 都重启窗口。
|
|
14
|
+
* - 卸载清理计时器,不会对已卸载组件 setState。
|
|
15
|
+
*
|
|
16
|
+
* @param value 需要防抖的值。
|
|
17
|
+
* @param delayMs 防抖窗口(毫秒)。
|
|
18
|
+
* @returns 防抖后的值。
|
|
19
|
+
*/
|
|
20
|
+
export declare function useDebouncedValue<T>(value: T, delayMs: number): T;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 订阅一条 CSS 媒体查询,返回当前是否匹配。
|
|
3
|
+
*
|
|
4
|
+
* ```tsx
|
|
5
|
+
* const isWide = useMediaQuery('(min-width: 768px)');
|
|
6
|
+
* ```
|
|
7
|
+
*
|
|
8
|
+
* - 底层 `window.matchMedia` + `useSyncExternalStore`;query 变化时
|
|
9
|
+
* 自动换订阅。
|
|
10
|
+
* - SSR:服务端渲染与 hydration 首帧恒返回 `false`(不访问
|
|
11
|
+
* `window`、不建立订阅);水合后与真实结果不一致时以一次额外
|
|
12
|
+
* 渲染收敛,无 hydration mismatch。
|
|
13
|
+
*
|
|
14
|
+
* @param query CSS 媒体查询字符串,如 `'(min-width: 768px)'`。
|
|
15
|
+
* @returns 当前是否匹配(SSR 阶段恒为 `false`)。
|
|
16
|
+
*/
|
|
17
|
+
export declare function useMediaQuery(query: string): boolean;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 用户是否开启了系统级「减少动态效果」偏好(`prefers-reduced-motion`)。
|
|
3
|
+
*
|
|
4
|
+
* 与 tokens 的 `@media (prefers-reduced-motion: reduce)` 全局 CSS 降级
|
|
5
|
+
* (duration → 0ms)呼应:CSS 侧管组件自身的过渡/动画,本 hook 供
|
|
6
|
+
* JS 侧编排决策——跳过视差、自动轮播、滚动驱动动画等 CSS 覆盖不到
|
|
7
|
+
* 的动效。
|
|
8
|
+
*
|
|
9
|
+
* - SSR:继承 useMediaQuery 语义——服务端渲染与 hydration 首帧恒
|
|
10
|
+
* `false`,水合后以一次额外渲染收敛,无 hydration mismatch。
|
|
11
|
+
*
|
|
12
|
+
* @returns 用户偏好减少动态效果时为 `true`。
|
|
13
|
+
*/
|
|
14
|
+
export declare function usePrefersReducedMotion(): boolean;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -123,6 +123,8 @@ export { PasswordInput, PasswordInputCore } from './components/PasswordInput';
|
|
|
123
123
|
export type { PasswordInputProps, PasswordInputCoreProps } from './components/PasswordInput';
|
|
124
124
|
export { TagInput, TagInputCore } from './components/TagInput';
|
|
125
125
|
export type { TagInputProps, TagInputCoreProps } from './components/TagInput';
|
|
126
|
+
export { Mentions, MentionsCore } from './components/Mentions';
|
|
127
|
+
export type { MentionsProps, MentionsCoreProps, MentionsOption } from './components/Mentions';
|
|
126
128
|
export { InlineEdit } from './components/InlineEdit';
|
|
127
129
|
export type { InlineEditProps } from './components/InlineEdit';
|
|
128
130
|
export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator } from './components/DropdownMenu';
|
|
@@ -154,10 +156,10 @@ export type { BottomSheetProps } from './components/BottomSheet';
|
|
|
154
156
|
export { SwipeAction } from './components/SwipeAction';
|
|
155
157
|
export type { SwipeActionProps } from './components/SwipeAction';
|
|
156
158
|
export { default as LocaleProvider, useStrings } from './components/LocaleProvider';
|
|
157
|
-
export { defaultStrings } from './components/LocaleProvider';
|
|
159
|
+
export { defaultStrings, enUS, zhCN } from './components/LocaleProvider';
|
|
158
160
|
export type { LocaleProviderProps, HazeStrings } from './components/LocaleProvider';
|
|
159
161
|
export { DataTable } from './components/DataTable';
|
|
160
|
-
export type { DataTableProps, DataTableColumnDef, DataTableColumnMeta } from './components/DataTable';
|
|
162
|
+
export type { DataTableProps, DataTableColumnDef, DataTableColumnMeta, DataTableVirtualized, } from './components/DataTable';
|
|
161
163
|
export { Kbd } from './components/Kbd';
|
|
162
164
|
export type { KbdProps } from './components/Kbd';
|
|
163
165
|
export { AvatarGroup } from './components/AvatarGroup';
|
|
@@ -204,7 +206,8 @@ export { LogViewer } from './components/LogViewer';
|
|
|
204
206
|
export type { LogViewerProps, LogEntry, LogLevel } from './components/LogViewer';
|
|
205
207
|
export { AsyncSection } from './components/AsyncSection';
|
|
206
208
|
export type { AsyncSectionProps } from './components/AsyncSection';
|
|
207
|
-
export { useTitle } from './hooks';
|
|
209
|
+
export { useTitle, useMediaQuery, usePrefersReducedMotion, useDebouncedValue, useDebouncedCallback, useClipboard, } from './hooks';
|
|
210
|
+
export type { UseClipboardResult } from './hooks';
|
|
208
211
|
export { FormItem } from './form';
|
|
209
212
|
export type { FieldValidator, FormItemAsProps, FormItemBinding, FormItemOwnProps, FormItemProps, FormItemRawElement, FormItemRawElementBinding, FormInstance, PathValueOf, } from './form';
|
|
210
213
|
export { useControl } from 'react-use-control';
|
package/dist/utils/classnames.js
CHANGED
package/dist/utils/collision.js
CHANGED
package/dist/utils/floating.js
CHANGED
package/dist/utils/focus.js
CHANGED
package/dist/utils/presence.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "haze-ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.26.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A React UI component library powered by react-use-control and Linaria",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"scripts": {
|
|
42
42
|
"start": "vite",
|
|
43
43
|
"build": "BUILD_LIB=true vite build && node scripts/split-css.mjs && node scripts/generate-registry.mjs && tsc -p tsconfig.lib.json && tsc-alias -p tsconfig.lib.json",
|
|
44
|
-
"build:demo": "BABEL_ENV=development BUILD_DEMO=true vite build && cp dist/index.html dist/404.html",
|
|
44
|
+
"build:demo": "BABEL_ENV=development BUILD_DEMO=true vite build && cp dist/index.html dist/404.html && cp llms.txt dist/",
|
|
45
45
|
"commit": "lint-staged && git-cz -n",
|
|
46
46
|
"coverage": "vitest run --coverage",
|
|
47
47
|
"lint": "eslint --fix src *.mjs",
|
|
@@ -78,11 +78,19 @@
|
|
|
78
78
|
"author": "wmzy",
|
|
79
79
|
"license": "MIT",
|
|
80
80
|
"peerDependencies": {
|
|
81
|
-
"react": "^
|
|
81
|
+
"@tanstack/react-table": "^9.2.4",
|
|
82
|
+
"react": "^19.0.0",
|
|
83
|
+
"react-f0rm": "^1.1.1"
|
|
84
|
+
},
|
|
85
|
+
"peerDependenciesMeta": {
|
|
86
|
+
"@tanstack/react-table": {
|
|
87
|
+
"optional": true
|
|
88
|
+
},
|
|
89
|
+
"react-f0rm": {
|
|
90
|
+
"optional": true
|
|
91
|
+
}
|
|
82
92
|
},
|
|
83
93
|
"dependencies": {
|
|
84
|
-
"@tanstack/react-table": "^9.2.4",
|
|
85
|
-
"react-f0rm": "^1.1.1",
|
|
86
94
|
"react-use-control": "^1.6.0"
|
|
87
95
|
},
|
|
88
96
|
"devDependencies": {
|
|
@@ -90,7 +98,6 @@
|
|
|
90
98
|
"@babel/core": "^8.0.1",
|
|
91
99
|
"@babel/preset-env": "^8.0.2",
|
|
92
100
|
"@babel/preset-typescript": "^8.0.1",
|
|
93
|
-
"@faker-js/faker": "^10.6.0",
|
|
94
101
|
"@for-fun/event-emitter": "^1.1.0",
|
|
95
102
|
"@linaria/core": "^8.2.0",
|
|
96
103
|
"@native-router/core": "^1.16.1",
|
|
@@ -98,13 +105,13 @@
|
|
|
98
105
|
"@playwright/test": "^1.62.1",
|
|
99
106
|
"@size-limit/esbuild": "^13.0.3",
|
|
100
107
|
"@size-limit/file": "^13.0.3",
|
|
108
|
+
"@tanstack/react-table": "^9.2.4",
|
|
101
109
|
"@testing-library/jest-dom": "^7.0.1",
|
|
102
110
|
"@testing-library/react": "^16.3.3",
|
|
103
111
|
"@testing-library/user-event": "^14.6.7",
|
|
104
112
|
"@types/culori": "^4.0.1",
|
|
105
113
|
"@types/jest-axe": "^3.5.9",
|
|
106
114
|
"@types/node": "^26.4.1",
|
|
107
|
-
"@types/ramda": "^0.32.0",
|
|
108
115
|
"@types/react": "^19.2.18",
|
|
109
116
|
"@types/react-dom": "^19.2.7",
|
|
110
117
|
"@vitejs/plugin-react": "^6.1.1",
|
|
@@ -116,24 +123,19 @@
|
|
|
116
123
|
"commitizen": "^4.3.2",
|
|
117
124
|
"core-js": "^3.50.0",
|
|
118
125
|
"culori": "^4.0.2",
|
|
119
|
-
"date-fns": "^4.4.0",
|
|
120
126
|
"eslint": "^10.9.1",
|
|
121
127
|
"eslint-plugin-compat": "^7.0.2",
|
|
122
128
|
"gh-pages": "^6.3.0",
|
|
123
129
|
"husky": "^9.1.7",
|
|
124
130
|
"jest-axe": "^11.0.0",
|
|
125
131
|
"jsdom": "^30.0.1",
|
|
126
|
-
"json-schema-faker": "^0.6.3",
|
|
127
132
|
"lint-staged": "^17.4.1",
|
|
128
133
|
"lucide-react": "^1.41.0",
|
|
129
134
|
"prettier": "^3.9.6",
|
|
130
|
-
"qss": "^3.0.0",
|
|
131
|
-
"ramda": "^0.32.0",
|
|
132
135
|
"react": "^19.2.8",
|
|
133
136
|
"react-dom": "^19.2.8",
|
|
137
|
+
"react-f0rm": "^1.1.1",
|
|
134
138
|
"react-icons": "^5.7.0",
|
|
135
|
-
"react-toolroom": "^1.1.0",
|
|
136
|
-
"rollup-plugin-type-as-json-schema": "^0.2.6",
|
|
137
139
|
"semantic-release": "^25.0.9",
|
|
138
140
|
"size-limit": "^13.0.3",
|
|
139
141
|
"terser": "^5.51.2",
|