@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
@@ -15,7 +15,7 @@ export class RTETableBlockRenderer extends VegaRTEExtensionRenderer {
15
15
  */
16
16
  doRender(h, renderData, rteContext) {
17
17
  let tableRef;
18
- const table = this.renderTable(h, renderData, (ref) => (tableRef = ref));
18
+ const table = this.renderTable(h, renderData, (ref) => (tableRef = ref), rteContext);
19
19
  this.renderTableToolbar(rteContext);
20
20
  const tableAnnotation = renderData.getAnnotationByType(RTETableExtensionAnnotationTypeEnum.TABLE);
21
21
  const children = rteContext.editable
@@ -39,9 +39,16 @@ export class RTETableBlockRenderer extends VegaRTEExtensionRenderer {
39
39
  }
40
40
  },
41
41
  }, [
42
- // Add an extra div as slot container, to make sure the cursor can move to before/end of the table.
42
+ // The table is a fully non-editable "widget" wrapped by a
43
+ // `<div contenteditable="false">`: there is NO editable element wrapping the
44
+ // table, so Chrome/VoiceOver exposes it as a real table ("table, N columns, M
45
+ // rows") instead of flattening it into the surrounding text entry area. The
46
+ // <table> stays a plain, semantically clean table and each cell re-enables editing
47
+ // via contentEditable=true. The cursor moves to before/after the table via the
48
+ // adjacent paragraphs in the editor content, treating the table as an atomic widget.
43
49
  h('div', {
44
- contentEditable: true,
50
+ class: 'v-rte--extension-table-widget',
51
+ contentEditable: false,
45
52
  ref: this.useRef(renderData),
46
53
  }, [table]),
47
54
  ]),
@@ -55,6 +62,11 @@ export class RTETableBlockRenderer extends VegaRTEExtensionRenderer {
55
62
  }
56
63
  const result = h('div', {
57
64
  class: 'v-rte--extension-table-container',
65
+ // The container is `display: table` (for shrink-to-fit centering), which WebKit maps to an
66
+ // AXTable. Without this, Safari VoiceOver lands its cursor on the container (or groups up to
67
+ // the widget host) instead of the real `<table>`. `role="presentation"` strips the container's
68
+ // implicit table semantics so VO descends to `table.v-rte--extension-table` like Chrome does.
69
+ role: 'presentation',
58
70
  style: Object.assign({}, containerStyle),
59
71
  }, children);
60
72
  /**
@@ -83,17 +95,151 @@ export class RTETableBlockRenderer extends VegaRTEExtensionRenderer {
83
95
  * @param {VegaRTECreateElementFunction} h - The create element function.
84
96
  * @param {RTETableBlock} renderData - The table block to render.
85
97
  * @param {(ref: HTMLElement) => HTMLElement} setTableRef - Set table ref to tableRef
98
+ * @param {RTERenderContext} rteContext - The rendering context of the rich text editor.
86
99
  * @returns {VegaRTERenderResult} - The rendered table element.
87
100
  */
