@heartlandone/vega 2.49.0 → 2.50.0-RTE-preview

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 (672) hide show
  1. package/dist/cjs/{app-globals-e17dedba.js → app-globals-8e811cac.js} +7 -7
  2. package/dist/cjs/{array-3aa164ce.js → array-249289f2.js} +18 -15
  3. package/dist/cjs/{child-nodes-event-prevent-slimmer-37870b2e.js → child-nodes-event-prevent-slimmer-26ecfb15.js} +2 -2
  4. package/dist/cjs/{content-state-6a48bcb5.js → code-block-4cd8bccd.js} +1166 -1131
  5. package/dist/cjs/content-state-6cb98931.js +2496 -0
  6. package/dist/cjs/{design-token-6e2c52f1.js → design-token-8b48cb59.js} +1 -1
  7. package/dist/cjs/{element-appender-slimmer-9fb99abd.js → element-appender-slimmer-d6b975e6.js} +3 -3
  8. package/dist/cjs/{event-emit-slimmer-8247249c.js → event-emit-slimmer-ee7a8c06.js} +1 -1
  9. package/dist/cjs/{feature-flag-controller-075fa683.js → feature-flag-controller-5e58aae4.js} +6 -0
  10. package/dist/cjs/{form-field-controller-slimmer-527c25a0.js → form-field-controller-slimmer-88cbb139.js} +9 -7
  11. package/dist/cjs/{image-annotation-action-9c2b9c8e.js → image-annotation-action-f36b1a72.js} +65 -35
  12. package/dist/cjs/{index-c4dec3aa.js → index-4dd54e6b.js} +1 -1
  13. package/dist/cjs/{index-09acd3c9.js → index-7700600c.js} +9 -0
  14. package/dist/cjs/index.cjs.js +19 -18
  15. package/dist/cjs/{internal-vega-event-manager-c9948b59.js → internal-vega-event-manager-58afcde7.js} +1 -0
  16. package/dist/cjs/{legend-input-processor-b071654c.js → legend-input-processor-8bcce3bf.js} +1 -1
  17. package/dist/cjs/loader.cjs.js +12 -10
  18. package/dist/cjs/{mutation-observer-filters-1f8c32a3.js → mutation-observer-filters-38cebc6d.js} +1 -1
  19. package/dist/cjs/{public-rules-10ec636d.js → public-rules-555271e0.js} +8 -6
  20. package/dist/cjs/{responsive-format-facade-9be0a851.js → responsive-format-facade-8ce41c8a.js} +5 -5
  21. package/dist/cjs/{rich-text-editor-required-rule-5faded94.js → rich-text-editor-required-rule-d1b38bf7.js} +1 -1
  22. package/dist/cjs/selection-controller-828990cc.js +765 -0
  23. package/dist/cjs/string-39438062.js +24 -0
  24. package/dist/cjs/{string-input-formatter-slimmer-50322824.js → string-input-formatter-slimmer-9e7d7ce2.js} +2 -2
  25. package/dist/cjs/{style-formatter-5b95a2a6.js → style-formatter-2294d77f.js} +1 -1
  26. package/dist/cjs/{sub-state-notify-slimmer-7f437b19.js → sub-state-notify-slimmer-f3ee01b7.js} +1 -1
  27. package/dist/cjs/{sub-state-observer-slimmer-e90362cd.js → sub-state-observer-slimmer-e1a00b74.js} +1 -1
  28. package/dist/cjs/{translation-212b1875.js → translation-e5003a00.js} +5 -0
  29. package/dist/cjs/{translation-slimmer-d1512c6d.js → translation-slimmer-127a0f83.js} +1 -1
  30. package/dist/cjs/vega-accordion.cjs.entry.js +13 -11
  31. package/dist/cjs/vega-app-footer.cjs.entry.js +1 -1
  32. package/dist/cjs/vega-app-header-button.cjs.entry.js +14 -12
  33. package/dist/cjs/vega-backdrop.cjs.entry.js +1 -1
  34. package/dist/cjs/vega-banner.cjs.entry.js +4 -4
  35. package/dist/cjs/vega-bar-chart.cjs.entry.js +4 -4
  36. package/dist/cjs/vega-box.cjs.entry.js +13 -11
  37. package/dist/cjs/vega-brand-logo.cjs.entry.js +1 -1
  38. package/dist/cjs/vega-breadcrumb.cjs.entry.js +5 -5
  39. package/dist/cjs/vega-button-circle.cjs.entry.js +14 -12
  40. package/dist/cjs/vega-button-group_2.cjs.entry.js +8 -8
  41. package/dist/cjs/vega-button-link.cjs.entry.js +5 -5
  42. package/dist/cjs/vega-button.cjs.entry.js +13 -11
  43. package/dist/cjs/vega-calendar_3.cjs.entry.js +11 -11
  44. package/dist/cjs/vega-card.cjs.entry.js +12 -10
  45. package/dist/cjs/vega-carousel.cjs.entry.js +12 -10
  46. package/dist/cjs/vega-checkbox_2.cjs.entry.js +12 -12
  47. package/dist/cjs/vega-chip.cjs.entry.js +14 -12
  48. package/dist/cjs/vega-code-block.cjs.entry.js +4073 -0
  49. package/dist/cjs/vega-color-picker.cjs.entry.js +10 -10
  50. package/dist/cjs/vega-combo-box.cjs.entry.js +12 -12
  51. package/dist/cjs/vega-counter-badge.cjs.entry.js +1 -1
  52. package/dist/cjs/vega-date-picker_2.cjs.entry.js +20 -19
  53. package/dist/cjs/vega-dialog_2.cjs.entry.js +14 -12
  54. package/dist/cjs/vega-divider.cjs.entry.js +12 -10
  55. package/dist/cjs/vega-dropdown_5.cjs.entry.js +17 -15
  56. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  57. package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
  58. package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
  59. package/dist/cjs/vega-file-uploader.cjs.entry.js +11 -11
  60. package/dist/cjs/vega-flag-icon.cjs.entry.js +12 -10
  61. package/dist/cjs/vega-flex.cjs.entry.js +13 -11
  62. package/dist/cjs/vega-font.cjs.entry.js +12 -10
  63. package/dist/cjs/vega-form.cjs.entry.js +13 -13
  64. package/dist/cjs/vega-grid.cjs.entry.js +12 -10
  65. package/dist/cjs/vega-hint.cjs.entry.js +1 -1
  66. package/dist/cjs/vega-icon.cjs.entry.js +12 -10
  67. package/dist/cjs/vega-image-uploader.cjs.entry.js +17 -16
  68. package/dist/cjs/vega-input-credit-card.cjs.entry.js +12 -12
  69. package/dist/cjs/vega-input-numeric.cjs.entry.js +13 -13
  70. package/dist/cjs/vega-input-phone-number.cjs.entry.js +25 -16
  71. package/dist/cjs/vega-input-range.cjs.entry.js +13 -13
  72. package/dist/cjs/vega-input-select.cjs.entry.js +22 -21
  73. package/dist/cjs/vega-input.cjs.entry.js +25 -14
  74. package/dist/cjs/{vega-internal-event-id-bfea9b93.js → vega-internal-event-id-62371952.js} +2 -0
  75. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  76. package/dist/cjs/vega-left-nav_5.cjs.entry.js +15 -13
  77. package/dist/cjs/vega-line-chart.cjs.entry.js +4 -4
  78. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +11 -9
  79. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  80. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +5 -5
  81. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +4 -4
  82. package/dist/cjs/vega-pagination.cjs.entry.js +14 -12
  83. package/dist/cjs/vega-pie-chart.cjs.entry.js +3 -3
  84. package/dist/cjs/vega-popover_2.cjs.entry.js +13 -11
  85. package/dist/cjs/vega-progress-tracker.cjs.entry.js +3 -3
  86. package/dist/cjs/vega-radio_2.cjs.entry.js +12 -12
  87. package/dist/cjs/vega-rich-text-content.cjs.entry.js +311 -137
  88. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +1228 -2505
  89. package/dist/cjs/vega-section-title.cjs.entry.js +1 -1
  90. package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
  91. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +17 -16
  92. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +13 -13
  93. package/dist/cjs/vega-sidenav_3.cjs.entry.js +14 -12
  94. package/dist/cjs/vega-signature-capture.cjs.entry.js +17 -16
  95. package/dist/cjs/{vega-skeleton-loader-controller-db868c98.js → vega-skeleton-loader-controller-83e05b6c.js} +1 -1
  96. package/dist/cjs/vega-skeleton.cjs.entry.js +1 -1
  97. package/dist/cjs/vega-slot-container.cjs.entry.js +1 -1
  98. package/dist/cjs/vega-stepper.cjs.entry.js +12 -12
  99. package/dist/cjs/vega-tab-group_2.cjs.entry.js +5 -5
  100. package/dist/cjs/vega-table_8.cjs.entry.js +17 -15
  101. package/dist/cjs/vega-text.cjs.entry.js +1 -1
  102. package/dist/cjs/vega-textarea.cjs.entry.js +12 -12
  103. package/dist/cjs/vega-time-picker_2.cjs.entry.js +18 -17
  104. package/dist/cjs/vega-toggle-switch.cjs.entry.js +10 -10
  105. package/dist/cjs/vega-tooltip_2.cjs.entry.js +12 -10
  106. package/dist/cjs/vega.cjs.js +12 -10
  107. package/dist/cjs/{y-axis-input-processor-72684c57.js → y-axis-input-processor-e371c142.js} +2 -2
  108. package/dist/collection/collection-manifest.json +7 -1
  109. package/dist/collection/components/vega-code-block/assets/copy.js +3 -0
  110. package/dist/collection/components/vega-code-block/slimmers/controllers/code-highlight-parser.abstract.js +62 -0
  111. package/dist/collection/components/vega-code-block/slimmers/controllers/default-code-highlight-parse-controller.js +48 -0
  112. package/dist/collection/components/vega-code-block/slimmers/controllers/prism-code-highlight-parse-controller.js +99 -0
  113. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-content-parse-controller.js +50 -0
  114. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-focus-controller.js +57 -0
  115. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-input-controller.js +255 -0
  116. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-selection-controller.js +266 -0
  117. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-value-controller.js +44 -0
  118. package/dist/collection/components/vega-code-block/slimmers/renderers/vega-code-block-content-renderer.js +123 -0
  119. package/dist/collection/components/vega-code-block/slimmers/renderers/vega-code-block-copy-button-renderer.js +67 -0
  120. package/dist/collection/components/vega-code-block/slimmers/renderers/vega-code-block-renderer.js +122 -0
  121. package/dist/collection/components/vega-code-block/types.js +10 -0
  122. package/dist/collection/components/vega-code-block/vega-code-block.css +158 -0
  123. package/dist/collection/components/vega-code-block/vega-code-block.js +399 -0
  124. package/dist/collection/components/vega-input/vega-input.js +13 -2
  125. package/dist/collection/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.js +2 -0
  126. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +5 -5
  127. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +2 -0
  128. package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.css +60 -5
  129. package/dist/collection/components/vega-rich-text-editor/assets/file-code.js +3 -0
  130. package/dist/collection/components/vega-rich-text-editor/assets/rectangle-code.js +3 -0
  131. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy.abstract.js +24 -0
  132. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-horizontal-alignment-strategy.js +15 -0
  133. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-indent-strategy.js +15 -0
  134. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-text-style-strategy.js +1 -0
  135. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/code-node-set-selection-range-strategy.js +13 -0
  136. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/node-update-annotation-map-strategy.js +14 -0
  137. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-content-strategy.js +3 -1
  138. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy.js +1 -1
  139. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-code-block-strategy.js +48 -0
  140. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-insert-image-strategy.js +17 -0
  141. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy.js +77 -0
  142. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/switch-out-from-code-block-strategy.js +38 -0
  143. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/update-code-block-strategy.js +14 -0
  144. package/dist/collection/components/vega-rich-text-editor/dto/actions/custom-style-annotation-action.js +20 -0
  145. package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +4 -0
  146. package/dist/collection/components/vega-rich-text-editor/dto/actions/remove-code-block-action.js +13 -0
  147. package/dist/collection/components/vega-rich-text-editor/dto/actions/switch-out-from-code-block-action.js +15 -0
  148. package/dist/collection/components/vega-rich-text-editor/dto/actions/transform-to-code-block-action.js +13 -0
  149. package/dist/collection/components/vega-rich-text-editor/dto/actions/update-code-block-action.js +15 -0
  150. package/dist/collection/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.js +1 -0
  151. package/dist/collection/components/vega-rich-text-editor/dto/annotations/bold-annotation.js +13 -5
  152. package/dist/collection/components/vega-rich-text-editor/dto/annotations/clear-formatting-annotation.js +2 -0
  153. package/dist/collection/components/vega-rich-text-editor/dto/annotations/code-annotation.js +14 -9
  154. package/dist/collection/components/vega-rich-text-editor/dto/annotations/common-annotation.abstract.js +12 -0
  155. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation.js +65 -0
  156. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-class-annotation.js +54 -0
  157. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.js +57 -0
  158. package/dist/collection/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.js +26 -10
  159. package/dist/collection/components/vega-rich-text-editor/dto/annotations/image-annotation.js +16 -7
  160. package/dist/collection/components/vega-rich-text-editor/dto/annotations/indent-annotation.js +8 -2
  161. package/dist/collection/components/vega-rich-text-editor/dto/annotations/italic-annotation.js +13 -5
  162. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-annotation.js +12 -9
  163. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-group-annotation.js +89 -0
  164. package/dist/collection/components/vega-rich-text-editor/dto/annotations/list-annotation.js +41 -0
  165. package/dist/collection/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.js +9 -9
  166. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-color-annotation.js +3 -7
  167. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-annotation.js +74 -12
  168. package/dist/collection/components/vega-rich-text-editor/dto/annotations/underline-annotation.js +9 -9
  169. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +69 -2
  170. package/dist/collection/components/vega-rich-text-editor/dto/blocks/code-block.js +106 -0
  171. package/dist/collection/components/vega-rich-text-editor/dto/blocks/image-block.js +15 -1
  172. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +50 -0
  173. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +12 -1
  174. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +66 -2
  175. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +29 -0
  176. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +56 -0
  177. package/dist/collection/components/vega-rich-text-editor/dto/nodes/image-node.js +26 -9
  178. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +81 -0
  179. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +15 -2
  180. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.js +5 -22
  181. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +9 -93
  182. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/code-block-renderer.js +62 -0
  183. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.js +1 -1
  184. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.js +121 -0
  185. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +1 -1
  186. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +1 -1
  187. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.js +2 -23
  188. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/code-block-node-renderer.js +81 -0
  189. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js +47 -7
  190. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.js +0 -27
  191. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +3 -2
  192. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.js +19 -4
  193. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract.js +165 -25
  194. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.js +2 -1
  195. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.js +6 -1
  196. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-rte-image-block-strategy.abstract.js +38 -0
  197. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/img-to-rte-image-block-strategy.js +3 -20
  198. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-block-to-rte-text-block-strategy.js +59 -5
  199. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/jira-code-to-rte-code-block-strategy.js +54 -0
  200. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/li-to-rte-list-item-block-strategy.js +1 -1
  201. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ol-to-rte-list-block-strategy.js +3 -2
  202. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/span-img-to-rte-image-block-strategy.js +3 -20
  203. 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 +7 -3
  204. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-to-rte-list-block-strategy.js +3 -2
  205. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-code-block-to-rte-code-block-strategy.js +69 -0
  206. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-image-to-rte-image-block-strategy.js +4 -7
  207. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-line-break-handler.js +7 -5
  208. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paragraph-handler.js +7 -5
  209. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +25 -10
  210. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/internal-code-block-selection-controller.js +64 -0
  211. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +59 -53
  212. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +21 -8
  213. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +10 -0
  214. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.js +5 -3
  215. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +5 -3
  216. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-toolbar-button-slimmer.js +5 -3
  217. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/numbers-toolbar-button-slimmer.js +5 -3
  218. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.js +5 -3
  219. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.js +65 -0
  220. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.js +5 -3
  221. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/center-align-toolbar-button-slimmer.js +2 -2
  222. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +8 -2
  223. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/justify-align-toolbar-button-slimmer.js +2 -2
  224. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/left-align-toolbar-button-slimmer.js +2 -2
  225. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/right-align-toolbar-button-slimmer.js +2 -2
  226. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +2 -2
  227. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.js +5 -3
  228. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.js +3 -3
  229. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +2 -2
  230. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.js +3 -3
  231. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +60 -0
  232. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.js +5 -3
  233. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +5 -3
  234. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +6 -4
  235. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +3 -2
  236. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.js +5 -3
  237. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.js +28 -0
  238. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +31 -3
  239. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/code-block-strategy-registry.test.js +21 -0
  240. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/content-state-strategy-registry.test.js +2 -0
  241. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/image-block-strategy-register.test.js +3 -0
  242. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/text-block-strategy-register.test.js +23 -1
  243. package/dist/collection/components/vega-rich-text-editor/test/dto/annotations.test.js +247 -27
  244. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/code-block.test.js +54 -0
  245. package/dist/collection/components/vega-rich-text-editor/test/dto/content-state.test.js +1793 -0
  246. package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/image-node.test.js +12 -0
  247. package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/text-node.test.js +41 -4
  248. package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/jira-code-to-rte-code-block-strategy.test.js +32 -0
  249. package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/vega-code-block-to-rte-code-block-strategy.test.js +61 -0
  250. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.css +7 -0
  251. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +18 -1
  252. package/dist/collection/helpers/code-format/code-formatter.js +108 -0
  253. package/dist/collection/helpers/code-format/test/code-formatter.test.js +362 -0
  254. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +2 -1
  255. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
  256. package/dist/collection/helpers/feature-control/feature-flags-map.js +6 -0
  257. package/dist/collection/helpers/slimmers/auto-run-when-re-render-task-queue-slimmer.abstract.js +47 -0
  258. package/dist/collection/helpers/slimmers/form-field-controller-slimmer.js +3 -1
  259. package/dist/collection/helpers/slimmers/test/auto-run-when-re-render-task-queue-slimmer.test.js +46 -0
  260. package/dist/collection/helpers/translation/locales/en.js +5 -0
  261. package/dist/collection/helpers/translation/tests/internal-translation-controller.test.js +5 -0
  262. package/dist/collection/polyfill/shadow-selection/shadow-selection-polyfill.js +17 -15
  263. package/dist/collection/polyfill/shadow-selection/test/shadow-selection-polyfill.test.js +1 -0
  264. package/dist/collection/polyfill/test-polyfill/unit/methods.js +9 -0
  265. package/dist/collection/utils/array.js +18 -15
  266. package/dist/collection/utils/string.js +10 -0
  267. package/dist/collection/utils/test/array.test.js +78 -16
  268. package/dist/esm/{app-globals-b7b43a4e.js → app-globals-9058ac3b.js} +7 -7
  269. package/dist/esm/{array-3113609f.js → array-7888f339.js} +18 -15
  270. package/dist/esm/{child-nodes-event-prevent-slimmer-d3a94ef2.js → child-nodes-event-prevent-slimmer-1142fb79.js} +2 -2
  271. package/dist/esm/{content-state-dbc9f635.js → code-block-8b5bd928.js} +1141 -1122
  272. package/dist/esm/content-state-8c3f862b.js +2489 -0
  273. package/dist/esm/{design-token-e263e6a2.js → design-token-bd436e0d.js} +1 -1
  274. package/dist/esm/{dom-node-subject-factory-f77cf9cc.js → dom-node-subject-factory-eb6bba5d.js} +1 -1
  275. package/dist/esm/{dom-node-subject-observer-factory-715dccf9.js → dom-node-subject-observer-factory-6083d518.js} +1 -1
  276. package/dist/esm/{element-appender-slimmer-55d63b1f.js → element-appender-slimmer-baf5e249.js} +5 -5
  277. package/dist/esm/{event-emit-slimmer-b7d511f6.js → event-emit-slimmer-480d3b54.js} +3 -3
  278. package/dist/esm/{feature-flag-controller-690eac1d.js → feature-flag-controller-0fbe8fb0.js} +6 -0
  279. package/dist/esm/{form-field-controller-slimmer-e7dc3db1.js → form-field-controller-slimmer-bfb4034d.js} +11 -9
  280. package/dist/esm/{image-annotation-action-1aa938ab.js → image-annotation-action-a8b860ad.js} +57 -28
  281. package/dist/esm/{index-187f71d1.js → index-d0a47531.js} +9 -0
  282. package/dist/esm/{index-4aa167d6.js → index-db0ec3ee.js} +2 -2
  283. package/dist/esm/index.js +14 -13
  284. package/dist/esm/{internal-vega-event-manager-87dc436c.js → internal-vega-event-manager-56c6469a.js} +2 -1
  285. package/dist/esm/{legend-input-processor-8bcd5c5a.js → legend-input-processor-8f76ce8a.js} +1 -1
  286. package/dist/esm/loader.js +13 -11
  287. package/dist/esm/{mutation-observer-filters-7ee2b410.js → mutation-observer-filters-1a054fb0.js} +1 -1
  288. package/dist/esm/polyfills/core-js.js +0 -0
  289. package/dist/esm/polyfills/dom.js +0 -0
  290. package/dist/esm/polyfills/es5-html-element.js +0 -0
  291. package/dist/esm/polyfills/index.js +0 -0
  292. package/dist/esm/polyfills/system.js +0 -0
  293. package/dist/esm/{public-rules-5cf6aa95.js → public-rules-90fbd41a.js} +8 -6
  294. package/dist/esm/{responsive-format-facade-bc2f8ad3.js → responsive-format-facade-827de03a.js} +5 -5
  295. package/dist/esm/{rich-text-editor-required-rule-6a7cd3ee.js → rich-text-editor-required-rule-0d470d82.js} +1 -1
  296. package/dist/esm/selection-controller-dd4f4407.js +759 -0
  297. package/dist/esm/string-a953eafc.js +21 -0
  298. package/dist/esm/{string-input-formatter-slimmer-c61f82d6.js → string-input-formatter-slimmer-0d30b976.js} +3 -3
  299. package/dist/esm/{style-formatter-0f221459.js → style-formatter-232842f5.js} +1 -1
  300. package/dist/esm/{sub-state-notify-slimmer-4e3cf09d.js → sub-state-notify-slimmer-04e06501.js} +2 -2
  301. package/dist/esm/{sub-state-observer-slimmer-be7a6ce3.js → sub-state-observer-slimmer-b4c2ddc3.js} +2 -2
  302. package/dist/esm/{translation-cf7f020a.js → translation-71e0711d.js} +5 -0
  303. package/dist/esm/{translation-slimmer-88966d5c.js → translation-slimmer-e6b130bf.js} +1 -1
  304. package/dist/esm/vega-accordion.entry.js +15 -13
  305. package/dist/esm/vega-app-footer.entry.js +1 -1
  306. package/dist/esm/vega-app-header-button.entry.js +16 -14
  307. package/dist/esm/vega-backdrop.entry.js +1 -1
  308. package/dist/esm/vega-banner.entry.js +6 -6
  309. package/dist/esm/vega-bar-chart.entry.js +4 -4
  310. package/dist/esm/vega-box.entry.js +14 -12
  311. package/dist/esm/vega-brand-logo.entry.js +1 -1
  312. package/dist/esm/vega-breadcrumb.entry.js +7 -7
  313. package/dist/esm/vega-button-circle.entry.js +16 -14
  314. package/dist/esm/vega-button-group_2.entry.js +10 -10
  315. package/dist/esm/vega-button-link.entry.js +7 -7
  316. package/dist/esm/vega-button.entry.js +15 -13
  317. package/dist/esm/vega-calendar_3.entry.js +13 -13
  318. package/dist/esm/vega-card.entry.js +13 -11
  319. package/dist/esm/vega-carousel.entry.js +14 -12
  320. package/dist/esm/vega-checkbox_2.entry.js +14 -14
  321. package/dist/esm/vega-chip.entry.js +16 -14
  322. package/dist/esm/vega-code-block.entry.js +4069 -0
  323. package/dist/esm/vega-color-picker.entry.js +12 -12
  324. package/dist/esm/vega-combo-box.entry.js +14 -14
  325. package/dist/esm/vega-counter-badge.entry.js +1 -1
  326. package/dist/esm/vega-date-picker_2.entry.js +22 -21
  327. package/dist/esm/vega-dialog_2.entry.js +16 -14
  328. package/dist/esm/vega-divider.entry.js +13 -11
  329. package/dist/esm/vega-dropdown_5.entry.js +19 -17
  330. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  331. package/dist/esm/vega-field-error.entry.js +1 -1
  332. package/dist/esm/vega-field-label.entry.js +5 -5
  333. package/dist/esm/vega-file-uploader.entry.js +13 -13
  334. package/dist/esm/vega-flag-icon.entry.js +13 -11
  335. package/dist/esm/vega-flex.entry.js +14 -12
  336. package/dist/esm/vega-font.entry.js +13 -11
  337. package/dist/esm/vega-form.entry.js +15 -15
  338. package/dist/esm/vega-grid.entry.js +13 -11
  339. package/dist/esm/vega-hint.entry.js +1 -1
  340. package/dist/esm/vega-icon.entry.js +13 -11
  341. package/dist/esm/vega-image-uploader.entry.js +19 -18
  342. package/dist/esm/vega-input-credit-card.entry.js +14 -14
  343. package/dist/esm/vega-input-numeric.entry.js +15 -15
  344. package/dist/esm/vega-input-phone-number.entry.js +27 -18
  345. package/dist/esm/vega-input-range.entry.js +15 -15
  346. package/dist/esm/vega-input-select.entry.js +24 -23
  347. package/dist/esm/vega-input.entry.js +27 -16
  348. package/dist/esm/{vega-internal-event-id-85ad403f.js → vega-internal-event-id-820393ad.js} +2 -1
  349. package/dist/esm/vega-item-toggle.entry.js +5 -5
  350. package/dist/esm/vega-left-nav_5.entry.js +17 -15
  351. package/dist/esm/vega-line-chart.entry.js +4 -4
  352. package/dist/esm/vega-loader-wrapper_2.entry.js +12 -10
  353. package/dist/esm/vega-page-notification_2.entry.js +3 -3
  354. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +7 -7
  355. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +6 -6
  356. package/dist/esm/vega-pagination.entry.js +16 -14
  357. package/dist/esm/vega-pie-chart.entry.js +3 -3
  358. package/dist/esm/vega-popover_2.entry.js +15 -13
  359. package/dist/esm/vega-progress-tracker.entry.js +5 -5
  360. package/dist/esm/vega-radio_2.entry.js +14 -14
  361. package/dist/esm/vega-rich-text-content.entry.js +305 -131
  362. package/dist/esm/vega-rich-text-editor_4.entry.js +1135 -2412
  363. package/dist/esm/vega-section-title.entry.js +1 -1
  364. package/dist/esm/vega-segment-control.entry.js +5 -5
  365. package/dist/esm/vega-selection-chip_2.entry.js +19 -18
  366. package/dist/esm/vega-selection-tile_2.entry.js +15 -15
  367. package/dist/esm/vega-sidenav_3.entry.js +16 -14
  368. package/dist/esm/vega-signature-capture.entry.js +19 -18
  369. package/dist/esm/{vega-skeleton-loader-controller-c2a8bd27.js → vega-skeleton-loader-controller-878e1b28.js} +1 -1
  370. package/dist/esm/vega-skeleton.entry.js +1 -1
  371. package/dist/esm/vega-slot-container.entry.js +1 -1
  372. package/dist/esm/vega-stepper.entry.js +14 -14
  373. package/dist/esm/vega-tab-group_2.entry.js +7 -7
  374. package/dist/esm/vega-table_8.entry.js +19 -17
  375. package/dist/esm/vega-text.entry.js +1 -1
  376. package/dist/esm/vega-textarea.entry.js +14 -14
  377. package/dist/esm/vega-time-picker_2.entry.js +20 -19
  378. package/dist/esm/vega-toggle-switch.entry.js +12 -12
  379. package/dist/esm/vega-tooltip_2.entry.js +14 -12
  380. package/dist/esm/vega.js +13 -11
  381. package/dist/esm/{y-axis-input-processor-26fab110.js → y-axis-input-processor-e090b01c.js} +2 -2
  382. package/dist/types/components/vega-code-block/assets/copy.d.ts +3 -0
  383. package/dist/types/components/vega-code-block/slimmers/controllers/code-highlight-parser.abstract.d.ts +40 -0
  384. package/dist/types/components/vega-code-block/slimmers/controllers/default-code-highlight-parse-controller.d.ts +19 -0
  385. package/dist/types/components/vega-code-block/slimmers/controllers/prism-code-highlight-parse-controller.d.ts +43 -0
  386. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-content-parse-controller.d.ts +23 -0
  387. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-focus-controller.d.ts +21 -0
  388. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-input-controller.d.ts +100 -0
  389. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-selection-controller.d.ts +93 -0
  390. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-value-controller.d.ts +21 -0
  391. package/dist/types/components/vega-code-block/slimmers/renderers/vega-code-block-content-renderer.d.ts +57 -0
  392. package/dist/types/components/vega-code-block/slimmers/renderers/vega-code-block-copy-button-renderer.d.ts +23 -0
  393. package/dist/types/components/vega-code-block/slimmers/renderers/vega-code-block-renderer.d.ts +50 -0
  394. package/dist/types/components/vega-code-block/types.d.ts +19 -0
  395. package/dist/types/components/vega-code-block/vega-code-block.d.ts +116 -0
  396. package/dist/types/components/vega-input/vega-input.d.ts +4 -0
  397. package/dist/types/components/vega-rich-text-editor/assets/file-code.d.ts +3 -0
  398. package/dist/types/components/vega-rich-text-editor/assets/rectangle-code.d.ts +3 -0
  399. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy.abstract.d.ts +15 -0
  400. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-horizontal-alignment-strategy.d.ts +15 -0
  401. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-indent-strategy.d.ts +15 -0
  402. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/code-node-set-selection-range-strategy.d.ts +12 -0
  403. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.d.ts +3 -3
  404. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy.d.ts +4 -5
  405. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-code-block-strategy.d.ts +29 -0
  406. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-insert-image-strategy.d.ts +15 -0
  407. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy.d.ts +28 -0
  408. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/switch-out-from-code-block-strategy.d.ts +12 -0
  409. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/update-code-block-strategy.d.ts +12 -0
  410. package/dist/types/components/vega-rich-text-editor/dto/actions/custom-style-annotation-action.d.ts +17 -0
  411. package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +5 -1
  412. package/dist/types/components/vega-rich-text-editor/dto/actions/remove-code-block-action.d.ts +10 -0
  413. package/dist/types/components/vega-rich-text-editor/dto/actions/switch-out-from-code-block-action.d.ts +14 -0
  414. package/dist/types/components/vega-rich-text-editor/dto/actions/transform-to-code-block-action.d.ts +14 -0
  415. package/dist/types/components/vega-rich-text-editor/dto/actions/update-code-block-action.d.ts +14 -0
  416. package/dist/types/components/vega-rich-text-editor/dto/annotations/annotation.abstract.d.ts +2 -1
  417. package/dist/types/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.d.ts +17 -4
  418. package/dist/types/components/vega-rich-text-editor/dto/annotations/bold-annotation.d.ts +7 -5
  419. package/dist/types/components/vega-rich-text-editor/dto/annotations/clear-formatting-annotation.d.ts +2 -1
  420. package/dist/types/components/vega-rich-text-editor/dto/annotations/code-annotation.d.ts +5 -9
  421. package/dist/types/components/vega-rich-text-editor/dto/annotations/common-annotation.abstract.d.ts +20 -0
  422. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation.d.ts +43 -0
  423. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-class-annotation.d.ts +40 -0
  424. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.d.ts +42 -0
  425. package/dist/types/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.d.ts +5 -9
  426. package/dist/types/components/vega-rich-text-editor/dto/annotations/image-annotation.d.ts +7 -5
  427. package/dist/types/components/vega-rich-text-editor/dto/annotations/indent-annotation.d.ts +5 -1
  428. package/dist/types/components/vega-rich-text-editor/dto/annotations/italic-annotation.d.ts +7 -5
  429. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-annotation.d.ts +6 -4
  430. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-group-annotation.d.ts +48 -0
  431. package/dist/types/components/vega-rich-text-editor/dto/annotations/list-annotation.d.ts +25 -0
  432. package/dist/types/components/vega-rich-text-editor/dto/annotations/node-annotation.abstract.d.ts +15 -3
  433. package/dist/types/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.d.ts +5 -9
  434. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-color-annotation.d.ts +3 -7
  435. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-annotation.d.ts +7 -5
  436. package/dist/types/components/vega-rich-text-editor/dto/annotations/underline-annotation.d.ts +5 -9
  437. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +39 -4
  438. package/dist/types/components/vega-rich-text-editor/dto/blocks/code-block.d.ts +56 -0
  439. package/dist/types/components/vega-rich-text-editor/dto/blocks/image-block.d.ts +4 -0
  440. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +20 -2
  441. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +4 -0
  442. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +14 -4
  443. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +13 -0
  444. package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +45 -0
  445. package/dist/types/components/vega-rich-text-editor/dto/nodes/image-node.d.ts +4 -0
  446. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +46 -2
  447. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +7 -2
  448. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.d.ts +4 -11
  449. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +7 -5
  450. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/code-block-renderer.d.ts +39 -0
  451. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.d.ts +24 -0
  452. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.d.ts +0 -1
  453. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/code-block-node-renderer.d.ts +37 -0
  454. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.d.ts +22 -0
  455. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.d.ts +1 -15
  456. package/dist/types/components/vega-rich-text-editor/interface.d.ts +65 -26
  457. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract.d.ts +66 -8
  458. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.d.ts +3 -1
  459. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-rte-image-block-strategy.abstract.d.ts +20 -0
  460. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/img-to-rte-image-block-strategy.d.ts +2 -2
  461. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-block-to-rte-text-block-strategy.d.ts +30 -1
  462. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/jira-code-to-rte-code-block-strategy.d.ts +31 -0
  463. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ol-to-rte-list-block-strategy.d.ts +2 -3
  464. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/span-img-to-rte-image-block-strategy.d.ts +2 -2
  465. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-to-rte-list-block-strategy.d.ts +2 -3
  466. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-code-block-to-rte-code-block-strategy.d.ts +42 -0
  467. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-image-to-rte-image-block-strategy.d.ts +2 -2
  468. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.d.ts +7 -1
  469. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/internal-code-block-selection-controller.d.ts +45 -0
  470. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/selection-controller.d.ts +17 -23
  471. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.d.ts +6 -4
  472. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.d.ts +2 -0
  473. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.d.ts +2 -2
  474. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.d.ts +3 -2
  475. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-toolbar-button-slimmer.d.ts +2 -2
  476. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/numbers-toolbar-button-slimmer.d.ts +2 -2
  477. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.d.ts +2 -2
  478. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.d.ts +22 -0
  479. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.d.ts +2 -2
  480. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/center-align-toolbar-button-slimmer.d.ts +2 -2
  481. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.d.ts +4 -2
  482. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/justify-align-toolbar-button-slimmer.d.ts +2 -2
  483. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/left-align-toolbar-button-slimmer.d.ts +2 -2
  484. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/right-align-toolbar-button-slimmer.d.ts +2 -2
  485. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.d.ts +3 -2
  486. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.d.ts +2 -2
  487. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.d.ts +2 -2
  488. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.d.ts +3 -2
  489. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.d.ts +2 -2
  490. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +13 -0
  491. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.d.ts +2 -2
  492. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.d.ts +3 -2
  493. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.d.ts +3 -2
  494. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +3 -2
  495. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.d.ts +2 -2
  496. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.d.ts +17 -0
  497. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +8 -2
  498. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/code-block-strategy-registry.test.d.ts +1 -0
  499. package/dist/types/components/vega-rich-text-editor/test/dto/blocks/code-block.test.d.ts +1 -0
  500. package/dist/types/components/vega-rich-text-editor/test/dto/content-state.test.d.ts +1 -1
  501. package/dist/types/components/vega-rich-text-editor/test/element-to-dto-strategy/jira-code-to-rte-code-block-strategy.test.d.ts +1 -0
  502. package/dist/types/components/vega-rich-text-editor/test/element-to-dto-strategy/vega-code-block-to-rte-code-block-strategy.test.d.ts +1 -0
  503. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +7 -0
  504. package/dist/types/components.d.ts +95 -0
  505. package/dist/types/helpers/code-format/code-formatter.d.ts +34 -0
  506. package/dist/types/helpers/code-format/test/code-formatter.test.d.ts +1 -0
  507. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
  508. package/dist/types/helpers/feature-control/feature-flag.d.ts +2 -1
  509. package/dist/types/helpers/slimmers/auto-run-when-re-render-task-queue-slimmer.abstract.d.ts +20 -0
  510. package/dist/types/helpers/slimmers/test/auto-run-when-re-render-task-queue-slimmer.test.d.ts +1 -0
  511. package/dist/types/helpers/translation/interface.d.ts +6 -1
  512. package/dist/types/polyfill/shadow-selection/shadow-selection-polyfill.d.ts +26 -0
  513. package/dist/types/types/components.type.d.ts +1 -0
  514. package/dist/types/utils/array.d.ts +6 -5
  515. package/dist/types/utils/string.d.ts +7 -0
  516. package/dist/vega/index.esm.js +1 -1
  517. package/dist/vega/p-0104207d.entry.js +1 -0
  518. package/dist/vega/p-010f1715.entry.js +1 -0
  519. package/dist/vega/p-01593f9d.js +1 -0
  520. package/dist/vega/p-020b04ed.js +1 -0
  521. package/dist/vega/p-02841589.js +1 -0
  522. package/dist/vega/p-03cfb331.entry.js +9 -0
  523. package/dist/vega/{p-5a8f129f.entry.js → p-0bff8716.entry.js} +1 -1
  524. package/dist/vega/p-1056a049.entry.js +1 -0
  525. package/dist/vega/p-10e41bbe.js +1 -0
  526. package/dist/vega/{p-28b7d6ba.entry.js → p-12e6173c.entry.js} +1 -1
  527. package/dist/vega/{p-88c9efbb.js → p-1397ba3f.js} +1 -1
  528. package/dist/vega/p-13d9a1fd.entry.js +1 -0
  529. package/dist/vega/p-13eae47f.entry.js +1 -0
  530. package/dist/vega/p-1630864e.entry.js +1 -0
  531. package/dist/vega/p-1b335e30.entry.js +1 -0
  532. package/dist/vega/{p-8ade44bf.js → p-1e194737.js} +1 -1
  533. package/dist/vega/{p-2198de3e.entry.js → p-1f346008.entry.js} +1 -1
  534. package/dist/vega/p-1f86ab76.entry.js +1 -0
  535. package/dist/vega/p-1fe746ab.entry.js +1 -0
  536. package/dist/vega/{p-6ec8a9d8.entry.js → p-211c028f.entry.js} +1 -1
  537. package/dist/vega/p-21d26bb4.js +2 -0
  538. package/dist/vega/{p-353d32c0.entry.js → p-23e6f2b2.entry.js} +1 -1
  539. package/dist/vega/p-268aea63.js +1 -0
  540. package/dist/vega/{p-a01f149d.entry.js → p-27ccf34d.entry.js} +1 -1
  541. package/dist/vega/{p-913eb7f9.entry.js → p-29f9be26.entry.js} +1 -1
  542. package/dist/vega/{p-27003a81.entry.js → p-30dcf606.entry.js} +1 -1
  543. package/dist/vega/{p-1abe125f.js → p-3c20ae84.js} +1 -1
  544. package/dist/vega/p-4172fb81.js +1 -0
  545. package/dist/vega/{p-431ab4dd.js → p-419697c6.js} +1 -1
  546. package/dist/vega/p-427e4cee.entry.js +1 -0
  547. package/dist/vega/{p-3220920f.js → p-45e28b9b.js} +1 -1
  548. package/dist/vega/p-4604ed0e.entry.js +1 -0
  549. package/dist/vega/{p-8d283666.js → p-4ab3df00.js} +1 -1
  550. package/dist/vega/{p-1e940ce8.js → p-4d793cb0.js} +1 -1
  551. package/dist/vega/{p-72ecfd40.js → p-4e8fb53a.js} +1 -1
  552. package/dist/vega/{p-6b75fe39.js → p-50a3ae3d.js} +1 -1
  553. package/dist/vega/{p-4fa94b35.entry.js → p-50b80d76.entry.js} +1 -1
  554. package/dist/vega/p-52b8f2d2.js +1 -0
  555. package/dist/vega/p-531ffb18.entry.js +1 -0
  556. package/dist/vega/p-53daeb45.entry.js +1 -0
  557. package/dist/vega/p-54fdd401.entry.js +1 -0
  558. package/dist/vega/{p-ac82ca73.entry.js → p-5741ecf0.entry.js} +1 -1
  559. package/dist/vega/{p-6cabdb36.js → p-58f8928a.js} +1 -1
  560. package/dist/vega/{p-d6591d70.entry.js → p-5c4cb804.entry.js} +1 -1
  561. package/dist/vega/{p-1cd2d7b8.entry.js → p-5ce386c8.entry.js} +1 -1
  562. package/dist/vega/p-5f377954.js +1 -1
  563. package/dist/vega/{p-f7423232.entry.js → p-5fd5a538.entry.js} +1 -1
  564. package/dist/vega/{p-0969877b.entry.js → p-64f452fe.entry.js} +1 -1
  565. package/dist/vega/p-66759f4e.js +1 -0
  566. package/dist/vega/{p-8afa2115.js → p-6ea42854.js} +1 -1
  567. package/dist/vega/p-70f25341.entry.js +1 -0
  568. package/dist/vega/{p-7db32dc0.entry.js → p-737bccb9.entry.js} +1 -1
  569. package/dist/vega/{p-bcb10ae3.entry.js → p-7503fe08.entry.js} +1 -1
  570. package/dist/vega/{p-50355e06.entry.js → p-7b0a4688.entry.js} +1 -1
  571. package/dist/vega/p-7def7b74.entry.js +1 -0
  572. package/dist/vega/{p-48517a5d.entry.js → p-7f5a85c6.entry.js} +1 -1
  573. package/dist/vega/p-825ae7c4.js +1 -0
  574. package/dist/vega/p-831c4144.entry.js +1 -0
  575. package/dist/vega/p-85dc08b4.entry.js +1 -0
  576. package/dist/vega/{p-a821bcf3.js → p-86782109.js} +1 -1
  577. package/dist/vega/p-87459914.js +1 -0
  578. package/dist/vega/{p-e719b1a9.entry.js → p-87a1fc77.entry.js} +1 -1
  579. package/dist/vega/p-89565247.entry.js +1 -0
  580. package/dist/vega/{p-0a18f5f6.entry.js → p-89e915e9.entry.js} +1 -1
  581. package/dist/vega/{p-6cd8e6f4.entry.js → p-8aa7e56e.entry.js} +1 -1
  582. package/dist/vega/p-94263ece.entry.js +1 -0
  583. package/dist/vega/{p-d0007822.entry.js → p-9524e48a.entry.js} +1 -1
  584. package/dist/vega/{p-472727a4.entry.js → p-991b4717.entry.js} +1 -1
  585. package/dist/vega/{p-a8e9bfae.entry.js → p-99b9b320.entry.js} +1 -1
  586. package/dist/vega/{p-aea89be5.entry.js → p-9ba14b7c.entry.js} +1 -1
  587. package/dist/vega/p-9cb79f8d.entry.js +1 -0
  588. package/dist/vega/p-9e3f52f0.entry.js +1 -0
  589. package/dist/vega/{p-6586e2a2.entry.js → p-a0e122a6.entry.js} +1 -1
  590. package/dist/vega/{p-96b4c0cc.entry.js → p-b0fe6c0f.entry.js} +1 -1
  591. package/dist/vega/{p-b2bca332.entry.js → p-b518e1a0.entry.js} +1 -1
  592. package/dist/vega/p-b538e81a.entry.js +1 -0
  593. package/dist/vega/p-b824baf7.entry.js +1 -0
  594. package/dist/vega/{p-2fadef27.entry.js → p-b959b4d4.entry.js} +1 -1
  595. package/dist/vega/{p-57e813f2.entry.js → p-bb4f0fa1.entry.js} +1 -1
  596. package/dist/vega/{p-2da83c2a.js → p-bbb39d6f.js} +1 -1
  597. package/dist/vega/{p-700da800.entry.js → p-bc8fd0ee.entry.js} +1 -1
  598. package/dist/vega/p-bcaf8375.entry.js +1 -0
  599. package/dist/vega/p-bec90ff3.entry.js +1 -0
  600. package/dist/vega/p-c6b94dde.entry.js +1 -0
  601. package/dist/vega/{p-c754b32c.js → p-ce6b62c4.js} +1 -1
  602. package/dist/vega/{p-5e34ea25.entry.js → p-d00fbc11.entry.js} +1 -1
  603. package/dist/vega/p-d27ae9ff.js +1 -0
  604. package/dist/vega/{p-10a40dfb.entry.js → p-d2a2af2c.entry.js} +1 -1
  605. package/dist/vega/p-d64b20c2.js +1 -0
  606. package/dist/vega/p-da779940.entry.js +1 -0
  607. package/dist/vega/{p-7f6702f7.js → p-db910162.js} +1 -1
  608. package/dist/vega/{p-6f81fe1e.js → p-e1a2a701.js} +1 -1
  609. package/dist/vega/p-e3694aa5.entry.js +1 -0
  610. package/dist/vega/p-e7318c4c.entry.js +1 -0
  611. package/dist/vega/{p-a5c39ba2.entry.js → p-e8fc027e.entry.js} +1 -1
  612. package/dist/vega/{p-ccdd49be.entry.js → p-e92ecb78.entry.js} +1 -1
  613. package/dist/vega/p-e969c3f4.entry.js +1 -0
  614. package/dist/vega/{p-8bc4c015.entry.js → p-ec8b7f01.entry.js} +1 -1
  615. package/dist/vega/{p-a25939ad.js → p-eda5b7fd.js} +1 -1
  616. package/dist/vega/p-eed9bda2.entry.js +1 -0
  617. package/dist/vega/p-f4c54c98.entry.js +1 -0
  618. package/dist/vega/{p-ff41dc6a.entry.js → p-f5fc80bc.entry.js} +1 -1
  619. package/dist/vega/p-f67be7ef.js +1 -0
  620. package/dist/vega/{p-5e3a15a1.js → p-f9fafc55.js} +1 -1
  621. package/dist/vega/{p-27e56c67.entry.js → p-fc21fb2d.entry.js} +1 -1
  622. package/dist/vega/p-fed9220b.entry.js +1 -0
  623. package/dist/vega/vega.esm.js +1 -1
  624. package/package.json +2 -1
  625. package/dist/cjs/string-21427167.js +0 -13
  626. package/dist/esm/string-be824360.js +0 -11
  627. package/dist/vega/p-01fd343e.entry.js +0 -1
  628. package/dist/vega/p-0bb29d98.js +0 -1
  629. package/dist/vega/p-1503f791.js +0 -1
  630. package/dist/vega/p-1c298d5a.js +0 -2
  631. package/dist/vega/p-24e0cdcc.entry.js +0 -1
  632. package/dist/vega/p-2565cb0c.entry.js +0 -1
  633. package/dist/vega/p-26e4221c.entry.js +0 -1
  634. package/dist/vega/p-27e3825f.entry.js +0 -1
  635. package/dist/vega/p-2bd64faf.entry.js +0 -1
  636. package/dist/vega/p-33ffaa71.entry.js +0 -1
  637. package/dist/vega/p-34a70d18.entry.js +0 -1
  638. package/dist/vega/p-3647d61d.js +0 -1
  639. package/dist/vega/p-3aa244d4.entry.js +0 -1
  640. package/dist/vega/p-429616af.entry.js +0 -1
  641. package/dist/vega/p-44b0a005.js +0 -1
  642. package/dist/vega/p-4e167a8c.js +0 -1
  643. package/dist/vega/p-4e76904e.entry.js +0 -1
  644. package/dist/vega/p-52e17867.entry.js +0 -1
  645. package/dist/vega/p-57cdacb1.entry.js +0 -1
  646. package/dist/vega/p-58b8c06b.entry.js +0 -1
  647. package/dist/vega/p-59ccf915.entry.js +0 -1
  648. package/dist/vega/p-5cbadf95.entry.js +0 -1
  649. package/dist/vega/p-63414091.entry.js +0 -1
  650. package/dist/vega/p-6aa569e5.entry.js +0 -1
  651. package/dist/vega/p-6d7d923b.js +0 -1
  652. package/dist/vega/p-6e898779.js +0 -1
  653. package/dist/vega/p-804f71b3.js +0 -1
  654. package/dist/vega/p-84aac4b1.entry.js +0 -1
  655. package/dist/vega/p-8aec8dac.entry.js +0 -1
  656. package/dist/vega/p-8ba43640.entry.js +0 -1
  657. package/dist/vega/p-a8b681ed.entry.js +0 -1
  658. package/dist/vega/p-b5f5a5e0.js +0 -1
  659. package/dist/vega/p-ba6c7f00.entry.js +0 -1
  660. package/dist/vega/p-be40684b.entry.js +0 -1
  661. package/dist/vega/p-bf1894ec.js +0 -1
  662. package/dist/vega/p-c1e1adf9.entry.js +0 -1
  663. package/dist/vega/p-c5f8b3a3.entry.js +0 -1
  664. package/dist/vega/p-c96effa5.entry.js +0 -1
  665. package/dist/vega/p-ca34443a.entry.js +0 -1
  666. package/dist/vega/p-cb637815.entry.js +0 -1
  667. package/dist/vega/p-ce70a54a.entry.js +0 -1
  668. package/dist/vega/p-dbc82247.js +0 -1
  669. package/dist/vega/p-e29da13d.entry.js +0 -1
  670. package/dist/vega/p-fb853d5f.entry.js +0 -1
  671. package/dist/vega/p-fd018044.entry.js +0 -1
  672. package/dist/vega/p-fda0c179.entry.js +0 -1
