@pgcorp/ui-kit 0.12.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 (334) hide show
  1. package/README.md +787 -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/SMenuItem.css_vue_type_style_index_0_src_af485607_scoped_af485607_lang.css +2 -0
  8. package/dist/assets/src/components/shared/_internal/SMenuLayer.css_vue_type_style_index_0_src_e478164c_scoped_e478164c_lang.css +1 -0
  9. package/dist/assets/src/components/shared/containers/{SCollapsiblePanel.css_vue_type_style_index_0_src_4882f962_scoped_4882f962_lang.css → SCollapsiblePanel.css_vue_type_style_index_0_src_71824088_scoped_71824088_lang.css} +1 -1
  10. package/dist/assets/src/components/shared/containers/SDrawer.css_vue_type_style_index_0_src_61cf20dd_scoped_61cf20dd_lang.css +2 -0
  11. package/dist/assets/src/components/shared/containers/{SModal.css_vue_type_style_index_0_src_23373daf_scoped_23373daf_lang.css → SModal.css_vue_type_style_index_0_src_42e1bd5f_scoped_42e1bd5f_lang.css} +1 -1
  12. package/dist/assets/src/components/shared/containers/SOverlayHost.css_vue_type_style_index_0_src_8f9be94e_scoped_8f9be94e_lang.css +2 -0
  13. package/dist/assets/src/components/shared/containers/SPopover.css_vue_type_style_index_0_src_4091d007_scoped_4091d007_lang.css +2 -0
  14. 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
  15. package/dist/assets/src/components/shared/containers/SSidebarSection.css_vue_type_style_index_0_src_21f71ae8_scoped_21f71ae8_lang.css +2 -0
  16. package/dist/assets/src/components/shared/controls/SButton.css_vue_type_style_index_0_src_7a5acda9_scoped_7a5acda9_lang.css +2 -0
  17. 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
  18. package/dist/assets/src/components/shared/controls/SCombobox.css_vue_type_style_index_0_src_537f5744_scoped_537f5744_lang.css +2 -0
  19. package/dist/assets/src/components/shared/controls/SContextMenu.css_vue_type_style_index_0_src_03921269_scoped_03921269_lang.css +1 -0
  20. package/dist/assets/src/components/shared/controls/{SDropdownMenu.css_vue_type_style_index_0_src_b854a89e_scoped_b854a89e_lang.css → SDropdownMenu.css_vue_type_style_index_0_src_857e2649_scoped_857e2649_lang.css} +1 -1
  21. package/dist/assets/src/components/shared/controls/SField.css_vue_type_style_index_0_src_2d353c26_scoped_2d353c26_lang.css +2 -0
  22. package/dist/assets/src/components/shared/controls/{SInputText.css_vue_type_style_index_0_src_a9c5f1aa_scoped_a9c5f1aa_lang.css → SInputText.css_vue_type_style_index_0_src_023c25d0_scoped_023c25d0_lang.css} +1 -1
  23. 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
  24. 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
  25. package/dist/assets/src/components/shared/controls/SListbox.css_vue_type_style_index_0_src_50063f9f_scoped_50063f9f_lang.css +2 -0
  26. 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
  27. package/dist/assets/src/components/shared/controls/SMenuSurface.css_vue_type_style_index_0_src_84109ad9_scoped_84109ad9_lang.css +2 -0
  28. package/dist/assets/src/components/shared/controls/SSelect.css_vue_type_style_index_0_src_df3d6688_scoped_df3d6688_lang.css +2 -0
  29. package/dist/assets/src/components/shared/controls/STextarea.css_vue_type_style_index_0_src_true_lang.css +1 -1
  30. package/dist/assets/src/components/shared/data-display/SProgressBar.css_vue_type_style_index_0_src_cad721dd_scoped_cad721dd_lang.css +2 -0
  31. package/dist/assets/src/components/shared/data-display/SRichDocument.css_vue_type_style_index_0_src_8db085d5_scoped_8db085d5_lang.css +2 -0
  32. package/dist/assets/src/components/shared/data-display/SStatus.css_vue_type_style_index_0_src_3ce41a12_scoped_3ce41a12_lang.css +1 -1
  33. package/dist/assets/src/components/shared/data-display/STable.css_vue_type_style_index_0_src_b23b3d71_scoped_b23b3d71_lang.css +2 -0
  34. package/dist/assets/src/components/shared/data-display/STooltip.css_vue_type_style_index_0_src_true_lang.css +1 -1
  35. package/dist/assets/src/components/shared/data-display/SVirtualList.css_vue_type_style_index_0_src_9fe3ade0_scoped_9fe3ade0_lang.css +2 -0
  36. package/dist/assets/src/components/shared/data-display/_internal/SRichBlockNode.css_vue_type_style_index_0_src_eaae882d_scoped_eaae882d_lang.css +2 -0
  37. package/dist/assets/src/components/shared/data-display/_internal/SRichDisclosure.css_vue_type_style_index_0_src_1f0ffc97_scoped_1f0ffc97_lang.css +2 -0
  38. package/dist/assets/src/components/shared/data-display/_internal/SRichImage.css_vue_type_style_index_0_src_2f1c39a9_scoped_2f1c39a9_lang.css +2 -0
  39. 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
  40. package/dist/assets/src/components/shared/data-display/_internal/STableCell.css_vue_type_style_index_0_src_b829cbc6_scoped_b829cbc6_lang.css +2 -0
  41. package/dist/assets/src/components/shared/data-display/_internal/STableFrame.css_vue_type_style_index_0_src_52b5825e_scoped_52b5825e_lang.css +2 -0
  42. package/dist/assets/src/components/shared/data-display/_internal/STableRow.css_vue_type_style_index_0_src_1661f8b8_scoped_1661f8b8_lang.css +2 -0
  43. package/dist/assets/src/components/shared/feedback/SAsyncState.css_vue_type_style_index_0_src_8a291af7_scoped_8a291af7_lang.css +2 -0
  44. 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
  45. package/dist/index.d.ts +1 -0
  46. package/dist/index.js +3 -3
  47. package/dist/reference.css +4 -0
  48. package/dist/src/components/icons/_internal/generatedSputnigUiIconComponents.d.ts +15 -0
  49. package/dist/src/components/icons/_internal/generatedSputnigUiIconComponents.js +4 -4
  50. package/dist/src/components/icons/_internal/generatedSputnigUiIconMarkup.d.ts +46 -1
  51. package/dist/src/components/icons/_internal/generatedSputnigUiIconMarkup.js +260 -230
  52. package/dist/src/components/icons/sputnigUiIcons.d.ts +1 -1
  53. package/dist/src/components/icons/sputnigUiIcons.js +233 -218
  54. package/dist/src/components/layout/SAppShell.vue_vue_type_script_setup_true_lang.js +8 -8
  55. package/dist/src/components/layout/SDockRegion.vue.d.ts +18 -5
  56. package/dist/src/components/layout/SDockRegion.vue.js +2 -2
  57. package/dist/src/components/layout/SDockRegion.vue_vue_type_script_setup_true_lang.js +112 -64
  58. package/dist/src/components/layout/SResizeHandle.vue.d.ts +6 -3
  59. package/dist/src/components/layout/SResizeHandle.vue.js +2 -2
  60. package/dist/src/components/layout/SResizeHandle.vue_vue_type_script_setup_true_lang.js +125 -87
  61. package/dist/src/components/layout/SStack.vue.d.ts +1 -1
  62. package/dist/src/components/layout/SWorkbenchPanelShell.vue.d.ts +4 -4
  63. package/dist/src/components/layout/SWorkbenchPanelShell.vue.js +2 -2
  64. package/dist/src/components/layout/SWorkbenchPanelShell.vue_vue_type_script_setup_true_lang.js +62 -58
  65. package/dist/src/components/layout/types.d.ts +20 -0
  66. package/dist/src/components/shared/_internal/SDialogSurface.vue.js +2 -2
  67. package/dist/src/components/shared/_internal/SDialogSurface.vue_vue_type_script_setup_true_lang.js +64 -41
  68. package/dist/src/components/shared/_internal/SHeaderSurface.vue.d.ts +1 -1
  69. package/dist/src/components/shared/_internal/SListboxGroup.vue.d.ts +5 -0
  70. package/dist/src/components/shared/_internal/SListboxGroup.vue.js +2 -2
  71. package/dist/src/components/shared/_internal/SListboxGroup.vue_vue_type_script_setup_true_lang.js +33 -15
  72. package/dist/src/components/shared/_internal/SMenuItem.vue.js +2 -2
  73. package/dist/src/components/shared/_internal/SMenuItem.vue_vue_type_script_setup_true_lang.js +88 -76
  74. package/dist/src/components/shared/_internal/SMenuLayer.vue.d.ts +5 -1
  75. package/dist/src/components/shared/_internal/SMenuLayer.vue.js +2 -2
  76. package/dist/src/components/shared/_internal/SMenuLayer.vue_vue_type_script_setup_true_lang.js +64 -20
  77. package/dist/src/components/shared/_internal/dialogSurface.d.ts +16 -3
  78. package/dist/src/components/shared/_internal/dialogSurface.js +40 -23
  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 +1 -1
  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 +60 -58
  93. package/dist/src/components/shared/containers/SDrawer.vue.d.ts +12 -1
  94. package/dist/src/components/shared/containers/SDrawer.vue.js +2 -2
  95. package/dist/src/components/shared/containers/SDrawer.vue_vue_type_script_setup_true_lang.js +151 -53
  96. package/dist/src/components/shared/containers/SModal.vue.js +2 -2
  97. package/dist/src/components/shared/containers/SModal.vue_vue_type_script_setup_true_lang.js +79 -49
  98. package/dist/src/components/shared/containers/SOverlayHost.vue.d.ts +16 -0
  99. package/dist/src/components/shared/containers/SOverlayHost.vue.js +8 -0
  100. package/dist/src/components/shared/containers/SOverlayHost.vue_vue_type_script_setup_true_lang.js +65 -0
  101. package/dist/src/components/shared/containers/SPageHeader.vue.d.ts +1 -1
  102. package/dist/src/components/shared/containers/SPanel.vue.d.ts +1 -1
  103. package/dist/src/components/shared/containers/SPanel.vue_vue_type_script_setup_true_lang.js +7 -7
  104. package/dist/src/components/shared/containers/SPopover.vue.js +2 -2
  105. package/dist/src/components/shared/containers/SPopover.vue_vue_type_script_setup_true_lang.js +214 -145
  106. package/dist/src/components/shared/containers/SSidebarGroup.vue.js +2 -2
  107. package/dist/src/components/shared/containers/SSidebarGroup.vue_vue_type_script_setup_true_lang.js +30 -8
  108. package/dist/src/components/shared/containers/SSidebarSection.vue.js +2 -2
  109. package/dist/src/components/shared/containers/SSidebarSection.vue_vue_type_script_setup_true_lang.js +58 -45
  110. package/dist/src/components/shared/controls/SButton.vue.d.ts +7 -0
  111. package/dist/src/components/shared/controls/SButton.vue.js +2 -2
  112. package/dist/src/components/shared/controls/SButton.vue_vue_type_script_setup_true_lang.js +11 -5
  113. package/dist/src/components/shared/controls/SCheckbox.vue.d.ts +3 -0
  114. package/dist/src/components/shared/controls/SCheckbox.vue.js +2 -2
  115. package/dist/src/components/shared/controls/SCheckbox.vue_vue_type_script_setup_true_lang.js +45 -41
  116. package/dist/src/components/shared/controls/SCheckboxGroup.vue_vue_type_script_setup_true_lang.js +7 -7
  117. package/dist/src/components/shared/controls/SChoiceCards.vue_vue_type_script_setup_true_lang.js +4 -4
  118. package/dist/src/components/shared/controls/SColorSelect.vue_vue_type_script_setup_true_lang.js +6 -6
  119. package/dist/src/components/shared/controls/SCombobox.vue.js +2 -2
  120. package/dist/src/components/shared/controls/SCombobox.vue_vue_type_script_setup_true_lang.js +147 -132
  121. package/dist/src/components/shared/controls/SComboboxTrigger.vue.d.ts +2 -2
  122. package/dist/src/components/shared/controls/SContextMenu.vue.d.ts +11 -0
  123. package/dist/src/components/shared/controls/SContextMenu.vue.js +2 -2
  124. package/dist/src/components/shared/controls/SContextMenu.vue_vue_type_script_setup_true_lang.js +144 -59
  125. package/dist/src/components/shared/controls/SContextToggleButton.vue_vue_type_script_setup_true_lang.js +6 -6
  126. package/dist/src/components/shared/controls/SDragHandle.vue_vue_type_script_setup_true_lang.js +5 -5
  127. package/dist/src/components/shared/controls/SDropdownMenu.vue.d.ts +15 -4
  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 +114 -71
  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.d.ts +2 -2
  136. package/dist/src/components/shared/controls/SInputText.vue.js +2 -2
  137. package/dist/src/components/shared/controls/SInputText.vue_vue_type_script_setup_true_lang.js +33 -42
  138. package/dist/src/components/shared/controls/SInteractiveSurface.vue.js +2 -2
  139. package/dist/src/components/shared/controls/SInteractiveSurface.vue_vue_type_script_setup_true_lang.js +99 -74
  140. package/dist/src/components/shared/controls/SLink.d.ts +11 -1
  141. package/dist/src/components/shared/controls/SLink.vue.d.ts +17 -1
  142. package/dist/src/components/shared/controls/SLink.vue.js +2 -2
  143. package/dist/src/components/shared/controls/SLink.vue_vue_type_script_setup_true_lang.js +157 -62
  144. package/dist/src/components/shared/controls/SListbox.vue.d.ts +10 -1
  145. package/dist/src/components/shared/controls/SListbox.vue.js +2 -2
  146. package/dist/src/components/shared/controls/SListbox.vue_vue_type_script_setup_true_lang.js +371 -189
  147. package/dist/src/components/shared/controls/SListboxOption.vue.d.ts +6 -0
  148. package/dist/src/components/shared/controls/SListboxOption.vue.js +2 -2
  149. package/dist/src/components/shared/controls/SListboxOption.vue_vue_type_script_setup_true_lang.js +47 -34
  150. package/dist/src/components/shared/controls/SMenuSurface.vue.d.ts +2 -2
  151. package/dist/src/components/shared/controls/SMenuSurface.vue.js +2 -2
  152. package/dist/src/components/shared/controls/SMenuSurface.vue_vue_type_script_setup_true_lang.js +165 -117
  153. package/dist/src/components/shared/controls/SRange.vue_vue_type_script_setup_true_lang.js +12 -12
  154. package/dist/src/components/shared/controls/SSelect.vue.js +2 -2
  155. package/dist/src/components/shared/controls/SSelect.vue_vue_type_script_setup_true_lang.js +126 -116
  156. package/dist/src/components/shared/controls/STextarea.d.ts +1 -1
  157. package/dist/src/components/shared/controls/STextarea.vue.d.ts +32 -2
  158. package/dist/src/components/shared/controls/STextarea.vue_vue_type_script_setup_true_lang.js +346 -200
  159. package/dist/src/components/shared/controls/_internal/SInlineTokenSurface.vue_vue_type_script_lang.js +36 -36
  160. package/dist/src/components/shared/controls/menu.d.ts +9 -1
  161. package/dist/src/components/shared/controls/menu.js +43 -28
  162. package/dist/src/components/shared/data-display/SActionList.vue.d.ts +1 -1
  163. package/dist/src/components/shared/data-display/SActionListItem.vue.d.ts +4 -4
  164. package/dist/src/components/shared/data-display/SActionListItem.vue_vue_type_script_setup_true_lang.js +6 -6
  165. package/dist/src/components/shared/data-display/SBadge.vue.d.ts +1 -1
  166. package/dist/src/components/shared/data-display/SChart.vue_vue_type_script_setup_true_lang.js +89 -89
  167. package/dist/src/components/shared/data-display/SChip.vue.d.ts +1 -1
  168. package/dist/src/components/shared/data-display/SChip.vue_vue_type_script_setup_true_lang.js +7 -7
  169. package/dist/src/components/shared/data-display/SCodeBlock.vue_vue_type_script_setup_true_lang.js +19 -19
  170. package/dist/src/components/shared/data-display/SCodeEditor.vue_vue_type_script_setup_true_lang.js +37 -37
  171. package/dist/src/components/shared/data-display/SCodeSearchPanel.vue_vue_type_script_setup_true_lang.js +17 -17
  172. package/dist/src/components/shared/data-display/SCodeWorkspaceEditor.vue_vue_type_script_setup_true_lang.js +12 -12
  173. package/dist/src/components/shared/data-display/SControlledToastViewport.vue_vue_type_script_setup_true_lang.js +4 -4
  174. package/dist/src/components/shared/data-display/SDiffViewer.vue_vue_type_script_setup_true_lang.js +13 -13
  175. package/dist/src/components/shared/data-display/SDocBlock.vue_vue_type_script_setup_true_lang.js +12 -12
  176. package/dist/src/components/shared/data-display/SEmptyState.vue.d.ts +1 -1
  177. package/dist/src/components/shared/data-display/SEmptyState.vue_vue_type_script_setup_true_lang.js +4 -4
  178. package/dist/src/components/shared/data-display/SExpandableText.vue_vue_type_script_setup_true_lang.js +7 -7
  179. package/dist/src/components/shared/data-display/SKeyValueGrid.vue_vue_type_script_setup_true_lang.js +15 -15
  180. package/dist/src/components/shared/data-display/SLinkedSystemsList.vue_vue_type_script_setup_true_lang.js +17 -17
  181. package/dist/src/components/shared/data-display/SMessage.vue.d.ts +1 -1
  182. package/dist/src/components/shared/data-display/SMessage.vue_vue_type_script_setup_true_lang.js +9 -9
  183. package/dist/src/components/shared/data-display/SMetricCard.vue.d.ts +1 -1
  184. package/dist/src/components/shared/data-display/SProgressBar.vue.d.ts +22 -3
  185. package/dist/src/components/shared/data-display/SProgressBar.vue.js +2 -2
  186. package/dist/src/components/shared/data-display/SProgressBar.vue_vue_type_script_setup_true_lang.js +133 -47
  187. package/dist/src/components/shared/data-display/SProgressIndicator.vue_vue_type_script_setup_true_lang.js +4 -4
  188. package/dist/src/components/shared/data-display/SRichDocument.vue.js +2 -2
  189. package/dist/src/components/shared/data-display/SRichDocument.vue_vue_type_script_setup_true_lang.js +46 -23
  190. package/dist/src/components/shared/data-display/SScrollViewport.vue_vue_type_script_setup_true_lang.js +18 -18
  191. package/dist/src/components/shared/data-display/SSectionHeader.vue.d.ts +1 -1
  192. package/dist/src/components/shared/data-display/SStatus.vue_vue_type_script_setup_true_lang.js +4 -4
  193. package/dist/src/components/shared/data-display/STable.vue.js +2 -2
  194. package/dist/src/components/shared/data-display/STable.vue_vue_type_script_setup_true_lang.js +343 -322
  195. package/dist/src/components/shared/data-display/STooltip.vue.d.ts +2 -2
  196. package/dist/src/components/shared/data-display/STooltip.vue_vue_type_script_setup_true_lang.js +181 -154
  197. package/dist/src/components/shared/data-display/STooltipAnchor.vue_vue_type_script_setup_true_lang.js +5 -5
  198. package/dist/src/components/shared/data-display/STooltipTarget.vue_vue_type_script_setup_true_lang.js +4 -4
  199. package/dist/src/components/shared/data-display/SVirtualList.vue.js +2 -2
  200. package/dist/src/components/shared/data-display/SVirtualList.vue_vue_type_script_setup_true_lang.js +196 -246
  201. package/dist/src/components/shared/data-display/_internal/SRichBlockNode.vue.js +2 -2
  202. package/dist/src/components/shared/data-display/_internal/SRichBlockNode.vue_vue_type_script_setup_true_lang.js +242 -220
  203. package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue.d.ts +13 -2
  204. package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue.js +2 -2
  205. package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue_vue_type_script_setup_true_lang.js +67 -11
  206. package/dist/src/components/shared/data-display/_internal/SRichImage.vue.d.ts +11 -0
  207. package/dist/src/components/shared/data-display/_internal/SRichImage.vue.js +8 -0
  208. package/dist/src/components/shared/data-display/_internal/SRichImage.vue_vue_type_script_setup_true_lang.js +89 -0
  209. package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue.d.ts +3 -2
  210. package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue.js +2 -2
  211. package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue_vue_type_script_setup_true_lang.js +179 -125
  212. package/dist/src/components/shared/data-display/_internal/SRichMath.vue_vue_type_script_setup_true_lang.js +4 -4
  213. package/dist/src/components/shared/data-display/_internal/SRichTableNode.vue.d.ts +21 -0
  214. package/dist/src/components/shared/data-display/_internal/SRichTableNode.vue.js +5 -0
  215. package/dist/src/components/shared/data-display/_internal/SRichTableNode.vue_vue_type_script_setup_true_lang.js +150 -0
  216. package/dist/src/components/shared/data-display/_internal/STableCell.vue.d.ts +52 -0
  217. package/dist/src/components/shared/data-display/_internal/STableCell.vue.js +8 -0
  218. package/dist/src/components/shared/data-display/_internal/STableCell.vue_vue_type_script_setup_true_lang.js +148 -0
  219. package/dist/src/components/shared/data-display/_internal/STableFrame.vue.d.ts +42 -0
  220. package/dist/src/components/shared/data-display/_internal/STableFrame.vue.js +8 -0
  221. package/dist/src/components/shared/data-display/_internal/STableFrame.vue_vue_type_script_setup_true_lang.js +98 -0
  222. package/dist/src/components/shared/data-display/_internal/STableRow.vue.d.ts +43 -0
  223. package/dist/src/components/shared/data-display/_internal/STableRow.vue.js +8 -0
  224. package/dist/src/components/shared/data-display/_internal/STableRow.vue_vue_type_script_setup_true_lang.js +115 -0
  225. package/dist/src/components/shared/data-display/_internal/STableSection.vue.d.ts +28 -0
  226. package/dist/src/components/shared/data-display/_internal/STableSection.vue.js +5 -0
  227. package/dist/src/components/shared/data-display/_internal/STableSection.vue_vue_type_script_setup_true_lang.js +77 -0
  228. package/dist/src/components/shared/data-display/_internal/richDocumentMedia.d.ts +6 -0
  229. package/dist/src/components/shared/data-display/_internal/richDocumentMedia.js +136 -0
  230. package/dist/src/components/shared/data-display/_internal/richDocumentMetadata.d.ts +21 -0
  231. package/dist/src/components/shared/data-display/_internal/richDocumentMetadata.js +39 -0
  232. package/dist/src/components/shared/data-display/_internal/richDocumentNavigation.d.ts +30 -0
  233. package/dist/src/components/shared/data-display/_internal/richDocumentNavigation.js +88 -0
  234. package/dist/src/components/shared/data-display/_internal/richDocumentTableValidation.d.ts +9 -0
  235. package/dist/src/components/shared/data-display/_internal/richDocumentTableValidation.js +240 -0
  236. package/dist/src/components/shared/data-display/_internal/richDocumentTraversal.d.ts +15 -0
  237. package/dist/src/components/shared/data-display/_internal/richDocumentTraversal.js +61 -0
  238. package/dist/src/components/shared/data-display/_internal/richDocumentTypes.d.ts +466 -0
  239. package/dist/src/components/shared/data-display/_internal/richDocumentValidation.d.ts +65 -0
  240. package/dist/src/components/shared/data-display/_internal/richDocumentValidation.js +192 -0
  241. package/dist/src/components/shared/data-display/_internal/tableFoundation.d.ts +27 -0
  242. package/dist/src/components/shared/data-display/_internal/tableFoundation.js +16 -0
  243. package/dist/src/components/shared/data-display/richDocument.d.ts +3 -220
  244. package/dist/src/components/shared/data-display/richDocument.js +607 -399
  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 +138 -129
  253. package/dist/src/components/shared/navigation/SBreadcrumbs.vue.d.ts +2 -2
  254. package/dist/src/components/shared/navigation/STabPanel.vue.d.ts +2 -2
  255. package/dist/src/components/shared/navigation/SWizardSteps.vue_vue_type_script_setup_true_lang.js +16 -16
  256. package/dist/src/components/shared/persona/SPersonaProjectPicker.vue.d.ts +2 -2
  257. package/dist/src/composables/useDialogOverlay.d.ts +12 -2
  258. package/dist/src/composables/useDialogOverlay.js +202 -41
  259. package/dist/src/composables/useFloatingPosition.d.ts +20 -0
  260. package/dist/src/composables/useFloatingPosition.js +129 -52
  261. package/dist/src/internal/fieldSurface.d.ts +3 -0
  262. package/dist/src/internal/fieldSurface.js +3 -2
  263. package/dist/src/internal/focusNavigation.d.ts +2 -0
  264. package/dist/src/internal/focusNavigation.js +9 -9
  265. package/dist/src/internal/layerStack.d.ts +12 -0
  266. package/dist/src/internal/layerStack.js +138 -62
  267. package/dist/src/internal/linkTarget.d.ts +7 -1
  268. package/dist/src/internal/linkTarget.js +11 -7
  269. package/dist/src/internal/overlayHost.d.ts +18 -0
  270. package/dist/src/internal/overlayHost.js +18 -0
  271. package/dist/src/internal/ownedAttrs.d.ts +13 -3
  272. package/dist/src/internal/ownedAttrs.js +8 -1
  273. package/dist/src/internal/runtimeContract.d.ts +2 -0
  274. package/dist/src/internal/runtimeContract.js +10 -5
  275. package/dist/src/internal/textLengthConstraints.d.ts +9 -0
  276. package/dist/src/internal/textLengthConstraints.js +18 -0
  277. package/dist/src/internal/useMenuLayer.d.ts +8 -4
  278. package/dist/src/internal/useMenuLayer.js +75 -46
  279. package/dist/tailwind.css +3 -0
  280. package/dist/typography.LICENSE.txt +94 -0
  281. package/dist/typography.js +5150 -0
  282. package/docs/getting-started.md +39 -0
  283. package/docs/link-download.md +114 -0
  284. package/docs/listbox.md +129 -0
  285. package/docs/public-api.md +208 -4
  286. package/docs/resize.md +129 -0
  287. package/docs/rich-document.md +442 -25
  288. package/package.json +12 -4
  289. package/src/components/shared/_internal/SDialogSurface.css +43 -7
  290. package/src/components/shared/_internal/SMenuItem.css +22 -1
  291. package/src/components/shared/_internal/SMenuLayer.css +4 -0
  292. package/src/components/shared/containers/SDrawer.css +20 -2
  293. package/src/components/shared/containers/SOverlayHost.css +14 -0
  294. package/src/components/shared/containers/SPopover.css +8 -2
  295. package/src/components/shared/controls/SButton.css +4 -0
  296. package/src/components/shared/controls/SField.css +6 -0
  297. package/src/components/shared/controls/SListbox.css +17 -0
  298. package/src/components/shared/controls/SMenuSurface.css +38 -4
  299. package/src/components/shared/controls/STextarea.css +42 -3
  300. package/src/components/shared/data-display/SProgressBar.css +79 -0
  301. package/src/components/shared/data-display/SRichDocument.css +1 -0
  302. package/src/components/shared/data-display/SStatus.css +8 -25
  303. package/src/components/shared/data-display/STable.css +0 -113
  304. package/src/components/shared/data-display/STooltip.css +4 -1
  305. package/src/components/shared/data-display/_internal/SRichBlockNode.css +11 -7
  306. package/src/components/shared/data-display/_internal/SRichDisclosure.css +16 -0
  307. package/src/components/shared/data-display/_internal/SRichImage.css +37 -0
  308. package/src/components/shared/data-display/_internal/STableCell.css +55 -0
  309. package/src/components/shared/data-display/_internal/STableFrame.css +41 -0
  310. package/src/components/shared/data-display/_internal/STableRow.css +12 -0
  311. package/src/components/shared/feedback/SAsyncState.css +0 -4
  312. package/src/styles/style.css +9 -5
  313. package/src/styles/tokens.css +30 -0
  314. package/dist/assets/src/components/layout/SDockRegion.vue_vue_type_style_index_0_scoped_2932631d_lang.css +0 -1
  315. package/dist/assets/src/components/shared/_internal/SDialogSurface.css_vue_type_style_index_0_src_d1b65adf_scoped_d1b65adf_lang.css +0 -2
  316. package/dist/assets/src/components/shared/_internal/SMenuItem.css_vue_type_style_index_0_src_e5bd192e_scoped_e5bd192e_lang.css +0 -2
  317. package/dist/assets/src/components/shared/_internal/SMenuLayer.css_vue_type_style_index_0_src_4913bbe1_scoped_4913bbe1_lang.css +0 -1
  318. package/dist/assets/src/components/shared/containers/SDrawer.css_vue_type_style_index_0_src_091d7325_scoped_091d7325_lang.css +0 -2
  319. package/dist/assets/src/components/shared/containers/SPopover.css_vue_type_style_index_0_src_deded766_scoped_deded766_lang.css +0 -2
  320. package/dist/assets/src/components/shared/containers/SSidebarSection.css_vue_type_style_index_0_src_96f51ac6_scoped_96f51ac6_lang.css +0 -2
  321. package/dist/assets/src/components/shared/controls/SButton.css_vue_type_style_index_0_src_a5d8f7e0_scoped_a5d8f7e0_lang.css +0 -2
  322. package/dist/assets/src/components/shared/controls/SCombobox.css_vue_type_style_index_0_src_e3b4f580_scoped_e3b4f580_lang.css +0 -2
  323. package/dist/assets/src/components/shared/controls/SContextMenu.css_vue_type_style_index_0_src_00c91d39_scoped_00c91d39_lang.css +0 -1
  324. package/dist/assets/src/components/shared/controls/SField.css_vue_type_style_index_0_src_60628f96_scoped_60628f96_lang.css +0 -2
  325. package/dist/assets/src/components/shared/controls/SListbox.css_vue_type_style_index_0_src_24db4abb_scoped_24db4abb_lang.css +0 -2
  326. package/dist/assets/src/components/shared/controls/SMenuSurface.css_vue_type_style_index_0_src_bc7c7be4_scoped_bc7c7be4_lang.css +0 -2
  327. package/dist/assets/src/components/shared/controls/SSelect.css_vue_type_style_index_0_src_441648c9_scoped_441648c9_lang.css +0 -2
  328. package/dist/assets/src/components/shared/data-display/SProgressBar.css_vue_type_style_index_0_src_9308293a_scoped_9308293a_lang.css +0 -2
  329. package/dist/assets/src/components/shared/data-display/SRichDocument.css_vue_type_style_index_0_src_d1afafc5_scoped_d1afafc5_lang.css +0 -2
  330. package/dist/assets/src/components/shared/data-display/STable.css_vue_type_style_index_0_src_9955d482_scoped_9955d482_lang.css +0 -2
  331. package/dist/assets/src/components/shared/data-display/SVirtualList.css_vue_type_style_index_0_src_cee8c247_scoped_cee8c247_lang.css +0 -2
  332. package/dist/assets/src/components/shared/data-display/_internal/SRichBlockNode.css_vue_type_style_index_0_src_195d5c06_scoped_195d5c06_lang.css +0 -2
  333. package/dist/assets/src/components/shared/data-display/_internal/SRichDisclosure.css_vue_type_style_index_0_src_fa94e2ff_scoped_fa94e2ff_lang.css +0 -2
  334. package/dist/assets/src/components/shared/feedback/SAsyncState.css_vue_type_style_index_0_src_bfc28903_scoped_bfc28903_lang.css +0 -2
