@globalpayments/vega 2.37.0 → 2.37.2

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 (222) hide show
  1. package/dist/cjs/{app-globals-7980768c.js → app-globals-7087f121.js} +4 -4
  2. package/dist/cjs/{content-state-9a9a4bd8.js → content-state-f97d3278.js} +2 -2
  3. package/dist/cjs/{form-field-controller-slimmer-0303f4a7.js → form-field-controller-slimmer-48c0ad0b.js} +1 -1
  4. package/dist/cjs/{image-annotation-action-8e622f61.js → image-annotation-action-7d82f7e1.js} +2 -2
  5. package/dist/cjs/{index-7c81de06.js → index-0546e2ea.js} +1 -1
  6. package/dist/cjs/index.cjs.js +5 -5
  7. package/dist/cjs/loader.cjs.js +6 -6
  8. package/dist/cjs/{node-annotation.abstract-2c8373c1.js → node-annotation.abstract-4f6df9cf.js} +1 -1
  9. package/dist/cjs/{string-input-formatter-slimmer-396b1cee.js → string-input-formatter-slimmer-f45931fd.js} +113 -34
  10. package/dist/cjs/{sub-state-notify-slimmer-ae490543.js → sub-state-notify-slimmer-b1f1e61a.js} +1 -1
  11. package/dist/cjs/{sub-state-observer-slimmer-080731bc.js → sub-state-observer-slimmer-02634647.js} +1 -1
  12. package/dist/cjs/vega-app-footer.cjs.entry.js +3 -0
  13. package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
  14. package/dist/cjs/vega-button-link.cjs.entry.js +1 -0
  15. package/dist/cjs/vega-calendar_3.cjs.entry.js +3 -3
  16. package/dist/cjs/vega-checkbox_2.cjs.entry.js +11 -4
  17. package/dist/cjs/vega-color-picker.cjs.entry.js +2 -2
  18. package/dist/cjs/vega-combo-box.cjs.entry.js +2 -2
  19. package/dist/cjs/vega-date-picker_2.cjs.entry.js +6 -6
  20. package/dist/cjs/vega-dropdown_5.cjs.entry.js +3 -3
  21. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  22. package/dist/cjs/vega-file-uploader.cjs.entry.js +2 -2
  23. package/dist/cjs/vega-form.cjs.entry.js +2 -2
  24. package/dist/cjs/vega-image-uploader.cjs.entry.js +3 -2
  25. package/dist/cjs/vega-input-credit-card.cjs.entry.js +2 -2
  26. package/dist/cjs/vega-input-numeric.cjs.entry.js +3 -3
  27. package/dist/cjs/vega-input-phone-number.cjs.entry.js +5 -2
  28. package/dist/cjs/vega-input-range.cjs.entry.js +2 -2
  29. package/dist/cjs/vega-input-select.cjs.entry.js +2 -2
  30. package/dist/cjs/vega-input.cjs.entry.js +10 -8
  31. package/dist/cjs/{vega-internal-event-id-b12071ea.js → vega-internal-event-id-bda63e14.js} +2 -0
  32. package/dist/cjs/vega-item-toggle.cjs.entry.js +2 -0
  33. package/dist/cjs/vega-left-nav_5.cjs.entry.js +6 -4
  34. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +54 -1
  35. package/dist/cjs/vega-popover_2.cjs.entry.js +1 -1
  36. package/dist/cjs/vega-radio_2.cjs.entry.js +2 -2
  37. package/dist/cjs/vega-rich-text-content.cjs.entry.js +6 -6
  38. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +681 -413
  39. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +4 -4
  40. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +4 -4
  41. package/dist/cjs/vega-sidenav_3.cjs.entry.js +3 -3
  42. package/dist/cjs/vega-signature-capture.cjs.entry.js +3 -2
  43. package/dist/cjs/{vega-skeleton-loader-controller-ef43cfc1.js → vega-skeleton-loader-controller-00dbdf29.js} +11 -3
  44. package/dist/cjs/vega-stepper.cjs.entry.js +2 -2
  45. package/dist/cjs/vega-table_8.cjs.entry.js +10 -7
  46. package/dist/cjs/vega-textarea.cjs.entry.js +2 -2
  47. package/dist/cjs/vega-time-picker_2.cjs.entry.js +2 -2
  48. package/dist/cjs/vega-toggle-switch.cjs.entry.js +2 -2
  49. package/dist/cjs/vega.cjs.js +6 -6
  50. package/dist/collection/components/vega-app-footer/vega-app-footer.js +12 -0
  51. package/dist/collection/components/vega-button-link/vega-button-link.js +4 -0
  52. package/dist/collection/components/vega-checkbox/vega-checkbox.js +9 -1
  53. package/dist/collection/components/vega-image-uploader/vega-image-uploader.js +4 -0
  54. package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.js +12 -0
  55. package/dist/collection/components/vega-input-select/vega-input-select.js +1 -1
  56. package/dist/collection/components/vega-item-toggle/vega-item-toggle.js +8 -0
  57. package/dist/collection/components/vega-loader-wrapper/slimmers/controllers/manage-vega-loader-wrapper-z-index-controller.js +49 -0
  58. package/dist/collection/components/vega-loader-wrapper/vega-loader-wrapper.js +5 -0
  59. package/dist/collection/components/vega-nav/vega-left-nav-link/vega-left-nav-link.js +7 -2
  60. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.js +190 -0
  61. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/base-handler.js +18 -123
  62. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/delete-content-handler.js +9 -11
  63. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-line-break-handler.js +8 -18
  64. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +2 -2
  65. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-text-handler.js +5 -4
  66. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-composition-text-controller.js +244 -0
  67. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +13 -5
  68. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +16 -70
  69. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +22 -14
  70. package/dist/collection/components/vega-signature-capture/vega-signature-capture.js +4 -0
  71. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-editable-controller.js +2 -3
  72. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-renderer.js +5 -1
  73. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
  74. package/dist/collection/helpers/formatter/string-formatter/custom-formatter-strategy.js +3 -1
  75. package/dist/collection/helpers/formatter/string-formatter/number-mask-strategy.js +3 -1
  76. package/dist/collection/helpers/formatter/string-formatter/string-format-strategy.abstract.js +52 -0
  77. package/dist/collection/helpers/formatter/string-formatter/string-mask-strategy.js +6 -7
  78. package/dist/collection/helpers/formatter/string-formatter/thousand-comma-strategy.js +2 -1
  79. package/dist/collection/helpers/formatter/test/string-formatter/custom-formatter-strategy.test.js +2 -1
  80. package/dist/collection/helpers/formatter/test/string-formatter/number-mask-strategy.test.js +9 -0
  81. package/dist/collection/helpers/formatter/test/string-formatter/string-mask-strategy.test.js +62 -4
  82. package/dist/collection/helpers/loading-indicator/tests/vega-loader-controller.test.js +29 -2
  83. package/dist/collection/helpers/loading-indicator/vega-loader-controller.js +11 -3
  84. package/dist/collection/helpers/slimmers/string-input-formatter-slimmer.js +53 -25
  85. package/dist/collection/helpers/slimmers/test/string-input-formatter-slimmer.test.js +2 -1
  86. package/dist/esm/{app-globals-6912a75d.js → app-globals-4cca4a96.js} +4 -4
  87. package/dist/esm/{content-state-c2d29b35.js → content-state-ccf5f960.js} +3 -3
  88. package/dist/esm/{form-field-controller-slimmer-7136b7fa.js → form-field-controller-slimmer-3535e76a.js} +1 -1
  89. package/dist/esm/{image-annotation-action-84422458.js → image-annotation-action-3da42221.js} +2 -2
  90. package/dist/esm/{index-b2045ad0.js → index-6e05b241.js} +1 -1
  91. package/dist/esm/index.js +5 -5
  92. package/dist/esm/loader.js +6 -6
  93. package/dist/esm/{node-annotation.abstract-a58b5a49.js → node-annotation.abstract-b2e36bc4.js} +1 -1
  94. package/dist/esm/{string-input-formatter-slimmer-0ecbf367.js → string-input-formatter-slimmer-d4132497.js} +113 -35
  95. package/dist/esm/{sub-state-notify-slimmer-4a201088.js → sub-state-notify-slimmer-51151fc3.js} +1 -1
  96. package/dist/esm/{sub-state-observer-slimmer-0d6da563.js → sub-state-observer-slimmer-d77a1c46.js} +1 -1
  97. package/dist/esm/vega-app-footer.entry.js +3 -0
  98. package/dist/esm/vega-button-group_2.entry.js +3 -3
  99. package/dist/esm/vega-button-link.entry.js +1 -0
  100. package/dist/esm/vega-calendar_3.entry.js +3 -3
  101. package/dist/esm/vega-checkbox_2.entry.js +11 -4
  102. package/dist/esm/vega-color-picker.entry.js +2 -2
  103. package/dist/esm/vega-combo-box.entry.js +2 -2
  104. package/dist/esm/vega-date-picker_2.entry.js +6 -6
  105. package/dist/esm/vega-dropdown_5.entry.js +3 -3
  106. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  107. package/dist/esm/vega-file-uploader.entry.js +2 -2
  108. package/dist/esm/vega-form.entry.js +2 -2
  109. package/dist/esm/vega-image-uploader.entry.js +3 -2
  110. package/dist/esm/vega-input-credit-card.entry.js +2 -2
  111. package/dist/esm/vega-input-numeric.entry.js +3 -3
  112. package/dist/esm/vega-input-phone-number.entry.js +5 -2
  113. package/dist/esm/vega-input-range.entry.js +2 -2
  114. package/dist/esm/vega-input-select.entry.js +2 -2
  115. package/dist/esm/vega-input.entry.js +10 -8
  116. package/dist/esm/{vega-internal-event-id-458939b6.js → vega-internal-event-id-d0690d0d.js} +2 -1
  117. package/dist/esm/vega-item-toggle.entry.js +2 -0
  118. package/dist/esm/vega-left-nav_5.entry.js +6 -4
  119. package/dist/esm/vega-loader-wrapper_2.entry.js +55 -2
  120. package/dist/esm/vega-popover_2.entry.js +1 -1
  121. package/dist/esm/vega-radio_2.entry.js +2 -2
  122. package/dist/esm/vega-rich-text-content.entry.js +6 -6
  123. package/dist/esm/vega-rich-text-editor_4.entry.js +681 -413
  124. package/dist/esm/vega-selection-chip_2.entry.js +4 -4
  125. package/dist/esm/vega-selection-tile_2.entry.js +4 -4
  126. package/dist/esm/vega-sidenav_3.entry.js +3 -3
  127. package/dist/esm/vega-signature-capture.entry.js +3 -2
  128. package/dist/esm/{vega-skeleton-loader-controller-0044d77f.js → vega-skeleton-loader-controller-5aea7aeb.js} +11 -3
  129. package/dist/esm/vega-stepper.entry.js +2 -2
  130. package/dist/esm/vega-table_8.entry.js +10 -7
  131. package/dist/esm/vega-textarea.entry.js +2 -2
  132. package/dist/esm/vega-time-picker_2.entry.js +2 -2
  133. package/dist/esm/vega-toggle-switch.entry.js +2 -2
  134. package/dist/esm/vega.js +6 -6
  135. package/dist/types/components/vega-app-footer/vega-app-footer.d.ts +3 -0
  136. package/dist/types/components/vega-button-link/vega-button-link.d.ts +1 -0
  137. package/dist/types/components/vega-checkbox/vega-checkbox.d.ts +2 -0
  138. package/dist/types/components/vega-date-picker/slimmers/controllers/vega-date-picker-format-controller.d.ts +1 -1
  139. package/dist/types/components/vega-image-uploader/vega-image-uploader.d.ts +1 -0
  140. package/dist/types/components/vega-input/slimmers/controllers/vega-input-mask-config-controller.d.ts +1 -1
  141. package/dist/types/components/vega-input-phone-number/vega-input-phone-number.d.ts +3 -0
  142. package/dist/types/components/vega-input-select/types.d.ts +1 -0
  143. package/dist/types/components/vega-item-toggle/vega-item-toggle.d.ts +2 -0
  144. package/dist/types/components/vega-loader-wrapper/slimmers/controllers/manage-vega-loader-wrapper-z-index-controller.d.ts +21 -0
  145. package/dist/types/components/vega-loader-wrapper/vega-loader-wrapper.d.ts +2 -0
  146. package/dist/types/components/vega-nav/vega-left-nav-link/vega-left-nav-link.d.ts +3 -1
  147. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.d.ts +57 -0
  148. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/base-handler.d.ts +11 -28
  149. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/delete-content-handler.d.ts +4 -4
  150. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-line-break-handler.d.ts +1 -8
  151. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/insert-composition-text-controller.d.ts +99 -0
  152. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/selection-controller.d.ts +1 -0
  153. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.d.ts +2 -21
  154. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +7 -2
  155. package/dist/types/components/vega-signature-capture/vega-signature-capture.d.ts +1 -0
  156. package/dist/types/components/vega-table/slimmers/renderers/vega-table-renderer.d.ts +1 -0
  157. package/dist/types/components.d.ts +31 -5
  158. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
  159. package/dist/types/helpers/formatter/string-formatter/custom-formatter-strategy.d.ts +3 -3
  160. package/dist/types/helpers/formatter/string-formatter/number-mask-strategy.d.ts +2 -2
  161. package/dist/types/helpers/formatter/string-formatter/string-format-strategy.abstract.d.ts +48 -0
  162. package/dist/types/helpers/formatter/string-formatter/string-mask-strategy.d.ts +6 -10
  163. package/dist/types/helpers/formatter/string-formatter/thousand-comma-strategy.d.ts +2 -2
  164. package/dist/types/helpers/loading-indicator/vega-loader-controller.d.ts +1 -0
  165. package/dist/types/helpers/slimmers/string-input-formatter-slimmer.d.ts +20 -4
  166. package/dist/types/types/components.type.d.ts +1 -5
  167. package/dist/types/types/public-api.d.ts +2 -0
  168. package/dist/vega/index.esm.js +1 -1
  169. package/dist/vega/{p-2d36dbfe.js → p-0461e318.js} +1 -1
  170. package/dist/vega/{p-1f67c930.entry.js → p-12fe63c1.entry.js} +1 -1
  171. package/dist/vega/{p-29dd376c.entry.js → p-1b67c443.entry.js} +1 -1
  172. package/dist/vega/{p-5f82eb88.js → p-1d93b3a9.js} +1 -1
  173. package/dist/vega/p-20326c64.js +1 -0
  174. package/dist/vega/{p-fbb91e25.entry.js → p-23fd9401.entry.js} +1 -1
  175. package/dist/vega/{p-5d7d0085.entry.js → p-267cde46.entry.js} +1 -1
  176. package/dist/vega/{p-ca239f51.js → p-29d6ec6c.js} +1 -1
  177. package/dist/vega/{p-d57920df.entry.js → p-2fecbcf9.entry.js} +1 -1
  178. package/dist/vega/{p-fe9644a0.js → p-348e95ba.js} +1 -1
  179. package/dist/vega/{p-00de36e4.js → p-34bd9204.js} +1 -1
  180. package/dist/vega/{p-3aec260c.entry.js → p-3cb90bdf.entry.js} +1 -1
  181. package/dist/vega/{p-fcab2244.entry.js → p-3e8f9fcf.entry.js} +1 -1
  182. package/dist/vega/{p-233e6715.entry.js → p-497f2f86.entry.js} +1 -1
  183. package/dist/vega/p-50eabdca.entry.js +1 -0
  184. package/dist/vega/{p-503ff1ef.js → p-52a8a4f8.js} +1 -1
  185. package/dist/vega/p-5f377954.js +1 -1
  186. package/dist/vega/{p-766a0cdd.entry.js → p-6419e13e.entry.js} +1 -1
  187. package/dist/vega/{p-b2b41aa4.entry.js → p-7198d675.entry.js} +1 -1
  188. package/dist/vega/p-76a8ccbb.js +1 -0
  189. package/dist/vega/{p-00f4cf6a.entry.js → p-7baa4fae.entry.js} +1 -1
  190. package/dist/vega/p-7edcb8d0.entry.js +1 -0
  191. package/dist/vega/{p-bbea0599.entry.js → p-904b489a.entry.js} +1 -1
  192. package/dist/vega/{p-fea15767.entry.js → p-9689ad99.entry.js} +1 -1
  193. package/dist/vega/p-9728d571.entry.js +1 -0
  194. package/dist/vega/{p-95e50f3a.entry.js → p-a2a34239.entry.js} +1 -1
  195. package/dist/vega/{p-b1096431.entry.js → p-a7e078ac.entry.js} +1 -1
  196. package/dist/vega/{p-eb798062.entry.js → p-a7f40a65.entry.js} +1 -1
  197. package/dist/vega/{p-7fedfba5.js → p-a8b16ff2.js} +1 -1
  198. package/dist/vega/{p-9625162b.entry.js → p-aed80794.entry.js} +1 -1
  199. package/dist/vega/{p-7da8b05f.js → p-b517ed15.js} +1 -1
  200. package/dist/vega/{p-b6b4e40f.entry.js → p-b809f3d7.entry.js} +1 -1
  201. package/dist/vega/{p-0b9480a9.entry.js → p-b9a0f136.entry.js} +1 -1
  202. package/dist/vega/{p-5a19bcb5.entry.js → p-ba077ca8.entry.js} +1 -1
  203. package/dist/vega/{p-53360bc2.entry.js → p-ba2833c0.entry.js} +1 -1
  204. package/dist/vega/{p-13c22d72.entry.js → p-bf4996d5.entry.js} +1 -1
  205. package/dist/vega/{p-570bdeb5.entry.js → p-cb4fd6e1.entry.js} +1 -1
  206. package/dist/vega/p-e4ce559d.entry.js +1 -0
  207. package/dist/vega/{p-cfd486ab.entry.js → p-e9785742.entry.js} +1 -1
  208. package/dist/vega/p-e9a5bd12.entry.js +1 -0
  209. package/dist/vega/p-ecaf4cfa.entry.js +1 -0
  210. package/dist/vega/{p-fb5c2cc6.entry.js → p-ee2e4bff.entry.js} +1 -1
  211. package/dist/vega/{p-8f8ab0d3.js → p-f86ec91b.js} +1 -1
  212. package/dist/vega/vega.esm.js +1 -1
  213. package/package.json +1 -1
  214. package/dist/types/helpers/formatter/string-formatter/string-format-strategy.d.ts +0 -12
  215. package/dist/vega/p-34caa637.entry.js +0 -1
  216. package/dist/vega/p-497db801.entry.js +0 -1
  217. package/dist/vega/p-4c18ff36.js +0 -1
  218. package/dist/vega/p-6705ce8f.entry.js +0 -1
  219. package/dist/vega/p-775fa5dd.entry.js +0 -1
  220. package/dist/vega/p-98043367.entry.js +0 -1
  221. package/dist/vega/p-a98475a2.entry.js +0 -1
  222. package/dist/vega/p-c2ded423.js +0 -1
