@globalpayments/vega 2.61.0 → 2.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/dist/cjs/{app-globals-7e624dd0.js → app-globals-8f5fa42a.js} +23 -15
  2. package/dist/cjs/base-renderer-0a3b62b7.js +9 -0
  3. package/dist/cjs/{child-nodes-event-prevent-slimmer-184fe3b2.js → child-nodes-event-prevent-slimmer-4e96270e.js} +1 -1
  4. package/dist/cjs/{code-block-ecb2df41.js → code-block-eb66d852.js} +73 -22
  5. package/dist/cjs/{component-value-history-controller-slimmer.abstract-58a0f64c.js → component-value-history-controller-slimmer.abstract-62cdf04c.js} +16 -182
  6. package/dist/cjs/{design-token-16f74439.js → design-token-76bb47bd.js} +1 -1
  7. package/dist/cjs/{dom-node-subject-factory-4eb1fec2.js → dom-node-subject-observer-factory-58e3c010.js} +41 -0
  8. package/dist/cjs/{content-state-d7b8e70b.js → dto-renderer-manager-f3894490.js} +1647 -1501
  9. package/dist/cjs/{element-appender-slimmer-c4816142.js → element-appender-slimmer-e8dac628.js} +7 -8
  10. package/dist/cjs/{event-emit-slimmer-2da7c9d6.js → event-emit-slimmer-428d8802.js} +3 -4
  11. package/dist/cjs/{form-field-controller-slimmer-dab30e5c.js → form-field-controller-slimmer-cc6e53a4.js} +4 -5
  12. package/dist/cjs/{image-annotation-action-7eaab3ce.js → image-annotation-action-a628ec9b.js} +24 -81
  13. package/dist/cjs/{index-da628bba.js → index-5505e8dd.js} +3 -3
  14. package/dist/cjs/index.cjs.js +49 -23
  15. package/dist/cjs/{icon-manager-9072356d.js → internal-icon-manager-32f9ed63.js} +51 -0
  16. package/dist/cjs/{internal-vega-event-manager-7b87c2f4.js → internal-vega-event-manager-28b957c8.js} +73 -73
  17. package/dist/cjs/language-extension-20a1dba5.js +207 -0
  18. package/dist/cjs/loader.cjs.js +14 -12
  19. package/dist/cjs/{public-rules-21622bd0.js → public-rules-5d0f3a5f.js} +5 -5
  20. package/dist/cjs/range-cfc45f9e.js +178 -0
  21. package/dist/cjs/{responsive-format-facade-0d22ff78.js → responsive-format-facade-7e933525.js} +4 -3
  22. package/dist/cjs/{rich-text-editor-required-rule-8d7e441a.js → rich-text-editor-required-rule-72170c10.js} +2 -2
  23. package/dist/cjs/{string-input-formatter-slimmer-5a744e71.js → string-input-formatter-slimmer-f6c7a255.js} +4 -4
  24. package/dist/cjs/{style-formatter-a66813a2.js → style-formatter-702df81e.js} +1 -1
  25. package/dist/cjs/{sub-state-notify-slimmer-9602b5bb.js → sub-state-notify-slimmer-bb64fcfc.js} +4 -4
  26. package/dist/cjs/{sub-state-observer-slimmer-df7df5bb.js → sub-state-observer-slimmer-84175d61.js} +4 -4
  27. package/dist/cjs/{vega-skeleton-loader-controller-9c54f3aa.js → token-extension-23ccff1d.js} +679 -3
  28. package/dist/cjs/vega-accordion.cjs.entry.js +15 -16
  29. package/dist/cjs/vega-app-header-button.cjs.entry.js +20 -21
  30. package/dist/cjs/vega-banner.cjs.entry.js +7 -9
  31. package/dist/cjs/vega-box.cjs.entry.js +13 -12
  32. package/dist/cjs/vega-brand-logo.cjs.entry.js +1 -2
  33. package/dist/cjs/vega-breadcrumb.cjs.entry.js +8 -9
  34. package/dist/cjs/vega-button-circle.cjs.entry.js +16 -16
  35. package/dist/cjs/vega-button-group_2.cjs.entry.js +11 -12
  36. package/dist/cjs/vega-button-link.cjs.entry.js +7 -8
  37. package/dist/cjs/vega-button.cjs.entry.js +15 -15
  38. package/dist/cjs/vega-calendar_4.cjs.entry.js +22 -24
  39. package/dist/cjs/vega-card.cjs.entry.js +12 -11
  40. package/dist/cjs/vega-carousel.cjs.entry.js +13 -13
  41. package/dist/cjs/vega-checkbox_2.cjs.entry.js +12 -13
  42. package/dist/cjs/vega-chip.cjs.entry.js +17 -17
  43. package/dist/cjs/vega-code-block.cjs.entry.js +16 -17
  44. package/dist/cjs/vega-color-picker.cjs.entry.js +6 -7
  45. package/dist/cjs/vega-combo-box.cjs.entry.js +14 -15
  46. package/dist/cjs/vega-date-picker_2.cjs.entry.js +30 -31
  47. package/dist/cjs/vega-dialog_2.cjs.entry.js +27 -27
  48. package/dist/cjs/vega-divider.cjs.entry.js +12 -11
  49. package/dist/cjs/vega-dropdown_5.cjs.entry.js +32 -32
  50. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  51. package/dist/cjs/vega-field-label.cjs.entry.js +6 -7
  52. package/dist/cjs/vega-file-uploader.cjs.entry.js +15 -17
  53. package/dist/cjs/vega-flag-icon.cjs.entry.js +13 -13
  54. package/dist/cjs/vega-flex.cjs.entry.js +12 -11
  55. package/dist/cjs/vega-font.cjs.entry.js +12 -11
  56. package/dist/cjs/vega-form.cjs.entry.js +13 -14
  57. package/dist/cjs/vega-grid.cjs.entry.js +12 -11
  58. package/dist/cjs/vega-icon.cjs.entry.js +15 -14
  59. package/dist/cjs/vega-image-uploader.cjs.entry.js +18 -18
  60. package/dist/cjs/vega-input-credit-card.cjs.entry.js +14 -16
  61. package/dist/cjs/vega-input-numeric.cjs.entry.js +10 -11
  62. package/dist/cjs/vega-input-phone-number.cjs.entry.js +20 -21
  63. package/dist/cjs/vega-input-range.cjs.entry.js +11 -12
  64. package/dist/cjs/vega-input-select.cjs.entry.js +27 -28
  65. package/dist/cjs/vega-input.cjs.entry.js +12 -13
  66. package/dist/cjs/vega-item-toggle.cjs.entry.js +5 -6
  67. package/dist/cjs/vega-left-nav_5.cjs.entry.js +33 -34
  68. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +13 -12
  69. package/dist/cjs/vega-page-notification_2.cjs.entry.js +2 -3
  70. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +8 -9
  71. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +3 -4
  72. package/dist/cjs/vega-pagination.cjs.entry.js +18 -18
  73. package/dist/cjs/vega-popover_2.cjs.entry.js +18 -18
  74. package/dist/cjs/vega-progress-tracker.cjs.entry.js +5 -6
  75. package/dist/cjs/vega-radio_2.cjs.entry.js +13 -14
  76. package/dist/cjs/vega-rich-text-content.cjs.entry.js +53 -48
  77. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +387 -261
  78. package/dist/cjs/vega-segment-control.cjs.entry.js +5 -6
  79. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +20 -20
  80. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +13 -14
  81. package/dist/cjs/vega-sidenav_3.cjs.entry.js +24 -25
  82. package/dist/cjs/vega-signature-capture.cjs.entry.js +16 -17
  83. package/dist/cjs/vega-stepper.cjs.entry.js +12 -13
  84. package/dist/cjs/vega-tab-group_2.cjs.entry.js +8 -9
  85. package/dist/cjs/vega-table_8.cjs.entry.js +58 -59
  86. package/dist/cjs/vega-textarea.cjs.entry.js +9 -10
  87. package/dist/cjs/vega-time-picker_2.cjs.entry.js +24 -24
  88. package/dist/cjs/vega-toggle-switch.cjs.entry.js +7 -8
  89. package/dist/cjs/vega-tooltip_2.cjs.entry.js +12 -12
  90. package/dist/cjs/vega.cjs.js +14 -12
  91. package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.js +31 -0
  92. package/dist/collection/components/vega-rich-text-editor/constants/constant.js +10 -0
  93. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy-registry.js +11 -0
  94. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/node-split-text-strategy.js +6 -3
  95. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-or-decorator-node-strategy.js +12 -6
  96. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy.js +2 -2
  97. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-node-to-nearest-root-strategy.js +57 -0
  98. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/update-cursor-position-strategy.js +2 -1
  99. package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-node-to-nearest-root-action.js +14 -0
  100. package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +1 -0
  101. package/dist/collection/components/vega-rich-text-editor/dto/actions/update-cursor-position-action.js +5 -2
  102. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +12 -0
  103. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +36 -10
  104. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.js +10 -4
  105. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +145 -0
  106. package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +97 -0
  107. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-extension.js +113 -0
  108. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +90 -0
  109. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/insert-token-node-action.js +16 -0
  110. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/insert-token-node-strategy.js +20 -0
  111. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.js +60 -0
  112. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-extension.js +38 -0
  113. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node-renderer.js +67 -0
  114. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node.js +55 -0
  115. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +88 -0
  116. package/dist/collection/components/vega-rich-text-editor/public-api.js +38 -0
  117. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/extension-controller.js +97 -0
  118. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/focus-controller.js +8 -6
  119. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.js +12 -0
  120. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +9 -3
  121. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +43 -18
  122. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +3 -1
  123. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +6 -6
  124. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.js +9 -9
  125. package/dist/collection/components/vega-rich-text-editor/test/dto/content-state.test.js +41 -0
  126. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +44 -11
  127. package/dist/collection/global/scripts/before-vega-load.js +9 -0
  128. package/dist/collection/helpers/code-format/test/code-formatter.test.js +1 -1
  129. package/dist/collection/helpers/public-api.js +1 -1
  130. package/dist/collection/helpers/rte-manager/dto-action-strategy-manager.js +2 -0
  131. package/dist/esm/{app-globals-ce54f0ac.js → app-globals-aaff0b25.js} +13 -5
  132. package/dist/esm/base-renderer-101f6d04.js +7 -0
  133. package/dist/esm/{child-nodes-event-prevent-slimmer-2a3115ae.js → child-nodes-event-prevent-slimmer-7fe3dc57.js} +1 -1
  134. package/dist/esm/{code-block-89a4dd13.js → code-block-68300b47.js} +67 -17
  135. package/dist/esm/{component-value-history-controller-slimmer.abstract-95b199df.js → component-value-history-controller-slimmer.abstract-ac2f1bfd.js} +13 -179
  136. package/dist/esm/{design-token-eaa7c221.js → design-token-1a36307e.js} +1 -1
  137. package/dist/esm/{dom-node-subject-factory-3c2e13f1.js → dom-node-subject-observer-factory-c7bc3035.js} +41 -1
  138. package/dist/esm/{content-state-fc47457c.js → dto-renderer-manager-af66bbd9.js} +1643 -1502
  139. package/dist/esm/{element-appender-slimmer-ce83db8a.js → element-appender-slimmer-fe68ec2d.js} +3 -4
  140. package/dist/esm/{event-emit-slimmer-4428ce26.js → event-emit-slimmer-3922d816.js} +2 -3
  141. package/dist/esm/{form-field-controller-slimmer-6e69ca4e.js → form-field-controller-slimmer-f7e8845b.js} +2 -3
  142. package/dist/esm/{image-annotation-action-53812eb7.js → image-annotation-action-f61c2693.js} +20 -76
  143. package/dist/esm/{index-1d479c88.js → index-7fe93427.js} +1 -1
  144. package/dist/esm/index.js +13 -10
  145. package/dist/esm/{icon-manager-2ee1c619.js → internal-icon-manager-f0486245.js} +51 -1
  146. package/dist/esm/{internal-vega-event-manager-a654cf8a.js → internal-vega-event-manager-cb06e987.js} +1 -1
  147. package/dist/esm/language-extension-1ada2a9d.js +204 -0
  148. package/dist/esm/loader.js +14 -12
  149. package/dist/esm/{public-rules-095284f6.js → public-rules-9f62069a.js} +5 -5
  150. package/dist/esm/range-c2eeb794.js +176 -0
  151. package/dist/esm/{responsive-format-facade-86b6de3b.js → responsive-format-facade-5711c77d.js} +4 -3
  152. package/dist/esm/{rich-text-editor-required-rule-4e8d2db8.js → rich-text-editor-required-rule-de738309.js} +1 -1
  153. package/dist/esm/{string-input-formatter-slimmer-60897659.js → string-input-formatter-slimmer-69117deb.js} +2 -2
  154. package/dist/esm/{style-formatter-a0719a8f.js → style-formatter-2479dc61.js} +1 -1
  155. package/dist/esm/{sub-state-notify-slimmer-ee730968.js → sub-state-notify-slimmer-4252a90e.js} +1 -1
  156. package/dist/esm/{sub-state-observer-slimmer-d474634d.js → sub-state-observer-slimmer-baa8853a.js} +1 -1
  157. package/dist/esm/{vega-skeleton-loader-controller-394a6026.js → token-extension-6fc5e1f5.js} +672 -4
  158. package/dist/esm/vega-accordion.entry.js +13 -14
  159. package/dist/esm/vega-app-header-button.entry.js +14 -15
  160. package/dist/esm/vega-banner.entry.js +4 -6
  161. package/dist/esm/vega-box.entry.js +13 -12
  162. package/dist/esm/vega-brand-logo.entry.js +1 -2
  163. package/dist/esm/vega-breadcrumb.entry.js +4 -5
  164. package/dist/esm/vega-button-circle.entry.js +14 -14
  165. package/dist/esm/vega-button-group_2.entry.js +6 -7
  166. package/dist/esm/vega-button-link.entry.js +5 -6
  167. package/dist/esm/vega-button.entry.js +13 -13
  168. package/dist/esm/vega-calendar_4.entry.js +7 -9
  169. package/dist/esm/vega-card.entry.js +12 -11
  170. package/dist/esm/vega-carousel.entry.js +12 -12
  171. package/dist/esm/vega-checkbox_2.entry.js +6 -7
  172. package/dist/esm/vega-chip.entry.js +14 -14
  173. package/dist/esm/vega-code-block.entry.js +8 -9
  174. package/dist/esm/vega-color-picker.entry.js +5 -6
  175. package/dist/esm/vega-combo-box.entry.js +6 -7
  176. package/dist/esm/vega-date-picker_2.entry.js +16 -17
  177. package/dist/esm/vega-dialog_2.entry.js +15 -15
  178. package/dist/esm/vega-divider.entry.js +12 -11
  179. package/dist/esm/vega-dropdown_5.entry.js +15 -15
  180. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  181. package/dist/esm/vega-field-label.entry.js +4 -5
  182. package/dist/esm/vega-file-uploader.entry.js +6 -8
  183. package/dist/esm/vega-flag-icon.entry.js +12 -12
  184. package/dist/esm/vega-flex.entry.js +12 -11
  185. package/dist/esm/vega-font.entry.js +12 -11
  186. package/dist/esm/vega-form.entry.js +7 -8
  187. package/dist/esm/vega-grid.entry.js +12 -11
  188. package/dist/esm/vega-icon.entry.js +12 -11
  189. package/dist/esm/vega-image-uploader.entry.js +12 -12
  190. package/dist/esm/vega-input-credit-card.entry.js +7 -9
  191. package/dist/esm/vega-input-numeric.entry.js +7 -8
  192. package/dist/esm/vega-input-phone-number.entry.js +12 -13
  193. package/dist/esm/vega-input-range.entry.js +7 -8
  194. package/dist/esm/vega-input-select.entry.js +14 -15
  195. package/dist/esm/vega-input.entry.js +7 -8
  196. package/dist/esm/vega-item-toggle.entry.js +3 -4
  197. package/dist/esm/vega-left-nav_5.entry.js +14 -15
  198. package/dist/esm/vega-loader-wrapper_2.entry.js +11 -10
  199. package/dist/esm/vega-page-notification_2.entry.js +1 -2
  200. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +3 -4
  201. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +1 -2
  202. package/dist/esm/vega-pagination.entry.js +10 -10
  203. package/dist/esm/vega-popover_2.entry.js +14 -14
  204. package/dist/esm/vega-progress-tracker.entry.js +3 -4
  205. package/dist/esm/vega-radio_2.entry.js +6 -7
  206. package/dist/esm/vega-rich-text-content.entry.js +24 -19
  207. package/dist/esm/vega-rich-text-editor_4.entry.js +342 -216
  208. package/dist/esm/vega-segment-control.entry.js +4 -5
  209. package/dist/esm/vega-selection-chip_2.entry.js +15 -15
  210. package/dist/esm/vega-selection-tile_2.entry.js +7 -8
  211. package/dist/esm/vega-sidenav_3.entry.js +16 -17
  212. package/dist/esm/vega-signature-capture.entry.js +14 -15
  213. package/dist/esm/vega-stepper.entry.js +6 -7
  214. package/dist/esm/vega-tab-group_2.entry.js +4 -5
  215. package/dist/esm/vega-table_8.entry.js +12 -13
  216. package/dist/esm/vega-textarea.entry.js +6 -7
  217. package/dist/esm/vega-time-picker_2.entry.js +14 -14
  218. package/dist/esm/vega-toggle-switch.entry.js +6 -7
  219. package/dist/esm/vega-tooltip_2.entry.js +12 -12
  220. package/dist/esm/vega.js +14 -12
  221. package/dist/types/components/vega-rich-text-content/vega-rich-text-content.d.ts +8 -0
  222. package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +2 -1
  223. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy-registry.d.ts +8 -0
  224. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-node-to-nearest-root-strategy.d.ts +18 -0
  225. package/dist/types/components/vega-rich-text-editor/dto/actions/insert-node-to-nearest-root-action.d.ts +14 -0
  226. package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +2 -1
  227. package/dist/types/components/vega-rich-text-editor/dto/actions/update-cursor-position-action.d.ts +4 -2
  228. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +2 -3
  229. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +6 -0
  230. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +11 -1
  231. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.d.ts +3 -3
  232. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +95 -2
  233. package/dist/types/components/vega-rich-text-editor/extensions/extension.abstract.d.ts +82 -0
  234. package/dist/types/components/vega-rich-text-editor/extensions/languages/language-extension.d.ts +50 -0
  235. package/dist/types/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.d.ts +54 -0
  236. package/dist/types/components/vega-rich-text-editor/extensions/tokens/insert-token-node-action.d.ts +16 -0
  237. package/dist/types/components/vega-rich-text-editor/extensions/tokens/insert-token-node-strategy.d.ts +12 -0
  238. package/dist/types/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.d.ts +24 -0
  239. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-extension.d.ts +14 -0
  240. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node-renderer.d.ts +38 -0
  241. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node.d.ts +39 -0
  242. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.d.ts +47 -0
  243. package/dist/types/components/vega-rich-text-editor/interface.d.ts +52 -1
  244. package/dist/types/components/vega-rich-text-editor/public-api.d.ts +29 -0
  245. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/extension-controller.d.ts +44 -0
  246. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.d.ts +10 -1
  247. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.d.ts +6 -0
  248. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +4 -4
  249. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.d.ts +7 -7
  250. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +10 -0
  251. package/dist/types/components.d.ts +21 -0
  252. package/dist/types/helpers/public-api.d.ts +1 -1
  253. package/dist/types/types/components.type.d.ts +1 -0
  254. package/dist/types/types/public-api.d.ts +11 -0
  255. package/dist/vega/index.esm.js +1 -1
  256. package/dist/vega/p-03cc47b7.entry.js +1 -0
  257. package/dist/vega/p-07836d27.entry.js +1 -0
  258. package/dist/vega/p-079f5d94.entry.js +1 -0
  259. package/dist/vega/p-09cb98f3.entry.js +1 -0
  260. package/dist/vega/{p-fb232e29.entry.js → p-0b91bb73.entry.js} +1 -1
  261. package/dist/vega/p-15a78afd.entry.js +1 -0
  262. package/dist/vega/p-16075b30.entry.js +1 -0
  263. package/dist/vega/{p-67101f43.entry.js → p-1c08077c.entry.js} +1 -1
  264. package/dist/vega/{p-c5e862aa.js → p-1da54ff3.js} +1 -1
  265. package/dist/vega/p-20a180e4.js +1 -0
  266. package/dist/vega/p-25ddb070.entry.js +1 -0
  267. package/dist/vega/p-2788afe7.entry.js +1 -0
  268. package/dist/vega/p-2a1b3108.entry.js +1 -0
  269. package/dist/vega/p-2ee4def0.js +1 -0
  270. package/dist/vega/p-2f88ba36.entry.js +1 -0
  271. package/dist/vega/p-327cd6ec.entry.js +1 -0
  272. package/dist/vega/{p-f2a1fe6a.js → p-39c185a5.js} +1 -1
  273. package/dist/vega/p-3b1bedaf.entry.js +1 -0
  274. package/dist/vega/p-3c96bbe1.entry.js +1 -0
  275. package/dist/vega/p-3cdbee7e.js +1 -0
  276. package/dist/vega/p-3d0d8a21.entry.js +1 -0
  277. package/dist/vega/p-3d53858c.entry.js +1 -0
  278. package/dist/vega/{p-927cab0c.entry.js → p-3f3bbaaa.entry.js} +2 -2
  279. package/dist/vega/p-42c364e0.entry.js +1 -0
  280. package/dist/vega/p-4f56a427.entry.js +1 -0
  281. package/dist/vega/p-4f5a2b0c.entry.js +1 -0
  282. package/dist/vega/p-51d40b0d.entry.js +1 -0
  283. package/dist/vega/p-5420c1d4.entry.js +1 -0
  284. package/dist/vega/p-589b7ea3.entry.js +1 -0
  285. package/dist/vega/p-5d3c6a06.entry.js +1 -0
  286. package/dist/vega/p-5dec47da.entry.js +1 -0
  287. package/dist/vega/p-5f377954.js +1 -1
  288. package/dist/vega/p-6244b0ad.entry.js +1 -0
  289. package/dist/vega/p-63212cc1.js +1 -0
  290. package/dist/vega/p-6585cfd5.entry.js +1 -0
  291. package/dist/vega/p-6ba27010.js +1 -0
  292. package/dist/vega/{p-129f5938.js → p-6caa6bb2.js} +1 -1
  293. package/dist/vega/p-74ac2a48.js +1 -0
  294. package/dist/vega/p-76c7538a.entry.js +1 -0
  295. package/dist/vega/p-7d8eaca9.entry.js +1 -0
  296. package/dist/vega/p-7da6e7bd.js +1 -0
  297. package/dist/vega/p-81765b4b.entry.js +1 -0
  298. package/dist/vega/p-81fbf18f.entry.js +1 -0
  299. package/dist/vega/p-8682ee0a.entry.js +1 -0
  300. package/dist/vega/p-893d5dfa.js +1 -0
  301. package/dist/vega/p-8a484812.entry.js +1 -0
  302. package/dist/vega/p-8a6b820a.entry.js +1 -0
  303. package/dist/vega/p-8c9ea6f4.js +1 -0
  304. package/dist/vega/p-8e58d6cb.entry.js +1 -0
  305. package/dist/vega/p-8e812dca.entry.js +1 -0
  306. package/dist/vega/p-8f056ac2.js +1 -0
  307. package/dist/vega/{p-e66aef91.entry.js → p-9125ba84.entry.js} +1 -1
  308. package/dist/vega/p-92469fa1.entry.js +1 -0
  309. package/dist/vega/p-9ab3bb6f.entry.js +1 -0
  310. package/dist/vega/p-9ca0bdcc.js +1 -0
  311. package/dist/vega/p-a1362aa4.entry.js +1 -0
  312. package/dist/vega/p-a61e4bba.entry.js +1 -0
  313. package/dist/vega/p-a646b66d.js +1 -0
  314. package/dist/vega/p-a7b5f497.js +1 -0
  315. package/dist/vega/p-ac5c5221.entry.js +1 -0
  316. package/dist/vega/p-b1a5ff74.entry.js +1 -0
  317. package/dist/vega/p-b32f7aac.entry.js +1 -0
  318. package/dist/vega/{p-dc6f45af.entry.js → p-baafe7d9.entry.js} +1 -1
  319. package/dist/vega/{p-3a6abcd7.entry.js → p-bb51e020.entry.js} +1 -1
  320. package/dist/vega/{p-e764acd5.js → p-bb61f015.js} +1 -1
  321. package/dist/vega/p-bc0ae89a.entry.js +1 -0
  322. package/dist/vega/p-bd39af8a.entry.js +1 -0
  323. package/dist/vega/{p-cd18f0fe.js → p-bdd9ef3b.js} +1 -1
  324. package/dist/vega/{p-5f85811c.entry.js → p-c167fa41.entry.js} +1 -1
  325. package/dist/vega/{p-7ecf65ec.js → p-c2377afa.js} +1 -1
  326. package/dist/vega/p-c671f57e.js +1 -0
  327. package/dist/vega/p-c6a354b1.js +1 -0
  328. package/dist/vega/p-c7726252.js +1 -0
  329. package/dist/vega/p-ce1766fa.js +1 -0
  330. package/dist/vega/p-cfb2af9c.entry.js +1 -0
  331. package/dist/vega/{p-3bf95faf.entry.js → p-d2790023.entry.js} +2 -2
  332. package/dist/vega/p-d3bbfb1b.js +1 -0
  333. package/dist/vega/{p-5faa7313.entry.js → p-d9617358.entry.js} +1 -1
  334. package/dist/vega/p-d982babe.entry.js +1 -0
  335. package/dist/vega/p-dcae53cf.entry.js +1 -0
  336. package/dist/vega/p-ddfad815.entry.js +1 -0
  337. package/dist/vega/p-e00ed9bd.entry.js +1 -0
  338. package/dist/vega/p-e365aba9.entry.js +1 -0
  339. package/dist/vega/p-ebfc5739.entry.js +1 -0
  340. package/dist/vega/{p-aeccc7f8.js → p-f1436035.js} +1 -1
  341. package/dist/vega/p-fe2cb3a1.entry.js +1 -0
  342. package/dist/vega/p-ff3a8907.entry.js +1 -0
  343. package/dist/vega/vega.esm.js +1 -1
  344. package/package.json +1 -1
  345. package/dist/cjs/dom-node-subject-observer-factory-15130e50.js +0 -45
  346. package/dist/cjs/internal-icon-manager-f8677abb.js +0 -55
  347. package/dist/esm/dom-node-subject-observer-factory-1e456cd4.js +0 -43
  348. package/dist/esm/internal-icon-manager-7eac52c8.js +0 -53
  349. package/dist/vega/p-0070e970.entry.js +0 -1
  350. package/dist/vega/p-0169af6b.entry.js +0 -1
  351. package/dist/vega/p-03e9cbc8.js +0 -1
  352. package/dist/vega/p-04341cd4.entry.js +0 -1
  353. package/dist/vega/p-0664ca9c.js +0 -1
  354. package/dist/vega/p-074b73f8.js +0 -1
  355. package/dist/vega/p-08fb66a4.entry.js +0 -1
  356. package/dist/vega/p-0cf35281.entry.js +0 -1
  357. package/dist/vega/p-0e75ddb2.entry.js +0 -1
  358. package/dist/vega/p-13cb5a04.entry.js +0 -1
  359. package/dist/vega/p-18223240.js +0 -1
  360. package/dist/vega/p-19ce9ae6.js +0 -1
  361. package/dist/vega/p-27f922fe.entry.js +0 -1
  362. package/dist/vega/p-2c7b7dd6.entry.js +0 -1
  363. package/dist/vega/p-310f9e76.entry.js +0 -1
  364. package/dist/vega/p-330d7ba8.js +0 -1
  365. package/dist/vega/p-34fdbe7a.js +0 -1
  366. package/dist/vega/p-3d6c302d.js +0 -1
  367. package/dist/vega/p-42563036.entry.js +0 -1
  368. package/dist/vega/p-441a681b.js +0 -1
  369. package/dist/vega/p-4a357f30.entry.js +0 -1
  370. package/dist/vega/p-4e8b6eb6.entry.js +0 -1
  371. package/dist/vega/p-50dd3cf1.js +0 -1
  372. package/dist/vega/p-518722aa.js +0 -1
  373. package/dist/vega/p-5422fdc4.entry.js +0 -1
  374. package/dist/vega/p-5c36a6cb.entry.js +0 -1
  375. package/dist/vega/p-5d095f9b.entry.js +0 -1
  376. package/dist/vega/p-68806f9c.entry.js +0 -1
  377. package/dist/vega/p-6cf490d9.entry.js +0 -1
  378. package/dist/vega/p-6def20e1.js +0 -1
  379. package/dist/vega/p-78d3f99b.entry.js +0 -1
  380. package/dist/vega/p-792715f3.js +0 -1
  381. package/dist/vega/p-7a201c6e.entry.js +0 -1
  382. package/dist/vega/p-7c22a1c3.entry.js +0 -1
  383. package/dist/vega/p-7f329473.entry.js +0 -1
  384. package/dist/vega/p-80f1b680.js +0 -1
  385. package/dist/vega/p-82beb586.entry.js +0 -1
  386. package/dist/vega/p-84eb131b.entry.js +0 -1
  387. package/dist/vega/p-8c46e116.js +0 -1
  388. package/dist/vega/p-909820dd.entry.js +0 -1
  389. package/dist/vega/p-989e141d.entry.js +0 -1
  390. package/dist/vega/p-a29e5d32.js +0 -1
  391. package/dist/vega/p-a3942d0b.entry.js +0 -1
  392. package/dist/vega/p-a66533c1.entry.js +0 -1
  393. package/dist/vega/p-a9b831d8.entry.js +0 -1
  394. package/dist/vega/p-b1d0e4cb.entry.js +0 -1
  395. package/dist/vega/p-b34f9891.entry.js +0 -1
  396. package/dist/vega/p-b820e42f.entry.js +0 -1
  397. package/dist/vega/p-c4677b0c.entry.js +0 -1
  398. package/dist/vega/p-c467fe81.entry.js +0 -1
  399. package/dist/vega/p-c7762c86.entry.js +0 -1
  400. package/dist/vega/p-c9e57cf1.entry.js +0 -1
  401. package/dist/vega/p-d0b3e319.entry.js +0 -1
  402. package/dist/vega/p-d7b4ffed.entry.js +0 -1
  403. package/dist/vega/p-e4586f13.entry.js +0 -1
  404. package/dist/vega/p-e71c4a09.entry.js +0 -1
  405. package/dist/vega/p-ea66d9f7.entry.js +0 -1
  406. package/dist/vega/p-ebbaa112.entry.js +0 -1
  407. package/dist/vega/p-ec6819fe.entry.js +0 -1
  408. package/dist/vega/p-ec9a8f81.entry.js +0 -1
  409. package/dist/vega/p-ed01328c.entry.js +0 -1
  410. package/dist/vega/p-ed798cd4.entry.js +0 -1
  411. package/dist/vega/p-edb71a72.entry.js +0 -1
  412. package/dist/vega/p-f08a4adf.js +0 -1
  413. package/dist/vega/p-f4e23c23.entry.js +0 -1
  414. package/dist/vega/p-f825e8a2.entry.js +0 -1
  415. package/dist/vega/p-f9deb43e.entry.js +0 -1
  416. package/dist/vega/p-fdd930a9.entry.js +0 -1
  417. package/dist/vega/p-fe52c370.entry.js +0 -1
