@globalpayments/vega 2.92.0 → 2.94.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 (556) hide show
  1. package/dist/cjs/{app-globals-2f326662.js → app-globals-d05c3410.js} +14 -9
  2. package/dist/cjs/{child-nodes-event-prevent-slimmer-b9a5b3e2.js → child-nodes-event-prevent-slimmer-e67ee84c.js} +1 -1
  3. package/dist/cjs/{code-block-6435d641.js → code-block-493c7ce7.js} +117 -31
  4. package/dist/cjs/{component-value-history-controller-slimmer.abstract-e4c9a5ba.js → component-value-history-controller-slimmer.abstract-ab21fcbf.js} +72 -39
  5. package/dist/cjs/{content-state-96ec9114.js → content-state-fc34a814.js} +61 -7
  6. package/dist/cjs/{date-required-rule-8c9e312b.js → date-required-rule-4ab06a82.js} +1 -1
  7. package/dist/cjs/{design-token-3548af29.js → design-token-d3d12fa0.js} +3 -3
  8. package/dist/cjs/{element-appender-slimmer-3bf69990.js → element-appender-slimmer-1d6323c2.js} +17 -8
  9. package/dist/cjs/{event-emit-slimmer-5bab10c2.js → event-emit-slimmer-d234a619.js} +1 -1
  10. package/dist/cjs/{form-field-controller-slimmer-e0efac05.js → form-field-controller-slimmer-d638ba12.js} +1 -1
  11. package/dist/cjs/{image-annotation-action-853f72c8.js → image-annotation-action-7c4cd316.js} +4 -4
  12. package/dist/cjs/image-extension-30a7c10f.js +56 -0
  13. package/dist/cjs/index.cjs.js +24 -19
  14. package/dist/cjs/{inject-keyboard-manager-0dccff1a.js → inject-keyboard-manager-5a105612.js} +1 -1
  15. package/dist/cjs/{internal-calendar-period-factory-6187ec4c.js → internal-calendar-period-factory-b76006f7.js} +1 -1
  16. package/dist/cjs/{internal-translation-controller-48ebfd0f.js → internal-translation-controller-eb02c3b1.js} +6 -0
  17. package/dist/cjs/{internal-vega-event-manager-7196a847.js → internal-vega-event-manager-13c4012b.js} +2 -1
  18. package/dist/cjs/{keyboard-manager-dfe8d924.js → keyboard-manager-ca76d4dc.js} +1 -1
  19. package/dist/cjs/{keyboard-manager-slimmer-4a2560a1.js → keyboard-manager-slimmer-a1223714.js} +1 -1
  20. package/dist/cjs/{link-extension-28d95849.js → link-extension-92a63cb7.js} +3 -3
  21. package/dist/cjs/loader.cjs.js +14 -14
  22. package/dist/cjs/{month-view-generator-2e59b188.js → month-view-generator-876c50d4.js} +1 -1
  23. package/dist/cjs/{public-rules-8727c42c.js → public-rules-9e1ea1d9.js} +7 -7
  24. package/dist/cjs/{range-5cb3d1e4.js → range-30219330.js} +1 -1
  25. package/dist/cjs/{responsive-format-facade-98b89142.js → responsive-format-facade-25e9f30d.js} +1 -1
  26. package/dist/cjs/{rich-text-editor-required-rule-8e4d577d.js → rich-text-editor-required-rule-23bf7485.js} +1 -1
  27. package/dist/cjs/{split-cell-operation-9e3ab88d.js → split-cell-operation-43752212.js} +3 -3
  28. package/dist/cjs/{state-border-formatter-626b0a14.js → state-border-formatter-f1ce0f3b.js} +1 -1
  29. package/dist/cjs/{string-format-strategy.abstract-981f43e1.js → string-format-strategy.abstract-b22f7754.js} +1 -1
  30. package/dist/cjs/{string-input-formatter-slimmer-fc4a0ba5.js → string-input-formatter-slimmer-d2c248f7.js} +1 -1
  31. package/dist/cjs/{string-mask-strategy-b47fa159.js → string-mask-strategy-fc01a500.js} +2 -2
  32. package/dist/cjs/{style-formatter-baf18624.js → style-formatter-73205450.js} +2 -2
  33. package/dist/cjs/{time-required-rule-e77d174f.js → time-required-rule-12d2f394.js} +1 -1
  34. package/dist/cjs/{token-extension-3aec039f.js → token-extension-ea891d54.js} +3318 -1742
  35. package/dist/cjs/{translation-slimmer-1e05769e.js → translation-slimmer-9099f56c.js} +1 -1
  36. package/dist/cjs/{type-guard-7ab48d6c.js → type-guard-f354af8b.js} +1 -1
  37. package/dist/cjs/{valid-credit-card-number-rule-52ba9c67.js → valid-credit-card-number-rule-8d370163.js} +1 -1
  38. package/dist/cjs/vega-accordion.cjs.entry.js +9 -9
  39. package/dist/cjs/vega-app-footer.cjs.entry.js +3 -3
  40. package/dist/cjs/vega-app-header-button.cjs.entry.js +9 -9
  41. package/dist/cjs/vega-banner.cjs.entry.js +3 -3
  42. package/dist/cjs/vega-box.cjs.entry.js +6 -6
  43. package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
  44. package/dist/cjs/vega-button-circle.cjs.entry.js +9 -9
  45. package/dist/cjs/vega-button-group_2.cjs.entry.js +4 -4
  46. package/dist/cjs/vega-button-link.cjs.entry.js +4 -4
  47. package/dist/cjs/vega-button.cjs.entry.js +12 -9
  48. package/dist/cjs/vega-calendar_5.cjs.entry.js +11 -11
  49. package/dist/cjs/vega-card.cjs.entry.js +5 -5
  50. package/dist/cjs/vega-carousel.cjs.entry.js +6 -6
  51. package/dist/cjs/vega-checkbox_2.cjs.entry.js +6 -6
  52. package/dist/cjs/vega-chip.cjs.entry.js +9 -9
  53. package/dist/cjs/vega-code-block.cjs.entry.js +12 -12
  54. package/dist/cjs/vega-color-picker.cjs.entry.js +5 -5
  55. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +7 -7
  56. package/dist/cjs/vega-color-swatch.cjs.entry.js +5 -5
  57. package/dist/cjs/vega-combo-box.cjs.entry.js +19 -13
  58. package/dist/cjs/vega-date-picker_2.cjs.entry.js +17 -17
  59. package/dist/cjs/vega-dialog_2.cjs.entry.js +20 -9
  60. package/dist/cjs/vega-divider.cjs.entry.js +5 -5
  61. package/dist/cjs/vega-dropdown_5.cjs.entry.js +693 -195
  62. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  63. package/dist/cjs/{vega-event-id-df22d80e.js → vega-event-id-58afed7a.js} +2 -0
  64. package/dist/cjs/vega-field-label.cjs.entry.js +5 -5
  65. package/dist/cjs/vega-file-uploader.cjs.entry.js +6 -6
  66. package/dist/cjs/vega-flag-icon.cjs.entry.js +5 -5
  67. package/dist/cjs/vega-flex.cjs.entry.js +6 -6
  68. package/dist/cjs/vega-font.cjs.entry.js +5 -5
  69. package/dist/cjs/vega-form.cjs.entry.js +7 -7
  70. package/dist/cjs/vega-grid.cjs.entry.js +5 -5
  71. package/dist/cjs/vega-icon.cjs.entry.js +5 -5
  72. package/dist/cjs/vega-image-uploader.cjs.entry.js +9 -9
  73. package/dist/cjs/vega-input-credit-card.cjs.entry.js +10 -10
  74. package/dist/cjs/vega-input-numeric.cjs.entry.js +9 -9
  75. package/dist/cjs/vega-input-passcode.cjs.entry.js +9 -9
  76. package/dist/cjs/vega-input-phone-number.cjs.entry.js +8 -8
  77. package/dist/cjs/vega-input-range.cjs.entry.js +7 -7
  78. package/dist/cjs/vega-input-select.cjs.entry.js +9 -9
  79. package/dist/cjs/vega-input.cjs.entry.js +9 -9
  80. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  81. package/dist/cjs/vega-left-nav_5.cjs.entry.js +316 -111
  82. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
  83. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  84. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +3 -3
  85. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +3 -3
  86. package/dist/cjs/vega-pagination.cjs.entry.js +8 -8
  87. package/dist/cjs/vega-popover_2.cjs.entry.js +11 -11
  88. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +6 -6
  89. package/dist/cjs/vega-radio_2.cjs.entry.js +9 -9
  90. package/dist/cjs/vega-rich-text-content.cjs.entry.js +7 -7
  91. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +510 -73
  92. package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +4 -4
  93. package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +8 -8
  94. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +15 -15
  95. package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
  96. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +8 -8
  97. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +6 -6
  98. package/dist/cjs/vega-sidenav_3.cjs.entry.js +6 -6
  99. package/dist/cjs/vega-signature-capture.cjs.entry.js +10 -10
  100. package/dist/cjs/vega-stepper.cjs.entry.js +6 -6
  101. package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
  102. package/dist/cjs/vega-table_11.cjs.entry.js +968 -425
  103. package/dist/cjs/vega-textarea.cjs.entry.js +7 -9
  104. package/dist/cjs/vega-time-picker_2.cjs.entry.js +34 -14
  105. package/dist/cjs/vega-toggle-switch.cjs.entry.js +5 -5
  106. package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
  107. package/dist/cjs/vega.cjs.js +14 -14
  108. package/dist/collection/components/vega-button/vega-button.css +4 -0
  109. package/dist/collection/components/vega-button/vega-button.js +4 -1
  110. package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +4 -1
  111. package/dist/collection/components/vega-combo-box/vega-combo-box.js +7 -1
  112. package/dist/collection/components/vega-dialog/vega-dialog.js +1 -1
  113. package/dist/collection/components/vega-dropdown/constants.js +1 -0
  114. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.js +9 -0
  115. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-children-controller.js +97 -4
  116. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-select-all-controller.js +219 -0
  117. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-selected-controller.js +78 -13
  118. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-source-controller.js +13 -1
  119. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.js +7 -0
  120. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/controllers/vega-dropdown-item-state-controller.js +52 -1
  121. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +4 -1
  122. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.js +5 -0
  123. package/dist/collection/components/vega-dropdown/vega-dropdown.js +126 -1
  124. package/dist/collection/components/vega-field-label/vega-field-label.js +1 -1
  125. package/dist/collection/components/vega-hint/vega-hint.js +1 -1
  126. package/dist/collection/components/vega-modal/slimmers/renderers/vega-modal-renderer.js +4 -1
  127. package/dist/collection/components/vega-modal/vega-modal.css +0 -1
  128. package/dist/collection/components/vega-modal/vega-modal.js +38 -0
  129. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-auto-collapse-controller.js +4 -6
  130. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-controller.js +23 -68
  131. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-manager.js +74 -0
  132. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-open-state-controller.js +16 -2
  133. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-zindex-controller.js +2 -2
  134. package/dist/collection/components/vega-nav/vega-left-nav/vega-left-nav.js +7 -2
  135. package/dist/collection/components/vega-rich-text-editor/assets/redo.js +1 -1
  136. package/dist/collection/components/vega-rich-text-editor/assets/undo.js +1 -1
  137. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-line-break-strategy.js +11 -5
  138. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-split-with-text-node-strategy.js +9 -4
  139. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/paste-content-strategy.js +61 -5
  140. package/dist/collection/components/vega-rich-text-editor/dto/actions/paste-content-action.js +1 -0
  141. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.js +3 -2
  142. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +2 -1
  143. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/code-block/code-node-filter-styles-strategy.js +1 -1
  144. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +2 -1
  145. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +6 -1
  146. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +1 -1
  147. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/action-handler-interceptors/blockquote-exit-on-enter-interceptor.js +61 -0
  148. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/action-handler-strategies/block-transform-to-blockquote-strategy.js +40 -0
  149. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/action-handler-strategies/remove-blockquote-strategy.js +20 -0
  150. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/actions/remove-blockquote-action.js +17 -0
  151. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/actions/transform-to-blockquote-action.js +19 -0
  152. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/assets/quote-left.js +4 -0
  153. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/blockquote-extension.js +47 -0
  154. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/dto/blockquote-annotation.js +76 -0
  155. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/dto/rte-blockquote-block.js +70 -0
  156. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/element-to-dto-strategies/blockquote-to-blockquote-block-strategy.js +53 -0
  157. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/filter-styles-strategies/blockquote-block/blockquote-filter-styles-strategy.js +41 -0
  158. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-block-renderer.js +21 -0
  159. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-toolbar-button-renderer.js +260 -0
  160. package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/find-replace-highlight-manager.js +21 -7
  161. package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.js +12 -0
  162. package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/assets/fullscreen-enter.js +3 -0
  163. package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/assets/fullscreen-exit.js +3 -0
  164. package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/controller/fullscreen-controller.js +156 -0
  165. package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-extension.js +31 -0
  166. package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-toolbar-button-renderer.js +73 -0
  167. package/dist/collection/components/vega-rich-text-editor/extensions/image/image-extension.js +34 -0
  168. package/dist/collection/components/vega-rich-text-editor/extensions/image/type.js +1 -0
  169. package/dist/collection/components/vega-rich-text-editor/extensions/paste/assets/paste.js +3 -0
  170. package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.js +145 -0
  171. package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-constants.js +6 -0
  172. package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-extension.js +442 -0
  173. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.js +1 -1
  174. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-toolbar-popover-renderer.js +1 -0
  175. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-extension.js +4 -3
  176. 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 +1 -1
  177. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/column-button-slimmer.js +1 -1
  178. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/merge-cells-button-slimmer.js +1 -1
  179. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.js +1 -1
  180. package/dist/collection/components/vega-rich-text-editor/helpers/utils.js +85 -15
  181. package/dist/collection/components/vega-rich-text-editor/public-api.js +5 -0
  182. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/extension-controller.js +2 -0
  183. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/base-handler.js +1 -1
  184. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-line-break-handler.js +1 -1
  185. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +385 -25
  186. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +69 -36
  187. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +1 -1
  188. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +1 -1
  189. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +59 -14
  190. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +1 -1
  191. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +1 -1
  192. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +11 -1
  193. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.js +19 -1
  194. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer.js +6 -1
  195. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.js +28 -1
  196. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +1 -1
  197. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-image-editor/vega-rich-text-image-editor.js +1 -1
  198. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.js +1 -1
  199. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/vega-rich-text-link-editor.js +1 -1
  200. package/dist/collection/components/vega-table/slimmers/controllers/dto/column-render-input-model.js +32 -0
  201. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-body-col-span-controller.js +77 -0
  202. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-col-span-resolver.js +121 -0
  203. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-cell-renderer.js +41 -14
  204. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.js +207 -7
  205. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-row-renderer.js +16 -3
  206. package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.js +113 -11
  207. package/dist/collection/components/vega-table/vega-table-expand-row/slimmers/controllers/vega-table-expand-row-col-span-controller.js +11 -2
  208. package/dist/collection/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.js +5 -1
  209. package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.js +22 -1
  210. package/dist/collection/components/vega-table/vega-table.css +5 -0
  211. package/dist/collection/components/vega-table/vega-table.js +5 -0
  212. package/dist/collection/components/vega-text/vega-text.js +1 -1
  213. package/dist/collection/components/vega-textarea/vega-textarea.js +1 -3
  214. package/dist/collection/components/vega-time-picker/slimmers/controllers/vega-time-picker-range-dropdown-controller.js +4 -0
  215. package/dist/collection/components/vega-time-picker/slimmers/controllers/vega-time-picker-single-dropdown-controller.js +4 -0
  216. package/dist/collection/components/vega-time-picker/vega-time-picker.js +39 -0
  217. package/dist/collection/constants/ui.js +1 -0
  218. package/dist/collection/global/scripts/before-vega-load.js +8 -0
  219. package/dist/collection/helpers/backdrop/index.js +1 -0
  220. package/dist/collection/helpers/backdrop/shared-backdrop-manager.js +163 -0
  221. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +2 -1
  222. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
  223. package/dist/collection/helpers/slimmers/element-appender/element-appender-slimmer.js +11 -4
  224. package/dist/collection/helpers/translation/locales/en.js +6 -0
  225. package/dist/collection/helpers/ui/element-appender.js +5 -2
  226. package/dist/esm/{app-globals-5e0d319a.js → app-globals-f2336686.js} +14 -9
  227. package/dist/esm/{child-nodes-event-prevent-slimmer-f24618c5.js → child-nodes-event-prevent-slimmer-96c14f5a.js} +1 -1
  228. package/dist/esm/{code-block-b71b2aa4.js → code-block-e12588fe.js} +117 -32
  229. package/dist/esm/{component-value-history-controller-slimmer.abstract-282df6e5.js → component-value-history-controller-slimmer.abstract-4e8eb313.js} +72 -39
  230. package/dist/esm/{content-state-909099f8.js → content-state-8032467a.js} +61 -7
  231. package/dist/esm/{date-required-rule-15edb04a.js → date-required-rule-b88e1650.js} +1 -1
  232. package/dist/esm/{design-token-cb5ed6b9.js → design-token-76bd217c.js} +3 -3
  233. package/dist/esm/{element-appender-slimmer-e41120ee.js → element-appender-slimmer-7fcb944b.js} +17 -8
  234. package/dist/esm/{event-emit-slimmer-03deba18.js → event-emit-slimmer-db4a82e0.js} +1 -1
  235. package/dist/esm/{form-field-controller-slimmer-cfe1d8a7.js → form-field-controller-slimmer-395c23e3.js} +1 -1
  236. package/dist/esm/{image-annotation-action-98232dc4.js → image-annotation-action-b3b6c308.js} +4 -4
  237. package/dist/esm/image-extension-b6c7e4a7.js +53 -0
  238. package/dist/esm/index.js +19 -19
  239. package/dist/esm/{inject-keyboard-manager-13cc77ab.js → inject-keyboard-manager-86126b5b.js} +1 -1
  240. package/dist/esm/{internal-calendar-period-factory-c3d70f3b.js → internal-calendar-period-factory-3a07dba0.js} +1 -1
  241. package/dist/esm/{internal-translation-controller-8e8a514a.js → internal-translation-controller-16709132.js} +6 -0
  242. package/dist/esm/{internal-vega-event-manager-75e5e3bb.js → internal-vega-event-manager-48690e5b.js} +2 -1
  243. package/dist/esm/{keyboard-manager-fe885db1.js → keyboard-manager-a0c3e1cf.js} +1 -1
  244. package/dist/esm/{keyboard-manager-slimmer-61d4c79b.js → keyboard-manager-slimmer-f3f66c15.js} +1 -1
  245. package/dist/esm/{link-extension-f1a3bea7.js → link-extension-97fcb8fb.js} +3 -3
  246. package/dist/esm/loader.js +14 -14
  247. package/dist/esm/{month-view-generator-85eecb95.js → month-view-generator-fd0e1856.js} +1 -1
  248. package/dist/esm/{public-rules-323bea4b.js → public-rules-c06f0d2a.js} +7 -7
  249. package/dist/esm/{range-e63068d1.js → range-e999837f.js} +1 -1
  250. package/dist/esm/{responsive-format-facade-fb424f5b.js → responsive-format-facade-ced96b0b.js} +1 -1
  251. package/dist/esm/{rich-text-editor-required-rule-0edb8ba7.js → rich-text-editor-required-rule-71f8ee98.js} +1 -1
  252. package/dist/esm/{split-cell-operation-93b4d775.js → split-cell-operation-359f8082.js} +3 -3
  253. package/dist/esm/{state-border-formatter-1a528ca4.js → state-border-formatter-b680e922.js} +1 -1
  254. package/dist/esm/{string-format-strategy.abstract-72fc98aa.js → string-format-strategy.abstract-23faab71.js} +1 -1
  255. package/dist/esm/{string-input-formatter-slimmer-b0c480d8.js → string-input-formatter-slimmer-4b4866a6.js} +1 -1
  256. package/dist/esm/{string-mask-strategy-4e00c173.js → string-mask-strategy-66586cd8.js} +2 -2
  257. package/dist/esm/{style-formatter-5c1bea8d.js → style-formatter-f4e16af5.js} +2 -2
  258. package/dist/esm/{time-required-rule-df500b14.js → time-required-rule-6e80a9ab.js} +1 -1
  259. package/dist/esm/{token-extension-32d1fa56.js → token-extension-9896879b.js} +3314 -1742
  260. package/dist/esm/{translation-slimmer-60408f13.js → translation-slimmer-21748a0e.js} +1 -1
  261. package/dist/esm/{type-guard-91087018.js → type-guard-ec5e8628.js} +1 -1
  262. package/dist/esm/{valid-credit-card-number-rule-681ecb75.js → valid-credit-card-number-rule-ca5a47d6.js} +1 -1
  263. package/dist/esm/vega-accordion.entry.js +9 -9
  264. package/dist/esm/vega-app-footer.entry.js +3 -3
  265. package/dist/esm/vega-app-header-button.entry.js +9 -9
  266. package/dist/esm/vega-banner.entry.js +3 -3
  267. package/dist/esm/vega-box.entry.js +6 -6
  268. package/dist/esm/vega-breadcrumb.entry.js +4 -4
  269. package/dist/esm/vega-button-circle.entry.js +9 -9
  270. package/dist/esm/vega-button-group_2.entry.js +4 -4
  271. package/dist/esm/vega-button-link.entry.js +4 -4
  272. package/dist/esm/vega-button.entry.js +12 -9
  273. package/dist/esm/vega-calendar_5.entry.js +11 -11
  274. package/dist/esm/vega-card.entry.js +5 -5
  275. package/dist/esm/vega-carousel.entry.js +6 -6
  276. package/dist/esm/vega-checkbox_2.entry.js +6 -6
  277. package/dist/esm/vega-chip.entry.js +9 -9
  278. package/dist/esm/vega-code-block.entry.js +12 -12
  279. package/dist/esm/vega-color-picker.entry.js +5 -5
  280. package/dist/esm/vega-color-swatch-picker.entry.js +7 -7
  281. package/dist/esm/vega-color-swatch.entry.js +5 -5
  282. package/dist/esm/vega-combo-box.entry.js +19 -13
  283. package/dist/esm/vega-date-picker_2.entry.js +17 -17
  284. package/dist/esm/vega-dialog_2.entry.js +20 -9
  285. package/dist/esm/vega-divider.entry.js +5 -5
  286. package/dist/esm/vega-dropdown_5.entry.js +695 -197
  287. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  288. package/dist/esm/{vega-event-id-d3017041.js → vega-event-id-270fe47e.js} +2 -1
  289. package/dist/esm/vega-field-label.entry.js +5 -5
  290. package/dist/esm/vega-file-uploader.entry.js +6 -6
  291. package/dist/esm/vega-flag-icon.entry.js +5 -5
  292. package/dist/esm/vega-flex.entry.js +6 -6
  293. package/dist/esm/vega-font.entry.js +5 -5
  294. package/dist/esm/vega-form.entry.js +7 -7
  295. package/dist/esm/vega-grid.entry.js +5 -5
  296. package/dist/esm/vega-icon.entry.js +5 -5
  297. package/dist/esm/vega-image-uploader.entry.js +9 -9
  298. package/dist/esm/vega-input-credit-card.entry.js +10 -10
  299. package/dist/esm/vega-input-numeric.entry.js +9 -9
  300. package/dist/esm/vega-input-passcode.entry.js +9 -9
  301. package/dist/esm/vega-input-phone-number.entry.js +8 -8
  302. package/dist/esm/vega-input-range.entry.js +7 -7
  303. package/dist/esm/vega-input-select.entry.js +9 -9
  304. package/dist/esm/vega-input.entry.js +9 -9
  305. package/dist/esm/vega-item-toggle.entry.js +3 -3
  306. package/dist/esm/vega-left-nav_5.entry.js +316 -111
  307. package/dist/esm/vega-loader-wrapper_2.entry.js +3 -3
  308. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  309. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +3 -3
  310. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +3 -3
  311. package/dist/esm/vega-pagination.entry.js +8 -8
  312. package/dist/esm/vega-popover_2.entry.js +11 -11
  313. package/dist/esm/vega-progress-tracker_2.entry.js +6 -6
  314. package/dist/esm/vega-radio_2.entry.js +9 -9
  315. package/dist/esm/vega-rich-text-content.entry.js +7 -7
  316. package/dist/esm/vega-rich-text-editor_4.entry.js +507 -70
  317. package/dist/esm/vega-rich-text-find-replace-panel.entry.js +4 -4
  318. package/dist/esm/vega-rich-text-special-characters-panel.entry.js +8 -8
  319. package/dist/esm/vega-rich-text-table-properties_3.entry.js +15 -15
  320. package/dist/esm/vega-segment-control.entry.js +3 -3
  321. package/dist/esm/vega-selection-chip_2.entry.js +8 -8
  322. package/dist/esm/vega-selection-tile_2.entry.js +6 -6
  323. package/dist/esm/vega-sidenav_3.entry.js +6 -6
  324. package/dist/esm/vega-signature-capture.entry.js +10 -10
  325. package/dist/esm/vega-stepper.entry.js +6 -6
  326. package/dist/esm/vega-tab-group_2.entry.js +4 -4
  327. package/dist/esm/vega-table_11.entry.js +968 -425
  328. package/dist/esm/vega-textarea.entry.js +7 -9
  329. package/dist/esm/vega-time-picker_2.entry.js +34 -14
  330. package/dist/esm/vega-toggle-switch.entry.js +5 -5
  331. package/dist/esm/vega-tooltip_2.entry.js +6 -6
  332. package/dist/esm/vega.js +14 -14
  333. package/dist/sri/vega-sri-manifest.json +356 -356
  334. package/dist/types/components/vega-combo-box/types.d.ts +6 -1
  335. package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +1 -0
  336. package/dist/types/components/vega-dropdown/constants.d.ts +1 -0
  337. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.d.ts +2 -0
  338. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-children-controller.d.ts +36 -0
  339. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-select-all-controller.d.ts +107 -0
  340. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-selected-controller.d.ts +17 -0
  341. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-source-controller.d.ts +5 -0
  342. package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.d.ts +2 -0
  343. package/dist/types/components/vega-dropdown/types.d.ts +8 -0
  344. package/dist/types/components/vega-dropdown/vega-dropdown-item/slimmers/controllers/vega-dropdown-item-state-controller.d.ts +25 -0
  345. package/dist/types/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.d.ts +1 -0
  346. package/dist/types/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.d.ts +4 -0
  347. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +48 -0
  348. package/dist/types/components/vega-modal/slimmers/renderers/vega-modal-renderer.d.ts +2 -1
  349. package/dist/types/components/vega-modal/vega-modal.d.ts +9 -1
  350. package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-auto-collapse-controller.d.ts +0 -1
  351. package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-controller.d.ts +12 -19
  352. package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-manager.d.ts +41 -0
  353. package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-open-state-controller.d.ts +4 -1
  354. package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-zindex-controller.d.ts +1 -1
  355. package/dist/types/components/vega-nav/vega-left-nav/vega-left-nav.d.ts +2 -0
  356. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/paste-content-strategy.d.ts +14 -4
  357. package/dist/types/components/vega-rich-text-editor/dto/actions/paste-content-action.d.ts +7 -0
  358. package/dist/types/components/vega-rich-text-editor/extensions/blockquote/action-handler-interceptors/blockquote-exit-on-enter-interceptor.d.ts +34 -0
  359. package/dist/types/components/vega-rich-text-editor/extensions/blockquote/action-handler-strategies/block-transform-to-blockquote-strategy.d.ts +13 -0
  360. package/dist/types/components/vega-rich-text-editor/extensions/blockquote/action-handler-strategies/remove-blockquote-strategy.d.ts +13 -0
  361. package/dist/types/components/vega-rich-text-editor/extensions/blockquote/actions/remove-blockquote-action.d.ts +14 -0
  362. package/dist/types/components/vega-rich-text-editor/extensions/blockquote/actions/transform-to-blockquote-action.d.ts +18 -0
  363. package/dist/types/components/vega-rich-text-editor/extensions/blockquote/assets/quote-left.d.ts +3 -0
  364. package/dist/types/components/vega-rich-text-editor/extensions/blockquote/blockquote-extension.d.ts +9 -0
  365. package/dist/types/components/vega-rich-text-editor/extensions/blockquote/dto/blockquote-annotation.d.ts +48 -0
  366. package/dist/types/components/vega-rich-text-editor/extensions/blockquote/dto/rte-blockquote-block.d.ts +56 -0
  367. package/dist/types/components/vega-rich-text-editor/extensions/blockquote/element-to-dto-strategies/blockquote-to-blockquote-block-strategy.d.ts +35 -0
  368. package/dist/types/components/vega-rich-text-editor/extensions/blockquote/filter-styles-strategies/blockquote-block/blockquote-filter-styles-strategy.d.ts +31 -0
  369. package/dist/types/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-block-renderer.d.ts +18 -0
  370. package/dist/types/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-toolbar-button-renderer.d.ts +113 -0
  371. package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/find-replace-highlight-manager.d.ts +15 -4
  372. package/dist/types/components/vega-rich-text-editor/extensions/fullscreen/assets/fullscreen-enter.d.ts +3 -0
  373. package/dist/types/components/vega-rich-text-editor/extensions/fullscreen/assets/fullscreen-exit.d.ts +3 -0
  374. package/dist/types/components/vega-rich-text-editor/extensions/fullscreen/controller/fullscreen-controller.d.ts +63 -0
  375. package/dist/types/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-extension.d.ts +20 -0
  376. package/dist/types/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-toolbar-button-renderer.d.ts +40 -0
  377. package/dist/types/components/vega-rich-text-editor/extensions/image/image-extension.d.ts +27 -0
  378. package/dist/types/components/vega-rich-text-editor/extensions/image/type.d.ts +13 -0
  379. package/dist/types/components/vega-rich-text-editor/extensions/paste/assets/paste.d.ts +3 -0
  380. package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.d.ts +58 -0
  381. package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-constants.d.ts +6 -0
  382. package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-extension.d.ts +150 -0
  383. package/dist/types/components/vega-rich-text-editor/helpers/utils.d.ts +26 -0
  384. package/dist/types/components/vega-rich-text-editor/interface.d.ts +20 -0
  385. package/dist/types/components/vega-rich-text-editor/public-api.d.ts +5 -0
  386. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.d.ts +114 -3
  387. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/selection-controller.d.ts +22 -13
  388. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.d.ts +10 -2
  389. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +5 -0
  390. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.d.ts +8 -0
  391. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer.d.ts +1 -0
  392. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.d.ts +6 -0
  393. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +4 -4
  394. package/dist/types/components/vega-rich-text-editor/vega-rich-text-image-editor/vega-rich-text-image-editor.d.ts +1 -1
  395. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/vega-rich-text-link-editor.d.ts +1 -1
  396. package/dist/types/components/vega-table/interface.d.ts +31 -0
  397. package/dist/types/components/vega-table/slimmers/controllers/dto/column-render-input-model.d.ts +13 -0
  398. package/dist/types/components/vega-table/slimmers/controllers/vega-table-body-col-span-controller.d.ts +43 -0
  399. package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-col-span-resolver.d.ts +38 -0
  400. package/dist/types/components/vega-table/slimmers/renderers/vega-table-cell-renderer.d.ts +11 -2
  401. package/dist/types/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.d.ts +4 -0
  402. package/dist/types/components/vega-table/slimmers/renderers/vega-table-row-renderer.d.ts +1 -0
  403. package/dist/types/components/vega-table/vega-table-cell/slimmers/controllers/vega-table-row-state-subscriber.d.ts +1 -1
  404. package/dist/types/components/vega-table/vega-table-cell/vega-table-cell.d.ts +23 -0
  405. package/dist/types/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.d.ts +1 -0
  406. package/dist/types/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.d.ts +9 -0
  407. package/dist/types/components/vega-table/vega-table.d.ts +2 -0
  408. package/dist/types/components/vega-time-picker/slimmers/controllers/vega-time-picker-range-dropdown-controller.d.ts +1 -0
  409. package/dist/types/components/vega-time-picker/slimmers/controllers/vega-time-picker-single-dropdown-controller.d.ts +1 -0
  410. package/dist/types/components/vega-time-picker/types.d.ts +7 -0
  411. package/dist/types/components/vega-time-picker/vega-time-picker.d.ts +11 -1
  412. package/dist/types/components.d.ts +90 -3
  413. package/dist/types/constants/ui.d.ts +1 -1
  414. package/dist/types/helpers/backdrop/index.d.ts +1 -0
  415. package/dist/types/helpers/backdrop/shared-backdrop-manager.d.ts +67 -0
  416. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
  417. package/dist/types/helpers/translation/interface.d.ts +7 -0
  418. package/dist/types/helpers/ui/element-appender.d.ts +4 -1
  419. package/dist/types/types/components.type.d.ts +5 -1
  420. package/dist/vega/index.esm.js +1 -1
  421. package/dist/vega/{p-92823583.js → p-02355de8.js} +1 -1
  422. package/dist/vega/{p-481601c0.entry.js → p-0af32f31.entry.js} +1 -1
  423. package/dist/vega/{p-438b7404.entry.js → p-0b311599.entry.js} +1 -1
  424. package/dist/vega/{p-56cf1a65.entry.js → p-0b9c7c79.entry.js} +1 -1
  425. package/dist/vega/p-0be4df0a.js +1 -0
  426. package/dist/vega/p-0d18368b.js +1 -0
  427. package/dist/vega/{p-9fafc956.entry.js → p-1232b553.entry.js} +1 -1
  428. package/dist/vega/{p-70817cf5.js → p-140616fe.js} +1 -1
  429. package/dist/vega/{p-f365601c.entry.js → p-14559974.entry.js} +1 -1
  430. package/dist/vega/{p-aa32f2f3.js → p-14baa886.js} +1 -1
  431. package/dist/vega/p-2364be92.entry.js +1 -0
  432. package/dist/vega/{p-c0629528.entry.js → p-26c7fe8b.entry.js} +1 -1
  433. package/dist/vega/p-270697c0.entry.js +1 -0
  434. package/dist/vega/p-282b37cb.js +1 -0
  435. package/dist/vega/{p-06c2ce2c.entry.js → p-288d65ad.entry.js} +1 -1
  436. package/dist/vega/p-2bf17505.entry.js +1 -0
  437. package/dist/vega/{p-c78aeaf3.entry.js → p-2dc5edd0.entry.js} +1 -1
  438. package/dist/vega/{p-136226f8.js → p-320091b7.js} +1 -1
  439. package/dist/vega/{p-b799fc1f.entry.js → p-341a6b32.entry.js} +1 -1
  440. package/dist/vega/p-36949349.js +1 -0
  441. package/dist/vega/p-38c9d782.js +1 -0
  442. package/dist/vega/{p-a361456d.js → p-3c309a38.js} +1 -1
  443. package/dist/vega/{p-71e2a3ec.js → p-3dee1e55.js} +1 -1
  444. package/dist/vega/{p-ef2b9846.entry.js → p-3e8baeac.entry.js} +1 -1
  445. package/dist/vega/{p-8f078d0d.entry.js → p-44439ecc.entry.js} +1 -1
  446. package/dist/vega/{p-68e16c70.entry.js → p-45e8424a.entry.js} +1 -1
  447. package/dist/vega/{p-ce7e9515.entry.js → p-46fe3154.entry.js} +1 -1
  448. package/dist/vega/{p-c2e0f8b7.entry.js → p-48ee3e24.entry.js} +1 -1
  449. package/dist/vega/{p-e371738b.js → p-4fe40b76.js} +1 -1
  450. package/dist/vega/p-4ff48b84.js +1 -0
  451. package/dist/vega/{p-2e58d99e.entry.js → p-5107277d.entry.js} +1 -1
  452. package/dist/vega/{p-2def8e3e.js → p-51b68d25.js} +1 -1
  453. package/dist/vega/p-52c6a399.entry.js +1 -0
  454. package/dist/vega/p-579cdeae.js +1 -0
  455. package/dist/vega/{p-e9cee498.entry.js → p-595998d9.entry.js} +1 -1
  456. package/dist/vega/{p-7798254d.entry.js → p-5db61a12.entry.js} +1 -1
  457. package/dist/vega/{p-e41d9d0e.entry.js → p-5df2d6a1.entry.js} +1 -1
  458. package/dist/vega/p-5f377954.js +1 -1
  459. package/dist/vega/{p-d7369441.js → p-61ce8029.js} +1 -1
  460. package/dist/vega/{p-2da12975.entry.js → p-62d6e063.entry.js} +1 -1
  461. package/dist/vega/p-698fbd73.js +1 -0
  462. package/dist/vega/p-6ad7144a.entry.js +1 -0
  463. package/dist/vega/{p-f70f7ad8.entry.js → p-6c9c2f8c.entry.js} +1 -1
  464. package/dist/vega/{p-b730bf6e.js → p-6cde45fc.js} +1 -1
  465. package/dist/vega/p-6dfe2407.js +1 -0
  466. package/dist/vega/{p-d3c8b871.entry.js → p-6f01a71a.entry.js} +1 -1
  467. package/dist/vega/p-6f70a10f.entry.js +1 -0
  468. package/dist/vega/p-73f2c3c0.entry.js +1 -0
  469. package/dist/vega/{p-de885ef2.js → p-75e33859.js} +1 -1
  470. package/dist/vega/p-762ea523.entry.js +1 -0
  471. package/dist/vega/{p-f6bccb06.entry.js → p-782eb312.entry.js} +1 -1
  472. package/dist/vega/p-7a88a3d3.entry.js +1 -0
  473. package/dist/vega/{p-5038b6d7.entry.js → p-7b57a845.entry.js} +1 -1
  474. package/dist/vega/p-83a16285.entry.js +1 -0
  475. package/dist/vega/{p-8da860f6.js → p-8720816e.js} +1 -1
  476. package/dist/vega/{p-9219201a.entry.js → p-892edf88.entry.js} +1 -1
  477. package/dist/vega/{p-625351a3.entry.js → p-8c083255.entry.js} +1 -1
  478. package/dist/vega/{p-4d9061fb.js → p-8db904dc.js} +1 -1
  479. package/dist/vega/{p-22f73e6e.entry.js → p-91287214.entry.js} +1 -1
  480. package/dist/vega/{p-5946fadf.js → p-919cddc3.js} +1 -1
  481. package/dist/vega/{p-fc5dfb52.entry.js → p-95913e3c.entry.js} +1 -1
  482. package/dist/vega/p-97215133.js +1 -0
  483. package/dist/vega/{p-5829a66d.entry.js → p-9bdc6e11.entry.js} +1 -1
  484. package/dist/vega/{p-8b9a8603.entry.js → p-9d18ba7f.entry.js} +1 -1
  485. package/dist/vega/{p-f7739cbb.entry.js → p-9dca874d.entry.js} +1 -1
  486. package/dist/vega/{p-c67ce78c.entry.js → p-9f38448c.entry.js} +1 -1
  487. package/dist/vega/{p-e3803943.js → p-9f7154d2.js} +1 -1
  488. package/dist/vega/{p-2314494a.entry.js → p-a057285e.entry.js} +1 -1
  489. package/dist/vega/{p-f515d189.entry.js → p-a0a58295.entry.js} +1 -1
  490. package/dist/vega/p-a7209700.js +1 -0
  491. package/dist/vega/{p-40501057.entry.js → p-a890d60b.entry.js} +1 -1
  492. package/dist/vega/{p-450bf94d.entry.js → p-addbca58.entry.js} +1 -1
  493. package/dist/vega/{p-45ab490c.js → p-b1eb9ff0.js} +1 -1
  494. package/dist/vega/{p-5beec481.js → p-b1ff70bf.js} +1 -1
  495. package/dist/vega/{p-9cdedcfb.entry.js → p-b39d4a88.entry.js} +1 -1
  496. package/dist/vega/{p-ea22cba0.js → p-b4e7c967.js} +1 -1
  497. package/dist/vega/{p-228c5de8.js → p-b775e51f.js} +1 -1
  498. package/dist/vega/{p-43c3848f.entry.js → p-b8f8e480.entry.js} +1 -1
  499. package/dist/vega/{p-8d69b201.js → p-ba662fe5.js} +1 -1
  500. package/dist/vega/p-c66d2a1e.js +1 -0
  501. package/dist/vega/{p-a268a4fb.entry.js → p-c67b9aba.entry.js} +1 -1
  502. package/dist/vega/{p-2353b64f.entry.js → p-c9c6daa6.entry.js} +1 -1
  503. package/dist/vega/p-c9daabe1.entry.js +1 -0
  504. package/dist/vega/{p-37dffdf6.entry.js → p-cad5222a.entry.js} +1 -1
  505. package/dist/vega/{p-e160a727.entry.js → p-cb90163a.entry.js} +1 -1
  506. package/dist/vega/{p-5545a235.entry.js → p-d08ffdf1.entry.js} +1 -1
  507. package/dist/vega/{p-30561e1d.entry.js → p-d3a36d19.entry.js} +1 -1
  508. package/dist/vega/{p-cd1844ad.entry.js → p-e235020b.entry.js} +1 -1
  509. package/dist/vega/{p-9440a8a5.entry.js → p-e4266b45.entry.js} +1 -1
  510. package/dist/vega/{p-18413b62.entry.js → p-e48a870f.entry.js} +1 -1
  511. package/dist/vega/{p-590c8720.entry.js → p-e8ee70c5.entry.js} +1 -1
  512. package/dist/vega/p-ed103a1a.entry.js +1 -0
  513. package/dist/vega/p-f05a193e.entry.js +1 -0
  514. package/dist/vega/{p-7be548a7.js → p-f1974321.js} +1 -1
  515. package/dist/vega/{p-916dfa7e.entry.js → p-f246f125.entry.js} +1 -1
  516. package/dist/vega/p-f4da615a.js +3 -0
  517. package/dist/vega/{p-d0ce752f.entry.js → p-f5d7b89f.entry.js} +1 -1
  518. package/dist/vega/{p-c8eaf91c.entry.js → p-f651df3b.entry.js} +1 -1
  519. package/dist/vega/{p-93dfab05.js → p-f7e459cd.js} +1 -1
  520. package/dist/vega/{p-b6ebfd5c.entry.js → p-f8a29127.entry.js} +1 -1
  521. package/dist/vega/p-f906a7bc.entry.js +1 -0
  522. package/dist/vega/{p-d20587b4.entry.js → p-f96d0503.entry.js} +1 -1
  523. package/dist/vega/{p-cd9fb2ca.entry.js → p-fbd3be00.entry.js} +1 -1
  524. package/dist/vega/{p-f0bc2bbb.js → p-fe24b459.js} +1 -1
  525. package/dist/vega/vega.esm.js +1 -1
  526. package/package.json +2 -16
  527. package/readme.md +0 -5
  528. package/dist/cjs/replace-selected-text-action-a31563ed.js +0 -20
  529. package/dist/esm/replace-selected-text-action-c0817b2b.js +0 -18
  530. package/dist/vega/p-0179f55d.js +0 -1
  531. package/dist/vega/p-07b56f2b.entry.js +0 -1
  532. package/dist/vega/p-209e0166.js +0 -1
  533. package/dist/vega/p-35df0f0a.entry.js +0 -1
  534. package/dist/vega/p-3cf4339a.entry.js +0 -1
  535. package/dist/vega/p-4953bb1a.js +0 -1
  536. package/dist/vega/p-4e39adf5.entry.js +0 -1
  537. package/dist/vega/p-5319da71.entry.js +0 -1
  538. package/dist/vega/p-53c76d9d.entry.js +0 -1
  539. package/dist/vega/p-5de1acdb.js +0 -1
  540. package/dist/vega/p-5df9047c.js +0 -1
  541. package/dist/vega/p-683cfe24.js +0 -1
  542. package/dist/vega/p-802bf369.js +0 -1
  543. package/dist/vega/p-82279b03.entry.js +0 -1
  544. package/dist/vega/p-8509c140.entry.js +0 -1
  545. package/dist/vega/p-8aa07ed0.js +0 -1
  546. package/dist/vega/p-970115d6.js +0 -1
  547. package/dist/vega/p-9b1d718c.entry.js +0 -1
  548. package/dist/vega/p-c78e8081.entry.js +0 -1
  549. package/dist/vega/p-ca9852bb.js +0 -1
  550. package/dist/vega/p-dee38163.entry.js +0 -1
  551. package/dist/vega/p-e5502873.entry.js +0 -1
  552. package/dist/vega/p-ea54ce0a.js +0 -3
  553. package/dist/vega/p-ee3155bd.js +0 -1
  554. package/dist/vega/p-eee01ba7.entry.js +0 -1
  555. package/dist/vega/p-f4a01959.js +0 -1
  556. package/dist/vega/p-f5aefb2f.entry.js +0 -1
