@globalpayments/vega 2.99.0 → 2.101.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (649) hide show
  1. package/dist/cjs/{accessibility-88f8af84.js → accessibility-6ca2a237.js} +21 -0
  2. package/dist/cjs/{action-color-accessibility-validator-b8a9ef0f.js → action-color-accessibility-validator-61af71ae.js} +1 -1
  3. package/dist/cjs/{app-globals-a306dce6.js → app-globals-275ea7c7.js} +19 -10
  4. package/dist/cjs/{aria-attributes-value-mapper-9a41b9cf.js → aria-attributes-value-mapper-e8c6b0e0.js} +1 -1
  5. package/dist/cjs/{aria-dialog-focusable-trap-slimmer-62147489.js → aria-dialog-focusable-trap-slimmer-c79cc3f8.js} +1 -1
  6. package/dist/cjs/{child-nodes-event-prevent-slimmer-e0ac8467.js → child-nodes-event-prevent-slimmer-d720d7e9.js} +1 -1
  7. package/dist/cjs/{code-block-ea1f5eb3.js → code-block-c598832d.js} +815 -751
  8. package/dist/cjs/{component-value-history-controller-slimmer.abstract-7071b064.js → component-value-history-controller-slimmer.abstract-4bd47aa1.js} +4 -4
  9. package/dist/cjs/{content-state-8d07d530.js → content-state-da23e822.js} +47 -3
  10. package/dist/cjs/countries-a8e3812a.js +251 -0
  11. package/dist/cjs/{dark-mode-style-controller-f3da3342.js → dark-mode-style-controller-ec04ece9.js} +45 -45
  12. package/dist/cjs/{date-required-rule-c0c498ad.js → date-required-rule-45c802d3.js} +1 -1
  13. package/dist/cjs/{design-token-58bf7fe8.js → design-token-9d762da0.js} +3 -3
  14. package/dist/cjs/{element-appender-slimmer-a0269315.js → element-appender-slimmer-2aaf8e24.js} +22 -3
  15. package/dist/cjs/{event-emit-slimmer-34aa195e.js → event-emit-slimmer-67b5c186.js} +1 -1
  16. package/dist/cjs/{form-field-controller-slimmer-f73f200e.js → form-field-controller-slimmer-ac9337f4.js} +3 -3
  17. package/dist/cjs/{image-annotation-action-2a28038e.js → image-annotation-action-378838c2.js} +8 -7
  18. package/dist/cjs/{image-extension-9659708b.js → image-extension-673ebe7f.js} +2 -2
  19. package/dist/cjs/index.cjs.js +24 -21
  20. package/dist/cjs/{inject-keyboard-manager-4fa45f9c.js → inject-keyboard-manager-540f0876.js} +1 -1
  21. package/dist/cjs/{internal-calendar-period-factory-6196bc80.js → internal-calendar-period-factory-b11918ee.js} +1 -1
  22. package/dist/cjs/{internal-translation-controller-51f7f865.js → internal-translation-controller-27bfc8c7.js} +15 -0
  23. package/dist/cjs/{internal-vega-event-manager-7003c84a.js → internal-vega-event-manager-976b9526.js} +10 -2
  24. package/dist/cjs/{keyboard-manager-482fe257.js → keyboard-manager-16e96b62.js} +12 -5
  25. package/dist/cjs/{keyboard-manager-slimmer-a19430dd.js → keyboard-manager-slimmer-0a4e556d.js} +1 -1
  26. package/dist/cjs/{link-extension-11340e1c.js → link-extension-f493e432.js} +3 -3
  27. package/dist/cjs/loader.cjs.js +17 -16
  28. package/dist/cjs/{month-view-generator-1a534451.js → month-view-generator-0a3e04de.js} +1 -1
  29. package/dist/cjs/overlay-escape-coordination-901d8942.js +38 -0
  30. package/dist/cjs/{public-rules-6c77b545.js → public-rules-bae12c47.js} +9 -9
  31. package/dist/cjs/{range-22ddd452.js → range-9f42fb40.js} +1 -1
  32. package/dist/cjs/{responsive-format-facade-74e6d791.js → responsive-format-facade-c6d7f0a1.js} +1 -1
  33. package/dist/cjs/{rich-text-editor-required-rule-09d1093a.js → rich-text-editor-required-rule-bb232741.js} +1 -1
  34. package/dist/cjs/{split-cell-operation-11bfb305.js → split-cell-operation-0d33123e.js} +4 -4
  35. package/dist/cjs/{state-border-formatter-bf4f9f1c.js → state-border-formatter-dda9109a.js} +1 -1
  36. package/dist/cjs/{string-format-strategy.abstract-bf37b14c.js → string-format-strategy.abstract-3a968a59.js} +1 -1
  37. package/dist/cjs/{string-input-formatter-slimmer-ffeb18a6.js → string-input-formatter-slimmer-2e0a838e.js} +3 -3
  38. package/dist/cjs/{string-mask-strategy-7f394726.js → string-mask-strategy-d9f85c21.js} +2 -2
  39. package/dist/cjs/{style-formatter-4ac63910.js → style-formatter-d21a9784.js} +2 -2
  40. package/dist/cjs/{sub-state-notify-slimmer-e264a120.js → sub-state-notify-slimmer-3b33e31c.js} +1 -1
  41. package/dist/cjs/{sub-state-observer-slimmer-6033b824.js → sub-state-observer-slimmer-5b68ba3f.js} +1 -1
  42. package/dist/cjs/{time-required-rule-e2a50003.js → time-required-rule-580cbd3d.js} +1 -1
  43. package/dist/cjs/{token-extension-4686cb3b.js → token-extension-4badb962.js} +811 -53
  44. package/dist/cjs/{translation-slimmer-e4997f8f.js → translation-slimmer-31cd5a57.js} +1 -1
  45. package/dist/cjs/{type-guard-b8d7bb3f.js → type-guard-00b8efc0.js} +1 -1
  46. package/dist/cjs/{valid-credit-card-number-rule-f5a6f009.js → valid-credit-card-number-rule-70885128.js} +1 -1
  47. package/dist/cjs/vega-accordion.cjs.entry.js +9 -9
  48. package/dist/cjs/vega-app-footer.cjs.entry.js +4 -4
  49. package/dist/cjs/vega-app-header-button.cjs.entry.js +10 -10
  50. package/dist/cjs/vega-banner.cjs.entry.js +4 -4
  51. package/dist/cjs/vega-box.cjs.entry.js +6 -6
  52. package/dist/cjs/vega-brand-logo.cjs.entry.js +1 -1
  53. package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
  54. package/dist/cjs/vega-button-circle.cjs.entry.js +12 -12
  55. package/dist/cjs/vega-button-group_2.cjs.entry.js +20 -13
  56. package/dist/cjs/vega-button-link.cjs.entry.js +8 -8
  57. package/dist/cjs/vega-button.cjs.entry.js +27 -11
  58. package/dist/cjs/vega-calendar_5.cjs.entry.js +130 -24
  59. package/dist/cjs/vega-card.cjs.entry.js +5 -5
  60. package/dist/cjs/vega-carousel.cjs.entry.js +7 -7
  61. package/dist/cjs/vega-checkbox_2.cjs.entry.js +9 -9
  62. package/dist/cjs/vega-chip.cjs.entry.js +10 -10
  63. package/dist/cjs/vega-code-block.cjs.entry.js +15 -15
  64. package/dist/cjs/vega-color-picker.cjs.entry.js +8 -8
  65. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +9 -9
  66. package/dist/cjs/vega-color-swatch.cjs.entry.js +6 -6
  67. package/dist/cjs/vega-combo-box.cjs.entry.js +15 -15
  68. package/dist/cjs/vega-date-picker_2.cjs.entry.js +22 -22
  69. package/dist/cjs/vega-dialog_2.cjs.entry.js +76 -10
  70. package/dist/cjs/vega-divider.cjs.entry.js +5 -5
  71. package/dist/cjs/vega-dropdown_5.cjs.entry.js +108 -25
  72. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  73. package/dist/cjs/{vega-event-id-58afed7a.js → vega-event-id-987a170c.js} +2 -0
  74. package/dist/cjs/vega-field-label.cjs.entry.js +29 -36
  75. package/dist/cjs/vega-file-uploader.cjs.entry.js +9 -9
  76. package/dist/cjs/vega-flag-icon.cjs.entry.js +11 -11
  77. package/dist/cjs/vega-flex.cjs.entry.js +6 -6
  78. package/dist/cjs/vega-font.cjs.entry.js +5 -5
  79. package/dist/cjs/vega-form.cjs.entry.js +9 -9
  80. package/dist/cjs/vega-grid.cjs.entry.js +5 -5
  81. package/dist/cjs/vega-icon.cjs.entry.js +5 -5
  82. package/dist/cjs/vega-image-uploader.cjs.entry.js +13 -13
  83. package/dist/cjs/vega-input-credit-card.cjs.entry.js +12 -12
  84. package/dist/cjs/vega-input-numeric.cjs.entry.js +12 -12
  85. package/dist/cjs/vega-input-passcode.cjs.entry.js +11 -11
  86. package/dist/cjs/vega-input-phone-number.cjs.entry.js +56 -275
  87. package/dist/cjs/vega-input-range.cjs.entry.js +10 -10
  88. package/dist/cjs/vega-input-select.cjs.entry.js +39 -39
  89. package/dist/cjs/vega-input.cjs.entry.js +14 -14
  90. package/dist/cjs/{vega-internal-event-id-f4d33037.js → vega-internal-event-id-98d499d7.js} +6 -2
  91. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  92. package/dist/cjs/vega-left-nav_5.cjs.entry.js +14 -14
  93. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
  94. package/dist/cjs/vega-page-notification_2.cjs.entry.js +2 -2
  95. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +4 -4
  96. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +4 -4
  97. package/dist/cjs/vega-pagination.cjs.entry.js +9 -9
  98. package/dist/cjs/vega-popover_2.cjs.entry.js +63 -14
  99. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +10 -10
  100. package/dist/cjs/vega-radio_2.cjs.entry.js +12 -12
  101. package/dist/cjs/vega-rich-text-content.cjs.entry.js +16 -13
  102. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +712 -250
  103. package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +6 -6
  104. package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +8 -8
  105. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +161 -108
  106. package/dist/cjs/vega-segment-control.cjs.entry.js +11 -4
  107. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +12 -12
  108. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +9 -9
  109. package/dist/cjs/vega-sidenav_3.cjs.entry.js +10 -10
  110. package/dist/cjs/vega-signature-capture.cjs.entry.js +12 -12
  111. package/dist/cjs/vega-stepper.cjs.entry.js +8 -8
  112. package/dist/cjs/vega-tab-group_2.cjs.entry.js +7 -7
  113. package/dist/cjs/vega-table_11.cjs.entry.js +625 -666
  114. package/dist/cjs/vega-textarea.cjs.entry.js +8 -8
  115. package/dist/cjs/vega-time-picker_2.cjs.entry.js +16 -16
  116. package/dist/cjs/vega-toggle-switch.cjs.entry.js +8 -8
  117. package/dist/cjs/vega-tooltip_2.cjs.entry.js +7 -7
  118. package/dist/cjs/vega.cjs.js +17 -16
  119. package/dist/cjs/{wait-for-component-did-render-44d006ee.js → wait-for-component-did-render-90edbc1a.js} +1 -1
  120. package/dist/collection/components/vega-button/vega-button.css +3 -3
  121. package/dist/collection/components/vega-button/vega-button.js +17 -2
  122. package/dist/collection/components/vega-button-circle/vega-button-circle.css +3 -3
  123. package/dist/collection/components/vega-button-group/vega-button-group-item/slimmers/renderers/vega-button-group-item-renderer.js +13 -6
  124. package/dist/collection/components/vega-button-link/vega-button-link.css +4 -4
  125. package/dist/collection/components/vega-button-link/vega-button-link.js +2 -2
  126. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +45 -5
  127. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.js +43 -1
  128. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +23 -4
  129. package/dist/collection/components/vega-calendar/vega-calendar.js +77 -1
  130. package/dist/collection/components/vega-code-block/vega-code-block.css +4 -4
  131. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-controller.js +148 -0
  132. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.js +5 -2
  133. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.js +17 -0
  134. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +2 -2
  135. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +2 -1
  136. package/dist/collection/components/vega-dropdown/vega-dropdown.js +1 -1
  137. package/dist/collection/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.js +21 -30
  138. package/dist/collection/components/vega-field-label/vega-field-label.js +7 -5
  139. package/dist/collection/components/vega-flag-icon/slimmers/controllers/vega-flag-icon-controller.js +6 -6
  140. package/dist/collection/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.js +4 -8
  141. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +19 -2
  142. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-prefix-icon-renderer.js +8 -28
  143. package/dist/collection/components/vega-input-select/vega-input-select.js +3 -1
  144. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +66 -0
  145. package/dist/collection/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.js +17 -0
  146. package/dist/collection/components/vega-popover/vega-popover.js +33 -1
  147. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +4 -1
  148. package/dist/collection/components/vega-rich-text-editor/constants/constant.js +9 -0
  149. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.js +13 -0
  150. package/dist/collection/components/vega-rich-text-editor/dto/actions/commit-value-action.js +20 -0
  151. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +11 -0
  152. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +11 -2
  153. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +18 -6
  154. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +11 -0
  155. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +6 -0
  156. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +8 -0
  157. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +6 -0
  158. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +30 -18
  159. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-toolbar-button-renderer.js +1 -0
  160. package/dist/collection/components/vega-rich-text-editor/extensions/copy/copy-toolbar-button-renderer.js +1 -0
  161. package/dist/collection/components/vega-rich-text-editor/extensions/cut/cut-toolbar-button-renderer.js +1 -0
  162. package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.js +51 -0
  163. package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/vega-rich-text-find-replace-panel/slimmers/renderers/find-replace-panel-renderer.js +2 -2
  164. package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-toolbar-button-renderer.js +3 -0
  165. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.js +6 -0
  166. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +1 -0
  167. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/renderers/horizontal-line-toolbar-button-renderer.js +1 -0
  168. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +5 -3
  169. package/dist/collection/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.js +16 -0
  170. package/dist/collection/components/vega-rich-text-editor/extensions/special-characters/special-characters-toolbar-button-renderer.js +2 -0
  171. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.js +3 -9
  172. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-cell-renderer.js +2 -2
  173. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.js +81 -1
  174. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.js +148 -0
  175. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.js +151 -5
  176. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.js +144 -2
  177. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-selection.js +26 -1
  178. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-toolbar-button-renderer.js +1 -0
  179. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-cell-properties-form-field-renderer.js +11 -2
  180. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-basic-form-field-renderer.abstract.js +5 -2
  181. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-form-field-renderer.js +5 -1
  182. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.css +5 -0
  183. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.js +16 -1
  184. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/caption-button-slimmer.js +1 -0
  185. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/cell-properties-button-slimmer.js +1 -0
  186. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/column-button-slimmer.js +10 -9
  187. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/merge-cells-button-slimmer.js +9 -8
  188. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.js +25 -10
  189. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-properties-button-slimmer.js +1 -0
  190. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-setting-button-slimmer.abstract.js +5 -4
  191. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/vega-rich-text-table-setting-renderer.js +1 -1
  192. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.css +10 -0
  193. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.js +2 -0
  194. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +1 -0
  195. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.js +70 -0
  196. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/type.js +1 -0
  197. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/word-count-extension.js +62 -0
  198. package/dist/collection/components/vega-rich-text-editor/public-api.js +1 -0
  199. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-composition-text-controller.js +2 -1
  200. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +7 -1
  201. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +52 -2
  202. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.js +79 -0
  203. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +6 -3
  204. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +2 -1
  205. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +2 -1
  206. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +3 -2
  207. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +111 -2
  208. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +17 -6
  209. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +1 -1
  210. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +1 -1
  211. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +3 -2
  212. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +59 -8
  213. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer.js +1 -1
  214. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.js +13 -1
  215. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +16 -0
  216. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.js +124 -0
  217. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.js +9 -1
  218. package/dist/collection/components/vega-segment-control/slimmers/renderers/vega-segment-renderer.js +8 -1
  219. package/dist/collection/components/vega-segment-control/vega-segment-control.js +23 -0
  220. package/dist/collection/components/vega-table/slimmers/controllers/dto/column-render-input-model.js +25 -8
  221. package/dist/collection/components/vega-table/slimmers/controllers/dto/row-render-input-model.js +41 -0
  222. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-head-template-structure-controller.js +1 -0
  223. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-render-input-controller.js +316 -18
  224. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-renderer.js +6 -1
  225. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-header-renderer.js +1 -0
  226. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.js +33 -530
  227. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-row-renderer.js +1 -0
  228. package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.css +10 -0
  229. package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.js +25 -8
  230. package/dist/collection/components/vega-table/vega-table-expand-row/slimmers/renderers/vega-table-expand-row-renderer.js +14 -6
  231. package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.css +20 -0
  232. package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.js +7 -0
  233. package/dist/collection/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.js +21 -2
  234. package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.css +10 -0
  235. package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.js +12 -1
  236. package/dist/collection/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.js +20 -13
  237. package/dist/collection/components/vega-table/vega-table-foot-row/vega-table-foot-row.css +26 -0
  238. package/dist/collection/components/vega-table/vega-table-foot-row/vega-table-foot-row.js +12 -0
  239. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.css +10 -0
  240. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.js +19 -6
  241. package/dist/collection/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.js +21 -46
  242. package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.css +16 -7
  243. package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.js +9 -2
  244. package/dist/collection/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.js +28 -13
  245. package/dist/collection/components/vega-table/vega-table-row/vega-table-row.css +26 -0
  246. package/dist/collection/components/vega-table/vega-table-row/vega-table-row.js +11 -0
  247. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-border-tokens.js +1 -1
  248. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-color-tokens.js +20 -20
  249. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-ring-tokens.js +1 -1
  250. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-shadow-tokens.js +1 -1
  251. package/dist/collection/constants/tokens/themes/v2-new-brand/light-mode-border-tokens.js +1 -1
  252. package/dist/collection/constants/tokens/themes/v2-new-brand/light-mode-color-tokens.js +19 -19
  253. package/dist/collection/constants/tokens/themes/v2-new-brand/light-mode-shadow-tokens.js +1 -1
  254. package/dist/collection/constants/ui.js +1 -0
  255. package/dist/collection/global/scripts/before-vega-load.js +10 -0
  256. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +10 -2
  257. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
  258. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +3 -1
  259. package/dist/collection/helpers/keyboard/keyboard-manager.js +11 -4
  260. package/dist/collection/helpers/keyboard/overlay-escape-coordination.js +33 -0
  261. package/dist/collection/helpers/public-api.js +1 -0
  262. package/dist/collection/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.js +1 -1
  263. package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +8 -0
  264. package/dist/collection/helpers/slimmers/position-calculation/screen-position-calculation-strategy.js +10 -0
  265. package/dist/collection/helpers/slimmers/vega-table-child-render-input-consumer-slimmer.js +2 -0
  266. package/dist/collection/helpers/translation/locales/en.js +15 -0
  267. package/dist/collection/helpers/ui/element-appender.js +1 -0
  268. package/dist/collection/polyfill/libphonenumber/as-you-type.js +21 -3
  269. package/dist/collection/polyfill/libphonenumber/metadata.js +16 -0
  270. package/dist/collection/utils/accessibility.js +20 -0
  271. package/dist/esm/{accessibility-6af5cf2e.js → accessibility-c899a968.js} +21 -1
  272. package/dist/esm/{action-color-accessibility-validator-08877515.js → action-color-accessibility-validator-3e824a59.js} +1 -1
  273. package/dist/esm/{app-globals-c59364c2.js → app-globals-ad3c7cea.js} +19 -10
  274. package/dist/esm/{aria-attributes-value-mapper-2c632641.js → aria-attributes-value-mapper-a5c7478e.js} +1 -1
  275. package/dist/esm/{aria-dialog-focusable-trap-slimmer-f069f54d.js → aria-dialog-focusable-trap-slimmer-27a6aa19.js} +3 -3
  276. package/dist/esm/{child-nodes-event-prevent-slimmer-82626871.js → child-nodes-event-prevent-slimmer-0ebcbf47.js} +1 -1
  277. package/dist/esm/{child-nodes-notify-observer-slimmer-499a3aa7.js → child-nodes-notify-observer-slimmer-034bc78c.js} +1 -1
  278. package/dist/esm/{code-block-e6443949.js → code-block-1cdf7a51.js} +816 -754
  279. package/dist/esm/{component-value-history-controller-slimmer.abstract-ee393213.js → component-value-history-controller-slimmer.abstract-bdeeb43f.js} +6 -6
  280. package/dist/esm/{content-state-43cdacff.js → content-state-6eb610b8.js} +48 -6
  281. package/dist/esm/countries-50d3339b.js +249 -0
  282. package/dist/esm/{dark-mode-style-controller-352f15ff.js → dark-mode-style-controller-4e04a2d3.js} +45 -45
  283. package/dist/esm/{date-required-rule-b5b67498.js → date-required-rule-2ea3aec8.js} +1 -1
  284. package/dist/esm/{design-token-8319bb59.js → design-token-82a4e107.js} +3 -3
  285. package/dist/esm/{dom-node-subject-observer-factory-ddff8662.js → dom-node-subject-observer-factory-bb7e68a0.js} +1 -1
  286. package/dist/esm/{element-appender-slimmer-c81d1fe3.js → element-appender-slimmer-dd4e2908.js} +24 -5
  287. package/dist/esm/{event-emit-slimmer-2452278f.js → event-emit-slimmer-12ee1593.js} +2 -2
  288. package/dist/esm/{form-field-controller-slimmer-511b7ac5.js → form-field-controller-slimmer-5c794b4d.js} +5 -5
  289. package/dist/esm/{image-annotation-action-d7cb80aa.js → image-annotation-action-cdd50dcc.js} +9 -8
  290. package/dist/esm/{image-extension-9b8abd0d.js → image-extension-f6dbd70c.js} +2 -2
  291. package/dist/esm/index.js +24 -23
  292. package/dist/esm/{inject-keyboard-manager-dd368d56.js → inject-keyboard-manager-6a10c9b7.js} +1 -1
  293. package/dist/esm/{internal-calendar-period-factory-d58f35c6.js → internal-calendar-period-factory-d1a60f81.js} +1 -1
  294. package/dist/esm/{internal-translation-controller-b33430c6.js → internal-translation-controller-fff376d2.js} +15 -0
  295. package/dist/esm/{internal-vega-event-manager-2ecc9186.js → internal-vega-event-manager-0c381f3b.js} +10 -2
  296. package/dist/esm/{keyboard-manager-b4a0d97d.js → keyboard-manager-a58288df.js} +13 -6
  297. package/dist/esm/{keyboard-manager-slimmer-0517fc70.js → keyboard-manager-slimmer-133b86cd.js} +1 -1
  298. package/dist/esm/{link-extension-230bae8d.js → link-extension-bc234cf7.js} +3 -3
  299. package/dist/esm/loader.js +19 -18
  300. package/dist/esm/{month-view-generator-f470caac.js → month-view-generator-20e32b22.js} +1 -1
  301. package/dist/esm/overlay-escape-coordination-439f7d6f.js +35 -0
  302. package/dist/esm/{public-rules-28ef32d3.js → public-rules-8dc3fb00.js} +11 -11
  303. package/dist/esm/{range-efad2578.js → range-d2439ba7.js} +2 -2
  304. package/dist/esm/{responsive-format-facade-dec87e46.js → responsive-format-facade-07843ec3.js} +1 -1
  305. package/dist/esm/{rich-text-editor-required-rule-a697e5bd.js → rich-text-editor-required-rule-a0663a84.js} +1 -1
  306. package/dist/esm/{split-cell-operation-89b91a38.js → split-cell-operation-1a889fa0.js} +5 -5
  307. package/dist/esm/{state-border-formatter-1e900a2f.js → state-border-formatter-3b3dcfe8.js} +1 -1
  308. package/dist/esm/{string-format-strategy.abstract-d0ce3f65.js → string-format-strategy.abstract-44381dcb.js} +1 -1
  309. package/dist/esm/{string-input-formatter-slimmer-6546cfc7.js → string-input-formatter-slimmer-69887c40.js} +4 -4
  310. package/dist/esm/{string-mask-strategy-dd13ae21.js → string-mask-strategy-999fba4b.js} +2 -2
  311. package/dist/esm/{style-formatter-057d7120.js → style-formatter-c4192c99.js} +2 -2
  312. package/dist/esm/{sub-state-notify-slimmer-23b7d0e8.js → sub-state-notify-slimmer-ba72f30b.js} +2 -2
  313. package/dist/esm/{sub-state-observer-slimmer-722f6b92.js → sub-state-observer-slimmer-bee1c7fa.js} +3 -3
  314. package/dist/esm/{time-required-rule-73753a54.js → time-required-rule-0554b114.js} +1 -1
  315. package/dist/esm/{token-extension-74a0eeb1.js → token-extension-530d9bde.js} +813 -56
  316. package/dist/esm/{translation-slimmer-ef970ffc.js → translation-slimmer-77022f2e.js} +1 -1
  317. package/dist/esm/{type-guard-6fc96870.js → type-guard-26d83e7e.js} +1 -1
  318. package/dist/esm/{ui-d73f756a.js → ui-80e610f4.js} +1 -1
  319. package/dist/esm/{valid-credit-card-number-rule-b54a31e7.js → valid-credit-card-number-rule-f60b6904.js} +1 -1
  320. package/dist/esm/vega-accordion.entry.js +11 -11
  321. package/dist/esm/vega-app-footer.entry.js +6 -6
  322. package/dist/esm/vega-app-header-button.entry.js +12 -12
  323. package/dist/esm/vega-backdrop.entry.js +1 -1
  324. package/dist/esm/vega-banner.entry.js +6 -6
  325. package/dist/esm/vega-box.entry.js +7 -7
  326. package/dist/esm/vega-brand-logo.entry.js +1 -1
  327. package/dist/esm/vega-breadcrumb.entry.js +6 -6
  328. package/dist/esm/vega-button-circle.entry.js +14 -14
  329. package/dist/esm/vega-button-group_2.entry.js +22 -15
  330. package/dist/esm/vega-button-link.entry.js +10 -10
  331. package/dist/esm/vega-button.entry.js +29 -13
  332. package/dist/esm/vega-calendar_5.entry.js +132 -26
  333. package/dist/esm/vega-card.entry.js +6 -6
  334. package/dist/esm/vega-carousel.entry.js +9 -9
  335. package/dist/esm/vega-checkbox_2.entry.js +12 -12
  336. package/dist/esm/vega-chip.entry.js +12 -12
  337. package/dist/esm/vega-code-block.entry.js +17 -17
  338. package/dist/esm/vega-color-picker.entry.js +10 -10
  339. package/dist/esm/vega-color-swatch-picker.entry.js +11 -11
  340. package/dist/esm/vega-color-swatch.entry.js +8 -8
  341. package/dist/esm/vega-combo-box.entry.js +17 -17
  342. package/dist/esm/vega-date-picker_2.entry.js +24 -24
  343. package/dist/esm/vega-dialog_2.entry.js +78 -12
  344. package/dist/esm/vega-divider.entry.js +5 -5
  345. package/dist/esm/vega-dropdown_5.entry.js +111 -28
  346. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  347. package/dist/esm/{vega-event-id-f55f6977.js → vega-event-id-59cd9297.js} +2 -1
  348. package/dist/esm/vega-field-label.entry.js +31 -38
  349. package/dist/esm/vega-file-uploader.entry.js +11 -11
  350. package/dist/esm/vega-flag-icon.entry.js +11 -11
  351. package/dist/esm/vega-flex.entry.js +7 -7
  352. package/dist/esm/vega-font.entry.js +6 -6
  353. package/dist/esm/vega-form.entry.js +12 -12
  354. package/dist/esm/vega-grid.entry.js +6 -6
  355. package/dist/esm/vega-icon.entry.js +6 -6
  356. package/dist/esm/vega-image-uploader.entry.js +15 -15
  357. package/dist/esm/vega-input-credit-card.entry.js +14 -14
  358. package/dist/esm/vega-input-numeric.entry.js +14 -14
  359. package/dist/esm/vega-input-passcode.entry.js +13 -13
  360. package/dist/esm/vega-input-phone-number.entry.js +55 -274
  361. package/dist/esm/vega-input-range.entry.js +12 -12
  362. package/dist/esm/vega-input-select.entry.js +41 -41
  363. package/dist/esm/vega-input.entry.js +16 -16
  364. package/dist/esm/{vega-internal-event-id-86fce049.js → vega-internal-event-id-02093067.js} +4 -2
  365. package/dist/esm/vega-item-toggle.entry.js +5 -5
  366. package/dist/esm/vega-left-nav_5.entry.js +16 -16
  367. package/dist/esm/vega-loader-wrapper_2.entry.js +4 -4
  368. package/dist/esm/vega-page-notification_2.entry.js +4 -4
  369. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +6 -6
  370. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +6 -6
  371. package/dist/esm/vega-pagination.entry.js +11 -11
  372. package/dist/esm/vega-popover_2.entry.js +65 -16
  373. package/dist/esm/vega-progress-tracker_2.entry.js +12 -12
  374. package/dist/esm/vega-radio_2.entry.js +15 -15
  375. package/dist/esm/vega-rich-text-content.entry.js +18 -15
  376. package/dist/esm/vega-rich-text-editor_4.entry.js +715 -253
  377. package/dist/esm/vega-rich-text-find-replace-panel.entry.js +8 -8
  378. package/dist/esm/vega-rich-text-special-characters-panel.entry.js +10 -10
  379. package/dist/esm/vega-rich-text-table-properties_3.entry.js +163 -110
  380. package/dist/esm/vega-segment-control.entry.js +13 -6
  381. package/dist/esm/vega-selection-chip_2.entry.js +14 -14
  382. package/dist/esm/vega-selection-tile_2.entry.js +12 -12
  383. package/dist/esm/vega-sidenav_3.entry.js +12 -12
  384. package/dist/esm/vega-signature-capture.entry.js +14 -14
  385. package/dist/esm/vega-stepper.entry.js +10 -10
  386. package/dist/esm/vega-tab-group_2.entry.js +9 -9
  387. package/dist/esm/vega-table_11.entry.js +627 -668
  388. package/dist/esm/vega-textarea.entry.js +10 -10
  389. package/dist/esm/vega-time-picker_2.entry.js +18 -18
  390. package/dist/esm/vega-toggle-switch.entry.js +10 -10
  391. package/dist/esm/vega-tooltip_2.entry.js +9 -9
  392. package/dist/esm/vega.js +19 -18
  393. package/dist/esm/{wait-for-component-did-render-ff7062aa.js → wait-for-component-did-render-9e84d92d.js} +2 -2
  394. package/dist/sri/vega-sri-manifest.json +415 -407
  395. package/dist/types/components/vega-button/vega-button.d.ts +2 -0
  396. package/dist/types/components/vega-button-group/types.d.ts +12 -6
  397. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.d.ts +18 -0
  398. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.d.ts +9 -0
  399. package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.d.ts +9 -1
  400. package/dist/types/components/vega-calendar/types.d.ts +22 -0
  401. package/dist/types/components/vega-calendar/vega-calendar.d.ts +23 -1
  402. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +1 -1
  403. package/dist/types/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.d.ts +3 -10
  404. package/dist/types/components/vega-flag-icon/slimmers/controllers/vega-flag-icon-controller.d.ts +2 -2
  405. package/dist/types/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.d.ts +0 -1
  406. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +8 -0
  407. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-prefix-icon-renderer.d.ts +2 -14
  408. package/dist/types/components/vega-input-select/vega-input-select.d.ts +1 -0
  409. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.d.ts +33 -0
  410. package/dist/types/components/vega-modal/types.d.ts +2 -1
  411. package/dist/types/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.d.ts +9 -0
  412. package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +6 -0
  413. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.d.ts +13 -0
  414. package/dist/types/components/vega-rich-text-editor/dto/actions/commit-value-action.d.ts +20 -0
  415. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +6 -0
  416. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +4 -0
  417. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +11 -1
  418. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +6 -0
  419. package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +4 -0
  420. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +6 -0
  421. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +4 -0
  422. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +5 -0
  423. package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.d.ts +19 -0
  424. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.d.ts +4 -0
  425. package/dist/types/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.d.ts +14 -1
  426. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.d.ts +2 -2
  427. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.d.ts +31 -1
  428. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.d.ts +91 -0
  429. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.d.ts +46 -0
  430. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.d.ts +58 -0
  431. package/dist/types/components/vega-rich-text-editor/extensions/table/table-selection.d.ts +8 -0
  432. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-basic-form-field-renderer.abstract.d.ts +2 -1
  433. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.d.ts +2 -0
  434. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.d.ts +3 -0
  435. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-setting-button-slimmer.abstract.d.ts +3 -1
  436. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.d.ts +1 -0
  437. package/dist/types/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.d.ts +38 -0
  438. package/dist/types/components/vega-rich-text-editor/extensions/word-count/type.d.ts +46 -0
  439. package/dist/types/components/vega-rich-text-editor/extensions/word-count/word-count-extension.d.ts +38 -0
  440. package/dist/types/components/vega-rich-text-editor/interface.d.ts +12 -0
  441. package/dist/types/components/vega-rich-text-editor/public-api.d.ts +1 -0
  442. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +11 -1
  443. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.d.ts +40 -0
  444. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.d.ts +14 -0
  445. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +3 -1
  446. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +3 -2
  447. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +12 -0
  448. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.d.ts +2 -0
  449. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +4 -0
  450. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.d.ts +68 -0
  451. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.d.ts +3 -0
  452. package/dist/types/components/vega-segment-control/slimmers/renderers/vega-segment-renderer.d.ts +1 -0
  453. package/dist/types/components/vega-segment-control/types.d.ts +2 -0
  454. package/dist/types/components/vega-segment-control/vega-segment-control.d.ts +7 -1
  455. package/dist/types/components/vega-table/slimmers/controllers/dto/column-render-input-model.d.ts +17 -0
  456. package/dist/types/components/vega-table/slimmers/controllers/dto/row-render-input-model.d.ts +39 -0
  457. package/dist/types/components/vega-table/slimmers/controllers/vega-table-render-input-controller.d.ts +71 -7
  458. package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-renderer.d.ts +1 -0
  459. package/dist/types/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.d.ts +3 -88
  460. package/dist/types/components/vega-table/vega-table-expand-row/slimmers/renderers/vega-table-expand-row-renderer.d.ts +1 -1
  461. package/dist/types/components/vega-table/vega-table-expand-row/vega-table-expand-row.d.ts +5 -0
  462. package/dist/types/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.d.ts +1 -0
  463. package/dist/types/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.d.ts +5 -0
  464. package/dist/types/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.d.ts +1 -3
  465. package/dist/types/components/vega-table/vega-table-foot-row/vega-table-foot-row.d.ts +5 -0
  466. package/dist/types/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.d.ts +0 -4
  467. package/dist/types/components/vega-table/vega-table-head-row/vega-table-head-row.d.ts +2 -2
  468. package/dist/types/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.d.ts +2 -3
  469. package/dist/types/components/vega-table/vega-table-row/vega-table-row.d.ts +4 -0
  470. package/dist/types/components.d.ts +33 -2
  471. package/dist/types/constants/ui.d.ts +1 -1
  472. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
  473. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +3 -1
  474. package/dist/types/helpers/keyboard/keyboard-manager.d.ts +9 -0
  475. package/dist/types/helpers/keyboard/overlay-escape-coordination.d.ts +28 -0
  476. package/dist/types/helpers/public-api.d.ts +1 -0
  477. package/dist/types/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.d.ts +1 -1
  478. package/dist/types/helpers/slimmers/position-calculation/position-calculation-controller.d.ts +6 -0
  479. package/dist/types/helpers/slimmers/position-calculation/screen-position-calculation-strategy.d.ts +6 -0
  480. package/dist/types/helpers/slimmers/position-calculation/screen-scroll-position-update.d.ts +2 -1
  481. package/dist/types/helpers/slimmers/vega-table-child-render-input-consumer-slimmer.d.ts +2 -1
  482. package/dist/types/helpers/translation/interface.d.ts +16 -1
  483. package/dist/types/polyfill/libphonenumber/as-you-type.d.ts +1 -0
  484. package/dist/types/polyfill/libphonenumber/metadata.d.ts +10 -0
  485. package/dist/types/types/components.type.d.ts +7 -1
  486. package/dist/types/types/public-api.d.ts +2 -0
  487. package/dist/types/utils/accessibility.d.ts +9 -0
  488. package/dist/vega/index.esm.js +1 -1
  489. package/dist/vega/p-022cbf8a.js +1 -0
  490. package/dist/vega/{p-c8ad7207.entry.js → p-02c1284e.entry.js} +1 -1
  491. package/dist/vega/{p-22edd3cc.js → p-069bbb4a.js} +1 -1
  492. package/dist/vega/p-08fd229c.js +1 -0
  493. package/dist/vega/{p-fcb6b499.js → p-0eea1ca8.js} +1 -1
  494. package/dist/vega/{p-ba6881da.entry.js → p-131ce9df.entry.js} +1 -1
  495. package/dist/vega/{p-024db952.entry.js → p-143ee395.entry.js} +1 -1
  496. package/dist/vega/p-178634f3.js +1 -0
  497. package/dist/vega/{p-9e9f49f4.js → p-1836a6a5.js} +1 -1
  498. package/dist/vega/p-1dbf8d1f.js +1 -0
  499. package/dist/vega/{p-d4d90ce2.entry.js → p-2b26e182.entry.js} +1 -1
  500. package/dist/vega/p-2dda5c65.entry.js +1 -0
  501. package/dist/vega/{p-df63c2fb.entry.js → p-30010c41.entry.js} +1 -1
  502. package/dist/vega/p-32f5a6dd.entry.js +1 -0
  503. package/dist/vega/{p-3c8421d5.entry.js → p-3460a1c5.entry.js} +1 -1
  504. package/dist/vega/p-34b523da.entry.js +1 -0
  505. package/dist/vega/p-357c0226.entry.js +1 -0
  506. package/dist/vega/p-361f8996.js +1 -0
  507. package/dist/vega/{p-526e3634.js → p-36a57431.js} +1 -1
  508. package/dist/vega/p-36ee9d54.js +1 -0
  509. package/dist/vega/{p-6659c910.entry.js → p-37d5c37e.entry.js} +1 -1
  510. package/dist/vega/{p-47a48329.entry.js → p-3d6a43df.entry.js} +1 -1
  511. package/dist/vega/{p-0ca3b4bf.entry.js → p-45ad2d90.entry.js} +1 -1
  512. package/dist/vega/{p-fb9475ab.entry.js → p-4b117bfd.entry.js} +1 -1
  513. package/dist/vega/p-4b35c748.js +1 -0
  514. package/dist/vega/{p-55dc3053.entry.js → p-4e23e56c.entry.js} +1 -1
  515. package/dist/vega/p-4e70836a.entry.js +1 -0
  516. package/dist/vega/{p-66647244.js → p-4ea477d5.js} +1 -1
  517. package/dist/vega/{p-5147c30d.entry.js → p-50e8e24f.entry.js} +1 -1
  518. package/dist/vega/{p-9c5289dc.entry.js → p-522a6eec.entry.js} +1 -1
  519. package/dist/vega/p-53e3f259.js +1 -0
  520. package/dist/vega/{p-2c737fc8.js → p-5536146c.js} +1 -1
  521. package/dist/vega/{p-944e284d.entry.js → p-55c2c0df.entry.js} +1 -1
  522. package/dist/vega/p-587130f6.entry.js +1 -0
  523. package/dist/vega/{p-9c9b0629.js → p-58c8a4ac.js} +1 -1
  524. package/dist/vega/{p-4f6aaac5.entry.js → p-594cb986.entry.js} +1 -1
  525. package/dist/vega/{p-b12de1bf.entry.js → p-5c17ddda.entry.js} +1 -1
  526. package/dist/vega/{p-7977352b.entry.js → p-5c9c0c0d.entry.js} +1 -1
  527. package/dist/vega/p-5f377954.js +1 -1
  528. package/dist/vega/p-60010f14.entry.js +1 -0
  529. package/dist/vega/p-6098c4bb.js +1 -0
  530. package/dist/vega/{p-2044eba9.js → p-60a74fb7.js} +1 -1
  531. package/dist/vega/p-61e63c0e.entry.js +1 -0
  532. package/dist/vega/{p-49d7cfed.entry.js → p-62254dc7.entry.js} +1 -1
  533. package/dist/vega/{p-2af1d8b8.entry.js → p-62ae9327.entry.js} +1 -1
  534. package/dist/vega/{p-b3c4943b.js → p-638b6a7d.js} +1 -1
  535. package/dist/vega/p-66245bc0.entry.js +1 -0
  536. package/dist/vega/{p-bdb5180c.js → p-68744e7e.js} +1 -1
  537. package/dist/vega/{p-f0a0fc77.entry.js → p-68ca8d3c.entry.js} +1 -1
  538. package/dist/vega/p-6a6c1279.js +1 -0
  539. package/dist/vega/{p-5e9e04f3.entry.js → p-6ae93679.entry.js} +1 -1
  540. package/dist/vega/{p-433b1395.entry.js → p-6d90d28d.entry.js} +1 -1
  541. package/dist/vega/p-6e9e7131.js +1 -0
  542. package/dist/vega/{p-014cd411.js → p-6eedbc4f.js} +1 -1
  543. package/dist/vega/{p-c348eaf5.js → p-6fae6768.js} +1 -1
  544. package/dist/vega/p-71813a9e.entry.js +1 -0
  545. package/dist/vega/{p-860e76f5.entry.js → p-729529d6.entry.js} +1 -1
  546. package/dist/vega/{p-aa433430.entry.js → p-75bfbffe.entry.js} +1 -1
  547. package/dist/vega/{p-d6023dc0.entry.js → p-764b4e51.entry.js} +1 -1
  548. package/dist/vega/p-77bcdd35.js +1 -0
  549. package/dist/vega/{p-c41a2d4a.js → p-7d3419c7.js} +1 -1
  550. package/dist/vega/p-8387896e.js +1 -0
  551. package/dist/vega/p-853a05eb.js +1 -0
  552. package/dist/vega/{p-db11134b.entry.js → p-8e8b5790.entry.js} +1 -1
  553. package/dist/vega/{p-444e24c6.js → p-8ebe30a8.js} +1 -1
  554. package/dist/vega/p-8f00dfe6.js +1 -0
  555. package/dist/vega/{p-4022412e.entry.js → p-9236b8d9.entry.js} +1 -1
  556. package/dist/vega/p-9402f32f.js +1 -0
  557. package/dist/vega/{p-691bdc20.js → p-941a83db.js} +1 -1
  558. package/dist/vega/{p-840444c9.entry.js → p-942f9ea6.entry.js} +1 -1
  559. package/dist/vega/{p-5110c84f.js → p-96c090c4.js} +1 -1
  560. package/dist/vega/{p-328ebbdb.entry.js → p-9fdf66a8.entry.js} +1 -1
  561. package/dist/vega/{p-867cc602.entry.js → p-a2c45173.entry.js} +1 -1
  562. package/dist/vega/{p-66fe8b4e.entry.js → p-a54ed341.entry.js} +1 -1
  563. package/dist/vega/{p-44999c88.entry.js → p-a6a89f09.entry.js} +1 -1
  564. package/dist/vega/{p-ccbed811.entry.js → p-a8a246e8.entry.js} +1 -1
  565. package/dist/vega/p-a93b3aed.js +1 -0
  566. package/dist/vega/{p-528748fa.js → p-aa135628.js} +1 -1
  567. package/dist/vega/{p-a1f220ca.js → p-ab9d53e9.js} +1 -1
  568. package/dist/vega/{p-e18c0656.entry.js → p-af0cfea0.entry.js} +1 -1
  569. package/dist/vega/p-af0e9bd5.entry.js +1 -0
  570. package/dist/vega/{p-daba4af1.js → p-b1557bbe.js} +1 -1
  571. package/dist/vega/{p-f13b39d8.js → p-b2a4314a.js} +1 -1
  572. package/dist/vega/p-b94f164a.entry.js +1 -0
  573. package/dist/vega/{p-23c1f378.entry.js → p-b97ed9f7.entry.js} +1 -1
  574. package/dist/vega/{p-1a37d63c.entry.js → p-bbfffe6b.entry.js} +1 -1
  575. package/dist/vega/{p-aa914dbd.entry.js → p-beccc38c.entry.js} +1 -1
  576. package/dist/vega/{p-dd0bd78b.js → p-c34f4cbc.js} +1 -1
  577. package/dist/vega/p-c51de680.js +3 -0
  578. package/dist/vega/{p-e1c82ca9.js → p-c576e846.js} +1 -1
  579. package/dist/vega/p-c601eea6.js +1 -0
  580. package/dist/vega/{p-200c8914.entry.js → p-c6d2513c.entry.js} +1 -1
  581. package/dist/vega/{p-d62e618a.entry.js → p-ca6bd3a0.entry.js} +1 -1
  582. package/dist/vega/{p-ce82d6bb.entry.js → p-cab890be.entry.js} +1 -1
  583. package/dist/vega/p-cb1cd15f.entry.js +1 -0
  584. package/dist/vega/p-d1f47512.js +1 -0
  585. package/dist/vega/{p-66a785d0.entry.js → p-d37d2ea4.entry.js} +1 -1
  586. package/dist/vega/{p-2f89ee14.entry.js → p-d3e99d4a.entry.js} +1 -1
  587. package/dist/vega/{p-f9bfee81.entry.js → p-d6bd3ce4.entry.js} +1 -1
  588. package/dist/vega/{p-f2384411.entry.js → p-d7838f6e.entry.js} +1 -1
  589. package/dist/vega/{p-a4360b7e.entry.js → p-d8c9ea46.entry.js} +1 -1
  590. package/dist/vega/p-d9588b3f.entry.js +1 -0
  591. package/dist/vega/p-db69a5c9.entry.js +1 -0
  592. package/dist/vega/{p-50eda925.js → p-de1d0284.js} +1 -1
  593. package/dist/vega/{p-3c559c8b.js → p-de6fc52c.js} +1 -1
  594. package/dist/vega/{p-fa5cd8b1.js → p-e14323f3.js} +1 -1
  595. package/dist/vega/{p-bd7725f7.entry.js → p-e48b7a8a.entry.js} +1 -1
  596. package/dist/vega/p-e6f67a44.js +1 -0
  597. package/dist/vega/{p-7754b10f.entry.js → p-e8e3bf74.entry.js} +1 -1
  598. package/dist/vega/p-eadc10bc.entry.js +1 -0
  599. package/dist/vega/p-ee329596.entry.js +1 -0
  600. package/dist/vega/p-f01bc6a2.js +1 -0
  601. package/dist/vega/{p-94b54a95.js → p-f324e90e.js} +1 -1
  602. package/dist/vega/{p-f9a3805d.js → p-f48519d2.js} +1 -1
  603. package/dist/vega/{p-52878ea9.js → p-f485448a.js} +1 -1
  604. package/dist/vega/{p-4afd6715.entry.js → p-f8b2dbb9.entry.js} +1 -1
  605. package/dist/vega/{p-35d37477.entry.js → p-f8d13d01.entry.js} +1 -1
  606. package/dist/vega/{p-4370b954.entry.js → p-f902305d.entry.js} +1 -1
  607. package/dist/vega/{p-3c152bad.entry.js → p-f99f054c.entry.js} +1 -1
  608. package/dist/vega/{p-77fb3971.entry.js → p-fe41e3b6.entry.js} +1 -1
  609. package/dist/vega/vega.esm.js +1 -1
  610. package/package.json +1 -1
  611. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-conttroller.js +0 -85
  612. package/dist/vega/p-0b2c4c0b.js +0 -1
  613. package/dist/vega/p-1fa22fda.js +0 -1
  614. package/dist/vega/p-2529820e.js +0 -1
  615. package/dist/vega/p-35628af4.js +0 -1
  616. package/dist/vega/p-3a230d4b.entry.js +0 -1
  617. package/dist/vega/p-3a620268.js +0 -1
  618. package/dist/vega/p-4473d8b1.js +0 -3
  619. package/dist/vega/p-4a2fe3a4.js +0 -1
  620. package/dist/vega/p-5447a8e8.js +0 -1
  621. package/dist/vega/p-5af312f8.js +0 -1
  622. package/dist/vega/p-5b3c8a56.js +0 -1
  623. package/dist/vega/p-6493f13a.entry.js +0 -1
  624. package/dist/vega/p-66728dd4.entry.js +0 -1
  625. package/dist/vega/p-67e88cd7.entry.js +0 -1
  626. package/dist/vega/p-67eaf77e.js +0 -1
  627. package/dist/vega/p-6d6b4495.entry.js +0 -1
  628. package/dist/vega/p-7b133734.entry.js +0 -1
  629. package/dist/vega/p-7b84a943.entry.js +0 -1
  630. package/dist/vega/p-83ad8988.js +0 -1
  631. package/dist/vega/p-8c30a60d.js +0 -1
  632. package/dist/vega/p-8d2a9012.js +0 -1
  633. package/dist/vega/p-8d4be607.js +0 -1
  634. package/dist/vega/p-8d77c7cf.js +0 -1
  635. package/dist/vega/p-8f3b93db.js +0 -1
  636. package/dist/vega/p-9c2b3279.js +0 -1
  637. package/dist/vega/p-9c9ff871.entry.js +0 -1
  638. package/dist/vega/p-9d90e271.entry.js +0 -1
  639. package/dist/vega/p-a7517760.entry.js +0 -1
  640. package/dist/vega/p-c8fb3aac.entry.js +0 -1
  641. package/dist/vega/p-cede3535.js +0 -1
  642. package/dist/vega/p-cf4b3d40.entry.js +0 -1
  643. package/dist/vega/p-d35a31a5.entry.js +0 -1
  644. package/dist/vega/p-ded1ecc1.entry.js +0 -1
  645. package/dist/vega/p-e1a65e06.entry.js +0 -1
  646. package/dist/vega/p-e469ba27.entry.js +0 -1
  647. package/dist/vega/p-e4c5cb4f.js +0 -1
  648. package/dist/vega/p-fd23c365.entry.js +0 -1
  649. /package/dist/types/components/vega-dropdown/slimmers/controllers/{vega-dropdown-keyboard-conttroller.d.ts → vega-dropdown-keyboard-controller.d.ts} +0 -0
