@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
@@ -0,0 +1,79 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
8
+ import { RTE_WORD_COUNT_KEY } from '../../constants/constant';
9
+ import { deepEqual } from '../../../../utils/object';
10
+ import { isNonNullable } from '../../../../types/type-guard';
11
+ /**
12
+ * Bridges the word count extension to the editor component so the footer UI can
13
+ * read whether the character count should be shown and its current value.
14
+ */
15
+ export class WordCountController extends VegaSlimmer {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.cachedValue = null;
19
+ this.cachedConfig = null;
20
+ this.cachedData = null;
21
+ }
22
+ /**
23
+ * Whether the character count UI should be rendered.
24
+ *
25
+ * @returns {boolean} True when a word count extension requests the UI.
26
+ */
27
+ shouldShowUI() {
28
+ var _a;
29
+ return !!((_a = this.findWordCountExtension()) === null || _a === void 0 ? void 0 : _a.getConfig().showCharCount);
30
+ }
31
+ /**
32
+ * Compute the current character count data from the editor content.
33
+ *
34
+ * @returns {Nullable<VegaRTEWordCountData>} The count data or null when no word count extension is registered.
35
+ */
36
+ getData() {
37
+ const extension = this.findWordCountExtension();
38
+ if (!extension) {
39
+ return null;
40
+ }
41
+ const value = this.host.value;
42
+ const config = extension.getConfig();
43
+ // VegaRTEContent is immutable, so a matching value/config reference means the data is unchanged.
44
+ if (this.cachedData && value === this.cachedValue && deepEqual(config, this.cachedConfig)) {
45
+ return this.cachedData;
46
+ }
47
+ this.cachedData = extension.getData(value);
48
+ this.cachedValue = value;
49
+ this.cachedConfig = config;
50
+ return this.cachedData;
51
+ }
52
+ /**
53
+ * Whether the word count extension gates commits with a hard character limit.
54
+ *
55
+ * @returns {boolean} True when a hard limit with a max character count is configured for this host.
56
+ */
57
+ hasWordCountHardLimit() {
58
+ var _a;
59
+ const config = (_a = this.findWordCountExtension()) === null || _a === void 0 ? void 0 : _a.getConfig();
60
+ return !!config && Boolean(config.hardLimit) && isNonNullable(config.maxChars);
61
+ }
62
+ /**
63
+ * Locate the word count extension by its runtime `type` discriminator.
64
+ * Use this way instead of instanceof to avoid direct dependency on the extension class.
65
+ *
66
+ * @returns {Nullable<VegaRTEWordCountExtension>} The word count extension or null.
67
+ */
68
+ findWordCountExtension() {
69
+ var _a;
70
+ const extension = ((_a = this.extensions) !== null && _a !== void 0 ? _a : []).find((ext) => 'type' in ext && ext['type'] === RTE_WORD_COUNT_KEY);
71
+ return extension !== null && extension !== void 0 ? extension : null;
72
+ }
73
+ }
74
+ __decorate([
75
+ MapToComponentField()
76
+ ], WordCountController.prototype, "extensions", void 0);
77
+ __decorate([
78
+ MapToComponentField()
79
+ ], WordCountController.prototype, "host", void 0);
@@ -54,14 +54,17 @@ export class ToolbarRenderer extends VegaSlimmer {
54
54
  const [renderedItems, totalVisibleCount] = this.renderToolbarItems();
55
55
  return (h("vega-flex", { gap: "size-8", alignItems: "center", flexWrap: "wrap" },
56
56
  this.allowSourceEdit && (h(Fragment, null,
57
- h("div", { class: "toolbar-btn-group" }, this.sourceEditToolbarButtonSlimmer.render()),
57
+ h("div", { class: "toolbar-btn-group", role: "presentation" }, this.sourceEditToolbarButtonSlimmer.render()),
58
58
  this.uniqueToolbarItems.length > 0 &&
59
59
  totalVisibleCount > 0 &&
60
60
  this.renderVegaDivider())),
61
61
  renderedItems));
62
62
  }
