@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,70 @@
1
+ import { SanitizeStrategy } from '../core/sanitize-strategy';
2
+ /**
3
+ * Plain text sanitization strategy.
4
+ *
5
+ * Strips all HTML elements while preserving text content.
6
+ */
7
+ export class PlainTextSanitizeStrategy extends SanitizeStrategy {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.allowedTags = new Set();
11
+ this.preserveTextContent = true;
12
+ }
13
+ /**
14
+ * Sanitizes a node, flattening any embedded markup that appears inside decoded text nodes.
15
+ *
16
+ * @param {Node} node - Node to sanitize.
17
+ * @param {Document} doc - Document reference used to create safe nodes.
18
+ * @returns {Nullable<Node>} Sanitized node or null when removed.
19
+ */
20
+ execute(node, doc) {
21
+ var _a;
22
+ if (node.nodeType === Node.TEXT_NODE) {
23
+ return this.sanitizeTextNode((_a = node.textContent) !== null && _a !== void 0 ? _a : '', doc);
24
+ }
25
+ return super.execute(node, doc);
26
+ }
27
+ /**
28
+ * Drops script/style nodes entirely, including their text contents.
29
+ *
30
+ * @param {HTMLElement} element - Element node to sanitize.
31
+ * @param {Document} doc - Document reference used to create safe nodes.
32
+ * @returns {Nullable<Node>} Sanitized node or null when removed.
33
+ */
34
+ sanitizeElement(element, doc) {
35
+ const tagName = element.tagName;
36
+ if (tagName === 'SCRIPT' || tagName === 'STYLE') {
37
+ return null;
38
+ }
39
+ return super.sanitizeElement(element, doc);
40
+ }
41
+ /**
42
+ * Sanitizes decoded text content that may itself contain embedded markup.
43
+ *
44
+ * @param {string} textContent - Text content to sanitize.
45
+ * @param {Document} doc - Document reference used to create safe nodes.
46
+ * @returns {Nullable<Node>} Plain text node/fragment or null when removed.
47
+ */
48
+ sanitizeTextNode(textContent, doc) {
49
+ if (!this.preserveTextContent) {
50
+ return null;
51
+ }
52
+ if (!textContent.includes('<') || !textContent.includes('>')) {
53
+ return doc.createTextNode(textContent);
54
+ }
55
+ const parser = new DOMParser();
56
+ const parsed = parser.parseFromString(textContent, 'text/html');
57
+ const fragment = doc.createDocumentFragment();
58
+ const hasElementNodes = Array.from(parsed.body.childNodes).some((child) => child.nodeType === Node.ELEMENT_NODE);
59
+ if (!hasElementNodes) {
60
+ return doc.createTextNode(textContent);
61
+ }
62
+ parsed.body.childNodes.forEach((child) => {
63
+ const clean = this.execute(child, doc);
64
+ if (clean) {
65
+ fragment.appendChild(clean);
66
+ }
67
+ });
68
+ return fragment;
69
+ }
70
+ }
@@ -1,4 +1,4 @@
1
- import { L as LightModeColorTokens, b as VegaColorSchemaOverridingController } from './dark-mode-style-controller-ca5afd2d.js';
1
+ import { L as LightModeColorTokens, b as VegaColorSchemaOverridingController } from './dark-mode-style-controller-352f15ff.js';
2
2
  import './static-subject-title-1c86e974.js';
3
3
  import './change-manager-6a7eb88c.js';
4
4
  import './global-slimmer-registry-17c4efd4.js';
@@ -6,7 +6,7 @@ import './observer-3959f9dd.js';
6
6
  import './tinycolor-polyfill-7be0eb93.js';
7
7
  import './vega-nonce-manager-497e5eb5.js';
8
8
  import './try-get-document-bef0f526.js';
9
- import './index-3b327f29.js';
9
+ import './index-35451d12.js';
10
10
 
11
11
  // Self-contained hex-color validation: this package is consumed by vega-stencil
12
12
  // (which has its own `isValidHexColor` in `utils/ui.ts`), but we cannot import
@@ -1,23 +1,23 @@
1
1
  import { F as FeatureFlag } from './feature-flag-controller-3fd04ea9.js';
2
- import { V as VegaLoader, a as VegaNotify, b as VegaEventManager, c as VegaZIndexManager, w as waitForVega, d as VegaSkeletonLoader, e as VegaTranslation, f as VegaRTETokenExtension, g as VegaRTELanguageExtension, h as VegaRTEDefaultLineHeightOptions, i as VegaRTEFunctionExtension, j as VegaRTETableExtension, k as VegaRTEHorizontalLineExtension, l as VegaRTEBlockquoteExtension, m as VegaRTESpecialCharactersExtension, n as VegaRTEFindReplaceExtension, o as VegaRTESpecialCharactersEssentials, p as VegaRTESpecialCharactersLatin, q as VegaRTESpecialCharactersMathematical, r as VegaRTESpecialCharactersArrows, s as VegaRTESpecialCharactersCurrency, t as VegaRTESpecialCharactersText, u as VegaRTELineHeightExtension, v as VegaRTEPasteExtension, x as VegaRTEFullscreenExtension, y as VegaRTECopyExtension, z as VegaRTECutExtension, A as VegaCalendarPeriodFactory } from './token-extension-f2d009e3.js';
3
- import { V as VegaThemeManager } from './split-cell-operation-1c8e7585.js';
2
+ import { V as VegaLoader, a as VegaNotify, b as VegaEventManager, c as VegaZIndexManager, w as waitForVega, d as VegaSkeletonLoader, e as VegaTranslation, f as VegaRTETokenExtension, g as VegaRTELanguageExtension, h as VegaRTEDefaultLineHeightOptions, i as VegaRTEFunctionExtension, j as VegaRTETableExtension, k as VegaRTEHorizontalLineExtension, l as VegaRTEBlockquoteExtension, m as VegaRTESpecialCharactersExtension, n as VegaRTEFindReplaceExtension, o as VegaRTESpecialCharactersEssentials, p as VegaRTESpecialCharactersLatin, q as VegaRTESpecialCharactersMathematical, r as VegaRTESpecialCharactersArrows, s as VegaRTESpecialCharactersCurrency, t as VegaRTESpecialCharactersText, u as VegaRTELineHeightExtension, v as VegaRTEPasteExtension, x as VegaRTEFullscreenExtension, y as VegaRTECopyExtension, z as VegaRTECutExtension, A as VegaCalendarPeriodFactory } from './token-extension-74a0eeb1.js';
3
+ import { V as VegaThemeManager } from './split-cell-operation-89b91a38.js';
4
4
  import { M as MapToComponentMethod, V as VegaSlimmer, s as setVegaLogLevel, G as GlobalSlimmersRegistry } from './global-slimmer-registry-17c4efd4.js';
5
5
  import { V as VegaDialog } from './vega-dialog-controller-726b74f9.js';
6
6
  import { T as TypographyUrls } from './typography-19c3b9be.js';
7
7
  import { V as VegaIconManager } from './icon-manager-4ef3f6dd.js';
8
- import { V as VegaInternalTranslation, s as staticTranslations } from './internal-translation-controller-fac22598.js';
9
- import { V as ValidCreditCardNumberRule } from './valid-credit-card-number-rule-60212b1d.js';
8
+ import { V as VegaInternalTranslation, s as staticTranslations } from './internal-translation-controller-b33430c6.js';
9
+ import { V as ValidCreditCardNumberRule } from './valid-credit-card-number-rule-b54a31e7.js';
10
10
  import { v as vegaEnvManager } from './vega-env-manager-8f8dc473.js';
11
11
  import { U as UPDATE_TRANSLATION } from './static-subject-title-1c86e974.js';
12
12
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
13
13
  import { O as Observer } from './observer-3959f9dd.js';
14
14
  import { f as forceUpdate } from './index-090d31ca.js';
15
- import { V as VegaRTEContent } from './content-state-25c81c08.js';
15
+ import { V as VegaRTEContent } from './content-state-43cdacff.js';
16
16
  import { v as vegaNonceManager, s as setVegaNonce } from './vega-nonce-manager-497e5eb5.js';
17
- import { V as VegaRTEPresetToolbarItems } from './code-block-9c513169.js';
18
- import { V as VegaRTELinkExtension } from './link-extension-e8ee103e.js';
19
- import './type-guard-f2624334.js';
20
- import { V as VegaRTEImageExtension } from './image-extension-fbd1ed6e.js';
17
+ import { V as VegaRTEPresetToolbarItems } from './code-block-e6443949.js';
18
+ import { V as VegaRTELinkExtension } from './link-extension-230bae8d.js';
19
+ import './type-guard-6fc96870.js';
20
+ import { V as VegaRTEImageExtension } from './image-extension-9b8abd0d.js';
21
21
 
22
22
  var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
23
23
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -424,7 +424,7 @@ function injectVegaCalendarPeriodFactoryIntoGlobal() {
424
424
  * Inject VegaPublicValidationRules to global as a public api
425
425
  */
426
426
  function injectVegaPublicValidationRules() {
427
- void import('./public-rules-49de79c7.js').then((module) => {
427
+ void import('./public-rules-28ef32d3.js').then((module) => {
428
428
  Object.entries(module).forEach(([name, value]) => {
429
429
  globalThis[name] = value;
430
430
  });
@@ -3,10 +3,10 @@ import { d as domNodeSubjectFactory } from './dom-node-subject-observer-factory-
3
3
  import { e as VegaInternalRichTextEditorFlushChanges, f as VegaInternalRichTextEditorSelectionRangeChange } from './vega-internal-event-id-86fce049.js';
4
4
  import { d as dashCaseToCamel, c as camelToDashCase } from './string-a953eafc.js';
5
5
  import { L as LogUtility } from './global-slimmer-registry-17c4efd4.js';
6
- import { i as isNonNullable } from './type-guard-f2624334.js';
6
+ import { i as isNonNullable } from './type-guard-6fc96870.js';
7
7
  import { T as TypographyUrls } from './typography-19c3b9be.js';
8
8
  import { g as generateUUID } from './misc-9fdbcfbb.js';
9
- import { V as VegaInternalThemeManager } from './dark-mode-style-controller-ca5afd2d.js';
9
+ import { V as VegaInternalThemeManager } from './dark-mode-style-controller-352f15ff.js';
10
10
  import { c as cleanObject } from './object-0c277f57.js';
11
11
  import { f as findParent } from './ui-d73f756a.js';
12
12
 
@@ -298,13 +298,16 @@ class RTEFilterStylesStrategy {
298
298
  return annotations;
299
299
  }
300
300
  /**
301
- * Filters and deletes the matched styles from the full styles object, add the corresponding class name if necessary, and returns the result.
301
+ * Filters and deletes matched styles from the full styles object, adds the corresponding class name if necessary, and returns the result.
302
302
  *
303
303
  * @param {RTEFilterStyles} fullStyles - The full set of styles to filter.
304
304
  * @param {string[]} classNames - The class names to consider.
305
+ * @param {RTEBlock | RTENode} [_blockOrNodeInstance] - The block or node the styles belong to. It is optional for strategies that only need styles and class names.
305
306
  * @returns {RTEFilterInlineStylesResult} The filtered styles and class names.
306
307
  */
307
- filterAndDeleteStyles(fullStyles, classNames) {
308
+ filterAndDeleteStyles(fullStyles, classNames,
309
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
310
+ _blockOrNodeInstance) {
308
311
  const classSet = new Set(classNames);
309
312
  const shouldAddClass = this.extractAndDeleteMatchedStyles(fullStyles);
310
313
  if (shouldAddClass && this.classNameToBeAdded) {
@@ -1411,6 +1414,7 @@ class RTEFilterStylesStrategyRegistry {
1411
1414
  * @param {RTEFilterStyles} styles - The full set of styles to filter.
1412
1415
  * @param {string[]} classNames - The class names to consider.
1413
1416
  * @returns {RTEFilterInlineStylesResult} The result of filtering, including the remaining styles and class names.
1417
+ * The instance is also passed to matched strategies so they can make decisions from DTO annotations.
1414
1418
  */
1415
1419
  static executeTheStrategyFilterAction(blockOrNodeInstance, styles, classNames) {
1416
1420
  const dtoClassName = blockOrNodeInstance.dtoName;
@@ -1419,7 +1423,7 @@ class RTEFilterStylesStrategyRegistry {
1419
1423
  return strategy.canFilter(blockOrNodeInstance);
1420
1424
  });
1421
1425
  return matchedStrategies.reduce((result, strategy) => {
1422
- return strategy.filterAndDeleteStyles(result.styles, result.classNames);
1426
+ return strategy.filterAndDeleteStyles(result.styles, result.classNames, blockOrNodeInstance);
1423
1427
  }, {
1424
1428
  styles,
1425
1429
  classNames,
@@ -1872,6 +1876,17 @@ class RTEBlock {
1872
1876
  }
1873
1877
  }
1874
1878
  }
1879
+ /**
1880
+ * Whether caret nearest-element detection may descend into this block's children.
1881
+ * Transparent wrappers (e.g. html-block) return true so the caret resolves to the
1882
+ * real inner node; atomic widgets like the table block return false so the caret
1883
+ * stays anchored to the block boundary.
1884
+ *
1885
+ * @returns {boolean} True when descending is allowed.
1886
+ */
1887
+ allowsCaretDescend() {
1888
+ return true;
1889
+ }
1875
1890
  /**
1876
1891
  * Get the first node of the block
1877
1892
  *
@@ -2413,6 +2428,22 @@ const VegaRTEOneRowHeightPx = 22;
2413
2428
  const RTE_DEFAULT_LINK_TYPE_KEY = 'url';
2414
2429
  const RTE_EMAIL_LINK_TYPE_KEY = 'email';
2415
2430
  const RTE_SUPPORTED_LINK_TYPE_KEYS = [RTE_DEFAULT_LINK_TYPE_KEY, RTE_EMAIL_LINK_TYPE_KEY];
2431
+ /**
2432
+ * Semantic marker used by renderers to identify elements that terminate
2433
+ * continue-inline grouping during HTML -> DTO conversion.
2434
+ */
2435
+ const RTE_BLOCK_BOUNDARY_ATTRIBUTE = 'data-vega-rte-block-boundary';
2436
+ /**
2437
+ * Custom DataTransfer MIME type used to tag a synthetic paste with the chosen
2438
+ * paste mode (e.g. 'rich' or 'plain'), so downstream paste handling can decide
2439
+ * whether to preserve the original inline styles.
2440
+ */
2441
+ const RTE_PASTE_MODE_DATA_TYPE = 'application/x-vega-rte-paste-mode';
2442
+ /**
2443
+ * Custom DataTransfer MIME type value used to indicate that the paste content
2444
+ * originated from Microsoft Word.
2445
+ */
2446
+ const RTE_PASTE_MODE_WORD = 'word';
2416
2447
 
2417
2448
  /**
2418
2449
  * Annotation to make text with text color
@@ -3783,12 +3814,13 @@ class AppendChildrenAction extends ModifyContentAction {
3783
3814
  }
3784
3815
  }
3785
3816
 
3817
+ const TEXT_STYLE_DEFAULT_FONT_WEIGHT = '500';
3786
3818
  const TEXT_STYLE_BASE = {
3787
3819
  fontFamily: 'Inter',
3788
3820
  fontSize: '16px',
3789
3821
  lineHeight: '22px',
3790
3822
  minHeight: '22px',
3791
- fontWeight: '500',
3823
+ fontWeight: TEXT_STYLE_DEFAULT_FONT_WEIGHT,
3792
3824
  };
3793
3825
  const PARAGRAPH_TEXT_STYLE = Object.assign(Object.assign({}, TEXT_STYLE_BASE), { marginTop: '0px', marginBottom: '0px' });
3794
3826
  const TEXT_STYLE_DEFAULTS = {
@@ -6769,4 +6801,4 @@ class RTECodeBlock extends RTEBlock {
6769
6801
  RTECodeBlock.CODE_BLOCK_PLACEHOLDER_CLASS_NAME = 'code-block-placeholder-element';
6770
6802
  RTECodeBlock.dtoName = 'RTECodeBlock';
6771
6803
 
6772
- export { RTEHtmlBlock as $, ActionHandleStrategyRegistry as A, BlockAnnotation as B, CommonAnnotationTypeEnum as C, BlockReplaceNodesStrategy as D, BlockUpdateHorizontalAlignmentStrategy as E, BlockDeleteNodeContentStrategy as F, RemoveChildrenStrategy as G, HorizontalAlignmentAnnotationAction as H, InsertChildrenAfterAction as I, RemoveNestListAction as J, ReplaceNestListAction as K, RTEListBlock as L, ModifyContentAction as M, NodeAnnotationTypeEnum as N, BOLD_FONT_WEIGHT_KEYWORD as O, BOLD_FONT_WEIGHT as P, createStyleMapFromElement as Q, RTETextNode as R, SplitBlockWithNodeAction as S, RTE_TEXT_COLORS as T, UpdateTextAction as U, VegaRTEPresetToolbarItems as V, RTE_DEFAULT_TEXT_COLOR as W, ITALIC_FONT_STYLE as X, STRIKETHROUGH_TEXT_DECORATION as Y, UNDERLINE_TEXT_DECORATION as Z, TextStyleAnnotation as _, RTEBlock as a, Predicate as a0, ListAnnotation as a1, HorizontalAlignmentAnnotation as a2, CodeAnnotation as a3, LinkFilterStylesStrategy as a4, CodeBlockFilterStylesStrategy as a5, CodeBlockNodeFilterStylesStrategy as a6, SyncUpSelectionAction as a7, ActionHandlerInterceptorRegistry as a8, CodeLanguage as a9, CustomClassAnnotation as aa, VegaRTEDefaultTextStyleItems as ab, ZERO_WIDTH_SPACE as ac, LinkAnnotationAction as ad, UpdateCodeBlockAction as ae, SelectionChangeAction as af, TextColorAnnotationAction as ag, VegaRTEOneRowHeightPx as ah, BoldAnnotationAction as ai, ItalicAnnotationAction as aj, UnderlineAnnotationAction as ak, TextStyleAnnotationAction as al, BoldAnnotation as am, BlockAnnotationTypeEnum as an, ClearFormattingAnnotationAction as ao, CodeAnnotationAction as ap, StrikethroughAnnotationAction as aq, IndentAnnotationAction as ar, TransformParagraphAction as as, escapeHtml as at, RTE_EMAIL_LINK_TYPE_KEY as au, RTE_DEFAULT_LINK_TYPE_KEY as av, RTE_SUPPORTED_LINK_TYPE_KEYS as aw, RTETextBlock as b, RTEAnnotationStyle as c, ActionHandleStrategy as d, AppendChildrenAction as e, RTENode as f, InsertChildrenBeforeAction as g, InternalAnnotationTypeEnum as h, ModifyContentActionType as i, AnnotationAction as j, RemoveChildrenAction as k, CustomAttributeAnnotation as l, RTEDTOClassManager$1 as m, RTEFilterStylesStrategy as n, RTEDecoratorNode as o, RTECodeBlock as p, RTEListItemBlock as q, RTECodeBlockNode as r, stateEntityRenderingRegistry as s, CustomStyleAnnotation as t, RTEFilterStylesStrategyRegistry as u, NodeAnnotation as v, NodeTypeEnum as w, CommonAnnotation as x, ReplaceChildNodesAction as y, BlockMergeNodesStrategy as z };
6804
+ export { STRIKETHROUGH_TEXT_DECORATION as $, ActionHandleStrategyRegistry as A, BlockAnnotation as B, CommonAnnotationTypeEnum as C, ReplaceChildNodesAction as D, BlockMergeNodesStrategy as E, BlockReplaceNodesStrategy as F, HorizontalAlignmentAnnotationAction as G, HTML_VOID_TAGS as H, InsertChildrenAfterAction as I, BlockUpdateHorizontalAlignmentStrategy as J, BlockDeleteNodeContentStrategy as K, RemoveChildrenStrategy as L, ModifyContentAction as M, NodeAnnotationTypeEnum as N, RemoveNestListAction as O, ReplaceNestListAction as P, RTEListBlock as Q, RTETextNode as R, SplitBlockWithNodeAction as S, BOLD_FONT_WEIGHT_KEYWORD as T, UpdateTextAction as U, VegaRTEPresetToolbarItems as V, BOLD_FONT_WEIGHT as W, createStyleMapFromElement as X, RTE_TEXT_COLORS as Y, RTE_DEFAULT_TEXT_COLOR as Z, ITALIC_FONT_STYLE as _, RTEBlock as a, UNDERLINE_TEXT_DECORATION as a0, TextStyleAnnotation as a1, RTEHtmlBlock as a2, Predicate as a3, ListAnnotation as a4, HorizontalAlignmentAnnotation as a5, CodeAnnotation as a6, TEXT_STYLE_DEFAULT_FONT_WEIGHT as a7, LinkFilterStylesStrategy as a8, CodeBlockFilterStylesStrategy as a9, RTE_DEFAULT_LINK_TYPE_KEY as aA, RTE_SUPPORTED_LINK_TYPE_KEYS as aB, CodeBlockNodeFilterStylesStrategy as aa, SyncUpSelectionAction as ab, ActionHandlerInterceptorRegistry as ac, CodeLanguage as ad, CustomClassAnnotation as ae, VegaRTEDefaultTextStyleItems as af, ZERO_WIDTH_SPACE as ag, LinkAnnotationAction as ah, UpdateCodeBlockAction as ai, SelectionChangeAction as aj, TextColorAnnotationAction as ak, VegaRTEOneRowHeightPx as al, BoldAnnotationAction as am, ItalicAnnotationAction as an, UnderlineAnnotationAction as ao, TextStyleAnnotationAction as ap, BoldAnnotation as aq, BlockAnnotationTypeEnum as ar, ClearFormattingAnnotationAction as as, CodeAnnotationAction as at, StrikethroughAnnotationAction as au, IndentAnnotationAction as av, TransformParagraphAction as aw, escapeHtml as ax, RTE_PASTE_MODE_WORD as ay, RTE_EMAIL_LINK_TYPE_KEY as az, RTETextBlock as b, RTE_BLOCK_BOUNDARY_ATTRIBUTE as c, RTEAnnotationStyle as d, ActionHandleStrategy as e, AppendChildrenAction as f, RTENode as g, InsertChildrenBeforeAction as h, InternalAnnotationTypeEnum as i, ModifyContentActionType as j, AnnotationAction as k, RemoveChildrenAction as l, CustomAttributeAnnotation as m, RTEDTOClassManager$1 as n, RTEFilterStylesStrategy as o, RTEDecoratorNode as p, RTECodeBlock as q, RTEListItemBlock as r, stateEntityRenderingRegistry as s, RTECodeBlockNode as t, CustomStyleAnnotation as u, RTEFilterStylesStrategyRegistry as v, RTE_PASTE_MODE_DATA_TYPE as w, NodeAnnotation as x, NodeTypeEnum as y, CommonAnnotation as z };
@@ -1,6 +1,6 @@
1
1
  import { c as MapToComponentField, M as MapToComponentMethod, V as VegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
2
2
  import { v as vegaNonceManager } from './vega-nonce-manager-497e5eb5.js';
3
- import { h as htmlSanitizer, s as styleSanitizeStrategy } from './index-3b327f29.js';
3
+ import { h as htmlSanitizer, s as styleSanitizeStrategy } from './index-35451d12.js';
4
4
 
5
5
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6
6
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1,15 +1,15 @@
1
1
  import { c as MapToComponentField, M as MapToComponentMethod } from './global-slimmer-registry-17c4efd4.js';
2
- import { r as RTECodeBlockNode, R as RTETextNode, ac as ZERO_WIDTH_SPACE, s as stateEntityRenderingRegistry, o as RTEDecoratorNode, f as RTENode, a as RTEBlock, af as SelectionChangeAction, h as InternalAnnotationTypeEnum, p as RTECodeBlock } from './code-block-9c513169.js';
2
+ import { t as RTECodeBlockNode, R as RTETextNode, ag as ZERO_WIDTH_SPACE, s as stateEntityRenderingRegistry, p as RTEDecoratorNode, g as RTENode, a as RTEBlock, aj as SelectionChangeAction, i as InternalAnnotationTypeEnum, q as RTECodeBlock } from './code-block-e6443949.js';
3
3
  import { d as debounce } from './timer-9321173b.js';
4
4
  import { g as getActiveElement } from './component-7d906393.js';
5
5
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
6
6
  import { d as domNodeSubjectFactory, D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-ddff8662.js';
7
7
  import { f as VegaInternalRichTextEditorSelectionRangeChange, c as VegaInternalUpdateRTECursorPosition } from './vega-internal-event-id-86fce049.js';
8
8
  import { O as Observer } from './observer-3959f9dd.js';
9
- import { R as RTERange } from './range-b678c693.js';
9
+ import { R as RTERange } from './range-efad2578.js';
10
10
  import { A as AutoRunWhenReRenderTaskQueueSlimmer } from './auto-run-when-re-render-task-queue-slimmer.abstract-27820d4c.js';
11
11
  import { i as isHTMLElement } from './ui-d73f756a.js';
12
- import { K as KeyboardManagerSlimmer } from './keyboard-manager-slimmer-1f7c8bfb.js';
12
+ import { K as KeyboardManagerSlimmer } from './keyboard-manager-slimmer-0517fc70.js';
13
13
 
14
14
  let processing = false;
15
15
  /**
@@ -652,21 +652,40 @@ class SelectionController extends AutoRunWhenReRenderTaskQueueSlimmer {
652
652
  * @returns {Nullable<FocusNodeRangeState>} - The detected element's range state or null if not found.
653
653
  */
654
654
  detectNearestElement(block, offset) {
655
+ // Atomic blocks (e.g. table) opt out of descent so the caret stays anchored to the
656
+ // block boundary — resolving into a cell would break paragraph insertion before/after.
657
+ if (!block.allowsCaretDescend()) {
658
+ return;
659
+ }
655
660
  if (block.children) {
656
661
  const currentNode = block.children[offset];
657
662
  const prevNode = block.children[offset - 1];
658
- if (currentNode && currentNode instanceof RTENode) {
663
+ // A nested block (e.g. an html-block's inner paragraph rendered with
664
+ // `display: contents`) can receive the caret at its own boundary, so descend
665
+ // into it to reach the real node — the start of the next block or the end of
666
+ // the previous one.
667
+ if (currentNode instanceof RTENode) {
659
668
  return {
660
669
  startNode: currentNode,
661
670
  startOffset: 0,
662
671
  };
663
672
  }
664
- else if (prevNode && prevNode instanceof RTENode) {
673
+ else if (currentNode instanceof RTEBlock) {
674
+ // Fall through to the previous node if descending yields nothing (e.g. an empty block).
675
+ const nested = this.detectNearestElement(currentNode, 0);
676
+ if (nested) {
677
+ return nested;
678
+ }
679
+ }
680
+ if (prevNode instanceof RTENode) {
665
681
  return {
666
682
  startNode: prevNode,
667
683
  startOffset: prevNode.getRangeEndOffset(),
668
684
  };
669
685
  }
686
+ else if (prevNode instanceof RTEBlock) {
687
+ return this.detectNearestElement(prevNode, prevNode.children.length);
688
+ }
670
689
  }
671
690
  }
672
691
  }
@@ -1,6 +1,6 @@
1
- import { d as ActionHandleStrategy, p as RTECodeBlock, g as InsertChildrenBeforeAction, k as RemoveChildrenAction, s as stateEntityRenderingRegistry, v as NodeAnnotation, N as NodeAnnotationTypeEnum, o as RTEDecoratorNode, w as NodeTypeEnum, x as CommonAnnotation, A as ActionHandleStrategyRegistry, j as AnnotationAction, i as ModifyContentActionType, y as ReplaceChildNodesAction, I as InsertChildrenAfterAction, e as AppendChildrenAction, M as ModifyContentAction, b as RTETextBlock, R as RTETextNode, S as SplitBlockWithNodeAction, a as RTEBlock, z as BlockMergeNodesStrategy, D as BlockReplaceNodesStrategy, H as HorizontalAlignmentAnnotationAction, E as BlockUpdateHorizontalAlignmentStrategy, F as BlockDeleteNodeContentStrategy, U as UpdateTextAction, G as RemoveChildrenStrategy, J as RemoveNestListAction, q as RTEListItemBlock, K as ReplaceNestListAction, L as RTEListBlock, O as BOLD_FONT_WEIGHT_KEYWORD, P as BOLD_FONT_WEIGHT, Q as createStyleMapFromElement, T as RTE_TEXT_COLORS, W as RTE_DEFAULT_TEXT_COLOR, X as ITALIC_FONT_STYLE, Y as STRIKETHROUGH_TEXT_DECORATION, Z as UNDERLINE_TEXT_DECORATION, u as RTEFilterStylesStrategyRegistry, _ as TextStyleAnnotation, $ as RTEHtmlBlock, n as RTEFilterStylesStrategy, a0 as Predicate$1, a1 as ListAnnotation, a2 as HorizontalAlignmentAnnotation, a3 as CodeAnnotation, m as RTEDTOClassManager, a4 as LinkFilterStylesStrategy, a5 as CodeBlockFilterStylesStrategy, r as RTECodeBlockNode, a6 as CodeBlockNodeFilterStylesStrategy, a7 as SyncUpSelectionAction } from './code-block-9c513169.js';
1
+ import { e as ActionHandleStrategy, q as RTECodeBlock, h as InsertChildrenBeforeAction, l as RemoveChildrenAction, s as stateEntityRenderingRegistry, x as NodeAnnotation, N as NodeAnnotationTypeEnum, p as RTEDecoratorNode, y as NodeTypeEnum, z as CommonAnnotation, A as ActionHandleStrategyRegistry, k as AnnotationAction, j as ModifyContentActionType, D as ReplaceChildNodesAction, I as InsertChildrenAfterAction, f as AppendChildrenAction, M as ModifyContentAction, b as RTETextBlock, R as RTETextNode, S as SplitBlockWithNodeAction, a as RTEBlock, E as BlockMergeNodesStrategy, F as BlockReplaceNodesStrategy, G as HorizontalAlignmentAnnotationAction, J as BlockUpdateHorizontalAlignmentStrategy, K as BlockDeleteNodeContentStrategy, U as UpdateTextAction, L as RemoveChildrenStrategy, O as RemoveNestListAction, r as RTEListItemBlock, P as ReplaceNestListAction, Q as RTEListBlock, T as BOLD_FONT_WEIGHT_KEYWORD, W as BOLD_FONT_WEIGHT, X as createStyleMapFromElement, Y as RTE_TEXT_COLORS, Z as RTE_DEFAULT_TEXT_COLOR, _ as ITALIC_FONT_STYLE, $ as STRIKETHROUGH_TEXT_DECORATION, a0 as UNDERLINE_TEXT_DECORATION, v as RTEFilterStylesStrategyRegistry, a1 as TextStyleAnnotation, a2 as RTEHtmlBlock, c as RTE_BLOCK_BOUNDARY_ATTRIBUTE, o as RTEFilterStylesStrategy, a3 as Predicate$1, a4 as ListAnnotation, a5 as HorizontalAlignmentAnnotation, a6 as CodeAnnotation, a7 as TEXT_STYLE_DEFAULT_FONT_WEIGHT, n as RTEDTOClassManager, a8 as LinkFilterStylesStrategy, a9 as CodeBlockFilterStylesStrategy, t as RTECodeBlockNode, aa as CodeBlockNodeFilterStylesStrategy, ab as SyncUpSelectionAction } from './code-block-e6443949.js';
2
2
  import { g as generateUUID } from './misc-9fdbcfbb.js';
3
- import { i as isNonNullable } from './type-guard-f2624334.js';
3
+ import { i as isNonNullable } from './type-guard-6fc96870.js';
4
4
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
5
5
  import { d as domNodeSubjectFactory } from './dom-node-subject-observer-factory-ddff8662.js';
6
6
  import { c as VegaInternalUpdateRTECursorPosition, d as VegaInternalRichTextEditDeleteSelectedNodes, e as VegaInternalRichTextEditorFlushChanges } from './vega-internal-event-id-86fce049.js';
@@ -1802,7 +1802,10 @@ class TextStyleAnnotationHandler extends AnnotationGeneratorStrategyAbstract {
1802
1802
  }
1803
1803
  /**
1804
1804
  * Get the node type of element. The element type is determined in the following
1805
- * order: "data-type" attribute, node name, font size and class name.
1805
+ * order: "data-type" attribute, class name, node name, font size.
1806
+ * Class name is checked before node name so that an explicit
1807
+ * `v-rte--text-style-*` marker (e.g. applied by the Word paste transformer)
1808
+ * takes precedence over the element's default tag-based role.
1806
1809
  *
1807
1810
  * @param {HTMLElement} element - element.
1808
1811
  * @returns {Nullable<VegaRTETextStyleType>} - node type.
@@ -1811,15 +1814,15 @@ class TextStyleAnnotationHandler extends AnnotationGeneratorStrategyAbstract {
1811
1814
  const byDataType = this.getElementTypeByDataType(element);
1812
1815
  if (byDataType)
1813
1816
  return byDataType;
1817
+ const byClassName = this.getElementTypeByClassName(element);
1818
+ if (byClassName)
1819
+ return byClassName;
1814
1820
  const byNodeName = this.getElementTypeByNodeName(element);
1815
1821
  if (byNodeName)
1816
1822
  return byNodeName;
1817
1823
  const byFontSize = this.getElementTypeByFontSize(element);
1818
1824
  if (byFontSize)
1819
1825
  return byFontSize;
1820
- const byClassName = this.getElementTypeByClassName(element);
1821
- if (byClassName)
1822
- return byClassName;
1823
1826
  return null;
1824
1827
  }
1825
1828
  /**
@@ -3302,6 +3305,8 @@ class ContinueInlineToRTETextBlockStrategy extends BlockToRTEBlockStrategyAbstra
3302
3305
  isInlineCandidate(element, options) {
3303
3306
  if (element.nodeType === Node.TEXT_NODE)
3304
3307
  return true;
3308
+ if (this.isBlockBoundaryElement(element, options))
3309
+ return false;
3305
3310
  if (ALWAYS_INLINE_TAGS.has(element.nodeName))
3306
3311
  return true;
3307
3312
  if (this.isDedicatedBlockTag(element.nodeName))
@@ -3310,6 +3315,20 @@ class ContinueInlineToRTETextBlockStrategy extends BlockToRTEBlockStrategyAbstra
3310
3315
  return true;
3311
3316
  return this.isInlineLeafOrWrapper(element);
3312
3317
  }
3318
+ /**
3319
+ * Check whether an element marks a block boundary.
3320
+ *
3321
+ * @param {HTMLElement} element - Element to inspect.
3322
+ * @param {VegaRTETransformOptions} options - Transformation options.
3323
+ * @returns {boolean} Whether the element is a boundary.
3324
+ */
3325
+ isBlockBoundaryElement(element, options) {
3326
+ var _a;
3327
+ if (element.hasAttribute(RTE_BLOCK_BOUNDARY_ATTRIBUTE)) {
3328
+ return true;
3329
+ }
3330
+ return !!((_a = options.blockBoundaryRegistry) === null || _a === void 0 ? void 0 : _a.isBoundary(element));
3331
+ }
3313
3332
  /**
3314
3333
  * Returns true when the tag has a dedicated block strategy (excludes inline annotation tags CODE and A).
3315
3334
  *
@@ -3876,8 +3895,13 @@ class TitleFilterStylesStrategy extends ParagraphFilterStylesStrategy {
3876
3895
  }
3877
3896
 
3878
3897
  /**
3879
- * The TitleHeadingNodeFilterStylesStrategy is responsible for filtering styles from text nodes that are children of title and heading blocks.
3880
- * In title and heading blocks, the text nodes will have a default bold style.
3898
+ * Filters the default bold style from text nodes inside title and heading blocks.
3899
+ * The source DTO distinguishes an explicitly non-bold node (`bold: false`) from
3900
+ * a node with no bold annotation, even though both initially produce no weight in `fullStyles`.
3901
+ *
3902
+ * Bold nodes keep the existing strip/refill behaviour. Default nodes without a bold annotation
3903
+ * remain bare for compatibility, while explicitly non-bold nodes receive the base weight so
3904
+ * source-mode refill does not restore bold (VD-9375).
3881
3905
  */
3882
3906
  class TitleHeadingNodeFilterStylesStrategy extends RTEFilterStylesStrategy {
3883
3907
  constructor() {
@@ -3904,6 +3928,19 @@ class TitleHeadingNodeFilterStylesStrategy extends RTEFilterStylesStrategy {
3904
3928
  filterAnnotations(annotations) {
3905
3929
  return annotations;
3906
3930
  }
3931
+ /**
3932
+ * Removes the default bold weight and preserves an explicit non-bold marker when needed.
3933
+ *
3934
+ * @inheritDoc
3935
+ */
3936
+ filterAndDeleteStyles(fullStyles, classNames, blockOrNodeInstance) {
3937
+ var _a;
3938
+ const result = super.filterAndDeleteStyles(fullStyles, classNames);
3939
+ if (this.isExplicitlyNonBold(blockOrNodeInstance) && ((_a = result.styles) === null || _a === void 0 ? void 0 : _a.fontWeight) === undefined) {
3940
+ result.styles = Object.assign(Object.assign({}, result.styles), { fontWeight: TitleHeadingNodeFilterStylesStrategy.NON_BOLD_FONT_WEIGHT });
3941
+ }
3942
+ return result;
3943
+ }
3907
3944
  /**
3908
3945
  * Determines whether the dto instance is text node and its parent block is a heading or title.
3909
3946
  *
@@ -3933,6 +3970,18 @@ class TitleHeadingNodeFilterStylesStrategy extends RTEFilterStylesStrategy {
3933
3970
  const selectors = this.parentElementSelectors.map((key) => `.${TitleHeadingNodeFilterStylesStrategy.RTE_CONTENT_CONTAINER_CLASS_NAME} ${key}`);
3934
3971
  return `${selectors.join(',')} { ${this.convertStylesMapToCssText()} }`;
3935
3972
  }
3973
+ /**
3974
+ * Checks the annotation rather than `fullStyles`, because both an explicit `bold: false` node and
3975
+ * a node without a bold annotation produce no font weight before this strategy runs.
3976
+ *
3977
+ * @param {RTEBlock | RTENode} [blockOrNodeInstance] - The block or node the styles belong to.
3978
+ * @returns {boolean} True when the node has a `bold: false` annotation.
3979
+ */
3980
+ isExplicitlyNonBold(blockOrNodeInstance) {
3981
+ var _a;
3982
+ const boldAnnotation = (_a = blockOrNodeInstance) === null || _a === void 0 ? void 0 : _a.getAnnotationByType(NodeAnnotationTypeEnum.BOLD);
3983
+ return (boldAnnotation === null || boldAnnotation === void 0 ? void 0 : boldAnnotation.bold) === false;
3984
+ }
3936
3985
  /**
3937
3986
  * Checks if the parent block of the given node instance is a heading or title.
3938
3987
  *
@@ -3971,6 +4020,8 @@ class TitleHeadingNodeFilterStylesStrategy extends RTEFilterStylesStrategy {
3971
4020
  TitleHeadingNodeFilterStylesStrategy.BOLD_STYLES = {
3972
4021
  fontWeight: '700',
3973
4022
  };
4023
+ /** Base weight used to preserve an explicitly non-bold title or heading node. */
4024
+ TitleHeadingNodeFilterStylesStrategy.NON_BOLD_FONT_WEIGHT = TEXT_STYLE_DEFAULT_FONT_WEIGHT;
3974
4025
  TitleHeadingNodeFilterStylesStrategy.NON_HEADING_TITLE_ELEMENT_TAGS = [
3975
4026
  'TD',
3976
4027
  'TH',
@@ -4623,4 +4674,4 @@ class VegaRTEContent {
4623
4674
  /** Minimize-safe type discriminator for VegaRTEContent. */
4624
4675
  VegaRTEContent.dtoName = 'VegaRTEContent';
4625
4676
 
4626
- export { AnnotationGeneratorStrategyAbstract as A, BlockToRTEBlockStrategyAbstract as B, ElementToDTOStrategy as E, InsertNewParagraphAction as I, MergeTwoBlocksNodesAction as M, PasteContentStrategy as P, RTEImageBlock as R, StylePreservator as S, UpdateCursorPositionAction as U, VegaRTEContent as V, InsertChildrenBeforeStrategy as a, RTEDTOActionStrategyManager$1 as b, ElementToDTOClassStrategyManager as c, RTEImageNode as d, ImageAnnotation as e, ElementToDtoStrategyProcessor$1 as f, htmlElementToAnnotationGenerator as h };
4677
+ export { AnnotationGeneratorStrategyAbstract as A, BlockToRTEBlockStrategyAbstract as B, ElementToDTOStrategy as E, HtmlBlockStrategy as H, InsertNewParagraphAction as I, MergeTwoBlocksNodesAction as M, PasteContentStrategy as P, RTEImageBlock as R, StylePreservator as S, UpdateCursorPositionAction as U, VegaRTEContent as V, InsertChildrenBeforeStrategy as a, RTEImageNode as b, RTEDTOActionStrategyManager$1 as c, ElementToDTOClassStrategyManager as d, ImageAnnotation as e, ElementToDtoStrategyProcessor$1 as f, htmlElementToAnnotationGenerator as h };
@@ -3,7 +3,7 @@ import { C as ChangeManager } from './change-manager-6a7eb88c.js';
3
3
  import { O as Observer } from './observer-3959f9dd.js';
4
4
  import { t as tinycolor } from './tinycolor-polyfill-7be0eb93.js';
5
5
  import { v as vegaNonceManager } from './vega-nonce-manager-497e5eb5.js';
6
- import { h as htmlSanitizer, s as styleSanitizeStrategy, e as emptySanitizeStrategy } from './index-3b327f29.js';
6
+ import { h as htmlSanitizer, s as styleSanitizeStrategy, e as emptySanitizeStrategy } from './index-35451d12.js';
7
7
 
8
8
  /* This file is generated by vega-design 2.0.80 */
9
9
  const DarkModeColorTokens$1 = {
@@ -2153,7 +2153,7 @@ class InternalThemeManager {
2153
2153
  * @returns {Promise<ActionColorAccessibilityResult>} Per-token contrast report with patches
2154
2154
  */
2155
2155
  async validateColorAccessibility(overrideColors) {
2156
- const validatorModule = await import('./action-color-accessibility-validator-ce55cb07.js');
2156
+ const validatorModule = await import('./action-color-accessibility-validator-08877515.js');
2157
2157
  return validatorModule.vegaAccessibilityValidator.validate(overrideColors);
2158
2158
  }
2159
2159
  /**
@@ -1,4 +1,4 @@
1
- import { U as isDateStr } from './type-guard-f2624334.js';
1
+ import { U as isDateStr } from './type-guard-6fc96870.js';
2
2
  import { I as InternalFormFieldValidationRule } from './internal-form-field-validation-rule.abstract-f5b6bdbf.js';
3
3
 
4
4
  /**
@@ -1,9 +1,9 @@
1
- import { m as StateBackgroundColorFormatter, n as isSpacingTokenType, o as isBorderRadiusTokenType, p as isBorderColorTokenType, q as isBackgroundColorTokenType, r as isTextColorTokenType, s as isBreakpointsTokenType, t as isShadowsTokenType, l as Spacing, u as isBorderStyleType, B as BorderRadius, c as Colors, j as Shadows, v as isTypographyTokenType } from './type-guard-f2624334.js';
1
+ import { m as StateBackgroundColorFormatter, n as isSpacingTokenType, o as isBorderRadiusTokenType, p as isBorderColorTokenType, q as isBackgroundColorTokenType, r as isTextColorTokenType, s as isBreakpointsTokenType, t as isShadowsTokenType, l as Spacing, u as isBorderStyleType, B as BorderRadius, c as Colors, j as Shadows, v as isTypographyTokenType } from './type-guard-6fc96870.js';
2
2
  import { B as Breakpoints } from './breakpoints-d9faf11c.js';
3
3
  import { L as LogUtility } from './global-slimmer-registry-17c4efd4.js';
4
- import { R as ResponsiveFormatFacade } from './responsive-format-facade-f19b601c.js';
4
+ import { R as ResponsiveFormatFacade } from './responsive-format-facade-dec87e46.js';
5
5
  import { a as TypographyKeys } from './typography-19c3b9be.js';
6
- import { S as StateBorderFormatter, a as StateShadowFormatter, b as StateBorderColorFormatter } from './state-border-formatter-bfda33aa.js';
6
+ import { S as StateBorderFormatter, a as StateShadowFormatter, b as StateBorderColorFormatter } from './state-border-formatter-1e900a2f.js';
7
7
  import { B as BorderStyle } from './ui-93922c59.js';
8
8
 
9
9
  /**
@@ -4,8 +4,8 @@ import { I as InternalVegaZIndexManager } from './internal-vega-z-index-manager-
4
4
  import { c as createDynamicSlimmer } from './dynamic-slimmer-90b8af32.js';
5
5
  import { P as PageResizeObserverSlimmer } from './page-resize-observer-slimmer-e24d36c5.js';
6
6
  import { A as Alignments, P as Placements } from './ui-93922c59.js';
7
- import { J as isTranslocationType, i as isNonNullable, a9 as isEATriggerStrategy } from './type-guard-f2624334.js';
8
- import { R as ResponsiveFormatFacade } from './responsive-format-facade-f19b601c.js';
7
+ import { J as isTranslocationType, i as isNonNullable, a9 as isEATriggerStrategy } from './type-guard-6fc96870.js';
8
+ import { R as ResponsiveFormatFacade } from './responsive-format-facade-dec87e46.js';
9
9
  import { t as tryGetDocument } from './try-get-document-bef0f526.js';
10
10
  import { F as FeatureFlag } from './feature-flag-controller-3fd04ea9.js';
11
11
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
@@ -8,8 +8,8 @@ import { a as isAsyncFunction, g as generateUUID } from './misc-9fdbcfbb.js';
8
8
  import { c as createDynamicSlimmer } from './dynamic-slimmer-90b8af32.js';
9
9
  import { d as domNodeSubjectFactory, D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-ddff8662.js';
10
10
  import { i as VegaInternalFieldErrorStateChange, g as VegaInternalFormSubmit, j as VegaInternalValid } from './vega-internal-event-id-86fce049.js';
11
- import { V as VegaInternalTranslation } from './internal-translation-controller-fac22598.js';
12
- import { h as htmlSanitizer, l as labelSanitizeStrategy } from './index-3b327f29.js';
11
+ import { V as VegaInternalTranslation } from './internal-translation-controller-b33430c6.js';
12
+ import { h as htmlSanitizer, l as labelSanitizeStrategy } from './index-35451d12.js';
13
13
  import { P as PageResizeObserverSlimmer } from './page-resize-observer-slimmer-e24d36c5.js';
14
14
  import { I as InternalFormFieldValidationRule } from './internal-form-field-validation-rule.abstract-f5b6bdbf.js';
15
15
  import { g as getFormFieldKey, i as isValidFormField } from './form-field-key-44ab39d0.js';
@@ -1,11 +1,11 @@
1
1
  import { h } from './index-090d31ca.js';
2
2
  import { V as VegaInternalIconManager } from './internal-icon-manager-e7c57096.js';
3
3
  import { c as MapToComponentField, V as VegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
4
- import { A as ActionHandleStrategyRegistry, T as RTE_TEXT_COLORS, R as RTETextNode, ag as TextColorAnnotationAction, N as NodeAnnotationTypeEnum, j as AnnotationAction } from './code-block-9c513169.js';
4
+ import { A as ActionHandleStrategyRegistry, Y as RTE_TEXT_COLORS, R as RTETextNode, ak as TextColorAnnotationAction, N as NodeAnnotationTypeEnum, k as AnnotationAction } from './code-block-e6443949.js';
5
5
  import { D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-ddff8662.js';
6
6
  import { a as VegaClick, c as VegaPopoverShow, b as VegaPopoverHide, d as VegaChange } from './vega-event-id-f55f6977.js';
7
- import { a as VegaDarkModeStyleController } from './dark-mode-style-controller-ca5afd2d.js';
8
- import { e as ImageAnnotation } from './content-state-25c81c08.js';
7
+ import { a as VegaDarkModeStyleController } from './dark-mode-style-controller-352f15ff.js';
8
+ import { e as ImageAnnotation } from './content-state-43cdacff.js';
9
9
 
10
10
  const text = {
11
11
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M64 96v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V80C0 53.5 21.5 32 48 32H224 400c26.5 0 48 21.5 48 48v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V96H256l0 320h48c17.7 0 32 14.3 32 32s-14.3 32-32 32H144c-17.7 0-32-14.3-32-32s14.3-32 32-32h48l0-320H64z"/></svg>`,
@@ -1,5 +1,5 @@
1
- import { M as ModifyContentAction, i as ModifyContentActionType } from './code-block-9c513169.js';
2
- import { b as VegaRTEExtension } from './link-extension-e8ee103e.js';
1
+ import { M as ModifyContentAction, j as ModifyContentActionType } from './code-block-e6443949.js';
2
+ import { b as VegaRTEExtension } from './link-extension-230bae8d.js';
3
3
 
4
4
  /**
5
5
  * Replace the text node selected content to new text