@globalpayments/vega 2.98.0 → 2.99.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 (447) hide show
  1. package/dist/cjs/{action-color-accessibility-validator-24498816.js → action-color-accessibility-validator-b8a9ef0f.js} +2 -2
  2. package/dist/cjs/{app-globals-b3f05631.js → app-globals-a306dce6.js} +10 -10
  3. package/dist/cjs/{code-block-d78c2b2c.js → code-block-ea1f5eb3.js} +43 -6
  4. package/dist/cjs/{component-global-style-slimmer-93c5fb50.js → component-global-style-slimmer-ba588eb4.js} +1 -1
  5. package/dist/cjs/{component-value-history-controller-slimmer.abstract-beb00fea.js → component-value-history-controller-slimmer.abstract-7071b064.js} +24 -5
  6. package/dist/cjs/{content-state-78a620a9.js → content-state-8d07d530.js} +60 -8
  7. package/dist/cjs/{dark-mode-style-controller-32d4054a.js → dark-mode-style-controller-f3da3342.js} +2 -2
  8. package/dist/cjs/{date-required-rule-5250f26d.js → date-required-rule-c0c498ad.js} +1 -1
  9. package/dist/cjs/{design-token-74674ee7.js → design-token-58bf7fe8.js} +3 -3
  10. package/dist/cjs/{element-appender-slimmer-597e9e48.js → element-appender-slimmer-a0269315.js} +2 -2
  11. package/dist/cjs/{form-field-controller-slimmer-a743be34.js → form-field-controller-slimmer-f73f200e.js} +2 -2
  12. package/dist/cjs/{image-annotation-action-85c4bd83.js → image-annotation-action-2a28038e.js} +3 -3
  13. package/dist/cjs/{image-extension-260fa69c.js → image-extension-9659708b.js} +2 -2
  14. package/dist/cjs/{index-592b4052.js → index-5d1adcd1.js} +86 -0
  15. package/dist/cjs/index.cjs.js +19 -19
  16. package/dist/cjs/{inject-keyboard-manager-6a6f5c9f.js → inject-keyboard-manager-4fa45f9c.js} +1 -1
  17. package/dist/cjs/{internal-calendar-period-factory-dfcdd3f6.js → internal-calendar-period-factory-6196bc80.js} +1 -1
  18. package/dist/cjs/{internal-translation-controller-1dac2df8.js → internal-translation-controller-51f7f865.js} +2 -0
  19. package/dist/cjs/{keyboard-manager-c56033b1.js → keyboard-manager-482fe257.js} +1 -1
  20. package/dist/cjs/{keyboard-manager-slimmer-7043a106.js → keyboard-manager-slimmer-a19430dd.js} +1 -1
  21. package/dist/cjs/{link-extension-220ff6a9.js → link-extension-11340e1c.js} +26 -7
  22. package/dist/cjs/loader.cjs.js +13 -13
  23. package/dist/cjs/{month-view-generator-7b704a80.js → month-view-generator-1a534451.js} +1 -1
  24. package/dist/cjs/{public-rules-5657bce4.js → public-rules-6c77b545.js} +9 -9
  25. package/dist/cjs/{range-c5afd53a.js → range-22ddd452.js} +1 -1
  26. package/dist/cjs/{responsive-format-facade-493d1763.js → responsive-format-facade-74e6d791.js} +1 -1
  27. package/dist/cjs/{rich-text-editor-required-rule-385c1b61.js → rich-text-editor-required-rule-09d1093a.js} +1 -1
  28. package/dist/cjs/{split-cell-operation-873d5db7.js → split-cell-operation-11bfb305.js} +14 -4
  29. package/dist/cjs/{state-border-formatter-711c7aaa.js → state-border-formatter-bf4f9f1c.js} +1 -1
  30. package/dist/cjs/{string-format-strategy.abstract-b61bdcbd.js → string-format-strategy.abstract-bf37b14c.js} +1 -1
  31. package/dist/cjs/{string-input-formatter-slimmer-ef65cca7.js → string-input-formatter-slimmer-ffeb18a6.js} +1 -1
  32. package/dist/cjs/{string-mask-strategy-ad3fa0ac.js → string-mask-strategy-7f394726.js} +2 -2
  33. package/dist/cjs/{style-formatter-8f711cb0.js → style-formatter-4ac63910.js} +2 -2
  34. package/dist/cjs/{time-required-rule-87417359.js → time-required-rule-e2a50003.js} +1 -1
  35. package/dist/cjs/{token-extension-78b5a026.js → token-extension-4686cb3b.js} +2920 -157
  36. package/dist/cjs/{translation-slimmer-77c7f37d.js → translation-slimmer-e4997f8f.js} +1 -1
  37. package/dist/cjs/{type-guard-a57ef3ac.js → type-guard-b8d7bb3f.js} +1 -1
  38. package/dist/cjs/{valid-credit-card-number-rule-4c0a3040.js → valid-credit-card-number-rule-f5a6f009.js} +1 -1
  39. package/dist/cjs/vega-accordion.cjs.entry.js +6 -6
  40. package/dist/cjs/vega-app-footer.cjs.entry.js +2 -2
  41. package/dist/cjs/vega-app-header-button.cjs.entry.js +5 -5
  42. package/dist/cjs/vega-box.cjs.entry.js +7 -7
  43. package/dist/cjs/vega-brand-logo.cjs.entry.js +2 -2
  44. package/dist/cjs/vega-breadcrumb.cjs.entry.js +2 -2
  45. package/dist/cjs/vega-button-circle.cjs.entry.js +6 -6
  46. package/dist/cjs/vega-button-link.cjs.entry.js +1 -1
  47. package/dist/cjs/vega-button.cjs.entry.js +4 -4
  48. package/dist/cjs/vega-calendar_5.cjs.entry.js +21 -10
  49. package/dist/cjs/vega-card.cjs.entry.js +5 -5
  50. package/dist/cjs/vega-carousel.cjs.entry.js +3 -3
  51. package/dist/cjs/vega-checkbox_2.cjs.entry.js +3 -3
  52. package/dist/cjs/vega-chip.cjs.entry.js +5 -5
  53. package/dist/cjs/vega-code-block.cjs.entry.js +11 -11
  54. package/dist/cjs/vega-color-picker.cjs.entry.js +3 -3
  55. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +4 -4
  56. package/dist/cjs/vega-color-swatch.cjs.entry.js +2 -2
  57. package/dist/cjs/vega-combo-box.cjs.entry.js +9 -9
  58. package/dist/cjs/vega-counter-badge.cjs.entry.js +2 -2
  59. package/dist/cjs/vega-date-picker_2.cjs.entry.js +14 -14
  60. package/dist/cjs/vega-dialog_2.cjs.entry.js +5 -5
  61. package/dist/cjs/vega-divider.cjs.entry.js +5 -5
  62. package/dist/cjs/vega-dropdown_5.cjs.entry.js +23 -14
  63. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  64. package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
  65. package/dist/cjs/vega-file-uploader.cjs.entry.js +4 -4
  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 +2 -2
  70. package/dist/cjs/vega-grid.cjs.entry.js +5 -5
  71. package/dist/cjs/vega-icon.cjs.entry.js +6 -6
  72. package/dist/cjs/vega-image-uploader.cjs.entry.js +7 -7
  73. package/dist/cjs/vega-input-credit-card.cjs.entry.js +7 -7
  74. package/dist/cjs/vega-input-numeric.cjs.entry.js +6 -6
  75. package/dist/cjs/vega-input-passcode.cjs.entry.js +6 -6
  76. package/dist/cjs/vega-input-phone-number.cjs.entry.js +5 -5
  77. package/dist/cjs/vega-input-range.cjs.entry.js +4 -4
  78. package/dist/cjs/vega-input-select.cjs.entry.js +6 -6
  79. package/dist/cjs/vega-input.cjs.entry.js +7 -7
  80. package/dist/cjs/vega-left-nav_5.cjs.entry.js +10 -10
  81. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
  82. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +2 -2
  83. package/dist/cjs/vega-pagination.cjs.entry.js +4 -4
  84. package/dist/cjs/vega-popover_2.cjs.entry.js +8 -8
  85. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +3 -3
  86. package/dist/cjs/vega-radio_2.cjs.entry.js +6 -6
  87. package/dist/cjs/vega-rich-text-content.cjs.entry.js +39 -11
  88. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +79 -22
  89. package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +1 -1
  90. package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +5 -5
  91. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +10 -10
  92. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +5 -5
  93. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +3 -3
  94. package/dist/cjs/vega-sidenav_3.cjs.entry.js +3 -3
  95. package/dist/cjs/vega-signature-capture.cjs.entry.js +8 -8
  96. package/dist/cjs/vega-stepper.cjs.entry.js +3 -3
  97. package/dist/cjs/vega-tab-group_2.cjs.entry.js +21 -8
  98. package/dist/cjs/vega-table_11.cjs.entry.js +81 -45
  99. package/dist/cjs/vega-textarea.cjs.entry.js +3 -3
  100. package/dist/cjs/vega-time-picker_2.cjs.entry.js +10 -10
  101. package/dist/cjs/vega-toggle-switch.cjs.entry.js +3 -3
  102. package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
  103. package/dist/cjs/vega.cjs.js +13 -13
  104. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +5 -2
  105. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.js +9 -1
  106. package/dist/collection/components/vega-counter-badge/vega-counter-badge.js +2 -2
  107. package/dist/collection/components/vega-dropdown/vega-dropdown-group/slimmers/renderers/vega-dropdown-group-renderer.js +6 -4
  108. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +10 -2
  109. package/dist/collection/components/vega-field-label/vega-field-label.css +1 -0
  110. package/dist/collection/components/vega-rich-text-editor/constants/constant.js +16 -0
  111. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-default-styles.js +2 -1
  112. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +11 -0
  113. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy-registry.js +2 -1
  114. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy.abstract.js +5 -2
  115. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/title-heading-node-filter-styles-strategy.js +36 -2
  116. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +20 -3
  117. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +12 -0
  118. package/dist/collection/components/vega-rich-text-editor/extensions/block-boundary-registry.js +34 -0
  119. package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +20 -0
  120. package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/insert-function-block-strategy.js +3 -2
  121. package/dist/collection/components/vega-rich-text-editor/extensions/functions/constants.js +8 -0
  122. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/function-block.js +14 -3
  123. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-block.js +2 -1
  124. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-containing-function-block-strategy.js +19 -0
  125. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-block-strategy.js +9 -5
  126. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-content-strategy.js +3 -3
  127. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-logic-control-block-strategy.js +4 -2
  128. package/dist/collection/components/vega-rich-text-editor/extensions/functions/function-extension.js +18 -0
  129. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-block-renderer.js +5 -2
  130. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/logic-control-block-renderer.js +2 -1
  131. package/dist/collection/components/vega-rich-text-editor/extensions/functions/utils.js +36 -0
  132. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-extension.js +1 -0
  133. package/dist/collection/components/vega-rich-text-editor/extensions/paste/action-handler-strategies/image-replace-src-strategy.js +21 -0
  134. package/dist/collection/components/vega-rich-text-editor/extensions/paste/actions/image-replace-src-action.js +13 -0
  135. package/dist/collection/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/paste-image-parser.js +295 -0
  136. package/dist/collection/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/pending-image-registry.js +116 -0
  137. package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.js +13 -4
  138. package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-extension.js +70 -7
  139. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/default-paste-strategy.js +38 -0
  140. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/paste-processing-strategy.abstract.js +55 -0
  141. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/paste-strategy-selector.js +59 -0
  142. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/word-paste-strategy.js +416 -0
  143. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-code-block-transformer.js +106 -0
  144. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-image-transformer.js +198 -0
  145. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-list-transformer.js +591 -0
  146. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-paragraph-transformer.js +112 -0
  147. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-table-transformer.js +551 -0
  148. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-transformer.js +7 -0
  149. package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-block.js +10 -0
  150. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.js +4 -2
  151. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node.js +44 -0
  152. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/extension-controller.js +2 -0
  153. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.js +7 -4
  154. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.js +17 -0
  155. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +18 -4
  156. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +21 -2
  157. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +7 -0
  158. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.js +5 -2
  159. package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-tab-list-renderer.js +14 -7
  160. package/dist/collection/components/vega-tab-group/vega-tab-group.css +6 -0
  161. package/dist/collection/components/vega-tab-group/vega-tab-group.js +5 -0
  162. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-body-col-span-controller.js +31 -1
  163. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-col-span-resolver.js +18 -11
  164. package/dist/collection/helpers/translation/locales/en.js +2 -0
  165. package/dist/collection/utils/sanitize/index.js +3 -2
  166. package/dist/collection/utils/sanitize/strategies/index.js +1 -0
  167. package/dist/collection/utils/sanitize/strategies/label-sanitize-strategy.js +14 -0
  168. package/dist/collection/utils/sanitize/strategies/plain-text-sanitize-strategy.js +70 -0
  169. package/dist/esm/{action-color-accessibility-validator-ce55cb07.js → action-color-accessibility-validator-08877515.js} +2 -2
  170. package/dist/esm/{app-globals-95c7110a.js → app-globals-c59364c2.js} +10 -10
  171. package/dist/esm/{code-block-9c513169.js → code-block-e6443949.js} +39 -7
  172. package/dist/esm/{component-global-style-slimmer-ac703085.js → component-global-style-slimmer-7d60a04a.js} +1 -1
  173. package/dist/esm/{component-value-history-controller-slimmer.abstract-9cef2a2a.js → component-value-history-controller-slimmer.abstract-ee393213.js} +24 -5
  174. package/dist/esm/{content-state-25c81c08.js → content-state-43cdacff.js} +60 -9
  175. package/dist/esm/{dark-mode-style-controller-ca5afd2d.js → dark-mode-style-controller-352f15ff.js} +2 -2
  176. package/dist/esm/{date-required-rule-85334d0c.js → date-required-rule-b5b67498.js} +1 -1
  177. package/dist/esm/{design-token-10ff79b5.js → design-token-8319bb59.js} +3 -3
  178. package/dist/esm/{element-appender-slimmer-8a06ecdd.js → element-appender-slimmer-c81d1fe3.js} +2 -2
  179. package/dist/esm/{form-field-controller-slimmer-68fc5380.js → form-field-controller-slimmer-511b7ac5.js} +2 -2
  180. package/dist/esm/{image-annotation-action-d7f2aecc.js → image-annotation-action-d7cb80aa.js} +3 -3
  181. package/dist/esm/{image-extension-fbd1ed6e.js → image-extension-9b8abd0d.js} +2 -2
  182. package/dist/esm/{index-3b327f29.js → index-35451d12.js} +86 -1
  183. package/dist/esm/index.js +19 -19
  184. package/dist/esm/{inject-keyboard-manager-ea1aad5b.js → inject-keyboard-manager-dd368d56.js} +1 -1
  185. package/dist/esm/{internal-calendar-period-factory-7b294fb6.js → internal-calendar-period-factory-d58f35c6.js} +1 -1
  186. package/dist/esm/{internal-translation-controller-fac22598.js → internal-translation-controller-b33430c6.js} +2 -0
  187. package/dist/esm/{keyboard-manager-50da85d7.js → keyboard-manager-b4a0d97d.js} +1 -1
  188. package/dist/esm/{keyboard-manager-slimmer-1f7c8bfb.js → keyboard-manager-slimmer-0517fc70.js} +1 -1
  189. package/dist/esm/{link-extension-e8ee103e.js → link-extension-230bae8d.js} +26 -7
  190. package/dist/esm/loader.js +13 -13
  191. package/dist/esm/{month-view-generator-a1a9a4ec.js → month-view-generator-f470caac.js} +1 -1
  192. package/dist/esm/{public-rules-49de79c7.js → public-rules-28ef32d3.js} +9 -9
  193. package/dist/esm/{range-b678c693.js → range-efad2578.js} +1 -1
  194. package/dist/esm/{responsive-format-facade-f19b601c.js → responsive-format-facade-dec87e46.js} +1 -1
  195. package/dist/esm/{rich-text-editor-required-rule-578e0958.js → rich-text-editor-required-rule-a697e5bd.js} +1 -1
  196. package/dist/esm/{split-cell-operation-1c8e7585.js → split-cell-operation-89b91a38.js} +14 -4
  197. package/dist/esm/{state-border-formatter-bfda33aa.js → state-border-formatter-1e900a2f.js} +1 -1
  198. package/dist/esm/{string-format-strategy.abstract-1f4ff1b3.js → string-format-strategy.abstract-d0ce3f65.js} +1 -1
  199. package/dist/esm/{string-input-formatter-slimmer-0006a107.js → string-input-formatter-slimmer-6546cfc7.js} +1 -1
  200. package/dist/esm/{string-mask-strategy-bbbcdbef.js → string-mask-strategy-dd13ae21.js} +2 -2
  201. package/dist/esm/{style-formatter-e9adc8f4.js → style-formatter-057d7120.js} +2 -2
  202. package/dist/esm/{time-required-rule-1ce2d0a0.js → time-required-rule-73753a54.js} +1 -1
  203. package/dist/esm/{token-extension-f2d009e3.js → token-extension-74a0eeb1.js} +2918 -155
  204. package/dist/esm/{translation-slimmer-ee0f0e76.js → translation-slimmer-ef970ffc.js} +1 -1
  205. package/dist/esm/{type-guard-f2624334.js → type-guard-6fc96870.js} +1 -1
  206. package/dist/esm/{valid-credit-card-number-rule-60212b1d.js → valid-credit-card-number-rule-b54a31e7.js} +1 -1
  207. package/dist/esm/vega-accordion.entry.js +6 -6
  208. package/dist/esm/vega-app-footer.entry.js +2 -2
  209. package/dist/esm/vega-app-header-button.entry.js +5 -5
  210. package/dist/esm/vega-box.entry.js +7 -7
  211. package/dist/esm/vega-brand-logo.entry.js +2 -2
  212. package/dist/esm/vega-breadcrumb.entry.js +2 -2
  213. package/dist/esm/vega-button-circle.entry.js +6 -6
  214. package/dist/esm/vega-button-link.entry.js +1 -1
  215. package/dist/esm/vega-button.entry.js +4 -4
  216. package/dist/esm/vega-calendar_5.entry.js +21 -10
  217. package/dist/esm/vega-card.entry.js +5 -5
  218. package/dist/esm/vega-carousel.entry.js +3 -3
  219. package/dist/esm/vega-checkbox_2.entry.js +3 -3
  220. package/dist/esm/vega-chip.entry.js +5 -5
  221. package/dist/esm/vega-code-block.entry.js +11 -11
  222. package/dist/esm/vega-color-picker.entry.js +3 -3
  223. package/dist/esm/vega-color-swatch-picker.entry.js +4 -4
  224. package/dist/esm/vega-color-swatch.entry.js +2 -2
  225. package/dist/esm/vega-combo-box.entry.js +9 -9
  226. package/dist/esm/vega-counter-badge.entry.js +2 -2
  227. package/dist/esm/vega-date-picker_2.entry.js +14 -14
  228. package/dist/esm/vega-dialog_2.entry.js +5 -5
  229. package/dist/esm/vega-divider.entry.js +5 -5
  230. package/dist/esm/vega-dropdown_5.entry.js +23 -14
  231. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  232. package/dist/esm/vega-field-label.entry.js +3 -3
  233. package/dist/esm/vega-file-uploader.entry.js +4 -4
  234. package/dist/esm/vega-flag-icon.entry.js +5 -5
  235. package/dist/esm/vega-flex.entry.js +6 -6
  236. package/dist/esm/vega-font.entry.js +5 -5
  237. package/dist/esm/vega-form.entry.js +2 -2
  238. package/dist/esm/vega-grid.entry.js +5 -5
  239. package/dist/esm/vega-icon.entry.js +6 -6
  240. package/dist/esm/vega-image-uploader.entry.js +7 -7
  241. package/dist/esm/vega-input-credit-card.entry.js +7 -7
  242. package/dist/esm/vega-input-numeric.entry.js +6 -6
  243. package/dist/esm/vega-input-passcode.entry.js +6 -6
  244. package/dist/esm/vega-input-phone-number.entry.js +5 -5
  245. package/dist/esm/vega-input-range.entry.js +4 -4
  246. package/dist/esm/vega-input-select.entry.js +6 -6
  247. package/dist/esm/vega-input.entry.js +7 -7
  248. package/dist/esm/vega-left-nav_5.entry.js +10 -10
  249. package/dist/esm/vega-loader-wrapper_2.entry.js +3 -3
  250. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +2 -2
  251. package/dist/esm/vega-pagination.entry.js +4 -4
  252. package/dist/esm/vega-popover_2.entry.js +8 -8
  253. package/dist/esm/vega-progress-tracker_2.entry.js +3 -3
  254. package/dist/esm/vega-radio_2.entry.js +6 -6
  255. package/dist/esm/vega-rich-text-content.entry.js +39 -11
  256. package/dist/esm/vega-rich-text-editor_4.entry.js +79 -22
  257. package/dist/esm/vega-rich-text-find-replace-panel.entry.js +1 -1
  258. package/dist/esm/vega-rich-text-special-characters-panel.entry.js +5 -5
  259. package/dist/esm/vega-rich-text-table-properties_3.entry.js +10 -10
  260. package/dist/esm/vega-selection-chip_2.entry.js +5 -5
  261. package/dist/esm/vega-selection-tile_2.entry.js +3 -3
  262. package/dist/esm/vega-sidenav_3.entry.js +3 -3
  263. package/dist/esm/vega-signature-capture.entry.js +8 -8
  264. package/dist/esm/vega-stepper.entry.js +3 -3
  265. package/dist/esm/vega-tab-group_2.entry.js +21 -8
  266. package/dist/esm/vega-table_11.entry.js +53 -17
  267. package/dist/esm/vega-textarea.entry.js +3 -3
  268. package/dist/esm/vega-time-picker_2.entry.js +10 -10
  269. package/dist/esm/vega-toggle-switch.entry.js +3 -3
  270. package/dist/esm/vega-tooltip_2.entry.js +6 -6
  271. package/dist/esm/vega.js +13 -13
  272. package/dist/sri/vega-sri-manifest.json +349 -349
  273. package/dist/types/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.d.ts +2 -0
  274. package/dist/types/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.d.ts +1 -0
  275. package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +16 -0
  276. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-default-styles.d.ts +1 -0
  277. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +9 -0
  278. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy-registry.d.ts +1 -0
  279. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy.abstract.d.ts +3 -2
  280. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/title-heading-node-filter-styles-strategy.d.ts +25 -3
  281. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +7 -0
  282. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.d.ts +11 -0
  283. package/dist/types/components/vega-rich-text-editor/extensions/block-boundary-registry.d.ts +21 -0
  284. package/dist/types/components/vega-rich-text-editor/extensions/extension.abstract.d.ts +15 -0
  285. package/dist/types/components/vega-rich-text-editor/extensions/functions/constants.d.ts +4 -0
  286. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/function-block.d.ts +7 -0
  287. package/dist/types/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-containing-function-block-strategy.d.ts +8 -0
  288. package/dist/types/components/vega-rich-text-editor/extensions/functions/function-extension.d.ts +6 -0
  289. package/dist/types/components/vega-rich-text-editor/extensions/functions/utils.d.ts +29 -0
  290. package/dist/types/components/vega-rich-text-editor/extensions/paste/action-handler-strategies/image-replace-src-strategy.d.ts +12 -0
  291. package/dist/types/components/vega-rich-text-editor/extensions/paste/actions/image-replace-src-action.d.ts +11 -0
  292. package/dist/types/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/paste-image-parser.d.ts +136 -0
  293. package/dist/types/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/pending-image-registry.d.ts +68 -0
  294. package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.d.ts +9 -4
  295. package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-extension.d.ts +39 -2
  296. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/default-paste-strategy.d.ts +29 -0
  297. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/paste-processing-strategy.abstract.d.ts +61 -0
  298. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/paste-strategy-selector.d.ts +45 -0
  299. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/word-paste-strategy.d.ts +186 -0
  300. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-code-block-transformer.d.ts +51 -0
  301. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-image-transformer.d.ts +86 -0
  302. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-list-transformer.d.ts +271 -0
  303. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-paragraph-transformer.d.ts +25 -0
  304. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-table-transformer.d.ts +240 -0
  305. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-transformer.d.ts +36 -0
  306. package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-block.d.ts +8 -0
  307. package/dist/types/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.d.ts +2 -2
  308. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node.d.ts +19 -1
  309. package/dist/types/components/vega-rich-text-editor/interface.d.ts +10 -0
  310. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.d.ts +4 -1
  311. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.d.ts +8 -0
  312. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +1 -0
  313. package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-tab-list-renderer.d.ts +1 -0
  314. package/dist/types/components/vega-tab-group/types.d.ts +3 -1
  315. package/dist/types/components/vega-tab-group/vega-tab-group.d.ts +2 -0
  316. package/dist/types/components/vega-table/interface.d.ts +4 -4
  317. package/dist/types/components/vega-table/slimmers/controllers/vega-table-body-col-span-controller.d.ts +16 -0
  318. package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-col-span-resolver.d.ts +8 -10
  319. package/dist/types/helpers/translation/interface.d.ts +3 -1
  320. package/dist/types/types/public-api.d.ts +1 -0
  321. package/dist/types/utils/sanitize/index.d.ts +3 -2
  322. package/dist/types/utils/sanitize/strategies/index.d.ts +1 -0
  323. package/dist/types/utils/sanitize/strategies/label-sanitize-strategy.d.ts +9 -0
  324. package/dist/types/utils/sanitize/strategies/plain-text-sanitize-strategy.d.ts +36 -0
  325. package/dist/vega/index.esm.js +1 -1
  326. package/dist/vega/{p-0cbf09f7.entry.js → p-024db952.entry.js} +1 -1
  327. package/dist/vega/p-0b2c4c0b.js +1 -0
  328. package/dist/vega/{p-c2277448.entry.js → p-0ca3b4bf.entry.js} +1 -1
  329. package/dist/vega/{p-6f537797.entry.js → p-1a37d63c.entry.js} +1 -1
  330. package/dist/vega/{p-b622c455.js → p-1fa22fda.js} +1 -1
  331. package/dist/vega/{p-d609c3fd.js → p-2044eba9.js} +1 -1
  332. package/dist/vega/{p-56db3323.js → p-22edd3cc.js} +1 -1
  333. package/dist/vega/{p-5f96e741.entry.js → p-23c1f378.entry.js} +1 -1
  334. package/dist/vega/{p-6c95a6a3.js → p-2529820e.js} +1 -1
  335. package/dist/vega/{p-8d96f0e8.entry.js → p-2af1d8b8.entry.js} +1 -1
  336. package/dist/vega/{p-17c69503.entry.js → p-2f89ee14.entry.js} +1 -1
  337. package/dist/vega/{p-2bb5a232.js → p-3091b105.js} +1 -1
  338. package/dist/vega/{p-52c69f9e.entry.js → p-328ebbdb.entry.js} +1 -1
  339. package/dist/vega/p-35628af4.js +1 -0
  340. package/dist/vega/{p-9abf7d0a.entry.js → p-35d37477.entry.js} +1 -1
  341. package/dist/vega/{p-8c56d74d.entry.js → p-3a230d4b.entry.js} +1 -1
  342. package/dist/vega/{p-4bfe3258.entry.js → p-3c152bad.entry.js} +1 -1
  343. package/dist/vega/p-3c559c8b.js +1 -0
  344. package/dist/vega/{p-d470fce2.entry.js → p-3c8421d5.entry.js} +1 -1
  345. package/dist/vega/{p-7dcd2850.entry.js → p-4022412e.entry.js} +1 -1
  346. package/dist/vega/{p-c70748f7.entry.js → p-433b1395.entry.js} +1 -1
  347. package/dist/vega/{p-b98ead05.entry.js → p-4370b954.entry.js} +1 -1
  348. package/dist/vega/p-444e24c6.js +1 -0
  349. package/dist/vega/p-4473d8b1.js +3 -0
  350. package/dist/vega/{p-a484e32d.entry.js → p-44999c88.entry.js} +1 -1
  351. package/dist/vega/{p-f29ea345.entry.js → p-47a48329.entry.js} +1 -1
  352. package/dist/vega/{p-0cf3b5c1.entry.js → p-49d7cfed.entry.js} +1 -1
  353. package/dist/vega/{p-92528dc9.entry.js → p-4afd6715.entry.js} +1 -1
  354. package/dist/vega/{p-461100b8.entry.js → p-4f6aaac5.entry.js} +1 -1
  355. package/dist/vega/p-50eda925.js +1 -0
  356. package/dist/vega/{p-ae2abdfa.js → p-5110c84f.js} +1 -1
  357. package/dist/vega/{p-2a245138.entry.js → p-5147c30d.entry.js} +1 -1
  358. package/dist/vega/{p-874e5624.js → p-52878ea9.js} +1 -1
  359. package/dist/vega/{p-b00ec194.entry.js → p-55dc3053.entry.js} +1 -1
  360. package/dist/vega/p-5af312f8.js +1 -0
  361. package/dist/vega/{p-3e09aeed.js → p-5b3c8a56.js} +1 -1
  362. package/dist/vega/{p-2acf9b42.entry.js → p-5e9e04f3.entry.js} +1 -1
  363. package/dist/vega/p-5f377954.js +1 -1
  364. package/dist/vega/p-6493f13a.entry.js +1 -0
  365. package/dist/vega/{p-56598858.entry.js → p-6659c910.entry.js} +1 -1
  366. package/dist/vega/{p-95c18f79.entry.js → p-66728dd4.entry.js} +1 -1
  367. package/dist/vega/{p-4cbfc01e.entry.js → p-66a785d0.entry.js} +1 -1
  368. package/dist/vega/{p-36d9e782.entry.js → p-66fe8b4e.entry.js} +1 -1
  369. package/dist/vega/p-67e88cd7.entry.js +1 -0
  370. package/dist/vega/{p-456f678b.js → p-691bdc20.js} +1 -1
  371. package/dist/vega/{p-94975537.entry.js → p-6d6b4495.entry.js} +1 -1
  372. package/dist/vega/p-7754b10f.entry.js +1 -0
  373. package/dist/vega/{p-085d1647.entry.js → p-77fb3971.entry.js} +1 -1
  374. package/dist/vega/{p-544ce391.entry.js → p-7977352b.entry.js} +1 -1
  375. package/dist/vega/{p-a91927eb.entry.js → p-7b133734.entry.js} +1 -1
  376. package/dist/vega/p-7b84a943.entry.js +1 -0
  377. package/dist/vega/{p-02d3ce79.entry.js → p-840444c9.entry.js} +1 -1
  378. package/dist/vega/{p-3737b9e2.entry.js → p-860e76f5.entry.js} +1 -1
  379. package/dist/vega/{p-72fd17a1.entry.js → p-867cc602.entry.js} +1 -1
  380. package/dist/vega/p-8d2a9012.js +1 -0
  381. package/dist/vega/{p-7e8fdac4.js → p-8d4be607.js} +1 -1
  382. package/dist/vega/p-8d77c7cf.js +1 -0
  383. package/dist/vega/{p-4fd0cf01.js → p-8f3b93db.js} +1 -1
  384. package/dist/vega/{p-56417ec5.entry.js → p-944e284d.entry.js} +1 -1
  385. package/dist/vega/{p-6fd4f2c6.js → p-94b54a95.js} +1 -1
  386. package/dist/vega/p-9c2b3279.js +1 -0
  387. package/dist/vega/{p-ca3c1317.entry.js → p-9c5289dc.entry.js} +1 -1
  388. package/dist/vega/{p-810c9c29.js → p-9c9b0629.js} +1 -1
  389. package/dist/vega/{p-585e4f1c.entry.js → p-9c9ff871.entry.js} +1 -1
  390. package/dist/vega/{p-2f07d719.entry.js → p-9d90e271.entry.js} +1 -1
  391. package/dist/vega/{p-d319ebb5.js → p-9e9f49f4.js} +1 -1
  392. package/dist/vega/{p-dcd3e3a7.js → p-a1f220ca.js} +1 -1
  393. package/dist/vega/{p-035e2f05.entry.js → p-a4360b7e.entry.js} +1 -1
  394. package/dist/vega/{p-6d4518d7.entry.js → p-a7517760.entry.js} +1 -1
  395. package/dist/vega/{p-c5fb8a69.entry.js → p-aa433430.entry.js} +1 -1
  396. package/dist/vega/{p-1cff027b.entry.js → p-aa914dbd.entry.js} +1 -1
  397. package/dist/vega/{p-72ab5cd5.entry.js → p-b12de1bf.entry.js} +1 -1
  398. package/dist/vega/p-b21cc390.entry.js +1 -0
  399. package/dist/vega/{p-dbb4b1d1.js → p-b3c4943b.js} +1 -1
  400. package/dist/vega/{p-1aedbfd2.entry.js → p-ba6881da.entry.js} +1 -1
  401. package/dist/vega/{p-9834d5d4.entry.js → p-bd7725f7.entry.js} +1 -1
  402. package/dist/vega/{p-a090b2be.js → p-c348eaf5.js} +1 -1
  403. package/dist/vega/{p-ccbe3f1b.entry.js → p-c8ad7207.entry.js} +1 -1
  404. package/dist/vega/{p-b3733762.entry.js → p-c8fb3aac.entry.js} +1 -1
  405. package/dist/vega/p-cc569b54.js +1 -0
  406. package/dist/vega/{p-c98c2f5f.entry.js → p-ccbed811.entry.js} +1 -1
  407. package/dist/vega/{p-da867019.entry.js → p-ce82d6bb.entry.js} +1 -1
  408. package/dist/vega/{p-a81ad3bd.js → p-cede3535.js} +1 -1
  409. package/dist/vega/p-d35a31a5.entry.js +1 -0
  410. package/dist/vega/{p-ac94ba1b.entry.js → p-d4d90ce2.entry.js} +1 -1
  411. package/dist/vega/{p-cb81126a.entry.js → p-d6023dc0.entry.js} +1 -1
  412. package/dist/vega/{p-a8174ad8.entry.js → p-d62e618a.entry.js} +1 -1
  413. package/dist/vega/{p-1ea9ad9a.js → p-dd0bd78b.js} +1 -1
  414. package/dist/vega/{p-36d2df7a.entry.js → p-ded1ecc1.entry.js} +1 -1
  415. package/dist/vega/p-df63c2fb.entry.js +1 -0
  416. package/dist/vega/{p-c6d775b8.entry.js → p-e1a65e06.entry.js} +1 -1
  417. package/dist/vega/{p-39c5054b.js → p-e1c82ca9.js} +1 -1
  418. package/dist/vega/{p-f6c0e9e7.entry.js → p-e469ba27.entry.js} +1 -1
  419. package/dist/vega/{p-373541fa.js → p-e4c5cb4f.js} +1 -1
  420. package/dist/vega/{p-ec64cc59.entry.js → p-f0a0fc77.entry.js} +1 -1
  421. package/dist/vega/{p-12e8a1b2.js → p-f13b39d8.js} +1 -1
  422. package/dist/vega/{p-4e065ef7.entry.js → p-f2384411.entry.js} +1 -1
  423. package/dist/vega/{p-8d2501b2.js → p-f9a3805d.js} +1 -1
  424. package/dist/vega/{p-1e0a8fd3.js → p-fa5cd8b1.js} +1 -1
  425. package/dist/vega/{p-2c2e8615.js → p-fcb6b499.js} +1 -1
  426. package/dist/vega/vega.esm.js +1 -1
  427. package/package.json +1 -1
  428. package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-constants.js +0 -6
  429. package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-constants.d.ts +0 -6
  430. package/dist/vega/p-03eeadc1.entry.js +0 -1
  431. package/dist/vega/p-0eb29065.js +0 -3
  432. package/dist/vega/p-10d30c03.js +0 -1
  433. package/dist/vega/p-1250b1ab.entry.js +0 -1
  434. package/dist/vega/p-1abd3c17.js +0 -1
  435. package/dist/vega/p-2d158cbd.js +0 -1
  436. package/dist/vega/p-3d0b4074.js +0 -1
  437. package/dist/vega/p-56493601.js +0 -1
  438. package/dist/vega/p-571ec00b.js +0 -1
  439. package/dist/vega/p-5b1f5e4a.entry.js +0 -1
  440. package/dist/vega/p-6234852e.entry.js +0 -1
  441. package/dist/vega/p-781b7a54.js +0 -1
  442. package/dist/vega/p-cd69aeae.js +0 -1
  443. package/dist/vega/p-cfe268a8.entry.js +0 -1
  444. package/dist/vega/p-de8f0d98.js +0 -1
  445. package/dist/vega/p-f0e828d8.js +0 -1
  446. package/dist/vega/p-f62c5a20.entry.js +0 -1
  447. package/dist/vega/p-fa65956c.entry.js +0 -1
