@globalpayments/vega 2.99.0 → 2.100.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (509) hide show
  1. package/dist/cjs/{accessibility-88f8af84.js → accessibility-6ca2a237.js} +21 -0
  2. package/dist/cjs/{app-globals-a306dce6.js → app-globals-48d067a7.js} +11 -10
  3. package/dist/cjs/{aria-attributes-value-mapper-9a41b9cf.js → aria-attributes-value-mapper-e8c6b0e0.js} +1 -1
  4. package/dist/cjs/{code-block-ea1f5eb3.js → code-block-3b42c364.js} +53 -1
  5. package/dist/cjs/{component-value-history-controller-slimmer.abstract-7071b064.js → component-value-history-controller-slimmer.abstract-bbe3bcaf.js} +3 -3
  6. package/dist/cjs/{content-state-8d07d530.js → content-state-87a06c1a.js} +46 -2
  7. package/dist/cjs/{date-required-rule-c0c498ad.js → date-required-rule-45c802d3.js} +1 -1
  8. package/dist/cjs/{design-token-58bf7fe8.js → design-token-9d762da0.js} +3 -3
  9. package/dist/cjs/{element-appender-slimmer-a0269315.js → element-appender-slimmer-f7ba5d9a.js} +2 -2
  10. package/dist/cjs/{form-field-controller-slimmer-f73f200e.js → form-field-controller-slimmer-fbaddc91.js} +1 -1
  11. package/dist/cjs/{image-annotation-action-2a28038e.js → image-annotation-action-03d3e01a.js} +6 -5
  12. package/dist/cjs/{image-extension-9659708b.js → image-extension-ccda26d3.js} +2 -2
  13. package/dist/cjs/index.cjs.js +18 -17
  14. package/dist/cjs/{inject-keyboard-manager-4fa45f9c.js → inject-keyboard-manager-540f0876.js} +1 -1
  15. package/dist/cjs/{internal-calendar-period-factory-6196bc80.js → internal-calendar-period-factory-b11918ee.js} +1 -1
  16. package/dist/cjs/{internal-translation-controller-51f7f865.js → internal-translation-controller-27bfc8c7.js} +15 -0
  17. package/dist/cjs/{keyboard-manager-482fe257.js → keyboard-manager-16e96b62.js} +12 -5
  18. package/dist/cjs/{keyboard-manager-slimmer-a19430dd.js → keyboard-manager-slimmer-0a4e556d.js} +1 -1
  19. package/dist/cjs/{link-extension-11340e1c.js → link-extension-71eeaa9f.js} +3 -3
  20. package/dist/cjs/loader.cjs.js +12 -12
  21. package/dist/cjs/{month-view-generator-1a534451.js → month-view-generator-0a3e04de.js} +1 -1
  22. package/dist/cjs/overlay-escape-coordination-901d8942.js +38 -0
  23. package/dist/cjs/{public-rules-6c77b545.js → public-rules-3dc5d02d.js} +7 -7
  24. package/dist/cjs/{range-22ddd452.js → range-d29751e3.js} +1 -1
  25. package/dist/cjs/{responsive-format-facade-74e6d791.js → responsive-format-facade-c6d7f0a1.js} +1 -1
  26. package/dist/cjs/{rich-text-editor-required-rule-09d1093a.js → rich-text-editor-required-rule-05de7f0c.js} +1 -1
  27. package/dist/cjs/{split-cell-operation-11bfb305.js → split-cell-operation-ef783850.js} +3 -3
  28. package/dist/cjs/{state-border-formatter-bf4f9f1c.js → state-border-formatter-dda9109a.js} +1 -1
  29. package/dist/cjs/{string-format-strategy.abstract-bf37b14c.js → string-format-strategy.abstract-3a968a59.js} +1 -1
  30. package/dist/cjs/{string-input-formatter-slimmer-ffeb18a6.js → string-input-formatter-slimmer-9747039f.js} +1 -1
  31. package/dist/cjs/{string-mask-strategy-7f394726.js → string-mask-strategy-d9f85c21.js} +2 -2
  32. package/dist/cjs/{style-formatter-4ac63910.js → style-formatter-d21a9784.js} +2 -2
  33. package/dist/cjs/{time-required-rule-e2a50003.js → time-required-rule-580cbd3d.js} +1 -1
  34. package/dist/cjs/{token-extension-4686cb3b.js → token-extension-8d7bd451.js} +807 -49
  35. package/dist/cjs/{translation-slimmer-e4997f8f.js → translation-slimmer-31cd5a57.js} +1 -1
  36. package/dist/cjs/{type-guard-b8d7bb3f.js → type-guard-00b8efc0.js} +1 -1
  37. package/dist/cjs/{valid-credit-card-number-rule-f5a6f009.js → valid-credit-card-number-rule-70885128.js} +1 -1
  38. package/dist/cjs/vega-accordion.cjs.entry.js +6 -6
  39. package/dist/cjs/vega-app-header-button.cjs.entry.js +6 -6
  40. package/dist/cjs/vega-banner.cjs.entry.js +1 -1
  41. package/dist/cjs/vega-box.cjs.entry.js +6 -6
  42. package/dist/cjs/vega-button-circle.cjs.entry.js +6 -6
  43. package/dist/cjs/vega-button-group_2.cjs.entry.js +13 -6
  44. package/dist/cjs/vega-button-link.cjs.entry.js +3 -3
  45. package/dist/cjs/vega-button.cjs.entry.js +21 -5
  46. package/dist/cjs/vega-calendar_5.cjs.entry.js +8 -8
  47. package/dist/cjs/vega-card.cjs.entry.js +5 -5
  48. package/dist/cjs/vega-carousel.cjs.entry.js +4 -4
  49. package/dist/cjs/vega-checkbox_2.cjs.entry.js +3 -3
  50. package/dist/cjs/vega-chip.cjs.entry.js +6 -6
  51. package/dist/cjs/vega-code-block.cjs.entry.js +9 -9
  52. package/dist/cjs/vega-color-picker.cjs.entry.js +3 -3
  53. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +3 -3
  54. package/dist/cjs/vega-color-swatch.cjs.entry.js +3 -3
  55. package/dist/cjs/vega-combo-box.cjs.entry.js +9 -9
  56. package/dist/cjs/vega-date-picker_2.cjs.entry.js +14 -14
  57. package/dist/cjs/vega-dialog_2.cjs.entry.js +70 -4
  58. package/dist/cjs/vega-divider.cjs.entry.js +5 -5
  59. package/dist/cjs/vega-dropdown_5.cjs.entry.js +100 -17
  60. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  61. package/dist/cjs/vega-field-label.cjs.entry.js +26 -33
  62. package/dist/cjs/vega-file-uploader.cjs.entry.js +4 -4
  63. package/dist/cjs/vega-flag-icon.cjs.entry.js +5 -5
  64. package/dist/cjs/vega-flex.cjs.entry.js +6 -6
  65. package/dist/cjs/vega-font.cjs.entry.js +5 -5
  66. package/dist/cjs/vega-form.cjs.entry.js +2 -2
  67. package/dist/cjs/vega-grid.cjs.entry.js +5 -5
  68. package/dist/cjs/vega-icon.cjs.entry.js +5 -5
  69. package/dist/cjs/vega-image-uploader.cjs.entry.js +6 -6
  70. package/dist/cjs/vega-input-credit-card.cjs.entry.js +6 -6
  71. package/dist/cjs/vega-input-numeric.cjs.entry.js +5 -5
  72. package/dist/cjs/vega-input-passcode.cjs.entry.js +5 -5
  73. package/dist/cjs/vega-input-phone-number.cjs.entry.js +41 -7
  74. package/dist/cjs/vega-input-range.cjs.entry.js +4 -4
  75. package/dist/cjs/vega-input-select.cjs.entry.js +24 -7
  76. package/dist/cjs/vega-input.cjs.entry.js +8 -8
  77. package/dist/cjs/vega-left-nav_5.cjs.entry.js +7 -7
  78. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
  79. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  80. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +2 -2
  81. package/dist/cjs/vega-pagination.cjs.entry.js +4 -4
  82. package/dist/cjs/vega-popover_2.cjs.entry.js +58 -9
  83. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +4 -4
  84. package/dist/cjs/vega-radio_2.cjs.entry.js +6 -6
  85. package/dist/cjs/vega-rich-text-content.cjs.entry.js +11 -8
  86. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +703 -241
  87. package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +3 -3
  88. package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +5 -5
  89. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +156 -103
  90. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +5 -5
  91. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +2 -2
  92. package/dist/cjs/vega-sidenav_3.cjs.entry.js +4 -4
  93. package/dist/cjs/vega-signature-capture.cjs.entry.js +7 -7
  94. package/dist/cjs/vega-stepper.cjs.entry.js +2 -2
  95. package/dist/cjs/vega-tab-group_2.cjs.entry.js +3 -3
  96. package/dist/cjs/vega-table_11.cjs.entry.js +5 -5
  97. package/dist/cjs/vega-textarea.cjs.entry.js +2 -2
  98. package/dist/cjs/vega-time-picker_2.cjs.entry.js +10 -10
  99. package/dist/cjs/vega-toggle-switch.cjs.entry.js +3 -3
  100. package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
  101. package/dist/cjs/vega.cjs.js +12 -12
  102. package/dist/collection/components/vega-button/vega-button.js +17 -2
  103. package/dist/collection/components/vega-button-group/vega-button-group-item/slimmers/renderers/vega-button-group-item-renderer.js +13 -6
  104. package/dist/collection/components/vega-button-link/vega-button-link.js +2 -2
  105. package/dist/collection/components/vega-code-block/vega-code-block.css +4 -4
  106. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-controller.js +148 -0
  107. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.js +5 -2
  108. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.js +17 -0
  109. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +2 -2
  110. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +2 -1
  111. package/dist/collection/components/vega-dropdown/vega-dropdown.js +1 -1
  112. package/dist/collection/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.js +21 -30
  113. package/dist/collection/components/vega-field-label/vega-field-label.js +7 -5
  114. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +19 -2
  115. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +66 -0
  116. package/dist/collection/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.js +17 -0
  117. package/dist/collection/components/vega-popover/vega-popover.js +33 -1
  118. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +4 -1
  119. package/dist/collection/components/vega-rich-text-editor/constants/constant.js +9 -0
  120. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.js +13 -0
  121. package/dist/collection/components/vega-rich-text-editor/dto/actions/commit-value-action.js +20 -0
  122. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +11 -0
  123. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +10 -0
  124. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +11 -0
  125. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +6 -0
  126. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +8 -0
  127. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +6 -0
  128. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +30 -18
  129. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-toolbar-button-renderer.js +1 -0
  130. package/dist/collection/components/vega-rich-text-editor/extensions/copy/copy-toolbar-button-renderer.js +1 -0
  131. package/dist/collection/components/vega-rich-text-editor/extensions/cut/cut-toolbar-button-renderer.js +1 -0
  132. package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.js +51 -0
  133. package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/vega-rich-text-find-replace-panel/slimmers/renderers/find-replace-panel-renderer.js +2 -2
  134. package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-toolbar-button-renderer.js +3 -0
  135. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.js +6 -0
  136. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +1 -0
  137. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/renderers/horizontal-line-toolbar-button-renderer.js +1 -0
  138. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +5 -3
  139. package/dist/collection/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.js +16 -0
  140. package/dist/collection/components/vega-rich-text-editor/extensions/special-characters/special-characters-toolbar-button-renderer.js +2 -0
  141. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.js +3 -9
  142. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-cell-renderer.js +2 -2
  143. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.js +81 -1
  144. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.js +148 -0
  145. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.js +151 -5
  146. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.js +144 -2
  147. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-selection.js +26 -1
  148. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-toolbar-button-renderer.js +1 -0
  149. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-cell-properties-form-field-renderer.js +11 -2
  150. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-basic-form-field-renderer.abstract.js +5 -2
  151. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-form-field-renderer.js +5 -1
  152. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.css +5 -0
  153. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.js +16 -1
  154. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/caption-button-slimmer.js +1 -0
  155. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/cell-properties-button-slimmer.js +1 -0
  156. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/column-button-slimmer.js +10 -9
  157. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/merge-cells-button-slimmer.js +9 -8
  158. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.js +25 -10
  159. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-properties-button-slimmer.js +1 -0
  160. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-setting-button-slimmer.abstract.js +5 -4
  161. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/vega-rich-text-table-setting-renderer.js +1 -1
  162. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.css +10 -0
  163. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.js +2 -0
  164. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +1 -0
  165. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.js +70 -0
  166. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/type.js +1 -0
  167. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/word-count-extension.js +62 -0
  168. package/dist/collection/components/vega-rich-text-editor/public-api.js +1 -0
  169. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-composition-text-controller.js +2 -1
  170. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +7 -1
  171. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +52 -2
  172. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.js +79 -0
  173. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +6 -3
  174. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +2 -1
  175. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +2 -1
  176. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +3 -2
  177. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +111 -2
  178. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +17 -6
  179. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +1 -1
  180. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +1 -1
  181. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +3 -2
  182. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +59 -8
  183. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer.js +1 -1
  184. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.js +13 -1
  185. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +16 -0
  186. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.js +124 -0
  187. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.js +9 -1
  188. package/dist/collection/global/scripts/before-vega-load.js +2 -0
  189. package/dist/collection/helpers/keyboard/keyboard-manager.js +11 -4
  190. package/dist/collection/helpers/keyboard/overlay-escape-coordination.js +33 -0
  191. package/dist/collection/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.js +1 -1
  192. package/dist/collection/helpers/translation/locales/en.js +15 -0
  193. package/dist/collection/polyfill/libphonenumber/as-you-type.js +21 -3
  194. package/dist/collection/polyfill/libphonenumber/metadata.js +16 -0
  195. package/dist/collection/utils/accessibility.js +20 -0
  196. package/dist/esm/{accessibility-6af5cf2e.js → accessibility-c899a968.js} +21 -1
  197. package/dist/esm/{app-globals-c59364c2.js → app-globals-1e1371d5.js} +11 -10
  198. package/dist/esm/{aria-attributes-value-mapper-2c632641.js → aria-attributes-value-mapper-a5c7478e.js} +1 -1
  199. package/dist/esm/{aria-dialog-focusable-trap-slimmer-f069f54d.js → aria-dialog-focusable-trap-slimmer-b2a24a45.js} +2 -2
  200. package/dist/esm/{child-nodes-notify-observer-slimmer-499a3aa7.js → child-nodes-notify-observer-slimmer-034bc78c.js} +1 -1
  201. package/dist/esm/{code-block-e6443949.js → code-block-741d6b8e.js} +54 -4
  202. package/dist/esm/{component-value-history-controller-slimmer.abstract-ee393213.js → component-value-history-controller-slimmer.abstract-2bcd749e.js} +5 -5
  203. package/dist/esm/{content-state-43cdacff.js → content-state-2f6f4204.js} +47 -5
  204. package/dist/esm/{date-required-rule-b5b67498.js → date-required-rule-2ea3aec8.js} +1 -1
  205. package/dist/esm/{design-token-8319bb59.js → design-token-82a4e107.js} +3 -3
  206. package/dist/esm/{dom-node-subject-observer-factory-ddff8662.js → dom-node-subject-observer-factory-bb7e68a0.js} +1 -1
  207. package/dist/esm/{element-appender-slimmer-c81d1fe3.js → element-appender-slimmer-c820c0bf.js} +4 -4
  208. package/dist/esm/{event-emit-slimmer-2452278f.js → event-emit-slimmer-e8bb2292.js} +1 -1
  209. package/dist/esm/{form-field-controller-slimmer-511b7ac5.js → form-field-controller-slimmer-02165dbe.js} +4 -4
  210. package/dist/esm/{image-annotation-action-d7cb80aa.js → image-annotation-action-972c1074.js} +7 -6
  211. package/dist/esm/{image-extension-9b8abd0d.js → image-extension-59484e9a.js} +2 -2
  212. package/dist/esm/index.js +19 -19
  213. package/dist/esm/{inject-keyboard-manager-dd368d56.js → inject-keyboard-manager-6a10c9b7.js} +1 -1
  214. package/dist/esm/{internal-calendar-period-factory-d58f35c6.js → internal-calendar-period-factory-d1a60f81.js} +1 -1
  215. package/dist/esm/{internal-translation-controller-b33430c6.js → internal-translation-controller-fff376d2.js} +15 -0
  216. package/dist/esm/{keyboard-manager-b4a0d97d.js → keyboard-manager-a58288df.js} +13 -6
  217. package/dist/esm/{keyboard-manager-slimmer-0517fc70.js → keyboard-manager-slimmer-133b86cd.js} +1 -1
  218. package/dist/esm/{link-extension-230bae8d.js → link-extension-e89acb5c.js} +3 -3
  219. package/dist/esm/loader.js +14 -14
  220. package/dist/esm/{month-view-generator-f470caac.js → month-view-generator-20e32b22.js} +1 -1
  221. package/dist/esm/overlay-escape-coordination-439f7d6f.js +35 -0
  222. package/dist/esm/{public-rules-28ef32d3.js → public-rules-c154201b.js} +9 -9
  223. package/dist/esm/{range-efad2578.js → range-c818a1eb.js} +2 -2
  224. package/dist/esm/{responsive-format-facade-dec87e46.js → responsive-format-facade-07843ec3.js} +1 -1
  225. package/dist/esm/{rich-text-editor-required-rule-a697e5bd.js → rich-text-editor-required-rule-878e91c6.js} +1 -1
  226. package/dist/esm/{split-cell-operation-89b91a38.js → split-cell-operation-cc0cdf90.js} +4 -4
  227. package/dist/esm/{state-border-formatter-1e900a2f.js → state-border-formatter-3b3dcfe8.js} +1 -1
  228. package/dist/esm/{string-format-strategy.abstract-d0ce3f65.js → string-format-strategy.abstract-44381dcb.js} +1 -1
  229. package/dist/esm/{string-input-formatter-slimmer-6546cfc7.js → string-input-formatter-slimmer-76fe52d3.js} +3 -3
  230. package/dist/esm/{string-mask-strategy-dd13ae21.js → string-mask-strategy-999fba4b.js} +2 -2
  231. package/dist/esm/{style-formatter-057d7120.js → style-formatter-c4192c99.js} +2 -2
  232. package/dist/esm/{sub-state-notify-slimmer-23b7d0e8.js → sub-state-notify-slimmer-e306c849.js} +1 -1
  233. package/dist/esm/{sub-state-observer-slimmer-722f6b92.js → sub-state-observer-slimmer-bd85f381.js} +2 -2
  234. package/dist/esm/{time-required-rule-73753a54.js → time-required-rule-0554b114.js} +1 -1
  235. package/dist/esm/{token-extension-74a0eeb1.js → token-extension-35c66684.js} +809 -52
  236. package/dist/esm/{translation-slimmer-ef970ffc.js → translation-slimmer-77022f2e.js} +1 -1
  237. package/dist/esm/{type-guard-6fc96870.js → type-guard-26d83e7e.js} +1 -1
  238. package/dist/esm/{ui-d73f756a.js → ui-80e610f4.js} +1 -1
  239. package/dist/esm/{valid-credit-card-number-rule-b54a31e7.js → valid-credit-card-number-rule-f60b6904.js} +1 -1
  240. package/dist/esm/vega-accordion.entry.js +9 -9
  241. package/dist/esm/vega-app-footer.entry.js +3 -3
  242. package/dist/esm/vega-app-header-button.entry.js +9 -9
  243. package/dist/esm/vega-backdrop.entry.js +1 -1
  244. package/dist/esm/vega-banner.entry.js +4 -4
  245. package/dist/esm/vega-box.entry.js +7 -7
  246. package/dist/esm/vega-breadcrumb.entry.js +3 -3
  247. package/dist/esm/vega-button-circle.entry.js +9 -9
  248. package/dist/esm/vega-button-group_2.entry.js +18 -11
  249. package/dist/esm/vega-button-link.entry.js +6 -6
  250. package/dist/esm/vega-button.entry.js +24 -8
  251. package/dist/esm/vega-calendar_5.entry.js +13 -13
  252. package/dist/esm/vega-card.entry.js +6 -6
  253. package/dist/esm/vega-carousel.entry.js +7 -7
  254. package/dist/esm/vega-checkbox_2.entry.js +8 -8
  255. package/dist/esm/vega-chip.entry.js +9 -9
  256. package/dist/esm/vega-code-block.entry.js +12 -12
  257. package/dist/esm/vega-color-picker.entry.js +7 -7
  258. package/dist/esm/vega-color-swatch-picker.entry.js +7 -7
  259. package/dist/esm/vega-color-swatch.entry.js +6 -6
  260. package/dist/esm/vega-combo-box.entry.js +13 -13
  261. package/dist/esm/vega-date-picker_2.entry.js +20 -20
  262. package/dist/esm/vega-dialog_2.entry.js +74 -8
  263. package/dist/esm/vega-divider.entry.js +5 -5
  264. package/dist/esm/vega-dropdown_5.entry.js +107 -24
  265. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  266. package/dist/esm/vega-field-label.entry.js +29 -36
  267. package/dist/esm/vega-file-uploader.entry.js +8 -8
  268. package/dist/esm/vega-flag-icon.entry.js +5 -5
  269. package/dist/esm/vega-flex.entry.js +7 -7
  270. package/dist/esm/vega-font.entry.js +6 -6
  271. package/dist/esm/vega-form.entry.js +8 -8
  272. package/dist/esm/vega-grid.entry.js +6 -6
  273. package/dist/esm/vega-icon.entry.js +6 -6
  274. package/dist/esm/vega-image-uploader.entry.js +10 -10
  275. package/dist/esm/vega-input-credit-card.entry.js +10 -10
  276. package/dist/esm/vega-input-numeric.entry.js +10 -10
  277. package/dist/esm/vega-input-passcode.entry.js +9 -9
  278. package/dist/esm/vega-input-phone-number.entry.js +45 -11
  279. package/dist/esm/vega-input-range.entry.js +8 -8
  280. package/dist/esm/vega-input-select.entry.js +28 -11
  281. package/dist/esm/vega-input.entry.js +13 -13
  282. package/dist/esm/vega-item-toggle.entry.js +3 -3
  283. package/dist/esm/vega-left-nav_5.entry.js +12 -12
  284. package/dist/esm/vega-loader-wrapper_2.entry.js +4 -4
  285. package/dist/esm/vega-page-notification_2.entry.js +3 -3
  286. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +2 -2
  287. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +4 -4
  288. package/dist/esm/vega-pagination.entry.js +7 -7
  289. package/dist/esm/vega-popover_2.entry.js +62 -13
  290. package/dist/esm/vega-progress-tracker_2.entry.js +9 -9
  291. package/dist/esm/vega-radio_2.entry.js +11 -11
  292. package/dist/esm/vega-rich-text-content.entry.js +15 -12
  293. package/dist/esm/vega-rich-text-editor_4.entry.js +710 -248
  294. package/dist/esm/vega-rich-text-find-replace-panel.entry.js +6 -6
  295. package/dist/esm/vega-rich-text-special-characters-panel.entry.js +8 -8
  296. package/dist/esm/vega-rich-text-table-properties_3.entry.js +158 -105
  297. package/dist/esm/vega-segment-control.entry.js +3 -3
  298. package/dist/esm/vega-selection-chip_2.entry.js +10 -10
  299. package/dist/esm/vega-selection-tile_2.entry.js +8 -8
  300. package/dist/esm/vega-sidenav_3.entry.js +9 -9
  301. package/dist/esm/vega-signature-capture.entry.js +11 -11
  302. package/dist/esm/vega-stepper.entry.js +6 -6
  303. package/dist/esm/vega-tab-group_2.entry.js +6 -6
  304. package/dist/esm/vega-table_11.entry.js +10 -10
  305. package/dist/esm/vega-textarea.entry.js +6 -6
  306. package/dist/esm/vega-time-picker_2.entry.js +14 -14
  307. package/dist/esm/vega-toggle-switch.entry.js +7 -7
  308. package/dist/esm/vega-tooltip_2.entry.js +8 -8
  309. package/dist/esm/vega.js +14 -14
  310. package/dist/esm/{wait-for-component-did-render-ff7062aa.js → wait-for-component-did-render-9b91a826.js} +1 -1
  311. package/dist/sri/vega-sri-manifest.json +390 -386
  312. package/dist/types/components/vega-button/vega-button.d.ts +2 -0
  313. package/dist/types/components/vega-button-group/types.d.ts +12 -6
  314. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +1 -1
  315. package/dist/types/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.d.ts +3 -10
  316. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +8 -0
  317. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.d.ts +33 -0
  318. package/dist/types/components/vega-modal/types.d.ts +2 -1
  319. package/dist/types/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.d.ts +9 -0
  320. package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +6 -0
  321. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.d.ts +13 -0
  322. package/dist/types/components/vega-rich-text-editor/dto/actions/commit-value-action.d.ts +20 -0
  323. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +6 -0
  324. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +4 -0
  325. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +6 -0
  326. package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +4 -0
  327. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +6 -0
  328. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +4 -0
  329. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +5 -0
  330. package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.d.ts +19 -0
  331. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.d.ts +4 -0
  332. package/dist/types/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.d.ts +14 -1
  333. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.d.ts +2 -2
  334. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.d.ts +31 -1
  335. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.d.ts +91 -0
  336. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.d.ts +46 -0
  337. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.d.ts +58 -0
  338. package/dist/types/components/vega-rich-text-editor/extensions/table/table-selection.d.ts +8 -0
  339. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-basic-form-field-renderer.abstract.d.ts +2 -1
  340. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.d.ts +2 -0
  341. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.d.ts +3 -0
  342. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-setting-button-slimmer.abstract.d.ts +3 -1
  343. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.d.ts +1 -0
  344. package/dist/types/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.d.ts +38 -0
  345. package/dist/types/components/vega-rich-text-editor/extensions/word-count/type.d.ts +46 -0
  346. package/dist/types/components/vega-rich-text-editor/extensions/word-count/word-count-extension.d.ts +38 -0
  347. package/dist/types/components/vega-rich-text-editor/interface.d.ts +12 -0
  348. package/dist/types/components/vega-rich-text-editor/public-api.d.ts +1 -0
  349. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +11 -1
  350. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.d.ts +40 -0
  351. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.d.ts +14 -0
  352. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +3 -1
  353. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +3 -2
  354. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +12 -0
  355. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.d.ts +2 -0
  356. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +4 -0
  357. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.d.ts +68 -0
  358. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.d.ts +3 -0
  359. package/dist/types/helpers/keyboard/keyboard-manager.d.ts +9 -0
  360. package/dist/types/helpers/keyboard/overlay-escape-coordination.d.ts +28 -0
  361. package/dist/types/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.d.ts +1 -1
  362. package/dist/types/helpers/translation/interface.d.ts +16 -1
  363. package/dist/types/polyfill/libphonenumber/as-you-type.d.ts +1 -0
  364. package/dist/types/polyfill/libphonenumber/metadata.d.ts +10 -0
  365. package/dist/types/types/public-api.d.ts +1 -0
  366. package/dist/types/utils/accessibility.d.ts +9 -0
  367. package/dist/vega/index.esm.js +1 -1
  368. package/dist/vega/{p-1a37d63c.entry.js → p-01ca92e6.entry.js} +1 -1
  369. package/dist/vega/{p-840444c9.entry.js → p-02b5d4ac.entry.js} +1 -1
  370. package/dist/vega/{p-d35a31a5.entry.js → p-06a42a9f.entry.js} +1 -1
  371. package/dist/vega/{p-fd23c365.entry.js → p-0cd362f3.entry.js} +1 -1
  372. package/dist/vega/p-0e10798b.entry.js +1 -0
  373. package/dist/vega/{p-fcb6b499.js → p-0eea1ca8.js} +1 -1
  374. package/dist/vega/{p-ccbed811.entry.js → p-0f344e02.entry.js} +1 -1
  375. package/dist/vega/{p-66a785d0.entry.js → p-23db0a92.entry.js} +1 -1
  376. package/dist/vega/{p-c8ad7207.entry.js → p-284a8828.entry.js} +1 -1
  377. package/dist/vega/{p-d4d90ce2.entry.js → p-2b26e182.entry.js} +1 -1
  378. package/dist/vega/{p-6659c910.entry.js → p-2c8dc0d2.entry.js} +1 -1
  379. package/dist/vega/{p-526e3634.js → p-36a57431.js} +1 -1
  380. package/dist/vega/{p-9c9b0629.js → p-379736e2.js} +1 -1
  381. package/dist/vega/{p-df63c2fb.entry.js → p-3abb793c.entry.js} +1 -1
  382. package/dist/vega/{p-47a48329.entry.js → p-3d6a43df.entry.js} +1 -1
  383. package/dist/vega/{p-0ca3b4bf.entry.js → p-3f2a4b34.entry.js} +1 -1
  384. package/dist/vega/p-401c6764.js +1 -0
  385. package/dist/vega/{p-ce82d6bb.entry.js → p-411cadbc.entry.js} +1 -1
  386. package/dist/vega/{p-f0a0fc77.entry.js → p-46f22f6c.entry.js} +1 -1
  387. package/dist/vega/{p-f9a3805d.js → p-493108d5.js} +1 -1
  388. package/dist/vega/{p-77fb3971.entry.js → p-49de5559.entry.js} +1 -1
  389. package/dist/vega/p-4b35c748.js +1 -0
  390. package/dist/vega/{p-d62e618a.entry.js → p-4d1896e0.entry.js} +1 -1
  391. package/dist/vega/{p-55dc3053.entry.js → p-4e23e56c.entry.js} +1 -1
  392. package/dist/vega/{p-aa914dbd.entry.js → p-5006404e.entry.js} +1 -1
  393. package/dist/vega/{p-944e284d.entry.js → p-5789690b.entry.js} +1 -1
  394. package/dist/vega/{p-4f6aaac5.entry.js → p-594cb986.entry.js} +1 -1
  395. package/dist/vega/p-5a086e93.js +1 -0
  396. package/dist/vega/p-5b9b1631.entry.js +1 -0
  397. package/dist/vega/{p-c41a2d4a.js → p-5c3649f9.js} +1 -1
  398. package/dist/vega/{p-fb9475ab.entry.js → p-5d9be870.entry.js} +1 -1
  399. package/dist/vega/p-5f377954.js +1 -1
  400. package/dist/vega/{p-2044eba9.js → p-60a74fb7.js} +1 -1
  401. package/dist/vega/{p-5e9e04f3.entry.js → p-61ed7268.entry.js} +1 -1
  402. package/dist/vega/p-6336d446.entry.js +1 -0
  403. package/dist/vega/{p-b3c4943b.js → p-638b6a7d.js} +1 -1
  404. package/dist/vega/{p-bdb5180c.js → p-68744e7e.js} +1 -1
  405. package/dist/vega/p-6e9e7131.js +1 -0
  406. package/dist/vega/{p-014cd411.js → p-6eedbc4f.js} +1 -1
  407. package/dist/vega/{p-c348eaf5.js → p-6fd8f14b.js} +1 -1
  408. package/dist/vega/{p-49d7cfed.entry.js → p-7469d0d1.entry.js} +1 -1
  409. package/dist/vega/p-74b20563.entry.js +1 -0
  410. package/dist/vega/{p-2f89ee14.entry.js → p-76999ea1.entry.js} +1 -1
  411. package/dist/vega/p-77bcdd35.js +1 -0
  412. package/dist/vega/{p-a4360b7e.entry.js → p-79b49e8d.entry.js} +1 -1
  413. package/dist/vega/{p-2af1d8b8.entry.js → p-7a03ef96.entry.js} +1 -1
  414. package/dist/vega/{p-aa433430.entry.js → p-7ae4cf82.entry.js} +1 -1
  415. package/dist/vega/{p-f9bfee81.entry.js → p-7cc8855d.entry.js} +1 -1
  416. package/dist/vega/{p-3c8421d5.entry.js → p-7ddc0bec.entry.js} +1 -1
  417. package/dist/vega/{p-9c5289dc.entry.js → p-7e22610b.entry.js} +1 -1
  418. package/dist/vega/p-7f395622.entry.js +1 -0
  419. package/dist/vega/{p-860e76f5.entry.js → p-816b5fd2.entry.js} +1 -1
  420. package/dist/vega/p-8387896e.js +1 -0
  421. package/dist/vega/{p-7754b10f.entry.js → p-844ad6aa.entry.js} +1 -1
  422. package/dist/vega/p-853a05eb.js +1 -0
  423. package/dist/vega/p-85de755f.js +1 -0
  424. package/dist/vega/p-8663314e.js +1 -0
  425. package/dist/vega/{p-66728dd4.entry.js → p-86fb46d2.entry.js} +1 -1
  426. package/dist/vega/p-8cfdd0e8.entry.js +1 -0
  427. package/dist/vega/{p-444e24c6.js → p-8ebe30a8.js} +1 -1
  428. package/dist/vega/p-8f00dfe6.js +1 -0
  429. package/dist/vega/{p-66647244.js → p-8fc0a820.js} +1 -1
  430. package/dist/vega/{p-8f3b93db.js → p-9034f709.js} +1 -1
  431. package/dist/vega/{p-691bdc20.js → p-941a83db.js} +1 -1
  432. package/dist/vega/{p-5110c84f.js → p-96c090c4.js} +1 -1
  433. package/dist/vega/{p-50eda925.js → p-9ba2fdff.js} +1 -1
  434. package/dist/vega/p-9efa5d76.js +1 -0
  435. package/dist/vega/{p-cede3535.js → p-a306bb39.js} +1 -1
  436. package/dist/vega/{p-db11134b.entry.js → p-a48468b5.entry.js} +1 -1
  437. package/dist/vega/{p-22edd3cc.js → p-a488447f.js} +1 -1
  438. package/dist/vega/{p-6493f13a.entry.js → p-a647c856.entry.js} +1 -1
  439. package/dist/vega/{p-44999c88.entry.js → p-a6a89f09.entry.js} +1 -1
  440. package/dist/vega/p-a92cd703.js +1 -0
  441. package/dist/vega/p-a93b3aed.js +1 -0
  442. package/dist/vega/{p-528748fa.js → p-aa135628.js} +1 -1
  443. package/dist/vega/{p-3c152bad.entry.js → p-aaaf21eb.entry.js} +1 -1
  444. package/dist/vega/{p-66fe8b4e.entry.js → p-ab253867.entry.js} +1 -1
  445. package/dist/vega/{p-a1f220ca.js → p-ab9d53e9.js} +1 -1
  446. package/dist/vega/p-ad367b48.entry.js +1 -0
  447. package/dist/vega/{p-e18c0656.entry.js → p-af0cfea0.entry.js} +1 -1
  448. package/dist/vega/p-b07f587a.entry.js +1 -0
  449. package/dist/vega/{p-f13b39d8.js → p-b2a4314a.js} +1 -1
  450. package/dist/vega/p-b52d7724.js +3 -0
  451. package/dist/vega/{p-23c1f378.entry.js → p-b97ed9f7.entry.js} +1 -1
  452. package/dist/vega/{p-4022412e.entry.js → p-bc0e5598.entry.js} +1 -1
  453. package/dist/vega/p-bc119e75.entry.js +1 -0
  454. package/dist/vega/{p-024db952.entry.js → p-bedb575c.entry.js} +1 -1
  455. package/dist/vega/{p-d6023dc0.entry.js → p-bfe5dff7.entry.js} +1 -1
  456. package/dist/vega/{p-328ebbdb.entry.js → p-c032f626.entry.js} +1 -1
  457. package/dist/vega/{p-dd0bd78b.js → p-c34f4cbc.js} +1 -1
  458. package/dist/vega/{p-b12de1bf.entry.js → p-c422ee02.entry.js} +1 -1
  459. package/dist/vega/{p-e1c82ca9.js → p-c576e846.js} +1 -1
  460. package/dist/vega/{p-433b1395.entry.js → p-c7d46740.entry.js} +1 -1
  461. package/dist/vega/{p-f2384411.entry.js → p-cd04b149.entry.js} +1 -1
  462. package/dist/vega/{p-5147c30d.entry.js → p-cd0a108b.entry.js} +1 -1
  463. package/dist/vega/{p-3a230d4b.entry.js → p-d1bb6e7a.entry.js} +1 -1
  464. package/dist/vega/{p-200c8914.entry.js → p-d340ee3d.entry.js} +1 -1
  465. package/dist/vega/p-d897acd5.js +1 -0
  466. package/dist/vega/p-debf9e06.entry.js +1 -0
  467. package/dist/vega/{p-3c559c8b.js → p-e0a51e49.js} +1 -1
  468. package/dist/vega/{p-ba6881da.entry.js → p-e11c6ec4.entry.js} +1 -1
  469. package/dist/vega/{p-fa5cd8b1.js → p-e14323f3.js} +1 -1
  470. package/dist/vega/{p-a7517760.entry.js → p-e5abc288.entry.js} +1 -1
  471. package/dist/vega/{p-7977352b.entry.js → p-ea1a0046.entry.js} +1 -1
  472. package/dist/vega/{p-867cc602.entry.js → p-edd7aa92.entry.js} +1 -1
  473. package/dist/vega/p-ef1bbf14.js +1 -0
  474. package/dist/vega/{p-bd7725f7.entry.js → p-efc08027.entry.js} +1 -1
  475. package/dist/vega/{p-52878ea9.js → p-f485448a.js} +1 -1
  476. package/dist/vega/{p-4afd6715.entry.js → p-f8b2dbb9.entry.js} +1 -1
  477. package/dist/vega/{p-cf4b3d40.entry.js → p-f8bf379c.entry.js} +1 -1
  478. package/dist/vega/{p-4370b954.entry.js → p-f902305d.entry.js} +1 -1
  479. package/dist/vega/p-fe985b52.js +1 -0
  480. package/dist/vega/vega.esm.js +1 -1
  481. package/package.json +1 -1
  482. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-conttroller.js +0 -85
  483. package/dist/vega/p-0b2c4c0b.js +0 -1
  484. package/dist/vega/p-1fa22fda.js +0 -1
  485. package/dist/vega/p-2529820e.js +0 -1
  486. package/dist/vega/p-35628af4.js +0 -1
  487. package/dist/vega/p-3a620268.js +0 -1
  488. package/dist/vega/p-4473d8b1.js +0 -3
  489. package/dist/vega/p-5af312f8.js +0 -1
  490. package/dist/vega/p-67e88cd7.entry.js +0 -1
  491. package/dist/vega/p-67eaf77e.js +0 -1
  492. package/dist/vega/p-6d6b4495.entry.js +0 -1
  493. package/dist/vega/p-7b133734.entry.js +0 -1
  494. package/dist/vega/p-7b84a943.entry.js +0 -1
  495. package/dist/vega/p-83ad8988.js +0 -1
  496. package/dist/vega/p-8d2a9012.js +0 -1
  497. package/dist/vega/p-8d4be607.js +0 -1
  498. package/dist/vega/p-8d77c7cf.js +0 -1
  499. package/dist/vega/p-94b54a95.js +0 -1
  500. package/dist/vega/p-9c2b3279.js +0 -1
  501. package/dist/vega/p-9c9ff871.entry.js +0 -1
  502. package/dist/vega/p-9d90e271.entry.js +0 -1
  503. package/dist/vega/p-c8fb3aac.entry.js +0 -1
  504. package/dist/vega/p-daba4af1.js +0 -1
  505. package/dist/vega/p-ded1ecc1.entry.js +0 -1
  506. package/dist/vega/p-e1a65e06.entry.js +0 -1
  507. package/dist/vega/p-e469ba27.entry.js +0 -1
  508. package/dist/vega/p-e4c5cb4f.js +0 -1
  509. /package/dist/types/components/vega-dropdown/slimmers/controllers/{vega-dropdown-keyboard-conttroller.d.ts → vega-dropdown-keyboard-controller.d.ts} +0 -0
