@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
|
@@ -3,20 +3,19 @@ import { a as arrayToClassString, g as getDeviceType, D as DeviceType, f as find
|
|
|
3
3
|
import { L as LogUtility, I as InjectVegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
|
|
4
4
|
import { c as createDynamicSlimmer } from './dynamic-slimmer-90b8af32.js';
|
|
5
5
|
import { P as PageResizeObserverSlimmer } from './page-resize-observer-slimmer-8744cb44.js';
|
|
6
|
-
import {
|
|
7
|
-
import { i as internalVegaEventManager } from './internal-vega-event-manager-e799c54a.js';
|
|
6
|
+
import { i as internalVegaEventManager } from './internal-vega-event-manager-2cbb828a.js';
|
|
8
7
|
import { c as convertToNumber } from './number-4398f2e1.js';
|
|
9
|
-
import { R as RTEDTOActionStrategyManager, E as ElementToDTOClassStrategyManager, h as htmlElementToAnnotationGenerator, U as UpdateCursorPositionAction, a as ElementToDTOStrategy, b as RTEListItemBlock, V as VegaRTEContent, B as BlockToRTEBlockStrategyAbstract, I as InsertNewParagraphAction, c as RTEImageBlock, d as InsertChildrenBeforeStrategy, P as PasteContentStrategy, A as AnnotationGeneratorStrategyAbstract } from './content-state-
|
|
10
|
-
import { s as stateEntityRenderingRegistry, A as ActionHandleStrategyRegistry, a as ActionHandlerInterceptorRegistry, R as RTEDTOClassManager, M as ModifyContentAction, b as RTETextNode, c as ModifyContentActionType, d as ActionHandleStrategy, C as CustomAttributeAnnotation, e as RTETextBlock, f as RTEBlock, g as RTEAnnotationStyle, I as InsertChildrenAfterAction, h as AppendChildrenAction, i as RTENode, j as InsertChildrenBeforeAction, k as InternalAnnotationTypeEnum, B as BlockAnnotation, l as AnnotationAction, m as RemoveChildrenAction } from './code-block-
|
|
11
|
-
import { i as isNonNullable } from './type-guard-
|
|
8
|
+
import { R as RTEDTOActionStrategyManager, E as ElementToDTOClassStrategyManager, h as htmlElementToAnnotationGenerator, U as UpdateCursorPositionAction, a as ElementToDTOStrategy, b as RTEListItemBlock, V as VegaRTEContent, B as BlockToRTEBlockStrategyAbstract, I as InsertNewParagraphAction, c as RTEImageBlock, d as InsertChildrenBeforeStrategy, P as PasteContentStrategy, A as AnnotationGeneratorStrategyAbstract } from './content-state-e8ef033a.js';
|
|
9
|
+
import { s as stateEntityRenderingRegistry, A as ActionHandleStrategyRegistry, a as ActionHandlerInterceptorRegistry, R as RTEDTOClassManager, M as ModifyContentAction, b as RTETextNode, c as ModifyContentActionType, d as ActionHandleStrategy, C as CustomAttributeAnnotation, e as RTETextBlock, f as RTEBlock, g as RTEAnnotationStyle, I as InsertChildrenAfterAction, h as AppendChildrenAction, i as RTENode, j as InsertChildrenBeforeAction, k as InternalAnnotationTypeEnum, B as BlockAnnotation, l as AnnotationAction, m as RemoveChildrenAction, n as CommonAnnotationTypeEnum } from './code-block-36393b45.js';
|
|
10
|
+
import { i as isNonNullable } from './type-guard-c65a227d.js';
|
|
12
11
|
import './translation-96e5debd.js';
|
|
13
12
|
import { a as VegaInternalIconManager } from './internal-icon-manager-f0486245.js';
|
|
14
|
-
import { R as RTETableExtensionAnnotationTypeEnum, S as SettingEventHandler, T as TableSettingType, a as RowOperationEventHandler, C as ColumnOperationEventHandler, b as
|
|
13
|
+
import { R as RTETableExtensionAnnotationTypeEnum, S as SettingEventHandler, T as TableSettingType, a as RowOperationEventHandler, C as ColumnOperationEventHandler, M as MergeCellsOperationEventHandler, b as SplitCellOperationEventHandler, c as RTETableAnnotation, d as RTETableCellAnnotation, e as RTETableHeadCellAnnotation, f as RTETableHeadCellBlock, g as RTETableColorManager, h as RTETableBlock, i as generateTableBody, j as RTETableCellBlock, k as RTETableRowBlock, I as InsertTableRowDirection, l as RTETableBodyBlock, m as RTETableHeadBlock, n as getParentBlockByType, o as TableColumnStrategy, p as getAllTableRows, q as InsertTableColumnDirection, r as getDefaultCellBlockTemplate, s as getFirstNode, t as setSpanAttributes, u as MergeCellsOperationType, v as buildTableGrid, w as getCellSpan, x as getActualColumnPosition, y as createNewCell, z as RTE_TABLE_DEFAULT_COLORS, A as INSERT_TABLE_ROW, D as DELETE_TABLE_ROW, B as TOGGLE_HEADER_ROW, E as INSERT_TABLE_COLUMN, F as DELETE_TABLE_COLUMN, G as TOGGLE_HEADER_TABLE_COLUMN, H as ToggleHeaderTableColumnStrategy, J as SPLIT_CELL_HORIZONTALLY, K as SPLIT_CELL_VERTICALLY, L as SELECT_TABLE_COLUMN, N as MERGE_CELLS } from './split-cell-operation-6749f654.js';
|
|
15
14
|
import { c as cleanObject } from './object-66c37948.js';
|
|
16
15
|
import { R as RTEDTORendererManager } from './dto-renderer-manager-12bc9121.js';
|
|
17
16
|
import { V as VegaRTEBaseRenderer } from './base-renderer-101f6d04.js';
|
|
18
17
|
import { r as remoteInvocationRegistry } from './remote-invocation-registry-d69245c2.js';
|
|
19
|
-
import { D as DomNodeSubjectObserverFactory, V as VegaDropdownClick, a as VegaClick, d as domNodeSubjectFactory, b as VegaPopoverShow, c as VegaPopoverHide } from './dom-node-subject-observer-factory-
|
|
18
|
+
import { D as DomNodeSubjectObserverFactory, V as VegaDropdownClick, a as VegaClick, d as domNodeSubjectFactory, b as VegaPopoverShow, c as VegaPopoverHide } from './dom-node-subject-observer-factory-d4e16f66.js';
|
|
20
19
|
import { V as VegaInternalPopoverUpdateTarget, a as VegaInternalRTEExtensionTableCellsSelectionAnchor, b as VegaInternalRTEExtensionTableCellSelectionChange } from './vega-internal-event-id-3edc9b4e.js';
|
|
21
20
|
import { t as tryGetDocument } from './try-get-document-bef0f526.js';
|
|
22
21
|
import { p as parseToPixelString } from './pixel-f32c07ce.js';
|
|
@@ -66,7 +65,7 @@ const VegaLoaderRuntimeMetricsPayloadDefinition = [
|
|
|
66
65
|
},
|
|
67
66
|
];
|
|
68
67
|
|
|
69
|
-
var __decorate$
|
|
68
|
+
var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
70
69
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
71
70
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
72
71
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -188,7 +187,7 @@ class VegaLoaderController {
|
|
|
188
187
|
}
|
|
189
188
|
}
|
|
190
189
|
VegaLoaderController.SPECIAL_ELEMENT_TO_WRAP_FULL_BODY = ['VEGA-MODAL'];
|
|
191
|
-
__decorate$
|
|
190
|
+
__decorate$5([
|
|
192
191
|
InjectVegaTelemetrySlimmer()
|
|
193
192
|
], VegaLoaderController.prototype, "vegaPublicAPIRuntimeMetricsSlimmer", void 0);
|
|
194
193
|
const VegaLoader = new VegaLoaderController();
|
|
@@ -430,7 +429,7 @@ const VegaNotifyRuntimeMetricsPayloadDefinition = [
|
|
|
430
429
|
},
|
|
431
430
|
];
|
|
432
431
|
|
|
433
|
-
var __decorate$
|
|
432
|
+
var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
434
433
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
435
434
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
436
435
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -541,183 +540,14 @@ class VegaNotifyController {
|
|
|
541
540
|
return this.container;
|
|
542
541
|
}
|
|
543
542
|
}
|
|
544
|
-
__decorate$
|
|
543
|
+
__decorate$4([
|
|
545
544
|
InjectVegaSlimmer()
|
|
546
545
|
], VegaNotifyController.prototype, "resizeObserverSlimmer", void 0);
|
|
547
|
-
__decorate$
|
|
546
|
+
__decorate$4([
|
|
548
547
|
InjectVegaTelemetrySlimmer()
|
|
549
548
|
], VegaNotifyController.prototype, "vegaPublicAPIRuntimeMetricsSlimmer", void 0);
|
|
550
549
|
const VegaNotify = new VegaNotifyController();
|
|
551
550
|
|
|
552
|
-
const ThemeManagerRuntimeMetricsPayloadDefinition = [
|
|
553
|
-
{
|
|
554
|
-
payloadKey: 'IS_OVERRIDECOLORS_METHOD_CALLED',
|
|
555
|
-
payloadDescription: 'Indicate if the method overrideColors of public API ThemeManager is called',
|
|
556
|
-
/**
|
|
557
|
-
* Indicate whether the method is collected when the method been called .
|
|
558
|
-
*
|
|
559
|
-
* @param {string} scope - The class name of public api
|
|
560
|
-
* @param {string} methodName - The method name called by the public api
|
|
561
|
-
* @returns {boolean} A boolean value
|
|
562
|
-
*/
|
|
563
|
-
canAccept: (scope, methodName) => scope === 'ThemeManager' && methodName === 'overrideColors',
|
|
564
|
-
/**
|
|
565
|
-
* The function checks if the method is be called.
|
|
566
|
-
*
|
|
567
|
-
* @returns {boolean} A boolean value
|
|
568
|
-
*/
|
|
569
|
-
payloadValue: () => {
|
|
570
|
-
return true;
|
|
571
|
-
},
|
|
572
|
-
},
|
|
573
|
-
{
|
|
574
|
-
payloadKey: 'IS_RESET_METHOD_CALLED',
|
|
575
|
-
payloadDescription: 'Indicate if the method reset of public API ThemeManager is called',
|
|
576
|
-
/**
|
|
577
|
-
* Indicate whether the method is collected when the method been called .
|
|
578
|
-
*
|
|
579
|
-
* @param {string} scope - The class name of public api
|
|
580
|
-
* @param {string} methodName - The method name called by the public api
|
|
581
|
-
* @returns {boolean} A boolean value
|
|
582
|
-
*/
|
|
583
|
-
canAccept: (scope, methodName) => scope === 'ThemeManager' && methodName === 'reset',
|
|
584
|
-
/**
|
|
585
|
-
* The function checks if the method is be called.
|
|
586
|
-
*
|
|
587
|
-
* @returns {boolean} A boolean value
|
|
588
|
-
*/
|
|
589
|
-
payloadValue: () => {
|
|
590
|
-
return true;
|
|
591
|
-
},
|
|
592
|
-
},
|
|
593
|
-
{
|
|
594
|
-
payloadKey: 'IS_TOGGLEDARKMODE_METHOD_CALLED',
|
|
595
|
-
payloadDescription: 'Indicate if the method toggleDarkMode of public API ThemeManager is called',
|
|
596
|
-
/**
|
|
597
|
-
* Indicate whether the method is collected when the method been called .
|
|
598
|
-
*
|
|
599
|
-
* @param {string} scope - The class name of public api
|
|
600
|
-
* @param {string} methodName - The method name called by the public api
|
|
601
|
-
* @returns {boolean} A boolean value
|
|
602
|
-
*/
|
|
603
|
-
canAccept: (scope, methodName) => scope === 'ThemeManager' && methodName === 'toggleDarkMode',
|
|
604
|
-
/**
|
|
605
|
-
* The function checks if the method is be called.
|
|
606
|
-
*
|
|
607
|
-
* @returns {boolean} A boolean value
|
|
608
|
-
*/
|
|
609
|
-
payloadValue: () => {
|
|
610
|
-
return true;
|
|
611
|
-
},
|
|
612
|
-
},
|
|
613
|
-
{
|
|
614
|
-
payloadKey: 'IS_ISDARKMODE_METHOD_CALLED',
|
|
615
|
-
payloadDescription: 'Indicate if the method isDarkMode of public API ThemeManager is called',
|
|
616
|
-
/**
|
|
617
|
-
* Indicate whether the method is collected when the method been called .
|
|
618
|
-
*
|
|
619
|
-
* @param {string} scope - The class name of public api
|
|
620
|
-
* @param {string} methodName - The method name called by the public api
|
|
621
|
-
* @returns {boolean} A boolean value
|
|
622
|
-
*/
|
|
623
|
-
canAccept: (scope, methodName) => scope === 'ThemeManager' && methodName === 'isDarkMode',
|
|
624
|
-
/**
|
|
625
|
-
* The function checks if the method is be called.
|
|
626
|
-
*
|
|
627
|
-
* @returns {boolean} A boolean value
|
|
628
|
-
*/
|
|
629
|
-
payloadValue: () => {
|
|
630
|
-
return true;
|
|
631
|
-
},
|
|
632
|
-
},
|
|
633
|
-
{
|
|
634
|
-
payloadKey: 'IS_APPLY_BRANDING_METHOD_CALLED',
|
|
635
|
-
payloadDescription: 'Indicate if the method applyBranding of public API ThemeManager is called',
|
|
636
|
-
/**
|
|
637
|
-
* Indicate whether the method is collected when the method been called .
|
|
638
|
-
*
|
|
639
|
-
* @param {string} scope - The class name of public api
|
|
640
|
-
* @param {string} methodName - The method name called by the public api
|
|
641
|
-
* @returns {boolean} A boolean value
|
|
642
|
-
*/
|
|
643
|
-
canAccept: (scope, methodName) => scope === 'ThemeManager' && methodName === 'applyBranding',
|
|
644
|
-
/**
|
|
645
|
-
* The function checks if the method is be called.
|
|
646
|
-
*
|
|
647
|
-
* @returns {boolean} A boolean value
|
|
648
|
-
*/
|
|
649
|
-
payloadValue: () => {
|
|
650
|
-
return true;
|
|
651
|
-
},
|
|
652
|
-
},
|
|
653
|
-
];
|
|
654
|
-
|
|
655
|
-
var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
656
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
657
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
658
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
659
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
660
|
-
};
|
|
661
|
-
/**
|
|
662
|
-
* Vega components theme manager
|
|
663
|
-
*/
|
|
664
|
-
class ThemeManager {
|
|
665
|
-
constructor() {
|
|
666
|
-
this.vegaPublicAPIRuntimeMetricsSlimmer = createPublicAPIRuntimeMetricsSlimmer(ThemeManager, ['overrideColors', 'reset', 'toggleDarkMode', 'isDarkMode', 'applyBranding'], ThemeManagerRuntimeMetricsPayloadDefinition);
|
|
667
|
-
}
|
|
668
|
-
/**
|
|
669
|
-
* It takes the colors you passed in, parses them into the correct format, and then applies them to the theme
|
|
670
|
-
*
|
|
671
|
-
* @param {VegaThemeOverrideColors} overrideColors - OverrideColors - This is the object that you pass to the function.
|
|
672
|
-
* @vegaVersion 1.20.0
|
|
673
|
-
*/
|
|
674
|
-
async overrideColors(overrideColors) {
|
|
675
|
-
void VegaInternalThemeManager.overrideColors(overrideColors);
|
|
676
|
-
}
|
|
677
|
-
/**
|
|
678
|
-
* It removes all the custom override theme styles from the DOM
|
|
679
|
-
*
|
|
680
|
-
* @vegaVersion 1.20.0
|
|
681
|
-
*/
|
|
682
|
-
async reset() {
|
|
683
|
-
void VegaInternalThemeManager.reset();
|
|
684
|
-
}
|
|
685
|
-
/**
|
|
686
|
-
* This function toggles the dark mode of a webpage by adding or removing a 'dark' class to the HTML element.
|
|
687
|
-
*
|
|
688
|
-
* @param {boolean | undefined} darkMode - A boolean or undefined value that determines whether to enable or disable dark mode.
|
|
689
|
-
* If it is true, dark mode is enabled.
|
|
690
|
-
* If it is false, dark mode is disabled.
|
|
691
|
-
* @vegaVersion 1.32.0
|
|
692
|
-
*/
|
|
693
|
-
toggleDarkMode(darkMode) {
|
|
694
|
-
VegaInternalThemeManager.toggleDarkMode(darkMode);
|
|
695
|
-
}
|
|
696
|
-
/**
|
|
697
|
-
* The function checks if the HTML element has a class of "dark" and returns a boolean value accordingly.
|
|
698
|
-
*
|
|
699
|
-
* @returns {boolean} A boolean value indicating whether the HTML element has a class of "dark", which is
|
|
700
|
-
* typically used to indicate that the website is in dark mode.
|
|
701
|
-
* @vegaVersion 1.32.0
|
|
702
|
-
*/
|
|
703
|
-
isDarkMode() {
|
|
704
|
-
return VegaInternalThemeManager.isDarkMode();
|
|
705
|
-
}
|
|
706
|
-
/**
|
|
707
|
-
* This function switches the Vega theme to a brand theme based on the provided options.
|
|
708
|
-
*
|
|
709
|
-
* @param {BrandOptions} options - The options includes 'gp', 'genius' and 'heartland' options
|
|
710
|
-
* @vegaVersion 2.47.0
|
|
711
|
-
*/
|
|
712
|
-
applyBranding(options) {
|
|
713
|
-
VegaInternalThemeManager.applyBranding(options);
|
|
714
|
-
}
|
|
715
|
-
}
|
|
716
|
-
__decorate$4([
|
|
717
|
-
InjectVegaTelemetrySlimmer()
|
|
718
|
-
], ThemeManager.prototype, "vegaPublicAPIRuntimeMetricsSlimmer", void 0);
|
|
719
|
-
const VegaThemeManager = new ThemeManager();
|
|
720
|
-
|
|
721
551
|
const VegaDialogRuntimeMetricsPayloadDefinition = [
|
|
722
552
|
{
|
|
723
553
|
payloadKey: 'IS_OPEN_METHOD_CALLED',
|
|
@@ -3159,6 +2989,8 @@ class TableSettingPopoverRenderer {
|
|
|
3159
2989
|
new RowOperationEventHandler(),
|
|
3160
2990
|
new CaptionOperationEventHandler(),
|
|
3161
2991
|
new ColumnOperationEventHandler(),
|
|
2992
|
+
new MergeCellsOperationEventHandler(),
|
|
2993
|
+
new SplitCellOperationEventHandler(),
|
|
3162
2994
|
];
|
|
3163
2995
|
/**
|
|
3164
2996
|
* Show table setting popover when table is clicked.
|
|
@@ -3489,14 +3321,17 @@ class CellPropertiesEventHandler {
|
|
|
3489
3321
|
static getStyleCollectionFromCell(selectedCells) {
|
|
3490
3322
|
return selectedCells.reduce((accumulator, cell) => {
|
|
3491
3323
|
const annotation = cell.getAnnotationByType(RTETableExtensionAnnotationTypeEnum.CELL);
|
|
3492
|
-
|
|
3493
|
-
|
|
3494
|
-
|
|
3495
|
-
formattedBorder
|
|
3496
|
-
|
|
3497
|
-
|
|
3324
|
+
accumulator[cell.id] = {};
|
|
3325
|
+
if (annotation) {
|
|
3326
|
+
const _a = annotation.toJSON().tableCell, { border } = _a, restProps = __rest(_a, ["border"]);
|
|
3327
|
+
const formattedBorder = {};
|
|
3328
|
+
if (border) {
|
|
3329
|
+
formattedBorder.borderStyle = border.style;
|
|
3330
|
+
formattedBorder.borderColor = border.color;
|
|
3331
|
+
formattedBorder.borderWidth = border.width;
|
|
3332
|
+
}
|
|
3333
|
+
accumulator[cell.id] = cleanObject(Object.assign(Object.assign({}, restProps), formattedBorder));
|
|
3498
3334
|
}
|
|
3499
|
-
accumulator[cell.id] = cleanObject(Object.assign(Object.assign({}, restProps), formattedBorder));
|
|
3500
3335
|
return accumulator;
|
|
3501
3336
|
}, {});
|
|
3502
3337
|
}
|
|
@@ -3528,7 +3363,7 @@ class CellPropertiesEventHandler {
|
|
|
3528
3363
|
mergedStyles[key] = styleValues[0];
|
|
3529
3364
|
}
|
|
3530
3365
|
}
|
|
3531
|
-
return
|
|
3366
|
+
return mergedStyles;
|
|
3532
3367
|
}
|
|
3533
3368
|
/**
|
|
3534
3369
|
* Apply the given properties to the selected cells
|
|
@@ -3566,12 +3401,14 @@ class CellPropertiesEventHandler {
|
|
|
3566
3401
|
*/
|
|
3567
3402
|
convertToVegaTableCellAnnotation(originalStyles) {
|
|
3568
3403
|
const { borderStyle, borderWidth, borderColor } = originalStyles, restStyles = __rest(originalStyles, ["borderStyle", "borderWidth", "borderColor"]);
|
|
3569
|
-
const border =
|
|
3570
|
-
|
|
3571
|
-
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
|
|
3404
|
+
const border = borderStyle || borderColor || borderWidth
|
|
3405
|
+
? cleanObject({
|
|
3406
|
+
style: borderStyle,
|
|
3407
|
+
width: borderWidth ? parseToPixelString(borderWidth) : '',
|
|
3408
|
+
color: borderColor,
|
|
3409
|
+
})
|
|
3410
|
+
: null;
|
|
3411
|
+
return cleanObject(Object.assign(Object.assign({}, restStyles), { padding: restStyles.padding ? parseToPixelString(restStyles.padding) : '', width: restStyles.width ? parseToPixelString(restStyles.width) : '', height: restStyles.height ? parseToPixelString(restStyles.height) : '', border }));
|
|
3575
3412
|
}
|
|
3576
3413
|
/**
|
|
3577
3414
|
* Apply the given annotation to the specified table cell
|
|
@@ -3892,7 +3729,7 @@ class RTETableBlockRenderer extends VegaRTEExtensionRenderer {
|
|
|
3892
3729
|
*/
|
|
3893
3730
|
doRender(h, renderData, rteContext) {
|
|
3894
3731
|
const tableSettingPopoverRenderer = new TableSettingPopoverRenderer();
|
|
3895
|
-
const tableDynamicPopoverRenderer = new TableDynamicPopoverRenderer(
|
|
3732
|
+
const tableDynamicPopoverRenderer = new TableDynamicPopoverRenderer(RTETableColorManager.getTableColors());
|
|
3896
3733
|
this.injectExtensionContextToRenderers(this.extensionContext, [
|
|
3897
3734
|
tableDynamicPopoverRenderer,
|
|
3898
3735
|
tableSettingPopoverRenderer,
|
|
@@ -3952,14 +3789,6 @@ class RTETableBlockRenderer extends VegaRTEExtensionRenderer {
|
|
|
3952
3789
|
this.extensionContext = context;
|
|
3953
3790
|
this.injectExtensionContextToRenderers(context, this.popoverRenders);
|
|
3954
3791
|
}
|
|
3955
|
-
/**
|
|
3956
|
-
* Updates the table color schema.
|
|
3957
|
-
*
|
|
3958
|
-
* @param {RTETableColorSchema[]} colors - The new table color schema.
|
|
3959
|
-
*/
|
|
3960
|
-
updateTableColorSchema(colors) {
|
|
3961
|
-
this.tableColorSchema = colors;
|
|
3962
|
-
}
|
|
3963
3792
|
/**
|
|
3964
3793
|
* Renders the table element.
|
|
3965
3794
|
*
|
|
@@ -4078,7 +3907,9 @@ class RTETableCellRenderer extends VegaRTEExtensionRenderer {
|
|
|
4078
3907
|
*/
|
|
4079
3908
|
renderByCellType(h, renderData, rteContext, elementType) {
|
|
4080
3909
|
var _a;
|
|
4081
|
-
return h(elementType, Object.assign(Object.assign(Object.assign({ key: renderData.id,
|
|
3910
|
+
return h(elementType, Object.assign(Object.assign(Object.assign({ key: renderData.id,
|
|
3911
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
3912
|
+
ref: this.useRef(renderData) }, (_a = renderData.getCustomAttributesAnnotation()) === null || _a === void 0 ? void 0 : _a.render()), { style: renderData.getStyles(rteContext), class: renderData.getClasses() }), (rteContext.editable ? this.onSelectionListeners(renderData) : undefined)));
|
|
4082
3913
|
}
|
|
4083
3914
|
/**
|
|
4084
3915
|
* Returns the mouse event listeners for selection handling.
|
|
@@ -4530,57 +4361,52 @@ class InsertTableRowStrategy extends ActionHandleStrategy {
|
|
|
4530
4361
|
handleAction(action, target) {
|
|
4531
4362
|
const { insertDirection, selectedRows } = action;
|
|
4532
4363
|
// The reference block will control where to insert the new row
|
|
4533
|
-
|
|
4364
|
+
const refBlock = insertDirection === InsertTableRowDirection.ABOVE
|
|
4534
4365
|
? selectedRows[0]
|
|
4535
4366
|
: selectedRows[selectedRows.length - 1];
|
|
4536
|
-
|
|
4537
|
-
|
|
4538
|
-
|
|
4367
|
+
const refBlockIsHeaderRow = refBlock.parent instanceof RTETableHeadBlock;
|
|
4368
|
+
// 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
|
|
4369
|
+
if (this.shouldInsertHeaderRow(refBlock, insertDirection) || !refBlockIsHeaderRow) {
|
|
4370
|
+
const rowBlock = RTETableRowBlock.from({
|
|
4539
4371
|
id: generateUUID(),
|
|
4540
4372
|
type: 'table-row',
|
|
4541
4373
|
children: refBlock.children.map((item) => {
|
|
4542
|
-
return this.getDefaultCellBlockTemplate(item.type);
|
|
4374
|
+
return this.getDefaultCellBlockTemplate(item.type, item.colSpan);
|
|
4543
4375
|
}),
|
|
4544
4376
|
});
|
|
4545
4377
|
if (insertDirection === InsertTableRowDirection.ABOVE) {
|
|
4546
|
-
refBlock.parent.apply(new InsertChildrenBeforeAction(refBlock,
|
|
4378
|
+
refBlock.parent.apply(new InsertChildrenBeforeAction(refBlock, rowBlock));
|
|
4547
4379
|
}
|
|
4548
4380
|
else {
|
|
4549
|
-
refBlock.parent.apply(new InsertChildrenAfterAction(refBlock,
|
|
4381
|
+
refBlock.parent.apply(new InsertChildrenAfterAction(refBlock, rowBlock));
|
|
4550
4382
|
}
|
|
4551
4383
|
}
|
|
4552
4384
|
else {
|
|
4553
|
-
|
|
4385
|
+
// The refBlock is a head row and new row is a body row
|
|
4554
4386
|
let tableBody = target.children.find((block) => block instanceof RTETableBodyBlock);
|
|
4555
|
-
|
|
4556
|
-
if (refBlock.parent instanceof RTETableHeadBlock && tableBody) {
|
|
4557
|
-
refBlock = tableBody.children[0];
|
|
4558
|
-
direction = InsertTableRowDirection.ABOVE;
|
|
4559
|
-
}
|
|
4560
|
-
const refBlockIsHeaderRow = refBlock.parent instanceof RTETableHeadBlock;
|
|
4561
|
-
const rowBlock = RTETableRowBlock.from({
|
|
4387
|
+
const rowBlockJSON = {
|
|
4562
4388
|
id: generateUUID(),
|
|
4563
4389
|
type: 'table-row',
|
|
4564
|
-
children:
|
|
4565
|
-
|
|
4566
|
-
}),
|
|
4567
|
-
});
|
|
4390
|
+
children: [],
|
|
4391
|
+
};
|
|
4568
4392
|
if (!tableBody) {
|
|
4393
|
+
rowBlockJSON.children = refBlock.children.map((item) => {
|
|
4394
|
+
const { colSpan } = item;
|
|
4395
|
+
return this.getDefaultCellBlockTemplate('table-cell', colSpan);
|
|
4396
|
+
});
|
|
4569
4397
|
tableBody = RTETableBodyBlock.from({
|
|
4570
4398
|
id: generateUUID(),
|
|
4571
4399
|
type: 'table-body',
|
|
4572
4400
|
children: [],
|
|
4573
4401
|
});
|
|
4574
|
-
tableBody.apply(new AppendChildrenAction([
|
|
4402
|
+
tableBody.apply(new AppendChildrenAction([RTETableRowBlock.from(rowBlockJSON)]));
|
|
4575
4403
|
target.apply(new AppendChildrenAction([tableBody]));
|
|
4576
4404
|
}
|
|
4577
4405
|
else {
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
tableBody.apply(new InsertChildrenAfterAction(refBlock, rowBlock));
|
|
4583
|
-
}
|
|
4406
|
+
const firstBodyRow = tableBody.children[0];
|
|
4407
|
+
const headCellLength = this.getHeadCellLength(firstBodyRow);
|
|
4408
|
+
rowBlockJSON.children = this.createTableCells(refBlock, headCellLength);
|
|
4409
|
+
tableBody.apply(new InsertChildrenBeforeAction(firstBodyRow, RTETableRowBlock.from(rowBlockJSON)));
|
|
4584
4410
|
}
|
|
4585
4411
|
}
|
|
4586
4412
|
}
|
|
@@ -4605,11 +4431,17 @@ class InsertTableRowStrategy extends ActionHandleStrategy {
|
|
|
4605
4431
|
* Get the default cell block template.
|
|
4606
4432
|
*
|
|
4607
4433
|
* @param {string} cellType - The type of the cell block.
|
|
4434
|
+
* @param {number} colSpan - The colspan attribute for the cell.
|
|
4435
|
+
* @param {number} rowSpan - The rowspan attribute for the cell.
|
|
4608
4436
|
* @returns {VegaRTETableCellBlock | VegaRTETableHeadCellBlock} The default cell block template.
|
|
4609
4437
|
*/
|
|
4610
|
-
getDefaultCellBlockTemplate(cellType) {
|
|
4438
|
+
getDefaultCellBlockTemplate(cellType, colSpan, rowSpan = 1) {
|
|
4439
|
+
const customAttribute = cleanObject({
|
|
4440
|
+
colspan: colSpan > 1 ? colSpan.toString() : null,
|
|
4441
|
+
rowspan: rowSpan > 1 ? rowSpan.toString() : null,
|
|
4442
|
+
});
|
|
4611
4443
|
const id = generateUUID();
|
|
4612
|
-
|
|
4444
|
+
const cellBlock = {
|
|
4613
4445
|
id,
|
|
4614
4446
|
type: cellType,
|
|
4615
4447
|
children: [
|
|
@@ -4626,6 +4458,49 @@ class InsertTableRowStrategy extends ActionHandleStrategy {
|
|
|
4626
4458
|
},
|
|
4627
4459
|
],
|
|
4628
4460
|
};
|
|
4461
|
+
if (Object.keys(customAttribute).length > 0) {
|
|
4462
|
+
cellBlock.annotations = {
|
|
4463
|
+
customAttribute,
|
|
4464
|
+
};
|
|
4465
|
+
}
|
|
4466
|
+
return cellBlock;
|
|
4467
|
+
}
|
|
4468
|
+
/**
|
|
4469
|
+
* Get the column head end index in a table row.
|
|
4470
|
+
*
|
|
4471
|
+
* @param {RTETableRowBlock} tableRow - The table row block.
|
|
4472
|
+
* @returns {number} The end index of the column head.
|
|
4473
|
+
*/
|
|
4474
|
+
getHeadCellLength(tableRow) {
|
|
4475
|
+
let length = 0;
|
|
4476
|
+
for (let i = 0; i < tableRow.children.length; i++) {
|
|
4477
|
+
const cellBlock = tableRow.children[i];
|
|
4478
|
+
if (cellBlock instanceof RTETableHeadCellBlock) {
|
|
4479
|
+
length += cellBlock.colSpan;
|
|
4480
|
+
}
|
|
4481
|
+
else {
|
|
4482
|
+
break;
|
|
4483
|
+
}
|
|
4484
|
+
}
|
|
4485
|
+
return length;
|
|
4486
|
+
}
|
|
4487
|
+
/**
|
|
4488
|
+
* Create table cells based on reference row and head cell length.
|
|
4489
|
+
*
|
|
4490
|
+
* @param {RTETableRowBlock} refRow - The reference table row block.
|
|
4491
|
+
* @param {number} headCellLength - The length of the head cells.
|
|
4492
|
+
* @returns {VegaRTETableCellBlock[]} An array of table cell blocks.
|
|
4493
|
+
*/
|
|
4494
|
+
createTableCells(refRow, headCellLength) {
|
|
4495
|
+
const cells = [];
|
|
4496
|
+
let currentHeadCellLength = 0;
|
|
4497
|
+
for (const cell of refRow.children) {
|
|
4498
|
+
const isHeadCell = currentHeadCellLength < headCellLength;
|
|
4499
|
+
const cellType = isHeadCell ? 'table-head-cell' : 'table-cell';
|
|
4500
|
+
cells.push(this.getDefaultCellBlockTemplate(cellType, cell.colSpan));
|
|
4501
|
+
currentHeadCellLength += cell.colSpan;
|
|
4502
|
+
}
|
|
4503
|
+
return cells;
|
|
4629
4504
|
}
|
|
4630
4505
|
}
|
|
4631
4506
|
|
|
@@ -4813,25 +4688,113 @@ class RTETableSelection {
|
|
|
4813
4688
|
tableChildren.forEach((section) => {
|
|
4814
4689
|
section.children.forEach((row) => allRows.push(row));
|
|
4815
4690
|
});
|
|
4816
|
-
const
|
|
4817
|
-
const
|
|
4818
|
-
const
|
|
4819
|
-
|
|
4820
|
-
|
|
4821
|
-
|
|
4822
|
-
const
|
|
4823
|
-
const
|
|
4824
|
-
const
|
|
4691
|
+
const { grid, cellMeta } = RTETableSelection.buildCellGrid(allRows);
|
|
4692
|
+
const anchorMeta = cellMeta.get(anchor);
|
|
4693
|
+
const focusMeta = cellMeta.get(focus);
|
|
4694
|
+
if (!anchorMeta || !focusMeta) {
|
|
4695
|
+
return [];
|
|
4696
|
+
}
|
|
4697
|
+
const anchorStartRow = anchorMeta.row;
|
|
4698
|
+
const anchorEndRow = anchorMeta.row + anchorMeta.rowSpan - 1;
|
|
4699
|
+
const anchorStartCol = anchorMeta.col;
|
|
4700
|
+
const anchorEndCol = anchorMeta.col + anchorMeta.colSpan - 1;
|
|
4701
|
+
const focusStartRow = focusMeta.row;
|
|
4702
|
+
const focusEndRow = focusMeta.row + focusMeta.rowSpan - 1;
|
|
4703
|
+
const focusStartCol = focusMeta.col;
|
|
4704
|
+
const focusEndCol = focusMeta.col + focusMeta.colSpan - 1;
|
|
4705
|
+
const startRow = Math.min(anchorStartRow, focusStartRow);
|
|
4706
|
+
const endRow = Math.max(anchorEndRow, focusEndRow);
|
|
4707
|
+
const startCol = Math.min(anchorStartCol, focusStartCol);
|
|
4708
|
+
const endCol = Math.max(anchorEndCol, focusEndCol);
|
|
4709
|
+
const result = new Set();
|
|
4825
4710
|
for (let r = startRow; r <= endRow; r++) {
|
|
4826
|
-
const row =
|
|
4711
|
+
const row = grid[r];
|
|
4827
4712
|
for (let c = startCol; c <= endCol; c++) {
|
|
4828
|
-
const cell = row
|
|
4713
|
+
const cell = row[c];
|
|
4829
4714
|
if (cell) {
|
|
4830
|
-
result.
|
|
4715
|
+
result.add(cell);
|
|
4831
4716
|
}
|
|
4832
4717
|
}
|
|
4833
4718
|
}
|
|
4834
|
-
return result;
|
|
4719
|
+
return Array.from(result);
|
|
4720
|
+
}
|
|
4721
|
+
/**
|
|
4722
|
+
* Get the rowSpan and colSpan attributes from a cell's DOM element.
|
|
4723
|
+
*
|
|
4724
|
+
* @param {RTETableCellBlock} cell - The cell to get span values from.
|
|
4725
|
+
* @returns {CellSpanType} Object with rowSpan and colSpan properties.
|
|
4726
|
+
*/
|
|
4727
|
+
static getCellSpan(cell) {
|
|
4728
|
+
let rowSpan = 1;
|
|
4729
|
+
let colSpan = 1;
|
|
4730
|
+
// First, try to get from customAttribute annotation (this works even without DOM)
|
|
4731
|
+
const customAttr = cell.getAnnotationByType(CommonAnnotationTypeEnum.CUSTOM_ATTRIBUTE);
|
|
4732
|
+
if (customAttr && customAttr.customAttribute) {
|
|
4733
|
+
const attrs = customAttr.customAttribute;
|
|
4734
|
+
if (attrs.rowSpan) {
|
|
4735
|
+
rowSpan = parseInt(attrs.rowSpan, 10);
|
|
4736
|
+
}
|
|
4737
|
+
if (attrs.colSpan) {
|
|
4738
|
+
colSpan = parseInt(attrs.colSpan, 10);
|
|
4739
|
+
}
|
|
4740
|
+
}
|
|
4741
|
+
// Fallback to DOM attributes if annotation didn't have the values
|
|
4742
|
+
if (rowSpan === 1 && colSpan === 1) {
|
|
4743
|
+
const cellDOMElement = stateEntityRenderingRegistry.getDOMByEntity(cell);
|
|
4744
|
+
if (cellDOMElement) {
|
|
4745
|
+
const rowSpanAttr = cellDOMElement.getAttribute('rowSpan');
|
|
4746
|
+
const colSpanAttr = cellDOMElement.getAttribute('colSpan');
|
|
4747
|
+
if (rowSpanAttr) {
|
|
4748
|
+
rowSpan = parseInt(rowSpanAttr, 10);
|
|
4749
|
+
}
|
|
4750
|
+
if (colSpanAttr) {
|
|
4751
|
+
colSpan = parseInt(colSpanAttr, 10);
|
|
4752
|
+
}
|
|
4753
|
+
}
|
|
4754
|
+
}
|
|
4755
|
+
return {
|
|
4756
|
+
rowSpan: Number.isFinite(rowSpan) && rowSpan > 0 ? rowSpan : 1,
|
|
4757
|
+
colSpan: Number.isFinite(colSpan) && colSpan > 0 ? colSpan : 1,
|
|
4758
|
+
};
|
|
4759
|
+
}
|
|
4760
|
+
/**
|
|
4761
|
+
* Build a grid representation of the table that accounts for rowSpan and colSpan.
|
|
4762
|
+
* Each cell in the grid array points to the actual cell block that occupies that position.
|
|
4763
|
+
*
|
|
4764
|
+
* @param {RTETableRowBlock[]} allRows - All rows in the table.
|
|
4765
|
+
* @returns {CellGridMetaType} Object with grid and cellMeta properties.
|
|
4766
|
+
*/
|
|
4767
|
+
static buildCellGrid(allRows) {
|
|
4768
|
+
const grid = [];
|
|
4769
|
+
const cellMeta = new Map();
|
|
4770
|
+
for (let r = 0; r < allRows.length; r++) {
|
|
4771
|
+
const row = allRows[r];
|
|
4772
|
+
if (!grid[r]) {
|
|
4773
|
+
grid[r] = [];
|
|
4774
|
+
}
|
|
4775
|
+
let col = 0;
|
|
4776
|
+
for (let c = 0; c < row.children.length; c++) {
|
|
4777
|
+
const cell = row.children[c];
|
|
4778
|
+
// Find the next available column (skip cells occupied by rowSpan from previous rows)
|
|
4779
|
+
while (grid[r][col]) {
|
|
4780
|
+
col += 1;
|
|
4781
|
+
}
|
|
4782
|
+
const { rowSpan, colSpan } = RTETableSelection.getCellSpan(cell);
|
|
4783
|
+
cellMeta.set(cell, { row: r, col, rowSpan, colSpan });
|
|
4784
|
+
// Fill the grid for all positions this cell occupies
|
|
4785
|
+
for (let rowOffset = 0; rowOffset < rowSpan; rowOffset++) {
|
|
4786
|
+
const targetRow = r + rowOffset;
|
|
4787
|
+
if (!grid[targetRow]) {
|
|
4788
|
+
grid[targetRow] = [];
|
|
4789
|
+
}
|
|
4790
|
+
for (let colOffset = 0; colOffset < colSpan; colOffset++) {
|
|
4791
|
+
grid[targetRow][col + colOffset] = cell;
|
|
4792
|
+
}
|
|
4793
|
+
}
|
|
4794
|
+
col += colSpan;
|
|
4795
|
+
}
|
|
4796
|
+
}
|
|
4797
|
+
return { grid, cellMeta };
|
|
4835
4798
|
}
|
|
4836
4799
|
/**
|
|
4837
4800
|
* Clean up event listeners.
|
|
@@ -5317,6 +5280,122 @@ class PreventRowInsertInterceptor extends ActionHandlerInterceptor {
|
|
|
5317
5280
|
}
|
|
5318
5281
|
}
|
|
5319
5282
|
|
|
5283
|
+
/**
|
|
5284
|
+
* Strategy to handle the merging of table cells.
|
|
5285
|
+
*/
|
|
5286
|
+
class MergeCellsStrategy extends ActionHandleStrategy {
|
|
5287
|
+
/**
|
|
5288
|
+
* Handles the merge cells action.
|
|
5289
|
+
*
|
|
5290
|
+
* @param {MergeCellsAction} action - The action containing merge details.
|
|
5291
|
+
* @param {RTETableBlock} target - The target table block.
|
|
5292
|
+
*/
|
|
5293
|
+
handleAction(action, target) {
|
|
5294
|
+
const { targetCell, mergeCells, colSpan, rowSpan, direction } = action;
|
|
5295
|
+
this.mergeContentToTargetCell(targetCell, mergeCells);
|
|
5296
|
+
setSpanAttributes(targetCell, colSpan, rowSpan, target);
|
|
5297
|
+
this.deleteOtherSelectedCells(mergeCells, targetCell);
|
|
5298
|
+
if (direction !== MergeCellsOperationType.MERGE_CELL_LEFT &&
|
|
5299
|
+
direction !== MergeCellsOperationType.MERGE_CELL_RIGHT &&
|
|
5300
|
+
rowSpan > 1) {
|
|
5301
|
+
this.clearRowSpanIfUniformAcrossRow(targetCell, target, rowSpan);
|
|
5302
|
+
}
|
|
5303
|
+
const root = this.getRootContent(target);
|
|
5304
|
+
const nextFocusNode = getFirstNode(targetCell);
|
|
5305
|
+
if (root && nextFocusNode) {
|
|
5306
|
+
root.apply(new UpdateCursorPositionAction(nextFocusNode));
|
|
5307
|
+
}
|
|
5308
|
+
}
|
|
5309
|
+
/**
|
|
5310
|
+
* Merge content from all selected cells to the target cell.
|
|
5311
|
+
*
|
|
5312
|
+
* @param {RTETableCellBlock | RTETableHeadCellBlock} targetCell - The target cell.
|
|
5313
|
+
* @param {RTETableCellBlock[] | RTETableHeadCellBlock[]} selectedCells - All selected cells.
|
|
5314
|
+
*/
|
|
5315
|
+
mergeContentToTargetCell(targetCell, selectedCells) {
|
|
5316
|
+
const allChildren = selectedCells.flatMap((cell) => cell.children);
|
|
5317
|
+
const valueCells = allChildren.filter((child) => child.isNotEmpty());
|
|
5318
|
+
const allChildrenBlocks = valueCells.length > 0 ? valueCells : [allChildren[0]];
|
|
5319
|
+
targetCell.children = allChildrenBlocks.map((childBlock) => childBlock.clone(targetCell));
|
|
5320
|
+
}
|
|
5321
|
+
/**
|
|
5322
|
+
* Delete all selected cells except the target cell.
|
|
5323
|
+
*
|
|
5324
|
+
* @param {RTETableCellBlock[] | RTETableHeadCellBlock[]} selectedCells - All selected cells.
|
|
5325
|
+
* @param {RTETableCellBlock | RTETableHeadCellBlock} targetCell - The target cell (should not be deleted).
|
|
5326
|
+
*/
|
|
5327
|
+
deleteOtherSelectedCells(selectedCells, targetCell) {
|
|
5328
|
+
selectedCells.forEach((cell) => {
|
|
5329
|
+
if (cell !== targetCell) {
|
|
5330
|
+
const row = cell.parent;
|
|
5331
|
+
row.apply(new RemoveChildrenAction(cell));
|
|
5332
|
+
}
|
|
5333
|
+
});
|
|
5334
|
+
}
|
|
5335
|
+
/**
|
|
5336
|
+
* Remove rowSpan from all cells in the target row when every cell shares the same rowSpan.
|
|
5337
|
+
* This avoids keeping stale row spans after a merge operation that no longer spans rows.
|
|
5338
|
+
*
|
|
5339
|
+
* @param {RTETableCellBlock | RTETableHeadCellBlock} targetCell - The target cell to set attributes on.
|
|
5340
|
+
* @param {RTETableBlock} table - The table block.
|
|
5341
|
+
* @param {number} targetCellRowSpan - The target cell rowSpan.
|
|
5342
|
+
*/
|
|
5343
|
+
clearRowSpanIfUniformAcrossRow(targetCell, table, targetCellRowSpan) {
|
|
5344
|
+
const targetRow = targetCell.parent;
|
|
5345
|
+
const allRows = targetRow.parent.children;
|
|
5346
|
+
const grid = buildTableGrid(allRows);
|
|
5347
|
+
const rowIndexes = [];
|
|
5348
|
+
for (let r = 0; r < grid.length; r++) {
|
|
5349
|
+
if (grid[r].includes(targetCell.id)) {
|
|
5350
|
+
rowIndexes.push(r);
|
|
5351
|
+
}
|
|
5352
|
+
}
|
|
5353
|
+
if (rowIndexes.length > 1) {
|
|
5354
|
+
const windowStart = rowIndexes[0];
|
|
5355
|
+
const windowEnd = windowStart + targetCellRowSpan - 1;
|
|
5356
|
+
const uniformIds = new Set();
|
|
5357
|
+
let minRowSpan = Number.POSITIVE_INFINITY;
|
|
5358
|
+
for (let c = 0; c < grid[0].length; c++) {
|
|
5359
|
+
let firstId = grid[windowStart][c];
|
|
5360
|
+
let count = 1;
|
|
5361
|
+
let isRowSpan = false;
|
|
5362
|
+
for (let r = windowStart + 1; r <= windowEnd; r++) {
|
|
5363
|
+
if (grid[r][c] === firstId) {
|
|
5364
|
+
count++;
|
|
5365
|
+
continue;
|
|
5366
|
+
}
|
|
5367
|
+
if (count > 1) {
|
|
5368
|
+
isRowSpan = true;
|
|
5369
|
+
minRowSpan = Math.min(minRowSpan, count);
|
|
5370
|
+
uniformIds.add(firstId);
|
|
5371
|
+
}
|
|
5372
|
+
count = 1;
|
|
5373
|
+
firstId = grid[r][c];
|
|
5374
|
+
}
|
|
5375
|
+
if (count < 2 && !isRowSpan) {
|
|
5376
|
+
uniformIds.clear();
|
|
5377
|
+
break;
|
|
5378
|
+
}
|
|
5379
|
+
if (count > 1) {
|
|
5380
|
+
minRowSpan = Math.min(minRowSpan, count);
|
|
5381
|
+
uniformIds.add(firstId);
|
|
5382
|
+
}
|
|
5383
|
+
}
|
|
5384
|
+
if (uniformIds.size > 0) {
|
|
5385
|
+
allRows.forEach((row) => {
|
|
5386
|
+
row.children.forEach((cell) => {
|
|
5387
|
+
if (uniformIds.has(cell.id)) {
|
|
5388
|
+
const { rowSpan, colSpan } = getCellSpan(cell);
|
|
5389
|
+
const reducedRowSpan = rowSpan - minRowSpan + 1;
|
|
5390
|
+
setSpanAttributes(cell, colSpan, reducedRowSpan, table);
|
|
5391
|
+
}
|
|
5392
|
+
});
|
|
5393
|
+
});
|
|
5394
|
+
}
|
|
5395
|
+
}
|
|
5396
|
+
}
|
|
5397
|
+
}
|
|
5398
|
+
|
|
5320
5399
|
/**
|
|
5321
5400
|
* Strategy to convert a native HTML table element into an RTETableBlock DTO.
|
|
5322
5401
|
*/
|
|
@@ -5519,7 +5598,7 @@ class TdToTableCellBlockStrategy extends BlockToRTEBlockStrategyAbstract {
|
|
|
5519
5598
|
return RTETableCellBlock.from({
|
|
5520
5599
|
id: generateUUID(),
|
|
5521
5600
|
type: 'table-cell',
|
|
5522
|
-
annotations: htmlElementToAnnotationGenerator.generate(RTETableHeadCellBlock, element),
|
|
5601
|
+
annotations: htmlElementToAnnotationGenerator.generate(RTETableHeadCellBlock, element, options),
|
|
5523
5602
|
children: defaultChildren,
|
|
5524
5603
|
}, options);
|
|
5525
5604
|
}
|
|
@@ -5599,7 +5678,7 @@ class TableAnnotationHandlerBase extends AnnotationGeneratorStrategyAbstract {
|
|
|
5599
5678
|
*/
|
|
5600
5679
|
getBackgroundColor(element) {
|
|
5601
5680
|
if (element.style.backgroundColor) {
|
|
5602
|
-
return element.style.backgroundColor;
|
|
5681
|
+
return RTETableColorManager.getColorKey(element.style.backgroundColor);
|
|
5603
5682
|
}
|
|
5604
5683
|
return null;
|
|
5605
5684
|
}
|
|
@@ -5611,37 +5690,15 @@ class TableAnnotationHandlerBase extends AnnotationGeneratorStrategyAbstract {
|
|
|
5611
5690
|
*/
|
|
5612
5691
|
getBorder(element) {
|
|
5613
5692
|
const style = element.style;
|
|
5614
|
-
// Check if border is defined
|
|
5615
|
-
if (style.border) {
|
|
5616
|
-
return this.parseBorderString(style.border);
|
|
5617
|
-
}
|
|
5618
5693
|
// Check individual border properties
|
|
5619
|
-
const borderStyle = style.borderStyle
|
|
5620
|
-
const borderWidth = style.borderWidth
|
|
5621
|
-
const borderColor = style.borderColor
|
|
5622
|
-
if (borderStyle
|
|
5623
|
-
return {
|
|
5624
|
-
style: borderStyle,
|
|
5625
|
-
width: borderWidth,
|
|
5626
|
-
color: borderColor,
|
|
5627
|
-
};
|
|
5628
|
-
}
|
|
5629
|
-
return null;
|
|
5630
|
-
}
|
|
5631
|
-
/**
|
|
5632
|
-
* Parse border string into structured border type.
|
|
5633
|
-
*
|
|
5634
|
-
* @param {string} borderStr - Border CSS string.
|
|
5635
|
-
* @returns {Nullable<VegaRTETableBorderType>} Parsed border properties.
|
|
5636
|
-
*/
|
|
5637
|
-
parseBorderString(borderStr) {
|
|
5638
|
-
// Expected format: "style width color" (e.g., "solid 1px #ddd")
|
|
5639
|
-
const parts = borderStr.trim().split(/\s+/);
|
|
5640
|
-
if (parts.length >= 3) {
|
|
5694
|
+
const borderStyle = style.borderStyle;
|
|
5695
|
+
const borderWidth = style.borderWidth;
|
|
5696
|
+
const borderColor = style.borderColor;
|
|
5697
|
+
if (borderColor || borderStyle || borderWidth) {
|
|
5641
5698
|
return {
|
|
5642
|
-
style:
|
|
5643
|
-
width:
|
|
5644
|
-
color:
|
|
5699
|
+
style: borderStyle === 'initial' ? '' : borderStyle,
|
|
5700
|
+
width: borderWidth === 'initial' ? '' : borderWidth,
|
|
5701
|
+
color: RTETableColorManager.getColorKey(borderColor === 'initial' ? '' : borderColor),
|
|
5645
5702
|
};
|
|
5646
5703
|
}
|
|
5647
5704
|
return null;
|
|
@@ -5777,11 +5834,37 @@ class TableCellAnnotationHandler extends TableAnnotationHandlerBase {
|
|
|
5777
5834
|
height: this.getHeight(element),
|
|
5778
5835
|
textAlign: this.getTextAlign(element),
|
|
5779
5836
|
verticalAlign: this.getVerticalAlign(element),
|
|
5837
|
+
minWidth: this.getMinWidth(element),
|
|
5838
|
+
boxSizing: this.getBoxSizing(element),
|
|
5780
5839
|
});
|
|
5781
5840
|
return Object.keys(cellAnnotation).length > 0
|
|
5782
5841
|
? { tableCell: cellAnnotation }
|
|
5783
5842
|
: {};
|
|
5784
5843
|
}
|
|
5844
|
+
/**
|
|
5845
|
+
* Extract minimum width from element.
|
|
5846
|
+
*
|
|
5847
|
+
* @param {HTMLElement} element - Table cell element.
|
|
5848
|
+
* @returns {Nullable<string>} Minimum width value.
|
|
5849
|
+
*/
|
|
5850
|
+
getMinWidth(element) {
|
|
5851
|
+
if (element.style.minWidth) {
|
|
5852
|
+
return element.style.minWidth;
|
|
5853
|
+
}
|
|
5854
|
+
return null;
|
|
5855
|
+
}
|
|
5856
|
+
/**
|
|
5857
|
+
* Extract box sizing from element.
|
|
5858
|
+
*
|
|
5859
|
+
* @param {HTMLElement} element - Table cell element.
|
|
5860
|
+
* @returns {Nullable<string>} Box sizing value.
|
|
5861
|
+
*/
|
|
5862
|
+
getBoxSizing(element) {
|
|
5863
|
+
if (element.style.boxSizing) {
|
|
5864
|
+
return element.style.boxSizing;
|
|
5865
|
+
}
|
|
5866
|
+
return null;
|
|
5867
|
+
}
|
|
5785
5868
|
/**
|
|
5786
5869
|
* Extract padding from element.
|
|
5787
5870
|
*
|
|
@@ -5860,8 +5943,8 @@ class UpdateTablePropertiesStrategy extends ActionHandleStrategy {
|
|
|
5860
5943
|
if (tableRef) {
|
|
5861
5944
|
// Update the table styles directly on the DOM element if possible to avoid the component re-render
|
|
5862
5945
|
const tableContainer = tableRef.closest('.v-rte--extension-table-container');
|
|
5863
|
-
const {
|
|
5864
|
-
tableRef.style.backgroundColor =
|
|
5946
|
+
const { backgroundColorAnnotation, width, height } = annotation;
|
|
5947
|
+
tableRef.style.backgroundColor = backgroundColorAnnotation.renderStyle().color;
|
|
5865
5948
|
tableRef.style.border = annotation.borderStr;
|
|
5866
5949
|
tableRef.style.width = width;
|
|
5867
5950
|
tableRef.style.height = height;
|
|
@@ -5887,7 +5970,8 @@ class UpdateTableCellPropertiesStrategy extends ActionHandleStrategy {
|
|
|
5887
5970
|
const annotation = action.toAnnotation();
|
|
5888
5971
|
const tableCellRef = this.getDOMByEntity(target);
|
|
5889
5972
|
if (tableCellRef) {
|
|
5890
|
-
const {
|
|
5973
|
+
const { width, height, borderStr, padding, textAlign, verticalAlign } = annotation;
|
|
5974
|
+
const backgroundColor = annotation.renderStyle().backgroundColor || '';
|
|
5891
5975
|
tableCellRef.style.backgroundColor = backgroundColor;
|
|
5892
5976
|
tableCellRef.style.border = borderStr;
|
|
5893
5977
|
tableCellRef.style.width = width;
|
|
@@ -5899,6 +5983,221 @@ class UpdateTableCellPropertiesStrategy extends ActionHandleStrategy {
|
|
|
5899
5983
|
}
|
|
5900
5984
|
}
|
|
5901
5985
|
|
|
5986
|
+
/**
|
|
5987
|
+
* Strategy to handle horizontal split of a table cell (splits top/bottom).
|
|
5988
|
+
*/
|
|
5989
|
+
class SplitCellHorizontallyStrategy extends ActionHandleStrategy {
|
|
5990
|
+
/**
|
|
5991
|
+
* @inheritDoc
|
|
5992
|
+
*/
|
|
5993
|
+
handleAction(_action, target) {
|
|
5994
|
+
const row = target.parent;
|
|
5995
|
+
const section = row.parent;
|
|
5996
|
+
const table = getParentBlockByType(row, RTETableBlock);
|
|
5997
|
+
const allRows = getAllTableRows(table);
|
|
5998
|
+
const currentRowIndex = allRows.indexOf(row);
|
|
5999
|
+
const { colSpan, rowSpan } = getCellSpan(target);
|
|
6000
|
+
const cellColumnPosition = getActualColumnPosition(target, allRows);
|
|
6001
|
+
// When rowSpan=1, we need to insert a new row and both cells have rowSpan=1
|
|
6002
|
+
// When rowSpan>1, we split the existing rowSpan
|
|
6003
|
+
const topRowSpan = Math.ceil(rowSpan / 2);
|
|
6004
|
+
const bottomRowSpan = Math.max(1, rowSpan - topRowSpan);
|
|
6005
|
+
const needsNewRow = rowSpan === 1;
|
|
6006
|
+
// Update original cell's rowSpan (top cell)
|
|
6007
|
+
setSpanAttributes(target, colSpan, topRowSpan, table);
|
|
6008
|
+
// Determine where the bottom cell should be inserted
|
|
6009
|
+
const bottomCellRowIndex = currentRowIndex + topRowSpan;
|
|
6010
|
+
// Create the bottom cell with the same col span and type as the original
|
|
6011
|
+
const bottomCell = createNewCell(target.type);
|
|
6012
|
+
setSpanAttributes(bottomCell, colSpan, bottomRowSpan, table);
|
|
6013
|
+
if (needsNewRow) {
|
|
6014
|
+
// Need to create a new row for the bottom cell
|
|
6015
|
+
const newRow = this.createNewRowWithCell(section, bottomCell);
|
|
6016
|
+
// Find the correct position in the section to insert the new row
|
|
6017
|
+
const rowIndexInSection = section.children.indexOf(row);
|
|
6018
|
+
section.apply(new InsertChildrenAfterAction(section.children[rowIndexInSection], newRow));
|
|
6019
|
+
// Update allRows
|
|
6020
|
+
allRows.splice(bottomCellRowIndex, 0, newRow);
|
|
6021
|
+
// Update all cells from all previous rows that span through the insertion point
|
|
6022
|
+
// (except the split cell itself)
|
|
6023
|
+
this.updateCellsSpanningThroughInsertionPoint(allRows, bottomCellRowIndex, target, table);
|
|
6024
|
+
}
|
|
6025
|
+
else {
|
|
6026
|
+
// Row exists - insert the bottom cell at the correct position
|
|
6027
|
+
const targetRow = allRows[bottomCellRowIndex];
|
|
6028
|
+
const insertIndex = this.findInsertPosition(targetRow, cellColumnPosition, allRows, bottomCellRowIndex);
|
|
6029
|
+
targetRow.children.splice(insertIndex, 0, bottomCell);
|
|
6030
|
+
bottomCell.parent = targetRow;
|
|
6031
|
+
}
|
|
6032
|
+
}
|
|
6033
|
+
/**
|
|
6034
|
+
* Find the correct insertion position for a cell at a given column position in a row.
|
|
6035
|
+
* Accounts for cells from previous rows with rowspan extending into the target row.
|
|
6036
|
+
*
|
|
6037
|
+
* @param {RTETableRowBlock} targetRow - The row to insert into.
|
|
6038
|
+
* @param {number} targetColumnPosition - The target column position.
|
|
6039
|
+
* @param {RTETableRowBlock[]} allRows - All rows in the table.
|
|
6040
|
+
* @param {number} rowIndex - The index of the target row.
|
|
6041
|
+
* @returns {number} The physical cell index to insert at.
|
|
6042
|
+
*/
|
|
6043
|
+
findInsertPosition(targetRow, targetColumnPosition, allRows, rowIndex) {
|
|
6044
|
+
// Calculate columns occupied by cells from previous rows extending into this row
|
|
6045
|
+
let columnsOccupiedByPreviousRows = 0;
|
|
6046
|
+
for (let r = 0; r < rowIndex; r++) {
|
|
6047
|
+
const prevRow = allRows[r];
|
|
6048
|
+
for (const prevCell of prevRow.children) {
|
|
6049
|
+
const { colSpan, rowSpan } = getCellSpan(prevCell);
|
|
6050
|
+
// Check if this cell extends into the target row
|
|
6051
|
+
if (r + rowSpan > rowIndex) {
|
|
6052
|
+
const prevCellColumnPosition = getActualColumnPosition(prevCell, allRows);
|
|
6053
|
+
if (prevCellColumnPosition < targetColumnPosition) {
|
|
6054
|
+
columnsOccupiedByPreviousRows += colSpan;
|
|
6055
|
+
}
|
|
6056
|
+
}
|
|
6057
|
+
}
|
|
6058
|
+
}
|
|
6059
|
+
// Find the insertion position in the target row
|
|
6060
|
+
let currentColumn = columnsOccupiedByPreviousRows;
|
|
6061
|
+
for (let i = 0; i < targetRow.children.length; i++) {
|
|
6062
|
+
if (currentColumn >= targetColumnPosition) {
|
|
6063
|
+
return i;
|
|
6064
|
+
}
|
|
6065
|
+
const cell = targetRow.children[i];
|
|
6066
|
+
const { colSpan } = getCellSpan(cell);
|
|
6067
|
+
currentColumn += colSpan;
|
|
6068
|
+
}
|
|
6069
|
+
return targetRow.children.length;
|
|
6070
|
+
}
|
|
6071
|
+
/**
|
|
6072
|
+
* Create a new row with only the bottom cell.
|
|
6073
|
+
* Other columns will be covered by cells from the original row with increased rowSpan.
|
|
6074
|
+
*
|
|
6075
|
+
* @param {RTETableBodyBlock | RTETableHeadBlock} section - The section (thead or tbody).
|
|
6076
|
+
* @param {RTETableCellBlock | RTETableHeadCellBlock} bottomCell - The bottom cell to insert.
|
|
6077
|
+
* @returns {RTETableRowBlock} The newly created row.
|
|
6078
|
+
*/
|
|
6079
|
+
createNewRowWithCell(section, bottomCell) {
|
|
6080
|
+
const rowTemplate = {
|
|
6081
|
+
id: generateUUID(),
|
|
6082
|
+
type: 'table-row',
|
|
6083
|
+
children: [],
|
|
6084
|
+
};
|
|
6085
|
+
const newRow = RTETableRowBlock.from(rowTemplate);
|
|
6086
|
+
newRow.parent = section;
|
|
6087
|
+
// Add the bottom cell to the row
|
|
6088
|
+
newRow.children.push(bottomCell);
|
|
6089
|
+
bottomCell.parent = newRow;
|
|
6090
|
+
return newRow;
|
|
6091
|
+
}
|
|
6092
|
+
/**
|
|
6093
|
+
* Update all cells from all previous rows that span through the newly inserted row.
|
|
6094
|
+
* When a new row is inserted at `insertionRowIndex`, any cell from a previous row
|
|
6095
|
+
* that has rowSpan extending to or beyond that position needs rowSpan increased by 1.
|
|
6096
|
+
*
|
|
6097
|
+
* @param {RTETableRowBlock[]} allRows - All rows in the table (after insertion).
|
|
6098
|
+
* @param {number} insertionRowIndex - The index where the new row was inserted.
|
|
6099
|
+
* @param {RTETableCellBlock | RTETableHeadCellBlock} splitCell - The cell that was split (skip this one).
|
|
6100
|
+
* @param {RTETableBlock} table - The table block.
|
|
6101
|
+
*/
|
|
6102
|
+
updateCellsSpanningThroughInsertionPoint(allRows, insertionRowIndex, splitCell, table) {
|
|
6103
|
+
// Check all rows before the insertion point (not including the inserted row itself)
|
|
6104
|
+
for (let r = 0; r < insertionRowIndex; r++) {
|
|
6105
|
+
const row = allRows[r];
|
|
6106
|
+
for (const cell of row.children) {
|
|
6107
|
+
// Skip the cell that was split - it already has the correct rowSpan
|
|
6108
|
+
if (cell === splitCell) {
|
|
6109
|
+
continue;
|
|
6110
|
+
}
|
|
6111
|
+
const { colSpan, rowSpan } = getCellSpan(cell);
|
|
6112
|
+
// Calculate where this cell ends
|
|
6113
|
+
const cellRowEnd = r + rowSpan;
|
|
6114
|
+
// If this cell extends to or past where we inserted the row,
|
|
6115
|
+
// it needs to span over the new row too
|
|
6116
|
+
if (cellRowEnd >= insertionRowIndex) {
|
|
6117
|
+
setSpanAttributes(cell, colSpan, rowSpan + 1, table);
|
|
6118
|
+
}
|
|
6119
|
+
}
|
|
6120
|
+
}
|
|
6121
|
+
}
|
|
6122
|
+
}
|
|
6123
|
+
|
|
6124
|
+
/**
|
|
6125
|
+
* Strategy to handle vertical split of a table cell (splits left/right).
|
|
6126
|
+
*/
|
|
6127
|
+
class SplitCellVerticallyStrategy extends ActionHandleStrategy {
|
|
6128
|
+
/**
|
|
6129
|
+
* @inheritDoc
|
|
6130
|
+
*/
|
|
6131
|
+
handleAction(_action, target) {
|
|
6132
|
+
const row = target.parent;
|
|
6133
|
+
const table = getParentBlockByType(row, RTETableBlock);
|
|
6134
|
+
const allRows = getAllTableRows(table);
|
|
6135
|
+
const currentRowIndex = allRows.indexOf(row);
|
|
6136
|
+
const { colSpan, rowSpan } = getCellSpan(target);
|
|
6137
|
+
// Get the actual column position of the cell being split
|
|
6138
|
+
const cellColumnStart = getActualColumnPosition(target, allRows);
|
|
6139
|
+
const cellColumnEnd = cellColumnStart + colSpan - 1;
|
|
6140
|
+
// Calculate new column spans (split the column span)
|
|
6141
|
+
const leftColSpan = Math.ceil(colSpan / 2);
|
|
6142
|
+
const rightColSpan = Math.floor(colSpan / 2);
|
|
6143
|
+
// Update original cell's column spans (left cell)
|
|
6144
|
+
setSpanAttributes(target, leftColSpan, rowSpan, table);
|
|
6145
|
+
// Create new cell (right cell) with same type as original
|
|
6146
|
+
const newCell = createNewCell(target.type);
|
|
6147
|
+
setSpanAttributes(newCell, rightColSpan, rowSpan, table);
|
|
6148
|
+
// Insert new cell after the original in the same row
|
|
6149
|
+
row.apply(new InsertChildrenAfterAction(target, newCell));
|
|
6150
|
+
// Only when splitting a cell with colSpan=1 do we add a new column to the table.
|
|
6151
|
+
// When colSpan>1, we're just redistributing existing columns.
|
|
6152
|
+
// For example:
|
|
6153
|
+
// colSpan=1: split into 1+1 → adds 1 new column
|
|
6154
|
+
// colSpan=2: split into 1+1 → just redistributes 2 existing columns
|
|
6155
|
+
// colSpan=3: split into 2+1 → just redistributes 3 existing columns
|
|
6156
|
+
const newColumnsAdded = colSpan === 1 ? 1 : 0;
|
|
6157
|
+
if (newColumnsAdded > 0) {
|
|
6158
|
+
this.updateOtherRowsCells(allRows, currentRowIndex, cellColumnStart, cellColumnEnd, rowSpan, newColumnsAdded, table);
|
|
6159
|
+
}
|
|
6160
|
+
}
|
|
6161
|
+
/**
|
|
6162
|
+
* Update cells in other rows to account for the new columns added by the split.
|
|
6163
|
+
* When a cell is split vertically and new columns are added to the table,
|
|
6164
|
+
* cells in other rows that span across the position where the split happened
|
|
6165
|
+
* need their colSpan increased.
|
|
6166
|
+
*
|
|
6167
|
+
* @param {RTETableRowBlock[]} allRows - All rows in the table.
|
|
6168
|
+
* @param {number} splitRowIndex - The index of the row containing the split cell.
|
|
6169
|
+
* @param {number} splitColumnStart - The starting column position of the split cell.
|
|
6170
|
+
* @param {number} splitColumnEnd - The ending column position of the split cell.
|
|
6171
|
+
* @param {number} splitCellRowSpan - The rowSpan of the split cell.
|
|
6172
|
+
* @param {number} newColumnsAdded - The number of new columns added by the split.
|
|
6173
|
+
* @param {RTETableBlock} table - The table block.
|
|
6174
|
+
*/
|
|
6175
|
+
updateOtherRowsCells(allRows, splitRowIndex, splitColumnStart, splitColumnEnd, splitCellRowSpan, newColumnsAdded, table) {
|
|
6176
|
+
// Iterate through all rows
|
|
6177
|
+
for (let rowIndex = 0; rowIndex < allRows.length; rowIndex++) {
|
|
6178
|
+
const currentRow = allRows[rowIndex];
|
|
6179
|
+
// Skip rows that are spanned by the split cell itself
|
|
6180
|
+
if (rowIndex >= splitRowIndex && rowIndex < splitRowIndex + splitCellRowSpan) {
|
|
6181
|
+
continue;
|
|
6182
|
+
}
|
|
6183
|
+
// Check each cell in the current row
|
|
6184
|
+
for (const cell of currentRow.children) {
|
|
6185
|
+
const cellColumnStart = getActualColumnPosition(cell, allRows);
|
|
6186
|
+
const { colSpan, rowSpan } = getCellSpan(cell);
|
|
6187
|
+
const cellColumnEnd = cellColumnStart + colSpan - 1;
|
|
6188
|
+
// Check if this cell spans across the columns where the split happened
|
|
6189
|
+
// A cell needs updating if its column range overlaps with the split cell's column range
|
|
6190
|
+
const overlaps = cellColumnEnd >= splitColumnStart && cellColumnStart <= splitColumnEnd;
|
|
6191
|
+
if (overlaps) {
|
|
6192
|
+
// Increase this cell's colSpan by the number of new columns added
|
|
6193
|
+
setSpanAttributes(cell, colSpan + newColumnsAdded, rowSpan, table);
|
|
6194
|
+
break; // No need to check other cells in this row
|
|
6195
|
+
}
|
|
6196
|
+
}
|
|
6197
|
+
}
|
|
6198
|
+
}
|
|
6199
|
+
}
|
|
6200
|
+
|
|
5902
6201
|
/**
|
|
5903
6202
|
* Function extension class for Vega Rich Text Editor.
|
|
5904
6203
|
*/
|
|
@@ -5906,7 +6205,7 @@ class VegaRTETableExtension extends VegaRTEExtension {
|
|
|
5906
6205
|
/**
|
|
5907
6206
|
* Instantiate the table extension
|
|
5908
6207
|
*
|
|
5909
|
-
* @param {
|
|
6208
|
+
* @param {VegaRTEColorSchema[]} colors - The table border color and background color list.
|
|
5910
6209
|
*/
|
|
5911
6210
|
constructor(colors = RTE_TABLE_DEFAULT_COLORS) {
|
|
5912
6211
|
super();
|
|
@@ -5916,6 +6215,7 @@ class VegaRTETableExtension extends VegaRTEExtension {
|
|
|
5916
6215
|
this.tableCellRenderer = new RTETableCellRenderer();
|
|
5917
6216
|
this.tableHeadCellRenderer = new RTETableHeadCellRenderer();
|
|
5918
6217
|
this.tableSelection = new RTETableSelection();
|
|
6218
|
+
RTETableColorManager.setTableColors(colors);
|
|
5919
6219
|
this.registerToolbarButtonRenderer('table', this.toolbarButtonRenderer);
|
|
5920
6220
|
this.registerBlockBasicStrategies(RTETableBlock.name);
|
|
5921
6221
|
this.registerBlockBasicStrategies(RTETableHeadBlock.name);
|
|
@@ -5947,7 +6247,6 @@ class VegaRTETableExtension extends VegaRTEExtension {
|
|
|
5947
6247
|
this.registerAnnotationHandler(new TableAnnotationHandler());
|
|
5948
6248
|
this.registerAnnotationHandler(new TableCellAnnotationHandler());
|
|
5949
6249
|
this.registerAnnotationHandler(new TableHeadCellAnnotationHandler());
|
|
5950
|
-
this.tableBlockRenderer.updateTableColorSchema(colors);
|
|
5951
6250
|
}
|
|
5952
6251
|
/**
|
|
5953
6252
|
* Initializes the extension with the given context
|
|
@@ -5985,7 +6284,12 @@ class VegaRTETableExtension extends VegaRTEExtension {
|
|
|
5985
6284
|
VegaRTEExtension.registerActionHandleStrategy(RTETableBlock.name, INSERT_TABLE_COLUMN, new InsertTableColumnStrategy());
|
|
5986
6285
|
VegaRTEExtension.registerActionHandleStrategy(RTETableBlock.name, DELETE_TABLE_COLUMN, new DeleteTableColumnStrategy());
|
|
5987
6286
|
VegaRTEExtension.registerActionHandleStrategy(RTETableBlock.name, TOGGLE_HEADER_TABLE_COLUMN, new ToggleHeaderTableColumnStrategy());
|
|
6287
|
+
VegaRTEExtension.registerActionHandleStrategy(RTETableCellBlock.name, SPLIT_CELL_HORIZONTALLY, new SplitCellHorizontallyStrategy());
|
|
6288
|
+
VegaRTEExtension.registerActionHandleStrategy(RTETableCellBlock.name, SPLIT_CELL_VERTICALLY, new SplitCellVerticallyStrategy());
|
|
6289
|
+
VegaRTEExtension.registerActionHandleStrategy(RTETableHeadCellBlock.name, SPLIT_CELL_HORIZONTALLY, new SplitCellHorizontallyStrategy());
|
|
6290
|
+
VegaRTEExtension.registerActionHandleStrategy(RTETableHeadCellBlock.name, SPLIT_CELL_VERTICALLY, new SplitCellVerticallyStrategy());
|
|
5988
6291
|
VegaRTEExtension.registerActionHandleStrategy(RTETableBlock.name, SELECT_TABLE_COLUMN, new SelectTableColumnStrategy());
|
|
6292
|
+
VegaRTEExtension.registerActionHandleStrategy(RTETableBlock.name, MERGE_CELLS, new MergeCellsStrategy());
|
|
5989
6293
|
VegaRTEExtension.registerActionHandleStrategy(RTETableBlock.name, UpdateTablePropertiesAction.name, new UpdateTablePropertiesStrategy());
|
|
5990
6294
|
VegaRTEExtension.registerActionHandleStrategy(RTETableCellBlock.name, RTETableCellAnnotationsAction.name, new UpdateTableCellPropertiesStrategy());
|
|
5991
6295
|
VegaRTEExtension.registerActionHandleStrategy(RTETableHeadCellBlock.name, RTETableHeadCellAnnotationsAction.name, new UpdateTableCellPropertiesStrategy());
|
|
@@ -5995,4 +6299,4 @@ class VegaRTETableExtension extends VegaRTEExtension {
|
|
|
5995
6299
|
VegaRTEExtension.registerActionHandlerInterceptor(RTETableHeadCellBlock.name, ModifyContentActionType.DELETE_CHILDREN, new PreventCellChildrenRemoveInterceptor());
|
|
5996
6300
|
})();
|
|
5997
6301
|
|
|
5998
|
-
export { ActionHandlerInterceptor as A, InsertNodeToNearestRootAction as I, RTETokenToolbarButtonRenderer as R, VegaLoader as V, VegaNotify as a,
|
|
6302
|
+
export { ActionHandlerInterceptor as A, InsertNodeToNearestRootAction as I, RTETokenToolbarButtonRenderer as R, VegaLoader as V, VegaNotify as a, VegaDialog as b, VegaEventManager$1 as c, VegaZIndexManager$1 as d, VegaSkeletonLoader as e, VegaRTETokenExtension as f, VegaRTEFunctionExtension as g, VegaRTETableExtension as h, VegaRTEToolbarButtonRenderer as i, VegaRTEExtension as j, VegaRTEExtensionRenderer as k, RTETokenNode as l, RTETokenNodeRenderer as m, InternalVegaZIndexManager$1 as n };
|