88
- renderTable(h, renderData, setTableRef) {
101
+ renderTable(h, renderData, setTableRef, rteContext) {
89
102
  var _a;
90
- return h('table', Object.assign(Object.assign({ key: renderData.id }, (_a = renderData.getCustomAttributesAnnotation()) === null || _a === void 0 ? void 0 : _a.render()), { style: renderData.getStyles(), class: renderData.getClasses(),
103
+ const editable = !!rteContext.editable;
104
+ return h('table', Object.assign(Object.assign(Object.assign(Object.assign({ key: renderData.id }, (_a = renderData.getCustomAttributesAnnotation()) === null || _a === void 0 ? void 0 : _a.render()), { style: renderData.getStyles(), class: renderData.getClasses() }), (editable
105
+ ? {
106
+ // eslint-disable-next-line jsdoc/require-jsdoc
107
+ onClick: (event) => this.handleTableActivate(event, rteContext),
108
+ // eslint-disable-next-line jsdoc/require-jsdoc
109
+ onKeyDown: (event) => this.handleTableKeyDown(event, rteContext, renderData),
110
+ }
111
+ : undefined)), {
91
112
  // eslint-disable-next-line jsdoc/require-jsdoc
92
113
  ref: (ref) => {
93
114
  this.useRef(renderData)(ref);
94
115
  setTableRef(ref);
95
116
  } }));
96
117
  }
118
+ /**
119
+ * Handles activation of the table itself (e.g. VoiceOver Ctrl+Option+Space, which dispatches a
120
+ * click on the focused table) by moving focus into the first cell so the user can start editing.
121
+ *
122
+ * @param {MouseEvent} event - The click event dispatched on the table.
123
+ * @param {RTERenderContext} rteContext - The rendering context of the rich text editor.
124
+ */
125
+ handleTableActivate(event, rteContext) {
126
+ const tableRef = event.currentTarget;
127
+ // Only treat this as "activate the table" when the click truly targets the table element
128
+ // itself — i.e. VoiceOver Ctrl+Option+Space (which dispatches a click on the focused table)
129
+ // or a click on the table's own padding/border. Clicks that bubble up from editable
130
+ // descendants (cells, or the supported <caption>) keep their native contentEditable caret
131
+ // placement, so we must not force focus into the first cell and break that interaction.
132
+ if (event.target !== event.currentTarget) {
133
+ return;
134
+ }
135
+ this.focusFirstCell(tableRef, rteContext);
136
+ }
137
+ /**
138
+ * Handles table-scoped keyboard shortcuts while focus is inside the table:
139
+ * - Alt+F10 opens the table setting toolbar (re-targeting and showing it when needed) and moves
140
+ * focus to it (the common "focus the contextual toolbar" shortcut), so keyboard/screen-reader
141
+ * users can reach the toolbar buttons even when it is currently closed.
142
+ * - Escape moves focus back onto the table, so the caret leaves the cell (its focus highlight
143
+ * is cleared), the contextual setting toolbar is dismissed, and screen readers announce the
144
+ * table again.
145
+ *
146
+ * @param {KeyboardEvent} event - The keydown event.
147
+ * @param {RTERenderContext} rteContext - The rendering context of the rich text editor.
148
+ * @param {RTETableBlock} renderData - The table block being rendered.
149
+ */
150
+ handleTableKeyDown(event, rteContext, renderData) {
151
+ var _a, _b;
152
+ if (event.altKey && event.key === 'F10') {
153
+ event.preventDefault();
154
+ event.stopPropagation();
155
+ const tableRef = event.currentTarget;
156
+ const f10Target = event.target;
157
+ const f10Cell = f10Target
158
+ ? f10Target.closest('td, th')
159
+ : null;
160
+ (_a = this.tableToolbar) === null || _a === void 0 ? void 0 : _a.openSettingToolbarForKeyboard(renderData, () => tableRef, f10Cell);
161
+ return;
162
+ }
163
+ if (event.key !== 'Escape') {
164
+ return;
165
+ }
166
+ const tableRef = event.currentTarget;
167
+ const target = event.target;
168
+ const cell = target
169
+ ? target.closest('td, th')
170
+ : null;
171
+ if (!cell || !tableRef.contains(cell)) {
172
+ return;
173
+ }
174
+ event.preventDefault();
175
+ event.stopPropagation();
176
+ this.focusTable(tableRef, rteContext);
177
+ // Focus moved from the cell back onto the table, so dismiss the contextual setting toolbar
178
+ // that may have been opened (e.g. by activating the table) — otherwise it lingers with no
179
+ // focused cell to act on.
180
+ (_b = this.tableToolbar) === null || _b === void 0 ? void 0 : _b.hide();
181
+ }
182
+ /**
183
+ * Moves focus (and the caret) into the first cell of the table.
184
+ *
185
+ * @param {HTMLElement} tableRef - The table element.
186
+ * @param {RTERenderContext} rteContext - The rendering context of the rich text editor.
187
+ */
188
+ focusFirstCell(tableRef, rteContext) {
189
+ const firstCell = tableRef.querySelector('td, th');
190
+ if (!firstCell) {
191
+ return;
192
+ }
193
+ firstCell.focus();
194
+ const selection = this.getSelection(rteContext, tableRef);
195
+ if (selection) {
196
+ // Collapse the caret at the start of the cell content so the user can start typing.
197
+ const range = new Range();
198
+ range.setStart(firstCell, 0);
199
+ range.setEnd(firstCell, 0);
200
+ selection.removeAllRanges();
201
+ selection.addRange(range);
202
+ }
203
+ }
204
+ /**
205
+ * Moves focus onto the table element and clears any cell caret and selection highlight.
206
+ *
207
+ * @param {HTMLElement} tableRef - The table element.
208
+ * @param {RTERenderContext} rteContext - The rendering context of the rich text editor.
209
+ */
210
+ focusTable(tableRef, rteContext) {
211
+ var _a;
212
+ const selection = this.getSelection(rteContext, tableRef);
213
+ selection === null || selection === void 0 ? void 0 : selection.removeAllRanges();
214
+ const extensionContext = this.getExtensionContext(rteContext.host);
215
+ (_a = extensionContext === null || extensionContext === void 0 ? void 0 : extensionContext.tableSelection) === null || _a === void 0 ? void 0 : _a.setSelectedCells([]);
216
+ // The table is contentEditable=false, so it is not focusable by default. Add tabindex ONLY
217
+ // while moving focus onto it, and remove it again on blur, so that during normal navigation
218
+ // VoiceOver still announces it as "table, N columns, M rows" rather than a focusable widget.
219
+ tableRef.setAttribute('tabindex', '-1');
220
+ // eslint-disable-next-line jsdoc/require-jsdoc
221
+ const removeTabindex = () => {
222
+ tableRef.removeAttribute('tabindex');
223
+ tableRef.removeEventListener('blur', removeTabindex);
224
+ };
225
+ tableRef.addEventListener('blur', removeTabindex);
226
+ tableRef.focus();
227
+ }
228
+ /**
229
+ * Resolves the editor selection, preferring the shadow-aware selection from the extension
230
+ * context and falling back to the table's owning document.
231
+ *
232
+ * @param {RTERenderContext} rteContext - The rendering context of the rich text editor.
233
+ * @param {HTMLElement} tableRef - The table element.
234
+ * @returns {Nullable<Selection>} - The resolved selection, or null when unavailable.
235
+ */
236
+ getSelection(rteContext, tableRef) {
237
+ const extensionContext = this.getExtensionContext(rteContext.host);
238
+ if (extensionContext) {
239
+ return extensionContext.getSelection();
240
+ }
241
+ return tableRef.ownerDocument ? tableRef.ownerDocument.getSelection() : null;
242
+ }
97
243
  /**
98
244
  * Handles the removal of the table block.
99
245
  *
@@ -6,7 +6,7 @@ import { RowOperationEventHandler } from '../setting-event-handlers/row-operatio
6
6
  import { CaptionOperationEventHandler } from '../setting-event-handlers/caption-operation';
7
7
  import { ColumnOperationEventHandler } from '../setting-event-handlers/column-operation';
8
8
  import { DomNodeSubjectObserverFactory } from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
9
- import { VegaPopoverShow } from '../../../../../helpers/event-manager/event-id/vega-event-id';
9
+ import { VegaPopoverShow, VegaPopoverHide, } from '../../../../../helpers/event-manager/event-id/vega-event-id';
10
10
  import { TableDynamicPopoverRenderer } from './table-dynamic-popover-renderer';
11
11
  import { MergeCellsOperationEventHandler } from '../setting-event-handlers/merge-cells-operation';
12
12
  import { SplitCellOperationEventHandler } from '../setting-event-handlers/split-cell-operation';
@@ -57,6 +57,62 @@ export class TableSettingPopoverRenderer extends TablePopoverBaseRenderer {
57
57
  this.tableSettingRef.selectedCells = this.getTableSelectedCells();
58
58
  }
59
59
  };
60
+ /**
61
+ * Hides the table setting toolbar and its dynamic popover. Used when focus leaves the table (e.g.
62
+ * Escape moves focus from a cell back onto the table) so the contextual toolbar does not linger.
63
+ */
64
+ this.hide = () => {
65
+ var _a;
66
+ void this.tableDynamicPopover.hide();
67
+ void ((_a = this.popoverRef) === null || _a === void 0 ? void 0 : _a.hide());
68
+ };
69
+ /**
70
+ * Opens the table setting toolbar for keyboard/screen-reader users and moves focus to its first
71
+ * enabled button. Used by the Alt+F10 shortcut so the toolbar can be reached from inside a cell
72
+ * even when it is currently closed: it re-targets and shows the popover (the same path as a table
73
+ * click) before deferring focus to the first enabled button.
74
+ *
75
+ * @param {RTETableBlock} tableBlock - The table's block data.
76
+ * @param {() => HTMLElement} getTableRef - Getter for the table's DOM element.
77
+ * @param {Nullable<HTMLElement>} returnCell - The cell to return focus to if the toolbar is dismissed with Escape.
78
+ */
79
+ this.openSettingToolbarForKeyboard = (tableBlock, getTableRef, returnCell) => {
80
+ // Re-target and show the popover through the same path as a table click so the toolbar is
81
+ // actually visible before focus lands on it — otherwise focus would be pushed onto a hidden
82
+ // or stale toolbar that isn't shown.
83
+ this.reTarget(tableBlock, getTableRef);
84
+ void this.tableDynamicPopover.hide();
85
+ remoteInvocationRegistry.call(domNodeSubjectFactory.getSubject(this.popoverRef, VegaInternalPopoverUpdateTarget), getTableRef());
86
+ void this.popoverRef.show(true);
87
+ this.focusFirstSettingButton(returnCell);
88
+ };
89
+ /**
90
+ * Moves focus to the first enabled button in the table setting toolbar. Used by the Alt+F10
91
+ * shortcut so keyboard and screen-reader users can reach the toolbar from inside the table.
92
+ *
93
+ * @param {Nullable<HTMLElement>} returnCell - The cell to return focus to if the toolbar is dismissed with Escape.
94
+ */
95
+ this.focusFirstSettingButton = (returnCell) => {
96
+ var _a, _b;
97
+ // Remember the cell to return focus to if the toolbar is dismissed with Escape, and clear any
98
+ // stale Escape recorded before the toolbar was focused.
99
+ this.beginReturnFocusTracking(returnCell);
100
+ // Safari VoiceOver ignores the toolbar's aria-modal and keeps driving a caret through the still
101
+ // editable content, so on Ctrl+Opt+Right it walks the DOM caret out of the table into the editor
102
+ // instead of staying on the toolbar. Clear the caret AND make the editor content inert so there is
103
+ // no text context for VoiceOver to advance; the inert flag is lifted again when the toolbar hides.
104
+ (_b = (_a = this.getTableExtensionContext()) === null || _a === void 0 ? void 0 : _a.getSelection()) === null || _b === void 0 ? void 0 : _b.removeAllRanges();
105
+ this.setEditorContentInert(true);
106
+ // The popover reveals its content asynchronously, so defer to the next tick to make sure
107
+ // the setting buttons are present and focusable.
108
+ // eslint-disable-next-line no-restricted-globals
109
+ setTimeout(() => {
110
+ var _a, _b, _c;
111
+ const buttons = Array.from((_c = (_b = (_a = this.tableSettingRef) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('.rte-table-setting-item')) !== null && _c !== void 0 ? _c : []);
112
+ const firstEnabled = buttons.find((button) => !button.hasAttribute('disabled'));
113
+ firstEnabled === null || firstEnabled === void 0 ? void 0 : firstEnabled.focus();
114
+ }, 0);
115
+ };
60
116
  /**
61
117
  * Handles setting menu click events.
62
118
  *
@@ -69,11 +125,16 @@ export class TableSettingPopoverRenderer extends TablePopoverBaseRenderer {
69
125
  extensionContext && handler.execute(event.detail, extensionContext, this.tableBlock);
70
126
  if (event.detail[0] === TableSettingType.CAPTION) {
71
127
  this.updateTableSettingCaption();
128
+ this.moveFocusToCaption();
72
129
  }
73
130
  }
74
131
  if (event.detail[0] === TableSettingType.TABLE || event.detail[0] === TableSettingType.CELL) {
132
+ // Capture the return cell before hiding the setting popover, whose own hide handler clears
133
+ // it, so the properties dialog can move focus into itself and restore it to the cell on
134
+ // Escape for keyboard/screen-reader users.
135
+ const returnCell = this.returnFocusCell;
75
136
  void this.popoverRef.hide();
76
- void this.tableDynamicPopover.show(event.detail[0]);
137
+ void this.tableDynamicPopover.show(event.detail[0], returnCell);
77
138
  }
78
139
  };
79
140
  /**
@@ -81,6 +142,17 @@ export class TableSettingPopoverRenderer extends TablePopoverBaseRenderer {
81
142
  */
82
143
  this.handleTableSettingPopoverShow = () => {
83
144
  this.syncSelectedCells();
145
+ this.labelSettingDialog();
146
+ };
147
+ /**
148
+ * When the setting popover hides after an Escape press, returns focus (and the caret) to the
149
+ * table cell that had focus before the toolbar was reached via Alt+F10.
150
+ */
151
+ this.handleTableSettingPopoverHide = () => {
152
+ // Lift the inert guard on the editor content synchronously, before any focus restore runs, so the
153
+ // cell (or the properties dialog) can receive focus and the editor is interactive again.
154
+ this.setEditorContentInert(false);
155
+ this.restoreFocusOnEscapeHide();
84
156
  };
85
157
  this.tableDynamicPopover = new TableDynamicPopoverRenderer(RTETableColorManager.getTableColors(), renderContext);
86
158
  }
@@ -89,6 +161,8 @@ export class TableSettingPopoverRenderer extends TablePopoverBaseRenderer {
89
161
  */
90
162
  destroy() {
91
163
  this.tableDynamicPopover.destroy();
164
+ this.setEditorContentInert(false);
165
+ this.detachEscapeTracker();
92
166
  if (this.popoverContainer) {
93
167
  this.popoverContainer.remove();
94
168
  }
@@ -109,6 +183,10 @@ export class TableSettingPopoverRenderer extends TablePopoverBaseRenderer {
109
183
  popover.isScreenPosition = true;
110
184
  popover.className = 'rte-table-setting-popover';
111
185
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(popover, VegaPopoverShow, this.handleTableSettingPopoverShow);
186
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(popover, VegaPopoverHide, this.handleTableSettingPopoverHide);
187
+ // Escape inside the popover (rendered in a portal) does not bubble back to the table, so
188
+ // observe it on the document (capture phase) to know when to return focus to the cell.
189
+ this.attachEscapeTracker(safeDocument);
112
190
  const slotDiv = safeDocument.createElement('div');
113
191
  slotDiv.setAttribute('slot', 'popover');
114
192
  const tableSetting = safeDocument.createElement('vega-rich-text-table-setting');
@@ -121,6 +199,25 @@ export class TableSettingPopoverRenderer extends TablePopoverBaseRenderer {
121
199
  this.tableSettingRef = tableSetting;
122
200
  }
123
201
  }
202
+ /**
203
+ * Whether the given event originated inside the setting toolbar subtree.
204
+ *
205
+ * @param {Event} event - The event to test.
206
+ * @returns {boolean} `true` when the toolbar is rendered and the event's composed path includes it.
207
+ */
208
+ isEventWithinPopover(event) {
209
+ return !!this.tableSettingRef && event.composedPath().includes(this.tableSettingRef);
210
+ }
211
+ /**
212
+ * Resolves the `.rich-text-content` editor root from the setting toolbar's target so the content
213
+ * can be made inert while the toolbar holds keyboard/VoiceOver focus.
214
+ *
215
+ * @returns {Nullable<HTMLElement>} The editor content element, or `null` when it cannot be resolved.
216
+ */
217
+ getInertContentTarget() {
218
+ var _a, _b, _c;
219
+ return (_c = (_b = (_a = this.tableSettingRef) === null || _a === void 0 ? void 0 : _a.target) === null || _b === void 0 ? void 0 : _b.closest('.rich-text-content')) !== null && _c !== void 0 ? _c : null;
220
+ }
124
221
  /**
125
222
  * Updates the table setting component caption state to match the current table data.
126
223
  */
@@ -130,6 +227,35 @@ export class TableSettingPopoverRenderer extends TablePopoverBaseRenderer {
130
227
  this.tableSettingRef.hasCaption = hasCaption;
131
228
  }
132
229
  }
230
+ /**
231
+ * When the caption is toggled on, moves keyboard/VoiceOver focus and the caret into the caption so
232
+ * the user lands in it to start typing. The setting toolbar is opened as inert-guarded for
233
+ * keyboard/screen-reader users, so lift that guard first; the caption is re-rendered by the toggle,
234
+ * so defer the focus to the next tick when the `<caption>` element exists.
235
+ */
236
+ moveFocusToCaption() {
237
+ if (!this.tableBlock.hasCaption()) {
238
+ return;
239
+ }
240
+ this.setEditorContentInert(false);
241
+ // eslint-disable-next-line no-restricted-globals
242
+ setTimeout(() => {
243
+ var _a, _b, _c, _d, _e, _f, _g;
244
+ const caption = (_c = (_b = (_a = this.tableSettingRef) === null || _a === void 0 ? void 0 : _a.target) === null || _b === void 0 ? void 0 : _b.querySelector('caption')) !== null && _c !== void 0 ? _c : null;
245
+ if (!caption) {
246
+ return;
247
+ }
248
+ caption.focus();
249
+ const selection = (_g = (_e = (_d = this.getTableExtensionContext()) === null || _d === void 0 ? void 0 : _d.getSelection()) !== null && _e !== void 0 ? _e : (_f = caption.ownerDocument) === null || _f === void 0 ? void 0 : _f.getSelection()) !== null && _g !== void 0 ? _g : null;
250
+ if (selection) {
251
+ const range = new Range();
252
+ range.selectNodeContents(caption);
253
+ range.collapse(false);
254
+ selection.removeAllRanges();
255
+ selection.addRange(range);
256
+ }
257
+ }, 0);
258
+ }
133
259
  /**
134
260
  * Re-targets the shared popovers to the given table.
135
261
  *
@@ -144,6 +270,22 @@ export class TableSettingPopoverRenderer extends TablePopoverBaseRenderer {
144
270
  this.tableDynamicPopover.reTarget(tableBlock, getTableRef);
145
271
  }
146
272
  }
273
+ /**
274
+ * `vega-popover-content-box` renders `role="dialog"` + `aria-modal="true"`, which on WebKit
275
+ * VoiceOver confines the reading cursor to the popover. Keep those semantics so Ctrl+Opt+Arrow
276
+ * cannot walk the VoiceOver cursor out of the toolbar past the last button (VoiceOver swallows
277
+ * those keys, so this cannot be trapped in JS), and give the dialog an accessible name so it
278
+ * announces "Table tools" on entry.
279
+ */
280
+ labelSettingDialog() {
281
+ var _a, _b;
282
+ const dialog = (_b = (_a = this.tableSettingRef) === null || _a === void 0 ? void 0 : _a.closest('vega-popover-content-box')) !== null && _b !== void 0 ? _b : null;
283
+ if (dialog) {
284
+ dialog.setAttribute('role', 'dialog');
285
+ dialog.setAttribute('aria-modal', 'true');
286
+ dialog.setAttribute('aria-label', 'Table tools');
287
+ }
288
+ }
147
289
  /**
148
290
  * Collects and returns the currently selected table cells.
149
291
  *
@@ -366,11 +366,36 @@ export class RTETableSelection {
366
366
  const commonAncestorContainer = range.commonAncestorContainer;
367
367
  const rangeInTable = !!findParent(commonAncestorContainer, `table`);
368
368
  if (rangeInTable) {
369
- const selectedCells = this.filterSelectedCell(range, commonAncestorContainer);
369
+ let selectedCells = this.filterSelectedCell(range, commonAncestorContainer);
370
+ if (selectedCells.length === 0) {
371
+ // A collapsed caret placed at an element boundary (e.g. keyboard/VoiceOver entry via
372
+ // Ctrl+Option+Space) does not intersect a text node, so filterSelectedCell finds nothing
373
+ // on browsers that keep the caret on the element (Firefox) instead of normalizing it into
374
+ // the text node (Chrome). Resolve the containing cell directly so the setting toolbar is
375
+ // still enabled.
376
+ selectedCells = this.resolveCaretCell(commonAncestorContainer);
377
+ }
370
378
  this.setSelectedCells(selectedCells);
371
379
  }
372
380
  }
373
381
  }
382
+ /**
383
+ * Resolve the single table cell that contains the given selection node. Used as a fallback when a
384
+ * collapsed caret does not intersect any text node (see handleSelectionChange).
385
+ *
386
+ * @param {Node} node - The selection's common ancestor container.
387
+ * @returns {RTETableCellBlock[]} The containing cell block, or an empty list when none is found.
388
+ */
389
+ resolveCaretCell(node) {
390
+ var _a;
391
+ const startElement = node.nodeType === Node.TEXT_NODE ? node.parentElement : node;
392
+ const cellRef = (_a = startElement === null || startElement === void 0 ? void 0 : startElement.closest('td, th')) !== null && _a !== void 0 ? _a : null;
393
+ if (!cellRef) {
394
+ return [];
395
+ }
396
+ const cellBlock = stateEntityRenderingRegistry.getEntityByDOM(cellRef);
397
+ return cellBlock ? [cellBlock] : [];
398
+ }
374
399
  /**
375
400
  * Mark the beginning of a drag operation.
376
401
  */
@@ -18,6 +18,7 @@ export class RTETableToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer
18
18
  return createTablePopoverRenderer.render(h, super.renderButton(h, editorContext, {
19
19
  showArrowIcon: true,
20
20
  icon: 'rte-table',
21
+ ariaLabel: 'Table',
21
22
  tooltip: { text: 'Insert table' },
22
23
  }));
23
24
  }
@@ -76,8 +76,17 @@ export class VegaRichTextCellPropertiesFormFieldRenderer extends VegaRichTextTab
76
76
  return (h("div", { class: "text-alignment-container" },
77
77
  h("vega-font", { variant: "font-field-label", color: "text-primary" }, "Text Alignment"),
78
78
  h("vega-flex", { direction: "row", gap: "size-16" },
79
- this.renderAlignmentField(['left', 'center', 'right', 'justify'], 'align-', 'textAlign'),
80
- this.renderAlignmentField(['top', 'middle', 'bottom'], 'align-', 'verticalAlign'))));
79
+ this.renderAlignmentField(['left', 'center', 'right', 'justify'], 'align-', 'textAlign', {
80
+ left: this.translationSlimmer.t('Align text left'),
81
+ center: this.translationSlimmer.t('Align text center'),
82
+ right: this.translationSlimmer.t('Align text right'),
83
+ justify: this.translationSlimmer.t('Justify text'),
84
+ }),
85
+ this.renderAlignmentField(['top', 'middle', 'bottom'], 'align-', 'verticalAlign', {
86
+ top: this.translationSlimmer.t('Align vertically top'),
87
+ middle: this.translationSlimmer.t('Align vertically middle'),
88
+ bottom: this.translationSlimmer.t('Align vertically bottom'),
89
+ }))));
81
90
  }
