@heartlandone/vega 2.88.0 → 2.90.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 (562) hide show
  1. package/dist/cjs/{action-color-accessibility-validator-15fa91e4.js → action-color-accessibility-validator-24498816.js} +2 -2
  2. package/dist/cjs/{app-globals-6fbbcb2f.js → app-globals-08924736.js} +11 -8
  3. package/dist/cjs/{aria-dialog-focusable-trap-slimmer-c2ca46db.js → aria-dialog-focusable-trap-slimmer-a0ff1263.js} +2 -2
  4. package/dist/cjs/{brand-switch-state-controller-slimmer-3d41b2a4.js → brand-switch-state-controller-slimmer-97882447.js} +1 -1
  5. package/dist/cjs/{child-nodes-event-prevent-slimmer-01930b4e.js → child-nodes-event-prevent-slimmer-85a7fdb0.js} +1 -1
  6. package/dist/cjs/{child-nodes-notify-observer-slimmer-34a606b3.js → child-nodes-notify-observer-slimmer-7ae2a78f.js} +1 -1
  7. package/dist/cjs/{code-block-00fee034.js → code-block-89850671.js} +4 -4
  8. package/dist/cjs/{component-value-history-controller-slimmer.abstract-066645b3.js → component-value-history-controller-slimmer.abstract-a8da4087.js} +5 -5
  9. package/dist/cjs/{content-state-d4f54659.js → content-state-e1c3efe6.js} +32 -7
  10. package/dist/cjs/{dark-mode-state-controller-slimmer-8a87ec08.js → dark-mode-state-controller-slimmer-b454645a.js} +1 -1
  11. package/dist/cjs/{dark-mode-style-controller-ed481250.js → dark-mode-style-controller-32d4054a.js} +2 -2
  12. package/dist/cjs/{date-required-rule-4cea8fc8.js → date-required-rule-3437acbc.js} +1 -1
  13. package/dist/cjs/{design-token-ad9f413c.js → design-token-939bf72c.js} +3 -3
  14. package/dist/cjs/{dom-node-subject-observer-factory-ba6a95f3.js → dom-node-subject-observer-factory-c82df135.js} +1 -1
  15. package/dist/cjs/{element-appender-slimmer-d04aa177.js → element-appender-slimmer-14e85a91.js} +5 -5
  16. package/dist/cjs/{event-emit-slimmer-5fd6e54a.js → event-emit-slimmer-146316b2.js} +2 -2
  17. package/dist/cjs/{form-field-controller-slimmer-23d112bd.js → form-field-controller-slimmer-c4ebee27.js} +5 -5
  18. package/dist/cjs/{image-annotation-action-bcf2a1b4.js → image-annotation-action-f86690fd.js} +29 -5
  19. package/dist/cjs/index.cjs.js +26 -25
  20. package/dist/cjs/{inject-keyboard-manager-acaf1530.js → inject-keyboard-manager-743de047.js} +1 -1
  21. package/dist/cjs/{internal-translation-controller-a1250419.js → internal-translation-controller-9785d4e8.js} +9 -2
  22. package/dist/cjs/{internal-vega-event-manager-c515cf5e.js → internal-vega-event-manager-6e49d1ca.js} +3 -3
  23. package/dist/cjs/{keyboard-manager-6821709a.js → keyboard-manager-5396083a.js} +2 -2
  24. package/dist/cjs/{keyboard-manager-slimmer-74528545.js → keyboard-manager-slimmer-eedcfbc8.js} +1 -1
  25. package/dist/cjs/link-extension-dafeeed0.js +583 -0
  26. package/dist/cjs/loader.cjs.js +17 -18
  27. package/dist/cjs/{month-view-generator-61578283.js → month-view-generator-c7492e06.js} +1 -1
  28. package/dist/cjs/{public-rules-d2fbbbf5.js → public-rules-b032050f.js} +11 -11
  29. package/dist/cjs/{range-e797475c.js → range-efdf6f78.js} +2 -2
  30. package/dist/cjs/{replace-selected-text-action-a098523f.js → replace-selected-text-action-0f7b7c78.js} +1 -1
  31. package/dist/cjs/{responsive-format-facade-bf330592.js → responsive-format-facade-d112aa9f.js} +1 -1
  32. package/dist/cjs/{rich-text-editor-required-rule-ba9d42fa.js → rich-text-editor-required-rule-86d9cd4d.js} +1 -1
  33. package/dist/cjs/{split-cell-operation-91ee6894.js → split-cell-operation-b41344bd.js} +5 -5
  34. package/dist/cjs/{state-border-formatter-fd194e53.js → state-border-formatter-c3c9b90d.js} +1 -1
  35. package/dist/cjs/{static-subject-title-5829a298.js → static-subject-title-70c73b16.js} +2 -0
  36. package/dist/cjs/{string-format-strategy.abstract-af9fc35e.js → string-format-strategy.abstract-d51050cd.js} +1 -1
  37. package/dist/cjs/{string-input-formatter-slimmer-a3fb1292.js → string-input-formatter-slimmer-23fdb50e.js} +3 -3
  38. package/dist/cjs/{string-mask-strategy-2054f3fb.js → string-mask-strategy-10fe0f6d.js} +2 -2
  39. package/dist/cjs/{style-formatter-7d60fb70.js → style-formatter-11c95331.js} +2 -2
  40. package/dist/cjs/{sub-state-notify-slimmer-757e3a76.js → sub-state-notify-slimmer-450277b6.js} +1 -1
  41. package/dist/cjs/{sub-state-observer-slimmer-aa93ab4f.js → sub-state-observer-slimmer-5bfe8e97.js} +2 -2
  42. package/dist/cjs/{time-required-rule-ba450bbd.js → time-required-rule-2fd7c828.js} +1 -1
  43. package/dist/cjs/{token-extension-8b69f7e1.js → token-extension-2e3e1631.js} +637 -497
  44. package/dist/cjs/{translation-slimmer-aee3fb1c.js → translation-slimmer-e8549aff.js} +17 -1
  45. package/dist/cjs/{type-guard-424efe26.js → type-guard-9917b11f.js} +1 -1
  46. package/dist/cjs/{ui-3727d685.js → ui-c91c37a7.js} +1 -31
  47. package/dist/cjs/{valid-credit-card-number-rule-6bd5834c.js → valid-credit-card-number-rule-8c541bcd.js} +1 -1
  48. package/dist/cjs/vega-accordion.cjs.entry.js +12 -12
  49. package/dist/cjs/vega-app-footer.cjs.entry.js +3 -3
  50. package/dist/cjs/vega-app-header-button.cjs.entry.js +15 -15
  51. package/dist/cjs/vega-backdrop.cjs.entry.js +1 -1
  52. package/dist/cjs/vega-banner.cjs.entry.js +5 -5
  53. package/dist/cjs/vega-box.cjs.entry.js +8 -8
  54. package/dist/cjs/vega-brand-logo.cjs.entry.js +3 -3
  55. package/dist/cjs/vega-breadcrumb.cjs.entry.js +7 -7
  56. package/dist/cjs/vega-button-circle.cjs.entry.js +12 -12
  57. package/dist/cjs/vega-button-group_2.cjs.entry.js +8 -8
  58. package/dist/cjs/vega-button-link.cjs.entry.js +8 -8
  59. package/dist/cjs/vega-button.cjs.entry.js +10 -10
  60. package/dist/cjs/vega-calendar_4.cjs.entry.js +15 -15
  61. package/dist/cjs/vega-card.cjs.entry.js +7 -7
  62. package/dist/cjs/vega-carousel.cjs.entry.js +9 -9
  63. package/dist/cjs/vega-checkbox_2.cjs.entry.js +159 -23
  64. package/dist/cjs/vega-chip.cjs.entry.js +14 -14
  65. package/dist/cjs/vega-code-block.cjs.entry.js +16 -16
  66. package/dist/cjs/vega-color-picker.cjs.entry.js +21 -11
  67. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +11 -11
  68. package/dist/cjs/vega-color-swatch.cjs.entry.js +8 -8
  69. package/dist/cjs/vega-combo-box.cjs.entry.js +42 -20
  70. package/dist/cjs/vega-date-picker_2.cjs.entry.js +37 -24
  71. package/dist/cjs/vega-dialog_2.cjs.entry.js +11 -11
  72. package/dist/cjs/vega-divider.cjs.entry.js +6 -6
  73. package/dist/cjs/vega-dropdown_5.cjs.entry.js +18 -18
  74. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  75. package/dist/cjs/{vega-event-id-39dedd17.js → vega-event-id-37c1716f.js} +2 -0
  76. package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
  77. package/dist/cjs/vega-field-label.cjs.entry.js +86 -14
  78. package/dist/cjs/vega-file-uploader.cjs.entry.js +10 -10
  79. package/dist/cjs/vega-flag-icon.cjs.entry.js +6 -6
  80. package/dist/cjs/vega-flex.cjs.entry.js +8 -8
  81. package/dist/cjs/vega-font.cjs.entry.js +7 -7
  82. package/dist/cjs/vega-form.cjs.entry.js +13 -13
  83. package/dist/cjs/vega-grid.cjs.entry.js +7 -7
  84. package/dist/cjs/vega-icon.cjs.entry.js +7 -7
  85. package/dist/cjs/vega-image-uploader.cjs.entry.js +29 -16
  86. package/dist/cjs/vega-input-credit-card.cjs.entry.js +25 -15
  87. package/dist/cjs/vega-input-numeric.cjs.entry.js +28 -15
  88. package/dist/cjs/vega-input-passcode.cjs.entry.js +13 -13
  89. package/dist/cjs/vega-input-phone-number.cjs.entry.js +12 -12
  90. package/dist/cjs/vega-input-range.cjs.entry.js +25 -12
  91. package/dist/cjs/vega-input-select.cjs.entry.js +34 -21
  92. package/dist/cjs/vega-input.cjs.entry.js +14 -14
  93. package/dist/cjs/vega-item-toggle.cjs.entry.js +5 -5
  94. package/dist/cjs/vega-left-nav_5.cjs.entry.js +17 -17
  95. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +5 -5
  96. package/dist/cjs/vega-page-notification_2.cjs.entry.js +3 -3
  97. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +5 -5
  98. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +6 -6
  99. package/dist/cjs/vega-pagination.cjs.entry.js +11 -11
  100. package/dist/cjs/vega-popover_2.cjs.entry.js +15 -15
  101. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +11 -11
  102. package/dist/cjs/vega-radio_2.cjs.entry.js +26 -19
  103. package/dist/cjs/vega-rich-text-content.cjs.entry.js +71 -39
  104. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +78 -35
  105. package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +11 -11
  106. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +16 -16
  107. package/dist/cjs/vega-segment-control.cjs.entry.js +6 -6
  108. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +27 -14
  109. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +32 -34
  110. package/dist/cjs/vega-sidenav_3.cjs.entry.js +11 -11
  111. package/dist/cjs/vega-signature-capture.cjs.entry.js +28 -15
  112. package/dist/cjs/vega-stepper.cjs.entry.js +10 -10
  113. package/dist/cjs/vega-tab-group_2.cjs.entry.js +15 -12
  114. package/dist/cjs/vega-table_11.cjs.entry.js +13 -13
  115. package/dist/cjs/vega-text.cjs.entry.js +177 -63
  116. package/dist/cjs/vega-textarea.cjs.entry.js +11 -11
  117. package/dist/cjs/vega-time-picker_2.cjs.entry.js +31 -18
  118. package/dist/cjs/vega-toggle-switch.cjs.entry.js +20 -10
  119. package/dist/cjs/vega-tooltip_2.cjs.entry.js +9 -9
  120. package/dist/cjs/vega.cjs.js +17 -18
  121. package/dist/cjs/{wait-for-component-did-render-a13f7eb9.js → wait-for-component-did-render-762084fc.js} +1 -1
  122. package/dist/collection/components/vega-app-header-button/vega-app-header-button.css +1 -0
  123. package/dist/collection/components/vega-app-header-button/vega-app-header-button.js +2 -2
  124. package/dist/collection/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-collapsed-item-renderer.js +1 -1
  125. package/dist/collection/components/vega-button-link/vega-button-link.css +3 -0
  126. package/dist/collection/components/vega-button-link/vega-button-link.js +1 -1
  127. package/dist/collection/components/vega-checkbox/vega-checkbox-group/vega-checkbox-group.css +8 -11
  128. package/dist/collection/components/vega-checkbox/vega-checkbox-group/vega-checkbox-group.js +131 -11
  129. package/dist/collection/components/vega-checkbox/vega-checkbox.js +148 -6
  130. package/dist/collection/components/vega-chip/vega-chip.css +1 -0
  131. package/dist/collection/components/vega-chip/vega-chip.js +1 -1
  132. package/dist/collection/components/vega-color-picker/vega-color-picker.js +36 -2
  133. package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +14 -2
  134. package/dist/collection/components/vega-combo-box/vega-combo-box.css +12 -0
  135. package/dist/collection/components/vega-combo-box/vega-combo-box.js +44 -1
  136. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-renderer.js +4 -1
  137. package/dist/collection/components/vega-date-picker/vega-date-picker.js +34 -0
  138. package/dist/collection/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.js +69 -0
  139. package/dist/collection/components/vega-field-label/vega-field-label.css +12 -0
  140. package/dist/collection/components/vega-field-label/vega-field-label.js +12 -3
  141. package/dist/collection/components/vega-image-uploader/slimmers/renderers/vega-image-uploader-renderer.js +4 -1
  142. package/dist/collection/components/vega-image-uploader/vega-image-uploader.js +34 -0
  143. package/dist/collection/components/vega-input-credit-card/vega-input-credit-card.js +35 -1
  144. package/dist/collection/components/vega-input-numeric/slimmers/renderers/vega-input-numeric-renderer.js +4 -1
  145. package/dist/collection/components/vega-input-numeric/vega-input-numeric.js +34 -0
  146. package/dist/collection/components/vega-input-range/slimmers/renderers/vega-input-range-renderer.js +4 -1
  147. package/dist/collection/components/vega-input-range/vega-input-range.js +34 -0
  148. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +6 -6
  149. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-renderer.js +4 -1
  150. package/dist/collection/components/vega-input-select/vega-input-select.css +1 -0
  151. package/dist/collection/components/vega-input-select/vega-input-select.js +34 -0
  152. package/dist/collection/components/vega-radio/vega-radio-group/vega-radio-group.css +8 -11
  153. package/dist/collection/components/vega-radio/vega-radio-group/vega-radio-group.js +35 -7
  154. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.js +36 -1
  155. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +15 -12
  156. package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +11 -0
  157. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +1 -1
  158. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/action-handler-strategies/horizontal-line-block-insert-strategy.js +79 -0
  159. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/action-handler-strategies/hr-to-horizontal-line-block-strategy.js +45 -0
  160. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/actions/insert-horizontal-line-block-action.js +14 -0
  161. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/assets/horizontal-line.js +3 -0
  162. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/dto/horizontal-line-annotation.js +63 -0
  163. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/dto/horizontal-line-block.js +89 -0
  164. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/dto/horizontal-line-node.js +32 -0
  165. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/filter-styles-strategies/horizontal-line-block/horizontal-line-filter-styles-strategy.js +45 -0
  166. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/filter-styles-strategies/horizontal-line-block/predicate.js +14 -0
  167. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/horizontal-line-extension.js +41 -0
  168. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/renderers/horizontal-line-block-renderer.js +37 -0
  169. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/renderers/horizontal-line-toolbar-button-renderer.js +77 -0
  170. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +30 -16
  171. package/dist/collection/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.js +1 -1
  172. package/dist/collection/components/vega-rich-text-editor/extensions/link/link-extension.js +34 -0
  173. package/dist/collection/components/vega-rich-text-editor/extensions/link/type.js +1 -0
  174. package/dist/collection/components/vega-rich-text-editor/extensions/link/utils.js +22 -0
  175. package/dist/collection/components/vega-rich-text-editor/extensions/rte-extension-state-store.js +37 -0
  176. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +1 -1
  177. package/dist/collection/components/vega-rich-text-editor/public-api.js +2 -0
  178. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/html-block-strategy.js +8 -0
  179. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-element-to-text-node-strategy.js +18 -1
  180. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +5 -3
  181. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +1 -1
  182. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +39 -1
  183. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.js +13 -4
  184. package/dist/collection/components/vega-segment-control/slimmers/renderers/vega-segment-renderer.js +1 -1
  185. package/dist/collection/components/vega-selection-chip/vega-selection-chip-group/slimmers/renderers/vega-selection-chip-group-renderer.js +4 -1
  186. package/dist/collection/components/vega-selection-chip/vega-selection-chip-group/vega-selection-chip-group.js +34 -0
  187. package/dist/collection/components/vega-selection-tile/vega-selection-tile-group/slimmers/renderers/vega-selection-tile-group-renderer.js +9 -21
  188. package/dist/collection/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.css +1 -38
  189. package/dist/collection/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.js +34 -0
  190. package/dist/collection/components/vega-signature-capture/slimmers/written-mode/renderers/written-mode-renderer.js +4 -1
  191. package/dist/collection/components/vega-signature-capture/vega-signature-capture.js +34 -0
  192. package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-pages-controller.js +4 -2
  193. package/dist/collection/components/vega-tab-group/vega-tab-group.js +5 -4
  194. package/dist/collection/components/vega-text/slimmers/renderers/vega-text-tooltip-renderer.js +153 -61
  195. package/dist/collection/components/vega-text/vega-text.css +37 -0
  196. package/dist/collection/components/vega-text/vega-text.js +48 -0
  197. package/dist/collection/components/vega-textarea/vega-textarea.js +1 -1
  198. package/dist/collection/components/vega-time-picker/slimmers/renderers/vega-time-picker-label-renderer.js +4 -1
  199. package/dist/collection/components/vega-time-picker/vega-time-picker.js +34 -0
  200. package/dist/collection/components/vega-toggle-switch/vega-toggle-switch.js +35 -1
  201. package/dist/collection/constants/ui.js +1 -0
  202. package/dist/collection/global/scripts/before-vega-load.js +4 -0
  203. package/dist/collection/helpers/change-manager/subject/static-subject/static-subject-title.js +1 -0
  204. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +3 -3
  205. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
  206. package/dist/collection/helpers/slimmers/translation/translation-slimmer.js +16 -0
  207. package/dist/collection/helpers/translation/locales/en.js +8 -1
  208. package/dist/esm/{action-color-accessibility-validator-3d8efb64.js → action-color-accessibility-validator-ce55cb07.js} +2 -2
  209. package/dist/esm/{app-globals-98c3d676.js → app-globals-a4134d21.js} +11 -8
  210. package/dist/esm/{aria-dialog-focusable-trap-slimmer-7d9a9f5a.js → aria-dialog-focusable-trap-slimmer-7db3d5a7.js} +2 -2
  211. package/dist/esm/{brand-switch-state-controller-slimmer-60249013.js → brand-switch-state-controller-slimmer-9ca03c81.js} +1 -1
  212. package/dist/esm/{child-nodes-event-prevent-slimmer-2f823df2.js → child-nodes-event-prevent-slimmer-1e3ac106.js} +1 -1
  213. package/dist/esm/{child-nodes-notify-observer-slimmer-8822d0d0.js → child-nodes-notify-observer-slimmer-499a3aa7.js} +1 -1
  214. package/dist/esm/{code-block-6261a99d.js → code-block-9a17d89b.js} +5 -5
  215. package/dist/esm/{component-value-history-controller-slimmer.abstract-07488472.js → component-value-history-controller-slimmer.abstract-a64c3678.js} +5 -5
  216. package/dist/esm/{content-state-9bf85e00.js → content-state-d59b4560.js} +33 -8
  217. package/dist/esm/{dark-mode-state-controller-slimmer-f2b4f8ed.js → dark-mode-state-controller-slimmer-778dd929.js} +1 -1
  218. package/dist/esm/{dark-mode-style-controller-fcda24ec.js → dark-mode-style-controller-ca5afd2d.js} +2 -2
  219. package/dist/esm/{date-required-rule-281aab50.js → date-required-rule-cb960229.js} +1 -1
  220. package/dist/esm/{design-token-b7ce7ed4.js → design-token-f73ebce9.js} +3 -3
  221. package/dist/esm/{dom-node-subject-observer-factory-3897e95b.js → dom-node-subject-observer-factory-ddff8662.js} +1 -1
  222. package/dist/esm/{element-appender-slimmer-3926470f.js → element-appender-slimmer-c62cf540.js} +5 -5
  223. package/dist/esm/{event-emit-slimmer-0990037c.js → event-emit-slimmer-3eb4d8ad.js} +2 -2
  224. package/dist/esm/{form-field-controller-slimmer-24aca6c4.js → form-field-controller-slimmer-514a3195.js} +5 -5
  225. package/dist/esm/{image-annotation-action-dadda36f.js → image-annotation-action-f4ea265c.js} +29 -6
  226. package/dist/esm/index.js +22 -23
  227. package/dist/esm/{inject-keyboard-manager-6317d1b3.js → inject-keyboard-manager-6522df5c.js} +1 -1
  228. package/dist/esm/{internal-translation-controller-0b9589d0.js → internal-translation-controller-653bd7e3.js} +9 -2
  229. package/dist/esm/{internal-vega-event-manager-dc4c3a37.js → internal-vega-event-manager-a9758b6e.js} +3 -3
  230. package/dist/esm/{keyboard-manager-69761aa6.js → keyboard-manager-9615fa9b.js} +2 -2
  231. package/dist/esm/{keyboard-manager-slimmer-c2d038f0.js → keyboard-manager-slimmer-21bdc3a4.js} +1 -1
  232. package/dist/esm/link-extension-be164793.js +576 -0
  233. package/dist/esm/loader.js +17 -18
  234. package/dist/esm/{month-view-generator-4c1ee949.js → month-view-generator-1b7c9bb8.js} +1 -1
  235. package/dist/esm/{public-rules-da28b413.js → public-rules-58f31834.js} +11 -11
  236. package/dist/esm/{range-342cbce9.js → range-1c1c20fa.js} +2 -2
  237. package/dist/esm/{replace-selected-text-action-a45bee4b.js → replace-selected-text-action-1abc5200.js} +1 -1
  238. package/dist/esm/{responsive-format-facade-3ca1422d.js → responsive-format-facade-12697af2.js} +1 -1
  239. package/dist/esm/{rich-text-editor-required-rule-46d0bc5b.js → rich-text-editor-required-rule-050d292b.js} +1 -1
  240. package/dist/esm/{split-cell-operation-1d114aa3.js → split-cell-operation-8251d2a1.js} +5 -5
  241. package/dist/esm/{state-border-formatter-3ebc76a4.js → state-border-formatter-55cee24d.js} +1 -1
  242. package/dist/esm/{static-subject-title-52f93124.js → static-subject-title-1c86e974.js} +2 -1
  243. package/dist/esm/{string-format-strategy.abstract-95d691e1.js → string-format-strategy.abstract-14c1e874.js} +1 -1
  244. package/dist/esm/{string-input-formatter-slimmer-e18d202c.js → string-input-formatter-slimmer-ec297247.js} +3 -3
  245. package/dist/esm/{string-mask-strategy-43d846ac.js → string-mask-strategy-18760123.js} +2 -2
  246. package/dist/esm/{style-formatter-197e2fd3.js → style-formatter-6073ae27.js} +2 -2
  247. package/dist/esm/{sub-state-notify-slimmer-80ac7dee.js → sub-state-notify-slimmer-d5a21bb3.js} +1 -1
  248. package/dist/esm/{sub-state-observer-slimmer-81538a8c.js → sub-state-observer-slimmer-d924288a.js} +2 -2
  249. package/dist/esm/{time-required-rule-78d8ecf1.js → time-required-rule-9b775d24.js} +1 -1
  250. package/dist/esm/{token-extension-30011dc4.js → token-extension-6cb7dcb2.js} +576 -435
  251. package/dist/esm/{translation-slimmer-49903fc8.js → translation-slimmer-d32eb861.js} +17 -1
  252. package/dist/esm/{type-guard-b18807dc.js → type-guard-fd1f4760.js} +1 -1
  253. package/dist/esm/{ui-64815a12.js → ui-d73f756a.js} +2 -30
  254. package/dist/esm/{valid-credit-card-number-rule-fe1c8a9c.js → valid-credit-card-number-rule-dfd3e0a6.js} +1 -1
  255. package/dist/esm/vega-accordion.entry.js +12 -12
  256. package/dist/esm/vega-app-footer.entry.js +3 -3
  257. package/dist/esm/vega-app-header-button.entry.js +15 -15
  258. package/dist/esm/vega-backdrop.entry.js +1 -1
  259. package/dist/esm/vega-banner.entry.js +5 -5
  260. package/dist/esm/vega-box.entry.js +8 -8
  261. package/dist/esm/vega-brand-logo.entry.js +3 -3
  262. package/dist/esm/vega-breadcrumb.entry.js +7 -7
  263. package/dist/esm/vega-button-circle.entry.js +12 -12
  264. package/dist/esm/vega-button-group_2.entry.js +8 -8
  265. package/dist/esm/vega-button-link.entry.js +8 -8
  266. package/dist/esm/vega-button.entry.js +10 -10
  267. package/dist/esm/vega-calendar_4.entry.js +15 -15
  268. package/dist/esm/vega-card.entry.js +7 -7
  269. package/dist/esm/vega-carousel.entry.js +9 -9
  270. package/dist/esm/vega-checkbox_2.entry.js +159 -23
  271. package/dist/esm/vega-chip.entry.js +14 -14
  272. package/dist/esm/vega-code-block.entry.js +16 -16
  273. package/dist/esm/vega-color-picker.entry.js +21 -11
  274. package/dist/esm/vega-color-swatch-picker.entry.js +11 -11
  275. package/dist/esm/vega-color-swatch.entry.js +8 -8
  276. package/dist/esm/vega-combo-box.entry.js +42 -20
  277. package/dist/esm/vega-date-picker_2.entry.js +37 -24
  278. package/dist/esm/vega-dialog_2.entry.js +11 -11
  279. package/dist/esm/vega-divider.entry.js +6 -6
  280. package/dist/esm/vega-dropdown_5.entry.js +18 -18
  281. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  282. package/dist/esm/{vega-event-id-20494454.js → vega-event-id-92848bf5.js} +2 -1
  283. package/dist/esm/vega-field-error.entry.js +1 -1
  284. package/dist/esm/vega-field-label.entry.js +86 -14
  285. package/dist/esm/vega-file-uploader.entry.js +10 -10
  286. package/dist/esm/vega-flag-icon.entry.js +6 -6
  287. package/dist/esm/vega-flex.entry.js +8 -8
  288. package/dist/esm/vega-font.entry.js +7 -7
  289. package/dist/esm/vega-form.entry.js +13 -13
  290. package/dist/esm/vega-grid.entry.js +7 -7
  291. package/dist/esm/vega-icon.entry.js +7 -7
  292. package/dist/esm/vega-image-uploader.entry.js +29 -16
  293. package/dist/esm/vega-input-credit-card.entry.js +25 -15
  294. package/dist/esm/vega-input-numeric.entry.js +28 -15
  295. package/dist/esm/vega-input-passcode.entry.js +13 -13
  296. package/dist/esm/vega-input-phone-number.entry.js +12 -12
  297. package/dist/esm/vega-input-range.entry.js +25 -12
  298. package/dist/esm/vega-input-select.entry.js +34 -21
  299. package/dist/esm/vega-input.entry.js +14 -14
  300. package/dist/esm/vega-item-toggle.entry.js +5 -5
  301. package/dist/esm/vega-left-nav_5.entry.js +17 -17
  302. package/dist/esm/vega-loader-wrapper_2.entry.js +5 -5
  303. package/dist/esm/vega-page-notification_2.entry.js +3 -3
  304. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +5 -5
  305. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +6 -6
  306. package/dist/esm/vega-pagination.entry.js +11 -11
  307. package/dist/esm/vega-popover_2.entry.js +15 -15
  308. package/dist/esm/vega-progress-tracker_2.entry.js +11 -11
  309. package/dist/esm/vega-radio_2.entry.js +26 -19
  310. package/dist/esm/vega-rich-text-content.entry.js +48 -16
  311. package/dist/esm/vega-rich-text-editor_4.entry.js +77 -34
  312. package/dist/esm/vega-rich-text-special-characters-panel.entry.js +11 -11
  313. package/dist/esm/vega-rich-text-table-properties_3.entry.js +16 -16
  314. package/dist/esm/vega-segment-control.entry.js +6 -6
  315. package/dist/esm/vega-selection-chip_2.entry.js +27 -14
  316. package/dist/esm/vega-selection-tile_2.entry.js +32 -34
  317. package/dist/esm/vega-sidenav_3.entry.js +11 -11
  318. package/dist/esm/vega-signature-capture.entry.js +28 -15
  319. package/dist/esm/vega-stepper.entry.js +10 -10
  320. package/dist/esm/vega-tab-group_2.entry.js +15 -12
  321. package/dist/esm/vega-table_11.entry.js +13 -13
  322. package/dist/esm/vega-text.entry.js +177 -63
  323. package/dist/esm/vega-textarea.entry.js +11 -11
  324. package/dist/esm/vega-time-picker_2.entry.js +31 -18
  325. package/dist/esm/vega-toggle-switch.entry.js +20 -10
  326. package/dist/esm/vega-tooltip_2.entry.js +9 -9
  327. package/dist/esm/vega.js +17 -18
  328. package/dist/esm/{wait-for-component-did-render-4069cbea.js → wait-for-component-did-render-b378bf16.js} +1 -1
  329. package/dist/sri/vega-sri-manifest.json +404 -408
  330. package/dist/types/components/vega-checkbox/vega-checkbox-group/vega-checkbox-group.d.ts +51 -2
  331. package/dist/types/components/vega-checkbox/vega-checkbox.d.ts +60 -0
  332. package/dist/types/components/vega-color-picker/vega-color-picker.d.ts +10 -0
  333. package/dist/types/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.d.ts +1 -0
  334. package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +21 -0
  335. package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-renderer.d.ts +1 -0
  336. package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +10 -0
  337. package/dist/types/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.d.ts +21 -0
  338. package/dist/types/components/vega-field-label/vega-field-label.d.ts +2 -0
  339. package/dist/types/components/vega-image-uploader/slimmers/renderers/vega-image-uploader-renderer.d.ts +1 -0
  340. package/dist/types/components/vega-image-uploader/vega-image-uploader.d.ts +10 -0
  341. package/dist/types/components/vega-input-credit-card/vega-input-credit-card.d.ts +10 -0
  342. package/dist/types/components/vega-input-numeric/slimmers/renderers/vega-input-numeric-renderer.d.ts +1 -0
  343. package/dist/types/components/vega-input-numeric/vega-input-numeric.d.ts +10 -0
  344. package/dist/types/components/vega-input-range/slimmers/renderers/vega-input-range-renderer.d.ts +1 -0
  345. package/dist/types/components/vega-input-range/vega-input-range.d.ts +10 -0
  346. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-renderer.d.ts +1 -0
  347. package/dist/types/components/vega-input-select/vega-input-select.d.ts +10 -0
  348. package/dist/types/components/vega-radio/vega-radio-group/vega-radio-group.d.ts +10 -1
  349. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.d.ts +3 -1
  350. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +8 -5
  351. package/dist/types/components/vega-rich-text-editor/extensions/extension.abstract.d.ts +9 -0
  352. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/action-handler-strategies/horizontal-line-block-insert-strategy.d.ts +29 -0
  353. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/action-handler-strategies/hr-to-horizontal-line-block-strategy.d.ts +35 -0
  354. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/actions/insert-horizontal-line-block-action.d.ts +15 -0
  355. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/assets/horizontal-line.d.ts +3 -0
  356. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/dto/horizontal-line-annotation.d.ts +43 -0
  357. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/dto/horizontal-line-block.d.ts +53 -0
  358. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/dto/horizontal-line-node.d.ts +26 -0
  359. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/filter-styles-strategies/horizontal-line-block/horizontal-line-filter-styles-strategy.d.ts +31 -0
  360. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/filter-styles-strategies/horizontal-line-block/predicate.d.ts +12 -0
  361. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/horizontal-line-extension.d.ts +9 -0
  362. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/renderers/horizontal-line-block-renderer.d.ts +16 -0
  363. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/renderers/horizontal-line-toolbar-button-renderer.d.ts +27 -0
  364. package/dist/types/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.d.ts +16 -12
  365. package/dist/types/components/vega-rich-text-editor/extensions/link/link-extension.d.ts +27 -0
  366. package/dist/types/components/vega-rich-text-editor/extensions/link/type.d.ts +15 -0
  367. package/dist/types/components/vega-rich-text-editor/extensions/link/utils.d.ts +8 -0
  368. package/dist/types/components/vega-rich-text-editor/extensions/rte-extension-state-store.d.ts +30 -0
  369. package/dist/types/components/vega-rich-text-editor/public-api.d.ts +3 -0
  370. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.d.ts +1 -1
  371. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +22 -0
  372. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.d.ts +1 -0
  373. package/dist/types/components/vega-selection-chip/vega-selection-chip-group/slimmers/renderers/vega-selection-chip-group-renderer.d.ts +1 -0
  374. package/dist/types/components/vega-selection-chip/vega-selection-chip-group/vega-selection-chip-group.d.ts +10 -0
  375. package/dist/types/components/vega-selection-tile/vega-selection-tile-group/slimmers/renderers/vega-selection-tile-group-renderer.d.ts +2 -1
  376. package/dist/types/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.d.ts +10 -0
  377. package/dist/types/components/vega-signature-capture/slimmers/written-mode/renderers/written-mode-renderer.d.ts +1 -0
  378. package/dist/types/components/vega-signature-capture/vega-signature-capture.d.ts +10 -0
  379. package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-pages-controller.d.ts +3 -2
  380. package/dist/types/components/vega-tab-group/vega-tab-group.d.ts +4 -3
  381. package/dist/types/components/vega-text/slimmers/renderers/vega-text-tooltip-renderer.d.ts +34 -12
  382. package/dist/types/components/vega-text/vega-text.d.ts +19 -0
  383. package/dist/types/components/vega-time-picker/slimmers/renderers/vega-time-picker-label-renderer.d.ts +1 -0
  384. package/dist/types/components/vega-time-picker/vega-time-picker.d.ts +10 -0
  385. package/dist/types/components/vega-toggle-switch/vega-toggle-switch.d.ts +10 -0
  386. package/dist/types/components.d.ts +222 -2
  387. package/dist/types/constants/ui.d.ts +1 -1
  388. package/dist/types/helpers/change-manager/subject/static-subject/static-subject-title.d.ts +2 -1
  389. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
  390. package/dist/types/helpers/slimmers/translation/translation-slimmer.d.ts +11 -0
  391. package/dist/types/helpers/translation/interface.d.ts +8 -1
  392. package/dist/vega/index.esm.js +1 -1
  393. package/dist/vega/{p-d24892d6.entry.js → p-00d2a013.entry.js} +1 -1
  394. package/dist/vega/{p-77fb5d5c.js → p-014cd411.js} +1 -1
  395. package/dist/vega/p-02492864.entry.js +1 -0
  396. package/dist/vega/{p-5c1a4fd7.entry.js → p-0278cd2b.entry.js} +1 -1
  397. package/dist/vega/{p-6bd37d32.js → p-0542b8ac.js} +1 -1
  398. package/dist/vega/p-0a1c7f80.js +1 -0
  399. package/dist/vega/p-0cc4a052.entry.js +1 -0
  400. package/dist/vega/{p-9e0f8b46.entry.js → p-0e298ee8.entry.js} +1 -1
  401. package/dist/vega/p-1827a459.entry.js +1 -0
  402. package/dist/vega/{p-03b32939.entry.js → p-1b4abd76.entry.js} +1 -1
  403. package/dist/vega/{p-4914a5f8.entry.js → p-1d16a7fa.entry.js} +1 -1
  404. package/dist/vega/{p-e5726df7.entry.js → p-1ee185d9.entry.js} +1 -1
  405. package/dist/vega/{p-ce8a0aa6.entry.js → p-203f4ce9.entry.js} +1 -1
  406. package/dist/vega/p-2620a164.js +1 -0
  407. package/dist/vega/{p-416e89b0.entry.js → p-2649051e.entry.js} +1 -1
  408. package/dist/vega/{p-c93dfe23.js → p-277c306b.js} +1 -1
  409. package/dist/vega/{p-c0c13993.entry.js → p-285e5e52.entry.js} +1 -1
  410. package/dist/vega/p-2c7e1bcb.js +1 -0
  411. package/dist/vega/{p-36e46c4f.js → p-30487f0e.js} +1 -1
  412. package/dist/vega/p-306720b8.entry.js +1 -0
  413. package/dist/vega/p-30a6b7aa.entry.js +1 -0
  414. package/dist/vega/{p-7292ac20.js → p-328dbe8e.js} +1 -1
  415. package/dist/vega/p-350d1b75.entry.js +1 -0
  416. package/dist/vega/{p-b5d00d38.entry.js → p-355ea330.entry.js} +1 -1
  417. package/dist/vega/{p-3312e3dd.js → p-35d617d5.js} +1 -1
  418. package/dist/vega/p-3755d8d3.entry.js +1 -0
  419. package/dist/vega/{p-b565a6a5.js → p-3e09aeed.js} +1 -1
  420. package/dist/vega/{p-92710213.entry.js → p-3e956269.entry.js} +1 -1
  421. package/dist/vega/{p-cacec680.js → p-3ed6a602.js} +1 -1
  422. package/dist/vega/{p-d2237b95.entry.js → p-4386625c.entry.js} +1 -1
  423. package/dist/vega/{p-0d3830f1.js → p-44f39eee.js} +1 -1
  424. package/dist/vega/{p-b72d7b57.entry.js → p-44f81987.entry.js} +1 -1
  425. package/dist/vega/{p-b3e97e2f.entry.js → p-456890f5.entry.js} +1 -1
  426. package/dist/vega/p-465590d1.entry.js +1 -0
  427. package/dist/vega/{p-a53e1a60.entry.js → p-4694fe27.entry.js} +1 -1
  428. package/dist/vega/p-46cab60a.js +1 -0
  429. package/dist/vega/{p-341d5e4e.js → p-46e0c6ca.js} +1 -1
  430. package/dist/vega/p-47ffdc0f.entry.js +1 -0
  431. package/dist/vega/p-4edd7f8c.js +1 -0
  432. package/dist/vega/p-4fdd0a71.js +1 -0
  433. package/dist/vega/{p-11e2dcf5.js → p-526e3634.js} +1 -1
  434. package/dist/vega/p-528748fa.js +1 -0
  435. package/dist/vega/p-54141828.entry.js +1 -0
  436. package/dist/vega/{p-e7fb7eee.js → p-566ba295.js} +1 -1
  437. package/dist/vega/{p-01f617ee.entry.js → p-581d89bb.entry.js} +1 -1
  438. package/dist/vega/{p-4f53b45d.entry.js → p-5a6e2c08.entry.js} +1 -1
  439. package/dist/vega/p-5f048811.entry.js +1 -0
  440. package/dist/vega/p-5f377954.js +1 -1
  441. package/dist/vega/p-600f0316.entry.js +1 -0
  442. package/dist/vega/p-616d7096.entry.js +1 -0
  443. package/dist/vega/{p-df4f9264.entry.js → p-6528739f.entry.js} +1 -1
  444. package/dist/vega/{p-d1641644.entry.js → p-667c980d.entry.js} +1 -1
  445. package/dist/vega/{p-b519b9ab.entry.js → p-6845ed5c.entry.js} +1 -1
  446. package/dist/vega/p-6cedb325.js +1 -0
  447. package/dist/vega/{p-b7f30f68.entry.js → p-6d99a0b3.entry.js} +1 -1
  448. package/dist/vega/{p-18d1d404.entry.js → p-6fec4d46.entry.js} +1 -1
  449. package/dist/vega/p-716a393e.entry.js +1 -0
  450. package/dist/vega/p-73ce8fef.js +1 -0
  451. package/dist/vega/p-788a7a5a.js +1 -0
  452. package/dist/vega/{p-1385da31.entry.js → p-7fe292af.entry.js} +1 -1
  453. package/dist/vega/{p-788ada42.js → p-820ff54c.js} +1 -1
  454. package/dist/vega/{p-a73d8915.entry.js → p-8258dc37.entry.js} +1 -1
  455. package/dist/vega/p-82c133aa.js +1 -0
  456. package/dist/vega/{p-0b2ca33b.js → p-844b7826.js} +1 -1
  457. package/dist/vega/{p-0d248322.entry.js → p-850ea38b.entry.js} +1 -1
  458. package/dist/vega/p-85dcd07b.js +3 -0
  459. package/dist/vega/{p-92468c30.entry.js → p-8666f206.entry.js} +1 -1
  460. package/dist/vega/{p-518e0a24.js → p-881622fd.js} +1 -1
  461. package/dist/vega/p-88c29aae.entry.js +1 -0
  462. package/dist/vega/p-8a054a13.js +1 -0
  463. package/dist/vega/{p-ea48decc.js → p-8a34c08a.js} +1 -1
  464. package/dist/vega/{p-ecbead18.entry.js → p-8d9c4338.entry.js} +1 -1
  465. package/dist/vega/p-92e493ea.entry.js +1 -0
  466. package/dist/vega/{p-a87bc75a.entry.js → p-939c486f.entry.js} +1 -1
  467. package/dist/vega/{p-3d6568cc.js → p-97e7da55.js} +1 -1
  468. package/dist/vega/{p-a36d4199.entry.js → p-99545fd7.entry.js} +1 -1
  469. package/dist/vega/p-99ea0fa0.entry.js +1 -0
  470. package/dist/vega/{p-3967fa98.entry.js → p-a05a2f1e.entry.js} +1 -1
  471. package/dist/vega/{p-10fa27d2.js → p-a58cacca.js} +1 -1
  472. package/dist/vega/{p-81d55efd.js → p-a809b33a.js} +1 -1
  473. package/dist/vega/{p-a0fa5ccc.entry.js → p-a9a70696.entry.js} +1 -1
  474. package/dist/vega/{p-b0fb5099.entry.js → p-aae71499.entry.js} +1 -1
  475. package/dist/vega/{p-f7ad9349.js → p-b0f55f5f.js} +1 -1
  476. package/dist/vega/{p-7cd2b93b.js → p-b3420fcf.js} +1 -1
  477. package/dist/vega/p-b5c08306.entry.js +1 -0
  478. package/dist/vega/{p-abfe46ca.js → p-b7c90543.js} +1 -1
  479. package/dist/vega/{p-b31802b3.entry.js → p-bcd3bd79.entry.js} +1 -1
  480. package/dist/vega/p-bce9f489.entry.js +1 -0
  481. package/dist/vega/{p-1d752c37.entry.js → p-c0a6ed53.entry.js} +1 -1
  482. package/dist/vega/{p-7dcc0b23.entry.js → p-c1c5bd2c.entry.js} +1 -1
  483. package/dist/vega/{p-cdd3af89.entry.js → p-c5621f60.entry.js} +1 -1
  484. package/dist/vega/{p-f0d70de3.js → p-c596bb49.js} +1 -1
  485. package/dist/vega/p-c9c42a07.js +1 -0
  486. package/dist/vega/p-cb378636.js +1 -0
  487. package/dist/vega/p-d0e7c14b.entry.js +1 -0
  488. package/dist/vega/{p-919de162.js → p-d2916121.js} +1 -1
  489. package/dist/vega/{p-5424e837.js → p-d319ebb5.js} +1 -1
  490. package/dist/vega/p-d6422004.entry.js +1 -0
  491. package/dist/vega/p-d76cb9da.entry.js +1 -0
  492. package/dist/vega/{p-6629a68b.js → p-d7790113.js} +1 -1
  493. package/dist/vega/{p-b5a3de00.entry.js → p-d871e8eb.entry.js} +1 -1
  494. package/dist/vega/p-d905159c.entry.js +1 -0
  495. package/dist/vega/{p-ba4f23d8.entry.js → p-dfda6e01.entry.js} +1 -1
  496. package/dist/vega/p-e30a4f3e.js +1 -0
  497. package/dist/vega/{p-b2a0d104.entry.js → p-e8c5a446.entry.js} +1 -1
  498. package/dist/vega/{p-fea75b87.js → p-eb927e2b.js} +1 -1
  499. package/dist/vega/{p-9f03856e.js → p-ecea4d24.js} +1 -1
  500. package/dist/vega/{p-c6201e76.entry.js → p-ed1dbc98.entry.js} +1 -1
  501. package/dist/vega/p-f0b99c3a.entry.js +1 -0
  502. package/dist/vega/{p-9c48e4e5.js → p-f0d6e2f2.js} +1 -1
  503. package/dist/vega/p-f251a907.entry.js +1 -0
  504. package/dist/vega/{p-5a960f83.entry.js → p-f5c8024e.entry.js} +1 -1
  505. package/dist/vega/{p-36f3dd19.entry.js → p-f70cfac5.entry.js} +1 -1
  506. package/dist/vega/p-f830deb8.js +1 -0
  507. package/dist/vega/p-f9ae396b.entry.js +1 -0
  508. package/dist/vega/p-fcefb62c.js +1 -0
  509. package/dist/vega/p-fd2a49be.entry.js +1 -0
  510. package/dist/vega/{p-6be01c6b.entry.js → p-fe573f85.entry.js} +1 -1
  511. package/dist/vega/vega.esm.js +1 -1
  512. package/package.json +1 -1
  513. package/dist/cjs/base-renderer-0a3b62b7.js +0 -9
  514. package/dist/cjs/dto-renderer-manager-7eb5c5ce.js +0 -98
  515. package/dist/esm/base-renderer-101f6d04.js +0 -7
  516. package/dist/esm/dto-renderer-manager-abc7eb5f.js +0 -96
  517. package/dist/vega/p-05dc6718.js +0 -1
  518. package/dist/vega/p-0c460945.js +0 -1
  519. package/dist/vega/p-0dafd071.entry.js +0 -1
  520. package/dist/vega/p-0edf9c6e.entry.js +0 -1
  521. package/dist/vega/p-1f563387.js +0 -1
  522. package/dist/vega/p-296c90bd.entry.js +0 -1
  523. package/dist/vega/p-30f76962.js +0 -3
  524. package/dist/vega/p-3186995a.entry.js +0 -1
  525. package/dist/vega/p-3ab50c06.entry.js +0 -1
  526. package/dist/vega/p-3e2e4b00.entry.js +0 -1
  527. package/dist/vega/p-50958342.js +0 -1
  528. package/dist/vega/p-540bd78a.entry.js +0 -1
  529. package/dist/vega/p-54ed506c.entry.js +0 -1
  530. package/dist/vega/p-5c8522eb.entry.js +0 -1
  531. package/dist/vega/p-6205288e.entry.js +0 -1
  532. package/dist/vega/p-696d7b8f.js +0 -1
  533. package/dist/vega/p-6ab23e89.entry.js +0 -1
  534. package/dist/vega/p-70e0c3eb.entry.js +0 -1
  535. package/dist/vega/p-7168ef16.entry.js +0 -1
  536. package/dist/vega/p-7348a091.entry.js +0 -1
  537. package/dist/vega/p-7cd8d054.entry.js +0 -1
  538. package/dist/vega/p-8ee917b4.js +0 -1
  539. package/dist/vega/p-a0dd5273.entry.js +0 -1
  540. package/dist/vega/p-a32ad1ac.entry.js +0 -1
  541. package/dist/vega/p-a528714c.js +0 -1
  542. package/dist/vega/p-a5713178.js +0 -1
  543. package/dist/vega/p-a7b5f497.js +0 -1
  544. package/dist/vega/p-ad815280.js +0 -1
  545. package/dist/vega/p-b218141f.entry.js +0 -1
  546. package/dist/vega/p-b6c3ce6d.js +0 -1
  547. package/dist/vega/p-b857a661.js +0 -1
  548. package/dist/vega/p-c4675cd2.entry.js +0 -1
  549. package/dist/vega/p-c51e3b9e.js +0 -1
  550. package/dist/vega/p-c84aa55a.js +0 -1
  551. package/dist/vega/p-cd382652.entry.js +0 -1
  552. package/dist/vega/p-cf5c6172.entry.js +0 -1
  553. package/dist/vega/p-d8591207.entry.js +0 -1
  554. package/dist/vega/p-da42fde0.js +0 -1
  555. package/dist/vega/p-dc0f7ef1.entry.js +0 -1
  556. package/dist/vega/p-dcd3b421.entry.js +0 -1
  557. package/dist/vega/p-ea4b5520.entry.js +0 -1
  558. package/dist/vega/p-eb78a2f2.entry.js +0 -1
  559. package/dist/vega/p-ec2a1d4c.js +0 -1
  560. package/dist/vega/p-fdf6f368.js +0 -1
  561. package/dist/vega/p-ffda64ac.js +0 -1
  562. package/dist/vega/p-ffe8a826.entry.js +0 -1
