@heartlandone/vega 2.80.0 → 2.82.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 (712) hide show
  1. package/dist/cjs/{app-globals-7a48292d.js → app-globals-3350d580.js} +7 -7
  2. package/dist/cjs/{aria-dialog-focusable-trap-slimmer-5a0a78fe.js → aria-dialog-focusable-trap-slimmer-5507f917.js} +15 -70
  3. package/dist/cjs/{child-nodes-event-prevent-slimmer-dd0bb8b6.js → child-nodes-event-prevent-slimmer-9b7095a4.js} +1 -1
  4. package/dist/cjs/{child-nodes-notify-observer-slimmer-a8d13f4c.js → child-nodes-notify-observer-slimmer-2631c381.js} +1 -1
  5. package/dist/cjs/{code-block-71a330a1.js → code-block-b1f8aded.js} +804 -63
  6. package/dist/cjs/{component-value-history-controller-slimmer.abstract-fd077a6c.js → component-value-history-controller-slimmer.abstract-99fbd1f2.js} +6 -6
  7. package/dist/cjs/{content-state-afa26456.js → content-state-648652b4.js} +970 -467
  8. package/dist/cjs/{dark-mode-style-controller-3a04af3d.js → dark-mode-style-controller-bd765afb.js} +2 -322
  9. package/dist/cjs/{date-required-rule-9f0e3e99.js → date-required-rule-6addf5dd.js} +1 -1
  10. package/dist/cjs/{design-token-3f9589eb.js → design-token-93070bb8.js} +6 -130
  11. package/dist/cjs/{dom-node-subject-observer-factory-a3a60da4.js → dom-node-subject-observer-factory-9110cb94.js} +1 -1
  12. package/dist/cjs/drop-file-accept-filter-slimmer-cd619cc7.js +64 -0
  13. package/dist/cjs/{element-appender-slimmer-7a66229b.js → element-appender-slimmer-dedd3a34.js} +5 -5
  14. package/dist/cjs/{event-emit-slimmer-024e26bb.js → event-emit-slimmer-bcb458b2.js} +2 -2
  15. package/dist/cjs/{form-field-controller-slimmer-c487cf2b.js → form-field-controller-slimmer-0f3a028e.js} +5 -5
  16. package/dist/cjs/{image-annotation-action-4e72af4b.js → image-annotation-action-0339e983.js} +4 -4
  17. package/dist/cjs/index-58ea899e.js +4 -0
  18. package/dist/cjs/index.cjs.js +21 -18
  19. package/dist/cjs/{inject-keyboard-manager-d1a82089.js → inject-keyboard-manager-2d9c4f92.js} +1 -1
  20. package/dist/cjs/{internal-translation-controller-9f58a4e4.js → internal-translation-controller-fb1532f4.js} +3 -0
  21. package/dist/cjs/{internal-vega-event-manager-cc0f511c.js → internal-vega-event-manager-fef893bf.js} +1 -0
  22. package/dist/cjs/{keyboard-manager-9dbbb0d4.js → keyboard-manager-5ed6c472.js} +2 -2
  23. package/dist/cjs/{keyboard-manager-slimmer-68cff676.js → keyboard-manager-slimmer-879ff4f3.js} +1 -1
  24. package/dist/cjs/loader.cjs.js +15 -14
  25. package/dist/cjs/{month-view-generator-65a2f883.js → month-view-generator-d262e6ce.js} +1 -1
  26. package/dist/cjs/page-size-option-utils-d038dd3a.js +68 -0
  27. package/dist/cjs/{public-rules-36f202b3.js → public-rules-bce88d4e.js} +12 -11
  28. package/dist/cjs/{range-fa15d524.js → range-5bd6d72b.js} +2 -2
  29. package/dist/cjs/{responsive-format-facade-4419b4ae.js → responsive-format-facade-2cab7344.js} +3 -3
  30. package/dist/cjs/{rich-text-editor-required-rule-7d4c2973.js → rich-text-editor-required-rule-e8a922be.js} +1 -1
  31. package/dist/cjs/{split-cell-operation-19f98afb.js → split-cell-operation-bb388de6.js} +59 -24
  32. package/dist/cjs/state-border-formatter-4e5e4ed0.js +133 -0
  33. package/dist/cjs/{string-format-strategy.abstract-c65d9861.js → string-format-strategy.abstract-9a35e3b4.js} +1 -1
  34. package/dist/cjs/{string-input-formatter-slimmer-c2e04acc.js → string-input-formatter-slimmer-1018ddec.js} +4 -4
  35. package/dist/cjs/{string-mask-strategy-418fc0b8.js → string-mask-strategy-3aa17744.js} +2 -2
  36. package/dist/cjs/{style-formatter-3c9ce0e5.js → style-formatter-2226c869.js} +2 -2
  37. package/dist/cjs/{sub-state-notify-slimmer-7a4c6061.js → sub-state-notify-slimmer-b33171b0.js} +2 -2
  38. package/dist/cjs/{sub-state-observer-slimmer-f728e068.js → sub-state-observer-slimmer-b8f6f27b.js} +3 -3
  39. package/dist/cjs/{time-required-rule-ad091302.js → time-required-rule-970dfdca.js} +1 -1
  40. package/dist/cjs/tinycolor-polyfill-502efaa8.js +325 -0
  41. package/dist/cjs/{token-extension-90396de7.js → token-extension-9b213b6b.js} +212 -38
  42. package/dist/cjs/{translation-slimmer-c069ca84.js → translation-slimmer-d0c77ad2.js} +1 -1
  43. package/dist/cjs/{type-guard-d760850a.js → type-guard-3ec852d7.js} +51 -1
  44. package/dist/cjs/{ui-9e8c9732.js → ui-ae4ee13d.js} +69 -0
  45. package/dist/cjs/{valid-credit-card-number-rule-5ce8e973.js → valid-credit-card-number-rule-99d1bb34.js} +1 -1
  46. package/dist/cjs/vega-accordion.cjs.entry.js +9 -8
  47. package/dist/cjs/vega-app-footer.cjs.entry.js +2 -1
  48. package/dist/cjs/vega-app-header-button.cjs.entry.js +10 -9
  49. package/dist/cjs/vega-backdrop.cjs.entry.js +1 -1
  50. package/dist/cjs/vega-banner.cjs.entry.js +6 -5
  51. package/dist/cjs/vega-box.cjs.entry.js +7 -6
  52. package/dist/cjs/vega-brand-logo.cjs.entry.js +2 -1
  53. package/dist/cjs/vega-breadcrumb.cjs.entry.js +29 -12
  54. package/dist/cjs/vega-button-circle.cjs.entry.js +11 -10
  55. package/dist/cjs/vega-button-group_2.cjs.entry.js +104 -15
  56. package/dist/cjs/vega-button-link.cjs.entry.js +5 -5
  57. package/dist/cjs/vega-button.cjs.entry.js +10 -10
  58. package/dist/cjs/vega-calendar_4.cjs.entry.js +12 -12
  59. package/dist/cjs/vega-card.cjs.entry.js +7 -6
  60. package/dist/cjs/vega-carousel.cjs.entry.js +7 -7
  61. package/dist/cjs/vega-checkbox_2.cjs.entry.js +10 -10
  62. package/dist/cjs/vega-chip.cjs.entry.js +11 -10
  63. package/dist/cjs/vega-code-block.cjs.entry.js +16 -15
  64. package/dist/cjs/vega-color-picker.cjs.entry.js +28 -10
  65. package/dist/cjs/vega-color-swatch.cjs.entry.js +245 -0
  66. package/dist/cjs/vega-combo-box.cjs.entry.js +12 -12
  67. package/dist/cjs/vega-date-picker_2.cjs.entry.js +342 -284
  68. package/dist/cjs/vega-dialog_2.cjs.entry.js +76 -202
  69. package/dist/cjs/vega-divider.cjs.entry.js +7 -6
  70. package/dist/cjs/vega-dropdown_5.cjs.entry.js +75 -19
  71. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  72. package/dist/cjs/vega-field-label.cjs.entry.js +4 -4
  73. package/dist/cjs/vega-file-uploader.cjs.entry.js +42 -92
  74. package/dist/cjs/vega-flag-icon.cjs.entry.js +5 -4
  75. package/dist/cjs/vega-flex.cjs.entry.js +8 -7
  76. package/dist/cjs/vega-font.cjs.entry.js +6 -5
  77. package/dist/cjs/vega-form.cjs.entry.js +12 -12
  78. package/dist/cjs/vega-grid.cjs.entry.js +6 -5
  79. package/dist/cjs/vega-icon.cjs.entry.js +6 -5
  80. package/dist/cjs/vega-image-uploader.cjs.entry.js +80 -15
  81. package/dist/cjs/vega-input-credit-card.cjs.entry.js +13 -13
  82. package/dist/cjs/vega-input-numeric.cjs.entry.js +13 -13
  83. package/dist/cjs/vega-input-passcode.cjs.entry.js +12 -12
  84. package/dist/cjs/vega-input-phone-number.cjs.entry.js +11 -11
  85. package/dist/cjs/vega-input-range.cjs.entry.js +10 -10
  86. package/dist/cjs/vega-input-select.cjs.entry.js +52 -17
  87. package/dist/cjs/vega-input.cjs.entry.js +17 -14
  88. package/dist/cjs/{vega-internal-event-id-a1837fa2.js → vega-internal-event-id-87014e4f.js} +2 -0
  89. package/dist/cjs/vega-item-toggle.cjs.entry.js +4 -4
  90. package/dist/cjs/vega-left-nav_5.cjs.entry.js +122 -15
  91. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +4 -4
  92. package/dist/cjs/vega-page-notification_2.cjs.entry.js +2 -2
  93. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +5 -5
  94. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +26 -10
  95. package/dist/cjs/vega-pagination.cjs.entry.js +48 -24
  96. package/dist/cjs/vega-popover_2.cjs.entry.js +14 -13
  97. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +72 -17
  98. package/dist/cjs/vega-radio_2.cjs.entry.js +13 -13
  99. package/dist/cjs/vega-rich-text-content.cjs.entry.js +104 -22
  100. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +36 -24
  101. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +15 -14
  102. package/dist/cjs/vega-section-title.cjs.entry.js +21 -3
  103. package/dist/cjs/vega-segment-control.cjs.entry.js +4 -4
  104. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +12 -12
  105. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +11 -11
  106. package/dist/cjs/vega-sidenav_3.cjs.entry.js +10 -10
  107. package/dist/cjs/vega-signature-capture.cjs.entry.js +13 -12
  108. package/dist/cjs/vega-stepper.cjs.entry.js +11 -11
  109. package/dist/cjs/vega-tab-group_2.cjs.entry.js +5 -5
  110. package/dist/cjs/vega-table_11.cjs.entry.js +436 -289
  111. package/dist/cjs/vega-text.cjs.entry.js +7 -3
  112. package/dist/cjs/vega-textarea.cjs.entry.js +9 -9
  113. package/dist/cjs/vega-time-picker_2.cjs.entry.js +16 -16
  114. package/dist/cjs/vega-toggle-switch.cjs.entry.js +8 -8
  115. package/dist/cjs/vega-tooltip_2.cjs.entry.js +11 -10
  116. package/dist/cjs/vega.cjs.js +15 -14
  117. package/dist/cjs/{wait-for-component-did-render-b6aba2de.js → wait-for-component-did-render-16863a21.js} +2 -2
  118. package/dist/collection/collection-manifest.json +6 -0
  119. package/dist/collection/components/vega-banner/slimmers/renderers/vega-banner-renderer.js +1 -0
  120. package/dist/collection/components/vega-banner/vega-banner.css +36 -0
  121. package/dist/collection/components/vega-box/vega-box.js +1 -1
  122. package/dist/collection/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-item-renderer.js +9 -6
  123. package/dist/collection/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-renderer.js +4 -0
  124. package/dist/collection/components/vega-breadcrumb/vega-breadcrumb.css +6 -0
  125. package/dist/collection/components/vega-breadcrumb/vega-breadcrumb.js +31 -0
  126. package/dist/collection/components/vega-button/vega-button.css +4 -0
  127. package/dist/collection/components/vega-button-group/slimmers/controllers/vega-button-group-all-items-disabled-controller.js +64 -0
  128. package/dist/collection/components/vega-button-group/vega-button-group-item/slimmers/controllers/vega-button-group-item-sub-state-controller.js +7 -0
  129. package/dist/collection/components/vega-button-group/vega-button-group-item/slimmers/renderers/vega-button-group-item-renderer.js +6 -2
  130. package/dist/collection/components/vega-button-group/vega-button-group-item/vega-button-group-item.js +4 -2
  131. package/dist/collection/components/vega-button-group/vega-button-group.js +20 -1
  132. package/dist/collection/components/vega-card/vega-card.css +157 -0
  133. package/dist/collection/components/vega-card/vega-card.js +1 -1
  134. package/dist/collection/components/vega-chip/vega-chip.js +26 -1
  135. package/dist/collection/components/vega-color-picker/vega-color-picker.css +0 -1
  136. package/dist/collection/components/vega-color-picker/vega-color-picker.js +40 -1
  137. package/dist/collection/components/vega-color-swatch/slimmers/renderers/vega-color-swatch-renderer.js +127 -0
  138. package/dist/collection/components/vega-color-swatch/vega-color-swatch.css +155 -0
  139. package/dist/collection/components/vega-color-swatch/vega-color-swatch.js +314 -0
  140. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-current-period-controller.js +5 -10
  141. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-is-dual-months-controller.js +64 -0
  142. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-header-render.js +3 -6
  143. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-renderer.js +3 -11
  144. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-year-month-switcher-renderer.js +2 -2
  145. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.js +4 -5
  146. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.css +13 -15
  147. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.js +41 -2
  148. package/dist/collection/components/vega-dialog/vega-dialog.js +1 -1
  149. package/dist/collection/components/vega-divider/slimmers/controllers/vega-divider-size-controller.js +1 -1
  150. package/dist/collection/components/vega-divider/vega-divider.css +157 -0
  151. package/dist/collection/components/vega-divider/vega-divider.js +1 -1
  152. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.js +37 -1
  153. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.js +4 -1
  154. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/controllers/vega-dropdown-item-state-controller.js +7 -0
  155. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +5 -1
  156. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.js +2 -1
  157. package/dist/collection/components/vega-dropdown/vega-dropdown.js +38 -0
  158. package/dist/collection/components/vega-file-uploader/vega-file-uploader.js +2 -2
  159. package/dist/collection/components/vega-flex/vega-flex.css +157 -0
  160. package/dist/collection/components/vega-flex/vega-flex.js +1 -1
  161. package/dist/collection/components/vega-image-uploader/slimmers/renderers/vega-image-uploader-default-content-renderer.js +45 -1
  162. package/dist/collection/components/vega-image-uploader/slimmers/renderers/vega-image-uploader-preview-content-renderer.js +16 -1
  163. package/dist/collection/components/vega-image-uploader/vega-image-uploader.js +5 -0
  164. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-renderer.js +4 -1
  165. package/dist/collection/components/vega-input/vega-input.js +25 -0
  166. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +17 -4
  167. package/dist/collection/components/vega-input-select/vega-input-select.js +76 -0
  168. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +0 -4
  169. package/dist/collection/components/vega-modal/slimmers/renderers/vega-modal-renderer.js +31 -21
  170. package/dist/collection/components/vega-modal/vega-modal.css +2685 -9
  171. package/dist/collection/components/vega-modal/vega-modal.js +75 -5
  172. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-open-state-controller.js +85 -2
  173. package/dist/collection/components/vega-nav/vega-left-nav/vega-left-nav.js +23 -0
  174. package/dist/collection/components/vega-pagination/constants/page-size.js +2 -0
  175. package/dist/collection/components/vega-pagination/internal/vega-pagination-page-size-selector.js +11 -7
  176. package/dist/collection/components/vega-pagination/slimmers/controllers/vega-pagination-page-size-observer-controller.js +11 -1
  177. package/dist/collection/components/vega-pagination/utils/page-size-option-utils.js +57 -0
  178. package/dist/collection/components/vega-pagination/vega-pagination-page-size-selector-mobile/slimmers/renderers/page-size-selector-mobile-dropdown-renderer.js +15 -5
  179. package/dist/collection/components/vega-pagination/vega-pagination-page-size-selector-mobile/vega-pagination-page-size-selector-mobile.js +39 -3
  180. package/dist/collection/components/vega-pagination/vega-pagination.js +32 -11
  181. package/dist/collection/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-direction-controller.js +34 -3
  182. package/dist/collection/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-step-controller.js +10 -2
  183. package/dist/collection/components/vega-progress-tracker/slimmers/renderers/vega-progress-tracker-renderer.js +4 -3
  184. package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.js +37 -0
  185. package/dist/collection/components/vega-rich-text-editor/constants/constant.js +20 -0
  186. package/dist/collection/components/vega-rich-text-editor/dto/annotations/image-annotation.js +1 -0
  187. package/dist/collection/components/vega-rich-text-editor/dto/annotations/inline-html-annotation.js +12 -0
  188. package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-group-annotation.js +8 -2
  189. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +15 -4
  190. package/dist/collection/components/vega-rich-text-editor/dto/blocks/code-block.js +6 -2
  191. package/dist/collection/components/vega-rich-text-editor/dto/blocks/html-block.js +9 -15
  192. package/dist/collection/components/vega-rich-text-editor/dto/blocks/image-block.js +3 -3
  193. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +3 -3
  194. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +3 -7
  195. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +50 -9
  196. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +25 -6
  197. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/code-block/code-block-filter-styles-strategy.js +39 -0
  198. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/code-block/code-node-filter-styles-strategy.js +47 -0
  199. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy-registry.js +64 -0
  200. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy.abstract.js +147 -14
  201. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/image-node/image-filter-styles-strategy.js +26 -3
  202. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-block-filter-styles-strategy.js +24 -0
  203. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-heading-item-block-filter-styles-strategy.js +29 -0
  204. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-item-block-filter-styles-strategy.js +39 -1
  205. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-title-item-block-filter-styles-strategy.js +29 -0
  206. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/predicate.js +94 -0
  207. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/text-block/heading-filter-styles-strategy.js +15 -0
  208. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/text-block/paragraph-filter-styles-strategy.js +48 -0
  209. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/text-block/title-filter-styles-strategy.js +16 -0
  210. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/code-filter-styles-strategy.js +32 -3
  211. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/link-filter-styles-strategy.js +42 -3
  212. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/title-heading-node-filter-styles-strategy.js +108 -0
  213. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +7 -2
  214. package/dist/collection/components/vega-rich-text-editor/dto/nodes/image-node.js +2 -2
  215. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +15 -4
  216. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +84 -14
  217. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +61 -6
  218. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.js +16 -0
  219. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +14 -3
  220. package/dist/collection/components/vega-rich-text-editor/dto/setup.js +36 -6
  221. package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +10 -0
  222. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-extension.js +9 -3
  223. package/dist/collection/components/vega-rich-text-editor/extensions/table/annotations/table-annotation.js +17 -1
  224. package/dist/collection/components/vega-rich-text-editor/extensions/table/annotations/table-caption-annotation.js +17 -18
  225. package/dist/collection/components/vega-rich-text-editor/extensions/table/annotations/table-cell-annotation.js +19 -0
  226. package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-block.js +3 -3
  227. package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-body-block.js +3 -3
  228. package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-caption-block.js +21 -4
  229. package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-cell-block.js +3 -3
  230. package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-head-block.js +3 -3
  231. package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-head-cell-block.js +3 -3
  232. package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-row-block.js +3 -3
  233. package/dist/collection/components/vega-rich-text-editor/extensions/table/element-to-dto-strategies/caption-to-caption-block-strategy.js +2 -1
  234. package/dist/collection/components/vega-rich-text-editor/extensions/table/element-to-dto-strategies/td-to-table-cell-block-strategy.js +2 -2
  235. package/dist/collection/components/vega-rich-text-editor/extensions/table/filter-styles-strategies/table-block/table-block-filter-styles-strategy.js +39 -0
  236. package/dist/collection/components/vega-rich-text-editor/extensions/table/filter-styles-strategies/table-caption/table-caption-filter-styles-strategy.js +39 -0
  237. package/dist/collection/components/vega-rich-text-editor/extensions/table/filter-styles-strategies/table-cell/table-cell-filter-styles-strategy.js +63 -0
  238. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-extension.js +7 -0
  239. package/dist/collection/components/vega-rich-text-editor/helpers/utils.js +24 -0
  240. package/dist/collection/components/vega-rich-text-editor/public-api.js +2 -0
  241. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-style-annotation-handler.js +2 -25
  242. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/html-element-to-annotation-generator.js +8 -2
  243. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/inline-html-annotation-handler.js +30 -53
  244. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/link-annotation-handler.js +2 -1
  245. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.js +2 -1
  246. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.js +85 -17
  247. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.js +12 -5
  248. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/html-block-strategy.js +95 -43
  249. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-element-to-text-node-strategy.js +1 -2
  250. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/predicate.js +29 -0
  251. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/strategy-tags.js +142 -0
  252. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +1 -0
  253. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.js +12 -2
  254. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +1 -1
  255. package/dist/collection/components/vega-section-title/slimmers/renderers/vega-section-title-renderer.js +8 -2
  256. package/dist/collection/components/vega-section-title/vega-section-title.css +35 -0
  257. package/dist/collection/components/vega-section-title/vega-section-title.js +64 -0
  258. package/dist/collection/components/vega-stepper/vega-stepper.css +15 -0
  259. package/dist/collection/components/vega-stepper/vega-stepper.js +2 -1
  260. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-render-input-controller.js +25 -2
  261. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.js +28 -1
  262. package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.js +12 -10
  263. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.js +14 -12
  264. package/dist/collection/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.js +5 -4
  265. package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.js +8 -1
  266. package/dist/collection/components/vega-text/slimmers/renderers/vega-text-tooltip-renderer.js +6 -2
  267. package/dist/collection/components/vega-text/vega-text.js +1 -1
  268. package/dist/collection/components/vega-tooltip/slimmers/controllers/vega-tooltip-element-appender-controller.js +1 -0
  269. package/dist/collection/components/vega-tooltip/vega-tooltip-content-box/vega-tooltip-content-box.css +1 -0
  270. package/dist/collection/components/vega-tooltip/vega-tooltip-content-box/vega-tooltip-content-box.js +1 -1
  271. package/dist/collection/components/vega-tooltip/vega-tooltip.js +1 -1
  272. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +1 -0
  273. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
  274. package/dist/collection/helpers/formatter/responsive-map-formatter/responsive-margin-formatter.js +3 -3
  275. package/dist/collection/helpers/slimmers/aria-dialog-focusable-trap-slimmer.js +13 -68
  276. package/dist/collection/{components/vega-file-uploader/slimmers/controllers/vega-file-uploader-drop-file-filter-controller.js → helpers/slimmers/drop-file-accept-filter-slimmer.js} +13 -5
  277. package/dist/collection/helpers/slimmers/vega-table-child-render-input-consumer-slimmer.js +96 -0
  278. package/dist/collection/helpers/translation/locales/en.js +3 -0
  279. package/dist/collection/types/type-guard.js +47 -0
  280. package/dist/collection/utils/ui.js +68 -0
  281. package/dist/esm/{app-globals-e77015e3.js → app-globals-0b7e8b50.js} +7 -7
  282. package/dist/esm/{aria-dialog-focusable-trap-slimmer-5a2f92be.js → aria-dialog-focusable-trap-slimmer-853a91de.js} +15 -70
  283. package/dist/esm/{child-nodes-event-prevent-slimmer-2ecc3e1f.js → child-nodes-event-prevent-slimmer-9c24d4fc.js} +1 -1
  284. package/dist/esm/{child-nodes-notify-observer-slimmer-b7f0e419.js → child-nodes-notify-observer-slimmer-a8cb19cf.js} +1 -1
  285. package/dist/esm/{code-block-7d6f231b.js → code-block-b8be290a.js} +798 -64
  286. package/dist/esm/{component-value-history-controller-slimmer.abstract-acf65b17.js → component-value-history-controller-slimmer.abstract-10ccf8e6.js} +6 -6
  287. package/dist/esm/{content-state-084cd705.js → content-state-72b513d1.js} +959 -456
  288. package/dist/esm/{dark-mode-style-controller-82e5c1c6.js → dark-mode-style-controller-e9a6b097.js} +1 -321
  289. package/dist/esm/{date-required-rule-29608215.js → date-required-rule-891a6a57.js} +1 -1
  290. package/dist/esm/{design-token-edcd787b.js → design-token-59d07aa2.js} +6 -130
  291. package/dist/esm/{dom-node-subject-observer-factory-cea9248d.js → dom-node-subject-observer-factory-aca0116e.js} +1 -1
  292. package/dist/esm/drop-file-accept-filter-slimmer-ad759e4a.js +62 -0
  293. package/dist/esm/{element-appender-slimmer-08ec429b.js → element-appender-slimmer-5aca1bca.js} +5 -5
  294. package/dist/esm/{event-emit-slimmer-4fba1b35.js → event-emit-slimmer-32da9d90.js} +2 -2
  295. package/dist/esm/{form-field-controller-slimmer-8dd39707.js → form-field-controller-slimmer-899864a8.js} +5 -5
  296. package/dist/esm/{image-annotation-action-a6b33a81.js → image-annotation-action-ebd6c421.js} +4 -4
  297. package/dist/esm/index-090d31ca.js +4 -0
  298. package/dist/esm/index.js +20 -18
  299. package/dist/esm/{inject-keyboard-manager-7557816f.js → inject-keyboard-manager-dc1d7135.js} +1 -1
  300. package/dist/esm/{internal-translation-controller-b08aa9ab.js → internal-translation-controller-4fb104b2.js} +3 -0
  301. package/dist/esm/{internal-vega-event-manager-59f5bd47.js → internal-vega-event-manager-8a657bac.js} +1 -0
  302. package/dist/esm/{keyboard-manager-1846c6a5.js → keyboard-manager-6ea9968b.js} +2 -2
  303. package/dist/esm/{keyboard-manager-slimmer-1ae0aa4d.js → keyboard-manager-slimmer-7eed4734.js} +1 -1
  304. package/dist/esm/loader.js +15 -14
  305. package/dist/esm/{month-view-generator-b700ed08.js → month-view-generator-aaa27fce.js} +1 -1
  306. package/dist/esm/page-size-option-utils-50afc81a.js +61 -0
  307. package/dist/esm/{public-rules-fe2c7934.js → public-rules-f2005e11.js} +12 -11
  308. package/dist/esm/{range-00afe462.js → range-ed532278.js} +2 -2
  309. package/dist/esm/{responsive-format-facade-37d4d850.js → responsive-format-facade-e9926018.js} +3 -3
  310. package/dist/esm/{rich-text-editor-required-rule-6487ec94.js → rich-text-editor-required-rule-b559cf1a.js} +1 -1
  311. package/dist/esm/{split-cell-operation-9445e642.js → split-cell-operation-5587f594.js} +59 -24
  312. package/dist/esm/state-border-formatter-be51463d.js +129 -0
  313. package/dist/esm/{string-format-strategy.abstract-ec6d627b.js → string-format-strategy.abstract-0157b3c5.js} +1 -1
  314. package/dist/esm/{string-input-formatter-slimmer-959dff7a.js → string-input-formatter-slimmer-33ed3478.js} +4 -4
  315. package/dist/esm/{string-mask-strategy-49be41f0.js → string-mask-strategy-b58891b5.js} +2 -2
  316. package/dist/esm/{style-formatter-ad0b2bac.js → style-formatter-9662ae88.js} +2 -2
  317. package/dist/esm/{sub-state-notify-slimmer-ee8c417b.js → sub-state-notify-slimmer-1f907173.js} +2 -2
  318. package/dist/esm/{sub-state-observer-slimmer-4d30fa5c.js → sub-state-observer-slimmer-090c500a.js} +3 -3
  319. package/dist/esm/{time-required-rule-414b1590.js → time-required-rule-a9dc8473.js} +1 -1
  320. package/dist/esm/tinycolor-polyfill-7be0eb93.js +322 -0
  321. package/dist/esm/{token-extension-600b1c88.js → token-extension-9d717a35.js} +212 -38
  322. package/dist/esm/{translation-slimmer-35b1d0fa.js → translation-slimmer-4faae5a3.js} +1 -1
  323. package/dist/esm/{type-guard-23a08026.js → type-guard-152070e9.js} +49 -2
  324. package/dist/esm/{ui-ba5a4758.js → ui-b7600a48.js} +69 -1
  325. package/dist/esm/{valid-credit-card-number-rule-60abddac.js → valid-credit-card-number-rule-a7907cb7.js} +1 -1
  326. package/dist/esm/vega-accordion.entry.js +9 -8
  327. package/dist/esm/vega-app-footer.entry.js +2 -1
  328. package/dist/esm/vega-app-header-button.entry.js +10 -9
  329. package/dist/esm/vega-backdrop.entry.js +1 -1
  330. package/dist/esm/vega-banner.entry.js +6 -5
  331. package/dist/esm/vega-box.entry.js +7 -6
  332. package/dist/esm/vega-brand-logo.entry.js +2 -1
  333. package/dist/esm/vega-breadcrumb.entry.js +29 -12
  334. package/dist/esm/vega-button-circle.entry.js +11 -10
  335. package/dist/esm/vega-button-group_2.entry.js +104 -15
  336. package/dist/esm/vega-button-link.entry.js +5 -5
  337. package/dist/esm/vega-button.entry.js +10 -10
  338. package/dist/esm/vega-calendar_4.entry.js +12 -12
  339. package/dist/esm/vega-card.entry.js +7 -6
  340. package/dist/esm/vega-carousel.entry.js +7 -7
  341. package/dist/esm/vega-checkbox_2.entry.js +10 -10
  342. package/dist/esm/vega-chip.entry.js +11 -10
  343. package/dist/esm/vega-code-block.entry.js +16 -15
  344. package/dist/esm/vega-color-picker.entry.js +28 -10
  345. package/dist/esm/vega-color-swatch.entry.js +241 -0
  346. package/dist/esm/vega-combo-box.entry.js +12 -12
  347. package/dist/esm/vega-date-picker_2.entry.js +342 -284
  348. package/dist/esm/vega-dialog_2.entry.js +76 -202
  349. package/dist/esm/vega-divider.entry.js +7 -6
  350. package/dist/esm/vega-dropdown_5.entry.js +76 -20
  351. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  352. package/dist/esm/vega-field-label.entry.js +4 -4
  353. package/dist/esm/vega-file-uploader.entry.js +42 -92
  354. package/dist/esm/vega-flag-icon.entry.js +5 -4
  355. package/dist/esm/vega-flex.entry.js +8 -7
  356. package/dist/esm/vega-font.entry.js +6 -5
  357. package/dist/esm/vega-form.entry.js +12 -12
  358. package/dist/esm/vega-grid.entry.js +6 -5
  359. package/dist/esm/vega-icon.entry.js +6 -5
  360. package/dist/esm/vega-image-uploader.entry.js +80 -15
  361. package/dist/esm/vega-input-credit-card.entry.js +13 -13
  362. package/dist/esm/vega-input-numeric.entry.js +13 -13
  363. package/dist/esm/vega-input-passcode.entry.js +12 -12
  364. package/dist/esm/vega-input-phone-number.entry.js +11 -11
  365. package/dist/esm/vega-input-range.entry.js +10 -10
  366. package/dist/esm/vega-input-select.entry.js +52 -17
  367. package/dist/esm/vega-input.entry.js +17 -14
  368. package/dist/esm/{vega-internal-event-id-70bd893d.js → vega-internal-event-id-194bac82.js} +2 -1
  369. package/dist/esm/vega-item-toggle.entry.js +4 -4
  370. package/dist/esm/vega-left-nav_5.entry.js +122 -15
  371. package/dist/esm/vega-loader-wrapper_2.entry.js +4 -4
  372. package/dist/esm/vega-page-notification_2.entry.js +2 -2
  373. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +5 -5
  374. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +26 -10
  375. package/dist/esm/vega-pagination.entry.js +48 -24
  376. package/dist/esm/vega-popover_2.entry.js +14 -13
  377. package/dist/esm/vega-progress-tracker_2.entry.js +72 -17
  378. package/dist/esm/vega-radio_2.entry.js +13 -13
  379. package/dist/esm/vega-rich-text-content.entry.js +104 -22
  380. package/dist/esm/vega-rich-text-editor_4.entry.js +36 -24
  381. package/dist/esm/vega-rich-text-table-properties_3.entry.js +15 -14
  382. package/dist/esm/vega-section-title.entry.js +21 -3
  383. package/dist/esm/vega-segment-control.entry.js +4 -4
  384. package/dist/esm/vega-selection-chip_2.entry.js +12 -12
  385. package/dist/esm/vega-selection-tile_2.entry.js +11 -11
  386. package/dist/esm/vega-sidenav_3.entry.js +10 -10
  387. package/dist/esm/vega-signature-capture.entry.js +13 -12
  388. package/dist/esm/vega-stepper.entry.js +11 -11
  389. package/dist/esm/vega-tab-group_2.entry.js +5 -5
  390. package/dist/esm/vega-table_11.entry.js +436 -289
  391. package/dist/esm/vega-text.entry.js +7 -3
  392. package/dist/esm/vega-textarea.entry.js +9 -9
  393. package/dist/esm/vega-time-picker_2.entry.js +16 -16
  394. package/dist/esm/vega-toggle-switch.entry.js +8 -8
  395. package/dist/esm/vega-tooltip_2.entry.js +11 -10
  396. package/dist/esm/vega.js +15 -14
  397. package/dist/esm/{wait-for-component-did-render-03e7ccb2.js → wait-for-component-did-render-30cde59c.js} +2 -2
  398. package/dist/sri/vega-sri-manifest.json +389 -369
  399. package/dist/types/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-item-renderer.d.ts +1 -0
  400. package/dist/types/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-renderer.d.ts +1 -0
  401. package/dist/types/components/vega-breadcrumb/vega-breadcrumb.d.ts +10 -0
  402. package/dist/types/components/vega-button-group/slimmers/controllers/vega-button-group-all-items-disabled-controller.d.ts +21 -0
  403. package/dist/types/components/vega-button-group/vega-button-group-item/slimmers/controllers/vega-button-group-item-sub-state-controller.d.ts +1 -0
  404. package/dist/types/components/vega-button-group/vega-button-group-item/slimmers/renderers/vega-button-group-item-renderer.d.ts +1 -0
  405. package/dist/types/components/vega-button-group/vega-button-group-item/vega-button-group-item.d.ts +1 -0
  406. package/dist/types/components/vega-button-group/vega-button-group.d.ts +5 -0
  407. package/dist/types/components/vega-chip/vega-chip.d.ts +9 -0
  408. package/dist/types/components/vega-color-picker/vega-color-picker.d.ts +14 -0
  409. package/dist/types/components/vega-color-swatch/slimmers/renderers/vega-color-swatch-renderer.d.ts +48 -0
  410. package/dist/types/components/vega-color-swatch/types.d.ts +5 -0
  411. package/dist/types/components/vega-color-swatch/vega-color-swatch.d.ts +86 -0
  412. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-current-period-controller.d.ts +1 -6
  413. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-is-dual-months-controller.d.ts +28 -0
  414. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-header-render.d.ts +1 -2
  415. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +1 -2
  416. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-year-month-switcher-renderer.d.ts +1 -1
  417. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.d.ts +1 -1
  418. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.d.ts +12 -0
  419. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.d.ts +12 -0
  420. package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.d.ts +1 -0
  421. package/dist/types/components/vega-dropdown/vega-dropdown-item/slimmers/controllers/vega-dropdown-item-state-controller.d.ts +1 -0
  422. package/dist/types/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.d.ts +1 -0
  423. package/dist/types/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.d.ts +4 -0
  424. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +10 -0
  425. package/dist/types/components/vega-file-uploader/vega-file-uploader.d.ts +2 -2
  426. package/dist/types/components/vega-image-uploader/slimmers/renderers/vega-image-uploader-default-content-renderer.d.ts +25 -0
  427. package/dist/types/components/vega-image-uploader/slimmers/renderers/vega-image-uploader-preview-content-renderer.d.ts +10 -0
  428. package/dist/types/components/vega-image-uploader/vega-image-uploader.d.ts +2 -0
  429. package/dist/types/components/vega-input/slimmers/renderers/vega-input-input-renderer.d.ts +1 -0
  430. package/dist/types/components/vega-input/types.d.ts +5 -0
  431. package/dist/types/components/vega-input/vega-input.d.ts +17 -1
  432. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +3 -0
  433. package/dist/types/components/vega-input-select/types.d.ts +14 -0
  434. package/dist/types/components/vega-input-select/vega-input-select.d.ts +19 -1
  435. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.d.ts +0 -1
  436. package/dist/types/components/vega-modal/slimmers/renderers/vega-modal-renderer.d.ts +4 -0
  437. package/dist/types/components/vega-modal/vega-modal.d.ts +24 -3
  438. package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-open-state-controller.d.ts +17 -0
  439. package/dist/types/components/vega-pagination/constants/page-size.d.ts +2 -0
  440. package/dist/types/components/vega-pagination/internal/vega-pagination-page-size-selector.d.ts +3 -2
  441. package/dist/types/components/vega-pagination/slimmers/controllers/vega-pagination-page-size-observer-controller.d.ts +2 -0
  442. package/dist/types/components/vega-pagination/types.d.ts +15 -0
  443. package/dist/types/components/vega-pagination/utils/page-size-option-utils.d.ts +42 -0
  444. package/dist/types/components/vega-pagination/vega-pagination-page-size-selector-mobile/slimmers/renderers/page-size-selector-mobile-dropdown-renderer.d.ts +2 -0
  445. package/dist/types/components/vega-pagination/vega-pagination-page-size-selector-mobile/vega-pagination-page-size-selector-mobile.d.ts +9 -2
  446. package/dist/types/components/vega-pagination/vega-pagination.d.ts +8 -3
  447. package/dist/types/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-direction-controller.d.ts +14 -2
  448. package/dist/types/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-step-controller.d.ts +1 -0
  449. package/dist/types/components/vega-progress-tracker/slimmers/renderers/vega-progress-tracker-renderer.d.ts +1 -1
  450. package/dist/types/components/vega-progress-tracker/vega-progress-tracker.d.ts +16 -0
  451. package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +5 -0
  452. package/dist/types/components/vega-rich-text-editor/dto/annotations/image-annotation.d.ts +1 -0
  453. package/dist/types/components/vega-rich-text-editor/dto/annotations/inline-html-annotation.d.ts +14 -0
  454. package/dist/types/components/vega-rich-text-editor/dto/annotations/link-group-annotation.d.ts +8 -2
  455. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +4 -2
  456. package/dist/types/components/vega-rich-text-editor/dto/blocks/code-block.d.ts +2 -2
  457. package/dist/types/components/vega-rich-text-editor/dto/blocks/html-block.d.ts +1 -11
  458. package/dist/types/components/vega-rich-text-editor/dto/blocks/image-block.d.ts +1 -1
  459. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +1 -1
  460. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +1 -1
  461. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +15 -2
  462. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +9 -3
  463. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/code-block/code-block-filter-styles-strategy.d.ts +27 -0
  464. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/code-block/code-node-filter-styles-strategy.d.ts +27 -0
  465. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy-registry.d.ts +27 -1
  466. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy.abstract.d.ts +92 -8
  467. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/image-node/image-filter-styles-strategy.d.ts +21 -3
  468. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-block-filter-styles-strategy.d.ts +15 -0
  469. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-heading-item-block-filter-styles-strategy.d.ts +19 -0
  470. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-item-block-filter-styles-strategy.d.ts +25 -0
  471. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-title-item-block-filter-styles-strategy.d.ts +19 -0
  472. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/predicate.d.ts +72 -0
  473. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/text-block/heading-filter-styles-strategy.d.ts +10 -0
  474. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/text-block/paragraph-filter-styles-strategy.d.ts +34 -0
  475. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/text-block/title-filter-styles-strategy.d.ts +11 -0
  476. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/code-filter-styles-strategy.d.ts +25 -2
  477. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/link-filter-styles-strategy.d.ts +24 -4
  478. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/title-heading-node-filter-styles-strategy.d.ts +62 -0
  479. package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +7 -3
  480. package/dist/types/components/vega-rich-text-editor/dto/nodes/image-node.d.ts +1 -1
  481. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +5 -3
  482. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +43 -4
  483. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +25 -0
  484. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.d.ts +5 -0
  485. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.d.ts +12 -0
  486. package/dist/types/components/vega-rich-text-editor/extensions/extension.abstract.d.ts +8 -0
  487. package/dist/types/components/vega-rich-text-editor/extensions/table/annotations/table-annotation.d.ts +8 -0
  488. package/dist/types/components/vega-rich-text-editor/extensions/table/annotations/table-caption-annotation.d.ts +7 -1
  489. package/dist/types/components/vega-rich-text-editor/extensions/table/annotations/table-cell-annotation.d.ts +9 -1
  490. package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-block.d.ts +1 -1
  491. package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-body-block.d.ts +1 -1
  492. package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-caption-block.d.ts +5 -2
  493. package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-cell-block.d.ts +1 -1
  494. package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-head-block.d.ts +1 -1
  495. package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-head-cell-block.d.ts +1 -1
  496. package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-row-block.d.ts +1 -1
  497. package/dist/types/components/vega-rich-text-editor/extensions/table/filter-styles-strategies/table-block/table-block-filter-styles-strategy.d.ts +29 -0
  498. package/dist/types/components/vega-rich-text-editor/extensions/table/filter-styles-strategies/table-caption/table-caption-filter-styles-strategy.d.ts +29 -0
  499. package/dist/types/components/vega-rich-text-editor/extensions/table/filter-styles-strategies/table-cell/table-cell-filter-styles-strategy.d.ts +46 -0
  500. package/dist/types/components/vega-rich-text-editor/helpers/utils.d.ts +8 -0
  501. package/dist/types/components/vega-rich-text-editor/interface.d.ts +27 -5
  502. package/dist/types/components/vega-rich-text-editor/public-api.d.ts +1 -0
  503. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/custom-style-annotation-handler.d.ts +0 -7
  504. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/html-element-to-annotation-generator.d.ts +1 -1
  505. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/inline-html-annotation-handler.d.ts +11 -1
  506. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.d.ts +43 -7
  507. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.d.ts +8 -3
  508. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/html-block-strategy.d.ts +34 -1
  509. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/predicate.d.ts +21 -0
  510. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/strategy-tags.d.ts +83 -0
  511. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.d.ts +6 -0
  512. package/dist/types/components/vega-section-title/slimmers/renderers/vega-section-title-renderer.d.ts +2 -0
  513. package/dist/types/components/vega-section-title/types.d.ts +1 -0
  514. package/dist/types/components/vega-section-title/vega-section-title.d.ts +14 -0
  515. package/dist/types/components/vega-table/slimmers/controllers/vega-table-render-input-controller.d.ts +8 -1
  516. package/dist/types/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.d.ts +5 -1
  517. package/dist/types/components/vega-table/vega-table-cell/vega-table-cell.d.ts +5 -0
  518. package/dist/types/components/vega-table/vega-table-head-cell/vega-table-head-cell.d.ts +5 -0
  519. package/dist/types/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.d.ts +1 -0
  520. package/dist/types/components/vega-table/vega-table-head-row/vega-table-head-row.d.ts +4 -0
  521. package/dist/types/components/vega-text/types.d.ts +5 -3
  522. package/dist/types/components/vega-tooltip/vega-tooltip-content-box/vega-tooltip-content-box.d.ts +4 -0
  523. package/dist/types/components/vega-tooltip/vega-tooltip.d.ts +4 -0
  524. package/dist/types/components.d.ts +247 -13
  525. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
  526. package/dist/types/helpers/formatter/string-formatter/string-mask-strategy.d.ts +56 -3
  527. package/dist/types/helpers/slimmers/aria-dialog-focusable-trap-slimmer.d.ts +4 -12
  528. package/dist/types/helpers/slimmers/drop-file-accept-filter-slimmer.d.ts +29 -0
  529. package/dist/types/helpers/slimmers/vega-table-child-render-input-consumer-slimmer.d.ts +48 -0
  530. package/dist/types/helpers/translation/interface.d.ts +4 -1
  531. package/dist/types/types/components.type.d.ts +10 -0
  532. package/dist/types/types/public-api.d.ts +3 -1
  533. package/dist/types/types/type-guard.d.ts +29 -1
  534. package/dist/types/types/ui.type.d.ts +11 -1
  535. package/dist/types/utils/ui.d.ts +14 -0
  536. package/dist/vega/index.esm.js +1 -1
  537. package/dist/vega/{p-7618dde4.js → p-02467b61.js} +1 -1
  538. package/dist/vega/p-075bb809.entry.js +1 -0
  539. package/dist/vega/p-085de8fc.js +1 -0
  540. package/dist/vega/p-0915a8d3.entry.js +1 -0
  541. package/dist/vega/p-0caf52e0.js +1 -0
  542. package/dist/vega/{p-19ad4f15.entry.js → p-0dbd7723.entry.js} +1 -1
  543. package/dist/vega/{p-cf70c57d.js → p-103d20f5.js} +1 -1
  544. package/dist/vega/p-115d6053.entry.js +1 -0
  545. package/dist/vega/p-116e3963.js +1 -0
  546. package/dist/vega/p-14de7ba0.entry.js +1 -0
  547. package/dist/vega/p-19a30f98.entry.js +1 -0
  548. package/dist/vega/{p-90137c68.entry.js → p-1ca95601.entry.js} +1 -1
  549. package/dist/vega/p-1dd6ba67.js +1 -0
  550. package/dist/vega/p-1efb47fe.entry.js +1 -0
  551. package/dist/vega/p-23c840dc.entry.js +1 -0
  552. package/dist/vega/p-246eb001.entry.js +1 -0
  553. package/dist/vega/p-25ab7a33.entry.js +1 -0
  554. package/dist/vega/p-264b3309.entry.js +1 -0
  555. package/dist/vega/{p-c045e4c1.entry.js → p-280f63fa.entry.js} +1 -1
  556. package/dist/vega/p-295326ca.entry.js +1 -0
  557. package/dist/vega/p-29d31c98.entry.js +1 -0
  558. package/dist/vega/{p-382b71a3.entry.js → p-29f42c27.entry.js} +1 -1
  559. package/dist/vega/p-2b5cf2b3.js +1 -0
  560. package/dist/vega/{p-0313393d.entry.js → p-30445cd9.entry.js} +1 -1
  561. package/dist/vega/p-318f0df5.js +1 -0
  562. package/dist/vega/p-337a5e76.js +1 -0
  563. package/dist/vega/p-3505f7cc.entry.js +1 -0
  564. package/dist/vega/p-38af89b9.js +1 -0
  565. package/dist/vega/p-3fae8d3f.entry.js +1 -0
  566. package/dist/vega/{p-b696a861.js → p-42141782.js} +1 -1
  567. package/dist/vega/{p-d1ca70a1.js → p-44044ed7.js} +1 -1
  568. package/dist/vega/p-475bd8bf.entry.js +1 -0
  569. package/dist/vega/{p-df5bfbc4.entry.js → p-47611a83.entry.js} +1 -1
  570. package/dist/vega/p-4e95248c.entry.js +1 -0
  571. package/dist/vega/p-4f938ee4.entry.js +1 -0
  572. package/dist/vega/{p-f3456993.entry.js → p-513f51ec.entry.js} +1 -1
  573. package/dist/vega/{p-ba415db6.entry.js → p-51d2e0ab.entry.js} +1 -1
  574. package/dist/vega/{p-ab21fdf6.entry.js → p-58b6ac33.entry.js} +1 -1
  575. package/dist/vega/{p-7362723e.entry.js → p-596bc4f6.entry.js} +1 -1
  576. package/dist/vega/{p-70f1cf4e.entry.js → p-597588d0.entry.js} +1 -1
  577. package/dist/vega/p-5f377954.js +1 -1
  578. package/dist/vega/p-5ffdea8e.js +1 -0
  579. package/dist/vega/{p-3224e47c.js → p-6572e038.js} +1 -1
  580. package/dist/vega/{p-b5c2fff3.entry.js → p-6d95390b.entry.js} +1 -1
  581. package/dist/vega/p-6e70d3cc.js +1 -0
  582. package/dist/vega/p-6e9f832f.js +1 -0
  583. package/dist/vega/{p-c9201bf4.js → p-76063dcb.js} +1 -1
  584. package/dist/vega/p-783531cf.entry.js +1 -0
  585. package/dist/vega/{p-35386999.entry.js → p-7d85cc74.entry.js} +1 -1
  586. package/dist/vega/p-7df43192.entry.js +1 -0
  587. package/dist/vega/p-7faaa5e1.entry.js +1 -0
  588. package/dist/vega/{p-517434d4.entry.js → p-8583dd34.entry.js} +1 -1
  589. package/dist/vega/p-85abe824.entry.js +1 -0
  590. package/dist/vega/p-874bf8b2.js +1 -0
  591. package/dist/vega/p-88b6184c.entry.js +1 -0
  592. package/dist/vega/p-8aee6b74.js +1 -0
  593. package/dist/vega/{p-1557ed92.entry.js → p-8b217c7e.entry.js} +1 -1
  594. package/dist/vega/p-8da66d41.entry.js +1 -0
  595. package/dist/vega/{p-b3e40faf.js → p-956b170c.js} +1 -1
  596. package/dist/vega/{p-1c45565d.js → p-9751c801.js} +1 -1
  597. package/dist/vega/{p-7ceab8c7.entry.js → p-97f36f4e.entry.js} +1 -1
  598. package/dist/vega/p-988401c3.entry.js +1 -0
  599. package/dist/vega/{p-47ca1f69.entry.js → p-9c1a48b9.entry.js} +1 -1
  600. package/dist/vega/p-9d854d43.js +1 -0
  601. package/dist/vega/p-9dcecdd3.js +1 -0
  602. package/dist/vega/{p-612e3ded.js → p-a07c0f8c.js} +1 -1
  603. package/dist/vega/{p-576fe408.js → p-a0c3968b.js} +1 -1
  604. package/dist/vega/p-a30ae8a1.js +1 -0
  605. package/dist/vega/p-a5bd3ecd.entry.js +1 -0
  606. package/dist/vega/p-a6dbc63d.entry.js +1 -0
  607. package/dist/vega/p-aa985d73.js +1 -0
  608. package/dist/vega/{p-44c5cbb7.js → p-ab829745.js} +1 -1
  609. package/dist/vega/p-b08a70e6.entry.js +1 -0
  610. package/dist/vega/p-b19b1c08.js +1 -0
  611. package/dist/vega/p-b5497af2.entry.js +1 -0
  612. package/dist/vega/p-b7624ce4.js +1 -0
  613. package/dist/vega/p-b9386dd0.js +1 -0
  614. package/dist/vega/{p-e84b95d4.js → p-b9947846.js} +1 -1
  615. package/dist/vega/p-b9a95aca.entry.js +1 -0
  616. package/dist/vega/{p-dc9b5063.entry.js → p-bb46d8e6.entry.js} +1 -1
  617. package/dist/vega/{p-ec1d76c6.entry.js → p-c366e7f7.entry.js} +1 -1
  618. package/dist/vega/p-c36afa21.entry.js +1 -0
  619. package/dist/vega/{p-60cf2a68.js → p-c8435185.js} +1 -1
  620. package/dist/vega/{p-04e56b0c.entry.js → p-c8d41cdc.entry.js} +1 -1
  621. package/dist/vega/p-cab70b95.entry.js +1 -0
  622. package/dist/vega/p-cc18970f.entry.js +1 -0
  623. package/dist/vega/p-d320496e.entry.js +1 -0
  624. package/dist/vega/{p-89e56502.js → p-d32e83e7.js} +1 -1
  625. package/dist/vega/{p-65900dbf.entry.js → p-d456386a.entry.js} +1 -1
  626. package/dist/vega/p-d4f1f007.js +3 -0
  627. package/dist/vega/{p-82016096.js → p-d5531d3c.js} +1 -1
  628. package/dist/vega/{p-4eb282ef.entry.js → p-d7bd2470.entry.js} +1 -1
  629. package/dist/vega/p-d872beb1.entry.js +1 -0
  630. package/dist/vega/p-d9d5c693.entry.js +1 -0
  631. package/dist/vega/{p-be3517be.entry.js → p-da742a7f.entry.js} +1 -1
  632. package/dist/vega/{p-204c7d41.js → p-dd6211cd.js} +1 -1
  633. package/dist/vega/{p-f48c43f4.entry.js → p-e340d58c.entry.js} +1 -1
  634. package/dist/vega/p-e71864ff.js +1 -0
  635. package/dist/vega/{p-7912741f.entry.js → p-e7a4b760.entry.js} +1 -1
  636. package/dist/vega/{p-ffa2e3a6.entry.js → p-ea564928.entry.js} +1 -1
  637. package/dist/vega/p-eb0ebf50.entry.js +1 -0
  638. package/dist/vega/p-ebdb489c.entry.js +1 -0
  639. package/dist/vega/{p-7c2fecfd.entry.js → p-ed01657b.entry.js} +1 -1
  640. package/dist/vega/p-eda7cd76.entry.js +1 -0
  641. package/dist/vega/{p-68a531cf.js → p-edda10f7.js} +1 -1
  642. package/dist/vega/{p-2c2df248.js → p-ef59f6f0.js} +1 -1
  643. package/dist/vega/{p-1a2f92a3.entry.js → p-efc8c09e.entry.js} +1 -1
  644. package/dist/vega/p-f020738c.entry.js +1 -0
  645. package/dist/vega/{p-878851f6.js → p-f28a6074.js} +1 -1
  646. package/dist/vega/{p-07a2b42a.js → p-f7a5746b.js} +1 -1
  647. package/dist/vega/{p-9dc23325.entry.js → p-f89cf75a.entry.js} +1 -1
  648. package/dist/vega/p-fb5ea4b2.js +1 -0
  649. package/dist/vega/p-fc7ab79d.js +1 -0
  650. package/dist/vega/vega.esm.js +1 -1
  651. package/package.json +1 -1
  652. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-layout-controller.js +0 -146
  653. package/dist/types/components/vega-file-uploader/slimmers/controllers/vega-file-uploader-drop-file-filter-controller.d.ts +0 -22
  654. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-layout-controller.d.ts +0 -42
  655. package/dist/vega/p-010b5e74.js +0 -1
  656. package/dist/vega/p-01883ffc.entry.js +0 -1
  657. package/dist/vega/p-02578a59.js +0 -1
  658. package/dist/vega/p-043e685a.entry.js +0 -1
  659. package/dist/vega/p-08780df0.entry.js +0 -1
  660. package/dist/vega/p-10fa4eac.js +0 -1
  661. package/dist/vega/p-18619467.js +0 -1
  662. package/dist/vega/p-1feb4f2a.entry.js +0 -1
  663. package/dist/vega/p-203bc4db.entry.js +0 -1
  664. package/dist/vega/p-21c9e1ca.entry.js +0 -1
  665. package/dist/vega/p-22336063.js +0 -1
  666. package/dist/vega/p-224b67ff.entry.js +0 -1
  667. package/dist/vega/p-2d917e2d.entry.js +0 -1
  668. package/dist/vega/p-2e73582d.entry.js +0 -1
  669. package/dist/vega/p-334e3b02.entry.js +0 -1
  670. package/dist/vega/p-33860e54.js +0 -1
  671. package/dist/vega/p-365d21ac.entry.js +0 -1
  672. package/dist/vega/p-367d44d9.entry.js +0 -1
  673. package/dist/vega/p-3d2d267d.js +0 -1
  674. package/dist/vega/p-3f3c771a.entry.js +0 -1
  675. package/dist/vega/p-434fc427.entry.js +0 -1
  676. package/dist/vega/p-559197f8.js +0 -1
  677. package/dist/vega/p-5ae4ea20.entry.js +0 -1
  678. package/dist/vega/p-68124bc5.js +0 -1
  679. package/dist/vega/p-6af55f1c.entry.js +0 -1
  680. package/dist/vega/p-6c5250b3.js +0 -1
  681. package/dist/vega/p-6f2e5bc6.js +0 -1
  682. package/dist/vega/p-716c71e6.js +0 -1
  683. package/dist/vega/p-76b80a0c.js +0 -1
  684. package/dist/vega/p-7942c042.entry.js +0 -1
  685. package/dist/vega/p-8327635d.js +0 -1
  686. package/dist/vega/p-840ad046.entry.js +0 -1
  687. package/dist/vega/p-8ac2d165.js +0 -1
  688. package/dist/vega/p-8adf9732.entry.js +0 -1
  689. package/dist/vega/p-8b891f36.entry.js +0 -1
  690. package/dist/vega/p-9341c1a9.js +0 -1
  691. package/dist/vega/p-9390a94b.entry.js +0 -1
  692. package/dist/vega/p-9551da9c.entry.js +0 -1
  693. package/dist/vega/p-9862d1a8.entry.js +0 -1
  694. package/dist/vega/p-a4dbf2cc.js +0 -1
  695. package/dist/vega/p-a99e75a1.entry.js +0 -1
  696. package/dist/vega/p-b5a6bd0f.entry.js +0 -1
  697. package/dist/vega/p-c4e32125.entry.js +0 -1
  698. package/dist/vega/p-c5b698f6.entry.js +0 -1
  699. package/dist/vega/p-c61279a7.entry.js +0 -1
  700. package/dist/vega/p-c6d62f0d.js +0 -1
  701. package/dist/vega/p-c8feb644.entry.js +0 -1
  702. package/dist/vega/p-cc055723.entry.js +0 -1
  703. package/dist/vega/p-cca5042b.entry.js +0 -1
  704. package/dist/vega/p-cda45d2a.entry.js +0 -1
  705. package/dist/vega/p-cdf5b2f0.entry.js +0 -1
  706. package/dist/vega/p-d1494c7c.entry.js +0 -1
  707. package/dist/vega/p-d202e69d.entry.js +0 -1
  708. package/dist/vega/p-dcd18ab1.js +0 -1
  709. package/dist/vega/p-e4726dcd.entry.js +0 -1
  710. package/dist/vega/p-ea21462f.js +0 -1
  711. package/dist/vega/p-f4190826.entry.js +0 -1
  712. package/dist/vega/p-fdac91c4.entry.js +0 -1
@@ -1,15 +1,16 @@
1
1
  'use strict';
2
2
 
3
3
  const changeManager = require('./change-manager-a297e4d2.js');
4
- const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-a3a60da4.js');
5
- const vegaInternalEventId = require('./vega-internal-event-id-a1837fa2.js');
4
+ const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-9110cb94.js');
5
+ const vegaInternalEventId = require('./vega-internal-event-id-87014e4f.js');
6
6
  const string = require('./string-39438062.js');
7
7
  const globalSlimmerRegistry = require('./global-slimmer-registry-b3bce7e0.js');
8
- const typeGuard = require('./type-guard-d760850a.js');
8
+ const typeGuard = require('./type-guard-3ec852d7.js');
9
+ const typography = require('./typography-4560e7f1.js');
9
10
  const misc = require('./misc-3d30df91.js');
10
- const darkModeStyleController = require('./dark-mode-style-controller-3a04af3d.js');
11
+ const darkModeStyleController = require('./dark-mode-style-controller-bd765afb.js');
11
12
  const object = require('./object-b53e9416.js');
12
- const ui = require('./ui-9e8c9732.js');
13
+ const ui = require('./ui-ae4ee13d.js');
13
14
 
14
15
  exports.InternalAnnotationTypeEnum = void 0;
15
16
  (function (InternalAnnotationTypeEnum) {
@@ -162,6 +163,405 @@ class ModifyContentAction {
162
163
  }
163
164
  }
164
165
 
166
+ /**
167
+ * Creates a style map from the inline styles of an HTML element. This function extracts the 'style' attribute from the given element.
168
+ *
169
+ * @param {HTMLElement} element The HTML element from which to extract inline styles.
170
+ * @returns {AnnotationStyle} An object representing the custom style annotations.
171
+ */
172
+ function createStyleMapFromElement(element) {
173
+ const customStyle = element.getAttribute('style');
174
+ if (!customStyle)
175
+ return {};
176
+ const styleValue = customStyle.split(';').filter(Boolean);
177
+ return styleValue
178
+ .filter((key) => key !== ' ')
179
+ .map((key) => {
180
+ // to remove redundant quote pairs if needed, for example: ['fontFamily: "Roboto Mono"'] will be updated to ['fontFamily: Roboto Mono']
181
+ const styleObject = key.replace(/(['"])(.*?)\1/g, '$2').split(':');
182
+ const styleKey = string.dashCaseToCamel(styleObject[0].trim());
183
+ return {
184
+ [styleKey]: styleObject[1].trim().replace(';', ''),
185
+ };
186
+ })
187
+ .reduce((current, obj) => (Object.assign(Object.assign({}, current), obj)), {});
188
+ }
189
+
190
+ /**
191
+ * Abstract strategy class for filtering default styles in the rich text editor.
192
+ * Concrete strategies define which styles to strip via `stylesToBeFiltered`.
193
+ *
194
+ * This base is shared by two kinds of concrete strategies:
195
+ * 1. Block/node output strategies – filter inline styles when converting DTO → HTML.
196
+ * 2. Annotation parsing strategies – strip redundant defaults when converting HTML → DTO.
197
+ */
198
+ class RTEFilterStylesStrategy {
199
+ constructor() {
200
+ /**
201
+ * The class name to be added to the element if the styles are successfully filtered. This should be defined in the concrete implementation of the strategy if needed.
202
+ * After the class name is added to the element, it will be removed in the next refill process to avoid redundant class names.
203
+ * The class name will only be added when the styles are successfully extracted, which means the expected styles are present in the full styles object and have been deleted from it.
204
+ */
205
+ this.classNameToBeAdded = '';
206
+ }
207
+ /**
208
+ * Removes matched default styles from the `customStyle` property of the given annotations object.
209
+ * If all custom styles are defaults, the `customStyle` key is deleted entirely.
210
+ *
211
+ * @param {VegaRTEAnnotations} annotations - The annotations object (mutated in place).
212
+ * @returns {VegaRTEAnnotations} The same annotations reference.
213
+ */
214
+ filterAnnotations(annotations) {
215
+ const customStyle = annotations.customStyle;
216
+ if (!customStyle) {
217
+ return annotations;
218
+ }
219
+ this.extractAndDeleteMatchedStyles(customStyle);
220
+ if (Object.keys(customStyle).length === 0) {
221
+ delete annotations.customStyle;
222
+ }
223
+ return annotations;
224
+ }
225
+ /**
226
+ * Filters and deletes the matched styles from the full styles object, add the corresponding class name if necessary, and returns the result.
227
+ *
228
+ * @param {RTEFilterStyles} fullStyles - The full set of styles to filter.
229
+ * @param {string[]} classNames - The class names to consider.
230
+ * @returns {RTEFilterInlineStylesResult} The filtered styles and class names.
231
+ */
232
+ filterAndDeleteStyles(fullStyles, classNames) {
233
+ const classSet = new Set(classNames);
234
+ const shouldAddClass = this.extractAndDeleteMatchedStyles(fullStyles);
235
+ if (shouldAddClass && this.classNameToBeAdded) {
236
+ classSet.add(this.classNameToBeAdded);
237
+ }
238
+ return {
239
+ styles: fullStyles,
240
+ classNames: Array.from(classSet),
241
+ };
242
+ }
243
+ /**
244
+ * Refills the external styles for a given HTML element based on a matched external style rule.
245
+ *
246
+ * @param {HTMLElement} element - The HTML element to apply the styles to. The element's existing styles will be merged with the matched rule's styles, and the matched class name will be removed from the element.
247
+ */
248
+ refillStyles(element) {
249
+ if (this.classNameToBeAdded) {
250
+ element.classList.remove(this.classNameToBeAdded);
251
+ }
252
+ const existingStyles = createStyleMapFromElement(element);
253
+ const mergedStyles = Object.assign(Object.assign({}, this.stylesToBeFiltered), existingStyles);
254
+ const cssText = Object.entries(Object.assign({}, mergedStyles))
255
+ .map(([key, value]) => `${string.camelToDashCase(key)}: ${value};`)
256
+ .join('');
257
+ element.setAttribute('style', cssText);
258
+ }
259
+ /**
260
+ * Determines if the strategy can filter the given block or node instance.
261
+ * Return false by default, concrete strategies should override this method to specify the filtering logic based on the block or node instance's properties, such as its type or annotations.
262
+ *
263
+ * @param {RTEBlock | RTENode} _blockOrNodeInstance - The block or node instance to check.
264
+ * @returns {boolean} True if the strategy can filter the instance, false otherwise.
265
+ */
266
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
267
+ canFilter(_blockOrNodeInstance) {
268
+ return false;
269
+ }
270
+ /**
271
+ * Determines if the strategy can refill styles for the given block or node class name and element.
272
+ * Return false by default to avoid unnecessary refill attempts, concrete strategies should override this method to specify the refilling logic based on the class name and element properties, such as the presence of certain attributes or existing styles.
273
+ *
274
+ * @param {string} _blockOrNodeClassName - The class name of the block or node.
275
+ * @param {HTMLElement} _element - The HTML element to apply the styles to.
276
+ * @returns {boolean} True if the strategy can refill styles, false otherwise.
277
+ */
278
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
279
+ canRefill(_blockOrNodeClassName, _element) {
280
+ return false;
281
+ }
282
+ /**
283
+ * Generates the CSS text to be applied to the element based on the strategy's styles to filter. This method should be implemented in the concrete strategy class to return the appropriate CSS text for the styles it handles.
284
+ * Return an empty string by default to avoid applying any styles when the method is not implemented in a concrete strategy.
285
+ *
286
+ * @returns {string} The CSS text to be applied to the element.
287
+ */
288
+ toCssText() {
289
+ return '';
290
+ }
291
+ /**
292
+ * Whether this strategy should always filter, regardless of `autoMatchFormat`.
293
+ * Override to `true` when the filtered styles are always emitted as inline
294
+ * styles by the DTO (e.g. image `vertical-align`), so stripping them from
295
+ * `customStyle` is always safe.
296
+ *
297
+ * Defaults to `false` – the strategy only runs when `autoMatchFormat` is enabled.
298
+ * Used before invoke the filterAnnotations method.
299
+ *
300
+ * @returns {boolean} Whether filtering should always apply.
301
+ */
302
+ get alwaysFilter() {
303
+ return false;
304
+ }
305
+ /**
306
+ * Removes configured default style properties from the target styles object.
307
+ * Only properties whose value matches the configured default exactly are deleted.
308
+ *
309
+ * @param {Nullable<RTEFilterStyles>} styles - The styles object to mutate.
310
+ * @returns {boolean} `true` if at least one style was extracted.
311
+ */
312
+ extractAndDeleteMatchedStyles(styles) {
313
+ let wasExtracted = false;
314
+ const defaults = this.stylesToBeFiltered;
315
+ if (styles && defaults) {
316
+ const styleKeys = Object.keys(defaults);
317
+ for (const key of styleKeys) {
318
+ if (styles[key] === defaults[key]) {
319
+ delete styles[key];
320
+ wasExtracted = true;
321
+ }
322
+ }
323
+ }
324
+ return wasExtracted;
325
+ }
326
+ /**
327
+ * Converts the styles map to a CSS text string.
328
+ *
329
+ * @param {string} tagName The HTML tag name.
330
+ * @param {string} [className] The optional class name.
331
+ * @returns {string} The CSS text string.
332
+ */
333
+ buildCssTextForStyles(tagName, className) {
334
+ const selector = `.${RTEFilterStylesStrategy.RTE_CONTENT_CONTAINER_CLASS_NAME}` +
335
+ (className ? ` .${className}` : ` ${tagName}`);
336
+ const styles = Object.entries(this.stylesToBeFiltered)
337
+ .map(([key, value]) => `${string.camelToDashCase(key)}: ${value};`)
338
+ .join(' ');
339
+ return `${selector} { ${styles} }`;
340
+ }
341
+ /**
342
+ * Converts the styles map to a CSS text string.
343
+ *
344
+ * @param {RTEFilterStyles} [styles] The styles to convert. If not provided, the strategy's stylesToBeFiltered will be used.
345
+ * @returns {string} The CSS text string.
346
+ */
347
+ convertStylesMapToCssText(styles) {
348
+ const stylesToConvert = styles || this.stylesToBeFiltered;
349
+ return Object.entries(stylesToConvert)
350
+ .map(([key, value]) => `${string.camelToDashCase(key)}: ${value};`)
351
+ .join(' ');
352
+ }
353
+ /**
354
+ * Check if the styles of the block or node instance match the default paragraph styles.
355
+ *
356
+ * @param {RTEBlock | RTENode} blockOrNodeInstance - The block or node instance to check.
357
+ * @param {string[]} [checkedKeys] - Optional array of style keys to check. If not provided, all keys in stylesToBeFiltered will be checked.
358
+ * @returns {boolean} - True if the styles match the default paragraph styles, false otherwise.
359
+ */
360
+ isBlockOrNodeStylesMatchFilterStyles(blockOrNodeInstance, checkedKeys) {
361
+ const styles = blockOrNodeInstance.getStyles({ standalone: true });
362
+ return this.isMatchFilterStyles(styles, checkedKeys);
363
+ }
364
+ /**
365
+ * Checks if the given itemStyles match the default paragraph styles.
366
+ *
367
+ * @param {RTEFilterStyles} itemStyles - The styles to check against the default paragraph styles.
368
+ * @param {string[]} [checkedKeys] - Optional array of style keys to check. If not provided, all keys in stylesToBeFiltered will be checked.
369
+ * @returns {boolean} - True if the itemStyles match the default paragraph styles, false otherwise.
370
+ */
371
+ isMatchFilterStyles(itemStyles, checkedKeys) {
372
+ const keysToCheck = checkedKeys && checkedKeys.length > 0 ? checkedKeys : Object.keys(this.stylesToBeFiltered);
373
+ return keysToCheck.every((key) => {
374
+ return itemStyles[key] === this.stylesToBeFiltered[key];
375
+ });
376
+ }
377
+ }
378
+ /**
379
+ * Used for generate the style text, all styles should inside the content container.
380
+ * For example, if the style text is .v-rte-title {font-size: 24px;} the final generated style text should be .vega-rte-content .v-rte-title {font-size: 24px;} to make sure the styles are only applied to the elements inside the content container.
381
+ */
382
+ RTEFilterStylesStrategy.RTE_CONTENT_CONTAINER_CLASS_NAME = 'vega-rte-content';
383
+
384
+ exports.NodeAnnotationTypeEnum = void 0;
385
+ (function (NodeAnnotationTypeEnum) {
386
+ NodeAnnotationTypeEnum["BOLD"] = "BOLD";
387
+ NodeAnnotationTypeEnum["ITALIC"] = "ITALIC";
388
+ NodeAnnotationTypeEnum["UNDERLINE"] = "UNDERLINE";
389
+ NodeAnnotationTypeEnum["STRIKETHROUGH"] = "STRIKETHROUGH";
390
+ NodeAnnotationTypeEnum["SELECTION_RANGE"] = "SELECTION_RANGE";
391
+ NodeAnnotationTypeEnum["IMAGE"] = "IMAGE";
392
+ NodeAnnotationTypeEnum["CODE"] = "CODE";
393
+ NodeAnnotationTypeEnum["TEXT_COLOR"] = "TEXT_COLOR";
394
+ NodeAnnotationTypeEnum["LINK"] = "LINK";
395
+ NodeAnnotationTypeEnum["INLINE_HTML"] = "INLINE_HTML";
396
+ NodeAnnotationTypeEnum["PLAIN_TEXT"] = "PLAIN_TEXT";
397
+ })(exports.NodeAnnotationTypeEnum || (exports.NodeAnnotationTypeEnum = {}));
398
+ /**
399
+ * Abstract class for all annotations
400
+ */
401
+ class NodeAnnotation extends Annotation {
402
+ }
403
+
404
+ /**
405
+ * Predicate class provides static methods to check specific conditions on HTML elements or dto instances.
406
+ */
407
+ class Predicate {
408
+ /**
409
+ * Checks if the given class name corresponds to a text block.
410
+ *
411
+ * @param {string} className The class name to check.
412
+ * @returns {boolean} True if the class name corresponds to a text block, false otherwise.
413
+ */
414
+ static isTextBlock(className) {
415
+ return className === this.RTE_TEXT_BLOCK_CLASS_NAME;
416
+ }
417
+ /**
418
+ * Checks if the given class name corresponds to a code block.
419
+ *
420
+ * @param {string} className The class name to check.
421
+ * @returns {boolean} True if the class name corresponds to a code block, false otherwise.
422
+ */
423
+ static isCodeBlock(className) {
424
+ return className === 'RTECodeBlock';
425
+ }
426
+ /**
427
+ * Checks if the given class name corresponds to a list block.
428
+ *
429
+ * @param {string} className The class name to check.
430
+ * @returns {boolean} True if the class name corresponds to a list block, false otherwise.
431
+ */
432
+ static isListBlock(className) {
433
+ return className === 'RTEListBlock';
434
+ }
435
+ /**
436
+ * Checks if the given class name corresponds to a list item block.
437
+ *
438
+ * @param {string} className The class name to check.
439
+ * @returns {boolean} True if the class name corresponds to a list item block, false otherwise.
440
+ */
441
+ static isListItemBlock(className) {
442
+ return className === 'RTEListItemBlock';
443
+ }
444
+ /**
445
+ * Checks if the given class name corresponds to a text node.
446
+ *
447
+ * @param {string} className The class name to check.
448
+ * @returns {boolean} True if the class name corresponds to a text node, false otherwise.
449
+ */
450
+ static isTextNode(className) {
451
+ return className === this.RTE_TEXT_NODE_CLASS_NAME;
452
+ }
453
+ /**
454
+ * Checks if the given block or node instance is a text node and has a link annotation.
455
+ *
456
+ * @param {RTEBlock | RTENode} blockOrNodeInstance The block or node instance to check.
457
+ * @returns {boolean} True if the block or node instance is a text node and has a link annotation, false otherwise.
458
+ */
459
+ static isLinkNode(blockOrNodeInstance) {
460
+ return (this.isTextNode(blockOrNodeInstance.constructor.name) &&
461
+ !!blockOrNodeInstance.getAnnotationByType(exports.NodeAnnotationTypeEnum.LINK));
462
+ }
463
+ /**
464
+ * Checks if the given block or node instance is a code node, which is defined as a text node that has a code annotation.
465
+ *
466
+ * @param {RTEBlock | RTENode} blockOrNodeInstance The block or node instance to check.
467
+ * @returns {boolean} True if the block or node instance is a code node, false otherwise.
468
+ */
469
+ static isCodeNode(blockOrNodeInstance) {
470
+ if (this.isTextNode(blockOrNodeInstance.constructor.name)) {
471
+ const codeAnnotation = blockOrNodeInstance.getAnnotationByType(exports.NodeAnnotationTypeEnum.CODE);
472
+ return !!codeAnnotation && codeAnnotation.code;
473
+ }
474
+ return false;
475
+ }
476
+ /**
477
+ * Check if the given block or node instance is an image node, which is defined as an instance of RTEImageNode.
478
+ *
479
+ * @param {RTEBlock | RTENode} blockOrNodeInstance The block or node instance to check.
480
+ * @returns {boolean} True if the block or node instance is an image node, false otherwise.
481
+ */
482
+ static isImageNode(blockOrNodeInstance) {
483
+ return blockOrNodeInstance.constructor.name === 'RTEImageNode';
484
+ }
485
+ /**
486
+ * Check if the given block or node instance is a code block node, which is defined as an instance of RTECodeBlockNode.
487
+ *
488
+ * @param {RTEBlock | RTENode} blockOrNodeInstance The block or node instance to check.
489
+ * @returns {boolean} True if the block or node instance is a code block node, false otherwise.
490
+ */
491
+ static isCodeBlockNode(blockOrNodeInstance) {
492
+ return blockOrNodeInstance.constructor.name === 'RTECodeBlockNode';
493
+ }
494
+ }
495
+ Predicate.RTE_TEXT_NODE_CLASS_NAME = 'RTETextNode';
496
+ Predicate.RTE_TEXT_BLOCK_CLASS_NAME = 'RTETextBlock';
497
+
498
+ /**
499
+ * The LinkFilterStylesStrategy is responsible for filtering link styles from text nodes that are annotated as links.
500
+ */
501
+ class LinkFilterStylesStrategy extends RTEFilterStylesStrategy {
502
+ constructor() {
503
+ super(...arguments);
504
+ this.stylesToBeFiltered = LinkGroupAnnotation.getDefaultStyles();
505
+ this.elementTagName = 'a';
506
+ }
507
+ /**
508
+ * Filter default link styles from `link.customStyle` in annotations.
509
+ *
510
+ * @param {VegaRTEAnnotations} annotations - The annotations to filter.
511
+ * @returns {VegaRTEAnnotations} The same annotations reference with link.customStyle cleaned up.
512
+ */
513
+ filterAnnotations(annotations) {
514
+ const link = annotations.link;
515
+ if (!(link === null || link === void 0 ? void 0 : link.customStyle)) {
516
+ return annotations;
517
+ }
518
+ this.extractAndDeleteMatchedStyles(link.customStyle);
519
+ if (Object.keys(link.customStyle).length === 0) {
520
+ delete link.customStyle;
521
+ }
522
+ return annotations;
523
+ }
524
+ /**
525
+ * @inheritDoc
526
+ */
527
+ canFilter(blockOrNodeInstance) {
528
+ return Predicate.isLinkNode(blockOrNodeInstance);
529
+ }
530
+ /**
531
+ * @inheritDoc
532
+ */
533
+ canRefill(blockOrNodeClassName, element) {
534
+ return blockOrNodeClassName === 'RTETextNode' && element.matches(this.elementTagName);
535
+ }
536
+ /**
537
+ * @inheritDoc
538
+ */
539
+ toCssText() {
540
+ return this.buildCssTextForStyles(this.elementTagName, this.classNameToBeAdded);
541
+ }
542
+ /**
543
+ * Filters the inline styles for a link group annotation and updates the attributes accordingly.
544
+ *
545
+ * @param {Record<string, string | AnnotationStyle>} attributes The attributes of the link group annotation.
546
+ * @returns {Record<string, string | AnnotationStyle>} The updated attributes after filtering.
547
+ */
548
+ filterLinkGroupInlineStyles(attributes) {
549
+ const fullStyles = attributes.style;
550
+ const classNames = attributes.class ? attributes.class.split(' ') : [];
551
+ const filterResult = this.filterAndDeleteStyles(fullStyles, classNames);
552
+ filterResult.styles &&
553
+ Object.keys(filterResult.styles).length > 0 &&
554
+ (attributes.style = filterResult.styles);
555
+ filterResult.classNames &&
556
+ filterResult.classNames.length > 0 &&
557
+ (attributes.class = filterResult.classNames.join(' '));
558
+ if (attributes.style && Object.keys(attributes.style).length === 0) {
559
+ delete attributes.style;
560
+ }
561
+ return attributes;
562
+ }
563
+ }
564
+
165
565
  /**
166
566
  * Annotation to represent a link of grouped nodes
167
567
  */
@@ -194,11 +594,15 @@ class LinkGroupAnnotation extends Annotation {
194
594
  * Convert the custom style, class and attribute to string which html can used
195
595
  *
196
596
  * @param {linkAnnotation} linkAnnotation current link annotation which saved custom style, class and attribute.
197
- * @param {RTERenderContext} options - options.
597
+ * @param {LinkGroupConversionOptions} options - options.
198
598
  * @returns {string} - string.
199
599
  */
200
600
  toString(linkAnnotation, options) {
201
- const attributes = this.toJsx(linkAnnotation, options);
601
+ let attributes = this.toJsx(linkAnnotation, options);
602
+ if (options === null || options === void 0 ? void 0 : options.filterInlineStyles) {
603
+ attributes =
604
+ LinkGroupAnnotation.linkGroupFilterStylesStrategy.filterLinkGroupInlineStyles(attributes);
605
+ }
202
606
  return Object.entries(attributes)
203
607
  .map(([key, value]) => {
204
608
  const valueString = typeof value === 'string' ? value : this.formatStyleToString(value);
@@ -280,6 +684,7 @@ class LinkGroupAnnotation extends Annotation {
280
684
  .join(' ');
281
685
  }
282
686
  }
687
+ LinkGroupAnnotation.linkGroupFilterStylesStrategy = new LinkFilterStylesStrategy();
283
688
 
284
689
  /**
285
690
  * Annotation to make block with horizontal alignment
@@ -809,26 +1214,6 @@ class InternalWrapperAnnotation extends BlockAnnotation {
809
1214
  }
810
1215
  }
811
1216
 
812
- exports.NodeAnnotationTypeEnum = void 0;
813
- (function (NodeAnnotationTypeEnum) {
814
- NodeAnnotationTypeEnum["BOLD"] = "BOLD";
815
- NodeAnnotationTypeEnum["ITALIC"] = "ITALIC";
816
- NodeAnnotationTypeEnum["UNDERLINE"] = "UNDERLINE";
817
- NodeAnnotationTypeEnum["STRIKETHROUGH"] = "STRIKETHROUGH";
818
- NodeAnnotationTypeEnum["SELECTION_RANGE"] = "SELECTION_RANGE";
819
- NodeAnnotationTypeEnum["IMAGE"] = "IMAGE";
820
- NodeAnnotationTypeEnum["CODE"] = "CODE";
821
- NodeAnnotationTypeEnum["TEXT_COLOR"] = "TEXT_COLOR";
822
- NodeAnnotationTypeEnum["LINK"] = "LINK";
823
- NodeAnnotationTypeEnum["INLINE_HTML"] = "INLINE_HTML";
824
- NodeAnnotationTypeEnum["PLAIN_TEXT"] = "PLAIN_TEXT";
825
- })(exports.NodeAnnotationTypeEnum || (exports.NodeAnnotationTypeEnum = {}));
826
- /**
827
- * Abstract class for all annotations
828
- */
829
- class NodeAnnotation extends Annotation {
830
- }
831
-
832
1217
  /**
833
1218
  * Class to handle the style representation of annotations for RTE blocks and nodes.
834
1219
  */
@@ -911,6 +1296,105 @@ class RTEAnnotationStyle {
911
1296
  }
912
1297
  }
913
1298
 
1299
+ /**
1300
+ * Registry for managing filter styles strategies keyed by DTO class name.
1301
+ *
1302
+ * Provides common `register` / `getStrategies` primitives that both output-
1303
+ * filtering strategies (DTO → HTML) and annotation-parsing strategies
1304
+ * (HTML → DTO) build upon.
1305
+ *
1306
+ * TODO: Currently, the filter styles strategies are applied for all rich text editors. We need to apply the strategies with a specific rich text editor instance when we have multiple rich text editors in the future.
1307
+ */
1308
+ class RTEFilterStylesStrategyRegistry {
1309
+ /**
1310
+ * Registers a filter styles strategy for a specific DTO class name.
1311
+ * Duplicate strategy instances are ignored.
1312
+ *
1313
+ * @param {string} dtoClassName - The DTO class name (e.g. `RTEListBlock.name`).
1314
+ * @param {RTEFilterStylesStrategy} strategy - The strategy instance to register.
1315
+ */
1316
+ static register(dtoClassName, strategy) {
1317
+ var _a;
1318
+ const set = (_a = this.registry.get(dtoClassName)) !== null && _a !== void 0 ? _a : new Set();
1319
+ set.add(strategy);
1320
+ this.registry.set(dtoClassName, set);
1321
+ }
1322
+ /**
1323
+ * Retrieves all strategies registered for a given DTO class name.
1324
+ *
1325
+ * @param {string} dtoClassName - The DTO class name to look up.
1326
+ * @returns {RTEFilterStylesStrategy[]} Registered strategies (empty array if none).
1327
+ */
1328
+ static getStrategies(dtoClassName) {
1329
+ var _a;
1330
+ return Array.from((_a = this.registry.get(dtoClassName)) !== null && _a !== void 0 ? _a : []);
1331
+ }
1332
+ /**
1333
+ * Executes the appropriate filter styles strategy for a given block or node instance.
1334
+ *
1335
+ * @param {RTEBlock | RTENode} blockOrNodeInstance - The block or node instance to filter styles for.
1336
+ * @param {RTEFilterStyles} styles - The full set of styles to filter.
1337
+ * @param {string[]} classNames - The class names to consider.
1338
+ * @returns {RTEFilterInlineStylesResult} The result of filtering, including the remaining styles and class names.
1339
+ */
1340
+ static executeTheStrategyFilterAction(blockOrNodeInstance, styles, classNames) {
1341
+ const dtoClassName = blockOrNodeInstance.constructor.name;
1342
+ const strategies = this.getStrategies(dtoClassName);
1343
+ const matchedStrategies = strategies.filter((strategy) => {
1344
+ return strategy.canFilter(blockOrNodeInstance);
1345
+ });
1346
+ return matchedStrategies.reduce((result, strategy) => {
1347
+ return strategy.filterAndDeleteStyles(result.styles, result.classNames);
1348
+ }, {
1349
+ styles,
1350
+ classNames,
1351
+ });
1352
+ }
1353
+ /**
1354
+ * Executes the appropriate filter styles strategy for refilling styles on a given element.
1355
+ *
1356
+ * @param {string} dtoClassName The class name of the DTO.
1357
+ * @param {HTMLElement} element The HTML element to refill styles on.
1358
+ */
1359
+ static executeTheStrategyRefillAction(dtoClassName, element) {
1360
+ const strategies = this.getStrategies(dtoClassName);
1361
+ const matchedStrategies = strategies.filter((strategy) => {
1362
+ return strategy.canRefill(dtoClassName, element);
1363
+ });
1364
+ matchedStrategies.forEach((strategy) => {
1365
+ strategy.refillStyles(element);
1366
+ });
1367
+ }
1368
+ /**
1369
+ * Based on the registered strategies, generates the CSS text for all strategies in the registry. The generated CSS text is grouped by DTO class names for better organization.
1370
+ *
1371
+ * @param {boolean} enableFontFaceImports - A flag indicating whether to include font-face declarations for typography styles.
1372
+ * @returns {string} The content of style file.
1373
+ */
1374
+ static generateAllStylesContent(enableFontFaceImports = false) {
1375
+ const styleBlocks = [];
1376
+ if (enableFontFaceImports) {
1377
+ styleBlocks.push('/* Font-face imports begin */\n');
1378
+ styleBlocks.push(Object.keys(typography.TypographyUrls)
1379
+ .map((key) => {
1380
+ return `@import url('${typography.TypographyUrls[key].url}');\n`;
1381
+ })
1382
+ .join(' '));
1383
+ styleBlocks.push('/* Font-face imports end */\n');
1384
+ }
1385
+ this.registry.forEach((strategies) => {
1386
+ strategies.forEach((strategy) => {
1387
+ const cssText = strategy.toCssText();
1388
+ if (cssText && !styleBlocks.includes(cssText)) {
1389
+ styleBlocks.push(cssText);
1390
+ }
1391
+ });
1392
+ });
1393
+ return styleBlocks.join(' ');
1394
+ }
1395
+ }
1396
+ RTEFilterStylesStrategyRegistry.registry = new Map();
1397
+
914
1398
  exports.NodeTypeEnum = void 0;
915
1399
  (function (NodeTypeEnum) {
916
1400
  NodeTypeEnum["TEXT"] = "TEXT";
@@ -1038,21 +1522,31 @@ class RTENode {
1038
1522
  /**
1039
1523
  * Generate attributes as string
1040
1524
  *
1525
+ * @param {VegaRTETransformOptions} [options] - Options for converting the node to HTML.
1041
1526
  * @param {...string} attrs - Additional attributes to include
1042
1527
  * @returns {string} - Attributes as string
1043
1528
  */
1044
- generateAttributeString(...attrs) {
1529
+ generateAttributeString(options, ...attrs) {
1045
1530
  var _a;
1046
1531
  const nodeAnnotationStyle = new RTEAnnotationStyle(this);
1047
- const styles = nodeAnnotationStyle.toCssText({ standalone: true }, [
1532
+ const fullStyles = nodeAnnotationStyle.toJSON({ standalone: true }, [
1048
1533
  'textDecoration',
1049
1534
  ]);
1050
1535
  const customClassAnnotation = this.annotationMap.get(exports.CommonAnnotationTypeEnum.CUSTOM_CLASS);
1536
+ let styles = fullStyles;
1537
+ let classNames = customClassAnnotation === null || customClassAnnotation === void 0 ? void 0 : customClassAnnotation.renderClass();
1538
+ if (options && options.filterInlineStyles) {
1539
+ const filterResult = RTEFilterStylesStrategyRegistry.executeTheStrategyFilterAction(this, fullStyles, classNames);
1540
+ styles = filterResult.styles;
1541
+ classNames = filterResult.classNames;
1542
+ }
1051
1543
  const customAttributeString = ((_a = this.getCustomAttributesAnnotation()) === null || _a === void 0 ? void 0 : _a.toString(attrs)) || [];
1052
1544
  const attributes = [
1053
1545
  ...customAttributeString,
1054
- customClassAnnotation === null || customClassAnnotation === void 0 ? void 0 : customClassAnnotation.toString(),
1055
- styles ? `style="${styles}"` : null,
1546
+ classNames && classNames.length > 0 ? `class="${classNames.join(' ')}"` : null,
1547
+ styles && Object.keys(styles).length > 0
1548
+ ? `style="${nodeAnnotationStyle.toCssText({ standalone: true }, undefined, styles)}"`
1549
+ : null,
1056
1550
  ...attrs,
1057
1551
  ].filter(typeGuard.isNonNullable);
1058
1552
  return attributes.length ? ` ${attributes.join(' ')}` : '';
@@ -1350,19 +1844,29 @@ class RTEBlock {
1350
1844
  /**
1351
1845
  * Generate attributes as string
1352
1846
  *
1847
+ * @param {VegaRTETransformOptions} options - Options to control the generation of the attribute string, such as whether to filter inline styles.
1353
1848
  * @param {...string} attrs - Additional attributes to include
1354
1849
  * @returns {string} - Attributes as string
1355
1850
  */
1356
- generateAttributeString(...attrs) {
1851
+ generateAttributeString(options, ...attrs) {
1357
1852
  var _a;
1358
1853
  const blockAnnotationStyle = new RTEAnnotationStyle(this);
1359
- const styles = blockAnnotationStyle.toCssText({ standalone: true });
1854
+ const fullStyles = blockAnnotationStyle.toJSON({ standalone: true });
1360
1855
  const customClassAnnotation = this.annotationMap.get(exports.CommonAnnotationTypeEnum.CUSTOM_CLASS);
1856
+ let styles = fullStyles;
1857
+ let classNames = customClassAnnotation === null || customClassAnnotation === void 0 ? void 0 : customClassAnnotation.renderClass();
1858
+ if (options && options.filterInlineStyles) {
1859
+ const filterResult = RTEFilterStylesStrategyRegistry.executeTheStrategyFilterAction(this, fullStyles, classNames);
1860
+ styles = filterResult.styles;
1861
+ classNames = filterResult.classNames;
1862
+ }
1361
1863
  const customAttributeString = ((_a = this.getCustomAttributesAnnotation()) === null || _a === void 0 ? void 0 : _a.toString(attrs)) || [];
1362
1864
  const attributes = [
1363
1865
  ...customAttributeString,
1364
- customClassAnnotation === null || customClassAnnotation === void 0 ? void 0 : customClassAnnotation.toString(),
1365
- styles ? `style="${styles}"` : null,
1866
+ classNames && classNames.length > 0 ? `class="${classNames.join(' ')}"` : null,
1867
+ styles && Object.keys(styles).length > 0
1868
+ ? `style="${blockAnnotationStyle.toCssText({ standalone: true }, undefined, styles)}"`
1869
+ : null,
1366
1870
  ...attrs,
1367
1871
  ].filter(typeGuard.isNonNullable);
1368
1872
  return attributes.length ? ` ${attributes.join(' ')}` : '';
@@ -1788,6 +2292,26 @@ const VegaRTEPresetToolbarItems = [
1788
2292
  ['image'],
1789
2293
  ['clearStyle'],
1790
2294
  ];
2295
+ /**
2296
+ * Void/self-closing HTML elements that have no closing tag and cannot contain children.
2297
+ * Source: https://html.spec.whatwg.org/multipage/syntax.html#void-elements
2298
+ */
2299
+ const HTML_VOID_TAGS = new Set([
2300
+ 'area',
2301
+ 'base',
2302
+ 'br',
2303
+ 'col',
2304
+ 'embed',
2305
+ 'hr',
2306
+ 'img',
2307
+ 'input',
2308
+ 'link',
2309
+ 'meta',
2310
+ 'param',
2311
+ 'source',
2312
+ 'track',
2313
+ 'wbr',
2314
+ ]);
1791
2315
 
1792
2316
  /**
1793
2317
  * Annotation to make text with text color
@@ -2557,6 +3081,7 @@ class InlineHtmlAnnotation extends Annotation {
2557
3081
  static from(inlineHtml) {
2558
3082
  const { htmlTag, child, customStyle, customClass, customAttribute } = inlineHtml;
2559
3083
  const inlineHtmlAnnotation = new InlineHtmlAnnotation(htmlTag);
3084
+ inlineHtmlAnnotation.groupId = inlineHtml.groupId;
2560
3085
  inlineHtmlAnnotation.child = child ? InlineHtmlAnnotation.from(child)[1] : undefined;
2561
3086
  inlineHtmlAnnotation.customAttribute = customAttribute
2562
3087
  ? CustomAttributeAnnotation.from(customAttribute)[1]
@@ -2577,12 +3102,22 @@ class InlineHtmlAnnotation extends Annotation {
2577
3102
  clone() {
2578
3103
  var _a, _b, _c, _d;
2579
3104
  const inlineHtmlAnnotation = new InlineHtmlAnnotation(this.htmlTag);
3105
+ inlineHtmlAnnotation.groupId = this.groupId;
2580
3106
  inlineHtmlAnnotation.child = (_a = this.child) === null || _a === void 0 ? void 0 : _a.clone();
2581
3107
  inlineHtmlAnnotation.customAttribute = (_b = this.customAttribute) === null || _b === void 0 ? void 0 : _b.clone();
2582
3108
  inlineHtmlAnnotation.customClass = (_c = this.customClass) === null || _c === void 0 ? void 0 : _c.clone();
2583
3109
  inlineHtmlAnnotation.customStyle = (_d = this.customStyle) === null || _d === void 0 ? void 0 : _d.clone();
2584
3110
  return inlineHtmlAnnotation;
2585
3111
  }
3112
+ /**
3113
+ * Build the props object used when rendering this annotation.
3114
+ *
3115
+ * @returns {Record<string, unknown>} Props for h(tag, props, children).
3116
+ */
3117
+ renderProps() {
3118
+ var _a, _b, _c;
3119
+ return Object.assign(Object.assign({}, (_a = this.customAttribute) === null || _a === void 0 ? void 0 : _a.render()), { style: (_b = this.customStyle) === null || _b === void 0 ? void 0 : _b.renderStyle(), class: (_c = this.customClass) === null || _c === void 0 ? void 0 : _c.renderClass().join(' ') });
3120
+ }
2586
3121
  /**
2587
3122
  * Generate the JSON representation of the annotation
2588
3123
  *
@@ -2593,6 +3128,7 @@ class InlineHtmlAnnotation extends Annotation {
2593
3128
  return {
2594
3129
  inlineHtml: object.cleanObject({
2595
3130
  htmlTag: this.htmlTag,
3131
+ groupId: this.groupId,
2596
3132
  child: (_a = this.child) === null || _a === void 0 ? void 0 : _a.toJSON().inlineHtml,
2597
3133
  customAttribute: (_b = this.customAttribute) === null || _b === void 0 ? void 0 : _b.toJSON().customAttribute,
2598
3134
  customClass: (_c = this.customClass) === null || _c === void 0 ? void 0 : _c.toJSON().customClass,
@@ -2831,9 +3367,11 @@ class RTETextNode extends RTENode {
2831
3367
  /**
2832
3368
  * @inheritDoc
2833
3369
  */
2834
- toHtml() {
3370
+ toHtml(options) {
2835
3371
  const inlineHtmlAnnotation = this.getAnnotationByType(exports.NodeAnnotationTypeEnum.INLINE_HTML);
2836
- return inlineHtmlAnnotation ? this.renderWithWrapperStr(inlineHtmlAnnotation) : this.renderTextStr();
3372
+ return inlineHtmlAnnotation
3373
+ ? this.renderWithWrapperStr(inlineHtmlAnnotation, options)
3374
+ : this.renderTextStr(options);
2837
3375
  }
2838
3376
  /**
2839
3377
  * Creates a new RTETextNode with the specified text and copies the parent block and annotation map from the original node.
@@ -2858,6 +3396,9 @@ class RTETextNode extends RTENode {
2858
3396
  * @returns {boolean} It returns `true` if the node is empty
2859
3397
  */
2860
3398
  isEmpty() {
3399
+ // Inline HTML annotations (e.g., <br>) are considered non-empty even with empty text content.
3400
+ if (this.getAnnotationByType(exports.NodeAnnotationTypeEnum.INLINE_HTML))
3401
+ return false;
2861
3402
  return !this.text || this.text === ZERO_WIDTH_SPACE || this.text === '\n';
2862
3403
  }
2863
3404
  /**
@@ -2897,6 +3438,54 @@ class RTETextNode extends RTENode {
2897
3438
  isContentEditable() {
2898
3439
  return true;
2899
3440
  }
3441
+ /**
3442
+ * Returns the inline HTML wrapper descriptor at the given depth in the
3443
+ * annotation chain. Depth 0 is the outermost wrapper, depth 1 is its child, etc.
3444
+ *
3445
+ * @param {number} depth - Zero-based depth in the inline HTML chain.
3446
+ * @returns {InlineHtmlTagDescriptor | null} The wrapper descriptor at that depth, or `null`.
3447
+ */
3448
+ getInlineHtmlTagAtDepth(depth) {
3449
+ const annotation = this.getInlineHtmlAnnotationAtDepth(depth);
3450
+ if (!annotation)
3451
+ return null;
3452
+ if (HTML_VOID_TAGS.has(annotation.htmlTag))
3453
+ return null;
3454
+ return {
3455
+ htmlTag: annotation.htmlTag,
3456
+ attrStr: this.annotationAttrStr(annotation),
3457
+ groupId: annotation.groupId,
3458
+ annotation,
3459
+ };
3460
+ }
3461
+ /**
3462
+ * Renders the node starting from the given depth in the inline HTML chain.
3463
+ * Depth 0 renders the full chain (equivalent to {@link toHtml} for inline HTML nodes).
3464
+ *
3465
+ * @param {number} depth - Zero-based depth to start rendering from.
3466
+ * @param {VegaRTETransformOptions} [options] - Optional conversion options that may affect how the text node is rendered as HTML.
3467
+ * @returns {string} HTML string from that depth onward.
3468
+ */
3469
+ renderHtmlFromDepth(depth, options) {
3470
+ const annotation = this.getInlineHtmlAnnotationAtDepth(depth);
3471
+ if (!annotation)
3472
+ return this.renderTextStr(options);
3473
+ return this.renderWithWrapperStr(annotation, options);
3474
+ }
3475
+ /**
3476
+ * Traverses the inline HTML annotation chain to the given depth and returns
3477
+ * the annotation at that level, or `null` if the chain is shorter.
3478
+ *
3479
+ * @param {number} depth - Zero-based depth (0 = outermost annotation).
3480
+ * @returns {Nullable<InlineHtmlAnnotation>} The annotation at that depth, or `null`.
3481
+ */
3482
+ getInlineHtmlAnnotationAtDepth(depth) {
3483
+ let current = this.getAnnotationByType(exports.NodeAnnotationTypeEnum.INLINE_HTML);
3484
+ for (let i = 0; i < depth && current; i++) {
3485
+ current = current.child;
3486
+ }
3487
+ return current;
3488
+ }
2900
3489
  /**
2901
3490
  * Registers the action strategies for the RTETextNode.
2902
3491
  */
@@ -2995,35 +3584,51 @@ class RTETextNode extends RTENode {
2995
3584
  }
2996
3585
  }
2997
3586
  /**
2998
- * Render the text node with the inline HTML wrapper.
2999
- *
3000
- * @param {VegaInlineHtmlSchema} inlineHtmlNode - The inline HTML schema to wrap the text node.
3587
+ * @param {InlineHtmlAnnotation} inlineHtmlNode - The inline HTML annotation to wrap the text node.
3588
+ * @param {VegaRTETransformOptions} [options] - Optional conversion options that may affect how the text node is rendered as HTML.
3001
3589
  * @returns {string} The HTML string representation of the text node wrapped with the inline HTML.
3002
3590
  */
3003
- renderWithWrapperStr(inlineHtmlNode) {
3004
- const { htmlTag, customAttribute, customClass, customStyle, child } = inlineHtmlNode;
3591
+ renderWithWrapperStr(inlineHtmlNode, options) {
3592
+ const { htmlTag, child } = inlineHtmlNode;
3593
+ const attrStr = this.annotationAttrStr(inlineHtmlNode);
3594
+ if (!child) {
3595
+ if (HTML_VOID_TAGS.has(htmlTag)) {
3596
+ return `<${htmlTag}${attrStr}>`;
3597
+ }
3598
+ if (!this.text) {
3599
+ return `<${htmlTag}${attrStr}></${htmlTag}>`;
3600
+ }
3601
+ return `<${htmlTag}${attrStr}>${this.renderTextStr(options)}</${htmlTag}>`;
3602
+ }
3603
+ return `<${htmlTag}${attrStr}>${this.renderWithWrapperStr(child, options)}</${htmlTag}>`;
3604
+ }
3605
+ /**
3606
+ * Generate the attribute string for the inline HTML annotation
3607
+ *
3608
+ * @param {InlineHtmlAnnotation} annotation - The inline HTML annotation
3609
+ * @returns {string} The attribute string for the inline HTML annotation
3610
+ */
3611
+ annotationAttrStr(annotation) {
3612
+ const { customAttribute, customClass, customStyle } = annotation;
3005
3613
  const attrs = [
3006
3614
  ...((customAttribute === null || customAttribute === void 0 ? void 0 : customAttribute.toString()) || []),
3007
3615
  customClass === null || customClass === void 0 ? void 0 : customClass.toString(),
3008
3616
  customStyle === null || customStyle === void 0 ? void 0 : customStyle.toString(),
3009
3617
  ].filter(typeGuard.isNonNullable);
3010
- const attrStr = attrs.length > 0 ? ` ${attrs.join(' ')}` : '';
3011
- if (!child) {
3012
- return `<${htmlTag}${attrStr}>${this.renderTextStr()}</${htmlTag}>`;
3013
- }
3014
- return `<${htmlTag}${attrStr}>${this.renderWithWrapperStr(child)}</${htmlTag}>`;
3618
+ return attrs.length > 0 ? ` ${attrs.join(' ')}` : '';
3015
3619
  }
3016
3620
  /**
3017
3621
  * Generates the HTML representation of the text node.
3018
3622
  *
3623
+ * @param {VegaRTETransformOptions} [options] - Optional conversion options that may affect how the text node is rendered as HTML.
3019
3624
  * @returns {string} The HTML string representation of the text node.
3020
3625
  */
3021
- renderTextStr() {
3626
+ renderTextStr(options) {
3022
3627
  var _a;
3023
3628
  const NodeTag = ((_a = this.getAnnotationByType(exports.NodeAnnotationTypeEnum.CODE)) === null || _a === void 0 ? void 0 : _a.code)
3024
3629
  ? 'code'
3025
3630
  : 'span';
3026
- const attrStr = super.generateAttributeString();
3631
+ const attrStr = super.generateAttributeString(options);
3027
3632
  // If the text contains a newline character, we need to replace it with a <br> tag.
3028
3633
  if (this.text === '\n') {
3029
3634
  return `<br>`;
@@ -3759,10 +4364,10 @@ class RTETextBlock extends RTEBlock {
3759
4364
  /**
3760
4365
  * @inheritDoc
3761
4366
  */
3762
- toHtml() {
4367
+ toHtml(options) {
3763
4368
  const BlockTag = this.getBlockTag();
3764
- const attrStr = super.generateAttributeString();
3765
- const nodesHtml = this.getChildrenHtml();
4369
+ const attrStr = super.generateAttributeString(options);
4370
+ const nodesHtml = this.getChildrenHtml(options);
3766
4371
  return super.shouldRenderAsInternalWrapper()
3767
4372
  ? nodesHtml
3768
4373
  : [`<${BlockTag}${attrStr}>`, nodesHtml, `</${BlockTag}>`].join('');
@@ -3831,13 +4436,14 @@ class RTETextBlock extends RTEBlock {
3831
4436
  /**
3832
4437
  * Get the HTML string for the children nodes, including handling link group annotations.
3833
4438
  *
4439
+ * @param {VegaRTETransformOptions} [options] - Optional conversion options that may affect how the children nodes are rendered as HTML.
3834
4440
  * @returns {string} The HTML string representing the children nodes.
3835
4441
  */
3836
- getChildrenHtml() {
4442
+ getChildrenHtml(options) {
3837
4443
  const linkGroupAnnotation = this.getAnnotationByType(exports.InternalAnnotationTypeEnum.LINK_GROUP);
3838
- let nodesHtml = this.children.map((node) => node.toHtml()).join('');
4444
+ let nodesHtml = this.renderGroupedNodesAtDepth(this.children, 0, options);
3839
4445
  if (linkGroupAnnotation && this.children.length > 0) {
3840
- nodesHtml = this.generateLinkHtml(linkGroupAnnotation, nodesHtml);
4446
+ nodesHtml = this.generateLinkHtml(linkGroupAnnotation, nodesHtml, options);
3841
4447
  }
3842
4448
  return nodesHtml;
3843
4449
  }
@@ -3850,14 +4456,53 @@ class RTETextBlock extends RTEBlock {
3850
4456
  strategy.execute(action, this);
3851
4457
  }
3852
4458
  }
4459
+ /**
4460
+ * Recursively groups `nodes` by their inline HTML wrapper at the given
4461
+ * `depth`, emitting shared wrappers for adjacent siblings with the same
4462
+ * `groupId` and descending into the next depth for each group.
4463
+ *
4464
+ * @param {RTETextNode[]} nodes - The nodes to render.
4465
+ * @param {number} depth - Current depth in the inline HTML chain (0 = outermost).
4466
+ * @param {VegaRTETransformOptions} [options] - Optional conversion options.
4467
+ * @returns {string} HTML string with grouped wrappers at this depth.
4468
+ */
4469
+ renderGroupedNodesAtDepth(nodes, depth, options) {
4470
+ var _a;
4471
+ let result = '';
4472
+ let i = 0;
4473
+ while (i < nodes.length) {
4474
+ const tag = nodes[i].getInlineHtmlTagAtDepth(depth);
4475
+ if (!(tag === null || tag === void 0 ? void 0 : tag.groupId)) {
4476
+ result += nodes[i].renderHtmlFromDepth(depth, options);
4477
+ i++;
4478
+ continue;
4479
+ }
4480
+ let groupEnd = i + 1;
4481
+ while (groupEnd < nodes.length &&
4482
+ ((_a = nodes[groupEnd].getInlineHtmlTagAtDepth(depth)) === null || _a === void 0 ? void 0 : _a.groupId) === tag.groupId) {
4483
+ groupEnd++;
4484
+ }
4485
+ if (groupEnd === i + 1) {
4486
+ // Single node in group — render normally.
4487
+ result += nodes[i].renderHtmlFromDepth(depth, options);
4488
+ }
4489
+ else {
4490
+ const innerHtml = this.renderGroupedNodesAtDepth(nodes.slice(i, groupEnd), depth + 1, options);
4491
+ result += `<${tag.htmlTag}${tag.attrStr}>${innerHtml}</${tag.htmlTag}>`;
4492
+ }
4493
+ i = groupEnd;
4494
+ }
4495
+ return result;
4496
+ }
3853
4497
  /**
3854
4498
  * Generate Link Html
3855
4499
  *
3856
4500
  * @param {LinkGroupAnnotation} linkGroupAnnotation - linkGroupAnnotation
3857
4501
  * @param {string} nodesHtml - The nodes html
4502
+ * @param {VegaRTETransformOptions} [options] - Optional conversion options that may affect how the children nodes are rendered as HTML.
3858
4503
  * @returns {string} link html
3859
4504
  */
3860
- generateLinkHtml(linkGroupAnnotation, nodesHtml) {
4505
+ generateLinkHtml(linkGroupAnnotation, nodesHtml, options) {
3861
4506
  nodesHtml = '';
3862
4507
  let linkGroupNodes = [];
3863
4508
  for (let i = 0; i < this.children.length; i++) {
@@ -3871,17 +4516,18 @@ class RTETextBlock extends RTEBlock {
3871
4516
  currentLinkAnnotation.link.groupKey !== nextLinkAnnotation.link.groupKey) {
3872
4517
  const linkAttributes = linkGroupAnnotation.toString(currentLinkAnnotation, {
3873
4518
  standalone: true,
4519
+ filterInlineStyles: options === null || options === void 0 ? void 0 : options.filterInlineStyles,
3874
4520
  });
3875
4521
  nodesHtml += [
3876
4522
  `<a${linkAttributes ? ` ${linkAttributes}` : ''}>`,
3877
- linkGroupNodes.map((linkNode) => linkNode.toHtml()).join(''),
4523
+ this.renderGroupedNodesAtDepth(linkGroupNodes, 0, options),
3878
4524
  `</a>`,
3879
4525
  ].join('');
3880
4526
  linkGroupNodes = [];
3881
4527
  }
3882
4528
  }
3883
4529
  else {
3884
- nodesHtml += this.children[i].toHtml();
4530
+ nodesHtml += this.children[i].toHtml(options);
3885
4531
  }
3886
4532
  }
3887
4533
  return nodesHtml;
@@ -4257,6 +4903,52 @@ RTEDecoratorNode.DECORATOR_CONTAINER_CLASS = 'v-internal-decorator-container';
4257
4903
  // CSS class names for the decorator node element
4258
4904
  RTEDecoratorNode.DECORATOR_NODE_CLASS = 'v-internal-decorator-node';
4259
4905
 
4906
+ /**
4907
+ * Filter styles strategy for code block node, which defines the styles to be filtered and the conditions for filtering and refilling styles for code block nodes.
4908
+ */
4909
+ class CodeBlockNodeFilterStylesStrategy extends RTEFilterStylesStrategy {
4910
+ constructor() {
4911
+ super(...arguments);
4912
+ this.stylesToBeFiltered = CodeBlockNodeFilterStylesStrategy.STYLES;
4913
+ this.elementTagName = 'pre code';
4914
+ }
4915
+ /**
4916
+ * @inheritDoc
4917
+ */
4918
+ canFilter(blockOrNodeInstance) {
4919
+ return Predicate.isCodeBlockNode(blockOrNodeInstance);
4920
+ }
4921
+ /**
4922
+ * The code node styles is preset and will convert to vega-code-block element so we don't need to to refill styles back to element.
4923
+ *
4924
+ * @param {string} _blockOrNodeClassName The class name of the block or node.
4925
+ * @param {HTMLElement} _element The HTML element to check.
4926
+ * @returns {boolean} False, as we don't need to refill styles for code nodes.
4927
+ */
4928
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
4929
+ canRefill(_blockOrNodeClassName, _element) {
4930
+ return false;
4931
+ }
4932
+ /**
4933
+ * @inheritDoc
4934
+ */
4935
+ toCssText() {
4936
+ return this.buildCssTextForStyles(this.elementTagName, this.classNameToBeAdded);
4937
+ }
4938
+ }
4939
+ CodeBlockNodeFilterStylesStrategy.STYLES = {
4940
+ boxSizing: 'border-box',
4941
+ color: 'rgba(var(--v-text-primary, 32, 54, 69, 1))',
4942
+ textAlign: 'left',
4943
+ fontFamily: '"Roboto Mono"',
4944
+ fontWeight: '400',
4945
+ lineHeight: '22px',
4946
+ fontSize: '16px',
4947
+ whiteSpace: 'pre-wrap',
4948
+ minHeight: '22px',
4949
+ tabSize: '2px',
4950
+ };
4951
+
4260
4952
  /**
4261
4953
  * RTE code node DTO class.
4262
4954
  */
@@ -4269,6 +4961,7 @@ class RTECodeBlockNode extends RTEDecoratorNode {
4269
4961
  this.text = content;
4270
4962
  this.parent = parentBlock;
4271
4963
  this.language = language;
4964
+ this.annotationMap.set(exports.CommonAnnotationTypeEnum.CUSTOM_STYLE, new CustomStyleAnnotation(CodeBlockNodeFilterStylesStrategy.STYLES));
4272
4965
  }
4273
4966
  /**
4274
4967
  * The code node toJSON method will called internal.
@@ -4281,8 +4974,9 @@ class RTECodeBlockNode extends RTEDecoratorNode {
4281
4974
  /**
4282
4975
  * @inheritDoc
4283
4976
  */
4284
- toHtml() {
4285
- return `<code style='box-sizing: border-box;color: rgba(var(--v-text-primary, 32, 54, 69, 1));text-align: left;font-family: "Roboto Mono";font-weight: 400;line-height: 22px;font-size: 16px;white-space: pre-wrap;min-height: 22px;tab-size: 2px;'>${this.text}</code>`;
4977
+ toHtml(options) {
4978
+ const attrs = this.generateAttributeString(options);
4979
+ return `<code${attrs}>${this.text}</code>`;
4286
4980
  }
4287
4981
  /**
4288
4982
  * @inheritDoc
@@ -4361,6 +5055,44 @@ class RemoveChildrenStrategy extends ActionHandleStrategy {
4361
5055
  }
4362
5056
  }
4363
5057
 
5058
+ /**
5059
+ * Filter styles strategy for code block, which defines the styles to be filtered and the conditions for filtering and refilling styles for code blocks.
5060
+ */
5061
+ class CodeBlockFilterStylesStrategy extends RTEFilterStylesStrategy {
5062
+ constructor() {
5063
+ super(...arguments);
5064
+ this.stylesToBeFiltered = CodeBlockFilterStylesStrategy.STYLES;
5065
+ this.elementTagName = 'pre';
5066
+ }
5067
+ /**
5068
+ * @inheritDoc
5069
+ */
5070
+ canFilter(blockOrNodeInstance) {
5071
+ return Predicate.isCodeBlock(blockOrNodeInstance.constructor.name);
5072
+ }
5073
+ /**
5074
+ * The code block styles is preset and will convert to vega-code-block element so we don't need to to refill styles back to element.
5075
+ *
5076
+ * @param {string} _blockOrNodeClassName The class name of the block or node.
5077
+ * @param {HTMLElement} _element The HTML element to check.
5078
+ * @returns {boolean} False, as we don't need to refill styles for code blocks.
5079
+ */
5080
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
5081
+ canRefill(_blockOrNodeClassName, _element) {
5082
+ return false;
5083
+ }
5084
+ /**
5085
+ * @inheritDoc
5086
+ */
5087
+ toCssText() {
5088
+ return this.buildCssTextForStyles(this.elementTagName, this.classNameToBeAdded);
5089
+ }
5090
+ }
5091
+ CodeBlockFilterStylesStrategy.STYLES = {
5092
+ backgroundColor: 'rgba(var(--v-bg-secondary, 245, 247, 247, 1))',
5093
+ padding: '12px',
5094
+ };
5095
+
4364
5096
  /**
4365
5097
  * The code block DTO class.
4366
5098
  */
@@ -4368,6 +5100,7 @@ class RTECodeBlock extends RTEBlock {
4368
5100
  constructor(id, content, language) {
4369
5101
  super(id);
4370
5102
  this.type = 'code-block';
5103
+ this.annotationMap = new Map([CustomStyleAnnotation.from(CodeBlockFilterStylesStrategy.STYLES)]);
4371
5104
  this.children = [new RTECodeBlockNode(`${id}-1`, content, language, this)];
4372
5105
  }
4373
5106
  /**
@@ -4394,9 +5127,10 @@ class RTECodeBlock extends RTEBlock {
4394
5127
  /**
4395
5128
  * @inheritDoc
4396
5129
  */
4397
- toHtml() {
5130
+ toHtml(options) {
4398
5131
  const { language = exports.CodeLanguage['Plain Text'] } = this.children[0];
4399
- return `<pre data-language="${language}" style="background-color: rgba(var(--v-bg-secondary, 245, 247, 247, 1)); padding: 12px">${this.children.map((node) => node.toHtml())}</pre>`;
5132
+ const attrStr = super.generateAttributeString(options);
5133
+ return `<pre data-language="${language}"${attrStr}>${this.children.map((node) => node.toHtml(options))}</pre>`;
4400
5134
  }
4401
5135
  /**
4402
5136
  * @inheritDoc
@@ -4475,10 +5209,13 @@ exports.BoldAnnotationAction = BoldAnnotationAction;
4475
5209
  exports.ClearFormattingAnnotationAction = ClearFormattingAnnotationAction;
4476
5210
  exports.CodeAnnotation = CodeAnnotation;
4477
5211
  exports.CodeAnnotationAction = CodeAnnotationAction;
5212
+ exports.CodeBlockFilterStylesStrategy = CodeBlockFilterStylesStrategy;
5213
+ exports.CodeBlockNodeFilterStylesStrategy = CodeBlockNodeFilterStylesStrategy;
4478
5214
  exports.CommonAnnotation = CommonAnnotation;
4479
5215
  exports.CustomAttributeAnnotation = CustomAttributeAnnotation;
4480
5216
  exports.CustomClassAnnotation = CustomClassAnnotation;
4481
5217
  exports.CustomStyleAnnotation = CustomStyleAnnotation;
5218
+ exports.HTML_VOID_TAGS = HTML_VOID_TAGS;
4482
5219
  exports.HorizontalAlignmentAnnotation = HorizontalAlignmentAnnotation;
4483
5220
  exports.HorizontalAlignmentAnnotationAction = HorizontalAlignmentAnnotationAction;
4484
5221
  exports.ITALIC_FONT_STYLE = ITALIC_FONT_STYLE;
@@ -4487,15 +5224,18 @@ exports.InsertChildrenAfterAction = InsertChildrenAfterAction;
4487
5224
  exports.InsertChildrenBeforeAction = InsertChildrenBeforeAction;
4488
5225
  exports.ItalicAnnotationAction = ItalicAnnotationAction;
4489
5226
  exports.LinkAnnotationAction = LinkAnnotationAction;
4490
- exports.LinkGroupAnnotation = LinkGroupAnnotation;
5227
+ exports.LinkFilterStylesStrategy = LinkFilterStylesStrategy;
4491
5228
  exports.ModifyContentAction = ModifyContentAction;
4492
5229
  exports.NodeAnnotation = NodeAnnotation;
5230
+ exports.Predicate = Predicate;
4493
5231
  exports.RTEAnnotationStyle = RTEAnnotationStyle;
4494
5232
  exports.RTEBlock = RTEBlock;
4495
5233
  exports.RTECodeBlock = RTECodeBlock;
4496
5234
  exports.RTECodeBlockNode = RTECodeBlockNode;
4497
5235
  exports.RTEDTOClassManager = RTEDTOClassManager$1;
4498
5236
  exports.RTEDecoratorNode = RTEDecoratorNode;
5237
+ exports.RTEFilterStylesStrategy = RTEFilterStylesStrategy;
5238
+ exports.RTEFilterStylesStrategyRegistry = RTEFilterStylesStrategyRegistry;
4499
5239
  exports.RTENode = RTENode;
4500
5240
  exports.RTETextBlock = RTETextBlock;
4501
5241
  exports.RTETextNode = RTETextNode;
@@ -4518,4 +5258,5 @@ exports.UpdateCodeBlockAction = UpdateCodeBlockAction;
4518
5258
  exports.UpdateTextAction = UpdateTextAction;
4519
5259
  exports.VegaRTEPresetToolbarItems = VegaRTEPresetToolbarItems;
4520
5260
  exports.ZERO_WIDTH_SPACE = ZERO_WIDTH_SPACE;
5261
+ exports.createStyleMapFromElement = createStyleMapFromElement;
4521
5262
  exports.stateEntityRenderingRegistry = stateEntityRenderingRegistry;