@@ -0,0 +1,50 @@
1
+ import { RTEDropdownListItem, RTEExtensionContext, RTELanguageExtensionState } from '../../interface';
2
+ import { VegaRTEExtension } from '../extension.abstract';
3
+ /**
4
+ * Language extension for Vega Rich Text Editor.
5
+ * This extension allows users to switch between different languages and maintain separate content for each language.
6
+ */
7
+ export declare class VegaRTELanguageExtension extends VegaRTEExtension {
8
+ private languageToolbarButtonRenderer;
9
+ private languageState;
10
+ constructor(languageList: RTEDropdownListItem[], languagesState?: RTELanguageExtensionState);
11
+ /**
12
+ * Initializes the language extension.
13
+ * Applies the content for the selected language upon initialization.
14
+ *
15
+ * @param {RTEExtensionContext} context The extension context.
16
+ */
17
+ initialExtension(context: RTEExtensionContext): void;
18
+ /**
19
+ * Invoked to set the language extension state. The method used if the state can not be provide when the editor is initialized.
20
+ *
21
+ * @param {RTELanguageExtensionState} state The language extension state to set.
22
+ */
23
+ setState(state: RTELanguageExtensionState): void;
24
+ /**
25
+ * Invoked to get the language extension state.
26
+ *
27
+ * @returns {RTELanguageExtensionState} The current language extension state.
28
+ */
29
+ getState(): RTELanguageExtensionState;
30
+ /**
31
+ * Listener for language change events from the toolbar button renderer.
32
+ *
33
+ * @param {string} selectedLanguage - The newly selected language.
34
+ */
35
+ private languageChangeCallBack;
36
+ /**
37
+ * Applies the content for the selected language.
38
+ *
39
+ * @param {string} selectedLanguage - The newly selected language.
40
+ * @param {RTELanguageExtensionState['contentMap']} contentMap - The content map for all languages.
41
+ */
42
+ private applyLanguageContent;
43
+ /**
44
+ * Get the RTE latest value. The value is from the code block when in source edit mode; otherwise, it's from the host value.
45
+ *
46
+ * @param {HTMLElement} host - The host element of the rich text editor.
47
+ * @returns {VegaRTEContent} - The content.
48
+ */
49
+ private getRTELatestValue;
50
+ }
@@ -0,0 +1,54 @@
1
+ import { RTEDropdownListItem, VegaRTECreateElementFunction, VegaRTERenderResult, VegaRTEToolbarRenderContext } from '../../interface';
2
+ import { VegaRTEToolbarButtonRenderer } from '../base-toolbar-button-renderer';
3
+ export declare type LanguageSelectedCallback = (selectedLanguage: string) => void;
4
+ /**
5
+ * Toolbar button renderer for language selection in Vega Rich Text Editor.
6
+ */
7
+ export declare class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer {
8
+ private languageList;
9
+ private selectedLanguage;
10
+ private labelRef;
11
+ private languageChangeCallback;
12
+ constructor(languageList: RTEDropdownListItem[], languageChangeCallback: LanguageSelectedCallback, selectedLanguage: string);
13
+ /**
14
+ * Public method to set the selected language.
15
+ *
16
+ * @param {string} language The language key to set as selected.
17
+ */
18
+ setSelectedLanguage(language: string): void;
19
+ /**
20
+ * The source edit mode does not affect the language button visibility.
21
+ *
22
+ * @returns {boolean} True if the button is hidden, false otherwise.
23
+ */
24
+ isHidden(): boolean;
25
+ /**
26
+ * @inheritDoc
27
+ */
28
+ render(createElement: VegaRTECreateElementFunction, editorContext: VegaRTEToolbarRenderContext): VegaRTERenderResult;
29
+ /**
30
+ * Override to render the button label with custom behavior.
31
+ *
32
+ * @inheritDoc
33
+ */
34
+ protected renderButtonLabel(h: VegaRTECreateElementFunction, editorContext: VegaRTEToolbarRenderContext, label: string): VegaRTERenderResult;
35
+ /**
36
+ * Handles the button click event. No need this method for language button.
37
+ *
38
+ * @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
39
+ */
40
+ protected handleButtonClick(editorContext: VegaRTEToolbarRenderContext): void;
41
+ /**
42
+ * Handles the language selection event.
43
+ *
44
+ * @param {string} itemKey - The key of the selected language item.
45
+ */
46
+ protected handleDropdownClick: (itemKey: string) => void;
47
+ /**
48
+ * Gets the label of a language by its key.
49
+ *
50
+ * @param {string} key The language key to look up.
51
+ * @returns {string} The label of the language, or the key if not found.
52
+ */
53
+ private getLanguageLabelByKey;
54
+ }
@@ -0,0 +1,16 @@
1
+ import { Nullable } from '../../../../types/general';
2
+ import { ModifyContentAction } from '../../dto/actions/modify-content-action.abstract';
3
+ import { RTERange } from '../../dto/range';
4
+ import { RTEDropdownListItem } from '../../interface';
5
+ /**
6
+ * Action to insert a token node at a specified range in the Rich Text Editor.
7
+ *
8
+ * @example block.apply(new InsertTokenNodeAction(rteRange, tokenNode));
9
+ */
10
+ export declare class InsertTokenNodeAction extends ModifyContentAction {
11
+ type: string;
12
+ token: RTEDropdownListItem;
13
+ rteRange: Nullable<RTERange>;
14
+ actionHandleResult: boolean;
15
+ constructor(rteRange: Nullable<RTERange>, token: RTEDropdownListItem);
16
+ }
@@ -0,0 +1,12 @@
1
+ import { ActionHandleStrategy } from '../../dto/action-handle-strategies/action-handle-strategy.abstract';
2
+ import type { RTETextBlock } from '../../dto/blocks/text-block';
3
+ import { InsertTokenNodeAction } from './insert-token-node-action';
4
+ /**
5
+ * Strategy to handle the insertion of a token node into the nearest root block.
6
+ */
7
+ export declare class InsertTokenNodeStrategy extends ActionHandleStrategy<InsertTokenNodeAction, RTETextBlock> {
8
+ /**
9
+ * @inheritDoc
10
+ */
11
+ protected handleAction(action: InsertTokenNodeAction, block: RTETextBlock): void;
12
+ }
@@ -0,0 +1,24 @@
1
+ import { Nullable } from '../../../../types/general';
2
+ import { VegaRTECustomNode } from '../../interface';
3
+ import { ElementToDTOStrategy } from '../../slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract';
4
+ /**
5
+ * Strategy to convert <span class="token" token-key="...">...</span> to a token node
6
+ */
7
+ export declare class SpanToTokenNodeStrategy extends ElementToDTOStrategy {
8
+ /**
9
+ * @inheritDoc
10
+ */
11
+ canHandle(elementsArray: HTMLElement[], currentIndex: number): number;
12
+ /**
13
+ * @inheritDoc
14
+ */
15
+ handle(elementsArray: HTMLElement[]): Nullable<VegaRTECustomNode>;
16
+ /**
17
+ * @inheritDoc
18
+ */
19
+ appendChildBlocks(): void;
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ shouldProceedToElementChildren(): boolean;
24
+ }
@@ -0,0 +1,14 @@
1
+ import { RTEDropdownListItem, RTEExtensionContext } from '../../interface';
2
+ import { VegaRTEExtension } from '../extension.abstract';
3
+ /**
4
+ * Vega Rich Text Editor Token Extension
5
+ */
6
+ export declare class VegaRTETokenExtension extends VegaRTEExtension {
7
+ private tokenRenderer;
8
+ private tokenToolbarButtonRenderer;
9
+ constructor(tokenList?: RTEDropdownListItem[]);
10
+ /**
11
+ * @inheritDoc
12
+ */
13
+ initialExtension(context: RTEExtensionContext): void;
14
+ }
@@ -0,0 +1,38 @@
1
+ import { RTEExtensionContext, RTERenderContext, VegaRTECreateElementFunction, VegaRTERenderResult } from '../../interface';
2
+ import { VegaRTEExtensionRenderer } from '../base-extension-renderer';
3
+ import { RTETokenNode } from './token-node';
4
+ /**
5
+ * Token node renderer for the rich text editor.
6
+ */
7
+ export declare class RTETokenNodeRenderer extends VegaRTEExtensionRenderer {
8
+ private extensionContext;
9
+ /**
10
+ * Renders the token node as a DOM element.
11
+ *
12
+ * @param {VegaRTECreateElementFunction} createElement - The function to create a DOM element.
13
+ * @param {RTETokenNode} node - The token node to render.
14
+ * @param {RTERenderContext} editorContent - The editor content context.
15
+ * @returns {VegaRTERenderResult} - The rendered DOM element.
16
+ */
17
+ doRender(createElement: VegaRTECreateElementFunction, node: RTETokenNode, editorContent?: RTERenderContext): VegaRTERenderResult;
18
+ /**
19
+ * Sets the RTE extension context.
20
+ *
21
+ * @param {RTEExtensionContext} context - The context of the RTE extension.
22
+ */
23
+ injectExtensionContext(context: RTEExtensionContext): void;
24
+ /**
25
+ * Get the style for the token element.
26
+ *
27
+ * @param {RTETokenNode} node - The token node.
28
+ * @returns {Record<string, string>} The style object for the token element.
29
+ */
30
+ protected getStyle(node: RTETokenNode): Record<string, string>;
31
+ /**
32
+ * Handle the click event on the token element.
33
+ *
34
+ * @param {MouseEvent} event - The click event.
35
+ * @param {RTETokenNode} node - The token node that was clicked.
36
+ */
37
+ private handleTokenElementClick;
38
+ }
@@ -0,0 +1,39 @@
1
+ import { RTETextBlock } from '../../dto/blocks/text-block';
2
+ import { RTETextNode } from '../../dto/nodes/text-node';
3
+ import { RTENodeAnnotationMapKey, RTENodeAnnotationMapValue, VegaRTETokenNode } from '../../interface';
4
+ /**
5
+ * Token node for the Vega Rich Text Editor.
6
+ */
7
+ export declare class RTETokenNode extends RTETextNode {
8
+ type: string;
9
+ token: string;
10
+ constructor(id: string, token: string, text: string, parentBlock: RTETextBlock, annotations?: Map<RTENodeAnnotationMapKey, RTENodeAnnotationMapValue>);
11
+ /**
12
+ * @inheritDoc
13
+ */
14
+ static from(value: VegaRTETokenNode, parent: RTETextBlock): RTETokenNode;
15
+ /**
16
+ * Converts the token node to a JSON representation.
17
+ *
18
+ * @returns {VegaRTETokenNode} - The JSON representation of the token node.
19
+ */
20
+ toJSON(): VegaRTETokenNode;
21
+ /**
22
+ * Determines if the token node is content editable.
23
+ *
24
+ * @returns {boolean} - Always returns false for token nodes.
25
+ */
26
+ isContentEditable(): boolean;
27
+ /**
28
+ * Clones the token node.
29
+ *
30
+ * @returns {RTETokenNode} - The cloned token node.
31
+ */
32
+ clone(): RTETokenNode;
33
+ /**
34
+ * Converts the token node to an HTML representation.
35
+ *
36
+ * @returns {string} - The HTML representation of the token node.
37
+ */
38
+ toHtml(): string;
39
+ }
@@ -0,0 +1,47 @@
1
+ import { RTEExtensionContext, VegaRTECreateElementFunction, VegaRTEToolbarRenderContext, VegaRTERenderResult, RTEDropdownListItem } from '../../interface';
2
+ import { VegaRTEToolbarButtonRenderer } from '../base-toolbar-button-renderer';
3
+ /**
4
+ * Renderer for the token toolbar button in the Vega Rich Text Editor.
5
+ */
6
+ export declare class RTETokenToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer {
7
+ private tokenList;
8
+ private extensionContext;
9
+ constructor(tokenList: RTEDropdownListItem[]);
10
+ /**
11
+ * Sets the RTE extension context.
12
+ *
13
+ * @param {RTEExtensionContext} context - The context of the RTE extension.
14
+ */
15
+ injectExtensionContext(context: RTEExtensionContext): void;
16
+ /**
17
+ * Renders the token toolbar button.
18
+ *
19
+ * @param {VegaRTECreateElementFunction} createElement Function to create elements in the rich text editor.
20
+ * @param {VegaRTEToolbarRenderContext} editorContext The render context for the editor.
21
+ * @returns {VegaRTERenderResult} Token toolbar button.
22
+ */
23
+ render(createElement: VegaRTECreateElementFunction, editorContext: VegaRTEToolbarRenderContext): VegaRTERenderResult;
24
+ /**
25
+ * Checks if the token toolbar button is disabled.
26
+ *
27
+ * @returns {boolean} True if the button is disabled, false otherwise.
28
+ */
29
+ protected isDisabled(): boolean;
30
+ /**
31
+ * Handles the button click event. No need this method for token button.
32
+ *
33
+ * @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
34
+ */
35
+ protected handleButtonClick(editorContext: VegaRTEToolbarRenderContext): void;
36
+ /**
37
+ * Handles the token item click event from the dropdown.
38
+ *
39
+ * @param {string} itemKey - The key of the clicked token item.
40
+ * @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
41
+ */
42
+ protected handleDropdownClick(itemKey: string, editorContext: VegaRTEToolbarRenderContext): void;
43
+ /**
44
+ * Refreshes the editor UI.
45
+ */
46
+ private flushEditorUI;
47
+ }
@@ -18,6 +18,7 @@ import { RTEHtmlBlock } from './dto/blocks/html-block';
18
18
  import { InlineHtmlAnnotation } from './dto/annotations/inline-html-annotation';
