@pgcorp/ui-kit 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1055 -31
- package/dist/assets/src/components/layout/SDockRegion.vue_vue_type_style_index_0_scoped_a1f403e2_lang.css +1 -0
- package/dist/assets/src/components/layout/{SResizeHandle.vue_vue_type_style_index_0_scoped_90cc655e_lang.css → SResizeHandle.vue_vue_type_style_index_0_scoped_dc65aba1_lang.css} +1 -1
- package/dist/assets/src/components/layout/{SWorkbenchPanelShell.css_vue_type_style_index_0_src_1030a231_scoped_1030a231_lang.css → SWorkbenchPanelShell.css_vue_type_style_index_0_src_f9faa52a_scoped_f9faa52a_lang.css} +1 -1
- package/dist/assets/src/components/shared/_internal/SDialogSurface.css_vue_type_style_index_0_src_a108e8f1_scoped_a108e8f1_lang.css +2 -0
- package/dist/assets/src/components/shared/_internal/{SListboxGroup.css_vue_type_style_index_0_src_518787d3_scoped_518787d3_lang.css → SListboxGroup.css_vue_type_style_index_0_src_00060944_scoped_00060944_lang.css} +1 -1
- package/dist/assets/src/components/shared/_internal/SMenuLayer.css_vue_type_style_index_0_src_e478164c_scoped_e478164c_lang.css +1 -0
- package/dist/assets/src/components/shared/containers/{SCollapsiblePanel.css_vue_type_style_index_0_src_71824088_scoped_71824088_lang.css → SCollapsiblePanel.css_vue_type_style_index_0_src_db85261d_scoped_db85261d_lang.css} +1 -1
- package/dist/assets/src/components/shared/containers/SOverlayHost.css_vue_type_style_index_0_src_09215628_scoped_09215628_lang.css +2 -0
- package/dist/assets/src/components/shared/containers/SPopover.css_vue_type_style_index_0_src_a4f1f64a_scoped_a4f1f64a_lang.css +2 -0
- package/dist/assets/src/components/shared/containers/{SSidebarGroup.css_vue_type_style_index_0_src_3e8bc2d7_scoped_3e8bc2d7_lang.css → SSidebarGroup.css_vue_type_style_index_0_src_5b1eeb6c_scoped_5b1eeb6c_lang.css} +1 -1
- package/dist/assets/src/components/shared/containers/SSidebarSection.css_vue_type_style_index_0_src_52396e42_scoped_52396e42_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SButton.css_vue_type_style_index_0_src_7a5acda9_scoped_7a5acda9_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SCheckbox.css_vue_type_style_index_0_src_2562f916_scoped_2562f916_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SCombobox.css_vue_type_style_index_0_src_d630c922_scoped_d630c922_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SContextMenu.css_vue_type_style_index_0_src_43b6e378_scoped_43b6e378_lang.css +1 -0
- package/dist/assets/src/components/shared/controls/{SDropdownMenu.css_vue_type_style_index_0_src_1ccb9efc_scoped_1ccb9efc_lang.css → SDropdownMenu.css_vue_type_style_index_0_src_40040ae5_scoped_40040ae5_lang.css} +1 -1
- package/dist/assets/src/components/shared/controls/SField.css_vue_type_style_index_0_src_2d353c26_scoped_2d353c26_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/{SInteractiveSurface.css_vue_type_style_index_0_src_998940dd_scoped_998940dd_lang.css → SInteractiveSurface.css_vue_type_style_index_0_src_5e422fac_scoped_5e422fac_lang.css} +1 -1
- package/dist/assets/src/components/shared/controls/{SLink.css_vue_type_style_index_0_src_c7ae14e1_scoped_c7ae14e1_lang.css → SLink.css_vue_type_style_index_0_src_ac46e5a4_scoped_ac46e5a4_lang.css} +1 -1
- package/dist/assets/src/components/shared/controls/SListbox.css_vue_type_style_index_0_src_50063f9f_scoped_50063f9f_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/{SListboxOption.css_vue_type_style_index_0_src_77c399b4_scoped_77c399b4_lang.css → SListboxOption.css_vue_type_style_index_0_src_59c9c538_scoped_59c9c538_lang.css} +1 -1
- package/dist/assets/src/components/shared/controls/SMenuSurface.css_vue_type_style_index_0_src_d2b7d71b_scoped_d2b7d71b_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SSelect.css_vue_type_style_index_0_src_d1ead6c0_scoped_d1ead6c0_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/STextarea.css_vue_type_style_index_0_src_true_lang.css +1 -1
- package/dist/assets/src/components/shared/data-display/SControlledToastViewport.css_vue_type_style_index_0_src_a69aa84b_scoped_a69aa84b_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SProgressBar.css_vue_type_style_index_0_src_cad721dd_scoped_cad721dd_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SRichDocument.css_vue_type_style_index_0_src_8db085d5_scoped_8db085d5_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SScrollViewport.css_vue_type_style_index_0_src_d94fcf8c_scoped_d94fcf8c_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SStatus.css_vue_type_style_index_0_src_3ce41a12_scoped_3ce41a12_lang.css +1 -1
- package/dist/assets/src/components/shared/data-display/STable.css_vue_type_style_index_0_src_b23b3d71_scoped_b23b3d71_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/STooltip.css_vue_type_style_index_0_src_true_lang.css +1 -1
- package/dist/assets/src/components/shared/data-display/SVirtualList.css_vue_type_style_index_0_src_9fe3ade0_scoped_9fe3ade0_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/_internal/SRichBlockNode.css_vue_type_style_index_0_src_eaae882d_scoped_eaae882d_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/_internal/SRichDisclosure.css_vue_type_style_index_0_src_1f0ffc97_scoped_1f0ffc97_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/_internal/SRichImage.css_vue_type_style_index_0_src_2f1c39a9_scoped_2f1c39a9_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 → SRichInlineNode.css_vue_type_style_index_0_src_3ca8df12_scoped_3ca8df12_lang.css} +1 -1
- package/dist/assets/src/components/shared/data-display/_internal/STableCell.css_vue_type_style_index_0_src_b829cbc6_scoped_b829cbc6_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/_internal/STableFrame.css_vue_type_style_index_0_src_914bad28_scoped_914bad28_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/_internal/STableRow.css_vue_type_style_index_0_src_1661f8b8_scoped_1661f8b8_lang.css +2 -0
- package/dist/assets/src/components/shared/feedback/SAsyncState.css_vue_type_style_index_0_src_8a291af7_scoped_8a291af7_lang.css +2 -0
- package/dist/assets/src/components/shared/navigation/{SBottomNav.vue_vue_type_style_index_0_scoped_b3963080_lang.css → SBottomNav.vue_vue_type_style_index_0_scoped_68cf84b3_lang.css} +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -3
- package/dist/reference.css +4 -0
- package/dist/src/components/icons/_internal/generatedSputnigUiIconComponents.d.ts +15 -0
- package/dist/src/components/icons/_internal/generatedSputnigUiIconComponents.js +4 -4
- package/dist/src/components/icons/_internal/generatedSputnigUiIconMarkup.d.ts +46 -1
- package/dist/src/components/icons/_internal/generatedSputnigUiIconMarkup.js +260 -230
- package/dist/src/components/icons/sputnigUiIcons.d.ts +1 -1
- package/dist/src/components/icons/sputnigUiIcons.js +233 -218
- package/dist/src/components/layout/SAppShell.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/src/components/layout/SDockRegion.vue.d.ts +18 -5
- package/dist/src/components/layout/SDockRegion.vue.js +2 -2
- package/dist/src/components/layout/SDockRegion.vue_vue_type_script_setup_true_lang.js +112 -64
- package/dist/src/components/layout/SResizeHandle.vue.d.ts +6 -3
- package/dist/src/components/layout/SResizeHandle.vue.js +2 -2
- package/dist/src/components/layout/SResizeHandle.vue_vue_type_script_setup_true_lang.js +127 -87
- package/dist/src/components/layout/SStack.vue.d.ts +1 -1
- package/dist/src/components/layout/SWorkbenchPanelShell.vue.d.ts +4 -4
- package/dist/src/components/layout/SWorkbenchPanelShell.vue.js +2 -2
- package/dist/src/components/layout/SWorkbenchPanelShell.vue_vue_type_script_setup_true_lang.js +62 -58
- package/dist/src/components/layout/types.d.ts +20 -0
- package/dist/src/components/shared/_internal/SDialogSurface.vue.d.ts +9 -1
- package/dist/src/components/shared/_internal/SDialogSurface.vue.js +2 -2
- package/dist/src/components/shared/_internal/SDialogSurface.vue_vue_type_script_setup_true_lang.js +183 -68
- package/dist/src/components/shared/_internal/SHeaderSurface.vue.d.ts +1 -1
- package/dist/src/components/shared/_internal/SListboxGroup.vue.d.ts +5 -0
- package/dist/src/components/shared/_internal/SListboxGroup.vue.js +2 -2
- package/dist/src/components/shared/_internal/SListboxGroup.vue_vue_type_script_setup_true_lang.js +33 -15
- package/dist/src/components/shared/_internal/SMenuLayer.vue.d.ts +5 -1
- package/dist/src/components/shared/_internal/SMenuLayer.vue.js +2 -2
- package/dist/src/components/shared/_internal/SMenuLayer.vue_vue_type_script_setup_true_lang.js +64 -20
- package/dist/src/components/shared/_internal/dialogSurface.d.ts +17 -2
- package/dist/src/components/shared/_internal/dialogSurface.js +42 -23
- package/dist/src/components/shared/_internal/dialogSurfaceMotion.d.ts +14 -0
- package/dist/src/components/shared/_internal/dialogSurfaceMotion.js +84 -0
- package/dist/src/components/shared/_internal/focusTrap.js +15 -13
- package/dist/src/components/shared/_internal/listboxContext.d.ts +1 -0
- package/dist/src/components/shared/_internal/listboxInventory.d.ts +51 -0
- package/dist/src/components/shared/_internal/listboxInventory.js +85 -0
- package/dist/src/components/shared/_internal/menuContext.d.ts +8 -0
- package/dist/src/components/shared/_internal/menuContext.js +2 -2
- package/dist/src/components/shared/_internal/sidebarGroupContext.d.ts +1 -0
- package/dist/src/components/shared/_internal/useVirtualCollection.d.ts +45 -0
- package/dist/src/components/shared/_internal/useVirtualCollection.js +123 -0
- package/dist/src/components/shared/complex/SKanbanLane.vue_vue_type_script_setup_true_lang.js +5 -5
- package/dist/src/components/shared/containers/SCloudChrome.vue.d.ts +1 -1
- package/dist/src/components/shared/containers/SCloudChromeRow.vue.d.ts +1 -1
- package/dist/src/components/shared/containers/SCollapsiblePanel.vue.d.ts +5 -0
- package/dist/src/components/shared/containers/SCollapsiblePanel.vue.js +2 -2
- package/dist/src/components/shared/containers/SCollapsiblePanel.vue_vue_type_script_setup_true_lang.js +123 -121
- package/dist/src/components/shared/containers/SDrawer.vue.d.ts +16 -5
- package/dist/src/components/shared/containers/SDrawer.vue.js +3 -6
- package/dist/src/components/shared/containers/SDrawer.vue_vue_type_script_setup_true_lang.js +149 -75
- package/dist/src/components/shared/containers/SModal.vue.d.ts +8 -8
- package/dist/src/components/shared/containers/SModal.vue.js +3 -6
- package/dist/src/components/shared/containers/SModal.vue_vue_type_script_setup_true_lang.js +93 -85
- package/dist/src/components/shared/containers/SOverlayHost.vue.d.ts +16 -0
- package/dist/src/components/shared/containers/SOverlayHost.vue.js +8 -0
- package/dist/src/components/shared/containers/SOverlayHost.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/src/components/shared/containers/SPageHeader.vue.d.ts +1 -1
- package/dist/src/components/shared/containers/SPanel.vue.d.ts +2 -2
- package/dist/src/components/shared/containers/SPanel.vue_vue_type_script_setup_true_lang.js +7 -7
- package/dist/src/components/shared/containers/SPopover.vue.js +2 -2
- package/dist/src/components/shared/containers/SPopover.vue_vue_type_script_setup_true_lang.js +250 -156
- package/dist/src/components/shared/containers/SSidebarGroup.vue.js +2 -2
- package/dist/src/components/shared/containers/SSidebarGroup.vue_vue_type_script_setup_true_lang.js +30 -8
- package/dist/src/components/shared/containers/SSidebarSection.vue.js +2 -2
- package/dist/src/components/shared/containers/SSidebarSection.vue_vue_type_script_setup_true_lang.js +59 -45
- package/dist/src/components/shared/controls/SButton.vue.d.ts +7 -0
- package/dist/src/components/shared/controls/SButton.vue.js +2 -2
- package/dist/src/components/shared/controls/SButton.vue_vue_type_script_setup_true_lang.js +11 -5
- package/dist/src/components/shared/controls/SCheckbox.vue.d.ts +3 -0
- package/dist/src/components/shared/controls/SCheckbox.vue.js +2 -2
- package/dist/src/components/shared/controls/SCheckbox.vue_vue_type_script_setup_true_lang.js +53 -43
- package/dist/src/components/shared/controls/SCheckboxGroup.vue_vue_type_script_setup_true_lang.js +7 -7
- package/dist/src/components/shared/controls/SChoiceCards.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/src/components/shared/controls/SColorSelect.vue_vue_type_script_setup_true_lang.js +6 -6
- package/dist/src/components/shared/controls/SCombobox.vue.js +2 -2
- package/dist/src/components/shared/controls/SCombobox.vue_vue_type_script_setup_true_lang.js +157 -132
- package/dist/src/components/shared/controls/SComboboxTrigger.vue.d.ts +2 -2
- package/dist/src/components/shared/controls/SContextMenu.vue.d.ts +11 -0
- package/dist/src/components/shared/controls/SContextMenu.vue.js +2 -2
- package/dist/src/components/shared/controls/SContextMenu.vue_vue_type_script_setup_true_lang.js +163 -73
- package/dist/src/components/shared/controls/SContextToggleButton.vue_vue_type_script_setup_true_lang.js +6 -6
- package/dist/src/components/shared/controls/SDragHandle.vue_vue_type_script_setup_true_lang.js +5 -5
- package/dist/src/components/shared/controls/SDropdownMenu.vue.js +2 -2
- package/dist/src/components/shared/controls/SDropdownMenu.vue_vue_type_script_setup_true_lang.js +77 -65
- package/dist/src/components/shared/controls/SField.vue.d.ts +9 -6
- package/dist/src/components/shared/controls/SField.vue.js +2 -2
- package/dist/src/components/shared/controls/SField.vue_vue_type_script_setup_true_lang.js +69 -52
- package/dist/src/components/shared/controls/SFieldGroup.vue_vue_type_script_setup_true_lang.js +13 -13
- package/dist/src/components/shared/controls/SInlineTokenEditor.vue_vue_type_script_setup_true_lang.js +26 -26
- package/dist/src/components/shared/controls/SInputText.vue_vue_type_script_setup_true_lang.js +21 -21
- package/dist/src/components/shared/controls/SInteractiveSurface.vue.js +2 -2
- package/dist/src/components/shared/controls/SInteractiveSurface.vue_vue_type_script_setup_true_lang.js +99 -74
- package/dist/src/components/shared/controls/SLink.d.ts +11 -1
- package/dist/src/components/shared/controls/SLink.vue.d.ts +17 -1
- package/dist/src/components/shared/controls/SLink.vue.js +2 -2
- package/dist/src/components/shared/controls/SLink.vue_vue_type_script_setup_true_lang.js +157 -62
- package/dist/src/components/shared/controls/SListbox.vue.d.ts +10 -1
- package/dist/src/components/shared/controls/SListbox.vue.js +2 -2
- package/dist/src/components/shared/controls/SListbox.vue_vue_type_script_setup_true_lang.js +371 -189
- package/dist/src/components/shared/controls/SListboxOption.vue.d.ts +6 -0
- package/dist/src/components/shared/controls/SListboxOption.vue.js +2 -2
- package/dist/src/components/shared/controls/SListboxOption.vue_vue_type_script_setup_true_lang.js +47 -34
- package/dist/src/components/shared/controls/SMenuSurface.vue.d.ts +2 -2
- package/dist/src/components/shared/controls/SMenuSurface.vue.js +2 -2
- package/dist/src/components/shared/controls/SMenuSurface.vue_vue_type_script_setup_true_lang.js +145 -115
- package/dist/src/components/shared/controls/SRange.vue_vue_type_script_setup_true_lang.js +12 -12
- package/dist/src/components/shared/controls/SSelect.vue.js +2 -2
- package/dist/src/components/shared/controls/SSelect.vue_vue_type_script_setup_true_lang.js +130 -112
- package/dist/src/components/shared/controls/STextarea.d.ts +1 -1
- package/dist/src/components/shared/controls/STextarea.vue.d.ts +28 -2
- package/dist/src/components/shared/controls/STextarea.vue_vue_type_script_setup_true_lang.js +348 -209
- package/dist/src/components/shared/controls/_internal/SInlineTokenSurface.vue_vue_type_script_lang.js +36 -36
- package/dist/src/components/shared/data-display/SActionList.vue.d.ts +1 -1
- package/dist/src/components/shared/data-display/SActionListItem.vue.d.ts +4 -4
- package/dist/src/components/shared/data-display/SActionListItem.vue_vue_type_script_setup_true_lang.js +6 -6
- package/dist/src/components/shared/data-display/SBadge.vue.d.ts +1 -1
- package/dist/src/components/shared/data-display/SChart.vue_vue_type_script_setup_true_lang.js +89 -89
- package/dist/src/components/shared/data-display/SChip.vue.d.ts +1 -1
- package/dist/src/components/shared/data-display/SChip.vue_vue_type_script_setup_true_lang.js +7 -7
- package/dist/src/components/shared/data-display/SCodeBlock.vue_vue_type_script_setup_true_lang.js +19 -19
- package/dist/src/components/shared/data-display/SCodeEditor.vue_vue_type_script_setup_true_lang.js +37 -37
- package/dist/src/components/shared/data-display/SCodeSearchPanel.vue_vue_type_script_setup_true_lang.js +17 -17
- package/dist/src/components/shared/data-display/SCodeWorkspaceEditor.vue_vue_type_script_setup_true_lang.js +12 -12
- package/dist/src/components/shared/data-display/SControlledToastViewport.vue.js +2 -2
- package/dist/src/components/shared/data-display/SControlledToastViewport.vue_vue_type_script_setup_true_lang.js +57 -48
- package/dist/src/components/shared/data-display/SDiffViewer.vue_vue_type_script_setup_true_lang.js +13 -13
- package/dist/src/components/shared/data-display/SDocBlock.vue_vue_type_script_setup_true_lang.js +12 -12
- package/dist/src/components/shared/data-display/SEmptyState.vue.d.ts +1 -1
- package/dist/src/components/shared/data-display/SEmptyState.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/src/components/shared/data-display/SExpandableText.vue_vue_type_script_setup_true_lang.js +7 -7
- package/dist/src/components/shared/data-display/SKeyValueGrid.vue_vue_type_script_setup_true_lang.js +15 -15
- package/dist/src/components/shared/data-display/SLinkedSystemsList.vue_vue_type_script_setup_true_lang.js +17 -17
- package/dist/src/components/shared/data-display/SMessage.vue.d.ts +1 -1
- package/dist/src/components/shared/data-display/SMessage.vue_vue_type_script_setup_true_lang.js +9 -9
- package/dist/src/components/shared/data-display/SMetricCard.vue.d.ts +1 -1
- package/dist/src/components/shared/data-display/SProgressBar.vue.d.ts +22 -3
- package/dist/src/components/shared/data-display/SProgressBar.vue.js +2 -2
- package/dist/src/components/shared/data-display/SProgressBar.vue_vue_type_script_setup_true_lang.js +133 -47
- package/dist/src/components/shared/data-display/SProgressIndicator.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/src/components/shared/data-display/SRichDocument.vue.js +2 -2
- package/dist/src/components/shared/data-display/SRichDocument.vue_vue_type_script_setup_true_lang.js +46 -23
- package/dist/src/components/shared/data-display/SScrollViewport.vue.d.ts +10 -5
- package/dist/src/components/shared/data-display/SScrollViewport.vue.js +2 -2
- package/dist/src/components/shared/data-display/SScrollViewport.vue_vue_type_script_setup_true_lang.js +162 -111
- package/dist/src/components/shared/data-display/SSectionHeader.vue.d.ts +1 -1
- package/dist/src/components/shared/data-display/SStatus.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/src/components/shared/data-display/STable.vue.js +2 -2
- package/dist/src/components/shared/data-display/STable.vue_vue_type_script_setup_true_lang.js +343 -322
- package/dist/src/components/shared/data-display/STooltip.vue.d.ts +2 -2
- package/dist/src/components/shared/data-display/STooltip.vue_vue_type_script_setup_true_lang.js +284 -205
- package/dist/src/components/shared/data-display/STooltipAnchor.vue_vue_type_script_setup_true_lang.js +5 -5
- package/dist/src/components/shared/data-display/STooltipTarget.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/src/components/shared/data-display/SVirtualList.vue.js +2 -2
- package/dist/src/components/shared/data-display/SVirtualList.vue_vue_type_script_setup_true_lang.js +196 -246
- package/dist/src/components/shared/data-display/_internal/SRichBlockNode.vue.js +2 -2
- package/dist/src/components/shared/data-display/_internal/SRichBlockNode.vue_vue_type_script_setup_true_lang.js +242 -220
- package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue.d.ts +13 -2
- package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue.js +2 -2
- package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue_vue_type_script_setup_true_lang.js +67 -11
- package/dist/src/components/shared/data-display/_internal/SRichImage.vue.d.ts +11 -0
- package/dist/src/components/shared/data-display/_internal/SRichImage.vue.js +8 -0
- package/dist/src/components/shared/data-display/_internal/SRichImage.vue_vue_type_script_setup_true_lang.js +89 -0
- package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue.d.ts +3 -2
- package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue.js +2 -2
- package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue_vue_type_script_setup_true_lang.js +179 -125
- package/dist/src/components/shared/data-display/_internal/SRichMath.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/src/components/shared/data-display/_internal/SRichTableNode.vue.d.ts +21 -0
- package/dist/src/components/shared/data-display/_internal/SRichTableNode.vue.js +5 -0
- package/dist/src/components/shared/data-display/_internal/SRichTableNode.vue_vue_type_script_setup_true_lang.js +150 -0
- package/dist/src/components/shared/data-display/_internal/STableCell.vue.d.ts +52 -0
- package/dist/src/components/shared/data-display/_internal/STableCell.vue.js +8 -0
- package/dist/src/components/shared/data-display/_internal/STableCell.vue_vue_type_script_setup_true_lang.js +148 -0
- package/dist/src/components/shared/data-display/_internal/STableFrame.vue.d.ts +42 -0
- package/dist/src/components/shared/data-display/_internal/STableFrame.vue.js +8 -0
- package/dist/src/components/shared/data-display/_internal/STableFrame.vue_vue_type_script_setup_true_lang.js +114 -0
- package/dist/src/components/shared/data-display/_internal/STableRow.vue.d.ts +43 -0
- package/dist/src/components/shared/data-display/_internal/STableRow.vue.js +8 -0
- package/dist/src/components/shared/data-display/_internal/STableRow.vue_vue_type_script_setup_true_lang.js +115 -0
- package/dist/src/components/shared/data-display/_internal/STableSection.vue.d.ts +28 -0
- package/dist/src/components/shared/data-display/_internal/STableSection.vue.js +5 -0
- package/dist/src/components/shared/data-display/_internal/STableSection.vue_vue_type_script_setup_true_lang.js +77 -0
- package/dist/src/components/shared/data-display/_internal/richDocumentMedia.d.ts +6 -0
- package/dist/src/components/shared/data-display/_internal/richDocumentMedia.js +136 -0
- package/dist/src/components/shared/data-display/_internal/richDocumentMetadata.d.ts +21 -0
- package/dist/src/components/shared/data-display/_internal/richDocumentMetadata.js +39 -0
- package/dist/src/components/shared/data-display/_internal/richDocumentNavigation.d.ts +30 -0
- package/dist/src/components/shared/data-display/_internal/richDocumentNavigation.js +88 -0
- package/dist/src/components/shared/data-display/_internal/richDocumentTableValidation.d.ts +9 -0
- package/dist/src/components/shared/data-display/_internal/richDocumentTableValidation.js +240 -0
- package/dist/src/components/shared/data-display/_internal/richDocumentTraversal.d.ts +15 -0
- package/dist/src/components/shared/data-display/_internal/richDocumentTraversal.js +61 -0
- package/dist/src/components/shared/data-display/_internal/richDocumentTypes.d.ts +466 -0
- package/dist/src/components/shared/data-display/_internal/richDocumentValidation.d.ts +65 -0
- package/dist/src/components/shared/data-display/_internal/richDocumentValidation.js +192 -0
- package/dist/src/components/shared/data-display/_internal/tableFoundation.d.ts +27 -0
- package/dist/src/components/shared/data-display/_internal/tableFoundation.js +16 -0
- package/dist/src/components/shared/data-display/richDocument.d.ts +3 -220
- package/dist/src/components/shared/data-display/richDocument.js +607 -399
- package/dist/src/components/shared/data-display/scrollViewport.d.ts +2 -0
- package/dist/src/components/shared/database/SDataGrid.vue_vue_type_script_setup_true_lang.js +36 -36
- package/dist/src/components/shared/database/SSqlEditor.vue.d.ts +2 -2
- package/dist/src/components/shared/database/SSqlEditor.vue_vue_type_script_setup_true_lang.js +36 -36
- package/dist/src/components/shared/feedback/SAsyncState.vue.js +2 -2
- package/dist/src/components/shared/feedback/SAsyncState.vue_vue_type_script_setup_true_lang.js +70 -63
- package/dist/src/components/shared/navigation/SBottomNav.vue.d.ts +2 -2
- package/dist/src/components/shared/navigation/SBottomNav.vue.js +2 -2
- package/dist/src/components/shared/navigation/SBottomNav.vue_vue_type_script_setup_true_lang.js +140 -129
- package/dist/src/components/shared/navigation/SBreadcrumbs.vue.d.ts +2 -2
- package/dist/src/components/shared/navigation/STabList.vue.d.ts +1 -1
- package/dist/src/components/shared/navigation/STabPanel.vue.d.ts +2 -2
- package/dist/src/components/shared/navigation/SWizardSteps.vue_vue_type_script_setup_true_lang.js +16 -16
- package/dist/src/components/shared/persona/SPersonaProjectPicker.vue.d.ts +2 -2
- package/dist/src/composables/useDialogOverlay.d.ts +21 -2
- package/dist/src/composables/useDialogOverlay.js +275 -44
- package/dist/src/composables/useFloatingPosition.d.ts +20 -0
- package/dist/src/composables/useFloatingPosition.js +129 -52
- package/dist/src/internal/fieldSurface.d.ts +3 -0
- package/dist/src/internal/fieldSurface.js +3 -2
- package/dist/src/internal/flatTree.d.ts +8 -0
- package/dist/src/internal/flatTree.js +23 -0
- package/dist/src/internal/focusNavigation.d.ts +5 -0
- package/dist/src/internal/focusNavigation.js +29 -16
- package/dist/src/internal/inertLease.d.ts +8 -0
- package/dist/src/internal/inertLease.js +33 -0
- package/dist/src/internal/layerStack.d.ts +52 -0
- package/dist/src/internal/layerStack.js +343 -60
- package/dist/src/internal/linkTarget.d.ts +7 -1
- package/dist/src/internal/linkTarget.js +11 -7
- package/dist/src/internal/nativeFocus.d.ts +4 -0
- package/dist/src/internal/nativeFocus.js +12 -0
- package/dist/src/internal/overlayHost.d.ts +18 -0
- package/dist/src/internal/overlayHost.js +18 -0
- package/dist/src/internal/overlayPortal.d.ts +17 -0
- package/dist/src/internal/overlayPortal.js +23 -0
- package/dist/src/internal/ownedAttrs.d.ts +13 -3
- package/dist/src/internal/ownedAttrs.js +8 -1
- package/dist/src/internal/runtimeContract.d.ts +2 -0
- package/dist/src/internal/runtimeContract.js +10 -5
- package/dist/src/internal/semanticSizing.d.ts +2 -2
- package/dist/src/internal/semanticSizing.js +2 -1
- package/dist/src/internal/useMenuLayer.d.ts +8 -4
- package/dist/src/internal/useMenuLayer.js +78 -49
- package/dist/src/internal/viewportModality.d.ts +27 -0
- package/dist/src/internal/viewportModality.js +132 -0
- package/dist/tailwind.css +3 -0
- package/dist/typography.LICENSE.txt +94 -0
- package/dist/typography.js +5105 -0
- package/docs/getting-started.md +39 -0
- package/docs/link-download.md +114 -0
- package/docs/listbox.md +129 -0
- package/docs/overlay-lifecycle.md +195 -0
- package/docs/public-api.md +335 -6
- package/docs/resize.md +158 -0
- package/docs/rich-document.md +442 -25
- package/docs/scroll-viewport.md +30 -10
- package/docs/theming.md +42 -8
- package/package.json +12 -4
- package/src/components/shared/_internal/SDialogSurface.css +213 -36
- package/src/components/shared/_internal/SMenuLayer.css +4 -0
- package/src/components/shared/containers/SOverlayHost.css +14 -0
- package/src/components/shared/containers/SPopover.css +8 -2
- package/src/components/shared/controls/SButton.css +4 -3
- package/src/components/shared/controls/SCheckbox.css +19 -7
- package/src/components/shared/controls/SField.css +6 -0
- package/src/components/shared/controls/SListbox.css +17 -0
- package/src/components/shared/controls/SMenuSurface.css +18 -4
- package/src/components/shared/controls/STextarea.css +42 -3
- package/src/components/shared/data-display/SControlledToastViewport.css +2 -10
- package/src/components/shared/data-display/SProgressBar.css +79 -0
- package/src/components/shared/data-display/SRichDocument.css +1 -0
- package/src/components/shared/data-display/SScrollViewport.css +17 -1
- package/src/components/shared/data-display/SStatus.css +8 -25
- package/src/components/shared/data-display/STable.css +0 -113
- package/src/components/shared/data-display/STooltip.css +3 -0
- package/src/components/shared/data-display/_internal/SRichBlockNode.css +11 -7
- package/src/components/shared/data-display/_internal/SRichDisclosure.css +16 -0
- package/src/components/shared/data-display/_internal/SRichImage.css +37 -0
- package/src/components/shared/data-display/_internal/STableCell.css +55 -0
- package/src/components/shared/data-display/_internal/STableFrame.css +37 -0
- package/src/components/shared/data-display/_internal/STableRow.css +12 -0
- package/src/components/shared/feedback/SAsyncState.css +0 -4
- package/src/styles/style.css +9 -5
- package/src/styles/tokens.css +30 -0
- package/dist/assets/src/components/layout/SDockRegion.vue_vue_type_style_index_0_scoped_2932631d_lang.css +0 -1
- package/dist/assets/src/components/shared/_internal/SDialogSurface.css_vue_type_style_index_0_src_d1b65adf_scoped_d1b65adf_lang.css +0 -2
- package/dist/assets/src/components/shared/_internal/SMenuLayer.css_vue_type_style_index_0_src_4913bbe1_scoped_4913bbe1_lang.css +0 -1
- package/dist/assets/src/components/shared/containers/SDrawer.css_vue_type_style_index_0_src_091d7325_scoped_091d7325_lang.css +0 -2
- package/dist/assets/src/components/shared/containers/SModal.css_vue_type_style_index_0_src_0dc51b74_scoped_0dc51b74_lang.css +0 -2
- package/dist/assets/src/components/shared/containers/SPopover.css_vue_type_style_index_0_src_deded766_scoped_deded766_lang.css +0 -2
- package/dist/assets/src/components/shared/containers/SSidebarSection.css_vue_type_style_index_0_src_96f51ac6_scoped_96f51ac6_lang.css +0 -2
- package/dist/assets/src/components/shared/controls/SButton.css_vue_type_style_index_0_src_a5d8f7e0_scoped_a5d8f7e0_lang.css +0 -2
- package/dist/assets/src/components/shared/controls/SCheckbox.css_vue_type_style_index_0_src_b20b27dd_scoped_b20b27dd_lang.css +0 -2
- package/dist/assets/src/components/shared/controls/SCombobox.css_vue_type_style_index_0_src_e3b4f580_scoped_e3b4f580_lang.css +0 -2
- package/dist/assets/src/components/shared/controls/SContextMenu.css_vue_type_style_index_0_src_00c91d39_scoped_00c91d39_lang.css +0 -1
- package/dist/assets/src/components/shared/controls/SField.css_vue_type_style_index_0_src_60628f96_scoped_60628f96_lang.css +0 -2
- package/dist/assets/src/components/shared/controls/SListbox.css_vue_type_style_index_0_src_24db4abb_scoped_24db4abb_lang.css +0 -2
- package/dist/assets/src/components/shared/controls/SMenuSurface.css_vue_type_style_index_0_src_ddcc5fbb_scoped_ddcc5fbb_lang.css +0 -2
- package/dist/assets/src/components/shared/controls/SSelect.css_vue_type_style_index_0_src_441648c9_scoped_441648c9_lang.css +0 -2
- package/dist/assets/src/components/shared/data-display/SControlledToastViewport.css_vue_type_style_index_0_src_5864b6c6_scoped_5864b6c6_lang.css +0 -2
- package/dist/assets/src/components/shared/data-display/SProgressBar.css_vue_type_style_index_0_src_9308293a_scoped_9308293a_lang.css +0 -2
- package/dist/assets/src/components/shared/data-display/SRichDocument.css_vue_type_style_index_0_src_d1afafc5_scoped_d1afafc5_lang.css +0 -2
- package/dist/assets/src/components/shared/data-display/SScrollViewport.css_vue_type_style_index_0_src_e5d11342_scoped_e5d11342_lang.css +0 -2
- package/dist/assets/src/components/shared/data-display/STable.css_vue_type_style_index_0_src_9955d482_scoped_9955d482_lang.css +0 -2
- package/dist/assets/src/components/shared/data-display/SVirtualList.css_vue_type_style_index_0_src_cee8c247_scoped_cee8c247_lang.css +0 -2
- package/dist/assets/src/components/shared/data-display/_internal/SRichBlockNode.css_vue_type_style_index_0_src_195d5c06_scoped_195d5c06_lang.css +0 -2
- package/dist/assets/src/components/shared/data-display/_internal/SRichDisclosure.css_vue_type_style_index_0_src_fa94e2ff_scoped_fa94e2ff_lang.css +0 -2
- package/dist/assets/src/components/shared/feedback/SAsyncState.css_vue_type_style_index_0_src_bfc28903_scoped_bfc28903_lang.css +0 -2
- package/src/components/shared/containers/SDrawer.css +0 -69
- package/src/components/shared/containers/SModal.css +0 -27
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { validateBoolean as e, validateExactString as t } from "../../../../internal/runtimeContract.js";
|
|
2
|
+
import { useOwnedAttrs as n } from "../../../../internal/ownedAttrs.js";
|
|
3
|
+
import { useInteractiveLeafRegistration as r } from "../../../../internal/passiveContentContract.js";
|
|
4
|
+
import { tableRowKey as i, tableSectionKey as a, validateTableMetadata as o } from "./tableFoundation.js";
|
|
5
|
+
import { computed as s, createElementBlock as c, defineComponent as l, inject as u, mergeProps as d, openBlock as f, provide as p, ref as m, renderSlot as h, unref as g, watchEffect as _ } from "vue";
|
|
6
|
+
//#region src/components/shared/data-display/_internal/STableRow.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
+
var v = [
|
|
8
|
+
"data-mode",
|
|
9
|
+
"data-section",
|
|
10
|
+
"data-state",
|
|
11
|
+
"data-selected",
|
|
12
|
+
"data-row-details",
|
|
13
|
+
"data-presentation",
|
|
14
|
+
"aria-selected",
|
|
15
|
+
"id",
|
|
16
|
+
"title",
|
|
17
|
+
"lang",
|
|
18
|
+
"dir",
|
|
19
|
+
"aria-label",
|
|
20
|
+
"aria-labelledby",
|
|
21
|
+
"aria-describedby",
|
|
22
|
+
"tabindex"
|
|
23
|
+
], y = /*@__PURE__*/ l({
|
|
24
|
+
inheritAttrs: !1,
|
|
25
|
+
__name: "STableRow",
|
|
26
|
+
props: {
|
|
27
|
+
mode: { default: "passive" },
|
|
28
|
+
presentation: { default: "default" },
|
|
29
|
+
state: { default: "default" },
|
|
30
|
+
selected: {
|
|
31
|
+
type: Boolean,
|
|
32
|
+
default: !1
|
|
33
|
+
},
|
|
34
|
+
ariaSelected: {},
|
|
35
|
+
domId: {},
|
|
36
|
+
focusTarget: {
|
|
37
|
+
type: Boolean,
|
|
38
|
+
default: !1
|
|
39
|
+
},
|
|
40
|
+
title: {},
|
|
41
|
+
language: {},
|
|
42
|
+
direction: {},
|
|
43
|
+
ariaLabel: {},
|
|
44
|
+
ariaLabelledby: {},
|
|
45
|
+
ariaDescribedby: {}
|
|
46
|
+
},
|
|
47
|
+
emits: ["activate", "contextmenu"],
|
|
48
|
+
setup(l, { expose: y, emit: b }) {
|
|
49
|
+
let x = l, S = b, C = n({
|
|
50
|
+
component: "STableRow",
|
|
51
|
+
owner: "canonical table row"
|
|
52
|
+
}), w = m(null), T = u(a, s(() => "body")), E = s(() => t("STableRow", "mode", x.mode, ["registry", "passive"])), D = s(() => t("STableRow", "presentation", x.presentation, [
|
|
53
|
+
"default",
|
|
54
|
+
"details",
|
|
55
|
+
"status"
|
|
56
|
+
])), O = s(() => t("STableRow", "state", x.state, [
|
|
57
|
+
"default",
|
|
58
|
+
"inserted",
|
|
59
|
+
"updated",
|
|
60
|
+
"deleted"
|
|
61
|
+
])), k = s(() => e("STableRow", "selected", x.selected));
|
|
62
|
+
p(i, {
|
|
63
|
+
state: O,
|
|
64
|
+
selected: k
|
|
65
|
+
}), r({
|
|
66
|
+
owner: "STableRow",
|
|
67
|
+
active: () => E.value === "registry"
|
|
68
|
+
});
|
|
69
|
+
function A(e) {
|
|
70
|
+
if (e === null || e instanceof HTMLTableRowElement) w.value = e;
|
|
71
|
+
else throw TypeError("STableRow: ref must resolve to its native row.");
|
|
72
|
+
}
|
|
73
|
+
_(() => {
|
|
74
|
+
o("STableRow", x), x.ariaSelected !== void 0 && t("STableRow", "ariaSelected", x.ariaSelected, ["true", "false"]);
|
|
75
|
+
});
|
|
76
|
+
function j(e) {
|
|
77
|
+
return e.composedPath().some((t) => t !== e.currentTarget && t instanceof HTMLElement && t.matches("button, a, input, select, textarea, [role=\"button\"], [role=\"link\"]"));
|
|
78
|
+
}
|
|
79
|
+
function M(e) {
|
|
80
|
+
E.value === "registry" && !j(e) && S("activate", e);
|
|
81
|
+
}
|
|
82
|
+
function N(e) {
|
|
83
|
+
E.value === "registry" && !j(e) && S("contextmenu", e);
|
|
84
|
+
}
|
|
85
|
+
function P(e) {
|
|
86
|
+
E.value !== "registry" || e.target !== e.currentTarget || e.key !== "Enter" && e.key !== " " || (e.preventDefault(), S("activate", e));
|
|
87
|
+
}
|
|
88
|
+
return y({ getElement: () => {
|
|
89
|
+
if (!w.value) throw Error("STableRow: native row is unavailable.");
|
|
90
|
+
return w.value;
|
|
91
|
+
} }), (e, t) => (f(), c("tr", d({ ref: A }, g(C).bindings(), {
|
|
92
|
+
class: "s-table-row",
|
|
93
|
+
"data-mode": E.value,
|
|
94
|
+
"data-section": g(T),
|
|
95
|
+
"data-state": O.value,
|
|
96
|
+
"data-selected": k.value || void 0,
|
|
97
|
+
"data-row-details": D.value === "details" || void 0,
|
|
98
|
+
"data-presentation": D.value,
|
|
99
|
+
"aria-selected": l.ariaSelected,
|
|
100
|
+
id: l.domId,
|
|
101
|
+
title: l.title,
|
|
102
|
+
lang: l.language,
|
|
103
|
+
dir: l.direction,
|
|
104
|
+
"aria-label": l.ariaLabel,
|
|
105
|
+
"aria-labelledby": l.ariaLabelledby,
|
|
106
|
+
"aria-describedby": l.ariaDescribedby,
|
|
107
|
+
tabindex: E.value === "registry" ? 0 : l.focusTarget ? -1 : void 0,
|
|
108
|
+
onClick: M,
|
|
109
|
+
onContextmenu: N,
|
|
110
|
+
onKeydown: P
|
|
111
|
+
}), [h(e.$slots, "default", {}, void 0, !0)], 16, v));
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
//#endregion
|
|
115
|
+
export { y as default };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ElementApi } from '../../../../internal/interactiveElement';
|
|
2
|
+
import { STableSectionKind } from './tableFoundation';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
kind: STableSectionKind;
|
|
5
|
+
domId?: string;
|
|
6
|
+
focusTarget?: boolean;
|
|
7
|
+
title?: string;
|
|
8
|
+
language?: string;
|
|
9
|
+
direction?: 'ltr' | 'rtl' | 'auto';
|
|
10
|
+
ariaLabel?: string;
|
|
11
|
+
ariaLabelledby?: string;
|
|
12
|
+
ariaDescribedby?: string;
|
|
13
|
+
};
|
|
14
|
+
declare var __VLS_8: {};
|
|
15
|
+
type __VLS_Slots = {} & {
|
|
16
|
+
default?: (props: typeof __VLS_8) => any;
|
|
17
|
+
};
|
|
18
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, ElementApi<HTMLTableSectionElement>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
19
|
+
focusTarget: boolean;
|
|
20
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
21
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
22
|
+
declare const _default: typeof __VLS_export;
|
|
23
|
+
export default _default;
|
|
24
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
25
|
+
new (): {
|
|
26
|
+
$slots: S;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { validateExactString as e } from "../../../../internal/runtimeContract.js";
|
|
2
|
+
import { useOwnedAttrs as t } from "../../../../internal/ownedAttrs.js";
|
|
3
|
+
import { tableSectionKey as n, validateTableMetadata as r } from "./tableFoundation.js";
|
|
4
|
+
import { computed as i, createBlock as a, defineComponent as o, mergeProps as s, openBlock as c, provide as l, ref as u, renderSlot as d, resolveDynamicComponent as f, unref as p, watchEffect as m, withCtx as h } from "vue";
|
|
5
|
+
//#region src/components/shared/data-display/_internal/STableSection.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
+
var g = /*@__PURE__*/ o({
|
|
7
|
+
inheritAttrs: !1,
|
|
8
|
+
__name: "STableSection",
|
|
9
|
+
props: {
|
|
10
|
+
kind: {},
|
|
11
|
+
domId: {},
|
|
12
|
+
focusTarget: {
|
|
13
|
+
type: Boolean,
|
|
14
|
+
default: !1
|
|
15
|
+
},
|
|
16
|
+
title: {},
|
|
17
|
+
language: {},
|
|
18
|
+
direction: {},
|
|
19
|
+
ariaLabel: {},
|
|
20
|
+
ariaLabelledby: {},
|
|
21
|
+
ariaDescribedby: {}
|
|
22
|
+
},
|
|
23
|
+
setup(o, { expose: g }) {
|
|
24
|
+
let _ = o, v = t({
|
|
25
|
+
component: "STableSection",
|
|
26
|
+
owner: "canonical table row group"
|
|
27
|
+
}), y = u(null), b = i(() => e("STableSection", "kind", _.kind, [
|
|
28
|
+
"head",
|
|
29
|
+
"body",
|
|
30
|
+
"foot"
|
|
31
|
+
])), x = i(() => ({
|
|
32
|
+
head: "thead",
|
|
33
|
+
body: "tbody",
|
|
34
|
+
foot: "tfoot"
|
|
35
|
+
})[b.value]), S = i(() => ({
|
|
36
|
+
head: "s-table-header",
|
|
37
|
+
body: "s-table-body",
|
|
38
|
+
foot: "s-table-footer"
|
|
39
|
+
})[b.value]);
|
|
40
|
+
l(n, b);
|
|
41
|
+
function C(e) {
|
|
42
|
+
if (e === null || e instanceof HTMLTableSectionElement) y.value = e;
|
|
43
|
+
else throw TypeError("STableSection: ref must resolve to its native row group.");
|
|
44
|
+
}
|
|
45
|
+
return m(() => {
|
|
46
|
+
r("STableSection", _);
|
|
47
|
+
}), g({ getElement: () => {
|
|
48
|
+
if (!y.value) throw Error("STableSection: native row group is unavailable.");
|
|
49
|
+
return y.value;
|
|
50
|
+
} }), (e, t) => (c(), a(f(x.value), s({ ref: C }, p(v).bindings(), {
|
|
51
|
+
class: S.value,
|
|
52
|
+
id: o.domId,
|
|
53
|
+
tabindex: o.focusTarget ? -1 : void 0,
|
|
54
|
+
title: o.title,
|
|
55
|
+
lang: o.language,
|
|
56
|
+
dir: o.direction,
|
|
57
|
+
"aria-label": o.ariaLabel,
|
|
58
|
+
"aria-labelledby": o.ariaLabelledby,
|
|
59
|
+
"aria-describedby": o.ariaDescribedby
|
|
60
|
+
}), {
|
|
61
|
+
default: h(() => [d(e.$slots, "default")]),
|
|
62
|
+
_: 3
|
|
63
|
+
}, 16, [
|
|
64
|
+
"class",
|
|
65
|
+
"id",
|
|
66
|
+
"tabindex",
|
|
67
|
+
"title",
|
|
68
|
+
"lang",
|
|
69
|
+
"dir",
|
|
70
|
+
"aria-label",
|
|
71
|
+
"aria-labelledby",
|
|
72
|
+
"aria-describedby"
|
|
73
|
+
]));
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
//#endregion
|
|
77
|
+
export { g as default };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { SRichImagePresentation } from './richDocumentTypes';
|
|
2
|
+
import { PlainRecord, ValidationContext } from './richDocumentValidation';
|
|
3
|
+
/** Raster data admission checks exact MIME, canonical base64, and the declared format signature. */
|
|
4
|
+
export declare function validateRasterDataUrl(value: unknown, path: string): string;
|
|
5
|
+
/** Responsive fields resolve admitted image resources; raw src/srcset strings are not accepted. */
|
|
6
|
+
export declare function readImagePresentation(record: PlainRecord, path: string, context: ValidationContext, depth: number): SRichImagePresentation;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { S_RICH_DOCUMENT_MAX_NODES as e, S_RICH_DOCUMENT_MAX_TEXT_LENGTH as t, assertFields as n, consumeRichNode as r, fail as i, leave as a, readArray as o, readInteger as s, readRecord as c, readString as l } from "./richDocumentValidation.js";
|
|
2
|
+
//#region src/components/shared/data-display/_internal/richDocumentMedia.ts
|
|
3
|
+
function u(e, t, n = 0) {
|
|
4
|
+
return t.every((t, r) => e.charCodeAt(n + r) === t);
|
|
5
|
+
}
|
|
6
|
+
function d(e, t, n) {
|
|
7
|
+
return (n ? [
|
|
8
|
+
3,
|
|
9
|
+
2,
|
|
10
|
+
1,
|
|
11
|
+
0
|
|
12
|
+
] : [
|
|
13
|
+
0,
|
|
14
|
+
1,
|
|
15
|
+
2,
|
|
16
|
+
3
|
|
17
|
+
]).reduce((n, r) => n * 256 + e.charCodeAt(t + r), 0);
|
|
18
|
+
}
|
|
19
|
+
function f(e, t) {
|
|
20
|
+
if (e === "image/png") return t.length >= 33 && u(t, [
|
|
21
|
+
137,
|
|
22
|
+
80,
|
|
23
|
+
78,
|
|
24
|
+
71,
|
|
25
|
+
13,
|
|
26
|
+
10,
|
|
27
|
+
26,
|
|
28
|
+
10
|
|
29
|
+
]) && d(t, 8, !1) === 13 && t.slice(12, 16) === "IHDR";
|
|
30
|
+
if (e === "image/jpeg") return t.length >= 4 && u(t, [
|
|
31
|
+
255,
|
|
32
|
+
216,
|
|
33
|
+
255
|
|
34
|
+
]) && u(t, [255, 217], t.length - 2);
|
|
35
|
+
if (e === "image/gif") return t.length >= 14 && (t.startsWith("GIF87a") || t.startsWith("GIF89a")) && t.endsWith(";");
|
|
36
|
+
if (e === "image/webp") return t.length >= 20 && t.startsWith("RIFF") && t.slice(8, 12) === "WEBP" && d(t, 4, !0) === t.length - 8 && [
|
|
37
|
+
"VP8 ",
|
|
38
|
+
"VP8L",
|
|
39
|
+
"VP8X"
|
|
40
|
+
].includes(t.slice(12, 16));
|
|
41
|
+
if (e === "image/avif") {
|
|
42
|
+
if (t.length < 24 || t.slice(4, 8) !== "ftyp") return !1;
|
|
43
|
+
let e = d(t, 0, !1);
|
|
44
|
+
if (e < 24 || e > t.length || e % 4 != 0) return !1;
|
|
45
|
+
if (t.slice(8, 12) === "avif" || t.slice(8, 12) === "avis") return !0;
|
|
46
|
+
for (let n = 16; n < e; n += 4) if (t.slice(n, n + 4) === "avif" || t.slice(n, n + 4) === "avis") return !0;
|
|
47
|
+
}
|
|
48
|
+
return !1;
|
|
49
|
+
}
|
|
50
|
+
function p(e, n) {
|
|
51
|
+
let r = l(e, n, { maximum: t }), a = /^data:(image\/(?:png|jpeg|gif|webp|avif));base64,([A-Za-z0-9+/]+={0,2})$/u.exec(r);
|
|
52
|
+
(a === null || a[1] === void 0 || a[2] === void 0 || a[2].length % 4 != 0) && i("unsafe_url", n, "expected a canonical base64 PNG, JPEG, GIF, WebP, or AVIF data URL");
|
|
53
|
+
let o;
|
|
54
|
+
try {
|
|
55
|
+
o = atob(a[2]);
|
|
56
|
+
} catch {
|
|
57
|
+
i("unsafe_url", n, "base64 payload is invalid");
|
|
58
|
+
}
|
|
59
|
+
return (btoa(o) !== a[2] || !f(a[1], o)) && i("unsafe_url", n, "raster MIME and payload signature must match"), r;
|
|
60
|
+
}
|
|
61
|
+
function m(t, r, u) {
|
|
62
|
+
let d = o(t, r, u, {
|
|
63
|
+
minimum: 1,
|
|
64
|
+
maximum: e
|
|
65
|
+
});
|
|
66
|
+
try {
|
|
67
|
+
let e, t = /* @__PURE__ */ new Set();
|
|
68
|
+
return Object.freeze(d.map((o, d) => {
|
|
69
|
+
let f = `${r}[${d}]`, p = c(o, f, u);
|
|
70
|
+
try {
|
|
71
|
+
n(p, f, /* @__PURE__ */ new Set([
|
|
72
|
+
"resourceId",
|
|
73
|
+
"width",
|
|
74
|
+
"density"
|
|
75
|
+
])), p.width === void 0 == (p.density === void 0) && i("invalid_structure", f, "exactly one width or density descriptor is required");
|
|
76
|
+
let r = l(p.resourceId, `${f}.resourceId`, {
|
|
77
|
+
stable: !0,
|
|
78
|
+
maximum: 256
|
|
79
|
+
}), a = p.width === void 0 ? "density" : "width";
|
|
80
|
+
e !== void 0 && a !== e && i("invalid_structure", f, "candidate sets cannot mix width and density descriptors"), e = a;
|
|
81
|
+
let o;
|
|
82
|
+
return a === "width" ? o = s(p.width, `${f}.width`, 1, 2 ** 53 - 1) : ((typeof p.density != "number" || !Number.isFinite(p.density) || p.density <= 0) && i("invalid_value", `${f}.density`, "density must be a finite positive number"), o = p.density), t.has(o) && i("duplicate_id", `${f}.${a}`, "candidate descriptors must be unique"), t.add(o), Object.freeze(a === "width" ? {
|
|
83
|
+
resourceId: r,
|
|
84
|
+
width: o
|
|
85
|
+
} : {
|
|
86
|
+
resourceId: r,
|
|
87
|
+
density: o
|
|
88
|
+
});
|
|
89
|
+
} finally {
|
|
90
|
+
a(o, u);
|
|
91
|
+
}
|
|
92
|
+
}));
|
|
93
|
+
} finally {
|
|
94
|
+
a(t, u);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
function h(t, s, u, d) {
|
|
98
|
+
let f = o(t, s, u, {
|
|
99
|
+
minimum: 1,
|
|
100
|
+
maximum: e
|
|
101
|
+
});
|
|
102
|
+
try {
|
|
103
|
+
return Object.freeze(f.map((e, t) => {
|
|
104
|
+
let o = `${s}[${t}]`;
|
|
105
|
+
r(o, u, d);
|
|
106
|
+
let f = c(e, o, u);
|
|
107
|
+
try {
|
|
108
|
+
n(f, o, /* @__PURE__ */ new Set(["media", "candidates"]));
|
|
109
|
+
let e = f.media === void 0 ? void 0 : l(f.media, `${o}.media`, {
|
|
110
|
+
stable: !0,
|
|
111
|
+
maximum: 1024
|
|
112
|
+
});
|
|
113
|
+
return e !== void 0 && /[\u0000-\u001F\u007F]/u.test(e) && i("invalid_value", `${o}.media`, "media queries cannot contain control characters"), Object.freeze({
|
|
114
|
+
...e === void 0 ? {} : { media: e },
|
|
115
|
+
candidates: m(f.candidates, `${o}.candidates`, u)
|
|
116
|
+
});
|
|
117
|
+
} finally {
|
|
118
|
+
a(e, u);
|
|
119
|
+
}
|
|
120
|
+
}));
|
|
121
|
+
} finally {
|
|
122
|
+
a(t, u);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
function g(e, t, n, r) {
|
|
126
|
+
return Object.freeze({
|
|
127
|
+
resourceId: l(e.resourceId, `${t}.resourceId`, {
|
|
128
|
+
stable: !0,
|
|
129
|
+
maximum: 256
|
|
130
|
+
}),
|
|
131
|
+
...e.candidates === void 0 ? {} : { candidates: m(e.candidates, `${t}.candidates`, n) },
|
|
132
|
+
...e.pictureSources === void 0 ? {} : { pictureSources: h(e.pictureSources, `${t}.pictureSources`, n, r + 1) }
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
//#endregion
|
|
136
|
+
export { g as readImagePresentation, p as validateRasterDataUrl };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { HTMLAttributes, VNodeProps } from 'vue';
|
|
2
|
+
import { SRichSemanticMetadata } from '../richDocument';
|
|
3
|
+
import { RichDocumentNavigation, RichTargetKind } from './richDocumentNavigation';
|
|
4
|
+
export interface RichMetadataTarget {
|
|
5
|
+
readonly kind: RichTargetKind;
|
|
6
|
+
readonly identity: string;
|
|
7
|
+
}
|
|
8
|
+
/** Maps validated semantic metadata to its native owner; no arbitrary attributes or styling channel. */
|
|
9
|
+
export declare function richMetadataBindings(metadata: SRichSemanticMetadata, navigation: RichDocumentNavigation, target?: RichMetadataTarget): HTMLAttributes & VNodeProps;
|
|
10
|
+
/** Exact prop conversion for shared native owners; fallthrough id/lang/ARIA attrs remain forbidden. */
|
|
11
|
+
export declare function richMetadataOwnerBindings(metadata: SRichSemanticMetadata, navigation: RichDocumentNavigation, target?: RichMetadataTarget): {
|
|
12
|
+
domId: string | undefined;
|
|
13
|
+
focusTarget: boolean;
|
|
14
|
+
title: string | undefined;
|
|
15
|
+
language: string | undefined;
|
|
16
|
+
direction: "auto" | "ltr" | "rtl" | undefined;
|
|
17
|
+
ariaLabel: string | undefined;
|
|
18
|
+
ariaLabelledby: string | undefined;
|
|
19
|
+
ariaDescribedby: string | undefined;
|
|
20
|
+
ref: import('vue').VNodeRef | undefined;
|
|
21
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { richTargetKey as e } from "./richDocumentNavigation.js";
|
|
2
|
+
//#region src/components/shared/data-display/_internal/richDocumentMetadata.ts
|
|
3
|
+
function t(t, n, r) {
|
|
4
|
+
let i = t.anchorId, a = i === void 0 ? r : {
|
|
5
|
+
kind: "anchor",
|
|
6
|
+
identity: i
|
|
7
|
+
}, o = a === void 0 ? [] : [e(a.kind, a.identity)];
|
|
8
|
+
r !== void 0 && a !== void 0 && (a.kind !== r.kind || a.identity !== r.identity) && o.push(e(r.kind, r.identity));
|
|
9
|
+
let s = (e) => e?.map((e) => n.domId("anchor", e)).join(" ");
|
|
10
|
+
return {
|
|
11
|
+
...a === void 0 ? {} : {
|
|
12
|
+
id: n.domId(a.kind, a.identity),
|
|
13
|
+
tabindex: -1
|
|
14
|
+
},
|
|
15
|
+
ref: (e) => n.registerTargets(o, e),
|
|
16
|
+
title: t.title,
|
|
17
|
+
lang: t.lang,
|
|
18
|
+
dir: t.direction,
|
|
19
|
+
"aria-label": t.accessibleLabel,
|
|
20
|
+
"aria-labelledby": s(t.labelledBy),
|
|
21
|
+
"aria-describedby": s(t.describedBy)
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function n(e, n, r) {
|
|
25
|
+
let i = t(e, n, r);
|
|
26
|
+
return {
|
|
27
|
+
domId: i.id,
|
|
28
|
+
focusTarget: i.tabindex === -1,
|
|
29
|
+
title: i.title,
|
|
30
|
+
language: i.lang,
|
|
31
|
+
direction: e.direction,
|
|
32
|
+
ariaLabel: e.accessibleLabel,
|
|
33
|
+
ariaLabelledby: i["aria-labelledby"],
|
|
34
|
+
ariaDescribedby: i["aria-describedby"],
|
|
35
|
+
ref: i.ref
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
export { t as richMetadataBindings, n as richMetadataOwnerBindings };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { InjectionKey } from 'vue';
|
|
2
|
+
import { ElementRefTarget } from '../../../../internal/interactiveElement';
|
|
3
|
+
export type RichTargetKind = 'anchor' | 'footnote' | 'reference' | 'cell';
|
|
4
|
+
export interface RichDocumentNavigation {
|
|
5
|
+
/** Injective DOM identity scoped to this mounted document, not the user-provided document ID. */
|
|
6
|
+
domId: (kind: RichTargetKind, identity: string) => string;
|
|
7
|
+
/** Registers native owners or their public ElementApi; null unregisters an unmounted owner. */
|
|
8
|
+
registerTarget: (key: string, target: ElementRefTarget) => void;
|
|
9
|
+
/** Replaces the complete alias bundle of one native owner, including streaming identity changes. */
|
|
10
|
+
registerTargets: (keys: readonly string[], target: ElementRefTarget) => void;
|
|
11
|
+
/** Registers a composed disclosure ancestor's reveal action; null releases its native owner. */
|
|
12
|
+
registerDisclosure: (owner: HTMLElement, reveal: (() => void) | null) => void;
|
|
13
|
+
/** Reveals, focuses, and scrolls a registered local target without changing browser history. */
|
|
14
|
+
navigate: (key: string) => Promise<void>;
|
|
15
|
+
dispose: () => void;
|
|
16
|
+
}
|
|
17
|
+
export declare const richDocumentNavigationKey: InjectionKey<RichDocumentNavigation>;
|
|
18
|
+
/** Exact tuple identity avoids delimiter collisions between definition and occurrence keys. */
|
|
19
|
+
export declare function richReferenceIdentity(id: string, occurrenceId?: string): string;
|
|
20
|
+
/** Purpose and logical identity are independent, serializable registry coordinates. */
|
|
21
|
+
export declare function richTargetKey(kind: RichTargetKind, identity: string): string;
|
|
22
|
+
/** Encodes the Vue namespace without normalizing host-configured app ID prefixes. */
|
|
23
|
+
export declare function richDocumentScope(vueId: string): string;
|
|
24
|
+
/** Creates a local owner registry. Unknown, duplicate, foreign, or unfocusable targets fail explicitly. */
|
|
25
|
+
export declare function createRichDocumentNavigation(scope: string, getRoot: () => HTMLElement, resolveDomIdentity?: (kind: RichTargetKind, identity: string) => {
|
|
26
|
+
readonly kind: RichTargetKind;
|
|
27
|
+
readonly identity: string;
|
|
28
|
+
}): RichDocumentNavigation;
|
|
29
|
+
/** Requires the single mounted rich-document navigation owner. */
|
|
30
|
+
export declare function useRichDocumentNavigation(): RichDocumentNavigation;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { resolveInteractiveElement as e } from "../../../../internal/interactiveElement.js";
|
|
2
|
+
import { inject as t, nextTick as n } from "vue";
|
|
3
|
+
//#region src/components/shared/data-display/_internal/richDocumentNavigation.ts
|
|
4
|
+
var r = Symbol("richDocumentNavigation");
|
|
5
|
+
function i(e, t) {
|
|
6
|
+
return JSON.stringify([e, t ?? e]);
|
|
7
|
+
}
|
|
8
|
+
function a(e, t) {
|
|
9
|
+
return JSON.stringify([e, t]);
|
|
10
|
+
}
|
|
11
|
+
function o(e) {
|
|
12
|
+
if (/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/u.test(e)) throw TypeError("SRichDocument: identity must contain well-formed Unicode");
|
|
13
|
+
return [...new TextEncoder().encode(e)].map((e) => e.toString(16).padStart(2, "0")).join("");
|
|
14
|
+
}
|
|
15
|
+
function s(e) {
|
|
16
|
+
return `s-rich-document-${o(e)}`;
|
|
17
|
+
}
|
|
18
|
+
function c(t, r, i) {
|
|
19
|
+
let a = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), l = (t, n) => {
|
|
20
|
+
if (new Set(t).size !== t.length) throw Error("SRichDocument: duplicate keys in a target bundle");
|
|
21
|
+
let r = e("SRichDocument navigation", n);
|
|
22
|
+
if (r === null) {
|
|
23
|
+
for (let e of t) {
|
|
24
|
+
let t = a.get(e);
|
|
25
|
+
if (a.delete(e), t !== void 0) {
|
|
26
|
+
let n = s.get(t)?.filter((t) => t !== e) ?? [];
|
|
27
|
+
n.length === 0 ? s.delete(t) : s.set(t, n);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
for (let e of t) {
|
|
33
|
+
let t = a.get(e);
|
|
34
|
+
if (t !== void 0 && t !== r) throw Error(`SRichDocument: duplicate target owner ${JSON.stringify(e)}`);
|
|
35
|
+
}
|
|
36
|
+
for (let e of s.get(r) ?? []) a.delete(e);
|
|
37
|
+
t.length === 0 ? s.delete(r) : s.set(r, [...t]);
|
|
38
|
+
for (let e of t) a.set(e, r);
|
|
39
|
+
};
|
|
40
|
+
return {
|
|
41
|
+
domId: (e, n) => {
|
|
42
|
+
let r = i?.(e, n) ?? {
|
|
43
|
+
kind: e,
|
|
44
|
+
identity: n
|
|
45
|
+
};
|
|
46
|
+
return `${t}-${r.kind}-${o(r.identity)}`;
|
|
47
|
+
},
|
|
48
|
+
registerTarget: (e, t) => l([e], t),
|
|
49
|
+
registerTargets: l,
|
|
50
|
+
registerDisclosure: (e, t) => {
|
|
51
|
+
t === null ? c.delete(e) : c.set(e, t);
|
|
52
|
+
},
|
|
53
|
+
navigate: async (e) => {
|
|
54
|
+
let t = r(), i = a.get(e);
|
|
55
|
+
if (!i) throw Error(`SRichDocument: target ${JSON.stringify(e)} is unavailable`);
|
|
56
|
+
if (!t.contains(i)) throw Error(`SRichDocument: target ${JSON.stringify(e)} is outside its document`);
|
|
57
|
+
let o = [], s = i.parentElement;
|
|
58
|
+
for (; s !== null && s !== t;) {
|
|
59
|
+
if (s instanceof HTMLDetailsElement) {
|
|
60
|
+
let e = s;
|
|
61
|
+
o.unshift(() => {
|
|
62
|
+
e.open = !0;
|
|
63
|
+
});
|
|
64
|
+
} else {
|
|
65
|
+
let e = c.get(s);
|
|
66
|
+
e !== void 0 && o.unshift(e);
|
|
67
|
+
}
|
|
68
|
+
s = s.parentElement;
|
|
69
|
+
}
|
|
70
|
+
for (let e of o) e();
|
|
71
|
+
if (await n(), i.focus({ preventScroll: !0 }), i.ownerDocument.activeElement !== i) throw Error(`SRichDocument: target ${JSON.stringify(e)} is not focusable`);
|
|
72
|
+
i.scrollIntoView({
|
|
73
|
+
block: "nearest",
|
|
74
|
+
inline: "nearest"
|
|
75
|
+
});
|
|
76
|
+
},
|
|
77
|
+
dispose: () => {
|
|
78
|
+
a.clear(), s.clear(), c.clear();
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function l() {
|
|
83
|
+
let e = t(r);
|
|
84
|
+
if (!e) throw Error("SRichDocument: scoped navigation owner is unavailable");
|
|
85
|
+
return e;
|
|
86
|
+
}
|
|
87
|
+
//#endregion
|
|
88
|
+
export { c as createRichDocumentNavigation, r as richDocumentNavigationKey, s as richDocumentScope, i as richReferenceIdentity, a as richTargetKey, l as useRichDocumentNavigation };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SRichBlockNode, SRichInlineNode, SRichSemanticTableNode } from './richDocumentTypes';
|
|
2
|
+
import { PlainRecord, ValidationContext } from './richDocumentValidation';
|
|
3
|
+
interface ContentValidators {
|
|
4
|
+
readonly inline: (value: unknown, path: string, depth: number) => readonly SRichInlineNode[];
|
|
5
|
+
readonly block: (value: unknown, path: string, depth: number) => readonly SRichBlockNode[];
|
|
6
|
+
}
|
|
7
|
+
/** Structural tables retain row groups and content kinds while enforcing grid and header invariants. */
|
|
8
|
+
export declare function validateSemanticTable(record: PlainRecord, path: string, context: ValidationContext, depth: number, children: ContentValidators): SRichSemanticTableNode;
|
|
9
|
+
export {};
|