@globalpayments/vega 2.66.0 → 2.68.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 (436) hide show
  1. package/dist/cjs/{app-globals-ab28f910.js → app-globals-f7106a22.js} +15 -14
  2. package/dist/cjs/{child-nodes-event-prevent-slimmer-eb803b14.js → child-nodes-event-prevent-slimmer-f8840f1b.js} +1 -1
  3. package/dist/cjs/{code-block-ab97a0a0.js → code-block-39074880.js} +514 -319
  4. package/dist/cjs/{component-value-history-controller-slimmer.abstract-5630341e.js → component-value-history-controller-slimmer.abstract-ddedf543.js} +2 -2
  5. package/dist/cjs/{design-token-847739f1.js → design-token-e14a4e66.js} +1 -1
  6. package/dist/cjs/{dto-renderer-manager-d0f0f2c0.js → dto-renderer-manager-b7969d6c.js} +1587 -1563
  7. package/dist/cjs/{element-appender-slimmer-aead9bbb.js → element-appender-slimmer-7ee27ab3.js} +5 -5
  8. package/dist/cjs/{event-emit-slimmer-d21a0935.js → event-emit-slimmer-7afe8d78.js} +1 -1
  9. package/dist/cjs/{token-extension-aa8d5cce.js → function-extension-f0e845f2.js} +1019 -96
  10. package/dist/cjs/{image-annotation-action-d84de785.js → image-annotation-action-7f0626c8.js} +15 -25
  11. package/dist/cjs/index.cjs.js +36 -24
  12. package/dist/cjs/{internal-vega-event-manager-4d1ce667.js → internal-vega-event-manager-45d451de.js} +5 -2
  13. package/dist/cjs/{language-extension-d257e65d.js → language-extension-d0103d1a.js} +5 -5
  14. package/dist/cjs/loader.cjs.js +8 -8
  15. package/dist/cjs/{public-rules-d2b9b8f0.js → public-rules-8b67eaba.js} +3 -3
  16. package/dist/cjs/{range-d610028e.js → range-002671b6.js} +1 -1
  17. package/dist/cjs/{responsive-format-facade-71e7b74c.js → responsive-format-facade-347db035.js} +3 -3
  18. package/dist/cjs/{rich-text-editor-required-rule-a8fe5f50.js → rich-text-editor-required-rule-5392bd8a.js} +1 -1
  19. package/dist/cjs/{style-formatter-6facb42b.js → style-formatter-0a09f0dd.js} +1 -1
  20. package/dist/cjs/vega-accordion.cjs.entry.js +7 -7
  21. package/dist/cjs/vega-app-header-button.cjs.entry.js +8 -8
  22. package/dist/cjs/vega-banner.cjs.entry.js +2 -2
  23. package/dist/cjs/vega-box.cjs.entry.js +8 -8
  24. package/dist/cjs/vega-breadcrumb.cjs.entry.js +3 -3
  25. package/dist/cjs/vega-button-circle.cjs.entry.js +9 -9
  26. package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
  27. package/dist/cjs/vega-button-link.cjs.entry.js +3 -3
  28. package/dist/cjs/vega-button.cjs.entry.js +8 -8
  29. package/dist/cjs/vega-calendar_4.cjs.entry.js +307 -269
  30. package/dist/cjs/vega-card.cjs.entry.js +7 -7
  31. package/dist/cjs/vega-carousel.cjs.entry.js +7 -7
  32. package/dist/cjs/vega-checkbox_2.cjs.entry.js +3 -3
  33. package/dist/cjs/vega-chip.cjs.entry.js +9 -9
  34. package/dist/cjs/vega-code-block.cjs.entry.js +6 -6
  35. package/dist/cjs/vega-color-picker.cjs.entry.js +2 -2
  36. package/dist/cjs/vega-combo-box.cjs.entry.js +3 -3
  37. package/dist/cjs/vega-date-picker_2.cjs.entry.js +12 -12
  38. package/dist/cjs/vega-dialog_2.cjs.entry.js +138 -44
  39. package/dist/cjs/vega-divider.cjs.entry.js +7 -7
  40. package/dist/cjs/vega-dropdown_5.cjs.entry.js +9 -9
  41. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  42. package/dist/cjs/vega-field-label.cjs.entry.js +24 -5
  43. package/dist/cjs/vega-file-uploader.cjs.entry.js +2 -2
  44. package/dist/cjs/vega-flag-icon.cjs.entry.js +6 -6
  45. package/dist/cjs/vega-flex.cjs.entry.js +8 -8
  46. package/dist/cjs/vega-font.cjs.entry.js +7 -7
  47. package/dist/cjs/vega-form.cjs.entry.js +3 -3
  48. package/dist/cjs/vega-grid.cjs.entry.js +7 -7
  49. package/dist/cjs/vega-icon.cjs.entry.js +6 -6
  50. package/dist/cjs/vega-image-uploader.cjs.entry.js +8 -8
  51. package/dist/cjs/vega-input-credit-card.cjs.entry.js +3 -3
  52. package/dist/cjs/vega-input-numeric.cjs.entry.js +3 -3
  53. package/dist/cjs/vega-input-passcode.cjs.entry.js +3 -3
  54. package/dist/cjs/vega-input-phone-number.cjs.entry.js +6 -6
  55. package/dist/cjs/vega-input-range.cjs.entry.js +3 -3
  56. package/dist/cjs/vega-input-select.cjs.entry.js +38 -14
  57. package/dist/cjs/vega-input.cjs.entry.js +14 -3
  58. package/dist/cjs/vega-item-toggle.cjs.entry.js +2 -2
  59. package/dist/cjs/vega-left-nav_5.cjs.entry.js +11 -11
  60. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +8 -8
  61. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +2 -2
  62. package/dist/cjs/vega-pagination.cjs.entry.js +7 -7
  63. package/dist/cjs/vega-popover_2.cjs.entry.js +9 -9
  64. package/dist/cjs/vega-progress-tracker.cjs.entry.js +2 -2
  65. package/dist/cjs/vega-radio_2.cjs.entry.js +3 -3
  66. package/dist/cjs/vega-rich-text-content.cjs.entry.js +93 -16
  67. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +107 -54
  68. package/dist/cjs/vega-segment-control.cjs.entry.js +2 -2
  69. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +8 -8
  70. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +3 -3
  71. package/dist/cjs/vega-sidenav_3.cjs.entry.js +10 -10
  72. package/dist/cjs/vega-signature-capture.cjs.entry.js +7 -7
  73. package/dist/cjs/vega-stepper.cjs.entry.js +3 -3
  74. package/dist/cjs/vega-tab-group_2.cjs.entry.js +3 -3
  75. package/dist/cjs/vega-table_8.cjs.entry.js +11 -11
  76. package/dist/cjs/vega-textarea.cjs.entry.js +24 -4
  77. package/dist/cjs/vega-time-picker_2.cjs.entry.js +9 -9
  78. package/dist/cjs/vega-toggle-switch.cjs.entry.js +2 -2
  79. package/dist/cjs/vega-tooltip_2.cjs.entry.js +7 -7
  80. package/dist/cjs/vega.cjs.js +8 -8
  81. package/dist/collection/components/vega-calendar/slimmers/common/helpers/calendar-event-sorter.js +3 -3
  82. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +1 -1
  83. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/day-view-timed-event-layout-column.js +1 -1
  84. package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.js +3 -4
  85. package/dist/collection/components/vega-field-label/slimmers/renderers/vega-field-label-suffix-element-renderer.js +11 -3
  86. package/dist/collection/components/vega-field-label/vega-field-label.js +42 -0
  87. package/dist/collection/components/vega-input/vega-input.js +48 -2
  88. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-renderer.js +16 -5
  89. package/dist/collection/components/vega-input-select/vega-input-select.css +2 -44
  90. package/dist/collection/components/vega-input-select/vega-input-select.js +81 -1
  91. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +95 -16
  92. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-z-index-controller.js +4 -1
  93. package/dist/collection/components/vega-modal/slimmers/models/vega-modal-open-state.js +9 -0
  94. package/dist/collection/components/vega-modal/slimmers/renderers/vega-modal-renderer.js +4 -1
  95. package/dist/collection/components/vega-modal/vega-modal.js +19 -16
  96. package/dist/collection/components/vega-rich-text-content/slimmers/controllers/vega-rich-text-content-extensions-styles-controller.js +60 -0
  97. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +7 -1
  98. package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.js +17 -1
  99. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-interceptor-registry.js +61 -0
  100. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-interceptor.abstract.js +5 -0
  101. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy-registry.js +30 -6
  102. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.js +10 -3
  103. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-or-decorator-node-strategy.js +2 -1
  104. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/paste-content-strategy.js +28 -0
  105. package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +1 -0
  106. package/dist/collection/components/vega-rich-text-editor/dto/actions/paste-content-action.js +17 -0
  107. package/dist/collection/components/vega-rich-text-editor/dto/actions/update-cursor-position-action.js +5 -0
  108. package/dist/collection/components/vega-rich-text-editor/dto/annotations/annotation-style.js +87 -0
  109. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +27 -9
  110. package/dist/collection/components/vega-rich-text-editor/dto/blocks/html-block.js +1 -12
  111. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +6 -0
  112. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +14 -5
  113. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +11 -0
  114. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +7 -37
  115. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +14 -3
  116. package/dist/collection/components/vega-rich-text-editor/extensions/base-extension-renderer.js +19 -1
  117. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +44 -3
  118. package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +51 -1
  119. package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-interceptor/prevent-new-paragraph-interceptor.js +30 -0
  120. package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-interceptor/prevent-paste-content-interceptor.js +25 -0
  121. package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/function-block-insert-paragraph-strategy.js +30 -0
  122. package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/insert-function-block-strategy.js +99 -0
  123. package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/paste-plain-text-strategy.js +68 -0
  124. package/dist/collection/components/vega-rich-text-editor/extensions/functions/actions/insert-function-block-action.js +15 -0
  125. package/dist/collection/components/vega-rich-text-editor/extensions/functions/actions/paste-plain-text-action.js +17 -0
  126. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/function-block.js +97 -0
  127. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-block.js +73 -0
  128. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.js +69 -0
  129. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-block-strategy.js +49 -0
  130. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-content-strategy.js +27 -0
  131. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-logic-control-block-strategy.js +55 -0
  132. package/dist/collection/components/vega-rich-text-editor/extensions/functions/function-extension.js +75 -0
  133. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-block-renderer.js +38 -0
  134. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +71 -0
  135. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/logic-control-block-renderer.js +20 -0
  136. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +1 -1
  137. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.js +3 -1
  138. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node-renderer.js +5 -6
  139. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +1 -1
  140. package/dist/collection/components/vega-rich-text-editor/public-api.js +8 -1
  141. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.js +9 -1
  142. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.js +0 -12
  143. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-line-break-handler.js +3 -1
  144. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +12 -10
  145. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.js +2 -4
  146. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +30 -5
  147. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.js +1 -4
  148. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.js +10 -1
  149. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.js +2 -4
  150. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +2 -1
  151. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +4 -1
  152. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.js +2 -4
  153. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.js +1 -4
  154. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +1 -4
  155. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.js +1 -4
  156. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.js +2 -4
  157. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +2 -4
  158. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +2 -5
  159. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.js +2 -4
  160. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.js +11 -0
  161. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +4 -1
  162. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/action-handle-strategy-registry.test.js +32 -2
  163. package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/block-delete-node-content-strategy.test.js +69 -0
  164. package/dist/collection/components/vega-rich-text-editor/test/dto/annotation-style.test.js +70 -0
  165. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.css +3 -0
  166. package/dist/collection/components/vega-selection-chip/vega-selection-chip.js +1 -1
  167. package/dist/collection/components/vega-table/vega-table.css +2 -1
  168. package/dist/collection/components/vega-textarea/vega-textarea.js +88 -2
  169. package/dist/collection/global/scripts/before-vega-load.js +2 -0
  170. package/dist/collection/helpers/calendar/calendar-date-time.js +136 -0
  171. package/dist/collection/helpers/calendar/calendar-date.js +10 -4
  172. package/dist/collection/helpers/calendar/calendar-event.js +38 -193
  173. package/dist/collection/helpers/calendar/calendar-time.js +120 -0
  174. package/dist/collection/helpers/calendar/index.js +2 -0
  175. package/dist/collection/helpers/calendar/test/calendar-date-time.test.js +27 -0
  176. package/dist/collection/helpers/calendar/test/calendar-event.test.js +24 -22
  177. package/dist/collection/helpers/calendar/test/calendar-period/day-period.test.js +2 -2
  178. package/dist/collection/helpers/calendar/test/calendar-period/month-period.test.js +2 -2
  179. package/dist/collection/helpers/calendar/test/calendar-period/week-period.test.js +6 -6
  180. package/dist/collection/helpers/calendar/test/calendar-time.test.js +45 -0
  181. package/dist/collection/helpers/calendar/test/utils.test.js +1 -29
  182. package/dist/collection/helpers/calendar/utils.js +0 -66
  183. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +5 -2
  184. package/dist/collection/helpers/rte-manager/dto-action-strategy-manager.js +2 -0
  185. package/dist/esm/{app-globals-37a60cc1.js → app-globals-2f689986.js} +6 -5
  186. package/dist/esm/{child-nodes-event-prevent-slimmer-735cb880.js → child-nodes-event-prevent-slimmer-76331524.js} +1 -1
  187. package/dist/esm/{code-block-11b2bc1c.js → code-block-e8839202.js} +511 -318
  188. package/dist/esm/{component-value-history-controller-slimmer.abstract-16c5cb96.js → component-value-history-controller-slimmer.abstract-c6f94113.js} +2 -2
  189. package/dist/esm/{design-token-297dc528.js → design-token-e9e6b011.js} +1 -1
  190. package/dist/esm/{dto-renderer-manager-a1a3b6d2.js → dto-renderer-manager-7abc53bf.js} +1587 -1565
  191. package/dist/esm/{element-appender-slimmer-f7233708.js → element-appender-slimmer-8dbc8387.js} +2 -2
  192. package/dist/esm/{event-emit-slimmer-28fd360c.js → event-emit-slimmer-4e28e9f8.js} +1 -1
  193. package/dist/esm/{token-extension-b690953f.js → function-extension-eb1d062f.js} +1018 -97
  194. package/dist/esm/{image-annotation-action-fc46c920.js → image-annotation-action-7957653a.js} +14 -24
  195. package/dist/esm/index.js +9 -9
  196. package/dist/esm/{internal-vega-event-manager-a5a5938d.js → internal-vega-event-manager-516aa721.js} +5 -2
  197. package/dist/esm/{language-extension-314a2b18.js → language-extension-3331131f.js} +3 -3
  198. package/dist/esm/loader.js +8 -8
  199. package/dist/esm/{public-rules-c6a6946d.js → public-rules-e613dead.js} +3 -3
  200. package/dist/esm/{range-b78254de.js → range-adf206fd.js} +1 -1
  201. package/dist/esm/{responsive-format-facade-a41e1be7.js → responsive-format-facade-b0712993.js} +3 -3
  202. package/dist/esm/{rich-text-editor-required-rule-d50c24da.js → rich-text-editor-required-rule-43857573.js} +1 -1
  203. package/dist/esm/{style-formatter-f7effaac.js → style-formatter-a20a1ef4.js} +1 -1
  204. package/dist/esm/vega-accordion.entry.js +7 -7
  205. package/dist/esm/vega-app-header-button.entry.js +8 -8
  206. package/dist/esm/vega-banner.entry.js +2 -2
  207. package/dist/esm/vega-box.entry.js +8 -8
  208. package/dist/esm/vega-breadcrumb.entry.js +3 -3
  209. package/dist/esm/vega-button-circle.entry.js +9 -9
  210. package/dist/esm/vega-button-group_2.entry.js +3 -3
  211. package/dist/esm/vega-button-link.entry.js +3 -3
  212. package/dist/esm/vega-button.entry.js +8 -8
  213. package/dist/esm/vega-calendar_4.entry.js +307 -269
  214. package/dist/esm/vega-card.entry.js +7 -7
  215. package/dist/esm/vega-carousel.entry.js +7 -7
  216. package/dist/esm/vega-checkbox_2.entry.js +3 -3
  217. package/dist/esm/vega-chip.entry.js +9 -9
  218. package/dist/esm/vega-code-block.entry.js +6 -6
  219. package/dist/esm/vega-color-picker.entry.js +2 -2
  220. package/dist/esm/vega-combo-box.entry.js +3 -3
  221. package/dist/esm/vega-date-picker_2.entry.js +8 -8
  222. package/dist/esm/vega-dialog_2.entry.js +132 -38
  223. package/dist/esm/vega-divider.entry.js +7 -7
  224. package/dist/esm/vega-dropdown_5.entry.js +9 -9
  225. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  226. package/dist/esm/vega-field-label.entry.js +24 -5
  227. package/dist/esm/vega-file-uploader.entry.js +2 -2
  228. package/dist/esm/vega-flag-icon.entry.js +6 -6
  229. package/dist/esm/vega-flex.entry.js +8 -8
  230. package/dist/esm/vega-font.entry.js +7 -7
  231. package/dist/esm/vega-form.entry.js +3 -3
  232. package/dist/esm/vega-grid.entry.js +7 -7
  233. package/dist/esm/vega-icon.entry.js +6 -6
  234. package/dist/esm/vega-image-uploader.entry.js +7 -7
  235. package/dist/esm/vega-input-credit-card.entry.js +3 -3
  236. package/dist/esm/vega-input-numeric.entry.js +3 -3
  237. package/dist/esm/vega-input-passcode.entry.js +3 -3
  238. package/dist/esm/vega-input-phone-number.entry.js +6 -6
  239. package/dist/esm/vega-input-range.entry.js +3 -3
  240. package/dist/esm/vega-input-select.entry.js +38 -14
  241. package/dist/esm/vega-input.entry.js +14 -3
  242. package/dist/esm/vega-item-toggle.entry.js +2 -2
  243. package/dist/esm/vega-left-nav_5.entry.js +7 -7
  244. package/dist/esm/vega-loader-wrapper_2.entry.js +6 -6
  245. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +2 -2
  246. package/dist/esm/vega-pagination.entry.js +7 -7
  247. package/dist/esm/vega-popover_2.entry.js +9 -9
  248. package/dist/esm/vega-progress-tracker.entry.js +2 -2
  249. package/dist/esm/vega-radio_2.entry.js +3 -3
  250. package/dist/esm/vega-rich-text-content.entry.js +93 -16
  251. package/dist/esm/vega-rich-text-editor_4.entry.js +107 -54
  252. package/dist/esm/vega-segment-control.entry.js +2 -2
  253. package/dist/esm/vega-selection-chip_2.entry.js +8 -8
  254. package/dist/esm/vega-selection-tile_2.entry.js +3 -3
  255. package/dist/esm/vega-sidenav_3.entry.js +6 -6
  256. package/dist/esm/vega-signature-capture.entry.js +7 -7
  257. package/dist/esm/vega-stepper.entry.js +3 -3
  258. package/dist/esm/vega-tab-group_2.entry.js +3 -3
  259. package/dist/esm/vega-table_8.entry.js +8 -8
  260. package/dist/esm/vega-textarea.entry.js +25 -5
  261. package/dist/esm/vega-time-picker_2.entry.js +9 -9
  262. package/dist/esm/vega-toggle-switch.entry.js +2 -2
  263. package/dist/esm/vega-tooltip_2.entry.js +7 -7
  264. package/dist/esm/vega.js +8 -8
  265. package/dist/sri/vega-sri-manifest.json +273 -273
  266. package/dist/types/components/vega-field-label/slimmers/renderers/vega-field-label-suffix-element-renderer.d.ts +1 -0
  267. package/dist/types/components/vega-field-label/types.d.ts +12 -0
  268. package/dist/types/components/vega-field-label/vega-field-label.d.ts +13 -1
  269. package/dist/types/components/vega-input/vega-input.d.ts +14 -2
  270. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-renderer.d.ts +3 -0
  271. package/dist/types/components/vega-input-select/vega-input-select.d.ts +25 -0
  272. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.d.ts +31 -2
  273. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-z-index-controller.d.ts +1 -0
  274. package/dist/types/components/vega-modal/slimmers/models/vega-modal-open-state.d.ts +9 -0
  275. package/dist/types/components/vega-modal/slimmers/renderers/vega-modal-renderer.d.ts +1 -0
  276. package/dist/types/components/vega-modal/types.d.ts +9 -0
  277. package/dist/types/components/vega-modal/vega-modal.d.ts +8 -2
  278. package/dist/types/components/vega-rich-text-content/slimmers/controllers/vega-rich-text-content-extensions-styles-controller.d.ts +26 -0
  279. package/dist/types/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.d.ts +1 -0
  280. package/dist/types/components/vega-rich-text-content/vega-rich-text-content.d.ts +7 -0
  281. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-interceptor-registry.d.ts +42 -0
  282. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-interceptor.abstract.d.ts +26 -0
  283. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy-registry.d.ts +9 -2
  284. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.d.ts +7 -0
  285. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/paste-content-strategy.d.ts +12 -0
  286. package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +2 -1
  287. package/dist/types/components/vega-rich-text-editor/dto/actions/paste-content-action.d.ts +20 -0
  288. package/dist/types/components/vega-rich-text-editor/dto/actions/update-cursor-position-action.d.ts +1 -0
  289. package/dist/types/components/vega-rich-text-editor/dto/annotations/annotation-style.d.ts +46 -0
  290. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +10 -1
  291. package/dist/types/components/vega-rich-text-editor/dto/blocks/html-block.d.ts +3 -3
  292. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +6 -0
  293. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +0 -11
  294. package/dist/types/components/vega-rich-text-editor/extensions/base-extension-renderer.d.ts +16 -0
  295. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +19 -3
  296. package/dist/types/components/vega-rich-text-editor/extensions/extension.abstract.d.ts +36 -3
  297. package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-interceptor/prevent-new-paragraph-interceptor.d.ts +25 -0
  298. package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-interceptor/prevent-paste-content-interceptor.d.ts +17 -0
  299. package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/function-block-insert-paragraph-strategy.d.ts +18 -0
  300. package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/insert-function-block-strategy.d.ts +27 -0
  301. package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/paste-plain-text-strategy.d.ts +26 -0
  302. package/dist/types/components/vega-rich-text-editor/extensions/functions/actions/insert-function-block-action.d.ts +17 -0
  303. package/dist/types/components/vega-rich-text-editor/extensions/functions/actions/paste-plain-text-action.d.ts +17 -0
  304. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/function-block.d.ts +58 -0
  305. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/logic-control-block.d.ts +55 -0
  306. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.d.ts +48 -0
  307. package/dist/types/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-block-strategy.d.ts +27 -0
  308. package/dist/types/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-content-strategy.d.ts +14 -0
  309. package/dist/types/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-logic-control-block-strategy.d.ts +32 -0
  310. package/dist/types/components/vega-rich-text-editor/extensions/functions/function-extension.d.ts +19 -0
  311. package/dist/types/components/vega-rich-text-editor/extensions/functions/renderers/function-block-renderer.d.ts +25 -0
  312. package/dist/types/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.d.ts +33 -0
  313. package/dist/types/components/vega-rich-text-editor/extensions/functions/renderers/logic-control-block-renderer.d.ts +12 -0
  314. package/dist/types/components/vega-rich-text-editor/extensions/languages/language-extension.d.ts +2 -2
  315. package/dist/types/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.d.ts +2 -2
  316. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-extension.d.ts +2 -2
  317. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node-renderer.d.ts +3 -4
  318. package/dist/types/components/vega-rich-text-editor/interface.d.ts +8 -2
  319. package/dist/types/components/vega-rich-text-editor/public-api.d.ts +8 -1
  320. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.d.ts +2 -11
  321. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/state-entity-rendering-registry.d.ts +1 -1
  322. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.d.ts +15 -0
  323. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.d.ts +1 -0
  324. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.d.ts +11 -0
  325. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +1 -0
  326. package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/block-delete-node-content-strategy.test.d.ts +1 -0
  327. package/dist/types/components/vega-rich-text-editor/test/dto/annotation-style.test.d.ts +1 -0
  328. package/dist/types/components/vega-textarea/vega-textarea.d.ts +26 -0
  329. package/dist/types/components.d.ts +66 -4
  330. package/dist/types/helpers/calendar/calendar-date-time.d.ts +76 -0
  331. package/dist/types/helpers/calendar/calendar-event.d.ts +18 -57
  332. package/dist/types/helpers/calendar/calendar-time.d.ts +64 -0
  333. package/dist/types/helpers/calendar/index.d.ts +2 -0
  334. package/dist/types/helpers/calendar/test/calendar-date-time.test.d.ts +1 -0
  335. package/dist/types/helpers/calendar/test/calendar-time.test.d.ts +1 -0
  336. package/dist/types/helpers/calendar/utils.d.ts +0 -25
  337. package/dist/types/types/components.type.d.ts +1 -1
  338. package/dist/types/types/public-api.d.ts +2 -0
  339. package/dist/vega/index.esm.js +1 -1
  340. package/dist/vega/{p-6f7d42a0.entry.js → p-00376f71.entry.js} +1 -1
  341. package/dist/vega/p-018d70a5.js +1 -0
  342. package/dist/vega/p-0849f85e.js +1 -0
  343. package/dist/vega/{p-b431f9d5.entry.js → p-0a55f984.entry.js} +1 -1
  344. package/dist/vega/p-0f7dec29.entry.js +1 -0
  345. package/dist/vega/{p-47cae62d.entry.js → p-113d305b.entry.js} +1 -1
  346. package/dist/vega/{p-015cdbe7.entry.js → p-115b42e6.entry.js} +1 -1
  347. package/dist/vega/p-16358fec.entry.js +1 -0
  348. package/dist/vega/{p-af5bfe34.js → p-16d68187.js} +1 -1
  349. package/dist/vega/{p-92a22562.entry.js → p-18e8c54a.entry.js} +1 -1
  350. package/dist/vega/{p-6f6ccf67.entry.js → p-1922303e.entry.js} +1 -1
  351. package/dist/vega/{p-74d61782.entry.js → p-19256107.entry.js} +1 -1
  352. package/dist/vega/{p-59298f5e.entry.js → p-1dcb1fcd.entry.js} +2 -2
  353. package/dist/vega/{p-7f69081b.entry.js → p-1dd7f8b2.entry.js} +1 -1
  354. package/dist/vega/{p-d006e732.entry.js → p-22fe8c61.entry.js} +1 -1
  355. package/dist/vega/{p-524693d8.entry.js → p-238afe1b.entry.js} +1 -1
  356. package/dist/vega/p-240d9d35.entry.js +1 -0
  357. package/dist/vega/{p-b82d3915.entry.js → p-24419ebe.entry.js} +1 -1
  358. package/dist/vega/p-2478f65e.js +1 -0
  359. package/dist/vega/{p-358e9800.entry.js → p-2c945862.entry.js} +1 -1
  360. package/dist/vega/{p-5f58d1da.entry.js → p-2e32fbe6.entry.js} +1 -1
  361. package/dist/vega/p-2f04d2ac.js +1 -0
  362. package/dist/vega/p-30a8d9d6.entry.js +1 -0
  363. package/dist/vega/{p-e6cccee4.js → p-369810ae.js} +1 -1
  364. package/dist/vega/p-3ad87199.entry.js +1 -0
  365. package/dist/vega/{p-fe2e859f.entry.js → p-3b800f1b.entry.js} +1 -1
  366. package/dist/vega/p-437f865f.js +1 -0
  367. package/dist/vega/{p-de624f7d.entry.js → p-48bc03fa.entry.js} +1 -1
  368. package/dist/vega/{p-46830028.entry.js → p-54ddd06f.entry.js} +1 -1
  369. package/dist/vega/{p-5a0524ab.entry.js → p-56636a58.entry.js} +1 -1
  370. package/dist/vega/{p-fc8c5869.entry.js → p-56f77466.entry.js} +1 -1
  371. package/dist/vega/p-5f377954.js +1 -1
  372. package/dist/vega/{p-ab1001f5.entry.js → p-61d9cdf9.entry.js} +1 -1
  373. package/dist/vega/{p-39b9c57b.entry.js → p-626246b4.entry.js} +1 -1
  374. package/dist/vega/{p-ff3bb4e2.entry.js → p-634499cb.entry.js} +1 -1
  375. package/dist/vega/p-6609d87e.entry.js +1 -0
  376. package/dist/vega/p-69d27eaf.entry.js +1 -0
  377. package/dist/vega/{p-7efb5ebe.entry.js → p-705dad87.entry.js} +1 -1
  378. package/dist/vega/{p-8d574fbd.entry.js → p-75b5894f.entry.js} +1 -1
  379. package/dist/vega/{p-00071542.entry.js → p-76b1dae4.entry.js} +1 -1
  380. package/dist/vega/{p-54b62ecf.js → p-7747c163.js} +1 -1
  381. package/dist/vega/{p-0ed53cce.entry.js → p-787caad3.entry.js} +1 -1
  382. package/dist/vega/{p-129c0ce1.js → p-79e6e12c.js} +1 -1
  383. package/dist/vega/{p-cc519f53.entry.js → p-7dde3be9.entry.js} +1 -1
  384. package/dist/vega/p-8233d814.entry.js +1 -0
  385. package/dist/vega/{p-5e32866d.entry.js → p-83a50ac2.entry.js} +1 -1
  386. package/dist/vega/p-8506e8c3.js +1 -0
  387. package/dist/vega/{p-47fa359b.js → p-85407fb9.js} +1 -1
  388. package/dist/vega/{p-892cbe7c.entry.js → p-880569ec.entry.js} +1 -1
  389. package/dist/vega/{p-0113a83c.entry.js → p-8dba59a6.entry.js} +1 -1
  390. package/dist/vega/p-94e167b8.entry.js +1 -0
  391. package/dist/vega/{p-b2aaab66.entry.js → p-98fb9eaa.entry.js} +1 -1
  392. package/dist/vega/{p-3288a65b.entry.js → p-99bf5993.entry.js} +1 -1
  393. package/dist/vega/p-a211ae63.js +1 -0
  394. package/dist/vega/{p-fef846d5.entry.js → p-a2506cb5.entry.js} +1 -1
  395. package/dist/vega/{p-4e33fff6.entry.js → p-a6fb5a40.entry.js} +1 -1
  396. package/dist/vega/{p-bee1cc34.entry.js → p-b5060e84.entry.js} +1 -1
  397. package/dist/vega/{p-616cd622.entry.js → p-b78670c9.entry.js} +1 -1
  398. package/dist/vega/{p-d5761532.entry.js → p-b8558278.entry.js} +1 -1
  399. package/dist/vega/{p-8d655fd2.entry.js → p-bb0f2b5f.entry.js} +1 -1
  400. package/dist/vega/{p-a7631c6b.js → p-bb37a401.js} +1 -1
  401. package/dist/vega/p-bccee21e.js +1 -0
  402. package/dist/vega/{p-2553031f.entry.js → p-bd0e55a2.entry.js} +1 -1
  403. package/dist/vega/{p-65693321.entry.js → p-c0223a17.entry.js} +1 -1
  404. package/dist/vega/{p-2d430dc4.entry.js → p-c26332ae.entry.js} +1 -1
  405. package/dist/vega/{p-7f9ec104.entry.js → p-c54148fb.entry.js} +1 -1
  406. package/dist/vega/{p-276b1163.entry.js → p-d3905af1.entry.js} +2 -2
  407. package/dist/vega/p-d4893487.js +1 -0
  408. package/dist/vega/{p-d1dacaeb.entry.js → p-d67200e8.entry.js} +1 -1
  409. package/dist/vega/{p-725f0a2c.js → p-db57dddc.js} +1 -1
  410. package/dist/vega/{p-ed8bc4f0.entry.js → p-de02f404.entry.js} +1 -1
  411. package/dist/vega/{p-d4452dbc.entry.js → p-de8c5fae.entry.js} +1 -1
  412. package/dist/vega/{p-7b145620.js → p-de97c6d9.js} +1 -1
  413. package/dist/vega/{p-34800282.entry.js → p-e0979451.entry.js} +1 -1
  414. package/dist/vega/{p-1a3cb65e.entry.js → p-e6351dab.entry.js} +1 -1
  415. package/dist/vega/{p-8d096fea.entry.js → p-f0fb3fdd.entry.js} +1 -1
  416. package/dist/vega/{p-ea05a2fc.entry.js → p-f3399ef1.entry.js} +1 -1
  417. package/dist/vega/vega.esm.js +1 -1
  418. package/package.json +1 -1
  419. package/dist/vega/p-019f7f95.js +0 -1
  420. package/dist/vega/p-03a1e82e.entry.js +0 -1
  421. package/dist/vega/p-0d1eca78.entry.js +0 -1
  422. package/dist/vega/p-16370cfb.js +0 -1
  423. package/dist/vega/p-3a7f177a.entry.js +0 -1
  424. package/dist/vega/p-41c3fcb4.js +0 -1
  425. package/dist/vega/p-81105691.entry.js +0 -1
  426. package/dist/vega/p-822c6092.js +0 -1
  427. package/dist/vega/p-8edf3513.js +0 -1
  428. package/dist/vega/p-a1b7a179.entry.js +0 -1
  429. package/dist/vega/p-ab8f99e9.entry.js +0 -1
  430. package/dist/vega/p-bf7f755b.js +0 -1
  431. package/dist/vega/p-bf9476cd.entry.js +0 -1
  432. package/dist/vega/p-c1da8328.entry.js +0 -1
  433. package/dist/vega/p-c6ce2869.js +0 -1
  434. package/dist/vega/p-d0e6454e.entry.js +0 -1
  435. package/dist/vega/p-d88e88a7.js +0 -1
  436. package/dist/vega/p-f360c9ba.js +0 -1
