@globalpayments/vega 2.57.1 → 2.59.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 (965) hide show
  1. package/dist/cjs/{app-globals-26e2fe1e.js → app-globals-a8f5e755.js} +25 -12
  2. package/dist/cjs/{brand-switch-state-controller-slimmer-5efa1b24.js → brand-switch-state-controller-slimmer-b83a4596.js} +1 -1
  3. package/dist/cjs/{child-nodes-event-prevent-slimmer-96240a0e.js → child-nodes-event-prevent-slimmer-5df43771.js} +1 -1
  4. package/dist/cjs/{child-nodes-notify-observer-slimmer-30ba81ac.js → child-nodes-notify-observer-slimmer-34ac3bfc.js} +1 -1
  5. package/dist/cjs/{code-block-7650c868.js → code-block-4bfae76d.js} +2128 -990
  6. package/dist/cjs/{component-value-history-controller-slimmer.abstract-a6e4e5bc.js → component-value-history-controller-slimmer.abstract-34f4577a.js} +112 -54
  7. package/dist/cjs/content-state-0da174e0.js +3692 -0
  8. package/dist/cjs/{dark-mode-state-controller-slimmer-add5d8a8.js → dark-mode-state-controller-slimmer-17022f93.js} +1 -1
  9. package/dist/cjs/{dark-mode-style-controller-f9a32d68.js → dark-mode-style-controller-ab0703e1.js} +1 -1
  10. package/dist/cjs/{deprecated-property-slimmer-4f15005f.js → deprecated-property-slimmer-1eb8f031.js} +1 -1
  11. package/dist/cjs/{design-token-e771bb16.js → design-token-deb195e9.js} +1 -1
  12. package/dist/cjs/{dom-node-subject-factory-769dd00f.js → dom-node-subject-factory-bad99695.js} +1 -1
  13. package/dist/cjs/{dom-node-subject-observer-factory-5aa4cc83.js → dom-node-subject-observer-factory-df6e6df0.js} +1 -1
  14. package/dist/cjs/{element-appender-slimmer-7f98d16b.js → element-appender-slimmer-299039f1.js} +7 -7
  15. package/dist/cjs/{event-emit-slimmer-6154c759.js → event-emit-slimmer-efc70b94.js} +3 -3
  16. package/dist/cjs/{form-field-controller-slimmer-7bb7df10.js → form-field-controller-slimmer-772d1892.js} +24 -24
  17. package/dist/cjs/{image-annotation-action-6715d6f3.js → image-annotation-action-117fee1f.js} +130 -29
  18. package/dist/cjs/{index-7700600c.js → index-00ba6623.js} +23 -4
  19. package/dist/cjs/{index-ee4bc191.js → index-10199ee8.js} +2 -2
  20. package/dist/cjs/index.cjs.js +23 -23
  21. package/dist/cjs/{inject-keyboard-manager-f1f781b7.js → inject-keyboard-manager-70382bae.js} +1 -1
  22. package/dist/cjs/{internal-vega-event-manager-e98944ac.js → internal-vega-event-manager-83065493.js} +1 -1
  23. package/dist/cjs/{keyboard-manager-0be55fb9.js → keyboard-manager-6858915b.js} +1 -1
  24. package/dist/cjs/{keyboard-manager-slimmer-92c7227b.js → keyboard-manager-slimmer-faca2038.js} +1 -1
  25. package/dist/cjs/loader.cjs.js +16 -14
  26. package/dist/cjs/{object-bbd4ed7f.js → object-e2e28e3d.js} +13 -0
  27. package/dist/cjs/{public-rules-036795a4.js → public-rules-d1f7a352.js} +11 -9
  28. package/dist/cjs/{responsive-format-facade-d164ced7.js → responsive-format-facade-20c63e07.js} +4 -4
  29. package/dist/cjs/{rich-text-editor-required-rule-91eb0e22.js → rich-text-editor-required-rule-fbf8cbab.js} +1 -1
  30. package/dist/cjs/{static-subject-title-7e7d791a.js → static-subject-title-85732e0f.js} +2 -0
  31. package/dist/cjs/string-39438062.js +24 -0
  32. package/dist/cjs/{string-input-formatter-slimmer-dc1747ad.js → string-input-formatter-slimmer-1b757bad.js} +3 -3
  33. package/dist/cjs/{style-formatter-3e7af35b.js → style-formatter-e08163fd.js} +1 -1
  34. package/dist/cjs/{sub-state-notify-slimmer-409bbd1a.js → sub-state-notify-slimmer-943eb7cc.js} +2 -2
  35. package/dist/cjs/{sub-state-observer-slimmer-93d0a609.js → sub-state-observer-slimmer-0788232a.js} +3 -3
  36. package/dist/cjs/{translation-de7e351e.js → translation-cde4dce3.js} +31 -1
  37. package/dist/cjs/{translation-slimmer-83bdb9fe.js → translation-slimmer-af399096.js} +1 -1
  38. package/dist/cjs/{ui-6c069604.js → ui-4ce1fa08.js} +10 -0
  39. package/dist/cjs/vega-accordion.cjs.entry.js +17 -15
  40. package/dist/cjs/vega-app-footer.cjs.entry.js +4 -4
  41. package/dist/cjs/vega-app-header-button.cjs.entry.js +18 -16
  42. package/dist/cjs/vega-backdrop.cjs.entry.js +2 -2
  43. package/dist/cjs/vega-banner.cjs.entry.js +6 -6
  44. package/dist/cjs/vega-bar-chart.cjs.entry.js +1 -1
  45. package/dist/cjs/vega-box.cjs.entry.js +16 -14
  46. package/dist/cjs/vega-brand-logo.cjs.entry.js +4 -4
  47. package/dist/cjs/vega-breadcrumb.cjs.entry.js +7 -7
  48. package/dist/cjs/vega-button-circle.cjs.entry.js +18 -16
  49. package/dist/cjs/vega-button-group_2.cjs.entry.js +10 -10
  50. package/dist/cjs/vega-button-link.cjs.entry.js +7 -7
  51. package/dist/cjs/vega-button.cjs.entry.js +17 -15
  52. package/dist/cjs/{vega-calendar_3.cjs.entry.js → vega-calendar_4.cjs.entry.js} +1674 -1072
  53. package/dist/cjs/vega-card.cjs.entry.js +15 -13
  54. package/dist/cjs/vega-carousel.cjs.entry.js +17 -16
  55. package/dist/cjs/vega-checkbox_2.cjs.entry.js +14 -14
  56. package/dist/cjs/vega-chip.cjs.entry.js +18 -16
  57. package/dist/cjs/vega-code-block.cjs.entry.js +22 -22
  58. package/dist/cjs/vega-color-picker.cjs.entry.js +12 -12
  59. package/dist/cjs/vega-combo-box.cjs.entry.js +15 -15
  60. package/dist/cjs/vega-counter-badge.cjs.entry.js +1 -1
  61. package/dist/cjs/vega-date-picker_2.cjs.entry.js +25 -24
  62. package/dist/cjs/vega-dialog_2.cjs.entry.js +19 -18
  63. package/dist/cjs/vega-divider.cjs.entry.js +15 -13
  64. package/dist/cjs/vega-dropdown_5.cjs.entry.js +61 -26
  65. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  66. package/dist/cjs/vega-field-error.cjs.entry.js +3 -2
  67. package/dist/cjs/vega-field-label.cjs.entry.js +6 -6
  68. package/dist/cjs/vega-file-uploader.cjs.entry.js +13 -13
  69. package/dist/cjs/vega-flag-icon.cjs.entry.js +15 -13
  70. package/dist/cjs/vega-flex.cjs.entry.js +16 -14
  71. package/dist/cjs/vega-font.cjs.entry.js +15 -13
  72. package/dist/cjs/vega-form.cjs.entry.js +108 -18
  73. package/dist/cjs/vega-grid.cjs.entry.js +15 -13
  74. package/dist/cjs/vega-hint.cjs.entry.js +1 -1
  75. package/dist/cjs/vega-icon.cjs.entry.js +15 -13
  76. package/dist/cjs/vega-image-uploader.cjs.entry.js +21 -20
  77. package/dist/cjs/vega-input-credit-card.cjs.entry.js +13 -13
  78. package/dist/cjs/vega-input-numeric.cjs.entry.js +16 -16
  79. package/dist/cjs/vega-input-phone-number.cjs.entry.js +19 -18
  80. package/dist/cjs/vega-input-range.cjs.entry.js +14 -14
  81. package/dist/cjs/vega-input-select.cjs.entry.js +26 -22
  82. package/dist/cjs/vega-input.cjs.entry.js +15 -15
  83. package/dist/cjs/{vega-internal-event-id-bda08efa.js → vega-internal-event-id-ae6e2c13.js} +7 -1
  84. package/dist/cjs/vega-item-toggle.cjs.entry.js +8 -8
  85. package/dist/cjs/vega-left-nav_5.cjs.entry.js +21 -20
  86. package/dist/cjs/vega-line-chart.cjs.entry.js +1 -1
  87. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +14 -12
  88. package/dist/cjs/vega-page-notification_2.cjs.entry.js +4 -4
  89. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +7 -7
  90. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +8 -8
  91. package/dist/cjs/vega-pagination.cjs.entry.js +18 -16
  92. package/dist/cjs/vega-pie-chart.cjs.entry.js +1 -1
  93. package/dist/cjs/vega-popover_2.cjs.entry.js +43 -20
  94. package/dist/cjs/vega-progress-tracker.cjs.entry.js +8 -8
  95. package/dist/cjs/vega-radio_2.cjs.entry.js +16 -16
  96. package/dist/cjs/vega-rich-text-content.cjs.entry.js +273 -175
  97. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +709 -1496
  98. package/dist/cjs/vega-section-title.cjs.entry.js +1 -1
  99. package/dist/cjs/vega-segment-control.cjs.entry.js +6 -6
  100. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +20 -19
  101. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +41 -17
  102. package/dist/cjs/vega-sidenav_3.cjs.entry.js +18 -16
  103. package/dist/cjs/vega-signature-capture.cjs.entry.js +20 -20
  104. package/dist/cjs/{vega-skeleton-loader-controller-d534f5a1.js → vega-skeleton-loader-controller-b1971f43.js} +3 -3
  105. package/dist/cjs/vega-skeleton.cjs.entry.js +1 -1
  106. package/dist/cjs/vega-slot-container.cjs.entry.js +1 -1
  107. package/dist/cjs/vega-stepper.cjs.entry.js +13 -13
  108. package/dist/cjs/vega-tab-group_2.cjs.entry.js +8 -8
  109. package/dist/cjs/vega-table_8.cjs.entry.js +20 -19
  110. package/dist/cjs/vega-text.cjs.entry.js +2 -2
  111. package/dist/cjs/vega-textarea.cjs.entry.js +13 -13
  112. package/dist/cjs/vega-time-picker_2.cjs.entry.js +23 -22
  113. package/dist/cjs/vega-toggle-switch.cjs.entry.js +12 -12
  114. package/dist/cjs/vega-tooltip_2.cjs.entry.js +19 -18
  115. package/dist/cjs/vega.cjs.js +16 -14
  116. package/dist/collection/collection-manifest.json +8 -6
  117. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.js +3 -0
  118. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-preivew-popover-controller.js +83 -0
  119. package/dist/collection/components/vega-calendar/slimmers/common/controllers/vega-calendar-post-operation-date-controller.js +61 -0
  120. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/base-repeat-pattern.js +16 -0
  121. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-daily-repeat-pattern.js +12 -0
  122. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-monthly-repeat-pattern.js +12 -0
  123. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-weekly-repeat-pattern.js +14 -0
  124. package/dist/collection/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-yearly-repeat-pattern.js +13 -0
  125. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +53 -2
  126. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.js +68 -0
  127. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-full-day-event-layout-renderer.js +5 -2
  128. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-renderer.js +10 -1
  129. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-switch-panel.js +11 -6
  130. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/full-day-event/vega-calendar-full-day-event-renderer.js +3 -3
  131. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-day-event-layout-renderer.js +5 -2
  132. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-timed-event-renderer.js +1 -1
  133. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +61 -23
  134. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +1 -2
  135. package/dist/collection/components/vega-calendar/utils/index.js +16 -10
  136. package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.js +5 -32
  137. package/dist/collection/components/vega-calendar/vega-calendar-event/vega-calendar-event.js +0 -5
  138. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/assets/clock.js +3 -0
  139. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/assets/close.js +3 -0
  140. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/slimmers/controllers/vega-calendar-event-preview-state-controller.js +46 -0
  141. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.js +81 -0
  142. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/vega-calendar-event-preview.css +86 -0
  143. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/vega-calendar-event-preview.js +56 -0
  144. package/dist/collection/components/vega-calendar/vega-calendar.css +10 -0
  145. package/dist/collection/components/vega-calendar/vega-calendar.js +79 -1
  146. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +36 -3
  147. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +5 -0
  148. package/dist/collection/components/vega-field-error/slimmers/controllers/vega-field-error-message-controller.js +1 -0
  149. package/dist/collection/components/vega-form/slimmers/controllers/vega-form-field-validation-state-controller.js +80 -0
  150. package/dist/collection/components/vega-form/vega-form.js +47 -0
  151. package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.css +4 -0
  152. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +5 -2
  153. package/dist/collection/components/vega-input-select/vega-input-select.css +0 -3
  154. package/dist/collection/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.js +4 -1
  155. package/dist/collection/components/vega-popover/vega-popover-content-box/vega-popover-content-box.css +2521 -1
  156. package/dist/collection/components/vega-popover/vega-popover-content-box/vega-popover-content-box.js +42 -1
  157. package/dist/collection/components/vega-popover/vega-popover.js +36 -0
  158. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +3 -15
  159. package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.css +81 -16
  160. package/dist/collection/components/vega-rich-text-editor/assets/display-code.js +3 -0
  161. package/dist/collection/components/vega-rich-text-editor/constants/constant.js +6 -5
  162. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy.abstract.js +90 -26
  163. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-horizontal-alignment-strategy.js +15 -0
  164. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-indent-strategy.js +15 -0
  165. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-link-group-strategy.js +18 -4
  166. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-text-style-strategy.js +1 -0
  167. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/node-split-text-strategy.js +6 -1
  168. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/node-update-annotation-map-strategy.js +15 -1
  169. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/{block-append-blocks-strategy.js → append-children-strategy.js} +3 -2
  170. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/{block-delete-text-content-strategy.js → block-delete-text-or-decorator-node-strategy.js} +60 -12
  171. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-image-into-text-strategy.js +7 -7
  172. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-line-break-with-blocks-strategy.js +2 -2
  173. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-new-paragraph-strategy.js +38 -30
  174. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-merge-nodes-strategy.js +4 -4
  175. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-replace-nodes-strategy.js +2 -2
  176. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-split-with-image-node-strategy.js +4 -4
  177. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-split-with-text-node-strategy.js +2 -2
  178. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-code-block-strategy.js +4 -4
  179. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-list-strategy.js +6 -6
  180. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-unlink-link-group-strategy.js +24 -0
  181. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-insert-image-strategy.js +2 -2
  182. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy.js +4 -4
  183. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/delete-link-group-strategy.js +34 -0
  184. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-block-insert-image-strategy.js +9 -9
  185. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-line-break-strategy.js +2 -2
  186. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-line-break-with-blocks-strategy.js +6 -6
  187. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-children-after-strategy.js +15 -0
  188. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-children-before-strategy.js +38 -0
  189. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-text-to-decorator-node-strategy.js +37 -0
  190. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/link-group-node-split-strategy.js +31 -0
  191. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-insert-image-strategy.js +2 -2
  192. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-insert-new-paragraph-strategy.js +15 -15
  193. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.js +5 -5
  194. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-list-strategy.js +10 -10
  195. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-paragraph-strategy.js +13 -13
  196. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/node-update-text-strategy.js +2 -2
  197. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/remove-children-strategy.js +26 -0
  198. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/switch-out-from-code-block-strategy.js +2 -2
  199. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/update-cursor-position-strategy.js +23 -0
  200. package/dist/collection/components/vega-rich-text-editor/dto/actions/append-child-nodes-action.js +7 -3
  201. package/dist/collection/components/vega-rich-text-editor/dto/actions/custom-style-annotation-action.js +20 -0
  202. package/dist/collection/components/vega-rich-text-editor/dto/actions/delete-link-group-action.js +10 -0
  203. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-children-after-block.js +14 -0
  204. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-children-before-block.js +14 -0
  205. package/dist/collection/components/vega-rich-text-editor/dto/actions/{break-single-block-action.js → insert-new-paragraph-action.js} +3 -3
  206. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-text-to-decorator-node-action.js +17 -0
  207. package/dist/collection/components/vega-rich-text-editor/dto/actions/link-annotation-action.js +2 -1
  208. package/dist/collection/components/vega-rich-text-editor/dto/actions/link-group-annotation-action.js +2 -1
  209. package/dist/collection/components/vega-rich-text-editor/dto/actions/link-group-node-split-action.js +11 -0
  210. package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +10 -7
  211. package/dist/collection/components/vega-rich-text-editor/dto/actions/remove-child-action.js +4 -5
  212. package/dist/collection/components/vega-rich-text-editor/dto/actions/unlink-link-group-action.js +11 -0
  213. package/dist/collection/components/vega-rich-text-editor/dto/actions/update-cursor-position-action.js +20 -0
  214. package/dist/collection/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.js +2 -0
  215. package/dist/collection/components/vega-rich-text-editor/dto/annotations/bold-annotation.js +13 -5
  216. package/dist/collection/components/vega-rich-text-editor/dto/annotations/clear-formatting-annotation.js +2 -0
  217. package/dist/collection/components/vega-rich-text-editor/dto/annotations/code-annotation.js +21 -14
  218. package/dist/collection/components/vega-rich-text-editor/dto/annotations/common-annotation.abstract.js +12 -0
  219. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation.js +80 -0
  220. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-class-annotation.js +54 -0
  221. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.js +67 -0
  222. package/dist/collection/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.js +26 -10
  223. package/dist/collection/components/vega-rich-text-editor/dto/annotations/image-annotation.js +17 -8
  224. package/dist/collection/components/vega-rich-text-editor/dto/annotations/indent-annotation.js +8 -2
  225. package/dist/collection/components/vega-rich-text-editor/dto/annotations/inline-html-annotation.js +68 -0
  226. package/dist/collection/components/vega-rich-text-editor/dto/annotations/internal-wrapper-annotation.js +41 -0
  227. package/dist/collection/components/vega-rich-text-editor/dto/annotations/italic-annotation.js +13 -5
  228. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-annotation.js +16 -11
  229. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-group-annotation.js +92 -0
  230. package/dist/collection/components/vega-rich-text-editor/dto/annotations/list-annotation.js +41 -0
  231. package/dist/collection/components/vega-rich-text-editor/dto/annotations/node-annotation.abstract.js +2 -0
  232. package/dist/collection/components/vega-rich-text-editor/dto/annotations/plain-text-annotation.js +42 -0
  233. package/dist/collection/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.js +9 -9
  234. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-color-annotation.js +3 -7
  235. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-annotation.js +74 -12
  236. package/dist/collection/components/vega-rich-text-editor/dto/annotations/underline-annotation.js +9 -9
  237. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +116 -4
  238. package/dist/collection/components/vega-rich-text-editor/dto/blocks/code-block.js +10 -2
  239. package/dist/collection/components/vega-rich-text-editor/dto/blocks/html-block.js +78 -0
  240. package/dist/collection/components/vega-rich-text-editor/dto/blocks/image-block.js +17 -21
  241. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +66 -12
  242. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +20 -18
  243. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +116 -37
  244. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +70 -33
  245. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +9 -2
  246. package/dist/collection/components/vega-rich-text-editor/dto/nodes/decorator-node.js +58 -0
  247. package/dist/collection/components/vega-rich-text-editor/dto/nodes/image-node.js +45 -19
  248. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +145 -0
  249. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +163 -21
  250. package/dist/collection/components/vega-rich-text-editor/dto/range.js +22 -33
  251. package/dist/collection/components/vega-rich-text-editor/dto/renderers/base-renderer.js +5 -0
  252. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.js +7 -23
  253. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +15 -93
  254. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/code-block-renderer.js +0 -9
  255. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/html-block-renderer.js +12 -0
  256. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.js +1 -5
  257. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.js +125 -0
  258. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +2 -6
  259. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +1 -1
  260. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.js +2 -27
  261. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js +70 -7
  262. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.js +2 -28
  263. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +19 -5
  264. package/dist/collection/components/vega-rich-text-editor/dto/renderers/renderer-factory.js +47 -0
  265. package/dist/collection/components/vega-rich-text-editor/dto/setup.js +69 -0
  266. package/dist/collection/components/vega-rich-text-editor/extensions/base-extension-renderer.js +83 -0
  267. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +5 -0
  268. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.js +53 -29
  269. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/focus-controller.js +13 -5
  270. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/annotation-generator-strategy.abstract.js +5 -0
  271. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/bold-annotaion-handler.js +33 -0
  272. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/code-annotation-handler.js +33 -0
  273. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/color-annotation-handler.js +49 -0
  274. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-attribute-annotation-handler.js +48 -0
  275. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-class-annotation-handler.js +36 -0
  276. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-style-annotation-handler.js +48 -0
  277. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/html-element-to-annotation-generator.js +66 -0
  278. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/image-alt-annotation-handler.js +19 -0
  279. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/image-size-annotation-handler.js +32 -0
  280. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/indent-annotation-handler.js +53 -0
  281. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/inline-html-annotation-handler.js +99 -0
  282. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/italic-annotation-handler.js +32 -0
  283. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/link-annotation-handler.js +53 -0
  284. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/strike-through-annotation-handler.js +34 -0
  285. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-align-annotation-handler.js +57 -0
  286. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.js +120 -0
  287. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/underline-annotation-handler.js +32 -0
  288. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract.js +38 -232
  289. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.js +34 -19
  290. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.js +19 -33
  291. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.js +4 -3
  292. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-rte-image-block-strategy.abstract.js +33 -0
  293. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-text-node-strategy.js +33 -0
  294. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/html-block-strategy.js +99 -0
  295. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/img-to-rte-image-block-strategy.js +5 -21
  296. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-block-to-rte-text-block-strategy.js +8 -48
  297. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-element-to-text-node-strategy.js +46 -0
  298. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/li-to-rte-list-item-block-strategy.js +59 -10
  299. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ol-to-rte-list-block-strategy.js +8 -5
  300. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/plain-text-to-text-node-strategy.js +35 -0
  301. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/span-img-to-rte-image-block-strategy.js +5 -21
  302. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-not-li-child-to-rte-list-item-block.js +11 -6
  303. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-to-rte-list-block-strategy.js +8 -5
  304. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-image-to-rte-image-block-strategy.js +9 -9
  305. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/base-handler.js +2 -2
  306. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/delete-content-handler.js +8 -22
  307. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paragraph-handler.js +2 -2
  308. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +13 -15
  309. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-text-handler.js +36 -28
  310. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-composition-text-controller.js +6 -3
  311. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-image-controller.js +3 -3
  312. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +75 -5
  313. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/state-entity-rendering-registry.js +39 -4
  314. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +11 -0
  315. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +41 -5
  316. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.js +2 -2
  317. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +2 -2
  318. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-toolbar-button-slimmer.js +2 -2
  319. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/numbers-toolbar-button-slimmer.js +2 -2
  320. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.js +2 -2
  321. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.js +2 -2
  322. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.js +2 -2
  323. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/center-align-toolbar-button-slimmer.js +2 -2
  324. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +2 -2
  325. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/justify-align-toolbar-button-slimmer.js +2 -2
  326. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/left-align-toolbar-button-slimmer.js +2 -2
  327. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/right-align-toolbar-button-slimmer.js +2 -2
  328. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +2 -2
  329. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.js +2 -2
  330. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.js +2 -2
  331. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +3 -2
  332. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.js +2 -2
  333. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +64 -0
  334. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.js +2 -2
  335. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +2 -2
  336. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +5 -4
  337. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +10 -3
  338. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.js +2 -2
  339. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.js +37 -0
  340. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +41 -3
  341. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/code-block-strategy-registry.test.js +2 -3
  342. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/content-state-strategy-registry.test.js +8 -9
  343. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/image-block-strategy-register.test.js +15 -13
  344. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/list-block-strategy-register.test.js +8 -8
  345. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/list-item-strategy-register.test.js +12 -12
  346. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/node-split-text-strategy.test.js +3 -2
  347. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/node-update-annotation-map-strategy.test.js +2 -2
  348. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/text-block-strategy-register.test.js +34 -12
  349. package/dist/collection/components/vega-rich-text-editor/test/dto/annotation-actions.test.js +1 -0
  350. package/dist/collection/components/vega-rich-text-editor/test/dto/annotations.test.js +258 -28
  351. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/html-block.test.js +124 -0
  352. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/image-block.test.js +10 -0
  353. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/text-block.test.js +59 -0
  354. package/dist/collection/components/vega-rich-text-editor/test/dto/content-state.test.js +2613 -0
  355. package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/image-node.test.js +29 -0
  356. package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/text-node.test.js +103 -4
  357. package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/custom-attribute-annotation-handler.test.js +49 -0
  358. package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/element-to-text-node-strategy.test.js +38 -0
  359. package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/html-element-to-annotation-generator.test.js +26 -0
  360. package/dist/collection/components/vega-rich-text-editor/test/spec-utils.js +32 -0
  361. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer.js +6 -2
  362. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.css +3 -0
  363. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.js +27 -0
  364. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.css +7 -32
  365. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +67 -2
  366. package/dist/collection/components/vega-selection-tile/slimmers/controllers/vega-selection-tile-state-controller.js +7 -0
  367. package/dist/collection/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.js +37 -0
  368. package/dist/collection/components/vega-selection-tile/vega-selection-tile.css +12 -0
  369. package/dist/collection/components/vega-selection-tile/vega-selection-tile.js +7 -2
  370. package/dist/collection/constants/ui.js +1 -0
  371. package/dist/collection/helpers/calendar/calendar-date.js +12 -0
  372. package/dist/collection/helpers/calendar/calendar-event.js +24 -0
  373. package/dist/collection/helpers/calendar/calendar-period/month-period.js +15 -1
  374. package/dist/collection/helpers/calendar/calendar-period/week-period.js +6 -7
  375. package/dist/collection/helpers/calendar/test/calendar-date.test.js +4 -0
  376. package/dist/collection/helpers/calendar/test/calendar-event.test.js +57 -0
  377. package/dist/collection/helpers/calendar/test/calendar-period/month-period.test.js +12 -4
  378. package/dist/collection/helpers/calendar/test/calendar-period/week-period.test.js +2 -2
  379. package/dist/collection/helpers/calendar/utils.js +38 -0
  380. package/dist/collection/helpers/change-manager/subject/static-subject/static-subject-title.js +1 -0
  381. package/dist/collection/helpers/code-format/code-formatter.js +116 -0
  382. package/dist/collection/helpers/code-format/test/code-formatter.test.js +362 -0
  383. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +4 -1
  384. package/dist/collection/helpers/rte-manager/dto-action-strategy-manager.js +37 -0
  385. package/dist/collection/helpers/rte-manager/dto-class-manager.js +51 -0
  386. package/dist/collection/helpers/rte-manager/dto-renderer-manager.js +54 -0
  387. package/dist/collection/helpers/rte-manager/element-dto-class-strategy-manager.js +56 -0
  388. package/dist/collection/helpers/rte-manager/rte.manager.test.js +94 -0
  389. package/dist/collection/helpers/slimmers/field-error-controller-silmmer.js +4 -6
  390. package/dist/collection/helpers/slimmers/field-error-ui-controller-slimmer.js +12 -10
  391. package/dist/collection/helpers/slimmers/global/vega-translate-observer-slimmer.js +17 -4
  392. package/dist/collection/helpers/slimmers/test/field-error-controller-slimmer.test.js +1 -0
  393. package/dist/collection/helpers/slimmers/test/global/vega-translate-observer-slimmer.test.js +89 -0
  394. package/dist/collection/helpers/translation/locales/en.js +30 -0
  395. package/dist/collection/helpers/translation/tests/internal-translation-controller.test.js +30 -0
  396. package/dist/collection/polyfill/shadow-selection/shadow-selection-polyfill.js +16 -14
  397. package/dist/collection/polyfill/shadow-selection/test/shadow-selection-polyfill.test.js +1 -0
  398. package/dist/collection/polyfill/test-polyfill/unit/methods.js +9 -0
  399. package/dist/collection/utils/object.js +12 -0
  400. package/dist/collection/utils/string.js +10 -0
  401. package/dist/collection/utils/test/object.test.js +27 -1
  402. package/dist/collection/utils/ui.js +9 -0
  403. package/dist/esm/{app-globals-ee6a1250.js → app-globals-eec29b87.js} +25 -12
  404. package/dist/esm/{brand-switch-state-controller-slimmer-05c85e6d.js → brand-switch-state-controller-slimmer-d6e4d217.js} +1 -1
  405. package/dist/esm/{child-nodes-event-prevent-slimmer-b59a578e.js → child-nodes-event-prevent-slimmer-6b5b31f5.js} +1 -1
  406. package/dist/esm/{child-nodes-notify-observer-slimmer-eeed5986.js → child-nodes-notify-observer-slimmer-78f77c2c.js} +1 -1
  407. package/dist/esm/{code-block-7bd4cb87.js → code-block-3d519665.js} +2107 -970
  408. package/dist/esm/{component-value-history-controller-slimmer.abstract-41c58caf.js → component-value-history-controller-slimmer.abstract-8b5be007.js} +112 -54
  409. package/dist/esm/content-state-100d1efd.js +3682 -0
  410. package/dist/esm/{dark-mode-state-controller-slimmer-f1c2c299.js → dark-mode-state-controller-slimmer-0c7d1c77.js} +1 -1
  411. package/dist/esm/{dark-mode-style-controller-ea798fc8.js → dark-mode-style-controller-3bbb32dc.js} +1 -1
  412. package/dist/esm/{deprecated-property-slimmer-32575f02.js → deprecated-property-slimmer-2c14df89.js} +1 -1
  413. package/dist/esm/{design-token-23522f5c.js → design-token-80dd7d60.js} +1 -1
  414. package/dist/esm/{dom-node-subject-factory-6374611f.js → dom-node-subject-factory-202655e7.js} +1 -1
  415. package/dist/esm/{dom-node-subject-observer-factory-c345ca2e.js → dom-node-subject-observer-factory-999e21e3.js} +1 -1
  416. package/dist/esm/{element-appender-slimmer-042df95a.js → element-appender-slimmer-e2d3e79a.js} +7 -7
  417. package/dist/esm/{event-emit-slimmer-b5cb9b81.js → event-emit-slimmer-40973ec2.js} +3 -3
  418. package/dist/esm/{form-field-controller-slimmer-f0982f11.js → form-field-controller-slimmer-47820eaa.js} +24 -24
  419. package/dist/esm/{image-annotation-action-1e88f5a0.js → image-annotation-action-215f92d6.js} +128 -29
  420. package/dist/esm/{index-d0a47531.js → index-057d0f70.js} +23 -4
  421. package/dist/esm/{index-fb3b74bd.js → index-18a340fb.js} +2 -2
  422. package/dist/esm/index.js +16 -16
  423. package/dist/esm/{inject-keyboard-manager-5141d09a.js → inject-keyboard-manager-a28dfee4.js} +1 -1
  424. package/dist/esm/{internal-vega-event-manager-d80c53c5.js → internal-vega-event-manager-526f8ed1.js} +1 -1
  425. package/dist/esm/{keyboard-manager-3ffe81b0.js → keyboard-manager-fa6355cb.js} +1 -1
  426. package/dist/esm/{keyboard-manager-slimmer-751e98f5.js → keyboard-manager-slimmer-818050ee.js} +1 -1
  427. package/dist/esm/loader.js +16 -14
  428. package/dist/esm/{object-261e7344.js → object-66c37948.js} +13 -1
  429. package/dist/esm/{public-rules-287d4d77.js → public-rules-1016ce0c.js} +11 -9
  430. package/dist/esm/{responsive-format-facade-d2632288.js → responsive-format-facade-4bf60125.js} +4 -4
  431. package/dist/esm/{rich-text-editor-required-rule-69d5f035.js → rich-text-editor-required-rule-423c3c83.js} +1 -1
  432. package/dist/esm/{static-subject-title-ca83d6b6.js → static-subject-title-633b3474.js} +2 -1
  433. package/dist/esm/string-a953eafc.js +21 -0
  434. package/dist/esm/{string-input-formatter-slimmer-09478e0d.js → string-input-formatter-slimmer-b144e8d7.js} +3 -3
  435. package/dist/esm/{style-formatter-f7951677.js → style-formatter-184752b5.js} +1 -1
  436. package/dist/esm/{sub-state-notify-slimmer-0a6c3cbb.js → sub-state-notify-slimmer-b3524c09.js} +2 -2
  437. package/dist/esm/{sub-state-observer-slimmer-53eec5fb.js → sub-state-observer-slimmer-c823d69c.js} +3 -3
  438. package/dist/esm/{translation-a6eacb5f.js → translation-833d9ef4.js} +31 -1
  439. package/dist/esm/{translation-slimmer-f28e4708.js → translation-slimmer-c83b52c1.js} +1 -1
  440. package/dist/esm/{ui-7d177fb0.js → ui-c20be16d.js} +10 -1
  441. package/dist/esm/vega-accordion.entry.js +17 -15
  442. package/dist/esm/vega-app-footer.entry.js +4 -4
  443. package/dist/esm/vega-app-header-button.entry.js +18 -16
  444. package/dist/esm/vega-backdrop.entry.js +2 -2
  445. package/dist/esm/vega-banner.entry.js +6 -6
  446. package/dist/esm/vega-bar-chart.entry.js +1 -1
  447. package/dist/esm/vega-box.entry.js +16 -14
  448. package/dist/esm/vega-brand-logo.entry.js +4 -4
  449. package/dist/esm/vega-breadcrumb.entry.js +7 -7
  450. package/dist/esm/vega-button-circle.entry.js +18 -16
  451. package/dist/esm/vega-button-group_2.entry.js +10 -10
  452. package/dist/esm/vega-button-link.entry.js +7 -7
  453. package/dist/esm/vega-button.entry.js +17 -15
  454. package/dist/esm/{vega-calendar_3.entry.js → vega-calendar_4.entry.js} +1674 -1073
  455. package/dist/esm/vega-card.entry.js +15 -13
  456. package/dist/esm/vega-carousel.entry.js +17 -16
  457. package/dist/esm/vega-checkbox_2.entry.js +14 -14
  458. package/dist/esm/vega-chip.entry.js +18 -16
  459. package/dist/esm/vega-code-block.entry.js +19 -19
  460. package/dist/esm/vega-color-picker.entry.js +12 -12
  461. package/dist/esm/vega-combo-box.entry.js +15 -15
  462. package/dist/esm/vega-counter-badge.entry.js +1 -1
  463. package/dist/esm/vega-date-picker_2.entry.js +25 -24
  464. package/dist/esm/vega-dialog_2.entry.js +19 -18
  465. package/dist/esm/vega-divider.entry.js +15 -13
  466. package/dist/esm/vega-dropdown_5.entry.js +61 -26
  467. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  468. package/dist/esm/vega-field-error.entry.js +3 -2
  469. package/dist/esm/vega-field-label.entry.js +6 -6
  470. package/dist/esm/vega-file-uploader.entry.js +13 -13
  471. package/dist/esm/vega-flag-icon.entry.js +15 -13
  472. package/dist/esm/vega-flex.entry.js +16 -14
  473. package/dist/esm/vega-font.entry.js +15 -13
  474. package/dist/esm/vega-form.entry.js +109 -19
  475. package/dist/esm/vega-grid.entry.js +15 -13
  476. package/dist/esm/vega-hint.entry.js +1 -1
  477. package/dist/esm/vega-icon.entry.js +15 -13
  478. package/dist/esm/vega-image-uploader.entry.js +21 -20
  479. package/dist/esm/vega-input-credit-card.entry.js +13 -13
  480. package/dist/esm/vega-input-numeric.entry.js +16 -16
  481. package/dist/esm/vega-input-phone-number.entry.js +19 -18
  482. package/dist/esm/vega-input-range.entry.js +14 -14
  483. package/dist/esm/vega-input-select.entry.js +26 -22
  484. package/dist/esm/vega-input.entry.js +15 -15
  485. package/dist/esm/{vega-internal-event-id-4072659b.js → vega-internal-event-id-b7c865de.js} +5 -2
  486. package/dist/esm/vega-item-toggle.entry.js +8 -8
  487. package/dist/esm/vega-left-nav_5.entry.js +21 -20
  488. package/dist/esm/vega-line-chart.entry.js +1 -1
  489. package/dist/esm/vega-loader-wrapper_2.entry.js +14 -12
  490. package/dist/esm/vega-page-notification_2.entry.js +4 -4
  491. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +7 -7
  492. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +8 -8
  493. package/dist/esm/vega-pagination.entry.js +18 -16
  494. package/dist/esm/vega-pie-chart.entry.js +1 -1
  495. package/dist/esm/vega-popover_2.entry.js +43 -20
  496. package/dist/esm/vega-progress-tracker.entry.js +8 -8
  497. package/dist/esm/vega-radio_2.entry.js +16 -16
  498. package/dist/esm/vega-rich-text-content.entry.js +273 -175
  499. package/dist/esm/vega-rich-text-editor_4.entry.js +693 -1480
  500. package/dist/esm/vega-section-title.entry.js +1 -1
  501. package/dist/esm/vega-segment-control.entry.js +6 -6
  502. package/dist/esm/vega-selection-chip_2.entry.js +20 -19
  503. package/dist/esm/vega-selection-tile_2.entry.js +41 -17
  504. package/dist/esm/vega-sidenav_3.entry.js +18 -16
  505. package/dist/esm/vega-signature-capture.entry.js +20 -20
  506. package/dist/esm/{vega-skeleton-loader-controller-3f6faa17.js → vega-skeleton-loader-controller-38864fcd.js} +3 -3
  507. package/dist/esm/vega-skeleton.entry.js +1 -1
  508. package/dist/esm/vega-slot-container.entry.js +1 -1
  509. package/dist/esm/vega-stepper.entry.js +13 -13
  510. package/dist/esm/vega-tab-group_2.entry.js +8 -8
  511. package/dist/esm/vega-table_8.entry.js +20 -19
  512. package/dist/esm/vega-text.entry.js +2 -2
  513. package/dist/esm/vega-textarea.entry.js +13 -13
  514. package/dist/esm/vega-time-picker_2.entry.js +23 -22
  515. package/dist/esm/vega-toggle-switch.entry.js +12 -12
  516. package/dist/esm/vega-tooltip_2.entry.js +19 -18
  517. package/dist/esm/vega.js +16 -14
  518. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-controller.d.ts +1 -0
  519. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-event-preivew-popover-controller.d.ts +48 -0
  520. package/dist/types/components/vega-calendar/slimmers/common/controllers/vega-calendar-post-operation-date-controller.d.ts +33 -0
  521. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/base-repeat-pattern.d.ts +8 -0
  522. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-daily-repeat-pattern.d.ts +6 -0
  523. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-monthly-repeat-pattern.d.ts +6 -0
  524. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-weekly-repeat-pattern.d.ts +6 -0
  525. package/dist/types/components/vega-calendar/slimmers/common/helpers/repeat-pattern/calendar-event-yearly-repeat-pattern.d.ts +6 -0
  526. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.d.ts +8 -1
  527. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.d.ts +18 -0
  528. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-full-day-event-layout-renderer.d.ts +3 -1
  529. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-renderer.d.ts +3 -0
  530. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-switch-panel.d.ts +2 -0
  531. package/dist/types/components/vega-calendar/slimmers/day-view/renderers/timed-event/vega-calendar-day-event-layout-renderer.d.ts +3 -1
  532. package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.d.ts +6 -1
  533. package/dist/types/components/vega-calendar/utils/index.d.ts +9 -8
  534. package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.d.ts +0 -8
  535. package/dist/types/components/vega-calendar/vega-calendar-event/vega-calendar-event.d.ts +0 -2
  536. package/dist/types/components/vega-calendar/vega-calendar-event-preview/assets/clock.d.ts +3 -0
  537. package/dist/types/components/vega-calendar/vega-calendar-event-preview/assets/close.d.ts +3 -0
  538. package/dist/types/components/vega-calendar/vega-calendar-event-preview/slimmers/controllers/vega-calendar-event-preview-state-controller.d.ts +16 -0
  539. package/dist/types/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.d.ts +13 -0
  540. package/dist/types/components/vega-calendar/vega-calendar-event-preview/types.d.ts +5 -0
  541. package/dist/types/components/vega-calendar/vega-calendar-event-preview/vega-calendar-event-preview.d.ts +22 -0
  542. package/dist/types/components/vega-calendar/vega-calendar.d.ts +25 -1
  543. package/dist/types/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.d.ts +4 -0
  544. package/dist/types/components/vega-field-error/types.d.ts +2 -1
  545. package/dist/types/components/vega-form/slimmers/controllers/vega-form-field-validation-state-controller.d.ts +29 -0
  546. package/dist/types/components/vega-form/types.d.ts +18 -0
  547. package/dist/types/components/vega-form/vega-form.d.ts +11 -1
  548. package/dist/types/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.d.ts +1 -0
  549. package/dist/types/components/vega-popover/vega-popover-content-box/vega-popover-content-box.d.ts +7 -0
  550. package/dist/types/components/vega-popover/vega-popover.d.ts +7 -1
  551. package/dist/types/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.d.ts +0 -2
  552. package/dist/types/components/vega-rich-text-editor/assets/display-code.d.ts +3 -0
  553. package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +1 -0
  554. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy-registry.d.ts +4 -4
  555. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy.abstract.d.ts +55 -27
  556. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-horizontal-alignment-strategy.d.ts +15 -0
  557. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-indent-strategy.d.ts +15 -0
  558. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/append-children-strategy.d.ts +13 -0
  559. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.d.ts +4 -4
  560. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-or-decorator-node-strategy.d.ts +26 -0
  561. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-new-paragraph-strategy.d.ts +11 -12
  562. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-unlink-link-group-strategy.d.ts +15 -0
  563. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy.d.ts +2 -2
  564. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/delete-link-group-strategy.d.ts +15 -0
  565. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-children-after-strategy.d.ts +13 -0
  566. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-children-before-strategy.d.ts +23 -0
  567. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-text-to-decorator-node-strategy.d.ts +18 -0
  568. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/link-group-node-split-strategy.d.ts +15 -0
  569. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-insert-new-paragraph-strategy.d.ts +3 -3
  570. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.d.ts +5 -5
  571. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/remove-children-strategy.d.ts +17 -0
  572. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/update-cursor-position-strategy.d.ts +12 -0
  573. package/dist/types/components/vega-rich-text-editor/dto/actions/append-child-nodes-action.d.ts +6 -2
  574. package/dist/types/components/vega-rich-text-editor/dto/actions/custom-style-annotation-action.d.ts +17 -0
  575. package/dist/types/components/vega-rich-text-editor/dto/actions/delete-link-group-action.d.ts +7 -0
  576. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-children-after-block.d.ts +14 -0
  577. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-children-before-block.d.ts +14 -0
  578. package/dist/types/components/vega-rich-text-editor/dto/actions/{break-single-block-action.d.ts → insert-new-paragraph-action.d.ts} +2 -2
  579. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-text-to-decorator-node-action.d.ts +14 -0
  580. package/dist/types/components/vega-rich-text-editor/dto/actions/link-annotation-action.d.ts +3 -1
  581. package/dist/types/components/vega-rich-text-editor/dto/actions/link-group-annotation-action.d.ts +2 -1
  582. package/dist/types/components/vega-rich-text-editor/dto/actions/link-group-node-split-action.d.ts +10 -0
  583. package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +12 -9
  584. package/dist/types/components/vega-rich-text-editor/dto/actions/remove-child-action.d.ts +3 -4
  585. package/dist/types/components/vega-rich-text-editor/dto/actions/unlink-link-group-action.d.ts +9 -0
  586. package/dist/types/components/vega-rich-text-editor/dto/actions/update-cursor-position-action.d.ts +20 -0
  587. package/dist/types/components/vega-rich-text-editor/dto/annotations/annotation.abstract.d.ts +2 -1
  588. package/dist/types/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.d.ts +18 -4
  589. package/dist/types/components/vega-rich-text-editor/dto/annotations/bold-annotation.d.ts +7 -5
  590. package/dist/types/components/vega-rich-text-editor/dto/annotations/clear-formatting-annotation.d.ts +2 -1
  591. package/dist/types/components/vega-rich-text-editor/dto/annotations/code-annotation.d.ts +9 -11
  592. package/dist/types/components/vega-rich-text-editor/dto/annotations/common-annotation.abstract.d.ts +20 -0
  593. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation.d.ts +44 -0
  594. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-class-annotation.d.ts +40 -0
  595. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.d.ts +48 -0
  596. package/dist/types/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.d.ts +5 -9
  597. package/dist/types/components/vega-rich-text-editor/dto/annotations/image-annotation.d.ts +10 -8
  598. package/dist/types/components/vega-rich-text-editor/dto/annotations/indent-annotation.d.ts +5 -1
  599. package/dist/types/components/vega-rich-text-editor/dto/annotations/inline-html-annotation.d.ts +37 -0
  600. package/dist/types/components/vega-rich-text-editor/dto/annotations/internal-wrapper-annotation.d.ts +31 -0
  601. package/dist/types/components/vega-rich-text-editor/dto/annotations/italic-annotation.d.ts +7 -5
  602. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-annotation.d.ts +10 -6
  603. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-group-annotation.d.ts +49 -0
  604. package/dist/types/components/vega-rich-text-editor/dto/annotations/list-annotation.d.ts +25 -0
  605. package/dist/types/components/vega-rich-text-editor/dto/annotations/node-annotation.abstract.d.ts +18 -4
  606. package/dist/types/components/vega-rich-text-editor/dto/annotations/plain-text-annotation.d.ts +31 -0
  607. package/dist/types/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.d.ts +5 -9
  608. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-color-annotation.d.ts +3 -7
  609. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-annotation.d.ts +9 -7
  610. package/dist/types/components/vega-rich-text-editor/dto/annotations/underline-annotation.d.ts +5 -9
  611. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +70 -9
  612. package/dist/types/components/vega-rich-text-editor/dto/blocks/code-block.d.ts +7 -2
  613. package/dist/types/components/vega-rich-text-editor/dto/blocks/html-block.d.ts +42 -0
  614. package/dist/types/components/vega-rich-text-editor/dto/blocks/image-block.d.ts +10 -4
  615. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +33 -6
  616. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +9 -5
  617. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +29 -14
  618. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +20 -3
  619. package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +7 -2
  620. package/dist/types/components/vega-rich-text-editor/dto/nodes/decorator-node.d.ts +41 -0
  621. package/dist/types/components/vega-rich-text-editor/dto/nodes/image-node.d.ts +10 -4
  622. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +116 -5
  623. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +59 -4
  624. package/dist/types/components/vega-rich-text-editor/dto/range.d.ts +0 -7
  625. package/dist/types/components/vega-rich-text-editor/dto/renderers/base-renderer.d.ts +9 -0
  626. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.d.ts +7 -20
  627. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +9 -6
  628. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/code-block-renderer.d.ts +0 -8
  629. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/html-block-renderer.d.ts +8 -0
  630. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.d.ts +0 -2
  631. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.d.ts +24 -0
  632. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.d.ts +0 -2
  633. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.d.ts +0 -3
  634. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.d.ts +37 -0
  635. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.d.ts +3 -16
  636. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.d.ts +2 -0
  637. package/dist/types/components/vega-rich-text-editor/dto/renderers/renderer-factory.d.ts +24 -0
  638. package/dist/types/components/vega-rich-text-editor/dto/setup.d.ts +1 -0
  639. package/dist/types/components/vega-rich-text-editor/extensions/base-extension-renderer.d.ts +61 -0
  640. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +13 -0
  641. package/dist/types/components/vega-rich-text-editor/interface.d.ts +172 -42
  642. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.d.ts +19 -0
  643. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/focus-controller.d.ts +1 -0
  644. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/annotation-generator-strategy.abstract.d.ts +16 -0
  645. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/bold-annotaion-handler.d.ts +25 -0
  646. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/code-annotation-handler.d.ts +25 -0
  647. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/color-annotation-handler.d.ts +25 -0
  648. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-attribute-annotation-handler.d.ts +35 -0
  649. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-class-annotation-handler.d.ts +28 -0
  650. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-style-annotation-handler.d.ts +28 -0
  651. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/html-element-to-annotation-generator.d.ts +26 -0
  652. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/image-alt-annotation-handler.d.ts +17 -0
  653. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/image-size-annotation-handler.d.ts +24 -0
  654. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/indent-annotation-handler.d.ts +24 -0
  655. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/inline-html-annotation-handler.d.ts +28 -0
  656. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/italic-annotation-handler.d.ts +25 -0
  657. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/link-annotation-handler.d.ts +29 -0
  658. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/strike-through-annotation-handler.d.ts +25 -0
  659. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-align-annotation-handler.d.ts +27 -0
  660. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.d.ts +57 -0
  661. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/underline-annotation-handler.d.ts +25 -0
  662. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract.d.ts +12 -85
  663. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.d.ts +10 -2
  664. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.d.ts +12 -3
  665. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.d.ts +6 -4
  666. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-rte-image-block-strategy.abstract.d.ts +14 -0
  667. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-text-node-strategy.d.ts +23 -0
  668. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/html-block-strategy.d.ts +34 -0
  669. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/img-to-rte-image-block-strategy.d.ts +5 -4
  670. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-block-to-rte-text-block-strategy.d.ts +3 -9
  671. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-element-to-text-node-strategy.d.ts +17 -0
  672. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/li-to-rte-list-item-block-strategy.d.ts +20 -3
  673. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ol-to-rte-list-block-strategy.d.ts +5 -5
  674. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/plain-text-to-text-node-strategy.d.ts +16 -0
  675. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/span-img-to-rte-image-block-strategy.d.ts +5 -4
  676. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-not-li-child-to-rte-list-item-block.d.ts +3 -2
  677. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-to-rte-list-block-strategy.d.ts +5 -5
  678. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-image-to-rte-image-block-strategy.d.ts +5 -4
  679. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/delete-content-handler.d.ts +0 -7
  680. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.d.ts +0 -1
  681. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/selection-controller.d.ts +20 -0
  682. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/state-entity-rendering-registry.d.ts +20 -3
  683. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +4 -0
  684. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.d.ts +6 -0
  685. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.d.ts +2 -2
  686. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.d.ts +3 -2
  687. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-toolbar-button-slimmer.d.ts +2 -2
  688. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/numbers-toolbar-button-slimmer.d.ts +2 -2
  689. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.d.ts +2 -2
  690. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.d.ts +2 -2
  691. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.d.ts +2 -2
  692. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/center-align-toolbar-button-slimmer.d.ts +2 -2
  693. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.d.ts +3 -2
  694. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/justify-align-toolbar-button-slimmer.d.ts +2 -2
  695. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/left-align-toolbar-button-slimmer.d.ts +2 -2
  696. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/right-align-toolbar-button-slimmer.d.ts +2 -2
  697. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.d.ts +3 -2
  698. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.d.ts +2 -2
  699. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.d.ts +2 -2
  700. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.d.ts +3 -2
  701. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.d.ts +2 -2
  702. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +14 -0
  703. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.d.ts +2 -2
  704. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.d.ts +3 -2
  705. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.d.ts +3 -2
  706. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +7 -2
  707. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.d.ts +2 -2
  708. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.d.ts +24 -0
  709. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +10 -2
  710. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/image-block-strategy-register.test.d.ts +1 -1
  711. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/list-block-strategy-register.test.d.ts +1 -1
  712. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/node-split-text-strategy.test.d.ts +1 -1
  713. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/text-block-strategy-register.test.d.ts +1 -1
  714. package/dist/types/components/vega-rich-text-editor/test/dto/blocks/html-block.test.d.ts +1 -0
  715. package/dist/types/components/vega-rich-text-editor/test/dto/blocks/text-block.test.d.ts +1 -1
  716. package/dist/types/components/vega-rich-text-editor/test/dto/content-state.test.d.ts +1 -1
  717. package/dist/types/components/vega-rich-text-editor/test/dto/nodes/text-node.test.d.ts +1 -1
  718. package/dist/types/components/vega-rich-text-editor/test/element-to-dto-strategy/custom-attribute-annotation-handler.test.d.ts +1 -0
  719. package/dist/types/components/vega-rich-text-editor/test/element-to-dto-strategy/element-to-text-node-strategy.test.d.ts +1 -0
  720. package/dist/types/components/vega-rich-text-editor/test/element-to-dto-strategy/html-element-to-annotation-generator.test.d.ts +1 -0
  721. package/dist/types/components/vega-rich-text-editor/test/spec-utils.d.ts +15 -0
  722. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer.d.ts +1 -0
  723. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.d.ts +6 -0
  724. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +17 -1
  725. package/dist/types/components/vega-selection-tile/slimmers/controllers/vega-selection-tile-state-controller.d.ts +1 -0
  726. package/dist/types/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.d.ts +8 -0
  727. package/dist/types/components/vega-selection-tile/vega-selection-tile.d.ts +4 -0
  728. package/dist/types/components.d.ts +101 -2
  729. package/dist/types/constants/ui.d.ts +1 -1
  730. package/dist/types/helpers/calendar/calendar-date.d.ts +7 -0
  731. package/dist/types/helpers/calendar/calendar-event.d.ts +15 -1
  732. package/dist/types/helpers/calendar/calendar-period/calendar-period.abstract.d.ts +3 -3
  733. package/dist/types/helpers/calendar/calendar-period/month-period.d.ts +7 -1
  734. package/dist/types/helpers/calendar/utils.d.ts +18 -0
  735. package/dist/types/helpers/change-manager/subject/static-subject/static-subject-title.d.ts +2 -1
  736. package/dist/types/helpers/code-format/code-formatter.d.ts +34 -0
  737. package/dist/types/helpers/code-format/test/code-formatter.test.d.ts +1 -0
  738. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +3 -0
  739. package/dist/types/helpers/rte-manager/dto-action-strategy-manager.d.ts +13 -0
  740. package/dist/types/helpers/rte-manager/dto-class-manager.d.ts +38 -0
  741. package/dist/types/helpers/rte-manager/dto-renderer-manager.d.ts +44 -0
  742. package/dist/types/helpers/rte-manager/element-dto-class-strategy-manager.d.ts +42 -0
  743. package/dist/types/helpers/rte-manager/rte.manager.test.d.ts +1 -0
  744. package/dist/types/helpers/slimmers/field-error-ui-controller-slimmer.d.ts +1 -1
  745. package/dist/types/helpers/slimmers/form-field-controller-slimmer.d.ts +1 -1
  746. package/dist/types/helpers/slimmers/global/vega-translate-observer-slimmer.d.ts +6 -0
  747. package/dist/types/helpers/slimmers/test/global/vega-translate-observer-slimmer.test.d.ts +1 -0
  748. package/dist/types/helpers/translation/interface.d.ts +31 -1
  749. package/dist/types/types/class.type.d.ts +3 -0
  750. package/dist/types/types/components.type.d.ts +10 -2
  751. package/dist/types/utils/object.d.ts +8 -0
  752. package/dist/types/utils/string.d.ts +7 -0
  753. package/dist/types/utils/ui.d.ts +7 -0
  754. package/dist/vega/index.esm.js +1 -1
  755. package/dist/vega/p-02841589.js +1 -0
  756. package/dist/vega/{p-81ed90d5.js → p-02b29c18.js} +1 -1
  757. package/dist/vega/{p-f25570f5.js → p-09d63c0c.js} +1 -1
  758. package/dist/vega/{p-4c4ac1a5.entry.js → p-09ddae74.entry.js} +1 -1
  759. package/dist/vega/{p-9afdcf65.js → p-0a2ff1e2.js} +1 -1
  760. package/dist/vega/p-0b2fef0d.entry.js +1 -0
  761. package/dist/vega/{p-1db2ba98.entry.js → p-0c247128.entry.js} +1 -1
  762. package/dist/vega/p-0cd89fb6.js +1 -0
  763. package/dist/vega/{p-e940bc37.js → p-0f0baac3.js} +1 -1
  764. package/dist/vega/{p-4a237308.js → p-0fce930c.js} +1 -1
  765. package/dist/vega/p-11663b1c.js +1 -0
  766. package/dist/vega/p-16ec4633.js +1 -0
  767. package/dist/vega/p-17d517c8.entry.js +1 -0
  768. package/dist/vega/p-18711f87.entry.js +1 -0
  769. package/dist/vega/p-19aa2dbe.entry.js +1 -0
  770. package/dist/vega/{p-8782abeb.js → p-1bd516c5.js} +1 -1
  771. package/dist/vega/p-23f0dfeb.entry.js +1 -0
  772. package/dist/vega/{p-7c348ac7.entry.js → p-26ef2066.entry.js} +1 -1
  773. package/dist/vega/{p-c69a6547.entry.js → p-27b5f69c.entry.js} +1 -1
  774. package/dist/vega/{p-41465ad0.entry.js → p-2a66e2f7.entry.js} +1 -1
  775. package/dist/vega/p-2cc8e5f0.entry.js +1 -0
  776. package/dist/vega/p-323d2af0.entry.js +1 -0
  777. package/dist/vega/p-33f45d1b.entry.js +1 -0
  778. package/dist/vega/p-351405f2.entry.js +1 -0
  779. package/dist/vega/p-35a3c0e5.entry.js +1 -0
  780. package/dist/vega/{p-82b18195.entry.js → p-36ae2dd3.entry.js} +1 -1
  781. package/dist/vega/p-3ce966b2.entry.js +1 -0
  782. package/dist/vega/p-42632023.entry.js +1 -0
  783. package/dist/vega/{p-832b59af.js → p-436f7e27.js} +1 -1
  784. package/dist/vega/{p-5bd3487e.js → p-4452e085.js} +1 -1
  785. package/dist/vega/{p-710da484.entry.js → p-446d0317.entry.js} +1 -1
  786. package/dist/vega/{p-012cbd8f.js → p-4474bc63.js} +1 -1
  787. package/dist/vega/{p-6dad2e5c.entry.js → p-476cc642.entry.js} +1 -1
  788. package/dist/vega/p-48a58baf.js +2 -0
  789. package/dist/vega/{p-bcdb235d.js → p-4a368e1e.js} +1 -1
  790. package/dist/vega/p-4b7edf72.entry.js +1 -0
  791. package/dist/vega/{p-a4a0fcfd.entry.js → p-4ca12302.entry.js} +2 -2
  792. package/dist/vega/p-4ee21459.entry.js +1 -0
  793. package/dist/vega/{p-4674c318.entry.js → p-4fc18f2f.entry.js} +1 -1
  794. package/dist/vega/p-521ace2d.js +1 -0
  795. package/dist/vega/{p-1f9a735a.entry.js → p-53d67971.entry.js} +1 -1
  796. package/dist/vega/p-55b4b6ff.entry.js +1 -0
  797. package/dist/vega/p-56290b7e.entry.js +1 -0
  798. package/dist/vega/{p-d5776087.js → p-575235c8.js} +1 -1
  799. package/dist/vega/p-57ea996e.entry.js +1 -0
  800. package/dist/vega/p-59e990c7.entry.js +1 -0
  801. package/dist/vega/p-5b7d347a.js +1 -0
  802. package/dist/vega/p-5f377954.js +1 -1
  803. package/dist/vega/{p-7d5ebd26.entry.js → p-606d1f7c.entry.js} +1 -1
  804. package/dist/vega/{p-4ab67150.entry.js → p-61d1f3cb.entry.js} +1 -1
  805. package/dist/vega/p-6a24c2d9.entry.js +1 -0
  806. package/dist/vega/{p-5f6b942c.entry.js → p-6b292628.entry.js} +1 -1
  807. package/dist/vega/p-6e42d500.entry.js +1 -0
  808. package/dist/vega/{p-c9740710.entry.js → p-70939752.entry.js} +1 -1
  809. package/dist/vega/p-778b1d71.entry.js +1 -0
  810. package/dist/vega/{p-fda6f8bc.js → p-7934c09c.js} +1 -1
  811. package/dist/vega/p-7a3b142b.js +1 -0
  812. package/dist/vega/{p-9b08ed46.entry.js → p-7b1bb372.entry.js} +1 -1
  813. package/dist/vega/p-7b365345.entry.js +1 -0
  814. package/dist/vega/p-7bb74931.js +1 -0
  815. package/dist/vega/{p-4c871d0f.entry.js → p-7cd2fac8.entry.js} +1 -1
  816. package/dist/vega/{p-0c8bd757.js → p-7e8f055d.js} +1 -1
  817. package/dist/vega/p-7f087c8b.js +1 -0
  818. package/dist/vega/{p-fcb5b40f.entry.js → p-801cb489.entry.js} +1 -1
  819. package/dist/vega/p-80aac6eb.entry.js +1 -0
  820. package/dist/vega/{p-904d1b43.js → p-846ae5fb.js} +1 -1
  821. package/dist/vega/{p-66e9d31a.entry.js → p-847dbae4.entry.js} +1 -1
  822. package/dist/vega/{p-397b5d91.entry.js → p-850a6305.entry.js} +1 -1
  823. package/dist/vega/p-86f17433.js +1 -0
  824. package/dist/vega/{p-acd9bfa4.js → p-8852361b.js} +1 -1
  825. package/dist/vega/p-8a877e12.js +1 -0
  826. package/dist/vega/p-966a9940.entry.js +1 -0
  827. package/dist/vega/{p-8c4f893b.js → p-9773c913.js} +1 -1
  828. package/dist/vega/{p-bd84b7b9.entry.js → p-9a74eb86.entry.js} +1 -1
  829. package/dist/vega/p-a0954e7c.entry.js +1 -0
  830. package/dist/vega/p-a6dacccd.js +1 -0
  831. package/dist/vega/{p-59282fc8.entry.js → p-a7baad6d.entry.js} +1 -1
  832. package/dist/vega/{p-8e581755.entry.js → p-ae21e5f5.entry.js} +1 -1
  833. package/dist/vega/p-aeea4154.entry.js +1 -0
  834. package/dist/vega/{p-613ee009.js → p-af464251.js} +1 -1
  835. package/dist/vega/p-b40adb9e.js +1 -0
  836. package/dist/vega/p-b4be8573.entry.js +1 -0
  837. package/dist/vega/{p-6e01f0a2.js → p-b5822a21.js} +1 -1
  838. package/dist/vega/p-b5bef48a.js +1 -0
  839. package/dist/vega/p-b6f78c1e.entry.js +1 -0
  840. package/dist/vega/{p-f3bd26a1.entry.js → p-b73532c0.entry.js} +1 -1
  841. package/dist/vega/{p-d789b291.js → p-bbb96a13.js} +1 -1
  842. package/dist/vega/p-bca1f8f9.js +1 -0
  843. package/dist/vega/p-bf0ced3c.js +1 -0
  844. package/dist/vega/p-bf19682d.js +1 -0
  845. package/dist/vega/p-c131544b.entry.js +1 -0
  846. package/dist/vega/p-c81cb852.entry.js +1 -0
  847. package/dist/vega/{p-091ab617.entry.js → p-cc20f01f.entry.js} +1 -1
  848. package/dist/vega/{p-500684e1.entry.js → p-cc5a3a1b.entry.js} +1 -1
  849. package/dist/vega/{p-f940b7f7.entry.js → p-d0fbbb7f.entry.js} +1 -1
  850. package/dist/vega/{p-864de9a1.js → p-d4564bfd.js} +1 -1
  851. package/dist/vega/{p-c42ec0ac.entry.js → p-d45f79ce.entry.js} +1 -1
  852. package/dist/vega/p-d590402d.entry.js +1 -0
  853. package/dist/vega/{p-34dc3f71.entry.js → p-d72abacd.entry.js} +1 -1
  854. package/dist/vega/{p-fe1512f9.entry.js → p-d7558ed7.entry.js} +1 -1
  855. package/dist/vega/p-d8566958.entry.js +1 -0
  856. package/dist/vega/{p-a1e50e6c.entry.js → p-dc5026e7.entry.js} +1 -1
  857. package/dist/vega/p-e4674c00.entry.js +1 -0
  858. package/dist/vega/{p-311f338d.entry.js → p-e9ad8223.entry.js} +1 -1
  859. package/dist/vega/p-e9d2e0dc.entry.js +1 -0
  860. package/dist/vega/{p-86a300e8.entry.js → p-ebbaa112.entry.js} +1 -1
  861. package/dist/vega/p-ee1e7389.entry.js +1 -0
  862. package/dist/vega/{p-24042f0c.entry.js → p-f47de801.entry.js} +1 -1
  863. package/dist/vega/p-f993bcca.entry.js +1 -0
  864. package/dist/vega/{p-9ce0bd82.entry.js → p-fc8badd3.entry.js} +2 -2
  865. package/dist/vega/{p-42ec43ef.entry.js → p-fe6ea6cf.entry.js} +1 -1
  866. package/dist/vega/{p-92355996.entry.js → p-ffaee583.entry.js} +1 -1
  867. package/dist/vega/vega.esm.js +1 -1
  868. package/package.json +5 -3
  869. package/dist/cjs/content-state-fd5ad4a8.js +0 -1152
  870. package/dist/cjs/string-21427167.js +0 -13
  871. package/dist/cjs/types-a4295b11.js +0 -12
  872. package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-bg-color-controller.js +0 -29
  873. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-append-nodes-strategy.js +0 -21
  874. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-image-strategy.js +0 -54
  875. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-after-strategy.js +0 -15
  876. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-before-strategy.js +0 -38
  877. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-after-node-strategy.js +0 -14
  878. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-before-node-strategy.js +0 -14
  879. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-child-block-strategy.js +0 -15
  880. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy.js +0 -21
  881. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-replace-node-with-nodes-strategy.js +0 -28
  882. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-new-paragraph-strategy.js +0 -44
  883. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-delete-text-content-strategy.js +0 -20
  884. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-remove-node-strategy.js +0 -19
  885. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-blocks-after-block.js +0 -14
  886. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-blocks-before-block.js +0 -14
  887. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-nodes-after-node-action.js +0 -14
  888. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-nodes-before-node-action.js +0 -14
  889. package/dist/esm/content-state-a43e703e.js +0 -1146
  890. package/dist/esm/string-be824360.js +0 -11
  891. package/dist/esm/types-0cadfd73.js +0 -12
  892. package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-bg-color-controller.d.ts +0 -12
  893. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-append-blocks-strategy.d.ts +0 -13
  894. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-append-nodes-strategy.d.ts +0 -16
  895. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-image-strategy.d.ts +0 -19
  896. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-content-strategy.d.ts +0 -19
  897. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-after-strategy.d.ts +0 -13
  898. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-before-strategy.d.ts +0 -23
  899. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-after-node-strategy.d.ts +0 -13
  900. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-before-node-strategy.d.ts +0 -13
  901. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-child-block-strategy.d.ts +0 -13
  902. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy.d.ts +0 -16
  903. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-replace-node-with-nodes-strategy.d.ts +0 -20
  904. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/image-insert-new-paragraph-strategy.d.ts +0 -21
  905. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-delete-text-content-strategy.d.ts +0 -15
  906. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-remove-node-strategy.d.ts +0 -15
  907. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-blocks-after-block.d.ts +0 -13
  908. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-blocks-before-block.d.ts +0 -13
  909. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-nodes-after-node-action.d.ts +0 -13
  910. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-nodes-before-node-action.d.ts +0 -13
  911. package/dist/vega/p-080db42b.entry.js +0 -1
  912. package/dist/vega/p-083af15f.entry.js +0 -1
  913. package/dist/vega/p-0b5330e1.entry.js +0 -1
  914. package/dist/vega/p-0bb29d98.js +0 -1
  915. package/dist/vega/p-1792a352.entry.js +0 -1
  916. package/dist/vega/p-1a4f77de.entry.js +0 -1
  917. package/dist/vega/p-1a6dacc7.entry.js +0 -1
  918. package/dist/vega/p-21d26bb4.js +0 -2
  919. package/dist/vega/p-27ec0c07.entry.js +0 -1
  920. package/dist/vega/p-317920e6.entry.js +0 -1
  921. package/dist/vega/p-376b3ec7.entry.js +0 -1
  922. package/dist/vega/p-394594e9.entry.js +0 -1
  923. package/dist/vega/p-39906ad2.entry.js +0 -1
  924. package/dist/vega/p-43263510.js +0 -1
  925. package/dist/vega/p-435451be.entry.js +0 -1
  926. package/dist/vega/p-45eb1e01.entry.js +0 -1
  927. package/dist/vega/p-472108bd.entry.js +0 -1
  928. package/dist/vega/p-47a4c625.js +0 -1
  929. package/dist/vega/p-48ae6f02.entry.js +0 -1
  930. package/dist/vega/p-48b24fd3.entry.js +0 -1
  931. package/dist/vega/p-5773a9a3.js +0 -1
  932. package/dist/vega/p-5fe47fe8.entry.js +0 -1
  933. package/dist/vega/p-61ea2d75.entry.js +0 -1
  934. package/dist/vega/p-63adca7b.entry.js +0 -1
  935. package/dist/vega/p-699032fc.entry.js +0 -1
  936. package/dist/vega/p-6be16084.js +0 -1
  937. package/dist/vega/p-71c65f7e.js +0 -1
  938. package/dist/vega/p-81279fea.entry.js +0 -1
  939. package/dist/vega/p-88e08a33.js +0 -1
  940. package/dist/vega/p-8e662f26.js +0 -1
  941. package/dist/vega/p-8f8de5ab.entry.js +0 -1
  942. package/dist/vega/p-9a956a00.js +0 -1
  943. package/dist/vega/p-9ca7467d.entry.js +0 -1
  944. package/dist/vega/p-9d6003ef.js +0 -1
  945. package/dist/vega/p-a04491cc.entry.js +0 -1
  946. package/dist/vega/p-a1056063.entry.js +0 -1
  947. package/dist/vega/p-a7042a5a.entry.js +0 -1
  948. package/dist/vega/p-acf7667e.entry.js +0 -1
  949. package/dist/vega/p-b21b128c.entry.js +0 -1
  950. package/dist/vega/p-b75a8edb.entry.js +0 -1
  951. package/dist/vega/p-c21295cf.entry.js +0 -1
  952. package/dist/vega/p-ce5a3589.entry.js +0 -1
  953. package/dist/vega/p-d1355307.js +0 -1
  954. package/dist/vega/p-d1cb7f28.js +0 -1
  955. package/dist/vega/p-d7e0c57a.js +0 -1
  956. package/dist/vega/p-e1ed78db.js +0 -1
  957. package/dist/vega/p-e7b00bf0.js +0 -1
  958. package/dist/vega/p-ef84dc90.entry.js +0 -1
  959. package/dist/vega/p-f229d6d1.js +0 -1
  960. package/dist/vega/p-f27fcc7c.entry.js +0 -1
  961. package/dist/vega/p-f3ab00ad.entry.js +0 -1
  962. package/dist/vega/p-f543e911.entry.js +0 -1
  963. package/dist/vega/p-f5ac60f5.js +0 -1
  964. package/dist/vega/p-f7b5833d.entry.js +0 -1
  965. package/dist/vega/p-fc02a67a.js +0 -1