@@ -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.
@@ -22,6 +22,7 @@ export class MergeCellsButtonSlimmer extends TableSettingButtonSlimmer {
22
22
  icon: 'rte-table-merge-cells',
23
23
  title: 'Merge cells',
24
24
  showArrowIcon: true,
25
+ ariaLabel: 'Merge Cells',
25
26
  });
26
27
  this.handleDropdownItemClick = (input) => {
27
28
  if (Object.values(SplitCellOperationType).includes(input.detail)) {
@@ -35,7 +36,7 @@ export class MergeCellsButtonSlimmer extends TableSettingButtonSlimmer {
35
36
  };
36
37
  }
37
38
  renderBtnWrapper(renderBtn) {
38
- return (h("vega-dropdown", { minWidth: 150, trigger: "click", ref: (el) => {
39
+ return (h("vega-dropdown", { role: "presentation", isScreenPosition: true, minWidth: 150, trigger: "click", ref: (el) => {
39
40
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownClick, this.handleDropdownItemClick);
40
41
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownShow, this.handleDropdownVisibilityChange);
41
42
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownHide, this.handleDropdownVisibilityChange);
@@ -68,13 +69,13 @@ export class MergeCellsButtonSlimmer extends TableSettingButtonSlimmer {
68
69
  renderActionList() {
69
70
  const disabledMap = this.getMergeDirectionDisabledMap();
70
71
  return (h("div", { tabIndex: 0, role: "menu", slot: "items", onMouseDown: this.preventDefaultEvent, onKeyDown: this.preventDefaultEvent },
71
- h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELLS }, "Merge cells"),
72
- h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELL_UP, disabled: disabledMap[MergeCellsOperationType.MERGE_CELL_UP] }, "Merge cell up"),
73
- h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELL_RIGHT, disabled: disabledMap[MergeCellsOperationType.MERGE_CELL_RIGHT] }, "Merge cell right"),
74
- h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELL_DOWN, disabled: disabledMap[MergeCellsOperationType.MERGE_CELL_DOWN] }, "Merge cell down"),
75
- h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELL_LEFT, disabled: disabledMap[MergeCellsOperationType.MERGE_CELL_LEFT] }, "Merge cell left"),
76
- h("vega-dropdown-item", { itemKey: SplitCellOperationType.SPLIT_CELL_VERTICALLY, disabled: !this.selectSingleCell() }, "Split cell vertically"),
77
- h("vega-dropdown-item", { itemKey: SplitCellOperationType.SPLIT_CELL_HORIZONTALLY, disabled: !this.selectSingleCell() }, "Split cell horizontally")));
72
+ h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELLS, label: "Merge cells" }, "Merge cells"),
73
+ h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELL_UP, label: "Merge cell up", disabled: disabledMap[MergeCellsOperationType.MERGE_CELL_UP] }, "Merge cell up"),
74
+ h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELL_RIGHT, label: "Merge cell right", disabled: disabledMap[MergeCellsOperationType.MERGE_CELL_RIGHT] }, "Merge cell right"),
75
+ h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELL_DOWN, label: "Merge cell down", disabled: disabledMap[MergeCellsOperationType.MERGE_CELL_DOWN] }, "Merge cell down"),
76
+ h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELL_LEFT, label: "Merge cell left", disabled: disabledMap[MergeCellsOperationType.MERGE_CELL_LEFT] }, "Merge cell left"),
77
+ h("vega-dropdown-item", { itemKey: SplitCellOperationType.SPLIT_CELL_VERTICALLY, label: "Split cell vertically", disabled: !this.selectSingleCell() }, "Split cell vertically"),
78
+ h("vega-dropdown-item", { itemKey: SplitCellOperationType.SPLIT_CELL_HORIZONTALLY, label: "Split cell horizontally", disabled: !this.selectSingleCell() }, "Split cell horizontally")));
78
79
  }
