haze-ui 1.29.0 → 1.31.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 +93 -1
- package/cli/theme.mjs +446 -0
- package/dist/components/Accordion/Accordion.js +1 -0
- package/dist/components/Accordion/AccordionItem.js +3 -0
- package/dist/components/ActivityRail/ActivityRail.js +76 -0
- package/dist/components/ActivityRail/index.js +3 -0
- package/dist/components/Affix/Affix.js +1 -0
- package/dist/components/Alert/Alert.js +3 -0
- package/dist/components/Anchor/Anchor.js +21 -15
- package/dist/components/AppShell/AppShell.js +5 -0
- package/dist/components/ApprovalCard/ApprovalCard.js +8 -0
- package/dist/components/AspectRatio/AspectRatio.js +2 -0
- package/dist/components/AsyncSection/AsyncSection.js +8 -0
- package/dist/components/Avatar/Avatar.js +11 -6
- package/dist/components/AvatarGroup/AvatarGroup.js +9 -6
- package/dist/components/BackToTop/BackToTop.js +5 -4
- package/dist/components/Badge/Badge.js +1 -0
- package/dist/components/Banner/Banner.js +3 -0
- package/dist/components/BottomSheet/BottomSheet.js +22 -31
- package/dist/components/Breadcrumb/Breadcrumb.js +11 -7
- package/dist/components/Breadcrumb/BreadcrumbItem.js +2 -0
- package/dist/components/Button/Button.js +13 -11
- package/dist/components/Button/ButtonLink.js +15 -13
- package/dist/components/Calendar/Calendar.js +523 -368
- package/dist/components/Calendar/date.js +35 -10
- package/dist/components/Card/Card.js +1 -0
- package/dist/components/Carousel/Carousel.js +157 -60
- package/dist/components/Carousel/CarouselSlide.js +3 -1
- package/dist/components/Cascader/Cascader.js +48 -35
- package/dist/components/Chart/Chart.js +5 -4
- package/dist/components/Chart/chart-elements.js +14 -10
- package/dist/components/ChatContainer/ChatContainer.js +9 -7
- package/dist/components/ChatInput/ChatInput.js +12 -9
- package/dist/components/ChatMessage/ChatMessage.js +83 -44
- package/dist/components/Checkbox/CheckboxCore.js +2 -0
- package/dist/components/Chip/Chip.js +3 -0
- package/dist/components/CodeBlock/CodeBlock.js +18 -9
- package/dist/components/Collapsible/Collapsible.js +24 -21
- package/dist/components/ColorPicker/ColorPicker.js +85 -14
- package/dist/components/ColorPicker/ColorPickerCore.js +6 -0
- package/dist/components/ColorPicker/ColorPickerPanel.js +277 -0
- package/dist/components/ColorPicker/color-math.js +168 -0
- package/dist/components/ColorPicker/color-picker-styles.js +7 -0
- package/dist/components/ColorPicker/index.js +3 -3
- package/dist/components/Combobox/Combobox.js +31 -24
- package/dist/components/Combobox/ComboboxGroup.js +7 -5
- package/dist/components/Combobox/ComboboxOption.js +1 -0
- package/dist/components/Command/Command.js +44 -37
- package/dist/components/Command/CommandDialog.js +8 -8
- package/dist/components/ConfigProvider/ConfigContext.js +30 -0
- package/dist/components/ConfigProvider/ConfigProvider.js +14 -0
- package/dist/components/ConfigProvider/index.js +4 -0
- package/dist/components/ConfigProvider/useConfigDefaults.js +10 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.js +18 -11
- package/dist/components/Container/Container.js +1 -0
- package/dist/components/ContextMenu/ContextMenu.js +7 -6
- package/dist/components/ContextMenu/ContextMenuContent.js +4 -4
- 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/ConversationList/ConversationItem.js +4 -0
- package/dist/components/ConversationList/ConversationList.js +17 -7
- package/dist/components/CountUp/CountUp.js +6 -5
- package/dist/components/DataTable/CellEditor.js +4 -4
- package/dist/components/DataTable/DataTable.js +236 -168
- package/dist/components/DateRangePicker/DateRangePickerCore.js +9 -0
- package/dist/components/Datepicker/Datepicker.js +14 -11
- package/dist/components/Datepicker/DatepickerCore.js +75 -60
- package/dist/components/Datepicker/datetime.js +14 -3
- package/dist/components/Descriptions/Descriptions.js +6 -0
- package/dist/components/Dialog/Dialog.js +13 -11
- package/dist/components/DiffViewer/DiffViewer.js +22 -13
- package/dist/components/Disclosure/Disclosure.js +10 -7
- package/dist/components/Divider/Divider.js +2 -0
- package/dist/components/Drawer/Drawer.js +10 -9
- package/dist/components/DropdownMenu/DropdownMenu.js +58 -35
- package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.js +63 -0
- package/dist/components/DropdownMenu/DropdownMenuContent.js +5 -5
- package/dist/components/DropdownMenu/DropdownMenuGroup.js +26 -0
- package/dist/components/DropdownMenu/DropdownMenuItem.js +29 -10
- package/dist/components/DropdownMenu/DropdownMenuRadioGroup.js +30 -0
- package/dist/components/DropdownMenu/DropdownMenuRadioItem.js +59 -0
- package/dist/components/DropdownMenu/DropdownMenuSeparator.js +1 -0
- package/dist/components/DropdownMenu/DropdownMenuSub.js +1 -0
- package/dist/components/DropdownMenu/DropdownMenuSubTrigger.js +1 -0
- package/dist/components/DropdownMenu/DropdownMenuTrigger.js +1 -0
- package/dist/components/DropdownMenu/dropdown-menu-item-styles.js +7 -0
- package/dist/components/DropdownMenu/index.js +12 -8
- package/dist/components/Ellipsis/Ellipsis.js +11 -8
- package/dist/components/Empty/Empty.js +4 -0
- package/dist/components/FileInput/FileInput.js +7 -5
- package/dist/components/FilePreview/FilePreview.js +19 -1
- package/dist/components/Flex/Flex.js +1 -0
- package/dist/components/FloatButton/FloatButton.js +4 -0
- package/dist/components/FloatButton/FloatButtonGroup.js +18 -13
- package/dist/components/Fullscreen/Fullscreen.js +6 -3
- package/dist/components/Grid/Grid.js +12 -7
- package/dist/components/Grid/GridItem.js +17 -7
- package/dist/components/Grid/grid-item-styles.js +58 -0
- package/dist/components/HoverCard/HoverCard.js +46 -43
- package/dist/components/Icon/Icon.js +1 -0
- package/dist/components/Image/Image.js +10 -7
- package/dist/components/Image/ImagePreview.js +42 -34
- package/dist/components/InlineCompletion/InlineCompletion.js +15 -11
- package/dist/components/InlineEdit/InlineEdit.js +8 -6
- package/dist/components/Input/InputCore.js +1 -0
- package/dist/components/JsonView/JsonView.js +104 -79
- package/dist/components/Kbd/Kbd.js +1 -0
- package/dist/components/List/List.js +15 -10
- package/dist/components/List/ListItem.js +1 -0
- package/dist/components/LocaleProvider/LocaleProvider.js +4 -4
- package/dist/components/LocaleProvider/ar-sa.js +31 -2
- package/dist/components/LocaleProvider/de-de.js +31 -2
- package/dist/components/LocaleProvider/es-es.js +31 -2
- package/dist/components/LocaleProvider/fr-fr.js +31 -2
- package/dist/components/LocaleProvider/it-it.js +31 -2
- package/dist/components/LocaleProvider/ja-jp.js +31 -2
- package/dist/components/LocaleProvider/ko-kr.js +31 -2
- package/dist/components/LocaleProvider/locale.js +31 -2
- package/dist/components/LocaleProvider/pt-br.js +31 -2
- package/dist/components/LocaleProvider/ru-ru.js +31 -2
- package/dist/components/LocaleProvider/zh-cn.js +31 -2
- package/dist/components/LogViewer/LogViewer.js +56 -38
- package/dist/components/MarkdownRenderer/MarkdownRenderer.js +6 -5
- package/dist/components/MarkdownRenderer/markdown-blocks.js +1 -1
- package/dist/components/Masonry/Masonry.js +13 -10
- package/dist/components/Mentions/MentionsCore.js +15 -11
- package/dist/components/Menu/Menu.js +58 -36
- package/dist/components/Menu/MenuCheckboxItem.js +63 -0
- package/dist/components/Menu/MenuDivider.js +1 -0
- package/dist/components/Menu/MenuGroup.js +26 -0
- package/dist/components/Menu/MenuItem.js +28 -9
- package/dist/components/Menu/MenuRadioGroup.js +30 -0
- package/dist/components/Menu/MenuRadioItem.js +59 -0
- package/dist/components/Menu/MenuSub.js +1 -0
- package/dist/components/Menu/MenuSubTrigger.js +1 -0
- package/dist/components/Menu/index.js +11 -7
- package/dist/components/Menu/menu-item-styles.js +7 -0
- package/dist/components/ModelPicker/ModelPicker.js +3 -0
- package/dist/components/NavigationBar/NavLink.js +7 -6
- package/dist/components/NavigationBar/NavigationBar.js +4 -0
- package/dist/components/NumberInput/NumberInputCore.js +4 -0
- package/dist/components/OTPInput/OTPInputCore.js +10 -7
- package/dist/components/Pagination/Pagination.js +125 -33
- package/dist/components/PasswordInput/PasswordInputCore.js +9 -6
- package/dist/components/Popover/Popover.js +9 -7
- package/dist/components/Progress/Progress.js +5 -0
- package/dist/components/PromptInput/PromptInput.js +49 -41
- package/dist/components/QRCode/QRCode.js +9 -7
- package/dist/components/Radio/Radio.js +2 -0
- package/dist/components/Radio/RadioGroupCore.js +7 -6
- package/dist/components/Rating/RatingCore.js +18 -15
- package/dist/components/Resizable/Resizable.js +269 -36
- package/dist/components/Result/Result.js +5 -0
- package/dist/components/ScrollArea/ScrollArea.js +1 -0
- package/dist/components/Segmented/SegmentedCore.js +9 -7
- package/dist/components/Select/Option.js +1 -0
- package/dist/components/Select/OptionGroup.js +1 -0
- package/dist/components/Select/SelectCore.js +11 -8
- package/dist/components/Select/SelectFloating.js +54 -36
- package/dist/components/Sidebar/Sidebar.js +52 -42
- package/dist/components/Signature/Signature.js +101 -91
- package/dist/components/Skeleton/Skeleton.js +1 -0
- package/dist/components/Slider/SliderCore.js +149 -43
- package/dist/components/Sources/Sources.js +31 -21
- package/dist/components/Sparkline/Sparkline.js +45 -0
- package/dist/components/Sparkline/index.js +3 -0
- package/dist/components/Sparkline/sparkline-styles.js +18 -0
- package/dist/components/Spinner/Spinner.js +1 -0
- package/dist/components/Stat/Stat.js +7 -0
- package/dist/components/StatusBar/StatusBar.js +47 -0
- package/dist/components/StatusBar/index.js +3 -0
- package/dist/components/StepTimeline/StepTimeline.js +6 -0
- package/dist/components/Stepper/Step.js +8 -1
- package/dist/components/Stepper/Stepper.js +7 -6
- package/dist/components/StreamingText/StreamingText.js +62 -29
- package/dist/components/SwipeAction/SwipeAction.js +11 -9
- package/dist/components/Switch/SwitchCore.js +9 -5
- package/dist/components/TabBar/TabBar.js +60 -0
- package/dist/components/TabBar/index.js +3 -0
- package/dist/components/Table/Table.js +2 -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/Tabs/SortableTabList.js +116 -0
- package/dist/components/Tabs/Tab.js +84 -16
- package/dist/components/Tabs/TabList.js +94 -37
- package/dist/components/Tabs/TabPanel.js +1 -0
- package/dist/components/Tabs/Tabs.js +1 -0
- package/dist/components/Tabs/edge-scroll.js +6 -0
- package/dist/components/Tabs/index.js +4 -3
- package/dist/components/Tabs/tab-metas.js +24 -0
- package/dist/components/Tag/Tag.js +2 -0
- package/dist/components/TagGroup/SortableTagGroup.js +7 -6
- package/dist/components/TagGroup/TagGroup.js +1 -0
- package/dist/components/TagGroup/TagGroupItem.js +3 -0
- package/dist/components/TagInput/SortableTagInputCore.js +16 -13
- package/dist/components/TagInput/TagInputCore.js +17 -12
- package/dist/components/Textarea/TextareaCore.js +1 -0
- package/dist/components/ThinkingIndicator/ThinkingIndicator.js +18 -4
- package/dist/components/TimePicker/TimePicker.js +30 -14
- package/dist/components/TimePicker/TimePickerCore.js +1 -0
- package/dist/components/TimePicker/TimePickerPanel.js +260 -0
- package/dist/components/TimePicker/time-picker-styles.js +7 -0
- package/dist/components/TimePicker/time.js +51 -0
- package/dist/components/Timeline/Timeline.js +14 -1
- package/dist/components/Toast/Toast.js +94 -48
- package/dist/components/Toast/ToastContainer.js +60 -56
- package/dist/components/Toast/ToastContext.js +3 -1
- package/dist/components/Toast/index.js +1 -1
- package/dist/components/Toast/{toast2.js → toast-channel.js} +21 -15
- package/dist/components/Toast/useToast.js +36 -11
- package/dist/components/Toggle/ToggleCore.js +1 -0
- package/dist/components/TokenCounter/TokenCounter.js +8 -1
- package/dist/components/ToolCallCard/ToolCallCard.js +18 -2
- package/dist/components/Toolbar/Toolbar.js +9 -8
- package/dist/components/Toolbar/ToolbarButton.js +1 -0
- package/dist/components/Toolbar/ToolbarSeparator.js +1 -0
- package/dist/components/Toolbar/ToolbarToggle.js +1 -0
- package/dist/components/Tooltip/Tooltip.js +46 -42
- package/dist/components/Tour/Tour.js +76 -65
- package/dist/components/Transfer/TransferCore.js +31 -17
- package/dist/components/Tree/SortableTree.js +151 -0
- package/dist/components/Tree/Tree.js +163 -154
- package/dist/components/Tree/TreeItem.js +52 -39
- package/dist/components/Tree/index.js +2 -1
- package/dist/components/Tree/sortable-tree-styles.js +7 -0
- package/dist/components/Tree/sortable-tree-utils.js +36 -0
- package/dist/components/TreeSelect/TreeSelect.js +44 -34
- package/dist/components/Typography/Typography.js +3 -0
- package/dist/components/Upload/Upload.js +12 -11
- package/dist/components/Upload/UploadCore.js +92 -65
- package/dist/components/Upload/UploadList.js +177 -105
- package/dist/components/VirtualList/VirtualList.js +239 -122
- package/dist/components/Watermark/Watermark.js +8 -6
- package/dist/components/Workbench/Workbench.js +144 -0
- package/dist/components/Workbench/index.js +3 -0
- package/dist/css/accordion.css +1 -1
- package/dist/css/activity-rail.css +2 -0
- package/dist/css/alert.css +1 -1
- package/dist/css/app-shell.css +1 -1
- package/dist/css/async-section.css +1 -1
- package/dist/css/banner.css +1 -1
- package/dist/css/bottom-sheet.css +1 -1
- package/dist/css/breadcrumb.css +1 -1
- package/dist/css/button.css +2 -2
- package/dist/css/calendar.css +1 -1
- package/dist/css/carousel.css +1 -1
- package/dist/css/chat-message.css +1 -1
- package/dist/css/checkbox.css +1 -1
- package/dist/css/color-picker.css +2 -0
- package/dist/css/combobox.css +2 -2
- package/dist/css/command.css +1 -1
- package/dist/css/context-menu.css +1 -1
- package/dist/css/date-range-picker.css +1 -1
- package/dist/css/dialog.css +1 -1
- package/dist/css/drawer.css +1 -1
- package/dist/css/dropdown-menu.css +7 -2
- package/dist/css/form.css +1 -1
- package/dist/css/grid.css +2 -1
- package/dist/css/hover-card.css +1 -1
- package/dist/css/input.css +1 -1
- package/dist/css/list.css +1 -1
- package/dist/css/menu.css +9 -4
- package/dist/css/pagination.css +1 -1
- package/dist/css/popover.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/sidebar.css +1 -1
- package/dist/css/skeleton.css +1 -1
- package/dist/css/slider.css +1 -1
- package/dist/css/sparkline.css +2 -0
- package/dist/css/spinner.css +1 -1
- package/dist/css/status-bar.css +2 -0
- package/dist/css/stepper.css +1 -1
- package/dist/css/streaming-text.css +1 -1
- package/dist/css/switch.css +1 -1
- package/dist/css/tab-bar.css +2 -0
- package/dist/css/tabs.css +3 -2
- package/dist/css/tag.css +1 -1
- package/dist/css/textarea.css +1 -1
- package/dist/css/thinking-indicator.css +1 -1
- package/dist/css/time-picker.css +1 -0
- package/dist/css/toast.css +1 -1
- package/dist/css/toggle.css +1 -1
- package/dist/css/tokens.css +1 -1
- package/dist/css/tooltip.css +1 -1
- package/dist/css/tree.css +2 -1
- package/dist/css/upload.css +1 -1
- package/dist/css/virtual-list.css +1 -1
- package/dist/css/workbench.css +2 -0
- package/dist/css-manifest.json +38 -0
- package/dist/dates/adapter.js +21 -0
- package/dist/dates/buddhist.js +43 -0
- package/dist/dates/ethiopic.js +67 -0
- package/dist/dates/gregory.js +44 -0
- package/dist/dates/hebrew.js +95 -0
- package/dist/dates/islamic.js +87 -0
- package/dist/dates/japanese.js +41 -0
- package/dist/dates/persian.js +121 -0
- package/dist/dates/registry.js +23 -0
- package/dist/dates/timezone.js +29 -0
- package/dist/design-tokens/cyan-dark.json +355 -0
- package/dist/design-tokens/cyan-light.json +355 -0
- package/dist/design-tokens/orange-dark.json +355 -0
- package/dist/design-tokens/orange-light.json +355 -0
- package/dist/design-tokens/rose-dark.json +355 -0
- package/dist/design-tokens/rose-light.json +355 -0
- package/dist/design-tokens/teal-dark.json +355 -0
- package/dist/design-tokens/teal-light.json +355 -0
- package/dist/design-tokens/violet-dark.json +355 -0
- package/dist/design-tokens/violet-light.json +355 -0
- package/dist/form/FormItem.js +71 -63
- package/dist/form/FormList.js +6 -6
- package/dist/form/form-item-styles.js +7 -0
- package/dist/haze-ui.css +78 -57
- package/dist/index.js +261 -232
- package/dist/mcp-docs.json +1587 -113
- package/dist/registry.json +132 -22
- package/dist/tokens/index.js +7 -7
- package/dist/tokens/motion.js +9 -2
- package/dist/tokens/palette.js +244 -84
- package/dist/tokens/registry.js +18 -22
- package/dist/types/components/ActivityRail/ActivityRail.d.ts +30 -0
- package/dist/types/components/ActivityRail/index.d.ts +4 -0
- package/dist/types/components/Button/Button.d.ts +1 -1
- package/dist/types/components/Calendar/Calendar.d.ts +39 -14
- package/dist/types/components/Calendar/date.d.ts +51 -0
- package/dist/types/components/Calendar/index.d.ts +1 -1
- package/dist/types/components/Carousel/Carousel.d.ts +5 -1
- package/dist/types/components/Carousel/CarouselSlide.d.ts +3 -3
- package/dist/types/components/Chart/Chart.d.ts +13 -6
- package/dist/types/components/Chart/chart-elements.d.ts +27 -6
- package/dist/types/components/ChatMessage/ChatMessage.d.ts +10 -1
- package/dist/types/components/ColorPicker/ColorPicker.d.ts +44 -5
- package/dist/types/components/ColorPicker/ColorPickerPanel.d.ts +28 -0
- package/dist/types/components/ColorPicker/color-math.d.ts +63 -0
- package/dist/types/components/ColorPicker/color-picker-styles.d.ts +50 -0
- package/dist/types/components/ConfigProvider/ConfigContext.d.ts +67 -0
- package/dist/types/components/ConfigProvider/ConfigProvider.d.ts +25 -0
- package/dist/types/components/ConfigProvider/index.d.ts +4 -0
- package/dist/types/components/ConfigProvider/useConfigDefaults.d.ts +28 -0
- package/dist/types/components/ConversationList/ConversationList.d.ts +10 -1
- package/dist/types/components/Datepicker/Datepicker.d.ts +23 -10
- package/dist/types/components/Datepicker/DatepickerCore.d.ts +40 -10
- package/dist/types/components/Datepicker/datetime.d.ts +33 -11
- package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +12 -2
- package/dist/types/components/DropdownMenu/DropdownMenuCheckboxItem.d.ts +26 -0
- package/dist/types/components/DropdownMenu/DropdownMenuGroup.d.ts +16 -0
- package/dist/types/components/DropdownMenu/DropdownMenuItem.d.ts +7 -1
- package/dist/types/components/DropdownMenu/DropdownMenuRadioGroup.d.ts +21 -0
- package/dist/types/components/DropdownMenu/DropdownMenuRadioItem.d.ts +22 -0
- package/dist/types/components/DropdownMenu/dropdown-menu-item-styles.d.ts +29 -0
- package/dist/types/components/DropdownMenu/index.d.ts +9 -1
- package/dist/types/components/Fullscreen/Fullscreen.d.ts +1 -0
- package/dist/types/components/Grid/Grid.d.ts +8 -1
- package/dist/types/components/Grid/GridItem.d.ts +24 -1
- package/dist/types/components/Grid/grid-item-styles.d.ts +57 -0
- package/dist/types/components/HoverCard/HoverCard.d.ts +1 -1
- package/dist/types/components/List/List.d.ts +10 -1
- package/dist/types/components/LocaleProvider/locale.d.ts +31 -0
- package/dist/types/components/LogViewer/LogViewer.d.ts +10 -1
- package/dist/types/components/Menu/Menu.d.ts +11 -2
- package/dist/types/components/Menu/MenuCheckboxItem.d.ts +25 -0
- package/dist/types/components/Menu/MenuGroup.d.ts +16 -0
- package/dist/types/components/Menu/MenuItem.d.ts +7 -1
- package/dist/types/components/Menu/MenuRadioGroup.d.ts +20 -0
- package/dist/types/components/Menu/MenuRadioItem.d.ts +22 -0
- package/dist/types/components/Menu/index.d.ts +9 -1
- package/dist/types/components/Menu/menu-item-styles.d.ts +28 -0
- package/dist/types/components/NavigationBar/NavLink.d.ts +1 -1
- package/dist/types/components/Pagination/Pagination.d.ts +17 -3
- package/dist/types/components/Resizable/Resizable.d.ts +24 -7
- package/dist/types/components/Resizable/index.d.ts +1 -1
- package/dist/types/components/Sidebar/Sidebar.d.ts +1 -1
- package/dist/types/components/Slider/Slider.d.ts +24 -2
- package/dist/types/components/Slider/SliderCore.d.ts +41 -3
- package/dist/types/components/Sparkline/Sparkline.d.ts +31 -0
- package/dist/types/components/Sparkline/index.d.ts +3 -0
- package/dist/types/components/Sparkline/sparkline-styles.d.ts +26 -0
- package/dist/types/components/StatusBar/StatusBar.d.ts +18 -0
- package/dist/types/components/StatusBar/index.d.ts +3 -0
- package/dist/types/components/StreamingText/StreamingText.d.ts +8 -1
- package/dist/types/components/TabBar/TabBar.d.ts +23 -0
- package/dist/types/components/TabBar/index.d.ts +4 -0
- package/dist/types/components/Tabs/SortableTabList.d.ts +46 -0
- package/dist/types/components/Tabs/Tab.d.ts +54 -3
- package/dist/types/components/Tabs/TabList.d.ts +26 -2
- package/dist/types/components/Tabs/edge-scroll.d.ts +17 -0
- package/dist/types/components/Tabs/index.d.ts +3 -1
- package/dist/types/components/Tabs/tab-metas.d.ts +20 -0
- package/dist/types/components/TimePicker/TimePicker.d.ts +36 -4
- package/dist/types/components/TimePicker/TimePickerPanel.d.ts +26 -0
- package/dist/types/components/TimePicker/index.d.ts +1 -0
- package/dist/types/components/TimePicker/time-picker-styles.d.ts +30 -0
- package/dist/types/components/TimePicker/time.d.ts +49 -0
- package/dist/types/components/Toast/Toast.d.ts +19 -6
- package/dist/types/components/Toast/ToastContainer.d.ts +1 -1
- package/dist/types/components/Toast/ToastContext.d.ts +22 -2
- package/dist/types/components/Toast/index.d.ts +2 -2
- package/dist/types/components/Toast/{toast.d.ts → toast-channel.d.ts} +20 -14
- package/dist/types/components/Toast/useToast.d.ts +14 -4
- package/dist/types/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/types/components/Tree/SortableTree.d.ts +38 -0
- package/dist/types/components/Tree/Tree.d.ts +1 -1
- package/dist/types/components/Tree/index.d.ts +2 -0
- package/dist/types/components/Tree/sortable-tree-styles.d.ts +36 -0
- package/dist/types/components/Tree/sortable-tree-utils.d.ts +40 -0
- package/dist/types/components/Upload/Upload.d.ts +17 -10
- package/dist/types/components/Upload/UploadCore.d.ts +26 -12
- package/dist/types/components/Upload/UploadList.d.ts +10 -7
- package/dist/types/components/Upload/index.d.ts +1 -1
- package/dist/types/components/Upload/types.d.ts +33 -7
- package/dist/types/components/VirtualList/VirtualList.d.ts +98 -26
- package/dist/types/components/VirtualList/index.d.ts +1 -1
- package/dist/types/components/Workbench/Workbench.d.ts +50 -0
- package/dist/types/components/Workbench/index.d.ts +2 -0
- package/dist/types/dates/adapter.d.ts +101 -0
- package/dist/types/dates/buddhist.d.ts +14 -0
- package/dist/types/dates/ethiopic.d.ts +15 -0
- package/dist/types/dates/gregory.d.ts +10 -0
- package/dist/types/dates/hebrew.d.ts +19 -0
- package/dist/types/dates/index.d.ts +11 -0
- package/dist/types/dates/islamic.d.ts +17 -0
- package/dist/types/dates/japanese.d.ts +16 -0
- package/dist/types/dates/persian.d.ts +18 -0
- package/dist/types/dates/registry.d.ts +13 -0
- package/dist/types/dates/timezone.d.ts +36 -0
- package/dist/types/form/FormItem.d.ts +31 -1
- package/dist/types/form/form-item-styles.d.ts +24 -0
- package/dist/types/index.d.ts +31 -13
- package/dist/types/tokens/index.d.ts +4 -2
- package/dist/types/tokens/motion.d.ts +16 -0
- package/dist/types/tokens/palette.d.ts +59 -2
- package/dist/types/utils/menuItems.d.ts +126 -0
- package/dist/types/utils/menuRadio.d.ts +21 -0
- package/dist/types/utils/sortable.d.ts +8 -1
- package/dist/types/utils/use-end-reached.d.ts +56 -0
- package/dist/types/utils/viewport.d.ts +12 -0
- package/dist/utils/floating.js +45 -44
- package/dist/utils/menuItems.js +55 -0
- package/dist/utils/menuKeyboard.js +31 -31
- package/dist/utils/menuRadio.js +28 -0
- package/dist/utils/sortable.js +7 -5
- package/dist/utils/use-end-reached.js +46 -0
- package/dist/utils/viewport.js +20 -0
- package/package.json +26 -9
|
@@ -59,6 +59,15 @@ export declare function getLeadingDays(year: number, month: number, weekStart: n
|
|
|
59
59
|
* added. The result length is always a multiple of 7.
|
|
60
60
|
*/
|
|
61
61
|
export declare function buildMonthCells(year: number, month: number, weekStart: number): CalendarCell[];
|
|
62
|
+
/** ISO 8601 week identity of a civil date: the week number together with
|
|
63
|
+
* the ISO week-numbering **year** it belongs to. Days at the calendar
|
|
64
|
+
* year's edges borrow the neighbor year's numbering, so `year` here is
|
|
65
|
+
* not necessarily the civil date's own year (2025-12-31 is week 1 of
|
|
66
|
+
* 2026; 2027-01-01 is week 53 of 2026). */
|
|
67
|
+
export type ISOWeek = {
|
|
68
|
+
year: number;
|
|
69
|
+
week: number;
|
|
70
|
+
};
|
|
62
71
|
/**
|
|
63
72
|
* ISO 8601 week number of a civil date. ISO weeks run Monday–Sunday and
|
|
64
73
|
* week 1 is the week containing the year's first Thursday, so days at the
|
|
@@ -71,6 +80,30 @@ export declare function buildMonthCells(year: number, month: number, weekStart:
|
|
|
71
80
|
* spans from that ISO year's January 1.
|
|
72
81
|
*/
|
|
73
82
|
export declare function getISOWeekNumber(year: number, month: number, day: number): number;
|
|
83
|
+
/**
|
|
84
|
+
* Full ISO 8601 week identity of a civil date (`{@link getISOWeekNumber}`
|
|
85
|
+
* plus the ISO week-numbering year the week belongs to). Same Thursday
|
|
86
|
+
* anchoring: the Thursday of a date's Monday–Sunday week carries the ISO
|
|
87
|
+
* year, which is what `"YYYY-Www"` values (see
|
|
88
|
+
* {@link formatWeekValue}) number weeks against.
|
|
89
|
+
*/
|
|
90
|
+
export declare function getISOWeek(year: number, month: number, day: number): ISOWeek;
|
|
91
|
+
/**
|
|
92
|
+
* Monday of an ISO week as a civil date — the anchor
|
|
93
|
+
* `picker="week"` derives its month view and row highlight from. January
|
|
94
|
+
* 4 always sits in week 1 (the first-Thursday rule), so Monday of week 1
|
|
95
|
+
* is `Jan 4 − (Jan 4's ISO weekday − 1)`; every later week adds whole
|
|
96
|
+
* seven-day spans. All arithmetic rides UTC milliseconds (whole days, no
|
|
97
|
+
* DST drift); the result is read back as a civil triple. Weeks beyond the
|
|
98
|
+
* year's last (52 or 53 per the ISO calendar) resolve into the neighbor
|
|
99
|
+
* year — callers validate with a `getISOWeek` round-trip (see
|
|
100
|
+
* {@link parseWeekValue}).
|
|
101
|
+
*/
|
|
102
|
+
export declare function getISOWeekStartDate(isoYear: number, week: number): {
|
|
103
|
+
year: number;
|
|
104
|
+
month: number;
|
|
105
|
+
day: number;
|
|
106
|
+
};
|
|
74
107
|
/**
|
|
75
108
|
* Format a civil date as the `"YYYY-MM-DD"` string Calendar uses as its
|
|
76
109
|
* value. Value semantics: the string denotes the **local** civil date — it
|
|
@@ -119,6 +152,24 @@ export declare function formatYearValue(year: number): string;
|
|
|
119
152
|
export declare function parseYearValue(value: string): {
|
|
120
153
|
year: number;
|
|
121
154
|
} | null;
|
|
155
|
+
/**
|
|
156
|
+
* Format an ISO week as the `"YYYY-Www"` string Calendar's
|
|
157
|
+
* `picker="week"` mode uses as its value (`isoYear` is the ISO
|
|
158
|
+
* week-numbering year — not necessarily the civil year of every day in
|
|
159
|
+
* the week — and `week` is 1-based, zero-padded: 2026 week 37 →
|
|
160
|
+
* `"2026-W37"`). Pure string math; no Date construction.
|
|
161
|
+
*/
|
|
162
|
+
export declare function formatWeekValue(isoYear: number, week: number): string;
|
|
163
|
+
/**
|
|
164
|
+
* Parse a `"YYYY-Www"` week-picker value (`{@link formatWeekValue}`'s
|
|
165
|
+
* inverse). Accepts weeks `01`…`53` shape-wise, then rejects the ones
|
|
166
|
+
* that do not exist in the given ISO year via a round-trip: 2025 is a
|
|
167
|
+
* 52-week year, so `"2025-W53"` resolves to a Monday that belongs to
|
|
168
|
+
* 2026 week 1 and is rejected. Anything with another shape
|
|
169
|
+
* (`"2026-W1"`, `"2026-w05"`, a date/month/quarter serialization) is
|
|
170
|
+
* rejected outright.
|
|
171
|
+
*/
|
|
172
|
+
export declare function parseWeekValue(value: string): ISOWeek | null;
|
|
122
173
|
/**
|
|
123
174
|
* Parse a `"YYYY-MM-DD"` value string into a local-midnight Date — the
|
|
124
175
|
* inverse of {@link formatDate} and the only safe way to turn a value into
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default as Calendar } from './Calendar';
|
|
2
|
-
export type { CalendarProps, CalendarPickerMode } from './Calendar';
|
|
2
|
+
export type { CalendarProps, CalendarPickerMode, CalendarCellRender } from './Calendar';
|
|
@@ -4,8 +4,12 @@ type CarouselProps = {
|
|
|
4
4
|
value?: ControlOrValue<number>;
|
|
5
5
|
autoPlay?: boolean;
|
|
6
6
|
interval?: number;
|
|
7
|
+
/** 切换动画形态:slide(默认,scroll-snap 轨道)/ fade(堆叠淡入淡出)。 */
|
|
8
|
+
effect?: 'slide' | 'fade';
|
|
9
|
+
/** 悬停或焦点在轮播内时暂停 autoPlay,离开后按剩余时间恢复(WCAG 2.2.1)。 */
|
|
10
|
+
pauseOnHover?: boolean;
|
|
7
11
|
className?: string;
|
|
8
12
|
children: ReactNode;
|
|
9
13
|
};
|
|
10
|
-
export default function Carousel({ value: valueControl, autoPlay, interval, className, children, }: CarouselProps): import("react").JSX.Element;
|
|
14
|
+
export default function Carousel({ value: valueControl, autoPlay, interval, effect, pauseOnHover, className, children, }: CarouselProps): import("react").JSX.Element;
|
|
11
15
|
export type { CarouselProps };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
1
|
+
import type { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
2
|
type CarouselSlideProps = {
|
|
3
3
|
className?: string;
|
|
4
4
|
children: ReactNode;
|
|
5
|
-
}
|
|
6
|
-
export default function CarouselSlide({ className, children }: CarouselSlideProps): import("react").JSX.Element;
|
|
5
|
+
} & Omit<ComponentPropsWithoutRef<'div'>, 'className' | 'children'>;
|
|
6
|
+
export default function CarouselSlide({ className, children, ...rest }: CarouselSlideProps): import("react").JSX.Element;
|
|
7
7
|
export type { CarouselSlideProps };
|
|
@@ -4,14 +4,19 @@ type ChartProps<T> = {
|
|
|
4
4
|
/** Which recharts chart family to render. `pie` maps each datum to one
|
|
5
5
|
* sector named by `xKey` and valued by each series `key`; `radar` maps
|
|
6
6
|
* each datum to one spoke named by `xKey`; `scatter` plots the numeric
|
|
7
|
-
* `xKey` column against each series `key`.
|
|
7
|
+
* `xKey` column against each series `key`. In the cartesian families
|
|
8
|
+
* the chart `type` picks the container and the default series shape —
|
|
9
|
+
* override the shape per series via `ChartSeries.type`. */
|
|
8
10
|
type: ChartType;
|
|
9
11
|
/** One datum per point (pie: per sector; radar: per spoke); series
|
|
10
12
|
* values are read by `ChartSeries.key`. */
|
|
11
13
|
data: T[];
|
|
12
14
|
/** The series to plot — colors cycle through the semantic status tokens
|
|
13
15
|
* when `color` is omitted. With `type='pie'` each series is one
|
|
14
|
-
* concentric ring.
|
|
16
|
+
* concentric ring. In cartesian charts (line/area/bar) a per-series
|
|
17
|
+
* `type` overrides that series' shape for composed charts (bars under a
|
|
18
|
+
* line, a line over areas), and series sharing a `stackId` stack
|
|
19
|
+
* (Area/Bar shapes). Both are ignored by pie/radar/scatter. */
|
|
15
20
|
series: ChartSeries[];
|
|
16
21
|
/** Datum field driving the X axis — the cartesian categories, the pie
|
|
17
22
|
* sector names, the radar spoke names, or the numeric scatter X
|
|
@@ -39,9 +44,11 @@ type ChartProps<T> = {
|
|
|
39
44
|
} & Omit<ComponentPropsWithoutRef<'div'>, 'children'>;
|
|
40
45
|
/** Token-driven chart over recharts: line, area, bar, pie, radar or
|
|
41
46
|
* scatter series rendered with haze semantic colors, axis/grid/tooltip/legend chrome
|
|
42
|
-
* toggles, and the default-omittable `series`/`xKey` mapping.
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
47
|
+
* toggles, and the default-omittable `series`/`xKey` mapping. Cartesian
|
|
48
|
+
* charts double as composed charts — a per-series `type` mixes line/area/bar
|
|
49
|
+
* shapes inside one chart, and `stackId` stacks the Area/Bar series sharing
|
|
50
|
+
* an id. recharts is a haze-ui dependency — this module's helpers import it
|
|
51
|
+
* statically, so under preserveModules only bundles that actually render
|
|
52
|
+
* Chart include the dependency. */
|
|
46
53
|
export default function Chart<T>({ type, data, series, xKey, height, innerRadius, layout, renderTooltip, showLegend, showGrid, showTooltip, className, style, ...rest }: ChartProps<T>): import("react").JSX.Element;
|
|
47
54
|
export type { ChartProps, ChartSeries, ChartTooltipEntry, ChartTooltipPayload, ChartType, };
|
|
@@ -6,6 +6,16 @@ export type ChartSeries = {
|
|
|
6
6
|
key: string;
|
|
7
7
|
label?: string;
|
|
8
8
|
color?: string;
|
|
9
|
+
/** Cartesian containers only (line/area/bar charts): overrides the
|
|
10
|
+
* element shape for this one series — bars under a line chart, a line
|
|
11
|
+
* over an area chart (composed charts). Ignored by pie/radar/scatter,
|
|
12
|
+
* which have a single series shape each. */
|
|
13
|
+
type?: CartesianChartType;
|
|
14
|
+
/** Cartesian containers only: series sharing a `stackId` stack onto the
|
|
15
|
+
* same baseline (Area and Bar shapes). Line ignores it — compose with a
|
|
16
|
+
* per-series `type: 'area'` when stacked lines are the goal. Ignored by
|
|
17
|
+
* pie/radar/scatter. */
|
|
18
|
+
stackId?: string;
|
|
9
19
|
};
|
|
10
20
|
/** A series after Chart's label default is applied — what reaches
|
|
11
21
|
* recharts. `color` is only present when the consumer set it; the plot
|
|
@@ -15,6 +25,11 @@ export type ResolvedChartSeries = {
|
|
|
15
25
|
key: string;
|
|
16
26
|
label: string;
|
|
17
27
|
color?: string;
|
|
28
|
+
/** Per-series cartesian shape override; `undefined` follows the chart
|
|
29
|
+
* type (see `ChartSeries.type`). */
|
|
30
|
+
type?: CartesianChartType;
|
|
31
|
+
/** Stacking group: Area/Bar series sharing the id stack. */
|
|
32
|
+
stackId?: string;
|
|
18
33
|
};
|
|
19
34
|
/** Cartesian chart shapes; each maps onto a recharts chart container and
|
|
20
35
|
* its matching series element (see `chartElement` / `seriesElement`). */
|
|
@@ -59,13 +74,19 @@ export declare const LEGEND_STYLE: {
|
|
|
59
74
|
};
|
|
60
75
|
/** Applies the per-series default: `label` falls back to `key`. An
|
|
61
76
|
* explicit `color` passes through untouched — the plot elements cycle
|
|
62
|
-
* `SERIES_COLOR_CYCLE` when it is omitted.
|
|
77
|
+
* `SERIES_COLOR_CYCLE` when it is omitted. `type` and `stackId` pass
|
|
78
|
+
* through untouched for the cartesian branch of `chartTree`. */
|
|
63
79
|
export declare function resolveChartSeries(series: readonly ChartSeries[]): ResolvedChartSeries[];
|
|
64
|
-
/** The recharts series element for one resolved entry
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
80
|
+
/** The recharts series element for one resolved entry — `type` is the
|
|
81
|
+
* series' own override when set (composed charts), else the chart type.
|
|
82
|
+
* Line and Area carry the token color as `stroke` (Area also fills with
|
|
83
|
+
* it — recharts applies its default 0.6 fill opacity), Bar carries it as
|
|
84
|
+
* `fill`. Radar strokes and fills its polygon — translucent, so
|
|
85
|
+
* overlapping polygons stay readable — and Scatter fills its points.
|
|
86
|
+
* `stackId` is forwarded to Area and Bar: recharts stacks every series
|
|
87
|
+
* sharing an id onto the same baseline. Line ignores it — a stacked line
|
|
88
|
+
* chart is just a harder-to-read stacked area, so Area/Bar are the
|
|
89
|
+
* stacking shapes. */
|
|
69
90
|
export declare function seriesElement(type: SeriesChartType, entry: ResolvedChartSeries, index?: number): ReactElement;
|
|
70
91
|
/** Radial band for pie ring `index` of `ringCount`: a single ring spans
|
|
71
92
|
* [innerRadius, 80%]; multiple rings band the radial space evenly with
|
|
@@ -6,6 +6,15 @@ type ChatMessageProps = {
|
|
|
6
6
|
name?: ReactNode;
|
|
7
7
|
timestamp?: ReactNode;
|
|
8
8
|
status?: 'sending' | 'sent' | 'error';
|
|
9
|
+
/**
|
|
10
|
+
* Marks an assistant message as mid-generation: the bubble carries
|
|
11
|
+
* aria-busy and a visually hidden status live region announces what
|
|
12
|
+
* is already on screen — a "Generating" cue, a throttled snapshot
|
|
13
|
+
* while the text grows, and the complete message once it ends. Leave
|
|
14
|
+
* it false when the children announce themselves (StreamingText has
|
|
15
|
+
* this built in): two live regions would say everything twice.
|
|
16
|
+
*/
|
|
17
|
+
streaming?: boolean;
|
|
9
18
|
/**
|
|
10
19
|
* Opt in to the built-in copy action: a button in the hover/focus
|
|
11
20
|
* reveal bar that copies the message's text content (the bubble's
|
|
@@ -21,5 +30,5 @@ type ChatMessageProps = {
|
|
|
21
30
|
children: ReactNode;
|
|
22
31
|
className?: string;
|
|
23
32
|
};
|
|
24
|
-
export default function ChatMessage({ role, avatar, name, timestamp, status, copyable, actions, children, className, }: ChatMessageProps): import("react").JSX.Element;
|
|
33
|
+
export default function ChatMessage({ role, avatar, name, timestamp, status, streaming, copyable, actions, children, className, }: ChatMessageProps): import("react").JSX.Element;
|
|
25
34
|
export type { ChatMessageProps, ChatMessageRole };
|
|
@@ -1,15 +1,54 @@
|
|
|
1
1
|
import type { Ref } from 'react';
|
|
2
2
|
import type { ControlOrValue } from 'react-use-control';
|
|
3
|
+
import type { ColorFormat } from './color-math';
|
|
3
4
|
type ColorPickerProps = {
|
|
5
|
+
/** Color value in any supported format (hex / rgb / hsl). */
|
|
4
6
|
value?: ControlOrValue<string>;
|
|
5
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Value callback: streams continuously while a drag runs (Slider
|
|
9
|
+
* precedent), serialized in `format`.
|
|
10
|
+
*/
|
|
6
11
|
onChange?: (color: string) => void;
|
|
12
|
+
/** Floating panel visibility (floating mode only; controllable). */
|
|
13
|
+
open?: ControlOrValue<boolean>;
|
|
14
|
+
/**
|
|
15
|
+
* Always-visible panel instead of the trigger + floating panel pair.
|
|
16
|
+
* The Core-level primitive (`ColorPickerCore`) remains the native
|
|
17
|
+
* inline form for headless composition.
|
|
18
|
+
*/
|
|
19
|
+
inline?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Serialization format of the text field and emitted values
|
|
22
|
+
* (`#rrggbb`, `rgb(r, g, b)`, `hsl(h, s%, l%)`). A controlled display
|
|
23
|
+
* concern — switching it does not re-emit the current value.
|
|
24
|
+
*/
|
|
25
|
+
format?: ColorFormat;
|
|
26
|
+
/**
|
|
27
|
+
* Adds the alpha rail. Values below full opacity serialize with the
|
|
28
|
+
* alpha channel (`#rrggbbaa`, `rgba()`, `hsla()`); full opacity keeps
|
|
29
|
+
* the opaque form.
|
|
30
|
+
*/
|
|
31
|
+
allowAlpha?: boolean;
|
|
32
|
+
/** Swatch row pinned above the recent row; any parsable format. */
|
|
33
|
+
presets?: string[];
|
|
34
|
+
/**
|
|
35
|
+
* Tracks recently used colors (last 10, newest first) as internal
|
|
36
|
+
* state: every committed pick — drag release, swatch click, arrow
|
|
37
|
+
* key, text commit — moves its color to the front, deduplicated.
|
|
38
|
+
*/
|
|
39
|
+
recent?: boolean;
|
|
7
40
|
className?: string;
|
|
8
41
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
42
|
+
* Accessible name of the trigger (floating mode) and the panel;
|
|
43
|
+
* defaults to the locale's "Pick color". Set it whenever more than
|
|
44
|
+
* one picker is on a page.
|
|
45
|
+
*/
|
|
46
|
+
'aria-label'?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Floating mode: the trigger swatch button. Inline mode: the panel
|
|
49
|
+
* card div — the elements `ref.current.focus()` reaches.
|
|
11
50
|
*/
|
|
12
|
-
ref?: Ref<
|
|
51
|
+
ref?: Ref<HTMLButtonElement | HTMLDivElement>;
|
|
13
52
|
};
|
|
14
|
-
export default function ColorPicker({ value: valueControl, presets,
|
|
53
|
+
export default function ColorPicker({ value: valueControl, onChange, open: openControl, inline, format, allowAlpha, presets, recent, className, 'aria-label': ariaLabel, ref, }: ColorPickerProps): import("react").JSX.Element;
|
|
15
54
|
export type { ColorPickerProps };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ColorFormat } from './color-math';
|
|
2
|
+
type ColorPickerPanelProps = {
|
|
3
|
+
/** Current color in any supported format; unparsable values fall back to black. */
|
|
4
|
+
value: string;
|
|
5
|
+
/**
|
|
6
|
+
* Continuous value callback — fires for every drag move (Slider
|
|
7
|
+
* precedent: values stream while the gesture runs), always serialized
|
|
8
|
+
* in `format`.
|
|
9
|
+
*/
|
|
10
|
+
onChange: (value: string) => void;
|
|
11
|
+
/**
|
|
12
|
+
* "The user settled on this color": gesture release, discrete pick
|
|
13
|
+
* (preset/recent swatch, arrow keys) or committed text. The
|
|
14
|
+
* recent-colors bookkeeping in the sugar layer rides on this.
|
|
15
|
+
*/
|
|
16
|
+
onCommit?: (value: string) => void;
|
|
17
|
+
/** Serialization format of the text field and every emitted value. */
|
|
18
|
+
format?: ColorFormat;
|
|
19
|
+
/** Adds the alpha rail; alpha serializes into the value when below 1. */
|
|
20
|
+
allowAlpha?: boolean;
|
|
21
|
+
/** Swatch row pinned above the recent row; any parsable format. */
|
|
22
|
+
presets?: string[];
|
|
23
|
+
/** Recent-color swatches to render (owned by the sugar layer). */
|
|
24
|
+
recentColors?: string[];
|
|
25
|
+
className?: string;
|
|
26
|
+
};
|
|
27
|
+
export default function ColorPickerPanel({ value, onChange, onCommit, format, allowAlpha, presets, recentColors, className, }: ColorPickerPanelProps): import("react").JSX.Element;
|
|
28
|
+
export type { ColorPickerPanelProps };
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure color math for the ColorPicker family: tolerant parsing of CSS
|
|
3
|
+
* color strings (hex / rgb / hsl), serialization per format, and the
|
|
4
|
+
* HSV <-> RGB <-> HSL conversions the saturation/value panel runs on.
|
|
5
|
+
*
|
|
6
|
+
* Deliberately independent of `../../tokens/oklch`: that module routes
|
|
7
|
+
* through OKLab floats (its `parseHex` returns OKLCH), which would make
|
|
8
|
+
* a hex -> hsv -> hex round trip quantization-lossy. Here hex channels
|
|
9
|
+
* stay exact 8-bit integers and every conversion is the classic
|
|
10
|
+
* rational form, so a value round-trips byte-identically.
|
|
11
|
+
*/
|
|
12
|
+
export type ColorFormat = 'hex' | 'rgb' | 'hsl';
|
|
13
|
+
/** 8-bit sRGB channels (`r`/`g`/`b` are integers 0..255) plus a normalized alpha (0..1, optional). */
|
|
14
|
+
export type Rgb = {
|
|
15
|
+
r: number;
|
|
16
|
+
g: number;
|
|
17
|
+
b: number;
|
|
18
|
+
a?: number;
|
|
19
|
+
};
|
|
20
|
+
/** Hue in degrees (0..360), saturation and value as 0..1 fractions. */
|
|
21
|
+
export type Hsv = {
|
|
22
|
+
h: number;
|
|
23
|
+
s: number;
|
|
24
|
+
v: number;
|
|
25
|
+
a?: number;
|
|
26
|
+
};
|
|
27
|
+
/** Hue in degrees (0..360), saturation and lightness as 0..1 fractions. */
|
|
28
|
+
export type Hsl = {
|
|
29
|
+
h: number;
|
|
30
|
+
s: number;
|
|
31
|
+
l: number;
|
|
32
|
+
a?: number;
|
|
33
|
+
};
|
|
34
|
+
export type ParsedColor = {
|
|
35
|
+
format: ColorFormat;
|
|
36
|
+
rgb: Rgb;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Parse a CSS color string — `#rgb`, `#rgba`, `#rrggbb`, `#rrggbbaa`,
|
|
40
|
+
* `rgb()/rgba()` and `hsl()/hsla()` with comma or modern slash syntax,
|
|
41
|
+
* percentage channels and percentage alphas. Returns the source format
|
|
42
|
+
* plus normalized RGBA, or `null` when nothing matches (invalid input
|
|
43
|
+
* stays a no-op for the component).
|
|
44
|
+
*/
|
|
45
|
+
export declare function parseColor(input: string): ParsedColor | null;
|
|
46
|
+
/**
|
|
47
|
+
* Serialize RGBA in a format. The alpha channel is appended only when
|
|
48
|
+
* `withAlpha` is set and it is below 1 — full opacity serializes as the
|
|
49
|
+
* opaque form (`#rrggbb` / `rgb()` / `hsl()`), matching CSS equivalence.
|
|
50
|
+
*/
|
|
51
|
+
export declare function formatColor(rgb: Rgb, format: ColorFormat, withAlpha: boolean): string;
|
|
52
|
+
/** A paintable CSS color: always `rgba()` so transparency survives. */
|
|
53
|
+
export declare function cssColor(rgb: Rgb): string;
|
|
54
|
+
/**
|
|
55
|
+
* Canonical equality key: lowercase 8-digit hex. Two values in any mix
|
|
56
|
+
* of formats compare equal iff their RGBA rounds equal — the preset
|
|
57
|
+
* active state and the recent-colors dedupe both ride on this.
|
|
58
|
+
*/
|
|
59
|
+
export declare function rgbHexKey(rgb: Rgb): string;
|
|
60
|
+
export declare function rgbToHsv({ r, g, b }: Rgb): Hsv;
|
|
61
|
+
export declare function hsvToRgb({ h, s, v }: Hsv): Rgb;
|
|
62
|
+
export declare function rgbToHsl({ r, g, b }: Rgb): Hsl;
|
|
63
|
+
export declare function hslToRgb({ h, s, l }: Hsl): Rgb;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Card skin for the panel — the same visual recipe as Popover's panel,
|
|
3
|
+
* at the AntD-aligned 240px picker width (a component dimension, like
|
|
4
|
+
* Popover's `min-width: 200px`, not a themeable value).
|
|
5
|
+
*/
|
|
6
|
+
export declare const panelVisuals: import("@linaria/core").LinariaClassName;
|
|
7
|
+
/** Content column inside the card (also the inline-mode root). */
|
|
8
|
+
export declare const panelContent: import("@linaria/core").LinariaClassName;
|
|
9
|
+
/**
|
|
10
|
+
* Saturation/value surface: a dynamic two-layer gradient painted through
|
|
11
|
+
* inline style (hue base + white/black overlays); this class carries the
|
|
12
|
+
* interaction chrome. Pointer-dragged (`touch-action: none` keeps
|
|
13
|
+
* touch drags from scrolling the page).
|
|
14
|
+
*/
|
|
15
|
+
export declare const svArea: import("@linaria/core").LinariaClassName;
|
|
16
|
+
/**
|
|
17
|
+
* Thumb ring over the SV surface. The white border + dark halo is a
|
|
18
|
+
* functional exception to the token rule — the thumb must read over
|
|
19
|
+
* EVERY color, bright or dark, in both themes (same class of exception
|
|
20
|
+
* as the hue spectrum below).
|
|
21
|
+
*/
|
|
22
|
+
export declare const svThumb: import("@linaria/core").LinariaClassName;
|
|
23
|
+
/** Shared shape of the hue/alpha rails. */
|
|
24
|
+
export declare const track: import("@linaria/core").LinariaClassName;
|
|
25
|
+
/**
|
|
26
|
+
* The full hue spectrum. Functional color values by definition (the
|
|
27
|
+
* component's subject matter, like a preset swatch), not theme
|
|
28
|
+
* decoration — no token exists for "red through violet".
|
|
29
|
+
*/
|
|
30
|
+
export declare const hueTrack: import("@linaria/core").LinariaClassName;
|
|
31
|
+
/** Transparency underlay: theme-neutral checkerboard from tokens. */
|
|
32
|
+
export declare const checkerboard: import("@linaria/core").LinariaClassName;
|
|
33
|
+
/** The dynamic transparent→opaque color layer of the alpha rail. */
|
|
34
|
+
export declare const trackFill: import("@linaria/core").LinariaClassName;
|
|
35
|
+
/** Thumb on the hue/alpha rails (svThumb's ring recipe, rail-sized). */
|
|
36
|
+
export declare const trackThumb: import("@linaria/core").LinariaClassName;
|
|
37
|
+
/** Format-aware color code input (Core's text input recipe). */
|
|
38
|
+
export declare const valueInput: import("@linaria/core").LinariaClassName;
|
|
39
|
+
/** Heading over a swatch row (presets / recent colors). */
|
|
40
|
+
export declare const groupLabel: import("@linaria/core").LinariaClassName;
|
|
41
|
+
export declare const swatchRow: import("@linaria/core").LinariaClassName;
|
|
42
|
+
/**
|
|
43
|
+
* One swatch: a checkerboard base (so translucent fills read) with the
|
|
44
|
+
* paint on an inset child layer.
|
|
45
|
+
*/
|
|
46
|
+
export declare const swatchBtn: import("@linaria/core").LinariaClassName;
|
|
47
|
+
export declare const swatchFill: import("@linaria/core").LinariaClassName;
|
|
48
|
+
export declare const swatchActive: import("@linaria/core").LinariaClassName;
|
|
49
|
+
/** The floating-mode trigger: a color swatch button. */
|
|
50
|
+
export declare const trigger: import("@linaria/core").LinariaClassName;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { ToastPlacement } from '../Toast/ToastContainer';
|
|
2
|
+
/**
|
|
3
|
+
* Component default overrides, keyed by the exported component name —
|
|
4
|
+
* a simplified AntD-v6 `ConfigProvider` channel scoped to prop defaults
|
|
5
|
+
* (theming stays on the token classes, i18n on `LocaleProvider`).
|
|
6
|
+
*
|
|
7
|
+
* Each section names the defaults of one component; an explicit prop on
|
|
8
|
+
* the component itself always beats anything set here, and a missing
|
|
9
|
+
* provider leaves every component on its built-in defaults.
|
|
10
|
+
*/
|
|
11
|
+
type HazeConfig = {
|
|
12
|
+
/** `Button` prop defaults. */
|
|
13
|
+
Button?: {
|
|
14
|
+
/** Default `size` when the prop is omitted (built-in `'md'`). */
|
|
15
|
+
size?: 'sm' | 'md' | 'lg';
|
|
16
|
+
};
|
|
17
|
+
/** `ButtonLink` prop defaults — the anchor wearing Button's skin. */
|
|
18
|
+
ButtonLink?: {
|
|
19
|
+
/** Default `size` when the prop is omitted (built-in `'md'`). */
|
|
20
|
+
size?: 'sm' | 'md' | 'lg';
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Toast defaults. `duration` covers toasts fired through `useToast()`;
|
|
24
|
+
* the module-level `toast()` runs outside any React tree and keeps its
|
|
25
|
+
* own 3000ms default regardless of config. `loading()` toasts keep
|
|
26
|
+
* their persistent (0ms) semantics — config never re-arms them.
|
|
27
|
+
*/
|
|
28
|
+
Toast?: {
|
|
29
|
+
/** Auto-dismiss budget in ms when a call omits `duration` (3000). */
|
|
30
|
+
duration?: number;
|
|
31
|
+
/** Viewport edge the stack is pinned to (`'bottom-right'`). */
|
|
32
|
+
placement?: ToastPlacement;
|
|
33
|
+
/** Max simultaneous toasts; oldest dropped on overflow (unbounded). */
|
|
34
|
+
maxCount?: number;
|
|
35
|
+
};
|
|
36
|
+
/** `Tooltip` prop defaults. */
|
|
37
|
+
Tooltip?: {
|
|
38
|
+
/** Hover/focus delay in ms before the tooltip appears (150). */
|
|
39
|
+
delay?: number;
|
|
40
|
+
};
|
|
41
|
+
/** `HoverCard` prop defaults. */
|
|
42
|
+
HoverCard?: {
|
|
43
|
+
/** Hover/focus dwell in ms before the card opens (200). */
|
|
44
|
+
openDelay?: number;
|
|
45
|
+
/**
|
|
46
|
+
* Grace period in ms after the pointer leaves before the card
|
|
47
|
+
* closes — the travel window into the panel (120).
|
|
48
|
+
*/
|
|
49
|
+
closeDelay?: number;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* The fully merged config visible below a `ConfigProvider`. The
|
|
54
|
+
* provider resolves nesting itself (inner sections shallow-merge over
|
|
55
|
+
* outer ones), so the context always carries one flat value — consumers
|
|
56
|
+
* never walk a chain.
|
|
57
|
+
*/
|
|
58
|
+
declare const ConfigContext: import("react").Context<HazeConfig | undefined>;
|
|
59
|
+
/**
|
|
60
|
+
* Per-section shallow merge for nested providers: keys the inner
|
|
61
|
+
* provider names win, keys it leaves unset keep the outer value, and
|
|
62
|
+
* sections present on only one side pass through untouched. Pure — no
|
|
63
|
+
* DOM access, SSR-safe.
|
|
64
|
+
*/
|
|
65
|
+
declare function mergeConfig(outer: HazeConfig | undefined, inner: HazeConfig | undefined): HazeConfig;
|
|
66
|
+
export { ConfigContext, mergeConfig };
|
|
67
|
+
export type { HazeConfig };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { HazeConfig } from './ConfigContext';
|
|
3
|
+
type ConfigProviderProps = {
|
|
4
|
+
/**
|
|
5
|
+
* Component defaults, keyed by exported component name (see
|
|
6
|
+
* `HazeConfig`). Nested providers layer: the inner provider's keys win
|
|
7
|
+
* per component section (shallow merge), keys it leaves unset keep the
|
|
8
|
+
* outer value. Explicit props on a component always beat config values.
|
|
9
|
+
*/
|
|
10
|
+
defaults?: HazeConfig;
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Supplies library-wide component defaults to the subtree — the
|
|
15
|
+
* AntD-v6-ConfigProvider idea, scoped to defaults only. Theming stays on
|
|
16
|
+
* the token classes (`lightTheme` / brand themes) and copy on
|
|
17
|
+
* `LocaleProvider`; the two providers are independent contexts and may
|
|
18
|
+
* be mounted in either order, nested in one another, or used alone.
|
|
19
|
+
*
|
|
20
|
+
* Renders no DOM and touches no browser API — safe under SSR (string
|
|
21
|
+
* render and hydration alike). A client-boundary module (React context):
|
|
22
|
+
* the lib build stamps `'use client'` on it.
|
|
23
|
+
*/
|
|
24
|
+
export default function ConfigProvider({ defaults, children, }: ConfigProviderProps): import("react").JSX.Element;
|
|
25
|
+
export type { ConfigProviderProps };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { HazeConfig } from './ConfigContext';
|
|
2
|
+
/**
|
|
3
|
+
* Reads one component's resolved defaults from the enclosing
|
|
4
|
+
* `ConfigProvider` chain. Returns a frozen empty object when no provider
|
|
5
|
+
* is mounted; callers fall through to their built-in defaults, so wiring
|
|
6
|
+
* a component never changes its provider-less behavior.
|
|
7
|
+
*
|
|
8
|
+
* ## Wiring a new component (the internal pattern)
|
|
9
|
+
*
|
|
10
|
+
* 1. Declare a section in `HazeConfig` (`ConfigContext.ts`) named after
|
|
11
|
+
* the exported component:
|
|
12
|
+
*
|
|
13
|
+
* ```ts
|
|
14
|
+
* MyComponent?: { size?: 'sm' | 'md' | 'lg' };
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* 2. In the component, drop the destructuring default for each wired
|
|
18
|
+
* prop and resolve three tiers — explicit prop, config, built-in:
|
|
19
|
+
*
|
|
20
|
+
* ```ts
|
|
21
|
+
* const config = useConfigDefaults('MyComponent');
|
|
22
|
+
* const size = sizeProp ?? config.size ?? 'md';
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* The built-in stays last so a missing provider renders exactly what
|
|
26
|
+
* the component rendered before the wiring (byte-identical).
|
|
27
|
+
*/
|
|
28
|
+
export declare function useConfigDefaults<K extends keyof HazeConfig>(component: K): Readonly<NonNullable<HazeConfig[K]>>;
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
type ConversationListProps = {
|
|
3
3
|
children: ReactNode;
|
|
4
|
+
/**
|
|
5
|
+
* Infinite-scroll trigger on the list's scrollport: fired when the
|
|
6
|
+
* scroll position comes within 200px of the end. Entering the zone
|
|
7
|
+
* fires once; staying inside does not re-fire; scrolling back out
|
|
8
|
+
* re-arms, and growth of the rendered children re-arms too, so a
|
|
9
|
+
* still-short list chains straight into the next page. Typical use:
|
|
10
|
+
* append the next page of conversations. Ignored when not provided.
|
|
11
|
+
*/
|
|
12
|
+
onLoadMore?: () => void;
|
|
4
13
|
className?: string;
|
|
5
14
|
};
|
|
6
|
-
export default function ConversationList({ children, className }: ConversationListProps): import("react").JSX.Element;
|
|
15
|
+
export default function ConversationList({ children, onLoadMore, className }: ConversationListProps): import("react").JSX.Element;
|
|
7
16
|
export type { ConversationListProps };
|
|
@@ -1,26 +1,39 @@
|
|
|
1
1
|
import type { Ref } from 'react';
|
|
2
2
|
import type { ControlOrValue } from 'react-use-control';
|
|
3
|
-
import type { CalendarPickerMode } from '../Calendar/Calendar';
|
|
3
|
+
import type { CalendarCellRender, CalendarPickerMode } from '../Calendar/Calendar';
|
|
4
4
|
import type { DatepickerPreset } from './DatepickerCore';
|
|
5
5
|
type DatepickerProps = {
|
|
6
6
|
value?: ControlOrValue<string>;
|
|
7
7
|
open?: ControlOrValue<boolean>;
|
|
8
|
-
/** Calendar granularity — 'date' (default), '
|
|
9
|
-
* 'year'. `value` serializes per mode:
|
|
10
|
-
* "YYYY-Qn" or "YYYY". */
|
|
8
|
+
/** Calendar granularity — 'date' (default), an ISO week 'week',
|
|
9
|
+
* 'month', 'quarter' or 'year'. `value` serializes per mode:
|
|
10
|
+
* "YYYY-MM-DD", "YYYY-Www", "YYYY-MM", "YYYY-Qn" or "YYYY". */
|
|
11
11
|
picker?: CalendarPickerMode;
|
|
12
12
|
min?: string;
|
|
13
13
|
max?: string;
|
|
14
14
|
/** Disables individual dates on the calendar panel (see Calendar's
|
|
15
|
-
* `disabledDate`). */
|
|
15
|
+
* `disabledDate`) — day grid and header drill-down grids alike. */
|
|
16
16
|
disabledDate?: (date: Date) => boolean;
|
|
17
17
|
/** Shortcut rows at the top of the panel; clicking applies the
|
|
18
18
|
* preset's value and closes the panel. */
|
|
19
19
|
presets?: DatepickerPreset[];
|
|
20
|
-
/** Adds a time input (hour/minute
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
|
|
20
|
+
/** Adds a time input (hour/minute, or seconds with
|
|
21
|
+
* `{ seconds: true }`) below the calendar; `value` serializes as
|
|
22
|
+
* `"YYYY-MM-DD HH:mm"` / `"YYYY-MM-DD HH:mm:ss"` instead of
|
|
23
|
+
* `"YYYY-MM-DD"` (plain-date values stay accepted). Date granularity
|
|
24
|
+
* only. */
|
|
25
|
+
showTime?: boolean | {
|
|
26
|
+
seconds?: boolean;
|
|
27
|
+
};
|
|
28
|
+
/** Custom serialization for picks, replacing the built-in value
|
|
29
|
+
* format (see DatepickerCore's `format`). */
|
|
30
|
+
format?: (date: Date) => string;
|
|
31
|
+
/** Reads a custom-formatted value back into the calendar (see
|
|
32
|
+
* DatepickerCore's `parse`). */
|
|
33
|
+
parse?: (text: string) => Date | null;
|
|
34
|
+
/** Appends custom content inside the panel's picker cells (see
|
|
35
|
+
* Calendar's `cellRender`). */
|
|
36
|
+
cellRender?: CalendarCellRender;
|
|
24
37
|
locale?: string;
|
|
25
38
|
weekStartsOn?: 0 | 1;
|
|
26
39
|
placeholder?: string;
|
|
@@ -29,5 +42,5 @@ type DatepickerProps = {
|
|
|
29
42
|
* element form bridges and `ref.current.focus()` reach. */
|
|
30
43
|
ref?: Ref<HTMLInputElement>;
|
|
31
44
|
};
|
|
32
|
-
export default function Datepicker({ value: valueControl, open: openControl, picker, min, max, disabledDate, presets, showTime, locale, weekStartsOn, placeholder, className, ref, }: DatepickerProps): import("react").JSX.Element;
|
|
45
|
+
export default function Datepicker({ value: valueControl, open: openControl, picker, min, max, disabledDate, presets, showTime, format, parse, locale, weekStartsOn, cellRender, placeholder, className, ref, }: DatepickerProps): import("react").JSX.Element;
|
|
33
46
|
export type { DatepickerProps };
|