haze-ui 1.32.0 → 1.34.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/LICENSE +21 -0
- package/README.md +111 -1210
- package/dist/THIRD-PARTY-NOTICES.md +152 -0
- package/dist/coi-serviceworker.LICENSE +21 -0
- package/dist/coi-serviceworker.js +118 -0
- package/dist/components/Accordion/Accordion.js +40 -8
- package/dist/components/Accordion/AccordionContext.js +9 -0
- package/dist/components/Accordion/AccordionItem.js +30 -15
- package/dist/components/Accordion/index.js +3 -3
- package/dist/components/ActivityRail/ActivityRail.js +46 -37
- package/dist/components/Affix/Affix.js +0 -1
- package/dist/components/Affix/index.js +0 -1
- package/dist/components/Alert/Alert.js +17 -23
- package/dist/components/Alert/alert-styles.js +14 -0
- package/dist/components/Alert/index.js +3 -2
- package/dist/components/ApprovalCard/ApprovalCard.js +70 -43
- package/dist/components/Avatar/Avatar.js +5 -4
- package/dist/components/AvatarGroup/AvatarGroup.js +15 -18
- package/dist/components/AvatarGroup/index.js +0 -1
- package/dist/components/Badge/Badge.js +5 -4
- package/dist/components/Badge/badge-styles.js +2 -1
- package/dist/components/Badge/index.js +2 -2
- package/dist/components/Banner/Banner.js +17 -23
- package/dist/components/Banner/banner-styles.js +14 -0
- package/dist/components/Banner/index.js +3 -2
- package/dist/components/Breadcrumb/Breadcrumb.js +16 -17
- package/dist/components/Breadcrumb/BreadcrumbItem.js +7 -10
- package/dist/components/Breadcrumb/index.js +0 -1
- package/dist/components/Button/ButtonLink.js +11 -9
- package/dist/components/ButtonGroup/ButtonGroup.js +48 -0
- package/dist/components/ButtonGroup/ButtonGroupContext.js +9 -0
- package/dist/components/ButtonGroup/ButtonGroupSeparator.js +30 -0
- package/dist/components/ButtonGroup/button-group-styles.js +7 -0
- package/dist/components/ButtonGroup/index.js +5 -0
- package/dist/components/Calendar/Calendar.js +355 -305
- package/dist/components/Card/Card.js +9 -7
- package/dist/components/Card/index.js +2 -2
- package/dist/components/Carousel/Carousel.js +108 -91
- package/dist/components/Carousel/CarouselSlide.js +15 -9
- package/dist/components/Cascader/Cascader.js +190 -173
- package/dist/components/Chart/Chart.js +122 -24
- package/dist/components/Chart/chart-elements.js +271 -114
- package/dist/components/ChatInput/ChatInput.js +32 -28
- package/dist/components/ChatMessage/ChatMessage.js +79 -72
- package/dist/components/Checkbox/Checkbox.js +17 -14
- package/dist/components/Checkbox/CheckboxCore.js +28 -17
- package/dist/components/Chip/Chip.js +18 -33
- package/dist/components/Chip/chip-styles.js +23 -0
- package/dist/components/Chip/index.js +3 -3
- package/dist/components/CodeBlock/CodeBlock.js +1 -0
- package/dist/components/CodeBlock/index.js +1 -0
- package/dist/components/Collapsible/Collapsible.js +53 -44
- package/dist/components/ColorPicker/ColorPicker.js +84 -73
- package/dist/components/ColorPicker/ColorPickerCore.js +60 -39
- package/dist/components/ColorPicker/ColorPickerPanel.js +312 -109
- package/dist/components/ColorPicker/color-picker-styles.js +2 -2
- package/dist/components/ColorPicker/gradient.js +114 -0
- package/dist/components/Combobox/Combobox.js +125 -123
- package/dist/components/Combobox/ComboboxGroup.js +23 -16
- package/dist/components/Combobox/ComboboxOption.js +12 -8
- package/dist/components/Combobox/combobox-options.js +26 -0
- package/dist/components/Command/Command.js +182 -97
- package/dist/components/Command/CommandDialog.js +49 -34
- package/dist/components/Command/command-filter.js +80 -10
- package/dist/components/ConfigProvider/ConfigContext.js +7 -38
- package/dist/components/ConfigProvider/ConfigProvider.js +15 -7
- package/dist/components/ConfigProvider/useConfigDefaults.js +5 -2
- package/dist/components/ContextMenu/ContextMenu.js +52 -34
- package/dist/components/ContextMenu/ContextMenuContent.js +40 -26
- package/dist/components/ContextMenu/ContextMenuItem.js +22 -13
- package/dist/components/ContextMenu/ContextMenuSeparator.js +14 -7
- package/dist/components/ContextMenu/ContextMenuTrigger.js +21 -12
- package/dist/components/ConversationList/ConversationItem.js +45 -29
- package/dist/components/ConversationList/ConversationList.js +22 -15
- package/dist/components/CopyButton/CopyButton.js +83 -0
- package/dist/components/CopyButton/Snippet.js +50 -0
- package/dist/components/CopyButton/copy-button-styles.js +11 -0
- package/dist/components/CopyButton/index.js +5 -0
- package/dist/components/CopyButton/snippet-styles.js +7 -0
- package/dist/components/Countdown/Countdown.js +63 -0
- package/dist/components/Countdown/index.js +3 -0
- package/dist/components/DataTable/CellEditor.js +34 -24
- package/dist/components/DataTable/DataTable.js +591 -321
- package/dist/components/DataTable/column-filter.js +106 -0
- package/dist/components/DataTable/column-reorder.js +17 -0
- package/dist/components/DataTable/csv.js +15 -14
- package/dist/components/DataTable/features.js +19 -18
- package/dist/components/DataTable/filters.js +26 -0
- package/dist/components/DateField/DateField.js +28 -0
- package/dist/components/DateField/DateFieldCore.js +94 -0
- package/dist/components/DateField/index.js +4 -0
- package/dist/components/DateField/segmented-field.js +121 -0
- package/dist/components/DateRangePicker/DateRangePicker.js +35 -28
- package/dist/components/Datepicker/Datepicker.js +31 -27
- package/dist/components/Descriptions/Descriptions.js +0 -1
- package/dist/components/Descriptions/index.js +0 -1
- package/dist/components/Dialog/Dialog.js +47 -41
- package/dist/components/DiffViewer/DiffViewer.js +65 -48
- package/dist/components/Disclosure/Disclosure.js +31 -22
- package/dist/components/Drawer/Drawer.js +50 -39
- package/dist/components/DropdownMenu/DropdownMenu.js +61 -45
- package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.js +24 -22
- package/dist/components/DropdownMenu/DropdownMenuContent.js +5 -5
- package/dist/components/DropdownMenu/DropdownMenuGroup.js +26 -16
- package/dist/components/DropdownMenu/DropdownMenuItem.js +2 -1
- package/dist/components/DropdownMenu/DropdownMenuRadioGroup.js +33 -21
- package/dist/components/DropdownMenu/DropdownMenuRadioItem.js +22 -20
- package/dist/components/DropdownMenu/DropdownMenuSeparator.js +14 -7
- package/dist/components/DropdownMenu/DropdownMenuSub.js +28 -16
- package/dist/components/DropdownMenu/DropdownMenuSubContent.js +14 -13
- package/dist/components/DropdownMenu/DropdownMenuSubTrigger.js +22 -17
- package/dist/components/DropdownMenu/DropdownMenuTrigger.js +33 -22
- package/dist/components/Empty/Empty.js +41 -28
- package/dist/components/ErrorBoundary/ErrorBoundary.js +88 -0
- package/dist/components/ErrorBoundary/index.js +3 -0
- package/dist/components/FileInput/FileInput.js +23 -16
- package/dist/components/FilePreview/FilePreview.js +104 -91
- package/dist/components/FloatButton/float-button-glyphs.js +9 -7
- package/dist/components/Fullscreen/Fullscreen.js +35 -27
- package/dist/components/Heatmap/Heatmap.js +124 -0
- package/dist/components/Heatmap/heatmap-styles.js +6 -0
- package/dist/components/Heatmap/index.js +2 -0
- package/dist/components/HoverCard/HoverCard.js +63 -43
- package/dist/components/Image/Image.js +56 -32
- package/dist/components/Image/ImageGalleryContext.js +9 -0
- package/dist/components/Image/ImagePreview.js +297 -200
- package/dist/components/Image/ImagePreviewGroup.js +46 -0
- package/dist/components/Image/index.js +2 -1
- package/dist/components/ImageCrop/ImageCrop.js +188 -0
- package/dist/components/ImageCrop/image-crop-geometry.js +81 -0
- package/dist/components/ImageCrop/index.js +3 -0
- package/dist/components/InlineCitation/InlineCitation.js +78 -0
- package/dist/components/InlineCitation/index.js +3 -0
- package/dist/components/InlineEdit/InlineEdit.js +62 -40
- package/dist/components/Input/Input.js +21 -17
- package/dist/components/Input/InputCore.js +9 -12
- package/dist/components/Input/input-styles.js +11 -0
- package/dist/components/InputGroup/InputGroup.js +33 -0
- package/dist/components/InputGroup/InputGroupAddon.js +27 -0
- package/dist/components/InputGroup/InputGroupContext.js +9 -0
- package/dist/components/InputGroup/index.js +5 -0
- package/dist/components/InputGroup/input-group-styles.js +11 -0
- package/dist/components/JsonView/JsonView.js +277 -179
- package/dist/components/Kbd/Kbd.js +3 -2
- package/dist/components/List/List.js +0 -1
- package/dist/components/List/ListItem.js +0 -1
- package/dist/components/List/index.js +0 -1
- package/dist/components/LocaleProvider/LocaleProvider.js +17 -17
- package/dist/components/LocaleProvider/ar-sa.js +28 -2
- package/dist/components/LocaleProvider/de-de.js +28 -2
- package/dist/components/LocaleProvider/es-es.js +28 -2
- package/dist/components/LocaleProvider/fr-fr.js +28 -2
- package/dist/components/LocaleProvider/it-it.js +28 -2
- package/dist/components/LocaleProvider/ja-jp.js +28 -2
- package/dist/components/LocaleProvider/ko-kr.js +28 -2
- package/dist/components/LocaleProvider/locale.js +28 -2
- package/dist/components/LocaleProvider/pt-br.js +28 -2
- package/dist/components/LocaleProvider/ru-ru.js +28 -2
- package/dist/components/LocaleProvider/useStrings.js +20 -9
- package/dist/components/LocaleProvider/zh-cn.js +28 -2
- package/dist/components/LogViewer/LogViewer.js +89 -59
- package/dist/components/Mark/Mark.js +3 -1
- package/dist/components/MaskedInput/MaskedInput.js +25 -0
- package/dist/components/MaskedInput/MaskedInputCore.js +47 -0
- package/dist/components/MaskedInput/index.js +5 -0
- package/dist/components/MaskedInput/mask.js +154 -0
- package/dist/components/Mentions/Mentions.js +18 -13
- package/dist/components/Menu/Menu.js +202 -55
- package/dist/components/Menu/MenuCheckboxItem.js +24 -22
- package/dist/components/Menu/MenuContext.js +9 -0
- package/dist/components/Menu/MenuDivider.js +12 -8
- package/dist/components/Menu/MenuGroup.js +26 -16
- package/dist/components/Menu/MenuItem.js +20 -18
- package/dist/components/Menu/MenuRadioGroup.js +34 -22
- package/dist/components/Menu/MenuRadioItem.js +23 -21
- package/dist/components/Menu/MenuSub.js +29 -17
- package/dist/components/Menu/MenuSubContent.js +15 -14
- package/dist/components/Menu/MenuSubTrigger.js +23 -18
- package/dist/components/Meter/Meter.js +63 -0
- package/dist/components/Meter/index.js +4 -0
- package/dist/components/Meter/meter-styles.js +11 -0
- package/dist/components/ModelPicker/ModelPicker.js +38 -24
- package/dist/components/NavigationBar/NavLink.js +0 -1
- package/dist/components/NavigationBar/NavigationBar.js +0 -1
- package/dist/components/NavigationBar/index.js +0 -1
- package/dist/components/NavigationMenu/NavigationMenu.js +73 -0
- package/dist/components/NavigationMenu/NavigationMenuContent.js +53 -0
- package/dist/components/NavigationMenu/NavigationMenuContext.js +17 -0
- package/dist/components/NavigationMenu/NavigationMenuItem.js +72 -0
- package/dist/components/NavigationMenu/NavigationMenuList.js +59 -0
- package/dist/components/NavigationMenu/NavigationMenuTrigger.js +82 -0
- package/dist/components/NavigationMenu/index.js +7 -0
- package/dist/components/NumberInput/NumberInput.js +22 -18
- package/dist/components/NumberInput/NumberInputCore.js +23 -30
- package/dist/components/NumberInput/index.js +4 -3
- package/dist/components/NumberInput/number-input-styles.js +15 -0
- package/dist/components/OTPInput/OTPInput.js +28 -15
- package/dist/components/Pagination/Pagination.js +81 -83
- package/dist/components/Pagination/pagination-styles.js +11 -0
- package/dist/components/PasswordInput/PasswordInput.js +18 -15
- package/dist/components/PasswordInput/PasswordInputCore.js +39 -28
- package/dist/components/PhoneInput/PhoneInput.js +144 -0
- package/dist/components/PhoneInput/index.js +4 -0
- package/dist/components/PhoneInput/phone-input-styles.js +7 -0
- package/dist/components/PhoneInput/phone-number.js +8 -0
- package/dist/components/Plan/Plan.js +115 -0
- package/dist/components/Plan/index.js +3 -0
- package/dist/components/Popconfirm/Popconfirm.js +152 -0
- package/dist/components/Popconfirm/index.js +3 -0
- package/dist/components/Popover/Popover.js +55 -40
- package/dist/components/Progress/Progress.js +40 -57
- package/dist/components/Progress/index.js +3 -3
- package/dist/components/Progress/progress-styles.js +28 -0
- package/dist/components/PullToRefresh/PullToRefresh.js +121 -0
- package/dist/components/PullToRefresh/index.js +3 -0
- package/dist/components/Queue/Queue.js +68 -0
- package/dist/components/Queue/index.js +3 -0
- package/dist/components/Radio/Radio.js +28 -19
- package/dist/components/Radio/RadioGroup.js +14 -13
- package/dist/components/Radio/RadioGroupCore.js +34 -19
- package/dist/components/Rating/Rating.js +29 -16
- package/dist/components/Resizable/index.js +1 -1
- package/dist/components/Result/Result.js +0 -1
- package/dist/components/Result/index.js +0 -1
- package/dist/components/RichTextEditor/RichTextEditor.js +257 -0
- package/dist/components/RichTextEditor/index.js +3 -0
- package/dist/components/Schedule/Schedule.js +566 -0
- package/dist/components/Schedule/index.js +3 -0
- package/dist/components/ScrollArea/ScrollArea.js +28 -9
- package/dist/components/ScrollArea/ScrollAreaContext.js +11 -0
- package/dist/components/ScrollArea/ScrollThumb.js +114 -0
- package/dist/components/ScrollArea/ScrollViewport.js +52 -0
- package/dist/components/ScrollArea/Scrollbar.js +49 -0
- package/dist/components/ScrollArea/index.js +5 -2
- package/dist/components/ScrollArea/scroll-math.js +58 -0
- package/dist/components/Segmented/Segmented.js +29 -16
- package/dist/components/Select/Option.js +12 -8
- package/dist/components/Select/OptionGroup.js +12 -8
- package/dist/components/Select/Select.js +52 -30
- package/dist/components/Select/SelectCore.js +62 -57
- package/dist/components/Select/SelectFloating.js +256 -172
- package/dist/components/Select/index.js +5 -5
- package/dist/components/Select/select-options.js +8 -6
- package/dist/components/Sidebar/Sidebar.js +102 -76
- package/dist/components/Sources/Sources.js +54 -50
- package/dist/components/Sparkline/Sparkline.js +2 -2
- package/dist/components/Sparkline/index.js +1 -1
- package/dist/components/Sparkline/sparkline-styles.js +3 -1
- package/dist/components/Spinner/Spinner.js +4 -3
- package/dist/components/Splitter/Splitter.js +209 -0
- package/dist/components/Splitter/index.js +3 -0
- package/dist/components/StatusBar/StatusBar.js +0 -1
- package/dist/components/StatusBar/index.js +0 -1
- package/dist/components/StepTimeline/StepTimeline.js +95 -29
- package/dist/components/Stepper/Stepper.js +34 -20
- package/dist/components/StreamingText/StreamingText.js +33 -31
- package/dist/components/Switch/Switch.js +27 -15
- package/dist/components/Switch/SwitchCore.js +18 -29
- package/dist/components/Switch/index.js +4 -3
- package/dist/components/Switch/switch-styles.js +19 -0
- package/dist/components/TabBar/TabBar.js +0 -1
- package/dist/components/TabBar/index.js +0 -1
- package/dist/components/Table/Table.js +38 -17
- package/dist/components/Table/TableBody.js +17 -8
- package/dist/components/Table/TableCell.js +9 -7
- package/dist/components/Table/TableContext.js +9 -0
- package/dist/components/Table/TableHead.js +17 -8
- package/dist/components/Table/TableRow.js +12 -7
- package/dist/components/Table/table-styles.js +7 -0
- package/dist/components/Tabs/SortableTabList.js +70 -51
- package/dist/components/Tabs/Tab.js +70 -53
- package/dist/components/Tabs/TabList.js +96 -75
- package/dist/components/Tabs/TabPanel.js +20 -15
- package/dist/components/Tabs/Tabs.js +37 -15
- package/dist/components/Tabs/index.js +7 -6
- package/dist/components/Tabs/tab-metas.js +20 -10
- package/dist/components/Tabs/tabs-styles.js +23 -0
- package/dist/components/Tag/Tag.js +14 -26
- package/dist/components/Tag/index.js +3 -3
- package/dist/components/Tag/tag-styles.js +16 -0
- package/dist/components/TagGroup/SortableTagGroup.js +50 -30
- package/dist/components/TagGroup/TagGroup.js +29 -22
- package/dist/components/TagGroup/TagGroupItem.js +32 -25
- package/dist/components/TagInput/SortableTagInput.js +24 -19
- package/dist/components/TagInput/SortableTagInputCore.js +69 -42
- package/dist/components/TagInput/TagInput.js +33 -20
- package/dist/components/Textarea/Textarea.js +19 -15
- package/dist/components/Textarea/TextareaCore.js +6 -9
- package/dist/components/Textarea/textarea-styles.js +11 -0
- package/dist/components/ThinkingIndicator/ThinkingIndicator.js +42 -29
- package/dist/components/TimeField/TimeField.js +29 -0
- package/dist/components/TimeField/TimeFieldCore.js +69 -0
- package/dist/components/TimeField/index.js +4 -0
- package/dist/components/TimeGrid/TimeGrid.js +89 -0
- package/dist/components/TimeGrid/index.js +3 -0
- package/dist/components/TimeGrid/time-grid-styles.js +7 -0
- package/dist/components/TimePicker/TimePicker.js +31 -30
- package/dist/components/TimePicker/TimePickerCore.js +20 -12
- package/dist/components/Timeline/Timeline.js +0 -1
- package/dist/components/Timeline/index.js +0 -1
- package/dist/components/Toast/ToastContainer.js +99 -69
- package/dist/components/Toggle/Toggle.js +16 -13
- package/dist/components/TokenCounter/TokenCounter.js +56 -31
- package/dist/components/Toolbar/Toolbar.js +5 -3
- package/dist/components/Toolbar/ToolbarSeparator.js +19 -14
- package/dist/components/Tooltip/Tooltip.js +37 -30
- package/dist/components/Trace/Trace.js +132 -0
- package/dist/components/Trace/index.js +3 -0
- package/dist/components/Transfer/Transfer.js +18 -13
- package/dist/components/Transfer/TransferCore.js +144 -88
- package/dist/components/Tree/SortableTree.js +115 -96
- package/dist/components/Tree/Tree.js +81 -80
- package/dist/components/Tree/TreeItem.js +198 -143
- package/dist/components/TreeSelect/TreeSelect.js +59 -55
- package/dist/components/Upload/Upload.js +28 -24
- package/dist/components/Upload/UploadCore.js +241 -184
- package/dist/components/Upload/UploadList.js +349 -298
- package/dist/components/Workbench/Workbench.js +165 -126
- package/dist/css/accordion.css +1 -1
- package/dist/css/affix.css +1 -1
- package/dist/css/alert.css +1 -1
- package/dist/css/app-shell.css +1 -1
- package/dist/css/badge.css +1 -1
- package/dist/css/banner.css +1 -1
- package/dist/css/bottom-sheet.css +1 -1
- package/dist/css/button-group.css +4 -0
- package/dist/css/card.css +1 -1
- package/dist/css/carousel.css +1 -1
- package/dist/css/chart.css +2 -1
- package/dist/css/chat-container.css +1 -1
- package/dist/css/chip.css +1 -1
- package/dist/css/color-picker.css +2 -1
- package/dist/css/combobox.css +3 -3
- package/dist/css/command.css +1 -1
- package/dist/css/confirm-dialog.css +1 -1
- package/dist/css/context-menu.css +2 -2
- package/dist/css/copy-button.css +5 -0
- package/dist/css/countdown.css +4 -0
- package/dist/css/data-table.css +2 -1
- package/dist/css/date-field.css +4 -0
- package/dist/css/datepicker.css +1 -1
- package/dist/css/drawer.css +1 -1
- package/dist/css/dropdown-menu.css +1 -1
- package/dist/css/error-boundary.css +4 -0
- package/dist/css/heatmap.css +4 -0
- package/dist/css/image-crop.css +4 -0
- package/dist/css/image.css +1 -1
- package/dist/css/inline-citation.css +4 -0
- package/dist/css/input-group.css +4 -0
- package/dist/css/input.css +2 -1
- package/dist/css/loading-overlay.css +1 -1
- package/dist/css/mark.css +1 -1
- package/dist/css/menu.css +2 -2
- package/dist/css/meter.css +4 -0
- package/dist/css/navigation-menu.css +9 -0
- package/dist/css/number-input.css +2 -1
- package/dist/css/otp-input.css +1 -0
- package/dist/css/pagination.css +2 -1
- package/dist/css/phone-input.css +4 -0
- package/dist/css/plan.css +4 -0
- package/dist/css/popconfirm.css +5 -0
- package/dist/css/popover.css +1 -1
- package/dist/css/progress.css +1 -1
- package/dist/css/pull-to-refresh.css +4 -0
- package/dist/css/queue.css +4 -0
- package/dist/css/rating.css +1 -0
- package/dist/css/rich-text-editor.css +5 -0
- package/dist/css/schedule.css +4 -0
- package/dist/css/scroll-area.css +4 -1
- package/dist/css/segmented.css +1 -0
- package/dist/css/select.css +4 -3
- package/dist/css/sparkline.css +1 -1
- package/dist/css/splitter.css +4 -0
- package/dist/css/step-timeline.css +1 -1
- package/dist/css/switch.css +3 -1
- package/dist/css/table.css +2 -1
- package/dist/css/tabs.css +4 -3
- package/dist/css/tag-group.css +1 -1
- package/dist/css/tag-input.css +2 -1
- package/dist/css/tag.css +1 -1
- package/dist/css/textarea.css +2 -1
- package/dist/css/time-grid.css +4 -0
- package/dist/css/time-picker.css +1 -1
- package/dist/css/timeline.css +1 -1
- package/dist/css/toast.css +1 -1
- package/dist/css/tokens.css +2 -2
- package/dist/css/tooltip.css +1 -1
- package/dist/css/tour.css +1 -1
- package/dist/css/trace.css +4 -0
- package/dist/css/tree-select.css +1 -1
- package/dist/css/tree.css +1 -1
- package/dist/css/upload.css +1 -1
- package/dist/css/virtual-list.css +1 -1
- package/dist/css/workbench.css +1 -1
- package/dist/css-manifest.json +162 -12
- package/dist/design-tokens/cyan-dark.json +32 -0
- package/dist/design-tokens/cyan-light.json +32 -0
- package/dist/design-tokens/dark.json +32 -0
- package/dist/design-tokens/light.json +32 -0
- package/dist/design-tokens/orange-dark.json +32 -0
- package/dist/design-tokens/orange-light.json +32 -0
- package/dist/design-tokens/rose-dark.json +32 -0
- package/dist/design-tokens/rose-light.json +32 -0
- package/dist/design-tokens/teal-dark.json +32 -0
- package/dist/design-tokens/teal-light.json +32 -0
- package/dist/design-tokens/violet-dark.json +32 -0
- package/dist/design-tokens/violet-light.json +32 -0
- package/dist/form/FormItem.js +71 -52
- package/dist/form/index.js +3 -3
- package/dist/haze-ui.css +172 -61
- package/dist/hooks/useClipboard.js +22 -14
- package/dist/hooks/useDebouncedCallback.js +17 -11
- package/dist/hooks/useDebouncedValue.js +8 -7
- package/dist/hooks/useFullscreen.js +40 -36
- package/dist/hooks/useHotkeys.js +78 -24
- package/dist/hooks/useMediaQuery.js +9 -5
- package/dist/hooks/useStorageState.js +43 -34
- package/dist/hooks/useTitle.js +12 -9
- package/dist/index.js +325 -274
- package/dist/locales/index.js +14 -0
- package/dist/mcp-docs.json +3279 -364
- package/dist/registry.json +655 -64
- package/dist/robots.txt +4 -0
- package/dist/sitemap.xml +185 -0
- package/dist/tokens/colors.js +2 -2
- package/dist/tokens/index.js +8 -8
- package/dist/tokens/registry.js +47 -13
- package/dist/tokens/z-index.js +35 -0
- package/dist/types/components/Accordion/Accordion.d.ts +33 -4
- package/dist/types/components/Accordion/AccordionContext.d.ts +41 -0
- package/dist/types/components/Accordion/AccordionItem.d.ts +18 -3
- package/dist/types/components/Accordion/index.d.ts +4 -4
- package/dist/types/components/ActivityRail/index.d.ts +4 -4
- package/dist/types/components/Affix/index.d.ts +2 -2
- package/dist/types/components/Alert/Alert.d.ts +6 -3
- package/dist/types/components/Alert/alert-styles.d.ts +20 -0
- package/dist/types/components/Alert/index.d.ts +3 -2
- package/dist/types/components/Anchor/index.d.ts +2 -2
- package/dist/types/components/AppShell/index.d.ts +2 -2
- package/dist/types/components/ApprovalCard/index.d.ts +2 -2
- package/dist/types/components/AspectRatio/index.d.ts +2 -2
- package/dist/types/components/AsyncSection/index.d.ts +2 -2
- package/dist/types/components/Avatar/Avatar.d.ts +4 -2
- package/dist/types/components/Avatar/index.d.ts +2 -2
- package/dist/types/components/AvatarGroup/AvatarGroup.d.ts +8 -2
- package/dist/types/components/AvatarGroup/index.d.ts +2 -2
- package/dist/types/components/BackToTop/index.d.ts +2 -2
- package/dist/types/components/Badge/Badge.d.ts +6 -3
- package/dist/types/components/Badge/badge-styles.d.ts +4 -3
- package/dist/types/components/Badge/index.d.ts +3 -3
- package/dist/types/components/Banner/Banner.d.ts +6 -3
- package/dist/types/components/Banner/banner-styles.d.ts +20 -0
- package/dist/types/components/Banner/index.d.ts +3 -2
- package/dist/types/components/BottomSheet/index.d.ts +2 -2
- package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +3 -3
- package/dist/types/components/Breadcrumb/BreadcrumbItem.d.ts +23 -5
- package/dist/types/components/Breadcrumb/index.d.ts +4 -4
- package/dist/types/components/Button/ButtonLink.d.ts +4 -12
- package/dist/types/components/Button/index.d.ts +5 -5
- package/dist/types/components/ButtonGroup/ButtonGroup.d.ts +52 -0
- package/dist/types/components/ButtonGroup/ButtonGroupContext.d.ts +28 -0
- package/dist/types/components/ButtonGroup/ButtonGroupSeparator.d.ts +18 -0
- package/dist/types/components/ButtonGroup/button-group-styles.d.ts +45 -0
- package/dist/types/components/ButtonGroup/index.d.ts +6 -0
- package/dist/types/components/Calendar/Calendar.d.ts +74 -3
- package/dist/types/components/Calendar/index.d.ts +2 -2
- package/dist/types/components/Card/Card.d.ts +32 -5
- package/dist/types/components/Card/index.d.ts +3 -2
- package/dist/types/components/Carousel/Carousel.d.ts +27 -3
- package/dist/types/components/Carousel/index.d.ts +4 -4
- package/dist/types/components/Cascader/Cascader.d.ts +44 -2
- package/dist/types/components/Cascader/index.d.ts +2 -2
- package/dist/types/components/Chart/Chart.d.ts +111 -18
- package/dist/types/components/Chart/chart-elements.d.ts +73 -7
- package/dist/types/components/Chart/index.d.ts +2 -2
- package/dist/types/components/ChatContainer/index.d.ts +2 -2
- package/dist/types/components/ChatInput/index.d.ts +2 -2
- package/dist/types/components/ChatMessage/index.d.ts +2 -2
- package/dist/types/components/Checkbox/index.d.ts +4 -4
- package/dist/types/components/Chip/Chip.d.ts +12 -3
- package/dist/types/components/Chip/chip-styles.d.ts +51 -0
- package/dist/types/components/Chip/index.d.ts +3 -2
- package/dist/types/components/CodeBlock/index.d.ts +2 -2
- package/dist/types/components/Collapsible/index.d.ts +2 -2
- package/dist/types/components/ColorPicker/ColorPicker.d.ts +37 -4
- package/dist/types/components/ColorPicker/ColorPickerPanel.d.ts +28 -9
- package/dist/types/components/ColorPicker/color-picker-styles.d.ts +27 -0
- package/dist/types/components/ColorPicker/gradient.d.ts +64 -0
- package/dist/types/components/ColorPicker/index.d.ts +5 -4
- package/dist/types/components/Combobox/Combobox.d.ts +24 -23
- package/dist/types/components/Combobox/ComboboxOption.d.ts +11 -4
- package/dist/types/components/Combobox/combobox-options.d.ts +24 -0
- package/dist/types/components/Combobox/index.d.ts +6 -6
- package/dist/types/components/Command/Command.d.ts +36 -5
- package/dist/types/components/Command/command-filter.d.ts +57 -5
- package/dist/types/components/Command/index.d.ts +4 -4
- package/dist/types/components/ConfigProvider/ConfigContext.d.ts +104 -24
- package/dist/types/components/ConfigProvider/ConfigProvider.d.ts +16 -6
- package/dist/types/components/ConfigProvider/index.d.ts +4 -4
- package/dist/types/components/ConfigProvider/useConfigDefaults.d.ts +17 -4
- package/dist/types/components/ConfirmDialog/confirm.d.ts +1 -1
- package/dist/types/components/ConfirmDialog/index.d.ts +4 -4
- package/dist/types/components/Container/index.d.ts +2 -2
- package/dist/types/components/ContextMenu/ContextMenu.d.ts +20 -2
- package/dist/types/components/ContextMenu/ContextMenuContext.d.ts +25 -1
- package/dist/types/components/ContextMenu/index.d.ts +11 -10
- package/dist/types/components/ConversationList/index.d.ts +4 -4
- package/dist/types/components/CopyButton/CopyButton.d.ts +56 -0
- package/dist/types/components/CopyButton/Snippet.d.ts +48 -0
- package/dist/types/components/CopyButton/copy-button-styles.d.ts +21 -0
- package/dist/types/components/CopyButton/index.d.ts +5 -0
- package/dist/types/components/CopyButton/snippet-styles.d.ts +10 -0
- package/dist/types/components/CountUp/index.d.ts +2 -2
- package/dist/types/components/Countdown/Countdown.d.ts +30 -0
- package/dist/types/components/Countdown/index.d.ts +2 -0
- package/dist/types/components/DataTable/DataTable.d.ts +169 -10
- package/dist/types/components/DataTable/column-filter.d.ts +27 -0
- package/dist/types/components/DataTable/column-reorder.d.ts +32 -0
- package/dist/types/components/DataTable/csv.d.ts +13 -3
- package/dist/types/components/DataTable/features.d.ts +18 -1
- package/dist/types/components/DataTable/filters.d.ts +25 -0
- package/dist/types/components/DataTable/index.d.ts +6 -5
- package/dist/types/components/DataTable/summary.d.ts +1 -1
- package/dist/types/components/DateField/DateField.d.ts +21 -0
- package/dist/types/components/DateField/DateFieldCore.d.ts +30 -0
- package/dist/types/components/DateField/index.d.ts +4 -0
- package/dist/types/components/DateField/segmented-field.d.ts +70 -0
- package/dist/types/components/DateRangePicker/DateRangePicker.d.ts +1 -1
- package/dist/types/components/DateRangePicker/index.d.ts +4 -4
- package/dist/types/components/DateRangePicker/presets.d.ts +1 -1
- package/dist/types/components/DateTimePicker/DateTimePicker.d.ts +2 -2
- package/dist/types/components/DateTimePicker/index.d.ts +2 -2
- package/dist/types/components/Datepicker/Datepicker.d.ts +2 -2
- package/dist/types/components/Datepicker/DatepickerCore.d.ts +1 -1
- package/dist/types/components/Datepicker/index.d.ts +4 -4
- package/dist/types/components/Descriptions/index.d.ts +2 -2
- package/dist/types/components/Dialog/Dialog.d.ts +12 -1
- package/dist/types/components/Dialog/index.d.ts +2 -2
- package/dist/types/components/DiffViewer/index.d.ts +2 -2
- package/dist/types/components/Disclosure/index.d.ts +2 -2
- package/dist/types/components/Divider/index.d.ts +2 -2
- package/dist/types/components/Drawer/Drawer.d.ts +23 -1
- package/dist/types/components/Drawer/index.d.ts +2 -2
- package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +16 -3
- package/dist/types/components/DropdownMenu/DropdownMenuContext.d.ts +39 -1
- package/dist/types/components/DropdownMenu/index.d.ts +25 -24
- package/dist/types/components/Ellipsis/index.d.ts +2 -2
- package/dist/types/components/Empty/index.d.ts +2 -2
- package/dist/types/components/ErrorBoundary/ErrorBoundary.d.ts +45 -0
- package/dist/types/components/ErrorBoundary/index.d.ts +2 -0
- package/dist/types/components/Fieldset/index.d.ts +2 -2
- package/dist/types/components/FileInput/index.d.ts +2 -2
- package/dist/types/components/FilePreview/index.d.ts +2 -2
- package/dist/types/components/Flex/index.d.ts +2 -2
- package/dist/types/components/FloatButton/index.d.ts +4 -4
- package/dist/types/components/Fullscreen/Fullscreen.d.ts +1 -1
- package/dist/types/components/Fullscreen/index.d.ts +3 -3
- package/dist/types/components/Grid/index.d.ts +4 -4
- package/dist/types/components/Heatmap/Heatmap.d.ts +69 -0
- package/dist/types/components/Heatmap/heatmap-styles.d.ts +25 -0
- package/dist/types/components/Heatmap/index.d.ts +2 -0
- package/dist/types/components/Highlight/index.d.ts +2 -2
- package/dist/types/components/HoverCard/HoverCard.d.ts +20 -3
- package/dist/types/components/HoverCard/index.d.ts +2 -2
- package/dist/types/components/Icon/index.d.ts +2 -2
- package/dist/types/components/Image/Image.d.ts +4 -0
- package/dist/types/components/Image/ImageGalleryContext.d.ts +29 -0
- package/dist/types/components/Image/ImagePreview.d.ts +15 -1
- package/dist/types/components/Image/ImagePreviewGroup.d.ts +23 -0
- package/dist/types/components/Image/index.d.ts +4 -2
- package/dist/types/components/ImageCrop/ImageCrop.d.ts +67 -0
- package/dist/types/components/ImageCrop/image-crop-geometry.d.ts +65 -0
- package/dist/types/components/ImageCrop/index.d.ts +3 -0
- package/dist/types/components/Indicator/index.d.ts +2 -2
- package/dist/types/components/InlineCitation/InlineCitation.d.ts +17 -0
- package/dist/types/components/InlineCitation/index.d.ts +2 -0
- package/dist/types/components/InlineCompletion/index.d.ts +2 -2
- package/dist/types/components/InlineEdit/index.d.ts +2 -2
- package/dist/types/components/Input/index.d.ts +4 -4
- package/dist/types/components/Input/input-styles.d.ts +15 -0
- package/dist/types/components/InputGroup/InputGroup.d.ts +47 -0
- package/dist/types/components/InputGroup/InputGroupAddon.d.ts +22 -0
- package/dist/types/components/InputGroup/InputGroupContext.d.ts +21 -0
- package/dist/types/components/InputGroup/index.d.ts +6 -0
- package/dist/types/components/InputGroup/input-group-styles.d.ts +34 -0
- package/dist/types/components/JsonView/index.d.ts +2 -2
- package/dist/types/components/Kbd/Kbd.d.ts +4 -2
- package/dist/types/components/Kbd/index.d.ts +2 -2
- package/dist/types/components/List/index.d.ts +4 -4
- package/dist/types/components/LoadingOverlay/index.d.ts +2 -2
- package/dist/types/components/LocaleProvider/LocaleContext.d.ts +2 -2
- package/dist/types/components/LocaleProvider/LocaleProvider.d.ts +1 -1
- package/dist/types/components/LocaleProvider/ar-sa.d.ts +1 -1
- package/dist/types/components/LocaleProvider/de-de.d.ts +1 -1
- package/dist/types/components/LocaleProvider/es-es.d.ts +1 -1
- package/dist/types/components/LocaleProvider/fr-fr.d.ts +1 -1
- package/dist/types/components/LocaleProvider/index.d.ts +18 -18
- package/dist/types/components/LocaleProvider/it-it.d.ts +1 -1
- package/dist/types/components/LocaleProvider/ja-jp.d.ts +1 -1
- package/dist/types/components/LocaleProvider/ko-kr.d.ts +1 -1
- package/dist/types/components/LocaleProvider/locale.d.ts +26 -0
- package/dist/types/components/LocaleProvider/pt-br.d.ts +1 -1
- package/dist/types/components/LocaleProvider/ru-ru.d.ts +1 -1
- package/dist/types/components/LocaleProvider/strings.d.ts +1 -1
- package/dist/types/components/LocaleProvider/useStrings.d.ts +1 -1
- package/dist/types/components/LocaleProvider/zh-cn.d.ts +1 -1
- package/dist/types/components/LogViewer/index.d.ts +2 -2
- package/dist/types/components/Mark/Mark.d.ts +2 -2
- package/dist/types/components/Mark/index.d.ts +2 -2
- package/dist/types/components/MarkdownRenderer/index.d.ts +2 -2
- package/dist/types/components/MaskedInput/MaskedInput.d.ts +20 -0
- package/dist/types/components/MaskedInput/MaskedInputCore.d.ts +33 -0
- package/dist/types/components/MaskedInput/index.d.ts +6 -0
- package/dist/types/components/MaskedInput/mask.d.ts +77 -0
- package/dist/types/components/Masonry/index.d.ts +2 -2
- package/dist/types/components/Mentions/Mentions.d.ts +1 -1
- package/dist/types/components/Mentions/index.d.ts +4 -4
- package/dist/types/components/Menu/Menu.d.ts +42 -3
- package/dist/types/components/Menu/MenuContext.d.ts +39 -0
- package/dist/types/components/Menu/index.d.ts +20 -19
- package/dist/types/components/Meter/Meter.d.ts +72 -0
- package/dist/types/components/Meter/index.d.ts +3 -0
- package/dist/types/components/Meter/meter-styles.d.ts +25 -0
- package/dist/types/components/ModelPicker/index.d.ts +2 -2
- package/dist/types/components/NavigationBar/index.d.ts +4 -4
- package/dist/types/components/NavigationMenu/NavigationMenu.d.ts +47 -0
- package/dist/types/components/NavigationMenu/NavigationMenuContent.d.ts +16 -0
- package/dist/types/components/NavigationMenu/NavigationMenuContext.d.ts +77 -0
- package/dist/types/components/NavigationMenu/NavigationMenuItem.d.ts +13 -0
- package/dist/types/components/NavigationMenu/NavigationMenuList.d.ts +15 -0
- package/dist/types/components/NavigationMenu/NavigationMenuTrigger.d.ts +15 -0
- package/dist/types/components/NavigationMenu/index.d.ts +11 -0
- package/dist/types/components/NumberFormatter/index.d.ts +2 -2
- package/dist/types/components/NumberInput/index.d.ts +5 -4
- package/dist/types/components/NumberInput/number-input-styles.d.ts +10 -0
- package/dist/types/components/OTPInput/OTPInput.d.ts +9 -1
- package/dist/types/components/OTPInput/index.d.ts +4 -4
- package/dist/types/components/Pagination/index.d.ts +2 -2
- package/dist/types/components/Pagination/pagination-styles.d.ts +13 -0
- package/dist/types/components/PasswordInput/index.d.ts +4 -4
- package/dist/types/components/PhoneInput/PhoneInput.d.ts +35 -0
- package/dist/types/components/PhoneInput/index.d.ts +3 -0
- package/dist/types/components/PhoneInput/phone-input-styles.d.ts +11 -0
- package/dist/types/components/PhoneInput/phone-number.d.ts +9 -0
- package/dist/types/components/Plan/Plan.d.ts +26 -0
- package/dist/types/components/Plan/index.d.ts +2 -0
- package/dist/types/components/Popconfirm/Popconfirm.d.ts +57 -0
- package/dist/types/components/Popconfirm/index.d.ts +2 -0
- package/dist/types/components/Popover/Popover.d.ts +1 -1
- package/dist/types/components/Popover/index.d.ts +2 -2
- package/dist/types/components/Progress/Progress.d.ts +7 -3
- package/dist/types/components/Progress/index.d.ts +3 -2
- package/dist/types/components/Progress/progress-styles.d.ts +41 -0
- package/dist/types/components/PromptInput/index.d.ts +2 -2
- package/dist/types/components/PullToRefresh/PullToRefresh.d.ts +61 -0
- package/dist/types/components/PullToRefresh/index.d.ts +2 -0
- package/dist/types/components/QRCode/index.d.ts +2 -2
- package/dist/types/components/Queue/Queue.d.ts +25 -0
- package/dist/types/components/Queue/index.d.ts +2 -0
- package/dist/types/components/Radio/index.d.ts +6 -6
- package/dist/types/components/Rating/Rating.d.ts +8 -1
- package/dist/types/components/Rating/index.d.ts +4 -4
- package/dist/types/components/Resizable/index.d.ts +2 -4
- package/dist/types/components/Result/index.d.ts +2 -2
- package/dist/types/components/RichTextEditor/RichTextEditor.d.ts +56 -0
- package/dist/types/components/RichTextEditor/index.d.ts +2 -0
- package/dist/types/components/Schedule/Schedule.d.ts +113 -0
- package/dist/types/components/Schedule/index.d.ts +2 -0
- package/dist/types/components/ScrollArea/ScrollArea.d.ts +27 -3
- package/dist/types/components/ScrollArea/ScrollAreaContext.d.ts +24 -0
- package/dist/types/components/ScrollArea/ScrollThumb.d.ts +9 -0
- package/dist/types/components/ScrollArea/ScrollViewport.d.ts +8 -0
- package/dist/types/components/ScrollArea/Scrollbar.d.ts +19 -0
- package/dist/types/components/ScrollArea/index.d.ts +9 -2
- package/dist/types/components/ScrollArea/scroll-math.d.ts +121 -0
- package/dist/types/components/Segmented/Segmented.d.ts +10 -2
- package/dist/types/components/Segmented/index.d.ts +4 -4
- package/dist/types/components/Select/Option.d.ts +4 -1
- package/dist/types/components/Select/Select.d.ts +87 -15
- package/dist/types/components/Select/SelectCore.d.ts +32 -14
- package/dist/types/components/Select/SelectFloating.d.ts +33 -14
- package/dist/types/components/Select/index.d.ts +8 -8
- package/dist/types/components/Select/select-options.d.ts +16 -10
- package/dist/types/components/Sidebar/index.d.ts +4 -4
- package/dist/types/components/Signature/index.d.ts +2 -2
- package/dist/types/components/Skeleton/index.d.ts +2 -2
- package/dist/types/components/Slider/index.d.ts +4 -4
- package/dist/types/components/Sources/index.d.ts +2 -2
- package/dist/types/components/Sparkline/Sparkline.d.ts +3 -3
- package/dist/types/components/Sparkline/index.d.ts +3 -3
- package/dist/types/components/Sparkline/sparkline-styles.d.ts +7 -5
- package/dist/types/components/Spinner/Spinner.d.ts +4 -1
- package/dist/types/components/Spinner/index.d.ts +2 -2
- package/dist/types/components/Splitter/Splitter.d.ts +33 -0
- package/dist/types/components/Splitter/index.d.ts +2 -0
- package/dist/types/components/Spoiler/index.d.ts +2 -2
- package/dist/types/components/Stat/index.d.ts +2 -2
- package/dist/types/components/StatusBar/index.d.ts +3 -3
- package/dist/types/components/StepTimeline/StepTimeline.d.ts +17 -2
- package/dist/types/components/StepTimeline/index.d.ts +2 -2
- package/dist/types/components/Stepper/index.d.ts +4 -4
- package/dist/types/components/StreamingText/index.d.ts +2 -2
- package/dist/types/components/SwipeAction/index.d.ts +2 -2
- package/dist/types/components/Switch/Switch.d.ts +12 -2
- package/dist/types/components/Switch/index.d.ts +5 -4
- package/dist/types/components/Switch/switch-styles.d.ts +15 -0
- package/dist/types/components/TabBar/index.d.ts +4 -4
- package/dist/types/components/Table/Table.d.ts +17 -2
- package/dist/types/components/Table/TableContext.d.ts +27 -0
- package/dist/types/components/Table/index.d.ts +11 -10
- package/dist/types/components/Table/table-styles.d.ts +9 -0
- package/dist/types/components/Tabs/Tab.d.ts +9 -1
- package/dist/types/components/Tabs/TabList.d.ts +1 -1
- package/dist/types/components/Tabs/TabPanel.d.ts +1 -1
- package/dist/types/components/Tabs/Tabs.d.ts +76 -5
- package/dist/types/components/Tabs/TabsContext.d.ts +35 -0
- package/dist/types/components/Tabs/index.d.ts +12 -11
- package/dist/types/components/Tabs/tab-metas.d.ts +15 -1
- package/dist/types/components/Tabs/tabs-styles.d.ts +10 -0
- package/dist/types/components/Tag/Tag.d.ts +34 -6
- package/dist/types/components/Tag/index.d.ts +3 -2
- package/dist/types/components/Tag/tag-styles.d.ts +28 -0
- package/dist/types/components/TagGroup/SortableTagGroup.d.ts +1 -1
- package/dist/types/components/TagGroup/index.d.ts +6 -6
- package/dist/types/components/TagInput/SortableTagInputCore.d.ts +1 -1
- package/dist/types/components/TagInput/TagInput.d.ts +10 -1
- package/dist/types/components/TagInput/index.d.ts +8 -8
- package/dist/types/components/Textarea/index.d.ts +4 -4
- package/dist/types/components/Textarea/textarea-styles.d.ts +12 -0
- package/dist/types/components/ThinkingIndicator/index.d.ts +2 -2
- package/dist/types/components/TimeField/TimeField.d.ts +26 -0
- package/dist/types/components/TimeField/TimeFieldCore.d.ts +36 -0
- package/dist/types/components/TimeField/index.d.ts +4 -0
- package/dist/types/components/TimeGrid/TimeGrid.d.ts +58 -0
- package/dist/types/components/TimeGrid/index.d.ts +2 -0
- package/dist/types/components/TimeGrid/time-grid-styles.d.ts +13 -0
- package/dist/types/components/TimePicker/TimePicker.d.ts +1 -1
- package/dist/types/components/TimePicker/TimePickerPanel.d.ts +1 -1
- package/dist/types/components/TimePicker/index.d.ts +5 -5
- package/dist/types/components/Timeline/index.d.ts +2 -2
- package/dist/types/components/Toast/Toast.d.ts +1 -1
- package/dist/types/components/Toast/ToastContainer.d.ts +1 -1
- package/dist/types/components/Toast/index.d.ts +7 -7
- package/dist/types/components/Toast/toast-channel.d.ts +1 -1
- package/dist/types/components/Toast/useToast.d.ts +1 -1
- package/dist/types/components/Toggle/index.d.ts +4 -4
- package/dist/types/components/TokenCounter/index.d.ts +2 -2
- package/dist/types/components/ToolCallCard/index.d.ts +2 -2
- package/dist/types/components/Toolbar/index.d.ts +8 -8
- package/dist/types/components/Tooltip/Tooltip.d.ts +26 -4
- package/dist/types/components/Tooltip/index.d.ts +2 -2
- package/dist/types/components/Tour/Tour.d.ts +1 -1
- package/dist/types/components/Tour/index.d.ts +2 -2
- package/dist/types/components/Trace/Trace.d.ts +37 -0
- package/dist/types/components/Trace/index.d.ts +2 -0
- package/dist/types/components/Transfer/Transfer.d.ts +1 -1
- package/dist/types/components/Transfer/index.d.ts +4 -4
- package/dist/types/components/Tree/SortableTree.d.ts +2 -2
- package/dist/types/components/Tree/Tree.d.ts +2 -2
- package/dist/types/components/Tree/TreeItem.d.ts +1 -1
- package/dist/types/components/Tree/index.d.ts +4 -4
- package/dist/types/components/Tree/sortable-tree-utils.d.ts +1 -1
- package/dist/types/components/Tree/types.d.ts +9 -1
- package/dist/types/components/Tree/utils.d.ts +1 -1
- package/dist/types/components/TreeSelect/TreeSelect.d.ts +1 -1
- package/dist/types/components/TreeSelect/index.d.ts +2 -2
- package/dist/types/components/Typography/index.d.ts +2 -2
- package/dist/types/components/Upload/Upload.d.ts +25 -2
- package/dist/types/components/Upload/UploadCore.d.ts +44 -3
- package/dist/types/components/Upload/UploadList.d.ts +16 -2
- package/dist/types/components/Upload/index.d.ts +5 -5
- package/dist/types/components/Upload/types.d.ts +28 -1
- package/dist/types/components/Upload/xhr-upload.d.ts +1 -1
- package/dist/types/components/VirtualList/index.d.ts +2 -2
- package/dist/types/components/VisuallyHidden/index.d.ts +2 -2
- package/dist/types/components/Watermark/index.d.ts +2 -2
- package/dist/types/components/Workbench/index.d.ts +2 -2
- package/dist/types/dates/buddhist.d.ts +1 -1
- package/dist/types/dates/ethiopic.d.ts +1 -1
- package/dist/types/dates/gregory.d.ts +1 -1
- package/dist/types/dates/hebrew.d.ts +1 -1
- package/dist/types/dates/index.d.ts +11 -11
- package/dist/types/dates/islamic.d.ts +1 -1
- package/dist/types/dates/japanese.d.ts +1 -1
- package/dist/types/dates/persian.d.ts +1 -1
- package/dist/types/dates/registry.d.ts +1 -1
- package/dist/types/form/FormItem.d.ts +38 -1
- package/dist/types/form/index.d.ts +17 -7
- package/dist/types/headless/index.d.ts +45 -40
- package/dist/types/hooks/index.d.ts +33 -33
- package/dist/types/hooks/useHotkeys.d.ts +16 -4
- package/dist/types/index.d.ts +351 -303
- package/dist/types/locales/index.d.ts +32 -0
- package/dist/types/tokens/colors.d.ts +15 -0
- package/dist/types/tokens/density.d.ts +1 -1
- package/dist/types/tokens/index.d.ts +11 -11
- package/dist/types/tokens/palette.d.ts +1 -1
- package/dist/types/tokens/registry.d.ts +1 -1
- package/dist/types/tokens/z-index.d.ts +33 -0
- package/dist/types/utils/floating.d.ts +1 -1
- package/dist/types/utils/native-form.d.ts +32 -0
- package/dist/types/utils/presence.d.ts +21 -2
- package/dist/types/utils/sortable-shared.d.ts +6 -0
- package/dist/types/utils/submenu.d.ts +1 -1
- package/dist/utils/direction.js +10 -8
- package/dist/utils/floating.js +227 -185
- package/dist/utils/focus-scope.js +27 -24
- package/dist/utils/menuRadio.js +23 -21
- package/dist/utils/native-form.js +42 -0
- package/dist/utils/presence.js +16 -12
- package/dist/utils/sortable-shared.js +12 -8
- package/dist/utils/sortable.js +55 -39
- package/dist/utils/submenu.js +94 -82
- package/dist/utils/view-transition.js +11 -13
- package/dist/utils/viewport.js +9 -8
- package/package.json +160 -11
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
import type { Dispatch, RefObject, SetStateAction } from 'react';
|
|
2
|
-
import type { FloatingBehavior } from '../../utils/floating';
|
|
2
|
+
import type { FloatingBehavior } from '../../utils/floating.js';
|
|
3
|
+
/**
|
|
4
|
+
* Semantic slot classes (AntD v6 `classNames` shape) for the
|
|
5
|
+
* ContextMenu family: declared once on `<ContextMenu>` and distributed
|
|
6
|
+
* to every part through this context — one record themes the wrapper,
|
|
7
|
+
* the trigger area, the content panel and every item. Consumer classes
|
|
8
|
+
* are appended at the end of each part's class list (able to override
|
|
9
|
+
* component defaults); per-part `className` props remain for one-off
|
|
10
|
+
* tweaks and still land after the slot class.
|
|
11
|
+
*/
|
|
12
|
+
export type ContextMenuClassNames = {
|
|
13
|
+
/** The wrapper `<div>` (`data-slot='context-menu'`) the root renders. */
|
|
14
|
+
root?: string;
|
|
15
|
+
/** Every `<ContextMenuTrigger>` area (`data-slot='trigger'`). */
|
|
16
|
+
trigger?: string;
|
|
17
|
+
/** Every `<ContextMenuContent>` panel (`role="menu"`, `data-slot='content'`). */
|
|
18
|
+
content?: string;
|
|
19
|
+
/** Every `<ContextMenuItem>` (`data-slot='menu-item'`). */
|
|
20
|
+
item?: string;
|
|
21
|
+
/** Every `<ContextMenuSeparator>` (`data-slot='separator'`). */
|
|
22
|
+
separator?: string;
|
|
23
|
+
};
|
|
3
24
|
type ContextMenuContextValue = {
|
|
4
25
|
open: boolean;
|
|
5
26
|
setOpen: Dispatch<SetStateAction<boolean>>;
|
|
@@ -9,6 +30,9 @@ type ContextMenuContextValue = {
|
|
|
9
30
|
contentRef: RefObject<HTMLDivElement | null>;
|
|
10
31
|
/** Floating-panel behavior shared by the root and content. */
|
|
11
32
|
floating: FloatingBehavior;
|
|
33
|
+
/** Slot classes declared on the root `<ContextMenu>`; parts append
|
|
34
|
+
* them after their own classes, before per-part `className`. */
|
|
35
|
+
classNames: ContextMenuClassNames | undefined;
|
|
12
36
|
};
|
|
13
37
|
export declare const ContextMenuProvider: import("react").Provider<ContextMenuContextValue | undefined>;
|
|
14
38
|
export declare function useContextMenuContext(): ContextMenuContextValue;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export { default as ContextMenu } from './ContextMenu';
|
|
2
|
-
export { default as ContextMenuTrigger } from './ContextMenuTrigger';
|
|
3
|
-
export { default as ContextMenuContent } from './ContextMenuContent';
|
|
4
|
-
export { default as ContextMenuItem } from './ContextMenuItem';
|
|
5
|
-
export { default as ContextMenuSeparator } from './ContextMenuSeparator';
|
|
6
|
-
export type { ContextMenuProps } from './ContextMenu';
|
|
7
|
-
export type {
|
|
8
|
-
export type {
|
|
9
|
-
export type {
|
|
10
|
-
export type {
|
|
1
|
+
export { default as ContextMenu } from './ContextMenu.js';
|
|
2
|
+
export { default as ContextMenuTrigger } from './ContextMenuTrigger.js';
|
|
3
|
+
export { default as ContextMenuContent } from './ContextMenuContent.js';
|
|
4
|
+
export { default as ContextMenuItem } from './ContextMenuItem.js';
|
|
5
|
+
export { default as ContextMenuSeparator } from './ContextMenuSeparator.js';
|
|
6
|
+
export type { ContextMenuProps } from './ContextMenu.js';
|
|
7
|
+
export type { ContextMenuClassNames } from './ContextMenuContext.js';
|
|
8
|
+
export type { ContextMenuTriggerProps } from './ContextMenuTrigger.js';
|
|
9
|
+
export type { ContextMenuContentProps } from './ContextMenuContent.js';
|
|
10
|
+
export type { ContextMenuItemProps } from './ContextMenuItem.js';
|
|
11
|
+
export type { ContextMenuSeparatorProps } from './ContextMenuSeparator.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { default as ConversationList } from './ConversationList';
|
|
2
|
-
export { default as ConversationItem } from './ConversationItem';
|
|
3
|
-
export type { ConversationListProps } from './ConversationList';
|
|
4
|
-
export type { ConversationItemProps } from './ConversationItem';
|
|
1
|
+
export { default as ConversationList } from './ConversationList.js';
|
|
2
|
+
export { default as ConversationItem } from './ConversationItem.js';
|
|
3
|
+
export type { ConversationListProps } from './ConversationList.js';
|
|
4
|
+
export type { ConversationItemProps } from './ConversationItem.js';
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { ButtonProps } from '../Button/index.js';
|
|
3
|
+
/** Semantic slot classes for CopyButton (AntD v6 `classNames` shape;
|
|
4
|
+
* keys follow the data-slot names). */
|
|
5
|
+
type CopyButtonClassNames = {
|
|
6
|
+
/** The button element (Button's data-slot='button'). */
|
|
7
|
+
root?: string;
|
|
8
|
+
/** Both glyphs (copy/check); the active one wears the class. */
|
|
9
|
+
icon?: string;
|
|
10
|
+
};
|
|
11
|
+
type CopyButtonOwnProps = {
|
|
12
|
+
/** The text to copy. */
|
|
13
|
+
value?: string;
|
|
14
|
+
/** Lazy source evaluated on every click (a live reading like the
|
|
15
|
+
* current URL or a fresh token); wins over `value` when both are
|
|
16
|
+
* set. */
|
|
17
|
+
getValue?: () => string;
|
|
18
|
+
/** How long the copied feedback lasts, in ms. Defaults to 2000. */
|
|
19
|
+
copiedTimeout?: number;
|
|
20
|
+
/** Accessible name while idle. Defaults to 'Copy'. */
|
|
21
|
+
copyLabel?: string;
|
|
22
|
+
/** Accessible name while copied. Defaults to 'Copied'. */
|
|
23
|
+
copiedLabel?: string;
|
|
24
|
+
/** Slot classes (see {@link CopyButtonClassNames}). */
|
|
25
|
+
classNames?: CopyButtonClassNames;
|
|
26
|
+
};
|
|
27
|
+
type CopyButtonProps = CopyButtonOwnProps & {
|
|
28
|
+
/**
|
|
29
|
+
* Icon or label. Defaults to the copy/check glyph pair; a function
|
|
30
|
+
* receives the copied state so text labels can switch their own
|
|
31
|
+
* wording (`(copied) => copied ? 'Copied!' : 'Copy'`).
|
|
32
|
+
*/
|
|
33
|
+
children?: ReactNode | ((copied: boolean) => ReactNode);
|
|
34
|
+
} & Omit<ButtonProps, keyof CopyButtonOwnProps | 'children'>;
|
|
35
|
+
/**
|
|
36
|
+
* A `Button` that copies text to the clipboard on click and flips into
|
|
37
|
+
* a copied state for `copiedTimeout` ms (default 2000): the glyph
|
|
38
|
+
* swaps copy → check (non-solid variants also ink success), the
|
|
39
|
+
* accessible name swaps `copyLabel` → `copiedLabel`, and a visually
|
|
40
|
+
* hidden `role='status'` announces the change to screen readers
|
|
41
|
+
* (WCAG 4.1.3 — the label swap alone is not announced on an already
|
|
42
|
+
* focused control).
|
|
43
|
+
*
|
|
44
|
+
* The copy plumbing is `useClipboard`: async clipboard API first,
|
|
45
|
+
* deprecated `execCommand` fallback second; when both fail the button
|
|
46
|
+
* simply stays idle. Sizing and variants are Button's — including the
|
|
47
|
+
* ConfigProvider `Button.size` default tier. The default shape is the
|
|
48
|
+
* square icon button (`square`, outline); text-label render props pair
|
|
49
|
+
* naturally with `square={false}`.
|
|
50
|
+
*
|
|
51
|
+
* Precedence notes: `getValue` wins over `value`; an explicit
|
|
52
|
+
* `aria-label` passed through the rest props overrides the swapped
|
|
53
|
+
* `copyLabel`/`copiedLabel` naming (statically, for both states).
|
|
54
|
+
*/
|
|
55
|
+
export default function CopyButton({ value, getValue, copiedTimeout, copyLabel, copiedLabel, variant, square, size, classNames, className, children, onClick, ...rest }: CopyButtonProps): import("react").JSX.Element;
|
|
56
|
+
export type { CopyButtonClassNames, CopyButtonProps };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { ComponentPropsWithoutRef, ReactNode, Ref } from 'react';
|
|
2
|
+
/** Semantic slot classes for Snippet (AntD v6 `classNames` shape;
|
|
3
|
+
* keys follow the data-slot names). */
|
|
4
|
+
type SnippetClassNames = {
|
|
5
|
+
/** The chip wrapper (data-slot='snippet'). */
|
|
6
|
+
root?: string;
|
|
7
|
+
/** The mono content cell (data-slot='content'). */
|
|
8
|
+
content?: string;
|
|
9
|
+
/** The docked copy button (forwarded to CopyButton's root slot). */
|
|
10
|
+
copyButton?: string;
|
|
11
|
+
/** The copy/check glyphs (forwarded to CopyButton's icon slot). */
|
|
12
|
+
icon?: string;
|
|
13
|
+
};
|
|
14
|
+
type SnippetOwnProps = {
|
|
15
|
+
/** The text the copy button puts on the clipboard. */
|
|
16
|
+
value: string;
|
|
17
|
+
/** How long the copied feedback lasts, in ms. Defaults to 2000. */
|
|
18
|
+
copiedTimeout?: number;
|
|
19
|
+
/** CopyButton's accessible name while idle. Defaults to 'Copy'. */
|
|
20
|
+
copyLabel?: string;
|
|
21
|
+
/** CopyButton's accessible name while copied. Defaults to 'Copied'. */
|
|
22
|
+
copiedLabel?: string;
|
|
23
|
+
/** Slot classes (see {@link SnippetClassNames}). */
|
|
24
|
+
classNames?: SnippetClassNames;
|
|
25
|
+
};
|
|
26
|
+
type SnippetProps = SnippetOwnProps & {
|
|
27
|
+
/**
|
|
28
|
+
* Display content inside the chip; defaults to `value` verbatim.
|
|
29
|
+
* Pass a styled node to mask secrets or abbreviate long payloads —
|
|
30
|
+
* the clipboard always gets `value`.
|
|
31
|
+
*/
|
|
32
|
+
children?: ReactNode;
|
|
33
|
+
className?: string;
|
|
34
|
+
/** Forwarded to the chip wrapper (data-slot='snippet'). */
|
|
35
|
+
ref?: Ref<HTMLDivElement>;
|
|
36
|
+
} & Omit<ComponentPropsWithoutRef<'div'>, keyof SnippetOwnProps | 'className' | 'children'>;
|
|
37
|
+
/**
|
|
38
|
+
* An inline snippet with one-click copy: a mono chip (`value`, or a
|
|
39
|
+
* custom `children` display) with a small ghost `CopyButton` docked
|
|
40
|
+
* at the trailing edge — the install-command / API-key / share-link
|
|
41
|
+
* affordance. Display and clipboard payload are independent: children
|
|
42
|
+
* never reach the clipboard, `value` always does.
|
|
43
|
+
*
|
|
44
|
+
* For a multiline code listing with optional syntax highlighting, use
|
|
45
|
+
* `CodeBlock` instead — a snippet is a single inline value.
|
|
46
|
+
*/
|
|
47
|
+
export default function Snippet({ value, copiedTimeout, copyLabel, copiedLabel, classNames, className, children, ref, ...rest }: SnippetProps): import("react").JSX.Element;
|
|
48
|
+
export type { SnippetClassNames, SnippetProps };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared CopyButton skin — the copy/check glyph sizing per Button size
|
|
3
|
+
* and the copied feedback wash. The button chrome itself is Button's
|
|
4
|
+
* (CopyButton composes a real `Button`), so only the icon steps and
|
|
5
|
+
* the copied accent live here; split-css groups the emitted CSS into
|
|
6
|
+
* `haze-ui/css/copy-button.css` (Button's own rules ride along via
|
|
7
|
+
* the build's cross-family dependency closure).
|
|
8
|
+
*/
|
|
9
|
+
export declare const iconSizes: {
|
|
10
|
+
readonly sm: import("@linaria/core").LinariaClassName;
|
|
11
|
+
readonly md: import("@linaria/core").LinariaClassName;
|
|
12
|
+
readonly lg: import("@linaria/core").LinariaClassName;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Copied-state accent: the check glyph inks success while
|
|
16
|
+
* `data-copied` is set. Gated by the component to the non-solid
|
|
17
|
+
* variants — success-on-primary would sit on a saturated fill where
|
|
18
|
+
* the tone has no contrast; solid buttons keep their label ink and
|
|
19
|
+
* the glyph swap alone carries the feedback.
|
|
20
|
+
*/
|
|
21
|
+
export declare const copiedSkin: import("@linaria/core").LinariaClassName;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as CopyButton } from './CopyButton.js';
|
|
2
|
+
export type { CopyButtonProps, CopyButtonClassNames } from './CopyButton.js';
|
|
3
|
+
export { default as Snippet } from './Snippet.js';
|
|
4
|
+
export type { SnippetProps, SnippetClassNames } from './Snippet.js';
|
|
5
|
+
export { iconSizes } from './copy-button-styles.js';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Snippet skin — the inline code chip `Snippet` renders: mono
|
|
3
|
+
* content cell that ellipsizes, with a CopyButton docked at the
|
|
4
|
+
* trailing edge. Living in its own module keeps the component file
|
|
5
|
+
* free of style internals (react-refresh boundary); split-css groups
|
|
6
|
+
* the emitted CSS into `haze-ui/css/copy-button.css` (Snippet lives
|
|
7
|
+
* in the CopyButton directory and shares its css family).
|
|
8
|
+
*/
|
|
9
|
+
export declare const snippet: import("@linaria/core").LinariaClassName;
|
|
10
|
+
export declare const content: import("@linaria/core").LinariaClassName;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default as CountUp } from './CountUp';
|
|
2
|
-
export type { CountUpProps } from './CountUp';
|
|
1
|
+
export { default as CountUp } from './CountUp.js';
|
|
2
|
+
export type { CountUpProps } from './CountUp.js';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
/** Decomposed remaining time handed to `format`/`render`. */
|
|
3
|
+
type CountdownParts = {
|
|
4
|
+
/** Whole seconds left — `ceil` of the exact milliseconds so every
|
|
5
|
+
* displayed second is a full second and the display lands on 0 exactly
|
|
6
|
+
* at the deadline. */
|
|
7
|
+
totalSeconds: number;
|
|
8
|
+
days: number;
|
|
9
|
+
hours: number;
|
|
10
|
+
minutes: number;
|
|
11
|
+
seconds: number;
|
|
12
|
+
/** Deadline reached — parts are all zero and the clock has stopped. */
|
|
13
|
+
finished: boolean;
|
|
14
|
+
};
|
|
15
|
+
type CountdownProps = {
|
|
16
|
+
/** Deadline: epoch milliseconds or a `Date`. Changing it re-aims the
|
|
17
|
+
* clock (and re-arms a spent `onFinish`). */
|
|
18
|
+
value: number | Date;
|
|
19
|
+
/** Fires exactly once when the deadline is reached. */
|
|
20
|
+
onFinish?: () => void;
|
|
21
|
+
/** Parts → display string. Default: adaptive — `1d 02:03:04` past a
|
|
22
|
+
* day, `02:03:04` under it. */
|
|
23
|
+
format?: (parts: CountdownParts) => string;
|
|
24
|
+
/** Parts → arbitrary node — the render escape hatch next to `format`
|
|
25
|
+
* for non-string output. */
|
|
26
|
+
render?: (parts: CountdownParts) => ReactNode;
|
|
27
|
+
className?: string;
|
|
28
|
+
} & Omit<ComponentPropsWithoutRef<'span'>, 'children'>;
|
|
29
|
+
export default function Countdown({ value, onFinish, format, render, className, ...rest }: CountdownProps): import("react").JSX.Element;
|
|
30
|
+
export type { CountdownProps, CountdownParts };
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { ComponentPropsWithoutRef, MouseEvent, ReactNode } from 'react';
|
|
1
|
+
import type { ComponentPropsWithoutRef, MouseEvent, ReactNode, Ref } from 'react';
|
|
2
2
|
import type { ControlOrValue } from 'react-use-control';
|
|
3
|
-
import type { ColumnDef, ColumnVisibilityState, ExpandedState, Row, RowData, RowSelectionState, SortingState } from '@tanstack/react-table';
|
|
4
|
-
import type { DataTableCellEditorProps, DataTableColumnMeta } from './features';
|
|
5
|
-
import {
|
|
3
|
+
import type { ColumnDef, ColumnOrderState, ColumnVisibilityState, ExpandedState, Row, RowData, RowSelectionState, SortingState } from '@tanstack/react-table';
|
|
4
|
+
import type { DataTableCellEditorProps, DataTableColumnMeta } from './features.js';
|
|
5
|
+
import type { DataTableFiltersState } from './filters.js';
|
|
6
|
+
import { dataTableFeatures } from './features.js';
|
|
6
7
|
/** Windowing configuration for the table body, reusing `VirtualList`. */
|
|
7
8
|
type DataTableVirtualized = boolean | {
|
|
8
9
|
/** Fixed row height in px — must match the rendered row (custom cell
|
|
@@ -16,9 +17,22 @@ type DataTableVirtualized = boolean | {
|
|
|
16
17
|
* bound to DataTable's feature set and column meta. The native `size`
|
|
17
18
|
* field doubles as a static px width hint (read as the colgroup width
|
|
18
19
|
* fallback after `meta.width`) and seeds the resize math when `resizable`
|
|
19
|
-
* is on.
|
|
20
|
+
* is on. The `meta` extension adds `filterFn`, the custom predicate of
|
|
21
|
+
* the header filter menu, typed against this table's row data (the
|
|
22
|
+
* feature-registered meta carries only the TData-independent fields). */
|
|
20
23
|
type DataTableColumnDef<TData extends RowData> = ColumnDef<typeof dataTableFeatures, TData> & {
|
|
21
24
|
size?: number;
|
|
25
|
+
meta?: {
|
|
26
|
+
/**
|
|
27
|
+
* Replaces the default membership check of the header filter menu
|
|
28
|
+
* (`meta.filters`): a row passes the column's filter when this
|
|
29
|
+
* returns true for the selected values array. Receives the row's
|
|
30
|
+
* original data, the selected option values and the current cell
|
|
31
|
+
* value. The default keeps rows whose cell value equals a selected
|
|
32
|
+
* one (`values.includes(rowValue)`).
|
|
33
|
+
*/
|
|
34
|
+
filterFn?: (row: TData, filterValue: unknown[], rowValue: unknown) => boolean;
|
|
35
|
+
};
|
|
22
36
|
};
|
|
23
37
|
/** One cell of a summary row: a static string or number (`undefined`
|
|
24
38
|
* renders an empty cell — `dataTableAvg` of no numeric values), or a
|
|
@@ -32,6 +46,43 @@ type DataTableSummary<TData extends RowData = RowData> = {
|
|
|
32
46
|
label?: string;
|
|
33
47
|
cells: DataTableSummaryCell<TData>[];
|
|
34
48
|
};
|
|
49
|
+
/**
|
|
50
|
+
* Semantic slot classes (AntD v6 `classNames` shape) for DataTable:
|
|
51
|
+
* declared once on the root and distributed to the structural parts —
|
|
52
|
+
* the wrapper, the toolbar strip and the pagination footer on their
|
|
53
|
+
* own `<div>`s, the header/body/row/cell slots through the same
|
|
54
|
+
* context the Table primitives read (every `<th>`/`<td>` the table
|
|
55
|
+
* renders — header, body, selection, skeleton, empty, filter and
|
|
56
|
+
* summary cells alike). Slot classes are appended at the end of each
|
|
57
|
+
* part's class list; per-part `className` stays on the root and still
|
|
58
|
+
* lands after the `wrapper` slot.
|
|
59
|
+
*/
|
|
60
|
+
type DataTableClassNames = {
|
|
61
|
+
/** The root wrapper (`data-slot='data-table'`). */
|
|
62
|
+
wrapper?: string;
|
|
63
|
+
/** The header `<thead>` (rendered through `TableHead`). */
|
|
64
|
+
header?: string;
|
|
65
|
+
/** The toolbar strip above the table (`data-slot='toolbar'`) — only
|
|
66
|
+
* rendered while the `toolbar` slot or `columnToggle` (without
|
|
67
|
+
* `pageSize`) contributes something. */
|
|
68
|
+
toolbar?: string;
|
|
69
|
+
/** The pagination footer row (`data-slot='pagination'`) — only
|
|
70
|
+
* rendered while `pageSize` is set. */
|
|
71
|
+
footer?: string;
|
|
72
|
+
/** Every body `<tbody>` (rendered through `TableBody`) — data,
|
|
73
|
+
* skeleton, empty and filter bodies alike. */
|
|
74
|
+
body?: string;
|
|
75
|
+
/** Every data row `<tr>` — body rows plus the skeleton and empty
|
|
76
|
+
* placeholder rows and the summary rows (header rows keep the
|
|
77
|
+
* `header` slot's domain). */
|
|
78
|
+
row?: string;
|
|
79
|
+
/** Every cell `<th>`/`<td>` — header, body (incl. selection),
|
|
80
|
+
* skeleton, empty, filter and summary cells alike. */
|
|
81
|
+
cell?: string;
|
|
82
|
+
/** The summary `<tfoot>` (`data-slot='summary'`) — only rendered
|
|
83
|
+
* while `summary` returns rows. */
|
|
84
|
+
summary?: string;
|
|
85
|
+
};
|
|
35
86
|
type DataTableProps<TData extends RowData> = {
|
|
36
87
|
/** Column definitions: accessors, headers and cell templates. */
|
|
37
88
|
columns: DataTableColumnDef<TData>[];
|
|
@@ -95,9 +146,11 @@ type DataTableProps<TData extends RowData> = {
|
|
|
95
146
|
* height; an object pins it explicitly (plus an optional `overscan`,
|
|
96
147
|
* default 5).
|
|
97
148
|
*
|
|
98
|
-
* The default height
|
|
99
|
-
* default cell styles: 2 ×
|
|
100
|
-
* (`--haze-text-sm`) line box +
|
|
149
|
+
* The default height follows the `size` density step — `34px` at `md`,
|
|
150
|
+
* the natural single-line row of the default cell styles: 2 ×
|
|
151
|
+
* `--haze-space-2` padding (16px) + a 14px (`--haze-text-sm`) line box +
|
|
152
|
+
* the 1px row border. `sm` tightens it to `23px`, `lg` loosens it to
|
|
153
|
+
* `39px`.
|
|
101
154
|
*
|
|
102
155
|
* Limitations and tradeoffs (evaluated against keeping `<tr>`s in one
|
|
103
156
|
* shared table): `VirtualList` positions rows through absolutely
|
|
@@ -209,6 +262,31 @@ type DataTableProps<TData extends RowData> = {
|
|
|
209
262
|
* filter function. Defaults to `false`.
|
|
210
263
|
*/
|
|
211
264
|
filterable?: boolean;
|
|
265
|
+
/**
|
|
266
|
+
* Column filter menus: any column declaring `meta.filters` (a list of
|
|
267
|
+
* `{ text, value }` options) grows a funnel trigger in its header cell
|
|
268
|
+
* opening a floating panel with one checkbox per option, plus
|
|
269
|
+
* Apply/Reset. The state maps column id → selected option values; it
|
|
270
|
+
* composes with the `filterable` text row, sorting and pagination
|
|
271
|
+
* (menus filter first, then the text filters, then sorting, then the
|
|
272
|
+
* page slice), and `dataTableToCsv` mirrors it through its `filters`
|
|
273
|
+
* option. A row passes when `meta.filterFn` returns true for the
|
|
274
|
+
* selection — the default keeps rows whose cell value equals a
|
|
275
|
+
* selected one. Controllable exactly like `sorting`/`page`: pass a
|
|
276
|
+
* value or `Control` to seed or drive it, observe every mutation
|
|
277
|
+
* through `onFiltersChange`. In `manual` mode the table renders `data`
|
|
278
|
+
* as received (the refetch trigger is yours, like sorting); row ids
|
|
279
|
+
* derive from the filtered array, so combine with `getRowId` when
|
|
280
|
+
* filtering and selecting together.
|
|
281
|
+
*/
|
|
282
|
+
filters?: ControlOrValue<DataTableFiltersState>;
|
|
283
|
+
/**
|
|
284
|
+
* Fires with the next column-filter state whenever a menu commits —
|
|
285
|
+
* Apply and Reset clicks alike, and programmatic updates on a
|
|
286
|
+
* controlled `filters`. In `manual` mode this is the server refetch
|
|
287
|
+
* trigger.
|
|
288
|
+
*/
|
|
289
|
+
onFiltersChange?: (filters: DataTableFiltersState) => void;
|
|
212
290
|
/**
|
|
213
291
|
* Renders summary rows in a `<tfoot>` below the body: one row per entry,
|
|
214
292
|
* one cell per leaf column (`cells[i]` aligns with column `i`; the
|
|
@@ -248,7 +326,88 @@ type DataTableProps<TData extends RowData> = {
|
|
|
248
326
|
* consumer owns the data — update it to make the edit visible.
|
|
249
327
|
*/
|
|
250
328
|
onCellEdit?: (rowId: string, columnId: string, nextValue: unknown, prevValue: unknown) => void;
|
|
329
|
+
/**
|
|
330
|
+
* Custom actions rendered in the toolbar strip at the table's inline-end
|
|
331
|
+
* corner — the same container as the `columnToggle` trigger (flex row,
|
|
332
|
+
* content first, trigger last). Renders above the table whether or not
|
|
333
|
+
* `pageSize` is set; the strip only appears when this slot or
|
|
334
|
+
* `columnToggle` contributes something (`null`/`undefined` render
|
|
335
|
+
* nothing). Available in every mode — `loading` swaps the body for the
|
|
336
|
+
* skeleton and leaves the strip untouched.
|
|
337
|
+
*/
|
|
338
|
+
toolbar?: ReactNode;
|
|
339
|
+
/**
|
|
340
|
+
* Cell density across header, body and summary footer: `sm` tightens the
|
|
341
|
+
* cell padding to `--haze-space-1/--haze-space-2`, `lg` loosens it to
|
|
342
|
+
* `--haze-space-3/--haze-space-4`, `md` (the default) keeps the Table
|
|
343
|
+
* primitives' `--haze-space-2/--haze-space-3`. Padding comes from spacing
|
|
344
|
+
* tokens, so the global `compact` density class composes — it shrinks the
|
|
345
|
+
* tokens these rules consume rather than fighting them (compact + `sm`
|
|
346
|
+
* stacks). Font size stays `--haze-text-sm` in every step; when
|
|
347
|
+
* `virtualized` without an explicit `rowHeight`, the default height
|
|
348
|
+
* follows the step (23/34/39px).
|
|
349
|
+
*/
|
|
350
|
+
size?: 'sm' | 'md' | 'lg';
|
|
351
|
+
/**
|
|
352
|
+
* Enable column reordering: every leaf header cell grows a drag grip
|
|
353
|
+
* (an inline-start ⠿ affordance) that can be dragged with the pointer —
|
|
354
|
+
* via `@dnd-kit`, loaded lazily the first time this prop is on, so
|
|
355
|
+
* tables that never opt in carry none of the drag runtime — or moved
|
|
356
|
+
* with the keyboard: the grip is a focusable button (its own tab stop,
|
|
357
|
+
* the resize-handle precedent) and Alt+ArrowLeft / Alt+ArrowRight move
|
|
358
|
+
* the column one slot (mirrored under RTL). The order lives in
|
|
359
|
+
* TanStack's `columnOrder` state and every reorder reports through
|
|
360
|
+
* `onColumnOrderChange`. The selection column stays pinned out of the
|
|
361
|
+
* reordering set, as do hidden columns (they simply have no grip);
|
|
362
|
+
* tree-expandable rows keep their expander inside the first content
|
|
363
|
+
* column, which reorders like any other. Composes with sorting,
|
|
364
|
+
* resizing (grip inline-start, resize handle inline-end), fixed
|
|
365
|
+
* columns, filtering and `virtualized` — the mirrored colgroup follows
|
|
366
|
+
* the new order. Grouped (nested) headers disable reordering: the prop
|
|
367
|
+
* is ignored and a dev-mode `console.warn` explains why, because a
|
|
368
|
+
* group header spans several leaves and has no single slot to move.
|
|
369
|
+
*/
|
|
370
|
+
columnReorderable?: boolean;
|
|
371
|
+
/**
|
|
372
|
+
* Reports the next column order — the ids of every visible leaf column,
|
|
373
|
+
* in their new sequence — after a completed reorder, whether it came
|
|
374
|
+
* from a pointer drag or the Alt+Arrow keys. Purely observational: the
|
|
375
|
+
* order itself is owned by the table's internal state, so persisting a
|
|
376
|
+
* preferred order means seeding `columns` in that sequence next mount.
|
|
377
|
+
*/
|
|
378
|
+
onColumnOrderChange?: (order: ColumnOrderState) => void;
|
|
379
|
+
/**
|
|
380
|
+
* Infinite-scroll trigger: fires when the table's scroll position comes
|
|
381
|
+
* within `endReachedThreshold` px of the last rendered row — the "load
|
|
382
|
+
* the next page" signal. In `virtualized` mode this is VirtualList's
|
|
383
|
+
* own end-reached channel (content shorter than the window fires
|
|
384
|
+
* immediately, and the trigger re-arms after content grows); otherwise
|
|
385
|
+
* a zero-footprint sentinel after the body is watched through an
|
|
386
|
+
* IntersectionObserver rooted at the table's own scroll container when
|
|
387
|
+
* it scrolls vertically (`stickyHeader`), falling back to the viewport —
|
|
388
|
+
* which still respects consumer scroll containers, since intersection
|
|
389
|
+
* is computed through every scrollable clipper between the sentinel
|
|
390
|
+
* and the viewport. Coexists with `manual` pagination on purpose:
|
|
391
|
+
* `onEndReached` keeps firing and the consumer decides whether to
|
|
392
|
+
* append rows or let the pager turn pages.
|
|
393
|
+
*/
|
|
394
|
+
onEndReached?: () => void;
|
|
395
|
+
/**
|
|
396
|
+
* Distance in px from the end of the content that arms `onEndReached`.
|
|
397
|
+
* Defaults to `200`.
|
|
398
|
+
*/
|
|
399
|
+
endReachedThreshold?: number;
|
|
400
|
+
/**
|
|
401
|
+
* Semantic slot classes (AntD v6 `classNames` shape): keyed by
|
|
402
|
+
* structural part (see {@link DataTableClassNames}). Not passing it
|
|
403
|
+
* renders identical output.
|
|
404
|
+
*/
|
|
405
|
+
classNames?: DataTableClassNames;
|
|
251
406
|
className?: string;
|
|
407
|
+
/** Forwarded to the root wrapper `<div>` (`data-slot='data-table'`)
|
|
408
|
+
* — the `...rest` spread keeps landing on the inner `<table>`. */
|
|
409
|
+
ref?: Ref<HTMLDivElement>;
|
|
252
410
|
} & Omit<ComponentPropsWithoutRef<'table'>, 'children' | 'summary'>;
|
|
253
|
-
export default function DataTable<TData extends RowData>({ columns, data, sortable, selectable, rowSelection: rowSelectionControl, sorting: sortingControl, pageSize, page: pageControl, manual, pageCount, onPageChange, onSortChange, loading, stickyHeader, virtualized, getRowId, onRowClick, empty, resizable, expanded: expandedControl, getRowCanExpand, renderExpandedRow, subRowsKey, columnVisibility: columnVisibilityControl, columnToggle, filterable, summary, stickyFooter, editable, onCellEdit, className, ...rest }: DataTableProps<TData>): import("react").JSX.Element;
|
|
254
|
-
export type { DataTableProps, DataTableColumnDef, DataTableColumnMeta, DataTableVirtualized, DataTableSummary, DataTableSummaryCell, DataTableCellEditorProps, };
|
|
411
|
+
export default function DataTable<TData extends RowData>({ columns, data, sortable, selectable, rowSelection: rowSelectionControl, sorting: sortingControl, pageSize, page: pageControl, manual, pageCount, onPageChange, onSortChange, loading, stickyHeader, virtualized, getRowId, onRowClick, empty, resizable, expanded: expandedControl, getRowCanExpand, renderExpandedRow, subRowsKey, columnVisibility: columnVisibilityControl, columnToggle, filterable, filters: filtersControl, onFiltersChange, summary, stickyFooter, editable, onCellEdit, toolbar: toolbarSlot, size: density, columnReorderable, onColumnOrderChange, onEndReached, endReachedThreshold, classNames, className, ref, ...rest }: DataTableProps<TData>): import("react").JSX.Element;
|
|
412
|
+
export type { DataTableProps, DataTableClassNames, DataTableColumnDef, DataTableColumnMeta, DataTableVirtualized, DataTableSummary, DataTableSummaryCell, DataTableCellEditorProps, };
|
|
413
|
+
export type { DataTableFiltersState } from './filters.js';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/** One predefined option of a column's header filter menu (`meta.filters`
|
|
3
|
+
* entry): the visible label and the value landing in the `filters` state
|
|
4
|
+
* when selected. */
|
|
5
|
+
type ColumnFilterOption = {
|
|
6
|
+
text: ReactNode;
|
|
7
|
+
value: unknown;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* The funnel trigger on a filterable column's header cell: a `Popover`
|
|
11
|
+
* (its trigger span carries `role=button`, `aria-expanded`,
|
|
12
|
+
* `aria-haspopup` and the keyboard model) opening the column's filter
|
|
13
|
+
* menu. The icon marks the active state — filled and primary-colored
|
|
14
|
+
* while the column carries a selection.
|
|
15
|
+
*/
|
|
16
|
+
declare function ColumnFilterTrigger({ label, options, selected, onChange, }: {
|
|
17
|
+
/** Column label — the trigger's sr-only name and the group's. */
|
|
18
|
+
label: string;
|
|
19
|
+
/** The column's predefined options, in declared order. */
|
|
20
|
+
options: ColumnFilterOption[];
|
|
21
|
+
/** The committed selection (selected option values). */
|
|
22
|
+
selected: unknown[];
|
|
23
|
+
/** Commits the next selection for this column. */
|
|
24
|
+
onChange: (values: unknown[]) => void;
|
|
25
|
+
}): import("react").JSX.Element;
|
|
26
|
+
export default ColumnFilterTrigger;
|
|
27
|
+
export type { ColumnFilterOption };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { SortableItem } from '../../utils/sortable.js';
|
|
3
|
+
/**
|
|
4
|
+
* The lazily loaded drag wiring behind DataTable's `columnReorderable` —
|
|
5
|
+
* the Chart/recharts contract inverted: DataTable is a base component, so
|
|
6
|
+
* its static import graph must stay free of the `@dnd-kit` runtime (the
|
|
7
|
+
* dist-esm contract's peer import rules); the table imports this module
|
|
8
|
+
* dynamically the first time column reordering is actually enabled. Only
|
|
9
|
+
* the pointer-drag mechanics live here — the reorder grips (focusable
|
|
10
|
+
* buttons with their Alt+Arrow keyboard model) render from DataTable.tsx
|
|
11
|
+
* with no dnd dependency at all, so keyboard reordering works even before
|
|
12
|
+
* this chunk arrives and nothing about the table changes for consumers
|
|
13
|
+
* that never opt in.
|
|
14
|
+
*
|
|
15
|
+
* Reaches @dnd-kit only through the utils sortable modules — never
|
|
16
|
+
* directly — so no dist file outside the contract's allowlist grows an
|
|
17
|
+
* engine import. Not part of the public barrel.
|
|
18
|
+
*/
|
|
19
|
+
type ColumnReorderRegionProps = {
|
|
20
|
+
/** Visible leaf column ids in current order — one sortable item each. */
|
|
21
|
+
ids: string[];
|
|
22
|
+
/** Index move resolved from a completed pointer drag. */
|
|
23
|
+
onMove: (from: number, to: number) => void;
|
|
24
|
+
children: ReactNode;
|
|
25
|
+
};
|
|
26
|
+
/** DndContext + SortableContext around the table root. Renders no DOM of
|
|
27
|
+
* its own except dnd-kit's screen-reader live regions, which land inside
|
|
28
|
+
* the DataTable root div — outside the `<table>`, where a stray `<div>`
|
|
29
|
+
* would be invalid markup (the SortableTabList precedent keeps them out
|
|
30
|
+
* of its tablist for the same reason). */
|
|
31
|
+
export declare function ColumnReorderRegion({ ids, onMove, children, }: ColumnReorderRegionProps): import("react").JSX.Element;
|
|
32
|
+
export { SortableItem as ColumnReorderItem };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ColumnVisibilityState, RowData } from '@tanstack/react-table';
|
|
2
|
-
import type { DataTableColumnDef } from './DataTable';
|
|
2
|
+
import type { DataTableColumnDef } from './DataTable.js';
|
|
3
|
+
import type { DataTableFiltersState } from './filters.js';
|
|
3
4
|
/** Options for `dataTableToCsv`. */
|
|
4
5
|
type DataTableCsvOptions = {
|
|
5
6
|
/**
|
|
@@ -16,6 +17,13 @@ type DataTableCsvOptions = {
|
|
|
16
17
|
* the table renders.
|
|
17
18
|
*/
|
|
18
19
|
columnVisibility?: ColumnVisibilityState;
|
|
20
|
+
/**
|
|
21
|
+
* The table's header-filter state (the `filters` control's value): rows
|
|
22
|
+
* are filtered through the same engine the table uses before
|
|
23
|
+
* serialization, so the export mirrors the filtered rows exactly —
|
|
24
|
+
* pass the value straight from your control, like `columnVisibility`.
|
|
25
|
+
*/
|
|
26
|
+
filters?: DataTableFiltersState;
|
|
19
27
|
};
|
|
20
28
|
/**
|
|
21
29
|
* Serializes rows and column defs to a CSV string (RFC 4180: CRLF row
|
|
@@ -24,8 +32,10 @@ type DataTableCsvOptions = {
|
|
|
24
32
|
* back to its id; grouped columns flatten to their leaves. Only exporting
|
|
25
33
|
* columns contribute: display-only columns (no `accessorKey`/`accessorFn`)
|
|
26
34
|
* are skipped, as are `meta.excludeFromExport` columns and columns hidden
|
|
27
|
-
* in `options.columnVisibility
|
|
28
|
-
*
|
|
35
|
+
* in `options.columnVisibility`; `options.filters` drops rows through
|
|
36
|
+
* the header filter menus' engine first. A UTF-8 BOM is prepended by
|
|
37
|
+
* default so Excel decodes non-ASCII text correctly (`bom: false` drops
|
|
38
|
+
* it).
|
|
29
39
|
*
|
|
30
40
|
* Pure string building — no DOM, no table instance — so it runs anywhere
|
|
31
41
|
* the row data lives (client, worker, server) on the same `columns` array
|
|
@@ -70,6 +70,21 @@ type DataTableColumnMeta = {
|
|
|
70
70
|
* column. The native TanStack `enableColumnFilter` field wins over this.
|
|
71
71
|
*/
|
|
72
72
|
filterable?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Predefined filter options for the column's header filter menu (the
|
|
75
|
+
* AntD `column.filters` seam): when non-empty, the column header grows
|
|
76
|
+
* a funnel trigger opening a floating panel with one checkbox per
|
|
77
|
+
* option. Selected `value`s land in the table-level `filters` state
|
|
78
|
+
* keyed by column id; a row passes when `meta.filterFn` (or the
|
|
79
|
+
* default membership check) returns true for the selection. Leaf
|
|
80
|
+
* columns only — a group header spans several columns and has no
|
|
81
|
+
* single value to filter on. `dataTableToCsv` honors the same state
|
|
82
|
+
* through its `filters` option.
|
|
83
|
+
*/
|
|
84
|
+
filters?: {
|
|
85
|
+
text: ReactNode;
|
|
86
|
+
value: unknown;
|
|
87
|
+
}[];
|
|
73
88
|
/**
|
|
74
89
|
* `true` keeps the column out of `dataTableToCsv` exports — the flag for
|
|
75
90
|
* columns whose cells are presentation-only (badges, action buttons) or
|
|
@@ -92,7 +107,8 @@ type DataTableColumnMeta = {
|
|
|
92
107
|
* actually drives are registered. `columnMeta` is a type-only slot that
|
|
93
108
|
* types `meta` on column definitions.
|
|
94
109
|
*
|
|
95
|
-
* The resizing, expanding, visibility and filtering features are
|
|
110
|
+
* The resizing, expanding, visibility, ordering and filtering features are
|
|
111
|
+
* registered
|
|
96
112
|
* unconditionally but stay inert until their table-level props opt in —
|
|
97
113
|
* with empty state and no `getSubRows` wired their row-model steps are
|
|
98
114
|
* identities, so the default render path is unchanged. The column-sizing
|
|
@@ -111,6 +127,7 @@ declare const dataTableFeatures: {
|
|
|
111
127
|
rowExpandingFeature: import("@tanstack/react-table").TableFeature;
|
|
112
128
|
expandedRowModel: (table: import("@tanstack/react-table").Table<any, any>) => () => import("@tanstack/react-table").RowModel<any, any>;
|
|
113
129
|
columnVisibilityFeature: import("@tanstack/react-table").TableFeature;
|
|
130
|
+
columnOrderingFeature: import("@tanstack/react-table").TableFeature;
|
|
114
131
|
columnFilteringFeature: import("@tanstack/react-table").TableFeature;
|
|
115
132
|
filteredRowModel: (table: import("@tanstack/react-table").Table<any, any>) => () => import("@tanstack/react-table").RowModel<any, any>;
|
|
116
133
|
filterFns: {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { RowData } from '@tanstack/react-table';
|
|
2
|
+
import type { DataTableColumnDef } from './DataTable.js';
|
|
3
|
+
/**
|
|
4
|
+
* The header-filter state: selected option `value`s keyed by column id
|
|
5
|
+
* (the id TanStack derives — explicit `id`, else the `accessorKey`). An
|
|
6
|
+
* absent key or empty array means "no filter"; empty selections are
|
|
7
|
+
* dropped from the state on commit so `{}` is the canonical "no
|
|
8
|
+
* filters" value.
|
|
9
|
+
*/
|
|
10
|
+
type DataTableFiltersState = Record<string, unknown[]>;
|
|
11
|
+
/**
|
|
12
|
+
* Applies the header filter menus' selections to raw rows — the shared
|
|
13
|
+
* engine behind the table's data pipeline (menus filter before sorting
|
|
14
|
+
* and pagination) and `dataTableToCsv`'s `filters` option, so an export
|
|
15
|
+
* mirrors exactly what the table renders. A column with no active
|
|
16
|
+
* selection filters nothing; with one, a row passes when its
|
|
17
|
+
* `meta.filterFn` returns true for the selected values array, defaulting
|
|
18
|
+
* to a membership check on the cell value (`values.includes(rowValue)`,
|
|
19
|
+
* SameValueZero — NaN-safe). Columns are combined with AND, options
|
|
20
|
+
* within a column with the `filterFn`'s own semantics (OR by default).
|
|
21
|
+
* Inert without active selections — the input array is returned as-is.
|
|
22
|
+
*/
|
|
23
|
+
declare function applyColumnFilters<TData extends RowData>(rows: TData[], columns: DataTableColumnDef<TData>[], filters: DataTableFiltersState | undefined): TData[];
|
|
24
|
+
export { applyColumnFilters };
|
|
25
|
+
export type { DataTableFiltersState };
|