79
80
  selectSingleCell() {
80
81
  return this.selectedCells.length === 1;
@@ -1,13 +1,20 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
1
7
  import { h } from '@stencil/core';
2
8
  import { TableSettingButtonSlimmer } from './table-setting-button-slimmer.abstract';
3
9
  import { DomNodeSubjectObserverFactory } from '../../../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
4
- import { VegaDropdownClick } from '../../../../../../../helpers/event-manager/event-id/vega-event-id';
10
+ import { VegaDropdownClick, VegaDropdownHide, VegaDropdownShow, } from '../../../../../../../helpers/event-manager/event-id/vega-event-id';
5
11
  import { TableSettingType } from '../../../setting-event-handlers/setting-event-handler.abstract';
6
12
  import { RowOperationType } from '../../../setting-event-handlers/row-operation';
7
13
  import { RTETableHeadBlock } from '../../../dto/table-head-block';
8
14
  import { RTETableBlock } from '../../../dto/table-block';
9
15
  import { getParentBlockByType } from '../../../utils/utils';
10
16
  import { RTETableBodyBlock } from '../../../dto/table-body-block';
17
+ import { MapToComponentField } from 'vega-slimmer/core';
11
18
  /**
12
19
  * Slimmer dedicated to building the row button.
13
20
  */
@@ -17,14 +24,20 @@ export class RowButtonSlimmer extends TableSettingButtonSlimmer {
17
24
  icon: 'rte-table-row',
18
25
  title: 'Row',
19
26
  showArrowIcon: true,
27
+ ariaLabel: 'Row Operations',
20
28
  });