@@ -0,0 +1,20 @@
1
+ import { VegaRTEExtensionRenderer } from '../../base-extension-renderer';
2
+ /**
3
+ * Renders a logic control block in the rich text editor.
4
+ */
5
+ export class RTELogicControlBlockRenderer extends VegaRTEExtensionRenderer {
6
+ /**
7
+ * @inheritDoc
8
+ */
9
+ doRender(h, renderData) {
10
+ return h('div', {
11
+ key: renderData.id,
12
+ class: 'statementsyntax',
13
+ ref: this.useRef(renderData),
14
+ }, h('span', {
15
+ key: `${renderData.id}-1`,
16
+ contenteditable: 'false',
17
+ ref: this.useRef(renderData.children[0]),
18
+ }, renderData.statementText));
19
+ }
20
+ }
@@ -84,7 +84,7 @@ export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRender
84
84
  * @returns {string} The label of the language, or the key if not found.
85
85
  */
86
86
  getLanguageLabelByKey(key) {
87
- const language = this.languageList.find((item) => item.key === key);
87
+ const language = this.getListItemByKey(this.languageList, key);
88
88
  return language.label;
89
89
  }
90
90
  }
@@ -10,6 +10,8 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  return t;
11
11
  };
12
12
  import { generateUUID } from '../../../../utils/misc';