@@ -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);
@@ -0,0 +1,79 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
8
+ import { RTE_WORD_COUNT_KEY } from '../../constants/constant';
9
+ import { deepEqual } from '../../../../utils/object';
10
+ import { isNonNullable } from '../../../../types/type-guard';
11
+ /**
12
+ * Bridges the word count extension to the editor component so the footer UI can
13
+ * read whether the character count should be shown and its current value.
14
+ */
15
+ export class WordCountController extends VegaSlimmer {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.cachedValue = null;
19
+ this.cachedConfig = null;
20
+ this.cachedData = null;
21
+ }
22
+ /**
23
+ * Whether the character count UI should be rendered.
24
+ *
25
+ * @returns {boolean} True when a word count extension requests the UI.
26
+ */
27
+ shouldShowUI() {
28
+ var _a;
29
+ return !!((_a = this.findWordCountExtension()) === null || _a === void 0 ? void 0 : _a.getConfig().showCharCount);
30
+ }
31
+ /**
32
+ * Compute the current character count data from the editor content.
33
+ *
34
+ * @returns {Nullable<VegaRTEWordCountData>} The count data or null when no word count extension is registered.
35
+ */
36
+ getData() {
37
+ const extension = this.findWordCountExtension();
38
+ if (!extension) {
39
+ return null;
40
+ }
41
+ const value = this.host.value;
42
+ const config = extension.getConfig();
43
+ // VegaRTEContent is immutable, so a matching value/config reference means the data is unchanged.
44
+ if (this.cachedData && value === this.cachedValue && deepEqual(config, this.cachedConfig)) {
45
+ return this.cachedData;
46
+ }
47
+ this.cachedData = extension.getData(value);
48
+ this.cachedValue = value;
49
+ this.cachedConfig = config;
50
+ return this.cachedData;
51
+ }
52
+ /**
53
+ * Whether the word count extension gates commits with a hard character limit.
54
+ *
55
+ * @returns {boolean} True when a hard limit with a max character count is configured for this host.
56
+ */
57
+ hasWordCountHardLimit() {
58
+ var _a;
59
+ const config = (_a = this.findWordCountExtension()) === null || _a === void 0 ? void 0 : _a.getConfig();
60
+ return !!config && Boolean(config.hardLimit) && isNonNullable(config.maxChars);
61
+ }
62
+ /**
63
+ * Locate the word count extension by its runtime `type` discriminator.
64
+ * Use this way instead of instanceof to avoid direct dependency on the extension class.
65
+ *
66
+ * @returns {Nullable<VegaRTEWordCountExtension>} The word count extension or null.
67
+ */
68
+ findWordCountExtension() {
69
+ var _a;
70
+ const extension = ((_a = this.extensions) !== null && _a !== void 0 ? _a : []).find((ext) => 'type' in ext && ext['type'] === RTE_WORD_COUNT_KEY);
71
+ return extension !== null && extension !== void 0 ? extension : null;
72
+ }
73
+ }
74
+ __decorate([
75
+ MapToComponentField()
76
+ ], WordCountController.prototype, "extensions", void 0);
77
+ __decorate([
78
+ MapToComponentField()
79
+ ], WordCountController.prototype, "host", void 0);
@@ -54,14 +54,17 @@ export class ToolbarRenderer extends VegaSlimmer {
54
54
  const [renderedItems, totalVisibleCount] = this.renderToolbarItems();
55
55
  return (h("vega-flex", { gap: "size-8", alignItems: "center", flexWrap: "wrap" },
56
56
  this.allowSourceEdit && (h(Fragment, null,
57
- h("div", { class: "toolbar-btn-group" }, this.sourceEditToolbarButtonSlimmer.render()),
57
+ h("div", { class: "toolbar-btn-group", role: "presentation" }, this.sourceEditToolbarButtonSlimmer.render()),
58
58
  this.uniqueToolbarItems.length > 0 &&
59
59
  totalVisibleCount > 0 &&
60
60
  this.renderVegaDivider())),
61
61
  renderedItems));
62
62
  }