19
19
  import type { RTERange } from './dto/range';
20
20
  import type { RTENode } from './dto/nodes/node.abstract';
21
+ import type { VegaRTEContent } from './dto/content-state';
21
22
 
22
23
  export type ToolbarButtonConfig = {
23
24
  icon: string;
@@ -302,7 +303,7 @@ export type VegaRTECreateElementFunction = <
302
303
  children?: VegaRTERenderNode | VegaRTERenderNode[],
303
304
  ) => VegaRTERenderResult;
304
305
 
305
- export type VegaRTEExtensionContext = {
306
+ export type VegaRTEToolbarRenderContext = {
306
307
  host: HTMLVegaRichTextEditorElement;
307
308
  rteRange: RTERange;
308
309
  sourceEditMode: boolean;
@@ -320,3 +321,53 @@ export type FocusNodeRangeState = {
320
321
  startNode: RTENode;
321
322
  startOffset: number;
322
323
  };
324
+
325
+ export type RTEExtensionContext = {
326
+ host: HTMLVegaRichTextEditorElement;
327
+ /**
328
+ * Check if the editor is in source edit mode.
329
+ *
330
+ * @returns {boolean} - Whether the editor is in source edit mode.
331
+ */
332
+ isSourceEditMode: () => boolean;
333
+ /**
334
+ * Get the currently selected nodes in the editor.
335
+ *
336
+ * @returns {RTENode[]} - An array of currently selected RTENode objects.
337
+ */
338
+ getSelectedNodes: () => RTENode[];
339
+ /**
340
+ * Flush the editor value to the host. Auto focus the last node if autoFocusLastNode is true.
341
+ * Sometimes, the editor will lose focus after change the editor value, so we need to focus the last node again.
342
+ * Or apply the update cursor position action to focus the cursor to the specified position.
343
+ *
344
+ * @example flushValue(newValue, true);
345
+ * @example flushValue(newValue); host.value.apply(new UpdateCursorPositionAction(node, offset));
346
+ * @param {VegaRTEContent} value - The content value to flush.
347
+ * @param {boolean} autoFocusLastNode - Whether to auto-focus the last node after flushing.
348
+ */
349
+ flushValue: (value: VegaRTEContent, autoFocusLastNode?: boolean) => void;
350
+ };
351
+
352
+ export type RTEToolbarButtonProps = {
353
+ icon?: string;
354
+ label?: string;
355
+ showArrowIcon?: boolean;
356
+ };
357
+
358
+ export type RTEDropdownListItem = { key: string; label: string; icon?: string };
359
+
360
+ export type RTEToolbarDropdownProps = {
361
+ source?: RTEDropdownListItem[];
362
+ selectType?: 'none' | 'single';
363
+ selectedSourceKey?: string;
364
+ maxHeight?: number;
365
+ alignment?: 'start' | 'center' | 'end';
366
+ };
367
+
368
+ export type RTELanguageContentMap = Record<string, VegaRTEContent | VegaRTEContentBlock[] | undefined>;
369
+
370
+ export type RTELanguageExtensionState = {
371
+ selectedLanguage: string;
372
+ contentMap: RTELanguageContentMap;
373
+ };
@@ -0,0 +1,29 @@
1
+ export { VegaRTEContent } from './dto/content-state';
2
+ export { RTENode } from './dto/nodes/node.abstract';
3
+ export { RTEDecoratorNode } from './dto/nodes/decorator-node';
4
+ export { RTETextNode } from './dto/nodes/text-node';
5
+ export { RTETextBlock } from './dto/blocks/text-block';
6
+ export { RTEBlock } from './dto/blocks/block.abstract';
7
+ export { VegaRTEExtension } from './extensions/extension.abstract';
8
+ export { VegaRTEExtensionRenderer } from './extensions/base-extension-renderer';
9
+ export { VegaRTEToolbarButtonRenderer } from './extensions/base-toolbar-button-renderer';
10
+ export { RTETokenToolbarButtonRenderer } from './extensions/tokens/token-toolbar-button-renderer';
11
+ export { RTETokenNode } from './extensions/tokens/token-node';
12
+ export { RTETokenNodeRenderer } from './extensions/tokens/token-node-renderer';
13
+ export { VegaRTETokenExtension } from './extensions/tokens/token-extension';
14
+ export { RTELanguageToolbarButtonRenderer } from './extensions/languages/language-toolbar-button-renderer';
15
+ export { VegaRTELanguageExtension } from './extensions/languages/language-extension';
16
+ export { ModifyContentAction } from './dto/actions/modify-content-action.abstract';
17
+ export { AppendChildrenAction } from './dto/actions/append-child-nodes-action';
18
+ export { RemoveChildrenAction } from './dto/actions/remove-child-action';
19
+ export { InsertChildrenAfterAction } from './dto/actions/insert-children-after-block';
20
+ export { InsertChildrenBeforeAction } from './dto/actions/insert-children-before-block';
21
+ export { InsertNodeToNearestRootAction } from './dto/actions/insert-node-to-nearest-root-action';
22
+ export { UpdateCursorPositionAction } from './dto/actions/update-cursor-position-action';
23
+ export { CustomAttributeAnnotation } from './dto/annotations/custom-attribute-annotation';
24
+ export { CustomClassAnnotation } from './dto/annotations/custom-class-annotation';
25
+ export { CustomStyleAnnotation } from './dto/annotations/custom-style-annotation';
26
+ export { ActionHandleStrategy } from './dto/action-handle-strategies/action-handle-strategy.abstract';
27
+ export { RTERange } from './dto/range';
28
+ export { ElementToDTOStrategy } from './slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract';
29
+ export { VegaRTEPresetToolbarItems } from './constants/constant';
@@ -0,0 +1,44 @@
1
+ import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
2
+ import { VegaRichTextEditor } from '../../vega-rich-text-editor';
3
+ import { VegaRTEExtension } from '../../extensions/extension.abstract';
4
+ /**
5
+ * Inject the editor context to the extensions.
6
+ */
7
+ export declare class RTEExtensionController extends VegaSlimmer {
8
+ protected extensions: VegaRichTextEditor['extensions'];
9
+ protected host: HTMLVegaRichTextEditorElement;
10
+ protected sourceView: VegaRichTextEditor['sourceView'];
11
+ protected valueController: VegaRichTextEditor['valueController'];
12
+ protected selectionController: VegaRichTextEditor['selectionController'];
13
+ /**
14
+ * Initializes the extension context for all registered extensions.
15
+ * This method is called when the component is connected and whenever the extensions property changes.
16
+ */
17
+ protected initialExtensionContext(): void;
18
+ /**
19
+ * Update extension context when extensions property changes.
20
+ *
21
+ * @param {VegaRTEExtension[]} newValue - New extensions array.
22
+ * @param {VegaRTEExtension[]} oldValue - Old extensions array.
23
+ */
24
+ protected handleExtensionsChange(newValue: VegaRTEExtension[], oldValue: VegaRTEExtension[]): void;
25
+ /**
26
+ * Flush the editor value to the host. Auto focus the last node if autoFocusLastNode is true.
27
+ *
28
+ * @param {VegaRTEContent} value - The content value to flush.
29
+ * @param {boolean} autoFocusLastNode - Whether to auto-focus the last node after flushing.
30
+ */
31
+ private flushValue;
32
+ /**
33
+ * Check if the editor is in source edit mode.
34
+ *
35
+ * @returns {boolean} - Whether the editor is in source edit mode.
36
+ */
37
+ private isSourceEditMode;
38
+ /**
39
+ * Get the currently selected nodes in the editor.
40
+ *
41
+ * @returns {RTENode[]} - An array of currently selected RTENode objects.
42
+ */
43
+ private getSelectedNodes;
44
+ }
@@ -1,10 +1,19 @@
1
1
  import { Nullable } from '../../../../../../types/general';
2
- import { RTEContentBlock, VegaRTECustomNode, VegaRTETextAnnotations, VegaRTETransformOptions } from '../../../../interface';
2
+ import { RTEContentBlock, VegaRTEAnnotations, VegaRTECustomNode, VegaRTETextAnnotations, VegaRTETransformOptions } from '../../../../interface';
3
3
  import { RTEBlock } from '../../../../dto/blocks/block.abstract';
4
+ import { HtmlElementToAnnotationGenerateOptions } from './annotation-handler/html-element-to-annotation-generator';
4
5
  /**
5
6
  * Abstract class to define strategies for processing HTML elements
6
7
  */
7
8
  export declare abstract class ElementToDTOStrategy {
9
+ /**
10
+ * Convert element style attributes to text annotations.
11
+ *
12
+ * @param {HTMLElement} element - Current html element.
13
+ * @param {HtmlElementToAnnotationGenerateOptions} options - Options for generating annotations.
14
+ * @returns {VegaRTEAnnotations} - Generated annotations.
15
+ */
16
+ protected generateTextStyleAnnotations(element: HTMLElement, options?: HtmlElementToAnnotationGenerateOptions): VegaRTEAnnotations;
8
17
  abstract canHandle(elementsArray: HTMLElement[], currentIndex: number, options: VegaRTETransformOptions): number;
9
18
  abstract handle(elementsArray: HTMLElement[], options?: VegaRTETransformOptions, parentTextAnnotations?: VegaRTETextAnnotations): Nullable<RTEBlock | VegaRTECustomNode>;
10
19
  abstract appendChildBlocks(currentBlock: RTEContentBlock, childBlocks: RTEContentBlock[]): void;
@@ -25,4 +25,10 @@ export declare class ToolbarRenderer extends VegaSlimmer {
25
25
  render(): HTMLElement;
26
26
  private getToolbarBtnRenderer;
27
27
  private renderVegaDivider;
28
+ /**
29
+ * Renders the toolbar items based on the configured toolbar groups and items.
30
+ *
31
+ * @returns {[HTMLElement[], number]} A tuple containing the rendered toolbar items and the count of displayed items.
32
+ */
33
+ private renderToolbarItems;
28
34
  }
@@ -16,6 +16,10 @@ export declare abstract class ToolbarButtonSlimmer extends VegaSlimmer {
16
16
  private readonly autoFocusOnClick;
17
17
  protected constructor({ icon, tooltip, autoFocusOnClick }: ToolbarButtonConfig);
18
18
  setIcon(icon: string): void;
19
+ /**
20
+ * Whether the button is hidden or not.
21
+ */
22
+ isHidden(): boolean;
19
23
  render(): HTMLElement;
20
24
  /**
21
25
  * The wrapper for the button.
@@ -36,10 +40,6 @@ export declare abstract class ToolbarButtonSlimmer extends VegaSlimmer {
36
40
  * Whether the button is disabled or not.
37
41
  */
38
42
  protected isDisabled(): boolean;
39
- /**
40
- * Whether the button is hidden or not.
41
- */
42
- protected isHidden(): boolean;
43
43
  protected preventLostFocus(): {
44
44
  onMouseDown: (e: Event) => void;
45
45
  };
@@ -7,6 +7,13 @@ import { VegaRichTextEditor } from '../../../vega-rich-text-editor';
7
7
  export declare abstract class VisualModeToolbarButtonSlimmer extends ToolbarButtonSlimmer {
8
8
  protected readonly sourceView: VegaRichTextEditor['sourceView'];
9
9
  protected constructor(config: ToolbarButtonConfig);
10
+ /**
11
+ * Determines if the button should be hidden.
12
+ * Hide the button when the editor is in source view mode, except for the source edit button.
13
+ *
14
+ * @returns {boolean} - True if the button is hidden, false otherwise.
15
+ */
16
+ isHidden(): boolean;
10
17
  /**
11
18
  * Determines if the button should be disabled.
12
19
  * Determines whether should disable the button or not when the editor is not in source view mode, except for the source edit button.
@@ -14,11 +21,4 @@ export declare abstract class VisualModeToolbarButtonSlimmer extends ToolbarButt
14
21
  * @returns {boolean} - True if the button is disabled, false otherwise.
15
22
  */
16
23
  protected isDisabled(): boolean;
17
- /**
18
- * Determines if the button should be hidden.
19
- * Hide the button when the editor is in source view mode, except for the source edit button.
20
- *
21
- * @returns {boolean} - True if the button is hidden, false otherwise.
22
- */
23
- protected isHidden(): boolean;
24
24
  }
@@ -42,6 +42,8 @@ import { HistoryController } from './slimmers/controllers/history-controller';
42
42
  import { CodeBlockToolbarButtonSlimmer } from './slimmers/renderers/tools/code-block-toolbar-button-slimmer';
43
43
  import { InternalCodeBlockSelectionController } from './slimmers/controllers/internal-code-block-selection-controller';
44
44
  import { SourceEditToolbarButtonSlimmer } from './slimmers/renderers/tools/source-edit-toolbar-button-slimmer';
45
+ import { VegaRTEExtension } from './extensions/extension.abstract';
46
+ import { RTEExtensionController } from './slimmers/controllers/extension-controller';
45
47
  /**
46
48
  * @vegaVersion 2.34.0
47
49
  */
@@ -85,6 +87,7 @@ export declare class VegaRichTextEditor {
85
87
  protected readonly deleteSelectedNodesController: DeleteSelectedNodesController;
86
88
  protected readonly historyController: HistoryController;
87
89
  protected readonly internalCodeBlockSelectionController: InternalCodeBlockSelectionController;
90
+ protected readonly rteExtensionController: RTEExtensionController;
88
91
  host: HTMLVegaRichTextEditorElement;
89
92
  richTextContentEditable: boolean;
90
93
  watchRichTextContentEditable(): void;
@@ -186,6 +189,13 @@ export declare class VegaRichTextEditor {
186
189
  */
187
190
  validationRules: FormFieldValidationRule<unknown>[];
188
191
  watchValidationRules(): void;
192
+ /**
193
+ * Specifies the configuration for the rich text editor extensions.
194
+ *
195
+ * @vegaVersion 2.62.0
196
+ */
197
+ extensions: VegaRTEExtension[];
198
+ watchExtensions(): void;
189
199
  /**
190
200
  * An event emitter notifying a value change.
191
201
  *
@@ -50,6 +50,7 @@ import { VegaPageNotificationActionButtonConfig, VegaPageNotificationTypes } fro
50
50
  import { DropdownPropsForPagination, VegaPaginationItemType, VegaPaginationLayoutType } from "./components/vega-pagination/types";
51
51
  import { PieChartOptions } from "./helpers/chart/pie-chart";
52
52
  import { VegaRTEContent } from "./components/vega-rich-text-editor/dto/content-state";
53
+ import { VegaRTEExtension } from "./components/vega-rich-text-editor/extensions/extension.abstract";
53
54
  import { VegaRichTextEditorImage, VegaRTESourceEditConfig, VegaRTEToolbarItem } from "./components/vega-rich-text-editor/interface";
54
55
  import { VegaRichTextImageEditorChangeDetail, VegaRichTextImageEditorSizeType } from "./components/vega-rich-text-editor/vega-rich-text-image-editor/types";
55
56
  import { VegaRichTextLinkEditorChangeDetail, VegaRichTextLinkEditorStatus, VegaRTELinkEditorRecord } from "./components/vega-rich-text-editor/vega-rich-text-link-editor/types";
@@ -3038,6 +3039,11 @@ export namespace Components {
3038
3039
  * @vegaVersion 2.34.0
3039
3040
  */
3040
3041
  "content": VegaRTEContent;
3042
+ /**
3043
+ * Defines the configuration for rich text content extensions. It enables support for custom nodes, ensuring that extended content is rendered correctly.
3044
+ * @vegaVersion 2.62.0
3045
+ */
3046
+ "extensions": VegaRTEExtension[];
3041
3047
  /**
3042
3048
  * Invoke this method to focus on rich text content editable div
3043
3049
  * @vegaVersion 2.34.0
@@ -3060,6 +3066,11 @@ export namespace Components {
3060
3066
  * @vegaVersion 2.34.0
3061
3067
  */
3062
3068
  "disabled": boolean;
3069
+ /**
3070
+ * Specifies the configuration for the rich text editor extensions.
3071
+ * @vegaVersion 2.62.0
3072
+ */
3073
+ "extensions": VegaRTEExtension[];
3063
3074
  /**
3064
3075
  * Provides a supplementary prompt message that assists users in understanding the expected value within the rich text editor.
3065
3076
  * @vegaVersion 2.34.0
@@ -8926,6 +8937,11 @@ declare namespace LocalJSX {
8926
8937
  * @vegaVersion 2.34.0
8927
8938
  */
8928
8939
  "content"?: VegaRTEContent;
8940
+ /**
8941
+ * Defines the configuration for rich text content extensions. It enables support for custom nodes, ensuring that extended content is rendered correctly.
8942
+ * @vegaVersion 2.62.0
8943
+ */
8944
+ "extensions"?: VegaRTEExtension[];
8929
8945
  }
8930
8946
  interface VegaRichTextEditor {
8931
8947
  /**
@@ -8943,6 +8959,11 @@ declare namespace LocalJSX {
8943
8959
  * @vegaVersion 2.34.0
8944
8960
  */
8945
8961
  "disabled"?: boolean;
8962
+ /**
8963
+ * Specifies the configuration for the rich text editor extensions.
8964
+ * @vegaVersion 2.62.0
8965
+ */
8966
+ "extensions"?: VegaRTEExtension[];
8946
8967
  /**
8947
8968
  * Provides a supplementary prompt message that assists users in understanding the expected value within the rich text editor.
8948
8969
  * @vegaVersion 2.34.0
@@ -15,4 +15,4 @@ export { waitForVega } from './common';
15
15
  export { IconPayload } from './icon/interface';
16
16
  export { VegaSkeletonLoader } from './skeleton-loader/vega-skeleton-loader-controller';
17
17
  export { VegaTranslation, en as VegaTranslationResourceEN } from './translation';
18
- export { VegaRTEContent } from '../components/vega-rich-text-editor/dto/content-state';
18
+ export * from '../components/vega-rich-text-editor/public-api';
@@ -173,6 +173,7 @@ export {
173
173
  } from '../components/vega-pagination/types';
174
174
  export { PieChartOptions } from '../helpers/chart/pie-chart';
175
175
  export { VegaRTEContent } from '../components/vega-rich-text-editor/dto/content-state';
176
+ export { VegaRTEExtension } from '../components/vega-rich-text-editor/extensions/extension.abstract';
176
177
  export {
177
178
  VegaRichTextEditorImage,
178
179
  VegaRTESourceEditConfig,
@@ -42,3 +42,14 @@ export { Breakpoints } from '../constants/tokens/breakpoints';
42
42
  export { GridColumns, GridRows } from '../constants/tokens/tailwind.extend';
43
43
  export { CodeLanguage } from '../components/vega-code-block/types';
44
44
  export { VegaTableColumnGroupingModel, VegaTableColumnGroupingLeafModel, } from '../components/vega-table/interface';
45
+ export { DatePickerMonthYearType } from '../components/vega-date-picker/types';
46
+ export type { AnnotationAction } from '../components/vega-rich-text-editor/dto/actions/annotation-action.abstract';
47
+ export type { Annotation } from '../components/vega-rich-text-editor/dto/annotations/annotation.abstract';
48
+ export type { VegaRTEBaseRenderer } from '../components/vega-rich-text-editor/dto/renderers/base-renderer';
49
+ export type { BaseRenderer } from '../helpers/rte-manager/dto-renderer-manager';
50
+ export type { RTEBlockParentType, RTEBlockChildrenType, } from '../components/vega-rich-text-editor/dto/blocks/block.abstract';
51
+ export type { RTECodeBlock } from '../components/vega-rich-text-editor/dto/blocks/code-block';
52
+ export type { RTEHtmlBlock } from '../components/vega-rich-text-editor/dto/blocks/html-block';
53
+ export type { NodeAnnotations } from '../components/vega-rich-text-editor/dto/nodes/node.abstract';
54
+ export type { BlockAnnotations } from '../components/vega-rich-text-editor/dto/blocks/block.abstract';
55
+ export type { CustomAttributeAnnotation } from '../components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation';