@heartlandone/vega 2.74.0-RTE-table-preview → 2.75.0-RTE-table-preview

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 (595) hide show
  1. package/dist/cjs/{app-globals-be2e868e.js → app-globals-6c9a0e62.js} +11 -10
  2. package/dist/cjs/{child-nodes-event-prevent-slimmer-536d29fc.js → child-nodes-event-prevent-slimmer-aca87dac.js} +1 -1
  3. package/dist/cjs/click-outside-only-to-dismiss-strategy-407f6d1e.js +32 -0
  4. package/dist/cjs/{code-block-22ee2550.js → code-block-d9001f03.js} +2 -2
  5. package/dist/cjs/{component-value-history-controller-slimmer.abstract-3486cbc0.js → component-value-history-controller-slimmer.abstract-b00e9f58.js} +4 -4
  6. package/dist/cjs/{content-state-0be6fda3.js → content-state-466f277f.js} +3 -3
  7. package/dist/cjs/{date-required-rule-99cca681.js → date-required-rule-30ee62d0.js} +1 -1
  8. package/dist/cjs/{design-token-505997df.js → design-token-a569577e.js} +2 -2
  9. package/dist/cjs/{dom-node-subject-observer-factory-1c8f7880.js → dom-node-subject-observer-factory-b5e71bf6.js} +4 -0
  10. package/dist/cjs/{element-appender-slimmer-26420c09.js → element-appender-slimmer-b7fdd82e.js} +160 -36
  11. package/dist/cjs/{event-emit-slimmer-6a591353.js → event-emit-slimmer-2dacabbd.js} +2 -2
  12. package/dist/cjs/{form-field-controller-slimmer-56c551ea.js → form-field-controller-slimmer-3ea2464a.js} +2 -2
  13. package/dist/cjs/{image-annotation-action-462fd073.js → image-annotation-action-4435d531.js} +3 -31
  14. package/dist/cjs/{index-fc538f17.js → index-19e5b936.js} +1 -1
  15. package/dist/cjs/index.cjs.js +22 -22
  16. package/dist/cjs/{inject-keyboard-manager-a6101379.js → inject-keyboard-manager-d21b4387.js} +1 -1
  17. package/dist/cjs/{internal-vega-event-manager-d587a33c.js → internal-vega-event-manager-6befeb34.js} +13 -2
  18. package/dist/cjs/{keyboard-manager-d8adb0ed.js → keyboard-manager-3dea6b28.js} +1 -1
  19. package/dist/cjs/{keyboard-manager-slimmer-15e65357.js → keyboard-manager-slimmer-0d45f944.js} +1 -1
  20. package/dist/cjs/{language-extension-414149c2.js → language-extension-26331915.js} +2 -2
  21. package/dist/cjs/loader.cjs.js +15 -15
  22. package/dist/cjs/{month-view-generator-706c5477.js → month-view-generator-49cc5fc2.js} +1 -1
  23. package/dist/cjs/{public-rules-2d18cf41.js → public-rules-942bd931.js} +7 -7
  24. package/dist/cjs/{range-439a0c0c.js → range-cafe69a9.js} +1 -1
  25. package/dist/cjs/{responsive-format-facade-0ececeb3.js → responsive-format-facade-6c22bbbd.js} +5 -4
  26. package/dist/cjs/{rich-text-editor-required-rule-5a4f3626.js → rich-text-editor-required-rule-0dcb08c8.js} +1 -1
  27. package/dist/cjs/sanitize-fb222510.js +131 -0
  28. package/dist/cjs/{styles.constants-3aff0b56.js → split-cell-operation-9930fde8.js} +1230 -403
  29. package/dist/cjs/{string-format-strategy.abstract-a8264fca.js → string-format-strategy.abstract-63514c60.js} +1 -1
  30. package/dist/cjs/{string-input-formatter-slimmer-a8f4a9b1.js → string-input-formatter-slimmer-655d0322.js} +3 -3
  31. package/dist/cjs/{string-mask-strategy-4e7d3780.js → string-mask-strategy-d23ac21a.js} +2 -2
  32. package/dist/cjs/{style-formatter-142500c0.js → style-formatter-0e0ae896.js} +2 -2
  33. package/dist/cjs/{sub-state-notify-slimmer-011866d9.js → sub-state-notify-slimmer-3fa87162.js} +1 -1
  34. package/dist/cjs/{sub-state-observer-slimmer-23d43f1e.js → sub-state-observer-slimmer-77deba40.js} +1 -1
  35. package/dist/cjs/{table-extension-2a20da57.js → table-extension-5f27207f.js} +676 -373
  36. package/dist/cjs/{time-required-rule-9d39a620.js → time-required-rule-c96ecdc9.js} +1 -1
  37. package/dist/cjs/{type-guard-69d2cf01.js → type-guard-a0f026d8.js} +12 -0
  38. package/dist/cjs/{valid-credit-card-number-rule-9f40d1d9.js → valid-credit-card-number-rule-c854bed9.js} +1 -1
  39. package/dist/cjs/vega-accordion.cjs.entry.js +12 -12
  40. package/dist/cjs/vega-app-header-button.cjs.entry.js +13 -13
  41. package/dist/cjs/vega-banner.cjs.entry.js +3 -3
  42. package/dist/cjs/vega-box.cjs.entry.js +12 -12
  43. package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
  44. package/dist/cjs/vega-button-circle.cjs.entry.js +12 -12
  45. package/dist/cjs/vega-button-group_2.cjs.entry.js +6 -6
  46. package/dist/cjs/vega-button-link.cjs.entry.js +4 -4
  47. package/dist/cjs/vega-button.cjs.entry.js +11 -11
  48. package/dist/cjs/vega-calendar_4.cjs.entry.js +8 -8
  49. package/dist/cjs/vega-card.cjs.entry.js +12 -12
  50. package/dist/cjs/vega-carousel.cjs.entry.js +11 -11
  51. package/dist/cjs/vega-checkbox_2.cjs.entry.js +6 -6
  52. package/dist/cjs/vega-chip.cjs.entry.js +13 -13
  53. package/dist/cjs/vega-code-block.cjs.entry.js +10 -10
  54. package/dist/cjs/vega-color-picker.cjs.entry.js +5 -5
  55. package/dist/cjs/vega-combo-box.cjs.entry.js +11 -10
  56. package/dist/cjs/vega-date-picker_2.cjs.entry.js +392 -345
  57. package/dist/cjs/vega-dialog_2.cjs.entry.js +14 -14
  58. package/dist/cjs/vega-divider.cjs.entry.js +13 -13
  59. package/dist/cjs/vega-dropdown_5.cjs.entry.js +40 -22
  60. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  61. package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
  62. package/dist/cjs/vega-file-uploader.cjs.entry.js +5 -5
  63. package/dist/cjs/vega-flag-icon.cjs.entry.js +11 -11
  64. package/dist/cjs/vega-flex.cjs.entry.js +13 -13
  65. package/dist/cjs/vega-font.cjs.entry.js +12 -12
  66. package/dist/cjs/vega-form.cjs.entry.js +8 -8
  67. package/dist/cjs/vega-grid.cjs.entry.js +12 -12
  68. package/dist/cjs/vega-icon.cjs.entry.js +12 -12
  69. package/dist/cjs/vega-image-uploader.cjs.entry.js +14 -14
  70. package/dist/cjs/vega-input-credit-card.cjs.entry.js +10 -10
  71. package/dist/cjs/vega-input-numeric.cjs.entry.js +10 -10
  72. package/dist/cjs/vega-input-passcode.cjs.entry.js +9 -9
  73. package/dist/cjs/vega-input-phone-number.cjs.entry.js +14 -14
  74. package/dist/cjs/vega-input-range.cjs.entry.js +6 -6
  75. package/dist/cjs/vega-input-select.cjs.entry.js +21 -16
  76. package/dist/cjs/vega-input.cjs.entry.js +339 -98
  77. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  78. package/dist/cjs/vega-left-nav_5.cjs.entry.js +12 -12
  79. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +13 -13
  80. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  81. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +3 -3
  82. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +1 -1
  83. package/dist/cjs/vega-pagination.cjs.entry.js +13 -13
  84. package/dist/cjs/vega-popover_2.cjs.entry.js +15 -15
  85. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +12 -12
  86. package/dist/cjs/vega-radio_2.cjs.entry.js +9 -9
  87. package/dist/cjs/vega-rich-text-content.cjs.entry.js +13 -16
  88. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +143 -194
  89. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +312 -104
  90. package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
  91. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +14 -14
  92. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +7 -7
  93. package/dist/cjs/vega-sidenav_3.cjs.entry.js +15 -15
  94. package/dist/cjs/vega-signature-capture.cjs.entry.js +14 -14
  95. package/dist/cjs/vega-stepper.cjs.entry.js +6 -6
  96. package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
  97. package/dist/cjs/vega-table_11.cjs.entry.js +13 -13
  98. package/dist/cjs/vega-textarea.cjs.entry.js +6 -6
  99. package/dist/cjs/vega-time-picker_2.cjs.entry.js +19 -18
  100. package/dist/cjs/vega-toggle-switch.cjs.entry.js +5 -5
  101. package/dist/cjs/vega-tooltip_2.cjs.entry.js +14 -14
  102. package/dist/cjs/vega.cjs.js +15 -15
  103. package/dist/collection/components/vega-app-header-button/vega-app-header-button.js +1 -1
  104. package/dist/collection/components/vega-button-group/vega-button-group-item/vega-button-group-item.js +1 -1
  105. package/dist/collection/components/vega-calendar/vega-calendar.js +1 -1
  106. package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +2 -1
  107. package/dist/collection/components/vega-date-picker/assets/icons.js +4 -1
  108. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-open-state-controller.js +2 -1
  109. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +2 -2
  110. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-header-render.js +109 -0
  111. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-renderer.js +4 -0
  112. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-year-month-switcher-renderer.js +42 -70
  113. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.js +12 -56
  114. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.css +435 -108
  115. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.js +5 -0
  116. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-search-controller.js +5 -1
  117. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-source-controller.js +7 -0
  118. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +3 -2
  119. package/dist/collection/components/vega-dropdown/vega-dropdown.js +21 -6
  120. package/dist/collection/components/vega-field-label/vega-field-label.js +1 -1
  121. package/dist/collection/components/vega-input/slimmers/controllers/vega-input-render-mode-controller.js +51 -0
  122. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-renderer.js +6 -0
  123. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-suggestions-renderer.js +142 -0
  124. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-renderer.js +12 -1
  125. package/dist/collection/components/vega-input/vega-input.js +200 -3
  126. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +8 -3
  127. package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.js +9 -1
  128. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +0 -10
  129. package/dist/collection/components/vega-rich-text-editor/extensions/table/action-handler-strategies/insert-table-row-strategy.js +74 -28
  130. package/dist/collection/components/vega-rich-text-editor/extensions/table/action-handler-strategies/merge-cells-strategy.js +120 -0
  131. package/dist/collection/components/vega-rich-text-editor/extensions/table/action-handler-strategies/split-cell-horizontally-strategy.js +143 -0
  132. package/dist/collection/components/vega-rich-text-editor/extensions/table/action-handler-strategies/split-cell-vertically-strategy.js +80 -0
  133. package/dist/collection/components/vega-rich-text-editor/extensions/table/action-handler-strategies/update-table-cell-properties-strategy.js +2 -1
  134. package/dist/collection/components/vega-rich-text-editor/extensions/table/action-handler-strategies/update-table-properties-strategy.js +2 -2
  135. package/dist/collection/components/vega-rich-text-editor/extensions/table/actions/merge-cells-action.js +17 -0
  136. package/dist/collection/components/vega-rich-text-editor/extensions/table/actions/split-cell-horizontally-action.js +12 -0
  137. package/dist/collection/components/vega-rich-text-editor/extensions/table/actions/split-cell-vertically-action.js +12 -0
  138. package/dist/collection/components/vega-rich-text-editor/extensions/table/annotation-handler/table-annotation-handler-base.js +9 -30
  139. package/dist/collection/components/vega-rich-text-editor/extensions/table/annotation-handler/table-cell-annotation-handler.js +26 -0
  140. package/dist/collection/components/vega-rich-text-editor/extensions/table/annotations/table-annotation.js +26 -11
  141. package/dist/collection/components/vega-rich-text-editor/extensions/table/annotations/table-cell-annotation.js +52 -12
  142. package/dist/collection/components/vega-rich-text-editor/extensions/table/annotations/table-color-annotation.js +66 -0
  143. package/dist/collection/components/vega-rich-text-editor/extensions/table/annotations/table-head-cell-annotation.js +11 -6
  144. package/dist/collection/components/vega-rich-text-editor/extensions/table/constants/styles.constants.js +8 -8
  145. package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-block.js +1 -1
  146. package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-cell-block.js +32 -1
  147. package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-head-cell-block.js +1 -1
  148. package/dist/collection/components/vega-rich-text-editor/extensions/table/element-to-dto-strategies/td-to-table-cell-block-strategy.js +1 -1
  149. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-cell-renderer.js +3 -1
  150. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.js +2 -9
  151. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.js +4 -0
  152. package/dist/collection/components/vega-rich-text-editor/extensions/table/setting-event-handlers/cell-properties.js +19 -15
  153. package/dist/collection/components/vega-rich-text-editor/extensions/table/setting-event-handlers/merge-cells-operation.js +100 -0
  154. package/dist/collection/components/vega-rich-text-editor/extensions/table/setting-event-handlers/setting-event-handler.abstract.js +1 -0
  155. package/dist/collection/components/vega-rich-text-editor/extensions/table/setting-event-handlers/split-cell-operation.js +57 -0
  156. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-extension.js +14 -2
  157. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-selection.js +102 -13
  158. package/dist/collection/components/vega-rich-text-editor/extensions/table/utils/table-color-manager.js +51 -0
  159. package/dist/collection/components/vega-rich-text-editor/extensions/table/utils/utils.js +253 -0
  160. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/controllers/vega-rich-text-table-properties-color-controller.js +33 -2
  161. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-cell-properties-form-field-renderer.js +1 -1
  162. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-basic-form-field-renderer.abstract.js +38 -6
  163. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-form-field-renderer.js +1 -1
  164. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-form-renderer.js +20 -2
  165. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.css +1 -0
  166. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.js +24 -14
  167. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-selection-widget/vega-rich-text-table-selection-widget.js +2 -2
  168. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/merge-cells-button-slimmer.js +117 -0
  169. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.js +6 -4
  170. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/vega-rich-text-table-setting-renderer.js +6 -1
  171. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.js +15 -8
  172. package/dist/collection/components/vega-rich-text-editor/test/extensions/table/annotation-handler/table-annotation-handler.test.js +41 -46
  173. package/dist/collection/components/vega-rich-text-editor/test/extensions/table/annotation-handler/table-cell-annotation-handler.test.js +69 -48
  174. package/dist/collection/components/vega-rich-text-editor/test/extensions/table/annotation-handler/table-head-cell-annotation-handler.test.js +50 -54
  175. package/dist/collection/components/vega-rich-text-editor/test/extensions/table/table-annotation.test.js +106 -14
  176. package/dist/collection/components/vega-rich-text-editor/test/extensions/table/table-cell-annotation.test.js +204 -9
  177. package/dist/collection/components/vega-rich-text-editor/test/extensions/table/table-color-annotation.test.js +32 -0
  178. package/dist/collection/components/vega-rich-text-editor/test/extensions/table/table-dto.test.js +583 -6
  179. package/dist/collection/components/vega-rich-text-editor/test/extensions/table/table-element-to-dto-strategies.test.js +114 -25
  180. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +0 -5
  181. package/dist/collection/components/vega-selection-chip/vega-selection-chip.js +1 -1
  182. package/dist/collection/components/vega-time-picker/slimmers/controllers/vega-time-picker-range-dropdown-controller.js +2 -1
  183. package/dist/collection/components/vega-time-picker/slimmers/controllers/vega-time-picker-single-dropdown-controller.js +2 -1
  184. package/dist/collection/constants/ui.js +2 -0
  185. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +13 -2
  186. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +2 -0
  187. package/dist/collection/helpers/event-manager/test/component-event-id-map.test.js +3 -1
  188. package/dist/collection/helpers/event-manager/test/vega-event-manager.test.js +3 -1
  189. package/dist/collection/helpers/slimmers/element-appender/element-appender-slimmer.js +60 -32
  190. package/dist/collection/helpers/slimmers/element-appender/test/element-appender-slimmer.test.js +3 -2
  191. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/click-outside-only-to-dismiss-strategy.js +28 -0
  192. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/click-trigger-strategy.js +33 -0
  193. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/hover-trigger-strategy.js +42 -0
  194. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/none-trigger-strategy.js +22 -0
  195. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/trigger-strategy.interface.js +1 -0
  196. package/dist/collection/types/test/type-guard.test.js +8 -1
  197. package/dist/collection/types/type-guard.js +11 -0
  198. package/dist/collection/utils/sanitize.js +126 -0
  199. package/dist/collection/utils/test/sanitize.test.js +65 -0
  200. package/dist/esm/{app-globals-8b873b6f.js → app-globals-4146c01c.js} +9 -8
  201. package/dist/esm/{child-nodes-event-prevent-slimmer-a6afdb1e.js → child-nodes-event-prevent-slimmer-225e7b58.js} +1 -1
  202. package/dist/esm/click-outside-only-to-dismiss-strategy-3d286c1b.js +30 -0
  203. package/dist/esm/{code-block-76b29be1.js → code-block-36393b45.js} +3 -3
  204. package/dist/esm/{component-value-history-controller-slimmer.abstract-e1b0e163.js → component-value-history-controller-slimmer.abstract-82339b2b.js} +4 -4
  205. package/dist/esm/{content-state-03f1d302.js → content-state-e8ef033a.js} +3 -3
  206. package/dist/esm/{date-required-rule-a9980386.js → date-required-rule-47ecc28f.js} +1 -1
  207. package/dist/esm/{design-token-8fedb532.js → design-token-c57a58b4.js} +2 -2
  208. package/dist/esm/{dom-node-subject-observer-factory-e998eba4.js → dom-node-subject-observer-factory-d4e16f66.js} +3 -1
  209. package/dist/esm/{element-appender-slimmer-7b9326e2.js → element-appender-slimmer-a7341fc1.js} +160 -36
  210. package/dist/esm/{event-emit-slimmer-bbf6668c.js → event-emit-slimmer-1bb4b533.js} +2 -2
  211. package/dist/esm/{form-field-controller-slimmer-a0cff4d3.js → form-field-controller-slimmer-907bf7c2.js} +2 -2
  212. package/dist/esm/{image-annotation-action-47cdc068.js → image-annotation-action-82cef6e4.js} +4 -31
  213. package/dist/esm/{index-da7e5fe5.js → index-2466b0c0.js} +1 -1
  214. package/dist/esm/index.js +21 -21
  215. package/dist/esm/{inject-keyboard-manager-9241968c.js → inject-keyboard-manager-83d76ff5.js} +1 -1
  216. package/dist/esm/{internal-vega-event-manager-e799c54a.js → internal-vega-event-manager-2cbb828a.js} +13 -2
  217. package/dist/esm/{keyboard-manager-89acac79.js → keyboard-manager-c92808d8.js} +1 -1
  218. package/dist/esm/{keyboard-manager-slimmer-e303cb7d.js → keyboard-manager-slimmer-79c78ce8.js} +1 -1
  219. package/dist/esm/{language-extension-de6e6caf.js → language-extension-dcc43702.js} +2 -2
  220. package/dist/esm/loader.js +15 -15
  221. package/dist/esm/{month-view-generator-4bec99fd.js → month-view-generator-16192182.js} +1 -1
  222. package/dist/esm/{public-rules-c48cc5c9.js → public-rules-b8ea651f.js} +7 -7
  223. package/dist/esm/{range-af6150a8.js → range-872aad9f.js} +1 -1
  224. package/dist/esm/{responsive-format-facade-16da4623.js → responsive-format-facade-9278eae4.js} +5 -4
  225. package/dist/esm/{rich-text-editor-required-rule-7255832e.js → rich-text-editor-required-rule-36dd4242.js} +1 -1
  226. package/dist/esm/sanitize-fd0cb40d.js +129 -0
  227. package/dist/esm/{styles.constants-0dd6f7fa.js → split-cell-operation-6749f654.js} +1218 -405
  228. package/dist/esm/{string-format-strategy.abstract-75540c16.js → string-format-strategy.abstract-fc60db79.js} +1 -1
  229. package/dist/esm/{string-input-formatter-slimmer-82f85b0b.js → string-input-formatter-slimmer-7a1e8754.js} +3 -3
  230. package/dist/esm/{string-mask-strategy-4a18ed1a.js → string-mask-strategy-0b0accaa.js} +2 -2
  231. package/dist/esm/{style-formatter-6ca58f6b.js → style-formatter-e937952a.js} +2 -2
  232. package/dist/esm/{sub-state-notify-slimmer-4060c333.js → sub-state-notify-slimmer-2ecdba12.js} +1 -1
  233. package/dist/esm/{sub-state-observer-slimmer-bfa5e63e.js → sub-state-observer-slimmer-2d5dba8d.js} +1 -1
  234. package/dist/esm/{table-extension-c83b7a56.js → table-extension-6b31754b.js} +587 -283
  235. package/dist/esm/{time-required-rule-8ec1faf5.js → time-required-rule-5fa43804.js} +1 -1
  236. package/dist/esm/{type-guard-b48aec98.js → type-guard-c65a227d.js} +12 -1
  237. package/dist/esm/{valid-credit-card-number-rule-96eaf9b1.js → valid-credit-card-number-rule-666c415d.js} +1 -1
  238. package/dist/esm/vega-accordion.entry.js +12 -12
  239. package/dist/esm/vega-app-header-button.entry.js +13 -13
  240. package/dist/esm/vega-banner.entry.js +3 -3
  241. package/dist/esm/vega-box.entry.js +12 -12
  242. package/dist/esm/vega-breadcrumb.entry.js +4 -4
  243. package/dist/esm/vega-button-circle.entry.js +12 -12
  244. package/dist/esm/vega-button-group_2.entry.js +6 -6
  245. package/dist/esm/vega-button-link.entry.js +4 -4
  246. package/dist/esm/vega-button.entry.js +11 -11
  247. package/dist/esm/vega-calendar_4.entry.js +8 -8
  248. package/dist/esm/vega-card.entry.js +12 -12
  249. package/dist/esm/vega-carousel.entry.js +11 -11
  250. package/dist/esm/vega-checkbox_2.entry.js +6 -6
  251. package/dist/esm/vega-chip.entry.js +13 -13
  252. package/dist/esm/vega-code-block.entry.js +10 -10
  253. package/dist/esm/vega-color-picker.entry.js +5 -5
  254. package/dist/esm/vega-combo-box.entry.js +11 -10
  255. package/dist/esm/vega-date-picker_2.entry.js +392 -345
  256. package/dist/esm/vega-dialog_2.entry.js +14 -14
  257. package/dist/esm/vega-divider.entry.js +13 -13
  258. package/dist/esm/vega-dropdown_5.entry.js +40 -22
  259. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  260. package/dist/esm/vega-field-label.entry.js +3 -3
  261. package/dist/esm/vega-file-uploader.entry.js +5 -5
  262. package/dist/esm/vega-flag-icon.entry.js +11 -11
  263. package/dist/esm/vega-flex.entry.js +13 -13
  264. package/dist/esm/vega-font.entry.js +12 -12
  265. package/dist/esm/vega-form.entry.js +8 -8
  266. package/dist/esm/vega-grid.entry.js +12 -12
  267. package/dist/esm/vega-icon.entry.js +12 -12
  268. package/dist/esm/vega-image-uploader.entry.js +14 -14
  269. package/dist/esm/vega-input-credit-card.entry.js +10 -10
  270. package/dist/esm/vega-input-numeric.entry.js +10 -10
  271. package/dist/esm/vega-input-passcode.entry.js +9 -9
  272. package/dist/esm/vega-input-phone-number.entry.js +14 -14
  273. package/dist/esm/vega-input-range.entry.js +6 -6
  274. package/dist/esm/vega-input-select.entry.js +21 -16
  275. package/dist/esm/vega-input.entry.js +340 -99
  276. package/dist/esm/vega-item-toggle.entry.js +3 -3
  277. package/dist/esm/vega-left-nav_5.entry.js +12 -12
  278. package/dist/esm/vega-loader-wrapper_2.entry.js +13 -13
  279. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  280. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +3 -3
  281. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +1 -1
  282. package/dist/esm/vega-pagination.entry.js +13 -13
  283. package/dist/esm/vega-popover_2.entry.js +15 -15
  284. package/dist/esm/vega-progress-tracker_2.entry.js +12 -12
  285. package/dist/esm/vega-radio_2.entry.js +9 -9
  286. package/dist/esm/vega-rich-text-content.entry.js +14 -17
  287. package/dist/esm/vega-rich-text-editor_4.entry.js +144 -195
  288. package/dist/esm/vega-rich-text-table-properties_3.entry.js +293 -85
  289. package/dist/esm/vega-segment-control.entry.js +3 -3
  290. package/dist/esm/vega-selection-chip_2.entry.js +14 -14
  291. package/dist/esm/vega-selection-tile_2.entry.js +7 -7
  292. package/dist/esm/vega-sidenav_3.entry.js +15 -15
  293. package/dist/esm/vega-signature-capture.entry.js +14 -14
  294. package/dist/esm/vega-stepper.entry.js +6 -6
  295. package/dist/esm/vega-tab-group_2.entry.js +4 -4
  296. package/dist/esm/vega-table_11.entry.js +13 -13
  297. package/dist/esm/vega-textarea.entry.js +6 -6
  298. package/dist/esm/vega-time-picker_2.entry.js +19 -18
  299. package/dist/esm/vega-toggle-switch.entry.js +5 -5
  300. package/dist/esm/vega-tooltip_2.entry.js +14 -14
  301. package/dist/esm/vega.js +15 -15
  302. package/dist/sri/vega-sri-manifest.json +339 -715
  303. package/dist/types/components/vega-date-picker/assets/icons.d.ts +1 -1
  304. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-header-render.d.ts +20 -0
  305. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +1 -0
  306. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-year-month-switcher-renderer.d.ts +4 -11
  307. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.d.ts +4 -9
  308. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.d.ts +2 -0
  309. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-source-controller.d.ts +2 -0
  310. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +9 -4
  311. package/dist/types/components/vega-input/slimmers/controllers/vega-input-render-mode-controller.d.ts +27 -0
  312. package/dist/types/components/vega-input/slimmers/renderers/vega-input-input-renderer.d.ts +1 -0
  313. package/dist/types/components/vega-input/slimmers/renderers/vega-input-input-suggestions-renderer.d.ts +40 -0
  314. package/dist/types/components/vega-input/slimmers/renderers/vega-input-renderer.d.ts +3 -0
  315. package/dist/types/components/vega-input/types.d.ts +4 -0
  316. package/dist/types/components/vega-input/vega-input.d.ts +55 -1
  317. package/dist/types/components/vega-rich-text-content/vega-rich-text-content.d.ts +3 -0
  318. package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation.d.ts +1 -1
  319. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.d.ts +0 -2
  320. package/dist/types/components/vega-rich-text-editor/extensions/table/action-handler-strategies/insert-table-row-strategy.d.ts +17 -0
  321. package/dist/types/components/vega-rich-text-editor/extensions/table/action-handler-strategies/merge-cells-strategy.d.ts +38 -0
  322. package/dist/types/components/vega-rich-text-editor/extensions/table/action-handler-strategies/split-cell-horizontally-strategy.d.ts +43 -0
  323. package/dist/types/components/vega-rich-text-editor/extensions/table/action-handler-strategies/split-cell-vertically-strategy.d.ts +27 -0
  324. package/dist/types/components/vega-rich-text-editor/extensions/table/actions/merge-cells-action.d.ts +33 -0
  325. package/dist/types/components/vega-rich-text-editor/extensions/table/actions/split-cell-horizontally-action.d.ts +10 -0
  326. package/dist/types/components/vega-rich-text-editor/extensions/table/actions/split-cell-vertically-action.d.ts +10 -0
  327. package/dist/types/components/vega-rich-text-editor/extensions/table/annotation-handler/table-annotation-handler-base.d.ts +0 -7
  328. package/dist/types/components/vega-rich-text-editor/extensions/table/annotation-handler/table-cell-annotation-handler.d.ts +14 -0
  329. package/dist/types/components/vega-rich-text-editor/extensions/table/annotations/table-annotation.d.ts +15 -6
  330. package/dist/types/components/vega-rich-text-editor/extensions/table/annotations/table-cell-annotation.d.ts +11 -2
  331. package/dist/types/components/vega-rich-text-editor/extensions/table/annotations/table-color-annotation.d.ts +43 -0
  332. package/dist/types/components/vega-rich-text-editor/extensions/table/annotations/table-head-cell-annotation.d.ts +2 -2
  333. package/dist/types/components/vega-rich-text-editor/extensions/table/constants/styles.constants.d.ts +2 -2
  334. package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-cell-block.d.ts +19 -0
  335. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.d.ts +2 -2
  336. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.d.ts +1 -8
  337. package/dist/types/components/vega-rich-text-editor/extensions/table/setting-event-handlers/merge-cells-operation.d.ts +44 -0
  338. package/dist/types/components/vega-rich-text-editor/extensions/table/setting-event-handlers/setting-event-handler.abstract.d.ts +2 -1
  339. package/dist/types/components/vega-rich-text-editor/extensions/table/setting-event-handlers/split-cell-operation.d.ts +31 -0
  340. package/dist/types/components/vega-rich-text-editor/extensions/table/table-extension.d.ts +3 -3
  341. package/dist/types/components/vega-rich-text-editor/extensions/table/table-selection.d.ts +15 -0
  342. package/dist/types/components/vega-rich-text-editor/extensions/table/utils/table-color-manager.d.ts +26 -0
  343. package/dist/types/components/vega-rich-text-editor/extensions/table/utils/utils.d.ts +102 -2
  344. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/controllers/vega-rich-text-table-properties-color-controller.d.ts +16 -1
  345. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-basic-form-field-renderer.abstract.d.ts +18 -6
  346. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-form-renderer.d.ts +7 -1
  347. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.d.ts +14 -11
  348. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-selection-widget/vega-rich-text-table-selection-widget.d.ts +3 -3
  349. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/merge-cells-button-slimmer.d.ts +23 -0
  350. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/vega-rich-text-table-setting-renderer.d.ts +1 -0
  351. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.d.ts +9 -6
  352. package/dist/types/components/vega-rich-text-editor/interface.d.ts +0 -5
  353. package/dist/types/components/vega-rich-text-editor/test/extensions/table/annotation-handler/table-cell-annotation-handler.test.d.ts +8 -1
  354. package/dist/types/components/vega-rich-text-editor/test/extensions/table/table-color-annotation.test.d.ts +1 -0
  355. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +0 -2
  356. package/dist/types/components.d.ts +72 -30
  357. package/dist/types/constants/ui.d.ts +1 -1
  358. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +2 -0
  359. package/dist/types/helpers/slimmers/element-appender/element-appender-slimmer.d.ts +4 -9
  360. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/click-outside-only-to-dismiss-strategy.d.ts +21 -0
  361. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/click-trigger-strategy.d.ts +21 -0
  362. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/hover-trigger-strategy.d.ts +22 -0
  363. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/none-trigger-strategy.d.ts +18 -0
  364. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/trigger-strategy.interface.d.ts +37 -0
  365. package/dist/types/types/components.type.d.ts +3 -1
  366. package/dist/types/types/type-guard.d.ts +8 -0
  367. package/dist/types/types/ui.type.d.ts +9 -0
  368. package/dist/types/utils/sanitize.d.ts +71 -0
  369. package/dist/types/utils/spec-utils.d.ts +2 -0
  370. package/dist/types/utils/test/sanitize.test.d.ts +1 -0
  371. package/dist/vega/index.esm.js +1 -57
  372. package/dist/vega/{p-780cbfb0.entry.js → p-01dc2e48.entry.js} +1 -1
  373. package/dist/vega/p-0459a474.entry.js +1 -0
  374. package/dist/vega/p-0770a0eb.entry.js +1 -0
  375. package/dist/vega/{p-a924c1e2.entry.js → p-0bf4a3a7.entry.js} +1 -1
  376. package/dist/vega/{p-ff9a0e6e.js → p-0d57293b.js} +1 -1
  377. package/dist/vega/{p-22da15d7.entry.js → p-1199ebf6.entry.js} +1 -1
  378. package/dist/vega/p-11a6c1b7.js +1 -0
  379. package/dist/vega/{p-79e8236a.entry.js → p-1415d93b.entry.js} +1 -1
  380. package/dist/vega/p-1431c8b9.js +1 -0
  381. package/dist/vega/p-18560714.entry.js +1 -0
  382. package/dist/vega/{p-a007b493.entry.js → p-1a161082.entry.js} +1 -1
  383. package/dist/vega/{p-161b9c5b.js → p-1f83cebf.js} +1 -1
  384. package/dist/vega/{p-16af7681.js → p-20010bd6.js} +1 -1
  385. package/dist/vega/p-205d8401.js +1 -0
  386. package/dist/vega/{p-29a9c8f5.entry.js → p-20a98a99.entry.js} +1 -1
  387. package/dist/vega/{p-86caa739.entry.js → p-228784f7.entry.js} +1 -1
  388. package/dist/vega/{p-b91c2c9d.js → p-22989693.js} +1 -1
  389. package/dist/vega/{p-1bda4016.entry.js → p-273911b2.entry.js} +1 -1
  390. package/dist/vega/{p-e797bf8d.entry.js → p-28e630b2.entry.js} +1 -1
  391. package/dist/vega/{p-d466baf7.js → p-29f6b2d5.js} +1 -1
  392. package/dist/vega/{p-6d9731c1.entry.js → p-2af2e1ad.entry.js} +1 -1
  393. package/dist/vega/{p-d55365b9.entry.js → p-2af78c38.entry.js} +1 -1
  394. package/dist/vega/{p-c3d388b5.entry.js → p-2c830cba.entry.js} +1 -1
  395. package/dist/vega/{p-61ae4e9c.entry.js → p-3224d794.entry.js} +1 -1
  396. package/dist/vega/{p-216f3436.entry.js → p-326b5392.entry.js} +1 -1
  397. package/dist/vega/{p-69af3422.entry.js → p-3413a678.entry.js} +1 -1
  398. package/dist/vega/p-3532aa12.js +1 -0
  399. package/dist/vega/p-395cdd84.entry.js +1 -0
  400. package/dist/vega/{p-9aac9879.entry.js → p-3a6ff599.entry.js} +1 -1
  401. package/dist/vega/p-3be82c0f.entry.js +1 -0
  402. package/dist/vega/p-3c0f55f7.entry.js +1 -0
  403. package/dist/vega/{p-10ffb765.js → p-3e30567a.js} +1 -1
  404. package/dist/vega/p-3e5f362f.js +1 -0
  405. package/dist/vega/p-42cd1fde.js +1 -0
  406. package/dist/vega/p-476a173a.js +1 -0
  407. package/dist/vega/p-4b6c60cb.entry.js +1 -0
  408. package/dist/vega/{p-12a97dad.entry.js → p-4c36b528.entry.js} +1 -1
  409. package/dist/vega/{p-fa34ace2.entry.js → p-4ecf0ee7.entry.js} +1 -1
  410. package/dist/vega/{p-813b2915.entry.js → p-4f4c7593.entry.js} +1 -1
  411. package/dist/vega/p-585edae4.entry.js +1 -0
  412. package/dist/vega/{p-39d56e3d.js → p-5b048141.js} +1 -1
  413. package/dist/vega/p-5f377954.js +1 -1
  414. package/dist/vega/{p-63246470.js → p-5fdb9047.js} +1 -1
  415. package/dist/vega/{p-d4e35d2e.entry.js → p-60483e3d.entry.js} +1 -1
  416. package/dist/vega/{p-de70aac1.js → p-60851f9d.js} +1 -1
  417. package/dist/vega/{p-73688c4e.entry.js → p-61145506.entry.js} +1 -1
  418. package/dist/vega/{p-8162980c.js → p-61ddae59.js} +1 -1
  419. package/dist/vega/{p-98b78c75.entry.js → p-64386be8.entry.js} +1 -1
  420. package/dist/vega/{p-73689ec0.entry.js → p-6490b69a.entry.js} +1 -1
  421. package/dist/vega/{p-50a506ea.entry.js → p-6bc1552e.entry.js} +1 -1
  422. package/dist/vega/{p-206245d2.entry.js → p-6e4e7192.entry.js} +1 -1
  423. package/dist/vega/{p-8ac453cb.entry.js → p-76d144f5.entry.js} +1 -1
  424. package/dist/vega/{p-dc2813eb.entry.js → p-76eb9cd0.entry.js} +1 -1
  425. package/dist/vega/{p-e788598a.entry.js → p-77c9949d.entry.js} +1 -1
  426. package/dist/vega/p-8187878e.js +1 -0
  427. package/dist/vega/p-8198a77c.js +1 -0
  428. package/dist/vega/{p-0e4cecbd.entry.js → p-82ad1006.entry.js} +1 -1
  429. package/dist/vega/{p-8a4d8139.entry.js → p-839c9d62.entry.js} +1 -1
  430. package/dist/vega/{p-d07d04e0.entry.js → p-849f78a7.entry.js} +1 -1
  431. package/dist/vega/{p-ac4bd1f8.js → p-85bfa0f7.js} +1 -1
  432. package/dist/vega/{p-dd5d917b.entry.js → p-87764570.entry.js} +1 -1
  433. package/dist/vega/{p-abf871cd.entry.js → p-88c894e8.entry.js} +1 -1
  434. package/dist/vega/{p-c00adad9.js → p-89083d63.js} +1 -1
  435. package/dist/vega/{p-a8dad05d.js → p-920719ad.js} +1 -1
  436. package/dist/vega/p-9472d19a.js +1 -0
  437. package/dist/vega/{p-c6d98c60.entry.js → p-96657262.entry.js} +1 -1
  438. package/dist/vega/p-979e4bd4.entry.js +1 -0
  439. package/dist/vega/{p-f6eab527.entry.js → p-9c624e03.entry.js} +1 -1
  440. package/dist/vega/{p-088f4613.entry.js → p-a01f985f.entry.js} +1 -1
  441. package/dist/vega/{p-a4ec6575.js → p-a2aeb646.js} +1 -1
  442. package/dist/vega/{p-22c76be7.entry.js → p-a495463f.entry.js} +1 -1
  443. package/dist/vega/p-b4ea3fad.js +1 -0
  444. package/dist/vega/{p-151b1deb.js → p-b56b0b89.js} +1 -1
  445. package/dist/vega/{p-3bc7e162.entry.js → p-b5b75a2f.entry.js} +1 -1
  446. package/dist/vega/{p-d991fb11.js → p-badad9ed.js} +1 -1
  447. package/dist/vega/{p-24766b9d.entry.js → p-bccaf3d2.entry.js} +1 -1
  448. package/dist/vega/{p-e13c163c.entry.js → p-bde5c990.entry.js} +1 -1
  449. package/dist/vega/{p-ab0e013c.entry.js → p-beb6c1ce.entry.js} +1 -1
  450. package/dist/vega/{p-068ee55e.entry.js → p-c02b01ec.entry.js} +1 -1
  451. package/dist/vega/p-c1fdcb62.js +1 -0
  452. package/dist/vega/{p-5d2704c1.entry.js → p-c5e7035b.entry.js} +1 -1
  453. package/dist/vega/{p-5367eaab.js → p-c841be8d.js} +1 -1
  454. package/dist/vega/{p-6f08e3e1.entry.js → p-cd078909.entry.js} +1 -1
  455. package/dist/vega/{p-d1d0f08a.js → p-d0e31633.js} +1 -1
  456. package/dist/vega/{p-a439e59b.entry.js → p-d5c09a94.entry.js} +1 -1
  457. package/dist/vega/{p-c8ad47c9.js → p-d907f8a2.js} +1 -1
  458. package/dist/vega/{p-6c1ef2ed.js → p-dd11f735.js} +1 -1
  459. package/dist/vega/{p-c9541fc2.entry.js → p-de850e98.entry.js} +1 -1
  460. package/dist/vega/{p-3d85411d.js → p-e16b3adf.js} +1 -1
  461. package/dist/vega/{p-34a994a1.entry.js → p-e1dd23f8.entry.js} +1 -1
  462. package/dist/vega/{p-7ca9f6f1.js → p-e1de1cdc.js} +1 -1
  463. package/dist/vega/{p-1f4a814e.entry.js → p-e7cfb6b6.entry.js} +1 -1
  464. package/dist/vega/{p-ddf81373.js → p-e819940c.js} +1 -1
  465. package/dist/vega/{p-e0cefd90.entry.js → p-e95ed6f3.entry.js} +1 -1
  466. package/dist/vega/p-ebb14c84.js +1 -0
  467. package/dist/vega/{p-f519cdc3.entry.js → p-f0a8aed3.entry.js} +1 -1
  468. package/dist/vega/p-f2b8abd3.entry.js +1 -0
  469. package/dist/vega/{p-d4719c14.entry.js → p-fb238751.entry.js} +1 -1
  470. package/dist/vega/p-fdebc47f.entry.js +1 -0
  471. package/dist/vega/vega.esm.js +1 -172
  472. package/package.json +1 -1
  473. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/text-node-color-controller.js +0 -51
  474. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/text-node-rendering-registry.js +0 -26
  475. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/text-node-color-controller.d.ts +0 -22
  476. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/text-node-rendering-registry.d.ts +0 -22
  477. package/dist/vega/app-globals-955a2b3b.js +0 -427
  478. package/dist/vega/child-nodes-event-prevent-slimmer-a604a6dd.js +0 -156
  479. package/dist/vega/design-token-56b26205.js +0 -402
  480. package/dist/vega/element-appender-slimmer-8355fb28.js +0 -1508
  481. package/dist/vega/event-emit-slimmer-7a14f5e9.js +0 -265
  482. package/dist/vega/internal-vega-event-manager-8c62c88e.js +0 -458
  483. package/dist/vega/p-08b4d097.entry.js +0 -1
  484. package/dist/vega/p-207cfa6a.js +0 -1
  485. package/dist/vega/p-213be5e9.entry.js +0 -1
  486. package/dist/vega/p-224a4f3f.entry.js +0 -1
  487. package/dist/vega/p-40660c09.js +0 -1
  488. package/dist/vega/p-550ce71a.entry.js +0 -1
  489. package/dist/vega/p-6665d083.entry.js +0 -1
  490. package/dist/vega/p-7172332a.entry.js +0 -1
  491. package/dist/vega/p-82ec9721.entry.js +0 -1
  492. package/dist/vega/p-99e3dcab.js +0 -1
  493. package/dist/vega/p-9a83a6b0.js +0 -1
  494. package/dist/vega/p-a4d0ab07.js +0 -1
  495. package/dist/vega/p-a6e03df4.entry.js +0 -1
  496. package/dist/vega/p-c335088c.js +0 -1
  497. package/dist/vega/p-c674b07c.js +0 -1
  498. package/dist/vega/p-d1349401.entry.js +0 -1
  499. package/dist/vega/p-d2033624.js +0 -1
  500. package/dist/vega/p-db482ee1.js +0 -1
  501. package/dist/vega/p-f4b46f6b.entry.js +0 -1
  502. package/dist/vega/p-fbfb4c70.entry.js +0 -1
  503. package/dist/vega/p-ff57c872.js +0 -1
  504. package/dist/vega/p-ff921d10.js +0 -1
  505. package/dist/vega/public-api-8dd022fa.js +0 -6043
  506. package/dist/vega/public-api-baaf7593.js +0 -4
  507. package/dist/vega/responsive-format-facade-98596535.js +0 -913
  508. package/dist/vega/style-formatter-0ae102e9.js +0 -32
  509. package/dist/vega/vega-accordion.entry.js +0 -291
  510. package/dist/vega/vega-app-header-button.entry.js +0 -452
  511. package/dist/vega/vega-banner.entry.js +0 -351
  512. package/dist/vega/vega-box.entry.js +0 -353
  513. package/dist/vega/vega-breadcrumb.entry.js +0 -249
  514. package/dist/vega/vega-button-circle.entry.js +0 -245
  515. package/dist/vega/vega-button-group.entry.js +0 -203
  516. package/dist/vega/vega-button-link.entry.js +0 -226
  517. package/dist/vega/vega-button.entry.js +0 -259
  518. package/dist/vega/vega-calendar.entry.js +0 -3884
  519. package/dist/vega/vega-card.entry.js +0 -226
  520. package/dist/vega/vega-carousel.entry.js +0 -540
  521. package/dist/vega/vega-checkbox-group.entry.js +0 -266
  522. package/dist/vega/vega-checkbox.entry.js +0 -335
  523. package/dist/vega/vega-chip.entry.js +0 -321
  524. package/dist/vega/vega-code-block.entry.js +0 -4372
  525. package/dist/vega/vega-color-picker.entry.js +0 -258
  526. package/dist/vega/vega-combo-box.entry.js +0 -748
  527. package/dist/vega/vega-date-picker-calendar.entry.js +0 -1381
  528. package/dist/vega/vega-date-picker.entry.js +0 -1646
  529. package/dist/vega/vega-dialog.entry.js +0 -158
  530. package/dist/vega/vega-divider.entry.js +0 -179
  531. package/dist/vega/vega-dropdown-content-box.entry.js +0 -57
  532. package/dist/vega/vega-dropdown-item.entry.js +0 -352
  533. package/dist/vega/vega-dropdown.entry.js +0 -2136
  534. package/dist/vega/vega-field-label.entry.js +0 -182
  535. package/dist/vega/vega-file-uploader.entry.js +0 -751
  536. package/dist/vega/vega-flag-icon.entry.js +0 -216
  537. package/dist/vega/vega-flex.entry.js +0 -224
  538. package/dist/vega/vega-font.entry.js +0 -327
  539. package/dist/vega/vega-form.entry.js +0 -1008
  540. package/dist/vega/vega-grid.entry.js +0 -129
  541. package/dist/vega/vega-icon.entry.js +0 -256
  542. package/dist/vega/vega-image-uploader.entry.js +0 -977
  543. package/dist/vega/vega-input-credit-card.entry.js +0 -549
  544. package/dist/vega/vega-input-numeric.entry.js +0 -471
  545. package/dist/vega/vega-input-passcode.entry.js +0 -728
  546. package/dist/vega/vega-input-phone-number.entry.js +0 -9143
  547. package/dist/vega/vega-input-range.entry.js +0 -693
  548. package/dist/vega/vega-input-select.entry.js +0 -1268
  549. package/dist/vega/vega-input.entry.js +0 -1735
  550. package/dist/vega/vega-item-toggle.entry.js +0 -190
  551. package/dist/vega/vega-left-nav-group.entry.js +0 -433
  552. package/dist/vega/vega-left-nav-link.entry.js +0 -317
  553. package/dist/vega/vega-left-nav-section.entry.js +0 -97
  554. package/dist/vega/vega-left-nav.entry.js +0 -654
  555. package/dist/vega/vega-loading-indicator.entry.js +0 -209
  556. package/dist/vega/vega-modal.entry.js +0 -1287
  557. package/dist/vega/vega-nav-card.entry.js +0 -163
  558. package/dist/vega/vega-pagination-page-selector-mobile.entry.js +0 -214
  559. package/dist/vega/vega-pagination.entry.js +0 -629
  560. package/dist/vega/vega-popover-content-box.entry.js +0 -101
  561. package/dist/vega/vega-popover.entry.js +0 -362
  562. package/dist/vega/vega-progress-tracker.entry.js +0 -757
  563. package/dist/vega/vega-radio-group.entry.js +0 -496
  564. package/dist/vega/vega-radio.entry.js +0 -272
  565. package/dist/vega/vega-rich-text-editor-toolbar-button.entry.js +0 -169
  566. package/dist/vega/vega-rich-text-editor.entry.js +0 -4107
  567. package/dist/vega/vega-rich-text-image-editor.entry.js +0 -216
  568. package/dist/vega/vega-rich-text-link-editor.entry.js +0 -238
  569. package/dist/vega/vega-rich-text-table-properties.entry.js +0 -641
  570. package/dist/vega/vega-rich-text-table-setting.entry.js +0 -525
  571. package/dist/vega/vega-segment-control.entry.js +0 -350
  572. package/dist/vega/vega-selection-chip-group.entry.js +0 -447
  573. package/dist/vega/vega-selection-chip.entry.js +0 -443
  574. package/dist/vega/vega-selection-tile-group.entry.js +0 -438
  575. package/dist/vega/vega-selection-tile.entry.js +0 -409
  576. package/dist/vega/vega-sidenav-link.entry.js +0 -160
  577. package/dist/vega/vega-sidenav.entry.js +0 -766
  578. package/dist/vega/vega-signature-capture.entry.js +0 -589
  579. package/dist/vega/vega-stepper.entry.js +0 -292
  580. package/dist/vega/vega-tab-group-panel.entry.js +0 -79
  581. package/dist/vega/vega-tab-group.entry.js +0 -1281
  582. package/dist/vega/vega-table-body.entry.js +0 -48
  583. package/dist/vega/vega-table-cell.entry.js +0 -243
  584. package/dist/vega/vega-table-foot-cell.entry.js +0 -169
  585. package/dist/vega/vega-table-foot-row.entry.js +0 -219
  586. package/dist/vega/vega-table-foot.entry.js +0 -136
  587. package/dist/vega/vega-table-head-cell.entry.js +0 -339
  588. package/dist/vega/vega-table-head-row.entry.js +0 -416
  589. package/dist/vega/vega-table-head.entry.js +0 -113
  590. package/dist/vega/vega-table-row.entry.js +0 -666
  591. package/dist/vega/vega-table.entry.js +0 -3707
  592. package/dist/vega/vega-textarea.entry.js +0 -329
  593. package/dist/vega/vega-time-picker.entry.js +0 -2039
  594. package/dist/vega/vega-toggle-switch.entry.js +0 -194
  595. package/dist/vega/vega-tooltip.entry.js +0 -339
