@heartlandone/vega 2.94.0 → 2.96.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 (381) hide show
  1. package/dist/cjs/{app-globals-d05c3410.js → app-globals-38afea36.js} +7 -7
  2. package/dist/cjs/{child-nodes-event-prevent-slimmer-e67ee84c.js → child-nodes-event-prevent-slimmer-e0ac8467.js} +1 -1
  3. package/dist/cjs/{code-block-493c7ce7.js → code-block-4126dc3b.js} +1501 -55
  4. package/dist/cjs/{component-value-history-controller-slimmer.abstract-ab21fcbf.js → component-value-history-controller-slimmer.abstract-38ba956e.js} +2 -2
  5. package/dist/cjs/{content-state-fc34a814.js → content-state-50e8a03c.js} +142 -580
  6. package/dist/cjs/{element-appender-slimmer-1d6323c2.js → element-appender-slimmer-7773fdab.js} +115 -0
  7. package/dist/cjs/{event-emit-slimmer-d234a619.js → event-emit-slimmer-34aa195e.js} +1 -1
  8. package/dist/cjs/{image-annotation-action-7c4cd316.js → image-annotation-action-89363de8.js} +2 -2
  9. package/dist/cjs/{image-extension-30a7c10f.js → image-extension-c881c454.js} +2 -2
  10. package/dist/cjs/index.cjs.js +11 -11
  11. package/dist/cjs/{internal-vega-event-manager-13c4012b.js → internal-vega-event-manager-7003c84a.js} +10 -2
  12. package/dist/cjs/{link-extension-92a63cb7.js → link-extension-b7f99a52.js} +2 -2
  13. package/dist/cjs/loader.cjs.js +9 -9
  14. package/dist/cjs/{public-rules-9e1ea1d9.js → public-rules-72894208.js} +3 -3
  15. package/dist/cjs/{range-30219330.js → range-95d41dea.js} +1 -1
  16. package/dist/cjs/{rich-text-editor-required-rule-23bf7485.js → rich-text-editor-required-rule-4d6d2493.js} +1 -1
  17. package/dist/cjs/shared-backdrop-manager-71e54fdb.js +199 -0
  18. package/dist/cjs/{split-cell-operation-43752212.js → split-cell-operation-70be116d.js} +2 -2
  19. package/dist/cjs/{token-extension-ea891d54.js → token-extension-eb828948.js} +36 -12
  20. package/dist/cjs/vega-accordion.cjs.entry.js +2 -2
  21. package/dist/cjs/vega-app-footer.cjs.entry.js +2 -2
  22. package/dist/cjs/vega-app-header-button.cjs.entry.js +3 -3
  23. package/dist/cjs/vega-banner.cjs.entry.js +2 -2
  24. package/dist/cjs/vega-breadcrumb.cjs.entry.js +3 -3
  25. package/dist/cjs/vega-button-circle.cjs.entry.js +3 -3
  26. package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
  27. package/dist/cjs/vega-button-link.cjs.entry.js +3 -3
  28. package/dist/cjs/vega-button.cjs.entry.js +3 -3
  29. package/dist/cjs/vega-calendar_5.cjs.entry.js +3 -3
  30. package/dist/cjs/vega-carousel.cjs.entry.js +2 -2
  31. package/dist/cjs/vega-checkbox_2.cjs.entry.js +3 -3
  32. package/dist/cjs/vega-chip.cjs.entry.js +3 -3
  33. package/dist/cjs/vega-code-block.cjs.entry.js +6 -6
  34. package/dist/cjs/vega-color-picker.cjs.entry.js +2 -2
  35. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +3 -3
  36. package/dist/cjs/vega-color-swatch.cjs.entry.js +2 -2
  37. package/dist/cjs/vega-combo-box.cjs.entry.js +22 -4
  38. package/dist/cjs/vega-date-picker_2.cjs.entry.js +4 -4
  39. package/dist/cjs/vega-dialog_2.cjs.entry.js +160 -70
  40. package/dist/cjs/vega-dropdown_5.cjs.entry.js +41 -13
  41. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  42. package/dist/cjs/vega-field-label.cjs.entry.js +2 -2
  43. package/dist/cjs/vega-file-uploader.cjs.entry.js +2 -2
  44. package/dist/cjs/vega-form.cjs.entry.js +3 -3
  45. package/dist/cjs/vega-image-uploader.cjs.entry.js +3 -3
  46. package/dist/cjs/vega-input-credit-card.cjs.entry.js +3 -3
  47. package/dist/cjs/vega-input-numeric.cjs.entry.js +3 -3
  48. package/dist/cjs/vega-input-passcode.cjs.entry.js +3 -3
  49. package/dist/cjs/vega-input-phone-number.cjs.entry.js +3 -3
  50. package/dist/cjs/vega-input-range.cjs.entry.js +3 -3
  51. package/dist/cjs/vega-input-select.cjs.entry.js +54 -5
  52. package/dist/cjs/vega-input.cjs.entry.js +2 -2
  53. package/dist/cjs/vega-item-toggle.cjs.entry.js +2 -2
  54. package/dist/cjs/vega-left-nav_5.cjs.entry.js +32 -193
  55. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +2 -2
  56. package/dist/cjs/vega-pagination.cjs.entry.js +3 -3
  57. package/dist/cjs/vega-popover_2.cjs.entry.js +3 -3
  58. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +13 -3
  59. package/dist/cjs/vega-radio_2.cjs.entry.js +3 -3
  60. package/dist/cjs/vega-rich-text-content.cjs.entry.js +58 -9
  61. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +611 -93
  62. package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +2 -2
  63. package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +2 -2
  64. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +5 -5
  65. package/dist/cjs/vega-section-title.cjs.entry.js +896 -14
  66. package/dist/cjs/vega-segment-control.cjs.entry.js +2 -2
  67. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +3 -3
  68. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +3 -3
  69. package/dist/cjs/vega-sidenav_3.cjs.entry.js +2 -2
  70. package/dist/cjs/vega-signature-capture.cjs.entry.js +2 -2
  71. package/dist/cjs/vega-stepper.cjs.entry.js +3 -3
  72. package/dist/cjs/vega-tab-group_2.cjs.entry.js +3 -3
  73. package/dist/cjs/vega-table_11.cjs.entry.js +3 -3
  74. package/dist/cjs/vega-textarea.cjs.entry.js +3 -3
  75. package/dist/cjs/vega-time-picker_2.cjs.entry.js +4 -4
  76. package/dist/cjs/vega-toggle-switch.cjs.entry.js +2 -2
  77. package/dist/cjs/vega-tooltip_2.cjs.entry.js +1 -1
  78. package/dist/cjs/vega.cjs.js +9 -9
  79. package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +5 -1
  80. package/dist/collection/components/vega-combo-box/vega-combo-box.js +52 -1
  81. package/dist/collection/components/vega-dialog/vega-dialog.js +1 -1
  82. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-render-mode-controller.js +7 -6
  83. package/dist/collection/components/vega-dropdown/vega-dropdown.js +36 -8
  84. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.js +11 -1
  85. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-items-slot-controler.js +23 -2
  86. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +4 -0
  87. package/dist/collection/components/vega-input-select/vega-input-select.js +53 -2
  88. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-backdrop-manager.js +141 -0
  89. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +10 -17
  90. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-z-index-controller.js +2 -2
  91. package/dist/collection/components/vega-modal/slimmers/renderers/vega-modal-renderer.js +3 -2
  92. package/dist/collection/components/vega-modal/vega-modal.js +77 -8
  93. package/dist/collection/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-steps-controller.js +7 -0
  94. package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.js +6 -0
  95. package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.css +4 -0
  96. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.js +29 -0
  97. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-or-decorator-node-strategy.js +10 -1
  98. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-list-strategy.js +8 -3
  99. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-annotation-strategy.abstract.js +60 -0
  100. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-replace-nest-list-strategy.js +36 -4
  101. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-items-strategy.abstract.js +27 -0
  102. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-nest-items-strategy.js +74 -0
  103. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.js +81 -1
  104. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-selection.js +30 -0
  105. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-list-strategy.js +160 -9
  106. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-paragraph-strategy.js +376 -10
  107. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-unnest-items-strategy.js +104 -0
  108. package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +2 -0
  109. package/dist/collection/components/vega-rich-text-editor/dto/actions/nest-list-items-action.js +12 -0
  110. package/dist/collection/components/vega-rich-text-editor/dto/actions/unnest-list-items-action.js +12 -0
  111. package/dist/collection/components/vega-rich-text-editor/dto/annotations/list-annotation.js +12 -0
  112. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +10 -1
  113. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +11 -3
  114. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +7 -1
  115. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-block-filter-styles-strategy.js +8 -4
  116. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +34 -1
  117. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +20 -3
  118. package/dist/collection/components/vega-rich-text-editor/extensions/table/annotation-handler/table-annotation-handler-base.js +25 -1
  119. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/li-to-rte-list-item-block-strategy.js +2 -0
  120. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/abstract-delete-content-handler.js +29 -0
  121. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +30 -1
  122. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/abstract-list-keyboard-handler.js +204 -0
  123. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-shift-tab-outdent-handler.js +42 -0
  124. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-tab-indent-handler.js +34 -0
  125. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/list-keyboard-slimmer.js +180 -0
  126. package/dist/collection/components/vega-section-title/slimmers/a11y-tree/build-section-title-a11y-tree.js +54 -0
  127. package/dist/collection/components/vega-section-title/slimmers/renderers/vega-section-title-renderer.js +4 -4
  128. package/dist/collection/components/vega-section-title/vega-section-title.js +18 -2
  129. package/dist/collection/helpers/a11y-tree/a11y-node-dto.js +210 -0
  130. package/dist/collection/helpers/a11y-tree/a11y-tree-applier.js +189 -0
  131. package/dist/collection/helpers/a11y-tree/a11y-tree.types.js +48 -0
  132. package/dist/collection/helpers/a11y-tree/strategies/baseline-strategy.js +78 -0
  133. package/dist/collection/helpers/a11y-tree/strategies/firefox-nvda-strategy.js +56 -0
  134. package/dist/collection/helpers/a11y-tree/strategies/webkit-voiceover-strategy.js +140 -0
  135. package/dist/collection/helpers/a11y-tree/strategy-resolver.js +172 -0
  136. package/dist/collection/helpers/backdrop/shared-backdrop-manager.js +32 -1
  137. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +11 -3
  138. package/dist/collection/helpers/slimmers/a11y-tree-slimmer.js +54 -0
  139. package/dist/collection/helpers/slimmers/element-appender/element-appender-slimmer.js +29 -0
  140. package/dist/collection/helpers/slimmers/element-appender/visibility-modifiers/clip-on-scroll-modifier.js +70 -0
  141. package/dist/collection/helpers/slimmers/element-appender/visibility-modifiers/visibility-modifier.interface.js +1 -0
  142. package/dist/collection/helpers/ui/element-appender.js +16 -0
  143. package/dist/esm/{app-globals-f2336686.js → app-globals-d7b651c1.js} +7 -7
  144. package/dist/esm/{child-nodes-event-prevent-slimmer-96c14f5a.js → child-nodes-event-prevent-slimmer-82626871.js} +1 -1
  145. package/dist/esm/{code-block-e12588fe.js → code-block-0a88b481.js} +1495 -51
  146. package/dist/esm/{component-value-history-controller-slimmer.abstract-4e8eb313.js → component-value-history-controller-slimmer.abstract-6846edfa.js} +2 -2
  147. package/dist/esm/{content-state-8032467a.js → content-state-79ca99e5.js} +105 -541
  148. package/dist/esm/{element-appender-slimmer-7fcb944b.js → element-appender-slimmer-73ad10ae.js} +115 -0
  149. package/dist/esm/{event-emit-slimmer-db4a82e0.js → event-emit-slimmer-2452278f.js} +1 -1
  150. package/dist/esm/{image-annotation-action-b3b6c308.js → image-annotation-action-bb299ef1.js} +3 -3
  151. package/dist/esm/{image-extension-b6c7e4a7.js → image-extension-48a96f98.js} +2 -2
  152. package/dist/esm/index.js +10 -10
  153. package/dist/esm/{internal-vega-event-manager-48690e5b.js → internal-vega-event-manager-2ecc9186.js} +11 -3
  154. package/dist/esm/{link-extension-97fcb8fb.js → link-extension-09534514.js} +2 -2
  155. package/dist/esm/loader.js +10 -10
  156. package/dist/esm/{public-rules-c06f0d2a.js → public-rules-5eb03ef0.js} +3 -3
  157. package/dist/esm/{range-e999837f.js → range-d4deb7df.js} +1 -1
  158. package/dist/esm/{rich-text-editor-required-rule-71f8ee98.js → rich-text-editor-required-rule-5bbbce23.js} +1 -1
  159. package/dist/esm/shared-backdrop-manager-a7c63838.js +197 -0
  160. package/dist/esm/{split-cell-operation-359f8082.js → split-cell-operation-7f3058ad.js} +2 -2
  161. package/dist/esm/{token-extension-9896879b.js → token-extension-40c32bcc.js} +32 -8
  162. package/dist/esm/vega-accordion.entry.js +3 -3
  163. package/dist/esm/vega-app-footer.entry.js +3 -3
  164. package/dist/esm/vega-app-header-button.entry.js +4 -4
  165. package/dist/esm/vega-banner.entry.js +3 -3
  166. package/dist/esm/vega-breadcrumb.entry.js +4 -4
  167. package/dist/esm/vega-button-circle.entry.js +4 -4
  168. package/dist/esm/vega-button-group_2.entry.js +4 -4
  169. package/dist/esm/vega-button-link.entry.js +4 -4
  170. package/dist/esm/vega-button.entry.js +4 -4
  171. package/dist/esm/vega-calendar_5.entry.js +4 -4
  172. package/dist/esm/vega-carousel.entry.js +3 -3
  173. package/dist/esm/vega-checkbox_2.entry.js +4 -4
  174. package/dist/esm/vega-chip.entry.js +4 -4
  175. package/dist/esm/vega-code-block.entry.js +7 -7
  176. package/dist/esm/vega-color-picker.entry.js +3 -3
  177. package/dist/esm/vega-color-swatch-picker.entry.js +4 -4
  178. package/dist/esm/vega-color-swatch.entry.js +3 -3
  179. package/dist/esm/vega-combo-box.entry.js +23 -5
  180. package/dist/esm/vega-date-picker_2.entry.js +5 -5
  181. package/dist/esm/vega-dialog_2.entry.js +161 -71
  182. package/dist/esm/vega-dropdown_5.entry.js +42 -14
  183. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  184. package/dist/esm/{vega-event-id-270fe47e.js → vega-event-id-f55f6977.js} +1 -1
  185. package/dist/esm/vega-field-label.entry.js +3 -3
  186. package/dist/esm/vega-file-uploader.entry.js +3 -3
  187. package/dist/esm/vega-form.entry.js +4 -4
  188. package/dist/esm/vega-image-uploader.entry.js +4 -4
  189. package/dist/esm/vega-input-credit-card.entry.js +4 -4
  190. package/dist/esm/vega-input-numeric.entry.js +4 -4
  191. package/dist/esm/vega-input-passcode.entry.js +4 -4
  192. package/dist/esm/vega-input-phone-number.entry.js +4 -4
  193. package/dist/esm/vega-input-range.entry.js +4 -4
  194. package/dist/esm/vega-input-select.entry.js +55 -6
  195. package/dist/esm/vega-input.entry.js +3 -3
  196. package/dist/esm/vega-item-toggle.entry.js +3 -3
  197. package/dist/esm/vega-left-nav_5.entry.js +32 -193
  198. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  199. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +3 -3
  200. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +1 -1
  201. package/dist/esm/vega-pagination.entry.js +4 -4
  202. package/dist/esm/vega-popover_2.entry.js +4 -4
  203. package/dist/esm/vega-progress-tracker_2.entry.js +14 -4
  204. package/dist/esm/vega-radio_2.entry.js +4 -4
  205. package/dist/esm/vega-rich-text-content.entry.js +59 -10
  206. package/dist/esm/vega-rich-text-editor_4.entry.js +608 -90
  207. package/dist/esm/vega-rich-text-find-replace-panel.entry.js +3 -3
  208. package/dist/esm/vega-rich-text-special-characters-panel.entry.js +3 -3
  209. package/dist/esm/vega-rich-text-table-properties_3.entry.js +6 -6
  210. package/dist/esm/vega-section-title.entry.js +897 -15
  211. package/dist/esm/vega-segment-control.entry.js +3 -3
  212. package/dist/esm/vega-selection-chip_2.entry.js +4 -4
  213. package/dist/esm/vega-selection-tile_2.entry.js +4 -4
  214. package/dist/esm/vega-sidenav_3.entry.js +3 -3
  215. package/dist/esm/vega-signature-capture.entry.js +3 -3
  216. package/dist/esm/vega-stepper.entry.js +4 -4
  217. package/dist/esm/vega-tab-group_2.entry.js +4 -4
  218. package/dist/esm/vega-table_11.entry.js +4 -4
  219. package/dist/esm/vega-textarea.entry.js +4 -4
  220. package/dist/esm/vega-time-picker_2.entry.js +5 -5
  221. package/dist/esm/vega-toggle-switch.entry.js +3 -3
  222. package/dist/esm/vega-tooltip_2.entry.js +1 -1
  223. package/dist/esm/vega.js +10 -10
  224. package/dist/sri/vega-sri-manifest.json +272 -268
  225. package/dist/types/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.d.ts +1 -0
  226. package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +21 -0
  227. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-render-mode-controller.d.ts +2 -1
  228. package/dist/types/components/vega-dropdown/types.d.ts +2 -2
  229. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +36 -9
  230. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.d.ts +2 -0
  231. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-items-slot-controler.d.ts +10 -0
  232. package/dist/types/components/vega-input-select/types.d.ts +1 -0
  233. package/dist/types/components/vega-input-select/vega-input-select.d.ts +21 -0
  234. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-backdrop-manager.d.ts +66 -0
  235. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.d.ts +1 -5
  236. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-z-index-controller.d.ts +1 -1
  237. package/dist/types/components/vega-modal/slimmers/renderers/vega-modal-renderer.d.ts +1 -1
  238. package/dist/types/components/vega-modal/vega-modal.d.ts +34 -6
  239. package/dist/types/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-steps-controller.d.ts +2 -0
  240. package/dist/types/components/vega-progress-tracker/vega-progress-tracker.d.ts +1 -0
  241. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-annotation-strategy.abstract.d.ts +36 -0
  242. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-replace-nest-list-strategy.d.ts +14 -2
  243. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-items-strategy.abstract.d.ts +22 -0
  244. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-nest-items-strategy.d.ts +21 -0
  245. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.d.ts +14 -0
  246. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-selection.d.ts +15 -0
  247. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-list-strategy.d.ts +30 -3
  248. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-paragraph-strategy.d.ts +99 -3
  249. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-unnest-items-strategy.d.ts +22 -0
  250. package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +2 -0
  251. package/dist/types/components/vega-rich-text-editor/dto/actions/nest-list-items-action.d.ts +11 -0
  252. package/dist/types/components/vega-rich-text-editor/dto/actions/unnest-list-items-action.d.ts +11 -0
  253. package/dist/types/components/vega-rich-text-editor/dto/annotations/list-annotation.d.ts +8 -0
  254. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +6 -1
  255. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +5 -1
  256. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +2 -2
  257. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.d.ts +2 -0
  258. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.d.ts +8 -0
  259. package/dist/types/components/vega-rich-text-editor/extensions/table/annotation-handler/table-annotation-handler-base.d.ts +18 -0
  260. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.d.ts +8 -0
  261. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/abstract-list-keyboard-handler.d.ts +99 -0
  262. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-shift-tab-outdent-handler.d.ts +15 -0
  263. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-tab-indent-handler.d.ts +15 -0
  264. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/list-keyboard-slimmer.d.ts +73 -0
  265. package/dist/types/components/vega-section-title/slimmers/a11y-tree/build-section-title-a11y-tree.d.ts +41 -0
  266. package/dist/types/components/vega-section-title/vega-section-title.d.ts +9 -0
  267. package/dist/types/components.d.ts +42 -8
  268. package/dist/types/helpers/a11y-tree/a11y-node-dto.d.ts +173 -0
  269. package/dist/types/helpers/a11y-tree/a11y-tree-applier.d.ts +28 -0
  270. package/dist/types/helpers/a11y-tree/a11y-tree.types.d.ts +137 -0
  271. package/dist/types/helpers/a11y-tree/strategies/baseline-strategy.d.ts +18 -0
  272. package/dist/types/helpers/a11y-tree/strategies/firefox-nvda-strategy.d.ts +16 -0
  273. package/dist/types/helpers/a11y-tree/strategies/webkit-voiceover-strategy.d.ts +23 -0
  274. package/dist/types/helpers/a11y-tree/strategy-resolver.d.ts +59 -0
  275. package/dist/types/helpers/backdrop/shared-backdrop-manager.d.ts +16 -0
  276. package/dist/types/helpers/slimmers/a11y-tree-slimmer.d.ts +49 -0
  277. package/dist/types/helpers/slimmers/element-appender/element-appender-slimmer.d.ts +9 -0
  278. package/dist/types/helpers/slimmers/element-appender/visibility-modifiers/clip-on-scroll-modifier.d.ts +37 -0
  279. package/dist/types/helpers/slimmers/element-appender/visibility-modifiers/visibility-modifier.interface.d.ts +56 -0
  280. package/dist/types/helpers/ui/element-appender.d.ts +7 -0
  281. package/dist/vega/index.esm.js +1 -1
  282. package/dist/vega/{p-3e8baeac.entry.js → p-0512308f.entry.js} +1 -1
  283. package/dist/vega/{p-46fe3154.entry.js → p-1d8312d3.entry.js} +1 -1
  284. package/dist/vega/{p-f5d7b89f.entry.js → p-1dfbc542.entry.js} +1 -1
  285. package/dist/vega/{p-fbd3be00.entry.js → p-200c8914.entry.js} +1 -1
  286. package/dist/vega/{p-e235020b.entry.js → p-22cc174e.entry.js} +1 -1
  287. package/dist/vega/{p-b1ff70bf.js → p-2c737fc8.js} +1 -1
  288. package/dist/vega/{p-782eb312.entry.js → p-2d77ae73.entry.js} +1 -1
  289. package/dist/vega/{p-cb90163a.entry.js → p-2d8d4d5b.entry.js} +1 -1
  290. package/dist/vega/{p-f651df3b.entry.js → p-2df5d59b.entry.js} +1 -1
  291. package/dist/vega/p-31216140.js +1 -0
  292. package/dist/vega/{p-f7e459cd.js → p-312d8205.js} +1 -1
  293. package/dist/vega/{p-a7209700.js → p-3345d903.js} +1 -1
  294. package/dist/vega/{p-44439ecc.entry.js → p-36d2df7a.entry.js} +1 -1
  295. package/dist/vega/{p-02355de8.js → p-3c23ec90.js} +1 -1
  296. package/dist/vega/{p-2bf17505.entry.js → p-3d6f761a.entry.js} +1 -1
  297. package/dist/vega/p-4151f53a.entry.js +1 -0
  298. package/dist/vega/{p-a057285e.entry.js → p-49e1cf4d.entry.js} +1 -1
  299. package/dist/vega/{p-698fbd73.js → p-5447a8e8.js} +1 -1
  300. package/dist/vega/p-55e0014a.js +3 -0
  301. package/dist/vega/{p-45e8424a.entry.js → p-56d19601.entry.js} +1 -1
  302. package/dist/vega/{p-addbca58.entry.js → p-5924adae.entry.js} +1 -1
  303. package/dist/vega/{p-9dca874d.entry.js → p-5e4517eb.entry.js} +1 -1
  304. package/dist/vega/p-5f377954.js +1 -1
  305. package/dist/vega/p-65fee02f.entry.js +1 -0
  306. package/dist/vega/{p-140616fe.js → p-66647244.js} +1 -1
  307. package/dist/vega/{p-62d6e063.entry.js → p-6680ba17.entry.js} +1 -1
  308. package/dist/vega/p-6a51d720.js +1 -0
  309. package/dist/vega/{p-fe24b459.js → p-6c7b6d45.js} +1 -1
  310. package/dist/vega/{p-288d65ad.entry.js → p-6fcec7c7.entry.js} +1 -1
  311. package/dist/vega/{p-d08ffdf1.entry.js → p-74f86ff9.entry.js} +1 -1
  312. package/dist/vega/{p-6ad7144a.entry.js → p-775ecfad.entry.js} +1 -1
  313. package/dist/vega/{p-6f70a10f.entry.js → p-7950f3e2.entry.js} +1 -1
  314. package/dist/vega/{p-f246f125.entry.js → p-80b7945a.entry.js} +1 -1
  315. package/dist/vega/p-8354cff0.entry.js +1 -0
  316. package/dist/vega/{p-5db61a12.entry.js → p-841b3281.entry.js} +1 -1
  317. package/dist/vega/{p-579cdeae.js → p-84b7a775.js} +1 -1
  318. package/dist/vega/p-87e5cb56.entry.js +1 -0
  319. package/dist/vega/p-8c30a60d.js +1 -0
  320. package/dist/vega/{p-f8a29127.entry.js → p-8d96f0e8.entry.js} +1 -1
  321. package/dist/vega/{p-95913e3c.entry.js → p-91303402.entry.js} +1 -1
  322. package/dist/vega/p-96da7d30.entry.js +1 -0
  323. package/dist/vega/{p-51b68d25.js → p-9d3f69cb.js} +1 -1
  324. package/dist/vega/{p-ed103a1a.entry.js → p-9d96d83f.entry.js} +1 -1
  325. package/dist/vega/{p-6dfe2407.js → p-9f11b579.js} +1 -1
  326. package/dist/vega/p-9f201152.entry.js +1 -0
  327. package/dist/vega/{p-48ee3e24.entry.js → p-a775825e.entry.js} +1 -1
  328. package/dist/vega/{p-9d18ba7f.entry.js → p-acaff62d.entry.js} +1 -1
  329. package/dist/vega/{p-b8f8e480.entry.js → p-ae146458.entry.js} +1 -1
  330. package/dist/vega/{p-e8ee70c5.entry.js → p-b3a2ce06.entry.js} +1 -1
  331. package/dist/vega/{p-5107277d.entry.js → p-b4c26035.entry.js} +1 -1
  332. package/dist/vega/p-b63319e9.entry.js +1 -0
  333. package/dist/vega/{p-c9daabe1.entry.js → p-b660f38c.entry.js} +1 -1
  334. package/dist/vega/{p-8c083255.entry.js → p-b8c13ac9.entry.js} +1 -1
  335. package/dist/vega/p-b8ffa42f.entry.js +1 -0
  336. package/dist/vega/{p-7b57a845.entry.js → p-b9e72de2.entry.js} +1 -1
  337. package/dist/vega/{p-0af32f31.entry.js → p-bb60e381.entry.js} +1 -1
  338. package/dist/vega/p-bbad318e.entry.js +1 -0
  339. package/dist/vega/p-c0e42c03.entry.js +1 -0
  340. package/dist/vega/{p-c67b9aba.entry.js → p-c41f5684.entry.js} +1 -1
  341. package/dist/vega/{p-4fe40b76.js → p-c4564904.js} +1 -1
  342. package/dist/vega/{p-341a6b32.entry.js → p-c54b5a8f.entry.js} +1 -1
  343. package/dist/vega/p-cd1e976c.entry.js +1 -0
  344. package/dist/vega/p-d9158512.js +1 -0
  345. package/dist/vega/{p-2dc5edd0.entry.js → p-db11134b.entry.js} +1 -1
  346. package/dist/vega/{p-14559974.entry.js → p-e1737c8e.entry.js} +1 -1
  347. package/dist/vega/{p-0b311599.entry.js → p-e1b57e8f.entry.js} +1 -1
  348. package/dist/vega/{p-9f38448c.entry.js → p-e5ff77f7.entry.js} +1 -1
  349. package/dist/vega/p-e62d41ee.js +1 -0
  350. package/dist/vega/{p-6f01a71a.entry.js → p-ebe32b25.entry.js} +1 -1
  351. package/dist/vega/p-ec162599.entry.js +1 -0
  352. package/dist/vega/{p-9f7154d2.js → p-ec5dee32.js} +1 -1
  353. package/dist/vega/{p-d3a36d19.entry.js → p-ec64cc59.entry.js} +1 -1
  354. package/dist/vega/p-f29d9707.entry.js +1 -0
  355. package/dist/vega/{p-5df2d6a1.entry.js → p-f78944d7.entry.js} +1 -1
  356. package/dist/vega/{p-c9c6daa6.entry.js → p-f9bfee81.entry.js} +1 -1
  357. package/dist/vega/{p-26c7fe8b.entry.js → p-fa65956c.entry.js} +1 -1
  358. package/dist/vega/{p-f96d0503.entry.js → p-fc7e4c8a.entry.js} +1 -1
  359. package/dist/vega/{p-b39d4a88.entry.js → p-fd23c365.entry.js} +1 -1
  360. package/dist/vega/vega.esm.js +1 -1
  361. package/package.json +3 -2
  362. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-backdrop-controller.js +0 -73
  363. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-backdrop-controller.d.ts +0 -27
  364. package/dist/vega/p-0b9c7c79.entry.js +0 -1
  365. package/dist/vega/p-0be4df0a.js +0 -1
  366. package/dist/vega/p-2364be92.entry.js +0 -1
  367. package/dist/vega/p-270697c0.entry.js +0 -1
  368. package/dist/vega/p-282b37cb.js +0 -1
  369. package/dist/vega/p-38c9d782.js +0 -1
  370. package/dist/vega/p-52c6a399.entry.js +0 -1
  371. package/dist/vega/p-73f2c3c0.entry.js +0 -1
  372. package/dist/vega/p-762ea523.entry.js +0 -1
  373. package/dist/vega/p-7a88a3d3.entry.js +0 -1
  374. package/dist/vega/p-83a16285.entry.js +0 -1
  375. package/dist/vega/p-91287214.entry.js +0 -1
  376. package/dist/vega/p-c66d2a1e.js +0 -1
  377. package/dist/vega/p-cad5222a.entry.js +0 -1
  378. package/dist/vega/p-d25ca0c3.entry.js +0 -1
  379. package/dist/vega/p-f05a193e.entry.js +0 -1
  380. package/dist/vega/p-f4da615a.js +0 -3
  381. package/dist/vega/p-f906a7bc.entry.js +0 -1
