@globalpayments/vega 2.47.1 → 2.48.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 (359) hide show
  1. package/dist/cjs/{app-globals-fdf98585.js → app-globals-22798708.js} +3 -3
  2. package/dist/cjs/{content-state-b1ec39e3.js → content-state-54d94562.js} +220 -4
  3. package/dist/cjs/{design-token-0c22ffa8.js → design-token-1abb655a.js} +1 -1
  4. package/dist/cjs/{element-appender-slimmer-b3109dd1.js → element-appender-slimmer-2d4c8c18.js} +2 -2
  5. package/dist/cjs/{form-field-controller-slimmer-2432e295.js → form-field-controller-slimmer-527c25a0.js} +2 -2
  6. package/dist/cjs/{image-annotation-action-becd6f24.js → image-annotation-action-b78404b8.js} +1 -1
  7. package/dist/cjs/{index-ec9a1f36.js → index-c4dec3aa.js} +1 -1
  8. package/dist/cjs/index.cjs.js +6 -6
  9. package/dist/cjs/{inject-keyboard-manager-d1eac696.js → inject-keyboard-manager-b301e887.js} +1 -1
  10. package/dist/cjs/{keyboard-manager-97d0ddfa.js → keyboard-manager-2ccf4b16.js} +25 -5
  11. package/dist/cjs/{keyboard-manager-slimmer-23ce5dcf.js → keyboard-manager-slimmer-900cf2f5.js} +1 -1
  12. package/dist/cjs/loader.cjs.js +5 -5
  13. package/dist/cjs/{min-number-rule-5bcccc8f.js → min-number-rule-965fc43d.js} +2 -2
  14. package/dist/cjs/{public-rules-3c2a69b4.js → public-rules-c4d2df9d.js} +3 -3
  15. package/dist/cjs/{responsive-format-facade-e48962dd.js → responsive-format-facade-38f3763e.js} +1 -1
  16. package/dist/cjs/{rich-text-editor-required-rule-f08f5891.js → rich-text-editor-required-rule-e73f2c4f.js} +1 -1
  17. package/dist/cjs/{string-input-formatter-slimmer-56a2401f.js → string-input-formatter-slimmer-50322824.js} +2 -2
  18. package/dist/cjs/{style-formatter-48ef74d4.js → style-formatter-ecb4d49c.js} +1 -1
  19. package/dist/cjs/{sub-state-notify-slimmer-b16c9094.js → sub-state-notify-slimmer-7f437b19.js} +1 -1
  20. package/dist/cjs/{sub-state-observer-slimmer-1b6de09f.js → sub-state-observer-slimmer-e90362cd.js} +1 -1
  21. package/dist/cjs/vega-accordion.cjs.entry.js +4 -4
  22. package/dist/cjs/vega-app-header-button.cjs.entry.js +4 -4
  23. package/dist/cjs/vega-box.cjs.entry.js +5 -5
  24. package/dist/cjs/vega-button-circle.cjs.entry.js +4 -4
  25. package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
  26. package/dist/cjs/vega-button.cjs.entry.js +3 -3
  27. package/dist/cjs/vega-calendar_3.cjs.entry.js +3 -3
  28. package/dist/cjs/vega-card.cjs.entry.js +4 -4
  29. package/dist/cjs/vega-carousel.cjs.entry.js +3 -3
  30. package/dist/cjs/vega-checkbox_2.cjs.entry.js +3 -3
  31. package/dist/cjs/vega-chip.cjs.entry.js +4 -4
  32. package/dist/cjs/vega-color-picker.cjs.entry.js +3 -3
  33. package/dist/cjs/vega-combo-box.cjs.entry.js +5 -5
  34. package/dist/cjs/vega-date-picker_2.cjs.entry.js +10 -10
  35. package/dist/cjs/vega-dialog_2.cjs.entry.js +4 -4
  36. package/dist/cjs/vega-divider.cjs.entry.js +4 -4
  37. package/dist/cjs/vega-dropdown_5.cjs.entry.js +8 -8
  38. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  39. package/dist/cjs/vega-file-uploader.cjs.entry.js +3 -3
  40. package/dist/cjs/vega-flag-icon.cjs.entry.js +4 -4
  41. package/dist/cjs/vega-flex.cjs.entry.js +5 -5
  42. package/dist/cjs/vega-font.cjs.entry.js +4 -4
  43. package/dist/cjs/vega-form.cjs.entry.js +4 -4
  44. package/dist/cjs/vega-grid.cjs.entry.js +4 -4
  45. package/dist/cjs/vega-icon.cjs.entry.js +4 -4
  46. package/dist/cjs/vega-image-uploader.cjs.entry.js +16 -7
  47. package/dist/cjs/vega-input-credit-card.cjs.entry.js +3 -3
  48. package/dist/cjs/vega-input-numeric.cjs.entry.js +11 -8
  49. package/dist/cjs/vega-input-phone-number.cjs.entry.js +3 -3
  50. package/dist/cjs/vega-input-range.cjs.entry.js +3 -3
  51. package/dist/cjs/vega-input-select.cjs.entry.js +5 -5
  52. package/dist/cjs/vega-input.cjs.entry.js +8 -8
  53. package/dist/cjs/{vega-internal-event-id-dc866d43.js → vega-internal-event-id-bfea9b93.js} +4 -0
  54. package/dist/cjs/vega-left-nav_5.cjs.entry.js +447 -194
  55. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
  56. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +1 -1
  57. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +1 -1
  58. package/dist/cjs/vega-pagination.cjs.entry.js +3 -3
  59. package/dist/cjs/vega-popover_2.cjs.entry.js +11 -11
  60. package/dist/cjs/vega-radio_2.cjs.entry.js +8 -5
  61. package/dist/cjs/vega-rich-text-content.cjs.entry.js +12 -12
  62. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +448 -192
  63. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +6 -6
  64. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +4 -4
  65. package/dist/cjs/vega-sidenav_3.cjs.entry.js +5 -5
  66. package/dist/cjs/vega-signature-capture.cjs.entry.js +6 -6
  67. package/dist/cjs/vega-stepper.cjs.entry.js +6 -6
  68. package/dist/cjs/vega-table_8.cjs.entry.js +5 -5
  69. package/dist/cjs/vega-textarea.cjs.entry.js +3 -3
  70. package/dist/cjs/vega-time-picker_2.cjs.entry.js +8 -8
  71. package/dist/cjs/vega-toggle-switch.cjs.entry.js +3 -3
  72. package/dist/cjs/vega-tooltip_2.cjs.entry.js +11 -11
  73. package/dist/cjs/vega.cjs.js +5 -5
  74. package/dist/collection/collection-manifest.json +1 -1
  75. package/dist/collection/components/vega-image-uploader/slimmers/renderers/vega-image-uploader-actions-renderer.js +4 -1
  76. package/dist/collection/components/vega-image-uploader/vega-image-uploader.js +11 -1
  77. package/dist/collection/components/vega-input/vega-input.js +4 -4
  78. package/dist/collection/components/vega-nav/slimmers/vega-left-nav-group-hierarchy-controller.js +31 -0
  79. package/dist/collection/components/vega-nav/vega-left-nav/test/vega-left-nav-mock-data.js +147 -0
  80. package/dist/collection/components/vega-nav/vega-left-nav/vega-left-nav.js +42 -8
  81. package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-initialize-selected-controller.js +56 -0
  82. package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-link-click-controller.js +70 -0
  83. package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-open-state-controller.js +47 -0
  84. package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-other-groups-click-controller.js +60 -0
  85. package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/renderers/vega-left-nav-group-renderer.js +10 -9
  86. package/dist/collection/components/vega-nav/vega-left-nav-group/vega-left-nav-group.js +21 -6
  87. package/dist/collection/components/vega-nav/vega-left-nav-link/slimmers/controllers/vega-left-nav-link-controller.js +21 -0
  88. package/dist/collection/components/vega-nav/vega-left-nav-link/slimmers/renderers/vega-left-nav-link-renderer.js +13 -1
  89. package/dist/collection/components/vega-nav/vega-left-nav-link/vega-left-nav-link.js +5 -0
  90. package/dist/collection/components/vega-rich-text-editor/dto/annotations/bold-annotation.js +6 -0
  91. package/dist/collection/components/vega-rich-text-editor/dto/annotations/code-annotation.js +6 -0
  92. package/dist/collection/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.js +6 -0
  93. package/dist/collection/components/vega-rich-text-editor/dto/annotations/image-annotation.js +6 -0
  94. package/dist/collection/components/vega-rich-text-editor/dto/annotations/indent-annotation.js +6 -0
  95. package/dist/collection/components/vega-rich-text-editor/dto/annotations/italic-annotation.js +6 -0
  96. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-annotation.js +6 -0
  97. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-group-annotation.js +7 -0
  98. package/dist/collection/components/vega-rich-text-editor/dto/annotations/selection-range-annotation.js +8 -0
  99. package/dist/collection/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.js +6 -0
  100. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-color-annotation.js +6 -0
  101. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-annotation.js +6 -0
  102. package/dist/collection/components/vega-rich-text-editor/dto/annotations/underline-annotation.js +6 -0
  103. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +8 -0
  104. package/dist/collection/components/vega-rich-text-editor/dto/blocks/image-block.js +14 -0
  105. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +14 -0
  106. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +20 -0
  107. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +14 -0
  108. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +47 -2
  109. package/dist/collection/components/vega-rich-text-editor/dto/editor-state.js +36 -0
  110. package/dist/collection/components/vega-rich-text-editor/dto/nodes/image-node.js +6 -0
  111. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +8 -0
  112. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +7 -1
  113. package/dist/collection/components/vega-rich-text-editor/dto/range.js +8 -0
  114. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.js +1 -1
  115. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +1 -1
  116. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +1 -1
  117. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.js +1 -1
  118. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js +1 -1
  119. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +2 -2
  120. package/dist/collection/components/vega-rich-text-editor/dto/selection-state.js +17 -0
  121. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract.js +2 -2
  122. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.js +3 -2
  123. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-image-to-rte-image-block-strategy.js +18 -15
  124. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/history-controller.js +137 -0
  125. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +54 -15
  126. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +13 -1
  127. package/dist/collection/components/vega-rich-text-editor/test/dto/content-state.test.js +116 -0
  128. package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/text-node.test.js +12 -0
  129. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +5 -0
  130. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-image-editor/slimmers/renderers/vega-rich-text-image-editor-renderer.js +4 -0
  131. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-image-editor/vega-rich-text-image-editor.js +2 -1
  132. package/dist/collection/components/vega-stepper/vega-stepper.js +2 -2
  133. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +2 -0
  134. package/dist/collection/helpers/keyboard/keyboard-manager.js +25 -5
  135. package/dist/collection/helpers/keyboard/test/keyboard-manager.test.js +204 -105
  136. package/dist/collection/helpers/validator/rules/max-number-rule.js +1 -1
  137. package/dist/collection/helpers/validator/rules/min-number-rule.js +1 -1
  138. package/dist/collection/helpers/validator/test/rules/max-number-rule.test.js +2 -2
  139. package/dist/collection/helpers/validator/test/rules/min-number-rule.test.js +2 -2
  140. package/dist/esm/{app-globals-53b6125a.js → app-globals-1bb57f5e.js} +3 -3
  141. package/dist/esm/{content-state-7437e069.js → content-state-6dba6625.js} +220 -4
  142. package/dist/esm/{design-token-fb43f78a.js → design-token-070b7326.js} +1 -1
  143. package/dist/esm/{element-appender-slimmer-0a0b20e9.js → element-appender-slimmer-d196dd21.js} +2 -2
  144. package/dist/esm/{form-field-controller-slimmer-2978abd4.js → form-field-controller-slimmer-e7dc3db1.js} +2 -2
  145. package/dist/esm/{image-annotation-action-51248df9.js → image-annotation-action-0b661259.js} +1 -1
  146. package/dist/esm/{index-96374234.js → index-4aa167d6.js} +1 -1
  147. package/dist/esm/index.js +6 -6
  148. package/dist/esm/{inject-keyboard-manager-ab0bfb8b.js → inject-keyboard-manager-f513be4a.js} +1 -1
  149. package/dist/esm/{keyboard-manager-8c4ef91b.js → keyboard-manager-262be5ce.js} +25 -5
  150. package/dist/esm/{keyboard-manager-slimmer-6f5cb52a.js → keyboard-manager-slimmer-42bf9773.js} +1 -1
  151. package/dist/esm/loader.js +5 -5
  152. package/dist/esm/{min-number-rule-a6082418.js → min-number-rule-86421853.js} +2 -2
  153. package/dist/esm/{public-rules-cfc196c9.js → public-rules-f9aaa527.js} +3 -3
  154. package/dist/esm/{responsive-format-facade-ae799f25.js → responsive-format-facade-dfed6d94.js} +1 -1
  155. package/dist/esm/{rich-text-editor-required-rule-baf61553.js → rich-text-editor-required-rule-42b796eb.js} +1 -1
  156. package/dist/esm/{string-input-formatter-slimmer-8c7987ac.js → string-input-formatter-slimmer-c61f82d6.js} +2 -2
  157. package/dist/esm/{style-formatter-bf71b8e7.js → style-formatter-788dbacf.js} +1 -1
  158. package/dist/esm/{sub-state-notify-slimmer-2216c7dc.js → sub-state-notify-slimmer-4e3cf09d.js} +1 -1
  159. package/dist/esm/{sub-state-observer-slimmer-da938c88.js → sub-state-observer-slimmer-be7a6ce3.js} +1 -1
  160. package/dist/esm/vega-accordion.entry.js +4 -4
  161. package/dist/esm/vega-app-header-button.entry.js +4 -4
  162. package/dist/esm/vega-box.entry.js +5 -5
  163. package/dist/esm/vega-button-circle.entry.js +4 -4
  164. package/dist/esm/vega-button-group_2.entry.js +3 -3
  165. package/dist/esm/vega-button.entry.js +3 -3
  166. package/dist/esm/vega-calendar_3.entry.js +3 -3
  167. package/dist/esm/vega-card.entry.js +4 -4
  168. package/dist/esm/vega-carousel.entry.js +3 -3
  169. package/dist/esm/vega-checkbox_2.entry.js +3 -3
  170. package/dist/esm/vega-chip.entry.js +4 -4
  171. package/dist/esm/vega-color-picker.entry.js +3 -3
  172. package/dist/esm/vega-combo-box.entry.js +5 -5
  173. package/dist/esm/vega-date-picker_2.entry.js +10 -10
  174. package/dist/esm/vega-dialog_2.entry.js +4 -4
  175. package/dist/esm/vega-divider.entry.js +4 -4
  176. package/dist/esm/vega-dropdown_5.entry.js +8 -8
  177. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  178. package/dist/esm/vega-file-uploader.entry.js +3 -3
  179. package/dist/esm/vega-flag-icon.entry.js +4 -4
  180. package/dist/esm/vega-flex.entry.js +5 -5
  181. package/dist/esm/vega-font.entry.js +4 -4
  182. package/dist/esm/vega-form.entry.js +4 -4
  183. package/dist/esm/vega-grid.entry.js +4 -4
  184. package/dist/esm/vega-icon.entry.js +4 -4
  185. package/dist/esm/vega-image-uploader.entry.js +16 -7
  186. package/dist/esm/vega-input-credit-card.entry.js +3 -3
  187. package/dist/esm/vega-input-numeric.entry.js +11 -8
  188. package/dist/esm/vega-input-phone-number.entry.js +3 -3
  189. package/dist/esm/vega-input-range.entry.js +3 -3
  190. package/dist/esm/vega-input-select.entry.js +5 -5
  191. package/dist/esm/vega-input.entry.js +8 -8
  192. package/dist/esm/{vega-internal-event-id-7d1ff289.js → vega-internal-event-id-85ad403f.js} +3 -1
  193. package/dist/esm/vega-left-nav_5.entry.js +447 -194
  194. package/dist/esm/vega-loader-wrapper_2.entry.js +3 -3
  195. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +1 -1
  196. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +1 -1
  197. package/dist/esm/vega-pagination.entry.js +3 -3
  198. package/dist/esm/vega-popover_2.entry.js +11 -11
  199. package/dist/esm/vega-radio_2.entry.js +8 -5
  200. package/dist/esm/vega-rich-text-content.entry.js +12 -12
  201. package/dist/esm/vega-rich-text-editor_4.entry.js +448 -192
  202. package/dist/esm/vega-selection-chip_2.entry.js +6 -6
  203. package/dist/esm/vega-selection-tile_2.entry.js +4 -4
  204. package/dist/esm/vega-sidenav_3.entry.js +5 -5
  205. package/dist/esm/vega-signature-capture.entry.js +6 -6
  206. package/dist/esm/vega-stepper.entry.js +6 -6
  207. package/dist/esm/vega-table_8.entry.js +5 -5
  208. package/dist/esm/vega-textarea.entry.js +3 -3
  209. package/dist/esm/vega-time-picker_2.entry.js +8 -8
  210. package/dist/esm/vega-toggle-switch.entry.js +3 -3
  211. package/dist/esm/vega-tooltip_2.entry.js +11 -11
  212. package/dist/esm/vega.js +5 -5
  213. package/dist/types/components/vega-image-uploader/slimmers/renderers/vega-image-uploader-actions-renderer.d.ts +1 -0
  214. package/dist/types/components/vega-image-uploader/vega-image-uploader.d.ts +3 -0
  215. package/dist/types/components/vega-input/vega-input.d.ts +2 -2
  216. package/dist/types/components/vega-nav/interface.d.ts +11 -0
  217. package/dist/types/components/vega-nav/slimmers/vega-left-nav-group-hierarchy-controller.d.ts +15 -0
  218. package/dist/types/components/vega-nav/vega-left-nav/test/vega-left-nav-mock-data.d.ts +4 -0
  219. package/dist/types/components/vega-nav/vega-left-nav/vega-left-nav.d.ts +21 -4
  220. package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-initialize-selected-controller.d.ts +20 -0
  221. package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-link-click-controller.d.ts +25 -0
  222. package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-open-state-controller.d.ts +27 -0
  223. package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-other-groups-click-controller.d.ts +17 -0
  224. package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/renderers/vega-left-nav-group-renderer.d.ts +2 -1
  225. package/dist/types/components/vega-nav/vega-left-nav-group/vega-left-nav-group.d.ts +12 -5
  226. package/dist/types/components/vega-nav/vega-left-nav-link/slimmers/controllers/vega-left-nav-link-controller.d.ts +5 -0
  227. package/dist/types/components/vega-nav/vega-left-nav-link/slimmers/renderers/vega-left-nav-link-renderer.d.ts +2 -0
  228. package/dist/types/components/vega-nav/vega-left-nav-link/vega-left-nav-link.d.ts +2 -0
  229. package/dist/types/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.d.ts +1 -0
  230. package/dist/types/components/vega-rich-text-editor/dto/annotations/bold-annotation.d.ts +4 -0
  231. package/dist/types/components/vega-rich-text-editor/dto/annotations/code-annotation.d.ts +4 -0
  232. package/dist/types/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.d.ts +4 -0
  233. package/dist/types/components/vega-rich-text-editor/dto/annotations/image-annotation.d.ts +4 -0
  234. package/dist/types/components/vega-rich-text-editor/dto/annotations/indent-annotation.d.ts +4 -0
  235. package/dist/types/components/vega-rich-text-editor/dto/annotations/italic-annotation.d.ts +4 -0
  236. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-annotation.d.ts +4 -0
  237. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-group-annotation.d.ts +1 -0
  238. package/dist/types/components/vega-rich-text-editor/dto/annotations/node-annotation.abstract.d.ts +1 -0
  239. package/dist/types/components/vega-rich-text-editor/dto/annotations/selection-range-annotation.d.ts +6 -0
  240. package/dist/types/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.d.ts +4 -0
  241. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-color-annotation.d.ts +4 -0
  242. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-annotation.d.ts +4 -0
  243. package/dist/types/components/vega-rich-text-editor/dto/annotations/underline-annotation.d.ts +4 -0
  244. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +9 -1
  245. package/dist/types/components/vega-rich-text-editor/dto/blocks/image-block.d.ts +4 -0
  246. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +4 -0
  247. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +4 -0
  248. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +4 -0
  249. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +19 -1
  250. package/dist/types/components/vega-rich-text-editor/dto/editor-state.d.ts +20 -0
  251. package/dist/types/components/vega-rich-text-editor/dto/nodes/image-node.d.ts +4 -0
  252. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +9 -1
  253. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +4 -0
  254. package/dist/types/components/vega-rich-text-editor/dto/range.d.ts +6 -0
  255. package/dist/types/components/vega-rich-text-editor/dto/selection-state.d.ts +14 -0
  256. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.d.ts +2 -2
  257. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/history-controller.d.ts +54 -0
  258. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/selection-controller.d.ts +14 -1
  259. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +4 -1
  260. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +2 -0
  261. package/dist/types/components.d.ts +13 -11
  262. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +2 -0
  263. package/dist/types/helpers/keyboard/keyboard-manager.d.ts +11 -1
  264. package/dist/types/types/components.type.d.ts +1 -0
  265. package/dist/types/types/ui.type.d.ts +1 -1
  266. package/dist/vega/index.esm.js +1 -1
  267. package/dist/vega/{p-2c1c88c0.entry.js → p-024cccab.entry.js} +1 -1
  268. package/dist/vega/{p-4b1a7d31.entry.js → p-07d1c3e1.entry.js} +1 -1
  269. package/dist/vega/{p-96410d71.entry.js → p-09c13382.entry.js} +1 -1
  270. package/dist/vega/{p-343b4522.entry.js → p-09f7f841.entry.js} +1 -1
  271. package/dist/vega/{p-50a076d0.entry.js → p-0a18f5f6.entry.js} +1 -1
  272. package/dist/vega/{p-b9f48611.js → p-0d355793.js} +1 -1
  273. package/dist/vega/{p-b64d5c3a.entry.js → p-10f1429e.entry.js} +1 -1
  274. package/dist/vega/p-1b3f492f.entry.js +1 -0
  275. package/dist/vega/{p-b4dfa967.entry.js → p-1d0cf3ae.entry.js} +1 -1
  276. package/dist/vega/{p-4b541ce8.entry.js → p-2198de3e.entry.js} +1 -1
  277. package/dist/vega/{p-b06e5916.entry.js → p-2491d18f.entry.js} +1 -1
  278. package/dist/vega/{p-0073c3de.entry.js → p-24e0cdcc.entry.js} +1 -1
  279. package/dist/vega/{p-1c08e94a.entry.js → p-27e3825f.entry.js} +1 -1
  280. package/dist/vega/{p-b6caa1e2.entry.js → p-292b421a.entry.js} +1 -1
  281. package/dist/vega/{p-8f80b321.entry.js → p-2ecae9fe.entry.js} +1 -1
  282. package/dist/vega/{p-410755ca.entry.js → p-2fadef27.entry.js} +1 -1
  283. package/dist/vega/{p-d6620b42.entry.js → p-31ec679b.entry.js} +1 -1
  284. package/dist/vega/{p-d6d9c300.entry.js → p-32c68611.entry.js} +1 -1
  285. package/dist/vega/{p-bab6ca81.js → p-32ca74b1.js} +1 -1
  286. package/dist/vega/{p-f9b07b5e.entry.js → p-353d32c0.entry.js} +1 -1
  287. package/dist/vega/{p-aa109e80.entry.js → p-371cc8e8.entry.js} +1 -1
  288. package/dist/vega/{p-c86a4896.entry.js → p-38fa38dc.entry.js} +1 -1
  289. package/dist/vega/{p-e1a06741.entry.js → p-472727a4.entry.js} +1 -1
  290. package/dist/vega/{p-59e9f57a.js → p-48b7f20d.js} +1 -1
  291. package/dist/vega/p-4e68dfd9.js +1 -0
  292. package/dist/vega/{p-8c32ff75.entry.js → p-4fa94b35.entry.js} +1 -1
  293. package/dist/vega/{p-1e2886b5.js → p-50e80afa.js} +1 -1
  294. package/dist/vega/p-56a0b13d.js +1 -0
  295. package/dist/vega/{p-a1bdf9a0.entry.js → p-575ca599.entry.js} +1 -1
  296. package/dist/vega/{p-bcb43c54.entry.js → p-57e813f2.entry.js} +1 -1
  297. package/dist/vega/{p-324dd09a.entry.js → p-5a8f129f.entry.js} +1 -1
  298. package/dist/vega/p-5c1eedc5.js +1 -0
  299. package/dist/vega/{p-b65de502.entry.js → p-5c3da7ed.entry.js} +1 -1
  300. package/dist/vega/{p-b2643e88.js → p-5e3a15a1.js} +1 -1
  301. package/dist/vega/p-5f377954.js +1 -1
  302. package/dist/vega/{p-611282a7.entry.js → p-65a76f19.entry.js} +1 -1
  303. package/dist/vega/{p-69cc3fa2.js → p-6cabdb36.js} +1 -1
  304. package/dist/vega/{p-79cc1f41.entry.js → p-6cc32ffa.entry.js} +1 -1
  305. package/dist/vega/{p-d7642125.js → p-72ecfd40.js} +1 -1
  306. package/dist/vega/{p-0b56725e.entry.js → p-7581d242.entry.js} +1 -1
  307. package/dist/vega/{p-213752bd.js → p-75c68f51.js} +1 -1
  308. package/dist/vega/p-7db32dc0.entry.js +1 -0
  309. package/dist/vega/{p-f0bc8f6d.js → p-7f6702f7.js} +1 -1
  310. package/dist/vega/{p-df44a712.entry.js → p-84298e28.entry.js} +1 -1
  311. package/dist/vega/p-8bc4c015.entry.js +1 -0
  312. package/dist/vega/{p-e59ff7d1.entry.js → p-971f7d3c.entry.js} +1 -1
  313. package/dist/vega/{p-1b731247.entry.js → p-9dba10f7.entry.js} +1 -1
  314. package/dist/vega/p-b1f9fca8.entry.js +1 -0
  315. package/dist/vega/{p-7594875a.entry.js → p-b3e1dc86.entry.js} +1 -1
  316. package/dist/vega/{p-d6c37085.entry.js → p-baca6dfc.entry.js} +1 -1
  317. package/dist/vega/p-bf1894ec.js +1 -0
  318. package/dist/vega/p-c5f8b3a3.entry.js +1 -0
  319. package/dist/vega/p-c6a3fe8a.entry.js +1 -0
  320. package/dist/vega/p-c754b32c.js +1 -0
  321. package/dist/vega/p-cc43a4ca.js +1 -0
  322. package/dist/vega/{p-0523efe8.entry.js → p-ccdd49be.entry.js} +1 -1
  323. package/dist/vega/p-cd205d96.js +1 -0
  324. package/dist/vega/{p-d4a61b1d.entry.js → p-d033ed44.entry.js} +1 -1
  325. package/dist/vega/{p-e5695801.entry.js → p-d6591d70.entry.js} +1 -1
  326. package/dist/vega/{p-80c86d79.js → p-d7937711.js} +1 -1
  327. package/dist/vega/{p-7bc3a42b.js → p-db4112af.js} +1 -1
  328. package/dist/vega/{p-c706de06.entry.js → p-dd33bc71.entry.js} +1 -1
  329. package/dist/vega/{p-4f7f93ef.entry.js → p-e8f16f1d.entry.js} +1 -1
  330. package/dist/vega/{p-01b4d6ba.entry.js → p-ed6cc75b.entry.js} +1 -1
  331. package/dist/vega/p-f4d3387c.entry.js +1 -0
  332. package/dist/vega/{p-bd5ca7cc.entry.js → p-f5b19d4f.entry.js} +1 -1
  333. package/dist/vega/{p-4f54ba1f.entry.js → p-f7423232.entry.js} +1 -1
  334. package/dist/vega/p-fba4bae5.js +1 -0
  335. package/dist/vega/p-fda0c179.entry.js +1 -0
  336. package/dist/vega/p-ff41dc6a.entry.js +1 -0
  337. package/dist/vega/vega.esm.js +1 -1
  338. package/package.json +1 -1
  339. package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-controller.js +0 -30
  340. package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-sibling-observer-controller.js +0 -48
  341. package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-controller.d.ts +0 -11
  342. package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-sibling-observer-controller.d.ts +0 -18
  343. package/dist/vega/p-08679cd9.entry.js +0 -1
  344. package/dist/vega/p-12d60f5f.js +0 -1
  345. package/dist/vega/p-214aa52e.js +0 -1
  346. package/dist/vega/p-2863aa51.entry.js +0 -1
  347. package/dist/vega/p-2e65e175.js +0 -1
  348. package/dist/vega/p-31de5cb4.entry.js +0 -1
  349. package/dist/vega/p-3d3cd394.js +0 -1
  350. package/dist/vega/p-3e285c35.js +0 -1
  351. package/dist/vega/p-8af3fc79.entry.js +0 -1
  352. package/dist/vega/p-8ee31f00.entry.js +0 -1
  353. package/dist/vega/p-952913fc.entry.js +0 -1
  354. package/dist/vega/p-ab26cad6.js +0 -1
  355. package/dist/vega/p-b07add9c.entry.js +0 -1
  356. package/dist/vega/p-b9051ad2.js +0 -1
  357. package/dist/vega/p-c2321aa8.entry.js +0 -1
  358. package/dist/vega/p-ceb9f5aa.entry.js +0 -1
  359. package/dist/vega/p-f2373487.js +0 -1
