@pgcorp/ui-kit 0.10.0 → 0.10.2

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.
Files changed (856) hide show
  1. package/README.md +46 -2
  2. package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
  3. package/dist/assets/diff.worker-Da8jAqQb.js +2 -0
  4. package/dist/assets/src/components/layout/SDockRegion.vue_vue_type_style_index_0_scoped_2932631d_lang.css +1 -0
  5. package/dist/assets/src/components/layout/SResizeHandle.vue_vue_type_style_index_0_scoped_90cc655e_lang.css +1 -0
  6. package/dist/assets/src/components/layout/SStack.css_vue_type_style_index_0_src_7da6a319_scoped_7da6a319_lang.css +2 -0
  7. package/dist/assets/src/components/layout/SStatusBarShell.css_vue_type_style_index_0_src_27a8f1b6_scoped_27a8f1b6_lang.css +2 -0
  8. package/dist/assets/src/components/layout/SWorkbenchLayout.vue_vue_type_style_index_0_scoped_3853dbfb_lang.css +2 -0
  9. package/dist/assets/src/components/layout/SWorkbenchPanelShell.css_vue_type_style_index_0_src_1030a231_scoped_1030a231_lang.css +2 -0
  10. package/dist/assets/src/components/layout/_internal/SAppBrand.css_vue_type_style_index_0_src_51a58c3e_scoped_51a58c3e_lang.css +2 -0
  11. package/dist/assets/src/components/shared/_internal/SDialogSurface.css_vue_type_style_index_0_src_979bf586_scoped_979bf586_lang.css +2 -0
  12. package/dist/assets/src/components/shared/_internal/SDisclosureSummary.css_vue_type_style_index_0_src_056eb42e_scoped_056eb42e_lang.css +2 -0
  13. package/dist/assets/src/components/shared/_internal/SHeaderSurface.css_vue_type_style_index_0_src_3beb2aed_scoped_3beb2aed_lang.css +2 -0
  14. package/dist/assets/src/components/shared/_internal/SListboxGroup.css_vue_type_style_index_0_src_518787d3_scoped_518787d3_lang.css +2 -0
  15. package/dist/assets/src/components/shared/_internal/SMenuItem.css_vue_type_style_index_0_src_e5bd192e_scoped_e5bd192e_lang.css +2 -0
  16. package/dist/assets/src/components/shared/_internal/SMenuLayer.css_vue_type_style_index_0_src_4913bbe1_scoped_4913bbe1_lang.css +1 -0
  17. package/dist/assets/src/components/shared/_internal/SMenuSeparator.css_vue_type_style_index_0_src_81ba0159_scoped_81ba0159_lang.css +2 -0
  18. package/dist/assets/src/components/shared/_internal/SToastItem.css_vue_type_style_index_0_src_cfab96d6_scoped_cfab96d6_lang.css +2 -0
  19. package/dist/assets/src/components/shared/_internal/STreeNode.vue_vue_type_style_index_0_lang.css +2 -0
  20. package/dist/assets/src/components/shared/complex/SKanbanCard.css_vue_type_style_index_0_src_d8c46c53_scoped_d8c46c53_lang.css +2 -0
  21. package/dist/assets/src/components/shared/complex/STree.css_vue_type_style_index_0_src_true_lang.css +2 -0
  22. package/dist/assets/src/components/shared/containers/SCloudChrome.css_vue_type_style_index_0_src_true_lang.css +2 -0
  23. package/dist/assets/src/components/shared/containers/SCloudChromeEmpty.css_vue_type_style_index_0_src_true_lang.css +2 -0
  24. package/dist/assets/src/components/shared/containers/SCloudChromeRow.css_vue_type_style_index_0_src_true_lang.css +2 -0
  25. package/dist/assets/src/components/shared/containers/SCollapsiblePanel.css_vue_type_style_index_0_src_4882f962_scoped_4882f962_lang.css +2 -0
  26. package/dist/assets/src/components/shared/containers/SDrawer.css_vue_type_style_index_0_src_d0cace23_scoped_d0cace23_lang.css +2 -0
  27. package/dist/assets/src/components/shared/containers/SFormGrid.css_vue_type_style_index_0_src_80a60d65_scoped_80a60d65_lang.css +2 -0
  28. package/dist/assets/src/components/shared/containers/SFormGridItem.css_vue_type_style_index_0_src_1982571a_scoped_1982571a_lang.css +2 -0
  29. package/dist/assets/src/components/shared/containers/SLeftSidebar.vue_vue_type_style_index_0_scoped_06cec9a1_lang.css +2 -0
  30. package/dist/assets/src/components/shared/containers/SModal.css_vue_type_style_index_0_src_dc3c799e_scoped_dc3c799e_lang.css +2 -0
  31. package/dist/assets/src/components/shared/containers/SPanel.css_vue_type_style_index_0_src_c0e5420c_scoped_c0e5420c_lang.css +2 -0
  32. package/dist/assets/src/components/shared/containers/SPopover.css_vue_type_style_index_0_src_deded766_scoped_deded766_lang.css +2 -0
  33. package/dist/assets/src/components/shared/containers/SSidebarGroup.css_vue_type_style_index_0_src_3e8bc2d7_scoped_3e8bc2d7_lang.css +2 -0
  34. package/dist/assets/src/components/shared/containers/SSidebarSection.css_vue_type_style_index_0_src_96f51ac6_scoped_96f51ac6_lang.css +2 -0
  35. package/dist/assets/src/components/shared/controls/SButton.css_vue_type_style_index_0_src_52ad38b1_scoped_52ad38b1_lang.css +2 -0
  36. package/dist/assets/src/components/shared/controls/SCheckbox.css_vue_type_style_index_0_src_b20b27dd_scoped_b20b27dd_lang.css +2 -0
  37. package/dist/assets/src/components/shared/controls/SChoiceCards.css_vue_type_style_index_0_src_627a8628_scoped_627a8628_lang.css +2 -0
  38. package/dist/assets/src/components/shared/controls/SCombobox.css_vue_type_style_index_0_src_e3b4f580_scoped_e3b4f580_lang.css +2 -0
  39. package/dist/assets/src/components/shared/controls/SComboboxTrigger.css_vue_type_style_index_0_src_e453a3fa_scoped_e453a3fa_lang.css +2 -0
  40. package/dist/assets/src/components/shared/controls/SContextMenu.css_vue_type_style_index_0_src_00c91d39_scoped_00c91d39_lang.css +1 -0
  41. package/dist/assets/src/components/shared/controls/SDropdownMenu.css_vue_type_style_index_0_src_b854a89e_scoped_b854a89e_lang.css +2 -0
  42. package/dist/assets/src/components/shared/controls/SField.css_vue_type_style_index_0_src_60628f96_scoped_60628f96_lang.css +2 -0
  43. package/dist/assets/src/components/shared/controls/SFieldGroup.css_vue_type_style_index_0_src_fc781c88_scoped_fc781c88_lang.css +2 -0
  44. package/dist/assets/src/components/shared/controls/SFieldLabel.css_vue_type_style_index_0_src_80025f86_scoped_80025f86_lang.css +2 -0
  45. package/dist/assets/src/components/shared/controls/SInlineTokenEditor.css_vue_type_style_index_0_src_aec1b353_scoped_aec1b353_lang.css +2 -0
  46. package/dist/assets/src/components/shared/controls/SInputText.css_vue_type_style_index_0_src_6d42d245_scoped_6d42d245_lang.css +2 -0
  47. package/dist/assets/src/components/shared/controls/SInteractiveSurface.css_vue_type_style_index_0_src_998940dd_scoped_998940dd_lang.css +2 -0
  48. package/dist/assets/src/components/shared/controls/SLink.css_vue_type_style_index_0_src_c7ae14e1_scoped_c7ae14e1_lang.css +2 -0
  49. package/dist/assets/src/components/shared/controls/SListbox.css_vue_type_style_index_0_src_24db4abb_scoped_24db4abb_lang.css +2 -0
  50. package/dist/assets/src/components/shared/controls/SListboxOption.css_vue_type_style_index_0_src_77c399b4_scoped_77c399b4_lang.css +2 -0
  51. package/dist/assets/src/components/shared/controls/SMarker.css_vue_type_style_index_0_src_086bcc16_scoped_086bcc16_lang.css +2 -0
  52. package/dist/assets/src/components/shared/controls/SMenuSurface.css_vue_type_style_index_0_src_bc7c7be4_scoped_bc7c7be4_lang.css +2 -0
  53. package/dist/assets/src/components/shared/controls/SRange.css_vue_type_style_index_0_src_343bbcc6_scoped_343bbcc6_lang.css +2 -0
  54. package/dist/assets/src/components/shared/controls/SSegmentedControl.css_vue_type_style_index_0_src_8bf7785a_scoped_8bf7785a_lang.css +2 -0
  55. package/dist/assets/src/components/shared/controls/SSelect.css_vue_type_style_index_0_src_441648c9_scoped_441648c9_lang.css +2 -0
  56. package/dist/assets/src/components/shared/controls/SSwitch.css_vue_type_style_index_0_src_7b4d74b5_scoped_7b4d74b5_lang.css +2 -0
  57. package/dist/assets/src/components/shared/controls/STextarea.css_vue_type_style_index_0_src_true_lang.css +2 -0
  58. package/dist/assets/src/components/shared/data-display/SActionCard.css_vue_type_style_index_0_src_9c1a2409_scoped_9c1a2409_lang.css +2 -0
  59. package/dist/assets/src/components/shared/data-display/SActionList.css_vue_type_style_index_0_src_5d4ca97f_scoped_5d4ca97f_lang.css +2 -0
  60. package/dist/assets/src/components/shared/data-display/SActionListItem.css_vue_type_style_index_0_src_f0c4206a_scoped_f0c4206a_lang.css +2 -0
  61. package/dist/assets/src/components/shared/data-display/SChart.css_vue_type_style_index_0_src_47d0c0a8_scoped_47d0c0a8_lang.css +2 -0
  62. package/dist/assets/src/components/shared/data-display/SChip.css_vue_type_style_index_0_src_66e478e7_scoped_66e478e7_lang.css +2 -0
  63. package/dist/assets/src/components/shared/data-display/SCodeBlock.css_vue_type_style_index_0_src_78557968_scoped_78557968_lang.css +2 -0
  64. package/dist/assets/src/components/shared/data-display/SCodeEditor.css_vue_type_style_index_0_src_124ca461_scoped_124ca461_lang.css +2 -0
  65. package/dist/assets/src/components/shared/data-display/SCodeSearchPanel.vue_vue_type_style_index_0_scoped_8d12d958_lang.css +2 -0
  66. package/dist/assets/src/components/shared/data-display/SCodeWorkspaceEditor.css_vue_type_style_index_0_src_b200dc8e_scoped_b200dc8e_lang.css +2 -0
  67. package/dist/assets/src/components/shared/data-display/SControlledToastViewport.css_vue_type_style_index_0_src_5864b6c6_scoped_5864b6c6_lang.css +2 -0
  68. package/dist/assets/src/components/shared/data-display/SDiffViewer.css_vue_type_style_index_0_src_2b041caf_scoped_2b041caf_lang.css +2 -0
  69. package/dist/assets/src/components/shared/data-display/SDocBlock.css_vue_type_style_index_0_src_23049785_scoped_23049785_lang.css +2 -0
  70. package/dist/assets/src/components/shared/data-display/SEmptyState.css_vue_type_style_index_0_src_40c7760e_scoped_40c7760e_lang.css +2 -0
  71. package/dist/assets/src/components/shared/data-display/SExpandableText.vue_vue_type_style_index_0_scoped_01b69142_lang.css +2 -0
  72. package/dist/assets/src/components/shared/data-display/SJsonTree.css_vue_type_style_index_0_src_54527df1_scoped_54527df1_lang.css +2 -0
  73. package/dist/assets/src/components/shared/data-display/SKeyValueGrid.css_vue_type_style_index_0_src_c1fe7af7_scoped_c1fe7af7_lang.css +2 -0
  74. package/dist/assets/src/components/shared/data-display/SLinkedSystemsList.vue_vue_type_style_index_0_scoped_3a9401da_lang.css +2 -0
  75. package/dist/assets/src/components/shared/data-display/SMessage.css_vue_type_style_index_0_src_e6cc7503_scoped_e6cc7503_lang.css +2 -0
  76. package/dist/assets/src/components/shared/data-display/SMetricCard.css_vue_type_style_index_0_src_9c6a4cbb_scoped_9c6a4cbb_lang.css +2 -0
  77. package/dist/assets/src/components/shared/data-display/SProgressBar.css_vue_type_style_index_0_src_9308293a_scoped_9308293a_lang.css +2 -0
  78. package/dist/assets/src/components/shared/data-display/SProgressIndicator.css_vue_type_style_index_0_src_c1a5f4c1_scoped_c1a5f4c1_lang.css +2 -0
  79. package/dist/assets/src/components/shared/data-display/SRichDocument.css_vue_type_style_index_0_src_d1afafc5_scoped_d1afafc5_lang.css +2 -0
  80. package/dist/assets/src/components/shared/data-display/SScrollViewport.css_vue_type_style_index_0_src_e5d11342_scoped_e5d11342_lang.css +2 -0
  81. package/dist/assets/src/components/shared/data-display/SStatus.css_vue_type_style_index_0_src_c76fa058_scoped_c76fa058_lang.css +2 -0
  82. package/dist/assets/src/components/shared/data-display/STable.css_vue_type_style_index_0_src_9955d482_scoped_9955d482_lang.css +2 -0
  83. package/dist/assets/src/components/shared/data-display/STooltip.css_vue_type_style_index_0_src_true_lang.css +2 -0
  84. package/dist/assets/src/components/shared/data-display/STooltipAnchor.css_vue_type_style_index_0_src_17fadb8a_scoped_17fadb8a_lang.css +2 -0
  85. package/dist/assets/src/components/shared/data-display/STooltipTarget.css_vue_type_style_index_0_src_aabfbd84_scoped_aabfbd84_lang.css +2 -0
  86. package/dist/assets/src/components/shared/data-display/SVirtualList.css_vue_type_style_index_0_src_1717877d_scoped_1717877d_lang.css +2 -0
  87. package/dist/assets/src/components/shared/data-display/_internal/SCodeTokenLine.css_vue_type_style_index_0_src_4f4b5ce8_scoped_4f4b5ce8_lang.css +2 -0
  88. package/dist/assets/src/components/shared/data-display/_internal/SRichBlockNode.css_vue_type_style_index_0_src_195d5c06_scoped_195d5c06_lang.css +2 -0
  89. package/dist/assets/src/components/shared/data-display/_internal/SRichDisclosure.css_vue_type_style_index_0_src_fa94e2ff_scoped_fa94e2ff_lang.css +2 -0
  90. package/dist/assets/src/components/shared/data-display/_internal/SRichInlineNode.css_vue_type_style_index_0_src_20c8cc87_scoped_20c8cc87_lang.css +2 -0
  91. package/dist/assets/src/components/shared/data-display/_internal/SRichMath.css_vue_type_style_index_0_src_true_lang.css +2 -0
  92. package/dist/assets/src/components/shared/database/SDataGrid.css_vue_type_style_index_0_src_09e3ea65_scoped_09e3ea65_lang.css +2 -0
  93. package/dist/assets/src/components/shared/feedback/SAsyncState.css_vue_type_style_index_0_src_bfc28903_scoped_bfc28903_lang.css +2 -0
  94. package/dist/assets/src/components/shared/graph/SGraphViewport.vue_vue_type_style_index_0_scoped_ef926337_lang.css +1 -0
  95. package/dist/assets/src/components/shared/navigation/SBottomNav.vue_vue_type_style_index_0_scoped_b3963080_lang.css +1 -0
  96. package/dist/assets/src/components/shared/navigation/SBreadcrumbs.css_vue_type_style_index_0_src_f836963c_scoped_f836963c_lang.css +2 -0
  97. package/dist/assets/src/components/shared/navigation/SCatalogNavigator.css_vue_type_style_index_0_src_f4ae099d_scoped_f4ae099d_lang.css +1 -0
  98. package/dist/assets/src/components/shared/navigation/STab.vue_vue_type_style_index_0_scoped_4a09da96_lang.css +2 -0
  99. package/dist/assets/src/components/shared/navigation/STabList.vue_vue_type_style_index_0_scoped_ec676576_lang.css +2 -0
  100. package/dist/assets/src/components/shared/navigation/STabPanel.vue_vue_type_style_index_0_scoped_0f372aeb_lang.css +2 -0
  101. package/dist/assets/src/components/shared/navigation/STabPanels.vue_vue_type_style_index_0_scoped_9afa936c_lang.css +2 -0
  102. package/dist/assets/src/components/shared/navigation/STabs.vue_vue_type_style_index_0_scoped_89861a98_lang.css +2 -0
  103. package/dist/assets/src/components/shared/navigation/SWizardSteps.css_vue_type_style_index_0_src_bfd8db0a_scoped_bfd8db0a_lang.css +1 -0
  104. package/dist/assets/src/components/shared/navigation/_internal/SCatalogNavigatorGroup.vue_vue_type_style_index_0_scoped_3145ab84_lang.css +2 -0
  105. package/dist/assets/src/components/shared/persona/SPersonaProjectPicker.css_vue_type_style_index_0_src_cf24edf0_scoped_cf24edf0_lang.css +2 -0
  106. package/dist/assets/src/components/shared/persona/SPersonaRunWorkbench.css_vue_type_style_index_0_src_bca49ddb_scoped_bca49ddb_lang.css +2 -0
  107. package/dist/assets/src/components/shared/persona/_internal/SPersonaRunConsole.css_vue_type_style_index_0_src_21bf807e_scoped_21bf807e_lang.css +2 -0
  108. package/dist/index.js +6 -0
  109. package/dist/src/components/icons/_internal/generatedSputnigUiIconComponents.d.ts +243 -0
  110. package/dist/src/components/icons/_internal/generatedSputnigUiIconComponents.js +7 -0
  111. package/dist/src/components/icons/_internal/generatedSputnigUiIconMarkup.d.ts +725 -0
  112. package/dist/src/components/icons/_internal/generatedSputnigUiIconMarkup.js +487 -0
  113. package/dist/src/components/icons/_internal/sputnigUiIconRuntime.d.ts +18 -0
  114. package/dist/src/components/icons/_internal/sputnigUiIconRuntime.js +99 -0
  115. package/dist/src/components/icons/sputnigUiIcons.d.ts +72 -0
  116. package/dist/src/components/icons/sputnigUiIcons.js +272 -0
  117. package/dist/src/components/layout/SAppShell.vue.d.ts +68 -0
  118. package/dist/src/components/layout/SAppShell.vue.js +5 -0
  119. package/dist/src/components/layout/SAppShell.vue_vue_type_script_setup_true_lang.js +166 -0
  120. package/dist/src/components/layout/SDockRegion.vue.d.ts +50 -0
  121. package/dist/src/components/layout/SDockRegion.vue.js +8 -0
  122. package/dist/src/components/layout/SDockRegion.vue_vue_type_script_setup_true_lang.js +130 -0
  123. package/dist/src/components/layout/SResizeHandle.vue.d.ts +43 -0
  124. package/dist/src/components/layout/SResizeHandle.vue.js +8 -0
  125. package/dist/src/components/layout/SResizeHandle.vue_vue_type_script_setup_true_lang.js +175 -0
  126. package/dist/src/components/layout/SSideMenuButton.vue.d.ts +37 -0
  127. package/dist/src/components/layout/SSideMenuButton.vue.js +5 -0
  128. package/dist/src/components/layout/SSideMenuButton.vue_vue_type_script_setup_true_lang.js +91 -0
  129. package/dist/src/components/layout/SSideMenuRail.vue.d.ts +22 -0
  130. package/dist/src/components/layout/SSideMenuRail.vue.js +5 -0
  131. package/dist/src/components/layout/SSideMenuRail.vue_vue_type_script_setup_true_lang.js +32 -0
  132. package/dist/src/components/layout/SStack.vue.d.ts +44 -0
  133. package/dist/src/components/layout/SStack.vue.js +8 -0
  134. package/dist/src/components/layout/SStack.vue_vue_type_script_setup_true_lang.js +43 -0
  135. package/dist/src/components/layout/SStatusBarShell.vue.d.ts +17 -0
  136. package/dist/src/components/layout/SStatusBarShell.vue.js +8 -0
  137. package/dist/src/components/layout/SStatusBarShell.vue_vue_type_script_setup_true_lang.js +20 -0
  138. package/dist/src/components/layout/SWorkbenchLayout.vue.d.ts +30 -0
  139. package/dist/src/components/layout/SWorkbenchLayout.vue.js +8 -0
  140. package/dist/src/components/layout/SWorkbenchLayout.vue_vue_type_script_setup_true_lang.js +38 -0
  141. package/dist/src/components/layout/SWorkbenchPanelShell.vue.d.ts +62 -0
  142. package/dist/src/components/layout/SWorkbenchPanelShell.vue.js +8 -0
  143. package/dist/src/components/layout/SWorkbenchPanelShell.vue_vue_type_script_setup_true_lang.js +200 -0
  144. package/dist/src/components/layout/_internal/SAppBrand.vue.d.ts +29 -0
  145. package/dist/src/components/layout/_internal/SAppBrand.vue.js +5 -0
  146. package/dist/src/components/layout/_internal/SAppBrand.vue_vue_type_script_setup_true_lang.js +73 -0
  147. package/dist/src/components/layout/_internal/SAppBrandContent.vue.d.ts +26 -0
  148. package/dist/src/components/layout/_internal/SAppBrandContent.vue.js +8 -0
  149. package/dist/src/components/layout/_internal/SAppBrandContent.vue_vue_type_script_setup_true_lang.js +33 -0
  150. package/dist/src/components/layout/types.d.ts +29 -0
  151. package/dist/src/components/layout/types.js +0 -0
  152. package/dist/src/components/shared/_internal/SDialogSurface.vue.d.ts +35 -0
  153. package/dist/src/components/shared/_internal/SDialogSurface.vue.js +8 -0
  154. package/dist/src/components/shared/_internal/SDialogSurface.vue_vue_type_script_setup_true_lang.js +89 -0
  155. package/dist/src/components/shared/_internal/SDisclosureSummary.vue.d.ts +20 -0
  156. package/dist/src/components/shared/_internal/SDisclosureSummary.vue.js +8 -0
  157. package/dist/src/components/shared/_internal/SDisclosureSummary.vue_vue_type_script_setup_true_lang.js +97 -0
  158. package/dist/src/components/shared/_internal/SHeaderSurface.vue.d.ts +43 -0
  159. package/dist/src/components/shared/_internal/SHeaderSurface.vue.js +8 -0
  160. package/dist/src/components/shared/_internal/SHeaderSurface.vue_vue_type_script_setup_true_lang.js +80 -0
  161. package/dist/src/components/shared/_internal/SListboxGroup.vue.d.ts +20 -0
  162. package/dist/src/components/shared/_internal/SListboxGroup.vue.js +8 -0
  163. package/dist/src/components/shared/_internal/SListboxGroup.vue_vue_type_script_setup_true_lang.js +26 -0
  164. package/dist/src/components/shared/_internal/SMenuItem.vue.d.ts +18 -0
  165. package/dist/src/components/shared/_internal/SMenuItem.vue.js +8 -0
  166. package/dist/src/components/shared/_internal/SMenuItem.vue_vue_type_script_setup_true_lang.js +218 -0
  167. package/dist/src/components/shared/_internal/SMenuLayer.vue.d.ts +24 -0
  168. package/dist/src/components/shared/_internal/SMenuLayer.vue.js +8 -0
  169. package/dist/src/components/shared/_internal/SMenuLayer.vue_vue_type_script_setup_true_lang.js +33 -0
  170. package/dist/src/components/shared/_internal/SMenuSeparator.vue.d.ts +6 -0
  171. package/dist/src/components/shared/_internal/SMenuSeparator.vue.js +8 -0
  172. package/dist/src/components/shared/_internal/SMenuSeparator.vue_vue_type_script_setup_true_lang.js +16 -0
  173. package/dist/src/components/shared/_internal/SToastItem.vue.d.ts +26 -0
  174. package/dist/src/components/shared/_internal/SToastItem.vue.js +8 -0
  175. package/dist/src/components/shared/_internal/SToastItem.vue_vue_type_script_setup_true_lang.js +86 -0
  176. package/dist/src/components/shared/_internal/STreeNode.vue.d.ts +31 -0
  177. package/dist/src/components/shared/_internal/STreeNode.vue.js +7 -0
  178. package/dist/src/components/shared/_internal/STreeNode.vue_vue_type_script_setup_true_lang.js +410 -0
  179. package/dist/src/components/shared/_internal/dialogSurface.d.ts +29 -0
  180. package/dist/src/components/shared/_internal/dialogSurface.js +52 -0
  181. package/dist/src/components/shared/_internal/focusTrap.d.ts +2 -0
  182. package/dist/src/components/shared/_internal/focusTrap.js +20 -0
  183. package/dist/src/components/shared/_internal/listboxContext.d.ts +13 -0
  184. package/dist/src/components/shared/_internal/listboxContext.js +4 -0
  185. package/dist/src/components/shared/_internal/markerContract.d.ts +12 -0
  186. package/dist/src/components/shared/_internal/markerContract.js +28 -0
  187. package/dist/src/components/shared/_internal/menuContext.d.ts +19 -0
  188. package/dist/src/components/shared/_internal/menuContext.js +4 -0
  189. package/dist/src/components/shared/_internal/selectionContract.d.ts +53 -0
  190. package/dist/src/components/shared/_internal/selectionContract.js +138 -0
  191. package/dist/src/components/shared/_internal/sidebarGroupContext.d.ts +27 -0
  192. package/dist/src/components/shared/_internal/sidebarGroupContext.js +4 -0
  193. package/dist/src/components/shared/_internal/tabsContext.d.ts +51 -0
  194. package/dist/src/components/shared/_internal/tabsContext.js +4 -0
  195. package/dist/src/components/shared/_internal/treeRuntime.d.ts +68 -0
  196. package/dist/src/components/shared/_internal/treeRuntime.js +81 -0
  197. package/dist/src/components/shared/_internal/useRadioGroup.d.ts +32 -0
  198. package/dist/src/components/shared/_internal/useRadioGroup.js +48 -0
  199. package/dist/src/components/shared/_internal/useSelectionRoving.d.ts +36 -0
  200. package/dist/src/components/shared/_internal/useSelectionRoving.js +58 -0
  201. package/dist/src/components/shared/codeLanguages.d.ts +5 -0
  202. package/dist/src/components/shared/codeLanguages.js +42 -0
  203. package/dist/src/components/shared/complex/SKanbanCard.vue.d.ts +42 -0
  204. package/dist/src/components/shared/complex/SKanbanCard.vue.js +8 -0
  205. package/dist/src/components/shared/complex/SKanbanCard.vue_vue_type_script_setup_true_lang.js +75 -0
  206. package/dist/src/components/shared/complex/SKanbanLane.vue.d.ts +38 -0
  207. package/dist/src/components/shared/complex/SKanbanLane.vue.js +5 -0
  208. package/dist/src/components/shared/complex/SKanbanLane.vue_vue_type_script_setup_true_lang.js +73 -0
  209. package/dist/src/components/shared/complex/STree.vue.d.ts +45 -0
  210. package/dist/src/components/shared/complex/STree.vue.js +7 -0
  211. package/dist/src/components/shared/complex/STree.vue_vue_type_script_setup_true_lang.js +223 -0
  212. package/dist/src/components/shared/complex/treeAdapter.d.ts +16 -0
  213. package/dist/src/components/shared/complex/treeAdapter.js +100 -0
  214. package/{src/components/shared/complex/types.ts → dist/src/components/shared/complex/types.d.ts} +47 -59
  215. package/dist/src/components/shared/complex/types.js +0 -0
  216. package/dist/src/components/shared/containers/SCloudChrome.vue.d.ts +44 -0
  217. package/dist/src/components/shared/containers/SCloudChrome.vue.js +7 -0
  218. package/dist/src/components/shared/containers/SCloudChrome.vue_vue_type_script_setup_true_lang.js +77 -0
  219. package/dist/src/components/shared/containers/SCloudChromeEmpty.vue.d.ts +13 -0
  220. package/dist/src/components/shared/containers/SCloudChromeEmpty.vue.js +7 -0
  221. package/dist/src/components/shared/containers/SCloudChromeEmpty.vue_vue_type_script_setup_true_lang.js +23 -0
  222. package/dist/src/components/shared/containers/SCloudChromeRow.vue.d.ts +49 -0
  223. package/dist/src/components/shared/containers/SCloudChromeRow.vue.js +7 -0
  224. package/dist/src/components/shared/containers/SCloudChromeRow.vue_vue_type_script_setup_true_lang.js +126 -0
  225. package/dist/src/components/shared/containers/SCollapsiblePanel.vue.d.ts +56 -0
  226. package/dist/src/components/shared/containers/SCollapsiblePanel.vue.js +8 -0
  227. package/dist/src/components/shared/containers/SCollapsiblePanel.vue_vue_type_script_setup_true_lang.js +214 -0
  228. package/dist/src/components/shared/containers/SDrawer.vue.d.ts +44 -0
  229. package/dist/src/components/shared/containers/SDrawer.vue.js +8 -0
  230. package/dist/src/components/shared/containers/SDrawer.vue_vue_type_script_setup_true_lang.js +101 -0
  231. package/dist/src/components/shared/containers/SFormGrid.vue.d.ts +30 -0
  232. package/dist/src/components/shared/containers/SFormGrid.vue.js +8 -0
  233. package/dist/src/components/shared/containers/SFormGrid.vue_vue_type_script_setup_true_lang.js +30 -0
  234. package/dist/src/components/shared/containers/SFormGridItem.vue.d.ts +21 -0
  235. package/dist/src/components/shared/containers/SFormGridItem.vue.js +8 -0
  236. package/dist/src/components/shared/containers/SFormGridItem.vue_vue_type_script_setup_true_lang.js +20 -0
  237. package/dist/src/components/shared/containers/SLeftSidebar.vue.d.ts +39 -0
  238. package/dist/src/components/shared/containers/SLeftSidebar.vue.js +8 -0
  239. package/dist/src/components/shared/containers/SLeftSidebar.vue_vue_type_script_setup_true_lang.js +59 -0
  240. package/dist/src/components/shared/containers/SModal.vue.d.ts +57 -0
  241. package/dist/src/components/shared/containers/SModal.vue.js +8 -0
  242. package/dist/src/components/shared/containers/SModal.vue_vue_type_script_setup_true_lang.js +104 -0
  243. package/dist/src/components/shared/containers/SPageHeader.vue.d.ts +31 -0
  244. package/dist/src/components/shared/containers/SPageHeader.vue.js +5 -0
  245. package/dist/src/components/shared/containers/SPageHeader.vue_vue_type_script_setup_true_lang.js +50 -0
  246. package/dist/src/components/shared/containers/SPanel.vue.d.ts +77 -0
  247. package/dist/src/components/shared/containers/SPanel.vue.js +8 -0
  248. package/dist/src/components/shared/containers/SPanel.vue_vue_type_script_setup_true_lang.js +149 -0
  249. package/dist/src/components/shared/containers/SPopover.vue.d.ts +68 -0
  250. package/dist/src/components/shared/containers/SPopover.vue.js +8 -0
  251. package/dist/src/components/shared/containers/SPopover.vue_vue_type_script_setup_true_lang.js +326 -0
  252. package/dist/src/components/shared/containers/SSidebarGroup.vue.d.ts +23 -0
  253. package/dist/src/components/shared/containers/SSidebarGroup.vue.js +8 -0
  254. package/dist/src/components/shared/containers/SSidebarGroup.vue_vue_type_script_setup_true_lang.js +272 -0
  255. package/dist/src/components/shared/containers/SSidebarSection.vue.d.ts +35 -0
  256. package/dist/src/components/shared/containers/SSidebarSection.vue.js +8 -0
  257. package/dist/src/components/shared/containers/SSidebarSection.vue_vue_type_script_setup_true_lang.js +181 -0
  258. package/dist/src/components/shared/containers/SUiKitLocaleProvider.vue.d.ts +19 -0
  259. package/dist/src/components/shared/containers/SUiKitLocaleProvider.vue.js +5 -0
  260. package/dist/src/components/shared/containers/SUiKitLocaleProvider.vue_vue_type_script_setup_true_lang.js +36 -0
  261. package/dist/src/components/shared/containers/disclosureSummary.d.ts +41 -0
  262. package/dist/src/components/shared/containers/disclosureSummary.js +0 -0
  263. package/{src/components/shared/containers/popover.ts → dist/src/components/shared/containers/popover.d.ts} +19 -30
  264. package/dist/src/components/shared/containers/popover.js +0 -0
  265. package/dist/src/components/shared/containers/sidebar.d.ts +47 -0
  266. package/dist/src/components/shared/containers/sidebar.js +65 -0
  267. package/dist/src/components/shared/controls/SButton.vue.d.ts +102 -0
  268. package/dist/src/components/shared/controls/SButton.vue.js +8 -0
  269. package/dist/src/components/shared/controls/SButton.vue_vue_type_script_setup_true_lang.js +262 -0
  270. package/dist/src/components/shared/controls/SCheckbox.vue.d.ts +31 -0
  271. package/dist/src/components/shared/controls/SCheckbox.vue.js +8 -0
  272. package/dist/src/components/shared/controls/SCheckbox.vue_vue_type_script_setup_true_lang.js +105 -0
  273. package/dist/src/components/shared/controls/SCheckboxGroup.vue.d.ts +42 -0
  274. package/dist/src/components/shared/controls/SCheckboxGroup.vue.js +5 -0
  275. package/dist/src/components/shared/controls/SCheckboxGroup.vue_vue_type_script_setup_true_lang.js +119 -0
  276. package/dist/src/components/shared/controls/SChoiceCards.vue.d.ts +52 -0
  277. package/dist/src/components/shared/controls/SChoiceCards.vue.js +8 -0
  278. package/dist/src/components/shared/controls/SChoiceCards.vue_vue_type_script_setup_true_lang.js +123 -0
  279. package/dist/src/components/shared/controls/SColorSelect.vue.d.ts +50 -0
  280. package/dist/src/components/shared/controls/SColorSelect.vue.js +5 -0
  281. package/dist/src/components/shared/controls/SColorSelect.vue_vue_type_script_setup_true_lang.js +90 -0
  282. package/dist/src/components/shared/controls/SCombobox.vue.d.ts +54 -0
  283. package/dist/src/components/shared/controls/SCombobox.vue.js +8 -0
  284. package/dist/src/components/shared/controls/SCombobox.vue_vue_type_script_setup_true_lang.js +268 -0
  285. package/dist/src/components/shared/controls/SComboboxTrigger.vue.d.ts +49 -0
  286. package/dist/src/components/shared/controls/SComboboxTrigger.vue.js +8 -0
  287. package/dist/src/components/shared/controls/SComboboxTrigger.vue_vue_type_script_setup_true_lang.js +153 -0
  288. package/dist/src/components/shared/controls/SContextMenu.vue.d.ts +42 -0
  289. package/dist/src/components/shared/controls/SContextMenu.vue.js +8 -0
  290. package/dist/src/components/shared/controls/SContextMenu.vue_vue_type_script_setup_true_lang.js +129 -0
  291. package/dist/src/components/shared/controls/SContextToggleButton.vue.d.ts +22 -0
  292. package/dist/src/components/shared/controls/SContextToggleButton.vue.js +5 -0
  293. package/dist/src/components/shared/controls/SContextToggleButton.vue_vue_type_script_setup_true_lang.js +58 -0
  294. package/dist/src/components/shared/controls/SDragHandle.vue.d.ts +26 -0
  295. package/dist/src/components/shared/controls/SDragHandle.vue.js +5 -0
  296. package/dist/src/components/shared/controls/SDragHandle.vue_vue_type_script_setup_true_lang.js +90 -0
  297. package/dist/src/components/shared/controls/SDropdownMenu.vue.d.ts +38 -0
  298. package/dist/src/components/shared/controls/SDropdownMenu.vue.js +8 -0
  299. package/dist/src/components/shared/controls/SDropdownMenu.vue_vue_type_script_setup_true_lang.js +128 -0
  300. package/dist/src/components/shared/controls/SField.vue.d.ts +53 -0
  301. package/dist/src/components/shared/controls/SField.vue.js +8 -0
  302. package/dist/src/components/shared/controls/SField.vue_vue_type_script_setup_true_lang.js +86 -0
  303. package/dist/src/components/shared/controls/SFieldGroup.vue.d.ts +53 -0
  304. package/dist/src/components/shared/controls/SFieldGroup.vue.js +8 -0
  305. package/dist/src/components/shared/controls/SFieldGroup.vue_vue_type_script_setup_true_lang.js +102 -0
  306. package/dist/src/components/shared/controls/SFieldLabel.vue.d.ts +35 -0
  307. package/dist/src/components/shared/controls/SFieldLabel.vue.js +8 -0
  308. package/dist/src/components/shared/controls/SFieldLabel.vue_vue_type_script_setup_true_lang.js +45 -0
  309. package/dist/src/components/shared/controls/SInlineTokenEditor.vue.d.ts +80 -0
  310. package/dist/src/components/shared/controls/SInlineTokenEditor.vue.js +5 -0
  311. package/dist/src/components/shared/controls/SInlineTokenEditor.vue_vue_type_script_setup_true_lang.js +553 -0
  312. package/dist/src/components/shared/controls/SInputText.vue.d.ts +115 -0
  313. package/dist/src/components/shared/controls/SInputText.vue.js +8 -0
  314. package/dist/src/components/shared/controls/SInputText.vue_vue_type_script_setup_true_lang.js +318 -0
  315. package/dist/src/components/shared/controls/SInteractiveSurface.vue.d.ts +84 -0
  316. package/dist/src/components/shared/controls/SInteractiveSurface.vue.js +8 -0
  317. package/dist/src/components/shared/controls/SInteractiveSurface.vue_vue_type_script_setup_true_lang.js +239 -0
  318. package/{src/components/shared/controls/SLink.ts → dist/src/components/shared/controls/SLink.d.ts} +34 -48
  319. package/dist/src/components/shared/controls/SLink.js +9 -0
  320. package/dist/src/components/shared/controls/SLink.vue.d.ts +58 -0
  321. package/dist/src/components/shared/controls/SLink.vue.js +8 -0
  322. package/dist/src/components/shared/controls/SLink.vue_vue_type_script_setup_true_lang.js +110 -0
  323. package/dist/src/components/shared/controls/SListbox.vue.d.ts +77 -0
  324. package/dist/src/components/shared/controls/SListbox.vue.js +8 -0
  325. package/dist/src/components/shared/controls/SListbox.vue_vue_type_script_setup_true_lang.js +347 -0
  326. package/dist/src/components/shared/controls/SListboxOption.vue.d.ts +30 -0
  327. package/dist/src/components/shared/controls/SListboxOption.vue.js +8 -0
  328. package/dist/src/components/shared/controls/SListboxOption.vue_vue_type_script_setup_true_lang.js +99 -0
  329. package/dist/src/components/shared/controls/SMarker.vue.d.ts +14 -0
  330. package/dist/src/components/shared/controls/SMarker.vue.js +9 -0
  331. package/dist/src/components/shared/controls/SMarker.vue_vue_type_script_setup_true_lang.js +30 -0
  332. package/dist/src/components/shared/controls/SMenuSurface.vue.d.ts +38 -0
  333. package/dist/src/components/shared/controls/SMenuSurface.vue.js +8 -0
  334. package/dist/src/components/shared/controls/SMenuSurface.vue_vue_type_script_setup_true_lang.js +241 -0
  335. package/dist/src/components/shared/controls/SRange.vue.d.ts +32 -0
  336. package/dist/src/components/shared/controls/SRange.vue.js +8 -0
  337. package/dist/src/components/shared/controls/SRange.vue_vue_type_script_setup_true_lang.js +128 -0
  338. package/dist/src/components/shared/controls/SSegmentedControl.vue.d.ts +43 -0
  339. package/dist/src/components/shared/controls/SSegmentedControl.vue.js +8 -0
  340. package/dist/src/components/shared/controls/SSegmentedControl.vue_vue_type_script_setup_true_lang.js +99 -0
  341. package/dist/src/components/shared/controls/SSelect.vue.d.ts +64 -0
  342. package/dist/src/components/shared/controls/SSelect.vue.js +8 -0
  343. package/dist/src/components/shared/controls/SSelect.vue_vue_type_script_setup_true_lang.js +241 -0
  344. package/dist/src/components/shared/controls/SSwitch.vue.d.ts +29 -0
  345. package/dist/src/components/shared/controls/SSwitch.vue.js +8 -0
  346. package/dist/src/components/shared/controls/SSwitch.vue_vue_type_script_setup_true_lang.js +99 -0
  347. package/dist/src/components/shared/controls/STextarea.d.ts +1 -0
  348. package/dist/src/components/shared/controls/STextarea.js +0 -0
  349. package/dist/src/components/shared/controls/STextarea.vue.d.ts +121 -0
  350. package/dist/src/components/shared/controls/STextarea.vue.js +7 -0
  351. package/dist/src/components/shared/controls/STextarea.vue_vue_type_script_setup_true_lang.js +414 -0
  352. package/dist/src/components/shared/controls/_internal/SInlineTokenSurface.vue.d.ts +199 -0
  353. package/dist/src/components/shared/controls/_internal/SInlineTokenSurface.vue.js +8 -0
  354. package/dist/src/components/shared/controls/_internal/SInlineTokenSurface.vue_vue_type_script_lang.js +195 -0
  355. package/dist/src/components/shared/controls/menu.d.ts +52 -0
  356. package/dist/src/components/shared/controls/menu.js +95 -0
  357. package/dist/src/components/shared/data-display/SActionCard.vue.d.ts +37 -0
  358. package/dist/src/components/shared/data-display/SActionCard.vue.js +8 -0
  359. package/dist/src/components/shared/data-display/SActionCard.vue_vue_type_script_setup_true_lang.js +68 -0
  360. package/dist/src/components/shared/data-display/SActionList.vue.d.ts +22 -0
  361. package/dist/src/components/shared/data-display/SActionList.vue.js +8 -0
  362. package/dist/src/components/shared/data-display/SActionList.vue_vue_type_script_setup_true_lang.js +32 -0
  363. package/dist/src/components/shared/data-display/SActionListItem.vue.d.ts +89 -0
  364. package/dist/src/components/shared/data-display/SActionListItem.vue.js +8 -0
  365. package/dist/src/components/shared/data-display/SActionListItem.vue_vue_type_script_setup_true_lang.js +194 -0
  366. package/dist/src/components/shared/data-display/SBadge.vue.d.ts +33 -0
  367. package/dist/src/components/shared/data-display/SBadge.vue.js +5 -0
  368. package/dist/src/components/shared/data-display/SBadge.vue_vue_type_script_setup_true_lang.js +49 -0
  369. package/dist/src/components/shared/data-display/SChart.vue.d.ts +51 -0
  370. package/dist/src/components/shared/data-display/SChart.vue.js +8 -0
  371. package/dist/src/components/shared/data-display/SChart.vue_vue_type_script_setup_true_lang.js +443 -0
  372. package/dist/src/components/shared/data-display/SChip.vue.d.ts +33 -0
  373. package/dist/src/components/shared/data-display/SChip.vue.js +8 -0
  374. package/dist/src/components/shared/data-display/SChip.vue_vue_type_script_setup_true_lang.js +103 -0
  375. package/dist/src/components/shared/data-display/SCodeBlock.vue.d.ts +50 -0
  376. package/dist/src/components/shared/data-display/SCodeBlock.vue.js +8 -0
  377. package/dist/src/components/shared/data-display/SCodeBlock.vue_vue_type_script_setup_true_lang.js +256 -0
  378. package/dist/src/components/shared/data-display/SCodeEditor.vue.d.ts +70 -0
  379. package/dist/src/components/shared/data-display/SCodeEditor.vue.js +8 -0
  380. package/dist/src/components/shared/data-display/SCodeEditor.vue_vue_type_script_setup_true_lang.js +248 -0
  381. package/dist/src/components/shared/data-display/SCodeSearchPanel.vue.d.ts +63 -0
  382. package/dist/src/components/shared/data-display/SCodeSearchPanel.vue.js +8 -0
  383. package/dist/src/components/shared/data-display/SCodeSearchPanel.vue_vue_type_script_setup_true_lang.js +263 -0
  384. package/dist/src/components/shared/data-display/SCodeWorkspaceEditor.vue.d.ts +29 -0
  385. package/dist/src/components/shared/data-display/SCodeWorkspaceEditor.vue.js +8 -0
  386. package/dist/src/components/shared/data-display/SCodeWorkspaceEditor.vue_vue_type_script_setup_true_lang.js +231 -0
  387. package/dist/src/components/shared/data-display/SControlledToastViewport.vue.d.ts +29 -0
  388. package/dist/src/components/shared/data-display/SControlledToastViewport.vue.js +8 -0
  389. package/dist/src/components/shared/data-display/SControlledToastViewport.vue_vue_type_script_setup_true_lang.js +117 -0
  390. package/dist/src/components/shared/data-display/SCopyField.vue.d.ts +22 -0
  391. package/dist/src/components/shared/data-display/SCopyField.vue.js +5 -0
  392. package/dist/src/components/shared/data-display/SCopyField.vue_vue_type_script_setup_true_lang.js +73 -0
  393. package/dist/src/components/shared/data-display/SDiffViewer.vue.d.ts +36 -0
  394. package/dist/src/components/shared/data-display/SDiffViewer.vue.js +8 -0
  395. package/dist/src/components/shared/data-display/SDiffViewer.vue_vue_type_script_setup_true_lang.js +372 -0
  396. package/dist/src/components/shared/data-display/SDocBlock.vue.d.ts +34 -0
  397. package/dist/src/components/shared/data-display/SDocBlock.vue.js +8 -0
  398. package/dist/src/components/shared/data-display/SDocBlock.vue_vue_type_script_setup_true_lang.js +252 -0
  399. package/dist/src/components/shared/data-display/SEmptyState.vue.d.ts +27 -0
  400. package/dist/src/components/shared/data-display/SEmptyState.vue.js +8 -0
  401. package/dist/src/components/shared/data-display/SEmptyState.vue_vue_type_script_setup_true_lang.js +54 -0
  402. package/dist/src/components/shared/data-display/SExpandableText.vue.d.ts +42 -0
  403. package/dist/src/components/shared/data-display/SExpandableText.vue.js +8 -0
  404. package/dist/src/components/shared/data-display/SExpandableText.vue_vue_type_script_setup_true_lang.js +166 -0
  405. package/dist/src/components/shared/data-display/SJsonTree.vue.d.ts +15 -0
  406. package/dist/src/components/shared/data-display/SJsonTree.vue.js +8 -0
  407. package/dist/src/components/shared/data-display/SJsonTree.vue_vue_type_script_setup_true_lang.js +115 -0
  408. package/dist/src/components/shared/data-display/SKeyValueGrid.vue.d.ts +56 -0
  409. package/dist/src/components/shared/data-display/SKeyValueGrid.vue.js +8 -0
  410. package/dist/src/components/shared/data-display/SKeyValueGrid.vue_vue_type_script_setup_true_lang.js +121 -0
  411. package/dist/src/components/shared/data-display/SLinkedSystemsList.vue.d.ts +48 -0
  412. package/dist/src/components/shared/data-display/SLinkedSystemsList.vue.js +8 -0
  413. package/dist/src/components/shared/data-display/SLinkedSystemsList.vue_vue_type_script_setup_true_lang.js +147 -0
  414. package/dist/src/components/shared/data-display/SMessage.vue.d.ts +49 -0
  415. package/dist/src/components/shared/data-display/SMessage.vue.js +8 -0
  416. package/dist/src/components/shared/data-display/SMessage.vue_vue_type_script_setup_true_lang.js +107 -0
  417. package/dist/src/components/shared/data-display/SMetricCard.vue.d.ts +72 -0
  418. package/dist/src/components/shared/data-display/SMetricCard.vue.js +8 -0
  419. package/dist/src/components/shared/data-display/SMetricCard.vue_vue_type_script_setup_true_lang.js +128 -0
  420. package/dist/src/components/shared/data-display/SProgressBar.vue.d.ts +41 -0
  421. package/dist/src/components/shared/data-display/SProgressBar.vue.js +8 -0
  422. package/dist/src/components/shared/data-display/SProgressBar.vue_vue_type_script_setup_true_lang.js +90 -0
  423. package/dist/src/components/shared/data-display/SProgressIndicator.vue.d.ts +28 -0
  424. package/dist/src/components/shared/data-display/SProgressIndicator.vue.js +8 -0
  425. package/dist/src/components/shared/data-display/SProgressIndicator.vue_vue_type_script_setup_true_lang.js +84 -0
  426. package/dist/src/components/shared/data-display/SRichDocument.vue.d.ts +20 -0
  427. package/dist/src/components/shared/data-display/SRichDocument.vue.js +8 -0
  428. package/dist/src/components/shared/data-display/SRichDocument.vue_vue_type_script_setup_true_lang.js +48 -0
  429. package/dist/src/components/shared/data-display/SScrollViewport.vue.d.ts +30 -0
  430. package/dist/src/components/shared/data-display/SScrollViewport.vue.js +8 -0
  431. package/dist/src/components/shared/data-display/SScrollViewport.vue_vue_type_script_setup_true_lang.js +273 -0
  432. package/dist/src/components/shared/data-display/SSectionHeader.vue.d.ts +39 -0
  433. package/dist/src/components/shared/data-display/SSectionHeader.vue.js +5 -0
  434. package/dist/src/components/shared/data-display/SSectionHeader.vue_vue_type_script_setup_true_lang.js +66 -0
  435. package/dist/src/components/shared/data-display/SStatus.vue.d.ts +34 -0
  436. package/dist/src/components/shared/data-display/SStatus.vue.js +8 -0
  437. package/dist/src/components/shared/data-display/SStatus.vue_vue_type_script_setup_true_lang.js +58 -0
  438. package/dist/src/components/shared/data-display/STable.vue.d.ts +92 -0
  439. package/dist/src/components/shared/data-display/STable.vue.js +8 -0
  440. package/dist/src/components/shared/data-display/STable.vue_vue_type_script_setup_true_lang.js +549 -0
  441. package/dist/src/components/shared/data-display/SToastContainer.vue.d.ts +3 -0
  442. package/dist/src/components/shared/data-display/SToastContainer.vue.js +5 -0
  443. package/dist/src/components/shared/data-display/SToastContainer.vue_vue_type_script_setup_true_lang.js +37 -0
  444. package/dist/src/components/shared/data-display/STooltip.vue.d.ts +92 -0
  445. package/dist/src/components/shared/data-display/STooltip.vue.js +7 -0
  446. package/dist/src/components/shared/data-display/STooltip.vue_vue_type_script_setup_true_lang.js +352 -0
  447. package/dist/src/components/shared/data-display/STooltipAnchor.vue.d.ts +54 -0
  448. package/dist/src/components/shared/data-display/STooltipAnchor.vue.js +8 -0
  449. package/dist/src/components/shared/data-display/STooltipAnchor.vue_vue_type_script_setup_true_lang.js +73 -0
  450. package/dist/src/components/shared/data-display/STooltipTarget.vue.d.ts +41 -0
  451. package/dist/src/components/shared/data-display/STooltipTarget.vue.js +8 -0
  452. package/dist/src/components/shared/data-display/STooltipTarget.vue_vue_type_script_setup_true_lang.js +46 -0
  453. package/{src/components/shared/data-display/SVirtualList.ts → dist/src/components/shared/data-display/SVirtualList.d.ts} +18 -25
  454. package/dist/src/components/shared/data-display/SVirtualList.js +0 -0
  455. package/dist/src/components/shared/data-display/SVirtualList.vue.d.ts +65 -0
  456. package/dist/src/components/shared/data-display/SVirtualList.vue.js +8 -0
  457. package/dist/src/components/shared/data-display/SVirtualList.vue_vue_type_script_setup_true_lang.js +386 -0
  458. package/dist/src/components/shared/data-display/_internal/SCodeTokenLine.vue.d.ts +14 -0
  459. package/dist/src/components/shared/data-display/_internal/SCodeTokenLine.vue.js +8 -0
  460. package/dist/src/components/shared/data-display/_internal/SCodeTokenLine.vue_vue_type_script_setup_true_lang.js +55 -0
  461. package/dist/src/components/shared/data-display/_internal/SRichBlockNode.vue.d.ts +19 -0
  462. package/dist/src/components/shared/data-display/_internal/SRichBlockNode.vue.js +8 -0
  463. package/dist/src/components/shared/data-display/_internal/SRichBlockNode.vue_vue_type_script_setup_true_lang.js +386 -0
  464. package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue.d.ts +19 -0
  465. package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue.js +8 -0
  466. package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue_vue_type_script_setup_true_lang.js +25 -0
  467. package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue.d.ts +14 -0
  468. package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue.js +8 -0
  469. package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue_vue_type_script_setup_true_lang.js +162 -0
  470. package/dist/src/components/shared/data-display/_internal/SRichMath.vue.d.ts +11 -0
  471. package/dist/src/components/shared/data-display/_internal/SRichMath.vue.js +7 -0
  472. package/dist/src/components/shared/data-display/_internal/SRichMath.vue_vue_type_script_setup_true_lang.js +80 -0
  473. package/dist/src/components/shared/data-display/chart.d.ts +49 -0
  474. package/dist/src/components/shared/data-display/chart.js +0 -0
  475. package/dist/src/components/shared/data-display/codeEditor.d.ts +49 -0
  476. package/dist/src/components/shared/data-display/codeEditor.js +102 -0
  477. package/dist/src/components/shared/data-display/codeWorkspace.d.ts +62 -0
  478. package/dist/src/components/shared/data-display/codeWorkspace.js +84 -0
  479. package/dist/src/components/shared/data-display/diff.d.ts +78 -0
  480. package/dist/src/components/shared/data-display/diff.js +266 -0
  481. package/dist/src/components/shared/data-display/json.d.ts +19 -0
  482. package/dist/src/components/shared/data-display/json.js +60 -0
  483. package/dist/src/components/shared/data-display/richDocument.d.ts +226 -0
  484. package/dist/src/components/shared/data-display/richDocument.js +656 -0
  485. package/dist/src/components/shared/data-display/scrollViewport.d.ts +39 -0
  486. package/dist/src/components/shared/data-display/scrollViewport.js +0 -0
  487. package/dist/src/components/shared/data-display/table.d.ts +45 -0
  488. package/dist/src/components/shared/data-display/table.js +0 -0
  489. package/dist/src/components/shared/data-display/toast.d.ts +44 -0
  490. package/dist/src/components/shared/data-display/toast.js +81 -0
  491. package/dist/src/components/shared/database/SDataGrid.vue.d.ts +68 -0
  492. package/dist/src/components/shared/database/SDataGrid.vue.js +8 -0
  493. package/dist/src/components/shared/database/SDataGrid.vue_vue_type_script_setup_true_lang.js +317 -0
  494. package/dist/src/components/shared/database/SSqlEditor.vue.d.ts +98 -0
  495. package/dist/src/components/shared/database/SSqlEditor.vue.js +5 -0
  496. package/dist/src/components/shared/database/SSqlEditor.vue_vue_type_script_setup_true_lang.js +321 -0
  497. package/dist/src/components/shared/database/dataGrid.d.ts +38 -0
  498. package/dist/src/components/shared/feedback/SAsyncState.vue.d.ts +58 -0
  499. package/dist/src/components/shared/feedback/SAsyncState.vue.js +8 -0
  500. package/dist/src/components/shared/feedback/SAsyncState.vue_vue_type_script_setup_true_lang.js +128 -0
  501. package/dist/src/components/shared/graph/SGraphViewport.d.ts +1 -0
  502. package/dist/src/components/shared/graph/SGraphViewport.js +2 -0
  503. package/dist/src/components/shared/graph/SGraphViewport.vue.d.ts +40 -0
  504. package/dist/src/components/shared/graph/SGraphViewport.vue.js +8 -0
  505. package/dist/src/components/shared/graph/SGraphViewport.vue_vue_type_script_setup_true_lang.js +513 -0
  506. package/dist/src/components/shared/graph/_internal/graphViewportContract.d.ts +114 -0
  507. package/dist/src/components/shared/graph/_internal/graphViewportContract.js +118 -0
  508. package/dist/src/components/shared/markdown.d.ts +12 -0
  509. package/dist/src/components/shared/markdown.js +84 -0
  510. package/dist/src/components/shared/navigation/SBottomNav.vue.d.ts +88 -0
  511. package/dist/src/components/shared/navigation/SBottomNav.vue.js +8 -0
  512. package/dist/src/components/shared/navigation/SBottomNav.vue_vue_type_script_setup_true_lang.js +365 -0
  513. package/dist/src/components/shared/navigation/SBreadcrumbs.vue.d.ts +36 -0
  514. package/dist/src/components/shared/navigation/SBreadcrumbs.vue.js +8 -0
  515. package/dist/src/components/shared/navigation/SBreadcrumbs.vue_vue_type_script_setup_true_lang.js +130 -0
  516. package/dist/src/components/shared/navigation/SCatalogNavigator.vue.d.ts +43 -0
  517. package/dist/src/components/shared/navigation/SCatalogNavigator.vue.js +8 -0
  518. package/dist/src/components/shared/navigation/SCatalogNavigator.vue_vue_type_script_setup_true_lang.js +244 -0
  519. package/dist/src/components/shared/navigation/STab.vue.d.ts +62 -0
  520. package/dist/src/components/shared/navigation/STab.vue.js +8 -0
  521. package/dist/src/components/shared/navigation/STab.vue_vue_type_script_setup_true_lang.js +169 -0
  522. package/dist/src/components/shared/navigation/STabList.vue.d.ts +51 -0
  523. package/dist/src/components/shared/navigation/STabList.vue.js +8 -0
  524. package/dist/src/components/shared/navigation/STabList.vue_vue_type_script_setup_true_lang.js +189 -0
  525. package/dist/src/components/shared/navigation/STabPanel.vue.d.ts +41 -0
  526. package/dist/src/components/shared/navigation/STabPanel.vue.js +8 -0
  527. package/dist/src/components/shared/navigation/STabPanel.vue_vue_type_script_setup_true_lang.js +70 -0
  528. package/dist/src/components/shared/navigation/STabPanels.vue.d.ts +14 -0
  529. package/dist/src/components/shared/navigation/STabPanels.vue.js +8 -0
  530. package/dist/src/components/shared/navigation/STabPanels.vue_vue_type_script_setup_true_lang.js +19 -0
  531. package/dist/src/components/shared/navigation/STabs.vue.d.ts +89 -0
  532. package/dist/src/components/shared/navigation/STabs.vue.js +8 -0
  533. package/dist/src/components/shared/navigation/STabs.vue_vue_type_script_setup_true_lang.js +310 -0
  534. package/dist/src/components/shared/navigation/SWizardSteps.vue.d.ts +43 -0
  535. package/dist/src/components/shared/navigation/SWizardSteps.vue.js +8 -0
  536. package/dist/src/components/shared/navigation/SWizardSteps.vue_vue_type_script_setup_true_lang.js +106 -0
  537. package/dist/src/components/shared/navigation/_internal/SCatalogNavigatorGroup.vue.d.ts +23 -0
  538. package/dist/src/components/shared/navigation/_internal/SCatalogNavigatorGroup.vue.js +8 -0
  539. package/dist/src/components/shared/navigation/_internal/SCatalogNavigatorGroup.vue_vue_type_script_setup_true_lang.js +58 -0
  540. package/dist/src/components/shared/persona/SPersonaProjectPicker.vue.d.ts +30 -0
  541. package/dist/src/components/shared/persona/SPersonaProjectPicker.vue.js +8 -0
  542. package/dist/src/components/shared/persona/SPersonaProjectPicker.vue_vue_type_script_setup_true_lang.js +334 -0
  543. package/dist/src/components/shared/persona/SPersonaRunWorkbench.vue.d.ts +72 -0
  544. package/dist/src/components/shared/persona/SPersonaRunWorkbench.vue.js +8 -0
  545. package/dist/src/components/shared/persona/SPersonaRunWorkbench.vue_vue_type_script_setup_true_lang.js +583 -0
  546. package/dist/src/components/shared/persona/_internal/SPersonaRunConsole.vue.d.ts +41 -0
  547. package/dist/src/components/shared/persona/_internal/SPersonaRunConsole.vue.js +8 -0
  548. package/dist/src/components/shared/persona/_internal/SPersonaRunConsole.vue_vue_type_script_setup_true_lang.js +298 -0
  549. package/dist/src/components/shared/persona/_internal/inventory.d.ts +21 -0
  550. package/dist/src/components/shared/persona/_internal/inventory.js +42 -0
  551. package/dist/src/components/shared/persona/_internal/labels.d.ts +3 -0
  552. package/dist/src/components/shared/persona/_internal/labels.js +73 -0
  553. package/dist/src/components/shared/persona/presentation.d.ts +41 -0
  554. package/dist/src/components/shared/persona/presentation.js +330 -0
  555. package/dist/src/components/shared/persona/types.d.ts +222 -0
  556. package/dist/src/components/shared/persona/types.js +6 -0
  557. package/dist/src/composables/uiPreferencesReset.d.ts +21 -0
  558. package/dist/src/composables/uiPreferencesReset.js +24 -0
  559. package/dist/src/composables/useClipboard.d.ts +20 -0
  560. package/dist/src/composables/useClipboard.js +26 -0
  561. package/dist/src/composables/useDialogOverlay.d.ts +19 -0
  562. package/dist/src/composables/useDialogOverlay.js +49 -0
  563. package/dist/src/composables/useDisclosure.d.ts +17 -0
  564. package/dist/src/composables/useDisclosure.js +20 -0
  565. package/dist/src/composables/useFloatingPosition.d.ts +40 -0
  566. package/dist/src/composables/useFloatingPosition.js +124 -0
  567. package/dist/src/composables/useNotifier.d.ts +10 -0
  568. package/dist/src/composables/useNotifier.js +19 -0
  569. package/dist/src/composables/useSidebarPanelState.d.ts +86 -0
  570. package/dist/src/composables/useSidebarPanelState.js +264 -0
  571. package/dist/src/composables/useUiKitLocale.d.ts +6 -0
  572. package/dist/src/composables/useUiKitLocale.js +9 -0
  573. package/dist/src/internal/chartGeometry.d.ts +117 -0
  574. package/dist/src/internal/chartGeometry.js +463 -0
  575. package/dist/src/internal/codeEditorContract.d.ts +31 -0
  576. package/dist/src/internal/codeEditorContract.js +63 -0
  577. package/dist/src/internal/codeEditorExtensions.d.ts +12 -0
  578. package/dist/src/internal/codeEditorExtensions.js +14 -0
  579. package/dist/src/internal/codeHighlight.d.ts +11 -0
  580. package/dist/src/internal/codeHighlight.js +71 -0
  581. package/dist/src/internal/codeLanguageIdentity.d.ts +6 -0
  582. package/dist/src/internal/codeLanguageIdentity.js +70 -0
  583. package/dist/src/internal/diffEngine.d.ts +7 -0
  584. package/dist/src/internal/diffEngine.js +231 -0
  585. package/dist/src/internal/diffRuntime.d.ts +23 -0
  586. package/dist/src/internal/diffRuntime.js +102 -0
  587. package/dist/src/internal/es2020.d.ts +16 -0
  588. package/dist/src/internal/es2020.js +25 -0
  589. package/dist/src/internal/feedbackPresentation.d.ts +52 -0
  590. package/dist/src/internal/feedbackPresentation.js +96 -0
  591. package/dist/src/internal/fieldPresentation.d.ts +19 -0
  592. package/dist/src/internal/fieldPresentation.js +16 -0
  593. package/dist/src/internal/fieldSurface.d.ts +26 -0
  594. package/dist/src/internal/fieldSurface.js +25 -0
  595. package/dist/src/internal/focusNavigation.d.ts +11 -0
  596. package/dist/src/internal/focusNavigation.js +26 -0
  597. package/dist/src/internal/inlineTokenEditorContract.d.ts +20 -0
  598. package/dist/src/internal/inlineTokenEditorContract.js +87 -0
  599. package/dist/src/internal/interactiveElement.d.ts +15 -0
  600. package/dist/src/internal/interactiveElement.js +12 -0
  601. package/dist/src/internal/layerStack.d.ts +28 -0
  602. package/dist/src/internal/layerStack.js +82 -0
  603. package/dist/src/internal/lazyCodeEditor.js +2 -0
  604. package/dist/src/internal/linkTarget.d.ts +26 -0
  605. package/dist/src/internal/linkTarget.js +131 -0
  606. package/dist/src/internal/localeContext.d.ts +10 -0
  607. package/dist/src/internal/localeContext.js +17 -0
  608. package/dist/src/internal/ownedAttrs.d.ts +357 -0
  609. package/dist/src/internal/ownedAttrs.js +334 -0
  610. package/dist/src/internal/passiveContentContract.d.ts +44 -0
  611. package/dist/src/internal/passiveContentContract.js +52 -0
  612. package/dist/src/internal/pillSurface.d.ts +43 -0
  613. package/dist/src/internal/pillSurface.js +38 -0
  614. package/dist/src/internal/pointerInteractionLease.d.ts +12 -0
  615. package/dist/src/internal/pointerInteractionLease.js +31 -0
  616. package/dist/src/internal/runtimeContract.d.ts +39 -0
  617. package/dist/src/internal/runtimeContract.js +48 -0
  618. package/dist/src/internal/runtimeTheme.d.ts +29 -0
  619. package/dist/src/internal/runtimeTheme.js +71 -0
  620. package/{src/internal/semanticSizing.ts → dist/src/internal/semanticSizing.d.ts} +16 -57
  621. package/dist/src/internal/semanticSizing.js +51 -0
  622. package/dist/src/internal/semanticTone.d.ts +10 -0
  623. package/dist/src/internal/semanticTone.js +8 -0
  624. package/dist/src/internal/useBinaryInput.d.ts +26 -0
  625. package/dist/src/internal/useBinaryInput.js +34 -0
  626. package/dist/src/internal/useMenuLayer.d.ts +25 -0
  627. package/dist/src/internal/useMenuLayer.js +81 -0
  628. package/dist/src/locales/catalog.d.ts +1523 -0
  629. package/dist/src/locales/locale.d.ts +564 -0
  630. package/dist/src/locales/locale.js +9 -0
  631. package/dist/src/locales/messages.d.ts +9 -0
  632. package/dist/src/locales/messages.generated.d.ts +8 -0
  633. package/dist/src/locales/messages.generated.js +171 -0
  634. package/dist/src/locales/messages.js +77 -0
  635. package/dist/src/stores/useNotifierStore.d.ts +50 -0
  636. package/dist/src/stores/useNotifierStore.js +43 -0
  637. package/dist/src/theme.d.ts +119 -0
  638. package/dist/src/theme.js +253 -0
  639. package/dist/src/variants.d.ts +4 -0
  640. package/dist/src/variants.js +17 -0
  641. package/dist/src/workers/diff.worker.d.ts +1 -0
  642. package/dist/src/workers/diffProtocol.d.ts +39 -0
  643. package/dist/src/workers/diffProtocol.js +66 -0
  644. package/docs/getting-started.md +12 -11
  645. package/docs/public-api.md +24 -12
  646. package/docs/rich-document.md +17 -1
  647. package/docs/versioning.md +71 -0
  648. package/package.json +824 -281
  649. package/src/components/shared/controls/SButton.css +21 -0
  650. package/src/components/shared/controls/SInputText.css +7 -0
  651. package/src/components/shared/data-display/_internal/SRichBlockNode.css +24 -0
  652. package/src/components/shared/data-display/_internal/SRichDisclosure.css +25 -0
  653. package/src/components/shared/data-display/_internal/SRichInlineNode.css +16 -0
  654. package/src/components/icons/_internal/generatedSputnigUiIconMarkup.ts +0 -971
  655. package/src/components/icons/sputnigUiIcons.ts +0 -530
  656. package/src/components/layout/SAppShell.vue +0 -235
  657. package/src/components/layout/SDockRegion.vue +0 -202
  658. package/src/components/layout/SResizeHandle.vue +0 -291
  659. package/src/components/layout/SSideMenuButton.vue +0 -105
  660. package/src/components/layout/SSideMenuRail.vue +0 -44
  661. package/src/components/layout/SStack.vue +0 -65
  662. package/src/components/layout/SStatusBarShell.vue +0 -26
  663. package/src/components/layout/SWorkbenchLayout.vue +0 -53
  664. package/src/components/layout/SWorkbenchPanelShell.vue +0 -288
  665. package/src/components/layout/_internal/SAppBrand.vue +0 -37
  666. package/src/components/layout/_internal/SAppBrandContent.vue +0 -30
  667. package/src/components/layout/types.ts +0 -28
  668. package/src/components/shared/_internal/SDialogSurface.vue +0 -124
  669. package/src/components/shared/_internal/SDisclosureSummary.vue +0 -121
  670. package/src/components/shared/_internal/SHeaderSurface.vue +0 -80
  671. package/src/components/shared/_internal/SListboxGroup.vue +0 -24
  672. package/src/components/shared/_internal/SMenuItem.vue +0 -213
  673. package/src/components/shared/_internal/SMenuLayer.vue +0 -48
  674. package/src/components/shared/_internal/SMenuSeparator.vue +0 -13
  675. package/src/components/shared/_internal/SToastItem.vue +0 -101
  676. package/src/components/shared/_internal/STreeNode.vue +0 -780
  677. package/src/components/shared/_internal/dialogSurface.ts +0 -111
  678. package/src/components/shared/_internal/focusTrap.ts +0 -40
  679. package/src/components/shared/_internal/listboxContext.ts +0 -16
  680. package/src/components/shared/_internal/markerContract.ts +0 -29
  681. package/src/components/shared/_internal/menuContext.ts +0 -23
  682. package/src/components/shared/_internal/selectionContract.ts +0 -239
  683. package/src/components/shared/_internal/sidebarGroupContext.ts +0 -33
  684. package/src/components/shared/_internal/tabsContext.ts +0 -58
  685. package/src/components/shared/_internal/treeRuntime.ts +0 -203
  686. package/src/components/shared/_internal/useRadioGroup.ts +0 -106
  687. package/src/components/shared/_internal/useSelectionRoving.ts +0 -162
  688. package/src/components/shared/codeLanguages.ts +0 -63
  689. package/src/components/shared/complex/SKanbanCard.vue +0 -76
  690. package/src/components/shared/complex/SKanbanLane.vue +0 -84
  691. package/src/components/shared/complex/STree.vue +0 -313
  692. package/src/components/shared/complex/treeAdapter.ts +0 -211
  693. package/src/components/shared/containers/SCloudChrome.vue +0 -87
  694. package/src/components/shared/containers/SCloudChromeEmpty.vue +0 -18
  695. package/src/components/shared/containers/SCloudChromeRow.vue +0 -109
  696. package/src/components/shared/containers/SCollapsiblePanel.vue +0 -360
  697. package/src/components/shared/containers/SDrawer.vue +0 -125
  698. package/src/components/shared/containers/SFormGrid.vue +0 -46
  699. package/src/components/shared/containers/SFormGridItem.vue +0 -29
  700. package/src/components/shared/containers/SLeftSidebar.vue +0 -79
  701. package/src/components/shared/containers/SModal.vue +0 -108
  702. package/src/components/shared/containers/SPageHeader.vue +0 -44
  703. package/src/components/shared/containers/SPanel.vue +0 -179
  704. package/src/components/shared/containers/SPopover.vue +0 -556
  705. package/src/components/shared/containers/SSidebarGroup.vue +0 -467
  706. package/src/components/shared/containers/SSidebarSection.vue +0 -267
  707. package/src/components/shared/containers/SUiKitLocaleProvider.vue +0 -57
  708. package/src/components/shared/containers/disclosureSummary.ts +0 -48
  709. package/src/components/shared/containers/sidebar.ts +0 -207
  710. package/src/components/shared/controls/SButton.vue +0 -341
  711. package/src/components/shared/controls/SCheckbox.vue +0 -101
  712. package/src/components/shared/controls/SCheckboxGroup.vue +0 -134
  713. package/src/components/shared/controls/SChoiceCards.vue +0 -122
  714. package/src/components/shared/controls/SColorSelect.vue +0 -146
  715. package/src/components/shared/controls/SCombobox.vue +0 -366
  716. package/src/components/shared/controls/SComboboxTrigger.vue +0 -125
  717. package/src/components/shared/controls/SContextMenu.vue +0 -186
  718. package/src/components/shared/controls/SContextToggleButton.vue +0 -66
  719. package/src/components/shared/controls/SDragHandle.vue +0 -104
  720. package/src/components/shared/controls/SDropdownMenu.vue +0 -191
  721. package/src/components/shared/controls/SField.vue +0 -93
  722. package/src/components/shared/controls/SFieldGroup.vue +0 -120
  723. package/src/components/shared/controls/SFieldLabel.vue +0 -52
  724. package/src/components/shared/controls/SInlineTokenEditor.vue +0 -1081
  725. package/src/components/shared/controls/SInputText.vue +0 -336
  726. package/src/components/shared/controls/SInteractiveSurface.vue +0 -352
  727. package/src/components/shared/controls/SLink.vue +0 -138
  728. package/src/components/shared/controls/SListbox.vue +0 -488
  729. package/src/components/shared/controls/SListboxOption.vue +0 -98
  730. package/src/components/shared/controls/SMarker.vue +0 -41
  731. package/src/components/shared/controls/SMenuSurface.vue +0 -333
  732. package/src/components/shared/controls/SRange.vue +0 -129
  733. package/src/components/shared/controls/SSegmentedControl.vue +0 -106
  734. package/src/components/shared/controls/SSelect.vue +0 -340
  735. package/src/components/shared/controls/SSwitch.vue +0 -91
  736. package/src/components/shared/controls/STextarea.ts +0 -13
  737. package/src/components/shared/controls/STextarea.vue +0 -670
  738. package/src/components/shared/controls/_internal/SInlineTokenSurface.vue +0 -229
  739. package/src/components/shared/controls/menu.ts +0 -178
  740. package/src/components/shared/data-display/SActionCard.vue +0 -59
  741. package/src/components/shared/data-display/SActionList.vue +0 -34
  742. package/src/components/shared/data-display/SActionListItem.vue +0 -240
  743. package/src/components/shared/data-display/SBadge.vue +0 -75
  744. package/src/components/shared/data-display/SChart.vue +0 -495
  745. package/src/components/shared/data-display/SChip.vue +0 -130
  746. package/src/components/shared/data-display/SCodeBlock.vue +0 -298
  747. package/src/components/shared/data-display/SCodeEditor.vue +0 -453
  748. package/src/components/shared/data-display/SCodeSearchPanel.vue +0 -342
  749. package/src/components/shared/data-display/SCodeWorkspaceEditor.vue +0 -355
  750. package/src/components/shared/data-display/SControlledToastViewport.vue +0 -205
  751. package/src/components/shared/data-display/SCopyField.vue +0 -79
  752. package/src/components/shared/data-display/SDiffViewer.vue +0 -499
  753. package/src/components/shared/data-display/SDocBlock.vue +0 -386
  754. package/src/components/shared/data-display/SEmptyState.vue +0 -79
  755. package/src/components/shared/data-display/SExpandableText.vue +0 -316
  756. package/src/components/shared/data-display/SJsonTree.vue +0 -113
  757. package/src/components/shared/data-display/SKeyValueGrid.vue +0 -277
  758. package/src/components/shared/data-display/SLinkedSystemsList.vue +0 -272
  759. package/src/components/shared/data-display/SMessage.vue +0 -159
  760. package/src/components/shared/data-display/SMetricCard.vue +0 -118
  761. package/src/components/shared/data-display/SProgressBar.vue +0 -120
  762. package/src/components/shared/data-display/SProgressIndicator.vue +0 -112
  763. package/src/components/shared/data-display/SRichDocument.vue +0 -65
  764. package/src/components/shared/data-display/SScrollViewport.vue +0 -470
  765. package/src/components/shared/data-display/SSectionHeader.vue +0 -54
  766. package/src/components/shared/data-display/SStatus.vue +0 -87
  767. package/src/components/shared/data-display/STable.vue +0 -960
  768. package/src/components/shared/data-display/SToastContainer.vue +0 -36
  769. package/src/components/shared/data-display/STooltip.vue +0 -681
  770. package/src/components/shared/data-display/STooltipAnchor.vue +0 -119
  771. package/src/components/shared/data-display/STooltipTarget.vue +0 -94
  772. package/src/components/shared/data-display/SVirtualList.vue +0 -662
  773. package/src/components/shared/data-display/_internal/SCodeTokenLine.vue +0 -79
  774. package/src/components/shared/data-display/_internal/SRichBlockNode.vue +0 -282
  775. package/src/components/shared/data-display/_internal/SRichInlineNode.vue +0 -76
  776. package/src/components/shared/data-display/_internal/SRichMath.vue +0 -102
  777. package/src/components/shared/data-display/chart.ts +0 -54
  778. package/src/components/shared/data-display/codeEditor.ts +0 -200
  779. package/src/components/shared/data-display/codeWorkspace.ts +0 -233
  780. package/src/components/shared/data-display/diff.ts +0 -541
  781. package/src/components/shared/data-display/json.ts +0 -136
  782. package/src/components/shared/data-display/richDocument.ts +0 -876
  783. package/src/components/shared/data-display/scrollViewport.ts +0 -47
  784. package/src/components/shared/data-display/table.ts +0 -61
  785. package/src/components/shared/data-display/toast.ts +0 -194
  786. package/src/components/shared/database/SDataGrid.vue +0 -501
  787. package/src/components/shared/database/SSqlEditor.vue +0 -364
  788. package/src/components/shared/database/dataGrid.ts +0 -45
  789. package/src/components/shared/feedback/SAsyncState.vue +0 -192
  790. package/src/components/shared/graph/SGraphViewport.ts +0 -1
  791. package/src/components/shared/graph/SGraphViewport.vue +0 -860
  792. package/src/components/shared/graph/_internal/graphViewportContract.ts +0 -362
  793. package/src/components/shared/markdown.ts +0 -169
  794. package/src/components/shared/navigation/SBottomNav.vue +0 -695
  795. package/src/components/shared/navigation/SBreadcrumbs.vue +0 -158
  796. package/src/components/shared/navigation/SCatalogNavigator.vue +0 -314
  797. package/src/components/shared/navigation/STab.vue +0 -388
  798. package/src/components/shared/navigation/STabList.vue +0 -443
  799. package/src/components/shared/navigation/STabPanel.vue +0 -165
  800. package/src/components/shared/navigation/STabPanels.vue +0 -33
  801. package/src/components/shared/navigation/STabs.vue +0 -636
  802. package/src/components/shared/navigation/SWizardSteps.vue +0 -173
  803. package/src/components/shared/navigation/_internal/SCatalogNavigatorGroup.vue +0 -63
  804. package/src/components/shared/persona/SPersonaProjectPicker.vue +0 -365
  805. package/src/components/shared/persona/SPersonaRunWorkbench.vue +0 -555
  806. package/src/components/shared/persona/_internal/SPersonaRunConsole.vue +0 -300
  807. package/src/components/shared/persona/_internal/inventory.ts +0 -110
  808. package/src/components/shared/persona/_internal/labels.ts +0 -88
  809. package/src/components/shared/persona/presentation.ts +0 -401
  810. package/src/components/shared/persona/types.ts +0 -256
  811. package/src/composables/uiPreferencesReset.ts +0 -53
  812. package/src/composables/useClipboard.ts +0 -38
  813. package/src/composables/useDialogOverlay.ts +0 -85
  814. package/src/composables/useDisclosure.ts +0 -40
  815. package/src/composables/useFloatingPosition.ts +0 -282
  816. package/src/composables/useNotifier.ts +0 -26
  817. package/src/composables/useSidebarPanelState.ts +0 -611
  818. package/src/composables/useUiKitLocale.ts +0 -17
  819. package/src/internal/chartGeometry.ts +0 -852
  820. package/src/internal/codeEditorContract.ts +0 -110
  821. package/src/internal/codeEditorExtensions.ts +0 -27
  822. package/src/internal/codeHighlight.ts +0 -110
  823. package/src/internal/codeLanguageIdentity.ts +0 -89
  824. package/src/internal/diffEngine.ts +0 -464
  825. package/src/internal/diffRuntime.ts +0 -189
  826. package/src/internal/es2020.ts +0 -50
  827. package/src/internal/feedbackPresentation.ts +0 -155
  828. package/src/internal/fieldPresentation.ts +0 -28
  829. package/src/internal/fieldSurface.ts +0 -59
  830. package/src/internal/focusNavigation.ts +0 -69
  831. package/src/internal/inlineTokenEditorContract.ts +0 -137
  832. package/src/internal/interactiveElement.ts +0 -33
  833. package/src/internal/layerStack.ts +0 -202
  834. package/src/internal/linkTarget.ts +0 -254
  835. package/src/internal/localeContext.ts +0 -22
  836. package/src/internal/ownedAttrs.ts +0 -505
  837. package/src/internal/passiveContentContract.ts +0 -129
  838. package/src/internal/pillSurface.ts +0 -93
  839. package/src/internal/pointerInteractionLease.ts +0 -82
  840. package/src/internal/runtimeContract.ts +0 -196
  841. package/src/internal/runtimeTheme.ts +0 -159
  842. package/src/internal/semanticTone.ts +0 -23
  843. package/src/internal/useBinaryInput.ts +0 -83
  844. package/src/internal/useMenuLayer.ts +0 -129
  845. package/src/locales/catalog.ts +0 -634
  846. package/src/locales/locale.ts +0 -472
  847. package/src/locales/messages.generated.ts +0 -1826
  848. package/src/locales/messages.ts +0 -150
  849. package/src/stores/useNotifierStore.ts +0 -86
  850. package/src/theme.ts +0 -476
  851. package/src/types/highlight-js-lib.d.ts +0 -76
  852. package/src/variants.ts +0 -15
  853. package/src/workers/diff.worker.ts +0 -73
  854. package/src/workers/diffProtocol.ts +0 -155
  855. /package/{index.ts → dist/index.d.ts} +0 -0
  856. /package/{src/internal/lazyCodeEditor.ts → dist/src/internal/lazyCodeEditor.d.ts} +0 -0