63
63
  renderVegaDivider() {
64
- return (h("vega-box", { height: "size-32" },
64
+ // Mark the divider as decorative so screen readers (e.g. VoiceOver
65
+ // on Firefox) skip it when navigating from the Edit Source button
66
+ // to the next toolbar item.
67
+ return (h("vega-box", { height: "size-32", "aria-hidden": "true", role: "presentation" },
65
68
  h("vega-divider", { direction: "vertical" })));
66
69
  }
67
70
  /**
@@ -100,7 +103,7 @@ export class ToolbarRenderer extends VegaSlimmer {
100
103
  return null;
101
104
  })
102
105
  .filter(isNonNullable);
103
- return (h("div", { class: { 'toolbar-btn-group': true, 'vega-hidden': visibleCountPerGroup < 1 } }, groupElement));
106
+ return (h("div", { class: { 'toolbar-btn-group': true, 'vega-hidden': visibleCountPerGroup < 1 }, role: "presentation" }, groupElement));
104
107
  });
105
108
  return [renderedItems, totalVisibleCount];
106
109
  }
@@ -22,6 +22,7 @@ export class BulletsNumbersToolbarButtonSlimmer extends VisualModeToolbarButtonS
22
22
  tooltip: {
23
23
  text: 'Bullets',
24
24
  },
25
+ ariaLabel: 'Bullets and Numbers',
25
26
  });
26
27
  this.bulletsToolbarButtonSlimmer = new BulletsToolbarButtonSlimmer();
27
28
  this.numbersToolbarButtonSlimmer = new NumbersToolbarButtonSlimmer();
@@ -42,7 +43,7 @@ export class BulletsNumbersToolbarButtonSlimmer extends VisualModeToolbarButtonS
42
43
  }
43
44
  }
44
45
  renderBtnWrapper(renderBtn) {
45
- return (h("vega-popover", { showArrow: false, trigger: "click", placement: "bottom", alignment: "center", isScreenPosition: true, ref: (ref) => (this.popoverRef = ref) },
46
+ return (h("vega-popover", { showArrow: false, trigger: "click", placement: "bottom", alignment: "center", isScreenPosition: true, role: "presentation", ref: (ref) => (this.popoverRef = ref) },
46
47
  h("div", { slot: "popover-content" }, renderBtn({ showArrowIcon: true })),
47
48
  h("div", { slot: "popover" }, this.renderContent())));
48
49
  }
@@ -19,6 +19,7 @@ export class HorizontalAlignmentToolbarButtonSlimmer extends VisualModeToolbarBu
19
19
  tooltip: {
20
20
  text: 'Left Align',
21
21
  },
22
+ ariaLabel: 'Horizontal Alignment',
22
23
  });
23
24
  this.leftAlignToolbarButtonSlimmer = new LeftAlignToolbarButtonSlimmer();
24
25
  this.centerAlignToolbarButtonSlimmer = new CenterAlignToolbarButtonSlimmer();
@@ -43,7 +44,7 @@ export class HorizontalAlignmentToolbarButtonSlimmer extends VisualModeToolbarBu
43
44
  }
44
45
  }
45
46
  renderBtnWrapper(renderBtn) {
46
- return (h("vega-popover", { trigger: "click", showArrow: false, alignment: "center", placement: "bottom", isScreenPosition: true, ref: (ref) => (this.popoverRef = ref) },
47
+ return (h("vega-popover", { trigger: "click", showArrow: false, alignment: "center", placement: "bottom", isScreenPosition: true, role: "presentation", ref: (ref) => (this.popoverRef = ref) },
47
48
  h("div", { slot: "popover-content" }, renderBtn({ showArrowIcon: true })),
48
49
  h("div", { slot: "popover" }, this.renderContent())));
49
50
  }
@@ -21,6 +21,7 @@ export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
21
21
  icon: 'image',
22
22
  tooltip: { text: 'Image' },
23
23
  autoFocusOnClick: false,
24
+ ariaLabel: 'Insert Image',
24
25
  });
25
26
  this.insertURLImage = async () => {
26
27
  const url = this.normalizeSafeImageUrl(this.insertURLInputRef.value);
@@ -78,8 +79,8 @@ export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
78
79
  if (!shouldRenderUpload && !shouldRenderUrlInsertion) {
79
80
  return null;
80
81
  }
81
- return (h("vega-box", null,
82
- shouldRenderDropdown ? (h("vega-dropdown", { selectType: "none", trigger: "click", alignment: "center", isScreenPosition: true, ref: (ref) => {
82
+ return (h("vega-box", { role: "presentation" },
83
+ shouldRenderDropdown ? (h("vega-dropdown", { selectType: "none", trigger: "click", alignment: "center", isScreenPosition: true, role: "presentation", ref: (ref) => {
83
84
  this.dropdownRef = ref;
84
85
  this.addDropdownObserver(ref);
85
86
  } },
@@ -9,13 +9,17 @@ import link from '../../../assets/link';
9
9
  import { h } from '@stencil/core';
10
10
  import { DomNodeSubjectObserverFactory } from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
11
11
  import { VegaChange } from '../../../../../helpers/event-manager/event-id/vega-event-id';
12
- import { MapToComponentField } from 'vega-slimmer/core';
12
+ import { MapToComponentField, MapToComponentMethod } from 'vega-slimmer/core';
13
13
  import { LinkAnnotationAction } from '../../../dto/actions/link-annotation-action';
14
14
  import { NodeAnnotationTypeEnum } from '../../../dto/annotations/node-annotation.abstract';
15
15
  import { SelectionChangeAction } from '../../../dto/actions/selection-change-action';
16
16
  import { generateUUID } from '../../../../../utils/misc';
17
17
  import { waitForComponentDidRender } from '../../../../../helpers/common/wait-for-component-did-render';
18
18
  import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-slimmer.abstract';
19
+ // One rAF is ~16 ms; 50 ms gives roughly two frames of buffer for the popover's
20
+ // internal focus trap to settle (and for screen readers such as VoiceOver to
21
+ // observe focus on <body>) before we restore focus to the trigger button.
22
+ const FOCUS_RESTORE_DELAY_MS = 50;
19
23
  export class LinkToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
20
24
  constructor() {
21
25
  super({
@@ -23,7 +27,21 @@ export class LinkToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
23
27
  tooltip: {
24
28
  text: 'Link',
25
29
  },
30
+ ariaLabel: 'Insert Link',
26
31
  });
32
+ // Restoring focus to the link button on Escape: the popover lives in
33
+ // vega-rich-text-link-editor's shadow root and is portalled to <body>, so
34
+ // the popover's built-in focus trap can't put focus back on our trigger.
35
+ // We track an Escape press during the popover lifetime and restore focus
36
+ // on hide; submit / outside-click flows leave the flag false. Stale
37
+ // Escape presses (pressed while the popover was closed) are cleared by
38
+ // `handleWrapperClickCapture` on the next open.
39
+ this.escapePressedDuringPopover = false;
40
+ // Tracks whether the document-level keydown listener has been registered
41
+ // so it can be removed in disconnectedCallback. Without removal, document
42
+ // keeps a strong reference to this slimmer instance after the rich-text
43
+ // editor is destroyed, leaking memory.
44
+ this.documentKeydownRegistered = false;
27
45
  this.handleLinkEditorChange = ({ detail, }) => {
28
46
  switch (detail.action) {
29
47
  case 'link': {
@@ -48,9 +66,97 @@ export class LinkToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
48
66
  }
49
67
  }
50
68
  };
69
+ this.handleWrapperClickCapture = () => {
70
+ // Reset the Escape flag for each new open; only an Escape during this
71
+ // popover's lifetime should trigger focus restoration. Activating the
72
+ // trigger via keyboard (Enter / Space on the inner native <button>) also
73
+ // dispatches a synthetic click in the capture phase, so this handler
74
+ // runs in both pointer and keyboard activation paths. Also clears any
75
+ // stale Escape press recorded while the popover was closed. The
76
+ // `vegaPopoverShow` listener provides the same guarantee for
77
+ // programmatic-open paths that don't go through a wrapper click.
78
+ this.escapePressedDuringPopover = false;
79
+ };
80
+ this.handlePopoverShow = () => {
81
+ // Belt-and-suspenders reset for programmatic opens (e.g. an external
82
+ // caller invoking `linkEditorRef.show()`): without this, an Escape press
83
+ // recorded while the popover was previously closed could survive into
84
+ // the new open and trigger a spurious focus restore on the next hide.
85
+ this.escapePressedDuringPopover = false;
86
+ };
87
+ this.handleDocumentKeydown = (event) => {
88
+ // We cannot guard on a local `isPopoverOpen` flag here: vega-popover's
89
+ // own KeyboardManager registers its capture-phase keydown listener on
90
+ // document before this slimmer's listener, so it runs first, calls
91
+ // hidePopover(), and synchronously fires `vegaPopoverHide` — which
92
+ // would flip our flag to closed before this handler ever observes the
93
+ // Escape key. Instead, always record the Escape press; stale presses
94
+ // (made while the popover was closed) are cleared by
95
+ // `handleWrapperClickCapture` on the next open.
96
+ // Use `event.code` for consistency with vega-modal's Escape handling
97
+ // (vega-modal-open-state-controller.ts).
98
+ if (event.code === 'Escape') {
99
+ this.escapePressedDuringPopover = true;
100
+ }
101
+ };
102
+ this.handlePopoverHide = () => {
103
+ // vegaPopoverHide fires synchronously from the popover's own Escape
104
+ // handler — before our document-capture keydown observes the key, and
105
+ // before the popover's internal focus trap settles focus on <body>.
106
+ // Defer the decision/restore past that internal restore.
107
+ // eslint-disable-next-line no-restricted-globals
108
+ setTimeout(() => {
109
+ var _a, _b, _c, _d;
110
+ const shouldRestore = this.escapePressedDuringPopover;
111
+ this.escapePressedDuringPopover = false;
112
+ if (shouldRestore) {
113
+ // The toolbar button uses shadow DOM without delegatesFocus,
114
+ // so focusing the host is a no-op — focus the inner <button>.
115
+ // The toolbar button may have been removed from the DOM during
116
+ // the timeout window (e.g. editor destroyed), so guard each step.
117
+ /* istanbul ignore next */
118
+ (_d = (_c = (_b = (_a = this.linkBtnWrapperRef) === null || _a === void 0 ? void 0 : _a.querySelector('vega-rich-text-editor-toolbar-button')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('button')) === null || _d === void 0 ? void 0 : _d.focus();
119
+ }
120
+ }, FOCUS_RESTORE_DELAY_MS);
121
+ };
122
+ }
123
+ /**
124
+ * Component lifecycle - [disconnectedCallback]
125
+ *
126
+ * Removes the document-level Escape listener registered in the wrapper
127
+ * ref callback so the slimmer instance is not retained by document after
128
+ * the rich-text editor is destroyed.
129
+ */
130
+ disconnectedCallback() {
131
+ if (this.documentKeydownRegistered) {
132
+ // eslint-disable-next-line no-restricted-globals
133
+ document.removeEventListener('keydown', this.handleDocumentKeydown, { capture: true });
134
+ this.documentKeydownRegistered = false;
135
+ }
136
+ this.linkBtnWrapperRef = undefined;
51
137
  }