@@ -8,12 +8,15 @@ import { h, Component, Prop, Element, Event, State, Host } from '@stencil/core';
8
8
  import { sanitizeVegaComponent } from '../../../utils/component';
9
9
  import { InjectVegaGlobalSlimmer, InjectVegaSlimmer, slotPlaceholder, } from 'vega-slimmer/core';
10
10
  import { VegaLeftNavGroupRenderer } from './slimmers/renderers/vega-left-nav-group-renderer';
11
- import { VegaLeftNavGroupController } from './slimmers/controllers/vega-left-nav-group-controller';
11
+ import { VegaLeftNavGroupForLeftNavLinkClickObserver } from './slimmers/controllers/vega-left-nav-group-link-click-controller';
12
12
  import { createEventEmitSlimmer, } from '../../../helpers/event-manager/slimmers/event-emit-slimmer';
13
13
  import { VegaGroupClick } from '../../../helpers/event-manager/event-id/vega-event-id';
14
14
  import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../../helpers/slimmers/component-usage-runtime-metrics';
15
- import { VegaLeftNavGroupSiblingObserverController } from './slimmers/controllers/vega-left-nav-group-sibling-observer-controller';
15
+ import { VegaLeftNavGroupForOtherGroupsClickObserver } from './slimmers/controllers/vega-left-nav-group-other-groups-click-controller';
16
16
  import { VegaLeftNavGroupStateController } from './slimmers/controllers/vega-left-nav-group-state-controller';
