@globalpayments/vega 2.98.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 (645) hide show
  1. package/dist/cjs/{accessibility-88f8af84.js → accessibility-6ca2a237.js} +21 -0
  2. package/dist/cjs/{action-color-accessibility-validator-24498816.js → action-color-accessibility-validator-b8a9ef0f.js} +2 -2
  3. package/dist/cjs/{app-globals-b3f05631.js → app-globals-48d067a7.js} +11 -10
  4. package/dist/cjs/{aria-attributes-value-mapper-9a41b9cf.js → aria-attributes-value-mapper-e8c6b0e0.js} +1 -1
  5. package/dist/cjs/{code-block-d78c2b2c.js → code-block-3b42c364.js} +95 -6
  6. package/dist/cjs/{component-global-style-slimmer-93c5fb50.js → component-global-style-slimmer-ba588eb4.js} +1 -1
  7. package/dist/cjs/{component-value-history-controller-slimmer.abstract-beb00fea.js → component-value-history-controller-slimmer.abstract-bbe3bcaf.js} +24 -5
  8. package/dist/cjs/{content-state-78a620a9.js → content-state-87a06c1a.js} +104 -8
  9. package/dist/cjs/{dark-mode-style-controller-32d4054a.js → dark-mode-style-controller-f3da3342.js} +2 -2
  10. package/dist/cjs/{date-required-rule-5250f26d.js → date-required-rule-45c802d3.js} +1 -1
  11. package/dist/cjs/{design-token-74674ee7.js → design-token-9d762da0.js} +3 -3
  12. package/dist/cjs/{element-appender-slimmer-597e9e48.js → element-appender-slimmer-f7ba5d9a.js} +2 -2
  13. package/dist/cjs/{form-field-controller-slimmer-a743be34.js → form-field-controller-slimmer-fbaddc91.js} +2 -2
  14. package/dist/cjs/{image-annotation-action-85c4bd83.js → image-annotation-action-03d3e01a.js} +7 -6
  15. package/dist/cjs/{image-extension-260fa69c.js → image-extension-ccda26d3.js} +2 -2
  16. package/dist/cjs/{index-592b4052.js → index-5d1adcd1.js} +86 -0
  17. package/dist/cjs/index.cjs.js +20 -19
  18. package/dist/cjs/{inject-keyboard-manager-6a6f5c9f.js → inject-keyboard-manager-540f0876.js} +1 -1
  19. package/dist/cjs/{internal-calendar-period-factory-dfcdd3f6.js → internal-calendar-period-factory-b11918ee.js} +1 -1
  20. package/dist/cjs/{internal-translation-controller-1dac2df8.js → internal-translation-controller-27bfc8c7.js} +17 -0
  21. package/dist/cjs/{keyboard-manager-c56033b1.js → keyboard-manager-16e96b62.js} +12 -5
  22. package/dist/cjs/{keyboard-manager-slimmer-7043a106.js → keyboard-manager-slimmer-0a4e556d.js} +1 -1
  23. package/dist/cjs/{link-extension-220ff6a9.js → link-extension-71eeaa9f.js} +26 -7
  24. package/dist/cjs/loader.cjs.js +14 -14
  25. package/dist/cjs/{month-view-generator-7b704a80.js → month-view-generator-0a3e04de.js} +1 -1
  26. package/dist/cjs/overlay-escape-coordination-901d8942.js +38 -0
  27. package/dist/cjs/{public-rules-5657bce4.js → public-rules-3dc5d02d.js} +9 -9
  28. package/dist/cjs/{range-c5afd53a.js → range-d29751e3.js} +1 -1
  29. package/dist/cjs/{responsive-format-facade-493d1763.js → responsive-format-facade-c6d7f0a1.js} +1 -1
  30. package/dist/cjs/{rich-text-editor-required-rule-385c1b61.js → rich-text-editor-required-rule-05de7f0c.js} +1 -1
  31. package/dist/cjs/{split-cell-operation-873d5db7.js → split-cell-operation-ef783850.js} +14 -4
  32. package/dist/cjs/{state-border-formatter-711c7aaa.js → state-border-formatter-dda9109a.js} +1 -1
  33. package/dist/cjs/{string-format-strategy.abstract-b61bdcbd.js → string-format-strategy.abstract-3a968a59.js} +1 -1
  34. package/dist/cjs/{string-input-formatter-slimmer-ef65cca7.js → string-input-formatter-slimmer-9747039f.js} +1 -1
  35. package/dist/cjs/{string-mask-strategy-ad3fa0ac.js → string-mask-strategy-d9f85c21.js} +2 -2
  36. package/dist/cjs/{style-formatter-8f711cb0.js → style-formatter-d21a9784.js} +2 -2
  37. package/dist/cjs/{time-required-rule-87417359.js → time-required-rule-580cbd3d.js} +1 -1
  38. package/dist/cjs/{token-extension-78b5a026.js → token-extension-8d7bd451.js} +3773 -252
  39. package/dist/cjs/{translation-slimmer-77c7f37d.js → translation-slimmer-31cd5a57.js} +1 -1
  40. package/dist/cjs/{type-guard-a57ef3ac.js → type-guard-00b8efc0.js} +1 -1
  41. package/dist/cjs/{valid-credit-card-number-rule-4c0a3040.js → valid-credit-card-number-rule-70885128.js} +1 -1
  42. package/dist/cjs/vega-accordion.cjs.entry.js +6 -6
  43. package/dist/cjs/vega-app-footer.cjs.entry.js +2 -2
  44. package/dist/cjs/vega-app-header-button.cjs.entry.js +6 -6
  45. package/dist/cjs/vega-banner.cjs.entry.js +1 -1
  46. package/dist/cjs/vega-box.cjs.entry.js +7 -7
  47. package/dist/cjs/vega-brand-logo.cjs.entry.js +2 -2
  48. package/dist/cjs/vega-breadcrumb.cjs.entry.js +2 -2
  49. package/dist/cjs/vega-button-circle.cjs.entry.js +7 -7
  50. package/dist/cjs/vega-button-group_2.cjs.entry.js +13 -6
  51. package/dist/cjs/vega-button-link.cjs.entry.js +4 -4
  52. package/dist/cjs/vega-button.cjs.entry.js +22 -6
  53. package/dist/cjs/vega-calendar_5.cjs.entry.js +22 -11
  54. package/dist/cjs/vega-card.cjs.entry.js +5 -5
  55. package/dist/cjs/vega-carousel.cjs.entry.js +4 -4
  56. package/dist/cjs/vega-checkbox_2.cjs.entry.js +4 -4
  57. package/dist/cjs/vega-chip.cjs.entry.js +6 -6
  58. package/dist/cjs/vega-code-block.cjs.entry.js +12 -12
  59. package/dist/cjs/vega-color-picker.cjs.entry.js +4 -4
  60. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +4 -4
  61. package/dist/cjs/vega-color-swatch.cjs.entry.js +3 -3
  62. package/dist/cjs/vega-combo-box.cjs.entry.js +10 -10
  63. package/dist/cjs/vega-counter-badge.cjs.entry.js +2 -2
  64. package/dist/cjs/vega-date-picker_2.cjs.entry.js +15 -15
  65. package/dist/cjs/vega-dialog_2.cjs.entry.js +72 -6
  66. package/dist/cjs/vega-divider.cjs.entry.js +5 -5
  67. package/dist/cjs/vega-dropdown_5.cjs.entry.js +116 -24
  68. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  69. package/dist/cjs/vega-field-label.cjs.entry.js +27 -34
  70. package/dist/cjs/vega-file-uploader.cjs.entry.js +5 -5
  71. package/dist/cjs/vega-flag-icon.cjs.entry.js +5 -5
  72. package/dist/cjs/vega-flex.cjs.entry.js +6 -6
  73. package/dist/cjs/vega-font.cjs.entry.js +5 -5
  74. package/dist/cjs/vega-form.cjs.entry.js +2 -2
  75. package/dist/cjs/vega-grid.cjs.entry.js +5 -5
  76. package/dist/cjs/vega-icon.cjs.entry.js +6 -6
  77. package/dist/cjs/vega-image-uploader.cjs.entry.js +8 -8
  78. package/dist/cjs/vega-input-credit-card.cjs.entry.js +7 -7
  79. package/dist/cjs/vega-input-numeric.cjs.entry.js +6 -6
  80. package/dist/cjs/vega-input-passcode.cjs.entry.js +6 -6
  81. package/dist/cjs/vega-input-phone-number.cjs.entry.js +42 -8
  82. package/dist/cjs/vega-input-range.cjs.entry.js +5 -5
  83. package/dist/cjs/vega-input-select.cjs.entry.js +25 -8
  84. package/dist/cjs/vega-input.cjs.entry.js +9 -9
  85. package/dist/cjs/vega-left-nav_5.cjs.entry.js +10 -10
  86. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
  87. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  88. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +2 -2
  89. package/dist/cjs/vega-pagination.cjs.entry.js +4 -4
  90. package/dist/cjs/vega-popover_2.cjs.entry.js +58 -9
  91. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +4 -4
  92. package/dist/cjs/vega-radio_2.cjs.entry.js +7 -7
  93. package/dist/cjs/vega-rich-text-content.cjs.entry.js +44 -13
  94. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +767 -248
  95. package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +3 -3
  96. package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +5 -5
  97. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +158 -105
  98. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +6 -6
  99. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +3 -3
  100. package/dist/cjs/vega-sidenav_3.cjs.entry.js +4 -4
  101. package/dist/cjs/vega-signature-capture.cjs.entry.js +8 -8
  102. package/dist/cjs/vega-stepper.cjs.entry.js +3 -3
  103. package/dist/cjs/vega-tab-group_2.cjs.entry.js +22 -9
  104. package/dist/cjs/vega-table_11.cjs.entry.js +82 -46
  105. package/dist/cjs/vega-textarea.cjs.entry.js +3 -3
  106. package/dist/cjs/vega-time-picker_2.cjs.entry.js +11 -11
  107. package/dist/cjs/vega-toggle-switch.cjs.entry.js +4 -4
  108. package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
  109. package/dist/cjs/vega.cjs.js +14 -14
  110. package/dist/collection/components/vega-button/vega-button.js +17 -2
  111. package/dist/collection/components/vega-button-group/vega-button-group-item/slimmers/renderers/vega-button-group-item-renderer.js +13 -6
  112. package/dist/collection/components/vega-button-link/vega-button-link.js +2 -2
  113. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +5 -2
  114. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.js +9 -1
  115. package/dist/collection/components/vega-code-block/vega-code-block.css +4 -4
  116. package/dist/collection/components/vega-counter-badge/vega-counter-badge.js +2 -2
  117. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-controller.js +148 -0
  118. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.js +5 -2
  119. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.js +17 -0
  120. package/dist/collection/components/vega-dropdown/vega-dropdown-group/slimmers/renderers/vega-dropdown-group-renderer.js +6 -4
  121. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +12 -4
  122. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +2 -1
  123. package/dist/collection/components/vega-dropdown/vega-dropdown.js +1 -1
  124. package/dist/collection/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.js +21 -30
  125. package/dist/collection/components/vega-field-label/vega-field-label.css +1 -0
  126. package/dist/collection/components/vega-field-label/vega-field-label.js +7 -5
  127. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +19 -2
  128. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +66 -0
  129. package/dist/collection/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.js +17 -0
  130. package/dist/collection/components/vega-popover/vega-popover.js +33 -1
  131. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +4 -1
  132. package/dist/collection/components/vega-rich-text-editor/constants/constant.js +25 -0
  133. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.js +13 -0
  134. package/dist/collection/components/vega-rich-text-editor/dto/actions/commit-value-action.js +20 -0
  135. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-default-styles.js +2 -1
  136. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +22 -0
  137. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +10 -0
  138. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +11 -0
  139. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy-registry.js +2 -1
  140. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy.abstract.js +5 -2
  141. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/title-heading-node-filter-styles-strategy.js +36 -2
  142. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +6 -0
  143. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +8 -0
  144. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +6 -0
  145. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +20 -3
  146. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +12 -0
  147. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +30 -18
  148. package/dist/collection/components/vega-rich-text-editor/extensions/block-boundary-registry.js +34 -0
  149. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-toolbar-button-renderer.js +1 -0
  150. package/dist/collection/components/vega-rich-text-editor/extensions/copy/copy-toolbar-button-renderer.js +1 -0
  151. package/dist/collection/components/vega-rich-text-editor/extensions/cut/cut-toolbar-button-renderer.js +1 -0
  152. package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +20 -0
  153. package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.js +51 -0
  154. 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
  155. package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-toolbar-button-renderer.js +3 -0
  156. package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/insert-function-block-strategy.js +3 -2
  157. package/dist/collection/components/vega-rich-text-editor/extensions/functions/constants.js +8 -0
  158. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/function-block.js +14 -3
  159. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-block.js +2 -1
  160. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.js +6 -0
  161. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-containing-function-block-strategy.js +19 -0
  162. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-block-strategy.js +9 -5
  163. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-content-strategy.js +3 -3
  164. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-logic-control-block-strategy.js +4 -2
  165. package/dist/collection/components/vega-rich-text-editor/extensions/functions/function-extension.js +18 -0
  166. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-block-renderer.js +5 -2
  167. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +1 -0
  168. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/logic-control-block-renderer.js +2 -1
  169. package/dist/collection/components/vega-rich-text-editor/extensions/functions/utils.js +36 -0
  170. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/renderers/horizontal-line-toolbar-button-renderer.js +1 -0
  171. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-extension.js +1 -0
  172. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +5 -3
  173. package/dist/collection/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.js +16 -0
  174. package/dist/collection/components/vega-rich-text-editor/extensions/paste/action-handler-strategies/image-replace-src-strategy.js +21 -0
  175. package/dist/collection/components/vega-rich-text-editor/extensions/paste/actions/image-replace-src-action.js +13 -0
  176. package/dist/collection/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/paste-image-parser.js +295 -0
  177. package/dist/collection/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/pending-image-registry.js +116 -0
  178. package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.js +13 -4
  179. package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-extension.js +70 -7
  180. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/default-paste-strategy.js +38 -0
  181. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/paste-processing-strategy.abstract.js +55 -0
  182. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/paste-strategy-selector.js +59 -0
  183. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/word-paste-strategy.js +416 -0
  184. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-code-block-transformer.js +106 -0
  185. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-image-transformer.js +198 -0
  186. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-list-transformer.js +591 -0
  187. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-paragraph-transformer.js +112 -0
  188. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-table-transformer.js +551 -0
  189. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-transformer.js +7 -0
  190. package/dist/collection/components/vega-rich-text-editor/extensions/special-characters/special-characters-toolbar-button-renderer.js +2 -0
  191. package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-block.js +10 -0
  192. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.js +3 -9
  193. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-cell-renderer.js +2 -2
  194. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.js +81 -1
  195. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.js +148 -0
  196. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.js +151 -5
  197. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.js +144 -2
  198. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-selection.js +26 -1
  199. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-toolbar-button-renderer.js +1 -0
  200. 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
  201. 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
  202. 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
  203. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.css +5 -0
  204. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.js +16 -1
  205. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/caption-button-slimmer.js +1 -0
  206. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/cell-properties-button-slimmer.js +1 -0
  207. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/column-button-slimmer.js +10 -9
  208. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/merge-cells-button-slimmer.js +9 -8
  209. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.js +25 -10
  210. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-properties-button-slimmer.js +1 -0
  211. 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
  212. 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
  213. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.css +10 -0
  214. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.js +2 -0
  215. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.js +4 -2
  216. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node.js +44 -0
  217. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +1 -0
  218. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.js +70 -0
  219. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/type.js +1 -0
  220. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/word-count-extension.js +62 -0
  221. package/dist/collection/components/vega-rich-text-editor/public-api.js +1 -0
  222. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/extension-controller.js +2 -0
  223. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.js +7 -4
  224. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.js +17 -0
  225. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +18 -4
  226. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-composition-text-controller.js +2 -1
  227. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +21 -2
  228. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +7 -1
  229. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +52 -2
  230. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.js +79 -0
  231. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +6 -3
  232. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +2 -1
  233. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +2 -1
  234. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +3 -2
  235. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +111 -2
  236. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +24 -6
  237. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +1 -1
  238. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +1 -1
  239. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +3 -2
  240. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +59 -8
  241. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.js +5 -2
  242. 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
  243. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.js +13 -1
  244. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +16 -0
  245. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.js +124 -0
  246. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.js +9 -1
  247. package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-tab-list-renderer.js +14 -7
  248. package/dist/collection/components/vega-tab-group/vega-tab-group.css +6 -0
  249. package/dist/collection/components/vega-tab-group/vega-tab-group.js +5 -0
  250. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-body-col-span-controller.js +31 -1
  251. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-col-span-resolver.js +18 -11
  252. package/dist/collection/global/scripts/before-vega-load.js +2 -0
  253. package/dist/collection/helpers/keyboard/keyboard-manager.js +11 -4
  254. package/dist/collection/helpers/keyboard/overlay-escape-coordination.js +33 -0
  255. package/dist/collection/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.js +1 -1
  256. package/dist/collection/helpers/translation/locales/en.js +17 -0
  257. package/dist/collection/polyfill/libphonenumber/as-you-type.js +21 -3
  258. package/dist/collection/polyfill/libphonenumber/metadata.js +16 -0
  259. package/dist/collection/utils/accessibility.js +20 -0
  260. package/dist/collection/utils/sanitize/index.js +3 -2
  261. package/dist/collection/utils/sanitize/strategies/index.js +1 -0
  262. package/dist/collection/utils/sanitize/strategies/label-sanitize-strategy.js +14 -0
  263. package/dist/collection/utils/sanitize/strategies/plain-text-sanitize-strategy.js +70 -0
  264. package/dist/esm/{accessibility-6af5cf2e.js → accessibility-c899a968.js} +21 -1
  265. package/dist/esm/{action-color-accessibility-validator-ce55cb07.js → action-color-accessibility-validator-08877515.js} +2 -2
  266. package/dist/esm/{app-globals-95c7110a.js → app-globals-1e1371d5.js} +11 -10
  267. package/dist/esm/{aria-attributes-value-mapper-2c632641.js → aria-attributes-value-mapper-a5c7478e.js} +1 -1
  268. package/dist/esm/{aria-dialog-focusable-trap-slimmer-f069f54d.js → aria-dialog-focusable-trap-slimmer-b2a24a45.js} +2 -2
  269. package/dist/esm/{child-nodes-notify-observer-slimmer-499a3aa7.js → child-nodes-notify-observer-slimmer-034bc78c.js} +1 -1
  270. package/dist/esm/{code-block-9c513169.js → code-block-741d6b8e.js} +91 -9
  271. package/dist/esm/{component-global-style-slimmer-ac703085.js → component-global-style-slimmer-7d60a04a.js} +1 -1
  272. package/dist/esm/{component-value-history-controller-slimmer.abstract-9cef2a2a.js → component-value-history-controller-slimmer.abstract-2bcd749e.js} +26 -7
  273. package/dist/esm/{content-state-25c81c08.js → content-state-2f6f4204.js} +104 -11
  274. package/dist/esm/{dark-mode-style-controller-ca5afd2d.js → dark-mode-style-controller-352f15ff.js} +2 -2
  275. package/dist/esm/{date-required-rule-85334d0c.js → date-required-rule-2ea3aec8.js} +1 -1
  276. package/dist/esm/{design-token-10ff79b5.js → design-token-82a4e107.js} +3 -3
  277. package/dist/esm/{dom-node-subject-observer-factory-ddff8662.js → dom-node-subject-observer-factory-bb7e68a0.js} +1 -1
  278. package/dist/esm/{element-appender-slimmer-8a06ecdd.js → element-appender-slimmer-c820c0bf.js} +4 -4
  279. package/dist/esm/{event-emit-slimmer-2452278f.js → event-emit-slimmer-e8bb2292.js} +1 -1
  280. package/dist/esm/{form-field-controller-slimmer-68fc5380.js → form-field-controller-slimmer-02165dbe.js} +5 -5
  281. package/dist/esm/{image-annotation-action-d7f2aecc.js → image-annotation-action-972c1074.js} +8 -7
  282. package/dist/esm/{image-extension-fbd1ed6e.js → image-extension-59484e9a.js} +2 -2
  283. package/dist/esm/{index-3b327f29.js → index-35451d12.js} +86 -1
  284. package/dist/esm/index.js +21 -21
  285. package/dist/esm/{inject-keyboard-manager-ea1aad5b.js → inject-keyboard-manager-6a10c9b7.js} +1 -1
  286. package/dist/esm/{internal-calendar-period-factory-7b294fb6.js → internal-calendar-period-factory-d1a60f81.js} +1 -1
  287. package/dist/esm/{internal-translation-controller-fac22598.js → internal-translation-controller-fff376d2.js} +17 -0
  288. package/dist/esm/{keyboard-manager-50da85d7.js → keyboard-manager-a58288df.js} +13 -6
  289. package/dist/esm/{keyboard-manager-slimmer-1f7c8bfb.js → keyboard-manager-slimmer-133b86cd.js} +1 -1
  290. package/dist/esm/{link-extension-e8ee103e.js → link-extension-e89acb5c.js} +26 -7
  291. package/dist/esm/loader.js +16 -16
  292. package/dist/esm/{month-view-generator-a1a9a4ec.js → month-view-generator-20e32b22.js} +1 -1
  293. package/dist/esm/overlay-escape-coordination-439f7d6f.js +35 -0
  294. package/dist/esm/{public-rules-49de79c7.js → public-rules-c154201b.js} +11 -11
  295. package/dist/esm/{range-b678c693.js → range-c818a1eb.js} +2 -2
  296. package/dist/esm/{responsive-format-facade-f19b601c.js → responsive-format-facade-07843ec3.js} +1 -1
  297. package/dist/esm/{rich-text-editor-required-rule-578e0958.js → rich-text-editor-required-rule-878e91c6.js} +1 -1
  298. package/dist/esm/{split-cell-operation-1c8e7585.js → split-cell-operation-cc0cdf90.js} +15 -5
  299. package/dist/esm/{state-border-formatter-bfda33aa.js → state-border-formatter-3b3dcfe8.js} +1 -1
  300. package/dist/esm/{string-format-strategy.abstract-1f4ff1b3.js → string-format-strategy.abstract-44381dcb.js} +1 -1
  301. package/dist/esm/{string-input-formatter-slimmer-0006a107.js → string-input-formatter-slimmer-76fe52d3.js} +3 -3
  302. package/dist/esm/{string-mask-strategy-bbbcdbef.js → string-mask-strategy-999fba4b.js} +2 -2
  303. package/dist/esm/{style-formatter-e9adc8f4.js → style-formatter-c4192c99.js} +2 -2
  304. package/dist/esm/{sub-state-notify-slimmer-23b7d0e8.js → sub-state-notify-slimmer-e306c849.js} +1 -1
  305. package/dist/esm/{sub-state-observer-slimmer-722f6b92.js → sub-state-observer-slimmer-bd85f381.js} +2 -2
  306. package/dist/esm/{time-required-rule-1ce2d0a0.js → time-required-rule-0554b114.js} +1 -1
  307. package/dist/esm/{token-extension-f2d009e3.js → token-extension-35c66684.js} +3773 -253
  308. package/dist/esm/{translation-slimmer-ee0f0e76.js → translation-slimmer-77022f2e.js} +1 -1
  309. package/dist/esm/{type-guard-f2624334.js → type-guard-26d83e7e.js} +1 -1
  310. package/dist/esm/{ui-d73f756a.js → ui-80e610f4.js} +1 -1
  311. package/dist/esm/{valid-credit-card-number-rule-60212b1d.js → valid-credit-card-number-rule-f60b6904.js} +1 -1
  312. package/dist/esm/vega-accordion.entry.js +9 -9
  313. package/dist/esm/vega-app-footer.entry.js +5 -5
  314. package/dist/esm/vega-app-header-button.entry.js +9 -9
  315. package/dist/esm/vega-backdrop.entry.js +1 -1
  316. package/dist/esm/vega-banner.entry.js +4 -4
  317. package/dist/esm/vega-box.entry.js +8 -8
  318. package/dist/esm/vega-brand-logo.entry.js +2 -2
  319. package/dist/esm/vega-breadcrumb.entry.js +5 -5
  320. package/dist/esm/vega-button-circle.entry.js +10 -10
  321. package/dist/esm/vega-button-group_2.entry.js +18 -11
  322. package/dist/esm/vega-button-link.entry.js +7 -7
  323. package/dist/esm/vega-button.entry.js +25 -9
  324. package/dist/esm/vega-calendar_5.entry.js +27 -16
  325. package/dist/esm/vega-card.entry.js +6 -6
  326. package/dist/esm/vega-carousel.entry.js +7 -7
  327. package/dist/esm/vega-checkbox_2.entry.js +9 -9
  328. package/dist/esm/vega-chip.entry.js +9 -9
  329. package/dist/esm/vega-code-block.entry.js +15 -15
  330. package/dist/esm/vega-color-picker.entry.js +8 -8
  331. package/dist/esm/vega-color-swatch-picker.entry.js +8 -8
  332. package/dist/esm/vega-color-swatch.entry.js +6 -6
  333. package/dist/esm/vega-combo-box.entry.js +14 -14
  334. package/dist/esm/vega-counter-badge.entry.js +2 -2
  335. package/dist/esm/vega-date-picker_2.entry.js +21 -21
  336. package/dist/esm/vega-dialog_2.entry.js +76 -10
  337. package/dist/esm/vega-divider.entry.js +5 -5
  338. package/dist/esm/vega-dropdown_5.entry.js +123 -31
  339. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  340. package/dist/esm/vega-field-label.entry.js +30 -37
  341. package/dist/esm/vega-file-uploader.entry.js +9 -9
  342. package/dist/esm/vega-flag-icon.entry.js +5 -5
  343. package/dist/esm/vega-flex.entry.js +7 -7
  344. package/dist/esm/vega-font.entry.js +6 -6
  345. package/dist/esm/vega-form.entry.js +8 -8
  346. package/dist/esm/vega-grid.entry.js +6 -6
  347. package/dist/esm/vega-icon.entry.js +7 -7
  348. package/dist/esm/vega-image-uploader.entry.js +12 -12
  349. package/dist/esm/vega-input-credit-card.entry.js +11 -11
  350. package/dist/esm/vega-input-numeric.entry.js +11 -11
  351. package/dist/esm/vega-input-passcode.entry.js +10 -10
  352. package/dist/esm/vega-input-phone-number.entry.js +46 -12
  353. package/dist/esm/vega-input-range.entry.js +9 -9
  354. package/dist/esm/vega-input-select.entry.js +29 -12
  355. package/dist/esm/vega-input.entry.js +14 -14
  356. package/dist/esm/vega-item-toggle.entry.js +3 -3
  357. package/dist/esm/vega-left-nav_5.entry.js +15 -15
  358. package/dist/esm/vega-loader-wrapper_2.entry.js +4 -4
  359. package/dist/esm/vega-page-notification_2.entry.js +3 -3
  360. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +2 -2
  361. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +4 -4
  362. package/dist/esm/vega-pagination.entry.js +7 -7
  363. package/dist/esm/vega-popover_2.entry.js +62 -13
  364. package/dist/esm/vega-progress-tracker_2.entry.js +9 -9
  365. package/dist/esm/vega-radio_2.entry.js +12 -12
  366. package/dist/esm/vega-rich-text-content.entry.js +48 -17
  367. package/dist/esm/vega-rich-text-editor_4.entry.js +774 -255
  368. package/dist/esm/vega-rich-text-find-replace-panel.entry.js +6 -6
  369. package/dist/esm/vega-rich-text-special-characters-panel.entry.js +8 -8
  370. package/dist/esm/vega-rich-text-table-properties_3.entry.js +160 -107
  371. package/dist/esm/vega-segment-control.entry.js +3 -3
  372. package/dist/esm/vega-selection-chip_2.entry.js +11 -11
  373. package/dist/esm/vega-selection-tile_2.entry.js +9 -9
  374. package/dist/esm/vega-sidenav_3.entry.js +9 -9
  375. package/dist/esm/vega-signature-capture.entry.js +12 -12
  376. package/dist/esm/vega-stepper.entry.js +7 -7
  377. package/dist/esm/vega-tab-group_2.entry.js +25 -12
  378. package/dist/esm/vega-table_11.entry.js +59 -23
  379. package/dist/esm/vega-textarea.entry.js +7 -7
  380. package/dist/esm/vega-time-picker_2.entry.js +15 -15
  381. package/dist/esm/vega-toggle-switch.entry.js +8 -8
  382. package/dist/esm/vega-tooltip_2.entry.js +8 -8
  383. package/dist/esm/vega.js +16 -16
  384. package/dist/esm/{wait-for-component-did-render-ff7062aa.js → wait-for-component-did-render-9b91a826.js} +1 -1
  385. package/dist/sri/vega-sri-manifest.json +399 -395
  386. package/dist/types/components/vega-button/vega-button.d.ts +2 -0
  387. package/dist/types/components/vega-button-group/types.d.ts +12 -6
  388. package/dist/types/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.d.ts +2 -0
  389. package/dist/types/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.d.ts +1 -0
  390. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +1 -1
  391. package/dist/types/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.d.ts +3 -10
  392. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +8 -0
  393. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.d.ts +33 -0
  394. package/dist/types/components/vega-modal/types.d.ts +2 -1
  395. package/dist/types/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.d.ts +9 -0
  396. package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +22 -0
  397. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.d.ts +13 -0
  398. package/dist/types/components/vega-rich-text-editor/dto/actions/commit-value-action.d.ts +20 -0
  399. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-default-styles.d.ts +1 -0
  400. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +15 -0
  401. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +4 -0
  402. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +6 -0
  403. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy-registry.d.ts +1 -0
  404. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy.abstract.d.ts +3 -2
  405. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/title-heading-node-filter-styles-strategy.d.ts +25 -3
  406. package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +4 -0
  407. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +6 -0
  408. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +4 -0
  409. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +7 -0
  410. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.d.ts +11 -0
  411. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +5 -0
  412. package/dist/types/components/vega-rich-text-editor/extensions/block-boundary-registry.d.ts +21 -0
  413. package/dist/types/components/vega-rich-text-editor/extensions/extension.abstract.d.ts +15 -0
  414. package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.d.ts +19 -0
  415. package/dist/types/components/vega-rich-text-editor/extensions/functions/constants.d.ts +4 -0
  416. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/function-block.d.ts +7 -0
  417. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.d.ts +4 -0
  418. package/dist/types/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-containing-function-block-strategy.d.ts +8 -0
  419. package/dist/types/components/vega-rich-text-editor/extensions/functions/function-extension.d.ts +6 -0
  420. package/dist/types/components/vega-rich-text-editor/extensions/functions/utils.d.ts +29 -0
  421. package/dist/types/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.d.ts +14 -1
  422. package/dist/types/components/vega-rich-text-editor/extensions/paste/action-handler-strategies/image-replace-src-strategy.d.ts +12 -0
  423. package/dist/types/components/vega-rich-text-editor/extensions/paste/actions/image-replace-src-action.d.ts +11 -0
  424. package/dist/types/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/paste-image-parser.d.ts +136 -0
  425. package/dist/types/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/pending-image-registry.d.ts +68 -0
  426. package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.d.ts +9 -4
  427. package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-extension.d.ts +39 -2
  428. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/default-paste-strategy.d.ts +29 -0
  429. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/paste-processing-strategy.abstract.d.ts +61 -0
  430. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/paste-strategy-selector.d.ts +45 -0
  431. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/word-paste-strategy.d.ts +186 -0
  432. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-code-block-transformer.d.ts +51 -0
  433. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-image-transformer.d.ts +86 -0
  434. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-list-transformer.d.ts +271 -0
  435. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-paragraph-transformer.d.ts +25 -0
  436. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-table-transformer.d.ts +240 -0
  437. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-transformer.d.ts +36 -0
  438. package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-block.d.ts +8 -0
  439. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.d.ts +2 -2
  440. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.d.ts +31 -1
  441. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.d.ts +91 -0
  442. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.d.ts +46 -0
  443. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.d.ts +58 -0
  444. package/dist/types/components/vega-rich-text-editor/extensions/table/table-selection.d.ts +8 -0
  445. 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
  446. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.d.ts +2 -0
  447. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.d.ts +3 -0
  448. 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
  449. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.d.ts +1 -0
  450. package/dist/types/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.d.ts +2 -2
  451. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node.d.ts +19 -1
  452. package/dist/types/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.d.ts +38 -0
  453. package/dist/types/components/vega-rich-text-editor/extensions/word-count/type.d.ts +46 -0
  454. package/dist/types/components/vega-rich-text-editor/extensions/word-count/word-count-extension.d.ts +38 -0
  455. package/dist/types/components/vega-rich-text-editor/interface.d.ts +22 -0
  456. package/dist/types/components/vega-rich-text-editor/public-api.d.ts +1 -0
  457. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.d.ts +4 -1
  458. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.d.ts +8 -0
  459. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +11 -1
  460. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.d.ts +40 -0
  461. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.d.ts +14 -0
  462. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +4 -1
  463. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +3 -2
  464. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +12 -0
  465. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.d.ts +2 -0
  466. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +4 -0
  467. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.d.ts +68 -0
  468. 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
  469. package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-tab-list-renderer.d.ts +1 -0
  470. package/dist/types/components/vega-tab-group/types.d.ts +3 -1
  471. package/dist/types/components/vega-tab-group/vega-tab-group.d.ts +2 -0
  472. package/dist/types/components/vega-table/interface.d.ts +4 -4
  473. package/dist/types/components/vega-table/slimmers/controllers/vega-table-body-col-span-controller.d.ts +16 -0
  474. package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-col-span-resolver.d.ts +8 -10
  475. package/dist/types/helpers/keyboard/keyboard-manager.d.ts +9 -0
  476. package/dist/types/helpers/keyboard/overlay-escape-coordination.d.ts +28 -0
  477. package/dist/types/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.d.ts +1 -1
  478. package/dist/types/helpers/translation/interface.d.ts +18 -1
  479. package/dist/types/polyfill/libphonenumber/as-you-type.d.ts +1 -0
  480. package/dist/types/polyfill/libphonenumber/metadata.d.ts +10 -0
  481. package/dist/types/types/public-api.d.ts +2 -0
  482. package/dist/types/utils/accessibility.d.ts +9 -0
  483. package/dist/types/utils/sanitize/index.d.ts +3 -2
  484. package/dist/types/utils/sanitize/strategies/index.d.ts +1 -0
  485. package/dist/types/utils/sanitize/strategies/label-sanitize-strategy.d.ts +9 -0
  486. package/dist/types/utils/sanitize/strategies/plain-text-sanitize-strategy.d.ts +36 -0
  487. package/dist/vega/index.esm.js +1 -1
  488. package/dist/vega/{p-6f537797.entry.js → p-01ca92e6.entry.js} +1 -1
  489. package/dist/vega/{p-02d3ce79.entry.js → p-02b5d4ac.entry.js} +1 -1
  490. package/dist/vega/p-06a42a9f.entry.js +1 -0
  491. package/dist/vega/{p-fd23c365.entry.js → p-0cd362f3.entry.js} +1 -1
  492. package/dist/vega/p-0e10798b.entry.js +1 -0
  493. package/dist/vega/{p-2c2e8615.js → p-0eea1ca8.js} +1 -1
  494. package/dist/vega/{p-c98c2f5f.entry.js → p-0f344e02.entry.js} +1 -1
  495. package/dist/vega/{p-4cbfc01e.entry.js → p-23db0a92.entry.js} +1 -1
  496. package/dist/vega/{p-ccbe3f1b.entry.js → p-284a8828.entry.js} +1 -1
  497. package/dist/vega/{p-ac94ba1b.entry.js → p-2b26e182.entry.js} +1 -1
  498. package/dist/vega/{p-56598858.entry.js → p-2c8dc0d2.entry.js} +1 -1
  499. package/dist/vega/{p-2bb5a232.js → p-3091b105.js} +1 -1
  500. package/dist/vega/{p-9abf7d0a.entry.js → p-35d37477.entry.js} +1 -1
  501. package/dist/vega/{p-526e3634.js → p-36a57431.js} +1 -1
  502. package/dist/vega/{p-810c9c29.js → p-379736e2.js} +1 -1
  503. package/dist/vega/p-3abb793c.entry.js +1 -0
  504. package/dist/vega/{p-f29ea345.entry.js → p-3d6a43df.entry.js} +1 -1
  505. package/dist/vega/{p-c2277448.entry.js → p-3f2a4b34.entry.js} +1 -1
  506. package/dist/vega/p-401c6764.js +1 -0
  507. package/dist/vega/{p-da867019.entry.js → p-411cadbc.entry.js} +1 -1
  508. package/dist/vega/{p-ec64cc59.entry.js → p-46f22f6c.entry.js} +1 -1
  509. package/dist/vega/{p-8d2501b2.js → p-493108d5.js} +1 -1
  510. package/dist/vega/{p-085d1647.entry.js → p-49de5559.entry.js} +1 -1
  511. package/dist/vega/{p-781b7a54.js → p-4b35c748.js} +1 -1
  512. package/dist/vega/{p-a8174ad8.entry.js → p-4d1896e0.entry.js} +1 -1
  513. package/dist/vega/{p-b00ec194.entry.js → p-4e23e56c.entry.js} +1 -1
  514. package/dist/vega/{p-1cff027b.entry.js → p-5006404e.entry.js} +1 -1
  515. package/dist/vega/{p-56417ec5.entry.js → p-5789690b.entry.js} +1 -1
  516. package/dist/vega/{p-461100b8.entry.js → p-594cb986.entry.js} +1 -1
  517. package/dist/vega/p-5a086e93.js +1 -0
  518. package/dist/vega/{p-3e09aeed.js → p-5b3c8a56.js} +1 -1
  519. package/dist/vega/p-5b9b1631.entry.js +1 -0
  520. package/dist/vega/{p-c41a2d4a.js → p-5c3649f9.js} +1 -1
  521. package/dist/vega/{p-fb9475ab.entry.js → p-5d9be870.entry.js} +1 -1
  522. package/dist/vega/p-5f377954.js +1 -1
  523. package/dist/vega/{p-d609c3fd.js → p-60a74fb7.js} +1 -1
  524. package/dist/vega/{p-2acf9b42.entry.js → p-61ed7268.entry.js} +1 -1
  525. package/dist/vega/p-6336d446.entry.js +1 -0
  526. package/dist/vega/{p-dbb4b1d1.js → p-638b6a7d.js} +1 -1
  527. package/dist/vega/{p-bdb5180c.js → p-68744e7e.js} +1 -1
  528. package/dist/vega/p-6e9e7131.js +1 -0
  529. package/dist/vega/{p-014cd411.js → p-6eedbc4f.js} +1 -1
  530. package/dist/vega/{p-a090b2be.js → p-6fd8f14b.js} +1 -1
  531. package/dist/vega/{p-0cf3b5c1.entry.js → p-7469d0d1.entry.js} +1 -1
  532. package/dist/vega/p-74b20563.entry.js +1 -0
  533. package/dist/vega/{p-17c69503.entry.js → p-76999ea1.entry.js} +1 -1
  534. package/dist/vega/p-77bcdd35.js +1 -0
  535. package/dist/vega/{p-035e2f05.entry.js → p-79b49e8d.entry.js} +1 -1
  536. package/dist/vega/{p-8d96f0e8.entry.js → p-7a03ef96.entry.js} +1 -1
  537. package/dist/vega/{p-c5fb8a69.entry.js → p-7ae4cf82.entry.js} +1 -1
  538. package/dist/vega/{p-f9bfee81.entry.js → p-7cc8855d.entry.js} +1 -1
  539. package/dist/vega/{p-d470fce2.entry.js → p-7ddc0bec.entry.js} +1 -1
  540. package/dist/vega/{p-ca3c1317.entry.js → p-7e22610b.entry.js} +1 -1
  541. package/dist/vega/p-7f395622.entry.js +1 -0
  542. package/dist/vega/{p-3737b9e2.entry.js → p-816b5fd2.entry.js} +1 -1
  543. package/dist/vega/p-8387896e.js +1 -0
  544. package/dist/vega/p-844ad6aa.entry.js +1 -0
  545. package/dist/vega/p-853a05eb.js +1 -0
  546. package/dist/vega/p-85de755f.js +1 -0
  547. package/dist/vega/p-8663314e.js +1 -0
  548. package/dist/vega/{p-95c18f79.entry.js → p-86fb46d2.entry.js} +1 -1
  549. package/dist/vega/p-8cfdd0e8.entry.js +1 -0
  550. package/dist/vega/p-8ebe30a8.js +1 -0
  551. package/dist/vega/p-8f00dfe6.js +1 -0
  552. package/dist/vega/{p-66647244.js → p-8fc0a820.js} +1 -1
  553. package/dist/vega/{p-4fd0cf01.js → p-9034f709.js} +1 -1
  554. package/dist/vega/{p-456f678b.js → p-941a83db.js} +1 -1
  555. package/dist/vega/{p-ae2abdfa.js → p-96c090c4.js} +1 -1
  556. package/dist/vega/p-9ba2fdff.js +1 -0
  557. package/dist/vega/{p-d319ebb5.js → p-9e9f49f4.js} +1 -1
  558. package/dist/vega/p-9efa5d76.js +1 -0
  559. package/dist/vega/{p-a81ad3bd.js → p-a306bb39.js} +1 -1
  560. package/dist/vega/{p-db11134b.entry.js → p-a48468b5.entry.js} +1 -1
  561. package/dist/vega/{p-56db3323.js → p-a488447f.js} +1 -1
  562. package/dist/vega/p-a647c856.entry.js +1 -0
  563. package/dist/vega/{p-a484e32d.entry.js → p-a6a89f09.entry.js} +1 -1
  564. package/dist/vega/p-a92cd703.js +1 -0
  565. package/dist/vega/p-a93b3aed.js +1 -0
  566. package/dist/vega/{p-528748fa.js → p-aa135628.js} +1 -1
  567. package/dist/vega/{p-4bfe3258.entry.js → p-aaaf21eb.entry.js} +1 -1
  568. package/dist/vega/{p-36d9e782.entry.js → p-ab253867.entry.js} +1 -1
  569. package/dist/vega/{p-dcd3e3a7.js → p-ab9d53e9.js} +1 -1
  570. package/dist/vega/p-ad367b48.entry.js +1 -0
  571. package/dist/vega/{p-e18c0656.entry.js → p-af0cfea0.entry.js} +1 -1
  572. package/dist/vega/p-b07f587a.entry.js +1 -0
  573. package/dist/vega/p-b21cc390.entry.js +1 -0
  574. package/dist/vega/{p-12e8a1b2.js → p-b2a4314a.js} +1 -1
  575. package/dist/vega/p-b52d7724.js +3 -0
  576. package/dist/vega/{p-5f96e741.entry.js → p-b97ed9f7.entry.js} +1 -1
  577. package/dist/vega/{p-7dcd2850.entry.js → p-bc0e5598.entry.js} +1 -1
  578. package/dist/vega/p-bc119e75.entry.js +1 -0
  579. package/dist/vega/{p-0cbf09f7.entry.js → p-bedb575c.entry.js} +1 -1
  580. package/dist/vega/{p-cb81126a.entry.js → p-bfe5dff7.entry.js} +1 -1
  581. package/dist/vega/{p-52c69f9e.entry.js → p-c032f626.entry.js} +1 -1
  582. package/dist/vega/{p-1ea9ad9a.js → p-c34f4cbc.js} +1 -1
  583. package/dist/vega/{p-72ab5cd5.entry.js → p-c422ee02.entry.js} +1 -1
  584. package/dist/vega/{p-39c5054b.js → p-c576e846.js} +1 -1
  585. package/dist/vega/{p-c70748f7.entry.js → p-c7d46740.entry.js} +1 -1
  586. package/dist/vega/p-cc569b54.js +1 -0
  587. package/dist/vega/{p-4e065ef7.entry.js → p-cd04b149.entry.js} +1 -1
  588. package/dist/vega/{p-2a245138.entry.js → p-cd0a108b.entry.js} +1 -1
  589. package/dist/vega/{p-8c56d74d.entry.js → p-d1bb6e7a.entry.js} +1 -1
  590. package/dist/vega/{p-200c8914.entry.js → p-d340ee3d.entry.js} +1 -1
  591. package/dist/vega/p-d897acd5.js +1 -0
  592. package/dist/vega/p-debf9e06.entry.js +1 -0
  593. package/dist/vega/p-e0a51e49.js +1 -0
  594. package/dist/vega/{p-1aedbfd2.entry.js → p-e11c6ec4.entry.js} +1 -1
  595. package/dist/vega/{p-1e0a8fd3.js → p-e14323f3.js} +1 -1
  596. package/dist/vega/{p-6d4518d7.entry.js → p-e5abc288.entry.js} +1 -1
  597. package/dist/vega/{p-544ce391.entry.js → p-ea1a0046.entry.js} +1 -1
  598. package/dist/vega/{p-72fd17a1.entry.js → p-edd7aa92.entry.js} +1 -1
  599. package/dist/vega/p-ef1bbf14.js +1 -0
  600. package/dist/vega/{p-9834d5d4.entry.js → p-efc08027.entry.js} +1 -1
  601. package/dist/vega/{p-874e5624.js → p-f485448a.js} +1 -1
  602. package/dist/vega/{p-92528dc9.entry.js → p-f8b2dbb9.entry.js} +1 -1
  603. package/dist/vega/{p-cf4b3d40.entry.js → p-f8bf379c.entry.js} +1 -1
  604. package/dist/vega/{p-b98ead05.entry.js → p-f902305d.entry.js} +1 -1
  605. package/dist/vega/p-fe985b52.js +1 -0
  606. package/dist/vega/vega.esm.js +1 -1
  607. package/package.json +1 -1
  608. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-conttroller.js +0 -85
  609. package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-constants.js +0 -6
  610. package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-constants.d.ts +0 -6
  611. package/dist/vega/p-03eeadc1.entry.js +0 -1
  612. package/dist/vega/p-0eb29065.js +0 -3
  613. package/dist/vega/p-10d30c03.js +0 -1
  614. package/dist/vega/p-1250b1ab.entry.js +0 -1
  615. package/dist/vega/p-1abd3c17.js +0 -1
  616. package/dist/vega/p-2d158cbd.js +0 -1
  617. package/dist/vega/p-2f07d719.entry.js +0 -1
  618. package/dist/vega/p-36d2df7a.entry.js +0 -1
  619. package/dist/vega/p-373541fa.js +0 -1
  620. package/dist/vega/p-3a620268.js +0 -1
  621. package/dist/vega/p-3d0b4074.js +0 -1
  622. package/dist/vega/p-56493601.js +0 -1
  623. package/dist/vega/p-571ec00b.js +0 -1
  624. package/dist/vega/p-585e4f1c.entry.js +0 -1
  625. package/dist/vega/p-5b1f5e4a.entry.js +0 -1
  626. package/dist/vega/p-6234852e.entry.js +0 -1
  627. package/dist/vega/p-67eaf77e.js +0 -1
  628. package/dist/vega/p-6c95a6a3.js +0 -1
  629. package/dist/vega/p-6fd4f2c6.js +0 -1
  630. package/dist/vega/p-7e8fdac4.js +0 -1
  631. package/dist/vega/p-83ad8988.js +0 -1
  632. package/dist/vega/p-94975537.entry.js +0 -1
  633. package/dist/vega/p-a91927eb.entry.js +0 -1
  634. package/dist/vega/p-b3733762.entry.js +0 -1
  635. package/dist/vega/p-b622c455.js +0 -1
  636. package/dist/vega/p-c6d775b8.entry.js +0 -1
  637. package/dist/vega/p-cd69aeae.js +0 -1
  638. package/dist/vega/p-cfe268a8.entry.js +0 -1
  639. package/dist/vega/p-daba4af1.js +0 -1
  640. package/dist/vega/p-de8f0d98.js +0 -1
  641. package/dist/vega/p-f0e828d8.js +0 -1
  642. package/dist/vega/p-f62c5a20.entry.js +0 -1
  643. package/dist/vega/p-f6c0e9e7.entry.js +0 -1
  644. package/dist/vega/p-fa65956c.entry.js +0 -1
  645. /package/dist/types/components/vega-dropdown/slimmers/controllers/{vega-dropdown-keyboard-conttroller.d.ts → vega-dropdown-keyboard-controller.d.ts} +0 -0