@@ -1,11 +1,12 @@
1
1
  import { findFocusableOwner as e } from "../../../internal/focusNavigation.js";
2
- import { useOwnedAttrs as t } from "../../../internal/ownedAttrs.js";
3
- import { useInteractiveLeafRegistration as n } from "../../../internal/passiveContentContract.js";
4
- import { useMenuLayer as r } from "../../../internal/useMenuLayer.js";
5
- import i from "../_internal/SMenuLayer.vue.js";
6
- import { validateSMenuEntries as a } from "./menu.js";
7
- import o from "./SMenuSurface.vue.js";
8
- import { Teleport as s, Transition as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createVNode as p, defineComponent as m, mergeProps as h, openBlock as g, ref as _, renderSlot as v, unref as y, useId as b, watch as x, watchEffect as S, withCtx as C } from "vue";
2
+ import { useOverlayAdmission as t } from "../../../internal/overlayHost.js";
3
+ import { useOwnedAttrs as n } from "../../../internal/ownedAttrs.js";
4
+ import { useInteractiveLeafRegistration as r } from "../../../internal/passiveContentContract.js";
5
+ import { useMenuLayer as i } from "../../../internal/useMenuLayer.js";
6
+ import a from "../_internal/SMenuLayer.vue.js";
7
+ import { validateSMenuEntries as o } from "./menu.js";
8
+ import s from "./SMenuSurface.vue.js";
9
+ import { Teleport as c, Transition as ee, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createVNode as p, defineComponent as m, mergeProps as te, nextTick as h, onBeforeUnmount as g, onUpdated as _, openBlock as v, ref as y, renderSlot as b, unref as x, useId as ne, watch as S, watchEffect as re, withCtx as C } from "vue";
9
10
  //#region src/components/shared/controls/SContextMenu.vue?vue&type=script&setup=true&lang.ts
