@heartlandone/vega 2.49.1 → 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 (646) hide show
  1. package/dist/cjs/{app-globals-65622aeb.js → app-globals-8e811cac.js} +6 -6
  2. package/dist/cjs/{child-nodes-event-prevent-slimmer-cc193ee1.js → child-nodes-event-prevent-slimmer-26ecfb15.js} +1 -1
  3. package/dist/cjs/{content-state-6a48bcb5.js → code-block-4cd8bccd.js} +1166 -1131
  4. package/dist/cjs/content-state-6cb98931.js +2496 -0
  5. package/dist/cjs/{design-token-cba4222e.js → design-token-8b48cb59.js} +1 -1
  6. package/dist/cjs/{element-appender-slimmer-4a26ecb2.js → element-appender-slimmer-d6b975e6.js} +3 -3
  7. package/dist/cjs/{event-emit-slimmer-8247249c.js → event-emit-slimmer-ee7a8c06.js} +1 -1
  8. package/dist/cjs/{form-field-controller-slimmer-4b0af5bc.js → form-field-controller-slimmer-88cbb139.js} +4 -4
  9. package/dist/cjs/{image-annotation-action-9c2b9c8e.js → image-annotation-action-f36b1a72.js} +65 -35
  10. package/dist/cjs/{index-c4dec3aa.js → index-4dd54e6b.js} +1 -1
  11. package/dist/cjs/{index-09acd3c9.js → index-7700600c.js} +9 -0
  12. package/dist/cjs/index.cjs.js +17 -16
  13. package/dist/cjs/{internal-vega-event-manager-c9948b59.js → internal-vega-event-manager-58afcde7.js} +1 -0
  14. package/dist/cjs/loader.cjs.js +11 -9
  15. package/dist/cjs/{public-rules-10ec636d.js → public-rules-555271e0.js} +8 -6
  16. package/dist/cjs/{responsive-format-facade-263d49f6.js → responsive-format-facade-8ce41c8a.js} +3 -3
  17. package/dist/cjs/{rich-text-editor-required-rule-5faded94.js → rich-text-editor-required-rule-d1b38bf7.js} +1 -1
  18. package/dist/cjs/selection-controller-828990cc.js +765 -0
  19. package/dist/cjs/string-39438062.js +24 -0
  20. package/dist/cjs/{string-input-formatter-slimmer-50322824.js → string-input-formatter-slimmer-9e7d7ce2.js} +2 -2
  21. package/dist/cjs/{style-formatter-ae0ef7fc.js → style-formatter-2294d77f.js} +1 -1
  22. package/dist/cjs/{sub-state-notify-slimmer-7f437b19.js → sub-state-notify-slimmer-f3ee01b7.js} +1 -1
  23. package/dist/cjs/{sub-state-observer-slimmer-e90362cd.js → sub-state-observer-slimmer-e1a00b74.js} +1 -1
  24. package/dist/cjs/{translation-212b1875.js → translation-e5003a00.js} +5 -0
  25. package/dist/cjs/{translation-slimmer-d1512c6d.js → translation-slimmer-127a0f83.js} +1 -1
  26. package/dist/cjs/vega-accordion.cjs.entry.js +11 -9
  27. package/dist/cjs/vega-app-footer.cjs.entry.js +1 -1
  28. package/dist/cjs/vega-app-header-button.cjs.entry.js +12 -10
  29. package/dist/cjs/vega-backdrop.cjs.entry.js +1 -1
  30. package/dist/cjs/vega-banner.cjs.entry.js +3 -3
  31. package/dist/cjs/vega-bar-chart.cjs.entry.js +1 -1
  32. package/dist/cjs/vega-box.cjs.entry.js +11 -9
  33. package/dist/cjs/vega-brand-logo.cjs.entry.js +1 -1
  34. package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
  35. package/dist/cjs/vega-button-circle.cjs.entry.js +12 -10
  36. package/dist/cjs/vega-button-group_2.cjs.entry.js +7 -7
  37. package/dist/cjs/vega-button-link.cjs.entry.js +4 -4
  38. package/dist/cjs/vega-button.cjs.entry.js +11 -9
  39. package/dist/cjs/vega-calendar_3.cjs.entry.js +9 -9
  40. package/dist/cjs/vega-card.cjs.entry.js +10 -8
  41. package/dist/cjs/vega-carousel.cjs.entry.js +10 -8
  42. package/dist/cjs/vega-checkbox_2.cjs.entry.js +9 -9
  43. package/dist/cjs/vega-chip.cjs.entry.js +12 -10
  44. package/dist/cjs/vega-code-block.cjs.entry.js +4073 -0
  45. package/dist/cjs/vega-color-picker.cjs.entry.js +8 -8
  46. package/dist/cjs/vega-combo-box.cjs.entry.js +9 -9
  47. package/dist/cjs/vega-counter-badge.cjs.entry.js +1 -1
  48. package/dist/cjs/vega-date-picker_2.cjs.entry.js +17 -16
  49. package/dist/cjs/vega-dialog_2.cjs.entry.js +12 -10
  50. package/dist/cjs/vega-divider.cjs.entry.js +10 -8
  51. package/dist/cjs/vega-dropdown_5.cjs.entry.js +15 -13
  52. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  53. package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
  54. package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
  55. package/dist/cjs/vega-file-uploader.cjs.entry.js +9 -9
  56. package/dist/cjs/vega-flag-icon.cjs.entry.js +10 -8
  57. package/dist/cjs/vega-flex.cjs.entry.js +11 -9
  58. package/dist/cjs/vega-font.cjs.entry.js +10 -8
  59. package/dist/cjs/vega-form.cjs.entry.js +10 -10
  60. package/dist/cjs/vega-grid.cjs.entry.js +10 -8
  61. package/dist/cjs/vega-hint.cjs.entry.js +1 -1
  62. package/dist/cjs/vega-icon.cjs.entry.js +10 -8
  63. package/dist/cjs/vega-image-uploader.cjs.entry.js +14 -13
  64. package/dist/cjs/vega-input-credit-card.cjs.entry.js +9 -9
  65. package/dist/cjs/vega-input-numeric.cjs.entry.js +10 -10
  66. package/dist/cjs/vega-input-phone-number.cjs.entry.js +12 -11
  67. package/dist/cjs/vega-input-range.cjs.entry.js +10 -10
  68. package/dist/cjs/vega-input-select.cjs.entry.js +19 -18
  69. package/dist/cjs/vega-input.cjs.entry.js +10 -10
  70. package/dist/cjs/{vega-internal-event-id-bfea9b93.js → vega-internal-event-id-62371952.js} +2 -0
  71. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  72. package/dist/cjs/vega-left-nav_5.cjs.entry.js +13 -11
  73. package/dist/cjs/vega-line-chart.cjs.entry.js +1 -1
  74. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +9 -7
  75. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  76. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +4 -4
  77. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +4 -4
  78. package/dist/cjs/vega-pagination.cjs.entry.js +12 -10
  79. package/dist/cjs/vega-pie-chart.cjs.entry.js +1 -1
  80. package/dist/cjs/vega-popover_2.cjs.entry.js +11 -9
  81. package/dist/cjs/vega-progress-tracker.cjs.entry.js +3 -3
  82. package/dist/cjs/vega-radio_2.cjs.entry.js +9 -9
  83. package/dist/cjs/vega-rich-text-content.cjs.entry.js +311 -137
  84. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +1225 -2502
  85. package/dist/cjs/vega-section-title.cjs.entry.js +1 -1
  86. package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
  87. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +14 -13
  88. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +10 -10
  89. package/dist/cjs/vega-sidenav_3.cjs.entry.js +12 -10
  90. package/dist/cjs/vega-signature-capture.cjs.entry.js +14 -13
  91. package/dist/cjs/{vega-skeleton-loader-controller-db868c98.js → vega-skeleton-loader-controller-83e05b6c.js} +1 -1
  92. package/dist/cjs/vega-skeleton.cjs.entry.js +1 -1
  93. package/dist/cjs/vega-slot-container.cjs.entry.js +1 -1
  94. package/dist/cjs/vega-stepper.cjs.entry.js +9 -9
  95. package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
  96. package/dist/cjs/vega-table_8.cjs.entry.js +14 -12
  97. package/dist/cjs/vega-text.cjs.entry.js +1 -1
  98. package/dist/cjs/vega-textarea.cjs.entry.js +9 -9
  99. package/dist/cjs/vega-time-picker_2.cjs.entry.js +15 -14
  100. package/dist/cjs/vega-toggle-switch.cjs.entry.js +8 -8
  101. package/dist/cjs/vega-tooltip_2.cjs.entry.js +10 -8
  102. package/dist/cjs/vega.cjs.js +11 -9
  103. package/dist/collection/collection-manifest.json +7 -1
  104. package/dist/collection/components/vega-code-block/assets/copy.js +3 -0
  105. package/dist/collection/components/vega-code-block/slimmers/controllers/code-highlight-parser.abstract.js +62 -0
  106. package/dist/collection/components/vega-code-block/slimmers/controllers/default-code-highlight-parse-controller.js +48 -0
  107. package/dist/collection/components/vega-code-block/slimmers/controllers/prism-code-highlight-parse-controller.js +99 -0
  108. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-content-parse-controller.js +50 -0
  109. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-focus-controller.js +57 -0
  110. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-input-controller.js +255 -0
  111. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-selection-controller.js +266 -0
  112. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-value-controller.js +44 -0
  113. package/dist/collection/components/vega-code-block/slimmers/renderers/vega-code-block-content-renderer.js +123 -0
  114. package/dist/collection/components/vega-code-block/slimmers/renderers/vega-code-block-copy-button-renderer.js +67 -0
  115. package/dist/collection/components/vega-code-block/slimmers/renderers/vega-code-block-renderer.js +122 -0
  116. package/dist/collection/components/vega-code-block/types.js +10 -0
  117. package/dist/collection/components/vega-code-block/vega-code-block.css +158 -0
  118. package/dist/collection/components/vega-code-block/vega-code-block.js +399 -0
  119. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +5 -5
  120. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +2 -0
  121. package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.css +60 -5
  122. package/dist/collection/components/vega-rich-text-editor/assets/file-code.js +3 -0
  123. package/dist/collection/components/vega-rich-text-editor/assets/rectangle-code.js +3 -0
  124. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy.abstract.js +24 -0
  125. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-horizontal-alignment-strategy.js +15 -0
  126. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-indent-strategy.js +15 -0
  127. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-text-style-strategy.js +1 -0
  128. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/code-node-set-selection-range-strategy.js +13 -0
  129. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/node-update-annotation-map-strategy.js +14 -0
  130. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-content-strategy.js +3 -1
  131. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy.js +1 -1
  132. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-code-block-strategy.js +48 -0
  133. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-insert-image-strategy.js +17 -0
  134. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy.js +77 -0
  135. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/switch-out-from-code-block-strategy.js +38 -0
  136. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/update-code-block-strategy.js +14 -0
  137. package/dist/collection/components/vega-rich-text-editor/dto/actions/custom-style-annotation-action.js +20 -0
  138. package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +4 -0
  139. package/dist/collection/components/vega-rich-text-editor/dto/actions/remove-code-block-action.js +13 -0
  140. package/dist/collection/components/vega-rich-text-editor/dto/actions/switch-out-from-code-block-action.js +15 -0
  141. package/dist/collection/components/vega-rich-text-editor/dto/actions/transform-to-code-block-action.js +13 -0
  142. package/dist/collection/components/vega-rich-text-editor/dto/actions/update-code-block-action.js +15 -0
  143. package/dist/collection/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.js +1 -0
  144. package/dist/collection/components/vega-rich-text-editor/dto/annotations/bold-annotation.js +13 -5
  145. package/dist/collection/components/vega-rich-text-editor/dto/annotations/clear-formatting-annotation.js +2 -0
  146. package/dist/collection/components/vega-rich-text-editor/dto/annotations/code-annotation.js +14 -9
  147. package/dist/collection/components/vega-rich-text-editor/dto/annotations/common-annotation.abstract.js +12 -0
  148. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation.js +65 -0
  149. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-class-annotation.js +54 -0
  150. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.js +57 -0
  151. package/dist/collection/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.js +26 -10
  152. package/dist/collection/components/vega-rich-text-editor/dto/annotations/image-annotation.js +16 -7
  153. package/dist/collection/components/vega-rich-text-editor/dto/annotations/indent-annotation.js +8 -2
  154. package/dist/collection/components/vega-rich-text-editor/dto/annotations/italic-annotation.js +13 -5
  155. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-annotation.js +12 -9
  156. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-group-annotation.js +89 -0
  157. package/dist/collection/components/vega-rich-text-editor/dto/annotations/list-annotation.js +41 -0
  158. package/dist/collection/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.js +9 -9
  159. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-color-annotation.js +3 -7
  160. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-annotation.js +74 -12
  161. package/dist/collection/components/vega-rich-text-editor/dto/annotations/underline-annotation.js +9 -9
  162. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +69 -2
  163. package/dist/collection/components/vega-rich-text-editor/dto/blocks/code-block.js +106 -0
  164. package/dist/collection/components/vega-rich-text-editor/dto/blocks/image-block.js +15 -1
  165. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +50 -0
  166. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +12 -1
  167. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +66 -2
  168. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +29 -0
  169. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +56 -0
  170. package/dist/collection/components/vega-rich-text-editor/dto/nodes/image-node.js +26 -9
  171. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +81 -0
  172. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +15 -2
  173. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.js +5 -22
  174. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +9 -93
  175. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/code-block-renderer.js +62 -0
  176. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.js +1 -1
  177. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.js +121 -0
  178. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +1 -1
  179. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +1 -1
  180. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.js +2 -23
  181. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/code-block-node-renderer.js +81 -0
  182. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js +47 -7
  183. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.js +0 -27
  184. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +3 -2
  185. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.js +19 -4
  186. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract.js +155 -15
  187. 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
  188. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.js +6 -1
  189. 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
  190. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/img-to-rte-image-block-strategy.js +3 -20
  191. 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
  192. 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
  193. 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
  194. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ol-to-rte-list-block-strategy.js +3 -2
  195. 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
  196. 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
  197. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-to-rte-list-block-strategy.js +3 -2
  198. 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
  199. 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
  200. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-line-break-handler.js +7 -5
  201. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paragraph-handler.js +7 -5
  202. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +25 -10
  203. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/internal-code-block-selection-controller.js +64 -0
  204. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +59 -53
  205. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +21 -8
  206. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +10 -0
  207. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.js +5 -3
  208. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +5 -3
  209. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-toolbar-button-slimmer.js +5 -3
  210. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/numbers-toolbar-button-slimmer.js +5 -3
  211. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.js +5 -3
  212. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.js +65 -0
  213. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.js +5 -3
  214. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/center-align-toolbar-button-slimmer.js +2 -2
  215. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +8 -2
  216. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/justify-align-toolbar-button-slimmer.js +2 -2
  217. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/left-align-toolbar-button-slimmer.js +2 -2
  218. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/right-align-toolbar-button-slimmer.js +2 -2
  219. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +2 -2
  220. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.js +5 -3
  221. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.js +3 -3
  222. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +2 -2
  223. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.js +3 -3
  224. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +60 -0
  225. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.js +5 -3
  226. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +5 -3
  227. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +6 -4
  228. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +3 -2
  229. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.js +5 -3
  230. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.js +28 -0
  231. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +31 -3
  232. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/code-block-strategy-registry.test.js +21 -0
  233. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/content-state-strategy-registry.test.js +2 -0
  234. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/image-block-strategy-register.test.js +3 -0
  235. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/text-block-strategy-register.test.js +23 -1
  236. package/dist/collection/components/vega-rich-text-editor/test/dto/annotations.test.js +247 -27
  237. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/code-block.test.js +54 -0
  238. package/dist/collection/components/vega-rich-text-editor/test/dto/content-state.test.js +1793 -0
  239. package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/image-node.test.js +12 -0
  240. package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/text-node.test.js +41 -4
  241. package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/jira-code-to-rte-code-block-strategy.test.js +32 -0
  242. 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
  243. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.css +7 -0
  244. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +18 -1
  245. package/dist/collection/helpers/code-format/code-formatter.js +108 -0
  246. package/dist/collection/helpers/code-format/test/code-formatter.test.js +362 -0
  247. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +2 -1
  248. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
  249. package/dist/collection/helpers/slimmers/auto-run-when-re-render-task-queue-slimmer.abstract.js +47 -0
  250. package/dist/collection/helpers/slimmers/test/auto-run-when-re-render-task-queue-slimmer.test.js +46 -0
  251. package/dist/collection/helpers/translation/locales/en.js +5 -0
  252. package/dist/collection/helpers/translation/tests/internal-translation-controller.test.js +5 -0
  253. package/dist/collection/polyfill/shadow-selection/shadow-selection-polyfill.js +17 -15
  254. package/dist/collection/polyfill/shadow-selection/test/shadow-selection-polyfill.test.js +1 -0
  255. package/dist/collection/polyfill/test-polyfill/unit/methods.js +9 -0
  256. package/dist/collection/utils/string.js +10 -0
  257. package/dist/esm/{app-globals-1f8c30e9.js → app-globals-9058ac3b.js} +6 -6
  258. package/dist/esm/{child-nodes-event-prevent-slimmer-5d45361e.js → child-nodes-event-prevent-slimmer-1142fb79.js} +1 -1
  259. package/dist/esm/{content-state-dbc9f635.js → code-block-8b5bd928.js} +1141 -1122
  260. package/dist/esm/content-state-8c3f862b.js +2489 -0
  261. package/dist/esm/{design-token-0699f0ca.js → design-token-bd436e0d.js} +1 -1
  262. package/dist/esm/{dom-node-subject-factory-f77cf9cc.js → dom-node-subject-factory-eb6bba5d.js} +1 -1
  263. package/dist/esm/{dom-node-subject-observer-factory-715dccf9.js → dom-node-subject-observer-factory-6083d518.js} +1 -1
  264. package/dist/esm/{element-appender-slimmer-96cb54e2.js → element-appender-slimmer-baf5e249.js} +5 -5
  265. package/dist/esm/{event-emit-slimmer-b7d511f6.js → event-emit-slimmer-480d3b54.js} +3 -3
  266. package/dist/esm/{form-field-controller-slimmer-89a72ee7.js → form-field-controller-slimmer-bfb4034d.js} +6 -6
  267. package/dist/esm/{image-annotation-action-1aa938ab.js → image-annotation-action-a8b860ad.js} +57 -28
  268. package/dist/esm/{index-187f71d1.js → index-d0a47531.js} +9 -0
  269. package/dist/esm/{index-4aa167d6.js → index-db0ec3ee.js} +2 -2
  270. package/dist/esm/index.js +12 -11
  271. package/dist/esm/{internal-vega-event-manager-87dc436c.js → internal-vega-event-manager-56c6469a.js} +2 -1
  272. package/dist/esm/loader.js +12 -10
  273. package/dist/esm/polyfills/core-js.js +0 -0
  274. package/dist/esm/polyfills/dom.js +0 -0
  275. package/dist/esm/polyfills/es5-html-element.js +0 -0
  276. package/dist/esm/polyfills/index.js +0 -0
  277. package/dist/esm/polyfills/system.js +0 -0
  278. package/dist/esm/{public-rules-5cf6aa95.js → public-rules-90fbd41a.js} +8 -6
  279. package/dist/esm/{responsive-format-facade-42f3fcfa.js → responsive-format-facade-827de03a.js} +3 -3
  280. package/dist/esm/{rich-text-editor-required-rule-6a7cd3ee.js → rich-text-editor-required-rule-0d470d82.js} +1 -1
  281. package/dist/esm/selection-controller-dd4f4407.js +759 -0
  282. package/dist/esm/string-a953eafc.js +21 -0
  283. package/dist/esm/{string-input-formatter-slimmer-c61f82d6.js → string-input-formatter-slimmer-0d30b976.js} +3 -3
  284. package/dist/esm/{style-formatter-cb00c709.js → style-formatter-232842f5.js} +1 -1
  285. package/dist/esm/{sub-state-notify-slimmer-4e3cf09d.js → sub-state-notify-slimmer-04e06501.js} +2 -2
  286. package/dist/esm/{sub-state-observer-slimmer-be7a6ce3.js → sub-state-observer-slimmer-b4c2ddc3.js} +2 -2
  287. package/dist/esm/{translation-cf7f020a.js → translation-71e0711d.js} +5 -0
  288. package/dist/esm/{translation-slimmer-88966d5c.js → translation-slimmer-e6b130bf.js} +1 -1
  289. package/dist/esm/vega-accordion.entry.js +13 -11
  290. package/dist/esm/vega-app-footer.entry.js +1 -1
  291. package/dist/esm/vega-app-header-button.entry.js +14 -12
  292. package/dist/esm/vega-backdrop.entry.js +1 -1
  293. package/dist/esm/vega-banner.entry.js +5 -5
  294. package/dist/esm/vega-bar-chart.entry.js +1 -1
  295. package/dist/esm/vega-box.entry.js +12 -10
  296. package/dist/esm/vega-brand-logo.entry.js +1 -1
  297. package/dist/esm/vega-breadcrumb.entry.js +6 -6
  298. package/dist/esm/vega-button-circle.entry.js +14 -12
  299. package/dist/esm/vega-button-group_2.entry.js +9 -9
  300. package/dist/esm/vega-button-link.entry.js +6 -6
  301. package/dist/esm/vega-button.entry.js +13 -11
  302. package/dist/esm/vega-calendar_3.entry.js +11 -11
  303. package/dist/esm/vega-card.entry.js +11 -9
  304. package/dist/esm/vega-carousel.entry.js +12 -10
  305. package/dist/esm/vega-checkbox_2.entry.js +11 -11
  306. package/dist/esm/vega-chip.entry.js +14 -12
  307. package/dist/esm/vega-code-block.entry.js +4069 -0
  308. package/dist/esm/vega-color-picker.entry.js +10 -10
  309. package/dist/esm/vega-combo-box.entry.js +11 -11
  310. package/dist/esm/vega-counter-badge.entry.js +1 -1
  311. package/dist/esm/vega-date-picker_2.entry.js +19 -18
  312. package/dist/esm/vega-dialog_2.entry.js +14 -12
  313. package/dist/esm/vega-divider.entry.js +11 -9
  314. package/dist/esm/vega-dropdown_5.entry.js +17 -15
  315. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  316. package/dist/esm/vega-field-error.entry.js +1 -1
  317. package/dist/esm/vega-field-label.entry.js +5 -5
  318. package/dist/esm/vega-file-uploader.entry.js +11 -11
  319. package/dist/esm/vega-flag-icon.entry.js +11 -9
  320. package/dist/esm/vega-flex.entry.js +12 -10
  321. package/dist/esm/vega-font.entry.js +11 -9
  322. package/dist/esm/vega-form.entry.js +12 -12
  323. package/dist/esm/vega-grid.entry.js +11 -9
  324. package/dist/esm/vega-hint.entry.js +1 -1
  325. package/dist/esm/vega-icon.entry.js +11 -9
  326. package/dist/esm/vega-image-uploader.entry.js +16 -15
  327. package/dist/esm/vega-input-credit-card.entry.js +11 -11
  328. package/dist/esm/vega-input-numeric.entry.js +12 -12
  329. package/dist/esm/vega-input-phone-number.entry.js +14 -13
  330. package/dist/esm/vega-input-range.entry.js +12 -12
  331. package/dist/esm/vega-input-select.entry.js +21 -20
  332. package/dist/esm/vega-input.entry.js +12 -12
  333. package/dist/esm/{vega-internal-event-id-85ad403f.js → vega-internal-event-id-820393ad.js} +2 -1
  334. package/dist/esm/vega-item-toggle.entry.js +5 -5
  335. package/dist/esm/vega-left-nav_5.entry.js +15 -13
  336. package/dist/esm/vega-line-chart.entry.js +1 -1
  337. package/dist/esm/vega-loader-wrapper_2.entry.js +10 -8
  338. package/dist/esm/vega-page-notification_2.entry.js +3 -3
  339. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +6 -6
  340. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +6 -6
  341. package/dist/esm/vega-pagination.entry.js +14 -12
  342. package/dist/esm/vega-pie-chart.entry.js +1 -1
  343. package/dist/esm/vega-popover_2.entry.js +13 -11
  344. package/dist/esm/vega-progress-tracker.entry.js +5 -5
  345. package/dist/esm/vega-radio_2.entry.js +11 -11
  346. package/dist/esm/vega-rich-text-content.entry.js +305 -131
  347. package/dist/esm/vega-rich-text-editor_4.entry.js +1132 -2409
  348. package/dist/esm/vega-section-title.entry.js +1 -1
  349. package/dist/esm/vega-segment-control.entry.js +5 -5
  350. package/dist/esm/vega-selection-chip_2.entry.js +16 -15
  351. package/dist/esm/vega-selection-tile_2.entry.js +12 -12
  352. package/dist/esm/vega-sidenav_3.entry.js +14 -12
  353. package/dist/esm/vega-signature-capture.entry.js +16 -15
  354. package/dist/esm/{vega-skeleton-loader-controller-c2a8bd27.js → vega-skeleton-loader-controller-878e1b28.js} +1 -1
  355. package/dist/esm/vega-skeleton.entry.js +1 -1
  356. package/dist/esm/vega-slot-container.entry.js +1 -1
  357. package/dist/esm/vega-stepper.entry.js +11 -11
  358. package/dist/esm/vega-tab-group_2.entry.js +6 -6
  359. package/dist/esm/vega-table_8.entry.js +16 -14
  360. package/dist/esm/vega-text.entry.js +1 -1
  361. package/dist/esm/vega-textarea.entry.js +11 -11
  362. package/dist/esm/vega-time-picker_2.entry.js +17 -16
  363. package/dist/esm/vega-toggle-switch.entry.js +10 -10
  364. package/dist/esm/vega-tooltip_2.entry.js +12 -10
  365. package/dist/esm/vega.js +12 -10
  366. package/dist/types/components/vega-code-block/assets/copy.d.ts +3 -0
  367. package/dist/types/components/vega-code-block/slimmers/controllers/code-highlight-parser.abstract.d.ts +40 -0
  368. package/dist/types/components/vega-code-block/slimmers/controllers/default-code-highlight-parse-controller.d.ts +19 -0
  369. package/dist/types/components/vega-code-block/slimmers/controllers/prism-code-highlight-parse-controller.d.ts +43 -0
  370. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-content-parse-controller.d.ts +23 -0
  371. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-focus-controller.d.ts +21 -0
  372. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-input-controller.d.ts +100 -0
  373. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-selection-controller.d.ts +93 -0
  374. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-value-controller.d.ts +21 -0
  375. package/dist/types/components/vega-code-block/slimmers/renderers/vega-code-block-content-renderer.d.ts +57 -0
  376. package/dist/types/components/vega-code-block/slimmers/renderers/vega-code-block-copy-button-renderer.d.ts +23 -0
  377. package/dist/types/components/vega-code-block/slimmers/renderers/vega-code-block-renderer.d.ts +50 -0
  378. package/dist/types/components/vega-code-block/types.d.ts +19 -0
  379. package/dist/types/components/vega-code-block/vega-code-block.d.ts +116 -0
  380. package/dist/types/components/vega-rich-text-editor/assets/file-code.d.ts +3 -0
  381. package/dist/types/components/vega-rich-text-editor/assets/rectangle-code.d.ts +3 -0
  382. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy.abstract.d.ts +15 -0
  383. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-horizontal-alignment-strategy.d.ts +15 -0
  384. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-indent-strategy.d.ts +15 -0
  385. 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
  386. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.d.ts +3 -3
  387. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy.d.ts +4 -5
  388. 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
  389. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-insert-image-strategy.d.ts +15 -0
  390. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy.d.ts +28 -0
  391. 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
  392. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/update-code-block-strategy.d.ts +12 -0
  393. package/dist/types/components/vega-rich-text-editor/dto/actions/custom-style-annotation-action.d.ts +17 -0
  394. package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +5 -1
  395. package/dist/types/components/vega-rich-text-editor/dto/actions/remove-code-block-action.d.ts +10 -0
  396. package/dist/types/components/vega-rich-text-editor/dto/actions/switch-out-from-code-block-action.d.ts +14 -0
  397. package/dist/types/components/vega-rich-text-editor/dto/actions/transform-to-code-block-action.d.ts +14 -0
  398. package/dist/types/components/vega-rich-text-editor/dto/actions/update-code-block-action.d.ts +14 -0
  399. package/dist/types/components/vega-rich-text-editor/dto/annotations/annotation.abstract.d.ts +2 -1
  400. package/dist/types/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.d.ts +17 -4
  401. package/dist/types/components/vega-rich-text-editor/dto/annotations/bold-annotation.d.ts +7 -5
  402. package/dist/types/components/vega-rich-text-editor/dto/annotations/clear-formatting-annotation.d.ts +2 -1
  403. package/dist/types/components/vega-rich-text-editor/dto/annotations/code-annotation.d.ts +5 -9
  404. package/dist/types/components/vega-rich-text-editor/dto/annotations/common-annotation.abstract.d.ts +20 -0
  405. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation.d.ts +43 -0
  406. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-class-annotation.d.ts +40 -0
  407. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.d.ts +42 -0
  408. package/dist/types/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.d.ts +5 -9
  409. package/dist/types/components/vega-rich-text-editor/dto/annotations/image-annotation.d.ts +7 -5
  410. package/dist/types/components/vega-rich-text-editor/dto/annotations/indent-annotation.d.ts +5 -1
  411. package/dist/types/components/vega-rich-text-editor/dto/annotations/italic-annotation.d.ts +7 -5
  412. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-annotation.d.ts +6 -4
  413. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-group-annotation.d.ts +48 -0
  414. package/dist/types/components/vega-rich-text-editor/dto/annotations/list-annotation.d.ts +25 -0
  415. package/dist/types/components/vega-rich-text-editor/dto/annotations/node-annotation.abstract.d.ts +15 -3
  416. package/dist/types/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.d.ts +5 -9
  417. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-color-annotation.d.ts +3 -7
  418. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-annotation.d.ts +7 -5
  419. package/dist/types/components/vega-rich-text-editor/dto/annotations/underline-annotation.d.ts +5 -9
  420. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +39 -4
  421. package/dist/types/components/vega-rich-text-editor/dto/blocks/code-block.d.ts +56 -0
  422. package/dist/types/components/vega-rich-text-editor/dto/blocks/image-block.d.ts +4 -0
  423. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +20 -2
  424. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +4 -0
  425. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +14 -4
  426. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +13 -0
  427. package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +45 -0
  428. package/dist/types/components/vega-rich-text-editor/dto/nodes/image-node.d.ts +4 -0
  429. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +46 -2
  430. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +7 -2
  431. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.d.ts +4 -11
  432. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +7 -5
  433. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/code-block-renderer.d.ts +39 -0
  434. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.d.ts +24 -0
  435. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.d.ts +0 -1
  436. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/code-block-node-renderer.d.ts +37 -0
  437. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.d.ts +22 -0
  438. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.d.ts +1 -15
  439. package/dist/types/components/vega-rich-text-editor/interface.d.ts +65 -26
  440. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract.d.ts +64 -6
  441. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.d.ts +3 -1
  442. 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
  443. 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
  444. 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
  445. 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
  446. 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
  447. 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
  448. 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
  449. 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
  450. 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
  451. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.d.ts +7 -1
  452. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/internal-code-block-selection-controller.d.ts +45 -0
  453. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/selection-controller.d.ts +17 -23
  454. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.d.ts +6 -4
  455. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.d.ts +2 -0
  456. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.d.ts +2 -2
  457. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.d.ts +3 -2
  458. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-toolbar-button-slimmer.d.ts +2 -2
  459. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/numbers-toolbar-button-slimmer.d.ts +2 -2
  460. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.d.ts +2 -2
  461. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.d.ts +22 -0
  462. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.d.ts +2 -2
  463. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/center-align-toolbar-button-slimmer.d.ts +2 -2
  464. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.d.ts +4 -2
  465. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/justify-align-toolbar-button-slimmer.d.ts +2 -2
  466. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/left-align-toolbar-button-slimmer.d.ts +2 -2
  467. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/right-align-toolbar-button-slimmer.d.ts +2 -2
  468. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.d.ts +3 -2
  469. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.d.ts +2 -2
  470. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.d.ts +2 -2
  471. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.d.ts +3 -2
  472. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.d.ts +2 -2
  473. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +13 -0
  474. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.d.ts +2 -2
  475. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.d.ts +3 -2
  476. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.d.ts +3 -2
  477. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +3 -2
  478. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.d.ts +2 -2
  479. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.d.ts +17 -0
  480. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +8 -2
  481. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/code-block-strategy-registry.test.d.ts +1 -0
  482. package/dist/types/components/vega-rich-text-editor/test/dto/blocks/code-block.test.d.ts +1 -0
  483. package/dist/types/components/vega-rich-text-editor/test/dto/content-state.test.d.ts +1 -1
  484. 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
  485. 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
  486. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +7 -0
  487. package/dist/types/components.d.ts +95 -0
  488. package/dist/types/helpers/code-format/code-formatter.d.ts +34 -0
  489. package/dist/types/helpers/code-format/test/code-formatter.test.d.ts +1 -0
  490. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
  491. package/dist/types/helpers/slimmers/auto-run-when-re-render-task-queue-slimmer.abstract.d.ts +20 -0
  492. package/dist/types/helpers/slimmers/test/auto-run-when-re-render-task-queue-slimmer.test.d.ts +1 -0
  493. package/dist/types/helpers/translation/interface.d.ts +6 -1
  494. package/dist/types/polyfill/shadow-selection/shadow-selection-polyfill.d.ts +26 -0
  495. package/dist/types/types/components.type.d.ts +1 -0
  496. package/dist/types/utils/string.d.ts +7 -0
  497. package/dist/vega/index.esm.js +1 -1
  498. package/dist/vega/p-0104207d.entry.js +1 -0
  499. package/dist/vega/p-010f1715.entry.js +1 -0
  500. package/dist/vega/p-01593f9d.js +1 -0
  501. package/dist/vega/p-020b04ed.js +1 -0
  502. package/dist/vega/p-02841589.js +1 -0
  503. package/dist/vega/p-03cfb331.entry.js +9 -0
  504. package/dist/vega/{p-b649e86e.entry.js → p-0bff8716.entry.js} +1 -1
  505. package/dist/vega/p-1056a049.entry.js +1 -0
  506. package/dist/vega/p-10e41bbe.js +1 -0
  507. package/dist/vega/{p-83ef9e7d.entry.js → p-12e6173c.entry.js} +1 -1
  508. package/dist/vega/{p-54add0d2.js → p-1397ba3f.js} +1 -1
  509. package/dist/vega/p-13d9a1fd.entry.js +1 -0
  510. package/dist/vega/p-13eae47f.entry.js +1 -0
  511. package/dist/vega/p-1630864e.entry.js +1 -0
  512. package/dist/vega/p-1b335e30.entry.js +1 -0
  513. package/dist/vega/{p-8ade44bf.js → p-1e194737.js} +1 -1
  514. package/dist/vega/{p-252e42c7.entry.js → p-1f346008.entry.js} +1 -1
  515. package/dist/vega/p-1f86ab76.entry.js +1 -0
  516. package/dist/vega/p-1fe746ab.entry.js +1 -0
  517. package/dist/vega/{p-8c388b58.entry.js → p-211c028f.entry.js} +1 -1
  518. package/dist/vega/p-21d26bb4.js +2 -0
  519. package/dist/vega/{p-b351ace3.entry.js → p-23e6f2b2.entry.js} +1 -1
  520. package/dist/vega/p-268aea63.js +1 -0
  521. package/dist/vega/{p-a01f149d.entry.js → p-27ccf34d.entry.js} +1 -1
  522. package/dist/vega/{p-913eb7f9.entry.js → p-29f9be26.entry.js} +1 -1
  523. package/dist/vega/{p-27003a81.entry.js → p-30dcf606.entry.js} +1 -1
  524. package/dist/vega/{p-89ab72e3.js → p-3c20ae84.js} +1 -1
  525. package/dist/vega/p-4172fb81.js +1 -0
  526. package/dist/vega/{p-45f696b4.js → p-419697c6.js} +1 -1
  527. package/dist/vega/p-427e4cee.entry.js +1 -0
  528. package/dist/vega/p-4604ed0e.entry.js +1 -0
  529. package/dist/vega/{p-8d283666.js → p-4ab3df00.js} +1 -1
  530. package/dist/vega/{p-72ecfd40.js → p-4e8fb53a.js} +1 -1
  531. package/dist/vega/p-50a3ae3d.js +1 -0
  532. package/dist/vega/{p-b847a143.entry.js → p-50b80d76.entry.js} +1 -1
  533. package/dist/vega/p-531ffb18.entry.js +1 -0
  534. package/dist/vega/p-53daeb45.entry.js +1 -0
  535. package/dist/vega/p-54fdd401.entry.js +1 -0
  536. package/dist/vega/{p-47ff95ba.entry.js → p-5741ecf0.entry.js} +1 -1
  537. package/dist/vega/{p-6cabdb36.js → p-58f8928a.js} +1 -1
  538. package/dist/vega/{p-4a32a6c0.entry.js → p-5c4cb804.entry.js} +1 -1
  539. package/dist/vega/{p-a46bc9f1.entry.js → p-5ce386c8.entry.js} +1 -1
  540. package/dist/vega/p-5f377954.js +1 -1
  541. package/dist/vega/{p-0079088b.entry.js → p-5fd5a538.entry.js} +1 -1
  542. package/dist/vega/{p-0969877b.entry.js → p-64f452fe.entry.js} +1 -1
  543. package/dist/vega/p-66759f4e.js +1 -0
  544. package/dist/vega/{p-bc2dd43d.js → p-6ea42854.js} +1 -1
  545. package/dist/vega/p-70f25341.entry.js +1 -0
  546. package/dist/vega/{p-ec1f2d21.entry.js → p-737bccb9.entry.js} +1 -1
  547. package/dist/vega/{p-bcb10ae3.entry.js → p-7503fe08.entry.js} +1 -1
  548. package/dist/vega/{p-46714da3.entry.js → p-7b0a4688.entry.js} +1 -1
  549. package/dist/vega/p-7def7b74.entry.js +1 -0
  550. package/dist/vega/{p-48517a5d.entry.js → p-7f5a85c6.entry.js} +1 -1
  551. package/dist/vega/p-825ae7c4.js +1 -0
  552. package/dist/vega/p-831c4144.entry.js +1 -0
  553. package/dist/vega/p-85dc08b4.entry.js +1 -0
  554. package/dist/vega/{p-a821bcf3.js → p-86782109.js} +1 -1
  555. package/dist/vega/p-87459914.js +1 -0
  556. package/dist/vega/{p-1971d980.entry.js → p-87a1fc77.entry.js} +1 -1
  557. package/dist/vega/p-89565247.entry.js +1 -0
  558. package/dist/vega/{p-7088ead9.entry.js → p-89e915e9.entry.js} +1 -1
  559. package/dist/vega/{p-81fbfb6d.entry.js → p-8aa7e56e.entry.js} +1 -1
  560. package/dist/vega/p-94263ece.entry.js +1 -0
  561. package/dist/vega/{p-d0007822.entry.js → p-9524e48a.entry.js} +1 -1
  562. package/dist/vega/{p-147e3cbd.entry.js → p-991b4717.entry.js} +1 -1
  563. package/dist/vega/{p-647025dd.entry.js → p-99b9b320.entry.js} +1 -1
  564. package/dist/vega/{p-aea89be5.entry.js → p-9ba14b7c.entry.js} +1 -1
  565. package/dist/vega/p-9cb79f8d.entry.js +1 -0
  566. package/dist/vega/p-9e3f52f0.entry.js +1 -0
  567. package/dist/vega/{p-6586e2a2.entry.js → p-a0e122a6.entry.js} +1 -1
  568. package/dist/vega/{p-9803042f.entry.js → p-b0fe6c0f.entry.js} +1 -1
  569. package/dist/vega/{p-b2bca332.entry.js → p-b518e1a0.entry.js} +1 -1
  570. package/dist/vega/p-b538e81a.entry.js +1 -0
  571. package/dist/vega/p-b824baf7.entry.js +1 -0
  572. package/dist/vega/{p-2fadef27.entry.js → p-b959b4d4.entry.js} +1 -1
  573. package/dist/vega/{p-54f17c2e.entry.js → p-bb4f0fa1.entry.js} +1 -1
  574. package/dist/vega/{p-2da83c2a.js → p-bbb39d6f.js} +1 -1
  575. package/dist/vega/{p-cfda64fd.entry.js → p-bc8fd0ee.entry.js} +1 -1
  576. package/dist/vega/p-bcaf8375.entry.js +1 -0
  577. package/dist/vega/{p-02d7d948.entry.js → p-bec90ff3.entry.js} +1 -1
  578. package/dist/vega/p-c6b94dde.entry.js +1 -0
  579. package/dist/vega/{p-c754b32c.js → p-ce6b62c4.js} +1 -1
  580. package/dist/vega/{p-5e34ea25.entry.js → p-d00fbc11.entry.js} +1 -1
  581. package/dist/vega/{p-10a40dfb.entry.js → p-d2a2af2c.entry.js} +1 -1
  582. package/dist/vega/p-d64b20c2.js +1 -0
  583. package/dist/vega/p-da779940.entry.js +1 -0
  584. package/dist/vega/{p-a7dcb2a3.js → p-db910162.js} +1 -1
  585. package/dist/vega/{p-6f81fe1e.js → p-e1a2a701.js} +1 -1
  586. package/dist/vega/p-e3694aa5.entry.js +1 -0
  587. package/dist/vega/p-e7318c4c.entry.js +1 -0
  588. package/dist/vega/{p-a5c39ba2.entry.js → p-e8fc027e.entry.js} +1 -1
  589. package/dist/vega/{p-6a830bc5.entry.js → p-e92ecb78.entry.js} +1 -1
  590. package/dist/vega/p-e969c3f4.entry.js +1 -0
  591. package/dist/vega/{p-61eb7f32.entry.js → p-ec8b7f01.entry.js} +1 -1
  592. package/dist/vega/p-eed9bda2.entry.js +1 -0
  593. package/dist/vega/p-f4c54c98.entry.js +1 -0
  594. package/dist/vega/{p-5160a6b9.entry.js → p-f5fc80bc.entry.js} +1 -1
  595. package/dist/vega/p-f67be7ef.js +1 -0
  596. package/dist/vega/{p-5e3a15a1.js → p-f9fafc55.js} +1 -1
  597. package/dist/vega/{p-27e56c67.entry.js → p-fc21fb2d.entry.js} +1 -1
  598. package/dist/vega/p-fed9220b.entry.js +1 -0
  599. package/dist/vega/vega.esm.js +1 -1
  600. package/package.json +2 -1
  601. package/dist/cjs/string-21427167.js +0 -13
  602. package/dist/esm/string-be824360.js +0 -11
  603. package/dist/vega/p-06adb37e.entry.js +0 -1
  604. package/dist/vega/p-06c5fe97.entry.js +0 -1
  605. package/dist/vega/p-0bb29d98.js +0 -1
  606. package/dist/vega/p-0ed7a098.entry.js +0 -1
  607. package/dist/vega/p-0f6b3a89.entry.js +0 -1
  608. package/dist/vega/p-136f665b.entry.js +0 -1
  609. package/dist/vega/p-1503f791.js +0 -1
  610. package/dist/vega/p-16fd7c32.js +0 -1
  611. package/dist/vega/p-1a263af1.entry.js +0 -1
  612. package/dist/vega/p-1af4771a.entry.js +0 -1
  613. package/dist/vega/p-1c298d5a.js +0 -2
  614. package/dist/vega/p-1c63afd2.entry.js +0 -1
  615. package/dist/vega/p-1e05b7b4.entry.js +0 -1
  616. package/dist/vega/p-1ea863a6.entry.js +0 -1
  617. package/dist/vega/p-271b30b9.entry.js +0 -1
  618. package/dist/vega/p-2d1d4f33.entry.js +0 -1
  619. package/dist/vega/p-353b3ded.entry.js +0 -1
  620. package/dist/vega/p-44b0a005.js +0 -1
  621. package/dist/vega/p-4e76904e.entry.js +0 -1
  622. package/dist/vega/p-4ec0d36f.entry.js +0 -1
  623. package/dist/vega/p-5c954088.entry.js +0 -1
  624. package/dist/vega/p-646a9198.entry.js +0 -1
  625. package/dist/vega/p-6d7d923b.js +0 -1
  626. package/dist/vega/p-6e898779.js +0 -1
  627. package/dist/vega/p-77492977.entry.js +0 -1
  628. package/dist/vega/p-804f71b3.js +0 -1
  629. package/dist/vega/p-8789d34d.entry.js +0 -1
  630. package/dist/vega/p-8813c0ac.entry.js +0 -1
  631. package/dist/vega/p-8a85c7af.entry.js +0 -1
  632. package/dist/vega/p-8ba43640.entry.js +0 -1
  633. package/dist/vega/p-98c64d77.entry.js +0 -1
  634. package/dist/vega/p-9f3539a4.entry.js +0 -1
  635. package/dist/vega/p-b42aea55.entry.js +0 -1
  636. package/dist/vega/p-b5d70ee0.entry.js +0 -1
  637. package/dist/vega/p-bf1894ec.js +0 -1
  638. package/dist/vega/p-bfb344e1.entry.js +0 -1
  639. package/dist/vega/p-c9a4e79a.entry.js +0 -1
  640. package/dist/vega/p-dbc82247.js +0 -1
  641. package/dist/vega/p-e2e36d2b.entry.js +0 -1
  642. package/dist/vega/p-ef8272b5.entry.js +0 -1
  643. package/dist/vega/p-f4c1d961.js +0 -1
  644. package/dist/vega/p-f5279deb.entry.js +0 -1
  645. package/dist/vega/p-f8033cd3.entry.js +0 -1
  646. package/dist/vega/p-fe63bd50.entry.js +0 -1