21
29
  this.handleDropdownItemClick = (input) => {
22
30
  this.emitClickEvent([TableSettingType.ROW, input.detail]);
23
31
  };
32
+ this.handleDropdownVisibilityChange = ({ eventName }) => {
33
+ this.isRowDropdownOpen = eventName.toLocaleLowerCase().indexOf('show') >= 0;
34
+ };
24
35
  }
25
36
  renderBtnWrapper(renderBtn) {
26
- return (h("vega-dropdown", { minWidth: 180, trigger: "click", ref: (el) => {
37
+ return (h("vega-dropdown", { role: "presentation", isScreenPosition: true, minWidth: 180, trigger: "click", ref: (el) => {
27
38
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownClick, this.handleDropdownItemClick);
39
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownShow, this.handleDropdownVisibilityChange);
40
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownHide, this.handleDropdownVisibilityChange);
28
41
  } },
29
42
  renderBtn(),
30
43
  this.renderActionList()));
@@ -46,14 +59,13 @@ export class RowButtonSlimmer extends TableSettingButtonSlimmer {
46
59
  renderActionList() {
47
60
  const shouldChecked = this.areSelectedRowsHeaderRows();
48
61
  return (h("div", { tabIndex: 0, role: "menu", slot: "items", onMouseDown: this.preventDefaultEvent, onKeyDown: this.preventDefaultEvent },
49
- h("vega-dropdown-item", { itemKey: RowOperationType.HEADER_ROW },
50
- h("vega-flex", { alignItems: "center", direction: "row", gap: "size-8" },
51
- h("vega-toggle-switch", { key: shouldChecked.toString(), size: "small", checked: shouldChecked }),
52
- h("span", null, "Header row"))),
53
- h("vega-dropdown-item", { itemKey: RowOperationType.ADD_ROW_ABOVE }, "Insert row above"),
54
- h("vega-dropdown-item", { itemKey: RowOperationType.ADD_ROW_BELOW }, "Insert row below"),
55
- h("vega-dropdown-item", { disabled: this.areAllRowsSelected(), itemKey: RowOperationType.DELETE_ROW }, "Delete row"),
56
- h("vega-dropdown-item", { itemKey: RowOperationType.SELECT_ROW }, "Select row")));
62
+ h("vega-dropdown-item", { itemKey: RowOperationType.HEADER_ROW, label: "Header Row" },
63
+ h("vega-flex", { alignItems: "center", direction: "row", gap: "size-8", "aria-hidden": "true" },
64
+ h("vega-toggle-switch", { key: shouldChecked.toString(), size: "small", checked: shouldChecked, label: "Header Row" }))),
65
+ h("vega-dropdown-item", { itemKey: RowOperationType.ADD_ROW_ABOVE, label: "Insert row above" }, "Insert row above"),
66
+ h("vega-dropdown-item", { itemKey: RowOperationType.ADD_ROW_BELOW, label: "Insert row below" }, "Insert row below"),
67
+ h("vega-dropdown-item", { disabled: this.areAllRowsSelected(), itemKey: RowOperationType.DELETE_ROW, label: "Delete row" }, "Delete row"),
68
+ h("vega-dropdown-item", { itemKey: RowOperationType.SELECT_ROW, label: "Select row" }, "Select row")));
57
69
  }
58
70
  /**
59
71
  * Check if all selected rows are header rows.
@@ -101,3 +113,6 @@ export class RowButtonSlimmer extends TableSettingButtonSlimmer {
101
113
  return Array.from(selectedRows);
102
114
  }
103
115
  }
116
+ __decorate([
117
+ MapToComponentField({ writable: true })
118
+ ], RowButtonSlimmer.prototype, "isRowDropdownOpen", void 0);
@@ -9,6 +9,7 @@ export class TablePropertiesButtonSlimmer extends TableSettingButtonSlimmer {
9
9
  icon: 'rte-table-properties',
10
10
  title: 'table properties',
11
11
  showArrowIcon: false,
12
+ ariaLabel: 'Table Properties',
12
13
  });
13
14
  }
14
15
  renderBtnWrapper(renderBtn) {
@@ -8,13 +8,13 @@ import { h } from '@stencil/core';
8
8
  import { VegaInternalIconManager } from '../../../../../../../helpers/icon/internal-icon-manager';
9
9
  import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
10
10
  export class TableSettingButtonSlimmer extends VegaSlimmer {
11
- constructor({ icon, title, showArrowIcon }) {
11
+ constructor({ icon, title, showArrowIcon, ariaLabel }) {
12
12
  super();
13
13
  this.renderBtn = () => {
14
14
  const selected = this.isSelected();
15
15
  const disable = this.isDisabled();
16
- return (h("vega-tooltip", { key: `table-setting-${this.icon}`, text: this.getTitle(), placement: ['bottom', 'top'], trigger: "hover" },
17
- h("button", { type: "button", class: {
16
+ return (h("vega-tooltip", { role: "presentation", key: `table-setting-${this.icon}`, text: this.getTitle(), placement: ['bottom', 'top'], trigger: "hover" },
17
+ h("button", { type: "button", "aria-label": this.ariaLabel, class: {
18
18
  'rte-table-setting-item': true,
19
19
  'rte-table-setting-item-disabled': disable,
20
20
  'rte-table-setting-item-selected': selected,
@@ -26,13 +26,14 @@ export class TableSettingButtonSlimmer extends VegaSlimmer {
26
26
  }
27
27
  this.handleClick(event);
28
28
  }, onKeyDown: this.preventDefaultEvent, onMouseDown: this.preventDefaultEvent },
29
- h("vega-flex", { alignItems: "center", justifyContent: "center" },
29
+ h("vega-flex", { alignItems: "center", justifyContent: "center", "aria-hidden": "true" },
30
30
  h("vega-icon", { icon: VegaInternalIconManager.getIconKey(this.icon), size: "size-16", color: this.getIconColor() }),
31
31
  this.showArrowIcon ? (h("vega-icon", { size: "size-8", style: { marginLeft: '8px' }, icon: VegaInternalIconManager.getIconKey('chevron-down'), color: this.getIconColor() })) : null))));
32
32
  };
33
33
  this.icon = icon;
34
34
  this.title = title;
35
35
  this.showArrowIcon = showArrowIcon;
36
+ this.ariaLabel = ariaLabel;
36
37
  }
37
38
  render() {
38
39
  return typeof this.renderBtnWrapper === 'function'
@@ -16,7 +16,7 @@ const buttonList = [
16
16
  ];
17
17
  export class VegaRichTextTableSettingRenderer extends VegaSlimmer {
18
18
  render() {
19
- return (h("vega-flex", { gap: "size-8", class: "rte-table-setting-content" }, buttonList.map((item) => this.renderButton(item))));
19
+ return (h("div", { class: "rte-table-setting-content" }, buttonList.map((item) => this.renderButton(item))));
20
20
  }
21
21
  renderButton(item) {
22
22
  switch (item) {
@@ -3,8 +3,14 @@
3
3
  * Deprecated. Not for use in new websites.
4
4
  * https://developer.mozilla.org/en-US/docs/Web/CSS/word-break#break-word
5
5
  */
6
+ :host .rte-table-setting-content {
7
+ display: flex;
8
+ gap: 8px;
9
+ align-items: center;
10
+ }
6
11
  :host .rte-table-setting-item {
7
12
  border: none;
13
+ border-radius: 4px;
8
14
  padding-top: 4px;
9
15
  padding-bottom: 4px;
10
16
  padding-left: 4px;
@@ -12,6 +18,10 @@
12
18
  cursor: pointer;
13
19
  background-color: rgba(var(--v-bg-primary, 252, 252, 252, 1));
14
20
  }
21
+ :host .rte-table-setting-item:focus {
22
+ outline: 2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));
23
+ outline-offset: -1px;
24
+ }
15
25
  :host .rte-table-setting-item:not(.rte-table-setting-item-disabled, .rte-table-setting-item-selected):hover {
16
26
  background-color: rgba(var(--v-bg-quaternary, 241, 248, 251, 1));
17
27
  }
