@globalpayments/vega 2.96.0 → 2.98.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (570) hide show
  1. package/dist/cjs/{app-globals-38afea36.js → app-globals-b3f05631.js} +10 -10
  2. package/dist/cjs/{aria-dialog-focusable-trap-slimmer-73b4c0cb.js → aria-dialog-focusable-trap-slimmer-62147489.js} +1 -1
  3. package/dist/cjs/{code-block-4126dc3b.js → code-block-d78c2b2c.js} +22 -9
  4. package/dist/cjs/{component-value-history-controller-slimmer.abstract-38ba956e.js → component-value-history-controller-slimmer.abstract-beb00fea.js} +4 -4
  5. package/dist/cjs/constants-907d7d89.js +16 -0
  6. package/dist/cjs/{content-state-50e8a03c.js → content-state-78a620a9.js} +3 -3
  7. package/dist/cjs/{date-required-rule-4ab06a82.js → date-required-rule-5250f26d.js} +1 -1
  8. package/dist/cjs/{design-token-d3d12fa0.js → design-token-74674ee7.js} +3 -3
  9. package/dist/cjs/{element-appender-slimmer-7773fdab.js → element-appender-slimmer-597e9e48.js} +3 -3
  10. package/dist/cjs/{form-field-controller-slimmer-d638ba12.js → form-field-controller-slimmer-a743be34.js} +7 -16
  11. package/dist/cjs/form-field-key-8d5edf75.js +25 -0
  12. package/dist/cjs/{image-annotation-action-89363de8.js → image-annotation-action-85c4bd83.js} +2 -2
  13. package/dist/cjs/{image-extension-c881c454.js → image-extension-260fa69c.js} +2 -2
  14. package/dist/cjs/index.cjs.js +18 -18
  15. package/dist/cjs/{inject-keyboard-manager-5a105612.js → inject-keyboard-manager-6a6f5c9f.js} +1 -1
  16. package/dist/cjs/{internal-calendar-period-factory-b76006f7.js → internal-calendar-period-factory-dfcdd3f6.js} +1 -1
  17. package/dist/cjs/{internal-translation-controller-eb02c3b1.js → internal-translation-controller-1dac2df8.js} +7 -0
  18. package/dist/cjs/{keyboard-manager-ca76d4dc.js → keyboard-manager-c56033b1.js} +1 -1
  19. package/dist/cjs/{keyboard-manager-slimmer-a1223714.js → keyboard-manager-slimmer-7043a106.js} +1 -1
  20. package/dist/cjs/{link-extension-b7f99a52.js → link-extension-220ff6a9.js} +3 -3
  21. package/dist/cjs/loader.cjs.js +13 -13
  22. package/dist/cjs/{month-view-generator-876c50d4.js → month-view-generator-7b704a80.js} +1 -1
  23. package/dist/cjs/{public-rules-72894208.js → public-rules-5657bce4.js} +8 -8
  24. package/dist/cjs/{range-95d41dea.js → range-c5afd53a.js} +1 -1
  25. package/dist/cjs/{responsive-format-facade-25e9f30d.js → responsive-format-facade-493d1763.js} +1 -1
  26. package/dist/cjs/{rich-text-editor-required-rule-4d6d2493.js → rich-text-editor-required-rule-385c1b61.js} +1 -1
  27. package/dist/cjs/{split-cell-operation-70be116d.js → split-cell-operation-873d5db7.js} +3 -3
  28. package/dist/cjs/{state-border-formatter-f1ce0f3b.js → state-border-formatter-711c7aaa.js} +1 -1
  29. package/dist/cjs/{string-format-strategy.abstract-b22f7754.js → string-format-strategy.abstract-b61bdcbd.js} +1 -1
  30. package/dist/cjs/{string-input-formatter-slimmer-d2c248f7.js → string-input-formatter-slimmer-ef65cca7.js} +3 -3
  31. package/dist/cjs/{string-mask-strategy-fc01a500.js → string-mask-strategy-ad3fa0ac.js} +2 -2
  32. package/dist/cjs/{style-formatter-73205450.js → style-formatter-8f711cb0.js} +2 -2
  33. package/dist/cjs/{sub-state-notify-slimmer-18891389.js → sub-state-notify-slimmer-e264a120.js} +1 -1
  34. package/dist/cjs/{sub-state-observer-slimmer-eee2f0ae.js → sub-state-observer-slimmer-6033b824.js} +1 -1
  35. package/dist/cjs/{time-required-rule-12d2f394.js → time-required-rule-87417359.js} +1 -1
  36. package/dist/cjs/{token-extension-eb828948.js → token-extension-78b5a026.js} +9 -9
  37. package/dist/cjs/{translation-slimmer-9099f56c.js → translation-slimmer-77c7f37d.js} +1 -1
  38. package/dist/cjs/{type-guard-f354af8b.js → type-guard-a57ef3ac.js} +1 -1
  39. package/dist/cjs/{valid-credit-card-number-rule-8d370163.js → valid-credit-card-number-rule-4c0a3040.js} +1 -1
  40. package/dist/cjs/vega-accordion.cjs.entry.js +6 -6
  41. package/dist/cjs/vega-app-header-button.cjs.entry.js +5 -5
  42. package/dist/cjs/vega-backdrop.cjs.entry.js +63 -8
  43. package/dist/cjs/vega-box.cjs.entry.js +6 -6
  44. package/dist/cjs/vega-button-circle.cjs.entry.js +6 -6
  45. package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
  46. package/dist/cjs/vega-button.cjs.entry.js +4 -4
  47. package/dist/cjs/vega-calendar_5.cjs.entry.js +10 -10
  48. package/dist/cjs/vega-card.cjs.entry.js +5 -5
  49. package/dist/cjs/vega-carousel.cjs.entry.js +3 -3
  50. package/dist/cjs/vega-checkbox_2.cjs.entry.js +22 -5
  51. package/dist/cjs/vega-chip.cjs.entry.js +5 -5
  52. package/dist/cjs/vega-code-block.cjs.entry.js +13 -26
  53. package/dist/cjs/vega-color-picker.cjs.entry.js +13 -4
  54. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +14 -5
  55. package/dist/cjs/vega-color-swatch.cjs.entry.js +2 -2
  56. package/dist/cjs/vega-combo-box.cjs.entry.js +19 -10
  57. package/dist/cjs/vega-date-picker_2.cjs.entry.js +26 -17
  58. package/dist/cjs/vega-dialog_2.cjs.entry.js +5 -5
  59. package/dist/cjs/vega-divider.cjs.entry.js +5 -5
  60. package/dist/cjs/vega-dropdown_5.cjs.entry.js +30 -24
  61. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  62. package/dist/cjs/vega-field-label.cjs.entry.js +2 -2
  63. package/dist/cjs/vega-file-uploader.cjs.entry.js +49 -7
  64. package/dist/cjs/vega-flag-icon.cjs.entry.js +5 -5
  65. package/dist/cjs/vega-flex.cjs.entry.js +6 -6
  66. package/dist/cjs/vega-font.cjs.entry.js +5 -5
  67. package/dist/cjs/vega-form.cjs.entry.js +31 -28
  68. package/dist/cjs/vega-grid.cjs.entry.js +5 -5
  69. package/dist/cjs/vega-icon.cjs.entry.js +5 -5
  70. package/dist/cjs/vega-image-uploader.cjs.entry.js +16 -7
  71. package/dist/cjs/vega-input-credit-card.cjs.entry.js +18 -9
  72. package/dist/cjs/vega-input-numeric.cjs.entry.js +17 -8
  73. package/dist/cjs/vega-input-passcode.cjs.entry.js +16 -7
  74. package/dist/cjs/vega-input-phone-number.cjs.entry.js +15 -6
  75. package/dist/cjs/vega-input-range.cjs.entry.js +14 -5
  76. package/dist/cjs/vega-input-select.cjs.entry.js +16 -7
  77. package/dist/cjs/vega-input.cjs.entry.js +19 -12
  78. package/dist/cjs/{vega-internal-event-id-ecc5b87a.js → vega-internal-event-id-f4d33037.js} +2 -0
  79. package/dist/cjs/vega-left-nav_5.cjs.entry.js +74 -14
  80. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
  81. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +1 -1
  82. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +3 -3
  83. package/dist/cjs/vega-pagination.cjs.entry.js +5 -5
  84. package/dist/cjs/vega-popover_2.cjs.entry.js +10 -10
  85. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +6 -6
  86. package/dist/cjs/vega-radio_2.cjs.entry.js +19 -7
  87. package/dist/cjs/vega-rich-text-content.cjs.entry.js +35 -12
  88. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +1585 -432
  89. package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +1 -1
  90. package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +5 -5
  91. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +9 -9
  92. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +16 -7
  93. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +14 -5
  94. package/dist/cjs/vega-sidenav_3.cjs.entry.js +6 -6
  95. package/dist/cjs/vega-signature-capture.cjs.entry.js +18 -9
  96. package/dist/cjs/vega-stepper.cjs.entry.js +14 -5
  97. package/dist/cjs/vega-table_11.cjs.entry.js +1144 -450
  98. package/dist/cjs/vega-textarea.cjs.entry.js +14 -5
  99. package/dist/cjs/vega-time-picker_2.cjs.entry.js +20 -11
  100. package/dist/cjs/vega-toggle-switch.cjs.entry.js +14 -5
  101. package/dist/cjs/vega-tooltip_2.cjs.entry.js +7 -7
  102. package/dist/cjs/vega.cjs.js +13 -13
  103. package/dist/cjs/{wait-for-component-did-render-02ca4bee.js → wait-for-component-did-render-44d006ee.js} +1 -1
  104. package/dist/collection/components/vega-accordion/vega-accordion.js +2 -0
  105. package/dist/collection/components/vega-app-footer/vega-app-footer.js +2 -0
  106. package/dist/collection/components/vega-app-header-button/vega-app-header-button.js +2 -0
  107. package/dist/collection/components/vega-backdrop/slimmers/controller/vega-backdrop-visible-controller.js +63 -8
  108. package/dist/collection/components/vega-banner/vega-banner.js +2 -0
  109. package/dist/collection/components/vega-box/vega-box.js +2 -0
  110. package/dist/collection/components/vega-brand-logo/vega-brand-logo.js +2 -0
  111. package/dist/collection/components/vega-breadcrumb/vega-breadcrumb.js +2 -0
  112. package/dist/collection/components/vega-button/vega-button.js +2 -0
  113. package/dist/collection/components/vega-button-circle/vega-button-circle.js +2 -0
  114. package/dist/collection/components/vega-button-group/vega-button-group.js +2 -0
  115. package/dist/collection/components/vega-button-link/vega-button-link.js +2 -0
  116. package/dist/collection/components/vega-calendar/vega-calendar.js +2 -0
  117. package/dist/collection/components/vega-card/vega-card.js +2 -0
  118. package/dist/collection/components/vega-carousel/vega-carousel.js +2 -0
  119. package/dist/collection/components/vega-checkbox/vega-checkbox-group/vega-checkbox-group.js +33 -1
  120. package/dist/collection/components/vega-checkbox/vega-checkbox.js +36 -2
  121. package/dist/collection/components/vega-chip/vega-chip.js +2 -0
  122. package/dist/collection/components/vega-code-block/slimmers/controllers/code-highlight-parser.abstract.js +4 -17
  123. package/dist/collection/components/vega-color-picker/vega-color-picker.js +35 -1
  124. package/dist/collection/components/vega-color-swatch/vega-color-swatch-picker/vega-color-swatch-picker.js +33 -1
  125. package/dist/collection/components/vega-combo-box/vega-combo-box.js +35 -1
  126. package/dist/collection/components/vega-counter-badge/vega-counter-badge.js +2 -0
  127. package/dist/collection/components/vega-date-picker/vega-date-picker.js +35 -1
  128. package/dist/collection/components/vega-divider/vega-divider.js +2 -0
  129. package/dist/collection/components/vega-dropdown/constants.js +10 -0
  130. package/dist/collection/components/vega-dropdown/vega-dropdown.js +45 -14
  131. package/dist/collection/components/vega-field-error/vega-field-error.js +2 -0
  132. package/dist/collection/components/vega-file-uploader/slimmers/renderers/vega-file-uploader-file-list-renderer.js +22 -2
  133. package/dist/collection/components/vega-file-uploader/vega-file-uploader.js +96 -7
  134. package/dist/collection/components/vega-flag-icon/vega-flag-icon.js +2 -0
  135. package/dist/collection/components/vega-flex/vega-flex.js +2 -0
  136. package/dist/collection/components/vega-font/vega-font.js +2 -0
  137. package/dist/collection/components/vega-form/slimmers/controllers/vega-form-field-controller.js +9 -9
  138. package/dist/collection/components/vega-form/slimmers/controllers/vega-form-field-validation-state-controller.js +5 -5
  139. package/dist/collection/components/vega-form/slimmers/renderers/native-form-renderer.js +4 -1
  140. package/dist/collection/components/vega-form/vega-form.js +34 -0
  141. package/dist/collection/components/vega-grid/vega-grid.js +2 -0
  142. package/dist/collection/components/vega-icon/vega-icon.js +2 -0
  143. package/dist/collection/components/vega-image-uploader/vega-image-uploader.js +35 -1
  144. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-suggestions-renderer.js +7 -2
  145. package/dist/collection/components/vega-input/vega-input.js +7 -4
  146. package/dist/collection/components/vega-input-credit-card/vega-input-credit-card.js +36 -2
  147. package/dist/collection/components/vega-input-numeric/vega-input-numeric.js +35 -1
  148. package/dist/collection/components/vega-input-passcode/vega-input-passcode.js +35 -1
  149. package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.js +35 -1
  150. package/dist/collection/components/vega-input-range/vega-input-range.js +35 -1
  151. package/dist/collection/components/vega-input-select/vega-input-select.js +35 -1
  152. package/dist/collection/components/vega-item-toggle/vega-item-toggle.js +2 -0
  153. package/dist/collection/components/vega-loading-indicator/vega-loading-indicator.js +2 -0
  154. package/dist/collection/components/vega-modal/vega-modal.js +2 -0
  155. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-manager.js +17 -1
  156. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-open-state-controller.js +48 -5
  157. package/dist/collection/components/vega-page-notification/vega-page-notification.js +2 -0
  158. package/dist/collection/components/vega-pagination/vega-pagination.js +2 -0
  159. package/dist/collection/components/vega-popover/vega-popover.js +2 -0
  160. package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.js +2 -0
  161. package/dist/collection/components/vega-radio/vega-radio-group/vega-radio-group.js +18 -3
  162. package/dist/collection/components/vega-radio/vega-radio.js +2 -0
  163. package/dist/collection/components/vega-rich-text-editor/constants/constant.js +3 -0
  164. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +3 -0
  165. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +2 -1
  166. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.js +26 -3
  167. package/dist/collection/components/vega-rich-text-editor/helpers/utils.js +10 -6
  168. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/base-handler.js +1 -1
  169. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/keyboard-link-handler.js +297 -0
  170. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +13 -0
  171. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +8 -2
  172. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +35 -1
  173. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.js +398 -0
  174. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-state-manager.js +111 -0
  175. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-type-config-controller.js +173 -0
  176. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/link-type-handler.js +49 -0
  177. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.js +114 -106
  178. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/utils/link-url-normalizer.js +80 -0
  179. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/vega-rich-text-link-editor.js +44 -1
  180. package/dist/collection/components/vega-section-title/vega-section-title.js +2 -0
  181. package/dist/collection/components/vega-segment-control/vega-segment-control.js +2 -0
  182. package/dist/collection/components/vega-selection-chip/vega-selection-chip-group/vega-selection-chip-group.js +33 -1
  183. package/dist/collection/components/vega-selection-chip/vega-selection-chip.js +2 -0
  184. package/dist/collection/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.js +33 -1
  185. package/dist/collection/components/vega-selection-tile/vega-selection-tile.js +2 -0
  186. package/dist/collection/components/vega-sidenav/vega-sidenav.js +2 -0
  187. package/dist/collection/components/vega-signature-capture/vega-signature-capture.js +35 -1
  188. package/dist/collection/components/vega-skeleton/vega-skeleton.js +2 -0
  189. package/dist/collection/components/vega-stepper/vega-stepper.js +36 -2
  190. package/dist/collection/components/vega-tab-group/vega-tab-group.js +2 -0
  191. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-column-structure-model-controller.js +17 -7
  192. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-head-template-structure-controller.js +440 -0
  193. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-render-input-controller.js +11 -3
  194. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.js +207 -17
  195. package/dist/collection/components/vega-table/vega-table-foot/vega-table-foot.css +1 -0
  196. package/dist/collection/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.js +4 -1
  197. package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.css +15 -0
  198. package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.js +1 -1
  199. package/dist/collection/components/vega-table/vega-table-head-cell/slimmers/controllers/vega-table-head-cell-template-structure-controller.js +28 -0
  200. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.css +1 -0
  201. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.js +68 -4
  202. package/dist/collection/components/vega-table/vega-table.js +15 -0
  203. package/dist/collection/components/vega-textarea/vega-textarea.js +36 -2
  204. package/dist/collection/components/vega-time-picker/vega-time-picker.js +35 -1
  205. package/dist/collection/components/vega-toggle-switch/vega-toggle-switch.js +36 -2
  206. package/dist/collection/components/vega-tooltip/vega-tooltip.js +2 -0
  207. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
  208. package/dist/collection/helpers/slimmers/{field-error-controller-silmmer.js → form/field-error-controller-silmmer.js} +3 -3
  209. package/dist/collection/helpers/slimmers/{field-error-ui-controller-slimmer.js → form/field-error-ui-controller-slimmer.js} +9 -9
  210. package/dist/collection/helpers/slimmers/{form-field-controller-slimmer.js → form/form-field-controller-slimmer.js} +9 -18
  211. package/dist/collection/helpers/slimmers/{form-field-message-translator.js → form/form-field-message-translator.js} +1 -1
  212. package/dist/collection/helpers/slimmers/{form-field-state-controller-slimmer.js → form/form-field-state-controller-slimmer.js} +1 -1
  213. package/dist/collection/helpers/slimmers/{form-field-valid-invoke-slimmer.js → form/form-field-valid-invoke-slimmer.js} +2 -2
  214. package/dist/collection/helpers/slimmers/form/utils/form-field-key.js +20 -0
  215. package/dist/collection/helpers/translation/locales/en.js +7 -0
  216. package/dist/collection/helpers/validator/form-field-controller.js +5 -4
  217. package/dist/esm/{app-globals-d7b651c1.js → app-globals-95c7110a.js} +10 -10
  218. package/dist/esm/{aria-dialog-focusable-trap-slimmer-9eae86c6.js → aria-dialog-focusable-trap-slimmer-f069f54d.js} +1 -1
  219. package/dist/esm/{code-block-0a88b481.js → code-block-9c513169.js} +20 -10
  220. package/dist/esm/{component-value-history-controller-slimmer.abstract-6846edfa.js → component-value-history-controller-slimmer.abstract-9cef2a2a.js} +4 -4
  221. package/dist/esm/constants-4725f97f.js +13 -0
  222. package/dist/esm/{content-state-79ca99e5.js → content-state-25c81c08.js} +3 -3
  223. package/dist/esm/{date-required-rule-b88e1650.js → date-required-rule-85334d0c.js} +1 -1
  224. package/dist/esm/{design-token-76bd217c.js → design-token-10ff79b5.js} +3 -3
  225. package/dist/esm/{element-appender-slimmer-73ad10ae.js → element-appender-slimmer-8a06ecdd.js} +3 -3
  226. package/dist/esm/{form-field-controller-slimmer-395c23e3.js → form-field-controller-slimmer-68fc5380.js} +7 -16
  227. package/dist/esm/form-field-key-44ab39d0.js +22 -0
  228. package/dist/esm/{image-annotation-action-bb299ef1.js → image-annotation-action-d7f2aecc.js} +2 -2
  229. package/dist/esm/{image-extension-48a96f98.js → image-extension-fbd1ed6e.js} +2 -2
  230. package/dist/esm/index.js +18 -18
  231. package/dist/esm/{inject-keyboard-manager-86126b5b.js → inject-keyboard-manager-ea1aad5b.js} +1 -1
  232. package/dist/esm/{internal-calendar-period-factory-3a07dba0.js → internal-calendar-period-factory-7b294fb6.js} +1 -1
  233. package/dist/esm/{internal-translation-controller-16709132.js → internal-translation-controller-fac22598.js} +7 -0
  234. package/dist/esm/{keyboard-manager-a0c3e1cf.js → keyboard-manager-50da85d7.js} +1 -1
  235. package/dist/esm/{keyboard-manager-slimmer-f3f66c15.js → keyboard-manager-slimmer-1f7c8bfb.js} +1 -1
  236. package/dist/esm/{link-extension-09534514.js → link-extension-e8ee103e.js} +3 -3
  237. package/dist/esm/loader.js +13 -13
  238. package/dist/esm/{month-view-generator-fd0e1856.js → month-view-generator-a1a9a4ec.js} +1 -1
  239. package/dist/esm/{public-rules-5eb03ef0.js → public-rules-49de79c7.js} +8 -8
  240. package/dist/esm/{range-d4deb7df.js → range-b678c693.js} +1 -1
  241. package/dist/esm/{responsive-format-facade-ced96b0b.js → responsive-format-facade-f19b601c.js} +1 -1
  242. package/dist/esm/{rich-text-editor-required-rule-5bbbce23.js → rich-text-editor-required-rule-578e0958.js} +1 -1
  243. package/dist/esm/{split-cell-operation-7f3058ad.js → split-cell-operation-1c8e7585.js} +3 -3
  244. package/dist/esm/{state-border-formatter-b680e922.js → state-border-formatter-bfda33aa.js} +1 -1
  245. package/dist/esm/{string-format-strategy.abstract-23faab71.js → string-format-strategy.abstract-1f4ff1b3.js} +1 -1
  246. package/dist/esm/{string-input-formatter-slimmer-4b4866a6.js → string-input-formatter-slimmer-0006a107.js} +3 -3
  247. package/dist/esm/{string-mask-strategy-66586cd8.js → string-mask-strategy-bbbcdbef.js} +2 -2
  248. package/dist/esm/{style-formatter-f4e16af5.js → style-formatter-e9adc8f4.js} +2 -2
  249. package/dist/esm/{sub-state-notify-slimmer-0f72ce74.js → sub-state-notify-slimmer-23b7d0e8.js} +1 -1
  250. package/dist/esm/{sub-state-observer-slimmer-64532d94.js → sub-state-observer-slimmer-722f6b92.js} +1 -1
  251. package/dist/esm/{time-required-rule-6e80a9ab.js → time-required-rule-1ce2d0a0.js} +1 -1
  252. package/dist/esm/{token-extension-40c32bcc.js → token-extension-f2d009e3.js} +9 -9
  253. package/dist/esm/{translation-slimmer-21748a0e.js → translation-slimmer-ee0f0e76.js} +1 -1
  254. package/dist/esm/{type-guard-ec5e8628.js → type-guard-f2624334.js} +1 -1
  255. package/dist/esm/{valid-credit-card-number-rule-ca5a47d6.js → valid-credit-card-number-rule-60212b1d.js} +1 -1
  256. package/dist/esm/vega-accordion.entry.js +6 -6
  257. package/dist/esm/vega-app-header-button.entry.js +5 -5
  258. package/dist/esm/vega-backdrop.entry.js +63 -8
  259. package/dist/esm/vega-box.entry.js +6 -6
  260. package/dist/esm/vega-button-circle.entry.js +6 -6
  261. package/dist/esm/vega-button-group_2.entry.js +3 -3
  262. package/dist/esm/vega-button.entry.js +4 -4
  263. package/dist/esm/vega-calendar_5.entry.js +10 -10
  264. package/dist/esm/vega-card.entry.js +5 -5
  265. package/dist/esm/vega-carousel.entry.js +3 -3
  266. package/dist/esm/vega-checkbox_2.entry.js +22 -5
  267. package/dist/esm/vega-chip.entry.js +5 -5
  268. package/dist/esm/vega-code-block.entry.js +13 -26
  269. package/dist/esm/vega-color-picker.entry.js +13 -4
  270. package/dist/esm/vega-color-swatch-picker.entry.js +14 -5
  271. package/dist/esm/vega-color-swatch.entry.js +2 -2
  272. package/dist/esm/vega-combo-box.entry.js +19 -10
  273. package/dist/esm/vega-date-picker_2.entry.js +26 -17
  274. package/dist/esm/vega-dialog_2.entry.js +5 -5
  275. package/dist/esm/vega-divider.entry.js +5 -5
  276. package/dist/esm/vega-dropdown_5.entry.js +26 -20
  277. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  278. package/dist/esm/vega-field-label.entry.js +2 -2
  279. package/dist/esm/vega-file-uploader.entry.js +49 -7
  280. package/dist/esm/vega-flag-icon.entry.js +5 -5
  281. package/dist/esm/vega-flex.entry.js +6 -6
  282. package/dist/esm/vega-font.entry.js +5 -5
  283. package/dist/esm/vega-form.entry.js +31 -28
  284. package/dist/esm/vega-grid.entry.js +5 -5
  285. package/dist/esm/vega-icon.entry.js +5 -5
  286. package/dist/esm/vega-image-uploader.entry.js +16 -7
  287. package/dist/esm/vega-input-credit-card.entry.js +18 -9
  288. package/dist/esm/vega-input-numeric.entry.js +17 -8
  289. package/dist/esm/vega-input-passcode.entry.js +16 -7
  290. package/dist/esm/vega-input-phone-number.entry.js +15 -6
  291. package/dist/esm/vega-input-range.entry.js +14 -5
  292. package/dist/esm/vega-input-select.entry.js +16 -7
  293. package/dist/esm/vega-input.entry.js +19 -12
  294. package/dist/esm/{vega-internal-event-id-827eb1ce.js → vega-internal-event-id-86fce049.js} +2 -1
  295. package/dist/esm/vega-left-nav_5.entry.js +74 -14
  296. package/dist/esm/vega-loader-wrapper_2.entry.js +3 -3
  297. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +1 -1
  298. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +3 -3
  299. package/dist/esm/vega-pagination.entry.js +5 -5
  300. package/dist/esm/vega-popover_2.entry.js +10 -10
  301. package/dist/esm/vega-progress-tracker_2.entry.js +6 -6
  302. package/dist/esm/vega-radio_2.entry.js +19 -7
  303. package/dist/esm/vega-rich-text-content.entry.js +35 -12
  304. package/dist/esm/vega-rich-text-editor_4.entry.js +1585 -432
  305. package/dist/esm/vega-rich-text-find-replace-panel.entry.js +1 -1
  306. package/dist/esm/vega-rich-text-special-characters-panel.entry.js +5 -5
  307. package/dist/esm/vega-rich-text-table-properties_3.entry.js +9 -9
  308. package/dist/esm/vega-selection-chip_2.entry.js +16 -7
  309. package/dist/esm/vega-selection-tile_2.entry.js +14 -5
  310. package/dist/esm/vega-sidenav_3.entry.js +6 -6
  311. package/dist/esm/vega-signature-capture.entry.js +18 -9
  312. package/dist/esm/vega-stepper.entry.js +14 -5
  313. package/dist/esm/vega-table_11.entry.js +1145 -451
  314. package/dist/esm/vega-textarea.entry.js +14 -5
  315. package/dist/esm/vega-time-picker_2.entry.js +20 -11
  316. package/dist/esm/vega-toggle-switch.entry.js +14 -5
  317. package/dist/esm/vega-tooltip_2.entry.js +7 -7
  318. package/dist/esm/vega.js +13 -13
  319. package/dist/esm/{wait-for-component-did-render-0c237cb8.js → wait-for-component-did-render-ff7062aa.js} +1 -1
  320. package/dist/sri/vega-sri-manifest.json +346 -338
  321. package/dist/types/components/vega-accordion/vega-accordion.d.ts +2 -0
  322. package/dist/types/components/vega-app-footer/vega-app-footer.d.ts +2 -0
  323. package/dist/types/components/vega-app-header-button/vega-app-header-button.d.ts +2 -0
  324. package/dist/types/components/vega-backdrop/slimmers/controller/vega-backdrop-visible-controller.d.ts +21 -0
  325. package/dist/types/components/vega-banner/vega-banner.d.ts +2 -0
  326. package/dist/types/components/vega-box/vega-box.d.ts +2 -0
  327. package/dist/types/components/vega-brand-logo/vega-brand-logo.d.ts +2 -0
  328. package/dist/types/components/vega-breadcrumb/vega-breadcrumb.d.ts +2 -0
  329. package/dist/types/components/vega-button/vega-button.d.ts +2 -0
  330. package/dist/types/components/vega-button-circle/vega-button-circle.d.ts +2 -0
  331. package/dist/types/components/vega-button-group/vega-button-group.d.ts +2 -0
  332. package/dist/types/components/vega-button-link/vega-button-link.d.ts +2 -0
  333. package/dist/types/components/vega-calendar/vega-calendar.d.ts +2 -0
  334. package/dist/types/components/vega-card/vega-card.d.ts +2 -0
  335. package/dist/types/components/vega-carousel/vega-carousel.d.ts +2 -0
  336. package/dist/types/components/vega-checkbox/vega-checkbox-group/vega-checkbox-group.d.ts +9 -1
  337. package/dist/types/components/vega-checkbox/vega-checkbox.d.ts +11 -1
  338. package/dist/types/components/vega-chip/vega-chip.d.ts +2 -0
  339. package/dist/types/components/vega-code-block/slimmers/controllers/code-highlight-parser.abstract.d.ts +2 -1
  340. package/dist/types/components/vega-color-picker/vega-color-picker.d.ts +11 -1
  341. package/dist/types/components/vega-color-swatch/vega-color-swatch-picker/vega-color-swatch-picker.d.ts +9 -1
  342. package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +11 -1
  343. package/dist/types/components/vega-counter-badge/vega-counter-badge.d.ts +2 -0
  344. package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +11 -1
  345. package/dist/types/components/vega-divider/vega-divider.d.ts +2 -0
  346. package/dist/types/components/vega-dropdown/constants.d.ts +12 -0
  347. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +9 -0
  348. package/dist/types/components/vega-field-error/vega-field-error.d.ts +2 -0
  349. package/dist/types/components/vega-file-uploader/slimmers/renderers/vega-file-uploader-file-list-renderer.d.ts +10 -0
  350. package/dist/types/components/vega-file-uploader/types.d.ts +4 -0
  351. package/dist/types/components/vega-file-uploader/vega-file-uploader.d.ts +24 -1
  352. package/dist/types/components/vega-flag-icon/vega-flag-icon.d.ts +2 -0
  353. package/dist/types/components/vega-flex/vega-flex.d.ts +2 -0
  354. package/dist/types/components/vega-font/vega-font.d.ts +2 -0
  355. package/dist/types/components/vega-form/slimmers/controllers/vega-form-field-controller.d.ts +3 -2
  356. package/dist/types/components/vega-form/slimmers/renderers/native-form-renderer.d.ts +1 -0
  357. package/dist/types/components/vega-form/vega-form.d.ts +10 -0
  358. package/dist/types/components/vega-grid/vega-grid.d.ts +2 -0
  359. package/dist/types/components/vega-icon/vega-icon.d.ts +2 -0
  360. package/dist/types/components/vega-image-uploader/vega-image-uploader.d.ts +11 -1
  361. package/dist/types/components/vega-input/types.d.ts +11 -1
  362. package/dist/types/components/vega-input/vega-input.d.ts +5 -2
  363. package/dist/types/components/vega-input-credit-card/vega-input-credit-card.d.ts +11 -1
  364. package/dist/types/components/vega-input-numeric/vega-input-numeric.d.ts +11 -1
  365. package/dist/types/components/vega-input-passcode/vega-input-passcode.d.ts +11 -1
  366. package/dist/types/components/vega-input-phone-number/vega-input-phone-number.d.ts +11 -1
  367. package/dist/types/components/vega-input-range/vega-input-range.d.ts +11 -1
  368. package/dist/types/components/vega-input-select/vega-input-select.d.ts +11 -1
  369. package/dist/types/components/vega-item-toggle/vega-item-toggle.d.ts +2 -0
  370. package/dist/types/components/vega-loading-indicator/vega-loading-indicator.d.ts +2 -0
  371. package/dist/types/components/vega-modal/vega-modal.d.ts +2 -0
  372. package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-manager.d.ts +7 -0
  373. package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-open-state-controller.d.ts +17 -0
  374. package/dist/types/components/vega-page-notification/vega-page-notification.d.ts +2 -0
  375. package/dist/types/components/vega-pagination/vega-pagination.d.ts +2 -0
  376. package/dist/types/components/vega-popover/vega-popover.d.ts +2 -0
  377. package/dist/types/components/vega-progress-tracker/vega-progress-tracker.d.ts +2 -0
  378. package/dist/types/components/vega-radio/vega-radio-group/vega-radio-group.d.ts +5 -1
  379. package/dist/types/components/vega-radio/vega-radio.d.ts +2 -0
  380. package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +3 -0
  381. package/dist/types/components/vega-rich-text-editor/extensions/link/type.d.ts +34 -0
  382. package/dist/types/components/vega-rich-text-editor/helpers/utils.d.ts +7 -0
  383. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/base-handler.d.ts +4 -4
  384. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/keyboard-link-handler.d.ts +111 -0
  385. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.d.ts +7 -0
  386. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +11 -1
  387. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.d.ts +149 -0
  388. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-state-manager.d.ts +84 -0
  389. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-type-config-controller.d.ts +82 -0
  390. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/link-type-handler.d.ts +33 -0
  391. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.d.ts +24 -17
  392. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/utils/link-url-normalizer.d.ts +37 -0
  393. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/types.d.ts +4 -0
  394. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/vega-rich-text-link-editor.d.ts +12 -0
  395. package/dist/types/components/vega-section-title/vega-section-title.d.ts +2 -0
  396. package/dist/types/components/vega-segment-control/vega-segment-control.d.ts +2 -0
  397. package/dist/types/components/vega-selection-chip/vega-selection-chip-group/vega-selection-chip-group.d.ts +9 -1
  398. package/dist/types/components/vega-selection-chip/vega-selection-chip.d.ts +2 -0
  399. package/dist/types/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.d.ts +9 -1
  400. package/dist/types/components/vega-selection-tile/vega-selection-tile.d.ts +2 -0
  401. package/dist/types/components/vega-sidenav/vega-sidenav.d.ts +2 -0
  402. package/dist/types/components/vega-signature-capture/vega-signature-capture.d.ts +11 -1
  403. package/dist/types/components/vega-skeleton/vega-skeleton.d.ts +2 -0
  404. package/dist/types/components/vega-stepper/vega-stepper.d.ts +11 -1
  405. package/dist/types/components/vega-tab-group/vega-tab-group.d.ts +2 -0
  406. package/dist/types/components/vega-table/slimmers/controllers/vega-table-column-structure-model-controller.d.ts +8 -4
  407. package/dist/types/components/vega-table/slimmers/controllers/vega-table-head-template-structure-controller.d.ts +168 -0
  408. package/dist/types/components/vega-table/slimmers/controllers/vega-table-render-input-controller.d.ts +8 -1
  409. package/dist/types/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.d.ts +76 -0
  410. package/dist/types/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.d.ts +1 -0
  411. package/dist/types/components/vega-table/vega-table-head-cell/slimmers/controllers/vega-table-head-cell-template-structure-controller.d.ts +12 -0
  412. package/dist/types/components/vega-table/vega-table-head-cell/vega-table-head-cell.d.ts +19 -0
  413. package/dist/types/components/vega-table/vega-table.d.ts +6 -0
  414. package/dist/types/components/vega-textarea/vega-textarea.d.ts +11 -1
  415. package/dist/types/components/vega-time-picker/vega-time-picker.d.ts +11 -1
  416. package/dist/types/components/vega-toggle-switch/vega-toggle-switch.d.ts +11 -1
  417. package/dist/types/components/vega-tooltip/vega-tooltip.d.ts +2 -0
  418. package/dist/types/components.d.ts +341 -4
  419. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
  420. package/dist/types/helpers/slimmers/{field-error-controller-silmmer.d.ts → form/field-error-controller-silmmer.d.ts} +1 -1
  421. package/dist/types/helpers/slimmers/{field-error-ui-controller-slimmer.d.ts → form/field-error-ui-controller-slimmer.d.ts} +2 -2
  422. package/dist/types/helpers/slimmers/{form-field-controller-slimmer.d.ts → form/form-field-controller-slimmer.d.ts} +6 -14
  423. package/dist/types/helpers/slimmers/{form-field-message-translator.d.ts → form/form-field-message-translator.d.ts} +2 -2
  424. package/dist/types/helpers/slimmers/{form-field-state-controller-slimmer.d.ts → form/form-field-state-controller-slimmer.d.ts} +2 -2
  425. package/dist/types/helpers/slimmers/{form-field-valid-invoke-slimmer.d.ts → form/form-field-valid-invoke-slimmer.d.ts} +3 -3
  426. package/dist/types/helpers/slimmers/form/utils/form-field-key.d.ts +17 -0
  427. package/dist/types/helpers/translation/interface.d.ts +7 -0
  428. package/dist/types/helpers/validator/form-field-controller.d.ts +3 -3
  429. package/dist/vega/index.esm.js +1 -1
  430. package/dist/vega/{p-b3a2ce06.entry.js → p-02d3ce79.entry.js} +1 -1
  431. package/dist/vega/p-035e2f05.entry.js +1 -0
  432. package/dist/vega/p-03eeadc1.entry.js +1 -0
  433. package/dist/vega/{p-5924adae.entry.js → p-085d1647.entry.js} +1 -1
  434. package/dist/vega/p-0cbf09f7.entry.js +1 -0
  435. package/dist/vega/{p-74f86ff9.entry.js → p-0cf3b5c1.entry.js} +1 -1
  436. package/dist/vega/{p-55e0014a.js → p-0eb29065.js} +1 -1
  437. package/dist/vega/{p-6a51d720.js → p-10d30c03.js} +1 -1
  438. package/dist/vega/{p-ba662fe5.js → p-12e8a1b2.js} +1 -1
  439. package/dist/vega/p-17c69503.entry.js +1 -0
  440. package/dist/vega/p-1abd3c17.js +1 -0
  441. package/dist/vega/p-1aedbfd2.entry.js +1 -0
  442. package/dist/vega/p-1cff027b.entry.js +1 -0
  443. package/dist/vega/{p-3dee1e55.js → p-1e0a8fd3.js} +1 -1
  444. package/dist/vega/{p-919cddc3.js → p-1ea9ad9a.js} +1 -1
  445. package/dist/vega/{p-22cc174e.entry.js → p-2a245138.entry.js} +1 -1
  446. package/dist/vega/{p-892edf88.entry.js → p-2acf9b42.entry.js} +1 -1
  447. package/dist/vega/{p-b1eb9ff0.js → p-2c2e8615.js} +1 -1
  448. package/dist/vega/p-2d158cbd.js +1 -0
  449. package/dist/vega/{p-8354cff0.entry.js → p-2f07d719.entry.js} +1 -1
  450. package/dist/vega/p-36d9e782.entry.js +1 -0
  451. package/dist/vega/{p-9d3f69cb.js → p-373541fa.js} +1 -1
  452. package/dist/vega/p-3737b9e2.entry.js +1 -0
  453. package/dist/vega/{p-14baa886.js → p-39c5054b.js} +1 -1
  454. package/dist/vega/{p-312d8205.js → p-3d0b4074.js} +1 -1
  455. package/dist/vega/{p-8db904dc.js → p-456f678b.js} +1 -1
  456. package/dist/vega/{p-6c9c2f8c.entry.js → p-461100b8.entry.js} +1 -1
  457. package/dist/vega/p-4a2fe3a4.js +1 -0
  458. package/dist/vega/p-4bfe3258.entry.js +1 -0
  459. package/dist/vega/p-4cbfc01e.entry.js +1 -0
  460. package/dist/vega/p-4e065ef7.entry.js +1 -0
  461. package/dist/vega/{p-ec5dee32.js → p-4fd0cf01.js} +1 -1
  462. package/dist/vega/p-52c69f9e.entry.js +1 -0
  463. package/dist/vega/p-544ce391.entry.js +1 -0
  464. package/dist/vega/{p-6fcec7c7.entry.js → p-56417ec5.entry.js} +1 -1
  465. package/dist/vega/{p-c4564904.js → p-56493601.js} +1 -1
  466. package/dist/vega/p-56598858.entry.js +1 -0
  467. package/dist/vega/p-56db3323.js +1 -0
  468. package/dist/vega/p-571ec00b.js +1 -0
  469. package/dist/vega/{p-2df5d59b.entry.js → p-585e4f1c.entry.js} +1 -1
  470. package/dist/vega/p-5b1f5e4a.entry.js +1 -0
  471. package/dist/vega/p-5f377954.js +1 -1
  472. package/dist/vega/{p-a0a58295.entry.js → p-5f96e741.entry.js} +1 -1
  473. package/dist/vega/p-6234852e.entry.js +1 -0
  474. package/dist/vega/p-67eaf77e.js +1 -0
  475. package/dist/vega/{p-75e33859.js → p-6c95a6a3.js} +1 -1
  476. package/dist/vega/p-6d4518d7.entry.js +1 -0
  477. package/dist/vega/p-6db1b9ac.js +1 -0
  478. package/dist/vega/p-6f537797.entry.js +1 -0
  479. package/dist/vega/p-6fd4f2c6.js +1 -0
  480. package/dist/vega/p-71909102.js +1 -0
  481. package/dist/vega/{p-e1b57e8f.entry.js → p-72ab5cd5.entry.js} +1 -1
  482. package/dist/vega/p-72fd17a1.entry.js +1 -0
  483. package/dist/vega/{p-8720816e.js → p-781b7a54.js} +1 -1
  484. package/dist/vega/p-7dcd2850.entry.js +1 -0
  485. package/dist/vega/{p-9f11b579.js → p-7e8fdac4.js} +1 -1
  486. package/dist/vega/{p-84b7a775.js → p-810c9c29.js} +1 -1
  487. package/dist/vega/{p-a2bd621e.js → p-83ad8988.js} +1 -1
  488. package/dist/vega/{p-0d18368b.js → p-874e5624.js} +1 -1
  489. package/dist/vega/{p-9f201152.entry.js → p-8c56d74d.entry.js} +1 -1
  490. package/dist/vega/{p-3c23ec90.js → p-8d2501b2.js} +1 -1
  491. package/dist/vega/{p-9bdc6e11.entry.js → p-92528dc9.entry.js} +1 -1
  492. package/dist/vega/{p-3d6f761a.entry.js → p-94975537.entry.js} +1 -1
  493. package/dist/vega/p-95c18f79.entry.js +1 -0
  494. package/dist/vega/p-9834d5d4.entry.js +1 -0
  495. package/dist/vega/{p-3345d903.js → p-a090b2be.js} +1 -1
  496. package/dist/vega/{p-e48a870f.entry.js → p-a484e32d.entry.js} +1 -1
  497. package/dist/vega/{p-b9e72de2.entry.js → p-a8174ad8.entry.js} +1 -1
  498. package/dist/vega/{p-3c309a38.js → p-a81ad3bd.js} +1 -1
  499. package/dist/vega/{p-49e1cf4d.entry.js → p-a91927eb.entry.js} +1 -1
  500. package/dist/vega/{p-e4266b45.entry.js → p-ac94ba1b.entry.js} +1 -1
  501. package/dist/vega/{p-b775e51f.js → p-ae2abdfa.js} +1 -1
  502. package/dist/vega/{p-a890d60b.entry.js → p-b00ec194.entry.js} +1 -1
  503. package/dist/vega/{p-f78944d7.entry.js → p-b3733762.entry.js} +1 -1
  504. package/dist/vega/{p-b4e7c967.js → p-b622c455.js} +1 -1
  505. package/dist/vega/{p-1232b553.entry.js → p-b98ead05.entry.js} +1 -1
  506. package/dist/vega/{p-e5ff77f7.entry.js → p-c2277448.entry.js} +1 -1
  507. package/dist/vega/{p-29e3eb12.js → p-c41a2d4a.js} +1 -1
  508. package/dist/vega/p-c5fb8a69.entry.js +1 -0
  509. package/dist/vega/{p-96da7d30.entry.js → p-c6d775b8.entry.js} +1 -1
  510. package/dist/vega/p-c70748f7.entry.js +1 -0
  511. package/dist/vega/p-c98c2f5f.entry.js +1 -0
  512. package/dist/vega/{p-bb60e381.entry.js → p-ca3c1317.entry.js} +1 -1
  513. package/dist/vega/p-cb81126a.entry.js +1 -0
  514. package/dist/vega/{p-b4c26035.entry.js → p-ccbe3f1b.entry.js} +1 -1
  515. package/dist/vega/{p-6cde45fc.js → p-cd69aeae.js} +1 -1
  516. package/dist/vega/{p-775ecfad.entry.js → p-cf4b3d40.entry.js} +1 -1
  517. package/dist/vega/{p-e1737c8e.entry.js → p-cfe268a8.entry.js} +1 -1
  518. package/dist/vega/p-d470fce2.entry.js +1 -0
  519. package/dist/vega/{p-f1974321.js → p-d609c3fd.js} +1 -1
  520. package/dist/vega/{p-1dfbc542.entry.js → p-da867019.entry.js} +1 -1
  521. package/dist/vega/{p-3f183b52.js → p-daba4af1.js} +1 -1
  522. package/dist/vega/{p-61ce8029.js → p-dbb4b1d1.js} +1 -1
  523. package/dist/vega/p-dcd3e3a7.js +1 -0
  524. package/dist/vega/p-de8f0d98.js +1 -0
  525. package/dist/vega/p-e18c0656.entry.js +1 -0
  526. package/dist/vega/{p-595998d9.entry.js → p-f29ea345.entry.js} +1 -1
  527. package/dist/vega/p-f62c5a20.entry.js +1 -0
  528. package/dist/vega/p-f6c0e9e7.entry.js +1 -0
  529. package/dist/vega/{p-56d19601.entry.js → p-fb9475ab.entry.js} +1 -1
  530. package/dist/vega/vega.esm.js +1 -1
  531. package/package.json +1 -1
  532. package/dist/vega/p-0512308f.entry.js +0 -1
  533. package/dist/vega/p-1d8312d3.entry.js +0 -1
  534. package/dist/vega/p-2d77ae73.entry.js +0 -1
  535. package/dist/vega/p-2d8d4d5b.entry.js +0 -1
  536. package/dist/vega/p-320091b7.js +0 -1
  537. package/dist/vega/p-36949349.js +0 -1
  538. package/dist/vega/p-3a68b729.js +0 -1
  539. package/dist/vega/p-4151f53a.entry.js +0 -1
  540. package/dist/vega/p-4ff48b84.js +0 -1
  541. package/dist/vega/p-5e4517eb.entry.js +0 -1
  542. package/dist/vega/p-6680ba17.entry.js +0 -1
  543. package/dist/vega/p-6c7b6d45.js +0 -1
  544. package/dist/vega/p-7950f3e2.entry.js +0 -1
  545. package/dist/vega/p-80b7945a.entry.js +0 -1
  546. package/dist/vega/p-841b3281.entry.js +0 -1
  547. package/dist/vega/p-87e5cb56.entry.js +0 -1
  548. package/dist/vega/p-88a6c89a.js +0 -1
  549. package/dist/vega/p-91303402.entry.js +0 -1
  550. package/dist/vega/p-97215133.js +0 -1
  551. package/dist/vega/p-9d96d83f.entry.js +0 -1
  552. package/dist/vega/p-a05a2f1e.entry.js +0 -1
  553. package/dist/vega/p-a775825e.entry.js +0 -1
  554. package/dist/vega/p-acaff62d.entry.js +0 -1
  555. package/dist/vega/p-ae146458.entry.js +0 -1
  556. package/dist/vega/p-b63319e9.entry.js +0 -1
  557. package/dist/vega/p-b660f38c.entry.js +0 -1
  558. package/dist/vega/p-b8c13ac9.entry.js +0 -1
  559. package/dist/vega/p-b8ffa42f.entry.js +0 -1
  560. package/dist/vega/p-bbad318e.entry.js +0 -1
  561. package/dist/vega/p-c0e42c03.entry.js +0 -1
  562. package/dist/vega/p-c41f5684.entry.js +0 -1
  563. package/dist/vega/p-c54b5a8f.entry.js +0 -1
  564. package/dist/vega/p-cd1e976c.entry.js +0 -1
  565. package/dist/vega/p-d9158512.js +0 -1
  566. package/dist/vega/p-e62d41ee.js +0 -1
  567. package/dist/vega/p-ebe32b25.entry.js +0 -1
  568. package/dist/vega/p-ec162599.entry.js +0 -1
  569. package/dist/vega/p-f29d9707.entry.js +0 -1
  570. package/dist/vega/p-fc7e4c8a.entry.js +0 -1