@@ -1,1081 +0,0 @@
1
- <template>
2
- <SField
3
- :control-id="editorId"
4
- :label="label"
5
- :required="validatedRequired"
6
- :help-text="helpText"
7
- :error-message="errorMessage"
8
- :invalid="validatedInvalid"
9
- :disabled="validatedDisabled"
10
- :readonly="validatedReadonly"
11
- :fill="validatedAppearance === 'ghost' ? 'container' : 'content'"
12
- >
13
- <template #default="field">
14
- <SInlineTokenSurface
15
- :id="editorId"
16
- :element-ref="bindInlineEditorElement"
17
- :owned-attributes="ownedAttrs.bindings()"
18
- :field-bindings="resolveFieldBindings(field)"
19
- :segments="inlineSegments"
20
- :trailing-caret-helper="hasTrailingInlineCaretHelper"
21
- :open-disabled="validatedDisabled"
22
- :remove-disabled="validatedDisabled || validatedReadonly"
23
- :appearance="validatedAppearance"
24
- :invalid="field.invalid"
25
- :disabled="field.disabled"
26
- :readonly="field.readonly"
27
- :required="field.required"
28
- :rows="rows"
29
- :max-rows="maxRows"
30
- :placeholder="placeholder"
31
- :placeholder-visible="isInlinePlaceholderVisible"
32
- :labelled-by="mergeIdReferences(ownedAttrs.string('aria-labelledby'), field.labelledBy)"
33
- :described-by="mergeIdReferences(ownedAttrs.string('aria-describedby'), field.describedBy)"
34
- @beforeinput="handleInlineBeforeInput"
35
- @input="handleInlineInput"
36
- @keydown="handleInlineKeydown"
37
- @keyup="handleInlineKeyup"
38
- @click="handleInlineClick"
39
- @paste="handleInlinePaste"
40
- @token-action="handleInlineTokenAction"
41
- />
42
- </template>
43
- </SField>
44
- </template>
45
-
46
- <script setup lang="ts">
47
- import { computed, ref, useId, watch } from 'vue'
48
- import { mergeIdReferences, useOwnedAttrs } from '../../../internal/ownedAttrs'
49
- import { resolveFieldSurfaceBindings, type FieldSurfaceBindings } from '../../../internal/fieldSurface'
50
- import {
51
- composeInlineTokenSegments,
52
- type InlineTokenEditorSegmentContract,
53
- inlineTokenSegmentsToText,
54
- parseInlineTokenEditorSource,
55
- validateInlineTokenCursorBoundary,
56
- } from '../../../internal/inlineTokenEditorContract'
57
- import {
58
- validateBoolean,
59
- validateBoundedInteger,
60
- validateDomId,
61
- validateExactString,
62
- validateNonEmptyString,
63
- } from '../../../internal/runtimeContract'
64
- import SInlineTokenSurface, {
65
- INLINE_TOKEN_EDITOR_VISUAL_CARET_TEXT,
66
- type InlineTokenActionEvent,
67
- type InlineTokenElementRef,
68
- } from './_internal/SInlineTokenSurface.vue'
69
- import SField from './SField.vue'
70
-
71
- defineOptions({
72
- inheritAttrs: false,
73
- })
74
-
75
- /** Canonical text/token segment без nullable/fallback states. / Canonical text/token segment without nullable or fallback states. */
76
- export type SInlineTokenEditorSegment = InlineTokenEditorSegmentContract
77
-
78
- /** Public editor contract с exact model mirror и semantic row sizing. / Public editor contract with an exact model mirror and semantic row sizing. */
79
- export interface Props {
80
- modelValue: string
81
- segments: readonly SInlineTokenEditorSegment[]
82
- label?: string
83
- placeholder?: string
84
- disabled?: boolean
85
- readonly?: boolean
86
- required?: boolean
87
- invalid?: boolean
88
- errorMessage?: string
89
- helpText?: string
90
- id?: string
91
- rows?: number
92
- maxRows?: number
93
- appearance?: 'default' | 'ghost'
94
- }
95
-
96
- /** Exact text/cursor state after a user or imperative edit. / Exact text/cursor state после user или imperative edit. */
97
- export interface SInlineTokenEditorState {
98
- text: string
99
- cursor: number
100
- }
101
-
102
- /** Exact identity of one token occurrence and its domain entity. / Точная identity одного вхождения токена и его доменной сущности. */
103
- export interface SInlineTokenEditorTokenReference {
104
- occurrenceId: string
105
- id: string
106
- }
107
-
108
- /** Atomic controlled replacement request with one cursor commit. / Атомарный запрос controlled-замены с единым commit курсора. */
109
- export interface SInlineTokenEditorReplacement {
110
- start: number
111
- end: number
112
- segments: readonly SInlineTokenEditorSegment[]
113
- cursor: number
114
- }
115
-
116
- /** Public imperative surface for focus, selection, and atomic domain insertions. / Публичная imperative-поверхность focus, selection и атомарных доменных вставок. */
117
- export interface SInlineTokenEditorApi {
118
- focus: () => void
119
- insertSoftLineBreak: () => void
120
- getSelectionOffset: () => number
121
- queueSelectionOffset: (offset: number) => void
122
- setSelectionOffset: (offset: number) => void
123
- replaceRange: (replacement: SInlineTokenEditorReplacement) => void
124
- }
125
-
126
- const props = withDefaults(defineProps<Props>(), {
127
- label: undefined,
128
- placeholder: undefined,
129
- disabled: false,
130
- readonly: false,
131
- required: false,
132
- invalid: false,
133
- errorMessage: undefined,
134
- helpText: undefined,
135
- id: undefined,
136
- rows: 3,
137
- maxRows: 0,
138
- appearance: 'default',
139
- })
140
-
141
- const emit = defineEmits<{
142
- (e: 'update:modelValue', value: string): void
143
- (e: 'update:segments', value: SInlineTokenEditorSegment[]): void
144
- (e: 'keydown', event: KeyboardEvent): void
145
- (e: 'keyup', event: KeyboardEvent): void
146
- (e: 'click', event: MouseEvent): void
147
- (e: 'open-token', token: SInlineTokenEditorTokenReference): void
148
- (e: 'remove-token', token: SInlineTokenEditorTokenReference): void
149
- (e: 'state-change', state: SInlineTokenEditorState): void
150
- }>()
151
- const ownedAttrs = useOwnedAttrs({ component: 'SInlineTokenEditor', owner: 'inline token editing surface' })
152
-
153
- const generatedEditorId = useId()
154
- const editorId = computed(() => props.id === undefined
155
- ? `s-inline-token-editor-${generatedEditorId}`
156
- : validateDomId('SInlineTokenEditor', 'id', props.id))
157
-
158
- const inlineEditorRef = ref<HTMLDivElement | null>(null)
159
- const bindInlineEditorElement: InlineTokenElementRef = (target) => {
160
- if (target !== null && !(target instanceof HTMLDivElement)) {
161
- throw new TypeError('SInlineTokenEditor: editing surface ref должен быть HTMLDivElement. / SInlineTokenEditor: editing surface ref must be an HTMLDivElement.')
162
- }
163
- inlineEditorRef.value = target
164
- }
165
- const lastSelectionOffset = ref(0)
166
- const pendingInlineSelectionOffset = ref<number | null>(null)
167
- const inlineSelectionOffsetToRestore = ref<number | null>(null)
168
- const INLINE_VISUAL_CARET_TEXT = INLINE_TOKEN_EDITOR_VISUAL_CARET_TEXT
169
-
170
- const inlineSegments = computed<readonly SInlineTokenEditorSegment[]>(() =>
171
- parseInlineTokenEditorSource(props.modelValue, props.segments))
172
- const validatedDisabled = computed(() => validateBoolean('SInlineTokenEditor', 'disabled', props.disabled))
173
- const validatedReadonly = computed(() => validateBoolean('SInlineTokenEditor', 'readonly', props.readonly))
174
- const validatedRequired = computed(() => validateBoolean('SInlineTokenEditor', 'required', props.required))
175
- const validatedInvalid = computed(() => validateBoolean('SInlineTokenEditor', 'invalid', props.invalid))
176
- const validatedAppearance = computed(() => validateExactString(
177
- 'SInlineTokenEditor', 'appearance', props.appearance, ['default', 'ghost'] as const,
178
- ))
179
-
180
- const hasSemanticInlineContent = computed(() => inlineSegments.value.length > 0)
181
- const isInlinePlaceholderVisible = computed(() => !hasSemanticInlineContent.value)
182
- const inlineTrailingCaretHelperKind = computed<'newline' | 'token' | null>(() => {
183
- const inlineText = segmentsToText(inlineSegments.value)
184
- if (inlineText.endsWith('\n')) {
185
- return 'newline'
186
- }
187
-
188
- const lastSegment = inlineSegments.value[inlineSegments.value.length - 1]
189
- if (lastSegment?.kind === 'token') {
190
- return 'token'
191
- }
192
-
193
- return null
194
- })
195
- const hasTrailingInlineCaretHelper = computed(() => inlineTrailingCaretHelperKind.value !== null)
196
- const inlineDomSignature = computed(() => JSON.stringify({
197
- segments: inlineSegments.value,
198
- trailingCaretHelperKind: inlineTrailingCaretHelperKind.value,
199
- tokenRemovalDisabled: validatedDisabled.value || validatedReadonly.value,
200
- }))
201
-
202
-
203
- function resolveFieldBindings(field: {
204
- invalid: boolean
205
- disabled: boolean
206
- readonly: boolean
207
- }): FieldSurfaceBindings {
208
- return resolveFieldSurfaceBindings('SInlineTokenEditor', {
209
- kind: 'inline-token-editor',
210
- appearance: validatedAppearance.value === 'default' ? 'field' : 'ghost',
211
- invalid: field.invalid,
212
- disabled: field.disabled,
213
- readonly: field.readonly,
214
- })
215
- }
216
-
217
- const segmentsToText = (segments: readonly SInlineTokenEditorSegment[]): string =>
218
- inlineTokenSegmentsToText(segments)
219
-
220
- const isInlineVisualCaretTextNode = (node: Node): node is Text =>
221
- node.nodeType === Node.TEXT_NODE && node.textContent === INLINE_VISUAL_CARET_TEXT
222
-
223
- const getInlineTokenLogicalLength = (node: HTMLElement): number =>
224
- validateNonEmptyString('SInlineTokenEditor', 'DOM token label', node.dataset.segmentLabel).length
225
-
226
- const findLastInlineTextNode = (
227
- nodes: Iterable<Node>,
228
- predicate: (node: Node) => node is Text,
229
- ): Text | null => {
230
- const entries = Array.from(nodes)
231
- for (let index = entries.length - 1; index >= 0; index -= 1) {
232
- const candidate = entries[index]
233
- if (candidate && predicate(candidate)) {
234
- return candidate
235
- }
236
- }
237
- return null
238
- }
239
-
240
- const findFirstEditableInlineTextNode = (node: Node | null): Text | null => {
241
- if (!node) {
242
- return null
243
- }
244
- if (node.nodeType === Node.TEXT_NODE) {
245
- const textNode = node as Text
246
- return isInlineVisualCaretTextNode(textNode) ? null : textNode
247
- }
248
-
249
- for (const child of Array.from(node.childNodes)) {
250
- const found = findFirstEditableInlineTextNode(child)
251
- if (found) {
252
- return found
253
- }
254
- }
255
-
256
- return null
257
- }
258
-
259
- const getNodeLogicalLength = (node: Node): number => {
260
- if (node.nodeType === Node.TEXT_NODE) {
261
- if (isInlineVisualCaretTextNode(node)) {
262
- return 0
263
- }
264
- return (node as Text).data.length
265
- }
266
- if (node instanceof HTMLElement && node.dataset.segmentKind === 'token') {
267
- return getInlineTokenLogicalLength(node)
268
- }
269
- let total = 0
270
- node.childNodes.forEach((child) => {
271
- total += getNodeLogicalLength(child)
272
- })
273
- return total
274
- }
275
-
276
- const validateDomBoundaryOffset = (node: Node, offset: number, coordinate: string): number => {
277
- if (!Number.isInteger(offset)) {
278
- throw new TypeError(`SInlineTokenEditor: ${coordinate} должен быть целым DOM offset. / SInlineTokenEditor: ${coordinate} must be an integer DOM offset.`)
279
- }
280
- const maximum = node.nodeType === Node.TEXT_NODE
281
- ? (node as Text).data.length
282
- : node.childNodes.length
283
- if (offset < 0 || offset > maximum) {
284
- throw new RangeError(`SInlineTokenEditor: ${coordinate}=${offset} вне DOM range [0, ${maximum}]. / SInlineTokenEditor: ${coordinate}=${offset} is outside DOM range [0, ${maximum}].`)
285
- }
286
- return offset
287
- }
288
-
289
- const calculateOffsetWithin = (root: Node, target: Node, targetOffset: number): number => {
290
- if (root === target) {
291
- const validatedTargetOffset = validateDomBoundaryOffset(target, targetOffset, 'selection boundary')
292
- if (root.nodeType === Node.TEXT_NODE) {
293
- if (isInlineVisualCaretTextNode(root)) {
294
- return 0
295
- }
296
- return validatedTargetOffset
297
- }
298
- let subtotal = 0
299
- const children = Array.from(root.childNodes)
300
- for (let index = 0; index < validatedTargetOffset; index += 1) {
301
- subtotal += getNodeLogicalLength(children[index]!)
302
- }
303
- return subtotal
304
- }
305
-
306
- if (root.nodeType === Node.TEXT_NODE) {
307
- if (isInlineVisualCaretTextNode(root)) {
308
- return 0
309
- }
310
- return (root as Text).data.length
311
- }
312
-
313
- if (root instanceof HTMLElement && root.dataset.segmentKind === 'token') {
314
- return getInlineTokenLogicalLength(root)
315
- }
316
-
317
- let total = 0
318
- for (const child of Array.from(root.childNodes)) {
319
- if (child === target || child.contains(target)) {
320
- total += calculateOffsetWithin(child, target, targetOffset)
321
- return total
322
- }
323
- total += getNodeLogicalLength(child)
324
- }
325
- throw new RangeError('SInlineTokenEditor: selection boundary не принадлежит editing surface. / SInlineTokenEditor: selection boundary does not belong to the editing surface.')
326
- }
327
-
328
- const getActiveInlineSelectionOffset = (
329
- source: readonly SInlineTokenEditorSegment[],
330
- coordinate: string,
331
- ): number => {
332
- const editor = inlineEditorRef.value
333
- if (!editor) {
334
- throw new Error('SInlineTokenEditor: editing surface не готова для getSelectionOffset. / SInlineTokenEditor: editing surface is not ready for getSelectionOffset.')
335
- }
336
- const selection = window.getSelection()
337
- if (!selection) {
338
- throw new Error('SInlineTokenEditor: Selection API недоступен для getSelectionOffset. / SInlineTokenEditor: Selection API is unavailable for getSelectionOffset.')
339
- }
340
- if (selection.rangeCount === 0) {
341
- throw new Error('SInlineTokenEditor: активная selection отсутствует для getSelectionOffset. / SInlineTokenEditor: no active selection exists for getSelectionOffset.')
342
- }
343
- const range = selection.getRangeAt(0)
344
- if (!editor.contains(range.startContainer) && range.startContainer !== editor) {
345
- throw new Error('SInlineTokenEditor: активная selection не принадлежит editing surface. / SInlineTokenEditor: the active selection does not belong to the editing surface.')
346
- }
347
- if (range.startContainer === editor && editor.childNodes.length === 0) {
348
- validateDomBoundaryOffset(editor, range.startOffset, 'empty editor selection boundary')
349
- lastSelectionOffset.value = 0
350
- return 0
351
- }
352
- const offset = validateInlineTokenCursorBoundary(
353
- source,
354
- calculateOffsetWithin(editor, range.startContainer, range.startOffset),
355
- coordinate,
356
- )
357
- lastSelectionOffset.value = offset
358
- return offset
359
- }
360
-
361
- const getInlineSelectionOffset = (): number => getActiveInlineSelectionOffset(
362
- inlineSegments.value,
363
- 'active selection offset',
364
- )
365
-
366
- const buildInlineRangeAtOffset = (editor: HTMLDivElement, offset: number): Range => {
367
- const range = document.createRange()
368
- const source = inlineSegments.value
369
- const validatedOffset = validateInlineTokenCursorBoundary(source, offset, 'selection offset')
370
- let remaining = validatedOffset
371
- const inlineText = segmentsToText(source)
372
- if (hasTrailingInlineCaretHelper.value && validatedOffset === inlineText.length) {
373
- const visualCaretNode = findLastInlineTextNode(editor.childNodes, isInlineVisualCaretTextNode)
374
- if (visualCaretNode) {
375
- range.setStart(visualCaretNode, visualCaretNode.data.length)
376
- range.collapse(true)
377
- return range
378
- }
379
- }
380
-
381
- const placeWithin = (node: Node): boolean => {
382
- if (node.nodeType === Node.TEXT_NODE) {
383
- if (isInlineVisualCaretTextNode(node)) {
384
- range.setStart(node, (node as Text).data.length)
385
- range.collapse(true)
386
- return true
387
- }
388
- const length = (node as Text).data.length
389
- if (remaining > length) {
390
- throw new RangeError(`SInlineTokenEditor: selection traversal overflow ${remaining} > ${length}.`)
391
- }
392
- range.setStart(node, remaining)
393
- range.collapse(true)
394
- return true
395
- }
396
-
397
- if (node instanceof HTMLElement && node.dataset.segmentKind === 'token') {
398
- const tokenLength = getInlineTokenLogicalLength(node)
399
- const parent = node.parentNode
400
- if (!parent) return false
401
- const children = Array.from(parent.childNodes)
402
- const nodeIndex = children.indexOf(node)
403
- if (remaining === 0) {
404
- range.setStart(parent, nodeIndex)
405
- range.collapse(true)
406
- return true
407
- }
408
- if (remaining === tokenLength) {
409
- const nextTextNode = findFirstEditableInlineTextNode(children[nodeIndex + 1] ?? null)
410
- if (nextTextNode) {
411
- range.setStart(nextTextNode, 0)
412
- range.collapse(true)
413
- return true
414
- }
415
-
416
- const trailingCaretNode = findLastInlineTextNode(editor.childNodes, isInlineVisualCaretTextNode)
417
- if (trailingCaretNode) {
418
- range.setStart(trailingCaretNode, trailingCaretNode.data.length)
419
- range.collapse(true)
420
- return true
421
- }
422
-
423
- range.setStart(parent, nodeIndex + 1)
424
- range.collapse(true)
425
- return true
426
- }
427
- if (remaining < tokenLength) {
428
- throw new RangeError(`SInlineTokenEditor: selection offset ${remaining} попал внутрь atomic token ${JSON.stringify(node.dataset.segmentId)}. / SInlineTokenEditor: selection offset ${remaining} fell inside atomic token ${JSON.stringify(node.dataset.segmentId)}.`)
429
- }
430
- remaining -= tokenLength
431
- return false
432
- }
433
-
434
- const children = Array.from(node.childNodes)
435
- if (!children.length) {
436
- range.setStart(node, 0)
437
- range.collapse(true)
438
- return true
439
- }
440
-
441
- for (const child of children) {
442
- const childLength = getNodeLogicalLength(child)
443
- if (remaining <= childLength) {
444
- return placeWithin(child)
445
- }
446
- remaining -= childLength
447
- }
448
-
449
- range.setStart(node, children.length)
450
- range.collapse(true)
451
- return true
452
- }
453
-
454
- placeWithin(editor)
455
- return range
456
- }
457
-
458
- const placeInlineSelectionAtOffset = (offset: number): void => {
459
- const editor = inlineEditorRef.value
460
- if (!editor) {
461
- throw new Error('SInlineTokenEditor: editing surface не готова. / SInlineTokenEditor: editing surface is not ready.')
462
- }
463
-
464
- const selection = window.getSelection()
465
- if (!selection) {
466
- throw new Error('SInlineTokenEditor: Selection API недоступен. / SInlineTokenEditor: Selection API is unavailable.')
467
- }
468
-
469
- const range = buildInlineRangeAtOffset(editor, offset)
470
- selection.removeAllRanges()
471
- selection.addRange(range)
472
- lastSelectionOffset.value = validateInlineTokenCursorBoundary(inlineSegments.value, offset, 'placed selection offset')
473
- }
474
-
475
- const emitInlineEditorState = (textOverride?: string): void => {
476
- emit('state-change', {
477
- text: textOverride ?? segmentsToText(inlineSegments.value),
478
- cursor: getInlineSelectionOffset(),
479
- })
480
- }
481
-
482
- const readInlineSegmentsFromDom = (): SInlineTokenEditorSegment[] => {
483
- const editor = inlineEditorRef.value
484
- if (!editor) {
485
- throw new Error('SInlineTokenEditor: невозможно прочитать DOM до readiness. / SInlineTokenEditor: cannot read DOM before readiness.')
486
- }
487
- if (
488
- editor.childNodes.length === 1
489
- && editor.firstChild instanceof HTMLBRElement
490
- ) {
491
- return []
492
- }
493
-
494
- const segments: SInlineTokenEditorSegment[] = []
495
- const appendText = (text: string) => {
496
- if (!text) return
497
- const previous = segments[segments.length - 1]
498
- if (previous?.kind === 'text') {
499
- segments[segments.length - 1] = { kind: 'text', text: previous.text + text }
500
- } else {
501
- segments.push({ kind: 'text', text })
502
- }
503
- }
504
-
505
- const visit = (node: Node): void => {
506
- if (node.nodeType === Node.TEXT_NODE) {
507
- if (isInlineVisualCaretTextNode(node)) {
508
- return
509
- }
510
- appendText((node as Text).data)
511
- return
512
- }
513
-
514
- if (node instanceof HTMLElement && node.dataset.segmentKind === 'token') {
515
- const candidate = {
516
- kind: 'token' as const,
517
- occurrenceId: node.dataset.segmentOccurrenceId,
518
- id: node.dataset.segmentId,
519
- label: node.dataset.segmentLabel,
520
- ...(node.dataset.segmentTitle === undefined ? {} : { title: node.dataset.segmentTitle }),
521
- }
522
- const parsed = parseInlineTokenEditorSource(candidate.label, [candidate])
523
- const token = parsed[0]
524
- if (!token || token.kind !== 'token') {
525
- throw new TypeError('SInlineTokenEditor: token DOM parser не создал token segment. / SInlineTokenEditor: token DOM parser did not produce a token segment.')
526
- }
527
- segments.push(token)
528
- return
529
- }
530
-
531
- if (node.nodeType === Node.COMMENT_NODE) return
532
- throw new TypeError(`SInlineTokenEditor: неожиданный DOM node ${node.nodeName} вне canonical text/token grammar. / SInlineTokenEditor: unexpected DOM node ${node.nodeName} outside the canonical text/token grammar.`)
533
- }
534
-
535
- editor.childNodes.forEach((node) => visit(node))
536
- return segments
537
- }
538
-
539
- const emitInlineSegmentsFromDom = (): void => {
540
- const nextSegments = readInlineSegmentsFromDom()
541
- const nextText = segmentsToText(nextSegments)
542
- parseInlineTokenEditorSource(nextText, nextSegments)
543
- const nextCursor = getActiveInlineSelectionOffset(nextSegments, 'input selection offset')
544
- lastSelectionOffset.value = nextCursor
545
- pendingInlineSelectionOffset.value = nextCursor
546
- emit('update:segments', nextSegments)
547
- emit('update:modelValue', nextText)
548
- emit('state-change', {
549
- text: nextText,
550
- cursor: nextCursor,
551
- })
552
- }
553
-
554
- const commitInlineSegmentsUpdate = (
555
- segments: readonly SInlineTokenEditorSegment[],
556
- cursor: number,
557
- ): void => {
558
- const nextSegments = composeInlineTokenSegments(segments)
559
- const nextText = segmentsToText(nextSegments)
560
- parseInlineTokenEditorSource(nextText, nextSegments)
561
- const nextCursor = validateInlineTokenCursorBoundary(nextSegments, cursor, 'committed cursor offset')
562
- lastSelectionOffset.value = nextCursor
563
- pendingInlineSelectionOffset.value = nextCursor
564
- emit('update:segments', nextSegments)
565
- emit('update:modelValue', nextText)
566
- emit('state-change', {
567
- text: nextText,
568
- cursor: nextCursor,
569
- })
570
- }
571
-
572
- const getTrailingInlineCaretHelperNode = (): Text | null => {
573
- const editor = inlineEditorRef.value
574
- if (!editor) {
575
- return null
576
- }
577
- return findLastInlineTextNode(editor.childNodes, isInlineVisualCaretTextNode)
578
- }
579
-
580
- const isCollapsedSelectionAtTrailingInlineCaretHelper = (range: Range): boolean => {
581
- const editor = inlineEditorRef.value
582
- const helperNode = getTrailingInlineCaretHelperNode()
583
- if (!editor || !helperNode || !range.collapsed || !hasTrailingInlineCaretHelper.value) {
584
- return false
585
- }
586
-
587
- if (range.startContainer === helperNode) {
588
- return true
589
- }
590
-
591
- if (range.startContainer !== editor) {
592
- return false
593
- }
594
-
595
- const childNodes = Array.from(editor.childNodes)
596
- const helperIndex = childNodes.indexOf(helperNode)
597
- return helperIndex >= 0 && range.startOffset === helperIndex + 1
598
- }
599
-
600
- const deleteTrailingInlineLineBreak = (): void => {
601
- const editor = inlineEditorRef.value
602
- const helperNode = getTrailingInlineCaretHelperNode()
603
- if (!editor || !helperNode) {
604
- return
605
- }
606
-
607
- const childNodes = Array.from(editor.childNodes)
608
- const helperIndex = childNodes.indexOf(helperNode)
609
- const previousNode = helperIndex > 0 ? childNodes[helperIndex - 1] ?? null : null
610
-
611
- if (!(previousNode instanceof Text) || previousNode.textContent === null || !previousNode.textContent.endsWith('\n')) {
612
- throw new Error('Trailing inline caret helper must follow a text node ending with newline.')
613
- }
614
-
615
- const nextText = previousNode.textContent.slice(0, -1)
616
- helperNode.remove()
617
- if (nextText.length === 0) {
618
- previousNode.remove()
619
- } else {
620
- previousNode.textContent = nextText
621
- }
622
-
623
- const selection = window.getSelection()
624
- if (selection) {
625
- const range = document.createRange()
626
- range.selectNodeContents(editor)
627
- range.collapse(false)
628
- selection.removeAllRanges()
629
- selection.addRange(range)
630
- }
631
-
632
- lastSelectionOffset.value = segmentsToText(readInlineSegmentsFromDom()).length
633
- emitInlineSegmentsFromDom()
634
- }
635
-
636
- const getInlineSegmentLogicalLength = (segment: SInlineTokenEditorSegment): number =>
637
- segment.kind === 'text' ? segment.text.length : segment.label.length
638
-
639
- const splitInlineSegmentsAtOffset = (
640
- segments: readonly SInlineTokenEditorSegment[],
641
- offset: number,
642
- ): { before: SInlineTokenEditorSegment[]; after: SInlineTokenEditorSegment[] } => {
643
- const validatedOffset = validateInlineTokenCursorBoundary(segments, offset, 'split offset')
644
- const before: SInlineTokenEditorSegment[] = []
645
- const after: SInlineTokenEditorSegment[] = []
646
- let cursor = 0
647
- let splitDone = false
648
-
649
- for (const segment of segments) {
650
- const length = getInlineSegmentLogicalLength(segment)
651
- const segmentStart = cursor
652
- const segmentEnd = cursor + length
653
-
654
- if (splitDone || validatedOffset <= segmentStart) {
655
- after.push(segment)
656
- cursor = segmentEnd
657
- continue
658
- }
659
-
660
- if (validatedOffset >= segmentEnd) {
661
- before.push(segment)
662
- cursor = segmentEnd
663
- continue
664
- }
665
-
666
- if (segment.kind === 'text') {
667
- const splitIndex = validatedOffset - segmentStart
668
- const left = segment.text.slice(0, splitIndex)
669
- const right = segment.text.slice(splitIndex)
670
- if (left) {
671
- before.push({ kind: 'text', text: left })
672
- }
673
- if (right) {
674
- after.push({ kind: 'text', text: right })
675
- }
676
- } else if (validatedOffset > segmentStart) {
677
- before.push(segment)
678
- } else {
679
- after.push(segment)
680
- }
681
-
682
- splitDone = true
683
- cursor = segmentEnd
684
- }
685
-
686
- return {
687
- before: composeInlineTokenSegments(before),
688
- after: composeInlineTokenSegments(after),
689
- }
690
- }
691
-
692
- const replaceInlineSegmentsRange = (
693
- start: number,
694
- end: number,
695
- replacement: readonly SInlineTokenEditorSegment[],
696
- ): SInlineTokenEditorSegment[] => {
697
- const source = inlineSegments.value
698
- const validatedStart = validateInlineTokenCursorBoundary(source, start, 'replacement start')
699
- const validatedEnd = validateInlineTokenCursorBoundary(source, end, 'replacement end')
700
- if (validatedStart > validatedEnd) {
701
- throw new RangeError(`SInlineTokenEditor: replacement start ${validatedStart} не может быть больше end ${validatedEnd}. / SInlineTokenEditor: replacement start ${validatedStart} cannot exceed end ${validatedEnd}.`)
702
- }
703
- const startSplit = splitInlineSegmentsAtOffset(source, validatedStart)
704
- const endSplit = splitInlineSegmentsAtOffset(source, validatedEnd)
705
- return composeInlineTokenSegments([
706
- ...startSplit.before,
707
- ...replacement,
708
- ...endSplit.after,
709
- ])
710
- }
711
-
712
- const resolveInlineSelectionOffsets = (range: Range): { start: number; end: number } | null => {
713
- const editor = inlineEditorRef.value
714
- if (!editor) {
715
- return null
716
- }
717
-
718
- const inlineTextLength = segmentsToText(inlineSegments.value).length
719
- if (isCollapsedSelectionAtTrailingInlineCaretHelper(range)) {
720
- return { start: inlineTextLength, end: inlineTextLength }
721
- }
722
-
723
- const resolveBoundary = (container: Node, boundaryOffset: number): number => {
724
- if (container === editor && editor.childNodes.length === 0) {
725
- validateDomBoundaryOffset(container, boundaryOffset, 'empty editor selection boundary')
726
- return 0
727
- }
728
- return calculateOffsetWithin(editor, container, boundaryOffset)
729
- }
730
-
731
- return {
732
- start: resolveBoundary(range.startContainer, range.startOffset),
733
- end: resolveBoundary(range.endContainer, range.endOffset),
734
- }
735
- }
736
-
737
- const deleteInlineBackward = (offset: number): void => {
738
- const sourceSegments = inlineSegments.value
739
- const validatedOffset = validateInlineTokenCursorBoundary(sourceSegments, offset, 'delete backward offset')
740
- if (validatedOffset === 0) {
741
- return
742
- }
743
-
744
- const source = sourceSegments.map((segment): SInlineTokenEditorSegment => (
745
- segment.kind === 'text'
746
- ? { kind: 'text', text: segment.text }
747
- : {
748
- kind: 'token',
749
- occurrenceId: segment.occurrenceId,
750
- id: segment.id,
751
- label: segment.label,
752
- ...(segment.title === undefined ? {} : { title: segment.title }),
753
- }
754
- ))
755
-
756
- let segmentStart = 0
757
- for (let index = 0; index < source.length; index += 1) {
758
- const segment = source[index]!
759
- const segmentEnd = segmentStart + getInlineSegmentLogicalLength(segment)
760
-
761
- if (validatedOffset > segmentEnd) {
762
- segmentStart = segmentEnd
763
- continue
764
- }
765
-
766
- if (segment.kind === 'text') {
767
- const deleteIndex = validatedOffset - segmentStart - 1
768
- if (deleteIndex < 0 || deleteIndex >= segment.text.length) {
769
- throw new RangeError(`SInlineTokenEditor: delete index ${deleteIndex} вне text segment [0, ${segment.text.length - 1}]. / SInlineTokenEditor: delete index ${deleteIndex} is outside text segment [0, ${segment.text.length - 1}].`)
770
- }
771
- const nextText = `${segment.text.slice(0, deleteIndex)}${segment.text.slice(deleteIndex + 1)}`
772
- source[index] = { kind: 'text', text: nextText }
773
- commitInlineSegmentsUpdate(source, validatedOffset - 1)
774
- return
775
- }
776
-
777
- const previous = source[index - 1]
778
- const next = source[index + 1]
779
- if (
780
- previous?.kind === 'text'
781
- && next?.kind === 'text'
782
- && previous.text.endsWith(' ')
783
- && next.text.startsWith(' ')
784
- ) {
785
- source[index + 1] = { kind: 'text', text: next.text.slice(1) }
786
- }
787
- source.splice(index, 1)
788
- commitInlineSegmentsUpdate(source, segmentStart)
789
- return
790
- }
791
- }
792
-
793
- const ensureInlineSelectionRange = (allowSyntheticSelection: boolean): Range | null => {
794
- const editor = inlineEditorRef.value
795
- const selection = window.getSelection()
796
- if (!editor || !selection) {
797
- return null
798
- }
799
-
800
- if (selection.rangeCount > 0) {
801
- const range = selection.getRangeAt(0)
802
- if (editor.contains(range.startContainer) || range.startContainer === editor) {
803
- return range
804
- }
805
- }
806
-
807
- if (!allowSyntheticSelection) {
808
- return null
809
- }
810
-
811
- editor.focus()
812
- placeInlineSelectionAtOffset(lastSelectionOffset.value)
813
- if (selection.rangeCount > 0) {
814
- return selection.getRangeAt(0)
815
- }
816
-
817
- const range = buildInlineRangeAtOffset(editor, lastSelectionOffset.value)
818
- selection.removeAllRanges()
819
- selection.addRange(range)
820
- return range
821
- }
822
-
823
- const insertPlainTextAtInlineSelection = (
824
- text: string,
825
- options: { allowSyntheticSelection?: boolean } = {},
826
- ): void => {
827
- if (!text || validatedDisabled.value || validatedReadonly.value) return
828
-
829
- const range = ensureInlineSelectionRange(options.allowSyntheticSelection === true)
830
- if (!range) {
831
- throw new Error('SInlineTokenEditor: active selection отсутствует в editing surface. / SInlineTokenEditor: no active selection exists inside the editing surface.')
832
- }
833
-
834
- const offsets = resolveInlineSelectionOffsets(range)
835
- if (!offsets) {
836
- throw new Error('SInlineTokenEditor: selection offsets недоступны до readiness. / SInlineTokenEditor: selection offsets are unavailable before readiness.')
837
- }
838
-
839
- const nextSegments = replaceInlineSegmentsRange(
840
- offsets.start,
841
- offsets.end,
842
- [{ kind: 'text', text }],
843
- )
844
- commitInlineSegmentsUpdate(nextSegments, offsets.start + text.length)
845
- }
846
-
847
- const insertSoftLineBreak = (): void => {
848
- if (validatedDisabled.value || validatedReadonly.value) return
849
- insertPlainTextAtInlineSelection('\n', { allowSyntheticSelection: true })
850
- }
851
-
852
- const replaceRange = (replacement: SInlineTokenEditorReplacement): void => {
853
- if (validatedDisabled.value || validatedReadonly.value) {
854
- throw new Error('SInlineTokenEditor: replaceRange недоступен для disabled или readonly editor. / SInlineTokenEditor: replaceRange is unavailable for a disabled or readonly editor.')
855
- }
856
- const editor = inlineEditorRef.value
857
- if (!editor) {
858
- throw new Error('SInlineTokenEditor: editing surface не готова. / SInlineTokenEditor: editing surface is not ready.')
859
- }
860
- const nextSegments = replaceInlineSegmentsRange(
861
- replacement.start,
862
- replacement.end,
863
- replacement.segments,
864
- )
865
- editor.focus()
866
- commitInlineSegmentsUpdate(nextSegments, replacement.cursor)
867
- }
868
-
869
- defineExpose<SInlineTokenEditorApi>({
870
- focus: () => {
871
- const editor = inlineEditorRef.value
872
- if (!editor) throw new Error('SInlineTokenEditor: editing surface не готова. / SInlineTokenEditor: editing surface is not ready.')
873
- editor.focus()
874
- },
875
- insertSoftLineBreak,
876
- getSelectionOffset: getInlineSelectionOffset,
877
- queueSelectionOffset: (offset: number) => {
878
- pendingInlineSelectionOffset.value = validateBoundedInteger(
879
- 'SInlineTokenEditor',
880
- 'queued selection offset',
881
- offset,
882
- { minimum: 0, maximum: Number.MAX_SAFE_INTEGER },
883
- )
884
- },
885
- setSelectionOffset: (offset: number) => {
886
- const nextOffset = validateInlineTokenCursorBoundary(inlineSegments.value, offset, 'imperative selection offset')
887
- const editor = inlineEditorRef.value
888
- if (!editor) throw new Error('SInlineTokenEditor: editing surface не готова. / SInlineTokenEditor: editing surface is not ready.')
889
- if (!window.getSelection()) {
890
- throw new Error('SInlineTokenEditor: Selection API недоступен. / SInlineTokenEditor: Selection API is unavailable.')
891
- }
892
- editor.focus()
893
- placeInlineSelectionAtOffset(nextOffset)
894
- pendingInlineSelectionOffset.value = nextOffset
895
- emit('state-change', {
896
- text: segmentsToText(inlineSegments.value),
897
- cursor: nextOffset,
898
- })
899
- },
900
- replaceRange,
901
- })
902
-
903
- function handleInlineInput() {
904
- if (validatedDisabled.value || validatedReadonly.value) return
905
- emitInlineSegmentsFromDom()
906
- }
907
-
908
- function handleInlineBeforeInput(event: InputEvent) {
909
- if (validatedDisabled.value || validatedReadonly.value || event.defaultPrevented) return
910
- if (event.isComposing) return
911
-
912
- if (event.inputType === 'deleteContentBackward') {
913
- const range = ensureInlineSelectionRange(true)
914
- if (range && isCollapsedSelectionAtTrailingInlineCaretHelper(range)) {
915
- if (inlineTrailingCaretHelperKind.value === 'newline') {
916
- event.preventDefault()
917
- deleteTrailingInlineLineBreak()
918
- return
919
- }
920
- if (inlineTrailingCaretHelperKind.value === 'token') {
921
- event.preventDefault()
922
- deleteInlineBackward(getInlineSelectionOffset())
923
- return
924
- }
925
- return
926
- }
927
- if (range?.collapsed) {
928
- event.preventDefault()
929
- deleteInlineBackward(getInlineSelectionOffset())
930
- return
931
- }
932
- }
933
-
934
- if (event.inputType === 'insertText' && typeof event.data === 'string' && event.data.length > 0) {
935
- event.preventDefault()
936
- insertPlainTextAtInlineSelection(event.data, { allowSyntheticSelection: true })
937
- return
938
- }
939
-
940
- if (event.inputType === 'insertLineBreak' || event.inputType === 'insertParagraph') {
941
- event.preventDefault()
942
- insertSoftLineBreak()
943
- }
944
- }
945
-
946
- function handleInlinePaste(event: ClipboardEvent) {
947
- if (validatedDisabled.value || validatedReadonly.value) return
948
- event.preventDefault()
949
- if (!event.clipboardData) {
950
- throw new TypeError('SInlineTokenEditor: paste event не содержит clipboardData. / SInlineTokenEditor: paste event has no clipboardData.')
951
- }
952
- const text = event.clipboardData.getData('text/plain')
953
- insertPlainTextAtInlineSelection(text)
954
- }
955
-
956
- function handleInlineKeydown(event: KeyboardEvent) {
957
- emit('keydown', event)
958
- if (validatedDisabled.value || validatedReadonly.value || event.defaultPrevented) {
959
- return
960
- }
961
- if (event.key === 'Enter' && event.shiftKey) {
962
- event.preventDefault()
963
- insertSoftLineBreak()
964
- return
965
- }
966
-
967
- const normalizedKey = event.key === 'Space' || event.key === 'Spacebar' || event.code === 'Space'
968
- ? ' '
969
- : event.key
970
-
971
- if (
972
- !event.isComposing
973
- && !event.ctrlKey
974
- && !event.metaKey
975
- && !event.altKey
976
- && normalizedKey.length === 1
977
- ) {
978
- event.preventDefault()
979
- insertPlainTextAtInlineSelection(normalizedKey, { allowSyntheticSelection: true })
980
- }
981
- }
982
-
983
- function handleInlineKeyup(event: KeyboardEvent) {
984
- emit('keyup', event)
985
- emitInlineEditorState()
986
- }
987
-
988
- function handleInlineClick(event: MouseEvent) {
989
- emit('click', event)
990
- emitInlineEditorState()
991
- }
992
-
993
- function handleInlineTokenAction(event: InlineTokenActionEvent) {
994
- const occurrenceId = validateNonEmptyString(
995
- 'SInlineTokenEditor', 'token action occurrenceId', event.occurrenceId,
996
- )
997
- const tokenId = validateNonEmptyString('SInlineTokenEditor', 'token action id', event.id)
998
- const reference: SInlineTokenEditorTokenReference = { occurrenceId, id: tokenId }
999
- if (event.action === 'open') {
1000
- if (!validatedDisabled.value) emit('open-token', reference)
1001
- return
1002
- }
1003
- if (validatedDisabled.value || validatedReadonly.value) return
1004
-
1005
- const source = inlineSegments.value
1006
- let cursor = 0
1007
- const nextSegments: SInlineTokenEditorSegment[] = []
1008
- let removed = false
1009
- let removeOneLeadingSeparatorSpace = false
1010
- for (let index = 0; index < source.length; index += 1) {
1011
- const sourceSegment = source[index]!
1012
- const segment: SInlineTokenEditorSegment = (
1013
- removeOneLeadingSeparatorSpace
1014
- && sourceSegment.kind === 'text'
1015
- && sourceSegment.text.startsWith(' ')
1016
- )
1017
- ? { kind: 'text', text: sourceSegment.text.slice(1) }
1018
- : sourceSegment
1019
- removeOneLeadingSeparatorSpace = false
1020
- if (segment.kind === 'token' && segment.occurrenceId === occurrenceId) {
1021
- if (segment.id !== tokenId) {
1022
- throw new TypeError(`SInlineTokenEditor: token action id ${JSON.stringify(tokenId)} does not match occurrence ${JSON.stringify(occurrenceId)}`)
1023
- }
1024
- removed = true
1025
- const previous = nextSegments[nextSegments.length - 1]
1026
- const upcoming = source[index + 1]
1027
- if (
1028
- previous?.kind === 'text'
1029
- && upcoming?.kind === 'text'
1030
- && previous.text.endsWith(' ')
1031
- && upcoming.text.startsWith(' ')
1032
- ) {
1033
- removeOneLeadingSeparatorSpace = true
1034
- }
1035
- continue
1036
- }
1037
- if (!removed) cursor += getInlineSegmentLogicalLength(segment)
1038
- nextSegments.push(segment)
1039
- }
1040
- if (!removed) {
1041
- throw new RangeError(`SInlineTokenEditor: token action occurrence ${JSON.stringify(occurrenceId)} does not exist`)
1042
- }
1043
- emit('remove-token', reference)
1044
- commitInlineSegmentsUpdate(nextSegments, cursor)
1045
- }
1046
-
1047
- watch(
1048
- inlineDomSignature,
1049
- () => {
1050
- const editor = inlineEditorRef.value
1051
- if (!editor) return
1052
- const queuedSelectionOffset = pendingInlineSelectionOffset.value
1053
- const shouldRestoreSelection = queuedSelectionOffset !== null
1054
- || document.activeElement === editor
1055
- || editor.contains(document.activeElement)
1056
- if (!shouldRestoreSelection) return
1057
- inlineSelectionOffsetToRestore.value = validateInlineTokenCursorBoundary(
1058
- inlineSegments.value,
1059
- queuedSelectionOffset ?? getInlineSelectionOffset(),
1060
- 'retained selection offset',
1061
- )
1062
- },
1063
- { flush: 'pre' },
1064
- )
1065
-
1066
- watch(
1067
- inlineDomSignature,
1068
- () => {
1069
- const selectionOffset = inlineSelectionOffsetToRestore.value
1070
- if (selectionOffset === null) return
1071
- placeInlineSelectionAtOffset(validateInlineTokenCursorBoundary(
1072
- inlineSegments.value,
1073
- selectionOffset,
1074
- 'restored selection offset',
1075
- ))
1076
- inlineSelectionOffsetToRestore.value = null
1077
- pendingInlineSelectionOffset.value = null
1078
- },
1079
- { flush: 'post' },
1080
- )
1081
- </script>