@heartlandone/vega 2.49.0 → 2.50.0-RTE-preview

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (672) hide show
  1. package/dist/cjs/{app-globals-e17dedba.js → app-globals-8e811cac.js} +7 -7
  2. package/dist/cjs/{array-3aa164ce.js → array-249289f2.js} +18 -15
  3. package/dist/cjs/{child-nodes-event-prevent-slimmer-37870b2e.js → child-nodes-event-prevent-slimmer-26ecfb15.js} +2 -2
  4. package/dist/cjs/{content-state-6a48bcb5.js → code-block-4cd8bccd.js} +1166 -1131
  5. package/dist/cjs/content-state-6cb98931.js +2496 -0
  6. package/dist/cjs/{design-token-6e2c52f1.js → design-token-8b48cb59.js} +1 -1
  7. package/dist/cjs/{element-appender-slimmer-9fb99abd.js → element-appender-slimmer-d6b975e6.js} +3 -3
  8. package/dist/cjs/{event-emit-slimmer-8247249c.js → event-emit-slimmer-ee7a8c06.js} +1 -1
  9. package/dist/cjs/{feature-flag-controller-075fa683.js → feature-flag-controller-5e58aae4.js} +6 -0
  10. package/dist/cjs/{form-field-controller-slimmer-527c25a0.js → form-field-controller-slimmer-88cbb139.js} +9 -7
  11. package/dist/cjs/{image-annotation-action-9c2b9c8e.js → image-annotation-action-f36b1a72.js} +65 -35
  12. package/dist/cjs/{index-c4dec3aa.js → index-4dd54e6b.js} +1 -1
  13. package/dist/cjs/{index-09acd3c9.js → index-7700600c.js} +9 -0
  14. package/dist/cjs/index.cjs.js +19 -18
  15. package/dist/cjs/{internal-vega-event-manager-c9948b59.js → internal-vega-event-manager-58afcde7.js} +1 -0
  16. package/dist/cjs/{legend-input-processor-b071654c.js → legend-input-processor-8bcce3bf.js} +1 -1
  17. package/dist/cjs/loader.cjs.js +12 -10
  18. package/dist/cjs/{mutation-observer-filters-1f8c32a3.js → mutation-observer-filters-38cebc6d.js} +1 -1
  19. package/dist/cjs/{public-rules-10ec636d.js → public-rules-555271e0.js} +8 -6
  20. package/dist/cjs/{responsive-format-facade-9be0a851.js → responsive-format-facade-8ce41c8a.js} +5 -5
  21. package/dist/cjs/{rich-text-editor-required-rule-5faded94.js → rich-text-editor-required-rule-d1b38bf7.js} +1 -1
  22. package/dist/cjs/selection-controller-828990cc.js +765 -0
  23. package/dist/cjs/string-39438062.js +24 -0
  24. package/dist/cjs/{string-input-formatter-slimmer-50322824.js → string-input-formatter-slimmer-9e7d7ce2.js} +2 -2
  25. package/dist/cjs/{style-formatter-5b95a2a6.js → style-formatter-2294d77f.js} +1 -1
  26. package/dist/cjs/{sub-state-notify-slimmer-7f437b19.js → sub-state-notify-slimmer-f3ee01b7.js} +1 -1
  27. package/dist/cjs/{sub-state-observer-slimmer-e90362cd.js → sub-state-observer-slimmer-e1a00b74.js} +1 -1
  28. package/dist/cjs/{translation-212b1875.js → translation-e5003a00.js} +5 -0
  29. package/dist/cjs/{translation-slimmer-d1512c6d.js → translation-slimmer-127a0f83.js} +1 -1
  30. package/dist/cjs/vega-accordion.cjs.entry.js +13 -11
  31. package/dist/cjs/vega-app-footer.cjs.entry.js +1 -1
  32. package/dist/cjs/vega-app-header-button.cjs.entry.js +14 -12
  33. package/dist/cjs/vega-backdrop.cjs.entry.js +1 -1
  34. package/dist/cjs/vega-banner.cjs.entry.js +4 -4
  35. package/dist/cjs/vega-bar-chart.cjs.entry.js +4 -4
  36. package/dist/cjs/vega-box.cjs.entry.js +13 -11
  37. package/dist/cjs/vega-brand-logo.cjs.entry.js +1 -1
  38. package/dist/cjs/vega-breadcrumb.cjs.entry.js +5 -5
  39. package/dist/cjs/vega-button-circle.cjs.entry.js +14 -12
  40. package/dist/cjs/vega-button-group_2.cjs.entry.js +8 -8
  41. package/dist/cjs/vega-button-link.cjs.entry.js +5 -5
  42. package/dist/cjs/vega-button.cjs.entry.js +13 -11
  43. package/dist/cjs/vega-calendar_3.cjs.entry.js +11 -11
  44. package/dist/cjs/vega-card.cjs.entry.js +12 -10
  45. package/dist/cjs/vega-carousel.cjs.entry.js +12 -10
  46. package/dist/cjs/vega-checkbox_2.cjs.entry.js +12 -12
  47. package/dist/cjs/vega-chip.cjs.entry.js +14 -12
  48. package/dist/cjs/vega-code-block.cjs.entry.js +4073 -0
  49. package/dist/cjs/vega-color-picker.cjs.entry.js +10 -10
  50. package/dist/cjs/vega-combo-box.cjs.entry.js +12 -12
  51. package/dist/cjs/vega-counter-badge.cjs.entry.js +1 -1
  52. package/dist/cjs/vega-date-picker_2.cjs.entry.js +20 -19
  53. package/dist/cjs/vega-dialog_2.cjs.entry.js +14 -12
  54. package/dist/cjs/vega-divider.cjs.entry.js +12 -10
  55. package/dist/cjs/vega-dropdown_5.cjs.entry.js +17 -15
  56. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  57. package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
  58. package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
  59. package/dist/cjs/vega-file-uploader.cjs.entry.js +11 -11
  60. package/dist/cjs/vega-flag-icon.cjs.entry.js +12 -10
  61. package/dist/cjs/vega-flex.cjs.entry.js +13 -11
  62. package/dist/cjs/vega-font.cjs.entry.js +12 -10
  63. package/dist/cjs/vega-form.cjs.entry.js +13 -13
  64. package/dist/cjs/vega-grid.cjs.entry.js +12 -10
  65. package/dist/cjs/vega-hint.cjs.entry.js +1 -1
  66. package/dist/cjs/vega-icon.cjs.entry.js +12 -10
  67. package/dist/cjs/vega-image-uploader.cjs.entry.js +17 -16
  68. package/dist/cjs/vega-input-credit-card.cjs.entry.js +12 -12
  69. package/dist/cjs/vega-input-numeric.cjs.entry.js +13 -13
  70. package/dist/cjs/vega-input-phone-number.cjs.entry.js +25 -16
  71. package/dist/cjs/vega-input-range.cjs.entry.js +13 -13
  72. package/dist/cjs/vega-input-select.cjs.entry.js +22 -21
  73. package/dist/cjs/vega-input.cjs.entry.js +25 -14
  74. package/dist/cjs/{vega-internal-event-id-bfea9b93.js → vega-internal-event-id-62371952.js} +2 -0
  75. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  76. package/dist/cjs/vega-left-nav_5.cjs.entry.js +15 -13
  77. package/dist/cjs/vega-line-chart.cjs.entry.js +4 -4
  78. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +11 -9
  79. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  80. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +5 -5
  81. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +4 -4
  82. package/dist/cjs/vega-pagination.cjs.entry.js +14 -12
  83. package/dist/cjs/vega-pie-chart.cjs.entry.js +3 -3
  84. package/dist/cjs/vega-popover_2.cjs.entry.js +13 -11
  85. package/dist/cjs/vega-progress-tracker.cjs.entry.js +3 -3
  86. package/dist/cjs/vega-radio_2.cjs.entry.js +12 -12
  87. package/dist/cjs/vega-rich-text-content.cjs.entry.js +311 -137
  88. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +1228 -2505
  89. package/dist/cjs/vega-section-title.cjs.entry.js +1 -1
  90. package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
  91. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +17 -16
  92. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +13 -13
  93. package/dist/cjs/vega-sidenav_3.cjs.entry.js +14 -12
  94. package/dist/cjs/vega-signature-capture.cjs.entry.js +17 -16
  95. package/dist/cjs/{vega-skeleton-loader-controller-db868c98.js → vega-skeleton-loader-controller-83e05b6c.js} +1 -1
  96. package/dist/cjs/vega-skeleton.cjs.entry.js +1 -1
  97. package/dist/cjs/vega-slot-container.cjs.entry.js +1 -1
  98. package/dist/cjs/vega-stepper.cjs.entry.js +12 -12
  99. package/dist/cjs/vega-tab-group_2.cjs.entry.js +5 -5
  100. package/dist/cjs/vega-table_8.cjs.entry.js +17 -15
  101. package/dist/cjs/vega-text.cjs.entry.js +1 -1
  102. package/dist/cjs/vega-textarea.cjs.entry.js +12 -12
  103. package/dist/cjs/vega-time-picker_2.cjs.entry.js +18 -17
  104. package/dist/cjs/vega-toggle-switch.cjs.entry.js +10 -10
  105. package/dist/cjs/vega-tooltip_2.cjs.entry.js +12 -10
  106. package/dist/cjs/vega.cjs.js +12 -10
  107. package/dist/cjs/{y-axis-input-processor-72684c57.js → y-axis-input-processor-e371c142.js} +2 -2
  108. package/dist/collection/collection-manifest.json +7 -1
  109. package/dist/collection/components/vega-code-block/assets/copy.js +3 -0
  110. package/dist/collection/components/vega-code-block/slimmers/controllers/code-highlight-parser.abstract.js +62 -0
  111. package/dist/collection/components/vega-code-block/slimmers/controllers/default-code-highlight-parse-controller.js +48 -0
  112. package/dist/collection/components/vega-code-block/slimmers/controllers/prism-code-highlight-parse-controller.js +99 -0
  113. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-content-parse-controller.js +50 -0
  114. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-focus-controller.js +57 -0
  115. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-input-controller.js +255 -0
  116. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-selection-controller.js +266 -0
  117. package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-value-controller.js +44 -0
  118. package/dist/collection/components/vega-code-block/slimmers/renderers/vega-code-block-content-renderer.js +123 -0
  119. package/dist/collection/components/vega-code-block/slimmers/renderers/vega-code-block-copy-button-renderer.js +67 -0
  120. package/dist/collection/components/vega-code-block/slimmers/renderers/vega-code-block-renderer.js +122 -0
  121. package/dist/collection/components/vega-code-block/types.js +10 -0
  122. package/dist/collection/components/vega-code-block/vega-code-block.css +158 -0
  123. package/dist/collection/components/vega-code-block/vega-code-block.js +399 -0
  124. package/dist/collection/components/vega-input/vega-input.js +13 -2
  125. package/dist/collection/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.js +2 -0
  126. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +5 -5
  127. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +2 -0
  128. package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.css +60 -5
  129. package/dist/collection/components/vega-rich-text-editor/assets/file-code.js +3 -0
  130. package/dist/collection/components/vega-rich-text-editor/assets/rectangle-code.js +3 -0
  131. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy.abstract.js +24 -0
  132. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-horizontal-alignment-strategy.js +15 -0
  133. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-indent-strategy.js +15 -0
  134. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-text-style-strategy.js +1 -0
  135. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/code-node-set-selection-range-strategy.js +13 -0
  136. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/node-update-annotation-map-strategy.js +14 -0
  137. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-content-strategy.js +3 -1
  138. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy.js +1 -1
  139. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-code-block-strategy.js +48 -0
  140. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-insert-image-strategy.js +17 -0
  141. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy.js +77 -0
  142. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/switch-out-from-code-block-strategy.js +38 -0
  143. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/update-code-block-strategy.js +14 -0
  144. package/dist/collection/components/vega-rich-text-editor/dto/actions/custom-style-annotation-action.js +20 -0
  145. package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +4 -0
  146. package/dist/collection/components/vega-rich-text-editor/dto/actions/remove-code-block-action.js +13 -0
  147. package/dist/collection/components/vega-rich-text-editor/dto/actions/switch-out-from-code-block-action.js +15 -0
  148. package/dist/collection/components/vega-rich-text-editor/dto/actions/transform-to-code-block-action.js +13 -0
  149. package/dist/collection/components/vega-rich-text-editor/dto/actions/update-code-block-action.js +15 -0
  150. package/dist/collection/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.js +1 -0
  151. package/dist/collection/components/vega-rich-text-editor/dto/annotations/bold-annotation.js +13 -5
  152. package/dist/collection/components/vega-rich-text-editor/dto/annotations/clear-formatting-annotation.js +2 -0
  153. package/dist/collection/components/vega-rich-text-editor/dto/annotations/code-annotation.js +14 -9
  154. package/dist/collection/components/vega-rich-text-editor/dto/annotations/common-annotation.abstract.js +12 -0
  155. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation.js +65 -0
  156. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-class-annotation.js +54 -0
  157. package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.js +57 -0
  158. package/dist/collection/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.js +26 -10
  159. package/dist/collection/components/vega-rich-text-editor/dto/annotations/image-annotation.js +16 -7
  160. package/dist/collection/components/vega-rich-text-editor/dto/annotations/indent-annotation.js +8 -2
  161. package/dist/collection/components/vega-rich-text-editor/dto/annotations/italic-annotation.js +13 -5
  162. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-annotation.js +12 -9
  163. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-group-annotation.js +89 -0
  164. package/dist/collection/components/vega-rich-text-editor/dto/annotations/list-annotation.js +41 -0
  165. package/dist/collection/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.js +9 -9
  166. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-color-annotation.js +3 -7
  167. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-annotation.js +74 -12
  168. package/dist/collection/components/vega-rich-text-editor/dto/annotations/underline-annotation.js +9 -9
  169. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +69 -2
  170. package/dist/collection/components/vega-rich-text-editor/dto/blocks/code-block.js +106 -0
  171. package/dist/collection/components/vega-rich-text-editor/dto/blocks/image-block.js +15 -1
  172. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +50 -0
  173. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +12 -1
  174. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +66 -2
  175. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +29 -0
  176. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +56 -0
  177. package/dist/collection/components/vega-rich-text-editor/dto/nodes/image-node.js +26 -9
  178. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +81 -0
  179. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +15 -2
  180. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.js +5 -22
  181. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +9 -93
  182. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/code-block-renderer.js +62 -0
  183. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.js +1 -1
  184. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.js +121 -0
  185. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +1 -1
  186. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +1 -1
  187. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.js +2 -23
  188. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/code-block-node-renderer.js +81 -0
  189. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js +47 -7
  190. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.js +0 -27
  191. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +3 -2
  192. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.js +19 -4
  193. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract.js +165 -25
  194. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.js +2 -1
  195. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.js +6 -1
  196. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-rte-image-block-strategy.abstract.js +38 -0
  197. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/img-to-rte-image-block-strategy.js +3 -20
  198. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-block-to-rte-text-block-strategy.js +59 -5
  199. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/jira-code-to-rte-code-block-strategy.js +54 -0
  200. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/li-to-rte-list-item-block-strategy.js +1 -1
  201. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ol-to-rte-list-block-strategy.js +3 -2
  202. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/span-img-to-rte-image-block-strategy.js +3 -20
  203. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-not-li-child-to-rte-list-item-block.js +7 -3
  204. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-to-rte-list-block-strategy.js +3 -2
  205. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-code-block-to-rte-code-block-strategy.js +69 -0
  206. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-image-to-rte-image-block-strategy.js +4 -7
  207. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-line-break-handler.js +7 -5
  208. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paragraph-handler.js +7 -5
  209. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +25 -10
  210. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/internal-code-block-selection-controller.js +64 -0
  211. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +59 -53
  212. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +21 -8
  213. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +10 -0
  214. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.js +5 -3
  215. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +5 -3
  216. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-toolbar-button-slimmer.js +5 -3
  217. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/numbers-toolbar-button-slimmer.js +5 -3
  218. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.js +5 -3
  219. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.js +65 -0
  220. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.js +5 -3
  221. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/center-align-toolbar-button-slimmer.js +2 -2
  222. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +8 -2
  223. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/justify-align-toolbar-button-slimmer.js +2 -2
  224. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/left-align-toolbar-button-slimmer.js +2 -2
  225. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/right-align-toolbar-button-slimmer.js +2 -2
  226. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +2 -2
  227. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.js +5 -3
  228. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.js +3 -3
  229. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +2 -2
  230. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.js +3 -3
  231. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +60 -0
  232. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.js +5 -3
  233. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +5 -3
  234. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +6 -4
  235. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +3 -2
  236. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.js +5 -3
  237. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.js +28 -0
  238. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +31 -3
  239. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/code-block-strategy-registry.test.js +21 -0
  240. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/content-state-strategy-registry.test.js +2 -0
  241. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/image-block-strategy-register.test.js +3 -0
  242. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/text-block-strategy-register.test.js +23 -1
  243. package/dist/collection/components/vega-rich-text-editor/test/dto/annotations.test.js +247 -27
  244. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/code-block.test.js +54 -0
  245. package/dist/collection/components/vega-rich-text-editor/test/dto/content-state.test.js +1793 -0
  246. package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/image-node.test.js +12 -0
  247. package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/text-node.test.js +41 -4
  248. package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/jira-code-to-rte-code-block-strategy.test.js +32 -0
  249. package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/vega-code-block-to-rte-code-block-strategy.test.js +61 -0
  250. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.css +7 -0
  251. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +18 -1
  252. package/dist/collection/helpers/code-format/code-formatter.js +108 -0
  253. package/dist/collection/helpers/code-format/test/code-formatter.test.js +362 -0
  254. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +2 -1
  255. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
  256. package/dist/collection/helpers/feature-control/feature-flags-map.js +6 -0
  257. package/dist/collection/helpers/slimmers/auto-run-when-re-render-task-queue-slimmer.abstract.js +47 -0
  258. package/dist/collection/helpers/slimmers/form-field-controller-slimmer.js +3 -1
  259. package/dist/collection/helpers/slimmers/test/auto-run-when-re-render-task-queue-slimmer.test.js +46 -0
  260. package/dist/collection/helpers/translation/locales/en.js +5 -0
  261. package/dist/collection/helpers/translation/tests/internal-translation-controller.test.js +5 -0
  262. package/dist/collection/polyfill/shadow-selection/shadow-selection-polyfill.js +17 -15
  263. package/dist/collection/polyfill/shadow-selection/test/shadow-selection-polyfill.test.js +1 -0
  264. package/dist/collection/polyfill/test-polyfill/unit/methods.js +9 -0
  265. package/dist/collection/utils/array.js +18 -15
  266. package/dist/collection/utils/string.js +10 -0
  267. package/dist/collection/utils/test/array.test.js +78 -16
  268. package/dist/esm/{app-globals-b7b43a4e.js → app-globals-9058ac3b.js} +7 -7
  269. package/dist/esm/{array-3113609f.js → array-7888f339.js} +18 -15
  270. package/dist/esm/{child-nodes-event-prevent-slimmer-d3a94ef2.js → child-nodes-event-prevent-slimmer-1142fb79.js} +2 -2
  271. package/dist/esm/{content-state-dbc9f635.js → code-block-8b5bd928.js} +1141 -1122
  272. package/dist/esm/content-state-8c3f862b.js +2489 -0
  273. package/dist/esm/{design-token-e263e6a2.js → design-token-bd436e0d.js} +1 -1
  274. package/dist/esm/{dom-node-subject-factory-f77cf9cc.js → dom-node-subject-factory-eb6bba5d.js} +1 -1
  275. package/dist/esm/{dom-node-subject-observer-factory-715dccf9.js → dom-node-subject-observer-factory-6083d518.js} +1 -1
  276. package/dist/esm/{element-appender-slimmer-55d63b1f.js → element-appender-slimmer-baf5e249.js} +5 -5
  277. package/dist/esm/{event-emit-slimmer-b7d511f6.js → event-emit-slimmer-480d3b54.js} +3 -3
  278. package/dist/esm/{feature-flag-controller-690eac1d.js → feature-flag-controller-0fbe8fb0.js} +6 -0
  279. package/dist/esm/{form-field-controller-slimmer-e7dc3db1.js → form-field-controller-slimmer-bfb4034d.js} +11 -9
  280. package/dist/esm/{image-annotation-action-1aa938ab.js → image-annotation-action-a8b860ad.js} +57 -28
  281. package/dist/esm/{index-187f71d1.js → index-d0a47531.js} +9 -0
  282. package/dist/esm/{index-4aa167d6.js → index-db0ec3ee.js} +2 -2
  283. package/dist/esm/index.js +14 -13
  284. package/dist/esm/{internal-vega-event-manager-87dc436c.js → internal-vega-event-manager-56c6469a.js} +2 -1
  285. package/dist/esm/{legend-input-processor-8bcd5c5a.js → legend-input-processor-8f76ce8a.js} +1 -1
  286. package/dist/esm/loader.js +13 -11
  287. package/dist/esm/{mutation-observer-filters-7ee2b410.js → mutation-observer-filters-1a054fb0.js} +1 -1
  288. package/dist/esm/polyfills/core-js.js +0 -0
  289. package/dist/esm/polyfills/dom.js +0 -0
  290. package/dist/esm/polyfills/es5-html-element.js +0 -0
  291. package/dist/esm/polyfills/index.js +0 -0
  292. package/dist/esm/polyfills/system.js +0 -0
  293. package/dist/esm/{public-rules-5cf6aa95.js → public-rules-90fbd41a.js} +8 -6
  294. package/dist/esm/{responsive-format-facade-bc2f8ad3.js → responsive-format-facade-827de03a.js} +5 -5
  295. package/dist/esm/{rich-text-editor-required-rule-6a7cd3ee.js → rich-text-editor-required-rule-0d470d82.js} +1 -1
  296. package/dist/esm/selection-controller-dd4f4407.js +759 -0
  297. package/dist/esm/string-a953eafc.js +21 -0
  298. package/dist/esm/{string-input-formatter-slimmer-c61f82d6.js → string-input-formatter-slimmer-0d30b976.js} +3 -3
  299. package/dist/esm/{style-formatter-0f221459.js → style-formatter-232842f5.js} +1 -1
  300. package/dist/esm/{sub-state-notify-slimmer-4e3cf09d.js → sub-state-notify-slimmer-04e06501.js} +2 -2
  301. package/dist/esm/{sub-state-observer-slimmer-be7a6ce3.js → sub-state-observer-slimmer-b4c2ddc3.js} +2 -2
  302. package/dist/esm/{translation-cf7f020a.js → translation-71e0711d.js} +5 -0
  303. package/dist/esm/{translation-slimmer-88966d5c.js → translation-slimmer-e6b130bf.js} +1 -1
  304. package/dist/esm/vega-accordion.entry.js +15 -13
  305. package/dist/esm/vega-app-footer.entry.js +1 -1
  306. package/dist/esm/vega-app-header-button.entry.js +16 -14
  307. package/dist/esm/vega-backdrop.entry.js +1 -1
  308. package/dist/esm/vega-banner.entry.js +6 -6
  309. package/dist/esm/vega-bar-chart.entry.js +4 -4
  310. package/dist/esm/vega-box.entry.js +14 -12
  311. package/dist/esm/vega-brand-logo.entry.js +1 -1
  312. package/dist/esm/vega-breadcrumb.entry.js +7 -7
  313. package/dist/esm/vega-button-circle.entry.js +16 -14
  314. package/dist/esm/vega-button-group_2.entry.js +10 -10
  315. package/dist/esm/vega-button-link.entry.js +7 -7
  316. package/dist/esm/vega-button.entry.js +15 -13
  317. package/dist/esm/vega-calendar_3.entry.js +13 -13
  318. package/dist/esm/vega-card.entry.js +13 -11
  319. package/dist/esm/vega-carousel.entry.js +14 -12
  320. package/dist/esm/vega-checkbox_2.entry.js +14 -14
  321. package/dist/esm/vega-chip.entry.js +16 -14
  322. package/dist/esm/vega-code-block.entry.js +4069 -0
  323. package/dist/esm/vega-color-picker.entry.js +12 -12
  324. package/dist/esm/vega-combo-box.entry.js +14 -14
  325. package/dist/esm/vega-counter-badge.entry.js +1 -1
  326. package/dist/esm/vega-date-picker_2.entry.js +22 -21
  327. package/dist/esm/vega-dialog_2.entry.js +16 -14
  328. package/dist/esm/vega-divider.entry.js +13 -11
  329. package/dist/esm/vega-dropdown_5.entry.js +19 -17
  330. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  331. package/dist/esm/vega-field-error.entry.js +1 -1
  332. package/dist/esm/vega-field-label.entry.js +5 -5
  333. package/dist/esm/vega-file-uploader.entry.js +13 -13
  334. package/dist/esm/vega-flag-icon.entry.js +13 -11
  335. package/dist/esm/vega-flex.entry.js +14 -12
  336. package/dist/esm/vega-font.entry.js +13 -11
  337. package/dist/esm/vega-form.entry.js +15 -15
  338. package/dist/esm/vega-grid.entry.js +13 -11
  339. package/dist/esm/vega-hint.entry.js +1 -1
  340. package/dist/esm/vega-icon.entry.js +13 -11
  341. package/dist/esm/vega-image-uploader.entry.js +19 -18
  342. package/dist/esm/vega-input-credit-card.entry.js +14 -14
  343. package/dist/esm/vega-input-numeric.entry.js +15 -15
  344. package/dist/esm/vega-input-phone-number.entry.js +27 -18
  345. package/dist/esm/vega-input-range.entry.js +15 -15
  346. package/dist/esm/vega-input-select.entry.js +24 -23
  347. package/dist/esm/vega-input.entry.js +27 -16
  348. package/dist/esm/{vega-internal-event-id-85ad403f.js → vega-internal-event-id-820393ad.js} +2 -1
  349. package/dist/esm/vega-item-toggle.entry.js +5 -5
  350. package/dist/esm/vega-left-nav_5.entry.js +17 -15
  351. package/dist/esm/vega-line-chart.entry.js +4 -4
  352. package/dist/esm/vega-loader-wrapper_2.entry.js +12 -10
  353. package/dist/esm/vega-page-notification_2.entry.js +3 -3
  354. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +7 -7
  355. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +6 -6
  356. package/dist/esm/vega-pagination.entry.js +16 -14
  357. package/dist/esm/vega-pie-chart.entry.js +3 -3
  358. package/dist/esm/vega-popover_2.entry.js +15 -13
  359. package/dist/esm/vega-progress-tracker.entry.js +5 -5
  360. package/dist/esm/vega-radio_2.entry.js +14 -14
  361. package/dist/esm/vega-rich-text-content.entry.js +305 -131
  362. package/dist/esm/vega-rich-text-editor_4.entry.js +1135 -2412
  363. package/dist/esm/vega-section-title.entry.js +1 -1
  364. package/dist/esm/vega-segment-control.entry.js +5 -5
  365. package/dist/esm/vega-selection-chip_2.entry.js +19 -18
  366. package/dist/esm/vega-selection-tile_2.entry.js +15 -15
  367. package/dist/esm/vega-sidenav_3.entry.js +16 -14
  368. package/dist/esm/vega-signature-capture.entry.js +19 -18
  369. package/dist/esm/{vega-skeleton-loader-controller-c2a8bd27.js → vega-skeleton-loader-controller-878e1b28.js} +1 -1
  370. package/dist/esm/vega-skeleton.entry.js +1 -1
  371. package/dist/esm/vega-slot-container.entry.js +1 -1
  372. package/dist/esm/vega-stepper.entry.js +14 -14
  373. package/dist/esm/vega-tab-group_2.entry.js +7 -7
  374. package/dist/esm/vega-table_8.entry.js +19 -17
  375. package/dist/esm/vega-text.entry.js +1 -1
  376. package/dist/esm/vega-textarea.entry.js +14 -14
  377. package/dist/esm/vega-time-picker_2.entry.js +20 -19
  378. package/dist/esm/vega-toggle-switch.entry.js +12 -12
  379. package/dist/esm/vega-tooltip_2.entry.js +14 -12
  380. package/dist/esm/vega.js +13 -11
  381. package/dist/esm/{y-axis-input-processor-26fab110.js → y-axis-input-processor-e090b01c.js} +2 -2
  382. package/dist/types/components/vega-code-block/assets/copy.d.ts +3 -0
  383. package/dist/types/components/vega-code-block/slimmers/controllers/code-highlight-parser.abstract.d.ts +40 -0
  384. package/dist/types/components/vega-code-block/slimmers/controllers/default-code-highlight-parse-controller.d.ts +19 -0
  385. package/dist/types/components/vega-code-block/slimmers/controllers/prism-code-highlight-parse-controller.d.ts +43 -0
  386. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-content-parse-controller.d.ts +23 -0
  387. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-focus-controller.d.ts +21 -0
  388. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-input-controller.d.ts +100 -0
  389. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-selection-controller.d.ts +93 -0
  390. package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-value-controller.d.ts +21 -0
  391. package/dist/types/components/vega-code-block/slimmers/renderers/vega-code-block-content-renderer.d.ts +57 -0
  392. package/dist/types/components/vega-code-block/slimmers/renderers/vega-code-block-copy-button-renderer.d.ts +23 -0
  393. package/dist/types/components/vega-code-block/slimmers/renderers/vega-code-block-renderer.d.ts +50 -0
  394. package/dist/types/components/vega-code-block/types.d.ts +19 -0
  395. package/dist/types/components/vega-code-block/vega-code-block.d.ts +116 -0
  396. package/dist/types/components/vega-input/vega-input.d.ts +4 -0
  397. package/dist/types/components/vega-rich-text-editor/assets/file-code.d.ts +3 -0
  398. package/dist/types/components/vega-rich-text-editor/assets/rectangle-code.d.ts +3 -0
  399. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy.abstract.d.ts +15 -0
  400. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-horizontal-alignment-strategy.d.ts +15 -0
  401. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-indent-strategy.d.ts +15 -0
  402. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/code-node-set-selection-range-strategy.d.ts +12 -0
  403. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.d.ts +3 -3
  404. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy.d.ts +4 -5
  405. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-code-block-strategy.d.ts +29 -0
  406. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-insert-image-strategy.d.ts +15 -0
  407. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy.d.ts +28 -0
  408. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/switch-out-from-code-block-strategy.d.ts +12 -0
  409. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/update-code-block-strategy.d.ts +12 -0
  410. package/dist/types/components/vega-rich-text-editor/dto/actions/custom-style-annotation-action.d.ts +17 -0
  411. package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +5 -1
  412. package/dist/types/components/vega-rich-text-editor/dto/actions/remove-code-block-action.d.ts +10 -0
  413. package/dist/types/components/vega-rich-text-editor/dto/actions/switch-out-from-code-block-action.d.ts +14 -0
  414. package/dist/types/components/vega-rich-text-editor/dto/actions/transform-to-code-block-action.d.ts +14 -0
  415. package/dist/types/components/vega-rich-text-editor/dto/actions/update-code-block-action.d.ts +14 -0
  416. package/dist/types/components/vega-rich-text-editor/dto/annotations/annotation.abstract.d.ts +2 -1
  417. package/dist/types/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.d.ts +17 -4
  418. package/dist/types/components/vega-rich-text-editor/dto/annotations/bold-annotation.d.ts +7 -5
  419. package/dist/types/components/vega-rich-text-editor/dto/annotations/clear-formatting-annotation.d.ts +2 -1
  420. package/dist/types/components/vega-rich-text-editor/dto/annotations/code-annotation.d.ts +5 -9
  421. package/dist/types/components/vega-rich-text-editor/dto/annotations/common-annotation.abstract.d.ts +20 -0
  422. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation.d.ts +43 -0
  423. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-class-annotation.d.ts +40 -0
  424. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.d.ts +42 -0
  425. package/dist/types/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.d.ts +5 -9
  426. package/dist/types/components/vega-rich-text-editor/dto/annotations/image-annotation.d.ts +7 -5
  427. package/dist/types/components/vega-rich-text-editor/dto/annotations/indent-annotation.d.ts +5 -1
  428. package/dist/types/components/vega-rich-text-editor/dto/annotations/italic-annotation.d.ts +7 -5
  429. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-annotation.d.ts +6 -4
  430. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-group-annotation.d.ts +48 -0
  431. package/dist/types/components/vega-rich-text-editor/dto/annotations/list-annotation.d.ts +25 -0
  432. package/dist/types/components/vega-rich-text-editor/dto/annotations/node-annotation.abstract.d.ts +15 -3
  433. package/dist/types/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.d.ts +5 -9
  434. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-color-annotation.d.ts +3 -7
  435. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-annotation.d.ts +7 -5
  436. package/dist/types/components/vega-rich-text-editor/dto/annotations/underline-annotation.d.ts +5 -9
  437. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +39 -4
  438. package/dist/types/components/vega-rich-text-editor/dto/blocks/code-block.d.ts +56 -0
  439. package/dist/types/components/vega-rich-text-editor/dto/blocks/image-block.d.ts +4 -0
  440. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +20 -2
  441. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +4 -0
  442. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +14 -4
  443. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +13 -0
  444. package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +45 -0
  445. package/dist/types/components/vega-rich-text-editor/dto/nodes/image-node.d.ts +4 -0
  446. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +46 -2
  447. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +7 -2
  448. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.d.ts +4 -11
  449. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +7 -5
  450. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/code-block-renderer.d.ts +39 -0
  451. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.d.ts +24 -0
  452. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.d.ts +0 -1
  453. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/code-block-node-renderer.d.ts +37 -0
  454. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.d.ts +22 -0
  455. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.d.ts +1 -15
  456. package/dist/types/components/vega-rich-text-editor/interface.d.ts +65 -26
  457. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract.d.ts +66 -8
  458. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.d.ts +3 -1
  459. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-rte-image-block-strategy.abstract.d.ts +20 -0
  460. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/img-to-rte-image-block-strategy.d.ts +2 -2
  461. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-block-to-rte-text-block-strategy.d.ts +30 -1
  462. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/jira-code-to-rte-code-block-strategy.d.ts +31 -0
  463. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ol-to-rte-list-block-strategy.d.ts +2 -3
  464. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/span-img-to-rte-image-block-strategy.d.ts +2 -2
  465. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-to-rte-list-block-strategy.d.ts +2 -3
  466. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-code-block-to-rte-code-block-strategy.d.ts +42 -0
  467. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-image-to-rte-image-block-strategy.d.ts +2 -2
  468. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.d.ts +7 -1
  469. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/internal-code-block-selection-controller.d.ts +45 -0
  470. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/selection-controller.d.ts +17 -23
  471. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.d.ts +6 -4
  472. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.d.ts +2 -0
  473. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.d.ts +2 -2
  474. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.d.ts +3 -2
  475. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-toolbar-button-slimmer.d.ts +2 -2
  476. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/numbers-toolbar-button-slimmer.d.ts +2 -2
  477. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.d.ts +2 -2
  478. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.d.ts +22 -0
  479. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.d.ts +2 -2
  480. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/center-align-toolbar-button-slimmer.d.ts +2 -2
  481. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.d.ts +4 -2
  482. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/justify-align-toolbar-button-slimmer.d.ts +2 -2
  483. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/left-align-toolbar-button-slimmer.d.ts +2 -2
  484. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/right-align-toolbar-button-slimmer.d.ts +2 -2
  485. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.d.ts +3 -2
  486. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.d.ts +2 -2
  487. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.d.ts +2 -2
  488. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.d.ts +3 -2
  489. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.d.ts +2 -2
  490. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +13 -0
  491. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.d.ts +2 -2
  492. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.d.ts +3 -2
  493. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.d.ts +3 -2
  494. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +3 -2
  495. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.d.ts +2 -2
  496. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.d.ts +17 -0
  497. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +8 -2
  498. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/code-block-strategy-registry.test.d.ts +1 -0
  499. package/dist/types/components/vega-rich-text-editor/test/dto/blocks/code-block.test.d.ts +1 -0
  500. package/dist/types/components/vega-rich-text-editor/test/dto/content-state.test.d.ts +1 -1
  501. package/dist/types/components/vega-rich-text-editor/test/element-to-dto-strategy/jira-code-to-rte-code-block-strategy.test.d.ts +1 -0
  502. package/dist/types/components/vega-rich-text-editor/test/element-to-dto-strategy/vega-code-block-to-rte-code-block-strategy.test.d.ts +1 -0
  503. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +7 -0
  504. package/dist/types/components.d.ts +95 -0
  505. package/dist/types/helpers/code-format/code-formatter.d.ts +34 -0
  506. package/dist/types/helpers/code-format/test/code-formatter.test.d.ts +1 -0
  507. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
  508. package/dist/types/helpers/feature-control/feature-flag.d.ts +2 -1
  509. package/dist/types/helpers/slimmers/auto-run-when-re-render-task-queue-slimmer.abstract.d.ts +20 -0
  510. package/dist/types/helpers/slimmers/test/auto-run-when-re-render-task-queue-slimmer.test.d.ts +1 -0
  511. package/dist/types/helpers/translation/interface.d.ts +6 -1
  512. package/dist/types/polyfill/shadow-selection/shadow-selection-polyfill.d.ts +26 -0
  513. package/dist/types/types/components.type.d.ts +1 -0
  514. package/dist/types/utils/array.d.ts +6 -5
  515. package/dist/types/utils/string.d.ts +7 -0
  516. package/dist/vega/index.esm.js +1 -1
  517. package/dist/vega/p-0104207d.entry.js +1 -0
  518. package/dist/vega/p-010f1715.entry.js +1 -0
  519. package/dist/vega/p-01593f9d.js +1 -0
  520. package/dist/vega/p-020b04ed.js +1 -0
  521. package/dist/vega/p-02841589.js +1 -0
  522. package/dist/vega/p-03cfb331.entry.js +9 -0
  523. package/dist/vega/{p-5a8f129f.entry.js → p-0bff8716.entry.js} +1 -1
  524. package/dist/vega/p-1056a049.entry.js +1 -0
  525. package/dist/vega/p-10e41bbe.js +1 -0
  526. package/dist/vega/{p-28b7d6ba.entry.js → p-12e6173c.entry.js} +1 -1
  527. package/dist/vega/{p-88c9efbb.js → p-1397ba3f.js} +1 -1
  528. package/dist/vega/p-13d9a1fd.entry.js +1 -0
  529. package/dist/vega/p-13eae47f.entry.js +1 -0
  530. package/dist/vega/p-1630864e.entry.js +1 -0
  531. package/dist/vega/p-1b335e30.entry.js +1 -0
  532. package/dist/vega/{p-8ade44bf.js → p-1e194737.js} +1 -1
  533. package/dist/vega/{p-2198de3e.entry.js → p-1f346008.entry.js} +1 -1
  534. package/dist/vega/p-1f86ab76.entry.js +1 -0
  535. package/dist/vega/p-1fe746ab.entry.js +1 -0
  536. package/dist/vega/{p-6ec8a9d8.entry.js → p-211c028f.entry.js} +1 -1
  537. package/dist/vega/p-21d26bb4.js +2 -0
  538. package/dist/vega/{p-353d32c0.entry.js → p-23e6f2b2.entry.js} +1 -1
  539. package/dist/vega/p-268aea63.js +1 -0
  540. package/dist/vega/{p-a01f149d.entry.js → p-27ccf34d.entry.js} +1 -1
  541. package/dist/vega/{p-913eb7f9.entry.js → p-29f9be26.entry.js} +1 -1
  542. package/dist/vega/{p-27003a81.entry.js → p-30dcf606.entry.js} +1 -1
  543. package/dist/vega/{p-1abe125f.js → p-3c20ae84.js} +1 -1
  544. package/dist/vega/p-4172fb81.js +1 -0
  545. package/dist/vega/{p-431ab4dd.js → p-419697c6.js} +1 -1
  546. package/dist/vega/p-427e4cee.entry.js +1 -0
  547. package/dist/vega/{p-3220920f.js → p-45e28b9b.js} +1 -1
  548. package/dist/vega/p-4604ed0e.entry.js +1 -0
  549. package/dist/vega/{p-8d283666.js → p-4ab3df00.js} +1 -1
  550. package/dist/vega/{p-1e940ce8.js → p-4d793cb0.js} +1 -1
  551. package/dist/vega/{p-72ecfd40.js → p-4e8fb53a.js} +1 -1
  552. package/dist/vega/{p-6b75fe39.js → p-50a3ae3d.js} +1 -1
  553. package/dist/vega/{p-4fa94b35.entry.js → p-50b80d76.entry.js} +1 -1
  554. package/dist/vega/p-52b8f2d2.js +1 -0
  555. package/dist/vega/p-531ffb18.entry.js +1 -0
  556. package/dist/vega/p-53daeb45.entry.js +1 -0
  557. package/dist/vega/p-54fdd401.entry.js +1 -0
  558. package/dist/vega/{p-ac82ca73.entry.js → p-5741ecf0.entry.js} +1 -1
  559. package/dist/vega/{p-6cabdb36.js → p-58f8928a.js} +1 -1
  560. package/dist/vega/{p-d6591d70.entry.js → p-5c4cb804.entry.js} +1 -1
  561. package/dist/vega/{p-1cd2d7b8.entry.js → p-5ce386c8.entry.js} +1 -1
  562. package/dist/vega/p-5f377954.js +1 -1
  563. package/dist/vega/{p-f7423232.entry.js → p-5fd5a538.entry.js} +1 -1
  564. package/dist/vega/{p-0969877b.entry.js → p-64f452fe.entry.js} +1 -1
  565. package/dist/vega/p-66759f4e.js +1 -0
  566. package/dist/vega/{p-8afa2115.js → p-6ea42854.js} +1 -1
  567. package/dist/vega/p-70f25341.entry.js +1 -0
  568. package/dist/vega/{p-7db32dc0.entry.js → p-737bccb9.entry.js} +1 -1
  569. package/dist/vega/{p-bcb10ae3.entry.js → p-7503fe08.entry.js} +1 -1
  570. package/dist/vega/{p-50355e06.entry.js → p-7b0a4688.entry.js} +1 -1
  571. package/dist/vega/p-7def7b74.entry.js +1 -0
  572. package/dist/vega/{p-48517a5d.entry.js → p-7f5a85c6.entry.js} +1 -1
  573. package/dist/vega/p-825ae7c4.js +1 -0
  574. package/dist/vega/p-831c4144.entry.js +1 -0
  575. package/dist/vega/p-85dc08b4.entry.js +1 -0
  576. package/dist/vega/{p-a821bcf3.js → p-86782109.js} +1 -1
  577. package/dist/vega/p-87459914.js +1 -0
  578. package/dist/vega/{p-e719b1a9.entry.js → p-87a1fc77.entry.js} +1 -1
  579. package/dist/vega/p-89565247.entry.js +1 -0
  580. package/dist/vega/{p-0a18f5f6.entry.js → p-89e915e9.entry.js} +1 -1
  581. package/dist/vega/{p-6cd8e6f4.entry.js → p-8aa7e56e.entry.js} +1 -1
  582. package/dist/vega/p-94263ece.entry.js +1 -0
  583. package/dist/vega/{p-d0007822.entry.js → p-9524e48a.entry.js} +1 -1
  584. package/dist/vega/{p-472727a4.entry.js → p-991b4717.entry.js} +1 -1
  585. package/dist/vega/{p-a8e9bfae.entry.js → p-99b9b320.entry.js} +1 -1
  586. package/dist/vega/{p-aea89be5.entry.js → p-9ba14b7c.entry.js} +1 -1
  587. package/dist/vega/p-9cb79f8d.entry.js +1 -0
  588. package/dist/vega/p-9e3f52f0.entry.js +1 -0
  589. package/dist/vega/{p-6586e2a2.entry.js → p-a0e122a6.entry.js} +1 -1
  590. package/dist/vega/{p-96b4c0cc.entry.js → p-b0fe6c0f.entry.js} +1 -1
  591. package/dist/vega/{p-b2bca332.entry.js → p-b518e1a0.entry.js} +1 -1
  592. package/dist/vega/p-b538e81a.entry.js +1 -0
  593. package/dist/vega/p-b824baf7.entry.js +1 -0
  594. package/dist/vega/{p-2fadef27.entry.js → p-b959b4d4.entry.js} +1 -1
  595. package/dist/vega/{p-57e813f2.entry.js → p-bb4f0fa1.entry.js} +1 -1
  596. package/dist/vega/{p-2da83c2a.js → p-bbb39d6f.js} +1 -1
  597. package/dist/vega/{p-700da800.entry.js → p-bc8fd0ee.entry.js} +1 -1
  598. package/dist/vega/p-bcaf8375.entry.js +1 -0
  599. package/dist/vega/p-bec90ff3.entry.js +1 -0
  600. package/dist/vega/p-c6b94dde.entry.js +1 -0
  601. package/dist/vega/{p-c754b32c.js → p-ce6b62c4.js} +1 -1
  602. package/dist/vega/{p-5e34ea25.entry.js → p-d00fbc11.entry.js} +1 -1
  603. package/dist/vega/p-d27ae9ff.js +1 -0
  604. package/dist/vega/{p-10a40dfb.entry.js → p-d2a2af2c.entry.js} +1 -1
  605. package/dist/vega/p-d64b20c2.js +1 -0
  606. package/dist/vega/p-da779940.entry.js +1 -0
  607. package/dist/vega/{p-7f6702f7.js → p-db910162.js} +1 -1
  608. package/dist/vega/{p-6f81fe1e.js → p-e1a2a701.js} +1 -1
  609. package/dist/vega/p-e3694aa5.entry.js +1 -0
  610. package/dist/vega/p-e7318c4c.entry.js +1 -0
  611. package/dist/vega/{p-a5c39ba2.entry.js → p-e8fc027e.entry.js} +1 -1
  612. package/dist/vega/{p-ccdd49be.entry.js → p-e92ecb78.entry.js} +1 -1
  613. package/dist/vega/p-e969c3f4.entry.js +1 -0
  614. package/dist/vega/{p-8bc4c015.entry.js → p-ec8b7f01.entry.js} +1 -1
  615. package/dist/vega/{p-a25939ad.js → p-eda5b7fd.js} +1 -1
  616. package/dist/vega/p-eed9bda2.entry.js +1 -0
  617. package/dist/vega/p-f4c54c98.entry.js +1 -0
  618. package/dist/vega/{p-ff41dc6a.entry.js → p-f5fc80bc.entry.js} +1 -1
  619. package/dist/vega/p-f67be7ef.js +1 -0
  620. package/dist/vega/{p-5e3a15a1.js → p-f9fafc55.js} +1 -1
  621. package/dist/vega/{p-27e56c67.entry.js → p-fc21fb2d.entry.js} +1 -1
  622. package/dist/vega/p-fed9220b.entry.js +1 -0
  623. package/dist/vega/vega.esm.js +1 -1
  624. package/package.json +2 -1
  625. package/dist/cjs/string-21427167.js +0 -13
  626. package/dist/esm/string-be824360.js +0 -11
  627. package/dist/vega/p-01fd343e.entry.js +0 -1
  628. package/dist/vega/p-0bb29d98.js +0 -1
  629. package/dist/vega/p-1503f791.js +0 -1
  630. package/dist/vega/p-1c298d5a.js +0 -2
  631. package/dist/vega/p-24e0cdcc.entry.js +0 -1
  632. package/dist/vega/p-2565cb0c.entry.js +0 -1
  633. package/dist/vega/p-26e4221c.entry.js +0 -1
  634. package/dist/vega/p-27e3825f.entry.js +0 -1
  635. package/dist/vega/p-2bd64faf.entry.js +0 -1
  636. package/dist/vega/p-33ffaa71.entry.js +0 -1
  637. package/dist/vega/p-34a70d18.entry.js +0 -1
  638. package/dist/vega/p-3647d61d.js +0 -1
  639. package/dist/vega/p-3aa244d4.entry.js +0 -1
  640. package/dist/vega/p-429616af.entry.js +0 -1
  641. package/dist/vega/p-44b0a005.js +0 -1
  642. package/dist/vega/p-4e167a8c.js +0 -1
  643. package/dist/vega/p-4e76904e.entry.js +0 -1
  644. package/dist/vega/p-52e17867.entry.js +0 -1
  645. package/dist/vega/p-57cdacb1.entry.js +0 -1
  646. package/dist/vega/p-58b8c06b.entry.js +0 -1
  647. package/dist/vega/p-59ccf915.entry.js +0 -1
  648. package/dist/vega/p-5cbadf95.entry.js +0 -1
  649. package/dist/vega/p-63414091.entry.js +0 -1
  650. package/dist/vega/p-6aa569e5.entry.js +0 -1
  651. package/dist/vega/p-6d7d923b.js +0 -1
  652. package/dist/vega/p-6e898779.js +0 -1
  653. package/dist/vega/p-804f71b3.js +0 -1
  654. package/dist/vega/p-84aac4b1.entry.js +0 -1
  655. package/dist/vega/p-8aec8dac.entry.js +0 -1
  656. package/dist/vega/p-8ba43640.entry.js +0 -1
  657. package/dist/vega/p-a8b681ed.entry.js +0 -1
  658. package/dist/vega/p-b5f5a5e0.js +0 -1
  659. package/dist/vega/p-ba6c7f00.entry.js +0 -1
  660. package/dist/vega/p-be40684b.entry.js +0 -1
  661. package/dist/vega/p-bf1894ec.js +0 -1
  662. package/dist/vega/p-c1e1adf9.entry.js +0 -1
  663. package/dist/vega/p-c5f8b3a3.entry.js +0 -1
  664. package/dist/vega/p-c96effa5.entry.js +0 -1
  665. package/dist/vega/p-ca34443a.entry.js +0 -1
  666. package/dist/vega/p-cb637815.entry.js +0 -1
  667. package/dist/vega/p-ce70a54a.entry.js +0 -1
  668. package/dist/vega/p-dbc82247.js +0 -1
  669. package/dist/vega/p-e29da13d.entry.js +0 -1
  670. package/dist/vega/p-fb853d5f.entry.js +0 -1
  671. package/dist/vega/p-fd018044.entry.js +0 -1
  672. package/dist/vega/p-fda0c179.entry.js +0 -1