@@ -9,43 +9,43 @@ const component = require('./component-1e352960.js');
9
9
  const accessibility = require('./accessibility-88f8af84.js');
10
10
  const changeManager = require('./change-manager-a297e4d2.js');
11
11
  const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-c82df135.js');
12
- const vegaInternalEventId = require('./vega-internal-event-id-ecc5b87a.js');
12
+ const vegaInternalEventId = require('./vega-internal-event-id-f4d33037.js');
13
13
  const staticSubjectTitle = require('./static-subject-title-70c73b16.js');
14
- const codeBlock = require('./code-block-4126dc3b.js');
15
- const linkExtension = require('./link-extension-b7f99a52.js');
16
- const typeGuard = require('./type-guard-f354af8b.js');
14
+ const codeBlock = require('./code-block-d78c2b2c.js');
15
+ const linkExtension = require('./link-extension-220ff6a9.js');
16
+ const typeGuard = require('./type-guard-a57ef3ac.js');
17
17
  const internalIconManager = require('./internal-icon-manager-40bcac72.js');
18
- const imageAnnotationAction = require('./image-annotation-action-89363de8.js');
18
+ const imageAnnotationAction = require('./image-annotation-action-85c4bd83.js');
19
19
  const vegaEventId = require('./vega-event-id-58afed7a.js');
20
20
  const misc = require('./misc-3d30df91.js');
21
- const waitForComponentDidRender = require('./wait-for-component-did-render-02ca4bee.js');
22
- const imageExtension = require('./image-extension-c881c454.js');
23
- const formFieldControllerSlimmer = require('./form-field-controller-slimmer-d638ba12.js');
21
+ const waitForComponentDidRender = require('./wait-for-component-did-render-44d006ee.js');
22
+ const imageExtension = require('./image-extension-260fa69c.js');
23
+ const formFieldControllerSlimmer = require('./form-field-controller-slimmer-a743be34.js');
24
24
  const eventEmitSlimmer = require('./event-emit-slimmer-34aa195e.js');
25
- const subStateNotifySlimmer = require('./sub-state-notify-slimmer-18891389.js');
26
- const contentState = require('./content-state-50e8a03c.js');
25
+ const subStateNotifySlimmer = require('./sub-state-notify-slimmer-e264a120.js');
26
+ const contentState = require('./content-state-78a620a9.js');
27
27
  const alignLeft = require('./align-left-4a76df69.js');
28
- const componentValueHistoryControllerSlimmer_abstract = require('./component-value-history-controller-slimmer.abstract-38ba956e.js');
28
+ const componentValueHistoryControllerSlimmer_abstract = require('./component-value-history-controller-slimmer.abstract-beb00fea.js');
29
29
  const observer = require('./observer-f49483e8.js');
30
30
  const timer = require('./timer-5f33058b.js');
31
31
  const darkModeStateControllerSlimmer = require('./dark-mode-state-controller-slimmer-b454645a.js');
32
- const richTextEditorRequiredRule = require('./rich-text-editor-required-rule-4d6d2493.js');
32
+ const ui = require('./ui-c91c37a7.js');
33
+ const richTextEditorRequiredRule = require('./rich-text-editor-required-rule-385c1b61.js');
33
34
  const childNodesEventPreventSlimmer = require('./child-nodes-event-prevent-slimmer-e0ac8467.js');
34
- const translationSlimmer = require('./translation-slimmer-9099f56c.js');
35
+ const translationSlimmer = require('./translation-slimmer-77c7f37d.js');
35
36
  const darkModeStyleController = require('./dark-mode-style-controller-32d4054a.js');
36
37
  const autoRunWhenReRenderTaskQueueSlimmer_abstract = require('./auto-run-when-re-render-task-queue-slimmer.abstract-5734634d.js');
37
38
  const array = require('./array-249289f2.js');
38
39
  const chevronDown = require('./chevron-down-9847bf78.js');
39
40
  const chevronUp = require('./chevron-up-21465cf7.js');
