@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
|
@@ -12,7 +12,7 @@ import { InjectVegaGlobalSlimmer, InjectVegaSlimmer, methodPlaceholder, } from '
|
|
|
12
12
|
import { FormFieldControllerSlimmer } from '../../helpers/slimmers/form-field-controller-slimmer';
|
|
13
13
|
import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer';
|
|
14
14
|
import { createEventEmitSlimmer, } from '../../helpers/event-manager/slimmers/event-emit-slimmer';
|
|
15
|
-
import { VegaChange, VegaCreate, VegaSearch } from '../../helpers/event-manager/event-id/vega-event-id';
|
|
15
|
+
import { VegaChange, VegaCreate, VegaDropdownSelectAllClick, VegaSearch, } from '../../helpers/event-manager/event-id/vega-event-id';
|
|
16
16
|
import { FORM_ELEMENT_VALUE_CHANGE } from '../../helpers/change-manager/subject/static-subject/static-subject-title';
|
|
17
17
|
import ChangeManager from '../../helpers/change-manager/change-manager';
|
|
18
18
|
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
|
|
@@ -53,11 +53,17 @@ export class VegaComboBox {
|
|
|
53
53
|
this.changeEventEmit = createEventEmitSlimmer(VegaComboBox, VegaChange);
|
|
54
54
|
this.createEventEmit = createEventEmitSlimmer(VegaComboBox, VegaCreate);
|
|
55
55
|
this.searchEventEmit = createEventEmitSlimmer(VegaComboBox, VegaSearch);
|
|
56
|
+
this.selectAllClickEventEmit = createEventEmitSlimmer(VegaComboBox, VegaDropdownSelectAllClick);
|
|
56
57
|
this.dropdownEventPrevent = new ChildNodesEventPreventSlimmer([VegaCreate, VegaSearch], () => this.dropdownRenderer.getDropdownRef(), {
|
|
57
58
|
customPreventHandle: (e) => {
|
|
58
59
|
e.stopImmediatePropagation();
|
|
59
60
|
},
|
|
60
61
|
});
|
|
62
|
+
this.dropdownEventPreventSelectAllClick = new ChildNodesEventPreventSlimmer([VegaDropdownSelectAllClick], () => this.dropdownRenderer.getDropdownRef(), {
|
|
63
|
+
customPreventHandle: (e) => {
|
|
64
|
+
e.stopPropagation();
|
|
65
|
+
},
|
|
66
|
+
});
|
|
61
67
|
this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer(VegaComboBoxRuntimeMetricsPayloadDefinition);
|
|
62
68
|
/**
|
|
63
69
|
* Specifies the label or title for the combo box.
|
|
@@ -681,6 +687,45 @@ export class VegaComboBox {
|
|
|
681
687
|
"resolved": "string",
|
|
682
688
|
"references": {}
|
|
683
689
|
}
|
|
690
|
+
}, {
|
|
691
|
+
"method": "vegaDropdownSelectAllClick",
|
|
692
|
+
"name": "vegaDropdownSelectAllClick",
|
|
693
|
+
"bubbles": true,
|
|
694
|
+
"cancelable": true,
|
|
695
|
+
"composed": true,
|
|
696
|
+
"docs": {
|
|
697
|
+
"tags": [{
|
|
698
|
+
"name": "vegaVersion",
|
|
699
|
+
"text": "2.95.0"
|
|
700
|
+
}],
|
|
701
|
+
"text": "An event emitter only fired when the Select All checkbox in the dropdown has been clicked.\n\nThe event's `detail` property is `true` when the Select All checkbox is clicked to select all items,\n and `false` when the Select All checkbox is clicked to clear all selected items."
|
|
702
|
+
},
|
|
703
|
+
"complexType": {
|
|
704
|
+
"original": "boolean",
|
|
705
|
+
"resolved": "boolean",
|
|
706
|
+
"references": {}
|
|
707
|
+
}
|
|
708
|
+
}, {
|
|
709
|
+
"method": "dropdownSelectAllClick",
|
|
710
|
+
"name": "dropdownSelectAllClick",
|
|
711
|
+
"bubbles": true,
|
|
712
|
+
"cancelable": true,
|
|
713
|
+
"composed": true,
|
|
714
|
+
"docs": {
|
|
715
|
+
"tags": [{
|
|
716
|
+
"name": "eventSemantics",
|
|
717
|
+
"text": "namespace:native"
|
|
718
|
+
}, {
|
|
719
|
+
"name": "vegaVersion",
|
|
720
|
+
"text": "2.95.0"
|
|
721
|
+
}],
|
|
722
|
+
"text": "An event emitter only fired when the Select All checkbox in the dropdown has been clicked.\n\nThe event's `detail` property is `true` when the Select All checkbox is clicked to select all items,\n and `false` when the Select All checkbox is clicked to clear all selected items."
|
|
723
|
+
},
|
|
724
|
+
"complexType": {
|
|
725
|
+
"original": "boolean",
|
|
726
|
+
"resolved": "boolean",
|
|
727
|
+
"references": {}
|
|
728
|
+
}
|
|
684
729
|
}]; }
|
|
685
730
|
static get methods() { return {
|
|
686
731
|
"close": {
|
|
@@ -776,9 +821,15 @@ __decorate([
|
|
|
776
821
|
__decorate([
|
|
777
822
|
InjectVegaSlimmer()
|
|
778
823
|
], VegaComboBox.prototype, "searchEventEmit", void 0);
|
|
824
|
+
__decorate([
|
|
825
|
+
InjectVegaSlimmer()
|
|
826
|
+
], VegaComboBox.prototype, "selectAllClickEventEmit", void 0);
|
|
779
827
|
__decorate([
|
|
780
828
|
InjectVegaSlimmer()
|
|
781
829
|
], VegaComboBox.prototype, "dropdownEventPrevent", void 0);
|
|
830
|
+
__decorate([
|
|
831
|
+
InjectVegaSlimmer()
|
|
832
|
+
], VegaComboBox.prototype, "dropdownEventPreventSelectAllClick", void 0);
|
|
782
833
|
__decorate([
|
|
783
834
|
InjectVegaSlimmer()
|
|
784
835
|
], VegaComboBox.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
|
|
@@ -289,7 +289,7 @@ export class VegaDialog {
|
|
|
289
289
|
"mutable": false,
|
|
290
290
|
"complexType": {
|
|
291
291
|
"original": "Partial<VegaComponentInterface<HTMLVegaModalElement>>",
|
|
292
|
-
"resolved": "{ size?: ResponsiveType<SizeType>; margin?: ResponsiveType<MarginType>; animation?: boolean; backdrop?: VegaModalBackdrop; backdropColor?: VegaModalBackdropColor; contentMaxHeight?: ResponsiveType<string | number>; corners?: ResponsiveType<CornersType>; handleClose?: () => boolean; height?: ResponsiveType<string | number>; isVerticallyCenter?: boolean; isVerticallyCentered?: boolean; modal?: (option: \"show\" | \"hide\") => Promise<void>; modalTitle?: string; open?: boolean; padding?: ResponsiveType<PaddingType> | VegaModalSectionPadding; showCloseButton?: boolean; }",
|
|
292
|
+
"resolved": "{ size?: ResponsiveType<SizeType>; margin?: ResponsiveType<MarginType>; animation?: boolean; backdrop?: VegaModalBackdrop; backdropColor?: VegaModalBackdropColor; contentMaxHeight?: ResponsiveType<string | number>; corners?: ResponsiveType<CornersType>; handleClose?: () => boolean; height?: ResponsiveType<string | number>; isVerticallyCenter?: boolean; isVerticallyCentered?: boolean; modal?: (option: \"show\" | \"hide\") => Promise<void>; modalTitle?: string; open?: boolean; padding?: ResponsiveType<PaddingType> | VegaModalSectionPadding; showCloseButton?: boolean; width?: ResponsiveType<SizeType>; }",
|
|
293
293
|
"references": {
|
|
294
294
|
"Partial": {
|
|
295
295
|
"location": "global"
|
|
@@ -10,10 +10,6 @@ import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-sli
|
|
|
10
10
|
* the render mode of a dropdown component based on the presence of a specific element in the DOM.
|
|
11
11
|
*/
|
|
12
12
|
export class VegaDropdownRenderModeController extends VegaSlimmer {
|
|
13
|
-
constructor() {
|
|
14
|
-
super(...arguments);
|
|
15
|
-
this.renderMode = 'SOURCE';
|
|
16
|
-
}
|
|
17
13
|
/**
|
|
18
14
|
* The `connectedCallback` function is called before the component is rendered and is used to set the
|
|
19
15
|
* render mode.
|
|
@@ -34,10 +30,12 @@ export class VegaDropdownRenderModeController extends VegaSlimmer {
|
|
|
34
30
|
* While component first connected, the items slot is in the host.
|
|
35
31
|
* While component connected after the first time, the items slot will apppend to vega-dropdown-content-box, so the parent changed.
|
|
36
32
|
* code: VegaDropdownRenderer.appendItemsToContentBox
|
|
33
|
+
*
|
|
37
34
|
*/
|
|
38
35
|
setRenderMode() {
|
|
39
|
-
const
|
|
40
|
-
|
|
36
|
+
const contentBox = this.renderer.getDropdownContentBoxRef();
|
|
37
|
+
const hasItemsSlot = Boolean((contentBox === null || contentBox === void 0 ? void 0 : contentBox.querySelector('[slot=items]')) || this.host.querySelector('[slot=items]'));
|
|
38
|
+
this.renderMode = hasItemsSlot ? 'SLOT' : 'SOURCE';
|
|
41
39
|
}
|
|
42
40
|
}
|
|
43
41
|
__decorate([
|
|
@@ -46,6 +44,9 @@ __decorate([
|
|
|
46
44
|
__decorate([
|
|
47
45
|
MapToComponentField()
|
|
48
46
|
], VegaDropdownRenderModeController.prototype, "renderer", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
MapToComponentField({ writable: true })
|
|
49
|
+
], VegaDropdownRenderModeController.prototype, "renderMode", void 0);
|
|
49
50
|
__decorate([
|
|
50
51
|
MapToComponentMethod('connectedCallback')
|
|
51
52
|
], VegaDropdownRenderModeController.prototype, "connectedCallback", null);
|
|
@@ -77,6 +77,7 @@ export class VegaDropdown {
|
|
|
77
77
|
this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer(VegaDropdownRuntimeMetricsPayloadDefinition);
|
|
78
78
|
this.searchString = null;
|
|
79
79
|
this.isDropdownShow = false;
|
|
80
|
+
this.renderMode = 'SOURCE';
|
|
80
81
|
/**
|
|
81
82
|
* Specifies the trigger mode for the dropdown.
|
|
82
83
|
* hover: The dropdown is shown/hidden on hover, and listens for global area clicks.
|
|
@@ -233,10 +234,33 @@ export class VegaDropdown {
|
|
|
233
234
|
*/
|
|
234
235
|
this.isLazyLoading = false;
|
|
235
236
|
/**
|
|
236
|
-
* Determines whether the dropdown position
|
|
237
|
+
* Determines whether the dropdown uses viewport-based positioning (`position: fixed`) or container-based positioning (`position: absolute`).
|
|
237
238
|
*
|
|
238
|
-
*
|
|
239
|
-
*
|
|
239
|
+
* **Technical Implementation:**
|
|
240
|
+
*
|
|
241
|
+
* - When `false` (default): The dropdown content box renders with `position: absolute` and its coordinates are calculated relative to the nearest positioned ancestor. Combined with `positionRelativeTo`, you can specify which ancestor to measure from, which ensures the menu scrolls together with that ancestor.
|
|
242
|
+
*
|
|
243
|
+
* - When `true`: The dropdown content box renders with `position: fixed` and its coordinates are calculated from the viewport. The menu is visually anchored to the trigger element via JavaScript and moves with it on scroll, even though it is not part of the document flow. `positionRelativeTo` has no effect in this mode.
|
|
244
|
+
*
|
|
245
|
+
* When to set `isScreenPosition` to `true`:
|
|
246
|
+
*
|
|
247
|
+
* - Dropdowns that need to break out of container constraints (non-Shadow-DOM only):
|
|
248
|
+
* When you want the dropdown to appear outside its container's boundaries (e.g., to avoid being clipped by a parent's
|
|
249
|
+
* `overflow: hidden` or small dimensions), viewport-based positioning allows it to render freely.
|
|
250
|
+
* This only works for regular (non-Shadow-DOM) containers. Shadow DOM boundaries cannot be escaped with `position: fixed`.
|
|
251
|
+
*
|
|
252
|
+
* - Dropdowns in fixed or sticky positioned containers:
|
|
253
|
+
* When the dropdown trigger is inside a fixed or sticky positioned container, viewport-based positioning ensures correct alignment.
|
|
254
|
+
*
|
|
255
|
+
* When to keep `isScreenPosition` as `false` (default):
|
|
256
|
+
*
|
|
257
|
+
* - Simple layouts where the dropdown and its trigger are not inside scrollable containers
|
|
258
|
+
* - When you want the dropdown to scroll naturally with its container (using `position: absolute`)
|
|
259
|
+
* - When you need `positionRelativeTo` to control which ancestor the dropdown is positioned relative to
|
|
260
|
+
* - When `matchContainerHeight` is needed (this property is overridden when `isScreenPosition` is `true`)
|
|
261
|
+
*
|
|
262
|
+
* @VegaWarning - Setting this to `true` override the `positionRelativeTo` and `matchContainerHeight` properties, rendering them ineffective.
|
|
263
|
+
* - Currently, when set to `true`, the position calculation may be inaccurate if the popover is placed inside a scrollable container within a shadowRoot (e.g., inside a vega-modal with scrollable content).
|
|
240
264
|
* @vegaVersion 2.36.0
|
|
241
265
|
*/
|
|
242
266
|
this.isScreenPosition = false;
|
|
@@ -380,6 +404,9 @@ export class VegaDropdown {
|
|
|
380
404
|
async syncTemplateData() {
|
|
381
405
|
methodPlaceholder();
|
|
382
406
|
}
|
|
407
|
+
/**
|
|
408
|
+
* Render the dropdown component.
|
|
409
|
+
*/
|
|
383
410
|
render() {
|
|
384
411
|
slotPlaceholder(h("slot", null));
|
|
385
412
|
return sanitizeVegaComponent(h(Host, null, this.renderer.render()), this.host);
|
|
@@ -978,12 +1005,12 @@ export class VegaDropdown {
|
|
|
978
1005
|
"docs": {
|
|
979
1006
|
"tags": [{
|
|
980
1007
|
"name": "VegaWarning",
|
|
981
|
-
"text": "-
|
|
1008
|
+
"text": "- Setting this to `true` override the `positionRelativeTo` and `matchContainerHeight` properties, rendering them ineffective.\n- Currently, when set to `true`, the position calculation may be inaccurate if the popover is placed inside a scrollable container within a shadowRoot (e.g., inside a vega-modal with scrollable content)."
|
|
982
1009
|
}, {
|
|
983
1010
|
"name": "vegaVersion",
|
|
984
1011
|
"text": "2.36.0"
|
|
985
1012
|
}],
|
|
986
|
-
"text": "Determines whether the dropdown position
|
|
1013
|
+
"text": "Determines whether the dropdown uses viewport-based positioning (`position: fixed`) or container-based positioning (`position: absolute`).\n\n**Technical Implementation:**\n\n- When `false` (default): The dropdown content box renders with `position: absolute` and its coordinates are calculated relative to the nearest positioned ancestor. Combined with `positionRelativeTo`, you can specify which ancestor to measure from, which ensures the menu scrolls together with that ancestor.\n\n- When `true`: The dropdown content box renders with `position: fixed` and its coordinates are calculated from the viewport. The menu is visually anchored to the trigger element via JavaScript and moves with it on scroll, even though it is not part of the document flow. `positionRelativeTo` has no effect in this mode.\n\nWhen to set `isScreenPosition` to `true`:\n\n- Dropdowns that need to break out of container constraints (non-Shadow-DOM only):\n When you want the dropdown to appear outside its container's boundaries (e.g., to avoid being clipped by a parent's\n `overflow: hidden` or small dimensions), viewport-based positioning allows it to render freely.\n This only works for regular (non-Shadow-DOM) containers. Shadow DOM boundaries cannot be escaped with `position: fixed`.\n\n- Dropdowns in fixed or sticky positioned containers:\n When the dropdown trigger is inside a fixed or sticky positioned container, viewport-based positioning ensures correct alignment.\n\nWhen to keep `isScreenPosition` as `false` (default):\n\n- Simple layouts where the dropdown and its trigger are not inside scrollable containers\n- When you want the dropdown to scroll naturally with its container (using `position: absolute`)\n- When you need `positionRelativeTo` to control which ancestor the dropdown is positioned relative to\n- When `matchContainerHeight` is needed (this property is overridden when `isScreenPosition` is `true`)"
|
|
987
1014
|
},
|
|
988
1015
|
"attribute": "is-screen-position",
|
|
989
1016
|
"reflect": false,
|
|
@@ -1098,7 +1125,8 @@ export class VegaDropdown {
|
|
|
1098
1125
|
static get states() { return {
|
|
1099
1126
|
"searchString": {},
|
|
1100
1127
|
"isDropdownShow": {},
|
|
1101
|
-
"sourceForRender": {}
|
|
1128
|
+
"sourceForRender": {},
|
|
1129
|
+
"renderMode": {}
|
|
1102
1130
|
}; }
|
|
1103
1131
|
static get events() { return [{
|
|
1104
1132
|
"method": "vegaDropdownClick",
|
|
@@ -1150,7 +1178,7 @@ export class VegaDropdown {
|
|
|
1150
1178
|
"name": "vegaVersion",
|
|
1151
1179
|
"text": "2.93.0"
|
|
1152
1180
|
}],
|
|
1153
|
-
"text": "An event emitter
|
|
1181
|
+
"text": "An event emitter only fired when the Select All checkbox has been clicked.\n\nThe event's `detail` property is `true` when the Select All checkbox is clicked to select all items,\n and `false` when the Select All checkbox is clicked to clear all selected items."
|
|
1154
1182
|
},
|
|
1155
1183
|
"complexType": {
|
|
1156
1184
|
"original": "boolean",
|
|
@@ -1171,7 +1199,7 @@ export class VegaDropdown {
|
|
|
1171
1199
|
"name": "vegaVersion",
|
|
1172
1200
|
"text": "2.93.0"
|
|
1173
1201
|
}],
|
|
1174
|
-
"text": "An event emitter
|
|
1202
|
+
"text": "An event emitter only fired when the Select All checkbox has been clicked.\n\nThe event's `detail` property is `true` when the Select All checkbox is clicked to select all items,\n and `false` when the Select All checkbox is clicked to clear all selected items."
|
|
1175
1203
|
},
|
|
1176
1204
|
"complexType": {
|
|
1177
1205
|
"original": "boolean",
|
|
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
8
8
|
import { DomNodeSubjectObserverFactory } from '../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
|
|
9
|
-
import { VegaDropdownClick, VegaDropdownHide, VegaDropdownSearch, VegaDropdownShow, VegaReset, VegaSearchTrigger, } from '../../../../helpers/event-manager/event-id/vega-event-id';
|
|
9
|
+
import { VegaDropdownClick, VegaDropdownHide, VegaDropdownSearch, VegaDropdownSelectAllClick, VegaDropdownShow, VegaReset, VegaSearchTrigger, } from '../../../../helpers/event-manager/event-id/vega-event-id';
|
|
10
10
|
import { VegaInternalDropdownTemplateItemsChange } from '../../../../helpers/event-manager/event-id/vega-internal-event-id';
|
|
11
11
|
/** The `VegaInputSelectDropdownController` class is a TypeScript React component that controls the behavior of a dropdown select input. */
|
|
12
12
|
export class VegaInputSelectDropdownController extends VegaSlimmer {
|
|
@@ -44,6 +44,10 @@ export class VegaInputSelectDropdownController extends VegaSlimmer {
|
|
|
44
44
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(dropdownRef, VegaSearchTrigger, (payload) => {
|
|
45
45
|
this.searchTriggerEventEmitter.emit(payload.detail);
|
|
46
46
|
});
|
|
47
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(dropdownRef, VegaDropdownSelectAllClick, async (payload) => {
|
|
48
|
+
this.vegaInputSelectValueController.setValue(await payload.host.getSelection());
|
|
49
|
+
this.selectAllClickEventEmitter.emit(payload.detail);
|
|
50
|
+
});
|
|
47
51
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(dropdownRef, VegaInternalDropdownTemplateItemsChange,
|
|
48
52
|
/*
|
|
49
53
|
* The below method is e2e-test covered in
|
|
@@ -92,6 +96,12 @@ __decorate([
|
|
|
92
96
|
__decorate([
|
|
93
97
|
MapToComponentField()
|
|
94
98
|
], VegaInputSelectDropdownController.prototype, "hideEventEmitter", void 0);
|
|
99
|
+
__decorate([
|
|
100
|
+
MapToComponentField()
|
|
101
|
+
], VegaInputSelectDropdownController.prototype, "vegaDropdownProps", void 0);
|
|
95
102
|
__decorate([
|
|
96
103
|
MapToComponentField()
|
|
97
104
|
], VegaInputSelectDropdownController.prototype, "selectType", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
MapToComponentField()
|
|
107
|
+
], VegaInputSelectDropdownController.prototype, "selectAllClickEventEmitter", void 0);
|
|
@@ -14,7 +14,12 @@ import { TagNameMutationFilter } from '../../../../helpers/slimmers/mutation-obs
|
|
|
14
14
|
export class VegaInputSelectItemsSlotController extends VegaSlimmer {
|
|
15
15
|
constructor() {
|
|
16
16
|
super(...arguments);
|
|
17
|
+
/**
|
|
18
|
+
* Observes the current template items container before and after relocation into the dropdown.
|
|
19
|
+
*/
|
|
17
20
|
this.mutationObserver = new MutationObserverSlimmer({
|
|
21
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
22
|
+
target: () => this.getItemsContainer() || this.host,
|
|
18
23
|
mutationFilter: TagNameMutationFilter('VEGA-DROPDOWN-ITEM'),
|
|
19
24
|
options: {
|
|
20
25
|
childList: true,
|
|
@@ -24,6 +29,7 @@ export class VegaInputSelectItemsSlotController extends VegaSlimmer {
|
|
|
24
29
|
/*
|
|
25
30
|
* The below method is e2e-test covered in
|
|
26
31
|
* @see{module:vega-input-select-template-slot-change-e2e}
|
|
32
|
+
* @see{module:vega-input-select-template-select-all-e2e}
|
|
27
33
|
*/
|
|
28
34
|
/* istanbul ignore next */
|
|
29
35
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
@@ -40,13 +46,28 @@ export class VegaInputSelectItemsSlotController extends VegaSlimmer {
|
|
|
40
46
|
* The function appends host items to a dropdown element.
|
|
41
47
|
*/
|
|
42
48
|
appendHostItemsToDropdown() {
|
|
43
|
-
const items = this.
|
|
49
|
+
const items = this.getItemsContainer();
|
|
44
50
|
const itemsSlotRef = this.vegaInputSelectDropdownRenderer.getItemsSlotRef();
|
|
51
|
+
const dropdownRef = this.vegaInputSelectDropdownRenderer.getDropdownRef();
|
|
45
52
|
if (items && itemsSlotRef) {
|
|
46
53
|
itemsSlotRef.remove();
|
|
47
|
-
|
|
54
|
+
dropdownRef.append(items);
|
|
55
|
+
}
|
|
56
|
+
if (itemsSlotRef) {
|
|
57
|
+
void dropdownRef.syncTemplateData();
|
|
48
58
|
}
|
|
49
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Gets the template items container from host before relocation,
|
|
62
|
+
* or from dropdown after it has been moved.
|
|
63
|
+
*
|
|
64
|
+
* @returns {Nullable<HTMLElement>} The current template items container, if present.
|
|
65
|
+
*/
|
|
66
|
+
getItemsContainer() {
|
|
67
|
+
const dropdownRef = this.vegaInputSelectDropdownRenderer.getDropdownRef();
|
|
68
|
+
return (this.host.querySelector('[slot=items]') ||
|
|
69
|
+
(dropdownRef === null || dropdownRef === void 0 ? void 0 : dropdownRef.querySelector('[slot=items]')));
|
|
70
|
+
}
|
|
50
71
|
}
|
|
51
72
|
__decorate([
|
|
52
73
|
InjectVegaSlimmer()
|
|
@@ -94,6 +94,10 @@ export class VegaInputSelectDropdownRenderer extends VegaSlimmer {
|
|
|
94
94
|
return Object.assign({ placement: 'bottom' }, this.selectedLabelTooltipProps);
|
|
95
95
|
};
|
|
96
96
|
}
|
|
97
|
+
/*
|
|
98
|
+
* The below method is e2e-test covered in
|
|
99
|
+
* @see{module:vega-input-select-allow-select-all-dynamic-e2e}
|
|
100
|
+
*/
|
|
97
101
|
watchVegaDropdownProps() {
|
|
98
102
|
if (this.vegaDropdownProps && this.vegaDropdownProps.preserveValueIfNotInSource !== undefined) {
|
|
99
103
|
this.dropdown.preserveValueIfNotInSource = this.vegaDropdownProps.preserveValueIfNotInSource;
|
|
@@ -17,7 +17,7 @@ import { VegaInputSelectDropdownRenderer } from './slimmers/renderers/vega-input
|
|
|
17
17
|
import { FormFieldControllerSlimmer } from '../../helpers/slimmers/form-field-controller-slimmer';
|
|
18
18
|
import { PageResizeObserverSlimmer } from '../../helpers/slimmers/page-resize-observer-slimmer';
|
|
19
19
|
import { createEventEmitSlimmer, } from '../../helpers/event-manager/slimmers/event-emit-slimmer';
|
|
20
|
-
import { VegaChange, VegaHide, VegaLabelButtonClick, VegaSearch, VegaSearchTrigger, VegaShow, } from '../../helpers/event-manager/event-id/vega-event-id';
|
|
20
|
+
import { VegaChange, VegaDropdownSelectAllClick, VegaHide, VegaLabelButtonClick, VegaSearch, VegaSearchTrigger, VegaShow, } from '../../helpers/event-manager/event-id/vega-event-id';
|
|
21
21
|
import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer';
|
|
22
22
|
import { VegaInputSelectLazyLoadController } from './slimmers/controllers/vega-input-select-lazy-load-controller';
|
|
23
23
|
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
|
|
@@ -70,7 +70,13 @@ export class VegaInputSelect {
|
|
|
70
70
|
this.showEventEmitter = createEventEmitSlimmer(VegaInputSelect, VegaShow);
|
|
71
71
|
this.hideEventEmitter = createEventEmitSlimmer(VegaInputSelect, VegaHide);
|
|
72
72
|
this.labelButtonClickEventEmitter = createEventEmitSlimmer(VegaInputSelect, VegaLabelButtonClick);
|
|
73
|
+
this.selectAllClickEventEmitter = createEventEmitSlimmer(VegaInputSelect, VegaDropdownSelectAllClick);
|
|
73
74
|
this.eventPrevent = new ChildNodesEventPreventSlimmer([VegaSearch, VegaSearchTrigger, VegaShow, VegaHide], () => this.host, true);
|
|
75
|
+
this.dropdownEventPreventSelectAllClick = new ChildNodesEventPreventSlimmer([VegaDropdownSelectAllClick], () => this.vegaInputSelectDropdownRenderer.getDropdownRef(), {
|
|
76
|
+
customPreventHandle: (e) => {
|
|
77
|
+
e.stopPropagation();
|
|
78
|
+
},
|
|
79
|
+
});
|
|
74
80
|
this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer(VegaInputSelectRuntimeMetricsPayloadDefinition);
|
|
75
81
|
this.isDropdownShow = false;
|
|
76
82
|
this.currentBreakpoint = getCurrentBreakpoint();
|
|
@@ -636,7 +642,7 @@ export class VegaInputSelect {
|
|
|
636
642
|
"mutable": false,
|
|
637
643
|
"complexType": {
|
|
638
644
|
"original": "VegaDropdownPropsForSelect",
|
|
639
|
-
"resolved": "{ size?: ResponsiveType<SizeType>; matchTargetWidth?: boolean; maxHeight?: number; positionRelativeTo?: string; searchable?: boolean; itemDisplayRule?: \"ellipsis\" | \"newline\"; resettable?: boolean; useDefaultFilter?: boolean; matchContainerHeight?: boolean; isScreenPosition?: boolean; caseSensitive?: boolean; searchTriggerBy?: VegaDropdownSearchTriggerByType; preserveValueIfNotInSource?: boolean; }",
|
|
645
|
+
"resolved": "{ size?: ResponsiveType<SizeType>; matchTargetWidth?: boolean; maxHeight?: number; positionRelativeTo?: string; searchable?: boolean; itemDisplayRule?: \"ellipsis\" | \"newline\"; resettable?: boolean; useDefaultFilter?: boolean; matchContainerHeight?: boolean; allowSelectAll?: boolean; isScreenPosition?: boolean; caseSensitive?: boolean; searchTriggerBy?: VegaDropdownSearchTriggerByType; preserveValueIfNotInSource?: boolean; }",
|
|
640
646
|
"references": {
|
|
641
647
|
"VegaDropdownPropsForSelect": {
|
|
642
648
|
"location": "import",
|
|
@@ -908,6 +914,45 @@ export class VegaInputSelect {
|
|
|
908
914
|
}
|
|
909
915
|
}
|
|
910
916
|
}
|
|
917
|
+
}, {
|
|
918
|
+
"method": "vegaDropdownSelectAllClick",
|
|
919
|
+
"name": "vegaDropdownSelectAllClick",
|
|
920
|
+
"bubbles": true,
|
|
921
|
+
"cancelable": true,
|
|
922
|
+
"composed": true,
|
|
923
|
+
"docs": {
|
|
924
|
+
"tags": [{
|
|
925
|
+
"name": "vegaVersion",
|
|
926
|
+
"text": "2.95.0"
|
|
927
|
+
}],
|
|
928
|
+
"text": "An event emitter only fired when the Select All checkbox in the dropdown has been clicked.\n\nThe event's `detail` property is `true` when the Select All checkbox is clicked to select all items,\n and `false` when the Select All checkbox is clicked to clear all selected items."
|
|
929
|
+
},
|
|
930
|
+
"complexType": {
|
|
931
|
+
"original": "boolean",
|
|
932
|
+
"resolved": "boolean",
|
|
933
|
+
"references": {}
|
|
934
|
+
}
|
|
935
|
+
}, {
|
|
936
|
+
"method": "dropdownSelectAllClick",
|
|
937
|
+
"name": "dropdownSelectAllClick",
|
|
938
|
+
"bubbles": true,
|
|
939
|
+
"cancelable": true,
|
|
940
|
+
"composed": true,
|
|
941
|
+
"docs": {
|
|
942
|
+
"tags": [{
|
|
943
|
+
"name": "eventSemantics",
|
|
944
|
+
"text": "namespace:native"
|
|
945
|
+
}, {
|
|
946
|
+
"name": "vegaVersion",
|
|
947
|
+
"text": "2.95.0"
|
|
948
|
+
}],
|
|
949
|
+
"text": "An event emitter only fired when the Select All checkbox in the dropdown has been clicked.\n\nThe event's `detail` property is `true` when the Select All checkbox is clicked to select all items,\n and `false` when the Select All checkbox is clicked to clear all selected items."
|
|
950
|
+
},
|
|
951
|
+
"complexType": {
|
|
952
|
+
"original": "boolean",
|
|
953
|
+
"resolved": "boolean",
|
|
954
|
+
"references": {}
|
|
955
|
+
}
|
|
911
956
|
}, {
|
|
912
957
|
"method": "vegaShow",
|
|
913
958
|
"name": "vegaShow",
|
|
@@ -1135,9 +1180,15 @@ __decorate([
|
|
|
1135
1180
|
__decorate([
|
|
1136
1181
|
InjectVegaSlimmer()
|
|
1137
1182
|
], VegaInputSelect.prototype, "labelButtonClickEventEmitter", void 0);
|
|
1183
|
+
__decorate([
|
|
1184
|
+
InjectVegaSlimmer()
|
|
1185
|
+
], VegaInputSelect.prototype, "selectAllClickEventEmitter", void 0);
|
|
1138
1186
|
__decorate([
|
|
1139
1187
|
InjectVegaSlimmer()
|
|
1140
1188
|
], VegaInputSelect.prototype, "eventPrevent", void 0);
|
|
1189
|
+
__decorate([
|
|
1190
|
+
InjectVegaSlimmer()
|
|
1191
|
+
], VegaInputSelect.prototype, "dropdownEventPreventSelectAllClick", void 0);
|
|
1141
1192
|
__decorate([
|
|
1142
1193
|
InjectVegaSlimmer()
|
|
1143
1194
|
], VegaInputSelect.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
|
package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-backdrop-manager.js
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { MapToComponentField, MapToComponentMethod } from 'vega-slimmer/core';
|
|
8
|
+
import { SharedBackdropManager } from '../../../../helpers/backdrop';
|
|
9
|
+
/**
|
|
10
|
+
* Modal-specific backdrop manager — extends SharedBackdropManager to get its own static scope.
|
|
11
|
+
* Each subclass of SharedBackdropManager gets its own separate static state (consumers, visibility intents, etc).
|
|
12
|
+
* Handles backdrop color customization and stack-aware visibility.
|
|
13
|
+
*/
|
|
14
|
+
export class VegaModalBackdropManager extends SharedBackdropManager {
|
|
15
|
+
/**
|
|
16
|
+
* Clear shared backdrop and ownership state.
|
|
17
|
+
*/
|
|
18
|
+
clear() {
|
|
19
|
+
super.clear();
|
|
20
|
+
VegaModalBackdropManager.visibleBackdropOwners = [];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Watch backdrop property changes and update visibility intent.
|
|
24
|
+
*/
|
|
25
|
+
watchBackdrop() {
|
|
26
|
+
this.updateVisibility();
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Watch backdropColor property changes and update color if backdrop exists.
|
|
30
|
+
*
|
|
31
|
+
*/
|
|
32
|
+
watchBackdropColor() {
|
|
33
|
+
const backdrop = this.getBackdrop();
|
|
34
|
+
if (!backdrop) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this.syncBackdropColor(backdrop);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Watch openState changes and update backdrop visibility intent.
|
|
41
|
+
*/
|
|
42
|
+
watchOpenState() {
|
|
43
|
+
this.updateVisibility();
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Opt in to lazy backdrop lifecycle: the DOM element is created on first show
|
|
47
|
+
* and removed when the last modal with a visible backdrop closes.
|
|
48
|
+
* This keeps `backdrop='none'` modals from leaving a stale DOM node.
|
|
49
|
+
*
|
|
50
|
+
* @returns {boolean} Always true for modals.
|
|
51
|
+
*/
|
|
52
|
+
usesLazyBackdrop() {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Customize backdrop creation for modal use case with color support.
|
|
57
|
+
* Appends backdrop as a sibling of the modal host to share the same stacking context.
|
|
58
|
+
*
|
|
59
|
+
* @param {Document} doc - The document reference.
|
|
60
|
+
* @returns {HTMLVegaBackdropElement} The created and configured backdrop element.
|
|
61
|
+
*/
|
|
62
|
+
createBackdrop(doc) {
|
|
63
|
+
var _a;
|
|
64
|
+
const backdrop = doc.createElement('vega-backdrop');
|
|
65
|
+
backdrop.classList.add(VegaModalBackdropManager.modalBackdropClass);
|
|
66
|
+
backdrop.color = VegaModalBackdropManager.backdropColorMap[this.backdropColor];
|
|
67
|
+
backdrop.visible = false;
|
|
68
|
+
// Append backdrop as a sibling of the modal host so it shares the same stacking context.
|
|
69
|
+
// - When vega-modal is in document.body (normal case), parentElement is document.body.
|
|
70
|
+
// - When vega-modal is inside a third-party dialog (e.g. Bootstrap modal), parentElement is the dialog container — keeping the backdrop inside the focus-trap root.
|
|
71
|
+
// - Falls back to document.body when parentElement is null (e.g. VegaDialog creates the vega-modal element before appending it to the DOM).
|
|
72
|
+
((_a = this.host.parentElement) !== null && _a !== void 0 ? _a : doc.body).append(backdrop);
|
|
73
|
+
return backdrop;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Update this modal's backdrop intent.
|
|
77
|
+
*/
|
|
78
|
+
updateVisibility() {
|
|
79
|
+
const shouldShow = this.openState.isOpen && this.backdrop !== 'none';
|
|
80
|
+
this.trackBackdropOwner(shouldShow);
|
|
81
|
+
this.setVisibilityIntent(shouldShow);
|
|
82
|
+
const backdrop = this.getBackdrop();
|
|
83
|
+
if (backdrop) {
|
|
84
|
+
this.syncBackdropColor(backdrop);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Keep a manager-ordered list of visible backdrop owners.
|
|
89
|
+
* The last owner in the list controls shared backdrop color.
|
|
90
|
+
*
|
|
91
|
+
* @param {boolean} shouldShow - Whether this manager currently requests a visible backdrop.
|
|
92
|
+
*/
|
|
93
|
+
trackBackdropOwner(shouldShow) {
|
|
94
|
+
VegaModalBackdropManager.visibleBackdropOwners =
|
|
95
|
+
VegaModalBackdropManager.visibleBackdropOwners.filter((owner) => owner !== this);
|
|
96
|
+
if (shouldShow) {
|
|
97
|
+
VegaModalBackdropManager.visibleBackdropOwners.push(this);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Apply color from the current active backdrop owner.
|
|
102
|
+
*
|
|
103
|
+
* @param {HTMLVegaBackdropElement} backdrop - Shared backdrop element.
|
|
104
|
+
*/
|
|
105
|
+
syncBackdropColor(backdrop) {
|
|
106
|
+
var _a;
|
|
107
|
+
const owner = (_a = VegaModalBackdropManager.visibleBackdropOwners[VegaModalBackdropManager.visibleBackdropOwners.length - 1]) !== null && _a !== void 0 ? _a : null;
|
|
108
|
+
if (!owner) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
backdrop.color = VegaModalBackdropManager.backdropColorMap[owner.backdropColor];
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
VegaModalBackdropManager.modalBackdropClass = 'vega-modal-backdrop';
|
|
115
|
+
VegaModalBackdropManager.visibleBackdropOwners = [];
|
|
116
|
+
VegaModalBackdropManager.backdropColorMap = {
|
|
117
|
+
default: 'bg-backdrop-modal',
|
|
118
|
+
semi: 'bg-backdrop-popover',
|
|
119
|
+
none: 'bg-transparent',
|
|
120
|
+
};
|
|
121
|
+
__decorate([
|
|
122
|
+
MapToComponentField()
|
|
123
|
+
], VegaModalBackdropManager.prototype, "host", void 0);
|
|
124
|
+
__decorate([
|
|
125
|
+
MapToComponentField()
|
|
126
|
+
], VegaModalBackdropManager.prototype, "backdrop", void 0);
|
|
127
|
+
__decorate([
|
|
128
|
+
MapToComponentField()
|
|
129
|
+
], VegaModalBackdropManager.prototype, "backdropColor", void 0);
|
|
130
|
+
__decorate([
|
|
131
|
+
MapToComponentField()
|
|
132
|
+
], VegaModalBackdropManager.prototype, "openState", void 0);
|
|
133
|
+
__decorate([
|
|
134
|
+
MapToComponentMethod('watchBackdrop')
|
|
135
|
+
], VegaModalBackdropManager.prototype, "watchBackdrop", null);
|
|
136
|
+
__decorate([
|
|
137
|
+
MapToComponentMethod('watchBackdropColor')
|
|
138
|
+
], VegaModalBackdropManager.prototype, "watchBackdropColor", null);
|
|
139
|
+
__decorate([
|
|
140
|
+
MapToComponentMethod('watchOpenState')
|
|
141
|
+
], VegaModalBackdropManager.prototype, "watchOpenState", null);
|
|
@@ -213,9 +213,15 @@ export class VegaModalOpenStateController extends VegaSlimmer {
|
|
|
213
213
|
? this.openedModalStackController.push()
|
|
214
214
|
: this.openedModalStackController.remove();
|
|
215
215
|
this.updateDocumentRootOverflow();
|
|
216
|
-
this.
|
|
217
|
-
|
|
218
|
-
|
|
216
|
+
if (this.openState.isOpen) {
|
|
217
|
+
this.backdropManager.watchOpenState();
|
|
218
|
+
this.zIndexController.setModalZIndex();
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
// On close, update z-index before lazy backdrop teardown so stale entries are removed.
|
|
222
|
+
this.zIndexController.setModalZIndex();
|
|
223
|
+
this.backdropManager.watchOpenState();
|
|
224
|
+
}
|
|
219
225
|
this.emitEvent();
|
|
220
226
|
this.setModalVisibility();
|
|
221
227
|
this.ariaDialogToggle(this.openState.isOpen);
|
|
@@ -260,19 +266,6 @@ export class VegaModalOpenStateController extends VegaSlimmer {
|
|
|
260
266
|
document.body.classList.remove('disable-scroll-in-desktop');
|
|
261
267
|
}
|
|
262
268
|
}
|
|
263
|
-
/*
|
|
264
|
-
* The below method is e2e-test covered in
|
|
265
|
-
* @see{module:vega-modal-disconnected-callback-e2e }
|
|
266
|
-
*/
|
|
267
|
-
/* istanbul ignore next */
|
|
268
|
-
/**
|
|
269
|
-
* Removes the backdrop element if no modals are currently visible.
|
|
270
|
-
*/
|
|
271
|
-
removeBackdropWhileNoModalShow() {
|
|
272
|
-
if (!this.openState.isOpen && this.openedModalStackController.length() === 0) {
|
|
273
|
-
this.backdropController.removeBackdrop();
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
269
|
/*
|
|
277
270
|
* The below method is e2e-test covered in
|
|
278
271
|
* @see{@module:vega-modal-backdrop-mousedown-mouseup-e2e}
|
|
@@ -319,7 +312,7 @@ __decorate([
|
|
|
319
312
|
], VegaModalOpenStateController.prototype, "openEventEmitter", void 0);
|
|
320
313
|
__decorate([
|
|
321
314
|
MapToComponentField()
|
|
322
|
-
], VegaModalOpenStateController.prototype, "
|
|
315
|
+
], VegaModalOpenStateController.prototype, "backdropManager", void 0);
|
|
323
316
|
__decorate([
|
|
324
317
|
MapToComponentField()
|
|
325
318
|
], VegaModalOpenStateController.prototype, "openedModalStackController", void 0);
|
package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-z-index-controller.js
CHANGED
|
@@ -14,7 +14,7 @@ export class VegaModalZIndexController extends VegaSlimmer {
|
|
|
14
14
|
* Manages the z-index of modal elements based on their visibility status.
|
|
15
15
|
*/
|
|
16
16
|
setModalZIndex() {
|
|
17
|
-
const backdropRef = this.
|
|
17
|
+
const backdropRef = this.backdropManager.getBackdrop();
|
|
18
18
|
if (this.openState.isOpen) {
|
|
19
19
|
InternalVegaZIndexManager.setZIndex(backdropRef, 'base');
|
|
20
20
|
InternalVegaZIndexManager.setZIndex(this.host, 'base');
|
|
@@ -40,7 +40,7 @@ __decorate([
|
|
|
40
40
|
], VegaModalZIndexController.prototype, "openState", void 0);
|
|
41
41
|
__decorate([
|
|
42
42
|
MapToComponentField()
|
|
43
|
-
], VegaModalZIndexController.prototype, "
|
|
43
|
+
], VegaModalZIndexController.prototype, "backdropManager", void 0);
|
|
44
44
|
__decorate([
|
|
45
45
|
MapToComponentField()
|
|
46
46
|
], VegaModalZIndexController.prototype, "openedModalStackController", void 0);
|