@globalpayments/vega 2.47.0 → 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 (429) hide show
  1. package/dist/cjs/{app-globals-981f7aba.js → app-globals-22798708.js} +6 -6
  2. package/dist/cjs/brand-switch-state-controller-slimmer-5efa1b24.js +51 -0
  3. package/dist/cjs/{content-state-605de6a3.js → content-state-54d94562.js} +221 -5
  4. package/dist/cjs/{dark-mode-state-controller-slimmer-2af3e67c.js → dark-mode-state-controller-slimmer-add5d8a8.js} +1 -1
  5. package/dist/cjs/{dark-mode-style-controller-c93b94d2.js → dark-mode-style-controller-4adb7fb2.js} +20 -17
  6. package/dist/cjs/{design-token-117a19a8.js → design-token-1abb655a.js} +1 -1
  7. package/dist/cjs/{element-appender-slimmer-4bdbd76d.js → element-appender-slimmer-2d4c8c18.js} +4 -4
  8. package/dist/cjs/{form-field-controller-slimmer-6d69c74f.js → form-field-controller-slimmer-527c25a0.js} +4 -4
  9. package/dist/cjs/{image-annotation-action-5e3aa73c.js → image-annotation-action-b78404b8.js} +2 -2
  10. package/dist/cjs/{index-ec9a1f36.js → index-c4dec3aa.js} +1 -1
  11. package/dist/cjs/index.cjs.js +10 -10
  12. package/dist/cjs/{inject-keyboard-manager-d1eac696.js → inject-keyboard-manager-b301e887.js} +1 -1
  13. package/dist/cjs/{keyboard-manager-97d0ddfa.js → keyboard-manager-2ccf4b16.js} +25 -5
  14. package/dist/cjs/{keyboard-manager-slimmer-23ce5dcf.js → keyboard-manager-slimmer-900cf2f5.js} +1 -1
  15. package/dist/cjs/loader.cjs.js +9 -9
  16. package/dist/cjs/{min-number-rule-5bcccc8f.js → min-number-rule-965fc43d.js} +2 -2
  17. package/dist/cjs/{public-rules-66f53e7e.js → public-rules-c4d2df9d.js} +5 -5
  18. package/dist/cjs/{responsive-format-facade-3542fc47.js → responsive-format-facade-38f3763e.js} +3 -3
  19. package/dist/cjs/{rich-text-editor-required-rule-649ef4b4.js → rich-text-editor-required-rule-e73f2c4f.js} +1 -1
  20. package/dist/cjs/{static-subject-title-1d23c102.js → static-subject-title-7e7d791a.js} +2 -2
  21. package/dist/cjs/{string-input-formatter-slimmer-56a2401f.js → string-input-formatter-slimmer-50322824.js} +2 -2
  22. package/dist/cjs/{style-formatter-b735d506.js → style-formatter-ecb4d49c.js} +1 -1
  23. package/dist/cjs/{sub-state-notify-slimmer-b16c9094.js → sub-state-notify-slimmer-7f437b19.js} +1 -1
  24. package/dist/cjs/{sub-state-observer-slimmer-1b6de09f.js → sub-state-observer-slimmer-e90362cd.js} +1 -1
  25. package/dist/cjs/{translation-5173d223.js → translation-212b1875.js} +1 -1
  26. package/dist/cjs/{translation-slimmer-e900e8d4.js → translation-slimmer-d1512c6d.js} +1 -1
  27. package/dist/cjs/vega-accordion.cjs.entry.js +8 -8
  28. package/dist/cjs/vega-app-footer.cjs.entry.js +38 -28
  29. package/dist/cjs/vega-app-header-button.cjs.entry.js +8 -8
  30. package/dist/cjs/vega-box.cjs.entry.js +9 -9
  31. package/dist/cjs/vega-brand-logo.cjs.entry.js +3 -3
  32. package/dist/cjs/vega-button-circle.cjs.entry.js +8 -8
  33. package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
  34. package/dist/cjs/vega-button.cjs.entry.js +7 -7
  35. package/dist/cjs/vega-calendar_3.cjs.entry.js +6 -6
  36. package/dist/cjs/vega-card.cjs.entry.js +8 -8
  37. package/dist/cjs/vega-carousel.cjs.entry.js +7 -7
  38. package/dist/cjs/vega-checkbox_2.cjs.entry.js +5 -5
  39. package/dist/cjs/vega-chip.cjs.entry.js +8 -8
  40. package/dist/cjs/vega-color-picker.cjs.entry.js +5 -5
  41. package/dist/cjs/vega-combo-box.cjs.entry.js +7 -7
  42. package/dist/cjs/vega-date-picker_2.cjs.entry.js +15 -15
  43. package/dist/cjs/vega-dialog_2.cjs.entry.js +8 -8
  44. package/dist/cjs/vega-divider.cjs.entry.js +8 -8
  45. package/dist/cjs/vega-dropdown_5.cjs.entry.js +14 -14
  46. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  47. package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
  48. package/dist/cjs/vega-file-uploader.cjs.entry.js +6 -6
  49. package/dist/cjs/vega-flag-icon.cjs.entry.js +8 -8
  50. package/dist/cjs/vega-flex.cjs.entry.js +9 -9
  51. package/dist/cjs/vega-font.cjs.entry.js +8 -8
  52. package/dist/cjs/vega-form.cjs.entry.js +6 -6
  53. package/dist/cjs/vega-grid.cjs.entry.js +8 -8
  54. package/dist/cjs/vega-icon.cjs.entry.js +8 -8
  55. package/dist/cjs/vega-image-uploader.cjs.entry.js +20 -11
  56. package/dist/cjs/vega-input-credit-card.cjs.entry.js +5 -5
  57. package/dist/cjs/vega-input-numeric.cjs.entry.js +13 -10
  58. package/dist/cjs/vega-input-phone-number.cjs.entry.js +5 -5
  59. package/dist/cjs/vega-input-range.cjs.entry.js +6 -6
  60. package/dist/cjs/vega-input-select.cjs.entry.js +10 -10
  61. package/dist/cjs/vega-input.cjs.entry.js +10 -10
  62. package/dist/cjs/{vega-internal-event-id-dc866d43.js → vega-internal-event-id-bfea9b93.js} +4 -0
  63. package/dist/cjs/vega-left-nav_5.cjs.entry.js +459 -198
  64. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +7 -7
  65. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +1 -1
  66. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +4 -4
  67. package/dist/cjs/vega-pagination.cjs.entry.js +8 -8
  68. package/dist/cjs/vega-popover_2.cjs.entry.js +15 -15
  69. package/dist/cjs/vega-radio_2.cjs.entry.js +10 -7
  70. package/dist/cjs/vega-rich-text-content.cjs.entry.js +14 -14
  71. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +453 -197
  72. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +10 -10
  73. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +6 -6
  74. package/dist/cjs/vega-sidenav_3.cjs.entry.js +9 -9
  75. package/dist/cjs/vega-signature-capture.cjs.entry.js +11 -11
  76. package/dist/cjs/{vega-skeleton-loader-controller-8cbd7656.js → vega-skeleton-loader-controller-db868c98.js} +3 -3
  77. package/dist/cjs/vega-stepper.cjs.entry.js +8 -8
  78. package/dist/cjs/vega-tab-group_2.cjs.entry.js +1 -1
  79. package/dist/cjs/vega-table_8.cjs.entry.js +10 -10
  80. package/dist/cjs/vega-textarea.cjs.entry.js +5 -5
  81. package/dist/cjs/vega-time-picker_2.cjs.entry.js +13 -13
  82. package/dist/cjs/vega-toggle-switch.cjs.entry.js +5 -5
  83. package/dist/cjs/vega-tooltip_2.cjs.entry.js +15 -15
  84. package/dist/cjs/vega.cjs.js +9 -9
  85. package/dist/collection/collection-manifest.json +1 -1
  86. package/dist/collection/components/vega-app-footer/vega-app-footer.js +42 -31
  87. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +4 -2
  88. package/dist/collection/components/vega-dropdown/vega-dropdown.js +3 -0
  89. package/dist/collection/components/vega-image-uploader/slimmers/renderers/vega-image-uploader-actions-renderer.js +4 -1
  90. package/dist/collection/components/vega-image-uploader/vega-image-uploader.js +11 -1
  91. package/dist/collection/components/vega-input/vega-input.js +4 -4
  92. package/dist/collection/components/vega-nav/slimmers/vega-left-nav-group-hierarchy-controller.js +31 -0
  93. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/renderers/vega-left-nav-header-renderer.js +5 -4
  94. package/dist/collection/components/vega-nav/vega-left-nav/test/vega-left-nav-mock-data.js +147 -0
  95. package/dist/collection/components/vega-nav/vega-left-nav/vega-left-nav.js +50 -8
  96. package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-initialize-selected-controller.js +56 -0
  97. package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-link-click-controller.js +70 -0
  98. package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-open-state-controller.js +47 -0
  99. package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-other-groups-click-controller.js +60 -0
  100. package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/renderers/vega-left-nav-group-renderer.js +10 -9
  101. package/dist/collection/components/vega-nav/vega-left-nav-group/vega-left-nav-group.js +21 -6
  102. package/dist/collection/components/vega-nav/vega-left-nav-link/slimmers/controllers/vega-left-nav-link-controller.js +21 -0
  103. package/dist/collection/components/vega-nav/vega-left-nav-link/slimmers/renderers/vega-left-nav-link-renderer.js +13 -1
  104. package/dist/collection/components/vega-nav/vega-left-nav-link/vega-left-nav-link.js +5 -0
  105. package/dist/collection/components/vega-popover/vega-popover.js +3 -0
  106. package/dist/collection/components/vega-rich-text-editor/dto/annotations/bold-annotation.js +6 -0
  107. package/dist/collection/components/vega-rich-text-editor/dto/annotations/code-annotation.js +6 -0
  108. package/dist/collection/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.js +6 -0
  109. package/dist/collection/components/vega-rich-text-editor/dto/annotations/image-annotation.js +6 -0
  110. package/dist/collection/components/vega-rich-text-editor/dto/annotations/indent-annotation.js +6 -0
  111. package/dist/collection/components/vega-rich-text-editor/dto/annotations/italic-annotation.js +6 -0
  112. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-annotation.js +6 -0
  113. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-group-annotation.js +7 -0
  114. package/dist/collection/components/vega-rich-text-editor/dto/annotations/selection-range-annotation.js +8 -0
  115. package/dist/collection/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.js +6 -0
  116. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-color-annotation.js +6 -0
  117. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-annotation.js +6 -0
  118. package/dist/collection/components/vega-rich-text-editor/dto/annotations/underline-annotation.js +6 -0
  119. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +8 -0
  120. package/dist/collection/components/vega-rich-text-editor/dto/blocks/image-block.js +14 -0
  121. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +14 -0
  122. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +20 -0
  123. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +14 -0
  124. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +47 -2
  125. package/dist/collection/components/vega-rich-text-editor/dto/editor-state.js +36 -0
  126. package/dist/collection/components/vega-rich-text-editor/dto/nodes/image-node.js +6 -0
  127. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +8 -0
  128. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +7 -1
  129. package/dist/collection/components/vega-rich-text-editor/dto/range.js +8 -0
  130. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.js +1 -1
  131. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +1 -1
  132. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +1 -1
  133. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.js +1 -1
  134. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js +1 -1
  135. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +2 -2
  136. package/dist/collection/components/vega-rich-text-editor/dto/selection-state.js +17 -0
  137. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract.js +2 -2
  138. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.js +3 -2
  139. 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
  140. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/history-controller.js +137 -0
  141. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +54 -15
  142. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +13 -1
  143. package/dist/collection/components/vega-rich-text-editor/test/dto/content-state.test.js +116 -0
  144. package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/text-node.test.js +12 -0
  145. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +5 -0
  146. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-image-editor/slimmers/renderers/vega-rich-text-image-editor-renderer.js +4 -0
  147. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-image-editor/vega-rich-text-image-editor.js +2 -1
  148. package/dist/collection/components/vega-stepper/vega-stepper.js +2 -2
  149. package/dist/collection/components/vega-tab-group/vega-tab-group.js +3 -0
  150. package/dist/collection/components/vega-time-picker/vega-time-picker.js +3 -0
  151. package/dist/collection/components/vega-tooltip/vega-tooltip.js +3 -0
  152. package/dist/collection/constants/misc.js +2 -0
  153. package/dist/collection/helpers/change-manager/subject/static-subject/static-subject-title.js +1 -1
  154. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +2 -0
  155. package/dist/collection/helpers/keyboard/keyboard-manager.js +25 -5
  156. package/dist/collection/helpers/keyboard/test/keyboard-manager.test.js +204 -105
  157. package/dist/collection/helpers/slimmers/brand-switch-state-controller-slimmer.js +46 -0
  158. package/dist/collection/helpers/slimmers/test/brand-switch-state-controller-slimmer.test.js +75 -0
  159. package/dist/collection/helpers/theme/controllers/{new-brand-style-controller.js → brand-style-controller.js} +9 -9
  160. package/dist/collection/helpers/theme/controllers/dark-mode-style-controller.js +1 -1
  161. package/dist/collection/helpers/theme/internal-theme-manager.js +12 -9
  162. package/dist/collection/helpers/theme/tests/theme-manager-controller.test.js +4 -4
  163. package/dist/collection/helpers/theme/theme-manager.js +2 -2
  164. package/dist/collection/helpers/validator/rules/max-number-rule.js +1 -1
  165. package/dist/collection/helpers/validator/rules/min-number-rule.js +1 -1
  166. package/dist/collection/helpers/validator/test/rules/max-number-rule.test.js +2 -2
  167. package/dist/collection/helpers/validator/test/rules/min-number-rule.test.js +2 -2
  168. package/dist/esm/{app-globals-c055c18a.js → app-globals-1bb57f5e.js} +6 -6
  169. package/dist/esm/brand-switch-state-controller-slimmer-05c85e6d.js +49 -0
  170. package/dist/esm/{content-state-8d0d38d7.js → content-state-6dba6625.js} +221 -5
  171. package/dist/esm/{dark-mode-state-controller-slimmer-0678a94b.js → dark-mode-state-controller-slimmer-f1c2c299.js} +1 -1
  172. package/dist/esm/{dark-mode-style-controller-e5915f26.js → dark-mode-style-controller-2ada8e22.js} +20 -17
  173. package/dist/esm/{design-token-7406782c.js → design-token-070b7326.js} +1 -1
  174. package/dist/esm/{element-appender-slimmer-16eaeb31.js → element-appender-slimmer-d196dd21.js} +4 -4
  175. package/dist/esm/{form-field-controller-slimmer-a383d067.js → form-field-controller-slimmer-e7dc3db1.js} +4 -4
  176. package/dist/esm/{image-annotation-action-de567e61.js → image-annotation-action-0b661259.js} +2 -2
  177. package/dist/esm/{index-96374234.js → index-4aa167d6.js} +1 -1
  178. package/dist/esm/index.js +10 -10
  179. package/dist/esm/{inject-keyboard-manager-ab0bfb8b.js → inject-keyboard-manager-f513be4a.js} +1 -1
  180. package/dist/esm/{keyboard-manager-8c4ef91b.js → keyboard-manager-262be5ce.js} +25 -5
  181. package/dist/esm/{keyboard-manager-slimmer-6f5cb52a.js → keyboard-manager-slimmer-42bf9773.js} +1 -1
  182. package/dist/esm/loader.js +9 -9
  183. package/dist/esm/{min-number-rule-a6082418.js → min-number-rule-86421853.js} +2 -2
  184. package/dist/esm/{public-rules-f9fe1987.js → public-rules-f9aaa527.js} +5 -5
  185. package/dist/esm/{responsive-format-facade-299d8ee9.js → responsive-format-facade-dfed6d94.js} +3 -3
  186. package/dist/esm/{rich-text-editor-required-rule-7fd7dcb3.js → rich-text-editor-required-rule-42b796eb.js} +1 -1
  187. package/dist/esm/{static-subject-title-4a9deb68.js → static-subject-title-ca83d6b6.js} +2 -2
  188. package/dist/esm/{string-input-formatter-slimmer-8c7987ac.js → string-input-formatter-slimmer-c61f82d6.js} +2 -2
  189. package/dist/esm/{style-formatter-2ebb1fd2.js → style-formatter-788dbacf.js} +1 -1
  190. package/dist/esm/{sub-state-notify-slimmer-2216c7dc.js → sub-state-notify-slimmer-4e3cf09d.js} +1 -1
  191. package/dist/esm/{sub-state-observer-slimmer-da938c88.js → sub-state-observer-slimmer-be7a6ce3.js} +1 -1
  192. package/dist/esm/{translation-78207e81.js → translation-cf7f020a.js} +1 -1
  193. package/dist/esm/{translation-slimmer-d49fcdf4.js → translation-slimmer-88966d5c.js} +1 -1
  194. package/dist/esm/vega-accordion.entry.js +8 -8
  195. package/dist/esm/vega-app-footer.entry.js +38 -28
  196. package/dist/esm/vega-app-header-button.entry.js +8 -8
  197. package/dist/esm/vega-box.entry.js +9 -9
  198. package/dist/esm/vega-brand-logo.entry.js +3 -3
  199. package/dist/esm/vega-button-circle.entry.js +8 -8
  200. package/dist/esm/vega-button-group_2.entry.js +3 -3
  201. package/dist/esm/vega-button.entry.js +7 -7
  202. package/dist/esm/vega-calendar_3.entry.js +6 -6
  203. package/dist/esm/vega-card.entry.js +8 -8
  204. package/dist/esm/vega-carousel.entry.js +7 -7
  205. package/dist/esm/vega-checkbox_2.entry.js +5 -5
  206. package/dist/esm/vega-chip.entry.js +8 -8
  207. package/dist/esm/vega-color-picker.entry.js +5 -5
  208. package/dist/esm/vega-combo-box.entry.js +7 -7
  209. package/dist/esm/vega-date-picker_2.entry.js +15 -15
  210. package/dist/esm/vega-dialog_2.entry.js +8 -8
  211. package/dist/esm/vega-divider.entry.js +8 -8
  212. package/dist/esm/vega-dropdown_5.entry.js +14 -14
  213. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  214. package/dist/esm/vega-field-error.entry.js +1 -1
  215. package/dist/esm/vega-file-uploader.entry.js +6 -6
  216. package/dist/esm/vega-flag-icon.entry.js +8 -8
  217. package/dist/esm/vega-flex.entry.js +9 -9
  218. package/dist/esm/vega-font.entry.js +8 -8
  219. package/dist/esm/vega-form.entry.js +6 -6
  220. package/dist/esm/vega-grid.entry.js +8 -8
  221. package/dist/esm/vega-icon.entry.js +8 -8
  222. package/dist/esm/vega-image-uploader.entry.js +20 -11
  223. package/dist/esm/vega-input-credit-card.entry.js +5 -5
  224. package/dist/esm/vega-input-numeric.entry.js +13 -10
  225. package/dist/esm/vega-input-phone-number.entry.js +5 -5
  226. package/dist/esm/vega-input-range.entry.js +6 -6
  227. package/dist/esm/vega-input-select.entry.js +10 -10
  228. package/dist/esm/vega-input.entry.js +10 -10
  229. package/dist/esm/{vega-internal-event-id-7d1ff289.js → vega-internal-event-id-85ad403f.js} +3 -1
  230. package/dist/esm/vega-left-nav_5.entry.js +459 -198
  231. package/dist/esm/vega-loader-wrapper_2.entry.js +7 -7
  232. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +1 -1
  233. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +4 -4
  234. package/dist/esm/vega-pagination.entry.js +8 -8
  235. package/dist/esm/vega-popover_2.entry.js +15 -15
  236. package/dist/esm/vega-radio_2.entry.js +10 -7
  237. package/dist/esm/vega-rich-text-content.entry.js +14 -14
  238. package/dist/esm/vega-rich-text-editor_4.entry.js +453 -197
  239. package/dist/esm/vega-selection-chip_2.entry.js +10 -10
  240. package/dist/esm/vega-selection-tile_2.entry.js +6 -6
  241. package/dist/esm/vega-sidenav_3.entry.js +9 -9
  242. package/dist/esm/vega-signature-capture.entry.js +11 -11
  243. package/dist/esm/{vega-skeleton-loader-controller-90e8d34d.js → vega-skeleton-loader-controller-c2a8bd27.js} +3 -3
  244. package/dist/esm/vega-stepper.entry.js +8 -8
  245. package/dist/esm/vega-tab-group_2.entry.js +1 -1
  246. package/dist/esm/vega-table_8.entry.js +10 -10
  247. package/dist/esm/vega-textarea.entry.js +5 -5
  248. package/dist/esm/vega-time-picker_2.entry.js +13 -13
  249. package/dist/esm/vega-toggle-switch.entry.js +5 -5
  250. package/dist/esm/vega-tooltip_2.entry.js +15 -15
  251. package/dist/esm/vega.js +9 -9
  252. package/dist/types/components/vega-app-footer/vega-app-footer.d.ts +8 -3
  253. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +3 -0
  254. package/dist/types/components/vega-image-uploader/slimmers/renderers/vega-image-uploader-actions-renderer.d.ts +1 -0
  255. package/dist/types/components/vega-image-uploader/vega-image-uploader.d.ts +3 -0
  256. package/dist/types/components/vega-input/vega-input.d.ts +2 -2
  257. package/dist/types/components/vega-nav/interface.d.ts +11 -0
  258. package/dist/types/components/vega-nav/slimmers/vega-left-nav-group-hierarchy-controller.d.ts +15 -0
  259. package/dist/types/components/vega-nav/vega-left-nav/slimmers/renderers/vega-left-nav-header-renderer.d.ts +1 -0
  260. package/dist/types/components/vega-nav/vega-left-nav/test/vega-left-nav-mock-data.d.ts +4 -0
  261. package/dist/types/components/vega-nav/vega-left-nav/vega-left-nav.d.ts +25 -4
  262. package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-initialize-selected-controller.d.ts +20 -0
  263. package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-link-click-controller.d.ts +25 -0
  264. package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-open-state-controller.d.ts +27 -0
  265. package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-other-groups-click-controller.d.ts +17 -0
  266. package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/renderers/vega-left-nav-group-renderer.d.ts +2 -1
  267. package/dist/types/components/vega-nav/vega-left-nav-group/vega-left-nav-group.d.ts +12 -5
  268. package/dist/types/components/vega-nav/vega-left-nav-link/slimmers/controllers/vega-left-nav-link-controller.d.ts +5 -0
  269. package/dist/types/components/vega-nav/vega-left-nav-link/slimmers/renderers/vega-left-nav-link-renderer.d.ts +2 -0
  270. package/dist/types/components/vega-nav/vega-left-nav-link/vega-left-nav-link.d.ts +2 -0
  271. package/dist/types/components/vega-popover/vega-popover.d.ts +3 -0
  272. package/dist/types/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.d.ts +1 -0
  273. package/dist/types/components/vega-rich-text-editor/dto/annotations/bold-annotation.d.ts +4 -0
  274. package/dist/types/components/vega-rich-text-editor/dto/annotations/code-annotation.d.ts +4 -0
  275. package/dist/types/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.d.ts +4 -0
  276. package/dist/types/components/vega-rich-text-editor/dto/annotations/image-annotation.d.ts +4 -0
  277. package/dist/types/components/vega-rich-text-editor/dto/annotations/indent-annotation.d.ts +4 -0
  278. package/dist/types/components/vega-rich-text-editor/dto/annotations/italic-annotation.d.ts +4 -0
  279. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-annotation.d.ts +4 -0
  280. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-group-annotation.d.ts +1 -0
  281. package/dist/types/components/vega-rich-text-editor/dto/annotations/node-annotation.abstract.d.ts +1 -0
  282. package/dist/types/components/vega-rich-text-editor/dto/annotations/selection-range-annotation.d.ts +6 -0
  283. package/dist/types/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.d.ts +4 -0
  284. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-color-annotation.d.ts +4 -0
  285. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-annotation.d.ts +4 -0
  286. package/dist/types/components/vega-rich-text-editor/dto/annotations/underline-annotation.d.ts +4 -0
  287. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +9 -1
  288. package/dist/types/components/vega-rich-text-editor/dto/blocks/image-block.d.ts +4 -0
  289. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +4 -0
  290. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +4 -0
  291. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +4 -0
  292. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +19 -1
  293. package/dist/types/components/vega-rich-text-editor/dto/editor-state.d.ts +20 -0
  294. package/dist/types/components/vega-rich-text-editor/dto/nodes/image-node.d.ts +4 -0
  295. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +9 -1
  296. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +4 -0
  297. package/dist/types/components/vega-rich-text-editor/dto/range.d.ts +6 -0
  298. package/dist/types/components/vega-rich-text-editor/dto/selection-state.d.ts +14 -0
  299. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.d.ts +2 -2
  300. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/history-controller.d.ts +54 -0
  301. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/selection-controller.d.ts +14 -1
  302. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +4 -1
  303. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +2 -0
  304. package/dist/types/components/vega-tab-group/vega-tab-group.d.ts +3 -0
  305. package/dist/types/components/vega-time-picker/vega-time-picker.d.ts +3 -0
  306. package/dist/types/components/vega-tooltip/vega-tooltip.d.ts +3 -0
  307. package/dist/types/components.d.ts +23 -11
  308. package/dist/types/constants/misc.d.ts +2 -0
  309. package/dist/types/helpers/change-manager/subject/static-subject/static-subject-title.d.ts +2 -2
  310. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +2 -0
  311. package/dist/types/helpers/keyboard/keyboard-manager.d.ts +11 -1
  312. package/dist/types/helpers/slimmers/brand-switch-state-controller-slimmer.d.ts +22 -0
  313. package/dist/types/helpers/slimmers/test/brand-switch-state-controller-slimmer.test.d.ts +1 -0
  314. package/dist/types/helpers/theme/controllers/{new-brand-style-controller.d.ts → brand-style-controller.d.ts} +3 -3
  315. package/dist/types/helpers/theme/internal-theme-manager.d.ts +8 -8
  316. package/dist/types/helpers/theme/theme-manager.d.ts +4 -4
  317. package/dist/types/helpers/theme/theme.d.ts +6 -1
  318. package/dist/types/types/components.type.d.ts +1 -0
  319. package/dist/types/types/public-api.d.ts +1 -1
  320. package/dist/types/types/ui.type.d.ts +1 -1
  321. package/dist/vega/index.esm.js +1 -1
  322. package/dist/vega/{p-f01300ea.entry.js → p-024cccab.entry.js} +1 -1
  323. package/dist/vega/{p-8f98e604.entry.js → p-07d1c3e1.entry.js} +1 -1
  324. package/dist/vega/{p-eaab3fea.entry.js → p-0969877b.entry.js} +1 -1
  325. package/dist/vega/{p-a9f2ad08.entry.js → p-09c13382.entry.js} +1 -1
  326. package/dist/vega/{p-b5f05d21.entry.js → p-09f7f841.entry.js} +1 -1
  327. package/dist/vega/{p-20af6415.entry.js → p-0a18f5f6.entry.js} +1 -1
  328. package/dist/vega/{p-d54c48b0.js → p-0d355793.js} +1 -1
  329. package/dist/vega/{p-f3f73fd3.entry.js → p-10f1429e.entry.js} +1 -1
  330. package/dist/vega/{p-0835a2fd.js → p-1503f791.js} +1 -1
  331. package/dist/vega/p-1b3f492f.entry.js +1 -0
  332. package/dist/vega/{p-d2947f32.entry.js → p-1d0cf3ae.entry.js} +1 -1
  333. package/dist/vega/{p-4b541ce8.entry.js → p-2198de3e.entry.js} +1 -1
  334. package/dist/vega/{p-e3b70eed.entry.js → p-2491d18f.entry.js} +1 -1
  335. package/dist/vega/{p-e309bfd1.entry.js → p-24e0cdcc.entry.js} +1 -1
  336. package/dist/vega/{p-aa29ccd4.entry.js → p-27e3825f.entry.js} +1 -1
  337. package/dist/vega/p-27e56c67.entry.js +1 -0
  338. package/dist/vega/{p-76a3a552.entry.js → p-292b421a.entry.js} +1 -1
  339. package/dist/vega/{p-d2a65457.entry.js → p-2ecae9fe.entry.js} +1 -1
  340. package/dist/vega/{p-562de411.entry.js → p-2fadef27.entry.js} +1 -1
  341. package/dist/vega/{p-b4108ddb.entry.js → p-31ec679b.entry.js} +1 -1
  342. package/dist/vega/{p-f5fdf1ae.entry.js → p-32c68611.entry.js} +1 -1
  343. package/dist/vega/{p-42b62b48.js → p-32ca74b1.js} +1 -1
  344. package/dist/vega/{p-4640d35d.entry.js → p-353d32c0.entry.js} +1 -1
  345. package/dist/vega/{p-63ea4f38.entry.js → p-371cc8e8.entry.js} +1 -1
  346. package/dist/vega/{p-84aa2ebc.entry.js → p-38fa38dc.entry.js} +1 -1
  347. package/dist/vega/{p-720d87f9.entry.js → p-472727a4.entry.js} +1 -1
  348. package/dist/vega/{p-12a8d705.js → p-48b7f20d.js} +1 -1
  349. package/dist/vega/p-4e68dfd9.js +1 -0
  350. package/dist/vega/{p-693934d5.entry.js → p-4fa94b35.entry.js} +1 -1
  351. package/dist/vega/{p-c17b7a1f.js → p-50677c8e.js} +1 -1
  352. package/dist/vega/{p-1486bc3f.js → p-50e80afa.js} +1 -1
  353. package/dist/vega/p-56a0b13d.js +1 -0
  354. package/dist/vega/p-575ca599.entry.js +1 -0
  355. package/dist/vega/{p-23a26150.js → p-5773a9a3.js} +1 -1
  356. package/dist/vega/{p-7a3826a0.entry.js → p-57e813f2.entry.js} +1 -1
  357. package/dist/vega/{p-90ebcda7.entry.js → p-5a8f129f.entry.js} +1 -1
  358. package/dist/vega/p-5c1eedc5.js +1 -0
  359. package/dist/vega/{p-0a3607f7.entry.js → p-5c3da7ed.entry.js} +1 -1
  360. package/dist/vega/{p-b2643e88.js → p-5e3a15a1.js} +1 -1
  361. package/dist/vega/p-5f377954.js +1 -1
  362. package/dist/vega/{p-23ff7605.entry.js → p-65a76f19.entry.js} +1 -1
  363. package/dist/vega/p-6be16084.js +1 -0
  364. package/dist/vega/{p-69cc3fa2.js → p-6cabdb36.js} +1 -1
  365. package/dist/vega/{p-d296cf86.entry.js → p-6cc32ffa.entry.js} +1 -1
  366. package/dist/vega/{p-d7642125.js → p-72ecfd40.js} +1 -1
  367. package/dist/vega/{p-be186a9f.entry.js → p-7581d242.entry.js} +1 -1
  368. package/dist/vega/{p-a0b6da44.js → p-75c68f51.js} +1 -1
  369. package/dist/vega/p-7db32dc0.entry.js +1 -0
  370. package/dist/vega/{p-f0c85061.js → p-7f6702f7.js} +1 -1
  371. package/dist/vega/{p-7f1a7346.entry.js → p-84298e28.entry.js} +1 -1
  372. package/dist/vega/{p-704d9730.js → p-8ade44bf.js} +1 -1
  373. package/dist/vega/p-8bc4c015.entry.js +1 -0
  374. package/dist/vega/{p-e66515c7.js → p-8d283666.js} +1 -1
  375. package/dist/vega/p-904d1b43.js +1 -0
  376. package/dist/vega/{p-c87b5c83.entry.js → p-971f7d3c.entry.js} +1 -1
  377. package/dist/vega/{p-1138fa63.entry.js → p-9dba10f7.entry.js} +1 -1
  378. package/dist/vega/p-aea89be5.entry.js +1 -0
  379. package/dist/vega/p-b1f9fca8.entry.js +1 -0
  380. package/dist/vega/{p-ff9e8753.entry.js → p-b3e1dc86.entry.js} +1 -1
  381. package/dist/vega/{p-327a017b.entry.js → p-baca6dfc.entry.js} +1 -1
  382. package/dist/vega/p-bf1894ec.js +1 -0
  383. package/dist/vega/p-c5f8b3a3.entry.js +1 -0
  384. package/dist/vega/p-c6a3fe8a.entry.js +1 -0
  385. package/dist/vega/p-c754b32c.js +1 -0
  386. package/dist/vega/p-cc43a4ca.js +1 -0
  387. package/dist/vega/{p-f3efc8f0.entry.js → p-ccdd49be.entry.js} +1 -1
  388. package/dist/vega/p-cd205d96.js +1 -0
  389. package/dist/vega/{p-414e7edc.entry.js → p-d033ed44.entry.js} +1 -1
  390. package/dist/vega/{p-7cc3feb4.entry.js → p-d6591d70.entry.js} +1 -1
  391. package/dist/vega/{p-80c86d79.js → p-d7937711.js} +1 -1
  392. package/dist/vega/{p-26005df1.js → p-db4112af.js} +1 -1
  393. package/dist/vega/{p-90e70662.entry.js → p-db7a6878.entry.js} +1 -1
  394. package/dist/vega/{p-0e7fc736.entry.js → p-dd33bc71.entry.js} +1 -1
  395. package/dist/vega/{p-fb6d87cd.entry.js → p-e8f16f1d.entry.js} +1 -1
  396. package/dist/vega/{p-ba0a76fe.entry.js → p-ed6cc75b.entry.js} +1 -1
  397. package/dist/vega/p-f4d3387c.entry.js +1 -0
  398. package/dist/vega/{p-27287998.entry.js → p-f5b19d4f.entry.js} +1 -1
  399. package/dist/vega/{p-1114896d.entry.js → p-f7423232.entry.js} +1 -1
  400. package/dist/vega/p-fba4bae5.js +1 -0
  401. package/dist/vega/p-fda0c179.entry.js +1 -0
  402. package/dist/vega/p-ff41dc6a.entry.js +1 -0
  403. package/dist/vega/vega.esm.js +1 -1
  404. package/package.json +1 -1
  405. package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-controller.js +0 -30
  406. package/dist/collection/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-sibling-observer-controller.js +0 -48
  407. package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-controller.d.ts +0 -11
  408. package/dist/types/components/vega-nav/vega-left-nav-group/slimmers/controllers/vega-left-nav-group-sibling-observer-controller.d.ts +0 -18
  409. package/dist/vega/p-06d7990e.js +0 -1
  410. package/dist/vega/p-1154e439.entry.js +0 -1
  411. package/dist/vega/p-12d60f5f.js +0 -1
  412. package/dist/vega/p-214aa52e.js +0 -1
  413. package/dist/vega/p-2c0d1ec9.entry.js +0 -1
  414. package/dist/vega/p-2e65e175.js +0 -1
  415. package/dist/vega/p-3165ee95.entry.js +0 -1
  416. package/dist/vega/p-380ba357.entry.js +0 -1
  417. package/dist/vega/p-41c48bcc.entry.js +0 -1
  418. package/dist/vega/p-4c62c178.entry.js +0 -1
  419. package/dist/vega/p-626dd54f.entry.js +0 -1
  420. package/dist/vega/p-6f2faa34.js +0 -1
  421. package/dist/vega/p-6f9731a1.entry.js +0 -1
  422. package/dist/vega/p-7f9dd834.entry.js +0 -1
  423. package/dist/vega/p-865b45dc.entry.js +0 -1
  424. package/dist/vega/p-b07add9c.entry.js +0 -1
  425. package/dist/vega/p-b9051ad2.js +0 -1
  426. package/dist/vega/p-da40b4c3.js +0 -1
  427. package/dist/vega/p-f2373487.js +0 -1
  428. package/dist/vega/p-ff8ef8af.entry.js +0 -1
  429. package/dist/vega/p-ff9ccfa8.js +0 -1
