@heartlandone/vega 2.94.0 → 2.96.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{app-globals-d05c3410.js → app-globals-38afea36.js} +7 -7
- package/dist/cjs/{child-nodes-event-prevent-slimmer-e67ee84c.js → child-nodes-event-prevent-slimmer-e0ac8467.js} +1 -1
- package/dist/cjs/{code-block-493c7ce7.js → code-block-4126dc3b.js} +1501 -55
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-ab21fcbf.js → component-value-history-controller-slimmer.abstract-38ba956e.js} +2 -2
- package/dist/cjs/{content-state-fc34a814.js → content-state-50e8a03c.js} +142 -580
- package/dist/cjs/{element-appender-slimmer-1d6323c2.js → element-appender-slimmer-7773fdab.js} +115 -0
- package/dist/cjs/{event-emit-slimmer-d234a619.js → event-emit-slimmer-34aa195e.js} +1 -1
- package/dist/cjs/{image-annotation-action-7c4cd316.js → image-annotation-action-89363de8.js} +2 -2
- package/dist/cjs/{image-extension-30a7c10f.js → image-extension-c881c454.js} +2 -2
- package/dist/cjs/index.cjs.js +11 -11
- package/dist/cjs/{internal-vega-event-manager-13c4012b.js → internal-vega-event-manager-7003c84a.js} +10 -2
- package/dist/cjs/{link-extension-92a63cb7.js → link-extension-b7f99a52.js} +2 -2
- package/dist/cjs/loader.cjs.js +9 -9
- package/dist/cjs/{public-rules-9e1ea1d9.js → public-rules-72894208.js} +3 -3
- package/dist/cjs/{range-30219330.js → range-95d41dea.js} +1 -1
- package/dist/cjs/{rich-text-editor-required-rule-23bf7485.js → rich-text-editor-required-rule-4d6d2493.js} +1 -1
- package/dist/cjs/shared-backdrop-manager-71e54fdb.js +199 -0
- package/dist/cjs/{split-cell-operation-43752212.js → split-cell-operation-70be116d.js} +2 -2
- package/dist/cjs/{token-extension-ea891d54.js → token-extension-eb828948.js} +36 -12
- package/dist/cjs/vega-accordion.cjs.entry.js +2 -2
- package/dist/cjs/vega-app-footer.cjs.entry.js +2 -2
- package/dist/cjs/vega-app-header-button.cjs.entry.js +3 -3
- package/dist/cjs/vega-banner.cjs.entry.js +2 -2
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +3 -3
- package/dist/cjs/vega-button-circle.cjs.entry.js +3 -3
- package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-button-link.cjs.entry.js +3 -3
- package/dist/cjs/vega-button.cjs.entry.js +3 -3
- package/dist/cjs/vega-calendar_5.cjs.entry.js +3 -3
- package/dist/cjs/vega-carousel.cjs.entry.js +2 -2
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-chip.cjs.entry.js +3 -3
- package/dist/cjs/vega-code-block.cjs.entry.js +6 -6
- package/dist/cjs/vega-color-picker.cjs.entry.js +2 -2
- package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +3 -3
- package/dist/cjs/vega-color-swatch.cjs.entry.js +2 -2
- package/dist/cjs/vega-combo-box.cjs.entry.js +22 -4
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-dialog_2.cjs.entry.js +160 -70
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +41 -13
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-label.cjs.entry.js +2 -2
- package/dist/cjs/vega-file-uploader.cjs.entry.js +2 -2
- package/dist/cjs/vega-form.cjs.entry.js +3 -3
- package/dist/cjs/vega-image-uploader.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-numeric.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-passcode.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-range.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-select.cjs.entry.js +54 -5
- package/dist/cjs/vega-input.cjs.entry.js +2 -2
- package/dist/cjs/vega-item-toggle.cjs.entry.js +2 -2
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +32 -193
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +2 -2
- package/dist/cjs/vega-pagination.cjs.entry.js +3 -3
- package/dist/cjs/vega-popover_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +13 -3
- package/dist/cjs/vega-radio_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +58 -9
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +611 -93
- package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +2 -2
- package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +2 -2
- package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +5 -5
- package/dist/cjs/vega-section-title.cjs.entry.js +896 -14
- package/dist/cjs/vega-segment-control.cjs.entry.js +2 -2
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +2 -2
- package/dist/cjs/vega-signature-capture.cjs.entry.js +2 -2
- package/dist/cjs/vega-stepper.cjs.entry.js +3 -3
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-table_11.cjs.entry.js +3 -3
- package/dist/cjs/vega-textarea.cjs.entry.js +3 -3
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +2 -2
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +1 -1
- package/dist/cjs/vega.cjs.js +9 -9
- package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +5 -1
- package/dist/collection/components/vega-combo-box/vega-combo-box.js +52 -1
- package/dist/collection/components/vega-dialog/vega-dialog.js +1 -1
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-render-mode-controller.js +7 -6
- package/dist/collection/components/vega-dropdown/vega-dropdown.js +36 -8
- package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.js +11 -1
- package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-items-slot-controler.js +23 -2
- package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +4 -0
- package/dist/collection/components/vega-input-select/vega-input-select.js +53 -2
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-backdrop-manager.js +141 -0
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +10 -17
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-z-index-controller.js +2 -2
- package/dist/collection/components/vega-modal/slimmers/renderers/vega-modal-renderer.js +3 -2
- package/dist/collection/components/vega-modal/vega-modal.js +77 -8
- package/dist/collection/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-steps-controller.js +7 -0
- package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.js +6 -0
- package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.css +4 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.js +29 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-or-decorator-node-strategy.js +10 -1
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-list-strategy.js +8 -3
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-annotation-strategy.abstract.js +60 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-replace-nest-list-strategy.js +36 -4
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-items-strategy.abstract.js +27 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-nest-items-strategy.js +74 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.js +81 -1
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-selection.js +30 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-list-strategy.js +160 -9
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-paragraph-strategy.js +376 -10
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-unnest-items-strategy.js +104 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/nest-list-items-action.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/unnest-list-items-action.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/list-annotation.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +10 -1
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +11 -3
- package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +7 -1
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-block-filter-styles-strategy.js +8 -4
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +34 -1
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +20 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/table/annotation-handler/table-annotation-handler-base.js +25 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/li-to-rte-list-item-block-strategy.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/abstract-delete-content-handler.js +29 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +30 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/abstract-list-keyboard-handler.js +204 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-shift-tab-outdent-handler.js +42 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-tab-indent-handler.js +34 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/list-keyboard-slimmer.js +180 -0
- package/dist/collection/components/vega-section-title/slimmers/a11y-tree/build-section-title-a11y-tree.js +54 -0
- package/dist/collection/components/vega-section-title/slimmers/renderers/vega-section-title-renderer.js +4 -4
- package/dist/collection/components/vega-section-title/vega-section-title.js +18 -2
- package/dist/collection/helpers/a11y-tree/a11y-node-dto.js +210 -0
- package/dist/collection/helpers/a11y-tree/a11y-tree-applier.js +189 -0
- package/dist/collection/helpers/a11y-tree/a11y-tree.types.js +48 -0
- package/dist/collection/helpers/a11y-tree/strategies/baseline-strategy.js +78 -0
- package/dist/collection/helpers/a11y-tree/strategies/firefox-nvda-strategy.js +56 -0
- package/dist/collection/helpers/a11y-tree/strategies/webkit-voiceover-strategy.js +140 -0
- package/dist/collection/helpers/a11y-tree/strategy-resolver.js +172 -0
- package/dist/collection/helpers/backdrop/shared-backdrop-manager.js +32 -1
- package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +11 -3
- package/dist/collection/helpers/slimmers/a11y-tree-slimmer.js +54 -0
- package/dist/collection/helpers/slimmers/element-appender/element-appender-slimmer.js +29 -0
- package/dist/collection/helpers/slimmers/element-appender/visibility-modifiers/clip-on-scroll-modifier.js +70 -0
- package/dist/collection/helpers/slimmers/element-appender/visibility-modifiers/visibility-modifier.interface.js +1 -0
- package/dist/collection/helpers/ui/element-appender.js +16 -0
- package/dist/esm/{app-globals-f2336686.js → app-globals-d7b651c1.js} +7 -7
- package/dist/esm/{child-nodes-event-prevent-slimmer-96c14f5a.js → child-nodes-event-prevent-slimmer-82626871.js} +1 -1
- package/dist/esm/{code-block-e12588fe.js → code-block-0a88b481.js} +1495 -51
- package/dist/esm/{component-value-history-controller-slimmer.abstract-4e8eb313.js → component-value-history-controller-slimmer.abstract-6846edfa.js} +2 -2
- package/dist/esm/{content-state-8032467a.js → content-state-79ca99e5.js} +105 -541
- package/dist/esm/{element-appender-slimmer-7fcb944b.js → element-appender-slimmer-73ad10ae.js} +115 -0
- package/dist/esm/{event-emit-slimmer-db4a82e0.js → event-emit-slimmer-2452278f.js} +1 -1
- package/dist/esm/{image-annotation-action-b3b6c308.js → image-annotation-action-bb299ef1.js} +3 -3
- package/dist/esm/{image-extension-b6c7e4a7.js → image-extension-48a96f98.js} +2 -2
- package/dist/esm/index.js +10 -10
- package/dist/esm/{internal-vega-event-manager-48690e5b.js → internal-vega-event-manager-2ecc9186.js} +11 -3
- package/dist/esm/{link-extension-97fcb8fb.js → link-extension-09534514.js} +2 -2
- package/dist/esm/loader.js +10 -10
- package/dist/esm/{public-rules-c06f0d2a.js → public-rules-5eb03ef0.js} +3 -3
- package/dist/esm/{range-e999837f.js → range-d4deb7df.js} +1 -1
- package/dist/esm/{rich-text-editor-required-rule-71f8ee98.js → rich-text-editor-required-rule-5bbbce23.js} +1 -1
- package/dist/esm/shared-backdrop-manager-a7c63838.js +197 -0
- package/dist/esm/{split-cell-operation-359f8082.js → split-cell-operation-7f3058ad.js} +2 -2
- package/dist/esm/{token-extension-9896879b.js → token-extension-40c32bcc.js} +32 -8
- package/dist/esm/vega-accordion.entry.js +3 -3
- package/dist/esm/vega-app-footer.entry.js +3 -3
- package/dist/esm/vega-app-header-button.entry.js +4 -4
- package/dist/esm/vega-banner.entry.js +3 -3
- package/dist/esm/vega-breadcrumb.entry.js +4 -4
- package/dist/esm/vega-button-circle.entry.js +4 -4
- package/dist/esm/vega-button-group_2.entry.js +4 -4
- package/dist/esm/vega-button-link.entry.js +4 -4
- package/dist/esm/vega-button.entry.js +4 -4
- package/dist/esm/vega-calendar_5.entry.js +4 -4
- package/dist/esm/vega-carousel.entry.js +3 -3
- package/dist/esm/vega-checkbox_2.entry.js +4 -4
- package/dist/esm/vega-chip.entry.js +4 -4
- package/dist/esm/vega-code-block.entry.js +7 -7
- package/dist/esm/vega-color-picker.entry.js +3 -3
- package/dist/esm/vega-color-swatch-picker.entry.js +4 -4
- package/dist/esm/vega-color-swatch.entry.js +3 -3
- package/dist/esm/vega-combo-box.entry.js +23 -5
- package/dist/esm/vega-date-picker_2.entry.js +5 -5
- package/dist/esm/vega-dialog_2.entry.js +161 -71
- package/dist/esm/vega-dropdown_5.entry.js +42 -14
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/{vega-event-id-270fe47e.js → vega-event-id-f55f6977.js} +1 -1
- package/dist/esm/vega-field-label.entry.js +3 -3
- package/dist/esm/vega-file-uploader.entry.js +3 -3
- package/dist/esm/vega-form.entry.js +4 -4
- package/dist/esm/vega-image-uploader.entry.js +4 -4
- package/dist/esm/vega-input-credit-card.entry.js +4 -4
- package/dist/esm/vega-input-numeric.entry.js +4 -4
- package/dist/esm/vega-input-passcode.entry.js +4 -4
- package/dist/esm/vega-input-phone-number.entry.js +4 -4
- package/dist/esm/vega-input-range.entry.js +4 -4
- package/dist/esm/vega-input-select.entry.js +55 -6
- package/dist/esm/vega-input.entry.js +3 -3
- package/dist/esm/vega-item-toggle.entry.js +3 -3
- package/dist/esm/vega-left-nav_5.entry.js +32 -193
- 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 +4 -4
- package/dist/esm/vega-popover_2.entry.js +4 -4
- package/dist/esm/vega-progress-tracker_2.entry.js +14 -4
- package/dist/esm/vega-radio_2.entry.js +4 -4
- package/dist/esm/vega-rich-text-content.entry.js +59 -10
- package/dist/esm/vega-rich-text-editor_4.entry.js +608 -90
- package/dist/esm/vega-rich-text-find-replace-panel.entry.js +3 -3
- package/dist/esm/vega-rich-text-special-characters-panel.entry.js +3 -3
- package/dist/esm/vega-rich-text-table-properties_3.entry.js +6 -6
- package/dist/esm/vega-section-title.entry.js +897 -15
- package/dist/esm/vega-segment-control.entry.js +3 -3
- package/dist/esm/vega-selection-chip_2.entry.js +4 -4
- package/dist/esm/vega-selection-tile_2.entry.js +4 -4
- package/dist/esm/vega-sidenav_3.entry.js +3 -3
- package/dist/esm/vega-signature-capture.entry.js +3 -3
- package/dist/esm/vega-stepper.entry.js +4 -4
- package/dist/esm/vega-tab-group_2.entry.js +4 -4
- package/dist/esm/vega-table_11.entry.js +4 -4
- package/dist/esm/vega-textarea.entry.js +4 -4
- package/dist/esm/vega-time-picker_2.entry.js +5 -5
- package/dist/esm/vega-toggle-switch.entry.js +3 -3
- package/dist/esm/vega-tooltip_2.entry.js +1 -1
- package/dist/esm/vega.js +10 -10
- package/dist/sri/vega-sri-manifest.json +272 -268
- package/dist/types/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.d.ts +1 -0
- package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +21 -0
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-render-mode-controller.d.ts +2 -1
- package/dist/types/components/vega-dropdown/types.d.ts +2 -2
- package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +36 -9
- package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.d.ts +2 -0
- package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-items-slot-controler.d.ts +10 -0
- package/dist/types/components/vega-input-select/types.d.ts +1 -0
- package/dist/types/components/vega-input-select/vega-input-select.d.ts +21 -0
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-backdrop-manager.d.ts +66 -0
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.d.ts +1 -5
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-z-index-controller.d.ts +1 -1
- package/dist/types/components/vega-modal/slimmers/renderers/vega-modal-renderer.d.ts +1 -1
- package/dist/types/components/vega-modal/vega-modal.d.ts +34 -6
- package/dist/types/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-steps-controller.d.ts +2 -0
- package/dist/types/components/vega-progress-tracker/vega-progress-tracker.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-annotation-strategy.abstract.d.ts +36 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-replace-nest-list-strategy.d.ts +14 -2
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-items-strategy.abstract.d.ts +22 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-nest-items-strategy.d.ts +21 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.d.ts +14 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-selection.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-list-strategy.d.ts +30 -3
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-paragraph-strategy.d.ts +99 -3
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-unnest-items-strategy.d.ts +22 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +2 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/nest-list-items-action.d.ts +11 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/unnest-list-items-action.d.ts +11 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/list-annotation.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +6 -1
- package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +5 -1
- package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.d.ts +2 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/annotation-handler/table-annotation-handler-base.d.ts +18 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/abstract-list-keyboard-handler.d.ts +99 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-shift-tab-outdent-handler.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-tab-indent-handler.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/list-keyboard-slimmer.d.ts +73 -0
- package/dist/types/components/vega-section-title/slimmers/a11y-tree/build-section-title-a11y-tree.d.ts +41 -0
- package/dist/types/components/vega-section-title/vega-section-title.d.ts +9 -0
- package/dist/types/components.d.ts +42 -8
- package/dist/types/helpers/a11y-tree/a11y-node-dto.d.ts +173 -0
- package/dist/types/helpers/a11y-tree/a11y-tree-applier.d.ts +28 -0
- package/dist/types/helpers/a11y-tree/a11y-tree.types.d.ts +137 -0
- package/dist/types/helpers/a11y-tree/strategies/baseline-strategy.d.ts +18 -0
- package/dist/types/helpers/a11y-tree/strategies/firefox-nvda-strategy.d.ts +16 -0
- package/dist/types/helpers/a11y-tree/strategies/webkit-voiceover-strategy.d.ts +23 -0
- package/dist/types/helpers/a11y-tree/strategy-resolver.d.ts +59 -0
- package/dist/types/helpers/backdrop/shared-backdrop-manager.d.ts +16 -0
- package/dist/types/helpers/slimmers/a11y-tree-slimmer.d.ts +49 -0
- package/dist/types/helpers/slimmers/element-appender/element-appender-slimmer.d.ts +9 -0
- package/dist/types/helpers/slimmers/element-appender/visibility-modifiers/clip-on-scroll-modifier.d.ts +37 -0
- package/dist/types/helpers/slimmers/element-appender/visibility-modifiers/visibility-modifier.interface.d.ts +56 -0
- package/dist/types/helpers/ui/element-appender.d.ts +7 -0
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-3e8baeac.entry.js → p-0512308f.entry.js} +1 -1
- package/dist/vega/{p-46fe3154.entry.js → p-1d8312d3.entry.js} +1 -1
- package/dist/vega/{p-f5d7b89f.entry.js → p-1dfbc542.entry.js} +1 -1
- package/dist/vega/{p-fbd3be00.entry.js → p-200c8914.entry.js} +1 -1
- package/dist/vega/{p-e235020b.entry.js → p-22cc174e.entry.js} +1 -1
- package/dist/vega/{p-b1ff70bf.js → p-2c737fc8.js} +1 -1
- package/dist/vega/{p-782eb312.entry.js → p-2d77ae73.entry.js} +1 -1
- package/dist/vega/{p-cb90163a.entry.js → p-2d8d4d5b.entry.js} +1 -1
- package/dist/vega/{p-f651df3b.entry.js → p-2df5d59b.entry.js} +1 -1
- package/dist/vega/p-31216140.js +1 -0
- package/dist/vega/{p-f7e459cd.js → p-312d8205.js} +1 -1
- package/dist/vega/{p-a7209700.js → p-3345d903.js} +1 -1
- package/dist/vega/{p-44439ecc.entry.js → p-36d2df7a.entry.js} +1 -1
- package/dist/vega/{p-02355de8.js → p-3c23ec90.js} +1 -1
- package/dist/vega/{p-2bf17505.entry.js → p-3d6f761a.entry.js} +1 -1
- package/dist/vega/p-4151f53a.entry.js +1 -0
- package/dist/vega/{p-a057285e.entry.js → p-49e1cf4d.entry.js} +1 -1
- package/dist/vega/{p-698fbd73.js → p-5447a8e8.js} +1 -1
- package/dist/vega/p-55e0014a.js +3 -0
- package/dist/vega/{p-45e8424a.entry.js → p-56d19601.entry.js} +1 -1
- package/dist/vega/{p-addbca58.entry.js → p-5924adae.entry.js} +1 -1
- package/dist/vega/{p-9dca874d.entry.js → p-5e4517eb.entry.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/p-65fee02f.entry.js +1 -0
- package/dist/vega/{p-140616fe.js → p-66647244.js} +1 -1
- package/dist/vega/{p-62d6e063.entry.js → p-6680ba17.entry.js} +1 -1
- package/dist/vega/p-6a51d720.js +1 -0
- package/dist/vega/{p-fe24b459.js → p-6c7b6d45.js} +1 -1
- package/dist/vega/{p-288d65ad.entry.js → p-6fcec7c7.entry.js} +1 -1
- package/dist/vega/{p-d08ffdf1.entry.js → p-74f86ff9.entry.js} +1 -1
- package/dist/vega/{p-6ad7144a.entry.js → p-775ecfad.entry.js} +1 -1
- package/dist/vega/{p-6f70a10f.entry.js → p-7950f3e2.entry.js} +1 -1
- package/dist/vega/{p-f246f125.entry.js → p-80b7945a.entry.js} +1 -1
- package/dist/vega/p-8354cff0.entry.js +1 -0
- package/dist/vega/{p-5db61a12.entry.js → p-841b3281.entry.js} +1 -1
- package/dist/vega/{p-579cdeae.js → p-84b7a775.js} +1 -1
- package/dist/vega/p-87e5cb56.entry.js +1 -0
- package/dist/vega/p-8c30a60d.js +1 -0
- package/dist/vega/{p-f8a29127.entry.js → p-8d96f0e8.entry.js} +1 -1
- package/dist/vega/{p-95913e3c.entry.js → p-91303402.entry.js} +1 -1
- package/dist/vega/p-96da7d30.entry.js +1 -0
- package/dist/vega/{p-51b68d25.js → p-9d3f69cb.js} +1 -1
- package/dist/vega/{p-ed103a1a.entry.js → p-9d96d83f.entry.js} +1 -1
- package/dist/vega/{p-6dfe2407.js → p-9f11b579.js} +1 -1
- package/dist/vega/p-9f201152.entry.js +1 -0
- package/dist/vega/{p-48ee3e24.entry.js → p-a775825e.entry.js} +1 -1
- package/dist/vega/{p-9d18ba7f.entry.js → p-acaff62d.entry.js} +1 -1
- package/dist/vega/{p-b8f8e480.entry.js → p-ae146458.entry.js} +1 -1
- package/dist/vega/{p-e8ee70c5.entry.js → p-b3a2ce06.entry.js} +1 -1
- package/dist/vega/{p-5107277d.entry.js → p-b4c26035.entry.js} +1 -1
- package/dist/vega/p-b63319e9.entry.js +1 -0
- package/dist/vega/{p-c9daabe1.entry.js → p-b660f38c.entry.js} +1 -1
- package/dist/vega/{p-8c083255.entry.js → p-b8c13ac9.entry.js} +1 -1
- package/dist/vega/p-b8ffa42f.entry.js +1 -0
- package/dist/vega/{p-7b57a845.entry.js → p-b9e72de2.entry.js} +1 -1
- package/dist/vega/{p-0af32f31.entry.js → p-bb60e381.entry.js} +1 -1
- package/dist/vega/p-bbad318e.entry.js +1 -0
- package/dist/vega/p-c0e42c03.entry.js +1 -0
- package/dist/vega/{p-c67b9aba.entry.js → p-c41f5684.entry.js} +1 -1
- package/dist/vega/{p-4fe40b76.js → p-c4564904.js} +1 -1
- package/dist/vega/{p-341a6b32.entry.js → p-c54b5a8f.entry.js} +1 -1
- package/dist/vega/p-cd1e976c.entry.js +1 -0
- package/dist/vega/p-d9158512.js +1 -0
- package/dist/vega/{p-2dc5edd0.entry.js → p-db11134b.entry.js} +1 -1
- package/dist/vega/{p-14559974.entry.js → p-e1737c8e.entry.js} +1 -1
- package/dist/vega/{p-0b311599.entry.js → p-e1b57e8f.entry.js} +1 -1
- package/dist/vega/{p-9f38448c.entry.js → p-e5ff77f7.entry.js} +1 -1
- package/dist/vega/p-e62d41ee.js +1 -0
- package/dist/vega/{p-6f01a71a.entry.js → p-ebe32b25.entry.js} +1 -1
- package/dist/vega/p-ec162599.entry.js +1 -0
- package/dist/vega/{p-9f7154d2.js → p-ec5dee32.js} +1 -1
- package/dist/vega/{p-d3a36d19.entry.js → p-ec64cc59.entry.js} +1 -1
- package/dist/vega/p-f29d9707.entry.js +1 -0
- package/dist/vega/{p-5df2d6a1.entry.js → p-f78944d7.entry.js} +1 -1
- package/dist/vega/{p-c9c6daa6.entry.js → p-f9bfee81.entry.js} +1 -1
- package/dist/vega/{p-26c7fe8b.entry.js → p-fa65956c.entry.js} +1 -1
- package/dist/vega/{p-f96d0503.entry.js → p-fc7e4c8a.entry.js} +1 -1
- package/dist/vega/{p-b39d4a88.entry.js → p-fd23c365.entry.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +3 -2
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-backdrop-controller.js +0 -73
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-backdrop-controller.d.ts +0 -27
- package/dist/vega/p-0b9c7c79.entry.js +0 -1
- package/dist/vega/p-0be4df0a.js +0 -1
- package/dist/vega/p-2364be92.entry.js +0 -1
- package/dist/vega/p-270697c0.entry.js +0 -1
- package/dist/vega/p-282b37cb.js +0 -1
- package/dist/vega/p-38c9d782.js +0 -1
- package/dist/vega/p-52c6a399.entry.js +0 -1
- package/dist/vega/p-73f2c3c0.entry.js +0 -1
- package/dist/vega/p-762ea523.entry.js +0 -1
- package/dist/vega/p-7a88a3d3.entry.js +0 -1
- package/dist/vega/p-83a16285.entry.js +0 -1
- package/dist/vega/p-91287214.entry.js +0 -1
- package/dist/vega/p-c66d2a1e.js +0 -1
- package/dist/vega/p-cad5222a.entry.js +0 -1
- package/dist/vega/p-d25ca0c3.entry.js +0 -1
- package/dist/vega/p-f05a193e.entry.js +0 -1
- package/dist/vega/p-f4da615a.js +0 -3
- package/dist/vega/p-f906a7bc.entry.js +0 -1
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { RemoveChildrenAction } from '../../actions/remove-child-action';
|
|
2
|
+
import { InsertChildrenAfterAction } from '../../actions/insert-children-after-block';
|
|
3
|
+
import { InsertChildrenBeforeAction } from '../../actions/insert-children-before-block';
|
|
2
4
|
import { RemoveNestListAction } from '../../actions/remove-nest-list-action';
|
|
5
|
+
import { ReplaceNestListAction } from '../../actions/replace-nest-list-action';
|
|
6
|
+
import { RTEListItemBlock } from '../../blocks/list-item-block';
|
|
3
7
|
import { RemoveChildrenStrategy } from './remove-children-strategy';
|
|
4
8
|
/**
|
|
5
9
|
* List remove list item strategy.
|
|
@@ -12,16 +16,92 @@ export class ListRemoveListItemStrategy extends RemoveChildrenStrategy {
|
|
|
12
16
|
* @param {RTEListBlock} target - The list block.
|
|
13
17
|
*/
|
|
14
18
|
handleAction(action, target) {
|
|
19
|
+
var _a, _b;
|
|
20
|
+
const removingListItem = action.entityToBeRemoved instanceof RTEListItemBlock ? action.entityToBeRemoved : null;
|
|
21
|
+
const removingIndex = removingListItem ? target.children.indexOf(removingListItem) : -1;
|
|
22
|
+
if (((_a = removingListItem === null || removingListItem === void 0 ? void 0 : removingListItem.nestList) === null || _a === void 0 ? void 0 : _a.length) && removingIndex >= 0) {
|
|
23
|
+
this.promoteNestListsToUpperLevel(removingListItem, target, removingIndex);
|
|
24
|
+
}
|
|
15
25
|
super.handleAction(action, target);
|
|
16
26
|
const parent = target.parent;
|
|
17
27
|
if (target.children.length === 0 && parent) {
|
|
18
28
|
// The parent is a list item mean the current block is a nest list, so we need to use RemoveNestListAction to remove the item
|
|
19
29
|
if (parent['type'] === 'list-item') {
|
|
20
|
-
parent
|
|
30
|
+
const parentListItem = parent;
|
|
31
|
+
if ((_b = parentListItem.nestList) === null || _b === void 0 ? void 0 : _b.includes(target)) {
|
|
32
|
+
parentListItem.apply(new RemoveNestListAction(target));
|
|
33
|
+
}
|
|
21
34
|
}
|
|
22
35
|
else {
|
|
23
36
|
parent.apply(new RemoveChildrenAction(target));
|
|
24
37
|
}
|
|
25
38
|
}
|
|
26
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Promote nested lists of the list item being removed by one level.
|
|
42
|
+
*
|
|
43
|
+
* Same-type nested lists are flattened into the current (target) list to avoid
|
|
44
|
+
* creating redundant list wrappers. Different-type nested lists stay nested under
|
|
45
|
+
* the parent list item as siblings of the target list, positioned relative to the
|
|
46
|
+
* target so document order is preserved. When the parent is the root content, the
|
|
47
|
+
* different-type lists are inserted right after the target list instead.
|
|
48
|
+
*
|
|
49
|
+
* @param {RTEListItemBlock} removingListItem - The list item being removed.
|
|
50
|
+
* @param {RTEListBlock} target - The list currently containing the item.
|
|
51
|
+
* @param {number} removingIndex - The original index of the removing item.
|
|
52
|
+
*/
|
|
53
|
+
promoteNestListsToUpperLevel(removingListItem, target, removingIndex) {
|
|
54
|
+
var _a, _b;
|
|
55
|
+
const promotedLists = [...((_a = removingListItem.nestList) !== null && _a !== void 0 ? _a : [])];
|
|
56
|
+
let insertionIndex = removingIndex + 1;
|
|
57
|
+
const differentTypeLists = [];
|
|
58
|
+
promotedLists.forEach((listBlock) => {
|
|
59
|
+
if (listBlock.type === target.type) {
|
|
60
|
+
const promotedItems = [...listBlock.children];
|
|
61
|
+
if (promotedItems.length > 0) {
|
|
62
|
+
promotedItems.forEach((item) => {
|
|
63
|
+
item.parent = target;
|
|
64
|
+
});
|
|
65
|
+
target.children.splice(insertionIndex, 0, ...promotedItems);
|
|
66
|
+
insertionIndex += promotedItems.length;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
differentTypeLists.push(listBlock);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
const parent = target.parent;
|
|
74
|
+
if (differentTypeLists.length > 0 && parent instanceof RTEListItemBlock) {
|
|
75
|
+
// Different-type promoted lists stay nested under the parent item, as siblings
|
|
76
|
+
// of the target list. When the removed item was merged into the parent, its
|
|
77
|
+
// own nested lists follow it up one level and belong to the parent item — not
|
|
78
|
+
// flattened into the grandparent list. Position them relative to the target so
|
|
79
|
+
// document order is preserved.
|
|
80
|
+
const currentNestLists = [...((_b = parent.nestList) !== null && _b !== void 0 ? _b : [])];
|
|
81
|
+
const targetIndex = currentNestLists.indexOf(target);
|
|
82
|
+
if (targetIndex >= 0) {
|
|
83
|
+
// When removing the first item, its nested lists were visually above the
|
|
84
|
+
// remaining items, so they must be placed before the target list to
|
|
85
|
+
// preserve document order.
|
|
86
|
+
const insertAt = removingIndex === 0 ? targetIndex : targetIndex + 1;
|
|
87
|
+
currentNestLists.splice(insertAt, 0, ...differentTypeLists);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
currentNestLists.push(...differentTypeLists);
|
|
91
|
+
}
|
|
92
|
+
parent.apply(new ReplaceNestListAction(currentNestLists));
|
|
93
|
+
}
|
|
94
|
+
else if (differentTypeLists.length > 0) {
|
|
95
|
+
// Mirror the nested-parent ordering rule: when removing the first item,
|
|
96
|
+
// its nested lists were visually above the remaining items, so insert
|
|
97
|
+
// before the target to preserve document order.
|
|
98
|
+
if (removingIndex === 0) {
|
|
99
|
+
parent.apply(new InsertChildrenBeforeAction(target, ...differentTypeLists));
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
parent.apply(new InsertChildrenAfterAction(target, ...differentTypeLists));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
removingListItem.apply(new ReplaceNestListAction([]));
|
|
106
|
+
}
|
|
27
107
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalize a mixed paragraph/list selection before rebuilding it as a list.
|
|
3
|
+
*
|
|
4
|
+
* Selected list items whose owning ancestor item is also selected remain inside
|
|
5
|
+
* that ancestor's nestList instead of being emitted again as flattened siblings.
|
|
6
|
+
* Their immediate list type is still updated because the nested item was part of
|
|
7
|
+
* the toolbar selection.
|
|
8
|
+
*
|
|
9
|
+
* @param {RTEBlock[]} selectedBlocks - Blocks selected by the toolbar action.
|
|
10
|
+
* @param {ListType} listType - Target list type.
|
|
11
|
+
* @returns {RTEBlock[]} Top-level selected blocks to emit into the rebuilt list.
|
|
12
|
+
*/
|
|
13
|
+
export function normalizeMixedListSelection(selectedBlocks, listType) {
|
|
14
|
+
const selectedListItems = new Set(selectedBlocks.filter((block) => block.dtoName === 'RTEListItemBlock'));
|
|
15
|
+
return selectedBlocks.filter((block) => {
|
|
16
|
+
if (!(block.dtoName === 'RTEListItemBlock')) {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
let parentList = block.parent;
|
|
20
|
+
while (parentList.parent && parentList.parent.dtoName === 'RTEListItemBlock') {
|
|
21
|
+
const ownerItem = parentList.parent;
|
|
22
|
+
if (selectedListItems.has(ownerItem)) {
|
|
23
|
+
block.parent.type = listType;
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
parentList = ownerItem.parent;
|
|
27
|
+
}
|
|
28
|
+
return true;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
@@ -1,36 +1,187 @@
|
|
|
1
1
|
import { AppendChildrenAction } from '../../actions/append-child-nodes-action';
|
|
2
2
|
import { InsertChildrenAfterAction } from '../../actions/insert-children-after-block';
|
|
3
3
|
import { RemoveChildrenAction } from '../../actions/remove-child-action';
|
|
4
|
+
import { ReplaceNestListAction } from '../../actions/replace-nest-list-action';
|
|
4
5
|
import { SyncUpSelectionAction } from '../../actions/sync-up-selection-action';
|
|
5
|
-
import {
|
|
6
|
+
import { RTEListBlock } from '../../blocks/list-block';
|
|
7
|
+
import { RTEListItemBlock } from '../../blocks/list-item-block';
|
|
8
|
+
import { normalizeMixedListSelection } from './list-transform-selection';
|
|
9
|
+
import { ListAnnotationStrategy } from './list-annotation-strategy.abstract';
|
|
6
10
|
/**
|
|
7
11
|
* Convert the selected blocks to list strategy.
|
|
8
12
|
*/
|
|
9
|
-
export class ListTransformToListStrategy extends
|
|
13
|
+
export class ListTransformToListStrategy extends ListAnnotationStrategy {
|
|
10
14
|
/**
|
|
11
15
|
* @inheritDoc
|
|
12
16
|
*/
|
|
13
17
|
handleAction(action, target) {
|
|
18
|
+
var _a;
|
|
14
19
|
const selectedBlocks = action.selectedBlocks;
|
|
15
|
-
const bulletList = target.parent.createList(action.listType);
|
|
16
20
|
const isSameList = selectedBlocks.every((block) => block.parent === target);
|
|
21
|
+
const rootContent = this.getRootContent(target);
|
|
22
|
+
if (!rootContent) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
// Nested list case: target.parent is RTEListItemBlock, not VegaRTEContent.
|
|
26
|
+
// Replace the entry in the parent item's nestList using the existing ReplaceNestListAction.
|
|
27
|
+
if (target.parent instanceof RTEListItemBlock) {
|
|
28
|
+
if (isSameList) {
|
|
29
|
+
const newList = this.createListFromSource(rootContent, target, action.listType);
|
|
30
|
+
newList.apply(new AppendChildrenAction(target.children));
|
|
31
|
+
const parentListItem = target.parent;
|
|
32
|
+
const newNestList = ((_a = parentListItem.nestList) !== null && _a !== void 0 ? _a : []).map((list) => (list === target ? newList : list));
|
|
33
|
+
// Adjacent same-type merge is handled automatically by ListItemReplaceNestListStrategy.
|
|
34
|
+
parentListItem.apply(new ReplaceNestListAction(newNestList));
|
|
35
|
+
selectedBlocks.forEach((block) => block.children.map((node) => node.apply(new SyncUpSelectionAction())));
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
this.handleCrossListTransform(action, target);
|
|
39
|
+
}
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
// Root list case: target.parent is VegaRTEContent.
|
|
43
|
+
// When all selected blocks are list items from different lists, convert each
|
|
44
|
+
// affected list's type in place (preserving nesting), then normalize adjacent
|
|
45
|
+
// same-type root lists into one.
|
|
46
|
+
if (!isSameList && selectedBlocks.every((block) => block instanceof RTEListItemBlock)) {
|
|
47
|
+
const affectedLists = new Set(selectedBlocks.map((block) => block.parent));
|
|
48
|
+
// Track which root lists result from conversion (new lists replace old ones).
|
|
49
|
+
const convertedRootLists = new Set();
|
|
50
|
+
affectedLists.forEach((list) => {
|
|
51
|
+
if (list.type !== action.listType) {
|
|
52
|
+
this.convertListTypeInPlace(list, action.listType);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
// Collect current top-level lists that contain any selected item, grouped
|
|
56
|
+
// by their root or HTML-block container.
|
|
57
|
+
const affectedContainers = new Set();
|
|
58
|
+
selectedBlocks.forEach((block) => {
|
|
59
|
+
const parentList = block.parent;
|
|
60
|
+
if (!(parentList.parent instanceof RTEListItemBlock)) {
|
|
61
|
+
convertedRootLists.add(parentList);
|
|
62
|
+
affectedContainers.add(parentList.parent);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
// Only merge adjacent root lists when BOTH are affected by this transform.
|
|
66
|
+
affectedContainers.forEach((container) => {
|
|
67
|
+
for (let i = 0; i < container.children.length - 1;) {
|
|
68
|
+
const current = container.children[i];
|
|
69
|
+
const next = container.children[i + 1];
|
|
70
|
+
if (current instanceof RTEListBlock &&
|
|
71
|
+
next instanceof RTEListBlock &&
|
|
72
|
+
current.type === next.type &&
|
|
73
|
+
this.haveSameListAnnotations(current, next) &&
|
|
74
|
+
convertedRootLists.has(current) &&
|
|
75
|
+
convertedRootLists.has(next)) {
|
|
76
|
+
current.apply(new AppendChildrenAction([...next.children]));
|
|
77
|
+
container.apply(new RemoveChildrenAction(next));
|
|
78
|
+
convertedRootLists.delete(next);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
i++;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
selectedBlocks.forEach((block) => block.children.map((node) => node.apply(new SyncUpSelectionAction())));
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
const bulletList = this.createListFromSource(rootContent, target, action.listType);
|
|
89
|
+
const targetContainer = target.parent;
|
|
17
90
|
if (isSameList) {
|
|
18
91
|
// Select one or more list items belonging to the same list, and all items in this list should be updated
|
|
19
92
|
bulletList.apply(new AppendChildrenAction(target.children));
|
|
20
|
-
|
|
21
|
-
|
|
93
|
+
targetContainer.apply(new InsertChildrenAfterAction(target, bulletList));
|
|
94
|
+
targetContainer.apply(new RemoveChildrenAction(target));
|
|
22
95
|
selectedBlocks.forEach((block) => block.children.map((node) => node.apply(new SyncUpSelectionAction())));
|
|
23
96
|
}
|
|
24
97
|
else {
|
|
25
|
-
const
|
|
98
|
+
const mixedSelection = normalizeMixedListSelection(action.selectedBlocks, action.listType);
|
|
99
|
+
const listItems = mixedSelection.map((block) => rootContent.toListItem(block));
|
|
26
100
|
bulletList.apply(new AppendChildrenAction(listItems));
|
|
27
|
-
|
|
28
|
-
|
|
101
|
+
targetContainer.apply(new InsertChildrenAfterAction(target, bulletList));
|
|
102
|
+
mixedSelection.forEach((block) => {
|
|
29
103
|
block.parent.apply(new RemoveChildrenAction(block));
|
|
30
104
|
});
|
|
31
105
|
if (target.children.length === 0) {
|
|
32
|
-
|
|
106
|
+
targetContainer.apply(new RemoveChildrenAction(target));
|
|
33
107
|
}
|
|
34
108
|
}
|
|
35
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Convert a single list's type in place, preserving its items and their nested
|
|
112
|
+
* structure. Root lists are swapped in the content children; nested lists are
|
|
113
|
+
* swapped inside their parent item's nestList.
|
|
114
|
+
*
|
|
115
|
+
* @param {RTEListBlock} list - The list whose type should be converted.
|
|
116
|
+
* @param {RTEListBlock['type']} listType - The target list type.
|
|
117
|
+
*/
|
|
118
|
+
convertListTypeInPlace(list, listType) {
|
|
119
|
+
var _a;
|
|
120
|
+
const rootContent = this.getRootContent(list);
|
|
121
|
+
if (!rootContent) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const parent = list.parent;
|
|
125
|
+
const newList = this.createListFromSource(rootContent, list, listType);
|
|
126
|
+
newList.apply(new AppendChildrenAction([...list.children]));
|
|
127
|
+
if (parent instanceof RTEListItemBlock) {
|
|
128
|
+
// Adjacent same-type merge is handled automatically by ListItemReplaceNestListStrategy.
|
|
129
|
+
const newNestList = ((_a = parent.nestList) !== null && _a !== void 0 ? _a : []).map((entry) => entry === list ? newList : entry);
|
|
130
|
+
parent.apply(new ReplaceNestListAction(newNestList));
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
parent.apply(new InsertChildrenAfterAction(list, newList));
|
|
134
|
+
parent.apply(new RemoveChildrenAction(list));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Handle the case where selected blocks span multiple nestLists under the same parent item.
|
|
139
|
+
* Transform each affected list and then merge adjacent same-type lists.
|
|
140
|
+
*
|
|
141
|
+
* @param {TransformListAction} action - The transform action with selection and target list type.
|
|
142
|
+
* @param {RTEListBlock} target - The nested list where transformation starts.
|
|
143
|
+
*/
|
|
144
|
+
handleCrossListTransform(action, target) {
|
|
145
|
+
if (!(target.parent instanceof RTEListItemBlock)) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
const rootContent = this.getRootContent(target);
|
|
149
|
+
if (!rootContent) {
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
const parentListItem = target.parent;
|
|
153
|
+
const parentNestLists = parentListItem.nestList;
|
|
154
|
+
const affectedLists = new Set(action.selectedBlocks
|
|
155
|
+
.filter((block) => block instanceof RTEListItemBlock)
|
|
156
|
+
.map((block) => block.parent)
|
|
157
|
+
.filter((list) => parentNestLists.includes(list)));
|
|
158
|
+
if (!affectedLists.size) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
const newNestList = parentNestLists.map((list) => {
|
|
162
|
+
if (!affectedLists.has(list)) {
|
|
163
|
+
return list;
|
|
164
|
+
}
|
|
165
|
+
const newList = this.createListFromSource(rootContent, list, action.listType);
|
|
166
|
+
newList.apply(new AppendChildrenAction(list.children));
|
|
167
|
+
return newList;
|
|
168
|
+
});
|
|
169
|
+
// Adjacent same-type merge is handled automatically by ListItemReplaceNestListStrategy.
|
|
170
|
+
parentListItem.apply(new ReplaceNestListAction(newNestList));
|
|
171
|
+
action.selectedBlocks.forEach((block) => block.children.map((node) => node.apply(new SyncUpSelectionAction())));
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Create a replacement list through the owning content factory while retaining
|
|
175
|
+
* the source list's container annotations.
|
|
176
|
+
*
|
|
177
|
+
* @param {VegaRTEContent} rootContent - Editor content owning the factory.
|
|
178
|
+
* @param {RTEListBlock} source - List whose annotations should be retained.
|
|
179
|
+
* @param {RTEListBlock['type']} listType - Replacement list type.
|
|
180
|
+
* @returns {RTEListBlock} New annotated list shell.
|
|
181
|
+
*/
|
|
182
|
+
createListFromSource(rootContent, source, listType) {
|
|
183
|
+
const list = rootContent.createList(listType);
|
|
184
|
+
this.copyListAnnotations(source, list);
|
|
185
|
+
return list;
|
|
186
|
+
}
|
|
36
187
|
}
|