@pgcorp/ui-kit 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/README.md +725 -19
  2. package/dist/assets/src/components/layout/SDockRegion.vue_vue_type_style_index_0_scoped_a1f403e2_lang.css +1 -0
  3. package/dist/assets/src/components/layout/{SResizeHandle.vue_vue_type_style_index_0_scoped_90cc655e_lang.css → SResizeHandle.vue_vue_type_style_index_0_scoped_13b9b27a_lang.css} +1 -1
  4. package/dist/assets/src/components/layout/{SWorkbenchPanelShell.css_vue_type_style_index_0_src_1030a231_scoped_1030a231_lang.css → SWorkbenchPanelShell.css_vue_type_style_index_0_src_f9faa52a_scoped_f9faa52a_lang.css} +1 -1
  5. package/dist/assets/src/components/shared/_internal/SDialogSurface.css_vue_type_style_index_0_src_0e58afdc_scoped_0e58afdc_lang.css +2 -0
  6. package/dist/assets/src/components/shared/_internal/{SListboxGroup.css_vue_type_style_index_0_src_518787d3_scoped_518787d3_lang.css → SListboxGroup.css_vue_type_style_index_0_src_00060944_scoped_00060944_lang.css} +1 -1
  7. package/dist/assets/src/components/shared/_internal/SMenuLayer.css_vue_type_style_index_0_src_e478164c_scoped_e478164c_lang.css +1 -0
  8. package/dist/assets/src/components/shared/containers/SDrawer.css_vue_type_style_index_0_src_61cf20dd_scoped_61cf20dd_lang.css +2 -0
  9. package/dist/assets/src/components/shared/containers/{SModal.css_vue_type_style_index_0_src_0dc51b74_scoped_0dc51b74_lang.css → SModal.css_vue_type_style_index_0_src_42e1bd5f_scoped_42e1bd5f_lang.css} +1 -1
  10. package/dist/assets/src/components/shared/containers/SOverlayHost.css_vue_type_style_index_0_src_8f9be94e_scoped_8f9be94e_lang.css +2 -0
  11. package/dist/assets/src/components/shared/containers/SPopover.css_vue_type_style_index_0_src_4091d007_scoped_4091d007_lang.css +2 -0
  12. package/dist/assets/src/components/shared/containers/{SSidebarGroup.css_vue_type_style_index_0_src_3e8bc2d7_scoped_3e8bc2d7_lang.css → SSidebarGroup.css_vue_type_style_index_0_src_5b1eeb6c_scoped_5b1eeb6c_lang.css} +1 -1
  13. package/dist/assets/src/components/shared/containers/SSidebarSection.css_vue_type_style_index_0_src_21f71ae8_scoped_21f71ae8_lang.css +2 -0
  14. package/dist/assets/src/components/shared/controls/SButton.css_vue_type_style_index_0_src_7a5acda9_scoped_7a5acda9_lang.css +2 -0
  15. package/dist/assets/src/components/shared/controls/{SCheckbox.css_vue_type_style_index_0_src_b20b27dd_scoped_b20b27dd_lang.css → SCheckbox.css_vue_type_style_index_0_src_55d4826e_scoped_55d4826e_lang.css} +1 -1
  16. package/dist/assets/src/components/shared/controls/SCombobox.css_vue_type_style_index_0_src_537f5744_scoped_537f5744_lang.css +2 -0
  17. package/dist/assets/src/components/shared/controls/SContextMenu.css_vue_type_style_index_0_src_03921269_scoped_03921269_lang.css +1 -0
  18. package/dist/assets/src/components/shared/controls/{SDropdownMenu.css_vue_type_style_index_0_src_1ccb9efc_scoped_1ccb9efc_lang.css → SDropdownMenu.css_vue_type_style_index_0_src_857e2649_scoped_857e2649_lang.css} +1 -1
  19. package/dist/assets/src/components/shared/controls/SField.css_vue_type_style_index_0_src_2d353c26_scoped_2d353c26_lang.css +2 -0
  20. package/dist/assets/src/components/shared/controls/{SInteractiveSurface.css_vue_type_style_index_0_src_998940dd_scoped_998940dd_lang.css → SInteractiveSurface.css_vue_type_style_index_0_src_5e422fac_scoped_5e422fac_lang.css} +1 -1
  21. package/dist/assets/src/components/shared/controls/{SLink.css_vue_type_style_index_0_src_c7ae14e1_scoped_c7ae14e1_lang.css → SLink.css_vue_type_style_index_0_src_ac46e5a4_scoped_ac46e5a4_lang.css} +1 -1
  22. package/dist/assets/src/components/shared/controls/SListbox.css_vue_type_style_index_0_src_50063f9f_scoped_50063f9f_lang.css +2 -0
  23. package/dist/assets/src/components/shared/controls/{SListboxOption.css_vue_type_style_index_0_src_77c399b4_scoped_77c399b4_lang.css → SListboxOption.css_vue_type_style_index_0_src_59c9c538_scoped_59c9c538_lang.css} +1 -1
  24. package/dist/assets/src/components/shared/controls/SMenuSurface.css_vue_type_style_index_0_src_84109ad9_scoped_84109ad9_lang.css +2 -0
  25. package/dist/assets/src/components/shared/controls/SSelect.css_vue_type_style_index_0_src_df3d6688_scoped_df3d6688_lang.css +2 -0
  26. package/dist/assets/src/components/shared/controls/STextarea.css_vue_type_style_index_0_src_true_lang.css +1 -1
  27. package/dist/assets/src/components/shared/data-display/SProgressBar.css_vue_type_style_index_0_src_cad721dd_scoped_cad721dd_lang.css +2 -0
  28. package/dist/assets/src/components/shared/data-display/SRichDocument.css_vue_type_style_index_0_src_8db085d5_scoped_8db085d5_lang.css +2 -0
  29. package/dist/assets/src/components/shared/data-display/SStatus.css_vue_type_style_index_0_src_3ce41a12_scoped_3ce41a12_lang.css +1 -1
  30. package/dist/assets/src/components/shared/data-display/STable.css_vue_type_style_index_0_src_b23b3d71_scoped_b23b3d71_lang.css +2 -0
  31. package/dist/assets/src/components/shared/data-display/STooltip.css_vue_type_style_index_0_src_true_lang.css +1 -1
  32. package/dist/assets/src/components/shared/data-display/SVirtualList.css_vue_type_style_index_0_src_9fe3ade0_scoped_9fe3ade0_lang.css +2 -0
  33. package/dist/assets/src/components/shared/data-display/_internal/SRichBlockNode.css_vue_type_style_index_0_src_eaae882d_scoped_eaae882d_lang.css +2 -0
  34. package/dist/assets/src/components/shared/data-display/_internal/SRichDisclosure.css_vue_type_style_index_0_src_1f0ffc97_scoped_1f0ffc97_lang.css +2 -0
  35. package/dist/assets/src/components/shared/data-display/_internal/SRichImage.css_vue_type_style_index_0_src_2f1c39a9_scoped_2f1c39a9_lang.css +2 -0
  36. package/dist/assets/src/components/shared/data-display/_internal/{SRichInlineNode.css_vue_type_style_index_0_src_20c8cc87_scoped_20c8cc87_lang.css → SRichInlineNode.css_vue_type_style_index_0_src_3ca8df12_scoped_3ca8df12_lang.css} +1 -1
  37. package/dist/assets/src/components/shared/data-display/_internal/STableCell.css_vue_type_style_index_0_src_b829cbc6_scoped_b829cbc6_lang.css +2 -0
  38. package/dist/assets/src/components/shared/data-display/_internal/STableFrame.css_vue_type_style_index_0_src_52b5825e_scoped_52b5825e_lang.css +2 -0
  39. package/dist/assets/src/components/shared/data-display/_internal/STableRow.css_vue_type_style_index_0_src_1661f8b8_scoped_1661f8b8_lang.css +2 -0
  40. package/dist/assets/src/components/shared/feedback/SAsyncState.css_vue_type_style_index_0_src_8a291af7_scoped_8a291af7_lang.css +2 -0
  41. package/dist/assets/src/components/shared/navigation/{SBottomNav.vue_vue_type_style_index_0_scoped_b3963080_lang.css → SBottomNav.vue_vue_type_style_index_0_scoped_24be0f2b_lang.css} +1 -1
  42. package/dist/index.d.ts +1 -0
  43. package/dist/index.js +3 -3
  44. package/dist/reference.css +4 -0
  45. package/dist/src/components/icons/_internal/generatedSputnigUiIconComponents.d.ts +15 -0
  46. package/dist/src/components/icons/_internal/generatedSputnigUiIconComponents.js +4 -4
  47. package/dist/src/components/icons/_internal/generatedSputnigUiIconMarkup.d.ts +46 -1
  48. package/dist/src/components/icons/_internal/generatedSputnigUiIconMarkup.js +260 -230
  49. package/dist/src/components/icons/sputnigUiIcons.d.ts +1 -1
  50. package/dist/src/components/icons/sputnigUiIcons.js +233 -218
  51. package/dist/src/components/layout/SAppShell.vue_vue_type_script_setup_true_lang.js +8 -8
  52. package/dist/src/components/layout/SDockRegion.vue.d.ts +18 -5
  53. package/dist/src/components/layout/SDockRegion.vue.js +2 -2
  54. package/dist/src/components/layout/SDockRegion.vue_vue_type_script_setup_true_lang.js +112 -64
  55. package/dist/src/components/layout/SResizeHandle.vue.d.ts +6 -3
  56. package/dist/src/components/layout/SResizeHandle.vue.js +2 -2
  57. package/dist/src/components/layout/SResizeHandle.vue_vue_type_script_setup_true_lang.js +125 -87
  58. package/dist/src/components/layout/SStack.vue.d.ts +1 -1
  59. package/dist/src/components/layout/SWorkbenchPanelShell.vue.d.ts +4 -4
  60. package/dist/src/components/layout/SWorkbenchPanelShell.vue.js +2 -2
  61. package/dist/src/components/layout/SWorkbenchPanelShell.vue_vue_type_script_setup_true_lang.js +62 -58
  62. package/dist/src/components/layout/types.d.ts +20 -0
  63. package/dist/src/components/shared/_internal/SDialogSurface.vue.js +2 -2
  64. package/dist/src/components/shared/_internal/SDialogSurface.vue_vue_type_script_setup_true_lang.js +64 -41
  65. package/dist/src/components/shared/_internal/SHeaderSurface.vue.d.ts +1 -1
  66. package/dist/src/components/shared/_internal/SListboxGroup.vue.d.ts +5 -0
  67. package/dist/src/components/shared/_internal/SListboxGroup.vue.js +2 -2
  68. package/dist/src/components/shared/_internal/SListboxGroup.vue_vue_type_script_setup_true_lang.js +33 -15
  69. package/dist/src/components/shared/_internal/SMenuLayer.vue.d.ts +5 -1
  70. package/dist/src/components/shared/_internal/SMenuLayer.vue.js +2 -2
  71. package/dist/src/components/shared/_internal/SMenuLayer.vue_vue_type_script_setup_true_lang.js +64 -20
  72. package/dist/src/components/shared/_internal/dialogSurface.d.ts +15 -2
  73. package/dist/src/components/shared/_internal/dialogSurface.js +39 -23
  74. package/dist/src/components/shared/_internal/listboxContext.d.ts +1 -0
  75. package/dist/src/components/shared/_internal/listboxInventory.d.ts +51 -0
  76. package/dist/src/components/shared/_internal/listboxInventory.js +85 -0
  77. package/dist/src/components/shared/_internal/menuContext.d.ts +8 -0
  78. package/dist/src/components/shared/_internal/menuContext.js +2 -2
  79. package/dist/src/components/shared/_internal/sidebarGroupContext.d.ts +1 -0
  80. package/dist/src/components/shared/_internal/useVirtualCollection.d.ts +45 -0
  81. package/dist/src/components/shared/_internal/useVirtualCollection.js +123 -0
  82. package/dist/src/components/shared/complex/SKanbanLane.vue_vue_type_script_setup_true_lang.js +5 -5
  83. package/dist/src/components/shared/containers/SCloudChrome.vue.d.ts +1 -1
  84. package/dist/src/components/shared/containers/SCloudChromeRow.vue.d.ts +1 -1
  85. package/dist/src/components/shared/containers/SDrawer.vue.d.ts +12 -1
  86. package/dist/src/components/shared/containers/SDrawer.vue.js +2 -2
  87. package/dist/src/components/shared/containers/SDrawer.vue_vue_type_script_setup_true_lang.js +151 -53
  88. package/dist/src/components/shared/containers/SModal.vue.js +2 -2
  89. package/dist/src/components/shared/containers/SModal.vue_vue_type_script_setup_true_lang.js +78 -54
  90. package/dist/src/components/shared/containers/SOverlayHost.vue.d.ts +16 -0
  91. package/dist/src/components/shared/containers/SOverlayHost.vue.js +8 -0
  92. package/dist/src/components/shared/containers/SOverlayHost.vue_vue_type_script_setup_true_lang.js +65 -0
  93. package/dist/src/components/shared/containers/SPageHeader.vue.d.ts +1 -1
  94. package/dist/src/components/shared/containers/SPanel.vue.d.ts +1 -1
  95. package/dist/src/components/shared/containers/SPanel.vue_vue_type_script_setup_true_lang.js +7 -7
  96. package/dist/src/components/shared/containers/SPopover.vue.js +2 -2
  97. package/dist/src/components/shared/containers/SPopover.vue_vue_type_script_setup_true_lang.js +214 -145
  98. package/dist/src/components/shared/containers/SSidebarGroup.vue.js +2 -2
  99. package/dist/src/components/shared/containers/SSidebarGroup.vue_vue_type_script_setup_true_lang.js +30 -8
  100. package/dist/src/components/shared/containers/SSidebarSection.vue.js +2 -2
  101. package/dist/src/components/shared/containers/SSidebarSection.vue_vue_type_script_setup_true_lang.js +58 -45
  102. package/dist/src/components/shared/controls/SButton.vue.d.ts +7 -0
  103. package/dist/src/components/shared/controls/SButton.vue.js +2 -2
  104. package/dist/src/components/shared/controls/SButton.vue_vue_type_script_setup_true_lang.js +11 -5
  105. package/dist/src/components/shared/controls/SCheckbox.vue.d.ts +3 -0
  106. package/dist/src/components/shared/controls/SCheckbox.vue.js +2 -2
  107. package/dist/src/components/shared/controls/SCheckbox.vue_vue_type_script_setup_true_lang.js +45 -41
  108. package/dist/src/components/shared/controls/SCheckboxGroup.vue_vue_type_script_setup_true_lang.js +7 -7
  109. package/dist/src/components/shared/controls/SChoiceCards.vue_vue_type_script_setup_true_lang.js +4 -4
  110. package/dist/src/components/shared/controls/SColorSelect.vue_vue_type_script_setup_true_lang.js +6 -6
  111. package/dist/src/components/shared/controls/SCombobox.vue.js +2 -2
  112. package/dist/src/components/shared/controls/SCombobox.vue_vue_type_script_setup_true_lang.js +147 -132
  113. package/dist/src/components/shared/controls/SComboboxTrigger.vue.d.ts +2 -2
  114. package/dist/src/components/shared/controls/SContextMenu.vue.d.ts +11 -0
  115. package/dist/src/components/shared/controls/SContextMenu.vue.js +2 -2
  116. package/dist/src/components/shared/controls/SContextMenu.vue_vue_type_script_setup_true_lang.js +144 -59
  117. package/dist/src/components/shared/controls/SContextToggleButton.vue_vue_type_script_setup_true_lang.js +6 -6
  118. package/dist/src/components/shared/controls/SDragHandle.vue_vue_type_script_setup_true_lang.js +5 -5
  119. package/dist/src/components/shared/controls/SDropdownMenu.vue.js +2 -2
  120. package/dist/src/components/shared/controls/SDropdownMenu.vue_vue_type_script_setup_true_lang.js +82 -75
  121. package/dist/src/components/shared/controls/SField.vue.d.ts +9 -6
  122. package/dist/src/components/shared/controls/SField.vue.js +2 -2
  123. package/dist/src/components/shared/controls/SField.vue_vue_type_script_setup_true_lang.js +69 -52
  124. package/dist/src/components/shared/controls/SFieldGroup.vue_vue_type_script_setup_true_lang.js +13 -13
  125. package/dist/src/components/shared/controls/SInlineTokenEditor.vue_vue_type_script_setup_true_lang.js +26 -26
  126. package/dist/src/components/shared/controls/SInputText.vue_vue_type_script_setup_true_lang.js +21 -21
  127. package/dist/src/components/shared/controls/SInteractiveSurface.vue.js +2 -2
  128. package/dist/src/components/shared/controls/SInteractiveSurface.vue_vue_type_script_setup_true_lang.js +99 -74
  129. package/dist/src/components/shared/controls/SLink.d.ts +11 -1
  130. package/dist/src/components/shared/controls/SLink.vue.d.ts +17 -1
  131. package/dist/src/components/shared/controls/SLink.vue.js +2 -2
  132. package/dist/src/components/shared/controls/SLink.vue_vue_type_script_setup_true_lang.js +157 -62
  133. package/dist/src/components/shared/controls/SListbox.vue.d.ts +10 -1
  134. package/dist/src/components/shared/controls/SListbox.vue.js +2 -2
  135. package/dist/src/components/shared/controls/SListbox.vue_vue_type_script_setup_true_lang.js +371 -189
  136. package/dist/src/components/shared/controls/SListboxOption.vue.d.ts +6 -0
  137. package/dist/src/components/shared/controls/SListboxOption.vue.js +2 -2
  138. package/dist/src/components/shared/controls/SListboxOption.vue_vue_type_script_setup_true_lang.js +47 -34
  139. package/dist/src/components/shared/controls/SMenuSurface.vue.d.ts +2 -2
  140. package/dist/src/components/shared/controls/SMenuSurface.vue.js +2 -2
  141. package/dist/src/components/shared/controls/SMenuSurface.vue_vue_type_script_setup_true_lang.js +147 -121
  142. package/dist/src/components/shared/controls/SRange.vue_vue_type_script_setup_true_lang.js +12 -12
  143. package/dist/src/components/shared/controls/SSelect.vue.js +2 -2
  144. package/dist/src/components/shared/controls/SSelect.vue_vue_type_script_setup_true_lang.js +126 -116
  145. package/dist/src/components/shared/controls/STextarea.d.ts +1 -1
  146. package/dist/src/components/shared/controls/STextarea.vue.d.ts +28 -2
  147. package/dist/src/components/shared/controls/STextarea.vue_vue_type_script_setup_true_lang.js +348 -209
  148. package/dist/src/components/shared/controls/_internal/SInlineTokenSurface.vue_vue_type_script_lang.js +36 -36
  149. package/dist/src/components/shared/data-display/SActionList.vue.d.ts +1 -1
  150. package/dist/src/components/shared/data-display/SActionListItem.vue.d.ts +4 -4
  151. package/dist/src/components/shared/data-display/SActionListItem.vue_vue_type_script_setup_true_lang.js +6 -6
  152. package/dist/src/components/shared/data-display/SBadge.vue.d.ts +1 -1
  153. package/dist/src/components/shared/data-display/SChart.vue_vue_type_script_setup_true_lang.js +89 -89
  154. package/dist/src/components/shared/data-display/SChip.vue.d.ts +1 -1
  155. package/dist/src/components/shared/data-display/SChip.vue_vue_type_script_setup_true_lang.js +7 -7
  156. package/dist/src/components/shared/data-display/SCodeBlock.vue_vue_type_script_setup_true_lang.js +19 -19
  157. package/dist/src/components/shared/data-display/SCodeEditor.vue_vue_type_script_setup_true_lang.js +37 -37
  158. package/dist/src/components/shared/data-display/SCodeSearchPanel.vue_vue_type_script_setup_true_lang.js +17 -17
  159. package/dist/src/components/shared/data-display/SCodeWorkspaceEditor.vue_vue_type_script_setup_true_lang.js +12 -12
  160. package/dist/src/components/shared/data-display/SControlledToastViewport.vue_vue_type_script_setup_true_lang.js +4 -4
  161. package/dist/src/components/shared/data-display/SDiffViewer.vue_vue_type_script_setup_true_lang.js +13 -13
  162. package/dist/src/components/shared/data-display/SDocBlock.vue_vue_type_script_setup_true_lang.js +12 -12
  163. package/dist/src/components/shared/data-display/SEmptyState.vue.d.ts +1 -1
  164. package/dist/src/components/shared/data-display/SEmptyState.vue_vue_type_script_setup_true_lang.js +4 -4
  165. package/dist/src/components/shared/data-display/SExpandableText.vue_vue_type_script_setup_true_lang.js +7 -7
  166. package/dist/src/components/shared/data-display/SKeyValueGrid.vue_vue_type_script_setup_true_lang.js +15 -15
  167. package/dist/src/components/shared/data-display/SLinkedSystemsList.vue_vue_type_script_setup_true_lang.js +17 -17
  168. package/dist/src/components/shared/data-display/SMessage.vue.d.ts +1 -1
  169. package/dist/src/components/shared/data-display/SMessage.vue_vue_type_script_setup_true_lang.js +9 -9
  170. package/dist/src/components/shared/data-display/SMetricCard.vue.d.ts +1 -1
  171. package/dist/src/components/shared/data-display/SProgressBar.vue.d.ts +22 -3
  172. package/dist/src/components/shared/data-display/SProgressBar.vue.js +2 -2
  173. package/dist/src/components/shared/data-display/SProgressBar.vue_vue_type_script_setup_true_lang.js +133 -47
  174. package/dist/src/components/shared/data-display/SProgressIndicator.vue_vue_type_script_setup_true_lang.js +4 -4
  175. package/dist/src/components/shared/data-display/SRichDocument.vue.js +2 -2
  176. package/dist/src/components/shared/data-display/SRichDocument.vue_vue_type_script_setup_true_lang.js +46 -23
  177. package/dist/src/components/shared/data-display/SScrollViewport.vue_vue_type_script_setup_true_lang.js +18 -18
  178. package/dist/src/components/shared/data-display/SSectionHeader.vue.d.ts +1 -1
  179. package/dist/src/components/shared/data-display/SStatus.vue_vue_type_script_setup_true_lang.js +4 -4
  180. package/dist/src/components/shared/data-display/STable.vue.js +2 -2
  181. package/dist/src/components/shared/data-display/STable.vue_vue_type_script_setup_true_lang.js +343 -322
  182. package/dist/src/components/shared/data-display/STooltip.vue.d.ts +2 -2
  183. package/dist/src/components/shared/data-display/STooltip.vue_vue_type_script_setup_true_lang.js +181 -154
  184. package/dist/src/components/shared/data-display/STooltipAnchor.vue_vue_type_script_setup_true_lang.js +5 -5
  185. package/dist/src/components/shared/data-display/STooltipTarget.vue_vue_type_script_setup_true_lang.js +4 -4
  186. package/dist/src/components/shared/data-display/SVirtualList.vue.js +2 -2
  187. package/dist/src/components/shared/data-display/SVirtualList.vue_vue_type_script_setup_true_lang.js +196 -246
  188. package/dist/src/components/shared/data-display/_internal/SRichBlockNode.vue.js +2 -2
  189. package/dist/src/components/shared/data-display/_internal/SRichBlockNode.vue_vue_type_script_setup_true_lang.js +242 -220
  190. package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue.d.ts +13 -2
  191. package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue.js +2 -2
  192. package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue_vue_type_script_setup_true_lang.js +67 -11
  193. package/dist/src/components/shared/data-display/_internal/SRichImage.vue.d.ts +11 -0
  194. package/dist/src/components/shared/data-display/_internal/SRichImage.vue.js +8 -0
  195. package/dist/src/components/shared/data-display/_internal/SRichImage.vue_vue_type_script_setup_true_lang.js +89 -0
  196. package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue.d.ts +3 -2
  197. package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue.js +2 -2
  198. package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue_vue_type_script_setup_true_lang.js +179 -125
  199. package/dist/src/components/shared/data-display/_internal/SRichMath.vue_vue_type_script_setup_true_lang.js +4 -4
  200. package/dist/src/components/shared/data-display/_internal/SRichTableNode.vue.d.ts +21 -0
  201. package/dist/src/components/shared/data-display/_internal/SRichTableNode.vue.js +5 -0
  202. package/dist/src/components/shared/data-display/_internal/SRichTableNode.vue_vue_type_script_setup_true_lang.js +150 -0
  203. package/dist/src/components/shared/data-display/_internal/STableCell.vue.d.ts +52 -0
  204. package/dist/src/components/shared/data-display/_internal/STableCell.vue.js +8 -0
  205. package/dist/src/components/shared/data-display/_internal/STableCell.vue_vue_type_script_setup_true_lang.js +148 -0
  206. package/dist/src/components/shared/data-display/_internal/STableFrame.vue.d.ts +42 -0
  207. package/dist/src/components/shared/data-display/_internal/STableFrame.vue.js +8 -0
  208. package/dist/src/components/shared/data-display/_internal/STableFrame.vue_vue_type_script_setup_true_lang.js +98 -0
  209. package/dist/src/components/shared/data-display/_internal/STableRow.vue.d.ts +43 -0
  210. package/dist/src/components/shared/data-display/_internal/STableRow.vue.js +8 -0
  211. package/dist/src/components/shared/data-display/_internal/STableRow.vue_vue_type_script_setup_true_lang.js +115 -0
  212. package/dist/src/components/shared/data-display/_internal/STableSection.vue.d.ts +28 -0
  213. package/dist/src/components/shared/data-display/_internal/STableSection.vue.js +5 -0
  214. package/dist/src/components/shared/data-display/_internal/STableSection.vue_vue_type_script_setup_true_lang.js +77 -0
  215. package/dist/src/components/shared/data-display/_internal/richDocumentMedia.d.ts +6 -0
  216. package/dist/src/components/shared/data-display/_internal/richDocumentMedia.js +136 -0
  217. package/dist/src/components/shared/data-display/_internal/richDocumentMetadata.d.ts +21 -0
  218. package/dist/src/components/shared/data-display/_internal/richDocumentMetadata.js +39 -0
  219. package/dist/src/components/shared/data-display/_internal/richDocumentNavigation.d.ts +30 -0
  220. package/dist/src/components/shared/data-display/_internal/richDocumentNavigation.js +88 -0
  221. package/dist/src/components/shared/data-display/_internal/richDocumentTableValidation.d.ts +9 -0
  222. package/dist/src/components/shared/data-display/_internal/richDocumentTableValidation.js +240 -0
  223. package/dist/src/components/shared/data-display/_internal/richDocumentTraversal.d.ts +15 -0
  224. package/dist/src/components/shared/data-display/_internal/richDocumentTraversal.js +61 -0
  225. package/dist/src/components/shared/data-display/_internal/richDocumentTypes.d.ts +466 -0
  226. package/dist/src/components/shared/data-display/_internal/richDocumentValidation.d.ts +65 -0
  227. package/dist/src/components/shared/data-display/_internal/richDocumentValidation.js +192 -0
  228. package/dist/src/components/shared/data-display/_internal/tableFoundation.d.ts +27 -0
  229. package/dist/src/components/shared/data-display/_internal/tableFoundation.js +16 -0
  230. package/dist/src/components/shared/data-display/richDocument.d.ts +3 -220
  231. package/dist/src/components/shared/data-display/richDocument.js +607 -399
  232. package/dist/src/components/shared/database/SDataGrid.vue_vue_type_script_setup_true_lang.js +36 -36
  233. package/dist/src/components/shared/database/SSqlEditor.vue.d.ts +2 -2
  234. package/dist/src/components/shared/database/SSqlEditor.vue_vue_type_script_setup_true_lang.js +36 -36
  235. package/dist/src/components/shared/feedback/SAsyncState.vue.js +2 -2
  236. package/dist/src/components/shared/feedback/SAsyncState.vue_vue_type_script_setup_true_lang.js +70 -63
  237. package/dist/src/components/shared/navigation/SBottomNav.vue.d.ts +2 -2
  238. package/dist/src/components/shared/navigation/SBottomNav.vue.js +2 -2
  239. package/dist/src/components/shared/navigation/SBottomNav.vue_vue_type_script_setup_true_lang.js +138 -129
  240. package/dist/src/components/shared/navigation/SBreadcrumbs.vue.d.ts +2 -2
  241. package/dist/src/components/shared/navigation/STabPanel.vue.d.ts +2 -2
  242. package/dist/src/components/shared/navigation/SWizardSteps.vue_vue_type_script_setup_true_lang.js +16 -16
  243. package/dist/src/components/shared/persona/SPersonaProjectPicker.vue.d.ts +2 -2
  244. package/dist/src/composables/useDialogOverlay.d.ts +11 -2
  245. package/dist/src/composables/useDialogOverlay.js +202 -44
  246. package/dist/src/composables/useFloatingPosition.d.ts +20 -0
  247. package/dist/src/composables/useFloatingPosition.js +129 -52
  248. package/dist/src/internal/fieldSurface.d.ts +3 -0
  249. package/dist/src/internal/fieldSurface.js +3 -2
  250. package/dist/src/internal/focusNavigation.d.ts +2 -0
  251. package/dist/src/internal/focusNavigation.js +9 -9
  252. package/dist/src/internal/layerStack.d.ts +12 -0
  253. package/dist/src/internal/layerStack.js +138 -62
  254. package/dist/src/internal/linkTarget.d.ts +7 -1
  255. package/dist/src/internal/linkTarget.js +11 -7
  256. package/dist/src/internal/overlayHost.d.ts +18 -0
  257. package/dist/src/internal/overlayHost.js +18 -0
  258. package/dist/src/internal/ownedAttrs.d.ts +13 -3
  259. package/dist/src/internal/ownedAttrs.js +8 -1
  260. package/dist/src/internal/runtimeContract.d.ts +2 -0
  261. package/dist/src/internal/runtimeContract.js +10 -5
  262. package/dist/src/internal/useMenuLayer.d.ts +7 -4
  263. package/dist/src/internal/useMenuLayer.js +72 -49
  264. package/dist/tailwind.css +3 -0
  265. package/dist/typography.LICENSE.txt +94 -0
  266. package/dist/typography.js +5150 -0
  267. package/docs/getting-started.md +39 -0
  268. package/docs/link-download.md +114 -0
  269. package/docs/listbox.md +129 -0
  270. package/docs/public-api.md +196 -4
  271. package/docs/resize.md +129 -0
  272. package/docs/rich-document.md +442 -25
  273. package/package.json +12 -4
  274. package/src/components/shared/_internal/SDialogSurface.css +39 -7
  275. package/src/components/shared/_internal/SMenuLayer.css +4 -0
  276. package/src/components/shared/containers/SDrawer.css +20 -2
  277. package/src/components/shared/containers/SOverlayHost.css +14 -0
  278. package/src/components/shared/containers/SPopover.css +8 -2
  279. package/src/components/shared/controls/SButton.css +4 -0
  280. package/src/components/shared/controls/SField.css +6 -0
  281. package/src/components/shared/controls/SListbox.css +17 -0
  282. package/src/components/shared/controls/SMenuSurface.css +18 -4
  283. package/src/components/shared/controls/STextarea.css +42 -3
  284. package/src/components/shared/data-display/SProgressBar.css +79 -0
  285. package/src/components/shared/data-display/SRichDocument.css +1 -0
  286. package/src/components/shared/data-display/SStatus.css +8 -25
  287. package/src/components/shared/data-display/STable.css +0 -113
  288. package/src/components/shared/data-display/STooltip.css +4 -1
  289. package/src/components/shared/data-display/_internal/SRichBlockNode.css +11 -7
  290. package/src/components/shared/data-display/_internal/SRichDisclosure.css +16 -0
  291. package/src/components/shared/data-display/_internal/SRichImage.css +37 -0
  292. package/src/components/shared/data-display/_internal/STableCell.css +55 -0
  293. package/src/components/shared/data-display/_internal/STableFrame.css +41 -0
  294. package/src/components/shared/data-display/_internal/STableRow.css +12 -0
  295. package/src/components/shared/feedback/SAsyncState.css +0 -4
  296. package/src/styles/style.css +9 -5
  297. package/src/styles/tokens.css +30 -0
  298. package/dist/assets/src/components/layout/SDockRegion.vue_vue_type_style_index_0_scoped_2932631d_lang.css +0 -1
  299. package/dist/assets/src/components/shared/_internal/SDialogSurface.css_vue_type_style_index_0_src_d1b65adf_scoped_d1b65adf_lang.css +0 -2
  300. package/dist/assets/src/components/shared/_internal/SMenuLayer.css_vue_type_style_index_0_src_4913bbe1_scoped_4913bbe1_lang.css +0 -1
  301. package/dist/assets/src/components/shared/containers/SDrawer.css_vue_type_style_index_0_src_091d7325_scoped_091d7325_lang.css +0 -2
  302. package/dist/assets/src/components/shared/containers/SPopover.css_vue_type_style_index_0_src_deded766_scoped_deded766_lang.css +0 -2
  303. package/dist/assets/src/components/shared/containers/SSidebarSection.css_vue_type_style_index_0_src_96f51ac6_scoped_96f51ac6_lang.css +0 -2
  304. package/dist/assets/src/components/shared/controls/SButton.css_vue_type_style_index_0_src_a5d8f7e0_scoped_a5d8f7e0_lang.css +0 -2
  305. package/dist/assets/src/components/shared/controls/SCombobox.css_vue_type_style_index_0_src_e3b4f580_scoped_e3b4f580_lang.css +0 -2
  306. package/dist/assets/src/components/shared/controls/SContextMenu.css_vue_type_style_index_0_src_00c91d39_scoped_00c91d39_lang.css +0 -1
  307. package/dist/assets/src/components/shared/controls/SField.css_vue_type_style_index_0_src_60628f96_scoped_60628f96_lang.css +0 -2
  308. package/dist/assets/src/components/shared/controls/SListbox.css_vue_type_style_index_0_src_24db4abb_scoped_24db4abb_lang.css +0 -2
  309. package/dist/assets/src/components/shared/controls/SMenuSurface.css_vue_type_style_index_0_src_ddcc5fbb_scoped_ddcc5fbb_lang.css +0 -2
  310. package/dist/assets/src/components/shared/controls/SSelect.css_vue_type_style_index_0_src_441648c9_scoped_441648c9_lang.css +0 -2
  311. package/dist/assets/src/components/shared/data-display/SProgressBar.css_vue_type_style_index_0_src_9308293a_scoped_9308293a_lang.css +0 -2
  312. package/dist/assets/src/components/shared/data-display/SRichDocument.css_vue_type_style_index_0_src_d1afafc5_scoped_d1afafc5_lang.css +0 -2
  313. package/dist/assets/src/components/shared/data-display/STable.css_vue_type_style_index_0_src_9955d482_scoped_9955d482_lang.css +0 -2
  314. package/dist/assets/src/components/shared/data-display/SVirtualList.css_vue_type_style_index_0_src_cee8c247_scoped_cee8c247_lang.css +0 -2
  315. package/dist/assets/src/components/shared/data-display/_internal/SRichBlockNode.css_vue_type_style_index_0_src_195d5c06_scoped_195d5c06_lang.css +0 -2
  316. package/dist/assets/src/components/shared/data-display/_internal/SRichDisclosure.css_vue_type_style_index_0_src_fa94e2ff_scoped_fa94e2ff_lang.css +0 -2
  317. package/dist/assets/src/components/shared/feedback/SAsyncState.css_vue_type_style_index_0_src_bfc28903_scoped_bfc28903_lang.css +0 -2