13
+ import { RTETextNode } from '../../dto/nodes/text-node';
14
+ import htmlElementToAnnotationGenerator from '../../slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/html-element-to-annotation-generator';
13
15
  import { ElementToDTOStrategy } from '../../slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract';
14
16
  /**
15
17
  * Strategy to convert <span class="token" token-key="...">...</span> to a token node
@@ -34,7 +36,7 @@ export class SpanToTokenNodeStrategy extends ElementToDTOStrategy {
34
36
  const element = elementsArray[0];
35
37
  const tokenKey = element.getAttribute('token-key');
36
38
  const text = element.textContent;
37
- const annotations = this.generateTextStyleAnnotations(element);
39
+ const annotations = htmlElementToAnnotationGenerator.generate(RTETextNode, element);
38
40
  // Exclude customAttribute and customClass from annotations
39
41
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
40
42
  const { customAttribute, customClass } = annotations, restAnnotations = __rest(annotations, ["customAttribute", "customClass"]);
@@ -23,7 +23,7 @@ export class RTETokenNodeRenderer extends VegaRTEExtensionRenderer {
23
23
  'template-token-key': token,
24
24
  'token-key': token,
25
25
  'contenteditable': 'false',
26
- 'style': this.getStyle(node),
26
+ 'style': node.getStyles(),
27
27
  'class': `token ${node.getClasses()}`,
28
28
  'ref': this.useRef(node),
29
29
  // eslint-disable-next-line jsdoc/require-jsdoc
@@ -44,13 +44,12 @@ export class RTETokenNodeRenderer extends VegaRTEExtensionRenderer {
44
44
  this.extensionContext = context;
45
45
  }
46
46
  /**
47
- * Get the style for the token element.
47
+ * Override to inject RTE scope styles for the token node.
48
48
  *
49
- * @param {RTETokenNode} node - The token node.
50
- * @returns {Record<string, string>} The style object for the token element.
49
+ * @returns {string} The CSS styles for the token node.
51
50
  */