40
41
  const trashCan = require('./trash-can-46a5e19a.js');
41
- const ui = require('./ui-c91c37a7.js');
42
42
  const remoteInvocationRegistry = require('./remote-invocation-registry-fc22fdd0.js');
43
43
  require('./string-39438062.js');
44
44
  require('./typography-3ea4fe41.js');
45
45
  require('./object-b53e9416.js');
46
46
  require('./breakpoints-ebde4837.js');
47
47
  require('./ui-32120990.js');
48
- require('./internal-translation-controller-eb02c3b1.js');
48
+ require('./internal-translation-controller-1dac2df8.js');
49
49
  require('./icon-manager-be358b32.js');
50
50
  require('./create-public-api-runtime-metrics-slimmer-91b0cbfb.js');
51
51
  require('./dynamic-slimmer-f31fdfd7.js');
@@ -54,13 +54,14 @@ require('./try-get-document-c0ebd39a.js');
54
54
  require('./page-resize-observer-slimmer-273d62ef.js');
55
55
  require('./breakpoints-1cc2c4c6.js');
56
56
  require('./internal-form-field-validation-rule.abstract-07cdff46.js');
57
+ require('./form-field-key-8d5edf75.js');
57
58
  require('./mutation-observer-slimmer-749d5020.js');
58
59
  require('./mutation-observer-filters-38cebc6d.js');
59
- require('./sub-state-observer-slimmer-eee2f0ae.js');
60
+ require('./sub-state-observer-slimmer-6033b824.js');
60
61
  require('./internal-vega-event-manager-7003c84a.js');
61
- require('./range-95d41dea.js');
62
- require('./keyboard-manager-slimmer-a1223714.js');
63
- require('./keyboard-manager-ca76d4dc.js');
62
+ require('./range-c5afd53a.js');
63
+ require('./keyboard-manager-slimmer-7043a106.js');
64
+ require('./keyboard-manager-c56033b1.js');
64
65
  require('./vega-env-manager-23b8b23c.js');
65
66
  require('./feature-flag-controller-c19d0b58.js');
66
67
  require('./index-3ca118c4.js');
@@ -69,7 +70,7 @@ require('./vega-nonce-manager-df69d3ed.js');
69
70
  require('./synchronize-task-queue-1ee80e94.js');
70
71
  require('./number-4816603d.js');
71
72
 
72
- var __decorate$F = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
73
+ var __decorate$H = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
73
74
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
74
75
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
75
76
  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;
@@ -182,59 +183,59 @@ class VegaRichTextEditorRenderer extends globalSlimmerRegistry.VegaSlimmer {
182
183
  this.richTextEditorSourceViewRenderer.render()));
183
184
  }
184
185
  }