@@ -4,12 +4,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  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;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { h, Host } from '@stencil/core';
7
+ import { Fragment, h, Host } from '@stencil/core';
8
8
  import { VegaSlimmer, MapToComponentField, MapToComponentMethod } from 'vega-slimmer/core';
9
9
  import { createEnterKeyHandlerToTriggerClick } from '../../../../utils/accessibility';
10
10
  import ChangeManager from '../../../../helpers/change-manager/change-manager';
11
11
  import domNodeSubjectFactory from '../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
12
12
  import { VegaInternalComponentDidRender } from '../../../../helpers/event-manager/event-id/vega-internal-event-id';
13
+ import CodeFormatter from '../../../../helpers/code-format/code-formatter';
13
14
  export class VegaRichTextEditorRenderer extends VegaSlimmer {
14
15
  constructor() {
15
16
  super(...arguments);
@@ -20,6 +21,7 @@ export class VegaRichTextEditorRenderer extends VegaSlimmer {
20
21
  return (h("div", { class: {
21
22
  'rich-text-editor-container': true,
22
23
  'disabled': this.disabled,
24
+ 'vega-hidden': this.sourceView,
23
25
  }, style: { minHeight: `${this.rows * 24}px` }, onClick: this.richTextContentFocus, role: "textbox", tabIndex: !this.disabled ? -1 : 0, onKeyDown: createEnterKeyHandlerToTriggerClick(), ref: (node) => (this.richTextContainerRef = node) },
24
26
  h("vega-rich-text-content", { ref: (ref) => (this.richTextContentRef = ref), content: this.value }),
25
27
  this.renderCharacterCounter()));
@@ -38,6 +40,16 @@ export class VegaRichTextEditorRenderer extends VegaSlimmer {
38
40
  this.richTextContentFocus = () => {
39
41
  void this.richTextContentRef.vegaFocus();
40
42
  };
43
+ this.renderSourceViewContent = () => {
44
+ if (this.toolbarItems && !this.toolbarItems.flat().includes('sourceEdit'))
45
+ return;
46
+ const sourceViewValue = this.value.toHtml();
47
+ return (h("div", { class: {
48
+ 'source-view-container': true,
49
+ 'vega-hidden': !this.sourceView,
50
+ } },
51
+ h("vega-code-block", { ref: (ref) => (this.sourceCodeBlockRef = ref), disabled: this.disabled, value: { language: 'html', code: CodeFormatter.format(sourceViewValue) } })));
52
+ };
41
53
  }
42
54
  /**
43
55
  * Component lifecycle - [componentDidRender]{@link VegaRichTextEditor.componentDidRender}
@@ -56,7 +68,7 @@ export class VegaRichTextEditorRenderer extends VegaSlimmer {
56
68
  /**
57
69
  * Returns the HTMLElement reference of the rich text content area.
58
70
  *
59
- * @returns {HTMLVegaRichTextContentElement} An HTMLVegaRichTextContentElement is being returned.
71
+ * @returns {Nullable<HTMLVegaRichTextContentElement>} An HTMLVegaRichTextContentElement is being returned.
60
72
  */
61
73
  getRichTextContentRef() {
62
74
  return this.richTextContentRef;
@@ -79,6 +91,11 @@ export class VegaRichTextEditorRenderer extends VegaSlimmer {
79
91
  return this.richTextContentRef.shadowRoot.querySelector('.rich-text-content');
80
92
  }
81
93
  }
94
+ getSourceCode() {
95
+ if (this.sourceCodeBlockRef) {
96
+ return this.sourceCodeBlockRef.value.code;
97
+ }
98
+ }
82
99
  render() {
83
100
  return h(Host, null, this.renderRichTextEditor());
84
101
  }
@@ -87,12 +104,17 @@ export class VegaRichTextEditorRenderer extends VegaSlimmer {
87
104
  this.renderLabel(),
88
105
  this.hint && this.renderHintMessage(),
89
106
  this.toolbarRenderer.render(),
90
- this.renderTextContent(),
107
+ this.renderContent(),
91
108
  this.renderErrorMessage()));
92
109
  }
93
110
  renderLabel() {
94
111
  return (this.label && (h("vega-field-label", { onClick: this.richTextContentFocus, isFieldRequired: this.required, disabled: this.disabled, label: this.label })));
95
112
  }
113
+ renderContent() {
114
+ return (h(Fragment, null,
115
+ this.renderTextContent(),
116
+ this.renderSourceViewContent()));
117
+ }
96
118
  }