@@ -9,24 +9,24 @@ const component = require('./component-73a88c4e.js');
9
9
  const accessibility = require('./accessibility-bfa227f6.js');
10
10
  const changeManager = require('./change-manager-a297e4d2.js');
11
11
  const domNodeSubjectFactory = require('./dom-node-subject-factory-ce1777a9.js');
12
- const vegaInternalEventId = require('./vega-internal-event-id-b12071ea.js');
13
- const imageAnnotationAction = require('./image-annotation-action-8e622f61.js');
12
+ const vegaInternalEventId = require('./vega-internal-event-id-bda63e14.js');
13
+ const imageAnnotationAction = require('./image-annotation-action-7d82f7e1.js');
14
14
  const internalIconManager = require('./internal-icon-manager-5ccb9443.js');
15
- const contentState = require('./content-state-9a9a4bd8.js');
16
- const nodeAnnotation_abstract = require('./node-annotation.abstract-2c8373c1.js');
15
+ const contentState = require('./content-state-f97d3278.js');
16
+ const nodeAnnotation_abstract = require('./node-annotation.abstract-4f6df9cf.js');
17
17
  const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-80b3ac6c.js');
18
18
  const createPublicApiRuntimeMetricsSlimmer = require('./create-public-api-runtime-metrics-slimmer-54c3f73b.js');
19
- const index$1 = require('./index-7c81de06.js');
20
- const formFieldControllerSlimmer = require('./form-field-controller-slimmer-0303f4a7.js');
19
+ const index$1 = require('./index-0546e2ea.js');
20
+ const formFieldControllerSlimmer = require('./form-field-controller-slimmer-48c0ad0b.js');
21
21
  const eventEmitSlimmer = require('./event-emit-slimmer-208a19e4.js');
22
- const subStateNotifySlimmer = require('./sub-state-notify-slimmer-ae490543.js');
22
+ const subStateNotifySlimmer = require('./sub-state-notify-slimmer-b1f1e61a.js');
23
23
  const timer = require('./timer-5f33058b.js');
24
24
  const synchronizeTaskQueue = require('./synchronize-task-queue-1ee80e94.js');
25
25
  const observer = require('./observer-f49483e8.js');
26
26
  const ui = require('./ui-5fd9b267.js');
27
27
  const staticSubjectTitle = require('./static-subject-title-c589a1bd.js');
28
28
  require('./vega-env-manager-23b8b23c.js');
29
- require('./vega-skeleton-loader-controller-ef43cfc1.js');
29
+ require('./vega-skeleton-loader-controller-00dbdf29.js');
30
30
  require('./feature-flag-controller-7b22e598.js');
31
31
  require('./vega-dialog-controller-fe610705.js');
32
32
  require('./icon-manager-edc2400b.js');
@@ -53,7 +53,7 @@ require('./internal-vega-event-manager-981dfd1c.js');
53
53
  require('./internal-vega-z-index-manager-f03ddb37.js');
54
54
  require('./index-8b247c17.js');
55
55
 
56
- var __decorate$y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
56
+ var __decorate$A = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
57
57
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
58
58
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
59
59
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -143,38 +143,38 @@ class VegaRichTextEditorRenderer extends globalSlimmerRegistry.VegaSlimmer {
143
143
  return (this.label && (index.h("vega-field-label", { onClick: this.richTextContentFocus, isFieldRequired: this.required, disabled: this.disabled, label: this.label })));
144
144
  }
145
145
  }