@@ -11,6 +11,7 @@ import { VegaInternalComponentDidRender, VegaInternalPopoverUpdateTarget, } from
11
11
  import domNodeSubjectFactory from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
12
12
  import ChangeManager from '../../../../../helpers/change-manager/change-manager';
13
13
  import remoteInvocationRegistry from '../../../../../helpers/remote-invocation/remote-invocation-registry';
14
+ import { checkIsVoiceOverClick, getDeepActiveElementInShadow, getFirstFocusableElement, } from '../../../../../utils/ui';
14
15
  import { LINK_TYPE_HANDLER_MAP } from '../renderers/link-type-handler';
15
16
  import { LinkUrlNormalizer } from '../utils/link-url-normalizer';
16
17
  import { RTE_DEFAULT_LINK_TYPE_KEY, RTE_EMAIL_LINK_TYPE_KEY } from '../../../constants/constant';
@@ -22,10 +23,41 @@ export class LinkEditorController extends VegaSlimmer {
22
23
  super(...arguments);
23
24
  this.linkUrlNormalizer = new LinkUrlNormalizer();
24
25
  this.linkTypeHandlers = LINK_TYPE_HANDLER_MAP;
26
+ /**
27
+ * The element the trigger click listener is currently attached to (the link
28
+ * wrapper acting as the popover target).
29
+ */
30
+ this.triggerListenerEl = null;
31
+ /**
32
+ * Whether the popover was opened via a keyboard or screen-reader (VoiceOver)
33
+ * activation. When true, focus is moved into the popover so screen reader
34
+ * users land on the Edit button.
35
+ */
36
+ this.isVoiceOverTrigger = false;
37
+ /**
38
+ * The element that had focus when the VoiceOver activation happened, so focus
39
+ * can be restored to the link once the popover is hidden.
40
+ */
41
+ this.focusReturnEl = null;
42
+ /**
43
+ * Records whether the popover was opened via a keyboard/VoiceOver activation
44
+ * and, if so, the element to restore focus to when the popover closes.
45
+ *
46
+ * @param {MouseEvent} e - The click event on the link wrapper.
47
+ * @returns {void} No return value.
48
+ */
49
+ this.handleTriggerClick = (e) => {
50
+ this.isVoiceOverTrigger = this.isKeyboardOrScreenReaderActivation(e);
51
+ this.focusReturnEl = this.isVoiceOverTrigger
52
+ ? // eslint-disable-next-line no-restricted-globals
53
+ getDeepActiveElementInShadow(document, true)
54
+ : null;
55
+ };
25
56
  }