97
119
  __decorate([
98
120
  MapToComponentField()
@@ -121,6 +143,12 @@ __decorate([
121
143
  __decorate([
122
144
  MapToComponentField()
123
145
  ], VegaRichTextEditorRenderer.prototype, "value", void 0);
146
+ __decorate([
147
+ MapToComponentField()
148
+ ], VegaRichTextEditorRenderer.prototype, "sourceView", void 0);
149
+ __decorate([
150
+ MapToComponentField()
151
+ ], VegaRichTextEditorRenderer.prototype, "toolbarItems", void 0);
124
152
  __decorate([
125
153
  MapToComponentMethod('componentDidRender')
126
154
  ], VegaRichTextEditorRenderer.prototype, "componentDidRender", null);
@@ -0,0 +1,21 @@
1
+ import { ActionHandleStrategyRegistry } from '../../../dto/action-handle-strategies/action-handle-strategy-registry';
2
+ import { CodeNodeSetSelectionRangeAnnotationStrategy } from '../../../dto/action-handle-strategies/apply-annotation-strategies/code-node-set-selection-range-strategy';
3
+ import { BlockRemoveNodeStrategy } from '../../../dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy';
4
+ import { CodeBlockRemoveSelfStrategy } from '../../../dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy';
5
+ import { SwitchOutFromCodeBlockStrategy } from '../../../dto/action-handle-strategies/modify-content-strategies/switch-out-from-code-block-strategy';
6
+ import { UpdateCodeBlockStrategy } from '../../../dto/action-handle-strategies/modify-content-strategies/update-code-block-strategy';
7
+ import { ModifyContentActionType } from '../../../dto/actions/modify-content-action.abstract';
8
+ import { SelectionChangeAction } from '../../../dto/actions/selection-change-action';
9
+ import { RTECodeBlock } from '../../../dto/blocks/code-block';
10
+ import { RTECodeBlockNode } from '../../../dto/nodes/code-block-node';
11
+ test('RTECodeBlock action strategy should register properly', () => {
12
+ expect(ActionHandleStrategyRegistry.get(ModifyContentActionType.DELETE_CODE_BLOCK, RTECodeBlock.name) instanceof CodeBlockRemoveSelfStrategy).toBeTruthy();
13
+ expect(ActionHandleStrategyRegistry.get(ModifyContentActionType.SWITCH_OUT_FROM_CODE_BLOCK, RTECodeBlock.name) instanceof SwitchOutFromCodeBlockStrategy).toBeTruthy();
14
+ expect(ActionHandleStrategyRegistry.get(ModifyContentActionType.DELETE_CHILD, RTECodeBlock.name) instanceof
15
+ BlockRemoveNodeStrategy).toBeTruthy();
16
+ });
17
+ test('RTECodeBlockNode action strategy should register properly', () => {
18
+ expect(ActionHandleStrategyRegistry.get(ModifyContentActionType.UPDATE_CODE_BLOCK, RTECodeBlockNode.name) instanceof UpdateCodeBlockStrategy).toBeTruthy();
19
+ expect(ActionHandleStrategyRegistry.get(SelectionChangeAction.name, RTECodeBlockNode.name) instanceof
20
+ CodeNodeSetSelectionRangeAnnotationStrategy).toBeTruthy();
21
+ });
@@ -3,6 +3,7 @@ import { BlockAppendBlocksStrategy } from '../../../dto/action-handle-strategies
3
3
  import { BlockInsertBlocksAfterStrategy } from '../../../dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-after-strategy';
4
4
  import { BlockInsertBlocksBeforeStrategy } from '../../../dto/action-handle-strategies/modify-content-strategies/block-insert-blocks-before-strategy';
5
5
  import { BlockRemoveChildBlockStrategy } from '../../../dto/action-handle-strategies/modify-content-strategies/block-remove-child-block-strategy';
6
+ import { BlockTransformToCodeBlockStrategy } from '../../../dto/action-handle-strategies/modify-content-strategies/block-transform-to-code-block-strategy';
6
7
  import { ModifyContentActionType } from '../../../dto/actions/modify-content-action.abstract';
7
8
  import { VegaRTEContent } from '../../../dto/content-state';
8
9
  test('VegaRTEContent action strategy should register properly', () => {
@@ -11,4 +12,5 @@ test('VegaRTEContent action strategy should register properly', () => {
11
12
  expect(ActionHandleStrategyRegistry.get(ModifyContentActionType.APPEND_CHILD_NODES, VegaRTEContent.name) instanceof BlockAppendBlocksStrategy).toBeTruthy();
12
13
  expect(ActionHandleStrategyRegistry.get(ModifyContentActionType.INSERT_BLOCKS_BEFORE, VegaRTEContent.name) instanceof BlockInsertBlocksBeforeStrategy).toBeTruthy();
13
14
  expect(ActionHandleStrategyRegistry.get(ModifyContentActionType.INSERT_BLOCKS_AFTER, VegaRTEContent.name) instanceof BlockInsertBlocksAfterStrategy).toBeTruthy();
15
+ expect(ActionHandleStrategyRegistry.get(ModifyContentActionType.TRANSFORM_TO_CODE_BLOCK, VegaRTEContent.name) instanceof BlockTransformToCodeBlockStrategy).toBeTruthy();
14
16
  });
@@ -1,4 +1,5 @@
1
1
  import { ActionHandleStrategyRegistry } from '../../../dto/action-handle-strategies/action-handle-strategy-registry';
2
+ import { BlockUpdateHorizontalAlignmentStrategy } from '../../../dto/action-handle-strategies/apply-annotation-strategies/block-update-horizontal-alignment-strategy';
2
3
  import { BlockAppendNodesStrategy } from '../../../dto/action-handle-strategies/modify-content-strategies/block-append-nodes-strategy';
3
4
  import { BlockDeleteImageStrategy } from '../../../dto/action-handle-strategies/modify-content-strategies/block-delete-image-strategy';
4
5
  import { BlockInsertNodesAfterNodeStrategy } from '../../../dto/action-handle-strategies/modify-content-strategies/block-insert-nodes-after-node-strategy';
@@ -11,6 +12,7 @@ import { ImageBlockInsertImageStrategy } from '../../../dto/action-handle-strate
11
12
  import { ImageInsertLineBreakStrategy } from '../../../dto/action-handle-strategies/modify-content-strategies/image-insert-line-break-strategy';
12
13
  import { ImageInsertLineBreakWithBlocksStrategy } from '../../../dto/action-handle-strategies/modify-content-strategies/image-insert-line-break-with-blocks-strategy';
13
14
  import { ImageInsertNewParagraphStrategy } from '../../../dto/action-handle-strategies/modify-content-strategies/image-insert-new-paragraph-strategy';
15
+ import { HorizontalAlignmentAnnotationAction } from '../../../dto/actions/horizontal-alignment-annotation-action';
14
16
  import { ModifyContentActionType } from '../../../dto/actions/modify-content-action.abstract';
15
17
  import { RTEImageBlock } from '../../../dto/blocks/image-block';
16
18
  test('RTEImageBlock should register action handle strategy properly', () => {
@@ -27,4 +29,5 @@ test('RTEImageBlock should register action handle strategy properly', () => {
27
29
  expect(ActionHandleStrategyRegistry.get(ModifyContentActionType.INSERT_IMAGE_TO_BLOCK, RTEImageBlock.name) instanceof ImageBlockInsertImageStrategy).toBeTruthy();
28
30
  expect(ActionHandleStrategyRegistry.get(ModifyContentActionType.INSERT_NODES_BEFORE, RTEImageBlock.name) instanceof BlockInsertNodesBeforeNodeStrategy).toBeTruthy();
29
31
  expect(ActionHandleStrategyRegistry.get(ModifyContentActionType.INSERT_NODES_AFTER, RTEImageBlock.name) instanceof BlockInsertNodesAfterNodeStrategy).toBeTruthy();
32
+ expect(ActionHandleStrategyRegistry.get(HorizontalAlignmentAnnotationAction.name, RTEImageBlock.name) instanceof BlockUpdateHorizontalAlignmentStrategy).toBeTruthy();
30
33
  });
@@ -18,13 +18,22 @@ import { BlockUpdateTextStyleStrategy } from '../../../dto/action-handle-strateg
18
18
  import { LinkGroupAnnotationAction } from '../../../dto/actions/link-group-annotation-action';
19
19
  import { TextStyleAnnotationAction } from '../../../dto/actions/text-style-annotation-action';
20
20
  import { InternalAnnotationTypeEnum } from '../../../dto/annotations/annotation.abstract';
21
+ import { HorizontalAlignmentAnnotationAction } from '../../../dto/actions/horizontal-alignment-annotation-action';
22
+ import { BlockUpdateHorizontalAlignmentStrategy } from '../../../dto/action-handle-strategies/apply-annotation-strategies/block-update-horizontal-alignment-strategy';
23
+ import { IndentAnnotationAction } from '../../../dto/actions/indent-annotation-action';
24
+ import { BlockUpdateIndentStrategy } from '../../../dto/action-handle-strategies/apply-annotation-strategies/block-update-indent-strategy';
25
+ import { CustomStyleAnnotationAction } from '../../../dto/actions/custom-style-annotation-action';
26
+ import { CommonAnnotationTypeEnum } from '../../../dto/annotations/common-annotation.abstract';
21
27
  test('RTETextBlock annotation strategy should register properly', () => {
22
28
  expect(ActionHandleStrategyRegistry.get(TextStyleAnnotationAction.name, RTETextBlock.name) instanceof
23
29
  BlockUpdateTextStyleStrategy).toBeTruthy();
24
30
  expect(ActionHandleStrategyRegistry.get(LinkGroupAnnotationAction.name, RTETextBlock.name) instanceof
25
31
  BlockUpdateLinkGroupStrategy).toBeTruthy();
32
+ expect(ActionHandleStrategyRegistry.get(HorizontalAlignmentAnnotationAction.name, RTETextBlock.name) instanceof BlockUpdateHorizontalAlignmentStrategy).toBeTruthy();
33
+ expect(ActionHandleStrategyRegistry.get(IndentAnnotationAction.name, RTETextBlock.name) instanceof
34
+ BlockUpdateIndentStrategy).toBeTruthy();
26
35
  });
27
- test('RTETextBlock apply annotation action should work properly', () => {
36
+ test.only('RTETextBlock apply annotation action should work properly', () => {
28
37
  const textBlock = RTETextBlock.from({
29
38
  id: '1',
30
39
  type: 'subtitle',
@@ -37,6 +46,19 @@ test('RTETextBlock apply annotation action should work properly', () => {
37
46
  expect(textBlock.annotationMap.has(InternalAnnotationTypeEnum.LINK_GROUP)).toBeFalsy();
38
47
  textBlock.apply(new LinkGroupAnnotationAction('1', textBlock.nodes));
39
48
  expect(textBlock.annotationMap.has(InternalAnnotationTypeEnum.LINK_GROUP)).toBeTruthy();
49
+ expect(textBlock.annotationMap.has(CommonAnnotationTypeEnum.CUSTOM_STYLE)).toBeFalsy();
50
+ textBlock.apply(new CustomStyleAnnotationAction({ textAlign: 'center', marginLeft: '20px' }));
51
+ expect(textBlock.annotationMap.has(CommonAnnotationTypeEnum.CUSTOM_STYLE)).toBeTruthy();
52
+ textBlock.apply(new HorizontalAlignmentAnnotationAction('left'));
53
+ expect(textBlock.annotationMap.get(CommonAnnotationTypeEnum.CUSTOM_STYLE).toJSON()).toEqual({
54
+ customStyle: {
55
+ marginLeft: '20px',
56
+ },
57
+ });
58
+ textBlock.apply(new IndentAnnotationAction(1));
59
+ expect(textBlock.annotationMap.get(CommonAnnotationTypeEnum.CUSTOM_STYLE).toJSON()).toEqual({
60
+ customStyle: {},
61
+ });
40
62
  });
41
63
  test('RTETextBlock should register action handle strategy properly', () => {
42
64
  expect(ActionHandleStrategyRegistry.get(ModifyContentActionType.DELETE_CHILD, RTETextBlock.name) instanceof
@@ -11,93 +11,223 @@ import { CodeAnnotation } from '../../dto/annotations/code-annotation';
11
11
  import { TextColorAnnotation } from '../../dto/annotations/text-color-annotation';
12
12
  import { IndentAnnotation } from '../../dto/annotations/indent-annotation';
13
13
  import { LinkAnnotation } from '../../dto/annotations/link-annotation';
14
+ import { LinkGroupAnnotation } from '../../dto/annotations/link-group-annotation';
15
+ import { ListAnnotation } from '../../dto/annotations/list-annotation';
16
+ import { CustomAttributeAnnotation } from '../../dto/annotations/custom-attribute-annotation';
17
+ import { CustomClassAnnotation } from '../../dto/annotations/custom-class-annotation';
18
+ import { CustomStyleAnnotation } from '../../dto/annotations/custom-style-annotation';
14
19
  describe('annotations', () => {
15
20
  it('bold annotation', () => {
16
- expect(new BoldAnnotation(true).render()).toEqual({
17
- 'font-weight': '700',
21
+ expect(new BoldAnnotation(true).renderStyle({ standalone: true })).toEqual({
22
+ fontWeight: '700',
18
23
  });
19
- expect(new BoldAnnotation(false).render()).toEqual(null);
24
+ expect(new BoldAnnotation(false).renderStyle({ standalone: true })).toEqual(null);
25
+ expect(new BoldAnnotation(true).renderStyle()).toEqual(null);
26
+ expect(new BoldAnnotation(false).renderStyle()).toEqual(null);
27
+ expect(new BoldAnnotation(true).renderClass({ standalone: true })).toEqual(null);
28
+ expect(new BoldAnnotation(false).renderClass({ standalone: true })).toEqual(null);
29
+ expect(new BoldAnnotation(true).renderClass()).toEqual('v-rte--bold');
30
+ expect(new BoldAnnotation(false).renderClass()).toEqual(null);
20
31
  });
21
32
  it('italic annotation', () => {
22
- expect(new ItalicAnnotation(true).render()).toEqual({
23
- 'font-style': 'italic',
33
+ expect(new ItalicAnnotation(true).renderStyle({ standalone: true })).toEqual({
34
+ fontStyle: 'italic',
24
35
  });
25
- expect(new ItalicAnnotation(false).render()).toEqual(null);
36
+ expect(new ItalicAnnotation(false).renderStyle({ standalone: true })).toEqual(null);
37
+ expect(new ItalicAnnotation(true).renderStyle()).toEqual(null);
38
+ expect(new ItalicAnnotation(false).renderStyle()).toEqual(null);
39
+ expect(new ItalicAnnotation(true).renderClass({ standalone: true })).toEqual(null);
40
+ expect(new ItalicAnnotation(false).renderClass({ standalone: true })).toEqual(null);
41
+ expect(new ItalicAnnotation(true).renderClass()).toEqual('v-rte--italic');
42
+ expect(new ItalicAnnotation(false).renderClass()).toEqual(null);
26
43
  });
27
44
  it('text style annotation', () => {
28
- expect(new TextStyleAnnotation('paragraph').render()).toEqual({
45
+ expect(new TextStyleAnnotation('paragraph').renderStyle({ standalone: true })).toEqual({
29
46
  fontFamily: 'Inter',
30
47
  fontSize: '16px',
31
48
  fontWeight: '500',
32
49
  lineHeight: '22px',
50
+ marginBottom: '0px',
51
+ marginTop: '0px',
33
52
  });
34
- expect(new TextStyleAnnotation('title').render()).toEqual({
53
+ expect(new TextStyleAnnotation('title').renderStyle({ standalone: true })).toEqual({
35
54
  fontFamily: 'Inter',
36
55
  fontSize: '36px',
37
56
  fontWeight: '500',
38
57
  lineHeight: '40px',
39
58
  });
40
- expect(new TextStyleAnnotation('subtitle').render()).toEqual({
59
+ expect(new TextStyleAnnotation('subtitle').renderStyle({ standalone: true })).toEqual({
41
60
  fontFamily: 'Inter',
42
61
  fontSize: '28px',
43
62
  fontWeight: '500',
44
63
  lineHeight: '32px',
45
64
  });
46
- expect(new TextStyleAnnotation('heading-1').render()).toEqual({
65
+ expect(new TextStyleAnnotation('heading-1').renderStyle({ standalone: true })).toEqual({
47
66
  fontFamily: 'Inter',
48
67
  fontSize: '22px',
49
68
  fontWeight: '500',
50
69
  lineHeight: '24px',
70
+ marginBottom: '0px',
71
+ marginTop: '0px',
51
72
  });
52
- expect(new TextStyleAnnotation('heading-2').render()).toEqual({
73
+ expect(new TextStyleAnnotation('heading-2').renderStyle({ standalone: true })).toEqual({
53
74
  fontFamily: 'Inter',
54
75
  fontSize: '20px',
55
76
  fontWeight: '500',
56
77
  lineHeight: '24px',
78
+ marginBottom: '0px',
79
+ marginTop: '0px',
57
80
  });
58
- expect(new TextStyleAnnotation('heading-3').render()).toEqual({
81
+ expect(new TextStyleAnnotation('heading-3').renderStyle({ standalone: true })).toEqual({
59
82
  fontFamily: 'Inter',
60
83
  fontSize: '18px',
61
84
  fontWeight: '500',
62
85
  lineHeight: '22px',
86
+ marginBottom: '0px',
87
+ marginTop: '0px',
63
88
  });
89
+ expect(new TextStyleAnnotation('heading-4').renderStyle({ standalone: true })).toEqual({
90
+ fontFamily: 'Inter',
91
+ fontSize: '16px',
92
+ fontWeight: '500',
93
+ lineHeight: '22px',
94
+ marginBottom: '0px',
95
+ marginTop: '0px',
96
+ });
97
+ expect(new TextStyleAnnotation('heading-5').renderStyle({ standalone: true })).toEqual({
98
+ fontFamily: 'Inter',
99
+ fontSize: '14px',
100
+ fontWeight: '500',
101
+ lineHeight: '22px',
102
+ marginBottom: '0px',
103
+ marginTop: '0px',
104
+ });
105
+ expect(new TextStyleAnnotation('heading-6').renderStyle({ standalone: true })).toEqual({
106
+ fontFamily: 'Inter',
107
+ fontSize: '12px',
108
+ fontWeight: '500',
109
+ lineHeight: '22px',
110
+ marginBottom: '0px',
111
+ marginTop: '0px',
112
+ });
113
+ expect(new TextStyleAnnotation('paragraph').renderStyle()).toEqual(null);
114
+ expect(new TextStyleAnnotation('title').renderStyle()).toEqual(null);
115
+ expect(new TextStyleAnnotation('subtitle').renderStyle()).toEqual(null);
116
+ expect(new TextStyleAnnotation('heading-1').renderStyle()).toEqual(null);
117
+ expect(new TextStyleAnnotation('heading-2').renderStyle()).toEqual(null);
118
+ expect(new TextStyleAnnotation('heading-3').renderStyle()).toEqual(null);
119
+ expect(new TextStyleAnnotation('heading-4').renderStyle()).toEqual(null);
120
+ expect(new TextStyleAnnotation('heading-5').renderStyle()).toEqual(null);
121
+ expect(new TextStyleAnnotation('heading-6').renderStyle()).toEqual(null);
122
+ expect(new TextStyleAnnotation('paragraph').renderClass({ standalone: true })).toEqual(null);
123
+ expect(new TextStyleAnnotation('title').renderClass({ standalone: true })).toEqual(null);
124
+ expect(new TextStyleAnnotation('subtitle').renderClass({ standalone: true })).toEqual(null);
125
+ expect(new TextStyleAnnotation('heading-1').renderClass({ standalone: true })).toEqual(null);
126
+ expect(new TextStyleAnnotation('heading-2').renderClass({ standalone: true })).toEqual(null);
127
+ expect(new TextStyleAnnotation('heading-3').renderClass({ standalone: true })).toEqual(null);
128
+ expect(new TextStyleAnnotation('heading-4').renderClass({ standalone: true })).toEqual(null);
129
+ expect(new TextStyleAnnotation('heading-5').renderClass({ standalone: true })).toEqual(null);
130
+ expect(new TextStyleAnnotation('heading-6').renderClass({ standalone: true })).toEqual(null);
131
+ expect(new TextStyleAnnotation('paragraph').renderClass()).toEqual('v-rte--text-style-paragraph');
132
+ expect(new TextStyleAnnotation('title').renderClass()).toEqual('v-rte--text-style-title');
133
+ expect(new TextStyleAnnotation('subtitle').renderClass()).toEqual('v-rte--text-style-subtitle');
134
+ expect(new TextStyleAnnotation('heading-1').renderClass()).toEqual('v-rte--text-style-heading-1');
135
+ expect(new TextStyleAnnotation('heading-2').renderClass()).toEqual('v-rte--text-style-heading-2');
136
+ expect(new TextStyleAnnotation('heading-3').renderClass()).toEqual('v-rte--text-style-heading-3');
137
+ expect(new TextStyleAnnotation('heading-4').renderClass()).toEqual('v-rte--text-style-heading-4');
138
+ expect(new TextStyleAnnotation('heading-5').renderClass()).toEqual('v-rte--text-style-heading-5');
139
+ expect(new TextStyleAnnotation('heading-6').renderClass()).toEqual('v-rte--text-style-heading-6');
64
140
  });
65
141
  it('selection range annotation', () => {
66
142
  expect(new SelectionRangeAnnotation({})).toBeDefined();
67
143
  });
68
144
  it('image annotation', () => {
69
- expect(new ImageAnnotation('sm', 'mock-alt').render()).toEqual({ width: '25%' });
70
- expect(new ImageAnnotation('md', 'mock-alt').render()).toEqual({ width: '50%' });
71
- expect(new ImageAnnotation('lg', 'mock-alt').render()).toEqual({ width: '100%' });
145
+ expect(new ImageAnnotation('sm', 'mock-alt').renderStyle({ standalone: true })).toEqual({
146
+ verticalAlign: 'bottom',
147
+ width: '25%',
148
+ });
149
+ expect(new ImageAnnotation('md', 'mock-alt').renderStyle({ standalone: true })).toEqual({
150
+ verticalAlign: 'bottom',
151
+ width: '50%',
152
+ });
153
+ expect(new ImageAnnotation('lg', 'mock-alt').renderStyle({ standalone: true })).toEqual({
154
+ verticalAlign: 'bottom',
155
+ width: '100%',
156
+ });
157
+ expect(new ImageAnnotation('sm', 'mock-alt').renderStyle()).toEqual(null);
158
+ expect(new ImageAnnotation('md', 'mock-alt').renderStyle()).toEqual(null);
159
+ expect(new ImageAnnotation('lg', 'mock-alt').renderStyle()).toEqual(null);
160
+ expect(new ImageAnnotation('sm', 'mock-alt').renderClass({ standalone: true })).toEqual(null);
161
+ expect(new ImageAnnotation('md', 'mock-alt').renderClass({ standalone: true })).toEqual(null);
162
+ expect(new ImageAnnotation('lg', 'mock-alt').renderClass({ standalone: true })).toEqual(null);
163
+ expect(new ImageAnnotation('sm', 'mock-alt').renderClass()).toEqual('v-rte--image-size-sm');
164
+ expect(new ImageAnnotation('md', 'mock-alt').renderClass()).toEqual('v-rte--image-size-md');
165
+ expect(new ImageAnnotation('lg', 'mock-alt').renderClass()).toEqual('v-rte--image-size-lg');
72
166
  expect(new ImageAnnotation('md', 'mock-alt').toJSON()).toEqual({ size: 'md', alt: 'mock-alt' });
73
167
  expect(new ImageAnnotation(null, null).toJSON()).toEqual({ size: null });
74
168
  expect(new ImageAnnotation(undefined, 'test').toJSON()).toEqual({ size: 'md', alt: 'test' });
75
169
  });
76
170
  it('underline annotation ', () => {
77
- expect(new UnderlineAnnotation(true).render()).toEqual(null);
171
+ expect(new UnderlineAnnotation(true).renderStyle()).toEqual(null);
172
+ expect(new UnderlineAnnotation(false).renderStyle()).toEqual(null);
78
173
  expect(new UnderlineAnnotation(true).renderClass()).toEqual('v-rte--underline');
79
174
  expect(new UnderlineAnnotation(false).renderClass()).toEqual(null);
175
+ expect(new UnderlineAnnotation(true).renderStyle({ standalone: true })).toEqual({
176
+ textDecoration: 'underline',
177
+ });
178
+ expect(new UnderlineAnnotation(true).renderClass({ standalone: true })).toEqual(null);
179
+ expect(new UnderlineAnnotation(false).renderStyle({ standalone: true })).toEqual(null);
180
+ expect(new UnderlineAnnotation(false).renderClass({ standalone: true })).toEqual(null);
80
181
  });
81
182
  it('strikethrough annotation ', () => {
82
- expect(new StrikethroughAnnotation(true).render()).toEqual(null);
183
+ expect(new StrikethroughAnnotation(true).renderStyle()).toEqual(null);
184
+ expect(new StrikethroughAnnotation(false).renderStyle()).toEqual(null);
83
185
  expect(new StrikethroughAnnotation(true).renderClass()).toEqual('v-rte--strikethrough');
84
186
  expect(new StrikethroughAnnotation(false).renderClass()).toEqual(null);
187
+ expect(new StrikethroughAnnotation(true).renderStyle({ standalone: true })).toEqual({
188
+ textDecoration: 'line-through',
189
+ });
190
+ expect(new StrikethroughAnnotation(false).renderStyle({ standalone: true })).toEqual(null);
191
+ expect(new StrikethroughAnnotation(true).renderClass({ standalone: true })).toEqual(null);
192
+ expect(new StrikethroughAnnotation(false).renderClass({ standalone: true })).toEqual(null);
85
193
  });
86
194
  it('text color annotation ', () => {
87
195
  expect(new TextColorAnnotation('black').renderClass()).toEqual(null);
88
- expect(new TextColorAnnotation('black').render()).toEqual({
196
+ expect(new TextColorAnnotation('black').renderStyle()).toEqual({
89
197
  color: '#111128',
90
198
  });
91
199
  expect(new TextColorAnnotation('black').renderClass()).toEqual(null);
92
200
  expect(new TextColorAnnotation('green').renderClass()).toEqual(null);
93
- expect(new TextColorAnnotation('green').render()).toEqual({
201
+ expect(new TextColorAnnotation('green').renderStyle()).toEqual({
94
202
  color: '#01801F',
95
203
  });
96
204
  expect(new TextColorAnnotation('green').renderClass()).toEqual(null);
97
205
  });
98
206
  it('horizontal alignment annotation', () => {
99
- expect(new HorizontalAlignmentAnnotation('left').render()).toEqual(null);
207
+ expect(new HorizontalAlignmentAnnotation('left').renderStyle({ standalone: true })).toEqual({
208
+ textAlign: 'left',
209
+ });
210
+ expect(new HorizontalAlignmentAnnotation('left').renderStyle()).toEqual(null);
211
+ expect(new HorizontalAlignmentAnnotation('left').renderClass({ standalone: true })).toEqual(null);
100
212
  expect(new HorizontalAlignmentAnnotation('left').renderClass()).toEqual('v-rte--horizontal-alignment-left');
213
+ expect(new HorizontalAlignmentAnnotation('right').renderStyle({ standalone: true })).toEqual({
214
+ textAlign: 'right',
215
+ });
216
+ expect(new HorizontalAlignmentAnnotation('right').renderStyle()).toEqual(null);
217
+ expect(new HorizontalAlignmentAnnotation('right').renderClass({ standalone: true })).toEqual(null);
218
+ expect(new HorizontalAlignmentAnnotation('right').renderClass()).toEqual('v-rte--horizontal-alignment-right');
219
+ expect(new HorizontalAlignmentAnnotation('center').renderStyle({ standalone: true })).toEqual({
220
+ textAlign: 'center',
221
+ });
222
+ expect(new HorizontalAlignmentAnnotation('center').renderStyle()).toEqual(null);
223
+ expect(new HorizontalAlignmentAnnotation('center').renderClass({ standalone: true })).toEqual(null);
224
+ expect(new HorizontalAlignmentAnnotation('center').renderClass()).toEqual('v-rte--horizontal-alignment-center');
225
+ expect(new HorizontalAlignmentAnnotation('justify').renderStyle({ standalone: true })).toEqual({
226
+ textAlign: 'justify',
227
+ });
228
+ expect(new HorizontalAlignmentAnnotation('justify').renderStyle()).toEqual(null);
229
+ expect(new HorizontalAlignmentAnnotation('justify').renderClass({ standalone: true })).toEqual(null);
230
+ expect(new HorizontalAlignmentAnnotation('justify').renderClass()).toEqual('v-rte--horizontal-alignment-justify');
101
231
  });
102
232
  it('clear formatting annotation', () => {
103
233
  expect(new ClearFormattingAnnotation().items).toEqual([
@@ -107,22 +237,31 @@ describe('annotations', () => {
107
237
  'STRIKETHROUGH',
108
238
  'TEXT_COLOR',
109
239
  'CODE',
240
+ 'CUSTOM_STYLE',
110
241
  ]);
111
242
  });
112
243
  it('code annotation', () => {
113
- expect(new CodeAnnotation(true).render()).toEqual(null);
244
+ expect(new CodeAnnotation(true).renderStyle({ standalone: true })).toEqual({
245
+ fontFamily: 'Roboto Mono',
246
+ whiteSpace: 'pre-wrap',
247
+ });
248
+ expect(new CodeAnnotation(false).renderStyle({ standalone: true })).toEqual(null);
249
+ expect(new CodeAnnotation(true).renderClass({ standalone: true })).toEqual(null);
250
+ expect(new CodeAnnotation(false).renderClass({ standalone: true })).toEqual(null);
251
+ expect(new CodeAnnotation(true).renderStyle()).toEqual(null);
252
+ expect(new CodeAnnotation(false).renderStyle()).toEqual(null);
114
253
  expect(new CodeAnnotation(true).renderClass()).toEqual('v-rte--code');
115
254
  expect(new CodeAnnotation(false).renderClass()).toEqual(null);
116
255
  });
117
256
  it('indent annotation', () => {
118
- expect(new IndentAnnotation(0).render()).toEqual(null);
119
- expect(new IndentAnnotation(1).render()).toEqual({ 'margin-left': `16px` });
120
- expect(new IndentAnnotation(2).render()).toEqual({ 'margin-left': `32px` });
121
- expect(new IndentAnnotation(-20).render()).toEqual(null);
122
- expect(new IndentAnnotation(20).render()).toEqual({ 'margin-left': `320px` });
257
+ expect(new IndentAnnotation(0).renderStyle()).toEqual(null);
258
+ expect(new IndentAnnotation(1).renderStyle()).toEqual({ marginLeft: `16px` });
259
+ expect(new IndentAnnotation(2).renderStyle()).toEqual({ marginLeft: `32px` });
260
+ expect(new IndentAnnotation(-20).renderStyle()).toEqual(null);
261
+ expect(new IndentAnnotation(20).renderStyle()).toEqual({ marginLeft: `320px` });
123
262
  });
124
263
  it('link annotation', () => {
125
- expect(new LinkAnnotation({ href: 'www.google.com', groupKey: '123' }).render()).toEqual(null);
264
+ expect(new LinkAnnotation({ href: 'www.google.com', groupKey: '123' }).renderStyle()).toEqual(null);
126
265
  expect(new LinkAnnotation({ href: 'www.google.com', groupKey: '123' }).toJSON()).toEqual({
127
266
  link: { href: 'www.google.com', groupKey: '123' },
128
267
  });
@@ -131,4 +270,85 @@ describe('annotations', () => {
131
270
  });
132
271
  expect(new LinkAnnotation({ href: 'www.google.com', groupKey: '123' }).toEqual(new LinkAnnotation({ href: 'www.google.com', groupKey: '123' }))).toEqual(true);
133
272
  });
273
+ it('link group annotation', () => {
274
+ const linkGroupAnnotation = new LinkGroupAnnotation('123');
275
+ const linkAnnotation = new LinkAnnotation({
276
+ href: 'www.google.com',
277
+ groupKey: '123',
278
+ customAttribute: { id: 'a', dataLink: 'link' },
279
+ customClass: ['classA', 'classB'],
280
+ customStyle: { color: 'red', fontSize: '18px', display: 'block' },
281
+ });
282
+ expect(linkGroupAnnotation.toString(linkAnnotation)).toEqual('id="a" data-link="link" href="www.google.com" target="_blank" class="classA classB v-rte--link" style="color: red; font-size: 18px; display: block;"');
283
+ expect(linkGroupAnnotation.toString(linkAnnotation, { standalone: true })).toEqual('id="a" data-link="link" href="www.google.com" target="_blank" class="classA classB" style="color: rgba(var(--v-text-link, 19, 98, 226, 1)); font-size: 18px; display: block;"');
284
+ const emptyLinkAnnotation = new LinkAnnotation({
285
+ href: 'www.google.com',
286
+ groupKey: '123',
287
+ });
288
+ expect(linkGroupAnnotation.toString(emptyLinkAnnotation)).toEqual('href="www.google.com" target="_blank" class="v-rte--link"');
289
+ expect(linkGroupAnnotation.toString(emptyLinkAnnotation, { standalone: true })).toEqual('href="www.google.com" target="_blank" style="color: rgba(var(--v-text-link, 19, 98, 226, 1));"');
290
+ });
291
+ it('list annotation', () => {
292
+ expect(new ListAnnotation().renderStyle()).toEqual(null);
293
+ expect(new ListAnnotation().renderClass()).toEqual('v-rte--list');
294
+ expect(new ListAnnotation().renderStyle({ standalone: true })).toEqual({
295
+ marginLeft: '16px',
296
+ paddingLeft: '8px',
297
+ });
298
+ expect(new ListAnnotation().renderClass({ standalone: true })).toEqual(null);
299
+ expect(new ListAnnotation().toJSON()).toEqual(undefined);
300
+ const listAnnotation = new ListAnnotation();
301
+ expect(listAnnotation.clone()).toEqual(listAnnotation);
302
+ expect(listAnnotation.clone()).not.toBe(listAnnotation);
303
+ });
304
+ it('customize attributes annotation', () => {
305
+ const customizeAttributes = {
306
+ id: 'element-id',
307
+ dir: 'element-dir',
308
+ };
309
+ expect(new CustomAttributeAnnotation(customizeAttributes).toString()).toEqual([
310
+ 'id="element-id"',
311
+ 'dir="element-dir"',
312
+ ]);
313
+ expect(new CustomAttributeAnnotation(customizeAttributes).toJSON()).toEqual({
314
+ customAttribute: {
315
+ id: 'element-id',
316
+ dir: 'element-dir',
317
+ },
318
+ });
319
+ expect(new CustomAttributeAnnotation(customizeAttributes).render()).toEqual({
320
+ id: 'element-id',
321
+ dir: 'element-dir',
322
+ });
323
+ });
324
+ it('custom class annotation', () => {
325
+ expect(new CustomClassAnnotation(['test-class']).toString()).toEqual('class="test-class"');
326
+ expect(new CustomClassAnnotation(['test-class']).toJSON()).toEqual({
327
+ customClass: ['test-class'],
328
+ });
329
+ expect(new CustomClassAnnotation(['test-class']).renderClass()).toEqual(['test-class']);
330
+ const customClassAnnotation = new CustomClassAnnotation(['test-class']);
331
+ expect(customClassAnnotation.clone()).not.toBe(customClassAnnotation);
332
+ });
333
+ it('customize style annotation', () => {
334
+ const customStyle = {
335
+ textAlign: 'center',
336
+ fontWeight: '700',
337
+ };
338
+ expect(new CustomStyleAnnotation(customStyle).toJSON()).toEqual({
339
+ customStyle: {
340
+ textAlign: 'center',
341
+ fontWeight: '700',
342
+ },
343
+ });
344
+ expect(new CustomStyleAnnotation(customStyle).renderStyle()).toEqual({
345
+ textAlign: 'center',
346
+ fontWeight: '700',
347
+ });
348
+ expect(new CustomStyleAnnotation(customStyle).removeStyles(['fontWeight'])).toEqual({
349
+ textAlign: 'center',
350
+ });
351
+ const customStyleAnnotation = new CustomStyleAnnotation(customStyle);
352
+ expect(new CustomStyleAnnotation(customStyle).clone()).not.toBe(customStyleAnnotation);
353
+ });
134
354
  });
@@ -0,0 +1,54 @@
1
+ import { RTECodeBlock } from '../../../dto/blocks/code-block';
2
+ describe('RTECodeBlock', () => {
3
+ it('initial', () => {
4
+ const codeBlock = RTECodeBlock.from({
5
+ id: '1',
6
+ type: 'code-block',
7
+ language: 'js',
8
+ content: 'const',
9
+ });
10
+ expect(codeBlock.id).toEqual('1');
11
+ expect(codeBlock.type).toEqual('code-block');
12
+ expect(codeBlock.getLastNode()['language']).toEqual('js');
13
+ expect(codeBlock.getLastNode()['text']).toEqual('const');
14
+ });
15
+ it('toJSON', () => {
16
+ const codeBlock = RTECodeBlock.from({
17
+ id: '1',
18
+ type: 'code-block',
19
+ language: 'js',
20
+ content: 'const',
21
+ });
22
+ expect(codeBlock.nodes[0].toJSON()).toEqual({
23
+ id: '1-1',
24
+ type: 'text',
25
+ language: 'js',
26
+ text: 'const',
27
+ });
28
+ expect(codeBlock.toJSON()).toEqual({ id: '1', type: 'code-block', language: 'js', content: 'const' });
29
+ });
30
+ it('isNotEmpty', () => {
31
+ const codeBlock = RTECodeBlock.from({
32
+ id: '1',
33
+ type: 'code-block',
34
+ language: 'js',
35
+ content: 'const',
36
+ });
37
+ expect(codeBlock.isNotEmpty()).toBeTruthy();
38
+ });
39
+ it('clone', () => {
40
+ const codeBlock = RTECodeBlock.from({
41
+ id: '1',
42
+ type: 'code-block',
43
+ language: 'js',
44
+ content: 'const',
45
+ });
46
+ const cloneBlock = codeBlock.clone();
47
+ const cloneNode = codeBlock.nodes[0].clone();
48
+ expect(cloneBlock.id).toEqual(codeBlock.id);
49
+ expect(cloneBlock.type).toEqual(codeBlock.type);
50
+ expect(cloneNode.type).toEqual(codeBlock.nodes[0].type);
51
+ expect(cloneNode.text).toEqual(codeBlock.nodes[0].text);
52
+ expect(cloneNode.language).toEqual(codeBlock.nodes[0].language);
53
+ });
54
+ });