@@ -40,6 +40,7 @@ export class VegaRichTextTableSetting {
40
40
  this.cellPropertiesButtonSlimmer = new CellPropertiesButtonSlimmer();
41
41
  this.mergeCellsButtonSlimmer = new MergeCellsButtonSlimmer();
42
42
  this.isColumnDropdownOpen = false;
43
+ this.isRowDropdownOpen = false;
43
44
  this.isMergeCellsDropdownOpen = false;
44
45
  /**
45
46
  * Indicates whether the current table already has a caption.
@@ -154,6 +155,7 @@ export class VegaRichTextTableSetting {
154
155
  }; }
155
156
  static get states() { return {
156
157
  "isColumnDropdownOpen": {},
158
+ "isRowDropdownOpen": {},
157
159
  "isMergeCellsDropdownOpen": {}
158
160
  }; }
159
161
  static get events() { return [{
@@ -22,6 +22,7 @@ export class RTETokenToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer
22
22
  return this.renderDropdown(createElement, editorContext, {}, [
23
23
  this.renderButton(createElement, editorContext, {
24
24
  label: 'Tokens',
25
+ ariaLabel: 'Tokens',
25
26
  showArrowIcon: true,
26
27
  tooltip: { text: 'Insert token' },
27
28
  }),
@@ -0,0 +1,70 @@
1
+ import { isNonNullable } from '../../../../../types/type-guard';
2
+ import { ActionHandlerInterceptor } from '../../../dto/action-handle-strategies/action-handle-interceptor.abstract';
3
+ import { methodPlaceholder } from 'vega-slimmer/core';
4
+ import { RTE_WORD_COUNT_KEY } from '../../../constants/constant';
5
+ /**
6
+ * Vetoes a commit that would push the character count past the hard limit, while
7
+ * still allowing deletions and formatting that keep or reduce the count.
8
+ */
9
+ export class PreventHardLimitExceedInterceptor extends ActionHandlerInterceptor {
10
+ /**
11
+ * Intercept when the candidate exceeds the configured maximum. Hard-limit
12
+ * commits are vetoed only when they increase the count.
13
+ *
14
+ * @param {CommitValueAction} action - the commit action carrying the candidate and previous values
15
+ * @returns {boolean} - whether the commit should be vetoed
16
+ */
17
+ canIntercept(action) {
18
+ var _a;
19
+ const extension = (_a = action.host.extensions) === null || _a === void 0 ? void 0 : _a.find((item) => this.isWordCountExtension(item));
20
+ if (!extension) {
21
+ return false;
22
+ }
23
+ const { hardLimit, maxChars } = extension.getConfig();
24
+ const nextContent = action.candidate.getPlainText();
25
+ const nextCount = extension.calculateTextCount(nextContent);
26
+ if (!isNonNullable(maxChars) || nextCount <= maxChars) {
27
+ return false;
28
+ }
29
+ let result = false;
30
+ let prevContent = '';
31
+ if (hardLimit && action.previous) {
32
+ prevContent = action.previous.getPlainText();
33
+ result = nextCount > extension.calculateTextCount(prevContent);
34
+ }
35
+ this.notifyCharsLimitExceeded(nextContent, prevContent, extension, action);
36
+ return result;
37
+ }
38
+ /**
39
+ * Not invoke the origin action handle to veto the commit that would push the character count past the hard limit.
40
+ */
41
+ intercept() {
42
+ methodPlaceholder();
43
+ }
44
+ /**
45
+ * Notify the consumer when the candidate exceeds the configured character limit.
46
+ * The previous content is empty when hard limit is not enabled for the performance optimization.
47
+ *
48
+ * @param {string} nextContent - the candidate content string
49
+ * @param {string} prevContent - the previous content string
50
+ * @param {VegaRTEWordCountExtension} extension - the configured word count extension
51
+ * @param {CommitValueAction} action - the commit action carrying the candidate value
52
+ */
53
+ notifyCharsLimitExceeded(nextContent, prevContent, extension, action) {
54
+ const { maxChars, hardLimit, onCharsLimitExceeded } = extension.getConfig();
55
+ if (typeof onCharsLimitExceeded === 'function') {
56
+ if (!hardLimit || prevContent !== nextContent) {
57
+ onCharsLimitExceeded(action.host, maxChars);
58
+ }
59
+ }
60
+ }
61
+ /**
62
+ * Check if the given extension is a word count extension.
63
+ *
64
+ * @param {VegaRTEExtension} extension - the extension to check
65
+ * @returns {boolean} - whether the extension is a word count extension
66
+ */
67
+ isWordCountExtension(extension) {
68
+ return extension['type'] === RTE_WORD_COUNT_KEY;
69
+ }
70
+ }
@@ -0,0 +1,62 @@
1
+ import { RTE_WORD_COUNT_KEY } from '../../constants/constant';
2
+ import { VegaRTEExtension } from '../extension.abstract';
3
+ import { VegaRTEContent } from '../../dto/content-state';
4
+ import { COMMIT_VALUE } from '../../dto/actions/commit-value-action';
5
+ import { PreventHardLimitExceedInterceptor } from './action-handler-interceptors/prevent-hard-limit-exceed-interceptor';
6
+ /**
7
+ * Default configuration applied when a word count option is not provided.
8
+ */
9
+ export const DEFAULT_WORD_COUNT_CONFIG = {
10
+ showCharCount: true,
11
+ countInlineBreak: false,
12
+ hardLimit: false,
13
+ };
14
+ /**
15
+ * Rich Text Editor extension that provides character counting.
16
+ */
17
+ export class VegaRTEWordCountExtension extends VegaRTEExtension {
18
+ constructor(config = {}) {
19
+ super();
20
+ /**
21
+ * Runtime discriminator used by the core to identify this extension.
22
+ */
23
+ this.type = RTE_WORD_COUNT_KEY;
24
+ this.config = Object.assign(Object.assign({}, DEFAULT_WORD_COUNT_CONFIG), config);
25
+ }
26
+ /**
27
+ * Get the extension configuration.
28
+ *
29
+ * @returns {ResolvedRTEWordCountConfig} The word count configuration.
30
+ */
31
+ getConfig() {
32
+ return this.config;
33
+ }
34
+ /**
35
+ * Compute the character count data for the given editor content.
36
+ *
37
+ * @param {VegaRTEContent} value - The editor content.
38
+ * @returns {VegaRTEWordCountData} The computed character count data.
39
+ */
40
+ getData(value) {
41
+ const plainText = value.getPlainText();
42
+ const { maxChars, hardLimit } = this.config;
43
+ const count = this.calculateTextCount(plainText);
44
+ return { count, maxChars, hardLimit };
45
+ }
46
+ /**
47
+ * Get the character count for the given content string.
48
+ *
49
+ * @param {string} content - The content string.
50
+ * @returns {number} The character count.
51
+ */
52
+ calculateTextCount(content) {
53
+ const { countInlineBreak } = this.config;
54
+ const text = countInlineBreak ? content : content.replace(/\n/g, '');
55
+ // Use the spread operator so that surrogate pairs (e.g. emoji) count as a single character.
56
+ return [...text].length;
57
+ }
58
+ }
59
+ (() => {
60
+ // Gate over-limit commits through the shared action-interceptor pipeline.
61
+ VegaRTEExtension.registerActionHandlerInterceptor(VegaRTEContent.name, COMMIT_VALUE, new PreventHardLimitExceedInterceptor());
62
+ })();
@@ -32,6 +32,7 @@ export { VegaRTEPasteExtension } from './extensions/paste/paste-extension';
32
32
  export { VegaRTECopyExtension } from './extensions/copy/copy-extension';
33
33
  export { VegaRTECutExtension } from './extensions/cut/cut-extension';
34
34
  export { VegaRTEImageExtension } from './extensions/image/image-extension';
35
+ export { VegaRTEWordCountExtension } from './extensions/word-count/word-count-extension';
35
36
  // actions
36
37
  export { ModifyContentAction, ModifyContentActionType } from './dto/actions/modify-content-action.abstract';
37
38
  export { AppendChildrenAction } from './dto/actions/append-child-nodes-action';
@@ -8,7 +8,7 @@ import { VegaSlimmer, MapToComponentField, MapToComponentMethod } from 'vega-sli
8
8
  import { RTETextBlock } from '../../dto/blocks/text-block';
9
9
  import { RTETextNode } from '../../dto/nodes/text-node';
10
10
  import stateEntityRenderingRegistry from './state-entity-rendering-registry';
11
- import { ZERO_WIDTH_SPACE } from '../../constants/constant';
11
+ import { RTE_UPDATE_SOURCE_KEY, RTEUpdateSource, ZERO_WIDTH_SPACE } from '../../constants/constant';
12
12
  import { UpdateTextAction } from '../../dto/actions/update-text-action';
13
13
  import changeManager from '../../../../helpers/change-manager/change-manager';
14
14
  import domNodeSubjectFactory from '../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
@@ -215,6 +215,7 @@ export class InsertCompositionTextController extends VegaSlimmer {
215
215
  const inputEvent = new CustomEvent('beforeinput');
216
216
  inputEvent['data'] = text;
217
217
  inputEvent['inputType'] = 'insertText';
218
+ inputEvent[RTE_UPDATE_SOURCE_KEY] = RTEUpdateSource.Composition;
218
219
  this.editableElementRef.dispatchEvent(inputEvent);
219
220
  }
220
221
  }