82
91
  /**
83
92
  * Merge form data with style map for all selected cell blocks.
@@ -182,11 +182,11 @@ export class VegaRichTextTablePropertiesBaseFormFieldRenderer extends VegaSlimme
182
182
  h("vega-input", { ref: this.handleFormChange, "data-vega-form": "height", label: "Height", validationRules: this.dimensionFieldValidationRule }),
183
183
  withPadding && (h("vega-input", { ref: this.handleFormChange, "data-vega-form": "padding", label: "Padding", validationRules: this.dimensionFieldValidationRule }))));
184
184
  }
185
- renderAlignmentField(alignmentList, iconPrefix, formFieldName) {
185
+ renderAlignmentField(alignmentList, iconPrefix, formFieldName, ariaLabelMap) {
186
186
  return (h("vega-flex", { direction: "row", gap: "0", class: "text-alignment-button-group" },
187
187
  h("vega-input", { ref: this.handleFormChange, "data-vega-form": formFieldName, type: "hidden" }),
188
188
  alignmentList.map((key) => {
189
- return (h("button", { "data-id": key, "data-form-field-name": formFieldName, class: `text-alignment-${key}`, onClick: this.handleAlignmentButtonClick },
189
+ return (h("button", { "data-id": key, "data-form-field-name": formFieldName, class: `text-alignment-${key}`, "aria-label": ariaLabelMap[key], onClick: this.handleAlignmentButtonClick },
190
190
  h("vega-icon", { icon: VegaInternalIconManager.getIconKey(`${iconPrefix}${key}`) })));
191
191
  })));
192
192
  }
@@ -274,6 +274,9 @@ __decorate([
274
274
  __decorate([
275
275
  MapToComponentField()
276
276
  ], VegaRichTextTablePropertiesBaseFormFieldRenderer.prototype, "defaultValue", void 0);
277
+ __decorate([
278
+ MapToComponentField()
279
+ ], VegaRichTextTablePropertiesBaseFormFieldRenderer.prototype, "translationSlimmer", void 0);
277
280
  __decorate([
278
281
  MapToComponentField()
279
282
  ], VegaRichTextTablePropertiesBaseFormFieldRenderer.prototype, "renderer", void 0);
@@ -53,6 +53,10 @@ export class VegaRichTextTablePropertiesFormFieldRenderer extends VegaRichTextTa
53
53
  renderTextAlignmentField() {
54
54
  return (h("div", { class: "text-alignment-container" },
55
55
  h("vega-font", { variant: "font-field-label", color: "text-primary" }, "Alignment"),
56
- h("vega-flex", { direction: "row", gap: "size-16" }, this.renderAlignmentField(['left', 'center', 'right'], 'objects-align-', 'textAlign'))));
56
+ h("vega-flex", { direction: "row", gap: "size-16" }, this.renderAlignmentField(['left', 'center', 'right'], 'objects-align-', 'textAlign', {
57
+ left: this.translationSlimmer.t('Align table left'),
58
+ center: this.translationSlimmer.t('Align table center'),
59
+ right: this.translationSlimmer.t('Align table right'),
60
+ }))));
57
61
  }
58
62
  }
@@ -70,6 +70,11 @@
70
70
  background-color: rgba(var(--v-bg-quaternary, 241, 248, 251, 1));
71
71
  z-index: 1;
72
72
  }
73
+ :host .text-alignment-button-group button:focus-visible {
74
+ outline: 2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));
75
+ outline-offset: -2px;
76
+ z-index: 2;
77
+ }
73
78
  :host .text-alignment-button-group vega-input[value=left] ~ .text-alignment-left,
74
79
  :host .text-alignment-button-group vega-input[value=center] ~ .text-alignment-center,
75
80
  :host .text-alignment-button-group vega-input[value=right] ~ .text-alignment-right,
@@ -17,6 +17,7 @@ import { VegaRichTextTablePropertiesFormFieldRenderer } from './slimmers/rendere
17
17
  import { VegaRichTextCellPropertiesFormFieldRenderer } from './slimmers/renderers/vega-rich-text-cell-properties-form-field-renderer';
18
18
  import { VegaInternalThemeManager } from '../../../../../helpers/theme/internal-theme-manager';
19
19
  import { DarkModeStateControllerSlimmer } from '../../../../../helpers/slimmers/dark-mode-state-controller-slimmer';
20
+ import { AriaAttributesValueMapper } from '../../../../../helpers/slimmers/mutation-observer/aria-attributes-value-mapper';
20
21
  /**
21
22
  * @vegaVersion 2.79.0
22
23
  */