@@ -0,0 +1,442 @@
1
+ import { VegaRTEExtension } from '../extension.abstract';
2
+ import { RTEPasteChooserUI } from './paste-chooser-ui';
3
+ import { RTE_PASTE_MODE_DATA_TYPE } from './paste-constants';
4
+ /**
5
+ * Vega Rich Text Editor paste extension.
6
+ * Intercepts keyboard paste and allows users to choose paste mode.
7
+ */
8
+ export class VegaRTEPasteExtension extends VegaRTEExtension {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.editableEl = null;
12
+ this.contentHostEl = null;
13
+ this.chooserUI = null;
14
+ this.pendingPastePayload = null;
15
+ this.listenerDocument = null;
16
+ this.listenerWindow = null;
17
+ /**
18
+ * Handles a native paste event by capturing the clipboard payload and
19
+ * rendering the paste-mode chooser.
20
+ *
21
+ * @param {ClipboardEvent} event Native clipboard paste event.
22
+ */
23
+ this.handlePasteEvent = (event) => {
24
+ var _a, _b;
25
+ const clipboardData = event.clipboardData;
26
+ if (!clipboardData) {
27
+ return;
28
+ }
29
+ // HTML is sanitized via DOMParser and ElementToDtoStrategyProcessor pipeline
30
+ const html = clipboardData.getData('text/html') || '';
31
+ const text = clipboardData.getData('text/plain') || '';
32
+ if (!html && !text) {
33
+ // Empty clipboard paste should not mutate editor content.
34
+ event.preventDefault();
35
+ event.stopPropagation();
36
+ return;
37
+ }
38
+ event.preventDefault();
39
+ event.stopPropagation();
40
+ const range = this.cloneCurrentSelectionRange();
41
+ const selectedNodes = ((_b = (_a = this.extensionContext) === null || _a === void 0 ? void 0 : _a.getSelectedNodes) === null || _b === void 0 ? void 0 : _b.call(_a)) || [];
42
+ this.pendingPastePayload = { html, text, range, selectedNodes: [...selectedNodes] };
43
+ this.renderPasteChooser(event);
44
+ };
45
+ /**
46
+ * Dismisses the chooser when a pointer interaction occurs outside of it.
47
+ *
48
+ * @param {Event} event Pointer event captured on the document.
49
+ */
50
+ this.handleOutsidePointerDown = (event) => {
51
+ if (!this.chooserUI) {
52
+ return;
53
+ }
54
+ const eventPath = typeof event.composedPath === 'function' ? event.composedPath() : [];
55
+ if (this.chooserUI.includesEventPath(eventPath)) {
56
+ return;
57
+ }
58
+ this.clearPasteChooser();
59
+ };
60
+ /**
61
+ * Dismisses the chooser when the Escape key is pressed.
62
+ *
63
+ * @param {KeyboardEvent} event Keyboard event captured on the document.
64
+ */
65
+ this.handleOutsideKeyDown = (event) => {
66
+ if (event.key === 'Escape') {
67
+ this.clearPasteChooser();
68
+ }
69
+ };
70
+ /**
71
+ * Dismisses the chooser when any relevant scroll container scrolls.
72
+ */
73
+ this.handleOutsideScroll = () => {
74
+ this.clearPasteChooser();
75
+ };
76
+ }
77
+ /** @inheritDoc */
78
+ initialExtensionAfterLoad(context) {
79
+ super.initialExtensionAfterLoad(context);
80
+ this.hostEl = context.host;
81
+ this.attachPasteListener();
82
+ }
83
+ /** @inheritDoc */
84
+ destroyExtension() {
85
+ this.detachPasteListener();
86
+ this.clearPasteChooser();
87
+ }
88
+ /**
89
+ * Attaches the paste listener to the editable element.
90
+ */
91
+ attachPasteListener() {
92
+ const { editableEl, contentHostEl, } = this.getEditorElements();
93
+ this.editableEl = editableEl;
94
+ this.contentHostEl = contentHostEl;
95
+ if (this.editableEl) {
96
+ this.editableEl.addEventListener('paste', this.handlePasteEvent);
97
+ }
98
+ }
99
+ /**
100
+ * Detaches the paste listener from the editable element.
101
+ */
102
+ detachPasteListener() {
103
+ if (this.editableEl) {
104
+ this.editableEl.removeEventListener('paste', this.handlePasteEvent);
105
+ }
106
+ this.editableEl = null;
107
+ this.contentHostEl = null;
108
+ }
109
+ /**
110
+ * Resolves the content host and editable element from the host shadow tree.
111
+ *
112
+ * @returns {EditorElements} Editor elements.
113
+ */
114
+ getEditorElements() {
115
+ var _a, _b, _c, _d, _e;
116
+ const contentHostEl = (_c = (_b = (_a = this.hostEl) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('vega-rich-text-content')) !== null && _c !== void 0 ? _c : null;
117
+ const editableEl = (_e = (_d = contentHostEl === null || contentHostEl === void 0 ? void 0 : contentHostEl.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('.rich-text-content')) !== null && _e !== void 0 ? _e : null;
118
+ return { editableEl, contentHostEl };
119
+ }
120
+ /**
121
+ * Resolves the editable content element from the host shadow tree.
122
+ *
123
+ * @returns {HTMLDivElement | null} Editable element or `null` when unavailable.
124
+ */
125
+ getEditableElement() {
126
+ const { editableEl } = this.getEditorElements();
127
+ return editableEl;
128
+ }
129
+ /**
130
+ * Clones the current selection range so it can be restored after the user
131
+ * chooses a paste mode.
132
+ *
133
+ * @returns {Range | null} Cloned range or `null` when there is no selection.
134
+ */
135
+ cloneCurrentSelectionRange() {
136
+ var _a;
137
+ const selection = (_a = this.extensionContext) === null || _a === void 0 ? void 0 : _a.getSelection();
138
+ if (selection && selection.rangeCount > 0) {
139
+ return selection.getRangeAt(0).cloneRange();
140
+ }
141
+ return null;
142
+ }
143
+ /**
144
+ * Renders the paste-mode chooser and wires up dismissal listeners.
145
+ *
146
+ * @param {ClipboardEvent} pasteEvent Originating paste event used for positioning.
147
+ */
148
+ renderPasteChooser(pasteEvent) {
149
+ var _a, _b;
150
+ const hostRoot = (_b = (_a = this.hostEl) === null || _a === void 0 ? void 0 : _a.shadowRoot) !== null && _b !== void 0 ? _b : null;
151
+ if (!hostRoot) {
152
+ return;
153
+ }
154
+ this.clearPasteChooser(false);
155
+ const position = this.computeChooserPosition(pasteEvent);
156
+ this.chooserUI = new RTEPasteChooserUI(hostRoot, {
157
+ // eslint-disable-next-line jsdoc/require-jsdoc
158
+ onModeSelect: (mode) => {
159
+ this.applyPasteMode(mode);
160
+ },
161
+ });
162
+ this.chooserUI.open(position);
163
+ this.listenerDocument = this.hostEl.ownerDocument;
164
+ this.listenerWindow = this.listenerDocument.defaultView;
165
+ this.listenerDocument.addEventListener('mousedown', this.handleOutsidePointerDown, true);
166
+ this.listenerDocument.addEventListener('keydown', this.handleOutsideKeyDown, true);
167
+ this.listenerDocument.addEventListener('scroll', this.handleOutsideScroll, true);
168
+ if (this.listenerWindow) {
169
+ this.listenerWindow.addEventListener('scroll', this.handleOutsideScroll, true);
170
+ }
171
+ if (this.contentHostEl) {
172
+ this.contentHostEl.addEventListener('scroll', this.handleOutsideScroll);
173
+ }
174
+ }
175
+ /**
176
+ * Computes the on-screen position for the chooser based on pointer or caret.
177
+ *
178
+ * @param {ClipboardEvent} event Originating paste event.
179
+ * @returns {ChooserPosition} Position in viewport coordinates.
180
+ */
181
+ computeChooserPosition(event) {
182
+ var _a, _b, _c;
183
+ const hostRect = this.hostEl.getBoundingClientRect();
184
+ const viewportHeight = (_b = (_a = this.hostEl.ownerDocument.defaultView) === null || _a === void 0 ? void 0 : _a.innerHeight) !== null && _b !== void 0 ? _b : window.innerHeight;
185
+ const pointerEvent = event;
186
+ const hasPointer = typeof pointerEvent.clientX === 'number' &&
187
+ pointerEvent.clientX > 0 &&
188
+ typeof pointerEvent.clientY === 'number' &&
189
+ pointerEvent.clientY > 0;
190
+ // For keyboard-initiated paste (Command/Control+V) clientX/Y are 0, so anchor
191
+ // the chooser to the current caret instead of a fixed host-relative spot.
192
+ const caretRect = hasPointer ? null : this.getCaretRect();
193
+ const CHOOSER_GAP_PX = 8;
194
+ const CHOOSER_MIN_MARGIN_PX = 12;
195
+ const CHOOSER_WIDTH_PX = 220;
196
+ const CHOOSER_FALLBACK_OFFSET_PX = 40;
197
+ const CHOOSER_MIN_VISIBLE_BELOW_SPACE_PX = 88;
198
+ const baseLeft = hasPointer
199
+ ? pointerEvent.clientX
200
+ : (_c = caretRect === null || caretRect === void 0 ? void 0 : caretRect.left) !== null && _c !== void 0 ? _c : hostRect.left + CHOOSER_MIN_MARGIN_PX;
201
+ const baseTop = hasPointer
202
+ ? pointerEvent.clientY
203
+ : caretRect
204
+ ? caretRect.bottom
205
+ : hostRect.top + CHOOSER_FALLBACK_OFFSET_PX;
206
+ const maxLeft = Math.max(hostRect.left + CHOOSER_MIN_MARGIN_PX, hostRect.right - CHOOSER_WIDTH_PX);
207
+ const left = Math.min(Math.max(baseLeft, hostRect.left + CHOOSER_MIN_MARGIN_PX), maxLeft);
208
+ const top = Math.max(baseTop + CHOOSER_GAP_PX, hostRect.top + CHOOSER_MIN_MARGIN_PX);
209
+ const availableBelow = viewportHeight - top - CHOOSER_MIN_MARGIN_PX;
210
+ const availableAbove = top - CHOOSER_MIN_MARGIN_PX;
211
+ const placement = availableBelow >= CHOOSER_MIN_VISIBLE_BELOW_SPACE_PX || availableBelow >= availableAbove
212
+ ? ['bottom', 'top']
213
+ : ['top', 'bottom'];
214
+ return { left, top, placement };
215
+ }
216
+ /**
217
+ * Resolves the bounding rect of the pending caret position.
218
+ *
219
+ * @returns {DOMRect | null} Caret rect or `null` when it cannot be determined.
220
+ */
221
+ getCaretRect() {
222
+ var _a, _b;
223
+ const range = (_b = (_a = this.pendingPastePayload) === null || _a === void 0 ? void 0 : _a.range) !== null && _b !== void 0 ? _b : this.cloneCurrentSelectionRange();
224
+ if (!range) {
225
+ return null;
226
+ }
227
+ const rect = range.getBoundingClientRect();
228
+ if (this.isUnavailableRect(rect)) {
229
+ // eslint-disable-next-line spellcheck/spell-checker
230
+ const domRectList = range.getClientRects();
231
+ if (domRectList.length > 0) {
232
+ return domRectList[0];
233
+ }
234
+ return this.getRangeContainerRect(range);
235
+ }
236
+ return rect;
237
+ }
238
+ /**
239
+ * Returns whether the browser could not resolve a meaningful caret rectangle.
240
+ *
241
+ * @param {DOMRect} rect Candidate caret rect.
242
+ * @returns {boolean} Whether the rect is unusable.
243
+ */
244
+ isUnavailableRect(rect) {
245
+ return rect.width === 0 && rect.height === 0 && rect.left === 0 && rect.top === 0;
246
+ }
247
+ /**
248
+ * Falls back to the range container or neighbor child node bounds.
249
+ *
250
+ * @param {Range} range Caret/selection range.
251
+ * @returns {DOMRect | null} Best-effort caret anchor rectangle.
252
+ */
253
+ getRangeContainerRect(range) {
254
+ var _a, _b, _c, _d, _e, _f;
255
+ const containerNode = (_a = range.startContainer) !== null && _a !== void 0 ? _a : null;
256
+ if (!containerNode) {
257
+ return null;
258
+ }
259
+ if (containerNode.nodeType === Node.ELEMENT_NODE) {
260
+ const containerElement = containerNode;
261
+ const previousNode = (_b = containerElement.childNodes[range.startOffset - 1]) !== null && _b !== void 0 ? _b : null;
262
+ const currentNode = (_c = containerElement.childNodes[range.startOffset]) !== null && _c !== void 0 ? _c : null;
263
+ return ((_e = (_d = this.getNodeRect(previousNode)) !== null && _d !== void 0 ? _d : this.getNodeRect(currentNode)) !== null && _e !== void 0 ? _e : this.getNodeRect(containerElement));
264
+ }
265
+ return (_f = this.getNodeRect(containerNode)) !== null && _f !== void 0 ? _f : this.getNodeRect(containerNode.parentNode);
266
+ }
267
+ /**
268
+ * Returns an element-backed rectangle from a DOM node.
269
+ *
270
+ * @param {Node | null} node Candidate node.
271
+ * @returns {DOMRect | null} Node rectangle when resolvable.
272
+ */
273
+ getNodeRect(node) {
274
+ var _a, _b;
275
+ if (!node) {
276
+ return null;
277
+ }
278
+ if (node.nodeType === Node.TEXT_NODE) {
279
+ return (_b = (_a = node.parentElement) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) !== null && _b !== void 0 ? _b : null;
280
+ }
281
+ if (node.nodeType === Node.ELEMENT_NODE) {
282
+ const rect = node.getBoundingClientRect();
283
+ return this.isUnavailableRect(rect) ? null : rect;
284
+ }
285
+ return null;
286
+ }
287
+ /**
288
+ * Applies the chosen paste mode by dispatching a synthetic paste input event.
289
+ *
290
+ * @param {PasteMode} mode Selected paste mode.
291
+ */
292
+ applyPasteMode(mode) {
293
+ var _a;
294
+ if (!this.pendingPastePayload) {
295
+ this.clearPasteChooser();
296
+ return;
297
+ }
298
+ const editableEl = (_a = this.editableEl) !== null && _a !== void 0 ? _a : this.getEditableElement();
299
+ if (!editableEl) {
300
+ this.clearPasteChooser();
301
+ return;
302
+ }
303
+ editableEl.focus();
304
+ this.restoreSelectionRange(this.pendingPastePayload.range);
305
+ this.restoreSelectionControllerState(this.pendingPastePayload);
306
+ const dataTransfer = this.createDataTransfer(this.pendingPastePayload.html, this.pendingPastePayload.text, mode);
307
+ this.dispatchBeforeInputPaste(editableEl, dataTransfer);
308
+ this.clearPasteChooser();
309
+ }
310
+ /**
311
+ * Restores SelectionController state from the captured selection so synthetic
312
+ * beforeinput paste can replace the selected content instead of appending.
313
+ *
314
+ * @param {PendingPastePayload} payload Pending paste payload.
315
+ */
316
+ restoreSelectionControllerState(payload) {
317
+ if (!payload.range || !this.extensionContext) {
318
+ return;
319
+ }
320
+ const rangeOptions = {
321
+ startNode: payload.range.startContainer,
322
+ endNode: payload.range.endContainer,
323
+ startOffset: payload.range.startOffset,
324
+ endOffset: payload.range.endOffset,
325
+ };
326
+ this.extensionContext.setSelectedNodes(payload.selectedNodes || [], rangeOptions);
327
+ }
328
+ /**
329
+ * Restores a previously cloned selection range.
330
+ *
331
+ * @param {Range | null} range Range to restore.
332
+ */
333
+ restoreSelectionRange(range) {
334
+ var _a;
335
+ if (!range) {
336
+ return;
337
+ }
338
+ const selection = (_a = this.extensionContext) === null || _a === void 0 ? void 0 : _a.getSelection();
339
+ if (selection) {
340
+ selection.removeAllRanges();
341
+ selection.addRange(range);
342
+ }
343
+ }
344
+ /**
345
+ * Dispatches a synthetic `beforeinput` paste event into the editor pipeline.
346
+ *
347
+ * @param {HTMLDivElement} editableEl Editable content element.
348
+ * @param {DataTransfer} dataTransfer Clipboard payload for the paste.
349
+ */
350
+ dispatchBeforeInputPaste(editableEl, dataTransfer) {
351
+ // This synthetic beforeinput event intentionally reuses the existing
352
+ // UserInputController -> insertFromPaste -> InsertPasteHandler pipeline.
353
+ const beforeInputEvent = new CustomEvent('beforeinput', {
354
+ bubbles: true,
355
+ cancelable: true,
356
+ });
357
+ try {
358
+ Object.defineProperties(beforeInputEvent, {
359
+ inputType: {
360
+ value: 'insertFromPaste',
361
+ configurable: true,
362
+ },
363
+ dataTransfer: {
364
+ value: dataTransfer,
365
+ configurable: true,
366
+ },
367
+ });
368
+ }
369
+ catch (_a) {
370
+ Object.assign(beforeInputEvent, {
371
+ inputType: 'insertFromPaste',
372
+ dataTransfer,
373
+ });
374
+ }
375
+ editableEl.dispatchEvent(beforeInputEvent);
376
+ }
377
+ /**
378
+ * Builds a `DataTransfer` payload carrying the paste content and mode marker.
379
+ *
380
+ * @param {string} html HTML clipboard content.
381
+ * @param {string} text Plain text clipboard content.
382
+ * @param {PasteMode} [mode] Selected paste mode marker.
383
+ * @returns {DataTransfer} Populated data transfer payload.
384
+ */
385
+ createDataTransfer(html, text, mode) {
386
+ if (typeof DataTransfer !== 'undefined') {
387
+ const dataTransfer = new DataTransfer();
388
+ if (html) {
389
+ dataTransfer.setData('text/html', html);
390
+ }
391
+ if (text) {
392
+ dataTransfer.setData('text/plain', text);
393
+ }
394
+ if (mode) {
395
+ dataTransfer.setData(RTE_PASTE_MODE_DATA_TYPE, mode);
396
+ }
397
+ return dataTransfer;
398
+ }
399
+ return {
400
+ // eslint-disable-next-line jsdoc/require-jsdoc
401
+ getData: (type) => {
402
+ if (type === 'text/html') {
403
+ return html;
404
+ }
405
+ if (type === 'text/plain') {
406
+ return text;
407
+ }
408
+ if (type === RTE_PASTE_MODE_DATA_TYPE) {
409
+ return mode !== null && mode !== void 0 ? mode : '';
410
+ }
411
+ return '';
412
+ },
413
+ };
414
+ }
415
+ /**
416
+ * Tears down the chooser UI and removes dismissal listeners.
417
+ *
418
+ * @param {boolean} [clearPayload] Whether to also clear the pending payload.
419
+ */
420
+ clearPasteChooser(clearPayload = true) {
421
+ if (this.contentHostEl) {
422
+ this.contentHostEl.removeEventListener('scroll', this.handleOutsideScroll);
423
+ }
424
+ if (this.listenerWindow) {
425
+ this.listenerWindow.removeEventListener('scroll', this.handleOutsideScroll, true);
426
+ this.listenerWindow = null;
427
+ }
428
+ if (this.listenerDocument) {
429
+ this.listenerDocument.removeEventListener('mousedown', this.handleOutsidePointerDown, true);
430
+ this.listenerDocument.removeEventListener('keydown', this.handleOutsideKeyDown, true);
431
+ this.listenerDocument.removeEventListener('scroll', this.handleOutsideScroll, true);
432
+ this.listenerDocument = null;
433
+ }
434
+ if (this.chooserUI) {
435
+ this.chooserUI.destroy();
436
+ }
437
+ this.chooserUI = null;
438
+ if (clearPayload) {
439
+ this.pendingPastePayload = null;
440
+ }
441
+ }
442
+ }
@@ -101,7 +101,7 @@ export class RTETableBlockRenderer extends VegaRTEExtensionRenderer {
101
101
  * @param {HTMLElement} tableRef - The element that can triggered the table popover open.
102
102
  */
103
103
  handleTableRemove(renderData, tableRef) {
104
- renderData.parent.apply(new DeleteTableBlockAction(renderData));
104
+ renderData.apply(new DeleteTableBlockAction(renderData));
105
105
  this.destroySelectionAnchor(tableRef);
106
106
  }
107
107
  /**
@@ -25,6 +25,7 @@ export class RTETableToolbarPopoverRenderer extends TablePopoverBaseRenderer {
25
25
  alignment: 'start',
26
26
  placement: 'bottom',
27
27
  showArrow: false,
28
+ isScreenPosition: true,
28
29
  // eslint-disable-next-line jsdoc/require-jsdoc
29
30
  ref: (ref) => {
30
31
  if (ref) {
@@ -146,9 +146,10 @@ export class VegaRTETableExtension extends VegaRTEExtension {
146
146
  const insertTableBlockStrategy = new InsertTableBlockStrategy();
147
147
  const deleteTableBlockStrategy = new DeleteTableBlockStrategy();
148
148
  VegaRTEExtension.registerActionHandleStrategy(VegaRTEContent.name, INSERT_TABLE_BLOCK, insertTableBlockStrategy);
149
- VegaRTEExtension.registerActionHandleStrategy(VegaRTEContent.name, DELETE_TABLE_BLOCK, deleteTableBlockStrategy);
150
- VegaRTEExtension.registerActionHandleStrategy(RTETableCellBlock.name, DELETE_TABLE_BLOCK, deleteTableBlockStrategy);
151
- VegaRTEExtension.registerActionHandleStrategy(RTETableHeadCellBlock.name, DELETE_TABLE_BLOCK, deleteTableBlockStrategy);
149
+ // Registered on the table block itself (not its parent) so a table can always be
150
+ // deleted regardless of which block type it is nested in (root content, table cell,
151
+ // blockquote, or any future container).
152
+ VegaRTEExtension.registerActionHandleStrategy(RTETableBlock.name, DELETE_TABLE_BLOCK, deleteTableBlockStrategy);
152
153
  VegaRTEExtension.registerActionHandleStrategy(RTETextBlock.name, INSERT_TABLE_BLOCK, insertTableBlockStrategy);
153
154
  VegaRTEExtension.registerActionHandleStrategy(RTEImageBlock.name, INSERT_TABLE_BLOCK, insertTableBlockStrategy);
154
155
  VegaRTEExtension.registerActionHandleStrategy(RTETableBlock.name, INSERT_TABLE_ROW_INTO_DIFFERENT_SECTION, new InsertTableRowIntoDifferentSectionStrategy());
@@ -216,7 +216,7 @@ export class VegaRichTextTablePropertiesBaseFormFieldRenderer extends VegaSlimme
216
216
  this.borderColorPickerRef.value = this.controller.getColorByKey(formValue['borderColor']);
217
217
  }
218
218
  });
219
- }, trigger: "click" },
219
+ }, trigger: "click", isScreenPosition: true },
220
220
  h("div", { slot: "popover-content", class: "color-picker-container" },
221
221
  h("vega-input", { ref: this.handleFormChange, "data-vega-form": "borderColor", type: "hidden" }),
222
222
  h("span", { role: "button", tabIndex: 0, "aria-label": "Clear border color", onKeyDown: createEnterKeyHandlerToTriggerClick(), class: "display-color-placeholder color-none" })),
@@ -32,7 +32,7 @@ export class ColumnButtonSlimmer extends TableSettingButtonSlimmer {
32
32
  };
33
33
  }
34
34
  renderBtnWrapper(renderBtn) {
35
- return (h("vega-dropdown", { isScreenPosition: true, minWidth: 210, trigger: "click", ref: (el) => {
35
+ return (h("vega-dropdown", { minWidth: 210, trigger: "click", ref: (el) => {
36
36
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownClick, this.handleDropdownItemClick);
37
37
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownShow, this.handleDropdownVisibilityChange);
38
38
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownHide, this.handleDropdownVisibilityChange);
@@ -35,7 +35,7 @@ export class MergeCellsButtonSlimmer extends TableSettingButtonSlimmer {
35
35
  };
36
36
  }
37
37
  renderBtnWrapper(renderBtn) {
38
- return (h("vega-dropdown", { isScreenPosition: true, minWidth: 150, trigger: "click", ref: (el) => {
38
+ return (h("vega-dropdown", { minWidth: 150, trigger: "click", ref: (el) => {
39
39
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownClick, this.handleDropdownItemClick);
40
40
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownShow, this.handleDropdownVisibilityChange);
41
41
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownHide, this.handleDropdownVisibilityChange);
@@ -23,7 +23,7 @@ export class RowButtonSlimmer extends TableSettingButtonSlimmer {
23
23
  };
24
24
  }
25
25
  renderBtnWrapper(renderBtn) {
26
- return (h("vega-dropdown", { isScreenPosition: true, minWidth: 180, trigger: "click", ref: (el) => {
26
+ return (h("vega-dropdown", { minWidth: 180, trigger: "click", ref: (el) => {
27
27
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownClick, this.handleDropdownItemClick);
28
28
  } },
29
29
  renderBtn(),
@@ -2,23 +2,93 @@ import { dashCaseToCamel } from '../../../utils/string';
2
2
  /**
3
3
  * Creates a style map from the inline styles of an HTML element. This function extracts the 'style' attribute from the given element.
4
4
  *
5
+ * Manually parses the style string to handle complex CSS values that contain semicolons (e.g., data URLs),
6
+ * colons (e.g., https:// URLs), or commas (e.g., rgba, gradients). This approach avoids reliance on
7
+ * CSSStyleDeclaration's array-like behavior, which is inconsistent in Jest/JSDOM test environments.
8
+ *
5
9
  * @param {HTMLElement} element The HTML element from which to extract inline styles.
6
10
  * @returns {AnnotationStyle} An object representing the custom style annotations.
7
11
  */
8
12
  export function createStyleMapFromElement(element) {
9
- const customStyle = element.getAttribute('style');
10
- if (!customStyle)
11
- return {};
12
- const styleValue = customStyle.split(';').filter(Boolean);
13
- return styleValue
14
- .filter((key) => key !== ' ')
15
- .map((key) => {
16
- // to remove redundant quote pairs if needed, for example: ['fontFamily: "Roboto Mono"'] will be updated to ['fontFamily: Roboto Mono']
17
- const styleObject = key.replace(/(['"])(.*?)\1/g, '$2').split(':');
18
- const styleKey = dashCaseToCamel(styleObject[0].trim());
19
- return {
20
- [styleKey]: styleObject[1].trim().replace(';', ''),
21
- };
22
- })
23
- .reduce((current, obj) => (Object.assign(Object.assign({}, current), obj)), {});
13
+ const styleMap = {};
14
+ const styleAttr = element.getAttribute('style');
15
+ if (!styleAttr) {
16
+ return styleMap;
17
+ }
18
+ // Split by semicolons, but only those outside of parentheses (to handle data URLs with semicolons)
19
+ const properties = splitStyleProperties(styleAttr);
20
+ for (const property of properties) {
21
+ const trimmedProperty = property.trim();
22
+ const colonIndex = trimmedProperty.indexOf(':');
23
+ const propertyName = trimmedProperty.substring(0, colonIndex).trim();
24
+ const propertyValue = trimmedProperty.substring(colonIndex + 1).trim();
25
+ // Convert CSS property name to camelCase (e.g., 'background-color' -> 'backgroundColor')
26
+ const camelCaseName = dashCaseToCamel(propertyName);
27
+ styleMap[camelCaseName] = propertyValue;
28
+ }
29
+ return styleMap;
30
+ }
31
+ /**
32
+ * Split a CSS style string by semicolons, but only those outside of parentheses.
33
+ * This ensures that semicolons inside url() or other functions are not treated as property separators.
34
+ *
35
+ * @param {string} styleAttr The style attribute string to split.
36
+ * @returns {string[]} Array of individual CSS property strings.
37
+ */
38
+ export function splitStyleProperties(styleAttr) {
39
+ const properties = [];
40
+ let currentProperty = '';
41
+ let parenthesesDepth = 0;
42
+ for (let i = 0; i < styleAttr.length; i++) {
43
+ const char = styleAttr[i];
44
+ if (char === '(') {
45
+ parenthesesDepth++;
46
+ currentProperty += char;
47
+ }
48
+ else if (char === ')') {
49
+ parenthesesDepth--;
50
+ currentProperty += char;
51
+ }
52
+ else if (char === ';' && parenthesesDepth === 0) {
53
+ // Semicolon outside parentheses - this is a property separator
54
+ properties.push(currentProperty);
55
+ currentProperty = '';
56
+ }
57
+ else {
58
+ currentProperty += char;
59
+ }
60
+ }
61
+ // Add the last property if it doesn't end with a semicolon
62
+ if (currentProperty) {
63
+ properties.push(currentProperty);
64
+ }
65
+ return properties;
66
+ }
67
+ /**
68
+ * Escape HTML-sensitive characters so text can be rendered literally in HTML.
69
+ *
70
+ * @param {string} text - Raw text content.
71
+ * @returns {string} Escaped text content.
72
+ */
73
+ export function escapeHtml(text) {
74
+ return text
75
+ .replace(/&/g, '&amp;')
76
+ .replace(/</g, '&lt;')
77
+ .replace(/>/g, '&gt;')
78
+ .replace(/"/g, '&quot;')
79
+ .replace(/'/g, '&#39;');
80
+ }
81
+ /**
82
+ * Escape text for use inside a double-quoted HTML attribute value.
83
+ *
84
+ * @param {string} value - Raw attribute value.
85
+ * @returns {string} Escaped attribute-safe value.
86
+ */
87
+ export function escapeHtmlAttribute(value) {
88
+ return (value
89
+ // Keep existing entities (e.g. &quot;, &#39;) intact to avoid double escaping on repeated transforms.
90
+ .replace(/&(?!(?:[a-zA-Z][a-zA-Z0-9]+|#[0-9]+|#x[a-fA-F0-9]+);)/g, '&amp;')
91
+ .replace(/</g, '&lt;')
92
+ .replace(/>/g, '&gt;')
93
+ .replace(/"/g, '&quot;'));
24
94
  }
@@ -20,13 +20,18 @@ export { VegaRTELanguageExtension } from './extensions/languages/language-extens
20
20
  export { VegaRTEFunctionExtension } from './extensions/functions/function-extension';
21
21
  export { VegaRTETableExtension } from './extensions/table/table-extension';
22
22
  export { VegaRTEHorizontalLineExtension } from './extensions/horizontal-line/horizontal-line-extension';
23
+ export { VegaRTEBlockquoteExtension } from './extensions/blockquote/blockquote-extension';
24
+ export { RTEBlockquoteBlock } from './extensions/blockquote/dto/rte-blockquote-block';
23
25
  export { VegaRTESpecialCharactersExtension } from './extensions/special-characters/special-characters-extension';
24
26
  export { VegaRTEFindReplaceExtension } from './extensions/find-replace/find-replace-extension';
25
27
  export { VegaRTESpecialCharactersEssentials, VegaRTESpecialCharactersLatin, VegaRTESpecialCharactersMathematical, VegaRTESpecialCharactersArrows, VegaRTESpecialCharactersCurrency, VegaRTESpecialCharactersText, } from './extensions/special-characters/constants/default-categories';
26
28
  export { VegaRTELineHeightExtension } from './extensions/line-height/line-height-extension';
27
29
  export { VegaRTELinkExtension } from './extensions/link/link-extension';
30
+ export { VegaRTEFullscreenExtension } from './extensions/fullscreen/fullscreen-extension';
31
+ export { VegaRTEPasteExtension } from './extensions/paste/paste-extension';
28
32
  export { VegaRTECopyExtension } from './extensions/copy/copy-extension';
29
33
  export { VegaRTECutExtension } from './extensions/cut/cut-extension';
34
+ export { VegaRTEImageExtension } from './extensions/image/image-extension';
30
35
  // actions
31
36
  export { ModifyContentAction, ModifyContentActionType } from './dto/actions/modify-content-action.abstract';
32
37
  export { AppendChildrenAction } from './dto/actions/append-child-nodes-action';
@@ -6,6 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
8
8
  import { isArrayEqual } from '../../../../utils/array';
9
+ import { forceUpdate } from '@stencil/core';
9
10
  /**
10
11
  * Inject the editor context to the extensions.
11
12
  */
@@ -107,6 +108,7 @@ export class RTEExtensionController extends VegaSlimmer {
107
108
  return {
108
109
  host: this.host,
109
110
  flushValue: this.flushValue,
111
+ forceUpdate: forceUpdate,
110
112
  isSourceEditMode: this.isSourceEditMode,
111
113
  getSelectedNodes: this.getSelectedNodes,
112
114
  setSelectedNodes: this.selectionController.setSelectedNodes.bind(this.selectionController),
@@ -39,7 +39,7 @@ export class BaseHandler {
39
39
  * @returns {boolean} boolean result
40
40
  */
41
41
  isEmptyParagraph(node) {
42
- return node && node.childNodes && node.childNodes.length === 0;
42
+ return node && node.nodeType === Node.ELEMENT_NODE && node.childNodes && node.childNodes.length === 0;
43
43
  }
44
44
  /**
45
45
  * Removes selected nodes within a range in a rich text editor content.