17
+ import { VegaLeftNavGroupOpenStateController } from './slimmers/controllers/vega-left-nav-group-open-state-controller';
18
+ import { VegaLeftNavHierarchyController } from '../slimmers/vega-left-nav-group-hierarchy-controller';
19
+ import { VegaLeftNavGroupForInitializeSelectedObserver } from './slimmers/controllers/vega-left-nav-group-initialize-selected-controller';
17
20
  /**
18
21
  * @vegaVersion 1.31.0
19
22
  */
@@ -21,11 +24,14 @@ export class VegaLeftNavGroup {
21
24
  constructor() {
22
25
  this.globalSlimmers = {};
23
26
  this.renderer = new VegaLeftNavGroupRenderer();
24
- this.controller = new VegaLeftNavGroupController();
25
- this.siblingObserverController = new VegaLeftNavGroupSiblingObserverController();
27
+ this.vegaLeftNavHierarchyController = new VegaLeftNavHierarchyController();
28
+ this.linkClickObserverController = new VegaLeftNavGroupForLeftNavLinkClickObserver();
29
+ this.otherGroupsClickObserverController = new VegaLeftNavGroupForOtherGroupsClickObserver();
26
30
  this.groupClickEventEmitter = createEventEmitSlimmer(VegaLeftNavGroup, VegaGroupClick);
27
31
  this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
28
32
  this.vegaLeftNavGroupStateController = new VegaLeftNavGroupStateController();
33
+ this.vegaLeftNavGroupOpenStateController = new VegaLeftNavGroupOpenStateController();
34
+ this.vegaLeftNavGroupForInitializeSelectedController = new VegaLeftNavGroupForInitializeSelectedObserver();
29
35
  this.autoCollapseGroups = false;
30
36
  /** label attached to the left nav group items **
31
37
  * @vegaVersion 1.31.0
@@ -185,10 +191,13 @@ __decorate([
185
191
  ], VegaLeftNavGroup.prototype, "renderer", void 0);
186
192
  __decorate([
187
193
  InjectVegaSlimmer()
188
- ], VegaLeftNavGroup.prototype, "controller", void 0);
194
+ ], VegaLeftNavGroup.prototype, "vegaLeftNavHierarchyController", void 0);
189
195
  __decorate([
190
196
  InjectVegaSlimmer()
191
- ], VegaLeftNavGroup.prototype, "siblingObserverController", void 0);
197
+ ], VegaLeftNavGroup.prototype, "linkClickObserverController", void 0);
198
+ __decorate([
199
+ InjectVegaSlimmer()
200
+ ], VegaLeftNavGroup.prototype, "otherGroupsClickObserverController", void 0);
192
201
  __decorate([
193
202
  InjectVegaSlimmer()
194
203
  ], VegaLeftNavGroup.prototype, "groupClickEventEmitter", void 0);
@@ -198,3 +207,9 @@ __decorate([
198
207
  __decorate([
199
208
  InjectVegaSlimmer()
200
209
  ], VegaLeftNavGroup.prototype, "vegaLeftNavGroupStateController", void 0);
210
+ __decorate([
211
+ InjectVegaSlimmer()
212
+ ], VegaLeftNavGroup.prototype, "vegaLeftNavGroupOpenStateController", void 0);
213
+ __decorate([
214
+ InjectVegaSlimmer()
215
+ ], VegaLeftNavGroup.prototype, "vegaLeftNavGroupForInitializeSelectedController", void 0);
@@ -8,7 +8,22 @@ import { MapToComponentField, MapToComponentMethod } from 'vega-slimmer/core';
8
8
  import { LEFT_NAV_LINK_SELECTED_TOPIC } from '../../../../../helpers/change-manager/subject/static-subject/static-subject-title';
9
9
  import ChangeManager from '../../../../../helpers/change-manager/change-manager';
10
10
  import { VegaNavObserverSlimmer } from '../../../slimmers/vega-nav-observer-slimmer';
11
+ import domNodeSubjectFactory from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
12
+ import { VegaInternalInitializeLeftNavLinkSelected } from '../../../../../helpers/event-manager/event-id/vega-internal-event-id';
11
13
  export class VegaLeftNavLinkController extends VegaNavObserverSlimmer {
14
+ /**
15
+ * When selected is true during initialization, the VegaInternalInitializeLeftNavLinkSelected observer needs to be notified
16
+ */
17
+ componentWillRender() {
18
+ if (this.selected) {
19
+ const topParent = this.vegaLeftNavHierarchyController.getTopParent();
20
+ if (topParent) {
21
+ ChangeManager.notify(domNodeSubjectFactory.getSubject(topParent, VegaInternalInitializeLeftNavLinkSelected), {
22
+ host: this.host,
23
+ });
24
+ }
25
+ }
26
+ }
12
27
  componentDidRender() {
13
28
  if (this.selected) {
14
29
  ChangeManager.notify(LEFT_NAV_LINK_SELECTED_TOPIC, this.host);
@@ -39,6 +54,12 @@ __decorate([
39
54
  __decorate([
40
55
  MapToComponentField({ writable: true })
41
56
  ], VegaLeftNavLinkController.prototype, "selected", void 0);
57
+ __decorate([
58
+ MapToComponentField()
59
+ ], VegaLeftNavLinkController.prototype, "vegaLeftNavHierarchyController", void 0);
60
+ __decorate([
61
+ MapToComponentMethod('componentWillRender')
62
+ ], VegaLeftNavLinkController.prototype, "componentWillRender", null);
42
63
  __decorate([
43
64
  MapToComponentMethod('componentDidRender')
44
65
  ], VegaLeftNavLinkController.prototype, "componentDidRender", null);
@@ -9,7 +9,7 @@ import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
9
9
  import changeManager from '../../../../../helpers/change-manager/change-manager';
10
10
  import domNodeSubjectFactory from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
11
11
  import { findParent } from '../../../../../utils/ui';
12
- import { VegaInternalLeftNavLinkClick } from '../../../../../helpers/event-manager/event-id/vega-internal-event-id';
12
+ import { VegaInternalLeftNavLinkClick, VegaInternalLeftNavLinkSelected, } from '../../../../../helpers/event-manager/event-id/vega-internal-event-id';
13
13
  export class VegaLeftNavLinkRenderer extends VegaSlimmer {
14
14
  constructor() {
15
15
  super(...arguments);
@@ -24,6 +24,7 @@ export class VegaLeftNavLinkRenderer extends VegaSlimmer {
24
24
  }
25
25
  this.menuClickEventEmitter.emit();
26
26
  this.notifyVegaLeftNav();
27
+ this.notifyVegaLeftGroup();
27
28
  };
28
29
  }
29
30
  render() {
@@ -48,6 +49,14 @@ export class VegaLeftNavLinkRenderer extends VegaSlimmer {
48
49
  });
49
50
  }
50
51
  }
52
+ notifyVegaLeftGroup() {
53
+ const topParent = this.vegaLeftNavHierarchyController.getTopParent();
54
+ if (topParent) {
55
+ changeManager.notify(domNodeSubjectFactory.getSubject(topParent, VegaInternalLeftNavLinkSelected), {
56
+ host: this.host,
57
+ });
58
+ }
59
+ }
51
60
  }
52
61
  __decorate([
53
62
  MapToComponentField()
@@ -79,3 +88,6 @@ __decorate([
79
88
  __decorate([
80
89
  MapToComponentField()
81
90
  ], VegaLeftNavLinkRenderer.prototype, "itemKey", void 0);
91
+ __decorate([
92
+ MapToComponentField()
93
+ ], VegaLeftNavLinkRenderer.prototype, "vegaLeftNavHierarchyController", void 0);
@@ -13,6 +13,7 @@ import { createEventEmitSlimmer, } from '../../../helpers/event-manager/slimmers
13
13
  import { VegaMenuClick } from '../../../helpers/event-manager/event-id/vega-event-id';
14
14
  import { createDeprecatedPropertySlimmer, } from '../../../helpers/slimmers/deprecated-property-slimmer';
15
15
  import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../../helpers/slimmers/component-usage-runtime-metrics';
16
+ import { VegaLeftNavHierarchyController } from '../slimmers/vega-left-nav-group-hierarchy-controller';
16
17
  /**
17
18
  * @vegaVersion 1.31.0
18
19
  */
@@ -20,6 +21,7 @@ export class VegaLeftNavLink {
20
21
  constructor() {
21
22
  this.globalSlimmers = {};
22
23
  this.renderer = new VegaLeftNavLinkRenderer();
24
+ this.vegaLeftNavHierarchyController = new VegaLeftNavHierarchyController();
23
25
  this.controller = new VegaLeftNavLinkController();
24
26
  this.menuClickEventEmitter = createEventEmitSlimmer(VegaLeftNavLink, VegaMenuClick);
25
27
  this.deprecatedPropertySlimmer = createDeprecatedPropertySlimmer(VegaLeftNavLink, 'counterBadge.count', 'counterBadge.counter', undefined);
@@ -232,6 +234,9 @@ __decorate([
232
234
  __decorate([
233
235
  InjectVegaSlimmer()
234
236
  ], VegaLeftNavLink.prototype, "renderer", void 0);
237
+ __decorate([
238
+ InjectVegaSlimmer()
239
+ ], VegaLeftNavLink.prototype, "vegaLeftNavHierarchyController", void 0);
235
240
  __decorate([
236
241
  InjectVegaSlimmer()
237
242
  ], VegaLeftNavLink.prototype, "controller", void 0);
@@ -27,6 +27,12 @@ export class BoldAnnotation extends NodeAnnotation {
27
27
  bold: this.bold,
28
28
  };
29
29
  }
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ clone() {
34
+ return new BoldAnnotation(this.bold);
35
+ }
30
36
  /**
31
37
  * Generate the style for the annotation
32
38
  *
@@ -27,6 +27,12 @@ export class CodeAnnotation extends NodeAnnotation {
27
27
  code: this.code,
28
28
  };
29
29
  }
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ clone() {
34
+ return new CodeAnnotation(this.code);
35
+ }
30
36
  /**
31
37
  * Generate the class for the annotation
32
38
  *
@@ -35,6 +35,12 @@ export class HorizontalAlignmentAnnotation extends BlockAnnotation {
35
35
  renderClass() {
36
36
  return `v-rte--horizontal-alignment-${this.textAlign}`;
37
37
  }
38
+ /**
39
+ * @inheritDoc
40
+ */
41
+ clone() {
42
+ return new HorizontalAlignmentAnnotation(this.textAlign);
43
+ }
38
44
  /**
39
45
  * Generate the style for the annotation
40
46
  *
@@ -35,6 +35,12 @@ export class ImageAnnotation extends NodeAnnotation {
35
35
  size: this.size,
36
36
  };
37
37
  }
38
+ /**
39
+ * @inheritDoc
40
+ */
41
+ clone() {
42
+ return new ImageAnnotation(this.size, this.alt);
43
+ }
38
44
  /**
39
45
  * Generate the style for the image
40
46
  *
@@ -25,6 +25,12 @@ export class IndentAnnotation extends BlockAnnotation {
25
25
  toJSON() {
26
26
  return this.indent > 0 ? { indent: this.indent } : null;
27
27
  }
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ clone() {
32
+ return new IndentAnnotation(this.indent);
33
+ }
28
34
  /**
29
35
  * Generate the style for the annotation
30
36
  *
@@ -27,6 +27,12 @@ export class ItalicAnnotation extends NodeAnnotation {
27
27
  italic: this.italic,
28
28
  };
29
29
  }
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ clone() {
34
+ return new ItalicAnnotation(this.italic);
35
+ }
30
36
  /**
31
37
  * Generate the style for the annotation
32
38
  *
@@ -28,6 +28,12 @@ export class LinkAnnotation extends NodeAnnotation {
28
28
  toJSON() {
29
29
  return { link: { href: this.link.href, groupKey: this.link.groupKey } };
30
30
  }
31
+ /**
32
+ * @inheritDoc
33
+ */
34
+ clone() {
35
+ return new LinkAnnotation(this.link);
36
+ }
31
37
  /**
32
38
  * Verify whether two link annotation is same or not
33
39
  *
@@ -9,4 +9,11 @@ export class LinkGroupAnnotation extends Annotation {
9
9
  this.linkGroups = new Map();
10
10
  this.linkGroups = new Map([[groupKey, []]]);
11
11
  }
12
+ clone() {
13
+ const clonedAnnotation = new LinkGroupAnnotation('');
14
+ this.linkGroups.forEach((nodes, key) => {
15
+ clonedAnnotation.linkGroups.set(key, nodes.map((node) => node.clone()));
16
+ });
17
+ return clonedAnnotation;
18
+ }
12
19
  }
@@ -8,4 +8,12 @@ export class SelectionRangeAnnotation extends Annotation {
8
8
  this.type = InternalAnnotationTypeEnum.SELECTION_RANGE;
9
9
  this.range = range;
10
10
  }
11
+ /**
12
+ * Clone the selection range annotation
13
+ *
14
+ * @returns {SelectionRangeAnnotation} A cloned instance of the selection range annotation
15
+ */
16
+ clone() {
17
+ return new SelectionRangeAnnotation(this.range);
18
+ }
11
19
  }
@@ -27,6 +27,12 @@ export class StrikethroughAnnotation extends NodeAnnotation {
27
27
  strikethrough: this.strikethrough,
28
28
  };
29
29
  }
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ clone() {
34
+ return new StrikethroughAnnotation(this.strikethrough);
35
+ }
30
36
  /**
31
37
  * Generate the class for the annotation
32
38
  *
@@ -29,6 +29,12 @@ export class TextColorAnnotation extends NodeAnnotation {
29
29
  textColor: this.textColor.key,
30
30
  };
31
31
  }
32
+ /**
33
+ * @inheritDoc
34
+ */
35
+ clone() {
36
+ return new TextColorAnnotation(this.textColor.key);
37
+ }
32
38
  /**
33
39
  * Generate the class for the annotation
34
40
  *
@@ -25,6 +25,12 @@ export class TextStyleAnnotation extends BlockAnnotation {
25
25
  toJSON() {
26
26
  return { textStyle: this.textStyle };
27
27
  }
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ clone() {
32
+ return new TextStyleAnnotation(this.textStyle);
33
+ }
28
34
  /**
29
35
  * Render the styles by block type
30
36
  *
@@ -27,6 +27,12 @@ export class UnderlineAnnotation extends NodeAnnotation {
27
27
  underline: this.underline,
28
28
  };
29
29
  }
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ clone() {
34
+ return new UnderlineAnnotation(this.underline);
35
+ }
30
36
  /**
31
37
  * Generate the class for the annotation
32
38
  *
@@ -98,4 +98,12 @@ export class RTEBlock {
98
98
  this.annotationMap.set(annotation.type, annotation);
99
99
  typeof this.doAnnotationActionApply === 'function' && this.doAnnotationActionApply(action);
100
100
  }
101
+ /**
102
+ * clone annotations of the block
103
+ *
104
+ * @returns {BlockAnnotations} - Cloned annotations
105
+ */
106
+ cloneAnnotations() {
107
+ return new Map(Array.from(this.annotationMap.entries()).map(([key, value]) => [key, value.clone()]));
108
+ }
101
109
  }
@@ -71,6 +71,20 @@ export class RTEImageBlock extends RTEBlock {
71
71
  createNewImageBlock() {
72
72
  return new RTEImageBlock(generateUUID());
73
73
  }
74
+ /**
75
+ * @inheritDoc
76
+ */
77
+ clone() {
78
+ const clonedBlock = new RTEImageBlock(this.id);
79
+ clonedBlock.nodes = this.nodes.map((node) => {
80
+ const clonedNode = node.clone();
81
+ clonedNode.parentBlock = clonedBlock;
82
+ return clonedNode;
83
+ });
84
+ clonedBlock.annotationMap = super.cloneAnnotations();
85
+ clonedBlock.parent = this.parent;
86
+ return clonedBlock;
87
+ }
74
88
  }
75
89
  (() => {
76
90
  ActionHandleStrategyRegistry.register(ModifyContentActionType.DELETE_BLOCK_CONTENT, RTEImageBlock.name, new BlockDeleteImageStrategy());
@@ -52,6 +52,20 @@ export class RTEListBlock extends RTEBlock {
52
52
  getLastNode() {
53
53
  return this.blocks[this.blocks.length - 1].getLastNode();
54
54
  }
55
+ /**
56
+ * @inheritDoc
57
+ */
58
+ clone() {
59
+ const clonedListBlock = new RTEListBlock(this.id, this.type);
60
+ clonedListBlock.blocks = this.blocks.map((item) => {
61
+ const clonedListItemBlock = item.clone();
62
+ clonedListItemBlock.parent = clonedListBlock;
63
+ return clonedListItemBlock;
64
+ });
65
+ clonedListBlock.annotationMap = super.cloneAnnotations();
66
+ clonedListBlock.parent = this.parent;
67
+ return clonedListBlock;
68
+ }
55
69
  }
56
70
  (() => {
57
71
  ActionHandleStrategyRegistry.register(ModifyContentActionType.DELETE_CHILD, RTEListBlock.name, new ListRemoveListItemStrategy());
@@ -89,6 +89,26 @@ export class RTEListItemBlock extends RTETextBlock {
89
89
  createNewListItem() {
90
90
  return new RTEListItemBlock(generateUUID());
91
91
  }
92
+ /**
93
+ * @inheritDoc
94
+ */
95
+ clone() {
96
+ var _a;
97
+ const block = new RTEListItemBlock(this.id);
98
+ block.nodes = this.nodes.map((node) => {
99
+ const clonedNode = node.clone();
100
+ clonedNode.parentBlock = block;
101
+ return clonedNode;
102
+ });
103
+ block.annotationMap = super.cloneAnnotations();
104
+ block.children = (_a = this.children) === null || _a === void 0 ? void 0 : _a.map((child) => {
105
+ const clonedChild = child.clone();
106
+ clonedChild.parent = block;
107
+ return clonedChild;
108
+ });
109
+ block.parent = this.parent;
110
+ return block;
111
+ }
92
112
  }
93
113
  (() => {
94
114
  ActionHandleStrategyRegistry.register(ModifyContentActionType.DELETE_BLOCK_CONTENT, RTEListItemBlock.name, new ListItemDeleteTextContentStrategy());
@@ -127,6 +127,20 @@ export class RTETextBlock extends RTEBlock {
127
127
  block.apply(new AppendChildNodesAction(nodes));
128
128
  return block;
129
129
  }
130
+ /**
131
+ * @inheritDoc
132
+ */
133
+ clone() {
134
+ const clonedBlock = new RTETextBlock(this.id, this.type);
135
+ clonedBlock.nodes = this.nodes.map((node) => {
136
+ const clonedNode = node.clone();
137
+ clonedNode.parentBlock = clonedBlock;
138
+ return clonedNode;
139
+ });
140
+ clonedBlock.annotationMap = super.cloneAnnotations();
141
+ clonedBlock.parent = this.parent;
142
+ return clonedBlock;
143
+ }
130
144
  /**
131
145
  * @inheritDoc
132
146
  */
@@ -73,10 +73,13 @@ export class VegaRTEContent {
73
73
  /**
74
74
  * Clones the content state.
75
75
  *
76
+ * @param {boolean} deep - If true, performs a deep clone of the content state.
76
77
  * @returns {VegaRTEContent} The cloned content state.
77
78
  */
78
- clone() {
79
- return new VegaRTEContent([...this.blocks]);
79
+ clone(deep = false) {
80
+ return deep
81
+ ? new VegaRTEContent(this.blocks.map((block) => block.clone()))
82
+ : new VegaRTEContent([...this.blocks]);
80
83
  }
81
84
  /**
82
85
  * Converts the content state to a JSON array of blocks.
@@ -116,6 +119,48 @@ export class VegaRTEContent {
116
119
  createList(type) {
117
120
  return new RTEListBlock(generateUUID(), type);
118
121
  }
122
+ /**
123
+ * Finds a node by its ID in the content.
124
+ *
125
+ * @param {string} id - The ID of the node to find.
126
+ * @returns {Nullable<RTENode>} The found node or null if not found.
127
+ */
128
+ findNodeById(id) {
129
+ return this.findNodeInBlocksById(id, this.blocks);
130
+ }
131
+ /**
132
+ * Recursively searches for a node by its ID in the given blocks.
133
+ *
134
+ * @param {string} id - The ID of the node to find.
135
+ * @param {RTEContentBlock[]} blocks - The blocks to search within.
136
+ * @returns {Nullable<RTENode>} The found node or null if not found.
137
+ */
138
+ findNodeInBlocksById(id, blocks) {
139
+ for (const block of blocks) {
140
+ if ('nodes' in block) {
141
+ for (const node of block.nodes) {
142
+ if (node.id === id) {
143
+ return node;
144
+ }
145
+ }
146
+ }
147
+ if (block instanceof RTEListItemBlock && block.children) {
148
+ for (const cBlock of block.children) {
149
+ const foundNode = this.findNodeInBlocksById(id, cBlock.blocks);
150
+ if (foundNode) {
151
+ return foundNode;
152
+ }
153
+ }
154
+ }
155
+ if (block instanceof RTEListBlock && block.blocks) {
156
+ const foundNode = this.findNodeInBlocksById(id, block.blocks);
157
+ if (foundNode) {
158
+ return foundNode;
159
+ }
160
+ }
161
+ }
162
+ return null;
163
+ }
119
164
  }
120
165
  (() => {
121
166
  ActionHandleStrategyRegistry.register(ModifyContentActionType.DELETE_CHILD, VegaRTEContent.name, new BlockRemoveChildBlockStrategy());
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Represents the state of the RTE
3
+ */
4
+ export class RTEEditorState {
5
+ constructor(content, selection) {
6
+ this.content = content.clone(true);
7
+ this.selection = selection.clone();
8
+ this.refreshSelectionNodes();
9
+ }
10
+ /**
11
+ * Clones the editor state, updating the content and selection based on the provided content.
12
+ *
13
+ * @returns {RTEEditorState} A new instance of RTEEditorState with the updated content and selection.
14
+ */
15
+ clone() {
16
+ return new RTEEditorState(this.content, this.selection);
17
+ }
18
+ /**
19
+ * Refreshes the selection nodes in the editor state.
20
+ */
21
+ refreshSelectionNodes() {
22
+ const { startNode: oldStartNode, endNode: oldEndNode, startOffset, endOffset, } = this.selection.range;
23
+ if (oldStartNode && oldEndNode) {
24
+ const startNode = this.content.findNodeById(oldStartNode.id);
25
+ const endNode = this.content.findNodeById(oldEndNode.id);
26
+ if (startNode && endNode) {
27
+ this.selection.range.updateRTERange({
28
+ startNode,
29
+ endNode,
30
+ startOffset,
31
+ endOffset,
32
+ });
33
+ }
34
+ }
35
+ }
36
+ }
@@ -52,6 +52,12 @@ export class RTEImageNode extends RTENode {
52
52
  }
53
53
  return Object.assign(Object.assign({ id: this.id }, (Object.keys(annotations).length > 0 ? { annotations } : {})), { type: 'image', url: this.url });
54
54
  }
55
+ /**
56
+ * @inheritDoc
57
+ */
58
+ clone() {
59
+ return new RTEImageNode(this.id, this.url, this.parentBlock, super.cloneAnnotations());
60
+ }
55
61
  /**
56
62
  * @inheritDoc
57
63
  */
@@ -76,4 +76,12 @@ export class RTENode {
76
76
  }
77
77
  }
78
78
  }
79
+ /**
80
+ * Clones the annotations of the current RTETextNode.
81
+ *
82
+ * @returns {NodeAnnotations} A new Map containing cloned annotations.
83
+ */
84
+ cloneAnnotations() {
85
+ return new Map(Array.from(this.annotationMap.entries()).map(([key, value]) => [key, value.clone()]));
86
+ }
79
87
  }
@@ -102,7 +102,13 @@ export class RTETextNode extends RTENode {
102
102
  * @returns {RTETextNode} An new RTETextNode
103
103
  */
104
104
  cloneWithText(text) {
105
- return new RTETextNode(generateUUID(), text, this.parentBlock, new Map(this.annotationMap));
105
+ return new RTETextNode(generateUUID(), text, this.parentBlock, super.cloneAnnotations());
106
+ }
107
+ /**
108
+ * @inheritDoc
109
+ */
110
+ clone() {
111
+ return new RTETextNode(this.id, this.text, this.parentBlock, super.cloneAnnotations());
106
112
  }
107
113
  /**
108
114
  * Checks if a node is empty
@@ -120,6 +120,14 @@ export class RTERange {
120
120
  }
121
121
  return new RTERange(this._startContainer, this._endContainer, this._startOffset, this._endOffset, this._startNode, this._endNode, this._oldNativeRange);
122
122
  }
123
+ /**
124
+ * Creates a new instance of the `RTERange` class with the same properties as the current instance.
125
+ *
126
+ * @returns {RTERange} A new `RTERange` instance with the same start and end containers, offsets, and nodes.
127
+ */
128
+ clone() {
129
+ return new RTERange(this._startContainer, this._endContainer, this._startOffset, this._endOffset, this._startNode, this._endNode, this._oldNativeRange);
130
+ }
123
131
  /**
124
132
  * Creates a Range object based on start and end nodes and offsets.
125
133
  * Invoke this method to get the future range state if the range content modified.
@@ -7,7 +7,7 @@ class RTEImageBlockRenderer extends RTEBlockRenderer {
7
7
  return block instanceof RTEImageBlock;
8
8
  }
9
9
  render(block, renderContext) {
10
- return (h("div", { style: Object.assign({}, super.getStyles(block)), ref: (ref) => super.registerRef(ref, block), class: super.getClasses(block) }, block.nodes.map((node) => {
10
+ return (h("div", { key: block.id, style: Object.assign({}, super.getStyles(block)), ref: (ref) => super.registerRef(ref, block), class: super.getClasses(block) }, block.nodes.map((node) => {
11
11
  return RTEImageNodeRenderer.render(node, renderContext);
12
12
  })));
13
13
  }
@@ -8,7 +8,7 @@ class RTEListBlockRenderer extends RTEBlockRenderer {
8
8
  }
9
9
  render(block, renderContext) {
10
10
  const BlockTag = block.type === 'number-list' ? 'ol' : 'ul';
11
- return (h(BlockTag, { ref: (ref) => super.registerRef(ref, block) }, block.blocks.map((listItemBlock) => RTEListItemBlockRenderer.render(listItemBlock, renderContext))));
11
+ return (h(BlockTag, { key: block.id, ref: (ref) => super.registerRef(ref, block) }, block.blocks.map((listItemBlock) => RTEListItemBlockRenderer.render(listItemBlock, renderContext))));
12
12
  }
13
13
  }
14
14
  export default new RTEListBlockRenderer();
@@ -3,7 +3,7 @@ import RTEListBlockRenderer from './list-block-renderer';
3
3
  import { RTEBlockTextNodesRenderer } from './block-text-nodes-renderer.abstract';
4
4
  class RTEListItemBlockRenderer extends RTEBlockTextNodesRenderer {
5
5
  render(block, renderContext) {
6
- return (h("li", { ref: (ref) => super.registerRef(ref, block), style: super.getStyles(block), class: super.getClasses(block) },
6
+ return (h("li", { key: block.id, ref: (ref) => super.registerRef(ref, block), style: super.getStyles(block), class: super.getClasses(block) },
7
7
  super.renderNodes(block, renderContext),
8
8
  this.renderChildren(block.children, renderContext)));
9
9
  }
@@ -7,7 +7,7 @@ class RTETextBlockRenderer extends RTEBlockTextNodesRenderer {
7
7
  }
8
8
  render(block, renderContext) {
9
9
  const BlockTag = this.getBlockTagByType(block.type);
10
- return (h(BlockTag, { ref: (ref) => super.registerRef(ref, block), style: super.getStyles(block), class: super.getClasses(block) }, super.renderNodes(block, renderContext)));
10
+ return (h(BlockTag, { key: block.id, ref: (ref) => super.registerRef(ref, block), style: super.getStyles(block), class: super.getClasses(block) }, super.renderNodes(block, renderContext)));
11
11
  }
12
12
  getBlockTagByType(type) {
13
13
  switch (type) {