@@ -0,0 +1,50 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
8
+ /**
9
+ * Parse the code content to different tokens.
10
+ */
11
+ export class CodeContentParseController extends VegaSlimmer {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.codeNodes = [];
15
+ }
16
+ /**
17
+ * Get the current rendering code node array.
18
+ *
19
+ * @returns {CodeNodeType[]} - The code node array.
20
+ */
21
+ getCurrentCodeNodes() {
22
+ return this.codeNodes;
23
+ }
24
+ /**
25
+ * Split the code content to code node array. The default parse used if the language is not defined.
26
+ *
27
+ * @returns {CodeNodeType[]} - The code node array.
28
+ */
29
+ parseCode() {
30
+ const parsers = [
31
+ this.prismCodeHighlightParser,
32
+ this.defaultCodeHighlightParser,
33
+ ];
34
+ let result = [];
35
+ for (const parser of parsers) {
36
+ if (parser.canParse()) {
37
+ result = parser.parse();
38
+ break;
39
+ }
40
+ }
41
+ this.codeNodes = result;
42
+ return result;
43
+ }
44
+ }
45
+ __decorate([
46
+ MapToComponentField()
47
+ ], CodeContentParseController.prototype, "prismCodeHighlightParser", void 0);
48
+ __decorate([
49
+ MapToComponentField()
50
+ ], CodeContentParseController.prototype, "defaultCodeHighlightParser", void 0);
@@ -0,0 +1,57 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
8
+ /**
9
+ * Control the component focus state.
10
+ */
11
+ export class VegaCodeBlockFocusController extends VegaSlimmer {
12
+ /**
13
+ * Focus the code block and update the selection range offset to end.
14
+ */
15
+ focusAndUpdateSelection() {
16
+ if (!this.disabled && !this.readOnly) {
17
+ const codeContentContainerRef = this.contentRenderer.getCodeContentContainerRef();
18
+ if (codeContentContainerRef) {
19
+ codeContentContainerRef.focus();
20
+ const offset = this.value && this.value.code && this.value.code !== ' ' ? this.value.code.length : 0;
21
+ this.selectionController.enqueueSelectionRangeFutureState(offset, true);
22
+ }
23
+ }
24
+ }
25
+ /**
26
+ * Remove the focus class when component disabled or readonly.
27
+ */
28
+ removeFocusAfterDisabled() {
29
+ if (this.disabled || this.readOnly) {
30
+ this.host.classList.remove('focus');
31
+ }
32
+ }
33
+ }
34
+ __decorate([
35
+ MapToComponentField()
36
+ ], VegaCodeBlockFocusController.prototype, "host", void 0);
37
+ __decorate([
38
+ MapToComponentField()
39
+ ], VegaCodeBlockFocusController.prototype, "value", void 0);
40
+ __decorate([
41
+ MapToComponentField()
42
+ ], VegaCodeBlockFocusController.prototype, "readOnly", void 0);
43
+ __decorate([
44
+ MapToComponentField()
45
+ ], VegaCodeBlockFocusController.prototype, "disabled", void 0);
46
+ __decorate([
47
+ MapToComponentField()
48
+ ], VegaCodeBlockFocusController.prototype, "contentRenderer", void 0);
49
+ __decorate([
50
+ MapToComponentField()
51
+ ], VegaCodeBlockFocusController.prototype, "selectionController", void 0);
52
+ __decorate([
53
+ MapToComponentMethod('doFocus')
54
+ ], VegaCodeBlockFocusController.prototype, "focusAndUpdateSelection", null);
55
+ __decorate([
56
+ MapToComponentMethod('watchEditableChange')
57
+ ], VegaCodeBlockFocusController.prototype, "removeFocusAfterDisabled", null);
@@ -0,0 +1,255 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
8
+ /**
9
+ * The class used to control the code block modify content action.
10
+ */
11
+ export class CodeBlockInputController extends VegaSlimmer {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.insertCompositionTextEndFlag = true;
15
+ /**
16
+ * Stop the input event bubbles and update the code value.
17
+ *
18
+ * @param {InputEvent} e - The input event object.
19
+ */
20
+ this.handleInputEvent = (e) => {
21
+ this.stopEventPropagation(e);
22
+ this.updateCodeContent();
23
+ };
24
+ /**
25
+ * Prevent paste the file into code block. Prevent to delete the last space.
26
+ *
27
+ * @param {InputEvent} e - The input event object.
28
+ */
29
+ this.handleBeforeInput = (e) => {
30
+ e.stopPropagation();
31
+ const inputType = e.inputType;
32
+ if (inputType === 'insertFromPaste' &&
33
+ e.dataTransfer &&
34
+ e.dataTransfer.files &&
35
+ e.dataTransfer.files.length) {
36
+ e.preventDefault();
37
+ return;
38
+ }
39
+ else if (inputType === 'deleteContentBackward') {
40
+ if (!this.value || !this.value.code || this.value.code === ' ') {
41
+ e.preventDefault();
42
+ return;
43
+ }
44
+ // In low version firefox, the selected text could not delete when press delete key, so we delete it manually.
45
+ const range = this.selectionController.getCurrentRange();
46
+ if (range && !range.collapsed) {
47
+ const contentStartOffset = this.getContentStartOffset(range);
48
+ const newValue = this.deleteSelectedText(contentStartOffset, range.toString().length);
49
+ e.preventDefault();
50
+ this.valueController.updateValue(newValue, this.value.language);
51
+ this.selectionController.enqueueSelectionRangeFutureState(contentStartOffset);
52
+ return;
53
+ }
54
+ }
55
+ this.storeStaticRange(e);
56
+ };
57
+ /**
58
+ * An event handler function that is triggered when the composition of text input starts. In this case,
59
+ * it sets the `insertCompositionTextEndFlag` property of the `UserInputController` class to `false`.
60
+ *
61
+ * @param {CompositionEvent} e The composition event instance
62
+ */
63
+ this.handleCompositionStart = (e) => {
64
+ this.insertCompositionTextEndFlag = false;
65
+ this.stopEventPropagation(e);
66
+ };
67
+ /**
68
+ * An event handler function that is triggered when the composition of text input ends. In this case,
69
+ * it sets the `insertCompositionTextEndFlag` property of the `UserInputController` class to `true`.
70
+ *
71
+ * @param {CompositionEvent} e The composition event instance
72
+ */
73
+ this.handleCompositionEnd = (e) => {
74
+ this.insertCompositionTextEndFlag = true;
75
+ this.stopEventPropagation(e);
76
+ this.updateCodeContent();
77
+ };
78
+ }
79
+ /**
80
+ * Stop `beforeinput` and `input` event bubbles to parent element.
81
+ */
82
+ registerInputEvent() {
83
+ const codeContentContainerRef = this.contentRenderer.getCodeContentContainerRef();
84
+ if (codeContentContainerRef) {
85
+ codeContentContainerRef.addEventListener('compositionstart', this.handleCompositionStart);
86
+ codeContentContainerRef.addEventListener('compositionend', this.handleCompositionEnd);
87
+ codeContentContainerRef.addEventListener('beforeinput', this.handleBeforeInput);
88
+ codeContentContainerRef.addEventListener('input', this.handleInputEvent);
89
+ }
90
+ }
91
+ /**
92
+ * Remove the event listener.
93
+ */
94
+ unregisterEventListener() {
95
+ const codeContentContainerRef = this.contentRenderer.getCodeContentContainerRef();
96
+ if (codeContentContainerRef) {
97
+ codeContentContainerRef.removeEventListener('beforeinput', this.handleBeforeInput);
98
+ codeContentContainerRef.removeEventListener('input', this.handleInputEvent);
99
+ codeContentContainerRef.removeEventListener('compositionstart', this.handleCompositionStart);
100
+ codeContentContainerRef.removeEventListener('compositionend', this.handleCompositionEnd);
101
+ }
102
+ }
103
+ /**
104
+ * Stop the event bubbles.
105
+ *
106
+ * @param {Event} e - The event object.
107
+ */
108
+ stopEventPropagation(e) {
109
+ e.stopPropagation();
110
+ }
111
+ /**
112
+ * Delete the selected text manually.
113
+ *
114
+ * @param {number} contentStartOffset - The start index.
115
+ * @param {number} length - The selected text length.
116
+ * @returns {string} - The content after delete.
117
+ */
118
+ deleteSelectedText(contentStartOffset, length) {
119
+ let oldValue = this.value.code;
120
+ if (length >= oldValue.length) {
121
+ oldValue = '';
122
+ }
123
+ else {
124
+ oldValue = oldValue.slice(0, contentStartOffset) + oldValue.slice(contentStartOffset + length);
125
+ }
126
+ return oldValue;
127
+ }
128
+ /**
129
+ * Calculate caret position of the code content.
130
+ *
131
+ * @param {Range} param - The range instance.
132
+ * @returns {number} - The caret position.
133
+ */
134
+ getContentStartOffset({ startContainer, startOffset }) {
135
+ const startSpan = startContainer.nodeType === Node.TEXT_NODE
136
+ ? startContainer.parentElement
137
+ : startContainer;
138
+ const currentNodes = this.contentParseController.getCurrentCodeNodes();
139
+ let index = Number(startSpan.dataset.index);
140
+ if (startSpan.nodeName === 'CODE') {
141
+ index = startOffset;
142
+ startOffset = 0;
143
+ }
144
+ let beforeText = '';
145
+ for (let i = 0; i < index; i++) {
146
+ beforeText += currentNodes[i].text;
147
+ }
148
+ return beforeText.length + startOffset;
149
+ }
150
+ /**
151
+ * Store the static range of the input event if the `insertCompositionTextEndFlag` is true.
152
+ * The static range will be used to get the correct cursor position. In safari browser the range from the ShadowSelectionPolyfill is incorrect.
153
+ *
154
+ * @param {InputEvent} e - The input event object.
155
+ */
156
+ storeStaticRange(e) {
157
+ const range = this.selectionController.getCurrentRange();
158
+ if (this.insertCompositionTextEndFlag && range) {
159
+ const { startContainer, startOffset } = range;
160
+ const dataLength = this.getInsertDataLength(e);
161
+ this.selectionController.storeInputStaticRange({
162
+ startContainer: startContainer,
163
+ startOffset: Math.max(0, startOffset + dataLength),
164
+ });
165
+ }
166
+ }
167
+ //TODO: Refactor the update range logic to unified the flow.
168
+ /**
169
+ * Calculates the length of the inserted data based on the input event type.
170
+ *
171
+ * @param {InputEvent} e - The input event object.
172
+ * @returns {number} - The length of the inserted data.
173
+ */
174
+ getInsertDataLength(e) {
175
+ const { data, inputType } = e;
176
+ switch (inputType) {
177
+ case 'insertText':
178
+ return data.length; // For insert text, we return the length of the inserted text.
179
+ case 'insertParagraph':
180
+ case 'insertLineBreak':
181
+ return 1; // For paragraph or line break, we consider it as a single character.
182
+ case 'deleteContentBackward':
183
+ return -1; // For delete backward, we return -1.
184
+ default:
185
+ return 0; // For other input types, we return 0.
186
+ }
187
+ }
188
+ /**
189
+ * Update the code content after user modify action.
190
+ */
191
+ updateCodeContent() {
192
+ var _a;
193
+ if (this.insertCompositionTextEndFlag) {
194
+ this.selectionController.enqueueSelectionRangeFutureState();
195
+ const codeContentContainerRef = this.contentRenderer.getCodeContentContainerRef();
196
+ // Remove the unnecessary line break tag before get the code content.
197
+ this.removeUnnecessaryLineBreak(codeContentContainerRef.querySelector('br'));
198
+ let newContent = codeContentContainerRef.innerText;
199
+ if (newContent.endsWith('\n\n')) {
200
+ newContent = newContent.slice(0, newContent.length - '\n'.length) + ' ';
201
+ }
202
+ if (this.isInsertSingleLineBreakAtEnd(newContent)) {
203
+ newContent = newContent + ' ';
204
+ }
205
+ if (newContent.endsWith('\n')) {
206
+ newContent = newContent.slice(0, newContent.length - '\n'.length);
207
+ }
208
+ this.valueController.updateValue(newContent, (_a = this.value) === null || _a === void 0 ? void 0 : _a.language);
209
+ }
210
+ }
211
+ /**
212
+ * If remove all content of span element, browser will create a new <br/> element, we need remove the unnecessary element.
213
+ * In firefox, the new <br/> element will append in span element when insert line break at end of content, and the current element should not remove.
214
+ *
215
+ * @param {Nullable<HTMLElement>} br - The new create line break element.
216
+ */
217
+ removeUnnecessaryLineBreak(br) {
218
+ if (br && br.parentElement && br.parentElement.tagName !== 'SPAN') {
219
+ br.remove();
220
+ }
221
+ }
222
+ /**
223
+ * In some low versions of firefox, there are only one line break tag when insert line break at end of content. We need check this and add white space to make the line break work properly.
224
+ *
225
+ * @param {string} newValue - The new code content.
226
+ * @returns {boolean} - Boolean result.
227
+ */
228
+ isInsertSingleLineBreakAtEnd(newValue) {
229
+ if ((!this.value && newValue === ' \n') || (this.value && this.value.code + '\n' === newValue)) {
230
+ return true;
231
+ }
232
+ return false;
233
+ }
234
+ }
235
+ __decorate([
236
+ MapToComponentField()
237
+ ], CodeBlockInputController.prototype, "selectionController", void 0);
238
+ __decorate([
239
+ MapToComponentField()
240
+ ], CodeBlockInputController.prototype, "contentRenderer", void 0);
241
+ __decorate([
242
+ MapToComponentField()
243
+ ], CodeBlockInputController.prototype, "valueController", void 0);
244
+ __decorate([
245
+ MapToComponentField()
246
+ ], CodeBlockInputController.prototype, "contentParseController", void 0);
247
+ __decorate([
248
+ MapToComponentField()
249
+ ], CodeBlockInputController.prototype, "value", void 0);
250
+ __decorate([
251
+ MapToComponentMethod('componentDidLoad')
252
+ ], CodeBlockInputController.prototype, "registerInputEvent", null);
253
+ __decorate([
254
+ MapToComponentMethod('disconnectedCallback')
255
+ ], CodeBlockInputController.prototype, "unregisterEventListener", null);
@@ -0,0 +1,266 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { MapToComponentField, MapToComponentMethod } from 'vega-slimmer/core';
8
+ import ShadowSelectionPolyfill, { ShadowSelection, } from '../../../../polyfill/shadow-selection/shadow-selection-polyfill';
9
+ import { AutoRunWhenReRenderTaskQueueSlimmer } from '../../../../helpers/slimmers/auto-run-when-re-render-task-queue-slimmer.abstract';
10
+ import changeManager from '../../../../helpers/change-manager/change-manager';
11
+ import domNodeSubjectFactory from '../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
12
+ import { VegaInternalCodeBlockSelectionChange } from '../../../../helpers/event-manager/event-id/vega-internal-event-id';
13
+ import { SelectionController } from '../../../vega-rich-text-editor/slimmers/controllers/selection-controller';
14
+ import { debounce } from '../../../../utils/timer';
15
+ /**
16
+ * The class used to control the code block input cursor.
17
+ */
18
+ export class VegaCodeBlockSelectionController extends AutoRunWhenReRenderTaskQueueSlimmer {
19
+ constructor() {
20
+ super(1);
21
+ this.selectionState = null;
22
+ this.handleSelectionWithDebounce = debounce(this.handleSelectionChange, VegaCodeBlockSelectionController.SELECTION_CHANGE_DEBOUNCE_TIME, this);
23
+ /**
24
+ * The method invoke after the component re-render.
25
+ */
26
+ this.doTask = async () => {
27
+ // add await Promise.resolve to put the code behind to a micro task
28
+ await Promise.resolve();
29
+ const selection = this.getSelection();
30
+ const range = this.createNextRange();
31
+ if (selection && range) {
32
+ selection.removeAllRanges();
33
+ selection.addRange(range);
34
+ }
35
+ };
36
+ }
37
+ /**
38
+ * Get current range instance.
39
+ *
40
+ * @returns {Nullable<Range>} - The range instance or null.
41
+ */
42
+ getCurrentRange() {
43
+ const selection = this.getSelection();
44
+ if (selection.rangeCount) {
45
+ return selection.getRangeAt(0);
46
+ }
47
+ }
48
+ /**
49
+ * We need to store the selection state if the selection is a ShadowSelection, because the range is out of date in `input` event.
50
+ *
51
+ * @param {VegaRangeLike} range - The range like object.
52
+ */
53
+ storeInputStaticRange(range) {
54
+ const selection = this.getSelection();
55
+ if (selection instanceof ShadowSelection) {
56
+ this.selectionState = {
57
+ contentOffset: this.getContentOffsetByRange(range),
58
+ currentNodeOffset: 0,
59
+ };
60
+ }
61
+ }
62
+ /**
63
+ * Sets the next selection state with specified start and end nodes, offsets, push the update task to a queue.
64
+ *
65
+ * @param {Nullable<number>} [offset] - Set the range start offset to current position.
66
+ * @param {boolean} [immediatelyRun] - Should the task run immediately. default is false.
67
+ */
68
+ enqueueSelectionRangeFutureState(offset, immediatelyRun = false) {
69
+ if (offset || offset === 0) {
70
+ this.selectionState = {
71
+ contentOffset: offset,
72
+ currentNodeOffset: 0,
73
+ };
74
+ }
75
+ else {
76
+ const selection = this.getSelection();
77
+ if (selection && selection.rangeCount > 0) {
78
+ // If the selection is a ShadowSelection, we need to use the selectionState update in method `storeInputStaticRange`.
79
+ // Otherwise, we can get the content offset from the selection range.
80
+ if (!(selection instanceof ShadowSelection)) {
81
+ const range = selection.getRangeAt(0);
82
+ this.selectionState = {
83
+ contentOffset: this.getContentOffsetByRange(range),
84
+ currentNodeOffset: range.startOffset,
85
+ };
86
+ }
87
+ }
88
+ }
89
+ super.enqueueTheTaskIntoQueue(immediatelyRun);
90
+ }
91
+ /**
92
+ * Component lifecycle
93
+ */
94
+ addSelectionChangeEventListener() {
95
+ document.addEventListener('selectionchange', this.handleSelectionWithDebounce);
96
+ }
97
+ /**
98
+ * Component lifecycle
99
+ */
100
+ removeSelectionChangeEventListener() {
101
+ document.removeEventListener('selectionchange', this.handleSelectionWithDebounce);
102
+ }
103
+ /**
104
+ * Create the code block shadowRoot new range instance from the next selection state.
105
+ *
106
+ * @returns {Nullable<Range>} - The new range instance.
107
+ */
108
+ createNextRange() {
109
+ if (this.selectionState) {
110
+ const codeContentContainerRef = this.contentRenderer.getCodeContentContainerRef();
111
+ const rangeStartNodeSelector = this.getCursorNodeSelectorAndUpdateOffset();
112
+ let startOffset = this.selectionState.currentNodeOffset;
113
+ const cursorSpan = codeContentContainerRef.querySelector(rangeStartNodeSelector);
114
+ if (cursorSpan) {
115
+ const range = new Range();
116
+ startOffset = Math.min(cursorSpan.firstChild.textContent.length, startOffset);
117
+ range.setStart(cursorSpan.firstChild, startOffset);
118
+ range.setEnd(cursorSpan.firstChild, startOffset);
119
+ this.selectionState = null;
120
+ return range;
121
+ }
122
+ }
123
+ }
124
+ /**
125
+ * Get the code block selected range
126
+ *
127
+ * @returns {Selection} A [Selection](https://developer.mozilla.org/en-US/docs/Web/API/Selection) object
128
+ */
129
+ getSelection() {
130
+ return ShadowSelectionPolyfill.getSelection(this.host.shadowRoot);
131
+ }
132
+ /**
133
+ * Get the current input cursor offset of the code content, so we can get the next cursor node according the offset after re-render.
134
+ *
135
+ * @example
136
+ * Code content: const t = new Date();\nconsole.log(t);
137
+ * Render result: <span>const</span><span> t</span><span> = </span><span>new</span><span> Date();</span><span>\n</span><span>console.</span><span>log</span><span>(t)</span>
138
+ * Current range: {startContainer: [The last span], startOffset:2}
139
+ * Offset: 26
140
+ * @param {VegaRangeLike} range - The current selection range like object.
141
+ * @returns {number} - The index of the cursor position.
142
+ */
143
+ getContentOffsetByRange(range) {
144
+ const codeContentContainerRef = this.contentRenderer.getCodeContentContainerRef();
145
+ let { startContainer, startOffset } = range;
146
+ if (startContainer.nodeName === 'SPAN' && startContainer.childNodes.length > 1) {
147
+ startContainer = startContainer.childNodes[Math.max(0, startOffset - 1)];
148
+ startOffset = this.getTextContent(startContainer).length;
149
+ }
150
+ const spanNodes = Array.from(codeContentContainerRef.childNodes);
151
+ let offset = 0;
152
+ const startSpan = startContainer.nodeName === 'BR' || startContainer.nodeType === Node.TEXT_NODE
153
+ ? startContainer.parentElement
154
+ : startContainer;
155
+ for (let i = 0; i < spanNodes.length; i++) {
156
+ if (startContainer === codeContentContainerRef) {
157
+ if (i < startOffset) {
158
+ offset += this.getTextContent(spanNodes[i]).length;
159
+ }
160
+ }
161
+ else {
162
+ if (spanNodes[i] === startSpan) {
163
+ if (startSpan.childNodes.length === 1) {
164
+ offset += startOffset;
165
+ }
166
+ else {
167
+ for (let j = 0; j < startSpan.childNodes.length; j++) {
168
+ if (startSpan.childNodes[j] === startContainer) {
169
+ offset += startOffset;
170
+ break;
171
+ }
172
+ else {
173
+ offset += this.getTextContent(startSpan.childNodes[j]).length;
174
+ }
175
+ }
176
+ }
177
+ break;
178
+ }
179
+ else {
180
+ offset += this.getTextContent(spanNodes[i]).length;
181
+ }
182
+ }
183
+ }
184
+ return offset;
185
+ }
186
+ /**
187
+ * Get the range start container selector after the code content re-render and update the offset of current node.
188
+ *
189
+ * @returns {string} - The span which has attribute data-index=[index].
190
+ */
191
+ getCursorNodeSelectorAndUpdateOffset() {
192
+ const codeNodes = this.contentParseController.getCurrentCodeNodes();
193
+ const { contentOffset } = this.selectionState;
194
+ let nodeIndex = 0;
195
+ if (!this.value || !this.value.code || contentOffset >= this.value.code.length) {
196
+ this.selectionState.currentNodeOffset = codeNodes[codeNodes.length - 1].text.length;
197
+ nodeIndex = codeNodes.length - 1;
198
+ }
199
+ else {
200
+ let text = '';
201
+ for (let i = 0; i < codeNodes.length; i++) {
202
+ text += codeNodes[i].text;
203
+ if (text.length >= contentOffset) {
204
+ this.selectionState.currentNodeOffset = Math.max(0, codeNodes[i].text.length - (text.length - contentOffset));
205
+ nodeIndex = i;
206
+ break;
207
+ }
208
+ }
209
+ }
210
+ // The cursor position is incorrect in firefox when cursor node is line break node.
211
+ if (codeNodes[nodeIndex].text === '\n' && this.selectionState.currentNodeOffset > 0) {
212
+ nodeIndex++;
213
+ this.selectionState.currentNodeOffset = 0;
214
+ }
215
+ return `span[data-index="${nodeIndex}"]`;
216
+ }
217
+ /**
218
+ * Notify the code content selection change event.
219
+ */
220
+ handleSelectionChange() {
221
+ const selection = this.getSelection();
222
+ if (selection && selection.rangeCount > 0) {
223
+ changeManager.notify(domNodeSubjectFactory.getSubject(this.host, VegaInternalCodeBlockSelectionChange), { detail: true });
224
+ }
225
+ else {
226
+ changeManager.notify(domNodeSubjectFactory.getSubject(this.host, VegaInternalCodeBlockSelectionChange), { detail: false });
227
+ }
228
+ }
229
+ /**
230
+ * Get the node text content, the BR node will return `\n`;
231
+ *
232
+ * @param {Node} node - The node instance.
233
+ * @returns {string} - The node text content.
234
+ */
235
+ getTextContent(node) {
236
+ if (node.nodeType === Node.TEXT_NODE) {
237
+ return node.textContent;
238
+ }
239
+ else if (node.nodeName === 'BR') {
240
+ return '\n';
241
+ }
242
+ else {
243
+ return node.innerText;
244
+ }
245
+ }
246
+ }
247
+ // Must make sure the debounce time will not greater than the RTE selection range debounce time.
248
+ VegaCodeBlockSelectionController.SELECTION_CHANGE_DEBOUNCE_TIME = Math.min(SelectionController.SELECTION_CHANGE_DEBOUNCE_TIME, 40);
249
+ __decorate([
250
+ MapToComponentField()
251
+ ], VegaCodeBlockSelectionController.prototype, "host", void 0);
252
+ __decorate([
253
+ MapToComponentField()
254
+ ], VegaCodeBlockSelectionController.prototype, "value", void 0);
255
+ __decorate([
256
+ MapToComponentField()
257
+ ], VegaCodeBlockSelectionController.prototype, "contentRenderer", void 0);
258
+ __decorate([
259
+ MapToComponentField()
260
+ ], VegaCodeBlockSelectionController.prototype, "contentParseController", void 0);
261
+ __decorate([
262
+ MapToComponentMethod('componentDidLoad')
263
+ ], VegaCodeBlockSelectionController.prototype, "addSelectionChangeEventListener", null);
264
+ __decorate([
265
+ MapToComponentMethod('disconnectedCallback')
266
+ ], VegaCodeBlockSelectionController.prototype, "removeSelectionChangeEventListener", null);
@@ -0,0 +1,44 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
8
+ /**
9
+ * The component value controller.
10
+ */
11
+ export class VegaCodeBlockValueController extends VegaSlimmer {
12
+ /**
13
+ * Update the component value if code content or code language update.
14
+ *
15
+ * @param {string} code - The new code content.
16
+ * @param {string} language - The new code language.
17
+ */
18
+ updateValue(code, language) {
19
+ if (!this.value || this.value.code !== code || this.value.language !== language) {
20
+ this.value = {
21
+ language: language,
22
+ code,
23
+ };
24
+ this.changeEventEmitter.emit(this.value);
25
+ }
26
+ }
27
+ /**
28
+ * Set a default value if the value is not defined.
29
+ */
30
+ initialValue() {
31
+ if (!this.value) {
32
+ this.value = { code: '', language: 'plainText' };
33
+ }
34
+ }
35
+ }
36
+ __decorate([
37
+ MapToComponentField({ writable: true })
38
+ ], VegaCodeBlockValueController.prototype, "value", void 0);
39
+ __decorate([
40
+ MapToComponentField()
41
+ ], VegaCodeBlockValueController.prototype, "changeEventEmitter", void 0);
42
+ __decorate([
43
+ MapToComponentMethod('connectedCallback')
44
+ ], VegaCodeBlockValueController.prototype, "initialValue", null);