@heartlandone/vega 2.102.0 → 2.103.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 (387) hide show
  1. package/dist/cjs/{app-globals-49c2a999.js → app-globals-85986306.js} +10 -10
  2. package/dist/cjs/{code-block-06e6591f.js → code-block-72de6c4d.js} +80 -1
  3. package/dist/cjs/{component-value-history-controller-slimmer.abstract-f29908f8.js → component-value-history-controller-slimmer.abstract-23d2b3d8.js} +3 -3
  4. package/dist/cjs/{content-state-8c862e5e.js → content-state-ff40bdc6.js} +38 -5
  5. package/dist/cjs/{date-required-rule-b672c432.js → date-required-rule-608e704b.js} +1 -1
  6. package/dist/cjs/{design-token-351ffd2c.js → design-token-a101a8d0.js} +3 -3
  7. package/dist/cjs/{element-appender-slimmer-f932b166.js → element-appender-slimmer-b93cc564.js} +2 -2
  8. package/dist/cjs/{form-field-controller-slimmer-5adb86ae.js → form-field-controller-slimmer-124d54ea.js} +1 -1
  9. package/dist/cjs/{image-annotation-action-25907d6b.js → image-annotation-action-1ee41bc7.js} +2 -2
  10. package/dist/cjs/{image-extension-1cf84f27.js → image-extension-6a92c524.js} +247 -5
  11. package/dist/cjs/index.cjs.js +17 -17
  12. package/dist/cjs/{inject-keyboard-manager-84d33920.js → inject-keyboard-manager-32d7dd0e.js} +1 -1
  13. package/dist/cjs/{internal-calendar-period-factory-3c5236be.js → internal-calendar-period-factory-c3198ea7.js} +1 -1
  14. package/dist/cjs/{internal-translation-controller-eae8a8de.js → internal-translation-controller-0d67ca4d.js} +1 -0
  15. package/dist/cjs/{keyboard-manager-baa83a61.js → keyboard-manager-332eec89.js} +1 -1
  16. package/dist/cjs/{keyboard-manager-slimmer-d1974b28.js → keyboard-manager-slimmer-a2872981.js} +1 -1
  17. package/dist/cjs/{link-extension-2a6133b7.js → link-extension-1b4ed437.js} +3 -3
  18. package/dist/cjs/loader.cjs.js +12 -12
  19. package/dist/cjs/{month-view-generator-a6827548.js → month-view-generator-b6a2b8be.js} +1 -1
  20. package/dist/cjs/{public-rules-7f26e0ae.js → public-rules-2066613c.js} +7 -7
  21. package/dist/cjs/{range-518b95a2.js → range-712fe703.js} +1 -1
  22. package/dist/cjs/{responsive-format-facade-95c54444.js → responsive-format-facade-44d33457.js} +1 -1
  23. package/dist/cjs/{rich-text-editor-required-rule-5d0c76ec.js → rich-text-editor-required-rule-1aa75d22.js} +1 -1
  24. package/dist/cjs/{split-cell-operation-28f6f8d9.js → split-cell-operation-afc82323.js} +3 -3
  25. package/dist/cjs/{state-border-formatter-6c284859.js → state-border-formatter-49984fd6.js} +1 -1
  26. package/dist/cjs/{string-format-strategy.abstract-f15b6196.js → string-format-strategy.abstract-bd563c01.js} +1 -1
  27. package/dist/cjs/{string-input-formatter-slimmer-5a3f1b55.js → string-input-formatter-slimmer-4faebac9.js} +1 -1
  28. package/dist/cjs/{string-mask-strategy-af6f3ba0.js → string-mask-strategy-624c4398.js} +2 -2
  29. package/dist/cjs/{style-formatter-324211fd.js → style-formatter-151d89a3.js} +2 -2
  30. package/dist/cjs/{time-required-rule-9e714442.js → time-required-rule-8cd8f9b9.js} +1 -1
  31. package/dist/cjs/{token-extension-86723cad.js → token-extension-72d0cb08.js} +1011 -767
  32. package/dist/cjs/{translation-slimmer-0227ee24.js → translation-slimmer-1771d01f.js} +1 -1
  33. package/dist/cjs/{type-guard-29e01bd4.js → type-guard-cce6fe1f.js} +1 -1
  34. package/dist/cjs/{valid-credit-card-number-rule-4ec364af.js → valid-credit-card-number-rule-b13c2fc4.js} +1 -1
  35. package/dist/cjs/vega-accordion.cjs.entry.js +6 -6
  36. package/dist/cjs/vega-app-header-button.cjs.entry.js +5 -5
  37. package/dist/cjs/vega-box.cjs.entry.js +6 -6
  38. package/dist/cjs/vega-button-circle.cjs.entry.js +5 -5
  39. package/dist/cjs/vega-button.cjs.entry.js +3 -3
  40. package/dist/cjs/vega-calendar_5.cjs.entry.js +7 -7
  41. package/dist/cjs/vega-card.cjs.entry.js +5 -5
  42. package/dist/cjs/vega-carousel.cjs.entry.js +3 -3
  43. package/dist/cjs/vega-checkbox_2.cjs.entry.js +2 -2
  44. package/dist/cjs/vega-chip.cjs.entry.js +5 -5
  45. package/dist/cjs/vega-code-block.cjs.entry.js +8 -8
  46. package/dist/cjs/vega-color-picker.cjs.entry.js +2 -2
  47. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +3 -3
  48. package/dist/cjs/vega-color-swatch.cjs.entry.js +2 -2
  49. package/dist/cjs/vega-combo-box.cjs.entry.js +8 -8
  50. package/dist/cjs/vega-date-picker_2.cjs.entry.js +13 -13
  51. package/dist/cjs/vega-dialog_2.cjs.entry.js +3 -3
  52. package/dist/cjs/vega-divider.cjs.entry.js +5 -5
  53. package/dist/cjs/vega-dropdown_5.cjs.entry.js +7 -7
  54. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  55. package/dist/cjs/vega-field-label.cjs.entry.js +2 -2
  56. package/dist/cjs/vega-file-uploader.cjs.entry.js +3 -3
  57. package/dist/cjs/vega-flag-icon.cjs.entry.js +5 -5
  58. package/dist/cjs/vega-flex.cjs.entry.js +6 -6
  59. package/dist/cjs/vega-font.cjs.entry.js +5 -5
  60. package/dist/cjs/vega-form.cjs.entry.js +2 -2
  61. package/dist/cjs/vega-grid.cjs.entry.js +5 -5
  62. package/dist/cjs/vega-icon.cjs.entry.js +5 -5
  63. package/dist/cjs/vega-image-uploader.cjs.entry.js +5 -5
  64. package/dist/cjs/vega-input-credit-card.cjs.entry.js +6 -6
  65. package/dist/cjs/vega-input-numeric.cjs.entry.js +12 -14
  66. package/dist/cjs/vega-input-passcode.cjs.entry.js +5 -5
  67. package/dist/cjs/vega-input-phone-number.cjs.entry.js +4 -4
  68. package/dist/cjs/vega-input-range.cjs.entry.js +3 -3
  69. package/dist/cjs/vega-input-select.cjs.entry.js +5 -5
  70. package/dist/cjs/vega-input.cjs.entry.js +31 -27
  71. package/dist/cjs/vega-left-nav_5.cjs.entry.js +7 -7
  72. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
  73. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +2 -2
  74. package/dist/cjs/vega-pagination.cjs.entry.js +4 -4
  75. package/dist/cjs/vega-popover_2.cjs.entry.js +8 -8
  76. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +3 -3
  77. package/dist/cjs/vega-radio_2.cjs.entry.js +5 -5
  78. package/dist/cjs/vega-rich-text-bookmark-editor.cjs.entry.js +2 -2
  79. package/dist/cjs/vega-rich-text-content.cjs.entry.js +6 -6
  80. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +474 -207
  81. package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +1 -1
  82. package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +5 -5
  83. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +8 -8
  84. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +4 -4
  85. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +2 -2
  86. package/dist/cjs/vega-sidenav_3.cjs.entry.js +3 -3
  87. package/dist/cjs/vega-signature-capture.cjs.entry.js +7 -7
  88. package/dist/cjs/vega-stepper.cjs.entry.js +2 -2
  89. package/dist/cjs/vega-tab-group_2.cjs.entry.js +6 -6
  90. package/dist/cjs/vega-table_11.cjs.entry.js +4 -4
  91. package/dist/cjs/vega-textarea.cjs.entry.js +2 -2
  92. package/dist/cjs/vega-time-picker_2.cjs.entry.js +9 -9
  93. package/dist/cjs/vega-toggle-switch.cjs.entry.js +2 -2
  94. package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
  95. package/dist/cjs/vega.cjs.js +12 -12
  96. package/dist/collection/components/vega-input/slimmers/controllers/vega-input-state-controller.js +0 -14
  97. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-container-renderer.js +11 -2
  98. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-renderer.js +11 -1
  99. package/dist/collection/components/vega-input/vega-input.js +52 -8
  100. package/dist/collection/components/vega-input-numeric/slimmers/renderers/vega-input-numeric-renderer.js +7 -1
  101. package/dist/collection/components/vega-input-numeric/vega-input-numeric.js +0 -8
  102. package/dist/collection/components/vega-rich-text-editor/constants/constant.js +4 -0
  103. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/sequential-composition-strategy.js +31 -0
  104. package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +1 -0
  105. package/dist/collection/components/vega-rich-text-editor/dto/actions/sequential-composition-action.js +14 -0
  106. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +4 -1
  107. package/dist/collection/components/vega-rich-text-editor/dto/flush-changes-payload.js +1 -0
  108. package/dist/collection/components/vega-rich-text-editor/dto/nodes/image-node.js +3 -2
  109. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/function-block.js +30 -0
  110. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-block-strategy.js +1 -0
  111. package/dist/collection/components/vega-rich-text-editor/extensions/paste/controllers/chooser-positioner.js +107 -0
  112. package/dist/collection/components/vega-rich-text-editor/extensions/paste/controllers/paste-chooser-controller.js +91 -0
  113. package/dist/collection/components/vega-rich-text-editor/extensions/paste/controllers/paste-event-interceptor.js +47 -0
  114. package/dist/collection/components/vega-rich-text-editor/extensions/paste/controllers/selection-snapshot-service.js +54 -0
  115. package/dist/collection/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/image-extractor.js +17 -0
  116. package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.js +3 -1
  117. package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-extension.js +41 -354
  118. package/dist/collection/components/vega-rich-text-editor/extensions/paste/pipeline/data-transfer-builder.js +36 -0
  119. package/dist/collection/components/vega-rich-text-editor/extensions/paste/pipeline/paste-dispatcher.js +23 -0
  120. package/dist/collection/components/vega-rich-text-editor/extensions/paste/pipeline/paste-processing-pipeline.js +30 -0
  121. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/paste-processing-strategy.abstract.js +34 -0
  122. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/paste-strategy-selector.js +19 -0
  123. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/plain-paste-strategy.js +74 -0
  124. package/dist/collection/components/vega-rich-text-editor/extensions/paste/type.js +1 -0
  125. package/dist/collection/components/vega-rich-text-editor/helpers/utils.js +67 -0
  126. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/abstract-delete-content-handler.js +67 -11
  127. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/backward-delete-content-handler.js +4 -17
  128. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/base-handler.js +34 -1
  129. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/forward-delete-content-handler.js +13 -32
  130. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-line-break-handler.js +60 -25
  131. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paragraph-handler.js +55 -19
  132. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +165 -59
  133. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-text-handler.js +55 -21
  134. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +2 -16
  135. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +11 -1
  136. package/dist/collection/components/vega-rich-text-editor/utils/html-to-plain-text-utils.js +240 -0
  137. package/dist/collection/helpers/translation/locales/en.js +1 -0
  138. package/dist/esm/{app-globals-da5c83c2.js → app-globals-8cdfc5c9.js} +10 -10
  139. package/dist/esm/{code-block-d8f83d85.js → code-block-9360c331.js} +74 -2
  140. package/dist/esm/{component-value-history-controller-slimmer.abstract-642e7147.js → component-value-history-controller-slimmer.abstract-9ea58806.js} +3 -3
  141. package/dist/esm/{content-state-486eae1d.js → content-state-67a12e74.js} +38 -5
  142. package/dist/esm/{date-required-rule-08695d25.js → date-required-rule-66b5bf02.js} +1 -1
  143. package/dist/esm/{design-token-df3331d9.js → design-token-acd1efeb.js} +3 -3
  144. package/dist/esm/{element-appender-slimmer-f02a227f.js → element-appender-slimmer-7e5bc1e9.js} +2 -2
  145. package/dist/esm/{form-field-controller-slimmer-a7c0a0f8.js → form-field-controller-slimmer-d653c494.js} +1 -1
  146. package/dist/esm/{image-annotation-action-df744ba5.js → image-annotation-action-9525be48.js} +2 -2
  147. package/dist/esm/{image-extension-20b39140.js → image-extension-aea75132.js} +246 -6
  148. package/dist/esm/index.js +17 -17
  149. package/dist/esm/{inject-keyboard-manager-399ed867.js → inject-keyboard-manager-f6522d2f.js} +1 -1
  150. package/dist/esm/{internal-calendar-period-factory-7b866c3b.js → internal-calendar-period-factory-261df2f2.js} +1 -1
  151. package/dist/esm/{internal-translation-controller-4a7ee4d5.js → internal-translation-controller-3637e47e.js} +1 -0
  152. package/dist/esm/{keyboard-manager-f5d13a34.js → keyboard-manager-53e8d8d0.js} +1 -1
  153. package/dist/esm/{keyboard-manager-slimmer-f40dcb54.js → keyboard-manager-slimmer-b3de042d.js} +1 -1
  154. package/dist/esm/{link-extension-3f93d70d.js → link-extension-57ba9520.js} +3 -3
  155. package/dist/esm/loader.js +12 -12
  156. package/dist/esm/{month-view-generator-0c665987.js → month-view-generator-15215a09.js} +1 -1
  157. package/dist/esm/{public-rules-470a1dac.js → public-rules-c77a1550.js} +7 -7
  158. package/dist/esm/{range-8e89fb54.js → range-3c74e1c8.js} +1 -1
  159. package/dist/esm/{responsive-format-facade-55131a33.js → responsive-format-facade-1b325d06.js} +1 -1
  160. package/dist/esm/{rich-text-editor-required-rule-06caf383.js → rich-text-editor-required-rule-cfd32ba2.js} +1 -1
  161. package/dist/esm/{split-cell-operation-e158366a.js → split-cell-operation-85a036f9.js} +3 -3
  162. package/dist/esm/{state-border-formatter-2b73fa08.js → state-border-formatter-ce3495b0.js} +1 -1
  163. package/dist/esm/{string-format-strategy.abstract-8c7937e3.js → string-format-strategy.abstract-8ce04558.js} +1 -1
  164. package/dist/esm/{string-input-formatter-slimmer-681c6b71.js → string-input-formatter-slimmer-0d60ba7d.js} +1 -1
  165. package/dist/esm/{string-mask-strategy-b8cceee6.js → string-mask-strategy-cabc1d50.js} +2 -2
  166. package/dist/esm/{style-formatter-fcd70869.js → style-formatter-00fe4f1c.js} +2 -2
  167. package/dist/esm/{time-required-rule-ce50859b.js → time-required-rule-57ceeae9.js} +1 -1
  168. package/dist/esm/{token-extension-2401e753.js → token-extension-645a9520.js} +1011 -767
  169. package/dist/esm/{translation-slimmer-b3f3cf65.js → translation-slimmer-b69057eb.js} +1 -1
  170. package/dist/esm/{type-guard-08c82e08.js → type-guard-204094c6.js} +1 -1
  171. package/dist/esm/{valid-credit-card-number-rule-66bad519.js → valid-credit-card-number-rule-0874e19f.js} +1 -1
  172. package/dist/esm/vega-accordion.entry.js +6 -6
  173. package/dist/esm/vega-app-header-button.entry.js +5 -5
  174. package/dist/esm/vega-box.entry.js +6 -6
  175. package/dist/esm/vega-button-circle.entry.js +5 -5
  176. package/dist/esm/vega-button.entry.js +3 -3
  177. package/dist/esm/vega-calendar_5.entry.js +7 -7
  178. package/dist/esm/vega-card.entry.js +5 -5
  179. package/dist/esm/vega-carousel.entry.js +3 -3
  180. package/dist/esm/vega-checkbox_2.entry.js +2 -2
  181. package/dist/esm/vega-chip.entry.js +5 -5
  182. package/dist/esm/vega-code-block.entry.js +8 -8
  183. package/dist/esm/vega-color-picker.entry.js +2 -2
  184. package/dist/esm/vega-color-swatch-picker.entry.js +3 -3
  185. package/dist/esm/vega-color-swatch.entry.js +2 -2
  186. package/dist/esm/vega-combo-box.entry.js +8 -8
  187. package/dist/esm/vega-date-picker_2.entry.js +13 -13
  188. package/dist/esm/vega-dialog_2.entry.js +3 -3
  189. package/dist/esm/vega-divider.entry.js +5 -5
  190. package/dist/esm/vega-dropdown_5.entry.js +7 -7
  191. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  192. package/dist/esm/vega-field-label.entry.js +2 -2
  193. package/dist/esm/vega-file-uploader.entry.js +3 -3
  194. package/dist/esm/vega-flag-icon.entry.js +5 -5
  195. package/dist/esm/vega-flex.entry.js +6 -6
  196. package/dist/esm/vega-font.entry.js +5 -5
  197. package/dist/esm/vega-form.entry.js +2 -2
  198. package/dist/esm/vega-grid.entry.js +5 -5
  199. package/dist/esm/vega-icon.entry.js +5 -5
  200. package/dist/esm/vega-image-uploader.entry.js +5 -5
  201. package/dist/esm/vega-input-credit-card.entry.js +6 -6
  202. package/dist/esm/vega-input-numeric.entry.js +12 -14
  203. package/dist/esm/vega-input-passcode.entry.js +5 -5
  204. package/dist/esm/vega-input-phone-number.entry.js +4 -4
  205. package/dist/esm/vega-input-range.entry.js +3 -3
  206. package/dist/esm/vega-input-select.entry.js +5 -5
  207. package/dist/esm/vega-input.entry.js +31 -27
  208. package/dist/esm/vega-left-nav_5.entry.js +7 -7
  209. package/dist/esm/vega-loader-wrapper_2.entry.js +3 -3
  210. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +2 -2
  211. package/dist/esm/vega-pagination.entry.js +4 -4
  212. package/dist/esm/vega-popover_2.entry.js +8 -8
  213. package/dist/esm/vega-progress-tracker_2.entry.js +3 -3
  214. package/dist/esm/vega-radio_2.entry.js +5 -5
  215. package/dist/esm/vega-rich-text-bookmark-editor.entry.js +2 -2
  216. package/dist/esm/vega-rich-text-content.entry.js +6 -6
  217. package/dist/esm/vega-rich-text-editor_4.entry.js +474 -207
  218. package/dist/esm/vega-rich-text-find-replace-panel.entry.js +1 -1
  219. package/dist/esm/vega-rich-text-special-characters-panel.entry.js +5 -5
  220. package/dist/esm/vega-rich-text-table-properties_3.entry.js +8 -8
  221. package/dist/esm/vega-selection-chip_2.entry.js +4 -4
  222. package/dist/esm/vega-selection-tile_2.entry.js +2 -2
  223. package/dist/esm/vega-sidenav_3.entry.js +3 -3
  224. package/dist/esm/vega-signature-capture.entry.js +7 -7
  225. package/dist/esm/vega-stepper.entry.js +2 -2
  226. package/dist/esm/vega-tab-group_2.entry.js +6 -6
  227. package/dist/esm/vega-table_11.entry.js +4 -4
  228. package/dist/esm/vega-textarea.entry.js +2 -2
  229. package/dist/esm/vega-time-picker_2.entry.js +9 -9
  230. package/dist/esm/vega-toggle-switch.entry.js +2 -2
  231. package/dist/esm/vega-tooltip_2.entry.js +6 -6
  232. package/dist/esm/vega.js +12 -12
  233. package/dist/sri/vega-sri-manifest.json +321 -321
  234. package/dist/types/components/vega-input/slimmers/controllers/vega-input-state-controller.d.ts +0 -2
  235. package/dist/types/components/vega-input/slimmers/renderers/vega-input-input-container-renderer.d.ts +4 -0
  236. package/dist/types/components/vega-input/slimmers/renderers/vega-input-input-renderer.d.ts +2 -0
  237. package/dist/types/components/vega-input/vega-input.d.ts +15 -3
  238. package/dist/types/components/vega-input-numeric/slimmers/renderers/vega-input-numeric-renderer.d.ts +2 -0
  239. package/dist/types/components/vega-input-numeric/vega-input-numeric.d.ts +0 -2
  240. package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +4 -0
  241. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/sequential-composition-strategy.d.ts +14 -0
  242. package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +4 -1
  243. package/dist/types/components/vega-rich-text-editor/dto/actions/sequential-composition-action.d.ts +30 -0
  244. package/dist/types/components/vega-rich-text-editor/dto/flush-changes-payload.d.ts +16 -0
  245. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/function-block.d.ts +7 -0
  246. package/dist/types/components/vega-rich-text-editor/extensions/paste/controllers/chooser-positioner.d.ts +33 -0
  247. package/dist/types/components/vega-rich-text-editor/extensions/paste/controllers/paste-chooser-controller.d.ts +43 -0
  248. package/dist/types/components/vega-rich-text-editor/extensions/paste/controllers/paste-event-interceptor.d.ts +22 -0
  249. package/dist/types/components/vega-rich-text-editor/extensions/paste/controllers/selection-snapshot-service.d.ts +29 -0
  250. package/dist/types/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/image-extractor.d.ts +13 -0
  251. package/dist/types/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/paste-image-parser.d.ts +1 -1
  252. package/dist/types/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/pending-image-registry.d.ts +1 -1
  253. package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.d.ts +1 -0
  254. package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-extension.d.ts +28 -93
  255. package/dist/types/components/vega-rich-text-editor/extensions/paste/pipeline/data-transfer-builder.d.ts +10 -0
  256. package/dist/types/components/vega-rich-text-editor/extensions/paste/pipeline/paste-dispatcher.d.ts +8 -0
  257. package/dist/types/components/vega-rich-text-editor/extensions/paste/pipeline/paste-processing-pipeline.d.ts +18 -0
  258. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/paste-processing-strategy.abstract.d.ts +28 -6
  259. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/paste-strategy-selector.d.ts +13 -0
  260. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/plain-paste-strategy.d.ts +29 -0
  261. package/dist/types/components/vega-rich-text-editor/extensions/paste/type.d.ts +35 -0
  262. package/dist/types/components/vega-rich-text-editor/helpers/utils.d.ts +47 -0
  263. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/abstract-delete-content-handler.d.ts +17 -6
  264. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/backward-delete-content-handler.d.ts +5 -1
  265. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/base-handler.d.ts +30 -1
  266. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/forward-delete-content-handler.d.ts +5 -1
  267. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-line-break-handler.d.ts +21 -4
  268. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paragraph-handler.d.ts +12 -4
  269. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.d.ts +38 -5
  270. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-text-handler.d.ts +7 -2
  271. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.d.ts +2 -0
  272. package/dist/types/components/vega-rich-text-editor/utils/html-to-plain-text-utils.d.ts +31 -0
  273. package/dist/types/components.d.ts +24 -0
  274. package/dist/types/helpers/translation/interface.d.ts +1 -0
  275. package/dist/types/types/public-api.d.ts +2 -1
  276. package/dist/vega/index.esm.js +1 -1
  277. package/dist/vega/{p-8a4cc7c2.entry.js → p-0169f71c.entry.js} +1 -1
  278. package/dist/vega/p-018bb83b.entry.js +1 -0
  279. package/dist/vega/{p-25e51acb.js → p-08bf08d2.js} +1 -1
  280. package/dist/vega/{p-85a940c0.entry.js → p-0b33753f.entry.js} +1 -1
  281. package/dist/vega/{p-a5fa260b.js → p-1537b1e4.js} +1 -1
  282. package/dist/vega/{p-7dfb1481.entry.js → p-17f6dc94.entry.js} +1 -1
  283. package/dist/vega/{p-dd673eb4.entry.js → p-1a4d1991.entry.js} +1 -1
  284. package/dist/vega/{p-557b64bd.js → p-1b2e5898.js} +1 -1
  285. package/dist/vega/{p-2256eb09.entry.js → p-1f1f93bf.entry.js} +1 -1
  286. package/dist/vega/{p-d86e0b01.js → p-1fb953f8.js} +1 -1
  287. package/dist/vega/{p-03efc67a.entry.js → p-2171b571.entry.js} +1 -1
  288. package/dist/vega/p-255fe20b.js +1 -0
  289. package/dist/vega/{p-cf5c5515.js → p-261cf764.js} +1 -1
  290. package/dist/vega/{p-f0b49ae4.entry.js → p-27e77ea1.entry.js} +1 -1
  291. package/dist/vega/{p-109f0e33.entry.js → p-28acbe42.entry.js} +1 -1
  292. package/dist/vega/{p-27c9c2a5.entry.js → p-2acc600a.entry.js} +1 -1
  293. package/dist/vega/p-2fc2299f.js +1 -0
  294. package/dist/vega/{p-b48caf90.entry.js → p-2ff659a1.entry.js} +1 -1
  295. package/dist/vega/{p-527c3211.entry.js → p-322da1eb.entry.js} +1 -1
  296. package/dist/vega/{p-dffe47db.js → p-3283fa2f.js} +1 -1
  297. package/dist/vega/p-3567dc55.entry.js +1 -0
  298. package/dist/vega/{p-c6419eb3.entry.js → p-36b795c6.entry.js} +1 -1
  299. package/dist/vega/p-37714a3a.js +1 -0
  300. package/dist/vega/{p-d7e59f31.js → p-3b4e2ba0.js} +1 -1
  301. package/dist/vega/{p-3d060d2f.entry.js → p-3b911043.entry.js} +1 -1
  302. package/dist/vega/{p-5c6d36ef.entry.js → p-3e270b65.entry.js} +1 -1
  303. package/dist/vega/{p-b68f55e2.js → p-4043508a.js} +1 -1
  304. package/dist/vega/p-4151d4a8.js +1 -0
  305. package/dist/vega/{p-c6b6987e.js → p-45af801f.js} +1 -1
  306. package/dist/vega/p-48c2150b.entry.js +1 -0
  307. package/dist/vega/p-4b253f74.entry.js +1 -0
  308. package/dist/vega/{p-75c7f8ea.entry.js → p-4cdc064d.entry.js} +1 -1
  309. package/dist/vega/{p-1d8a8507.entry.js → p-4e4b50f3.entry.js} +1 -1
  310. package/dist/vega/{p-d8fa2f19.entry.js → p-564110ba.entry.js} +1 -1
  311. package/dist/vega/p-5f377954.js +1 -1
  312. package/dist/vega/{p-bec31ffc.entry.js → p-608d3559.entry.js} +1 -1
  313. package/dist/vega/{p-3ce7521e.entry.js → p-64eb05d3.entry.js} +1 -1
  314. package/dist/vega/{p-2f5c4b61.entry.js → p-66bf209b.entry.js} +1 -1
  315. package/dist/vega/{p-83f5ef3a.entry.js → p-69eadbd8.entry.js} +1 -1
  316. package/dist/vega/{p-c66c6fd2.entry.js → p-6c4edee8.entry.js} +1 -1
  317. package/dist/vega/p-6e16bb3a.js +1 -0
  318. package/dist/vega/{p-7d748545.entry.js → p-76f4fdba.entry.js} +1 -1
  319. package/dist/vega/{p-4c6989ae.entry.js → p-7874055b.entry.js} +1 -1
  320. package/dist/vega/{p-ca60a74b.entry.js → p-7d3d24f6.entry.js} +1 -1
  321. package/dist/vega/{p-3bfb53e3.js → p-7f9ad7bc.js} +1 -1
  322. package/dist/vega/{p-18ddc6a4.entry.js → p-8193f4ef.entry.js} +1 -1
  323. package/dist/vega/{p-816064f2.entry.js → p-8197d172.entry.js} +1 -1
  324. package/dist/vega/{p-634b138c.entry.js → p-8ac0b1b2.entry.js} +1 -1
  325. package/dist/vega/{p-553510d8.entry.js → p-8c61db9d.entry.js} +1 -1
  326. package/dist/vega/{p-061a76c3.entry.js → p-8de29082.entry.js} +1 -1
  327. package/dist/vega/{p-325b804d.entry.js → p-8e59606f.entry.js} +1 -1
  328. package/dist/vega/p-8ea41806.js +1 -0
  329. package/dist/vega/{p-ff9090af.entry.js → p-9153c2f5.entry.js} +1 -1
  330. package/dist/vega/{p-a0c87e88.entry.js → p-92411f56.entry.js} +1 -1
  331. package/dist/vega/{p-049e64b1.entry.js → p-94d65dcf.entry.js} +1 -1
  332. package/dist/vega/{p-a261a675.entry.js → p-9a96fb05.entry.js} +1 -1
  333. package/dist/vega/{p-7044bb48.js → p-9fcfd738.js} +1 -1
  334. package/dist/vega/{p-b1e1c7d0.js → p-a2c7a3bc.js} +1 -1
  335. package/dist/vega/p-a2dcde12.js +1 -0
  336. package/dist/vega/{p-be0eb72f.js → p-a60d75d9.js} +1 -1
  337. package/dist/vega/{p-5a347a15.js → p-a9fc4043.js} +1 -1
  338. package/dist/vega/{p-efef0dfe.entry.js → p-abe5f7f0.entry.js} +1 -1
  339. package/dist/vega/{p-197388a5.entry.js → p-ac98c189.entry.js} +1 -1
  340. package/dist/vega/{p-dd273d89.entry.js → p-ade903b3.entry.js} +1 -1
  341. package/dist/vega/{p-c0eb8c58.js → p-affb40e8.js} +1 -1
  342. package/dist/vega/{p-277aab9b.js → p-b3a1cd22.js} +1 -1
  343. package/dist/vega/p-b63a90b3.entry.js +1 -0
  344. package/dist/vega/{p-f9f96030.entry.js → p-ba050d63.entry.js} +1 -1
  345. package/dist/vega/{p-bf0b46c1.js → p-ba67eb96.js} +1 -1
  346. package/dist/vega/{p-f0c6e9c5.entry.js → p-c08ac33f.entry.js} +1 -1
  347. package/dist/vega/{p-46be74fc.entry.js → p-c7ec97d1.entry.js} +1 -1
  348. package/dist/vega/{p-effbfc50.entry.js → p-ca1fe571.entry.js} +1 -1
  349. package/dist/vega/{p-408c3ad4.entry.js → p-cc9fc36a.entry.js} +1 -1
  350. package/dist/vega/{p-741e064e.entry.js → p-d044d54f.entry.js} +1 -1
  351. package/dist/vega/{p-0e0e66c9.entry.js → p-d3a9355c.entry.js} +1 -1
  352. package/dist/vega/p-d5a75228.js +1 -0
  353. package/dist/vega/{p-76135e80.entry.js → p-dc83fa6b.entry.js} +1 -1
  354. package/dist/vega/{p-92efdbf0.entry.js → p-dcfce26e.entry.js} +1 -1
  355. package/dist/vega/p-df9585f6.js +3 -0
  356. package/dist/vega/{p-f5f26b44.entry.js → p-e2c8a470.entry.js} +1 -1
  357. package/dist/vega/{p-23781e76.js → p-e33a954f.js} +1 -1
  358. package/dist/vega/{p-e577dda8.entry.js → p-e5fc6583.entry.js} +1 -1
  359. package/dist/vega/p-e668cf11.js +1 -0
  360. package/dist/vega/{p-0338f621.entry.js → p-e6b0a292.entry.js} +1 -1
  361. package/dist/vega/{p-381d8781.js → p-e84c2589.js} +1 -1
  362. package/dist/vega/{p-1b97e751.entry.js → p-eb945d34.entry.js} +1 -1
  363. package/dist/vega/{p-d8a0e3e0.entry.js → p-ebe1dd2b.entry.js} +1 -1
  364. package/dist/vega/{p-6beaf1c8.entry.js → p-f818bb20.entry.js} +1 -1
  365. package/dist/vega/p-f981cf2c.js +1 -0
  366. package/dist/vega/p-f9d09b0c.js +1 -0
  367. package/dist/vega/{p-4d20a56f.js → p-fdbdf12f.js} +1 -1
  368. package/dist/vega/{p-48100d38.entry.js → p-fee080b9.entry.js} +1 -1
  369. package/dist/vega/vega.esm.js +1 -1
  370. package/package.json +1 -1
  371. package/dist/vega/p-040bd9ca.js +0 -1
  372. package/dist/vega/p-087240db.js +0 -1
  373. package/dist/vega/p-15052b2e.entry.js +0 -1
  374. package/dist/vega/p-28c16885.js +0 -1
  375. package/dist/vega/p-30cc31dd.entry.js +0 -1
  376. package/dist/vega/p-3ec4d710.js +0 -1
  377. package/dist/vega/p-43ea1e86.js +0 -1
  378. package/dist/vega/p-7228088b.entry.js +0 -1
  379. package/dist/vega/p-7f711049.js +0 -1
  380. package/dist/vega/p-7fd15dd1.js +0 -1
  381. package/dist/vega/p-85695819.js +0 -1
  382. package/dist/vega/p-8e1f30ec.entry.js +0 -1
  383. package/dist/vega/p-9680dfe6.js +0 -1
  384. package/dist/vega/p-ae12cc3f.js +0 -3
  385. package/dist/vega/p-c0823f32.js +0 -1
  386. package/dist/vega/p-c5af2ecc.entry.js +0 -1
  387. package/dist/vega/p-fa43272c.js +0 -1
