@pgcorp/ui-kit 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/README.md +725 -19
  2. package/dist/assets/src/components/layout/SDockRegion.vue_vue_type_style_index_0_scoped_a1f403e2_lang.css +1 -0
  3. package/dist/assets/src/components/layout/{SResizeHandle.vue_vue_type_style_index_0_scoped_90cc655e_lang.css → SResizeHandle.vue_vue_type_style_index_0_scoped_13b9b27a_lang.css} +1 -1
  4. package/dist/assets/src/components/layout/{SWorkbenchPanelShell.css_vue_type_style_index_0_src_1030a231_scoped_1030a231_lang.css → SWorkbenchPanelShell.css_vue_type_style_index_0_src_f9faa52a_scoped_f9faa52a_lang.css} +1 -1
  5. package/dist/assets/src/components/shared/_internal/SDialogSurface.css_vue_type_style_index_0_src_0e58afdc_scoped_0e58afdc_lang.css +2 -0
  6. package/dist/assets/src/components/shared/_internal/{SListboxGroup.css_vue_type_style_index_0_src_518787d3_scoped_518787d3_lang.css → SListboxGroup.css_vue_type_style_index_0_src_00060944_scoped_00060944_lang.css} +1 -1
  7. package/dist/assets/src/components/shared/_internal/SMenuLayer.css_vue_type_style_index_0_src_e478164c_scoped_e478164c_lang.css +1 -0
  8. package/dist/assets/src/components/shared/containers/SDrawer.css_vue_type_style_index_0_src_61cf20dd_scoped_61cf20dd_lang.css +2 -0
  9. package/dist/assets/src/components/shared/containers/{SModal.css_vue_type_style_index_0_src_0dc51b74_scoped_0dc51b74_lang.css → SModal.css_vue_type_style_index_0_src_42e1bd5f_scoped_42e1bd5f_lang.css} +1 -1
  10. package/dist/assets/src/components/shared/containers/SOverlayHost.css_vue_type_style_index_0_src_8f9be94e_scoped_8f9be94e_lang.css +2 -0
  11. package/dist/assets/src/components/shared/containers/SPopover.css_vue_type_style_index_0_src_4091d007_scoped_4091d007_lang.css +2 -0
  12. package/dist/assets/src/components/shared/containers/{SSidebarGroup.css_vue_type_style_index_0_src_3e8bc2d7_scoped_3e8bc2d7_lang.css → SSidebarGroup.css_vue_type_style_index_0_src_5b1eeb6c_scoped_5b1eeb6c_lang.css} +1 -1
  13. package/dist/assets/src/components/shared/containers/SSidebarSection.css_vue_type_style_index_0_src_21f71ae8_scoped_21f71ae8_lang.css +2 -0
  14. package/dist/assets/src/components/shared/controls/SButton.css_vue_type_style_index_0_src_7a5acda9_scoped_7a5acda9_lang.css +2 -0
  15. package/dist/assets/src/components/shared/controls/{SCheckbox.css_vue_type_style_index_0_src_b20b27dd_scoped_b20b27dd_lang.css → SCheckbox.css_vue_type_style_index_0_src_55d4826e_scoped_55d4826e_lang.css} +1 -1
  16. package/dist/assets/src/components/shared/controls/SCombobox.css_vue_type_style_index_0_src_537f5744_scoped_537f5744_lang.css +2 -0
  17. package/dist/assets/src/components/shared/controls/SContextMenu.css_vue_type_style_index_0_src_03921269_scoped_03921269_lang.css +1 -0
  18. package/dist/assets/src/components/shared/controls/{SDropdownMenu.css_vue_type_style_index_0_src_1ccb9efc_scoped_1ccb9efc_lang.css → SDropdownMenu.css_vue_type_style_index_0_src_857e2649_scoped_857e2649_lang.css} +1 -1
  19. package/dist/assets/src/components/shared/controls/SField.css_vue_type_style_index_0_src_2d353c26_scoped_2d353c26_lang.css +2 -0
  20. package/dist/assets/src/components/shared/controls/{SInteractiveSurface.css_vue_type_style_index_0_src_998940dd_scoped_998940dd_lang.css → SInteractiveSurface.css_vue_type_style_index_0_src_5e422fac_scoped_5e422fac_lang.css} +1 -1
  21. package/dist/assets/src/components/shared/controls/{SLink.css_vue_type_style_index_0_src_c7ae14e1_scoped_c7ae14e1_lang.css → SLink.css_vue_type_style_index_0_src_ac46e5a4_scoped_ac46e5a4_lang.css} +1 -1
  22. package/dist/assets/src/components/shared/controls/SListbox.css_vue_type_style_index_0_src_50063f9f_scoped_50063f9f_lang.css +2 -0
  23. package/dist/assets/src/components/shared/controls/{SListboxOption.css_vue_type_style_index_0_src_77c399b4_scoped_77c399b4_lang.css → SListboxOption.css_vue_type_style_index_0_src_59c9c538_scoped_59c9c538_lang.css} +1 -1
  24. package/dist/assets/src/components/shared/controls/SMenuSurface.css_vue_type_style_index_0_src_84109ad9_scoped_84109ad9_lang.css +2 -0
  25. package/dist/assets/src/components/shared/controls/SSelect.css_vue_type_style_index_0_src_df3d6688_scoped_df3d6688_lang.css +2 -0
  26. package/dist/assets/src/components/shared/controls/STextarea.css_vue_type_style_index_0_src_true_lang.css +1 -1
  27. package/dist/assets/src/components/shared/data-display/SProgressBar.css_vue_type_style_index_0_src_cad721dd_scoped_cad721dd_lang.css +2 -0
  28. package/dist/assets/src/components/shared/data-display/SRichDocument.css_vue_type_style_index_0_src_8db085d5_scoped_8db085d5_lang.css +2 -0
  29. package/dist/assets/src/components/shared/data-display/SStatus.css_vue_type_style_index_0_src_3ce41a12_scoped_3ce41a12_lang.css +1 -1
  30. package/dist/assets/src/components/shared/data-display/STable.css_vue_type_style_index_0_src_b23b3d71_scoped_b23b3d71_lang.css +2 -0
  31. package/dist/assets/src/components/shared/data-display/STooltip.css_vue_type_style_index_0_src_true_lang.css +1 -1
  32. package/dist/assets/src/components/shared/data-display/SVirtualList.css_vue_type_style_index_0_src_9fe3ade0_scoped_9fe3ade0_lang.css +2 -0
  33. package/dist/assets/src/components/shared/data-display/_internal/SRichBlockNode.css_vue_type_style_index_0_src_eaae882d_scoped_eaae882d_lang.css +2 -0
  34. package/dist/assets/src/components/shared/data-display/_internal/SRichDisclosure.css_vue_type_style_index_0_src_1f0ffc97_scoped_1f0ffc97_lang.css +2 -0
  35. package/dist/assets/src/components/shared/data-display/_internal/SRichImage.css_vue_type_style_index_0_src_2f1c39a9_scoped_2f1c39a9_lang.css +2 -0
  36. package/dist/assets/src/components/shared/data-display/_internal/{SRichInlineNode.css_vue_type_style_index_0_src_20c8cc87_scoped_20c8cc87_lang.css → SRichInlineNode.css_vue_type_style_index_0_src_3ca8df12_scoped_3ca8df12_lang.css} +1 -1
  37. package/dist/assets/src/components/shared/data-display/_internal/STableCell.css_vue_type_style_index_0_src_b829cbc6_scoped_b829cbc6_lang.css +2 -0
  38. package/dist/assets/src/components/shared/data-display/_internal/STableFrame.css_vue_type_style_index_0_src_52b5825e_scoped_52b5825e_lang.css +2 -0
  39. package/dist/assets/src/components/shared/data-display/_internal/STableRow.css_vue_type_style_index_0_src_1661f8b8_scoped_1661f8b8_lang.css +2 -0
  40. package/dist/assets/src/components/shared/feedback/SAsyncState.css_vue_type_style_index_0_src_8a291af7_scoped_8a291af7_lang.css +2 -0
  41. package/dist/assets/src/components/shared/navigation/{SBottomNav.vue_vue_type_style_index_0_scoped_b3963080_lang.css → SBottomNav.vue_vue_type_style_index_0_scoped_24be0f2b_lang.css} +1 -1
  42. package/dist/index.d.ts +1 -0
  43. package/dist/index.js +3 -3
  44. package/dist/reference.css +4 -0
  45. package/dist/src/components/icons/_internal/generatedSputnigUiIconComponents.d.ts +15 -0
  46. package/dist/src/components/icons/_internal/generatedSputnigUiIconComponents.js +4 -4
  47. package/dist/src/components/icons/_internal/generatedSputnigUiIconMarkup.d.ts +46 -1
  48. package/dist/src/components/icons/_internal/generatedSputnigUiIconMarkup.js +260 -230
  49. package/dist/src/components/icons/sputnigUiIcons.d.ts +1 -1
  50. package/dist/src/components/icons/sputnigUiIcons.js +233 -218
  51. package/dist/src/components/layout/SAppShell.vue_vue_type_script_setup_true_lang.js +8 -8
  52. package/dist/src/components/layout/SDockRegion.vue.d.ts +18 -5
  53. package/dist/src/components/layout/SDockRegion.vue.js +2 -2
  54. package/dist/src/components/layout/SDockRegion.vue_vue_type_script_setup_true_lang.js +112 -64
  55. package/dist/src/components/layout/SResizeHandle.vue.d.ts +6 -3
  56. package/dist/src/components/layout/SResizeHandle.vue.js +2 -2
  57. package/dist/src/components/layout/SResizeHandle.vue_vue_type_script_setup_true_lang.js +125 -87
  58. package/dist/src/components/layout/SStack.vue.d.ts +1 -1
  59. package/dist/src/components/layout/SWorkbenchPanelShell.vue.d.ts +4 -4
  60. package/dist/src/components/layout/SWorkbenchPanelShell.vue.js +2 -2
  61. package/dist/src/components/layout/SWorkbenchPanelShell.vue_vue_type_script_setup_true_lang.js +62 -58
  62. package/dist/src/components/layout/types.d.ts +20 -0
  63. package/dist/src/components/shared/_internal/SDialogSurface.vue.js +2 -2
  64. package/dist/src/components/shared/_internal/SDialogSurface.vue_vue_type_script_setup_true_lang.js +64 -41
  65. package/dist/src/components/shared/_internal/SHeaderSurface.vue.d.ts +1 -1
  66. package/dist/src/components/shared/_internal/SListboxGroup.vue.d.ts +5 -0
  67. package/dist/src/components/shared/_internal/SListboxGroup.vue.js +2 -2
  68. package/dist/src/components/shared/_internal/SListboxGroup.vue_vue_type_script_setup_true_lang.js +33 -15
  69. package/dist/src/components/shared/_internal/SMenuLayer.vue.d.ts +5 -1
  70. package/dist/src/components/shared/_internal/SMenuLayer.vue.js +2 -2
  71. package/dist/src/components/shared/_internal/SMenuLayer.vue_vue_type_script_setup_true_lang.js +64 -20
  72. package/dist/src/components/shared/_internal/dialogSurface.d.ts +15 -2
  73. package/dist/src/components/shared/_internal/dialogSurface.js +39 -23
  74. package/dist/src/components/shared/_internal/listboxContext.d.ts +1 -0
  75. package/dist/src/components/shared/_internal/listboxInventory.d.ts +51 -0
  76. package/dist/src/components/shared/_internal/listboxInventory.js +85 -0
  77. package/dist/src/components/shared/_internal/menuContext.d.ts +8 -0
  78. package/dist/src/components/shared/_internal/menuContext.js +2 -2
  79. package/dist/src/components/shared/_internal/sidebarGroupContext.d.ts +1 -0
  80. package/dist/src/components/shared/_internal/useVirtualCollection.d.ts +45 -0
  81. package/dist/src/components/shared/_internal/useVirtualCollection.js +123 -0
  82. package/dist/src/components/shared/complex/SKanbanLane.vue_vue_type_script_setup_true_lang.js +5 -5
  83. package/dist/src/components/shared/containers/SCloudChrome.vue.d.ts +1 -1
  84. package/dist/src/components/shared/containers/SCloudChromeRow.vue.d.ts +1 -1
  85. package/dist/src/components/shared/containers/SDrawer.vue.d.ts +12 -1
  86. package/dist/src/components/shared/containers/SDrawer.vue.js +2 -2
  87. package/dist/src/components/shared/containers/SDrawer.vue_vue_type_script_setup_true_lang.js +151 -53
  88. package/dist/src/components/shared/containers/SModal.vue.js +2 -2
  89. package/dist/src/components/shared/containers/SModal.vue_vue_type_script_setup_true_lang.js +78 -54
  90. package/dist/src/components/shared/containers/SOverlayHost.vue.d.ts +16 -0
  91. package/dist/src/components/shared/containers/SOverlayHost.vue.js +8 -0
  92. package/dist/src/components/shared/containers/SOverlayHost.vue_vue_type_script_setup_true_lang.js +65 -0
  93. package/dist/src/components/shared/containers/SPageHeader.vue.d.ts +1 -1
  94. package/dist/src/components/shared/containers/SPanel.vue.d.ts +1 -1
  95. package/dist/src/components/shared/containers/SPanel.vue_vue_type_script_setup_true_lang.js +7 -7
  96. package/dist/src/components/shared/containers/SPopover.vue.js +2 -2
  97. package/dist/src/components/shared/containers/SPopover.vue_vue_type_script_setup_true_lang.js +214 -145
  98. package/dist/src/components/shared/containers/SSidebarGroup.vue.js +2 -2
  99. package/dist/src/components/shared/containers/SSidebarGroup.vue_vue_type_script_setup_true_lang.js +30 -8
  100. package/dist/src/components/shared/containers/SSidebarSection.vue.js +2 -2
  101. package/dist/src/components/shared/containers/SSidebarSection.vue_vue_type_script_setup_true_lang.js +58 -45
  102. package/dist/src/components/shared/controls/SButton.vue.d.ts +7 -0
  103. package/dist/src/components/shared/controls/SButton.vue.js +2 -2
  104. package/dist/src/components/shared/controls/SButton.vue_vue_type_script_setup_true_lang.js +11 -5
  105. package/dist/src/components/shared/controls/SCheckbox.vue.d.ts +3 -0
  106. package/dist/src/components/shared/controls/SCheckbox.vue.js +2 -2
  107. package/dist/src/components/shared/controls/SCheckbox.vue_vue_type_script_setup_true_lang.js +45 -41
  108. package/dist/src/components/shared/controls/SCheckboxGroup.vue_vue_type_script_setup_true_lang.js +7 -7
  109. package/dist/src/components/shared/controls/SChoiceCards.vue_vue_type_script_setup_true_lang.js +4 -4
  110. package/dist/src/components/shared/controls/SColorSelect.vue_vue_type_script_setup_true_lang.js +6 -6
  111. package/dist/src/components/shared/controls/SCombobox.vue.js +2 -2
  112. package/dist/src/components/shared/controls/SCombobox.vue_vue_type_script_setup_true_lang.js +147 -132
  113. package/dist/src/components/shared/controls/SComboboxTrigger.vue.d.ts +2 -2
  114. package/dist/src/components/shared/controls/SContextMenu.vue.d.ts +11 -0
  115. package/dist/src/components/shared/controls/SContextMenu.vue.js +2 -2
  116. package/dist/src/components/shared/controls/SContextMenu.vue_vue_type_script_setup_true_lang.js +144 -59
  117. package/dist/src/components/shared/controls/SContextToggleButton.vue_vue_type_script_setup_true_lang.js +6 -6
  118. package/dist/src/components/shared/controls/SDragHandle.vue_vue_type_script_setup_true_lang.js +5 -5
  119. package/dist/src/components/shared/controls/SDropdownMenu.vue.js +2 -2
  120. package/dist/src/components/shared/controls/SDropdownMenu.vue_vue_type_script_setup_true_lang.js +82 -75
  121. package/dist/src/components/shared/controls/SField.vue.d.ts +9 -6
  122. package/dist/src/components/shared/controls/SField.vue.js +2 -2
  123. package/dist/src/components/shared/controls/SField.vue_vue_type_script_setup_true_lang.js +69 -52
  124. package/dist/src/components/shared/controls/SFieldGroup.vue_vue_type_script_setup_true_lang.js +13 -13
  125. package/dist/src/components/shared/controls/SInlineTokenEditor.vue_vue_type_script_setup_true_lang.js +26 -26
  126. package/dist/src/components/shared/controls/SInputText.vue_vue_type_script_setup_true_lang.js +21 -21
  127. package/dist/src/components/shared/controls/SInteractiveSurface.vue.js +2 -2
  128. package/dist/src/components/shared/controls/SInteractiveSurface.vue_vue_type_script_setup_true_lang.js +99 -74
  129. package/dist/src/components/shared/controls/SLink.d.ts +11 -1
  130. package/dist/src/components/shared/controls/SLink.vue.d.ts +17 -1
  131. package/dist/src/components/shared/controls/SLink.vue.js +2 -2
  132. package/dist/src/components/shared/controls/SLink.vue_vue_type_script_setup_true_lang.js +157 -62
  133. package/dist/src/components/shared/controls/SListbox.vue.d.ts +10 -1
  134. package/dist/src/components/shared/controls/SListbox.vue.js +2 -2
  135. package/dist/src/components/shared/controls/SListbox.vue_vue_type_script_setup_true_lang.js +371 -189
  136. package/dist/src/components/shared/controls/SListboxOption.vue.d.ts +6 -0
  137. package/dist/src/components/shared/controls/SListboxOption.vue.js +2 -2
  138. package/dist/src/components/shared/controls/SListboxOption.vue_vue_type_script_setup_true_lang.js +47 -34
  139. package/dist/src/components/shared/controls/SMenuSurface.vue.d.ts +2 -2
  140. package/dist/src/components/shared/controls/SMenuSurface.vue.js +2 -2
  141. package/dist/src/components/shared/controls/SMenuSurface.vue_vue_type_script_setup_true_lang.js +147 -121
  142. package/dist/src/components/shared/controls/SRange.vue_vue_type_script_setup_true_lang.js +12 -12
  143. package/dist/src/components/shared/controls/SSelect.vue.js +2 -2
  144. package/dist/src/components/shared/controls/SSelect.vue_vue_type_script_setup_true_lang.js +126 -116
  145. package/dist/src/components/shared/controls/STextarea.d.ts +1 -1
  146. package/dist/src/components/shared/controls/STextarea.vue.d.ts +28 -2
  147. package/dist/src/components/shared/controls/STextarea.vue_vue_type_script_setup_true_lang.js +348 -209
  148. package/dist/src/components/shared/controls/_internal/SInlineTokenSurface.vue_vue_type_script_lang.js +36 -36
  149. package/dist/src/components/shared/data-display/SActionList.vue.d.ts +1 -1
  150. package/dist/src/components/shared/data-display/SActionListItem.vue.d.ts +4 -4
  151. package/dist/src/components/shared/data-display/SActionListItem.vue_vue_type_script_setup_true_lang.js +6 -6
  152. package/dist/src/components/shared/data-display/SBadge.vue.d.ts +1 -1
  153. package/dist/src/components/shared/data-display/SChart.vue_vue_type_script_setup_true_lang.js +89 -89
  154. package/dist/src/components/shared/data-display/SChip.vue.d.ts +1 -1
  155. package/dist/src/components/shared/data-display/SChip.vue_vue_type_script_setup_true_lang.js +7 -7
  156. package/dist/src/components/shared/data-display/SCodeBlock.vue_vue_type_script_setup_true_lang.js +19 -19
  157. package/dist/src/components/shared/data-display/SCodeEditor.vue_vue_type_script_setup_true_lang.js +37 -37
  158. package/dist/src/components/shared/data-display/SCodeSearchPanel.vue_vue_type_script_setup_true_lang.js +17 -17
  159. package/dist/src/components/shared/data-display/SCodeWorkspaceEditor.vue_vue_type_script_setup_true_lang.js +12 -12
  160. package/dist/src/components/shared/data-display/SControlledToastViewport.vue_vue_type_script_setup_true_lang.js +4 -4
  161. package/dist/src/components/shared/data-display/SDiffViewer.vue_vue_type_script_setup_true_lang.js +13 -13
  162. package/dist/src/components/shared/data-display/SDocBlock.vue_vue_type_script_setup_true_lang.js +12 -12
  163. package/dist/src/components/shared/data-display/SEmptyState.vue.d.ts +1 -1
  164. package/dist/src/components/shared/data-display/SEmptyState.vue_vue_type_script_setup_true_lang.js +4 -4
  165. package/dist/src/components/shared/data-display/SExpandableText.vue_vue_type_script_setup_true_lang.js +7 -7
  166. package/dist/src/components/shared/data-display/SKeyValueGrid.vue_vue_type_script_setup_true_lang.js +15 -15
  167. package/dist/src/components/shared/data-display/SLinkedSystemsList.vue_vue_type_script_setup_true_lang.js +17 -17
  168. package/dist/src/components/shared/data-display/SMessage.vue.d.ts +1 -1
  169. package/dist/src/components/shared/data-display/SMessage.vue_vue_type_script_setup_true_lang.js +9 -9
  170. package/dist/src/components/shared/data-display/SMetricCard.vue.d.ts +1 -1
  171. package/dist/src/components/shared/data-display/SProgressBar.vue.d.ts +22 -3
  172. package/dist/src/components/shared/data-display/SProgressBar.vue.js +2 -2
  173. package/dist/src/components/shared/data-display/SProgressBar.vue_vue_type_script_setup_true_lang.js +133 -47
  174. package/dist/src/components/shared/data-display/SProgressIndicator.vue_vue_type_script_setup_true_lang.js +4 -4
  175. package/dist/src/components/shared/data-display/SRichDocument.vue.js +2 -2
  176. package/dist/src/components/shared/data-display/SRichDocument.vue_vue_type_script_setup_true_lang.js +46 -23
  177. package/dist/src/components/shared/data-display/SScrollViewport.vue_vue_type_script_setup_true_lang.js +18 -18
  178. package/dist/src/components/shared/data-display/SSectionHeader.vue.d.ts +1 -1
  179. package/dist/src/components/shared/data-display/SStatus.vue_vue_type_script_setup_true_lang.js +4 -4
  180. package/dist/src/components/shared/data-display/STable.vue.js +2 -2
  181. package/dist/src/components/shared/data-display/STable.vue_vue_type_script_setup_true_lang.js +343 -322
  182. package/dist/src/components/shared/data-display/STooltip.vue.d.ts +2 -2
  183. package/dist/src/components/shared/data-display/STooltip.vue_vue_type_script_setup_true_lang.js +181 -154
  184. package/dist/src/components/shared/data-display/STooltipAnchor.vue_vue_type_script_setup_true_lang.js +5 -5
  185. package/dist/src/components/shared/data-display/STooltipTarget.vue_vue_type_script_setup_true_lang.js +4 -4
  186. package/dist/src/components/shared/data-display/SVirtualList.vue.js +2 -2
  187. package/dist/src/components/shared/data-display/SVirtualList.vue_vue_type_script_setup_true_lang.js +196 -246
  188. package/dist/src/components/shared/data-display/_internal/SRichBlockNode.vue.js +2 -2
  189. package/dist/src/components/shared/data-display/_internal/SRichBlockNode.vue_vue_type_script_setup_true_lang.js +242 -220
  190. package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue.d.ts +13 -2
  191. package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue.js +2 -2
  192. package/dist/src/components/shared/data-display/_internal/SRichDisclosure.vue_vue_type_script_setup_true_lang.js +67 -11
  193. package/dist/src/components/shared/data-display/_internal/SRichImage.vue.d.ts +11 -0
  194. package/dist/src/components/shared/data-display/_internal/SRichImage.vue.js +8 -0
  195. package/dist/src/components/shared/data-display/_internal/SRichImage.vue_vue_type_script_setup_true_lang.js +89 -0
  196. package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue.d.ts +3 -2
  197. package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue.js +2 -2
  198. package/dist/src/components/shared/data-display/_internal/SRichInlineNode.vue_vue_type_script_setup_true_lang.js +179 -125
  199. package/dist/src/components/shared/data-display/_internal/SRichMath.vue_vue_type_script_setup_true_lang.js +4 -4
  200. package/dist/src/components/shared/data-display/_internal/SRichTableNode.vue.d.ts +21 -0
  201. package/dist/src/components/shared/data-display/_internal/SRichTableNode.vue.js +5 -0
  202. package/dist/src/components/shared/data-display/_internal/SRichTableNode.vue_vue_type_script_setup_true_lang.js +150 -0
  203. package/dist/src/components/shared/data-display/_internal/STableCell.vue.d.ts +52 -0
  204. package/dist/src/components/shared/data-display/_internal/STableCell.vue.js +8 -0
  205. package/dist/src/components/shared/data-display/_internal/STableCell.vue_vue_type_script_setup_true_lang.js +148 -0
  206. package/dist/src/components/shared/data-display/_internal/STableFrame.vue.d.ts +42 -0
  207. package/dist/src/components/shared/data-display/_internal/STableFrame.vue.js +8 -0
  208. package/dist/src/components/shared/data-display/_internal/STableFrame.vue_vue_type_script_setup_true_lang.js +98 -0
  209. package/dist/src/components/shared/data-display/_internal/STableRow.vue.d.ts +43 -0
  210. package/dist/src/components/shared/data-display/_internal/STableRow.vue.js +8 -0
  211. package/dist/src/components/shared/data-display/_internal/STableRow.vue_vue_type_script_setup_true_lang.js +115 -0
  212. package/dist/src/components/shared/data-display/_internal/STableSection.vue.d.ts +28 -0
  213. package/dist/src/components/shared/data-display/_internal/STableSection.vue.js +5 -0
  214. package/dist/src/components/shared/data-display/_internal/STableSection.vue_vue_type_script_setup_true_lang.js +77 -0
  215. package/dist/src/components/shared/data-display/_internal/richDocumentMedia.d.ts +6 -0
  216. package/dist/src/components/shared/data-display/_internal/richDocumentMedia.js +136 -0
  217. package/dist/src/components/shared/data-display/_internal/richDocumentMetadata.d.ts +21 -0
  218. package/dist/src/components/shared/data-display/_internal/richDocumentMetadata.js +39 -0
  219. package/dist/src/components/shared/data-display/_internal/richDocumentNavigation.d.ts +30 -0
  220. package/dist/src/components/shared/data-display/_internal/richDocumentNavigation.js +88 -0
  221. package/dist/src/components/shared/data-display/_internal/richDocumentTableValidation.d.ts +9 -0
  222. package/dist/src/components/shared/data-display/_internal/richDocumentTableValidation.js +240 -0
  223. package/dist/src/components/shared/data-display/_internal/richDocumentTraversal.d.ts +15 -0
  224. package/dist/src/components/shared/data-display/_internal/richDocumentTraversal.js +61 -0
  225. package/dist/src/components/shared/data-display/_internal/richDocumentTypes.d.ts +466 -0
  226. package/dist/src/components/shared/data-display/_internal/richDocumentValidation.d.ts +65 -0
  227. package/dist/src/components/shared/data-display/_internal/richDocumentValidation.js +192 -0
  228. package/dist/src/components/shared/data-display/_internal/tableFoundation.d.ts +27 -0
  229. package/dist/src/components/shared/data-display/_internal/tableFoundation.js +16 -0
  230. package/dist/src/components/shared/data-display/richDocument.d.ts +3 -220
  231. package/dist/src/components/shared/data-display/richDocument.js +607 -399
  232. package/dist/src/components/shared/database/SDataGrid.vue_vue_type_script_setup_true_lang.js +36 -36
  233. package/dist/src/components/shared/database/SSqlEditor.vue.d.ts +2 -2
  234. package/dist/src/components/shared/database/SSqlEditor.vue_vue_type_script_setup_true_lang.js +36 -36
  235. package/dist/src/components/shared/feedback/SAsyncState.vue.js +2 -2
  236. package/dist/src/components/shared/feedback/SAsyncState.vue_vue_type_script_setup_true_lang.js +70 -63
  237. package/dist/src/components/shared/navigation/SBottomNav.vue.d.ts +2 -2
  238. package/dist/src/components/shared/navigation/SBottomNav.vue.js +2 -2
  239. package/dist/src/components/shared/navigation/SBottomNav.vue_vue_type_script_setup_true_lang.js +138 -129
  240. package/dist/src/components/shared/navigation/SBreadcrumbs.vue.d.ts +2 -2
  241. package/dist/src/components/shared/navigation/STabPanel.vue.d.ts +2 -2
  242. package/dist/src/components/shared/navigation/SWizardSteps.vue_vue_type_script_setup_true_lang.js +16 -16
  243. package/dist/src/components/shared/persona/SPersonaProjectPicker.vue.d.ts +2 -2
  244. package/dist/src/composables/useDialogOverlay.d.ts +11 -2
  245. package/dist/src/composables/useDialogOverlay.js +202 -44
  246. package/dist/src/composables/useFloatingPosition.d.ts +20 -0
  247. package/dist/src/composables/useFloatingPosition.js +129 -52
  248. package/dist/src/internal/fieldSurface.d.ts +3 -0
  249. package/dist/src/internal/fieldSurface.js +3 -2
  250. package/dist/src/internal/focusNavigation.d.ts +2 -0
  251. package/dist/src/internal/focusNavigation.js +9 -9
  252. package/dist/src/internal/layerStack.d.ts +12 -0
  253. package/dist/src/internal/layerStack.js +138 -62
  254. package/dist/src/internal/linkTarget.d.ts +7 -1
  255. package/dist/src/internal/linkTarget.js +11 -7
  256. package/dist/src/internal/overlayHost.d.ts +18 -0
  257. package/dist/src/internal/overlayHost.js +18 -0
  258. package/dist/src/internal/ownedAttrs.d.ts +13 -3
  259. package/dist/src/internal/ownedAttrs.js +8 -1
  260. package/dist/src/internal/runtimeContract.d.ts +2 -0
  261. package/dist/src/internal/runtimeContract.js +10 -5
  262. package/dist/src/internal/useMenuLayer.d.ts +7 -4
  263. package/dist/src/internal/useMenuLayer.js +72 -49
  264. package/dist/tailwind.css +3 -0
  265. package/dist/typography.LICENSE.txt +94 -0
  266. package/dist/typography.js +5150 -0
  267. package/docs/getting-started.md +39 -0
  268. package/docs/link-download.md +114 -0
  269. package/docs/listbox.md +129 -0
  270. package/docs/public-api.md +196 -4
  271. package/docs/resize.md +129 -0
  272. package/docs/rich-document.md +442 -25
  273. package/package.json +12 -4
  274. package/src/components/shared/_internal/SDialogSurface.css +39 -7
  275. package/src/components/shared/_internal/SMenuLayer.css +4 -0
  276. package/src/components/shared/containers/SDrawer.css +20 -2
  277. package/src/components/shared/containers/SOverlayHost.css +14 -0
  278. package/src/components/shared/containers/SPopover.css +8 -2
  279. package/src/components/shared/controls/SButton.css +4 -0
  280. package/src/components/shared/controls/SField.css +6 -0
  281. package/src/components/shared/controls/SListbox.css +17 -0
  282. package/src/components/shared/controls/SMenuSurface.css +18 -4
  283. package/src/components/shared/controls/STextarea.css +42 -3
  284. package/src/components/shared/data-display/SProgressBar.css +79 -0
  285. package/src/components/shared/data-display/SRichDocument.css +1 -0
  286. package/src/components/shared/data-display/SStatus.css +8 -25
  287. package/src/components/shared/data-display/STable.css +0 -113
  288. package/src/components/shared/data-display/STooltip.css +4 -1
  289. package/src/components/shared/data-display/_internal/SRichBlockNode.css +11 -7
  290. package/src/components/shared/data-display/_internal/SRichDisclosure.css +16 -0
  291. package/src/components/shared/data-display/_internal/SRichImage.css +37 -0
  292. package/src/components/shared/data-display/_internal/STableCell.css +55 -0
  293. package/src/components/shared/data-display/_internal/STableFrame.css +41 -0
  294. package/src/components/shared/data-display/_internal/STableRow.css +12 -0
  295. package/src/components/shared/feedback/SAsyncState.css +0 -4
  296. package/src/styles/style.css +9 -5
  297. package/src/styles/tokens.css +30 -0
  298. package/dist/assets/src/components/layout/SDockRegion.vue_vue_type_style_index_0_scoped_2932631d_lang.css +0 -1
  299. package/dist/assets/src/components/shared/_internal/SDialogSurface.css_vue_type_style_index_0_src_d1b65adf_scoped_d1b65adf_lang.css +0 -2
  300. package/dist/assets/src/components/shared/_internal/SMenuLayer.css_vue_type_style_index_0_src_4913bbe1_scoped_4913bbe1_lang.css +0 -1
  301. package/dist/assets/src/components/shared/containers/SDrawer.css_vue_type_style_index_0_src_091d7325_scoped_091d7325_lang.css +0 -2
  302. package/dist/assets/src/components/shared/containers/SPopover.css_vue_type_style_index_0_src_deded766_scoped_deded766_lang.css +0 -2
  303. package/dist/assets/src/components/shared/containers/SSidebarSection.css_vue_type_style_index_0_src_96f51ac6_scoped_96f51ac6_lang.css +0 -2
  304. package/dist/assets/src/components/shared/controls/SButton.css_vue_type_style_index_0_src_a5d8f7e0_scoped_a5d8f7e0_lang.css +0 -2
  305. package/dist/assets/src/components/shared/controls/SCombobox.css_vue_type_style_index_0_src_e3b4f580_scoped_e3b4f580_lang.css +0 -2
  306. package/dist/assets/src/components/shared/controls/SContextMenu.css_vue_type_style_index_0_src_00c91d39_scoped_00c91d39_lang.css +0 -1
  307. package/dist/assets/src/components/shared/controls/SField.css_vue_type_style_index_0_src_60628f96_scoped_60628f96_lang.css +0 -2
  308. package/dist/assets/src/components/shared/controls/SListbox.css_vue_type_style_index_0_src_24db4abb_scoped_24db4abb_lang.css +0 -2
  309. package/dist/assets/src/components/shared/controls/SMenuSurface.css_vue_type_style_index_0_src_ddcc5fbb_scoped_ddcc5fbb_lang.css +0 -2
  310. package/dist/assets/src/components/shared/controls/SSelect.css_vue_type_style_index_0_src_441648c9_scoped_441648c9_lang.css +0 -2
  311. package/dist/assets/src/components/shared/data-display/SProgressBar.css_vue_type_style_index_0_src_9308293a_scoped_9308293a_lang.css +0 -2
  312. package/dist/assets/src/components/shared/data-display/SRichDocument.css_vue_type_style_index_0_src_d1afafc5_scoped_d1afafc5_lang.css +0 -2
  313. package/dist/assets/src/components/shared/data-display/STable.css_vue_type_style_index_0_src_9955d482_scoped_9955d482_lang.css +0 -2
  314. package/dist/assets/src/components/shared/data-display/SVirtualList.css_vue_type_style_index_0_src_cee8c247_scoped_cee8c247_lang.css +0 -2
  315. package/dist/assets/src/components/shared/data-display/_internal/SRichBlockNode.css_vue_type_style_index_0_src_195d5c06_scoped_195d5c06_lang.css +0 -2
  316. package/dist/assets/src/components/shared/data-display/_internal/SRichDisclosure.css_vue_type_style_index_0_src_fa94e2ff_scoped_fa94e2ff_lang.css +0 -2
  317. package/dist/assets/src/components/shared/feedback/SAsyncState.css_vue_type_style_index_0_src_bfc28903_scoped_bfc28903_lang.css +0 -2