@@ -0,0 +1,45 @@
1
+ import { RTEFilterStylesStrategy, } from '../../../../dto/filter-styles-strategies/filter-styles-strategy.abstract';
2
+ import { Predicate } from './predicate';
3
+ /**
4
+ * Default visual styles for the `<hr>` element in the RTE.
5
+ * These styles match the CSS applied in `horizontal-line-block-styles.css`.
6
+ *
7
+ * @see {@link file://extensions/horizontal-line/renderers/horizontal-line-block-styles.css} — must stay in sync.
8
+ */
9
+ export const HR_DEFAULT_STYLES = {
10
+ display: 'inline-block',
11
+ width: '100%',
12
+ height: '4px',
13
+ backgroundColor: 'rgb(222, 222, 222)',
14
+ borderWidth: '0px',
15
+ };
16
+ /**
17
+ * Filter styles strategy for horizontal line blocks.
18
+ * Strips default HR visual styles during output and refills them during input,
19
+ * ensuring source edit round-trips do not lose information.
20
+ */
21
+ export class HorizontalLineFilterStylesStrategy extends RTEFilterStylesStrategy {
22
+ constructor() {
23
+ super(...arguments);
24
+ this.stylesToBeFiltered = HR_DEFAULT_STYLES;
25
+ this.elementTagName = 'hr';
26
+ }
27
+ /**
28
+ * @inheritDoc
29
+ */
30
+ canFilter(blockOrNodeInstance) {
31
+ return Predicate.isHorizontalLineBlock(blockOrNodeInstance.dtoName);
32
+ }
33
+ /**
34
+ * @inheritDoc
35
+ */
36
+ canRefill(_blockOrNodeClassName, element) {
37
+ return element.tagName.toLowerCase() === this.elementTagName;
38
+ }
39
+ /**
40
+ * @inheritDoc
41
+ */
42
+ toCssText() {
43
+ return this.buildCssTextForStyles(this.elementTagName, this.classNameToBeAdded);
44
+ }
45
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Predicate class provides static methods to check specific conditions on HTML elements or dto instances.
3
+ */
4
+ export class Predicate {
5
+ /**
6
+ * Checks if the given class name corresponds to a horizontal line block.
7
+ *
8
+ * @param {string} className The class name to check.
9
+ * @returns {boolean} True if the class name corresponds to a horizontal line block, false otherwise.
10
+ */
11
+ static isHorizontalLineBlock(className) {
12
+ return className === 'RTEHorizontalLineBlock';
13
+ }
14
+ }
@@ -0,0 +1,41 @@
1
+ import { VegaRTEExtension } from '../extension.abstract';
2
+ import { RTEHorizontalLineBlock } from './dto/horizontal-line-block';
3
+ import { RTEHorizontalLineBlockRenderer } from './renderers/horizontal-line-block-renderer';
4
+ import { RTEHorizontalLineToolbarButtonRenderer } from './renderers/horizontal-line-toolbar-button-renderer';
5
+ import { HrToHorizontalLineBlockStrategy } from './action-handler-strategies/hr-to-horizontal-line-block-strategy';
6
+ import { InsertHorizontalLineBlockStrategy } from './action-handler-strategies/horizontal-line-block-insert-strategy';
7
+ import { INSERT_HORIZONTAL_LINE_BLOCK } from './actions/insert-horizontal-line-block-action';
8
+ import { RTETextBlock } from '../../dto/blocks/text-block';
9
+ import { RTEImageBlock } from '../../dto/blocks/image-block';
10
+ import { VegaRTEContent } from '../../dto/content-state';
11
+ import { HorizontalLineFilterStylesStrategy } from './filter-styles-strategies/horizontal-line-block/horizontal-line-filter-styles-strategy';
12
+ /**
13
+ * Extension that adds horizontal line (`<hr>`) support to the Vega Rich Text Editor.
14
+ */
15
+ export class VegaRTEHorizontalLineExtension extends VegaRTEExtension {
16
+ constructor() {
17
+ super();
18
+ this.blockRenderer = new RTEHorizontalLineBlockRenderer();
19
+ this.toolbarButtonRenderer = new RTEHorizontalLineToolbarButtonRenderer();
20
+ // Register basic block strategies (delete, append, paste, etc.)
21
+ this.registerBlockBasicStrategies(RTEHorizontalLineBlock.name);
22
+ // Register the block DTO class
23
+ this.registerNode('horizontal-line', RTEHorizontalLineBlock);
24
+ // Register the renderer
25
+ this.registerRenderer('horizontal-line', this.blockRenderer);
26
+ // Register the toolbar button
27
+ this.registerToolbarButtonRenderer('horizontalLine', this.toolbarButtonRenderer);
28
+ // Register HTML → DTO conversion strategy
29
+ this.registerElementToBlockDTOClassStrategy(new HrToHorizontalLineBlockStrategy());
30
+ // Register filter styles strategy for source edit round-trip
31
+ VegaRTEExtension.registerFilterStylesStrategy(RTEHorizontalLineBlock.dtoName, new HorizontalLineFilterStylesStrategy());
32
+ }
33
+ }
34
+ (() => {
35
+ const insertStrategy = new InsertHorizontalLineBlockStrategy();
36
+ // Register insert strategy for all block types that can be a target
37
+ VegaRTEExtension.registerActionHandleStrategy(VegaRTEContent.name, INSERT_HORIZONTAL_LINE_BLOCK, insertStrategy);
38
+ VegaRTEExtension.registerActionHandleStrategy(RTETextBlock.name, INSERT_HORIZONTAL_LINE_BLOCK, insertStrategy);
39
+ VegaRTEExtension.registerActionHandleStrategy(RTEImageBlock.name, INSERT_HORIZONTAL_LINE_BLOCK, insertStrategy);
40
+ VegaRTEExtension.registerActionHandleStrategy(RTEHorizontalLineBlock.name, INSERT_HORIZONTAL_LINE_BLOCK, insertStrategy);
41
+ })();
@@ -0,0 +1,37 @@
1
+ import { VegaRTEExtensionRenderer } from '../../base-extension-renderer';
2
+ import { RTEDecoratorNode } from '../../../dto/nodes/decorator-node';
3
+ import styles from './horizontal-line-block-styles.css';
4
+ /**
5
+ * Renderer for horizontal line blocks in the rich text editor.
6
+ */
7
+ export class RTEHorizontalLineBlockRenderer extends VegaRTEExtensionRenderer {
8
+ /**
9
+ * @inheritDoc
10
+ */
11
+ doRender(createElement, block, rteContext) {
12
+ const node = block.children[0];
13
+ const customStyles = block.getStyles(rteContext);
14
+ const annotationClasses = block.getClasses(rteContext);
15
+ const hrClass = [RTEDecoratorNode.DECORATOR_NODE_CLASS, annotationClasses]
16
+ .filter(Boolean)
17
+ .join(' ');
18
+ return createElement('div', {
19
+ key: block.id,
20
+ class: `v-rte-horizontal-line ${RTEDecoratorNode.DECORATOR_CONTAINER_CLASS}`,
21
+ ref: this.useRef(block),
22
+ }, [
23
+ createElement('hr', {
24
+ key: (node === null || node === void 0 ? void 0 : node.id) || block.id + '-hr',
25
+ class: hrClass,
26
+ style: Object.keys(customStyles).length > 0 ? customStyles : undefined,
27
+ ref: node ? this.useRef(node) : undefined,
28
+ }),
29
+ ]);
30
+ }
31
+ /**
32
+ * @inheritDoc
33
+ */
34
+ injectRTEScopeStyles() {
35
+ return styles;
36
+ }
37
+ }
@@ -0,0 +1,77 @@
1
+ import { VegaRTEToolbarButtonRenderer } from '../../base-toolbar-button-renderer';
2
+ import HorizontalLine from '../assets/horizontal-line';
3
+ import { INSERT_HORIZONTAL_LINE_BLOCK, InsertHorizontalLineBlockAction, } from '../actions/insert-horizontal-line-block-action';
4
+ import { ActionHandleStrategyRegistry } from '../../../dto/action-handle-strategies/action-handle-strategy-registry';
5
+ import { UpdateCursorPositionAction } from '../../../dto/actions/update-cursor-position-action';
6
+ import { VegaInternalIconManager } from '../../../../../helpers/icon/internal-icon-manager';
7
+ import { VegaInternalTranslation } from '../../../../../helpers/translation/internal-translation-controller';
8
+ /**
9
+ * Toolbar button renderer for horizontal line insertion.
10
+ */
11
+ export class RTEHorizontalLineToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer {
12
+ /**
13
+ * Renders the horizontal line toolbar button.
14
+ *
15
+ * @param {VegaRTECreateElementFunction} createElement - The function to create elements.
16
+ * @param {VegaRTEToolbarRenderContext} editorContext - The render context.
17
+ * @returns {VegaRTERenderResult} The rendered toolbar button.
18
+ */
19
+ render(createElement, editorContext) {
20
+ return this.renderButton(createElement, editorContext, {
21
+ icon: 'horizontal-line',
22
+ tooltip: { text: VegaInternalTranslation.t('Horizontal line') },
23
+ });
24
+ }
25
+ /**
26
+ * @inheritDoc
27
+ */
28
+ isDisabled(editorContext) {
29
+ const context = this.getExtensionContext(editorContext.host);
30
+ if (context) {
31
+ const { host, getSelectedNodes } = context;
32
+ const [startNode] = getSelectedNodes();
33
+ return startNode
34
+ ? host.disabled ||
35
+ !ActionHandleStrategyRegistry.canHandle(INSERT_HORIZONTAL_LINE_BLOCK, startNode.parent)
36
+ : host.disabled;
37
+ }
38
+ return false;
39
+ }
40
+ /**
41
+ * @inheritDoc
42
+ */
43
+ handleButtonClick(editorContext) {
44
+ if (this.isDisabled(editorContext)) {
45
+ return;
46
+ }
47
+ const context = this.getExtensionContext(editorContext.host);
48
+ if (context) {
49
+ const { host, getSelectedNodes, flushValue } = context;
50
+ const selectedNodes = getSelectedNodes();
51
+ const focusNode = selectedNodes[0];
52
+ const startOffset = editorContext.rteRange.startOffset;
53
+ const action = new InsertHorizontalLineBlockAction(focusNode, startOffset);
54
+ if (!focusNode) {
55
+ host.value.apply(action);
56
+ }
57
+ else if (focusNode.parent) {
58
+ focusNode.parent.apply(action);
59
+ }
60
+ if (action.nextFocusNode) {
61
+ host.value.apply(new UpdateCursorPositionAction(action.nextFocusNode, 0));
62
+ }
63
+ flushValue(host.value);
64
+ }
65
+ }
66
+ /**
67
+ * @inheritDoc
68
+ */
69
+ handleDropdownClick() {
70
+ // No dropdown for horizontal line
71
+ }
72
+ }
73
+ (() => {
74
+ VegaInternalIconManager.register({
75
+ 'horizontal-line': HorizontalLine,
76
+ });
77
+ })();
@@ -2,13 +2,8 @@ import { methodPlaceholder } from 'vega-slimmer/core';
2
2
  import { VegaRTEToolbarButtonRenderer } from '../base-toolbar-button-renderer';
3
3
  /**
4
4
  * Toolbar button renderer for language selection in Vega Rich Text Editor.
5
- *
6
- * Each {@link HTMLVegaRichTextEditorElement} that uses a language extension receives its
7
- * **own** instance of this renderer, registered in the per-host map inside
8
- * {@link RTEDTORendererManager} via {@link VegaRTEExtension#prepareBeforeLoad}. Because
9
- * every editor has a dedicated renderer, all state (label DOM ref, selected language, and
10
- * the language-change callback) is held in plain instance fields — no WeakMaps or shared
11
- * singletons are required.
5
+ * Each editor host gets its own instance, registered via
6
+ * {@link VegaRTEExtension#prepareBeforeLoad}, so renderer state is held in plain fields.
12
7
  */
13
8
  export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer {
14
9
  constructor(languageList, languageChangeCallback, selectedLanguage = '') {
@@ -17,10 +12,9 @@ export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRender
17
12
  this.languageChangeCallback = null;
18
13
  this.selectedLanguage = '';
19
14
  this.labelRef = null;
15
+ this.translation = null;
20
16
  /**
21
- * Handles the language selection event.
22
- * Because each editor has its own renderer instance, the language-change callback
23
- * is stored directly on this instance — no indirect context lookup is needed.
17
+ * Handles the language selection event from the dropdown.
24
18
  *
25
19
  * @param {string} itemKey - The key of the selected language item.
26
20
  */
@@ -35,15 +29,18 @@ export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRender
35
29
  this.selectedLanguage = selectedLanguage;
36
30
  }
37
31
  /**
38
- * Updates the selected language and refreshes the button label text in-place,
39
- * without requiring a full re-render of the toolbar.
32
+ * Updates the selected language and refreshes the button label text in-place
33
+ * without a full toolbar re-render. The label is routed through the translation
34
+ * helper so localization is preserved on imperative updates.
40
35
  *
41
36
  * @param {string} language The language key to set as selected.
42
37
  */
43
38
  setSelectedLanguage(language) {
39
+ var _a;
44
40
  this.selectedLanguage = language;
45
- if (this.labelRef) {
46
- this.labelRef.textContent = this.getLanguageLabelByKey(language);
41
+ if (((_a = this.labelRef) === null || _a === void 0 ? void 0 : _a.firstChild) && this.translation) {
42
+ const label = this.getLanguageLabelByKey(language);
43
+ this.labelRef.firstChild.nodeValue = this.translation.t(label);
47
44
  }
48
45
  }
49
46
  /**
@@ -58,7 +55,8 @@ export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRender
58
55
  * @inheritDoc
59
56
  */
60
57
  render(createElement, editorContext) {
61
- return this.renderDropdown(createElement, editorContext, { source: this.languageList }, [
58
+ const translatedSource = this.languageList.map((item) => this.translateDropdownEntry(item, editorContext));
59
+ return this.renderDropdown(createElement, editorContext, { source: translatedSource }, [
62
60
  this.renderButton(createElement, editorContext, {
63
61
  label: this.getLanguageLabelByKey(this.selectedLanguage),
64
62
  showArrowIcon: true,
@@ -73,6 +71,7 @@ export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRender
73
71
  * @inheritDoc
74
72
  */
75
73
  renderButtonLabel(h, editorContext, label) {
74
+ this.translation = editorContext.translation;
76
75
  const isDisabled = this.isDisabled(editorContext);
77
76
  return h('vega-font', {
78
77
  variant: 'font-field-label-sm',
@@ -81,7 +80,7 @@ export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRender
81
80
  ref: (el) => {
82
81
  this.labelRef = el;
83
82
  },
84
- }, label);
83
+ }, editorContext.translation.t(label));
85
84
  }
86
85
  /* istanbul ignore next */
87
86
  /**
@@ -103,4 +102,19 @@ export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRender
103
102
  const language = this.getListItemByKey(this.languageList, key);
104
103
  return (_a = language === null || language === void 0 ? void 0 : language.label) !== null && _a !== void 0 ? _a : 'Select Language';
105
104
  }
105
+ /**
106
+ * Recursively translates labels in a dropdown entry so that nested
107
+ * {@link RTEDropdownListGroup} children are also localized.
108
+ *
109
+ * @param {RTEDropdownListItem | RTEDropdownListGroup} entry The entry to translate.
110
+ * @param {VegaRTEToolbarRenderContext} editorContext The render context.
111
+ * @returns {RTEDropdownListItem | RTEDropdownListGroup} The translated entry.
112
+ */
113
+ translateDropdownEntry(entry, editorContext) {
114
+ const translatedLabel = editorContext.translation.t(entry.label);
115
+ if ('children' in entry) {
116
+ return Object.assign(Object.assign({}, entry), { label: translatedLabel, children: entry.children.map((child) => this.translateDropdownEntry(child, editorContext)) });
117
+ }
118
+ return Object.assign(Object.assign({}, entry), { label: translatedLabel });
119
+ }
106
120
  }
@@ -37,7 +37,7 @@ export class RTELineHeightToolbarButtonRenderer extends VegaRTEToolbarButtonRend
37
37
  showArrowIcon: true,
38
38
  tooltip: { text: VegaInternalTranslation.t('Line Height') },
39
39
  }),
40
- this.renderDropdownListTemplate(createElement, dropdownItems),
40
+ this.renderDropdownListTemplate(createElement, dropdownItems, editorContext),
41
41
  ]);
42
42
  }
43
43
  /**
@@ -0,0 +1,34 @@
1
+ import { VegaRTEExtension } from '../extension.abstract';
2
+ /**
3
+ * Rich Text Editor extension that configures built-in link behavior.
4
+ */
5
+ export class VegaRTELinkExtension extends VegaRTEExtension {
6
+ constructor(config = {}) {
7
+ super();
8
+ this.config = config;
9
+ }
10
+ /**
11
+ * Store config per host so both toolbar-link and inline-link editors
12
+ * can consistently read the extension settings.
13
+ *
14
+ * @param {HTMLElement} host - The host rich text editor element.
15
+ */
16
+ prepareBeforeLoad(host) {
17
+ VegaRTELinkExtension.configStore.set(host, this.config);
18
+ }
19
+ /**
20
+ * Remove config for the current host when the extension is destroyed.
21
+ */
22
+ destroyExtension() {
23
+ var _a;
24
+ if ((_a = this.extensionContext) === null || _a === void 0 ? void 0 : _a.host) {
25
+ VegaRTELinkExtension.configStore.delete(this.extensionContext.host);
26
+ }
27
+ }
28
+ }
29
+ /**
30
+ * Per-host config store. Declare as static readonly to isolate config per editor host.
31
+ *
32
+ * @type {RTEExtensionStateStore<VegaRTELinkExtensionConfig>}
33
+ */
34
+ VegaRTELinkExtension.configStore = VegaRTELinkExtension.createStateStore();
@@ -0,0 +1,22 @@
1
+ // eslint-disable-next-line spellcheck/spell-checker
2
+ // The regex checks for a protocol prefix (xxxx:// or xxxx:)
3
+ // or a leading special character (such as /, #, +, etc., but not letters/digits/underscore).
4
+ const PROTOCOL_REG_EXP = /^((\w+:(\/{2,})?)|(\W))/i;
5
+ /**
6
+ * Normalizes URL by prepending default protocol when URL does not already include one.
7
+ *
8
+ * @param {string} url URL value to normalize.
9
+ * @param {string} defaultProtocol Configured default protocol, for example: https:// or mailto:.
10
+ * @returns {string} Normalized URL.
11
+ */
12
+ export function normalizeUrlByDefaultProtocol(url, defaultProtocol) {
13
+ const input = (url || '').trim();
14
+ if (!input) {
15
+ return input;
16
+ }
17
+ const normalizedDefaultProtocol = (defaultProtocol || '').trim();
18
+ if (!normalizedDefaultProtocol || PROTOCOL_REG_EXP.test(input)) {
19
+ return input;
20
+ }
21
+ return `${normalizedDefaultProtocol}${input}`;
22
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Generic per-host state store using WeakMap keyed by HTMLVegaRichTextEditorElement.
3
+ * Create via {@link VegaRTEExtension.createStateStore} and declare as `static readonly` on your extension class.
4
+ *
5
+ * @template T - The type of the state value to store per host.
6
+ */
7
+ export class RTEExtensionStateStore {
8
+ constructor() {
9
+ this.stateMap = new WeakMap();
10
+ }
11
+ /**
12
+ * Store a value for the given host.
13
+ *
14
+ * @param {HTMLElement} host - The editor host.
15
+ * @param {T} value - The value to store.
16
+ */
17
+ set(host, value) {
18
+ this.stateMap.set(host, value);
19
+ }
20
+ /**
21
+ * Retrieve the stored value for the given host.
22
+ *
23
+ * @param {Nullable<HTMLElement>} host - The editor host.
24
+ * @returns {Nullable<T>} The stored value, or null if not found.
25
+ */
26
+ get(host) {
27
+ return host ? this.stateMap.get(host) : null;
28
+ }
29
+ /**
30
+ * Remove the stored value for the given host.
31
+ *
32
+ * @param {HTMLElement} host - The editor host.
33
+ */
34
+ delete(host) {
35
+ this.stateMap.delete(host);
36
+ }
37
+ }
@@ -25,7 +25,7 @@ export class RTETokenToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer
25
25
  showArrowIcon: true,
26
26
  tooltip: { text: 'Insert token' },
27
27
  }),
28
- this.renderDropdownListTemplate(createElement, this.tokenList),
28
+ this.renderDropdownListTemplate(createElement, this.tokenList, editorContext),
29
29
  ]);