@@ -1,14 +1,110 @@
1
1
  import { TransformParagraphAction } from '../../actions/transform-paragraph-action';
2
- import type { RTEListBlock } from '../../blocks/list-block';
3
- import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
2
+ import { RTEListBlock } from '../../blocks/list-block';
3
+ import { ListAnnotationStrategy } from './list-annotation-strategy.abstract';
4
4
  /**
5
5
  * Convert the selected list block to paragraph strategy.
6
6
  */
7
- export declare class ListTransformToParagraphStrategy extends ActionHandleStrategy<TransformParagraphAction, RTEListBlock> {
7
+ export declare class ListTransformToParagraphStrategy extends ListAnnotationStrategy<TransformParagraphAction, RTEListBlock> {
8
8
  /**
9
9
  * @inheritDoc
10
10
  */
11
11
  protected handleAction(action: TransformParagraphAction, target: RTEListBlock): void;
12
+ /**
13
+ * Ensure the action is applied to the first selected item's parent list and
14
+ * every selected item belongs to the same editor content.
15
+ *
16
+ * @param {RTEListItemBlock[][]} selectedSegments - Normalized selection segments.
17
+ * @param {RTEListBlock} target - List receiving the transform action.
18
+ * @returns {boolean} Whether the target and root content are consistent.
19
+ */
20
+ private hasConsistentTargetAndRoot;
21
+ /**
22
+ * Capture selected text nodes in document order before reverse-order tree
23
+ * mutations move them into paragraphs.
24
+ *
25
+ * @param {RTEListItemBlock[][]} selectedSegments - Normalized selection segments.
26
+ */
27
+ private syncSelection;
28
+ /**
29
+ * Transform one normalized segment without recursively dispatching another
30
+ * flushable action.
31
+ *
32
+ * @param {RTEListItemBlock[]} segment - Contiguous items sharing one parent list.
33
+ */
34
+ private transformSegment;
35
+ /**
36
+ * Handle the case where the target list is at root level (parent is VegaRTEContent).
37
+ *
38
+ * @param {TransformParagraphAction} action - The paragraph transform action.
39
+ * @param {RTEListBlock} target - The root list being transformed.
40
+ */
41
+ private handleRootListCase;
42
+ /**
43
+ * Handle the case where the target list is nested (parent is RTEListItemBlock).
44
+ *
45
+ * Algorithm:
46
+ * 1. Build the ancestor path from root list down to the target nested list.
47
+ * 2. At each level on the path, collect "trailing" items (items after the ancestor).
48
+ * 3. Trim each list along the path to keep only the "before" portion.
49
+ * 4. Collect trailing items from all levels + selected item's own nestList children.
50
+ * 5. Group trailing items into lists by consecutive type.
51
+ * 6. Insert into content: [before-root-list, paragraphs, ...after-lists].
52
+ *
53
+ * @param {TransformParagraphAction} action - The paragraph transform action.
54
+ * @param {RTEListBlock} target - The nested list being transformed.
55
+ */
56
+ private handleNestedListCase;
57
+ /**
58
+ * Normalize selected items into document order and split them into contiguous
59
+ * segments that share the same immediate parent list. Unlike Shift+Tab, the
60
+ * toolbar action keeps selected descendants so every selected item becomes a
61
+ * paragraph.
62
+ *
63
+ * @param {RTEBlock[]} selectedBlocks - Raw selected blocks.
64
+ * @returns {RTEListItemBlock[][]} Parent-based contiguous selection segments.
65
+ */
66
+ private getSelectedSegments;
67
+ /**
68
+ * Resolve a list item's structural document path, including the positions of
69
+ * root lists, owning list items, nested lists, and the item itself.
70
+ *
71
+ * @param {RTEListItemBlock} item - Selected list item.
72
+ * @returns {number[] | null} Structural path, or null for a detached item.
73
+ */
74
+ private getStructuralPath;
75
+ /**
76
+ * Resolve a root list's path through zero or more HTML containers to the
77
+ * editor content.
78
+ *
79
+ * @param {RTEListBlock} rootList - List whose parent is a content container.
80
+ * @returns {number[] | null} Container path, or null for detached/cyclic ownership.
81
+ */
82
+ private getContainerPath;
83
+ /**
84
+ * Compare two structural paths in document order.
85
+ *
86
+ * @param {number[]} firstPath - First structural path.
87
+ * @param {number[]} secondPath - Second structural path.
88
+ * @returns {number} Relative document order.
89
+ */
90
+ private compareStructuralPaths;
91
+ /**
92
+ * Append a list to an operation-local block sequence, merging only with the
93
+ * immediately preceding same-type list in that sequence.
94
+ *
95
+ * @param {RTEBlock[]} blocks - Operation-local output sequence.
96
+ * @param {RTEListBlock} list - List to append or merge.
97
+ */
98
+ private appendListBlock;
99
+ /**
100
+ * Create a list through the content factory and retain the source list's
101
+ * container annotations when a structural split requires a new list block.
102
+ *
103
+ * @param {VegaRTEContent} rootContent - Editor content that owns the factory.
104
+ * @param {RTEListBlock} source - List whose type and annotations should be retained.
105
+ * @returns {RTEListBlock} Newly created list shell.
106
+ */
107
+ private createListFromSource;
12
108
  /**
13
109
  * Converts a RTEListItemBlock to a RTETextBlock representing a paragraph.
14
110
  *
@@ -0,0 +1,22 @@
1
+ import { UnnestListItemsAction } from '../../actions/unnest-list-items-action';
2
+ import { RTEListBlock } from '../../blocks/list-block';
3
+ import { AbstractListItemsStrategy } from './list-items-strategy.abstract';
4
+ /**
5
+ * Promote selected nested list items one level up.
6
+ */
7
+ export declare class ListUnnestItemsStrategy extends AbstractListItemsStrategy<UnnestListItemsAction> {
8
+ /**
9
+ * @inheritDoc
10
+ */
11
+ protected handleAction(action: UnnestListItemsAction, target: RTEListBlock): void;
12
+ /**
13
+ * Collect and remove nestList entries that appear after the given target list
14
+ * in the parent item's nestList array. These trailing entries need to be
15
+ * transferred to the unnested item to preserve visual document order.
16
+ *
17
+ * @param {RTEListItemBlock} parentListItem - The list item owning the nestList.
18
+ * @param {RTEListBlock} target - The list being removed (used as the reference point).
19
+ * @returns {RTEListBlock[]} The trailing nestList entries (already removed from parentListItem).
20
+ */
21
+ private collectTrailingNestLists;
22
+ }
@@ -15,6 +15,8 @@ export declare enum ModifyContentActionType {
15
15
  'LINE_BREAK_MULTIPLE_BLOCKS' = "LINE_BREAK_MULTIPLE_BLOCKS",
16
16
  'TRANSFORM_LIST_BLOCK' = "TRANSFORM_LIST_BLOCK",
17
17
  'TRANSFORM_PARAGRAPH_BLOCK' = "TRANSFORM_PARAGRAPH_BLOCK",
18
+ 'NEST_LIST_ITEMS' = "NEST_LIST_ITEMS",
19
+ 'UNNEST_LIST_ITEMS' = "UNNEST_LIST_ITEMS",
18
20
  'DELETE_BLOCK_CONTENT' = "DELETE_BLOCK_CONTENT",
19
21
  'INSERT_IMAGE_TO_BLOCK' = "INSERT_IMAGE_TO_BLOCK",
20
22
  'UPDATE_IMAGE_NODE_URL' = "UPDATE_IMAGE_NODE_URL",
@@ -0,0 +1,11 @@
1
+ import { RTEListItemBlock } from '../blocks/list-item-block';
2
+ import { ModifyContentAction, ModifyContentActionType } from './modify-content-action.abstract';
3
+ /**
4
+ * Action to nest the selected list items under the previous sibling.
5
+ */
6
+ export declare class NestListItemsAction extends ModifyContentAction {
7
+ readonly type: ModifyContentActionType;
8
+ isFlushable: boolean;
9
+ selectedBlocks: RTEListItemBlock[];
10
+ constructor(selectedBlocks: RTEListItemBlock[]);
11
+ }
@@ -0,0 +1,11 @@
1
+ import { RTEListItemBlock } from '../blocks/list-item-block';
2
+ import { ModifyContentAction, ModifyContentActionType } from './modify-content-action.abstract';
3
+ /**
4
+ * Action to promote the selected nested list items one level up.
5
+ */
6
+ export declare class UnnestListItemsAction extends ModifyContentAction {
7
+ readonly type: ModifyContentActionType;
8
+ isFlushable: boolean;
9
+ selectedBlocks: RTEListItemBlock[];
10
+ constructor(selectedBlocks: RTEListItemBlock[]);
11
+ }
@@ -12,6 +12,14 @@ export declare class ListAnnotation extends BlockAnnotation {
12
12
  * @returns {AnnotationStyle} The default styles.
13
13
  */
14
14
  static getDefaultStyles(): AnnotationStyle;
15
+ /**
16
+ * Get the default standalone styles for a list block's item marker
17
+ * (`li::marker`). Capping the marker font-size keeps bullets/numbers
18
+ * at a normal size when list items are styled as title/subtitle.
19
+ *
20
+ * @returns {AnnotationStyle} The default marker styles.
21
+ */
22
+ static getDefaultMarkerStyles(): AnnotationStyle;
15
23
  /**
16
24
  * @inheritDoc
17
25
  */
@@ -7,7 +7,12 @@ import { Nullable } from '../../../../types/general';
7
7
  import { RTEHtmlBlock } from './html-block';
8
8
  export declare type RTEListBlockTagType = 'ol' | 'ul';
9
9
  /**
10
- * List block
10
+ * List block.
11
+ *
12
+ * Bidirectional nesting contract:
13
+ * - Every child list item must have item.parent === this list block.
14
+ * - If this list block is nested, its parent must be a list item and that
15
+ * list item keeps this block in listItem.nestList.
11
16
  */
12
17
  export declare class RTEListBlock extends RTEBlock<VegaRTEContent | RTEListItemBlock | RTEHtmlBlock, RTEListItemBlock> {
13
18
  static readonly dtoName: string;
@@ -3,7 +3,11 @@ import { RTETextNode } from '../nodes/text-node';
3
3
  import { RTEListBlock } from './list-block';
4
4
  import { RTETextBlock } from './text-block';
5
5
  /**
6
- * List item block
6
+ * List item block.
7
+ *
8
+ * Bidirectional nesting contract:
9
+ * - nestList stores nested list blocks owned by this list item.
10
+ * - Every nested list block must have listBlock.parent === this list item.
7
11
  */
8
12
  export declare class RTEListItemBlock extends RTETextBlock {
9
13
  static readonly dtoName: string;
@@ -86,10 +86,10 @@ export declare class VegaRTEContent {
86
86
  /**
87
87
  * Convert text to list.
88
88
  *
89
- * @param {RTETextBlock} block - block
89
+ * @param {RTETextBlock | RTEListItemBlock} block - Block to convert or rebuild.
90
90
  * @returns {RTEListItemBlock} list item block dto.
91
91
  */
92
- toListItem(block: RTETextBlock): RTEListItemBlock;
92
+ toListItem(block: RTETextBlock | RTEListItemBlock): RTEListItemBlock;
93
93
  /**
94
94
  * create list.
95
95
  *
@@ -3,6 +3,8 @@ import { RTEListBlock } from '../../blocks/list-block';
3
3
  import { RTERenderContext } from '../../../interface';
4
4
  declare class RTEListBlockRenderer extends RTEBlockRenderer {
5
5
  render(block: RTEListBlock, renderContext: RTERenderContext): HTMLElement;
6
+ private resolveListMarker;
7
+ private getListDepth;
6
8
  }
7
9
  declare const _default: RTEListBlockRenderer;
8
10
  export default _default;
@@ -3,6 +3,14 @@ import { RTERenderContext } from '../../../interface';
3
3
  import { RTEBlockTextNodesRenderer } from './block-text-nodes-renderer.abstract';
4
4
  declare class RTEListItemBlockRenderer extends RTEBlockTextNodesRenderer {
5
5
  render(block: RTEListItemBlock, renderContext: RTERenderContext): HTMLElement;
6
+ /**
7
+ * Include structural ownership and direct nested-list identity in the key so
8
+ * list mutations recreate the li when its rendered child shape changes.
9
+ *
10
+ * @param {RTEListItemBlock} block - List item being rendered.
11
+ * @returns {string} Structure-aware render key.
12
+ */
13
+ private getRenderKey;
6
14
  private renderChildren;
7
15
  }
8
16
  declare const _default: RTEListItemBlockRenderer;
@@ -5,6 +5,13 @@ import { VegaRTETableBorderType } from '../annotations/table-annotation';
5
5
  * Base class for table annotation handlers with common extraction methods.
6
6
  */
7
7
  export declare abstract class TableAnnotationHandlerBase extends AnnotationGeneratorStrategyAbstract {
8
+ /**
9
+ * CSS border-width keywords. These are produced as serialization artifacts when a
10
+ * shorthand border without an explicit width is round-tripped (e.g. `border: none`
11
+ * expands to `border-width: medium`). They are not valid numeric dimensions for the
12
+ * table/cell properties "Weight" field, so they are normalized away on import.
13
+ */
14
+ private static readonly BORDER_WIDTH_KEYWORDS;
8
15
  /**
9
16
  * Extract background color from element.
10
17
  *
@@ -19,6 +26,17 @@ export declare abstract class TableAnnotationHandlerBase extends AnnotationGener
19
26
  * @returns {Nullable<VegaRTETableBorderType>} Border properties.
20
27
  */
21
28
  protected getBorder(element: HTMLElement): Nullable<VegaRTETableBorderType>;
29
+ /**
30
+ * Normalize a border width read from the DOM, dropping the `initial` value and the
31
+ * CSS keyword widths (`thin`/`medium`/`thick`). Those only appear as serialization
32
+ * artifacts of shorthand borders (e.g. `border: none` → `border-width: medium`) and
33
+ * are not valid numeric dimensions, so leaving them in would populate the properties
34
+ * "Weight" field with an invalid value and block the whole form from saving.
35
+ *
36
+ * @param {string} borderWidth - The raw border width read from the element style.
37
+ * @returns {string} The normalized border width (empty string when it is a keyword).
38
+ */
39
+ protected normalizeBorderWidth(borderWidth: string): string;
22
40
  /**
23
41
  * Extract width from element.
24
42
  *
@@ -1,13 +1,21 @@
1
1
  import { ToolbarInternalButtonConfig } from '../toolbar-button-slimmer.abstract';
2
2
  import { VegaRichTextEditor } from '../../../../vega-rich-text-editor';
3
+ import { ListKeyboardSlimmer } from './list-keyboard-slimmer';
3
4
  import { BulletsToolbarButtonSlimmer } from './bullets-toolbar-button-slimmer';
4
5
  import { NumbersToolbarButtonSlimmer } from './numbers-toolbar-button-slimmer';
5
6
  import { VisualModeToolbarButtonSlimmer } from '../visual-mode-toolbar-button-slimmer.abstract';
6
7
  export declare class BulletsNumbersToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
7
8
  protected readonly selectionController: VegaRichTextEditor['selectionController'];
9
+ protected readonly valueController: VegaRichTextEditor['valueController'];
10
+ protected readonly value: VegaRichTextEditor['value'];
11
+ protected readonly toolbarItems: VegaRichTextEditor['toolbarItems'];
12
+ protected readonly vegaRichTextEditorRenderer: VegaRichTextEditor['vegaRichTextEditorRenderer'];
8
13
  protected readonly bulletsToolbarButtonSlimmer: BulletsToolbarButtonSlimmer;
9
14
  protected readonly numbersToolbarButtonSlimmer: NumbersToolbarButtonSlimmer;
15
+ protected readonly listKeyboardSlimmer: ListKeyboardSlimmer;
10
16
  protected popoverRef: HTMLVegaPopoverElement;
17
+ disconnectedCallback(): void;
18
+ componentDidLoad(): void;
11
19
  componentWillRender(): void;
12
20
  constructor();
13
21
  protected renderBtnWrapper(renderBtn: (toolbarInternalButton: ToolbarInternalButtonConfig) => HTMLElement): HTMLElement;
@@ -0,0 +1,99 @@
1
+ import { Nullable } from '../../../../../../../types/general';
2
+ import { RTEBlock } from '../../../../../dto/blocks/block.abstract';
3
+ import { RTEListItemBlock } from '../../../../../dto/blocks/list-item-block';
4
+ import { RTETextNode } from '../../../../../dto/nodes/text-node';
5
+ /**
6
+ * Abstract base for list keyboard (Tab / Shift+Tab) handlers.
7
+ * Provides shared selection-normalization utilities used by both the indent
8
+ * and outdent concrete handlers.
9
+ */
10
+ export declare abstract class AbstractListKeyboardHandler {
11
+ /**
12
+ * Filter the ordered selection down to only the "root" items —
13
+ * items whose ancestor is not also present in the selection.
14
+ *
15
+ * @param {RTEListItemBlock[]} selection - Ordered selected list items.
16
+ * @returns {RTEListItemBlock[]} Root items that do not have selected ancestors.
17
+ */
18
+ protected getOutdentRoots(selection: RTEListItemBlock[]): RTEListItemBlock[];
19
+ /**
20
+ * Check whether a list item has an ancestor that is also selected.
21
+ *
22
+ * @param {RTEListItemBlock} item - Item to inspect.
23
+ * @param {Set<RTEListItemBlock>} selectedItems - Selected items lookup set.
24
+ * @returns {boolean} True when an ancestor item is selected.
25
+ */
26
+ protected hasSelectedAncestor(item: RTEListItemBlock, selectedItems: Set<RTEListItemBlock>): boolean;
27
+ /**
28
+ * Split an ordered flat list of items into groups that share the same
29
+ * parent list and are contiguous siblings.
30
+ *
31
+ * @param {RTEListItemBlock[]} selection - Ordered list-item selection.
32
+ * @returns {RTEListItemBlock[][]} Contiguous parent-based segments.
33
+ */
34
+ protected splitSelectionIntoParentSegments(selection: RTEListItemBlock[]): RTEListItemBlock[][];
35
+ /**
36
+ * Normalize the selection and split into parent-based contiguous segments.
37
+ * Returns null when the result is empty.
38
+ *
39
+ * @param {RTEBlock[]} selectedBlocks - Raw selected blocks.
40
+ * @returns {RTEListItemBlock[][] | null} Contiguous segments or null when invalid.
41
+ */
42
+ protected normalizeToSegments(selectedBlocks: RTEBlock[]): RTEListItemBlock[][] | null;
43
+ /**
44
+ * Return the first and last RTETextNode spanning the provided blocks,
45
+ * or null when either boundary cannot be resolved.
46
+ *
47
+ * @param {RTEBlock[]} blocks - Blocks defining the range boundary.
48
+ * @returns {Nullable<[RTETextNode, RTETextNode]>} First and last boundary nodes.
49
+ */
50
+ protected getSelectionBoundary(blocks: RTEBlock[]): Nullable<[RTETextNode, RTETextNode]>;
51
+ /**
52
+ * Normalize the raw selectedBlocks into an ordered list of RTEListItemBlocks,
53
+ * truncating at the first non-list block. Returns null when no list items
54
+ * are present.
55
+ *
56
+ * @param {RTEBlock[]} selectedBlocks - Raw selected blocks.
57
+ * @returns {RTEListItemBlock[] | null} Ordered list items or null.
58
+ */
59
+ protected getOrderedListItems(selectedBlocks: RTEBlock[]): RTEListItemBlock[] | null;
60
+ /**
61
+ * Collect contiguous selected list items until a non-list block is found.
62
+ *
63
+ * @param {RTEBlock[]} selectedBlocks - Raw selected blocks.
64
+ * @returns {RTEListItemBlock[]} Selected list items up to first non-list block.
65
+ */
66
+ protected getSelectedListItemsUntilFirstNonList(selectedBlocks: RTEBlock[]): RTEListItemBlock[];
67
+ /**
68
+ * Build a hierarchical index path for a list item in the list tree.
69
+ *
70
+ * @param {RTEListItemBlock} item - Item whose tree path is being resolved.
71
+ * @returns {number[]} Tree index path from root to the item.
72
+ */
73
+ protected getTreePath(item: RTEListItemBlock): number[];
74
+ /**
75
+ * Compare two list-item tree paths.
76
+ *
77
+ * @param {number[]} a - First tree path.
78
+ * @param {number[]} b - Second tree path.
79
+ * @returns {number} Negative when a < b, positive when a > b, otherwise 0.
80
+ */
81
+ protected compareTreePath(a: number[], b: number[]): number;
82
+ /**
83
+ * Check whether a value exposes a children array.
84
+ *
85
+ * @param {unknown} entity - Candidate value.
86
+ * @returns {boolean} True when entity has children array.
87
+ */
88
+ protected hasChildren(entity: unknown): entity is {
89
+ children: unknown[];
90
+ };
91
+ /**
92
+ * Execute the keyboard action for the given selection and return the
93
+ * resulting selection boundaries, or null when no action was taken.
94
+ *
95
+ * @param {RTEBlock[]} selectedBlocks - Currently selected blocks.
96
+ * @returns {Array<Nullable<[RTETextNode, RTETextNode]>> | null} Selection boundaries after action.
97
+ */
98
+ abstract execute(selectedBlocks: RTEBlock[]): Array<Nullable<[RTETextNode, RTETextNode]>> | null;
99
+ }
@@ -0,0 +1,15 @@
1
+ import { Nullable } from '../../../../../../../types/general';
2
+ import { RTEBlock } from '../../../../../dto/blocks/block.abstract';
3
+ import { RTETextNode } from '../../../../../dto/nodes/text-node';
4
+ import { AbstractListKeyboardHandler } from './abstract-list-keyboard-handler';
5
+ /**
6
+ * Handles Shift+Tab key list outdent.
7
+ * Normalizes the selection, then promotes each segment, either moving nested
8
+ * items or promoting top-level items to paragraphs.
9
+ */
10
+ export declare class ListShiftTabOutdentHandler extends AbstractListKeyboardHandler {
11
+ /**
12
+ * @inheritDoc
13
+ */
14
+ execute(selectedBlocks: RTEBlock[]): Array<Nullable<[RTETextNode, RTETextNode]>> | null;
15
+ }
@@ -0,0 +1,15 @@
1
+ import { Nullable } from '../../../../../../../types/general';
2
+ import { RTEBlock } from '../../../../../dto/blocks/block.abstract';
3
+ import { RTETextNode } from '../../../../../dto/nodes/text-node';
4
+ import { AbstractListKeyboardHandler } from './abstract-list-keyboard-handler';
5
+ /**
6
+ * Handles Tab key list indentation.
7
+ * Normalizes the selection, applies a command-style gate on the first
8
+ * eligible segment, then nests each qualifying segment.
9
+ */
10
+ export declare class ListTabIndentHandler extends AbstractListKeyboardHandler {
11
+ /**
12
+ * @inheritDoc
13
+ */
14
+ execute(selectedBlocks: RTEBlock[]): Array<Nullable<[RTETextNode, RTETextNode]>> | null;
15
+ }
@@ -0,0 +1,73 @@
1
+ import { VegaSlimmer } from '../../../../../../vega-slimmer/vega-slimmer-core';
2
+ import { BulletsNumbersToolbarButtonSlimmer } from './bullets-numbers-toolbar-button-slimmer';
3
+ /**
4
+ * Handles list keyboard shortcuts (Tab/Shift+Tab) for list tooling.
5
+ */
6
+ export declare class ListKeyboardSlimmer extends VegaSlimmer {
7
+ protected readonly selectionController: BulletsNumbersToolbarButtonSlimmer['selectionController'];
8
+ protected readonly valueController: BulletsNumbersToolbarButtonSlimmer['valueController'];
9
+ protected readonly value: BulletsNumbersToolbarButtonSlimmer['value'];
10
+ protected readonly toolbarItems: BulletsNumbersToolbarButtonSlimmer['toolbarItems'];
11
+ protected readonly vegaRichTextEditorRenderer: BulletsNumbersToolbarButtonSlimmer['vegaRichTextEditorRenderer'];
12
+ private boundEditableElement;
13
+ private isKeyboardListenerBound;
14
+ private readonly listTabIndentHandler;
15
+ private readonly listShiftTabOutdentHandler;
16
+ /**
17
+ * @inheritDoc
18
+ */
19
+ disconnectedCallback(): void;
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ componentDidLoad(): void;
24
+ /**
25
+ * Re-sync keyboard listener when toolbarItems prop changes at runtime,
26
+ * ensuring list shortcuts are bound/unbound as tools are added/removed.
27
+ */
28
+ watchToolbarItems(): void;
29
+ /**
30
+ * Synchronize the DOM keydown listener with the configured toolbar items.
31
+ */
32
+ private syncListKeyboardListener;
33
+ /**
34
+ * Determine whether any list keyboard controls are enabled in the toolbar.
35
+ *
36
+ * @returns {boolean} True when any list toolbar item is configured.
37
+ */
38
+ private hasListToolbarConfigured;
39
+ /**
40
+ * Attach the keydown listener to the current editable element when available.
41
+ * Handles element ref changes by rebinding when the target element differs.
42
+ */
43
+ private addListKeyboardListener;
44
+ /**
45
+ * Detach the keydown listener from the previously bound editable element.
46
+ */
47
+ private removeListKeyboardListener;
48
+ /**
49
+ * Handle Tab and Shift+Tab list keyboard interactions.
50
+ *
51
+ * @param {KeyboardEvent} e - Keyboard event to process.
52
+ * @returns {void}
53
+ */
54
+ private handleListKeyboardAction;
55
+ /**
56
+ * Check whether the Tab event includes modifiers other than Shift.
57
+ *
58
+ * @param {KeyboardEvent} e - Keyboard event to inspect.
59
+ * @returns {boolean} True when non-shift modifier keys are pressed.
60
+ */
61
+ private hasNonShiftModifierForTab;
62
+ /**
63
+ * Restore the logical selection after a list keyboard action completes.
64
+ *
65
+ * @param {Array<Nullable<[RTETextNode, RTETextNode]>>} selectionBoundaries - Boundaries produced by the handler.
66
+ * @param {Nullable<RTETextNode>} preferredStartNode - Preferred start node from prior selection.
67
+ * @param {Nullable<RTETextNode>} preferredEndNode - Preferred end node from prior selection.
68
+ * @param {number} startOffset - Preferred start offset.
69
+ * @param {number} endOffset - Preferred end offset.
70
+ * @returns {void}
71
+ */
72
+ private restoreListSelection;
73
+ }
@@ -0,0 +1,41 @@
1
+ import { A11yNode } from '../../../../helpers/a11y-tree/a11y-tree.types';
2
+ interface BuildArgs {
3
+ titleText: string;
4
+ icon?: string;
5
+ iconAlign?: 'left' | 'right';
6
+ headingLevel?: 1 | 2 | 3 | 4 | 5 | 6;
7
+ }
8
+ /**
9
+ * Build the semantic A11y Tree for a `vega-section-title` instance.
10
+ *
11
+ * The structure uses a presentation wrapper so the container is transparent to
12
+ * assistive technology — the heading is the semantic anchor:
13
+ *
14
+ * ```
15
+ * presentation "st-root" (role=none — AT-transparent wrapper)
16
+ * ├── heading "st-heading" (titleText, level=2 by default)
17
+ * └── icon "st-icon" (decorative — only when an icon prop is set)
18
+ * ```
19
+ *
20
+ * Description text is not wired into the A11y tree. It is exposed as plain
21
+ * visible text in the component's shadow DOM, read by screen readers via normal
22
+ * linear traversal. This avoids three VoiceOver regressions introduced when the
23
+ * container carried `role="group"` with `aria-label` + `aria-describedby`:
24
+ *
25
+ * - Bug 1 (Safari): webkit folded the description into the heading `aria-label`,
26
+ * so focusing the H2 announced both title AND description together.
27
+ * - Bug 2 (Chrome, no description): `role="group"` created an extra navigation
28
+ * boundary and announced the title twice (group label + heading).
29
+ * - Bug 3 (Chrome, with description): description read twice — once via the
30
+ * hidden `aria-describedby` span on the group, once via the visible div.
31
+ *
32
+ * **No inline ARIA / no double projection**: this function must NOT set
33
+ * `aria-*` or `role` attributes directly on the component. The A11y Tree
34
+ * slimmer (`A11yTreeSlimmer`) calls `applyA11yTree()` on every render to
35
+ * project the semantic intent through the chosen strategy.
36
+ *
37
+ * @param {BuildArgs} args - Section-title fields used to author the semantic tree.
38
+ * @returns {A11yNode} The semantic A11y Tree root for the section title.
39
+ */
40
+ export declare function buildSectionTitleA11yTree(args: BuildArgs): A11yNode;
41
+ export {};
@@ -4,6 +4,7 @@ import { IconAlignType } from '../../types/ui.type';
4
4
  import { TextColorsTokenType } from '../../types/design-token.type';
5
5
  import { VegaSectionTitleSizeType } from './types';
6
6
  import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
7
+ import { A11yTreeSlimmer } from '../../helpers/slimmers/a11y-tree-slimmer';
7
8
  /**
8
9
  * @vegaVersion 2.1.0
9
10
  */
@@ -11,6 +12,14 @@ export declare class VegaSectionTitle {
11
12
  protected readonly globalSlimmers: GlobalSlimmers;
12
13
  protected readonly renderer: VegaSectionTitleRenderer;
13
14
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaSectionTitleElement>;
15
+ /**
16
+ * Projects the component's semantic accessibility intent onto the shadow
17
+ * DOM via the A11y Tree foundation. Replaces the previous inline `role` /
18
+ * `aria-label` on the host element so ARIA is authored once, in
19
+ * `buildSectionTitleA11yTree`, and projected through the browser-engine
20
+ * strategy layer (no double projection).
21
+ */
22
+ protected readonly a11yTreeSlimmer: A11yTreeSlimmer<HTMLVegaSectionTitleElement>;
14
23
  host: HTMLVegaSectionTitleElement;
15
24
  /**
16
25
  * Specifies the text content of the title displayed