@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
@@ -0,0 +1,85 @@
1
+ //#region src/components/shared/_internal/listboxInventory.ts
2
+ var e = "clear-option";
3
+ function t(t, n, r) {
4
+ let i = [], a = [], o = [];
5
+ n !== void 0 && (i.push({
6
+ kind: "clear",
7
+ key: e
8
+ }), o.push({
9
+ token: e,
10
+ value: null,
11
+ label: n,
12
+ disabled: r,
13
+ position: 1,
14
+ rowIndex: 0
15
+ }));
16
+ function s(e, t) {
17
+ let n = {
18
+ ...e,
19
+ position: o.length + 1,
20
+ rowIndex: i.length
21
+ };
22
+ return o.push({
23
+ token: e.token,
24
+ value: e.option.value,
25
+ label: e.option.label,
26
+ disabled: r || e.option.disabled === !0,
27
+ position: n.position,
28
+ rowIndex: n.rowIndex
29
+ }), i.push({
30
+ kind: "option",
31
+ key: e.token,
32
+ entryToken: t,
33
+ record: n
34
+ }), n;
35
+ }
36
+ for (let e of t.entries) if (e.kind === "option") a.push({
37
+ kind: "option",
38
+ token: e.token,
39
+ record: s(e.record, e.token)
40
+ });
41
+ else {
42
+ let t = i.length;
43
+ i.push({
44
+ kind: "header",
45
+ key: `header:${e.token}`,
46
+ entryToken: e.token
47
+ });
48
+ let n = e.records.map((t) => s(t, e.token));
49
+ a.push({
50
+ kind: "group",
51
+ token: e.token,
52
+ label: e.label,
53
+ headerIndex: t,
54
+ endIndex: i.length,
55
+ records: n
56
+ });
57
+ }
58
+ return {
59
+ rows: i,
60
+ entries: a,
61
+ entriesByToken: new Map(a.map((e) => [e.token, e])),
62
+ navigation: o,
63
+ navigationByToken: new Map(o.map((e) => [e.token, e])),
64
+ setSize: o.length
65
+ };
66
+ }
67
+ function n(e, t) {
68
+ let n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
69
+ for (let i of t) {
70
+ if (i.kind === "clear") continue;
71
+ let t = e.entriesByToken.get(i.entryToken);
72
+ if (!t) throw Error("SListbox: virtual row refers to a stale entry");
73
+ if (t.kind === "option") n.set(t.token, t);
74
+ else {
75
+ let e = r.get(t.token);
76
+ e || (e = /* @__PURE__ */ new Map(), r.set(t.token, e)), i.kind === "option" ? e.set(i.record.token, i.record) : e.size === 0 && e.set(t.records[0].token, t.records[0]), n.set(t.token, t);
77
+ }
78
+ }
79
+ return [...n.values()].map((e) => e.kind === "option" ? e : {
80
+ ...e,
81
+ records: [...r.get(e.token).values()].sort((e, t) => e.rowIndex - t.rowIndex)
82
+ }).sort((e, t) => (e.kind === "option" ? e.record.rowIndex : e.headerIndex) - (t.kind === "option" ? t.record.rowIndex : t.headerIndex));
83
+ }
84
+ //#endregion
85
+ export { e as CLEAR_OPTION_TOKEN, t as createListboxInventory, n as projectListboxEntries };
@@ -1,4 +1,5 @@
1
1
  import { InjectionKey, Ref } from 'vue';
2
+ import { FloatingSizingElements } from '../../../composables/useFloatingPosition';
2
3
  export type MenuDensity = 'compact' | 'comfortable';