185
- __decorate$F([
186
+ __decorate$H([
186
187
  globalSlimmerRegistry.MapToComponentField()
187
188
  ], VegaRichTextEditorRenderer.prototype, "host", void 0);
188
- __decorate$F([
189
+ __decorate$H([
189
190
  globalSlimmerRegistry.MapToComponentField()
190
191
  ], VegaRichTextEditorRenderer.prototype, "toolbarRenderer", void 0);
191
- __decorate$F([
192
+ __decorate$H([
192
193
  globalSlimmerRegistry.MapToComponentField()
193
194
  ], VegaRichTextEditorRenderer.prototype, "label", void 0);
194
- __decorate$F([
195
+ __decorate$H([
195
196
  globalSlimmerRegistry.MapToComponentField()
196
197
  ], VegaRichTextEditorRenderer.prototype, "required", void 0);
197
- __decorate$F([
198
+ __decorate$H([
198
199
  globalSlimmerRegistry.MapToComponentField()
199
200
  ], VegaRichTextEditorRenderer.prototype, "optional", void 0);
200
- __decorate$F([
201
+ __decorate$H([
201
202
  globalSlimmerRegistry.MapToComponentField()
202
203
  ], VegaRichTextEditorRenderer.prototype, "hint", void 0);
203
- __decorate$F([
204
+ __decorate$H([
204
205
  globalSlimmerRegistry.MapToComponentField()
205
206
  ], VegaRichTextEditorRenderer.prototype, "disabled", void 0);
206
- __decorate$F([
207
+ __decorate$H([
207
208
  globalSlimmerRegistry.MapToComponentField()
208
209
  ], VegaRichTextEditorRenderer.prototype, "rows", void 0);
209
- __decorate$F([
210
+ __decorate$H([
210
211
  globalSlimmerRegistry.MapToComponentField()
211
212
  ], VegaRichTextEditorRenderer.prototype, "placeholder", void 0);
212
- __decorate$F([
213
+ __decorate$H([
213
214
  globalSlimmerRegistry.MapToComponentField()
214
215
  ], VegaRichTextEditorRenderer.prototype, "value", void 0);
215
- __decorate$F([
216
+ __decorate$H([
216
217
  globalSlimmerRegistry.MapToComponentField()
217
218
  ], VegaRichTextEditorRenderer.prototype, "sourceView", void 0);
218
- __decorate$F([
219
+ __decorate$H([
219
220
  globalSlimmerRegistry.MapToComponentField()
220
221
  ], VegaRichTextEditorRenderer.prototype, "toolbarItems", void 0);
221
- __decorate$F([
222
+ __decorate$H([
222
223
  globalSlimmerRegistry.MapToComponentField()
223
224
  ], VegaRichTextEditorRenderer.prototype, "sourceEditConfig", void 0);
224
- __decorate$F([
225
+ __decorate$H([
225
226
  globalSlimmerRegistry.MapToComponentField()
226
227
  ], VegaRichTextEditorRenderer.prototype, "allowSourceEdit", void 0);
227
- __decorate$F([
228
+ __decorate$H([
228
229
  globalSlimmerRegistry.MapToComponentField()
229
230
  ], VegaRichTextEditorRenderer.prototype, "extensions", void 0);
230
- __decorate$F([
231
+ __decorate$H([
231
232
  globalSlimmerRegistry.MapToComponentField()
232
233
  ], VegaRichTextEditorRenderer.prototype, "richTextEditorSourceViewRenderer", void 0);
233
- __decorate$F([
234
+ __decorate$H([
234
235
  globalSlimmerRegistry.MapToComponentMethod('componentDidRender')
235
236
  ], VegaRichTextEditorRenderer.prototype, "componentDidRender", null);
236
237
 
237
- var __decorate$E = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
238
+ var __decorate$G = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
238
239
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
239
240
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
240
241
  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;
@@ -337,76 +338,76 @@ class ToolbarRenderer extends globalSlimmerRegistry.VegaSlimmer {
337
338
  return [renderedItems, totalVisibleCount];
338
339
  }
339
340
  }
340
- __decorate$E([
341
+ __decorate$G([
341
342
  globalSlimmerRegistry.MapToComponentField()
342
343
  ], ToolbarRenderer.prototype, "uniqueToolbarItems", void 0);
343
- __decorate$E([
344
+ __decorate$G([
344
345
  globalSlimmerRegistry.MapToComponentField()
345
346
  ], ToolbarRenderer.prototype, "allowSourceEdit", void 0);
346
- __decorate$E([
347
+ __decorate$G([
347
348
  globalSlimmerRegistry.MapToComponentField()
348
349
  ], ToolbarRenderer.prototype, "host", void 0);
349
- __decorate$E([
350
+ __decorate$G([
350
351
  globalSlimmerRegistry.MapToComponentField()
351
352
  ], ToolbarRenderer.prototype, "clearStyleToolbarButtonSlimmer", void 0);
352
- __decorate$E([
353
+ __decorate$G([
353
354
  globalSlimmerRegistry.MapToComponentField()
354
355
  ], ToolbarRenderer.prototype, "boldToolbarButtonSlimmer", void 0);
355
- __decorate$E([
356
+ __decorate$G([
356
357
  globalSlimmerRegistry.MapToComponentField()
357
358
  ], ToolbarRenderer.prototype, "textStylesToolbarButtonSlimmer", void 0);
358
- __decorate$E([
359
+ __decorate$G([
359
360
  globalSlimmerRegistry.MapToComponentField()
360
361
  ], ToolbarRenderer.prototype, "italicToolbarButtonSlimmer", void 0);
361
- __decorate$E([
362
+ __decorate$G([
362
363
  globalSlimmerRegistry.MapToComponentField()
363
364
  ], ToolbarRenderer.prototype, "underlineToolbarButtonSlimmer", void 0);
364
- __decorate$E([
365
+ __decorate$G([
365
366
  globalSlimmerRegistry.MapToComponentField()
366
367
  ], ToolbarRenderer.prototype, "textColorToolbarButtonSlimmer", void 0);
367
- __decorate$E([
368
+ __decorate$G([
368
369
  globalSlimmerRegistry.MapToComponentField()
369
370
  ], ToolbarRenderer.prototype, "bulletsNumbersToolbarButtonSlimmer", void 0);
370
- __decorate$E([
371
+ __decorate$G([
371
372
  globalSlimmerRegistry.MapToComponentField()
372
373
  ], ToolbarRenderer.prototype, "horizontalAlignmentToolbarButtonSlimmer", void 0);
373
- __decorate$E([
374
+ __decorate$G([
374
375
  globalSlimmerRegistry.MapToComponentField()
375
376
  ], ToolbarRenderer.prototype, "strikethroughToolbarButtonSlimmer", void 0);
376
- __decorate$E([
377
+ __decorate$G([
377
378
  globalSlimmerRegistry.MapToComponentField()
378
379
  ], ToolbarRenderer.prototype, "imageToolbarButtonSlimmer", void 0);
379
- __decorate$E([
380
+ __decorate$G([
380
381
  globalSlimmerRegistry.MapToComponentField()
381
382
  ], ToolbarRenderer.prototype, "moreIndentToolbarButtonSlimmer", void 0);
382
- __decorate$E([
383
+ __decorate$G([
383
384
  globalSlimmerRegistry.MapToComponentField()
384
385
  ], ToolbarRenderer.prototype, "lessIndentToolbarButtonSlimmer", void 0);
385
- __decorate$E([
386
+ __decorate$G([
386
387
  globalSlimmerRegistry.MapToComponentField()
387
388
  ], ToolbarRenderer.prototype, "codeToolbarButtonSlimmer", void 0);
388
- __decorate$E([
389
+ __decorate$G([
389
390
  globalSlimmerRegistry.MapToComponentField()
390
391
  ], ToolbarRenderer.prototype, "linkToolbarButtonSlimmer", void 0);
391
- __decorate$E([
392
+ __decorate$G([
392
393
  globalSlimmerRegistry.MapToComponentField()
393
394
  ], ToolbarRenderer.prototype, "codeBlockToolbarButtonSlimmer", void 0);
394
- __decorate$E([
395
+ __decorate$G([
395
396
  globalSlimmerRegistry.MapToComponentField()
396
397
  ], ToolbarRenderer.prototype, "undoToolbarButtonSlimmer", void 0);
397
- __decorate$E([
398
+ __decorate$G([
398
399
  globalSlimmerRegistry.MapToComponentField()
399
400
  ], ToolbarRenderer.prototype, "redoToolbarButtonSlimmer", void 0);
400
- __decorate$E([
401
+ __decorate$G([
401
402
  globalSlimmerRegistry.MapToComponentField()
402
403
  ], ToolbarRenderer.prototype, "sourceEditToolbarButtonSlimmer", void 0);
403
- __decorate$E([
404
+ __decorate$G([
404
405
  globalSlimmerRegistry.MapToComponentField()
405
406
  ], ToolbarRenderer.prototype, "selectionController", void 0);
406
- __decorate$E([
407
+ __decorate$G([
407
408
  globalSlimmerRegistry.MapToComponentField()
408
409
  ], ToolbarRenderer.prototype, "translationSlimmer", void 0);
409
- __decorate$E([
410
+ __decorate$G([
410
411
  globalSlimmerRegistry.MapToComponentField()
411
412
  ], ToolbarRenderer.prototype, "sourceView", void 0);
412
413
 
@@ -414,7 +415,7 @@ const bold = {
414
415
  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>`,
415
416
  };
416
417
 
417
- var __decorate$D = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
418
+ var __decorate$F = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
418
419
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
419
420
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
420
421
  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;
@@ -456,7 +457,7 @@ class BoldToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
456
457
  (() => {
457
458
  internalIconManager.VegaInternalIconManager.register({ bold });
458
459
  })();
459
- __decorate$D([
460
+ __decorate$F([
460
461
  globalSlimmerRegistry.MapToComponentField()
461
462
  ], BoldToolbarButtonSlimmer.prototype, "selectionController", void 0);
462
463
 
@@ -464,7 +465,7 @@ const italic = {
464
465
  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="M128 64c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H293.3L160 416h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H90.7L224 96H160c-17.7 0-32-14.3-32-32z"/></svg>`,
465
466
  };
466
467
 
467
- var __decorate$C = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
468
+ var __decorate$E = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
468
469
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
469
470
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
470
471
  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;
@@ -504,7 +505,7 @@ class ItalicToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbar
504
505
  (() => {
505
506
  internalIconManager.VegaInternalIconManager.register({ italic });
506
507
  })();
507
- __decorate$C([
508
+ __decorate$E([
508
509
  globalSlimmerRegistry.MapToComponentField()
509
510
  ], ItalicToolbarButtonSlimmer.prototype, "selectionController", void 0);
510
511
 
@@ -512,7 +513,7 @@ const underline = {
512
513
  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="M16 64c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H128V224c0 53 43 96 96 96s96-43 96-96V96H304c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H384V224c0 88.4-71.6 160-160 160s-160-71.6-160-160V96H48C30.3 96 16 81.7 16 64zM0 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-32z"/></svg>`,
513
514
  };
514
515
 
515
- var __decorate$B = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
516
+ var __decorate$D = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
516
517
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
517
518
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
518
519
  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;
@@ -555,7 +556,7 @@ class UnderlineToolbarButtonSlimmer extends imageAnnotationAction.VisualModeTool
555
556
  (() => {
556
557
  internalIconManager.VegaInternalIconManager.register({ underline });
557
558
  })();
558
- __decorate$B([
559
+ __decorate$D([
559
560
  globalSlimmerRegistry.MapToComponentField()
560
561
  ], UnderlineToolbarButtonSlimmer.prototype, "selectionController", void 0);
561
562
 
@@ -563,7 +564,7 @@ const textSize = {
563
564
  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>`,
564
565
  };
565
566
 
566
- var __decorate$A = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
567
+ var __decorate$C = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
567
568
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
568
569
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
569
570
  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;
@@ -691,13 +692,13 @@ TextStylesToolbarButtonSlimmer.allItems = [
691
692
  label: 'Paragraph',
692
693
  },
693
694
  ];
694
- __decorate$A([
695
+ __decorate$C([
695
696
  globalSlimmerRegistry.MapToComponentField()
696
697
  ], TextStylesToolbarButtonSlimmer.prototype, "selectionController", void 0);
697
- __decorate$A([
698
+ __decorate$C([
698
699
  globalSlimmerRegistry.MapToComponentField()
699
700
  ], TextStylesToolbarButtonSlimmer.prototype, "focusController", void 0);
700
- __decorate$A([
701
+ __decorate$C([
701
702
  globalSlimmerRegistry.MapToComponentField()
702
703
  ], TextStylesToolbarButtonSlimmer.prototype, "textStyleItems", void 0);
703
704
 
@@ -705,7 +706,7 @@ const TextSlash = {
705
706
  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>`,
706
707
  };
707
708
 
708
- var __decorate$z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
709
+ var __decorate$B = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
709
710
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
710
711
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
711
712
  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;
@@ -742,7 +743,7 @@ class ClearStyleToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToo
742
743
  'text-slash': TextSlash,
743
744
  });
744
745
  })();
745
- __decorate$z([
746
+ __decorate$B([
746
747
  globalSlimmerRegistry.MapToComponentField()
747
748
  ], ClearStyleToolbarButtonSlimmer.prototype, "selectionController", void 0);
748
749
 
@@ -750,7 +751,7 @@ const codeSimple = {
750
751
  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>`,
751
752
  };
752
753
 
753
- var __decorate$y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
754
+ var __decorate$A = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
754
755
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
755
756
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
756
757
  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;
@@ -788,7 +789,7 @@ class CodeToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
788
789
  (() => {
789
790
  internalIconManager.VegaInternalIconManager.register({ 'code-simple': codeSimple });
790
791
  })();
791
- __decorate$y([
792
+ __decorate$A([
792
793
  globalSlimmerRegistry.MapToComponentField()
793
794
  ], CodeToolbarButtonSlimmer.prototype, "selectionController", void 0);
794
795
 
@@ -796,7 +797,7 @@ const strikethrough = {
796
797
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path fill="currentColor" d="M332.2 319.9c17.22 12.17 22.33 26.51 18.61 48.21c-3.031 17.59-10.88 29.34-24.72 36.99c-35.44 19.75-108.5 11.96-186-19.68c-16.34-6.686-35.03 1.156-41.72 17.53s1.188 35.05 17.53 41.71c31.75 12.93 95.69 35.37 157.6 35.37c29.62 0 58.81-5.156 83.72-18.96c30.81-17.09 50.44-45.46 56.72-82.11c3.998-23.27 2.168-42.58-3.488-59.05H332.2zM488 239.9l-176.5-.0309c-15.85-5.613-31.83-10.34-46.7-14.62c-85.47-24.62-110.9-39.05-103.7-81.33c2.5-14.53 10.16-25.96 22.72-34.03c20.47-13.15 64.06-23.84 155.4 .3438c17.09 4.531 34.59-5.654 39.13-22.74c4.531-17.09-5.656-34.59-22.75-39.12c-91.31-24.18-160.7-21.62-206.3 7.654C121.8 73.72 103.6 101.1 98.09 133.1C89.26 184.5 107.9 217.3 137.2 239.9L24 239.9c-13.25 0-24 10.75-24 23.1c0 13.25 10.75 23.1 24 23.1h464c13.25 0 24-10.75 24-23.1C512 250.7 501.3 239.9 488 239.9z"/></svg>`,
797
798
  };
798
799
 
799
- var __decorate$x = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
800
+ var __decorate$z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
800
801
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
801
802
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
802
803
  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;
@@ -839,7 +840,7 @@ class StrikethroughToolbarButtonSlimmer extends imageAnnotationAction.VisualMode
839
840
  (() => {
840
841
  internalIconManager.VegaInternalIconManager.register({ strikethrough });
841
842
  })();
842
- __decorate$x([
843
+ __decorate$z([
843
844
  globalSlimmerRegistry.MapToComponentField()
844
845
  ], StrikethroughToolbarButtonSlimmer.prototype, "selectionController", void 0);
845
846
 
@@ -847,7 +848,7 @@ const link = {
847
848
  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="M562.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L405.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C189.5 251.2 196 330 246 380c56.5 56.5 148 56.5 204.5 0L562.8 267.7zM43.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C57 372 57 321 88.5 289.5L200.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C416.5 260.8 410 182 360 132c-56.5-56.5-148-56.5-204.5 0L43.2 244.3z"/></svg>`,
848
849
  };
849
850
 
850
- var __decorate$w = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
851
+ var __decorate$y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
851
852
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
852
853
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
853
854
  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;
@@ -864,12 +865,18 @@ class LinkToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
864
865
  this.handleLinkEditorChange = ({ detail, }) => {
865
866
  switch (detail.action) {
866
867
  case 'link': {
867
- const { url, text } = detail.payload;
868
+ const { url, text, linkType } = detail.payload;
868
869
  const textChanged = text !== this.currentSelectedText;
869
870
  const groupKey = misc.generateUUID();
870
871
  this.currentSelectedNodes.forEach((node) => {
871
872
  node.apply(new codeBlock.SelectionChangeAction(this.currentRange)).apply(new codeBlock.LinkAnnotationAction({
872
- link: { href: url, groupKey: groupKey },
873
+ link: Object.assign({ href: url, groupKey: groupKey }, (linkType
874
+ ? {
875
+ customAttribute: {
876
+ 'data-link-type': linkType,
877
+ },
878
+ }
879
+ : {})),
873
880
  newText: textChanged ? text : undefined,
874
881
  needMergeNode: textChanged && this.currentSelectedNodes.length > 1,
875
882
  type: 'link',
@@ -930,7 +937,7 @@ class LinkToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
930
937
  (() => {
931
938
  internalIconManager.VegaInternalIconManager.register({ link: link });
932
939
  })();
933
- __decorate$w([
940
+ __decorate$y([
934
941
  globalSlimmerRegistry.MapToComponentField()
935
942
  ], LinkToolbarButtonSlimmer.prototype, "selectionController", void 0);
936
943
 
@@ -938,7 +945,7 @@ const indent = {
938
945
  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="M0 64C0 46.3 14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32zm32 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 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-32zM127.8 268.6L25.8 347.9C15.3 356.1 0 348.6 0 335.3V176.7c0-13.3 15.3-20.8 25.8-12.6l101.9 79.3c8.2 6.4 8.2 18.9 0 25.3z"/></svg>`,
939
946
  };
940
947
 
941
- var __decorate$v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
948
+ var __decorate$x = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
942
949
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
943
950
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
944
951
  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;
@@ -972,7 +979,7 @@ class MoreIndentToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToo
972
979
  (() => {
973
980
  internalIconManager.VegaInternalIconManager.register({ indent: indent });
974
981
  })();
975
- __decorate$v([
982
+ __decorate$x([
976
983
  globalSlimmerRegistry.MapToComponentField()
977
984
  ], MoreIndentToolbarButtonSlimmer.prototype, "selectionController", void 0);
978
985
 
@@ -980,7 +987,7 @@ const outdent = {
980
987
  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>`,
981
988
  };
982
989
 
983
- var __decorate$u = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
990
+ var __decorate$w = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
984
991
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
985
992
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
986
993
  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;
@@ -1015,7 +1022,7 @@ class LessIndentToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToo
1015
1022
  (() => {
1016
1023
  internalIconManager.VegaInternalIconManager.register({ outdent: outdent });
1017
1024
  })();
1018
- __decorate$u([
1025
+ __decorate$w([
1019
1026
  globalSlimmerRegistry.MapToComponentField()
1020
1027
  ], LessIndentToolbarButtonSlimmer.prototype, "selectionController", void 0);
1021
1028
 
@@ -1036,7 +1043,7 @@ class ImageUpdateUrlAction extends codeBlock.ModifyContentAction {
1036
1043
  }
1037
1044
  }
1038
1045
 
1039
- var __decorate$t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1046
+ var __decorate$v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1040
1047
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1041
1048
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1042
1049
  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;
@@ -1235,16 +1242,16 @@ ImageToolbarButtonSlimmer.allItems = [
1235
1242
  label: 'Insert via URL',
1236
1243
  },
1237
1244
  ];
1238
- __decorate$t([
1245
+ __decorate$v([
1239
1246
  globalSlimmerRegistry.MapToComponentField()
1240
1247
  ], ImageToolbarButtonSlimmer.prototype, "host", void 0);
1241
- __decorate$t([
1248
+ __decorate$v([
1242
1249
  globalSlimmerRegistry.MapToComponentField()
1243
1250
  ], ImageToolbarButtonSlimmer.prototype, "insertImageController", void 0);
1244
- __decorate$t([
1251
+ __decorate$v([
1245
1252
  globalSlimmerRegistry.MapToComponentField()
1246
1253
  ], ImageToolbarButtonSlimmer.prototype, "imageInsertedEventEmitter", void 0);
1247
- __decorate$t([
1254
+ __decorate$v([
1248
1255
  globalSlimmerRegistry.MapToComponentField()
1249
1256
  ], ImageToolbarButtonSlimmer.prototype, "selectionController", void 0);
1250
1257
 
@@ -1554,7 +1561,7 @@ class ListShiftTabOutdentHandler extends AbstractListKeyboardHandler {
1554
1561
  }
1555
1562
  }
1556
1563
 
1557
- var __decorate$s = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1564
+ var __decorate$u = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1558
1565
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1559
1566
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1560
1567
  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;
@@ -1706,28 +1713,28 @@ class ListKeyboardSlimmer extends globalSlimmerRegistry.VegaSlimmer {
1706
1713
  this.selectionController.enqueueSelectionRangeFutureState(firstNode, Math.min(startOffset, firstNode.getRangeEndOffset()), lastNode, Math.min(endOffset, lastNode.getRangeEndOffset()), true);
1707
1714
  }
1708
1715
  }
1709
- __decorate$s([
1716
+ __decorate$u([
1710
1717
  globalSlimmerRegistry.MapToComponentField()
1711
1718
  ], ListKeyboardSlimmer.prototype, "selectionController", void 0);
1712
- __decorate$s([
1719
+ __decorate$u([
1713
1720
  globalSlimmerRegistry.MapToComponentField()
1714
1721
  ], ListKeyboardSlimmer.prototype, "valueController", void 0);
1715
- __decorate$s([
1722
+ __decorate$u([
1716
1723
  globalSlimmerRegistry.MapToComponentField()
1717
1724
  ], ListKeyboardSlimmer.prototype, "value", void 0);
1718
- __decorate$s([
1725
+ __decorate$u([
1719
1726
  globalSlimmerRegistry.MapToComponentField()
1720
1727
  ], ListKeyboardSlimmer.prototype, "toolbarItems", void 0);
1721
- __decorate$s([
1728
+ __decorate$u([
1722
1729
  globalSlimmerRegistry.MapToComponentField()
1723
1730
  ], ListKeyboardSlimmer.prototype, "vegaRichTextEditorRenderer", void 0);
1724
- __decorate$s([
1731
+ __decorate$u([
1725
1732
  globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
1726
1733
  ], ListKeyboardSlimmer.prototype, "disconnectedCallback", null);
1727
- __decorate$s([
1734
+ __decorate$u([
1728
1735
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
1729
1736
  ], ListKeyboardSlimmer.prototype, "componentDidLoad", null);
1730
- __decorate$s([
1737
+ __decorate$u([
1731
1738
  globalSlimmerRegistry.MapToComponentMethod('watchToolbarItems')
1732
1739
  ], ListKeyboardSlimmer.prototype, "watchToolbarItems", null);
1733
1740
 
@@ -1744,7 +1751,7 @@ class TransformListAction extends codeBlock.ModifyContentAction {
1744
1751
  }
1745
1752
  }
1746
1753
 
1747
- var __decorate$r = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1754
+ var __decorate$t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1748
1755
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1749
1756
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1750
1757
  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;
@@ -1803,14 +1810,14 @@ class BulletsToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolba
1803
1810
  }
1804
1811
  }
1805
1812
  }
1806
- __decorate$r([
1813
+ __decorate$t([
1807
1814
  globalSlimmerRegistry.MapToComponentField()
1808
1815
  ], BulletsToolbarButtonSlimmer.prototype, "selectionController", void 0);
1809
- __decorate$r([
1816
+ __decorate$t([
1810
1817
  globalSlimmerRegistry.MapToComponentField()
1811
1818
  ], BulletsToolbarButtonSlimmer.prototype, "popoverRef", void 0);
1812
1819
 
1813
- var __decorate$q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1820
+ var __decorate$s = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1814
1821
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1815
1822
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1816
1823
  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;
@@ -1867,14 +1874,14 @@ class NumbersToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolba
1867
1874
  }
1868
1875
  }
1869
1876
  }
1870
- __decorate$q([
1877
+ __decorate$s([
1871
1878
  globalSlimmerRegistry.MapToComponentField()
1872
1879
  ], NumbersToolbarButtonSlimmer.prototype, "selectionController", void 0);
1873
- __decorate$q([
1880
+ __decorate$s([
1874
1881
  globalSlimmerRegistry.MapToComponentField()
1875
1882
  ], NumbersToolbarButtonSlimmer.prototype, "popoverRef", void 0);
1876
1883
 
1877
- var __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1884
+ var __decorate$r = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1878
1885
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1879
1886
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1880
1887
  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;
@@ -1954,41 +1961,41 @@ class BulletsNumbersToolbarButtonSlimmer extends imageAnnotationAction.VisualMod
1954
1961
  'list-ol': ListOL,
1955
1962
  });
1956
1963
  })();
1957
- __decorate$p([
1964
+ __decorate$r([
1958
1965
  globalSlimmerRegistry.MapToComponentField()
1959
1966
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "selectionController", void 0);
1960
- __decorate$p([
1967
+ __decorate$r([
1961
1968
  globalSlimmerRegistry.MapToComponentField()
1962
1969
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "valueController", void 0);
1963
- __decorate$p([
1970
+ __decorate$r([
1964
1971
  globalSlimmerRegistry.MapToComponentField()
1965
1972
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "value", void 0);
1966
- __decorate$p([
1973
+ __decorate$r([
1967
1974
  globalSlimmerRegistry.MapToComponentField()
1968
1975
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "toolbarItems", void 0);
1969
- __decorate$p([
1976
+ __decorate$r([
1970
1977
  globalSlimmerRegistry.MapToComponentField()
1971
1978
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "vegaRichTextEditorRenderer", void 0);
1972
- __decorate$p([
1979
+ __decorate$r([
1973
1980
  globalSlimmerRegistry.InjectVegaSlimmer()
1974
1981
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "bulletsToolbarButtonSlimmer", void 0);
1975
- __decorate$p([
1982
+ __decorate$r([
1976
1983
  globalSlimmerRegistry.InjectVegaSlimmer()
1977
1984
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "numbersToolbarButtonSlimmer", void 0);
1978
- __decorate$p([
1985
+ __decorate$r([
1979
1986
  globalSlimmerRegistry.InjectVegaSlimmer()
1980
1987
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "listKeyboardSlimmer", void 0);
1981
- __decorate$p([
1988
+ __decorate$r([
1982
1989
  globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
1983
1990
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "disconnectedCallback", null);
1984
- __decorate$p([
1991
+ __decorate$r([
1985
1992
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
1986
1993
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "componentDidLoad", null);
1987
- __decorate$p([
1994
+ __decorate$r([
1988
1995
  globalSlimmerRegistry.MapToComponentMethod('componentWillRender')
1989
1996
  ], BulletsNumbersToolbarButtonSlimmer.prototype, "componentWillRender", null);
1990
1997
 
1991
- var __decorate$o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1998
+ var __decorate$q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1992
1999
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1993
2000
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1994
2001
  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;
@@ -2023,14 +2030,14 @@ class LeftAlignToolbarButtonSlimmer extends imageAnnotationAction.VisualModeTool
2023
2030
  'align-left': alignLeft.AlignLeft,
2024
2031
  });
2025
2032
  })();
2026
- __decorate$o([
2033
+ __decorate$q([
2027
2034
  globalSlimmerRegistry.MapToComponentField()
2028
2035
  ], LeftAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
2029
- __decorate$o([
2036
+ __decorate$q([
2030
2037
  globalSlimmerRegistry.MapToComponentField()
2031
2038
  ], LeftAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
2032
2039
 
2033
- var __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2040
+ var __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2034
2041
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2035
2042
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2036
2043
  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;
@@ -2065,14 +2072,14 @@ class CenterAlignToolbarButtonSlimmer extends imageAnnotationAction.VisualModeTo
2065
2072
  'align-center': alignLeft.AlignCenter,
2066
2073
  });
2067
2074
  })();
2068
- __decorate$n([
2075
+ __decorate$p([
2069
2076
  globalSlimmerRegistry.MapToComponentField()
2070
2077
  ], CenterAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
2071
- __decorate$n([
2078
+ __decorate$p([
2072
2079
  globalSlimmerRegistry.MapToComponentField()
2073
2080
  ], CenterAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
2074
2081
 
2075
- var __decorate$m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2082
+ var __decorate$o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2076
2083
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2077
2084
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2078
2085
  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;
@@ -2107,14 +2114,14 @@ class RightAlignToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToo
2107
2114
  'align-right': alignLeft.AlignRight,
2108
2115
  });
2109
2116
  })();
2110
- __decorate$m([
2117
+ __decorate$o([
2111
2118
  globalSlimmerRegistry.MapToComponentField()
2112
2119
  ], RightAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
2113
- __decorate$m([
2120
+ __decorate$o([
2114
2121
  globalSlimmerRegistry.MapToComponentField()
2115
2122
  ], RightAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
2116
2123
 
2117
- var __decorate$l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2124
+ var __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2118
2125
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2119
2126
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2120
2127
  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;
@@ -2149,14 +2156,14 @@ class JustifyAlignToolbarButtonSlimmer extends imageAnnotationAction.VisualModeT
2149
2156
  'align-justify': alignLeft.AlignJustify,
2150
2157
  });
2151
2158
  })();
2152
- __decorate$l([
2159
+ __decorate$n([
2153
2160
  globalSlimmerRegistry.MapToComponentField()
2154
2161
  ], JustifyAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
2155
- __decorate$l([
2162
+ __decorate$n([
2156
2163
  globalSlimmerRegistry.MapToComponentField()
2157
2164
  ], JustifyAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
2158
2165
 
2159
- var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2166
+ var __decorate$m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2160
2167
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2161
2168
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2162
2169
  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;
@@ -2214,22 +2221,22 @@ class HorizontalAlignmentToolbarButtonSlimmer extends imageAnnotationAction.Visu
2214
2221
  .some((block) => this.shouldDisabledToolbar(block, codeBlock.HorizontalAlignmentAnnotationAction.name)));
2215
2222
  }
2216
2223
  }
2217
- __decorate$k([
2224
+ __decorate$m([
2218
2225
  globalSlimmerRegistry.MapToComponentField()
2219
2226
  ], HorizontalAlignmentToolbarButtonSlimmer.prototype, "selectionController", void 0);
2220
- __decorate$k([
2227
+ __decorate$m([
2221
2228
  globalSlimmerRegistry.InjectVegaSlimmer()
2222
2229
  ], HorizontalAlignmentToolbarButtonSlimmer.prototype, "leftAlignToolbarButtonSlimmer", void 0);
2223
- __decorate$k([
2230
+ __decorate$m([
2224
2231
  globalSlimmerRegistry.InjectVegaSlimmer()
2225
2232
  ], HorizontalAlignmentToolbarButtonSlimmer.prototype, "centerAlignToolbarButtonSlimmer", void 0);
2226
- __decorate$k([
2233
+ __decorate$m([
2227
2234
  globalSlimmerRegistry.InjectVegaSlimmer()
2228
2235
  ], HorizontalAlignmentToolbarButtonSlimmer.prototype, "rightAlignToolbarButtonSlimmer", void 0);
2229
- __decorate$k([
2236
+ __decorate$m([
2230
2237
  globalSlimmerRegistry.InjectVegaSlimmer()
2231
2238
  ], HorizontalAlignmentToolbarButtonSlimmer.prototype, "justifiedToolbarButtonSlimmer", void 0);
2232
- __decorate$k([
2239
+ __decorate$m([
2233
2240
  globalSlimmerRegistry.MapToComponentMethod('componentWillRender')
2234
2241
  ], HorizontalAlignmentToolbarButtonSlimmer.prototype, "componentWillRender", null);
2235
2242
 
@@ -2270,7 +2277,7 @@ class RTEEditorState {
2270
2277
  }
2271
2278
  }
2272
2279
 
2273
- var __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2280
+ var __decorate$l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2274
2281
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2275
2282
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2276
2283
  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;
@@ -2356,37 +2363,37 @@ class ValueController extends globalSlimmerRegistry.VegaSlimmer {
2356
2363
  }
2357
2364
  }
2358
2365
  ValueController.VALUE_CHANGE_DEBOUNCE_TIME = 50;
2359
- __decorate$j([
2366
+ __decorate$l([
2360
2367
  globalSlimmerRegistry.MapToComponentField()
2361
2368
  ], ValueController.prototype, "host", void 0);
2362
- __decorate$j([
2369
+ __decorate$l([
2363
2370
  globalSlimmerRegistry.MapToComponentField({ writable: true })
2364
2371
  ], ValueController.prototype, "value", void 0);
2365
- __decorate$j([
2372
+ __decorate$l([
2366
2373
  globalSlimmerRegistry.MapToComponentField()
2367
2374
  ], ValueController.prototype, "changeEventEmitter", void 0);
2368
- __decorate$j([
2375
+ __decorate$l([
2369
2376
  globalSlimmerRegistry.MapToComponentField()
2370
2377
  ], ValueController.prototype, "valueController", void 0);
2371
- __decorate$j([
2378
+ __decorate$l([
2372
2379
  globalSlimmerRegistry.MapToComponentField()
2373
2380
  ], ValueController.prototype, "historyController", void 0);
2374
- __decorate$j([
2381
+ __decorate$l([
2375
2382
  globalSlimmerRegistry.MapToComponentField()
2376
2383
  ], ValueController.prototype, "selectionController", void 0);
2377
- __decorate$j([
2384
+ __decorate$l([
2378
2385
  globalSlimmerRegistry.MapToComponentField()
2379
2386
  ], ValueController.prototype, "sourceEditConfig", void 0);
2380
- __decorate$j([
2387
+ __decorate$l([
2381
2388
  globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
2382
2389
  ], ValueController.prototype, "connectedCallback", null);
2383
- __decorate$j([
2390
+ __decorate$l([
2384
2391
  globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
2385
2392
  ], ValueController.prototype, "disconnectedCallback", null);
2386
- __decorate$j([
2393
+ __decorate$l([
2387
2394
  globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
2388
2395
  ], ValueController.prototype, "componentWillLoad", null);
2389
- __decorate$j([
2396
+ __decorate$l([
2390
2397
  globalSlimmerRegistry.MapToComponentMethod('watchValueUpdate')
2391
2398
  ], ValueController.prototype, "watchValueUpdate", null);
2392
2399
 
@@ -2415,7 +2422,7 @@ class BaseHandler {
2415
2422
  * @param {VegaRTEContent} currentState - The current state of the VegaRTE content.
2416
2423
  * @param {SelectionController} selectionController - Manages the selection of items in the user interface.
2417
2424
  * @param {HTMLElement} richTextEditor - The current rich text editor component
2418
- * @param {InputEvent} [event] - It is used to pass an input event to the method for handling.
2425
+ * @param {Event} [event] - It is used to pass an input event to the method for handling.
2419
2426
  */
2420
2427
  execute(currentState, selectionController, richTextEditor, event) {
2421
2428
  this.initCurrentStateAndSelection(currentState, selectionController);
@@ -3587,42 +3594,344 @@ class InsertPasteHandler extends BaseHandler {
3587
3594
  }
3588
3595
  }
3589
3596
 
3590
- var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3591
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3592
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3593
- 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;
3594
- return c > 3 && r && Object.defineProperty(target, key, r), r;
3595
- };
3596
- /** Used to monitoring the user input actions by event listener */
3597
- class UserInputController extends globalSlimmerRegistry.VegaSlimmer {
3597
+ /**
3598
+ * Handles keyboard-based rich text link interactions (Escape close, Tab into the link popover, and
3599
+ * the Command/Control+K open shortcut). Follows the input-event handler workflow so the keyboard
3600
+ * link logic stays consistent with the other RTE handlers.
3601
+ */
3602
+ class KeyboardLinkHandler extends BaseHandler {
3598
3603
  constructor() {
3599
3604
  super(...arguments);
3600
- this.insertTextHandler = new InsertTextHandler();
3601
- this.insertParagraphHandler = new InsertParagraphHandler();
3602
- this.insertLineBreakHandler = new InsertLineBreakHandler();
3603
- this.forwardDeleteContentHandler = new ForwardDeleteContentHandler();
3604
- this.backwardDeleteContentHandler = new BackwardDeleteContentHandler();
3605
- this.insertPasteHandler = new InsertPasteHandler();
3606
- /**
3607
- * When a user performs an input action within the editable element, this function is triggered.
3608
- *
3609
- * @param {InputEvent} e the before input event object
3610
- */
3611
- this.handleUserInputAction = (e) => {
3612
- const inputType = e.inputType;
3613
- e.preventDefault();
3614
- this.initValueIfEmpty();
3615
- // The insertCompositionText type input event can not be prevented, so we process the current action by insertCompositionTextController.
3616
- // If the focus node is a non-editable element, we do not process the input event.
3617
- if (inputType === 'insertCompositionText' || this.isFocusNodeNonEditable()) {
3605
+ this.activeLinkEditor = null;
3606
+ this.activeLinkWrapper = null;
3607
+ this.linkPopoverHideHandler = null;
3608
+ this.linkPopoverHideOwner = null;
3609
+ }
3610
+ /**
3611
+ * Handles keyboard shortcuts for link popover open, close, and focus behavior.
3612
+ *
3613
+ * @param {KeyboardEvent} [event] - The keydown event fired from the editor.
3614
+ */
3615
+ handleEvent(event) {
3616
+ if (!event) {
3617
+ return;
3618
+ }
3619
+ if (event.key === 'Escape') {
3620
+ if (this.activeLinkEditor) {
3621
+ event.preventDefault();
3622
+ event.stopPropagation();
3623
+ void this.activeLinkEditor.hide();
3618
3624
  return;
3619
3625
  }
3620
- this.insertCompositionTextController.removeObserver();
3621
- let updateFlag = false;
3622
- switch (inputType) {
3623
- case 'insertParagraph':
3624
- updateFlag = true;
3625
- this.insertParagraphHandler.execute(this.value, this.selectionController, this.host, e);
3626
+ const linkWrapper = this.getFocusedLinkWrapper(event.target);
3627
+ const linkEditor = this.getLinkEditorFromWrapper(linkWrapper);
3628
+ if (linkEditor) {
3629
+ event.preventDefault();
3630
+ event.stopPropagation();
3631
+ void linkEditor.hide();
3632
+ return;
3633
+ }
3634
+ }
3635
+ const linkWrapper = this.getFocusedLinkWrapper(event.target);
3636
+ if (event.key === 'Tab' && !event.shiftKey && this.focusVisibleLinkPopoverAction(linkWrapper)) {
3637
+ event.preventDefault();
3638
+ event.stopPropagation();
3639
+ const linkEditor = this.getLinkEditorFromWrapper(linkWrapper) || this.activeLinkEditor;
3640
+ if (linkWrapper && linkEditor) {
3641
+ this.registerLinkPopoverHideHandler(linkEditor, () => {
3642
+ this.handleLinkPopoverHide(linkEditor, linkWrapper);
3643
+ });
3644
+ }
3645
+ return;
3646
+ }
3647
+ const isOpenLinkShortcut = (event.metaKey || event.ctrlKey) && event.key.toLowerCase() === 'k';
3648
+ if (!isOpenLinkShortcut || !linkWrapper) {
3649
+ return;
3650
+ }
3651
+ event.preventDefault();
3652
+ event.stopPropagation();
3653
+ const linkEditor = linkWrapper.querySelector('vega-rich-text-link-editor');
3654
+ if (!linkEditor) {
3655
+ return;
3656
+ }
3657
+ this.activeLinkEditor = linkEditor;
3658
+ this.activeLinkWrapper = linkWrapper;
3659
+ this.registerLinkPopoverHideHandler(linkEditor, () => {
3660
+ this.handleLinkPopoverHide(linkEditor, linkWrapper);
3661
+ });
3662
+ void linkEditor.show();
3663
+ }
3664
+ /**
3665
+ * Releases any registered popover-hide listener when the owning controller is torn down.
3666
+ */
3667
+ dispose() {
3668
+ this.unregisterLinkPopoverHideHandler();
3669
+ }
3670
+ /**
3671
+ * Registers a one-time hide listener on the currently open link editor popover.
3672
+ *
3673
+ * @param {Nullable<HTMLElement>} linkEditor - Link editor that owns the popover.
3674
+ * @param {EventListener} handler - Callback invoked when the popover hides.
3675
+ */
3676
+ registerLinkPopoverHideHandler(linkEditor, handler) {
3677
+ const linkPopoverHideOwner = this.getLinkEditorPopover(linkEditor);
3678
+ if (!linkPopoverHideOwner) {
3679
+ return;
3680
+ }
3681
+ this.unregisterLinkPopoverHideHandler();
3682
+ this.linkPopoverHideHandler = this.onLinkPopoverHide.bind(this, handler);
3683
+ this.linkPopoverHideOwner = linkPopoverHideOwner;
3684
+ linkPopoverHideOwner.addEventListener('vegaPopoverHide', this.linkPopoverHideHandler, {
3685
+ once: true,
3686
+ });
3687
+ }
3688
+ /**
3689
+ * Executes the registered popover-hide callback and clears hide-listener state.
3690
+ *
3691
+ * @param {EventListener} handler - Registered callback for popover hide.
3692
+ * @param {Event} event - Hide event payload.
3693
+ */
3694
+ onLinkPopoverHide(handler, event) {
3695
+ handler(event);
3696
+ this.linkPopoverHideHandler = null;
3697
+ this.linkPopoverHideOwner = null;
3698
+ }
3699
+ /**
3700
+ * Removes the currently registered popover hide listener if present.
3701
+ */
3702
+ unregisterLinkPopoverHideHandler() {
3703
+ if (this.linkPopoverHideOwner && this.linkPopoverHideHandler) {
3704
+ this.linkPopoverHideOwner.removeEventListener('vegaPopoverHide', this.linkPopoverHideHandler);
3705
+ }
3706
+ this.linkPopoverHideHandler = null;
3707
+ this.linkPopoverHideOwner = null;
3708
+ }
3709
+ /**
3710
+ * Resolves the closest focused link wrapper from event target or current selection.
3711
+ *
3712
+ * @param {EventTarget | null} target - Event target from the keydown event.
3713
+ * @returns {Nullable<HTMLElement>} Link wrapper element if found.
3714
+ */
3715
+ getFocusedLinkWrapper(target) {
3716
+ var _a;
3717
+ const targetElement = target && target.nodeType === Node.ELEMENT_NODE ? target : null;
3718
+ if (targetElement) {
3719
+ const directWrapper = targetElement.classList.contains('link-editor-wrapper')
3720
+ ? targetElement
3721
+ : ui.findParent(targetElement, '.link-editor-wrapper');
3722
+ if (directWrapper) {
3723
+ return directWrapper;
3724
+ }
3725
+ }
3726
+ const anchorNode = ((_a = this.selectionController.getSelection()) === null || _a === void 0 ? void 0 : _a.anchorNode) || null;
3727
+ const anchorElement = (anchorNode === null || anchorNode === void 0 ? void 0 : anchorNode.nodeType) === Node.ELEMENT_NODE
3728
+ ? anchorNode
3729
+ : (anchorNode === null || anchorNode === void 0 ? void 0 : anchorNode.parentElement) || null;
3730
+ if (!anchorElement) {
3731
+ return null;
3732
+ }
3733
+ return anchorElement.classList.contains('link-editor-wrapper')
3734
+ ? anchorElement
3735
+ : ui.findParent(anchorElement, '.link-editor-wrapper');
3736
+ }
3737
+ /**
3738
+ * Finds the link editor element inside a link wrapper.
3739
+ *
3740
+ * @typedef HTMLVegaRichTextLinkEditorElement - The type of the link editor element.
3741
+ * @param {Nullable<HTMLElement>} linkWrapper - Wrapper that may contain the link editor component.
3742
+ * @returns {Nullable<HTMLVegaRichTextLinkEditorElement>} Link editor if present.
3743
+ */
3744
+ getLinkEditorFromWrapper(linkWrapper) {
3745
+ return ((linkWrapper === null || linkWrapper === void 0 ? void 0 : linkWrapper.querySelector('vega-rich-text-link-editor')) ||
3746
+ null);
3747
+ }
3748
+ /**
3749
+ * Gets the popover element rendered by a link editor.
3750
+ *
3751
+ * @param {Nullable<HTMLElement>} linkEditor - Link editor owning the popover.
3752
+ * @returns {Nullable<LinkEditorPopoverElement>} Popover element when available.
3753
+ */
3754
+ getLinkEditorPopover(linkEditor) {
3755
+ var _a;
3756
+ return ((_a = linkEditor === null || linkEditor === void 0 ? void 0 : linkEditor.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('vega-popover')) || null;
3757
+ }
3758
+ /**
3759
+ * Returns the popover content box associated with a link editor.
3760
+ *
3761
+ * @param {Nullable<HTMLElement>} linkEditor - Link editor owning the popover.
3762
+ * @returns {Nullable<HTMLElement>} Popover content box element.
3763
+ */
3764
+ getLinkEditorPopoverContentBox(linkEditor) {
3765
+ var _a, _b;
3766
+ const popover = this.getLinkEditorPopover(linkEditor);
3767
+ return ((_b = (_a = popover === null || popover === void 0 ? void 0 : popover.appenderRenderer) === null || _a === void 0 ? void 0 : _a.getPopoverContentBox) === null || _b === void 0 ? void 0 : _b.call(_a)) || null;
3768
+ }
3769
+ /**
3770
+ * Clears active link editor state and restores focus to the provided wrapper.
3771
+ *
3772
+ * @param {Nullable<HTMLElement>} linkEditor - Link editor that has just hidden.
3773
+ * @param {Nullable<HTMLElement>} [focusTarget] - Optional element to receive focus.
3774
+ */
3775
+ handleLinkPopoverHide(linkEditor, focusTarget) {
3776
+ const resolvedFocusTarget = focusTarget || this.activeLinkWrapper;
3777
+ if (!linkEditor || this.activeLinkEditor === linkEditor) {
3778
+ this.activeLinkEditor = null;
3779
+ this.activeLinkWrapper = null;
3780
+ }
3781
+ if (resolvedFocusTarget) {
3782
+ this.placeLinkCaretAtEnd(resolvedFocusTarget);
3783
+ }
3784
+ }
3785
+ /**
3786
+ * Focuses the first visible link action in the current link popover.
3787
+ *
3788
+ * @param {Nullable<HTMLElement>} [linkWrapper] - Optional focused link wrapper context.
3789
+ * @returns {boolean} True when focus moved to an action button.
3790
+ */
3791
+ focusVisibleLinkPopoverAction(linkWrapper) {
3792
+ var _a;
3793
+ const ownerDocument = ((_a = this.richTextEditorRef) === null || _a === void 0 ? void 0 : _a.ownerDocument) || null;
3794
+ if (!ownerDocument) {
3795
+ return false;
3796
+ }
3797
+ const linkEditor = this.getLinkEditorFromWrapper(linkWrapper || null) || this.activeLinkEditor;
3798
+ const popoverContentBox = this.getPreferredLinkActionPopover(ownerDocument, linkEditor);
3799
+ if (!popoverContentBox) {
3800
+ return false;
3801
+ }
3802
+ const focusableActionButton = this.getFirstFocusableLinkActionButton(popoverContentBox);
3803
+ if (!focusableActionButton) {
3804
+ return false;
3805
+ }
3806
+ focusableActionButton.focus();
3807
+ return true;
3808
+ }
3809
+ /**
3810
+ * Prefers a scoped link-action popover and falls back to globally visible ones.
3811
+ *
3812
+ * @param {Document} ownerDocument - Document owning editor popovers.
3813
+ * @param {Nullable<HTMLElement>} [linkEditor] - Optional scoped link editor.
3814
+ * @returns {Nullable<HTMLElement>} Best popover content box to target.
3815
+ */
3816
+ getPreferredLinkActionPopover(ownerDocument, linkEditor) {
3817
+ const scopedPopoverContentBox = this.getLinkEditorPopoverContentBox(linkEditor || null);
3818
+ if (scopedPopoverContentBox &&
3819
+ !scopedPopoverContentBox.classList.contains('vega-force-hidden') &&
3820
+ this.isLinkActionPopover(scopedPopoverContentBox)) {
3821
+ return scopedPopoverContentBox;
3822
+ }
3823
+ const popoverContentBoxes = Array.from(ownerDocument.querySelectorAll('vega-popover-content-box'));
3824
+ const linkActionPopovers = popoverContentBoxes.filter((box) => this.isLinkActionPopover(box));
3825
+ const visibleLinkActionPopovers = linkActionPopovers.filter((box) => !box.classList.contains('vega-force-hidden'));
3826
+ return visibleLinkActionPopovers[visibleLinkActionPopovers.length - 1] || null;
3827
+ }
3828
+ /**
3829
+ * Checks whether a popover represents the link action menu.
3830
+ *
3831
+ * @param {HTMLElement} popoverContentBox - Popover content box to inspect.
3832
+ * @returns {boolean} True when both edit and unlink actions exist.
3833
+ */
3834
+ isLinkActionPopover(popoverContentBox) {
3835
+ const items = Array.from(popoverContentBox.querySelectorAll('vega-button-group-item'));
3836
+ const hasEditAction = items.some((item) => item.itemKey === 'edit');
3837
+ const hasUnlinkAction = items.some((item) => item.itemKey === 'unlink');
3838
+ return hasEditAction && hasUnlinkAction;
3839
+ }
3840
+ /**
3841
+ * Gets the preferred focusable element from the first link action item.
3842
+ *
3843
+ * @param {HTMLElement} popoverContentBox - Link action popover content box.
3844
+ * @returns {Nullable<HTMLElement>} Focusable anchor or button element.
3845
+ */
3846
+ getFirstFocusableLinkActionButton(popoverContentBox) {
3847
+ var _a, _b, _c, _d;
3848
+ const allItems = Array.from(popoverContentBox.querySelectorAll('vega-button-group-item'));
3849
+ const firstActionItem = allItems.find((item) => item.itemKey === 'edit') ||
3850
+ allItems[0] ||
3851
+ null;
3852
+ if (!firstActionItem) {
3853
+ return null;
3854
+ }
3855
+ const firstActionLinkWrapper = ((_a = firstActionItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('vega-button-link')) || null;
3856
+ const firstActionButtonWrapper = ((_b = firstActionItem.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('vega-button')) || null;
3857
+ return (((_c = firstActionLinkWrapper === null || firstActionLinkWrapper === void 0 ? void 0 : firstActionLinkWrapper.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('a')) ||
3858
+ ((_d = firstActionButtonWrapper === null || firstActionButtonWrapper === void 0 ? void 0 : firstActionButtonWrapper.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('button')) ||
3859
+ null);
3860
+ }
3861
+ /**
3862
+ * Places the editor caret at the end of the link when the popover closes.
3863
+ *
3864
+ * @param {Nullable<HTMLElement>} linkWrapper - The link wrapper element containing link text nodes.
3865
+ */
3866
+ placeLinkCaretAtEnd(linkWrapper) {
3867
+ var _a;
3868
+ if (!linkWrapper) {
3869
+ return;
3870
+ }
3871
+ const allTextSpans = Array.from(linkWrapper.querySelectorAll('span'));
3872
+ if (allTextSpans.length === 0) {
3873
+ return;
3874
+ }
3875
+ const lastTextSpan = allTextSpans[allTextSpans.length - 1];
3876
+ const lastNodeEntity = codeBlock.stateEntityRenderingRegistry.getEntityByDOM(lastTextSpan);
3877
+ if (!lastNodeEntity || lastNodeEntity instanceof codeBlock.RTEBlock) {
3878
+ return;
3879
+ }
3880
+ if (!(lastNodeEntity instanceof codeBlock.RTETextNode)) {
3881
+ return;
3882
+ }
3883
+ const lastNode = lastNodeEntity;
3884
+ const endOffset = ((_a = lastNode.text) === null || _a === void 0 ? void 0 : _a.length) || 0;
3885
+ // Place caret at the end of the link when popover closes
3886
+ this.selectionController.enqueueSelectionRangeFutureState(lastNode, endOffset, lastNode, endOffset, true);
3887
+ }
3888
+ }
3889
+
3890
+ var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3891
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3892
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3893
+ 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;
3894
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
3895
+ };
3896
+ /** Used to monitoring the user input actions by event listener */
3897
+ class UserInputController extends globalSlimmerRegistry.VegaSlimmer {
3898
+ constructor() {
3899
+ super(...arguments);
3900
+ this.insertTextHandler = new InsertTextHandler();
3901
+ this.insertParagraphHandler = new InsertParagraphHandler();
3902
+ this.insertLineBreakHandler = new InsertLineBreakHandler();
3903
+ this.forwardDeleteContentHandler = new ForwardDeleteContentHandler();
3904
+ this.backwardDeleteContentHandler = new BackwardDeleteContentHandler();
3905
+ this.insertPasteHandler = new InsertPasteHandler();
3906
+ this.keyboardLinkHandler = new KeyboardLinkHandler();
3907
+ /**
3908
+ * Dispatches editor keydown events to the keyboard link handler using the shared handler workflow.
3909
+ *
3910
+ * @param {KeyboardEvent} event - The keydown event fired from the editor.
3911
+ */
3912
+ this.handleKeyboardAction = (event) => {
3913
+ this.keyboardLinkHandler.execute(this.value, this.selectionController, this.host, event);
3914
+ };
3915
+ /**
3916
+ * When a user performs an input action within the editable element, this function is triggered.
3917
+ *
3918
+ * @param {InputEvent} e the before input event object
3919
+ */
3920
+ this.handleUserInputAction = (e) => {
3921
+ const inputType = e.inputType;
3922
+ e.preventDefault();
3923
+ this.initValueIfEmpty();
3924
+ // The insertCompositionText type input event can not be prevented, so we process the current action by insertCompositionTextController.
3925
+ // If the focus node is a non-editable element, we do not process the input event.
3926
+ if (inputType === 'insertCompositionText' || this.isFocusNodeNonEditable()) {
3927
+ return;
3928
+ }
3929
+ this.insertCompositionTextController.removeObserver();
3930
+ let updateFlag = false;
3931
+ switch (inputType) {
3932
+ case 'insertParagraph':
3933
+ updateFlag = true;
3934
+ this.insertParagraphHandler.execute(this.value, this.selectionController, this.host, e);
3626
3935
  break;
3627
3936
  case 'insertText':
3628
3937
  updateFlag = true;
@@ -3657,6 +3966,7 @@ class UserInputController extends globalSlimmerRegistry.VegaSlimmer {
3657
3966
  const editableElement = this.getEditableElementRef();
3658
3967
  if (editableElement) {
3659
3968
  editableElement.addEventListener('beforeinput', this.handleUserInputAction);
3969
+ editableElement.addEventListener('keydown', this.handleKeyboardAction);
3660
3970
  editableElement.addEventListener('drop', this.preventDropEvent);
3661
3971
  }
3662
3972
  }
@@ -3667,8 +3977,10 @@ class UserInputController extends globalSlimmerRegistry.VegaSlimmer {
3667
3977
  const editableElement = this.getEditableElementRef();
3668
3978
  if (editableElement) {
3669
3979
  editableElement.removeEventListener('beforeinput', this.handleUserInputAction);
3980
+ editableElement.removeEventListener('keydown', this.handleKeyboardAction);
3670
3981
  editableElement.removeEventListener('drop', this.preventDropEvent);
3671
3982
  }
3983
+ this.keyboardLinkHandler.dispose();
3672
3984
  }
3673
3985
  /**
3674
3986
  * The function `getEditableElementRef` returns a reference to the editable HTMLDivElement within a rich text editor.
@@ -3719,28 +4031,28 @@ class UserInputController extends globalSlimmerRegistry.VegaSlimmer {
3719
4031
  return false;
3720
4032
  }
3721
4033
  }
3722
- __decorate$i([
4034
+ __decorate$k([
3723
4035
  globalSlimmerRegistry.MapToComponentField()
3724
4036
  ], UserInputController.prototype, "host", void 0);
3725
- __decorate$i([
4037
+ __decorate$k([
3726
4038
  globalSlimmerRegistry.MapToComponentField()
3727
4039
  ], UserInputController.prototype, "value", void 0);
3728
- __decorate$i([
4040
+ __decorate$k([
3729
4041
  globalSlimmerRegistry.MapToComponentField()
3730
4042
  ], UserInputController.prototype, "valueController", void 0);
3731
- __decorate$i([
4043
+ __decorate$k([
3732
4044
  globalSlimmerRegistry.MapToComponentField()
3733
4045
  ], UserInputController.prototype, "vegaRichTextEditorRenderer", void 0);
3734
- __decorate$i([
4046
+ __decorate$k([
3735
4047
  globalSlimmerRegistry.MapToComponentField()
3736
4048
  ], UserInputController.prototype, "selectionController", void 0);
3737
- __decorate$i([
4049
+ __decorate$k([
3738
4050
  globalSlimmerRegistry.MapToComponentField()
3739
4051
  ], UserInputController.prototype, "insertCompositionTextController", void 0);
3740
- __decorate$i([
4052
+ __decorate$k([
3741
4053
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
3742
4054
  ], UserInputController.prototype, "addActionListener", null);
3743
- __decorate$i([
4055
+ __decorate$k([
3744
4056
  globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
3745
4057
  ], UserInputController.prototype, "removeActionListener", null);
3746
4058
 
@@ -3760,7 +4072,7 @@ class InsertImageToBlockAction extends codeBlock.ModifyContentAction {
3760
4072
  }
3761
4073
  }
3762
4074
 
3763
- var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4075
+ var __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3764
4076
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3765
4077
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3766
4078
  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;
@@ -3852,26 +4164,26 @@ class InsertImageController extends globalSlimmerRegistry.VegaSlimmer {
3852
4164
  }
3853
4165
  }
3854
4166
  }
3855
- __decorate$h([
4167
+ __decorate$j([
3856
4168
  globalSlimmerRegistry.MapToComponentField()
3857
4169
  ], InsertImageController.prototype, "selectionController", void 0);
3858
- __decorate$h([
4170
+ __decorate$j([
3859
4171
  globalSlimmerRegistry.MapToComponentField()
3860
4172
  ], InsertImageController.prototype, "value", void 0);
3861
- __decorate$h([
4173
+ __decorate$j([
3862
4174
  globalSlimmerRegistry.MapToComponentField()
3863
4175
  ], InsertImageController.prototype, "valueController", void 0);
3864
- __decorate$h([
4176
+ __decorate$j([
3865
4177
  globalSlimmerRegistry.MapToComponentField()
3866
4178
  ], InsertImageController.prototype, "vegaRichTextEditorRenderer", void 0);
3867
- __decorate$h([
4179
+ __decorate$j([
3868
4180
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
3869
4181
  ], InsertImageController.prototype, "registerObserver", null);
3870
- __decorate$h([
4182
+ __decorate$j([
3871
4183
  globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
3872
4184
  ], InsertImageController.prototype, "unRegisterObserver", null);
3873
4185
 
3874
- var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4186
+ var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3875
4187
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3876
4188
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3877
4189
  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;
@@ -3937,20 +4249,20 @@ class FocusController extends globalSlimmerRegistry.VegaSlimmer {
3937
4249
  this.selectionController.setSelectionRange(range);
3938
4250
  }
3939
4251
  }
3940
- __decorate$g([
4252
+ __decorate$i([
3941
4253
  globalSlimmerRegistry.MapToComponentField()
3942
4254
  ], FocusController.prototype, "vegaRichTextEditorRenderer", void 0);
3943
- __decorate$g([
4255
+ __decorate$i([
3944
4256
  globalSlimmerRegistry.MapToComponentField()
3945
4257
  ], FocusController.prototype, "selectionController", void 0);
3946
- __decorate$g([
4258
+ __decorate$i([
3947
4259
  globalSlimmerRegistry.MapToComponentField()
3948
4260
  ], FocusController.prototype, "valueController", void 0);
3949
- __decorate$g([
4261
+ __decorate$i([
3950
4262
  globalSlimmerRegistry.MapToComponentField()
3951
4263
  ], FocusController.prototype, "value", void 0);
3952
4264
 
3953
- var __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4265
+ var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3954
4266
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3955
4267
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3956
4268
  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;
@@ -4160,35 +4472,35 @@ class InsertCompositionTextController extends globalSlimmerRegistry.VegaSlimmer
4160
4472
  this.editableElementRef.dispatchEvent(inputEvent);
4161
4473
  }
4162
4474
  }
4163
- __decorate$f([
4475
+ __decorate$h([
4164
4476
  globalSlimmerRegistry.MapToComponentField()
4165
4477
  ], InsertCompositionTextController.prototype, "selectionController", void 0);
4166
- __decorate$f([
4478
+ __decorate$h([
4167
4479
  globalSlimmerRegistry.MapToComponentField()
4168
4480
  ], InsertCompositionTextController.prototype, "host", void 0);
4169
- __decorate$f([
4481
+ __decorate$h([
4170
4482
  globalSlimmerRegistry.MapToComponentField()
4171
4483
  ], InsertCompositionTextController.prototype, "value", void 0);
4172
- __decorate$f([
4484
+ __decorate$h([
4173
4485
  globalSlimmerRegistry.MapToComponentField()
4174
4486
  ], InsertCompositionTextController.prototype, "valueController", void 0);
4175
- __decorate$f([
4487
+ __decorate$h([
4176
4488
  globalSlimmerRegistry.MapToComponentField()
4177
4489
  ], InsertCompositionTextController.prototype, "userInputController", void 0);
4178
- __decorate$f([
4490
+ __decorate$h([
4179
4491
  globalSlimmerRegistry.MapToComponentField()
4180
4492
  ], InsertCompositionTextController.prototype, "vegaRichTextEditorRenderer", void 0);
4181
- __decorate$f([
4493
+ __decorate$h([
4182
4494
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
4183
4495
  ], InsertCompositionTextController.prototype, "addCompositionTextEventListener", null);
4184
- __decorate$f([
4496
+ __decorate$h([
4185
4497
  globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
4186
4498
  ], InsertCompositionTextController.prototype, "removeCompositionTextEventListener", null);
4187
- __decorate$f([
4499
+ __decorate$h([
4188
4500
  globalSlimmerRegistry.MapToComponentMethod('componentDidRender')
4189
4501
  ], InsertCompositionTextController.prototype, "reConnectObserver", null);
4190
4502
 
4191
- var __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4503
+ var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4192
4504
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4193
4505
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4194
4506
  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;
@@ -4397,23 +4709,23 @@ class DeleteSelectedNodesController extends globalSlimmerRegistry.VegaSlimmer {
4397
4709
  }
4398
4710
  }
4399
4711
  }
4400
- __decorate$e([
4712
+ __decorate$g([
4401
4713
  globalSlimmerRegistry.MapToComponentField()
4402
4714
  ], DeleteSelectedNodesController.prototype, "host", void 0);
4403
- __decorate$e([
4715
+ __decorate$g([
4404
4716
  globalSlimmerRegistry.MapToComponentField()
4405
4717
  ], DeleteSelectedNodesController.prototype, "selectionController", void 0);
4406
- __decorate$e([
4718
+ __decorate$g([
4407
4719
  globalSlimmerRegistry.MapToComponentField()
4408
4720
  ], DeleteSelectedNodesController.prototype, "value", void 0);
4409
- __decorate$e([
4721
+ __decorate$g([
4410
4722
  globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
4411
4723
  ], DeleteSelectedNodesController.prototype, "addDeleteObserver", null);
4412
- __decorate$e([
4724
+ __decorate$g([
4413
4725
  globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
4414
4726
  ], DeleteSelectedNodesController.prototype, "removeDeleteObserver", null);
4415
4727
 
4416
- var __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4728
+ var __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4417
4729
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4418
4730
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4419
4731
  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;
@@ -4490,22 +4802,22 @@ class HistoryController extends componentValueHistoryControllerSlimmer_abstract.
4490
4802
  await this.valueController.flushChanges(content, false);
4491
4803
  }
4492
4804
  }
4493
- __decorate$d([
4805
+ __decorate$f([
4494
4806
  globalSlimmerRegistry.MapToComponentField()
4495
4807
  ], HistoryController.prototype, "host", void 0);
4496
- __decorate$d([
4808
+ __decorate$f([
4497
4809
  globalSlimmerRegistry.MapToComponentField()
4498
4810
  ], HistoryController.prototype, "vegaRichTextEditorRenderer", void 0);
4499
- __decorate$d([
4811
+ __decorate$f([
4500
4812
  globalSlimmerRegistry.MapToComponentField()
4501
4813
  ], HistoryController.prototype, "valueController", void 0);
4502
- __decorate$d([
4814
+ __decorate$f([
4503
4815
  globalSlimmerRegistry.MapToComponentField()
4504
4816
  ], HistoryController.prototype, "value", void 0);
4505
- __decorate$d([
4817
+ __decorate$f([
4506
4818
  globalSlimmerRegistry.MapToComponentField()
4507
4819
  ], HistoryController.prototype, "selectionController", void 0);
4508
- __decorate$d([
4820
+ __decorate$f([
4509
4821
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
4510
4822
  ], HistoryController.prototype, "registerInitState", null);
4511
4823
 
@@ -4526,7 +4838,7 @@ class TransformToCodeBlockAction extends codeBlock.ModifyContentAction {
4526
4838
  }
4527
4839
  }
4528
4840
 
4529
- var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4841
+ var __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4530
4842
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4531
4843
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4532
4844
  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;
@@ -4582,13 +4894,13 @@ class CodeBlockToolbarButtonSlimmer extends imageAnnotationAction.VisualModeTool
4582
4894
  (() => {
4583
4895
  internalIconManager.VegaInternalIconManager.register({ 'rectangle-code': rectangleCode });
4584
4896
  })();
4585
- __decorate$c([
4897
+ __decorate$e([
4586
4898
  globalSlimmerRegistry.MapToComponentField()
4587
4899
  ], CodeBlockToolbarButtonSlimmer.prototype, "selectionController", void 0);
4588
- __decorate$c([
4900
+ __decorate$e([
4589
4901
  globalSlimmerRegistry.MapToComponentField()
4590
4902
  ], CodeBlockToolbarButtonSlimmer.prototype, "valueController", void 0);
4591
- __decorate$c([
4903
+ __decorate$e([
4592
4904
  globalSlimmerRegistry.MapToComponentField()
4593
4905
  ], CodeBlockToolbarButtonSlimmer.prototype, "value", void 0);
4594
4906
 
@@ -4596,7 +4908,7 @@ const undoIcon = {
4596
4908
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2026 Fonticons, Inc. --><path fill="currentColor" d="M464 424c0 13.3 10.7 24 24 24s24-10.7 24-24l0-96c0-53-43-96-96-96l-334.1 0 95-95c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 239c-4.5 4.5-7 10.6-7 17s2.5 12.5 7 17L143 409c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-95-95 334.1 0c26.5 0 48 21.5 48 48l0 96z"/></svg>`,
4597
4909
  };
4598
4910
 
4599
- var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4911
+ var __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4600
4912
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4601
4913
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4602
4914
  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;
@@ -4625,7 +4937,7 @@ class UndoToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
4625
4937
  (() => {
4626
4938
  internalIconManager.VegaInternalIconManager.register({ 'arrow-turn-left': undoIcon });
4627
4939
  })();
4628
- __decorate$b([
4940
+ __decorate$d([
4629
4941
  globalSlimmerRegistry.MapToComponentField()
4630
4942
  ], UndoToolbarButtonSlimmer.prototype, "historyController", void 0);
4631
4943
 
@@ -4633,7 +4945,7 @@ const redoIcon = {
4633
4945
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2026 Fonticons, Inc. --><path fill="currentColor" d="M48 424c0 13.3-10.7 24-24 24S0 437.3 0 424l0-96c0-53 43-96 96-96l334.1 0-95-95c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L505 239c4.5 4.5 7 10.6 7 17s-2.5 12.5-7 17L369 409c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l95-95-334.1 0c-26.5 0-48 21.5-48 48l0 96z"/></svg>`,
4634
4946
  };
4635
4947
 
4636
- var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4948
+ var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4637
4949
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4638
4950
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4639
4951
  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;
@@ -4662,7 +4974,7 @@ class RedoToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
4662
4974
  (() => {
4663
4975
  internalIconManager.VegaInternalIconManager.register({ 'arrow-turn-right': redoIcon });
4664
4976
  })();
4665
- __decorate$a([
4977
+ __decorate$c([
4666
4978
  globalSlimmerRegistry.MapToComponentField()
4667
4979
  ], RedoToolbarButtonSlimmer.prototype, "historyController", void 0);
4668
4980
 
@@ -4733,7 +5045,7 @@ const displayCode = {
4733
5045
  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="M512 48c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H336.5c-.3 0-.6 0-.8 0H240.4c-.3 0-.6 0-.8 0H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H512zM64 416H211.7l-8 48H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H352h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H372.3l-8-48H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64zm188.3 48l8-48h55.3l8 48H252.3zM249 177c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-48 48c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31 31-31zM361 143c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9l-48-48z"/></svg>`,
4734
5046
  };
4735
5047
 
4736
- var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
5048
+ var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4737
5049
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4738
5050
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4739
5051
  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;
@@ -4781,26 +5093,26 @@ class SourceEditToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButton
4781
5093
  (() => {
4782
5094
  internalIconManager.VegaInternalIconManager.register({ 'display-code': displayCode });
4783
5095
  })();
4784
- __decorate$9([
5096
+ __decorate$b([
4785
5097
  globalSlimmerRegistry.MapToComponentField({ writable: true })
4786
5098
  ], SourceEditToolbarButtonSlimmer.prototype, "sourceView", void 0);
4787
- __decorate$9([
5099
+ __decorate$b([
4788
5100
  globalSlimmerRegistry.MapToComponentField()
4789
5101
  ], SourceEditToolbarButtonSlimmer.prototype, "selectionController", void 0);
4790
- __decorate$9([
5102
+ __decorate$b([
4791
5103
  globalSlimmerRegistry.MapToComponentField()
4792
5104
  ], SourceEditToolbarButtonSlimmer.prototype, "valueController", void 0);
4793
- __decorate$9([
5105
+ __decorate$b([
4794
5106
  globalSlimmerRegistry.MapToComponentField()
4795
5107
  ], SourceEditToolbarButtonSlimmer.prototype, "richTextEditorSourceViewRenderer", void 0);
4796
- __decorate$9([
5108
+ __decorate$b([
4797
5109
  globalSlimmerRegistry.MapToComponentField()
4798
5110
  ], SourceEditToolbarButtonSlimmer.prototype, "sourceEditConfig", void 0);
4799
- __decorate$9([
5111
+ __decorate$b([
4800
5112
  globalSlimmerRegistry.MapToComponentField()
4801
5113
  ], SourceEditToolbarButtonSlimmer.prototype, "value", void 0);
4802
5114
 
4803
- var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
5115
+ var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4804
5116
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4805
5117
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4806
5118
  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;
@@ -4915,31 +5227,31 @@ class RTEExtensionController extends globalSlimmerRegistry.VegaSlimmer {
4915
5227
  };
4916
5228
  }
4917
5229
  }
4918
- __decorate$8([
5230
+ __decorate$a([
4919
5231
  globalSlimmerRegistry.MapToComponentField()
4920
5232
  ], RTEExtensionController.prototype, "extensions", void 0);
4921
- __decorate$8([
5233
+ __decorate$a([
4922
5234
  globalSlimmerRegistry.MapToComponentField()
4923
5235
  ], RTEExtensionController.prototype, "host", void 0);
4924
- __decorate$8([
5236
+ __decorate$a([
4925
5237
  globalSlimmerRegistry.MapToComponentField()
4926
5238
  ], RTEExtensionController.prototype, "sourceView", void 0);
4927
- __decorate$8([
5239
+ __decorate$a([
4928
5240
  globalSlimmerRegistry.MapToComponentField()
4929
5241
  ], RTEExtensionController.prototype, "valueController", void 0);
4930
- __decorate$8([
5242
+ __decorate$a([
4931
5243
  globalSlimmerRegistry.MapToComponentField()
4932
5244
  ], RTEExtensionController.prototype, "selectionController", void 0);
4933
- __decorate$8([
5245
+ __decorate$a([
4934
5246
  globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
4935
5247
  ], RTEExtensionController.prototype, "prepareExtensionsBeforeLoad", null);
4936
- __decorate$8([
5248
+ __decorate$a([
4937
5249
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
4938
5250
  ], RTEExtensionController.prototype, "initialExtensionContext", null);
4939
- __decorate$8([
5251
+ __decorate$a([
4940
5252
  globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
4941
5253
  ], RTEExtensionController.prototype, "destroyExtension", null);
4942
- __decorate$8([
5254
+ __decorate$a([
4943
5255
  globalSlimmerRegistry.MapToComponentMethod('watchExtensions')
4944
5256
  ], RTEExtensionController.prototype, "handleExtensionsChange", null);
4945
5257
 
@@ -5110,7 +5422,7 @@ CodeFormatter.VOID_TAGS = new Set([
5110
5422
  CodeFormatter.PRESERVE_CONTENT_TAGS = new Set(['pre']);
5111
5423
  const CodeFormatter$1 = new CodeFormatter();
5112
5424
 
5113
- var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
5425
+ var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
5114
5426
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5115
5427
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5116
5428
  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;
@@ -5210,34 +5522,34 @@ class VegaRichTextEditorSourceViewRenderer extends globalSlimmerRegistry.VegaSli
5210
5522
  });
5211
5523
  }
5212
5524
  }
5213
- __decorate$7([
5525
+ __decorate$9([
5214
5526
  globalSlimmerRegistry.MapToComponentField()
5215
5527
  ], VegaRichTextEditorSourceViewRenderer.prototype, "host", void 0);
5216
- __decorate$7([
5528
+ __decorate$9([
5217
5529
  globalSlimmerRegistry.MapToComponentField()
5218
5530
  ], VegaRichTextEditorSourceViewRenderer.prototype, "allowSourceEdit", void 0);
5219
- __decorate$7([
5531
+ __decorate$9([
5220
5532
  globalSlimmerRegistry.MapToComponentField()
5221
5533
  ], VegaRichTextEditorSourceViewRenderer.prototype, "sourceView", void 0);
5222
- __decorate$7([
5534
+ __decorate$9([
5223
5535
  globalSlimmerRegistry.MapToComponentField()
5224
5536
  ], VegaRichTextEditorSourceViewRenderer.prototype, "value", void 0);
5225
- __decorate$7([
5537
+ __decorate$9([
5226
5538
  globalSlimmerRegistry.MapToComponentField()
5227
5539
  ], VegaRichTextEditorSourceViewRenderer.prototype, "disabled", void 0);
5228
- __decorate$7([
5540
+ __decorate$9([
5229
5541
  globalSlimmerRegistry.MapToComponentField()
5230
5542
  ], VegaRichTextEditorSourceViewRenderer.prototype, "sourceEditConfig", void 0);
5231
- __decorate$7([
5543
+ __decorate$9([
5232
5544
  globalSlimmerRegistry.MapToComponentField()
5233
5545
  ], VegaRichTextEditorSourceViewRenderer.prototype, "sourceCodeChangeEventEmitter", void 0);
5234
- __decorate$7([
5546
+ __decorate$9([
5235
5547
  globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
5236
5548
  ], VegaRichTextEditorSourceViewRenderer.prototype, "clearCodeBlockBlurObserver", null);
5237
5549
 
5238
5550
  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;color:rgba(var(--v-text-primary, 32, 54, 69, 1));margin-top:12px;overflow:hidden;resize:vertical;padding-top:12px;padding-right:16px;padding-bottom:12px;padding-left:16px}: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:3px;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));cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}: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.disabled vega-rich-text-content{pointer-events:none;opacity:0.35}: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:3px;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;justify-content:center;align-items:center;margin-left:6px}.toolbar-btn-group .toolbar-btn-color-preview-box.disabled{opacity:0.35}.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 !important}.source-view-container{margin-top:12px}.source-view-container vega-code-block::part(editor-toolbar){display:none}";
5239
5551
 
5240
- var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
5552
+ var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
5241
5553
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5242
5554
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
5243
5555
  r = Reflect.decorate(decorators, target, key, desc);
@@ -5353,6 +5665,14 @@ const VegaRichTextEditor = class {
5353
5665
  * @vegaVersion 2.88.0
5354
5666
  */
5355
5667
  this.optional = false;
5668
+ /**
5669
+ * Specifies the name attribute used to identify the form field during data submission.
5670
+ * It functions identically to the `data-vega-form` attribute but operates at a lower priority.
5671
+ *
5672
+ * @default ''
5673
+ * @vegaVersion 2.97.0
5674
+ */
5675
+ this.name = '';
5356
5676
  /**
5357
5677
  * Specifies a placeholder string that displays as a
5358
5678
  * temporary hint or example within the rich text editor.
@@ -5496,138 +5816,138 @@ const VegaRichTextEditor = class {
5496
5816
  "extensions": ["watchExtensions"]
5497
5817
  }; }
5498
5818
  };
5499
- __decorate$6([
5819
+ __decorate$8([
5500
5820
  componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
5501
5821
  ], VegaRichTextEditor.prototype, "globalSlimmers", void 0);
5502
- __decorate$6([
5822
+ __decorate$8([
5503
5823
  globalSlimmerRegistry.InjectVegaSlimmer()
5504
5824
  ], VegaRichTextEditor.prototype, "translationSlimmer", void 0);
5505
- __decorate$6([
5825
+ __decorate$8([
5506
5826
  globalSlimmerRegistry.InjectVegaSlimmer()
5507
5827
  ], VegaRichTextEditor.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
5508
- __decorate$6([
5828
+ __decorate$8([
5509
5829
  globalSlimmerRegistry.InjectVegaSlimmer()
5510
5830
  ], VegaRichTextEditor.prototype, "formFieldController", void 0);
5511
- __decorate$6([
5831
+ __decorate$8([
5512
5832
  globalSlimmerRegistry.InjectVegaSlimmer()
5513
5833
  ], VegaRichTextEditor.prototype, "changeEventEmitter", void 0);
5514
- __decorate$6([
5834
+ __decorate$8([
5515
5835
  globalSlimmerRegistry.InjectVegaSlimmer()
5516
5836
  ], VegaRichTextEditor.prototype, "vegaRichTextEditorRenderer", void 0);
5517
- __decorate$6([
5837
+ __decorate$8([
5518
5838
  globalSlimmerRegistry.InjectVegaSlimmer()
5519
5839
  ], VegaRichTextEditor.prototype, "valueController", void 0);
5520
- __decorate$6([
5840
+ __decorate$8([
5521
5841
  globalSlimmerRegistry.InjectVegaSlimmer()
5522
5842
  ], VegaRichTextEditor.prototype, "selectionController", void 0);
5523
- __decorate$6([
5843
+ __decorate$8([
5524
5844
  globalSlimmerRegistry.InjectVegaSlimmer()
5525
5845
  ], VegaRichTextEditor.prototype, "focusController", void 0);
5526
- __decorate$6([
5846
+ __decorate$8([
5527
5847
  globalSlimmerRegistry.InjectVegaSlimmer()
5528
5848
  ], VegaRichTextEditor.prototype, "darkModeStateControllerSlimmer", void 0);
5529
- __decorate$6([
5849
+ __decorate$8([
5530
5850
  globalSlimmerRegistry.InjectVegaSlimmer()
5531
5851
  ], VegaRichTextEditor.prototype, "toolbarRenderer", void 0);
5532
- __decorate$6([
5852
+ __decorate$8([
5533
5853
  globalSlimmerRegistry.InjectVegaSlimmer()
5534
5854
  ], VegaRichTextEditor.prototype, "clearStyleToolbarButtonSlimmer", void 0);
5535
- __decorate$6([
5855
+ __decorate$8([
5536
5856
  globalSlimmerRegistry.InjectVegaSlimmer()
5537
5857
  ], VegaRichTextEditor.prototype, "boldToolbarButtonSlimmer", void 0);
5538
- __decorate$6([
5858
+ __decorate$8([
5539
5859
  globalSlimmerRegistry.InjectVegaSlimmer()
5540
5860
  ], VegaRichTextEditor.prototype, "italicToolbarButtonSlimmer", void 0);
5541
- __decorate$6([
5861
+ __decorate$8([
5542
5862
  globalSlimmerRegistry.InjectVegaSlimmer()
5543
5863
  ], VegaRichTextEditor.prototype, "underlineToolbarButtonSlimmer", void 0);
5544
- __decorate$6([
5864
+ __decorate$8([
5545
5865
  globalSlimmerRegistry.InjectVegaSlimmer()
5546
5866
  ], VegaRichTextEditor.prototype, "textColorToolbarButtonSlimmer", void 0);
5547
- __decorate$6([
5867
+ __decorate$8([
5548
5868
  globalSlimmerRegistry.InjectVegaSlimmer()
5549
5869
  ], VegaRichTextEditor.prototype, "textStylesToolbarButtonSlimmer", void 0);
5550
- __decorate$6([
5870
+ __decorate$8([
5551
5871
  globalSlimmerRegistry.InjectVegaSlimmer()
5552
5872
  ], VegaRichTextEditor.prototype, "codeToolbarButtonSlimmer", void 0);
5553
- __decorate$6([
5873
+ __decorate$8([
5554
5874
  globalSlimmerRegistry.InjectVegaSlimmer()
5555
5875
  ], VegaRichTextEditor.prototype, "strikethroughToolbarButtonSlimmer", void 0);
5556
- __decorate$6([
5876
+ __decorate$8([
5557
5877
  globalSlimmerRegistry.InjectVegaSlimmer()
5558
5878
  ], VegaRichTextEditor.prototype, "imageToolbarButtonSlimmer", void 0);
5559
- __decorate$6([
5879
+ __decorate$8([
5560
5880
  globalSlimmerRegistry.InjectVegaSlimmer()
5561
5881
  ], VegaRichTextEditor.prototype, "linkToolbarButtonSlimmer", void 0);
5562
- __decorate$6([
5882
+ __decorate$8([
5563
5883
  globalSlimmerRegistry.InjectVegaSlimmer()
5564
5884
  ], VegaRichTextEditor.prototype, "moreIndentToolbarButtonSlimmer", void 0);
5565
- __decorate$6([
5885
+ __decorate$8([
5566
5886
  globalSlimmerRegistry.InjectVegaSlimmer()
5567
5887
  ], VegaRichTextEditor.prototype, "lessIndentToolbarButtonSlimmer", void 0);
5568
- __decorate$6([
5888
+ __decorate$8([
5569
5889
  globalSlimmerRegistry.InjectVegaSlimmer()
5570
5890
  ], VegaRichTextEditor.prototype, "bulletsNumbersToolbarButtonSlimmer", void 0);
5571
- __decorate$6([
5891
+ __decorate$8([
5572
5892
  globalSlimmerRegistry.InjectVegaSlimmer()
5573
5893
  ], VegaRichTextEditor.prototype, "horizontalAlignmentToolbarButtonSlimmer", void 0);
5574
- __decorate$6([
5894
+ __decorate$8([
5575
5895
  globalSlimmerRegistry.InjectVegaSlimmer()
5576
5896
  ], VegaRichTextEditor.prototype, "codeBlockToolbarButtonSlimmer", void 0);
5577
- __decorate$6([
5897
+ __decorate$8([
5578
5898
  globalSlimmerRegistry.InjectVegaSlimmer()
5579
5899
  ], VegaRichTextEditor.prototype, "undoToolbarButtonSlimmer", void 0);
5580
- __decorate$6([
5900
+ __decorate$8([
5581
5901
  globalSlimmerRegistry.InjectVegaSlimmer()
5582
5902
  ], VegaRichTextEditor.prototype, "redoToolbarButtonSlimmer", void 0);
5583
- __decorate$6([
5903
+ __decorate$8([
5584
5904
  globalSlimmerRegistry.InjectVegaSlimmer()
5585
5905
  ], VegaRichTextEditor.prototype, "sourceEditToolbarButtonSlimmer", void 0);
5586
- __decorate$6([
5906
+ __decorate$8([
5587
5907
  globalSlimmerRegistry.InjectVegaSlimmer()
5588
5908
  ], VegaRichTextEditor.prototype, "placeholderNotifySlimmer", void 0);
5589
- __decorate$6([
5909
+ __decorate$8([
5590
5910
  globalSlimmerRegistry.InjectVegaSlimmer()
5591
5911
  ], VegaRichTextEditor.prototype, "disabledNotifySlimmer", void 0);
5592
- __decorate$6([
5912
+ __decorate$8([
5593
5913
  globalSlimmerRegistry.InjectVegaSlimmer()
5594
5914
  ], VegaRichTextEditor.prototype, "richTextContentController", void 0);
5595
- __decorate$6([
5915
+ __decorate$8([
5596
5916
  globalSlimmerRegistry.InjectVegaSlimmer()
5597
5917
  ], VegaRichTextEditor.prototype, "userInputController", void 0);
5598
- __decorate$6([
5918
+ __decorate$8([
5599
5919
  globalSlimmerRegistry.InjectVegaSlimmer()
5600
5920
  ], VegaRichTextEditor.prototype, "insertImageController", void 0);
5601
- __decorate$6([
5921
+ __decorate$8([
5602
5922
  globalSlimmerRegistry.InjectVegaSlimmer()
5603
5923
  ], VegaRichTextEditor.prototype, "insertCompositionTextController", void 0);
5604
- __decorate$6([
5924
+ __decorate$8([
5605
5925
  globalSlimmerRegistry.InjectVegaSlimmer()
5606
5926
  ], VegaRichTextEditor.prototype, "imageInsertedEventEmitter", void 0);
5607
- __decorate$6([
5927
+ __decorate$8([
5608
5928
  globalSlimmerRegistry.InjectVegaSlimmer()
5609
5929
  ], VegaRichTextEditor.prototype, "changeEventPreventSlimmer", void 0);
5610
- __decorate$6([
5930
+ __decorate$8([
5611
5931
  globalSlimmerRegistry.InjectVegaSlimmer()
5612
5932
  ], VegaRichTextEditor.prototype, "deleteSelectedNodesController", void 0);
5613
- __decorate$6([
5933
+ __decorate$8([
5614
5934
  globalSlimmerRegistry.InjectVegaSlimmer()
5615
5935
  ], VegaRichTextEditor.prototype, "historyController", void 0);
5616
- __decorate$6([
5936
+ __decorate$8([
5617
5937
  globalSlimmerRegistry.InjectVegaSlimmer()
5618
5938
  ], VegaRichTextEditor.prototype, "internalCodeBlockSelectionController", void 0);
5619
- __decorate$6([
5939
+ __decorate$8([
5620
5940
  globalSlimmerRegistry.InjectVegaSlimmer()
5621
5941
  ], VegaRichTextEditor.prototype, "rteExtensionController", void 0);
5622
- __decorate$6([
5942
+ __decorate$8([
5623
5943
  globalSlimmerRegistry.InjectVegaSlimmer()
5624
5944
  ], VegaRichTextEditor.prototype, "sourceCodeChangeEventEmitter", void 0);
5625
- __decorate$6([
5945
+ __decorate$8([
5626
5946
  globalSlimmerRegistry.InjectVegaSlimmer()
5627
5947
  ], VegaRichTextEditor.prototype, "richTextEditorSourceViewRenderer", void 0);
5628
5948
  VegaRichTextEditor.style = vegaRichTextEditorCss;
5629
5949
 
5630
- var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
5950
+ var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
5631
5951
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5632
5952
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5633
5953
  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;
@@ -5664,34 +5984,34 @@ class VegaRichTextEditorToolbarButtonRenderer extends globalSlimmerRegistry.Vega
5664
5984
  'chevron-up': chevronUp.chevronUp,
5665
5985
  });
5666
5986
  })();
5667
- __decorate$5([
5987
+ __decorate$7([
5668
5988
  globalSlimmerRegistry.MapToComponentField()
5669
5989
  ], VegaRichTextEditorToolbarButtonRenderer.prototype, "disabled", void 0);
5670
- __decorate$5([
5990
+ __decorate$7([
5671
5991
  globalSlimmerRegistry.MapToComponentField()
5672
5992
  ], VegaRichTextEditorToolbarButtonRenderer.prototype, "hidden", void 0);
5673
- __decorate$5([
5993
+ __decorate$7([
5674
5994
  globalSlimmerRegistry.MapToComponentField()
5675
5995
  ], VegaRichTextEditorToolbarButtonRenderer.prototype, "selected", void 0);
5676
- __decorate$5([
5996
+ __decorate$7([
5677
5997
  globalSlimmerRegistry.MapToComponentField()
5678
5998
  ], VegaRichTextEditorToolbarButtonRenderer.prototype, "showArrowIcon", void 0);
5679
- __decorate$5([
5999
+ __decorate$7([
5680
6000
  globalSlimmerRegistry.MapToComponentField()
5681
6001
  ], VegaRichTextEditorToolbarButtonRenderer.prototype, "arrowIcon", void 0);
5682
- __decorate$5([
6002
+ __decorate$7([
5683
6003
  globalSlimmerRegistry.MapToComponentField()
5684
6004
  ], VegaRichTextEditorToolbarButtonRenderer.prototype, "icon", void 0);
5685
- __decorate$5([
6005
+ __decorate$7([
5686
6006
  globalSlimmerRegistry.MapToComponentField()
5687
6007
  ], VegaRichTextEditorToolbarButtonRenderer.prototype, "iconColor", void 0);
5688
- __decorate$5([
6008
+ __decorate$7([
5689
6009
  globalSlimmerRegistry.MapToComponentField()
5690
6010
  ], VegaRichTextEditorToolbarButtonRenderer.prototype, "clickEventEmitter", void 0);
5691
6011
 
5692
6012
  const vegaRichTextEditorToolbarButtonCss = ":host{display:inline-block}:host ::slotted(vega-font.v-font-field-label-sm){line-height:16px}.rich-text-editor-toolbar-btn{display:flex;justify-content:center;align-items:center;border-radius:4px;border:1px solid rgba(var(--v-border-input-field, 171, 198, 216, 1));padding-top:8px;padding-bottom:8px;padding-left:12px;padding-right:12px;cursor:pointer;position:relative;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1))}.rich-text-editor-toolbar-btn:hover{background-color:rgba(var(--v-bg-quaternary, 241, 248, 251, 1));border:1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1));z-index:1}.rich-text-editor-toolbar-btn:active{border:1px solid rgba(var(--v-border-input-field-focus, 19, 98, 226, 1));background-color:rgba(var(--v-bg-quaternary, 241, 248, 251, 1));z-index:1}.rich-text-editor-toolbar-btn:focus-visible{outline:2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));outline-offset:-1px;z-index:2}.rich-text-editor-toolbar-btn.rich-text-editor-toolbar-button-selected{border:1px solid rgba(var(--v-border-input-field-focus, 19, 98, 226, 1));background-color:rgba(var(--v-bg-quaternary, 241, 248, 251, 1));z-index:1}.rich-text-editor-toolbar-btn.rich-text-editor-toolbar-button-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));cursor:not-allowed}.rich-text-editor-toolbar-btn.rich-text-editor-toolbar-button-disabled vega-icon{color:rgba(var(--v-text-disabled, 176, 180, 181, 1))}.rich-text-editor-toolbar-btn.rich-text-editor-toolbar-button-hidden{display:none}";
5693
6013
 
5694
- var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6014
+ var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
5695
6015
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5696
6016
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
5697
6017
  r = Reflect.decorate(decorators, target, key, desc);
@@ -5766,24 +6086,24 @@ const VegaRichTextEditorToolbarButton = class {
5766
6086
  }
5767
6087
  get host() { return index.getElement(this); }
5768
6088
  };
5769
- __decorate$4([
6089
+ __decorate$6([
5770
6090
  componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
5771
6091
  ], VegaRichTextEditorToolbarButton.prototype, "globalSlimmers", void 0);
5772
- __decorate$4([
6092
+ __decorate$6([
5773
6093
  globalSlimmerRegistry.InjectVegaSlimmer()
5774
6094
  ], VegaRichTextEditorToolbarButton.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
5775
- __decorate$4([
6095
+ __decorate$6([
5776
6096
  globalSlimmerRegistry.InjectVegaSlimmer()
5777
6097
  ], VegaRichTextEditorToolbarButton.prototype, "clickEventEmitter", void 0);
5778
- __decorate$4([
6098
+ __decorate$6([
5779
6099
  globalSlimmerRegistry.InjectVegaSlimmer()
5780
6100
  ], VegaRichTextEditorToolbarButton.prototype, "eventPrevent", void 0);
5781
- __decorate$4([
6101
+ __decorate$6([
5782
6102
  globalSlimmerRegistry.InjectVegaSlimmer()
5783
6103
  ], VegaRichTextEditorToolbarButton.prototype, "renderer", void 0);
5784
6104
  VegaRichTextEditorToolbarButton.style = vegaRichTextEditorToolbarButtonCss;
5785
6105
 
5786
- var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6106
+ var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
5787
6107
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5788
6108
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5789
6109
  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;
@@ -5891,34 +6211,34 @@ class VegaRichTextImageEditorRenderer extends globalSlimmerRegistry.VegaSlimmer
5891
6211
  (() => {
5892
6212
  internalIconManager.VegaInternalIconManager.register({ 'trash-can': trashCan.trashCan });
5893
6213
  })();
5894
- __decorate$3([
6214
+ __decorate$5([
5895
6215
  globalSlimmerRegistry.MapToComponentField({ writable: true })
5896
6216
  ], VegaRichTextImageEditorRenderer.prototype, "currentPage", void 0);
5897
- __decorate$3([
6217
+ __decorate$5([
5898
6218
  globalSlimmerRegistry.MapToComponentField({ writable: true })
5899
6219
  ], VegaRichTextImageEditorRenderer.prototype, "selected", void 0);
5900
- __decorate$3([
6220
+ __decorate$5([
5901
6221
  globalSlimmerRegistry.MapToComponentField()
5902
6222
  ], VegaRichTextImageEditorRenderer.prototype, "host", void 0);
5903
- __decorate$3([
6223
+ __decorate$5([
5904
6224
  globalSlimmerRegistry.MapToComponentField()
5905
6225
  ], VegaRichTextImageEditorRenderer.prototype, "alt", void 0);
5906
- __decorate$3([
6226
+ __decorate$5([
5907
6227
  globalSlimmerRegistry.MapToComponentField({ writable: true })
5908
6228
  ], VegaRichTextImageEditorRenderer.prototype, "size", void 0);
5909
- __decorate$3([
6229
+ __decorate$5([
5910
6230
  globalSlimmerRegistry.MapToComponentField()
5911
6231
  ], VegaRichTextImageEditorRenderer.prototype, "changeEventEmitter", void 0);
5912
- __decorate$3([
6232
+ __decorate$5([
5913
6233
  globalSlimmerRegistry.MapToComponentField()
5914
6234
  ], VegaRichTextImageEditorRenderer.prototype, "translationSlimmer", void 0);
5915
- __decorate$3([
6235
+ __decorate$5([
5916
6236
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
5917
6237
  ], VegaRichTextImageEditorRenderer.prototype, "findParentContainerRef", null);
5918
6238
 
5919
6239
  const vegaRichTextImageEditorCss = ":host{display:inline-block}:host(.rte-image-selected){outline:2px solid rgba(var(--v-border-color-tile-selected, 19, 98, 226, 1));outline-offset:-2px}";
5920
6240
 
5921
- var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6241
+ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
5922
6242
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5923
6243
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
5924
6244
  r = Reflect.decorate(decorators, target, key, desc);
@@ -5959,24 +6279,24 @@ const VegaRichTextImageEditor = class {
5959
6279
  }
5960
6280
  get host() { return index.getElement(this); }
5961
6281
  };
5962
- __decorate$2([
6282
+ __decorate$4([
5963
6283
  componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
5964
6284
  ], VegaRichTextImageEditor.prototype, "globalSlimmers", void 0);
5965
- __decorate$2([
6285
+ __decorate$4([
5966
6286
  globalSlimmerRegistry.InjectVegaSlimmer()
5967
6287
  ], VegaRichTextImageEditor.prototype, "translationSlimmer", void 0);
5968
- __decorate$2([
6288
+ __decorate$4([
5969
6289
  globalSlimmerRegistry.InjectVegaSlimmer()
5970
6290
  ], VegaRichTextImageEditor.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
5971
- __decorate$2([
6291
+ __decorate$4([
5972
6292
  globalSlimmerRegistry.InjectVegaSlimmer()
5973
6293
  ], VegaRichTextImageEditor.prototype, "renderer", void 0);
5974
- __decorate$2([
6294
+ __decorate$4([
5975
6295
  globalSlimmerRegistry.InjectVegaSlimmer()
5976
6296
  ], VegaRichTextImageEditor.prototype, "changeEventEmitter", void 0);
5977
6297
  VegaRichTextImageEditor.style = vegaRichTextImageEditorCss;
5978
6298
 
5979
- var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6299
+ var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
5980
6300
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5981
6301
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5982
6302
  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;
@@ -5985,66 +6305,73 @@ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators,
5985
6305
  class VegaRichTextLinkEditorRenderer extends globalSlimmerRegistry.VegaSlimmer {
5986
6306
  constructor() {
5987
6307
  super(...arguments);
5988
- this.handleKeyDown = (e) => {
5989
- if (e.key === 'Enter') {
5990
- void this.formRef.getValue().then(({ text, url }) => {
5991
- const normalizedUrl = this.normalizeUrlByDefaultProtocol(url);
5992
- if (normalizedUrl.length > 0) {
5993
- this.changeEventEmitter.emit({
5994
- action: 'link',
5995
- payload: { text: text || normalizedUrl, url: normalizedUrl },
5996
- });
5997
- void this.popoverRef.hide();
6308
+ this.handlePopoverRef = (ref) => {
6309
+ this.popoverRef = ref;
6310
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaPopoverShow, () => this.linkEditorController.handlePopoverShow());
6311
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaPopoverHide, () => {
6312
+ this.linkEditorController.handlePopoverHide();
6313
+ });
6314
+ };
6315
+ this.handleButtonGroupRef = (node) => {
6316
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, vegaEventId.VegaClick, ({ detail }) => {
6317
+ switch (detail) {
6318
+ case 'edit': {
6319
+ this.linkEditorController.handleEditAction();
6320
+ return;
5998
6321
  }
5999
- });
6322
+ case 'unlink': {
6323
+ void this.linkEditorController.handleUnlinkAction();
6324
+ }
6325
+ }
6326
+ });
6327
+ };
6328
+ this.handleFormRef = (ref) => {
6329
+ this.formRef = ref;
6330
+ };
6331
+ this.handleUrlInputRef = (ref) => {
6332
+ if (ref) {
6333
+ this.urlInputRef = ref;
6000
6334
  }
6001
6335
  };
6002
- }
6003
- /**
6004
- * Component lifecycle - [componentDidLoad]{@link VegaRichTextLinkEditor.componentDidLoad}
6005
- */
6006
- componentDidLoad() {
6007
- this.updatePopoverTarget();
6008
- }
6009
- /**
6010
- * Component lifecycle - [componentDidRender]{@link VegaRichTextLinkEditor.componentDidRender}
6011
- */
6012
- componentDidRender() {
6013
- changeManager.ChangeManager.notify(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalComponentDidRender), {});
6014
- }
6015
- watchStatusChange() {
6016
- if (this.status === 'linkEdit') {
6017
- setTimeout(() => {
6018
- void this.urlInputRef.doFocus();
6336
+ this.handleTextInputRef = (ref) => {
6337
+ this.textInputRef = ref;
6338
+ };
6339
+ this.handleLinkFieldKeyDown = (e) => {
6340
+ this.linkEditorController.handleKeyDown(e);
6341
+ };
6342
+ this.handleUrlVegaChange = (e) => {
6343
+ this.linkEditorController.handleUrlVegaChange(e);
6344
+ };
6345
+ this.handleLinkTypeSelectRef = (ref) => {
6346
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaChange, (payload) => {
6347
+ void this.linkEditorController.handleLinkTypeChange(payload);
6019
6348
  });
6020
- }
6021
- }
6022
- watchTargetChange() {
6023
- this.updatePopoverTarget();
6349
+ };
6350
+ this.handleCancelButtonRef = (ref) => {
6351
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaClick, () => {
6352
+ void this.getPopoverRef().hide();
6353
+ });
6354
+ };
6355
+ this.handleSubmitButtonRef = (ref) => {
6356
+ domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaClick, () => {
6357
+ void this.linkEditorController.submitLink();
6358
+ });
6359
+ };
6024
6360
  }
6025
6361
  getPopoverRef() {
6026
6362
  return this.popoverRef;
6027
6363
  }
6364
+ getFormRef() {
6365
+ return this.formRef;
6366
+ }
6367
+ getUrlInputRef() {
6368
+ return this.urlInputRef;
6369
+ }
6370
+ getTextInputRef() {
6371
+ return this.textInputRef;
6372
+ }
6028
6373
  render() {
6029
- return (index.h("vega-popover", { trigger: "click", alignment: "start", placement: "bottom", showArrow: false, isScreenPosition: true, ref: (ref) => {
6030
- this.popoverRef = ref;
6031
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaPopoverShow, () => {
6032
- var _a, _b, _c;
6033
- if (this.status === 'linkEdit') {
6034
- void this.urlInputRef.doFocus();
6035
- }
6036
- void this.formRef.setValue({
6037
- text: (_a = this.record) === null || _a === void 0 ? void 0 : _a.text,
6038
- url: this.normalizeUrlByDefaultProtocol((_c = (_b = this.record) === null || _b === void 0 ? void 0 : _b.url) !== null && _c !== void 0 ? _c : ''),
6039
- });
6040
- });
6041
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaPopoverHide, () => {
6042
- void this.formRef.reset();
6043
- if (this.resetStatusAfterHide) {
6044
- this.status = 'editOrUnlinkSelection';
6045
- }
6046
- });
6047
- } },
6374
+ return (index.h("vega-popover", { trigger: "click", alignment: "start", placement: "bottom", showArrow: false, isScreenPosition: true, ref: this.handlePopoverRef },
6048
6375
  index.h("span", { slot: "popover-content" },
6049
6376
  index.h("slot", null)),
6050
6377
  index.h("div", { slot: "popover" },
@@ -6053,74 +6380,879 @@ class VegaRichTextLinkEditorRenderer extends globalSlimmerRegistry.VegaSlimmer {
6053
6380
  }
6054
6381
  renderLinkUnlinkContent() {
6055
6382
  return (index.h("vega-box", { display: this.status === 'editOrUnlinkSelection' ? 'block' : 'none' },
6056
- index.h("vega-button-group", { size: "small", variant: "tertiary", ref: (node) => {
6057
- domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(node, vegaEventId.VegaClick, ({ detail }) => {
6058
- switch (detail) {
6059
- case 'edit': {
6060
- this.status = 'linkEdit';
6061
- return;
6062
- }
6063
- case 'unlink': {
6064
- this.changeEventEmitter.emit({ action: 'unlink' });
6065
- void this.popoverRef.hide();
6066
- }
6067
- }
6068
- });
6069
- } },
6383
+ index.h("vega-button-group", { size: "small", variant: "tertiary", ref: this.handleButtonGroupRef, onKeyDown: this.handleLinkFieldKeyDown },
6070
6384
  index.h("vega-button-group-item", { label: this.translationSlimmer.t('Edit'), itemKey: "edit" }),
6071
6385
  index.h("vega-button-group-item", { label: this.translationSlimmer.t('Unlink'), itemKey: "unlink" }))));
6072
6386
  }
6073
6387
  renderLinkEditContent() {
6074
6388
  return (index.h("vega-box", { display: this.status === 'linkEdit' ? 'block' : 'none' },
6075
- index.h("vega-form", { ref: (ref) => (this.formRef = ref) },
6076
- index.h("vega-flex", { style: { width: '419px' }, direction: "col", gap: "size-16" },
6077
- index.h("vega-input", { "data-vega-form": "url", ref: (ref) => {
6078
- this.urlInputRef = ref;
6079
- }, size: "small", label: this.translationSlimmer.t('URL'), onKeyDown: this.handleKeyDown }),
6080
- index.h("vega-input", { size: "small", label: this.translationSlimmer.t('Text'), "data-vega-form": "text", onKeyDown: this.handleKeyDown })))));
6389
+ index.h("vega-flex", { style: { width: '419px' }, direction: "col", gap: "size-16" },
6390
+ this.renderLinkTypeSelector(),
6391
+ index.h("vega-form", { ref: this.handleFormRef },
6392
+ index.h("vega-flex", { direction: "col", gap: "size-16" },
6393
+ this.renderTextInput(),
6394
+ this.renderCurrentLinkTypeEditFields())),
6395
+ this.renderActionButtons())));
6396
+ }
6397
+ renderCurrentLinkTypeEditFields() {
6398
+ switch (this.linkEditorStateManager.getSelectedLinkTypeKey()) {
6399
+ case codeBlock.RTE_EMAIL_LINK_TYPE_KEY:
6400
+ return this.renderEmailLinkEditFields();
6401
+ default:
6402
+ return this.renderUrlLinkEditFields();
6403
+ }
6404
+ }
6405
+ renderTextInput() {
6406
+ return (index.h("vega-input", { size: "small", label: this.translationSlimmer.t('Text'), "data-vega-form": "text", ref: this.handleTextInputRef, onKeyDown: this.handleLinkFieldKeyDown }));
6407
+ }
6408
+ renderEmailLinkEditFields() {
6409
+ return [
6410
+ index.h("vega-input", { key: "emailAddress", "data-vega-form": "emailAddress", required: true, ref: this.handleUrlInputRef, size: "small", label: this.translationSlimmer.t('E-Mail Address'), onVegaChange: this.handleUrlVegaChange, onKeyDown: this.handleLinkFieldKeyDown }),
6411
+ index.h("vega-input", { key: "messageSubject", size: "small", label: this.translationSlimmer.t('Message Subject'), "data-vega-form": "messageSubject", onKeyDown: this.handleLinkFieldKeyDown }),
6412
+ index.h("vega-textarea", { key: "messageBody", label: this.translationSlimmer.t('Message Body'), "data-vega-form": "messageBody", rows: 4, resizable: false }),
6413
+ ];
6081
6414
  }
6082
- updatePopoverTarget() {
6083
- remoteInvocationRegistry.remoteInvocationRegistry.call(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.popoverRef, vegaInternalEventId.VegaInternalPopoverUpdateTarget), this.target);
6415
+ renderUrlLinkEditFields() {
6416
+ return [
6417
+ index.h("vega-input", { key: "url", "data-vega-form": "url", ref: this.handleUrlInputRef, size: "small", label: this.translationSlimmer.t('URL'), required: this.linkTypeConfigController.hasConfiguredLinkTypes(), onVegaChange: this.handleUrlVegaChange, onKeyDown: this.handleLinkFieldKeyDown }),
6418
+ ];
6084
6419
  }
6085
- normalizeUrlByDefaultProtocol(url) {
6086
- const rteHost = ui.findParent(this.host, 'vega-rich-text-editor');
6087
- const linkConfig = linkExtension.VegaRTELinkExtension.configStore.get(rteHost) || {};
6088
- return imageAnnotationAction.normalizeUrlByDefaultProtocol(url, linkConfig.defaultProtocol);
6420
+ renderLinkTypeSelector() {
6421
+ if (!this.linkTypeConfigController.hasConfiguredLinkTypes()) {
6422
+ return null;
6423
+ }
6424
+ return (index.h("vega-input-select", { label: this.translationSlimmer.t('Link Type'), size: "small", source: this.linkTypeConfigController
6425
+ .getConfiguredLinkTypes()
6426
+ .map((item) => ({
6427
+ id: item.key,
6428
+ displayName: this.translationSlimmer.t(item.label),
6429
+ })), vegaDropdownProps: { searchable: false }, value: this.linkEditorStateManager.getSelectedLinkTypeKey(), ref: this.handleLinkTypeSelectRef }));
6430
+ }
6431
+ renderActionButtons() {
6432
+ if (!this.linkTypeConfigController.hasConfiguredLinkTypes()) {
6433
+ return null;
6434
+ }
6435
+ return (index.h("vega-flex", { style: { width: '100%' }, gap: "size-8", alignItems: "center", justifyContent: "end" },
6436
+ index.h("vega-button", { variant: "secondary", label: this.translationSlimmer.t('Cancel'), ref: this.handleCancelButtonRef }),
6437
+ index.h("vega-button", { label: this.translationSlimmer.t('Submit'), disabled: this.linkEditorStateManager.getIsSubmitDisabled(), ref: this.handleSubmitButtonRef })));
6089
6438
  }
6090
6439
  }
6091
- __decorate$1([
6440
+ __decorate$3([
6092
6441
  globalSlimmerRegistry.MapToComponentField()
6093
6442
  ], VegaRichTextLinkEditorRenderer.prototype, "host", void 0);
6094
- __decorate$1([
6095
- globalSlimmerRegistry.MapToComponentField({ writable: true })
6443
+ __decorate$3([
6444
+ globalSlimmerRegistry.MapToComponentField()
6096
6445
  ], VegaRichTextLinkEditorRenderer.prototype, "status", void 0);
6097
- __decorate$1([
6446
+ __decorate$3([
6447
+ globalSlimmerRegistry.MapToComponentField()
6448
+ ], VegaRichTextLinkEditorRenderer.prototype, "translationSlimmer", void 0);
6449
+ __decorate$3([
6450
+ globalSlimmerRegistry.MapToComponentField()
6451
+ ], VegaRichTextLinkEditorRenderer.prototype, "linkEditorController", void 0);
6452
+ __decorate$3([
6453
+ globalSlimmerRegistry.MapToComponentField()
6454
+ ], VegaRichTextLinkEditorRenderer.prototype, "linkTypeConfigController", void 0);
6455
+ __decorate$3([
6456
+ globalSlimmerRegistry.MapToComponentField()
6457
+ ], VegaRichTextLinkEditorRenderer.prototype, "linkEditorStateManager", void 0);
6458
+
6459
+ const urlLinkTypeHandler = {
6460
+ key: 'url',
6461
+ defaultFallbackProtocol: undefined,
6462
+ /** @inheritDoc */
6463
+ getRequiredValue: (record) => { var _a; return (_a = record === null || record === void 0 ? void 0 : record.url) !== null && _a !== void 0 ? _a : ''; },
6464
+ /** @inheritDoc */
6465
+ getTextValue: (formValues) => formValues.text || '',
6466
+ /** @inheritDoc */
6467
+ getFallbackText: () => '',
6468
+ /** @inheritDoc */
6469
+ buildFinalUrl: (formValues, { normalizeUrl }) => normalizeUrl(formValues.url || ''),
6470
+ /** @inheritDoc */
6471
+ getInitialFormValues: (record, { normalizeUrl }) => {
6472
+ var _a, _b;
6473
+ return ({
6474
+ text: (_a = record === null || record === void 0 ? void 0 : record.text) !== null && _a !== void 0 ? _a : '',
6475
+ url: normalizeUrl((_b = record === null || record === void 0 ? void 0 : record.url) !== null && _b !== void 0 ? _b : ''),
6476
+ });
6477
+ },
6478
+ };
6479
+ const emailLinkTypeHandler = {
6480
+ key: 'email',
6481
+ defaultFallbackProtocol: 'mailto:',
6482
+ /** @inheritDoc */
6483
+ getRequiredValue: (record, { parseMailtoUrl }) => {
6484
+ var _a;
6485
+ const { emailAddress } = parseMailtoUrl((_a = record === null || record === void 0 ? void 0 : record.url) !== null && _a !== void 0 ? _a : '');
6486
+ return emailAddress;
6487
+ },
6488
+ /** @inheritDoc */
6489
+ getTextValue: (formValues) => formValues.text || '',
6490
+ /** @inheritDoc */
6491
+ getFallbackText: (formValues) => formValues.emailAddress || '',
6492
+ /** @inheritDoc */
6493
+ buildFinalUrl: (formValues, { buildEmailUrl }) => buildEmailUrl(formValues.emailAddress || '', formValues.messageSubject || '', formValues.messageBody || ''),
6494
+ /** @inheritDoc */
6495
+ getInitialFormValues: (record, { parseMailtoUrl }) => {
6496
+ var _a, _b;
6497
+ const { emailAddress, subject, body } = parseMailtoUrl((_a = record === null || record === void 0 ? void 0 : record.url) !== null && _a !== void 0 ? _a : '');
6498
+ return {
6499
+ text: (_b = record === null || record === void 0 ? void 0 : record.text) !== null && _b !== void 0 ? _b : '',
6500
+ emailAddress,
6501
+ messageSubject: subject,
6502
+ messageBody: body,
6503
+ };
6504
+ },
6505
+ };
6506
+ const LINK_TYPE_HANDLERS = [urlLinkTypeHandler, emailLinkTypeHandler];
6507
+ const LINK_TYPE_HANDLER_MAP = new Map(LINK_TYPE_HANDLERS.map((handler) => [handler.key, handler]));
6508
+
6509
+ /**
6510
+ * Normalizes link URLs and mailto values for the link editor.
6511
+ */
6512
+ class LinkUrlNormalizer {
6513
+ /**
6514
+ * Normalizes a URL with the provided default protocol.
6515
+ *
6516
+ * @param {string} url - URL to normalize.
6517
+ * @param {string} defaultProtocol - Default protocol to apply.
6518
+ * @returns {string} The normalized URL.
6519
+ */
6520
+ normalizeUrlByDefaultProtocol(url, defaultProtocol) {
6521
+ return imageAnnotationAction.normalizeUrlByDefaultProtocol(url, defaultProtocol);
6522
+ }
6523
+ /**
6524
+ * Parses a mailto URL into its structured parts.
6525
+ *
6526
+ * @param {string} url - Mailto URL to parse.
6527
+ * @returns {MailtoUrlParts} The parsed mailto parts.
6528
+ */
6529
+ parseMailtoUrl(url) {
6530
+ var _a, _b;
6531
+ if (!url) {
6532
+ return { emailAddress: '', subject: '', body: '' };
6533
+ }
6534
+ const withoutProtocol = url.startsWith('mailto:') ? url.slice('mailto:'.length) : url;
6535
+ const questionIndex = withoutProtocol.indexOf('?');
6536
+ if (questionIndex === -1) {
6537
+ return {
6538
+ emailAddress: this.decodeURIComponentSafely(withoutProtocol),
6539
+ subject: '',
6540
+ body: '',
6541
+ };
6542
+ }
6543
+ const emailAddress = this.decodeURIComponentSafely(withoutProtocol.slice(0, questionIndex));
6544
+ const params = new URLSearchParams(withoutProtocol.slice(questionIndex + 1));
6545
+ return {
6546
+ emailAddress,
6547
+ subject: (_a = params.get('subject')) !== null && _a !== void 0 ? _a : '',
6548
+ body: (_b = params.get('body')) !== null && _b !== void 0 ? _b : '',
6549
+ };
6550
+ }
6551
+ /**
6552
+ * Builds a mailto URL from the provided fields.
6553
+ *
6554
+ * @param {string} emailAddress - Email address value.
6555
+ * @param {string} subject - Subject value.
6556
+ * @param {string} body - Body value.
6557
+ * @returns {string} The generated mailto URL.
6558
+ */
6559
+ buildEmailLinkUrl(emailAddress, subject, body) {
6560
+ const normalizedEmailAddress = (emailAddress || '').trim().replace(/^(mailto:)+/i, '');
6561
+ if (normalizedEmailAddress.length === 0) {
6562
+ return '';
6563
+ }
6564
+ const queryParams = [];
6565
+ if ((subject || '').trim().length > 0) {
6566
+ queryParams.push(`subject=${encodeURIComponent(subject.trim())}`);
6567
+ }
6568
+ if ((body || '').trim().length > 0) {
6569
+ queryParams.push(`body=${encodeURIComponent(body.trim())}`);
6570
+ }
6571
+ return `mailto:${normalizedEmailAddress}${queryParams.length > 0 ? `?${queryParams.join('&')}` : ''}`;
6572
+ }
6573
+ /**
6574
+ * Decodes a URI component without throwing on malformed input.
6575
+ *
6576
+ * @param {string} value - Encoded value.
6577
+ * @returns {string} The decoded value.
6578
+ */
6579
+ decodeURIComponentSafely(value) {
6580
+ try {
6581
+ return decodeURIComponent(value);
6582
+ }
6583
+ catch (_a) {
6584
+ return value;
6585
+ }
6586
+ }
6587
+ }
6588
+
6589
+ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6590
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6591
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
6592
+ 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;
6593
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6594
+ };
6595
+ /**
6596
+ * Coordinates link editor state, popover behavior, and submit actions.
6597
+ */
6598
+ class LinkEditorController extends globalSlimmerRegistry.VegaSlimmer {
6599
+ constructor() {
6600
+ super(...arguments);
6601
+ this.linkUrlNormalizer = new LinkUrlNormalizer();
6602
+ this.linkTypeHandlers = LINK_TYPE_HANDLER_MAP;
6603
+ }
6604
+ /** Initializes the popover target after the component loads. */
6605
+ componentDidLoad() {
6606
+ this.updatePopoverTarget();
6607
+ }
6608
+ /** Notifies observers after each render cycle. */
6609
+ componentDidRender() {
6610
+ changeManager.ChangeManager.notify(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalComponentDidRender), {});
6611
+ }
6612
+ /** Focuses the URL input when the status changes to linkEdit. */
6613
+ watchStatusChange() {
6614
+ if (this.status === 'linkEdit') {
6615
+ setTimeout(() => {
6616
+ var _a;
6617
+ void ((_a = this.renderer.getUrlInputRef()) === null || _a === void 0 ? void 0 : _a.doFocus());
6618
+ });
6619
+ }
6620
+ }
6621
+ /** Invalidates link type cache and updates the popover target when the target changes. */
6622
+ watchTargetChange() {
6623
+ this.linkTypeConfigController.invalidateConfiguredLinkTypesCache();
6624
+ this.updatePopoverTarget();
6625
+ }
6626
+ /**
6627
+ * Prepares the editor state before the popover is shown.
6628
+ *
6629
+ * @returns {Promise<void>} Resolves when the popover show work completes.
6630
+ * Resolves when the popover show work completes.
6631
+ */
6632
+ async handlePopoverShow() {
6633
+ var _a, _b, _c, _d;
6634
+ this.linkTypeConfigController.invalidateConfiguredLinkTypesCache();
6635
+ this.linkEditorStateManager.clearFormValues();
6636
+ if (this.linkEditorStateManager.getShouldResetStatusOnNextShow()) {
6637
+ this.linkEditorStateManager.setShouldResetStatusOnNextShow(false);
6638
+ if (this.status !== 'editOrUnlinkSelection') {
6639
+ this.status = 'editOrUnlinkSelection';
6640
+ index.forceUpdate(this.host);
6641
+ await this.waitForRender();
6642
+ }
6643
+ }
6644
+ if (this.status === 'linkEdit') {
6645
+ const resolvedKey = this.linkTypeConfigController.resolveInitialLinkTypeKey((_a = this.record) === null || _a === void 0 ? void 0 : _a.linkType, (_b = this.record) === null || _b === void 0 ? void 0 : _b.url);
6646
+ if (resolvedKey !== this.linkEditorStateManager.getSelectedLinkTypeKey()) {
6647
+ this.linkEditorStateManager.setSelectedLinkTypeKey(resolvedKey);
6648
+ this.linkEditorStateManager.setSubmitDisabled(true);
6649
+ await ((_d = (_c = this.renderer.getFormRef()) === null || _c === void 0 ? void 0 : _c.reset) === null || _d === void 0 ? void 0 : _d.call(_c));
6650
+ index.forceUpdate(this.host);
6651
+ await this.waitForRender();
6652
+ }
6653
+ await this.populateEditForm();
6654
+ }
6655
+ }
6656
+ /**
6657
+ * Clears form state after the popover hides.
6658
+ *
6659
+ * @returns {void} No return value.
6660
+ */
6661
+ handlePopoverHide() {
6662
+ var _a, _b;
6663
+ void ((_b = (_a = this.renderer.getFormRef()) === null || _a === void 0 ? void 0 : _a.reset) === null || _b === void 0 ? void 0 : _b.call(_a));
6664
+ this.linkEditorStateManager.clearFormValues();
6665
+ if (this.linkTypeConfigController.hasConfiguredLinkTypes()) {
6666
+ this.updateSubmitDisabledState('');
6667
+ }
6668
+ if (this.resetStatusAfterHide) {
6669
+ this.linkEditorStateManager.setShouldResetStatusOnNextShow(true);
6670
+ }
6671
+ }
6672
+ /**
6673
+ * Switches the editor into link edit mode.
6674
+ *
6675
+ * @returns {void} No return value.
6676
+ */
6677
+ handleEditAction() {
6678
+ var _a, _b;
6679
+ this.linkEditorStateManager.setSelectedLinkTypeKey(this.linkTypeConfigController.resolveInitialLinkTypeKey((_a = this.record) === null || _a === void 0 ? void 0 : _a.linkType, (_b = this.record) === null || _b === void 0 ? void 0 : _b.url));
6680
+ this.status = 'linkEdit';
6681
+ index.forceUpdate(this.host);
6682
+ void this.waitForRender().then(() => this.populateEditForm());
6683
+ }
6684
+ /**
6685
+ * Removes the current selection link and closes the popover.
6686
+ *
6687
+ * @returns {Promise<void>} Resolves when unlinking finishes.
6688
+ */
6689
+ async handleUnlinkAction() {
6690
+ this.changeEventEmitter.emit({ action: 'unlink' });
6691
+ await this.renderer.getPopoverRef().hide();
6692
+ }
6693
+ /**
6694
+ * Updates submit state from URL input changes.
6695
+ *
6696
+ * @param {CustomEvent<string>} e - URL input change event.
6697
+ * @returns {void} No return value.
6698
+ */
6699
+ handleUrlVegaChange(e) {
6700
+ if (this.linkTypeConfigController.hasConfiguredLinkTypes()) {
6701
+ this.updateSubmitDisabledState(e.detail);
6702
+ }
6703
+ }
6704
+ /**
6705
+ * Submits the current link when Enter is pressed or hides the popover when Escape is pressed.
6706
+ *
6707
+ * @param {KeyboardEvent} e - Key down event.
6708
+ * @returns {void} No return value.
6709
+ */
6710
+ handleKeyDown(e) {
6711
+ if (e.key === 'Escape') {
6712
+ void this.renderer.getPopoverRef().hide();
6713
+ return;
6714
+ }
6715
+ if (e.key === 'Enter') {
6716
+ if (this.linkTypeConfigController.hasConfiguredLinkTypes() &&
6717
+ this.linkEditorStateManager.getIsSubmitDisabled()) {
6718
+ return;
6719
+ }
6720
+ void this.submitLink();
6721
+ }
6722
+ }
6723
+ /**
6724
+ * Switches the active form when the link type changes.
6725
+ *
6726
+ * @param {NotifyObserverPayload<string>} payload - Selected link type change payload.
6727
+ * @returns {Promise<void>} Resolves when the link type switch completes.
6728
+ */
6729
+ async handleLinkTypeChange(payload) {
6730
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
6731
+ const previousLinkTypeKey = this.linkEditorStateManager.getSelectedLinkTypeKey();
6732
+ const nextLinkTypeKey = payload.detail ||
6733
+ ((_a = this.linkTypeConfigController.getConfiguredLinkTypes()[0]) === null || _a === void 0 ? void 0 : _a.key) ||
6734
+ codeBlock.RTE_DEFAULT_LINK_TYPE_KEY;
6735
+ if (previousLinkTypeKey === nextLinkTypeKey) {
6736
+ return;
6737
+ }
6738
+ const currentFormValues = (_d = (await ((_c = (_b = this.renderer.getFormRef()) === null || _b === void 0 ? void 0 : _b.getValue) === null || _c === void 0 ? void 0 : _c.call(_b)))) !== null && _d !== void 0 ? _d : {};
6739
+ const currentSharedTextValue = (_e = currentFormValues.text) !== null && _e !== void 0 ? _e : this.linkEditorStateManager.getSharedTextValue();
6740
+ this.linkEditorStateManager.setSharedTextValue(currentSharedTextValue);
6741
+ const currentTypeValues = Object.assign({}, currentFormValues);
6742
+ delete currentTypeValues.text;
6743
+ const hasAnyValue = Object.values(currentTypeValues).some((value) => value);
6744
+ if (hasAnyValue) {
6745
+ this.linkEditorStateManager.cacheFormValues(previousLinkTypeKey, currentTypeValues);
6746
+ }
6747
+ const savedValues = this.linkEditorStateManager.getCachedFormValues(nextLinkTypeKey);
6748
+ this.linkEditorStateManager.setSelectedLinkTypeKey(nextLinkTypeKey);
6749
+ this.linkEditorStateManager.setSubmitDisabled(true);
6750
+ index.forceUpdate(this.host);
6751
+ if (savedValues && ((_f = this.renderer.getFormRef()) === null || _f === void 0 ? void 0 : _f.setValue)) {
6752
+ void this.waitForRender().then(() => this.performFormRestore(Object.assign(Object.assign({}, savedValues), { text: this.linkEditorStateManager.getSharedTextValue() })));
6753
+ return;
6754
+ }
6755
+ await ((_h = (_g = this.renderer.getFormRef()) === null || _g === void 0 ? void 0 : _g.reset) === null || _h === void 0 ? void 0 : _h.call(_g));
6756
+ void this.waitForRender().then(() => { var _a; return (_a = this.renderer.getUrlInputRef()) === null || _a === void 0 ? void 0 : _a.doFocus(); });
6757
+ const sharedTextValue = this.linkEditorStateManager.getSharedTextValue();
6758
+ await ((_k = (_j = this.renderer.getFormRef()) === null || _j === void 0 ? void 0 : _j.setValue) === null || _k === void 0 ? void 0 : _k.call(_j, { text: sharedTextValue }));
6759
+ this.syncTextInputValue(sharedTextValue);
6760
+ }
6761
+ /**
6762
+ * Builds and emits the final link payload.
6763
+ *
6764
+ * @returns {Promise<void>} Resolves when the link submit flow completes.
6765
+ */
6766
+ async submitLink() {
6767
+ var _a, _b, _c, _d;
6768
+ const formValues = (_c = (await ((_b = (_a = this.renderer.getFormRef()) === null || _a === void 0 ? void 0 : _a.getValue) === null || _b === void 0 ? void 0 : _b.call(_a)))) !== null && _c !== void 0 ? _c : {};
6769
+ const selectedLinkTypeKey = this.linkEditorStateManager.getSelectedLinkTypeKey();
6770
+ const handler = this.linkTypeHandlers.get(selectedLinkTypeKey);
6771
+ if (!handler) {
6772
+ return;
6773
+ }
6774
+ const deps = {
6775
+ normalizeUrl: this.normalizeUrlByDefaultProtocol.bind(this),
6776
+ buildEmailUrl: this.buildEmailLinkUrl.bind(this),
6777
+ };
6778
+ const text = handler.getTextValue(formValues);
6779
+ let normalizedUrl = handler.buildFinalUrl(formValues, deps);
6780
+ normalizedUrl = this.preserveExistingMailtoUrlIfUnchanged(formValues, normalizedUrl);
6781
+ if (normalizedUrl.length === 0) {
6782
+ if ((_d = this.record) === null || _d === void 0 ? void 0 : _d.url) {
6783
+ this.changeEventEmitter.emit({ action: 'unlink' });
6784
+ await this.renderer.getPopoverRef().hide();
6785
+ }
6786
+ return;
6787
+ }
6788
+ if (normalizedUrl.length > 0) {
6789
+ this.changeEventEmitter.emit({
6790
+ action: 'link',
6791
+ payload: Object.assign({ text: text || handler.getFallbackText(formValues) || normalizedUrl, url: normalizedUrl }, (this.linkTypeConfigController.hasConfiguredLinkTypes()
6792
+ ? { linkType: selectedLinkTypeKey }
6793
+ : {})),
6794
+ });
6795
+ await this.renderer.getPopoverRef().hide();
6796
+ }
6797
+ }
6798
+ /**
6799
+ * Populates the edit form from the active record.
6800
+ *
6801
+ * @returns {Promise<void>} Resolves when the edit form is populated.
6802
+ */
6803
+ async populateEditForm() {
6804
+ var _a, _b, _c, _d, _e;
6805
+ const handler = this.linkTypeHandlers.get(this.linkEditorStateManager.getSelectedLinkTypeKey());
6806
+ if (!handler) {
6807
+ return;
6808
+ }
6809
+ const deps = {
6810
+ parseMailtoUrl: this.parseMailtoUrl.bind(this),
6811
+ normalizeUrl: this.normalizeUrlByDefaultProtocol.bind(this),
6812
+ };
6813
+ const requiredValue = this.linkTypeConfigController.hasConfiguredLinkTypes()
6814
+ ? handler.getRequiredValue(this.record, deps)
6815
+ : '';
6816
+ const initialFormValues = handler.getInitialFormValues(this.record, deps);
6817
+ this.linkEditorStateManager.setSharedTextValue(initialFormValues.text || '');
6818
+ await ((_b = (_a = this.renderer.getFormRef()) === null || _a === void 0 ? void 0 : _a.setValue) === null || _b === void 0 ? void 0 : _b.call(_a, initialFormValues));
6819
+ this.syncTextInputValue(initialFormValues.text || '');
6820
+ this.updateSubmitDisabledState(requiredValue);
6821
+ await ((_d = (_c = this.renderer.getFormRef()) === null || _c === void 0 ? void 0 : _c.setValue) === null || _d === void 0 ? void 0 : _d.call(_c, handler.getInitialFormValues(this.record, deps)));
6822
+ await ((_e = this.renderer.getUrlInputRef()) === null || _e === void 0 ? void 0 : _e.doFocus());
6823
+ }
6824
+ /**
6825
+ * Updates the popover target via the remote invocation registry.
6826
+ *
6827
+ * @returns {void} No return value.
6828
+ */
6829
+ updatePopoverTarget() {
6830
+ remoteInvocationRegistry.remoteInvocationRegistry.call(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.renderer.getPopoverRef(), vegaInternalEventId.VegaInternalPopoverUpdateTarget), this.target);
6831
+ }
6832
+ /**
6833
+ * Preserves an unchanged mailto URL when the form edits are equivalent.
6834
+ *
6835
+ * @param {Record<string, string>} formValues - Current form values.
6836
+ * @param {string} normalizedUrl - Normalized URL candidate.
6837
+ * @returns {string} The preserved or normalized URL.
6838
+ */
6839
+ preserveExistingMailtoUrlIfUnchanged(formValues, normalizedUrl) {
6840
+ var _a;
6841
+ if (this.linkEditorStateManager.getSelectedLinkTypeKey() !== codeBlock.RTE_EMAIL_LINK_TYPE_KEY ||
6842
+ !((_a = this.record) === null || _a === void 0 ? void 0 : _a.url)) {
6843
+ return normalizedUrl;
6844
+ }
6845
+ const existingUrl = this.record.url;
6846
+ if (!existingUrl.startsWith('mailto:')) {
6847
+ return normalizedUrl;
6848
+ }
6849
+ const existingMailto = this.parseMailtoUrl(existingUrl);
6850
+ const nextEmailAddress = (formValues.emailAddress || '').trim();
6851
+ const nextSubject = (formValues.messageSubject || '').trim();
6852
+ const nextBody = (formValues.messageBody || '').trim();
6853
+ if (nextEmailAddress === existingMailto.emailAddress &&
6854
+ nextSubject === existingMailto.subject &&
6855
+ nextBody === existingMailto.body) {
6856
+ return existingUrl;
6857
+ }
6858
+ return normalizedUrl;
6859
+ }
6860
+ /**
6861
+ * Normalizes a URL using the currently selected link type protocol.
6862
+ *
6863
+ * @param {string} url - URL to normalize.
6864
+ * @returns {string} The normalized URL.
6865
+ */
6866
+ normalizeUrlByDefaultProtocol(url) {
6867
+ return this.linkUrlNormalizer.normalizeUrlByDefaultProtocol(url, this.linkTypeConfigController.getDefaultProtocolForLinkType(this.linkEditorStateManager.getSelectedLinkTypeKey()));
6868
+ }
6869
+ /**
6870
+ * Parses a mailto URL into structured parts.
6871
+ *
6872
+ * @param {string} url - Mailto URL to parse.
6873
+ * @returns {MailtoUrlParts} The parsed mailto parts.
6874
+ */
6875
+ parseMailtoUrl(url) {
6876
+ return this.linkUrlNormalizer.parseMailtoUrl(url);
6877
+ }
6878
+ /**
6879
+ * Builds a mailto URL from the email form fields.
6880
+ *
6881
+ * @param {string} emailAddress - Email address value.
6882
+ * @param {string} subject - Subject value.
6883
+ * @param {string} body - Body value.
6884
+ * @returns {string} The generated mailto URL.
6885
+ */
6886
+ buildEmailLinkUrl(emailAddress, subject, body) {
6887
+ return this.linkUrlNormalizer.buildEmailLinkUrl(emailAddress, subject, body);
6888
+ }
6889
+ /**
6890
+ * Enables or disables submit based on the normalized URL value.
6891
+ *
6892
+ * @param {string} url - URL value to evaluate.
6893
+ * @returns {void} No return value.
6894
+ */
6895
+ updateSubmitDisabledState(url) {
6896
+ const nextDisabled = this.normalizeUrlByDefaultProtocol(url).length === 0;
6897
+ if (this.linkEditorStateManager.getIsSubmitDisabled() !== nextDisabled) {
6898
+ this.linkEditorStateManager.setSubmitDisabled(nextDisabled);
6899
+ index.forceUpdate(this.host);
6900
+ }
6901
+ }
6902
+ /**
6903
+ * Restores cached form values after the next render.
6904
+ *
6905
+ * @param {Record<string, string>} savedValues - Link type-specific values to restore.
6906
+ * @returns {Promise<void>} Resolves after restoring cached values.
6907
+ */
6908
+ async performFormRestore(savedValues) {
6909
+ var _a, _b, _c, _d, _e;
6910
+ await ((_b = (_a = this.renderer.getFormRef()) === null || _a === void 0 ? void 0 : _a.reset) === null || _b === void 0 ? void 0 : _b.call(_a));
6911
+ await ((_d = (_c = this.renderer.getFormRef()) === null || _c === void 0 ? void 0 : _c.setValue) === null || _d === void 0 ? void 0 : _d.call(_c, savedValues));
6912
+ this.syncTextInputValue(savedValues.text || '');
6913
+ const restoredRequiredValue = savedValues.url || savedValues.emailAddress || '';
6914
+ this.updateSubmitDisabledState(restoredRequiredValue);
6915
+ await ((_e = this.renderer.getUrlInputRef()) === null || _e === void 0 ? void 0 : _e.doFocus());
6916
+ }
6917
+ /**
6918
+ * Keeps text input UI in sync as a fallback when form setValue timing misses visual update.
6919
+ *
6920
+ * @param {string} textValue - Text value to display.
6921
+ * @returns {void} No return value.
6922
+ */
6923
+ syncTextInputValue(textValue) {
6924
+ const textInput = this.renderer.getTextInputRef();
6925
+ if (textInput) {
6926
+ textInput.value = textValue;
6927
+ }
6928
+ }
6929
+ /**
6930
+ * Waits for the host to finish rendering.
6931
+ *
6932
+ * @returns {Promise<unknown>} A promise that resolves after the host renders.
6933
+ */
6934
+ waitForRender() {
6935
+ return waitForComponentDidRender.waitForComponentDidRender(this.host);
6936
+ }
6937
+ }
6938
+ __decorate$2([
6939
+ globalSlimmerRegistry.MapToComponentField()
6940
+ ], LinkEditorController.prototype, "host", void 0);
6941
+ __decorate$2([
6098
6942
  globalSlimmerRegistry.MapToComponentField({ writable: true })
6099
- ], VegaRichTextLinkEditorRenderer.prototype, "record", void 0);
6100
- __decorate$1([
6943
+ ], LinkEditorController.prototype, "status", void 0);
6944
+ __decorate$2([
6101
6945
  globalSlimmerRegistry.MapToComponentField()
6102
- ], VegaRichTextLinkEditorRenderer.prototype, "changeEventEmitter", void 0);
6103
- __decorate$1([
6946
+ ], LinkEditorController.prototype, "record", void 0);
6947
+ __decorate$2([
6104
6948
  globalSlimmerRegistry.MapToComponentField()
6105
- ], VegaRichTextLinkEditorRenderer.prototype, "resetStatusAfterHide", void 0);
6106
- __decorate$1([
6949
+ ], LinkEditorController.prototype, "changeEventEmitter", void 0);
6950
+ __decorate$2([
6107
6951
  globalSlimmerRegistry.MapToComponentField()
6108
- ], VegaRichTextLinkEditorRenderer.prototype, "translationSlimmer", void 0);
6109
- __decorate$1([
6952
+ ], LinkEditorController.prototype, "resetStatusAfterHide", void 0);
6953
+ __decorate$2([
6110
6954
  globalSlimmerRegistry.MapToComponentField()
6111
- ], VegaRichTextLinkEditorRenderer.prototype, "target", void 0);
6112
- __decorate$1([
6955
+ ], LinkEditorController.prototype, "target", void 0);
6956
+ __decorate$2([
6957
+ globalSlimmerRegistry.MapToComponentField()
6958
+ ], LinkEditorController.prototype, "renderer", void 0);
6959
+ __decorate$2([
6960
+ globalSlimmerRegistry.MapToComponentField()
6961
+ ], LinkEditorController.prototype, "linkTypeConfigController", void 0);
6962
+ __decorate$2([
6963
+ globalSlimmerRegistry.MapToComponentField()
6964
+ ], LinkEditorController.prototype, "linkEditorStateManager", void 0);
6965
+ __decorate$2([
6113
6966
  globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
6114
- ], VegaRichTextLinkEditorRenderer.prototype, "componentDidLoad", null);
6115
- __decorate$1([
6967
+ ], LinkEditorController.prototype, "componentDidLoad", null);
6968
+ __decorate$2([
6116
6969
  globalSlimmerRegistry.MapToComponentMethod('componentDidRender')
6117
- ], VegaRichTextLinkEditorRenderer.prototype, "componentDidRender", null);
6118
- __decorate$1([
6970
+ ], LinkEditorController.prototype, "componentDidRender", null);
6971
+ __decorate$2([
6119
6972
  globalSlimmerRegistry.MapToComponentMethod('watchStatusChange')
6120
- ], VegaRichTextLinkEditorRenderer.prototype, "watchStatusChange", null);
6121
- __decorate$1([
6973
+ ], LinkEditorController.prototype, "watchStatusChange", null);
6974
+ __decorate$2([
6122
6975
  globalSlimmerRegistry.MapToComponentMethod('watchTargetChange')
6123
- ], VegaRichTextLinkEditorRenderer.prototype, "watchTargetChange", null);
6976
+ ], LinkEditorController.prototype, "watchTargetChange", null);
6977
+
6978
+ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6979
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6980
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
6981
+ 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;
6982
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6983
+ };
6984
+ /**
6985
+ * Resolves configured link types and their defaults.
6986
+ */
6987
+ class LinkTypeConfigController extends globalSlimmerRegistry.VegaSlimmer {
6988
+ constructor() {
6989
+ super(...arguments);
6990
+ this.configuredLinkTypesCache = null;
6991
+ this.linkTypeHandlers = LINK_TYPE_HANDLER_MAP;
6992
+ }
6993
+ /**
6994
+ * Returns the configured link types, using a cache when available.
6995
+ *
6996
+ * @returns {VegaRTELinkType[]} The configured link types.
6997
+ */
6998
+ getConfiguredLinkTypes() {
6999
+ if (this.configuredLinkTypesCache) {
7000
+ return this.configuredLinkTypesCache;
7001
+ }
7002
+ const configuredLinkTypes = this.resolveConfiguredLinkTypes();
7003
+ this.configuredLinkTypesCache = configuredLinkTypes;
7004
+ return configuredLinkTypes;
7005
+ }
7006
+ /**
7007
+ * Clears the cached configured link types.
7008
+ *
7009
+ * @returns {void} No return value.
7010
+ */
7011
+ invalidateConfiguredLinkTypesCache() {
7012
+ this.configuredLinkTypesCache = null;
7013
+ }
7014
+ /**
7015
+ * Resolves the initial link type key for the current record.
7016
+ *
7017
+ * @param {string} recordLinkType - Link type from the active record.
7018
+ * @param {string} recordUrl - URL from the active record.
7019
+ * @returns {string} The resolved initial link type key.
7020
+ */
7021
+ resolveInitialLinkTypeKey(recordLinkType, recordUrl) {
7022
+ var _a;
7023
+ const configuredLinkTypes = this.getConfiguredLinkTypes();
7024
+ if (recordLinkType &&
7025
+ configuredLinkTypes.some((item) => item.key === recordLinkType)) {
7026
+ return recordLinkType;
7027
+ }
7028
+ const normalizedRecordUrl = (recordUrl || '').trim().toLowerCase();
7029
+ if (normalizedRecordUrl.startsWith('mailto:') &&
7030
+ configuredLinkTypes.some((item) => item.key === codeBlock.RTE_EMAIL_LINK_TYPE_KEY)) {
7031
+ return codeBlock.RTE_EMAIL_LINK_TYPE_KEY;
7032
+ }
7033
+ return ((_a = configuredLinkTypes[0]) === null || _a === void 0 ? void 0 : _a.key) || codeBlock.RTE_DEFAULT_LINK_TYPE_KEY;
7034
+ }
7035
+ /**
7036
+ * Returns whether any configured link types are available.
7037
+ *
7038
+ * @returns {boolean} True when configured link types exist.
7039
+ */
7040
+ hasConfiguredLinkTypes() {
7041
+ return this.getConfiguredLinkTypes().length > 0;
7042
+ }
7043
+ /**
7044
+ * Returns the default protocol for a given link type key.
7045
+ *
7046
+ * @param {string} selectedLinkTypeKey - Selected link type key.
7047
+ * @returns {string | undefined} The default protocol, if configured.
7048
+ */
7049
+ getDefaultProtocolForLinkType(selectedLinkTypeKey) {
7050
+ var _a;
7051
+ const linkConfig = this.getLinkConfig();
7052
+ const selectedLinkType = this.getConfiguredLinkTypes().find((item) => item.key === selectedLinkTypeKey);
7053
+ return (_a = selectedLinkType === null || selectedLinkType === void 0 ? void 0 : selectedLinkType.defaultProtocol) !== null && _a !== void 0 ? _a : linkConfig.defaultProtocol;
7054
+ }
7055
+ /**
7056
+ * Returns the active link configuration for the current editor host.
7057
+ *
7058
+ * @returns {VegaRTELinkExtensionConfig} The active link configuration.
7059
+ */
7060
+ getLinkConfig() {
7061
+ const rteHost = ui.findParent(this.host, 'vega-rich-text-editor');
7062
+ return linkExtension.VegaRTELinkExtension.configStore.get(rteHost) || {};
7063
+ }
7064
+ /**
7065
+ * Normalizes configured link types and filters unsupported entries.
7066
+ *
7067
+ * @returns {VegaRTELinkType[]} The normalized configured link types.
7068
+ */
7069
+ resolveConfiguredLinkTypes() {
7070
+ const linkConfig = this.getLinkConfig();
7071
+ const configLinkTypes = linkConfig.linkTypes || [];
7072
+ const normalizedByKey = new Map();
7073
+ configLinkTypes.forEach((item) => {
7074
+ const key = item.key.trim();
7075
+ if (!key || !LinkTypeConfigController.SUPPORTED_LINK_TYPE_KEYS.has(key)) {
7076
+ return;
7077
+ }
7078
+ if (!normalizedByKey.has(key)) {
7079
+ normalizedByKey.set(key, this.normalizeSupportedLinkType(item, key, linkConfig.defaultProtocol));
7080
+ }
7081
+ });
7082
+ if (normalizedByKey.size === 0) {
7083
+ return [];
7084
+ }
7085
+ if (normalizedByKey.has(codeBlock.RTE_EMAIL_LINK_TYPE_KEY)) {
7086
+ return [
7087
+ normalizedByKey.get(codeBlock.RTE_DEFAULT_LINK_TYPE_KEY) ||
7088
+ this.createDefaultUrlLinkType(linkConfig.defaultProtocol),
7089
+ normalizedByKey.get(codeBlock.RTE_EMAIL_LINK_TYPE_KEY),
7090
+ ];
7091
+ }
7092
+ return [
7093
+ normalizedByKey.get(codeBlock.RTE_DEFAULT_LINK_TYPE_KEY) ||
7094
+ this.createDefaultUrlLinkType(linkConfig.defaultProtocol),
7095
+ ];
7096
+ }
7097
+ /**
7098
+ * Creates the default URL link type descriptor.
7099
+ *
7100
+ * @param {string} configDefaultProtocol - Default protocol from config.
7101
+ * @returns {VegaRTELinkType} The default URL link type descriptor.
7102
+ */
7103
+ createDefaultUrlLinkType(configDefaultProtocol) {
7104
+ const normalizedConfigDefaultProtocol = (configDefaultProtocol || '').trim();
7105
+ return {
7106
+ key: codeBlock.RTE_DEFAULT_LINK_TYPE_KEY,
7107
+ label: this.translationSlimmer.t('URL'),
7108
+ defaultProtocol: normalizedConfigDefaultProtocol || undefined,
7109
+ };
7110
+ }
7111
+ /**
7112
+ * Normalizes a supported link type while preserving its key.
7113
+ *
7114
+ * @param {VegaRTELinkType} item - Raw configured link type.
7115
+ * @param {string} key - Normalized link type key.
7116
+ * @param {string} configDefaultProtocol - Default protocol from config.
7117
+ * @returns {VegaRTELinkType} The normalized link type descriptor.
7118
+ */
7119
+ normalizeSupportedLinkType(item, key, configDefaultProtocol) {
7120
+ var _a, _b;
7121
+ const normalizedItemDefaultProtocol = (item.defaultProtocol || '').trim();
7122
+ const normalizedConfigDefaultProtocol = (configDefaultProtocol || '').trim();
7123
+ const handler = this.linkTypeHandlers.get(key);
7124
+ const fallbackDefaultProtocol = (_a = handler === null || handler === void 0 ? void 0 : handler.defaultFallbackProtocol) !== null && _a !== void 0 ? _a : (normalizedConfigDefaultProtocol || undefined);
7125
+ return Object.assign(Object.assign({}, item), { key, label: ((_b = item.label) === null || _b === void 0 ? void 0 : _b.trim()) || this.getDefaultLinkTypeLabel(key), defaultProtocol: normalizedItemDefaultProtocol || fallbackDefaultProtocol });
7126
+ }
7127
+ /**
7128
+ * Returns the translated default label for a link type key.
7129
+ *
7130
+ * @param {string} key - Link type key.
7131
+ * @returns {string} The translated label for the link type.
7132
+ */
7133
+ getDefaultLinkTypeLabel(key) {
7134
+ return key === codeBlock.RTE_EMAIL_LINK_TYPE_KEY
7135
+ ? this.translationSlimmer.t('Email')
7136
+ : this.translationSlimmer.t('URL');
7137
+ }
7138
+ }
7139
+ LinkTypeConfigController.SUPPORTED_LINK_TYPE_KEYS = new Set(codeBlock.RTE_SUPPORTED_LINK_TYPE_KEYS);
7140
+ __decorate$1([
7141
+ globalSlimmerRegistry.MapToComponentField()
7142
+ ], LinkTypeConfigController.prototype, "host", void 0);
7143
+ __decorate$1([
7144
+ globalSlimmerRegistry.MapToComponentField()
7145
+ ], LinkTypeConfigController.prototype, "translationSlimmer", void 0);
7146
+
7147
+ /**
7148
+ * Stores link editor state across popover interactions.
7149
+ */
7150
+ class LinkEditorStateManager extends globalSlimmerRegistry.VegaSlimmer {
7151
+ constructor() {
7152
+ super(...arguments);
7153
+ this.isSubmitDisabled = true;
7154
+ this.selectedLinkTypeKey = codeBlock.RTE_DEFAULT_LINK_TYPE_KEY;
7155
+ this.shouldResetStatusOnNextShow = false;
7156
+ this.formValuesByType = new Map();
7157
+ this.sharedTextValue = '';
7158
+ }
7159
+ /**
7160
+ * Returns whether submit is currently disabled.
7161
+ *
7162
+ * @returns {boolean} True when submit is disabled.
7163
+ */
7164
+ getIsSubmitDisabled() {
7165
+ return this.isSubmitDisabled;
7166
+ }
7167
+ /**
7168
+ * Updates the submit disabled state.
7169
+ *
7170
+ * @param {boolean} isSubmitDisabled - Next disabled state.
7171
+ * @returns {void} No return value.
7172
+ */
7173
+ setSubmitDisabled(isSubmitDisabled) {
7174
+ this.isSubmitDisabled = isSubmitDisabled;
7175
+ }
7176
+ /**
7177
+ * Returns the selected link type key.
7178
+ *
7179
+ * @returns {string} The selected link type key.
7180
+ */
7181
+ getSelectedLinkTypeKey() {
7182
+ return this.selectedLinkTypeKey;
7183
+ }
7184
+ /**
7185
+ * Updates the selected link type key.
7186
+ *
7187
+ * @param {string} selectedLinkTypeKey - Next link type key.
7188
+ * @returns {void} No return value.
7189
+ */
7190
+ setSelectedLinkTypeKey(selectedLinkTypeKey) {
7191
+ this.selectedLinkTypeKey = selectedLinkTypeKey;
7192
+ }
7193
+ /**
7194
+ * Returns whether the status should reset on the next show.
7195
+ *
7196
+ * @returns {boolean} True when the next show should reset the status.
7197
+ */
7198
+ getShouldResetStatusOnNextShow() {
7199
+ return this.shouldResetStatusOnNextShow;
7200
+ }
7201
+ /**
7202
+ * Updates whether the status should reset on the next show.
7203
+ *
7204
+ * @param {boolean} shouldResetStatusOnNextShow - Next reset flag.
7205
+ * @returns {void} No return value.
7206
+ */
7207
+ setShouldResetStatusOnNextShow(shouldResetStatusOnNextShow) {
7208
+ this.shouldResetStatusOnNextShow = shouldResetStatusOnNextShow;
7209
+ }
7210
+ /**
7211
+ * Clears all cached form values.
7212
+ *
7213
+ * @returns {void} No return value.
7214
+ */
7215
+ clearFormValues() {
7216
+ this.formValuesByType.clear();
7217
+ this.sharedTextValue = '';
7218
+ }
7219
+ /**
7220
+ * Returns the text value shared across link types.
7221
+ *
7222
+ * @returns {string} Shared text value.
7223
+ */
7224
+ getSharedTextValue() {
7225
+ return this.sharedTextValue;
7226
+ }
7227
+ /**
7228
+ * Updates the text value shared across link types.
7229
+ *
7230
+ * @param {string} textValue - Next shared text value.
7231
+ * @returns {void} No return value.
7232
+ */
7233
+ setSharedTextValue(textValue) {
7234
+ this.sharedTextValue = textValue;
7235
+ }
7236
+ /**
7237
+ * Stores form values for a given link type key.
7238
+ *
7239
+ * @param {string} linkTypeKey - Link type cache key.
7240
+ * @param {Record<string, string>} formValues - Form values to cache.
7241
+ * @returns {void} No return value.
7242
+ */
7243
+ cacheFormValues(linkTypeKey, formValues) {
7244
+ this.formValuesByType.set(linkTypeKey, formValues);
7245
+ }
7246
+ /**
7247
+ * Returns cached form values for a given link type key.
7248
+ *
7249
+ * @param {string} linkTypeKey - Link type cache key.
7250
+ * @returns {Record<string, string> | undefined} The cached form values, if any.
7251
+ */
7252
+ getCachedFormValues(linkTypeKey) {
7253
+ return this.formValuesByType.get(linkTypeKey);
7254
+ }
7255
+ }
6124
7256
 
6125
7257
  const vegaRichTextLinkEditorCss = ":host{display:contents}:host vega-popover{display:inline}";
6126
7258
 
@@ -6143,6 +7275,9 @@ const VegaRichTextLinkEditor = class {
6143
7275
  this.translationSlimmer = new translationSlimmer.TranslationSlimmer();
6144
7276
  this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer();
6145
7277
  this.renderer = new VegaRichTextLinkEditorRenderer();
7278
+ this.linkEditorController = new LinkEditorController();
7279
+ this.linkTypeConfigController = new LinkTypeConfigController();
7280
+ this.linkEditorStateManager = new LinkEditorStateManager();
6146
7281
  this.changeEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaRichTextLinkEditor, vegaEventId.VegaChange);
6147
7282
  /**
6148
7283
  * Specifies the status of the link editor
@@ -6170,6 +7305,15 @@ const VegaRichTextLinkEditor = class {
6170
7305
  async show() {
6171
7306
  await this.renderer.getPopoverRef().show();
6172
7307
  }
7308
+ /**
7309
+ * Provide a method to hide the link editor popover
7310
+ *
7311
+ * @vegaVersion 2.97.0
7312
+ */
7313
+ async hide() {
7314
+ var _a;
7315
+ await ((_a = this.renderer.getPopoverRef()) === null || _a === void 0 ? void 0 : _a.hide());
7316
+ }
6173
7317
  render() {
6174
7318
  return component.sanitizeVegaComponent(index.h(index.Host, null, this.renderer.render()), this.host);
6175
7319
  }
@@ -6191,6 +7335,15 @@ __decorate([
6191
7335
  __decorate([
6192
7336
  globalSlimmerRegistry.InjectVegaSlimmer()
6193
7337
  ], VegaRichTextLinkEditor.prototype, "renderer", void 0);
7338
+ __decorate([
7339
+ globalSlimmerRegistry.InjectVegaSlimmer()
7340
+ ], VegaRichTextLinkEditor.prototype, "linkEditorController", void 0);
7341
+ __decorate([
7342
+ globalSlimmerRegistry.InjectVegaSlimmer()
7343
+ ], VegaRichTextLinkEditor.prototype, "linkTypeConfigController", void 0);
7344
+ __decorate([
7345
+ globalSlimmerRegistry.InjectVegaSlimmer()
7346
+ ], VegaRichTextLinkEditor.prototype, "linkEditorStateManager", void 0);
6194
7347
  __decorate([
6195
7348
  globalSlimmerRegistry.InjectVegaSlimmer()
6196
7349
  ], VegaRichTextLinkEditor.prototype, "changeEventEmitter", void 0);