30
30
  }
31
31
  /**
@@ -19,9 +19,11 @@ export { RTELanguageToolbarButtonRenderer } from './extensions/languages/languag
19
19
  export { VegaRTELanguageExtension } from './extensions/languages/language-extension';
20
20
  export { VegaRTEFunctionExtension } from './extensions/functions/function-extension';
21
21
  export { VegaRTETableExtension } from './extensions/table/table-extension';
22
+ export { VegaRTEHorizontalLineExtension } from './extensions/horizontal-line/horizontal-line-extension';
22
23
  export { VegaRTESpecialCharactersExtension } from './extensions/special-characters/special-characters-extension';
23
24
  export { VegaRTESpecialCharactersEssentials, VegaRTESpecialCharactersLatin, VegaRTESpecialCharactersMathematical, VegaRTESpecialCharactersArrows, VegaRTESpecialCharactersCurrency, VegaRTESpecialCharactersText, } from './extensions/special-characters/constants/default-categories';
24
25
  export { VegaRTELineHeightExtension } from './extensions/line-height/line-height-extension';
26
+ export { VegaRTELinkExtension } from './extensions/link/link-extension';
25
27
  // actions
26
28
  export { ModifyContentAction, ModifyContentActionType } from './dto/actions/modify-content-action.abstract';
27
29
  export { AppendChildrenAction } from './dto/actions/append-child-nodes-action';
@@ -64,6 +64,14 @@ export class HtmlBlockStrategy extends BlockToRTEBlockStrategyAbstract {
64
64
  * @returns {boolean} True if the element should be treated as inline content.
65
65
  */