10
11
  var w = ["data-layout"], T = /*@__PURE__*/ m({
11
12
  inheritAttrs: !1,
@@ -19,58 +20,129 @@ var w = ["data-layout"], T = /*@__PURE__*/ m({
19
20
  trigger: { default: "contextmenu" },
20
21
  boundaryLayout: { default: "block" }
21
22
  },
22
- emits: ["select"],
23
+ emits: ["before-open", "select"],
23
24
  setup(m, { emit: T }) {
24
- let E = m, D = T, O = t({
25
+ let E = m, D = T, ie = n({
25
26
  component: "SContextMenu",
26
27
  owner: "interaction boundary root"
27
- });
28
- n({
28
+ }), O = t();
29
+ r({
29
30
  owner: "SContextMenu",
30
31
  active: () => E.enabled
31
32
  });
32
- let k = `s-context-menu-${b()}`, A = _("first"), j = _(null), M = l(() => j.value?.getElement() ?? null), { isOpen: N, position: P, zIndex: F, open: I, close: L, closeForTab: R } = r(M), z = l(() => E.enabled ? {
33
+ let k = `s-context-menu-${ne()}`, A = y("first"), j = y(null), M = y(null), N = y(null), P = y(!1), F = l(() => M.value?.getElement() ?? null), I = null, { isOpen: L, position: R, availableSize: z, zIndex: B, open: V, close: H, closeForTab: U } = i(M, { onRequestDismiss: (e) => q(e) }), W = l(() => L.value && P.value ? k : void 0), G = l(() => E.enabled ? {
34
+ "aria-haspopup": "menu",
35
+ "aria-expanded": L.value,
36
+ "aria-controls": W.value,
37
+ onKeydown: se
38
+ } : {}), K = l(() => E.enabled ? {
33
39
  "aria-haspopup": "menu",
34
- "aria-expanded": N.value,
35
- "aria-controls": k,
36
- onKeydown: V
37
- } : {}), B = async (t) => {
38
- if (!E.enabled) return;
39
- A.value = "first";
40
- let n = t.currentTarget instanceof Element ? t.currentTarget : null, r = e(t.target, n) ?? e(document.activeElement), i = t.clientX === 0 && t.clientY === 0 && t.detail === 0;
41
- await I(i && r ? {
40
+ "aria-controls": W.value,
41
+ onKeydown: oe
42
+ } : {});
43
+ function q(e = "programmatic") {
44
+ let t = I;
45
+ I = null, t?.release(), P.value = !1, H(e);
46
+ }
47
+ let J = (t) => I === t && E.enabled && O.value && j.value === t.boundary && t.boundary.isConnected && t.target.isConnected && t.boundary.contains(t.target) && (!t.focusOwner || t.focusOwner.isConnected && e(t.focusOwner) === t.focusOwner), Y = () => {
48
+ let e = I;
49
+ e && !J(e) && q("outside");
50
+ }, ae = async (e) => {
51
+ if (await h(), I !== e) return;
52
+ if (!J(e)) {
53
+ q("outside");
54
+ return;
55
+ }
56
+ if (e.phase = "mounting", A.value = e.initialFocus, await V(e.anchor, e.focusOwner), I !== e) return;
57
+ if (!J(e) || !L.value || !F.value?.isConnected) {
58
+ q("outside");
59
+ return;
60
+ }
61
+ if (P.value = !0, await h(), I !== e) return;
62
+ if (!J(e) || !L.value || !F.value?.isConnected) {
63
+ q("outside");
64
+ return;
65
+ }
66
+ let t = N.value;
67
+ if (!t) throw q("outside"), Error("SContextMenu: current menu surface is unavailable after opening");
68
+ e.phase = "open", e.initialFocus === "last" ? t.focusLast() : t.focusFirst();
69
+ }, X = (e, t, n, r) => {
70
+ let i = j.value, a = e.target;
71
+ if (!O.value || !E.enabled || e.defaultPrevented || !i?.isConnected || !(a instanceof Node) || !a.isConnected || !i.contains(a) || F.value?.contains(a)) return;
72
+ q("outside");
73
+ let o = (e) => {
74
+ e.key === "Escape" && I === c && c.phase !== "open" && q("outside");
75
+ }, s = new MutationObserver(Y), c = {
76
+ boundary: i,
77
+ target: n && i.contains(n) ? n : a,
78
+ anchor: t,
79
+ focusOwner: n,
80
+ initialFocus: r,
81
+ phase: "preparing",
82
+ release: () => {
83
+ s.disconnect(), window.removeEventListener("keydown", o, !0);
84
+ }
85
+ };
86
+ if (s.observe(document.documentElement, {
87
+ childList: !0,
88
+ subtree: !0
89
+ }), window.addEventListener("keydown", o, !0), I = c, D("before-open", e), e.defaultPrevented) {
90
+ I === c && q("outside");
91
+ return;
92
+ }
93
+ e.preventDefault(), e.stopPropagation(), I === c && ae(c);
94
+ }, Z = (e, t, n) => {
95
+ if (!E.enabled || e.defaultPrevented || e.isComposing) return;
96
+ let r = n ?? e.currentTarget;
97
+ if (!(r instanceof HTMLElement)) throw TypeError("SContextMenu: trigger keydown currentTarget must be an HTMLElement");
98
+ X(e, {
42
99
  type: "element",
43
100
  element: r,
44
101
  align: "left"
102
+ }, r, t);
103
+ }, Q = (e) => !e.altKey && !e.ctrlKey && !e.metaKey && (e.key === "ContextMenu" || e.key === "F10" && e.shiftKey), oe = (e) => {
104
+ Q(e) && Z(e, "first");
105
+ }, se = (e) => {
106
+ if (Q(e)) {
107
+ Z(e, "first");
108
+ return;
109
+ }
110
+ (E.trigger === "click" || E.trigger === "both") && (e.key === "ArrowDown" || e.key === "ArrowUp") && Z(e, e.key === "ArrowUp" ? "last" : "first");
111
+ }, ce = (t) => {
112
+ if (!Q(t) || !E.enabled || t.defaultPrevented || t.isComposing) return;
113
+ let n = j.value, r = document.activeElement;
114
+ r instanceof HTMLElement && t.target === r && n?.contains(r) && r !== n && e(r, n) === r && Z(t, "first", r);
115
+ }, $ = (t) => {
116
+ if (!E.enabled || t.defaultPrevented) return;
117
+ let n = e(t.target, j.value), r = e(document.activeElement), i = n ?? (r && F.value?.contains(r) ? I?.focusOwner ?? null : r), a = t.clientX === 0 && t.clientY === 0 && t.detail === 0;
118
+ X(t, a && i ? {
119
+ type: "element",
120
+ element: i,
121
+ align: "left"
45
122
  } : {
46
123
  type: "point",
47
124
  x: t.clientX,
48
125
  y: t.clientY
49
- }, r);
50
- }, V = (e) => {
51
- if (!E.enabled || E.trigger !== "click" && E.trigger !== "both" || e.key !== "ArrowDown" && e.key !== "ArrowUp") return;
52
- let t = e.currentTarget;
53
- if (!(t instanceof HTMLElement)) throw TypeError("SContextMenu: trigger keydown currentTarget must be an HTMLElement");
54
- e.preventDefault(), e.stopPropagation(), A.value = e.key === "ArrowUp" ? "last" : "first", I({
55
- type: "element",
56
- element: t,
57
- align: "left"
58
- }, t);
59
- }, H = (e) => {
60
- E.enabled && (e.preventDefault(), e.stopPropagation(), B(e));
61
- }, U = (e) => {
62
- (E.trigger === "click" || E.trigger === "both") && H(e);
63
- }, W = (e) => {
64
- (E.trigger === "contextmenu" || E.trigger === "both") && H(e);
126
+ }, i, "first");
127
+ }, le = (e) => {
128
+ (E.trigger === "click" || E.trigger === "both") && $(e);
129
+ }, ue = (e) => {
130
+ (E.trigger === "contextmenu" || E.trigger === "both") && $(e);
65
131
  };
66
- x(() => E.enabled, (e) => {
67
- e || L("programmatic");
68
- });
69
- let G = (e, t) => {
70
- e.disabled || (L("selection"), D("select", e, t));
132
+ S(() => E.enabled, (e) => {
133
+ e || q("programmatic");
134
+ }, { flush: "sync" }), S(O, (e) => {
135
+ e || q("outside");
136
+ }, { flush: "sync" }), S(L, (e) => {
137
+ if (e || (P.value = !1), e || !I || I.phase === "preparing") return;
138
+ let t = I;
139
+ I = null, t.release();
140
+ }, { flush: "sync" }), _(Y), g(() => q("outside"));
141
+ let de = (e, t) => {
142
+ e.disabled || (q("selection"), D("select", e, t));
71
143
  };
72
- return S(() => {
73
- if (a(E.items), typeof E.enabled != "boolean") throw TypeError("SContextMenu: enabled must be a boolean");
144
+ return re(() => {
145
+ if (o(E.items), typeof E.enabled != "boolean") throw TypeError("SContextMenu: enabled must be a boolean");
74
146
  if (![
75
147
  "contextmenu",
76
148
  "click",
@@ -81,12 +153,19 @@ var w = ["data-layout"], T = /*@__PURE__*/ m({
81
153
  "inline",
82
154
  "contents"
83
155
  ].includes(E.boundaryLayout)) throw TypeError("SContextMenu: boundaryLayout must be 'block', 'inline', or 'contents'");
84
- }), (e, t) => (g(), f("div", h(y(O).bindings(), {
156
+ }), (e, t) => (v(), f("div", te({
157
+ ref_key: "boundaryRef",
158
+ ref: j
159
+ }, x(ie).bindings(), {
85
160
  class: "s-context-menu-boundary",
86
161
  "data-layout": m.boundaryLayout,
87
- onClick: U,
88
- onContextmenu: W
89
- }), [v(e.$slots, "default", { triggerProps: z.value }, void 0, !0), (g(), u(s, { to: "body" }, [p(c, {
162
+ onClick: le,
163
+ onContextmenu: ue,
164
+ onKeydown: ce
165
+ }), [b(e.$slots, "default", {
166
+ triggerProps: G.value,
167
+ textInputTriggerProps: K.value
168
+ }, void 0, !0), (v(), u(c, { to: "body" }, [p(ee, {
90
169
  "enter-active-class": "transition ease-out duration-[var(--s-motion-fast)]",
91
170
  "enter-from-class": "transform opacity-0 scale-95",
92
171
  "enter-to-class": "transform opacity-100 scale-100",
@@ -94,33 +173,39 @@ var w = ["data-layout"], T = /*@__PURE__*/ m({
94
173
  "leave-from-class": "transform opacity-100 scale-100",
95
174
  "leave-to-class": "transform opacity-0 scale-95"
96
175
  }, {
97
- default: C(() => [y(N) ? (g(), u(i, {
176
+ default: C(() => [x(L) ? (v(), u(a, {
98
177
  key: 0,
99
178
  ref_key: "layerRef",
100
- ref: j,
179
+ ref: M,
101
180
  kind: "context",
102
181
  "landmark-label": "Контекстные действия",
103
- position: y(P),
104
- "z-index": y(F)
182
+ position: x(R),
183
+ "available-size": x(z),
184
+ "z-index": x(B)
105
185
  }, {
106
- default: C(() => [p(o, {
186
+ default: C(() => [p(s, {
187
+ ref_key: "menuSurfaceRef",
188
+ ref: N,
107
189
  id: k,
108
190
  label: "Контекстные действия",
109
- autofocus: "",
110
191
  "initial-focus": A.value,
111
192
  items: m.items,
112
- onDismissTree: t[0] ||= (e) => y(L)("outside"),
113
- onEscape: t[1] ||= (e) => y(L)("escape"),
114
- onFocusExit: t[2] ||= (e) => y(L)("outside"),
115
- onSelect: G,
116
- onTab: y(R)
193
+ onDismissTree: t[0] ||= (e) => q("outside"),
194
+ onEscape: t[1] ||= (e) => q("escape"),
195
+ onFocusExit: t[2] ||= (e) => q("outside"),
196
+ onSelect: de,
197
+ onTab: x(U)
117
198
  }, null, 8, [
118
199
  "initial-focus",
119
200
  "items",
120
201
  "onTab"
121
202
  ])]),
122
203
  _: 1
123
- }, 8, ["position", "z-index"])) : d("", !0)]),
204
+ }, 8, [
205
+ "position",
206
+ "available-size",
207
+ "z-index"
208
+ ])) : d("", !0)]),
124
209
  _: 1
125
210
  })]))], 16, w));
126
211
  }
@@ -1,7 +1,7 @@
1
1
  import { Minus as e, MinusCircle as t, PlusCircle as n } from "../../icons/_internal/generatedSputnigUiIconComponents.js";
2
- import { useUiKitLocale as r } from "../../../composables/useUiKitLocale.js";
3
- import { useOwnedAttrs as i } from "../../../internal/ownedAttrs.js";
4
- import { validateNonEmptyString as a } from "../../../internal/runtimeContract.js";
2
+ import { validateNonEmptyString as r } from "../../../internal/runtimeContract.js";
3
+ import { useUiKitLocale as i } from "../../../composables/useUiKitLocale.js";
4
+ import { useOwnedAttrs as a } from "../../../internal/ownedAttrs.js";
5
5
  import o from "./SButton.vue.js";
6
6
  import { computed as s, createBlock as c, defineComponent as l, mergeProps as u, openBlock as d, unref as f } from "vue";
7
7
  //#region src/components/shared/controls/SContextToggleButton.vue?vue&type=script&setup=true&lang.ts
@@ -24,12 +24,12 @@ var p = /*@__PURE__*/ l({
24
24
  },
25
25
  emits: ["click"],
26
26
  setup(l, { emit: p }) {
27
- let m = l, { t: h } = r(), g = p, _ = i({
27
+ let m = l, { t: h } = i(), g = p, _ = a({
28
28
  component: "SContextToggleButton",
29
29
  owner: "toggle button"
30
30
  }), v = s(() => ({
31
- add: a("SContextToggleButton", "addTitle", m.addTitle ?? h("forms.addToContext")),
32
- remove: a("SContextToggleButton", "removeTitle", m.removeTitle ?? h("forms.removeFromContext"))
31
+ add: r("SContextToggleButton", "addTitle", m.addTitle ?? h("forms.addToContext")),
32
+ remove: r("SContextToggleButton", "removeTitle", m.removeTitle ?? h("forms.removeFromContext"))
33
33
  })), y = s(() => m.inContext ? v.value.remove : v.value.add), b = s(() => m.partial ? "mixed" : m.inContext), x = s(() => m.inContext ? m.partial ? e : t : n);
34
34
  return (e, t) => (d(), c(o, u(f(_).bindings(), {
35
35
  appearance: "text",
@@ -1,7 +1,7 @@
1
1
  import { Drag as e } from "../../icons/_internal/generatedSputnigUiIconComponents.js";
2
- import { useUiKitLocale as t } from "../../../composables/useUiKitLocale.js";
3
- import { useOwnedAttrs as n } from "../../../internal/ownedAttrs.js";
4
- import { validateNonEmptyString as r } from "../../../internal/runtimeContract.js";
2
+ import { validateNonEmptyString as t } from "../../../internal/runtimeContract.js";
3
+ import { useUiKitLocale as n } from "../../../composables/useUiKitLocale.js";
4
+ import { useOwnedAttrs as r } from "../../../internal/ownedAttrs.js";
5
5
  import i from "./SButton.vue.js";
6
6
  import { computed as a, createBlock as o, defineComponent as s, mergeProps as c, openBlock as l, ref as u, unref as d, watchEffect as f } from "vue";
7
7
  //#region src/components/shared/controls/SDragHandle.vue?vue&type=script&setup=true&lang.ts
@@ -31,10 +31,10 @@ var p = /*@__PURE__*/ s({
31
31
  "keyboard-active-change"
32
32
  ],
33
33
  setup(s, { emit: p }) {
34
- let m = s, h = p, g = n({
34
+ let m = s, h = p, g = r({
35
35
  component: "SDragHandle",
36
36
  owner: "drag handle command"
37
- }), { t: _ } = t(), v = u(!1), y = a(() => r("SDragHandle", "label", m.label)), b = a(() => m.orientation === "vertical" ? "Enter Space ArrowUp ArrowDown Escape" : "Enter Space ArrowLeft ArrowRight Escape"), x = a(() => v.value ? _("layout.dragActive", { label: y.value }) : _("layout.dragIdle", { label: y.value }));
37
+ }), { t: _ } = n(), v = u(!1), y = a(() => t("SDragHandle", "label", m.label)), b = a(() => m.orientation === "vertical" ? "Enter Space ArrowUp ArrowDown Escape" : "Enter Space ArrowLeft ArrowRight Escape"), x = a(() => v.value ? _("layout.dragActive", { label: y.value }) : _("layout.dragIdle", { label: y.value }));
38
38
  function S(e) {
39
39
  v.value !== e && (v.value = e, h("keyboard-active-change", e));
40
40
  }
@@ -1,11 +1,16 @@
1
1
  import { VNodeChild, VNodeRef } from 'vue';
2
2
  import { OwnedAttributeBindings } from '../../../internal/ownedAttrs';
3
3
  import { SMenuActivationEvent, SMenuEntry, SMenuSelectableEntry } from './menu';
4
- type __VLS_Props = {
4
+ export type SDropdownMenuPlacement = 'auto' | 'bottom' | 'top';
5
+ export interface Props {
5
6
  items: readonly SMenuEntry[];
6
7
  align?: 'left' | 'right';
7
8
  menuLabel?: string;
8
- };
9
+ open?: boolean;
10
+ defaultOpen?: boolean;
11
+ placement?: SDropdownMenuPlacement;
12
+ closeOnSelect?: boolean;
13
+ }
9
14
  export type SDropdownMenuTriggerAttrs = OwnedAttributeBindings<'SDropdownMenu'> & {
10
15
  readonly ref: VNodeRef;
11
16
  readonly 'aria-haspopup': 'menu';
@@ -20,13 +25,19 @@ type __VLS_Slots = {
20
25
  triggerAttrs: SDropdownMenuTriggerAttrs;
21
26
  }) => VNodeChild;
22
27
  };
23
- declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
28
+ declare const __VLS_base: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
24
29
  select: (entry: SMenuSelectableEntry, event: SMenuActivationEvent) => any;
25
- }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
30
+ "update:open": (value: boolean) => any;
31
+ }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
26
32
  onSelect?: ((entry: SMenuSelectableEntry, event: SMenuActivationEvent) => any) | undefined;
33
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
27
34
  }>, {
35
+ open: boolean;
28
36
  align: "left" | "right";
37
+ placement: SDropdownMenuPlacement;
29
38
  menuLabel: string;
39
+ defaultOpen: boolean;
40
+ closeOnSelect: boolean;
30
41
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
31
42
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
32
43
  declare const _default: typeof __VLS_export;
@@ -1,8 +1,8 @@
1
- import "../../../../assets/src/components/shared/controls/SDropdownMenu.css_vue_type_style_index_0_src_b854a89e_scoped_b854a89e_lang.css";
1
+ import "../../../../assets/src/components/shared/controls/SDropdownMenu.css_vue_type_style_index_0_src_857e2649_scoped_857e2649_lang.css";
2
2
  import e from "../../../../_virtual/_plugin-vue_export-helper.js";
3
3
  import t from "./SDropdownMenu.vue_vue_type_script_setup_true_lang.js";
4
4
  /* empty css */
5
5
  //#region src/components/shared/controls/SDropdownMenu.vue
6
- var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-b854a89e"]]);
6
+ var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-857e2649"]]);
7
7
  //#endregion
8
8
  export { n as default };
@@ -1,27 +1,46 @@
1
- import { useUiKitLocale as e } from "../../../composables/useUiKitLocale.js";
2
- import { useOwnedAttrs as t } from "../../../internal/ownedAttrs.js";
3
- import n from "./SButton.vue.js";
4
- import { useMenuLayer as r } from "../../../internal/useMenuLayer.js";
5
- import i from "../_internal/SMenuLayer.vue.js";
6
- import { validateSMenuEntries as a } from "./menu.js";
7
- import o from "./SMenuSurface.vue.js";
8
- import { Teleport as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createVNode as f, defineComponent as p, mergeProps as m, nextTick as h, onMounted as g, openBlock as _, ref as v, renderSlot as y, unref as b, useId as x, useSlots as S, watchEffect as C, withCtx as w } from "vue";
1
+ import { validateBoolean as e, validateExactString as t } from "../../../internal/runtimeContract.js";
2
+ import { useUiKitLocale as n } from "../../../composables/useUiKitLocale.js";
3
+ import { useOwnedAttrs as r } from "../../../internal/ownedAttrs.js";
4
+ import ee from "./SButton.vue.js";
5
+ import { useMenuLayer as i } from "../../../internal/useMenuLayer.js";
6
+ import a from "../_internal/SMenuLayer.vue.js";
7
+ import { validateSMenuEntries as o } from "./menu.js";
8
+ import s from "./SMenuSurface.vue.js";
9
+ import { Teleport as c, computed as l, createBlock as u, createCommentVNode as te, createElementBlock as d, createVNode as f, defineComponent as p, mergeProps as m, nextTick as h, onMounted as g, openBlock as _, ref as v, renderSlot as ne, unref as y, useId as b, useSlots as x, watch as S, watchEffect as re, withCtx as ie } from "vue";
9
10
  //#region src/components/shared/controls/SDropdownMenu.vue?vue&type=script&setup=true&lang.ts
10
- var T = { class: "s-dropdown-menu" }, E = /*@__PURE__*/ p({
11
+ var ae = { class: "s-dropdown-menu" }, C = /*@__PURE__*/ p({
11
12
  inheritAttrs: !1,
12
13
  __name: "SDropdownMenu",
13
14
  props: {
14
15
  items: {},
15
16
  align: { default: "right" },
16
- menuLabel: { default: void 0 }
17
+ menuLabel: { default: void 0 },
18
+ open: {
19
+ type: Boolean,
20
+ default: void 0
21
+ },
22
+ defaultOpen: {
23
+ type: Boolean,
24
+ default: !1
25
+ },
26
+ placement: { default: "auto" },
27
+ closeOnSelect: {
28
+ type: Boolean,
29
+ default: !0
30
+ }
17
31
  },
18
- emits: ["select"],
19
- setup(p, { emit: E }) {
20
- let D = p, { t: O } = e(), k = c(() => D.menuLabel ?? O("dialog.moreActions")), A = E, j = S(), M = t({
32
+ emits: ["select", "update:open"],
33
+ setup(p, { emit: C }) {
34
+ let w = p, { t: T } = n(), E = l(() => w.menuLabel ?? T("dialog.moreActions")), D = C, O = x(), k = r({
21
35
  component: "SDropdownMenu",
22
36
  owner: "menu trigger"
23
- }), N = v(null), P = v(null), F = null, I = c(() => N.value?.getElement() ?? null), { isOpen: L, position: R, zIndex: z, close: B, closeForTab: V, open: H, toggle: U } = r(I), W = `s-dropdown-menu-${x()}`, G = v("first"), K = !!j.default;
24
- function q(e) {
37
+ }), A = v(null), j = v(null), M = null, N = v(!1), { isOpen: P, position: F, availableSize: I, zIndex: L, close: R, closeForTab: z, open: B } = i(A, {
38
+ onRequestDismiss: Q,
39
+ onRetire: () => {
40
+ N.value = !0, D("update:open", !1);
41
+ }
42
+ }), V = `s-dropdown-menu-${b()}`, H = v("first"), U = !!O.default, W = l(() => w.open !== void 0), G = l(() => !N.value && (W.value ? w.open === !0 : P.value));
43
+ function K(e) {
25
44
  if (e === null) return null;
26
45
  if (e instanceof HTMLElement) return e;
27
46
  let t = Reflect.get(e, "getElement");
@@ -30,99 +49,123 @@ var T = { class: "s-dropdown-menu" }, E = /*@__PURE__*/ p({
30
49
  if (!(n instanceof HTMLElement)) throw Error("SDropdownMenu: trigger leaf getElement() must return an HTMLElement");
31
50
  return n;
32
51
  }
33
- let J = (e) => {
34
- if (e !== null && F !== null && e !== F) throw Error("SDropdownMenu: trigger binding must belong to exactly one UI-kit leaf");
35
- F = e;
36
- }, Y = () => {
37
- let e = M.bindings();
52
+ let q = (e) => {
53
+ if (e !== null && M !== null && e !== M) throw Error("SDropdownMenu: trigger binding must belong to exactly one UI-kit leaf");
54
+ M = e;
55
+ }, J = () => {
56
+ let e = k.bindings();
38
57
  if (Object.prototype.hasOwnProperty.call(e, "onClick")) throw Error("SDropdownMenu: @click belongs to the typed triggerAttrs activation contract");
39
58
  return {
40
59
  ...e,
41
- ref: J,
60
+ ref: q,
42
61
  "aria-haspopup": "menu",
43
- "aria-expanded": L.value,
44
- "aria-controls": W,
45
- onClick: Z,
46
- onKeydown: Q
62
+ "aria-expanded": G.value,
63
+ "aria-controls": V,
64
+ onClick: $,
65
+ onKeydown: se
47
66
  };
48
67
  };
49
- function X(e) {
50
- let t = q(F);
68
+ function Y(e) {
69
+ let t = K(M);
51
70
  if (!t) throw Error("SDropdownMenu: expected exactly one trigger, received 0");
52
71
  if (e?.currentTarget instanceof HTMLElement && e.currentTarget !== t) throw Error("SDropdownMenu: activation target does not match the registered trigger");
53
72
  return t;
54
73
  }
55
74
  g(() => {
56
- let e = X();
57
- if (e.getAttribute("aria-haspopup") !== "menu" || e.getAttribute("aria-controls") !== W) throw Error("SDropdownMenu: expected exactly one trigger, received 0");
75
+ let e = Y();
76
+ if (e.getAttribute("aria-haspopup") !== "menu" || e.getAttribute("aria-controls") !== V) throw Error("SDropdownMenu: expected exactly one trigger, received 0");
77
+ (W.value && w.open || !W.value && w.defaultOpen) && X();
58
78
  });
79
+ function oe(e) {
80
+ let t = Y(e), n = w.placement === "auto" ? void 0 : w.placement;
81
+ return {
82
+ anchor: {
83
+ type: "element",
84
+ element: t,
85
+ align: w.align,
86
+ ...n === void 0 ? {} : { placement: n }
87
+ },
88
+ trigger: t
89
+ };
90
+ }
91
+ async function X(e) {
92
+ if (N.value || P.value) return;
93
+ let { anchor: t, trigger: n } = oe(e);
94
+ await B(t, n);
95
+ }
59
96
  function Z(e) {
60
- let t = X(e);
61
- G.value = "first", U({
62
- type: "element",
63
- element: t,
64
- align: D.align
65
- }, t);
97
+ N.value && W.value || (N.value = !1, !G.value && (D("update:open", !0), W.value || X(e)));
98
+ }
99
+ function Q(e) {
100
+ (G.value || P.value) && (D("update:open", !1), W.value || R(e));
101
+ }
102
+ function $(e) {
103
+ G.value ? Q("trigger") : (H.value = "first", Z(e));
104
+ }
105
+ async function se(e) {
106
+ (e.key === "ArrowDown" || e.key === "ArrowUp") && (e.preventDefault(), e.stopPropagation(), H.value = e.key === "ArrowUp" ? "last" : "first", G.value || Z(e), await h(), await h(), P.value && (H.value === "last" ? j.value?.focusLast() : j.value?.focusFirst()));
66
107
  }
67
- async function Q(e) {
68
- if (e.key !== "ArrowDown" && e.key !== "ArrowUp") return;
69
- e.preventDefault(), e.stopPropagation();
70
- let t = X(e);
71
- G.value = e.key === "ArrowUp" ? "last" : "first", L.value || await H({
72
- type: "element",
73
- element: t,
74
- align: D.align
75
- }, t), await h(), G.value === "last" ? P.value?.focusLast() : P.value?.focusFirst();
108
+ function ce(e, t) {
109
+ e.disabled || (D("select", e, t), w.closeOnSelect && Q("selection"));
76
110
  }
77
- function $(e, t) {
78
- e.disabled || (B("selection"), A("select", e, t));
111
+ function le(e) {
112
+ z(e);
79
113
  }
80
- return C(() => {
81
- if (a(D.items), !k.value.trim()) throw TypeError("SDropdownMenu: menuLabel must be a non-empty string");
82
- if (D.align !== "left" && D.align !== "right") throw TypeError("SDropdownMenu: align must be 'left' or 'right'");
83
- }), (e, t) => (_(), d("div", T, [b(K) ? y(e.$slots, "default", { triggerAttrs: Y() }, void 0, !0, 0) : (_(), l(n, m({ key: 1 }, Y(), {
114
+ return S(() => w.open, (e) => {
115
+ e !== void 0 && (e || (N.value = !1), e && !P.value ? X() : !e && P.value && R("programmatic"));
116
+ }), S(() => [w.align, w.placement], () => {
117
+ P.value && (R("programmatic"), X());
118
+ }), re(() => {
119
+ if (o(w.items), !E.value.trim()) throw TypeError("SDropdownMenu: menuLabel must be a non-empty string");
120
+ t("SDropdownMenu", "align", w.align, ["left", "right"]), t("SDropdownMenu", "placement", w.placement, [
121
+ "auto",
122
+ "bottom",
123
+ "top"
124
+ ]), e("SDropdownMenu", "defaultOpen", w.defaultOpen), e("SDropdownMenu", "closeOnSelect", w.closeOnSelect), w.open !== void 0 && e("SDropdownMenu", "open", w.open);
125
+ }), (e, t) => (_(), d("div", ae, [y(U) ? ne(e.$slots, "default", { triggerAttrs: J() }, void 0, !0, 0) : (_(), u(ee, m({ key: 1 }, J(), {
84
126
  label: "Опции",
85
127
  disclosure: {
86
- expanded: b(L),
87
- controls: W
128
+ expanded: G.value,
129
+ controls: V
88
130
  },
89
131
  severity: "secondary"
90
- }), null, 16, ["disclosure"])), (_(), l(s, { to: "body" }, [b(L) ? (_(), l(i, {
132
+ }), null, 16, ["disclosure"])), (_(), u(c, { to: "body" }, [y(P) ? (_(), u(a, {
91
133
  key: 0,
92
134
  ref_key: "layerRef",
93
- ref: N,
135
+ ref: A,
94
136
  kind: "dropdown",
95
- "landmark-label": k.value,
96
- position: b(R),
97
- "z-index": b(z)
137
+ "landmark-label": E.value,
138
+ position: y(F),
139
+ "available-size": y(I),
140
+ "z-index": y(L)
98
141
  }, {
99
- default: w(() => [f(o, {
142
+ default: ie(() => [f(s, {
100
143
  ref_key: "menuSurfaceRef",
101
- ref: P,
102
- id: W,
103
- label: k.value,
144
+ ref: j,
145
+ id: V,
146
+ label: E.value,
104
147
  density: "compact",
105
148
  autofocus: "",
106
- "initial-focus": G.value,
149
+ "initial-focus": H.value,
107
150
  items: p.items,
108
- onDismissTree: t[0] ||= (e) => b(B)("outside"),
109
- onEscape: t[1] ||= (e) => b(B)("escape"),
110
- onFocusExit: t[2] ||= (e) => b(B)("outside"),
111
- onSelect: $,
112
- onTab: b(V)
151
+ onDismissTree: t[0] ||= (e) => Q("outside"),
152
+ onEscape: t[1] ||= (e) => Q("escape"),
153
+ onFocusExit: t[2] ||= (e) => Q("outside"),
154
+ onSelect: ce,
155
+ onTab: le
113
156
  }, null, 8, [
114
157
  "label",
115
158
  "initial-focus",
116
- "items",
117
- "onTab"
159
+ "items"
118
160
  ])]),
119
161
  _: 1
120
162
  }, 8, [
121
163
  "landmark-label",
122
164
  "position",
165
+ "available-size",
123
166
  "z-index"
124
- ])) : u("", !0)]))]));
167
+ ])) : te("", !0)]))]));
125
168
  }
126
169
  });
127
170
  //#endregion
128
- export { E as default };
171
+ export { C as default };