@@ -0,0 +1,115 @@
1
+ import { validateBoolean as e, validateExactString as t } from "../../../../internal/runtimeContract.js";
2
+ import { useOwnedAttrs as n } from "../../../../internal/ownedAttrs.js";
3
+ import { useInteractiveLeafRegistration as r } from "../../../../internal/passiveContentContract.js";
4
+ import { tableRowKey as i, tableSectionKey as a, validateTableMetadata as o } from "./tableFoundation.js";
5
+ import { computed as s, createElementBlock as c, defineComponent as l, inject as u, mergeProps as d, openBlock as f, provide as p, ref as m, renderSlot as h, unref as g, watchEffect as _ } from "vue";
6
+ //#region src/components/shared/data-display/_internal/STableRow.vue?vue&type=script&setup=true&lang.ts
7
+ var v = [
8
+ "data-mode",
9
+ "data-section",
10
+ "data-state",
11
+ "data-selected",
12
+ "data-row-details",
13
+ "data-presentation",
14
+ "aria-selected",
15
+ "id",
16
+ "title",
17
+ "lang",
18
+ "dir",
19
+ "aria-label",
20
+ "aria-labelledby",
21
+ "aria-describedby",
22
+ "tabindex"
23
+ ], y = /*@__PURE__*/ l({
24
+ inheritAttrs: !1,
25
+ __name: "STableRow",
26
+ props: {
27
+ mode: { default: "passive" },
28
+ presentation: { default: "default" },
29
+ state: { default: "default" },
30
+ selected: {
31
+ type: Boolean,
32
+ default: !1
33
+ },
34
+ ariaSelected: {},
35
+ domId: {},
36
+ focusTarget: {
37
+ type: Boolean,
38
+ default: !1
39
+ },
40
+ title: {},
41
+ language: {},
42
+ direction: {},
43
+ ariaLabel: {},
44
+ ariaLabelledby: {},
45
+ ariaDescribedby: {}
46
+ },
47
+ emits: ["activate", "contextmenu"],
48
+ setup(l, { expose: y, emit: b }) {
49
+ let x = l, S = b, C = n({
50
+ component: "STableRow",
51
+ owner: "canonical table row"
52
+ }), w = m(null), T = u(a, s(() => "body")), E = s(() => t("STableRow", "mode", x.mode, ["registry", "passive"])), D = s(() => t("STableRow", "presentation", x.presentation, [
53
+ "default",
54
+ "details",
55
+ "status"
56
+ ])), O = s(() => t("STableRow", "state", x.state, [
57
+ "default",
58
+ "inserted",
59
+ "updated",
60
+ "deleted"
61
+ ])), k = s(() => e("STableRow", "selected", x.selected));
62
+ p(i, {
63
+ state: O,
64
+ selected: k
65
+ }), r({
66
+ owner: "STableRow",
67
+ active: () => E.value === "registry"
68
+ });
69
+ function A(e) {
70
+ if (e === null || e instanceof HTMLTableRowElement) w.value = e;
71
+ else throw TypeError("STableRow: ref must resolve to its native row.");
72
+ }
73
+ _(() => {
74
+ o("STableRow", x), x.ariaSelected !== void 0 && t("STableRow", "ariaSelected", x.ariaSelected, ["true", "false"]);
75
+ });
76
+ function j(e) {
77
+ return e.composedPath().some((t) => t !== e.currentTarget && t instanceof HTMLElement && t.matches("button, a, input, select, textarea, [role=\"button\"], [role=\"link\"]"));
78
+ }
79
+ function M(e) {
80
+ E.value === "registry" && !j(e) && S("activate", e);
81
+ }
82
+ function N(e) {
83
+ E.value === "registry" && !j(e) && S("contextmenu", e);
84
+ }
85
+ function P(e) {
86
+ E.value !== "registry" || e.target !== e.currentTarget || e.key !== "Enter" && e.key !== " " || (e.preventDefault(), S("activate", e));
87
+ }
88
+ return y({ getElement: () => {
89
+ if (!w.value) throw Error("STableRow: native row is unavailable.");
90
+ return w.value;
91
+ } }), (e, t) => (f(), c("tr", d({ ref: A }, g(C).bindings(), {
92
+ class: "s-table-row",
93
+ "data-mode": E.value,
94
+ "data-section": g(T),
95
+ "data-state": O.value,
96
+ "data-selected": k.value || void 0,
97
+ "data-row-details": D.value === "details" || void 0,
98
+ "data-presentation": D.value,
99
+ "aria-selected": l.ariaSelected,
100
+ id: l.domId,
101
+ title: l.title,
102
+ lang: l.language,
103
+ dir: l.direction,
104
+ "aria-label": l.ariaLabel,
105
+ "aria-labelledby": l.ariaLabelledby,
106
+ "aria-describedby": l.ariaDescribedby,
107
+ tabindex: E.value === "registry" ? 0 : l.focusTarget ? -1 : void 0,
108
+ onClick: M,
109
+ onContextmenu: N,
110
+ onKeydown: P
111
+ }), [h(e.$slots, "default", {}, void 0, !0)], 16, v));
112
+ }
113
+ });
114
+ //#endregion
115
+ export { y as default };
@@ -0,0 +1,28 @@
1
+ import { ElementApi } from '../../../../internal/interactiveElement';
2
+ import { STableSectionKind } from './tableFoundation';
3
+ type __VLS_Props = {
4
+ kind: STableSectionKind;
5
+ domId?: string;
6
+ focusTarget?: boolean;
7
+ title?: string;
8
+ language?: string;
9
+ direction?: 'ltr' | 'rtl' | 'auto';
10
+ ariaLabel?: string;
11
+ ariaLabelledby?: string;
12
+ ariaDescribedby?: string;
13
+ };
14
+ declare var __VLS_8: {};
15
+ type __VLS_Slots = {} & {
16
+ default?: (props: typeof __VLS_8) => any;
17
+ };
18
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, ElementApi<HTMLTableSectionElement>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
19
+ focusTarget: boolean;
20
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
21
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
22
+ declare const _default: typeof __VLS_export;
23
+ export default _default;
24
+ type __VLS_WithSlots<T, S> = T & {
25
+ new (): {
26
+ $slots: S;
27
+ };
28
+ };
@@ -0,0 +1,5 @@
1
+ import e from "./STableSection.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/shared/data-display/_internal/STableSection.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,77 @@
1
+ import { validateExactString as e } from "../../../../internal/runtimeContract.js";
2
+ import { useOwnedAttrs as t } from "../../../../internal/ownedAttrs.js";
3
+ import { tableSectionKey as n, validateTableMetadata as r } from "./tableFoundation.js";
4
+ import { computed as i, createBlock as a, defineComponent as o, mergeProps as s, openBlock as c, provide as l, ref as u, renderSlot as d, resolveDynamicComponent as f, unref as p, watchEffect as m, withCtx as h } from "vue";
5
+ //#region src/components/shared/data-display/_internal/STableSection.vue?vue&type=script&setup=true&lang.ts
6
+ var g = /*@__PURE__*/ o({
7
+ inheritAttrs: !1,
8
+ __name: "STableSection",
9
+ props: {
10
+ kind: {},
11
+ domId: {},
12
+ focusTarget: {
13
+ type: Boolean,
14
+ default: !1
15
+ },
16
+ title: {},
17
+ language: {},
18
+ direction: {},
19
+ ariaLabel: {},
20
+ ariaLabelledby: {},
21
+ ariaDescribedby: {}
22
+ },
23
+ setup(o, { expose: g }) {
24
+ let _ = o, v = t({
25
+ component: "STableSection",
26
+ owner: "canonical table row group"
27
+ }), y = u(null), b = i(() => e("STableSection", "kind", _.kind, [
28
+ "head",
29
+ "body",
30
+ "foot"
31
+ ])), x = i(() => ({
32
+ head: "thead",
33
+ body: "tbody",
34
+ foot: "tfoot"
35
+ })[b.value]), S = i(() => ({
36
+ head: "s-table-header",
37
+ body: "s-table-body",
38
+ foot: "s-table-footer"
39
+ })[b.value]);
40
+ l(n, b);
41
+ function C(e) {
42
+ if (e === null || e instanceof HTMLTableSectionElement) y.value = e;
43
+ else throw TypeError("STableSection: ref must resolve to its native row group.");
44
+ }
45
+ return m(() => {
46
+ r("STableSection", _);
47
+ }), g({ getElement: () => {
48
+ if (!y.value) throw Error("STableSection: native row group is unavailable.");
49
+ return y.value;
50
+ } }), (e, t) => (c(), a(f(x.value), s({ ref: C }, p(v).bindings(), {
51
+ class: S.value,
52
+ id: o.domId,
53
+ tabindex: o.focusTarget ? -1 : void 0,
54
+ title: o.title,
55
+ lang: o.language,
56
+ dir: o.direction,
57
+ "aria-label": o.ariaLabel,
58
+ "aria-labelledby": o.ariaLabelledby,
59
+ "aria-describedby": o.ariaDescribedby
60
+ }), {
61
+ default: h(() => [d(e.$slots, "default")]),
62
+ _: 3
63
+ }, 16, [
64
+ "class",
65
+ "id",
66
+ "tabindex",
67
+ "title",
68
+ "lang",
69
+ "dir",
70
+ "aria-label",
71
+ "aria-labelledby",
72
+ "aria-describedby"
73
+ ]));
74
+ }
75
+ });
76
+ //#endregion
77
+ export { g as default };
@@ -0,0 +1,6 @@
1
+ import { SRichImagePresentation } from './richDocumentTypes';
2
+ import { PlainRecord, ValidationContext } from './richDocumentValidation';
3
+ /** Raster data admission checks exact MIME, canonical base64, and the declared format signature. */
4
+ export declare function validateRasterDataUrl(value: unknown, path: string): string;
5
+ /** Responsive fields resolve admitted image resources; raw src/srcset strings are not accepted. */
6
+ export declare function readImagePresentation(record: PlainRecord, path: string, context: ValidationContext, depth: number): SRichImagePresentation;
@@ -0,0 +1,136 @@
1
+ import { S_RICH_DOCUMENT_MAX_NODES as e, S_RICH_DOCUMENT_MAX_TEXT_LENGTH as t, assertFields as n, consumeRichNode as r, fail as i, leave as a, readArray as o, readInteger as s, readRecord as c, readString as l } from "./richDocumentValidation.js";
2
+ //#region src/components/shared/data-display/_internal/richDocumentMedia.ts
3
+ function u(e, t, n = 0) {
4
+ return t.every((t, r) => e.charCodeAt(n + r) === t);
5
+ }
6
+ function d(e, t, n) {
7
+ return (n ? [
8
+ 3,
9
+ 2,
10
+ 1,
11
+ 0
12
+ ] : [
13
+ 0,
14
+ 1,
15
+ 2,
16
+ 3
17
+ ]).reduce((n, r) => n * 256 + e.charCodeAt(t + r), 0);
18
+ }
19
+ function f(e, t) {
20
+ if (e === "image/png") return t.length >= 33 && u(t, [
21
+ 137,
22
+ 80,
23
+ 78,
24
+ 71,
25
+ 13,
26
+ 10,
27
+ 26,
28
+ 10
29
+ ]) && d(t, 8, !1) === 13 && t.slice(12, 16) === "IHDR";
30
+ if (e === "image/jpeg") return t.length >= 4 && u(t, [
31
+ 255,
32
+ 216,
33
+ 255
34
+ ]) && u(t, [255, 217], t.length - 2);
35
+ if (e === "image/gif") return t.length >= 14 && (t.startsWith("GIF87a") || t.startsWith("GIF89a")) && t.endsWith(";");
36
+ if (e === "image/webp") return t.length >= 20 && t.startsWith("RIFF") && t.slice(8, 12) === "WEBP" && d(t, 4, !0) === t.length - 8 && [
37
+ "VP8 ",
38
+ "VP8L",
39
+ "VP8X"
40
+ ].includes(t.slice(12, 16));
41
+ if (e === "image/avif") {
42
+ if (t.length < 24 || t.slice(4, 8) !== "ftyp") return !1;
43
+ let e = d(t, 0, !1);
44
+ if (e < 24 || e > t.length || e % 4 != 0) return !1;
45
+ if (t.slice(8, 12) === "avif" || t.slice(8, 12) === "avis") return !0;
46
+ for (let n = 16; n < e; n += 4) if (t.slice(n, n + 4) === "avif" || t.slice(n, n + 4) === "avis") return !0;
47
+ }
48
+ return !1;
49
+ }
50
+ function p(e, n) {
51
+ let r = l(e, n, { maximum: t }), a = /^data:(image\/(?:png|jpeg|gif|webp|avif));base64,([A-Za-z0-9+/]+={0,2})$/u.exec(r);
52
+ (a === null || a[1] === void 0 || a[2] === void 0 || a[2].length % 4 != 0) && i("unsafe_url", n, "expected a canonical base64 PNG, JPEG, GIF, WebP, or AVIF data URL");
53
+ let o;
54
+ try {
55
+ o = atob(a[2]);
56
+ } catch {
57
+ i("unsafe_url", n, "base64 payload is invalid");
58
+ }
59
+ return (btoa(o) !== a[2] || !f(a[1], o)) && i("unsafe_url", n, "raster MIME and payload signature must match"), r;
60
+ }
61
+ function m(t, r, u) {
62
+ let d = o(t, r, u, {
63
+ minimum: 1,
64
+ maximum: e
65
+ });
66
+ try {
67
+ let e, t = /* @__PURE__ */ new Set();
68
+ return Object.freeze(d.map((o, d) => {
69
+ let f = `${r}[${d}]`, p = c(o, f, u);
70
+ try {
71
+ n(p, f, /* @__PURE__ */ new Set([
72
+ "resourceId",
73
+ "width",
74
+ "density"
75
+ ])), p.width === void 0 == (p.density === void 0) && i("invalid_structure", f, "exactly one width or density descriptor is required");
76
+ let r = l(p.resourceId, `${f}.resourceId`, {
77
+ stable: !0,
78
+ maximum: 256
79
+ }), a = p.width === void 0 ? "density" : "width";
80
+ e !== void 0 && a !== e && i("invalid_structure", f, "candidate sets cannot mix width and density descriptors"), e = a;
81
+ let o;
82
+ return a === "width" ? o = s(p.width, `${f}.width`, 1, 2 ** 53 - 1) : ((typeof p.density != "number" || !Number.isFinite(p.density) || p.density <= 0) && i("invalid_value", `${f}.density`, "density must be a finite positive number"), o = p.density), t.has(o) && i("duplicate_id", `${f}.${a}`, "candidate descriptors must be unique"), t.add(o), Object.freeze(a === "width" ? {
83
+ resourceId: r,
84
+ width: o
85
+ } : {
86
+ resourceId: r,
87
+ density: o
88
+ });
89
+ } finally {
90
+ a(o, u);
91
+ }
92
+ }));
93
+ } finally {
94
+ a(t, u);
95
+ }
96
+ }
97
+ function h(t, s, u, d) {
98
+ let f = o(t, s, u, {
99
+ minimum: 1,
100
+ maximum: e
101
+ });
102
+ try {
103
+ return Object.freeze(f.map((e, t) => {
104
+ let o = `${s}[${t}]`;
105
+ r(o, u, d);
106
+ let f = c(e, o, u);
107
+ try {
108
+ n(f, o, /* @__PURE__ */ new Set(["media", "candidates"]));
109
+ let e = f.media === void 0 ? void 0 : l(f.media, `${o}.media`, {
110
+ stable: !0,
111
+ maximum: 1024
112
+ });
113
+ return e !== void 0 && /[\u0000-\u001F\u007F]/u.test(e) && i("invalid_value", `${o}.media`, "media queries cannot contain control characters"), Object.freeze({
114
+ ...e === void 0 ? {} : { media: e },
115
+ candidates: m(f.candidates, `${o}.candidates`, u)
116
+ });
117
+ } finally {
118
+ a(e, u);
119
+ }
120
+ }));
121
+ } finally {
122
+ a(t, u);
123
+ }
124
+ }
125
+ function g(e, t, n, r) {
126
+ return Object.freeze({
127
+ resourceId: l(e.resourceId, `${t}.resourceId`, {
128
+ stable: !0,
129
+ maximum: 256
130
+ }),
131
+ ...e.candidates === void 0 ? {} : { candidates: m(e.candidates, `${t}.candidates`, n) },
132
+ ...e.pictureSources === void 0 ? {} : { pictureSources: h(e.pictureSources, `${t}.pictureSources`, n, r + 1) }
133
+ });
134
+ }
135
+ //#endregion
136
+ export { g as readImagePresentation, p as validateRasterDataUrl };
@@ -0,0 +1,21 @@
1
+ import { HTMLAttributes, VNodeProps } from 'vue';
2
+ import { SRichSemanticMetadata } from '../richDocument';
3
+ import { RichDocumentNavigation, RichTargetKind } from './richDocumentNavigation';
4
+ export interface RichMetadataTarget {
5
+ readonly kind: RichTargetKind;
6
+ readonly identity: string;
7
+ }
8
+ /** Maps validated semantic metadata to its native owner; no arbitrary attributes or styling channel. */
9
+ export declare function richMetadataBindings(metadata: SRichSemanticMetadata, navigation: RichDocumentNavigation, target?: RichMetadataTarget): HTMLAttributes & VNodeProps;
10
+ /** Exact prop conversion for shared native owners; fallthrough id/lang/ARIA attrs remain forbidden. */
11
+ export declare function richMetadataOwnerBindings(metadata: SRichSemanticMetadata, navigation: RichDocumentNavigation, target?: RichMetadataTarget): {
12
+ domId: string | undefined;
13
+ focusTarget: boolean;
14
+ title: string | undefined;
15
+ language: string | undefined;
16
+ direction: "auto" | "ltr" | "rtl" | undefined;
17
+ ariaLabel: string | undefined;
18
+ ariaLabelledby: string | undefined;
19
+ ariaDescribedby: string | undefined;
20
+ ref: import('vue').VNodeRef | undefined;
21
+ };
@@ -0,0 +1,39 @@
1
+ import { richTargetKey as e } from "./richDocumentNavigation.js";
2
+ //#region src/components/shared/data-display/_internal/richDocumentMetadata.ts
3
+ function t(t, n, r) {
4
+ let i = t.anchorId, a = i === void 0 ? r : {
5
+ kind: "anchor",
6
+ identity: i
7
+ }, o = a === void 0 ? [] : [e(a.kind, a.identity)];
8
+ r !== void 0 && a !== void 0 && (a.kind !== r.kind || a.identity !== r.identity) && o.push(e(r.kind, r.identity));
9
+ let s = (e) => e?.map((e) => n.domId("anchor", e)).join(" ");
10
+ return {
11
+ ...a === void 0 ? {} : {
12
+ id: n.domId(a.kind, a.identity),
13
+ tabindex: -1
14
+ },
15
+ ref: (e) => n.registerTargets(o, e),
16
+ title: t.title,
17
+ lang: t.lang,
18
+ dir: t.direction,
19
+ "aria-label": t.accessibleLabel,
20
+ "aria-labelledby": s(t.labelledBy),
21
+ "aria-describedby": s(t.describedBy)
22
+ };
23
+ }
24
+ function n(e, n, r) {
25
+ let i = t(e, n, r);
26
+ return {
27
+ domId: i.id,
28
+ focusTarget: i.tabindex === -1,
29
+ title: i.title,
30
+ language: i.lang,
31
+ direction: e.direction,
32
+ ariaLabel: e.accessibleLabel,
33
+ ariaLabelledby: i["aria-labelledby"],
34
+ ariaDescribedby: i["aria-describedby"],
35
+ ref: i.ref
36
+ };
37
+ }
38
+ //#endregion
39
+ export { t as richMetadataBindings, n as richMetadataOwnerBindings };
@@ -0,0 +1,30 @@
1
+ import { InjectionKey } from 'vue';
2
+ import { ElementRefTarget } from '../../../../internal/interactiveElement';
3
+ export type RichTargetKind = 'anchor' | 'footnote' | 'reference' | 'cell';
4
+ export interface RichDocumentNavigation {
5
+ /** Injective DOM identity scoped to this mounted document, not the user-provided document ID. */
6
+ domId: (kind: RichTargetKind, identity: string) => string;
7
+ /** Registers native owners or their public ElementApi; null unregisters an unmounted owner. */
8
+ registerTarget: (key: string, target: ElementRefTarget) => void;
9
+ /** Replaces the complete alias bundle of one native owner, including streaming identity changes. */
10
+ registerTargets: (keys: readonly string[], target: ElementRefTarget) => void;
11
+ /** Registers a composed disclosure ancestor's reveal action; null releases its native owner. */
12
+ registerDisclosure: (owner: HTMLElement, reveal: (() => void) | null) => void;
13
+ /** Reveals, focuses, and scrolls a registered local target without changing browser history. */
14
+ navigate: (key: string) => Promise<void>;
15
+ dispose: () => void;
16
+ }
17
+ export declare const richDocumentNavigationKey: InjectionKey<RichDocumentNavigation>;
18
+ /** Exact tuple identity avoids delimiter collisions between definition and occurrence keys. */
19
+ export declare function richReferenceIdentity(id: string, occurrenceId?: string): string;
20
+ /** Purpose and logical identity are independent, serializable registry coordinates. */
21
+ export declare function richTargetKey(kind: RichTargetKind, identity: string): string;
22
+ /** Encodes the Vue namespace without normalizing host-configured app ID prefixes. */
23
+ export declare function richDocumentScope(vueId: string): string;
24
+ /** Creates a local owner registry. Unknown, duplicate, foreign, or unfocusable targets fail explicitly. */
25
+ export declare function createRichDocumentNavigation(scope: string, getRoot: () => HTMLElement, resolveDomIdentity?: (kind: RichTargetKind, identity: string) => {
26
+ readonly kind: RichTargetKind;
27
+ readonly identity: string;
28
+ }): RichDocumentNavigation;
29
+ /** Requires the single mounted rich-document navigation owner. */
30
+ export declare function useRichDocumentNavigation(): RichDocumentNavigation;
@@ -0,0 +1,88 @@
1
+ import { resolveInteractiveElement as e } from "../../../../internal/interactiveElement.js";
2
+ import { inject as t, nextTick as n } from "vue";
3
+ //#region src/components/shared/data-display/_internal/richDocumentNavigation.ts
4
+ var r = Symbol("richDocumentNavigation");
5
+ function i(e, t) {
6
+ return JSON.stringify([e, t ?? e]);
7
+ }
8
+ function a(e, t) {
9
+ return JSON.stringify([e, t]);
10
+ }
11
+ function o(e) {
12
+ if (/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/u.test(e)) throw TypeError("SRichDocument: identity must contain well-formed Unicode");
13
+ return [...new TextEncoder().encode(e)].map((e) => e.toString(16).padStart(2, "0")).join("");
14
+ }
15
+ function s(e) {
16
+ return `s-rich-document-${o(e)}`;
17
+ }
18
+ function c(t, r, i) {
19
+ let a = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), l = (t, n) => {
20
+ if (new Set(t).size !== t.length) throw Error("SRichDocument: duplicate keys in a target bundle");
21
+ let r = e("SRichDocument navigation", n);
22
+ if (r === null) {
23
+ for (let e of t) {
24
+ let t = a.get(e);
25
+ if (a.delete(e), t !== void 0) {
26
+ let n = s.get(t)?.filter((t) => t !== e) ?? [];
27
+ n.length === 0 ? s.delete(t) : s.set(t, n);
28
+ }
29
+ }
30
+ return;
31
+ }
32
+ for (let e of t) {
33
+ let t = a.get(e);
34
+ if (t !== void 0 && t !== r) throw Error(`SRichDocument: duplicate target owner ${JSON.stringify(e)}`);
35
+ }
36
+ for (let e of s.get(r) ?? []) a.delete(e);
37
+ t.length === 0 ? s.delete(r) : s.set(r, [...t]);
38
+ for (let e of t) a.set(e, r);
39
+ };
40
+ return {
41
+ domId: (e, n) => {
42
+ let r = i?.(e, n) ?? {
43
+ kind: e,
44
+ identity: n
45
+ };
46
+ return `${t}-${r.kind}-${o(r.identity)}`;
47
+ },
48
+ registerTarget: (e, t) => l([e], t),
49
+ registerTargets: l,
50
+ registerDisclosure: (e, t) => {
51
+ t === null ? c.delete(e) : c.set(e, t);
52
+ },
53
+ navigate: async (e) => {
54
+ let t = r(), i = a.get(e);
55
+ if (!i) throw Error(`SRichDocument: target ${JSON.stringify(e)} is unavailable`);
56
+ if (!t.contains(i)) throw Error(`SRichDocument: target ${JSON.stringify(e)} is outside its document`);
57
+ let o = [], s = i.parentElement;
58
+ for (; s !== null && s !== t;) {
59
+ if (s instanceof HTMLDetailsElement) {
60
+ let e = s;
61
+ o.unshift(() => {
62
+ e.open = !0;
63
+ });
64
+ } else {
65
+ let e = c.get(s);
66
+ e !== void 0 && o.unshift(e);
67
+ }
68
+ s = s.parentElement;
69
+ }
70
+ for (let e of o) e();
71
+ if (await n(), i.focus({ preventScroll: !0 }), i.ownerDocument.activeElement !== i) throw Error(`SRichDocument: target ${JSON.stringify(e)} is not focusable`);
72
+ i.scrollIntoView({
73
+ block: "nearest",
74
+ inline: "nearest"
75
+ });
76
+ },
77
+ dispose: () => {
78
+ a.clear(), s.clear(), c.clear();
79
+ }
80
+ };
81
+ }
82
+ function l() {
83
+ let e = t(r);
84
+ if (!e) throw Error("SRichDocument: scoped navigation owner is unavailable");
85
+ return e;
86
+ }
87
+ //#endregion
88
+ export { c as createRichDocumentNavigation, r as richDocumentNavigationKey, s as richDocumentScope, i as richReferenceIdentity, a as richTargetKey, l as useRichDocumentNavigation };
@@ -0,0 +1,9 @@
1
+ import { SRichBlockNode, SRichInlineNode, SRichSemanticTableNode } from './richDocumentTypes';
2
+ import { PlainRecord, ValidationContext } from './richDocumentValidation';
3
+ interface ContentValidators {
4
+ readonly inline: (value: unknown, path: string, depth: number) => readonly SRichInlineNode[];
5
+ readonly block: (value: unknown, path: string, depth: number) => readonly SRichBlockNode[];
6
+ }
7
+ /** Structural tables retain row groups and content kinds while enforcing grid and header invariants. */
8
+ export declare function validateSemanticTable(record: PlainRecord, path: string, context: ValidationContext, depth: number, children: ContentValidators): SRichSemanticTableNode;
9
+ export {};