3
4
  export interface MenuItemRegistration {
4
5
  readonly entryId: string;
@@ -15,5 +16,12 @@ export interface MenuContext {
15
16
  density: Readonly<Ref<MenuDensity>>;
16
17
  register: (registration: MenuItemRegistration) => () => void;
17
18
  }
19
+ export interface MenuViewportRegistration extends FloatingSizingElements {
20
+ revealFocusedItem: () => void;
21
+ }
22
+ export interface MenuViewportContext {
23
+ register: (elements: MenuViewportRegistration) => () => void;
24
+ }
18
25
  export declare const menuContextKey: InjectionKey<MenuContext>;
19
26
  export declare const menuDepthKey: InjectionKey<number>;
27
+ export declare const menuViewportKey: InjectionKey<MenuViewportContext>;
@@ -1,4 +1,4 @@
1
1
  //#region src/components/shared/_internal/menuContext.ts
2
- var e = Symbol("s-menu-context"), t = Symbol("s-menu-depth");
2
+ var e = Symbol("s-menu-context"), t = Symbol("s-menu-depth"), n = Symbol("s-menu-viewport");
3
3
  //#endregion
4
- export { e as menuContextKey, t as menuDepthKey };
4
+ export { e as menuContextKey, t as menuDepthKey, n as menuViewportKey };
@@ -23,5 +23,6 @@ export interface SidebarGroupContext {
23
23
  beginResize(topKey: string, bottomKey: string): void;
24
24
  resizeSections(topKey: string, bottomKey: string, requestedTopSize: number): void;
25
25
  finishResize(topKey: string, bottomKey: string): void;
26
+ cancelResize(topKey: string, bottomKey: string): void;
26
27
  }
27
28
  export declare const sidebarGroupContextKey: InjectionKey<SidebarGroupContext>;
@@ -0,0 +1,45 @@
1
+ import { Ref, VNodeRef } from 'vue';
2
+ type Key = string | number;
3
+ type Alignment = 'auto' | 'start' | 'center' | 'end';
4
+ interface VirtualCollectionInputs<Item> {
5
+ owner: string;
6
+ items: () => readonly Item[];
7
+ itemKey: (item: Item) => Key;
8
+ estimatedSize: () => number;
9
+ overscan: () => number;
10
+ scrollOffset: Readonly<Ref<number>>;
11
+ viewportSize: Readonly<Ref<number>>;
12
+ leadingSize?: () => number;
13
+ pinnedKeys?: () => readonly Key[];
14
+ observer: () => ResizeObserver | null;
15
+ }
16
+ /** Shared measured keyed geometry; each semantic owner retains its own focus and scroll lifecycle. */
17
+ export declare function useVirtualCollection<Item>(inputs: VirtualCollectionInputs<Item>): {
18
+ measurements: Ref<Map<Key, number> & Omit<Map<Key, number>, keyof Map<any, any>>, Map<Key, number> | (Map<Key, number> & Omit<Map<Key, number>, keyof Map<any, any>>)>;
19
+ itemKeys: import('vue').ComputedRef<(string | number)[]>;
20
+ itemKeyIndexes: import('vue').ComputedRef<Map<string | number, number>>;
21
+ itemSizes: import('vue').ComputedRef<number[]>;
22
+ offsets: import('vue').ComputedRef<number[]>;
23
+ totalHeight: import('vue').ComputedRef<number>;
24
+ firstVisibleIndex: import('vue').ComputedRef<number>;
25
+ lastVisibleIndex: import('vue').ComputedRef<number>;
26
+ startIndex: import('vue').ComputedRef<number>;
27
+ endIndex: import('vue').ComputedRef<number>;
28
+ visibleEntries: import('vue').ComputedRef<{
29
+ item: NonNullable<Item>;
30
+ index: number;
31
+ key: string | number;
32
+ }[]>;
33
+ indexAtOffset: (offset: number) => number;
34
+ renderedItemsByKey: Map<Key, HTMLElement>;
35
+ renderedItemKeysByElement: Map<HTMLElement, Key>;
36
+ renderedItemRefs: Map<Key, VNodeRef>;
37
+ registerRenderedItem: (key: Key, element: HTMLElement) => void;
38
+ unregisterRenderedItem: (key: Key) => void;
39
+ renderedItemRef: (key: Key) => VNodeRef;
40
+ measureItems: (entries: readonly ResizeObserverEntry[]) => boolean;
41
+ offsetForIndex: (index: number, alignment?: Alignment) => number | null;
42
+ prune: (keys: readonly Key[]) => void;
43
+ clear: () => void;
44
+ };
45
+ export {};
@@ -0,0 +1,123 @@
1
+ import { computed as e, ref as t } from "vue";
2
+ //#region src/components/shared/_internal/useVirtualCollection.ts
3
+ function n(n) {
4
+ let r = t(/* @__PURE__ */ new Map()), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = e(() => {
5
+ let e = /* @__PURE__ */ new Set();
6
+ return n.items().map((t, r) => {
7
+ let i = n.itemKey(t);
8
+ if (typeof i == "string" && i.trim().length === 0) throw TypeError(`${n.owner} itemKey returned an empty string for item at index ${r}`);
9
+ if (typeof i == "number" && !Number.isFinite(i)) throw TypeError(`${n.owner} itemKey returned a non-finite number for item at index ${r}`);
10
+ if (typeof i != "string" && typeof i != "number") throw TypeError(`${n.owner} itemKey returned unsupported ${typeof i} key for item at index ${r}`);
11
+ if (e.has(i)) throw TypeError(`${n.owner} itemKey returned duplicate key ${v(i)} at index ${r}`);
12
+ return e.add(i), i;
13
+ });
14
+ }), c = e(() => new Map(s.value.map((e, t) => [e, t]))), l = e(() => s.value.map((e) => r.value.get(e) ?? n.estimatedSize())), u = e(() => {
15
+ let e = [0];
16
+ for (let t of l.value) e.push(e[e.length - 1] + t);
17
+ return e;
18
+ }), d = e(() => u.value[s.value.length]);
19
+ function f(e) {
20
+ let t = 0, n = s.value.length;
21
+ for (; t < n;) {
22
+ let r = Math.floor((t + n) / 2);
23
+ u.value[r + 1] <= e ? t = r + 1 : n = r;
24
+ }
25
+ return Math.min(t, Math.max(s.value.length - 1, 0));
26
+ }
27
+ let p = e(() => s.value.length === 0 ? 0 : f(Math.max(0, n.scrollOffset.value - (n.leadingSize?.() ?? 0)))), m = e(() => s.value.length === 0 ? -1 : f(Math.max(0, n.scrollOffset.value + n.viewportSize.value - (n.leadingSize?.() ?? 0)))), h = e(() => Math.max(0, p.value - n.overscan())), g = e(() => Math.min(s.value.length, m.value + n.overscan() + 1)), _ = e(() => {
28
+ let e = /* @__PURE__ */ new Set();
29
+ for (let t = h.value; t < g.value; t += 1) e.add(t);
30
+ for (let t of n.pinnedKeys?.() ?? []) {
31
+ let n = c.value.get(t);
32
+ n !== void 0 && e.add(n);
33
+ }
34
+ let t = n.items();
35
+ return [...e].sort((e, t) => e - t).map((e) => ({
36
+ item: t[e],
37
+ index: e,
38
+ key: s.value[e]
39
+ }));
40
+ });
41
+ function v(e) {
42
+ return `${typeof e}:${JSON.stringify(e)}`;
43
+ }
44
+ function y(e) {
45
+ let t = i.get(e);
46
+ if (!t) return;
47
+ let r = a.get(t);
48
+ if (r !== e) throw Error(`${n.owner} rendered item registry mismatch for key ${v(e)}: element belongs to ${r === void 0 ? "no key" : v(r)}`);
49
+ n.observer()?.unobserve(t), i.delete(e), a.delete(t);
50
+ }
51
+ function b(e, t) {
52
+ let r = c.value.get(e);
53
+ if (r === void 0) throw Error(`${n.owner} received a rendered item ref for stale key ${v(e)}`);
54
+ let o = i.get(e);
55
+ if (o && o !== t) throw Error(`${n.owner} rendered item key collision for ${v(e)} at index ${r}`);
56
+ let s = a.get(t);
57
+ if (s !== void 0 && s !== e) throw Error(`${n.owner} rendered item element collision between ${v(s)} and ${v(e)}`);
58
+ o !== t && (i.set(e, t), a.set(t, e), n.observer()?.observe(t));
59
+ }
60
+ function x(e) {
61
+ let t = o.get(e);
62
+ if (t) return t;
63
+ let r = (t) => {
64
+ if (t === null) y(e);
65
+ else if (t instanceof HTMLElement) b(e, t);
66
+ else throw TypeError(`${n.owner} rendered item ref for ${v(e)} must resolve to an HTMLElement`);
67
+ };
68
+ return o.set(e, r), r;
69
+ }
70
+ function S(e) {
71
+ let t = new Map(r.value), o = !1;
72
+ for (let r of e) {
73
+ if (!(r.target instanceof HTMLElement)) throw TypeError(`${n.owner} received a ResizeObserver entry for a non-HTMLElement target`);
74
+ let e = a.get(r.target);
75
+ if (e === void 0 || i.get(e) !== r.target) throw Error(`${n.owner} received a ResizeObserver entry for an unregistered rendered item`);
76
+ if (!c.value.has(e)) throw Error(`${n.owner} received a ResizeObserver entry for stale key ${v(e)}`);
77
+ let s = r.borderBoxSize[0]?.blockSize ?? r.contentRect.height;
78
+ !Number.isFinite(s) || s <= 0 || t.get(e) === s || (t.set(e, s), o = !0);
79
+ }
80
+ return o && (r.value = t), o;
81
+ }
82
+ function C(e, t = "auto") {
83
+ if (!Number.isInteger(e) || e < 0 || e >= s.value.length) throw RangeError(`${n.owner} index ${e} is outside 0..${Math.max(s.value.length - 1, 0)}`);
84
+ let r = n.leadingSize?.() ?? 0, i = r + u.value[e], a = r + u.value[e + 1], o = n.scrollOffset.value, c = o + n.viewportSize.value;
85
+ return t === "auto" && i >= o && a <= c ? null : t === "end" || t === "auto" && a > c ? a - n.viewportSize.value : t === "center" ? i - (n.viewportSize.value - (a - i)) / 2 : i;
86
+ }
87
+ function w(e) {
88
+ let t = new Set(e);
89
+ r.value = new Map([...r.value].filter(([e]) => t.has(e)));
90
+ for (let e of i.keys()) t.has(e) || y(e);
91
+ for (let e of o.keys()) t.has(e) || o.delete(e);
92
+ }
93
+ function T() {
94
+ for (let e of i.keys()) y(e);
95
+ o.clear(), r.value = /* @__PURE__ */ new Map();
96
+ }
97
+ return {
98
+ measurements: r,
99
+ itemKeys: s,
100
+ itemKeyIndexes: c,
101
+ itemSizes: l,
102
+ offsets: u,
103
+ totalHeight: d,
104
+ firstVisibleIndex: p,
105
+ lastVisibleIndex: m,
106
+ startIndex: h,
107
+ endIndex: g,
108
+ visibleEntries: _,
109
+ indexAtOffset: f,
110
+ renderedItemsByKey: i,
111
+ renderedItemKeysByElement: a,
112
+ renderedItemRefs: o,
113
+ registerRenderedItem: b,
114
+ unregisterRenderedItem: y,
115
+ renderedItemRef: x,
116
+ measureItems: S,
117
+ offsetForIndex: C,
118
+ prune: w,
119
+ clear: T
120
+ };
121
+ }
122
+ //#endregion
123
+ export { n as useVirtualCollection };
@@ -1,6 +1,6 @@
1
- import { useUiKitLocale as e } from "../../../composables/useUiKitLocale.js";
2
- import { useOwnedAttrs as t } from "../../../internal/ownedAttrs.js";
3
- import { validateBoundedInteger as n, validateNonEmptyString as r } from "../../../internal/runtimeContract.js";
1
+ import { validateBoundedInteger as e, validateNonEmptyString 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
4
  import i from "../data-display/SEmptyState.vue.js";
5
5
  import a from "../../layout/SStack.vue.js";
6
6
  import o from "../containers/SCollapsiblePanel.vue.js";
@@ -25,10 +25,10 @@ var h = /*@__PURE__*/ l({
25
25
  },
26
26
  emits: ["update:open"],
27
27
  setup(l) {
28
- let h = l, { t: g } = e(), _ = s(() => r("SKanbanLane", "title", h.title)), v = s(() => n("SKanbanLane", "count", h.count, {
28
+ let h = l, { t: g } = n(), _ = s(() => t("SKanbanLane", "title", h.title)), v = s(() => e("SKanbanLane", "count", h.count, {
29
29
  minimum: 0,
30
30
  maximum: 2 ** 53 - 1
31
- })), y = s(() => r("SKanbanLane", "emptyText", h.emptyText ?? g("kanban.empty"))), b = t({
31
+ })), y = s(() => t("SKanbanLane", "emptyText", h.emptyText ?? g("kanban.empty"))), b = r({
32
32
  component: "SKanbanLane",
33
33
  owner: "collapsible lane composition"
34
34
  });
@@ -24,8 +24,8 @@ declare const __VLS_base: import('vue').DefineComponent<Props, {}, {}, {}, {}, i
24
24
  emptyText: string;
25
25
  empty: boolean;
26
26
  title: string;
27
- density: SCloudChromeDensity;
28
27
  description: string;
28
+ density: SCloudChromeDensity;
29
29
  surface: "cloud" | "flat" | "embedded";
30
30
  zone: "top" | "composer" | "hidden";
31
31
  editing: boolean;
@@ -29,8 +29,8 @@ declare const __VLS_base: import('vue').DefineComponent<Props, {}, {}, {}, {}, i
29
29
  "onDrag-start"?: ((pointerEvent: PointerEvent) => any) | undefined;
30
30
  onRestore?: (() => any) | undefined;
31
31
  }>, {
32
- hidden: boolean;
33
32
  draggable: boolean;
33
+ hidden: boolean;
34
34
  itemId: string;
35
35
  appearance: "raised" | "embedded";
36
36
  editing: boolean;
@@ -35,13 +35,13 @@ declare const __VLS_base: import('vue').DefineComponent<Props, {}, {}, {}, {}, i
35
35
  density: "comfortable" | "compact" | "dense";
36
36
  surface: "card" | "plain";
37
37
  lazy: boolean;
38
+ defaultOpen: boolean;
38
39
  summaryTypography: SDisclosureSummaryTypography;
39
40
  summaryCase: SDisclosureSummaryCase;
40
41
  summaryState: SDisclosureSummaryState;
41
42
  summaryFacts: readonly SDisclosureSummaryFact[];
42
43
  summaryBadges: readonly SDisclosureSummaryBadge[];
43
44
  summaryStatus: SDisclosureSummaryStatus;
44
- defaultOpen: boolean;
45
45
  contentPadding: "density" | "none";
46
46
  headerVariant: "default" | "minimal";
47
47
  noAnimation: boolean;
@@ -1,8 +1,8 @@
1
- import "../../../../assets/src/components/shared/containers/SCollapsiblePanel.css_vue_type_style_index_0_src_4882f962_scoped_4882f962_lang.css";
1
+ import "../../../../assets/src/components/shared/containers/SCollapsiblePanel.css_vue_type_style_index_0_src_71824088_scoped_71824088_lang.css";
2
2
  import e from "../../../../_virtual/_plugin-vue_export-helper.js";
3
3
  import t from "./SCollapsiblePanel.vue_vue_type_script_setup_true_lang.js";
4
4
  /* empty css */
5
5
  //#region src/components/shared/containers/SCollapsiblePanel.vue
6
- var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-4882f962"]]);
6
+ var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-71824088"]]);
7
7
  //#endregion
8
8
  export { n as default };
@@ -2,7 +2,7 @@ import { useDisclosure as e } from "../../../composables/useDisclosure.js";
2
2
  import { useOwnedAttrs as t } from "../../../internal/ownedAttrs.js";
3
3
  import n from "../controls/SButton.vue.js";
4
4
  import r from "../_internal/SDisclosureSummary.vue.js";
5
- import { computed as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createVNode as c, defineComponent as l, mergeProps as u, nextTick as d, normalizeClass as f, normalizeStyle as ee, onBeforeUnmount as p, onMounted as m, openBlock as h, ref as g, renderSlot as _, unref as v, useSlots as y, vShow as te, watch as b, withCtx as x, withDirectives as S } from "vue";
5
+ import { computed as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createVNode as c, defineComponent as l, mergeProps as u, nextTick as d, normalizeClass as f, normalizeStyle as ee, onBeforeUnmount as te, onMounted as p, openBlock as m, ref as h, renderSlot as g, unref as _, useSlots as v, vShow as y, watch as b, withCtx as x, withDirectives as S } from "vue";
6
6
  //#region src/components/shared/containers/SCollapsiblePanel.vue?vue&type=script&setup=true&lang.ts
7
7
  var C = [
8
8
  "data-density",
@@ -58,117 +58,118 @@ var C = [
58
58
  },
59
59
  emits: ["update:open"],
60
60
  setup(l, { emit: O }) {
61
- let k = l, ne = y(), A = O, j = i(() => !!ne.actions), M = t({
61
+ let k = l, ne = v(), A = O, j = i(() => !!ne.actions), M = t({
62
62
  component: "SCollapsiblePanel",
63
63
  owner: "collapsible panel root"
64
- }), N = i(() => k.density === "comfortable" ? "md" : "sm"), P = i(() => k.open ?? !1), F = e({
64
+ }), N = i(() => k.density === "comfortable" ? "md" : "sm"), P = i(() => k.density === "comfortable" ? "default" : "compact"), F = i(() => k.open ?? !1), I = e({
65
65
  id: k.id,
66
- open: k.open === void 0 ? void 0 : P,
66
+ open: k.open === void 0 ? void 0 : F,
67
67
  defaultOpen: k.open === void 0 ? k.defaultOpen : void 0,
68
68
  disabled: () => k.disabled,
69
69
  onUpdate: (e) => A("update:open", e)
70
- }), { isOpen: I, triggerId: L, panelId: R } = F, z = g(!1), B = i(() => I.value || z.value), V = g(!k.lazy || k.defaultOpen || k.open === !0);
70
+ }), { isOpen: L, triggerId: R, panelId: z } = I, B = h(!1), V = i(() => L.value || B.value), H = h(!k.lazy || k.defaultOpen || k.open === !0);
71
71
  b(() => k.open, (e) => {
72
- e && (V.value = !0);
72
+ e && (H.value = !0);
73
73
  });
74
- function H() {
74
+ function U() {
75
75
  if (k.disabled) return;
76
76
  if (k.noAnimation) {
77
- F.toggle();
77
+ I.toggle();
78
78
  return;
79
79
  }
80
- let e = G.value, t = U.value;
81
- z.value = !0, e?.classList.add("is-animating"), e?.classList.remove("is-opened"), t?.classList.add("is-animating"), t?.classList.remove("is-opened"), F.toggle();
82
- }
83
- let U = g(null), W = g(null), G = g(null), K = null, q = null;
84
- function J() {
85
- q !== null && (window.cancelAnimationFrame(q), q = null);
80
+ let e = K.value, t = W.value;
81
+ B.value = !0, e?.classList.add("is-animating"), e?.classList.remove("is-opened"), t?.classList.add("is-animating"), t?.classList.remove("is-opened"), I.toggle();
86
82
  }
83
+ let W = h(null), G = h(null), K = h(null), q = null, J = null;
87
84
  function Y() {
88
- let e = U.value, t = W.value;
89
- if (!e || !t || !I.value || !z.value) return;
85
+ J !== null && (window.cancelAnimationFrame(J), J = null);
86
+ }
87
+ function X() {
88
+ let e = W.value, t = G.value;
89
+ if (!e || !t || !L.value || !B.value) return;
90
90
  let n = `${t.scrollHeight}px`;
91
91
  e.style.maxHeight !== n && (e.style.maxHeight = n);
92
92
  }
93
- function X() {
94
- J(), q = window.requestAnimationFrame(() => {
95
- q = null, Y();
93
+ function re() {
94
+ Y(), J = window.requestAnimationFrame(() => {
95
+ J = null, X();
96
96
  });
97
97
  }
98
98
  function Z() {
99
- let e = U.value;
99
+ let e = W.value;
100
100
  if (!e) return;
101
101
  e.classList.remove("is-animating"), e.classList.add("is-opened"), e.style.overflow = "", e.style.maxHeight = "";
102
- let t = G.value;
102
+ let t = K.value;
103
103
  t && (t.classList.remove("is-animating"), t.classList.add("is-opened"));
104
104
  }
105
105
  function Q() {
106
- let e = U.value;
106
+ let e = W.value;
107
107
  if (!e) return;
108
108
  e.classList.remove("is-animating"), e.classList.remove("is-opened"), e.style.maxHeight = "0px", e.style.overflow = "hidden";
109
- let t = G.value;
109
+ let t = K.value;
110
110
  t && (t.classList.remove("is-animating"), t.classList.remove("is-opened"));
111
111
  }
112
112
  async function $(e) {
113
- e ? (await d(), V.value = !0, Z()) : Q(), z.value = !1;
113
+ e ? (await d(), H.value = !0, Z()) : Q(), B.value = !1;
114
114
  }
115
- async function re() {
116
- let e = U.value;
115
+ async function ie() {
116
+ let e = W.value;
117
117
  if (!e) return;
118
- let t = G.value;
118
+ let t = K.value;
119
119
  await d(), e.classList.remove("is-opened"), e.classList.add("is-animating"), t && (t.classList.add("is-animating"), t.classList.remove("is-opened")), e.style.overflow = "hidden", e.style.maxHeight = "0px", e.offsetHeight, e.style.maxHeight = e.scrollHeight + "px";
120
120
  let n = () => {
121
- e.removeEventListener("transitionend", n), I.value && (J(), e.style.maxHeight = "", e.style.overflow = "", e.classList.remove("is-animating"), e.classList.add("is-opened"), t && (t.classList.remove("is-animating"), t.classList.add("is-opened")), z.value = !1);
121
+ e.removeEventListener("transitionend", n), L.value && (Y(), e.style.maxHeight = "", e.style.overflow = "", e.classList.remove("is-animating"), e.classList.add("is-opened"), t && (t.classList.remove("is-animating"), t.classList.add("is-opened")), B.value = !1);
122
122
  };
123
123
  e.addEventListener("transitionend", n);
124
124
  }
125
- function ie() {
126
- let e = U.value;
125
+ function ae() {
126
+ let e = W.value;
127
127
  if (!e) return;
128
- let t = G.value;
129
- z.value = !0, e.classList.add("is-animating"), e.classList.remove("is-opened"), t && (t.classList.add("is-animating"), t.classList.remove("is-opened")), (e.style.maxHeight === "" || e.style.maxHeight === "none") && (e.style.maxHeight = e.scrollHeight + "px", e.offsetHeight), e.style.overflow = "hidden", e.style.maxHeight = "0px";
128
+ let t = K.value;
129
+ B.value = !0, e.classList.add("is-animating"), e.classList.remove("is-opened"), t && (t.classList.add("is-animating"), t.classList.remove("is-opened")), (e.style.maxHeight === "" || e.style.maxHeight === "none") && (e.style.maxHeight = e.scrollHeight + "px", e.offsetHeight), e.style.overflow = "hidden", e.style.maxHeight = "0px";
130
130
  let n = () => {
131
- e.removeEventListener("transitionend", n), !I.value && (J(), e.classList.remove("is-animating"), t && t.classList.remove("is-animating"), z.value = !1);
131
+ e.removeEventListener("transitionend", n), !L.value && (Y(), e.classList.remove("is-animating"), t && t.classList.remove("is-animating"), B.value = !1);
132
132
  };
133
133
  e.addEventListener("transitionend", n);
134
134
  }
135
- return m(() => {
136
- let e = U.value;
135
+ return p(() => {
136
+ let e = W.value;
137
137
  if (!e) return;
138
- e.style.willChange = "max-height", k.noAnimation ? $(I.value) : I.value ? Z() : Q();
139
- let t = W.value;
140
- !k.noAnimation && "ResizeObserver" in window && t && (K = new ResizeObserver(() => {
141
- X();
142
- }), K.observe(t));
143
- }), p(() => {
144
- J(), K &&= (K.disconnect(), null);
145
- }), b(I, (e) => {
138
+ e.style.willChange = "max-height", k.noAnimation ? $(L.value) : L.value ? Z() : Q();
139
+ let t = G.value;
140
+ !k.noAnimation && "ResizeObserver" in window && t && (q = new ResizeObserver(() => {
141
+ re();
142
+ }), q.observe(t));
143
+ }), te(() => {
144
+ Y(), q &&= (q.disconnect(), null);
145
+ }), b(L, (e) => {
146
146
  if (k.noAnimation) {
147
147
  $(e);
148
148
  return;
149
149
  }
150
- e ? re() : ie();
151
- }), (e, t) => (h(), o("div", u({
150
+ e ? ie() : ae();
151
+ }), (e, t) => (m(), o("div", u({
152
152
  class: "s-collapsible-panel",
153
153
  ref_key: "rootEl",
154
- ref: G,
154
+ ref: K,
155
155
  "data-density": l.density,
156
156
  "data-surface": l.surface,
157
157
  "data-content-padding": l.contentPadding
158
- }, v(M).bindings()), [s("div", w, [s("div", T, [c(n, {
159
- id: v(L),
158
+ }, _(M).bindings()), [s("div", w, [s("div", T, [c(n, {
159
+ id: _(R),
160
160
  appearance: l.headerVariant === "minimal" ? "ghost" : "soft",
161
161
  severity: "secondary",
162
162
  shape: "row",
163
163
  size: N.value,
164
+ density: P.value,
164
165
  width: "full",
165
166
  "content-align": "between",
166
167
  disabled: l.disabled,
167
168
  disclosure: {
168
- expanded: v(I),
169
- controls: v(R)
169
+ expanded: _(L),
170
+ controls: _(z)
170
171
  },
171
- onClick: H
172
+ onClick: U
172
173
  }, {
173
174
  default: x(() => [c(r, {
174
175
  title: l.summary,
@@ -192,22 +193,23 @@ var C = [
192
193
  "id",
193
194
  "appearance",
194
195
  "size",
196
+ "density",
195
197
  "disabled",
196
198
  "disclosure"
197
- ])]), j.value ? (h(), o("div", E, [_(e.$slots, "actions", {}, void 0, !0)])) : a("", !0)]), S(s("div", {
198
- id: v(R),
199
- "aria-labelledby": v(L),
199
+ ])]), j.value ? (m(), o("div", E, [g(e.$slots, "actions", {}, void 0, !0)])) : a("", !0)]), S(s("div", {
200
+ id: _(z),
201
+ "aria-labelledby": _(R),
200
202
  role: "region",
201
203
  ref_key: "contentWrapEl",
202
- ref: U,
204
+ ref: W,
203
205
  class: f(["s-collapsible-panel-content w-full min-w-0", [{ "min-h-0 flex flex-col grow overflow-y-auto overflow-x-hidden": l.fill }, { "no-transition": l.noAnimation }]]),
204
- "data-open": v(I),
206
+ "data-open": _(L),
205
207
  style: ee({ ...l.noAnimation ? { transition: "none" } : {} })
206
208
  }, [s("div", {
207
209
  ref_key: "contentInnerEl",
208
- ref: W,
210
+ ref: G,
209
211
  class: "s-collapsible-panel-inner"
210
- }, [V.value ? _(e.$slots, "default", {}, void 0, !0, 0) : a("", !0)], 512)], 14, D), [[te, B.value]])], 16, C));
212
+ }, [H.value ? g(e.$slots, "default", {}, void 0, !0, 0) : a("", !0)], 512)], 14, D), [[y, V.value]])], 16, C));
211
213
  }
212
214
  });
213
215
  //#endregion
@@ -1,7 +1,9 @@
1
- import { DialogSurfaceDrawerPlacement, DialogSurfaceDrawerSize, DialogSurfaceHeadingLevel } from '../_internal/dialogSurface';
1
+ import { DialogSurfaceDrawerPlacement, DialogSurfaceDrawerSize, DialogSurfaceHeadingLevel, DialogSurfaceDrawerScope, DialogSurfaceDrawerScrollBehavior } from '../_internal/dialogSurface';
2
2
  export type DrawerSize = DialogSurfaceDrawerSize;
3
3
  export type DrawerPlacement = DialogSurfaceDrawerPlacement;
4
4
  export type DrawerHeadingLevel = DialogSurfaceHeadingLevel;
5
+ export type DrawerScope = DialogSurfaceDrawerScope;
6
+ export type DrawerScrollBehavior = DialogSurfaceDrawerScrollBehavior;
5
7
  export interface Props {
6
8
  open: boolean;
7
9
  title?: string;
@@ -12,6 +14,12 @@ export interface Props {
12
14
  ariaLabel?: string;
13
15
  /** Уровень видимого заголовка в document outline. / Visible title level in the document outline. */
14
16
  headingLevel?: DrawerHeadingLevel;
17
+ /** viewport is globally modal; contained uses the nearest SOverlayHost and keeps external controls available. */
18
+ scope?: DrawerScope;
19
+ /** Percentage of the contained host along the placement axis, finite and in (0,100]. Forbidden for viewport. */
20
+ extent?: number;
21
+ /** body owns padded native scrolling; content delegates unpadded fill layout to a child viewport. */
22
+ scrollBehavior?: DrawerScrollBehavior;
15
23
  }
16
24
  declare var __VLS_28: {}, __VLS_30: {}, __VLS_33: {
17
25
  close: () => void;
@@ -34,8 +42,11 @@ declare const __VLS_base: import('vue').DefineComponent<Props, {}, {}, {}, {}, i
34
42
  size: DrawerSize;
35
43
  closable: boolean;
36
44
  ariaLabel: string;
45
+ scope: DrawerScope;
46
+ scrollBehavior: DrawerScrollBehavior;
37
47
  placement: DrawerPlacement;
38
48
  mobileFullScreen: boolean;
49
+ extent: number;
39
50
  headingLevel: DrawerHeadingLevel;
40
51
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
41
52
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,8 +1,8 @@
1
- import "../../../../assets/src/components/shared/containers/SDrawer.css_vue_type_style_index_0_src_091d7325_scoped_091d7325_lang.css";
1
+ import "../../../../assets/src/components/shared/containers/SDrawer.css_vue_type_style_index_0_src_61cf20dd_scoped_61cf20dd_lang.css";
2
2
  import e from "../../../../_virtual/_plugin-vue_export-helper.js";
3
3
  import t from "./SDrawer.vue_vue_type_script_setup_true_lang.js";
4
4
  /* empty css */
5
5
  //#region src/components/shared/containers/SDrawer.vue
6
- var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-091d7325"]]);
6
+ var n = /*#__PURE__*/ e(t, [["__scopeId", "data-v-61cf20dd"]]);
7
7
  //#endregion
8
8
  export { n as default };