niuma-ui 1.3.9 → 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 +26 -0
- package/README.en.md +3 -3
- package/README.md +3 -3
- 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.impl.js +188 -0
- package/dist/components/anchor/src/RsAnchor.js +8 -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 -206
- package/dist/index.js +423 -423
- 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 +6 -9
- 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/RsAnchor.css +0 -65
- package/dist/components/RsAnchor.impl.js +0 -188
- package/dist/components/RsAnchor.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 -117
- package/dist/components/RsTerminal.impl.js +0 -679
- 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/anchor-utils.js +0 -63
- 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/{RsAnchor.d.ts → anchor/src/RsAnchor.d.ts} +0 -0
- /package/dist/components/{anchor-utils.d.ts → anchor/src/anchor-utils.d.ts} +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,247 @@
|
|
|
1
|
+
//#region src/components/select/src/select-utils.ts
|
|
2
|
+
function splitSelectLabelHighlight(label, keyword) {
|
|
3
|
+
const query = keyword.trim();
|
|
4
|
+
if (!query) return [{
|
|
5
|
+
text: label,
|
|
6
|
+
highlight: false
|
|
7
|
+
}];
|
|
8
|
+
const lowerLabel = label.toLowerCase();
|
|
9
|
+
const lowerQuery = query.toLowerCase();
|
|
10
|
+
const index = lowerLabel.indexOf(lowerQuery);
|
|
11
|
+
if (index < 0) return [{
|
|
12
|
+
text: label,
|
|
13
|
+
highlight: false
|
|
14
|
+
}];
|
|
15
|
+
const parts = [];
|
|
16
|
+
if (index > 0) parts.push({
|
|
17
|
+
text: label.slice(0, index),
|
|
18
|
+
highlight: false
|
|
19
|
+
});
|
|
20
|
+
parts.push({
|
|
21
|
+
text: label.slice(index, index + query.length),
|
|
22
|
+
highlight: true
|
|
23
|
+
});
|
|
24
|
+
if (index + query.length < label.length) parts.push({
|
|
25
|
+
text: label.slice(index + query.length),
|
|
26
|
+
highlight: false
|
|
27
|
+
});
|
|
28
|
+
return parts;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Reka ComboboxItem 禁止 value 为空串(空串表示未选中 / placeholder)。
|
|
32
|
+
* 选项若传入 value: '',对内映射为此哨兵,避免崩溃;对外读写仍为 ''。
|
|
33
|
+
*/
|
|
34
|
+
var RS_SELECT_EMPTY_VALUE = "__rs_select_empty__";
|
|
35
|
+
/**
|
|
36
|
+
* Vue 对泛型 boolean prop 不会按 Boolean 收口。
|
|
37
|
+
* 模板写 `multiple` 时运行时可能是 '';个别版本还会落到 attrs 变成 'true' / 'multiple'。
|
|
38
|
+
* Boolean('') 为 false,会把多选打成单选。
|
|
39
|
+
*/
|
|
40
|
+
function isSelectMultiple(value) {
|
|
41
|
+
return value === true || value === "" || value === "true" || value === "multiple";
|
|
42
|
+
}
|
|
43
|
+
/** 业务 value → ComboboxItem token(空串走哨兵;数字转为十进制字符串) */
|
|
44
|
+
function toComboboxValue(value) {
|
|
45
|
+
return value === "" ? RS_SELECT_EMPTY_VALUE : String(value);
|
|
46
|
+
}
|
|
47
|
+
/** ComboboxItem token → 业务字符串(仅还原空串哨兵,不恢复 number) */
|
|
48
|
+
function fromComboboxValue(value) {
|
|
49
|
+
return value === "__rs_select_empty__" ? "" : value;
|
|
50
|
+
}
|
|
51
|
+
function isSelectOptionGroup(item) {
|
|
52
|
+
return "options" in item && Array.isArray(item.options);
|
|
53
|
+
}
|
|
54
|
+
function flattenSelectOptions(options) {
|
|
55
|
+
const result = [];
|
|
56
|
+
for (const item of options) if (isSelectOptionGroup(item)) result.push(...item.options);
|
|
57
|
+
else result.push(item);
|
|
58
|
+
return result;
|
|
59
|
+
}
|
|
60
|
+
function findSelectOption(options, token) {
|
|
61
|
+
const raw = fromComboboxValue(token);
|
|
62
|
+
return flattenSelectOptions(options).find((opt) => String(opt.value) === String(raw));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Combobox token → 业务 value。
|
|
66
|
+
* 优先返回 options 里的原始类型(number 0 保持为 0);手输/未知项保持字符串。
|
|
67
|
+
*/
|
|
68
|
+
function restoreSelectValue(token, options) {
|
|
69
|
+
const matched = findSelectOption(options, token);
|
|
70
|
+
if (matched) return matched.value;
|
|
71
|
+
return fromComboboxValue(token);
|
|
72
|
+
}
|
|
73
|
+
function restoreSelectValues(tokens, options) {
|
|
74
|
+
return tokens.map((token) => restoreSelectValue(token, options));
|
|
75
|
+
}
|
|
76
|
+
function buildOptionLabelMap(options) {
|
|
77
|
+
const map = /* @__PURE__ */ new Map();
|
|
78
|
+
for (const opt of flattenSelectOptions(options)) {
|
|
79
|
+
const key = toComboboxValue(opt.value);
|
|
80
|
+
map.set(key, opt.label);
|
|
81
|
+
if (opt.value === "") map.set("", opt.label);
|
|
82
|
+
}
|
|
83
|
+
return map;
|
|
84
|
+
}
|
|
85
|
+
function buildOptionDisabledMap(options) {
|
|
86
|
+
const map = /* @__PURE__ */ new Map();
|
|
87
|
+
for (const opt of flattenSelectOptions(options)) {
|
|
88
|
+
const key = toComboboxValue(opt.value);
|
|
89
|
+
map.set(key, Boolean(opt.disabled));
|
|
90
|
+
}
|
|
91
|
+
return map;
|
|
92
|
+
}
|
|
93
|
+
function optionFieldText(option, prop) {
|
|
94
|
+
if (prop === "value") return String(option.value);
|
|
95
|
+
if (prop === "label" || !prop) return String(option.label);
|
|
96
|
+
const extra = Reflect.get(option, prop);
|
|
97
|
+
return extra == null ? String(option.label) : String(extra);
|
|
98
|
+
}
|
|
99
|
+
function defaultMatchOption(option, query, contains, optionFilterProp) {
|
|
100
|
+
return contains(optionFieldText(option, optionFilterProp), query);
|
|
101
|
+
}
|
|
102
|
+
function coerceSelectValue(raw) {
|
|
103
|
+
if (typeof raw === "number" || typeof raw === "string") return raw;
|
|
104
|
+
if (raw == null) return "";
|
|
105
|
+
return String(raw);
|
|
106
|
+
}
|
|
107
|
+
function mapSelectOption(raw, names) {
|
|
108
|
+
const value = coerceSelectValue(raw[names.value]);
|
|
109
|
+
const label = raw[names.label];
|
|
110
|
+
return {
|
|
111
|
+
...raw,
|
|
112
|
+
value,
|
|
113
|
+
label: label == null ? String(value) : String(label),
|
|
114
|
+
disabled: Boolean(raw[names.disabled]),
|
|
115
|
+
title: typeof raw.title === "string" ? raw.title : void 0
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* 按 fieldNames 把业务选项正规化为 { label, value, disabled }。
|
|
120
|
+
* 默认键即为 label / value / options,既有调用无需改。
|
|
121
|
+
*/
|
|
122
|
+
function normalizeSelectOptions(options, fieldNames) {
|
|
123
|
+
const labelKey = fieldNames?.label ?? "label";
|
|
124
|
+
const valueKey = fieldNames?.value ?? "value";
|
|
125
|
+
const optionsKey = fieldNames?.options ?? "options";
|
|
126
|
+
const disabledKey = fieldNames?.disabled ?? "disabled";
|
|
127
|
+
const groupLabelKey = fieldNames?.groupLabel ?? labelKey;
|
|
128
|
+
const result = [];
|
|
129
|
+
for (const item of options) {
|
|
130
|
+
if (!item || typeof item !== "object") continue;
|
|
131
|
+
const raw = item;
|
|
132
|
+
const nested = raw[optionsKey];
|
|
133
|
+
if (Array.isArray(nested)) {
|
|
134
|
+
const children = [];
|
|
135
|
+
for (const child of nested) {
|
|
136
|
+
if (!child || typeof child !== "object") continue;
|
|
137
|
+
children.push(mapSelectOption(child, {
|
|
138
|
+
label: labelKey,
|
|
139
|
+
value: valueKey,
|
|
140
|
+
disabled: disabledKey
|
|
141
|
+
}));
|
|
142
|
+
}
|
|
143
|
+
result.push({
|
|
144
|
+
label: String(raw[groupLabelKey] ?? ""),
|
|
145
|
+
options: children
|
|
146
|
+
});
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
result.push(mapSelectOption(raw, {
|
|
150
|
+
label: labelKey,
|
|
151
|
+
value: valueKey,
|
|
152
|
+
disabled: disabledKey
|
|
153
|
+
}));
|
|
154
|
+
}
|
|
155
|
+
return result;
|
|
156
|
+
}
|
|
157
|
+
/** 触发器 / tag 展示文案,对齐 Ant optionLabelProp */
|
|
158
|
+
function optionDisplayLabel(option, prop = "label") {
|
|
159
|
+
return optionFieldText(option, prop);
|
|
160
|
+
}
|
|
161
|
+
function comboboxBindingToTokens(value, multiple) {
|
|
162
|
+
if (multiple) return Array.isArray(value) ? value.map(String) : [];
|
|
163
|
+
if (value == null || value === "") return [];
|
|
164
|
+
return [String(value)];
|
|
165
|
+
}
|
|
166
|
+
function selectModelEntries(value) {
|
|
167
|
+
if (Array.isArray(value)) return value;
|
|
168
|
+
if (value === "" || value == null) return [];
|
|
169
|
+
return [value];
|
|
170
|
+
}
|
|
171
|
+
function filterSelectOptions(options, query, contains, filterOption, optionFilterProp = "label") {
|
|
172
|
+
if (filterOption === false) return options;
|
|
173
|
+
const trimmed = query.trim();
|
|
174
|
+
if (!trimmed) return options;
|
|
175
|
+
const match = typeof filterOption === "function" ? (opt) => filterOption(trimmed, opt) : (opt) => defaultMatchOption(opt, trimmed, contains, optionFilterProp);
|
|
176
|
+
const result = [];
|
|
177
|
+
for (const item of options) if (isSelectOptionGroup(item)) {
|
|
178
|
+
const filtered = item.options.filter(match);
|
|
179
|
+
if (filtered.length > 0) result.push({
|
|
180
|
+
label: item.label,
|
|
181
|
+
options: filtered
|
|
182
|
+
});
|
|
183
|
+
} else if (match(item)) result.push(item);
|
|
184
|
+
return result;
|
|
185
|
+
}
|
|
186
|
+
function flattenSelectValues(options) {
|
|
187
|
+
return flattenSelectOptions(options).map((opt) => toComboboxValue(opt.value));
|
|
188
|
+
}
|
|
189
|
+
function toSelectedTokens(value, multiple) {
|
|
190
|
+
const entries = multiple ? selectModelEntries(value) : Array.isArray(value) || value === "" || value == null ? [] : [value];
|
|
191
|
+
const tokens = [];
|
|
192
|
+
for (const entry of entries) {
|
|
193
|
+
const raw = unwrapSelectEntry(entry);
|
|
194
|
+
if (raw === null) continue;
|
|
195
|
+
tokens.push(toComboboxValue(raw));
|
|
196
|
+
}
|
|
197
|
+
return tokens;
|
|
198
|
+
}
|
|
199
|
+
function isSelectLabeledValue(value) {
|
|
200
|
+
return typeof value === "object" && value !== null && !Array.isArray(value) && "value" in value;
|
|
201
|
+
}
|
|
202
|
+
function unwrapSelectEntry(item) {
|
|
203
|
+
if (item == null || item === "") return null;
|
|
204
|
+
if (isSelectLabeledValue(item)) return item.value;
|
|
205
|
+
if (typeof item === "string" || typeof item === "number") return item;
|
|
206
|
+
return null;
|
|
207
|
+
}
|
|
208
|
+
function toLabeledValue(value, options) {
|
|
209
|
+
const matched = flattenSelectOptions(options).find((opt) => String(opt.value) === String(value));
|
|
210
|
+
return {
|
|
211
|
+
value: matched ? matched.value : value,
|
|
212
|
+
label: matched?.label ?? String(value)
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
function packSelectModel(values, options, multiple, labelInValue) {
|
|
216
|
+
if (multiple) return labelInValue ? values.map((value) => toLabeledValue(value, options)) : values;
|
|
217
|
+
const first = values[0];
|
|
218
|
+
if (first === void 0) return "";
|
|
219
|
+
return labelInValue ? toLabeledValue(first, options) : first;
|
|
220
|
+
}
|
|
221
|
+
function sortSelectOptions(options, sort) {
|
|
222
|
+
if (!sort) return options;
|
|
223
|
+
const next = [];
|
|
224
|
+
const flats = [];
|
|
225
|
+
const flushFlats = () => {
|
|
226
|
+
if (!flats.length) return;
|
|
227
|
+
next.push(...[...flats].sort(sort));
|
|
228
|
+
flats.length = 0;
|
|
229
|
+
};
|
|
230
|
+
for (const item of options) if (isSelectOptionGroup(item)) {
|
|
231
|
+
flushFlats();
|
|
232
|
+
next.push({
|
|
233
|
+
label: item.label,
|
|
234
|
+
options: [...item.options].sort(sort)
|
|
235
|
+
});
|
|
236
|
+
} else flats.push(item);
|
|
237
|
+
flushFlats();
|
|
238
|
+
return next;
|
|
239
|
+
}
|
|
240
|
+
function splitByTokenSeparators(raw, separators) {
|
|
241
|
+
if (!separators.length) return null;
|
|
242
|
+
const found = separators.find((sep) => sep && raw.includes(sep));
|
|
243
|
+
if (!found) return null;
|
|
244
|
+
return raw.split(found);
|
|
245
|
+
}
|
|
246
|
+
//#endregion
|
|
247
|
+
export { RS_SELECT_EMPTY_VALUE, buildOptionDisabledMap, buildOptionLabelMap, comboboxBindingToTokens, filterSelectOptions, findSelectOption, flattenSelectOptions, flattenSelectValues, fromComboboxValue, isSelectLabeledValue, isSelectMultiple, isSelectOptionGroup, normalizeSelectOptions, optionDisplayLabel, packSelectModel, restoreSelectValue, restoreSelectValues, selectModelEntries, sortSelectOptions, splitByTokenSeparators, splitSelectLabelHighlight, toComboboxValue, toLabeledValue, toSelectedTokens, unwrapSelectEntry };
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { type ModelRef } from 'vue';
|
|
2
|
+
import type { RsTranslateFn } from '../../../composables/useRsI18n';
|
|
3
|
+
import { type RsSelectFieldNames, type RsSelectFilterOption, type RsSelectFilterSort, type RsSelectModelValue, type RsSelectOption, type RsSelectOptionFilterProp, type RsSelectOptionsInput, type RsSelectValue } from './select-utils';
|
|
4
|
+
/** RsSelect 行为层入参(不含尺寸 / 表单外观) */
|
|
5
|
+
export interface RsSelectEngineProps {
|
|
6
|
+
options: RsSelectOptionsInput;
|
|
7
|
+
fieldNames?: RsSelectFieldNames;
|
|
8
|
+
optionLabelProp?: string;
|
|
9
|
+
optionFilterProp?: RsSelectOptionFilterProp;
|
|
10
|
+
filterOption?: RsSelectFilterOption | boolean;
|
|
11
|
+
filterSort?: RsSelectFilterSort;
|
|
12
|
+
searchable?: boolean;
|
|
13
|
+
creatable?: boolean;
|
|
14
|
+
multiple?: boolean;
|
|
15
|
+
remote?: boolean;
|
|
16
|
+
virtual?: boolean;
|
|
17
|
+
virtualThreshold?: number;
|
|
18
|
+
maxTagCount?: number | 'responsive';
|
|
19
|
+
/** 远程 @search 防抖毫秒;0 立即发 */
|
|
20
|
+
debounce?: number;
|
|
21
|
+
maxTagPlaceholder?: string | ((omitted: number) => string);
|
|
22
|
+
maxTagTooltip?: boolean;
|
|
23
|
+
maxTagTextLength?: number;
|
|
24
|
+
multipleLimit?: number;
|
|
25
|
+
labelInValue?: boolean;
|
|
26
|
+
tokenSeparators?: string[];
|
|
27
|
+
autoClearSearchValue?: boolean;
|
|
28
|
+
/** 打开下拉时把当前选中值写入搜索框;默认不回填 */
|
|
29
|
+
fillSearchWithValue?: boolean;
|
|
30
|
+
searchPlaceholder?: string;
|
|
31
|
+
emptyText?: string;
|
|
32
|
+
loadingText?: string;
|
|
33
|
+
placeholder?: string;
|
|
34
|
+
}
|
|
35
|
+
export type RsSelectEngineEmit = {
|
|
36
|
+
(e: 'search', query: string): void;
|
|
37
|
+
(e: 'select', value: RsSelectValue, option?: RsSelectOption): void;
|
|
38
|
+
(e: 'deselect', value: RsSelectValue, option?: RsSelectOption): void;
|
|
39
|
+
(e: 'clear'): void;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Select 过滤、选中、多选 tag、creatable / 分隔符提交。
|
|
43
|
+
* 组件模板只消费返回值;表单校验仍留在 SFC。
|
|
44
|
+
*/
|
|
45
|
+
export declare function useRsSelect<T extends RsSelectModelValue = RsSelectModelValue>(props: RsSelectEngineProps, model: ModelRef<T>, open: ModelRef<boolean>, searchQuery: ModelRef<string>, emit: RsSelectEngineEmit, t: RsTranslateFn): {
|
|
46
|
+
normalizedOptions: import("vue").ComputedRef<import("./select-utils").RsSelectOptions>;
|
|
47
|
+
resolvedPlaceholder: import("vue").ComputedRef<string>;
|
|
48
|
+
resolvedSearchPlaceholder: import("vue").ComputedRef<string>;
|
|
49
|
+
resolvedEmptyText: import("vue").ComputedRef<string>;
|
|
50
|
+
resolvedLoadingText: import("vue").ComputedRef<string>;
|
|
51
|
+
isMultiple: import("vue").ComputedRef<boolean>;
|
|
52
|
+
isSearchable: import("vue").ComputedRef<boolean>;
|
|
53
|
+
labelMap: import("vue").ComputedRef<Map<string, string>>;
|
|
54
|
+
useVirtual: import("vue").ComputedRef<boolean>;
|
|
55
|
+
useManualFilter: import("vue").ComputedRef<boolean>;
|
|
56
|
+
displayOptions: import("vue").ComputedRef<import("./select-utils").RsSelectOptions>;
|
|
57
|
+
createValue: import("vue").ComputedRef<string>;
|
|
58
|
+
canCreate: import("vue").ComputedRef<boolean>;
|
|
59
|
+
createOptionLabel: import("vue").ComputedRef<string>;
|
|
60
|
+
virtualValues: import("vue").ComputedRef<string[]>;
|
|
61
|
+
selectedValues: import("vue").ComputedRef<string[]>;
|
|
62
|
+
hasValue: import("vue").ComputedRef<boolean>;
|
|
63
|
+
visibleTagTokens: import("vue").ComputedRef<string[]>;
|
|
64
|
+
omittedTagCount: import("vue").ComputedRef<number>;
|
|
65
|
+
omittedTagLabel: import("vue").ComputedRef<string>;
|
|
66
|
+
omittedTagTitle: import("vue").ComputedRef<string>;
|
|
67
|
+
singleDisplayLabel: import("vue").ComputedRef<string>;
|
|
68
|
+
comboboxModel: import("vue").WritableComputedRef<string | string[] | undefined, string | string[] | undefined>;
|
|
69
|
+
tokenLabel: (token: string) => string;
|
|
70
|
+
truncateTagLabel: (label: string) => string;
|
|
71
|
+
optionFromToken: (token: string) => RsSelectOption | undefined;
|
|
72
|
+
optionOrCreate: (token: string) => RsSelectOption;
|
|
73
|
+
isOptionLimited: (option: RsSelectOption) => boolean;
|
|
74
|
+
isTokenDisabled: (token: string) => boolean;
|
|
75
|
+
restoreTokenValue: (token: string) => RsSelectValue;
|
|
76
|
+
onSearchKeydown: (event: KeyboardEvent) => void;
|
|
77
|
+
onClear: (event: MouseEvent) => void;
|
|
78
|
+
removeTag: (value: string, event: MouseEvent) => void;
|
|
79
|
+
setValue: (value: unknown) => void;
|
|
80
|
+
resetSearch: () => void;
|
|
81
|
+
};
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import { useFilter } from "../../_shared/src/reka.js";
|
|
2
|
+
import { buildOptionDisabledMap, buildOptionLabelMap, comboboxBindingToTokens, filterSelectOptions, findSelectOption, flattenSelectOptions, flattenSelectValues, fromComboboxValue, isSelectLabeledValue, isSelectMultiple, normalizeSelectOptions, optionDisplayLabel, packSelectModel, restoreSelectValue, restoreSelectValues, selectModelEntries, sortSelectOptions, splitByTokenSeparators, toComboboxValue, toSelectedTokens } from "./select-utils.js";
|
|
3
|
+
import { computed, nextTick, onUnmounted, watch } from "vue";
|
|
4
|
+
//#region src/components/select/src/use-rs-select.ts
|
|
5
|
+
/**
|
|
6
|
+
* Select 过滤、选中、多选 tag、creatable / 分隔符提交。
|
|
7
|
+
* 组件模板只消费返回值;表单校验仍留在 SFC。
|
|
8
|
+
*/
|
|
9
|
+
function useRsSelect(props, model, open, searchQuery, emit, t) {
|
|
10
|
+
const { contains } = useFilter({ sensitivity: "base" });
|
|
11
|
+
const isMultiple = computed(() => isSelectMultiple(props.multiple));
|
|
12
|
+
const normalizedOptions = computed(() => normalizeSelectOptions(props.options, props.fieldNames));
|
|
13
|
+
const resolvedPlaceholder = computed(() => props.placeholder ?? t("select.placeholder"));
|
|
14
|
+
const resolvedSearchPlaceholder = computed(() => props.searchPlaceholder ?? t("select.searchPlaceholder"));
|
|
15
|
+
const resolvedEmptyText = computed(() => props.emptyText ?? t("select.empty"));
|
|
16
|
+
const resolvedLoadingText = computed(() => props.loadingText ?? t("select.loading"));
|
|
17
|
+
const isSearchable = computed(() => Boolean(props.searchable || props.creatable));
|
|
18
|
+
const labelMap = computed(() => buildOptionLabelMap(normalizedOptions.value));
|
|
19
|
+
const disabledMap = computed(() => buildOptionDisabledMap(normalizedOptions.value));
|
|
20
|
+
const flatOptions = computed(() => flattenSelectOptions(normalizedOptions.value));
|
|
21
|
+
const flatCount = computed(() => flatOptions.value.length);
|
|
22
|
+
const useVirtual = computed(() => Boolean(props.virtual) || flatCount.value > (props.virtualThreshold ?? 50));
|
|
23
|
+
/**
|
|
24
|
+
* 可搜索时一律走本地过滤,并关掉 Reka 内置 filter。
|
|
25
|
+
* Reka 的 filterSearch 与搜索框 searchQuery 不同步(打开时会被清空),
|
|
26
|
+
* 默认依赖内置过滤时会出现:手输「NVA」已出「使用 NVA」,但 NVARCHAR 仍被整表挡住。
|
|
27
|
+
*/
|
|
28
|
+
const useManualFilter = computed(() => Boolean(props.remote) || useVirtual.value || isSearchable.value || typeof props.filterOption === "function" || props.filterOption === false || Boolean(props.optionFilterProp && props.optionFilterProp !== "label") || Boolean(props.filterSort) || Boolean(props.fieldNames));
|
|
29
|
+
const displayOptions = computed(() => {
|
|
30
|
+
let next = normalizedOptions.value;
|
|
31
|
+
if (!props.remote && props.filterOption !== false) {
|
|
32
|
+
if (useManualFilter.value || props.filterOption) next = filterSelectOptions(normalizedOptions.value, searchQuery.value, contains, props.filterOption, props.optionFilterProp);
|
|
33
|
+
}
|
|
34
|
+
return sortSelectOptions(next, props.filterSort);
|
|
35
|
+
});
|
|
36
|
+
const createValue = computed(() => searchQuery.value.trim());
|
|
37
|
+
const canCreate = computed(() => {
|
|
38
|
+
if (!props.creatable) return false;
|
|
39
|
+
const q = createValue.value;
|
|
40
|
+
if (!q) return false;
|
|
41
|
+
const lower = q.toLowerCase();
|
|
42
|
+
return !flatOptions.value.some((opt) => String(opt.value).toLowerCase() === lower || String(opt.label).toLowerCase() === lower);
|
|
43
|
+
});
|
|
44
|
+
const createOptionLabel = computed(() => t("select.createOption", "使用 “{query}”").replace("{query}", createValue.value));
|
|
45
|
+
const virtualValues = computed(() => {
|
|
46
|
+
const values = flattenSelectValues(displayOptions.value);
|
|
47
|
+
if (!canCreate.value) return values;
|
|
48
|
+
return [createValue.value, ...values.filter((item) => String(item) !== createValue.value)];
|
|
49
|
+
});
|
|
50
|
+
const selectedValues = computed(() => toSelectedTokens(model.value, isMultiple.value));
|
|
51
|
+
const hasValue = computed(() => selectedValues.value.length > 0);
|
|
52
|
+
const visibleTagTokens = computed(() => {
|
|
53
|
+
const all = selectedValues.value;
|
|
54
|
+
if (!isMultiple.value || props.maxTagCount == null || props.maxTagCount === "responsive") return all;
|
|
55
|
+
if (all.length <= props.maxTagCount) return all;
|
|
56
|
+
return all.slice(0, Math.max(0, props.maxTagCount));
|
|
57
|
+
});
|
|
58
|
+
const omittedTagCount = computed(() => Math.max(0, selectedValues.value.length - visibleTagTokens.value.length));
|
|
59
|
+
const omittedTagLabel = computed(() => {
|
|
60
|
+
const count = omittedTagCount.value;
|
|
61
|
+
if (typeof props.maxTagPlaceholder === "function") return props.maxTagPlaceholder(count);
|
|
62
|
+
if (props.maxTagPlaceholder) return props.maxTagPlaceholder;
|
|
63
|
+
return t("select.maxTagPlaceholder", { count });
|
|
64
|
+
});
|
|
65
|
+
function optionFromToken(token) {
|
|
66
|
+
return findSelectOption(normalizedOptions.value, String(token));
|
|
67
|
+
}
|
|
68
|
+
function tokenLabel(token) {
|
|
69
|
+
if (props.labelInValue) {
|
|
70
|
+
for (const entry of selectModelEntries(model.value)) if (isSelectLabeledValue(entry) && toComboboxValue(entry.value) === token && entry.label) return entry.label;
|
|
71
|
+
}
|
|
72
|
+
const option = optionFromToken(token);
|
|
73
|
+
if (option) return optionDisplayLabel(option, props.optionLabelProp);
|
|
74
|
+
return labelMap.value.get(token) ?? fromComboboxValue(token);
|
|
75
|
+
}
|
|
76
|
+
const omittedTagTitle = computed(() => {
|
|
77
|
+
if (!props.maxTagTooltip) return omittedTagLabel.value;
|
|
78
|
+
const omitted = selectedValues.value.slice(visibleTagTokens.value.length);
|
|
79
|
+
if (!omitted.length) return omittedTagLabel.value;
|
|
80
|
+
return omitted.map((token) => tokenLabel(token)).join("、");
|
|
81
|
+
});
|
|
82
|
+
function truncateTagLabel(label) {
|
|
83
|
+
const max = props.maxTagTextLength;
|
|
84
|
+
if (!max || max < 1 || label.length <= max) return label;
|
|
85
|
+
return `${label.slice(0, max)}…`;
|
|
86
|
+
}
|
|
87
|
+
const atMultipleLimit = computed(() => isMultiple.value && props.multipleLimit != null && props.multipleLimit > 0 && selectedValues.value.length >= props.multipleLimit);
|
|
88
|
+
function isOptionLimited(option) {
|
|
89
|
+
if (!atMultipleLimit.value) return false;
|
|
90
|
+
return !selectedValues.value.includes(toComboboxValue(option.value));
|
|
91
|
+
}
|
|
92
|
+
function isTokenDisabled(token) {
|
|
93
|
+
if (disabledMap.value.get(String(token))) return true;
|
|
94
|
+
const option = optionFromToken(token);
|
|
95
|
+
return option ? isOptionLimited(option) : false;
|
|
96
|
+
}
|
|
97
|
+
const singleDisplayLabel = computed(() => {
|
|
98
|
+
if (isMultiple.value || !hasValue.value) return "";
|
|
99
|
+
return tokenLabel(selectedValues.value[0]);
|
|
100
|
+
});
|
|
101
|
+
function writeTokens(tokens) {
|
|
102
|
+
model.value = packSelectModel(restoreSelectValues(tokens, normalizedOptions.value), normalizedOptions.value, isMultiple.value, Boolean(props.labelInValue));
|
|
103
|
+
}
|
|
104
|
+
function emitSelectionDiff(prev, next) {
|
|
105
|
+
const prevSet = new Set(prev);
|
|
106
|
+
const nextSet = new Set(next);
|
|
107
|
+
for (const token of next) {
|
|
108
|
+
if (prevSet.has(token)) continue;
|
|
109
|
+
emit("select", restoreSelectValue(token, normalizedOptions.value), findSelectOption(normalizedOptions.value, token));
|
|
110
|
+
}
|
|
111
|
+
for (const token of prev) {
|
|
112
|
+
if (nextSet.has(token)) continue;
|
|
113
|
+
emit("deselect", restoreSelectValue(token, normalizedOptions.value), findSelectOption(normalizedOptions.value, token));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
const comboboxModel = computed({
|
|
117
|
+
get() {
|
|
118
|
+
if (isMultiple.value) return selectedValues.value;
|
|
119
|
+
return hasValue.value ? selectedValues.value[0] : void 0;
|
|
120
|
+
},
|
|
121
|
+
set(value) {
|
|
122
|
+
const prev = selectedValues.value;
|
|
123
|
+
const tokens = comboboxBindingToTokens(value, isMultiple.value);
|
|
124
|
+
emitSelectionDiff(prev, tokens);
|
|
125
|
+
writeTokens(tokens);
|
|
126
|
+
if (props.autoClearSearchValue) searchQuery.value = "";
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
function currentValues() {
|
|
130
|
+
return restoreSelectValues(selectedValues.value, normalizedOptions.value);
|
|
131
|
+
}
|
|
132
|
+
function commitCreatedValue(value) {
|
|
133
|
+
const next = value.trim();
|
|
134
|
+
if (!next) return;
|
|
135
|
+
const values = currentValues();
|
|
136
|
+
if (values.some((item) => String(item) === next)) return;
|
|
137
|
+
if (isMultiple.value) {
|
|
138
|
+
if (atMultipleLimit.value) return;
|
|
139
|
+
const prev = selectedValues.value;
|
|
140
|
+
const packed = packSelectModel([...values, next], normalizedOptions.value, true, Boolean(props.labelInValue));
|
|
141
|
+
model.value = packed;
|
|
142
|
+
emitSelectionDiff(prev, toSelectedTokens(packed, true));
|
|
143
|
+
} else {
|
|
144
|
+
const prev = selectedValues.value;
|
|
145
|
+
model.value = packSelectModel([next], normalizedOptions.value, false, Boolean(props.labelInValue));
|
|
146
|
+
emitSelectionDiff(prev, toSelectedTokens(model.value, false));
|
|
147
|
+
open.value = false;
|
|
148
|
+
}
|
|
149
|
+
if (props.autoClearSearchValue) searchQuery.value = "";
|
|
150
|
+
}
|
|
151
|
+
function consumeTokenSeparators(raw) {
|
|
152
|
+
if (!isMultiple.value && !props.creatable) return;
|
|
153
|
+
const parts = splitByTokenSeparators(raw, props.tokenSeparators ?? []);
|
|
154
|
+
if (!parts) return;
|
|
155
|
+
const rest = parts.pop() ?? "";
|
|
156
|
+
for (const part of parts) {
|
|
157
|
+
const token = part.trim();
|
|
158
|
+
if (!token) continue;
|
|
159
|
+
const matched = flatOptions.value.find((opt) => String(opt.value) === token || String(opt.label) === token);
|
|
160
|
+
if (matched) {
|
|
161
|
+
const prev = selectedValues.value;
|
|
162
|
+
const key = toComboboxValue(matched.value);
|
|
163
|
+
if (prev.includes(key)) continue;
|
|
164
|
+
if (isMultiple.value && atMultipleLimit.value) continue;
|
|
165
|
+
const nextTokens = isMultiple.value ? [...prev, key] : [key];
|
|
166
|
+
emitSelectionDiff(prev, nextTokens);
|
|
167
|
+
writeTokens(nextTokens);
|
|
168
|
+
if (!isMultiple.value) open.value = false;
|
|
169
|
+
} else if (props.creatable) commitCreatedValue(token);
|
|
170
|
+
}
|
|
171
|
+
if (rest !== raw) searchQuery.value = rest;
|
|
172
|
+
}
|
|
173
|
+
let searchTimer;
|
|
174
|
+
watch(searchQuery, (query) => {
|
|
175
|
+
if (props.remote) {
|
|
176
|
+
const wait = props.debounce ?? 0;
|
|
177
|
+
if (searchTimer) clearTimeout(searchTimer);
|
|
178
|
+
if (wait <= 0) emit("search", query);
|
|
179
|
+
else searchTimer = setTimeout(() => emit("search", query), wait);
|
|
180
|
+
}
|
|
181
|
+
if (props.tokenSeparators?.length) consumeTokenSeparators(query);
|
|
182
|
+
});
|
|
183
|
+
onUnmounted(() => {
|
|
184
|
+
if (searchTimer) clearTimeout(searchTimer);
|
|
185
|
+
});
|
|
186
|
+
watch(open, async (isOpen) => {
|
|
187
|
+
if (isOpen) {
|
|
188
|
+
const pending = searchQuery.value;
|
|
189
|
+
await nextTick();
|
|
190
|
+
await nextTick();
|
|
191
|
+
if (pending) searchQuery.value = pending;
|
|
192
|
+
else if (props.fillSearchWithValue && !isMultiple.value && hasValue.value) searchQuery.value = singleDisplayLabel.value;
|
|
193
|
+
else searchQuery.value = "";
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
if (props.autoClearSearchValue) searchQuery.value = "";
|
|
197
|
+
});
|
|
198
|
+
function onSearchKeydown(event) {
|
|
199
|
+
if (event.key !== "Enter" || event.isComposing) return;
|
|
200
|
+
if (!canCreate.value) return;
|
|
201
|
+
event.preventDefault();
|
|
202
|
+
event.stopPropagation();
|
|
203
|
+
commitCreatedValue(createValue.value);
|
|
204
|
+
}
|
|
205
|
+
function onClear(event) {
|
|
206
|
+
event.preventDefault();
|
|
207
|
+
event.stopPropagation();
|
|
208
|
+
emitSelectionDiff(selectedValues.value, []);
|
|
209
|
+
emit("clear");
|
|
210
|
+
model.value = isMultiple.value ? [] : "";
|
|
211
|
+
}
|
|
212
|
+
function removeTag(value, event) {
|
|
213
|
+
event.preventDefault();
|
|
214
|
+
event.stopPropagation();
|
|
215
|
+
if (!isMultiple.value) return;
|
|
216
|
+
const prev = selectedValues.value;
|
|
217
|
+
const tokens = prev.filter((item) => item !== value);
|
|
218
|
+
emitSelectionDiff(prev, tokens);
|
|
219
|
+
writeTokens(tokens);
|
|
220
|
+
}
|
|
221
|
+
function setValue(value) {
|
|
222
|
+
if (isMultiple.value) {
|
|
223
|
+
writeTokens(toSelectedTokens(Array.isArray(value) ? value : value !== "" && value != null ? [value] : [], true));
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
writeTokens(toSelectedTokens(value, false));
|
|
227
|
+
}
|
|
228
|
+
function restoreTokenValue(token) {
|
|
229
|
+
return restoreSelectValue(token, normalizedOptions.value);
|
|
230
|
+
}
|
|
231
|
+
function optionOrCreate(token) {
|
|
232
|
+
return optionFromToken(token) ?? {
|
|
233
|
+
label: fromComboboxValue(token),
|
|
234
|
+
value: restoreTokenValue(token)
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
return {
|
|
238
|
+
normalizedOptions,
|
|
239
|
+
resolvedPlaceholder,
|
|
240
|
+
resolvedSearchPlaceholder,
|
|
241
|
+
resolvedEmptyText,
|
|
242
|
+
resolvedLoadingText,
|
|
243
|
+
isMultiple,
|
|
244
|
+
isSearchable,
|
|
245
|
+
labelMap,
|
|
246
|
+
useVirtual,
|
|
247
|
+
useManualFilter,
|
|
248
|
+
displayOptions,
|
|
249
|
+
createValue,
|
|
250
|
+
canCreate,
|
|
251
|
+
createOptionLabel,
|
|
252
|
+
virtualValues,
|
|
253
|
+
selectedValues,
|
|
254
|
+
hasValue,
|
|
255
|
+
visibleTagTokens,
|
|
256
|
+
omittedTagCount,
|
|
257
|
+
omittedTagLabel,
|
|
258
|
+
omittedTagTitle,
|
|
259
|
+
singleDisplayLabel,
|
|
260
|
+
comboboxModel,
|
|
261
|
+
tokenLabel,
|
|
262
|
+
truncateTagLabel,
|
|
263
|
+
optionFromToken,
|
|
264
|
+
optionOrCreate,
|
|
265
|
+
isOptionLimited,
|
|
266
|
+
isTokenDisabled,
|
|
267
|
+
restoreTokenValue,
|
|
268
|
+
onSearchKeydown,
|
|
269
|
+
onClear,
|
|
270
|
+
removeTag,
|
|
271
|
+
setValue,
|
|
272
|
+
resetSearch: () => {
|
|
273
|
+
searchQuery.value = "";
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
//#endregion
|
|
278
|
+
export { useRsSelect };
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
|
|
2
|
+
.rs-sidebar[data-v-784314c9] {
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
min-height: 0;
|
|
6
|
+
border: 1px solid var(--rs-border-subtle);
|
|
7
|
+
background: color-mix(in srgb, var(--rs-surface) 88%, transparent);
|
|
8
|
+
color: var(--rs-text);
|
|
9
|
+
}
|
|
10
|
+
.rs-sidebar--sm[data-v-784314c9] {
|
|
11
|
+
width: 14rem;
|
|
12
|
+
}
|
|
13
|
+
.rs-sidebar--md[data-v-784314c9] {
|
|
14
|
+
width: 17rem;
|
|
15
|
+
}
|
|
16
|
+
.rs-sidebar--lg[data-v-784314c9] {
|
|
17
|
+
width: 21rem;
|
|
18
|
+
}
|
|
19
|
+
.rs-sidebar--collapsed[data-v-784314c9] {
|
|
20
|
+
width: 4rem;
|
|
21
|
+
}
|
|
22
|
+
.rs-sidebar__header[data-v-784314c9],
|
|
23
|
+
.rs-sidebar__footer[data-v-784314c9] {
|
|
24
|
+
display: flex;
|
|
25
|
+
align-items: center;
|
|
26
|
+
justify-content: space-between;
|
|
27
|
+
gap: var(--rs-space-sm);
|
|
28
|
+
padding: var(--rs-space-md);
|
|
29
|
+
border-bottom: 1px solid var(--rs-border-subtle);
|
|
30
|
+
}
|
|
31
|
+
.rs-sidebar__footer[data-v-784314c9] {
|
|
32
|
+
border-top: 1px solid var(--rs-border-subtle);
|
|
33
|
+
border-bottom: 0;
|
|
34
|
+
}
|
|
35
|
+
.rs-sidebar__body[data-v-784314c9] {
|
|
36
|
+
flex: 1;
|
|
37
|
+
min-height: 0;
|
|
38
|
+
overflow: auto;
|
|
39
|
+
padding: var(--rs-space-sm);
|
|
40
|
+
}
|
|
41
|
+
.rs-sidebar__title-wrap[data-v-784314c9] {
|
|
42
|
+
min-width: 0;
|
|
43
|
+
}
|
|
44
|
+
.rs-sidebar__title[data-v-784314c9],
|
|
45
|
+
.rs-sidebar__subtitle[data-v-784314c9] {
|
|
46
|
+
display: block;
|
|
47
|
+
overflow: hidden;
|
|
48
|
+
text-overflow: ellipsis;
|
|
49
|
+
white-space: nowrap;
|
|
50
|
+
}
|
|
51
|
+
.rs-sidebar__subtitle[data-v-784314c9] {
|
|
52
|
+
color: var(--rs-muted);
|
|
53
|
+
font-size: var(--rs-font-size-xs);
|
|
54
|
+
}
|
|
55
|
+
.rs-sidebar__collapse[data-v-784314c9] {
|
|
56
|
+
border: 1px solid var(--rs-border);
|
|
57
|
+
border-radius: var(--rs-radius-sm);
|
|
58
|
+
background: var(--rs-surface);
|
|
59
|
+
color: var(--rs-muted);
|
|
60
|
+
cursor: pointer;
|
|
61
|
+
}
|