66
66
  isInlineTagWithoutBlockChildren(element, options) {
67
+ // An empty always-inline tag (e.g. a loose <br>) is phrasing content and must
68
+ // never become a standalone html-block — it has to stay inline so it becomes an
69
+ // editable line-break text node (matching <p><br></p>) instead of a non-editable
70
+ // html-block. Non-empty always-inline tags (e.g. <a> wrapping a block <video>)
71
+ // fall through to the regular block-children checks below.
72
+ if (ALWAYS_INLINE_TAGS.has(element.nodeName) && element.childNodes.length === 0) {
73
+ return true;
74
+ }
67
75
  if (isInBlockTextContext(element)) {
68
76
  // Empty elements that are not recognized inline elements should not
69
77
  // be forced inline — they may represent block-level embedded content
@@ -1,3 +1,14 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
1
12
  import { isHTMLElement } from '../../../../../../utils/ui';
2
13
  import { ElementToTextNodeStrategy } from './element-to-text-node-strategy';
3
14
  import htmlElementToAnnotationGenerator from './annotation-handler/html-element-to-annotation-generator';
@@ -31,7 +42,13 @@ export class InlineElementToTextNodeStrategy extends ElementToTextNodeStrategy {
31
42
  }
32
43
  : annotations }, options));
33
44
  if (child.nodeName === 'BR') {
34
- return this.generateTextNode('\n', curAnnotations);
45
+ // Represent <br> as a plain '\n' text node; the renderer emits <br> for text === '\n'.
46
+ // Carrying the br as an INLINE_HTML annotation here would let it suppress later
47
+ // user-typed characters at the same caret position (VD-9229). br is void so when
48
+ // it ends up at the top of the inlineHtml chain it has no parent wrapper to keep.
49
+ const { inlineHtml } = curAnnotations, rest = __rest(curAnnotations, ["inlineHtml"]);
50
+ const brAnnotations = inlineHtml && inlineHtml.htmlTag === 'br' ? rest : curAnnotations;
51
+ return this.generateTextNode('\n', brAnnotations);
35
52
  }