@@ -30,6 +31,17 @@ export class VegaRichTextTableProperties {
30
31
  this.cellFormRenderer = new VegaRichTextCellPropertiesFormFieldRenderer();
31
32
  this.controller = new TableColorController();
32
33
  this.darkModeStateSlimmer = new DarkModeStateControllerSlimmer();
34
+ this.ariaAttributesValueMapper = new AriaAttributesValueMapper(() => this.host, {
35
+ 'aria-label': {
36
+ dependency: ['data-aria-label'],
37
+ // Derive the fallback accessible name from `type` so the component
38
+ // announces the correct form even when consumers don't set
39
+ // `data-aria-label` explicitly.
40
+ defaultValue: () => this.type === 'CELL'
41
+ ? this.translationSlimmer.t('Cell properties')
42
+ : this.translationSlimmer.t('Table properties'),
43
+ },
44
+ });
33
45
  this.changeEventPreventSlimmer = new ChildNodesEventPreventSlimmer([VegaChange], () => this.renderer.getFormRef());
34
46
  this.isInDarkMode = VegaInternalThemeManager.isDarkMode();
35
47
  /**
@@ -45,7 +57,7 @@ export class VegaRichTextTableProperties {
45
57
  methodPlaceholder(newValue);
46
58
  }
47
59
  render() {
48
- return sanitizeVegaComponent(h(Host, null, this.renderer.render()), this.host);
60
+ return sanitizeVegaComponent(h(Host, { role: "form" }, this.renderer.render()), this.host);
49
61
  }
50
62
  static get is() { return "vega-rich-text-table-properties"; }
51
63
  static get encapsulation() { return "shadow"; }
@@ -246,6 +258,9 @@ __decorate([
246
258
  __decorate([
247
259
  InjectVegaSlimmer()
248
260
  ], VegaRichTextTableProperties.prototype, "darkModeStateSlimmer", void 0);
261
+ __decorate([
262
+ InjectVegaSlimmer()
263
+ ], VegaRichTextTableProperties.prototype, "ariaAttributesValueMapper", void 0);
249
264
  __decorate([
250
265
  InjectVegaSlimmer()
251
266
  ], VegaRichTextTableProperties.prototype, "changeEventPreventSlimmer", void 0);
@@ -9,6 +9,7 @@ export class CaptionButtonSlimmer extends TableSettingButtonSlimmer {
9
9
  icon: 'rte-table-caption',
10
10
  title: 'caption off',
11
11
  showArrowIcon: false,
12
+ ariaLabel: 'Insert/Edit Caption',
12
13
  });
13
14
  }
14
15
  isSelected() {
@@ -9,6 +9,7 @@ export class CellPropertiesButtonSlimmer extends TableSettingButtonSlimmer {
9
9
  icon: 'rte-table-cell-properties',
10
10
  title: 'cell properties',
11
11
  showArrowIcon: false,
12
+ ariaLabel: 'Cell Properties',
12
13
  });
13
14
  }
14
15
  renderBtnWrapper(renderBtn) {
@@ -23,6 +23,7 @@ export class ColumnButtonSlimmer extends TableSettingButtonSlimmer {
23
23
  icon: 'rte-table-column',
24
24
  title: 'Column',
25
25
  showArrowIcon: true,
26
+ ariaLabel: 'Column Operations',
26
27
  });
27
28
  this.handleDropdownItemClick = (input) => {
28
29
  this.emitClickEvent([TableSettingType.COLUMN, input.detail]);
@@ -32,7 +33,7 @@ export class ColumnButtonSlimmer extends TableSettingButtonSlimmer {
32
33
  };
33
34
  }
34
35
  renderBtnWrapper(renderBtn) {
35
- return (h("vega-dropdown", { minWidth: 210, trigger: "click", ref: (el) => {
36
+ return (h("vega-dropdown", { role: "presentation", isScreenPosition: true, minWidth: 210, trigger: "click", ref: (el) => {
36
37
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownClick, this.handleDropdownItemClick);
37
38
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownShow, this.handleDropdownVisibilityChange);
38
39
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownHide, this.handleDropdownVisibilityChange);
@@ -55,15 +56,15 @@ export class ColumnButtonSlimmer extends TableSettingButtonSlimmer {
55
56
  * @returns {HTMLElement} The action list element.
56
57
  */
57
58
  renderActionList() {
59
+ const isHeaderColumnSelected = ToggleHeaderTableColumnStrategy.isFullHeaderSelection(this.selectedCells);
58
60
  return (h("div", { tabIndex: 0, role: "menu", slot: "items", onMouseDown: this.preventDefaultEvent, onKeyDown: this.preventDefaultEvent },
59
- h("vega-dropdown-item", { itemKey: ColumnOperationType.HEADER_COLUMN },
60
- h("vega-flex", { alignItems: "center", gap: "size-8" },
61
- h("vega-toggle-switch", { checked: ToggleHeaderTableColumnStrategy.isFullHeaderSelection(this.selectedCells), size: "small" }),
62
- "Header Column")),
63
- h("vega-dropdown-item", { itemKey: ColumnOperationType.ADD_COLUMN_LEFT }, "Insert column left"),
64
- h("vega-dropdown-item", { itemKey: ColumnOperationType.ADD_COLUMN_RIGHT }, "Insert column right"),
65
- h("vega-dropdown-item", { itemKey: ColumnOperationType.DELETE_COLUMN, disabled: this.allColumnSelected(this.selectedCells) }, "Delete column"),
66
- h("vega-dropdown-item", { itemKey: ColumnOperationType.SELECT_COLUMN }, "Select column")));
61
+ h("vega-dropdown-item", { itemKey: ColumnOperationType.HEADER_COLUMN, label: "Header Column" },
62
+ h("vega-flex", { alignItems: "center", gap: "size-8", "aria-hidden": "true" },
63
+ h("vega-toggle-switch", { checked: isHeaderColumnSelected, size: "small", label: "Header Column" }))),
64
+ h("vega-dropdown-item", { itemKey: ColumnOperationType.ADD_COLUMN_LEFT, label: "Insert column left" }, "Insert column left"),
65
+ h("vega-dropdown-item", { itemKey: ColumnOperationType.ADD_COLUMN_RIGHT, label: "Insert column right" }, "Insert column right"),
66
+ h("vega-dropdown-item", { itemKey: ColumnOperationType.DELETE_COLUMN, label: "Delete column", disabled: this.allColumnSelected(this.selectedCells) }, "Delete column"),
67
+ h("vega-dropdown-item", { itemKey: ColumnOperationType.SELECT_COLUMN, label: "Select column" }, "Select column")));
67
68
  }
68
69
  /**
69
70
  * Determine if all columns are selected based on the selected cell range.