52
138
  renderBtnWrapper(renderBtn) {
53
- return (h("div", { class: "toolbar-btn-link-wrapper", ref: (ref) => (this.linkBtnWrapperRef = ref) },
139
+ return (h("div", { class: "toolbar-btn-link-wrapper", role: "presentation", ref: (ref) => {
140
+ if (ref && ref !== this.linkBtnWrapperRef) {
141
+ this.linkBtnWrapperRef = ref;
142
+ ref.addEventListener('click', this.handleWrapperClickCapture, { capture: true });
143
+ // `vegaPopoverShow` clears any stale Escape recorded while the
144
+ // popover was closed, covering programmatic-open paths
145
+ // (e.g. linkEditorRef.show()) where no wrapper click fires.
146
+ ref.addEventListener('vegaPopoverShow', this.handlePopoverShow);
147
+ ref.addEventListener('vegaPopoverHide', this.handlePopoverHide);
148
+ // Esc inside the portalled popover doesn't bubble to the wrapper,
149
+ // so observe it on document capture. Tracked so it can be removed
150
+ // in disconnectedCallback to avoid leaking this slimmer instance.
151
+ if (!this.documentKeydownRegistered) {
152
+ // eslint-disable-next-line no-restricted-globals
153
+ document.addEventListener('keydown', this.handleDocumentKeydown, {
154
+ capture: true,
155
+ });
156
+ this.documentKeydownRegistered = true;
157
+ }
158
+ }
159
+ } },
54
160
  renderBtn(),
55
161
  h("vega-rich-text-link-editor", { resetStatusAfterHide: false, status: "linkEdit", ref: (ref) => {
56
162
  if (ref) {
@@ -102,3 +208,6 @@ export class LinkToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
102
208
  __decorate([
103
209
  MapToComponentField()
104
210
  ], LinkToolbarButtonSlimmer.prototype, "selectionController", void 0);
211
+ __decorate([
212
+ MapToComponentMethod('disconnectedCallback')
213
+ ], LinkToolbarButtonSlimmer.prototype, "disconnectedCallback", null);
@@ -25,11 +25,25 @@ export class SourceEditToolbarButtonSlimmer extends ToolbarButtonSlimmer {
25
25
  if (isSelected) {
26
26
  await this.saveSourceCode();
27
27
  }
28
- else {
29
- this.selectionController.setSelectionRange(new Range());
30
- }
28
+ // VD-8789 (keyboard a11y): the previous implementation cleared the editor
29
+ // selection here via `selectionController.setSelectionRange(new Range())`
30
+ // when entering source view. That call is intentionally removed so the
31
+ // caret position is preserved when toggling back to visual mode, and so
32
+ // the source-edit button can be re-activated from the keyboard without
33
+ // the selection being reset out from under the user.
31
34
  this.sourceView = !isSelected;
32
35
  }
36
+ // VD-8789 (keyboard a11y): the default `preventLostFocus` calls
37
+ // `e.preventDefault()` on mousedown so the button never receives focus and
38
+ // the rich-text editor selection is preserved. The source-edit toggle is
39
+ // different — activating it switches the editor to source-view mode, where
40
+ // the visual-mode selection is no longer relevant. We override with a no-op
41
+ // so the button is allowed to take focus on click, matching its keyboard
42
+ // activation path and giving keyboard / screen-reader users a stable focus
43
+ // target to toggle back out of source view.
44
+ preventLostFocus() {
45
+ return {};
46
+ }
33
47
  isSelected() {
34
48
  return this.sourceView;
35
49
  }
@@ -58,9 +72,6 @@ export class SourceEditToolbarButtonSlimmer extends ToolbarButtonSlimmer {
58
72
  __decorate([
59
73
  MapToComponentField({ writable: true })
60
74
  ], SourceEditToolbarButtonSlimmer.prototype, "sourceView", void 0);
61
- __decorate([
62
- MapToComponentField()
63
- ], SourceEditToolbarButtonSlimmer.prototype, "selectionController", void 0);
64
75
  __decorate([
65
76
  MapToComponentField()
66
77
  ], SourceEditToolbarButtonSlimmer.prototype, "valueController", void 0);
@@ -46,7 +46,7 @@ export class TextColorToolbarButtonSlimmer extends VisualModeToolbarButtonSlimme
46
46
  this.popoverShow = false;
47
47
  }
48
48
  renderBtnWrapper(renderBtn) {
49
- return (h("vega-popover", { placement: "bottom", alignment: "center", isScreenPosition: true, ref: (ref) => {
49
+ return (h("vega-popover", { placement: "bottom", alignment: "center", isScreenPosition: true, role: "presentation", ref: (ref) => {
50
50
  this.popoverRef = ref;
51
51
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaPopoverShow, this.handlePopoverShowChange.bind(this));
52
52
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaPopoverHide, this.handlePopoverHideChange.bind(this));
@@ -47,7 +47,7 @@ export class TextStylesToolbarButtonSlimmer extends VisualModeToolbarButtonSlimm
47
47
  };
48
48
  }
49
49
  renderBtnWrapper(renderBtn) {
50
- return (h("vega-dropdown", { selectType: "single", trigger: "click", alignment: "center", isScreenPosition: true, selectedSourceKey: this.getSelectedSourceKey(), ref: (ref) => {
50
+ return (h("vega-dropdown", { selectType: "single", trigger: "click", alignment: "center", isScreenPosition: true, role: "presentation", selectedSourceKey: this.getSelectedSourceKey(), ref: (ref) => {
51
51
  this.addDropdownObserver(ref);
52
52
  } },
53
53
  renderBtn({ showArrowIcon: true }),
@@ -9,12 +9,12 @@ import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
9
9
  import { DomNodeSubjectObserverFactory } from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
10
10
  import { VegaClick } from '../../../../../helpers/event-manager/event-id/vega-event-id';
11
11
  export class ToolbarButtonSlimmer extends VegaSlimmer {
12
- constructor({ icon, tooltip, autoFocusOnClick = true }) {
12
+ constructor({ icon, tooltip, ariaLabel, autoFocusOnClick = true }) {
13
13
  super();
14
14
  this.renderBtn = ({ showArrowIcon, iconColor } = {}) => {
15
15
  var _a;
16
16
  return (h("vega-tooltip", { text: this.translationSlimmer.t(this.tooltip.text), placement: ['bottom', 'top'] },
17
- h("vega-rich-text-editor-toolbar-button", Object.assign({ showArrowIcon: showArrowIcon, icon: this.icon, iconColor: iconColor, ref: (ref) => {
17
+ h("vega-rich-text-editor-toolbar-button", Object.assign({ showArrowIcon: showArrowIcon, icon: this.icon, iconColor: iconColor, "data-aria-label": this.ariaLabel, ref: (ref) => {
18
18
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaClick, () => {
19
19
  this.handleClick();
20
20
  });
@@ -39,6 +39,7 @@ export class ToolbarButtonSlimmer extends VegaSlimmer {
39
39
  };
40
40
  this.icon = icon;
41
41
  this.tooltip = tooltip;
42
+ this.ariaLabel = ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : tooltip.text;
42
43
  this.autoFocusOnClick = autoFocusOnClick;
43
44
  }
44
45
  setIcon(icon) {
@@ -4,14 +4,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { Fragment, h, Host } from '@stencil/core';
7
+ import { forceUpdate, Fragment, h, Host } from '@stencil/core';
8
8
  import { VegaSlimmer, MapToComponentField, MapToComponentMethod } from 'vega-slimmer/core';
9
9
  import { createEnterKeyHandlerToTriggerClick } from '../../../../utils/accessibility';
10
10
  import ChangeManager from '../../../../helpers/change-manager/change-manager';
11
11
  import domNodeSubjectFactory from '../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
12
12
  import { VegaInternalComponentDidRender } from '../../../../helpers/event-manager/event-id/vega-internal-event-id';
13
13
  import { SHADOW_ROOT_ELEMENT_SCROLLING } from '../../../../helpers/change-manager/subject/static-subject/static-subject-title';
14
- import { VegaRTEOneRowHeightPx } from '../../constants/constant';
14
+ import { VegaRTEOneRowHeightPx, ZERO_WIDTH_SPACE } from '../../constants/constant';
15
+ import { isNonNullable } from '../../../../types/type-guard';
15
16
  export class VegaRichTextEditorRenderer extends VegaSlimmer {
16
17
  constructor() {
17
18
  super(...arguments);
@@ -27,11 +28,21 @@ export class VegaRichTextEditorRenderer extends VegaSlimmer {
27
28
  const containerStyle = this.rows !== undefined
28
29
  ? { height: this.rows >= 2 ? `${this.rows * VegaRTEOneRowHeightPx}px` : defaultHeight }
29
30
  : { minHeight: defaultHeight };
30
- return (h("div", { class: {
31
+ return (
32
+ // This container delegates focus to the inner <vega-rich-text-content> editor when
33
+ // clicking anywhere in the editing area. It is a layout wrapper, not an interactive
34
+ // widget, so giving it a widget role (e.g. `textbox`) would expose a second,
35
+ // non-editable textbox that traps VoiceOver focus and prevents typing.
36
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions
37
+ h("div", { class: {
31
38
  'rich-text-editor-container': true,
32
39
  'disabled': this.disabled,
33
40
  'vega-hidden': this.sourceView,
34
- }, style: containerStyle, onClick: this.richTextContentFocus, role: "textbox", tabIndex: !this.disabled ? -1 : 0, onKeyDown: createEnterKeyHandlerToTriggerClick(), ref: (node) => (this.richTextContainerRef = node) },
41
+ }, style: containerStyle, onClick: this.richTextContentFocus,
42
+ // Keep this wrapper out of the tab order so AT lands directly on the inner text
43
+ // region (focusable via contenteditable when enabled, via tabindex when disabled)
44
+ // rather than announcing this generic wrapper as a group.
45
+ tabIndex: -1, onKeyDown: createEnterKeyHandlerToTriggerClick(), ref: (node) => (this.richTextContainerRef = node) },
35
46
  h("vega-rich-text-content", { ref: (ref) => (this.richTextContentRef = ref), content: this.value, extensions: this.extensions, onScroll: this.notifyContentScrolling }),
36
47
  this.renderCharacterCounter()));
37
48
  };
@@ -45,12 +56,20 @@ export class VegaRichTextEditorRenderer extends VegaSlimmer {
45
56
  });
46
57
  };
47
58
  this.renderCharacterCounter = () => {
59
+ if (!this.wordCountController.shouldShowUI()) {
60
+ return null;
61
+ }
62
+ // The word count extension is registered, so the data is guaranteed to be non-null.
63
+ const data = this.wordCountController.getData();
64
+ const isSetMaxChars = isNonNullable(data.maxChars);
48
65
  return (h("div", { class: {
49
66
  'text-editor-counter': true,
50
- 'counter-exceed-max-length': false,
51
- }, style: { display: 'none' } },
52
- h("span", null, "0"),
53
- h("span", null, "/100")));
67
+ 'counter-exceed-max-length': isSetMaxChars && data.count > data.maxChars,
68
+ } },
69
+ h("span", null, data.count),
70
+ isSetMaxChars && h("span", null,
71
+ "/",
72
+ data.maxChars)));
54
73
  };
55
74
  this.renderErrorMessage = () => {
56
75
  return h("div", { class: "vega-error vega-hidden" });
@@ -99,6 +118,35 @@ export class VegaRichTextEditorRenderer extends VegaSlimmer {
99
118
  return this.richTextContentRef.shadowRoot.querySelector('.rich-text-content');
100
119
  }
101
120
  }
121
+ /**
122
+ * Re-injects the zero-width space placeholder into empty text spans.
123
+ * When a commit is rejected and the model rolls back unchanged, the framework
124
+ * short-circuits the text diff and leaves the span empty, collapsing the line
125
+ * height, so the placeholder is restored here.
126
+ */
127
+ restoreEmptyTextPlaceholders() {
128
+ const editableElement = this.getRTEEditableElementRef();
129
+ if (!editableElement) {
130
+ return;
131
+ }
132
+ // The text node will only be rendered as a span and a code.
133
+ editableElement.querySelectorAll('span:empty, code:empty').forEach((element) => {
134
+ const textNode = element.firstChild;
135
+ if (textNode && textNode.nodeType === Node.TEXT_NODE) {
136
+ // Reuse the existing text node, `textContent` would swap in a new one and leave the framework patching a detached node.
137
+ textNode.nodeValue = ZERO_WIDTH_SPACE;
138
+ }
139
+ else {
140
+ element.textContent = ZERO_WIDTH_SPACE;
141
+ }
142
+ });
143
+ }
144
+ /**
145
+ * Forces a re-render of the rich text content component, which is useful when the content has changed but the framework has not detected it.
146
+ */
147
+ forceContentRepaint() {
148
+ forceUpdate(this.richTextContentRef);
149
+ }
102
150
  render() {
103
151
  return h(Host, null, this.renderRichTextEditor());
104
152
  }
@@ -164,6 +212,9 @@ __decorate([
164
212
  __decorate([
165
213
  MapToComponentField()
166
214
  ], VegaRichTextEditorRenderer.prototype, "extensions", void 0);
215
+ __decorate([
216
+ MapToComponentField()
217
+ ], VegaRichTextEditorRenderer.prototype, "wordCountController", void 0);
167
218
  __decorate([
168
219
  MapToComponentField()
169
220
  ], VegaRichTextEditorRenderer.prototype, "richTextEditorSourceViewRenderer", void 0);
@@ -28,7 +28,7 @@ export class VegaRichTextEditorToolbarButtonRenderer extends VegaSlimmer {
28
28
  'rich-text-editor-toolbar-button-hidden': this.hidden,
29
29
  'rich-text-editor-toolbar-button-selected': this.selected,
30
30
  }, onClick: this.handleClick, disabled: this.disabled, hidden: this.hidden },
31
- h("vega-flex", { gap: "size-8", justifyContent: "center", alignItems: "center" },
31
+ h("vega-flex", { "aria-hidden": "true", gap: "size-8", justifyContent: "center", alignItems: "center" },
32
32
  this.icon && (h("vega-icon", { size: "size-16", color: this.iconColor, icon: VegaInternalIconManager.getIconKey(this.icon) })),
33
33
  this.showArrowIcon && (h("vega-icon", { size: "size-8", color: "text-secondary", icon: VegaInternalIconManager.getIconKey(this.arrowIcon || 'chevron-down') }))),
34
34
  h("slot", null)));
@@ -12,6 +12,7 @@ import { createEventEmitSlimmer, } from '../../../helpers/event-manager/slimmers
12
12
  import { VegaClick } from '../../../helpers/event-manager/event-id/vega-event-id';
13
13
  import { VegaRichTextEditorToolbarButtonRenderer } from './slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer';
14
14
  import { ChildNodesEventPreventSlimmer } from '../../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer';
15
+ import { AriaAttributesValueMapper } from '../../../helpers/slimmers/mutation-observer/aria-attributes-value-mapper';
15
16
  /**
16
17
  + * @vegaVersion 2.34.0
17
18
  + */
@@ -33,6 +34,12 @@ export class VegaRichTextEditorToolbarButton {
33
34
  },
34
35
  });
35
36
  this.renderer = new VegaRichTextEditorToolbarButtonRenderer();
37
+ this.ariaAttributesValueMapper = new AriaAttributesValueMapper(() => this.host.shadowRoot.querySelector('button'), {
38
+ 'aria-label': {
39
+ dependency: ['data-aria-label'],
40
+ defaultValue: 'No label defined',
41
+ },
42
+ });
36
43
  /**
37
44
  * Specifies whether the rich text editor toolbar button element is disabled.
38
45
  *
@@ -77,7 +84,9 @@ export class VegaRichTextEditorToolbarButton {
77
84
  this.iconColor = 'text-primary';
78
85
  }
79
86
  render() {
80
- return sanitizeVegaComponent(h(Host, null, this.renderer.render()), this.host);
87
+ // The host is a decorative wrapper around the shadow <button>; keep it out of the
88
+ // a11y tree so VoiceOver doesn't announce it as a "group" when entering the button.
89
+ return sanitizeVegaComponent(h(Host, { role: "presentation" }, this.renderer.render()), this.host);
81
90
  }
82
91
  static get is() { return "vega-rich-text-editor-toolbar-button"; }
83
92
  static get encapsulation() { return "shadow"; }
@@ -298,3 +307,6 @@ __decorate([
298
307
  __decorate([
299
308
  InjectVegaSlimmer()
300
309
  ], VegaRichTextEditorToolbarButton.prototype, "renderer", void 0);
310
+ __decorate([
311
+ InjectVegaSlimmer()
312
+ ], VegaRichTextEditorToolbarButton.prototype, "ariaAttributesValueMapper", void 0);
@@ -49,8 +49,10 @@ import { RedoToolbarButtonSlimmer } from './slimmers/renderers/tools/redo-toolba
49
49
  import { InternalCodeBlockSelectionController } from './slimmers/controllers/internal-code-block-selection-controller';
50
50
  import { SourceEditToolbarButtonSlimmer } from './slimmers/renderers/tools/source-edit-toolbar-button-slimmer';
51
51
  import { RTEExtensionController } from './slimmers/controllers/extension-controller';
52
+ import { WordCountController } from './slimmers/controllers/word-count-controller';
52
53
  import { VegaRTEDefaultTextStyleItems, VegaRTEPresetToolbarItems } from './constants/constant';
53
54
  import { VegaRichTextEditorSourceViewRenderer } from './slimmers/renderers/vega-rich-text-editor-source-view-renderer';
55
+ import { AriaAttributesValueMapper } from '../../helpers/slimmers/mutation-observer/aria-attributes-value-mapper';
54
56
  /**
55
57
  * The rich text editor enables users to format text for a variety of publishers.
56
58
  *
@@ -59,6 +61,13 @@ import { VegaRichTextEditorSourceViewRenderer } from './slimmers/renderers/vega-
59
61
  export class VegaRichTextEditor {
60
62
  constructor() {
61
63
  this.globalSlimmers = {};
64
+ this.ariaAttributesValueMapper = new AriaAttributesValueMapper(() => this.vegaRichTextEditorRenderer.getRTEEditableElementRef(), {
65
+ 'aria-label': {
66
+ dependency: ['data-aria-label', 'label'],
67
+ // When no label is provided, announce a meaningful role name
68
+ defaultValue: () => this.translationSlimmer.t('Rich Text Editor. Editing area: main. '),
69
+ },
70
+ });
62
71
  this.translationSlimmer = new TranslationSlimmer();
63
72
  this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
64
73
  this.formFieldController = new FormFieldControllerSlimmer({
@@ -111,6 +120,7 @@ export class VegaRichTextEditor {
111
120
  this.historyController = new HistoryController();
112
121
  this.internalCodeBlockSelectionController = new InternalCodeBlockSelectionController();
113
122
  this.rteExtensionController = new RTEExtensionController();
123
+ this.wordCountController = new WordCountController();
114
124
  this.sourceCodeChangeEventEmitter = createEventEmitSlimmer(VegaRichTextEditor, VegaSourceCodeChange);
115
125
  this.richTextEditorSourceViewRenderer = new VegaRichTextEditorSourceViewRenderer();
116
126
  this.richTextContentEditable = true;
@@ -868,6 +878,9 @@ export class VegaRichTextEditor {
868
878
  __decorate([
869
879
  InjectVegaGlobalSlimmer()
870
880
  ], VegaRichTextEditor.prototype, "globalSlimmers", void 0);
881
+ __decorate([
882
+ InjectVegaSlimmer()
883
+ ], VegaRichTextEditor.prototype, "ariaAttributesValueMapper", void 0);
871
884
  __decorate([
872
885
  InjectVegaSlimmer()
873
886
  ], VegaRichTextEditor.prototype, "translationSlimmer", void 0);
@@ -988,6 +1001,9 @@ __decorate([
988
1001
  __decorate([
989
1002
  InjectVegaSlimmer()
990
1003
  ], VegaRichTextEditor.prototype, "rteExtensionController", void 0);
1004
+ __decorate([
1005
+ InjectVegaSlimmer()
1006
+ ], VegaRichTextEditor.prototype, "wordCountController", void 0);
991
1007
  __decorate([
992
1008
  InjectVegaSlimmer()
993
1009
  ], VegaRichTextEditor.prototype, "sourceCodeChangeEventEmitter", void 0);