niuma-ui 1.1.12 → 1.2.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 +17 -18
- package/README.en.md +12 -9
- package/README.md +13 -10
- package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
- package/dist/components/RsAlert.css +111 -0
- package/dist/components/RsAlert.d.ts +32 -0
- package/dist/components/RsAlert.impl.js +83 -0
- package/dist/components/RsAlert.js +8 -0
- package/dist/components/RsAvatar.css +60 -0
- package/dist/components/RsAvatar.d.ts +30 -0
- package/dist/components/RsAvatar.impl.js +59 -0
- package/dist/components/RsAvatar.js +7 -0
- package/dist/components/RsBadge.css +41 -0
- package/dist/components/RsBadge.d.ts +18 -0
- package/dist/components/RsBadge.impl.js +13 -0
- package/dist/components/RsBadge.js +8 -0
- package/dist/components/RsBreadcrumb.css +37 -0
- package/dist/components/RsBreadcrumb.d.ts +11 -0
- package/dist/components/RsBreadcrumb.impl.js +26 -0
- package/dist/components/RsBreadcrumb.js +7 -0
- package/dist/components/RsBreadcrumbItems.d.ts +8 -0
- package/dist/components/RsBreadcrumbItems.impl.js +40 -0
- package/dist/components/RsBreadcrumbItems.js +5 -0
- package/dist/components/RsButton.css +298 -0
- package/dist/components/RsButton.d.ts +56 -0
- package/dist/components/RsButton.impl.js +244 -0
- package/dist/components/RsButton.js +8 -0
- package/dist/components/RsCalendarGrid.css +99 -0
- package/dist/components/RsCalendarGrid.d.ts +30 -0
- package/dist/components/RsCalendarGrid.impl.js +182 -0
- package/dist/components/RsCalendarGrid.js +8 -0
- package/dist/components/RsCard.css +282 -0
- package/dist/components/RsCard.d.ts +78 -0
- package/dist/components/RsCard.impl.js +104 -0
- package/dist/components/RsCard.js +7 -0
- package/dist/components/RsCheckbox.css +104 -0
- package/dist/components/RsCheckbox.d.ts +36 -0
- package/dist/components/RsCheckbox.impl.js +86 -0
- package/dist/components/RsCheckbox.js +7 -0
- package/dist/components/RsCodeBlock.css +102 -0
- package/dist/components/RsCodeBlock.d.ts +34 -0
- package/dist/components/RsCodeBlock.impl.js +173 -0
- package/dist/components/RsCodeBlock.js +8 -0
- package/dist/components/RsCodeEditor.css +214 -0
- package/dist/components/RsCodeEditor.d.ts +88 -0
- package/dist/components/RsCodeEditor.impl.js +308 -0
- package/dist/components/RsCodeEditor.js +8 -0
- package/dist/components/RsConfigProvider.css +7 -0
- package/dist/components/RsConfigProvider.d.ts +36 -0
- package/dist/components/RsConfigProvider.impl.js +49 -0
- package/dist/components/RsConfigProvider.js +8 -0
- package/dist/components/RsConfirmDialog.css +118 -0
- package/dist/components/RsConfirmDialog.d.ts +72 -0
- package/dist/components/RsConfirmDialog.impl.js +207 -0
- package/dist/components/RsConfirmDialog.js +7 -0
- package/dist/components/RsContainer.css +94 -0
- package/dist/components/RsContainer.d.ts +52 -0
- package/dist/components/RsContainer.impl.js +99 -0
- package/dist/components/RsContainer.js +8 -0
- package/dist/components/RsContextMenu.css +178 -0
- package/dist/components/RsContextMenu.d.ts +35 -0
- package/dist/components/RsContextMenu.impl.js +81 -0
- package/dist/components/RsContextMenu.js +7 -0
- package/dist/components/RsContextMenuItems.d.ts +11 -0
- package/dist/components/RsContextMenuItems.impl.js +90 -0
- package/dist/components/RsContextMenuItems.js +5 -0
- package/dist/components/RsDatePicker-1.css +157 -0
- package/dist/components/RsDatePicker.css +100 -0
- package/dist/components/RsDatePicker.d.ts +72 -0
- package/dist/components/RsDatePicker.impl.js +719 -0
- package/dist/components/RsDatePicker.js +10 -0
- package/dist/components/RsDateTimePicker.d.ts +50 -0
- package/dist/components/RsDateTimePicker.impl.js +70 -0
- package/dist/components/RsDateTimePicker.js +5 -0
- package/dist/components/RsDescriptions.css +86 -0
- package/dist/components/RsDescriptions.d.ts +34 -0
- package/dist/components/RsDescriptions.impl.js +69 -0
- package/dist/components/RsDescriptions.js +7 -0
- package/dist/components/RsDescriptionsItem.d.ts +21 -0
- package/dist/components/RsDescriptionsItem.impl.js +26 -0
- package/dist/components/RsDescriptionsItem.js +5 -0
- package/dist/components/RsDialog.css +298 -0
- package/dist/components/RsDialog.d.ts +143 -0
- package/dist/components/RsDialog.impl.js +410 -0
- package/dist/components/RsDialog.js +7 -0
- package/dist/components/RsDivider.css +51 -0
- package/dist/components/RsDivider.d.ts +20 -0
- package/dist/components/RsDivider.impl.js +31 -0
- package/dist/components/RsDivider.js +8 -0
- package/dist/components/RsDrawer.css +368 -0
- package/dist/components/RsDrawer.d.ts +104 -0
- package/dist/components/RsDrawer.impl.js +497 -0
- package/dist/components/RsDrawer.js +7 -0
- package/dist/components/RsDropdown.css +157 -0
- package/dist/components/RsDropdown.d.ts +34 -0
- package/dist/components/RsDropdown.impl.js +100 -0
- package/dist/components/RsDropdown.js +7 -0
- package/dist/components/RsDropdownItems.d.ts +15 -0
- package/dist/components/RsDropdownItems.impl.js +99 -0
- package/dist/components/RsDropdownItems.js +5 -0
- package/dist/components/RsDynamicTags.css +148 -0
- package/dist/components/RsDynamicTags.d.ts +71 -0
- package/dist/components/RsDynamicTags.impl.js +313 -0
- package/dist/components/RsDynamicTags.js +8 -0
- package/dist/components/RsEmpty.css +52 -0
- package/dist/components/RsEmpty.d.ts +32 -0
- package/dist/components/RsEmpty.impl.js +43 -0
- package/dist/components/RsEmpty.js +7 -0
- package/dist/components/RsForm.css +30 -0
- package/dist/components/RsForm.d.ts +80 -0
- package/dist/components/RsForm.impl.js +188 -0
- package/dist/components/RsForm.js +8 -0
- package/dist/components/RsFormItem.css +52 -0
- package/dist/components/RsFormItem.d.ts +78 -0
- package/dist/components/RsFormItem.impl.js +288 -0
- package/dist/components/RsFormItem.js +8 -0
- package/dist/components/RsFormItemControl.d.ts +21 -0
- package/dist/components/RsFormItemControl.impl.js +19 -0
- package/dist/components/RsFormItemControl.js +5 -0
- package/dist/components/RsFormList.d.ts +23 -0
- package/dist/components/RsFormList.impl.js +86 -0
- package/dist/components/RsFormList.js +5 -0
- package/dist/components/RsIcon.css +14 -0
- package/dist/components/RsIcon.d.ts +24 -0
- package/dist/components/RsIcon.impl.js +77 -0
- package/dist/components/RsIcon.js +8 -0
- package/dist/components/RsInput.css +528 -0
- package/dist/components/RsInput.d.ts +147 -0
- package/dist/components/RsInput.impl.js +439 -0
- package/dist/components/RsInput.js +8 -0
- package/dist/components/RsInputNumber.css +163 -0
- package/dist/components/RsInputNumber.d.ts +88 -0
- package/dist/components/RsInputNumber.impl.js +375 -0
- package/dist/components/RsInputNumber.js +8 -0
- package/dist/components/RsLabel.css +33 -0
- package/dist/components/RsLabel.d.ts +25 -0
- package/dist/components/RsLabel.impl.js +45 -0
- package/dist/components/RsLabel.js +8 -0
- package/dist/components/RsLink.css +45 -0
- package/dist/components/RsLink.d.ts +25 -0
- package/dist/components/RsLink.impl.js +59 -0
- package/dist/components/RsLink.js +7 -0
- package/dist/components/RsLoading.css +106 -0
- package/dist/components/RsLoading.d.ts +24 -0
- package/dist/components/RsLoading.impl.js +72 -0
- package/dist/components/RsLoading.js +7 -0
- package/dist/components/RsLoadingBar.css +20 -0
- package/dist/components/RsLoadingBar.d.ts +31 -0
- package/dist/components/RsLoadingBar.impl.js +111 -0
- package/dist/components/RsLoadingBar.js +8 -0
- package/dist/components/RsMarkdown.css +214 -0
- package/dist/components/RsMarkdown.d.ts +36 -0
- package/dist/components/RsMarkdown.impl.js +139 -0
- package/dist/components/RsMarkdown.js +7 -0
- package/dist/components/RsMenu.css +200 -0
- package/dist/components/RsMenu.d.ts +28 -0
- package/dist/components/RsMenu.impl.js +108 -0
- package/dist/components/RsMenu.js +7 -0
- package/dist/components/RsMenuItems.d.ts +25 -0
- package/dist/components/RsMenuItems.impl.js +282 -0
- package/dist/components/RsMenuItems.js +5 -0
- package/dist/components/RsMonacoEditor.css +28 -0
- package/dist/components/RsMonacoEditor.d.ts +105 -0
- package/dist/components/RsMonacoEditor.impl.js +353 -0
- package/dist/components/RsMonacoEditor.js +8 -0
- package/dist/components/RsPagination.css +83 -0
- package/dist/components/RsPagination.d.ts +44 -0
- package/dist/components/RsPagination.impl.js +208 -0
- package/dist/components/RsPagination.js +8 -0
- package/dist/components/RsPopover.css +24 -0
- package/dist/components/RsPopover.d.ts +43 -0
- package/dist/components/RsPopover.impl.js +71 -0
- package/dist/components/RsPopover.js +7 -0
- package/dist/components/RsProseEditor.css +19 -0
- package/dist/components/RsProseEditor.d.ts +38 -0
- package/dist/components/RsProseEditor.impl.js +137 -0
- package/dist/components/RsProseEditor.js +8 -0
- package/dist/components/RsRadio.css +19 -0
- package/dist/components/RsRadio.d.ts +34 -0
- package/dist/components/RsRadio.impl.js +66 -0
- package/dist/components/RsRadio.js +7 -0
- package/dist/components/RsRadioItem.css +90 -0
- package/dist/components/RsRadioItem.d.ts +23 -0
- package/dist/components/RsRadioItem.impl.js +55 -0
- package/dist/components/RsRadioItem.js +7 -0
- package/dist/components/RsScrollbar.css +68 -0
- package/dist/components/RsScrollbar.d.ts +31 -0
- package/dist/components/RsScrollbar.impl.js +81 -0
- package/dist/components/RsScrollbar.js +7 -0
- package/dist/components/RsSelect.css +233 -0
- package/dist/components/RsSelect.d.ts +148 -0
- package/dist/components/RsSelect.impl.js +506 -0
- package/dist/components/RsSelect.js +8 -0
- package/dist/components/RsSidebar.css +61 -0
- package/dist/components/RsSidebar.d.ts +44 -0
- package/dist/components/RsSidebar.impl.js +63 -0
- package/dist/components/RsSidebar.js +8 -0
- package/dist/components/RsSidebarGroup.css +15 -0
- package/dist/components/RsSidebarGroup.d.ts +17 -0
- package/dist/components/RsSidebarGroup.impl.js +22 -0
- package/dist/components/RsSidebarGroup.js +8 -0
- package/dist/components/RsSidebarItem.css +45 -0
- package/dist/components/RsSidebarItem.d.ts +20 -0
- package/dist/components/RsSidebarItem.impl.js +41 -0
- package/dist/components/RsSidebarItem.js +8 -0
- package/dist/components/RsSplitPane.css +183 -0
- package/dist/components/RsSplitPane.d.ts +51 -0
- package/dist/components/RsSplitPane.impl.js +408 -0
- package/dist/components/RsSplitPane.js +7 -0
- package/dist/components/RsStatCard.css +51 -0
- package/dist/components/RsStatCard.d.ts +26 -0
- package/dist/components/RsStatCard.impl.js +41 -0
- package/dist/components/RsStatCard.js +8 -0
- package/dist/components/RsSteps.css +83 -0
- package/dist/components/RsSteps.d.ts +22 -0
- package/dist/components/RsSteps.impl.js +55 -0
- package/dist/components/RsSteps.js +8 -0
- package/dist/components/RsSwitch.css +101 -0
- package/dist/components/RsSwitch.d.ts +41 -0
- package/dist/components/RsSwitch.impl.js +92 -0
- package/dist/components/RsSwitch.js +7 -0
- package/dist/components/RsTable.d.ts +139 -0
- package/dist/components/RsTable.impl.js +676 -0
- package/dist/components/RsTable.js +5 -0
- package/dist/components/RsTabs.css +616 -0
- package/dist/components/RsTabs.d.ts +92 -0
- package/dist/components/RsTabs.impl.js +526 -0
- package/dist/components/RsTabs.js +7 -0
- package/dist/components/RsTag.css +94 -0
- package/dist/components/RsTag.d.ts +33 -0
- package/dist/components/RsTag.impl.js +70 -0
- package/dist/components/RsTag.js +8 -0
- package/dist/components/RsTerminal.css +119 -0
- package/dist/components/RsTerminal.d.ts +85 -0
- package/dist/components/RsTerminal.impl.js +525 -0
- package/dist/components/RsTerminal.js +8 -0
- package/dist/components/RsTimePicker-1.css +98 -0
- package/dist/components/RsTimePicker.css +106 -0
- package/dist/components/RsTimePicker.d.ts +41 -0
- package/dist/components/RsTimePicker.impl.js +374 -0
- package/dist/components/RsTimePicker.js +10 -0
- package/dist/components/RsTimePickerColumns.css +104 -0
- package/dist/components/RsTimePickerColumns.d.ts +30 -0
- package/dist/components/RsTimePickerColumns.impl.js +172 -0
- package/dist/components/RsTimePickerColumns.js +8 -0
- package/dist/components/RsToaster.css +329 -0
- package/dist/components/RsToaster.d.ts +17 -0
- package/dist/components/RsToaster.impl.js +67 -0
- package/dist/components/RsToaster.js +7 -0
- package/dist/components/RsToolbar.css +61 -0
- package/dist/components/RsToolbar.d.ts +43 -0
- package/dist/components/RsToolbar.impl.js +57 -0
- package/dist/components/RsToolbar.js +7 -0
- package/dist/components/RsTooltip.css +59 -0
- package/dist/components/RsTooltip.d.ts +47 -0
- package/dist/components/RsTooltip.impl.js +88 -0
- package/dist/components/RsTooltip.js +7 -0
- package/dist/components/RsTooltipProvider.d.ts +26 -0
- package/dist/components/RsTooltipProvider.impl.js +32 -0
- package/dist/components/RsTooltipProvider.js +5 -0
- package/dist/components/RsTree.css +308 -0
- package/dist/components/RsTree.d.ts +131 -0
- package/dist/components/RsTree.impl.js +762 -0
- package/dist/components/RsTree.js +8 -0
- package/dist/components/RsUpload.css +191 -0
- package/dist/components/RsUpload.d.ts +38 -0
- package/dist/components/RsUpload.impl.js +198 -0
- package/dist/components/RsUpload.js +8 -0
- package/dist/components/RsVNodeHost.d.ts +18 -0
- package/dist/components/RsVNodeHost.impl.js +18 -0
- package/dist/components/RsVNodeHost.js +5 -0
- package/dist/components/RsVirtualList.css +29 -0
- package/dist/components/RsVirtualList.d.ts +37 -0
- package/dist/components/RsVirtualList.impl.js +138 -0
- package/dist/components/RsVirtualList.js +8 -0
- package/dist/components/avatar-utils.d.ts +11 -0
- package/dist/components/avatar-utils.js +13 -0
- package/dist/components/breadcrumb-utils.d.ts +12 -0
- package/dist/components/breadcrumb-utils.js +12 -0
- package/dist/components/button-utils.d.ts +17 -0
- package/dist/components/button-utils.js +13 -0
- package/dist/components/class-utils.d.ts +2 -0
- package/dist/components/code-editor-utils.d.ts +33 -0
- package/dist/components/code-editor-utils.js +64 -0
- package/dist/components/code-mirror-completion.d.ts +5 -0
- package/dist/components/code-mirror-completion.js +37 -0
- package/dist/components/code-mirror-diagnostics.d.ts +6 -0
- package/dist/components/code-mirror-diagnostics.js +35 -0
- package/dist/components/code-mirror-ghost.d.ts +8 -0
- package/dist/components/code-mirror-ghost.js +133 -0
- package/dist/components/code-mirror-inline-edit.d.ts +11 -0
- package/dist/components/code-mirror-inline-edit.js +51 -0
- package/dist/components/code-mirror-intel.d.ts +22 -0
- package/dist/components/code-mirror-intel.js +62 -0
- package/dist/components/code-mirror-lang.d.ts +10 -0
- package/dist/components/code-mirror-lang.js +113 -0
- package/dist/components/context-menu-utils.d.ts +21 -0
- package/dist/components/context-menu-utils.js +8 -0
- package/dist/components/date-picker-utils.d.ts +115 -0
- package/dist/components/date-picker-utils.js +270 -0
- package/dist/components/date-range-validation.d.ts +15 -0
- package/dist/components/date-range-validation.js +16 -0
- package/dist/components/date-validation.d.ts +15 -0
- package/dist/components/date-validation.js +46 -0
- package/dist/components/descriptions-utils.d.ts +18 -0
- package/dist/components/descriptions-utils.js +4 -0
- package/dist/components/dialog-utils.d.ts +95 -0
- package/dist/components/dialog-utils.js +58 -0
- package/dist/components/dialog-viewport.d.ts +14 -0
- package/dist/components/dialog-viewport.js +38 -0
- package/dist/components/dialog-window.d.ts +45 -0
- package/dist/components/dialog-window.js +275 -0
- package/dist/components/drawer-utils.d.ts +37 -0
- package/dist/components/drawer-utils.js +59 -0
- package/dist/components/dropdown-utils.d.ts +13 -0
- package/dist/components/dropdown-utils.js +12 -0
- package/dist/components/form-item-control.d.ts +7 -0
- package/dist/components/form-item-control.js +46 -0
- package/dist/components/form-path.d.ts +29 -0
- package/dist/components/form-path.js +78 -0
- package/dist/components/form-rules.d.ts +82 -0
- package/dist/components/form-rules.js +130 -0
- package/dist/components/form-utils.d.ts +120 -0
- package/dist/components/form-utils.js +67 -0
- package/dist/components/input-number-utils.d.ts +36 -0
- package/dist/components/input-number-utils.js +74 -0
- package/dist/components/input-rules.d.ts +15 -0
- package/dist/components/input-rules.js +59 -0
- package/dist/components/loading-utils.d.ts +6 -0
- package/dist/components/markdown-utils.d.ts +16 -0
- package/dist/components/markdown-utils.js +143 -0
- package/dist/components/menu-utils.d.ts +16 -0
- package/dist/components/menu-utils.js +29 -0
- package/dist/components/overlay-utils.d.ts +23 -0
- package/dist/components/overlay-utils.js +17 -0
- package/dist/components/pagination-utils.d.ts +9 -0
- package/dist/components/pagination-utils.js +53 -0
- package/dist/components/popover-utils.d.ts +6 -0
- package/dist/components/radio-utils.d.ts +9 -0
- package/dist/components/radio-utils.js +4 -0
- package/dist/components/reka.d.ts +2 -0
- package/dist/components/reka.js +2 -0
- package/dist/components/resolve-radius.d.ts +9 -0
- package/dist/components/resolve-radius.js +18 -0
- package/dist/components/resolve-size.d.ts +10 -0
- package/dist/components/resolve-size.js +20 -0
- package/dist/components/scrollbar-utils.d.ts +3 -0
- package/dist/components/scrollbar-utils.js +7 -0
- package/dist/components/select-utils.d.ts +83 -0
- package/dist/components/select-utils.js +211 -0
- package/dist/components/split-pane-utils.d.ts +74 -0
- package/dist/components/split-pane-utils.js +135 -0
- package/dist/components/steps-utils.d.ts +12 -0
- package/dist/components/steps-utils.js +12 -0
- package/dist/components/table/RsTableBody.d.ts +47 -0
- package/dist/components/table/RsTableBody.impl.js +312 -0
- package/dist/components/table/RsTableBody.js +5 -0
- package/dist/components/table/RsTableBodyRow.d.ts +149 -0
- package/dist/components/table/RsTableBodyRow.impl.js +438 -0
- package/dist/components/table/RsTableBodyRow.js +5 -0
- package/dist/components/table/RsTableCell.d.ts +59 -0
- package/dist/components/table/RsTableCell.impl.js +213 -0
- package/dist/components/table/RsTableCell.js +5 -0
- package/dist/components/table/RsTableCellContent.d.ts +19 -0
- package/dist/components/table/RsTableCellContent.js +25 -0
- package/dist/components/table/RsTableCellEditor.d.ts +46 -0
- package/dist/components/table/RsTableCellEditor.impl.js +341 -0
- package/dist/components/table/RsTableCellEditor.js +5 -0
- package/dist/components/table/RsTableColGroup.d.ts +18 -0
- package/dist/components/table/RsTableColGroup.impl.js +58 -0
- package/dist/components/table/RsTableColGroup.js +5 -0
- package/dist/components/table/RsTableEditGutter.d.ts +17 -0
- package/dist/components/table/RsTableEditGutter.impl.js +52 -0
- package/dist/components/table/RsTableEditGutter.js +5 -0
- package/dist/components/table/RsTableHeader.d.ts +22 -0
- package/dist/components/table/RsTableHeader.impl.js +184 -0
- package/dist/components/table/RsTableHeader.js +5 -0
- package/dist/components/table/RsTableHeaderFilter.css +24 -0
- package/dist/components/table/RsTableHeaderFilter.d.ts +19 -0
- package/dist/components/table/RsTableHeaderFilter.impl.js +102 -0
- package/dist/components/table/RsTableHeaderFilter.js +8 -0
- package/dist/components/table/RsTableRowStatus.css +30 -0
- package/dist/components/table/RsTableRowStatus.d.ts +14 -0
- package/dist/components/table/RsTableRowStatus.impl.js +44 -0
- package/dist/components/table/RsTableRowStatus.js +8 -0
- package/dist/components/table/RsTableSummaryRow.d.ts +37 -0
- package/dist/components/table/RsTableSummaryRow.impl.js +57 -0
- package/dist/components/table/RsTableSummaryRow.js +5 -0
- package/dist/components/table/rs-table-api.d.ts +65 -0
- package/dist/components/table/rs-table-api.js +22 -0
- package/dist/components/table/rs-table-compat-matrix.d.ts +24 -0
- package/dist/components/table/rs-table-compat-matrix.js +64 -0
- package/dist/components/table/rs-table-echarts-adapter.d.ts +47 -0
- package/dist/components/table/rs-table-echarts-adapter.js +49 -0
- package/dist/components/table/rs-table-feature-host.d.ts +61 -0
- package/dist/components/table/rs-table-feature-host.js +97 -0
- package/dist/components/table/rs-table-grid-nav.d.ts +22 -0
- package/dist/components/table/rs-table-grid-nav.js +80 -0
- package/dist/components/table/rs-table-header-types.d.ts +45 -0
- package/dist/components/table/rs-table-module-registry.d.ts +37 -0
- package/dist/components/table/rs-table-module-registry.js +51 -0
- package/dist/components/table/rs-table-props.d.ts +315 -0
- package/dist/components/table/rs-table-props.js +64 -0
- package/dist/components/table/rs-table-view-context.d.ts +218 -0
- package/dist/components/table/rs-table-view-context.js +47 -0
- package/dist/components/table/table-chart-utils.d.ts +62 -0
- package/dist/components/table/table-chart-utils.js +91 -0
- package/dist/components/table/table-context-menu.d.ts +13 -0
- package/dist/components/table/table-context-menu.js +30 -0
- package/dist/components/table/table-edit-utils.d.ts +94 -0
- package/dist/components/table/table-edit-utils.js +282 -0
- package/dist/components/table/table-features.d.ts +149 -0
- package/dist/components/table/table-features.js +119 -0
- package/dist/components/table/table-keys.d.ts +5 -0
- package/dist/components/table/table-keys.js +6 -0
- package/dist/components/table/table-summary-utils.d.ts +90 -0
- package/dist/components/table/table-summary-utils.js +97 -0
- package/dist/components/table-drag.d.ts +39 -0
- package/dist/components/table-drag.js +130 -0
- package/dist/components/table-utils.d.ts +440 -0
- package/dist/components/table-utils.js +722 -0
- package/dist/components/tabs-utils.d.ts +71 -0
- package/dist/components/tabs-utils.js +147 -0
- package/dist/components/terminal-utils.d.ts +59 -0
- package/dist/components/terminal-utils.js +210 -0
- package/dist/components/terminal-wheel.d.ts +24 -0
- package/dist/components/terminal-wheel.js +42 -0
- package/dist/components/time-picker-utils.d.ts +51 -0
- package/dist/components/time-picker-utils.js +158 -0
- package/dist/components/time-range-validation.d.ts +11 -0
- package/dist/components/time-range-validation.js +15 -0
- package/dist/components/time-validation.d.ts +11 -0
- package/dist/components/time-validation.js +22 -0
- package/dist/components/tree-utils.d.ts +112 -0
- package/dist/components/tree-utils.js +310 -0
- package/dist/components/upload-utils.d.ts +26 -0
- package/dist/components/upload-utils.js +177 -0
- package/dist/components/use-rs-select.d.ts +78 -0
- package/dist/components/use-rs-select.js +266 -0
- package/dist/components/virtual-list-utils.d.ts +7 -0
- package/dist/components/virtual-list-utils.js +28 -0
- package/dist/composables/assembleRsTableApi.d.ts +34 -0
- package/dist/composables/assembleRsTableApi.js +26 -0
- package/dist/composables/bindRsTableViewContext.d.ts +73 -0
- package/dist/composables/bindRsTableViewContext.js +104 -0
- package/dist/composables/createRsDialog.d.ts +77 -0
- package/dist/composables/createRsDialog.js +263 -0
- package/dist/composables/createRsTableEditEmitBridge.d.ts +16 -0
- package/dist/composables/createRsTableEditEmitBridge.js +25 -0
- package/dist/composables/useClickOutside.d.ts +2 -0
- package/dist/composables/useRsConfig.d.ts +26 -0
- package/dist/composables/useRsConfig.js +55 -0
- package/dist/composables/useRsI18n.d.ts +9 -0
- package/dist/composables/useRsI18n.js +25 -0
- package/dist/composables/useRsLoadingBar.d.ts +13 -0
- package/dist/composables/useRsLoadingBar.js +30 -0
- package/dist/composables/useRsTable.d.ts +61 -0
- package/dist/composables/useRsTable.js +57 -0
- package/dist/composables/useRsTableA11y.d.ts +35 -0
- package/dist/composables/useRsTableA11y.js +34 -0
- package/dist/composables/useRsTableChartBridge.d.ts +37 -0
- package/dist/composables/useRsTableChartBridge.js +47 -0
- package/dist/composables/useRsTableColumnLayout.d.ts +75 -0
- package/dist/composables/useRsTableColumnLayout.js +250 -0
- package/dist/composables/useRsTableColumnResize.d.ts +35 -0
- package/dist/composables/useRsTableColumnResize.js +182 -0
- package/dist/composables/useRsTableColumnVirtual.d.ts +76 -0
- package/dist/composables/useRsTableColumnVirtual.js +116 -0
- package/dist/composables/useRsTableColumns.d.ts +70 -0
- package/dist/composables/useRsTableColumns.js +132 -0
- package/dist/composables/useRsTableContextMenu.d.ts +83 -0
- package/dist/composables/useRsTableContextMenu.js +152 -0
- package/dist/composables/useRsTableCore.d.ts +177 -0
- package/dist/composables/useRsTableCore.js +164 -0
- package/dist/composables/useRsTableEditActions.d.ts +129 -0
- package/dist/composables/useRsTableEditActions.js +376 -0
- package/dist/composables/useRsTableEditLayer.d.ts +228 -0
- package/dist/composables/useRsTableEditLayer.js +146 -0
- package/dist/composables/useRsTableEngine.d.ts +115 -0
- package/dist/composables/useRsTableEngine.js +225 -0
- package/dist/composables/useRsTableGridKeyboard.d.ts +38 -0
- package/dist/composables/useRsTableGridKeyboard.js +70 -0
- package/dist/composables/useRsTableHeadless.d.ts +138 -0
- package/dist/composables/useRsTableHeadless.js +105 -0
- package/dist/composables/useRsTableInteraction.d.ts +145 -0
- package/dist/composables/useRsTableInteraction.js +249 -0
- package/dist/composables/useRsTableScrollHost.d.ts +25 -0
- package/dist/composables/useRsTableScrollHost.js +42 -0
- package/dist/composables/useRsTableScrollLayout.d.ts +42 -0
- package/dist/composables/useRsTableScrollLayout.js +195 -0
- package/dist/composables/useRsTableSelectionSource.d.ts +38 -0
- package/dist/composables/useRsTableSelectionSource.js +57 -0
- package/dist/composables/useRsTableShell.d.ts +380 -0
- package/dist/composables/useRsTableShell.js +237 -0
- package/dist/composables/useRsTableShellChrome.d.ts +126 -0
- package/dist/composables/useRsTableShellChrome.js +110 -0
- package/dist/composables/useRsTableSummary.d.ts +44 -0
- package/dist/composables/useRsTableSummary.js +52 -0
- package/dist/composables/useRsTableViewProvide.d.ts +111 -0
- package/dist/composables/useRsTableViewProvide.js +93 -0
- package/dist/composables/useRsTableVirtual.d.ts +75 -0
- package/dist/composables/useRsTableVirtual.js +83 -0
- package/dist/composables/useRsTabsNav.d.ts +33 -0
- package/dist/composables/useRsTabsNav.js +137 -0
- package/dist/composables/useRsToast.d.ts +15 -0
- package/dist/composables/useRsToast.js +30 -0
- package/dist/composables/useTableCellTooltip.d.ts +28 -0
- package/dist/composables/useTableCellTooltip.js +177 -0
- package/dist/composables/useTableEdit.d.ts +63 -0
- package/dist/composables/useTableEdit.js +176 -0
- package/dist/composables/useTableRowHighlight.d.ts +14 -0
- package/dist/composables/useTableRowHighlight.js +35 -0
- package/dist/dev/vite-codemirror-deps.d.ts +20 -0
- package/dist/dev/vite-codemirror-deps.js +16 -0
- package/dist/dev/vite-xterm-deps.d.ts +8 -0
- package/dist/dev/vite-xterm-deps.js +3 -0
- package/dist/icons/custom/api.d.ts +37 -0
- package/dist/icons/custom/api.js +56 -0
- package/dist/icons/custom/clickhouse.d.ts +37 -0
- package/dist/icons/custom/clickhouse.js +61 -0
- package/dist/icons/custom/dameng.d.ts +37 -0
- package/dist/icons/custom/dameng.js +81 -0
- package/dist/icons/custom/ftp.d.ts +37 -0
- package/dist/icons/custom/ftp.js +62 -0
- package/dist/icons/custom/kingbase.d.ts +37 -0
- package/dist/icons/custom/kingbase.js +61 -0
- package/dist/icons/custom/mongodb.d.ts +37 -0
- package/dist/icons/custom/mongodb.js +59 -0
- package/dist/icons/custom/mysql.d.ts +37 -0
- package/dist/icons/custom/mysql.js +60 -0
- package/dist/icons/custom/oracle.d.ts +37 -0
- package/dist/icons/custom/oracle.js +61 -0
- package/dist/icons/custom/postgres.d.ts +37 -0
- package/dist/icons/custom/postgres.js +61 -0
- package/dist/icons/custom/redis.d.ts +38 -0
- package/dist/icons/custom/redis.js +60 -0
- package/dist/icons/custom/sqlite.d.ts +37 -0
- package/dist/icons/custom/sqlite.js +59 -0
- package/dist/icons/custom/sqlserver.d.ts +37 -0
- package/dist/icons/custom/sqlserver.js +61 -0
- package/dist/icons/custom/vastbase.d.ts +37 -0
- package/dist/icons/custom/vastbase.js +67 -0
- package/dist/icons/lucide.d.ts +7 -0
- package/dist/icons/lucide.js +74 -0
- package/dist/icons/registry.d.ts +3 -0
- package/dist/icons/registry.js +31 -0
- package/dist/index.d.ts +209 -0
- package/dist/index.js +156 -0
- package/dist/lib/iso-local-datetime.d.ts +17 -0
- package/dist/lib/iso-local-datetime.js +103 -0
- package/dist/lib/rs-dayjs.d.ts +15 -0
- package/dist/lib/rs-dayjs.js +41 -0
- package/dist/locale/interpolate.d.ts +14 -0
- package/dist/locale/interpolate.js +24 -0
- package/dist/locale/messages.d.ts +7 -0
- package/dist/locale/messages.js +407 -0
- package/dist/locale/types.d.ts +3 -0
- package/dist/locale/types.js +4 -0
- package/dist/monaco/debug-decorations.d.ts +21 -0
- package/dist/monaco/debug-decorations2.js +44 -0
- package/dist/monaco/index.d.ts +5 -0
- package/dist/monaco/languages/index.d.ts +3 -0
- package/dist/monaco/languages/mongodb-shell.d.ts +7 -0
- package/dist/monaco/languages/mongodb-shell.js +222 -0
- package/dist/monaco/languages/types.d.ts +30 -0
- package/dist/monaco/languages/types.js +25 -0
- package/dist/monaco/setup.d.ts +9 -0
- package/dist/monaco/setup.js +53 -0
- package/dist/styles.css +2005 -0
- package/dist/theme/apply.d.ts +6 -0
- package/dist/theme/apply.js +10 -0
- package/dist/theme/css-token.d.ts +27 -0
- package/dist/theme/css-token.js +72 -0
- package/dist/theme/presets.d.ts +7 -0
- package/dist/theme/presets.js +74 -0
- package/dist/theme/types.d.ts +97 -0
- package/dist/theme/types.js +65 -0
- package/dist/utils/rs-clipboard.d.ts +17 -0
- package/dist/utils/rs-clipboard.js +187 -0
- package/dist/vite-plugins/monaco-zh-nls.d.ts +2 -0
- package/dist/vite-plugins/monaco-zh-nls.js +92 -0
- package/dist/vite-plugins/silence-antlr-parse-console.d.ts +9 -0
- package/dist/vite-plugins/silence-antlr-parse-console.js +26 -0
- package/package.json +38 -15
- package/src/__tests__/RsBadge.spec.ts +0 -40
- package/src/__tests__/RsBreadcrumb.spec.ts +0 -172
- package/src/__tests__/RsButton.spec.ts +0 -188
- package/src/__tests__/RsCalendarGrid.spec.ts +0 -101
- package/src/__tests__/RsCard.spec.ts +0 -256
- package/src/__tests__/RsCheckbox.spec.ts +0 -36
- package/src/__tests__/RsCodeEditor.spec.ts +0 -111
- package/src/__tests__/RsConfirmDialog.spec.ts +0 -285
- package/src/__tests__/RsContainer.spec.ts +0 -89
- package/src/__tests__/RsContextMenu.spec.ts +0 -130
- package/src/__tests__/RsDatePicker.spec.ts +0 -109
- package/src/__tests__/RsDateTimePicker.spec.ts +0 -80
- package/src/__tests__/RsDescriptions.spec.ts +0 -50
- package/src/__tests__/RsDialog.spec.ts +0 -595
- package/src/__tests__/RsDrawer.spec.ts +0 -292
- package/src/__tests__/RsDropdown.spec.ts +0 -135
- package/src/__tests__/RsDynamicTags.spec.ts +0 -52
- package/src/__tests__/RsEmpty.spec.ts +0 -99
- package/src/__tests__/RsForm.spec.ts +0 -417
- package/src/__tests__/RsFormItem.spec.ts +0 -478
- package/src/__tests__/RsFormList.spec.ts +0 -109
- package/src/__tests__/RsIcon.spec.ts +0 -258
- package/src/__tests__/RsInput.spec.ts +0 -377
- package/src/__tests__/RsInputNumber.spec.ts +0 -151
- package/src/__tests__/RsLabel.spec.ts +0 -106
- package/src/__tests__/RsLink.spec.ts +0 -49
- package/src/__tests__/RsLoading.spec.ts +0 -84
- package/src/__tests__/RsMarkdown.spec.ts +0 -180
- package/src/__tests__/RsMenu.spec.ts +0 -511
- package/src/__tests__/RsNewComponents.spec.ts +0 -17
- package/src/__tests__/RsPagination.spec.ts +0 -223
- package/src/__tests__/RsPopover.spec.ts +0 -140
- package/src/__tests__/RsScrollbar.spec.ts +0 -53
- package/src/__tests__/RsSelect.spec.ts +0 -850
- package/src/__tests__/RsSidebar.spec.ts +0 -119
- package/src/__tests__/RsSplitPane.spec.ts +0 -177
- package/src/__tests__/RsStatCard.spec.ts +0 -79
- package/src/__tests__/RsSteps.spec.ts +0 -125
- package/src/__tests__/RsSwitch.spec.ts +0 -74
- package/src/__tests__/RsTable.a11y.spec.ts +0 -83
- package/src/__tests__/RsTable.dom-baseline.spec.ts +0 -87
- package/src/__tests__/RsTable.perf.spec.ts +0 -122
- package/src/__tests__/RsTable.spec.ts +0 -1207
- package/src/__tests__/RsTable.ssr.spec.ts +0 -71
- package/src/__tests__/RsTable.summary.spec.ts +0 -45
- package/src/__tests__/RsTabs.spec.ts +0 -426
- package/src/__tests__/RsTerminal.spec.ts +0 -218
- package/src/__tests__/RsTimePicker.spec.ts +0 -97
- package/src/__tests__/RsToaster.spec.ts +0 -95
- package/src/__tests__/RsToolbar.spec.ts +0 -75
- package/src/__tests__/RsTooltip.spec.ts +0 -154
- package/src/__tests__/RsTree.spec.ts +0 -573
- package/src/__tests__/RsUpload.spec.ts +0 -216
- package/src/__tests__/RsVirtualList.spec.ts +0 -77
- package/src/__tests__/createRsDialog.spec.ts +0 -158
- package/src/__tests__/css-token.spec.ts +0 -51
- package/src/__tests__/date-picker-utils.spec.ts +0 -119
- package/src/__tests__/dialog-utils.spec.ts +0 -43
- package/src/__tests__/dialog-viewport.spec.ts +0 -38
- package/src/__tests__/form-path.spec.ts +0 -46
- package/src/__tests__/form-rules.spec.ts +0 -139
- package/src/__tests__/iso-local-datetime.spec.ts +0 -58
- package/src/__tests__/perf-budgets.ts +0 -32
- package/src/__tests__/rs-clipboard.spec.ts +0 -142
- package/src/__tests__/rs-select-model.types.spec.ts +0 -28
- package/src/__tests__/rs-table-api.spec.ts +0 -206
- package/src/__tests__/rs-table-compat-matrix.spec.ts +0 -108
- package/src/__tests__/rs-table-echarts-adapter.spec.ts +0 -43
- package/src/__tests__/rs-table-grid-nav.spec.ts +0 -63
- package/src/__tests__/rs-table-isolation.spec.ts +0 -158
- package/src/__tests__/rs-table-slots.types.spec.ts +0 -20
- package/src/__tests__/setup.ts +0 -12
- package/src/__tests__/split-pane-utils.spec.ts +0 -157
- package/src/__tests__/table-chart-utils.spec.ts +0 -88
- package/src/__tests__/table-drag.spec.ts +0 -35
- package/src/__tests__/table-edit-utils.spec.ts +0 -194
- package/src/__tests__/table-summary-utils.spec.ts +0 -62
- package/src/__tests__/table-utils.spec.ts +0 -410
- package/src/__tests__/theme.spec.ts +0 -49
- package/src/__tests__/tree-utils.spec.ts +0 -234
- package/src/__tests__/useRsTableColumnResize.spec.ts +0 -25
- package/src/__tests__/useRsTableCore.perf.spec.ts +0 -170
- package/src/__tests__/useTableCellTooltip.spec.ts +0 -101
- package/src/components/RsAlert.vue +0 -212
- package/src/components/RsAvatar.vue +0 -115
- package/src/components/RsBadge.vue +0 -59
- package/src/components/RsBreadcrumb.vue +0 -65
- package/src/components/RsBreadcrumbItems.vue +0 -36
- package/src/components/RsButton.vue +0 -596
- package/src/components/RsCalendarGrid.vue +0 -318
- package/src/components/RsCard.vue +0 -421
- package/src/components/RsCheckbox.vue +0 -189
- package/src/components/RsCodeBlock.vue +0 -327
- package/src/components/RsCodeEditor.vue +0 -597
- package/src/components/RsConfigProvider.vue +0 -92
- package/src/components/RsConfirmDialog.vue +0 -365
- package/src/components/RsContainer.vue +0 -235
- package/src/components/RsContextMenu.vue +0 -277
- package/src/components/RsContextMenuItems.vue +0 -77
- package/src/components/RsDatePicker.vue +0 -1033
- package/src/components/RsDateTimePicker.vue +0 -67
- package/src/components/RsDescriptions.vue +0 -186
- package/src/components/RsDescriptionsItem.vue +0 -32
- package/src/components/RsDialog.vue +0 -813
- package/src/components/RsDivider.vue +0 -89
- package/src/components/RsDrawer.vue +0 -979
- package/src/components/RsDropdown.vue +0 -283
- package/src/components/RsDropdownItems.vue +0 -90
- package/src/components/RsDynamicTags.vue +0 -531
- package/src/components/RsEmpty.vue +0 -107
- package/src/components/RsForm.vue +0 -287
- package/src/components/RsFormItem.vue +0 -423
- package/src/components/RsFormItemControl.vue +0 -21
- package/src/components/RsFormList.vue +0 -117
- package/src/components/RsIcon.vue +0 -104
- package/src/components/RsInput.vue +0 -1508
- package/src/components/RsInputNumber.vue +0 -582
- package/src/components/RsLabel.vue +0 -69
- package/src/components/RsLink.vue +0 -106
- package/src/components/RsLoading.vue +0 -171
- package/src/components/RsLoadingBar.vue +0 -151
- package/src/components/RsMarkdown.vue +0 -348
- package/src/components/RsMenu.vue +0 -314
- package/src/components/RsMenuItems.vue +0 -263
- package/src/components/RsMonacoEditor.vue +0 -567
- package/src/components/RsPagination.vue +0 -263
- package/src/components/RsPopover.vue +0 -79
- package/src/components/RsProseEditor.vue +0 -160
- package/src/components/RsRadio.vue +0 -81
- package/src/components/RsRadioItem.vue +0 -156
- package/src/components/RsScrollbar.vue +0 -171
- package/src/components/RsSelect.vue +0 -786
- package/src/components/RsSidebar.vue +0 -121
- package/src/components/RsSidebarGroup.vue +0 -32
- package/src/components/RsSidebarItem.vue +0 -72
- package/src/components/RsSplitPane.vue +0 -714
- package/src/components/RsStatCard.vue +0 -85
- package/src/components/RsSteps.vue +0 -138
- package/src/components/RsSwitch.vue +0 -192
- package/src/components/RsTable.vue +0 -762
- package/src/components/RsTabs.vue +0 -1283
- package/src/components/RsTag.vue +0 -191
- package/src/components/RsTerminal.vue +0 -840
- package/src/components/RsTimePicker.vue +0 -617
- package/src/components/RsTimePickerColumns.vue +0 -285
- package/src/components/RsToaster.vue +0 -436
- package/src/components/RsToolbar.vue +0 -135
- package/src/components/RsTooltip.vue +0 -151
- package/src/components/RsTooltipProvider.vue +0 -30
- package/src/components/RsTree.vue +0 -1270
- package/src/components/RsUpload.vue +0 -412
- package/src/components/RsVNodeHost.vue +0 -20
- package/src/components/RsVirtualList.vue +0 -217
- package/src/components/avatar-utils.ts +0 -19
- package/src/components/breadcrumb-utils.ts +0 -19
- package/src/components/button-utils.ts +0 -39
- package/src/components/class-utils.ts +0 -29
- package/src/components/code-editor-utils.ts +0 -106
- package/src/components/code-mirror-completion.ts +0 -40
- package/src/components/code-mirror-diagnostics.ts +0 -52
- package/src/components/code-mirror-ghost.ts +0 -158
- package/src/components/code-mirror-inline-edit.ts +0 -55
- package/src/components/code-mirror-intel.ts +0 -81
- package/src/components/code-mirror-lang.ts +0 -128
- package/src/components/context-menu-utils.ts +0 -26
- package/src/components/date-picker-utils.ts +0 -475
- package/src/components/date-range-validation.ts +0 -29
- package/src/components/date-validation.ts +0 -38
- package/src/components/descriptions-utils.ts +0 -24
- package/src/components/dialog-utils.ts +0 -183
- package/src/components/dialog-viewport.ts +0 -48
- package/src/components/dialog-window.ts +0 -318
- package/src/components/drawer-utils.ts +0 -109
- package/src/components/dropdown-utils.ts +0 -31
- package/src/components/form-item-control.ts +0 -55
- package/src/components/form-path.ts +0 -92
- package/src/components/form-rules.ts +0 -311
- package/src/components/form-utils.ts +0 -219
- package/src/components/input-number-utils.ts +0 -128
- package/src/components/input-rules.ts +0 -84
- package/src/components/loading-utils.ts +0 -8
- package/src/components/markdown-utils.ts +0 -174
- package/src/components/menu-utils.ts +0 -59
- package/src/components/overlay-utils.ts +0 -50
- package/src/components/pagination-utils.ts +0 -38
- package/src/components/popover-utils.ts +0 -8
- package/src/components/radio-utils.ts +0 -12
- package/src/components/reka.ts +0 -111
- package/src/components/resolve-radius.ts +0 -22
- package/src/components/resolve-size.ts +0 -29
- package/src/components/scrollbar-utils.ts +0 -10
- package/src/components/select-utils.ts +0 -372
- package/src/components/split-pane-utils.ts +0 -254
- package/src/components/steps-utils.ts +0 -22
- package/src/components/table/RsTableBody.vue +0 -217
- package/src/components/table/RsTableBodyRow.vue +0 -376
- package/src/components/table/RsTableCell.vue +0 -239
- package/src/components/table/RsTableCellContent.ts +0 -18
- package/src/components/table/RsTableCellEditor.vue +0 -352
- package/src/components/table/RsTableColGroup.vue +0 -41
- package/src/components/table/RsTableEditGutter.vue +0 -54
- package/src/components/table/RsTableHeader.vue +0 -158
- package/src/components/table/RsTableHeaderFilter.vue +0 -107
- package/src/components/table/RsTableRowStatus.vue +0 -69
- package/src/components/table/RsTableSummaryRow.vue +0 -52
- package/src/components/table/rs-table-api.ts +0 -99
- package/src/components/table/rs-table-compat-matrix.ts +0 -71
- package/src/components/table/rs-table-echarts-adapter.ts +0 -81
- package/src/components/table/rs-table-feature-host.ts +0 -178
- package/src/components/table/rs-table-grid-nav.ts +0 -122
- package/src/components/table/rs-table-header-types.ts +0 -47
- package/src/components/table/rs-table-module-registry.ts +0 -72
- package/src/components/table/rs-table-props.ts +0 -340
- package/src/components/table/rs-table-view-context.ts +0 -258
- package/src/components/table/table-chart-utils.ts +0 -165
- package/src/components/table/table-context-menu.ts +0 -53
- package/src/components/table/table-edit-utils.ts +0 -496
- package/src/components/table/table-features.ts +0 -284
- package/src/components/table/table-keys.ts +0 -12
- package/src/components/table/table-summary-utils.ts +0 -194
- package/src/components/table-drag.ts +0 -215
- package/src/components/table-utils.ts +0 -1400
- package/src/components/tabs-utils.ts +0 -247
- package/src/components/terminal-utils.ts +0 -323
- package/src/components/terminal-wheel.ts +0 -74
- package/src/components/time-picker-utils.ts +0 -240
- package/src/components/time-range-validation.ts +0 -23
- package/src/components/time-validation.ts +0 -20
- package/src/components/tree-utils.ts +0 -518
- package/src/components/upload-utils.ts +0 -177
- package/src/components/use-rs-select.ts +0 -451
- package/src/components/virtual-list-utils.ts +0 -30
- package/src/composables/assembleRsTableApi.ts +0 -79
- package/src/composables/bindRsTableViewContext.ts +0 -269
- package/src/composables/createRsDialog.ts +0 -408
- package/src/composables/createRsTableEditEmitBridge.ts +0 -38
- package/src/composables/useClickOutside.ts +0 -22
- package/src/composables/useRsConfig.ts +0 -98
- package/src/composables/useRsI18n.ts +0 -33
- package/src/composables/useRsLoadingBar.ts +0 -36
- package/src/composables/useRsTable.ts +0 -134
- package/src/composables/useRsTableA11y.ts +0 -52
- package/src/composables/useRsTableChartBridge.ts +0 -79
- package/src/composables/useRsTableColumnLayout.ts +0 -320
- package/src/composables/useRsTableColumnResize.ts +0 -244
- package/src/composables/useRsTableColumnVirtual.ts +0 -180
- package/src/composables/useRsTableColumns.ts +0 -200
- package/src/composables/useRsTableContextMenu.ts +0 -257
- package/src/composables/useRsTableCore.ts +0 -258
- package/src/composables/useRsTableEditActions.ts +0 -606
- package/src/composables/useRsTableEditLayer.ts +0 -251
- package/src/composables/useRsTableEngine.ts +0 -357
- package/src/composables/useRsTableGridKeyboard.ts +0 -123
- package/src/composables/useRsTableHeadless.ts +0 -145
- package/src/composables/useRsTableInteraction.ts +0 -433
- package/src/composables/useRsTableScrollHost.ts +0 -75
- package/src/composables/useRsTableScrollLayout.ts +0 -255
- package/src/composables/useRsTableSelectionSource.ts +0 -89
- package/src/composables/useRsTableShell.ts +0 -416
- package/src/composables/useRsTableShellChrome.ts +0 -170
- package/src/composables/useRsTableSummary.ts +0 -113
- package/src/composables/useRsTableViewProvide.ts +0 -263
- package/src/composables/useRsTableVirtual.ts +0 -154
- package/src/composables/useRsTabsNav.ts +0 -191
- package/src/composables/useRsToast.ts +0 -48
- package/src/composables/useTableCellTooltip.ts +0 -240
- package/src/composables/useTableEdit.ts +0 -271
- package/src/composables/useTableRowHighlight.ts +0 -50
- package/src/dev/vite-codemirror-deps.ts +0 -20
- package/src/dev/vite-xterm-deps.ts +0 -8
- package/src/icons/custom/api.ts +0 -54
- package/src/icons/custom/clickhouse.ts +0 -52
- package/src/icons/custom/dameng.ts +0 -83
- package/src/icons/custom/ftp.ts +0 -61
- package/src/icons/custom/kingbase.ts +0 -52
- package/src/icons/custom/mongodb.ts +0 -50
- package/src/icons/custom/mysql.ts +0 -51
- package/src/icons/custom/oracle.ts +0 -52
- package/src/icons/custom/postgres.ts +0 -52
- package/src/icons/custom/redis.ts +0 -51
- package/src/icons/custom/sqlite.ts +0 -50
- package/src/icons/custom/sqlserver.ts +0 -52
- package/src/icons/custom/vastbase.ts +0 -57
- package/src/icons/lucide.ts +0 -94
- package/src/icons/registry.ts +0 -35
- package/src/index.ts +0 -813
- package/src/lib/iso-local-datetime.ts +0 -152
- package/src/lib/rs-dayjs.ts +0 -56
- package/src/locale/interpolate.ts +0 -32
- package/src/locale/messages.ts +0 -408
- package/src/locale/types.ts +0 -5
- package/src/monaco/debug-decorations.ts +0 -70
- package/src/monaco/index.ts +0 -23
- package/src/monaco/languages/index.ts +0 -22
- package/src/monaco/languages/mongodb-shell.ts +0 -125
- package/src/monaco/languages/types.ts +0 -59
- package/src/monaco/setup.ts +0 -101
- package/src/styles.css +0 -1364
- package/src/theme/apply.ts +0 -12
- package/src/theme/css-token.ts +0 -107
- package/src/theme/presets.ts +0 -73
- package/src/theme/types.ts +0 -149
- package/src/utils/rs-clipboard.ts +0 -272
- package/src/vite-env.d.ts +0 -7
- package/vite-plugins/monaco-zh-nls.ts +0 -101
- package/vite-plugins/silence-antlr-parse-console.ts +0 -29
- /package/{src → dist}/components/table/rs-table.css +0 -0
- /package/{src → dist}/monaco/debug-decorations.css +0 -0
- /package/{src → dist}/theme/brand.example.css +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { resolveDialogOverlayStyle, runRsDialogBeforeClose } from "./dialog-utils.js";
|
|
2
|
+
//#region src/components/drawer-utils.ts
|
|
3
|
+
var SIZE_INLINE = {
|
|
4
|
+
sm: "20rem",
|
|
5
|
+
md: "28rem",
|
|
6
|
+
lg: "36rem"
|
|
7
|
+
};
|
|
8
|
+
/** 左右抽屉默认可拖最小宽度 */
|
|
9
|
+
var RS_DRAWER_MIN_SIZE_PX = 256;
|
|
10
|
+
/** 相对视口的默认可拖上限比例 */
|
|
11
|
+
var RS_DRAWER_MAX_VIEWPORT_RATIO = .9;
|
|
12
|
+
/** 将 size 预设解析为 CSS 长度(full 由样式类处理) */
|
|
13
|
+
function resolveRsDrawerSizeCss(size) {
|
|
14
|
+
if (size === "full") return void 0;
|
|
15
|
+
return SIZE_INLINE[size];
|
|
16
|
+
}
|
|
17
|
+
/** 将自定义 width/height 规范为 CSS 长度 */
|
|
18
|
+
function resolveRsDrawerDimensionCss(value) {
|
|
19
|
+
if (value == null) return void 0;
|
|
20
|
+
if (typeof value === "number") {
|
|
21
|
+
if (!Number.isFinite(value) || value <= 0) return void 0;
|
|
22
|
+
return `${value}px`;
|
|
23
|
+
}
|
|
24
|
+
return String(value).trim() || void 0;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* 将抽屉尺寸表达式解析为像素,供拖拽缩放夹紧。
|
|
28
|
+
* 无法解析时返回 fallbackPx。
|
|
29
|
+
*/
|
|
30
|
+
function resolveRsDrawerSizePx(value, fallbackPx, rootFontPx, viewportPx) {
|
|
31
|
+
if (value == null) return fallbackPx;
|
|
32
|
+
if (typeof value === "number") return Number.isFinite(value) && value > 0 ? value : fallbackPx;
|
|
33
|
+
const trimmed = String(value).trim();
|
|
34
|
+
const n = Number.parseFloat(trimmed);
|
|
35
|
+
if (!Number.isFinite(n)) return fallbackPx;
|
|
36
|
+
if (trimmed.endsWith("rem")) return n * rootFontPx;
|
|
37
|
+
if (trimmed.endsWith("%") || trimmed.endsWith("vw") || trimmed.endsWith("vh")) return n / 100 * viewportPx;
|
|
38
|
+
return n;
|
|
39
|
+
}
|
|
40
|
+
/** 将拖拽得到的尺寸夹在 min/max 之间并取整。 */
|
|
41
|
+
function clampRsDrawerSize(px, minPx, maxPx) {
|
|
42
|
+
return Math.round(Math.min(Math.max(minPx, maxPx), Math.max(Math.min(minPx, maxPx), px)));
|
|
43
|
+
}
|
|
44
|
+
function runRsDrawerBeforeClose(beforeClose, reason) {
|
|
45
|
+
return runRsDialogBeforeClose(beforeClose, reason);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 遮罩样式:复用 Dialog 的 opacity/blur 解析,写入抽屉专用 CSS 变量。
|
|
49
|
+
*/
|
|
50
|
+
function resolveDrawerOverlayStyle(options) {
|
|
51
|
+
const dialogStyle = resolveDialogOverlayStyle(options);
|
|
52
|
+
if (!dialogStyle) return void 0;
|
|
53
|
+
const style = {};
|
|
54
|
+
if (dialogStyle["--rs-dialog-overlay-bg"]) style["--rs-drawer-overlay-bg"] = dialogStyle["--rs-dialog-overlay-bg"];
|
|
55
|
+
if (dialogStyle["--rs-dialog-overlay-blur"]) style["--rs-drawer-overlay-blur"] = dialogStyle["--rs-dialog-overlay-blur"];
|
|
56
|
+
return Object.keys(style).length ? style : void 0;
|
|
57
|
+
}
|
|
58
|
+
//#endregion
|
|
59
|
+
export { RS_DRAWER_MAX_VIEWPORT_RATIO, RS_DRAWER_MIN_SIZE_PX, clampRsDrawerSize, resolveDrawerOverlayStyle, resolveRsDrawerDimensionCss, resolveRsDrawerSizeCss, resolveRsDrawerSizePx, runRsDrawerBeforeClose };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface RsDropdownItem {
|
|
2
|
+
label: string;
|
|
3
|
+
value: string;
|
|
4
|
+
icon?: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface RsDropdownItemGroup {
|
|
8
|
+
label: string;
|
|
9
|
+
options: RsDropdownItem[];
|
|
10
|
+
}
|
|
11
|
+
export type RsDropdownItems = RsDropdownItem[] | RsDropdownItemGroup[];
|
|
12
|
+
export declare function isDropdownItemGroup(item: RsDropdownItem | RsDropdownItemGroup): item is RsDropdownItemGroup;
|
|
13
|
+
export declare function flattenDropdownItems(items: RsDropdownItems): RsDropdownItem[];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/components/dropdown-utils.ts
|
|
2
|
+
function isDropdownItemGroup(item) {
|
|
3
|
+
return "options" in item && Array.isArray(item.options);
|
|
4
|
+
}
|
|
5
|
+
function flattenDropdownItems(items) {
|
|
6
|
+
const result = [];
|
|
7
|
+
for (const item of items) if (isDropdownItemGroup(item)) result.push(...item.options);
|
|
8
|
+
else result.push(item);
|
|
9
|
+
return result;
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { flattenDropdownItems, isDropdownItemGroup };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type VNode } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* 把 Form.Item 的 id / aria / invalid / v-model 注入到默认插槽的第一个控件(对齐 Ant cloneElement)。
|
|
4
|
+
* 只有这个直接子节点跟 Item 的 error;子孙里的搜索框不吃 invalid。
|
|
5
|
+
* 子节点已绑定 v-model 时不覆盖(switch Y/N、select 类型映射等)。
|
|
6
|
+
*/
|
|
7
|
+
export declare function bindFormItemControl(children: VNode[] | undefined, extra: Record<string, unknown>): VNode[] | undefined;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Comment, Fragment, Text, cloneVNode, isVNode } from "vue";
|
|
2
|
+
//#region src/components/form-item-control.ts
|
|
3
|
+
function flattenVNodes(nodes, out = []) {
|
|
4
|
+
for (const node of nodes) {
|
|
5
|
+
if (node == null || typeof node === "boolean") continue;
|
|
6
|
+
if (Array.isArray(node)) {
|
|
7
|
+
flattenVNodes(node, out);
|
|
8
|
+
continue;
|
|
9
|
+
}
|
|
10
|
+
if (!isVNode(node)) continue;
|
|
11
|
+
if (node.type === Fragment && Array.isArray(node.children)) {
|
|
12
|
+
flattenVNodes(node.children, out);
|
|
13
|
+
continue;
|
|
14
|
+
}
|
|
15
|
+
out.push(node);
|
|
16
|
+
}
|
|
17
|
+
return out;
|
|
18
|
+
}
|
|
19
|
+
function isControlVNode(node) {
|
|
20
|
+
if (node.type === Comment || node.type === Text) return false;
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 把 Form.Item 的 id / aria / invalid / v-model 注入到默认插槽的第一个控件(对齐 Ant cloneElement)。
|
|
25
|
+
* 只有这个直接子节点跟 Item 的 error;子孙里的搜索框不吃 invalid。
|
|
26
|
+
* 子节点已绑定 v-model 时不覆盖(switch Y/N、select 类型映射等)。
|
|
27
|
+
*/
|
|
28
|
+
function bindFormItemControl(children, extra) {
|
|
29
|
+
if (!children?.length) return children;
|
|
30
|
+
const flat = flattenVNodes(children);
|
|
31
|
+
const index = flat.findIndex(isControlVNode);
|
|
32
|
+
if (index < 0) return children;
|
|
33
|
+
const target = flat[index];
|
|
34
|
+
if (!target) return children;
|
|
35
|
+
const next = flat.slice();
|
|
36
|
+
next[index] = cloneVNode(target, pickControlInject(target, extra), true);
|
|
37
|
+
return next;
|
|
38
|
+
}
|
|
39
|
+
function pickControlInject(node, extra) {
|
|
40
|
+
const props = node.props;
|
|
41
|
+
if (!props || !("modelValue" in props || "onUpdate:modelValue" in props)) return extra;
|
|
42
|
+
const { modelValue: _model, "onUpdate:modelValue": _update, ...rest } = extra;
|
|
43
|
+
return rest;
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
export { bindFormItemControl };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** 字段路径:`'user.email'` 或 `['user', 'email']`(对齐 Ant Design NamePath) */
|
|
2
|
+
export type RsFormNamePath = string | Array<string | number>;
|
|
3
|
+
/** 路径段是否为数组下标(Form.List 相对 name 的第一段)。 */
|
|
4
|
+
export declare function isIndexSegment(seg: string | number): boolean;
|
|
5
|
+
/**
|
|
6
|
+
* 将 NamePath 规范为路径段。字符串按 `.` 拆分。
|
|
7
|
+
*/
|
|
8
|
+
export declare function normalizeNamePath(name?: RsFormNamePath | null): Array<string | number>;
|
|
9
|
+
/**
|
|
10
|
+
* 拼接多段 NamePath(List 前缀 + Item name)。
|
|
11
|
+
*/
|
|
12
|
+
export declare function concatNamePath(...parts: Array<RsFormNamePath | undefined | null>): Array<string | number>;
|
|
13
|
+
/**
|
|
14
|
+
* 路径转 rules / DOM 使用的稳定键。
|
|
15
|
+
*/
|
|
16
|
+
export declare function namePathKey(name?: RsFormNamePath | null): string;
|
|
17
|
+
/**
|
|
18
|
+
* 路径是否已存在于对象树上(含值为 null / undefined 的叶子)。
|
|
19
|
+
*/
|
|
20
|
+
export declare function hasByNamePath(source: unknown, name?: RsFormNamePath | null): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* 按 NamePath 读取对象字段。
|
|
23
|
+
*/
|
|
24
|
+
export declare function getByNamePath(source: unknown, name?: RsFormNamePath | null): unknown;
|
|
25
|
+
/**
|
|
26
|
+
* 按 NamePath 写入对象字段。
|
|
27
|
+
* 中间缺失的容器按下一段是否为下标补 `[]` 或 `{}`,已有数组不会被覆盖成对象。
|
|
28
|
+
*/
|
|
29
|
+
export declare function setByNamePath(target: Record<string, unknown>, name: RsFormNamePath, value: unknown): void;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
//#region src/components/form-path.ts
|
|
2
|
+
/** 路径段是否为数组下标(Form.List 相对 name 的第一段)。 */
|
|
3
|
+
function isIndexSegment(seg) {
|
|
4
|
+
if (typeof seg === "number") return Number.isInteger(seg) && seg >= 0;
|
|
5
|
+
return /^\d+$/.test(seg);
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* 将 NamePath 规范为路径段。字符串按 `.` 拆分。
|
|
9
|
+
*/
|
|
10
|
+
function normalizeNamePath(name) {
|
|
11
|
+
if (name == null || name === "") return [];
|
|
12
|
+
if (Array.isArray(name)) return name.filter((seg) => seg !== "");
|
|
13
|
+
return String(name).split(".").filter((seg) => seg !== "");
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 拼接多段 NamePath(List 前缀 + Item name)。
|
|
17
|
+
*/
|
|
18
|
+
function concatNamePath(...parts) {
|
|
19
|
+
return parts.flatMap((part) => normalizeNamePath(part));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 路径转 rules / DOM 使用的稳定键。
|
|
23
|
+
*/
|
|
24
|
+
function namePathKey(name) {
|
|
25
|
+
return normalizeNamePath(name).map(String).join(".");
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* 路径是否已存在于对象树上(含值为 null / undefined 的叶子)。
|
|
29
|
+
*/
|
|
30
|
+
function hasByNamePath(source, name) {
|
|
31
|
+
const keys = normalizeNamePath(name);
|
|
32
|
+
if (!keys.length) return false;
|
|
33
|
+
let current = source;
|
|
34
|
+
for (const key of keys) {
|
|
35
|
+
if (current == null || typeof current !== "object") return false;
|
|
36
|
+
if (!Object.prototype.hasOwnProperty.call(current, String(key))) return false;
|
|
37
|
+
current = current[String(key)];
|
|
38
|
+
}
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 按 NamePath 读取对象字段。
|
|
43
|
+
*/
|
|
44
|
+
function getByNamePath(source, name) {
|
|
45
|
+
const keys = normalizeNamePath(name);
|
|
46
|
+
if (!keys.length) return void 0;
|
|
47
|
+
let current = source;
|
|
48
|
+
for (const key of keys) {
|
|
49
|
+
if (current == null || typeof current !== "object") return void 0;
|
|
50
|
+
current = current[String(key)];
|
|
51
|
+
}
|
|
52
|
+
return current;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* 按 NamePath 写入对象字段。
|
|
56
|
+
* 中间缺失的容器按下一段是否为下标补 `[]` 或 `{}`,已有数组不会被覆盖成对象。
|
|
57
|
+
*/
|
|
58
|
+
function setByNamePath(target, name, value) {
|
|
59
|
+
const keys = normalizeNamePath(name);
|
|
60
|
+
if (!keys.length) return;
|
|
61
|
+
let current = target;
|
|
62
|
+
for (let i = 0; i < keys.length - 1; i += 1) {
|
|
63
|
+
if (current == null || typeof current !== "object") return;
|
|
64
|
+
const obj = current;
|
|
65
|
+
const key = String(keys[i]);
|
|
66
|
+
const nextKey = keys[i + 1];
|
|
67
|
+
let next = obj[key];
|
|
68
|
+
if (next == null || typeof next !== "object") {
|
|
69
|
+
next = isIndexSegment(nextKey) ? [] : {};
|
|
70
|
+
obj[key] = next;
|
|
71
|
+
}
|
|
72
|
+
current = next;
|
|
73
|
+
}
|
|
74
|
+
if (current == null || typeof current !== "object") return;
|
|
75
|
+
current[String(keys[keys.length - 1])] = value;
|
|
76
|
+
}
|
|
77
|
+
//#endregion
|
|
78
|
+
export { concatNamePath, getByNamePath, hasByNamePath, isIndexSegment, namePathKey, normalizeNamePath, setByNamePath };
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { type RsTranslateFn } from '../locale/interpolate';
|
|
2
|
+
import type { RsFormNamePath } from './form-path';
|
|
3
|
+
import { type RsInputRule } from './input-rules';
|
|
4
|
+
/** 校验触发时机(对齐 Ant Design Form) */
|
|
5
|
+
export type RsFormRuleTrigger = 'blur' | 'change' | 'submit';
|
|
6
|
+
/**
|
|
7
|
+
* validator 第二参:读取整表数据,供跨字段校验(B 依赖 A)。
|
|
8
|
+
*/
|
|
9
|
+
export interface RsFormValidatorContext {
|
|
10
|
+
name?: string;
|
|
11
|
+
getFieldValue: (name: RsFormNamePath) => unknown;
|
|
12
|
+
getFieldsValue: () => Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 单条表单规则(声明式 + 自定义校验)。
|
|
16
|
+
* 对标 Ant Design / Element Plus Form rules 的常用子集。
|
|
17
|
+
*/
|
|
18
|
+
/** 规则文案:静态字符串,或按当前值动态生成(对齐 Ant Design message 函数能力) */
|
|
19
|
+
export type RsFormRuleMessage = string | ((ctx: {
|
|
20
|
+
value: unknown;
|
|
21
|
+
rule: RsFormRuleItem;
|
|
22
|
+
}) => string);
|
|
23
|
+
export interface RsFormRuleItem {
|
|
24
|
+
required?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* 错误文案;未传时使用内置 i18n。
|
|
27
|
+
* 可传函数按当前值动态生成文案。
|
|
28
|
+
*/
|
|
29
|
+
message?: RsFormRuleMessage;
|
|
30
|
+
/** 字符串长度下限 / 数值下限 */
|
|
31
|
+
min?: number;
|
|
32
|
+
/** 字符串长度上限 / 数值上限 */
|
|
33
|
+
max?: number;
|
|
34
|
+
/** 字符串精确长度 */
|
|
35
|
+
len?: number;
|
|
36
|
+
pattern?: RegExp;
|
|
37
|
+
/** 内置类型:email/phone 等,或 string/number/array */
|
|
38
|
+
type?: RsInputRule | 'string' | 'number' | 'array';
|
|
39
|
+
/**
|
|
40
|
+
* 自定义校验。返回 true 通过;false / 字符串为失败;支持 Promise。
|
|
41
|
+
* 第二参可读取其它字段(`getFieldValue` / `getFieldsValue`)。
|
|
42
|
+
*/
|
|
43
|
+
validator?: (value: unknown, ctx: RsFormValidatorContext) => boolean | string | void | Promise<boolean | string | void>;
|
|
44
|
+
trigger?: RsFormRuleTrigger | RsFormRuleTrigger[];
|
|
45
|
+
}
|
|
46
|
+
/** 字段名 → 规则(单条或数组) */
|
|
47
|
+
export type RsFormRules = Record<string, RsFormRuleItem | RsFormRuleItem[]>;
|
|
48
|
+
export interface RsFormRuleValidateResult {
|
|
49
|
+
valid: boolean;
|
|
50
|
+
message?: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Form.validateMessages 模板(`{label}` 插值)。
|
|
54
|
+
* 对标 Ant Design Form.validateMessages。
|
|
55
|
+
*/
|
|
56
|
+
export interface RsFormValidateMessages {
|
|
57
|
+
required?: string;
|
|
58
|
+
}
|
|
59
|
+
export interface RsFormFieldRulesOptions {
|
|
60
|
+
trigger?: RsFormRuleTrigger;
|
|
61
|
+
t?: RsTranslateFn;
|
|
62
|
+
label?: string;
|
|
63
|
+
name?: string;
|
|
64
|
+
validateMessages?: RsFormValidateMessages;
|
|
65
|
+
getFieldValue?: (name: RsFormNamePath) => unknown;
|
|
66
|
+
getFieldsValue?: () => Record<string, unknown>;
|
|
67
|
+
}
|
|
68
|
+
export declare function normalizeFormRules(rules?: RsFormRuleItem | RsFormRuleItem[] | null): RsFormRuleItem[];
|
|
69
|
+
export declare function matchFormRuleTrigger(rule: RsFormRuleItem, trigger?: RsFormRuleTrigger): boolean;
|
|
70
|
+
/** 解析规则 message(字符串或函数) */
|
|
71
|
+
export declare function resolveRuleMessage(rule: RsFormRuleItem, value: unknown, fallback: string): string;
|
|
72
|
+
/**
|
|
73
|
+
* 按顺序执行字段规则,首条失败即返回。
|
|
74
|
+
*/
|
|
75
|
+
export declare function runFormFieldRules(value: unknown, rules: RsFormRuleItem[], options?: RsFormFieldRulesOptions): Promise<RsFormRuleValidateResult>;
|
|
76
|
+
/** 将 Input 局部 props 转为规则列表,便于与 Form rules 合并 */
|
|
77
|
+
export declare function buildLocalInputRules(options: {
|
|
78
|
+
required?: boolean;
|
|
79
|
+
rule?: RsInputRule;
|
|
80
|
+
validator?: (value: string) => boolean | string;
|
|
81
|
+
requiredMessage?: string;
|
|
82
|
+
}): RsFormRuleItem[];
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { interpolateRsMessage } from "../locale/interpolate.js";
|
|
2
|
+
import "../locale/types.js";
|
|
3
|
+
import { createTranslator } from "../composables/useRsI18n.js";
|
|
4
|
+
import { getInputRuleMessage, validateInputRule } from "./input-rules.js";
|
|
5
|
+
//#region src/components/form-rules.ts
|
|
6
|
+
function normalizeFormRules(rules) {
|
|
7
|
+
if (!rules) return [];
|
|
8
|
+
return Array.isArray(rules) ? rules : [rules];
|
|
9
|
+
}
|
|
10
|
+
function matchFormRuleTrigger(rule, trigger) {
|
|
11
|
+
if (!trigger || trigger === "submit") return true;
|
|
12
|
+
const ruleTrigger = rule.trigger;
|
|
13
|
+
if (!ruleTrigger) return true;
|
|
14
|
+
return (Array.isArray(ruleTrigger) ? ruleTrigger : [ruleTrigger]).includes(trigger);
|
|
15
|
+
}
|
|
16
|
+
function isEmptyValue(value) {
|
|
17
|
+
if (value == null) return true;
|
|
18
|
+
if (typeof value === "string") return value.trim() === "";
|
|
19
|
+
if (Array.isArray(value)) return value.length === 0;
|
|
20
|
+
if (typeof value === "object") {
|
|
21
|
+
const record = value;
|
|
22
|
+
if ("start" in record || "end" in record) return isEmptyValue(record.start) && isEmptyValue(record.end);
|
|
23
|
+
}
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
function valueLength(value) {
|
|
27
|
+
if (typeof value === "string") return value.trim().length;
|
|
28
|
+
if (typeof value === "number" && Number.isFinite(value)) return value;
|
|
29
|
+
if (Array.isArray(value)) return value.length;
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
function fail(message) {
|
|
33
|
+
return {
|
|
34
|
+
valid: false,
|
|
35
|
+
message
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/** 解析规则 message(字符串或函数) */
|
|
39
|
+
function resolveRuleMessage(rule, value, fallback) {
|
|
40
|
+
const message = rule.message;
|
|
41
|
+
if (typeof message === "function") return message({
|
|
42
|
+
value,
|
|
43
|
+
rule
|
|
44
|
+
});
|
|
45
|
+
if (typeof message === "string") return message;
|
|
46
|
+
return fallback;
|
|
47
|
+
}
|
|
48
|
+
function formatInvalid(rule, value, tr) {
|
|
49
|
+
return resolveRuleMessage(rule, value, tr("input.formatInvalid"));
|
|
50
|
+
}
|
|
51
|
+
/** 类型规则:string/number/array 或内置 email/phone 等 */
|
|
52
|
+
function checkTypeRule(value, rule, tr) {
|
|
53
|
+
const type = rule.type;
|
|
54
|
+
if (!type) return null;
|
|
55
|
+
if (type === "string" && typeof value !== "string") return fail(formatInvalid(rule, value, tr));
|
|
56
|
+
if (type === "number" && typeof value !== "number") return fail(formatInvalid(rule, value, tr));
|
|
57
|
+
if (type === "array" && !Array.isArray(value)) return fail(formatInvalid(rule, value, tr));
|
|
58
|
+
if (type !== "string" && type !== "number" && type !== "array" && typeof value === "string" && !validateInputRule(value, type)) return fail(resolveRuleMessage(rule, value, getInputRuleMessage(type, tr)));
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
function checkPatternRule(value, rule, tr) {
|
|
62
|
+
if (!rule.pattern || typeof value !== "string") return null;
|
|
63
|
+
if (rule.pattern.test(value)) return null;
|
|
64
|
+
return fail(formatInvalid(rule, value, tr));
|
|
65
|
+
}
|
|
66
|
+
function checkLengthRule(value, rule, tr) {
|
|
67
|
+
const length = valueLength(value);
|
|
68
|
+
if (length == null) return null;
|
|
69
|
+
if (rule.len != null && length !== rule.len) return fail(formatInvalid(rule, value, tr));
|
|
70
|
+
if (rule.min != null && length < rule.min) return fail(formatInvalid(rule, value, tr));
|
|
71
|
+
if (rule.max != null && length > rule.max) return fail(formatInvalid(rule, value, tr));
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
async function checkValidatorRule(value, rule, tr, options) {
|
|
75
|
+
if (!rule.validator) return null;
|
|
76
|
+
const ctx = {
|
|
77
|
+
name: options?.name,
|
|
78
|
+
getFieldValue: options?.getFieldValue ?? (() => void 0),
|
|
79
|
+
getFieldsValue: options?.getFieldsValue ?? (() => ({}))
|
|
80
|
+
};
|
|
81
|
+
let result;
|
|
82
|
+
try {
|
|
83
|
+
result = await rule.validator(value, ctx);
|
|
84
|
+
} catch (err) {
|
|
85
|
+
return fail(err instanceof Error && err.message ? err.message : formatInvalid(rule, value, tr));
|
|
86
|
+
}
|
|
87
|
+
if (result === true || result === void 0 || result === null) return null;
|
|
88
|
+
if (result === false) return fail(formatInvalid(rule, value, tr));
|
|
89
|
+
if (typeof result === "string") return fail(result);
|
|
90
|
+
if (result instanceof Error) return fail(result.message || formatInvalid(rule, value, tr));
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* 执行单条规则;通过返回 null,失败返回结果。
|
|
95
|
+
* 空值且非必填时跳过格式类规则。
|
|
96
|
+
*/
|
|
97
|
+
async function evaluateFormRule(value, rule, tr, options) {
|
|
98
|
+
if (rule.required && isEmptyValue(value)) {
|
|
99
|
+
const label = options?.label?.trim();
|
|
100
|
+
return fail(resolveRuleMessage(rule, value, interpolateRsMessage(options?.validateMessages?.required ?? (label ? tr("form.validate.required") : tr("input.required")), { label: label || tr("form.field") })));
|
|
101
|
+
}
|
|
102
|
+
if (isEmptyValue(value)) return checkValidatorRule(value, rule, tr, options);
|
|
103
|
+
return checkTypeRule(value, rule, tr) ?? checkPatternRule(value, rule, tr) ?? checkLengthRule(value, rule, tr) ?? await checkValidatorRule(value, rule, tr, options);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* 按顺序执行字段规则,首条失败即返回。
|
|
107
|
+
*/
|
|
108
|
+
async function runFormFieldRules(value, rules, options) {
|
|
109
|
+
const tr = options?.t ?? createTranslator("zh-CN");
|
|
110
|
+
const trigger = options?.trigger;
|
|
111
|
+
for (const rule of rules) {
|
|
112
|
+
if (!matchFormRuleTrigger(rule, trigger)) continue;
|
|
113
|
+
const failed = await evaluateFormRule(value, rule, tr, options);
|
|
114
|
+
if (failed) return failed;
|
|
115
|
+
}
|
|
116
|
+
return { valid: true };
|
|
117
|
+
}
|
|
118
|
+
/** 将 Input 局部 props 转为规则列表,便于与 Form rules 合并 */
|
|
119
|
+
function buildLocalInputRules(options) {
|
|
120
|
+
const list = [];
|
|
121
|
+
if (options.required) list.push({
|
|
122
|
+
required: true,
|
|
123
|
+
message: options.requiredMessage
|
|
124
|
+
});
|
|
125
|
+
if (options.rule) list.push({ type: options.rule });
|
|
126
|
+
if (options.validator) list.push({ validator: (value) => options.validator(String(value ?? "")) });
|
|
127
|
+
return list;
|
|
128
|
+
}
|
|
129
|
+
//#endregion
|
|
130
|
+
export { buildLocalInputRules, matchFormRuleTrigger, normalizeFormRules, resolveRuleMessage, runFormFieldRules };
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { type ComputedRef, type InjectionKey, type Ref, type VNodeChild } from 'vue';
|
|
2
|
+
import type { RsFormRuleItem, RsFormRuleTrigger, RsFormRules, RsFormValidateMessages } from './form-rules';
|
|
3
|
+
import { type RsFormNamePath } from './form-path';
|
|
4
|
+
/** 自定义错误渲染上下文(Form / 字段共用) */
|
|
5
|
+
export interface RsFormErrorRenderContext {
|
|
6
|
+
name?: string;
|
|
7
|
+
message: string;
|
|
8
|
+
value: unknown;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 自定义错误渲染(对齐 Ant Design Form.Item help / Element #error)。
|
|
12
|
+
* 返回 VNode / 字符串;返回 null/undefined 时回退默认文案。
|
|
13
|
+
*/
|
|
14
|
+
export type RsFormErrorRender = (ctx: RsFormErrorRenderContext) => VNodeChild | null | undefined;
|
|
15
|
+
export type RsFormLabelPosition = 'top' | 'left';
|
|
16
|
+
export type RsFormLabelAlign = 'start' | 'end';
|
|
17
|
+
export type RsFormSize = 'ssm' | 'sm' | 'md' | 'lg';
|
|
18
|
+
export type RsFormGap = 'sm' | 'md' | 'lg';
|
|
19
|
+
export type RsFormMaxWidth = 'sm' | 'md' | 'lg' | 'full' | 'none';
|
|
20
|
+
/** Form.Item 校验态(对齐 Ant Design validateStatus) */
|
|
21
|
+
export type RsFormValidateStatus = 'success' | 'warning' | 'error' | 'validating' | '';
|
|
22
|
+
/** 整表校验结果(含按字段名聚合的错误) */
|
|
23
|
+
export interface RsFormValidationResult {
|
|
24
|
+
valid: boolean;
|
|
25
|
+
/** 字段名 → 首条错误文案;无 name 的字段不计入 */
|
|
26
|
+
errors: Record<string, string>;
|
|
27
|
+
}
|
|
28
|
+
export interface RsFormFieldValidationResult {
|
|
29
|
+
valid: boolean;
|
|
30
|
+
message?: string;
|
|
31
|
+
name?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface RsFormFieldExpose {
|
|
34
|
+
/** 字段名,用于匹配 Form.rules */
|
|
35
|
+
name?: string;
|
|
36
|
+
getValue: () => unknown;
|
|
37
|
+
setValue: (value: unknown) => void;
|
|
38
|
+
validate?: (trigger?: RsFormRuleTrigger) => RsFormFieldValidationResult | Promise<RsFormFieldValidationResult>;
|
|
39
|
+
clearValidation?: () => void;
|
|
40
|
+
/** 由 Form 或外部写入错误态 */
|
|
41
|
+
setError?: (message: string) => void;
|
|
42
|
+
}
|
|
43
|
+
export interface RsFormContext {
|
|
44
|
+
disabled: Readonly<Ref<boolean>>;
|
|
45
|
+
labelPosition: ComputedRef<RsFormLabelPosition>;
|
|
46
|
+
labelWidth: Readonly<Ref<string>>;
|
|
47
|
+
labelAlign: Readonly<Ref<RsFormLabelAlign>>;
|
|
48
|
+
size: Readonly<Ref<RsFormSize>>;
|
|
49
|
+
/** 当前 Form 上的 rules(响应式读取) */
|
|
50
|
+
rules: Readonly<Ref<RsFormRules | undefined>>;
|
|
51
|
+
getFieldRules: (name?: string) => RsFormRuleItem[];
|
|
52
|
+
/** Form 级自定义错误渲染;字段无 #error 时使用 */
|
|
53
|
+
renderError?: RsFormErrorRender;
|
|
54
|
+
registerField: (id: symbol, field: RsFormFieldExpose) => void;
|
|
55
|
+
unregisterField: (id: symbol) => void;
|
|
56
|
+
/** 可选数据中枢(Form.model) */
|
|
57
|
+
model: Readonly<Ref<Record<string, unknown> | undefined>>;
|
|
58
|
+
validateMessages: ComputedRef<RsFormValidateMessages | undefined>;
|
|
59
|
+
getFieldValue: (name: RsFormNamePath) => unknown;
|
|
60
|
+
setFieldValue: (name: RsFormNamePath, value: unknown) => void;
|
|
61
|
+
getFieldsValue: () => Record<string, unknown>;
|
|
62
|
+
}
|
|
63
|
+
export declare const RS_FORM_INJECTION_KEY: InjectionKey<RsFormContext>;
|
|
64
|
+
export declare function cloneFormFieldValue(value: unknown): unknown;
|
|
65
|
+
/**
|
|
66
|
+
* Form.Item 上下文(对齐 Element `elFormItem` / Ant Design Form.Item)。
|
|
67
|
+
* invalid 只属于绑定控件:Item 通过 cloneElement 打到直接子节点,
|
|
68
|
+
* 子孙里的搜索框等应先用 isRsFormItemBoundControl 判断,不要一律跟 Item 变红。
|
|
69
|
+
*/
|
|
70
|
+
export interface RsFormItemContext {
|
|
71
|
+
name: ComputedRef<string | undefined>;
|
|
72
|
+
/** 已声明 name 时 Item 拥有字段,内置控件不再向 Form 注册 */
|
|
73
|
+
ownsField: ComputedRef<boolean>;
|
|
74
|
+
invalid: ComputedRef<boolean>;
|
|
75
|
+
message: ComputedRef<string>;
|
|
76
|
+
status: ComputedRef<RsFormValidateStatus>;
|
|
77
|
+
fieldId: ComputedRef<string>;
|
|
78
|
+
errorId: ComputedRef<string>;
|
|
79
|
+
describedBy: ComputedRef<string | undefined>;
|
|
80
|
+
}
|
|
81
|
+
export declare const RS_FORM_ITEM_INJECTION_KEY: InjectionKey<RsFormItemContext>;
|
|
82
|
+
export declare function provideRsFormItemContext(context: RsFormItemContext): void;
|
|
83
|
+
export declare function useRsFormItemContext(): RsFormItemContext | null;
|
|
84
|
+
/**
|
|
85
|
+
* Form.List 上下文:子 Item 的 name 会拼上 List 前缀(users + [0, 'name'] → users.0.name)。
|
|
86
|
+
*/
|
|
87
|
+
export interface RsFormListContext {
|
|
88
|
+
prefix: ComputedRef<Array<string | number>>;
|
|
89
|
+
}
|
|
90
|
+
/** Form.List 默认插槽中的一行 */
|
|
91
|
+
export interface RsFormListField {
|
|
92
|
+
/** 稳定行键,用于 v-for */
|
|
93
|
+
key: number;
|
|
94
|
+
/** 当前下标,作为子 Item name 的第一段 */
|
|
95
|
+
name: number;
|
|
96
|
+
index: number;
|
|
97
|
+
}
|
|
98
|
+
/** Form.List 增删改操作 */
|
|
99
|
+
export interface RsFormListOperations {
|
|
100
|
+
add: (defaultValue?: unknown) => void;
|
|
101
|
+
remove: (index: number) => void;
|
|
102
|
+
move: (from: number, to: number) => void;
|
|
103
|
+
}
|
|
104
|
+
export declare const RS_FORM_LIST_INJECTION_KEY: InjectionKey<RsFormListContext>;
|
|
105
|
+
export declare function provideRsFormListContext(context: RsFormListContext): void;
|
|
106
|
+
export declare function useRsFormListContext(): RsFormListContext | null;
|
|
107
|
+
export declare function provideRsFormContext(context: RsFormContext): void;
|
|
108
|
+
export declare function useRsFormContext(): RsFormContext | null;
|
|
109
|
+
/**
|
|
110
|
+
* 是否为 Form.Item 的绑定控件(对齐 Ant Design cloneElement)。
|
|
111
|
+
* name 与 Item 相同,或 id 等于 Item 注入的 fieldId。
|
|
112
|
+
*/
|
|
113
|
+
export declare function isRsFormItemBoundControl(item: RsFormItemContext | null | undefined, control: {
|
|
114
|
+
id?: string;
|
|
115
|
+
name?: string;
|
|
116
|
+
}): boolean;
|
|
117
|
+
export declare function useRsFormField(getExpose: () => RsFormFieldExpose | undefined): void;
|
|
118
|
+
export declare function resolveRsFormSize(size?: RsFormSize, form?: RsFormContext | null): ComputedRef<RsFormSize>;
|
|
119
|
+
/** 供 Form 内部解析某字段 rules */
|
|
120
|
+
export declare function resolveFieldRules(rules: RsFormRules | undefined, name?: string): RsFormRuleItem[];
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { normalizeFormRules } from "./form-rules.js";
|
|
2
|
+
import { namePathKey } from "./form-path.js";
|
|
3
|
+
import { inject, onMounted, onUnmounted, provide } from "vue";
|
|
4
|
+
//#region src/components/form-utils.ts
|
|
5
|
+
var RS_FORM_INJECTION_KEY = Symbol("RsForm");
|
|
6
|
+
function cloneFormFieldValue(value) {
|
|
7
|
+
if (value === void 0 || value === null) return value;
|
|
8
|
+
if (typeof value !== "object") return value;
|
|
9
|
+
try {
|
|
10
|
+
return structuredClone(value);
|
|
11
|
+
} catch {
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
var RS_FORM_ITEM_INJECTION_KEY = Symbol("RsFormItem");
|
|
16
|
+
function provideRsFormItemContext(context) {
|
|
17
|
+
provide(RS_FORM_ITEM_INJECTION_KEY, context);
|
|
18
|
+
}
|
|
19
|
+
function useRsFormItemContext() {
|
|
20
|
+
return inject(RS_FORM_ITEM_INJECTION_KEY, null);
|
|
21
|
+
}
|
|
22
|
+
var RS_FORM_LIST_INJECTION_KEY = Symbol("RsFormList");
|
|
23
|
+
function provideRsFormListContext(context) {
|
|
24
|
+
provide(RS_FORM_LIST_INJECTION_KEY, context);
|
|
25
|
+
}
|
|
26
|
+
function useRsFormListContext() {
|
|
27
|
+
return inject(RS_FORM_LIST_INJECTION_KEY, null);
|
|
28
|
+
}
|
|
29
|
+
function provideRsFormContext(context) {
|
|
30
|
+
provide(RS_FORM_INJECTION_KEY, context);
|
|
31
|
+
}
|
|
32
|
+
function useRsFormContext() {
|
|
33
|
+
return inject(RS_FORM_INJECTION_KEY, null);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 是否为 Form.Item 的绑定控件(对齐 Ant Design cloneElement)。
|
|
37
|
+
* name 与 Item 相同,或 id 等于 Item 注入的 fieldId。
|
|
38
|
+
*/
|
|
39
|
+
function isRsFormItemBoundControl(item, control) {
|
|
40
|
+
if (!item?.ownsField.value) return false;
|
|
41
|
+
const itemName = item.name.value;
|
|
42
|
+
if (control.name && itemName && namePathKey(control.name) === itemName) return true;
|
|
43
|
+
if (control.id && control.id === item.fieldId.value) return true;
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
function useRsFormField(getExpose) {
|
|
47
|
+
const form = useRsFormContext();
|
|
48
|
+
const item = useRsFormItemContext();
|
|
49
|
+
if (!form) return;
|
|
50
|
+
const fieldId = Symbol("rs-form-field");
|
|
51
|
+
onMounted(() => {
|
|
52
|
+
if (item?.ownsField.value) return;
|
|
53
|
+
const expose = getExpose();
|
|
54
|
+
if (!expose?.name) return;
|
|
55
|
+
form.registerField(fieldId, expose);
|
|
56
|
+
});
|
|
57
|
+
onUnmounted(() => {
|
|
58
|
+
form.unregisterField(fieldId);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/** 供 Form 内部解析某字段 rules */
|
|
62
|
+
function resolveFieldRules(rules, name) {
|
|
63
|
+
if (!name || !rules) return [];
|
|
64
|
+
return normalizeFormRules(rules[name]);
|
|
65
|
+
}
|
|
66
|
+
//#endregion
|
|
67
|
+
export { RS_FORM_INJECTION_KEY, RS_FORM_ITEM_INJECTION_KEY, RS_FORM_LIST_INJECTION_KEY, cloneFormFieldValue, isRsFormItemBoundControl, provideRsFormContext, provideRsFormItemContext, provideRsFormListContext, resolveFieldRules, useRsFormContext, useRsFormField, useRsFormItemContext, useRsFormListContext };
|