niuma-ui 1.3.8 → 2.0.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/CHANGELOG.md +42 -0
- package/NOTICE +12 -9
- package/README.en.md +52 -34
- package/README.md +55 -97
- package/dist/components/_shared/index.d.ts +4 -0
- package/dist/components/_shared/src/overlay-utils.js +45 -0
- package/dist/components/_shared/src/resolve-radius.d.ts +9 -0
- package/dist/components/_shared/src/resolve-radius.js +18 -0
- package/dist/components/_shared/src/resolve-size.d.ts +10 -0
- package/dist/components/_shared/src/resolve-size.js +20 -0
- package/dist/components/alert/index.d.ts +1 -0
- package/dist/components/alert/src/RsAlert.css +111 -0
- package/dist/components/alert/src/RsAlert.d.ts +32 -0
- package/dist/components/alert/src/RsAlert.impl.js +83 -0
- package/dist/components/alert/src/RsAlert.js +8 -0
- package/dist/components/anchor/index.d.ts +3 -0
- package/dist/components/anchor/src/RsAnchor.css +65 -0
- package/dist/components/anchor/src/RsAnchor.d.ts +41 -0
- package/dist/components/anchor/src/RsAnchor.impl.js +188 -0
- package/dist/components/anchor/src/RsAnchor.js +8 -0
- package/dist/components/anchor/src/anchor-utils.d.ts +26 -0
- package/dist/components/anchor/src/anchor-utils.js +63 -0
- package/dist/components/auto-complete/index.d.ts +1 -0
- package/dist/components/auto-complete/src/RsAutoComplete.d.ts +39 -0
- package/dist/components/auto-complete/src/RsAutoComplete.impl.js +306 -0
- package/dist/components/auto-complete/src/RsAutoComplete.js +5 -0
- package/dist/components/avatar/index.d.ts +1 -0
- package/dist/components/avatar/src/RsAvatar.impl.js +59 -0
- package/dist/components/avatar/src/RsAvatar.js +7 -0
- package/dist/components/avatar/src/avatar-utils.js +13 -0
- package/dist/components/badge/index.d.ts +1 -0
- package/dist/components/badge/src/RsBadge.css +41 -0
- package/dist/components/badge/src/RsBadge.impl.js +13 -0
- package/dist/components/badge/src/RsBadge.js +8 -0
- package/dist/components/breadcrumb/index.d.ts +2 -0
- package/dist/components/breadcrumb/src/RsBreadcrumb.impl.js +26 -0
- package/dist/components/breadcrumb/src/RsBreadcrumb.js +7 -0
- package/dist/components/breadcrumb/src/RsBreadcrumbItems.impl.js +40 -0
- package/dist/components/breadcrumb/src/RsBreadcrumbItems.js +5 -0
- package/dist/components/breadcrumb/src/breadcrumb-utils.js +12 -0
- package/dist/components/button/index.d.ts +3 -0
- package/dist/components/button/src/RsButton.css +356 -0
- package/dist/components/button/src/RsButton.d.ts +56 -0
- package/dist/components/button/src/RsButton.impl.js +236 -0
- package/dist/components/button/src/RsButton.js +8 -0
- package/dist/components/button/src/button-utils.js +28 -0
- package/dist/components/calendar-grid/index.d.ts +1 -0
- package/dist/components/calendar-grid/src/RsCalendarGrid.css +99 -0
- package/dist/components/calendar-grid/src/RsCalendarGrid.d.ts +30 -0
- package/dist/components/calendar-grid/src/RsCalendarGrid.impl.js +182 -0
- package/dist/components/calendar-grid/src/RsCalendarGrid.js +8 -0
- package/dist/components/card/index.d.ts +2 -0
- package/dist/components/card/src/RsCard.d.ts +78 -0
- package/dist/components/card/src/RsCard.impl.js +104 -0
- package/dist/components/card/src/RsCard.js +7 -0
- package/dist/components/cascader/index.d.ts +2 -0
- package/dist/components/cascader/src/RsCascader.css +81 -0
- package/dist/components/cascader/src/RsCascader.d.ts +34 -0
- package/dist/components/cascader/src/RsCascader.impl.js +138 -0
- package/dist/components/cascader/src/RsCascader.js +8 -0
- package/dist/components/cascader/src/cascader-utils.d.ts +16 -0
- package/dist/components/cascader/src/cascader-utils.js +39 -0
- package/dist/components/checkbox/index.d.ts +1 -0
- package/dist/components/checkbox/src/RsCheckbox.d.ts +36 -0
- package/dist/components/checkbox/src/RsCheckbox.impl.js +86 -0
- package/dist/components/checkbox/src/RsCheckbox.js +7 -0
- package/dist/components/code-block/index.d.ts +1 -0
- package/dist/components/code-block/src/RsCodeBlock.css +102 -0
- package/dist/components/code-block/src/RsCodeBlock.impl.js +173 -0
- package/dist/components/code-block/src/RsCodeBlock.js +8 -0
- package/dist/components/code-editor/index.d.ts +4 -0
- package/dist/components/code-editor/src/RsCodeEditor.css +214 -0
- package/dist/components/code-editor/src/RsCodeEditor.impl.js +319 -0
- package/dist/components/code-editor/src/RsCodeEditor.js +8 -0
- package/dist/components/code-editor/src/code-editor-utils.js +64 -0
- package/dist/components/code-editor/src/code-mirror-completion.js +37 -0
- package/dist/components/code-editor/src/code-mirror-diagnostics.js +35 -0
- package/dist/components/code-editor/src/code-mirror-ghost.js +133 -0
- package/dist/components/code-editor/src/code-mirror-inline-edit.js +51 -0
- package/dist/components/code-editor/src/code-mirror-intel.js +62 -0
- package/dist/components/code-editor/src/code-mirror-lang.js +113 -0
- package/dist/components/config-provider/index.d.ts +1 -0
- package/dist/components/config-provider/src/RsConfigProvider.css +7 -0
- package/dist/components/config-provider/src/RsConfigProvider.d.ts +36 -0
- package/dist/components/config-provider/src/RsConfigProvider.impl.js +49 -0
- package/dist/components/config-provider/src/RsConfigProvider.js +8 -0
- package/dist/components/container/index.d.ts +2 -0
- package/dist/components/container/src/RsContainer.css +94 -0
- package/dist/components/container/src/RsContainer.impl.js +99 -0
- package/dist/components/container/src/RsContainer.js +8 -0
- package/dist/components/context-menu/index.d.ts +2 -0
- package/dist/components/context-menu/src/RsContextMenu.impl.js +81 -0
- package/dist/components/context-menu/src/RsContextMenu.js +7 -0
- package/dist/components/context-menu/src/RsContextMenuItems.impl.js +90 -0
- package/dist/components/context-menu/src/RsContextMenuItems.js +5 -0
- package/dist/components/context-menu/src/context-menu-utils.js +8 -0
- package/dist/components/date-picker/index.d.ts +8 -0
- package/dist/components/date-picker/src/RsDatePicker.css +100 -0
- package/dist/components/date-picker/src/RsDatePicker.d.ts +72 -0
- package/dist/components/date-picker/src/RsDatePicker.impl.js +719 -0
- package/dist/components/date-picker/src/RsDatePicker.js +10 -0
- package/dist/components/date-picker/src/RsDateTimePicker.d.ts +50 -0
- package/dist/components/date-picker/src/RsDateTimePicker.impl.js +70 -0
- package/dist/components/date-picker/src/RsDateTimePicker.js +5 -0
- package/dist/components/date-picker/src/date-picker-utils.js +270 -0
- package/dist/components/date-picker/src/date-range-validation.js +16 -0
- package/dist/components/date-picker/src/date-validation.js +46 -0
- package/dist/components/descriptions/index.d.ts +3 -0
- package/dist/components/descriptions/src/RsDescriptions.d.ts +34 -0
- package/dist/components/descriptions/src/RsDescriptions.impl.js +69 -0
- package/dist/components/descriptions/src/RsDescriptions.js +7 -0
- package/dist/components/descriptions/src/RsDescriptionsItem.impl.js +26 -0
- package/dist/components/descriptions/src/RsDescriptionsItem.js +5 -0
- package/dist/components/descriptions/src/descriptions-utils.d.ts +18 -0
- package/dist/components/descriptions/src/descriptions-utils.js +4 -0
- package/dist/components/dialog/index.d.ts +4 -0
- package/dist/components/dialog/src/RsConfirmDialog.d.ts +72 -0
- package/dist/components/dialog/src/RsConfirmDialog.impl.js +207 -0
- package/dist/components/dialog/src/RsConfirmDialog.js +7 -0
- package/dist/components/dialog/src/RsDialog.d.ts +148 -0
- package/dist/components/dialog/src/RsDialog.impl.js +414 -0
- package/dist/components/dialog/src/RsDialog.js +7 -0
- package/dist/components/dialog/src/dialog-utils.d.ts +95 -0
- package/dist/components/dialog/src/dialog-utils.js +58 -0
- package/dist/components/dialog/src/dialog-window.js +276 -0
- package/dist/components/divider/index.d.ts +1 -0
- package/dist/components/divider/src/RsDivider.css +51 -0
- package/dist/components/divider/src/RsDivider.impl.js +31 -0
- package/dist/components/divider/src/RsDivider.js +8 -0
- package/dist/components/drawer/index.d.ts +3 -0
- package/dist/components/drawer/src/RsDrawer.d.ts +104 -0
- package/dist/components/drawer/src/RsDrawer.impl.js +497 -0
- package/dist/components/drawer/src/RsDrawer.js +7 -0
- package/dist/components/drawer/src/drawer-utils.d.ts +37 -0
- package/dist/components/drawer/src/drawer-utils.js +59 -0
- package/dist/components/dropdown/index.d.ts +2 -0
- package/dist/components/dropdown/src/RsDropdown.d.ts +41 -0
- package/dist/components/dropdown/src/RsDropdown.impl.js +104 -0
- package/dist/components/dropdown/src/RsDropdown.js +7 -0
- package/dist/components/dropdown/src/RsDropdownItemView.d.ts +11 -0
- package/dist/components/dropdown/src/RsDropdownItemView.impl.js +32 -0
- package/dist/components/dropdown/src/RsDropdownItemView.js +5 -0
- package/dist/components/dropdown/src/RsDropdownItems.d.ts +18 -0
- package/dist/components/dropdown/src/RsDropdownItems.impl.js +88 -0
- package/dist/components/dropdown/src/RsDropdownItems.js +5 -0
- package/dist/components/dropdown/src/dropdown-utils.js +12 -0
- package/dist/components/dynamic-tags/index.d.ts +2 -0
- package/dist/components/dynamic-tags/src/RsDynamicTags.css +148 -0
- package/dist/components/dynamic-tags/src/RsDynamicTags.d.ts +71 -0
- package/dist/components/dynamic-tags/src/RsDynamicTags.impl.js +313 -0
- package/dist/components/dynamic-tags/src/RsDynamicTags.js +8 -0
- package/dist/components/empty/index.d.ts +1 -0
- package/dist/components/empty/src/RsEmpty.d.ts +32 -0
- package/dist/components/empty/src/RsEmpty.impl.js +43 -0
- package/dist/components/empty/src/RsEmpty.js +7 -0
- package/dist/components/fieldset/index.d.ts +2 -0
- package/dist/components/fieldset/src/RsFieldset.css +92 -0
- package/dist/components/fieldset/src/RsFieldset.d.ts +61 -0
- package/dist/components/fieldset/src/RsFieldset.impl.js +78 -0
- package/dist/components/fieldset/src/RsFieldset.js +8 -0
- package/dist/components/fieldset/src/fieldset-utils.d.ts +29 -0
- package/dist/components/fieldset/src/fieldset-utils.js +12 -0
- package/dist/components/form/index.d.ts +9 -0
- package/dist/components/form/src/RsForm.css +30 -0
- package/dist/components/form/src/RsForm.impl.js +188 -0
- package/dist/components/form/src/RsForm.js +8 -0
- package/dist/components/form/src/RsFormItem.css +52 -0
- package/dist/components/form/src/RsFormItem.impl.js +298 -0
- package/dist/components/form/src/RsFormItem.js +8 -0
- package/dist/components/form/src/RsFormItemControl.impl.js +19 -0
- package/dist/components/form/src/RsFormItemControl.js +5 -0
- package/dist/components/form/src/RsFormList.impl.js +86 -0
- package/dist/components/form/src/RsFormList.js +5 -0
- package/dist/components/form/src/form-item-control.js +46 -0
- package/dist/components/form/src/form-path.js +78 -0
- package/dist/components/form/src/form-rules.d.ts +82 -0
- package/dist/components/form/src/form-rules.js +130 -0
- package/dist/components/form/src/form-utils.js +67 -0
- package/dist/components/icon/index.d.ts +1 -0
- package/dist/components/icon/src/RsIcon.css +14 -0
- package/dist/components/icon/src/RsIcon.d.ts +24 -0
- package/dist/components/icon/src/RsIcon.impl.js +77 -0
- package/dist/components/icon/src/RsIcon.js +8 -0
- package/dist/components/input/index.d.ts +4 -0
- package/dist/components/input/src/RsInput.css +537 -0
- package/dist/components/input/src/RsInput.d.ts +147 -0
- package/dist/components/input/src/RsInput.impl.js +439 -0
- package/dist/components/input/src/RsInput.js +8 -0
- package/dist/components/input/src/input-rules.d.ts +15 -0
- package/dist/components/input/src/input-rules.js +59 -0
- package/dist/components/input-number/index.d.ts +3 -0
- package/dist/components/input-number/src/RsInputNumber.css +163 -0
- package/dist/components/input-number/src/RsInputNumber.d.ts +88 -0
- package/dist/components/input-number/src/RsInputNumber.impl.js +375 -0
- package/dist/components/input-number/src/RsInputNumber.js +8 -0
- package/dist/components/input-number/src/input-number-utils.js +74 -0
- package/dist/components/label/index.d.ts +1 -0
- package/dist/components/label/src/RsLabel.css +33 -0
- package/dist/components/label/src/RsLabel.impl.js +45 -0
- package/dist/components/label/src/RsLabel.js +8 -0
- package/dist/components/link/index.d.ts +1 -0
- package/dist/components/link/src/RsLink.impl.js +59 -0
- package/dist/components/link/src/RsLink.js +7 -0
- package/dist/components/loading/index.d.ts +1 -0
- package/dist/components/loading/src/RsLoading.impl.js +72 -0
- package/dist/components/loading/src/RsLoading.js +7 -0
- package/dist/components/loading-bar/index.d.ts +1 -0
- package/dist/components/loading-bar/src/RsLoadingBar.css +20 -0
- package/dist/components/loading-bar/src/RsLoadingBar.impl.js +111 -0
- package/dist/components/loading-bar/src/RsLoadingBar.js +8 -0
- package/dist/components/log/index.d.ts +4 -0
- package/dist/components/log/src/RsLog.css +212 -0
- package/dist/components/log/src/RsLog.d.ts +126 -0
- package/dist/components/log/src/RsLog.impl.js +631 -0
- package/dist/components/log/src/RsLog.js +8 -0
- package/dist/components/log/src/log-utils.js +354 -0
- package/dist/components/markdown/index.d.ts +3 -0
- package/dist/components/markdown/src/RsMarkdown.d.ts +36 -0
- package/dist/components/markdown/src/RsMarkdown.impl.js +139 -0
- package/dist/components/markdown/src/RsMarkdown.js +7 -0
- package/dist/components/markdown/src/markdown-utils.js +143 -0
- package/dist/components/mentions/index.d.ts +2 -0
- package/dist/components/mentions/src/RsMentions.css +19 -0
- package/dist/components/mentions/src/RsMentions.d.ts +32 -0
- package/dist/components/mentions/src/RsMentions.impl.js +242 -0
- package/dist/components/mentions/src/RsMentions.js +10 -0
- package/dist/components/mentions/src/mentions-utils.js +128 -0
- package/dist/components/menu/index.d.ts +2 -0
- package/dist/components/menu/src/RsMenu.impl.js +108 -0
- package/dist/components/menu/src/RsMenu.js +7 -0
- package/dist/components/menu/src/RsMenuItems.impl.js +282 -0
- package/dist/components/menu/src/RsMenuItems.js +5 -0
- package/dist/components/menu/src/menu-utils.js +29 -0
- package/dist/components/monaco-editor/index.d.ts +2 -0
- package/dist/components/monaco-editor/src/RsMonacoEditor.css +28 -0
- package/dist/components/monaco-editor/src/RsMonacoEditor.d.ts +105 -0
- package/dist/components/monaco-editor/src/RsMonacoEditor.impl.js +353 -0
- package/dist/components/monaco-editor/src/RsMonacoEditor.js +9 -0
- package/dist/components/pagination/index.d.ts +3 -0
- package/dist/components/pagination/src/RsPagination.css +83 -0
- package/dist/components/pagination/src/RsPagination.d.ts +44 -0
- package/dist/components/pagination/src/RsPagination.impl.js +208 -0
- package/dist/components/pagination/src/RsPagination.js +8 -0
- package/dist/components/pagination/src/pagination-utils.js +53 -0
- package/dist/components/popover/index.d.ts +1 -0
- package/dist/components/popover/src/RsPopover.impl.js +71 -0
- package/dist/components/popover/src/RsPopover.js +7 -0
- package/dist/components/prose-editor/index.d.ts +1 -0
- package/dist/components/prose-editor/src/RsProseEditor.css +19 -0
- package/dist/components/prose-editor/src/RsProseEditor.impl.js +137 -0
- package/dist/components/prose-editor/src/RsProseEditor.js +8 -0
- package/dist/components/radio/index.d.ts +3 -0
- package/dist/components/radio/src/RsRadio.d.ts +34 -0
- package/dist/components/radio/src/RsRadio.impl.js +66 -0
- package/dist/components/radio/src/RsRadio.js +7 -0
- package/dist/components/radio/src/RsRadioItem.d.ts +23 -0
- package/dist/components/radio/src/RsRadioItem.impl.js +55 -0
- package/dist/components/radio/src/RsRadioItem.js +7 -0
- package/dist/components/radio/src/radio-utils.d.ts +9 -0
- package/dist/components/radio/src/radio-utils.js +4 -0
- package/dist/components/scrollbar/index.d.ts +2 -0
- package/dist/components/scrollbar/src/RsScrollbar.impl.js +81 -0
- package/dist/components/scrollbar/src/RsScrollbar.js +7 -0
- package/dist/components/scrollbar/src/scrollbar-utils.js +7 -0
- package/dist/components/select/index.d.ts +3 -0
- package/dist/components/select/src/RsSelect.css +248 -0
- package/dist/components/select/src/RsSelect.d.ts +168 -0
- package/dist/components/select/src/RsSelect.impl.js +622 -0
- package/dist/components/select/src/RsSelect.js +8 -0
- package/dist/components/select/src/select-utils.js +247 -0
- package/dist/components/select/src/use-rs-select.d.ts +81 -0
- package/dist/components/select/src/use-rs-select.js +278 -0
- package/dist/components/sidebar/index.d.ts +3 -0
- package/dist/components/sidebar/src/RsSidebar.css +61 -0
- package/dist/components/sidebar/src/RsSidebar.impl.js +63 -0
- package/dist/components/sidebar/src/RsSidebar.js +8 -0
- package/dist/components/sidebar/src/RsSidebarGroup.css +15 -0
- package/dist/components/sidebar/src/RsSidebarGroup.impl.js +22 -0
- package/dist/components/sidebar/src/RsSidebarGroup.js +8 -0
- package/dist/components/sidebar/src/RsSidebarItem.css +45 -0
- package/dist/components/sidebar/src/RsSidebarItem.impl.js +41 -0
- package/dist/components/sidebar/src/RsSidebarItem.js +8 -0
- package/dist/components/split-pane/index.d.ts +3 -0
- package/dist/components/split-pane/src/RsSplitPane.impl.js +419 -0
- package/dist/components/split-pane/src/RsSplitPane.js +7 -0
- package/dist/components/split-pane/src/split-pane-utils.js +135 -0
- package/dist/components/stat-card/index.d.ts +1 -0
- package/dist/components/stat-card/src/RsStatCard.css +51 -0
- package/dist/components/stat-card/src/RsStatCard.impl.js +41 -0
- package/dist/components/stat-card/src/RsStatCard.js +8 -0
- package/dist/components/steps/index.d.ts +3 -0
- package/dist/components/steps/src/RsSteps.css +83 -0
- package/dist/components/steps/src/RsSteps.impl.js +55 -0
- package/dist/components/steps/src/RsSteps.js +8 -0
- package/dist/components/steps/src/steps-utils.js +12 -0
- package/dist/components/switch/index.d.ts +2 -0
- package/dist/components/switch/src/RsSwitch.d.ts +41 -0
- package/dist/components/switch/src/RsSwitch.impl.js +92 -0
- package/dist/components/switch/src/RsSwitch.js +7 -0
- package/dist/components/table/index.d.ts +54 -0
- package/dist/components/table/src/RsTable.d.ts +139 -0
- package/dist/components/table/src/RsTable.impl.js +677 -0
- package/dist/components/table/src/RsTable.js +6 -0
- package/dist/components/table/src/assembleRsTableApi.d.ts +34 -0
- package/dist/components/table/src/assembleRsTableApi.js +26 -0
- package/dist/components/table/src/bindRsTableViewContext.d.ts +73 -0
- package/dist/components/table/src/bindRsTableViewContext.js +104 -0
- package/dist/components/table/src/composables/useRsTable.d.ts +61 -0
- package/dist/components/table/src/composables/useRsTable.js +57 -0
- package/dist/components/table/src/composables/useRsTableA11y.js +34 -0
- package/dist/components/table/src/composables/useRsTableChartBridge.d.ts +37 -0
- package/dist/components/table/src/composables/useRsTableChartBridge.js +47 -0
- package/dist/components/table/src/composables/useRsTableColumnLayout.d.ts +75 -0
- package/dist/components/table/src/composables/useRsTableColumnLayout.js +250 -0
- package/dist/components/table/src/composables/useRsTableColumnResize.d.ts +35 -0
- package/dist/components/table/src/composables/useRsTableColumnResize.js +182 -0
- package/dist/components/table/src/composables/useRsTableColumnVirtual.d.ts +76 -0
- package/dist/components/table/src/composables/useRsTableColumnVirtual.js +116 -0
- package/dist/components/table/src/composables/useRsTableColumns.d.ts +70 -0
- package/dist/components/table/src/composables/useRsTableColumns.js +132 -0
- package/dist/components/table/src/composables/useRsTableContextMenu.d.ts +83 -0
- package/dist/components/table/src/composables/useRsTableContextMenu.js +152 -0
- package/dist/components/table/src/composables/useRsTableCore.d.ts +177 -0
- package/dist/components/table/src/composables/useRsTableCore.js +164 -0
- package/dist/components/table/src/composables/useRsTableEditActions.d.ts +129 -0
- package/dist/components/table/src/composables/useRsTableEditActions.js +376 -0
- package/dist/components/table/src/composables/useRsTableEditLayer.d.ts +228 -0
- package/dist/components/table/src/composables/useRsTableEditLayer.js +146 -0
- package/dist/components/table/src/composables/useRsTableEngine.d.ts +115 -0
- package/dist/components/table/src/composables/useRsTableEngine.js +225 -0
- package/dist/components/table/src/composables/useRsTableGridKeyboard.d.ts +38 -0
- package/dist/components/table/src/composables/useRsTableGridKeyboard.js +70 -0
- package/dist/components/table/src/composables/useRsTableHeadless.d.ts +138 -0
- package/dist/components/table/src/composables/useRsTableHeadless.js +105 -0
- package/dist/components/table/src/composables/useRsTableInteraction.d.ts +145 -0
- package/dist/components/table/src/composables/useRsTableInteraction.js +249 -0
- package/dist/components/table/src/composables/useRsTableScrollHost.js +42 -0
- package/dist/components/table/src/composables/useRsTableScrollLayout.js +195 -0
- package/dist/components/table/src/composables/useRsTableSelectionSource.d.ts +38 -0
- package/dist/components/table/src/composables/useRsTableSelectionSource.js +57 -0
- package/dist/components/table/src/composables/useRsTableShell.d.ts +380 -0
- package/dist/components/table/src/composables/useRsTableShell.js +237 -0
- package/dist/components/table/src/composables/useRsTableShellChrome.d.ts +126 -0
- package/dist/components/table/src/composables/useRsTableShellChrome.js +110 -0
- package/dist/components/table/src/composables/useRsTableSummary.d.ts +44 -0
- package/dist/components/table/src/composables/useRsTableSummary.js +52 -0
- package/dist/components/table/src/composables/useRsTableViewProvide.d.ts +111 -0
- package/dist/components/table/src/composables/useRsTableViewProvide.js +93 -0
- package/dist/components/table/src/composables/useRsTableVirtual.d.ts +75 -0
- package/dist/components/table/src/composables/useRsTableVirtual.js +83 -0
- package/dist/components/table/src/composables/useTableCellTooltip.js +177 -0
- package/dist/components/table/src/composables/useTableEdit.js +176 -0
- package/dist/components/table/src/composables/useTableRowHighlight.js +35 -0
- package/dist/components/table/src/context/rs-table-module-registry.d.ts +37 -0
- package/dist/components/table/src/context/rs-table-module-registry.js +51 -0
- package/dist/components/table/src/context/rs-table-view-context.d.ts +218 -0
- package/dist/components/table/src/context/rs-table-view-context.js +47 -0
- package/dist/components/table/src/context/table-keys.js +6 -0
- package/dist/components/table/src/createRsTableEditEmitBridge.d.ts +16 -0
- package/dist/components/table/src/createRsTableEditEmitBridge.js +25 -0
- package/dist/components/table/src/features/rs-table-feature-host.d.ts +61 -0
- package/dist/components/table/src/features/rs-table-feature-host.js +97 -0
- package/dist/components/table/src/features/table-features.d.ts +149 -0
- package/dist/components/table/src/features/table-features.js +119 -0
- package/dist/components/table/src/rs-table-api.d.ts +65 -0
- package/dist/components/table/src/rs-table-api.js +22 -0
- package/dist/components/table/src/rs-table-props.d.ts +323 -0
- package/dist/components/table/src/rs-table-props.js +65 -0
- package/dist/components/table/src/table-body/RsTableBody.d.ts +47 -0
- package/dist/components/table/src/table-body/RsTableBody.impl.js +312 -0
- package/dist/components/table/src/table-body/RsTableBody.js +5 -0
- package/dist/components/table/src/table-body/RsTableBodyRow.d.ts +149 -0
- package/dist/components/table/src/table-body/RsTableBodyRow.impl.js +438 -0
- package/dist/components/table/src/table-body/RsTableBodyRow.js +5 -0
- package/dist/components/table/src/table-body/RsTableCell.d.ts +59 -0
- package/dist/components/table/src/table-body/RsTableCell.impl.js +213 -0
- package/dist/components/table/src/table-body/RsTableCell.js +5 -0
- package/dist/components/table/src/table-body/RsTableCellContent.js +25 -0
- package/dist/components/table/src/table-body/RsTableCellEditor.d.ts +46 -0
- package/dist/components/table/src/table-body/RsTableCellEditor.impl.js +347 -0
- package/dist/components/table/src/table-body/RsTableCellEditor.js +5 -0
- package/dist/components/table/src/table-body/RsTableColGroup.d.ts +18 -0
- package/dist/components/table/src/table-body/RsTableColGroup.impl.js +58 -0
- package/dist/components/table/src/table-body/RsTableColGroup.js +5 -0
- package/dist/components/table/src/table-body/RsTableEditGutter.impl.js +52 -0
- package/dist/components/table/src/table-body/RsTableEditGutter.js +5 -0
- package/dist/components/table/src/table-body/RsTableRowStatus.css +30 -0
- package/dist/components/table/src/table-body/RsTableRowStatus.impl.js +44 -0
- package/dist/components/table/src/table-body/RsTableRowStatus.js +8 -0
- package/dist/components/table/src/table-footer/RsTableSummaryRow.d.ts +37 -0
- package/dist/components/table/src/table-footer/RsTableSummaryRow.impl.js +57 -0
- package/dist/components/table/src/table-footer/RsTableSummaryRow.js +5 -0
- package/dist/components/table/src/table-header/RsTableHeader.d.ts +22 -0
- package/dist/components/table/src/table-header/RsTableHeader.impl.js +184 -0
- package/dist/components/table/src/table-header/RsTableHeader.js +5 -0
- package/dist/components/table/src/table-header/RsTableHeaderFilter.css +24 -0
- package/dist/components/table/src/table-header/RsTableHeaderFilter.impl.js +102 -0
- package/dist/components/table/src/table-header/RsTableHeaderFilter.js +8 -0
- package/dist/components/table/src/table-header/rs-table-header-types.d.ts +45 -0
- package/dist/components/table/src/utils/rs-table-compat-matrix.js +64 -0
- package/dist/components/table/src/utils/rs-table-echarts-adapter.js +49 -0
- package/dist/components/table/src/utils/rs-table-grid-nav.js +80 -0
- package/dist/components/table/src/utils/table-chart-utils.d.ts +62 -0
- package/dist/components/table/src/utils/table-chart-utils.js +91 -0
- package/dist/components/table/src/utils/table-context-menu.d.ts +13 -0
- package/dist/components/table/src/utils/table-context-menu.js +30 -0
- package/dist/components/table/src/utils/table-drag.js +130 -0
- package/dist/components/table/src/utils/table-edit-utils.d.ts +94 -0
- package/dist/components/table/src/utils/table-edit-utils.js +282 -0
- package/dist/components/table/src/utils/table-summary-utils.d.ts +90 -0
- package/dist/components/table/src/utils/table-summary-utils.js +97 -0
- package/dist/components/table/src/utils/table-utils.d.ts +440 -0
- package/dist/components/table/src/utils/table-utils.js +722 -0
- package/dist/components/tabs/index.d.ts +3 -0
- package/dist/components/tabs/src/RsTabs.impl.js +526 -0
- package/dist/components/tabs/src/RsTabs.js +7 -0
- package/dist/components/tabs/src/tabs-utils.d.ts +71 -0
- package/dist/components/tabs/src/tabs-utils.js +147 -0
- package/dist/components/tag/index.d.ts +2 -0
- package/dist/components/tag/src/RsTag.css +94 -0
- package/dist/components/tag/src/RsTag.d.ts +33 -0
- package/dist/components/tag/src/RsTag.impl.js +70 -0
- package/dist/components/tag/src/RsTag.js +8 -0
- package/dist/components/terminal/index.d.ts +3 -0
- package/dist/components/terminal/src/RsTerminal.css +160 -0
- package/dist/components/terminal/src/RsTerminal.d.ts +117 -0
- package/dist/components/terminal/src/RsTerminal.impl.js +679 -0
- package/dist/components/terminal/src/RsTerminal.js +8 -0
- package/dist/components/terminal/src/terminal-utils.js +255 -0
- package/dist/components/terminal/src/terminal-wheel.js +42 -0
- package/dist/components/textarea/index.d.ts +2 -0
- package/dist/components/textarea/src/RsTextarea.css +126 -0
- package/dist/components/textarea/src/RsTextarea.d.ts +114 -0
- package/dist/components/textarea/src/RsTextarea.impl.js +385 -0
- package/dist/components/textarea/src/RsTextarea.js +8 -0
- package/dist/components/time-picker/index.d.ts +8 -0
- package/dist/components/time-picker/src/RsTimePicker.css +106 -0
- package/dist/components/time-picker/src/RsTimePicker.d.ts +41 -0
- package/dist/components/time-picker/src/RsTimePicker.impl.js +374 -0
- package/dist/components/time-picker/src/RsTimePicker.js +10 -0
- package/dist/components/time-picker/src/RsTimePickerColumns.css +104 -0
- package/dist/components/time-picker/src/RsTimePickerColumns.d.ts +30 -0
- package/dist/components/time-picker/src/RsTimePickerColumns.impl.js +172 -0
- package/dist/components/time-picker/src/RsTimePickerColumns.js +8 -0
- package/dist/components/time-picker/src/time-picker-utils.js +158 -0
- package/dist/components/time-picker/src/time-range-validation.js +15 -0
- package/dist/components/time-picker/src/time-validation.js +22 -0
- package/dist/components/toaster/index.d.ts +1 -0
- package/dist/components/toaster/src/RsToaster.d.ts +17 -0
- package/dist/components/toaster/src/RsToaster.impl.js +67 -0
- package/dist/components/toaster/src/RsToaster.js +7 -0
- package/dist/components/toolbar/index.d.ts +2 -0
- package/dist/components/toolbar/src/RsToolbar.impl.js +57 -0
- package/dist/components/toolbar/src/RsToolbar.js +7 -0
- package/dist/components/tooltip/index.d.ts +2 -0
- package/dist/components/tooltip/src/RsTooltip.impl.js +91 -0
- package/dist/components/tooltip/src/RsTooltip.js +7 -0
- package/dist/components/tooltip/src/RsTooltipProvider.impl.js +32 -0
- package/dist/components/tooltip/src/RsTooltipProvider.js +5 -0
- package/dist/components/tree/index.d.ts +3 -0
- package/dist/components/tree/src/RsTree.css +308 -0
- package/dist/components/tree/src/RsTree.impl.js +762 -0
- package/dist/components/tree/src/RsTree.js +8 -0
- package/dist/components/tree/src/tree-utils.d.ts +112 -0
- package/dist/components/tree/src/tree-utils.js +310 -0
- package/dist/components/tree-select/index.d.ts +1 -0
- package/dist/components/tree-select/src/RsTreeSelect.css +60 -0
- package/dist/components/tree-select/src/RsTreeSelect.d.ts +33 -0
- package/dist/components/tree-select/src/RsTreeSelect.impl.js +145 -0
- package/dist/components/tree-select/src/RsTreeSelect.js +8 -0
- package/dist/components/upload/index.d.ts +3 -0
- package/dist/components/upload/src/RsUpload.css +191 -0
- package/dist/components/upload/src/RsUpload.impl.js +198 -0
- package/dist/components/upload/src/RsUpload.js +8 -0
- package/dist/components/upload/src/upload-utils.js +177 -0
- package/dist/components/virtual-list/index.d.ts +3 -0
- package/dist/components/virtual-list/src/RsVirtualList.css +29 -0
- package/dist/components/virtual-list/src/RsVirtualList.d.ts +37 -0
- package/dist/components/virtual-list/src/RsVirtualList.impl.js +143 -0
- package/dist/components/virtual-list/src/RsVirtualList.js +8 -0
- package/dist/components/virtual-list/src/virtual-list-utils.js +28 -0
- package/dist/components/vnode-host/src/RsVNodeHost.impl.js +18 -0
- package/dist/components/vnode-host/src/RsVNodeHost.js +5 -0
- package/dist/composables/createRsDialog.d.ts +3 -3
- package/dist/composables/createRsDialog.js +3 -3
- package/dist/composables/useRsTabsNav.d.ts +1 -1
- package/dist/composables/useRsTabsNav.js +1 -1
- package/dist/composables/useRsToast.d.ts +1 -1
- package/dist/index.d.ts +206 -203
- package/dist/index.js +423 -419
- package/dist/locale/messages.js +40 -38
- package/dist/styles.css +1 -5
- package/dist/utils/iso-local-datetime.js +103 -0
- package/dist/utils/rs-dayjs.js +41 -0
- package/dist/vite-plugins/niuma-ui-host.d.ts +6 -5
- package/dist/vite-plugins/niuma-ui-host.js +73 -67
- package/package.json +12 -11
- package/dist/components/RsAlert.css +0 -111
- package/dist/components/RsAlert.d.ts +0 -32
- package/dist/components/RsAlert.impl.js +0 -83
- package/dist/components/RsAlert.js +0 -8
- package/dist/components/RsAutoComplete.d.ts +0 -39
- package/dist/components/RsAutoComplete.impl.js +0 -306
- package/dist/components/RsAutoComplete.js +0 -5
- package/dist/components/RsAvatar.impl.js +0 -59
- package/dist/components/RsAvatar.js +0 -7
- package/dist/components/RsBadge.css +0 -41
- package/dist/components/RsBadge.impl.js +0 -13
- package/dist/components/RsBadge.js +0 -8
- package/dist/components/RsBreadcrumb.impl.js +0 -26
- package/dist/components/RsBreadcrumb.js +0 -7
- package/dist/components/RsBreadcrumbItems.impl.js +0 -40
- package/dist/components/RsBreadcrumbItems.js +0 -5
- package/dist/components/RsButton.css +0 -356
- package/dist/components/RsButton.d.ts +0 -56
- package/dist/components/RsButton.impl.js +0 -236
- package/dist/components/RsButton.js +0 -8
- package/dist/components/RsCalendarGrid.css +0 -99
- package/dist/components/RsCalendarGrid.d.ts +0 -30
- package/dist/components/RsCalendarGrid.impl.js +0 -182
- package/dist/components/RsCalendarGrid.js +0 -8
- package/dist/components/RsCard.d.ts +0 -78
- package/dist/components/RsCard.impl.js +0 -104
- package/dist/components/RsCard.js +0 -7
- package/dist/components/RsCascader.css +0 -81
- package/dist/components/RsCascader.d.ts +0 -34
- package/dist/components/RsCascader.impl.js +0 -138
- package/dist/components/RsCascader.js +0 -8
- package/dist/components/RsCheckbox.d.ts +0 -36
- package/dist/components/RsCheckbox.impl.js +0 -86
- package/dist/components/RsCheckbox.js +0 -7
- package/dist/components/RsCodeBlock.css +0 -102
- package/dist/components/RsCodeBlock.impl.js +0 -173
- package/dist/components/RsCodeBlock.js +0 -8
- package/dist/components/RsCodeEditor.css +0 -214
- package/dist/components/RsCodeEditor.impl.js +0 -319
- package/dist/components/RsCodeEditor.js +0 -8
- package/dist/components/RsConfigProvider.css +0 -7
- package/dist/components/RsConfigProvider.d.ts +0 -36
- package/dist/components/RsConfigProvider.impl.js +0 -49
- package/dist/components/RsConfigProvider.js +0 -8
- package/dist/components/RsConfirmDialog.d.ts +0 -72
- package/dist/components/RsConfirmDialog.impl.js +0 -207
- package/dist/components/RsConfirmDialog.js +0 -7
- package/dist/components/RsContainer.css +0 -94
- package/dist/components/RsContainer.impl.js +0 -99
- package/dist/components/RsContainer.js +0 -8
- package/dist/components/RsContextMenu.impl.js +0 -81
- package/dist/components/RsContextMenu.js +0 -7
- package/dist/components/RsContextMenuItems.impl.js +0 -90
- package/dist/components/RsContextMenuItems.js +0 -5
- package/dist/components/RsDatePicker.css +0 -100
- package/dist/components/RsDatePicker.d.ts +0 -72
- package/dist/components/RsDatePicker.impl.js +0 -719
- package/dist/components/RsDatePicker.js +0 -10
- package/dist/components/RsDateTimePicker.d.ts +0 -50
- package/dist/components/RsDateTimePicker.impl.js +0 -70
- package/dist/components/RsDateTimePicker.js +0 -5
- package/dist/components/RsDescriptions.d.ts +0 -34
- package/dist/components/RsDescriptions.impl.js +0 -69
- package/dist/components/RsDescriptions.js +0 -7
- package/dist/components/RsDescriptionsItem.impl.js +0 -26
- package/dist/components/RsDescriptionsItem.js +0 -5
- package/dist/components/RsDialog.d.ts +0 -148
- package/dist/components/RsDialog.impl.js +0 -414
- package/dist/components/RsDialog.js +0 -7
- package/dist/components/RsDivider.css +0 -51
- package/dist/components/RsDivider.impl.js +0 -31
- package/dist/components/RsDivider.js +0 -8
- package/dist/components/RsDrawer.d.ts +0 -104
- package/dist/components/RsDrawer.impl.js +0 -497
- package/dist/components/RsDrawer.js +0 -7
- package/dist/components/RsDropdown.d.ts +0 -41
- package/dist/components/RsDropdown.impl.js +0 -104
- package/dist/components/RsDropdown.js +0 -7
- package/dist/components/RsDropdownItemView.d.ts +0 -11
- package/dist/components/RsDropdownItemView.impl.js +0 -32
- package/dist/components/RsDropdownItemView.js +0 -5
- package/dist/components/RsDropdownItems.d.ts +0 -18
- package/dist/components/RsDropdownItems.impl.js +0 -88
- package/dist/components/RsDropdownItems.js +0 -5
- package/dist/components/RsDynamicTags.css +0 -148
- package/dist/components/RsDynamicTags.d.ts +0 -71
- package/dist/components/RsDynamicTags.impl.js +0 -313
- package/dist/components/RsDynamicTags.js +0 -8
- package/dist/components/RsEmpty.d.ts +0 -32
- package/dist/components/RsEmpty.impl.js +0 -43
- package/dist/components/RsEmpty.js +0 -7
- package/dist/components/RsFieldset.css +0 -92
- package/dist/components/RsFieldset.d.ts +0 -61
- package/dist/components/RsFieldset.impl.js +0 -78
- package/dist/components/RsFieldset.js +0 -8
- package/dist/components/RsForm.css +0 -30
- package/dist/components/RsForm.impl.js +0 -188
- package/dist/components/RsForm.js +0 -8
- package/dist/components/RsFormItem.css +0 -52
- package/dist/components/RsFormItem.impl.js +0 -298
- package/dist/components/RsFormItem.js +0 -8
- package/dist/components/RsFormItemControl.impl.js +0 -19
- package/dist/components/RsFormItemControl.js +0 -5
- package/dist/components/RsFormList.impl.js +0 -86
- package/dist/components/RsFormList.js +0 -5
- package/dist/components/RsIcon.css +0 -14
- package/dist/components/RsIcon.d.ts +0 -24
- package/dist/components/RsIcon.impl.js +0 -77
- package/dist/components/RsIcon.js +0 -8
- package/dist/components/RsInput.css +0 -537
- package/dist/components/RsInput.d.ts +0 -147
- package/dist/components/RsInput.impl.js +0 -439
- package/dist/components/RsInput.js +0 -8
- package/dist/components/RsInputNumber.css +0 -163
- package/dist/components/RsInputNumber.d.ts +0 -88
- package/dist/components/RsInputNumber.impl.js +0 -375
- package/dist/components/RsInputNumber.js +0 -8
- package/dist/components/RsLabel.css +0 -33
- package/dist/components/RsLabel.impl.js +0 -45
- package/dist/components/RsLabel.js +0 -8
- package/dist/components/RsLink.impl.js +0 -59
- package/dist/components/RsLink.js +0 -7
- package/dist/components/RsLoading.impl.js +0 -72
- package/dist/components/RsLoading.js +0 -7
- package/dist/components/RsLoadingBar.css +0 -20
- package/dist/components/RsLoadingBar.impl.js +0 -111
- package/dist/components/RsLoadingBar.js +0 -8
- package/dist/components/RsLog.css +0 -212
- package/dist/components/RsLog.d.ts +0 -126
- package/dist/components/RsLog.impl.js +0 -631
- package/dist/components/RsLog.js +0 -8
- package/dist/components/RsMarkdown.d.ts +0 -36
- package/dist/components/RsMarkdown.impl.js +0 -139
- package/dist/components/RsMarkdown.js +0 -7
- package/dist/components/RsMentions.css +0 -19
- package/dist/components/RsMentions.d.ts +0 -32
- package/dist/components/RsMentions.impl.js +0 -242
- package/dist/components/RsMentions.js +0 -10
- package/dist/components/RsMenu.impl.js +0 -108
- package/dist/components/RsMenu.js +0 -7
- package/dist/components/RsMenuItems.impl.js +0 -282
- package/dist/components/RsMenuItems.js +0 -5
- package/dist/components/RsMonacoEditor.css +0 -28
- package/dist/components/RsMonacoEditor.d.ts +0 -105
- package/dist/components/RsMonacoEditor.impl.js +0 -353
- package/dist/components/RsMonacoEditor.js +0 -9
- package/dist/components/RsPagination.css +0 -83
- package/dist/components/RsPagination.d.ts +0 -44
- package/dist/components/RsPagination.impl.js +0 -208
- package/dist/components/RsPagination.js +0 -8
- package/dist/components/RsPopover.impl.js +0 -71
- package/dist/components/RsPopover.js +0 -7
- package/dist/components/RsProseEditor.css +0 -19
- package/dist/components/RsProseEditor.impl.js +0 -137
- package/dist/components/RsProseEditor.js +0 -8
- package/dist/components/RsRadio.d.ts +0 -34
- package/dist/components/RsRadio.impl.js +0 -66
- package/dist/components/RsRadio.js +0 -7
- package/dist/components/RsRadioItem.d.ts +0 -23
- package/dist/components/RsRadioItem.impl.js +0 -55
- package/dist/components/RsRadioItem.js +0 -7
- package/dist/components/RsScrollbar.impl.js +0 -81
- package/dist/components/RsScrollbar.js +0 -7
- package/dist/components/RsSelect.css +0 -248
- package/dist/components/RsSelect.d.ts +0 -168
- package/dist/components/RsSelect.impl.js +0 -622
- package/dist/components/RsSelect.js +0 -8
- package/dist/components/RsSidebar.css +0 -61
- package/dist/components/RsSidebar.impl.js +0 -63
- package/dist/components/RsSidebar.js +0 -8
- package/dist/components/RsSidebarGroup.css +0 -15
- package/dist/components/RsSidebarGroup.impl.js +0 -22
- package/dist/components/RsSidebarGroup.js +0 -8
- package/dist/components/RsSidebarItem.css +0 -45
- package/dist/components/RsSidebarItem.impl.js +0 -41
- package/dist/components/RsSidebarItem.js +0 -8
- package/dist/components/RsSplitPane.impl.js +0 -419
- package/dist/components/RsSplitPane.js +0 -7
- package/dist/components/RsStatCard.css +0 -51
- package/dist/components/RsStatCard.impl.js +0 -41
- package/dist/components/RsStatCard.js +0 -8
- package/dist/components/RsSteps.css +0 -83
- package/dist/components/RsSteps.impl.js +0 -55
- package/dist/components/RsSteps.js +0 -8
- package/dist/components/RsSwitch.d.ts +0 -41
- package/dist/components/RsSwitch.impl.js +0 -92
- package/dist/components/RsSwitch.js +0 -7
- package/dist/components/RsTable.d.ts +0 -139
- package/dist/components/RsTable.impl.js +0 -677
- package/dist/components/RsTable.js +0 -6
- package/dist/components/RsTabs.impl.js +0 -526
- package/dist/components/RsTabs.js +0 -7
- package/dist/components/RsTag.css +0 -94
- package/dist/components/RsTag.d.ts +0 -33
- package/dist/components/RsTag.impl.js +0 -70
- package/dist/components/RsTag.js +0 -8
- package/dist/components/RsTerminal.css +0 -160
- package/dist/components/RsTerminal.d.ts +0 -108
- package/dist/components/RsTerminal.impl.js +0 -660
- package/dist/components/RsTerminal.js +0 -8
- package/dist/components/RsTextarea.css +0 -126
- package/dist/components/RsTextarea.d.ts +0 -114
- package/dist/components/RsTextarea.impl.js +0 -385
- package/dist/components/RsTextarea.js +0 -8
- package/dist/components/RsTimePicker.css +0 -106
- package/dist/components/RsTimePicker.d.ts +0 -41
- package/dist/components/RsTimePicker.impl.js +0 -374
- package/dist/components/RsTimePicker.js +0 -10
- package/dist/components/RsTimePickerColumns.css +0 -104
- package/dist/components/RsTimePickerColumns.d.ts +0 -30
- package/dist/components/RsTimePickerColumns.impl.js +0 -172
- package/dist/components/RsTimePickerColumns.js +0 -8
- package/dist/components/RsToaster.d.ts +0 -17
- package/dist/components/RsToaster.impl.js +0 -67
- package/dist/components/RsToaster.js +0 -7
- package/dist/components/RsToolbar.impl.js +0 -57
- package/dist/components/RsToolbar.js +0 -7
- package/dist/components/RsTooltip.impl.js +0 -91
- package/dist/components/RsTooltip.js +0 -7
- package/dist/components/RsTooltipProvider.impl.js +0 -32
- package/dist/components/RsTooltipProvider.js +0 -5
- package/dist/components/RsTree.css +0 -308
- package/dist/components/RsTree.impl.js +0 -762
- package/dist/components/RsTree.js +0 -8
- package/dist/components/RsTreeSelect.css +0 -60
- package/dist/components/RsTreeSelect.d.ts +0 -33
- package/dist/components/RsTreeSelect.impl.js +0 -145
- package/dist/components/RsTreeSelect.js +0 -8
- package/dist/components/RsUpload.css +0 -191
- package/dist/components/RsUpload.impl.js +0 -198
- package/dist/components/RsUpload.js +0 -8
- package/dist/components/RsVNodeHost.impl.js +0 -18
- package/dist/components/RsVNodeHost.js +0 -5
- package/dist/components/RsVirtualList.css +0 -29
- package/dist/components/RsVirtualList.d.ts +0 -37
- package/dist/components/RsVirtualList.impl.js +0 -143
- package/dist/components/RsVirtualList.js +0 -8
- package/dist/components/avatar-utils.js +0 -13
- package/dist/components/breadcrumb-utils.js +0 -12
- package/dist/components/button-utils.js +0 -28
- package/dist/components/cascader-utils.d.ts +0 -16
- package/dist/components/cascader-utils.js +0 -39
- package/dist/components/code-editor-utils.js +0 -64
- package/dist/components/code-mirror-completion.js +0 -37
- package/dist/components/code-mirror-diagnostics.js +0 -35
- package/dist/components/code-mirror-ghost.js +0 -133
- package/dist/components/code-mirror-inline-edit.js +0 -51
- package/dist/components/code-mirror-intel.js +0 -62
- package/dist/components/code-mirror-lang.js +0 -113
- package/dist/components/context-menu-utils.js +0 -8
- package/dist/components/date-picker-utils.js +0 -270
- package/dist/components/date-range-validation.js +0 -16
- package/dist/components/date-validation.js +0 -46
- package/dist/components/descriptions-utils.d.ts +0 -18
- package/dist/components/descriptions-utils.js +0 -4
- package/dist/components/dialog-utils.d.ts +0 -95
- package/dist/components/dialog-utils.js +0 -58
- package/dist/components/dialog-window.js +0 -276
- package/dist/components/drawer-utils.d.ts +0 -37
- package/dist/components/drawer-utils.js +0 -59
- package/dist/components/dropdown-utils.js +0 -12
- package/dist/components/fieldset-utils.d.ts +0 -29
- package/dist/components/fieldset-utils.js +0 -12
- package/dist/components/form-item-control.js +0 -46
- package/dist/components/form-path.js +0 -78
- package/dist/components/form-rules.d.ts +0 -82
- package/dist/components/form-rules.js +0 -130
- package/dist/components/form-utils.js +0 -67
- package/dist/components/input-number-utils.js +0 -74
- package/dist/components/input-rules.d.ts +0 -15
- package/dist/components/input-rules.js +0 -59
- package/dist/components/log-utils.js +0 -354
- package/dist/components/markdown-utils.js +0 -143
- package/dist/components/mentions-utils.js +0 -128
- package/dist/components/menu-utils.js +0 -29
- package/dist/components/overlay-utils.js +0 -45
- package/dist/components/pagination-utils.js +0 -53
- package/dist/components/radio-utils.d.ts +0 -9
- package/dist/components/radio-utils.js +0 -4
- package/dist/components/resolve-radius.d.ts +0 -9
- package/dist/components/resolve-radius.js +0 -18
- package/dist/components/resolve-size.d.ts +0 -10
- package/dist/components/resolve-size.js +0 -20
- package/dist/components/scrollbar-utils.js +0 -7
- package/dist/components/select-utils.js +0 -247
- package/dist/components/split-pane-utils.js +0 -135
- package/dist/components/steps-utils.js +0 -12
- package/dist/components/table/RsTableBody.d.ts +0 -47
- package/dist/components/table/RsTableBody.impl.js +0 -312
- package/dist/components/table/RsTableBody.js +0 -5
- package/dist/components/table/RsTableBodyRow.d.ts +0 -149
- package/dist/components/table/RsTableBodyRow.impl.js +0 -438
- package/dist/components/table/RsTableBodyRow.js +0 -5
- package/dist/components/table/RsTableCell.d.ts +0 -59
- package/dist/components/table/RsTableCell.impl.js +0 -213
- package/dist/components/table/RsTableCell.js +0 -5
- package/dist/components/table/RsTableCellContent.js +0 -25
- package/dist/components/table/RsTableCellEditor.d.ts +0 -46
- package/dist/components/table/RsTableCellEditor.impl.js +0 -347
- package/dist/components/table/RsTableCellEditor.js +0 -5
- package/dist/components/table/RsTableColGroup.d.ts +0 -18
- package/dist/components/table/RsTableColGroup.impl.js +0 -58
- package/dist/components/table/RsTableColGroup.js +0 -5
- package/dist/components/table/RsTableEditGutter.impl.js +0 -52
- package/dist/components/table/RsTableEditGutter.js +0 -5
- package/dist/components/table/RsTableHeader.d.ts +0 -22
- package/dist/components/table/RsTableHeader.impl.js +0 -184
- package/dist/components/table/RsTableHeader.js +0 -5
- package/dist/components/table/RsTableHeaderFilter.css +0 -24
- package/dist/components/table/RsTableHeaderFilter.impl.js +0 -102
- package/dist/components/table/RsTableHeaderFilter.js +0 -8
- package/dist/components/table/RsTableRowStatus.css +0 -30
- package/dist/components/table/RsTableRowStatus.impl.js +0 -44
- package/dist/components/table/RsTableRowStatus.js +0 -8
- package/dist/components/table/RsTableSummaryRow.d.ts +0 -37
- package/dist/components/table/RsTableSummaryRow.impl.js +0 -57
- package/dist/components/table/RsTableSummaryRow.js +0 -5
- package/dist/components/table/rs-table-api.d.ts +0 -65
- package/dist/components/table/rs-table-api.js +0 -22
- package/dist/components/table/rs-table-compat-matrix.js +0 -64
- package/dist/components/table/rs-table-echarts-adapter.js +0 -49
- package/dist/components/table/rs-table-feature-host.d.ts +0 -61
- package/dist/components/table/rs-table-feature-host.js +0 -97
- package/dist/components/table/rs-table-grid-nav.js +0 -80
- package/dist/components/table/rs-table-header-types.d.ts +0 -45
- package/dist/components/table/rs-table-module-registry.d.ts +0 -37
- package/dist/components/table/rs-table-module-registry.js +0 -51
- package/dist/components/table/rs-table-props.d.ts +0 -323
- package/dist/components/table/rs-table-props.js +0 -65
- package/dist/components/table/rs-table-view-context.d.ts +0 -218
- package/dist/components/table/rs-table-view-context.js +0 -47
- package/dist/components/table/table-chart-utils.d.ts +0 -62
- package/dist/components/table/table-chart-utils.js +0 -91
- package/dist/components/table/table-context-menu.d.ts +0 -13
- package/dist/components/table/table-context-menu.js +0 -30
- package/dist/components/table/table-edit-utils.d.ts +0 -94
- package/dist/components/table/table-edit-utils.js +0 -282
- package/dist/components/table/table-features.d.ts +0 -149
- package/dist/components/table/table-features.js +0 -119
- package/dist/components/table/table-keys.js +0 -6
- package/dist/components/table/table-summary-utils.d.ts +0 -90
- package/dist/components/table/table-summary-utils.js +0 -97
- package/dist/components/table-drag.js +0 -130
- package/dist/components/table-utils.d.ts +0 -440
- package/dist/components/table-utils.js +0 -722
- package/dist/components/tabs-utils.d.ts +0 -71
- package/dist/components/tabs-utils.js +0 -147
- package/dist/components/terminal-utils.js +0 -255
- package/dist/components/terminal-wheel.js +0 -42
- package/dist/components/time-picker-utils.js +0 -158
- package/dist/components/time-range-validation.js +0 -15
- package/dist/components/time-validation.js +0 -22
- package/dist/components/tree-utils.d.ts +0 -112
- package/dist/components/tree-utils.js +0 -310
- package/dist/components/upload-utils.js +0 -177
- package/dist/components/use-rs-select.d.ts +0 -81
- package/dist/components/use-rs-select.js +0 -278
- package/dist/components/virtual-list-utils.js +0 -28
- package/dist/composables/assembleRsTableApi.d.ts +0 -34
- package/dist/composables/assembleRsTableApi.js +0 -26
- package/dist/composables/bindRsTableViewContext.d.ts +0 -73
- package/dist/composables/bindRsTableViewContext.js +0 -104
- package/dist/composables/createRsTableEditEmitBridge.d.ts +0 -16
- package/dist/composables/createRsTableEditEmitBridge.js +0 -25
- package/dist/composables/useRsTable.d.ts +0 -61
- package/dist/composables/useRsTable.js +0 -57
- package/dist/composables/useRsTableA11y.js +0 -34
- package/dist/composables/useRsTableChartBridge.d.ts +0 -37
- package/dist/composables/useRsTableChartBridge.js +0 -47
- package/dist/composables/useRsTableColumnLayout.d.ts +0 -75
- package/dist/composables/useRsTableColumnLayout.js +0 -250
- package/dist/composables/useRsTableColumnResize.d.ts +0 -35
- package/dist/composables/useRsTableColumnResize.js +0 -182
- package/dist/composables/useRsTableColumnVirtual.d.ts +0 -76
- package/dist/composables/useRsTableColumnVirtual.js +0 -116
- package/dist/composables/useRsTableColumns.d.ts +0 -70
- package/dist/composables/useRsTableColumns.js +0 -132
- package/dist/composables/useRsTableContextMenu.d.ts +0 -83
- package/dist/composables/useRsTableContextMenu.js +0 -152
- package/dist/composables/useRsTableCore.d.ts +0 -177
- package/dist/composables/useRsTableCore.js +0 -164
- package/dist/composables/useRsTableEditActions.d.ts +0 -129
- package/dist/composables/useRsTableEditActions.js +0 -376
- package/dist/composables/useRsTableEditLayer.d.ts +0 -228
- package/dist/composables/useRsTableEditLayer.js +0 -146
- package/dist/composables/useRsTableEngine.d.ts +0 -115
- package/dist/composables/useRsTableEngine.js +0 -225
- package/dist/composables/useRsTableGridKeyboard.d.ts +0 -38
- package/dist/composables/useRsTableGridKeyboard.js +0 -70
- package/dist/composables/useRsTableHeadless.d.ts +0 -138
- package/dist/composables/useRsTableHeadless.js +0 -105
- package/dist/composables/useRsTableInteraction.d.ts +0 -145
- package/dist/composables/useRsTableInteraction.js +0 -249
- package/dist/composables/useRsTableScrollHost.js +0 -42
- package/dist/composables/useRsTableScrollLayout.js +0 -195
- package/dist/composables/useRsTableSelectionSource.d.ts +0 -38
- package/dist/composables/useRsTableSelectionSource.js +0 -57
- package/dist/composables/useRsTableShell.d.ts +0 -380
- package/dist/composables/useRsTableShell.js +0 -237
- package/dist/composables/useRsTableShellChrome.d.ts +0 -126
- package/dist/composables/useRsTableShellChrome.js +0 -110
- package/dist/composables/useRsTableSummary.d.ts +0 -44
- package/dist/composables/useRsTableSummary.js +0 -52
- package/dist/composables/useRsTableViewProvide.d.ts +0 -111
- package/dist/composables/useRsTableViewProvide.js +0 -93
- package/dist/composables/useRsTableVirtual.d.ts +0 -75
- package/dist/composables/useRsTableVirtual.js +0 -83
- package/dist/composables/useTableCellTooltip.js +0 -177
- package/dist/composables/useTableEdit.js +0 -176
- package/dist/composables/useTableRowHighlight.js +0 -35
- package/dist/lib/iso-local-datetime.js +0 -103
- package/dist/lib/rs-dayjs.js +0 -41
- /package/dist/components/{class-utils.d.ts → _shared/src/class-utils.d.ts} +0 -0
- /package/dist/components/{overlay-utils.d.ts → _shared/src/overlay-utils.d.ts} +0 -0
- /package/dist/components/{reka.d.ts → _shared/src/reka.d.ts} +0 -0
- /package/dist/components/{reka.js → _shared/src/reka.js} +0 -0
- /package/dist/components/{RsAvatar.css → avatar/src/RsAvatar.css} +0 -0
- /package/dist/components/{RsAvatar.d.ts → avatar/src/RsAvatar.d.ts} +0 -0
- /package/dist/components/{avatar-utils.d.ts → avatar/src/avatar-utils.d.ts} +0 -0
- /package/dist/components/{RsBadge.d.ts → badge/src/RsBadge.d.ts} +0 -0
- /package/dist/components/{RsBreadcrumb.css → breadcrumb/src/RsBreadcrumb.css} +0 -0
- /package/dist/components/{RsBreadcrumb.d.ts → breadcrumb/src/RsBreadcrumb.d.ts} +0 -0
- /package/dist/components/{RsBreadcrumbItems.d.ts → breadcrumb/src/RsBreadcrumbItems.d.ts} +0 -0
- /package/dist/components/{breadcrumb-utils.d.ts → breadcrumb/src/breadcrumb-utils.d.ts} +0 -0
- /package/dist/components/{button-utils.d.ts → button/src/button-utils.d.ts} +0 -0
- /package/dist/components/{RsCard.css → card/src/RsCard.css} +0 -0
- /package/dist/components/{RsCheckbox.css → checkbox/src/RsCheckbox.css} +0 -0
- /package/dist/components/{RsCodeBlock.d.ts → code-block/src/RsCodeBlock.d.ts} +0 -0
- /package/dist/components/{RsCodeEditor.d.ts → code-editor/src/RsCodeEditor.d.ts} +0 -0
- /package/dist/components/{code-editor-utils.d.ts → code-editor/src/code-editor-utils.d.ts} +0 -0
- /package/dist/components/{code-mirror-completion.d.ts → code-editor/src/code-mirror-completion.d.ts} +0 -0
- /package/dist/components/{code-mirror-diagnostics.d.ts → code-editor/src/code-mirror-diagnostics.d.ts} +0 -0
- /package/dist/components/{code-mirror-ghost.d.ts → code-editor/src/code-mirror-ghost.d.ts} +0 -0
- /package/dist/components/{code-mirror-inline-edit.d.ts → code-editor/src/code-mirror-inline-edit.d.ts} +0 -0
- /package/dist/components/{code-mirror-intel.d.ts → code-editor/src/code-mirror-intel.d.ts} +0 -0
- /package/dist/components/{code-mirror-lang.d.ts → code-editor/src/code-mirror-lang.d.ts} +0 -0
- /package/dist/components/{RsContainer.d.ts → container/src/RsContainer.d.ts} +0 -0
- /package/dist/components/{RsContextMenu.css → context-menu/src/RsContextMenu.css} +0 -0
- /package/dist/components/{RsContextMenu.d.ts → context-menu/src/RsContextMenu.d.ts} +0 -0
- /package/dist/components/{RsContextMenuItems.d.ts → context-menu/src/RsContextMenuItems.d.ts} +0 -0
- /package/dist/components/{context-menu-utils.d.ts → context-menu/src/context-menu-utils.d.ts} +0 -0
- /package/dist/components/{RsDatePicker-1.css → date-picker/src/RsDatePicker-1.css} +0 -0
- /package/dist/components/{date-picker-utils.d.ts → date-picker/src/date-picker-utils.d.ts} +0 -0
- /package/dist/components/{date-range-validation.d.ts → date-picker/src/date-range-validation.d.ts} +0 -0
- /package/dist/components/{date-validation.d.ts → date-picker/src/date-validation.d.ts} +0 -0
- /package/dist/components/{RsDescriptions.css → descriptions/src/RsDescriptions.css} +0 -0
- /package/dist/components/{RsDescriptionsItem.d.ts → descriptions/src/RsDescriptionsItem.d.ts} +0 -0
- /package/dist/components/{RsConfirmDialog.css → dialog/src/RsConfirmDialog.css} +0 -0
- /package/dist/components/{RsDialog.css → dialog/src/RsDialog.css} +0 -0
- /package/dist/components/{dialog-viewport.d.ts → dialog/src/dialog-viewport.d.ts} +0 -0
- /package/dist/components/{dialog-viewport.js → dialog/src/dialog-viewport.js} +0 -0
- /package/dist/components/{dialog-window.d.ts → dialog/src/dialog-window.d.ts} +0 -0
- /package/dist/components/{RsDivider.d.ts → divider/src/RsDivider.d.ts} +0 -0
- /package/dist/components/{RsDrawer.css → drawer/src/RsDrawer.css} +0 -0
- /package/dist/components/{RsDropdown.css → dropdown/src/RsDropdown.css} +0 -0
- /package/dist/components/{dropdown-utils.d.ts → dropdown/src/dropdown-utils.d.ts} +0 -0
- /package/dist/components/{RsEmpty.css → empty/src/RsEmpty.css} +0 -0
- /package/dist/components/{RsForm.d.ts → form/src/RsForm.d.ts} +0 -0
- /package/dist/components/{RsFormItem.d.ts → form/src/RsFormItem.d.ts} +0 -0
- /package/dist/components/{RsFormItemControl.d.ts → form/src/RsFormItemControl.d.ts} +0 -0
- /package/dist/components/{RsFormList.d.ts → form/src/RsFormList.d.ts} +0 -0
- /package/dist/components/{form-item-control.d.ts → form/src/form-item-control.d.ts} +0 -0
- /package/dist/components/{form-path.d.ts → form/src/form-path.d.ts} +0 -0
- /package/dist/components/{form-utils.d.ts → form/src/form-utils.d.ts} +0 -0
- /package/dist/components/{input-number-utils.d.ts → input-number/src/input-number-utils.d.ts} +0 -0
- /package/dist/components/{RsLabel.d.ts → label/src/RsLabel.d.ts} +0 -0
- /package/dist/components/{RsLink.css → link/src/RsLink.css} +0 -0
- /package/dist/components/{RsLink.d.ts → link/src/RsLink.d.ts} +0 -0
- /package/dist/components/{RsLoading.css → loading/src/RsLoading.css} +0 -0
- /package/dist/components/{RsLoading.d.ts → loading/src/RsLoading.d.ts} +0 -0
- /package/dist/components/{loading-utils.d.ts → loading/src/loading-utils.d.ts} +0 -0
- /package/dist/components/{RsLoadingBar.d.ts → loading-bar/src/RsLoadingBar.d.ts} +0 -0
- /package/dist/components/{log-utils.d.ts → log/src/log-utils.d.ts} +0 -0
- /package/dist/components/{RsMarkdown.css → markdown/src/RsMarkdown.css} +0 -0
- /package/dist/components/{markdown-utils.d.ts → markdown/src/markdown-utils.d.ts} +0 -0
- /package/dist/components/{RsMentions-1.css → mentions/src/RsMentions-1.css} +0 -0
- /package/dist/components/{mentions-utils.d.ts → mentions/src/mentions-utils.d.ts} +0 -0
- /package/dist/components/{RsMenu.css → menu/src/RsMenu.css} +0 -0
- /package/dist/components/{RsMenu.d.ts → menu/src/RsMenu.d.ts} +0 -0
- /package/dist/components/{RsMenuItems.d.ts → menu/src/RsMenuItems.d.ts} +0 -0
- /package/dist/components/{menu-utils.d.ts → menu/src/menu-utils.d.ts} +0 -0
- /package/dist/components/{pagination-utils.d.ts → pagination/src/pagination-utils.d.ts} +0 -0
- /package/dist/components/{RsPopover.css → popover/src/RsPopover.css} +0 -0
- /package/dist/components/{RsPopover.d.ts → popover/src/RsPopover.d.ts} +0 -0
- /package/dist/components/{popover-utils.d.ts → popover/src/popover-utils.d.ts} +0 -0
- /package/dist/components/{RsProseEditor.d.ts → prose-editor/src/RsProseEditor.d.ts} +0 -0
- /package/dist/components/{RsRadio.css → radio/src/RsRadio.css} +0 -0
- /package/dist/components/{RsRadioItem.css → radio/src/RsRadioItem.css} +0 -0
- /package/dist/components/{RsScrollbar.css → scrollbar/src/RsScrollbar.css} +0 -0
- /package/dist/components/{RsScrollbar.d.ts → scrollbar/src/RsScrollbar.d.ts} +0 -0
- /package/dist/components/{scrollbar-utils.d.ts → scrollbar/src/scrollbar-utils.d.ts} +0 -0
- /package/dist/components/{select-utils.d.ts → select/src/select-utils.d.ts} +0 -0
- /package/dist/components/{RsSidebar.d.ts → sidebar/src/RsSidebar.d.ts} +0 -0
- /package/dist/components/{RsSidebarGroup.d.ts → sidebar/src/RsSidebarGroup.d.ts} +0 -0
- /package/dist/components/{RsSidebarItem.d.ts → sidebar/src/RsSidebarItem.d.ts} +0 -0
- /package/dist/components/{RsSplitPane.css → split-pane/src/RsSplitPane.css} +0 -0
- /package/dist/components/{RsSplitPane.d.ts → split-pane/src/RsSplitPane.d.ts} +0 -0
- /package/dist/components/{split-pane-utils.d.ts → split-pane/src/split-pane-utils.d.ts} +0 -0
- /package/dist/components/{RsStatCard.d.ts → stat-card/src/RsStatCard.d.ts} +0 -0
- /package/dist/components/{RsSteps.d.ts → steps/src/RsSteps.d.ts} +0 -0
- /package/dist/components/{steps-utils.d.ts → steps/src/steps-utils.d.ts} +0 -0
- /package/dist/components/{RsSwitch.css → switch/src/RsSwitch.css} +0 -0
- /package/dist/{composables → components/table/src/composables}/useRsTableA11y.d.ts +0 -0
- /package/dist/{composables → components/table/src/composables}/useRsTableScrollHost.d.ts +0 -0
- /package/dist/{composables → components/table/src/composables}/useRsTableScrollLayout.d.ts +0 -0
- /package/dist/{composables → components/table/src/composables}/useTableCellTooltip.d.ts +0 -0
- /package/dist/{composables → components/table/src/composables}/useTableEdit.d.ts +0 -0
- /package/dist/{composables → components/table/src/composables}/useTableRowHighlight.d.ts +0 -0
- /package/dist/components/table/{table-keys.d.ts → src/context/table-keys.d.ts} +0 -0
- /package/dist/components/table/{RsTableCellContent.d.ts → src/table-body/RsTableCellContent.d.ts} +0 -0
- /package/dist/components/table/{RsTableEditGutter.d.ts → src/table-body/RsTableEditGutter.d.ts} +0 -0
- /package/dist/components/table/{RsTableRowStatus.d.ts → src/table-body/RsTableRowStatus.d.ts} +0 -0
- /package/dist/components/table/{RsTableHeaderFilter.d.ts → src/table-header/RsTableHeaderFilter.d.ts} +0 -0
- /package/dist/components/table/{rs-table-compat-matrix.d.ts → src/utils/rs-table-compat-matrix.d.ts} +0 -0
- /package/dist/components/table/{rs-table-echarts-adapter.d.ts → src/utils/rs-table-echarts-adapter.d.ts} +0 -0
- /package/dist/components/table/{rs-table-grid-nav.d.ts → src/utils/rs-table-grid-nav.d.ts} +0 -0
- /package/dist/components/{table-drag.d.ts → table/src/utils/table-drag.d.ts} +0 -0
- /package/dist/components/table/{rs-table.css → style/rs-table.css} +0 -0
- /package/dist/components/{RsTabs.css → tabs/src/RsTabs.css} +0 -0
- /package/dist/components/{RsTabs.d.ts → tabs/src/RsTabs.d.ts} +0 -0
- /package/dist/components/{terminal-utils.d.ts → terminal/src/terminal-utils.d.ts} +0 -0
- /package/dist/components/{terminal-wheel.d.ts → terminal/src/terminal-wheel.d.ts} +0 -0
- /package/dist/components/{RsTimePicker-1.css → time-picker/src/RsTimePicker-1.css} +0 -0
- /package/dist/components/{time-picker-utils.d.ts → time-picker/src/time-picker-utils.d.ts} +0 -0
- /package/dist/components/{time-range-validation.d.ts → time-picker/src/time-range-validation.d.ts} +0 -0
- /package/dist/components/{time-validation.d.ts → time-picker/src/time-validation.d.ts} +0 -0
- /package/dist/components/{RsToaster.css → toaster/src/RsToaster.css} +0 -0
- /package/dist/components/{RsToolbar.css → toolbar/src/RsToolbar.css} +0 -0
- /package/dist/components/{RsToolbar.d.ts → toolbar/src/RsToolbar.d.ts} +0 -0
- /package/dist/components/{RsTooltip.css → tooltip/src/RsTooltip.css} +0 -0
- /package/dist/components/{RsTooltip.d.ts → tooltip/src/RsTooltip.d.ts} +0 -0
- /package/dist/components/{RsTooltipProvider.d.ts → tooltip/src/RsTooltipProvider.d.ts} +0 -0
- /package/dist/components/{RsTree.d.ts → tree/src/RsTree.d.ts} +0 -0
- /package/dist/components/{RsUpload.d.ts → upload/src/RsUpload.d.ts} +0 -0
- /package/dist/components/{upload-utils.d.ts → upload/src/upload-utils.d.ts} +0 -0
- /package/dist/components/{virtual-list-utils.d.ts → virtual-list/src/virtual-list-utils.d.ts} +0 -0
- /package/dist/components/{RsVNodeHost.d.ts → vnode-host/src/RsVNodeHost.d.ts} +0 -0
- /package/dist/{lib → utils}/iso-local-datetime.d.ts +0 -0
- /package/dist/{lib → utils}/rs-dayjs.d.ts +0 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RsTable 行/列交互:排序点击、列拖拽排序、行选/展开、行拖拽封装。
|
|
3
|
+
*
|
|
4
|
+
* 性能约定:
|
|
5
|
+
* - 不引入对 data 的 deep watch
|
|
6
|
+
* - rowKeyFor 走 Engine 的 rowKeyByIndex 缓存,避免热路径重复 resolve
|
|
7
|
+
*/
|
|
8
|
+
import { type Ref } from 'vue';
|
|
9
|
+
import { type RsTableRowDragTrigger, type RsTableRowDropMode } from '../utils/table-drag';
|
|
10
|
+
import { type RsTableColumn, type RsTableRowData, type RsTableRowEntry, type RsTableRowKey, type RsTableSelectionType, type RsTableSortOrder, type RsTableSortState, type RsTableTreeConfig, type RsTableTreeNodeIndex, type RsTableRowDropPosition } from '../utils/table-utils';
|
|
11
|
+
export interface UseRsTableInteractionOptions<T extends RsTableRowData> {
|
|
12
|
+
multiSort: () => boolean;
|
|
13
|
+
maxSort: () => number | undefined;
|
|
14
|
+
columnDraggable: () => boolean;
|
|
15
|
+
selectable: () => boolean;
|
|
16
|
+
selectionType: () => RsTableSelectionType;
|
|
17
|
+
rowSelectable?: (row: T, index: number) => boolean;
|
|
18
|
+
rowDraggable: () => boolean;
|
|
19
|
+
rowDragTrigger: () => RsTableRowDragTrigger;
|
|
20
|
+
rowDropMode: () => RsTableRowDropMode;
|
|
21
|
+
rowDraggableWhen?: (row: T, index: number) => boolean;
|
|
22
|
+
rowDropTargetWhen?: (row: T, index: number) => boolean;
|
|
23
|
+
canRowDrop?: (dragKeys: string[], dropKey: string) => boolean;
|
|
24
|
+
rowKey: () => RsTableRowKey<T> | undefined;
|
|
25
|
+
rowKeyByIndex: () => Map<number, string>;
|
|
26
|
+
selectedRowKeys: {
|
|
27
|
+
get: () => string[];
|
|
28
|
+
set: (keys: string[]) => void;
|
|
29
|
+
};
|
|
30
|
+
selectedKeySet: () => Set<string>;
|
|
31
|
+
selectableRowKeys: () => string[];
|
|
32
|
+
selectAllState: () => 'checked' | 'indeterminate' | 'unchecked';
|
|
33
|
+
expandedRowKeys: {
|
|
34
|
+
get: () => string[];
|
|
35
|
+
set: (keys: string[]) => void;
|
|
36
|
+
};
|
|
37
|
+
expandedKeySet: () => Set<string>;
|
|
38
|
+
treeMode: () => boolean;
|
|
39
|
+
treeCheckStrictly: () => boolean;
|
|
40
|
+
treeLazy: () => boolean;
|
|
41
|
+
treeChildrenField: () => string;
|
|
42
|
+
treeIsLeafField: () => string;
|
|
43
|
+
treeLoadingKeys: {
|
|
44
|
+
get: () => string[];
|
|
45
|
+
set: (keys: string[]) => void;
|
|
46
|
+
};
|
|
47
|
+
treeLoadingKeySet: () => Set<string>;
|
|
48
|
+
tableTreeNodeIndex: () => Map<string, RsTableTreeNodeIndex> | null;
|
|
49
|
+
treeConfig: () => RsTableTreeConfig<T> | undefined;
|
|
50
|
+
expandable: () => boolean;
|
|
51
|
+
rowExpandable?: (row: T, index: number) => boolean;
|
|
52
|
+
sortState: {
|
|
53
|
+
get: () => RsTableSortState | null;
|
|
54
|
+
set: (value: RsTableSortState | null) => void;
|
|
55
|
+
};
|
|
56
|
+
sortsState: {
|
|
57
|
+
get: () => RsTableSortState[];
|
|
58
|
+
set: (value: RsTableSortState[]) => void;
|
|
59
|
+
};
|
|
60
|
+
columnOrderState: {
|
|
61
|
+
get: () => string[];
|
|
62
|
+
set: (value: string[]) => void;
|
|
63
|
+
};
|
|
64
|
+
/** 行选时若正在编辑则不改选中 */
|
|
65
|
+
isEditingAny: () => boolean;
|
|
66
|
+
applyRowClickHighlight: (rowKey: string) => void;
|
|
67
|
+
onRowClickEmit: (row: T, index: number) => void;
|
|
68
|
+
onRowDblclickEmit: (row: T, index: number) => void;
|
|
69
|
+
onRowDragStartEmit: (dragKeys: string[], event: DragEvent) => void;
|
|
70
|
+
onRowDropEmit: (dragKeys: string[], dropKey: string, position: RsTableRowDropPosition) => void;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* 表格交互 API(排序 / 列拖 / 行选展开 / 行拖)。
|
|
74
|
+
*/
|
|
75
|
+
export declare function useRsTableInteraction<T extends RsTableRowData>(options: UseRsTableInteractionOptions<T>): {
|
|
76
|
+
dragColumnKey: Ref<string | null, string | null>;
|
|
77
|
+
dropColumnKey: Ref<string | null, string | null>;
|
|
78
|
+
selectionAnchorKey: Ref<string | null, string | null>;
|
|
79
|
+
dragRowKeys: Ref<string[], string[]>;
|
|
80
|
+
dropRowTargetKey: Ref<string | null, string | null>;
|
|
81
|
+
dropRowPosition: Ref<RsTableRowDropPosition, RsTableRowDropPosition>;
|
|
82
|
+
rowKeyFor: (entry: Extract<RsTableRowEntry<T>, {
|
|
83
|
+
type: "row";
|
|
84
|
+
}>) => string;
|
|
85
|
+
sortOrderFor: (key: string) => RsTableSortOrder;
|
|
86
|
+
sortPriorityFor: (key: string) => number;
|
|
87
|
+
sortIconName: (key: string) => string;
|
|
88
|
+
onHeaderClick: (column: RsTableColumn<T>) => void;
|
|
89
|
+
onColumnDragStart: (key: string, event: DragEvent) => void;
|
|
90
|
+
onColumnDragOver: (key: string, event: DragEvent) => void;
|
|
91
|
+
onColumnDrop: (key: string, event: DragEvent) => void;
|
|
92
|
+
onColumnDragEnd: () => void;
|
|
93
|
+
canSelectRow: (entry: Extract<RsTableRowEntry<T>, {
|
|
94
|
+
type: "row";
|
|
95
|
+
}>) => boolean;
|
|
96
|
+
isRowSelected: (entry: Extract<RsTableRowEntry<T>, {
|
|
97
|
+
type: "row";
|
|
98
|
+
}>) => boolean;
|
|
99
|
+
isRowIndeterminate: (entry: Extract<RsTableRowEntry<T>, {
|
|
100
|
+
type: "row";
|
|
101
|
+
}>) => boolean;
|
|
102
|
+
onToggleRow: (entry: Extract<RsTableRowEntry<T>, {
|
|
103
|
+
type: "row";
|
|
104
|
+
}>) => void;
|
|
105
|
+
onToggleSelectAll: () => void;
|
|
106
|
+
canExpandRow: (entry: Extract<RsTableRowEntry<T>, {
|
|
107
|
+
type: "row";
|
|
108
|
+
}>) => boolean;
|
|
109
|
+
isRowExpanded: (entry: Extract<RsTableRowEntry<T>, {
|
|
110
|
+
type: "row";
|
|
111
|
+
}>) => boolean;
|
|
112
|
+
treeDepthOf: (entry: Extract<RsTableRowEntry<T>, {
|
|
113
|
+
type: "row";
|
|
114
|
+
}>) => number;
|
|
115
|
+
onToggleExpand: (entry: Extract<RsTableRowEntry<T>, {
|
|
116
|
+
type: "row";
|
|
117
|
+
}>) => Promise<void>;
|
|
118
|
+
onRowClick: (entry: RsTableRowEntry<T>, event?: MouseEvent) => void;
|
|
119
|
+
onRowSelectMouseDown: (event: MouseEvent) => void;
|
|
120
|
+
onRowDblclick: (entry: RsTableRowEntry<T>, _event?: MouseEvent) => void;
|
|
121
|
+
onRowDragStart: (entry: Extract<RsTableRowEntry<T>, {
|
|
122
|
+
type: "row";
|
|
123
|
+
}>, event: DragEvent) => void;
|
|
124
|
+
onRowDragOver: (entry: Extract<RsTableRowEntry<T>, {
|
|
125
|
+
type: "row";
|
|
126
|
+
}>, event: DragEvent) => void;
|
|
127
|
+
onRowDragLeave: (event: DragEvent) => void;
|
|
128
|
+
onRowDrop: (entry: Extract<RsTableRowEntry<T>, {
|
|
129
|
+
type: "row";
|
|
130
|
+
}>, event: DragEvent) => void;
|
|
131
|
+
onRowDragEnd: () => void;
|
|
132
|
+
isRowDropTarget: (entry: Extract<RsTableRowEntry<T>, {
|
|
133
|
+
type: "row";
|
|
134
|
+
}>) => boolean;
|
|
135
|
+
isRowDragging: (entry: Extract<RsTableRowEntry<T>, {
|
|
136
|
+
type: "row";
|
|
137
|
+
}>) => boolean;
|
|
138
|
+
canDragRow: (entry: Extract<RsTableRowEntry<T>, {
|
|
139
|
+
type: "row";
|
|
140
|
+
}>) => boolean;
|
|
141
|
+
isRowDragByRow: (entry: Extract<RsTableRowEntry<T>, {
|
|
142
|
+
type: "row";
|
|
143
|
+
}>) => boolean;
|
|
144
|
+
};
|
|
145
|
+
export type RsTableInteractionApi<T extends RsTableRowData> = ReturnType<typeof useRsTableInteraction<T>>;
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { getSortOrderForKey, getSortPriorityForKey, getTableTreeChildren, hasTableTreeChildren, isTableRowDisabled, reorderColumnKeys, resolveRowKey, resolveTableTreeCheckState, selectRowKeys, selectRowKeysByClick, toggleExpandedRowKeys, toggleMultiSortState, toggleSelectAll, toggleSortState, toggleTableTreeCheck } from "../utils/table-utils.js";
|
|
2
|
+
import { createTableRowDragHandlers, createTableRowDragState } from "../utils/table-drag.js";
|
|
3
|
+
import { ref } from "vue";
|
|
4
|
+
//#region src/components/table/src/composables/useRsTableInteraction.ts
|
|
5
|
+
/**
|
|
6
|
+
* RsTable 行/列交互:排序点击、列拖拽排序、行选/展开、行拖拽封装。
|
|
7
|
+
*
|
|
8
|
+
* 性能约定:
|
|
9
|
+
* - 不引入对 data 的 deep watch
|
|
10
|
+
* - rowKeyFor 走 Engine 的 rowKeyByIndex 缓存,避免热路径重复 resolve
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* 表格交互 API(排序 / 列拖 / 行选展开 / 行拖)。
|
|
14
|
+
*/
|
|
15
|
+
function useRsTableInteraction(options) {
|
|
16
|
+
const dragColumnKey = ref(null);
|
|
17
|
+
const dropColumnKey = ref(null);
|
|
18
|
+
const selectionAnchorKey = ref(null);
|
|
19
|
+
const rowDragState = createTableRowDragState();
|
|
20
|
+
const { dragRowKeys, dropRowTargetKey, dropRowPosition } = rowDragState;
|
|
21
|
+
function rowKeyFor(entry) {
|
|
22
|
+
return options.rowKeyByIndex().get(entry.rowIndex) ?? entry.treeKey ?? resolveRowKey(entry.row, entry.rowIndex, options.rowKey());
|
|
23
|
+
}
|
|
24
|
+
function sortOrderFor(key) {
|
|
25
|
+
if (options.multiSort()) return getSortOrderForKey(options.sortsState.get(), key);
|
|
26
|
+
const sort = options.sortState.get();
|
|
27
|
+
return sort?.key === key ? sort.order : null;
|
|
28
|
+
}
|
|
29
|
+
function sortPriorityFor(key) {
|
|
30
|
+
if (!options.multiSort()) return 0;
|
|
31
|
+
return getSortPriorityForKey(options.sortsState.get(), key);
|
|
32
|
+
}
|
|
33
|
+
function sortIconName(key) {
|
|
34
|
+
const order = sortOrderFor(key);
|
|
35
|
+
if (order === "asc") return "arrow-up";
|
|
36
|
+
if (order === "desc") return "arrow-down";
|
|
37
|
+
return "arrow-up-down";
|
|
38
|
+
}
|
|
39
|
+
function onHeaderClick(column) {
|
|
40
|
+
if (!column.sortable) return;
|
|
41
|
+
if (options.multiSort()) {
|
|
42
|
+
options.sortsState.set(toggleMultiSortState(options.sortsState.get(), column.key, options.maxSort()));
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
options.sortState.set(toggleSortState(options.sortState.get(), column.key));
|
|
46
|
+
}
|
|
47
|
+
function onColumnDragStart(key, event) {
|
|
48
|
+
if (!options.columnDraggable()) return;
|
|
49
|
+
dragColumnKey.value = key;
|
|
50
|
+
dropColumnKey.value = null;
|
|
51
|
+
if (!event.dataTransfer) return;
|
|
52
|
+
event.dataTransfer.setData("text/plain", key);
|
|
53
|
+
event.dataTransfer.effectAllowed = "move";
|
|
54
|
+
}
|
|
55
|
+
function onColumnDragOver(key, event) {
|
|
56
|
+
if (!options.columnDraggable() || !dragColumnKey.value) return;
|
|
57
|
+
if (dragColumnKey.value === key) {
|
|
58
|
+
if (dropColumnKey.value !== null) dropColumnKey.value = null;
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
event.preventDefault();
|
|
62
|
+
if (dropColumnKey.value !== key) dropColumnKey.value = key;
|
|
63
|
+
}
|
|
64
|
+
function onColumnDrop(key, event) {
|
|
65
|
+
if (!options.columnDraggable() || !dragColumnKey.value) return;
|
|
66
|
+
event.preventDefault();
|
|
67
|
+
if (dragColumnKey.value === key) return;
|
|
68
|
+
options.columnOrderState.set(reorderColumnKeys(options.columnOrderState.get(), dragColumnKey.value, key));
|
|
69
|
+
dragColumnKey.value = null;
|
|
70
|
+
dropColumnKey.value = null;
|
|
71
|
+
}
|
|
72
|
+
function onColumnDragEnd() {
|
|
73
|
+
dragColumnKey.value = null;
|
|
74
|
+
dropColumnKey.value = null;
|
|
75
|
+
}
|
|
76
|
+
const isRowSelection = () => options.selectable() && options.selectionType() === "row";
|
|
77
|
+
function canSelectRow(entry) {
|
|
78
|
+
if (isTableRowDisabled(entry.row)) return false;
|
|
79
|
+
return options.rowSelectable ? options.rowSelectable(entry.row, entry.rowIndex) : true;
|
|
80
|
+
}
|
|
81
|
+
function isRowSelected(entry) {
|
|
82
|
+
const key = rowKeyFor(entry);
|
|
83
|
+
const index = options.tableTreeNodeIndex();
|
|
84
|
+
if (index && !options.treeCheckStrictly()) return resolveTableTreeCheckState(key, options.selectedKeySet(), index, false) === "checked";
|
|
85
|
+
return options.selectedKeySet().has(key);
|
|
86
|
+
}
|
|
87
|
+
function isRowIndeterminate(entry) {
|
|
88
|
+
const index = options.tableTreeNodeIndex();
|
|
89
|
+
if (!index || options.treeCheckStrictly()) return false;
|
|
90
|
+
return resolveTableTreeCheckState(rowKeyFor(entry), options.selectedKeySet(), index, false) === "indeterminate";
|
|
91
|
+
}
|
|
92
|
+
function onToggleRow(entry) {
|
|
93
|
+
if (!canSelectRow(entry)) return;
|
|
94
|
+
const key = rowKeyFor(entry);
|
|
95
|
+
const index = options.tableTreeNodeIndex();
|
|
96
|
+
if (index && !options.treeCheckStrictly() && options.selectionType() !== "radio") {
|
|
97
|
+
options.selectedRowKeys.set(toggleTableTreeCheck(key, options.selectedKeySet(), index, false));
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
options.selectedRowKeys.set(selectRowKeys(options.selectedRowKeys.get(), key, options.selectionType()));
|
|
101
|
+
}
|
|
102
|
+
function onToggleSelectAll() {
|
|
103
|
+
const select = options.selectAllState() !== "checked";
|
|
104
|
+
options.selectedRowKeys.set(toggleSelectAll(options.selectedRowKeys.get(), options.selectableRowKeys(), select));
|
|
105
|
+
}
|
|
106
|
+
function canExpandRow(entry) {
|
|
107
|
+
if (options.treeMode()) {
|
|
108
|
+
if (entry.hasChildren != null) return entry.hasChildren;
|
|
109
|
+
return hasTableTreeChildren(entry.row, {
|
|
110
|
+
childrenField: options.treeChildrenField(),
|
|
111
|
+
isLeafField: options.treeIsLeafField(),
|
|
112
|
+
lazy: options.treeLazy()
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
if (!options.expandable()) return false;
|
|
116
|
+
if (options.rowExpandable) return options.rowExpandable(entry.row, entry.rowIndex);
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
119
|
+
function isRowExpanded(entry) {
|
|
120
|
+
return options.expandedKeySet().has(rowKeyFor(entry));
|
|
121
|
+
}
|
|
122
|
+
function treeDepthOf(entry) {
|
|
123
|
+
return entry.depth ?? 0;
|
|
124
|
+
}
|
|
125
|
+
async function onToggleExpand(entry) {
|
|
126
|
+
if (!canExpandRow(entry)) return;
|
|
127
|
+
const key = rowKeyFor(entry);
|
|
128
|
+
const expanding = !options.expandedKeySet().has(key);
|
|
129
|
+
const tree = options.treeConfig();
|
|
130
|
+
if (options.treeMode() && expanding && options.treeLazy() && tree?.loadData && getTableTreeChildren(entry.row, options.treeChildrenField()).length === 0) {
|
|
131
|
+
if (options.treeLoadingKeySet().has(key)) return;
|
|
132
|
+
options.treeLoadingKeys.set([...options.treeLoadingKeys.get(), key]);
|
|
133
|
+
try {
|
|
134
|
+
const loaded = await tree.loadData(entry.row, key);
|
|
135
|
+
if (Array.isArray(loaded)) entry.row[options.treeChildrenField()] = loaded;
|
|
136
|
+
} finally {
|
|
137
|
+
options.treeLoadingKeys.set(options.treeLoadingKeys.get().filter((item) => item !== key));
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
options.expandedRowKeys.set(toggleExpandedRowKeys(options.expandedRowKeys.get(), key));
|
|
141
|
+
}
|
|
142
|
+
function onRowClick(entry, event) {
|
|
143
|
+
if (entry.type !== "row") return;
|
|
144
|
+
const rowKey = rowKeyFor(entry);
|
|
145
|
+
if (isRowSelection() && canSelectRow(entry) && !options.isEditingAny()) {
|
|
146
|
+
const toggle = Boolean(event && (event.ctrlKey || event.metaKey));
|
|
147
|
+
const range = Boolean(event?.shiftKey);
|
|
148
|
+
options.selectedRowKeys.set(selectRowKeysByClick(options.selectedRowKeys.get(), rowKey, {
|
|
149
|
+
toggle,
|
|
150
|
+
range,
|
|
151
|
+
orderedKeys: options.selectableRowKeys(),
|
|
152
|
+
anchorKey: selectionAnchorKey.value
|
|
153
|
+
}));
|
|
154
|
+
if (!range) selectionAnchorKey.value = rowKey;
|
|
155
|
+
if (typeof window !== "undefined") window.getSelection()?.removeAllRanges();
|
|
156
|
+
}
|
|
157
|
+
options.applyRowClickHighlight(rowKey);
|
|
158
|
+
options.onRowClickEmit(entry.row, entry.rowIndex);
|
|
159
|
+
}
|
|
160
|
+
function onRowSelectMouseDown(event) {
|
|
161
|
+
if (!isRowSelection()) return;
|
|
162
|
+
if (event.shiftKey || event.ctrlKey || event.metaKey) event.preventDefault();
|
|
163
|
+
}
|
|
164
|
+
function onRowDblclick(entry, _event) {
|
|
165
|
+
if (entry.type !== "row") return;
|
|
166
|
+
options.onRowDblclickEmit(entry.row, entry.rowIndex);
|
|
167
|
+
}
|
|
168
|
+
const rowDrag = createTableRowDragHandlers({
|
|
169
|
+
state: rowDragState,
|
|
170
|
+
getRowDraggable: () => options.rowDraggable(),
|
|
171
|
+
getRowDragTrigger: () => options.rowDragTrigger(),
|
|
172
|
+
getRowDropMode: () => options.rowDropMode(),
|
|
173
|
+
rowDraggableWhen: options.rowDraggableWhen,
|
|
174
|
+
rowDropTargetWhen: options.rowDropTargetWhen,
|
|
175
|
+
canRowDrop: options.canRowDrop,
|
|
176
|
+
rowKeyFor: (row, index) => resolveRowKey(row, index, options.rowKey()),
|
|
177
|
+
isRowDisabled: isTableRowDisabled,
|
|
178
|
+
getSelectedKeys: () => options.selectedRowKeys.get(),
|
|
179
|
+
onDragStart: (dragKeys, event) => options.onRowDragStartEmit(dragKeys, event),
|
|
180
|
+
onDrop: (dragKeys, dropKey, position) => options.onRowDropEmit(dragKeys, dropKey, position)
|
|
181
|
+
});
|
|
182
|
+
function onRowDragStart(entry, event) {
|
|
183
|
+
rowDrag.onRowDragStart(entry.row, entry.rowIndex, event);
|
|
184
|
+
}
|
|
185
|
+
function onRowDragOver(entry, event) {
|
|
186
|
+
rowDrag.onRowDragOver(entry.row, entry.rowIndex, event);
|
|
187
|
+
}
|
|
188
|
+
function onRowDragLeave(event) {
|
|
189
|
+
rowDrag.onRowDragLeave(event);
|
|
190
|
+
}
|
|
191
|
+
function onRowDrop(entry, event) {
|
|
192
|
+
rowDrag.onRowDrop(entry.row, entry.rowIndex, event);
|
|
193
|
+
}
|
|
194
|
+
function onRowDragEnd() {
|
|
195
|
+
rowDrag.onRowDragEnd();
|
|
196
|
+
}
|
|
197
|
+
function isRowDropTarget(entry) {
|
|
198
|
+
return rowDrag.isRowDropTarget(rowKeyFor(entry));
|
|
199
|
+
}
|
|
200
|
+
function isRowDragging(entry) {
|
|
201
|
+
return rowDrag.isRowDragging(rowKeyFor(entry));
|
|
202
|
+
}
|
|
203
|
+
function canDragRow(entry) {
|
|
204
|
+
return rowDrag.canDragRow(entry.row, entry.rowIndex);
|
|
205
|
+
}
|
|
206
|
+
function isRowDragByRow(entry) {
|
|
207
|
+
return options.rowDraggable() && options.rowDragTrigger() === "row" && canDragRow(entry);
|
|
208
|
+
}
|
|
209
|
+
return {
|
|
210
|
+
dragColumnKey,
|
|
211
|
+
dropColumnKey,
|
|
212
|
+
selectionAnchorKey,
|
|
213
|
+
dragRowKeys,
|
|
214
|
+
dropRowTargetKey,
|
|
215
|
+
dropRowPosition,
|
|
216
|
+
rowKeyFor,
|
|
217
|
+
sortOrderFor,
|
|
218
|
+
sortPriorityFor,
|
|
219
|
+
sortIconName,
|
|
220
|
+
onHeaderClick,
|
|
221
|
+
onColumnDragStart,
|
|
222
|
+
onColumnDragOver,
|
|
223
|
+
onColumnDrop,
|
|
224
|
+
onColumnDragEnd,
|
|
225
|
+
canSelectRow,
|
|
226
|
+
isRowSelected,
|
|
227
|
+
isRowIndeterminate,
|
|
228
|
+
onToggleRow,
|
|
229
|
+
onToggleSelectAll,
|
|
230
|
+
canExpandRow,
|
|
231
|
+
isRowExpanded,
|
|
232
|
+
treeDepthOf,
|
|
233
|
+
onToggleExpand,
|
|
234
|
+
onRowClick,
|
|
235
|
+
onRowSelectMouseDown,
|
|
236
|
+
onRowDblclick,
|
|
237
|
+
onRowDragStart,
|
|
238
|
+
onRowDragOver,
|
|
239
|
+
onRowDragLeave,
|
|
240
|
+
onRowDrop,
|
|
241
|
+
onRowDragEnd,
|
|
242
|
+
isRowDropTarget,
|
|
243
|
+
isRowDragging,
|
|
244
|
+
canDragRow,
|
|
245
|
+
isRowDragByRow
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
//#endregion
|
|
249
|
+
export { useRsTableInteraction };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { isNearScrollBottom } from "../utils/table-utils.js";
|
|
2
|
+
import { onActivated, onDeactivated, onMounted, ref, watch } from "vue";
|
|
3
|
+
//#region src/components/table/src/composables/useRsTableScrollHost.ts
|
|
4
|
+
/**
|
|
5
|
+
* RsTable 滚动宿主生命周期 + 无限加载触底。
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* 绑定滚动生命周期与无限加载。
|
|
9
|
+
*/
|
|
10
|
+
function useRsTableScrollHost(options) {
|
|
11
|
+
const loadMoreLocked = ref(false);
|
|
12
|
+
onMounted(() => {
|
|
13
|
+
options.scheduleVirtualLayoutSync();
|
|
14
|
+
options.bindScrollElement(options.scrollContainerRef.value);
|
|
15
|
+
});
|
|
16
|
+
onActivated(() => {
|
|
17
|
+
options.scheduleVirtualLayoutSync();
|
|
18
|
+
});
|
|
19
|
+
onDeactivated(() => {
|
|
20
|
+
options.captureScrollFromDom();
|
|
21
|
+
});
|
|
22
|
+
function onScroll(event) {
|
|
23
|
+
options.hideCellTooltip();
|
|
24
|
+
const element = event.target;
|
|
25
|
+
if (options.infinite() && !options.loading() && !options.loadingMore() && options.hasMore() && !loadMoreLocked.value) {
|
|
26
|
+
if (isNearScrollBottom(element.scrollTop, element.scrollHeight, element.clientHeight, options.infiniteDistance())) {
|
|
27
|
+
loadMoreLocked.value = true;
|
|
28
|
+
options.onLoadMore();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
options.onScrollFrame(element);
|
|
32
|
+
}
|
|
33
|
+
watch(() => [options.loadingMore(), options.hasMore()], ([loadingMore, hasMore]) => {
|
|
34
|
+
if (!loadingMore || !hasMore) loadMoreLocked.value = false;
|
|
35
|
+
});
|
|
36
|
+
return {
|
|
37
|
+
onScroll,
|
|
38
|
+
loadMoreLocked
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
export { useRsTableScrollHost };
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { computed, nextTick, onUnmounted, ref, watch } from "vue";
|
|
2
|
+
//#region src/components/table/src/composables/useRsTableScrollLayout.ts
|
|
3
|
+
/**
|
|
4
|
+
* RsTable 滚动与视口布局:测量、节流同步、keep-alive / layoutActive 恢复。
|
|
5
|
+
*
|
|
6
|
+
* 职责边界:
|
|
7
|
+
* - 做:scrollTop/Left、视口宽高、写回 DOM、ResizeObserver、RAF 节流滚动
|
|
8
|
+
* - 不做:虚拟切片本身、无限加载业务判定(由调用方在 onScroll 钩子中处理)
|
|
9
|
+
*/
|
|
10
|
+
/** 统一读取 ComputedRef / getter */
|
|
11
|
+
function read(source) {
|
|
12
|
+
return typeof source === "function" ? source() : source.value;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 表格滚动容器与视口状态。
|
|
16
|
+
*
|
|
17
|
+
* @returns 滚动状态、视口尺寸、恢复/重置 API、bindScrollElement / onScrollFrame
|
|
18
|
+
*/
|
|
19
|
+
function useRsTableScrollLayout(options) {
|
|
20
|
+
const scrollTop = ref(0);
|
|
21
|
+
const scrollLeft = ref(0);
|
|
22
|
+
const scrollContainerRef = ref(null);
|
|
23
|
+
const measuredViewportHeight = ref(0);
|
|
24
|
+
const measuredViewportWidth = ref(0);
|
|
25
|
+
let viewportResizeObserver = null;
|
|
26
|
+
let preservedScrollTop = 0;
|
|
27
|
+
let preservedScrollLeft = 0;
|
|
28
|
+
let restoringScroll = false;
|
|
29
|
+
let restoreGeneration = 0;
|
|
30
|
+
let scrollRafId = 0;
|
|
31
|
+
const fallback = options.fallbackViewportHeight ?? 320;
|
|
32
|
+
/** 虚拟切片用视口高度:显式 height > 测量值 > DOM > fallback */
|
|
33
|
+
const viewportHeight = computed(() => {
|
|
34
|
+
const h = read(options.height);
|
|
35
|
+
if (typeof h === "number" && h > 0) return h;
|
|
36
|
+
if (typeof h === "string") {
|
|
37
|
+
const parsed = Number.parseInt(h, 10);
|
|
38
|
+
if (Number.isFinite(parsed) && parsed > 0 && !h.includes("%")) return parsed;
|
|
39
|
+
}
|
|
40
|
+
if (measuredViewportHeight.value > 0) return measuredViewportHeight.value;
|
|
41
|
+
const el = scrollContainerRef.value;
|
|
42
|
+
if (el && el.clientHeight > 0) return el.clientHeight;
|
|
43
|
+
return fallback;
|
|
44
|
+
});
|
|
45
|
+
function syncMeasuredViewportSize() {
|
|
46
|
+
const el = scrollContainerRef.value;
|
|
47
|
+
if (!el) return;
|
|
48
|
+
const nextH = el.clientHeight;
|
|
49
|
+
if (nextH > 0 && nextH !== measuredViewportHeight.value) measuredViewportHeight.value = nextH;
|
|
50
|
+
const nextW = el.clientWidth;
|
|
51
|
+
if (nextW > 0 && nextW !== measuredViewportWidth.value) measuredViewportWidth.value = nextW;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* 失活前快照滚动。
|
|
55
|
+
* DOM 脱离文档后 scrollTop 常为 0——切勿用 0 覆盖 onScroll 已写入的位置。
|
|
56
|
+
*/
|
|
57
|
+
function captureScrollFromDom() {
|
|
58
|
+
const el = scrollContainerRef.value;
|
|
59
|
+
if (el) {
|
|
60
|
+
if (el.scrollTop > 0) scrollTop.value = el.scrollTop;
|
|
61
|
+
if (el.scrollLeft > 0) scrollLeft.value = el.scrollLeft;
|
|
62
|
+
}
|
|
63
|
+
if (scrollTop.value > 0) preservedScrollTop = scrollTop.value;
|
|
64
|
+
if (scrollLeft.value > 0) preservedScrollLeft = scrollLeft.value;
|
|
65
|
+
}
|
|
66
|
+
/** 将内部保存的滚动写回 DOM,并同步 reactive(驱动虚拟切片)。 */
|
|
67
|
+
function restoreScrollToDom() {
|
|
68
|
+
const el = scrollContainerRef.value;
|
|
69
|
+
if (!el) return;
|
|
70
|
+
syncMeasuredViewportSize();
|
|
71
|
+
const top = preservedScrollTop;
|
|
72
|
+
const left = preservedScrollLeft;
|
|
73
|
+
if (scrollTop.value !== top) scrollTop.value = top;
|
|
74
|
+
if (scrollLeft.value !== left) scrollLeft.value = left;
|
|
75
|
+
if (el.scrollTop !== top) el.scrollTop = top;
|
|
76
|
+
if (el.scrollLeft !== left) el.scrollLeft = left;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* 布局稳定后多次写回滚动:keep-alive 切回首帧 clientHeight 常为 0,
|
|
80
|
+
* 需等 nextTick / rAF / 视口测稳后再设 scrollTop,否则会被浏览器钳成 0。
|
|
81
|
+
*/
|
|
82
|
+
function scheduleVirtualLayoutSync() {
|
|
83
|
+
restoreGeneration += 1;
|
|
84
|
+
const gen = restoreGeneration;
|
|
85
|
+
restoringScroll = true;
|
|
86
|
+
const apply = () => {
|
|
87
|
+
if (gen !== restoreGeneration) return;
|
|
88
|
+
restoreScrollToDom();
|
|
89
|
+
};
|
|
90
|
+
apply();
|
|
91
|
+
nextTick(() => {
|
|
92
|
+
apply();
|
|
93
|
+
requestAnimationFrame(() => {
|
|
94
|
+
apply();
|
|
95
|
+
requestAnimationFrame(() => {
|
|
96
|
+
apply();
|
|
97
|
+
if (gen === restoreGeneration) restoringScroll = false;
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
function resetScrollPosition() {
|
|
103
|
+
preservedScrollTop = 0;
|
|
104
|
+
preservedScrollLeft = 0;
|
|
105
|
+
scrollTop.value = 0;
|
|
106
|
+
scrollLeft.value = 0;
|
|
107
|
+
const el = scrollContainerRef.value;
|
|
108
|
+
if (el) {
|
|
109
|
+
el.scrollTop = 0;
|
|
110
|
+
el.scrollLeft = 0;
|
|
111
|
+
}
|
|
112
|
+
scheduleVirtualLayoutSync();
|
|
113
|
+
}
|
|
114
|
+
function isRestoringScroll() {
|
|
115
|
+
return restoringScroll;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* RAF 节流写入滚动位置;恢复窗口内忽略伪 scrollTop=0。
|
|
119
|
+
* @returns true 表示本帧已调度或处于恢复中(调用方仍可先做无限加载判断)
|
|
120
|
+
*/
|
|
121
|
+
function onScrollFrame(element) {
|
|
122
|
+
if (scrollRafId) return;
|
|
123
|
+
scrollRafId = requestAnimationFrame(() => {
|
|
124
|
+
if (restoringScroll) {
|
|
125
|
+
scrollRafId = 0;
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
scrollTop.value = element.scrollTop;
|
|
129
|
+
scrollLeft.value = element.scrollLeft;
|
|
130
|
+
preservedScrollTop = element.scrollTop;
|
|
131
|
+
preservedScrollLeft = element.scrollLeft;
|
|
132
|
+
scrollRafId = 0;
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* 绑定滚动容器 ResizeObserver:视口从 0→实高时补一次恢复写回。
|
|
137
|
+
*/
|
|
138
|
+
function bindScrollElement(el) {
|
|
139
|
+
viewportResizeObserver?.disconnect();
|
|
140
|
+
viewportResizeObserver = null;
|
|
141
|
+
if (!el || typeof ResizeObserver === "undefined") return;
|
|
142
|
+
viewportResizeObserver = new ResizeObserver(() => {
|
|
143
|
+
const prevH = measuredViewportHeight.value;
|
|
144
|
+
syncMeasuredViewportSize();
|
|
145
|
+
if (prevH === 0 && measuredViewportHeight.value > 0 && (preservedScrollTop > 0 || preservedScrollLeft > 0)) {
|
|
146
|
+
restoringScroll = true;
|
|
147
|
+
restoreScrollToDom();
|
|
148
|
+
requestAnimationFrame(() => {
|
|
149
|
+
restoringScroll = false;
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
viewportResizeObserver.observe(el);
|
|
154
|
+
}
|
|
155
|
+
function disposeScrollLayout() {
|
|
156
|
+
viewportResizeObserver?.disconnect();
|
|
157
|
+
viewportResizeObserver = null;
|
|
158
|
+
if (scrollRafId) {
|
|
159
|
+
cancelAnimationFrame(scrollRafId);
|
|
160
|
+
scrollRafId = 0;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
watch(() => read(options.layoutActive), (active, prev) => {
|
|
164
|
+
if (active === false && prev !== false) captureScrollFromDom();
|
|
165
|
+
}, { flush: "sync" });
|
|
166
|
+
watch(() => read(options.layoutActive), (active) => {
|
|
167
|
+
if (active) scheduleVirtualLayoutSync();
|
|
168
|
+
}, { flush: "post" });
|
|
169
|
+
watch(() => read(options.viewKey), (_next, prev) => {
|
|
170
|
+
if (prev === void 0) return;
|
|
171
|
+
resetScrollPosition();
|
|
172
|
+
});
|
|
173
|
+
onUnmounted(() => {
|
|
174
|
+
disposeScrollLayout();
|
|
175
|
+
});
|
|
176
|
+
return {
|
|
177
|
+
scrollTop,
|
|
178
|
+
scrollLeft,
|
|
179
|
+
scrollContainerRef,
|
|
180
|
+
measuredViewportHeight,
|
|
181
|
+
measuredViewportWidth,
|
|
182
|
+
viewportHeight,
|
|
183
|
+
syncMeasuredViewportSize,
|
|
184
|
+
captureScrollFromDom,
|
|
185
|
+
restoreScrollToDom,
|
|
186
|
+
scheduleVirtualLayoutSync,
|
|
187
|
+
resetScrollPosition,
|
|
188
|
+
isRestoringScroll,
|
|
189
|
+
onScrollFrame,
|
|
190
|
+
bindScrollElement,
|
|
191
|
+
disposeScrollLayout
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
//#endregion
|
|
195
|
+
export { useRsTableScrollLayout };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 表格分析/图表数据源:viewRows + selectedRows → 稳定 sourceRows。
|
|
3
|
+
*
|
|
4
|
+
* 约定(便于柱状图/饼图等后期扩展):
|
|
5
|
+
* - 有选中行时 sourceMode='selected',图表跟随勾选
|
|
6
|
+
* - 无选中时回退 viewRows(筛选/排序后的业务行)
|
|
7
|
+
* - subscribe 仅在浅层引用变化时通知,不做 deep watch
|
|
8
|
+
*/
|
|
9
|
+
import { type ComputedRef, type Ref } from 'vue';
|
|
10
|
+
import type { RsTableRowData } from '../utils/table-utils';
|
|
11
|
+
export type RsTableAnalyticsSourceMode = 'selected' | 'view';
|
|
12
|
+
/** 分析快照:图表 / 指标卡 / 服务端请求共用 */
|
|
13
|
+
export interface RsTableAnalyticsSnapshot<T extends RsTableRowData = RsTableRowData> {
|
|
14
|
+
viewRows: readonly T[];
|
|
15
|
+
selectedRows: readonly T[];
|
|
16
|
+
sourceRows: readonly T[];
|
|
17
|
+
sourceMode: RsTableAnalyticsSourceMode;
|
|
18
|
+
selectedCount: number;
|
|
19
|
+
viewCount: number;
|
|
20
|
+
}
|
|
21
|
+
export interface UseRsTableSelectionSourceOptions<T extends RsTableRowData> {
|
|
22
|
+
viewRows: Ref<T[]> | ComputedRef<T[]>;
|
|
23
|
+
selectedRows?: Ref<T[]> | ComputedRef<T[]>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 选中优先的分析数据源。
|
|
27
|
+
*
|
|
28
|
+
* @returns sourceRows / sourceMode / getSnapshot / subscribe
|
|
29
|
+
*/
|
|
30
|
+
export declare function useRsTableSelectionSource<T extends RsTableRowData>(options: UseRsTableSelectionSourceOptions<T>): {
|
|
31
|
+
viewRows: ComputedRef<T[]>;
|
|
32
|
+
selectedRows: ComputedRef<T[]>;
|
|
33
|
+
sourceRows: ComputedRef<T[]>;
|
|
34
|
+
sourceMode: ComputedRef<RsTableAnalyticsSourceMode>;
|
|
35
|
+
getSnapshot: () => RsTableAnalyticsSnapshot<T>;
|
|
36
|
+
subscribe: (listener: (snap: RsTableAnalyticsSnapshot<T>) => void) => () => void;
|
|
37
|
+
};
|
|
38
|
+
export type RsTableSelectionSourceApi<T extends RsTableRowData> = ReturnType<typeof useRsTableSelectionSource<T>>;
|