@pgcorp/ui-kit 0.13.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/README.md +1055 -31
  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_dc65aba1_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_a108e8f1_scoped_a108e8f1_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/{SCollapsiblePanel.css_vue_type_style_index_0_src_71824088_scoped_71824088_lang.css → SCollapsiblePanel.css_vue_type_style_index_0_src_db85261d_scoped_db85261d_lang.css} +1 -1
  9. package/dist/assets/src/components/shared/containers/SOverlayHost.css_vue_type_style_index_0_src_09215628_scoped_09215628_lang.css +2 -0
  10. package/dist/assets/src/components/shared/containers/SPopover.css_vue_type_style_index_0_src_a4f1f64a_scoped_a4f1f64a_lang.css +2 -0
  11. 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
  12. package/dist/assets/src/components/shared/containers/SSidebarSection.css_vue_type_style_index_0_src_52396e42_scoped_52396e42_lang.css +2 -0
  13. package/dist/assets/src/components/shared/controls/SButton.css_vue_type_style_index_0_src_7a5acda9_scoped_7a5acda9_lang.css +2 -0
  14. package/dist/assets/src/components/shared/controls/SCheckbox.css_vue_type_style_index_0_src_2562f916_scoped_2562f916_lang.css +2 -0
  15. package/dist/assets/src/components/shared/controls/SCombobox.css_vue_type_style_index_0_src_d630c922_scoped_d630c922_lang.css +2 -0
  16. package/dist/assets/src/components/shared/controls/SContextMenu.css_vue_type_style_index_0_src_43b6e378_scoped_43b6e378_lang.css +1 -0
  17. package/dist/assets/src/components/shared/controls/{SDropdownMenu.css_vue_type_style_index_0_src_1ccb9efc_scoped_1ccb9efc_lang.css → SDropdownMenu.css_vue_type_style_index_0_src_40040ae5_scoped_40040ae5_lang.css} +1 -1
  18. package/dist/assets/src/components/shared/controls/SField.css_vue_type_style_index_0_src_2d353c26_scoped_2d353c26_lang.css +2 -0
  19. 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
  20. 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
  21. package/dist/assets/src/components/shared/controls/SListbox.css_vue_type_style_index_0_src_50063f9f_scoped_50063f9f_lang.css +2 -0
  22. 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
  23. package/dist/assets/src/components/shared/controls/SMenuSurface.css_vue_type_style_index_0_src_d2b7d71b_scoped_d2b7d71b_lang.css +2 -0
  24. package/dist/assets/src/components/shared/controls/SSelect.css_vue_type_style_index_0_src_d1ead6c0_scoped_d1ead6c0_lang.css +2 -0
  25. package/dist/assets/src/components/shared/controls/STextarea.css_vue_type_style_index_0_src_true_lang.css +1 -1
  26. package/dist/assets/src/components/shared/data-display/SControlledToastViewport.css_vue_type_style_index_0_src_a69aa84b_scoped_a69aa84b_lang.css +2 -0
  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/SScrollViewport.css_vue_type_style_index_0_src_d94fcf8c_scoped_d94fcf8c_lang.css +2 -0
  30. package/dist/assets/src/components/shared/data-display/SStatus.css_vue_type_style_index_0_src_3ce41a12_scoped_3ce41a12_lang.css +1 -1
  31. package/dist/assets/src/components/shared/data-display/STable.css_vue_type_style_index_0_src_b23b3d71_scoped_b23b3d71_lang.css +2 -0
  32. package/dist/assets/src/components/shared/data-display/STooltip.css_vue_type_style_index_0_src_true_lang.css +1 -1
  33. package/dist/assets/src/components/shared/data-display/SVirtualList.css_vue_type_style_index_0_src_9fe3ade0_scoped_9fe3ade0_lang.css +2 -0
  34. package/dist/assets/src/components/shared/data-display/_internal/SRichBlockNode.css_vue_type_style_index_0_src_eaae882d_scoped_eaae882d_lang.css +2 -0
  35. package/dist/assets/src/components/shared/data-display/_internal/SRichDisclosure.css_vue_type_style_index_0_src_1f0ffc97_scoped_1f0ffc97_lang.css +2 -0
  36. package/dist/assets/src/components/shared/data-display/_internal/SRichImage.css_vue_type_style_index_0_src_2f1c39a9_scoped_2f1c39a9_lang.css +2 -0
  37. 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
  38. package/dist/assets/src/components/shared/data-display/_internal/STableCell.css_vue_type_style_index_0_src_b829cbc6_scoped_b829cbc6_lang.css +2 -0
  39. package/dist/assets/src/components/shared/data-display/_internal/STableFrame.css_vue_type_style_index_0_src_914bad28_scoped_914bad28_lang.css +2 -0
  40. package/dist/assets/src/components/shared/data-display/_internal/STableRow.css_vue_type_style_index_0_src_1661f8b8_scoped_1661f8b8_lang.css +2 -0
  41. package/dist/assets/src/components/shared/feedback/SAsyncState.css_vue_type_style_index_0_src_8a291af7_scoped_8a291af7_lang.css +2 -0
  42. package/dist/assets/src/components/shared/navigation/{SBottomNav.vue_vue_type_style_index_0_scoped_b3963080_lang.css → SBottomNav.vue_vue_type_style_index_0_scoped_68cf84b3_lang.css} +1 -1
  43. package/dist/index.d.ts +1 -0
  44. package/dist/index.js +3 -3
  45. package/dist/reference.css +4 -0
  46. package/dist/src/components/icons/_internal/generatedSputnigUiIconComponents.d.ts +15 -0
  47. package/dist/src/components/icons/_internal/generatedSputnigUiIconComponents.js +4 -4
  48. package/dist/src/components/icons/_internal/generatedSputnigUiIconMarkup.d.ts +46 -1
  49. package/dist/src/components/icons/_internal/generatedSputnigUiIconMarkup.js +260 -230
  50. package/dist/src/components/icons/sputnigUiIcons.d.ts +1 -1
  51. package/dist/src/components/icons/sputnigUiIcons.js +233 -218
  52. package/dist/src/components/layout/SAppShell.vue_vue_type_script_setup_true_lang.js +8 -8
  53. package/dist/src/components/layout/SDockRegion.vue.d.ts +18 -5
  54. package/dist/src/components/layout/SDockRegion.vue.js +2 -2
  55. package/dist/src/components/layout/SDockRegion.vue_vue_type_script_setup_true_lang.js +112 -64
  56. package/dist/src/components/layout/SResizeHandle.vue.d.ts +6 -3
  57. package/dist/src/components/layout/SResizeHandle.vue.js +2 -2
  58. package/dist/src/components/layout/SResizeHandle.vue_vue_type_script_setup_true_lang.js +127 -87
  59. package/dist/src/components/layout/SStack.vue.d.ts +1 -1
  60. package/dist/src/components/layout/SWorkbenchPanelShell.vue.d.ts +4 -4
  61. package/dist/src/components/layout/SWorkbenchPanelShell.vue.js +2 -2
  62. package/dist/src/components/layout/SWorkbenchPanelShell.vue_vue_type_script_setup_true_lang.js +62 -58
  63. package/dist/src/components/layout/types.d.ts +20 -0
  64. package/dist/src/components/shared/_internal/SDialogSurface.vue.d.ts +9 -1
  65. package/dist/src/components/shared/_internal/SDialogSurface.vue.js +2 -2
  66. package/dist/src/components/shared/_internal/SDialogSurface.vue_vue_type_script_setup_true_lang.js +183 -68
  67. package/dist/src/components/shared/_internal/SHeaderSurface.vue.d.ts +1 -1
  68. package/dist/src/components/shared/_internal/SListboxGroup.vue.d.ts +5 -0
  69. package/dist/src/components/shared/_internal/SListboxGroup.vue.js +2 -2
  70. package/dist/src/components/shared/_internal/SListboxGroup.vue_vue_type_script_setup_true_lang.js +33 -15
  71. package/dist/src/components/shared/_internal/SMenuLayer.vue.d.ts +5 -1
  72. package/dist/src/components/shared/_internal/SMenuLayer.vue.js +2 -2
  73. package/dist/src/components/shared/_internal/SMenuLayer.vue_vue_type_script_setup_true_lang.js +64 -20
  74. package/dist/src/components/shared/_internal/dialogSurface.d.ts +17 -2
  75. package/dist/src/components/shared/_internal/dialogSurface.js +42 -23
  76. package/dist/src/components/shared/_internal/dialogSurfaceMotion.d.ts +14 -0
  77. package/dist/src/components/shared/_internal/dialogSurfaceMotion.js +84 -0
  78. package/dist/src/components/shared/_internal/focusTrap.js +15 -13
  79. package/dist/src/components/shared/_internal/listboxContext.d.ts +1 -0
  80. package/dist/src/components/shared/_internal/listboxInventory.d.ts +51 -0
  81. package/dist/src/components/shared/_internal/listboxInventory.js +85 -0
  82. package/dist/src/components/shared/_internal/menuContext.d.ts +8 -0
  83. package/dist/src/components/shared/_internal/menuContext.js +2 -2
  84. package/dist/src/components/shared/_internal/sidebarGroupContext.d.ts +1 -0
  85. package/dist/src/components/shared/_internal/useVirtualCollection.d.ts +45 -0
  86. package/dist/src/components/shared/_internal/useVirtualCollection.js +123 -0
  87. package/dist/src/components/shared/complex/SKanbanLane.vue_vue_type_script_setup_true_lang.js +5 -5
  88. package/dist/src/components/shared/containers/SCloudChrome.vue.d.ts +1 -1
  89. package/dist/src/components/shared/containers/SCloudChromeRow.vue.d.ts +1 -1
  90. package/dist/src/components/shared/containers/SCollapsiblePanel.vue.d.ts +5 -0
  91. package/dist/src/components/shared/containers/SCollapsiblePanel.vue.js +2 -2
  92. package/dist/src/components/shared/containers/SCollapsiblePanel.vue_vue_type_script_setup_true_lang.js +123 -121
  93. package/dist/src/components/shared/containers/SDrawer.vue.d.ts +16 -5
  94. package/dist/src/components/shared/containers/SDrawer.vue.js +3 -6
  95. package/dist/src/components/shared/containers/SDrawer.vue_vue_type_script_setup_true_lang.js +149 -75
  96. package/dist/src/components/shared/containers/SModal.vue.d.ts +8 -8
  97. package/dist/src/components/shared/containers/SModal.vue.js +3 -6
  98. package/dist/src/components/shared/containers/SModal.vue_vue_type_script_setup_true_lang.js +93 -85
  99. package/dist/src/components/shared/containers/SOverlayHost.vue.d.ts +16 -0
  100. package/dist/src/components/shared/containers/SOverlayHost.vue.js +8 -0
  101. package/dist/src/components/shared/containers/SOverlayHost.vue_vue_type_script_setup_true_lang.js +66 -0
  102. package/dist/src/components/shared/containers/SPageHeader.vue.d.ts +1 -1
  103. package/dist/src/components/shared/containers/SPanel.vue.d.ts +2 -2
  104. package/dist/src/components/shared/containers/SPanel.vue_vue_type_script_setup_true_lang.js +7 -7
  105. package/dist/src/components/shared/containers/SPopover.vue.js +2 -2
  106. package/dist/src/components/shared/containers/SPopover.vue_vue_type_script_setup_true_lang.js +250 -156
  107. package/dist/src/components/shared/containers/SSidebarGroup.vue.js +2 -2
  108. package/dist/src/components/shared/containers/SSidebarGroup.vue_vue_type_script_setup_true_lang.js +30 -8
  109. package/dist/src/components/shared/containers/SSidebarSection.vue.js +2 -2
  110. package/dist/src/components/shared/containers/SSidebarSection.vue_vue_type_script_setup_true_lang.js +59 -45
  111. package/dist/src/components/shared/controls/SButton.vue.d.ts +7 -0
  112. package/dist/src/components/shared/controls/SButton.vue.js +2 -2
  113. package/dist/src/components/shared/controls/SButton.vue_vue_type_script_setup_true_lang.js +11 -5
  114. package/dist/src/components/shared/controls/SCheckbox.vue.d.ts +3 -0
  115. package/dist/src/components/shared/controls/SCheckbox.vue.js +2 -2
  116. package/dist/src/components/shared/controls/SCheckbox.vue_vue_type_script_setup_true_lang.js +53 -43
  117. package/dist/src/components/shared/controls/SCheckboxGroup.vue_vue_type_script_setup_true_lang.js +7 -7
  118. package/dist/src/components/shared/controls/SChoiceCards.vue_vue_type_script_setup_true_lang.js +4 -4
  119. package/dist/src/components/shared/controls/SColorSelect.vue_vue_type_script_setup_true_lang.js +6 -6
  120. package/dist/src/components/shared/controls/SCombobox.vue.js +2 -2
  121. package/dist/src/components/shared/controls/SCombobox.vue_vue_type_script_setup_true_lang.js +157 -132
  122. package/dist/src/components/shared/controls/SComboboxTrigger.vue.d.ts +2 -2
  123. package/dist/src/components/shared/controls/SContextMenu.vue.d.ts +11 -0
  124. package/dist/src/components/shared/controls/SContextMenu.vue.js +2 -2
  125. package/dist/src/components/shared/controls/SContextMenu.vue_vue_type_script_setup_true_lang.js +163 -73
  126. package/dist/src/components/shared/controls/SContextToggleButton.vue_vue_type_script_setup_true_lang.js +6 -6
  127. package/dist/src/components/shared/controls/SDragHandle.vue_vue_type_script_setup_true_lang.js +5 -5
  128. package/dist/src/components/shared/controls/SDropdownMenu.vue.js +2 -2
  129. package/dist/src/components/shared/controls/SDropdownMenu.vue_vue_type_script_setup_true_lang.js +77 -65
  130. package/dist/src/components/shared/controls/SField.vue.d.ts +9 -6
  131. package/dist/src/components/shared/controls/SField.vue.js +2 -2
  132. package/dist/src/components/shared/controls/SField.vue_vue_type_script_setup_true_lang.js +69 -52
  133. package/dist/src/components/shared/controls/SFieldGroup.vue_vue_type_script_setup_true_lang.js +13 -13
  134. package/dist/src/components/shared/controls/SInlineTokenEditor.vue_vue_type_script_setup_true_lang.js +26 -26
  135. package/dist/src/components/shared/controls/SInputText.vue_vue_type_script_setup_true_lang.js +21 -21
  136. package/dist/src/components/shared/controls/SInteractiveSurface.vue.js +2 -2
  137. package/dist/src/components/shared/controls/SInteractiveSurface.vue_vue_type_script_setup_true_lang.js +99 -74
  138. package/dist/src/components/shared/controls/SLink.d.ts +11 -1
  139. package/dist/src/components/shared/controls/SLink.vue.d.ts +17 -1
  140. package/dist/src/components/shared/controls/SLink.vue.js +2 -2
  141. package/dist/src/components/shared/controls/SLink.vue_vue_type_script_setup_true_lang.js +157 -62
  142. package/dist/src/components/shared/controls/SListbox.vue.d.ts +10 -1
  143. package/dist/src/components/shared/controls/SListbox.vue.js +2 -2
  144. package/dist/src/components/shared/controls/SListbox.vue_vue_type_script_setup_true_lang.js +371 -189
  145. package/dist/src/components/shared/controls/SListboxOption.vue.d.ts +6 -0
  146. package/dist/src/components/shared/controls/SListboxOption.vue.js +2 -2
  147. package/dist/src/components/shared/controls/SListboxOption.vue_vue_type_script_setup_true_lang.js +47 -34
  148. package/dist/src/components/shared/controls/SMenuSurface.vue.d.ts +2 -2
  149. package/dist/src/components/shared/controls/SMenuSurface.vue.js +2 -2
  150. package/dist/src/components/shared/controls/SMenuSurface.vue_vue_type_script_setup_true_lang.js +145 -115
  151. package/dist/src/components/shared/controls/SRange.vue_vue_type_script_setup_true_lang.js +12 -12
  152. package/dist/src/components/shared/controls/SSelect.vue.js +2 -2
  153. package/dist/src/components/shared/controls/SSelect.vue_vue_type_script_setup_true_lang.js +130 -112
  154. package/dist/src/components/shared/controls/STextarea.d.ts +1 -1
  155. package/dist/src/components/shared/controls/STextarea.vue.d.ts +28 -2
  156. package/dist/src/components/shared/controls/STextarea.vue_vue_type_script_setup_true_lang.js +348 -209
  157. package/dist/src/components/shared/controls/_internal/SInlineTokenSurface.vue_vue_type_script_lang.js +36 -36
  158. package/dist/src/components/shared/data-display/SActionList.vue.d.ts +1 -1
  159. package/dist/src/components/shared/data-display/SActionListItem.vue.d.ts +4 -4
  160. package/dist/src/components/shared/data-display/SActionListItem.vue_vue_type_script_setup_true_lang.js +6 -6
  161. package/dist/src/components/shared/data-display/SBadge.vue.d.ts +1 -1
  162. package/dist/src/components/shared/data-display/SChart.vue_vue_type_script_setup_true_lang.js +89 -89
  163. package/dist/src/components/shared/data-display/SChip.vue.d.ts +1 -1
  164. package/dist/src/components/shared/data-display/SChip.vue_vue_type_script_setup_true_lang.js +7 -7
  165. package/dist/src/components/shared/data-display/SCodeBlock.vue_vue_type_script_setup_true_lang.js +19 -19
  166. package/dist/src/components/shared/data-display/SCodeEditor.vue_vue_type_script_setup_true_lang.js +37 -37
  167. package/dist/src/components/shared/data-display/SCodeSearchPanel.vue_vue_type_script_setup_true_lang.js +17 -17
  168. package/dist/src/components/shared/data-display/SCodeWorkspaceEditor.vue_vue_type_script_setup_true_lang.js +12 -12
  169. package/dist/src/components/shared/data-display/SControlledToastViewport.vue.js +2 -2
  170. package/dist/src/components/shared/data-display/SControlledToastViewport.vue_vue_type_script_setup_true_lang.js +57 -48
  171. package/dist/src/components/shared/data-display/SDiffViewer.vue_vue_type_script_setup_true_lang.js +13 -13
  172. package/dist/src/components/shared/data-display/SDocBlock.vue_vue_type_script_setup_true_lang.js +12 -12
  173. package/dist/src/components/shared/data-display/SEmptyState.vue.d.ts +1 -1
  174. package/dist/src/components/shared/data-display/SEmptyState.vue_vue_type_script_setup_true_lang.js +4 -4
  175. package/dist/src/components/shared/data-display/SExpandableText.vue_vue_type_script_setup_true_lang.js +7 -7
  176. package/dist/src/components/shared/data-display/SKeyValueGrid.vue_vue_type_script_setup_true_lang.js +15 -15
  177. package/dist/src/components/shared/data-display/SLinkedSystemsList.vue_vue_type_script_setup_true_lang.js +17 -17
  178. package/dist/src/components/shared/data-display/SMessage.vue.d.ts +1 -1
  179. package/dist/src/components/shared/data-display/SMessage.vue_vue_type_script_setup_true_lang.js +9 -9
  180. package/dist/src/components/shared/data-display/SMetricCard.vue.d.ts +1 -1
  181. package/dist/src/components/shared/data-display/SProgressBar.vue.d.ts +22 -3
  182. package/dist/src/components/shared/data-display/SProgressBar.vue.js +2 -2
  183. package/dist/src/components/shared/data-display/SProgressBar.vue_vue_type_script_setup_true_lang.js +133 -47
  184. package/dist/src/components/shared/data-display/SProgressIndicator.vue_vue_type_script_setup_true_lang.js +4 -4
  185. package/dist/src/components/shared/data-display/SRichDocument.vue.js +2 -2
  186. package/dist/src/components/shared/data-display/SRichDocument.vue_vue_type_script_setup_true_lang.js +46 -23
  187. package/dist/src/components/shared/data-display/SScrollViewport.vue.d.ts +10 -5
  188. package/dist/src/components/shared/data-display/SScrollViewport.vue.js +2 -2
  189. package/dist/src/components/shared/data-display/SScrollViewport.vue_vue_type_script_setup_true_lang.js +162 -111
  190. package/dist/src/components/shared/data-display/SSectionHeader.vue.d.ts +1 -1
  191. package/dist/src/components/shared/data-display/SStatus.vue_vue_type_script_setup_true_lang.js +4 -4
  192. package/dist/src/components/shared/data-display/STable.vue.js +2 -2
  193. package/dist/src/components/shared/data-display/STable.vue_vue_type_script_setup_true_lang.js +343 -322
  194. package/dist/src/components/shared/data-display/STooltip.vue.d.ts +2 -2
  195. package/dist/src/components/shared/data-display/STooltip.vue_vue_type_script_setup_true_lang.js +284 -205
  196. package/dist/src/components/shared/data-display/STooltipAnchor.vue_vue_type_script_setup_true_lang.js +5 -5
  197. package/dist/src/components/shared/data-display/STooltipTarget.vue_vue_type_script_setup_true_lang.js +4 -4
  198. package/dist/src/components/shared/data-display/SVirtualList.vue.js +2 -2
  199. package/dist/src/components/shared/data-display/SVirtualList.vue_vue_type_script_setup_true_lang.js +196 -246
  200. package/dist/src/components/shared/data-display/_internal/SRichBlockNode.vue.js +2 -2
  201. package/dist/src/components/shared/data-display/_internal/SRichBlockNode.vue_vue_type_script_setup_true_lang.js +242 -220
  202. package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue.d.ts +13 -2
  203. package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue.js +2 -2
  204. package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue_vue_type_script_setup_true_lang.js +67 -11
  205. package/dist/src/components/shared/data-display/_internal/SRichImage.vue.d.ts +11 -0
  206. package/dist/src/components/shared/data-display/_internal/SRichImage.vue.js +8 -0
  207. package/dist/src/components/shared/data-display/_internal/SRichImage.vue_vue_type_script_setup_true_lang.js +89 -0
  208. package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue.d.ts +3 -2
  209. package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue.js +2 -2
  210. package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue_vue_type_script_setup_true_lang.js +179 -125
  211. package/dist/src/components/shared/data-display/_internal/SRichMath.vue_vue_type_script_setup_true_lang.js +4 -4
  212. package/dist/src/components/shared/data-display/_internal/SRichTableNode.vue.d.ts +21 -0
  213. package/dist/src/components/shared/data-display/_internal/SRichTableNode.vue.js +5 -0
  214. package/dist/src/components/shared/data-display/_internal/SRichTableNode.vue_vue_type_script_setup_true_lang.js +150 -0
  215. package/dist/src/components/shared/data-display/_internal/STableCell.vue.d.ts +52 -0
  216. package/dist/src/components/shared/data-display/_internal/STableCell.vue.js +8 -0
  217. package/dist/src/components/shared/data-display/_internal/STableCell.vue_vue_type_script_setup_true_lang.js +148 -0
  218. package/dist/src/components/shared/data-display/_internal/STableFrame.vue.d.ts +42 -0
  219. package/dist/src/components/shared/data-display/_internal/STableFrame.vue.js +8 -0
  220. package/dist/src/components/shared/data-display/_internal/STableFrame.vue_vue_type_script_setup_true_lang.js +114 -0
  221. package/dist/src/components/shared/data-display/_internal/STableRow.vue.d.ts +43 -0
  222. package/dist/src/components/shared/data-display/_internal/STableRow.vue.js +8 -0
  223. package/dist/src/components/shared/data-display/_internal/STableRow.vue_vue_type_script_setup_true_lang.js +115 -0
  224. package/dist/src/components/shared/data-display/_internal/STableSection.vue.d.ts +28 -0
  225. package/dist/src/components/shared/data-display/_internal/STableSection.vue.js +5 -0
  226. package/dist/src/components/shared/data-display/_internal/STableSection.vue_vue_type_script_setup_true_lang.js +77 -0
  227. package/dist/src/components/shared/data-display/_internal/richDocumentMedia.d.ts +6 -0
  228. package/dist/src/components/shared/data-display/_internal/richDocumentMedia.js +136 -0
  229. package/dist/src/components/shared/data-display/_internal/richDocumentMetadata.d.ts +21 -0
  230. package/dist/src/components/shared/data-display/_internal/richDocumentMetadata.js +39 -0
  231. package/dist/src/components/shared/data-display/_internal/richDocumentNavigation.d.ts +30 -0
  232. package/dist/src/components/shared/data-display/_internal/richDocumentNavigation.js +88 -0
  233. package/dist/src/components/shared/data-display/_internal/richDocumentTableValidation.d.ts +9 -0
  234. package/dist/src/components/shared/data-display/_internal/richDocumentTableValidation.js +240 -0
  235. package/dist/src/components/shared/data-display/_internal/richDocumentTraversal.d.ts +15 -0
  236. package/dist/src/components/shared/data-display/_internal/richDocumentTraversal.js +61 -0
  237. package/dist/src/components/shared/data-display/_internal/richDocumentTypes.d.ts +466 -0
  238. package/dist/src/components/shared/data-display/_internal/richDocumentValidation.d.ts +65 -0
  239. package/dist/src/components/shared/data-display/_internal/richDocumentValidation.js +192 -0
  240. package/dist/src/components/shared/data-display/_internal/tableFoundation.d.ts +27 -0
  241. package/dist/src/components/shared/data-display/_internal/tableFoundation.js +16 -0
  242. package/dist/src/components/shared/data-display/richDocument.d.ts +3 -220
  243. package/dist/src/components/shared/data-display/richDocument.js +607 -399
  244. package/dist/src/components/shared/data-display/scrollViewport.d.ts +2 -0
  245. package/dist/src/components/shared/database/SDataGrid.vue_vue_type_script_setup_true_lang.js +36 -36
  246. package/dist/src/components/shared/database/SSqlEditor.vue.d.ts +2 -2
  247. package/dist/src/components/shared/database/SSqlEditor.vue_vue_type_script_setup_true_lang.js +36 -36
  248. package/dist/src/components/shared/feedback/SAsyncState.vue.js +2 -2
  249. package/dist/src/components/shared/feedback/SAsyncState.vue_vue_type_script_setup_true_lang.js +70 -63
  250. package/dist/src/components/shared/navigation/SBottomNav.vue.d.ts +2 -2
  251. package/dist/src/components/shared/navigation/SBottomNav.vue.js +2 -2
  252. package/dist/src/components/shared/navigation/SBottomNav.vue_vue_type_script_setup_true_lang.js +140 -129
  253. package/dist/src/components/shared/navigation/SBreadcrumbs.vue.d.ts +2 -2
  254. package/dist/src/components/shared/navigation/STabList.vue.d.ts +1 -1
  255. package/dist/src/components/shared/navigation/STabPanel.vue.d.ts +2 -2
  256. package/dist/src/components/shared/navigation/SWizardSteps.vue_vue_type_script_setup_true_lang.js +16 -16
  257. package/dist/src/components/shared/persona/SPersonaProjectPicker.vue.d.ts +2 -2
  258. package/dist/src/composables/useDialogOverlay.d.ts +21 -2
  259. package/dist/src/composables/useDialogOverlay.js +275 -44
  260. package/dist/src/composables/useFloatingPosition.d.ts +20 -0
  261. package/dist/src/composables/useFloatingPosition.js +129 -52
  262. package/dist/src/internal/fieldSurface.d.ts +3 -0
  263. package/dist/src/internal/fieldSurface.js +3 -2
  264. package/dist/src/internal/flatTree.d.ts +8 -0
  265. package/dist/src/internal/flatTree.js +23 -0
  266. package/dist/src/internal/focusNavigation.d.ts +5 -0
  267. package/dist/src/internal/focusNavigation.js +29 -16
  268. package/dist/src/internal/inertLease.d.ts +8 -0
  269. package/dist/src/internal/inertLease.js +33 -0
  270. package/dist/src/internal/layerStack.d.ts +52 -0
  271. package/dist/src/internal/layerStack.js +343 -60
  272. package/dist/src/internal/linkTarget.d.ts +7 -1
  273. package/dist/src/internal/linkTarget.js +11 -7
  274. package/dist/src/internal/nativeFocus.d.ts +4 -0
  275. package/dist/src/internal/nativeFocus.js +12 -0
  276. package/dist/src/internal/overlayHost.d.ts +18 -0
  277. package/dist/src/internal/overlayHost.js +18 -0
  278. package/dist/src/internal/overlayPortal.d.ts +17 -0
  279. package/dist/src/internal/overlayPortal.js +23 -0
  280. package/dist/src/internal/ownedAttrs.d.ts +13 -3
  281. package/dist/src/internal/ownedAttrs.js +8 -1
  282. package/dist/src/internal/runtimeContract.d.ts +2 -0
  283. package/dist/src/internal/runtimeContract.js +10 -5
  284. package/dist/src/internal/semanticSizing.d.ts +2 -2
  285. package/dist/src/internal/semanticSizing.js +2 -1
  286. package/dist/src/internal/useMenuLayer.d.ts +8 -4
  287. package/dist/src/internal/useMenuLayer.js +78 -49
  288. package/dist/src/internal/viewportModality.d.ts +27 -0
  289. package/dist/src/internal/viewportModality.js +132 -0
  290. package/dist/tailwind.css +3 -0
  291. package/dist/typography.LICENSE.txt +94 -0
  292. package/dist/typography.js +5105 -0
  293. package/docs/getting-started.md +39 -0
  294. package/docs/link-download.md +114 -0
  295. package/docs/listbox.md +129 -0
  296. package/docs/overlay-lifecycle.md +195 -0
  297. package/docs/public-api.md +335 -6
  298. package/docs/resize.md +158 -0
  299. package/docs/rich-document.md +442 -25
  300. package/docs/scroll-viewport.md +30 -10
  301. package/docs/theming.md +42 -8
  302. package/package.json +12 -4
  303. package/src/components/shared/_internal/SDialogSurface.css +213 -36
  304. package/src/components/shared/_internal/SMenuLayer.css +4 -0
  305. package/src/components/shared/containers/SOverlayHost.css +14 -0
  306. package/src/components/shared/containers/SPopover.css +8 -2
  307. package/src/components/shared/controls/SButton.css +4 -3
  308. package/src/components/shared/controls/SCheckbox.css +19 -7
  309. package/src/components/shared/controls/SField.css +6 -0
  310. package/src/components/shared/controls/SListbox.css +17 -0
  311. package/src/components/shared/controls/SMenuSurface.css +18 -4
  312. package/src/components/shared/controls/STextarea.css +42 -3
  313. package/src/components/shared/data-display/SControlledToastViewport.css +2 -10
  314. package/src/components/shared/data-display/SProgressBar.css +79 -0
  315. package/src/components/shared/data-display/SRichDocument.css +1 -0
  316. package/src/components/shared/data-display/SScrollViewport.css +17 -1
  317. package/src/components/shared/data-display/SStatus.css +8 -25
  318. package/src/components/shared/data-display/STable.css +0 -113
  319. package/src/components/shared/data-display/STooltip.css +3 -0
  320. package/src/components/shared/data-display/_internal/SRichBlockNode.css +11 -7
  321. package/src/components/shared/data-display/_internal/SRichDisclosure.css +16 -0
  322. package/src/components/shared/data-display/_internal/SRichImage.css +37 -0
  323. package/src/components/shared/data-display/_internal/STableCell.css +55 -0
  324. package/src/components/shared/data-display/_internal/STableFrame.css +37 -0
  325. package/src/components/shared/data-display/_internal/STableRow.css +12 -0
  326. package/src/components/shared/feedback/SAsyncState.css +0 -4
  327. package/src/styles/style.css +9 -5
  328. package/src/styles/tokens.css +30 -0
  329. package/dist/assets/src/components/layout/SDockRegion.vue_vue_type_style_index_0_scoped_2932631d_lang.css +0 -1
  330. package/dist/assets/src/components/shared/_internal/SDialogSurface.css_vue_type_style_index_0_src_d1b65adf_scoped_d1b65adf_lang.css +0 -2
  331. package/dist/assets/src/components/shared/_internal/SMenuLayer.css_vue_type_style_index_0_src_4913bbe1_scoped_4913bbe1_lang.css +0 -1
  332. package/dist/assets/src/components/shared/containers/SDrawer.css_vue_type_style_index_0_src_091d7325_scoped_091d7325_lang.css +0 -2
  333. package/dist/assets/src/components/shared/containers/SModal.css_vue_type_style_index_0_src_0dc51b74_scoped_0dc51b74_lang.css +0 -2
  334. package/dist/assets/src/components/shared/containers/SPopover.css_vue_type_style_index_0_src_deded766_scoped_deded766_lang.css +0 -2
  335. package/dist/assets/src/components/shared/containers/SSidebarSection.css_vue_type_style_index_0_src_96f51ac6_scoped_96f51ac6_lang.css +0 -2
  336. package/dist/assets/src/components/shared/controls/SButton.css_vue_type_style_index_0_src_a5d8f7e0_scoped_a5d8f7e0_lang.css +0 -2
  337. package/dist/assets/src/components/shared/controls/SCheckbox.css_vue_type_style_index_0_src_b20b27dd_scoped_b20b27dd_lang.css +0 -2
  338. package/dist/assets/src/components/shared/controls/SCombobox.css_vue_type_style_index_0_src_e3b4f580_scoped_e3b4f580_lang.css +0 -2
  339. package/dist/assets/src/components/shared/controls/SContextMenu.css_vue_type_style_index_0_src_00c91d39_scoped_00c91d39_lang.css +0 -1
  340. package/dist/assets/src/components/shared/controls/SField.css_vue_type_style_index_0_src_60628f96_scoped_60628f96_lang.css +0 -2
  341. package/dist/assets/src/components/shared/controls/SListbox.css_vue_type_style_index_0_src_24db4abb_scoped_24db4abb_lang.css +0 -2
  342. package/dist/assets/src/components/shared/controls/SMenuSurface.css_vue_type_style_index_0_src_ddcc5fbb_scoped_ddcc5fbb_lang.css +0 -2
  343. package/dist/assets/src/components/shared/controls/SSelect.css_vue_type_style_index_0_src_441648c9_scoped_441648c9_lang.css +0 -2
  344. package/dist/assets/src/components/shared/data-display/SControlledToastViewport.css_vue_type_style_index_0_src_5864b6c6_scoped_5864b6c6_lang.css +0 -2
  345. package/dist/assets/src/components/shared/data-display/SProgressBar.css_vue_type_style_index_0_src_9308293a_scoped_9308293a_lang.css +0 -2
  346. package/dist/assets/src/components/shared/data-display/SRichDocument.css_vue_type_style_index_0_src_d1afafc5_scoped_d1afafc5_lang.css +0 -2
  347. package/dist/assets/src/components/shared/data-display/SScrollViewport.css_vue_type_style_index_0_src_e5d11342_scoped_e5d11342_lang.css +0 -2
  348. package/dist/assets/src/components/shared/data-display/STable.css_vue_type_style_index_0_src_9955d482_scoped_9955d482_lang.css +0 -2
  349. package/dist/assets/src/components/shared/data-display/SVirtualList.css_vue_type_style_index_0_src_cee8c247_scoped_cee8c247_lang.css +0 -2
  350. package/dist/assets/src/components/shared/data-display/_internal/SRichBlockNode.css_vue_type_style_index_0_src_195d5c06_scoped_195d5c06_lang.css +0 -2
  351. package/dist/assets/src/components/shared/data-display/_internal/SRichDisclosure.css_vue_type_style_index_0_src_fa94e2ff_scoped_fa94e2ff_lang.css +0 -2
  352. package/dist/assets/src/components/shared/feedback/SAsyncState.css_vue_type_style_index_0_src_bfc28903_scoped_bfc28903_lang.css +0 -2
  353. package/src/components/shared/containers/SDrawer.css +0 -69
  354. package/src/components/shared/containers/SModal.css +0 -27