@@ -16,6 +16,7 @@ import { InsertBlocksBeforeAction } from '../../dto/actions/insert-blocks-before
16
16
  import { generateUUID } from '../../../../utils/misc';
17
17
  import { AppendChildNodesAction } from '../../dto/actions/append-child-nodes-action';
18
18
  import { UpdateTextAction } from '../../dto/actions/update-text-action';
19
+ import { RTECodeBlockNode } from '../../dto/nodes/code-block-node';
19
20
  /**
20
21
  * The `DeleteSelectedNodesController` class provides methods to delete selected nodes.
21
22
  */
@@ -68,7 +69,10 @@ export class DeleteSelectedNodesController extends VegaSlimmer {
68
69
  if (selectedNodes.length > 1) {
69
70
  // 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
70
71
  const shouldRemovedItems = selectedNodes.filter((item) => {
71
- if (item.type !== 'IMAGE') {
72
+ if (item instanceof RTECodeBlockNode) {
73
+ return item !== startNode;
74
+ }
75
+ else if (item.type !== 'IMAGE') {
72
76
  return item !== startNode && item !== endNode;
73
77
  }
74
78
  else {
@@ -82,7 +86,8 @@ export class DeleteSelectedNodesController extends VegaSlimmer {
82
86
  this.removeRangeStartAndEndSelectedText();
83
87
  /**
84
88
  * if the range start node is image and the item is selected, so we need remove the image item, the image block will be removed if the item is the only item.
85
- * 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
89
+ * 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.
90
+ * the code block node should do the same logic.
86
91
  */
87
92
  if (startNode instanceof RTEImageNode &&
88
93
  startOffset !== 1 &&
@@ -100,6 +105,12 @@ export class DeleteSelectedNodesController extends VegaSlimmer {
100
105
  return startNode.parentBlock.nodes[0];
101
106
  }
102
107
  }
108
+ else if (startNode instanceof RTECodeBlockNode) {
109
+ const paragraph = this.createEmptyParagraph();
110
+ startNode.parentBlock.parent.apply(new InsertBlocksBeforeAction(startNode.parentBlock, paragraph));
111
+ startNode.parentBlock.apply(new RemoveChildAction(startNode));
112
+ return paragraph.nodes[0];
113
+ }
103
114
  return startNode;
104
115
  }
105
116
  /**
@@ -149,7 +160,9 @@ export class DeleteSelectedNodesController extends VegaSlimmer {
149
160
  endRTENode.parentBlock.apply(new RemoveChildAction(endRTENode.parentBlock.nodes[0]));
150
161
  }
151
162
  }
152
- if (startRTENode.parentBlock !== endRTENode.parentBlock) {
163
+ if (startRTENode instanceof RTETextNode &&
164
+ endRTENode instanceof RTETextNode &&
165
+ startRTENode.parentBlock !== endRTENode.parentBlock) {
153
166
  startRTENode.parentBlock.apply(new AppendChildNodesAction(endBlock.nodes));
154
167
  endBlock.nodes = [];
155
168
  }
@@ -170,7 +183,9 @@ export class DeleteSelectedNodesController extends VegaSlimmer {
170
183
  shouldMergeTextNode(nodeA, nodeB) {
171
184
  const { annotations: annotationsA } = nodeA.toJSON();
172
185
  const { annotations: annotationsB } = nodeB.toJSON();
173
- return JSON.stringify(annotationsA) === JSON.stringify(annotationsB);
186
+ return (nodeA instanceof RTETextNode &&
187
+ nodeB instanceof RTETextNode &&
188
+ JSON.stringify(annotationsA) === JSON.stringify(annotationsB));
174
189
  }
175
190
  }
176
191
  __decorate([
@@ -1,4 +1,16 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
1
12
  import { generateUUID } from '../../../../../../utils/misc';
13
+ import { dashCaseToCamel } from '../../../../../../utils/string';
2
14
  import { rgbToHex } from '../../../../../../utils/ui';
3
15
  import { RTE_TEXT_COLORS } from '../../../../constants/constant';
4
16
  import { ElementToDTOStrategy } from './element-to-dto-strategy.abstract';
@@ -22,7 +34,7 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
22
34
  * </li>
23
35
  *
24
36
  * @param {HTMLElement[]} elements - Child elements.
25
- * @param {HTMLElement[]} annotations - Parent annotations.
37
+ * @param {VegaRTETextAnnotations} annotations - Parent annotations.
26
38
  * @returns {VegaRTETextNode[]} - Text node DTO.
27
39
  */
28
40
  generateChildNodes(elements, annotations = {}) {
@@ -39,7 +51,7 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
39
51
  });
40
52
  }
41
53
  else {
42
- childNodes.push(...this.generateChildNodes(Array.from(child.childNodes), Object.assign({}, annotations, this.generateTextNodeAnnotations(child, annotations))));
54
+ childNodes.push(...this.generateChildNodes(Array.from(child.childNodes), this.inheritAndGenerateTextNodeAnnotations(child, annotations)));
43
55
  }
44
56
  });
45
57
  return childNodes;
@@ -58,50 +70,152 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
58
70
  annotations.textAlign = textAlign;
59
71
  if (indent)
60
72
  annotations.indent = indent;
73
+ this.generateCommonAnnotations(element, annotations);
61
74
  return annotations;
62
75
  }
63
76
  /**
64
- * Check is a invalid text node.
77
+ * Obtain the custom attributes of element, excluding 'style' and 'class'.
65
78
  *
66
- * @param {HTMLElement} element - Current node element.
67
- * @returns {boolean} - boolean.
79
+ * @param {HTMLElement} element - current element.
80
+ * @param {string[]} attributes - the custom attributes of current element.
81
+ * @returns {Record<string, string>} - Record<string, string>.
68
82
  */
69
- isInvalidTextNode(element) {
70
- if (element.nodeValue && element.nodeValue.includes('\t')) {
71
- const value = element.nodeValue.replace(/\n|\t/gm, '');
72
- if (value.length === 0)
73
- return true;
74
- }
75
- return false;
83
+ generateCustomAttrAnnotations(element, attributes) {
84
+ return attributes.reduce((acc, item) => {
85
+ acc[item] = element.getAttribute(item);
86
+ return acc;
87
+ }, {});
76
88
  }
77
89
  /**
78
- * Generate annotations map for text node element.
90
+ * Obtain and format the style of element.
91
+ *
92
+ * @param {HTMLElement} element - current element.
93
+ * @returns {AnnotationStyle} - Record<string, string>.
94
+ */
95
+ generateCustomStyleAnnotations(element) {
96
+ const customStyle = element.getAttribute('style');
97
+ const styleValue = customStyle.split(';').filter(Boolean);
98
+ return styleValue
99
+ .filter((key) => key !== ' ')
100
+ .map((key) => {
101
+ // to remove redundant quote pairs if needed, for example: ['fontFamily: "Roboto Mono"'] will be updated to ['fontFamily: Roboto Mono']
102
+ const styleObject = key.replace(/(['"])((?:\\\1|[^\1])*?)\1/g, '$2').split(':');
103
+ const styleKey = dashCaseToCamel(styleObject[0].trim());
104
+ return {
105
+ [styleKey]: styleObject[1].trim().replace(';', ''),
106
+ };
107
+ })
108
+ .reduce((current, obj) => (Object.assign(Object.assign({}, current), obj)), {});
109
+ }
110
+ /**
111
+ * Inherit annotation from block should not include custom annotation.
112
+ *
113
+ * @param {HTMLElement} element - current element.
114
+ * @returns {VegaRTETextAnnotations} - Inherit node annotations.
115
+ */
116
+ generateBlockInheritAnnotations(element) {
117
+ const annotations = this.generateTextNodeAnnotations(element);
118
+ return this.filterOutCustomAnnotation(annotations);
119
+ }
120
+ /**
121
+ * Generate custom attribute, custom class and custom style annotation.
122
+ *
123
+ * @param {HTMLElement} element - current element.
124
+ * @param {VegaRTEBlockAnnotations} annotations - current element.
125
+ * @returns {VegaRTETextAnnotations} - Inherit node annotations.
126
+ */
127
+ generateCommonAnnotations(element, annotations = {}) {
128
+ const customAttributes = this.getCustomAttributeName(element);
129
+ const customClass = this.getCustomClass(element);
130
+ if (customAttributes.length > 0)
131
+ annotations.customAttribute = this.generateCustomAttrAnnotations(element, customAttributes);
132
+ if (customClass.length > 0)
133
+ annotations.customClass = customClass;
134
+ if (element.getAttribute('style'))
135
+ annotations.customStyle = this.generateCustomStyleAnnotations(element);
136
+ return annotations;
137
+ }
138
+ /**
139
+ * Inherit and generate text node annotations.
79
140
  *
80
141
  * @param {HTMLElement} element - current element.
81
142
  * @param {VegaRTETextAnnotations} parentAnnotations - parent annotations
82
- * @returns {VegaRTETextAnnotations | VegaRTECodeAnnotations} - Text node annotations.
143
+ * @returns {VegaRTETextAnnotations} - Inherit node annotations.
144
+ */
145
+ inheritAndGenerateTextNodeAnnotations(element, parentAnnotations) {
146
+ const inheritedAnnotation = this.filterOutCustomAnnotation(parentAnnotations);
147
+ const currentNodeAnnotation = this.generateTextNodeAnnotations(element);
148
+ parentAnnotations.bold && (currentNodeAnnotation.bold = true);
149
+ parentAnnotations.underline && (currentNodeAnnotation.underline = true);
150
+ parentAnnotations.italic && (currentNodeAnnotation.italic = true);
151
+ parentAnnotations.strikethrough && (currentNodeAnnotation.strikethrough = true);
152
+ return Object.assign({}, inheritedAnnotation, currentNodeAnnotation);
153
+ }
154
+ /**
155
+ * Generate annotations map for text node element.
156
+ *
157
+ * @param {HTMLElement} element - current element.
158
+ * @returns {VegaRTETextAnnotations} - Text node annotations.
83
159
  */
84
- generateTextNodeAnnotations(element, parentAnnotations) {
85
- if (this.isCode(element))
86
- return { code: true };
160
+ generateTextNodeAnnotations(element) {
87
161
  const annotations = {
88
162
  bold: this.isBold(element),
89
163
  italic: this.isItalic(element),
90
164
  underline: this.isUnderline(element),
91
165
  strikethrough: this.isStrikethrough(element),
166
+ code: this.isCode(element),
92
167
  };
93
- parentAnnotations.bold && (annotations.bold = true);
94
- parentAnnotations.underline && (annotations.underline = true);
95
- parentAnnotations.italic && (annotations.italic = true);
96
- parentAnnotations.strikethrough && (annotations.strikethrough = true);
97
168
  const color = this.getColor(element);
98
169
  const link = this.getLink(element);
99
170
  if (color)
100
171
  annotations.textColor = color;
101
- if (link)
172
+ // while have link, the custom attribute, class and style have already generated in link annotation,
173
+ // so we not need generate it again.
174
+ if (link) {
102
175
  annotations.link = link;
176
+ }
177
+ else {
178
+ this.generateCommonAnnotations(element, annotations);
179
+ }
103
180
  return annotations;
104
181
  }
182
+ /**
183
+ * Filter out custom annotations.
184
+ *
185
+ * @param {VegaRTETextAnnotations} annotations - Annotations.
186
+ * @returns {VegaRTETextAnnotations} - Filtered annotations.
187
+ */
188
+ filterOutCustomAnnotation(annotations) {
189
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
190
+ const { customAttribute, customClass, customStyle } = annotations, filteredAnnotation = __rest(annotations, ["customAttribute", "customClass", "customStyle"]);
191
+ return filteredAnnotation;
192
+ }
193
+ /**
194
+ * Get the custom class
195
+ *
196
+ * @param {HTMLElement} element - current element.
197
+ * @returns {string[]} - the class after .
198
+ */
199
+ getCustomClass(element) {
200
+ return element.classList
201
+ .toString()
202
+ .split(' ')
203
+ .filter((item) => !item.includes('v-rte') && item !== '');
204
+ }
205
+ /**
206
+ * Check is a invalid text node.
207
+ *
208
+ * @param {HTMLElement} element - Current node element.
209
+ * @returns {boolean} - boolean.
210
+ */
211
+ isInvalidTextNode(element) {
212
+ if (element.nodeValue && element.nodeValue.includes('\t')) {
213
+ const value = element.nodeValue.replace(/\n|\t/gm, '');
214
+ if (value.length === 0)
215
+ return true;
216
+ }
217
+ return false;
218
+ }
105
219
  /**
106
220
  * Is code element.
107
221
  *
@@ -111,6 +225,7 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
111
225
  isCode(element) {
112
226
  return (element.classList.contains('v-rte--code') ||
113
227
  element.nodeName === 'CODE' ||
228
+ element.nodeName === 'PRE' ||
114
229
  element.style.fontFamily === 'monospace');
115
230
  }
116
231
  /**
@@ -123,7 +238,8 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
123
238
  return (element.nodeName === 'STRONG' ||
124
239
  element.nodeName === 'B' ||
125
240
  element.style.fontWeight === 'bold' ||
126
- element.style.fontWeight === '700');
241
+ element.style.fontWeight === '700' ||
242
+ element.classList.contains('v-rte--bold'));
127
243
  }
128
244
  /**
129
245
  * Is italic element.
@@ -132,7 +248,10 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
132
248
  * @returns {boolean} - boolean.
133
249
  */
134
250
  isItalic(element) {
135
- return element.nodeName === 'I' || element.style.fontStyle === 'italic' || element.nodeName === 'EM';
251
+ return (element.nodeName === 'I' ||
252
+ element.style.fontStyle === 'italic' ||
253
+ element.nodeName === 'EM' ||
254
+ element.classList.contains('v-rte--italic'));
136
255
  }
137
256
  /**
138
257
  * Is underline element.
@@ -191,10 +310,22 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
191
310
  */
192
311
  getLink(element) {
193
312
  if (element.nodeName === 'A') {
194
- return {
313
+ const link = {
195
314
  href: element.href,
196
315
  groupKey: generateUUID(),
197
316
  };
317
+ const customAttributes = this.getCustomAttributeName(element);
318
+ const customClass = this.getCustomClass(element);
319
+ if (customAttributes.length > 0) {
320
+ link.customAttribute = this.generateCustomAttrAnnotations(element, customAttributes);
321
+ }
322
+ if (customClass.length > 0) {
323
+ link.customClass = customClass;
324
+ }
325
+ if (element.getAttribute('style')) {
326
+ link.customStyle = this.generateCustomStyleAnnotations(element);
327
+ }
328
+ return link;
198
329
  }
199
330
  return null;
200
331
  }
@@ -265,4 +396,13 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
265
396
  const marginLeftNumber = Number(marginLeft.replace('px', ''));
266
397
  return marginLeftNumber && marginLeftNumber >= 0 ? Math.floor(marginLeftNumber / 16) : null;
267
398
  }
399
+ /**
400
+ * Get custom attribute of current element, excluding 'style' and 'class'.
401
+ *
402
+ * @param {HTMLElement} element - current element.
403
+ * @returns {string[]} - Text align.
404
+ */
405
+ getCustomAttributeName(element) {
406
+ return element.getAttributeNames().filter((attr) => attr !== 'style' && attr !== 'class');
407
+ }
268
408
  }
@@ -33,7 +33,7 @@ export class ContinueInlineToRTETextBlockStrategy extends BlockToRTEBlockStrateg
33
33
  */
34
34
  handle(elementsArray) {
35
35
  const parent = elementsArray[0].parentElement;
36
- const nodes = this.generateChildNodes(elementsArray);
36
+ const nodes = this.generateChildNodes(elementsArray, this.generateBlockInheritAnnotations(parent));
37
37
  if (nodes.length === 0)
38
38
  return null;
39
39
  return RTETextBlock.from({
@@ -71,4 +71,5 @@ ContinueInlineToRTETextBlockStrategy.canHandleTags = [
71
71
  'B',
72
72
  'INS',
73
73
  'DEL',
74
+ 'PRE',
74
75
  ];
@@ -8,14 +8,18 @@ import { VegaImageToRTEImageBlockStrategy } from './vega-image-to-rte-image-bloc
8
8
  import { OlToRTEListBlockStrategy } from './ol-to-rte-list-block-strategy';
9
9
  import { SpanImageToRTEImageBlockStrategy } from './span-img-to-rte-image-block-strategy';
10
10
  import { ULNotLiChildToRTEListItemBlockStrategy } from './ul-not-li-child-to-rte-list-item-block';
11
+ import { VegaCodeBlockToRTECodeBlockStrategy } from './vega-code-block-to-rte-code-block-strategy';
12
+ import { JiraCodeToRTECodeBlockStrategy } from './jira-code-to-rte-code-block-strategy';
11
13
  /** Element to DTO processor */
12
- export class ElementToDtoStrategyProcessor {
14
+ class ElementToDtoStrategyProcessor {
13
15
  constructor() {
14
16
  this.elementStrategies = [
15
17
  new UlToRTEListBlockStrategy(),
16
18
  new OlToRTEListBlockStrategy(),
17
19
  new ULNotLiChildToRTEListItemBlockStrategy(),
18
20
  new LiToRTEListItemBlockStrategy(),
21
+ new VegaCodeBlockToRTECodeBlockStrategy(),
22
+ new JiraCodeToRTECodeBlockStrategy(),
19
23
  new InlineBlockToRTETextBlockStrategy(),
20
24
  new ImgToRTEImageBlockStrategy(),
21
25
  new VegaImageToRTEImageBlockStrategy(),
@@ -70,3 +74,4 @@ export class ElementToDtoStrategyProcessor {
70
74
  return ['META', 'BUTTON', 'STYLE'].includes(element.nodeName);
71
75
  }
72
76
  }
77
+ export default new ElementToDtoStrategyProcessor();
@@ -0,0 +1,38 @@
1
+ import { generateUUID } from '../../../../../../utils/misc';
2
+ import { RTEImageBlock } from '../../../../dto/blocks/image-block';
3
+ import { BlockToRTEBlockStrategyAbstract } from './block-to-rte-block-strategy.abstract';
4
+ /** Abstract class for block html element to RTE block dto */
5
+ export class ElementToRTEImageBlockStrategyAbstract extends BlockToRTEBlockStrategyAbstract {
6
+ /**
7
+ * Determine the image display size based on the width of the current element.
8
+ *
9
+ * @param {HTMLElement} element - current element.
10
+ * @returns {VegaRichTextImageEditorSizeType} -Image size, default 'md'.
11
+ */
12
+ getImageSize(element) {
13
+ if (element.getAttribute('data-size'))
14
+ return element.getAttribute('data-size');
15
+ return 'md';
16
+ }
17
+ /**
18
+ * Create a RTE Image block according to the img element.
19
+ *
20
+ * @param {HTMLElement} element - current element.
21
+ * @returns {RTEImageBlock} -RTE Image block.
22
+ */
23
+ createRTEImageBlock(element) {
24
+ return RTEImageBlock.from({
25
+ id: generateUUID(),
26
+ type: 'image',
27
+ nodes: [
28
+ {
29
+ id: generateUUID(),
30
+ type: 'image',
31
+ url: element.src,
32
+ annotations: Object.assign({ size: this.getImageSize(element), alt: element.alt }, this.generateCommonAnnotations(element)),
33
+ },
34
+ ],
35
+ annotations: this.generateBlockAnnotations(element.parentElement),
36
+ });
37
+ }
38
+ }
@@ -1,8 +1,6 @@
1
- import { BlockToRTEBlockStrategyAbstract } from './block-to-rte-block-strategy.abstract';
2
- import { generateUUID } from '../../../../../../utils/misc';
3
- import { RTEImageBlock } from '../../../../dto/blocks/image-block';
1
+ import { ElementToRTEImageBlockStrategyAbstract } from './element-to-rte-image-block-strategy.abstract';
4
2
  /** Transform img element to image block DTO */
5
- export class ImgToRTEImageBlockStrategy extends BlockToRTEBlockStrategyAbstract {
3
+ export class ImgToRTEImageBlockStrategy extends ElementToRTEImageBlockStrategyAbstract {
6
4
  /**
7
5
  * Can be handle.
8
6
  *
@@ -21,22 +19,7 @@ export class ImgToRTEImageBlockStrategy extends BlockToRTEBlockStrategyAbstract
21
19
  */
22
20
  handle(elementsArray) {
23
21
  const element = elementsArray[0];
24
- return RTEImageBlock.from({
25
- id: generateUUID(),
26
- type: 'image',
27
- nodes: [
28
- {
29
- id: generateUUID(),
30
- type: 'image',
31
- url: element.src,
32
- annotations: {
33
- size: 'md',
34
- alt: element.alt,
35
- },
36
- },
37
- ],
38
- annotations: this.generateBlockAnnotations(element),
39
- });
22
+ return this.createRTEImageBlock(element);
40
23
  }
41
24
  /* istanbul ignore next */
42
25
  /**
@@ -31,7 +31,7 @@ export class InlineBlockToRTETextBlockStrategy extends BlockToRTEBlockStrategyAb
31
31
  * @returns {Nullable<RTEContentBlock>} - Text block.
32
32
  */
33
33
  handle(elementsArray) {
34
- const nodes = this.generateChildNodes(elementsArray);
34
+ const nodes = this.generateChildNodes(Array.from(elementsArray[0].childNodes));
35
35
  if (nodes.length === 0)
36
36
  return null;
37
37
  return RTETextBlock.from({
@@ -56,16 +56,47 @@ export class InlineBlockToRTETextBlockStrategy extends BlockToRTEBlockStrategyAb
56
56
  return false;
57
57
  }
58
58
  /**
59
- * Get node type of element.
59
+ * Get the node type of element. The element type is determined in the following
60
+ * order: "data-type" attribute, node name, font size and class name.
60
61
  *
61
62
  * @param {HTMLElement} element - element.
62
63
  * @returns {string} - node type.
63
64
  */
64
65
  getElementType(element) {
65
- var _a;
66
+ const byDataType = this.getElementTypeByDataType(element);
67
+ if (byDataType)
68
+ return byDataType;
69
+ const byNodeName = this.getElementTypeByNodeName(element);
70
+ if (byNodeName)
71
+ return byNodeName;
72
+ const byFontSize = this.getElementTypeByFontSize(element);
73
+ if (byFontSize)
74
+ return byFontSize;
75
+ const byClassName = this.getElementTypeByClassName(element);
76
+ if (byClassName)
77
+ return byClassName;
78
+ return 'paragraph';
79
+ }
80
+ /**
81
+ * Get the element type by data-type attribute.
82
+ *
83
+ * @param {HTMLElement} element - element.
84
+ * @returns {Nullable<string>} - element type or null if not found.
85
+ */
86
+ getElementTypeByDataType(element) {
66
87
  if (element.nodeType !== Node.TEXT_NODE && element.hasAttribute('data-type')) {
67
88
  return element.getAttribute('data-type');
68
89
  }
90
+ return null;
91
+ }
92
+ /**
93
+ * Get the element type by font size.
94
+ *
95
+ * @param {HTMLElement} element - element.
96
+ * @returns {Nullable<string>} - element type or null if not found.
97
+ */
98
+ getElementTypeByFontSize(element) {
99
+ var _a;
69
100
  switch ((_a = element.style) === null || _a === void 0 ? void 0 : _a.fontSize) {
70
101
  case '36px':
71
102
  return 'title';
@@ -78,8 +109,16 @@ export class InlineBlockToRTETextBlockStrategy extends BlockToRTEBlockStrategyAb
78
109
  case '18px':
79
110
  return 'heading-3';
80
111
  default:
81
- break;
112
+ return null;
82
113
  }
114
+ }
115
+ /**
116
+ * Get the element type by node name.
117
+ *
118
+ * @param {HTMLElement} element - element.
119
+ * @returns {Nullable<string>} - element type or null if not found.
120
+ */
121
+ getElementTypeByNodeName(element) {
83
122
  switch (element.nodeName) {
84
123
  case 'H1':
85
124
  return 'heading-1';
@@ -94,7 +133,22 @@ export class InlineBlockToRTETextBlockStrategy extends BlockToRTEBlockStrategyAb
94
133
  case 'H6':
95
134
  return 'heading-6';
96
135
  default:
97
- return '';
136
+ return null;
137
+ }
138
+ }
139
+ /**
140
+ * Get the element type by class name.
141
+ *
142
+ * @param {HTMLElement} element - element.
143
+ * @returns {Nullable<string>} - element type or null if not found.
144
+ */
145
+ getElementTypeByClassName(element) {
146
+ if (element.className) {
147
+ const match = /\bv-rte--text-style-(title|subtitle|heading-1|heading-2|heading-3|paragraph)\b/.exec(element.className);
148
+ if (match) {
149
+ return match[1];
150
+ }
98
151
  }
152
+ return null;
99
153
  }
100
154
  }
@@ -0,0 +1,54 @@
1
+ import { generateUUID } from '../../../../../../utils/misc';
2
+ import { BlockToRTEBlockStrategyAbstract } from './block-to-rte-block-strategy.abstract';
3
+ import { RTECodeBlock } from '../../../../dto/blocks/code-block';
4
+ /** Transform other editor code element which has attribute data-language to RTE code block DTO */
5
+ export class JiraCodeToRTECodeBlockStrategy extends BlockToRTEBlockStrategyAbstract {
6
+ /**
7
+ * Can be handle.
8
+ *
9
+ * @param {HTMLElement[]} elementsArray - Current elements.
10
+ * @param {number} currentIndex - Current element index.
11
+ * @returns {number} - can be handled element count.
12
+ */
13
+ canHandle(elementsArray, currentIndex) {
14
+ return (elementsArray[currentIndex].tagName === 'PRE' ||
15
+ elementsArray[currentIndex].tagName === 'CODE') &&
16
+ elementsArray[currentIndex].hasAttribute('data-language')
17
+ ? 1
18
+ : 0;
19
+ }
20
+ /**
21
+ * Parse to a code block.
22
+ *
23
+ * @param {HTMLElement[]} elementsArray - Current elements.
24
+ * @returns {Nullable<RTECodeBlock>} - Code block.
25
+ */
26
+ handle(elementsArray) {
27
+ const codeRef = elementsArray[0];
28
+ if (codeRef) {
29
+ const content = codeRef.textContent;
30
+ const language = codeRef.dataset
31
+ .language;
32
+ return RTECodeBlock.from({
33
+ id: generateUUID(),
34
+ type: 'code-block',
35
+ content,
36
+ language,
37
+ });
38
+ }
39
+ }
40
+ /* istanbul ignore next */
41
+ /**
42
+ * Append child blocks.
43
+ */
44
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
45
+ appendChildBlocks() { }
46
+ /**
47
+ * Should continue process to child elements.
48
+ *
49
+ * @returns {boolean} - boolean.
50
+ */
51
+ shouldProceedToElementChildren() {
52
+ return false;
53
+ }
54
+ }
@@ -25,7 +25,7 @@ export class LiToRTEListItemBlockStrategy extends BlockToRTEBlockStrategyAbstrac
25
25
  return RTEListItemBlock.from({
26
26
  id: generateUUID(),
27
27
  type: 'list-item',
28
- nodes: this.generateChildNodes(Array.from(elementsArray[0].childNodes).filter((item) => !['UL', 'OL'].includes(item.nodeName))),
28
+ nodes: this.generateChildNodes(Array.from(elementsArray[0].childNodes).filter((item) => !['UL', 'OL'].includes(item.nodeName)), this.generateBlockInheritAnnotations(elementsArray[0])),
29
29
  annotations: this.generateBlockAnnotations(elementsArray[0]),
30
30
  });
31
31
  }
@@ -1,5 +1,6 @@
1
1
  import { generateUUID } from '../../../../../../utils/misc';
2
2
  import { RTEListBlock } from '../../../../dto/blocks/list-block';
3
+ import { RTEListItemBlock } from '../../../../dto/blocks/list-item-block';
3
4
  import { BlockToRTEBlockStrategyAbstract } from './block-to-rte-block-strategy.abstract';
4
5
  /** Transform ol element to list block DTO */
5
6
  export class OlToRTEListBlockStrategy extends BlockToRTEBlockStrategyAbstract {
@@ -33,10 +34,10 @@ export class OlToRTEListBlockStrategy extends BlockToRTEBlockStrategyAbstract {
33
34
  * Append child list item blocks to current list block.
34
35
  *
35
36
  * @param {RTEListBlock} currentBlock - Current list block.
36
- * @param {RTEListItemBlock[]} childBlocks - Current list item blocks.
37
+ * @param {RTEContentBlock[]} childBlocks - Current list item blocks.
37
38
  */
38
39
  appendChildBlocks(currentBlock, childBlocks) {
39
- currentBlock.blocks = childBlocks;
40
+ currentBlock.blocks = childBlocks.filter((block) => block instanceof RTEListItemBlock);
40
41
  childBlocks.forEach((block) => (block.parent = currentBlock));
41
42
  }
42
43
  /**
@@ -1,8 +1,6 @@
1
- import { BlockToRTEBlockStrategyAbstract } from './block-to-rte-block-strategy.abstract';
2
- import { generateUUID } from '../../../../../../utils/misc';
3
- import { RTEImageBlock } from '../../../../dto/blocks/image-block';
1
+ import { ElementToRTEImageBlockStrategyAbstract } from './element-to-rte-image-block-strategy.abstract';
4
2
  /** Transform img in span or other inline element to image block DTO */
5
- export class SpanImageToRTEImageBlockStrategy extends BlockToRTEBlockStrategyAbstract {
3
+ export class SpanImageToRTEImageBlockStrategy extends ElementToRTEImageBlockStrategyAbstract {
6
4
  /**
7
5
  * Can be handle.
8
6
  *
@@ -26,22 +24,7 @@ export class SpanImageToRTEImageBlockStrategy extends BlockToRTEBlockStrategyAbs
26
24
  */
27
25
  handle(elementsArray) {
28
26
  const element = elementsArray[0].querySelector('img');
29
- return RTEImageBlock.from({
30
- id: generateUUID(),
31
- type: 'image',
32
- nodes: [
33
- {
34
- id: generateUUID(),
35
- type: 'image',
36
- url: element.src,
37
- annotations: {
38
- size: 'md',
39
- alt: element.alt,
40
- },
41
- },
42
- ],
43
- annotations: this.generateBlockAnnotations(element),
44
- });
27
+ return this.createRTEImageBlock(element);
45
28
  }
46
29
  /* istanbul ignore next */
47
30
  /**