63
63
  renderVegaDivider() {
64
- return (h("vega-box", { height: "size-32" },
64
+ // Mark the divider as decorative so screen readers (e.g. VoiceOver
65
+ // on Firefox) skip it when navigating from the Edit Source button
66
+ // to the next toolbar item.
67
+ return (h("vega-box", { height: "size-32", "aria-hidden": "true", role: "presentation" },
65
68
  h("vega-divider", { direction: "vertical" })));
66
69
  }
67
70
  /**
@@ -100,7 +103,7 @@ export class ToolbarRenderer extends VegaSlimmer {
100
103
  return null;
101
104
  })
102
105
  .filter(isNonNullable);
103
- return (h("div", { class: { 'toolbar-btn-group': true, 'vega-hidden': visibleCountPerGroup < 1 } }, groupElement));
106
+ return (h("div", { class: { 'toolbar-btn-group': true, 'vega-hidden': visibleCountPerGroup < 1 }, role: "presentation" }, groupElement));
104
107
  });
105
108
  return [renderedItems, totalVisibleCount];
106
109
  }
@@ -22,6 +22,7 @@ export class BulletsNumbersToolbarButtonSlimmer extends VisualModeToolbarButtonS
22
22
  tooltip: {
23
23
  text: 'Bullets',
24
24
  },
25
+ ariaLabel: 'Bullets and Numbers',
25
26
  });
26
27
  this.bulletsToolbarButtonSlimmer = new BulletsToolbarButtonSlimmer();
27
28
  this.numbersToolbarButtonSlimmer = new NumbersToolbarButtonSlimmer();
@@ -42,7 +43,7 @@ export class BulletsNumbersToolbarButtonSlimmer extends VisualModeToolbarButtonS
42
43
  }
43
44
  }
44
45
  renderBtnWrapper(renderBtn) {
45
- return (h("vega-popover", { showArrow: false, trigger: "click", placement: "bottom", alignment: "center", isScreenPosition: true, ref: (ref) => (this.popoverRef = ref) },
46
+ return (h("vega-popover", { showArrow: false, trigger: "click", placement: "bottom", alignment: "center", isScreenPosition: true, role: "presentation", ref: (ref) => (this.popoverRef = ref) },
46
47
  h("div", { slot: "popover-content" }, renderBtn({ showArrowIcon: true })),
47
48
  h("div", { slot: "popover" }, this.renderContent())));
48
49
  }