@globalpayments/vega 2.99.0 → 2.100.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 (509) hide show
  1. package/dist/cjs/{accessibility-88f8af84.js → accessibility-6ca2a237.js} +21 -0
  2. package/dist/cjs/{app-globals-a306dce6.js → app-globals-48d067a7.js} +11 -10
  3. package/dist/cjs/{aria-attributes-value-mapper-9a41b9cf.js → aria-attributes-value-mapper-e8c6b0e0.js} +1 -1
  4. package/dist/cjs/{code-block-ea1f5eb3.js → code-block-3b42c364.js} +53 -1
  5. package/dist/cjs/{component-value-history-controller-slimmer.abstract-7071b064.js → component-value-history-controller-slimmer.abstract-bbe3bcaf.js} +3 -3
  6. package/dist/cjs/{content-state-8d07d530.js → content-state-87a06c1a.js} +46 -2
  7. package/dist/cjs/{date-required-rule-c0c498ad.js → date-required-rule-45c802d3.js} +1 -1
  8. package/dist/cjs/{design-token-58bf7fe8.js → design-token-9d762da0.js} +3 -3
  9. package/dist/cjs/{element-appender-slimmer-a0269315.js → element-appender-slimmer-f7ba5d9a.js} +2 -2
  10. package/dist/cjs/{form-field-controller-slimmer-f73f200e.js → form-field-controller-slimmer-fbaddc91.js} +1 -1
  11. package/dist/cjs/{image-annotation-action-2a28038e.js → image-annotation-action-03d3e01a.js} +6 -5
  12. package/dist/cjs/{image-extension-9659708b.js → image-extension-ccda26d3.js} +2 -2
  13. package/dist/cjs/index.cjs.js +18 -17
  14. package/dist/cjs/{inject-keyboard-manager-4fa45f9c.js → inject-keyboard-manager-540f0876.js} +1 -1
  15. package/dist/cjs/{internal-calendar-period-factory-6196bc80.js → internal-calendar-period-factory-b11918ee.js} +1 -1
  16. package/dist/cjs/{internal-translation-controller-51f7f865.js → internal-translation-controller-27bfc8c7.js} +15 -0
  17. package/dist/cjs/{keyboard-manager-482fe257.js → keyboard-manager-16e96b62.js} +12 -5
  18. package/dist/cjs/{keyboard-manager-slimmer-a19430dd.js → keyboard-manager-slimmer-0a4e556d.js} +1 -1
  19. package/dist/cjs/{link-extension-11340e1c.js → link-extension-71eeaa9f.js} +3 -3
  20. package/dist/cjs/loader.cjs.js +12 -12
  21. package/dist/cjs/{month-view-generator-1a534451.js → month-view-generator-0a3e04de.js} +1 -1
  22. package/dist/cjs/overlay-escape-coordination-901d8942.js +38 -0
  23. package/dist/cjs/{public-rules-6c77b545.js → public-rules-3dc5d02d.js} +7 -7
  24. package/dist/cjs/{range-22ddd452.js → range-d29751e3.js} +1 -1
  25. package/dist/cjs/{responsive-format-facade-74e6d791.js → responsive-format-facade-c6d7f0a1.js} +1 -1
  26. package/dist/cjs/{rich-text-editor-required-rule-09d1093a.js → rich-text-editor-required-rule-05de7f0c.js} +1 -1
  27. package/dist/cjs/{split-cell-operation-11bfb305.js → split-cell-operation-ef783850.js} +3 -3
  28. package/dist/cjs/{state-border-formatter-bf4f9f1c.js → state-border-formatter-dda9109a.js} +1 -1
  29. package/dist/cjs/{string-format-strategy.abstract-bf37b14c.js → string-format-strategy.abstract-3a968a59.js} +1 -1
  30. package/dist/cjs/{string-input-formatter-slimmer-ffeb18a6.js → string-input-formatter-slimmer-9747039f.js} +1 -1
  31. package/dist/cjs/{string-mask-strategy-7f394726.js → string-mask-strategy-d9f85c21.js} +2 -2
  32. package/dist/cjs/{style-formatter-4ac63910.js → style-formatter-d21a9784.js} +2 -2
  33. package/dist/cjs/{time-required-rule-e2a50003.js → time-required-rule-580cbd3d.js} +1 -1
  34. package/dist/cjs/{token-extension-4686cb3b.js → token-extension-8d7bd451.js} +807 -49
  35. package/dist/cjs/{translation-slimmer-e4997f8f.js → translation-slimmer-31cd5a57.js} +1 -1
  36. package/dist/cjs/{type-guard-b8d7bb3f.js → type-guard-00b8efc0.js} +1 -1
  37. package/dist/cjs/{valid-credit-card-number-rule-f5a6f009.js → valid-credit-card-number-rule-70885128.js} +1 -1
  38. package/dist/cjs/vega-accordion.cjs.entry.js +6 -6
  39. package/dist/cjs/vega-app-header-button.cjs.entry.js +6 -6
  40. package/dist/cjs/vega-banner.cjs.entry.js +1 -1
  41. package/dist/cjs/vega-box.cjs.entry.js +6 -6
  42. package/dist/cjs/vega-button-circle.cjs.entry.js +6 -6
  43. package/dist/cjs/vega-button-group_2.cjs.entry.js +13 -6
  44. package/dist/cjs/vega-button-link.cjs.entry.js +3 -3
  45. package/dist/cjs/vega-button.cjs.entry.js +21 -5
  46. package/dist/cjs/vega-calendar_5.cjs.entry.js +8 -8
  47. package/dist/cjs/vega-card.cjs.entry.js +5 -5
  48. package/dist/cjs/vega-carousel.cjs.entry.js +4 -4
  49. package/dist/cjs/vega-checkbox_2.cjs.entry.js +3 -3
  50. package/dist/cjs/vega-chip.cjs.entry.js +6 -6
  51. package/dist/cjs/vega-code-block.cjs.entry.js +9 -9
  52. package/dist/cjs/vega-color-picker.cjs.entry.js +3 -3
  53. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +3 -3
  54. package/dist/cjs/vega-color-swatch.cjs.entry.js +3 -3
  55. package/dist/cjs/vega-combo-box.cjs.entry.js +9 -9
  56. package/dist/cjs/vega-date-picker_2.cjs.entry.js +14 -14
  57. package/dist/cjs/vega-dialog_2.cjs.entry.js +70 -4
  58. package/dist/cjs/vega-divider.cjs.entry.js +5 -5
  59. package/dist/cjs/vega-dropdown_5.cjs.entry.js +100 -17
  60. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  61. package/dist/cjs/vega-field-label.cjs.entry.js +26 -33
  62. package/dist/cjs/vega-file-uploader.cjs.entry.js +4 -4
  63. package/dist/cjs/vega-flag-icon.cjs.entry.js +5 -5
  64. package/dist/cjs/vega-flex.cjs.entry.js +6 -6
  65. package/dist/cjs/vega-font.cjs.entry.js +5 -5
  66. package/dist/cjs/vega-form.cjs.entry.js +2 -2
  67. package/dist/cjs/vega-grid.cjs.entry.js +5 -5
  68. package/dist/cjs/vega-icon.cjs.entry.js +5 -5
  69. package/dist/cjs/vega-image-uploader.cjs.entry.js +6 -6
  70. package/dist/cjs/vega-input-credit-card.cjs.entry.js +6 -6
  71. package/dist/cjs/vega-input-numeric.cjs.entry.js +5 -5
  72. package/dist/cjs/vega-input-passcode.cjs.entry.js +5 -5
  73. package/dist/cjs/vega-input-phone-number.cjs.entry.js +41 -7
  74. package/dist/cjs/vega-input-range.cjs.entry.js +4 -4
  75. package/dist/cjs/vega-input-select.cjs.entry.js +24 -7
  76. package/dist/cjs/vega-input.cjs.entry.js +8 -8
  77. package/dist/cjs/vega-left-nav_5.cjs.entry.js +7 -7
  78. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
  79. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  80. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +2 -2
  81. package/dist/cjs/vega-pagination.cjs.entry.js +4 -4
  82. package/dist/cjs/vega-popover_2.cjs.entry.js +58 -9
  83. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +4 -4
  84. package/dist/cjs/vega-radio_2.cjs.entry.js +6 -6
  85. package/dist/cjs/vega-rich-text-content.cjs.entry.js +11 -8
  86. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +703 -241
  87. package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +3 -3
  88. package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +5 -5
  89. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +156 -103
  90. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +5 -5
  91. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +2 -2
  92. package/dist/cjs/vega-sidenav_3.cjs.entry.js +4 -4
  93. package/dist/cjs/vega-signature-capture.cjs.entry.js +7 -7
  94. package/dist/cjs/vega-stepper.cjs.entry.js +2 -2
  95. package/dist/cjs/vega-tab-group_2.cjs.entry.js +3 -3
  96. package/dist/cjs/vega-table_11.cjs.entry.js +5 -5
  97. package/dist/cjs/vega-textarea.cjs.entry.js +2 -2
  98. package/dist/cjs/vega-time-picker_2.cjs.entry.js +10 -10
  99. package/dist/cjs/vega-toggle-switch.cjs.entry.js +3 -3
  100. package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
  101. package/dist/cjs/vega.cjs.js +12 -12
  102. package/dist/collection/components/vega-button/vega-button.js +17 -2
  103. package/dist/collection/components/vega-button-group/vega-button-group-item/slimmers/renderers/vega-button-group-item-renderer.js +13 -6
  104. package/dist/collection/components/vega-button-link/vega-button-link.js +2 -2
  105. package/dist/collection/components/vega-code-block/vega-code-block.css +4 -4
  106. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-controller.js +148 -0
  107. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.js +5 -2
  108. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.js +17 -0
  109. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +2 -2
  110. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +2 -1
  111. package/dist/collection/components/vega-dropdown/vega-dropdown.js +1 -1
  112. package/dist/collection/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.js +21 -30
  113. package/dist/collection/components/vega-field-label/vega-field-label.js +7 -5
  114. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +19 -2
  115. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +66 -0
  116. package/dist/collection/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.js +17 -0
  117. package/dist/collection/components/vega-popover/vega-popover.js +33 -1
  118. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +4 -1
  119. package/dist/collection/components/vega-rich-text-editor/constants/constant.js +9 -0
  120. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.js +13 -0
  121. package/dist/collection/components/vega-rich-text-editor/dto/actions/commit-value-action.js +20 -0
  122. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +11 -0
  123. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +10 -0
  124. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +11 -0
  125. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +6 -0
  126. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +8 -0
  127. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +6 -0
  128. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +30 -18
  129. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-toolbar-button-renderer.js +1 -0
  130. package/dist/collection/components/vega-rich-text-editor/extensions/copy/copy-toolbar-button-renderer.js +1 -0
  131. package/dist/collection/components/vega-rich-text-editor/extensions/cut/cut-toolbar-button-renderer.js +1 -0
  132. package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.js +51 -0
  133. 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
  134. package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-toolbar-button-renderer.js +3 -0
  135. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.js +6 -0
  136. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +1 -0
  137. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/renderers/horizontal-line-toolbar-button-renderer.js +1 -0
  138. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +5 -3
  139. package/dist/collection/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.js +16 -0
  140. package/dist/collection/components/vega-rich-text-editor/extensions/special-characters/special-characters-toolbar-button-renderer.js +2 -0
  141. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.js +3 -9
  142. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-cell-renderer.js +2 -2
  143. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.js +81 -1
  144. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.js +148 -0
  145. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.js +151 -5
  146. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.js +144 -2
  147. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-selection.js +26 -1
  148. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-toolbar-button-renderer.js +1 -0
  149. 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
  150. 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
  151. 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
  152. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.css +5 -0
  153. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.js +16 -1
  154. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/caption-button-slimmer.js +1 -0
  155. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/cell-properties-button-slimmer.js +1 -0
  156. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/column-button-slimmer.js +10 -9
  157. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/merge-cells-button-slimmer.js +9 -8
  158. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.js +25 -10
  159. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-properties-button-slimmer.js +1 -0
  160. 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
  161. 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
  162. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.css +10 -0
  163. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.js +2 -0
  164. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +1 -0
  165. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.js +70 -0
  166. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/type.js +1 -0
  167. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/word-count-extension.js +62 -0
  168. package/dist/collection/components/vega-rich-text-editor/public-api.js +1 -0
  169. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-composition-text-controller.js +2 -1
  170. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +7 -1
  171. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +52 -2
  172. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.js +79 -0
  173. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +6 -3
  174. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +2 -1
  175. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +2 -1
  176. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +3 -2
  177. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +111 -2
  178. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +17 -6
  179. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +1 -1
  180. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +1 -1
  181. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +3 -2
  182. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +59 -8
  183. 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
  184. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.js +13 -1
  185. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +16 -0
  186. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.js +124 -0
  187. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.js +9 -1
  188. package/dist/collection/global/scripts/before-vega-load.js +2 -0
  189. package/dist/collection/helpers/keyboard/keyboard-manager.js +11 -4
  190. package/dist/collection/helpers/keyboard/overlay-escape-coordination.js +33 -0
  191. package/dist/collection/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.js +1 -1
  192. package/dist/collection/helpers/translation/locales/en.js +15 -0
  193. package/dist/collection/polyfill/libphonenumber/as-you-type.js +21 -3
  194. package/dist/collection/polyfill/libphonenumber/metadata.js +16 -0
  195. package/dist/collection/utils/accessibility.js +20 -0
  196. package/dist/esm/{accessibility-6af5cf2e.js → accessibility-c899a968.js} +21 -1
  197. package/dist/esm/{app-globals-c59364c2.js → app-globals-1e1371d5.js} +11 -10
  198. package/dist/esm/{aria-attributes-value-mapper-2c632641.js → aria-attributes-value-mapper-a5c7478e.js} +1 -1
  199. package/dist/esm/{aria-dialog-focusable-trap-slimmer-f069f54d.js → aria-dialog-focusable-trap-slimmer-b2a24a45.js} +2 -2
  200. package/dist/esm/{child-nodes-notify-observer-slimmer-499a3aa7.js → child-nodes-notify-observer-slimmer-034bc78c.js} +1 -1
  201. package/dist/esm/{code-block-e6443949.js → code-block-741d6b8e.js} +54 -4
  202. package/dist/esm/{component-value-history-controller-slimmer.abstract-ee393213.js → component-value-history-controller-slimmer.abstract-2bcd749e.js} +5 -5
  203. package/dist/esm/{content-state-43cdacff.js → content-state-2f6f4204.js} +47 -5
  204. package/dist/esm/{date-required-rule-b5b67498.js → date-required-rule-2ea3aec8.js} +1 -1
  205. package/dist/esm/{design-token-8319bb59.js → design-token-82a4e107.js} +3 -3
  206. package/dist/esm/{dom-node-subject-observer-factory-ddff8662.js → dom-node-subject-observer-factory-bb7e68a0.js} +1 -1
  207. package/dist/esm/{element-appender-slimmer-c81d1fe3.js → element-appender-slimmer-c820c0bf.js} +4 -4
  208. package/dist/esm/{event-emit-slimmer-2452278f.js → event-emit-slimmer-e8bb2292.js} +1 -1
  209. package/dist/esm/{form-field-controller-slimmer-511b7ac5.js → form-field-controller-slimmer-02165dbe.js} +4 -4
  210. package/dist/esm/{image-annotation-action-d7cb80aa.js → image-annotation-action-972c1074.js} +7 -6
  211. package/dist/esm/{image-extension-9b8abd0d.js → image-extension-59484e9a.js} +2 -2
  212. package/dist/esm/index.js +19 -19
  213. package/dist/esm/{inject-keyboard-manager-dd368d56.js → inject-keyboard-manager-6a10c9b7.js} +1 -1
  214. package/dist/esm/{internal-calendar-period-factory-d58f35c6.js → internal-calendar-period-factory-d1a60f81.js} +1 -1
  215. package/dist/esm/{internal-translation-controller-b33430c6.js → internal-translation-controller-fff376d2.js} +15 -0
  216. package/dist/esm/{keyboard-manager-b4a0d97d.js → keyboard-manager-a58288df.js} +13 -6
  217. package/dist/esm/{keyboard-manager-slimmer-0517fc70.js → keyboard-manager-slimmer-133b86cd.js} +1 -1
  218. package/dist/esm/{link-extension-230bae8d.js → link-extension-e89acb5c.js} +3 -3
  219. package/dist/esm/loader.js +14 -14
  220. package/dist/esm/{month-view-generator-f470caac.js → month-view-generator-20e32b22.js} +1 -1
  221. package/dist/esm/overlay-escape-coordination-439f7d6f.js +35 -0
  222. package/dist/esm/{public-rules-28ef32d3.js → public-rules-c154201b.js} +9 -9
  223. package/dist/esm/{range-efad2578.js → range-c818a1eb.js} +2 -2
  224. package/dist/esm/{responsive-format-facade-dec87e46.js → responsive-format-facade-07843ec3.js} +1 -1
  225. package/dist/esm/{rich-text-editor-required-rule-a697e5bd.js → rich-text-editor-required-rule-878e91c6.js} +1 -1
  226. package/dist/esm/{split-cell-operation-89b91a38.js → split-cell-operation-cc0cdf90.js} +4 -4
  227. package/dist/esm/{state-border-formatter-1e900a2f.js → state-border-formatter-3b3dcfe8.js} +1 -1
  228. package/dist/esm/{string-format-strategy.abstract-d0ce3f65.js → string-format-strategy.abstract-44381dcb.js} +1 -1
  229. package/dist/esm/{string-input-formatter-slimmer-6546cfc7.js → string-input-formatter-slimmer-76fe52d3.js} +3 -3
  230. package/dist/esm/{string-mask-strategy-dd13ae21.js → string-mask-strategy-999fba4b.js} +2 -2
  231. package/dist/esm/{style-formatter-057d7120.js → style-formatter-c4192c99.js} +2 -2
  232. package/dist/esm/{sub-state-notify-slimmer-23b7d0e8.js → sub-state-notify-slimmer-e306c849.js} +1 -1
  233. package/dist/esm/{sub-state-observer-slimmer-722f6b92.js → sub-state-observer-slimmer-bd85f381.js} +2 -2
  234. package/dist/esm/{time-required-rule-73753a54.js → time-required-rule-0554b114.js} +1 -1
  235. package/dist/esm/{token-extension-74a0eeb1.js → token-extension-35c66684.js} +809 -52
  236. package/dist/esm/{translation-slimmer-ef970ffc.js → translation-slimmer-77022f2e.js} +1 -1
  237. package/dist/esm/{type-guard-6fc96870.js → type-guard-26d83e7e.js} +1 -1
  238. package/dist/esm/{ui-d73f756a.js → ui-80e610f4.js} +1 -1
  239. package/dist/esm/{valid-credit-card-number-rule-b54a31e7.js → valid-credit-card-number-rule-f60b6904.js} +1 -1
  240. package/dist/esm/vega-accordion.entry.js +9 -9
  241. package/dist/esm/vega-app-footer.entry.js +3 -3
  242. package/dist/esm/vega-app-header-button.entry.js +9 -9
  243. package/dist/esm/vega-backdrop.entry.js +1 -1
  244. package/dist/esm/vega-banner.entry.js +4 -4
  245. package/dist/esm/vega-box.entry.js +7 -7
  246. package/dist/esm/vega-breadcrumb.entry.js +3 -3
  247. package/dist/esm/vega-button-circle.entry.js +9 -9
  248. package/dist/esm/vega-button-group_2.entry.js +18 -11
  249. package/dist/esm/vega-button-link.entry.js +6 -6
  250. package/dist/esm/vega-button.entry.js +24 -8
  251. package/dist/esm/vega-calendar_5.entry.js +13 -13
  252. package/dist/esm/vega-card.entry.js +6 -6
  253. package/dist/esm/vega-carousel.entry.js +7 -7
  254. package/dist/esm/vega-checkbox_2.entry.js +8 -8
  255. package/dist/esm/vega-chip.entry.js +9 -9
  256. package/dist/esm/vega-code-block.entry.js +12 -12
  257. package/dist/esm/vega-color-picker.entry.js +7 -7
  258. package/dist/esm/vega-color-swatch-picker.entry.js +7 -7
  259. package/dist/esm/vega-color-swatch.entry.js +6 -6
  260. package/dist/esm/vega-combo-box.entry.js +13 -13
  261. package/dist/esm/vega-date-picker_2.entry.js +20 -20
  262. package/dist/esm/vega-dialog_2.entry.js +74 -8
  263. package/dist/esm/vega-divider.entry.js +5 -5
  264. package/dist/esm/vega-dropdown_5.entry.js +107 -24
  265. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  266. package/dist/esm/vega-field-label.entry.js +29 -36
  267. package/dist/esm/vega-file-uploader.entry.js +8 -8
  268. package/dist/esm/vega-flag-icon.entry.js +5 -5
  269. package/dist/esm/vega-flex.entry.js +7 -7
  270. package/dist/esm/vega-font.entry.js +6 -6
  271. package/dist/esm/vega-form.entry.js +8 -8
  272. package/dist/esm/vega-grid.entry.js +6 -6
  273. package/dist/esm/vega-icon.entry.js +6 -6
  274. package/dist/esm/vega-image-uploader.entry.js +10 -10
  275. package/dist/esm/vega-input-credit-card.entry.js +10 -10
  276. package/dist/esm/vega-input-numeric.entry.js +10 -10
  277. package/dist/esm/vega-input-passcode.entry.js +9 -9
  278. package/dist/esm/vega-input-phone-number.entry.js +45 -11
  279. package/dist/esm/vega-input-range.entry.js +8 -8
  280. package/dist/esm/vega-input-select.entry.js +28 -11
  281. package/dist/esm/vega-input.entry.js +13 -13
  282. package/dist/esm/vega-item-toggle.entry.js +3 -3
  283. package/dist/esm/vega-left-nav_5.entry.js +12 -12
  284. package/dist/esm/vega-loader-wrapper_2.entry.js +4 -4
  285. package/dist/esm/vega-page-notification_2.entry.js +3 -3
  286. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +2 -2
  287. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +4 -4
  288. package/dist/esm/vega-pagination.entry.js +7 -7
  289. package/dist/esm/vega-popover_2.entry.js +62 -13
  290. package/dist/esm/vega-progress-tracker_2.entry.js +9 -9
  291. package/dist/esm/vega-radio_2.entry.js +11 -11
  292. package/dist/esm/vega-rich-text-content.entry.js +15 -12
  293. package/dist/esm/vega-rich-text-editor_4.entry.js +710 -248
  294. package/dist/esm/vega-rich-text-find-replace-panel.entry.js +6 -6
  295. package/dist/esm/vega-rich-text-special-characters-panel.entry.js +8 -8
  296. package/dist/esm/vega-rich-text-table-properties_3.entry.js +158 -105
  297. package/dist/esm/vega-segment-control.entry.js +3 -3
  298. package/dist/esm/vega-selection-chip_2.entry.js +10 -10
  299. package/dist/esm/vega-selection-tile_2.entry.js +8 -8
  300. package/dist/esm/vega-sidenav_3.entry.js +9 -9
  301. package/dist/esm/vega-signature-capture.entry.js +11 -11
  302. package/dist/esm/vega-stepper.entry.js +6 -6
  303. package/dist/esm/vega-tab-group_2.entry.js +6 -6
  304. package/dist/esm/vega-table_11.entry.js +10 -10
  305. package/dist/esm/vega-textarea.entry.js +6 -6
  306. package/dist/esm/vega-time-picker_2.entry.js +14 -14
  307. package/dist/esm/vega-toggle-switch.entry.js +7 -7
  308. package/dist/esm/vega-tooltip_2.entry.js +8 -8
  309. package/dist/esm/vega.js +14 -14
  310. package/dist/esm/{wait-for-component-did-render-ff7062aa.js → wait-for-component-did-render-9b91a826.js} +1 -1
  311. package/dist/sri/vega-sri-manifest.json +390 -386
  312. package/dist/types/components/vega-button/vega-button.d.ts +2 -0
  313. package/dist/types/components/vega-button-group/types.d.ts +12 -6
  314. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +1 -1
  315. package/dist/types/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.d.ts +3 -10
  316. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +8 -0
  317. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.d.ts +33 -0
  318. package/dist/types/components/vega-modal/types.d.ts +2 -1
  319. package/dist/types/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.d.ts +9 -0
  320. package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +6 -0
  321. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.d.ts +13 -0
  322. package/dist/types/components/vega-rich-text-editor/dto/actions/commit-value-action.d.ts +20 -0
  323. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +6 -0
  324. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +4 -0
  325. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +6 -0
  326. package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +4 -0
  327. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +6 -0
  328. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +4 -0
  329. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +5 -0
  330. package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.d.ts +19 -0
  331. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.d.ts +4 -0
  332. package/dist/types/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.d.ts +14 -1
  333. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.d.ts +2 -2
  334. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.d.ts +31 -1
  335. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.d.ts +91 -0
  336. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.d.ts +46 -0
  337. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.d.ts +58 -0
  338. package/dist/types/components/vega-rich-text-editor/extensions/table/table-selection.d.ts +8 -0
  339. 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
  340. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.d.ts +2 -0
  341. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.d.ts +3 -0
  342. 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
  343. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.d.ts +1 -0
  344. package/dist/types/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.d.ts +38 -0
  345. package/dist/types/components/vega-rich-text-editor/extensions/word-count/type.d.ts +46 -0
  346. package/dist/types/components/vega-rich-text-editor/extensions/word-count/word-count-extension.d.ts +38 -0
  347. package/dist/types/components/vega-rich-text-editor/interface.d.ts +12 -0
  348. package/dist/types/components/vega-rich-text-editor/public-api.d.ts +1 -0
  349. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +11 -1
  350. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.d.ts +40 -0
  351. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.d.ts +14 -0
  352. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +3 -1
  353. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +3 -2
  354. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +12 -0
  355. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.d.ts +2 -0
  356. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +4 -0
  357. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.d.ts +68 -0
  358. 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
  359. package/dist/types/helpers/keyboard/keyboard-manager.d.ts +9 -0
  360. package/dist/types/helpers/keyboard/overlay-escape-coordination.d.ts +28 -0
  361. package/dist/types/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.d.ts +1 -1
  362. package/dist/types/helpers/translation/interface.d.ts +16 -1
  363. package/dist/types/polyfill/libphonenumber/as-you-type.d.ts +1 -0
  364. package/dist/types/polyfill/libphonenumber/metadata.d.ts +10 -0
  365. package/dist/types/types/public-api.d.ts +1 -0
  366. package/dist/types/utils/accessibility.d.ts +9 -0
  367. package/dist/vega/index.esm.js +1 -1
  368. package/dist/vega/{p-1a37d63c.entry.js → p-01ca92e6.entry.js} +1 -1
  369. package/dist/vega/{p-840444c9.entry.js → p-02b5d4ac.entry.js} +1 -1
  370. package/dist/vega/{p-d35a31a5.entry.js → p-06a42a9f.entry.js} +1 -1
  371. package/dist/vega/{p-fd23c365.entry.js → p-0cd362f3.entry.js} +1 -1
  372. package/dist/vega/p-0e10798b.entry.js +1 -0
  373. package/dist/vega/{p-fcb6b499.js → p-0eea1ca8.js} +1 -1
  374. package/dist/vega/{p-ccbed811.entry.js → p-0f344e02.entry.js} +1 -1
  375. package/dist/vega/{p-66a785d0.entry.js → p-23db0a92.entry.js} +1 -1
  376. package/dist/vega/{p-c8ad7207.entry.js → p-284a8828.entry.js} +1 -1
  377. package/dist/vega/{p-d4d90ce2.entry.js → p-2b26e182.entry.js} +1 -1
  378. package/dist/vega/{p-6659c910.entry.js → p-2c8dc0d2.entry.js} +1 -1
  379. package/dist/vega/{p-526e3634.js → p-36a57431.js} +1 -1
  380. package/dist/vega/{p-9c9b0629.js → p-379736e2.js} +1 -1
  381. package/dist/vega/{p-df63c2fb.entry.js → p-3abb793c.entry.js} +1 -1
  382. package/dist/vega/{p-47a48329.entry.js → p-3d6a43df.entry.js} +1 -1
  383. package/dist/vega/{p-0ca3b4bf.entry.js → p-3f2a4b34.entry.js} +1 -1
  384. package/dist/vega/p-401c6764.js +1 -0
  385. package/dist/vega/{p-ce82d6bb.entry.js → p-411cadbc.entry.js} +1 -1
  386. package/dist/vega/{p-f0a0fc77.entry.js → p-46f22f6c.entry.js} +1 -1
  387. package/dist/vega/{p-f9a3805d.js → p-493108d5.js} +1 -1
  388. package/dist/vega/{p-77fb3971.entry.js → p-49de5559.entry.js} +1 -1
  389. package/dist/vega/p-4b35c748.js +1 -0
  390. package/dist/vega/{p-d62e618a.entry.js → p-4d1896e0.entry.js} +1 -1
  391. package/dist/vega/{p-55dc3053.entry.js → p-4e23e56c.entry.js} +1 -1
  392. package/dist/vega/{p-aa914dbd.entry.js → p-5006404e.entry.js} +1 -1
  393. package/dist/vega/{p-944e284d.entry.js → p-5789690b.entry.js} +1 -1
  394. package/dist/vega/{p-4f6aaac5.entry.js → p-594cb986.entry.js} +1 -1
  395. package/dist/vega/p-5a086e93.js +1 -0
  396. package/dist/vega/p-5b9b1631.entry.js +1 -0
  397. package/dist/vega/{p-c41a2d4a.js → p-5c3649f9.js} +1 -1
  398. package/dist/vega/{p-fb9475ab.entry.js → p-5d9be870.entry.js} +1 -1
  399. package/dist/vega/p-5f377954.js +1 -1
  400. package/dist/vega/{p-2044eba9.js → p-60a74fb7.js} +1 -1
  401. package/dist/vega/{p-5e9e04f3.entry.js → p-61ed7268.entry.js} +1 -1
  402. package/dist/vega/p-6336d446.entry.js +1 -0
  403. package/dist/vega/{p-b3c4943b.js → p-638b6a7d.js} +1 -1
  404. package/dist/vega/{p-bdb5180c.js → p-68744e7e.js} +1 -1
  405. package/dist/vega/p-6e9e7131.js +1 -0
  406. package/dist/vega/{p-014cd411.js → p-6eedbc4f.js} +1 -1
  407. package/dist/vega/{p-c348eaf5.js → p-6fd8f14b.js} +1 -1
  408. package/dist/vega/{p-49d7cfed.entry.js → p-7469d0d1.entry.js} +1 -1
  409. package/dist/vega/p-74b20563.entry.js +1 -0
  410. package/dist/vega/{p-2f89ee14.entry.js → p-76999ea1.entry.js} +1 -1
  411. package/dist/vega/p-77bcdd35.js +1 -0
  412. package/dist/vega/{p-a4360b7e.entry.js → p-79b49e8d.entry.js} +1 -1
  413. package/dist/vega/{p-2af1d8b8.entry.js → p-7a03ef96.entry.js} +1 -1
  414. package/dist/vega/{p-aa433430.entry.js → p-7ae4cf82.entry.js} +1 -1
  415. package/dist/vega/{p-f9bfee81.entry.js → p-7cc8855d.entry.js} +1 -1
  416. package/dist/vega/{p-3c8421d5.entry.js → p-7ddc0bec.entry.js} +1 -1
  417. package/dist/vega/{p-9c5289dc.entry.js → p-7e22610b.entry.js} +1 -1
  418. package/dist/vega/p-7f395622.entry.js +1 -0
  419. package/dist/vega/{p-860e76f5.entry.js → p-816b5fd2.entry.js} +1 -1
  420. package/dist/vega/p-8387896e.js +1 -0
  421. package/dist/vega/{p-7754b10f.entry.js → p-844ad6aa.entry.js} +1 -1
  422. package/dist/vega/p-853a05eb.js +1 -0
  423. package/dist/vega/p-85de755f.js +1 -0
  424. package/dist/vega/p-8663314e.js +1 -0
  425. package/dist/vega/{p-66728dd4.entry.js → p-86fb46d2.entry.js} +1 -1
  426. package/dist/vega/p-8cfdd0e8.entry.js +1 -0
  427. package/dist/vega/{p-444e24c6.js → p-8ebe30a8.js} +1 -1
  428. package/dist/vega/p-8f00dfe6.js +1 -0
  429. package/dist/vega/{p-66647244.js → p-8fc0a820.js} +1 -1
  430. package/dist/vega/{p-8f3b93db.js → p-9034f709.js} +1 -1
  431. package/dist/vega/{p-691bdc20.js → p-941a83db.js} +1 -1
  432. package/dist/vega/{p-5110c84f.js → p-96c090c4.js} +1 -1
  433. package/dist/vega/{p-50eda925.js → p-9ba2fdff.js} +1 -1
  434. package/dist/vega/p-9efa5d76.js +1 -0
  435. package/dist/vega/{p-cede3535.js → p-a306bb39.js} +1 -1
  436. package/dist/vega/{p-db11134b.entry.js → p-a48468b5.entry.js} +1 -1
  437. package/dist/vega/{p-22edd3cc.js → p-a488447f.js} +1 -1
  438. package/dist/vega/{p-6493f13a.entry.js → p-a647c856.entry.js} +1 -1
  439. package/dist/vega/{p-44999c88.entry.js → p-a6a89f09.entry.js} +1 -1
  440. package/dist/vega/p-a92cd703.js +1 -0
  441. package/dist/vega/p-a93b3aed.js +1 -0
  442. package/dist/vega/{p-528748fa.js → p-aa135628.js} +1 -1
  443. package/dist/vega/{p-3c152bad.entry.js → p-aaaf21eb.entry.js} +1 -1
  444. package/dist/vega/{p-66fe8b4e.entry.js → p-ab253867.entry.js} +1 -1
  445. package/dist/vega/{p-a1f220ca.js → p-ab9d53e9.js} +1 -1
  446. package/dist/vega/p-ad367b48.entry.js +1 -0
  447. package/dist/vega/{p-e18c0656.entry.js → p-af0cfea0.entry.js} +1 -1
  448. package/dist/vega/p-b07f587a.entry.js +1 -0
  449. package/dist/vega/{p-f13b39d8.js → p-b2a4314a.js} +1 -1
  450. package/dist/vega/p-b52d7724.js +3 -0
  451. package/dist/vega/{p-23c1f378.entry.js → p-b97ed9f7.entry.js} +1 -1
  452. package/dist/vega/{p-4022412e.entry.js → p-bc0e5598.entry.js} +1 -1
  453. package/dist/vega/p-bc119e75.entry.js +1 -0
  454. package/dist/vega/{p-024db952.entry.js → p-bedb575c.entry.js} +1 -1
  455. package/dist/vega/{p-d6023dc0.entry.js → p-bfe5dff7.entry.js} +1 -1
  456. package/dist/vega/{p-328ebbdb.entry.js → p-c032f626.entry.js} +1 -1
  457. package/dist/vega/{p-dd0bd78b.js → p-c34f4cbc.js} +1 -1
  458. package/dist/vega/{p-b12de1bf.entry.js → p-c422ee02.entry.js} +1 -1
  459. package/dist/vega/{p-e1c82ca9.js → p-c576e846.js} +1 -1
  460. package/dist/vega/{p-433b1395.entry.js → p-c7d46740.entry.js} +1 -1
  461. package/dist/vega/{p-f2384411.entry.js → p-cd04b149.entry.js} +1 -1
  462. package/dist/vega/{p-5147c30d.entry.js → p-cd0a108b.entry.js} +1 -1
  463. package/dist/vega/{p-3a230d4b.entry.js → p-d1bb6e7a.entry.js} +1 -1
  464. package/dist/vega/{p-200c8914.entry.js → p-d340ee3d.entry.js} +1 -1
  465. package/dist/vega/p-d897acd5.js +1 -0
  466. package/dist/vega/p-debf9e06.entry.js +1 -0
  467. package/dist/vega/{p-3c559c8b.js → p-e0a51e49.js} +1 -1
  468. package/dist/vega/{p-ba6881da.entry.js → p-e11c6ec4.entry.js} +1 -1
  469. package/dist/vega/{p-fa5cd8b1.js → p-e14323f3.js} +1 -1
  470. package/dist/vega/{p-a7517760.entry.js → p-e5abc288.entry.js} +1 -1
  471. package/dist/vega/{p-7977352b.entry.js → p-ea1a0046.entry.js} +1 -1
  472. package/dist/vega/{p-867cc602.entry.js → p-edd7aa92.entry.js} +1 -1
  473. package/dist/vega/p-ef1bbf14.js +1 -0
  474. package/dist/vega/{p-bd7725f7.entry.js → p-efc08027.entry.js} +1 -1
  475. package/dist/vega/{p-52878ea9.js → p-f485448a.js} +1 -1
  476. package/dist/vega/{p-4afd6715.entry.js → p-f8b2dbb9.entry.js} +1 -1
  477. package/dist/vega/{p-cf4b3d40.entry.js → p-f8bf379c.entry.js} +1 -1
  478. package/dist/vega/{p-4370b954.entry.js → p-f902305d.entry.js} +1 -1
  479. package/dist/vega/p-fe985b52.js +1 -0
  480. package/dist/vega/vega.esm.js +1 -1
  481. package/package.json +1 -1
  482. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-conttroller.js +0 -85
  483. package/dist/vega/p-0b2c4c0b.js +0 -1
  484. package/dist/vega/p-1fa22fda.js +0 -1
  485. package/dist/vega/p-2529820e.js +0 -1
  486. package/dist/vega/p-35628af4.js +0 -1
  487. package/dist/vega/p-3a620268.js +0 -1
  488. package/dist/vega/p-4473d8b1.js +0 -3
  489. package/dist/vega/p-5af312f8.js +0 -1
  490. package/dist/vega/p-67e88cd7.entry.js +0 -1
  491. package/dist/vega/p-67eaf77e.js +0 -1
  492. package/dist/vega/p-6d6b4495.entry.js +0 -1
  493. package/dist/vega/p-7b133734.entry.js +0 -1
  494. package/dist/vega/p-7b84a943.entry.js +0 -1
  495. package/dist/vega/p-83ad8988.js +0 -1
  496. package/dist/vega/p-8d2a9012.js +0 -1
  497. package/dist/vega/p-8d4be607.js +0 -1
  498. package/dist/vega/p-8d77c7cf.js +0 -1
  499. package/dist/vega/p-94b54a95.js +0 -1
  500. package/dist/vega/p-9c2b3279.js +0 -1
  501. package/dist/vega/p-9c9ff871.entry.js +0 -1
  502. package/dist/vega/p-9d90e271.entry.js +0 -1
  503. package/dist/vega/p-c8fb3aac.entry.js +0 -1
  504. package/dist/vega/p-daba4af1.js +0 -1
  505. package/dist/vega/p-ded1ecc1.entry.js +0 -1
  506. package/dist/vega/p-e1a65e06.entry.js +0 -1
  507. package/dist/vega/p-e469ba27.entry.js +0 -1
  508. package/dist/vega/p-e4c5cb4f.js +0 -1
  509. /package/dist/types/components/vega-dropdown/slimmers/controllers/{vega-dropdown-keyboard-conttroller.d.ts → vega-dropdown-keyboard-controller.d.ts} +0 -0