@@ -0,0 +1,29 @@
1
+ import { AbstractPasteProcessingStrategy } from './paste-processing-strategy.abstract';
2
+ /**
3
+ * Default paste processing strategy that acts as a fallback when no other
4
+ * strategy matches. This strategy always accepts the content and passes it
5
+ * through unchanged — the normal RTE paste pipeline (DOMParser +
6
+ * ElementToDtoStrategyProcessor) handles the rest.
7
+ */
8
+ export declare class DefaultPasteProcessingStrategy extends AbstractPasteProcessingStrategy {
9
+ /**
10
+ * Always matches as the terminal fallback strategy.
11
+ *
12
+ * @param {string} html Raw clipboard HTML.
13
+ * @returns {boolean} Always `true`.
14
+ */
15
+ canHandle(html: string): boolean;
16
+ /**
17
+ * Returns the original HTML unchanged.
18
+ *
19
+ * @param {string} html Raw clipboard HTML.
20
+ * @returns {string} Unchanged HTML.
21
+ */
22
+ process(html: string): string;
23
+ /**
24
+ * Fallback priority so other strategies can win when matched.
25
+ *
26
+ * @returns {number} Strategy priority.
27
+ */
28
+ get priority(): number;
29
+ }
@@ -0,0 +1,61 @@
1
+ export declare enum RTEPasteMode {
2
+ RICH = "rich",
3
+ WORD = "word"
4
+ }
5
+ /**
6
+ * Priority scale shared by all paste processing strategies.
7
+ */
8
+ export declare enum PasteProcessingStrategyPriority {
9
+ /** Fallback strategy used only when no specialized strategy matches. */
10
+ DEFAULT_FALLBACK = -1,
11
+ /** Baseline priority for generic strategies. */
12
+ BASE = 0,
13
+ /** Word strategy priority so it outranks generic strategies. */
14
+ WORD = 10
15
+ }
16
+ /**
17
+ * Abstract base class for paste processing strategies.
18
+ *
19
+ * Each strategy implements detection logic (`canHandle`) and transformation
20
+ * logic (`process`) for a specific clipboard source (Word, Google Docs, etc.).
21
+ * The strategy selector chooses the highest-priority strategy that can handle
22
+ * the given HTML.
23
+ */
24
+ export declare abstract class AbstractPasteProcessingStrategy {
25
+ /**
26
+ * Downstream paste mode marker associated with this strategy.
27
+ *
28
+ * Defaults to regular rich-text paste unless a specialized strategy overrides it.
29
+ *
30
+ * @returns {RTEPasteMode} Paste mode marker for downstream handlers.
31
+ */
32
+ get type(): RTEPasteMode;
33
+ /**
34
+ * Optional: Strategy priority when multiple strategies match.
35
+ * Higher numbers = higher priority. Default: 0.
36
+ *
37
+ * @returns {number} Strategy priority.
38
+ */
39
+ get priority(): number;
40
+ /**
41
+ * Whether pasted images from this source should be extracted into local
42
+ * previews by the paste extension after {@link process} runs.
43
+ *
44
+ * @returns {boolean} `false` unless a strategy opts into image processing.
45
+ */
46
+ get supportsImageProcessing(): boolean;
47
+ /**
48
+ * Detect whether this strategy should handle the given HTML content.
49
+ *
50
+ * @param html Raw clipboard HTML
51
+ * @returns true if this strategy should process the content
52
+ */
53
+ abstract canHandle(html: string): boolean;
54
+ /**
55
+ * Transform/sanitize the HTML content for this paste source.
56
+ *
57
+ * @param html Raw clipboard HTML
58
+ * @returns Processed HTML ready for the RTE pipeline
59
+ */
60
+ abstract process(html: string): string;
61
+ }
@@ -0,0 +1,45 @@
1
+ import { AbstractPasteProcessingStrategy } from './paste-processing-strategy.abstract';
2
+ import { RTEPasteMode } from './paste-processing-strategy.abstract';
3
+ /**
4
+ * Centralized selector for paste processing strategies.
5
+ *
6
+ * Maintains a registry of available strategies and selects the highest-priority
7
+ * strategy that can handle the given clipboard HTML. Provides an extension
8
+ * point for adding support for new clipboard sources (e.g., Google Docs, Notion)
9
+ * without modifying the paste extension core logic.
10
+ */
11
+ export declare class PasteStrategySelector {
12
+ private readonly defaultStrategy;
13
+ private strategies;
14
+ /**
15
+ * Select the appropriate strategy for the given HTML content.
16
+ * Returns the highest-priority strategy that can handle the content.
17
+ *
18
+ * @param {string} html Raw clipboard HTML.
19
+ * @returns {AbstractPasteProcessingStrategy} The selected strategy (always returns a strategy; default is the fallback).
20
+ */
21
+ selectStrategy(html: string): AbstractPasteProcessingStrategy;
22
+ /**
23
+ * Selects the highest-priority registered strategy for an explicitly chosen paste mode.
24
+ *
25
+ * Used when the user manually chooses a non-default mode from the paste chooser.
26
+ *
27
+ * @param {RTEPasteMode} type Explicit paste mode selected by the user.
28
+ * @returns {AbstractPasteProcessingStrategy} The matching strategy or the default fallback.
29
+ */
30
+ selectStrategyByType(type: RTEPasteMode): AbstractPasteProcessingStrategy;
31
+ /**
32
+ * Register a new paste processing strategy.
33
+ * Useful for future extensions (e.g., GoogleDocsPasteStrategy).
34
+ *
35
+ * @param {AbstractPasteProcessingStrategy} strategy The strategy to register.
36
+ */
37
+ registerStrategy(strategy: AbstractPasteProcessingStrategy): void;
38
+ /**
39
+ * Returns the highest-priority strategy from a candidate set or the default fallback.
40
+ *
41
+ * @param {AbstractPasteProcessingStrategy[]} strategies Candidate strategies.
42
+ * @returns {AbstractPasteProcessingStrategy} Selected strategy.
43
+ */
44
+ private selectHighestPriorityStrategy;
45
+ }
@@ -0,0 +1,186 @@
1
+ import { AbstractPasteProcessingStrategy, RTEPasteMode } from './paste-processing-strategy.abstract';
2
+ import { WordStructureTransformer } from '../word-paste-transformers/word-structure-transformer';
3
+ /**
4
+ * Dynamic allowlist configuration for the Word paste sanitizer. Every rule is
5
+ * data-driven so the supported surface can grow per requirement without touching
6
+ * the sanitizer algorithm.
7
+ */
8
+ export declare type WordSanitizeConfig = {
9
+ /** Allowed HTML tag names (upper case). */
10
+ allowedTags: string[];
11
+ /**
12
+ * Attribute names allowed per tag (upper case key). Use
13
+ * {@link WORD_SANITIZE_ALL_TAGS_KEY} for attributes allowed on every tag.
14
+ */
15
+ allowedAttributes: Record<string, string[]>;
16
+ /**
17
+ * CSS property **prefixes** to preserve. A property is kept if its canonical
18
+ * name (lower-case) starts with any prefix in this list; all others
19
+ * (including `mso-*` Word artifacts) are stripped.
20
+ *
21
+ * Examples:
22
+ * - `'margin'` keeps `margin`, `margin-left`, `margin-right`, etc.
23
+ * - `'background'` keeps `background`, `background-color`, etc.
24
+ * - `'text-align'` keeps only `text-align` (exact match when no variants).
25
+ */
26
+ allowedStylePrefixes: string[];
27
+ };
28
+ /**
29
+ * Default Word transformers. Sanitizer allowlist is aggregated from these
30
+ * transformer contracts so adding a new transformer automatically extends the
31
+ * allowlist surface.
32
+ */
33
+ export declare const WORD_STRUCTURE_TRANSFORMERS: WordStructureTransformer[];
34
+ /**
35
+ * Default sanitizer allowlist aggregated from
36
+ * {@link WORD_STRUCTURE_TRANSFORMERS}. Exported so tests and callers can still
37
+ * provide stable overrides.
38
+ */
39
+ export declare const WORD_SANITIZE_CONFIG: WordSanitizeConfig;
40
+ /**
41
+ * Pre processes raw Word/Office clipboard HTML into clean, RTE-friendly HTML.
42
+ *
43
+ * The pipeline mirrors the two-phase design of the source Word cleaner:
44
+ * 1. Structure fixing — maps Word paragraph styles onto RTE text styles and
45
+ * drops Word list marker artifacts.
46
+ * 2. Dynamic allowlist sanitizing — recursively strips disallowed tags,
47
+ * attributes and inline style declarations while keeping inner content.
48
+ */
49
+ export declare class WordPasteProcessingStrategy extends AbstractPasteProcessingStrategy {
50
+ /**
51
+ * Ordered list of structure transformers applied in Phase 1 before allowlist
52
+ * sanitization. To add support for a new node type (table, image, list…),
53
+ * create a class that implements {@link WordStructureTransformer} and append
54
+ * it here — no other changes to the pipeline are needed.
55
+ */
56
+ static readonly STRUCTURE_TRANSFORMERS: WordStructureTransformer[];
57
+ /**
58
+ * Signatures that identify clipboard HTML produced by Microsoft Word / Office.
59
+ * Any single match is enough to treat the payload as Word content because
60
+ * these markers do not appear in ordinary web or plain rich-text clipboards.
61
+ */
62
+ private static readonly WORD_SIGNATURE_PATTERNS;
63
+ /**
64
+ * Downstream paste mode marker for Word-specific processing.
65
+ *
66
+ * @returns {RTEPasteMode} `word` so downstream handlers preserve Word annotations.
67
+ */
68
+ get type(): RTEPasteMode;
69
+ /**
70
+ * Detects whether raw clipboard HTML originated from Microsoft Word / Office.
71
+ *
72
+ * Used to auto-route a normal "rich text" paste through the Word cleaning
73
+ * pipeline when the source is actually Word, so users get correct formatting
74
+ * without having to explicitly pick the Word paste option.
75
+ *
76
+ * @param {string} html Raw `text/html` clipboard payload.
77
+ * @returns {boolean} `true` when the HTML carries Word/Office signatures.
78
+ */
79
+ canHandle(html: string): boolean;
80
+ /**
81
+ * Returns the priority of this strategy relative to others; higher values run first.
82
+ *
83
+ * @returns {number} The priority value.
84
+ */
85
+ get priority(): number;
86
+ /**
87
+ * Whether this strategy extracts pasted images and produces local previews.
88
+ *
89
+ * @returns {boolean} Always `true`; Word paste swaps `file://` images to previews.
90
+ */
91
+ get supportsImageProcessing(): boolean;
92
+ /**
93
+ * Cleans raw Word clipboard HTML so it can flow through the normal RTE paste
94
+ * pipeline.
95
+ *
96
+ * @param {string} html Raw `text/html` clipboard payload from Word.
97
+ * @param {WordSanitizeConfig} [config] Optional allowlist override.
98
+ * @returns {string} Sanitized HTML string.
99
+ */
100
+ process(html: string, config?: WordSanitizeConfig): string;
101
+ /**
102
+ * Removes Office XML comments and down-level conditional markup that would
103
+ * otherwise confuse `DOMParser`.
104
+ *
105
+ * @param {string} html Raw HTML string.
106
+ * @returns {string} HTML without Word comment blocks.
107
+ */
108
+ private stripWordComments;
109
+ /**
110
+ * First phase: repairs Word-specific structure so it aligns with RTE text
111
+ * styles before the allowlist pass runs.
112
+ *
113
+ * @param {HTMLElement} root Parsed body element.
114
+ */
115
+ private fixWordStructure;
116
+ /**
117
+ * Removes the whitespace-only text nodes Word emits directly between block
118
+ * elements (the `\n\n` at the top level of the fragment). After the allowlist
119
+ * pass, disallowed containers are already unwrapped, so any remaining
120
+ * top-level text node that is pure whitespace is an inter-block artifact.
121
+ * Whitespace inside inline/text elements is left untouched.
122
+ *
123
+ * @param {HTMLElement} root Parsed body element.
124
+ */
125
+ private removeInterBlockWhitespace;
126
+ /**
127
+ * Collapses insignificant ASCII whitespace inside text nodes the way a
128
+ * browser would when rendering. Word wraps long runs of text across multiple
129
+ * source lines, so a single logical line such as "Number list 1" arrives as
130
+ * "Number\nlist 1"; without normalization the newline surfaces as a spurious
131
+ * line break in the editor. Non-breaking spaces (`\u00A0`) are left untouched
132
+ * so intentional Word spacing and blank lines survive.
133
+ *
134
+ * @param {Node} node Node whose text descendants are normalized in place.
135
+ */
136
+ private collapseInsignificantWhitespace;
137
+ /**
138
+ * Preserves intentional blank lines authored in Word (empty paragraphs whose
139
+ * only content is a non-breaking space). The downstream paste pipeline drops
140
+ * any block whose text content trims to empty, and `trim()` also removes a
141
+ * non-breaking space; replacing the content with a zero-width space keeps the
142
+ * blank line because it survives `trim()` while still rendering as empty.
143
+ *
144
+ * @param {HTMLElement} root Parsed body element.
145
+ */
146
+ private preserveWordEmptyLines;
147
+ /**
148
+ * Second phase: recursively enforces the dynamic allowlist on a node tree.
149
+ *
150
+ * @param {Node} node Node to sanitize in place.
151
+ * @param {WordSanitizeConfig} config Active allowlist configuration.
152
+ */
153
+ private sanitizeNode;
154
+ /**
155
+ * Removes disallowed attributes and filters style declarations.
156
+ *
157
+ * @param {Element} element Element being sanitized.
158
+ * @param {string} tagName Upper-case tag name.
159
+ * @param {WordSanitizeConfig} config Active sanitize configuration.
160
+ */
161
+ private sanitizeAttributes;
162
+ /**
163
+ * Filters CSS declarations inside a preserved style attribute: keeps only
164
+ * properties matching a prefix in {@link WordSanitizeConfig.allowedStylePrefixes};
165
+ * all others (including `mso-*` Word artifacts) are stripped.
166
+ *
167
+ * @param {Element} element Element owning the style attribute.
168
+ * @param {string} attrName Preserved style attribute name.
169
+ * @param {WordSanitizeConfig} config Active sanitize configuration.
170
+ */
171
+ private sanitizeStyleAttribute;
172
+ /**
173
+ * Converts preserved `data-style` attributes back to `style` in the final
174
+ * HTML string so downstream paste handling receives standard markup.
175
+ *
176
+ * @param {string} html Serialized sanitized HTML.
177
+ * @returns {string} HTML with `style` attributes restored.
178
+ */
179
+ private restoreStyleAttributeName;
180
+ /**
181
+ * Removes the element from its parent node if it has one.
182
+ *
183
+ * @param {Node | Element} elementToBeRemoved The element to be removed from the DOM.
184
+ */
185
+ private removeSelf;
186
+ }
@@ -0,0 +1,51 @@
1
+ import { WordStructureTransformer } from './word-structure-transformer';
2
+ /**
3
+ * Normalizes pasted `<pre>` nodes so they can be parsed as RTE code blocks.
4
+ *
5
+ * The RTE recognizes a code block only when `data-language` is present on
6
+ * `<pre>`. Word-exported snippets commonly use plain `<pre>` with no
7
+ * language metadata, so this transformer adds a default language and copies any
8
+ * detectable language hint from nested code markup when available.
9
+ */
10
+ export declare class WordCodeBlockTransformer implements WordStructureTransformer {
11
+ /**
12
+ * Determines whether a node is a code block whose whitespace must be preserved.
13
+ *
14
+ * @param {Node} node Node to inspect.
15
+ * @returns {boolean} `true` when the node is a `<pre>` element.
16
+ */
17
+ static isCodeBlock(node: Node): boolean;
18
+ /** @inheritDoc */
19
+ apply(root: HTMLElement): void;
20
+ /** @inheritDoc */
21
+ getAllowedTags(): string[];
22
+ /** @inheritDoc */
23
+ getAllowedAttributes(): Map<string, string[]>;
24
+ /** @inheritDoc */
25
+ getAllowedStyles(): string[];
26
+ /**
27
+ * Resolves code language metadata from `<pre>` class hints, falling back to
28
+ * {@link DEFAULT_CODE_LANGUAGE}.
29
+ *
30
+ * `apply()` only invokes this method when the `<pre>` has no
31
+ * `data-language` attribute, so class-based inference is the only source
32
+ * this method needs to consult.
33
+ *
34
+ * @param {HTMLElement} preElement Source `<pre>` element.
35
+ * @returns {string} Resolved language id or `plainText` fallback.
36
+ */
37
+ private resolveLanguage;
38
+ /**
39
+ * Extracts a language id from class names like `language-js` or `lang-ts`.
40
+ *
41
+ * @param {HTMLElement} preElement Source `<pre>` element.
42
+ * @returns {string} Extracted language id or empty string.
43
+ */
44
+ private resolveLanguageFromClassName;
45
+ /**
46
+ * Removes Word-only `Mso*` class names and keeps any non-Word classes.
47
+ *
48
+ * @param {HTMLElement} preElement Source `<pre>` element.
49
+ */
50
+ private stripWordClassArtifacts;
51
+ }
@@ -0,0 +1,86 @@
1
+ import { WordStructureTransformer } from './word-structure-transformer';
2
+ /**
3
+ * Normalizes Word image markup into plain <img> tags, drops list-marker images,
4
+ * and optionally remaps image source paths.
5
+ */
6
+ export declare class WordImageTransformer implements WordStructureTransformer {
7
+ /** @inheritDoc */
8
+ getAllowedTags(): string[];
9
+ /** @inheritDoc */
10
+ getAllowedAttributes(): Map<string, string[]>;
11
+ /** @inheritDoc */
12
+ getAllowedStyles(): string[];
13
+ /** @inheritDoc */
14
+ apply(root: HTMLElement): void;
15
+ /**
16
+ * Lifts images out of text-style blocks (`h1`-`h6`, Word title / subtitle
17
+ * paragraphs) so they become standalone top-level images.
18
+ *
19
+ * The RTE data model represents these blocks as text blocks whose children
20
+ * are text nodes only, so an `<img>` nested inside one has no text-node
21
+ * representation and would be silently dropped during DTO conversion. Moving
22
+ * each image to a sibling position right after its block lets the downstream
23
+ * image-block strategies pick it up. Images are re-inserted in document order
24
+ * so they stay aligned with the RTF files paired later.
25
+ *
26
+ * Word title / subtitle paragraphs still carry their raw `MsoTitle` /
27
+ * `MsoSubtitle` class here because {@link WordParagraphRoleTransformer} runs
28
+ * after this transformer.
29
+ *
30
+ * @param {HTMLElement} root Parsed Word fragment root.
31
+ */
32
+ private liftImagesOutOfTextStyleBlocks;
33
+ /**
34
+ * Reports whether a block hosts its images as text-only children, requiring
35
+ * nested images to be lifted out: any heading (`h1`-`h6`) or a Word title /
36
+ * subtitle paragraph.
37
+ *
38
+ * @param {HTMLElement} element Candidate block element.
39
+ * @returns {boolean} `true` when nested images must be lifted out of the block.
40
+ */
41
+ private isImageLiftTargetBlock;
42
+ /**
43
+ * Converts Word VML `v:imagedata` elements to plain `<img>` elements.
44
+ *
45
+ * @param {HTMLElement} root Parsed Word fragment root.
46
+ */
47
+ private normalizeWordImageDataElements;
48
+ /**
49
+ * Removes non-VML fallback images that reference a specific Word VML shape id.
50
+ *
51
+ * Word clipboard HTML often includes both `v:imagedata` and an `<img v:shapes="...">`
52
+ * fallback for the same visual image. Once VML is normalized, the fallback must
53
+ * be removed to avoid duplicated image handling.
54
+ *
55
+ * @param {HTMLElement} root Parsed Word fragment root.
56
+ * @param {string} shapeId VML shape id referenced by fallback images.
57
+ */
58
+ private removeFallbackImagesForShapeId;
59
+ /**
60
+ * Removes list-marker images and sourceless `<img>` elements.
61
+ *
62
+ * @param {HTMLElement} root Parsed Word fragment root.
63
+ */
64
+ private normalizeStandardImages;
65
+ /**
66
+ * Inserts an empty `<span> </span>` between adjacent images to avoid
67
+ * downstream image-block parsing treating a compact image run as a single image.
68
+ *
69
+ * @param {HTMLElement} root Parsed Word fragment root.
70
+ */
71
+ private insertSpanBetweenAdjacentImages;
72
+ /**
73
+ * Currently the RTE does not support list images, so they must be removed from the paste content.
74
+ * Local (file://) list images are kept as placeholders here and removed later during preview pairing
75
+ * so the local images stay aligned with the RTF images; non-local list images are removed immediately.
76
+ * Returns true when the image is part of list content and should be ignored.
77
+ *
78
+ * Word list markup (`MsoListParagraph` / `mso-list`) is already normalized into
79
+ * real `li/ul/ol` by {@link WordListRoleTransformer}, which runs before this
80
+ * transformer, so a plain list-ancestor check is sufficient here.
81
+ *
82
+ * @param {Element} element Image element (or its wrapper).
83
+ * @returns {boolean} Whether this image belongs to list content.
84
+ */
85
+ private isListImage;
86
+ }