@@ -1,15 +1,16 @@
1
1
  import { registerLayer as e } from "../../../internal/layerStack.js";
2
- import { useFloatingPosition as t } from "../../../composables/useFloatingPosition.js";
3
- import { useUiKitLocale as n } from "../../../composables/useUiKitLocale.js";
4
- import { useOwnedAttrs as ee } from "../../../internal/ownedAttrs.js";
5
- import { validateBoolean as r, validateDomId as te, validateExactString as i, validateNonEmptyString as a } from "../../../internal/runtimeContract.js";
2
+ import { useOverlayAdmission as t } from "../../../internal/overlayHost.js";
3
+ import { validateBoolean as n, validateDomId as ee, validateExactString as r, validateNonEmptyString as i } from "../../../internal/runtimeContract.js";
4
+ import { useFloatingPosition as te } from "../../../composables/useFloatingPosition.js";
5
+ import { useUiKitLocale as ne } from "../../../composables/useUiKitLocale.js";
6
+ import { useOwnedAttrs as a } from "../../../internal/ownedAttrs.js";
6
7
  import { selectionKeyToken as o } from "../_internal/useSelectionRoving.js";
7
- import { isSelectionModelList as ne, resolveSelectionInventory as s, validateOptionalSelectionString as c, validateSelectionModel as l } from "../_internal/selectionContract.js";
8
- import u from "./SListbox.vue.js";
9
- import d from "./SInputText.vue.js";
10
- import { Fragment as f, Teleport as re, computed as p, createBlock as m, createCommentVNode as h, createElementBlock as g, createElementVNode as _, createVNode as v, defineComponent as y, mergeProps as ie, nextTick as b, normalizeStyle as x, onBeforeUnmount as S, openBlock as C, shallowRef as w, unref as T, useId as E, watch as D } from "vue";
8
+ import { isSelectionModelList as s, resolveSelectionInventory as c, validateOptionalSelectionString as l, validateSelectionModel as u } from "../_internal/selectionContract.js";
9
+ import d from "./SListbox.vue.js";
10
+ import re from "./SInputText.vue.js";
11
+ import { Fragment as ie, Teleport as ae, computed as f, createBlock as oe, createCommentVNode as p, createElementBlock as m, createElementVNode as h, createVNode as g, defineComponent as _, mergeProps as v, nextTick as y, normalizeStyle as se, onBeforeUnmount as ce, openBlock as b, shallowRef as x, unref as S, useId as C, watch as w, watchEffect as T } from "vue";
11
12
  //#region src/components/shared/controls/SCombobox.vue?vue&type=script&setup=true&lang.ts