@@ -1,15 +1,17 @@
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 { useOverlayPortalTarget as te } from "../../../internal/overlayPortal.js";
5
+ import { useFloatingPosition as a } from "../../../composables/useFloatingPosition.js";
6
+ import { useUiKitLocale as ne } from "../../../composables/useUiKitLocale.js";
7
+ import { useOwnedAttrs as re } from "../../../internal/ownedAttrs.js";
6
8
  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";
9
+ import { isSelectionModelList as s, resolveSelectionInventory as c, validateOptionalSelectionString as l, validateSelectionModel as u } from "../_internal/selectionContract.js";
10
+ import d from "./SListbox.vue.js";
11
+ import ie from "./SInputText.vue.js";
12
+ import { Fragment as ae, Teleport as oe, computed as f, createBlock as se, createCommentVNode as p, createElementBlock as m, createElementVNode as h, createVNode as g, defineComponent as _, mergeProps as ce, nextTick as v, normalizeStyle as le, onBeforeUnmount as ue, openBlock as y, shallowRef as b, unref as x, useId as S, watch as C, watchEffect as de } from "vue";
11
13
  //#region src/components/shared/controls/SCombobox.vue?vue&type=script&setup=true&lang.ts
12
- var O = /*@__PURE__*/ y({
14
+ var w = /*@__PURE__*/ _({
13
15
  inheritAttrs: !1,
14
16
  __name: "SCombobox",
15
17
  props: {
@@ -46,46 +48,49 @@ var O = /*@__PURE__*/ y({
46
48
  }
47
49
  },
48
50
  emits: ["update:modelValue", "update:search"],
49
- setup(y, { emit: O }) {
50
- let k = y, { t: A } = n(), j = O, M = ee({
51
+ setup(_, { emit: w }) {
52
+ let T = _, { t: E } = ne(), D = w, O = re({
51
53
  component: "SCombobox",
52
54
  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, [
55
+ }), k = S(), A = b(null), j = b(null), M = b(!1), N = t(), P = te(), F = b(null), I = b("var(--s-layer-root-floating)"), L = null, R = 0, z = f(() => T.id === void 0 ? `s-combobox-${k}` : ee("SCombobox", "id", T.id)), B = f(() => `${z.value}-listbox`), V = f(() => {
56
+ if (typeof T.search != "string") throw TypeError("SCombobox: search must be a string");
57
+ return T.search;
58
+ }), H = f(() => ({
59
+ filterMode: r("SCombobox", "filterMode", T.filterMode, ["local", "manual"]),
60
+ placeholder: i("SCombobox", "placeholder", T.placeholder ?? E("forms.searchPlaceholder")),
61
+ disabled: n("SCombobox", "disabled", T.disabled),
62
+ readonly: n("SCombobox", "readonly", T.readonly),
63
+ required: n("SCombobox", "required", T.required),
64
+ invalid: n("SCombobox", "invalid", T.invalid),
65
+ emptyLabel: i("SCombobox", "emptyLabel", T.emptyLabel ?? E("forms.noOptions")),
66
+ size: r("SCombobox", "size", T.size, [
65
67
  "sm",
66
68
  "md",
67
69
  "lg"
68
70
  ]),
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;
71
+ allowCustomValue: n("SCombobox", "allowCustomValue", T.allowCustomValue),
72
+ label: l("SCombobox", "label", T.label),
73
+ helpText: l("SCombobox", "helpText", T.helpText),
74
+ errorMessage: l("SCombobox", "errorMessage", T.errorMessage)
75
+ })), U = f(() => {
76
+ let e = c("SCombobox", T.options);
77
+ return H.value.allowCustomValue && typeof T.modelValue == "string" ? o("SCombobox", T.modelValue, "modelValue") : u("SCombobox", "single", T.modelValue, e), e;
76
78
  });
77
- function G(e) {
79
+ de(() => {
80
+ U.value;
81
+ });
82
+ function W(e) {
78
83
  return e.entries.map((e) => e.kind === "option" ? e.record.option : {
79
84
  groupId: e.groupId,
80
85
  label: e.label,
81
86
  options: e.records.map((e) => e.option)
82
87
  });
83
88
  }
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) => {
89
+ let G = f(() => {
90
+ let e = U.value;
91
+ if (H.value.filterMode === "manual") return W(e);
92
+ let t = V.value.trim().toLocaleLowerCase();
93
+ return t.length === 0 ? W(e) : e.entries.flatMap((e) => {
89
94
  if (e.kind === "option") return `${e.record.option.label} ${e.record.option.title ?? ""}`.toLocaleLowerCase().includes(t) ? [e.record.option] : [];
90
95
  let n = e.records.filter((e) => `${e.option.label} ${e.option.title ?? ""}`.toLocaleLowerCase().includes(t));
91
96
  return n.length === 0 ? [] : [{
@@ -94,73 +99,88 @@ var O = /*@__PURE__*/ y({
94
99
  options: n.map((e) => e.option)
95
100
  }];
96
101
  });
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)}`;
102
+ }), K = f(() => c("SCombobox filtered options", G.value)), fe = f(() => {
103
+ if (T.modelValue === null) return null;
104
+ let e = o("SCombobox", T.modelValue, "modelValue");
105
+ return K.value.optionsByToken.has(e) ? T.modelValue : null;
106
+ }), pe = f(() => {
107
+ let e = O.bindings()["aria-label"];
108
+ return typeof e == "string" ? i("SCombobox", "aria-label", e) : H.value.label ?? H.value.placeholder;
109
+ }), me = f(() => {
110
+ if (!M.value || F.value === null) return;
111
+ let e = o("SCombobox", F.value, "activeValue");
112
+ if (K.value.optionsByToken.has(e)) return `${B.value}-option-${encodeURIComponent(e)}`;
108
113
  });
109
- D(H, () => {
110
- L.value = null, I.value && b(() => F.value?.initializeActive());
114
+ C(V, () => {
115
+ $(), M.value && Q();
116
+ }, { flush: "sync" }), C(N, (e) => {
117
+ e || X("retire");
118
+ }, { flush: "sync" }), C(P, (e) => {
119
+ e === null && X("retire");
111
120
  }, { flush: "sync" });
112
- let { anchorRef: Y, panelRef: X, floatingStyle: se } = t({
113
- active: I,
121
+ let { anchorRef: q, panelRef: J, floatingStyle: he } = a({
122
+ active: M,
114
123
  placement: () => "bottom-start",
115
124
  widthMatch: () => "exact",
116
- zIndex: () => R.value
125
+ zIndex: () => I.value
117
126
  });
118
- function ce() {
119
- if (!U.value.allowCustomValue) return null;
120
- let e = H.value.trim();
127
+ function ge() {
128
+ if (!H.value.allowCustomValue) return null;
129
+ let e = V.value.trim();
121
130
  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;
131
+ if (T.modelValue !== null) {
132
+ let t = o("SCombobox", T.modelValue, "modelValue");
133
+ if (U.value.optionsByToken.get(t)?.option.label.trim() === e || typeof T.modelValue == "string" && T.modelValue === e) return null;
125
134
  }
126
135
  return e;
127
136
  }
128
- function Z() {
129
- let e = ce();
130
- return e !== null && (j("update:modelValue", e), j("update:search", String(e)), !0);
137
+ function Y() {
138
+ let e = ge();
139
+ return e !== null && (D("update:modelValue", e), D("update:search", String(e)), !0);
131
140
  }
132
- function le() {
133
- let e = P.value;
141
+ function _e() {
142
+ let e = A.value;
134
143
  if (!e) throw Error("SCombobox: SInputText API is unavailable");
135
144
  return e.getElement();
136
145
  }
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)");
146
+ function X(e) {
147
+ R += 1, M.value && ((e === "tab" || e === "outside") && Y(), M.value = !1, F.value = null, L?.unregister({ restoreFocus: !1 }), L = null, I.value = "var(--s-layer-root-floating)");
139
148
  }
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({
149
+ async function Z() {
150
+ if (U.value, H.value.disabled || H.value.readonly || M.value || !N.value || P.value === null) return;
151
+ let t = _e(), n = ++R;
152
+ M.value = !0, L = e({
144
153
  kind: "listbox",
145
- root: () => X.value,
146
- anchor: () => Y.value,
154
+ root: () => J.value,
155
+ anchor: () => q.value,
147
156
  restoreTarget: t,
148
- requestDismiss: (e) => Q(e === "escape" ? "escape" : "outside")
149
- }), R.value = z.zIndex, await b(), F.value?.initializeActive();
157
+ requestDismiss: (e) => X(e === "escape" ? "escape" : "outside"),
158
+ onRetire: () => X("retire")
159
+ }), I.value = L.zIndex, await v(), M.value && N.value && R === n && j.value?.initializeActive();
160
+ }
161
+ C(J, () => L?.refreshModality(), { flush: "sync" });
162
+ function Q() {
163
+ let e = R;
164
+ v(() => {
165
+ M.value && N.value && R === e && j.value?.initializeActive();
166
+ });
167
+ }
168
+ function $() {
169
+ j.value?.resetActive(), F.value = null;
150
170
  }
151
- function ue(e) {
152
- j("update:search", e), L.value = null, I.value ? b(() => F.value?.initializeActive()) : $();
171
+ function ve(e) {
172
+ $(), D("update:search", e), M.value ? Q() : Z();
153
173
  }
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);
174
+ function ye(e) {
175
+ if (s(e)) throw TypeError("SCombobox: selection update must be a single key or null");
176
+ if (u("SCombobox update", "single", e, U.value), D("update:modelValue", e), e !== null) {
177
+ let t = o("SCombobox", e, "selected value"), n = U.value.optionsByToken.get(t);
158
178
  if (!n) throw Error("SCombobox: selected option identity is stale");
159
- j("update:search", n.option.label);
179
+ D("update:search", n.option.label);
160
180
  }
161
- Q("selection");
181
+ X("selection");
162
182
  }
163
- async function fe(e) {
183
+ async function be(e) {
164
184
  let t = {
165
185
  ArrowDown: "next",
166
186
  ArrowUp: "previous",
@@ -168,53 +188,55 @@ var O = /*@__PURE__*/ y({
168
188
  End: "last"
169
189
  }[e.key];
170
190
  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);
191
+ if (e.preventDefault(), M.value && j.value !== null) {
192
+ j.value.moveActive(t);
193
+ return;
194
+ }
195
+ if (await Z(), await v(), !M.value || !N.value || t === "next" || t === "previous") return;
196
+ j.value?.moveActive(t);
175
197
  return;
176
198
  }
177
- if (e.key === "Enter" && I.value) {
178
- e.preventDefault(), L.value === null ? Z() && Q("selection") : F.value?.selectActive();
199
+ if (e.key === "Enter" && M.value) {
200
+ e.preventDefault(), F.value === null ? Y() && X("selection") : j.value?.selectActive();
179
201
  return;
180
202
  }
181
- if (e.key === "Escape" && I.value) {
182
- e.preventDefault(), Q("escape");
203
+ if (e.key === "Escape" && M.value) {
204
+ e.preventDefault(), X("escape");
183
205
  return;
184
206
  }
185
- e.key === "Tab" && Q("tab");
207
+ e.key === "Tab" && X("tab");
186
208
  }
187
- return S(() => z?.unregister({ restoreFocus: !1 })), (e, t) => (C(), g(f, null, [_("div", {
209
+ return ue(() => X("retire")), (e, t) => (y(), m(ae, null, [h("div", {
188
210
  ref_key: "anchorRef",
189
- ref: Y,
211
+ ref: q,
190
212
  class: "s-combobox-anchor"
191
- }, [v(d, ie({
213
+ }, [g(ie, ce({
192
214
  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,
215
+ ref: A
216
+ }, x(O).bindings(), {
217
+ id: z.value,
218
+ "model-value": V.value,
219
+ label: _.label,
220
+ placeholder: H.value.placeholder,
221
+ disabled: _.disabled,
222
+ readonly: _.readonly,
223
+ required: _.required,
224
+ invalid: _.invalid,
225
+ "error-message": _.errorMessage,
226
+ "help-text": _.helpText,
227
+ size: _.size,
206
228
  type: "search",
207
229
  autocomplete: "off",
208
230
  role: "combobox",
209
231
  "aria-haspopup": "listbox",
210
232
  "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
233
+ "aria-expanded": M.value,
234
+ "aria-controls": B.value,
235
+ "aria-activedescendant": me.value,
236
+ "onUpdate:modelValue": ve,
237
+ onFocus: Z,
238
+ onClick: Z,
239
+ onKeydown: be
218
240
  }), null, 16, [
219
241
  "id",
220
242
  "model-value",
@@ -230,27 +252,30 @@ var O = /*@__PURE__*/ y({
230
252
  "aria-expanded",
231
253
  "aria-controls",
232
254
  "aria-activedescendant"
233
- ])], 512), (C(), m(re, { to: "body" }, [I.value ? (C(), g("div", {
255
+ ])], 512), x(P) ? (y(), se(oe, {
256
+ key: 0,
257
+ to: x(P)
258
+ }, [M.value && x(N) ? (y(), m("div", {
234
259
  key: 0,
235
260
  ref_key: "panelRef",
236
- ref: X,
237
- style: x(T(se)),
261
+ ref: J,
262
+ style: le(x(he)),
238
263
  class: "s-combobox-layer"
239
- }, [v(u, {
264
+ }, [g(d, {
240
265
  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,
266
+ ref: j,
267
+ id: B.value,
268
+ "model-value": fe.value,
269
+ options: G.value,
270
+ label: pe.value,
271
+ disabled: _.disabled,
272
+ readonly: _.readonly,
273
+ invalid: _.invalid,
274
+ "empty-label": H.value.emptyLabel,
250
275
  "focus-mode": "activedescendant",
251
- "active-value": L.value,
252
- "onUpdate:modelValue": de,
253
- "onUpdate:activeValue": t[0] ||= (e) => L.value = e
276
+ "active-value": F.value,
277
+ "onUpdate:modelValue": ye,
278
+ "onUpdate:activeValue": t[0] ||= (e) => F.value = e
254
279
  }, null, 8, [
255
280
  "id",
256
281
  "model-value",
@@ -261,8 +286,8 @@ var O = /*@__PURE__*/ y({
261
286
  "invalid",
262
287
  "empty-label",
263
288
  "active-value"
264
- ])], 4)) : h("", !0)]))], 64));
289
+ ])], 4)) : p("", !0)], 8, ["to"])) : p("", !0)], 64));
265
290
  }
266
291
  });
267
292
  //#endregion
268
- export { O as default };
293
+ export { w 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_43b6e378_scoped_43b6e378_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-43b6e378"]]);
7
7
  //#endregion
8
8
  export { n as default };