@globalpayments/vega 2.99.0 → 2.101.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 (649) hide show
  1. package/dist/cjs/{accessibility-88f8af84.js → accessibility-6ca2a237.js} +21 -0
  2. package/dist/cjs/{action-color-accessibility-validator-b8a9ef0f.js → action-color-accessibility-validator-61af71ae.js} +1 -1
  3. package/dist/cjs/{app-globals-a306dce6.js → app-globals-275ea7c7.js} +19 -10
  4. package/dist/cjs/{aria-attributes-value-mapper-9a41b9cf.js → aria-attributes-value-mapper-e8c6b0e0.js} +1 -1
  5. package/dist/cjs/{aria-dialog-focusable-trap-slimmer-62147489.js → aria-dialog-focusable-trap-slimmer-c79cc3f8.js} +1 -1
  6. package/dist/cjs/{child-nodes-event-prevent-slimmer-e0ac8467.js → child-nodes-event-prevent-slimmer-d720d7e9.js} +1 -1
  7. package/dist/cjs/{code-block-ea1f5eb3.js → code-block-c598832d.js} +815 -751
  8. package/dist/cjs/{component-value-history-controller-slimmer.abstract-7071b064.js → component-value-history-controller-slimmer.abstract-4bd47aa1.js} +4 -4
  9. package/dist/cjs/{content-state-8d07d530.js → content-state-da23e822.js} +47 -3
  10. package/dist/cjs/countries-a8e3812a.js +251 -0
  11. package/dist/cjs/{dark-mode-style-controller-f3da3342.js → dark-mode-style-controller-ec04ece9.js} +45 -45
  12. package/dist/cjs/{date-required-rule-c0c498ad.js → date-required-rule-45c802d3.js} +1 -1
  13. package/dist/cjs/{design-token-58bf7fe8.js → design-token-9d762da0.js} +3 -3
  14. package/dist/cjs/{element-appender-slimmer-a0269315.js → element-appender-slimmer-2aaf8e24.js} +22 -3
  15. package/dist/cjs/{event-emit-slimmer-34aa195e.js → event-emit-slimmer-67b5c186.js} +1 -1
  16. package/dist/cjs/{form-field-controller-slimmer-f73f200e.js → form-field-controller-slimmer-ac9337f4.js} +3 -3
  17. package/dist/cjs/{image-annotation-action-2a28038e.js → image-annotation-action-378838c2.js} +8 -7
  18. package/dist/cjs/{image-extension-9659708b.js → image-extension-673ebe7f.js} +2 -2
  19. package/dist/cjs/index.cjs.js +24 -21
  20. package/dist/cjs/{inject-keyboard-manager-4fa45f9c.js → inject-keyboard-manager-540f0876.js} +1 -1
  21. package/dist/cjs/{internal-calendar-period-factory-6196bc80.js → internal-calendar-period-factory-b11918ee.js} +1 -1
  22. package/dist/cjs/{internal-translation-controller-51f7f865.js → internal-translation-controller-27bfc8c7.js} +15 -0
  23. package/dist/cjs/{internal-vega-event-manager-7003c84a.js → internal-vega-event-manager-976b9526.js} +10 -2
  24. package/dist/cjs/{keyboard-manager-482fe257.js → keyboard-manager-16e96b62.js} +12 -5
  25. package/dist/cjs/{keyboard-manager-slimmer-a19430dd.js → keyboard-manager-slimmer-0a4e556d.js} +1 -1
  26. package/dist/cjs/{link-extension-11340e1c.js → link-extension-f493e432.js} +3 -3
  27. package/dist/cjs/loader.cjs.js +17 -16
  28. package/dist/cjs/{month-view-generator-1a534451.js → month-view-generator-0a3e04de.js} +1 -1
  29. package/dist/cjs/overlay-escape-coordination-901d8942.js +38 -0
  30. package/dist/cjs/{public-rules-6c77b545.js → public-rules-bae12c47.js} +9 -9
  31. package/dist/cjs/{range-22ddd452.js → range-9f42fb40.js} +1 -1
  32. package/dist/cjs/{responsive-format-facade-74e6d791.js → responsive-format-facade-c6d7f0a1.js} +1 -1
  33. package/dist/cjs/{rich-text-editor-required-rule-09d1093a.js → rich-text-editor-required-rule-bb232741.js} +1 -1
  34. package/dist/cjs/{split-cell-operation-11bfb305.js → split-cell-operation-0d33123e.js} +4 -4
  35. package/dist/cjs/{state-border-formatter-bf4f9f1c.js → state-border-formatter-dda9109a.js} +1 -1
  36. package/dist/cjs/{string-format-strategy.abstract-bf37b14c.js → string-format-strategy.abstract-3a968a59.js} +1 -1
  37. package/dist/cjs/{string-input-formatter-slimmer-ffeb18a6.js → string-input-formatter-slimmer-2e0a838e.js} +3 -3
  38. package/dist/cjs/{string-mask-strategy-7f394726.js → string-mask-strategy-d9f85c21.js} +2 -2
  39. package/dist/cjs/{style-formatter-4ac63910.js → style-formatter-d21a9784.js} +2 -2
  40. package/dist/cjs/{sub-state-notify-slimmer-e264a120.js → sub-state-notify-slimmer-3b33e31c.js} +1 -1
  41. package/dist/cjs/{sub-state-observer-slimmer-6033b824.js → sub-state-observer-slimmer-5b68ba3f.js} +1 -1
  42. package/dist/cjs/{time-required-rule-e2a50003.js → time-required-rule-580cbd3d.js} +1 -1
  43. package/dist/cjs/{token-extension-4686cb3b.js → token-extension-4badb962.js} +811 -53
  44. package/dist/cjs/{translation-slimmer-e4997f8f.js → translation-slimmer-31cd5a57.js} +1 -1
  45. package/dist/cjs/{type-guard-b8d7bb3f.js → type-guard-00b8efc0.js} +1 -1
  46. package/dist/cjs/{valid-credit-card-number-rule-f5a6f009.js → valid-credit-card-number-rule-70885128.js} +1 -1
  47. package/dist/cjs/vega-accordion.cjs.entry.js +9 -9
  48. package/dist/cjs/vega-app-footer.cjs.entry.js +4 -4
  49. package/dist/cjs/vega-app-header-button.cjs.entry.js +10 -10
  50. package/dist/cjs/vega-banner.cjs.entry.js +4 -4
  51. package/dist/cjs/vega-box.cjs.entry.js +6 -6
  52. package/dist/cjs/vega-brand-logo.cjs.entry.js +1 -1
  53. package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
  54. package/dist/cjs/vega-button-circle.cjs.entry.js +12 -12
  55. package/dist/cjs/vega-button-group_2.cjs.entry.js +20 -13
  56. package/dist/cjs/vega-button-link.cjs.entry.js +8 -8
  57. package/dist/cjs/vega-button.cjs.entry.js +27 -11
  58. package/dist/cjs/vega-calendar_5.cjs.entry.js +130 -24
  59. package/dist/cjs/vega-card.cjs.entry.js +5 -5
  60. package/dist/cjs/vega-carousel.cjs.entry.js +7 -7
  61. package/dist/cjs/vega-checkbox_2.cjs.entry.js +9 -9
  62. package/dist/cjs/vega-chip.cjs.entry.js +10 -10
  63. package/dist/cjs/vega-code-block.cjs.entry.js +15 -15
  64. package/dist/cjs/vega-color-picker.cjs.entry.js +8 -8
  65. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +9 -9
  66. package/dist/cjs/vega-color-swatch.cjs.entry.js +6 -6
  67. package/dist/cjs/vega-combo-box.cjs.entry.js +15 -15
  68. package/dist/cjs/vega-date-picker_2.cjs.entry.js +22 -22
  69. package/dist/cjs/vega-dialog_2.cjs.entry.js +76 -10
  70. package/dist/cjs/vega-divider.cjs.entry.js +5 -5
  71. package/dist/cjs/vega-dropdown_5.cjs.entry.js +108 -25
  72. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  73. package/dist/cjs/{vega-event-id-58afed7a.js → vega-event-id-987a170c.js} +2 -0
  74. package/dist/cjs/vega-field-label.cjs.entry.js +29 -36
  75. package/dist/cjs/vega-file-uploader.cjs.entry.js +9 -9
  76. package/dist/cjs/vega-flag-icon.cjs.entry.js +11 -11
  77. package/dist/cjs/vega-flex.cjs.entry.js +6 -6
  78. package/dist/cjs/vega-font.cjs.entry.js +5 -5
  79. package/dist/cjs/vega-form.cjs.entry.js +9 -9
  80. package/dist/cjs/vega-grid.cjs.entry.js +5 -5
  81. package/dist/cjs/vega-icon.cjs.entry.js +5 -5
  82. package/dist/cjs/vega-image-uploader.cjs.entry.js +13 -13
  83. package/dist/cjs/vega-input-credit-card.cjs.entry.js +12 -12
  84. package/dist/cjs/vega-input-numeric.cjs.entry.js +12 -12
  85. package/dist/cjs/vega-input-passcode.cjs.entry.js +11 -11
  86. package/dist/cjs/vega-input-phone-number.cjs.entry.js +56 -275
  87. package/dist/cjs/vega-input-range.cjs.entry.js +10 -10
  88. package/dist/cjs/vega-input-select.cjs.entry.js +39 -39
  89. package/dist/cjs/vega-input.cjs.entry.js +14 -14
  90. package/dist/cjs/{vega-internal-event-id-f4d33037.js → vega-internal-event-id-98d499d7.js} +6 -2
  91. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  92. package/dist/cjs/vega-left-nav_5.cjs.entry.js +14 -14
  93. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
  94. package/dist/cjs/vega-page-notification_2.cjs.entry.js +2 -2
  95. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +4 -4
  96. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +4 -4
  97. package/dist/cjs/vega-pagination.cjs.entry.js +9 -9
  98. package/dist/cjs/vega-popover_2.cjs.entry.js +63 -14
  99. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +10 -10
  100. package/dist/cjs/vega-radio_2.cjs.entry.js +12 -12
  101. package/dist/cjs/vega-rich-text-content.cjs.entry.js +16 -13
  102. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +712 -250
  103. package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +6 -6
  104. package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +8 -8
  105. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +161 -108
  106. package/dist/cjs/vega-segment-control.cjs.entry.js +11 -4
  107. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +12 -12
  108. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +9 -9
  109. package/dist/cjs/vega-sidenav_3.cjs.entry.js +10 -10
  110. package/dist/cjs/vega-signature-capture.cjs.entry.js +12 -12
  111. package/dist/cjs/vega-stepper.cjs.entry.js +8 -8
  112. package/dist/cjs/vega-tab-group_2.cjs.entry.js +7 -7
  113. package/dist/cjs/vega-table_11.cjs.entry.js +625 -666
  114. package/dist/cjs/vega-textarea.cjs.entry.js +8 -8
  115. package/dist/cjs/vega-time-picker_2.cjs.entry.js +16 -16
  116. package/dist/cjs/vega-toggle-switch.cjs.entry.js +8 -8
  117. package/dist/cjs/vega-tooltip_2.cjs.entry.js +7 -7
  118. package/dist/cjs/vega.cjs.js +17 -16
  119. package/dist/cjs/{wait-for-component-did-render-44d006ee.js → wait-for-component-did-render-90edbc1a.js} +1 -1
  120. package/dist/collection/components/vega-button/vega-button.css +3 -3
  121. package/dist/collection/components/vega-button/vega-button.js +17 -2
  122. package/dist/collection/components/vega-button-circle/vega-button-circle.css +3 -3
  123. package/dist/collection/components/vega-button-group/vega-button-group-item/slimmers/renderers/vega-button-group-item-renderer.js +13 -6
  124. package/dist/collection/components/vega-button-link/vega-button-link.css +4 -4
  125. package/dist/collection/components/vega-button-link/vega-button-link.js +2 -2
  126. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +45 -5
  127. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.js +43 -1
  128. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +23 -4
  129. package/dist/collection/components/vega-calendar/vega-calendar.js +77 -1
  130. package/dist/collection/components/vega-code-block/vega-code-block.css +4 -4
  131. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-controller.js +148 -0
  132. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.js +5 -2
  133. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.js +17 -0
  134. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +2 -2
  135. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +2 -1
  136. package/dist/collection/components/vega-dropdown/vega-dropdown.js +1 -1
  137. package/dist/collection/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.js +21 -30
  138. package/dist/collection/components/vega-field-label/vega-field-label.js +7 -5
  139. package/dist/collection/components/vega-flag-icon/slimmers/controllers/vega-flag-icon-controller.js +6 -6
  140. package/dist/collection/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.js +4 -8
  141. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +19 -2
  142. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-prefix-icon-renderer.js +8 -28
  143. package/dist/collection/components/vega-input-select/vega-input-select.js +3 -1
  144. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +66 -0
  145. package/dist/collection/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.js +17 -0
  146. package/dist/collection/components/vega-popover/vega-popover.js +33 -1
  147. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +4 -1
  148. package/dist/collection/components/vega-rich-text-editor/constants/constant.js +9 -0
  149. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.js +13 -0
  150. package/dist/collection/components/vega-rich-text-editor/dto/actions/commit-value-action.js +20 -0
  151. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +11 -0
  152. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +11 -2
  153. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +18 -6
  154. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +11 -0
  155. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +6 -0
  156. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +8 -0
  157. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +6 -0
  158. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +30 -18
  159. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-toolbar-button-renderer.js +1 -0
  160. package/dist/collection/components/vega-rich-text-editor/extensions/copy/copy-toolbar-button-renderer.js +1 -0
  161. package/dist/collection/components/vega-rich-text-editor/extensions/cut/cut-toolbar-button-renderer.js +1 -0
  162. package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.js +51 -0
  163. package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/vega-rich-text-find-replace-panel/slimmers/renderers/find-replace-panel-renderer.js +2 -2
  164. package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-toolbar-button-renderer.js +3 -0
  165. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.js +6 -0
  166. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +1 -0
  167. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/renderers/horizontal-line-toolbar-button-renderer.js +1 -0
  168. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +5 -3
  169. package/dist/collection/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.js +16 -0
  170. package/dist/collection/components/vega-rich-text-editor/extensions/special-characters/special-characters-toolbar-button-renderer.js +2 -0
  171. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.js +3 -9
  172. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-cell-renderer.js +2 -2
  173. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.js +81 -1
  174. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.js +148 -0
  175. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.js +151 -5
  176. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.js +144 -2
  177. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-selection.js +26 -1
  178. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-toolbar-button-renderer.js +1 -0
  179. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-cell-properties-form-field-renderer.js +11 -2
  180. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-basic-form-field-renderer.abstract.js +5 -2
  181. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-form-field-renderer.js +5 -1
  182. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.css +5 -0
  183. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.js +16 -1
  184. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/caption-button-slimmer.js +1 -0
  185. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/cell-properties-button-slimmer.js +1 -0
  186. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/column-button-slimmer.js +10 -9
  187. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/merge-cells-button-slimmer.js +9 -8
  188. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.js +25 -10
  189. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-properties-button-slimmer.js +1 -0
  190. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-setting-button-slimmer.abstract.js +5 -4
  191. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/vega-rich-text-table-setting-renderer.js +1 -1
  192. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.css +10 -0
  193. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.js +2 -0
  194. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +1 -0
  195. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.js +70 -0
  196. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/type.js +1 -0
  197. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/word-count-extension.js +62 -0
  198. package/dist/collection/components/vega-rich-text-editor/public-api.js +1 -0
  199. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-composition-text-controller.js +2 -1
  200. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +7 -1
  201. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +52 -2
  202. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.js +79 -0
  203. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +6 -3
  204. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +2 -1
  205. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +2 -1
  206. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +3 -2
  207. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +111 -2
  208. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +17 -6
  209. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +1 -1
  210. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +1 -1
  211. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +3 -2
  212. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +59 -8
  213. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer.js +1 -1
  214. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.js +13 -1
  215. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +16 -0
  216. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.js +124 -0
  217. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.js +9 -1
  218. package/dist/collection/components/vega-segment-control/slimmers/renderers/vega-segment-renderer.js +8 -1
  219. package/dist/collection/components/vega-segment-control/vega-segment-control.js +23 -0
  220. package/dist/collection/components/vega-table/slimmers/controllers/dto/column-render-input-model.js +25 -8
  221. package/dist/collection/components/vega-table/slimmers/controllers/dto/row-render-input-model.js +41 -0
  222. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-head-template-structure-controller.js +1 -0
  223. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-render-input-controller.js +316 -18
  224. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-renderer.js +6 -1
  225. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-header-renderer.js +1 -0
  226. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.js +33 -530
  227. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-row-renderer.js +1 -0
  228. package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.css +10 -0
  229. package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.js +25 -8
  230. package/dist/collection/components/vega-table/vega-table-expand-row/slimmers/renderers/vega-table-expand-row-renderer.js +14 -6
  231. package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.css +20 -0
  232. package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.js +7 -0
  233. package/dist/collection/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.js +21 -2
  234. package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.css +10 -0
  235. package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.js +12 -1
  236. package/dist/collection/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.js +20 -13
  237. package/dist/collection/components/vega-table/vega-table-foot-row/vega-table-foot-row.css +26 -0
  238. package/dist/collection/components/vega-table/vega-table-foot-row/vega-table-foot-row.js +12 -0
  239. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.css +10 -0
  240. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.js +19 -6
  241. package/dist/collection/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.js +21 -46
  242. package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.css +16 -7
  243. package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.js +9 -2
  244. package/dist/collection/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.js +28 -13
  245. package/dist/collection/components/vega-table/vega-table-row/vega-table-row.css +26 -0
  246. package/dist/collection/components/vega-table/vega-table-row/vega-table-row.js +11 -0
  247. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-border-tokens.js +1 -1
  248. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-color-tokens.js +20 -20
  249. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-ring-tokens.js +1 -1
  250. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-shadow-tokens.js +1 -1
  251. package/dist/collection/constants/tokens/themes/v2-new-brand/light-mode-border-tokens.js +1 -1
  252. package/dist/collection/constants/tokens/themes/v2-new-brand/light-mode-color-tokens.js +19 -19
  253. package/dist/collection/constants/tokens/themes/v2-new-brand/light-mode-shadow-tokens.js +1 -1
  254. package/dist/collection/constants/ui.js +1 -0
  255. package/dist/collection/global/scripts/before-vega-load.js +10 -0
  256. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +10 -2
  257. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
  258. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +3 -1
  259. package/dist/collection/helpers/keyboard/keyboard-manager.js +11 -4
  260. package/dist/collection/helpers/keyboard/overlay-escape-coordination.js +33 -0
  261. package/dist/collection/helpers/public-api.js +1 -0
  262. package/dist/collection/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.js +1 -1
  263. package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +8 -0
  264. package/dist/collection/helpers/slimmers/position-calculation/screen-position-calculation-strategy.js +10 -0
  265. package/dist/collection/helpers/slimmers/vega-table-child-render-input-consumer-slimmer.js +2 -0
  266. package/dist/collection/helpers/translation/locales/en.js +15 -0
  267. package/dist/collection/helpers/ui/element-appender.js +1 -0
  268. package/dist/collection/polyfill/libphonenumber/as-you-type.js +21 -3
  269. package/dist/collection/polyfill/libphonenumber/metadata.js +16 -0
  270. package/dist/collection/utils/accessibility.js +20 -0
  271. package/dist/esm/{accessibility-6af5cf2e.js → accessibility-c899a968.js} +21 -1
  272. package/dist/esm/{action-color-accessibility-validator-08877515.js → action-color-accessibility-validator-3e824a59.js} +1 -1
  273. package/dist/esm/{app-globals-c59364c2.js → app-globals-ad3c7cea.js} +19 -10
  274. package/dist/esm/{aria-attributes-value-mapper-2c632641.js → aria-attributes-value-mapper-a5c7478e.js} +1 -1
  275. package/dist/esm/{aria-dialog-focusable-trap-slimmer-f069f54d.js → aria-dialog-focusable-trap-slimmer-27a6aa19.js} +3 -3
  276. package/dist/esm/{child-nodes-event-prevent-slimmer-82626871.js → child-nodes-event-prevent-slimmer-0ebcbf47.js} +1 -1
  277. package/dist/esm/{child-nodes-notify-observer-slimmer-499a3aa7.js → child-nodes-notify-observer-slimmer-034bc78c.js} +1 -1
  278. package/dist/esm/{code-block-e6443949.js → code-block-1cdf7a51.js} +816 -754
  279. package/dist/esm/{component-value-history-controller-slimmer.abstract-ee393213.js → component-value-history-controller-slimmer.abstract-bdeeb43f.js} +6 -6
  280. package/dist/esm/{content-state-43cdacff.js → content-state-6eb610b8.js} +48 -6
  281. package/dist/esm/countries-50d3339b.js +249 -0
  282. package/dist/esm/{dark-mode-style-controller-352f15ff.js → dark-mode-style-controller-4e04a2d3.js} +45 -45
  283. package/dist/esm/{date-required-rule-b5b67498.js → date-required-rule-2ea3aec8.js} +1 -1
  284. package/dist/esm/{design-token-8319bb59.js → design-token-82a4e107.js} +3 -3
  285. package/dist/esm/{dom-node-subject-observer-factory-ddff8662.js → dom-node-subject-observer-factory-bb7e68a0.js} +1 -1
  286. package/dist/esm/{element-appender-slimmer-c81d1fe3.js → element-appender-slimmer-dd4e2908.js} +24 -5
  287. package/dist/esm/{event-emit-slimmer-2452278f.js → event-emit-slimmer-12ee1593.js} +2 -2
  288. package/dist/esm/{form-field-controller-slimmer-511b7ac5.js → form-field-controller-slimmer-5c794b4d.js} +5 -5
  289. package/dist/esm/{image-annotation-action-d7cb80aa.js → image-annotation-action-cdd50dcc.js} +9 -8
  290. package/dist/esm/{image-extension-9b8abd0d.js → image-extension-f6dbd70c.js} +2 -2
  291. package/dist/esm/index.js +24 -23
  292. package/dist/esm/{inject-keyboard-manager-dd368d56.js → inject-keyboard-manager-6a10c9b7.js} +1 -1
  293. package/dist/esm/{internal-calendar-period-factory-d58f35c6.js → internal-calendar-period-factory-d1a60f81.js} +1 -1
  294. package/dist/esm/{internal-translation-controller-b33430c6.js → internal-translation-controller-fff376d2.js} +15 -0
  295. package/dist/esm/{internal-vega-event-manager-2ecc9186.js → internal-vega-event-manager-0c381f3b.js} +10 -2
  296. package/dist/esm/{keyboard-manager-b4a0d97d.js → keyboard-manager-a58288df.js} +13 -6
  297. package/dist/esm/{keyboard-manager-slimmer-0517fc70.js → keyboard-manager-slimmer-133b86cd.js} +1 -1
  298. package/dist/esm/{link-extension-230bae8d.js → link-extension-bc234cf7.js} +3 -3
  299. package/dist/esm/loader.js +19 -18
  300. package/dist/esm/{month-view-generator-f470caac.js → month-view-generator-20e32b22.js} +1 -1
  301. package/dist/esm/overlay-escape-coordination-439f7d6f.js +35 -0
  302. package/dist/esm/{public-rules-28ef32d3.js → public-rules-8dc3fb00.js} +11 -11
  303. package/dist/esm/{range-efad2578.js → range-d2439ba7.js} +2 -2
  304. package/dist/esm/{responsive-format-facade-dec87e46.js → responsive-format-facade-07843ec3.js} +1 -1
  305. package/dist/esm/{rich-text-editor-required-rule-a697e5bd.js → rich-text-editor-required-rule-a0663a84.js} +1 -1
  306. package/dist/esm/{split-cell-operation-89b91a38.js → split-cell-operation-1a889fa0.js} +5 -5
  307. package/dist/esm/{state-border-formatter-1e900a2f.js → state-border-formatter-3b3dcfe8.js} +1 -1
  308. package/dist/esm/{string-format-strategy.abstract-d0ce3f65.js → string-format-strategy.abstract-44381dcb.js} +1 -1
  309. package/dist/esm/{string-input-formatter-slimmer-6546cfc7.js → string-input-formatter-slimmer-69887c40.js} +4 -4
  310. package/dist/esm/{string-mask-strategy-dd13ae21.js → string-mask-strategy-999fba4b.js} +2 -2
  311. package/dist/esm/{style-formatter-057d7120.js → style-formatter-c4192c99.js} +2 -2
  312. package/dist/esm/{sub-state-notify-slimmer-23b7d0e8.js → sub-state-notify-slimmer-ba72f30b.js} +2 -2
  313. package/dist/esm/{sub-state-observer-slimmer-722f6b92.js → sub-state-observer-slimmer-bee1c7fa.js} +3 -3
  314. package/dist/esm/{time-required-rule-73753a54.js → time-required-rule-0554b114.js} +1 -1
  315. package/dist/esm/{token-extension-74a0eeb1.js → token-extension-530d9bde.js} +813 -56
  316. package/dist/esm/{translation-slimmer-ef970ffc.js → translation-slimmer-77022f2e.js} +1 -1
  317. package/dist/esm/{type-guard-6fc96870.js → type-guard-26d83e7e.js} +1 -1
  318. package/dist/esm/{ui-d73f756a.js → ui-80e610f4.js} +1 -1
  319. package/dist/esm/{valid-credit-card-number-rule-b54a31e7.js → valid-credit-card-number-rule-f60b6904.js} +1 -1
  320. package/dist/esm/vega-accordion.entry.js +11 -11
  321. package/dist/esm/vega-app-footer.entry.js +6 -6
  322. package/dist/esm/vega-app-header-button.entry.js +12 -12
  323. package/dist/esm/vega-backdrop.entry.js +1 -1
  324. package/dist/esm/vega-banner.entry.js +6 -6
  325. package/dist/esm/vega-box.entry.js +7 -7
  326. package/dist/esm/vega-brand-logo.entry.js +1 -1
  327. package/dist/esm/vega-breadcrumb.entry.js +6 -6
  328. package/dist/esm/vega-button-circle.entry.js +14 -14
  329. package/dist/esm/vega-button-group_2.entry.js +22 -15
  330. package/dist/esm/vega-button-link.entry.js +10 -10
  331. package/dist/esm/vega-button.entry.js +29 -13
  332. package/dist/esm/vega-calendar_5.entry.js +132 -26
  333. package/dist/esm/vega-card.entry.js +6 -6
  334. package/dist/esm/vega-carousel.entry.js +9 -9
  335. package/dist/esm/vega-checkbox_2.entry.js +12 -12
  336. package/dist/esm/vega-chip.entry.js +12 -12
  337. package/dist/esm/vega-code-block.entry.js +17 -17
  338. package/dist/esm/vega-color-picker.entry.js +10 -10
  339. package/dist/esm/vega-color-swatch-picker.entry.js +11 -11
  340. package/dist/esm/vega-color-swatch.entry.js +8 -8
  341. package/dist/esm/vega-combo-box.entry.js +17 -17
  342. package/dist/esm/vega-date-picker_2.entry.js +24 -24
  343. package/dist/esm/vega-dialog_2.entry.js +78 -12
  344. package/dist/esm/vega-divider.entry.js +5 -5
  345. package/dist/esm/vega-dropdown_5.entry.js +111 -28
  346. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  347. package/dist/esm/{vega-event-id-f55f6977.js → vega-event-id-59cd9297.js} +2 -1
  348. package/dist/esm/vega-field-label.entry.js +31 -38
  349. package/dist/esm/vega-file-uploader.entry.js +11 -11
  350. package/dist/esm/vega-flag-icon.entry.js +11 -11
  351. package/dist/esm/vega-flex.entry.js +7 -7
  352. package/dist/esm/vega-font.entry.js +6 -6
  353. package/dist/esm/vega-form.entry.js +12 -12
  354. package/dist/esm/vega-grid.entry.js +6 -6
  355. package/dist/esm/vega-icon.entry.js +6 -6
  356. package/dist/esm/vega-image-uploader.entry.js +15 -15
  357. package/dist/esm/vega-input-credit-card.entry.js +14 -14
  358. package/dist/esm/vega-input-numeric.entry.js +14 -14
  359. package/dist/esm/vega-input-passcode.entry.js +13 -13
  360. package/dist/esm/vega-input-phone-number.entry.js +55 -274
  361. package/dist/esm/vega-input-range.entry.js +12 -12
  362. package/dist/esm/vega-input-select.entry.js +41 -41
  363. package/dist/esm/vega-input.entry.js +16 -16
  364. package/dist/esm/{vega-internal-event-id-86fce049.js → vega-internal-event-id-02093067.js} +4 -2
  365. package/dist/esm/vega-item-toggle.entry.js +5 -5
  366. package/dist/esm/vega-left-nav_5.entry.js +16 -16
  367. package/dist/esm/vega-loader-wrapper_2.entry.js +4 -4
  368. package/dist/esm/vega-page-notification_2.entry.js +4 -4
  369. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +6 -6
  370. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +6 -6
  371. package/dist/esm/vega-pagination.entry.js +11 -11
  372. package/dist/esm/vega-popover_2.entry.js +65 -16
  373. package/dist/esm/vega-progress-tracker_2.entry.js +12 -12
  374. package/dist/esm/vega-radio_2.entry.js +15 -15
  375. package/dist/esm/vega-rich-text-content.entry.js +18 -15
  376. package/dist/esm/vega-rich-text-editor_4.entry.js +715 -253
  377. package/dist/esm/vega-rich-text-find-replace-panel.entry.js +8 -8
  378. package/dist/esm/vega-rich-text-special-characters-panel.entry.js +10 -10
  379. package/dist/esm/vega-rich-text-table-properties_3.entry.js +163 -110
  380. package/dist/esm/vega-segment-control.entry.js +13 -6
  381. package/dist/esm/vega-selection-chip_2.entry.js +14 -14
  382. package/dist/esm/vega-selection-tile_2.entry.js +12 -12
  383. package/dist/esm/vega-sidenav_3.entry.js +12 -12
  384. package/dist/esm/vega-signature-capture.entry.js +14 -14
  385. package/dist/esm/vega-stepper.entry.js +10 -10
  386. package/dist/esm/vega-tab-group_2.entry.js +9 -9
  387. package/dist/esm/vega-table_11.entry.js +627 -668
  388. package/dist/esm/vega-textarea.entry.js +10 -10
  389. package/dist/esm/vega-time-picker_2.entry.js +18 -18
  390. package/dist/esm/vega-toggle-switch.entry.js +10 -10
  391. package/dist/esm/vega-tooltip_2.entry.js +9 -9
  392. package/dist/esm/vega.js +19 -18
  393. package/dist/esm/{wait-for-component-did-render-ff7062aa.js → wait-for-component-did-render-9e84d92d.js} +2 -2
  394. package/dist/sri/vega-sri-manifest.json +415 -407
  395. package/dist/types/components/vega-button/vega-button.d.ts +2 -0
  396. package/dist/types/components/vega-button-group/types.d.ts +12 -6
  397. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.d.ts +18 -0
  398. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.d.ts +9 -0
  399. package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.d.ts +9 -1
  400. package/dist/types/components/vega-calendar/types.d.ts +22 -0
  401. package/dist/types/components/vega-calendar/vega-calendar.d.ts +23 -1
  402. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +1 -1
  403. package/dist/types/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.d.ts +3 -10
  404. package/dist/types/components/vega-flag-icon/slimmers/controllers/vega-flag-icon-controller.d.ts +2 -2
  405. package/dist/types/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.d.ts +0 -1
  406. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +8 -0
  407. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-prefix-icon-renderer.d.ts +2 -14
  408. package/dist/types/components/vega-input-select/vega-input-select.d.ts +1 -0
  409. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.d.ts +33 -0
  410. package/dist/types/components/vega-modal/types.d.ts +2 -1
  411. package/dist/types/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.d.ts +9 -0
  412. package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +6 -0
  413. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.d.ts +13 -0
  414. package/dist/types/components/vega-rich-text-editor/dto/actions/commit-value-action.d.ts +20 -0
  415. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +6 -0
  416. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +4 -0
  417. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +11 -1
  418. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +6 -0
  419. package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +4 -0
  420. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +6 -0
  421. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +4 -0
  422. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +5 -0
  423. package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.d.ts +19 -0
  424. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.d.ts +4 -0
  425. package/dist/types/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.d.ts +14 -1
  426. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.d.ts +2 -2
  427. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.d.ts +31 -1
  428. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.d.ts +91 -0
  429. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.d.ts +46 -0
  430. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.d.ts +58 -0
  431. package/dist/types/components/vega-rich-text-editor/extensions/table/table-selection.d.ts +8 -0
  432. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-basic-form-field-renderer.abstract.d.ts +2 -1
  433. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.d.ts +2 -0
  434. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.d.ts +3 -0
  435. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-setting-button-slimmer.abstract.d.ts +3 -1
  436. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.d.ts +1 -0
  437. package/dist/types/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.d.ts +38 -0
  438. package/dist/types/components/vega-rich-text-editor/extensions/word-count/type.d.ts +46 -0
  439. package/dist/types/components/vega-rich-text-editor/extensions/word-count/word-count-extension.d.ts +38 -0
  440. package/dist/types/components/vega-rich-text-editor/interface.d.ts +12 -0
  441. package/dist/types/components/vega-rich-text-editor/public-api.d.ts +1 -0
  442. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +11 -1
  443. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.d.ts +40 -0
  444. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.d.ts +14 -0
  445. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +3 -1
  446. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +3 -2
  447. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +12 -0
  448. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.d.ts +2 -0
  449. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +4 -0
  450. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.d.ts +68 -0
  451. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.d.ts +3 -0
  452. package/dist/types/components/vega-segment-control/slimmers/renderers/vega-segment-renderer.d.ts +1 -0
  453. package/dist/types/components/vega-segment-control/types.d.ts +2 -0
  454. package/dist/types/components/vega-segment-control/vega-segment-control.d.ts +7 -1
  455. package/dist/types/components/vega-table/slimmers/controllers/dto/column-render-input-model.d.ts +17 -0
  456. package/dist/types/components/vega-table/slimmers/controllers/dto/row-render-input-model.d.ts +39 -0
  457. package/dist/types/components/vega-table/slimmers/controllers/vega-table-render-input-controller.d.ts +71 -7
  458. package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-renderer.d.ts +1 -0
  459. package/dist/types/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.d.ts +3 -88
  460. package/dist/types/components/vega-table/vega-table-expand-row/slimmers/renderers/vega-table-expand-row-renderer.d.ts +1 -1
  461. package/dist/types/components/vega-table/vega-table-expand-row/vega-table-expand-row.d.ts +5 -0
  462. package/dist/types/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.d.ts +1 -0
  463. package/dist/types/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.d.ts +5 -0
  464. package/dist/types/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.d.ts +1 -3
  465. package/dist/types/components/vega-table/vega-table-foot-row/vega-table-foot-row.d.ts +5 -0
  466. package/dist/types/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.d.ts +0 -4
  467. package/dist/types/components/vega-table/vega-table-head-row/vega-table-head-row.d.ts +2 -2
  468. package/dist/types/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.d.ts +2 -3
  469. package/dist/types/components/vega-table/vega-table-row/vega-table-row.d.ts +4 -0
  470. package/dist/types/components.d.ts +33 -2
  471. package/dist/types/constants/ui.d.ts +1 -1
  472. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
  473. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +3 -1
  474. package/dist/types/helpers/keyboard/keyboard-manager.d.ts +9 -0
  475. package/dist/types/helpers/keyboard/overlay-escape-coordination.d.ts +28 -0
  476. package/dist/types/helpers/public-api.d.ts +1 -0
  477. package/dist/types/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.d.ts +1 -1
  478. package/dist/types/helpers/slimmers/position-calculation/position-calculation-controller.d.ts +6 -0
  479. package/dist/types/helpers/slimmers/position-calculation/screen-position-calculation-strategy.d.ts +6 -0
  480. package/dist/types/helpers/slimmers/position-calculation/screen-scroll-position-update.d.ts +2 -1
  481. package/dist/types/helpers/slimmers/vega-table-child-render-input-consumer-slimmer.d.ts +2 -1
  482. package/dist/types/helpers/translation/interface.d.ts +16 -1
  483. package/dist/types/polyfill/libphonenumber/as-you-type.d.ts +1 -0
  484. package/dist/types/polyfill/libphonenumber/metadata.d.ts +10 -0
  485. package/dist/types/types/components.type.d.ts +7 -1
  486. package/dist/types/types/public-api.d.ts +2 -0
  487. package/dist/types/utils/accessibility.d.ts +9 -0
  488. package/dist/vega/index.esm.js +1 -1
  489. package/dist/vega/p-022cbf8a.js +1 -0
  490. package/dist/vega/{p-c8ad7207.entry.js → p-02c1284e.entry.js} +1 -1
  491. package/dist/vega/{p-22edd3cc.js → p-069bbb4a.js} +1 -1
  492. package/dist/vega/p-08fd229c.js +1 -0
  493. package/dist/vega/{p-fcb6b499.js → p-0eea1ca8.js} +1 -1
  494. package/dist/vega/{p-ba6881da.entry.js → p-131ce9df.entry.js} +1 -1
  495. package/dist/vega/{p-024db952.entry.js → p-143ee395.entry.js} +1 -1
  496. package/dist/vega/p-178634f3.js +1 -0
  497. package/dist/vega/{p-9e9f49f4.js → p-1836a6a5.js} +1 -1
  498. package/dist/vega/p-1dbf8d1f.js +1 -0
  499. package/dist/vega/{p-d4d90ce2.entry.js → p-2b26e182.entry.js} +1 -1
  500. package/dist/vega/p-2dda5c65.entry.js +1 -0
  501. package/dist/vega/{p-df63c2fb.entry.js → p-30010c41.entry.js} +1 -1
  502. package/dist/vega/p-32f5a6dd.entry.js +1 -0
  503. package/dist/vega/{p-3c8421d5.entry.js → p-3460a1c5.entry.js} +1 -1
  504. package/dist/vega/p-34b523da.entry.js +1 -0
  505. package/dist/vega/p-357c0226.entry.js +1 -0
  506. package/dist/vega/p-361f8996.js +1 -0
  507. package/dist/vega/{p-526e3634.js → p-36a57431.js} +1 -1
  508. package/dist/vega/p-36ee9d54.js +1 -0
  509. package/dist/vega/{p-6659c910.entry.js → p-37d5c37e.entry.js} +1 -1
  510. package/dist/vega/{p-47a48329.entry.js → p-3d6a43df.entry.js} +1 -1
  511. package/dist/vega/{p-0ca3b4bf.entry.js → p-45ad2d90.entry.js} +1 -1
  512. package/dist/vega/{p-fb9475ab.entry.js → p-4b117bfd.entry.js} +1 -1
  513. package/dist/vega/p-4b35c748.js +1 -0
  514. package/dist/vega/{p-55dc3053.entry.js → p-4e23e56c.entry.js} +1 -1
  515. package/dist/vega/p-4e70836a.entry.js +1 -0
  516. package/dist/vega/{p-66647244.js → p-4ea477d5.js} +1 -1
  517. package/dist/vega/{p-5147c30d.entry.js → p-50e8e24f.entry.js} +1 -1
  518. package/dist/vega/{p-9c5289dc.entry.js → p-522a6eec.entry.js} +1 -1
  519. package/dist/vega/p-53e3f259.js +1 -0
  520. package/dist/vega/{p-2c737fc8.js → p-5536146c.js} +1 -1
  521. package/dist/vega/{p-944e284d.entry.js → p-55c2c0df.entry.js} +1 -1
  522. package/dist/vega/p-587130f6.entry.js +1 -0
  523. package/dist/vega/{p-9c9b0629.js → p-58c8a4ac.js} +1 -1
  524. package/dist/vega/{p-4f6aaac5.entry.js → p-594cb986.entry.js} +1 -1
  525. package/dist/vega/{p-b12de1bf.entry.js → p-5c17ddda.entry.js} +1 -1
  526. package/dist/vega/{p-7977352b.entry.js → p-5c9c0c0d.entry.js} +1 -1
  527. package/dist/vega/p-5f377954.js +1 -1
  528. package/dist/vega/p-60010f14.entry.js +1 -0
  529. package/dist/vega/p-6098c4bb.js +1 -0
  530. package/dist/vega/{p-2044eba9.js → p-60a74fb7.js} +1 -1
  531. package/dist/vega/p-61e63c0e.entry.js +1 -0
  532. package/dist/vega/{p-49d7cfed.entry.js → p-62254dc7.entry.js} +1 -1
  533. package/dist/vega/{p-2af1d8b8.entry.js → p-62ae9327.entry.js} +1 -1
  534. package/dist/vega/{p-b3c4943b.js → p-638b6a7d.js} +1 -1
  535. package/dist/vega/p-66245bc0.entry.js +1 -0
  536. package/dist/vega/{p-bdb5180c.js → p-68744e7e.js} +1 -1
  537. package/dist/vega/{p-f0a0fc77.entry.js → p-68ca8d3c.entry.js} +1 -1
  538. package/dist/vega/p-6a6c1279.js +1 -0
  539. package/dist/vega/{p-5e9e04f3.entry.js → p-6ae93679.entry.js} +1 -1
  540. package/dist/vega/{p-433b1395.entry.js → p-6d90d28d.entry.js} +1 -1
  541. package/dist/vega/p-6e9e7131.js +1 -0
  542. package/dist/vega/{p-014cd411.js → p-6eedbc4f.js} +1 -1
  543. package/dist/vega/{p-c348eaf5.js → p-6fae6768.js} +1 -1
  544. package/dist/vega/p-71813a9e.entry.js +1 -0
  545. package/dist/vega/{p-860e76f5.entry.js → p-729529d6.entry.js} +1 -1
  546. package/dist/vega/{p-aa433430.entry.js → p-75bfbffe.entry.js} +1 -1
  547. package/dist/vega/{p-d6023dc0.entry.js → p-764b4e51.entry.js} +1 -1
  548. package/dist/vega/p-77bcdd35.js +1 -0
  549. package/dist/vega/{p-c41a2d4a.js → p-7d3419c7.js} +1 -1
  550. package/dist/vega/p-8387896e.js +1 -0
  551. package/dist/vega/p-853a05eb.js +1 -0
  552. package/dist/vega/{p-db11134b.entry.js → p-8e8b5790.entry.js} +1 -1
  553. package/dist/vega/{p-444e24c6.js → p-8ebe30a8.js} +1 -1
  554. package/dist/vega/p-8f00dfe6.js +1 -0
  555. package/dist/vega/{p-4022412e.entry.js → p-9236b8d9.entry.js} +1 -1
  556. package/dist/vega/p-9402f32f.js +1 -0
  557. package/dist/vega/{p-691bdc20.js → p-941a83db.js} +1 -1
  558. package/dist/vega/{p-840444c9.entry.js → p-942f9ea6.entry.js} +1 -1
  559. package/dist/vega/{p-5110c84f.js → p-96c090c4.js} +1 -1
  560. package/dist/vega/{p-328ebbdb.entry.js → p-9fdf66a8.entry.js} +1 -1
  561. package/dist/vega/{p-867cc602.entry.js → p-a2c45173.entry.js} +1 -1
  562. package/dist/vega/{p-66fe8b4e.entry.js → p-a54ed341.entry.js} +1 -1
  563. package/dist/vega/{p-44999c88.entry.js → p-a6a89f09.entry.js} +1 -1
  564. package/dist/vega/{p-ccbed811.entry.js → p-a8a246e8.entry.js} +1 -1
  565. package/dist/vega/p-a93b3aed.js +1 -0
  566. package/dist/vega/{p-528748fa.js → p-aa135628.js} +1 -1
  567. package/dist/vega/{p-a1f220ca.js → p-ab9d53e9.js} +1 -1
  568. package/dist/vega/{p-e18c0656.entry.js → p-af0cfea0.entry.js} +1 -1
  569. package/dist/vega/p-af0e9bd5.entry.js +1 -0
  570. package/dist/vega/{p-daba4af1.js → p-b1557bbe.js} +1 -1
  571. package/dist/vega/{p-f13b39d8.js → p-b2a4314a.js} +1 -1
  572. package/dist/vega/p-b94f164a.entry.js +1 -0
  573. package/dist/vega/{p-23c1f378.entry.js → p-b97ed9f7.entry.js} +1 -1
  574. package/dist/vega/{p-1a37d63c.entry.js → p-bbfffe6b.entry.js} +1 -1
  575. package/dist/vega/{p-aa914dbd.entry.js → p-beccc38c.entry.js} +1 -1
  576. package/dist/vega/{p-dd0bd78b.js → p-c34f4cbc.js} +1 -1
  577. package/dist/vega/p-c51de680.js +3 -0
  578. package/dist/vega/{p-e1c82ca9.js → p-c576e846.js} +1 -1
  579. package/dist/vega/p-c601eea6.js +1 -0
  580. package/dist/vega/{p-200c8914.entry.js → p-c6d2513c.entry.js} +1 -1
  581. package/dist/vega/{p-d62e618a.entry.js → p-ca6bd3a0.entry.js} +1 -1
  582. package/dist/vega/{p-ce82d6bb.entry.js → p-cab890be.entry.js} +1 -1
  583. package/dist/vega/p-cb1cd15f.entry.js +1 -0
  584. package/dist/vega/p-d1f47512.js +1 -0
  585. package/dist/vega/{p-66a785d0.entry.js → p-d37d2ea4.entry.js} +1 -1
  586. package/dist/vega/{p-2f89ee14.entry.js → p-d3e99d4a.entry.js} +1 -1
  587. package/dist/vega/{p-f9bfee81.entry.js → p-d6bd3ce4.entry.js} +1 -1
  588. package/dist/vega/{p-f2384411.entry.js → p-d7838f6e.entry.js} +1 -1
  589. package/dist/vega/{p-a4360b7e.entry.js → p-d8c9ea46.entry.js} +1 -1
  590. package/dist/vega/p-d9588b3f.entry.js +1 -0
  591. package/dist/vega/p-db69a5c9.entry.js +1 -0
  592. package/dist/vega/{p-50eda925.js → p-de1d0284.js} +1 -1
  593. package/dist/vega/{p-3c559c8b.js → p-de6fc52c.js} +1 -1
  594. package/dist/vega/{p-fa5cd8b1.js → p-e14323f3.js} +1 -1
  595. package/dist/vega/{p-bd7725f7.entry.js → p-e48b7a8a.entry.js} +1 -1
  596. package/dist/vega/p-e6f67a44.js +1 -0
  597. package/dist/vega/{p-7754b10f.entry.js → p-e8e3bf74.entry.js} +1 -1
  598. package/dist/vega/p-eadc10bc.entry.js +1 -0
  599. package/dist/vega/p-ee329596.entry.js +1 -0
  600. package/dist/vega/p-f01bc6a2.js +1 -0
  601. package/dist/vega/{p-94b54a95.js → p-f324e90e.js} +1 -1
  602. package/dist/vega/{p-f9a3805d.js → p-f48519d2.js} +1 -1
  603. package/dist/vega/{p-52878ea9.js → p-f485448a.js} +1 -1
  604. package/dist/vega/{p-4afd6715.entry.js → p-f8b2dbb9.entry.js} +1 -1
  605. package/dist/vega/{p-35d37477.entry.js → p-f8d13d01.entry.js} +1 -1
  606. package/dist/vega/{p-4370b954.entry.js → p-f902305d.entry.js} +1 -1
  607. package/dist/vega/{p-3c152bad.entry.js → p-f99f054c.entry.js} +1 -1
  608. package/dist/vega/{p-77fb3971.entry.js → p-fe41e3b6.entry.js} +1 -1
  609. package/dist/vega/vega.esm.js +1 -1
  610. package/package.json +1 -1
  611. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-conttroller.js +0 -85
  612. package/dist/vega/p-0b2c4c0b.js +0 -1
  613. package/dist/vega/p-1fa22fda.js +0 -1
  614. package/dist/vega/p-2529820e.js +0 -1
  615. package/dist/vega/p-35628af4.js +0 -1
  616. package/dist/vega/p-3a230d4b.entry.js +0 -1
  617. package/dist/vega/p-3a620268.js +0 -1
  618. package/dist/vega/p-4473d8b1.js +0 -3
  619. package/dist/vega/p-4a2fe3a4.js +0 -1
  620. package/dist/vega/p-5447a8e8.js +0 -1
  621. package/dist/vega/p-5af312f8.js +0 -1
  622. package/dist/vega/p-5b3c8a56.js +0 -1
  623. package/dist/vega/p-6493f13a.entry.js +0 -1
  624. package/dist/vega/p-66728dd4.entry.js +0 -1
  625. package/dist/vega/p-67e88cd7.entry.js +0 -1
  626. package/dist/vega/p-67eaf77e.js +0 -1
  627. package/dist/vega/p-6d6b4495.entry.js +0 -1
  628. package/dist/vega/p-7b133734.entry.js +0 -1
  629. package/dist/vega/p-7b84a943.entry.js +0 -1
  630. package/dist/vega/p-83ad8988.js +0 -1
  631. package/dist/vega/p-8c30a60d.js +0 -1
  632. package/dist/vega/p-8d2a9012.js +0 -1
  633. package/dist/vega/p-8d4be607.js +0 -1
  634. package/dist/vega/p-8d77c7cf.js +0 -1
  635. package/dist/vega/p-8f3b93db.js +0 -1
  636. package/dist/vega/p-9c2b3279.js +0 -1
  637. package/dist/vega/p-9c9ff871.entry.js +0 -1
  638. package/dist/vega/p-9d90e271.entry.js +0 -1
  639. package/dist/vega/p-a7517760.entry.js +0 -1
  640. package/dist/vega/p-c8fb3aac.entry.js +0 -1
  641. package/dist/vega/p-cede3535.js +0 -1
  642. package/dist/vega/p-cf4b3d40.entry.js +0 -1
  643. package/dist/vega/p-d35a31a5.entry.js +0 -1
  644. package/dist/vega/p-ded1ecc1.entry.js +0 -1
  645. package/dist/vega/p-e1a65e06.entry.js +0 -1
  646. package/dist/vega/p-e469ba27.entry.js +0 -1
  647. package/dist/vega/p-e4c5cb4f.js +0 -1
  648. package/dist/vega/p-fd23c365.entry.js +0 -1
  649. /package/dist/types/components/vega-dropdown/slimmers/controllers/{vega-dropdown-keyboard-conttroller.d.ts → vega-dropdown-keyboard-controller.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import { VegaRTECreateElementFunction, VegaRTERenderResult } from '../../../interface';
1
+ import { RTERenderContext, VegaRTECreateElementFunction, VegaRTERenderResult } from '../../../interface';
2
2
  import { VegaRTEExtensionRenderer } from '../../base-extension-renderer';
3
3
  import { RTETableCaptionBlock } from '../dto/table-caption-block';
4
4
  export declare const TABLE_CAPTION_PLACEHOLDER_TEXT: string;
@@ -9,5 +9,5 @@ export declare class RTETableCaptionRenderer extends VegaRTEExtensionRenderer {
9
9
  /**
10
10
  * @inheritDoc
11
11
  */
12
- doRender(h: VegaRTECreateElementFunction, renderData: RTETableCaptionBlock): VegaRTERenderResult;
12
+ doRender(h: VegaRTECreateElementFunction, renderData: RTETableCaptionBlock, rteContext: RTERenderContext): VegaRTERenderResult;
13
13
  }
@@ -32,8 +32,10 @@ export declare class TableDynamicPopoverRenderer extends TablePopoverBaseRendere
32
32
  *
33
33
  * @param {string} type - The table setting type determining which
34
34
  * content variant to display (for example, table properties or cell properties).
35
+ * @param {Nullable<HTMLElement>} returnCell - The cell to move focus into the dialog for and
36
+ * return focus to if the dialog is dismissed with Escape (set for keyboard/screen-reader users).
35
37
  */
36
- show(type: string): Promise<void>;
38
+ show(type: string, returnCell?: Nullable<HTMLElement>): Promise<void>;
37
39
  /**
38
40
  * hide the popover.
39
41
  */
@@ -51,6 +53,21 @@ export declare class TableDynamicPopoverRenderer extends TablePopoverBaseRendere
51
53
  * @returns {Nullable<HTMLElement>} The constructed popover element.
52
54
  */
53
55
  render(): Nullable<HTMLElement>;
56
+ /**
57
+ * Whether the given event originated inside the properties dialog subtree (either the table or the
58
+ * cell properties form).
59
+ *
60
+ * @param {Event} event - The event to test.
61
+ * @returns {boolean} `true` when an active form is rendered and the event's composed path includes it.
62
+ */
63
+ protected isEventWithinPopover(event: Event): boolean;
64
+ /**
65
+ * Resolves the `.rich-text-content` editor root from the current table ref so the content can be
66
+ * made inert while the properties dialog holds keyboard/VoiceOver focus.
67
+ *
68
+ * @returns {Nullable<HTMLElement>} The editor content element, or `null` when it cannot be resolved.
69
+ */
70
+ protected getInertContentTarget(): Nullable<HTMLElement>;
54
71
  /**
55
72
  * Updates the visibility of the pre-rendered content blocks based on type.
56
73
  *
@@ -67,6 +84,19 @@ export declare class TableDynamicPopoverRenderer extends TablePopoverBaseRendere
67
84
  * Stores the current focus node before properties update action.
68
85
  */
69
86
  private storeCurrentFocusNode;
87
+ /**
88
+ * Moves focus to the first focusable control in the active properties form so keyboard and
89
+ * screen-reader users land inside the dialog when it opens. The first form field is the Border
90
+ * Style select; its focusable trigger is the `.vega-input-select-container` element.
91
+ *
92
+ * @param {string} type - The table setting type that determines which form is visible.
93
+ */
94
+ private focusFirstFormField;
95
+ /**
96
+ * When the properties dialog hides after an Escape press, returns focus (and the caret) to the
97
+ * table cell that had focus before the dialog was opened via the setting toolbar.
98
+ */
99
+ private handleDialogHide;
70
100
  /**
71
101
  * Create and position an invisible anchor element whose position and size are identical to the geometry of the current multi-cell selection.
72
102
  * This anchor element will then be used as the target of the popup, so that the popup appears near the entire selection area.
@@ -3,9 +3,25 @@ import { RTERenderContext, VegaRTEToolbarRenderContext } from '../../../interfac
3
3
  import { RTETableExtensionContext } from '../table-extension';
4
4
  /**
5
5
  * Base renderer for table-related popovers, providing common functionalities such as accessing the table extension context.
6
+ *
7
+ * Popovers that move keyboard/VoiceOver focus into themselves (the setting toolbar and the
8
+ * properties dialog) share the same focus-restoration machinery: they make the editor content
9
+ * `inert` while open, track Escape presses at the document level, and return focus (and the caret)
10
+ * to the originating cell when an Escape dismisses the popover. That behavior lives here so the two
11
+ * renderers do not each carry a copy; subclasses only supply the two pieces that differ — how to
12
+ * resolve the editor content root ({@link getInertContentTarget}) and how to tell whether an event
13
+ * originated inside their own popover subtree ({@link isEventWithinPopover}).
6
14
  */
7
15
  export declare class TablePopoverBaseRenderer {
8
16
  protected renderContext: Nullable<RTERenderContext | VegaRTEToolbarRenderContext>;
17
+ /** The editor content element made inert while the popover holds focus, cached so it can be restored. */
18
+ protected inertedContentEl: Nullable<HTMLElement>;
19
+ /** The table cell to return focus to when the popover is dismissed via Escape. */
20
+ protected returnFocusCell: Nullable<HTMLElement>;
21
+ /** Tracks whether Escape was pressed while the popover was open. */
22
+ protected escapePressed: boolean;
23
+ /** Document the Escape tracker keydown listener is bound to, for later removal. */
24
+ protected keydownListenerDocument: Nullable<Document>;
9
25
  constructor(renderContext: RTERenderContext | VegaRTEToolbarRenderContext);
10
26
  /**
11
27
  * Retrieves the table extension context associated with the current render context.
@@ -13,4 +29,79 @@ export declare class TablePopoverBaseRenderer {
13
29
  * @returns {Nullable<RTETableExtensionContext>} The table extension context if available, otherwise null.
14
30
  */
15
31
  protected getTableExtensionContext(): Nullable<RTETableExtensionContext>;
32
+ /**
33
+ * Begins tracking so a later Escape can return focus to `returnCell`. Records the cell and clears
34
+ * any stale Escape observed before the popover was opened.
35
+ *
36
+ * @param {Nullable<HTMLElement>} returnCell - The cell to return focus to if the popover is dismissed with Escape.
37
+ */
38
+ protected beginReturnFocusTracking(returnCell: Nullable<HTMLElement>): void;
39
+ /**
40
+ * Registers the document-level (capture phase) Escape tracker. The popover renders in a portal, so
41
+ * its Escape does not bubble back to the table; observing on the document lets us know when to
42
+ * return focus to the cell.
43
+ *
44
+ * @param {Document} doc - The document to bind the keydown listener to.
45
+ */
46
+ protected attachEscapeTracker(doc: Document): void;
47
+ /**
48
+ * Removes the document-level Escape tracker if one was registered.
49
+ */
50
+ protected detachEscapeTracker(): void;
51
+ /**
52
+ * Tracks Escape key presses that originate inside the popover so focus can be returned to the
53
+ * originating cell when that Escape dismisses the popover. vega-popover's own Escape handler hides
54
+ * the popover without restoring focus, so the restore is coordinated here.
55
+ *
56
+ * The listener is bound at the document level (the popover renders in a portal, so its Escape does
57
+ * not bubble back to the table), so scope it to the popover subtree via {@link isEventWithinPopover}:
58
+ * a stray Escape elsewhere must not arm the restore and hijack focus on a later non-Escape dismissal
59
+ * (e.g. click-outside).
60
+ *
61
+ * @param {KeyboardEvent} event - The keydown event.
62
+ */
63
+ protected handleDocumentKeydown: (event: KeyboardEvent) => void;
64
+ /**
65
+ * Whether the given event originated inside this popover's subtree. Subclasses override this to
66
+ * match their own portal-rendered content; the base returns `false` so renderers that do not move
67
+ * focus never arm the restore.
68
+ *
69
+ * @param {Event} _event - The event to test.
70
+ * @returns {boolean} `true` when the event originated inside the popover subtree.
71
+ */
72
+ protected isEventWithinPopover(_event: Event): boolean;
73
+ /**
74
+ * When the popover hides after an Escape press, returns focus (and the caret) to the table cell
75
+ * that had focus before the popover was opened.
76
+ *
77
+ * vegaPopoverHide fires synchronously from the popover's own Escape handler, before the
78
+ * document-capture keydown observes the key and before the popover settles focus on `<body>`.
79
+ * Defer past that so the flag is set and this focus restore wins.
80
+ */
81
+ protected restoreFocusOnEscapeHide(): void;
82
+ /**
83
+ * Focuses the given table cell and collapses the caret at its start.
84
+ *
85
+ * @param {HTMLElement} cell - The table cell to focus.
86
+ */
87
+ protected restoreFocusToCell(cell: HTMLElement): void;
88
+ /**
89
+ * Resolves the `.rich-text-content` editor root to toggle `inert` on while the popover holds focus.
90
+ * Subclasses override this because they reach the content from different anchors (the toolbar's
91
+ * target vs. the current table ref); the base returns `null` so renderers that do not use inert are
92
+ * unaffected.
93
+ *
94
+ * @returns {Nullable<HTMLElement>} The editor content element, or `null` when it cannot be resolved.
95
+ */
96
+ protected getInertContentTarget(): Nullable<HTMLElement>;
97
+ /**
98
+ * Toggles `inert` on the editor content region while the popover holds keyboard/VoiceOver focus.
99
+ * Safari VoiceOver keeps its reading cursor anchored to the cell caret and does not follow the
100
+ * programmatic focus moved into the popover; making the editor content inert removes that text
101
+ * context so the VoiceOver cursor lands inside the popover. The popover is a body-level portal, so it
102
+ * is not a descendant of the inert content and stays interactive.
103
+ *
104
+ * @param {boolean} inert - Whether the editor content should be inert.
105
+ */
106
+ protected setEditorContentInert(inert: boolean): void;
16
107
  }
@@ -24,9 +24,55 @@ export declare class RTETableBlockRenderer extends VegaRTEExtensionRenderer {
24
24
  * @param {VegaRTECreateElementFunction} h - The create element function.
25
25
  * @param {RTETableBlock} renderData - The table block to render.
26
26
  * @param {(ref: HTMLElement) => HTMLElement} setTableRef - Set table ref to tableRef
27
+ * @param {RTERenderContext} rteContext - The rendering context of the rich text editor.
27
28
  * @returns {VegaRTERenderResult} - The rendered table element.
28
29
  */
29
30
  private renderTable;
31
+ /**
32
+ * Handles activation of the table itself (e.g. VoiceOver Ctrl+Option+Space, which dispatches a
33
+ * click on the focused table) by moving focus into the first cell so the user can start editing.
34
+ *
35
+ * @param {MouseEvent} event - The click event dispatched on the table.
36
+ * @param {RTERenderContext} rteContext - The rendering context of the rich text editor.
37
+ */
38
+ private handleTableActivate;
39
+ /**
40
+ * Handles table-scoped keyboard shortcuts while focus is inside the table:
41
+ * - Alt+F10 opens the table setting toolbar (re-targeting and showing it when needed) and moves
42
+ * focus to it (the common "focus the contextual toolbar" shortcut), so keyboard/screen-reader
43
+ * users can reach the toolbar buttons even when it is currently closed.
44
+ * - Escape moves focus back onto the table, so the caret leaves the cell (its focus highlight
45
+ * is cleared), the contextual setting toolbar is dismissed, and screen readers announce the
46
+ * table again.
47
+ *
48
+ * @param {KeyboardEvent} event - The keydown event.
49
+ * @param {RTERenderContext} rteContext - The rendering context of the rich text editor.
50
+ * @param {RTETableBlock} renderData - The table block being rendered.
51
+ */
52
+ private handleTableKeyDown;
53
+ /**
54
+ * Moves focus (and the caret) into the first cell of the table.
55
+ *
56
+ * @param {HTMLElement} tableRef - The table element.
57
+ * @param {RTERenderContext} rteContext - The rendering context of the rich text editor.
58
+ */
59
+ private focusFirstCell;
60
+ /**
61
+ * Moves focus onto the table element and clears any cell caret and selection highlight.
62
+ *
63
+ * @param {HTMLElement} tableRef - The table element.
64
+ * @param {RTERenderContext} rteContext - The rendering context of the rich text editor.
65
+ */
66
+ private focusTable;
67
+ /**
68
+ * Resolves the editor selection, preferring the shadow-aware selection from the extension
69
+ * context and falling back to the table's owning document.
70
+ *
71
+ * @param {RTERenderContext} rteContext - The rendering context of the rich text editor.
72
+ * @param {HTMLElement} tableRef - The table element.
73
+ * @returns {Nullable<Selection>} - The resolved selection, or null when unavailable.
74
+ */
75
+ private getSelection;
30
76
  /**
31
77
  * Handles the removal of the table block.
32
78
  *
@@ -1,3 +1,4 @@
1
+ import { Nullable } from '../../../../../types/general';
1
2
  import { RTETableBlock } from '../dto/table-block';
2
3
  import { TablePopoverBaseRenderer } from './table-popover-base-renderer';
3
4
  import { RTERenderContext } from '../../../interface';
@@ -28,14 +29,58 @@ export declare class TableSettingPopoverRenderer extends TablePopoverBaseRendere
28
29
  * Sync the selected cells from the table selection to the table setting component.
29
30
  */
30
31
  syncSelectedCells: () => void;
32
+ /**
33
+ * Hides the table setting toolbar and its dynamic popover. Used when focus leaves the table (e.g.
34
+ * Escape moves focus from a cell back onto the table) so the contextual toolbar does not linger.
35
+ */
36
+ hide: () => void;
37
+ /**
38
+ * Opens the table setting toolbar for keyboard/screen-reader users and moves focus to its first
39
+ * enabled button. Used by the Alt+F10 shortcut so the toolbar can be reached from inside a cell
40
+ * even when it is currently closed: it re-targets and shows the popover (the same path as a table
41
+ * click) before deferring focus to the first enabled button.
42
+ *
43
+ * @param {RTETableBlock} tableBlock - The table's block data.
44
+ * @param {() => HTMLElement} getTableRef - Getter for the table's DOM element.
45
+ * @param {Nullable<HTMLElement>} returnCell - The cell to return focus to if the toolbar is dismissed with Escape.
46
+ */
47
+ openSettingToolbarForKeyboard: (tableBlock: RTETableBlock, getTableRef: () => HTMLElement, returnCell?: Nullable<HTMLElement>) => void;
48
+ /**
49
+ * Moves focus to the first enabled button in the table setting toolbar. Used by the Alt+F10
50
+ * shortcut so keyboard and screen-reader users can reach the toolbar from inside the table.
51
+ *
52
+ * @param {Nullable<HTMLElement>} returnCell - The cell to return focus to if the toolbar is dismissed with Escape.
53
+ */
54
+ focusFirstSettingButton: (returnCell?: Nullable<HTMLElement>) => void;
31
55
  /**
32
56
  * Builds the popover DOM and appends it to the RTE host. Idempotent: subsequent calls are no-ops.
33
57
  */
34
58
  render(): void;
59
+ /**
60
+ * Whether the given event originated inside the setting toolbar subtree.
61
+ *
62
+ * @param {Event} event - The event to test.
63
+ * @returns {boolean} `true` when the toolbar is rendered and the event's composed path includes it.
64
+ */
65
+ protected isEventWithinPopover(event: Event): boolean;
66
+ /**
67
+ * Resolves the `.rich-text-content` editor root from the setting toolbar's target so the content
68
+ * can be made inert while the toolbar holds keyboard/VoiceOver focus.
69
+ *
70
+ * @returns {Nullable<HTMLElement>} The editor content element, or `null` when it cannot be resolved.
71
+ */
72
+ protected getInertContentTarget(): Nullable<HTMLElement>;
35
73
  /**
36
74
  * Updates the table setting component caption state to match the current table data.
37
75
  */
38
76
  private updateTableSettingCaption;
77
+ /**
78
+ * When the caption is toggled on, moves keyboard/VoiceOver focus and the caret into the caption so
79
+ * the user lands in it to start typing. The setting toolbar is opened as inert-guarded for
80
+ * keyboard/screen-reader users, so lift that guard first; the caption is re-rendered by the toggle,
81
+ * so defer the focus to the next tick when the `<caption>` element exists.
82
+ */
83
+ private moveFocusToCaption;
39
84
  /**
40
85
  * Re-targets the shared popovers to the given table.
41
86
  *
@@ -53,6 +98,19 @@ export declare class TableSettingPopoverRenderer extends TablePopoverBaseRendere
53
98
  * Handles the popover show event to sync the selected table cells to the table setting component.
54
99
  */
55
100
  private handleTableSettingPopoverShow;
101
+ /**
102
+ * When the setting popover hides after an Escape press, returns focus (and the caret) to the
103
+ * table cell that had focus before the toolbar was reached via Alt+F10.
104
+ */
105
+ private handleTableSettingPopoverHide;
106
+ /**
107
+ * `vega-popover-content-box` renders `role="dialog"` + `aria-modal="true"`, which on WebKit
108
+ * VoiceOver confines the reading cursor to the popover. Keep those semantics so Ctrl+Opt+Arrow
109
+ * cannot walk the VoiceOver cursor out of the toolbar past the last button (VoiceOver swallows
110
+ * those keys, so this cannot be trapped in JS), and give the dialog an accessible name so it
111
+ * announces "Table tools" on entry.
112
+ */
113
+ private labelSettingDialog;
56
114
  /**
57
115
  * Collects and returns the currently selected table cells.
58
116
  *
@@ -111,6 +111,14 @@ export declare class RTETableSelection {
111
111
  * Handle selection change events from the document for the cell click selection.
112
112
  */
113
113
  private handleSelectionChange;
114
+ /**
115
+ * Resolve the single table cell that contains the given selection node. Used as a fallback when a
116
+ * collapsed caret does not intersect any text node (see handleSelectionChange).
117
+ *
118
+ * @param {Node} node - The selection's common ancestor container.
119
+ * @returns {RTETableCellBlock[]} The containing cell block, or an empty list when none is found.
120
+ */
121
+ private resolveCaretCell;
114
122
  /**
115
123
  * Recursively filter and collect selected table cell blocks within the given node.
116
124
  *
@@ -7,6 +7,7 @@ export declare abstract class VegaRichTextTablePropertiesBaseFormFieldRenderer e
7
7
  static TABLE_BORDER_STYLES: SelectSourceItem[];
8
8
  protected controller: VegaRichTextTableProperties['controller'];
9
9
  protected defaultValue: VegaRichTextTableProperties['defaultValue'];
10
+ protected translationSlimmer: VegaRichTextTableProperties['translationSlimmer'];
10
11
  protected renderer: VegaRichTextTableProperties['renderer'];
11
12
  protected styleMap: VegaRichTextTableProperties['styleMap'];
12
13
  protected vegaChange: VegaRichTextTableProperties['vegaChange'];
@@ -34,7 +35,7 @@ export declare abstract class VegaRichTextTablePropertiesBaseFormFieldRenderer e
34
35
  * @returns { HTMLElement } The dimension fields element.
35
36
  */
36
37
  protected renderDimensionFields(withPadding?: boolean): HTMLElement;
37
- protected renderAlignmentField(alignmentList: string[], iconPrefix: string, formFieldName: string): HTMLElement;
38
+ protected renderAlignmentField(alignmentList: string[], iconPrefix: string, formFieldName: string, ariaLabelMap: Record<string, string>): HTMLElement;
38
39
  /**
39
40
  * Render save and cancel action buttons.
40
41
  *
@@ -9,6 +9,7 @@ import { TableColorController } from './slimmers/controllers/vega-rich-text-tabl
9
9
  import { VegaRichTextTablePropertiesFormFieldRenderer } from './slimmers/renderers/vega-rich-text-table-properties-form-field-renderer';
10
10
  import { VegaRichTextCellPropertiesFormFieldRenderer } from './slimmers/renderers/vega-rich-text-cell-properties-form-field-renderer';
11
11
  import { DarkModeStateControllerSlimmer } from '../../../../../helpers/slimmers/dark-mode-state-controller-slimmer';
12
+ import { AriaAttributesValueMapper } from '../../../../../helpers/slimmers/mutation-observer/aria-attributes-value-mapper';
12
13
  /**
13
14
  * @vegaVersion 2.79.0
14
15
  */
@@ -21,6 +22,7 @@ export declare class VegaRichTextTableProperties {
21
22
  protected readonly cellFormRenderer: VegaRichTextCellPropertiesFormFieldRenderer;
22
23
  protected readonly controller: TableColorController;
23
24
  protected darkModeStateSlimmer: DarkModeStateControllerSlimmer;
25
+ protected ariaAttributesValueMapper: AriaAttributesValueMapper;
24
26
  protected changeEventPreventSlimmer: ChildNodesEventPreventSlimmer;
25
27
  host: HTMLVegaRichTextTablePropertiesElement;
26
28
  isInDarkMode: boolean;
@@ -1,8 +1,10 @@
1
1
  import { TableSettingButtonSlimmer } from './table-setting-button-slimmer.abstract';
2
+ import { VegaRichTextTableSetting } from '../../vega-rich-text-table-setting';
2
3
  /**
3
4
  * Slimmer dedicated to building the row button.
4
5
  */
5
6
  export declare class RowButtonSlimmer extends TableSettingButtonSlimmer {
7
+ isRowDropdownOpen: VegaRichTextTableSetting['isRowDropdownOpen'];
6
8
  constructor();
7
9
  protected renderBtnWrapper(renderBtn: () => HTMLElement): HTMLElement;
8
10
  protected isDisabled(): boolean;
@@ -15,6 +17,7 @@ export declare class RowButtonSlimmer extends TableSettingButtonSlimmer {
15
17
  */
16
18
  private renderActionList;
17
19
  private handleDropdownItemClick;
20
+ private handleDropdownVisibilityChange;
18
21
  /**
19
22
  * Check if all selected rows are header rows.
20
23
  *
@@ -4,6 +4,7 @@ export declare type RTETableSettingButtonProps = {
4
4
  icon: string;
5
5
  title: string;
6
6
  showArrowIcon?: boolean;
7
+ ariaLabel: string;
7
8
  };
8
9
  export declare abstract class TableSettingButtonSlimmer extends VegaSlimmer {
9
10
  protected hasCaption: VegaRichTextTableSetting['hasCaption'];
@@ -12,7 +13,8 @@ export declare abstract class TableSettingButtonSlimmer extends VegaSlimmer {
12
13
  protected readonly icon: RTETableSettingButtonProps['icon'];
13
14
  private readonly title;
14
15
  private readonly showArrowIcon;
15
- protected constructor({ icon, title, showArrowIcon }: RTETableSettingButtonProps);
16
+ private readonly ariaLabel;
17
+ protected constructor({ icon, title, showArrowIcon, ariaLabel }: RTETableSettingButtonProps);
16
18
  render(): HTMLElement;
17
19
  protected emitClickEvent(setting: Array<string>): void;
18
20
  /**
@@ -28,6 +28,7 @@ export declare class VegaRichTextTableSetting {
28
28
  protected readonly mergeCellsButtonSlimmer: MergeCellsButtonSlimmer;
29
29
  host: HTMLVegaRichTextTableSettingElement;
30
30
  isColumnDropdownOpen: boolean;
31
+ isRowDropdownOpen: boolean;
31
32
  isMergeCellsDropdownOpen: boolean;
32
33
  /**
33
34
  * Indicates whether the current table already has a caption.
@@ -0,0 +1,38 @@
1
+ import { ActionHandlerInterceptor } from '../../../dto/action-handle-strategies/action-handle-interceptor.abstract';
2
+ import { CommitValueAction } from '../../../dto/actions/commit-value-action';
3
+ import type { VegaRTEContent } from '../../../dto/content-state';
4
+ /**
5
+ * Vetoes a commit that would push the character count past the hard limit, while
6
+ * still allowing deletions and formatting that keep or reduce the count.
7
+ */
8
+ export declare class PreventHardLimitExceedInterceptor extends ActionHandlerInterceptor<CommitValueAction, VegaRTEContent> {
9
+ /**
10
+ * Intercept when the candidate exceeds the configured maximum. Hard-limit
11
+ * commits are vetoed only when they increase the count.
12
+ *
13
+ * @param {CommitValueAction} action - the commit action carrying the candidate and previous values
14
+ * @returns {boolean} - whether the commit should be vetoed
15
+ */
16
+ canIntercept(action: CommitValueAction): boolean;
17
+ /**
18
+ * Not invoke the origin action handle to veto the commit that would push the character count past the hard limit.
19
+ */
20
+ intercept(): void;
21
+ /**
22
+ * Notify the consumer when the candidate exceeds the configured character limit.
23
+ * The previous content is empty when hard limit is not enabled for the performance optimization.
24
+ *
25
+ * @param {string} nextContent - the candidate content string
26
+ * @param {string} prevContent - the previous content string
27
+ * @param {VegaRTEWordCountExtension} extension - the configured word count extension
28
+ * @param {CommitValueAction} action - the commit action carrying the candidate value
29
+ */
30
+ private notifyCharsLimitExceeded;
31
+ /**
32
+ * Check if the given extension is a word count extension.
33
+ *
34
+ * @param {VegaRTEExtension} extension - the extension to check
35
+ * @returns {boolean} - whether the extension is a word count extension
36
+ */
37
+ private isWordCountExtension;
38
+ }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Configurable options for the word count extension.
3
+ */
4
+ export declare type VegaRTEWordCountConfig = {
5
+ /**
6
+ * Whether to display the character count UI in the editor footer.
7
+ */
8
+ showCharCount?: boolean;
9
+ /**
10
+ * Whether to count inline line breaks (soft breaks) as characters.
11
+ * Defaults to `false` to match the common editor behavior of not counting
12
+ * line breaks.
13
+ */
14
+ countInlineBreak?: boolean;
15
+ /**
16
+ * The maximum number of characters allowed in the editor content.
17
+ */
18
+ maxChars?: number;
19
+ /**
20
+ * Whether to enforce the maximum character limit by preventing further input.
21
+ * Defaults to `false`, which allows users to exceed the limit but still displays the count.
22
+ */
23
+ hardLimit?: boolean;
24
+ /**
25
+ * Callback fired when content exceeds the configured max character limit.
26
+ */
27
+ onCharsLimitExceeded?: (host: HTMLVegaRichTextEditorElement, maxChars: number) => void;
28
+ };
29
+ /**
30
+ * The data produced by the word count extension for a given plain text input.
31
+ */
32
+ export declare type VegaRTEWordCountData = {
33
+ /**
34
+ * The number of characters in the editor content.
35
+ */
36
+ count: number;
37
+ /**
38
+ * The maximum number of characters allowed in the editor content which user set.
39
+ */
40
+ maxChars?: number;
41
+ /**
42
+ * Whether the maximum character limit is enforced by preventing further input.
43
+ */
44
+ hardLimit: boolean;
45
+ };
46
+ export declare type ResolvedRTEWordCountConfig = Required<Omit<VegaRTEWordCountConfig, 'maxChars' | 'onCharsLimitExceeded'>> & Pick<VegaRTEWordCountConfig, 'maxChars' | 'onCharsLimitExceeded'>;
@@ -0,0 +1,38 @@
1
+ import { VegaRTEExtension } from '../extension.abstract';
2
+ import { VegaRTEContent } from '../../dto/content-state';
3
+ import { ResolvedRTEWordCountConfig, VegaRTEWordCountConfig, VegaRTEWordCountData } from './type';
4
+ /**
5
+ * Default configuration applied when a word count option is not provided.
6
+ */
7
+ export declare const DEFAULT_WORD_COUNT_CONFIG: ResolvedRTEWordCountConfig;
8
+ /**
9
+ * Rich Text Editor extension that provides character counting.
10
+ */
11
+ export declare class VegaRTEWordCountExtension extends VegaRTEExtension {
12
+ /**
13
+ * Runtime discriminator used by the core to identify this extension.
14
+ */
15
+ readonly type: string;
16
+ private readonly config;
17
+ constructor(config?: VegaRTEWordCountConfig);
18
+ /**
19
+ * Get the extension configuration.
20
+ *
21
+ * @returns {ResolvedRTEWordCountConfig} The word count configuration.
22
+ */
23
+ getConfig(): ResolvedRTEWordCountConfig;
24
+ /**
25
+ * Compute the character count data for the given editor content.
26
+ *
27
+ * @param {VegaRTEContent} value - The editor content.
28
+ * @returns {VegaRTEWordCountData} The computed character count data.
29
+ */
30
+ getData(value: VegaRTEContent): VegaRTEWordCountData;
31
+ /**
32
+ * Get the character count for the given content string.
33
+ *
34
+ * @param {string} content - The content string.
35
+ * @returns {number} The character count.
36
+ */
37
+ calculateTextCount(content: string): number;
38
+ }
@@ -34,6 +34,12 @@ export type ToolbarButtonConfig = {
34
34
  * Tooltip configuration for the button.
35
35
  */
36
36
  tooltip: Partial<Pick<HTMLVegaTooltipElement, 'text'>>;
37
+ /**
38
+ * Accessible name applied as `aria-label` on the underlying toolbar button.
39
+ * Optional — when omitted, the button falls back to `tooltip.text` so icon-only
40
+ * toolbar buttons still expose a meaningful name to screen readers.
41
+ */
42
+ ariaLabel?: string;
37
43
  /**
38
44
  * Whether to focus the content when clicked
39
45
  */
@@ -844,6 +850,12 @@ export type RTEToolbarButtonProps = {
844
850
  * When provided, the button will be wrapped in a vega-tooltip.
845
851
  */
846
852
  tooltip?: Partial<Pick<HTMLVegaTooltipElement, 'text'>>;
853
+ /**
854
+ * Accessible name applied as `aria-label` on the underlying toolbar button.
855
+ * When omitted, falls back to `label` so icon-only buttons still expose a
856
+ * meaningful name to screen readers.
857
+ */
858
+ ariaLabel?: string;
847
859
  };
848
860
 
849
861
  /**
@@ -29,6 +29,7 @@ export { VegaRTEPasteExtension } from './extensions/paste/paste-extension';
29
29
  export { VegaRTECopyExtension } from './extensions/copy/copy-extension';
30
30
  export { VegaRTECutExtension } from './extensions/cut/cut-extension';
31
31
  export { VegaRTEImageExtension } from './extensions/image/image-extension';
32
+ export { VegaRTEWordCountExtension } from './extensions/word-count/word-count-extension';
32
33
  export { ModifyContentAction, ModifyContentActionType } from './dto/actions/modify-content-action.abstract';
33
34
  export { AppendChildrenAction } from './dto/actions/append-child-nodes-action';
34
35
  export { RemoveChildrenAction } from './dto/actions/remove-child-action';
@@ -1,6 +1,7 @@
1
1
  import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
2
2
  import { VegaRichTextEditor } from '../../vega-rich-text-editor';
3
3
  import { VegaRTEContent } from '../../dto/content-state';
4
+ import { RTEUpdateSource } from '../../constants/constant';
4
5
  /**
5
6
  * The value controller is responsible for updating the value of the rich text editor.
6
7
  */
@@ -12,8 +13,11 @@ export declare class ValueController extends VegaSlimmer {
12
13
  valueController: VegaRichTextEditor['valueController'];
13
14
  historyController: VegaRichTextEditor['historyController'];
14
15
  selectionController: VegaRichTextEditor['selectionController'];
16
+ wordCountController: VegaRichTextEditor['wordCountController'];
17
+ vegaRichTextEditorRenderer: VegaRichTextEditor['vegaRichTextEditorRenderer'];
15
18
  sourceEditConfig: VegaRichTextEditor['sourceEditConfig'];
16
19
  private flushChangeObserver;
20
+ private committedSnapshot;
17
21
  /**
18
22
  * Component lifecycle - [connectedCallback]{@link VegaRichTextEditor.connectedCallback}
19
23
  */
@@ -30,13 +34,19 @@ export declare class ValueController extends VegaSlimmer {
30
34
  * Watches the value of the editor and updates the internal value.
31
35
  */
32
36
  watchValueUpdate(): void;
37
+ /**
38
+ * Seeds the rollback snapshot from the current value while a commit interceptor is active.
39
+ * Runs on load and on extension changes so runtime re-registration stays protected.
40
+ */
41
+ seedCommittedSnapshot(): void;
33
42
  /**
34
43
  * Updates the value of the editor and restore the selection.
35
44
  *
36
45
  * @param {VegaRTEContent} newValue The new value to set.
37
46
  * @param {boolean} recordHistory - Whether to record the change in history.
47
+ * @param {RTEUpdateSource} updateSource - The source of the update, defaulting to 'default'.
38
48
  */
39
- flushChanges(newValue: VegaRTEContent, recordHistory?: boolean): Promise<void>;
49
+ flushChanges(newValue: VegaRTEContent, recordHistory?: boolean, updateSource?: RTEUpdateSource): Promise<void>;
40
50
  /**
41
51
  * Determines whether the observer should accept changes.
42
52
  *
@@ -0,0 +1,40 @@
1
+ import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
2
+ import { VegaRichTextEditor } from '../../vega-rich-text-editor';
3
+ import { Nullable } from '../../../../types/general';
4
+ import type { VegaRTEWordCountData } from '../../extensions/word-count/type';
5
+ /**
6
+ * Bridges the word count extension to the editor component so the footer UI can
7
+ * read whether the character count should be shown and its current value.
8
+ */
9
+ export declare class WordCountController extends VegaSlimmer {
10
+ protected extensions: VegaRichTextEditor['extensions'];
11
+ protected host: HTMLVegaRichTextEditorElement;
12
+ private cachedValue;
13
+ private cachedConfig;
14
+ private cachedData;
15
+ /**
16
+ * Whether the character count UI should be rendered.
17
+ *
18
+ * @returns {boolean} True when a word count extension requests the UI.
19
+ */
20
+ shouldShowUI(): boolean;
21
+ /**
22
+ * Compute the current character count data from the editor content.
23
+ *
24
+ * @returns {Nullable<VegaRTEWordCountData>} The count data or null when no word count extension is registered.
25
+ */
26
+ getData(): Nullable<VegaRTEWordCountData>;
27
+ /**
28
+ * Whether the word count extension gates commits with a hard character limit.
29
+ *
30
+ * @returns {boolean} True when a hard limit with a max character count is configured for this host.
31
+ */
32
+ hasWordCountHardLimit(): boolean;
33
+ /**
34
+ * Locate the word count extension by its runtime `type` discriminator.
35
+ * Use this way instead of instanceof to avoid direct dependency on the extension class.
36
+ *
37
+ * @returns {Nullable<VegaRTEWordCountExtension>} The word count extension or null.
38
+ */
39
+ private findWordCountExtension;
40
+ }