@@ -1,62 +1,180 @@
1
- import { h, H as Host, F as Fragment, r as registerInstance, c as createEvent, g as getElement } from './index-d0a47531.js';
1
+ import { h, H as Host, F as Fragment, r as registerInstance, c as createEvent, g as getElement } from './index-057d0f70.js';
2
2
  import { c as MapToComponentField, M as MapToComponentMethod, V as VegaSlimmer, I as InjectVegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
3
3
  import { V as VegaComponentUsageRuntimeMetricsSlimmer, I as InjectVegaGlobalSlimmer } from './component-usage-runtime-metrics-a84cc93e.js';
4
4
  import { s as sanitizeVegaComponent } from './component-7d906393.js';
5
5
  import { c as createEnterKeyHandlerToTriggerClick } from './accessibility-e5fd0fab.js';
6
6
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
7
- import { d as domNodeSubjectFactory, b as VegaDropdownClick, f as VegaChange, P as VegaImageInserted, a as VegaClick, M as VegaPopoverShow, N as VegaPopoverHide } from './dom-node-subject-factory-6374611f.js';
8
- import { V as VegaInternalComponentDidRender, a as VegaInternalRichTextEditorFlushChanges, v as VegaInternalRichTextEditDeleteSelectedNodes, w as VegaInternalRichTextImageClick, x as VegaInternalRichTextImageDeleteButtonClicked, r as VegaInternalPopoverUpdateTarget } from './vega-internal-event-id-4072659b.js';
9
- import { b as ToolbarButtonSlimmer, I as ImageAnnotationAction, T as TextNodeRenderingRegistry, a as TextColorToolbarButtonSlimmer } from './image-annotation-action-1e88f5a0.js';
7
+ import { d as domNodeSubjectFactory, b as VegaDropdownClick, f as VegaChange, P as VegaImageInserted, a as VegaClick, M as VegaPopoverShow, N as VegaPopoverHide } from './dom-node-subject-factory-202655e7.js';
8
+ import { V as VegaInternalComponentDidRender, b as VegaInternalRichTextEditorFlushChanges, y as VegaInternalRichTextEditDeleteSelectedNodes, z as VegaInternalRichTextImageClick, A as VegaInternalRichTextImageDeleteButtonClicked, s as VegaInternalPopoverUpdateTarget } from './vega-internal-event-id-b7c865de.js';
9
+ import { R as RTEDTORendererManager, V as VisualModeToolbarButtonSlimmer, I as ImageAnnotationAction, T as TextNodeRenderingRegistry, b as ToolbarButtonSlimmer, a as TextColorToolbarButtonSlimmer } from './image-annotation-action-215f92d6.js';
10
10
  import { V as VegaInternalIconManager } from './internal-icon-manager-7eac52c8.js';
11
- import { g as RTETextNode, J as BoldAnnotationAction, N as NodeAnnotationTypeEnum, G as RTECodeBlockNode, T as TextSplittableAction, K as ItalicAnnotation, O as UnderlineAnnotation, d as RTETextBlock, P as TextStyleAnnotationAction, Q as TextStyleAnnotation, V as BoldAnnotation, W as BlockAnnotationTypeEnum, X as ClearFormattingAnnotationAction, Y as CodeAnnotationAction, _ as StrikethroughAnnotation, D as SelectionChangeAction, L as LinkAnnotationAction, H as AnnotationAction, $ as IndentAnnotation, a as RTEImageNode, M as ModifyContentAction, f as ModifyContentActionType, a0 as HorizontalAlignmentAnnotation, c as AppendChildNodesAction, Z as ZERO_WIDTH_SPACE, a1 as UpdateTextAction, a2 as MergeTwoBlocksNodesAction, S as SplitBlockWithNodeAction, R as RemoveChildAction, b as ReplaceChildNodesAction, e as InsertBlocksBeforeAction, F as RTE_TEXT_COLORS, u as RTECodeBlock, I as InsertBlocksAfterAction, w as stateEntityRenderingRegistry } from './code-block-7bd4cb87.js';
12
- import { D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-c345ca2e.js';
11
+ import { a as RTETextNode, Y as BoldAnnotationAction, p as NodeAnnotationTypeEnum, X as RTECodeBlockNode, _ as ItalicAnnotationAction, $ as UnderlineAnnotationAction, R as RTETextBlock, a0 as TextStyleAnnotationAction, a1 as TextStyleAnnotation, a2 as BoldAnnotation, k as BlockAnnotationTypeEnum, a3 as ClearFormattingAnnotationAction, a4 as CodeAnnotationAction, a5 as StrikethroughAnnotationAction, T as SelectionChangeAction, L as LinkAnnotationAction, a6 as IndentAnnotationAction, w as ModifyContentAction, M as ModifyContentActionType, H as HorizontalAlignmentAnnotationAction, s as stateEntityRenderingRegistry, b as AppendChildrenAction, Z as ZERO_WIDTH_SPACE, U as UpdateTextAction, i as InsertChildrenBeforeAction, x as SplitBlockWithNodeAction, h as RemoveChildrenAction, v as ReplaceChildNodesAction, I as InsertChildrenAfterAction, o as RTECodeBlock } from './code-block-3d519665.js';
12
+ import { D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-999e21e3.js';
13
13
  import { g as generateUUID } from './create-public-api-runtime-metrics-slimmer-bedf3a1e.js';
14
- import { a as waitForComponentDidRender } from './index-fb3b74bd.js';
15
- import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-f0982f11.js';
16
- import { c as createEventEmitSlimmer } from './event-emit-slimmer-b5cb9b81.js';
17
- import { c as createSubStateNotifySlimmer } from './sub-state-notify-slimmer-0a6c3cbb.js';
18
- import { a as RTEListItemBlock, V as VegaRTEContent, B as BreakSingleBlockAction, b as RTEListBlock, R as RTEImageBlock } from './content-state-a43e703e.js';
19
- import { R as RTESelectionState, C as ComponentValueHistoryControllerSlimmer, A as AutoRunWhenReRenderTaskQueueSlimmer, a as SelectionController } from './component-value-history-controller-slimmer.abstract-41c58caf.js';
20
- import { b as FORM_ELEMENT_VALUE_CHANGE, D as DARK_MODE_CHANGE } from './static-subject-title-ca83d6b6.js';
14
+ import { a as waitForComponentDidRender } from './index-18a340fb.js';
15
+ import { c as RTEImageNode, a as RTEListItemBlock, V as VegaRTEContent, M as MergeTwoBlocksNodesAction, d as InsertNewParagraphAction, E as ElementToDtoStrategyProcessor, R as RTEImageBlock } from './content-state-100d1efd.js';
16
+ import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-47820eaa.js';
17
+ import { c as createEventEmitSlimmer } from './event-emit-slimmer-40973ec2.js';
18
+ import { c as createSubStateNotifySlimmer } from './sub-state-notify-slimmer-b3524c09.js';
19
+ import { R as RTESelectionState, C as ComponentValueHistoryControllerSlimmer, A as AutoRunWhenReRenderTaskQueueSlimmer, a as SelectionController } from './component-value-history-controller-slimmer.abstract-8b5be007.js';
20
+ import { b as FORM_ELEMENT_VALUE_CHANGE, D as DARK_MODE_CHANGE } from './static-subject-title-633b3474.js';
21
21
  import { O as Observer } from './observer-3959f9dd.js';
22
22
  import { d as debounce } from './timer-9321173b.js';
23
- import { D as DarkModeStateControllerSlimmer } from './dark-mode-state-controller-slimmer-f1c2c299.js';
24
- import { i as isNonNullable } from './type-guard-84b1f192.js';
25
- import { r as rgbToHex, f as findParent } from './ui-7d177fb0.js';
26
- import { R as RichTextEditorRequiredRule } from './rich-text-editor-required-rule-69d5f035.js';
27
- import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-b59a578e.js';
28
- import { T as TranslationSlimmer } from './translation-slimmer-f28e4708.js';
29
- import { V as VegaInternalThemeManager } from './dark-mode-style-controller-ea798fc8.js';
23
+ import { D as DarkModeStateControllerSlimmer } from './dark-mode-state-controller-slimmer-0c7d1c77.js';
24
+ import { R as RichTextEditorRequiredRule } from './rich-text-editor-required-rule-423c3c83.js';
25
+ import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-6b5b31f5.js';
26
+ import { T as TranslationSlimmer } from './translation-slimmer-c83b52c1.js';
27
+ import { V as VegaInternalThemeManager } from './dark-mode-style-controller-3bbb32dc.js';
30
28
  import { c as chevronDown } from './chevron-down-4a75d28e.js';
31
29
  import { t as trashCan } from './trash-can-8819a939.js';
30
+ import { f as findParent } from './ui-c20be16d.js';
32
31
  import { r as remoteInvocationRegistry } from './remote-invocation-registry-d69245c2.js';
33
32
  import './icon-manager-2ee1c619.js';
33
+ import './string-a953eafc.js';
34
+ import './type-guard-84b1f192.js';
35
+ import './breakpoints-d9faf11c.js';
36
+ import './ui-8424715a.js';
37
+ import './regex-dfe11abf.js';
38
+ import './typography-396de03f.js';
39
+ import './object-66c37948.js';
34
40
  import './dynamic-slimmer-90b8af32.js';
35
41
  import './wait-for-vega-handler-c2c07ac3.js';
36
- import './string-be824360.js';
37
- import './translation-a6eacb5f.js';
42
+ import './translation-833d9ef4.js';
38
43
  import './page-resize-observer-slimmer-0bf7fbf3.js';
39
- import './ui-8424715a.js';
40
- import './breakpoints-d9faf11c.js';
41
44
  import './try-get-document-bef0f526.js';
42
45
  import './internal-form-field-validation-rule.abstract-f5b6bdbf.js';
43
46
  import './mutation-observer-slimmer-58ebc13c.js';
44
47
  import './mutation-observer-filters-1a054fb0.js';
45
48
  import './array-7888f339.js';
46
49
  import './number-4398f2e1.js';
47
- import './sub-state-observer-slimmer-53eec5fb.js';
48
- import './internal-vega-event-manager-d80c53c5.js';
50
+ import './sub-state-observer-slimmer-c823d69c.js';
51
+ import './internal-vega-event-manager-526f8ed1.js';
49
52
  import './synchronize-task-queue-ac8acc3b.js';
50
- import './keyboard-manager-slimmer-751e98f5.js';
51
- import './keyboard-manager-3ffe81b0.js';
52
- import './regex-dfe11abf.js';
53
- import './typography-396de03f.js';
53
+ import './keyboard-manager-slimmer-818050ee.js';
54
+ import './keyboard-manager-fa6355cb.js';
54
55
  import './vega-env-manager-8f8dc473.js';
55
56
  import './feature-flag-controller-51659753.js';
56
57
  import './index-e9da316f.js';
57
58
  import './_commonjsHelpers-9943807e.js';
58
59
 
59
- var __decorate$A = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
60
+ /**
61
+ * Class to format HTML code with proper indentation and style cleanup.
62
+ */
63
+ class CodeFormatter {
64
+ constructor() {
65
+ /**
66
+ * Formats a given HTML source string by applying indentation and cleaning up styles.
67
+ *
68
+ * @param {string} source - The HTML source string to format.
69
+ * @param {CodeFormatOptions} options - Formatting options.
70
+ * @returns {string} The formatted HTML string.
71
+ */
72
+ this.format = (source, options = {}) => {
73
+ const { tabWidth = 4, useTabs = true } = options;
74
+ const indentUnit = useTabs ? '\t' : ' ';
75
+ const INDENT = indentUnit.repeat(tabWidth);
76
+ const tagRegex = /(<\/?[^>]+>)/g;
77
+ // Split source into tokens using tag boundaries while filtering out empty strings
78
+ const tokens = source.split(tagRegex).filter((t) => t.length > 0);
79
+ let indentLevel = 0;
80
+ let output = '';
81
+ for (let i = 0; i < tokens.length; i++) {
82
+ let token = tokens[i];
83
+ // Decrease indentation for closing tags
84
+ if (token.startsWith('</')) {
85
+ indentLevel = Math.max(0, indentLevel - 1);
86
+ }
87
+ const indent = INDENT.repeat(indentLevel);
88
+ if (token.startsWith('<')) {
89
+ // Clean and normalize inline style attributes
90
+ token = token.replace(/style\s*=\s*"([^"]*)"/g, (_, styleContent) => {
91
+ return `style="${this.formatStyle(styleContent)}"`;
92
+ });
93
+ const tagName = CodeFormatter.getTagName(token);
94
+ const isInline = CodeFormatter.INLINE_TAGS.has(tagName);
95
+ // Inline tag grouping: e.g., <strong>Text</strong> stays on one line
96
+ if (isInline && i + 2 < tokens.length && tokens[i + 2] === `</${tagName}>`) {
97
+ // Group consecutive inline tags
98
+ let inlineGroup = `${token}${tokens[i + 1]}${tokens[i + 2]}`;
99
+ i += 2;
100
+ // Keep merging consecutive inline tag pairs
101
+ while (i + 2 < tokens.length &&
102
+ tokens[i + 1].startsWith('<') &&
103
+ CodeFormatter.INLINE_TAGS.has(CodeFormatter.getTagName(tokens[i + 1])) &&
104
+ tokens[i + 3] === `</${CodeFormatter.getTagName(tokens[i + 1])}>`) {
105
+ inlineGroup += `${tokens[i + 1]}${tokens[i + 2]}${tokens[i + 3]}`;
106
+ i += 3;
107
+ }
108
+ output += `${indent}${inlineGroup}\n`;
109
+ }
110
+ else {
111
+ output += `${indent}${token}\n`;
112
+ // Increase indentation for non-void opening tags
113
+ if (!token.startsWith('</') &&
114
+ !token.endsWith('/>') &&
115
+ !/^<br|^<img|^<meta|^<input|^<hr/i.test(token)) {
116
+ indentLevel++;
117
+ }
118
+ }
119
+ }
120
+ else {
121
+ // Add plain text content with current indentation
122
+ const text = token;
123
+ if (text.length > 0) {
124
+ output += `${INDENT.repeat(indentLevel)}${text}\n`;
125
+ }
126
+ }
127
+ }
128
+ return output.trim();
129
+ };
130
+ }
131
+ /**
132
+ * Extracts the tag name from an HTML tag string.
133
+ *
134
+ * @param {string} tag - A raw HTML tag string
135
+ * @returns {string} The lowercase tag name, or an empty string if no match is found.
136
+ */
137
+ static getTagName(tag) {
138
+ var _a;
139
+ const match = tag.match(/^<\/?([a-z0-9]+)/i);
140
+ return (_a = match === null || match === void 0 ? void 0 : match[1].toLowerCase()) !== null && _a !== void 0 ? _a : '';
141
+ }
142
+ /**
143
+ * Formats a CSS style string by trimming white space and ensuring consistent semicolon spacing.
144
+ *
145
+ * @param {string} style - The CSS style string to format.
146
+ * @returns {string} The formatted style string.
147
+ */
148
+ formatStyle(style) {
149
+ return style
150
+ .split(';')
151
+ .map((s) => s.trim())
152
+ .filter(Boolean)
153
+ .join('; ');
154
+ }
155
+ }
156
+ CodeFormatter.INLINE_TAGS = new Set([
157
+ 'span',
158
+ 'strong',
159
+ 'em',
160
+ 'a',
161
+ 'b',
162
+ 'i',
163
+ 'u',
164
+ 'small',
165
+ 'abbr',
166
+ 'code',
167
+ 'b',
168
+ 'u',
169
+ 's',
170
+ 'mark',
171
+ 'time',
172
+ 'del',
173
+ 'ins',
174
+ ]);
175
+ const CodeFormatter$1 = new CodeFormatter();
176
+
177
+ var __decorate$B = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
60
178
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
61
179
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
62
180
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -72,6 +190,7 @@ class VegaRichTextEditorRenderer extends VegaSlimmer {
72
190
  return (h("div", { class: {
73
191
  'rich-text-editor-container': true,
74
192
  'disabled': this.disabled,
193
+ 'vega-hidden': this.sourceView,
75
194
  }, style: { minHeight: `${this.rows * 24}px` }, onClick: this.richTextContentFocus, role: "textbox", tabIndex: !this.disabled ? -1 : 0, onKeyDown: createEnterKeyHandlerToTriggerClick(), ref: (node) => (this.richTextContainerRef = node) },
76
195
  h("vega-rich-text-content", { ref: (ref) => (this.richTextContentRef = ref), content: this.value }),
77
196
  this.renderCharacterCounter()));
@@ -90,6 +209,20 @@ class VegaRichTextEditorRenderer extends VegaSlimmer {
90
209
  this.richTextContentFocus = () => {
91
210
  void this.richTextContentRef.vegaFocus();
92
211
  };
212
+ this.renderSourceViewContent = () => {
213
+ if (!this.allowSourceEdit)
214
+ return;
215
+ const sourceViewValue = this.sourceView
216
+ ? CodeFormatter$1.format(this.value.toHtml({
217
+ autoMatchFormat: this.sourceEditConfig.autoMatchFormat,
218
+ }))
219
+ : '';
220
+ return (h("div", { class: {
221
+ 'source-view-container': true,
222
+ 'vega-hidden': !this.sourceView,
223
+ } },
224
+ h("vega-code-block", { ref: (ref) => (this.sourceCodeBlockRef = ref), disabled: this.disabled, value: { language: 'html', code: sourceViewValue } })));
225
+ };
93
226
  }
94
227
  /**
95
228
  * Component lifecycle - [componentDidRender]{@link VegaRichTextEditor.componentDidRender}
@@ -108,7 +241,7 @@ class VegaRichTextEditorRenderer extends VegaSlimmer {
108
241
  /**
109
242
  * Returns the HTMLElement reference of the rich text content area.
110
243
  *
111
- * @returns {HTMLVegaRichTextContentElement} An HTMLVegaRichTextContentElement is being returned.
244
+ * @returns {Nullable<HTMLVegaRichTextContentElement>} An HTMLVegaRichTextContentElement is being returned.
112
245
  */
113
246
  getRichTextContentRef() {
114
247
  return this.richTextContentRef;
@@ -131,6 +264,11 @@ class VegaRichTextEditorRenderer extends VegaSlimmer {
131
264
  return this.richTextContentRef.shadowRoot.querySelector('.rich-text-content');
132
265
  }
133
266
  }
267
+ getSourceCode() {
268
+ if (this.sourceCodeBlockRef) {
269
+ return this.sourceCodeBlockRef.value.code;
270
+ }
271
+ }
134
272
  render() {
135
273
  return h(Host, null, this.renderRichTextEditor());
136
274
  }
@@ -139,45 +277,62 @@ class VegaRichTextEditorRenderer extends VegaSlimmer {
139
277
  this.renderLabel(),
140
278
  this.hint && this.renderHintMessage(),
141
279
  this.toolbarRenderer.render(),
142
- this.renderTextContent(),
280
+ this.renderContent(),
143
281
  this.renderErrorMessage()));