26
57
  /** Initializes the popover target after the component loads. */
27
58
  componentDidLoad() {
28
59
  this.updatePopoverTarget();
60
+ this.attachTriggerListener();
29
61
  }
30
62
  /** Notifies observers after each render cycle. */
31
63
  componentDidRender() {
@@ -44,6 +76,7 @@ export class LinkEditorController extends VegaSlimmer {
44
76
  watchTargetChange() {
45
77
  this.linkTypeConfigController.invalidateConfiguredLinkTypesCache();
46
78
  this.updatePopoverTarget();
79
+ this.attachTriggerListener();
47
80
  }
48
81
  /**
49
82
  * Prepares the editor state before the popover is shown.
@@ -74,6 +107,9 @@ export class LinkEditorController extends VegaSlimmer {
74
107
  }
75
108
  await this.populateEditForm();
76
109
  }
110
+ if (this.status !== 'linkEdit' && this.isVoiceOverTrigger) {
111
+ this.focusPopoverContentForVoiceOver();
112
+ }
77
113
  }
78
114
  /**
79
115
  * Clears form state after the popover hides.
@@ -90,6 +126,7 @@ export class LinkEditorController extends VegaSlimmer {
90
126
  if (this.resetStatusAfterHide) {
91
127
  this.linkEditorStateManager.setShouldResetStatusOnNextShow(true);
92
128
  }
129
+ this.restoreFocusAfterVoiceOver();
93
130
  }
94
131
  /**
95
132
  * Switches the editor into link edit mode.
@@ -251,6 +288,93 @@ export class LinkEditorController extends VegaSlimmer {
251
288
  updatePopoverTarget() {
252
289
  remoteInvocationRegistry.call(domNodeSubjectFactory.getSubject(this.renderer.getPopoverRef(), VegaInternalPopoverUpdateTarget), this.target);
253
290
  }
291
+ /**
292
+ * Attaches a capture-phase click listener to the link wrapper (the popover
293
+ * target) so a keyboard/VoiceOver activation can be distinguished from a real
294
+ * pointer click before the popover opens. Re-attaches when the target changes.
295
+ *
296
+ * @returns {void} No return value.
297
+ */
298
+ attachTriggerListener() {
299
+ if (this.triggerListenerEl === this.target) {
300
+ return;
301
+ }
302
+ this.detachTriggerListener();
303
+ if (this.target) {
304
+ this.triggerListenerEl = this.target;
305
+ this.target.addEventListener('click', this.handleTriggerClick, { capture: true });
306
+ }
307
+ }
308
+ /**
309
+ * Removes the trigger listener from the previously observed element.
310
+ *
311
+ * @returns {void} No return value.
312
+ */
313
+ detachTriggerListener() {
314
+ if (this.triggerListenerEl) {
315
+ this.triggerListenerEl.removeEventListener('click', this.handleTriggerClick, { capture: true });
316
+ this.triggerListenerEl = null;
317
+ }
318
+ }
319
+ /**
320
+ * Determines whether a click on the link wrapper came from a keyboard or
321
+ * screen reader (VoiceOver) rather than a real pointer.
322
+ *
323
+ * A genuine pointer click lands inside the activated element. Keyboard (Enter,
324
+ * `detail === 0`) and VoiceOver activations dispatch a click with coordinates
325
+ * that are not on the element, so we treat any click whose point falls outside
326
+ * the wrapper as an assistive-technology activation.
327
+ *
328
+ * @param {MouseEvent} e - The click event on the link wrapper.
329
+ * @returns {boolean} True when the activation is keyboard/screen-reader driven.
330
+ */
331
+ isKeyboardOrScreenReaderActivation(e) {
332
+ if (checkIsVoiceOverClick(e)) {
333
+ return true;
334
+ }
335
+ const rect = this.target ? this.target.getBoundingClientRect() : null;
336
+ if (!rect || (rect.width === 0 && rect.height === 0)) {
337
+ return false;
338
+ }
339
+ const isInsideTarget = e.clientX >= rect.left &&
340
+ e.clientX <= rect.right &&
341
+ e.clientY >= rect.top &&
342
+ e.clientY <= rect.bottom;
343
+ return !isInsideTarget;
344
+ }
345
+ /**
346
+ * Moves focus to the first focusable element within the popover content (the
347
+ * Edit button) so VoiceOver users land inside the opened toolbar.
348
+ *
349
+ * Deferred to the next macrotask so it runs after the editor has finished
350
+ * placing the caret/focus into the content area on the activating click.
351
+ *
352
+ * @returns {void} No return value.
353
+ */
354
+ focusPopoverContentForVoiceOver() {
355
+ setTimeout(() => {
356
+ const contentRef = this.renderer.getPopoverContentRef();
357
+ if (!contentRef) {
358
+ return;
359
+ }
360
+ const focusable = getFirstFocusableElement(contentRef);
361
+ (focusable !== null && focusable !== void 0 ? focusable : contentRef).focus();
362
+ });
363
+ }
364
+ /**
365
+ * Restores focus to the link wrapper after the popover is hidden following a
366
+ * VoiceOver activation.
367
+ *
368
+ * @returns {void} No return value.
369
+ */
370
+ restoreFocusAfterVoiceOver() {
371
+ if (this.isVoiceOverTrigger && this.focusReturnEl) {
372
+ const returnEl = this.focusReturnEl;
373
+ setTimeout(() => returnEl.focus());
374
+ }
375
+ this.isVoiceOverTrigger = false;
376
+ this.focusReturnEl = null;
377
+ }
254
378
  /**
255
379
  * Preserves an unchanged mailto URL when the form edits are equivalent.
256
380
  *
@@ -35,6 +35,11 @@ export class VegaRichTextLinkEditorRenderer extends VegaSlimmer {
35
35
  this.handleFormRef = (ref) => {
36
36
  this.formRef = ref;
37
37
  };
38
+ this.handlePopoverContentRef = (ref) => {
39
+ if (ref) {
40
+ this.popoverContentRef = ref;
41
+ }
42
+ };
38
43
  this.handleUrlInputRef = (ref) => {
39
44
  if (ref) {
40
45
  this.urlInputRef = ref;
@@ -68,6 +73,9 @@ export class VegaRichTextLinkEditorRenderer extends VegaSlimmer {
68
73
  getPopoverRef() {
69
74
  return this.popoverRef;
70
75
  }
76
+ getPopoverContentRef() {
77
+ return this.popoverContentRef;
78
+ }
71
79
  getFormRef() {
72
80
  return this.formRef;
73
81
  }
@@ -81,7 +89,7 @@ export class VegaRichTextLinkEditorRenderer extends VegaSlimmer {
81
89
  return (h("vega-popover", { trigger: "click", alignment: "start", placement: "bottom", showArrow: false, isScreenPosition: true, ref: this.handlePopoverRef },
82
90
  h("span", { slot: "popover-content" },
83
91
  h("slot", null)),
84
- h("div", { slot: "popover" },
92
+ h("div", { slot: "popover", ref: this.handlePopoverContentRef },
85
93
  this.renderLinkUnlinkContent(),
86
94
  this.renderLinkEditContent())));
87
95
  }
@@ -78,18 +78,24 @@ export class VegaTabGroupTabListRenderer extends VegaSlimmer {
78
78
  renderCounterBadgeDom(item) {
79
79
  const counterBadge = item.counterBadge;
80
80
  const counterBadgeClass = this.getCounterBadgeClassByCount(counterBadge);
81
- return ((counterBadge === null || counterBadge === void 0 ? void 0 : counterBadge.count) !== undefined &&
82
- counterBadge.count > 0 && (h("div", { class: `vega-counter-badge ${counterBadgeClass}`, "aria-hidden": "true" },
83
- h("vega-counter-badge", { count: counterBadge.count, color: counterBadge.color }))));
81
+ return (counterBadge &&
82
+ (!!counterBadge.dot || (counterBadge.count !== undefined && counterBadge.count > 0)) && (h("div", { class: `vega-counter-badge ${counterBadgeClass}`, "aria-hidden": "true" },
83
+ h("vega-counter-badge", { count: counterBadge.count, color: counterBadge.color, dot: counterBadge.dot }))));
84
84
  }
85
85
  getTabAriaLabel(item) {
86
86
  const counterBadge = item.counterBadge;
87
+ if (counterBadge === null || counterBadge === void 0 ? void 0 : counterBadge.dot) {
88
+ return `${item.label}, ${this.translationSlimmer.t('notification')}`;
89
+ }
87
90
  return (counterBadge === null || counterBadge === void 0 ? void 0 : counterBadge.count) && counterBadge.count > 0
88
91
  ? `${item.label}, ${counterBadge.count}`
89
92
  : item.label;
90
93
  }
91
94
  getCounterBadgeClassByCount(counterBadge) {
92
- if (counterBadge && counterBadge.count) {
95
+ if (counterBadge === null || counterBadge === void 0 ? void 0 : counterBadge.dot) {
96
+ return 'dot-variant';
97
+ }
98
+ if (counterBadge === null || counterBadge === void 0 ? void 0 : counterBadge.count) {
93
99
  const digits = counterBadge.count.toString().length;
94
100
  if (digits === 1) {
95
101
  return 'one-digit';
@@ -101,9 +107,7 @@ export class VegaTabGroupTabListRenderer extends VegaSlimmer {
101
107
  return 'multi-digits';
102
108
  }
103
109
  }
104
- else {
105
- return '';
106
- }
110
+ return '';
107
111
  }
108
112
  handleTabItemClick(event, dataTarget) {
109
113
  this.selectedTargetController.handleTabItemClick(dataTarget);
@@ -143,3 +147,6 @@ __decorate([
143
147
  __decorate([
144
148
  MapToComponentField({ componentFieldName: 'vegaTabGroupVoiceOverFocusController' })
145
149
  ], VegaTabGroupTabListRenderer.prototype, "voiceOverFocusController", void 0);
150
+ __decorate([
151
+ MapToComponentField()
152
+ ], VegaTabGroupTabListRenderer.prototype, "translationSlimmer", void 0);
@@ -114,6 +114,12 @@
114
114
  padding-left: 8px;
115
115
  top: 10px;
116
116
  }
117
+ .vega-tab > div > .label .vega-counter-badge.dot-variant {
118
+ width: 20px;
119
+ }
120
+ .vega-tab > div > .label .vega-counter-badge.dot-variant vega-counter-badge {
121
+ left: 10px;
122
+ }
117
123
  .vega-tab > div > .label .vega-counter-badge.one-digit {
118
124
  width: 20px;
119
125
  }
@@ -23,6 +23,7 @@ import { createEventEmitSlimmer, } from '../../helpers/event-manager/slimmers/ev
23
23
  import { VegaClick } from '../../helpers/event-manager/event-id/vega-event-id';
24
24
  import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
25
25
  import { VegaTabGroupRuntimeMetricsPayloadDefinition } from '../../constants/runtime-metrics-payload-definition/vega-tab-group/runtime-metrics-payload-definition';
26
+ import { TranslationSlimmer } from '../../helpers/slimmers/translation';
26
27
  /**
27
28
  * The Tab Group component organizes content into separate views, and allows users to switch between them without navigating away from the parent page.
28
29
  *
@@ -32,6 +33,7 @@ export class VegaTabGroup {
32
33
  constructor() {
33
34
  this.globalSlimmers = {};
34
35
  this.vegaTabGroupRenderer = new VegaTabGroupRenderer();
36
+ this.translationSlimmer = new TranslationSlimmer();
35
37
  this.vegaTabGroupDirectionButtonRenderer = new VegaTabGroupSwitchPageButtonRenderer();
36
38
  this.vegaTabGroupTabListRenderer = new VegaTabGroupTabListRenderer();
37
39
  this.vegaTabGroupCloseButtonRenderer = new VegaTabGroupCloseButtonRenderer();
@@ -402,6 +404,9 @@ __decorate([
402
404
  __decorate([
403
405
  InjectVegaSlimmer()
404
406
  ], VegaTabGroup.prototype, "vegaTabGroupRenderer", void 0);
407
+ __decorate([
408
+ InjectVegaSlimmer()
409
+ ], VegaTabGroup.prototype, "translationSlimmer", void 0);
405
410
  __decorate([
406
411
  InjectVegaSlimmer()
407
412
  ], VegaTabGroup.prototype, "vegaTabGroupDirectionButtonRenderer", void 0);
@@ -6,6 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
8
8
  import { resolveBodyColSpan } from '../renderers/vega-table-body-col-span-resolver';
9
+ import { BreakpointKeys } from '../../../../constants/ui';
9
10
  /**
10
11
  * Per-row body colspan controller.
11
12
  *
@@ -16,6 +17,10 @@ import { resolveBodyColSpan } from '../renderers/vega-table-body-col-span-resolv
16
17
  *
17
18
  * The structural shape (a {@link VegaSlimmer} controller reading component fields) mirrors the
18
19
  * main-branch `VegaTableExpandRowController` paradigm.
20
+ *
21
+ * Breakpoint-aware: maps the current breakpoint from the parent vega-table and computes
22
+ * which columns are hidden at that breakpoint so the colspan resolver can shrink before
23
+ * breakpoint-hidden columns (instead of mirroring across them).
19
24
  */
20
25
  export class VegaTableBodyColSpanController extends VegaSlimmer {
21
26
  constructor() {
@@ -43,6 +48,8 @@ export class VegaTableBodyColSpanController extends VegaSlimmer {
43
48
  this.warnedColSpanKeys.clear();
44
49
  this.lastWarnedColumnsRef = this.columns;
45
50
  }
51
+ // Compute per-leaf hidden state based on current breakpoint.
52
+ const isHiddenAtBreakpoint = leaves.map((leaf) => this.isColumnHiddenAtBreakpoint(leaf));
46
53
  const results = new Array(leaves.length).fill(null);
47
54
  let skipCount = 0;
48
55
  leaves.forEach((leaf, leafIndex) => {
@@ -53,7 +60,7 @@ export class VegaTableBodyColSpanController extends VegaSlimmer {
53
60
  }
54
61
  const column = this.findColumn(leaf);
55
62
  const result = column
56
- ? resolveBodyColSpan(column, record, rowIndex, leafIndex, leaves, this.warnedColSpanKeys)
63
+ ? resolveBodyColSpan(column, record, rowIndex, leafIndex, leaves, this.warnedColSpanKeys, isHiddenAtBreakpoint)
57
64
  : { htmlColspan: 1, skipCount: 0 };
58
65
  results[leafIndex] = result;
59
66
  skipCount = result.skipCount;
@@ -71,7 +78,30 @@ export class VegaTableBodyColSpanController extends VegaSlimmer {
71
78
  column.prop === renderInput.key ||
72
79
  column.label === renderInput.key);
73
80
  }
81
+ /**
82
+ * Determine whether a leaf is hidden at the current breakpoint.
83
+ *
84
+ * A leaf is hidden when the column's breakpoint threshold is greater than the current breakpoint.
85
+ * Breakpoint order: 'default' < 'S' < 'M' < 'L' < 'XL'.
86
+ * Example: if currentBreakpoint is 'S' and column.breakpoint is 'M', the column is hidden (S < M).
87
+ *
88
+ * @param {ColumnRenderInputModel} leaf - The leaf render input to check.
89
+ * @returns {boolean} True if the leaf is hidden at the current breakpoint.
90
+ */
91
+ isColumnHiddenAtBreakpoint(leaf) {
92
+ const column = this.findColumn(leaf);
93
+ if (!column || !column.breakpoint) {
94
+ return false; // No breakpoint = never hidden.
95
+ }
96
+ const currentBreakpointIndex = BreakpointKeys.indexOf(this.currentBreakpoint);
97
+ const columnBreakpointIndex = BreakpointKeys.indexOf(column.breakpoint);
98
+ // Column is hidden when current breakpoint is smaller than the column's breakpoint threshold.
99
+ return currentBreakpointIndex < columnBreakpointIndex;
100
+ }
74
101
  }
75
102
  __decorate([
76
103
  MapToComponentField()
77
104
  ], VegaTableBodyColSpanController.prototype, "columns", void 0);
105
+ __decorate([
106
+ MapToComponentField()
107
+ ], VegaTableBodyColSpanController.prototype, "currentBreakpoint", void 0);
@@ -37,16 +37,16 @@ function normalizeSpan(rawSpan) {
37
37
  * Walk rightward from the starting leaf to find the widest legal span.
38
38
  *
39
39
  * Stops (and returns a clamp reason) when the span would either run past the end of the
40
- * row or cross a pinned ↔ unpinned column boundary (which would break sticky positioning).
41
- * Breakpoint-hidden columns are intentionally **not** a stop condition the span mirrors
42
- * across them (matching header group colSpan).
40
+ * row, cross a pinned ↔ unpinned column boundary, or encounter a breakpoint-hidden column.
41
+ * Breakpoint-hidden columns are a shrink trigger (the span stops before them).
43
42
  *
44
43
  * @param {number} declared - The declared span requested by the column.
45
44
  * @param {number} leafIndex - Index of the starting leaf in the flattened render-input array.
46
45
  * @param {ColumnRenderInputModel[]} allLeaves - All leaf render inputs for the table (ordered).
46
+ * @param {boolean[]} isHiddenAtBreakpoint - Per-leaf boolean: true if leaf is hidden at current breakpoint.
47
47
  * @returns {MaxSpan} The widest legal span plus the clamp reason (null when unconstrained).
48
48
  */
49
- function computeMaxSpan(declared, leafIndex, allLeaves) {
49
+ function computeMaxSpan(declared, leafIndex, allLeaves, isHiddenAtBreakpoint) {
50
50
  var _a, _b;
51
51
  const startPinned = (_a = allLeaves[leafIndex]) === null || _a === void 0 ? void 0 : _a.pinned;
52
52
  let span = 1;
@@ -58,6 +58,13 @@ function computeMaxSpan(declared, leafIndex, allLeaves) {
58
58
  clampReason: `extends past the end of the row (${allLeaves.length} columns total)`,
59
59
  };
60
60
  }
61
+ // Reject if the next column is hidden at the current breakpoint.
62
+ if (isHiddenAtBreakpoint[leafIndex + offset]) {
63
+ return {
64
+ span,
65
+ clampReason: null, // Breakpoint-hidden stop is not a config-error warning — it is legitimate responsive hiding.
66
+ };
67
+ }
61
68
  // Reject if the next column is in a different pinned group.
62
69
  if (nextLeaf.pinned !== startPinned) {
63
70
  return {
@@ -87,11 +94,10 @@ function warnClampOnce(colKey, declared, effective, reason, warnedKeys) {
87
94
  /**
88
95
  * Resolve the effective body-cell colspan for a single source-data row cell.
89
96
  *
90
- * Clamps the declared span so it never runs past the end of the row nor crosses a
91
- * pinned ↔ unpinned column boundary. Structural clamps (end-of-row / pinned boundary) emit a
92
- * warning once per column key (tracked via the caller-supplied {@link warnedKeys} set).
93
- * Breakpoint-hidden columns are **not** clamped the span mirrors across a `display: none`
94
- * column (matching header group colSpan) so the body grid stays column-aligned with the header.
97
+ * Clamps the declared span so it never runs past the end of the row, crosses a
98
+ * pinned ↔ unpinned column boundary, or encounters a breakpoint-hidden column (shrink before it).
99
+ * Structural clamps (end-of-row / pinned boundary) emit a warning once per column key
100
+ * (tracked via the caller-supplied {@link warnedKeys} set). Breakpoint-hidden stops are silent.
95
101
  *
96
102
  * @param {VegaTableColumnConfig} column - The column configuration for the spanning cell.
97
103
  * @param {VegaTableDataSourceItem} record - The row data record.
@@ -99,14 +105,15 @@ function warnClampOnce(colKey, declared, effective, reason, warnedKeys) {
99
105
  * @param {number} leafIndex - Index of this column in the flattened leaf render-input array.
100
106
  * @param {ColumnRenderInputModel[]} allLeaves - All leaf render inputs for the table (ordered).
101
107
  * @param {Set<string>} warnedKeys - Per-instance set tracking column keys that have already received a clamping warning.
108
+ * @param {boolean[]} isHiddenAtBreakpoint - Per-leaf boolean: true if leaf is hidden at current breakpoint.
102
109
  * @returns {BodyColSpanResult} Resolved spanning metadata for the cell.
103
110
  */
104
- export function resolveBodyColSpan(column, record, rowIndex, leafIndex, allLeaves, warnedKeys) {
111
+ export function resolveBodyColSpan(column, record, rowIndex, leafIndex, allLeaves, warnedKeys, isHiddenAtBreakpoint) {
105
112
  var _a, _b, _c;
106
113
  const declared = getDeclaredSpan(column, record, rowIndex);
107
114
  if (!declared || declared <= 1)
108
115
  return NO_SPAN;
109
- const { span, clampReason } = computeMaxSpan(declared, leafIndex, allLeaves);
116
+ const { span, clampReason } = computeMaxSpan(declared, leafIndex, allLeaves, isHiddenAtBreakpoint);
110
117
  const effectiveSpan = Math.min(declared, span);
111
118
  if (clampReason && effectiveSpan < declared) {
112
119
  const colKey = (_c = (_b = (_a = column.key) !== null && _a !== void 0 ? _a : column.prop) !== null && _b !== void 0 ? _b : column.label) !== null && _c !== void 0 ? _c : '';
@@ -39,6 +39,7 @@ import { VegaRTECopyExtension } from '../../components/vega-rich-text-editor/ext
39
39
  import { VegaRTECutExtension } from '../../components/vega-rich-text-editor/extensions/cut/cut-extension';
40
40
  import { VegaRTEPasteExtension } from '../../components/vega-rich-text-editor/extensions/paste/paste-extension';
41
41
  import { VegaRTEImageExtension } from '../../components/vega-rich-text-editor/extensions/image/image-extension';
42
+ import { VegaRTEWordCountExtension } from '../../components/vega-rich-text-editor/extensions/word-count/word-count-extension';
42
43
  /**
43
44
  * Default export function that will be used by stencil global script,
44
45
  * which will be invoked before library loaded.
@@ -231,6 +232,7 @@ function injectVegaRichTextEditorClassIntoGlobal() {
231
232
  globalThis.VegaRTECopyExtension = VegaRTECopyExtension;
232
233
  globalThis.VegaRTECutExtension = VegaRTECutExtension;
233
234
  globalThis.VegaRTEImageExtension = VegaRTEImageExtension;
235
+ globalThis.VegaRTEWordCountExtension = VegaRTEWordCountExtension;
234
236
  }
235
237
  /**
236
238
  * Inject VegaCalendarPeriodFactory to global as a public api.
@@ -39,12 +39,16 @@ class KeyboardManager {
39
39
  listenKeyPress() {
40
40
  // eslint-disable-next-line no-restricted-globals
41
41
  document.addEventListener('keydown', (e) => {
42
- this.invokeListeners('keydown', e);
42
+ this.invokeListeners('keydown', e, true);
43
+ }, true);
44
+ // eslint-disable-next-line no-restricted-globals
45
+ document.addEventListener('keydown', (e) => {
46
+ this.invokeListeners('keydown', e, false);
43
47
  });
44
48
  // listen keyup is waiting activeElement changed.
45
49
  // eslint-disable-next-line no-restricted-globals
46
50
  document.addEventListener('keyup', (e) => {
47
- this.invokeListeners('keyup', e);
51
+ this.invokeListeners('keyup', e, false);
48
52
  });
49
53
  }
50
54
  /**
@@ -54,10 +58,13 @@ class KeyboardManager {
54
58
  * @param {'keyup' | 'keydown'} eventName - The name of the event that was triggered.
55
59
  * @param {KeyboardEvent} event - KeyboardEvent - this is the event that is passed to the event
56
60
  * listener.
61
+ * @param {boolean} capture - Whether to invoke listeners registered for the capture phase.
57
62
  */
58
- invokeListeners(eventName, event) {
63
+ invokeListeners(eventName, event, capture) {
59
64
  this.listeners
60
- .filter((listener) => listener.eventName === eventName && this.shouldInvokeListener(listener, event))
65
+ .filter((listener) => listener.eventName === eventName &&
66
+ Boolean(listener.capture) === capture &&
67
+ this.shouldInvokeListener(listener, event))
61
68
  .forEach((listener) => {
62
69
  if (listener.preventDefault) {
63
70
  event.preventDefault();
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Cross-overlay coordination for the Escape key.
3
+ *
4
+ * Multiple overlay components (vega-modal, vega-popover, vega-dropdown) each
5
+ * register a capture-phase `keydown` listener on `document`. `stopPropagation`
6
+ * does not block other listeners attached to the same target, and using
7
+ * `stopImmediatePropagation` would also block unrelated document-level
8
+ * listeners (e.g. focus-restore observers). Instead, the overlay that handles
9
+ * an Escape press marks the event here, and other overlay handlers check the
10
+ * mark to decide whether to skip.
11
+ *
12
+ * A `WeakSet` keyed on the event object keeps the marker out of the event's
13
+ * own properties (no `as any` casts, no risk of clobbering future DOM fields).
14
+ */
15
+ const handledEscapeEvents = new WeakSet();
16
+ /**
17
+ * Mark a keydown event as already handled by an overlay's Escape handler.
18
+ *
19
+ * @param {KeyboardEvent} event - The keydown event to mark.
20
+ */
21
+ export function markOverlayHandledEscape(event) {
22
+ handledEscapeEvents.add(event);
23
+ }
24
+ /**
25
+ * Check whether a keydown event has already been handled by an overlay's
26
+ * Escape handler.
27
+ *
28
+ * @param {KeyboardEvent} event - The keydown event to check.
29
+ * @returns {boolean} True if another overlay has already handled this Escape.
30
+ */
31
+ export function isOverlayHandledEscape(event) {
32
+ return handledEscapeEvents.has(event);
33
+ }
@@ -102,7 +102,7 @@ export class AriaAttributesValueMapper extends MutationObserverSlimmer {
102
102
  }
103
103
  }
104
104
  if (finalValue === null || finalValue === undefined || String(finalValue).trim() === '') {
105
- finalValue = defaultValue;
105
+ finalValue = typeof defaultValue === 'function' ? defaultValue() : defaultValue;
106
106
  }
107
107
  try {
108
108
  if (String(finalValue).trim() === '') {
@@ -188,6 +188,7 @@ export const staticTranslations = {
188
188
  'pm': 'pm',
189
189
  '{0} Selected': '{0} Selected',
190
190
  'date picker': 'Date Picker',
191
+ 'notification': 'notification',
191
192
  'Selected result': 'Selected result',
192
193
  'Close event preview detail': 'Close event preview detail',
193
194
  'Edit event': 'Edit event',
@@ -212,6 +213,7 @@ export const staticTranslations = {
212
213
  'Arrows': 'Arrows',
213
214
  'Currency': 'Currency',
214
215
  'Use rich text': 'Use rich text',
216
+ 'Rich Text Editor. Editing area: main. ': 'Rich Text Editor. Editing area: main. ',
215
217
  'Paste options': 'Paste options',
216
218
  'Required': 'Required',
217
219
  'Disabled': 'Disabled',
@@ -220,5 +222,20 @@ export const staticTranslations = {
220
222
  'Next': 'Next',
221
223
  'Copy': 'Copy',
222
224
  'Cut': 'Cut',
225
+ 'Use Word': 'Use Word',
226
+ // RTE Table extension
227
+ 'Table tools': 'Table tools',
228
+ 'Table properties': 'Table properties',
229
+ 'Cell properties': 'Cell properties',
230
+ 'Align table left': 'Align table left',
231
+ 'Align table center': 'Align table center',
232
+ 'Align table right': 'Align table right',
233
+ 'Align text left': 'Align text left',
234
+ 'Align text center': 'Align text center',
235
+ 'Align text right': 'Align text right',
236
+ 'Justify text': 'Justify text',
237
+ 'Align vertically top': 'Align vertically top',
238
+ 'Align vertically middle': 'Align vertically middle',
239
+ 'Align vertically bottom': 'Align vertically bottom',
223
240
  };
224
241
  export default staticTranslations;
@@ -1,5 +1,5 @@
1
1
  import { MIN_LEADING_DIGITS_LENGTH, DIGIT_PLACEHOLDER } from './types';
2
- import { META, getCountryCallingCode, getFormats, detectCallingCode, getCountryByNationalNumber, } from './metadata';
2
+ import { META, getCountryCallingCode, getFormats, detectCallingCode, getCountryByNationalNumber, countryHasExplicitLeadingDigits, } from './metadata';
3
3
  import { isNonAlteringFormat, formatSuits, formatMatchesLeadingDigits, buildTemplate,
4
4
  // eslint-disable-next-line spellcheck/spell-checker
5
5
  cutAndStripNonPairedParens, applyInternationalSeparatorStyle, } from './format-helpers';
@@ -45,6 +45,7 @@ export class AsYouType {
45
45
  * in the original library.
46
46
  */
47
47
  this._complexPrefix = '';
48
+ this._defaultCountry = defaultCountry;
48
49
  this._country = defaultCountry;
49
50
  if (defaultCountry) {
50
51
  this._callingCode = getCountryCallingCode(defaultCountry);
@@ -127,7 +128,15 @@ export class AsYouType {
127
128
  }
128
129
  else if (detected.countries && detected.countries.length > 1) {
129
130
  const matched = getCountryByNationalNumber(detected.countries, this._nationalNumber);
130
- this._country = matched;
131
+ const defaultCountryHasExplicitIdentity = !!this._defaultCountry && countryHasExplicitLeadingDigits(this._defaultCountry);
132
+ const defaultCountry = this._defaultCountry;
133
+ const shouldKeepDefaultCountry = defaultCountryHasExplicitIdentity &&
134
+ defaultCountry !== undefined &&
135
+ this._country === defaultCountry &&
136
+ detected.countries.includes(defaultCountry);
137
+ if (!shouldKeepDefaultCountry) {
138
+ this._country = matched;
139
+ }
131
140
  if (prevCallingCode !== detected.callingCode) {
132
141
  this.initFormats(detected.countries[0]);
133
142
  this.resetFormat();
@@ -350,8 +359,17 @@ export class AsYouType {
350
359
  return;
351
360
  const allDigits = this._allDigits;
352
361
  const match = allDigits.match(new RegExp('^(?:' + prefixPattern + ')'));
353
- if (!match || match[0].length === 0)
362
+ if (!match || match[0].length === 0) {
363
+ if (this._complexPrefix) {
364
+ this._complexPrefix = '';
365
+ this._nationalNumber = allDigits;
366
+ this.resetFormat();
367
+ if (this._country) {
368
+ this.initFormats(this._country);
369
+ }
370
+ }
354
371
  return;
372
+ }
355
373
  const newPrefix = match[0];
356
374
  const remaining = allDigits.substring(newPrefix.length);
357
375
  // If the prefix hasn't changed, just re-apply the split and return.
@@ -125,6 +125,22 @@ export function getCountryByNationalNumber(possibleCountries, nationalNumber) {
125
125
  }
126
126
  return undefined;
127
127
  }
128
+ /**
129
+ * Check whether a country has a non-empty leading-digits pattern in metadata
130
+ * (metadata index [10]). Countries with such a pattern can be uniquely
131
+ * identified by their dialled prefix and should remain "sticky" during
132
+ * shared-calling-code disambiguation.
133
+ *
134
+ * @param {VegaCountryCode} country - country code to evaluate
135
+ * @returns {boolean} true if metadata contains a non-empty leading-digits pattern
136
+ */
137
+ export function countryHasExplicitLeadingDigits(country) {
138
+ const entry = META.countries[country];
139
+ if (!entry)
140
+ return false;
141
+ const leadingDigits = entry[10];
142
+ return typeof leadingDigits === 'string' && leadingDigits.length > 0;
143
+ }
128
144
  /**
129
145
  * Check if a national number matches any of the type patterns.
130
146
  *
@@ -27,3 +27,23 @@ export function createEnterKeyHandlerToTriggerClick(options) {
27
27
  }
28
28
  };
29
29
  }
30
+ /**
31
+ * Returns a handler that dispatches a click event on Enter OR Space.
32
+ * Use for ARIA listbox options (e.g. dropdown items) where both keys should activate the element.
33
+ * Do NOT use in place of createEnterKeyHandlerToTriggerClick for elements that should only respond to Enter.
34
+ *
35
+ * @param {ClickEventOptions} options - An optional object that can contain a "composed" and "preventDefault" property.
36
+ * @returns {(e: KeyboardEvent) => void} A function that takes a KeyboardEvent and dispatches a click event on Enter or Space.
37
+ */
38
+ export function createActivationKeyHandlerToTriggerClick(options) {
39
+ const _a = options || {}, { preventDefault = false } = _a, mouseEventOptions = __rest(_a, ["preventDefault"]);
40
+ return function (e) {
41
+ var _a;
42
+ if (e.key === 'Enter' || e.key === ' ') {
43
+ if (preventDefault) {
44
+ e.preventDefault();
45
+ }
46
+ (_a = e.currentTarget) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new MouseEvent('click', Object.assign({ bubbles: true, cancelable: true, view: window }, mouseEventOptions)));
47
+ }
48
+ };
49
+ }