@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.
- package/dist/cjs/{app-globals-be2e868e.js → app-globals-6c9a0e62.js} +11 -10
- package/dist/cjs/{child-nodes-event-prevent-slimmer-536d29fc.js → child-nodes-event-prevent-slimmer-aca87dac.js} +1 -1
- package/dist/cjs/click-outside-only-to-dismiss-strategy-407f6d1e.js +32 -0
- package/dist/cjs/{code-block-22ee2550.js → code-block-d9001f03.js} +2 -2
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-3486cbc0.js → component-value-history-controller-slimmer.abstract-b00e9f58.js} +4 -4
- package/dist/cjs/{content-state-0be6fda3.js → content-state-466f277f.js} +3 -3
- package/dist/cjs/{date-required-rule-99cca681.js → date-required-rule-30ee62d0.js} +1 -1
- package/dist/cjs/{design-token-505997df.js → design-token-a569577e.js} +2 -2
- package/dist/cjs/{dom-node-subject-observer-factory-1c8f7880.js → dom-node-subject-observer-factory-b5e71bf6.js} +4 -0
- package/dist/cjs/{element-appender-slimmer-26420c09.js → element-appender-slimmer-b7fdd82e.js} +160 -36
- package/dist/cjs/{event-emit-slimmer-6a591353.js → event-emit-slimmer-2dacabbd.js} +2 -2
- package/dist/cjs/{form-field-controller-slimmer-56c551ea.js → form-field-controller-slimmer-3ea2464a.js} +2 -2
- package/dist/cjs/{image-annotation-action-462fd073.js → image-annotation-action-4435d531.js} +3 -31
- package/dist/cjs/{index-fc538f17.js → index-19e5b936.js} +1 -1
- package/dist/cjs/index.cjs.js +22 -22
- package/dist/cjs/{inject-keyboard-manager-a6101379.js → inject-keyboard-manager-d21b4387.js} +1 -1
- package/dist/cjs/{internal-vega-event-manager-d587a33c.js → internal-vega-event-manager-6befeb34.js} +13 -2
- package/dist/cjs/{keyboard-manager-d8adb0ed.js → keyboard-manager-3dea6b28.js} +1 -1
- package/dist/cjs/{keyboard-manager-slimmer-15e65357.js → keyboard-manager-slimmer-0d45f944.js} +1 -1
- package/dist/cjs/{language-extension-414149c2.js → language-extension-26331915.js} +2 -2
- package/dist/cjs/loader.cjs.js +15 -15
- package/dist/cjs/{month-view-generator-706c5477.js → month-view-generator-49cc5fc2.js} +1 -1
- package/dist/cjs/{public-rules-2d18cf41.js → public-rules-942bd931.js} +7 -7
- package/dist/cjs/{range-439a0c0c.js → range-cafe69a9.js} +1 -1
- package/dist/cjs/{responsive-format-facade-0ececeb3.js → responsive-format-facade-6c22bbbd.js} +5 -4
- package/dist/cjs/{rich-text-editor-required-rule-5a4f3626.js → rich-text-editor-required-rule-0dcb08c8.js} +1 -1
- package/dist/cjs/sanitize-fb222510.js +131 -0
- package/dist/cjs/{styles.constants-3aff0b56.js → split-cell-operation-9930fde8.js} +1230 -403
- package/dist/cjs/{string-format-strategy.abstract-a8264fca.js → string-format-strategy.abstract-63514c60.js} +1 -1
- package/dist/cjs/{string-input-formatter-slimmer-a8f4a9b1.js → string-input-formatter-slimmer-655d0322.js} +3 -3
- package/dist/cjs/{string-mask-strategy-4e7d3780.js → string-mask-strategy-d23ac21a.js} +2 -2
- package/dist/cjs/{style-formatter-142500c0.js → style-formatter-0e0ae896.js} +2 -2
- package/dist/cjs/{sub-state-notify-slimmer-011866d9.js → sub-state-notify-slimmer-3fa87162.js} +1 -1
- package/dist/cjs/{sub-state-observer-slimmer-23d43f1e.js → sub-state-observer-slimmer-77deba40.js} +1 -1
- package/dist/cjs/{table-extension-2a20da57.js → table-extension-5f27207f.js} +676 -373
- package/dist/cjs/{time-required-rule-9d39a620.js → time-required-rule-c96ecdc9.js} +1 -1
- package/dist/cjs/{type-guard-69d2cf01.js → type-guard-a0f026d8.js} +12 -0
- package/dist/cjs/{valid-credit-card-number-rule-9f40d1d9.js → valid-credit-card-number-rule-c854bed9.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +12 -12
- package/dist/cjs/vega-app-header-button.cjs.entry.js +13 -13
- package/dist/cjs/vega-banner.cjs.entry.js +3 -3
- package/dist/cjs/vega-box.cjs.entry.js +12 -12
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
- package/dist/cjs/vega-button-circle.cjs.entry.js +12 -12
- package/dist/cjs/vega-button-group_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-button-link.cjs.entry.js +4 -4
- package/dist/cjs/vega-button.cjs.entry.js +11 -11
- package/dist/cjs/vega-calendar_4.cjs.entry.js +8 -8
- package/dist/cjs/vega-card.cjs.entry.js +12 -12
- package/dist/cjs/vega-carousel.cjs.entry.js +11 -11
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-chip.cjs.entry.js +13 -13
- package/dist/cjs/vega-code-block.cjs.entry.js +10 -10
- package/dist/cjs/vega-color-picker.cjs.entry.js +5 -5
- package/dist/cjs/vega-combo-box.cjs.entry.js +11 -10
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +392 -345
- package/dist/cjs/vega-dialog_2.cjs.entry.js +14 -14
- package/dist/cjs/vega-divider.cjs.entry.js +13 -13
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +40 -22
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
- package/dist/cjs/vega-file-uploader.cjs.entry.js +5 -5
- package/dist/cjs/vega-flag-icon.cjs.entry.js +11 -11
- package/dist/cjs/vega-flex.cjs.entry.js +13 -13
- package/dist/cjs/vega-font.cjs.entry.js +12 -12
- package/dist/cjs/vega-form.cjs.entry.js +8 -8
- package/dist/cjs/vega-grid.cjs.entry.js +12 -12
- package/dist/cjs/vega-icon.cjs.entry.js +12 -12
- package/dist/cjs/vega-image-uploader.cjs.entry.js +14 -14
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +10 -10
- package/dist/cjs/vega-input-numeric.cjs.entry.js +10 -10
- package/dist/cjs/vega-input-passcode.cjs.entry.js +9 -9
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +14 -14
- package/dist/cjs/vega-input-range.cjs.entry.js +6 -6
- package/dist/cjs/vega-input-select.cjs.entry.js +21 -16
- package/dist/cjs/vega-input.cjs.entry.js +339 -98
- package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +12 -12
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +13 -13
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +3 -3
- package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +1 -1
- package/dist/cjs/vega-pagination.cjs.entry.js +13 -13
- package/dist/cjs/vega-popover_2.cjs.entry.js +15 -15
- package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +12 -12
- package/dist/cjs/vega-radio_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +13 -16
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +143 -194
- package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +312 -104
- package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +14 -14
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +7 -7
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +15 -15
- package/dist/cjs/vega-signature-capture.cjs.entry.js +14 -14
- package/dist/cjs/vega-stepper.cjs.entry.js +6 -6
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-table_11.cjs.entry.js +13 -13
- package/dist/cjs/vega-textarea.cjs.entry.js +6 -6
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +19 -18
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +5 -5
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +14 -14
- package/dist/cjs/vega.cjs.js +15 -15
- package/dist/collection/components/vega-app-header-button/vega-app-header-button.js +1 -1
- package/dist/collection/components/vega-button-group/vega-button-group-item/vega-button-group-item.js +1 -1
- package/dist/collection/components/vega-calendar/vega-calendar.js +1 -1
- package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +2 -1
- package/dist/collection/components/vega-date-picker/assets/icons.js +4 -1
- package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-open-state-controller.js +2 -1
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +2 -2
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-header-render.js +109 -0
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-renderer.js +4 -0
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-year-month-switcher-renderer.js +42 -70
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.js +12 -56
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.css +435 -108
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.js +5 -0
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-search-controller.js +5 -1
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-source-controller.js +7 -0
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +3 -2
- package/dist/collection/components/vega-dropdown/vega-dropdown.js +21 -6
- package/dist/collection/components/vega-field-label/vega-field-label.js +1 -1
- package/dist/collection/components/vega-input/slimmers/controllers/vega-input-render-mode-controller.js +51 -0
- package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-renderer.js +6 -0
- package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-suggestions-renderer.js +142 -0
- package/dist/collection/components/vega-input/slimmers/renderers/vega-input-renderer.js +12 -1
- package/dist/collection/components/vega-input/vega-input.js +200 -3
- package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +8 -3
- package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.js +9 -1
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +0 -10
- package/dist/collection/components/vega-rich-text-editor/extensions/table/action-handler-strategies/insert-table-row-strategy.js +74 -28
- package/dist/collection/components/vega-rich-text-editor/extensions/table/action-handler-strategies/merge-cells-strategy.js +120 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/action-handler-strategies/split-cell-horizontally-strategy.js +143 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/action-handler-strategies/split-cell-vertically-strategy.js +80 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/action-handler-strategies/update-table-cell-properties-strategy.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/action-handler-strategies/update-table-properties-strategy.js +2 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/table/actions/merge-cells-action.js +17 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/actions/split-cell-horizontally-action.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/actions/split-cell-vertically-action.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/annotation-handler/table-annotation-handler-base.js +9 -30
- package/dist/collection/components/vega-rich-text-editor/extensions/table/annotation-handler/table-cell-annotation-handler.js +26 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/annotations/table-annotation.js +26 -11
- package/dist/collection/components/vega-rich-text-editor/extensions/table/annotations/table-cell-annotation.js +52 -12
- package/dist/collection/components/vega-rich-text-editor/extensions/table/annotations/table-color-annotation.js +66 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/annotations/table-head-cell-annotation.js +11 -6
- package/dist/collection/components/vega-rich-text-editor/extensions/table/constants/styles.constants.js +8 -8
- package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-block.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-cell-block.js +32 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-head-cell-block.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/element-to-dto-strategies/td-to-table-cell-block-strategy.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-cell-renderer.js +3 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.js +2 -9
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.js +4 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/setting-event-handlers/cell-properties.js +19 -15
- package/dist/collection/components/vega-rich-text-editor/extensions/table/setting-event-handlers/merge-cells-operation.js +100 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/setting-event-handlers/setting-event-handler.abstract.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/setting-event-handlers/split-cell-operation.js +57 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/table-extension.js +14 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/table/table-selection.js +102 -13
- package/dist/collection/components/vega-rich-text-editor/extensions/table/utils/table-color-manager.js +51 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/utils/utils.js +253 -0
- 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
- 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
- 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
- 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
- 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
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.css +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.js +24 -14
- 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
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/merge-cells-button-slimmer.js +117 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.js +6 -4
- 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
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.js +15 -8
- package/dist/collection/components/vega-rich-text-editor/test/extensions/table/annotation-handler/table-annotation-handler.test.js +41 -46
- package/dist/collection/components/vega-rich-text-editor/test/extensions/table/annotation-handler/table-cell-annotation-handler.test.js +69 -48
- package/dist/collection/components/vega-rich-text-editor/test/extensions/table/annotation-handler/table-head-cell-annotation-handler.test.js +50 -54
- package/dist/collection/components/vega-rich-text-editor/test/extensions/table/table-annotation.test.js +106 -14
- package/dist/collection/components/vega-rich-text-editor/test/extensions/table/table-cell-annotation.test.js +204 -9
- package/dist/collection/components/vega-rich-text-editor/test/extensions/table/table-color-annotation.test.js +32 -0
- package/dist/collection/components/vega-rich-text-editor/test/extensions/table/table-dto.test.js +583 -6
- package/dist/collection/components/vega-rich-text-editor/test/extensions/table/table-element-to-dto-strategies.test.js +114 -25
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +0 -5
- package/dist/collection/components/vega-selection-chip/vega-selection-chip.js +1 -1
- package/dist/collection/components/vega-time-picker/slimmers/controllers/vega-time-picker-range-dropdown-controller.js +2 -1
- package/dist/collection/components/vega-time-picker/slimmers/controllers/vega-time-picker-single-dropdown-controller.js +2 -1
- package/dist/collection/constants/ui.js +2 -0
- package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +13 -2
- package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +2 -0
- package/dist/collection/helpers/event-manager/test/component-event-id-map.test.js +3 -1
- package/dist/collection/helpers/event-manager/test/vega-event-manager.test.js +3 -1
- package/dist/collection/helpers/slimmers/element-appender/element-appender-slimmer.js +60 -32
- package/dist/collection/helpers/slimmers/element-appender/test/element-appender-slimmer.test.js +3 -2
- package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/click-outside-only-to-dismiss-strategy.js +28 -0
- package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/click-trigger-strategy.js +33 -0
- package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/hover-trigger-strategy.js +42 -0
- package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/none-trigger-strategy.js +22 -0
- package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/trigger-strategy.interface.js +1 -0
- package/dist/collection/types/test/type-guard.test.js +8 -1
- package/dist/collection/types/type-guard.js +11 -0
- package/dist/collection/utils/sanitize.js +126 -0
- package/dist/collection/utils/test/sanitize.test.js +65 -0
- package/dist/esm/{app-globals-8b873b6f.js → app-globals-4146c01c.js} +9 -8
- package/dist/esm/{child-nodes-event-prevent-slimmer-a6afdb1e.js → child-nodes-event-prevent-slimmer-225e7b58.js} +1 -1
- package/dist/esm/click-outside-only-to-dismiss-strategy-3d286c1b.js +30 -0
- package/dist/esm/{code-block-76b29be1.js → code-block-36393b45.js} +3 -3
- package/dist/esm/{component-value-history-controller-slimmer.abstract-e1b0e163.js → component-value-history-controller-slimmer.abstract-82339b2b.js} +4 -4
- package/dist/esm/{content-state-03f1d302.js → content-state-e8ef033a.js} +3 -3
- package/dist/esm/{date-required-rule-a9980386.js → date-required-rule-47ecc28f.js} +1 -1
- package/dist/esm/{design-token-8fedb532.js → design-token-c57a58b4.js} +2 -2
- package/dist/esm/{dom-node-subject-observer-factory-e998eba4.js → dom-node-subject-observer-factory-d4e16f66.js} +3 -1
- package/dist/esm/{element-appender-slimmer-7b9326e2.js → element-appender-slimmer-a7341fc1.js} +160 -36
- package/dist/esm/{event-emit-slimmer-bbf6668c.js → event-emit-slimmer-1bb4b533.js} +2 -2
- package/dist/esm/{form-field-controller-slimmer-a0cff4d3.js → form-field-controller-slimmer-907bf7c2.js} +2 -2
- package/dist/esm/{image-annotation-action-47cdc068.js → image-annotation-action-82cef6e4.js} +4 -31
- package/dist/esm/{index-da7e5fe5.js → index-2466b0c0.js} +1 -1
- package/dist/esm/index.js +21 -21
- package/dist/esm/{inject-keyboard-manager-9241968c.js → inject-keyboard-manager-83d76ff5.js} +1 -1
- package/dist/esm/{internal-vega-event-manager-e799c54a.js → internal-vega-event-manager-2cbb828a.js} +13 -2
- package/dist/esm/{keyboard-manager-89acac79.js → keyboard-manager-c92808d8.js} +1 -1
- package/dist/esm/{keyboard-manager-slimmer-e303cb7d.js → keyboard-manager-slimmer-79c78ce8.js} +1 -1
- package/dist/esm/{language-extension-de6e6caf.js → language-extension-dcc43702.js} +2 -2
- package/dist/esm/loader.js +15 -15
- package/dist/esm/{month-view-generator-4bec99fd.js → month-view-generator-16192182.js} +1 -1
- package/dist/esm/{public-rules-c48cc5c9.js → public-rules-b8ea651f.js} +7 -7
- package/dist/esm/{range-af6150a8.js → range-872aad9f.js} +1 -1
- package/dist/esm/{responsive-format-facade-16da4623.js → responsive-format-facade-9278eae4.js} +5 -4
- package/dist/esm/{rich-text-editor-required-rule-7255832e.js → rich-text-editor-required-rule-36dd4242.js} +1 -1
- package/dist/esm/sanitize-fd0cb40d.js +129 -0
- package/dist/esm/{styles.constants-0dd6f7fa.js → split-cell-operation-6749f654.js} +1218 -405
- package/dist/esm/{string-format-strategy.abstract-75540c16.js → string-format-strategy.abstract-fc60db79.js} +1 -1
- package/dist/esm/{string-input-formatter-slimmer-82f85b0b.js → string-input-formatter-slimmer-7a1e8754.js} +3 -3
- package/dist/esm/{string-mask-strategy-4a18ed1a.js → string-mask-strategy-0b0accaa.js} +2 -2
- package/dist/esm/{style-formatter-6ca58f6b.js → style-formatter-e937952a.js} +2 -2
- package/dist/esm/{sub-state-notify-slimmer-4060c333.js → sub-state-notify-slimmer-2ecdba12.js} +1 -1
- package/dist/esm/{sub-state-observer-slimmer-bfa5e63e.js → sub-state-observer-slimmer-2d5dba8d.js} +1 -1
- package/dist/esm/{table-extension-c83b7a56.js → table-extension-6b31754b.js} +587 -283
- package/dist/esm/{time-required-rule-8ec1faf5.js → time-required-rule-5fa43804.js} +1 -1
- package/dist/esm/{type-guard-b48aec98.js → type-guard-c65a227d.js} +12 -1
- package/dist/esm/{valid-credit-card-number-rule-96eaf9b1.js → valid-credit-card-number-rule-666c415d.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +12 -12
- package/dist/esm/vega-app-header-button.entry.js +13 -13
- package/dist/esm/vega-banner.entry.js +3 -3
- package/dist/esm/vega-box.entry.js +12 -12
- package/dist/esm/vega-breadcrumb.entry.js +4 -4
- package/dist/esm/vega-button-circle.entry.js +12 -12
- package/dist/esm/vega-button-group_2.entry.js +6 -6
- package/dist/esm/vega-button-link.entry.js +4 -4
- package/dist/esm/vega-button.entry.js +11 -11
- package/dist/esm/vega-calendar_4.entry.js +8 -8
- package/dist/esm/vega-card.entry.js +12 -12
- package/dist/esm/vega-carousel.entry.js +11 -11
- package/dist/esm/vega-checkbox_2.entry.js +6 -6
- package/dist/esm/vega-chip.entry.js +13 -13
- package/dist/esm/vega-code-block.entry.js +10 -10
- package/dist/esm/vega-color-picker.entry.js +5 -5
- package/dist/esm/vega-combo-box.entry.js +11 -10
- package/dist/esm/vega-date-picker_2.entry.js +392 -345
- package/dist/esm/vega-dialog_2.entry.js +14 -14
- package/dist/esm/vega-divider.entry.js +13 -13
- package/dist/esm/vega-dropdown_5.entry.js +40 -22
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-field-label.entry.js +3 -3
- package/dist/esm/vega-file-uploader.entry.js +5 -5
- package/dist/esm/vega-flag-icon.entry.js +11 -11
- package/dist/esm/vega-flex.entry.js +13 -13
- package/dist/esm/vega-font.entry.js +12 -12
- package/dist/esm/vega-form.entry.js +8 -8
- package/dist/esm/vega-grid.entry.js +12 -12
- package/dist/esm/vega-icon.entry.js +12 -12
- package/dist/esm/vega-image-uploader.entry.js +14 -14
- package/dist/esm/vega-input-credit-card.entry.js +10 -10
- package/dist/esm/vega-input-numeric.entry.js +10 -10
- package/dist/esm/vega-input-passcode.entry.js +9 -9
- package/dist/esm/vega-input-phone-number.entry.js +14 -14
- package/dist/esm/vega-input-range.entry.js +6 -6
- package/dist/esm/vega-input-select.entry.js +21 -16
- package/dist/esm/vega-input.entry.js +340 -99
- package/dist/esm/vega-item-toggle.entry.js +3 -3
- package/dist/esm/vega-left-nav_5.entry.js +12 -12
- package/dist/esm/vega-loader-wrapper_2.entry.js +13 -13
- package/dist/esm/vega-page-notification_2.entry.js +1 -1
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +3 -3
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +1 -1
- package/dist/esm/vega-pagination.entry.js +13 -13
- package/dist/esm/vega-popover_2.entry.js +15 -15
- package/dist/esm/vega-progress-tracker_2.entry.js +12 -12
- package/dist/esm/vega-radio_2.entry.js +9 -9
- package/dist/esm/vega-rich-text-content.entry.js +14 -17
- package/dist/esm/vega-rich-text-editor_4.entry.js +144 -195
- package/dist/esm/vega-rich-text-table-properties_3.entry.js +293 -85
- package/dist/esm/vega-segment-control.entry.js +3 -3
- package/dist/esm/vega-selection-chip_2.entry.js +14 -14
- package/dist/esm/vega-selection-tile_2.entry.js +7 -7
- package/dist/esm/vega-sidenav_3.entry.js +15 -15
- package/dist/esm/vega-signature-capture.entry.js +14 -14
- package/dist/esm/vega-stepper.entry.js +6 -6
- package/dist/esm/vega-tab-group_2.entry.js +4 -4
- package/dist/esm/vega-table_11.entry.js +13 -13
- package/dist/esm/vega-textarea.entry.js +6 -6
- package/dist/esm/vega-time-picker_2.entry.js +19 -18
- package/dist/esm/vega-toggle-switch.entry.js +5 -5
- package/dist/esm/vega-tooltip_2.entry.js +14 -14
- package/dist/esm/vega.js +15 -15
- package/dist/sri/vega-sri-manifest.json +339 -715
- package/dist/types/components/vega-date-picker/assets/icons.d.ts +1 -1
- package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-header-render.d.ts +20 -0
- package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +1 -0
- 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
- package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.d.ts +4 -9
- package/dist/types/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.d.ts +2 -0
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-source-controller.d.ts +2 -0
- package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +9 -4
- package/dist/types/components/vega-input/slimmers/controllers/vega-input-render-mode-controller.d.ts +27 -0
- package/dist/types/components/vega-input/slimmers/renderers/vega-input-input-renderer.d.ts +1 -0
- package/dist/types/components/vega-input/slimmers/renderers/vega-input-input-suggestions-renderer.d.ts +40 -0
- package/dist/types/components/vega-input/slimmers/renderers/vega-input-renderer.d.ts +3 -0
- package/dist/types/components/vega-input/types.d.ts +4 -0
- package/dist/types/components/vega-input/vega-input.d.ts +55 -1
- package/dist/types/components/vega-rich-text-content/vega-rich-text-content.d.ts +3 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.d.ts +0 -2
- package/dist/types/components/vega-rich-text-editor/extensions/table/action-handler-strategies/insert-table-row-strategy.d.ts +17 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/action-handler-strategies/merge-cells-strategy.d.ts +38 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/action-handler-strategies/split-cell-horizontally-strategy.d.ts +43 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/action-handler-strategies/split-cell-vertically-strategy.d.ts +27 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/actions/merge-cells-action.d.ts +33 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/actions/split-cell-horizontally-action.d.ts +10 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/actions/split-cell-vertically-action.d.ts +10 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/annotation-handler/table-annotation-handler-base.d.ts +0 -7
- package/dist/types/components/vega-rich-text-editor/extensions/table/annotation-handler/table-cell-annotation-handler.d.ts +14 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/annotations/table-annotation.d.ts +15 -6
- package/dist/types/components/vega-rich-text-editor/extensions/table/annotations/table-cell-annotation.d.ts +11 -2
- package/dist/types/components/vega-rich-text-editor/extensions/table/annotations/table-color-annotation.d.ts +43 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/annotations/table-head-cell-annotation.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/extensions/table/constants/styles.constants.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-cell-block.d.ts +19 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.d.ts +1 -8
- package/dist/types/components/vega-rich-text-editor/extensions/table/setting-event-handlers/merge-cells-operation.d.ts +44 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/setting-event-handlers/setting-event-handler.abstract.d.ts +2 -1
- package/dist/types/components/vega-rich-text-editor/extensions/table/setting-event-handlers/split-cell-operation.d.ts +31 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/table-extension.d.ts +3 -3
- package/dist/types/components/vega-rich-text-editor/extensions/table/table-selection.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/utils/table-color-manager.d.ts +26 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/utils/utils.d.ts +102 -2
- 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
- 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
- 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
- package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.d.ts +14 -11
- 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
- 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
- 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
- package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.d.ts +9 -6
- package/dist/types/components/vega-rich-text-editor/interface.d.ts +0 -5
- package/dist/types/components/vega-rich-text-editor/test/extensions/table/annotation-handler/table-cell-annotation-handler.test.d.ts +8 -1
- package/dist/types/components/vega-rich-text-editor/test/extensions/table/table-color-annotation.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +0 -2
- package/dist/types/components.d.ts +72 -30
- package/dist/types/constants/ui.d.ts +1 -1
- package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +2 -0
- package/dist/types/helpers/slimmers/element-appender/element-appender-slimmer.d.ts +4 -9
- package/dist/types/helpers/slimmers/element-appender/trigger-strategies/click-outside-only-to-dismiss-strategy.d.ts +21 -0
- package/dist/types/helpers/slimmers/element-appender/trigger-strategies/click-trigger-strategy.d.ts +21 -0
- package/dist/types/helpers/slimmers/element-appender/trigger-strategies/hover-trigger-strategy.d.ts +22 -0
- package/dist/types/helpers/slimmers/element-appender/trigger-strategies/none-trigger-strategy.d.ts +18 -0
- package/dist/types/helpers/slimmers/element-appender/trigger-strategies/trigger-strategy.interface.d.ts +37 -0
- package/dist/types/types/components.type.d.ts +3 -1
- package/dist/types/types/type-guard.d.ts +8 -0
- package/dist/types/types/ui.type.d.ts +9 -0
- package/dist/types/utils/sanitize.d.ts +71 -0
- package/dist/types/utils/spec-utils.d.ts +2 -0
- package/dist/types/utils/test/sanitize.test.d.ts +1 -0
- package/dist/vega/index.esm.js +1 -57
- package/dist/vega/{p-780cbfb0.entry.js → p-01dc2e48.entry.js} +1 -1
- package/dist/vega/p-0459a474.entry.js +1 -0
- package/dist/vega/p-0770a0eb.entry.js +1 -0
- package/dist/vega/{p-a924c1e2.entry.js → p-0bf4a3a7.entry.js} +1 -1
- package/dist/vega/{p-ff9a0e6e.js → p-0d57293b.js} +1 -1
- package/dist/vega/{p-22da15d7.entry.js → p-1199ebf6.entry.js} +1 -1
- package/dist/vega/p-11a6c1b7.js +1 -0
- package/dist/vega/{p-79e8236a.entry.js → p-1415d93b.entry.js} +1 -1
- package/dist/vega/p-1431c8b9.js +1 -0
- package/dist/vega/p-18560714.entry.js +1 -0
- package/dist/vega/{p-a007b493.entry.js → p-1a161082.entry.js} +1 -1
- package/dist/vega/{p-161b9c5b.js → p-1f83cebf.js} +1 -1
- package/dist/vega/{p-16af7681.js → p-20010bd6.js} +1 -1
- package/dist/vega/p-205d8401.js +1 -0
- package/dist/vega/{p-29a9c8f5.entry.js → p-20a98a99.entry.js} +1 -1
- package/dist/vega/{p-86caa739.entry.js → p-228784f7.entry.js} +1 -1
- package/dist/vega/{p-b91c2c9d.js → p-22989693.js} +1 -1
- package/dist/vega/{p-1bda4016.entry.js → p-273911b2.entry.js} +1 -1
- package/dist/vega/{p-e797bf8d.entry.js → p-28e630b2.entry.js} +1 -1
- package/dist/vega/{p-d466baf7.js → p-29f6b2d5.js} +1 -1
- package/dist/vega/{p-6d9731c1.entry.js → p-2af2e1ad.entry.js} +1 -1
- package/dist/vega/{p-d55365b9.entry.js → p-2af78c38.entry.js} +1 -1
- package/dist/vega/{p-c3d388b5.entry.js → p-2c830cba.entry.js} +1 -1
- package/dist/vega/{p-61ae4e9c.entry.js → p-3224d794.entry.js} +1 -1
- package/dist/vega/{p-216f3436.entry.js → p-326b5392.entry.js} +1 -1
- package/dist/vega/{p-69af3422.entry.js → p-3413a678.entry.js} +1 -1
- package/dist/vega/p-3532aa12.js +1 -0
- package/dist/vega/p-395cdd84.entry.js +1 -0
- package/dist/vega/{p-9aac9879.entry.js → p-3a6ff599.entry.js} +1 -1
- package/dist/vega/p-3be82c0f.entry.js +1 -0
- package/dist/vega/p-3c0f55f7.entry.js +1 -0
- package/dist/vega/{p-10ffb765.js → p-3e30567a.js} +1 -1
- package/dist/vega/p-3e5f362f.js +1 -0
- package/dist/vega/p-42cd1fde.js +1 -0
- package/dist/vega/p-476a173a.js +1 -0
- package/dist/vega/p-4b6c60cb.entry.js +1 -0
- package/dist/vega/{p-12a97dad.entry.js → p-4c36b528.entry.js} +1 -1
- package/dist/vega/{p-fa34ace2.entry.js → p-4ecf0ee7.entry.js} +1 -1
- package/dist/vega/{p-813b2915.entry.js → p-4f4c7593.entry.js} +1 -1
- package/dist/vega/p-585edae4.entry.js +1 -0
- package/dist/vega/{p-39d56e3d.js → p-5b048141.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-63246470.js → p-5fdb9047.js} +1 -1
- package/dist/vega/{p-d4e35d2e.entry.js → p-60483e3d.entry.js} +1 -1
- package/dist/vega/{p-de70aac1.js → p-60851f9d.js} +1 -1
- package/dist/vega/{p-73688c4e.entry.js → p-61145506.entry.js} +1 -1
- package/dist/vega/{p-8162980c.js → p-61ddae59.js} +1 -1
- package/dist/vega/{p-98b78c75.entry.js → p-64386be8.entry.js} +1 -1
- package/dist/vega/{p-73689ec0.entry.js → p-6490b69a.entry.js} +1 -1
- package/dist/vega/{p-50a506ea.entry.js → p-6bc1552e.entry.js} +1 -1
- package/dist/vega/{p-206245d2.entry.js → p-6e4e7192.entry.js} +1 -1
- package/dist/vega/{p-8ac453cb.entry.js → p-76d144f5.entry.js} +1 -1
- package/dist/vega/{p-dc2813eb.entry.js → p-76eb9cd0.entry.js} +1 -1
- package/dist/vega/{p-e788598a.entry.js → p-77c9949d.entry.js} +1 -1
- package/dist/vega/p-8187878e.js +1 -0
- package/dist/vega/p-8198a77c.js +1 -0
- package/dist/vega/{p-0e4cecbd.entry.js → p-82ad1006.entry.js} +1 -1
- package/dist/vega/{p-8a4d8139.entry.js → p-839c9d62.entry.js} +1 -1
- package/dist/vega/{p-d07d04e0.entry.js → p-849f78a7.entry.js} +1 -1
- package/dist/vega/{p-ac4bd1f8.js → p-85bfa0f7.js} +1 -1
- package/dist/vega/{p-dd5d917b.entry.js → p-87764570.entry.js} +1 -1
- package/dist/vega/{p-abf871cd.entry.js → p-88c894e8.entry.js} +1 -1
- package/dist/vega/{p-c00adad9.js → p-89083d63.js} +1 -1
- package/dist/vega/{p-a8dad05d.js → p-920719ad.js} +1 -1
- package/dist/vega/p-9472d19a.js +1 -0
- package/dist/vega/{p-c6d98c60.entry.js → p-96657262.entry.js} +1 -1
- package/dist/vega/p-979e4bd4.entry.js +1 -0
- package/dist/vega/{p-f6eab527.entry.js → p-9c624e03.entry.js} +1 -1
- package/dist/vega/{p-088f4613.entry.js → p-a01f985f.entry.js} +1 -1
- package/dist/vega/{p-a4ec6575.js → p-a2aeb646.js} +1 -1
- package/dist/vega/{p-22c76be7.entry.js → p-a495463f.entry.js} +1 -1
- package/dist/vega/p-b4ea3fad.js +1 -0
- package/dist/vega/{p-151b1deb.js → p-b56b0b89.js} +1 -1
- package/dist/vega/{p-3bc7e162.entry.js → p-b5b75a2f.entry.js} +1 -1
- package/dist/vega/{p-d991fb11.js → p-badad9ed.js} +1 -1
- package/dist/vega/{p-24766b9d.entry.js → p-bccaf3d2.entry.js} +1 -1
- package/dist/vega/{p-e13c163c.entry.js → p-bde5c990.entry.js} +1 -1
- package/dist/vega/{p-ab0e013c.entry.js → p-beb6c1ce.entry.js} +1 -1
- package/dist/vega/{p-068ee55e.entry.js → p-c02b01ec.entry.js} +1 -1
- package/dist/vega/p-c1fdcb62.js +1 -0
- package/dist/vega/{p-5d2704c1.entry.js → p-c5e7035b.entry.js} +1 -1
- package/dist/vega/{p-5367eaab.js → p-c841be8d.js} +1 -1
- package/dist/vega/{p-6f08e3e1.entry.js → p-cd078909.entry.js} +1 -1
- package/dist/vega/{p-d1d0f08a.js → p-d0e31633.js} +1 -1
- package/dist/vega/{p-a439e59b.entry.js → p-d5c09a94.entry.js} +1 -1
- package/dist/vega/{p-c8ad47c9.js → p-d907f8a2.js} +1 -1
- package/dist/vega/{p-6c1ef2ed.js → p-dd11f735.js} +1 -1
- package/dist/vega/{p-c9541fc2.entry.js → p-de850e98.entry.js} +1 -1
- package/dist/vega/{p-3d85411d.js → p-e16b3adf.js} +1 -1
- package/dist/vega/{p-34a994a1.entry.js → p-e1dd23f8.entry.js} +1 -1
- package/dist/vega/{p-7ca9f6f1.js → p-e1de1cdc.js} +1 -1
- package/dist/vega/{p-1f4a814e.entry.js → p-e7cfb6b6.entry.js} +1 -1
- package/dist/vega/{p-ddf81373.js → p-e819940c.js} +1 -1
- package/dist/vega/{p-e0cefd90.entry.js → p-e95ed6f3.entry.js} +1 -1
- package/dist/vega/p-ebb14c84.js +1 -0
- package/dist/vega/{p-f519cdc3.entry.js → p-f0a8aed3.entry.js} +1 -1
- package/dist/vega/p-f2b8abd3.entry.js +1 -0
- package/dist/vega/{p-d4719c14.entry.js → p-fb238751.entry.js} +1 -1
- package/dist/vega/p-fdebc47f.entry.js +1 -0
- package/dist/vega/vega.esm.js +1 -172
- package/package.json +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/text-node-color-controller.js +0 -51
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/text-node-rendering-registry.js +0 -26
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/text-node-color-controller.d.ts +0 -22
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/text-node-rendering-registry.d.ts +0 -22
- package/dist/vega/app-globals-955a2b3b.js +0 -427
- package/dist/vega/child-nodes-event-prevent-slimmer-a604a6dd.js +0 -156
- package/dist/vega/design-token-56b26205.js +0 -402
- package/dist/vega/element-appender-slimmer-8355fb28.js +0 -1508
- package/dist/vega/event-emit-slimmer-7a14f5e9.js +0 -265
- package/dist/vega/internal-vega-event-manager-8c62c88e.js +0 -458
- package/dist/vega/p-08b4d097.entry.js +0 -1
- package/dist/vega/p-207cfa6a.js +0 -1
- package/dist/vega/p-213be5e9.entry.js +0 -1
- package/dist/vega/p-224a4f3f.entry.js +0 -1
- package/dist/vega/p-40660c09.js +0 -1
- package/dist/vega/p-550ce71a.entry.js +0 -1
- package/dist/vega/p-6665d083.entry.js +0 -1
- package/dist/vega/p-7172332a.entry.js +0 -1
- package/dist/vega/p-82ec9721.entry.js +0 -1
- package/dist/vega/p-99e3dcab.js +0 -1
- package/dist/vega/p-9a83a6b0.js +0 -1
- package/dist/vega/p-a4d0ab07.js +0 -1
- package/dist/vega/p-a6e03df4.entry.js +0 -1
- package/dist/vega/p-c335088c.js +0 -1
- package/dist/vega/p-c674b07c.js +0 -1
- package/dist/vega/p-d1349401.entry.js +0 -1
- package/dist/vega/p-d2033624.js +0 -1
- package/dist/vega/p-db482ee1.js +0 -1
- package/dist/vega/p-f4b46f6b.entry.js +0 -1
- package/dist/vega/p-fbfb4c70.entry.js +0 -1
- package/dist/vega/p-ff57c872.js +0 -1
- package/dist/vega/p-ff921d10.js +0 -1
- package/dist/vega/public-api-8dd022fa.js +0 -6043
- package/dist/vega/public-api-baaf7593.js +0 -4
- package/dist/vega/responsive-format-facade-98596535.js +0 -913
- package/dist/vega/style-formatter-0ae102e9.js +0 -32
- package/dist/vega/vega-accordion.entry.js +0 -291
- package/dist/vega/vega-app-header-button.entry.js +0 -452
- package/dist/vega/vega-banner.entry.js +0 -351
- package/dist/vega/vega-box.entry.js +0 -353
- package/dist/vega/vega-breadcrumb.entry.js +0 -249
- package/dist/vega/vega-button-circle.entry.js +0 -245
- package/dist/vega/vega-button-group.entry.js +0 -203
- package/dist/vega/vega-button-link.entry.js +0 -226
- package/dist/vega/vega-button.entry.js +0 -259
- package/dist/vega/vega-calendar.entry.js +0 -3884
- package/dist/vega/vega-card.entry.js +0 -226
- package/dist/vega/vega-carousel.entry.js +0 -540
- package/dist/vega/vega-checkbox-group.entry.js +0 -266
- package/dist/vega/vega-checkbox.entry.js +0 -335
- package/dist/vega/vega-chip.entry.js +0 -321
- package/dist/vega/vega-code-block.entry.js +0 -4372
- package/dist/vega/vega-color-picker.entry.js +0 -258
- package/dist/vega/vega-combo-box.entry.js +0 -748
- package/dist/vega/vega-date-picker-calendar.entry.js +0 -1381
- package/dist/vega/vega-date-picker.entry.js +0 -1646
- package/dist/vega/vega-dialog.entry.js +0 -158
- package/dist/vega/vega-divider.entry.js +0 -179
- package/dist/vega/vega-dropdown-content-box.entry.js +0 -57
- package/dist/vega/vega-dropdown-item.entry.js +0 -352
- package/dist/vega/vega-dropdown.entry.js +0 -2136
- package/dist/vega/vega-field-label.entry.js +0 -182
- package/dist/vega/vega-file-uploader.entry.js +0 -751
- package/dist/vega/vega-flag-icon.entry.js +0 -216
- package/dist/vega/vega-flex.entry.js +0 -224
- package/dist/vega/vega-font.entry.js +0 -327
- package/dist/vega/vega-form.entry.js +0 -1008
- package/dist/vega/vega-grid.entry.js +0 -129
- package/dist/vega/vega-icon.entry.js +0 -256
- package/dist/vega/vega-image-uploader.entry.js +0 -977
- package/dist/vega/vega-input-credit-card.entry.js +0 -549
- package/dist/vega/vega-input-numeric.entry.js +0 -471
- package/dist/vega/vega-input-passcode.entry.js +0 -728
- package/dist/vega/vega-input-phone-number.entry.js +0 -9143
- package/dist/vega/vega-input-range.entry.js +0 -693
- package/dist/vega/vega-input-select.entry.js +0 -1268
- package/dist/vega/vega-input.entry.js +0 -1735
- package/dist/vega/vega-item-toggle.entry.js +0 -190
- package/dist/vega/vega-left-nav-group.entry.js +0 -433
- package/dist/vega/vega-left-nav-link.entry.js +0 -317
- package/dist/vega/vega-left-nav-section.entry.js +0 -97
- package/dist/vega/vega-left-nav.entry.js +0 -654
- package/dist/vega/vega-loading-indicator.entry.js +0 -209
- package/dist/vega/vega-modal.entry.js +0 -1287
- package/dist/vega/vega-nav-card.entry.js +0 -163
- package/dist/vega/vega-pagination-page-selector-mobile.entry.js +0 -214
- package/dist/vega/vega-pagination.entry.js +0 -629
- package/dist/vega/vega-popover-content-box.entry.js +0 -101
- package/dist/vega/vega-popover.entry.js +0 -362
- package/dist/vega/vega-progress-tracker.entry.js +0 -757
- package/dist/vega/vega-radio-group.entry.js +0 -496
- package/dist/vega/vega-radio.entry.js +0 -272
- package/dist/vega/vega-rich-text-editor-toolbar-button.entry.js +0 -169
- package/dist/vega/vega-rich-text-editor.entry.js +0 -4107
- package/dist/vega/vega-rich-text-image-editor.entry.js +0 -216
- package/dist/vega/vega-rich-text-link-editor.entry.js +0 -238
- package/dist/vega/vega-rich-text-table-properties.entry.js +0 -641
- package/dist/vega/vega-rich-text-table-setting.entry.js +0 -525
- package/dist/vega/vega-segment-control.entry.js +0 -350
- package/dist/vega/vega-selection-chip-group.entry.js +0 -447
- package/dist/vega/vega-selection-chip.entry.js +0 -443
- package/dist/vega/vega-selection-tile-group.entry.js +0 -438
- package/dist/vega/vega-selection-tile.entry.js +0 -409
- package/dist/vega/vega-sidenav-link.entry.js +0 -160
- package/dist/vega/vega-sidenav.entry.js +0 -766
- package/dist/vega/vega-signature-capture.entry.js +0 -589
- package/dist/vega/vega-stepper.entry.js +0 -292
- package/dist/vega/vega-tab-group-panel.entry.js +0 -79
- package/dist/vega/vega-tab-group.entry.js +0 -1281
- package/dist/vega/vega-table-body.entry.js +0 -48
- package/dist/vega/vega-table-cell.entry.js +0 -243
- package/dist/vega/vega-table-foot-cell.entry.js +0 -169
- package/dist/vega/vega-table-foot-row.entry.js +0 -219
- package/dist/vega/vega-table-foot.entry.js +0 -136
- package/dist/vega/vega-table-head-cell.entry.js +0 -339
- package/dist/vega/vega-table-head-row.entry.js +0 -416
- package/dist/vega/vega-table-head.entry.js +0 -113
- package/dist/vega/vega-table-row.entry.js +0 -666
- package/dist/vega/vega-table.entry.js +0 -3707
- package/dist/vega/vega-textarea.entry.js +0 -329
- package/dist/vega/vega-time-picker.entry.js +0 -2039
- package/dist/vega/vega-toggle-switch.entry.js +0 -194
- 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);
|
package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js
CHANGED
|
@@ -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
|
-
|
|
22
|
+
const refBlock = insertDirection === InsertTableRowDirection.ABOVE
|
|
21
23
|
? selectedRows[0]
|
|
22
24
|
: selectedRows[selectedRows.length - 1];
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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,
|
|
36
|
+
refBlock.parent.apply(new InsertChildrenBeforeAction(refBlock, rowBlock));
|
|
34
37
|
}
|
|
35
38
|
else {
|
|
36
|
-
refBlock.parent.apply(new InsertChildrenAfterAction(refBlock,
|
|
39
|
+
refBlock.parent.apply(new InsertChildrenAfterAction(refBlock, rowBlock));
|
|
37
40
|
}
|
|
38
41
|
}
|
|
39
42
|
else {
|
|
40
|
-
|
|
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
|
-
|
|
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:
|
|
52
|
-
|
|
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([
|
|
60
|
+
tableBody.apply(new AppendChildrenAction([RTETableRowBlock.from(rowBlockJSON)]));
|
|
62
61
|
target.apply(new AppendChildrenAction([tableBody]));
|
|
63
62
|
}
|
|
64
63
|
else {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
-
|
|
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 {
|
|
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 {
|
|
16
|
-
tableRef.style.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
|
+
}
|