@pgcorp/ui-kit 0.10.0 → 0.10.1
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/README.md +6 -2
- package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
- package/dist/assets/diff.worker-Da8jAqQb.js +2 -0
- package/dist/assets/src/components/layout/SDockRegion.vue_vue_type_style_index_0_scoped_2932631d_lang.css +1 -0
- package/dist/assets/src/components/layout/SResizeHandle.vue_vue_type_style_index_0_scoped_90cc655e_lang.css +1 -0
- package/dist/assets/src/components/layout/SStack.css_vue_type_style_index_0_src_7da6a319_scoped_7da6a319_lang.css +2 -0
- package/dist/assets/src/components/layout/SStatusBarShell.css_vue_type_style_index_0_src_27a8f1b6_scoped_27a8f1b6_lang.css +2 -0
- package/dist/assets/src/components/layout/SWorkbenchLayout.vue_vue_type_style_index_0_scoped_3853dbfb_lang.css +2 -0
- package/dist/assets/src/components/layout/SWorkbenchPanelShell.css_vue_type_style_index_0_src_1030a231_scoped_1030a231_lang.css +2 -0
- package/dist/assets/src/components/layout/_internal/SAppBrand.css_vue_type_style_index_0_src_51a58c3e_scoped_51a58c3e_lang.css +2 -0
- package/dist/assets/src/components/shared/_internal/SDialogSurface.css_vue_type_style_index_0_src_979bf586_scoped_979bf586_lang.css +2 -0
- package/dist/assets/src/components/shared/_internal/SDisclosureSummary.css_vue_type_style_index_0_src_056eb42e_scoped_056eb42e_lang.css +2 -0
- package/dist/assets/src/components/shared/_internal/SHeaderSurface.css_vue_type_style_index_0_src_3beb2aed_scoped_3beb2aed_lang.css +2 -0
- package/dist/assets/src/components/shared/_internal/SListboxGroup.css_vue_type_style_index_0_src_518787d3_scoped_518787d3_lang.css +2 -0
- package/dist/assets/src/components/shared/_internal/SMenuItem.css_vue_type_style_index_0_src_e5bd192e_scoped_e5bd192e_lang.css +2 -0
- package/dist/assets/src/components/shared/_internal/SMenuLayer.css_vue_type_style_index_0_src_4913bbe1_scoped_4913bbe1_lang.css +1 -0
- package/dist/assets/src/components/shared/_internal/SMenuSeparator.css_vue_type_style_index_0_src_81ba0159_scoped_81ba0159_lang.css +2 -0
- package/dist/assets/src/components/shared/_internal/SToastItem.css_vue_type_style_index_0_src_cfab96d6_scoped_cfab96d6_lang.css +2 -0
- package/dist/assets/src/components/shared/_internal/STreeNode.vue_vue_type_style_index_0_lang.css +2 -0
- package/dist/assets/src/components/shared/complex/SKanbanCard.css_vue_type_style_index_0_src_d8c46c53_scoped_d8c46c53_lang.css +2 -0
- package/dist/assets/src/components/shared/complex/STree.css_vue_type_style_index_0_src_true_lang.css +2 -0
- package/dist/assets/src/components/shared/containers/SCloudChrome.css_vue_type_style_index_0_src_true_lang.css +2 -0
- package/dist/assets/src/components/shared/containers/SCloudChromeEmpty.css_vue_type_style_index_0_src_true_lang.css +2 -0
- package/dist/assets/src/components/shared/containers/SCloudChromeRow.css_vue_type_style_index_0_src_true_lang.css +2 -0
- package/dist/assets/src/components/shared/containers/SCollapsiblePanel.css_vue_type_style_index_0_src_4882f962_scoped_4882f962_lang.css +2 -0
- package/dist/assets/src/components/shared/containers/SDrawer.css_vue_type_style_index_0_src_1226da98_scoped_1226da98_lang.css +2 -0
- package/dist/assets/src/components/shared/containers/SFormGrid.css_vue_type_style_index_0_src_80a60d65_scoped_80a60d65_lang.css +2 -0
- package/dist/assets/src/components/shared/containers/SFormGridItem.css_vue_type_style_index_0_src_1982571a_scoped_1982571a_lang.css +2 -0
- package/dist/assets/src/components/shared/containers/SLeftSidebar.vue_vue_type_style_index_0_scoped_06cec9a1_lang.css +2 -0
- package/dist/assets/src/components/shared/containers/SModal.css_vue_type_style_index_0_src_64c62e90_scoped_64c62e90_lang.css +2 -0
- package/dist/assets/src/components/shared/containers/SPanel.css_vue_type_style_index_0_src_c0e5420c_scoped_c0e5420c_lang.css +2 -0
- package/dist/assets/src/components/shared/containers/SPopover.css_vue_type_style_index_0_src_deded766_scoped_deded766_lang.css +2 -0
- package/dist/assets/src/components/shared/containers/SSidebarGroup.css_vue_type_style_index_0_src_3e8bc2d7_scoped_3e8bc2d7_lang.css +2 -0
- package/dist/assets/src/components/shared/containers/SSidebarSection.css_vue_type_style_index_0_src_96f51ac6_scoped_96f51ac6_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SButton.css_vue_type_style_index_0_src_49f356bb_scoped_49f356bb_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SCheckbox.css_vue_type_style_index_0_src_b20b27dd_scoped_b20b27dd_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SChoiceCards.css_vue_type_style_index_0_src_627a8628_scoped_627a8628_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SCombobox.css_vue_type_style_index_0_src_e3b4f580_scoped_e3b4f580_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SComboboxTrigger.css_vue_type_style_index_0_src_e453a3fa_scoped_e453a3fa_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SContextMenu.css_vue_type_style_index_0_src_00c91d39_scoped_00c91d39_lang.css +1 -0
- package/dist/assets/src/components/shared/controls/SDropdownMenu.css_vue_type_style_index_0_src_b854a89e_scoped_b854a89e_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SField.css_vue_type_style_index_0_src_60628f96_scoped_60628f96_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SFieldGroup.css_vue_type_style_index_0_src_fc781c88_scoped_fc781c88_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SFieldLabel.css_vue_type_style_index_0_src_80025f86_scoped_80025f86_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SInlineTokenEditor.css_vue_type_style_index_0_src_aec1b353_scoped_aec1b353_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SInputText.css_vue_type_style_index_0_src_6d42d245_scoped_6d42d245_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SInteractiveSurface.css_vue_type_style_index_0_src_998940dd_scoped_998940dd_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SLink.css_vue_type_style_index_0_src_fc6fdfb3_scoped_fc6fdfb3_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SListbox.css_vue_type_style_index_0_src_24db4abb_scoped_24db4abb_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SListboxOption.css_vue_type_style_index_0_src_77c399b4_scoped_77c399b4_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SMarker.css_vue_type_style_index_0_src_086bcc16_scoped_086bcc16_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SMenuSurface.css_vue_type_style_index_0_src_bc7c7be4_scoped_bc7c7be4_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SRange.css_vue_type_style_index_0_src_343bbcc6_scoped_343bbcc6_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SSegmentedControl.css_vue_type_style_index_0_src_8bf7785a_scoped_8bf7785a_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SSelect.css_vue_type_style_index_0_src_441648c9_scoped_441648c9_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SSwitch.css_vue_type_style_index_0_src_7b4d74b5_scoped_7b4d74b5_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/STextarea.css_vue_type_style_index_0_src_true_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SActionCard.css_vue_type_style_index_0_src_9c1a2409_scoped_9c1a2409_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SActionList.css_vue_type_style_index_0_src_5d4ca97f_scoped_5d4ca97f_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SActionListItem.css_vue_type_style_index_0_src_f0c4206a_scoped_f0c4206a_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SChart.css_vue_type_style_index_0_src_47d0c0a8_scoped_47d0c0a8_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SChip.css_vue_type_style_index_0_src_66e478e7_scoped_66e478e7_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SCodeBlock.css_vue_type_style_index_0_src_aad45526_scoped_aad45526_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SCodeEditor.css_vue_type_style_index_0_src_cad79088_scoped_cad79088_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SCodeSearchPanel.vue_vue_type_style_index_0_scoped_8d12d958_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SCodeWorkspaceEditor.css_vue_type_style_index_0_src_864bce1d_scoped_864bce1d_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SControlledToastViewport.css_vue_type_style_index_0_src_5864b6c6_scoped_5864b6c6_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SDiffViewer.css_vue_type_style_index_0_src_2b041caf_scoped_2b041caf_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SDocBlock.css_vue_type_style_index_0_src_23049785_scoped_23049785_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SEmptyState.css_vue_type_style_index_0_src_40c7760e_scoped_40c7760e_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SExpandableText.vue_vue_type_style_index_0_scoped_01b69142_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SJsonTree.css_vue_type_style_index_0_src_54527df1_scoped_54527df1_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SKeyValueGrid.css_vue_type_style_index_0_src_c1fe7af7_scoped_c1fe7af7_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SLinkedSystemsList.vue_vue_type_style_index_0_scoped_3a9401da_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SMessage.css_vue_type_style_index_0_src_e6cc7503_scoped_e6cc7503_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SMetricCard.css_vue_type_style_index_0_src_9c6a4cbb_scoped_9c6a4cbb_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SProgressBar.css_vue_type_style_index_0_src_9308293a_scoped_9308293a_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SProgressIndicator.css_vue_type_style_index_0_src_c1a5f4c1_scoped_c1a5f4c1_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SRichDocument.css_vue_type_style_index_0_src_d1afafc5_scoped_d1afafc5_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SScrollViewport.css_vue_type_style_index_0_src_e5d11342_scoped_e5d11342_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SStatus.css_vue_type_style_index_0_src_c76fa058_scoped_c76fa058_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/STable.css_vue_type_style_index_0_src_9955d482_scoped_9955d482_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/STooltip.css_vue_type_style_index_0_src_true_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/STooltipAnchor.css_vue_type_style_index_0_src_17fadb8a_scoped_17fadb8a_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/STooltipTarget.css_vue_type_style_index_0_src_aabfbd84_scoped_aabfbd84_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SVirtualList.css_vue_type_style_index_0_src_1717877d_scoped_1717877d_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/_internal/SCodeTokenLine.css_vue_type_style_index_0_src_4f4b5ce8_scoped_4f4b5ce8_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/_internal/SRichBlockNode.css_vue_type_style_index_0_src_63180598_scoped_63180598_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/_internal/SRichDisclosure.css_vue_type_style_index_0_src_fa94e2ff_scoped_fa94e2ff_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/_internal/SRichInlineNode.css_vue_type_style_index_0_src_20c8cc87_scoped_20c8cc87_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/_internal/SRichMath.css_vue_type_style_index_0_src_true_lang.css +2 -0
- package/dist/assets/src/components/shared/database/SDataGrid.css_vue_type_style_index_0_src_09e3ea65_scoped_09e3ea65_lang.css +2 -0
- package/dist/assets/src/components/shared/feedback/SAsyncState.css_vue_type_style_index_0_src_bfc28903_scoped_bfc28903_lang.css +2 -0
- package/dist/assets/src/components/shared/graph/SGraphViewport.vue_vue_type_style_index_0_scoped_ef926337_lang.css +1 -0
- package/dist/assets/src/components/shared/navigation/SBottomNav.vue_vue_type_style_index_0_scoped_a0d16ca3_lang.css +1 -0
- package/dist/assets/src/components/shared/navigation/SBreadcrumbs.css_vue_type_style_index_0_src_e2c5851e_scoped_e2c5851e_lang.css +2 -0
- package/dist/assets/src/components/shared/navigation/SCatalogNavigator.css_vue_type_style_index_0_src_f4ae099d_scoped_f4ae099d_lang.css +1 -0
- package/dist/assets/src/components/shared/navigation/STab.vue_vue_type_style_index_0_scoped_4a09da96_lang.css +2 -0
- package/dist/assets/src/components/shared/navigation/STabList.vue_vue_type_style_index_0_scoped_ec676576_lang.css +2 -0
- package/dist/assets/src/components/shared/navigation/STabPanel.vue_vue_type_style_index_0_scoped_0f372aeb_lang.css +2 -0
- package/dist/assets/src/components/shared/navigation/STabPanels.vue_vue_type_style_index_0_scoped_9afa936c_lang.css +2 -0
- package/dist/assets/src/components/shared/navigation/STabs.vue_vue_type_style_index_0_scoped_89861a98_lang.css +2 -0
- package/dist/assets/src/components/shared/navigation/SWizardSteps.css_vue_type_style_index_0_src_bfd8db0a_scoped_bfd8db0a_lang.css +1 -0
- package/dist/assets/src/components/shared/navigation/_internal/SCatalogNavigatorGroup.vue_vue_type_style_index_0_scoped_3145ab84_lang.css +2 -0
- package/dist/assets/src/components/shared/persona/SPersonaProjectPicker.css_vue_type_style_index_0_src_cf24edf0_scoped_cf24edf0_lang.css +2 -0
- package/dist/assets/src/components/shared/persona/SPersonaRunWorkbench.css_vue_type_style_index_0_src_bca49ddb_scoped_bca49ddb_lang.css +2 -0
- package/dist/assets/src/components/shared/persona/_internal/SPersonaRunConsole.css_vue_type_style_index_0_src_c71f59d4_scoped_c71f59d4_lang.css +2 -0
- package/dist/index.js +4 -0
- package/dist/src/components/icons/_internal/generatedSputnigUiIconMarkup.d.ts +243 -0
- package/dist/src/components/icons/_internal/generatedSputnigUiIconMarkup.js +247 -0
- package/dist/src/components/icons/sputnigUiIcons.d.ts +148 -0
- package/dist/src/components/icons/sputnigUiIcons.js +428 -0
- package/dist/src/components/layout/SAppShell.vue.d.ts +68 -0
- package/dist/src/components/layout/SAppShell.vue.js +5 -0
- package/dist/src/components/layout/SAppShell.vue_vue_type_script_setup_true_lang.js +166 -0
- package/dist/src/components/layout/SDockRegion.vue.d.ts +50 -0
- package/dist/src/components/layout/SDockRegion.vue.js +8 -0
- package/dist/src/components/layout/SDockRegion.vue_vue_type_script_setup_true_lang.js +130 -0
- package/dist/src/components/layout/SResizeHandle.vue.d.ts +43 -0
- package/dist/src/components/layout/SResizeHandle.vue.js +8 -0
- package/dist/src/components/layout/SResizeHandle.vue_vue_type_script_setup_true_lang.js +175 -0
- package/dist/src/components/layout/SSideMenuButton.vue.d.ts +37 -0
- package/dist/src/components/layout/SSideMenuButton.vue.js +5 -0
- package/dist/src/components/layout/SSideMenuButton.vue_vue_type_script_setup_true_lang.js +91 -0
- package/dist/src/components/layout/SSideMenuRail.vue.d.ts +22 -0
- package/dist/src/components/layout/SSideMenuRail.vue.js +5 -0
- package/dist/src/components/layout/SSideMenuRail.vue_vue_type_script_setup_true_lang.js +32 -0
- package/dist/src/components/layout/SStack.vue.d.ts +44 -0
- package/dist/src/components/layout/SStack.vue.js +8 -0
- package/dist/src/components/layout/SStack.vue_vue_type_script_setup_true_lang.js +43 -0
- package/dist/src/components/layout/SStatusBarShell.vue.d.ts +17 -0
- package/dist/src/components/layout/SStatusBarShell.vue.js +8 -0
- package/dist/src/components/layout/SStatusBarShell.vue_vue_type_script_setup_true_lang.js +20 -0
- package/dist/src/components/layout/SWorkbenchLayout.vue.d.ts +30 -0
- package/dist/src/components/layout/SWorkbenchLayout.vue.js +8 -0
- package/dist/src/components/layout/SWorkbenchLayout.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/src/components/layout/SWorkbenchPanelShell.vue.d.ts +62 -0
- package/dist/src/components/layout/SWorkbenchPanelShell.vue.js +8 -0
- package/dist/src/components/layout/SWorkbenchPanelShell.vue_vue_type_script_setup_true_lang.js +200 -0
- package/dist/src/components/layout/_internal/SAppBrand.vue.d.ts +29 -0
- package/dist/src/components/layout/_internal/SAppBrand.vue.js +5 -0
- package/dist/src/components/layout/_internal/SAppBrand.vue_vue_type_script_setup_true_lang.js +73 -0
- package/dist/src/components/layout/_internal/SAppBrandContent.vue.d.ts +26 -0
- package/dist/src/components/layout/_internal/SAppBrandContent.vue.js +8 -0
- package/dist/src/components/layout/_internal/SAppBrandContent.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/src/components/layout/types.d.ts +29 -0
- package/dist/src/components/layout/types.js +0 -0
- package/dist/src/components/shared/_internal/SDialogSurface.vue.d.ts +35 -0
- package/dist/src/components/shared/_internal/SDialogSurface.vue.js +8 -0
- package/dist/src/components/shared/_internal/SDialogSurface.vue_vue_type_script_setup_true_lang.js +89 -0
- package/dist/src/components/shared/_internal/SDisclosureSummary.vue.d.ts +20 -0
- package/dist/src/components/shared/_internal/SDisclosureSummary.vue.js +8 -0
- package/dist/src/components/shared/_internal/SDisclosureSummary.vue_vue_type_script_setup_true_lang.js +97 -0
- package/dist/src/components/shared/_internal/SHeaderSurface.vue.d.ts +43 -0
- package/dist/src/components/shared/_internal/SHeaderSurface.vue.js +8 -0
- package/dist/src/components/shared/_internal/SHeaderSurface.vue_vue_type_script_setup_true_lang.js +80 -0
- package/dist/src/components/shared/_internal/SListboxGroup.vue.d.ts +20 -0
- package/dist/src/components/shared/_internal/SListboxGroup.vue.js +8 -0
- package/dist/src/components/shared/_internal/SListboxGroup.vue_vue_type_script_setup_true_lang.js +26 -0
- package/dist/src/components/shared/_internal/SMenuItem.vue.d.ts +18 -0
- package/dist/src/components/shared/_internal/SMenuItem.vue.js +8 -0
- package/dist/src/components/shared/_internal/SMenuItem.vue_vue_type_script_setup_true_lang.js +218 -0
- package/dist/src/components/shared/_internal/SMenuLayer.vue.d.ts +24 -0
- package/dist/src/components/shared/_internal/SMenuLayer.vue.js +8 -0
- package/dist/src/components/shared/_internal/SMenuLayer.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/src/components/shared/_internal/SMenuSeparator.vue.d.ts +6 -0
- package/dist/src/components/shared/_internal/SMenuSeparator.vue.js +8 -0
- package/dist/src/components/shared/_internal/SMenuSeparator.vue_vue_type_script_setup_true_lang.js +16 -0
- package/dist/src/components/shared/_internal/SToastItem.vue.d.ts +26 -0
- package/dist/src/components/shared/_internal/SToastItem.vue.js +8 -0
- package/dist/src/components/shared/_internal/SToastItem.vue_vue_type_script_setup_true_lang.js +86 -0
- package/dist/src/components/shared/_internal/STreeNode.vue.d.ts +31 -0
- package/dist/src/components/shared/_internal/STreeNode.vue.js +7 -0
- package/dist/src/components/shared/_internal/STreeNode.vue_vue_type_script_setup_true_lang.js +410 -0
- package/dist/src/components/shared/_internal/dialogSurface.d.ts +29 -0
- package/dist/src/components/shared/_internal/dialogSurface.js +52 -0
- package/dist/src/components/shared/_internal/focusTrap.d.ts +2 -0
- package/dist/src/components/shared/_internal/focusTrap.js +20 -0
- package/dist/src/components/shared/_internal/listboxContext.d.ts +13 -0
- package/dist/src/components/shared/_internal/listboxContext.js +4 -0
- package/dist/src/components/shared/_internal/markerContract.d.ts +12 -0
- package/dist/src/components/shared/_internal/markerContract.js +28 -0
- package/dist/src/components/shared/_internal/menuContext.d.ts +19 -0
- package/dist/src/components/shared/_internal/menuContext.js +4 -0
- package/dist/src/components/shared/_internal/selectionContract.d.ts +53 -0
- package/dist/src/components/shared/_internal/selectionContract.js +138 -0
- package/dist/src/components/shared/_internal/sidebarGroupContext.d.ts +27 -0
- package/dist/src/components/shared/_internal/sidebarGroupContext.js +4 -0
- package/dist/src/components/shared/_internal/tabsContext.d.ts +51 -0
- package/dist/src/components/shared/_internal/tabsContext.js +4 -0
- package/dist/src/components/shared/_internal/treeRuntime.d.ts +68 -0
- package/dist/src/components/shared/_internal/treeRuntime.js +81 -0
- package/dist/src/components/shared/_internal/useRadioGroup.d.ts +32 -0
- package/dist/src/components/shared/_internal/useRadioGroup.js +48 -0
- package/dist/src/components/shared/_internal/useSelectionRoving.d.ts +36 -0
- package/dist/src/components/shared/_internal/useSelectionRoving.js +58 -0
- package/dist/src/components/shared/codeLanguages.d.ts +5 -0
- package/dist/src/components/shared/codeLanguages.js +42 -0
- package/dist/src/components/shared/complex/SKanbanCard.vue.d.ts +42 -0
- package/dist/src/components/shared/complex/SKanbanCard.vue.js +8 -0
- package/dist/src/components/shared/complex/SKanbanCard.vue_vue_type_script_setup_true_lang.js +75 -0
- package/dist/src/components/shared/complex/SKanbanLane.vue.d.ts +38 -0
- package/dist/src/components/shared/complex/SKanbanLane.vue.js +5 -0
- package/dist/src/components/shared/complex/SKanbanLane.vue_vue_type_script_setup_true_lang.js +73 -0
- package/dist/src/components/shared/complex/STree.vue.d.ts +45 -0
- package/dist/src/components/shared/complex/STree.vue.js +7 -0
- package/dist/src/components/shared/complex/STree.vue_vue_type_script_setup_true_lang.js +223 -0
- package/dist/src/components/shared/complex/treeAdapter.d.ts +16 -0
- package/dist/src/components/shared/complex/treeAdapter.js +100 -0
- package/{src/components/shared/complex/types.ts → dist/src/components/shared/complex/types.d.ts} +47 -59
- package/dist/src/components/shared/complex/types.js +0 -0
- package/dist/src/components/shared/containers/SCloudChrome.vue.d.ts +44 -0
- package/dist/src/components/shared/containers/SCloudChrome.vue.js +7 -0
- package/dist/src/components/shared/containers/SCloudChrome.vue_vue_type_script_setup_true_lang.js +77 -0
- package/dist/src/components/shared/containers/SCloudChromeEmpty.vue.d.ts +13 -0
- package/dist/src/components/shared/containers/SCloudChromeEmpty.vue.js +7 -0
- package/dist/src/components/shared/containers/SCloudChromeEmpty.vue_vue_type_script_setup_true_lang.js +23 -0
- package/dist/src/components/shared/containers/SCloudChromeRow.vue.d.ts +49 -0
- package/dist/src/components/shared/containers/SCloudChromeRow.vue.js +7 -0
- package/dist/src/components/shared/containers/SCloudChromeRow.vue_vue_type_script_setup_true_lang.js +126 -0
- package/dist/src/components/shared/containers/SCollapsiblePanel.vue.d.ts +56 -0
- package/dist/src/components/shared/containers/SCollapsiblePanel.vue.js +8 -0
- package/dist/src/components/shared/containers/SCollapsiblePanel.vue_vue_type_script_setup_true_lang.js +214 -0
- package/dist/src/components/shared/containers/SDrawer.vue.d.ts +42 -0
- package/dist/src/components/shared/containers/SDrawer.vue.js +8 -0
- package/dist/src/components/shared/containers/SDrawer.vue_vue_type_script_setup_true_lang.js +100 -0
- package/dist/src/components/shared/containers/SFormGrid.vue.d.ts +30 -0
- package/dist/src/components/shared/containers/SFormGrid.vue.js +8 -0
- package/dist/src/components/shared/containers/SFormGrid.vue_vue_type_script_setup_true_lang.js +30 -0
- package/dist/src/components/shared/containers/SFormGridItem.vue.d.ts +21 -0
- package/dist/src/components/shared/containers/SFormGridItem.vue.js +8 -0
- package/dist/src/components/shared/containers/SFormGridItem.vue_vue_type_script_setup_true_lang.js +20 -0
- package/dist/src/components/shared/containers/SLeftSidebar.vue.d.ts +39 -0
- package/dist/src/components/shared/containers/SLeftSidebar.vue.js +8 -0
- package/dist/src/components/shared/containers/SLeftSidebar.vue_vue_type_script_setup_true_lang.js +59 -0
- package/dist/src/components/shared/containers/SModal.vue.d.ts +55 -0
- package/dist/src/components/shared/containers/SModal.vue.js +8 -0
- package/dist/src/components/shared/containers/SModal.vue_vue_type_script_setup_true_lang.js +103 -0
- package/dist/src/components/shared/containers/SPageHeader.vue.d.ts +31 -0
- package/dist/src/components/shared/containers/SPageHeader.vue.js +5 -0
- package/dist/src/components/shared/containers/SPageHeader.vue_vue_type_script_setup_true_lang.js +50 -0
- package/dist/src/components/shared/containers/SPanel.vue.d.ts +77 -0
- package/dist/src/components/shared/containers/SPanel.vue.js +8 -0
- package/dist/src/components/shared/containers/SPanel.vue_vue_type_script_setup_true_lang.js +149 -0
- package/dist/src/components/shared/containers/SPopover.vue.d.ts +68 -0
- package/dist/src/components/shared/containers/SPopover.vue.js +8 -0
- package/dist/src/components/shared/containers/SPopover.vue_vue_type_script_setup_true_lang.js +326 -0
- package/dist/src/components/shared/containers/SSidebarGroup.vue.d.ts +23 -0
- package/dist/src/components/shared/containers/SSidebarGroup.vue.js +8 -0
- package/dist/src/components/shared/containers/SSidebarGroup.vue_vue_type_script_setup_true_lang.js +272 -0
- package/dist/src/components/shared/containers/SSidebarSection.vue.d.ts +35 -0
- package/dist/src/components/shared/containers/SSidebarSection.vue.js +8 -0
- package/dist/src/components/shared/containers/SSidebarSection.vue_vue_type_script_setup_true_lang.js +181 -0
- package/dist/src/components/shared/containers/SUiKitLocaleProvider.vue.d.ts +19 -0
- package/dist/src/components/shared/containers/SUiKitLocaleProvider.vue.js +5 -0
- package/dist/src/components/shared/containers/SUiKitLocaleProvider.vue_vue_type_script_setup_true_lang.js +36 -0
- package/dist/src/components/shared/containers/disclosureSummary.d.ts +41 -0
- package/dist/src/components/shared/containers/disclosureSummary.js +0 -0
- package/{src/components/shared/containers/popover.ts → dist/src/components/shared/containers/popover.d.ts} +19 -30
- package/dist/src/components/shared/containers/popover.js +0 -0
- package/dist/src/components/shared/containers/sidebar.d.ts +47 -0
- package/dist/src/components/shared/containers/sidebar.js +65 -0
- package/dist/src/components/shared/controls/SButton.vue.d.ts +72 -0
- package/dist/src/components/shared/controls/SButton.vue.js +8 -0
- package/dist/src/components/shared/controls/SButton.vue_vue_type_script_setup_true_lang.js +264 -0
- package/dist/src/components/shared/controls/SCheckbox.vue.d.ts +31 -0
- package/dist/src/components/shared/controls/SCheckbox.vue.js +8 -0
- package/dist/src/components/shared/controls/SCheckbox.vue_vue_type_script_setup_true_lang.js +105 -0
- package/dist/src/components/shared/controls/SCheckboxGroup.vue.d.ts +42 -0
- package/dist/src/components/shared/controls/SCheckboxGroup.vue.js +5 -0
- package/dist/src/components/shared/controls/SCheckboxGroup.vue_vue_type_script_setup_true_lang.js +119 -0
- package/dist/src/components/shared/controls/SChoiceCards.vue.d.ts +52 -0
- package/dist/src/components/shared/controls/SChoiceCards.vue.js +8 -0
- package/dist/src/components/shared/controls/SChoiceCards.vue_vue_type_script_setup_true_lang.js +123 -0
- package/dist/src/components/shared/controls/SColorSelect.vue.d.ts +50 -0
- package/dist/src/components/shared/controls/SColorSelect.vue.js +5 -0
- package/dist/src/components/shared/controls/SColorSelect.vue_vue_type_script_setup_true_lang.js +90 -0
- package/dist/src/components/shared/controls/SCombobox.vue.d.ts +54 -0
- package/dist/src/components/shared/controls/SCombobox.vue.js +8 -0
- package/dist/src/components/shared/controls/SCombobox.vue_vue_type_script_setup_true_lang.js +268 -0
- package/dist/src/components/shared/controls/SComboboxTrigger.vue.d.ts +49 -0
- package/dist/src/components/shared/controls/SComboboxTrigger.vue.js +8 -0
- package/dist/src/components/shared/controls/SComboboxTrigger.vue_vue_type_script_setup_true_lang.js +153 -0
- package/dist/src/components/shared/controls/SContextMenu.vue.d.ts +42 -0
- package/dist/src/components/shared/controls/SContextMenu.vue.js +8 -0
- package/dist/src/components/shared/controls/SContextMenu.vue_vue_type_script_setup_true_lang.js +129 -0
- package/dist/src/components/shared/controls/SContextToggleButton.vue.d.ts +22 -0
- package/dist/src/components/shared/controls/SContextToggleButton.vue.js +5 -0
- package/dist/src/components/shared/controls/SContextToggleButton.vue_vue_type_script_setup_true_lang.js +58 -0
- package/dist/src/components/shared/controls/SDragHandle.vue.d.ts +26 -0
- package/dist/src/components/shared/controls/SDragHandle.vue.js +5 -0
- package/dist/src/components/shared/controls/SDragHandle.vue_vue_type_script_setup_true_lang.js +90 -0
- package/dist/src/components/shared/controls/SDropdownMenu.vue.d.ts +38 -0
- package/dist/src/components/shared/controls/SDropdownMenu.vue.js +8 -0
- package/dist/src/components/shared/controls/SDropdownMenu.vue_vue_type_script_setup_true_lang.js +128 -0
- package/dist/src/components/shared/controls/SField.vue.d.ts +53 -0
- package/dist/src/components/shared/controls/SField.vue.js +8 -0
- package/dist/src/components/shared/controls/SField.vue_vue_type_script_setup_true_lang.js +86 -0
- package/dist/src/components/shared/controls/SFieldGroup.vue.d.ts +53 -0
- package/dist/src/components/shared/controls/SFieldGroup.vue.js +8 -0
- package/dist/src/components/shared/controls/SFieldGroup.vue_vue_type_script_setup_true_lang.js +102 -0
- package/dist/src/components/shared/controls/SFieldLabel.vue.d.ts +35 -0
- package/dist/src/components/shared/controls/SFieldLabel.vue.js +8 -0
- package/dist/src/components/shared/controls/SFieldLabel.vue_vue_type_script_setup_true_lang.js +45 -0
- package/dist/src/components/shared/controls/SInlineTokenEditor.vue.d.ts +80 -0
- package/dist/src/components/shared/controls/SInlineTokenEditor.vue.js +5 -0
- package/dist/src/components/shared/controls/SInlineTokenEditor.vue_vue_type_script_setup_true_lang.js +553 -0
- package/dist/src/components/shared/controls/SInputText.vue.d.ts +115 -0
- package/dist/src/components/shared/controls/SInputText.vue.js +8 -0
- package/dist/src/components/shared/controls/SInputText.vue_vue_type_script_setup_true_lang.js +318 -0
- package/dist/src/components/shared/controls/SInteractiveSurface.vue.d.ts +84 -0
- package/dist/src/components/shared/controls/SInteractiveSurface.vue.js +8 -0
- package/dist/src/components/shared/controls/SInteractiveSurface.vue_vue_type_script_setup_true_lang.js +239 -0
- package/{src/components/shared/controls/SLink.ts → dist/src/components/shared/controls/SLink.d.ts} +34 -48
- package/dist/src/components/shared/controls/SLink.js +9 -0
- package/dist/src/components/shared/controls/SLink.vue.d.ts +42 -0
- package/dist/src/components/shared/controls/SLink.vue.js +8 -0
- package/dist/src/components/shared/controls/SLink.vue_vue_type_script_setup_true_lang.js +110 -0
- package/dist/src/components/shared/controls/SListbox.vue.d.ts +77 -0
- package/dist/src/components/shared/controls/SListbox.vue.js +8 -0
- package/dist/src/components/shared/controls/SListbox.vue_vue_type_script_setup_true_lang.js +347 -0
- package/dist/src/components/shared/controls/SListboxOption.vue.d.ts +30 -0
- package/dist/src/components/shared/controls/SListboxOption.vue.js +8 -0
- package/dist/src/components/shared/controls/SListboxOption.vue_vue_type_script_setup_true_lang.js +99 -0
- package/dist/src/components/shared/controls/SMarker.vue.d.ts +14 -0
- package/dist/src/components/shared/controls/SMarker.vue.js +9 -0
- package/dist/src/components/shared/controls/SMarker.vue_vue_type_script_setup_true_lang.js +30 -0
- package/dist/src/components/shared/controls/SMenuSurface.vue.d.ts +38 -0
- package/dist/src/components/shared/controls/SMenuSurface.vue.js +8 -0
- package/dist/src/components/shared/controls/SMenuSurface.vue_vue_type_script_setup_true_lang.js +241 -0
- package/dist/src/components/shared/controls/SRange.vue.d.ts +32 -0
- package/dist/src/components/shared/controls/SRange.vue.js +8 -0
- package/dist/src/components/shared/controls/SRange.vue_vue_type_script_setup_true_lang.js +128 -0
- package/dist/src/components/shared/controls/SSegmentedControl.vue.d.ts +43 -0
- package/dist/src/components/shared/controls/SSegmentedControl.vue.js +8 -0
- package/dist/src/components/shared/controls/SSegmentedControl.vue_vue_type_script_setup_true_lang.js +99 -0
- package/dist/src/components/shared/controls/SSelect.vue.d.ts +64 -0
- package/dist/src/components/shared/controls/SSelect.vue.js +8 -0
- package/dist/src/components/shared/controls/SSelect.vue_vue_type_script_setup_true_lang.js +241 -0
- package/dist/src/components/shared/controls/SSwitch.vue.d.ts +29 -0
- package/dist/src/components/shared/controls/SSwitch.vue.js +8 -0
- package/dist/src/components/shared/controls/SSwitch.vue_vue_type_script_setup_true_lang.js +99 -0
- package/dist/src/components/shared/controls/STextarea.d.ts +1 -0
- package/dist/src/components/shared/controls/STextarea.js +0 -0
- package/dist/src/components/shared/controls/STextarea.vue.d.ts +127 -0
- package/dist/src/components/shared/controls/STextarea.vue.js +7 -0
- package/dist/src/components/shared/controls/STextarea.vue_vue_type_script_setup_true_lang.js +414 -0
- package/dist/src/components/shared/controls/_internal/SInlineTokenSurface.vue.d.ts +199 -0
- package/dist/src/components/shared/controls/_internal/SInlineTokenSurface.vue.js +8 -0
- package/dist/src/components/shared/controls/_internal/SInlineTokenSurface.vue_vue_type_script_lang.js +195 -0
- package/dist/src/components/shared/controls/menu.d.ts +52 -0
- package/dist/src/components/shared/controls/menu.js +95 -0
- package/dist/src/components/shared/data-display/SActionCard.vue.d.ts +37 -0
- package/dist/src/components/shared/data-display/SActionCard.vue.js +8 -0
- package/dist/src/components/shared/data-display/SActionCard.vue_vue_type_script_setup_true_lang.js +68 -0
- package/dist/src/components/shared/data-display/SActionList.vue.d.ts +22 -0
- package/dist/src/components/shared/data-display/SActionList.vue.js +8 -0
- package/dist/src/components/shared/data-display/SActionList.vue_vue_type_script_setup_true_lang.js +32 -0
- package/dist/src/components/shared/data-display/SActionListItem.vue.d.ts +89 -0
- package/dist/src/components/shared/data-display/SActionListItem.vue.js +8 -0
- package/dist/src/components/shared/data-display/SActionListItem.vue_vue_type_script_setup_true_lang.js +194 -0
- package/dist/src/components/shared/data-display/SBadge.vue.d.ts +33 -0
- package/dist/src/components/shared/data-display/SBadge.vue.js +5 -0
- package/dist/src/components/shared/data-display/SBadge.vue_vue_type_script_setup_true_lang.js +49 -0
- package/dist/src/components/shared/data-display/SChart.vue.d.ts +51 -0
- package/dist/src/components/shared/data-display/SChart.vue.js +8 -0
- package/dist/src/components/shared/data-display/SChart.vue_vue_type_script_setup_true_lang.js +443 -0
- package/dist/src/components/shared/data-display/SChip.vue.d.ts +33 -0
- package/dist/src/components/shared/data-display/SChip.vue.js +8 -0
- package/dist/src/components/shared/data-display/SChip.vue_vue_type_script_setup_true_lang.js +103 -0
- package/dist/src/components/shared/data-display/SCodeBlock.vue.d.ts +28 -0
- package/dist/src/components/shared/data-display/SCodeBlock.vue.js +8 -0
- package/dist/src/components/shared/data-display/SCodeBlock.vue_vue_type_script_setup_true_lang.js +254 -0
- package/dist/src/components/shared/data-display/SCodeEditor.vue.d.ts +58 -0
- package/dist/src/components/shared/data-display/SCodeEditor.vue.js +8 -0
- package/dist/src/components/shared/data-display/SCodeEditor.vue_vue_type_script_setup_true_lang.js +248 -0
- package/dist/src/components/shared/data-display/SCodeSearchPanel.vue.d.ts +63 -0
- package/dist/src/components/shared/data-display/SCodeSearchPanel.vue.js +8 -0
- package/dist/src/components/shared/data-display/SCodeSearchPanel.vue_vue_type_script_setup_true_lang.js +263 -0
- package/dist/src/components/shared/data-display/SCodeWorkspaceEditor.vue.d.ts +29 -0
- package/dist/src/components/shared/data-display/SCodeWorkspaceEditor.vue.js +8 -0
- package/dist/src/components/shared/data-display/SCodeWorkspaceEditor.vue_vue_type_script_setup_true_lang.js +231 -0
- package/dist/src/components/shared/data-display/SControlledToastViewport.vue.d.ts +29 -0
- package/dist/src/components/shared/data-display/SControlledToastViewport.vue.js +8 -0
- package/dist/src/components/shared/data-display/SControlledToastViewport.vue_vue_type_script_setup_true_lang.js +117 -0
- package/dist/src/components/shared/data-display/SCopyField.vue.d.ts +22 -0
- package/dist/src/components/shared/data-display/SCopyField.vue.js +5 -0
- package/dist/src/components/shared/data-display/SCopyField.vue_vue_type_script_setup_true_lang.js +73 -0
- package/dist/src/components/shared/data-display/SDiffViewer.vue.d.ts +36 -0
- package/dist/src/components/shared/data-display/SDiffViewer.vue.js +8 -0
- package/dist/src/components/shared/data-display/SDiffViewer.vue_vue_type_script_setup_true_lang.js +372 -0
- package/dist/src/components/shared/data-display/SDocBlock.vue.d.ts +34 -0
- package/dist/src/components/shared/data-display/SDocBlock.vue.js +8 -0
- package/dist/src/components/shared/data-display/SDocBlock.vue_vue_type_script_setup_true_lang.js +252 -0
- package/dist/src/components/shared/data-display/SEmptyState.vue.d.ts +27 -0
- package/dist/src/components/shared/data-display/SEmptyState.vue.js +8 -0
- package/dist/src/components/shared/data-display/SEmptyState.vue_vue_type_script_setup_true_lang.js +54 -0
- package/dist/src/components/shared/data-display/SExpandableText.vue.d.ts +42 -0
- package/dist/src/components/shared/data-display/SExpandableText.vue.js +8 -0
- package/dist/src/components/shared/data-display/SExpandableText.vue_vue_type_script_setup_true_lang.js +166 -0
- package/dist/src/components/shared/data-display/SJsonTree.vue.d.ts +15 -0
- package/dist/src/components/shared/data-display/SJsonTree.vue.js +8 -0
- package/dist/src/components/shared/data-display/SJsonTree.vue_vue_type_script_setup_true_lang.js +115 -0
- package/dist/src/components/shared/data-display/SKeyValueGrid.vue.d.ts +56 -0
- package/dist/src/components/shared/data-display/SKeyValueGrid.vue.js +8 -0
- package/dist/src/components/shared/data-display/SKeyValueGrid.vue_vue_type_script_setup_true_lang.js +121 -0
- package/dist/src/components/shared/data-display/SLinkedSystemsList.vue.d.ts +48 -0
- package/dist/src/components/shared/data-display/SLinkedSystemsList.vue.js +8 -0
- package/dist/src/components/shared/data-display/SLinkedSystemsList.vue_vue_type_script_setup_true_lang.js +147 -0
- package/dist/src/components/shared/data-display/SMessage.vue.d.ts +49 -0
- package/dist/src/components/shared/data-display/SMessage.vue.js +8 -0
- package/dist/src/components/shared/data-display/SMessage.vue_vue_type_script_setup_true_lang.js +107 -0
- package/dist/src/components/shared/data-display/SMetricCard.vue.d.ts +72 -0
- package/dist/src/components/shared/data-display/SMetricCard.vue.js +8 -0
- package/dist/src/components/shared/data-display/SMetricCard.vue_vue_type_script_setup_true_lang.js +128 -0
- package/dist/src/components/shared/data-display/SProgressBar.vue.d.ts +41 -0
- package/dist/src/components/shared/data-display/SProgressBar.vue.js +8 -0
- package/dist/src/components/shared/data-display/SProgressBar.vue_vue_type_script_setup_true_lang.js +90 -0
- package/dist/src/components/shared/data-display/SProgressIndicator.vue.d.ts +28 -0
- package/dist/src/components/shared/data-display/SProgressIndicator.vue.js +8 -0
- package/dist/src/components/shared/data-display/SProgressIndicator.vue_vue_type_script_setup_true_lang.js +84 -0
- package/dist/src/components/shared/data-display/SRichDocument.vue.d.ts +20 -0
- package/dist/src/components/shared/data-display/SRichDocument.vue.js +8 -0
- package/dist/src/components/shared/data-display/SRichDocument.vue_vue_type_script_setup_true_lang.js +48 -0
- package/dist/src/components/shared/data-display/SScrollViewport.vue.d.ts +30 -0
- package/dist/src/components/shared/data-display/SScrollViewport.vue.js +8 -0
- package/dist/src/components/shared/data-display/SScrollViewport.vue_vue_type_script_setup_true_lang.js +273 -0
- package/dist/src/components/shared/data-display/SSectionHeader.vue.d.ts +39 -0
- package/dist/src/components/shared/data-display/SSectionHeader.vue.js +5 -0
- package/dist/src/components/shared/data-display/SSectionHeader.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/src/components/shared/data-display/SStatus.vue.d.ts +34 -0
- package/dist/src/components/shared/data-display/SStatus.vue.js +8 -0
- package/dist/src/components/shared/data-display/SStatus.vue_vue_type_script_setup_true_lang.js +58 -0
- package/dist/src/components/shared/data-display/STable.vue.d.ts +92 -0
- package/dist/src/components/shared/data-display/STable.vue.js +8 -0
- package/dist/src/components/shared/data-display/STable.vue_vue_type_script_setup_true_lang.js +549 -0
- package/dist/src/components/shared/data-display/SToastContainer.vue.d.ts +3 -0
- package/dist/src/components/shared/data-display/SToastContainer.vue.js +5 -0
- package/dist/src/components/shared/data-display/SToastContainer.vue_vue_type_script_setup_true_lang.js +37 -0
- package/dist/src/components/shared/data-display/STooltip.vue.d.ts +92 -0
- package/dist/src/components/shared/data-display/STooltip.vue.js +7 -0
- package/dist/src/components/shared/data-display/STooltip.vue_vue_type_script_setup_true_lang.js +352 -0
- package/dist/src/components/shared/data-display/STooltipAnchor.vue.d.ts +54 -0
- package/dist/src/components/shared/data-display/STooltipAnchor.vue.js +8 -0
- package/dist/src/components/shared/data-display/STooltipAnchor.vue_vue_type_script_setup_true_lang.js +73 -0
- package/dist/src/components/shared/data-display/STooltipTarget.vue.d.ts +41 -0
- package/dist/src/components/shared/data-display/STooltipTarget.vue.js +8 -0
- package/dist/src/components/shared/data-display/STooltipTarget.vue_vue_type_script_setup_true_lang.js +46 -0
- package/{src/components/shared/data-display/SVirtualList.ts → dist/src/components/shared/data-display/SVirtualList.d.ts} +18 -25
- package/dist/src/components/shared/data-display/SVirtualList.js +0 -0
- package/dist/src/components/shared/data-display/SVirtualList.vue.d.ts +65 -0
- package/dist/src/components/shared/data-display/SVirtualList.vue.js +8 -0
- package/dist/src/components/shared/data-display/SVirtualList.vue_vue_type_script_setup_true_lang.js +386 -0
- package/dist/src/components/shared/data-display/_internal/SCodeTokenLine.vue.d.ts +14 -0
- package/dist/src/components/shared/data-display/_internal/SCodeTokenLine.vue.js +8 -0
- package/dist/src/components/shared/data-display/_internal/SCodeTokenLine.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/src/components/shared/data-display/_internal/SRichBlockNode.vue.d.ts +19 -0
- package/dist/src/components/shared/data-display/_internal/SRichBlockNode.vue.js +8 -0
- package/dist/src/components/shared/data-display/_internal/SRichBlockNode.vue_vue_type_script_setup_true_lang.js +386 -0
- package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue.d.ts +19 -0
- package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue.js +8 -0
- package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue_vue_type_script_setup_true_lang.js +25 -0
- package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue.d.ts +14 -0
- package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue.js +8 -0
- package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue_vue_type_script_setup_true_lang.js +162 -0
- package/dist/src/components/shared/data-display/_internal/SRichMath.vue.d.ts +11 -0
- package/dist/src/components/shared/data-display/_internal/SRichMath.vue.js +7 -0
- package/dist/src/components/shared/data-display/_internal/SRichMath.vue_vue_type_script_setup_true_lang.js +80 -0
- package/dist/src/components/shared/data-display/chart.d.ts +49 -0
- package/dist/src/components/shared/data-display/chart.js +0 -0
- package/dist/src/components/shared/data-display/codeEditor.d.ts +49 -0
- package/dist/src/components/shared/data-display/codeEditor.js +102 -0
- package/dist/src/components/shared/data-display/codeWorkspace.d.ts +62 -0
- package/dist/src/components/shared/data-display/codeWorkspace.js +84 -0
- package/dist/src/components/shared/data-display/diff.d.ts +78 -0
- package/dist/src/components/shared/data-display/diff.js +266 -0
- package/dist/src/components/shared/data-display/json.d.ts +19 -0
- package/dist/src/components/shared/data-display/json.js +60 -0
- package/dist/src/components/shared/data-display/richDocument.d.ts +226 -0
- package/dist/src/components/shared/data-display/richDocument.js +656 -0
- package/dist/src/components/shared/data-display/scrollViewport.d.ts +39 -0
- package/dist/src/components/shared/data-display/scrollViewport.js +0 -0
- package/dist/src/components/shared/data-display/table.d.ts +45 -0
- package/dist/src/components/shared/data-display/table.js +0 -0
- package/dist/src/components/shared/data-display/toast.d.ts +44 -0
- package/dist/src/components/shared/data-display/toast.js +81 -0
- package/dist/src/components/shared/database/SDataGrid.vue.d.ts +68 -0
- package/dist/src/components/shared/database/SDataGrid.vue.js +8 -0
- package/dist/src/components/shared/database/SDataGrid.vue_vue_type_script_setup_true_lang.js +317 -0
- package/dist/src/components/shared/database/SSqlEditor.vue.d.ts +98 -0
- package/dist/src/components/shared/database/SSqlEditor.vue.js +5 -0
- package/dist/src/components/shared/database/SSqlEditor.vue_vue_type_script_setup_true_lang.js +324 -0
- package/dist/src/components/shared/database/dataGrid.d.ts +38 -0
- package/dist/src/components/shared/feedback/SAsyncState.vue.d.ts +58 -0
- package/dist/src/components/shared/feedback/SAsyncState.vue.js +8 -0
- package/dist/src/components/shared/feedback/SAsyncState.vue_vue_type_script_setup_true_lang.js +128 -0
- package/dist/src/components/shared/graph/SGraphViewport.d.ts +1 -0
- package/dist/src/components/shared/graph/SGraphViewport.js +2 -0
- package/dist/src/components/shared/graph/SGraphViewport.vue.d.ts +40 -0
- package/dist/src/components/shared/graph/SGraphViewport.vue.js +8 -0
- package/dist/src/components/shared/graph/SGraphViewport.vue_vue_type_script_setup_true_lang.js +513 -0
- package/dist/src/components/shared/graph/_internal/graphViewportContract.d.ts +114 -0
- package/dist/src/components/shared/graph/_internal/graphViewportContract.js +118 -0
- package/dist/src/components/shared/markdown.d.ts +12 -0
- package/dist/src/components/shared/markdown.js +84 -0
- package/dist/src/components/shared/navigation/SBottomNav.vue.d.ts +88 -0
- package/dist/src/components/shared/navigation/SBottomNav.vue.js +8 -0
- package/dist/src/components/shared/navigation/SBottomNav.vue_vue_type_script_setup_true_lang.js +363 -0
- package/dist/src/components/shared/navigation/SBreadcrumbs.vue.d.ts +36 -0
- package/dist/src/components/shared/navigation/SBreadcrumbs.vue.js +8 -0
- package/dist/src/components/shared/navigation/SBreadcrumbs.vue_vue_type_script_setup_true_lang.js +131 -0
- package/dist/src/components/shared/navigation/SCatalogNavigator.vue.d.ts +43 -0
- package/dist/src/components/shared/navigation/SCatalogNavigator.vue.js +8 -0
- package/dist/src/components/shared/navigation/SCatalogNavigator.vue_vue_type_script_setup_true_lang.js +244 -0
- package/dist/src/components/shared/navigation/STab.vue.d.ts +62 -0
- package/dist/src/components/shared/navigation/STab.vue.js +8 -0
- package/dist/src/components/shared/navigation/STab.vue_vue_type_script_setup_true_lang.js +169 -0
- package/dist/src/components/shared/navigation/STabList.vue.d.ts +51 -0
- package/dist/src/components/shared/navigation/STabList.vue.js +8 -0
- package/dist/src/components/shared/navigation/STabList.vue_vue_type_script_setup_true_lang.js +189 -0
- package/dist/src/components/shared/navigation/STabPanel.vue.d.ts +41 -0
- package/dist/src/components/shared/navigation/STabPanel.vue.js +8 -0
- package/dist/src/components/shared/navigation/STabPanel.vue_vue_type_script_setup_true_lang.js +70 -0
- package/dist/src/components/shared/navigation/STabPanels.vue.d.ts +14 -0
- package/dist/src/components/shared/navigation/STabPanels.vue.js +8 -0
- package/dist/src/components/shared/navigation/STabPanels.vue_vue_type_script_setup_true_lang.js +19 -0
- package/dist/src/components/shared/navigation/STabs.vue.d.ts +89 -0
- package/dist/src/components/shared/navigation/STabs.vue.js +8 -0
- package/dist/src/components/shared/navigation/STabs.vue_vue_type_script_setup_true_lang.js +310 -0
- package/dist/src/components/shared/navigation/SWizardSteps.vue.d.ts +43 -0
- package/dist/src/components/shared/navigation/SWizardSteps.vue.js +8 -0
- package/dist/src/components/shared/navigation/SWizardSteps.vue_vue_type_script_setup_true_lang.js +106 -0
- package/dist/src/components/shared/navigation/_internal/SCatalogNavigatorGroup.vue.d.ts +23 -0
- package/dist/src/components/shared/navigation/_internal/SCatalogNavigatorGroup.vue.js +8 -0
- package/dist/src/components/shared/navigation/_internal/SCatalogNavigatorGroup.vue_vue_type_script_setup_true_lang.js +58 -0
- package/dist/src/components/shared/persona/SPersonaProjectPicker.vue.d.ts +30 -0
- package/dist/src/components/shared/persona/SPersonaProjectPicker.vue.js +8 -0
- package/dist/src/components/shared/persona/SPersonaProjectPicker.vue_vue_type_script_setup_true_lang.js +334 -0
- package/dist/src/components/shared/persona/SPersonaRunWorkbench.vue.d.ts +72 -0
- package/dist/src/components/shared/persona/SPersonaRunWorkbench.vue.js +8 -0
- package/dist/src/components/shared/persona/SPersonaRunWorkbench.vue_vue_type_script_setup_true_lang.js +583 -0
- package/dist/src/components/shared/persona/_internal/SPersonaRunConsole.vue.d.ts +41 -0
- package/dist/src/components/shared/persona/_internal/SPersonaRunConsole.vue.js +8 -0
- package/dist/src/components/shared/persona/_internal/SPersonaRunConsole.vue_vue_type_script_setup_true_lang.js +295 -0
- package/dist/src/components/shared/persona/_internal/inventory.d.ts +21 -0
- package/dist/src/components/shared/persona/_internal/inventory.js +42 -0
- package/dist/src/components/shared/persona/_internal/labels.d.ts +3 -0
- package/dist/src/components/shared/persona/_internal/labels.js +73 -0
- package/dist/src/components/shared/persona/presentation.d.ts +41 -0
- package/dist/src/components/shared/persona/presentation.js +330 -0
- package/dist/src/components/shared/persona/types.d.ts +222 -0
- package/dist/src/components/shared/persona/types.js +6 -0
- package/dist/src/composables/uiPreferencesReset.d.ts +21 -0
- package/dist/src/composables/uiPreferencesReset.js +24 -0
- package/dist/src/composables/useClipboard.d.ts +20 -0
- package/dist/src/composables/useClipboard.js +26 -0
- package/dist/src/composables/useDialogOverlay.d.ts +17 -0
- package/dist/src/composables/useDialogOverlay.js +42 -0
- package/dist/src/composables/useDisclosure.d.ts +17 -0
- package/dist/src/composables/useDisclosure.js +20 -0
- package/dist/src/composables/useFloatingPosition.d.ts +40 -0
- package/dist/src/composables/useFloatingPosition.js +124 -0
- package/dist/src/composables/useNotifier.d.ts +10 -0
- package/dist/src/composables/useNotifier.js +19 -0
- package/dist/src/composables/useSidebarPanelState.d.ts +86 -0
- package/dist/src/composables/useSidebarPanelState.js +264 -0
- package/dist/src/composables/useUiKitLocale.d.ts +6 -0
- package/dist/src/composables/useUiKitLocale.js +9 -0
- package/dist/src/internal/chartGeometry.d.ts +117 -0
- package/dist/src/internal/chartGeometry.js +463 -0
- package/dist/src/internal/codeEditorContract.d.ts +31 -0
- package/dist/src/internal/codeEditorContract.js +63 -0
- package/dist/src/internal/codeEditorExtensions.d.ts +12 -0
- package/dist/src/internal/codeEditorExtensions.js +14 -0
- package/dist/src/internal/codeHighlight.d.ts +11 -0
- package/dist/src/internal/codeHighlight.js +71 -0
- package/dist/src/internal/codeLanguageIdentity.d.ts +6 -0
- package/dist/src/internal/codeLanguageIdentity.js +70 -0
- package/dist/src/internal/diffEngine.d.ts +7 -0
- package/dist/src/internal/diffEngine.js +231 -0
- package/dist/src/internal/diffRuntime.d.ts +23 -0
- package/dist/src/internal/diffRuntime.js +102 -0
- package/dist/src/internal/es2020.d.ts +16 -0
- package/dist/src/internal/es2020.js +25 -0
- package/dist/src/internal/feedbackPresentation.d.ts +52 -0
- package/dist/src/internal/feedbackPresentation.js +96 -0
- package/dist/src/internal/fieldPresentation.d.ts +19 -0
- package/dist/src/internal/fieldPresentation.js +16 -0
- package/dist/src/internal/fieldSurface.d.ts +26 -0
- package/dist/src/internal/fieldSurface.js +25 -0
- package/dist/src/internal/focusNavigation.d.ts +11 -0
- package/dist/src/internal/focusNavigation.js +26 -0
- package/dist/src/internal/inlineTokenEditorContract.d.ts +20 -0
- package/dist/src/internal/inlineTokenEditorContract.js +87 -0
- package/dist/src/internal/interactiveElement.d.ts +15 -0
- package/dist/src/internal/interactiveElement.js +12 -0
- package/dist/src/internal/layerStack.d.ts +28 -0
- package/dist/src/internal/layerStack.js +82 -0
- package/dist/src/internal/lazyCodeEditor.js +2 -0
- package/dist/src/internal/linkTarget.d.ts +26 -0
- package/dist/src/internal/linkTarget.js +131 -0
- package/dist/src/internal/localeContext.d.ts +10 -0
- package/dist/src/internal/localeContext.js +17 -0
- package/dist/src/internal/ownedAttrs.d.ts +357 -0
- package/dist/src/internal/ownedAttrs.js +334 -0
- package/dist/src/internal/passiveContentContract.d.ts +44 -0
- package/dist/src/internal/passiveContentContract.js +52 -0
- package/dist/src/internal/pillSurface.d.ts +43 -0
- package/dist/src/internal/pillSurface.js +38 -0
- package/dist/src/internal/pointerInteractionLease.d.ts +12 -0
- package/dist/src/internal/pointerInteractionLease.js +31 -0
- package/dist/src/internal/runtimeContract.d.ts +39 -0
- package/dist/src/internal/runtimeContract.js +48 -0
- package/dist/src/internal/runtimeTheme.d.ts +29 -0
- package/dist/src/internal/runtimeTheme.js +71 -0
- package/{src/internal/semanticSizing.ts → dist/src/internal/semanticSizing.d.ts} +16 -57
- package/dist/src/internal/semanticSizing.js +51 -0
- package/dist/src/internal/semanticTone.d.ts +10 -0
- package/dist/src/internal/semanticTone.js +8 -0
- package/dist/src/internal/useBinaryInput.d.ts +26 -0
- package/dist/src/internal/useBinaryInput.js +34 -0
- package/dist/src/internal/useMenuLayer.d.ts +25 -0
- package/dist/src/internal/useMenuLayer.js +81 -0
- package/dist/src/locales/catalog.d.ts +1523 -0
- package/dist/src/locales/locale.d.ts +564 -0
- package/dist/src/locales/locale.js +9 -0
- package/dist/src/locales/messages.d.ts +9 -0
- package/dist/src/locales/messages.generated.d.ts +8 -0
- package/dist/src/locales/messages.generated.js +171 -0
- package/dist/src/locales/messages.js +77 -0
- package/dist/src/stores/useNotifierStore.d.ts +50 -0
- package/dist/src/stores/useNotifierStore.js +43 -0
- package/dist/src/theme.d.ts +119 -0
- package/dist/src/theme.js +253 -0
- package/dist/src/variants.d.ts +4 -0
- package/dist/src/variants.js +17 -0
- package/dist/src/workers/diff.worker.d.ts +1 -0
- package/dist/src/workers/diffProtocol.d.ts +39 -0
- package/dist/src/workers/diffProtocol.js +66 -0
- package/docs/getting-started.md +12 -11
- package/docs/public-api.md +24 -12
- package/docs/rich-document.md +17 -1
- package/docs/versioning.md +43 -0
- package/package.json +824 -281
- package/src/components/shared/controls/SButton.css +21 -0
- package/src/components/shared/controls/SInputText.css +7 -0
- package/src/components/shared/data-display/_internal/SRichBlockNode.css +24 -0
- package/src/components/shared/data-display/_internal/SRichDisclosure.css +25 -0
- package/src/components/shared/data-display/_internal/SRichInlineNode.css +16 -0
- package/src/components/icons/_internal/generatedSputnigUiIconMarkup.ts +0 -971
- package/src/components/icons/sputnigUiIcons.ts +0 -530
- package/src/components/layout/SAppShell.vue +0 -235
- package/src/components/layout/SDockRegion.vue +0 -202
- package/src/components/layout/SResizeHandle.vue +0 -291
- package/src/components/layout/SSideMenuButton.vue +0 -105
- package/src/components/layout/SSideMenuRail.vue +0 -44
- package/src/components/layout/SStack.vue +0 -65
- package/src/components/layout/SStatusBarShell.vue +0 -26
- package/src/components/layout/SWorkbenchLayout.vue +0 -53
- package/src/components/layout/SWorkbenchPanelShell.vue +0 -288
- package/src/components/layout/_internal/SAppBrand.vue +0 -37
- package/src/components/layout/_internal/SAppBrandContent.vue +0 -30
- package/src/components/layout/types.ts +0 -28
- package/src/components/shared/_internal/SDialogSurface.vue +0 -124
- package/src/components/shared/_internal/SDisclosureSummary.vue +0 -121
- package/src/components/shared/_internal/SHeaderSurface.vue +0 -80
- package/src/components/shared/_internal/SListboxGroup.vue +0 -24
- package/src/components/shared/_internal/SMenuItem.vue +0 -213
- package/src/components/shared/_internal/SMenuLayer.vue +0 -48
- package/src/components/shared/_internal/SMenuSeparator.vue +0 -13
- package/src/components/shared/_internal/SToastItem.vue +0 -101
- package/src/components/shared/_internal/STreeNode.vue +0 -780
- package/src/components/shared/_internal/dialogSurface.ts +0 -111
- package/src/components/shared/_internal/focusTrap.ts +0 -40
- package/src/components/shared/_internal/listboxContext.ts +0 -16
- package/src/components/shared/_internal/markerContract.ts +0 -29
- package/src/components/shared/_internal/menuContext.ts +0 -23
- package/src/components/shared/_internal/selectionContract.ts +0 -239
- package/src/components/shared/_internal/sidebarGroupContext.ts +0 -33
- package/src/components/shared/_internal/tabsContext.ts +0 -58
- package/src/components/shared/_internal/treeRuntime.ts +0 -203
- package/src/components/shared/_internal/useRadioGroup.ts +0 -106
- package/src/components/shared/_internal/useSelectionRoving.ts +0 -162
- package/src/components/shared/codeLanguages.ts +0 -63
- package/src/components/shared/complex/SKanbanCard.vue +0 -76
- package/src/components/shared/complex/SKanbanLane.vue +0 -84
- package/src/components/shared/complex/STree.vue +0 -313
- package/src/components/shared/complex/treeAdapter.ts +0 -211
- package/src/components/shared/containers/SCloudChrome.vue +0 -87
- package/src/components/shared/containers/SCloudChromeEmpty.vue +0 -18
- package/src/components/shared/containers/SCloudChromeRow.vue +0 -109
- package/src/components/shared/containers/SCollapsiblePanel.vue +0 -360
- package/src/components/shared/containers/SDrawer.vue +0 -125
- package/src/components/shared/containers/SFormGrid.vue +0 -46
- package/src/components/shared/containers/SFormGridItem.vue +0 -29
- package/src/components/shared/containers/SLeftSidebar.vue +0 -79
- package/src/components/shared/containers/SModal.vue +0 -108
- package/src/components/shared/containers/SPageHeader.vue +0 -44
- package/src/components/shared/containers/SPanel.vue +0 -179
- package/src/components/shared/containers/SPopover.vue +0 -556
- package/src/components/shared/containers/SSidebarGroup.vue +0 -467
- package/src/components/shared/containers/SSidebarSection.vue +0 -267
- package/src/components/shared/containers/SUiKitLocaleProvider.vue +0 -57
- package/src/components/shared/containers/disclosureSummary.ts +0 -48
- package/src/components/shared/containers/sidebar.ts +0 -207
- package/src/components/shared/controls/SButton.vue +0 -341
- package/src/components/shared/controls/SCheckbox.vue +0 -101
- package/src/components/shared/controls/SCheckboxGroup.vue +0 -134
- package/src/components/shared/controls/SChoiceCards.vue +0 -122
- package/src/components/shared/controls/SColorSelect.vue +0 -146
- package/src/components/shared/controls/SCombobox.vue +0 -366
- package/src/components/shared/controls/SComboboxTrigger.vue +0 -125
- package/src/components/shared/controls/SContextMenu.vue +0 -186
- package/src/components/shared/controls/SContextToggleButton.vue +0 -66
- package/src/components/shared/controls/SDragHandle.vue +0 -104
- package/src/components/shared/controls/SDropdownMenu.vue +0 -191
- package/src/components/shared/controls/SField.vue +0 -93
- package/src/components/shared/controls/SFieldGroup.vue +0 -120
- package/src/components/shared/controls/SFieldLabel.vue +0 -52
- package/src/components/shared/controls/SInlineTokenEditor.vue +0 -1081
- package/src/components/shared/controls/SInputText.vue +0 -336
- package/src/components/shared/controls/SInteractiveSurface.vue +0 -352
- package/src/components/shared/controls/SLink.vue +0 -138
- package/src/components/shared/controls/SListbox.vue +0 -488
- package/src/components/shared/controls/SListboxOption.vue +0 -98
- package/src/components/shared/controls/SMarker.vue +0 -41
- package/src/components/shared/controls/SMenuSurface.vue +0 -333
- package/src/components/shared/controls/SRange.vue +0 -129
- package/src/components/shared/controls/SSegmentedControl.vue +0 -106
- package/src/components/shared/controls/SSelect.vue +0 -340
- package/src/components/shared/controls/SSwitch.vue +0 -91
- package/src/components/shared/controls/STextarea.ts +0 -13
- package/src/components/shared/controls/STextarea.vue +0 -670
- package/src/components/shared/controls/_internal/SInlineTokenSurface.vue +0 -229
- package/src/components/shared/controls/menu.ts +0 -178
- package/src/components/shared/data-display/SActionCard.vue +0 -59
- package/src/components/shared/data-display/SActionList.vue +0 -34
- package/src/components/shared/data-display/SActionListItem.vue +0 -240
- package/src/components/shared/data-display/SBadge.vue +0 -75
- package/src/components/shared/data-display/SChart.vue +0 -495
- package/src/components/shared/data-display/SChip.vue +0 -130
- package/src/components/shared/data-display/SCodeBlock.vue +0 -298
- package/src/components/shared/data-display/SCodeEditor.vue +0 -453
- package/src/components/shared/data-display/SCodeSearchPanel.vue +0 -342
- package/src/components/shared/data-display/SCodeWorkspaceEditor.vue +0 -355
- package/src/components/shared/data-display/SControlledToastViewport.vue +0 -205
- package/src/components/shared/data-display/SCopyField.vue +0 -79
- package/src/components/shared/data-display/SDiffViewer.vue +0 -499
- package/src/components/shared/data-display/SDocBlock.vue +0 -386
- package/src/components/shared/data-display/SEmptyState.vue +0 -79
- package/src/components/shared/data-display/SExpandableText.vue +0 -316
- package/src/components/shared/data-display/SJsonTree.vue +0 -113
- package/src/components/shared/data-display/SKeyValueGrid.vue +0 -277
- package/src/components/shared/data-display/SLinkedSystemsList.vue +0 -272
- package/src/components/shared/data-display/SMessage.vue +0 -159
- package/src/components/shared/data-display/SMetricCard.vue +0 -118
- package/src/components/shared/data-display/SProgressBar.vue +0 -120
- package/src/components/shared/data-display/SProgressIndicator.vue +0 -112
- package/src/components/shared/data-display/SRichDocument.vue +0 -65
- package/src/components/shared/data-display/SScrollViewport.vue +0 -470
- package/src/components/shared/data-display/SSectionHeader.vue +0 -54
- package/src/components/shared/data-display/SStatus.vue +0 -87
- package/src/components/shared/data-display/STable.vue +0 -960
- package/src/components/shared/data-display/SToastContainer.vue +0 -36
- package/src/components/shared/data-display/STooltip.vue +0 -681
- package/src/components/shared/data-display/STooltipAnchor.vue +0 -119
- package/src/components/shared/data-display/STooltipTarget.vue +0 -94
- package/src/components/shared/data-display/SVirtualList.vue +0 -662
- package/src/components/shared/data-display/_internal/SCodeTokenLine.vue +0 -79
- package/src/components/shared/data-display/_internal/SRichBlockNode.vue +0 -282
- package/src/components/shared/data-display/_internal/SRichInlineNode.vue +0 -76
- package/src/components/shared/data-display/_internal/SRichMath.vue +0 -102
- package/src/components/shared/data-display/chart.ts +0 -54
- package/src/components/shared/data-display/codeEditor.ts +0 -200
- package/src/components/shared/data-display/codeWorkspace.ts +0 -233
- package/src/components/shared/data-display/diff.ts +0 -541
- package/src/components/shared/data-display/json.ts +0 -136
- package/src/components/shared/data-display/richDocument.ts +0 -876
- package/src/components/shared/data-display/scrollViewport.ts +0 -47
- package/src/components/shared/data-display/table.ts +0 -61
- package/src/components/shared/data-display/toast.ts +0 -194
- package/src/components/shared/database/SDataGrid.vue +0 -501
- package/src/components/shared/database/SSqlEditor.vue +0 -364
- package/src/components/shared/database/dataGrid.ts +0 -45
- package/src/components/shared/feedback/SAsyncState.vue +0 -192
- package/src/components/shared/graph/SGraphViewport.ts +0 -1
- package/src/components/shared/graph/SGraphViewport.vue +0 -860
- package/src/components/shared/graph/_internal/graphViewportContract.ts +0 -362
- package/src/components/shared/markdown.ts +0 -169
- package/src/components/shared/navigation/SBottomNav.vue +0 -695
- package/src/components/shared/navigation/SBreadcrumbs.vue +0 -158
- package/src/components/shared/navigation/SCatalogNavigator.vue +0 -314
- package/src/components/shared/navigation/STab.vue +0 -388
- package/src/components/shared/navigation/STabList.vue +0 -443
- package/src/components/shared/navigation/STabPanel.vue +0 -165
- package/src/components/shared/navigation/STabPanels.vue +0 -33
- package/src/components/shared/navigation/STabs.vue +0 -636
- package/src/components/shared/navigation/SWizardSteps.vue +0 -173
- package/src/components/shared/navigation/_internal/SCatalogNavigatorGroup.vue +0 -63
- package/src/components/shared/persona/SPersonaProjectPicker.vue +0 -365
- package/src/components/shared/persona/SPersonaRunWorkbench.vue +0 -555
- package/src/components/shared/persona/_internal/SPersonaRunConsole.vue +0 -300
- package/src/components/shared/persona/_internal/inventory.ts +0 -110
- package/src/components/shared/persona/_internal/labels.ts +0 -88
- package/src/components/shared/persona/presentation.ts +0 -401
- package/src/components/shared/persona/types.ts +0 -256
- package/src/composables/uiPreferencesReset.ts +0 -53
- package/src/composables/useClipboard.ts +0 -38
- package/src/composables/useDialogOverlay.ts +0 -85
- package/src/composables/useDisclosure.ts +0 -40
- package/src/composables/useFloatingPosition.ts +0 -282
- package/src/composables/useNotifier.ts +0 -26
- package/src/composables/useSidebarPanelState.ts +0 -611
- package/src/composables/useUiKitLocale.ts +0 -17
- package/src/internal/chartGeometry.ts +0 -852
- package/src/internal/codeEditorContract.ts +0 -110
- package/src/internal/codeEditorExtensions.ts +0 -27
- package/src/internal/codeHighlight.ts +0 -110
- package/src/internal/codeLanguageIdentity.ts +0 -89
- package/src/internal/diffEngine.ts +0 -464
- package/src/internal/diffRuntime.ts +0 -189
- package/src/internal/es2020.ts +0 -50
- package/src/internal/feedbackPresentation.ts +0 -155
- package/src/internal/fieldPresentation.ts +0 -28
- package/src/internal/fieldSurface.ts +0 -59
- package/src/internal/focusNavigation.ts +0 -69
- package/src/internal/inlineTokenEditorContract.ts +0 -137
- package/src/internal/interactiveElement.ts +0 -33
- package/src/internal/layerStack.ts +0 -202
- package/src/internal/linkTarget.ts +0 -254
- package/src/internal/localeContext.ts +0 -22
- package/src/internal/ownedAttrs.ts +0 -505
- package/src/internal/passiveContentContract.ts +0 -129
- package/src/internal/pillSurface.ts +0 -93
- package/src/internal/pointerInteractionLease.ts +0 -82
- package/src/internal/runtimeContract.ts +0 -196
- package/src/internal/runtimeTheme.ts +0 -159
- package/src/internal/semanticTone.ts +0 -23
- package/src/internal/useBinaryInput.ts +0 -83
- package/src/internal/useMenuLayer.ts +0 -129
- package/src/locales/catalog.ts +0 -634
- package/src/locales/locale.ts +0 -472
- package/src/locales/messages.generated.ts +0 -1826
- package/src/locales/messages.ts +0 -150
- package/src/stores/useNotifierStore.ts +0 -86
- package/src/theme.ts +0 -476
- package/src/types/highlight-js-lib.d.ts +0 -76
- package/src/variants.ts +0 -15
- package/src/workers/diff.worker.ts +0 -73
- package/src/workers/diffProtocol.ts +0 -155
- /package/{index.ts → dist/index.d.ts} +0 -0
- /package/{src/internal/lazyCodeEditor.ts → dist/src/internal/lazyCodeEditor.d.ts} +0 -0
|
@@ -1,960 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div
|
|
3
|
-
v-bind="ownedAttrs.bindings()"
|
|
4
|
-
class="s-table-wrapper"
|
|
5
|
-
:data-surface="validatedSurface"
|
|
6
|
-
:data-min-width="validatedMinWidth"
|
|
7
|
-
:data-max-height="validatedMaxHeight"
|
|
8
|
-
>
|
|
9
|
-
<table
|
|
10
|
-
class="s-table"
|
|
11
|
-
:data-density="validatedDensity"
|
|
12
|
-
:aria-label="resolvedAccessibleName.ariaLabel"
|
|
13
|
-
:aria-labelledby="resolvedAccessibleName.ariaLabelledby"
|
|
14
|
-
:aria-describedby="validatedAriaDescribedby"
|
|
15
|
-
:aria-busy="validatedLoading ? 'true' : undefined"
|
|
16
|
-
>
|
|
17
|
-
<thead class="s-table-header">
|
|
18
|
-
<tr>
|
|
19
|
-
<th
|
|
20
|
-
v-if="validatedSelectionMode === 'multiple'"
|
|
21
|
-
class="s-table__control-cell"
|
|
22
|
-
scope="col"
|
|
23
|
-
data-width="2xs"
|
|
24
|
-
>
|
|
25
|
-
<SCheckbox
|
|
26
|
-
:model-value="allCurrentRowsSelected"
|
|
27
|
-
:indeterminate="someCurrentRowsSelected && !allCurrentRowsSelected"
|
|
28
|
-
:disabled="selectableRows.length === 0"
|
|
29
|
-
:aria-label="allCurrentRowsSelected ? t('table.clearAllRows') : t('table.selectAllRows')"
|
|
30
|
-
@update:model-value="updateAllRowsSelection"
|
|
31
|
-
/>
|
|
32
|
-
</th>
|
|
33
|
-
<th
|
|
34
|
-
v-if="hasRowDetails"
|
|
35
|
-
class="s-table__control-cell"
|
|
36
|
-
scope="col"
|
|
37
|
-
data-width="2xs"
|
|
38
|
-
>
|
|
39
|
-
<span class="s-table__assistive">{{ t('table.rowDetails') }}</span>
|
|
40
|
-
</th>
|
|
41
|
-
<th
|
|
42
|
-
v-for="column in validatedColumns"
|
|
43
|
-
:key="column.field"
|
|
44
|
-
scope="col"
|
|
45
|
-
:data-width="column.width"
|
|
46
|
-
:data-min-width="column.minWidth"
|
|
47
|
-
:data-align="column.align ?? 'left'"
|
|
48
|
-
:data-sortable="column.sortable || undefined"
|
|
49
|
-
:aria-sort="columnAriaSort(column)"
|
|
50
|
-
>
|
|
51
|
-
<SButton
|
|
52
|
-
v-if="column.sortable"
|
|
53
|
-
:aria-label="sortActionLabel(column)"
|
|
54
|
-
appearance="text"
|
|
55
|
-
severity="secondary"
|
|
56
|
-
size="xs"
|
|
57
|
-
density="compact"
|
|
58
|
-
width="full"
|
|
59
|
-
:content-align="column.align === 'right' ? 'end' : column.align === 'center' ? 'center' : 'start'"
|
|
60
|
-
:trailing-icon="sortIcon(column)"
|
|
61
|
-
:badge="sortPriority(column) ?? undefined"
|
|
62
|
-
badge-severity="primary"
|
|
63
|
-
@click="requestSort(column)"
|
|
64
|
-
>
|
|
65
|
-
<span
|
|
66
|
-
class="s-table__header-content"
|
|
67
|
-
:data-header-presentation="column.headerPresentation ?? 'visible'"
|
|
68
|
-
>
|
|
69
|
-
<slot name="column" :column="column">
|
|
70
|
-
<slot :name="`header-${column.field}`" :column="column">{{ column.header }}</slot>
|
|
71
|
-
</slot>
|
|
72
|
-
</span>
|
|
73
|
-
</SButton>
|
|
74
|
-
<span
|
|
75
|
-
v-else
|
|
76
|
-
class="s-table__header-content"
|
|
77
|
-
:data-header-presentation="column.headerPresentation ?? 'visible'"
|
|
78
|
-
>
|
|
79
|
-
<slot name="column" :column="column">
|
|
80
|
-
<slot :name="`header-${column.field}`" :column="column">{{ column.header }}</slot>
|
|
81
|
-
</slot>
|
|
82
|
-
</span>
|
|
83
|
-
</th>
|
|
84
|
-
</tr>
|
|
85
|
-
</thead>
|
|
86
|
-
<tbody class="s-table-body">
|
|
87
|
-
<SAsyncState
|
|
88
|
-
v-if="validatedLoading || errorMessage || validatedRows.length === 0"
|
|
89
|
-
:state="validatedLoading
|
|
90
|
-
? { status: 'loading', message: resolvedLoadingMessage }
|
|
91
|
-
: errorMessage
|
|
92
|
-
? { status: 'error', message: errorMessage }
|
|
93
|
-
: { status: 'empty', message: resolvedEmptyMessage }"
|
|
94
|
-
presentation="table-row"
|
|
95
|
-
:colspan="renderedColumnCount"
|
|
96
|
-
/>
|
|
97
|
-
<template v-else>
|
|
98
|
-
<template
|
|
99
|
-
v-for="entry in validatedRows"
|
|
100
|
-
:key="rowKeyToken(entry.key)"
|
|
101
|
-
>
|
|
102
|
-
<tr
|
|
103
|
-
:data-state="resolveRowState(entry.row)"
|
|
104
|
-
:data-selected="rowIsSelected(entry) || undefined"
|
|
105
|
-
:aria-selected="rowAriaSelected(entry)"
|
|
106
|
-
tabindex="0"
|
|
107
|
-
@click="onRowClick($event, entry.row, entry.index)"
|
|
108
|
-
@contextmenu="onRowContextMenu($event, entry.row, entry.index)"
|
|
109
|
-
@keydown.enter="onRowKeydown($event, entry.row, entry.index)"
|
|
110
|
-
@keydown.space="onRowKeydown($event, entry.row, entry.index)"
|
|
111
|
-
>
|
|
112
|
-
<td
|
|
113
|
-
v-if="validatedSelectionMode === 'multiple'"
|
|
114
|
-
class="s-table__control-cell"
|
|
115
|
-
>
|
|
116
|
-
<SCheckbox
|
|
117
|
-
:model-value="rowIsSelected(entry)"
|
|
118
|
-
:disabled="!entry.selectable"
|
|
119
|
-
:aria-label="rowSelectionLabel(entry)"
|
|
120
|
-
@update:model-value="updateRowSelection(entry, $event)"
|
|
121
|
-
/>
|
|
122
|
-
</td>
|
|
123
|
-
<td v-if="hasRowDetails" class="s-table__control-cell">
|
|
124
|
-
<SButton
|
|
125
|
-
v-if="entry.expandable"
|
|
126
|
-
:aria-label="rowExpansionLabel(entry)"
|
|
127
|
-
appearance="text"
|
|
128
|
-
severity="secondary"
|
|
129
|
-
size="xs"
|
|
130
|
-
density="compact"
|
|
131
|
-
shape="square"
|
|
132
|
-
icon-only
|
|
133
|
-
:disclosure="{
|
|
134
|
-
expanded: rowIsExpanded(entry),
|
|
135
|
-
controls: rowDetailsId(entry.key),
|
|
136
|
-
iconPlacement: 'leading',
|
|
137
|
-
}"
|
|
138
|
-
@click="toggleRowExpansion(entry)"
|
|
139
|
-
/>
|
|
140
|
-
</td>
|
|
141
|
-
<td
|
|
142
|
-
v-for="column in validatedColumns"
|
|
143
|
-
:key="column.field"
|
|
144
|
-
:data-align="column.align ?? 'left'"
|
|
145
|
-
:data-state="resolveCellState(entry.row, column)"
|
|
146
|
-
>
|
|
147
|
-
<slot
|
|
148
|
-
:name="`cell-${column.field}`"
|
|
149
|
-
:value="resolveCellValue(entry.row, column)"
|
|
150
|
-
:row="entry.row"
|
|
151
|
-
:column="column"
|
|
152
|
-
:row-index="entry.index"
|
|
153
|
-
>
|
|
154
|
-
<slot
|
|
155
|
-
name="cell"
|
|
156
|
-
:value="resolveCellValue(entry.row, column)"
|
|
157
|
-
:row="entry.row"
|
|
158
|
-
:column="column"
|
|
159
|
-
:row-index="entry.index"
|
|
160
|
-
>
|
|
161
|
-
{{ resolveCellValue(entry.row, column) }}
|
|
162
|
-
</slot>
|
|
163
|
-
</slot>
|
|
164
|
-
</td>
|
|
165
|
-
</tr>
|
|
166
|
-
<tr v-if="entry.expandable && rowIsExpanded(entry)" data-row-details>
|
|
167
|
-
<td :colspan="renderedColumnCount">
|
|
168
|
-
<div
|
|
169
|
-
:id="rowDetailsId(entry.key)"
|
|
170
|
-
class="s-table__row-details"
|
|
171
|
-
role="region"
|
|
172
|
-
:aria-label="t('table.detailsFor', { label: resolveRowLabel(entry.row, entry.index) })"
|
|
173
|
-
>
|
|
174
|
-
<slot name="row-details" :row="entry.row" :row-index="entry.index" />
|
|
175
|
-
</div>
|
|
176
|
-
</td>
|
|
177
|
-
</tr>
|
|
178
|
-
</template>
|
|
179
|
-
</template>
|
|
180
|
-
</tbody>
|
|
181
|
-
</table>
|
|
182
|
-
</div>
|
|
183
|
-
</template>
|
|
184
|
-
|
|
185
|
-
<script lang="ts">
|
|
186
|
-
import type { ScrollableViewportMaxBlockSize } from '../../../internal/semanticSizing'
|
|
187
|
-
import type {
|
|
188
|
-
STableCellState,
|
|
189
|
-
STableColumn,
|
|
190
|
-
STableColumnContent,
|
|
191
|
-
STableColumnHeaderPresentation,
|
|
192
|
-
STableDensity,
|
|
193
|
-
STableMinWidth,
|
|
194
|
-
STableRowKey,
|
|
195
|
-
STableRowState,
|
|
196
|
-
STableSelectionMode,
|
|
197
|
-
STableSort,
|
|
198
|
-
STableSortMode,
|
|
199
|
-
STableSurface,
|
|
200
|
-
} from './table'
|
|
201
|
-
|
|
202
|
-
export type {
|
|
203
|
-
STableAlignment,
|
|
204
|
-
STableCellState,
|
|
205
|
-
STableColumn,
|
|
206
|
-
STableColumnContent,
|
|
207
|
-
STableColumnHeaderPresentation,
|
|
208
|
-
STableDensity,
|
|
209
|
-
STableMinWidth,
|
|
210
|
-
STableRowKey,
|
|
211
|
-
STableRowState,
|
|
212
|
-
STableSelectionMode,
|
|
213
|
-
STableSort,
|
|
214
|
-
STableSortDirection,
|
|
215
|
-
STableSortMode,
|
|
216
|
-
STableSurface,
|
|
217
|
-
} from './table'
|
|
218
|
-
|
|
219
|
-
/** Публичный generic-контракт таблицы принадлежит source-SFC runtime. / The public generic table contract is owned by the source-SFC runtime. */
|
|
220
|
-
export interface STableProps<
|
|
221
|
-
Row extends object,
|
|
222
|
-
RowKey extends STableRowKey,
|
|
223
|
-
Field extends string,
|
|
224
|
-
> {
|
|
225
|
-
columns: readonly STableColumn<Row, Field>[]
|
|
226
|
-
data: readonly Row[]
|
|
227
|
-
getRowKey: (row: Row) => RowKey
|
|
228
|
-
loading?: boolean
|
|
229
|
-
loadingMessage?: string
|
|
230
|
-
errorMessage?: string
|
|
231
|
-
emptyMessage?: string
|
|
232
|
-
selectedRowKey?: RowKey
|
|
233
|
-
selectionMode?: STableSelectionMode
|
|
234
|
-
selectedRowKeys?: readonly RowKey[]
|
|
235
|
-
isRowSelectable?: (row: Row, index: number) => boolean
|
|
236
|
-
expandedRowKeys?: readonly RowKey[]
|
|
237
|
-
isRowExpandable?: (row: Row, index: number) => boolean
|
|
238
|
-
getRowLabel?: (row: Row, index: number) => string
|
|
239
|
-
sortMode?: STableSortMode
|
|
240
|
-
sort?: STableSort<Field> | null
|
|
241
|
-
sorts?: readonly STableSort<Field>[]
|
|
242
|
-
maxHeight?: ScrollableViewportMaxBlockSize
|
|
243
|
-
density?: STableDensity
|
|
244
|
-
surface?: STableSurface
|
|
245
|
-
minWidth?: STableMinWidth
|
|
246
|
-
rowState?: (row: Row) => STableRowState
|
|
247
|
-
cellState?: (row: Row, column: STableColumn<Row, Field>) => STableCellState
|
|
248
|
-
/** Accessible name без visible owner. / Accessible name when there is no visible owner. */
|
|
249
|
-
ariaLabel?: string
|
|
250
|
-
/** DOM id visible owner, mutually exclusive with ariaLabel. / DOM id of the visible owner, mutually exclusive with ariaLabel. */
|
|
251
|
-
ariaLabelledby?: string
|
|
252
|
-
/** DOM id supplemental status/diagnostic owner. / DOM id of a supplemental status/diagnostic owner. */
|
|
253
|
-
ariaDescribedby?: string
|
|
254
|
-
}
|
|
255
|
-
</script>
|
|
256
|
-
|
|
257
|
-
<script setup lang="ts" generic="Row extends object = Record<string, unknown>, RowKey extends STableRowKey = STableRowKey, Field extends string = Extract<keyof Row, string>">
|
|
258
|
-
import { computed, useId, useSlots, watch } from 'vue'
|
|
259
|
-
import { useUiKitLocale } from '../../../composables/useUiKitLocale'
|
|
260
|
-
import { ChevronDown, ChevronsUpDown, ChevronUp } from '../../icons/sputnigUiIcons'
|
|
261
|
-
import { hasOwn } from '../../../internal/es2020'
|
|
262
|
-
import { useOwnedAttrs } from '../../../internal/ownedAttrs'
|
|
263
|
-
import { useInteractiveLeafRegistration } from '../../../internal/passiveContentContract'
|
|
264
|
-
import {
|
|
265
|
-
validateScrollableViewportMaxBlockSize,
|
|
266
|
-
validateTableColumnInlineSize,
|
|
267
|
-
validateTableColumnMinInlineSize,
|
|
268
|
-
} from '../../../internal/semanticSizing'
|
|
269
|
-
import {
|
|
270
|
-
validateBoolean,
|
|
271
|
-
validateDomId,
|
|
272
|
-
validateExactString,
|
|
273
|
-
validateNonEmptyString,
|
|
274
|
-
} from '../../../internal/runtimeContract'
|
|
275
|
-
import SAsyncState from '../feedback/SAsyncState.vue'
|
|
276
|
-
import SButton from '../controls/SButton.vue'
|
|
277
|
-
import SCheckbox from '../controls/SCheckbox.vue'
|
|
278
|
-
defineOptions({ inheritAttrs: false })
|
|
279
|
-
|
|
280
|
-
const props = withDefaults(defineProps<STableProps<Row, RowKey, Field>>(), {
|
|
281
|
-
loading: false,
|
|
282
|
-
loadingMessage: undefined,
|
|
283
|
-
errorMessage: '',
|
|
284
|
-
emptyMessage: undefined,
|
|
285
|
-
selectedRowKey: undefined,
|
|
286
|
-
selectionMode: 'none',
|
|
287
|
-
selectedRowKeys: () => [],
|
|
288
|
-
isRowSelectable: undefined,
|
|
289
|
-
expandedRowKeys: () => [],
|
|
290
|
-
isRowExpandable: undefined,
|
|
291
|
-
getRowLabel: undefined,
|
|
292
|
-
sortMode: 'single',
|
|
293
|
-
sort: null,
|
|
294
|
-
sorts: () => [],
|
|
295
|
-
maxHeight: 'none',
|
|
296
|
-
density: 'default',
|
|
297
|
-
surface: 'bordered',
|
|
298
|
-
minWidth: 'content',
|
|
299
|
-
rowState: undefined,
|
|
300
|
-
cellState: undefined,
|
|
301
|
-
ariaLabel: undefined,
|
|
302
|
-
ariaLabelledby: undefined,
|
|
303
|
-
ariaDescribedby: undefined,
|
|
304
|
-
})
|
|
305
|
-
const emit = defineEmits<{
|
|
306
|
-
'row-click': [row: Row, index: number]
|
|
307
|
-
'row-contextmenu': [row: Row, index: number, event: MouseEvent]
|
|
308
|
-
'update:selectedRowKeys': [value: readonly RowKey[]]
|
|
309
|
-
'update:expandedRowKeys': [value: readonly RowKey[]]
|
|
310
|
-
'row-expand': [row: Row, index: number, expanded: boolean]
|
|
311
|
-
'update:sort': [value: STableSort<Field> | null]
|
|
312
|
-
sort: [value: STableSort<Field> | null]
|
|
313
|
-
'update:sorts': [value: readonly STableSort<Field>[]]
|
|
314
|
-
'multi-sort': [value: readonly STableSort<Field>[]]
|
|
315
|
-
}>()
|
|
316
|
-
const slots = useSlots()
|
|
317
|
-
const { t } = useUiKitLocale()
|
|
318
|
-
|
|
319
|
-
const TABLE_DENSITIES = ['default', 'compact'] as const
|
|
320
|
-
const TABLE_SURFACES = ['bordered', 'plain'] as const
|
|
321
|
-
const TABLE_MIN_WIDTHS = ['content', 'md', 'lg'] as const
|
|
322
|
-
const TABLE_ALIGNMENTS = ['left', 'center', 'right'] as const
|
|
323
|
-
const TABLE_ROW_STATES = ['default', 'inserted', 'updated', 'deleted'] as const
|
|
324
|
-
const TABLE_CELL_STATES = ['default', 'pending'] as const
|
|
325
|
-
const TABLE_COLUMN_CONTENT = ['field', 'value', 'slot'] as const
|
|
326
|
-
const TABLE_HEADER_PRESENTATIONS = ['visible', 'assistive'] as const
|
|
327
|
-
const TABLE_SELECTION_MODES = ['none', 'multiple'] as const
|
|
328
|
-
const TABLE_SORT_MODES = ['single', 'multiple'] as const
|
|
329
|
-
const TABLE_SORT_DIRECTIONS = ['ascending', 'descending'] as const
|
|
330
|
-
|
|
331
|
-
const ownedAttrs = useOwnedAttrs({ component: 'STable', owner: 'table scroll surface' })
|
|
332
|
-
useInteractiveLeafRegistration({ owner: 'STable' })
|
|
333
|
-
const tableInstanceId = `s-table-${useId()}`
|
|
334
|
-
const hasRowDetails = typeof slots['row-details'] === 'function'
|
|
335
|
-
|
|
336
|
-
function eventBelongsToNestedControl(event: Event): boolean {
|
|
337
|
-
const owner = event.currentTarget
|
|
338
|
-
return event.composedPath().some((candidate) => candidate !== owner && candidate instanceof HTMLElement && (
|
|
339
|
-
candidate.matches('button, a, input, select, textarea, [role="button"], [role="link"]')
|
|
340
|
-
))
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
function onRowClick(event: MouseEvent, row: Row, rowIndex: number): void {
|
|
344
|
-
if (!eventBelongsToNestedControl(event)) emit('row-click', row, rowIndex)
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
function onRowContextMenu(event: MouseEvent, row: Row, rowIndex: number): void {
|
|
348
|
-
if (!eventBelongsToNestedControl(event)) emit('row-contextmenu', row, rowIndex, event)
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
function onRowKeydown(event: KeyboardEvent, row: Row, rowIndex: number): void {
|
|
352
|
-
if (event.target !== event.currentTarget) return
|
|
353
|
-
event.preventDefault()
|
|
354
|
-
emit('row-click', row, rowIndex)
|
|
355
|
-
}
|
|
356
|
-
const validatedLoading = computed(() => validateBoolean('STable', 'loading', props.loading))
|
|
357
|
-
const resolvedLoadingMessage = computed(() => props.loadingMessage ?? t('table.loading'))
|
|
358
|
-
const resolvedEmptyMessage = computed(() => props.emptyMessage ?? t('table.empty'))
|
|
359
|
-
const resolvedAccessibleName = computed(() => {
|
|
360
|
-
if (props.ariaLabel !== undefined && props.ariaLabelledby !== undefined) {
|
|
361
|
-
throw new TypeError('STable: задайте только ariaLabel или ariaLabelledby. / STable: provide only ariaLabel or ariaLabelledby.')
|
|
362
|
-
}
|
|
363
|
-
if (props.ariaLabelledby !== undefined) {
|
|
364
|
-
return {
|
|
365
|
-
ariaLabel: undefined,
|
|
366
|
-
ariaLabelledby: validateDomId('STable', 'ariaLabelledby', props.ariaLabelledby),
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
return {
|
|
370
|
-
ariaLabel: props.ariaLabel === undefined
|
|
371
|
-
? t('table.accessibleName')
|
|
372
|
-
: validateNonEmptyString('STable', 'ariaLabel', props.ariaLabel),
|
|
373
|
-
ariaLabelledby: undefined,
|
|
374
|
-
}
|
|
375
|
-
})
|
|
376
|
-
const validatedAriaDescribedby = computed(() => props.ariaDescribedby === undefined
|
|
377
|
-
? undefined
|
|
378
|
-
: validateDomId('STable', 'ariaDescribedby', props.ariaDescribedby))
|
|
379
|
-
const validatedDensity = computed(() => validateExactString(
|
|
380
|
-
'STable',
|
|
381
|
-
'density',
|
|
382
|
-
props.density,
|
|
383
|
-
TABLE_DENSITIES,
|
|
384
|
-
))
|
|
385
|
-
const validatedSurface = computed(() => validateExactString(
|
|
386
|
-
'STable',
|
|
387
|
-
'surface',
|
|
388
|
-
props.surface,
|
|
389
|
-
TABLE_SURFACES,
|
|
390
|
-
))
|
|
391
|
-
const validatedMinWidth = computed(() => validateExactString(
|
|
392
|
-
'STable',
|
|
393
|
-
'minWidth',
|
|
394
|
-
props.minWidth,
|
|
395
|
-
TABLE_MIN_WIDTHS,
|
|
396
|
-
))
|
|
397
|
-
const validatedMaxHeight = computed(() => validateScrollableViewportMaxBlockSize(
|
|
398
|
-
'STable',
|
|
399
|
-
'maxHeight',
|
|
400
|
-
props.maxHeight,
|
|
401
|
-
))
|
|
402
|
-
const validatedSelectionMode = computed(() => validateExactString(
|
|
403
|
-
'STable',
|
|
404
|
-
'selectionMode',
|
|
405
|
-
props.selectionMode,
|
|
406
|
-
TABLE_SELECTION_MODES,
|
|
407
|
-
))
|
|
408
|
-
const validatedSortMode = computed(() => validateExactString(
|
|
409
|
-
'STable',
|
|
410
|
-
'sortMode',
|
|
411
|
-
props.sortMode,
|
|
412
|
-
TABLE_SORT_MODES,
|
|
413
|
-
))
|
|
414
|
-
|
|
415
|
-
const validatedColumns = computed<readonly STableColumn<Row, Field>[]>(() => {
|
|
416
|
-
const fields = new Set<string>()
|
|
417
|
-
for (const column of props.columns) {
|
|
418
|
-
const field = validateNonEmptyString('STable', 'columns[].field', column.field)
|
|
419
|
-
validateNonEmptyString('STable', `column ${JSON.stringify(field)}.header`, column.header)
|
|
420
|
-
const headerPresentation: STableColumnHeaderPresentation = validateExactString(
|
|
421
|
-
'STable',
|
|
422
|
-
`column ${JSON.stringify(field)}.headerPresentation`,
|
|
423
|
-
column.headerPresentation ?? 'visible',
|
|
424
|
-
TABLE_HEADER_PRESENTATIONS,
|
|
425
|
-
)
|
|
426
|
-
if (fields.has(field)) {
|
|
427
|
-
throw new TypeError(
|
|
428
|
-
`STable: columns содержит duplicate field ${JSON.stringify(field)}. `
|
|
429
|
-
+ `/ STable: columns contains duplicate field ${JSON.stringify(field)}.`,
|
|
430
|
-
)
|
|
431
|
-
}
|
|
432
|
-
fields.add(field)
|
|
433
|
-
if (column.align !== undefined) {
|
|
434
|
-
validateExactString('STable', `column ${JSON.stringify(field)}.align`, column.align, TABLE_ALIGNMENTS)
|
|
435
|
-
}
|
|
436
|
-
if (column.sortable !== undefined) {
|
|
437
|
-
validateBoolean('STable', `column ${JSON.stringify(field)}.sortable`, column.sortable)
|
|
438
|
-
}
|
|
439
|
-
if (headerPresentation === 'assistive' && column.sortable) {
|
|
440
|
-
throw new TypeError(
|
|
441
|
-
`STable: assistive header column ${JSON.stringify(field)} не может быть sortable без visible action. `
|
|
442
|
-
+ `/ STable: assistive header column ${JSON.stringify(field)} cannot be sortable without a visible action.`,
|
|
443
|
-
)
|
|
444
|
-
}
|
|
445
|
-
if (column.width !== undefined) {
|
|
446
|
-
validateTableColumnInlineSize('STable', `column ${JSON.stringify(field)}.width`, column.width)
|
|
447
|
-
}
|
|
448
|
-
if (column.minWidth !== undefined) {
|
|
449
|
-
validateTableColumnMinInlineSize('STable', `column ${JSON.stringify(field)}.minWidth`, column.minWidth)
|
|
450
|
-
}
|
|
451
|
-
const content: STableColumnContent = validateExactString(
|
|
452
|
-
'STable',
|
|
453
|
-
`column ${JSON.stringify(field)}.content`,
|
|
454
|
-
column.content ?? (column.value === undefined ? 'field' : 'value'),
|
|
455
|
-
TABLE_COLUMN_CONTENT,
|
|
456
|
-
)
|
|
457
|
-
if (content === 'value' && typeof column.value !== 'function') {
|
|
458
|
-
throw new TypeError(
|
|
459
|
-
`STable: value column ${JSON.stringify(field)} должен предоставить function value resolver. `
|
|
460
|
-
+ `/ STable: value column ${JSON.stringify(field)} must provide a function value resolver.`,
|
|
461
|
-
)
|
|
462
|
-
}
|
|
463
|
-
if (content !== 'value' && column.value !== undefined) {
|
|
464
|
-
throw new TypeError(
|
|
465
|
-
`STable: ${content} column ${JSON.stringify(field)} не принимает value resolver. `
|
|
466
|
-
+ `/ STable: ${content} column ${JSON.stringify(field)} does not accept a value resolver.`,
|
|
467
|
-
)
|
|
468
|
-
}
|
|
469
|
-
if (content === 'slot' && typeof slots[`cell-${field}`] !== 'function') {
|
|
470
|
-
throw new TypeError(
|
|
471
|
-
`STable: slot column ${JSON.stringify(field)} требует named slot ${JSON.stringify(`cell-${field}`)}. `
|
|
472
|
-
+ `/ STable: slot column ${JSON.stringify(field)} requires named slot ${JSON.stringify(`cell-${field}`)}.`,
|
|
473
|
-
)
|
|
474
|
-
}
|
|
475
|
-
}
|
|
476
|
-
return props.columns
|
|
477
|
-
})
|
|
478
|
-
|
|
479
|
-
function validateSortEntry(value: unknown, coordinate: string): STableSort<Field> {
|
|
480
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
481
|
-
throw new TypeError(
|
|
482
|
-
`STable: ${coordinate} должен быть STableSort object. `
|
|
483
|
-
+ `/ STable: ${coordinate} must be an STableSort object.`,
|
|
484
|
-
)
|
|
485
|
-
}
|
|
486
|
-
const entry = value as Record<string, unknown>
|
|
487
|
-
const key = validateNonEmptyString('STable', `${coordinate}.key`, entry.key) as Field
|
|
488
|
-
const column = validatedColumns.value.find((candidate) => candidate.field === key)
|
|
489
|
-
if (!column?.sortable) {
|
|
490
|
-
throw new TypeError(`STable: sort key ${JSON.stringify(key)} должен ссылаться на sortable column. / STable: sort key ${JSON.stringify(key)} must reference a sortable column.`)
|
|
491
|
-
}
|
|
492
|
-
return {
|
|
493
|
-
key,
|
|
494
|
-
direction: validateExactString(
|
|
495
|
-
'STable',
|
|
496
|
-
`${coordinate}.direction`,
|
|
497
|
-
entry.direction,
|
|
498
|
-
TABLE_SORT_DIRECTIONS,
|
|
499
|
-
),
|
|
500
|
-
}
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
const validatedSingleSort = computed<STableSort<Field> | null>(() => {
|
|
504
|
-
if (validatedSortMode.value === 'multiple') {
|
|
505
|
-
if (props.sort !== null && props.sort !== undefined) {
|
|
506
|
-
throw new TypeError(
|
|
507
|
-
'STable: sortMode="multiple" несовместим с sort; используйте v-model:sorts. '
|
|
508
|
-
+ '/ STable: sortMode="multiple" is incompatible with sort; use v-model:sorts.',
|
|
509
|
-
)
|
|
510
|
-
}
|
|
511
|
-
return null
|
|
512
|
-
}
|
|
513
|
-
if (props.sort === null || props.sort === undefined) return null
|
|
514
|
-
return validateSortEntry(props.sort, 'sort')
|
|
515
|
-
})
|
|
516
|
-
|
|
517
|
-
const validatedMultipleSort = computed<readonly STableSort<Field>[]>(() => {
|
|
518
|
-
const sorts: unknown = props.sorts
|
|
519
|
-
if (!Array.isArray(sorts)) {
|
|
520
|
-
throw new TypeError(
|
|
521
|
-
'STable: sorts должен быть ordered STableSort array. '
|
|
522
|
-
+ '/ STable: sorts must be an ordered STableSort array.',
|
|
523
|
-
)
|
|
524
|
-
}
|
|
525
|
-
if (validatedSortMode.value === 'single') {
|
|
526
|
-
if (sorts.length > 0) {
|
|
527
|
-
throw new TypeError(
|
|
528
|
-
'STable: sortMode="single" несовместим с непустым sorts; используйте v-model:sort. '
|
|
529
|
-
+ '/ STable: sortMode="single" is incompatible with non-empty sorts; use v-model:sort.',
|
|
530
|
-
)
|
|
531
|
-
}
|
|
532
|
-
return []
|
|
533
|
-
}
|
|
534
|
-
const keys = new Set<Field>()
|
|
535
|
-
return sorts.map((entry, index) => {
|
|
536
|
-
const validated = validateSortEntry(entry, `sorts[${index}]`)
|
|
537
|
-
if (keys.has(validated.key)) {
|
|
538
|
-
throw new TypeError(
|
|
539
|
-
`STable: sorts содержит duplicate key ${JSON.stringify(validated.key)}. `
|
|
540
|
-
+ `/ STable: sorts contains duplicate key ${JSON.stringify(validated.key)}.`,
|
|
541
|
-
)
|
|
542
|
-
}
|
|
543
|
-
keys.add(validated.key)
|
|
544
|
-
return validated
|
|
545
|
-
})
|
|
546
|
-
})
|
|
547
|
-
|
|
548
|
-
const activeSorts = computed<readonly STableSort<Field>[]>(() => {
|
|
549
|
-
const singleSort = validatedSingleSort.value
|
|
550
|
-
const multipleSort = validatedMultipleSort.value
|
|
551
|
-
if (validatedSortMode.value === 'multiple') return multipleSort
|
|
552
|
-
return singleSort === null ? [] : [singleSort]
|
|
553
|
-
})
|
|
554
|
-
|
|
555
|
-
const NO_PENDING_SORT = Symbol('STable.no-pending-sort')
|
|
556
|
-
let pendingSingleSort: STableSort<Field> | null | typeof NO_PENDING_SORT = NO_PENDING_SORT
|
|
557
|
-
let pendingMultipleSort: readonly STableSort<Field>[] | typeof NO_PENDING_SORT = NO_PENDING_SORT
|
|
558
|
-
|
|
559
|
-
const clearPendingSortIntent = (): void => {
|
|
560
|
-
pendingSingleSort = NO_PENDING_SORT
|
|
561
|
-
pendingMultipleSort = NO_PENDING_SORT
|
|
562
|
-
}
|
|
563
|
-
|
|
564
|
-
watch(validatedSortMode, clearPendingSortIntent, { flush: 'sync' })
|
|
565
|
-
watch(validatedSingleSort, () => {
|
|
566
|
-
pendingSingleSort = NO_PENDING_SORT
|
|
567
|
-
}, { deep: true, flush: 'sync' })
|
|
568
|
-
watch(validatedMultipleSort, () => {
|
|
569
|
-
pendingMultipleSort = NO_PENDING_SORT
|
|
570
|
-
}, { deep: true, flush: 'sync' })
|
|
571
|
-
|
|
572
|
-
function sortIndex(column: STableColumn<Row, Field>): number {
|
|
573
|
-
return activeSorts.value.findIndex((candidate) => candidate.key === column.field)
|
|
574
|
-
}
|
|
575
|
-
|
|
576
|
-
function sortPriority(column: STableColumn<Row, Field>): number | null {
|
|
577
|
-
if (validatedSortMode.value !== 'multiple') return null
|
|
578
|
-
const index = sortIndex(column)
|
|
579
|
-
return index === -1 ? null : index + 1
|
|
580
|
-
}
|
|
581
|
-
|
|
582
|
-
const columnAriaSort = (column: STableColumn<Row, Field>): 'none' | 'ascending' | 'descending' | undefined => {
|
|
583
|
-
if (!column.sortable) return undefined
|
|
584
|
-
if (validatedSortMode.value === 'multiple') {
|
|
585
|
-
const primary = activeSorts.value[0]
|
|
586
|
-
return primary?.key === column.field ? primary.direction : undefined
|
|
587
|
-
}
|
|
588
|
-
const current = activeSorts.value[0]
|
|
589
|
-
return current?.key === column.field ? current.direction : 'none'
|
|
590
|
-
}
|
|
591
|
-
|
|
592
|
-
const sortIcon = (column: STableColumn<Row, Field>) => {
|
|
593
|
-
const direction = activeSorts.value.find((candidate) => candidate.key === column.field)?.direction
|
|
594
|
-
return direction === 'ascending' ? ChevronUp : direction === 'descending' ? ChevronDown : ChevronsUpDown
|
|
595
|
-
}
|
|
596
|
-
|
|
597
|
-
const sortActionLabel = (column: STableColumn<Row, Field>): string => {
|
|
598
|
-
const index = sortIndex(column)
|
|
599
|
-
const current = index === -1 ? undefined : activeSorts.value[index]
|
|
600
|
-
if (validatedSortMode.value === 'multiple') {
|
|
601
|
-
if (!current) return t('table.addSortAscending', { column: column.header })
|
|
602
|
-
const direction = current.direction === 'ascending'
|
|
603
|
-
? t('table.ascending')
|
|
604
|
-
: t('table.descending')
|
|
605
|
-
const action = current.direction === 'ascending'
|
|
606
|
-
? t('table.sortNextDescending')
|
|
607
|
-
: t('table.removeFromSort')
|
|
608
|
-
return t('table.multiSortSummary', {
|
|
609
|
-
column: column.header,
|
|
610
|
-
priority: index + 1,
|
|
611
|
-
total: activeSorts.value.length,
|
|
612
|
-
direction,
|
|
613
|
-
action,
|
|
614
|
-
})
|
|
615
|
-
}
|
|
616
|
-
const direction = current?.direction
|
|
617
|
-
if (direction === 'ascending') return t('table.sortDescending', { column: column.header })
|
|
618
|
-
if (direction === 'descending') return t('table.clearSort', { column: column.header })
|
|
619
|
-
return t('table.sortAscending', { column: column.header })
|
|
620
|
-
}
|
|
621
|
-
|
|
622
|
-
function requestSort(column: STableColumn<Row, Field>): void {
|
|
623
|
-
if (!column.sortable) return
|
|
624
|
-
const key = column.field as Field
|
|
625
|
-
if (validatedSortMode.value === 'multiple') {
|
|
626
|
-
const current = pendingMultipleSort === NO_PENDING_SORT
|
|
627
|
-
? activeSorts.value
|
|
628
|
-
: pendingMultipleSort
|
|
629
|
-
const index = current.findIndex((candidate) => candidate.key === key)
|
|
630
|
-
let next: readonly STableSort<Field>[]
|
|
631
|
-
if (index === -1) next = [...current, { key, direction: 'ascending' }]
|
|
632
|
-
else if (current[index]!.direction === 'ascending') {
|
|
633
|
-
next = current.map((entry, candidateIndex) => candidateIndex === index
|
|
634
|
-
? { key: entry.key, direction: 'descending' }
|
|
635
|
-
: entry)
|
|
636
|
-
} else next = current.filter((_entry, candidateIndex) => candidateIndex !== index)
|
|
637
|
-
pendingMultipleSort = next.map((entry) => ({ ...entry }))
|
|
638
|
-
emit('update:sorts', next)
|
|
639
|
-
emit('multi-sort', next)
|
|
640
|
-
} else {
|
|
641
|
-
const current = pendingSingleSort === NO_PENDING_SORT
|
|
642
|
-
? activeSorts.value[0]
|
|
643
|
-
: pendingSingleSort ?? undefined
|
|
644
|
-
const next: STableSort<Field> | null = current?.key !== key
|
|
645
|
-
? { key, direction: 'ascending' }
|
|
646
|
-
: current.direction === 'ascending'
|
|
647
|
-
? { key, direction: 'descending' }
|
|
648
|
-
: null
|
|
649
|
-
pendingSingleSort = next === null ? null : { ...next }
|
|
650
|
-
emit('update:sort', next)
|
|
651
|
-
emit('sort', next)
|
|
652
|
-
}
|
|
653
|
-
}
|
|
654
|
-
|
|
655
|
-
function describeRowKey(key: STableRowKey): string {
|
|
656
|
-
return typeof key === 'string' ? JSON.stringify(key) : String(key)
|
|
657
|
-
}
|
|
658
|
-
|
|
659
|
-
function diagnosticOwner(): string {
|
|
660
|
-
return resolvedAccessibleName.value.ariaLabel === undefined
|
|
661
|
-
? `STable [aria-labelledby=${JSON.stringify(resolvedAccessibleName.value.ariaLabelledby)}]`
|
|
662
|
-
: `STable ${JSON.stringify(resolvedAccessibleName.value.ariaLabel)}`
|
|
663
|
-
}
|
|
664
|
-
|
|
665
|
-
function describeThrownError(error: unknown): string {
|
|
666
|
-
return error instanceof Error ? `${error.name}: ${error.message}` : String(error)
|
|
667
|
-
}
|
|
668
|
-
|
|
669
|
-
function validateRowKey(value: unknown, coordinate: string): RowKey {
|
|
670
|
-
if (
|
|
671
|
-
(typeof value === 'string' && value.trim().length > 0)
|
|
672
|
-
|| (typeof value === 'number' && Number.isFinite(value))
|
|
673
|
-
) return value as RowKey
|
|
674
|
-
|
|
675
|
-
throw new TypeError(
|
|
676
|
-
`${diagnosticOwner()}: ${coordinate} должен вернуть non-empty string | finite number. `
|
|
677
|
-
+ `/ ${diagnosticOwner()}: ${coordinate} must return a non-empty string | finite number.`,
|
|
678
|
-
)
|
|
679
|
-
}
|
|
680
|
-
|
|
681
|
-
function resolveRowKey(row: Row, rowIndex: number): RowKey {
|
|
682
|
-
if (typeof props.getRowKey !== 'function') {
|
|
683
|
-
throw new TypeError(
|
|
684
|
-
`${diagnosticOwner()}: getRowKey должен быть обязательным function resolver. `
|
|
685
|
-
+ `/ ${diagnosticOwner()}: getRowKey must be a required function resolver.`,
|
|
686
|
-
)
|
|
687
|
-
}
|
|
688
|
-
|
|
689
|
-
let value: unknown
|
|
690
|
-
try {
|
|
691
|
-
value = props.getRowKey(row)
|
|
692
|
-
} catch (error: unknown) {
|
|
693
|
-
throw new TypeError(
|
|
694
|
-
`${diagnosticOwner()}: getRowKey failed at data[${rowIndex}]: ${describeThrownError(error)}.`,
|
|
695
|
-
)
|
|
696
|
-
}
|
|
697
|
-
return validateRowKey(value, `getRowKey at data[${rowIndex}]`)
|
|
698
|
-
}
|
|
699
|
-
|
|
700
|
-
function validateControlledKeys(coordinate: string, value: unknown): readonly RowKey[] {
|
|
701
|
-
if (!Array.isArray(value)) {
|
|
702
|
-
throw new TypeError(
|
|
703
|
-
`${diagnosticOwner()}: ${coordinate} должен быть readonly array. `
|
|
704
|
-
+ `/ ${diagnosticOwner()}: ${coordinate} must be a readonly array.`,
|
|
705
|
-
)
|
|
706
|
-
}
|
|
707
|
-
const validated: RowKey[] = []
|
|
708
|
-
const seen = new Set<STableRowKey>()
|
|
709
|
-
for (const [index, candidate] of value.entries()) {
|
|
710
|
-
const key = validateRowKey(candidate, `${coordinate}[${index}]`)
|
|
711
|
-
if (seen.has(key)) {
|
|
712
|
-
throw new TypeError(
|
|
713
|
-
`${diagnosticOwner()}: ${coordinate} содержит duplicate key ${describeRowKey(key)}. `
|
|
714
|
-
+ `/ ${diagnosticOwner()}: ${coordinate} contains duplicate key ${describeRowKey(key)}.`,
|
|
715
|
-
)
|
|
716
|
-
}
|
|
717
|
-
seen.add(key)
|
|
718
|
-
validated.push(key)
|
|
719
|
-
}
|
|
720
|
-
return validated
|
|
721
|
-
}
|
|
722
|
-
|
|
723
|
-
const validatedSelectedRowKey = computed<RowKey | undefined>(() => {
|
|
724
|
-
if (props.selectedRowKey === undefined) return undefined
|
|
725
|
-
if (validatedSelectionMode.value === 'multiple') {
|
|
726
|
-
throw new TypeError(
|
|
727
|
-
`${diagnosticOwner()}: selectedRowKey несовместим с selectionMode="multiple"; используйте selectedRowKeys. `
|
|
728
|
-
+ `/ ${diagnosticOwner()}: selectedRowKey is incompatible with selectionMode="multiple"; use selectedRowKeys.`,
|
|
729
|
-
)
|
|
730
|
-
}
|
|
731
|
-
return validateRowKey(props.selectedRowKey, 'selectedRowKey')
|
|
732
|
-
})
|
|
733
|
-
|
|
734
|
-
const validatedSelectedRowKeys = computed<readonly RowKey[]>(() => {
|
|
735
|
-
const keys = validateControlledKeys('selectedRowKeys', props.selectedRowKeys)
|
|
736
|
-
if (validatedSelectionMode.value === 'none' && keys.length > 0) {
|
|
737
|
-
throw new TypeError(
|
|
738
|
-
`${diagnosticOwner()}: selectedRowKeys требует selectionMode="multiple". `
|
|
739
|
-
+ `/ ${diagnosticOwner()}: selectedRowKeys requires selectionMode="multiple".`,
|
|
740
|
-
)
|
|
741
|
-
}
|
|
742
|
-
if (props.isRowSelectable !== undefined && validatedSelectionMode.value !== 'multiple') {
|
|
743
|
-
throw new TypeError(
|
|
744
|
-
`${diagnosticOwner()}: isRowSelectable требует selectionMode="multiple". `
|
|
745
|
-
+ `/ ${diagnosticOwner()}: isRowSelectable requires selectionMode="multiple".`,
|
|
746
|
-
)
|
|
747
|
-
}
|
|
748
|
-
if (props.isRowSelectable !== undefined && typeof props.isRowSelectable !== 'function') {
|
|
749
|
-
throw new TypeError(`${diagnosticOwner()}: isRowSelectable must be a function.`)
|
|
750
|
-
}
|
|
751
|
-
return keys
|
|
752
|
-
})
|
|
753
|
-
|
|
754
|
-
const validatedExpandedRowKeys = computed<readonly RowKey[]>(() => {
|
|
755
|
-
const keys = validateControlledKeys('expandedRowKeys', props.expandedRowKeys)
|
|
756
|
-
if (!hasRowDetails && (keys.length > 0 || props.isRowExpandable !== undefined)) {
|
|
757
|
-
throw new TypeError(
|
|
758
|
-
`${diagnosticOwner()}: expandedRowKeys/isRowExpandable требует slot row-details. `
|
|
759
|
-
+ `/ ${diagnosticOwner()}: expandedRowKeys/isRowExpandable requires the row-details slot.`,
|
|
760
|
-
)
|
|
761
|
-
}
|
|
762
|
-
if (props.isRowExpandable !== undefined && typeof props.isRowExpandable !== 'function') {
|
|
763
|
-
throw new TypeError(`${diagnosticOwner()}: isRowExpandable must be a function.`)
|
|
764
|
-
}
|
|
765
|
-
return keys
|
|
766
|
-
})
|
|
767
|
-
|
|
768
|
-
interface ResolvedRowEntry {
|
|
769
|
-
readonly row: Row
|
|
770
|
-
readonly key: RowKey
|
|
771
|
-
readonly index: number
|
|
772
|
-
readonly selectable: boolean
|
|
773
|
-
readonly expandable: boolean
|
|
774
|
-
}
|
|
775
|
-
|
|
776
|
-
const resolvedRowEntries = computed<readonly ResolvedRowEntry[]>(() => {
|
|
777
|
-
const columns = validatedColumns.value
|
|
778
|
-
void activeSorts.value
|
|
779
|
-
void validatedSelectedRowKeys.value
|
|
780
|
-
void validatedExpandedRowKeys.value
|
|
781
|
-
const firstIndexByKey = new Map<STableRowKey, number>()
|
|
782
|
-
const entries: ResolvedRowEntry[] = []
|
|
783
|
-
for (const [index, row] of props.data.entries()) {
|
|
784
|
-
const key = resolveRowKey(row, index)
|
|
785
|
-
const firstIndex = firstIndexByKey.get(key)
|
|
786
|
-
if (firstIndex !== undefined) {
|
|
787
|
-
throw new TypeError(
|
|
788
|
-
`${diagnosticOwner()}: getRowKey вернул duplicate key ${describeRowKey(key)} at data[${index}]; `
|
|
789
|
-
+ `first returned at data[${firstIndex}]. / ${diagnosticOwner()}: getRowKey returned duplicate key `
|
|
790
|
-
+ `${describeRowKey(key)} at data[${index}]; first returned at data[${firstIndex}].`,
|
|
791
|
-
)
|
|
792
|
-
}
|
|
793
|
-
firstIndexByKey.set(key, index)
|
|
794
|
-
for (const column of columns) {
|
|
795
|
-
const content = column.content ?? (column.value === undefined ? 'field' : 'value')
|
|
796
|
-
if (content === 'field' && !hasOwn(row, column.field)) {
|
|
797
|
-
throw new TypeError(
|
|
798
|
-
`STable: column ${JSON.stringify(column.field)} не известен row; добавьте typed field или value resolver. `
|
|
799
|
-
+ `/ STable: column ${JSON.stringify(column.field)} is unknown to row; add a typed field or value resolver.`,
|
|
800
|
-
)
|
|
801
|
-
}
|
|
802
|
-
}
|
|
803
|
-
entries.push({
|
|
804
|
-
row,
|
|
805
|
-
key,
|
|
806
|
-
index,
|
|
807
|
-
selectable: validatedSelectionMode.value === 'multiple'
|
|
808
|
-
? validateBoolean('STable', `isRowSelectable at data[${index}]`, props.isRowSelectable?.(row, index) ?? true)
|
|
809
|
-
: false,
|
|
810
|
-
expandable: hasRowDetails
|
|
811
|
-
? validateBoolean('STable', `isRowExpandable at data[${index}]`, props.isRowExpandable?.(row, index) ?? true)
|
|
812
|
-
: false,
|
|
813
|
-
})
|
|
814
|
-
}
|
|
815
|
-
return entries
|
|
816
|
-
})
|
|
817
|
-
|
|
818
|
-
const validatedRows = computed<readonly ResolvedRowEntry[]>(() => {
|
|
819
|
-
const entries = resolvedRowEntries.value
|
|
820
|
-
const selectedKey = validatedSelectedRowKey.value
|
|
821
|
-
if (selectedKey !== undefined && !entries.some((entry) => entry.key === selectedKey)) {
|
|
822
|
-
throw new TypeError(
|
|
823
|
-
`${diagnosticOwner()}: selectedRowKey ${describeRowKey(selectedKey)} отсутствует в resolved row keys. `
|
|
824
|
-
+ `/ ${diagnosticOwner()}: selectedRowKey ${describeRowKey(selectedKey)} is absent from resolved row keys.`,
|
|
825
|
-
)
|
|
826
|
-
}
|
|
827
|
-
const expanded = new Set(validatedExpandedRowKeys.value)
|
|
828
|
-
for (const entry of entries) {
|
|
829
|
-
if (expanded.has(entry.key) && !entry.expandable) {
|
|
830
|
-
throw new TypeError(
|
|
831
|
-
`${diagnosticOwner()}: expandedRowKeys содержит current row, для которой isRowExpandable вернул false. `
|
|
832
|
-
+ `/ ${diagnosticOwner()}: expandedRowKeys contains a current row for which isRowExpandable returned false.`,
|
|
833
|
-
)
|
|
834
|
-
}
|
|
835
|
-
}
|
|
836
|
-
return entries
|
|
837
|
-
})
|
|
838
|
-
|
|
839
|
-
function rowKeyToken(key: RowKey): string {
|
|
840
|
-
return `${typeof key === 'number' ? 'number' : 'string'}:${String(key)}`
|
|
841
|
-
}
|
|
842
|
-
|
|
843
|
-
function rowDetailsId(key: RowKey): string {
|
|
844
|
-
return `${tableInstanceId}-details-${encodeURIComponent(rowKeyToken(key))}`
|
|
845
|
-
}
|
|
846
|
-
|
|
847
|
-
function resolveRowLabel(row: Row, index: number): string {
|
|
848
|
-
if (props.getRowLabel === undefined) return t('table.rowLabel', { index: index + 1 })
|
|
849
|
-
if (typeof props.getRowLabel !== 'function') {
|
|
850
|
-
throw new TypeError(`${diagnosticOwner()}: getRowLabel must be a function.`)
|
|
851
|
-
}
|
|
852
|
-
return validateNonEmptyString('STable', `getRowLabel at data[${index}]`, props.getRowLabel(row, index))
|
|
853
|
-
}
|
|
854
|
-
|
|
855
|
-
const selectedKeySet = computed(() => new Set(validatedSelectedRowKeys.value))
|
|
856
|
-
const expandedKeySet = computed(() => new Set(validatedExpandedRowKeys.value))
|
|
857
|
-
const selectableRows = computed(() => validatedRows.value.filter((entry) => entry.selectable))
|
|
858
|
-
const selectedCurrentRowCount = computed(() => selectableRows.value.filter(
|
|
859
|
-
(entry) => selectedKeySet.value.has(entry.key),
|
|
860
|
-
).length)
|
|
861
|
-
const someCurrentRowsSelected = computed(() => selectedCurrentRowCount.value > 0)
|
|
862
|
-
const allCurrentRowsSelected = computed(() => (
|
|
863
|
-
selectableRows.value.length > 0 && selectedCurrentRowCount.value === selectableRows.value.length
|
|
864
|
-
))
|
|
865
|
-
const renderedColumnCount = computed(() => Math.max(
|
|
866
|
-
validatedColumns.value.length
|
|
867
|
-
+ (validatedSelectionMode.value === 'multiple' ? 1 : 0)
|
|
868
|
-
+ (hasRowDetails ? 1 : 0),
|
|
869
|
-
1,
|
|
870
|
-
))
|
|
871
|
-
|
|
872
|
-
function rowIsSelected(entry: ResolvedRowEntry): boolean {
|
|
873
|
-
return validatedSelectionMode.value === 'multiple' && selectedKeySet.value.has(entry.key)
|
|
874
|
-
}
|
|
875
|
-
|
|
876
|
-
function rowAriaSelected(entry: ResolvedRowEntry): 'true' | 'false' | undefined {
|
|
877
|
-
if (validatedSelectionMode.value === 'multiple') return rowIsSelected(entry) ? 'true' : 'false'
|
|
878
|
-
return entry.key === validatedSelectedRowKey.value ? 'true' : undefined
|
|
879
|
-
}
|
|
880
|
-
|
|
881
|
-
function rowSelectionLabel(entry: ResolvedRowEntry): string {
|
|
882
|
-
const label = resolveRowLabel(entry.row, entry.index)
|
|
883
|
-
if (!entry.selectable) return t('table.selectionUnavailable', { label })
|
|
884
|
-
return rowIsSelected(entry)
|
|
885
|
-
? t('table.deselectRow', { label })
|
|
886
|
-
: t('table.selectRow', { label })
|
|
887
|
-
}
|
|
888
|
-
|
|
889
|
-
function updateRowSelection(entry: ResolvedRowEntry, selected: boolean): void {
|
|
890
|
-
if (!entry.selectable) return
|
|
891
|
-
const key = entry.key
|
|
892
|
-
const current = validatedSelectedRowKeys.value
|
|
893
|
-
if (selected && !selectedKeySet.value.has(key)) emit('update:selectedRowKeys', [...current, key])
|
|
894
|
-
if (!selected && selectedKeySet.value.has(key)) {
|
|
895
|
-
emit('update:selectedRowKeys', current.filter((candidate) => candidate !== key))
|
|
896
|
-
}
|
|
897
|
-
}
|
|
898
|
-
|
|
899
|
-
function updateAllRowsSelection(selected: boolean): void {
|
|
900
|
-
const current = validatedSelectedRowKeys.value
|
|
901
|
-
const currentSelectableKeys = new Set(selectableRows.value.map((entry) => entry.key))
|
|
902
|
-
if (!selected) {
|
|
903
|
-
emit('update:selectedRowKeys', current.filter((key) => !currentSelectableKeys.has(key)))
|
|
904
|
-
return
|
|
905
|
-
}
|
|
906
|
-
const next = [...current]
|
|
907
|
-
const nextKeys = new Set(current)
|
|
908
|
-
for (const key of currentSelectableKeys) {
|
|
909
|
-
if (!nextKeys.has(key)) next.push(key)
|
|
910
|
-
}
|
|
911
|
-
emit('update:selectedRowKeys', next)
|
|
912
|
-
}
|
|
913
|
-
|
|
914
|
-
function rowIsExpanded(entry: ResolvedRowEntry): boolean {
|
|
915
|
-
return expandedKeySet.value.has(entry.key)
|
|
916
|
-
}
|
|
917
|
-
|
|
918
|
-
function rowExpansionLabel(entry: ResolvedRowEntry): string {
|
|
919
|
-
const label = resolveRowLabel(entry.row, entry.index)
|
|
920
|
-
return rowIsExpanded(entry)
|
|
921
|
-
? t('table.collapseRow', { label })
|
|
922
|
-
: t('table.expandRow', { label })
|
|
923
|
-
}
|
|
924
|
-
|
|
925
|
-
function toggleRowExpansion(entry: ResolvedRowEntry): void {
|
|
926
|
-
if (!entry.expandable) return
|
|
927
|
-
const key = entry.key
|
|
928
|
-
const expanded = !expandedKeySet.value.has(key)
|
|
929
|
-
const next = expanded
|
|
930
|
-
? [...validatedExpandedRowKeys.value, key]
|
|
931
|
-
: validatedExpandedRowKeys.value.filter((candidate) => candidate !== key)
|
|
932
|
-
emit('update:expandedRowKeys', next)
|
|
933
|
-
emit('row-expand', entry.row, entry.index, expanded)
|
|
934
|
-
}
|
|
935
|
-
|
|
936
|
-
const resolveCellValue = (row: Row, column: STableColumn<Row, Field>): unknown => column.value
|
|
937
|
-
? column.value(row)
|
|
938
|
-
: column.content === 'slot'
|
|
939
|
-
? undefined
|
|
940
|
-
: Reflect.get(row, column.field)
|
|
941
|
-
|
|
942
|
-
const resolveRowState = (row: Row): STableRowState => validateExactString(
|
|
943
|
-
'STable',
|
|
944
|
-
'rowState',
|
|
945
|
-
props.rowState?.(row) ?? 'default',
|
|
946
|
-
TABLE_ROW_STATES,
|
|
947
|
-
)
|
|
948
|
-
|
|
949
|
-
const resolveCellState = (
|
|
950
|
-
row: Row,
|
|
951
|
-
column: STableColumn<Row, Field>,
|
|
952
|
-
): STableCellState => validateExactString(
|
|
953
|
-
'STable',
|
|
954
|
-
'cellState',
|
|
955
|
-
props.cellState?.(row, column) ?? 'default',
|
|
956
|
-
TABLE_CELL_STATES,
|
|
957
|
-
)
|
|
958
|
-
</script>
|
|
959
|
-
|
|
960
|
-
<style lang="postcss" src="./STable.css" scoped></style>
|