@@ -18,6 +18,7 @@ export class RTECopyToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer {
18
18
  render(h, editorContext) {
19
19
  return this.renderButton(h, editorContext, {
20
20
  icon: 'rte-copy',
21
+ ariaLabel: editorContext.translation.t('Copy'),
21
22
  tooltip: { text: 'Copy' },
22
23
  });
23
24
  }
@@ -19,6 +19,7 @@ export class RTECutToolbarButtonRenderer extends RTECopyToolbarButtonRenderer {
19
19
  render(h, editorContext) {
20
20
  return this.renderButton(h, editorContext, {
21
21
  icon: 'rte-cut',
22
+ ariaLabel: editorContext.translation.t('Cut'),
22
23
  tooltip: { text: 'Cut' },
23
24
  });
24
25
  }
@@ -8,6 +8,7 @@ import { FindController } from '../controllers/find-controller';
8
8
  import { ReplaceController } from '../controllers/replace-controller';
9
9
  import { VegaInternalTranslation } from '../../../../../../helpers/translation/internal-translation-controller';
10
10
  import { debounce } from '../../../../../../utils/timer';
11
+ import { getDeepActiveElementInShadow } from '../../../../../../utils/ui';
11
12
  /**
12
13
  * Toolbar button renderer for the Find & Replace extension.
13
14
  *
@@ -60,14 +61,22 @@ export class FindReplaceToolbarButtonRenderer extends VegaRTEToolbarButtonRender
60
61
  placement: 'bottom',
61
62
  showArrow: false,
62
63
  isScreenPosition: true,
64
+ role: 'presentation',
63
65
  // eslint-disable-next-line jsdoc/require-jsdoc
64
66
  ref: (ref) => {
65
67
  if (ref) {
66
68
  this.popoverRef = ref;
67
69
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaPopoverHide, () => {
70
+ const shouldRestoreFocus = this.shouldRestoreFocusToButton();
68
71
  this.isPopoverOpen = false;
69
72
  this.findController.clear();
70
73
  this.updatePanel({ current: 0, total: 0 });
74
+ if (shouldRestoreFocus) {
75
+ // Defer so it runs after the popover's own focus-restore
76
+ // (AriaDialogFocusableTrapSlimmer), returning focus to the toolbar
77
+ // button for keyboard and VoiceOver users when the panel is dismissed.
78
+ setTimeout(() => this.focusToolbarButton());
79
+ }
71
80
  });
72
81
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaPopoverShow, () => {
73
82
  this.isPopoverOpen = true;
@@ -98,6 +107,7 @@ export class FindReplaceToolbarButtonRenderer extends VegaRTEToolbarButtonRender
98
107
  ]),
99
108
  h('div', { slot: 'popover-content' }, this.renderButton(h, editorContext, {
100
109
  icon: 'rte-find-replace',
110
+ ariaLabel: editorContext.translation.t('Find and replace'),
101
111
  tooltip: { text: VegaInternalTranslation.t('Find and replace') },
102
112
  })),
103
113
  ]);
@@ -200,6 +210,47 @@ export class FindReplaceToolbarButtonRenderer extends VegaRTEToolbarButtonRender
200
210
  void this.popoverRef.hide();
201
211
  }
202
212
  }
213
+ /**
214
+ * Decides whether closing the panel should return focus to the toolbar button.
215
+ *
216
+ * Focus is restored when the panel is dismissed while focus is still inside it
217
+ * (Escape key or the Close button) — including the VoiceOver case where the
218
+ * dialog's `inert` blur has already moved focus to `<body>`. It is not restored
219
+ * when focus has intentionally moved to another element (Tab out of the panel
220
+ * or interacting with something else), so we don't yank focus back.
221
+ *
222
+ * @returns {boolean} True when focus should return to the toolbar button.
223
+ */
224
+ shouldRestoreFocusToButton() {
225
+ // eslint-disable-next-line no-restricted-globals
226
+ const activeEl = getDeepActiveElementInShadow(document, true);
227
+ // eslint-disable-next-line no-restricted-globals
228
+ return !activeEl || activeEl === document.body || this.isElementWithinPanel(activeEl);
229
+ }
230
+ /**
231
+ * Checks whether an element is inside the panel, crossing shadow boundaries.
232
+ *
233
+ * @param {Nullable<HTMLElement>} el - The element to test.
234
+ * @returns {boolean} True when the element is contained by the panel.
235
+ */
236
+ isElementWithinPanel(el) {
237
+ if (!el || !this.panelRef) {
238
+ return false;
239
+ }
240
+ let node = el;
241
+ while (node) {
242
+ if (node === this.panelRef) {
243
+ return true;
244
+ }
245
+ const parent = node.parentNode;
246
+ // Cross shadow boundaries: a shadow root (nodeType 11) exposes its `host`.
247
+ node =
248
+ parent && parent.nodeType === Node.DOCUMENT_FRAGMENT_NODE
249
+ ? parent.host
250
+ : parent;
251
+ }
252
+ return false;
253
+ }
203
254
  }
204
255
  (() => {
205
256
  VegaInternalIconManager.register({ 'rte-find-replace': findReplaceIcon });
@@ -26,7 +26,7 @@ export class FindReplacePanelRenderer extends VegaSlimmer {
26
26
  h("div", { class: "find-replace-panel__field" },
27
27
  h("vega-field-label", { label: VegaInternalTranslation.t('Find in text') }),
28
28
  h("div", { class: "find-replace-panel__body" },
29
- h("vega-input", { size: "small", label: "", class: "find-replace-panel__input", ref: (ref) => {
29
+ h("vega-input", { size: "small", label: "", "data-aria-label": VegaInternalTranslation.t('Find in text'), class: "find-replace-panel__input", ref: (ref) => {
30
30
  if (ref) {
31
31
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaChange, (e) => {
32
32
  this.onKeywordChange(e.detail);
@@ -40,7 +40,7 @@ export class FindReplacePanelRenderer extends VegaSlimmer {
40
40
  h("div", { class: "find-replace-panel__field" },
41
41
  h("vega-field-label", { label: VegaInternalTranslation.t('Replace with') }),
42
42
  h("div", { class: "find-replace-panel__body" },
43
- h("vega-input", { disabled: !hasResults, size: "small", label: "", class: "find-replace-panel__input", ref: (ref) => {
43
+ h("vega-input", { disabled: !hasResults, size: "small", label: "", "data-aria-label": VegaInternalTranslation.t('Replace with'), class: "find-replace-panel__input", ref: (ref) => {
44
44
  if (ref) {
45
45
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaChange, (e) => {
46
46
  this.onReplacementChange(e.detail);
@@ -30,6 +30,9 @@ export class RTEFullscreenToolbarButtonRenderer extends VegaRTEToolbarButtonRend
30
30
  const selected = this.isSelected();
31
31
  return this.renderButton(createElement, editorContext, {
32
32
  icon: selected ? 'rte-fullscreen-exit' : 'rte-fullscreen-enter',
33
+ ariaLabel: selected
34
+ ? editorContext.translation.t('Exit fullscreen mode')
35
+ : editorContext.translation.t('Enter fullscreen mode'),
33
36
  tooltip: {
34
37
  text: selected
35
38
  ? VegaInternalTranslation.t('Exit fullscreen mode')
@@ -67,5 +67,11 @@ export class RTELogicControlNode extends RTENode {
67
67
  isContentEditable() {
68
68
  return false;
69
69
  }
70
+ /**
71
+ * @inheritDoc
72
+ */
73
+ getPlainText() {
74
+ return this.text;
75
+ }
70
76
  }
71
77
  RTELogicControlNode.dtoName = 'RTELogicControlNode';
@@ -13,6 +13,7 @@ export class FunctionToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer
13
13
  return this.renderDropdown(h, editorContext, {}, [
14
14
  this.renderButton(h, editorContext, {
15
15
  label: 'Functions',
16
+ ariaLabel: 'Functions',
16
17
  showArrowIcon: true,
17
18
  tooltip: { text: 'Insert function' },
18
19
  }),
@@ -19,6 +19,7 @@ export class RTEHorizontalLineToolbarButtonRenderer extends VegaRTEToolbarButton
19
19
  render(createElement, editorContext) {
20
20
  return this.renderButton(createElement, editorContext, {
21
21
  icon: 'horizontal-line',
22
+ ariaLabel: VegaInternalTranslation.t('Horizontal line'),
22
23
  tooltip: { text: VegaInternalTranslation.t('Horizontal line') },
23
24
  });
24
25
  }
@@ -59,6 +59,7 @@ export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRender
59
59
  return this.renderDropdown(createElement, editorContext, { source: translatedSource }, [
60
60
  this.renderButton(createElement, editorContext, {
61
61
  label: this.getLanguageLabelByKey(this.selectedLanguage),
62
+ ariaLabel: 'Language',
62
63
  showArrowIcon: true,
63
64
  tooltip: { text: 'Select language' },
64
65
  }),
@@ -74,10 +75,11 @@ export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRender
74
75
  this.translation = editorContext.translation;
75
76
  const isDisabled = this.isDisabled(editorContext);
76
77
  return h('vega-font', {
77
- variant: 'font-field-label-sm',
78
- color: isDisabled ? 'text-disabled' : 'text-primary',
78
+ 'variant': 'font-field-label-sm',
79
+ 'color': isDisabled ? 'text-disabled' : 'text-primary',
80
+ 'aria-hidden': 'true',
79
81
  // eslint-disable-next-line jsdoc/require-jsdoc
80
- ref: (el) => {
82
+ 'ref': (el) => {
81
83
  this.labelRef = el;
82
84
  },
83
85
  }, editorContext.translation.t(label));
@@ -34,12 +34,28 @@ export class RTELineHeightToolbarButtonRenderer extends VegaRTEToolbarButtonRend
34
34
  }, [
35
35
  this.renderButton(createElement, editorContext, {
36
36
  icon: 'line-height',
37
+ ariaLabel: editorContext.translation.t('Line Height'),
37
38
  showArrowIcon: true,
38
39
  tooltip: { text: VegaInternalTranslation.t('Line Height') },
39
40
  }),
40
41
  this.renderDropdownListTemplate(createElement, dropdownItems, editorContext),
41
42
  ]);
42
43
  }
44
+ /**
45
+ * Renders each line-height option with its label as light-DOM children rather than the
46
+ * `label` prop. This gives the focusable menuitem a light-DOM text anchor so Safari
47
+ * VoiceOver's reading cursor follows focus into the item (Ctrl+Opt+Right walks item→item
48
+ * instead of escaping to the next toolbar button).
49
+ *
50
+ * The label is wrapped in a `<span>` (not a bare text node) so a click targeting the label
51
+ * lands on a slotted element that composes into the item's shadow `<li>`; a bare text node
52
+ * resolves to the `vega-dropdown-item` host, whose click never reaches the shadow handler.
53
+ *
54
+ * @inheritDoc
55
+ */
56
+ renderDropdownItem(h, item, editorContext) {
57
+ return h('vega-dropdown-item', { key: item.key, itemKey: item.key, prefixIcon: item.icon }, h('span', undefined, editorContext.translation.t(item.label)));
58
+ }
43
59
  /**
44
60
  * @inheritDoc
45
61
  */
@@ -33,6 +33,7 @@ export class RTESpecialCharactersToolbarButtonRenderer extends VegaRTEToolbarBut
33
33
  placement: 'bottom',
34
34
  showArrow: false,
35
35
  isScreenPosition: true,
36
+ role: 'presentation',
36
37
  // eslint-disable-next-line jsdoc/require-jsdoc
37
38
  ref: (ref) => {
38
39
  if (ref) {
@@ -60,6 +61,7 @@ export class RTESpecialCharactersToolbarButtonRenderer extends VegaRTEToolbarBut
60
61
  ]),
61
62
  h('div', { slot: 'popover-content' }, this.renderButton(h, editorContext, {
62
63
  icon: 'rte-special-characters',
64
+ ariaLabel: editorContext.translation.t('Special Characters'),
63
65
  tooltip: { text: 'Special Characters' },
64
66
  })),
65
67
  ]);
@@ -8,15 +8,9 @@ export class RTETableCaptionRenderer extends VegaRTEExtensionRenderer {
8
8
  /**
9
9
  * @inheritDoc
10
10
  */
11
- doRender(h, renderData) {
12
- return h('caption', {
13
- 'key': renderData.id,
14
- 'ref': this.useRef(renderData),
15
- 'style': renderData.getStyles(),
16
- 'class': [renderData.getClasses(), renderData.isNotEmpty() ? null : 'showPlaceholder']
11
+ doRender(h, renderData, rteContext) {
12
+ return h('caption', Object.assign(Object.assign({ 'key': renderData.id, 'ref': this.useRef(renderData) }, (rteContext.editable ? { contentEditable: true } : undefined)), { 'style': renderData.getStyles(), 'class': [renderData.getClasses(), renderData.isNotEmpty() ? null : 'showPlaceholder']
17
13
  .filter(isNonNullable)
18
- .join(' '),
19
- 'data-placeholder': TABLE_CAPTION_PLACEHOLDER_TEXT,
20
- });
14
+ .join(' '), 'data-placeholder': TABLE_CAPTION_PLACEHOLDER_TEXT }));
21
15
  }
22
16
  }
@@ -21,9 +21,9 @@ export class RTETableCellRenderer extends VegaRTEExtensionRenderer {
21
21
  */
22
22
  renderByCellType(h, renderData, rteContext, elementType) {
23
23
  var _a;
24
- return h(elementType, Object.assign(Object.assign(Object.assign({ key: `${renderData.id}-${elementType}`,
24
+ return h(elementType, Object.assign(Object.assign(Object.assign(Object.assign({ key: `${renderData.id}-${elementType}`,
25
25
  // eslint-disable-next-line jsdoc/require-jsdoc
26
- ref: this.useRef(renderData) }, (_a = renderData.getCustomAttributesAnnotation()) === null || _a === void 0 ? void 0 : _a.render()), { style: renderData.getStyles(rteContext), class: renderData.getClasses() }), (rteContext.editable ? this.onSelectionListeners(renderData, rteContext) : undefined)));
26
+ ref: this.useRef(renderData) }, (rteContext.editable ? { contentEditable: true, tabindex: -1 } : undefined)), (_a = renderData.getCustomAttributesAnnotation()) === null || _a === void 0 ? void 0 : _a.render()), { style: renderData.getStyles(rteContext), class: renderData.getClasses() }), (rteContext.editable ? this.onSelectionListeners(renderData, rteContext) : undefined)));
27
27
  }
28
28
  /**
29
29
  * Returns the mouse event listeners for selection handling.
@@ -83,6 +83,8 @@ export class TableDynamicPopoverRenderer extends TablePopoverBaseRenderer {
83
83
  * and clears the internal reference.
84
84
  */
85
85
  destroy() {
86
+ this.setEditorContentInert(false);
87
+ this.detachEscapeTracker();
86
88
  if (this.selectionAnchorRef && this.selectionAnchorRef.parentNode) {
87
89
  DomNodeSubjectObserverFactory.removeUniqueObserverFromNode(this.selectionAnchorRef, VegaInternalRTEExtensionTableCellsSelectionAnchor);
88
90
  this.selectionAnchorRef.parentNode.removeChild(this.selectionAnchorRef);
@@ -95,8 +97,13 @@ export class TableDynamicPopoverRenderer extends TablePopoverBaseRenderer {
95
97
  *
96
98
  * @param {string} type - The table setting type determining which
97
99
  * content variant to display (for example, table properties or cell properties).
100
+ * @param {Nullable<HTMLElement>} returnCell - The cell to move focus into the dialog for and
101
+ * return focus to if the dialog is dismissed with Escape (set for keyboard/screen-reader users).
98
102
  */
99
- async show(type) {
103
+ async show(type, returnCell) {
104
+ // Remember the cell to return focus to if the dialog is dismissed with Escape, and clear any
105
+ // stale Escape recorded before the dialog was opened.
106
+ this.beginReturnFocusTracking(returnCell);
100
107
  let target = this.getTableRef();
101
108
  const extensionContext = this.getTableExtensionContext();
102
109
  let cells = [];
@@ -116,6 +123,11 @@ export class TableDynamicPopoverRenderer extends TablePopoverBaseRenderer {
116
123
  this.storeCurrentFocusNode();
117
124
  remoteInvocationRegistry.call(domNodeSubjectFactory.getSubject(this.popoverRef, VegaInternalPopoverUpdateTarget), target);
118
125
  await this.popoverRef.show();
126
+ // When opened for keyboard/screen-reader users (a return cell is known), move focus into the
127
+ // dialog so it lands on the first focusable field (the Border Style control).
128
+ if (returnCell) {
129
+ this.focusFirstFormField(type);
130
+ }
119
131
  }
120
132
  /**
121
133
  * hide the popover.
@@ -150,7 +162,11 @@ export class TableDynamicPopoverRenderer extends TablePopoverBaseRenderer {
150
162
  if (this.popoverCloseType === 'change' && extensionContext) {
151
163
  extensionContext.flushValue(extensionContext.host.value);
152
164
  }
165
+ this.handleDialogHide();
153
166
  });
167
+ // Escape inside the dialog (rendered in a portal) does not bubble back to the table, so
168
+ // observe it on the document (capture phase) to know when to return focus to the cell.
169
+ this.attachEscapeTracker(safeDocument);
154
170
  const slotDiv = safeDocument.createElement('div');
155
171
  slotDiv.setAttribute('slot', 'popover');
156
172
  slotDiv.className = 'rte-table-dynamic-popover-content';
@@ -177,6 +193,28 @@ export class TableDynamicPopoverRenderer extends TablePopoverBaseRenderer {
177
193
  return popover;
178
194
  }
179
195
  }
196
+ /**
197
+ * Whether the given event originated inside the properties dialog subtree (either the table or the
198
+ * cell properties form).
199
+ *
200
+ * @param {Event} event - The event to test.
201
+ * @returns {boolean} `true` when an active form is rendered and the event's composed path includes it.
202
+ */
203
+ isEventWithinPopover(event) {
204
+ const path = event.composedPath();
205
+ return ((!!this.tablePropertiesFormRef && path.includes(this.tablePropertiesFormRef)) ||
206
+ (!!this.cellPropertiesFormRef && path.includes(this.cellPropertiesFormRef)));
207
+ }
208
+ /**
209
+ * Resolves the `.rich-text-content` editor root from the current table ref so the content can be
210
+ * made inert while the properties dialog holds keyboard/VoiceOver focus.
211
+ *
212
+ * @returns {Nullable<HTMLElement>} The editor content element, or `null` when it cannot be resolved.
213
+ */
214
+ getInertContentTarget() {
215
+ var _a, _b, _c;
216
+ return (_c = (_b = (_a = this.getTableRef) === null || _a === void 0 ? void 0 : _a.call(this)) === null || _b === void 0 ? void 0 : _b.closest('.rich-text-content')) !== null && _c !== void 0 ? _c : null;
217
+ }
180
218
  /**
181
219
  * Updates the visibility of the pre-rendered content blocks based on type.
182
220
  *
@@ -214,6 +252,48 @@ export class TableDynamicPopoverRenderer extends TablePopoverBaseRenderer {
214
252
  const extensionContext = this.getTableExtensionContext();
215
253
  extensionContext && (this.currentFocusNode = extensionContext.getSelectedNodes()[0]);
216
254
  }
255
+ /**
256
+ * Moves focus to the first focusable control in the active properties form so keyboard and
257
+ * screen-reader users land inside the dialog when it opens. The first form field is the Border
258
+ * Style select; its focusable trigger is the `.vega-input-select-container` element.
259
+ *
260
+ * @param {string} type - The table setting type that determines which form is visible.
261
+ */
262
+ focusFirstFormField(type) {
263
+ const formRef = type === TableSettingType.TABLE ? this.tablePropertiesFormRef : this.cellPropertiesFormRef;
264
+ if (!formRef) {
265
+ return;
266
+ }
267
+ // Make the editor content inert up front so the table/cell cannot steal focus while the dialog
268
+ // lays out. The cell form applies the selected cell's styles on open, whose async reset fires a
269
+ // selectionchange that would otherwise re-focus the cell before we reach Border Style. Inert also
270
+ // gives VoiceOver no cell-caret text context, so its cursor follows the focus. Lifted on hide.
271
+ this.setEditorContentInert(true);
272
+ // The CELL form applies the selected cell's styles on open (it sets both `styleMap` and
273
+ // `defaultValue`), a heavier re-render than TABLE, so on the first open its Border Style control is
274
+ // present but 0×0 for a frame. WebKit's VoiceOver cursor does not follow `.focus()` onto a
275
+ // zero-area element, so defer through a double animation frame: the first schedules past the
276
+ // popover's async reveal, the second runs after the browser has committed the layout pass that
277
+ // sizes the control.
278
+ requestAnimationFrame(() => {
279
+ requestAnimationFrame(() => {
280
+ var _a, _b, _c, _d, _e;
281
+ const firstField = (_b = (_a = formRef.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[data-vega-form]')) !== null && _b !== void 0 ? _b : null;
282
+ const container = (_d = (_c = firstField === null || firstField === void 0 ? void 0 : firstField.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.vega-input-select-container')) !== null && _d !== void 0 ? _d : null;
283
+ (_e = (container !== null && container !== void 0 ? container : firstField)) === null || _e === void 0 ? void 0 : _e.focus();
284
+ });
285
+ });
286
+ }
287
+ /**
288
+ * When the properties dialog hides after an Escape press, returns focus (and the caret) to the
289
+ * table cell that had focus before the dialog was opened via the setting toolbar.
290
+ */
291
+ handleDialogHide() {
292
+ // Lift the inert guard on the editor content synchronously, before any focus restore runs, so the
293
+ // cell can receive focus and the editor is interactive again.
294
+ this.setEditorContentInert(false);
295
+ this.restoreFocusOnEscapeHide();
296
+ }
217
297
  /**
218
298
  * Create and position an invisible anchor element whose position and size are identical to the geometry of the current multi-cell selection.
219
299
  * This anchor element will then be used as the target of the popup, so that the popup appears near the entire selection area.
@@ -1,9 +1,42 @@
1
1
  import RTEExtensionContextManager from '../../../helpers/extension-context-manager';
2
2
  /**
3
3
  * Base renderer for table-related popovers, providing common functionalities such as accessing the table extension context.
4
+ *
5
+ * Popovers that move keyboard/VoiceOver focus into themselves (the setting toolbar and the
6
+ * properties dialog) share the same focus-restoration machinery: they make the editor content
7
+ * `inert` while open, track Escape presses at the document level, and return focus (and the caret)
8
+ * to the originating cell when an Escape dismisses the popover. That behavior lives here so the two
9
+ * renderers do not each carry a copy; subclasses only supply the two pieces that differ — how to
10
+ * resolve the editor content root ({@link getInertContentTarget}) and how to tell whether an event
11
+ * originated inside their own popover subtree ({@link isEventWithinPopover}).
4
12
  */
5
13
  export class TablePopoverBaseRenderer {
6
14
  constructor(renderContext) {
15
+ /** The editor content element made inert while the popover holds focus, cached so it can be restored. */
16
+ this.inertedContentEl = null;
17
+ /** The table cell to return focus to when the popover is dismissed via Escape. */
18
+ this.returnFocusCell = null;
19
+ /** Tracks whether Escape was pressed while the popover was open. */
20
+ this.escapePressed = false;
21
+ /** Document the Escape tracker keydown listener is bound to, for later removal. */
22
+ this.keydownListenerDocument = null;
23
+ /**
24
+ * Tracks Escape key presses that originate inside the popover so focus can be returned to the
25
+ * originating cell when that Escape dismisses the popover. vega-popover's own Escape handler hides
26
+ * the popover without restoring focus, so the restore is coordinated here.
27
+ *
28
+ * The listener is bound at the document level (the popover renders in a portal, so its Escape does
29
+ * not bubble back to the table), so scope it to the popover subtree via {@link isEventWithinPopover}:
30
+ * a stray Escape elsewhere must not arm the restore and hijack focus on a later non-Escape dismissal
31
+ * (e.g. click-outside).
32
+ *
33
+ * @param {KeyboardEvent} event - The keydown event.
34
+ */
35
+ this.handleDocumentKeydown = (event) => {
36
+ if (event.code === 'Escape' && this.isEventWithinPopover(event)) {
37
+ this.escapePressed = true;
38
+ }
39
+ };
7
40
  this.renderContext = renderContext;
8
41
  }
9
42
  /**
@@ -16,4 +49,119 @@ export class TablePopoverBaseRenderer {
16
49
  ? RTEExtensionContextManager.getExtensionContext(this.renderContext.host)
17
50
  : null;
18
51
  }
52
+ /**
53
+ * Begins tracking so a later Escape can return focus to `returnCell`. Records the cell and clears
54
+ * any stale Escape observed before the popover was opened.
55
+ *
56
+ * @param {Nullable<HTMLElement>} returnCell - The cell to return focus to if the popover is dismissed with Escape.
57
+ */
58
+ beginReturnFocusTracking(returnCell) {
59
+ this.returnFocusCell = returnCell !== null && returnCell !== void 0 ? returnCell : null;
60
+ this.escapePressed = false;
61
+ }
62
+ /**
63
+ * Registers the document-level (capture phase) Escape tracker. The popover renders in a portal, so
64
+ * its Escape does not bubble back to the table; observing on the document lets us know when to
65
+ * return focus to the cell.
66
+ *
67
+ * @param {Document} doc - The document to bind the keydown listener to.
68
+ */
69
+ attachEscapeTracker(doc) {
70
+ doc.addEventListener('keydown', this.handleDocumentKeydown, { capture: true });
71
+ this.keydownListenerDocument = doc;
72
+ }
73
+ /**
74
+ * Removes the document-level Escape tracker if one was registered.
75
+ */
76
+ detachEscapeTracker() {
77
+ if (this.keydownListenerDocument) {
78
+ this.keydownListenerDocument.removeEventListener('keydown', this.handleDocumentKeydown, {
79
+ capture: true,
80
+ });
81
+ this.keydownListenerDocument = null;
82
+ }
83
+ }
84
+ /**
85
+ * Whether the given event originated inside this popover's subtree. Subclasses override this to
86
+ * match their own portal-rendered content; the base returns `false` so renderers that do not move
87
+ * focus never arm the restore.
88
+ *
89
+ * @param {Event} _event - The event to test.
90
+ * @returns {boolean} `true` when the event originated inside the popover subtree.
91
+ */
92
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
93
+ isEventWithinPopover(_event) {
94
+ return false;
95
+ }
96
+ /**
97
+ * When the popover hides after an Escape press, returns focus (and the caret) to the table cell
98
+ * that had focus before the popover was opened.
99
+ *
100
+ * vegaPopoverHide fires synchronously from the popover's own Escape handler, before the
101
+ * document-capture keydown observes the key and before the popover settles focus on `<body>`.
102
+ * Defer past that so the flag is set and this focus restore wins.
103
+ */
104
+ restoreFocusOnEscapeHide() {
105
+ // eslint-disable-next-line no-restricted-globals
106
+ setTimeout(() => {
107
+ const shouldRestore = this.escapePressed;
108
+ const cell = this.returnFocusCell;
109
+ this.escapePressed = false;
110
+ this.returnFocusCell = null;
111
+ if (shouldRestore && cell && cell.isConnected) {
112
+ this.restoreFocusToCell(cell);
113
+ }
114
+ }, 0);
115
+ }
116
+ /**
117
+ * Focuses the given table cell and collapses the caret at its start.
118
+ *
119
+ * @param {HTMLElement} cell - The table cell to focus.
120
+ */
121
+ restoreFocusToCell(cell) {
122
+ var _a, _b, _c;
123
+ cell.focus();
124
+ const extensionContext = this.getTableExtensionContext();
125
+ const selection = (_c = (_a = extensionContext === null || extensionContext === void 0 ? void 0 : extensionContext.getSelection()) !== null && _a !== void 0 ? _a : (_b = cell.ownerDocument) === null || _b === void 0 ? void 0 : _b.getSelection()) !== null && _c !== void 0 ? _c : null;
126
+ if (selection) {
127
+ const range = new Range();
128
+ range.setStart(cell, 0);
129
+ range.setEnd(cell, 0);
130
+ selection.removeAllRanges();
131
+ selection.addRange(range);
132
+ }
133
+ }
134
+ /**
135
+ * Resolves the `.rich-text-content` editor root to toggle `inert` on while the popover holds focus.
136
+ * Subclasses override this because they reach the content from different anchors (the toolbar's
137
+ * target vs. the current table ref); the base returns `null` so renderers that do not use inert are
138
+ * unaffected.
139
+ *
140
+ * @returns {Nullable<HTMLElement>} The editor content element, or `null` when it cannot be resolved.
141
+ */
142
+ getInertContentTarget() {
143
+ return null;
144
+ }
145
+ /**
146
+ * Toggles `inert` on the editor content region while the popover holds keyboard/VoiceOver focus.
147
+ * Safari VoiceOver keeps its reading cursor anchored to the cell caret and does not follow the
148
+ * programmatic focus moved into the popover; making the editor content inert removes that text
149
+ * context so the VoiceOver cursor lands inside the popover. The popover is a body-level portal, so it
150
+ * is not a descendant of the inert content and stays interactive.
151
+ *
152
+ * @param {boolean} inert - Whether the editor content should be inert.
153
+ */
154
+ setEditorContentInert(inert) {
155
+ if (inert) {
156
+ const content = this.getInertContentTarget();
157
+ if (content) {
158
+ content.setAttribute('inert', '');
159
+ this.inertedContentEl = content;
160
+ }
161
+ }
162
+ else if (this.inertedContentEl) {
163
+ this.inertedContentEl.removeAttribute('inert');
164
+ this.inertedContentEl = null;
165
+ }
166
+ }
19
167
  }