12
- var O = /*@__PURE__*/ y({
13
+ var E = /*@__PURE__*/ _({
13
14
  inheritAttrs: !1,
14
15
  __name: "SCombobox",
15
16
  props: {
@@ -46,46 +47,49 @@ var O = /*@__PURE__*/ y({
46
47
  }
47
48
  },
48
49
  emits: ["update:modelValue", "update:search"],
49
- setup(y, { emit: O }) {
50
- let k = y, { t: A } = n(), j = O, M = ee({
50
+ setup(_, { emit: E }) {
51
+ let D = _, { t: O } = ne(), k = E, A = a({
51
52
  component: "SCombobox",
52
53
  owner: "editable combobox input"
53
- }), N = E(), P = w(null), F = w(null), I = w(!1), L = w(null), R = w("var(--s-layer-root-floating)"), z = null, B = p(() => k.id === void 0 ? `s-combobox-${N}` : te("SCombobox", "id", k.id)), V = p(() => `${B.value}-listbox`), H = p(() => {
54
- if (typeof k.search != "string") throw TypeError("SCombobox: search must be a string");
55
- return k.search;
56
- }), U = p(() => ({
57
- filterMode: i("SCombobox", "filterMode", k.filterMode, ["local", "manual"]),
58
- placeholder: a("SCombobox", "placeholder", k.placeholder ?? A("forms.searchPlaceholder")),
59
- disabled: r("SCombobox", "disabled", k.disabled),
60
- readonly: r("SCombobox", "readonly", k.readonly),
61
- required: r("SCombobox", "required", k.required),
62
- invalid: r("SCombobox", "invalid", k.invalid),
63
- emptyLabel: a("SCombobox", "emptyLabel", k.emptyLabel ?? A("forms.noOptions")),
64
- size: i("SCombobox", "size", k.size, [
54
+ }), le = C(), j = x(null), M = x(null), N = x(!1), P = t(), F = x(null), I = x("var(--s-layer-root-floating)"), L = null, R = 0, z = f(() => D.id === void 0 ? `s-combobox-${le}` : ee("SCombobox", "id", D.id)), B = f(() => `${z.value}-listbox`), V = f(() => {
55
+ if (typeof D.search != "string") throw TypeError("SCombobox: search must be a string");
56
+ return D.search;
57
+ }), H = f(() => ({
58
+ filterMode: r("SCombobox", "filterMode", D.filterMode, ["local", "manual"]),
59
+ placeholder: i("SCombobox", "placeholder", D.placeholder ?? O("forms.searchPlaceholder")),
60
+ disabled: n("SCombobox", "disabled", D.disabled),
61
+ readonly: n("SCombobox", "readonly", D.readonly),
62
+ required: n("SCombobox", "required", D.required),
63
+ invalid: n("SCombobox", "invalid", D.invalid),
64
+ emptyLabel: i("SCombobox", "emptyLabel", D.emptyLabel ?? O("forms.noOptions")),
65
+ size: r("SCombobox", "size", D.size, [
65
66
  "sm",
66
67
  "md",
67
68
  "lg"
68
69
  ]),
69
- allowCustomValue: r("SCombobox", "allowCustomValue", k.allowCustomValue),
70
- label: c("SCombobox", "label", k.label),
71
- helpText: c("SCombobox", "helpText", k.helpText),
72
- errorMessage: c("SCombobox", "errorMessage", k.errorMessage)
73
- })), W = p(() => {
74
- let e = s("SCombobox", k.options);
75
- return U.value.allowCustomValue && typeof k.modelValue == "string" ? o("SCombobox", k.modelValue, "modelValue") : l("SCombobox", "single", k.modelValue, e), e;
70
+ allowCustomValue: n("SCombobox", "allowCustomValue", D.allowCustomValue),
71
+ label: l("SCombobox", "label", D.label),
72
+ helpText: l("SCombobox", "helpText", D.helpText),
73
+ errorMessage: l("SCombobox", "errorMessage", D.errorMessage)
74
+ })), U = f(() => {
75
+ let e = c("SCombobox", D.options);
76
+ return H.value.allowCustomValue && typeof D.modelValue == "string" ? o("SCombobox", D.modelValue, "modelValue") : u("SCombobox", "single", D.modelValue, e), e;
76
77
  });
77
- function G(e) {
78
+ T(() => {
79
+ U.value;
80
+ });
81
+ function W(e) {
78
82
  return e.entries.map((e) => e.kind === "option" ? e.record.option : {
79
83
  groupId: e.groupId,
80
84
  label: e.label,
81
85
  options: e.records.map((e) => e.option)
82
86
  });
83
87
  }
84
- let K = p(() => {
85
- let e = W.value;
86
- if (U.value.filterMode === "manual") return G(e);
87
- let t = H.value.trim().toLocaleLowerCase();
88
- return t.length === 0 ? G(e) : e.entries.flatMap((e) => {
88
+ let G = f(() => {
89
+ let e = U.value;
90
+ if (H.value.filterMode === "manual") return W(e);
91
+ let t = V.value.trim().toLocaleLowerCase();
92
+ return t.length === 0 ? W(e) : e.entries.flatMap((e) => {
89
93
  if (e.kind === "option") return `${e.record.option.label} ${e.record.option.title ?? ""}`.toLocaleLowerCase().includes(t) ? [e.record.option] : [];
90
94
  let n = e.records.filter((e) => `${e.option.label} ${e.option.title ?? ""}`.toLocaleLowerCase().includes(t));
91
95
  return n.length === 0 ? [] : [{
@@ -94,73 +98,82 @@ var O = /*@__PURE__*/ y({
94
98
  options: n.map((e) => e.option)
95
99
  }];
96
100
  });
97
- }), q = p(() => s("SCombobox filtered options", K.value)), J = p(() => {
98
- if (k.modelValue === null) return null;
99
- let e = o("SCombobox", k.modelValue, "modelValue");
100
- return q.value.optionsByToken.has(e) ? k.modelValue : null;
101
- }), ae = p(() => {
102
- let e = M.bindings()["aria-label"];
103
- return typeof e == "string" ? a("SCombobox", "aria-label", e) : U.value.label ?? U.value.placeholder;
104
- }), oe = p(() => {
105
- if (!I.value || L.value === null) return;
106
- let e = o("SCombobox", L.value, "activeValue");
107
- if (q.value.optionsByToken.has(e)) return `${V.value}-option-${encodeURIComponent(e)}`;
101
+ }), K = f(() => c("SCombobox filtered options", G.value)), ue = f(() => {
102
+ if (D.modelValue === null) return null;
103
+ let e = o("SCombobox", D.modelValue, "modelValue");
104
+ return K.value.optionsByToken.has(e) ? D.modelValue : null;
105
+ }), de = f(() => {
106
+ let e = A.bindings()["aria-label"];
107
+ return typeof e == "string" ? i("SCombobox", "aria-label", e) : H.value.label ?? H.value.placeholder;
108
+ }), fe = f(() => {
109
+ if (!N.value || F.value === null) return;
110
+ let e = o("SCombobox", F.value, "activeValue");
111
+ if (K.value.optionsByToken.has(e)) return `${B.value}-option-${encodeURIComponent(e)}`;
108
112
  });
109
- D(H, () => {
110
- L.value = null, I.value && b(() => F.value?.initializeActive());
113
+ w(V, () => {
114
+ F.value = null, N.value && $();
115
+ }, { flush: "sync" }), w(P, (e) => {
116
+ e || Z("retire");
111
117
  }, { flush: "sync" });
112
- let { anchorRef: Y, panelRef: X, floatingStyle: se } = t({
113
- active: I,
118
+ let { anchorRef: q, panelRef: J, floatingStyle: pe } = te({
119
+ active: N,
114
120
  placement: () => "bottom-start",
115
121
  widthMatch: () => "exact",
116
- zIndex: () => R.value
122
+ zIndex: () => I.value
117
123
  });
118
- function ce() {
119
- if (!U.value.allowCustomValue) return null;
120
- let e = H.value.trim();
124
+ function Y() {
125
+ if (!H.value.allowCustomValue) return null;
126
+ let e = V.value.trim();
121
127
  if (e.length === 0) return null;
122
- if (k.modelValue !== null) {
123
- let t = o("SCombobox", k.modelValue, "modelValue");
124
- if (W.value.optionsByToken.get(t)?.option.label.trim() === e || typeof k.modelValue == "string" && k.modelValue === e) return null;
128
+ if (D.modelValue !== null) {
129
+ let t = o("SCombobox", D.modelValue, "modelValue");
130
+ if (U.value.optionsByToken.get(t)?.option.label.trim() === e || typeof D.modelValue == "string" && D.modelValue === e) return null;
125
131
  }
126
132
  return e;
127
133
  }
128
- function Z() {
129
- let e = ce();
130
- return e !== null && (j("update:modelValue", e), j("update:search", String(e)), !0);
134
+ function X() {
135
+ let e = Y();
136
+ return e !== null && (k("update:modelValue", e), k("update:search", String(e)), !0);
131
137
  }
132
- function le() {
133
- let e = P.value;
138
+ function me() {
139
+ let e = j.value;
134
140
  if (!e) throw Error("SCombobox: SInputText API is unavailable");
135
141
  return e.getElement();
136
142
  }
137
- function Q(e) {
138
- I.value && ((e === "tab" || e === "outside") && Z(), I.value = !1, L.value = null, z?.unregister({ restoreFocus: !1 }), z = null, R.value = "var(--s-layer-root-floating)");
143
+ function Z(e) {
144
+ R += 1, N.value && ((e === "tab" || e === "outside") && X(), N.value = !1, F.value = null, L?.unregister({ restoreFocus: !1 }), L = null, I.value = "var(--s-layer-root-floating)");
139
145
  }
140
- async function $() {
141
- if (W.value, U.value.disabled || U.value.readonly || I.value) return;
142
- let t = le();
143
- I.value = !0, z = e({
146
+ async function Q() {
147
+ if (U.value, H.value.disabled || H.value.readonly || N.value || !P.value) return;
148
+ let t = me(), n = ++R;
149
+ N.value = !0, L = e({
144
150
  kind: "listbox",
145
- root: () => X.value,
146
- anchor: () => Y.value,
151
+ root: () => J.value,
152
+ anchor: () => q.value,
147
153
  restoreTarget: t,
148
- requestDismiss: (e) => Q(e === "escape" ? "escape" : "outside")
149
- }), R.value = z.zIndex, await b(), F.value?.initializeActive();
154
+ requestDismiss: (e) => Z(e === "escape" ? "escape" : "outside"),
155
+ onRetire: () => Z("retire")
156
+ }), I.value = L.zIndex, await y(), N.value && P.value && R === n && M.value?.initializeActive();
157
+ }
158
+ function $() {
159
+ let e = R;
160
+ y(() => {
161
+ N.value && P.value && R === e && M.value?.initializeActive();
162
+ });
150
163
  }
151
- function ue(e) {
152
- j("update:search", e), L.value = null, I.value ? b(() => F.value?.initializeActive()) : $();
164
+ function he(e) {
165
+ k("update:search", e), F.value = null, N.value ? $() : Q();
153
166
  }
154
- function de(e) {
155
- if (ne(e)) throw TypeError("SCombobox: selection update must be a single key or null");
156
- if (l("SCombobox update", "single", e, W.value), j("update:modelValue", e), e !== null) {
157
- let t = o("SCombobox", e, "selected value"), n = W.value.optionsByToken.get(t);
167
+ function ge(e) {
168
+ if (s(e)) throw TypeError("SCombobox: selection update must be a single key or null");
169
+ if (u("SCombobox update", "single", e, U.value), k("update:modelValue", e), e !== null) {
170
+ let t = o("SCombobox", e, "selected value"), n = U.value.optionsByToken.get(t);
158
171
  if (!n) throw Error("SCombobox: selected option identity is stale");
159
- j("update:search", n.option.label);
172
+ k("update:search", n.option.label);
160
173
  }
161
- Q("selection");
174
+ Z("selection");
162
175
  }
163
- async function fe(e) {
176
+ async function _e(e) {
164
177
  let t = {
165
178
  ArrowDown: "next",
166
179
  ArrowUp: "previous",
@@ -168,53 +181,55 @@ var O = /*@__PURE__*/ y({
168
181
  End: "last"
169
182
  }[e.key];
170
183
  if (t) {
171
- e.preventDefault();
172
- let n = I.value;
173
- if (await $(), await b(), !n && (t === "next" || t === "previous")) return;
174
- F.value?.moveActive(t);
184
+ if (e.preventDefault(), N.value && M.value !== null) {
185
+ M.value.moveActive(t);
186
+ return;
187
+ }
188
+ if (await Q(), await y(), !N.value || !P.value || t === "next" || t === "previous") return;
189
+ M.value?.moveActive(t);
175
190
  return;
176
191
  }
177
- if (e.key === "Enter" && I.value) {
178
- e.preventDefault(), L.value === null ? Z() && Q("selection") : F.value?.selectActive();
192
+ if (e.key === "Enter" && N.value) {
193
+ e.preventDefault(), F.value === null ? X() && Z("selection") : M.value?.selectActive();
179
194
  return;
180
195
  }
181
- if (e.key === "Escape" && I.value) {
182
- e.preventDefault(), Q("escape");
196
+ if (e.key === "Escape" && N.value) {
197
+ e.preventDefault(), Z("escape");
183
198
  return;
184
199
  }
185
- e.key === "Tab" && Q("tab");
200
+ e.key === "Tab" && Z("tab");
186
201
  }
187
- return S(() => z?.unregister({ restoreFocus: !1 })), (e, t) => (C(), g(f, null, [_("div", {
202
+ return ce(() => Z("retire")), (e, t) => (b(), m(ie, null, [h("div", {
188
203
  ref_key: "anchorRef",
189
- ref: Y,
204
+ ref: q,
190
205
  class: "s-combobox-anchor"
191
- }, [v(d, ie({
206
+ }, [g(re, v({
192
207
  ref_key: "inputRef",
193
- ref: P
194
- }, T(M).bindings(), {
195
- id: B.value,
196
- "model-value": H.value,
197
- label: y.label,
198
- placeholder: U.value.placeholder,
199
- disabled: y.disabled,
200
- readonly: y.readonly,
201
- required: y.required,
202
- invalid: y.invalid,
203
- "error-message": y.errorMessage,
204
- "help-text": y.helpText,
205
- size: y.size,
208
+ ref: j
209
+ }, S(A).bindings(), {
210
+ id: z.value,
211
+ "model-value": V.value,
212
+ label: _.label,
213
+ placeholder: H.value.placeholder,
214
+ disabled: _.disabled,
215
+ readonly: _.readonly,
216
+ required: _.required,
217
+ invalid: _.invalid,
218
+ "error-message": _.errorMessage,
219
+ "help-text": _.helpText,
220
+ size: _.size,
206
221
  type: "search",
207
222
  autocomplete: "off",
208
223
  role: "combobox",
209
224
  "aria-haspopup": "listbox",
210
225
  "aria-autocomplete": "list",
211
- "aria-expanded": I.value,
212
- "aria-controls": V.value,
213
- "aria-activedescendant": oe.value,
214
- "onUpdate:modelValue": ue,
215
- onFocus: $,
216
- onClick: $,
217
- onKeydown: fe
226
+ "aria-expanded": N.value,
227
+ "aria-controls": B.value,
228
+ "aria-activedescendant": fe.value,
229
+ "onUpdate:modelValue": he,
230
+ onFocus: Q,
231
+ onClick: Q,
232
+ onKeydown: _e
218
233
  }), null, 16, [
219
234
  "id",
220
235
  "model-value",
@@ -230,27 +245,27 @@ var O = /*@__PURE__*/ y({
230
245
  "aria-expanded",
231
246
  "aria-controls",
232
247
  "aria-activedescendant"
233
- ])], 512), (C(), m(re, { to: "body" }, [I.value ? (C(), g("div", {
248
+ ])], 512), (b(), oe(ae, { to: "body" }, [N.value && S(P) ? (b(), m("div", {
234
249
  key: 0,
235
250
  ref_key: "panelRef",
236
- ref: X,
237
- style: x(T(se)),
251
+ ref: J,
252
+ style: se(S(pe)),
238
253
  class: "s-combobox-layer"
239
- }, [v(u, {
254
+ }, [g(d, {
240
255
  ref_key: "listboxRef",
241
- ref: F,
242
- id: V.value,
243
- "model-value": J.value,
244
- options: K.value,
245
- label: ae.value,
246
- disabled: y.disabled,
247
- readonly: y.readonly,
248
- invalid: y.invalid,
249
- "empty-label": U.value.emptyLabel,
256
+ ref: M,
257
+ id: B.value,
258
+ "model-value": ue.value,
259
+ options: G.value,
260
+ label: de.value,
261
+ disabled: _.disabled,
262
+ readonly: _.readonly,
263
+ invalid: _.invalid,
264
+ "empty-label": H.value.emptyLabel,
250
265
  "focus-mode": "activedescendant",
251
- "active-value": L.value,
252
- "onUpdate:modelValue": de,
253
- "onUpdate:activeValue": t[0] ||= (e) => L.value = e
266
+ "active-value": F.value,
267
+ "onUpdate:modelValue": ge,
268
+ "onUpdate:activeValue": t[0] ||= (e) => F.value = e
254
269
  }, null, 8, [
255
270
  "id",
256
271
  "model-value",
@@ -261,8 +276,8 @@ var O = /*@__PURE__*/ y({
261
276
  "invalid",
262
277
  "empty-label",
263
278
  "active-value"
264
- ])], 4)) : h("", !0)]))], 64));
279
+ ])], 4)) : p("", !0)]))], 64));
265
280
  }
266
281
  });
267
282
  //#endregion
268
- export { O as default };
283
+ export { E as default };
@@ -24,9 +24,9 @@ export interface Props {
24
24
  }
25
25
  export type SComboboxTriggerApi = InteractiveElementApi<HTMLButtonElement>;
26
26
  declare const __VLS_export: import('vue').DefineComponent<Props, SComboboxTriggerApi, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
27
- toggle: (event: KeyboardEvent | MouseEvent) => any;
27
+ toggle: (event: MouseEvent | KeyboardEvent) => any;
28
28
  }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
29
- onToggle?: ((event: KeyboardEvent | MouseEvent) => any) | undefined;
29
+ onToggle?: ((event: MouseEvent | KeyboardEvent) => any) | undefined;
30
30
  }>, {
31
31
  required: boolean;
32
32
  title: string;
@@ -7,6 +7,8 @@ export interface Props {
7
7
  trigger?: 'contextmenu' | 'click' | 'both';
8
8
  boundaryLayout?: 'block' | 'inline' | 'contents';
9
9
  }
10
+ /** Original admitted pointer/keyboard event, emitted synchronously before interception or menu focus. preventDefault cancels opening. */
11
+ export type SContextMenuBeforeOpenEvent = MouseEvent | KeyboardEvent;
10
12
  /**
11
13
  * ARIA-связь canonical trigger с принадлежащим ему context-menu layer.
12
14
  * ARIA relationship between the canonical trigger and its owned context-menu layer.
@@ -17,16 +19,25 @@ export interface SContextMenuTriggerProps {
17
19
  readonly 'aria-controls'?: string;
18
20
  readonly onKeydown?: (event: KeyboardEvent) => void;
19
21
  }
22
+ /** Native textbox relationship and context-menu keys without button-only aria-expanded or arrow-key activation. */
23
+ export interface SContextMenuTextInputTriggerProps {
24
+ readonly 'aria-haspopup'?: 'menu';
25
+ readonly 'aria-controls'?: string;
26
+ readonly onKeydown?: (event: KeyboardEvent) => void;
27
+ }
20
28
  type __VLS_Slots = {
21
29
  /** Canonical interactive owner получает готовые ARIA props. / The canonical interactive owner receives complete ARIA props. */
22
30
  default?: (props: {
23
31
  triggerProps: SContextMenuTriggerProps;
32
+ textInputTriggerProps: SContextMenuTextInputTriggerProps;
24
33
  }) => VNodeChild;
25
34
  };
26
35
  declare const __VLS_base: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
27
36
  select: (entry: SMenuSelectableEntry, event: SMenuActivationEvent) => any;
37
+ "before-open": (event: SContextMenuBeforeOpenEvent) => any;
28
38
  }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
29
39
  onSelect?: ((entry: SMenuSelectableEntry, event: SMenuActivationEvent) => any) | undefined;
40
+ "onBefore-open"?: ((event: SContextMenuBeforeOpenEvent) => any) | undefined;
30
41
  }>, {
31
42
  enabled: boolean;
32
43
  trigger: "contextmenu" | "click" | "both";
@@ -1,8 +1,8 @@
1
- import "../../../../assets/src/components/shared/controls/SContextMenu.css_vue_type_style_index_0_src_00c91d39_scoped_00c91d39_lang.css";
1
+ import "../../../../assets/src/components/shared/controls/SContextMenu.css_vue_type_style_index_0_src_03921269_scoped_03921269_lang.css";
2
2
  import e from "../../../../_virtual/_plugin-vue_export-helper.js";
3
3
  import t from "./SContextMenu.vue_vue_type_script_setup_true_lang.js";
4
4
  /* empty css */
5
5
  //#region src/components/shared/controls/SContextMenu.vue
6
- var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-00c91d39"]]);
6
+ var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-03921269"]]);
7
7
  //#endregion
8
8
  export { n as default };