@@ -15,6 +15,7 @@ import { InsertPasteHandler } from './helper/input-event-handler/insert-paste-ha
15
15
  import { KeyboardLinkHandler } from './helper/input-event-handler/keyboard-link-handler';
16
16
  import { generateUUID } from '../../../../utils/misc';
17
17
  import { RTECodeBlock } from '../../dto/blocks/code-block';
18
+ import { RTE_UPDATE_SOURCE_KEY, RTEUpdateSource } from '../../constants/constant';
18
19
  /** Used to monitoring the user input actions by event listener */
19
20
  export class UserInputController extends VegaSlimmer {
20
21
  constructor() {
@@ -50,6 +51,7 @@ export class UserInputController extends VegaSlimmer {
50
51
  }
51
52
  this.insertCompositionTextController.removeObserver();
52
53
  let updateFlag = false;
54
+ let updateSource = RTEUpdateSource.Default;
53
55
  switch (inputType) {
54
56
  case 'insertParagraph':
55
57
  updateFlag = true;
@@ -57,6 +59,10 @@ export class UserInputController extends VegaSlimmer {
57
59
  break;
58
60
  case 'insertText':
59
61
  updateFlag = true;
62
+ updateSource =
63
+ e[RTE_UPDATE_SOURCE_KEY] === RTEUpdateSource.Composition
64
+ ? RTEUpdateSource.Composition
65
+ : RTEUpdateSource.Default;
60
66
  this.insertTextHandler.execute(this.value, this.selectionController, this.host, e);
61
67
  break;
62
68
  case 'insertLineBreak':
@@ -77,7 +83,7 @@ export class UserInputController extends VegaSlimmer {
77
83
  break;
78
84
  }
79
85
  if (updateFlag) {
80
- void this.valueController.flushChanges(this.value);
86
+ void this.valueController.flushChanges(this.value, true, updateSource);
81
87
  }
82
88
  };
83
89
  }
@@ -17,10 +17,18 @@ import { waitForComponentDidRender } from '../../../../helpers/common/wait-for-c
17
17
  import { RTEEditorState } from '../../dto/editor-state';
18
18
  import { RTESelectionState } from '../../dto/selection-state';
19
19
  import stateEntityRenderingRegistry from './state-entity-rendering-registry';
20
+ import { ActionHandleStrategyRegistry } from '../../dto/action-handle-strategies/action-handle-strategy-registry';
21
+ import { CommitValueAction } from '../../dto/actions/commit-value-action';
22
+ import { RTEUpdateSource } from '../../constants/constant';
20
23
  /**
21
24
  * The value controller is responsible for updating the value of the rich text editor.
22
25
  */
23
26
  export class ValueController extends VegaSlimmer {
27
+ constructor() {
28
+ super(...arguments);
29
+ // Deep clone of the last committed value, kept only while a commit validator is active, used to roll back rejected changes.
30
+ this.committedSnapshot = null;
31
+ }
24
32
  /**
25
33
  * Component lifecycle - [connectedCallback]{@link VegaRichTextEditor.connectedCallback}
26
34
  */
@@ -65,15 +73,47 @@ export class ValueController extends VegaSlimmer {
65
73
  });
66
74
  }
67
75
  this.registerEditorRefAndContent();
76
+ this.seedCommittedSnapshot();
77
+ }
78
+ /**
79
+ * Seeds the rollback snapshot from the current value while a commit interceptor is active.
80
+ * Runs on load and on extension changes so runtime re-registration stays protected.
81
+ */
82
+ seedCommittedSnapshot() {
83
+ if (this.wordCountController.hasWordCountHardLimit()) {
84
+ this.committedSnapshot = this.value ? this.value.clone(true) : null;
85
+ }
68
86
  }