@@ -13,6 +13,8 @@ import { VegaRichTextContentStateController } from './slimmers/controllers/vega-
13
13
  import { findParent } from '../../utils/ui';
14
14
  import { waitForComponentDidRender } from '../../helpers/common';
15
15
  import { RTEExtensionStylesController } from './slimmers/controllers/vega-rich-text-content-extensions-styles-controller';
16
+ import { DarkModeStateControllerSlimmer } from '../../helpers/slimmers/dark-mode-state-controller-slimmer';
17
+ import { VegaInternalThemeManager } from '../../helpers/theme/internal-theme-manager';
16
18
  /**
17
19
  * @vegaVersion 2.34.0
18
20
  */
@@ -23,6 +25,7 @@ export class VegaRichTextContent {
23
25
  this.vegaRichTextContentRenderer = new VegaRichTextContentRenderer();
24
26
  this.vegaRichTextContentStateController = new VegaRichTextContentStateController();
25
27
  this.vegaRichTextContentExtensionsStylesController = new RTEExtensionStylesController();
28
+ this.darkModeStateControllerSlimmer = new DarkModeStateControllerSlimmer();
26
29
  /**
27
30
  * Specifies whether the rich text content is editable.
28
31
  *
@@ -33,6 +36,7 @@ export class VegaRichTextContent {
33
36
  * Holds the custom styles generated by extensions.
34
37
  */
35
38
  this.extensionStyles = '';
39
+ this.isInDarkMode = VegaInternalThemeManager.isDarkMode();
36
40
  /**
37
41
  * Defines the configuration for rich text content extensions.
38
42
  * It enables support for custom nodes, ensuring that extended content is rendered correctly.
@@ -122,7 +126,8 @@ export class VegaRichTextContent {
122
126
  static get states() { return {
123
127
  "placeholder": {},
124
128
  "contentEditable": {},
125
- "extensionStyles": {}
129
+ "extensionStyles": {},
130
+ "isInDarkMode": {}
126
131
  }; }
127
132
  static get methods() { return {
128
133
  "vegaFocus": {
@@ -176,3 +181,6 @@ __decorate([
176
181
  __decorate([
177
182
  InjectVegaSlimmer()
178
183
  ], VegaRichTextContent.prototype, "vegaRichTextContentExtensionsStylesController", void 0);
184
+ __decorate([
185
+ InjectVegaSlimmer()
186
+ ], VegaRichTextContent.prototype, "darkModeStateControllerSlimmer", void 0);
@@ -2,22 +2,12 @@ import { h } from '@stencil/core';
2
2
  import { RTENodeRenderer } from './node-renderer.abstract';
3
3
  import { NodeAnnotationTypeEnum } from '../../annotations/node-annotation.abstract';
4
4
  import { ZERO_WIDTH_SPACE } from '../../../constants/constant';
5
- import TextNodeElementRenderingRegistry from '../../../slimmers/controllers/text-node-rendering-registry';
6
5
  class RTETextNodeRenderer extends RTENodeRenderer {
7
6
  render(node) {
8
7
  const inlineHtmlAnnotation = node.getAnnotationByType(NodeAnnotationTypeEnum.INLINE_HTML);
9
8
  const textNodeDom = this.renderText(node);
10
9
  return inlineHtmlAnnotation ? this.renderWithWrapper(textNodeDom, inlineHtmlAnnotation) : textNodeDom;
11
10
  }
12
- registerRef(ref, node) {
13
- super.registerRef(ref, node);
14
- if (ref) {
15
- const textColorAnnotation = node.getAnnotationByType('TEXT_COLOR');
16
- if (textColorAnnotation) {
17
- TextNodeElementRenderingRegistry.register(ref, textColorAnnotation);
18
- }
19
- }
20
- }
21
11
  renderWithWrapper(textNodeDom, inlineHtmlNode) {
22
12
  const { htmlTag: HtmlTag, customStyle, customAttribute, customClass, } = inlineHtmlNode;
23
13
  const attrs = Object.assign(Object.assign({}, customAttribute === null || customAttribute === void 0 ? void 0 : customAttribute.render()), { style: customStyle === null || customStyle === void 0 ? void 0 : customStyle.renderStyle(), class: customClass === null || customClass === void 0 ? void 0 : customClass.renderClass().join(' ') });
@@ -1,4 +1,5 @@
1
1
  import { generateUUID } from '../../../../../utils/misc';
2
+ import { cleanObject } from '../../../../../utils/object';
2
3
  import { ActionHandleStrategy } from '../../../dto/action-handle-strategies/action-handle-strategy.abstract';
3
4
  import { AppendChildrenAction } from '../../../dto/actions/append-child-nodes-action';
4
5
  import { InsertChildrenAfterAction } from '../../../dto/actions/insert-children-after-block';
@@ -6,6 +7,7 @@ import { InsertChildrenBeforeAction } from '../../../dto/actions/insert-children
6
7
  import { InsertTableRowDirection } from '../actions/insert-table-row-action';
7
8
  import { RTETableBodyBlock } from '../dto/table-body-block';
8
9
  import { RTETableHeadBlock } from '../dto/table-head-block';
10
+ import { RTETableHeadCellBlock } from '../dto/table-head-cell-block';
9
11
  import { RTETableRowBlock } from '../dto/table-row-block';
10
12
  /**
11
13
  * Strategy class for handling the insertion of a new row into a table.
@@ -17,57 +19,52 @@ export class InsertTableRowStrategy extends ActionHandleStrategy {
17
19
  handleAction(action, target) {
18
20
  const { insertDirection, selectedRows } = action;
19
21
  // The reference block will control where to insert the new row
20
- let refBlock = insertDirection === InsertTableRowDirection.ABOVE
22
+ const refBlock = insertDirection === InsertTableRowDirection.ABOVE
21
23
  ? selectedRows[0]
22
24
  : selectedRows[selectedRows.length - 1];
23
- // The row need to be inserted is a header row
24
- if (this.shouldInsertHeaderRow(refBlock, insertDirection)) {
25
- const headerBlock = RTETableRowBlock.from({
25
+ const refBlockIsHeaderRow = refBlock.parent instanceof RTETableHeadBlock;
26
+ // The refBlock is a head row and new row is also a head row or the refBlock is a body row and new row is also a body row
27
+ if (this.shouldInsertHeaderRow(refBlock, insertDirection) || !refBlockIsHeaderRow) {
28
+ const rowBlock = RTETableRowBlock.from({
26
29
  id: generateUUID(),
27
30
  type: 'table-row',
28
31
  children: refBlock.children.map((item) => {
29
- return this.getDefaultCellBlockTemplate(item.type);
32
+ return this.getDefaultCellBlockTemplate(item.type, item.colSpan);
30
33
  }),
31
34
  });
32
35
  if (insertDirection === InsertTableRowDirection.ABOVE) {
33
- refBlock.parent.apply(new InsertChildrenBeforeAction(refBlock, headerBlock));
36
+ refBlock.parent.apply(new InsertChildrenBeforeAction(refBlock, rowBlock));
34
37
  }
35
38
  else {
36
- refBlock.parent.apply(new InsertChildrenAfterAction(refBlock, headerBlock));
39
+ refBlock.parent.apply(new InsertChildrenAfterAction(refBlock, rowBlock));
37
40
  }
38
41
  }
39
42
  else {
40
- let direction = insertDirection;
43
+ // The refBlock is a head row and new row is a body row
41
44
  let tableBody = target.children.find((block) => block instanceof RTETableBodyBlock);
42
- // Should insert into body if reference block is in head row and body exists
43
- if (refBlock.parent instanceof RTETableHeadBlock && tableBody) {
44
- refBlock = tableBody.children[0];
45
- direction = InsertTableRowDirection.ABOVE;
46
- }
47
- const refBlockIsHeaderRow = refBlock.parent instanceof RTETableHeadBlock;
48
- const rowBlock = RTETableRowBlock.from({
45
+ const rowBlockJSON = {
49
46
  id: generateUUID(),
50
47
  type: 'table-row',
51
- children: refBlock.children.map((item) => {
52
- return this.getDefaultCellBlockTemplate(refBlockIsHeaderRow ? 'table-cell' : item.type);
53
- }),
54
- });
48
+ children: [],
49
+ };
55
50
  if (!tableBody) {
51
+ rowBlockJSON.children = refBlock.children.map((item) => {
52
+ const { colSpan } = item;
53
+ return this.getDefaultCellBlockTemplate('table-cell', colSpan);
54
+ });
56
55
  tableBody = RTETableBodyBlock.from({
57
56
  id: generateUUID(),
58
57
  type: 'table-body',
59
58
  children: [],
60
59
  });
61
- tableBody.apply(new AppendChildrenAction([rowBlock]));
60
+ tableBody.apply(new AppendChildrenAction([RTETableRowBlock.from(rowBlockJSON)]));
62
61
  target.apply(new AppendChildrenAction([tableBody]));
63
62
  }
64
63
  else {
65
- if (direction === InsertTableRowDirection.ABOVE) {
66
- tableBody.apply(new InsertChildrenBeforeAction(refBlock, rowBlock));
67
- }
68
- else {
69
- tableBody.apply(new InsertChildrenAfterAction(refBlock, rowBlock));
70
- }
64
+ const firstBodyRow = tableBody.children[0];
65
+ const headCellLength = this.getHeadCellLength(firstBodyRow);
66
+ rowBlockJSON.children = this.createTableCells(refBlock, headCellLength);
67
+ tableBody.apply(new InsertChildrenBeforeAction(firstBodyRow, RTETableRowBlock.from(rowBlockJSON)));
71
68
  }
72
69
  }
73
70
  }
@@ -92,11 +89,17 @@ export class InsertTableRowStrategy extends ActionHandleStrategy {
92
89
  * Get the default cell block template.
93
90
  *
94
91
  * @param {string} cellType - The type of the cell block.
92
+ * @param {number} colSpan - The colspan attribute for the cell.
93
+ * @param {number} rowSpan - The rowspan attribute for the cell.
95
94
  * @returns {VegaRTETableCellBlock | VegaRTETableHeadCellBlock} The default cell block template.
96
95
  */
97
- getDefaultCellBlockTemplate(cellType) {
96
+ getDefaultCellBlockTemplate(cellType, colSpan, rowSpan = 1) {
97
+ const customAttribute = cleanObject({
98
+ colspan: colSpan > 1 ? colSpan.toString() : null,
99
+ rowspan: rowSpan > 1 ? rowSpan.toString() : null,
100
+ });
98
101
  const id = generateUUID();
99
- return {
102
+ const cellBlock = {
100
103
  id,
101
104
  type: cellType,
102
105
  children: [
@@ -113,5 +116,48 @@ export class InsertTableRowStrategy extends ActionHandleStrategy {
113
116
  },
114
117
  ],
115
118
  };
119
+ if (Object.keys(customAttribute).length > 0) {
120
+ cellBlock.annotations = {
121
+ customAttribute,
122
+ };
123
+ }
124
+ return cellBlock;
125
+ }
126
+ /**
127
+ * Get the column head end index in a table row.
128
+ *
129
+ * @param {RTETableRowBlock} tableRow - The table row block.
130
+ * @returns {number} The end index of the column head.
131
+ */
132
+ getHeadCellLength(tableRow) {
133
+ let length = 0;
134
+ for (let i = 0; i < tableRow.children.length; i++) {
135
+ const cellBlock = tableRow.children[i];
136
+ if (cellBlock instanceof RTETableHeadCellBlock) {
137
+ length += cellBlock.colSpan;
138
+ }
139
+ else {
140
+ break;
141
+ }
142
+ }
143
+ return length;
144
+ }
145
+ /**
146
+ * Create table cells based on reference row and head cell length.
147
+ *
148
+ * @param {RTETableRowBlock} refRow - The reference table row block.
149
+ * @param {number} headCellLength - The length of the head cells.
150
+ * @returns {VegaRTETableCellBlock[]} An array of table cell blocks.
151
+ */
152
+ createTableCells(refRow, headCellLength) {
153
+ const cells = [];
154
+ let currentHeadCellLength = 0;
155
+ for (const cell of refRow.children) {
156
+ const isHeadCell = currentHeadCellLength < headCellLength;
157
+ const cellType = isHeadCell ? 'table-head-cell' : 'table-cell';
158
+ cells.push(this.getDefaultCellBlockTemplate(cellType, cell.colSpan));
159
+ currentHeadCellLength += cell.colSpan;
160
+ }
161
+ return cells;
116
162
  }
117
163
  }
@@ -0,0 +1,120 @@
1
+ import { ActionHandleStrategy } from '../../../dto/action-handle-strategies/action-handle-strategy.abstract';
2
+ import { RemoveChildrenAction } from '../../../dto/actions/remove-child-action';
3
+ import { getFirstNode, getCellSpan, buildTableGrid, setSpanAttributes } from '../utils/utils';
4
+ import { UpdateCursorPositionAction } from '../../../dto/actions/update-cursor-position-action';
5
+ import { MergeCellsOperationType } from '../setting-event-handlers/merge-cells-operation';
6
+ /**
7
+ * Strategy to handle the merging of table cells.
8
+ */
9
+ export class MergeCellsStrategy extends ActionHandleStrategy {
10
+ /**
11
+ * Handles the merge cells action.
12
+ *
13
+ * @param {MergeCellsAction} action - The action containing merge details.
14
+ * @param {RTETableBlock} target - The target table block.
15
+ */
16
+ handleAction(action, target) {
17
+ const { targetCell, mergeCells, colSpan, rowSpan, direction } = action;
18
+ this.mergeContentToTargetCell(targetCell, mergeCells);
19
+ setSpanAttributes(targetCell, colSpan, rowSpan, target);
20
+ this.deleteOtherSelectedCells(mergeCells, targetCell);
21
+ if (direction !== MergeCellsOperationType.MERGE_CELL_LEFT &&
22
+ direction !== MergeCellsOperationType.MERGE_CELL_RIGHT &&
23
+ rowSpan > 1) {
24
+ this.clearRowSpanIfUniformAcrossRow(targetCell, target, rowSpan);
25
+ }
26
+ const root = this.getRootContent(target);
27
+ const nextFocusNode = getFirstNode(targetCell);
28
+ if (root && nextFocusNode) {
29
+ root.apply(new UpdateCursorPositionAction(nextFocusNode));
30
+ }
31
+ }
32
+ /**
33
+ * Merge content from all selected cells to the target cell.
34
+ *
35
+ * @param {RTETableCellBlock | RTETableHeadCellBlock} targetCell - The target cell.
36
+ * @param {RTETableCellBlock[] | RTETableHeadCellBlock[]} selectedCells - All selected cells.
37
+ */
38
+ mergeContentToTargetCell(targetCell, selectedCells) {
39
+ const allChildren = selectedCells.flatMap((cell) => cell.children);
40
+ const valueCells = allChildren.filter((child) => child.isNotEmpty());
41
+ const allChildrenBlocks = valueCells.length > 0 ? valueCells : [allChildren[0]];
42
+ targetCell.children = allChildrenBlocks.map((childBlock) => childBlock.clone(targetCell));
43
+ }
44
+ /**
45
+ * Delete all selected cells except the target cell.
46
+ *
47
+ * @param {RTETableCellBlock[] | RTETableHeadCellBlock[]} selectedCells - All selected cells.
48
+ * @param {RTETableCellBlock | RTETableHeadCellBlock} targetCell - The target cell (should not be deleted).
49
+ */
50
+ deleteOtherSelectedCells(selectedCells, targetCell) {
51
+ selectedCells.forEach((cell) => {
52
+ if (cell !== targetCell) {
53
+ const row = cell.parent;
54
+ row.apply(new RemoveChildrenAction(cell));
55
+ }
56
+ });
57
+ }
58
+ /**
59
+ * Remove rowSpan from all cells in the target row when every cell shares the same rowSpan.
60
+ * This avoids keeping stale row spans after a merge operation that no longer spans rows.
61
+ *
62
+ * @param {RTETableCellBlock | RTETableHeadCellBlock} targetCell - The target cell to set attributes on.
63
+ * @param {RTETableBlock} table - The table block.
64
+ * @param {number} targetCellRowSpan - The target cell rowSpan.
65
+ */
66
+ clearRowSpanIfUniformAcrossRow(targetCell, table, targetCellRowSpan) {
67
+ const targetRow = targetCell.parent;
68
+ const allRows = targetRow.parent.children;
69
+ const grid = buildTableGrid(allRows);
70
+ const rowIndexes = [];
71
+ for (let r = 0; r < grid.length; r++) {
72
+ if (grid[r].includes(targetCell.id)) {
73
+ rowIndexes.push(r);
74
+ }
75
+ }
76
+ if (rowIndexes.length > 1) {
77
+ const windowStart = rowIndexes[0];
78
+ const windowEnd = windowStart + targetCellRowSpan - 1;
79
+ const uniformIds = new Set();
80
+ let minRowSpan = Number.POSITIVE_INFINITY;
81
+ for (let c = 0; c < grid[0].length; c++) {
82
+ let firstId = grid[windowStart][c];
83
+ let count = 1;
84
+ let isRowSpan = false;
85
+ for (let r = windowStart + 1; r <= windowEnd; r++) {
86
+ if (grid[r][c] === firstId) {
87
+ count++;
88
+ continue;
89
+ }
90
+ if (count > 1) {
91
+ isRowSpan = true;
92
+ minRowSpan = Math.min(minRowSpan, count);
93
+ uniformIds.add(firstId);
94
+ }
95
+ count = 1;
96
+ firstId = grid[r][c];
97
+ }
98
+ if (count < 2 && !isRowSpan) {
99
+ uniformIds.clear();
100
+ break;
101
+ }
102
+ if (count > 1) {
103
+ minRowSpan = Math.min(minRowSpan, count);
104
+ uniformIds.add(firstId);
105
+ }
106
+ }
107
+ if (uniformIds.size > 0) {
108
+ allRows.forEach((row) => {
109
+ row.children.forEach((cell) => {
110
+ if (uniformIds.has(cell.id)) {
111
+ const { rowSpan, colSpan } = getCellSpan(cell);
112
+ const reducedRowSpan = rowSpan - minRowSpan + 1;
113
+ setSpanAttributes(cell, colSpan, reducedRowSpan, table);
114
+ }
115
+ });
116
+ });
117
+ }
118
+ }
119
+ }
120
+ }
@@ -0,0 +1,143 @@
1
+ import { RTETableRowBlock } from '../dto/table-row-block';
2
+ import { RTETableBlock } from '../dto/table-block';
3
+ import { InsertChildrenAfterAction } from '../../../dto/actions/insert-children-after-block';
4
+ import { getCellSpan, getAllTableRows, getActualColumnPosition, getParentBlockByType, setSpanAttributes, createNewCell, } from '../utils/utils';
5
+ import { generateUUID } from '../../../../../utils/misc';
6
+ import { ActionHandleStrategy } from '../../../dto/action-handle-strategies/action-handle-strategy.abstract';
7
+ /**
8
+ * Strategy to handle horizontal split of a table cell (splits top/bottom).
9
+ */
10
+ export class SplitCellHorizontallyStrategy extends ActionHandleStrategy {
11
+ /**
12
+ * @inheritDoc
13
+ */
14
+ handleAction(_action, target) {
15
+ const row = target.parent;
16
+ const section = row.parent;
17
+ const table = getParentBlockByType(row, RTETableBlock);
18
+ const allRows = getAllTableRows(table);
19
+ const currentRowIndex = allRows.indexOf(row);
20
+ const { colSpan, rowSpan } = getCellSpan(target);
21
+ const cellColumnPosition = getActualColumnPosition(target, allRows);
22
+ // When rowSpan=1, we need to insert a new row and both cells have rowSpan=1
23
+ // When rowSpan>1, we split the existing rowSpan
24
+ const topRowSpan = Math.ceil(rowSpan / 2);
25
+ const bottomRowSpan = Math.max(1, rowSpan - topRowSpan);
26
+ const needsNewRow = rowSpan === 1;
27
+ // Update original cell's rowSpan (top cell)
28
+ setSpanAttributes(target, colSpan, topRowSpan, table);
29
+ // Determine where the bottom cell should be inserted
30
+ const bottomCellRowIndex = currentRowIndex + topRowSpan;
31
+ // Create the bottom cell with the same col span and type as the original
32
+ const bottomCell = createNewCell(target.type);
33
+ setSpanAttributes(bottomCell, colSpan, bottomRowSpan, table);
34
+ if (needsNewRow) {
35
+ // Need to create a new row for the bottom cell
36
+ const newRow = this.createNewRowWithCell(section, bottomCell);
37
+ // Find the correct position in the section to insert the new row
38
+ const rowIndexInSection = section.children.indexOf(row);
39
+ section.apply(new InsertChildrenAfterAction(section.children[rowIndexInSection], newRow));
40
+ // Update allRows
41
+ allRows.splice(bottomCellRowIndex, 0, newRow);
42
+ // Update all cells from all previous rows that span through the insertion point
43
+ // (except the split cell itself)
44
+ this.updateCellsSpanningThroughInsertionPoint(allRows, bottomCellRowIndex, target, table);
45
+ }
46
+ else {
47
+ // Row exists - insert the bottom cell at the correct position
48
+ const targetRow = allRows[bottomCellRowIndex];
49
+ const insertIndex = this.findInsertPosition(targetRow, cellColumnPosition, allRows, bottomCellRowIndex);
50
+ targetRow.children.splice(insertIndex, 0, bottomCell);
51
+ bottomCell.parent = targetRow;
52
+ }
53
+ }
54
+ /**
55
+ * Find the correct insertion position for a cell at a given column position in a row.
56
+ * Accounts for cells from previous rows with rowspan extending into the target row.
57
+ *
58
+ * @param {RTETableRowBlock} targetRow - The row to insert into.
59
+ * @param {number} targetColumnPosition - The target column position.
60
+ * @param {RTETableRowBlock[]} allRows - All rows in the table.
61
+ * @param {number} rowIndex - The index of the target row.
62
+ * @returns {number} The physical cell index to insert at.
63
+ */
64
+ findInsertPosition(targetRow, targetColumnPosition, allRows, rowIndex) {
65
+ // Calculate columns occupied by cells from previous rows extending into this row
66
+ let columnsOccupiedByPreviousRows = 0;
67
+ for (let r = 0; r < rowIndex; r++) {
68
+ const prevRow = allRows[r];
69
+ for (const prevCell of prevRow.children) {
70
+ const { colSpan, rowSpan } = getCellSpan(prevCell);
71
+ // Check if this cell extends into the target row
72
+ if (r + rowSpan > rowIndex) {
73
+ const prevCellColumnPosition = getActualColumnPosition(prevCell, allRows);
74
+ if (prevCellColumnPosition < targetColumnPosition) {
75
+ columnsOccupiedByPreviousRows += colSpan;
76
+ }
77
+ }
78
+ }
79
+ }
80
+ // Find the insertion position in the target row
81
+ let currentColumn = columnsOccupiedByPreviousRows;
82
+ for (let i = 0; i < targetRow.children.length; i++) {
83
+ if (currentColumn >= targetColumnPosition) {
84
+ return i;
85
+ }
86
+ const cell = targetRow.children[i];
87
+ const { colSpan } = getCellSpan(cell);
88
+ currentColumn += colSpan;
89
+ }
90
+ return targetRow.children.length;
91
+ }
92
+ /**
93
+ * Create a new row with only the bottom cell.
94
+ * Other columns will be covered by cells from the original row with increased rowSpan.
95
+ *
96
+ * @param {RTETableBodyBlock | RTETableHeadBlock} section - The section (thead or tbody).
97
+ * @param {RTETableCellBlock | RTETableHeadCellBlock} bottomCell - The bottom cell to insert.
98
+ * @returns {RTETableRowBlock} The newly created row.
99
+ */
100
+ createNewRowWithCell(section, bottomCell) {
101
+ const rowTemplate = {
102
+ id: generateUUID(),
103
+ type: 'table-row',
104
+ children: [],
105
+ };
106
+ const newRow = RTETableRowBlock.from(rowTemplate);
107
+ newRow.parent = section;
108
+ // Add the bottom cell to the row
109
+ newRow.children.push(bottomCell);
110
+ bottomCell.parent = newRow;
111
+ return newRow;
112
+ }
113
+ /**
114
+ * Update all cells from all previous rows that span through the newly inserted row.
115
+ * When a new row is inserted at `insertionRowIndex`, any cell from a previous row
116
+ * that has rowSpan extending to or beyond that position needs rowSpan increased by 1.
117
+ *
118
+ * @param {RTETableRowBlock[]} allRows - All rows in the table (after insertion).
119
+ * @param {number} insertionRowIndex - The index where the new row was inserted.
120
+ * @param {RTETableCellBlock | RTETableHeadCellBlock} splitCell - The cell that was split (skip this one).
121
+ * @param {RTETableBlock} table - The table block.
122
+ */
123
+ updateCellsSpanningThroughInsertionPoint(allRows, insertionRowIndex, splitCell, table) {
124
+ // Check all rows before the insertion point (not including the inserted row itself)
125
+ for (let r = 0; r < insertionRowIndex; r++) {
126
+ const row = allRows[r];
127
+ for (const cell of row.children) {
128
+ // Skip the cell that was split - it already has the correct rowSpan
129
+ if (cell === splitCell) {
130
+ continue;
131
+ }
132
+ const { colSpan, rowSpan } = getCellSpan(cell);
133
+ // Calculate where this cell ends
134
+ const cellRowEnd = r + rowSpan;
135
+ // If this cell extends to or past where we inserted the row,
136
+ // it needs to span over the new row too
137
+ if (cellRowEnd >= insertionRowIndex) {
138
+ setSpanAttributes(cell, colSpan, rowSpan + 1, table);
139
+ }
140
+ }
141
+ }
142
+ }
143
+ }
@@ -0,0 +1,80 @@
1
+ import { RTETableBlock } from '../dto/table-block';
2
+ import { InsertChildrenAfterAction } from '../../../dto/actions/insert-children-after-block';
3
+ import { getCellSpan, getParentBlockByType, setSpanAttributes, getAllTableRows, getActualColumnPosition, createNewCell, } from '../utils/utils';
4
+ import { ActionHandleStrategy } from '../../../dto/action-handle-strategies/action-handle-strategy.abstract';
5
+ /**
6
+ * Strategy to handle vertical split of a table cell (splits left/right).
7
+ */
8
+ export class SplitCellVerticallyStrategy extends ActionHandleStrategy {
9
+ /**
10
+ * @inheritDoc
11
+ */
12
+ handleAction(_action, target) {
13
+ const row = target.parent;
14
+ const table = getParentBlockByType(row, RTETableBlock);
15
+ const allRows = getAllTableRows(table);
16
+ const currentRowIndex = allRows.indexOf(row);
17
+ const { colSpan, rowSpan } = getCellSpan(target);
18
+ // Get the actual column position of the cell being split
19
+ const cellColumnStart = getActualColumnPosition(target, allRows);
20
+ const cellColumnEnd = cellColumnStart + colSpan - 1;
21
+ // Calculate new column spans (split the column span)
22
+ const leftColSpan = Math.ceil(colSpan / 2);
23
+ const rightColSpan = Math.floor(colSpan / 2);
24
+ // Update original cell's column spans (left cell)
25
+ setSpanAttributes(target, leftColSpan, rowSpan, table);
26
+ // Create new cell (right cell) with same type as original
27
+ const newCell = createNewCell(target.type);
28
+ setSpanAttributes(newCell, rightColSpan, rowSpan, table);
29
+ // Insert new cell after the original in the same row
30
+ row.apply(new InsertChildrenAfterAction(target, newCell));
31
+ // Only when splitting a cell with colSpan=1 do we add a new column to the table.
32
+ // When colSpan>1, we're just redistributing existing columns.
33
+ // For example:
34
+ // colSpan=1: split into 1+1 → adds 1 new column
35
+ // colSpan=2: split into 1+1 → just redistributes 2 existing columns
36
+ // colSpan=3: split into 2+1 → just redistributes 3 existing columns
37
+ const newColumnsAdded = colSpan === 1 ? 1 : 0;
38
+ if (newColumnsAdded > 0) {
39
+ this.updateOtherRowsCells(allRows, currentRowIndex, cellColumnStart, cellColumnEnd, rowSpan, newColumnsAdded, table);
40
+ }
41
+ }
42
+ /**
43
+ * Update cells in other rows to account for the new columns added by the split.
44
+ * When a cell is split vertically and new columns are added to the table,
45
+ * cells in other rows that span across the position where the split happened
46
+ * need their colSpan increased.
47
+ *
48
+ * @param {RTETableRowBlock[]} allRows - All rows in the table.
49
+ * @param {number} splitRowIndex - The index of the row containing the split cell.
50
+ * @param {number} splitColumnStart - The starting column position of the split cell.
51
+ * @param {number} splitColumnEnd - The ending column position of the split cell.
52
+ * @param {number} splitCellRowSpan - The rowSpan of the split cell.
53
+ * @param {number} newColumnsAdded - The number of new columns added by the split.
54
+ * @param {RTETableBlock} table - The table block.
55
+ */
56
+ updateOtherRowsCells(allRows, splitRowIndex, splitColumnStart, splitColumnEnd, splitCellRowSpan, newColumnsAdded, table) {
57
+ // Iterate through all rows
58
+ for (let rowIndex = 0; rowIndex < allRows.length; rowIndex++) {
59
+ const currentRow = allRows[rowIndex];
60
+ // Skip rows that are spanned by the split cell itself
61
+ if (rowIndex >= splitRowIndex && rowIndex < splitRowIndex + splitCellRowSpan) {
62
+ continue;
63
+ }
64
+ // Check each cell in the current row
65
+ for (const cell of currentRow.children) {
66
+ const cellColumnStart = getActualColumnPosition(cell, allRows);
67
+ const { colSpan, rowSpan } = getCellSpan(cell);
68
+ const cellColumnEnd = cellColumnStart + colSpan - 1;
69
+ // Check if this cell spans across the columns where the split happened
70
+ // A cell needs updating if its column range overlaps with the split cell's column range
71
+ const overlaps = cellColumnEnd >= splitColumnStart && cellColumnStart <= splitColumnEnd;
72
+ if (overlaps) {
73
+ // Increase this cell's colSpan by the number of new columns added
74
+ setSpanAttributes(cell, colSpan + newColumnsAdded, rowSpan, table);
75
+ break; // No need to check other cells in this row
76
+ }
77
+ }
78
+ }
79
+ }
80
+ }
@@ -10,7 +10,8 @@ export class UpdateTableCellPropertiesStrategy extends ActionHandleStrategy {
10
10
  const annotation = action.toAnnotation();
11
11
  const tableCellRef = this.getDOMByEntity(target);
12
12
  if (tableCellRef) {
13
- const { backgroundColor = '', width, height, borderStr, padding, textAlign, verticalAlign, } = annotation;
13
+ const { width, height, borderStr, padding, textAlign, verticalAlign } = annotation;
14
+ const backgroundColor = annotation.renderStyle().backgroundColor || '';
14
15
  tableCellRef.style.backgroundColor = backgroundColor;
15
16
  tableCellRef.style.border = borderStr;
16
17
  tableCellRef.style.width = width;
@@ -12,8 +12,8 @@ export class UpdateTablePropertiesStrategy extends ActionHandleStrategy {
12
12
  if (tableRef) {
13
13
  // Update the table styles directly on the DOM element if possible to avoid the component re-render
14
14
  const tableContainer = tableRef.closest('.v-rte--extension-table-container');
15
- const { backgroundColor, width, height } = annotation;
16
- tableRef.style.backgroundColor = backgroundColor;
15
+ const { backgroundColorAnnotation, width, height } = annotation;
16
+ tableRef.style.backgroundColor = backgroundColorAnnotation.renderStyle().color;
17
17
  tableRef.style.border = annotation.borderStr;
18
18
  tableRef.style.width = width;
19
19
  tableRef.style.height = height;
@@ -0,0 +1,17 @@
1
+ import { ModifyContentAction } from '../../../dto/actions/modify-content-action.abstract';
2
+ export const MERGE_CELLS = 'MERGE_CELLS';
3
+ /**
4
+ * Action to merge cells into the RTETable.
5
+ */
6
+ export class MergeCellsAction extends ModifyContentAction {
7
+ constructor(targetCell, mergeCells, colSpan, rowSpan, direction) {
8
+ super();
9
+ this.type = MERGE_CELLS;
10
+ this.isFlushable = true;
11
+ this.targetCell = targetCell;
12
+ this.mergeCells = mergeCells;
13
+ this.colSpan = colSpan;
14
+ this.rowSpan = rowSpan;
15
+ this.direction = direction;
16
+ }
17
+ }
@@ -0,0 +1,12 @@
1
+ import { ModifyContentAction } from '../../../dto/actions/modify-content-action.abstract';
2
+ export const SPLIT_CELL_HORIZONTALLY = 'SPLIT_CELL_HORIZONTALLY';
3
+ /**
4
+ * Action to split a table cell horizontally.
5
+ */
6
+ export class SplitCellHorizontallyAction extends ModifyContentAction {
7
+ constructor() {
8
+ super();
9
+ this.isFlushable = true;
10
+ this.type = SPLIT_CELL_HORIZONTALLY;
11
+ }
12
+ }
@@ -0,0 +1,12 @@
1
+ import { ModifyContentAction } from '../../../dto/actions/modify-content-action.abstract';
2
+ export const SPLIT_CELL_VERTICALLY = 'SPLIT_CELL_VERTICALLY';
3
+ /**
4
+ * Action to split a table cell vertically.
5
+ */
6
+ export class SplitCellVerticallyAction extends ModifyContentAction {
7
+ constructor() {
8
+ super();
9
+ this.isFlushable = true;
10
+ this.type = SPLIT_CELL_VERTICALLY;
11
+ }
12
+ }