144
282
  }
145
283
  renderLabel() {
146
284
  return (this.label && (h("vega-field-label", { onClick: this.richTextContentFocus, isFieldRequired: this.required, disabled: this.disabled, label: this.label })));
147
285
  }
286
+ renderContent() {
287
+ return (h(Fragment, null,
288
+ this.renderTextContent(),
289
+ this.renderSourceViewContent()));
290
+ }
148
291
  }
149
- __decorate$A([
292
+ __decorate$B([
150
293
  MapToComponentField()
151
294
  ], VegaRichTextEditorRenderer.prototype, "host", void 0);
152
- __decorate$A([
295
+ __decorate$B([
153
296
  MapToComponentField()
154
297
  ], VegaRichTextEditorRenderer.prototype, "toolbarRenderer", void 0);
155
- __decorate$A([
298
+ __decorate$B([
156
299
  MapToComponentField()
157
300
  ], VegaRichTextEditorRenderer.prototype, "label", void 0);
158
- __decorate$A([
301
+ __decorate$B([
159
302
  MapToComponentField()
160
303
  ], VegaRichTextEditorRenderer.prototype, "required", void 0);
161
- __decorate$A([
304
+ __decorate$B([
162
305
  MapToComponentField()
163
306
  ], VegaRichTextEditorRenderer.prototype, "hint", void 0);
164
- __decorate$A([
307
+ __decorate$B([
165
308
  MapToComponentField()
166
309
  ], VegaRichTextEditorRenderer.prototype, "disabled", void 0);
167
- __decorate$A([
310
+ __decorate$B([
168
311
  MapToComponentField()
169
312
  ], VegaRichTextEditorRenderer.prototype, "rows", void 0);
170
- __decorate$A([
313
+ __decorate$B([
171
314
  MapToComponentField()
172
315
  ], VegaRichTextEditorRenderer.prototype, "placeholder", void 0);
173
- __decorate$A([
316
+ __decorate$B([
174
317
  MapToComponentField()
175
318
  ], VegaRichTextEditorRenderer.prototype, "value", void 0);
176
- __decorate$A([
319
+ __decorate$B([
320
+ MapToComponentField()
321
+ ], VegaRichTextEditorRenderer.prototype, "sourceView", void 0);
322
+ __decorate$B([
323
+ MapToComponentField()
324
+ ], VegaRichTextEditorRenderer.prototype, "toolbarItems", void 0);
325
+ __decorate$B([
326
+ MapToComponentField()
327
+ ], VegaRichTextEditorRenderer.prototype, "sourceEditConfig", void 0);
328
+ __decorate$B([
329
+ MapToComponentField()
330
+ ], VegaRichTextEditorRenderer.prototype, "allowSourceEdit", void 0);
331
+ __decorate$B([
177
332
  MapToComponentMethod('componentDidRender')
178
333
  ], VegaRichTextEditorRenderer.prototype, "componentDidRender", null);
179
334
 
180
- var __decorate$z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
335
+ var __decorate$A = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
181
336
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
182
337
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
183
338
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -222,73 +377,108 @@ class ToolbarRenderer extends VegaSlimmer {
222
377
  };
223
378
  }
224
379
  render() {
225
- return (h("vega-flex", { gap: "size-8", alignItems: "center", flexWrap: "wrap" }, this.toolbarItems.map((group) => {
226
- return (h("div", { class: "toolbar-btn-group" }, group.map((item) => {
227
- return this.getToolbarBtnRenderer(item).render();
380
+ return (h("vega-flex", { gap: "size-8", alignItems: "center", flexWrap: "wrap" },
381
+ this.allowSourceEdit && (h(Fragment, null,
382
+ h("div", { class: "toolbar-btn-group" }, this.sourceEditToolbarButtonSlimmer.render()),
383
+ !this.sourceView && this.toolbarItems.length > 0 && this.renderVegaDivider())),
384
+ this.toolbarItems.map((group) => {
385
+ return (h("div", { class: "toolbar-btn-group" }, group.map((item) => {
386
+ const presetRenderer = this.getToolbarBtnRenderer(item);
387
+ const customRenderer = RTEDTORendererManager.getRTEToolbarButtonRenderer(item);
388
+ if (presetRenderer) {
389
+ return presetRenderer.render();
390
+ }
391
+ else if (customRenderer) {
392
+ return customRenderer.render(h, {
393
+ host: this.host,
394
+ rteRange: this.selectionController.getCurrentRange(),
395
+ sourceEditMode: this.sourceView,
396
+ });
397
+ }
398
+ return null;
399
+ })));
228
400
  })));
229
- })));
401
+ }
402
+ renderVegaDivider() {
403
+ return (h("vega-box", { height: "size-32" },
404
+ h("vega-divider", { direction: "vertical" })));
230
405
  }
231
406
  }
232
- __decorate$z([
407
+ __decorate$A([
233
408
  MapToComponentField()
234
409
  ], ToolbarRenderer.prototype, "toolbarItems", void 0);
235
- __decorate$z([
410
+ __decorate$A([
411
+ MapToComponentField()
412
+ ], ToolbarRenderer.prototype, "allowSourceEdit", void 0);
413
+ __decorate$A([
414
+ MapToComponentField()
415
+ ], ToolbarRenderer.prototype, "host", void 0);
416
+ __decorate$A([
236
417
  MapToComponentField()
237
418
  ], ToolbarRenderer.prototype, "clearStyleToolbarButtonSlimmer", void 0);
238
- __decorate$z([
419
+ __decorate$A([
239
420
  MapToComponentField()
240
421
  ], ToolbarRenderer.prototype, "boldToolbarButtonSlimmer", void 0);
241
- __decorate$z([
422
+ __decorate$A([
242
423
  MapToComponentField()
243
424
  ], ToolbarRenderer.prototype, "textStylesToolbarButtonSlimmer", void 0);
244
- __decorate$z([
425
+ __decorate$A([
245
426
  MapToComponentField()
246
427
  ], ToolbarRenderer.prototype, "italicToolbarButtonSlimmer", void 0);
247
- __decorate$z([
428
+ __decorate$A([
248
429
  MapToComponentField()
249
430
  ], ToolbarRenderer.prototype, "underlineToolbarButtonSlimmer", void 0);
250
- __decorate$z([
431
+ __decorate$A([
251
432
  MapToComponentField()
252
433
  ], ToolbarRenderer.prototype, "textColorToolbarButtonSlimmer", void 0);
253
- __decorate$z([
434
+ __decorate$A([
254
435
  MapToComponentField()
255
436
  ], ToolbarRenderer.prototype, "bulletsNumbersToolbarButtonSlimmer", void 0);
256
- __decorate$z([
437
+ __decorate$A([
257
438
  MapToComponentField()
258
439
  ], ToolbarRenderer.prototype, "horizontalAlignmentToolbarButtonSlimmer", void 0);
259
- __decorate$z([
440
+ __decorate$A([
260
441
  MapToComponentField()
261
442
  ], ToolbarRenderer.prototype, "strikethroughToolbarButtonSlimmer", void 0);
262
- __decorate$z([
443
+ __decorate$A([
263
444
  MapToComponentField()
264
445
  ], ToolbarRenderer.prototype, "imageToolbarButtonSlimmer", void 0);
265
- __decorate$z([
446
+ __decorate$A([
266
447
  MapToComponentField()
267
448
  ], ToolbarRenderer.prototype, "moreIndentToolbarButtonSlimmer", void 0);
268
- __decorate$z([
449
+ __decorate$A([
269
450
  MapToComponentField()
270
451
  ], ToolbarRenderer.prototype, "lessIndentToolbarButtonSlimmer", void 0);
271
- __decorate$z([
452
+ __decorate$A([
272
453
  MapToComponentField()
273
454
  ], ToolbarRenderer.prototype, "codeToolbarButtonSlimmer", void 0);
274
- __decorate$z([
455
+ __decorate$A([
275
456
  MapToComponentField()
276
457
  ], ToolbarRenderer.prototype, "linkToolbarButtonSlimmer", void 0);
277
- __decorate$z([
458
+ __decorate$A([
278
459
  MapToComponentField()
279
460
  ], ToolbarRenderer.prototype, "codeBlockToolbarButtonSlimmer", void 0);
461
+ __decorate$A([
462
+ MapToComponentField()
463
+ ], ToolbarRenderer.prototype, "sourceEditToolbarButtonSlimmer", void 0);
464
+ __decorate$A([
465
+ MapToComponentField()
466
+ ], ToolbarRenderer.prototype, "selectionController", void 0);
467
+ __decorate$A([
468
+ MapToComponentField()
469
+ ], ToolbarRenderer.prototype, "sourceView", void 0);
280
470
 
281
471
  const bold = {
282
472
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 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="M0 64C0 46.3 14.3 32 32 32H80 96 224c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128H96 80 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48V256 96H32C14.3 96 0 81.7 0 64zM224 224c35.3 0 64-28.7 64-64s-28.7-64-64-64H112V224H224zM112 288V416H256c35.3 0 64-28.7 64-64s-28.7-64-64-64H224 112z"/></svg>`,
283
473
  };
284
474
 
285
- var __decorate$y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
475
+ var __decorate$z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
286
476
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
287
477
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
288
478
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
289
479
  return c > 3 && r && Object.defineProperty(target, key, r), r;
290
480
  };
291
- class BoldToolbarButtonSlimmer extends ToolbarButtonSlimmer {
481
+ class BoldToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
292
482
  constructor() {
293
483
  super({
294
484
  icon: 'bold',
@@ -325,7 +515,7 @@ class BoldToolbarButtonSlimmer extends ToolbarButtonSlimmer {
325
515
  (() => {
326
516
  VegaInternalIconManager.register({ bold });
327
517
  })();
328
- __decorate$y([
518
+ __decorate$z([
329
519
  MapToComponentField()
330
520
  ], BoldToolbarButtonSlimmer.prototype, "selectionController", void 0);
331
521
 
@@ -333,32 +523,13 @@ const italic = {
333
523
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 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="M128 64c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H293.3L160 416h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H90.7L224 96H160c-17.7 0-32-14.3-32-32z"/></svg>`,
334
524
  };
335
525
 
336
- /**
337
- * Action to toggle the italic annotation
338
- */
339
- class ItalicAnnotationAction extends TextSplittableAction {
340
- constructor(italic) {
341
- super();
342
- this.isFlushable = true;
343
- this.italic = italic;
344
- }
345
- /**
346
- * Converts the action to an annotation
347
- *
348
- * @returns {ItalicAnnotation} The annotation
349
- */
350
- toAnnotation() {
351
- return new ItalicAnnotation(this.italic);
352
- }
353
- }
354
-
355
- var __decorate$x = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
526
+ var __decorate$y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
356
527
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
357
528
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
358
529
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
359
530
  return c > 3 && r && Object.defineProperty(target, key, r), r;
360
531
  };
361
- class ItalicToolbarButtonSlimmer extends ToolbarButtonSlimmer {
532
+ class ItalicToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
362
533
  constructor() {
363
534
  super({
364
535
  icon: 'italic',
@@ -393,7 +564,7 @@ class ItalicToolbarButtonSlimmer extends ToolbarButtonSlimmer {
393
564
  (() => {
394
565
  VegaInternalIconManager.register({ italic });
395
566
  })();
396
- __decorate$x([
567
+ __decorate$y([
397
568
  MapToComponentField()
398
569
  ], ItalicToolbarButtonSlimmer.prototype, "selectionController", void 0);
399
570
 
@@ -401,32 +572,13 @@ const underline = {
401
572
  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="M16 64c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H128V224c0 53 43 96 96 96s96-43 96-96V96H304c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H384V224c0 88.4-71.6 160-160 160s-160-71.6-160-160V96H48C30.3 96 16 81.7 16 64zM0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z"/></svg>`,
402
573
  };
403
574
 
404
- /**
405
- * Action to toggle the underline annotation
406
- */
407
- class UnderlineAnnotationAction extends TextSplittableAction {
408
- constructor(underline) {
409
- super();
410
- this.isFlushable = true;
411
- this.underline = underline;
412
- }
413
- /**
414
- * Converts the action to an annotation
415
- *
416
- * @returns {Annotation} the annotation
417
- */
418
- toAnnotation() {
419
- return new UnderlineAnnotation(this.underline);
420
- }
421
- }
422
-
423
- var __decorate$w = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
575
+ var __decorate$x = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
424
576
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
425
577
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
426
578
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
427
579
  return c > 3 && r && Object.defineProperty(target, key, r), r;
428
580
  };
429
- class UnderlineToolbarButtonSlimmer extends ToolbarButtonSlimmer {
581
+ class UnderlineToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
430
582
  constructor() {
431
583
  super({
432
584
  icon: 'underline',
@@ -464,7 +616,7 @@ class UnderlineToolbarButtonSlimmer extends ToolbarButtonSlimmer {
464
616
  (() => {
465
617
  VegaInternalIconManager.register({ underline });
466
618
  })();
467
- __decorate$w([
619
+ __decorate$x([
468
620
  MapToComponentField()
469
621
  ], UnderlineToolbarButtonSlimmer.prototype, "selectionController", void 0);
470
622
 
@@ -472,13 +624,13 @@ const textSize = {
472
624
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 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 128V96h96l0 320H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H224l0-320h96v32c0 17.7 14.3 32 32 32s32-14.3 32-32V80c0-26.5-21.5-48-48-48H192 48C21.5 32 0 53.5 0 80v48c0 17.7 14.3 32 32 32s32-14.3 32-32zM384 304V288h64l0 128H432c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H512l0-128h64v16c0 17.7 14.3 32 32 32s32-14.3 32-32V272c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v32c0 17.7 14.3 32 32 32s32-14.3 32-32z"/></svg>`,
473
625
  };
474
626
 
475
- var __decorate$v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
627
+ var __decorate$w = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
476
628
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
477
629
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
478
630
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
479
631
  return c > 3 && r && Object.defineProperty(target, key, r), r;
480
632
  };
481
- class TextStylesToolbarButtonSlimmer extends ToolbarButtonSlimmer {
633
+ class TextStylesToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
482
634
  constructor() {
483
635
  super({
484
636
  icon: 'text-size',
@@ -520,7 +672,7 @@ class TextStylesToolbarButtonSlimmer extends ToolbarButtonSlimmer {
520
672
  const boldAnnotation = new BoldAnnotation(item.bold);
521
673
  return (h("vega-dropdown-item", { key: item.key, itemKey: item.key },
522
674
  h("vega-box", { padding: { right: 'size-20' } },
523
- h("div", { style: Object.assign(Object.assign({}, textStyleAnnotation.render()), boldAnnotation.render()) }, this.translationSlimmer.t(item.label)))));
675
+ h("div", { style: Object.assign(Object.assign({}, textStyleAnnotation.renderStyle({ standalone: true })), boldAnnotation.renderStyle({ standalone: true })) }, this.translationSlimmer.t(item.label)))));
524
676
  })));
525
677
  }
526
678
  isSelected() {
@@ -536,6 +688,7 @@ class TextStylesToolbarButtonSlimmer extends ToolbarButtonSlimmer {
536
688
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(dropdownRef, VegaDropdownClick, this.handleDropdownItemClick);
537
689
  }
538
690
  getSelectedSourceKey() {
691
+ var _a;
539
692
  const currentSelectedBlocks = this.selectionController
540
693
  .getSelectedBlocks()
541
694
  .filter((block) => block instanceof RTETextBlock);
@@ -543,7 +696,7 @@ class TextStylesToolbarButtonSlimmer extends ToolbarButtonSlimmer {
543
696
  currentSelectedBlocks.every((block) => block.type === currentSelectedBlocks[0].type);
544
697
  if (isSameType) {
545
698
  const blockAnnotation = currentSelectedBlocks[0].getAnnotationByType(BlockAnnotationTypeEnum.TEXT_STYLE);
546
- return blockAnnotation.textStyle;
699
+ return (_a = blockAnnotation === null || blockAnnotation === void 0 ? void 0 : blockAnnotation.textStyle) !== null && _a !== void 0 ? _a : '';
547
700
  }
548
701
  return '';
549
702
  }
@@ -583,10 +736,10 @@ TextStylesToolbarButtonSlimmer.items = [
583
736
  label: 'Paragraph',
584
737
  },
585
738
  ];
586
- __decorate$v([
739
+ __decorate$w([
587
740
  MapToComponentField()
588
741
  ], TextStylesToolbarButtonSlimmer.prototype, "selectionController", void 0);
589
- __decorate$v([
742
+ __decorate$w([
590
743
  MapToComponentField()
591
744
  ], TextStylesToolbarButtonSlimmer.prototype, "focusController", void 0);
592
745
 
@@ -594,13 +747,13 @@ const TextSlash = {
594
747
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 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="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L355.7 253.5 400.2 96H503L497 120.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l11-44.1C577.6 61.3 554.7 32 523.5 32H376.1h-.3H204.5c-22 0-41.2 15-46.6 36.4l-6.3 25.2L38.8 5.1zm168 131.7c.1-.3 .2-.7 .3-1L217 96H333.7L301.3 210.8l-94.5-74.1zM243.3 416H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H309.8l17.6-62.1L272.9 311 243.3 416z"/></svg>`,
595
748
  };
596
749
 
597
- var __decorate$u = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
750
+ var __decorate$v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
598
751
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
599
752
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
600
753
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
601
754
  return c > 3 && r && Object.defineProperty(target, key, r), r;
602
755
  };
603
- class ClearStyleToolbarButtonSlimmer extends ToolbarButtonSlimmer {
756
+ class ClearStyleToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
604
757
  constructor() {
605
758
  super({
606
759
  icon: 'text-slash',
@@ -632,7 +785,7 @@ class ClearStyleToolbarButtonSlimmer extends ToolbarButtonSlimmer {
632
785
  'text-slash': TextSlash,
633
786
  });
634
787
  })();
635
- __decorate$u([
788
+ __decorate$v([
636
789
  MapToComponentField()
637
790
  ], ClearStyleToolbarButtonSlimmer.prototype, "selectionController", void 0);
638
791
 
@@ -640,13 +793,13 @@ const codeSimple = {
640
793
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 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="M214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 214.6 118.6zm146.7 0L498.7 256 361.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3z"/></svg>`,
641
794
  };
642
795
 
643
- var __decorate$t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
796
+ var __decorate$u = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
644
797
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
645
798
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
646
799
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
647
800
  return c > 3 && r && Object.defineProperty(target, key, r), r;
648
801
  };
649
- class CodeToolbarButtonSlimmer extends ToolbarButtonSlimmer {
802
+ class CodeToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
650
803
  constructor() {
651
804
  super({
652
805
  icon: 'code-simple',
@@ -679,7 +832,7 @@ class CodeToolbarButtonSlimmer extends ToolbarButtonSlimmer {
679
832
  (() => {
680
833
  VegaInternalIconManager.register({ 'code-simple': codeSimple });
681
834
  })();
682
- __decorate$t([
835
+ __decorate$u([
683
836
  MapToComponentField()
684
837
  ], CodeToolbarButtonSlimmer.prototype, "selectionController", void 0);
685
838
 
@@ -687,32 +840,13 @@ const strikethrough = {
687
840
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path fill="currentColor" d="M332.2 319.9c17.22 12.17 22.33 26.51 18.61 48.21c-3.031 17.59-10.88 29.34-24.72 36.99c-35.44 19.75-108.5 11.96-186-19.68c-16.34-6.686-35.03 1.156-41.72 17.53s1.188 35.05 17.53 41.71c31.75 12.93 95.69 35.37 157.6 35.37c29.62 0 58.81-5.156 83.72-18.96c30.81-17.09 50.44-45.46 56.72-82.11c3.998-23.27 2.168-42.58-3.488-59.05H332.2zM488 239.9l-176.5-.0309c-15.85-5.613-31.83-10.34-46.7-14.62c-85.47-24.62-110.9-39.05-103.7-81.33c2.5-14.53 10.16-25.96 22.72-34.03c20.47-13.15 64.06-23.84 155.4 .3438c17.09 4.531 34.59-5.654 39.13-22.74c4.531-17.09-5.656-34.59-22.75-39.12c-91.31-24.18-160.7-21.62-206.3 7.654C121.8 73.72 103.6 101.1 98.09 133.1C89.26 184.5 107.9 217.3 137.2 239.9L24 239.9c-13.25 0-24 10.75-24 23.1c0 13.25 10.75 23.1 24 23.1h464c13.25 0 24-10.75 24-23.1C512 250.7 501.3 239.9 488 239.9z"/></svg>`,
688
841
  };
689
842
 
690
- /**
691
- * Action to toggle the strikethrough annotation
692
- */
693
- class StrikethroughAnnotationAction extends TextSplittableAction {
694
- constructor(underline) {
695
- super();
696
- this.isFlushable = true;
697
- this.strikethrough = underline;
698
- }
699
- /**
700
- * Converts the action to an annotation
701
- *
702
- * @returns {Annotation} the annotation
703
- */
704
- toAnnotation() {
705
- return new StrikethroughAnnotation(this.strikethrough);
706
- }
707
- }
708
-
709
- var __decorate$s = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
843
+ var __decorate$t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
710
844
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
711
845
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
712
846
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
713
847
  return c > 3 && r && Object.defineProperty(target, key, r), r;
714
848
  };
715
- class StrikethroughToolbarButtonSlimmer extends ToolbarButtonSlimmer {
849
+ class StrikethroughToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
716
850
  constructor() {
717
851
  super({
718
852
  icon: 'strikethrough',
@@ -750,7 +884,7 @@ class StrikethroughToolbarButtonSlimmer extends ToolbarButtonSlimmer {
750
884
  (() => {
751
885
  VegaInternalIconManager.register({ strikethrough });
752
886
  })();
753
- __decorate$s([
887
+ __decorate$t([
754
888
  MapToComponentField()
755
889
  ], StrikethroughToolbarButtonSlimmer.prototype, "selectionController", void 0);
756
890
 
@@ -758,13 +892,13 @@ const link = {
758
892
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 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="M562.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L405.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C189.5 251.2 196 330 246 380c56.5 56.5 148 56.5 204.5 0L562.8 267.7zM43.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C57 372 57 321 88.5 289.5L200.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C416.5 260.8 410 182 360 132c-56.5-56.5-148-56.5-204.5 0L43.2 244.3z"/></svg>`,
759
893
  };
760
894
 
761
- var __decorate$r = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
895
+ var __decorate$s = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
762
896
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
763
897
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
764
898
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
765
899
  return c > 3 && r && Object.defineProperty(target, key, r), r;
766
900
  };
767
- class LinkToolbarButtonSlimmer extends ToolbarButtonSlimmer {
901
+ class LinkToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
768
902
  constructor() {
769
903
  super({
770
904
  icon: 'link',
@@ -783,6 +917,7 @@ class LinkToolbarButtonSlimmer extends ToolbarButtonSlimmer {
783
917
  link: { href: url, groupKey: groupKey },
784
918
  newText: textChanged ? text : undefined,
785
919
  needMergeNode: textChanged && this.currentSelectedNodes.length > 1,
920
+ type: 'link',
786
921
  }));
787
922
  });
788
923
  return;
@@ -840,7 +975,7 @@ class LinkToolbarButtonSlimmer extends ToolbarButtonSlimmer {
840
975
  (() => {
841
976
  VegaInternalIconManager.register({ link: link });
842
977
  })();
843
- __decorate$r([
978
+ __decorate$s([
844
979
  MapToComponentField()
845
980
  ], LinkToolbarButtonSlimmer.prototype, "selectionController", void 0);
846
981
 
@@ -848,32 +983,13 @@ const indent = {
848
983
  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="M0 64C0 46.3 14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32zm32 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM127.8 268.6L25.8 347.9C15.3 356.1 0 348.6 0 335.3V176.7c0-13.3 15.3-20.8 25.8-12.6l101.9 79.3c8.2 6.4 8.2 18.9 0 25.3z"/></svg>`,
849
984
  };
850
985
 
851
- /**
852
- * Action to toggle block indent annotation
853
- */
854
- class IndentAnnotationAction extends AnnotationAction {
855
- constructor(indent) {
856
- super();
857
- this.isFlushable = true;
858
- this.indent = indent;
859
- }
860
- /**
861
- * Converts the action to an annotation
862
- *
863
- * @returns {Annotation} The annotation
864
- */
865
- toAnnotation() {
866
- return new IndentAnnotation(this.indent);
867
- }
868
- }
869
-
870
- var __decorate$q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
986
+ var __decorate$r = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
871
987
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
872
988
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
873
989
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
874
990
  return c > 3 && r && Object.defineProperty(target, key, r), r;
875
991
  };
876
- class MoreIndentToolbarButtonSlimmer extends ToolbarButtonSlimmer {
992
+ class MoreIndentToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
877
993
  constructor() {
878
994
  super({
879
995
  icon: 'indent',
@@ -903,7 +1019,7 @@ class MoreIndentToolbarButtonSlimmer extends ToolbarButtonSlimmer {
903
1019
  (() => {
904
1020
  VegaInternalIconManager.register({ indent: indent });
905
1021
  })();
906
- __decorate$q([
1022
+ __decorate$r([
907
1023
  MapToComponentField()
908
1024
  ], MoreIndentToolbarButtonSlimmer.prototype, "selectionController", void 0);
909
1025
 
@@ -911,13 +1027,13 @@ const outdent = {
911
1027
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 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="M6 64C6 46.3 20.3 32 38 32H422c17.7 0 32 14.3 32 32s-14.3 32-32 32H38C20.3 96 6 81.7 6 64zM198 192c0-17.7 14.3-32 32-32H422c17.7 0 32 14.3 32 32s-14.3 32-32 32H230c-17.7 0-32-14.3-32-32zm32 96H422c17.7 0 32 14.3 32 32s-14.3 32-32 32H230c-17.7 0-32-14.3-32-32s14.3-32 32-32zM6 448c0-17.7 14.3-32 32-32H422c17.7 0 32 14.3 32 32s-14.3 32-32 32H38c-17.7 0-32-14.3-32-32zm.2-179.4c-8.2-6.4-8.2-18.9 0-25.3l101.9-79.3c10.5-8.2 25.8-.7 25.8 12.6V335.3c0 13.3-15.3 20.8-25.8 12.6L6.2 268.6z"/></svg>`,
912
1028
  };
913
1029
 
914
- var __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1030
+ var __decorate$q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
915
1031
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
916
1032
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
917
1033
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
918
1034
  return c > 3 && r && Object.defineProperty(target, key, r), r;
919
1035
  };
920
- class LessIndentToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1036
+ class LessIndentToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
921
1037
  constructor() {
922
1038
  super({
923
1039
  icon: 'outdent',
@@ -948,7 +1064,7 @@ class LessIndentToolbarButtonSlimmer extends ToolbarButtonSlimmer {
948
1064
  (() => {
949
1065
  VegaInternalIconManager.register({ outdent: outdent });
950
1066
  })();
951
- __decorate$p([
1067
+ __decorate$q([
952
1068
  MapToComponentField()
953
1069
  ], LessIndentToolbarButtonSlimmer.prototype, "selectionController", void 0);
954
1070
 
@@ -969,13 +1085,13 @@ class ImageUpdateUrlAction extends ModifyContentAction {
969
1085
  }
970
1086
  }
971
1087
 
972
- var __decorate$o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1088
+ var __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
973
1089
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
974
1090
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
975
1091
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
976
1092
  return c > 3 && r && Object.defineProperty(target, key, r), r;
977
1093
  };
978
- class ImageToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1094
+ class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
979
1095
  constructor() {
980
1096
  super({
981
1097
  icon: 'image',
@@ -1027,13 +1143,13 @@ class ImageToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1027
1143
  (() => {
1028
1144
  VegaInternalIconManager.register({ image: image });
1029
1145
  })();
1030
- __decorate$o([
1146
+ __decorate$p([
1031
1147
  MapToComponentField()
1032
1148
  ], ImageToolbarButtonSlimmer.prototype, "insertImageController", void 0);
1033
- __decorate$o([
1149
+ __decorate$p([
1034
1150
  MapToComponentField()
1035
1151
  ], ImageToolbarButtonSlimmer.prototype, "imageInsertedEventEmitter", void 0);
1036
- __decorate$o([
1152
+ __decorate$p([
1037
1153
  MapToComponentField()
1038
1154
  ], ImageToolbarButtonSlimmer.prototype, "selectionController", void 0);
1039
1155
 
@@ -1070,13 +1186,13 @@ class TransformParagraphAction extends ModifyContentAction {
1070
1186
  }
1071
1187
  }
1072
1188
 
1073
- var __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1189
+ var __decorate$o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1074
1190
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1075
1191
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1076
1192
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1077
1193
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1078
1194
  };
1079
- class BulletsToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1195
+ class BulletsToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
1080
1196
  constructor() {
1081
1197
  super({
1082
1198
  icon: 'list-ul',
@@ -1129,20 +1245,20 @@ class BulletsToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1129
1245
  }
1130
1246
  }
1131
1247
  }
1132
- __decorate$n([
1248
+ __decorate$o([
1133
1249
  MapToComponentField()
1134
1250
  ], BulletsToolbarButtonSlimmer.prototype, "selectionController", void 0);
1135
- __decorate$n([
1251
+ __decorate$o([
1136
1252
  MapToComponentField()
1137
1253
  ], BulletsToolbarButtonSlimmer.prototype, "popoverRef", void 0);
1138
1254
 
1139
- var __decorate$m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1255
+ var __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1140
1256
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1141
1257
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1142
1258
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1143
1259
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1144
1260
  };
1145
- class NumbersToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1261
+ class NumbersToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
1146
1262
  constructor() {
1147
1263
  super({
1148
1264
  icon: 'list-ol',
@@ -1193,20 +1309,20 @@ class NumbersToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1193
1309
  }
1194
1310
  }
1195
1311
  }
1196
- __decorate$m([
1312
+ __decorate$n([
1197
1313
  MapToComponentField()
1198
1314
  ], NumbersToolbarButtonSlimmer.prototype, "selectionController", void 0);
1199
- __decorate$m([
1315
+ __decorate$n([
1200
1316
  MapToComponentField()
1201
1317
  ], NumbersToolbarButtonSlimmer.prototype, "popoverRef", void 0);
1202
1318
 
1203
- var __decorate$l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1319
+ var __decorate$m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1204
1320
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1205
1321
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1206
1322
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1207
1323
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1208
1324
  };
1209
- class BulletsNumbersToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1325
+ class BulletsNumbersToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
1210
1326
  constructor() {
1211
1327
  super({
1212
1328
  icon: 'list-ul',
@@ -1250,49 +1366,30 @@ class BulletsNumbersToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1250
1366
  'list-ol': ListOL,
1251
1367
  });
1252
1368
  })();
1253
- __decorate$l([
1369
+ __decorate$m([
1254
1370
  MapToComponentField()
1255
1371
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "selectionController", void 0);
1256
- __decorate$l([
1372
+ __decorate$m([
1257
1373
  InjectVegaSlimmer()
1258
1374
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "bulletsToolbarButtonSlimmer", void 0);
1259
- __decorate$l([
1375
+ __decorate$m([
1260
1376
  InjectVegaSlimmer()
1261
1377
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "numbersToolbarButtonSlimmer", void 0);
1262
- __decorate$l([
1378
+ __decorate$m([
1263
1379
  MapToComponentMethod('componentWillRender')
1264
1380
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "componentWillRender", null);
1265
1381
 
1266
- /**
1267
- * Action to toggle block horizontal alignment annotation
1268
- */
1269
- class HorizontalAlignmentAnnotationAction extends AnnotationAction {
1270
- constructor(textAlign) {
1271
- super();
1272
- this.isFlushable = true;
1273
- this.textAlign = textAlign;
1274
- }
1275
- /**
1276
- * Converts the action to an annotation
1277
- *
1278
- * @returns {HorizontalAlignmentAnnotation} The annotation
1279
- */
1280
- toAnnotation() {
1281
- return new HorizontalAlignmentAnnotation(this.textAlign);
1282
- }
1283
- }
1284
-
1285
1382
  const AlignLeft = {
1286
1383
  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="M288 64c0 17.7-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32H256c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H256c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"/></svg>`,
1287
1384
  };
1288
1385
 
1289
- var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1386
+ var __decorate$l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1290
1387
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1291
1388
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1292
1389
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1293
1390
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1294
1391
  };
1295
- class LeftAlignToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1392
+ class LeftAlignToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
1296
1393
  constructor() {
1297
1394
  super({
1298
1395
  icon: 'align-left',
@@ -1321,10 +1418,10 @@ class LeftAlignToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1321
1418
  'align-left': AlignLeft,
1322
1419
  });
1323
1420
  })();
1324
- __decorate$k([
1421
+ __decorate$l([
1325
1422
  MapToComponentField()
1326
1423
  ], LeftAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
1327
- __decorate$k([
1424
+ __decorate$l([
1328
1425
  MapToComponentField()
1329
1426
  ], LeftAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
1330
1427
 
@@ -1332,13 +1429,13 @@ const AlignCenter = {
1332
1429
  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="M352 64c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32zm96 128c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32zM0 448c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM352 320c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32z"/></svg>`,
1333
1430
  };
1334
1431
 
1335
- var __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1432
+ var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1336
1433
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1337
1434
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1338
1435
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1339
1436
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1340
1437
  };
1341
- class CenterAlignToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1438
+ class CenterAlignToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
1342
1439
  constructor() {
1343
1440
  super({
1344
1441
  icon: 'align-center',
@@ -1367,10 +1464,10 @@ class CenterAlignToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1367
1464
  'align-center': AlignCenter,
1368
1465
  });
1369
1466
  })();
1370
- __decorate$j([
1467
+ __decorate$k([
1371
1468
  MapToComponentField()
1372
1469
  ], CenterAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
1373
- __decorate$j([
1470
+ __decorate$k([
1374
1471
  MapToComponentField()
1375
1472
  ], CenterAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
1376
1473
 
@@ -1378,13 +1475,13 @@ const AlignRight = {
1378
1475
  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="M448 64c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"/></svg>`,
1379
1476
  };
1380
1477
 
1381
- var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1478
+ var __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1382
1479
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1383
1480
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1384
1481
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1385
1482
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1386
1483
  };
1387
- class RightAlignToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1484
+ class RightAlignToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
1388
1485
  constructor() {
1389
1486
  super({
1390
1487
  icon: 'align-right',
@@ -1413,10 +1510,10 @@ class RightAlignToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1413
1510
  'align-right': AlignRight,
1414
1511
  });
1415
1512
  })();
1416
- __decorate$i([
1513
+ __decorate$j([
1417
1514
  MapToComponentField()
1418
1515
  ], RightAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
1419
- __decorate$i([
1516
+ __decorate$j([
1420
1517
  MapToComponentField()
1421
1518
  ], RightAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
1422
1519
 
@@ -1424,13 +1521,13 @@ const AlignJustify = {
1424
1521
  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="M448 64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32zm0 256c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32zM0 192c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM448 448c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32z"/></svg>`,
1425
1522
  };
1426
1523
 
1427
- var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1524
+ var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1428
1525
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1429
1526
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1430
1527
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1431
1528
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1432
1529
  };
1433
- class JustifyAlignToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1530
+ class JustifyAlignToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
1434
1531
  constructor() {
1435
1532
  super({
1436
1533
  icon: 'align-justify',
@@ -1459,20 +1556,20 @@ class JustifyAlignToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1459
1556
  'align-justify': AlignJustify,
1460
1557
  });
1461
1558
  })();
1462
- __decorate$h([
1559
+ __decorate$i([
1463
1560
  MapToComponentField()
1464
1561
  ], JustifyAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
1465
- __decorate$h([
1562
+ __decorate$i([
1466
1563
  MapToComponentField()
1467
1564
  ], JustifyAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
1468
1565
 
1469
- var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1566
+ var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1470
1567
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1471
1568
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1472
1569
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1473
1570
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1474
1571
  };
1475
- class HorizontalAlignmentToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1572
+ class HorizontalAlignmentToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
1476
1573
  constructor() {
1477
1574
  super({
1478
1575
  icon: 'align-left',
@@ -1524,22 +1621,22 @@ class HorizontalAlignmentToolbarButtonSlimmer extends ToolbarButtonSlimmer {
1524
1621
  .some((block) => block.type === 'code-block'));
1525
1622
  }
1526
1623
  }
1527
- __decorate$g([
1624
+ __decorate$h([
1528
1625
  MapToComponentField()
1529
1626
  ], HorizontalAlignmentToolbarButtonSlimmer.prototype, "selectionController", void 0);
1530
- __decorate$g([
1627
+ __decorate$h([
1531
1628
  InjectVegaSlimmer()
1532
1629
  ], HorizontalAlignmentToolbarButtonSlimmer.prototype, "leftAlignToolbarButtonSlimmer", void 0);
1533
- __decorate$g([
1630
+ __decorate$h([
1534
1631
  InjectVegaSlimmer()
1535
1632
  ], HorizontalAlignmentToolbarButtonSlimmer.prototype, "centerAlignToolbarButtonSlimmer", void 0);
1536
- __decorate$g([
1633
+ __decorate$h([
1537
1634
  InjectVegaSlimmer()
1538
1635
  ], HorizontalAlignmentToolbarButtonSlimmer.prototype, "rightAlignToolbarButtonSlimmer", void 0);
1539
- __decorate$g([
1636
+ __decorate$h([
1540
1637
  InjectVegaSlimmer()
1541
1638
  ], HorizontalAlignmentToolbarButtonSlimmer.prototype, "justifiedToolbarButtonSlimmer", void 0);
1542
- __decorate$g([
1639
+ __decorate$h([
1543
1640
  MapToComponentMethod('componentWillRender')
1544
1641
  ], HorizontalAlignmentToolbarButtonSlimmer.prototype, "componentWillRender", null);
1545
1642
 
@@ -1580,7 +1677,7 @@ class RTEEditorState {
1580
1677
  }
1581
1678
  }
1582
1679
 
1583
- var __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1680
+ var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1584
1681
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1585
1682
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1586
1683
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1613,6 +1710,7 @@ class ValueController extends VegaSlimmer {
1613
1710
  if (this.value && !(this.value instanceof VegaRTEContent)) {
1614
1711
  this.value = VegaRTEContent.fromJSON(this.value);
1615
1712
  }
1713
+ this.registerEditorRefAndContent();
1616
1714
  }
1617
1715
  /**
1618
1716
  * Watches the value of the editor and updates the internal value.
@@ -1631,6 +1729,7 @@ class ValueController extends VegaSlimmer {
1631
1729
  detail: this.value,
1632
1730
  });
1633
1731
  }
1732
+ this.registerEditorRefAndContent();
1634
1733
  }
1635
1734
  /**
1636
1735
  * Updates the value of the editor and restore the selection.
@@ -1653,36 +1752,44 @@ class ValueController extends VegaSlimmer {
1653
1752
  isAcceptableFlushChange() {
1654
1753
  return true;
1655
1754
  }
1755
+ /**
1756
+ * Register the host element and the current content.
1757
+ */
1758
+ registerEditorRefAndContent() {
1759
+ if (this.host && this.host.value) {
1760
+ stateEntityRenderingRegistry.register(this.host, this.host.value);
1761
+ }
1762
+ }
1656
1763
  }
1657
1764
  ValueController.VALUE_CHANGE_DEBOUNCE_TIME = 50;
1658
- __decorate$f([
1765
+ __decorate$g([
1659
1766
  MapToComponentField()
1660
1767
  ], ValueController.prototype, "host", void 0);
1661
- __decorate$f([
1768
+ __decorate$g([
1662
1769
  MapToComponentField({ writable: true })
1663
1770
  ], ValueController.prototype, "value", void 0);
1664
- __decorate$f([
1771
+ __decorate$g([
1665
1772
  MapToComponentField()
1666
1773
  ], ValueController.prototype, "changeEventEmitter", void 0);
1667
- __decorate$f([
1774
+ __decorate$g([
1668
1775
  MapToComponentField()
1669
1776
  ], ValueController.prototype, "valueController", void 0);
1670
- __decorate$f([
1777
+ __decorate$g([
1671
1778
  MapToComponentField()
1672
1779
  ], ValueController.prototype, "historyController", void 0);
1673
- __decorate$f([
1780
+ __decorate$g([
1674
1781
  MapToComponentField()
1675
1782
  ], ValueController.prototype, "selectionController", void 0);
1676
- __decorate$f([
1783
+ __decorate$g([
1677
1784
  MapToComponentMethod('connectedCallback')
1678
1785
  ], ValueController.prototype, "connectedCallback", null);
1679
- __decorate$f([
1786
+ __decorate$g([
1680
1787
  MapToComponentMethod('disconnectedCallback')
1681
1788
  ], ValueController.prototype, "disconnectedCallback", null);
1682
- __decorate$f([
1789
+ __decorate$g([
1683
1790
  MapToComponentMethod('componentWillLoad')
1684
1791
  ], ValueController.prototype, "componentWillLoad", null);
1685
- __decorate$f([
1792
+ __decorate$g([
1686
1793
  MapToComponentMethod('watchValueUpdate')
1687
1794
  ], ValueController.prototype, "watchValueUpdate", null);
1688
1795
 
@@ -1759,7 +1866,7 @@ class BaseHandler {
1759
1866
  createEmptyParagraph() {
1760
1867
  const paragraph = new RTETextBlock(generateUUID(), 'paragraph');
1761
1868
  const textNode = new RTETextNode(`${paragraph.id}1`, '', paragraph);
1762
- paragraph.apply(new AppendChildNodesAction([textNode]));
1869
+ paragraph.apply(new AppendChildrenAction([textNode]));
1763
1870
  return paragraph;
1764
1871
  }
1765
1872
  /**
@@ -1782,20 +1889,6 @@ class BaseHandler {
1782
1889
  }
1783
1890
  }
1784
1891
 
1785
- /**
1786
- * Insert a new node before a existing node
1787
- *
1788
- * @example currentNode.parentBlock.apply(new InsertNodesBeforeAction(currentNode, newNode, ...))
1789
- */
1790
- class InsertNodesBeforeAction extends ModifyContentAction {
1791
- constructor(referNode, ...nodesToBeInserted) {
1792
- super();
1793
- this.type = ModifyContentActionType.INSERT_NODES_BEFORE;
1794
- this.referNode = referNode;
1795
- this.nodesToBeInserted = nodesToBeInserted;
1796
- }
1797
- }
1798
-
1799
1892
  /**
1800
1893
  * Replace the text node selected content to new text
1801
1894
  *
@@ -1811,6 +1904,23 @@ class ReplaceSelectedTextAction extends ModifyContentAction {
1811
1904
  }
1812
1905
  }
1813
1906
 
1907
+ /**
1908
+ * Action to type character into a decorator node
1909
+ *
1910
+ * @example decoratorNode.parent.apply(new InsertTextToDecoratorNodeAction(decoratorNode, '', 0 | 1))
1911
+ */
1912
+ class InsertTextToDecoratorNodeAction extends ModifyContentAction {
1913
+ constructor(decoratorNode, text, offset) {
1914
+ super();
1915
+ this.type = ModifyContentActionType.INSERT_TEXT_TO_DECORATOR_NODE;
1916
+ this.text = '';
1917
+ this.offset = 0;
1918
+ this.decoratorNode = decoratorNode;
1919
+ this.text = text;
1920
+ this.offset = offset;
1921
+ }
1922
+ }
1923
+
1814
1924
  /** Handles inserting text into a VegaRTEContent based on the current selection and input event. User input character will trigger this callback */
1815
1925
  class InsertTextHandler extends BaseHandler {
1816
1926
  /**
@@ -1829,27 +1939,32 @@ class InsertTextHandler extends BaseHandler {
1829
1939
  this.selectionController.enqueueSelectionRangeFutureState(cursorNode, text.length);
1830
1940
  }
1831
1941
  else if (selectedNodes[0] instanceof RTETextNode) {
1832
- let nextOffset = startOffset + text.length;
1833
- let updateFlag = false;
1834
- let cursorNode = selectedNodes[0];
1835
- if (cursorNode.text === '\n') {
1836
- cursorNode = this.insertTextToLineBreakNode(cursorNode, text);
1837
- updateFlag = true;
1838
- }
1839
- else {
1840
- if (startContainer.nodeValue === ZERO_WIDTH_SPACE &&
1841
- startOffset === ZERO_WIDTH_SPACE.length &&
1842
- cursorNode.isEmpty()) {
1843
- startContainer.nodeValue = '';
1844
- nextOffset = nextOffset - ZERO_WIDTH_SPACE.length;
1845
- }
1846
- if (cursorNode instanceof RTETextNode) {
1942
+ if (selectedNodes[0].isContentEditable()) {
1943
+ let nextOffset = startOffset + text.length;
1944
+ let updateFlag = false;
1945
+ let cursorNode = selectedNodes[0];
1946
+ if (cursorNode.text === '\n') {
1947
+ cursorNode = this.insertTextToLineBreakNode(cursorNode, text);
1847
1948
  updateFlag = true;
1848
- cursorNode.apply(new ReplaceSelectedTextAction(text, currentRange));
1849
1949
  }
1950
+ else {
1951
+ if (startContainer.nodeValue === ZERO_WIDTH_SPACE &&
1952
+ startOffset === ZERO_WIDTH_SPACE.length &&
1953
+ cursorNode.isEmpty()) {
1954
+ startContainer.nodeValue = '';
1955
+ nextOffset = nextOffset - ZERO_WIDTH_SPACE.length;
1956
+ }
1957
+ if (cursorNode instanceof RTETextNode) {
1958
+ updateFlag = true;
1959
+ cursorNode.apply(new ReplaceSelectedTextAction(text, currentRange));
1960
+ }
1961
+ }
1962
+ updateFlag &&
1963
+ this.selectionController.enqueueSelectionRangeFutureState(cursorNode, Math.min(nextOffset, cursorNode['text'].length));
1964
+ }
1965
+ else {
1966
+ selectedNodes[0].parent.apply(new InsertTextToDecoratorNodeAction(selectedNodes[0], text, startOffset));
1850
1967
  }
1851
- updateFlag &&
1852
- this.selectionController.enqueueSelectionRangeFutureState(cursorNode, Math.min(nextOffset, cursorNode['text'].length));
1853
1968
  }
1854
1969
  }
1855
1970
  else {
@@ -1886,15 +2001,17 @@ class InsertTextHandler extends BaseHandler {
1886
2001
  insertTextToLineBreakNode(lineBreakNode, text) {
1887
2002
  const { startOffset, endOffset } = this.selectionController.getCurrentRange();
1888
2003
  const textBlock = lineBreakNode.parent;
1889
- const index = textBlock.children.indexOf(lineBreakNode);
1890
- if (startOffset === 0 && startOffset === endOffset && textBlock.children[index + 1]) {
1891
- const newTextNode = lineBreakNode.cloneWithText(text);
1892
- textBlock.apply(new InsertNodesBeforeAction(lineBreakNode, newTextNode));
1893
- return newTextNode;
1894
- }
1895
- else {
1896
- lineBreakNode.apply(new UpdateTextAction(text));
1897
- return lineBreakNode;
2004
+ if (textBlock instanceof RTETextBlock) {
2005
+ const index = textBlock.children.indexOf(lineBreakNode);
2006
+ if (startOffset === 0 && startOffset === endOffset && textBlock.children[index + 1]) {
2007
+ const newTextNode = lineBreakNode.cloneWithText(text);
2008
+ textBlock.apply(new InsertChildrenBeforeAction(lineBreakNode, newTextNode));
2009
+ return newTextNode;
2010
+ }
2011
+ else {
2012
+ lineBreakNode.apply(new UpdateTextAction(text));
2013
+ return lineBreakNode;
2014
+ }
1898
2015
  }
1899
2016
  }
1900
2017
  }
@@ -1971,7 +2088,7 @@ class InsertParagraphHandler extends BaseHandler {
1971
2088
  const currentBlock = cursorNode.parent;
1972
2089
  const { startOffset } = this.selectionController.getCurrentRange();
1973
2090
  if (currentBlock) {
1974
- const breakAction = new BreakSingleBlockAction(cursorNode, startOffset);
2091
+ const breakAction = new InsertNewParagraphAction(cursorNode, startOffset);
1975
2092
  currentBlock.apply(breakAction);
1976
2093
  this.switchCaretPositionToNextElement(breakAction.newBlock);
1977
2094
  }
@@ -2121,1114 +2238,85 @@ class DeleteBlockContentAction extends ModifyContentAction {
2121
2238
  /** Handles the deletion of content within a VegaRTE editor. User press backspace or delete will trigger this method */
2122
2239
  class DeleteContentHandler extends BaseHandler {
2123
2240
  /**
2124
- * Delete the selected node from the current state.
2125
- */
2126
- handleEvent() {
2127
- const selectedBlocks = this.selectionController.getSelectedBlocks();
2128
- if (selectedBlocks.length < 2) {
2129
- this.deleteContentWithSingleBlock();
2130
- }
2131
- else {
2132
- this.deleteContentWithMultipleNodes();
2133
- }
2134
- }
2135
- /**
2136
- * Handles the deletion of content within a single block in an RTE editor.
2137
- */
2138
- deleteContentWithSingleBlock() {
2139
- const range = this.selectionController.getCurrentRange();
2140
- const { startOffset, endOffset, startContainer, endContainer } = range;
2141
- const selectedBlocks = this.selectionController.getSelectedBlocks();
2142
- const selectedNodes = this.selectionController.getSelectedNodes();
2143
- if (startOffset !== endOffset || startContainer !== endContainer) {
2144
- this.deleteContentWithMultipleNodes();
2145
- }
2146
- else if (selectedBlocks[0]) {
2147
- const deleteAction = new DeleteBlockContentAction(selectedNodes[0], startOffset);
2148
- selectedBlocks[0].apply(deleteAction);
2149
- if (deleteAction.previousNode) {
2150
- const nextOffset = deleteAction.previousNode === selectedNodes[0]
2151
- ? Math.max(0, startOffset - 1)
2152
- : this.getNodeEndOffset(deleteAction.previousNode);
2153
- this.selectionController.enqueueSelectionRangeFutureState(deleteAction.previousNode, nextOffset);
2154
- }
2155
- else if (deleteAction.nextNode) {
2156
- this.selectionController.enqueueSelectionRangeFutureState(deleteAction.nextNode, 0);
2157
- }
2158
- else if (this.currentState.children.length === 0) {
2159
- // Add a empty paragraph if delete all content to make sure the caret position
2160
- this.insertDefaultParagraph();
2161
- }
2162
- }
2163
- }
2164
- /**
2165
- * Deletes the content within multiple nodes selected by the user.
2166
- */
2167
- deleteContentWithMultipleNodes() {
2168
- const selectedNodes = this.selectionController.getSelectedNodes();
2169
- const cursorNode = this.removeSelectionRange(true);
2170
- const lastSelectedNode = selectedNodes[selectedNodes.length - 1];
2171
- if (selectedNodes.length > 1 &&
2172
- lastSelectedNode instanceof RTETextNode &&
2173
- lastSelectedNode.isEmpty()) {
2174
- lastSelectedNode.parent.apply(new RemoveChildAction(lastSelectedNode));
2175
- }
2176
- this.convertFirstBlockToParagraph(cursorNode.parent);
2177
- }
2178
- /**
2179
- * If the first block is not paragraph, convert the block to paragraph after delete all text
2180
- *
2181
- * @param {RTEBlock} block - The first block instance
2182
- */
2183
- convertFirstBlockToParagraph(block) {
2184
- const firstBlock = this.currentState.children[0];
2185
- if (firstBlock === block &&
2186
- block instanceof RTETextBlock &&
2187
- block.children.length === 1 &&
2188
- block.children[0].isEmpty() &&
2189
- block.type !== 'paragraph') {
2190
- const paragraph = this.createEmptyParagraph();
2191
- paragraph.apply(new ReplaceChildNodesAction(block.children));
2192
- block.parent.apply(new InsertBlocksBeforeAction(block, paragraph));
2193
- block.parent.apply(new RemoveChildAction(block));
2194
- }
2195
- }
2196
- /**
2197
- * Creates a new paragraph element with a text node and appends it to the current state.
2198
- */
2199
- insertDefaultParagraph() {
2200
- const paragraph = this.createEmptyParagraph();
2201
- this.currentState.apply(new AppendChildNodesAction([paragraph]));
2202
- this.selectionController.enqueueSelectionRangeFutureState(paragraph.children[0], 1);
2203
- }
2204
- /**
2205
- * Returns the end offset of a given node in a Rich Text Editor based on its type and text content.
2206
- *
2207
- * @param {RTENode} node - text node or image node
2208
- * @returns {number} Returns a number value.
2209
- */
2210
- getNodeEndOffset(node) {
2211
- if (node.type === 'IMAGE') {
2212
- return 1;
2213
- }
2214
- else if (node.type === 'TEXT') {
2215
- return node['text'] === '\n' ? 0 : node['text'].length;
2216
- }
2217
- }
2218
- }
2219
-
2220
- /**
2221
- * Abstract class to define strategies for processing HTML elements
2222
- */
2223
- class ElementToDTOStrategy {
2224
- }
2225
- /**
2226
- * Class to represent the output of a strategy applied to HTML elements
2227
- */
2228
- class ElementToDTOStrategyOutput {
2229
- constructor(currentStrategy, currentElements) {
2230
- this.childrenOutput = [];
2231
- this.currentStrategy = currentStrategy;
2232
- this.currentElements = currentElements;
2233
- }
2234
- /**
2235
- * Set children output.
2236
- *
2237
- * @param {ElementToDTOStrategyOutput[]} childrenOutput - children outputs.
2238
- */
2239
- setChildrenOutput(childrenOutput) {
2240
- this.childrenOutput = childrenOutput;
2241
- }
2242
- /**
2243
- * Transform current output and children output to DTO
2244
- *
2245
- * @returns {Nullable<RTEContentBlock>} - DTO.
2246
- */
2247
- toDto() {
2248
- const currentBlock = this.currentStrategy.handle(this.currentElements);
2249
- if (this.childrenOutput.length > 0 && currentBlock) {
2250
- this.currentStrategy.appendChildBlocks(currentBlock, this.childrenOutput
2251
- .map((childOutput) => childOutput.toDto())
2252
- .filter(isNonNullable));
2253
- }
2254
- return currentBlock;
2255
- }
2256
- }
2257
-
2258
- /** Abstract class for block html element to RTE block dto */
2259
- class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
2260
- /**
2261
- * Generate child nodes of block element, this will inherit all annotations from parent to text node and
2262
- * flat the child nodes.
2263
- *
2264
- * Example:
2265
- * <li>
2266
- * <u><i>text1</i></u>
2267
- * <span style='font-weight: bold;'><span>text2</span></span>
2268
- * text3
2269
- * </li>
2270
- * will tranform to:
2271
- * <li>
2272
- * <span>text1</span> // with underline and italic annotations
2273
- * <span>text2</span> // with bold annotations
2274
- * <span>text3</span> // no annotations
2275
- * </li>
2276
- *
2277
- * @param {HTMLElement[]} elements - Child elements.
2278
- * @param {VegaRTETextAnnotations | VegaRTECodeAnnotations} annotations - Parent annotations.
2279
- * @returns {VegaRTETextNode[]} - Text node DTO.
2280
- */
2281
- generateChildNodes(elements, annotations = {}) {
2282
- const childNodes = [];
2283
- elements.forEach((child) => {
2284
- if (child.nodeType === Node.TEXT_NODE) {
2285
- if (this.isInvalidTextNode(child))
2286
- return;
2287
- childNodes.push({
2288
- id: generateUUID(),
2289
- type: 'text',
2290
- text: String(child.textContent),
2291
- annotations: annotations,
2292
- });
2293
- }
2294
- else {
2295
- childNodes.push(...this.generateChildNodes(Array.from(child.childNodes), Object.assign({}, annotations, this.generateTextNodeAnnotations(child, annotations))));
2296
- }
2297
- });
2298
- return childNodes;
2299
- }
2300
- /**
2301
- * Generate annotations map for block element.
2302
- *
2303
- * @param {HTMLElement} element - current element.
2304
- * @returns {VegaRTEBlockAnnotations} - Text block annotations.
2305
- */
2306
- generateBlockAnnotations(element) {
2307
- const annotations = {};
2308
- const textAlign = this.getTextAlign(element);
2309
- const indent = this.getIndent(element);
2310
- if (textAlign)
2311
- annotations.textAlign = textAlign;
2312
- if (indent)
2313
- annotations.indent = indent;
2314
- return annotations;
2315
- }
2316
- /**
2317
- * Generate annotations map for text node element.
2318
- *
2319
- * @param {HTMLElement} element - current element.
2320
- * @param {VegaRTETextAnnotations | VegaRTECodeAnnotations} parentAnnotations - parent annotations
2321
- * @returns {VegaRTETextAnnotations | VegaRTECodeAnnotations} - Text node annotations.
2322
- */
2323
- generateTextNodeAnnotations(element, parentAnnotations = {}) {
2324
- if (this.isCode(element))
2325
- return { code: true };
2326
- const annotations = {
2327
- bold: this.isBold(element),
2328
- italic: this.isItalic(element),
2329
- underline: this.isUnderline(element),
2330
- strikethrough: this.isStrikethrough(element),
2331
- };
2332
- parentAnnotations.bold && (annotations.bold = true);
2333
- parentAnnotations.underline && (annotations.underline = true);
2334
- parentAnnotations.italic && (annotations.italic = true);
2335
- parentAnnotations.strikethrough && (annotations.strikethrough = true);
2336
- const color = this.getColor(element);
2337
- const link = this.getLink(element);
2338
- if (color)
2339
- annotations.textColor = color;
2340
- if (link)
2341
- annotations.link = link;
2342
- return annotations;
2343
- }
2344
- /**
2345
- * Check is a invalid text node.
2346
- *
2347
- * @param {HTMLElement} element - Current node element.
2348
- * @returns {boolean} - boolean.
2349
- */
2350
- isInvalidTextNode(element) {
2351
- if (element.nodeValue && element.nodeValue.includes('\t')) {
2352
- const value = element.nodeValue.replace(/\n|\t/gm, '');
2353
- if (value.length === 0)
2354
- return true;
2355
- }
2356
- return false;
2357
- }
2358
- /**
2359
- * Is code element.
2360
- *
2361
- * @param {HTMLElement} element - current element.
2362
- * @returns {boolean} - boolean.
2363
- */
2364
- isCode(element) {
2365
- return (element.classList.contains('v-rte--code') ||
2366
- element.nodeName === 'CODE' ||
2367
- element.style.fontFamily === 'monospace');
2368
- }
2369
- /**
2370
- * Is bold element.
2371
- *
2372
- * @param {HTMLElement} element - current element.
2373
- * @returns {boolean} - boolean.
2374
- */
2375
- isBold(element) {
2376
- return (element.nodeName === 'STRONG' ||
2377
- element.nodeName === 'B' ||
2378
- element.style.fontWeight === 'bold' ||
2379
- element.style.fontWeight === '700');
2380
- }
2381
- /**
2382
- * Is italic element.
2383
- *
2384
- * @param {HTMLElement} element - current element.
2385
- * @returns {boolean} - boolean.
2386
- */
2387
- isItalic(element) {
2388
- return element.nodeName === 'I' || element.style.fontStyle === 'italic' || element.nodeName === 'EM';
2389
- }
2390
- /**
2391
- * Is underline element.
2392
- *
2393
- * @param {HTMLElement} element - current element.
2394
- * @returns {boolean} - boolean.
2395
- */
2396
- isUnderline(element) {
2397
- return (element.style.textDecoration.includes('underline') ||
2398
- element.nodeName === 'U' ||
2399
- element.nodeName === 'INS' ||
2400
- element.classList.contains('v-rte--underline'));
2401
- }
2402
- /**
2403
- * Is strikethrough element.
2404
- *
2405
- * @param {HTMLElement} element - current element.
2406
- * @returns {boolean} - boolean.
2407
- */
2408
- isStrikethrough(element) {
2409
- return (element.style.textDecoration.includes('line-through') ||
2410
- element.nodeName === 'S' ||
2411
- element.nodeName === 'DEL' ||
2412
- element.classList.contains('v-rte--strikethrough'));
2413
- }
2414
- /**
2415
- * Get current color of element.
2416
- *
2417
- * @param {HTMLElement} element - current element.
2418
- * @returns {Nullable<string>} - color.
2419
- */
2420
- getColor(element) {
2421
- var _a;
2422
- const color = element.style.color;
2423
- const hexColor = (_a = rgbToHex(color)) === null || _a === void 0 ? void 0 : _a.toUpperCase();
2424
- if (hexColor) {
2425
- const colorSchema = RTE_TEXT_COLORS.find((schema) => schema.light === hexColor || schema.dark === hexColor);
2426
- if (colorSchema)
2427
- return colorSchema.key;
2428
- return null;
2429
- }
2430
- else {
2431
- for (const color of RTE_TEXT_COLORS) {
2432
- if (element.style.color.includes(color.key)) {
2433
- return color.key;
2434
- }
2435
- }
2436
- return null;
2437
- }
2438
- }
2439
- /**
2440
- * Get current link of element.
2441
- *
2442
- * @param {HTMLElement} element - current element.
2443
- * @returns {Nullable<VegaRTELink>} - link.
2444
- */
2445
- getLink(element) {
2446
- if (element.nodeName === 'A') {
2447
- return {
2448
- href: element.href,
2449
- groupKey: generateUUID(),
2450
- };
2451
- }
2452
- return null;
2453
- }
2454
- /**
2455
- * Get text align of current element.
2456
- *
2457
- * @param {HTMLElement} element - current element.
2458
- * @returns {Nullable<VegaRTEBlockAlignment>} - Text align.
2459
- */
2460
- getTextAlign(element) {
2461
- const classList = element.classList;
2462
- if (classList.contains(`v-rte--horizontal-alignment-left`)) {
2463
- return 'left';
2464
- }
2465
- else if (classList.contains(`v-rte--horizontal-alignment-center`)) {
2466
- return 'center';
2467
- }
2468
- else if (classList.contains(`v-rte--horizontal-alignment-right`)) {
2469
- return 'right';
2470
- }
2471
- else if (classList.contains(`v-rte--horizontal-alignment-justify`)) {
2472
- return 'justify';
2473
- }
2474
- const style = element.style;
2475
- switch (style.textAlign) {
2476
- case 'center':
2477
- return 'center';
2478
- case 'right':
2479
- return 'right';
2480
- case 'justify':
2481
- return 'justify';
2482
- case 'left':
2483
- return 'left';
2484
- default:
2485
- return null;
2486
- }
2487
- }
2488
- /**
2489
- * Get indent of current element.
2490
- *
2491
- * @param {HTMLElement} element - current element.
2492
- * @returns {Nullable<number>} - Indent.
2493
- */
2494
- getIndent(element) {
2495
- const style = element.style;
2496
- let marginLeft;
2497
- if (style.marginLeft) {
2498
- marginLeft = style.marginLeft;
2499
- }
2500
- else if (style.margin) {
2501
- const margins = style.margin.split(' ');
2502
- switch (margins.length) {
2503
- case 4:
2504
- marginLeft = margins[3];
2505
- break;
2506
- case 2:
2507
- case 3:
2508
- marginLeft = margins[1];
2509
- break;
2510
- default:
2511
- marginLeft = margins[0];
2512
- break;
2513
- }
2514
- }
2515
- else {
2516
- return null;
2517
- }
2518
- const marginLeftNumber = Number(marginLeft.replace('px', ''));
2519
- return marginLeftNumber && marginLeftNumber >= 0 ? Math.floor(marginLeftNumber / 16) : null;
2520
- }
2521
- }
2522
-
2523
- /** Transform continue inline block elements to text block DTO */
2524
- class ContinueInlineToRTETextBlockStrategy extends BlockToRTEBlockStrategyAbstract {
2525
- /**
2526
- * Can be handle.
2527
- *
2528
- * @param {HTMLElement[]} elementsArray - Current elements.
2529
- * @param {number} currentIndex - Current element index.
2530
- * @returns {number} - can be handled element count.
2531
- */
2532
- canHandle(elementsArray, currentIndex) {
2533
- let count = 0;
2534
- for (let i = currentIndex; i < elementsArray.length; i++) {
2535
- const element = elementsArray[i];
2536
- if (element.nodeType === Node.TEXT_NODE ||
2537
- (ContinueInlineToRTETextBlockStrategy.canHandleTags.includes(element.nodeName) &&
2538
- !(element.textContent === '' && element.querySelector('IMG')))) {
2539
- count++;
2540
- }
2541
- else {
2542
- break;
2543
- }
2544
- }
2545
- return count;
2546
- }
2547
- /**
2548
- * Parse to a text block.
2549
- *
2550
- * @param {HTMLElement[]} elementsArray - Current elements.
2551
- * @returns {Nullable<RTEContentBlock>} - Text block.
2552
- */
2553
- handle(elementsArray) {
2554
- const parent = elementsArray[0].parentElement;
2555
- const nodes = this.generateChildNodes(elementsArray, this.generateTextNodeAnnotations(parent));
2556
- if (nodes.length === 0)
2557
- return null;
2558
- return RTETextBlock.from({
2559
- id: generateUUID(),
2560
- type: 'paragraph',
2561
- nodes: nodes,
2562
- annotations: this.generateBlockAnnotations(parent),
2563
- });
2564
- }
2565
- /* istanbul ignore next */
2566
- /**
2567
- * Append child blocks.
2568
- */
2569
- // eslint-disable-next-line @typescript-eslint/no-empty-function
2570
- appendChildBlocks() { }
2571
- /**
2572
- * Should continue process to child elements.
2573
- *
2574
- * @returns {boolean} - boolean.
2575
- */
2576
- shouldProceedToElementChildren() {
2577
- return false;
2578
- }
2579
- }
2580
- ContinueInlineToRTETextBlockStrategy.canHandleTags = [
2581
- 'SPAN',
2582
- 'STRONG',
2583
- 'CODE',
2584
- 'I',
2585
- 'EM',
2586
- 'S',
2587
- 'U',
2588
- 'A',
2589
- 'VEGA-RICH-TEXT-LINK-EDITOR',
2590
- 'B',
2591
- 'INS',
2592
- 'DEL',
2593
- ];
2594
-
2595
- /** Transform ul element to list block DTO */
2596
- class UlToRTEListBlockStrategy extends BlockToRTEBlockStrategyAbstract {
2597
- /**
2598
- * Can be handle.
2599
- *
2600
- * @param {HTMLElement[]} elementsArray - Current elements.
2601
- * @param {number} currentIndex - Current element index.
2602
- * @returns {number} - can be handled element count.
2603
- */
2604
- canHandle(elementsArray, currentIndex) {
2605
- return elementsArray[currentIndex].tagName === 'UL' ? 1 : 0;
2606
- }
2607
- /**
2608
- * Parse to a block.
2609
- *
2610
- * @param {HTMLElement[]} elementsArray - Current elements.
2611
- * @returns {Nullable<RTEContentBlock>} - Bullet list block.
2612
- */
2613
- handle(elementsArray) {
2614
- if (elementsArray[0].childNodes.length === 0)
2615
- return null;
2616
- return RTEListBlock.from({
2617
- id: generateUUID(),
2618
- type: 'bullet-list',
2619
- blocks: [],
2620
- annotations: this.generateBlockAnnotations(elementsArray[0]),
2621
- });
2622
- }
2623
- /**
2624
- * Append child list item blocks to current list block.
2625
- *
2626
- * @param {RTEListBlock} currentBlock - Current list block.
2627
- * @param {RTEListItemBlock[]} childBlocks - Current list item blocks.
2628
- */
2629
- appendChildBlocks(currentBlock, childBlocks) {
2630
- currentBlock.children = childBlocks;
2631
- childBlocks.forEach((block) => (block.parent = currentBlock));
2632
- }
2633
- /**
2634
- * Should continue process to child elements.
2635
- *
2636
- * @returns {boolean} - boolean.
2637
- */
2638
- shouldProceedToElementChildren() {
2639
- return true;
2640
- }
2641
- }
2642
-
2643
- /** Transform li element to list item block DTO */
2644
- class LiToRTEListItemBlockStrategy extends BlockToRTEBlockStrategyAbstract {
2645
- /**
2646
- * Can be handle.
2647
- *
2648
- * @param {HTMLElement[]} elementsArray - Current elements.
2649
- * @param {number} currentIndex - Current element index.
2650
- * @returns {number} - can be handled element count.
2651
- */
2652
- canHandle(elementsArray, currentIndex) {
2653
- return elementsArray[currentIndex].tagName === 'LI' ? 1 : 0;
2654
- }
2655
- /**
2656
- * Parse to a list item block.
2657
- *
2658
- * @param {HTMLElement[]} elementsArray - Current elements.
2659
- * @returns {Nullable<RTEContentBlock>} - List item block.
2660
- */
2661
- handle(elementsArray) {
2662
- if (elementsArray[0].childNodes.length === 0)
2663
- return null;
2664
- return RTEListItemBlock.from({
2665
- id: generateUUID(),
2666
- type: 'list-item',
2667
- nodes: this.generateChildNodes(Array.from(elementsArray[0].childNodes).filter((item) => !['UL', 'OL'].includes(item.nodeName)), this.generateTextNodeAnnotations(elementsArray[0])),
2668
- annotations: this.generateBlockAnnotations(elementsArray[0]),
2669
- });
2670
- }
2671
- /**
2672
- * Append child list blocks to current list item block.
2673
- *
2674
- * @param {RTEListBlock} currentBlock - Current list item block.
2675
- * @param {RTEListItemBlock[]} childBlocks - Current list blocks.
2676
- */
2677
- appendChildBlocks(currentBlock, childBlocks) {
2678
- currentBlock.nestList = childBlocks.filter((block) => ['bullet-list', 'number-list'].includes(block.type));
2679
- }
2680
- /**
2681
- * Should continue process to child elements.
2682
- *
2683
- * @returns {boolean} - boolean.
2684
- */
2685
- shouldProceedToElementChildren() {
2686
- return true;
2687
- }
2688
- }
2689
-
2690
- /** Transform inline block element to text block DTO */
2691
- class InlineBlockToRTETextBlockStrategy extends BlockToRTEBlockStrategyAbstract {
2692
- /**
2693
- * Can be handle.
2694
- *
2695
- * @param {HTMLElement[]} elementsArray - Current elements.
2696
- * @param {number} currentIndex - Current element index.
2697
- * @returns {number} - can be handled element count.
2698
- */
2699
- canHandle(elementsArray, currentIndex) {
2700
- return [
2701
- 'heading-1',
2702
- 'heading-2',
2703
- 'heading-3',
2704
- 'heading-4',
2705
- 'heading-5',
2706
- 'heading-6',
2707
- 'title',
2708
- 'subtitle',
2709
- ].includes(this.getElementType(elementsArray[currentIndex]))
2710
- ? 1
2711
- : 0;
2712
- }
2713
- /**
2714
- * Parse to a text block.
2715
- *
2716
- * @param {HTMLElement[]} elementsArray - Current elements.
2717
- * @returns {Nullable<RTEContentBlock>} - Text block.
2718
- */
2719
- handle(elementsArray) {
2720
- const nodes = this.generateChildNodes(elementsArray);
2721
- if (nodes.length === 0)
2722
- return null;
2723
- return RTETextBlock.from({
2724
- id: generateUUID(),
2725
- type: this.getElementType(elementsArray[0]),
2726
- nodes: nodes,
2727
- annotations: Object.assign(Object.assign({}, this.generateBlockAnnotations(elementsArray[0])), { textStyle: this.getElementType(elementsArray[0]) }),
2728
- });
2729
- }
2730
- /* istanbul ignore next */
2731
- /**
2732
- * Append child blocks.
2733
- */
2734
- // eslint-disable-next-line @typescript-eslint/no-empty-function
2735
- appendChildBlocks() { }
2736
- /**
2737
- * Should continue process to child elements.
2738
- *
2739
- * @returns {boolean} - boolean.
2740
- */
2741
- shouldProceedToElementChildren() {
2742
- return false;
2743
- }
2744
- /**
2745
- * Get node type of element.
2746
- *
2747
- * @param {HTMLElement} element - element.
2748
- * @returns {string} - node type.
2749
- */
2750
- getElementType(element) {
2751
- var _a;
2752
- if (element.nodeType !== Node.TEXT_NODE && element.hasAttribute('data-type')) {
2753
- return element.getAttribute('data-type');
2754
- }
2755
- switch ((_a = element.style) === null || _a === void 0 ? void 0 : _a.fontSize) {
2756
- case '36px':
2757
- return 'title';
2758
- case '28px':
2759
- return 'subtitle';
2760
- case '22px':
2761
- return 'heading-1';
2762
- case '20px':
2763
- return 'heading-2';
2764
- case '18px':
2765
- return 'heading-3';
2766
- }
2767
- switch (element.nodeName) {
2768
- case 'H1':
2769
- return 'heading-1';
2770
- case 'H2':
2771
- return 'heading-2';
2772
- case 'H3':
2773
- return 'heading-3';
2774
- case 'H4':
2775
- return 'heading-4';
2776
- case 'H5':
2777
- return 'heading-5';
2778
- case 'H6':
2779
- return 'heading-6';
2780
- default:
2781
- return '';
2782
- }
2783
- }
2784
- }
2785
-
2786
- /** Transform img element to image block DTO */
2787
- class ImgToRTEImageBlockStrategy extends BlockToRTEBlockStrategyAbstract {
2788
- /**
2789
- * Can be handle.
2790
- *
2791
- * @param {HTMLElement[]} elementsArray - Current elements.
2792
- * @param {number} currentIndex - Current element index.
2793
- * @returns {number} - can be handled element count.
2794
- */
2795
- canHandle(elementsArray, currentIndex) {
2796
- return elementsArray[currentIndex].tagName === 'IMG' ? 1 : 0;
2797
- }
2798
- /**
2799
- * Parse to a image block.
2800
- *
2801
- * @param {HTMLElement[]} elementsArray - Current elements.
2802
- * @returns {Nullable<RTEContentBlock>} - Image block.
2803
- */
2804
- handle(elementsArray) {
2805
- const element = elementsArray[0];
2806
- return RTEImageBlock.from({
2807
- id: generateUUID(),
2808
- type: 'image',
2809
- nodes: [
2810
- {
2811
- id: generateUUID(),
2812
- type: 'image',
2813
- url: element.src,
2814
- annotations: {
2815
- size: 'md',
2816
- alt: element.alt,
2817
- },
2818
- },
2819
- ],
2820
- annotations: this.generateBlockAnnotations(element),
2821
- });
2822
- }
2823
- /* istanbul ignore next */
2824
- /**
2825
- * Append child blocks.
2826
- */
2827
- // eslint-disable-next-line @typescript-eslint/no-empty-function
2828
- appendChildBlocks() { }
2829
- /**
2830
- * Should continue process to child elements.
2831
- *
2832
- * @returns {boolean} - boolean.
2833
- */
2834
- shouldProceedToElementChildren() {
2835
- return false;
2836
- }
2837
- }
2838
-
2839
- /** Transform vega-rich-text-image-editor element to image block DTO */
2840
- class VegaImageToRTEImageBlockStrategy extends BlockToRTEBlockStrategyAbstract {
2841
- /**
2842
- * Can be handle.
2843
- *
2844
- * @param {HTMLElement[]} elementsArray - Current elements.
2845
- * @param {number} currentIndex - Current element index.
2846
- * @returns {number} - can be handled element count.
2847
- */
2848
- canHandle(elementsArray, currentIndex) {
2849
- return elementsArray[currentIndex].tagName === 'VEGA-RICH-TEXT-IMAGE-EDITOR' ? 1 : 0;
2850
- }
2851
- /**
2852
- * Parse to a image block.
2853
- *
2854
- * @param {HTMLElement[]} elementsArray - Current elements.
2855
- * @returns {Nullable<RTEContentBlock>} - Image block.
2856
- */
2857
- handle(elementsArray) {
2858
- const element = elementsArray[0];
2859
- const image = element.querySelector('img');
2860
- if (isNonNullable(image)) {
2861
- return RTEImageBlock.from({
2862
- id: generateUUID(),
2863
- type: 'image',
2864
- nodes: [
2865
- {
2866
- id: generateUUID(),
2867
- type: 'image',
2868
- url: image.src,
2869
- annotations: {
2870
- size: element.size || 'md',
2871
- alt: element.alt,
2872
- },
2873
- },
2874
- ],
2875
- annotations: this.generateBlockAnnotations(element),
2876
- });
2877
- }
2878
- }
2879
- /* istanbul ignore next */
2880
- /**
2881
- * Append child blocks.
2882
- */
2883
- // eslint-disable-next-line @typescript-eslint/no-empty-function
2884
- appendChildBlocks() { }
2885
- /**
2886
- * Should continue process to child elements.
2887
- *
2888
- * @returns {boolean} - boolean.
2889
- */
2890
- shouldProceedToElementChildren() {
2891
- return false;
2892
- }
2893
- }
2894
-
2895
- /** Transform ol element to list block DTO */
2896
- class OlToRTEListBlockStrategy extends BlockToRTEBlockStrategyAbstract {
2897
- /**
2898
- * Can be handle.
2899
- *
2900
- * @param {HTMLElement[]} elementsArray - Current elements.
2901
- * @param {number} currentIndex - Current element index.
2902
- * @returns {number} - can be handled element count.
2903
- */
2904
- canHandle(elementsArray, currentIndex) {
2905
- return elementsArray[currentIndex].tagName === 'OL' ? 1 : 0;
2906
- }
2907
- /**
2908
- * Parse to a number list block.
2909
- *
2910
- * @param {HTMLElement[]} elementsArray - Current elements.
2911
- * @returns {Nullable<RTEContentBlock>} - Number list block.
2912
- */
2913
- handle(elementsArray) {
2914
- if (elementsArray[0].childNodes.length === 0)
2915
- return null;
2916
- return RTEListBlock.from({
2917
- id: generateUUID(),
2918
- type: 'number-list',
2919
- blocks: [],
2920
- annotations: this.generateBlockAnnotations(elementsArray[0]),
2921
- });
2922
- }
2923
- /**
2924
- * Append child list item blocks to current list block.
2925
- *
2926
- * @param {RTEListBlock} currentBlock - Current list block.
2927
- * @param {RTEListItemBlock[]} childBlocks - Current list item blocks.
2928
- */
2929
- appendChildBlocks(currentBlock, childBlocks) {
2930
- currentBlock.children = childBlocks;
2931
- childBlocks.forEach((block) => (block.parent = currentBlock));
2932
- }
2933
- /**
2934
- * Should continue process to child elements.
2935
- *
2936
- * @returns {boolean} - boolean.
2937
- */
2938
- shouldProceedToElementChildren() {
2939
- return true;
2940
- }
2941
- }
2942
-
2943
- /** Transform img in span or other inline element to image block DTO */
2944
- class SpanImageToRTEImageBlockStrategy extends BlockToRTEBlockStrategyAbstract {
2945
- /**
2946
- * Can be handle.
2947
- *
2948
- * @param {HTMLElement[]} elementsArray - Current elements.
2949
- * @param {number} currentIndex - Current element index.
2950
- * @returns {number} - can be handled element count.
2951
- */
2952
- canHandle(elementsArray, currentIndex) {
2953
- const element = elementsArray[currentIndex];
2954
- return element.nodeType === Node.ELEMENT_NODE &&
2955
- element.textContent === '' &&
2956
- element.querySelector('img')
2957
- ? 1
2958
- : 0;
2959
- }
2960
- /**
2961
- * Parse to a image block.
2962
- *
2963
- * @param {HTMLElement[]} elementsArray - Current elements.
2964
- * @returns {Nullable<RTEContentBlock>} - Image block.
2965
- */
2966
- handle(elementsArray) {
2967
- const element = elementsArray[0].querySelector('img');
2968
- return RTEImageBlock.from({
2969
- id: generateUUID(),
2970
- type: 'image',
2971
- nodes: [
2972
- {
2973
- id: generateUUID(),
2974
- type: 'image',
2975
- url: element.src,
2976
- annotations: {
2977
- size: 'md',
2978
- alt: element.alt,
2979
- },
2980
- },
2981
- ],
2982
- annotations: this.generateBlockAnnotations(element),
2983
- });
2984
- }
2985
- /* istanbul ignore next */
2986
- /**
2987
- * Append child blocks.
2988
- */
2989
- // eslint-disable-next-line @typescript-eslint/no-empty-function
2990
- appendChildBlocks() { }
2991
- /**
2992
- * Should continue process to child elements.
2993
- *
2994
- * @returns {boolean} - boolean.
2995
- */
2996
- shouldProceedToElementChildren() {
2997
- return false;
2998
- }
2999
- }
3000
-
3001
- /** Transform child element of UL element which are not LI element to list item block DTO */
3002
- class ULNotLiChildToRTEListItemBlockStrategy extends BlockToRTEBlockStrategyAbstract {
3003
- /**
3004
- * Can be handle.
3005
- *
3006
- * @param {HTMLElement[]} elementsArray - Current elements.
3007
- * @param {number} currentIndex - Current element index.
3008
- * @returns {number} - can be handled element count.
3009
- */
3010
- canHandle(elementsArray, currentIndex) {
3011
- const element = elementsArray[currentIndex];
3012
- const parent = element.parentElement;
3013
- return element.nodeName !== 'LI' && parent && ['UL', 'OL'].includes(parent.nodeName) ? 1 : 0;
3014
- }
3015
- /**
3016
- * Parse to a list item block.
3017
- *
3018
- * @param {HTMLElement[]} elementsArray - Current elements.
3019
- * @returns {Nullable<RTEContentBlock>} - List item block.
3020
- */
3021
- handle(elementsArray) {
3022
- const nodes = this.generateChildNodes(elementsArray);
3023
- if (nodes.length === 0)
3024
- return null;
3025
- return RTEListItemBlock.from({
3026
- id: generateUUID(),
3027
- type: 'list-item',
3028
- nodes: nodes,
3029
- annotations: {},
3030
- });
3031
- }
3032
- /* istanbul ignore next */
3033
- /**
3034
- * Append child blocks.
3035
- */
3036
- // eslint-disable-next-line @typescript-eslint/no-empty-function
3037
- appendChildBlocks() { }
3038
- /**
3039
- * Should continue process to child elements.
3040
- *
3041
- * @returns {boolean} - boolean.
3042
- */
3043
- shouldProceedToElementChildren() {
3044
- return false;
3045
- }
3046
- }
3047
-
3048
- /** Transform other editor code element which has attribute data-language to RTE code block DTO */
3049
- class JiraCodeToRTECodeBlockStrategy extends BlockToRTEBlockStrategyAbstract {
3050
- /**
3051
- * Can be handle.
3052
- *
3053
- * @param {HTMLElement[]} elementsArray - Current elements.
3054
- * @param {number} currentIndex - Current element index.
3055
- * @returns {number} - can be handled element count.
3056
- */
3057
- canHandle(elementsArray, currentIndex) {
3058
- return (elementsArray[currentIndex].tagName === 'PRE' ||
3059
- elementsArray[currentIndex].tagName === 'CODE') &&
3060
- elementsArray[currentIndex].hasAttribute('data-language')
3061
- ? 1
3062
- : 0;
3063
- }
3064
- /**
3065
- * Parse to a code block.
3066
- *
3067
- * @param {HTMLElement[]} elementsArray - Current elements.
3068
- * @returns {Nullable<RTECodeBlock>} - Code block.
3069
- */
3070
- handle(elementsArray) {
3071
- const codeRef = elementsArray[0];
3072
- if (codeRef) {
3073
- const content = codeRef.textContent;
3074
- const language = codeRef.dataset
3075
- .language;
3076
- return RTECodeBlock.from({
3077
- id: generateUUID(),
3078
- type: 'code-block',
3079
- content,
3080
- language,
3081
- });
3082
- }
3083
- }
3084
- /* istanbul ignore next */
3085
- /**
3086
- * Append child blocks.
3087
- */
3088
- // eslint-disable-next-line @typescript-eslint/no-empty-function
3089
- appendChildBlocks() { }
3090
- /**
3091
- * Should continue process to child elements.
3092
- *
3093
- * @returns {boolean} - boolean.
3094
- */
3095
- shouldProceedToElementChildren() {
3096
- return false;
3097
- }
3098
- }
3099
-
3100
- /** Transform vega-code-block element to code block DTO */
3101
- class VegaCodeBlockToRTECodeBlockStrategy extends JiraCodeToRTECodeBlockStrategy {
3102
- /**
3103
- * Can be handle.
3104
- *
3105
- * TODO: Update the browser clipboard data to fix the issue with nested vega-code-block elements.
3106
- * In safari the html snippet will be like: <vega-code-block><p><span>paragraph</span></p><vega-code-block></vega-code-block></vega-code-block>
3107
- * The vega-code-block nested inside the vega-code-block, so we need to check the child element.
3108
- *
3109
- * @param {HTMLElement[]} elementsArray - Current elements.
3110
- * @param {number} currentIndex - Current element index.
3111
- * @returns {number} - can be handled element count.
3112
- */
3113
- canHandle(elementsArray, currentIndex) {
3114
- return (elementsArray[currentIndex].tagName === 'VEGA-CODE-BLOCK' &&
3115
- !!elementsArray[currentIndex].querySelector('vega-code-block') === false) ||
3116
- this.isCodeBlockContainer(elementsArray[currentIndex])
3117
- ? 1
3118
- : 0;
3119
- }
3120
- /**
3121
- * Parse to a code block.
3122
- *
3123
- * @param {HTMLElement[]} elementsArray - Current elements.
3124
- * @returns {Nullable<RTECodeBlock>} - Code block.
2241
+ * Delete the selected node from the current state.
3125
2242
  */
3126
- handle(elementsArray) {
3127
- const codeBlockElement = this.isCodeBlockContainer(elementsArray[0])
3128
- ? elementsArray[0].querySelector('vega-code-block')
3129
- : elementsArray[0];
3130
- const code = codeBlockElement.querySelector('code');
3131
- if (code) {
3132
- return super.handle([code]); // Call the parent method to handle the code element
2243
+ handleEvent() {
2244
+ const selectedBlocks = this.selectionController.getSelectedBlocks();
2245
+ if (selectedBlocks.length < 2) {
2246
+ this.deleteContentWithSingleBlock();
3133
2247
  }
3134
- else if (codeBlockElement.hasAttribute('data-content')) {
3135
- // The code element in shadow dom could be empty in firefox.
3136
- // eslint-disable-next-line no-restricted-globals
3137
- const code = document.createElement('code');
3138
- code.textContent = codeBlockElement.dataset.content;
3139
- code.dataset.language = codeBlockElement.dataset.language;
3140
- return super.handle([code]); // Call the parent method to handle the code element
2248
+ else {
2249
+ this.deleteContentWithMultipleNodes();
3141
2250
  }
3142
2251
  }
3143
- /* istanbul ignore next */
3144
2252
  /**
3145
- * Append child blocks.
3146
- */
3147
- // eslint-disable-next-line @typescript-eslint/no-empty-function
3148
- appendChildBlocks() { }
3149
- /**
3150
- * Should continue process to child elements.
3151
- *
3152
- * @returns {boolean} - boolean.
2253
+ * Handles the deletion of content within a single block in an RTE editor.
3153
2254
  */
3154
- shouldProceedToElementChildren() {
3155
- return false;
2255
+ deleteContentWithSingleBlock() {
2256
+ const range = this.selectionController.getCurrentRange();
2257
+ const { startOffset, endOffset, startContainer, endContainer } = range;
2258
+ const selectedBlocks = this.selectionController.getSelectedBlocks();
2259
+ const selectedNodes = this.selectionController.getSelectedNodes();
2260
+ if (startOffset !== endOffset || startContainer !== endContainer) {
2261
+ this.deleteContentWithMultipleNodes();
2262
+ }
2263
+ else if (selectedBlocks[0]) {
2264
+ const deleteAction = new DeleteBlockContentAction(selectedNodes[0], startOffset);
2265
+ selectedBlocks[0].apply(deleteAction);
2266
+ if (deleteAction.previousNode) {
2267
+ const nextOffset = deleteAction.previousNode === selectedNodes[0]
2268
+ ? Math.max(0, startOffset - 1)
2269
+ : deleteAction.previousNode.getRangeEndOffset();
2270
+ this.selectionController.enqueueSelectionRangeFutureState(deleteAction.previousNode, nextOffset);
2271
+ }
2272
+ else if (deleteAction.nextNode) {
2273
+ this.selectionController.enqueueSelectionRangeFutureState(deleteAction.nextNode, 0);
2274
+ }
2275
+ else if (this.currentState.children.length === 0) {
2276
+ // Add a empty paragraph if delete all content to make sure the caret position
2277
+ this.insertDefaultParagraph();
2278
+ }
2279
+ }
3156
2280
  }
3157
2281
  /**
3158
- * Checks if the given element is a code block container.
3159
- *
3160
- * @param {HTMLElement} element - The element to check.
3161
- * @returns {boolean} - Boolean result.
2282
+ * Deletes the content within multiple nodes selected by the user.
3162
2283
  */
3163
- isCodeBlockContainer(element) {
3164
- return (element.tagName === 'PRE' &&
3165
- element.classList.contains('code-block-container') &&
3166
- element.querySelectorAll('vega-code-block').length === 1);
3167
- }
3168
- }
3169
-
3170
- /** Element to DTO processor */
3171
- class ElementToDtoStrategyProcessor {
3172
- constructor() {
3173
- this.elementStrategies = [
3174
- new UlToRTEListBlockStrategy(),
3175
- new OlToRTEListBlockStrategy(),
3176
- new ULNotLiChildToRTEListItemBlockStrategy(),
3177
- new LiToRTEListItemBlockStrategy(),
3178
- new VegaCodeBlockToRTECodeBlockStrategy(),
3179
- new JiraCodeToRTECodeBlockStrategy(),
3180
- new InlineBlockToRTETextBlockStrategy(),
3181
- new ImgToRTEImageBlockStrategy(),
3182
- new VegaImageToRTEImageBlockStrategy(),
3183
- new SpanImageToRTEImageBlockStrategy(),
3184
- new ContinueInlineToRTETextBlockStrategy(),
3185
- ];
2284
+ deleteContentWithMultipleNodes() {
2285
+ const selectedNodes = this.selectionController.getSelectedNodes();
2286
+ const cursorNode = this.removeSelectionRange(true);
2287
+ const lastSelectedNode = selectedNodes[selectedNodes.length - 1];
2288
+ if (selectedNodes.length > 1 &&
2289
+ lastSelectedNode instanceof RTETextNode &&
2290
+ lastSelectedNode.isEmpty()) {
2291
+ lastSelectedNode.parent.apply(new RemoveChildrenAction(lastSelectedNode));
2292
+ }
2293
+ this.convertFirstBlockToParagraph(cursorNode.parent);
3186
2294
  }
3187
2295
  /**
3188
- * Transform process.
2296
+ * If the first block is not paragraph, convert the block to paragraph after delete all text
3189
2297
  *
3190
- * @param {HTMLElement[]} elements - Current elements.
3191
- * @returns {ElementToDTOStrategyOutput[]} - outputs.
2298
+ * @param {RTEBlock} block - The first block instance
3192
2299
  */
3193
- process(elements) {
3194
- const outputs = [];
3195
- for (let i = 0; i < elements.length; i++) {
3196
- if (this.isInvalidElement(elements[i]))
3197
- continue;
3198
- let canHandledCount = 0;
3199
- for (const strategy of this.elementStrategies) {
3200
- canHandledCount = strategy.canHandle(elements, i);
3201
- if (canHandledCount > 0) {
3202
- const handledElements = elements.slice(i, i + canHandledCount);
3203
- const output = new ElementToDTOStrategyOutput(strategy, handledElements);
3204
- if (canHandledCount === 1 && strategy.shouldProceedToElementChildren()) {
3205
- output.setChildrenOutput(this.process(Array.from(handledElements[0].childNodes)));
3206
- }
3207
- outputs.push(output);
3208
- i += canHandledCount - 1;
3209
- break;
3210
- }
3211
- }
3212
- if (canHandledCount === 0 && i < elements.length) {
3213
- const elementChildren = Array.from(elements[i].childNodes);
3214
- const childrenOutputs = this.process(Array.from(elementChildren));
3215
- if (childrenOutputs.length > 0) {
3216
- outputs.push(...childrenOutputs);
3217
- }
3218
- }
2300
+ convertFirstBlockToParagraph(block) {
2301
+ const firstBlock = this.currentState.children[0];
2302
+ if (firstBlock === block &&
2303
+ block instanceof RTETextBlock &&
2304
+ block.children.length === 1 &&
2305
+ block.children[0].isEmpty() &&
2306
+ block.type !== 'paragraph') {
2307
+ const paragraph = this.createEmptyParagraph();
2308
+ paragraph.apply(new ReplaceChildNodesAction(block.children));
2309
+ block.parent.apply(new InsertChildrenBeforeAction(block, paragraph));
2310
+ block.parent.apply(new RemoveChildrenAction(block));
3219
2311
  }
3220
- return outputs;
3221
2312
  }
3222
2313
  /**
3223
- * Checks if the given element is valid to parse.
3224
- *
3225
- * @param {HTMLElement} element - The pasted element.
3226
- * @returns {boolean} Is valid
2314
+ * Creates a new paragraph element with a text node and appends it to the current state.
3227
2315
  */
3228
- isInvalidElement(element) {
3229
- if (element.nodeType === Node.COMMENT_NODE)
3230
- return true;
3231
- return ['META', 'BUTTON', 'STYLE'].includes(element.nodeName);
2316
+ insertDefaultParagraph() {
2317
+ const paragraph = this.createEmptyParagraph();
2318
+ this.currentState.apply(new AppendChildrenAction([paragraph]));
2319
+ this.selectionController.enqueueSelectionRangeFutureState(paragraph.children[0], 1);
3232
2320
  }
3233
2321
  }
3234
2322
 
@@ -3236,10 +2324,6 @@ class ElementToDtoStrategyProcessor {
3236
2324
  * Handle user paste
3237
2325
  */
3238
2326
  class InsertPasteHandler extends BaseHandler {
3239
- constructor() {
3240
- super(...arguments);
3241
- this.elementToDTOProcessor = new ElementToDtoStrategyProcessor();
3242
- }
3243
2327
  /**
3244
2328
  * Update the state value when user paste html elements.
3245
2329
  *
@@ -3264,7 +2348,7 @@ class InsertPasteHandler extends BaseHandler {
3264
2348
  * @param { RTEContentBlock[]} blocks - blocks
3265
2349
  */
3266
2350
  insertBlocksToRoot(blocks) {
3267
- this.currentState.apply(new AppendChildNodesAction(blocks));
2351
+ this.currentState.apply(new AppendChildrenAction(blocks));
3268
2352
  }
3269
2353
  /**
3270
2354
  * Insert the blocks to content
@@ -3278,7 +2362,7 @@ class InsertPasteHandler extends BaseHandler {
3278
2362
  const { startOffset } = this.selectionController.getCurrentRange();
3279
2363
  const breakAction = new SplitBlockWithNodeAction(cursorNode, startOffset);
3280
2364
  currentBlock.apply(breakAction);
3281
- currentBlock.parent.apply(new InsertBlocksAfterAction(currentBlock, ...blocks));
2365
+ currentBlock.parent.apply(new InsertChildrenAfterAction(currentBlock, ...blocks));
3282
2366
  this.switchCaretPositionToNextElement(breakAction.newBlock);
3283
2367
  }
3284
2368
  }
@@ -3292,7 +2376,7 @@ class InsertPasteHandler extends BaseHandler {
3292
2376
  /* istanbul ignore next */
3293
2377
  const currentBlock = cursorNode === null || cursorNode === void 0 ? void 0 : cursorNode.parent;
3294
2378
  if (currentBlock) {
3295
- currentBlock.parent.apply(new InsertBlocksBeforeAction(currentBlock, ...blocks));
2379
+ currentBlock.parent.apply(new InsertChildrenBeforeAction(currentBlock, ...blocks));
3296
2380
  this.switchCaretPositionToNextElement(currentBlock);
3297
2381
  }
3298
2382
  }
@@ -3311,8 +2395,7 @@ class InsertPasteHandler extends BaseHandler {
3311
2395
  // eslint-disable-next-line no-restricted-globals
3312
2396
  const tempContainer = document.createElement('div');
3313
2397
  tempContainer.innerHTML = pastedHTML;
3314
- return this.elementToDTOProcessor
3315
- .process(Array.from(tempContainer.childNodes))
2398
+ return ElementToDtoStrategyProcessor.process(Array.from(tempContainer.childNodes))
3316
2399
  .filter(Boolean)
3317
2400
  .map((output) => output.toDto())
3318
2401
  .filter(Boolean);
@@ -3337,13 +2420,16 @@ class InsertPasteHandler extends BaseHandler {
3337
2420
  const lines = content.split('\n');
3338
2421
  return lines
3339
2422
  .map((line) => {
3340
- return `<span>${line}</span>`;
2423
+ if (line === '') {
2424
+ return '<p>\n</p>';
2425
+ }
2426
+ return `<p>${line}</p>`;
3341
2427
  })
3342
- .join('<span>\n</span>');
2428
+ .join('');
3343
2429
  }
3344
2430
  }
3345
2431
 
3346
- var __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2432
+ var __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3347
2433
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3348
2434
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3349
2435
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -3470,28 +2556,28 @@ class UserInputController extends VegaSlimmer {
3470
2556
  return false;
3471
2557
  }
3472
2558
  }
3473
- __decorate$e([
2559
+ __decorate$f([
3474
2560
  MapToComponentField()
3475
2561
  ], UserInputController.prototype, "host", void 0);
3476
- __decorate$e([
2562
+ __decorate$f([
3477
2563
  MapToComponentField()
3478
2564
  ], UserInputController.prototype, "value", void 0);
3479
- __decorate$e([
2565
+ __decorate$f([
3480
2566
  MapToComponentField()
3481
2567
  ], UserInputController.prototype, "valueController", void 0);
3482
- __decorate$e([
2568
+ __decorate$f([
3483
2569
  MapToComponentField()
3484
2570
  ], UserInputController.prototype, "vegaRichTextEditorRenderer", void 0);
3485
- __decorate$e([
2571
+ __decorate$f([
3486
2572
  MapToComponentField()
3487
2573
  ], UserInputController.prototype, "selectionController", void 0);
3488
- __decorate$e([
2574
+ __decorate$f([
3489
2575
  MapToComponentField()
3490
2576
  ], UserInputController.prototype, "insertCompositionTextController", void 0);
3491
- __decorate$e([
2577
+ __decorate$f([
3492
2578
  MapToComponentMethod('componentDidLoad')
3493
2579
  ], UserInputController.prototype, "addActionListener", null);
3494
- __decorate$e([
2580
+ __decorate$f([
3495
2581
  MapToComponentMethod('disconnectedCallback')
3496
2582
  ], UserInputController.prototype, "removeActionListener", null);
3497
2583
 
@@ -3511,7 +2597,7 @@ class InsertImageToBlockAction extends ModifyContentAction {
3511
2597
  }
3512
2598
  }
3513
2599
 
3514
- var __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2600
+ var __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3515
2601
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3516
2602
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3517
2603
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -3530,9 +2616,9 @@ class InsertImageController extends VegaSlimmer {
3530
2616
  const imageBlock = new RTEImageBlock(generateUUID());
3531
2617
  const newImageNode = new RTEImageNode(generateUUID(), imageUrl, imageBlock);
3532
2618
  newImageNode.apply(new ImageAnnotationAction('md', ''));
3533
- imageBlock.apply(new AppendChildNodesAction([newImageNode]));
2619
+ imageBlock.apply(new AppendChildrenAction([newImageNode]));
3534
2620
  if (selectedBlocks.length < 1 || this.value.children.length < 1) {
3535
- this.value.apply(new AppendChildNodesAction([imageBlock]));
2621
+ this.value.apply(new AppendChildrenAction([imageBlock]));
3536
2622
  void this.valueController.flushChanges(this.value);
3537
2623
  }
3538
2624
  else {
@@ -3600,26 +2686,26 @@ class InsertImageController extends VegaSlimmer {
3600
2686
  }
3601
2687
  }
3602
2688
  }
3603
- __decorate$d([
2689
+ __decorate$e([
3604
2690
  MapToComponentField()
3605
2691
  ], InsertImageController.prototype, "selectionController", void 0);
3606
- __decorate$d([
2692
+ __decorate$e([
3607
2693
  MapToComponentField()
3608
2694
  ], InsertImageController.prototype, "value", void 0);
3609
- __decorate$d([
2695
+ __decorate$e([
3610
2696
  MapToComponentField()
3611
2697
  ], InsertImageController.prototype, "valueController", void 0);
3612
- __decorate$d([
2698
+ __decorate$e([
3613
2699
  MapToComponentField()
3614
2700
  ], InsertImageController.prototype, "vegaRichTextEditorRenderer", void 0);
3615
- __decorate$d([
2701
+ __decorate$e([
3616
2702
  MapToComponentMethod('componentDidLoad')
3617
2703
  ], InsertImageController.prototype, "registerObserver", null);
3618
- __decorate$d([
2704
+ __decorate$e([
3619
2705
  MapToComponentMethod('disconnectedCallback')
3620
2706
  ], InsertImageController.prototype, "unRegisterObserver", null);
3621
2707
 
3622
- var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2708
+ var __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3623
2709
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3624
2710
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3625
2711
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -3637,7 +2723,14 @@ class FocusController extends VegaSlimmer {
3637
2723
  * @param {RTEContentBlock} lastBlock - The last block of the content
3638
2724
  */
3639
2725
  this.doFocusOnLastTextNode = async (lastBlock) => {
3640
- this.setCaretRangeToNodeEnd(stateEntityRenderingRegistry.getDOMByEntity(lastBlock.getLastNode()).firstChild);
2726
+ const lastNode = lastBlock.getLastNode();
2727
+ const dom = stateEntityRenderingRegistry.getDOMByEntity(lastNode);
2728
+ if (!lastNode.isContentEditable()) {
2729
+ this.setCaretRangeToNodeEnd(dom.parentElement, lastNode.getRangeEndOffset());
2730
+ }
2731
+ else {
2732
+ this.setCaretRangeToNodeEnd(dom.firstChild, dom.firstChild.nodeValue.length);
2733
+ }
3641
2734
  await this.vegaRichTextEditorRenderer.getRichTextContentRef().vegaFocus();
3642
2735
  };
3643
2736
  }
@@ -3656,7 +2749,7 @@ class FocusController extends VegaSlimmer {
3656
2749
  type: 'paragraph',
3657
2750
  nodes: [{ id: generateUUID(), type: 'text', text: '' }],
3658
2751
  });
3659
- lastBlock.parent.apply(new InsertBlocksAfterAction(lastBlock, newTextBlock));
2752
+ lastBlock.parent.apply(new InsertChildrenAfterAction(lastBlock, newTextBlock));
3660
2753
  await this.valueController.flushChanges(this.value);
3661
2754
  await this.doFocusOnLastTextNode(newTextBlock);
3662
2755
  }
@@ -3668,27 +2761,28 @@ class FocusController extends VegaSlimmer {
3668
2761
  * Move the caret to the end of the node
3669
2762
  *
3670
2763
  * @param {Node} targetNode - The node to move the caret to
2764
+ * @param {number} offset - The offset to move the caret to
3671
2765
  */
3672
- setCaretRangeToNodeEnd(targetNode) {
2766
+ setCaretRangeToNodeEnd(targetNode, offset) {
3673
2767
  const range = new Range();
3674
- range.setStart(targetNode, targetNode.nodeValue.length);
2768
+ range.setStart(targetNode, offset);
3675
2769
  this.selectionController.setSelectionRange(range);
3676
2770
  }
3677
2771
  }
3678
- __decorate$c([
2772
+ __decorate$d([
3679
2773
  MapToComponentField()
3680
2774
  ], FocusController.prototype, "vegaRichTextEditorRenderer", void 0);
3681
- __decorate$c([
2775
+ __decorate$d([
3682
2776
  MapToComponentField()
3683
2777
  ], FocusController.prototype, "selectionController", void 0);
3684
- __decorate$c([
2778
+ __decorate$d([
3685
2779
  MapToComponentField()
3686
2780
  ], FocusController.prototype, "valueController", void 0);
3687
- __decorate$c([
2781
+ __decorate$d([
3688
2782
  MapToComponentField()
3689
2783
  ], FocusController.prototype, "value", void 0);
3690
2784
 
3691
- var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2785
+ var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3692
2786
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3693
2787
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3694
2788
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -3728,14 +2822,14 @@ class TextNodeColorController extends VegaSlimmer {
3728
2822
  return true;
3729
2823
  }
3730
2824
  }
3731
- __decorate$b([
2825
+ __decorate$c([
3732
2826
  MapToComponentMethod('connectedCallback')
3733
2827
  ], TextNodeColorController.prototype, "connectedCallback", null);
3734
- __decorate$b([
2828
+ __decorate$c([
3735
2829
  MapToComponentMethod('disconnectedCallback')
3736
2830
  ], TextNodeColorController.prototype, "disconnectResizeObserver", null);
3737
2831
 
3738
- var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2832
+ var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3739
2833
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3740
2834
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3741
2835
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -3765,7 +2859,9 @@ class InsertCompositionTextController extends VegaSlimmer {
3765
2859
  if (target.nodeType === Node.TEXT_NODE && target.parentElement) {
3766
2860
  const richTextNode = stateEntityRenderingRegistry.getEntityByDOM(target.parentElement);
3767
2861
  const newValue = target.textContent;
3768
- if (richTextNode instanceof RTETextNode) {
2862
+ if (richTextNode instanceof RTETextNode &&
2863
+ richTextNode.isContentEditable() &&
2864
+ richTextNode.parent instanceof RTETextBlock) {
3769
2865
  updateFlag = this.updateCurrentNodeText(richTextNode, newValue, oldValue);
3770
2866
  }
3771
2867
  else if (newValue) {
@@ -3879,7 +2975,7 @@ class InsertCompositionTextController extends VegaSlimmer {
3879
2975
  const index = textBlock.children.indexOf(currentNode);
3880
2976
  if (textBlock.children[index + 1]) {
3881
2977
  const newTextNode = currentNode.cloneWithText('\n');
3882
- textBlock.apply(new InsertNodesBeforeAction(textBlock.children[index + 1], newTextNode));
2978
+ textBlock.apply(new InsertChildrenBeforeAction(textBlock.children[index + 1], newTextNode));
3883
2979
  }
3884
2980
  }
3885
2981
  /**
@@ -3943,35 +3039,35 @@ class InsertCompositionTextController extends VegaSlimmer {
3943
3039
  this.editableElementRef.dispatchEvent(inputEvent);
3944
3040
  }
3945
3041
  }
3946
- __decorate$a([
3042
+ __decorate$b([
3947
3043
  MapToComponentField()
3948
3044
  ], InsertCompositionTextController.prototype, "selectionController", void 0);
3949
- __decorate$a([
3045
+ __decorate$b([
3950
3046
  MapToComponentField()
3951
3047
  ], InsertCompositionTextController.prototype, "host", void 0);
3952
- __decorate$a([
3048
+ __decorate$b([
3953
3049
  MapToComponentField()
3954
3050
  ], InsertCompositionTextController.prototype, "value", void 0);
3955
- __decorate$a([
3051
+ __decorate$b([
3956
3052
  MapToComponentField()
3957
3053
  ], InsertCompositionTextController.prototype, "valueController", void 0);
3958
- __decorate$a([
3054
+ __decorate$b([
3959
3055
  MapToComponentField()
3960
3056
  ], InsertCompositionTextController.prototype, "userInputController", void 0);
3961
- __decorate$a([
3057
+ __decorate$b([
3962
3058
  MapToComponentField()
3963
3059
  ], InsertCompositionTextController.prototype, "vegaRichTextEditorRenderer", void 0);
3964
- __decorate$a([
3060
+ __decorate$b([
3965
3061
  MapToComponentMethod('componentDidLoad')
3966
3062
  ], InsertCompositionTextController.prototype, "addCompositionTextEventListener", null);
3967
- __decorate$a([
3063
+ __decorate$b([
3968
3064
  MapToComponentMethod('disconnectedCallback')
3969
3065
  ], InsertCompositionTextController.prototype, "removeCompositionTextEventListener", null);
3970
- __decorate$a([
3066
+ __decorate$b([
3971
3067
  MapToComponentMethod('componentDidRender')
3972
3068
  ], InsertCompositionTextController.prototype, "reConnectObserver", null);
3973
3069
 
3974
- var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3070
+ var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3975
3071
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3976
3072
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3977
3073
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -4029,18 +3125,16 @@ class DeleteSelectedNodesController extends VegaSlimmer {
4029
3125
  if (selectedNodes.length > 1) {
4030
3126
  // Remove all selected nodes except start node and end node(the end image node will be removed), the start node need to get the index of the block
4031
3127
  const shouldRemovedItems = selectedNodes.filter((item) => {
4032
- if (item instanceof RTECodeBlockNode) {
4033
- return item !== startNode;
4034
- }
4035
- else if (item.type !== 'IMAGE') {
3128
+ if (item.isContentEditable()) {
4036
3129
  return item !== startNode && item !== endNode;
4037
3130
  }
4038
3131
  else {
4039
- return item !== startNode && (item !== endNode || (item === endNode && endOffset !== 0));
3132
+ return (item !== startNode &&
3133
+ (item !== endNode || this.isEndNodeFullyInTheRange(endNode, endOffset, item)));
4040
3134
  }
4041
3135
  });
4042
3136
  shouldRemovedItems.forEach((item) => {
4043
- item.parent.apply(new RemoveChildAction(item));
3137
+ item.parent.apply(new RemoveChildrenAction(item));
4044
3138
  });
4045
3139
  }
4046
3140
  this.removeRangeStartAndEndSelectedText();
@@ -4049,28 +3143,21 @@ class DeleteSelectedNodesController extends VegaSlimmer {
4049
3143
  * but before remove the image block, we need insert a paragraph to make sure the start block and start node could be get correct before insert text or break paragraph action.
4050
3144
  * the code block node should do the same logic.
4051
3145
  */
4052
- if (startNode instanceof RTEImageNode &&
4053
- startOffset !== 1 &&
4054
- (endNode !== startNode || endOffset !== 0)) {
3146
+ if (!startNode.isContentEditable() &&
3147
+ this.isStartNodeFullyInTheRange(startNode, endNode, startOffset, endOffset)) {
4055
3148
  // the image block will be deleted when the image is the only item
4056
3149
  if (startNode.parent.children.length === 1) {
4057
3150
  const paragraph = this.createEmptyParagraph();
4058
- startNode.parent.parent.apply(new InsertBlocksBeforeAction(startNode.parent, paragraph));
4059
- startNode.parent.apply(new RemoveChildAction(startNode));
3151
+ startNode.parent.parent.apply(new InsertChildrenBeforeAction(startNode.parent, paragraph));
3152
+ startNode.parent.apply(new RemoveChildrenAction(startNode));
4060
3153
  return paragraph.children[0];
4061
3154
  }
4062
3155
  else if (startNode === startNode.parent.children[0]) {
4063
3156
  // the start node should be the next image item if the image is first item
4064
- startNode.parent.apply(new RemoveChildAction(startNode));
3157
+ startNode.parent.apply(new RemoveChildrenAction(startNode));
4065
3158
  return startNode.parent.children[0];
4066
3159
  }
4067
3160
  }
4068
- else if (startNode instanceof RTECodeBlockNode) {
4069
- const paragraph = this.createEmptyParagraph();
4070
- startNode.parent.parent.apply(new InsertBlocksBeforeAction(startNode.parent, paragraph));
4071
- startNode.parent.apply(new RemoveChildAction(startNode));
4072
- return paragraph.children[0];
4073
- }
4074
3161
  return startNode;
4075
3162
  }
4076
3163
  /**
@@ -4079,10 +3166,11 @@ class DeleteSelectedNodesController extends VegaSlimmer {
4079
3166
  removeRangeStartAndEndSelectedText() {
4080
3167
  const selectedNodes = this.selectionController.getSelectedNodes();
4081
3168
  const currentRange = this.selectionController.getCurrentRange();
4082
- if (selectedNodes[0] instanceof RTETextNode) {
3169
+ if (selectedNodes[0] instanceof RTETextNode && selectedNodes[0].isContentEditable()) {
4083
3170
  selectedNodes[0].apply(new ReplaceSelectedTextAction('', currentRange));
4084
3171
  }
4085
- if (selectedNodes.length > 1 && selectedNodes[selectedNodes.length - 1] instanceof RTETextNode) {
3172
+ const endNode = selectedNodes[selectedNodes.length - 1];
3173
+ if (selectedNodes.length > 1 && endNode instanceof RTETextNode && endNode.isContentEditable()) {
4086
3174
  selectedNodes[selectedNodes.length - 1].apply(new ReplaceSelectedTextAction('', currentRange));
4087
3175
  }
4088
3176
  }
@@ -4094,7 +3182,7 @@ class DeleteSelectedNodesController extends VegaSlimmer {
4094
3182
  createEmptyParagraph() {
4095
3183
  const paragraph = new RTETextBlock(generateUUID(), 'paragraph');
4096
3184
  const textNode = new RTETextNode(`${paragraph.id}1`, '', paragraph);
4097
- paragraph.apply(new AppendChildNodesAction([textNode]));
3185
+ paragraph.apply(new AppendChildrenAction([textNode]));
4098
3186
  return paragraph;
4099
3187
  }
4100
3188
  /**
@@ -4114,20 +3202,20 @@ class DeleteSelectedNodesController extends VegaSlimmer {
4114
3202
  if (this.shouldMergeTextNode(startRTENode, endRTENode)) {
4115
3203
  startRTENode.apply(new UpdateTextAction(startRTENode.text + endRTENode.text));
4116
3204
  if (startRTENode.parent === endRTENode.parent) {
4117
- startRTENode.parent.apply(new RemoveChildAction(endRTENode));
3205
+ startRTENode.parent.apply(new RemoveChildrenAction(endRTENode));
4118
3206
  }
4119
3207
  else {
4120
- endRTENode.parent.apply(new RemoveChildAction(endRTENode.parent.children[0]));
3208
+ endRTENode.parent.apply(new RemoveChildrenAction(endRTENode.parent.children[0]));
4121
3209
  }
4122
3210
  }
4123
3211
  if (startRTENode instanceof RTETextNode &&
4124
3212
  endRTENode instanceof RTETextNode &&
4125
3213
  startRTENode.parent !== endRTENode.parent) {
4126
- startRTENode.parent.apply(new AppendChildNodesAction(endBlock.children));
3214
+ startRTENode.parent.apply(new AppendChildrenAction(endBlock.children));
4127
3215
  endBlock.children = [];
4128
3216
  }
4129
3217
  if (endBlock.children.length < 1) {
4130
- endBlock.parent.apply(new RemoveChildAction(endBlock));
3218
+ endBlock.parent.apply(new RemoveChildrenAction(endBlock));
4131
3219
  }
4132
3220
  }
4133
3221
  }
@@ -4147,24 +3235,57 @@ class DeleteSelectedNodesController extends VegaSlimmer {
4147
3235
  nodeB instanceof RTETextNode &&
4148
3236
  JSON.stringify(annotationsA) === JSON.stringify(annotationsB));
4149
3237
  }
3238
+ /**
3239
+ * Check the decorator node is fully in the range end.
3240
+ *
3241
+ * @param {RTENode} rangeEndNode - The end node of the range
3242
+ * @param {number} endOffset - The end offset of the range
3243
+ * @param {RTENode<RTEBlock>} checkedNode - The checked decorator node
3244
+ * @returns {boolean} - Whether the end node is fully within the range
3245
+ */
3246
+ isEndNodeFullyInTheRange(rangeEndNode, endOffset, checkedNode) {
3247
+ if (checkedNode instanceof RTECodeBlockNode) {
3248
+ return true;
3249
+ }
3250
+ else {
3251
+ return checkedNode === rangeEndNode && endOffset !== 0;
3252
+ }
3253
+ }
3254
+ /**
3255
+ * Check if the start decorator node is fully in the range.
3256
+ *
3257
+ * @param {RTENode<RTEBlock>} rangeStartNode - The start node of the range
3258
+ * @param {RTENode} rangeEndNode - The end node of the range
3259
+ * @param {number} startOffset - The start offset of the range
3260
+ * @param {number} endOffset - The end offset of the range
3261
+ * @returns {boolean} - Whether the start node is fully within the range
3262
+ */
3263
+ isStartNodeFullyInTheRange(rangeStartNode, rangeEndNode, startOffset, endOffset) {
3264
+ if (rangeStartNode instanceof RTECodeBlockNode) {
3265
+ return true;
3266
+ }
3267
+ else {
3268
+ return startOffset === 0 && (rangeEndNode !== rangeStartNode || endOffset !== 0);
3269
+ }
3270
+ }
4150
3271
  }
4151
- __decorate$9([
3272
+ __decorate$a([
4152
3273
  MapToComponentField()
4153
3274
  ], DeleteSelectedNodesController.prototype, "host", void 0);
4154
- __decorate$9([
3275
+ __decorate$a([
4155
3276
  MapToComponentField()
4156
3277
  ], DeleteSelectedNodesController.prototype, "selectionController", void 0);
4157
- __decorate$9([
3278
+ __decorate$a([
4158
3279
  MapToComponentField()
4159
3280
  ], DeleteSelectedNodesController.prototype, "value", void 0);
4160
- __decorate$9([
3281
+ __decorate$a([
4161
3282
  MapToComponentMethod('connectedCallback')
4162
3283
  ], DeleteSelectedNodesController.prototype, "addDeleteObserver", null);
4163
- __decorate$9([
3284
+ __decorate$a([
4164
3285
  MapToComponentMethod('disconnectedCallback')
4165
3286
  ], DeleteSelectedNodesController.prototype, "removeDeleteObserver", null);
4166
3287
 
4167
- var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3288
+ var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4168
3289
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4169
3290
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4170
3291
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -4240,22 +3361,22 @@ class HistoryController extends ComponentValueHistoryControllerSlimmer {
4240
3361
  await this.valueController.flushChanges(content, false);
4241
3362
  }
4242
3363
  }
4243
- __decorate$8([
3364
+ __decorate$9([
4244
3365
  MapToComponentField()
4245
3366
  ], HistoryController.prototype, "host", void 0);
4246
- __decorate$8([
3367
+ __decorate$9([
4247
3368
  MapToComponentField()
4248
3369
  ], HistoryController.prototype, "vegaRichTextEditorRenderer", void 0);
4249
- __decorate$8([
3370
+ __decorate$9([
4250
3371
  MapToComponentField()
4251
3372
  ], HistoryController.prototype, "valueController", void 0);
4252
- __decorate$8([
3373
+ __decorate$9([
4253
3374
  MapToComponentField()
4254
3375
  ], HistoryController.prototype, "value", void 0);
4255
- __decorate$8([
3376
+ __decorate$9([
4256
3377
  MapToComponentField()
4257
3378
  ], HistoryController.prototype, "selectionController", void 0);
4258
- __decorate$8([
3379
+ __decorate$9([
4259
3380
  MapToComponentMethod('componentDidLoad')
4260
3381
  ], HistoryController.prototype, "registerInitState", null);
4261
3382
 
@@ -4276,7 +3397,7 @@ class TransformToCodeBlockAction extends ModifyContentAction {
4276
3397
  }
4277
3398
  }
4278
3399
 
4279
- var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3400
+ var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4280
3401
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4281
3402
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4282
3403
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -4285,7 +3406,7 @@ var __decorate$7 = (undefined && undefined.__decorate) || function (decorators,
4285
3406
  /**
4286
3407
  * The code block toolbar button slimmer.
4287
3408
  */
4288
- class CodeBlockToolbarButtonSlimmer extends ToolbarButtonSlimmer {
3409
+ class CodeBlockToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
4289
3410
  constructor() {
4290
3411
  super({
4291
3412
  icon: 'rectangle-code',
@@ -4327,13 +3448,13 @@ class CodeBlockToolbarButtonSlimmer extends ToolbarButtonSlimmer {
4327
3448
  (() => {
4328
3449
  VegaInternalIconManager.register({ 'rectangle-code': rectangleCode });
4329
3450
  })();
4330
- __decorate$7([
3451
+ __decorate$8([
4331
3452
  MapToComponentField()
4332
3453
  ], CodeBlockToolbarButtonSlimmer.prototype, "selectionController", void 0);
4333
- __decorate$7([
3454
+ __decorate$8([
4334
3455
  MapToComponentField()
4335
3456
  ], CodeBlockToolbarButtonSlimmer.prototype, "valueController", void 0);
4336
- __decorate$7([
3457
+ __decorate$8([
4337
3458
  MapToComponentField()
4338
3459
  ], CodeBlockToolbarButtonSlimmer.prototype, "value", void 0);
4339
3460
 
@@ -4400,7 +3521,71 @@ class InternalCodeBlockSelectionController extends AutoRunWhenReRenderTaskQueueS
4400
3521
  }
4401
3522
  }
4402
3523
 
4403
- const vegaRichTextEditorCss = ":host{display:block}:host vega-field-label{margin-bottom:8px}:host vega-text{margin-bottom:16px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-secondary, 107, 116, 125, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){:host vega-text{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host vega-text{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host vega-text{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}:host .rich-text-editor-container{display:flex;box-sizing:content-box;position:relative;box-sizing:content-box;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));border:1px solid rgba(var(--v-border-input-field, 171, 198, 216, 1));border-radius:8px;font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px;color:rgba(var(--v-text-primary, 32, 54, 69, 1));margin-top:12px;overflow:auto;resize:vertical;padding-top:12px;padding-right:16px;padding-bottom:32px;padding-left:16px}@media screen and (min-width: 768px) and (max-width: 1023px){:host .rich-text-editor-container{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .rich-text-editor-container{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .rich-text-editor-container{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}:host .rich-text-editor-container:hover{border:1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1))}:host .rich-text-editor-container:focus-within{border:1px solid rgba(var(--v-border-input-field-focus, 19, 98, 226, 1));outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:3px;border:1px solid rgba(var(--v-border-color-input-field-focus, 19, 98, 226, 1))}:host .rich-text-editor-container.disabled{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1));border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1));cursor:not-allowed}:host .rich-text-editor-container.disabled:hover,:host .rich-text-editor-container.disabled:focus-within{border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1))}:host .rich-text-editor-container.disabled:focus-within{outline:none}:host .rich-text-editor-container.disabled vega-rich-text-content{pointer-events:none;opacity:0.35}:host .rich-text-editor-container.error{border:1px solid rgba(var(--v-border-input-field-danger, 230, 50, 87, 1))}:host .rich-text-editor-container.error:hover{border:1px solid rgba(var(--v-border-input-field-danger-hover, 255, 87, 114, 1))}:host .rich-text-editor-container.error:focus-within{outline:2px solid rgba(var(--v-border-color-danger, 230, 50, 87, 1));outline-offset:3px;border:1px solid rgba(var(--v-border-color-input-field-danger-focus, 233, 71, 104, 1))}:host .rich-text-editor-container .text-editor-counter{position:absolute;bottom:8px;right:8px;display:flex;padding-left:4px;padding-right:4px;padding-top:2px;padding-bottom:2px;border-radius:4px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-inverted-primary, 252, 252, 252, 1));background-color:rgba(var(--v-bg-textarea-count, 4, 4, 28, 0.6))}@media screen and (min-width: 768px) and (max-width: 1023px){:host .rich-text-editor-container .text-editor-counter{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .rich-text-editor-container .text-editor-counter{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .rich-text-editor-container .text-editor-counter{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}:host .rich-text-editor-container .text-editor-counter.counter-exceed-max-length{background-color:rgba(var(--v-bg-textarea-counter-exceed-max-length, 214, 46, 81))}.toolbar-btn-group{display:flex;justify-content:center;align-items:center}.toolbar-btn-group>*:not(:first-child):not(:last-child) ::part(rich-text-editor-toolbar-button){border-radius:0px}.toolbar-btn-group>*:first-child:not(:last-child) ::part(rich-text-editor-toolbar-button){border-top-left-radius:4px;border-bottom-left-radius:4px;border-top-right-radius:0px;border-bottom-right-radius:0px}.toolbar-btn-group>*:last-child:not(:first-child) ::part(rich-text-editor-toolbar-button){border-top-left-radius:0px;border-bottom-left-radius:0px;border-top-right-radius:4px;border-bottom-right-radius:4px}.toolbar-btn-group>*:not(:first-child) ::part(rich-text-editor-toolbar-button){margin-left:-1px}.toolbar-btn-group .toolbar-btn-color-preview-box{display:flex;border:1px solid rgba(var(--v-border-chip, 205, 209, 211, 1));box-sizing:border-box;border-radius:4px;width:16px;height:16px;justify-content:center;align-items:center;margin-left:6px}.toolbar-btn-group .toolbar-btn-color-preview-box.disabled{opacity:0.35}.toolbar-btn-group .toolbar-btn-link-wrapper{position:relative}.toolbar-btn-group .toolbar-btn-link-wrapper vega-rich-text-link-editor{position:absolute;bottom:0;left:0;right:0}.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-error, 189, 41, 71, 1));display:block;margin-top:12px}@media screen and (min-width: 768px) and (max-width: 1023px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}.vega-hidden{display:none}";
3524
+ const displayCode = {
3525
+ icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 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="M512 48c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H336.5c-.3 0-.6 0-.8 0H240.4c-.3 0-.6 0-.8 0H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H512zM64 416H211.7l-8 48H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H352h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H372.3l-8-48H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64zm188.3 48l8-48h55.3l8 48H252.3zM249 177c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-48 48c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31 31-31zM361 143c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9l-48-48z"/></svg>`,
3526
+ };
3527
+
3528
+ var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3529
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3530
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3531
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3532
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
3533
+ };
3534
+ class SourceEditToolbarButtonSlimmer extends ToolbarButtonSlimmer {
3535
+ constructor() {
3536
+ super({
3537
+ icon: 'display-code',
3538
+ tooltip: {
3539
+ text: 'Edit Source',
3540
+ },
3541
+ autoFocusOnClick: false,
3542
+ });
3543
+ }
3544
+ async onClick() {
3545
+ const isSelected = this.sourceView;
3546
+ if (isSelected) {
3547
+ await this.saveSourceCode();
3548
+ }
3549
+ else {
3550
+ this.selectionController.setSelectionRange(new Range());
3551
+ }
3552
+ this.sourceView = !isSelected;
3553
+ }
3554
+ isSelected() {
3555
+ return this.sourceView;
3556
+ }
3557
+ isDisabled() {
3558
+ return super.isDisabled();
3559
+ }
3560
+ async saveSourceCode() {
3561
+ const sourceViewValue = this.vegaRichTextEditorRenderer.getSourceCode();
3562
+ if (typeof sourceViewValue === 'string') {
3563
+ await this.valueController.flushChanges(VegaRTEContent.fromHtml(sourceViewValue, {
3564
+ autoMatchFormat: this.sourceEditConfig.autoMatchFormat,
3565
+ }));
3566
+ }
3567
+ }
3568
+ }
3569
+ (() => {
3570
+ VegaInternalIconManager.register({ 'display-code': displayCode });
3571
+ })();
3572
+ __decorate$7([
3573
+ MapToComponentField({ writable: true })
3574
+ ], SourceEditToolbarButtonSlimmer.prototype, "sourceView", void 0);
3575
+ __decorate$7([
3576
+ MapToComponentField()
3577
+ ], SourceEditToolbarButtonSlimmer.prototype, "selectionController", void 0);
3578
+ __decorate$7([
3579
+ MapToComponentField()
3580
+ ], SourceEditToolbarButtonSlimmer.prototype, "valueController", void 0);
3581
+ __decorate$7([
3582
+ MapToComponentField()
3583
+ ], SourceEditToolbarButtonSlimmer.prototype, "vegaRichTextEditorRenderer", void 0);
3584
+ __decorate$7([
3585
+ MapToComponentField()
3586
+ ], SourceEditToolbarButtonSlimmer.prototype, "sourceEditConfig", void 0);
3587
+
3588
+ const vegaRichTextEditorCss = ":host{display:block}:host vega-field-label{margin-bottom:8px}:host vega-text{margin-bottom:16px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-secondary, 107, 116, 125, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){:host vega-text{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host vega-text{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host vega-text{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}:host .rich-text-editor-container{display:flex;box-sizing:content-box;position:relative;box-sizing:content-box;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));border:1px solid rgba(var(--v-border-input-field, 171, 198, 216, 1));border-radius:8px;color:rgba(var(--v-text-primary, 32, 54, 69, 1));margin-top:12px;overflow:auto;resize:vertical;padding-top:12px;padding-right:16px;padding-bottom:32px;padding-left:16px}:host .rich-text-editor-container:hover{border:1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1))}:host .rich-text-editor-container:focus-within{border:1px solid rgba(var(--v-border-input-field-focus, 19, 98, 226, 1));outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:3px;border:1px solid rgba(var(--v-border-color-input-field-focus, 19, 98, 226, 1))}:host .rich-text-editor-container.disabled{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1));border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1));cursor:not-allowed}:host .rich-text-editor-container.disabled:hover,:host .rich-text-editor-container.disabled:focus-within{border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1))}:host .rich-text-editor-container.disabled:focus-within{outline:none}:host .rich-text-editor-container.disabled vega-rich-text-content{pointer-events:none;opacity:0.35}:host .rich-text-editor-container.error{border:1px solid rgba(var(--v-border-input-field-danger, 230, 50, 87, 1))}:host .rich-text-editor-container.error:hover{border:1px solid rgba(var(--v-border-input-field-danger-hover, 255, 87, 114, 1))}:host .rich-text-editor-container.error:focus-within{outline:2px solid rgba(var(--v-border-color-danger, 230, 50, 87, 1));outline-offset:3px;border:1px solid rgba(var(--v-border-color-input-field-danger-focus, 233, 71, 104, 1))}:host .rich-text-editor-container .text-editor-counter{position:absolute;bottom:8px;right:8px;display:flex;padding-left:4px;padding-right:4px;padding-top:2px;padding-bottom:2px;border-radius:4px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-inverted-primary, 252, 252, 252, 1));background-color:rgba(var(--v-bg-textarea-count, 4, 4, 28, 0.6))}@media screen and (min-width: 768px) and (max-width: 1023px){:host .rich-text-editor-container .text-editor-counter{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .rich-text-editor-container .text-editor-counter{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .rich-text-editor-container .text-editor-counter{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}:host .rich-text-editor-container .text-editor-counter.counter-exceed-max-length{background-color:rgba(var(--v-bg-textarea-counter-exceed-max-length, 214, 46, 81))}.toolbar-btn-group{display:flex;justify-content:center;align-items:center}.toolbar-btn-group>*:not(:first-child):not(:last-child) ::part(rich-text-editor-toolbar-button){border-radius:0px}.toolbar-btn-group>*:first-child:not(:last-child) ::part(rich-text-editor-toolbar-button){border-top-left-radius:4px;border-bottom-left-radius:4px;border-top-right-radius:0px;border-bottom-right-radius:0px}.toolbar-btn-group>*:last-child:not(:first-child) ::part(rich-text-editor-toolbar-button){border-top-left-radius:0px;border-bottom-left-radius:0px;border-top-right-radius:4px;border-bottom-right-radius:4px}.toolbar-btn-group>*:not(:first-child) ::part(rich-text-editor-toolbar-button){margin-left:-1px}.toolbar-btn-group .toolbar-btn-color-preview-box{display:flex;border:1px solid rgba(var(--v-border-chip, 205, 209, 211, 1));box-sizing:border-box;border-radius:4px;width:16px;height:16px;justify-content:center;align-items:center;margin-left:6px}.toolbar-btn-group .toolbar-btn-color-preview-box.disabled{opacity:0.35}.toolbar-btn-group .toolbar-btn-link-wrapper{position:relative}.toolbar-btn-group .toolbar-btn-link-wrapper vega-rich-text-link-editor{position:absolute;bottom:0;left:0;right:0}.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-error, 189, 41, 71, 1));display:block;margin-top:12px}@media screen and (min-width: 768px) and (max-width: 1023px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}.vega-hidden{display:none !important}.source-view-container{margin-top:12px}.source-view-container vega-code-block::part(editor-toolbar){display:none}";
4404
3589
 
4405
3590
  var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4406
3591
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -4457,6 +3642,7 @@ const VegaRichTextEditor = class {
4457
3642
  this.bulletsNumbersToolbarButtonSlimmer = new BulletsNumbersToolbarButtonSlimmer();
4458
3643
  this.horizontalAlignmentToolbarButtonSlimmer = new HorizontalAlignmentToolbarButtonSlimmer();
4459
3644
  this.codeBlockToolbarButtonSlimmer = new CodeBlockToolbarButtonSlimmer();
3645
+ this.sourceEditToolbarButtonSlimmer = new SourceEditToolbarButtonSlimmer();
4460
3646
  this.placeholderNotifySlimmer = createSubStateNotifySlimmer(VegaRichTextEditor, 'placeholder', 'watchPlaceholder');
4461
3647
  this.disabledNotifySlimmer = createSubStateNotifySlimmer(VegaRichTextEditor, 'richTextContentEditable', 'watchRichTextContentEditable');
4462
3648
  this.richTextContentController = new RichTextContentController(this);
@@ -4472,6 +3658,7 @@ const VegaRichTextEditor = class {
4472
3658
  this.richTextContentEditable = true;
4473
3659
  this.selectionMap = new Map();
4474
3660
  this.isInDarkMode = VegaInternalThemeManager.isDarkMode();
3661
+ this.sourceView = false;
4475
3662
  /**
4476
3663
  * Specifies the label for the rich text editor.
4477
3664
  *
@@ -4541,6 +3728,19 @@ const VegaRichTextEditor = class {
4541
3728
  ['image'],
4542
3729
  ['clearStyle'],
4543
3730
  ];
3731
+ /**
3732
+ * Determines whether to allow source edit mode in the rich text editor.
3733
+ *
3734
+ * @vegaVersion 2.59.0
3735
+ */
3736
+ this.allowSourceEdit = false;
3737
+ /**
3738
+ * Specifies the configuration options for source edit mode.
3739
+ * It includes settings such as autoMatchFormat, which controls whether the editor automatically matches formatting when switching to source edit mode.
3740
+ *
3741
+ * @vegaVersion 2.59.0
3742
+ */
3743
+ this.sourceEditConfig = { autoMatchFormat: true };
4544
3744
  /**
4545
3745
  * Specifies the validation status of the rich text editor component.
4546
3746
  *
@@ -4666,6 +3866,9 @@ __decorate$6([
4666
3866
  __decorate$6([
4667
3867
  InjectVegaSlimmer()
4668
3868
  ], VegaRichTextEditor.prototype, "codeBlockToolbarButtonSlimmer", void 0);
3869
+ __decorate$6([
3870
+ InjectVegaSlimmer()
3871
+ ], VegaRichTextEditor.prototype, "sourceEditToolbarButtonSlimmer", void 0);
4669
3872
  __decorate$6([
4670
3873
  InjectVegaSlimmer()
4671
3874
  ], VegaRichTextEditor.prototype, "placeholderNotifySlimmer", void 0);
@@ -4726,10 +3929,11 @@ class VegaRichTextEditorToolbarButtonRenderer extends VegaSlimmer {
4726
3929
  return (h("button", { part: "rich-text-editor-toolbar-button", class: {
4727
3930
  'rich-text-editor-toolbar-btn': true,
4728
3931
  'rich-text-editor-toolbar-button-disabled': this.disabled,
3932
+ 'rich-text-editor-toolbar-button-hidden': this.hidden,
4729
3933
  'rich-text-editor-toolbar-button-selected': this.selected,
4730
- }, onClick: this.handleClick, disabled: this.disabled },
3934
+ }, onClick: this.handleClick, disabled: this.disabled, hidden: this.hidden },
4731
3935
  h("vega-flex", { gap: "size-8", justifyContent: "center", alignItems: "center" },
4732
- h("vega-icon", { size: "size-16", color: this.iconColor, icon: VegaInternalIconManager.getIconKey(this.icon) }),
3936
+ this.icon && (h("vega-icon", { size: "size-16", color: this.iconColor, icon: VegaInternalIconManager.getIconKey(this.icon) })),
4733
3937
  this.showArrowIcon && (h("vega-icon", { size: "size-8", color: "text-secondary", icon: VegaInternalIconManager.getIconKey('chevron-down') }))),
4734
3938
  h("slot", null)));
4735
3939
  }
@@ -4742,6 +3946,9 @@ class VegaRichTextEditorToolbarButtonRenderer extends VegaSlimmer {
4742
3946
  __decorate$5([
4743
3947
  MapToComponentField()
4744
3948
  ], VegaRichTextEditorToolbarButtonRenderer.prototype, "disabled", void 0);
3949
+ __decorate$5([
3950
+ MapToComponentField()
3951
+ ], VegaRichTextEditorToolbarButtonRenderer.prototype, "hidden", void 0);
4745
3952
  __decorate$5([
4746
3953
  MapToComponentField()
4747
3954
  ], VegaRichTextEditorToolbarButtonRenderer.prototype, "selected", void 0);
@@ -4758,7 +3965,7 @@ __decorate$5([
4758
3965
  MapToComponentField()
4759
3966
  ], VegaRichTextEditorToolbarButtonRenderer.prototype, "clickEventEmitter", void 0);
4760
3967
 
4761
- const vegaRichTextEditorToolbarButtonCss = ":host{display:inline-block}.rich-text-editor-toolbar-btn{display:flex;justify-content:center;align-items:center;border-radius:4px;border:1px solid rgba(var(--v-border-input-field, 171, 198, 216, 1));padding-top:8px;padding-bottom:8px;padding-left:12px;padding-right:12px;cursor:pointer;position:relative;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1))}.rich-text-editor-toolbar-btn:hover{background-color:rgba(var(--v-bg-quaternary, 241, 248, 251, 1));border:1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1));z-index:1}.rich-text-editor-toolbar-btn:active{border:1px solid rgba(var(--v-border-input-field-focus, 19, 98, 226, 1));background-color:rgba(var(--v-bg-quaternary, 241, 248, 251, 1));z-index:1}.rich-text-editor-toolbar-btn:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:-1px;z-index:2}.rich-text-editor-toolbar-btn.rich-text-editor-toolbar-button-selected{border:1px solid rgba(var(--v-border-input-field-focus, 19, 98, 226, 1));background-color:rgba(var(--v-bg-quaternary, 241, 248, 251, 1));z-index:1}.rich-text-editor-toolbar-btn.rich-text-editor-toolbar-button-disabled{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1));border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1));cursor:not-allowed}.rich-text-editor-toolbar-btn.rich-text-editor-toolbar-button-disabled vega-icon{color:rgba(var(--v-text-disabled, 176, 180, 181, 1))}";
3968
+ const vegaRichTextEditorToolbarButtonCss = ":host{display:inline-block}.rich-text-editor-toolbar-btn{display:flex;justify-content:center;align-items:center;border-radius:4px;border:1px solid rgba(var(--v-border-input-field, 171, 198, 216, 1));padding-top:8px;padding-bottom:8px;padding-left:12px;padding-right:12px;cursor:pointer;position:relative;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1))}.rich-text-editor-toolbar-btn:hover{background-color:rgba(var(--v-bg-quaternary, 241, 248, 251, 1));border:1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1));z-index:1}.rich-text-editor-toolbar-btn:active{border:1px solid rgba(var(--v-border-input-field-focus, 19, 98, 226, 1));background-color:rgba(var(--v-bg-quaternary, 241, 248, 251, 1));z-index:1}.rich-text-editor-toolbar-btn:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:-1px;z-index:2}.rich-text-editor-toolbar-btn.rich-text-editor-toolbar-button-selected{border:1px solid rgba(var(--v-border-input-field-focus, 19, 98, 226, 1));background-color:rgba(var(--v-bg-quaternary, 241, 248, 251, 1));z-index:1}.rich-text-editor-toolbar-btn.rich-text-editor-toolbar-button-disabled{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1));border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1));cursor:not-allowed}.rich-text-editor-toolbar-btn.rich-text-editor-toolbar-button-disabled vega-icon{color:rgba(var(--v-text-disabled, 176, 180, 181, 1))}.rich-text-editor-toolbar-btn.rich-text-editor-toolbar-button-hidden{display:none}";
4762
3969
 
4763
3970
  var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4764
3971
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -4793,6 +4000,12 @@ const VegaRichTextEditorToolbarButton = class {
4793
4000
  * @vegaVersion 2.34.0
4794
4001
  */
4795
4002
  this.disabled = false;
4003
+ /**
4004
+ * Specifies whether the rich text editor toolbar button element is hidden.
4005
+ *
4006
+ * @vegaVersion 2.59.0
4007
+ */
4008
+ this.hidden = false;
4796
4009
  /**
4797
4010
  * Specifies whether the rich text editor toolbar button element is selected.
4798
4011
  *