69
87
  /**
70
88
  * Updates the value of the editor and restore the selection.
71
89
  *
72
90
  * @param {VegaRTEContent} newValue The new value to set.
73
91
  * @param {boolean} recordHistory - Whether to record the change in history.
92
+ * @param {RTEUpdateSource} updateSource - The source of the update, defaulting to 'default'.
74
93
  */
75
- async flushChanges(newValue, recordHistory = true) {
76
- this.value = newValue.clone();
94
+ async flushChanges(newValue, recordHistory = true, updateSource = RTEUpdateSource.Default) {
95
+ const previous = this.committedSnapshot;
96
+ const action = new CommitValueAction(newValue, previous, this.host);
97
+ const committed = ActionHandleStrategyRegistry.executeTheStrategy(action, newValue);
98
+ if (!committed) {
99
+ if (updateSource === RTEUpdateSource.Composition) {
100
+ // The composition input characters cannot be deleted, so we force a repaint to restore the content from the model.
101
+ this.vegaRichTextEditorRenderer.forceContentRepaint();
102
+ }
103
+ else {
104
+ // The commit was vetoed, so restore the placeholder the framework skipped repainting and roll back.
105
+ this.vegaRichTextEditorRenderer.restoreEmptyTextPlaceholders();
106
+ }
107
+ // Deep clone so the rolled-back value never shares nodes with the snapshot, which in-place edits would otherwise corrupt.
108
+ this.value = (previous !== null && previous !== void 0 ? previous : newValue).clone(true);
109
+ if (previous) {
110
+ // Seed the snapshot again so the next commit attempt has a valid rollback point.
111
+ this.seedCommittedSnapshot();
112
+ }
113
+ await waitForComponentDidRender(this.host);
114
+ return;
115
+ }
116
+ this.value = committed.clone();
77
117
  if (recordHistory) {
78
118
  this.historyController.registerHistory(new RTEEditorState(this.value, new RTESelectionState(this.selectionController.getCurrentRange())));
79
119
  }
@@ -115,6 +155,12 @@ __decorate([
115
155
  __decorate([
116
156
  MapToComponentField()
117
157
  ], ValueController.prototype, "selectionController", void 0);
158
+ __decorate([
159
+ MapToComponentField()
160
+ ], ValueController.prototype, "wordCountController", void 0);
161
+ __decorate([
162
+ MapToComponentField()
163
+ ], ValueController.prototype, "vegaRichTextEditorRenderer", void 0);
118
164
  __decorate([
119
165
  MapToComponentField()
120
166
  ], ValueController.prototype, "sourceEditConfig", void 0);
@@ -130,3 +176,7 @@ __decorate([
130
176
  __decorate([
131
177
  MapToComponentMethod('watchValueUpdate')
132
178
  ], ValueController.prototype, "watchValueUpdate", null);
179
+ __decorate([
180
+ MapToComponentMethod('componentDidLoad'),
181
+ MapToComponentMethod('watchExtensions')
182
+ ], ValueController.prototype, "seedCommittedSnapshot", null);