@@ -6,8 +6,6 @@ import { VegaInput } from '../../vega-input';
6
6
  */
7
7
  export declare class VegaInputStateController extends SubStateObserverSlimmer<HTMLVegaInputElement> {
8
8
  host: VegaInput['host'];
9
- prefixText: VegaInput['prefixText'];
10
- suffixText: VegaInput['suffixText'];
11
9
  isCompactInputWidth: VegaInput['isCompactInputWidth'];
12
10
  constructor();
13
11
  }
@@ -13,8 +13,12 @@ export declare class VegaInputInputContainerRenderer extends VegaSlimmer {
13
13
  private prefixSlotRenderer;
14
14
  private passwordEyeRenderer;
15
15
  private inputRenderer;
16
+ private readonly prefixTextId;
17
+ private readonly suffixTextId;
16
18
  private inputContainerRef;
17
19
  getInputContainerRef(): HTMLElement;
20
+ getPrefixTextId(): Nullable<string>;
21
+ getSuffixTextId(): Nullable<string>;
18
22
  render(): Nullable<HTMLElement>;
19
23
  private renderClearIcon;
20
24
  private renderPrefixText;
@@ -20,6 +20,7 @@ export declare class VegaInputInputRenderer extends VegaSlimmer {
20
20
  private pasteEventEmitter;
21
21
  private copyPasteController;
22
22
  private nativeInputChangeEventEmitter;
23
+ private inputContainerRenderer;
23
24
  private inputRef;
24
25
  connectedCallback(): void;
25
26
  disconnectedCallback(): void;
@@ -28,6 +29,7 @@ export declare class VegaInputInputRenderer extends VegaSlimmer {
28
29
  getInputRef(): HTMLInputElement;
29
30
  render(): Nullable<HTMLElement>;
30
31
  private setInputRef;
32
+ private getAriaDescribedBy;
31
33
  private getInputType;
32
34
  private handleInputFocus;
33
35
  private handleInputBlur;
@@ -55,9 +55,6 @@ export declare class VegaInput {
55
55
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaInputElement>;
56
56
  protected readonly passwordEyeRenderer: VegaInputPasswordEyeRenderer;
57
57
  host: HTMLVegaInputElement;
58
- prefixText: string;
59
- suffixText: string;
60
- watchSuffixText(): void;
61
58
  isCompactInputWidth: boolean;
62
59
  isPasswordDisplay: boolean;
63
60
  suggestionsDropdownConfig: VegaInputSuggestionsDropdownConfig;
@@ -438,6 +435,21 @@ export declare class VegaInput {
438
435
  * releated issue: https://gitlab.com/heartland1/vega/tiger/-/issues/646
439
436
  */
440
437
  watchMaskChange(newValue: MaskConfigType | MaskConfigType[], oldValue: MaskConfigType | MaskConfigType[]): void;
438
+ /**
439
+ * Text displayed before (to the left of) the input value inside the input field.
440
+ *
441
+ * @default undefined
442
+ * @vegaVersion 2.103.0
443
+ */
444
+ prefixText: string;
445
+ /**
446
+ * Text displayed after (to the right of) the input value inside the input field.
447
+ *
448
+ * @default undefined
449
+ * @vegaVersion 2.103.0
450
+ */
451
+ suffixText: string;
452
+ watchSuffixText(): void;
441
453
  /**
442
454
  * When `true`, disables the ability to copy from or paste into the input field.
443
455
  *
@@ -1,6 +1,8 @@
1
1
  import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
2
2
  export declare class VegaInputNumericRenderer extends VegaSlimmer {
3
3
  private prefixIcon;
4
+ private prefixText;
5
+ private suffixText;
4
6
  private showClearIcon;
5
7
  private value;
6
8
  private size;
@@ -22,8 +22,6 @@ export declare class VegaInputNumeric {
22
22
  protected changeEventEmitter: EventEmitSlimmerBase;
23
23
  protected inputEventPrevent: ChildNodesEventPreventSlimmer;
24
24
  protected readonly formFieldController: FormFieldControllerSlimmer<string>;
25
- protected readonly prefixTextNotifySlimmer: SubStateNotifySlimmerBase;
26
- protected readonly suffixTextNotifySlimmer: SubStateNotifySlimmerBase;
27
25
  protected readonly isCompactInputWidthNotifySlimmer: SubStateNotifySlimmerBase;
28
26
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaInputNumericElement>;
29
27
  host: HTMLVegaInputNumericElement;
@@ -33,9 +33,13 @@ export declare const RTE_BLOCK_BOUNDARY_ATTRIBUTE: string;
33
33
  * whether to preserve the original inline styles.
34
34
  */
35
35
  export declare const RTE_PASTE_MODE_DATA_TYPE: string;
36
+ /** Marks synthetic plain-paste text whose preserved-whitespace sentinels require decoding. */
37
+ export declare const RTE_PRESERVED_WHITESPACE_DATA_TYPE: string;
36
38
  /**
37
39
  * Custom DataTransfer MIME type value used to indicate that the paste content
38
40
  * originated from Microsoft Word.
39
41
  */
40
42
  export declare const RTE_PASTE_MODE_WORD: string;
41
43
  export declare const RTE_WORD_COUNT_KEY: string;
44
+ /** Custom paste mode value used to insert clipboard content without formatting. */
45
+ export declare const RTE_PASTE_MODE_PLAIN: string;
@@ -0,0 +1,14 @@
1
+ import { SequentialCompositionAction } from '../../actions/sequential-composition-action';
2
+ import type { VegaRTEContent } from '../../content-state';
3
+ import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
4
+ /**
5
+ * Runs each step of a `SequentialCompositionAction` against its own target. Inner leaf actions stay
6
+ * non-flushable, so only the outer composition emits the single flush notification. A step can be a
7
+ * factory that builds its operation(s) at apply time, reading earlier applied actions by their type.
8
+ */
9
+ export declare class SequentialCompositionStrategy extends ActionHandleStrategy<SequentialCompositionAction, VegaRTEContent> {
10
+ /**
11
+ * @inheritDoc
12
+ */
13
+ protected handleAction(action: SequentialCompositionAction): void;
14
+ }
@@ -1,3 +1,4 @@
1
+ import { RTEFlushChangesPayload } from '../flush-changes-payload';
1
2
  export declare enum ModifyContentActionType {
2
3
  'DELETE_CHILDREN' = "DELETE_CHILDREN",
3
4
  'DELETE_NEST_LIST' = "DELETE_NEST_LIST",
@@ -31,12 +32,14 @@ export declare enum ModifyContentActionType {
31
32
  'INSERT_TEXT_TO_DECORATOR_NODE' = "INSERT_TEXT_TO_DECORATOR_NODE",
32
33
  'INSERT_NODE_TO_NEAREST_ROOT' = "INSERT_NODE_TO_NEAREST_ROOT",
33
34
  'PASTE_CONTENT' = "PASTE_CONTENT",
34
- 'DELETE_SELECTED_CONTENT' = "DELETE_SELECTED_CONTENT"
35
+ 'DELETE_SELECTED_CONTENT' = "DELETE_SELECTED_CONTENT",
36
+ 'SEQUENTIAL_COMPOSITION' = "SEQUENTIAL_COMPOSITION"
35
37
  }
36
38
  /**
37
39
  * Abstract class for update node content, delete node, insert node
38
40
  */
39
41
  export declare abstract class ModifyContentAction {
40
42
  isFlushable: boolean;
43
+ flushPayload?: RTEFlushChangesPayload;
41
44
  abstract type: string;
42
45
  }
@@ -0,0 +1,30 @@
1
+ import { ModifyContentAction, ModifyContentActionType } from './modify-content-action.abstract';
2
+ import type { RTEBlock } from '../blocks/block.abstract';
3
+ import type { RTENode } from '../nodes/node.abstract';
4
+ import type { VegaRTEContent } from '../content-state';
5
+ import { RTEFlushChangesPayload } from '../flush-changes-payload';
6
+ /** A target that a composition step's action is applied against. */
7
+ export declare type CompositionTarget = VegaRTEContent | RTEBlock | RTENode;
8
+ /** A single content-modification applied against its own target within a composition. */
9
+ export interface CompositionOperation {
10
+ target: CompositionTarget;
11
+ action: ModifyContentAction;
12
+ }
13
+ /** Read-only view of applied actions, keyed by action type, exposed to later factory steps. */
14
+ export interface CompositionContext {
15
+ getAction<T extends ModifyContentAction>(type: ModifyContentActionType): T | undefined;
16
+ }
17
+ /** Lazily builds the operation(s) to run at apply time, using results produced by earlier steps. */
18
+ export declare type CompositionStepFactory = (context: CompositionContext) => CompositionOperation | CompositionOperation[] | void;
19
+ /** A composition step is either an eager operation or a factory evaluated when the composition runs. */
20
+ export declare type CompositionStep = CompositionOperation | CompositionStepFactory;
21
+ /**
22
+ * Applies an ordered list of leaf content actions as one flushable unit, so a `beforeinput` handler
23
+ * emits a single flush through the shared action pipeline instead of marking each leaf action flushable.
24
+ */
25
+ export declare class SequentialCompositionAction extends ModifyContentAction {
26
+ readonly steps: CompositionStep[];
27
+ isFlushable: boolean;
28
+ type: ModifyContentActionType;
29
+ constructor(steps: CompositionStep[], flushPayload?: RTEFlushChangesPayload);
30
+ }
@@ -0,0 +1,16 @@
1
+ import { RTEUpdateSource } from '../constants/constant';
2
+ /**
3
+ * Payload dispatched with `VegaInternalRichTextEditorFlushChanges` notifications.
4
+ * Carries the parameters that the `ValueController` flush observer needs so it can
5
+ * invoke the flush immediately (bypassing the debounce) for `beforeinput`-driven
6
+ * updates instead of relying on the debounced default path.
7
+ *
8
+ * Owned by handlers (see `BaseHandler.flushOptions`). The observer treats a missing
9
+ * payload — or missing fields — as "use the debounced default"; the defaults live
10
+ * on the emitter side so there is a single source of truth.
11
+ */
12
+ export interface RTEFlushChangesPayload {
13
+ bypassDebounce?: boolean;
14
+ recordHistory?: boolean;
15
+ updateSource?: RTEUpdateSource;
16
+ }
@@ -27,6 +27,13 @@ export declare class RTEFunctionBlock extends RTEBlock<VegaRTEContent | RTEHtmlB
27
27
  * @returns {RTEFunctionBlock} The resulting RTEFunctionBlock.
28
28
  */
29
29
  static from(block: VegaFunctionBlock, options?: VegaRTETransformOptions): RTEFunctionBlock;
30
+ /**
31
+ * Removes a redundant div wrapper from FOREACH content so it is rendered inline
32
+ * with the FOREACH control. SHOW content retains its wrapper to preserve line breaks.
33
+ *
34
+ * @param {RTEFunctionBlockChild[]} children - The function block children to normalize.
35
+ */
36
+ static unwrapForeachContent(children: RTEFunctionBlockChild[]): void;
30
37
  /**
31
38
  * Converts the RTEFunctionBlock and its children to an HTML string.
32
39
  *
@@ -0,0 +1,33 @@
1
+ export declare type ChooserPosition = {
2
+ left: number;
3
+ top: number;
4
+ placement: ['bottom', 'top'] | ['top', 'bottom'];
5
+ };
6
+ /** Computes paste chooser placement from the paste pointer or saved caret range. */
7
+ export declare class ChooserPositioner {
8
+ private readonly getHostElement;
9
+ private readonly getSelectionRange;
10
+ constructor(getHostElement: () => HTMLVegaRichTextEditorElement | null, getSelectionRange: () => Range | null);
11
+ /**
12
+ * @param {ClipboardEvent} event Originating paste event.
13
+ * @returns {ChooserPosition} Position in viewport coordinates.
14
+ */
15
+ compute(event: ClipboardEvent): ChooserPosition;
16
+ /** @returns {DOMRect | null} Best available caret rectangle. */
17
+ getCaretRect(): DOMRect | null;
18
+ /**
19
+ * @param {DOMRect} rect Rectangle to inspect.
20
+ * @returns {boolean} Whether the rectangle has no usable position or dimensions.
21
+ */
22
+ isUnavailableRect(rect: DOMRect): boolean;
23
+ /**
24
+ * @param {Range} range Selection range whose container should be measured.
25
+ * @returns {DOMRect | null} Best available rectangle for the range container.
26
+ */
27
+ getRangeContainerRect(range: Range): DOMRect | null;
28
+ /**
29
+ * @param {Node | null} node DOM node to measure.
30
+ * @returns {DOMRect | null} Element-backed rectangle for the node.
31
+ */
32
+ getNodeRect(node: Node | null): DOMRect | null;
33
+ }
@@ -0,0 +1,43 @@
1
+ import { ChooserPositioner } from './chooser-positioner';
2
+ import { RTEPasteChooserUI } from '../paste-chooser-ui';
3
+ import { RTEPasteMode } from '../strategies/paste-processing-strategy.abstract';
4
+ /** Owns chooser rendering and all listener bookkeeping used to dismiss it. */
5
+ export declare class PasteChooserController {
6
+ private readonly positioner;
7
+ private readonly onModeSelect;
8
+ private readonly onClearPayload;
9
+ private chooserUI;
10
+ private listenerDocument;
11
+ private listenerWindow;
12
+ private contentHostEl;
13
+ constructor(positioner: ChooserPositioner, onModeSelect: (mode: RTEPasteMode) => void, onClearPayload: () => void);
14
+ /**
15
+ * @returns {RTEPasteChooserUI | null} Current chooser UI, or `null` when closed.
16
+ */
17
+ get ui(): RTEPasteChooserUI | null;
18
+ /**
19
+ * @param {HTMLElement | null} hostEl Rich text editor host element.
20
+ * @param {HTMLElement | null} contentHostEl Scrollable content host element.
21
+ * @param {ClipboardEvent} pasteEvent Originating paste event used for positioning.
22
+ * @param {boolean} showWordOption Whether to display the Word paste option.
23
+ */
24
+ open(hostEl: HTMLVegaRichTextEditorElement | null, contentHostEl: HTMLVegaRichTextContentElement | null, pasteEvent: ClipboardEvent, showWordOption: boolean): void;
25
+ /**
26
+ * @param {Event} event Pointer event captured on the document.
27
+ */
28
+ readonly handleOutsidePointerDown: (event: Event) => void;
29
+ /**
30
+ * @param {KeyboardEvent} event Keyboard event captured on the document.
31
+ */
32
+ readonly handleOutsideKeyDown: (event: KeyboardEvent) => void;
33
+ /**
34
+ * Clears the chooser when a relevant scroll container scrolls.
35
+ *
36
+ * @returns {void}
37
+ */
38
+ readonly handleOutsideScroll: () => void;
39
+ /**
40
+ * @param {boolean} [clearPayload] Whether to also clear the pending paste payload.
41
+ */
42
+ clear(clearPayload?: boolean): void;
43
+ }
@@ -0,0 +1,22 @@
1
+ import { SelectionSnapshotService } from './selection-snapshot-service';
2
+ import { PendingPastePayload } from '../type';
3
+ export declare type PasteCaptured = (payload: PendingPastePayload, event: ClipboardEvent) => void;
4
+ /** Owns the native paste listener and synchronous clipboard payload capture. */
5
+ export declare class PasteEventInterceptor {
6
+ private readonly selectionSnapshotService;
7
+ private readonly onPasteCaptured;
8
+ private editableEl;
9
+ constructor(selectionSnapshotService: SelectionSnapshotService, onPasteCaptured: PasteCaptured);
10
+ /**
11
+ * @param {HTMLDivElement | null} editableEl Editable content element to observe.
12
+ */
13
+ attach(editableEl: HTMLDivElement | null): void;
14
+ /**
15
+ * Detaches the current native paste listener.
16
+ */
17
+ detach(): void;
18
+ /**
19
+ * @param {ClipboardEvent} event Native paste event to capture.
20
+ */
21
+ readonly handlePasteEvent: (event: ClipboardEvent) => void;
22
+ }
@@ -0,0 +1,29 @@
1
+ import { RTEExtensionContext } from '../../../interface';
2
+ import { Nullable } from '../../../../../types/general';
3
+ import { PendingPastePayload, SelectedNodes } from '../type';
4
+ declare type SelectionSnapshot = {
5
+ range: Range | null;
6
+ selectedNodes: SelectedNodes;
7
+ };
8
+ /** Captures and restores native and editor selection state around chooser interaction. */
9
+ export declare class SelectionSnapshotService {
10
+ private readonly getContext;
11
+ constructor(getContext: () => Nullable<RTEExtensionContext>);
12
+ /**
13
+ * @returns {SelectionSnapshot} Captured native and editor selection state.
14
+ */
15
+ capture(): SelectionSnapshot;
16
+ /**
17
+ * @param {PendingPastePayload} payload Paste payload containing captured selection state.
18
+ */
19
+ restore(payload: PendingPastePayload): void;
20
+ /**
21
+ * @param {PendingPastePayload} payload Paste payload containing editor selection state.
22
+ */
23
+ restoreControllerState(payload: PendingPastePayload): void;
24
+ /**
25
+ * @param {Range | null} range Native selection range to restore.
26
+ */
27
+ restoreRange(range: Range | null): void;
28
+ }
29
+ export {};
@@ -0,0 +1,13 @@
1
+ import { PasteImageParser, ParseLocalImagesResult } from './paste-image-parser';
2
+ /** Extracts local image previews from strategy output. */
3
+ export declare class ImageExtractor {
4
+ private readonly parser;
5
+ constructor(parser?: PasteImageParser);
6
+ /**
7
+ * @param {string} html HTML content containing local image references.
8
+ * @param {File[]} files Clipboard image files.
9
+ * @param {string} rtf Rich text clipboard content used to resolve images.
10
+ * @returns {ParseLocalImagesResult} HTML and extracted local image previews.
11
+ */
12
+ extract(html: string, files: File[], rtf: string): ParseLocalImagesResult;
13
+ }
@@ -1,4 +1,4 @@
1
- import { ClipboardFileContent, VegaRTEPasteImage } from '../paste-extension';
1
+ import { ClipboardFileContent, VegaRTEPasteImage } from '../type';
2
2
  /**
3
3
  * A pasted image whose upload is still pending: the public
4
4
  * {@link VegaRTEPasteImage} payload plus the local object URL currently used as
@@ -1,6 +1,6 @@
1
1
  import { RTEImageNode } from '../../../dto/nodes/image-node';
2
2
  import { PasteImagePreview } from './paste-image-parser';
3
- import type { VegaRTEPasteImage } from '../paste-extension';
3
+ import type { VegaRTEPasteImage } from '../type';
4
4
  /** Consumer callback invoked once pasted images are inserted into the editor. */
5
5
  export declare type ImageInsertedCallback = (images: VegaRTEPasteImage[], replaceUrl: (imageId: string, url: string) => void) => void;
6
6
  /** Resolves the editable content element currently backing the editor. */
@@ -19,6 +19,7 @@ export declare class RTEPasteChooserUI {
19
19
  private readonly options;
20
20
  static readonly CHOOSER_ATTR: string;
21
21
  static readonly CHOOSER_RICH_ATTR: string;
22
+ static readonly CHOOSER_PLAIN_ATTR: string;
22
23
  static readonly CHOOSER_WORD_ATTR: string;
23
24
  static readonly CHOOSER_TRIGGER_ATTR: string;
24
25
  private chooserEl;
@@ -1,15 +1,17 @@
1
1
  import { VegaRTEExtension } from '../extension.abstract';
2
+ import { RTEPasteChooserUI } from './paste-chooser-ui';
3
+ import { PasteStrategySelector } from './strategies/paste-strategy-selector';
2
4
  import { RTEExtensionContext } from '../../interface';
3
- export declare type ClipboardFileContent = {
4
- files: File[];
5
- rtf: string;
6
- };
7
- export declare type VegaRTEPasteImage = {
8
- /** Unique identifier used to fill in the uploaded URL later. */
9
- id: string;
10
- /** Pasted image file to upload. */
11
- file: File;
12
- };
5
+ import { PasteImageParser } from './parse-local-images-helper/paste-image-parser';
6
+ import { PendingImageRegistry } from './parse-local-images-helper/pending-image-registry';
7
+ import { ChooserPositioner } from './controllers/chooser-positioner';
8
+ import { VegaRTEPasteImage } from './type';
9
+ import { PasteProcessingPipeline } from './pipeline/paste-processing-pipeline';
10
+ import { PasteDataTransferBuilder } from './pipeline/data-transfer-builder';
11
+ import { PasteDispatcher } from './pipeline/paste-dispatcher';
12
+ import { SelectionSnapshotService } from './controllers/selection-snapshot-service';
13
+ import { PasteEventInterceptor } from './controllers/paste-event-interceptor';
14
+ import { PasteChooserController } from './controllers/paste-chooser-controller';
13
15
  export declare type VegaRTEPasteExtensionOptions = {
14
16
  enableWordPaste?: boolean;
15
17
  imageInsertedCallback?: (images: VegaRTEPasteImage[], replaceUrl: (imageId: string, url: string) => void) => void;
@@ -19,47 +21,51 @@ export declare type VegaRTEPasteExtensionOptions = {
19
21
  * Intercepts keyboard paste and allows users to choose paste mode.
20
22
  */
21
23
  export declare class VegaRTEPasteExtension extends VegaRTEExtension {
24
+ protected readonly strategySelector: PasteStrategySelector;
25
+ protected readonly imageParser: PasteImageParser;
26
+ protected readonly pendingImageRegistry: PendingImageRegistry;
27
+ protected readonly chooserPositioner: ChooserPositioner;
28
+ protected readonly processingPipeline: PasteProcessingPipeline;
29
+ protected readonly dataTransferBuilder: PasteDataTransferBuilder;
30
+ protected readonly pasteDispatcher: PasteDispatcher;
31
+ protected readonly selectionSnapshotService: SelectionSnapshotService;
32
+ protected readonly pasteEventInterceptor: PasteEventInterceptor;
33
+ protected readonly pasteChooserController: PasteChooserController;
22
34
  private hostEl;
23
35
  private editableEl;
24
36
  private contentHostEl;
25
- private chooserUI;
26
37
  private pendingPastePayload;
27
- private listenerDocument;
28
- private listenerWindow;
29
38
  private options;
30
- private strategySelector;
31
- private clipboardFileContent;
32
- private imageParser;
33
- /** Owns pending pasted-image previews awaiting upload and their URL replacement. */
34
- private readonly pendingImageRegistry;
35
39
  constructor(options?: VegaRTEPasteExtensionOptions);
36
40
  /** @inheritDoc */
37
41
  initialExtensionAfterLoad(context: RTEExtensionContext): void;
38
42
  /** @inheritDoc */
39
43
  destroyExtension(): void;
44
+ /** @returns {RTEPasteChooserUI | null} Currently open chooser UI, or `null` when closed. */
45
+ protected get chooserUI(): RTEPasteChooserUI | null;
40
46
  /**
41
47
  * Handles a native paste event by capturing the clipboard payload and
42
48
  * rendering the paste-mode chooser.
43
49
  *
44
50
  * @param {ClipboardEvent} event Native clipboard paste event.
45
51
  */
46
- private readonly handlePasteEvent;
52
+ protected readonly handlePasteEvent: (event: ClipboardEvent) => void;
47
53
  /**
48
54
  * Dismisses the chooser when a pointer interaction occurs outside of it.
49
55
  *
50
56
  * @param {Event} event Pointer event captured on the document.
51
57
  */
52
- private readonly handleOutsidePointerDown;
58
+ protected readonly handleOutsidePointerDown: (event: Event) => void;
53
59
  /**
54
60
  * Dismisses the chooser when the Escape key is pressed.
55
61
  *
56
62
  * @param {KeyboardEvent} event Keyboard event captured on the document.
57
63
  */
58
- private readonly handleOutsideKeyDown;
64
+ protected readonly handleOutsideKeyDown: (event: KeyboardEvent) => void;
59
65
  /**
60
66
  * Dismisses the chooser when any relevant scroll container scrolls.
61
67
  */
62
- private readonly handleOutsideScroll;
68
+ protected readonly handleOutsideScroll: () => void;
63
69
  /**
64
70
  * Attaches the paste listener to the editable element.
65
71
  */
@@ -93,40 +99,6 @@ export declare class VegaRTEPasteExtension extends VegaRTEExtension {
93
99
  * @param {ClipboardEvent} pasteEvent Originating paste event used for positioning.
94
100
  */
95
101
  private renderPasteChooser;
96
- /**
97
- * Computes the on-screen position for the chooser based on pointer or caret.
98
- *
99
- * @param {ClipboardEvent} event Originating paste event.
100
- * @returns {ChooserPosition} Position in viewport coordinates.
101
- */
102
- private computeChooserPosition;
103
- /**
104
- * Resolves the bounding rect of the pending caret position.
105
- *
106
- * @returns {DOMRect | null} Caret rect or `null` when it cannot be determined.
107
- */
108
- private getCaretRect;
109
- /**
110
- * Returns whether the browser could not resolve a meaningful caret rectangle.
111
- *
112
- * @param {DOMRect} rect Candidate caret rect.
113
- * @returns {boolean} Whether the rect is unusable.
114
- */
115
- private isUnavailableRect;
116
- /**
117
- * Falls back to the range container or neighbor child node bounds.
118
- *
119
- * @param {Range} range Caret/selection range.
120
- * @returns {DOMRect | null} Best-effort caret anchor rectangle.
121
- */
122
- private getRangeContainerRect;
123
- /**
124
- * Returns an element-backed rectangle from a DOM node.
125
- *
126
- * @param {Node | null} node Candidate node.
127
- * @returns {DOMRect | null} Node rectangle when resolvable.
128
- */
129
- private getNodeRect;
130
102
  /**
131
103
  * Applies the chosen paste mode by dispatching a synthetic paste input event.
132
104
  *
@@ -136,48 +108,11 @@ export declare class VegaRTEPasteExtension extends VegaRTEExtension {
136
108
  * @param {RTEPasteMode} mode Selected paste mode.
137
109
  */
138
110
  private applyPasteMode;
139
- /**
140
- * Parses local images from the HTML and emits events for further processing.
141
- *
142
- * @param {string} html HTML content to parse.
143
- * @param {ClipboardFileContent} clipboardFileContent Clipboard file content for image extraction.
144
- * @returns {string} Processed HTML with local image references replaced.
145
- */
146
- private parseLocalImages;
147
111
  /**
148
112
  * Emits the `imageInsertedCallback` for any pending previews, allowing the
149
113
  * consumer to upload them and resolve their URLs.
150
114
  */
151
115
  private emitLocalImageInsertedEvent;
152
- /**
153
- * Restores SelectionController state from the captured selection so synthetic
154
- * beforeinput paste can replace the selected content instead of appending.
155
- *
156
- * @param {PendingPastePayload} payload Pending paste payload.
157
- */
158
- private restoreSelectionControllerState;
159
- /**
160
- * Restores a previously cloned selection range.
161
- *
162
- * @param {Range | null} range Range to restore.
163
- */
164
- private restoreSelectionRange;
165
- /**
166
- * Dispatches a synthetic `beforeinput` paste event into the editor pipeline.
167
- *
168
- * @param {HTMLDivElement} editableEl Editable content element.
169
- * @param {DataTransfer} dataTransfer Clipboard payload for the paste.
170
- */
171
- private dispatchBeforeInputPaste;
172
- /**
173
- * Builds a `DataTransfer` payload carrying the paste content and mode marker.
174
- *
175
- * @param {string} html HTML clipboard content.
176
- * @param {string} text Plain text clipboard content.
177
- * @param {RTEPasteMode} [mode] Selected paste mode marker.
178
- * @returns {DataTransfer} Populated data transfer payload.
179
- */
180
- private createDataTransfer;
181
116
  /**
182
117
  * Tears down the chooser UI and removes dismissal listeners.
183
118
  *
@@ -0,0 +1,10 @@
1
+ import { PasteOutput } from '../type';
2
+ /** Builds the DataTransfer contract consumed by InsertPasteHandler. */
3
+ export declare class PasteDataTransferBuilder {
4
+ private static readonly RESERVED_KEYS;
5
+ /**
6
+ * @param {PasteOutput} output Processed paste output to serialize.
7
+ * @returns {DataTransfer} Data transfer payload consumed by the paste handler.
8
+ */
9
+ build(output: PasteOutput): DataTransfer;
10
+ }
@@ -0,0 +1,8 @@
1
+ /** Dispatches processed paste data through the editor's existing beforeinput pipeline. */
2
+ export declare class PasteDispatcher {
3
+ /**
4
+ * @param {HTMLDivElement} editableEl Editable content element receiving the event.
5
+ * @param {DataTransfer} dataTransfer Processed clipboard payload.
6
+ */
7
+ dispatch(editableEl: HTMLDivElement, dataTransfer: DataTransfer): void;
8
+ }
@@ -0,0 +1,18 @@
1
+ import { PendingImageRegistry } from '../parse-local-images-helper/pending-image-registry';
2
+ import { PasteStrategySelector } from '../strategies/paste-strategy-selector';
3
+ import { RTEPasteMode } from '../strategies/paste-processing-strategy.abstract';
4
+ import { ImageExtractor } from '../parse-local-images-helper/image-extractor';
5
+ import { PasteOutput, PendingPastePayload } from '../type';
6
+ /** Selects and executes one paste strategy, then performs declared post-processing. */
7
+ export declare class PasteProcessingPipeline {
8
+ private readonly selector;
9
+ private readonly imageExtractor;
10
+ private readonly pendingImageRegistry;
11
+ constructor(selector: PasteStrategySelector, imageExtractor: ImageExtractor, pendingImageRegistry: PendingImageRegistry);
12
+ /**
13
+ * @param {PendingPastePayload} payload Captured clipboard and selection data.
14
+ * @param {RTEPasteMode} explicitMode Paste mode selected by the user.
15
+ * @returns {PasteOutput} Processed paste output and image extraction metadata.
16
+ */
17
+ process(payload: PendingPastePayload, explicitMode: RTEPasteMode): PasteOutput;
18
+ }