52
- getStyle(node) {
53
- return Object.assign(Object.assign({}, node.getStyles()), { backgroundColor: 'var(--v-bg-status-info, #CDD1D3)', padding: '0 2px', margin: '0 1px' });
51
+ injectRTEScopeStyles() {
52
+ return `span[token-key]{padding: 0 2px; margin: 0 1px; background-color: rgba(var(--v-bg-status-info, 205,209,211))}`;
54
53
  }
55
54
  /**
56
55
  * Handle the click event on the token element.
@@ -65,7 +65,7 @@ export class RTETokenToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer
65
65
  * @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
66
66
  */
67
67
  handleDropdownClick(itemKey, editorContext) {
68
- const token = this.tokenList.find((t) => t.key === itemKey);
68
+ const token = this.getListItemByKey(this.tokenList, itemKey);
69
69
  const { rteRange } = editorContext;
70
70
  const { startNode } = rteRange;
71
71
  if (startNode && startNode.parent) {
@@ -1,3 +1,4 @@
1
+ import htmlElementToAnnotationGenerator from './slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/html-element-to-annotation-generator';
1
2
  /* istanbul ignore file */
2
3
  export { VegaRTEContent } from './dto/content-state';
3
4
  // block and node
@@ -16,23 +17,29 @@ export { RTETokenNodeRenderer } from './extensions/tokens/token-node-renderer';
16
17
  export { VegaRTETokenExtension } from './extensions/tokens/token-extension';
17
18
  export { RTELanguageToolbarButtonRenderer } from './extensions/languages/language-toolbar-button-renderer';
18
19
  export { VegaRTELanguageExtension } from './extensions/languages/language-extension';
20
+ export { VegaRTEFunctionExtension } from './extensions/functions/function-extension';
19
21
  // actions
20
- export { ModifyContentAction } from './dto/actions/modify-content-action.abstract';
22
+ export { ModifyContentAction, ModifyContentActionType } from './dto/actions/modify-content-action.abstract';
21
23
  export { AppendChildrenAction } from './dto/actions/append-child-nodes-action';
22
24
  export { RemoveChildrenAction } from './dto/actions/remove-child-action';
23
25
  export { InsertChildrenAfterAction } from './dto/actions/insert-children-after-block';
24
26
  export { InsertChildrenBeforeAction } from './dto/actions/insert-children-before-block';
25
27
  export { InsertNodeToNearestRootAction } from './dto/actions/insert-node-to-nearest-root-action';
26
28
  export { UpdateCursorPositionAction } from './dto/actions/update-cursor-position-action';
29
+ export { InsertNewParagraphAction } from './dto/actions/insert-new-paragraph-action';
27
30
  // annotations
28
31
  export { CustomAttributeAnnotation } from './dto/annotations/custom-attribute-annotation';
29
32
  export { CustomClassAnnotation } from './dto/annotations/custom-class-annotation';
30
33
  export { CustomStyleAnnotation } from './dto/annotations/custom-style-annotation';
34
+ export { RTEAnnotationStyle } from './dto/annotations/annotation-style';
31
35
  // modify content strategies
32
36
  export { ActionHandleStrategy } from './dto/action-handle-strategies/action-handle-strategy.abstract';
37
+ export { ActionHandlerInterceptor, } from './dto/action-handle-strategies/action-handle-interceptor.abstract';
33
38
  // rteRange
34
39
  export { RTERange } from './dto/range';
35
40
  // element to DTO strategy
36
41
  export { ElementToDTOStrategy } from './slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract';
42
+ export { BlockToRTEBlockStrategyAbstract } from './slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract';
43
+ export { htmlElementToAnnotationGenerator };
37
44
  // preset toolbar buttons
38
45
  export { VegaRTEPresetToolbarItems } from './constants/constant';
@@ -16,6 +16,7 @@ import { generateUUID } from '../../../../utils/misc';
16
16
  import { AppendChildrenAction } from '../../dto/actions/append-child-nodes-action';
17
17
  import { UpdateTextAction } from '../../dto/actions/update-text-action';
18
18
  import { RTECodeBlockNode } from '../../dto/nodes/code-block-node';
19
+ import { VegaRTEContent } from '../../dto/content-state';
19
20
  /**
20
21
  * The `DeleteSelectedNodesController` class provides methods to delete selected nodes.
21
22
  */
@@ -91,7 +92,14 @@ export class DeleteSelectedNodesController extends VegaSlimmer {
91
92
  // the image block will be deleted when the image is the only item
92
93
  if (startNode.parent.children.length === 1) {
93
94
  const paragraph = this.createEmptyParagraph();
94
- startNode.parent.parent.apply(new InsertChildrenBeforeAction(startNode.parent, paragraph));
95
+ let shouldDeleteBlock = startNode.parent;
96
+ // if the node grand parent is html block and the html block only has one child, we need insert the paragraph before the html block to jump out the html block
97
+ if (shouldDeleteBlock.parent &&
98
+ !(shouldDeleteBlock.parent instanceof VegaRTEContent) &&
99
+ shouldDeleteBlock.parent.children.length === 1) {
100
+ shouldDeleteBlock = shouldDeleteBlock.parent;
101
+ }
102
+ shouldDeleteBlock.parent.apply(new InsertChildrenBeforeAction(shouldDeleteBlock, paragraph));
95
103
  startNode.parent.apply(new RemoveChildrenAction(startNode));
96
104
  return paragraph.children[0];
97
105
  }
@@ -1,20 +1,8 @@
1
1
  import { isNonNullable } from '../../../../../../types/type-guard';
2
- import htmlElementToAnnotationGenerator from './annotation-handler/html-element-to-annotation-generator';
3
- import { RTETextNode } from '../../../../dto/nodes/text-node';
4
2
  /**
5
3
  * Abstract class to define strategies for processing HTML elements
6
4
  */
7
5
  export class ElementToDTOStrategy {
8
- /**
9
- * Convert element style attributes to text annotations.
10
- *
11
- * @param {HTMLElement} element - Current html element.
12
- * @param {HtmlElementToAnnotationGenerateOptions} options - Options for generating annotations.
13
- * @returns {VegaRTEAnnotations} - Generated annotations.
14
- */
15
- generateTextStyleAnnotations(element, options) {
16
- return htmlElementToAnnotationGenerator.generate(RTETextNode, element, options);
17
- }
18
6
  }
19
7
  /**
20
8
  * Class to represent the output of a strategy applied to HTML elements
@@ -57,7 +57,9 @@ export class InsertLineBreakHandler extends BaseHandler {
57
57
  if (currentBlock) {
58
58
  const lineBreakAction = new LineBreakSingleBlockAction(cursorNode, range.startOffset);
59
59
  currentBlock.apply(lineBreakAction);
60
- this.switchCaretPositionToSpecifiedNode(lineBreakAction.lineBreakNode);
60
+ if (lineBreakAction.lineBreakNode) {
61
+ this.switchCaretPositionToSpecifiedNode(lineBreakAction.lineBreakNode);
62
+ }
61
63
  }
62
64
  }
63
65
  /**
@@ -1,10 +1,8 @@
1
1
  import { BaseHandler } from './base-handler';
2
2
  import { AppendChildrenAction } from '../../../../dto/actions/append-child-nodes-action';
3
- import { InsertChildrenAfterAction } from '../../../../dto/actions/insert-children-after-block';
4
- import { SplitBlockWithNodeAction } from '../../../../dto/actions/split-block-with-node-action';
5
- import { InsertChildrenBeforeAction } from '../../../../dto/actions/insert-children-before-block';
6
3
  import ElementToDtoStrategyProcessor from '../element-to-dto-strategy/element-to-dto-strategy-processor';
7
4
  import { StylePreservator } from '../../../../../../helpers/csp/styles-preservator';
5
+ import { PasteContentAction } from '../../../../dto/actions/paste-content-action';
8
6
  /**
9
7
  * Handle user paste
10
8
  */
@@ -19,6 +17,7 @@ export class InsertPasteHandler extends BaseHandler {
19
17
  const { startContainer } = this.selectionController.getCurrentRange();
20
18
  if (this.isRootContainer(startContainer)) {
21
19
  this.insertBlocksToRoot(blocks);
20
+ // TODO: Need to check below logic, it seems not correct https://gethired.atlassian.net/browse/VD-7779
22
21
  }
23
22
  else if (this.isEmptyParagraph(startContainer)) {
24
23
  this.insertBlocksBeforeEmptyBlock(blocks);
@@ -43,12 +42,12 @@ export class InsertPasteHandler extends BaseHandler {
43
42
  insertBlocksToContent(blocks) {
44
43
  const cursorNode = this.removeSelectionRange();
45
44
  if (cursorNode && cursorNode.parent) {
46
- const currentBlock = cursorNode.parent;
47
45
  const { startOffset } = this.selectionController.getCurrentRange();
48
- const breakAction = new SplitBlockWithNodeAction(cursorNode, startOffset);
49
- currentBlock.apply(breakAction);
50
- currentBlock.parent.apply(new InsertChildrenAfterAction(currentBlock, ...blocks));
51
- this.switchCaretPositionToNextElement(breakAction.newBlock);
46
+ const pasteAction = new PasteContentAction(blocks, cursorNode, startOffset);
47
+ cursorNode.parent.apply(pasteAction);
48
+ if (pasteAction.futureFocusBlock) {
49
+ this.switchCaretPositionToNextElement(pasteAction.futureFocusBlock);
50
+ }
52
51
  }
53
52
  }
54
53
  /**
@@ -61,8 +60,11 @@ export class InsertPasteHandler extends BaseHandler {
61
60
  /* istanbul ignore next */
62
61
  const currentBlock = cursorNode === null || cursorNode === void 0 ? void 0 : cursorNode.parent;
63
62
  if (currentBlock) {
64
- currentBlock.parent.apply(new InsertChildrenBeforeAction(currentBlock, ...blocks));
65
- this.switchCaretPositionToNextElement(currentBlock);
63
+ const pasteAction = new PasteContentAction(blocks, currentBlock.children[0], 0, this.selectionController.getCurrentRange());
64
+ currentBlock.apply(pasteAction);
65
+ if (pasteAction.futureFocusBlock) {
66
+ this.switchCaretPositionToNextElement(pasteAction.futureFocusBlock);
67
+ }
66
68
  }
67
69
  }
68
70
  /**
@@ -10,7 +10,6 @@ import { MapToComponentField } from 'vega-slimmer/core';
10
10
  import { BoldAnnotationAction } from '../../../dto/actions/bold-annotation-action';
11
11
  import { NodeAnnotationTypeEnum } from '../../../dto/annotations/node-annotation.abstract';
12
12
  import { RTETextNode } from '../../../dto/nodes/text-node';
13
- import { RTECodeBlockNode } from '../../../dto/nodes/code-block-node';
14
13
  import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-slimmer.abstract';
15
14
  export class BoldToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
16
15
  constructor() {
@@ -40,9 +39,8 @@ export class BoldToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
40
39
  return (super.isDisabled() ||
41
40
  selectedNodes.some((node) => {
42
41
  var _a;
43
- return node instanceof RTECodeBlockNode ||
44
- ((_a = node.getAnnotationByType(NodeAnnotationTypeEnum.CODE)) === null || _a === void 0 ? void 0 : _a.code) ||
45
- node.getAnnotationByType(NodeAnnotationTypeEnum.IMAGE);
42
+ return ((_a = node.getAnnotationByType(NodeAnnotationTypeEnum.CODE)) === null || _a === void 0 ? void 0 : _a.code) ||
43
+ this.shouldDisabledToolbar(node, BoldAnnotationAction.name);
46
44
  }));
47
45
  }
48
46
  }
@@ -11,9 +11,9 @@ import ListUL from '../../../../assets/list-ul';
11
11
  import ListOL from '../../../../assets/list-ol';
12
12
  import { BulletsToolbarButtonSlimmer } from './bullets-toolbar-button-slimmer';
13
13
  import { NumbersToolbarButtonSlimmer } from './numbers-toolbar-button-slimmer';
14
- import { RTEImageNode } from '../../../../dto/nodes/image-node';
15
- import { RTECodeBlockNode } from '../../../../dto/nodes/code-block-node';
16
14
  import { VisualModeToolbarButtonSlimmer } from '../visual-mode-toolbar-button-slimmer.abstract';
15
+ import { ActionHandleStrategyRegistry } from '../../../../dto/action-handle-strategies/action-handle-strategy-registry';
16
+ import { ModifyContentActionType } from '../../../../dto/actions/modify-content-action.abstract';
17
17
  export class BulletsNumbersToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
18
18
  constructor() {
19
19
  super({
@@ -47,9 +47,34 @@ export class BulletsNumbersToolbarButtonSlimmer extends VisualModeToolbarButtonS
47
47
  return false;
48
48
  }
49
49
  isDisabled() {
50
- const selectedNodes = this.selectionController.getSelectedNodes();
51
- return (super.isDisabled() ||
52
- selectedNodes.some((node) => node instanceof RTEImageNode || node instanceof RTECodeBlockNode));
50
+ return super.isDisabled() || this.shouldDisabledListToolbar();
51
+ }
52
+ shouldDisabledListToolbar() {
53
+ const selectedBlocks = this.selectionController.getSelectedBlocks();
54
+ return selectedBlocks.some((block) => {
55
+ return (block &&
56
+ (this.unableToConvertListOrParagraph(block) || this.unableToInsertBlock(block.parent)));
57
+ });
58
+ }
59
+ /**
60
+ * Check if unable to insert blocks before or after the given block.
61
+ *
62
+ * @param {RTEBlock | VegaRTEContent} block - The block to check.
63
+ * @returns {boolean} - Boolean result.
64
+ */
65
+ unableToInsertBlock(block) {
66
+ return !(ActionHandleStrategyRegistry.canHandle(ModifyContentActionType.INSERT_CHILDREN_AFTER, block) ||
67
+ ActionHandleStrategyRegistry.canHandle(ModifyContentActionType.INSERT_CHILDREN_BEFORE, block));
68
+ }
69
+ /**
70
+ * Check if unable to convert the block to list or paragraph.
71
+ *
72
+ * @param {RTEBlock} block - The block to check.
73
+ * @returns {boolean} - Boolean result.
74
+ */
75
+ unableToConvertListOrParagraph(block) {
76
+ return (!ActionHandleStrategyRegistry.canHandle(ModifyContentActionType.TRANSFORM_LIST_BLOCK, block) &&
77
+ !ActionHandleStrategyRegistry.canHandle(ModifyContentActionType.TRANSFORM_PARAGRAPH_BLOCK, block.parent));
53
78
  }
54
79
  }
55
80
  (() => {
@@ -9,8 +9,6 @@ import TextSlash from '../../../assets/text-slash';
9
9
  import { RTETextNode } from '../../../dto/nodes/text-node';
10
10
  import { MapToComponentField } from 'vega-slimmer/core';
11
11
  import { ClearFormattingAnnotationAction } from '../../../dto/actions/clear-formatting-annotation-action';
12
- import { NodeAnnotationTypeEnum } from '../../../dto/annotations/node-annotation.abstract';
13
- import { RTECodeBlockNode } from '../../../dto/nodes/code-block-node';
14
12
  import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-slimmer.abstract';
15
13
  export class ClearStyleToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
16
14
  constructor() {
@@ -35,8 +33,7 @@ export class ClearStyleToolbarButtonSlimmer extends VisualModeToolbarButtonSlimm
35
33
  isDisabled() {
36
34
  const selectedNodes = this.selectionController.getSelectedNodes();
37
35
  return (super.isDisabled() ||
38
- selectedNodes.some((node) => node instanceof RTECodeBlockNode ||
39
- node.getAnnotationByType(NodeAnnotationTypeEnum.IMAGE)));
36
+ selectedNodes.some((node) => this.shouldDisabledToolbar(node, ClearFormattingAnnotationAction.name)));
40
37
  }
41
38
  }
42
39
  (() => {
@@ -9,6 +9,10 @@ import { VegaInternalIconManager } from '../../../../../helpers/icon/internal-ic
9
9
  import { MapToComponentField } from 'vega-slimmer/core';
10
10
  import { TransformToCodeBlockAction } from '../../../dto/actions/transform-to-code-block-action';
11
11
  import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-slimmer.abstract';
12
+ import { ModifyContentActionType } from '../../../dto/actions/modify-content-action.abstract';
13
+ import { RTECodeBlock } from '../../../dto/blocks/code-block';
14
+ import { ActionHandleStrategyRegistry } from '../../../dto/action-handle-strategies/action-handle-strategy-registry';
15
+ import { RTETextBlock } from '../../../dto/blocks/text-block';
12
16
  /**
13
17
  * The code block toolbar button slimmer.
14
18
  */
@@ -48,7 +52,12 @@ export class CodeBlockToolbarButtonSlimmer extends VisualModeToolbarButtonSlimme
48
52
  isDisabled() {
49
53
  const selectBlocks = this.selectionController.getSelectedBlocks();
50
54
  return (super.isDisabled() ||
51
- selectBlocks.some((block) => block.type === 'image' || block.type === 'list-item'));
55
+ selectBlocks.some((block) => !(block instanceof RTECodeBlock) && this.shouldDisabledCodeBlockToolbar(block)));
56
+ }
57
+ shouldDisabledCodeBlockToolbar(block) {
58
+ return (block &&
59
+ !(block instanceof RTETextBlock &&
60
+ ActionHandleStrategyRegistry.canHandle(ModifyContentActionType.TRANSFORM_TO_CODE_BLOCK, block.parent)));
52
61
  }
53
62
  }
54
63
  (() => {
@@ -10,7 +10,6 @@ import { RTETextNode } from '../../../dto/nodes/text-node';
10
10
  import { NodeAnnotationTypeEnum } from '../../../dto/annotations/node-annotation.abstract';
11
11
  import { MapToComponentField } from 'vega-slimmer/core';
12
12
  import { CodeAnnotationAction } from '../../../dto/actions/code-annotation-action';
13
- import { RTECodeBlockNode } from '../../../dto/nodes/code-block-node';
14
13
  import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-slimmer.abstract';
15
14
  export class CodeToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
16
15
  constructor() {
@@ -37,9 +36,8 @@ export class CodeToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
37
36
  isDisabled() {
38
37
  const selectedNodes = this.selectionController.getSelectedNodes();
39
38
  return (super.isDisabled() ||
40
- selectedNodes.some((node) => node instanceof RTECodeBlockNode ||
41
- node.getAnnotationByType(NodeAnnotationTypeEnum.LINK) ||
42
- node.getAnnotationByType(NodeAnnotationTypeEnum.IMAGE)));
39
+ selectedNodes.some((node) => node.getAnnotationByType(NodeAnnotationTypeEnum.LINK) ||
40
+ this.shouldDisabledToolbar(node, CodeAnnotationAction.name)));
43
41
  }
44
42
  }
45
43
  (() => {
@@ -11,6 +11,7 @@ import { CenterAlignToolbarButtonSlimmer } from './center-align-toolbar-button-s
11
11
  import { RightAlignToolbarButtonSlimmer } from './right-align-toolbar-button-slimmer';
12
12
  import { JustifyAlignToolbarButtonSlimmer } from './justify-align-toolbar-button-slimmer';
13
13
  import { VisualModeToolbarButtonSlimmer } from '../visual-mode-toolbar-button-slimmer.abstract';
14
+ import { HorizontalAlignmentAnnotationAction } from '../../../../dto/actions/horizontal-alignment-annotation-action';
14
15
  export class HorizontalAlignmentToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
15
16
  constructor() {
16
17
  super({
@@ -60,7 +61,7 @@ export class HorizontalAlignmentToolbarButtonSlimmer extends VisualModeToolbarBu
60
61
  return (super.isDisabled() ||
61
62
  this.selectionController
62
63
  .getSelectedBlocks()
63
- .some((block) => block.type === 'code-block'));
64
+ .some((block) => this.shouldDisabledToolbar(block, HorizontalAlignmentAnnotationAction.name)));
64
65
  }
65
66
  }
66
67
  __decorate([
@@ -11,6 +11,7 @@ import { MapToComponentField } from 'vega-slimmer/core';
11
11
  import { NodeAnnotationTypeEnum } from '../../../dto/annotations/node-annotation.abstract';
12
12
  import { ImageUpdateUrlAction } from '../../../dto/actions/image-update-url-action';
13
13
  import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-slimmer.abstract';
14
+ import { ModifyContentActionType } from '../../../dto/actions/modify-content-action.abstract';
14
15
  export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
15
16
  constructor() {
16
17
  super({
@@ -56,8 +57,10 @@ export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
56
57
  }
57
58
  isDisabled() {
58
59
  const selectedNodes = this.selectionController.getSelectedNodes();
60
+ const selectedBlock = this.selectionController.getSelectedBlocks()[0];
59
61
  return (super.isDisabled() ||
60
- selectedNodes.some((node) => node.getAnnotationByType(NodeAnnotationTypeEnum.LINK)));
62
+ selectedNodes.some((node) => node.getAnnotationByType(NodeAnnotationTypeEnum.LINK)) ||
63
+ this.shouldDisabledToolbar(selectedBlock, ModifyContentActionType.INSERT_IMAGE_TO_BLOCK));
61
64
  }
62
65
  }
63
66
  (() => {
@@ -10,7 +10,6 @@ import { MapToComponentField } from 'vega-slimmer/core';
10
10
  import { ItalicAnnotationAction } from '../../../dto/actions/italic-annotation-action';
11
11
  import { NodeAnnotationTypeEnum } from '../../../dto/annotations/node-annotation.abstract';
12
12
  import { RTETextNode } from '../../../dto/nodes/text-node';
13
- import { RTECodeBlockNode } from '../../../dto/nodes/code-block-node';
14
13
  import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-slimmer.abstract';
15
14
  export class ItalicToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
16
15
  constructor() {
@@ -38,9 +37,8 @@ export class ItalicToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
38
37
  return (super.isDisabled() ||
39
38
  selectedNodes.some((node) => {
40
39
  var _a;
41
- return node instanceof RTECodeBlockNode ||
42
- ((_a = node.getAnnotationByType(NodeAnnotationTypeEnum.CODE)) === null || _a === void 0 ? void 0 : _a.code) ||
43
- node.getAnnotationByType(NodeAnnotationTypeEnum.IMAGE);
40
+ return ((_a = node.getAnnotationByType(NodeAnnotationTypeEnum.CODE)) === null || _a === void 0 ? void 0 : _a.code) ||
41
+ this.shouldDisabledToolbar(node, ItalicAnnotationAction.name);
44
42
  }));
45
43
  }
46
44
  }
@@ -9,7 +9,6 @@ import outdent from '../../../assets/outdent';
9
9
  import { BlockAnnotationTypeEnum } from '../../../dto/annotations/block-annotation.abstract';
10
10
  import { IndentAnnotationAction } from '../../../dto/actions/indent-annotation-action';
11
11
  import { MapToComponentField } from 'vega-slimmer/core';
12
- import { RTEImageNode } from '../../../dto/nodes/image-node';
13
12
  import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-slimmer.abstract';
14
13
  export class LessIndentToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
15
14
  constructor() {
@@ -25,10 +24,8 @@ export class LessIndentToolbarButtonSlimmer extends VisualModeToolbarButtonSlimm
25
24
  }
26
25
  isDisabled() {
27
26
  const selectedBlocks = this.selectionController.getSelectedBlocks();
28
- const selectedNodes = this.selectionController.getSelectedNodes();
29
27
  return (super.isDisabled() ||
30
- selectedBlocks.some((node) => node.type === 'list-item' || node.type === 'code-block') ||
31
- selectedNodes.some((node) => node instanceof RTEImageNode));
28
+ selectedBlocks.some((node) => this.shouldDisabledToolbar(node, IndentAnnotationAction.name)));
32
29
  }
33
30
  onClick() {
34
31
  this.selectionController.getSelectedBlocks().forEach((item) => {
@@ -10,14 +10,12 @@ import { h } from '@stencil/core';
10
10
  import { DomNodeSubjectObserverFactory } from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
11
11
  import { VegaChange } from '../../../../../helpers/event-manager/event-id/vega-event-id';
12
12
  import { MapToComponentField } from 'vega-slimmer/core';
13
- import { RTETextNode } from '../../../dto/nodes/text-node';
14
13
  import { LinkAnnotationAction } from '../../../dto/actions/link-annotation-action';
15
14
  import { NodeAnnotationTypeEnum } from '../../../dto/annotations/node-annotation.abstract';
16
15
  import { SelectionChangeAction } from '../../../dto/actions/selection-change-action';
17
16
  import { generateUUID } from '../../../../../utils/misc';
18
17
  import { waitForComponentDidRender } from '../../../../../helpers/common';
19
18
  import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-slimmer.abstract';
20
- import { ActionHandleStrategyRegistry } from '../../../dto/action-handle-strategies/action-handle-strategy-registry';
21
19
  export class LinkToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
22
20
  constructor() {
23
21
  super({
@@ -65,8 +63,7 @@ export class LinkToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
65
63
  selectedBlocks.length > 1 ||
66
64
  selectedNodes.some((node) => {
67
65
  var _a;
68
- return !(node instanceof RTETextNode &&
69
- ActionHandleStrategyRegistry.canHandle(LinkAnnotationAction.name, node)) ||
66
+ return this.shouldDisabledToolbar(node, LinkAnnotationAction.name) ||
70
67
  node.getAnnotationByType(NodeAnnotationTypeEnum.LINK) ||
71
68
  ((_a = node.getAnnotationByType(NodeAnnotationTypeEnum.CODE)) === null || _a === void 0 ? void 0 : _a.code);
72
69
  }));
@@ -9,7 +9,6 @@ import indent from '../../../assets/indent';
9
9
  import { MapToComponentField } from 'vega-slimmer/core';
10
10
  import { IndentAnnotationAction } from '../../../dto/actions/indent-annotation-action';
11
11
  import { BlockAnnotationTypeEnum } from '../../../dto/annotations/block-annotation.abstract';
12
- import { RTEImageNode } from '../../../dto/nodes/image-node';
13
12
  import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-slimmer.abstract';
14
13
  export class MoreIndentToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
15
14
  constructor() {
@@ -25,10 +24,8 @@ export class MoreIndentToolbarButtonSlimmer extends VisualModeToolbarButtonSlimm
25
24
  }
26
25
  isDisabled() {
27
26
  const selectedBlocks = this.selectionController.getSelectedBlocks();
28
- const selectedNodes = this.selectionController.getSelectedNodes();
29
27
  return (super.isDisabled() ||
30
- selectedBlocks.some((node) => node.type === 'list-item' || node.type === 'code-block') ||
31
- selectedNodes.some((node) => node instanceof RTEImageNode));
28
+ selectedBlocks.some((node) => this.shouldDisabledToolbar(node, IndentAnnotationAction.name)));
32
29
  }
33
30
  onClick() {
34
31
  this.selectionController.getSelectedBlocks().forEach((item) => {
@@ -10,7 +10,6 @@ import { RTETextNode } from '../../../dto/nodes/text-node';
10
10
  import { MapToComponentField } from 'vega-slimmer/core';
11
11
  import { StrikethroughAnnotationAction } from '../../../dto/actions/strikethrough-annotation-action';
12
12
  import { NodeAnnotationTypeEnum } from '../../../dto/annotations/node-annotation.abstract';
13
- import { RTECodeBlockNode } from '../../../dto/nodes/code-block-node';
14
13
  import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-slimmer.abstract';
15
14
  export class StrikethroughToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
16
15
  constructor() {
@@ -41,9 +40,8 @@ export class StrikethroughToolbarButtonSlimmer extends VisualModeToolbarButtonSl
41
40
  return (super.isDisabled() ||
42
41
  selectedNodes.some((node) => {
43
42
  var _a;
44
- return node instanceof RTECodeBlockNode ||
45
- ((_a = node.getAnnotationByType(NodeAnnotationTypeEnum.CODE)) === null || _a === void 0 ? void 0 : _a.code) ||
46
- node.getAnnotationByType(NodeAnnotationTypeEnum.IMAGE);
43
+ return ((_a = node.getAnnotationByType(NodeAnnotationTypeEnum.CODE)) === null || _a === void 0 ? void 0 : _a.code) ||
44
+ this.shouldDisabledToolbar(node, StrikethroughAnnotationAction.name);
47
45
  }));
48
46
  }
49
47
  }
@@ -15,7 +15,6 @@ import { VegaChange, VegaPopoverHide, VegaPopoverShow, } from '../../../../../he
15
15
  import { VegaDarkModeStyleController } from '../../../../../helpers/theme/controllers/dark-mode-style-controller';
16
16
  import { RTE_TEXT_COLORS } from '../../../constants/constant';
17
17
  import { NodeAnnotationTypeEnum } from '../../../dto/annotations/node-annotation.abstract';
18
- import { RTECodeBlockNode } from '../../../dto/nodes/code-block-node';
19
18
  import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-slimmer.abstract';
20
19
  export class TextColorToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
21
20
  constructor() {
@@ -109,10 +108,9 @@ export class TextColorToolbarButtonSlimmer extends VisualModeToolbarButtonSlimme
109
108
  return (super.isDisabled() ||
110
109
  selectedNodes.some((node) => {
111
110
  var _a;
112
- return node instanceof RTECodeBlockNode ||
113
- ((_a = node.getAnnotationByType(NodeAnnotationTypeEnum.CODE)) === null || _a === void 0 ? void 0 : _a.code) ||
111
+ return ((_a = node.getAnnotationByType(NodeAnnotationTypeEnum.CODE)) === null || _a === void 0 ? void 0 : _a.code) ||
114
112
  node.getAnnotationByType(NodeAnnotationTypeEnum.LINK) ||
115
- node.getAnnotationByType(NodeAnnotationTypeEnum.IMAGE);
113
+ this.shouldDisabledToolbar(node, TextColorAnnotationAction.name);
116
114
  }));
117
115
  }
118
116
  }
@@ -12,11 +12,9 @@ import { TextStyleAnnotationAction } from '../../../dto/actions/text-style-annot
12
12
  import { RTETextBlock } from '../../../dto/blocks/text-block';
13
13
  import { TextStyleAnnotation } from '../../../dto/annotations/text-style-annotation';
14
14
  import { BoldAnnotation } from '../../../dto/annotations/bold-annotation';
15
- import { NodeAnnotationTypeEnum } from '../../../dto/annotations/node-annotation.abstract';
16
15
  import { BlockAnnotationTypeEnum } from '../../../dto/annotations/block-annotation.abstract';
17
16
  import { DomNodeSubjectObserverFactory } from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
18
17
  import { VegaDropdownClick } from '../../../../../helpers/event-manager/event-id/vega-event-id';
19
- import { RTECodeBlockNode } from '../../../dto/nodes/code-block-node';
20
18
  import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-slimmer.abstract';
21
19
  export class TextStylesToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
22
20
  constructor() {
@@ -67,10 +65,9 @@ export class TextStylesToolbarButtonSlimmer extends VisualModeToolbarButtonSlimm
67
65
  return false;
68
66
  }
69
67
  isDisabled() {
70
- const selectedNodes = this.selectionController.getSelectedNodes();
68
+ const selectedBlocks = this.selectionController.getSelectedBlocks();
71
69
  return (super.isDisabled() ||
72
- selectedNodes.some((node) => node instanceof RTECodeBlockNode ||
73
- node.getAnnotationByType(NodeAnnotationTypeEnum.IMAGE)));
70
+ selectedBlocks.some((node) => this.shouldDisabledToolbar(node, TextStyleAnnotationAction.name)));
74
71
  }
75
72
  addDropdownObserver(dropdownRef) {
76
73
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(dropdownRef, VegaDropdownClick, this.handleDropdownItemClick);
@@ -10,7 +10,6 @@ import { RTETextNode } from '../../../dto/nodes/text-node';
10
10
  import { MapToComponentField } from 'vega-slimmer/core';
11
11
  import { UnderlineAnnotationAction } from '../../../dto/actions/underline-annotation-action';
12
12
  import { NodeAnnotationTypeEnum } from '../../../dto/annotations/node-annotation.abstract';
13
- import { RTECodeBlockNode } from '../../../dto/nodes/code-block-node';
14
13
  import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-slimmer.abstract';
15
14
  export class UnderlineToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
16
15
  constructor() {
@@ -41,9 +40,8 @@ export class UnderlineToolbarButtonSlimmer extends VisualModeToolbarButtonSlimme
41
40
  return (super.isDisabled() ||
42
41
  selectedNodes.some((node) => {
43
42
  var _a;
44
- return node instanceof RTECodeBlockNode ||
45
- ((_a = node.getAnnotationByType(NodeAnnotationTypeEnum.CODE)) === null || _a === void 0 ? void 0 : _a.code) ||
46
- node.getAnnotationByType(NodeAnnotationTypeEnum.IMAGE);
43
+ return ((_a = node.getAnnotationByType(NodeAnnotationTypeEnum.CODE)) === null || _a === void 0 ? void 0 : _a.code) ||
44
+ this.shouldDisabledToolbar(node, UnderlineAnnotationAction.name);
47
45
  }));
48
46
  }
49
47
  }
@@ -6,6 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { ToolbarButtonSlimmer } from './toolbar-button-slimmer.abstract';
8
8
  import { MapToComponentField } from 'vega-slimmer/core';
9
+ import { ActionHandleStrategyRegistry } from '../../../dto/action-handle-strategies/action-handle-strategy-registry';
9
10
  /**
10
11
  * Abstract class for visual mode toolbar buttons, except for the source edit button.
11
12
  */
@@ -31,6 +32,16 @@ export class VisualModeToolbarButtonSlimmer extends ToolbarButtonSlimmer {
31
32
  isDisabled() {
32
33
  return super.isDisabled() && !this.sourceView;
33
34
  }
35
+ /**
36
+ * Check if the node support text annotation
37
+ *
38
+ * @param {Nullable< RTENode| RTEBlock>} node - The RTE node to check
39
+ * @param {string} annotationActionName - The annotation name to check
40
+ * @returns {boolean} - True if the node support text annotation, false otherwise
41
+ */
42
+ shouldDisabledToolbar(node, annotationActionName) {
43
+ return node && !ActionHandleStrategyRegistry.canHandle(annotationActionName, node);
44
+ }
34
45
  }
35
46
  __decorate([
36
47
  MapToComponentField()