@@ -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);
@@ -214,6 +214,9 @@ export class VegaPopover {
214
214
  "optional": false,
215
215
  "docs": {
216
216
  "tags": [{
217
+ "name": "VegaWarning",
218
+ "text": "The value of this property should be an element that is\nthe parent of this component or an ancestor of the parent element.\nUsing any other element may lead to unexpected behavior."
219
+ }, {
217
220
  "name": "vegaVersion",
218
221
  "text": "1.19.0"
219
222
  }],
@@ -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) {
@@ -38,7 +38,7 @@ class RTEImageNodeRenderer extends RTENodeRenderer {
38
38
  render(node, renderContext) {
39
39
  const imageAnnotation = node.getAnnotationByType(NodeAnnotationTypeEnum.IMAGE);
40
40
  const { size, alt } = imageAnnotation || new ImageAnnotation('md', '');
41
- return renderContext.editable ? (h("vega-rich-text-image-editor", { style: super.getStyles(node), size: size, alt: alt, ref: (ref) => {
41
+ return renderContext.editable ? (h("vega-rich-text-image-editor", { key: node.id, style: super.getStyles(node), size: size, alt: alt, ref: (ref) => {
42
42
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaChange, (e) => this.handleChange(e, node));
43
43
  } }, this.renderImage(alt, node, renderContext))) : (this.renderImage(alt, node, renderContext));
44
44
  }
@@ -7,9 +7,9 @@ class RTETextNodeRenderer extends RTENodeRenderer {
7
7
  render(node) {
8
8
  const codeAnnotation = node.annotationMap.get(NodeAnnotationTypeEnum.CODE);
9
9
  if (codeAnnotation === null || codeAnnotation === void 0 ? void 0 : codeAnnotation.code) {
10
- return (h("code", { style: super.getStyles(node), class: super.getClasses(node), ref: (ref) => this.registerRef(ref, node) }, node.text || ZERO_WIDTH_SPACE));
10
+ return (h("code", { key: node.id, style: super.getStyles(node), class: super.getClasses(node), ref: (ref) => this.registerRef(ref, node) }, node.text || ZERO_WIDTH_SPACE));
11
11
  }
12
- return (h("span", { style: super.getStyles(node), class: super.getClasses(node), ref: (ref) => this.registerRef(ref, node) }, node.text || ZERO_WIDTH_SPACE));
12
+ return (h("span", { key: node.id, style: super.getStyles(node), class: super.getClasses(node), ref: (ref) => this.registerRef(ref, node) }, node.text || ZERO_WIDTH_SPACE));
13
13
  }
14
14
  registerRef(ref, node) {
15
15
  super.registerRef(ref, node);
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Represents the state of the selection in the RTE.
3
+ */
4
+ export class RTESelectionState {
5
+ constructor(range) {
6
+ this.range = range;
7
+ }
8
+ /**
9
+ * Clones the selection state, updating the range nodes based on the provided content.
10
+ *
11
+ * @returns {RTESelectionState} A new instance of RTESelectionState with the updated range.
12
+ */
13
+ clone() {
14
+ const newRange = this.range.clone();
15
+ return new RTESelectionState(newRange);
16
+ }
17
+ }
@@ -34,7 +34,7 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
34
34
  childNodes.push({
35
35
  id: generateUUID(),
36
36
  type: 'text',
37
- text: child.textContent,
37
+ text: String(child.textContent),
38
38
  annotations: annotations,
39
39
  });
40
40
  }
@@ -67,7 +67,7 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
67
67
  * @returns {boolean} - boolean.
68
68
  */
69
69
  isInvalidTextNode(element) {
70
- if (element.nodeValue.includes('\t')) {
70
+ if (element.nodeValue && element.nodeValue.includes('\t')) {
71
71
  const value = element.nodeValue.replace(/\n|\t/gm, '');
72
72
  if (value.length === 0)
73
73
  return true;
@@ -1,3 +1,4 @@
1
+ import { isNonNullable } from '../../../../../../types/type-guard';
1
2
  /**
2
3
  * Abstract class to define strategies for processing HTML elements
3
4
  */
@@ -23,14 +24,14 @@ export class ElementToDTOStrategyOutput {
23
24
  /**
24
25
  * Transform current output and children output to DTO
25
26
  *
26
- * @returns {RTEContentBlock} - DTO.
27
+ * @returns {Nullable<RTEContentBlock>} - DTO.
27
28
  */
28
29
  toDto() {
29
30
  const currentBlock = this.currentStrategy.handle(this.currentElements);
30
31
  if (this.childrenOutput.length > 0 && currentBlock) {
31
32
  this.currentStrategy.appendChildBlocks(currentBlock, this.childrenOutput
32
33
  .map((childOutput) => childOutput.toDto())
33
- .filter(Boolean));
34
+ .filter(isNonNullable));
34
35
  }
35
36
  return currentBlock;
36
37
  }