36
53
  else if (child.childNodes.length === 0) {
37
54
  // For empty dom, there will be no internal iteration, we need to handle it directly here.
@@ -55,7 +55,9 @@ export class ToolbarRenderer extends VegaSlimmer {
55
55
  return (h("vega-flex", { gap: "size-8", alignItems: "center", flexWrap: "wrap" },
56
56
  this.allowSourceEdit && (h(Fragment, null,
57
57
  h("div", { class: "toolbar-btn-group" }, this.sourceEditToolbarButtonSlimmer.render()),
58
- this.toolbarItems.length > 0 && totalVisibleCount > 0 && this.renderVegaDivider())),
58
+ this.uniqueToolbarItems.length > 0 &&
59
+ totalVisibleCount > 0 &&
60
+ this.renderVegaDivider())),
59
61
  renderedItems));
60
62
  }
61
63
  renderVegaDivider() {
@@ -69,7 +71,7 @@ export class ToolbarRenderer extends VegaSlimmer {
69
71
  */
70
72
  renderToolbarItems() {
71
73
  let totalVisibleCount = 0;
72
- const renderedItems = this.toolbarItems.map((group) => {
74
+ const renderedItems = this.uniqueToolbarItems.map((group) => {
73
75
  let visibleCountPerGroup = 0;
74
76
  const groupElement = group
75
77
  .map((item) => {
@@ -105,7 +107,7 @@ export class ToolbarRenderer extends VegaSlimmer {
105
107
  }
106
108
  __decorate([
107
109
  MapToComponentField()
108
- ], ToolbarRenderer.prototype, "toolbarItems", void 0);
110
+ ], ToolbarRenderer.prototype, "uniqueToolbarItems", void 0);
109
111
  __decorate([
110
112
  MapToComponentField()
111
113
  ], ToolbarRenderer.prototype, "allowSourceEdit", void 0);
@@ -14,7 +14,7 @@ export class VegaRichTextEditorRenderer extends VegaSlimmer {
14
14
  constructor() {
15
15
  super(...arguments);
16
16
  this.renderHintMessage = () => {
17
- return h("vega-text", null, this.hint);
17
+ return h("vega-text", { text: this.hint });
18
18
  };
19
19
  this.renderTextContent = () => {
20
20
  return (h("div", { class: {
@@ -115,6 +115,19 @@ export class VegaRichTextEditor {
115
115
  this.selectionMap = new Map();
116
116
  this.isInDarkMode = VegaInternalThemeManager.isDarkMode();
117
117
  this.sourceView = false;
118
+ /**
119
+ * Internal state that holds unique toolbar items.
120
+ * Computed from `toolbarItems` to ensure each button renders only once.
121
+ *
122
+ *
123
+ * When `toolbarItems` contains duplicates across groups (e.g.,
124
+ * `[['bold'], ['italic'], ['bold']]`), only the first occurrence of each
125
+ * button is preserved. The group structure is maintained, but duplicate
126
+ * buttons are filtered out.
127
+ *
128
+ * @internal
129
+ */
130
+ this.uniqueToolbarItems = VegaRTEPresetToolbarItems;
118
131
  /**
119
132
  * Specifies the label for the rich text editor.
120
133
  *
@@ -250,6 +263,9 @@ export class VegaRichTextEditor {
250
263
  watchValueUpdate() {
251
264
  methodPlaceholder();
252
265
  }
266
+ watchToolbarItems() {
267
+ this.syncUniqueToolbarItems();
268
+ }
253
269
  watchValidationRules() {
254
270
  methodPlaceholder();
255
271
  }
@@ -258,10 +274,28 @@ export class VegaRichTextEditor {
258
274
  }
259
275
  componentWillLoad() {
260
276
  this.richTextContentController.syncRichTextContentEditable();
277
+ this.syncUniqueToolbarItems();
261
278
  }
262
279
  render() {
263
280
  return sanitizeVegaComponent(this.vegaRichTextEditorRenderer.render(), this.host);
264
281
  }
282
+ /**
283
+ * Synchronizes {@link uniqueToolbarItems} from {@link toolbarItems} using global uniqueness enforcement.
284
+ *
285
+ * Example:
286
+ * - input: [["bold", "italic"], ["bold", "link"], ["italic"]]
287
+ * - output: [["bold", "italic"], ["link"], []]
288
+ */
289
+ syncUniqueToolbarItems() {
290
+ const uniqueToolbarButtonSet = new Set();
291
+ this.uniqueToolbarItems = this.toolbarItems.map((toolbarItemGroup) => toolbarItemGroup.filter((toolbarItem) => {
292
+ if (uniqueToolbarButtonSet.has(toolbarItem)) {
293
+ return false;
294
+ }
295
+ uniqueToolbarButtonSet.add(toolbarItem);
296
+ return true;
297
+ }));
298
+ }
265
299
  static get is() { return "vega-rich-text-editor"; }
266
300
  static get encapsulation() { return "shadow"; }
267
301
  static get originalStyleUrls() { return {
@@ -639,7 +673,8 @@ export class VegaRichTextEditor {
639
673
  "richTextContentEditable": {},
640
674
  "selectionMap": {},
641
675
  "isInDarkMode": {},
642
- "sourceView": {}
676
+ "sourceView": {},
677
+ "uniqueToolbarItems": {}
643
678
  }; }
644
679
  static get events() { return [{
645
680
  "method": "vegaChange",
@@ -792,6 +827,9 @@ export class VegaRichTextEditor {
792
827
  }, {
793
828
  "propName": "value",
794
829
  "methodName": "watchValueUpdate"
830
+ }, {
831
+ "propName": "toolbarItems",
832
+ "methodName": "watchToolbarItems"
795
833
  }, {
796
834
  "propName": "validationRules",
797
835
  "methodName": "watchValidationRules"