niuma-ui 2.0.3 → 2.0.9
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/CHANGELOG.md +96 -0
- package/dist/components/_shared/index.d.ts +2 -2
- package/dist/components/_shared/src/overlay-utils.d.ts +44 -1
- package/dist/components/_shared/src/overlay-utils.js +87 -2
- package/dist/components/_shared/src/reka.d.ts +1 -1
- package/dist/components/_shared/src/reka.js +2 -2
- package/dist/components/alert/index.d.ts +1 -0
- package/dist/components/alert/src/RsAlert.css +120 -65
- package/dist/components/alert/src/RsAlert.d.ts +24 -5
- package/dist/components/alert/src/RsAlert.impl.js +108 -36
- package/dist/components/alert/src/RsAlert.js +1 -1
- package/dist/components/alert/src/alert-utils.d.ts +37 -0
- package/dist/components/alert/src/alert-utils.js +71 -0
- package/dist/components/anchor/index.d.ts +1 -1
- package/dist/components/anchor/src/RsAnchor.css +63 -32
- package/dist/components/anchor/src/RsAnchor.d.ts +29 -2
- package/dist/components/anchor/src/RsAnchor.impl.js +199 -81
- package/dist/components/anchor/src/RsAnchor.js +1 -1
- package/dist/components/anchor/src/anchor-utils.d.ts +36 -4
- package/dist/components/anchor/src/anchor-utils.js +81 -19
- package/dist/components/auto-complete/index.d.ts +2 -0
- package/dist/components/auto-complete/src/RsAutoComplete.css +122 -0
- package/dist/components/auto-complete/src/RsAutoComplete.d.ts +47 -7
- package/dist/components/auto-complete/src/RsAutoComplete.impl.js +180 -72
- package/dist/components/auto-complete/src/RsAutoComplete.js +4 -1
- package/dist/components/auto-complete/src/auto-complete-utils.d.ts +7 -0
- package/dist/components/auto-complete/src/auto-complete-utils.js +17 -0
- package/dist/components/avatar/index.d.ts +1 -0
- package/dist/components/avatar/src/RsAvatar.css +36 -19
- package/dist/components/avatar/src/RsAvatar.d.ts +9 -3
- package/dist/components/avatar/src/RsAvatar.impl.js +57 -33
- package/dist/components/avatar/src/RsAvatar.js +2 -1
- package/dist/components/avatar/src/avatar-utils.d.ts +16 -7
- package/dist/components/avatar/src/avatar-utils.js +41 -3
- package/dist/components/breadcrumb/index.d.ts +1 -1
- package/dist/components/breadcrumb/src/RsBreadcrumb.css +50 -17
- package/dist/components/breadcrumb/src/RsBreadcrumb.d.ts +45 -6
- package/dist/components/breadcrumb/src/RsBreadcrumb.impl.js +111 -12
- package/dist/components/breadcrumb/src/RsBreadcrumb.js +2 -1
- package/dist/components/breadcrumb/src/breadcrumb-utils.d.ts +37 -5
- package/dist/components/breadcrumb/src/breadcrumb-utils.js +70 -9
- package/dist/components/button/src/RsButton.impl.js +1 -1
- package/dist/components/calendar-grid/index.d.ts +2 -0
- package/dist/components/calendar-grid/src/RsCalendarGrid.css +105 -45
- package/dist/components/calendar-grid/src/RsCalendarGrid.d.ts +62 -2
- package/dist/components/calendar-grid/src/RsCalendarGrid.impl.js +265 -94
- package/dist/components/calendar-grid/src/RsCalendarGrid.js +1 -1
- package/dist/components/calendar-grid/src/calendar-grid-utils.d.ts +72 -0
- package/dist/components/calendar-grid/src/calendar-grid-utils.js +122 -0
- package/dist/components/card/index.d.ts +1 -1
- package/dist/components/card/src/RsCard.css +108 -98
- package/dist/components/card/src/RsCard.d.ts +4 -13
- package/dist/components/card/src/RsCard.impl.js +29 -25
- package/dist/components/card/src/RsCard.js +2 -1
- package/dist/components/card/src/card-utils.d.ts +25 -0
- package/dist/components/card/src/card-utils.js +10 -0
- package/dist/components/cascader/index.d.ts +1 -0
- package/dist/components/cascader/src/RsCascader.css +175 -30
- package/dist/components/cascader/src/RsCascader.d.ts +15 -3
- package/dist/components/cascader/src/RsCascader.impl.js +277 -48
- package/dist/components/cascader/src/RsCascader.js +1 -1
- package/dist/components/cascader/src/cascader-utils.d.ts +2 -0
- package/dist/components/cascader/src/cascader-utils.js +8 -1
- package/dist/components/checkbox/index.d.ts +1 -0
- package/dist/components/checkbox/src/RsCheckbox.css +46 -23
- package/dist/components/checkbox/src/RsCheckbox.d.ts +11 -1
- package/dist/components/checkbox/src/RsCheckbox.impl.js +37 -9
- package/dist/components/checkbox/src/RsCheckbox.js +2 -1
- package/dist/components/checkbox/src/checkbox-utils.d.ts +4 -0
- package/dist/components/checkbox/src/checkbox-utils.js +12 -0
- package/dist/components/code-block/index.d.ts +1 -0
- package/dist/components/code-block/src/RsCodeBlock.css +93 -52
- package/dist/components/code-block/src/RsCodeBlock.d.ts +36 -9
- package/dist/components/code-block/src/RsCodeBlock.impl.js +203 -84
- package/dist/components/code-block/src/RsCodeBlock.js +1 -1
- package/dist/components/code-block/src/code-block-highlight.d.ts +4 -0
- package/dist/components/code-block/src/code-block-highlight.js +34 -0
- package/dist/components/code-block/src/code-block-utils.d.ts +23 -0
- package/dist/components/code-block/src/code-block-utils.js +71 -0
- package/dist/components/code-editor/index.d.ts +1 -1
- package/dist/components/code-editor/src/RsCodeEditor.css +118 -92
- package/dist/components/code-editor/src/RsCodeEditor.d.ts +14 -3
- package/dist/components/code-editor/src/RsCodeEditor.impl.js +261 -94
- package/dist/components/code-editor/src/RsCodeEditor.js +1 -1
- package/dist/components/code-editor/src/code-editor-utils.d.ts +15 -0
- package/dist/components/code-editor/src/code-editor-utils.js +36 -1
- package/dist/components/code-editor/src/code-mirror-completion.d.ts +1 -1
- package/dist/components/code-editor/src/code-mirror-completion.js +8 -5
- package/dist/components/code-editor/src/code-mirror-diagnostics.d.ts +2 -3
- package/dist/components/code-editor/src/code-mirror-diagnostics.js +3 -4
- package/dist/components/code-editor/src/code-mirror-ghost.d.ts +1 -1
- package/dist/components/code-editor/src/code-mirror-ghost.js +12 -3
- package/dist/components/code-editor/src/code-mirror-inline-edit.js +8 -3
- package/dist/components/code-editor/src/code-mirror-intel.d.ts +2 -2
- package/dist/components/code-editor/src/code-mirror-intel.js +50 -39
- package/dist/components/code-editor/src/code-mirror-lang.js +4 -0
- package/dist/components/code-editor/src/code-mirror-session.d.ts +13 -0
- package/dist/components/code-editor/src/code-mirror-session.js +30 -0
- package/dist/components/container/index.d.ts +1 -1
- package/dist/components/container/src/RsContainer.css +11 -11
- package/dist/components/container/src/RsContainer.d.ts +2 -12
- package/dist/components/container/src/RsContainer.impl.js +10 -57
- package/dist/components/container/src/RsContainer.js +1 -1
- package/dist/components/container/src/container-utils.d.ts +23 -0
- package/dist/components/container/src/container-utils.js +51 -0
- package/dist/components/context-menu/index.d.ts +1 -1
- package/dist/components/context-menu/src/RsContextMenu.css +115 -89
- package/dist/components/context-menu/src/RsContextMenu.d.ts +32 -11
- package/dist/components/context-menu/src/RsContextMenu.impl.js +795 -48
- package/dist/components/context-menu/src/RsContextMenuItems.d.ts +25 -1
- package/dist/components/context-menu/src/RsContextMenuItems.impl.js +110 -61
- package/dist/components/context-menu/src/context-menu-utils.d.ts +89 -3
- package/dist/components/context-menu/src/context-menu-utils.js +168 -3
- package/dist/components/date-picker/index.d.ts +4 -2
- package/dist/components/date-picker/src/RsDatePicker.css +42 -22
- package/dist/components/date-picker/src/RsDatePicker.d.ts +44 -20
- package/dist/components/date-picker/src/RsDatePicker.impl.js +484 -222
- package/dist/components/date-picker/src/RsDatePicker.js +1 -3
- package/dist/components/date-picker/src/RsDateTimePicker.d.ts +33 -6
- package/dist/components/date-picker/src/RsDateTimePicker.impl.js +47 -6
- package/dist/components/date-picker/src/date-picker-utils.d.ts +19 -0
- package/dist/components/date-picker/src/date-picker-utils.js +33 -10
- package/dist/components/descriptions/index.d.ts +1 -1
- package/dist/components/descriptions/src/RsDescriptions.css +38 -11
- package/dist/components/descriptions/src/RsDescriptions.d.ts +20 -4
- package/dist/components/descriptions/src/RsDescriptions.impl.js +89 -19
- package/dist/components/descriptions/src/RsDescriptionsItem.impl.js +13 -6
- package/dist/components/descriptions/src/descriptions-utils.d.ts +19 -0
- package/dist/components/descriptions/src/descriptions-utils.js +39 -1
- package/dist/components/dialog/index.d.ts +1 -1
- package/dist/components/dialog/src/RsConfirmDialog.css +47 -21
- package/dist/components/dialog/src/RsConfirmDialog.d.ts +19 -7
- package/dist/components/dialog/src/RsConfirmDialog.impl.js +349 -119
- package/dist/components/dialog/src/RsConfirmDialog.js +2 -1
- package/dist/components/dialog/src/RsDialog.css +102 -109
- package/dist/components/dialog/src/RsDialog.d.ts +34 -24
- package/dist/components/dialog/src/RsDialog.impl.js +410 -177
- package/dist/components/dialog/src/RsDialog.js +2 -1
- package/dist/components/dialog/src/dialog-utils.d.ts +40 -1
- package/dist/components/dialog/src/dialog-utils.js +152 -1
- package/dist/components/dialog/src/dialog-window.js +29 -8
- package/dist/components/drawer/index.d.ts +1 -1
- package/dist/components/drawer/src/RsDrawer.css +61 -29
- package/dist/components/drawer/src/RsDrawer.d.ts +37 -21
- package/dist/components/drawer/src/RsDrawer.impl.js +441 -223
- package/dist/components/drawer/src/drawer-utils.d.ts +35 -0
- package/dist/components/drawer/src/drawer-utils.js +131 -1
- package/dist/components/dropdown/index.d.ts +1 -1
- package/dist/components/dropdown/src/RsDropdown.css +140 -61
- package/dist/components/dropdown/src/RsDropdown.d.ts +39 -6
- package/dist/components/dropdown/src/RsDropdown.impl.js +693 -63
- package/dist/components/dropdown/src/RsDropdownItemView.impl.js +17 -7
- package/dist/components/dropdown/src/RsDropdownItems.d.ts +32 -3
- package/dist/components/dropdown/src/RsDropdownItems.impl.js +171 -59
- package/dist/components/dropdown/src/dropdown-utils.d.ts +50 -0
- package/dist/components/dropdown/src/dropdown-utils.js +103 -3
- package/dist/components/dynamic-tags/index.d.ts +1 -1
- package/dist/components/dynamic-tags/src/RsDynamicTags.css +115 -38
- package/dist/components/dynamic-tags/src/RsDynamicTags.d.ts +58 -17
- package/dist/components/dynamic-tags/src/RsDynamicTags.impl.js +269 -106
- package/dist/components/dynamic-tags/src/RsDynamicTags.js +1 -1
- package/dist/components/dynamic-tags/src/dynamic-tags-utils.d.ts +19 -0
- package/dist/components/dynamic-tags/src/dynamic-tags-utils.js +60 -0
- package/dist/components/empty/index.d.ts +1 -0
- package/dist/components/empty/src/RsEmpty.css +105 -23
- package/dist/components/empty/src/RsEmpty.d.ts +27 -4
- package/dist/components/empty/src/RsEmpty.impl.js +154 -11
- package/dist/components/empty/src/RsEmpty.js +2 -1
- package/dist/components/empty/src/empty-utils.d.ts +28 -0
- package/dist/components/empty/src/empty-utils.js +55 -0
- package/dist/components/fieldset/src/RsFieldset.css +71 -41
- package/dist/components/fieldset/src/RsFieldset.d.ts +21 -2
- package/dist/components/fieldset/src/RsFieldset.impl.js +93 -26
- package/dist/components/fieldset/src/RsFieldset.js +1 -1
- package/dist/components/fieldset/src/fieldset-utils.d.ts +4 -0
- package/dist/components/fieldset/src/fieldset-utils.js +9 -1
- package/dist/components/form/index.d.ts +1 -0
- package/dist/components/form/src/RsForm.css +15 -12
- package/dist/components/form/src/RsForm.d.ts +21 -23
- package/dist/components/form/src/RsForm.impl.js +33 -20
- package/dist/components/form/src/RsForm.js +1 -1
- package/dist/components/form/src/form-utils.d.ts +7 -0
- package/dist/components/form/src/form-utils.js +28 -1
- package/dist/components/input/index.d.ts +1 -1
- package/dist/components/input/src/RsInput.css +78 -260
- package/dist/components/input/src/RsInput.d.ts +5 -3
- package/dist/components/input/src/RsInput.impl.js +8 -16
- package/dist/components/input/src/RsInput.js +1 -1
- package/dist/components/input/src/input-utils.d.ts +11 -0
- package/dist/components/input/src/input-utils.js +22 -0
- package/dist/components/input-number/index.d.ts +1 -0
- package/dist/components/input-number/src/RsInputNumber.css +31 -31
- package/dist/components/input-number/src/RsInputNumber.d.ts +16 -14
- package/dist/components/input-number/src/RsInputNumber.impl.js +17 -4
- package/dist/components/input-number/src/RsInputNumber.js +1 -1
- package/dist/components/label/src/RsLabel.css +30 -11
- package/dist/components/label/src/RsLabel.d.ts +18 -1
- package/dist/components/label/src/RsLabel.impl.js +63 -10
- package/dist/components/label/src/RsLabel.js +1 -1
- package/dist/components/label/src/label-utils.d.ts +6 -0
- package/dist/components/label/src/label-utils.js +16 -0
- package/dist/components/link/src/RsLink.d.ts +2 -2
- package/dist/components/loading/index.d.ts +1 -0
- package/dist/components/loading/src/RsLoading.css +13 -97
- package/dist/components/loading/src/RsLoading.d.ts +53 -3
- package/dist/components/loading/src/RsLoading.impl.js +216 -33
- package/dist/components/loading/src/RsLoading.js +2 -1
- package/dist/components/loading/src/loading-status.css +210 -0
- package/dist/components/loading/src/loading-status.d.ts +34 -0
- package/dist/components/loading/src/loading-status.impl.js +84 -0
- package/dist/components/loading/src/loading-status.js +8 -0
- package/dist/components/loading/src/loading-utils.d.ts +51 -4
- package/dist/components/loading/src/loading-utils.js +122 -0
- package/dist/components/loading-bar/index.d.ts +1 -0
- package/dist/components/loading-bar/src/RsLoadingBar.css +72 -8
- package/dist/components/loading-bar/src/RsLoadingBar.d.ts +55 -11
- package/dist/components/loading-bar/src/RsLoadingBar.impl.js +298 -57
- package/dist/components/loading-bar/src/RsLoadingBar.js +1 -1
- package/dist/components/loading-bar/src/loading-bar-utils.d.ts +69 -0
- package/dist/components/loading-bar/src/loading-bar-utils.js +97 -0
- package/dist/components/log/src/RsLog.css +52 -144
- package/dist/components/log/src/RsLog.d.ts +12 -11
- package/dist/components/log/src/RsLog.impl.js +181 -148
- package/dist/components/log/src/RsLog.js +1 -1
- package/dist/components/log/src/RsLogRow.css +152 -0
- package/dist/components/log/src/RsLogRow.d.ts +35 -0
- package/dist/components/log/src/RsLogRow.impl.js +91 -0
- package/dist/components/log/src/RsLogRow.js +8 -0
- package/dist/components/log/src/log-utils.d.ts +8 -0
- package/dist/components/log/src/log-utils.js +71 -10
- package/dist/components/markdown/index.d.ts +1 -1
- package/dist/components/markdown/src/RsMarkdown.css +75 -32
- package/dist/components/markdown/src/RsMarkdown.d.ts +6 -2
- package/dist/components/markdown/src/RsMarkdown.impl.js +185 -17
- package/dist/components/markdown/src/markdown-utils.d.ts +26 -0
- package/dist/components/markdown/src/markdown-utils.js +114 -12
- package/dist/components/mentions/index.d.ts +2 -1
- package/dist/components/mentions/src/RsMentions.css +119 -3
- package/dist/components/mentions/src/RsMentions.d.ts +57 -5
- package/dist/components/mentions/src/RsMentions.impl.js +298 -79
- package/dist/components/mentions/src/RsMentions.js +1 -3
- package/dist/components/mentions/src/mentions-utils.d.ts +5 -1
- package/dist/components/mentions/src/mentions-utils.js +28 -9
- package/dist/components/menu/index.d.ts +1 -1
- package/dist/components/menu/src/RsMenu.css +70 -29
- package/dist/components/menu/src/RsMenu.d.ts +58 -4
- package/dist/components/menu/src/RsMenu.impl.js +93 -46
- package/dist/components/menu/src/RsMenuItems.d.ts +22 -5
- package/dist/components/menu/src/RsMenuItems.impl.js +506 -154
- package/dist/components/menu/src/menu-utils.d.ts +56 -0
- package/dist/components/menu/src/menu-utils.js +139 -6
- package/dist/components/monaco-editor/index.d.ts +1 -1
- package/dist/components/monaco-editor/src/RsMonacoEditor.css +28 -16
- package/dist/components/monaco-editor/src/RsMonacoEditor.d.ts +39 -41
- package/dist/components/monaco-editor/src/RsMonacoEditor.impl.js +212 -133
- package/dist/components/monaco-editor/src/RsMonacoEditor.js +1 -1
- package/dist/components/monaco-editor/src/monaco-editor-utils.d.ts +126 -0
- package/dist/components/monaco-editor/src/monaco-editor-utils.js +302 -0
- package/dist/components/pagination/index.d.ts +2 -2
- package/dist/components/pagination/src/RsPagination.css +93 -46
- package/dist/components/pagination/src/RsPagination.d.ts +68 -8
- package/dist/components/pagination/src/RsPagination.impl.js +229 -86
- package/dist/components/pagination/src/RsPagination.js +1 -1
- package/dist/components/pagination/src/pagination-utils.d.ts +59 -0
- package/dist/components/pagination/src/pagination-utils.js +105 -1
- package/dist/components/popover/index.d.ts +1 -0
- package/dist/components/popover/src/RsPopover.css +124 -14
- package/dist/components/popover/src/RsPopover.d.ts +38 -7
- package/dist/components/popover/src/RsPopover.impl.js +546 -35
- package/dist/components/popover/src/RsPopover.js +2 -1
- package/dist/components/popover/src/popover-utils.d.ts +24 -2
- package/dist/components/popover/src/popover-utils.js +55 -0
- package/dist/components/radio/index.d.ts +1 -1
- package/dist/components/radio/src/RsRadio.css +7 -6
- package/dist/components/radio/src/RsRadio.d.ts +8 -5
- package/dist/components/radio/src/RsRadio.impl.js +34 -24
- package/dist/components/radio/src/RsRadio.js +2 -1
- package/dist/components/radio/src/RsRadioItem.css +61 -44
- package/dist/components/radio/src/RsRadioItem.d.ts +2 -2
- package/dist/components/radio/src/RsRadioItem.impl.js +53 -20
- package/dist/components/radio/src/RsRadioItem.js +2 -1
- package/dist/components/radio/src/radio-utils.d.ts +12 -1
- package/dist/components/radio/src/radio-utils.js +15 -1
- package/dist/components/scrollbar/src/RsScrollbar.css +71 -24
- package/dist/components/scrollbar/src/RsScrollbar.d.ts +9 -5
- package/dist/components/scrollbar/src/RsScrollbar.impl.js +372 -47
- package/dist/components/scrollbar/src/RsScrollbar.js +2 -1
- package/dist/components/scrollbar/src/scrollbar-utils.d.ts +34 -2
- package/dist/components/scrollbar/src/scrollbar-utils.js +64 -1
- package/dist/components/select/index.d.ts +1 -0
- package/dist/components/select/src/RsSelect.css +54 -42
- package/dist/components/select/src/RsSelect.d.ts +19 -2
- package/dist/components/select/src/RsSelect.impl.js +727 -312
- package/dist/components/select/src/RsSelect.js +1 -1
- package/dist/components/select/src/select-utils.d.ts +4 -2
- package/dist/components/select/src/select-utils.js +8 -3
- package/dist/components/select/src/use-rs-select.d.ts +1 -0
- package/dist/components/select/src/use-rs-select.js +23 -17
- package/dist/components/sidebar/index.d.ts +1 -0
- package/dist/components/sidebar/src/RsSidebar.css +91 -33
- package/dist/components/sidebar/src/RsSidebar.d.ts +17 -9
- package/dist/components/sidebar/src/RsSidebar.impl.js +124 -22
- package/dist/components/sidebar/src/RsSidebar.js +1 -1
- package/dist/components/sidebar/src/RsSidebarGroup.css +23 -6
- package/dist/components/sidebar/src/RsSidebarGroup.d.ts +6 -2
- package/dist/components/sidebar/src/RsSidebarGroup.impl.js +17 -4
- package/dist/components/sidebar/src/RsSidebarGroup.js +1 -1
- package/dist/components/sidebar/src/RsSidebarItem.css +50 -20
- package/dist/components/sidebar/src/RsSidebarItem.d.ts +21 -3
- package/dist/components/sidebar/src/RsSidebarItem.impl.js +71 -20
- package/dist/components/sidebar/src/RsSidebarItem.js +1 -1
- package/dist/components/sidebar/src/sidebar-utils.d.ts +47 -0
- package/dist/components/sidebar/src/sidebar-utils.js +72 -0
- package/dist/components/split-pane/index.d.ts +2 -2
- package/dist/components/split-pane/src/RsSplitPane.css +41 -30
- package/dist/components/split-pane/src/RsSplitPane.d.ts +6 -2
- package/dist/components/split-pane/src/RsSplitPane.impl.js +153 -45
- package/dist/components/split-pane/src/split-pane-utils.d.ts +23 -0
- package/dist/components/split-pane/src/split-pane-utils.js +18 -1
- package/dist/components/stat-card/index.d.ts +1 -0
- package/dist/components/stat-card/src/RsStatCard.css +129 -25
- package/dist/components/stat-card/src/RsStatCard.d.ts +40 -4
- package/dist/components/stat-card/src/RsStatCard.impl.js +106 -12
- package/dist/components/stat-card/src/RsStatCard.js +1 -1
- package/dist/components/stat-card/src/stat-card-utils.d.ts +39 -0
- package/dist/components/stat-card/src/stat-card-utils.js +113 -0
- package/dist/components/steps/index.d.ts +1 -1
- package/dist/components/steps/src/RsSteps.css +158 -37
- package/dist/components/steps/src/RsSteps.d.ts +69 -5
- package/dist/components/steps/src/RsSteps.impl.js +168 -28
- package/dist/components/steps/src/RsSteps.js +1 -1
- package/dist/components/steps/src/steps-utils.d.ts +51 -1
- package/dist/components/steps/src/steps-utils.js +67 -1
- package/dist/components/switch/index.d.ts +2 -1
- package/dist/components/switch/src/RsSwitch.css +36 -18
- package/dist/components/switch/src/RsSwitch.d.ts +18 -5
- package/dist/components/switch/src/RsSwitch.impl.js +61 -29
- package/dist/components/switch/src/RsSwitch.js +2 -1
- package/dist/components/switch/src/switch-utils.d.ts +4 -0
- package/dist/components/switch/src/switch-utils.js +9 -0
- package/dist/components/table/src/RsTable.impl.js +4 -2
- package/dist/components/table/src/composables/useRsTableContextMenu.d.ts +16 -0
- package/dist/components/table/src/composables/useRsTableContextMenu.js +1 -1
- package/dist/components/table/src/composables/useRsTableEngine.js +6 -2
- package/dist/components/table/src/composables/useRsTableScrollLayout.js +2 -0
- package/dist/components/table/src/composables/useRsTableShell.d.ts +16 -0
- package/dist/components/table/src/rs-table-props.d.ts +1 -1
- package/dist/components/table/src/rs-table-props.js +0 -1
- package/dist/components/table/src/table-body/RsTableBody.impl.js +1 -0
- package/dist/components/table/src/table-body/RsTableCellEditor.impl.js +10 -2
- package/dist/components/table/src/table-body/RsTableColGroup.impl.js +1 -0
- package/dist/components/table/src/table-footer/RsTableSummaryRow.impl.js +1 -0
- package/dist/components/table/src/table-header/RsTableHeader.impl.js +1 -0
- package/dist/components/table/src/utils/table-utils.d.ts +10 -6
- package/dist/components/table/src/utils/table-utils.js +27 -25
- package/dist/components/table/style/rs-table.css +34 -20
- package/dist/components/tabs/index.d.ts +2 -2
- package/dist/components/tabs/src/RsTabs.css +225 -101
- package/dist/components/tabs/src/RsTabs.d.ts +37 -8
- package/dist/components/tabs/src/RsTabs.impl.js +400 -270
- package/dist/components/tabs/src/tabs-utils.d.ts +41 -2
- package/dist/components/tabs/src/tabs-utils.js +55 -1
- package/dist/components/terminal/index.d.ts +1 -1
- package/dist/components/terminal/src/RsTerminal.css +60 -37
- package/dist/components/terminal/src/RsTerminal.d.ts +36 -4
- package/dist/components/terminal/src/RsTerminal.impl.js +288 -68
- package/dist/components/terminal/src/RsTerminal.js +1 -1
- package/dist/components/terminal/src/terminal-utils.d.ts +42 -4
- package/dist/components/terminal/src/terminal-utils.js +113 -10
- package/dist/components/textarea/src/RsTextarea.css +23 -23
- package/dist/components/textarea/src/RsTextarea.d.ts +7 -13
- package/dist/components/textarea/src/RsTextarea.impl.js +37 -46
- package/dist/components/textarea/src/RsTextarea.js +1 -1
- package/dist/components/textarea/src/textarea-utils.d.ts +27 -0
- package/dist/components/textarea/src/textarea-utils.js +61 -0
- package/dist/components/time-picker/index.d.ts +3 -2
- package/dist/components/time-picker/src/RsTimePicker.css +41 -24
- package/dist/components/time-picker/src/RsTimePicker.d.ts +52 -7
- package/dist/components/time-picker/src/RsTimePicker.impl.js +520 -156
- package/dist/components/time-picker/src/RsTimePicker.js +1 -3
- package/dist/components/time-picker/src/RsTimePickerColumns.css +26 -18
- package/dist/components/time-picker/src/RsTimePickerColumns.d.ts +3 -1
- package/dist/components/time-picker/src/RsTimePickerColumns.impl.js +62 -9
- package/dist/components/time-picker/src/RsTimePickerColumns.js +1 -1
- package/dist/components/time-picker/src/time-picker-utils.d.ts +38 -0
- package/dist/components/time-picker/src/time-picker-utils.js +97 -5
- package/dist/components/toaster/src/RsToaster.css +156 -203
- package/dist/components/toaster/src/RsToaster.d.ts +33 -3
- package/dist/components/toaster/src/RsToaster.impl.js +309 -34
- package/dist/components/toaster/src/toast-store.d.ts +95 -0
- package/dist/components/toaster/src/toast-store.js +177 -0
- package/dist/components/toaster/src/toast-utils.d.ts +60 -0
- package/dist/components/toaster/src/toast-utils.js +86 -0
- package/dist/components/toolbar/index.d.ts +1 -1
- package/dist/components/toolbar/src/RsToolbar.css +206 -32
- package/dist/components/toolbar/src/RsToolbar.d.ts +41 -16
- package/dist/components/toolbar/src/RsToolbar.impl.js +146 -18
- package/dist/components/toolbar/src/RsToolbar.js +2 -1
- package/dist/components/toolbar/src/toolbar-utils.d.ts +20 -0
- package/dist/components/toolbar/src/toolbar-utils.js +105 -0
- package/dist/components/tooltip/index.d.ts +1 -0
- package/dist/components/tooltip/src/RsTooltip.css +104 -26
- package/dist/components/tooltip/src/RsTooltip.d.ts +39 -17
- package/dist/components/tooltip/src/RsTooltip.impl.js +420 -51
- package/dist/components/tooltip/src/RsTooltip.js +2 -1
- package/dist/components/tooltip/src/RsTooltipProvider.d.ts +4 -4
- package/dist/components/tooltip/src/RsTooltipProvider.impl.js +51 -14
- package/dist/components/tooltip/src/tooltip-utils.d.ts +30 -0
- package/dist/components/tooltip/src/tooltip-utils.js +23 -0
- package/dist/components/tree/index.d.ts +2 -2
- package/dist/components/tree/src/RsTree.css +84 -75
- package/dist/components/tree/src/RsTree.d.ts +23 -23
- package/dist/components/tree/src/RsTree.impl.js +292 -66
- package/dist/components/tree/src/RsTree.js +1 -1
- package/dist/components/tree/src/tree-utils.d.ts +22 -0
- package/dist/components/tree/src/tree-utils.js +18 -4
- package/dist/components/tree-select/index.d.ts +2 -0
- package/dist/components/tree-select/src/RsTreeSelect.css +100 -25
- package/dist/components/tree-select/src/RsTreeSelect.d.ts +91 -7
- package/dist/components/tree-select/src/RsTreeSelect.impl.js +464 -79
- package/dist/components/tree-select/src/RsTreeSelect.js +1 -1
- package/dist/components/tree-select/src/tree-select-utils.d.ts +20 -0
- package/dist/components/tree-select/src/tree-select-utils.js +60 -0
- package/dist/components/upload/index.d.ts +2 -1
- package/dist/components/upload/src/RsUpload.css +223 -75
- package/dist/components/upload/src/RsUpload.d.ts +77 -1
- package/dist/components/upload/src/RsUpload.impl.js +404 -90
- package/dist/components/upload/src/RsUpload.js +1 -1
- package/dist/components/upload/src/upload-utils.d.ts +21 -2
- package/dist/components/upload/src/upload-utils.js +139 -9
- package/dist/components/virtual-list/index.d.ts +1 -1
- package/dist/components/virtual-list/src/RsVirtualList.css +64 -9
- package/dist/components/virtual-list/src/RsVirtualList.d.ts +31 -5
- package/dist/components/virtual-list/src/RsVirtualList.impl.js +425 -76
- package/dist/components/virtual-list/src/RsVirtualList.js +1 -1
- package/dist/components/virtual-list/src/virtual-list-utils.d.ts +64 -1
- package/dist/components/virtual-list/src/virtual-list-utils.js +215 -1
- package/dist/composables/useRsLoadingBar.d.ts +2 -5
- package/dist/composables/useRsLoadingBar.js +21 -5
- package/dist/composables/useRsTabsNav.d.ts +3 -1
- package/dist/composables/useRsTabsNav.js +96 -28
- package/dist/composables/useRsToast.d.ts +11 -13
- package/dist/composables/useRsToast.js +66 -17
- package/dist/index.d.ts +51 -32
- package/dist/index.js +20 -0
- package/dist/locale/apply.js +6 -1
- package/dist/locale/messages.js +174 -4
- package/dist/styles.css +1007 -980
- package/dist/theme/brand.example.css +3 -2
- package/dist/vite-plugins/niuma-ui-host.js +1 -1
- package/package.json +2 -3
- package/dist/components/breadcrumb/src/RsBreadcrumbItems.d.ts +0 -8
- package/dist/components/breadcrumb/src/RsBreadcrumbItems.impl.js +0 -40
- package/dist/components/breadcrumb/src/RsBreadcrumbItems.js +0 -5
- package/dist/components/date-picker/src/RsDatePicker-1.css +0 -157
- package/dist/components/mentions/src/RsMentions-1.css +0 -29
- package/dist/components/time-picker/src/RsTimePicker-1.css +0 -98
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,101 @@
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [2.0.9] - 2026-09-22
|
|
10
|
+
|
|
11
|
+
### 变更
|
|
12
|
+
|
|
13
|
+
- `RsTable`:原先就不引用 Reka。`data` / 排序 / 选择 / 虚拟滚动 / 编辑 / 树表 / 右键语义不变。补组件名。`nullLabel` 未传时走 `table.nullValue`。默认字符串排序和筛选跟当前 locale(`localeCompare` / `toLocaleLowerCase`);列上的 `sorter` 仍由宿主比较。颜色改跟 `--rs-surface` / `--rs-text-primary` / `--rs-border`,高对比会跟着走。选中色条、列拖放线和展开箭头在 RTL 转向。减少动态时外壳挂 `rs-motion-reduce`。单元格日期失焦提交的定时器在卸载时清掉;滚动布局卸载时作废尚未写回的帧并断开 ResizeObserver。列宽拖拽仍在松开和卸载时摘掉 document 监听。`subscribeAnalytics` 返回的取消函数不调用会留到表格卸载。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,并补排序、勾选、筛选、空态、虚拟、插槽、合计、分组、右键、实例 API、主题和键盘。
|
|
14
|
+
- `RsTree`:原先就不引用 Reka。`v-model` / `v-model:expandedKeys` / `v-model:checkedKeys` / `v-model:halfCheckedKeys` / 勾选、拖拽、过滤、懒加载、虚拟滚动与 `expandAll` / `collapseAll` / `expandNode` / `collapseNode` / `focusNode` 语义不变。补 `disabled`(含 Form.disabled)/ `ariaLabel` / `id`、`#icon` / `#empty`、`focus()` / `scrollToKey()` / `getSelectedKeys()` / `getCheckedKeys()` / `getExpandedKeys()` / `getHalfCheckedKeys()` 与公开类型 `RsTreeExpose` / `RsTreeInstance`。未传 `size` 跟 Form / ConfigProvider。树是一个 Tab 停靠点(`aria-activedescendant`);方向键在 RTL 对调;字符前缀跳转,输入法组合键不抢;`*` 展开当前层已加载的兄弟。`aria-setsize` / `aria-posinset` 按兄弟计。半选写到 checkbox 的 `indeterminate`。过滤与高亮用 `toLocaleLowerCase`。虚拟列表按行号滚动,不再依赖未挂载的行节点。`virtual` 开关时成对连接 / 断开 ResizeObserver;`loadData` 在卸载后不再改展开;输入跳转定时器卸载时清掉。行引用离开窗口就从 Map 删除。开发环境在虚拟滚动开启时 `console.info` 一行(节点数、视口高度),未开启不打印。名称走 `tree.*`。高亮、拖入和勾选标记走 `--rs-tree-highlight-bg` / `--rs-tree-drop-inside-bg` / `--rs-tree-check-fg`,间距用逻辑属性,减少动态时关掉过渡。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ。
|
|
15
|
+
- `RsMonacoEditor`:补 `contextMenu`(默认开,仍是 Monaco 原生右键)和 `contextmenu`(行、列、选中文本、指针坐标)。关掉后不再弹出原生菜单,并拦住浏览器菜单;事件仍发,监听随编辑器释放。`options.contextmenu` 不盖过这个开关。
|
|
16
|
+
- `RsContextMenu`:打开和子菜单先按实测尺寸摆好再淡入。未摆好前不显示,避免边缩放边改 `top` / `left` 时跳动。上下移动高亮只更新条目列表,不再重测面板,层节点的 ref 保持同一个函数。
|
|
17
|
+
- `RsTerminal`:原先就不引用 Reka。`data` / `write` / `resize` / 右键项 / `inputEnabled` / 搜索 / `copyOnSelect` / `minimumContrastRatio` 语义不变。补 `cursorStyle` / `screenReaderMode` / `openLinks` / `rescaleOverlappingGlyphs`(默认开,便于 GB18030 歧义宽度)/ `ariaLabel` / `id`,以及 `titleChange` / `bell` / `link`。http(s) 与 mailto 新开标签并带 noopener,`javascript:` 与 `data:` 忽略。`inputEnabled` 为 false 时关掉 stdin。画面 `dir=ltr`。`themeMode=auto` 跟最近的 `data-rs-theme`,颜色从宿主继承的 token 来。多个实例共用一个主题观察器,最后一个卸载才断开。卸载同时摘掉 ResizeObserver、滚轮、减少动态监听和 xterm 订阅;首次 fit 还在等字体时卸载,之后不再挂观察器。搜索插件只在 `searchEnabled` 时加载。没有匹配时搜索框说明走 `terminal.searchEmpty`,输入法组合中的 Enter 不跳下一条。名称走 `terminal.label`。外壳阴影走 `--rs-shadow-sm`,搜索焦点环走 `--rs-focus-*`。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ。
|
|
18
|
+
|
|
19
|
+
## [2.0.8] - 2026-09-22
|
|
20
|
+
|
|
21
|
+
### 变更
|
|
22
|
+
|
|
23
|
+
- `RsLog`:原先就不引用 Reka。`v-model:lines` / `v-model:search` / `v-model:levels` / `text` / 高度、虚拟、折行、级别推断、`inferMarkers`、`maxLines`、`follow`、`live`、复制与 `append` / `clear` / `scrollTo*` 语义不变。补 `id`。展示、搜索、复制和级别推断去掉 ANSI,`getLines().text` 仍是源文本,并多了 `plain`。工具条跟页面书写方向,正文默认 `dir=ltr`。贴底被上滚或框选打断时出现「回到最新」,并带新增行数;搜索显示匹配条数,Enter / Shift+Enter 在匹配行之间移动(输入法组合键不抢)。级别名和时间也能被当前 locale 搜到。`Intl.DateTimeFormat` 与标识正则各最多缓存 24 / 64 个。字符串 `append` 只按行裁剪,不再为了 `maxLines` 整段归一化。虚拟列表用稳定 key,窗口滑动时同一行不换键。高亮每行只算一次。复制定时器在卸载时清掉,剪贴板若在卸载后返回不再排新定时器。没有 window 监听,也没有 ResizeObserver。名称走 `log.*`。描边、级别色和当前行色条走 `--rs-log-*`,色条在逻辑起点。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ。
|
|
24
|
+
- `RsMarkdown`:原先就不引用 Reka。`v-model` / `v-model:mode` / `readonly` / `height` / `placeholder` / `theme` / `rounded` / `showModeToggle` / `breaks` / `disabled` 语义不变;readonly 仍强制预览并隐藏模式条。补 `ariaLabel` / `id` 与 `focus()`。模式条是原生 tablist(方向键 / Home / End,RTL 左右对调)。外链(http(s)、mailto、tel)仍新开标签并带 noopener;锚点、站内路径和相对路径留在当前页。图片增加站内路径,并拒绝 SVG data URL。标题带稳定 id,代码块 `dir=ltr`。编辑模式不解析;预览击键约 32ms 合并,切模式立即解析,定时器在卸载和停用时清掉。主题岛上的 MutationObserver 同样在卸载和停用时断开。`theme=light|dark` 写到根的 `data-rs-theme`。描边与表面走 `--rs-markdown-*`,间距用逻辑属性。文案走 `markdown.*`。无 window 时 `renderMarkdown` 返回空字符串。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ。
|
|
25
|
+
- `RsMonacoEditor`:外框用 `overflow: hidden` 把 Monaco 画布裁进圆角。补 `radius`(默认 md,跟 ConfigProvider)。`embedded` 去掉自己的边框和底色,圆角改跟父级,不再用 `block-size: 100%` 盖掉 `height`。
|
|
26
|
+
- `RsMonacoEditor`:原先就不引用 Reka。`v-model` / `language` / `height` / `readonly` / `theme` / `minimap` / `glyphMargin` / `debugCurrentLine` / `debugBreakpoints` / `embedded` / `jsonSchema` / `snippets` / `completionRequest` / `completionTriggerCharacters` / `completionPrefixResolver` / `options` 与 `glyphMarginClick` / `format()` / `getEditor()` / `revealLine()` 语义不变。补 `disabled` / `placeholder` / `ariaLabel` / `id`、`focus` / `blur` / `ready` 与 `focus()` / `blur()`,公开类型增加 `RsMonacoEditorInstance` / `RsMonacoEditorTheme`。`theme="auto"` 在未写 `data-rs-theme` 时跟浅色(与全库一致);`light` / `vs-dark` 落到带 token 色的 `rs-light` / `rs-dark`(语法色仍继承 vs / vs-dark)。Monaco 的 `setTheme` 仍是进程级,同一页不能同时呈现两套主题。源码面 `dir=ltr`。减少动态时关掉平滑滚动和光标动画。多个实例共用一个主题观察器和每种语言一个补全 Provider;卸载摘掉内容 / 焦点 / glyph 监听、编辑器、Model、自己的 JSON Schema,并在最后一个实例离开时断开观察器。名称走 `monaco.label`。描边与表面走 `--rs-monaco-*`,Find Widget 层级用 `--rs-z-dropdown`。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ。
|
|
27
|
+
- `RsCodeEditor`:原先就不引用 Reka。`v-model` / `language` / `theme` / `height` / `readonly` / `disabled` / `showToolbar` / `embedded` / `rounded` / `gutterWidth` / `foldGutter` / `diagnostics` / `placeholder` / `sqlConfig` / `filePath` / 悬停、定义、补全、行内编辑 / `goto-definition` / `ready` / `#toolbar` / `goToPosition` 语义不变。补 `wrap`(默认开)/ `autofocus` / `ariaLabel` / `id`、`focus()` 与公开类型 `RsCodeEditorExpose`。`theme=auto` 仍跟页面;`light` / `dark` 在根上写 `data-rs-theme`,语法色跟这一档。toml 有高亮。行内编辑、诊断和取消文案走 `codeEditor.*` / `common.cancel`。显式主题、占位、折行和只读不再整篇重建。悬停、定义、补全、行内编辑在下一次请求或卸载时 abort 可选 `signal`,销毁后不再 `dispatch`。多个编辑器共用一个主题监听,最后一个卸载才断开。诊断字段不再共用一个 CodeMirror compartment。SQL schema 变化仍重建,并尽量保住光标。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ。
|
|
28
|
+
|
|
29
|
+
## [2.0.7] - 2026-09-22
|
|
30
|
+
|
|
31
|
+
### 变更
|
|
32
|
+
|
|
33
|
+
- `RsCodeBlock`:原先就不引用 Reka。根仍是原生 `figure`,`code` / `lang` / `editable` / `showBar` / `downloadFilename` / 文案覆盖与 `update:code`、`getSelection()` 语义不变;只读仍藏光标,`showBar=false` 仍去掉语言条并取消最大高度。补 `filename` / `lineNumbers` / `wordWrap` / `highlightLines` / `maxHeight` / `ariaLabel` / `id` / `copyFailedLabel`、`#actions`、`copy` 与 `focus()`。复制改走 `copyTextToClipboard`(非安全上下文有兜底),失败文案走 `codeBlock.copyFailed`,结果用 `role=status` 播报。工具条名称走 `codeBlock.toolbar`。代码区 `dir=ltr`。主题只在明暗翻转时重配语法色(按最近的 `data-rs-theme`,深色岛不必改 documentElement),不销毁文档;多个实例共用一个 `data-rs-theme` 观察器,最后一个卸载才断开。语言包异步返回后若已卸载或已被更新的初始化取代,不再挂上编辑器。下载对象 URL 延迟回收,卸载时撤销。外部改 `code` 不再回声 `update:code`。描边与表面走 `--rs-code-block-*`,间距用逻辑属性,减少动态时关掉按钮过渡。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ。
|
|
34
|
+
- `RsVirtualList`:控件已是原生 overflow,无 Reka。`items` / `itemSize` / `height` / `overscan` / `activeIndex` / `layoutActive` / `radius` / 默认插槽 `{ item, index }` / `scrollToIndex(index, align = 'center')` 语义不变;`scroll` 仍把原生 `Event` 交给监听方(日志跟底靠 `target.scrollTop`)。`itemSize` 为函数时按索引变高(原先只用第 0 项的高度)。补 `itemSize="auto"` / `estimateSize` / `orientation` / `itemKey` / `keyboard` / `bordered` / `ariaLabel` / `id`、`#empty`、`change` 与 `scrollToOffset` / `getScrollOffset` / `getViewport` / `focus`。键盘默认关,避免抢走日志的方向键;打开后根是 listbox,方向键 / Home / End 移动当前项(横向在 RTL 对调)。滚动位置同一事件里更新窗口,避免慢一帧;`activeIndex` 的对齐、测量和 keep-alive 恢复仍走 rAF,卸载取消帧、断开 ResizeObserver、清掉滚动中的定时器。`auto` 只观察可见行,离开视口就 `unobserve`。总高度超过 800 万像素时压缩滚动条,行高仍是真实像素。当前项色条用逻辑起点。空态与 listbox 名称走 `virtualList.*`。描边与表面走 `--rs-virtual-list-*`。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点定高、变高、当前项、横向、测量、空态、键盘、事件、无限滚动(滚近底部追加下一页,并显示已加载条数)与 `scrollToIndex()` / `scrollToOffset()` / `getScrollOffset()` / `getViewport()` / `focus()`。
|
|
35
|
+
- `RsDescriptions` / `RsDescriptionsItem`:原先就不引用 Reka。`title` / `items` / `columns` / `labelPlacement` / `bordered` / `size` / `radius` 与 `#title` / 默认插槽 / `item-${key}` 语义不变;空值仍只替换 null / undefined(默认 —,空字符串和 0 原样)。根改为包一层 `dl`,条目是 `dt` / `dd`。补 `colon`(走 `label.colon`,默认关)/ `labelWidth` / `labelAlign`(start / center / end,跟书写方向)/ `emptyText` / `ariaLabel` / `id`、`#extra` / `label-${key}` / `#label` 与公开类型 `RsDescriptionsLabelAlign`。未传 `size` 仍跟 Form / ConfigProvider。描边、标题、标签与值改走 `--rs-descriptions-*`(文字用 `--rs-text-primary` / `--rs-text-secondary`),间距用逻辑属性。无窗口监听、无定时器、无 ResizeObserver。不提供 `column` 别名、响应式列对象或 labelStyle。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ。
|
|
36
|
+
- `RsStatCard`:控件已是原生 `section`,无 Reka。`label` / `value` / `description` / `accent` / `loading` 与 `#value` / 默认插槽语义不变;未开 `format` 时数字仍是原文(12480 不会变成 12,480)。补 `prefix` / `suffix` / `trend` / `delta` / `trendTone` / `format` / `precision` / `size` / `id` / `ariaLabel`、`#prefix` / `#suffix` / `#icon` / `#trend` / `#description` 与公开类型 `RsStatAccent` / `RsStatTrend` / `RsStatTrendTone` / `RsStatSize` / `RsStatFormat`。涨跌方向与好坏分开,箭头对读屏隐藏,方向文案走 `statCard.trend.*`。加载态 `aria-busy`,文案走 `statCard.loading`,不设 live region。`Intl.NumberFormat` 最多缓存 24 个,非法选项回退原文。无窗口监听、无定时器、无 ResizeObserver。颜色走 `--rs-*`,间距用逻辑属性,骨架脉冲在减少动态时停住。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ。
|
|
37
|
+
|
|
38
|
+
## [2.0.6] - 2026-09-22
|
|
39
|
+
|
|
40
|
+
### 变更
|
|
41
|
+
|
|
42
|
+
- `RsToaster`:去掉 `vue-sonner`(该组件原先不引用 Reka)。`useRsToast` 的 success / error / info / warning、字符串或 `{ title, description, position, duration }`、`dismiss()` 语义不变,并返回 id。补 `message` / `loading` / `promise` / `update`、`action` / `cancel`、`onDismiss` / `onAutoClose`、`toasterId`,以及宿主上的 `duration` / `visibleToasts` / `offset` / `swipe` / `pauseOnHover` / `hotkey` / `ariaLabel` / `teleportTo` / `id` 与 `dismiss(id)`。错误是 `role=alert`,其余是 `role=status`。关闭文案走 `toaster.close`。悬停、焦点、页面隐藏暂停倒计时;滑动只在这一次手势上捕获指针。每个宿主最多留 24 条,定时器和 `visibilitychange` 在队列清空时摘掉,卸载摘掉快捷键。颜色走 `--rs-toast-*`,方位用物理角,条内间距用逻辑属性,减少动态时不做离场等待、也不模糊。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ。
|
|
43
|
+
- `RsConfirmDialog`:去掉 Reka `AlertDialog*`,改为原生 `dialog`(`role="alertdialog"`,带 `open`,不调用 `showModal`)+ Teleport。`v-model:open` / 文案 / `tone` / `icon` / `width` / 确认取消 / `confirmLoading` / `autoCloseOnConfirm` / `beforeClose` / `showOverlay` / `teleportTo` / `#icon` / `#extra` 与 `close` 语义不变。补 `closeOnEsc` / `lockScroll` / `zIndex` / `ariaLabel` / `id`、`focus()` 与公开类型 `RsConfirmDialogExpose` / `RsConfirmDialogInstance`。始终模态:焦点陷阱、Esc 只关最上层(与 Dialog 共用层栈)、关闭还焦点、透明层挡住点击;`showOverlay` 只负责涂暗,点遮罩不关闭。`lockScroll` 默认 true,引用计数并补滚动条宽度。父级把 `open` 设为 false 仍走 `beforeClose('programmatic')`,被拦住会重新打开。确认关闭不发 `cancel`。打开时才挂 keydown,卸载摘掉。面板抄触发处的 `data-rs-theme` / `dir` / `lang`。间距用逻辑属性,减少动态时关掉模糊。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点危险确认、色相、单按钮、拦截、附加内容、遮罩、挂载、叠加与 `close()` / `focus()`。
|
|
44
|
+
|
|
45
|
+
## [2.0.5] - 2026-09-22
|
|
46
|
+
|
|
47
|
+
### 变更
|
|
48
|
+
|
|
49
|
+
- `RsDrawer`:去掉 Reka `Dialog*`,改为原生 `dialog` + Teleport。`v-model:open` / `title` / `description` / `side` / `size` / `width` / `height` / `resizable` / `minSize` / `maxSize` / `modal` / `showOverlay` / `overlayOpacity` / `overlayBlur` / `showClose` / `closeOnOverlayClick` / `closeOnEsc` / `teleportTo` / `beforeClose` 与 `close` / `openDrawer`、`afterOpen` / `afterClose` / `resize` 语义不变。补 `destroyOnClose`(默认 true,与原先关闭后卸载一致)/ `forceRender` / `lockScroll` / `zIndex` / `ariaLabel` / `id`、`#extra` 与公开类型 `RsDrawerExpose` / `RsDrawerInstance`。模态锁焦点、Tab 循环、Esc 只关最上层,关闭后把焦点还回去;未传 `modal` 时仍跟随遮罩。挂到 body 的模态才锁滚动并补滚动条宽度,引用计数,卸载成对恢复。打开手势的指针监听多实例共用,卸载减到 0 才摘掉;外部点击、Esc、拖拽监听只在打开时挂上。拖拽仍先写 DOM,松手再提交。分隔条走 APG(方向键 / Home / End)。面板抄触发处的 `data-rs-theme` / `dir` / `lang`。`will-change` 只在滑动期间。正文在抽屉内滚动。描边与表面走 `--rs-drawer-*`,间距用逻辑属性,贴屏幕的一边留安全区,减少动态时不等待滑出。没有推开页面、没有手势甩关。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点方向、尺寸、模态、拖拽、插槽、beforeClose、深色岛、事件与 `openDrawer()` / `focus()` / `close()`。
|
|
50
|
+
- `RsDialog`:去掉 Reka `Dialog*`,改为原生 `dialog` + Teleport(带 `open`,不调用 `showModal`,以便拖拽、非模态和自定义遮罩)。`v-model:open` / `layout` / `width` / `height` / 拖拽缩放全屏 / `beforeClose` / 页脚 / `teleportTo` 语义不变。默认插槽现在会进主体(原先只有 `#body` 能显示,文档示例是空的)。补 `lockScroll` / `zIndex` / `id` / `ariaLabel`、`focus()` 与公开类型 `RsDialogExpose` / `RsDialogInstance`。模态走 APG:焦点陷阱、Esc 只关最上层、关闭还焦点、`aria-modal`;背后兄弟 `inert`,`lockScroll` 引用计数并补滚动条宽度。非模态不挡点击、不锁滚动。打开时才挂 keydown / 外部 pointerdown,卸载摘掉并取消 rAF / afterOpen 定时器。拖拽监听只绑一次,`pointercancel` 也会松手,并恢复原来的 `user-select` / `cursor`。`beforeClose` 抛错时保持打开。tone 描边走语义色。面板抄最近的 `data-rs-theme` / `dir` / `lang`。间距用逻辑属性,拖拽把手保持物理方向。减少动态时关掉遮罩和 form 的模糊。编辑器(Monaco / CodeMirror / xterm 或 `data-rs-dialog-tab-owner`)保留 Tab。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点表单、工作窗、模态、拦截、插槽、事件与 `openDialog()` / `close()` / `focus()`。
|
|
51
|
+
- `RsPopover`:去掉 Reka `Popover*`,改为把打开属性合并到默认插槽的触发器上,面板 Teleport + `placeAlignedPopup`。`v-model:open` / `side` / `align` / `sideOffset` / `modal` / `width` / `lazyMount` / `forceMount` / `popupClassName` / `#content` 语义不变。补 `alignOffset` / `trigger` / `disabled` / `title` / `arrow` / `showClose` / `closeOnEsc` / `closeOnOutside` / `mouseEnterDelay` / `mouseLeaveDelay` / `getPopupContainer` / `size` / `radius` / `ariaLabel` / `id`、`openChange`、`#title` 与公开类型 `RsPopoverExpose` / `RsPopoverInstance`。面板是 `role=dialog`,触发器带 `aria-expanded` / `aria-haspopup`。`modal` 只困 Tab,不锁页面滚动。打开时才挂 pointerdown / keydown / resize / scroll / ResizeObserver,卸载成对摘掉,悬停定时器有上限并在卸载时清掉。描边与文字改走 `--rs-popover-*`,间距用逻辑属性,减少动态时关闭过渡。深色岛抄 `data-rs-theme`。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点方位、悬停、事件与 `open()` / `close()` / `focus()`。
|
|
52
|
+
- `RsTooltip` / `RsTooltipProvider`:去掉 Reka `Tooltip*`,改为原生触发器 + Teleport 气泡 + `placeAlignedPopup`。`content` / `side` / `align` / `sideOffset` / `disabled` / `ignoreNonKeyboardFocus` / `nowrap` / `icon` / `iconName` / `ariaLabel` / `#content` 与 Provider 的 `delayDuration` / `skipDelayDuration` / `ignoreNonKeyboardFocus` 语义不变。补 `v-model:open` / `delayDuration`(单条覆盖)/ `interactive` / `arrow` / `maxWidth` / `getContainer` / `id`、`openChange` 与 `open()` / `close()`。不包 Provider 也能用(延迟 300)。打开时才挂 scroll / resize / keydown / pointerdown / ResizeObserver,卸载成对摘掉并清定时器。Esc 关闭。贴边翻转;上下方向的 start / end 在 RTL 对调。层级用 `--rs-tooltip-z`(盖住 Dialog),颜色走 `--rs-tooltip-*`。帮助图标名称与正文不同时才挂 `aria-describedby`。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ。
|
|
53
|
+
- `RsLoading`:控件已是原生 `div[role=status]`,无 Reka。`loading` / `variant` / `size` / `tone` / `label` / `showLabel` / `block` / `overlay` / `skeletonLines` 语义不变;`tone="default"` 现在用次级文字色(原先类名在、颜色未生效)。补 `neutral` / `success` / `warning` / `danger` / `info`、`ariaLabel` / `fullscreen` / `lock` / `delay` / `minDuration` / `blur` / `getContainer` / `id`、默认插槽(盖住内容并 `inert`)、`#indicator` / `#label` 与公开类型 `RsLoadingSize` / `RsLoadingTone` / `RsLoadingVariant`。圆点与骨架行高跟 `size`。骨架超过 12 行截断。`delay` / `minDuration` 上限 60 秒;定时器在状态变化和卸载时清除,服务端不注册。`lock` 只在全屏且可见时锁 `body` 滚动和点击,并给 `html` 标 `aria-busy`,引用计数恢复原值,重复释放无操作。扫光改走 `transform`。减少动态时圆环和圆点改为透明度脉冲,骨架扫光停住,模糊关掉。描边与遮罩改走 `--rs-loading-*`,间距用逻辑属性,全屏层级用 `--rs-z-modal`。没有 `spinning` / `tip` / 百分比 / 指令。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点形态、尺寸、色相、文案、开关、包裹、遮罩、延迟、骨架、插槽、全屏、深色岛与 inspect none。
|
|
54
|
+
- `RsLoadingBar`:控件已是原生 `div[role=progressbar]`,无 Reka。`progress` / `height` / `color` / `errorColor` 与 `start` / `finish` / `error`、`useRsLoadingBar` 空操作语义不变;未开 `nesting` 时重复 `start` 仍回到 `minimum`。补 `tone` / `position` / `attach` / `trickle` / `trickleSpeed` / `minimum` / `maximum` / `delay` / `finishDuration` / `errorDuration` / `nesting` / `indeterminate` / `ariaLabel` / `id`、`start` / `finish` / `error` / `change` 与 `set` / `inc` / `getProgress` / `isStarted`。传了 `progress` 时显隐只跟该值,到 100 后淡出(原先到 100 会因为 `progress > 0` 一直留着)。`finish` 期间再 `start` 会清掉上一次淡出定时器。trickle 到 `maximum` 后停表,卸载清 interval / timeout。无 window 不排定时器。颜色走 `--rs-loading-bar-*`,位置用逻辑属性,未知进度滑动在 RTL 下跟 `inset-inline-start`,减少动态时停住。读屏名称走 `loadingBar.*`。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点壳层、事件、`set` / `inc`、重叠请求、受控、未知进度、贴边与 `delay`。
|
|
55
|
+
- `RsEmpty`:控件已是原生 `div[role=status]`,无 Reka。`title` / `description` / `fill` / `radius` / `iconRadius` 与 `#icon` / 默认插槽语义不变;`description` 改为可选,未传走 `empty.description`(`preset=search` 走 `empty.search`),显式空字符串隐藏说明。补 `preset` / `size` / `image` / `imageAlt` / `imageSize` / `showImage` / `ariaLabel` / `id`、`#image` / `#title` / `#description` 与公开类型 `RsEmptyPreset` / `RsEmptySize`。无插槽时画主题色线稿,不再留空徽章。描边与文字改走 `--rs-empty-*`,间距用逻辑属性。无窗口监听、无定时器、无 object URL。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点预设、尺寸、图标、插图、fill、圆角、插槽、场景与 inspect none。
|
|
56
|
+
- `RsAlert`:控件已是原生 `div[role=status|alert]`,无 Reka。`type` / `title` / `closable` / `bordered` / `close` / `#icon` / `#title` 语义不变。补 `tone`(与 `type` 同值,同时传时 `tone` 为准)/ `variant`(soft / outline / solid)/ `description` / `showIcon` / `banner` / `closeText` / `size` / `radius` / `ariaLabel` / `id`、`#action` / `#close` 与公开类型 `RsAlertExpose` / `RsAlertInstance` / `RsAlertTone` / `RsAlertVariant` / `RsAlertSize`。未传 `size` 跟 Form / ConfigProvider(`ssm` 落到 `sm`)。点关闭仍只发 `close`,不自己卸载。warning / danger 用 `role=alert`,其余用 `role=status`。描边与文字改走 `--rs-alert-*`,间距用逻辑属性,减少动态时关闭过渡。无窗口监听、无定时器。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点形态、关闭、图标、横幅、尺寸、插槽、事件与 `focus()`。
|
|
57
|
+
- `RsPagination`:控件已是原生 `nav` + `button`,无 Reka;跳转仍走 `RsInput`,每页条数仍走 `RsSelect`。`v-model:page` / `v-model:pageSize` / `total` / `siblingCount` / `showSummary` / `showPageSize` / `showQuickJumper` / `showJumpConfirm` / `pageSizeOptions` / `disabled` / `size` 语义不变。补 `showFirstLast` / `simple` / `hideOnSinglePage` / `align` / `ariaLabel` / `id`、`change` / `pageSizeChange`、`#item` / `#summary` 与公开类型 `RsPaginationExpose` / `RsPaginationInstance` / `RsPaginationAlign` / `RsPaginationItemSlot`。未传 `size` 跟 Form / ConfigProvider(`ssm` 落到 `sm`,不提供 ssm)。页码条左右键只移焦点(RTL 对调),改页走点击或 `goTo()` / `next()` / `prev()` / `first()` / `last()`。当前页 `aria-current="page"`。描边与文字改走 `--rs-pagination-*`,间距用逻辑属性,减少动态时关闭过渡。无窗口监听、无定时器。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点尺寸、省略号、跳转、每页条数、首页末页、简洁、单页隐藏、对齐、插槽、事件与 `goTo()` / `next()` / `focus()`。
|
|
58
|
+
- `RsSplitPane`:控件已是原生 `div[role=group]` + `hr` 分隔条,无 Reka。`panes` / `v-model:sizes` / `orientation` / `disabled` / `keyboardStep` / `withHandle` / `fill` 与 `#pane.key` 语义不变。补 `id` / `ariaLabel`、条目 `resizable` / `resizerAriaLabel`、`resize-start` 与公开类型 `RsSplitPaneSlot`;expose 增加 `focus()`。拖拽仍只写 DOM `flex-grow` 再在抬起时 commit,避免每帧重渲染;卸载取消 rAF、释放指针捕获并清折叠记忆。RTL 下横向指针与左右键取反,分隔条跟手。键盘走 APG Window Splitter(方向键 / Home / End / Enter);`aria-controls` / `aria-valuetext` 挂到缝上。描边与抓手改走 `--rs-split-*`,命中区用逻辑属性,减少动态时关闭过渡。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点纵向、约束、折叠、auto、fill、禁用、嵌套、事件与 `collapse()` / `expand()` / `reset()` / `getSizes()` / `focus()`。
|
|
59
|
+
- `RsToolbar`:无中间区时 start 占剩余宽度并裁切,end 按内容宽度贴在行尾(不再 `1fr / 1fr` 对半切)。有 `#center` 时为 `1fr / auto / 1fr`,缺一侧也占列,中间光学居中。竖排 start 在上、end 贴底,栏宽跟最宽的一项(`--rs-toolbar-rail-min` 默认 0)。密度对齐工作台 32 / 40 / 48;字重回到 regular;elevated 只用 `--rs-surface-elevated`;sticky 半透明 + `backdrop-filter`(减少透明时关闭)。
|
|
60
|
+
- `RsToolbar`:控件已是原生 `header` / `div`,无 Reka。`tag` / `size` / `border` / `elevated` / `compact` / `#left` / `#center` / `#right` / `label` 语义不变。补 `orientation` / `wrap` / `sticky` / `stickyOffset` / `disabled` / `keyboard` / `loop` / `ariaLabel` / `id`、`#start` / `#end` 与公开类型 `RsToolbarExpose` / `RsToolbarInstance` / `RsToolbarOrientation`。未传 `size` 跟 ConfigProvider(四档 `ssm`–`lg`)。默认 APG 键盘:方向键 / Home / End 在命令控件间移动(RTL 左右对调);输入框不拦截。无窗口监听、无定时器、无 MutationObserver,只在根上委托 `keydown` / `focusin`。描边与文字改走 `--rs-toolbar-*`,间距用逻辑属性。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点密度、竖排、换行、吸附、禁用、事件与 `focus()` / `blur()`。
|
|
61
|
+
- `RsDropdown`:去掉 Reka `DropdownMenu*`,改为原生 `button`(`aria-haspopup=menu`)+ Teleport 面板 + `placeDropdownPopup`。`v-model` / `items` / `showSelected` / `placeholder` / `size` / `contentWidth` / `#trigger` / `select` 语义不变。补 `v-model:open` / `trigger` / `placement` / `hideOnClick` / `getPopupContainer` / `popupClassName` / `maxHeight` / `radius` / `ariaLabel` / `id` / `destroyOnHide`、条目 `type=divider` / `tone` / `href` / `shortcut` / `children`、`change` / `openChange`、`#item` 与公开类型 `RsDropdownExpose` / `RsDropdownInstance`。键盘走 APG Menu(方向键 / Home / End / Esc / 首字母;RTL 子菜单左右对调)。打开时才挂 pointerdown / resize / scroll / ResizeObserver,卸载成对摘掉。描边与文字改走 `--rs-dropdown-*`,间距用逻辑属性,减少动态时关闭过渡。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点操作菜单、悬停、分组、危险项、子菜单、插槽、事件与 `open()` / `close()` / `focus()`。
|
|
62
|
+
- `RsSteps`:控件已是原生 `nav` + `ol`,无 Reka。`v-model` / `items` / `orientation` / `clickable` 语义不变。补 `labelPlacement` / `type` / `status` / `percent` / `ariaLabel` / `id`、条目 `icon`、`change` / `click` 与公开类型 `RsStepsExpose` / `RsStepsInstance` / `RsStepsLabelPlacement` / `RsStepsType` / `RsStepsItemSlot`。未传 `size` 跟 ConfigProvider(四档 `ssm`–`lg`)。可点时方向键只移焦点(RTL 左右对调),改当前步走点击或 `next()` / `prev()` / `goTo()`。完成步显示勾、错误显示叉;完成连线走 `--rs-steps-separator-finish`。描边与文字改走 `--rs-steps-*`,间距用逻辑属性,减少动态时关闭过渡。读屏用 `aria-current="step"` 与 `steps.*` 状态文案。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点尺寸、标题位置、状态、点状、图标、插槽、事件与 `next()` / `prev()` / `goTo()` / `focus()`。
|
|
63
|
+
- `RsTabs`:去掉 Reka `Tabs*` / `DropdownMenu*`,改为原生 `tablist` / `tab` / `tabpanel`。`v-model` / `items` / `closable` / `addable` / `renamable` / `draggable` / `overflow` / `contextMenu` / `beforeLeave` / `panelless` / `borderless` / `justify` / `contentGap` 语义不变。补 `tabPosition` / `activation` / `lazy` / `destroyInactive`(默认 true,与原 Reka 卸载一致)/ `ariaLabel` / `id` / `size=lg`、`change`、`#tab` 与公开类型 `RsTabsExpose` / `RsTabsInstance` / `RsTabsPosition` / `RsTabsActivation` / `RsTabsTabSlot`。键盘走 APG(方向键 / Home / End;RTL 左右对调;竖排只用上下)。溢出「更多」走 `RsDropdown`;`contextMenu=false` 时不挂 Reka。未传 `size` 跟 ConfigProvider。描边与文字改走 `--rs-tabs-*`,间距用逻辑属性,减少动态时关闭过渡。ResizeObserver / 非 passive `wheel` / rAF 卸载成对摘掉,激活项滚进视口不再调用 `scrollIntoView`。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点形态、位置、溢出、工作台页签、懒挂载、插槽、事件与 `selectTab()` / `focus()`。
|
|
64
|
+
- `RsSidebar` / `RsSidebarGroup` / `RsSidebarItem`:控件已是原生 `aside` + `nav` + `button` / `a`,无 Reka。`title` / `subtitle` / `collapsible` / `width` / `orientation` / `placement` / `v-model:collapsed` 与 `#header` / `#footer` 语义不变。补 `hotkey` / `ariaLabel` / `id`、Item `href` / `to` / `target` / `rel` / `badge`、`change` 与公开类型 `RsSidebarExpose` / `RsSidebarInstance` / `RsSidebarOrientation` / `RsSidebarPlacement` / `RsSidebarWidth`。折叠态 provide/inject 下传,子组件不必再手传 `collapsed`。外链 `_blank` 补 `noopener noreferrer`。`hotkey` 打开时才挂 `keydown`,输入框内不触发,卸载成对摘掉。描边与文字改走 `--rs-sidebar-*`,间距用逻辑属性,减少动态时关闭过渡。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点宽度、左右、横向、链接、插槽、事件与 `expand()` / `collapse()` / `toggle()` / `focus()`。
|
|
65
|
+
|
|
66
|
+
## [2.0.4] - 2026-09-22
|
|
67
|
+
|
|
68
|
+
### 修复
|
|
69
|
+
|
|
70
|
+
- `RsAnchor`:最后一节高度不够贴顶时,滚到底仍高亮最后一项;点击后锁定到滚动停稳,避免墨点跳回上一项。滚动帧只量一次容器矩形,激活未变不重算墨点。
|
|
71
|
+
|
|
72
|
+
### 变更
|
|
73
|
+
|
|
74
|
+
- `RsMenu`:去掉 Reka `Collapsible*` / `Popover*`,改为原生 `nav` + `button` / `a[href]`;垂直折叠子菜单是 Teleport + `placeSidePopup`。`v-model` / `openKeys` / `mode` / `collapsed` / `highlightParent` / `select` 语义不变。补 `accordion` / `triggerSubMenuAction` / `size` / `radius` / `indent` / `ariaLabel` / `id` / `getPopupContainer`、条目 `href` / `to` / `target` / `rel` / `extra` / `type=divider`、`click` / `openChange`、`#item` / `#icon` / `#extra` 与公开类型 `RsMenuExpose` / `RsMenuInstance`。键盘走披露式导航(方向键 / Home / End / Esc;不锁 Tab)。选中叶子时祖先已展开不再重写 `openKeys`。打开 flyout 才挂 pointerdown / keydown / resize / scroll / ResizeObserver,卸载成对摘掉。描边与文字改走 `--rs-menu-*`,间距用逻辑属性,减少动态时关闭过渡。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点嵌套、分组、横向、折叠、手风琴、链接、尺寸、插槽、事件与 `focus()` / `blur()`。
|
|
75
|
+
- `RsBreadcrumb`:控件已是原生 `nav` + `ol`,无 Reka。`items.label` / `href` / `to` 与末级当前页语义不变;只传 `to` 时现在会写到 `a[href]`。补 `separator` / `separatorIcon` / `maxItems` / `itemsBeforeCollapse` / `itemsAfterCollapse` / `ariaLabel` / `id`、条目 `icon` / `disabled` / `target` / `rel` / `key`、`click` 与 `#item` / `#separator` / `#more`。外链 `_blank` 补 `noopener noreferrer`。折叠用纯函数裁索引,点省略号展开,无 ResizeObserver / 定时器 / 窗口监听。描边与文字改走 `--rs-breadcrumb-*`,间距用逻辑属性,减少动态时关闭过渡;RTL 下分隔图标水平翻转。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点分隔符、图标、折叠、禁用、插槽与 `click`。
|
|
76
|
+
- `RsCalendarGrid`:控件已是原生 `table` + `button`,无 Reka。`viewYear` / `viewMonth` / `select` / `selected` / `rangeStart` / `rangeEnd` / `minDate` / `maxDate` / `disabledDates` / `disabledDate` / `weekStartsOn` 语义不变。补 `size` / `radius` / `disabled` / `highlightToday` / `showOutside` / `selectOutside` / `showWeekNumbers` / `ariaLabel` / `id`、`#title` / `#cell` 与公开类型 `RsCalendarGridExpose` / `RsCalendarGridInstance` / `RsCalendarGridCellSlot`。组禁用继承 Form.disabled。键盘走 APG(方向键 / Home / End / PageUp / PageDown / Enter;RTL 左右对调)。格子状态一次算完,禁用日用 Set;无窗口监听、无定时器。描边与文字改走 `--rs-calendar-grid-*`,间距用逻辑属性,减少动态时关闭过渡。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点范围、边界、周起始、周序号、插槽、事件与 `focus()` / `goToToday()`。
|
|
77
|
+
- `RsAnchor`:控件已是原生 `nav` + `a[href]`,无 Reka。`items` / `v-model` / `offset` / `targetOffset` / `bounds` / `affix` / `lineless` / `changeHash` / `getContainer` / `click` / `change` 语义不变。补 `direction` / `replace` / `scrollBehavior` / `affixOffset` / `getCurrentAnchor` / `ariaLabel` / `id`、条目 `disabled`、`#item` 与公开类型 `RsAnchorExpose` / `RsAnchorInstance` / `RsAnchorDirection`。`hrefToAnchorId` 解码 `%xx` / 非 ASCII。滚动用 `scrollY`/`nodeType` 判断 window,不用 `instanceof`。监听按容器节点而不是 `getContainer` 函数引用重绑;rAF / ResizeObserver / scroll / resize 卸载成对摘掉。墨点改 `getBoundingClientRect`,颜色走 `--rs-anchor-*`,减少动态时关闭过渡与平滑滚动。当前项 `aria-current="location"`。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点横向、偏移、插槽、事件与 `scrollTo()`。
|
|
78
|
+
- `RsDateTimePicker`:文档站按 site README 补全中英演示(范围、秒、format、快捷项、边界、禁用、事件、`focus()` / `setValue()`)。catalog 补齐 props / events / slots / methods / tokens / FAQ。事件从 DatePicker 显式转发。
|
|
79
|
+
- `RsTimePicker`:去掉 Reka `Popover*`,改为原生 `button`(`aria-haspopup=dialog`)+ Teleport 面板 + `placeAnchoredPopup`。`v-model` / `open` / `range` / `withSeconds` / `minTime` / `maxTime` / `embedded` 语义不变。补 `hourCycle` / `minuteStep` / `disabledTime` / `shortcuts` / `clearable` / `readonly` / `radius` / `name` / `getPopupContainer` 与公开类型 `RsTimePickerExpose` / `RsTimePickerInstance`。组禁用继承 Form.disabled。打开时才挂 pointerdown / resize / scroll / ResizeObserver,卸载成对摘掉。`hourCycle=12` 只改展示与列(AM/PM 跟 locale),绑定仍是 24 小时墙钟。嵌在 DatePicker 里时面板高一档,点时间列不关日期面板。文档站按 site README 补全中英演示,可点 12 小时、步进、快捷项、事件与 `focus()` / `setValue()`。
|
|
80
|
+
- `RsDatePicker`:去掉 Reka `Popover*`,改为原生 `button`(`aria-haspopup=dialog`)+ Teleport 面板 + `placeAnchoredPopup`。`v-model` / `open` / `range` / `withTime` / `valueFormat` / 快捷项 / 表单校验语义不变。补 `format` / `weekStartsOn` / `disabledDate` / `disabledDates` / `clearable` / `readonly` / `radius` / `getPopupContainer` 与公开类型 `RsDatePickerExpose` / `RsDatePickerInstance`。组禁用继承 Form.disabled。打开时才挂 pointerdown / resize / scroll / ResizeObserver,卸载成对摘掉;嵌套 TimePicker 点击不关日期面板。日历一周起始跟 locale(en-US 周日,zh-CN 周一)。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点范围、日期时间、format、快捷项、边界、事件与 `focus()` / `setValue()`。
|
|
81
|
+
|
|
82
|
+
- `RsUpload`:控件已是原生隐藏 `input[type=file]` + `label[for]` / `button`,无 Reka。`v-model` File[]、`accept` / `multiple` / `maxSize` / `maxCount` / `label` / `hint` / `showFileList` / `showDownload` / `hideDropzoneWhenFull` / `reject` / `download` / `remove` 语义不变;单文件仍默认追加。补 `size` / `id` / `name` / `ariaLabel` / `listType` / `variant` / `directory` / `capture` / `replace` / `paste` / `skipDuplicate` / `showPreview` / `beforeSelect` / `beforeRemove` 与公开类型 `RsUploadExpose` / `RsUploadInstance`。新增 `change` / `preview` 与 expose `open` / `focus` / `blur` / `clear`。组禁用继承 Form.disabled。`name` 只向 Form 注册 File[],不写到会清空的原生 input。图片缩略图 `createObjectURL` 在移除 / 卸载时 revoke;`download` 延迟 1.5s 再 revoke,避免立刻回收打断下载。拖拽态只在拖入时挂 `dragend` / `blur`,卸载成对摘掉。描边与表面改走 `--rs-upload-*`,间距用逻辑属性,减少动态时关闭过渡。没有 `action` / `customRequest` / `validate()`。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点列表形态、按钮、尺寸、插槽、事件与 `open()` / `clear()`。
|
|
83
|
+
- `RsDynamicTags`:控件已是原生 `fieldset` + `input`,无 Reka。补 `readonly` / `separators` / `parse` / `allowClear` / `ariaLabel` / `id` 与公开类型 `RsDynamicTagsExpose` / `RsDynamicTagsInstance` / `RsDynamicTagsParse`。`v-model` / `inputMode` / `max` / `allowDuplicate` / `commitOnBlur` / `create` / `remove` / `reject` 语义不变;`reject` 增加 `invalid`。新增 `clear` / `focus` / `blur` 事件与 expose(含已有 `validate` / `clearValidation` / `setValue` / `setError`)。组禁用继承 Form.disabled。Enter / Tab 提交,IME 合成中不写入。反馈定时器卸载清除;抖动尊重减少动态。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点分隔粘贴、插槽、事件与 `focus()` / `blur()` / `setValue()`。
|
|
84
|
+
- `RsFieldset`:控件已是原生 `fieldset` / `legend`,无 Reka。补 `form` / `id` / `required` / `invalid` / `error` 与 `#error`。`legend` / `tooltip` / `disabled` / `size` / 边框与标题清晰度语义不变。`description` 仍映射到 tip。组禁用继承 Form.disabled;禁用时 tip 改成可见说明(原生 fieldset 会禁用组内 button)。描边与标题色改走 `--rs-fieldset-*`,间距用逻辑属性。没有 defineEmits / defineExpose,也不做折叠。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点密度、边框、插槽、禁用说明、组错误与 inspect none。
|
|
85
|
+
- `RsLabel`:控件已是原生 `label`,无 Reka。补 `name`、`htmlFor` / `for` 别名、`id` / `optional` / `colon` / `hintId` 与 `#hint`。必填星号仍 `aria-hidden`,读屏走 `label.required`;选填与冒号跟 locale。组禁用继承 Form.disabled。间距与禁用透明度改走 `--rs-label-gap` / `--rs-label-mark-gap` / `--rs-label-disabled-opacity`。没有 defineEmits / defineExpose。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点原生 for 聚焦与 inspect none。
|
|
86
|
+
- `RsTreeSelect`:去掉 `RsPopover` / Reka,改为原生 `button`(`aria-haspopup=tree`)+ Teleport 面板 + `placeAnchoredPopup`。面板样式进全局 `styles.css`(与 Select 一样),尺寸变量写在面板上,深色岛跟 `data-rs-theme`。不拆子组件。`v-model` / `open` / `treeData` / `allowClear` / `multiple` / `checkable` / `searchable` 语义不变;勾选改为写 `checkedKeys`(原先只绑选中,勾选框改不了 v-model)。补 `checkStrictly` / `onlyCheckLeaf` / `showCheckedStrategy` / `maxTagCount` / `virtual` / `loadData` / `getPopupContainer` 与公开类型 `RsTreeSelectExpose` / `RsTreeSelectInstance`。继承 `Form.disabled`。清除钮是并列控件,不嵌进触发 button。打开时才挂 pointerdown / resize / scroll / ResizeObserver,卸载成对摘掉。文档站按 site README 补全中英演示,可点 change 与 `focus()`。
|
|
87
|
+
- `RsMentions`:控件已是原生 `textarea[role=combobox]` + Teleport listbox,无 Reka。补 `name` / `id` / `ariaLabel` / `readonly` / `loading` / `filterOption` / `debounce` / `allowClear` 与公开类型 `RsMentionsExpose` / `RsMentionsInstance`。`v-model` / `prefix` / `split` / `rows` / `search` / `select` 语义不变。新增 `focus` / `blur` / `clear` 事件与 expose。组禁用继承 Form.disabled。打开时才挂 pointerdown / resize / scroll,卸载成对摘掉;失焦定时器、search 防抖与插入符镜像节点一并释放。IME 合成中 Enter 不写入提及。面板抄输入框最近的 `data-rs-theme`。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点多触发符、远程搜索、插槽、事件与 `focus()` / `blur()`。
|
|
88
|
+
- `RsAutoComplete`:控件已是原生 `input[role=combobox]` + Teleport listbox,无 Reka。补 `name` / `id` / `ariaLabel` / `loading` 与公开类型 `RsAutoCompleteExpose` / `RsAutoCompleteInstance`。`v-model` / `open` / `filterOption` / `debounce` / `allowClear` / `search` / `select` / `clear` 语义不变。新增 `focus` / `blur` 事件与 expose。组禁用继承 Form.disabled。失焦定时器与 search 防抖在卸载时清除。建议列表是原生 `select` + `option`(Teleport + placeAnchoredPopup),抄输入框最近的 `data-rs-theme`。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点远程搜索、插槽、事件与 `focus()` / `blur()`。
|
|
89
|
+
|
|
90
|
+
- `RsCascader`:去掉 `RsPopover` / Reka,改为原生 `button` + Teleport 面板 + `placeAnchoredPopup`。`v-model` 路径、`open`、`changeOnSelect` / `expandTrigger` / `allowClear` / `change` 语义不变。hover 展开仍只写 v-model、不发 change。公开类型 `RsCascaderExpose` / `RsCascaderInstance`,并继承 `Form.disabled`。清除钮是并列的 `RsButton`,不嵌进触发 button。打开时才挂 pointerdown / resize / scroll,卸载成对摘掉。触发器跟 Select 同一套输入 token(悬停边框、聚焦环、占位色、开合箭头);面板抄 `data-rs-theme`,选中走 `--rs-primary`。四档 `size` 同时改触发器与面板选项。文档站按 site README 补全中英演示,可点尺寸、change 与 `focus()`。
|
|
91
|
+
- `RsSelect`:去掉 Reka `Combobox*` / `useFilter`,改为原生 `button[role=combobox]` + Teleport 面板 + `placeAnchoredPopup`;补 `name` 与公开类型 `RsSelectExpose` / `RsSelectInstance`。`v-model` / `open` / `searchValue`、多选 / 搜索 / 创建 / 远程 / `maxTagCount` 与事件插槽语义不变。可选 `name` 写隐藏 input。键盘走 APG(方向键 / Home / End / Enter / Esc)。选项 hover 跟 `--rs-item-hover`;警告边框只走 `--rs-warning`;Teleport 面板抄触发器最近的 `data-rs-theme`,深色岛下拉不再跟错页主题。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点 select / clear 与 `focus()` / `setValue()`。
|
|
92
|
+
- `RsSwitch`:去掉 Reka `SwitchRoot` / `SwitchThumb`,改为原生 `checkbox` + `role=switch`;补 `name` 与公开类型 `RsSwitchExpose` / `RsSwitchInstance`。`v-model` / `checkedValue` / `uncheckedValue` / `change` 语义不变。可选 `name`,并继承 `Form.disabled`。轨道点击与标签仍切换;减少动态时关闭过渡。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点 change 与 `focus()`。
|
|
93
|
+
- `RsRadio` / `RsRadioItem`:去掉 Reka `RadioGroup*`,改为原生 `div[role=radiogroup]` + `input[type=radio]`;补 `name`。`v-model` / `change` / `orientation` / `name` / Item `value` 语义不变。公开类型仍是 `RsRadioValue`,并导出 `RsRadioOrientation`;helper 保持内部。组禁用继承 Form.disabled。可选 `ariaLabel`。没有 defineExpose。选中指示点常驻、行高跟同档 Input / Switch,竖排切换不再撑开父级。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点 change、尺寸、整组/单项禁用与 inspect none。
|
|
94
|
+
- `RsCheckbox`:控件已是原生 `label` + `checkbox`,无 Reka。补 `name` 与公开类型 `RsCheckboxExpose` / `RsCheckboxInstance`。`v-model` / `indeterminate` / `change` 语义不变;`class` 仍落在 label(表格单元格 `click.prevent` 可用)。半选写入原生 `indeterminate` IDL。可选 `name` / `required`,并继承 `Form.disabled`。文档站按 site README 补全中英演示 / tokens / FAQ。
|
|
95
|
+
- `RsInputNumber`:控件已是原生 `input` + `role=spinbutton`,无 Reka。补 `name` 与公开类型 `RsInputNumberExpose` / `RsInputNumberInstance`。`v-model` / `stringMode` / `controls` / `keyboard` / `changeOnWheel` 与 `focus` / `blur` / `commit` / `setValue` / `step` 语义不变。`class` / `aria-*` 落到 input;IME 合成中不步进、不发 `pressEnter`。文档站按 site README 补全中英 props / events / methods / tokens / FAQ。
|
|
96
|
+
- `RsTextarea`:补 `name`;抽 `textarea-utils`。控件已是原生 `textarea`,无 Reka。`validate` / `clearValidation` / `setValue` / `setError` / `focus` / `blur` 与 props / 事件语义不变。公开类型仍是 `RsTextareaExpose` / `RsTextareaInstance` / `RsTextareaAutosize` / `RsTextareaResize`;helper 保持内部。无 autosize 时不再每键 `nextTick`。字段 `#error` 与 Input 一样可走 Form `errorRender`。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点事件与六个 expose,并露出 `#count` / `#error` 与禁用只读。
|
|
97
|
+
- `RsForm`:补 `name`;根节点仍是原生 `form`,无 Reka。`model` / `rules` / `validateOnSubmit` 与九个 expose 语义不变。没有 `validateFields`。公开类型新增 `RsFormExpose` / `RsFormInstance`。`maxWidth` 三档走 `--rs-form-max-*`(仍是 24/32/48rem)。根节点 `novalidate`,避免原生约束气泡抢走 submit。`scrollToField` 只在本表根内查找,减少动态时用 `auto`。字段按 name 建索引;卸载清表且不再 `emit`。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点 submit / validate 与全部宿主 expose,并露出 `#error` 与深色岛。
|
|
98
|
+
- `RsInput`:补 `name`;抽 `input-utils`。控件已是原生 `input`,无 Reka。`validate` / `clearValidation` / `setValue` / `setError` 与 props / 事件语义不变。公开类型仍是 `RsInputExpose` / `RsInputInstance`,并导出 `RsInputType`;helper 保持内部。文档站按 site README 补全中英 props / events / slots / methods / tokens / FAQ,演示可点事件与四个 expose,并露出 `#suffix` / `#addonBefore` / `#addonAfter` / `#error` 与禁用只读。
|
|
99
|
+
- `RsAvatar`:去掉 Reka `AvatarRoot` / `Image` / `Fallback`,改为原生 `span` + `img`;补 `name` 与公开类型 `RsAvatarSize` / `Shape` / `Tone`。`src` / `name` / `fallback` / `icon` 与失败回退语义不变。helper 保持内部。
|
|
100
|
+
- `RsCard`:去掉 Reka `Primitive`,改为原生 `section`(`as` 可换标签);补 `name`。`title` / `variant` / `size` / `radius` / 插槽语义不变。公开类型仍是 `RsCardSize` / `RsCardVariant`;helper 保持内部。文档站按 site README 补全演示(五档表面、疏密、贴边嵌套、`#cover`)、tokens / FAQ(中英)。grouped / glass 的明暗差改走 `--rs-card-*`,不再用 `[data-rs-theme=light]` 后代选择器,深色岛与未写属性的浅色页跟 token。
|
|
101
|
+
- `RsContainer`:补 `name`;抽 `container-utils`。`maxWidth` / `padding` / `fluid` / `grid` / `tag` 与响应式对象语义不变。公开类型仍从包根导出;`resolveRsContainerStyle` 保持内部。
|
|
102
|
+
- `RsScrollbar`:去掉 Reka `ScrollArea*`,改为原生 overflow 视口 + 自绘滑块;补 `name`。`type` / `orientation` / `scrollHideDelay` / 高度与 `scrollTop` / `scrollTopLeft` / `getViewport` 语义不变。公开类型仍是 `RsScrollbarType` / `RsScrollbarOrientation`;helper 保持内部。视口可访问名称走 `scrollbar.viewport`(中英)。文档站按 site README 补全显隐 / 横向演示、`scrollTopLeft`、tokens / FAQ。拖拽用指针捕获成对恢复 `user-select`;溢出标志与滑块写入同一条 rAF(滚动与插槽更新)。
|
|
103
|
+
|
|
9
104
|
## [2.0.3] - 2026-09-21
|
|
10
105
|
|
|
11
106
|
### 新增
|
|
@@ -25,6 +120,7 @@
|
|
|
25
120
|
|
|
26
121
|
### 修复
|
|
27
122
|
|
|
123
|
+
- `RsTimePicker` / `RsDatePicker`:时间列滚轮与滚动条不再带动外层页面(`overscroll-behavior: contain` + 非 passive `wheel` 到顶/到底拦截);窗口 capture `scroll` 忽略列内滚动,避免拖列滚动条时反复 `placeAnchoredPopup`。
|
|
28
124
|
- `RsButton`:补 `name`,loading 时拦住点击;内置 tip 用自研定位,不再提 Reka。图标在按钮内为装饰,可访问名称只走 `aria-label`。
|
|
29
125
|
- `RsButton` 内置 tip 回到 `calc(var(--rs-z-modal) + 2)`,与 `RsTooltip` / Dialog 内浮层同一档,避免在对话框里被盖住。
|
|
30
126
|
- `RsButton` 幽灵:未传 `bordered` 时不再被 Vue 收成 false(与 text 撞车);hover 改为 `--rs-surface-hover` 实底,语义色再叠 14% 色相。
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { RsFeedbackTone, RsToastPosition, RsToastType, RsOverlayAnchorBox, RsOverlayBox } from './src/overlay-utils';
|
|
2
|
-
export { RS_TOAST_DEFAULT_GAP, RS_TOAST_DEFAULT_POSITION, rsToastPositions, rsFeedbackIconClass, placeAnchoredPopup, stepEnabledIndex } from './src/overlay-utils';
|
|
1
|
+
export type { RsFeedbackTone, RsToastPosition, RsToastType, RsOverlayAnchorBox, RsOverlayBox, RsSideOverlayBox, RsOverlaySide, RsOverlayAlign, RsAlignedOverlayOptions, RsAlignedOverlayBox } from './src/overlay-utils';
|
|
2
|
+
export { RS_TOAST_DEFAULT_GAP, RS_TOAST_DEFAULT_POSITION, rsToastPositions, rsFeedbackIconClass, placeAnchoredPopup, placeSidePopup, placeAlignedPopup, toContainerPoint, stepEnabledIndex } from './src/overlay-utils';
|
|
3
3
|
export { useResolvedRsComponentSize, resolveRsComponentSize } from './src/resolve-size';
|
|
4
4
|
export { useResolvedRsRadius, rsRadiusCss } from './src/resolve-radius';
|
|
@@ -17,7 +17,7 @@ export type RsFeedbackTone = 'default' | 'info' | 'success' | 'warning' | 'dange
|
|
|
17
17
|
export type RsToastType = 'success' | 'error' | 'info' | 'warning';
|
|
18
18
|
export type RsToastPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'top-center' | 'bottom-center';
|
|
19
19
|
export declare const RS_TOAST_DEFAULT_POSITION: RsToastPosition;
|
|
20
|
-
/** 多条 Toast 之间的垂直间距(px
|
|
20
|
+
/** 多条 Toast 之间的垂直间距(px) */
|
|
21
21
|
export declare const RS_TOAST_DEFAULT_GAP = 4;
|
|
22
22
|
export declare const rsToastPositions: readonly ["top-center", "top-left", "top-right", "bottom-center", "bottom-left", "bottom-right"];
|
|
23
23
|
export declare function rsFeedbackIconClass(tone: RsFeedbackTone): string;
|
|
@@ -43,11 +43,54 @@ export interface RsOverlayBox {
|
|
|
43
43
|
width: number;
|
|
44
44
|
placement: 'top' | 'bottom';
|
|
45
45
|
}
|
|
46
|
+
/** 侧向浮层(折叠菜单 flyout 等)。placement 为翻转后的左右。 */
|
|
47
|
+
export interface RsSideOverlayBox {
|
|
48
|
+
top: number;
|
|
49
|
+
left: number;
|
|
50
|
+
width: number;
|
|
51
|
+
placement: 'left' | 'right';
|
|
52
|
+
}
|
|
46
53
|
/**
|
|
47
54
|
* 把浮层贴到锚点:优先下方,视口不够则翻到上方,左右夹进窗口。
|
|
48
55
|
* 对齐 WAI-ARIA APG 浮层惯例与 CSS overflow 避让,不跟某一家组件库的 API。
|
|
49
56
|
*/
|
|
50
57
|
export declare function placeAnchoredPopup(anchor: RsOverlayAnchorBox, popup: RsOverlayPopupSize, viewport: RsOverlayViewport, gap?: number): RsOverlayBox;
|
|
58
|
+
/**
|
|
59
|
+
* 把浮层贴到锚点侧面:默认右侧,视口不够则翻到左侧,上下夹进窗口。
|
|
60
|
+
* 折叠导航 flyout 用;不要在各组件再写一套 left/top。
|
|
61
|
+
*/
|
|
62
|
+
export declare function placeSidePopup(anchor: RsOverlayAnchorBox, popup: RsOverlayPopupSize, viewport: RsOverlayViewport, gap?: number, preferred?: 'left' | 'right'): RsSideOverlayBox;
|
|
63
|
+
/** 四向浮层(Popover 等)。side 为翻转后的物理方向。 */
|
|
64
|
+
export type RsOverlaySide = 'top' | 'right' | 'bottom' | 'left';
|
|
65
|
+
/** 交叉轴对齐。start / end 在横向且 RTL 时对调。 */
|
|
66
|
+
export type RsOverlayAlign = 'start' | 'center' | 'end';
|
|
67
|
+
export interface RsAlignedOverlayOptions {
|
|
68
|
+
side?: RsOverlaySide;
|
|
69
|
+
align?: RsOverlayAlign;
|
|
70
|
+
sideOffset?: number;
|
|
71
|
+
alignOffset?: number;
|
|
72
|
+
padding?: number;
|
|
73
|
+
rtl?: boolean;
|
|
74
|
+
}
|
|
75
|
+
export interface RsAlignedOverlayBox {
|
|
76
|
+
top: number;
|
|
77
|
+
left: number;
|
|
78
|
+
side: RsOverlaySide;
|
|
79
|
+
align: RsOverlayAlign;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* 把浮层贴到锚点四侧:主轴放不下就翻到对侧,交叉轴按 start / center / end,再夹进视口。
|
|
83
|
+
* 横向的 start / end 在 RTL 对调;left / right 是物理方向,不跟书写方向对调。
|
|
84
|
+
*/
|
|
85
|
+
export declare function placeAlignedPopup(anchor: RsOverlayAnchorBox, popup: RsOverlayPopupSize, viewport: RsOverlayViewport, options?: RsAlignedOverlayOptions): RsAlignedOverlayBox;
|
|
86
|
+
/** 视口坐标换成容器内坐标。容器是 body / 文档根时保持视口坐标(position: fixed)。 */
|
|
87
|
+
export declare function toContainerPoint(top: number, left: number, origin: {
|
|
88
|
+
top: number;
|
|
89
|
+
left: number;
|
|
90
|
+
} | null): {
|
|
91
|
+
top: number;
|
|
92
|
+
left: number;
|
|
93
|
+
};
|
|
51
94
|
/** 在可选项里按方向跳过 disabled,供 combobox / listbox 方向键与 Home / End。 */
|
|
52
95
|
export declare function stepEnabledIndex<T extends {
|
|
53
96
|
disabled?: boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/components/_shared/src/overlay-utils.ts
|
|
2
2
|
var RS_TOAST_DEFAULT_POSITION = "top-center";
|
|
3
|
-
/** 多条 Toast 之间的垂直间距(px
|
|
3
|
+
/** 多条 Toast 之间的垂直间距(px) */
|
|
4
4
|
var RS_TOAST_DEFAULT_GAP = 4;
|
|
5
5
|
var rsToastPositions = [
|
|
6
6
|
"top-center",
|
|
@@ -31,6 +31,91 @@ function placeAnchoredPopup(anchor, popup, viewport, gap = 4) {
|
|
|
31
31
|
placement
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* 把浮层贴到锚点侧面:默认右侧,视口不够则翻到左侧,上下夹进窗口。
|
|
36
|
+
* 折叠导航 flyout 用;不要在各组件再写一套 left/top。
|
|
37
|
+
*/
|
|
38
|
+
function placeSidePopup(anchor, popup, viewport, gap = 8, preferred = "right") {
|
|
39
|
+
const anchorWidth = anchor.width ?? 0;
|
|
40
|
+
const right = anchor.left + anchorWidth + gap;
|
|
41
|
+
const leftPos = anchor.left - popup.width - gap;
|
|
42
|
+
const roomRight = right + popup.width <= viewport.width - gap;
|
|
43
|
+
const roomLeft = leftPos >= gap;
|
|
44
|
+
let placement = preferred;
|
|
45
|
+
if (preferred === "right" && !roomRight && roomLeft) placement = "left";
|
|
46
|
+
if (preferred === "left" && !roomLeft && roomRight) placement = "right";
|
|
47
|
+
const width = Math.min(popup.width, Math.max(0, viewport.width - gap * 2));
|
|
48
|
+
const rawLeft = placement === "right" ? right : leftPos;
|
|
49
|
+
const maxLeft = Math.max(gap, viewport.width - width - gap);
|
|
50
|
+
const left = Math.min(Math.max(gap, rawLeft), maxLeft);
|
|
51
|
+
const maxTop = Math.max(gap, viewport.height - popup.height - gap);
|
|
52
|
+
return {
|
|
53
|
+
top: Math.min(Math.max(gap, anchor.top), maxTop),
|
|
54
|
+
left,
|
|
55
|
+
width,
|
|
56
|
+
placement
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
var RS_OVERLAY_OPPOSITE = {
|
|
60
|
+
top: "bottom",
|
|
61
|
+
bottom: "top",
|
|
62
|
+
left: "right",
|
|
63
|
+
right: "left"
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* 把浮层贴到锚点四侧:主轴放不下就翻到对侧,交叉轴按 start / center / end,再夹进视口。
|
|
67
|
+
* 横向的 start / end 在 RTL 对调;left / right 是物理方向,不跟书写方向对调。
|
|
68
|
+
*/
|
|
69
|
+
function placeAlignedPopup(anchor, popup, viewport, options = {}) {
|
|
70
|
+
const side = options.side ?? "bottom";
|
|
71
|
+
const align = options.align ?? "start";
|
|
72
|
+
const sideOffset = options.sideOffset ?? 6;
|
|
73
|
+
const alignOffset = options.alignOffset ?? 0;
|
|
74
|
+
const padding = options.padding ?? 8;
|
|
75
|
+
const rtl = options.rtl ?? false;
|
|
76
|
+
const anchorWidth = anchor.width ?? 0;
|
|
77
|
+
const popupWidth = Math.max(0, popup.width);
|
|
78
|
+
const popupHeight = Math.max(0, popup.height);
|
|
79
|
+
const fits = (candidate) => {
|
|
80
|
+
if (candidate === "bottom") return anchor.top + anchor.height + sideOffset + popupHeight <= viewport.height - padding;
|
|
81
|
+
if (candidate === "top") return anchor.top - sideOffset - popupHeight >= padding;
|
|
82
|
+
if (candidate === "right") return anchor.left + anchorWidth + sideOffset + popupWidth <= viewport.width - padding;
|
|
83
|
+
return anchor.left - sideOffset - popupWidth >= padding;
|
|
84
|
+
};
|
|
85
|
+
const resolved = !fits(side) && fits(RS_OVERLAY_OPPOSITE[side]) ? RS_OVERLAY_OPPOSITE[side] : side;
|
|
86
|
+
const cross = (resolved === "top" || resolved === "bottom") && rtl && align !== "center" ? align === "start" ? "end" : "start" : align;
|
|
87
|
+
let top = anchor.top;
|
|
88
|
+
let left = anchor.left;
|
|
89
|
+
if (resolved === "bottom") top = anchor.top + anchor.height + sideOffset;
|
|
90
|
+
else if (resolved === "top") top = anchor.top - popupHeight - sideOffset;
|
|
91
|
+
else if (resolved === "right") left = anchor.left + anchorWidth + sideOffset;
|
|
92
|
+
else left = anchor.left - popupWidth - sideOffset;
|
|
93
|
+
if (resolved === "top" || resolved === "bottom") if (cross === "end") left = anchor.left + anchorWidth - popupWidth - alignOffset;
|
|
94
|
+
else if (cross === "center") left = anchor.left + (anchorWidth - popupWidth) / 2 + alignOffset;
|
|
95
|
+
else left = anchor.left + alignOffset;
|
|
96
|
+
else if (cross === "end") top = anchor.top + anchor.height - popupHeight - alignOffset;
|
|
97
|
+
else if (cross === "center") top = anchor.top + (anchor.height - popupHeight) / 2 + alignOffset;
|
|
98
|
+
else top = anchor.top + alignOffset;
|
|
99
|
+
const maxLeft = Math.max(padding, viewport.width - popupWidth - padding);
|
|
100
|
+
const maxTop = Math.max(padding, viewport.height - popupHeight - padding);
|
|
101
|
+
return {
|
|
102
|
+
top: Math.min(Math.max(padding, top), maxTop),
|
|
103
|
+
left: Math.min(Math.max(padding, left), maxLeft),
|
|
104
|
+
side: resolved,
|
|
105
|
+
align
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/** 视口坐标换成容器内坐标。容器是 body / 文档根时保持视口坐标(position: fixed)。 */
|
|
109
|
+
function toContainerPoint(top, left, origin) {
|
|
110
|
+
if (!origin) return {
|
|
111
|
+
top,
|
|
112
|
+
left
|
|
113
|
+
};
|
|
114
|
+
return {
|
|
115
|
+
top: top - origin.top,
|
|
116
|
+
left: left - origin.left
|
|
117
|
+
};
|
|
118
|
+
}
|
|
34
119
|
/** 在可选项里按方向跳过 disabled,供 combobox / listbox 方向键与 Home / End。 */
|
|
35
120
|
function stepEnabledIndex(options, current, delta) {
|
|
36
121
|
if (!options.length) return 0;
|
|
@@ -42,4 +127,4 @@ function stepEnabledIndex(options, current, delta) {
|
|
|
42
127
|
return Math.max(0, current);
|
|
43
128
|
}
|
|
44
129
|
//#endregion
|
|
45
|
-
export { RS_TOAST_DEFAULT_GAP, RS_TOAST_DEFAULT_POSITION, placeAnchoredPopup, rsFeedbackIconClass, rsToastPositions, stepEnabledIndex };
|
|
130
|
+
export { RS_TOAST_DEFAULT_GAP, RS_TOAST_DEFAULT_POSITION, placeAlignedPopup, placeAnchoredPopup, placeSidePopup, rsFeedbackIconClass, rsToastPositions, stepEnabledIndex, toContainerPoint };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogOverlay, AlertDialogPortal, AlertDialogRoot, AlertDialogTitle, AlertDialogTrigger, Primitive,
|
|
1
|
+
export { AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogOverlay, AlertDialogPortal, AlertDialogRoot, AlertDialogTitle, AlertDialogTrigger, Primitive, CollapsibleContent, CollapsibleRoot, CollapsibleTrigger, ComboboxAnchor, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxItemIndicator, ComboboxLabel, ComboboxPortal, ComboboxRoot, ComboboxTrigger, ComboboxViewport, ComboboxVirtualizer, ConfigProvider, ContextMenuContent, ContextMenuItem, ContextMenuPortal, ContextMenuRoot, ContextMenuSeparator, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DialogClose, DialogContent, DialogDescription, DialogOverlay, DialogPortal, DialogRoot, DialogTitle, DialogTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRoot, DropdownMenuTrigger, PopoverContent, PopoverPortal, PopoverRoot, PopoverTrigger, SwitchRoot, SwitchThumb, PaginationEllipsis, PaginationFirst, PaginationLast, PaginationList, PaginationListItem, PaginationNext, PaginationPrev, PaginationRoot, ScrollAreaCorner, ScrollAreaRoot, ScrollAreaScrollbar, ScrollAreaThumb, ScrollAreaViewport, SelectContent, SelectItem, SelectItemIndicator, SelectItemText, SelectPortal, SelectRoot, SelectTrigger, SelectValue, SelectViewport, StepperDescription, StepperIndicator, StepperItem, StepperRoot, StepperSeparator, StepperTitle, StepperTrigger, TabsContent, TabsList, TabsRoot, TabsTrigger, TooltipContent, TooltipPortal, TooltipProvider, TooltipRoot, TooltipTrigger, TreeItem, TreeRoot, TreeVirtualizer, useForwardExpose, useFilter, } from 'reka-ui';
|
|
2
2
|
export type { AcceptableValue, PrimitiveProps, TooltipRootEmits, TooltipRootProps } from 'reka-ui';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
1
|
+
import { ConfigProvider } from "reka-ui";
|
|
2
|
+
export { ConfigProvider };
|