146
- __decorate$y([
146
+ __decorate$A([
147
147
  globalSlimmerRegistry.MapToComponentField()
148
148
  ], VegaRichTextEditorRenderer.prototype, "host", void 0);
149
- __decorate$y([
149
+ __decorate$A([
150
150
  globalSlimmerRegistry.MapToComponentField()
151
151
  ], VegaRichTextEditorRenderer.prototype, "toolbarRenderer", void 0);
152
- __decorate$y([
152
+ __decorate$A([
153
153
  globalSlimmerRegistry.MapToComponentField()
154
154
  ], VegaRichTextEditorRenderer.prototype, "label", void 0);
155
- __decorate$y([
155
+ __decorate$A([
156
156
  globalSlimmerRegistry.MapToComponentField()
157
157
  ], VegaRichTextEditorRenderer.prototype, "required", void 0);
158
- __decorate$y([
158
+ __decorate$A([
159
159
  globalSlimmerRegistry.MapToComponentField()
160
160
  ], VegaRichTextEditorRenderer.prototype, "hint", void 0);
161
- __decorate$y([
161
+ __decorate$A([
162
162
  globalSlimmerRegistry.MapToComponentField()
163
163
  ], VegaRichTextEditorRenderer.prototype, "disabled", void 0);
164
- __decorate$y([
164
+ __decorate$A([
165
165
  globalSlimmerRegistry.MapToComponentField()
166
166
  ], VegaRichTextEditorRenderer.prototype, "rows", void 0);
167
- __decorate$y([
167
+ __decorate$A([
168
168
  globalSlimmerRegistry.MapToComponentField()
169
169
  ], VegaRichTextEditorRenderer.prototype, "placeholder", void 0);
170
- __decorate$y([
170
+ __decorate$A([
171
171
  globalSlimmerRegistry.MapToComponentField()
172
172
  ], VegaRichTextEditorRenderer.prototype, "value", void 0);
173
- __decorate$y([
173
+ __decorate$A([
174
174
  globalSlimmerRegistry.MapToComponentMethod('componentDidRender')
175
175
  ], VegaRichTextEditorRenderer.prototype, "componentDidRender", null);
176
176
 
177
- var __decorate$x = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
177
+ var __decorate$z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
178
178
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
179
179
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
180
180
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -224,49 +224,49 @@ class ToolbarRenderer extends globalSlimmerRegistry.VegaSlimmer {
224
224
  })));
225
225
  }
226
226
  }
227
- __decorate$x([
227
+ __decorate$z([
228
228
  globalSlimmerRegistry.MapToComponentField()
229
229
  ], ToolbarRenderer.prototype, "toolbarItems", void 0);
230
- __decorate$x([
230
+ __decorate$z([
231
231
  globalSlimmerRegistry.MapToComponentField()
232
232
  ], ToolbarRenderer.prototype, "clearStyleToolbarButtonSlimmer", void 0);
233
- __decorate$x([
233
+ __decorate$z([
234
234
  globalSlimmerRegistry.MapToComponentField()
235
235
  ], ToolbarRenderer.prototype, "boldToolbarButtonSlimmer", void 0);
236
- __decorate$x([
236
+ __decorate$z([
237
237
  globalSlimmerRegistry.MapToComponentField()
238
238
  ], ToolbarRenderer.prototype, "textStylesToolbarButtonSlimmer", void 0);
239
- __decorate$x([
239
+ __decorate$z([
240
240
  globalSlimmerRegistry.MapToComponentField()
241
241
  ], ToolbarRenderer.prototype, "italicToolbarButtonSlimmer", void 0);
242
- __decorate$x([
242
+ __decorate$z([
243
243
  globalSlimmerRegistry.MapToComponentField()
244
244
  ], ToolbarRenderer.prototype, "underlineToolbarButtonSlimmer", void 0);
245
- __decorate$x([
245
+ __decorate$z([
246
246
  globalSlimmerRegistry.MapToComponentField()
247
247
  ], ToolbarRenderer.prototype, "textColorToolbarButtonSlimmer", void 0);
248
- __decorate$x([
248
+ __decorate$z([
249
249
  globalSlimmerRegistry.MapToComponentField()
250
250
  ], ToolbarRenderer.prototype, "bulletsNumbersToolbarButtonSlimmer", void 0);
251
- __decorate$x([
251
+ __decorate$z([
252
252
  globalSlimmerRegistry.MapToComponentField()
253
253
  ], ToolbarRenderer.prototype, "horizontalAlignmentToolbarButtonSlimmer", void 0);
254
- __decorate$x([
254
+ __decorate$z([
255
255
  globalSlimmerRegistry.MapToComponentField()
256
256
  ], ToolbarRenderer.prototype, "strikethroughToolbarButtonSlimmer", void 0);
257
- __decorate$x([
257
+ __decorate$z([
258
258
  globalSlimmerRegistry.MapToComponentField()
259
259
  ], ToolbarRenderer.prototype, "imageToolbarButtonSlimmer", void 0);
260
- __decorate$x([
260
+ __decorate$z([
261
261
  globalSlimmerRegistry.MapToComponentField()
262
262
  ], ToolbarRenderer.prototype, "moreIndentToolbarButtonSlimmer", void 0);
263
- __decorate$x([
263
+ __decorate$z([
264
264
  globalSlimmerRegistry.MapToComponentField()
265
265
  ], ToolbarRenderer.prototype, "lessIndentToolbarButtonSlimmer", void 0);
266
- __decorate$x([
266
+ __decorate$z([
267
267
  globalSlimmerRegistry.MapToComponentField()
268
268
  ], ToolbarRenderer.prototype, "codeToolbarButtonSlimmer", void 0);
269
- __decorate$x([
269
+ __decorate$z([
270
270
  globalSlimmerRegistry.MapToComponentField()
271
271
  ], ToolbarRenderer.prototype, "linkToolbarButtonSlimmer", void 0);
272
272
 
@@ -274,7 +274,7 @@ const bold = {
274
274
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M0 64C0 46.3 14.3 32 32 32H80 96 224c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128H96 80 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48V256 96H32C14.3 96 0 81.7 0 64zM224 224c35.3 0 64-28.7 64-64s-28.7-64-64-64H112V224H224zM112 288V416H256c35.3 0 64-28.7 64-64s-28.7-64-64-64H224 112z"/></svg>`,
275
275
  };
276
276
 
277
- var __decorate$w = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
277
+ var __decorate$y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
278
278
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
279
279
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
280
280
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -315,7 +315,7 @@ class BoldToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButtonSlimme
315
315
  (() => {
316
316
  internalIconManager.VegaInternalIconManager.register({ bold });
317
317
  })();
318
- __decorate$w([
318
+ __decorate$y([
319
319
  globalSlimmerRegistry.MapToComponentField()
320
320
  ], BoldToolbarButtonSlimmer.prototype, "selectionController", void 0);
321
321
 
@@ -342,7 +342,7 @@ class ItalicAnnotationAction extends contentState.TextSplittableAction {
342
342
  }
343
343
  }
344
344
 
345
- var __decorate$v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
345
+ var __decorate$x = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
346
346
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
347
347
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
348
348
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -381,7 +381,7 @@ class ItalicToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButtonSlim
381
381
  (() => {
382
382
  internalIconManager.VegaInternalIconManager.register({ italic });
383
383
  })();
384
- __decorate$v([
384
+ __decorate$x([
385
385
  globalSlimmerRegistry.MapToComponentField()
386
386
  ], ItalicToolbarButtonSlimmer.prototype, "selectionController", void 0);
387
387
 
@@ -408,7 +408,7 @@ class UnderlineAnnotationAction extends contentState.TextSplittableAction {
408
408
  }
409
409
  }
410
410
 
411
- var __decorate$u = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
411
+ var __decorate$w = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
412
412
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
413
413
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
414
414
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -450,7 +450,7 @@ class UnderlineToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButtonS
450
450
  (() => {
451
451
  internalIconManager.VegaInternalIconManager.register({ underline });
452
452
  })();
453
- __decorate$u([
453
+ __decorate$w([
454
454
  globalSlimmerRegistry.MapToComponentField()
455
455
  ], UnderlineToolbarButtonSlimmer.prototype, "selectionController", void 0);
456
456
 
@@ -458,7 +458,7 @@ const textSize = {
458
458
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M64 128V96h96l0 320H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H224l0-320h96v32c0 17.7 14.3 32 32 32s32-14.3 32-32V80c0-26.5-21.5-48-48-48H192 48C21.5 32 0 53.5 0 80v48c0 17.7 14.3 32 32 32s32-14.3 32-32zM384 304V288h64l0 128H432c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H512l0-128h64v16c0 17.7 14.3 32 32 32s32-14.3 32-32V272c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v32c0 17.7 14.3 32 32 32s32-14.3 32-32z"/></svg>`,
459
459
  };
460
460
 
461
- var __decorate$t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
461
+ var __decorate$v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
462
462
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
463
463
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
464
464
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -567,10 +567,10 @@ TextStylesToolbarButtonSlimmer.items = [
567
567
  label: 'Paragraph',
568
568
  },
569
569
  ];
570
- __decorate$t([
570
+ __decorate$v([
571
571
  globalSlimmerRegistry.MapToComponentField()
572
572
  ], TextStylesToolbarButtonSlimmer.prototype, "selectionController", void 0);
573
- __decorate$t([
573
+ __decorate$v([
574
574
  globalSlimmerRegistry.MapToComponentField()
575
575
  ], TextStylesToolbarButtonSlimmer.prototype, "focusController", void 0);
576
576
 
@@ -578,7 +578,7 @@ const TextSlash = {
578
578
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L355.7 253.5 400.2 96H503L497 120.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l11-44.1C577.6 61.3 554.7 32 523.5 32H376.1h-.3H204.5c-22 0-41.2 15-46.6 36.4l-6.3 25.2L38.8 5.1zm168 131.7c.1-.3 .2-.7 .3-1L217 96H333.7L301.3 210.8l-94.5-74.1zM243.3 416H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H309.8l17.6-62.1L272.9 311 243.3 416z"/></svg>`,
579
579
  };
580
580
 
581
- var __decorate$s = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
581
+ var __decorate$u = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
582
582
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
583
583
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
584
584
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -614,7 +614,7 @@ class ClearStyleToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButton
614
614
  'text-slash': TextSlash,
615
615
  });
616
616
  })();
617
- __decorate$s([
617
+ __decorate$u([
618
618
  globalSlimmerRegistry.MapToComponentField()
619
619
  ], ClearStyleToolbarButtonSlimmer.prototype, "selectionController", void 0);
620
620
 
@@ -622,7 +622,7 @@ const codeSimple = {
622
622
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 214.6 118.6zm146.7 0L498.7 256 361.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3z"/></svg>`,
623
623
  };
624
624
 
625
- var __decorate$r = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
625
+ var __decorate$t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
626
626
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
627
627
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
628
628
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -659,7 +659,7 @@ class CodeToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButtonSlimme
659
659
  (() => {
660
660
  internalIconManager.VegaInternalIconManager.register({ 'code-simple': codeSimple });
661
661
  })();
662
- __decorate$r([
662
+ __decorate$t([
663
663
  globalSlimmerRegistry.MapToComponentField()
664
664
  ], CodeToolbarButtonSlimmer.prototype, "selectionController", void 0);
665
665
 
@@ -686,7 +686,7 @@ class StrikethroughAnnotationAction extends contentState.TextSplittableAction {
686
686
  }
687
687
  }
688
688
 
689
- var __decorate$q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
689
+ var __decorate$s = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
690
690
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
691
691
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
692
692
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -728,7 +728,7 @@ class StrikethroughToolbarButtonSlimmer extends imageAnnotationAction.ToolbarBut
728
728
  (() => {
729
729
  internalIconManager.VegaInternalIconManager.register({ strikethrough });
730
730
  })();
731
- __decorate$q([
731
+ __decorate$s([
732
732
  globalSlimmerRegistry.MapToComponentField()
733
733
  ], StrikethroughToolbarButtonSlimmer.prototype, "selectionController", void 0);
734
734
 
@@ -755,7 +755,7 @@ class SelectionChangeAction extends contentState.AnnotationAction {
755
755
  }
756
756
  }
757
757
 
758
- var __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
758
+ var __decorate$r = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
759
759
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
760
760
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
761
761
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -836,7 +836,7 @@ class LinkToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButtonSlimme
836
836
  (() => {
837
837
  internalIconManager.VegaInternalIconManager.register({ link: link });
838
838
  })();
839
- __decorate$p([
839
+ __decorate$r([
840
840
  globalSlimmerRegistry.MapToComponentField()
841
841
  ], LinkToolbarButtonSlimmer.prototype, "selectionController", void 0);
842
842
 
@@ -863,7 +863,7 @@ class IndentAnnotationAction extends contentState.AnnotationAction {
863
863
  }
864
864
  }
865
865
 
866
- var __decorate$o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
866
+ var __decorate$q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
867
867
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
868
868
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
869
869
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -898,7 +898,7 @@ class MoreIndentToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButton
898
898
  (() => {
899
899
  internalIconManager.VegaInternalIconManager.register({ indent: indent });
900
900
  })();
901
- __decorate$o([
901
+ __decorate$q([
902
902
  globalSlimmerRegistry.MapToComponentField()
903
903
  ], MoreIndentToolbarButtonSlimmer.prototype, "selectionController", void 0);
904
904
 
@@ -906,7 +906,7 @@ const outdent = {
906
906
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M6 64C6 46.3 20.3 32 38 32H422c17.7 0 32 14.3 32 32s-14.3 32-32 32H38C20.3 96 6 81.7 6 64zM198 192c0-17.7 14.3-32 32-32H422c17.7 0 32 14.3 32 32s-14.3 32-32 32H230c-17.7 0-32-14.3-32-32zm32 96H422c17.7 0 32 14.3 32 32s-14.3 32-32 32H230c-17.7 0-32-14.3-32-32s14.3-32 32-32zM6 448c0-17.7 14.3-32 32-32H422c17.7 0 32 14.3 32 32s-14.3 32-32 32H38c-17.7 0-32-14.3-32-32zm.2-179.4c-8.2-6.4-8.2-18.9 0-25.3l101.9-79.3c10.5-8.2 25.8-.7 25.8 12.6V335.3c0 13.3-15.3 20.8-25.8 12.6L6.2 268.6z"/></svg>`,
907
907
  };
908
908
 
909
- var __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
909
+ var __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
910
910
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
911
911
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
912
912
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -942,7 +942,7 @@ class LessIndentToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButton
942
942
  (() => {
943
943
  internalIconManager.VegaInternalIconManager.register({ outdent: outdent });
944
944
  })();
945
- __decorate$n([
945
+ __decorate$p([
946
946
  globalSlimmerRegistry.MapToComponentField()
947
947
  ], LessIndentToolbarButtonSlimmer.prototype, "selectionController", void 0);
948
948
 
@@ -950,7 +950,7 @@ const image = {
950
950
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM323.8 202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4 3.9-19.8 10.5l-87 127.6L170.7 297c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h96 32H424c8.9 0 17.1-4.9 21.2-12.8s3.6-17.4-1.4-24.7l-120-176zM112 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z"/></svg>`,
951
951
  };
952
952
 
953
- var __decorate$m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
953
+ var __decorate$o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
954
954
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
955
955
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
956
956
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1007,13 +1007,13 @@ class ImageToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButtonSlimm
1007
1007
  (() => {
1008
1008
  internalIconManager.VegaInternalIconManager.register({ image: image });
1009
1009
  })();
1010
- __decorate$m([
1010
+ __decorate$o([
1011
1011
  globalSlimmerRegistry.MapToComponentField()
1012
1012
  ], ImageToolbarButtonSlimmer.prototype, "insertImageController", void 0);
1013
- __decorate$m([
1013
+ __decorate$o([
1014
1014
  globalSlimmerRegistry.MapToComponentField()
1015
1015
  ], ImageToolbarButtonSlimmer.prototype, "imageInsertedEventEmitter", void 0);
1016
- __decorate$m([
1016
+ __decorate$o([
1017
1017
  globalSlimmerRegistry.MapToComponentField()
1018
1018
  ], ImageToolbarButtonSlimmer.prototype, "selectionController", void 0);
1019
1019
 
@@ -1050,7 +1050,7 @@ class TransformParagraphAction extends nodeAnnotation_abstract.ModifyContentActi
1050
1050
  }
1051
1051
  }
1052
1052
 
1053
- var __decorate$l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1053
+ var __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1054
1054
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1055
1055
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1056
1056
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1108,14 +1108,14 @@ class BulletsToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButtonSli
1108
1108
  }
1109
1109
  }
1110
1110
  }
1111
- __decorate$l([
1111
+ __decorate$n([
1112
1112
  globalSlimmerRegistry.MapToComponentField()
1113
1113
  ], BulletsToolbarButtonSlimmer.prototype, "selectionController", void 0);
1114
- __decorate$l([
1114
+ __decorate$n([
1115
1115
  globalSlimmerRegistry.MapToComponentField()
1116
1116
  ], BulletsToolbarButtonSlimmer.prototype, "popoverRef", void 0);
1117
1117
 
1118
- var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1118
+ var __decorate$m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1119
1119
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1120
1120
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1121
1121
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1171,14 +1171,14 @@ class NumbersToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButtonSli
1171
1171
  }
1172
1172
  }
1173
1173
  }
1174
- __decorate$k([
1174
+ __decorate$m([
1175
1175
  globalSlimmerRegistry.MapToComponentField()
1176
1176
  ], NumbersToolbarButtonSlimmer.prototype, "selectionController", void 0);
1177
- __decorate$k([
1177
+ __decorate$m([
1178
1178
  globalSlimmerRegistry.MapToComponentField()
1179
1179
  ], NumbersToolbarButtonSlimmer.prototype, "popoverRef", void 0);
1180
1180
 
1181
- var __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1181
+ var __decorate$l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1182
1182
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1183
1183
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1184
1184
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1227,16 +1227,16 @@ class BulletsNumbersToolbarButtonSlimmer extends imageAnnotationAction.ToolbarBu
1227
1227
  'list-ol': ListOL,
1228
1228
  });
1229
1229
  })();
1230
- __decorate$j([
1230
+ __decorate$l([
1231
1231
  globalSlimmerRegistry.MapToComponentField()
1232
1232
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "selectionController", void 0);
1233
- __decorate$j([
1233
+ __decorate$l([
1234
1234
  globalSlimmerRegistry.InjectVegaSlimmer()
1235
1235
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "bulletsToolbarButtonSlimmer", void 0);
1236
- __decorate$j([
1236
+ __decorate$l([
1237
1237
  globalSlimmerRegistry.InjectVegaSlimmer()
1238
1238
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "numbersToolbarButtonSlimmer", void 0);
1239
- __decorate$j([
1239
+ __decorate$l([
1240
1240
  globalSlimmerRegistry.MapToComponentMethod('componentWillRender')
1241
1241
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "componentWillRender", null);
1242
1242
 
@@ -1263,7 +1263,7 @@ const AlignLeft = {
1263
1263
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M288 64c0 17.7-14.3 32-32 32H32C14.3 96 0 81.7 0 64S14.3 32 32 32H256c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H256c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"/></svg>`,
1264
1264
  };
1265
1265
 
1266
- var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1266
+ var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1267
1267
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1268
1268
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1269
1269
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1298,10 +1298,10 @@ class LeftAlignToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButtonS
1298
1298
  'align-left': AlignLeft,
1299
1299
  });
1300
1300
  })();
1301
- __decorate$i([
1301
+ __decorate$k([
1302
1302
  globalSlimmerRegistry.MapToComponentField()
1303
1303
  ], LeftAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
1304
- __decorate$i([
1304
+ __decorate$k([
1305
1305
  globalSlimmerRegistry.MapToComponentField()
1306
1306
  ], LeftAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
1307
1307
 
@@ -1309,7 +1309,7 @@ const AlignCenter = {
1309
1309
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M352 64c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32zm96 128c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32zM0 448c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM352 320c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H320c17.7 0 32-14.3 32-32z"/></svg>`,
1310
1310
  };
1311
1311
 
1312
- var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1312
+ var __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1313
1313
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1314
1314
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1315
1315
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1344,10 +1344,10 @@ class CenterAlignToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButto
1344
1344
  'align-center': AlignCenter,
1345
1345
  });
1346
1346
  })();
1347
- __decorate$h([
1347
+ __decorate$j([
1348
1348
  globalSlimmerRegistry.MapToComponentField()
1349
1349
  ], CenterAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
1350
- __decorate$h([
1350
+ __decorate$j([
1351
1351
  globalSlimmerRegistry.MapToComponentField()
1352
1352
  ], CenterAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
1353
1353
 
@@ -1355,7 +1355,7 @@ const AlignRight = {
1355
1355
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M448 64c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"/></svg>`,
1356
1356
  };
1357
1357
 
1358
- var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1358
+ var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1359
1359
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1360
1360
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1361
1361
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1390,10 +1390,10 @@ class RightAlignToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButton
1390
1390
  'align-right': AlignRight,
1391
1391
  });
1392
1392
  })();
1393
- __decorate$g([
1393
+ __decorate$i([
1394
1394
  globalSlimmerRegistry.MapToComponentField()
1395
1395
  ], RightAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
1396
- __decorate$g([
1396
+ __decorate$i([
1397
1397
  globalSlimmerRegistry.MapToComponentField()
1398
1398
  ], RightAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
1399
1399
 
@@ -1401,7 +1401,7 @@ const AlignJustify = {
1401
1401
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M448 64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32zm0 256c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32zM0 192c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zM448 448c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32z"/></svg>`,
1402
1402
  };
1403
1403
 
1404
- var __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1404
+ var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1405
1405
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1406
1406
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1407
1407
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1436,14 +1436,14 @@ class JustifyAlignToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButt
1436
1436
  'align-justify': AlignJustify,
1437
1437
  });
1438
1438
  })();
1439
- __decorate$f([
1439
+ __decorate$h([
1440
1440
  globalSlimmerRegistry.MapToComponentField()
1441
1441
  ], JustifyAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
1442
- __decorate$f([
1442
+ __decorate$h([
1443
1443
  globalSlimmerRegistry.MapToComponentField()
1444
1444
  ], JustifyAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
1445
1445
 
1446
- var __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1446
+ var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1447
1447
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1448
1448
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1449
1449
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1495,22 +1495,22 @@ class HorizontalAlignmentToolbarButtonSlimmer extends imageAnnotationAction.Tool
1495
1495
  return false;
1496
1496
  }
1497
1497
  }
1498
- __decorate$e([
1498
+ __decorate$g([
1499
1499
  globalSlimmerRegistry.MapToComponentField()
1500
1500
  ], HorizontalAlignmentToolbarButtonSlimmer.prototype, "selectionController", void 0);
1501
- __decorate$e([
1501
+ __decorate$g([
1502
1502
  globalSlimmerRegistry.InjectVegaSlimmer()
1503
1503
  ], HorizontalAlignmentToolbarButtonSlimmer.prototype, "leftAlignToolbarButtonSlimmer", void 0);
1504
- __decorate$e([
1504
+ __decorate$g([
1505
1505
  globalSlimmerRegistry.InjectVegaSlimmer()
1506
1506
  ], HorizontalAlignmentToolbarButtonSlimmer.prototype, "centerAlignToolbarButtonSlimmer", void 0);
1507
- __decorate$e([
1507
+ __decorate$g([
1508
1508
  globalSlimmerRegistry.InjectVegaSlimmer()
1509
1509
  ], HorizontalAlignmentToolbarButtonSlimmer.prototype, "rightAlignToolbarButtonSlimmer", void 0);
1510
- __decorate$e([
1510
+ __decorate$g([
1511
1511
  globalSlimmerRegistry.InjectVegaSlimmer()
1512
1512
  ], HorizontalAlignmentToolbarButtonSlimmer.prototype, "justifiedToolbarButtonSlimmer", void 0);
1513
- __decorate$e([
1513
+ __decorate$g([
1514
1514
  globalSlimmerRegistry.MapToComponentMethod('componentWillRender')
1515
1515
  ], HorizontalAlignmentToolbarButtonSlimmer.prototype, "componentWillRender", null);
1516
1516
 
@@ -1853,7 +1853,7 @@ class RTERange {
1853
1853
  }
1854
1854
  }
1855
1855
 
1856
- var __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1856
+ var __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1857
1857
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1858
1858
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1859
1859
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1974,17 +1974,22 @@ class SelectionController extends globalSlimmerRegistry.VegaSlimmer {
1974
1974
  */
1975
1975
  setSelectionRange(range) {
1976
1976
  const selection = this.getSelection();
1977
- selection.removeAllRanges();
1978
- selection.addRange(range);
1979
- this.saveSelection();
1977
+ if (selection) {
1978
+ selection.removeAllRanges();
1979
+ selection.addRange(range);
1980
+ this.saveSelection();
1981
+ }
1980
1982
  }
1981
1983
  /**
1982
1984
  * Save the current selection range detail
1983
1985
  */
1984
1986
  saveSelection() {
1985
1987
  const selection = this.getSelection();
1986
- // The range is out of date if the queue is not empty, so we should not update the RTERange
1987
- if (selection && selection.rangeCount > 0 && this.updateCaretPositionTaskQueue.queue.length === 0) {
1988
+ // The range is out of date if the queue is not empty, or the range is update by the composition text insert, so we should not update the RTERange
1989
+ if (selection &&
1990
+ selection.rangeCount > 0 &&
1991
+ this.updateCaretPositionTaskQueue.queue.length === 0 &&
1992
+ !this.insertCompositionTextController.isComposing()) {
1988
1993
  const range = selection.getRangeAt(0);
1989
1994
  const { startContainer: startNode, endContainer: endNode, startOffset, endOffset } = range;
1990
1995
  this.currentRange = this.currentRange.updateRTERange({ startNode, endNode, startOffset, endOffset }, range);
@@ -2102,38 +2107,41 @@ class SelectionController extends globalSlimmerRegistry.VegaSlimmer {
2102
2107
  }
2103
2108
  }
2104
2109
  SelectionController.SELECTION_CHANGE_DEBOUNCE_TIME = 50;
2105
- __decorate$d([
2110
+ __decorate$f([
2106
2111
  globalSlimmerRegistry.MapToComponentField()
2107
2112
  ], SelectionController.prototype, "vegaRichTextEditorRenderer", void 0);
2108
- __decorate$d([
2113
+ __decorate$f([
2109
2114
  globalSlimmerRegistry.MapToComponentField({ writable: true })
2110
2115
  ], SelectionController.prototype, "selectionMap", void 0);
2111
- __decorate$d([
2116
+ __decorate$f([
2112
2117
  globalSlimmerRegistry.MapToComponentField()
2113
2118
  ], SelectionController.prototype, "host", void 0);
2114
- __decorate$d([
2119
+ __decorate$f([
2115
2120
  globalSlimmerRegistry.MapToComponentField()
2116
2121
  ], SelectionController.prototype, "value", void 0);
2117
- __decorate$d([
2122
+ __decorate$f([
2118
2123
  globalSlimmerRegistry.MapToComponentField()
2119
2124
  ], SelectionController.prototype, "valueController", void 0);
2120
- __decorate$d([
2125
+ __decorate$f([
2126
+ globalSlimmerRegistry.MapToComponentField()
2127
+ ], SelectionController.prototype, "insertCompositionTextController", void 0);
2128
+ __decorate$f([
2121
2129
  globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
2122
2130
  ], SelectionController.prototype, "connectedCallback", null);
2123
- __decorate$d([
2131
+ __decorate$f([
2124
2132
  globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
2125
2133
  ], SelectionController.prototype, "disconnectedCallback", null);
2126
- __decorate$d([
2134
+ __decorate$f([
2127
2135
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
2128
2136
  ], SelectionController.prototype, "componentDidLoad", null);
2129
- __decorate$d([
2137
+ __decorate$f([
2130
2138
  globalSlimmerRegistry.MapToComponentMethod('watchValueUpdate')
2131
2139
  ], SelectionController.prototype, "watchValueUpdate", null);
2132
- __decorate$d([
2140
+ __decorate$f([
2133
2141
  globalSlimmerRegistry.MapToComponentMethod('componentDidUpdate')
2134
2142
  ], SelectionController.prototype, "updateCaretPosition", null);
2135
2143
 
2136
- var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2144
+ var __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2137
2145
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2138
2146
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2139
2147
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -2204,32 +2212,32 @@ class ValueController extends globalSlimmerRegistry.VegaSlimmer {
2204
2212
  }
2205
2213
  }
2206
2214
  ValueController.VALUE_CHANGE_DEBOUNCE_TIME = 50;
2207
- __decorate$c([
2215
+ __decorate$e([
2208
2216
  globalSlimmerRegistry.MapToComponentField()
2209
2217
  ], ValueController.prototype, "host", void 0);
2210
- __decorate$c([
2218
+ __decorate$e([
2211
2219
  globalSlimmerRegistry.MapToComponentField({ writable: true })
2212
2220
  ], ValueController.prototype, "value", void 0);
2213
- __decorate$c([
2221
+ __decorate$e([
2214
2222
  globalSlimmerRegistry.MapToComponentField()
2215
2223
  ], ValueController.prototype, "changeEventEmitter", void 0);
2216
- __decorate$c([
2224
+ __decorate$e([
2217
2225
  globalSlimmerRegistry.MapToComponentField()
2218
2226
  ], ValueController.prototype, "valueController", void 0);
2219
- __decorate$c([
2227
+ __decorate$e([
2220
2228
  globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
2221
2229
  ], ValueController.prototype, "connectedCallback", null);
2222
- __decorate$c([
2230
+ __decorate$e([
2223
2231
  globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
2224
2232
  ], ValueController.prototype, "disconnectedCallback", null);
2225
- __decorate$c([
2233
+ __decorate$e([
2226
2234
  globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
2227
2235
  ], ValueController.prototype, "componentWillLoad", null);
2228
- __decorate$c([
2236
+ __decorate$e([
2229
2237
  globalSlimmerRegistry.MapToComponentMethod('watchValueUpdate')
2230
2238
  ], ValueController.prototype, "watchValueUpdate", null);
2231
2239
 
2232
- var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2240
+ var __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2233
2241
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2234
2242
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2235
2243
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -2262,13 +2270,13 @@ class DarkModeStateControllerSlimmer extends globalSlimmerRegistry.VegaSlimmer {
2262
2270
  return true;
2263
2271
  }
2264
2272
  }
2265
- __decorate$b([
2273
+ __decorate$d([
2266
2274
  globalSlimmerRegistry.MapToComponentField({ writable: true })
2267
2275
  ], DarkModeStateControllerSlimmer.prototype, "isInDarkMode", void 0);
2268
- __decorate$b([
2276
+ __decorate$d([
2269
2277
  globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
2270
2278
  ], DarkModeStateControllerSlimmer.prototype, "connectedCallback", null);
2271
- __decorate$b([
2279
+ __decorate$d([
2272
2280
  globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
2273
2281
  ], DarkModeStateControllerSlimmer.prototype, "disconnectResizeObserver", null);
2274
2282
 
@@ -2288,21 +2296,6 @@ class RichTextContentController {
2288
2296
  }
2289
2297
  }
2290
2298
 
2291
- /**
2292
- * Replace the text node selected content to new text
2293
- *
2294
- * @example selectedNode.apply(new ReplaceSelectedTextAction(insertText))
2295
- */
2296
- class ReplaceSelectedTextAction extends nodeAnnotation_abstract.ModifyContentAction {
2297
- constructor(text, currentRange) {
2298
- super();
2299
- this.type = nodeAnnotation_abstract.ModifyContentActionType.REPLACE_SELECTED_TEXT;
2300
- this.textToBeInsert = '';
2301
- this.textToBeInsert = text;
2302
- this.currentRange = currentRange;
2303
- }
2304
- }
2305
-
2306
2299
  const ROOT_CONTAINER_CLASS_NAME = 'rich-text-content';
2307
2300
  /** This code snippet is defining an abstract class named `BaseHandler` with an abstract method `execute`. */
2308
2301
  class BaseHandler {
@@ -2311,30 +2304,14 @@ class BaseHandler {
2311
2304
  *
2312
2305
  * @param {VegaRTEContent} currentState - The current state of the VegaRTE content.
2313
2306
  * @param {SelectionController} selectionController - Manages the selection of items in the user interface.
2307
+ * @param {HTMLElement} richTextEditor - The current rich text editor component
2314
2308
  * @param {InputEvent} [event] - It is used to pass an input event to the method for handling.
2315
2309
  */
2316
- execute(currentState, selectionController, event) {
2310
+ execute(currentState, selectionController, richTextEditor, event) {
2317
2311
  this.initCurrentStateAndSelection(currentState, selectionController);
2312
+ this.setCurrentRichTextEditor(richTextEditor);
2318
2313
  this.handleEvent(event);
2319
2314
  }
2320
- /**
2321
- * Replaces the selected nodes with the provided text.
2322
- *
2323
- * @param {string} text - The insert text
2324
- * @returns {RTENode} - The selected start node
2325
- */
2326
- replaceSelectedNodesWithText(text) {
2327
- const selectedNodes = this.selectionController.getSelectedNodes();
2328
- const range = this.selectionController.getCurrentRange();
2329
- const { startContainer, endContainer } = range;
2330
- const result = this.removeSelectionRange();
2331
- const startNode = selectedNodes[0];
2332
- if (startNode instanceof contentState.RTETextNode && text) {
2333
- startNode.apply(new contentState.UpdateTextAction(startNode.text + text));
2334
- }
2335
- this.mergeRangeStartAndEnd(startContainer, endContainer);
2336
- return result;
2337
- }
2338
2315
  /**
2339
2316
  * The function `isRootContainer` checks if an HTML element is a root container with a class of 'rich-text-content'.
2340
2317
  *
@@ -2356,105 +2333,22 @@ class BaseHandler {
2356
2333
  return node && node.childNodes && node.childNodes.length === 0;
2357
2334
  }
2358
2335
  /**
2359
- * Removes the selected text at the start and end of a range in a Rich Text Editor.
2336
+ * Removes selected nodes within a range in a rich text editor content.
2337
+ * The method is only used for different nodes are selected
2338
+ *
2339
+ * @param {boolean} [mergeNode] Merge start node and end node or not, default value is false.
2340
+ * @returns {RTENode} The range start node, usually the start node is the first item of selectedNodes, if the selectedNodes is all removed, the start node will be a new text node.
2360
2341
  */
2361
- removeRangeStartAndEndSelectedText() {
2342
+ removeSelectionRange(mergeNode = false) {
2343
+ changeManager.ChangeManager.notify(domNodeSubjectFactory.domNodeSubjectFactory.getSubject(this.richTextEditorRef, vegaInternalEventId.VegaInternalRichTextEditDeleteSelectedNodes), { host: this.richTextEditorRef, detail: mergeNode });
2344
+ const range = this.selectionController.getCurrentRange();
2362
2345
  const selectedNodes = this.selectionController.getSelectedNodes();
2363
- const currentRange = this.selectionController.getCurrentRange();
2364
- if (selectedNodes[0] instanceof contentState.RTETextNode) {
2365
- selectedNodes[0].apply(new ReplaceSelectedTextAction('', currentRange));
2366
- }
2367
- if (selectedNodes.length > 1 && selectedNodes[selectedNodes.length - 1] instanceof contentState.RTETextNode) {
2368
- selectedNodes[selectedNodes.length - 1].apply(new ReplaceSelectedTextAction('', currentRange));
2369
- }
2346
+ return range.startNode || selectedNodes[0];
2370
2347
  }
2371
2348
  /**
2372
- * Merges text nodes in a rich text editor.
2349
+ * Creates a new paragraph with an empty text node and returns it.
2373
2350
  *
2374
- * @param {Node} startContainer - Start text node element
2375
- * @param {Node} endContainer - End text node element
2376
- */
2377
- mergeRangeStartAndEnd(startContainer, endContainer) {
2378
- if (startContainer !== endContainer) {
2379
- if (startContainer.nodeType === Node.TEXT_NODE && endContainer.nodeType === Node.TEXT_NODE) {
2380
- const selectedNodes = this.selectionController.getSelectedNodes();
2381
- const startRTENode = selectedNodes[0];
2382
- const endRTENode = selectedNodes[selectedNodes.length - 1];
2383
- if (startRTENode && startRTENode.parentBlock && endRTENode && endRTENode.parentBlock) {
2384
- const endBlock = endRTENode.parentBlock;
2385
- if (this.shouldMergeTextNode(startRTENode, endRTENode)) {
2386
- startRTENode.apply(new contentState.UpdateTextAction(startRTENode.text + endRTENode.text));
2387
- if (startRTENode.parentBlock === endRTENode.parentBlock) {
2388
- startRTENode.parentBlock.apply(new contentState.RemoveChildAction(endRTENode));
2389
- }
2390
- else {
2391
- endRTENode.parentBlock.apply(new contentState.RemoveChildAction(endRTENode.parentBlock.nodes[0]));
2392
- }
2393
- }
2394
- if (startRTENode.parentBlock !== endRTENode.parentBlock) {
2395
- startRTENode.parentBlock.apply(new contentState.AppendChildNodesAction(endBlock.nodes));
2396
- endBlock.nodes = [];
2397
- }
2398
- if (endBlock.nodes.length < 1) {
2399
- endBlock.parent.apply(new contentState.RemoveChildAction(endBlock));
2400
- }
2401
- }
2402
- }
2403
- }
2404
- }
2405
- /**
2406
- * Removes selected nodes within a range in a rich text editor content.
2407
- * The method is only used for different nodes are selected
2408
- *
2409
- * @returns {RTENode} The range start node, usually the start node is the first item of selectedNodes, if the selectedNodes is all removed, the start node will be a new text node.
2410
- */
2411
- removeSelectionRange() {
2412
- const range = this.selectionController.getCurrentRange();
2413
- const selectedNodes = this.selectionController.getSelectedNodes();
2414
- const { endOffset, startOffset } = range;
2415
- const startNode = selectedNodes[0];
2416
- const endNode = selectedNodes[selectedNodes.length - 1];
2417
- if (selectedNodes.length > 1) {
2418
- // Remove all selected nodes except start node and end node(the end image node will be removed), the start node need to get the index of the block
2419
- const shouldRemovedItems = selectedNodes.filter((item) => {
2420
- if (item.type !== 'IMAGE') {
2421
- return item !== startNode && item !== endNode;
2422
- }
2423
- else {
2424
- return item !== startNode && (item !== endNode || (item === endNode && endOffset !== 0));
2425
- }
2426
- });
2427
- shouldRemovedItems.forEach((item) => {
2428
- item.parentBlock.apply(new contentState.RemoveChildAction(item));
2429
- });
2430
- }
2431
- this.removeRangeStartAndEndSelectedText();
2432
- /**
2433
- * if the range start node is image and the item is selected, so we need remove the image item, the image block will be removed if the item is the only item.
2434
- * but before remove the image block, we need insert a paragraph to make sure the start block and start node could be get correct before insert text or break paragraph action
2435
- */
2436
- if (startNode instanceof contentState.RTEImageNode &&
2437
- startOffset !== 1 &&
2438
- (endNode !== startNode || endOffset !== 0)) {
2439
- // the image block will be deleted when the image is the only item
2440
- if (startNode.parentBlock.nodes.length === 1) {
2441
- const paragraph = this.createEmptyParagraph();
2442
- startNode.parentBlock.parent.apply(new contentState.InsertBlocksBeforeAction(startNode.parentBlock, paragraph));
2443
- startNode.parentBlock.apply(new contentState.RemoveChildAction(startNode));
2444
- return paragraph.nodes[0];
2445
- }
2446
- else if (startNode === startNode.parentBlock.nodes[0]) {
2447
- // the start node should be the next image item if the image is first item
2448
- startNode.parentBlock.apply(new contentState.RemoveChildAction(startNode));
2449
- return startNode.parentBlock.nodes[0];
2450
- }
2451
- }
2452
- return startNode;
2453
- }
2454
- /**
2455
- * Creates a new paragraph with an empty text node and returns it.
2456
- *
2457
- * @returns {RTETextBlock} An empty paragraph with a unique identifier and a text node appended to it.
2351
+ * @returns {RTETextBlock} An empty paragraph with a unique identifier and a text node appended to it.
2458
2352
  */
2459
2353
  createEmptyParagraph() {
2460
2354
  const paragraph = new contentState.RTETextBlock(createPublicApiRuntimeMetricsSlimmer.generateUUID(), 'paragraph');
@@ -2462,18 +2356,6 @@ class BaseHandler {
2462
2356
  paragraph.apply(new contentState.AppendChildNodesAction([textNode]));
2463
2357
  return paragraph;
2464
2358
  }
2465
- /**
2466
- * Compares the annotations of two RTETextNodes to determine if they can be merged.
2467
- *
2468
- * @param {RTETextNode} nodeA - node A
2469
- * @param {RTETextNode} nodeB - node B
2470
- * @returns {boolean} true or false
2471
- */
2472
- shouldMergeTextNode(nodeA, nodeB) {
2473
- const { annotations: annotationsA } = nodeA.toJSON();
2474
- const { annotations: annotationsB } = nodeB.toJSON();
2475
- return JSON.stringify(annotationsA) === JSON.stringify(annotationsB);
2476
- }
2477
2359
  /**
2478
2360
  * The function initializes the current state and selection controller in TypeScript.
2479
2361
  *
@@ -2484,6 +2366,14 @@ class BaseHandler {
2484
2366
  this.currentState = currentState;
2485
2367
  this.selectionController = selectionController;
2486
2368
  }
2369
+ /**
2370
+ * Queries the rich text editor element from the input event target.
2371
+ *
2372
+ * @param {HTMLElement} richTextEditor - The current rich text editor component
2373
+ */
2374
+ setCurrentRichTextEditor(richTextEditor) {
2375
+ this.richTextEditorRef = richTextEditor;
2376
+ }
2487
2377
  }
2488
2378
 
2489
2379
  /**
@@ -2500,6 +2390,21 @@ class InsertNodesBeforeAction extends nodeAnnotation_abstract.ModifyContentActio
2500
2390
  }
2501
2391
  }
2502
2392
 
2393
+ /**
2394
+ * Replace the text node selected content to new text
2395
+ *
2396
+ * @example selectedNode.apply(new ReplaceSelectedTextAction(insertText))
2397
+ */
2398
+ class ReplaceSelectedTextAction extends nodeAnnotation_abstract.ModifyContentAction {
2399
+ constructor(text, currentRange) {
2400
+ super();
2401
+ this.type = nodeAnnotation_abstract.ModifyContentActionType.REPLACE_SELECTED_TEXT;
2402
+ this.textToBeInsert = '';
2403
+ this.textToBeInsert = text;
2404
+ this.currentRange = currentRange;
2405
+ }
2406
+ }
2407
+
2503
2408
  /** Handles inserting text into a VegaRTEContent based on the current selection and input event. User input character will trigger this callback */
2504
2409
  class InsertTextHandler extends BaseHandler {
2505
2410
  /**
@@ -2543,10 +2448,11 @@ class InsertTextHandler extends BaseHandler {
2543
2448
  }
2544
2449
  else {
2545
2450
  // The selected nodes is multiple nodes
2546
- const cursorNode = this.replaceSelectedNodesWithText(text);
2547
- this.selectionController.enqueueSelectionRangeFutureState(cursorNode, cursorNode instanceof contentState.RTETextNode
2548
- ? Math.min(startOffset + text.length, cursorNode.text.length)
2549
- : startOffset);
2451
+ const cursorNode = this.removeSelectionRange(true);
2452
+ if (cursorNode instanceof contentState.RTETextNode) {
2453
+ cursorNode.apply(new ReplaceSelectedTextAction(text, currentRange));
2454
+ this.selectionController.enqueueSelectionRangeFutureState(cursorNode, Math.min(startOffset + text.length, cursorNode.text.length));
2455
+ }
2550
2456
  }
2551
2457
  }
2552
2458
  /**
@@ -2743,11 +2649,13 @@ class InsertLineBreakHandler extends BaseHandler {
2743
2649
  * </p>
2744
2650
  */
2745
2651
  breakNewBlock() {
2746
- const newBlock = new contentState.RTETextBlock(createPublicApiRuntimeMetricsSlimmer.generateUUID(), 'paragraph');
2747
- const lineBreakNode = this.createLineBreakNode(newBlock);
2748
- newBlock.apply(new contentState.AppendChildNodesAction([this.createLineBreakNode(newBlock), lineBreakNode]));
2749
- this.currentState.apply(new contentState.AppendChildNodesAction([newBlock]));
2750
- this.switchCaretPositionToSpecifiedNode(lineBreakNode);
2652
+ if (this.currentState &&
2653
+ this.currentState.blocks[0] &&
2654
+ this.currentState.blocks[0] instanceof contentState.RTETextBlock) {
2655
+ const lineBreakAction = new LineBreakSingleBlockAction(this.currentState.blocks[0].nodes[0], 0);
2656
+ this.currentState.blocks[0].apply(lineBreakAction);
2657
+ this.switchCaretPositionToSpecifiedNode(lineBreakAction.lineBreakNode);
2658
+ }
2751
2659
  }
2752
2660
  /**
2753
2661
  * If the selected node is a text node
@@ -2784,7 +2692,7 @@ class InsertLineBreakHandler extends BaseHandler {
2784
2692
  /**
2785
2693
  * Moves the caret to the next node element in a rich text editor.
2786
2694
  *
2787
- * @param {RTETextNode} lineBreakNode - Represents a node element in a rich text editor.
2695
+ * @param {RTENode} lineBreakNode - Represents a node element in a rich text editor.
2788
2696
  */
2789
2697
  switchCaretPositionToSpecifiedNode(lineBreakNode) {
2790
2698
  this.selectionController.enqueueSelectionRangeFutureState(this.getNextRTENode(lineBreakNode), 0);
@@ -2800,15 +2708,6 @@ class InsertLineBreakHandler extends BaseHandler {
2800
2708
  const nextNode = lineBreakNode.parentBlock['nodes'][index + 1];
2801
2709
  return nextNode || lineBreakNode;
2802
2710
  }
2803
- /**
2804
- * Create a null text that will render a br element in a rich text editor.
2805
- *
2806
- * @param {RTEBlock} block - Represents a block element in a rich text editor.
2807
- * @returns {RTETextNode} the new line break node.
2808
- */
2809
- createLineBreakNode(block) {
2810
- return new contentState.RTETextNode(createPublicApiRuntimeMetricsSlimmer.generateUUID(), '\n', block);
2811
- }
2812
2711
  }
2813
2712
 
2814
2713
  /**
@@ -2868,21 +2767,12 @@ class DeleteContentHandler extends BaseHandler {
2868
2767
  }
2869
2768
  }
2870
2769
  }
2871
- /**
2872
- * Creates a new paragraph element with a text node and appends it to the current state.
2873
- */
2874
- insertDefaultParagraph() {
2875
- const paragraph = this.createEmptyParagraph();
2876
- this.currentState.apply(new contentState.AppendChildNodesAction([paragraph]));
2877
- this.selectionController.enqueueSelectionRangeFutureState(paragraph.nodes[0], 1);
2878
- }
2879
2770
  /**
2880
2771
  * Deletes the content within multiple nodes selected by the user.
2881
2772
  */
2882
2773
  deleteContentWithMultipleNodes() {
2883
- const range = this.selectionController.getCurrentRange();
2884
2774
  const selectedNodes = this.selectionController.getSelectedNodes();
2885
- const cursorNode = this.replaceSelectedNodesWithText('');
2775
+ const cursorNode = this.removeSelectionRange(true);
2886
2776
  const lastSelectedNode = selectedNodes[selectedNodes.length - 1];
2887
2777
  if (selectedNodes.length > 1 &&
2888
2778
  lastSelectedNode instanceof contentState.RTETextNode &&
@@ -2890,7 +2780,6 @@ class DeleteContentHandler extends BaseHandler {
2890
2780
  lastSelectedNode.parentBlock.apply(new contentState.RemoveChildAction(lastSelectedNode));
2891
2781
  }
2892
2782
  this.convertFirstBlockToParagraph(cursorNode.parentBlock);
2893
- this.selectionController.enqueueSelectionRangeFutureState(cursorNode, range.startOffset);
2894
2783
  }
2895
2784
  /**
2896
2785
  * If the first block is not paragraph, convert the block to paragraph after delete all text
@@ -2910,6 +2799,14 @@ class DeleteContentHandler extends BaseHandler {
2910
2799
  block.parent.apply(new contentState.RemoveChildAction(block));
2911
2800
  }
2912
2801
  }
2802
+ /**
2803
+ * Creates a new paragraph element with a text node and appends it to the current state.
2804
+ */
2805
+ insertDefaultParagraph() {
2806
+ const paragraph = this.createEmptyParagraph();
2807
+ this.currentState.apply(new contentState.AppendChildNodesAction([paragraph]));
2808
+ this.selectionController.enqueueSelectionRangeFutureState(paragraph.nodes[0], 1);
2809
+ }
2913
2810
  /**
2914
2811
  * Returns the end offset of a given node in a Rich Text Editor based on its type and text content.
2915
2812
  *
@@ -3828,8 +3725,8 @@ class InsertPasteHandler extends BaseHandler {
3828
3725
  */
3829
3726
  insertBlocksToContent(blocks) {
3830
3727
  const cursorNode = this.removeSelectionRange();
3831
- const currentBlock = cursorNode === null || cursorNode === void 0 ? void 0 : cursorNode.parentBlock;
3832
- if (currentBlock) {
3728
+ if (cursorNode && cursorNode.parentBlock) {
3729
+ const currentBlock = cursorNode.parentBlock;
3833
3730
  const { startOffset } = this.selectionController.getCurrentRange();
3834
3731
  const breakAction = new contentState.SplitBlockWithNodeAction(cursorNode, startOffset);
3835
3732
  currentBlock.apply(breakAction);
@@ -3877,13 +3774,13 @@ class InsertPasteHandler extends BaseHandler {
3877
3774
  }
3878
3775
  }
3879
3776
 
3880
- var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3777
+ var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3881
3778
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3882
3779
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3883
3780
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3884
3781
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3885
3782
  };
3886
- /** Used to monitoring the user input actions by event listener and mutationObserver */
3783
+ /** Used to monitoring the user input actions by event listener */
3887
3784
  class UserInputController extends globalSlimmerRegistry.VegaSlimmer {
3888
3785
  constructor() {
3889
3786
  super(...arguments);
@@ -3892,91 +3789,47 @@ class UserInputController extends globalSlimmerRegistry.VegaSlimmer {
3892
3789
  this.insertLineBreakHandler = new InsertLineBreakHandler();
3893
3790
  this.deleteContentHandler = new DeleteContentHandler();
3894
3791
  this.insertPasteHandler = new InsertPasteHandler();
3895
- this.observerOptions = {
3896
- characterData: true,
3897
- characterDataOldValue: true,
3898
- subtree: true,
3899
- childList: true,
3900
- };
3901
3792
  /**
3902
3793
  * When a user performs an input action within the editable element, this function is triggered.
3903
3794
  *
3904
3795
  * @param {InputEvent} e the before input event object
3905
3796
  */
3906
3797
  this.handleUserInputAction = (e) => {
3907
- this.removeObserver();
3798
+ const inputType = e.inputType;
3908
3799
  e.preventDefault();
3909
3800
  this.initValueIfEmpty();
3801
+ // The insertCompositionText type input event can not be prevented, so we process the current action by insertCompositionTextController.
3802
+ if (inputType === 'insertCompositionText') {
3803
+ return;
3804
+ }
3805
+ this.insertCompositionTextController.removeObserver();
3910
3806
  let updateFlag = false;
3911
- switch (e.inputType) {
3807
+ switch (inputType) {
3912
3808
  case 'insertParagraph':
3913
3809
  updateFlag = true;
3914
- this.insertParagraphHandler.execute(this.value, this.selectionController, e);
3810
+ this.insertParagraphHandler.execute(this.value, this.selectionController, this.host, e);
3915
3811
  break;
3916
3812
  case 'insertText':
3917
3813
  updateFlag = true;
3918
- this.insertTextHandler.execute(this.value, this.selectionController, e);
3814
+ this.insertTextHandler.execute(this.value, this.selectionController, this.host, e);
3919
3815
  break;
3920
3816
  case 'insertLineBreak':
3921
3817
  updateFlag = true;
3922
- this.insertLineBreakHandler.execute(this.value, this.selectionController, e);
3818
+ this.insertLineBreakHandler.execute(this.value, this.selectionController, this.host, e);
3923
3819
  break;
3924
3820
  case 'deleteContentBackward':
3925
3821
  updateFlag = true;
3926
- this.deleteContentHandler.execute(this.value, this.selectionController, e);
3822
+ this.deleteContentHandler.execute(this.value, this.selectionController, this.host, e);
3927
3823
  break;
3928
3824
  case 'insertFromPaste':
3929
3825
  updateFlag = true;
3930
- this.insertPasteHandler.execute(this.value, this.selectionController, e);
3826
+ this.insertPasteHandler.execute(this.value, this.selectionController, this.host, e);
3931
3827
  break;
3932
3828
  }
3933
3829
  if (updateFlag) {
3934
3830
  this.notifyComponentFlushValue();
3935
3831
  }
3936
3832
  };
3937
- /**
3938
- * Processes mutation records related to character data and updates the text content of a rich text node accordingly.
3939
- *
3940
- * @param {MutationRecord[]} records - Each `MutationRecord` object represents a single mutation that occurred in the DOM.
3941
- */
3942
- this.handleObserver = (records) => {
3943
- let updateFlag = false;
3944
- if (records.every((record) => record.type === 'characterData')) {
3945
- records.forEach((record) => {
3946
- const { target } = record;
3947
- if (target.nodeType === Node.TEXT_NODE && target.parentElement) {
3948
- const richTextNode = nodeAnnotation_abstract.stateEntityRenderingRegistry.getEntityByDOM(target.parentElement);
3949
- if (richTextNode && richTextNode['text'] !== target.textContent) {
3950
- updateFlag = true;
3951
- richTextNode['text'] = target.textContent;
3952
- }
3953
- }
3954
- });
3955
- if (updateFlag) {
3956
- this.notifyComponentFlushValue();
3957
- }
3958
- }
3959
- };
3960
- }
3961
- /**
3962
- * The function `initMutationObserver` initializes a MutationObserver on an editable HTML element if it exists.
3963
- */
3964
- initMutationObserver() {
3965
- if (this.mutationObserver) {
3966
- const editableElement = this.getEditableElementRef();
3967
- if (editableElement) {
3968
- this.mutationObserver.disconnect();
3969
- this.mutationObserver.observe(editableElement, this.observerOptions);
3970
- }
3971
- }
3972
- }
3973
- /**
3974
- * Disconnects the mutation observer if it exists.
3975
- */
3976
- removeObserver() {
3977
- if (this.mutationObserver) {
3978
- this.mutationObserver.disconnect();
3979
- }
3980
3833
  }
3981
3834
  /**
3982
3835
  * Adds event listener to an editable HTML element to handle user input actions.
@@ -3987,8 +3840,6 @@ class UserInputController extends globalSlimmerRegistry.VegaSlimmer {
3987
3840
  editableElement.addEventListener('beforeinput', this.handleUserInputAction);
3988
3841
  editableElement.addEventListener('drop', this.preventDropEvent);
3989
3842
  }
3990
- this.mutationObserver = new MutationObserver(this.handleObserver);
3991
- this.initMutationObserver();
3992
3843
  }
3993
3844
  /**
3994
3845
  * Removes event listener for user input actions from an editable HTML div element.
@@ -3999,13 +3850,6 @@ class UserInputController extends globalSlimmerRegistry.VegaSlimmer {
3999
3850
  editableElement.removeEventListener('beforeinput', this.handleUserInputAction);
4000
3851
  editableElement.removeEventListener('drop', this.preventDropEvent);
4001
3852
  }
4002
- this.removeObserver();
4003
- }
4004
- /**
4005
- * re-connect the observer after the props change and component did render
4006
- */
4007
- reConnectObserver() {
4008
- this.initMutationObserver();
4009
3853
  }
4010
3854
  /**
4011
3855
  * The function `getEditableElementRef` returns a reference to the editable HTMLDivElement within a rich text editor.
@@ -4045,30 +3889,30 @@ class UserInputController extends globalSlimmerRegistry.VegaSlimmer {
4045
3889
  }
4046
3890
  }
4047
3891
  }
4048
- __decorate$a([
3892
+ __decorate$c([
4049
3893
  globalSlimmerRegistry.MapToComponentField()
4050
3894
  ], UserInputController.prototype, "host", void 0);
4051
- __decorate$a([
3895
+ __decorate$c([
4052
3896
  globalSlimmerRegistry.MapToComponentField()
4053
3897
  ], UserInputController.prototype, "value", void 0);
4054
- __decorate$a([
3898
+ __decorate$c([
4055
3899
  globalSlimmerRegistry.MapToComponentField()
4056
3900
  ], UserInputController.prototype, "valueController", void 0);
4057
- __decorate$a([
3901
+ __decorate$c([
4058
3902
  globalSlimmerRegistry.MapToComponentField()
4059
3903
  ], UserInputController.prototype, "vegaRichTextEditorRenderer", void 0);
4060
- __decorate$a([
3904
+ __decorate$c([
4061
3905
  globalSlimmerRegistry.MapToComponentField()
4062
3906
  ], UserInputController.prototype, "selectionController", void 0);
4063
- __decorate$a([
3907
+ __decorate$c([
3908
+ globalSlimmerRegistry.MapToComponentField()
3909
+ ], UserInputController.prototype, "insertCompositionTextController", void 0);
3910
+ __decorate$c([
4064
3911
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
4065
3912
  ], UserInputController.prototype, "addActionListener", null);
4066
- __decorate$a([
3913
+ __decorate$c([
4067
3914
  globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
4068
3915
  ], UserInputController.prototype, "removeActionListener", null);
4069
- __decorate$a([
4070
- globalSlimmerRegistry.MapToComponentMethod('componentDidRender')
4071
- ], UserInputController.prototype, "reConnectObserver", null);
4072
3916
 
4073
3917
  /**
4074
3918
  * A rule that checks if the input range is empty or not
@@ -4144,7 +3988,7 @@ class InsertImageToBlockAction extends nodeAnnotation_abstract.ModifyContentActi
4144
3988
  }
4145
3989
  }
4146
3990
 
4147
- var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3991
+ var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4148
3992
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4149
3993
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4150
3994
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -4233,26 +4077,26 @@ class InsertImageController extends globalSlimmerRegistry.VegaSlimmer {
4233
4077
  }
4234
4078
  }
4235
4079
  }
4236
- __decorate$9([
4080
+ __decorate$b([
4237
4081
  globalSlimmerRegistry.MapToComponentField()
4238
4082
  ], InsertImageController.prototype, "selectionController", void 0);
4239
- __decorate$9([
4083
+ __decorate$b([
4240
4084
  globalSlimmerRegistry.MapToComponentField()
4241
4085
  ], InsertImageController.prototype, "value", void 0);
4242
- __decorate$9([
4086
+ __decorate$b([
4243
4087
  globalSlimmerRegistry.MapToComponentField()
4244
4088
  ], InsertImageController.prototype, "valueController", void 0);
4245
- __decorate$9([
4089
+ __decorate$b([
4246
4090
  globalSlimmerRegistry.MapToComponentField()
4247
4091
  ], InsertImageController.prototype, "vegaRichTextEditorRenderer", void 0);
4248
- __decorate$9([
4092
+ __decorate$b([
4249
4093
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
4250
4094
  ], InsertImageController.prototype, "registerObserver", null);
4251
- __decorate$9([
4095
+ __decorate$b([
4252
4096
  globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
4253
4097
  ], InsertImageController.prototype, "unRegisterObserver", null);
4254
4098
 
4255
- var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4099
+ var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4256
4100
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4257
4101
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4258
4102
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -4308,20 +4152,20 @@ class FocusController extends globalSlimmerRegistry.VegaSlimmer {
4308
4152
  this.selectionController.setSelectionRange(range);
4309
4153
  }
4310
4154
  }
4311
- __decorate$8([
4155
+ __decorate$a([
4312
4156
  globalSlimmerRegistry.MapToComponentField()
4313
4157
  ], FocusController.prototype, "vegaRichTextEditorRenderer", void 0);
4314
- __decorate$8([
4158
+ __decorate$a([
4315
4159
  globalSlimmerRegistry.MapToComponentField()
4316
4160
  ], FocusController.prototype, "selectionController", void 0);
4317
- __decorate$8([
4161
+ __decorate$a([
4318
4162
  globalSlimmerRegistry.MapToComponentField()
4319
4163
  ], FocusController.prototype, "valueController", void 0);
4320
- __decorate$8([
4164
+ __decorate$a([
4321
4165
  globalSlimmerRegistry.MapToComponentField()
4322
4166
  ], FocusController.prototype, "value", void 0);
4323
4167
 
4324
- var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4168
+ var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4325
4169
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4326
4170
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4327
4171
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -4361,46 +4205,461 @@ class TextNodeColorController extends globalSlimmerRegistry.VegaSlimmer {
4361
4205
  return true;
4362
4206
  }
4363
4207
  }
4364
- __decorate$7([
4208
+ __decorate$9([
4365
4209
  globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
4366
4210
  ], TextNodeColorController.prototype, "connectedCallback", null);
4367
- __decorate$7([
4211
+ __decorate$9([
4368
4212
  globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
4369
4213
  ], TextNodeColorController.prototype, "disconnectResizeObserver", null);
4370
4214
 
4371
- const vegaRichTextEditorCss = ":host{display:block}:host vega-field-label{margin-bottom:8px}:host vega-text{margin-bottom:16px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-secondary, 107, 116, 125, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){:host vega-text{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host vega-text{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host vega-text{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}:host .rich-text-editor-container{display:flex;box-sizing:content-box;position:relative;box-sizing:content-box;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));border:1px solid rgba(var(--v-border-input-field, 171, 198, 216, 1));border-radius:8px;font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px;color:rgba(var(--v-text-primary, 32, 54, 69, 1));margin-top:12px;overflow:auto;resize:vertical;padding-top:12px;padding-right:16px;padding-bottom:32px;padding-left:16px}@media screen and (min-width: 768px) and (max-width: 1023px){:host .rich-text-editor-container{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .rich-text-editor-container{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .rich-text-editor-container{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}:host .rich-text-editor-container:hover{border:1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1))}:host .rich-text-editor-container:focus-within{border:1px solid rgba(var(--v-border-input-field-focus, 19, 98, 226, 1));outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:2px;border:1px solid rgba(var(--v-border-color-input-field-focus, 19, 98, 226, 1))}:host .rich-text-editor-container.disabled{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1));border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1))}:host .rich-text-editor-container.disabled:hover,:host .rich-text-editor-container.disabled:focus-within{border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1))}:host .rich-text-editor-container.disabled:focus-within{outline:none}:host .rich-text-editor-container.error{border:1px solid rgba(var(--v-border-input-field-danger, 230, 50, 87, 1))}:host .rich-text-editor-container.error:hover{border:1px solid rgba(var(--v-border-input-field-danger-hover, 255, 87, 114, 1))}:host .rich-text-editor-container.error:focus-within{outline:2px solid rgba(var(--v-border-color-danger, 230, 50, 87, 1));outline-offset:2px;border:1px solid rgba(var(--v-border-color-input-field-danger-focus, 233, 71, 104, 1))}:host .rich-text-editor-container .text-editor-counter{position:absolute;bottom:8px;right:8px;display:flex;padding-left:4px;padding-right:4px;padding-top:2px;padding-bottom:2px;border-radius:4px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-inverted-primary, 252, 252, 252, 1));background-color:rgba(var(--v-bg-textarea-count, 4, 4, 28, 0.6))}@media screen and (min-width: 768px) and (max-width: 1023px){:host .rich-text-editor-container .text-editor-counter{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .rich-text-editor-container .text-editor-counter{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .rich-text-editor-container .text-editor-counter{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}:host .rich-text-editor-container .text-editor-counter.counter-exceed-max-length{background-color:rgba(var(--v-bg-textarea-counter-exceed-max-length, 214, 46, 81))}.toolbar-btn-group{display:flex;justify-content:center;align-items:center}.toolbar-btn-group>*:not(:first-child):not(:last-child) ::part(rich-text-editor-toolbar-button){border-radius:0px}.toolbar-btn-group>*:first-child:not(:last-child) ::part(rich-text-editor-toolbar-button){border-top-left-radius:4px;border-bottom-left-radius:4px;border-top-right-radius:0px;border-bottom-right-radius:0px}.toolbar-btn-group>*:last-child:not(:first-child) ::part(rich-text-editor-toolbar-button){border-top-left-radius:0px;border-bottom-left-radius:0px;border-top-right-radius:4px;border-bottom-right-radius:4px}.toolbar-btn-group>*:not(:first-child) ::part(rich-text-editor-toolbar-button){margin-left:-1px}.toolbar-btn-group .toolbar-btn-color-preview-box{display:flex;border:1px solid rgba(var(--v-border-chip, 205, 209, 211, 1));box-sizing:border-box;border-radius:4px;width:16px;height:16px;cursor:pointer;justify-content:center;align-items:center;margin-left:6px}.toolbar-btn-group .toolbar-btn-link-wrapper{position:relative}.toolbar-btn-group .toolbar-btn-link-wrapper vega-rich-text-link-editor{position:absolute;bottom:0;left:0;right:0}.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-error, 189, 41, 71, 1));display:block;margin-top:12px}@media screen and (min-width: 768px) and (max-width: 1023px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}.vega-hidden{display:none}";
4372
-
4373
- var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4215
+ var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4374
4216
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4375
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4376
- r = Reflect.decorate(decorators, target, key, desc);
4377
- else
4378
- for (var i = decorators.length - 1; i >= 0; i--)
4379
- if (d = decorators[i])
4380
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4217
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4218
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4381
4219
  return c > 3 && r && Object.defineProperty(target, key, r), r;
4382
4220
  };
4383
- const VegaRichTextEditor = class {
4384
- constructor(hostRef) {
4385
- index.registerInstance(this, hostRef);
4386
- this.vegaChange = index.createEvent(this, "vegaChange", 7);
4387
- this.change = index.createEvent(this, "change", 7);
4388
- this.vegaImageInserted = index.createEvent(this, "vegaImageInserted", 7);
4389
- this.imageInserted = index.createEvent(this, "imageInserted", 7);
4390
- this.globalSlimmers = {};
4391
- this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer();
4392
- this.formFieldController = new formFieldControllerSlimmer.FormFieldControllerSlimmer({
4393
- propertyRules: [
4394
- {
4395
- propertyName: 'required',
4396
- ruleFactory: (isRequired) => isRequired ? new RichTextEditorRequiredRule() : null,
4397
- },
4398
- ],
4399
- validationRulesName: 'validationRules',
4400
- defaultValue: null,
4401
- attributeGetter: (propertyName) => this[propertyName],
4402
- inputContainerGetter: () => this.vegaRichTextEditorRenderer.getRichTextContainerRef(),
4403
- touchableAreaGetter: () => [this.vegaRichTextEditorRenderer.getRichTextContentRef()],
4221
+ /** Handles inserting composition text into a VegaRTEContent based on the current selection and input event. User input character will trigger this callback */
4222
+ class InsertCompositionTextController extends globalSlimmerRegistry.VegaSlimmer {
4223
+ constructor() {
4224
+ super(...arguments);
4225
+ this.insertCompositionTextEndFlag = true;
4226
+ this.observerOptions = {
4227
+ characterData: true,
4228
+ characterDataOldValue: true,
4229
+ subtree: true,
4230
+ childList: true,
4231
+ };
4232
+ /**
4233
+ * The current method is called when the insert text is update by the Pinyin input or the word correction plugin.
4234
+ *
4235
+ * @param {MutationRecord[]} records - The mutation record object array.
4236
+ */
4237
+ this.updateTextFromDom = (records) => {
4238
+ let updateFlag = false;
4239
+ if (this.insertCompositionTextEndFlag !== false) {
4240
+ records.forEach((record) => {
4241
+ const { target, oldValue } = record;
4242
+ if (target.nodeType === Node.TEXT_NODE && target.parentElement) {
4243
+ const richTextNode = nodeAnnotation_abstract.stateEntityRenderingRegistry.getEntityByDOM(target.parentElement);
4244
+ const newValue = target.textContent;
4245
+ if (richTextNode instanceof contentState.RTETextNode) {
4246
+ updateFlag = this.updateCurrentNodeText(richTextNode, newValue, oldValue);
4247
+ }
4248
+ else if (newValue) {
4249
+ // The text element should removed if insert text to the image block.
4250
+ target.parentElement.removeChild(target);
4251
+ updateFlag = true;
4252
+ }
4253
+ }
4254
+ });
4255
+ }
4256
+ if (updateFlag) {
4257
+ void this.valueController.flushChanges(this.value);
4258
+ }
4259
+ };
4260
+ /**
4261
+ * Processes mutation records related to character data and updates the text content of a rich text node accordingly.
4262
+ *
4263
+ * @param {MutationRecord[]} records - Each `MutationRecord` object represents a single mutation that occurred in the DOM.
4264
+ */
4265
+ this.handleObserver = (records) => {
4266
+ if (records.every((record) => record.type === 'characterData')) {
4267
+ this.updateTextFromDom(records);
4268
+ }
4269
+ };
4270
+ /**
4271
+ * An event handler function that is triggered when the composition of text input starts. In this case,
4272
+ * it sets the `insertCompositionTextEndFlag` property of the `UserInputController` class to `false`.
4273
+ */
4274
+ this.handleCompositionStart = () => {
4275
+ this.insertCompositionTextEndFlag = false;
4276
+ changeManager.ChangeManager.notify(domNodeSubjectFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalRichTextEditDeleteSelectedNodes), { host: this.host, detail: true });
4277
+ };
4278
+ /**
4279
+ * An event handler function that is triggered when the composition of text input ends. In this case,
4280
+ * it sets the `insertCompositionTextEndFlag` property of the `UserInputController` class to `true`.
4281
+ *
4282
+ * @param {CompositionEvent} event The composition event instance
4283
+ */
4284
+ this.handleCompositionEnd = (event) => {
4285
+ this.insertCompositionTextEndFlag = true;
4286
+ const insertData = event.data;
4287
+ if (insertData) {
4288
+ this.dispatchInsertTextEvent(insertData);
4289
+ }
4290
+ };
4291
+ }
4292
+ /**
4293
+ * The function `initMutationObserver` initializes a MutationObserver on an editable HTML element if it exists.
4294
+ */
4295
+ initMutationObserver() {
4296
+ if (this.mutationObserver) {
4297
+ const editableElement = this.getEditableElementRef();
4298
+ if (editableElement) {
4299
+ this.mutationObserver.disconnect();
4300
+ this.mutationObserver.observe(editableElement, this.observerOptions);
4301
+ }
4302
+ }
4303
+ }
4304
+ /**
4305
+ * Disconnects the mutation observer if it exists.
4306
+ */
4307
+ removeObserver() {
4308
+ if (this.mutationObserver) {
4309
+ this.mutationObserver.disconnect();
4310
+ }
4311
+ }
4312
+ /**
4313
+ * The method is to get the composition text insert end or not.
4314
+ *
4315
+ * @returns {boolean} The false is main that insert composition text process is end.
4316
+ */
4317
+ isComposing() {
4318
+ return !this.insertCompositionTextEndFlag;
4319
+ }
4320
+ /**
4321
+ * Adds event listener to an editable HTML element to handle composition text insert actions.
4322
+ */
4323
+ addCompositionTextEventListener() {
4324
+ const editableElement = this.getEditableElementRef();
4325
+ if (editableElement) {
4326
+ editableElement.addEventListener('compositionstart', this.handleCompositionStart);
4327
+ editableElement.addEventListener('compositionend', this.handleCompositionEnd);
4328
+ }
4329
+ this.mutationObserver = new MutationObserver(this.handleObserver);
4330
+ this.initMutationObserver();
4331
+ }
4332
+ /**
4333
+ * Removes event listener to an editable HTML element to handle composition text insert actions.
4334
+ */
4335
+ removeCompositionTextEventListener() {
4336
+ const editableElement = this.getEditableElementRef();
4337
+ if (editableElement) {
4338
+ editableElement.removeEventListener('compositionstart', this.handleCompositionStart);
4339
+ editableElement.removeEventListener('compositionend', this.handleCompositionEnd);
4340
+ }
4341
+ this.removeObserver();
4342
+ }
4343
+ /**
4344
+ * re-connect the observer after the props change and component did render
4345
+ */
4346
+ reConnectObserver() {
4347
+ this.initMutationObserver();
4348
+ }
4349
+ /**
4350
+ * Insert text to a line break node need a special logic if the line break has a next text node.
4351
+ *
4352
+ * @param {RTETextNode} currentNode The current line break node, the text value is \n
4353
+ */
4354
+ appendLineBreakNode(currentNode) {
4355
+ const textBlock = currentNode.parentBlock;
4356
+ const index = textBlock.nodes.indexOf(currentNode);
4357
+ if (textBlock.nodes[index + 1]) {
4358
+ const newTextNode = currentNode.cloneWithText('\n');
4359
+ textBlock.apply(new InsertNodesBeforeAction(textBlock.nodes[index + 1], newTextNode));
4360
+ }
4361
+ }
4362
+ /**
4363
+ * Updates the text content of a rich text node and handles line breaks.
4364
+ *
4365
+ * @param {RTETextNode} richTextNode - The current rich text node.
4366
+ * @param {string} newValue - The target element textContent
4367
+ * @param {Nullable<string>} oldValue - The target element old textContent
4368
+ * @returns {Nullable<boolean>} The node text is updated or not
4369
+ */
4370
+ updateCurrentNodeText(richTextNode, newValue, oldValue) {
4371
+ const insertText = this.removeZeroWidthSpace(newValue.replace(/(\n)$/, ''));
4372
+ if (richTextNode.text !== insertText) {
4373
+ const { startOffset } = this.selectionController.getCurrentRange();
4374
+ const currentIsLineBreakNode = richTextNode.text === '\n';
4375
+ richTextNode.apply(new contentState.UpdateTextAction(insertText));
4376
+ if (currentIsLineBreakNode) {
4377
+ this.appendLineBreakNode(richTextNode);
4378
+ }
4379
+ const lengthGap = oldValue ? oldValue.length - newValue.length : 0;
4380
+ const newOffset = Math.min(insertText.length, startOffset - lengthGap);
4381
+ this.selectionController.enqueueSelectionRangeFutureState(richTextNode, Math.max(0, newOffset));
4382
+ return true;
4383
+ }
4384
+ }
4385
+ /**
4386
+ * The function `getEditableElementRef` returns a reference to the editable HTMLDivElement within a rich text editor.
4387
+ *
4388
+ * @returns {HTMLDivElement|null} A reference to an HTMLDivElement element that is editable.
4389
+ */
4390
+ getEditableElementRef() {
4391
+ if (!this.editableElementRef) {
4392
+ this.editableElementRef = this.vegaRichTextEditorRenderer.getRTEEditableElementRef();
4393
+ }
4394
+ return this.editableElementRef;
4395
+ }
4396
+ /**
4397
+ * Remove the ZERO_WIDTH_SPACE from the text.
4398
+ *
4399
+ * @param {string} text The input text that could include ZERO_WIDTH_SPACE.
4400
+ * @returns {string} The result text.
4401
+ */
4402
+ removeZeroWidthSpace(text) {
4403
+ if (text.startsWith(contentState.ZERO_WIDTH_SPACE)) {
4404
+ return text.slice(contentState.ZERO_WIDTH_SPACE.length);
4405
+ }
4406
+ else if (text.endsWith(contentState.ZERO_WIDTH_SPACE)) {
4407
+ return text.slice(0, text.length - contentState.ZERO_WIDTH_SPACE.length);
4408
+ }
4409
+ return text;
4410
+ }
4411
+ /**
4412
+ * Dispatch a insert text event to handle the composition text insert logic.
4413
+ *
4414
+ * @param {string} text - The text need to insert.
4415
+ */
4416
+ dispatchInsertTextEvent(text) {
4417
+ const inputEvent = new CustomEvent('beforeinput');
4418
+ inputEvent['data'] = text;
4419
+ inputEvent['inputType'] = 'insertText';
4420
+ this.editableElementRef.dispatchEvent(inputEvent);
4421
+ }
4422
+ }
4423
+ __decorate$8([
4424
+ globalSlimmerRegistry.MapToComponentField()
4425
+ ], InsertCompositionTextController.prototype, "selectionController", void 0);
4426
+ __decorate$8([
4427
+ globalSlimmerRegistry.MapToComponentField()
4428
+ ], InsertCompositionTextController.prototype, "host", void 0);
4429
+ __decorate$8([
4430
+ globalSlimmerRegistry.MapToComponentField()
4431
+ ], InsertCompositionTextController.prototype, "value", void 0);
4432
+ __decorate$8([
4433
+ globalSlimmerRegistry.MapToComponentField()
4434
+ ], InsertCompositionTextController.prototype, "valueController", void 0);
4435
+ __decorate$8([
4436
+ globalSlimmerRegistry.MapToComponentField()
4437
+ ], InsertCompositionTextController.prototype, "userInputController", void 0);
4438
+ __decorate$8([
4439
+ globalSlimmerRegistry.MapToComponentField()
4440
+ ], InsertCompositionTextController.prototype, "vegaRichTextEditorRenderer", void 0);
4441
+ __decorate$8([
4442
+ globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
4443
+ ], InsertCompositionTextController.prototype, "addCompositionTextEventListener", null);
4444
+ __decorate$8([
4445
+ globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
4446
+ ], InsertCompositionTextController.prototype, "removeCompositionTextEventListener", null);
4447
+ __decorate$8([
4448
+ globalSlimmerRegistry.MapToComponentMethod('componentDidRender')
4449
+ ], InsertCompositionTextController.prototype, "reConnectObserver", null);
4450
+
4451
+ var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4452
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4453
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4454
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4455
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
4456
+ };
4457
+ /**
4458
+ * The `DeleteSelectedNodesController` class provides methods to delete selected nodes.
4459
+ */
4460
+ class DeleteSelectedNodesController extends globalSlimmerRegistry.VegaSlimmer {
4461
+ constructor() {
4462
+ super(...arguments);
4463
+ /**
4464
+ * Deletes the selected nodes.
4465
+ *
4466
+ * @param {NotifyObserverPayload<boolean>} payload The notify payload
4467
+ * @param {boolean} payload.detail The delete process need merge start node and end node or not, default value is true.
4468
+ */
4469
+ this.deleteActionProcess = (payload) => {
4470
+ const range = this.selectionController.getCurrentRange();
4471
+ const { startContainer, endContainer, startOffset, endOffset } = range;
4472
+ if (startContainer !== endContainer || startOffset !== endOffset) {
4473
+ const cursorNode = this.removeSelectionRange();
4474
+ const mergeStartAndEndFlag = payload && payload.detail ? payload.detail : false;
4475
+ if (mergeStartAndEndFlag) {
4476
+ this.mergeRangeStartAndEnd(startContainer, endContainer);
4477
+ }
4478
+ this.selectionController.enqueueSelectionRangeFutureState(cursorNode, range.startOffset);
4479
+ }
4480
+ };
4481
+ }
4482
+ /**
4483
+ * Adds the observer to the host element.
4484
+ */
4485
+ addDeleteObserver() {
4486
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(this.host, vegaInternalEventId.VegaInternalRichTextEditDeleteSelectedNodes, this.deleteActionProcess);
4487
+ }
4488
+ /**
4489
+ * Removes the observer from the host element.
4490
+ */
4491
+ removeDeleteObserver() {
4492
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.removeUniqueObserverFromNode(this.host, vegaInternalEventId.VegaInternalRichTextEditDeleteSelectedNodes);
4493
+ }
4494
+ /**
4495
+ * Removes selected nodes within a range in a rich text editor content.
4496
+ * The method is only used for different nodes are selected
4497
+ *
4498
+ * @returns {RTENode} The range start node, usually the start node is the first item of selectedNodes, if the selectedNodes is all removed, the start node will be a new text node.
4499
+ */
4500
+ removeSelectionRange() {
4501
+ const range = this.selectionController.getCurrentRange();
4502
+ const selectedNodes = this.selectionController.getSelectedNodes();
4503
+ const { endOffset, startOffset } = range;
4504
+ const startNode = selectedNodes[0];
4505
+ const endNode = selectedNodes[selectedNodes.length - 1];
4506
+ if (selectedNodes.length > 1) {
4507
+ // Remove all selected nodes except start node and end node(the end image node will be removed), the start node need to get the index of the block
4508
+ const shouldRemovedItems = selectedNodes.filter((item) => {
4509
+ if (item.type !== 'IMAGE') {
4510
+ return item !== startNode && item !== endNode;
4511
+ }
4512
+ else {
4513
+ return item !== startNode && (item !== endNode || (item === endNode && endOffset !== 0));
4514
+ }
4515
+ });
4516
+ shouldRemovedItems.forEach((item) => {
4517
+ item.parentBlock.apply(new contentState.RemoveChildAction(item));
4518
+ });
4519
+ }
4520
+ this.removeRangeStartAndEndSelectedText();
4521
+ /**
4522
+ * if the range start node is image and the item is selected, so we need remove the image item, the image block will be removed if the item is the only item.
4523
+ * but before remove the image block, we need insert a paragraph to make sure the start block and start node could be get correct before insert text or break paragraph action
4524
+ */
4525
+ if (startNode instanceof contentState.RTEImageNode &&
4526
+ startOffset !== 1 &&
4527
+ (endNode !== startNode || endOffset !== 0)) {
4528
+ // the image block will be deleted when the image is the only item
4529
+ if (startNode.parentBlock.nodes.length === 1) {
4530
+ const paragraph = this.createEmptyParagraph();
4531
+ startNode.parentBlock.parent.apply(new contentState.InsertBlocksBeforeAction(startNode.parentBlock, paragraph));
4532
+ startNode.parentBlock.apply(new contentState.RemoveChildAction(startNode));
4533
+ return paragraph.nodes[0];
4534
+ }
4535
+ else if (startNode === startNode.parentBlock.nodes[0]) {
4536
+ // the start node should be the next image item if the image is first item
4537
+ startNode.parentBlock.apply(new contentState.RemoveChildAction(startNode));
4538
+ return startNode.parentBlock.nodes[0];
4539
+ }
4540
+ }
4541
+ return startNode;
4542
+ }
4543
+ /**
4544
+ * Removes the selected text at the start and end of a range in a Rich Text Editor.
4545
+ */
4546
+ removeRangeStartAndEndSelectedText() {
4547
+ const selectedNodes = this.selectionController.getSelectedNodes();
4548
+ const currentRange = this.selectionController.getCurrentRange();
4549
+ if (selectedNodes[0] instanceof contentState.RTETextNode) {
4550
+ selectedNodes[0].apply(new ReplaceSelectedTextAction('', currentRange));
4551
+ }
4552
+ if (selectedNodes.length > 1 && selectedNodes[selectedNodes.length - 1] instanceof contentState.RTETextNode) {
4553
+ selectedNodes[selectedNodes.length - 1].apply(new ReplaceSelectedTextAction('', currentRange));
4554
+ }
4555
+ }
4556
+ /**
4557
+ * Creates a new paragraph with an empty text node and returns it.
4558
+ *
4559
+ * @returns {RTETextBlock} An empty paragraph with a unique identifier and a text node appended to it.
4560
+ */
4561
+ createEmptyParagraph() {
4562
+ const paragraph = new contentState.RTETextBlock(createPublicApiRuntimeMetricsSlimmer.generateUUID(), 'paragraph');
4563
+ const textNode = new contentState.RTETextNode(`${paragraph.id}1`, '', paragraph);
4564
+ paragraph.apply(new contentState.AppendChildNodesAction([textNode]));
4565
+ return paragraph;
4566
+ }
4567
+ /**
4568
+ * Merges text nodes in a rich text editor.
4569
+ *
4570
+ * @param {Node} startContainer - Start text node element
4571
+ * @param {Node} endContainer - End text node element
4572
+ */
4573
+ mergeRangeStartAndEnd(startContainer, endContainer) {
4574
+ if (startContainer !== endContainer) {
4575
+ if (startContainer.nodeType === Node.TEXT_NODE && endContainer.nodeType === Node.TEXT_NODE) {
4576
+ const selectedNodes = this.selectionController.getSelectedNodes();
4577
+ const startRTENode = selectedNodes[0];
4578
+ const endRTENode = selectedNodes[selectedNodes.length - 1];
4579
+ if (startRTENode && startRTENode.parentBlock && endRTENode && endRTENode.parentBlock) {
4580
+ const endBlock = endRTENode.parentBlock;
4581
+ if (this.shouldMergeTextNode(startRTENode, endRTENode)) {
4582
+ startRTENode.apply(new contentState.UpdateTextAction(startRTENode.text + endRTENode.text));
4583
+ if (startRTENode.parentBlock === endRTENode.parentBlock) {
4584
+ startRTENode.parentBlock.apply(new contentState.RemoveChildAction(endRTENode));
4585
+ }
4586
+ else {
4587
+ endRTENode.parentBlock.apply(new contentState.RemoveChildAction(endRTENode.parentBlock.nodes[0]));
4588
+ }
4589
+ }
4590
+ if (startRTENode.parentBlock !== endRTENode.parentBlock) {
4591
+ startRTENode.parentBlock.apply(new contentState.AppendChildNodesAction(endBlock.nodes));
4592
+ endBlock.nodes = [];
4593
+ }
4594
+ if (endBlock.nodes.length < 1) {
4595
+ endBlock.parent.apply(new contentState.RemoveChildAction(endBlock));
4596
+ }
4597
+ }
4598
+ }
4599
+ }
4600
+ }
4601
+ /**
4602
+ * Compares the annotations of two RTETextNodes to determine if they can be merged.
4603
+ *
4604
+ * @param {RTETextNode} nodeA - node A
4605
+ * @param {RTETextNode} nodeB - node B
4606
+ * @returns {boolean} true or false
4607
+ */
4608
+ shouldMergeTextNode(nodeA, nodeB) {
4609
+ const { annotations: annotationsA } = nodeA.toJSON();
4610
+ const { annotations: annotationsB } = nodeB.toJSON();
4611
+ return JSON.stringify(annotationsA) === JSON.stringify(annotationsB);
4612
+ }
4613
+ }
4614
+ __decorate$7([
4615
+ globalSlimmerRegistry.MapToComponentField()
4616
+ ], DeleteSelectedNodesController.prototype, "host", void 0);
4617
+ __decorate$7([
4618
+ globalSlimmerRegistry.MapToComponentField()
4619
+ ], DeleteSelectedNodesController.prototype, "selectionController", void 0);
4620
+ __decorate$7([
4621
+ globalSlimmerRegistry.MapToComponentField()
4622
+ ], DeleteSelectedNodesController.prototype, "value", void 0);
4623
+ __decorate$7([
4624
+ globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
4625
+ ], DeleteSelectedNodesController.prototype, "addDeleteObserver", null);
4626
+ __decorate$7([
4627
+ globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
4628
+ ], DeleteSelectedNodesController.prototype, "removeDeleteObserver", null);
4629
+
4630
+ const vegaRichTextEditorCss = ":host{display:block}:host vega-field-label{margin-bottom:8px}:host vega-text{margin-bottom:16px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-secondary, 107, 116, 125, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){:host vega-text{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host vega-text{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host vega-text{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}:host .rich-text-editor-container{display:flex;box-sizing:content-box;position:relative;box-sizing:content-box;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));border:1px solid rgba(var(--v-border-input-field, 171, 198, 216, 1));border-radius:8px;font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px;color:rgba(var(--v-text-primary, 32, 54, 69, 1));margin-top:12px;overflow:auto;resize:vertical;padding-top:12px;padding-right:16px;padding-bottom:32px;padding-left:16px}@media screen and (min-width: 768px) and (max-width: 1023px){:host .rich-text-editor-container{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .rich-text-editor-container{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .rich-text-editor-container{font-family:\"Inter\", sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0px}}:host .rich-text-editor-container:hover{border:1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1))}:host .rich-text-editor-container:focus-within{border:1px solid rgba(var(--v-border-input-field-focus, 19, 98, 226, 1));outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:2px;border:1px solid rgba(var(--v-border-color-input-field-focus, 19, 98, 226, 1))}:host .rich-text-editor-container.disabled{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1));border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1))}:host .rich-text-editor-container.disabled:hover,:host .rich-text-editor-container.disabled:focus-within{border:1px solid rgba(var(--v-border-input-field-disabled, 222, 225, 227, 1))}:host .rich-text-editor-container.disabled:focus-within{outline:none}:host .rich-text-editor-container.error{border:1px solid rgba(var(--v-border-input-field-danger, 230, 50, 87, 1))}:host .rich-text-editor-container.error:hover{border:1px solid rgba(var(--v-border-input-field-danger-hover, 255, 87, 114, 1))}:host .rich-text-editor-container.error:focus-within{outline:2px solid rgba(var(--v-border-color-danger, 230, 50, 87, 1));outline-offset:2px;border:1px solid rgba(var(--v-border-color-input-field-danger-focus, 233, 71, 104, 1))}:host .rich-text-editor-container .text-editor-counter{position:absolute;bottom:8px;right:8px;display:flex;padding-left:4px;padding-right:4px;padding-top:2px;padding-bottom:2px;border-radius:4px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-inverted-primary, 252, 252, 252, 1));background-color:rgba(var(--v-bg-textarea-count, 4, 4, 28, 0.6))}@media screen and (min-width: 768px) and (max-width: 1023px){:host .rich-text-editor-container .text-editor-counter{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){:host .rich-text-editor-container .text-editor-counter{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){:host .rich-text-editor-container .text-editor-counter{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}:host .rich-text-editor-container .text-editor-counter.counter-exceed-max-length{background-color:rgba(var(--v-bg-textarea-counter-exceed-max-length, 214, 46, 81))}.toolbar-btn-group{display:flex;justify-content:center;align-items:center}.toolbar-btn-group>*:not(:first-child):not(:last-child) ::part(rich-text-editor-toolbar-button){border-radius:0px}.toolbar-btn-group>*:first-child:not(:last-child) ::part(rich-text-editor-toolbar-button){border-top-left-radius:4px;border-bottom-left-radius:4px;border-top-right-radius:0px;border-bottom-right-radius:0px}.toolbar-btn-group>*:last-child:not(:first-child) ::part(rich-text-editor-toolbar-button){border-top-left-radius:0px;border-bottom-left-radius:0px;border-top-right-radius:4px;border-bottom-right-radius:4px}.toolbar-btn-group>*:not(:first-child) ::part(rich-text-editor-toolbar-button){margin-left:-1px}.toolbar-btn-group .toolbar-btn-color-preview-box{display:flex;border:1px solid rgba(var(--v-border-chip, 205, 209, 211, 1));box-sizing:border-box;border-radius:4px;width:16px;height:16px;cursor:pointer;justify-content:center;align-items:center;margin-left:6px}.toolbar-btn-group .toolbar-btn-link-wrapper{position:relative}.toolbar-btn-group .toolbar-btn-link-wrapper vega-rich-text-link-editor{position:absolute;bottom:0;left:0;right:0}.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px;color:rgba(var(--v-text-error, 189, 41, 71, 1));display:block;margin-top:12px}@media screen and (min-width: 768px) and (max-width: 1023px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.vega-error{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;letter-spacing:0px}}.vega-hidden{display:none}";
4631
+
4632
+ var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4633
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4634
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4635
+ r = Reflect.decorate(decorators, target, key, desc);
4636
+ else
4637
+ for (var i = decorators.length - 1; i >= 0; i--)
4638
+ if (d = decorators[i])
4639
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4640
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
4641
+ };
4642
+ const VegaRichTextEditor = class {
4643
+ constructor(hostRef) {
4644
+ index.registerInstance(this, hostRef);
4645
+ this.vegaChange = index.createEvent(this, "vegaChange", 7);
4646
+ this.change = index.createEvent(this, "change", 7);
4647
+ this.vegaImageInserted = index.createEvent(this, "vegaImageInserted", 7);
4648
+ this.imageInserted = index.createEvent(this, "imageInserted", 7);
4649
+ this.globalSlimmers = {};
4650
+ this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer();
4651
+ this.formFieldController = new formFieldControllerSlimmer.FormFieldControllerSlimmer({
4652
+ propertyRules: [
4653
+ {
4654
+ propertyName: 'required',
4655
+ ruleFactory: (isRequired) => isRequired ? new RichTextEditorRequiredRule() : null,
4656
+ },
4657
+ ],
4658
+ validationRulesName: 'validationRules',
4659
+ defaultValue: null,
4660
+ attributeGetter: (propertyName) => this[propertyName],
4661
+ inputContainerGetter: () => this.vegaRichTextEditorRenderer.getRichTextContainerRef(),
4662
+ touchableAreaGetter: () => [this.vegaRichTextEditorRenderer.getRichTextContentRef()],
4404
4663
  });
4405
4664
  this.changeEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaRichTextEditor, domNodeSubjectFactory.VegaChange);
4406
4665
  this.vegaRichTextEditorRenderer = new VegaRichTextEditorRenderer();
@@ -4428,9 +4687,11 @@ const VegaRichTextEditor = class {
4428
4687
  this.richTextContentController = new RichTextContentController(this);
4429
4688
  this.userInputController = new UserInputController();
4430
4689
  this.insertImageController = new InsertImageController();
4690
+ this.insertCompositionTextController = new InsertCompositionTextController();
4431
4691
  this.imageInsertedEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaRichTextEditor, domNodeSubjectFactory.VegaImageInserted);
4432
4692
  this.changeEventPreventSlimmer = new childNodesEventPreventSlimmer.ChildNodesEventPreventSlimmer([domNodeSubjectFactory.VegaChange], () => this.vegaRichTextEditorRenderer.getRichTextWrapperRef());
4433
4693
  this.textNodeColorController = new TextNodeColorController();
4694
+ this.deleteSelectedNodesController = new DeleteSelectedNodesController();
4434
4695
  this.richTextContentEditable = true;
4435
4696
  this.selectionMap = new Map();
4436
4697
  this.isInDarkMode = nodeAnnotation_abstract.VegaThemeManager.isDarkMode();
@@ -4484,6 +4745,7 @@ const VegaRichTextEditor = class {
4484
4745
  * Only in exceptional cases should the original data in the VegaRTEContentBlock type be used.
4485
4746
  *
4486
4747
  * @vegaVersion 2.34.0
4748
+ * @defaultValue [{id:'UUID', type:'paragraph', nodes:[{id: 'UUID',type: 'text',text:''}]}]
4487
4749
  */
4488
4750
  // eslint-disable-next-line @stencil/strict-mutable
4489
4751
  this.value = contentState.VegaRTEContent.createEmptyContent();
@@ -4636,6 +4898,9 @@ __decorate$6([
4636
4898
  __decorate$6([
4637
4899
  globalSlimmerRegistry.InjectVegaSlimmer()
4638
4900
  ], VegaRichTextEditor.prototype, "insertImageController", void 0);
4901
+ __decorate$6([
4902
+ globalSlimmerRegistry.InjectVegaSlimmer()
4903
+ ], VegaRichTextEditor.prototype, "insertCompositionTextController", void 0);
4639
4904
  __decorate$6([
4640
4905
  globalSlimmerRegistry.InjectVegaSlimmer()
4641
4906
  ], VegaRichTextEditor.prototype, "imageInsertedEventEmitter", void 0);
@@ -4645,6 +4910,9 @@ __decorate$6([
4645
4910
  __decorate$6([
4646
4911
  globalSlimmerRegistry.InjectVegaSlimmer()
4647
4912
  ], VegaRichTextEditor.prototype, "textNodeColorController", void 0);
4913
+ __decorate$6([
4914
+ globalSlimmerRegistry.InjectVegaSlimmer()
4915
+ ], VegaRichTextEditor.prototype, "deleteSelectedNodesController", void 0);
4648
4916
  VegaRichTextEditor.style = vegaRichTextEditorCss;
4649
4917
 
4650
4918
  var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {