@globalpayments/vega 2.93.0 → 2.95.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-f7ad9275.js → app-globals-76815382.js} +11 -10
- package/dist/cjs/{child-nodes-event-prevent-slimmer-e67ee84c.js → child-nodes-event-prevent-slimmer-e0ac8467.js} +1 -1
- package/dist/cjs/{code-block-2f3d0f38.js → code-block-493c7ce7.js} +77 -21
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-31d2c7aa.js → component-value-history-controller-slimmer.abstract-ab21fcbf.js} +3 -3
- package/dist/cjs/{content-state-13daf87a.js → content-state-fc34a814.js} +2 -2
- package/dist/cjs/{date-required-rule-e65ddd7d.js → date-required-rule-4ab06a82.js} +1 -1
- package/dist/cjs/{design-token-47393cbb.js → design-token-d3d12fa0.js} +3 -3
- package/dist/cjs/{element-appender-slimmer-29c4ac60.js → element-appender-slimmer-1d6323c2.js} +2 -2
- package/dist/cjs/{event-emit-slimmer-d234a619.js → event-emit-slimmer-34aa195e.js} +1 -1
- package/dist/cjs/{form-field-controller-slimmer-3bfcf88c.js → form-field-controller-slimmer-d638ba12.js} +1 -1
- package/dist/cjs/{image-annotation-action-c2b163bb.js → image-annotation-action-7c4cd316.js} +3 -3
- package/dist/cjs/{image-extension-4e99b620.js → image-extension-30a7c10f.js} +18 -1
- package/dist/cjs/index.cjs.js +20 -18
- package/dist/cjs/{inject-keyboard-manager-4b2ebbe4.js → inject-keyboard-manager-5a105612.js} +1 -1
- package/dist/cjs/{internal-calendar-period-factory-7a0ecdb1.js → internal-calendar-period-factory-b76006f7.js} +1 -1
- package/dist/cjs/{internal-translation-controller-31f2b057.js → internal-translation-controller-eb02c3b1.js} +2 -0
- package/dist/cjs/{internal-vega-event-manager-13c4012b.js → internal-vega-event-manager-7003c84a.js} +10 -2
- package/dist/cjs/{keyboard-manager-c78b46bd.js → keyboard-manager-ca76d4dc.js} +1 -1
- package/dist/cjs/{keyboard-manager-slimmer-d350c931.js → keyboard-manager-slimmer-a1223714.js} +1 -1
- package/dist/cjs/{link-extension-455c02b3.js → link-extension-92a63cb7.js} +3 -3
- package/dist/cjs/loader.cjs.js +13 -14
- package/dist/cjs/{month-view-generator-006562dc.js → month-view-generator-876c50d4.js} +1 -1
- package/dist/cjs/{public-rules-c59eba88.js → public-rules-9e1ea1d9.js} +7 -7
- package/dist/cjs/{range-bf80fa40.js → range-30219330.js} +1 -1
- package/dist/cjs/{responsive-format-facade-1af54330.js → responsive-format-facade-25e9f30d.js} +1 -1
- package/dist/cjs/{rich-text-editor-required-rule-1085c71a.js → rich-text-editor-required-rule-23bf7485.js} +1 -1
- package/dist/cjs/shared-backdrop-manager-71e54fdb.js +199 -0
- package/dist/cjs/{split-cell-operation-2fa5c9e4.js → split-cell-operation-43752212.js} +3 -3
- package/dist/cjs/{state-border-formatter-501f6645.js → state-border-formatter-f1ce0f3b.js} +1 -1
- package/dist/cjs/{string-format-strategy.abstract-a02bf002.js → string-format-strategy.abstract-b22f7754.js} +1 -1
- package/dist/cjs/{string-input-formatter-slimmer-9cca6151.js → string-input-formatter-slimmer-d2c248f7.js} +1 -1
- package/dist/cjs/{string-mask-strategy-4c174ebf.js → string-mask-strategy-fc01a500.js} +2 -2
- package/dist/cjs/{style-formatter-2c749500.js → style-formatter-73205450.js} +2 -2
- package/dist/cjs/{time-required-rule-04994a5e.js → time-required-rule-12d2f394.js} +1 -1
- package/dist/cjs/{token-extension-d217914d.js → token-extension-d123d9d0.js} +308 -18
- package/dist/cjs/{translation-slimmer-7fb6e94c.js → translation-slimmer-9099f56c.js} +1 -1
- package/dist/cjs/{type-guard-1c3770d4.js → type-guard-f354af8b.js} +1 -1
- package/dist/cjs/{valid-credit-card-number-rule-f719a8c6.js → valid-credit-card-number-rule-8d370163.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +8 -8
- package/dist/cjs/vega-app-footer.cjs.entry.js +2 -2
- package/dist/cjs/vega-app-header-button.cjs.entry.js +8 -8
- package/dist/cjs/vega-banner.cjs.entry.js +2 -2
- package/dist/cjs/vega-box.cjs.entry.js +6 -6
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +3 -3
- package/dist/cjs/vega-button-circle.cjs.entry.js +8 -8
- 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 +11 -8
- package/dist/cjs/vega-calendar_5.cjs.entry.js +10 -10
- package/dist/cjs/vega-card.cjs.entry.js +5 -5
- package/dist/cjs/vega-carousel.cjs.entry.js +5 -5
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +5 -5
- package/dist/cjs/vega-chip.cjs.entry.js +8 -8
- package/dist/cjs/vega-code-block.cjs.entry.js +11 -11
- package/dist/cjs/vega-color-picker.cjs.entry.js +4 -4
- package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +6 -6
- package/dist/cjs/vega-color-swatch.cjs.entry.js +4 -4
- package/dist/cjs/vega-combo-box.cjs.entry.js +30 -12
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +16 -16
- package/dist/cjs/vega-dialog_2.cjs.entry.js +163 -73
- package/dist/cjs/vega-divider.cjs.entry.js +5 -5
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +21 -16
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-label.cjs.entry.js +4 -4
- package/dist/cjs/vega-file-uploader.cjs.entry.js +5 -5
- package/dist/cjs/vega-flag-icon.cjs.entry.js +5 -5
- package/dist/cjs/vega-flex.cjs.entry.js +6 -6
- package/dist/cjs/vega-font.cjs.entry.js +5 -5
- package/dist/cjs/vega-form.cjs.entry.js +6 -6
- package/dist/cjs/vega-grid.cjs.entry.js +5 -5
- package/dist/cjs/vega-icon.cjs.entry.js +5 -5
- package/dist/cjs/vega-image-uploader.cjs.entry.js +8 -8
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +9 -9
- package/dist/cjs/vega-input-numeric.cjs.entry.js +8 -8
- package/dist/cjs/vega-input-passcode.cjs.entry.js +8 -8
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +7 -7
- package/dist/cjs/vega-input-range.cjs.entry.js +6 -6
- package/dist/cjs/vega-input-select.cjs.entry.js +59 -10
- package/dist/cjs/vega-input.cjs.entry.js +8 -8
- package/dist/cjs/vega-item-toggle.cjs.entry.js +2 -2
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +158 -114
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +2 -2
- package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +2 -2
- package/dist/cjs/vega-pagination.cjs.entry.js +7 -7
- package/dist/cjs/vega-popover_2.cjs.entry.js +10 -10
- package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +16 -6
- package/dist/cjs/vega-radio_2.cjs.entry.js +8 -8
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +6 -6
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +58 -31
- package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +3 -3
- package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +7 -7
- package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +14 -14
- package/dist/cjs/vega-segment-control.cjs.entry.js +2 -2
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +7 -7
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +5 -5
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +5 -5
- package/dist/cjs/vega-signature-capture.cjs.entry.js +9 -9
- package/dist/cjs/vega-stepper.cjs.entry.js +5 -5
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-table_11.cjs.entry.js +72 -12
- package/dist/cjs/vega-textarea.cjs.entry.js +5 -5
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +12 -12
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +4 -4
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
- package/dist/cjs/vega.cjs.js +13 -14
- package/dist/collection/components/vega-button/vega-button.css +4 -0
- package/dist/collection/components/vega-button/vega-button.js +4 -1
- 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 +6 -1
- 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-nav/vega-left-nav/slimmers/controllers/vega-left-nav-auto-collapse-controller.js +4 -6
- package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-controller.js +23 -68
- package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-manager.js +74 -0
- package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-open-state-controller.js +16 -2
- package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-zindex-controller.js +2 -2
- package/dist/collection/components/vega-nav/vega-left-nav/vega-left-nav.js +7 -2
- 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-editor/dto/annotations/custom-style-annotation.js +3 -2
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/code-block/code-node-filter-styles-strategy.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/find-replace-highlight-manager.js +21 -7
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/assets/fullscreen-enter.js +3 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/assets/fullscreen-exit.js +3 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/controller/fullscreen-controller.js +156 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-extension.js +31 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-toolbar-button-renderer.js +73 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-toolbar-popover-renderer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-basic-form-field-renderer.abstract.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/column-button-slimmer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/merge-cells-button-slimmer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/helpers/utils.js +71 -15
- package/dist/collection/components/vega-rich-text-editor/public-api.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/extension-controller.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +11 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.js +19 -1
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.js +1 -1
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-cell-renderer.js +3 -1
- package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.js +89 -7
- package/dist/collection/global/scripts/before-vega-load.js +2 -0
- package/dist/collection/helpers/backdrop/index.js +1 -0
- package/dist/collection/helpers/backdrop/shared-backdrop-manager.js +194 -0
- package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +11 -3
- package/dist/collection/helpers/translation/locales/en.js +2 -0
- package/dist/esm/{app-globals-9950d055.js → app-globals-eafcc7a1.js} +11 -10
- package/dist/esm/{child-nodes-event-prevent-slimmer-96c14f5a.js → child-nodes-event-prevent-slimmer-82626871.js} +1 -1
- package/dist/esm/{code-block-ae2337c2.js → code-block-e12588fe.js} +77 -21
- package/dist/esm/{component-value-history-controller-slimmer.abstract-b1ee1b8e.js → component-value-history-controller-slimmer.abstract-4e8eb313.js} +3 -3
- package/dist/esm/{content-state-c3b85ae6.js → content-state-8032467a.js} +2 -2
- package/dist/esm/{date-required-rule-e06115f8.js → date-required-rule-b88e1650.js} +1 -1
- package/dist/esm/{design-token-4e682056.js → design-token-76bd217c.js} +3 -3
- package/dist/esm/{element-appender-slimmer-a4485ef6.js → element-appender-slimmer-7fcb944b.js} +2 -2
- package/dist/esm/{event-emit-slimmer-db4a82e0.js → event-emit-slimmer-2452278f.js} +1 -1
- package/dist/esm/{form-field-controller-slimmer-a1c7b28c.js → form-field-controller-slimmer-395c23e3.js} +1 -1
- package/dist/esm/{image-annotation-action-4c77d314.js → image-annotation-action-08a20d5e.js} +4 -4
- package/dist/esm/{image-extension-7108c27d.js → image-extension-b6c7e4a7.js} +18 -2
- package/dist/esm/index.js +19 -19
- package/dist/esm/{inject-keyboard-manager-e8ddb78d.js → inject-keyboard-manager-86126b5b.js} +1 -1
- package/dist/esm/{internal-calendar-period-factory-6f19d767.js → internal-calendar-period-factory-3a07dba0.js} +1 -1
- package/dist/esm/{internal-translation-controller-09b8bd13.js → internal-translation-controller-16709132.js} +2 -0
- package/dist/esm/{internal-vega-event-manager-48690e5b.js → internal-vega-event-manager-2ecc9186.js} +11 -3
- package/dist/esm/{keyboard-manager-ec18721b.js → keyboard-manager-a0c3e1cf.js} +1 -1
- package/dist/esm/{keyboard-manager-slimmer-531ddb0e.js → keyboard-manager-slimmer-f3f66c15.js} +1 -1
- package/dist/esm/{link-extension-74eaa826.js → link-extension-97fcb8fb.js} +3 -3
- package/dist/esm/loader.js +14 -15
- package/dist/esm/{month-view-generator-afd78ff8.js → month-view-generator-fd0e1856.js} +1 -1
- package/dist/esm/{public-rules-5fce32a5.js → public-rules-c06f0d2a.js} +7 -7
- package/dist/esm/{range-8f877dbf.js → range-e999837f.js} +1 -1
- package/dist/esm/{responsive-format-facade-299e6304.js → responsive-format-facade-ced96b0b.js} +1 -1
- package/dist/esm/{rich-text-editor-required-rule-3047bab0.js → rich-text-editor-required-rule-71f8ee98.js} +1 -1
- package/dist/esm/shared-backdrop-manager-a7c63838.js +197 -0
- package/dist/esm/{split-cell-operation-98d58410.js → split-cell-operation-359f8082.js} +3 -3
- package/dist/esm/{state-border-formatter-da52b626.js → state-border-formatter-b680e922.js} +1 -1
- package/dist/esm/{string-format-strategy.abstract-a45b5ff7.js → string-format-strategy.abstract-23faab71.js} +1 -1
- package/dist/esm/{string-input-formatter-slimmer-4a032fed.js → string-input-formatter-slimmer-4b4866a6.js} +1 -1
- package/dist/esm/{string-mask-strategy-37e53e48.js → string-mask-strategy-66586cd8.js} +2 -2
- package/dist/esm/{style-formatter-3d5ddfb1.js → style-formatter-f4e16af5.js} +2 -2
- package/dist/esm/{time-required-rule-355b73d2.js → time-required-rule-6e80a9ab.js} +1 -1
- package/dist/esm/{token-extension-ecfafe94.js → token-extension-f5bf9c21.js} +308 -19
- package/dist/esm/{translation-slimmer-3ea56354.js → translation-slimmer-21748a0e.js} +1 -1
- package/dist/esm/{type-guard-2bfb2c7b.js → type-guard-ec5e8628.js} +1 -1
- package/dist/esm/{valid-credit-card-number-rule-52c6b029.js → valid-credit-card-number-rule-ca5a47d6.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +9 -9
- package/dist/esm/vega-app-footer.entry.js +3 -3
- package/dist/esm/vega-app-header-button.entry.js +9 -9
- package/dist/esm/vega-banner.entry.js +3 -3
- package/dist/esm/vega-box.entry.js +6 -6
- package/dist/esm/vega-breadcrumb.entry.js +4 -4
- package/dist/esm/vega-button-circle.entry.js +9 -9
- 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 +12 -9
- package/dist/esm/vega-calendar_5.entry.js +11 -11
- package/dist/esm/vega-card.entry.js +5 -5
- package/dist/esm/vega-carousel.entry.js +6 -6
- package/dist/esm/vega-checkbox_2.entry.js +6 -6
- package/dist/esm/vega-chip.entry.js +9 -9
- package/dist/esm/vega-code-block.entry.js +12 -12
- package/dist/esm/vega-color-picker.entry.js +5 -5
- package/dist/esm/vega-color-swatch-picker.entry.js +7 -7
- package/dist/esm/vega-color-swatch.entry.js +5 -5
- package/dist/esm/vega-combo-box.entry.js +31 -13
- package/dist/esm/vega-date-picker_2.entry.js +17 -17
- package/dist/esm/vega-dialog_2.entry.js +164 -74
- package/dist/esm/vega-divider.entry.js +5 -5
- package/dist/esm/vega-dropdown_5.entry.js +22 -17
- 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 +5 -5
- package/dist/esm/vega-file-uploader.entry.js +6 -6
- package/dist/esm/vega-flag-icon.entry.js +5 -5
- package/dist/esm/vega-flex.entry.js +6 -6
- package/dist/esm/vega-font.entry.js +5 -5
- package/dist/esm/vega-form.entry.js +7 -7
- package/dist/esm/vega-grid.entry.js +5 -5
- package/dist/esm/vega-icon.entry.js +5 -5
- package/dist/esm/vega-image-uploader.entry.js +9 -9
- package/dist/esm/vega-input-credit-card.entry.js +10 -10
- package/dist/esm/vega-input-numeric.entry.js +9 -9
- package/dist/esm/vega-input-passcode.entry.js +9 -9
- package/dist/esm/vega-input-phone-number.entry.js +8 -8
- package/dist/esm/vega-input-range.entry.js +7 -7
- package/dist/esm/vega-input-select.entry.js +60 -11
- package/dist/esm/vega-input.entry.js +9 -9
- package/dist/esm/vega-item-toggle.entry.js +3 -3
- package/dist/esm/vega-left-nav_5.entry.js +159 -115
- package/dist/esm/vega-loader-wrapper_2.entry.js +3 -3
- 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 +3 -3
- package/dist/esm/vega-pagination.entry.js +8 -8
- package/dist/esm/vega-popover_2.entry.js +11 -11
- package/dist/esm/vega-progress-tracker_2.entry.js +17 -7
- package/dist/esm/vega-radio_2.entry.js +9 -9
- package/dist/esm/vega-rich-text-content.entry.js +7 -7
- package/dist/esm/vega-rich-text-editor_4.entry.js +55 -28
- package/dist/esm/vega-rich-text-find-replace-panel.entry.js +4 -4
- package/dist/esm/vega-rich-text-special-characters-panel.entry.js +8 -8
- package/dist/esm/vega-rich-text-table-properties_3.entry.js +15 -15
- package/dist/esm/vega-segment-control.entry.js +3 -3
- package/dist/esm/vega-selection-chip_2.entry.js +8 -8
- package/dist/esm/vega-selection-tile_2.entry.js +6 -6
- package/dist/esm/vega-sidenav_3.entry.js +6 -6
- package/dist/esm/vega-signature-capture.entry.js +10 -10
- package/dist/esm/vega-stepper.entry.js +6 -6
- package/dist/esm/vega-tab-group_2.entry.js +4 -4
- package/dist/esm/vega-table_11.entry.js +73 -13
- package/dist/esm/vega-textarea.entry.js +6 -6
- package/dist/esm/vega-time-picker_2.entry.js +13 -13
- package/dist/esm/vega-toggle-switch.entry.js +5 -5
- package/dist/esm/vega-tooltip_2.entry.js +6 -6
- package/dist/esm/vega.js +14 -15
- package/dist/sri/vega-sri-manifest.json +358 -358
- 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/vega-dropdown.d.ts +4 -0
- 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-nav/vega-left-nav/slimmers/controllers/vega-left-nav-auto-collapse-controller.d.ts +0 -1
- package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-controller.d.ts +12 -19
- package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-manager.d.ts +41 -0
- package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-open-state-controller.d.ts +4 -1
- package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-zindex-controller.d.ts +1 -1
- package/dist/types/components/vega-nav/vega-left-nav/vega-left-nav.d.ts +2 -0
- 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/extensions/find-replace/slimmer/controllers/helper/find-replace-highlight-manager.d.ts +15 -4
- package/dist/types/components/vega-rich-text-editor/extensions/fullscreen/assets/fullscreen-enter.d.ts +3 -0
- package/dist/types/components/vega-rich-text-editor/extensions/fullscreen/assets/fullscreen-exit.d.ts +3 -0
- package/dist/types/components/vega-rich-text-editor/extensions/fullscreen/controller/fullscreen-controller.d.ts +63 -0
- package/dist/types/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-extension.d.ts +20 -0
- package/dist/types/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-toolbar-button-renderer.d.ts +40 -0
- package/dist/types/components/vega-rich-text-editor/helpers/utils.d.ts +19 -0
- package/dist/types/components/vega-rich-text-editor/interface.d.ts +20 -0
- package/dist/types/components/vega-rich-text-editor/public-api.d.ts +2 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +5 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.d.ts +8 -0
- package/dist/types/components/vega-table/interface.d.ts +13 -0
- package/dist/types/components/vega-table/vega-table-cell/vega-table-cell.d.ts +14 -0
- package/dist/types/components.d.ts +46 -2
- package/dist/types/helpers/backdrop/index.d.ts +1 -0
- package/dist/types/helpers/backdrop/shared-backdrop-manager.d.ts +83 -0
- package/dist/types/helpers/translation/interface.d.ts +3 -1
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-21e21f51.js → p-02355de8.js} +1 -1
- package/dist/vega/p-0512308f.entry.js +1 -0
- package/dist/vega/p-05d04c07.entry.js +1 -0
- package/dist/vega/p-0be4df0a.js +1 -0
- package/dist/vega/{p-0e607b44.js → p-0d18368b.js} +1 -1
- package/dist/vega/{p-6b1893f6.entry.js → p-1232b553.entry.js} +1 -1
- package/dist/vega/{p-32a67ba1.js → p-14baa886.js} +1 -1
- package/dist/vega/{p-d7f32ccf.entry.js → p-1d8312d3.entry.js} +1 -1
- package/dist/vega/{p-fbd3be00.entry.js → p-200c8914.entry.js} +1 -1
- package/dist/vega/{p-b1ff70bf.js → p-2c737fc8.js} +1 -1
- package/dist/vega/{p-c5ecbc53.entry.js → p-2d77ae73.entry.js} +1 -1
- package/dist/vega/{p-b042e3b4.entry.js → p-2d8d4d5b.entry.js} +1 -1
- package/dist/vega/p-31216140.js +1 -0
- package/dist/vega/{p-afb96938.js → p-320091b7.js} +1 -1
- package/dist/vega/p-36949349.js +1 -0
- package/dist/vega/{p-44439ecc.entry.js → p-36d2df7a.entry.js} +1 -1
- package/dist/vega/p-38c9d782.js +1 -0
- package/dist/vega/{p-e4309574.js → p-3c309a38.js} +1 -1
- package/dist/vega/p-3d6f761a.entry.js +1 -0
- package/dist/vega/{p-4d9562bc.js → p-3dee1e55.js} +1 -1
- package/dist/vega/p-4151f53a.entry.js +1 -0
- package/dist/vega/{p-7c8e579e.entry.js → p-49e1cf4d.entry.js} +1 -1
- package/dist/vega/{p-ccf7518b.js → p-4fe40b76.js} +1 -1
- package/dist/vega/{p-7d54e9c1.js → p-4ff48b84.js} +1 -1
- package/dist/vega/p-513bc0d9.js +1 -0
- package/dist/vega/{p-698fbd73.js → p-5447a8e8.js} +1 -1
- package/dist/vega/{p-45e8424a.entry.js → p-56d19601.entry.js} +1 -1
- package/dist/vega/{p-a359e53c.js → p-579cdeae.js} +1 -1
- package/dist/vega/{p-fda6e2cc.entry.js → p-5924adae.entry.js} +1 -1
- package/dist/vega/{p-c2d28797.entry.js → p-595998d9.entry.js} +1 -1
- package/dist/vega/{p-7b93a756.entry.js → p-5e4517eb.entry.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-1efab41b.js → p-61ce8029.js} +1 -1
- package/dist/vega/{p-140616fe.js → p-66647244.js} +1 -1
- package/dist/vega/{p-ddf03de1.entry.js → p-6680ba17.entry.js} +1 -1
- package/dist/vega/{p-1818f399.entry.js → p-6c9c2f8c.entry.js} +1 -1
- package/dist/vega/{p-5dbfffcd.js → p-6cde45fc.js} +1 -1
- package/dist/vega/{p-af98539f.entry.js → p-6fcec7c7.entry.js} +1 -1
- package/dist/vega/{p-422d88ae.entry.js → p-74f86ff9.entry.js} +1 -1
- package/dist/vega/p-75e33859.js +1 -0
- package/dist/vega/{p-6ad7144a.entry.js → p-775ecfad.entry.js} +1 -1
- package/dist/vega/p-7950f3e2.entry.js +1 -0
- package/dist/vega/{p-615a2b8c.entry.js → p-80b7945a.entry.js} +1 -1
- package/dist/vega/p-8354cff0.entry.js +1 -0
- package/dist/vega/{p-653a6dd8.entry.js → p-841b3281.entry.js} +1 -1
- package/dist/vega/p-8720816e.js +1 -0
- package/dist/vega/p-87e5cb56.entry.js +1 -0
- package/dist/vega/p-88be9ec5.js +1 -0
- package/dist/vega/{p-6712a9c7.entry.js → p-892edf88.entry.js} +1 -1
- package/dist/vega/p-8a001caa.js +1 -0
- package/dist/vega/p-8c30a60d.js +1 -0
- package/dist/vega/p-8d4b85e7.entry.js +1 -0
- package/dist/vega/{p-f8a29127.entry.js → p-8d96f0e8.entry.js} +1 -1
- package/dist/vega/{p-19c42e30.js → p-8db904dc.js} +1 -1
- package/dist/vega/{p-e86c6802.entry.js → p-91303402.entry.js} +1 -1
- package/dist/vega/{p-c553d37e.js → p-919cddc3.js} +1 -1
- package/dist/vega/p-97215133.js +1 -0
- package/dist/vega/{p-3f7b10b9.entry.js → p-9bdc6e11.entry.js} +1 -1
- package/dist/vega/{p-09d50f59.entry.js → p-9c39f90b.entry.js} +1 -1
- package/dist/vega/{p-d62b85ff.entry.js → p-9d96d83f.entry.js} +1 -1
- package/dist/vega/p-9f201152.entry.js +1 -0
- package/dist/vega/{p-ef605271.js → p-9f7154d2.js} +1 -1
- package/dist/vega/{p-3c9da3cd.entry.js → p-a0a58295.entry.js} +1 -1
- package/dist/vega/{p-4c49b2e3.js → p-a7209700.js} +1 -1
- package/dist/vega/{p-8c1a5fa4.entry.js → p-a775825e.entry.js} +1 -1
- package/dist/vega/{p-c3c0e415.entry.js → p-a890d60b.entry.js} +1 -1
- package/dist/vega/{p-bbabb1c8.entry.js → p-ae146458.entry.js} +1 -1
- package/dist/vega/{p-0f1d6ceb.entry.js → p-b187b82d.entry.js} +1 -1
- package/dist/vega/{p-f0d4c78c.js → p-b1eb9ff0.js} +1 -1
- package/dist/vega/{p-832d1a72.entry.js → p-b3a2ce06.entry.js} +1 -1
- package/dist/vega/{p-56c4e349.entry.js → p-b4c26035.entry.js} +1 -1
- package/dist/vega/p-b4e7c967.js +1 -0
- package/dist/vega/{p-2de61f1b.js → p-b775e51f.js} +1 -1
- package/dist/vega/{p-63101cb4.entry.js → p-b8c13ac9.entry.js} +1 -1
- package/dist/vega/{p-e410c4ad.entry.js → p-b9e72de2.entry.js} +1 -1
- package/dist/vega/{p-cf8d5b3f.entry.js → p-ba2b9663.entry.js} +1 -1
- package/dist/vega/{p-95d6c85f.js → p-ba662fe5.js} +1 -1
- package/dist/vega/{p-05f937c5.entry.js → p-bb60e381.entry.js} +1 -1
- package/dist/vega/p-bbad318e.entry.js +1 -0
- package/dist/vega/{p-acbba6da.entry.js → p-c079c935.entry.js} +1 -1
- package/dist/vega/p-c0e42c03.entry.js +1 -0
- package/dist/vega/{p-3932f964.entry.js → p-c41f5684.entry.js} +1 -1
- package/dist/vega/{p-73fd18d9.entry.js → p-c54b5a8f.entry.js} +1 -1
- package/dist/vega/{p-0cb78838.entry.js → p-c5d3b008.entry.js} +1 -1
- package/dist/vega/{p-9a472a04.entry.js → p-cd1e976c.entry.js} +1 -1
- package/dist/vega/{p-2dc5edd0.entry.js → p-db11134b.entry.js} +1 -1
- package/dist/vega/p-df828d90.entry.js +1 -0
- package/dist/vega/{p-944b43ce.entry.js → p-e1737c8e.entry.js} +1 -1
- package/dist/vega/{p-2fcc604c.entry.js → p-e1b57e8f.entry.js} +1 -1
- package/dist/vega/{p-d44943e2.entry.js → p-e235020b.entry.js} +1 -1
- package/dist/vega/{p-4f327808.entry.js → p-e4266b45.entry.js} +1 -1
- package/dist/vega/{p-9cafbc26.entry.js → p-e48a870f.entry.js} +1 -1
- package/dist/vega/{p-ffdacaf9.entry.js → p-e5ff77f7.entry.js} +1 -1
- package/dist/vega/{p-d4bb6f93.entry.js → p-ebe32b25.entry.js} +1 -1
- package/dist/vega/p-ec162599.entry.js +1 -0
- package/dist/vega/{p-d3a36d19.entry.js → p-ec64cc59.entry.js} +1 -1
- package/dist/vega/p-f1974321.js +1 -0
- package/dist/vega/{p-4256252c.js → p-f4da615a.js} +1 -1
- package/dist/vega/{p-f2f22b5d.entry.js → p-f78944d7.entry.js} +1 -1
- package/dist/vega/{p-6d40635e.js → p-f7e459cd.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-66b7d1c7.entry.js → p-fc7e4c8a.entry.js} +1 -1
- package/dist/vega/{p-b39d4a88.entry.js → p-fd23c365.entry.js} +1 -1
- package/dist/vega/{p-8d27b9cc.js → p-fe24b459.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/replace-selected-text-action-a80f5a6a.js +0 -20
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-backdrop-controller.js +0 -73
- package/dist/esm/replace-selected-text-action-c9278a0f.js +0 -18
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-backdrop-controller.d.ts +0 -27
- package/dist/vega/p-07562b9c.js +0 -1
- package/dist/vega/p-18a5e8bc.js +0 -1
- package/dist/vega/p-282b37cb.js +0 -1
- package/dist/vega/p-2de88b4a.entry.js +0 -1
- package/dist/vega/p-392e049c.entry.js +0 -1
- package/dist/vega/p-4e1aa86f.js +0 -1
- package/dist/vega/p-4ef5c4a7.entry.js +0 -1
- package/dist/vega/p-5139e516.js +0 -1
- package/dist/vega/p-751a5cd6.entry.js +0 -1
- package/dist/vega/p-846b1ab9.entry.js +0 -1
- package/dist/vega/p-88863658.js +0 -1
- package/dist/vega/p-99b699be.entry.js +0 -1
- package/dist/vega/p-9a01be93.js +0 -1
- package/dist/vega/p-a9a87b9a.js +0 -1
- package/dist/vega/p-ad35dea4.entry.js +0 -1
- package/dist/vega/p-b5bee669.entry.js +0 -1
- package/dist/vega/p-b5f308ee.entry.js +0 -1
- package/dist/vega/p-bbf1f988.entry.js +0 -1
- package/dist/vega/p-cb81fc2a.entry.js +0 -1
- package/dist/vega/p-ccb9bf86.js +0 -1
- package/dist/vega/p-dca3278f.js +0 -1
- package/dist/vega/p-ddd28a8e.entry.js +0 -1
- package/dist/vega/p-e0ecafca.js +0 -1
- package/dist/vega/p-e33e1e90.js +0 -1
- package/dist/vega/p-e5187a86.entry.js +0 -1
- package/dist/vega/p-ff8dd200.js +0 -1
|
@@ -0,0 +1,74 @@
|
|
|
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 { getCurrentBreakpoint } from '../../../../../utils/breakpoints';
|
|
9
|
+
import { SharedBackdropManager } from '../../../../../helpers/backdrop';
|
|
10
|
+
/**
|
|
11
|
+
* Left-nav specific backdrop manager — extends SharedBackdropManager to get its own static scope.
|
|
12
|
+
* Each subclass of SharedBackdropManager gets its own separate static state (consumers, visibility intents, etc).
|
|
13
|
+
*/
|
|
14
|
+
export class VegaLeftNavBackdropManager extends SharedBackdropManager {
|
|
15
|
+
/**
|
|
16
|
+
* Watch openState changes and update visibility intent.
|
|
17
|
+
*
|
|
18
|
+
* @param {LeftNavOpenStateType} newState - The new open state.
|
|
19
|
+
*/
|
|
20
|
+
watchOpenState(newState) {
|
|
21
|
+
const shouldShow = newState === 'open' && this.shouldShowBackdrop();
|
|
22
|
+
this.setVisibilityIntent(shouldShow);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Watch showAsOverlay changes and re-evaluate visibility.
|
|
26
|
+
*/
|
|
27
|
+
watchShowAsOverlay() {
|
|
28
|
+
this.watchOpenState(this.openState);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Customize backdrop creation for left-nav use case.
|
|
32
|
+
*
|
|
33
|
+
* @param {Document} doc - The document reference.
|
|
34
|
+
* @returns {HTMLVegaBackdropElement} The created and configured backdrop element.
|
|
35
|
+
*/
|
|
36
|
+
createBackdrop(doc) {
|
|
37
|
+
const backdrop = doc.createElement('vega-backdrop');
|
|
38
|
+
backdrop.classList.add(VegaLeftNavBackdropManager.backdropClassName);
|
|
39
|
+
backdrop.duration = 150;
|
|
40
|
+
backdrop.visible = false;
|
|
41
|
+
doc.body.append(backdrop);
|
|
42
|
+
return backdrop;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Determine if backdrop should be shown based on current state.
|
|
46
|
+
*
|
|
47
|
+
* @returns {boolean} True if backdrop should be visible.
|
|
48
|
+
*/
|
|
49
|
+
shouldShowBackdrop() {
|
|
50
|
+
return this.showAsOverlay || !this.isLargeScreen();
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Check if current breakpoint is large screen.
|
|
54
|
+
*
|
|
55
|
+
* @returns {boolean} True if current breakpoint is 'L' or 'XL'.
|
|
56
|
+
*/
|
|
57
|
+
isLargeScreen() {
|
|
58
|
+
const breakpoint = getCurrentBreakpoint();
|
|
59
|
+
return breakpoint === 'L' || breakpoint === 'XL';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
VegaLeftNavBackdropManager.backdropClassName = 'vega-left-nav-backdrop';
|
|
63
|
+
__decorate([
|
|
64
|
+
MapToComponentField()
|
|
65
|
+
], VegaLeftNavBackdropManager.prototype, "openState", void 0);
|
|
66
|
+
__decorate([
|
|
67
|
+
MapToComponentField()
|
|
68
|
+
], VegaLeftNavBackdropManager.prototype, "showAsOverlay", void 0);
|
|
69
|
+
__decorate([
|
|
70
|
+
MapToComponentMethod('watchOpenState')
|
|
71
|
+
], VegaLeftNavBackdropManager.prototype, "watchOpenState", null);
|
|
72
|
+
__decorate([
|
|
73
|
+
MapToComponentMethod('watchShowAsOverlay')
|
|
74
|
+
], VegaLeftNavBackdropManager.prototype, "watchShowAsOverlay", null);
|
|
@@ -9,6 +9,7 @@ import { PageResizeObserverSlimmer } from '../../../../../helpers/slimmers/page-
|
|
|
9
9
|
import { executeAfterTransition } from '../../../../../utils/effect';
|
|
10
10
|
import { FeatureFlag } from '../../../../../helpers/feature-control/feature-flag-controller';
|
|
11
11
|
import { checkIsVoiceOverClick, getFirstFocusableElement } from '../../../../../utils/ui';
|
|
12
|
+
import { getCurrentBreakpoint } from '../../../../../utils/breakpoints';
|
|
12
13
|
export class VegaLeftNavOpenStateController extends PageResizeObserverSlimmer {
|
|
13
14
|
/**
|
|
14
15
|
* The below method is e2e-test covered in
|
|
@@ -18,7 +19,11 @@ export class VegaLeftNavOpenStateController extends PageResizeObserverSlimmer {
|
|
|
18
19
|
/* eslint-disable jsdoc/require-jsdoc*/
|
|
19
20
|
super({
|
|
20
21
|
callback: /* istanbul ignore next */ () => {
|
|
22
|
+
if (this.showAsOverlay) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
21
25
|
this.updateMainContentUI(this.openState);
|
|
26
|
+
this.backdropManager.watchOpenState(this.openState);
|
|
22
27
|
},
|
|
23
28
|
});
|
|
24
29
|
this.isVoiceOverClick = false;
|
|
@@ -72,6 +77,7 @@ export class VegaLeftNavOpenStateController extends PageResizeObserverSlimmer {
|
|
|
72
77
|
}
|
|
73
78
|
}
|
|
74
79
|
watchOpenState(newState) {
|
|
80
|
+
this.backdropManager.watchOpenState(newState);
|
|
75
81
|
this.updateMainContentUI(newState);
|
|
76
82
|
if (newState === 'open') {
|
|
77
83
|
this.open = true;
|
|
@@ -92,6 +98,7 @@ export class VegaLeftNavOpenStateController extends PageResizeObserverSlimmer {
|
|
|
92
98
|
}
|
|
93
99
|
}
|
|
94
100
|
watchShowAsOverlay() {
|
|
101
|
+
this.backdropManager.watchShowAsOverlay();
|
|
95
102
|
this.updateMainContentUI(this.openState);
|
|
96
103
|
}
|
|
97
104
|
/**
|
|
@@ -169,7 +176,7 @@ export class VegaLeftNavOpenStateController extends PageResizeObserverSlimmer {
|
|
|
169
176
|
this.host.style.display = 'flex';
|
|
170
177
|
setTimeout(() => {
|
|
171
178
|
this.host.classList.add('open');
|
|
172
|
-
if (mainContent && !this.
|
|
179
|
+
if (mainContent && !this.shouldShowBackdrop()) {
|
|
173
180
|
bodyElement === null || bodyElement === void 0 ? void 0 : bodyElement.classList.remove('vega-overflow-hidden');
|
|
174
181
|
mainContent.classList.add('open');
|
|
175
182
|
}
|
|
@@ -190,6 +197,10 @@ export class VegaLeftNavOpenStateController extends PageResizeObserverSlimmer {
|
|
|
190
197
|
}, this.host);
|
|
191
198
|
}
|
|
192
199
|
}
|
|
200
|
+
shouldShowBackdrop() {
|
|
201
|
+
const breakpoint = getCurrentBreakpoint();
|
|
202
|
+
return this.showAsOverlay || (breakpoint !== 'L' && breakpoint !== 'XL');
|
|
203
|
+
}
|
|
193
204
|
}
|
|
194
205
|
__decorate([
|
|
195
206
|
MapToComponentField()
|
|
@@ -205,7 +216,10 @@ __decorate([
|
|
|
205
216
|
], VegaLeftNavOpenStateController.prototype, "stateUpdateEventEmitter", void 0);
|
|
206
217
|
__decorate([
|
|
207
218
|
MapToComponentField()
|
|
208
|
-
], VegaLeftNavOpenStateController.prototype, "
|
|
219
|
+
], VegaLeftNavOpenStateController.prototype, "showAsOverlay", void 0);
|
|
220
|
+
__decorate([
|
|
221
|
+
MapToComponentField()
|
|
222
|
+
], VegaLeftNavOpenStateController.prototype, "backdropManager", void 0);
|
|
209
223
|
__decorate([
|
|
210
224
|
MapToComponentMethod('componentDidLoad')
|
|
211
225
|
], VegaLeftNavOpenStateController.prototype, "componentDidLoad", null);
|
|
@@ -17,7 +17,7 @@ export class VegaLeftNavZIndexController extends VegaSlimmer {
|
|
|
17
17
|
*/
|
|
18
18
|
/* istanbul ignore next */
|
|
19
19
|
updateZIndex() {
|
|
20
|
-
const backDrop = this.
|
|
20
|
+
const backDrop = this.backdropManager.getBackdrop();
|
|
21
21
|
if (this.openState == 'open') {
|
|
22
22
|
backDrop && InternalVegaZIndexManager.setZIndex(backDrop, 'base');
|
|
23
23
|
InternalVegaZIndexManager.setZIndex(this.host, 'base');
|
|
@@ -38,7 +38,7 @@ __decorate([
|
|
|
38
38
|
], VegaLeftNavZIndexController.prototype, "openState", void 0);
|
|
39
39
|
__decorate([
|
|
40
40
|
MapToComponentField()
|
|
41
|
-
], VegaLeftNavZIndexController.prototype, "
|
|
41
|
+
], VegaLeftNavZIndexController.prototype, "backdropManager", void 0);
|
|
42
42
|
__decorate([
|
|
43
43
|
MapToComponentMethod('watchOpenState')
|
|
44
44
|
], VegaLeftNavZIndexController.prototype, "watchOpenState", null);
|
|
@@ -11,6 +11,7 @@ import { VegaLeftNavOpenStateController } from './slimmers/controllers/vega-left
|
|
|
11
11
|
import { VegaLeftNavHeaderRenderer } from './slimmers/renderers/vega-left-nav-header-renderer';
|
|
12
12
|
import { VegaLeftNavFooterRenderer } from './slimmers/renderers/vega-left-nav-footer-renderer';
|
|
13
13
|
import { VegaLeftNavZIndexController } from './slimmers/controllers/vega-left-nav-zindex-controller';
|
|
14
|
+
import { VegaLeftNavBackdropManager } from './slimmers/controllers/vega-left-nav-backdrop-manager';
|
|
14
15
|
import { VegaLeftNavBackdropController } from './slimmers/controllers/vega-left-nav-backdrop-controller';
|
|
15
16
|
import { InjectKeyboardManager } from '../../../decorators/property-decorators/inject-keyboard-manager';
|
|
16
17
|
import { VegaNavListRenderer } from '../slimmers/renderers/vega-nav-list-renderer';
|
|
@@ -33,6 +34,7 @@ export class VegaLeftNav {
|
|
|
33
34
|
this.headerRenderer = new VegaLeftNavHeaderRenderer();
|
|
34
35
|
this.footerRenderer = new VegaLeftNavFooterRenderer();
|
|
35
36
|
this.openStateController = new VegaLeftNavOpenStateController();
|
|
37
|
+
this.backdropManager = new VegaLeftNavBackdropManager();
|
|
36
38
|
this.backdropController = new VegaLeftNavBackdropController();
|
|
37
39
|
this.zIndexController = new VegaLeftNavZIndexController();
|
|
38
40
|
this.listRenderer = new VegaNavListRenderer();
|
|
@@ -404,6 +406,9 @@ __decorate([
|
|
|
404
406
|
__decorate([
|
|
405
407
|
InjectVegaSlimmer()
|
|
406
408
|
], VegaLeftNav.prototype, "openStateController", void 0);
|
|
409
|
+
__decorate([
|
|
410
|
+
InjectVegaSlimmer()
|
|
411
|
+
], VegaLeftNav.prototype, "backdropManager", void 0);
|
|
407
412
|
__decorate([
|
|
408
413
|
InjectVegaSlimmer()
|
|
409
414
|
], VegaLeftNav.prototype, "backdropController", void 0);
|
|
@@ -437,7 +442,7 @@ __decorate([
|
|
|
437
442
|
keyCode: 'Escape',
|
|
438
443
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
439
444
|
activeElementInScope: /* istanbul ignore next */ () => {
|
|
440
|
-
const backdrop = target.
|
|
445
|
+
const backdrop = target.backdropManager.getBackdrop();
|
|
441
446
|
if (backdrop && backdrop.visible) {
|
|
442
447
|
// eslint-disable-next-line no-restricted-globals
|
|
443
448
|
return [document.body];
|
|
@@ -445,7 +450,7 @@ __decorate([
|
|
|
445
450
|
return [target.host];
|
|
446
451
|
},
|
|
447
452
|
callback: /* istanbul ignore next */ () => {
|
|
448
|
-
const backdrop = target.
|
|
453
|
+
const backdrop = target.backdropManager.getBackdrop();
|
|
449
454
|
if (backdrop && backdrop.visible) {
|
|
450
455
|
target.openStateController.setOpenState('close');
|
|
451
456
|
}
|
|
@@ -59,6 +59,10 @@ export class VegaProgressTrackerCurrentStepsController extends VegaSlimmer {
|
|
|
59
59
|
watchCompletedSteps() {
|
|
60
60
|
this.syncUpCurrentSteps();
|
|
61
61
|
}
|
|
62
|
+
/** while canClickStep changed, we need sync up current steps */
|
|
63
|
+
watchCanClickStep() {
|
|
64
|
+
this.syncUpCurrentSteps();
|
|
65
|
+
}
|
|
62
66
|
/**
|
|
63
67
|
* Sync up current steps
|
|
64
68
|
*/
|
|
@@ -123,3 +127,6 @@ __decorate([
|
|
|
123
127
|
__decorate([
|
|
124
128
|
MapToComponentMethod('watchCompletedSteps')
|
|
125
129
|
], VegaProgressTrackerCurrentStepsController.prototype, "watchCompletedSteps", null);
|
|
130
|
+
__decorate([
|
|
131
|
+
MapToComponentMethod('watchCanClickStep')
|
|
132
|
+
], VegaProgressTrackerCurrentStepsController.prototype, "watchCanClickStep", null);
|
|
@@ -130,6 +130,9 @@ export class VegaProgressTracker {
|
|
|
130
130
|
watchCompletedSteps() {
|
|
131
131
|
methodPlaceholder();
|
|
132
132
|
}
|
|
133
|
+
watchCanClickStep() {
|
|
134
|
+
methodPlaceholder();
|
|
135
|
+
}
|
|
133
136
|
/**
|
|
134
137
|
* Invoke this method to change the tracker's current step
|
|
135
138
|
* to the next step, if available.
|
|
@@ -486,6 +489,9 @@ export class VegaProgressTracker {
|
|
|
486
489
|
}, {
|
|
487
490
|
"propName": "completedSteps",
|
|
488
491
|
"methodName": "watchCompletedSteps"
|
|
492
|
+
}, {
|
|
493
|
+
"propName": "canClickStep",
|
|
494
|
+
"methodName": "watchCanClickStep"
|
|
489
495
|
}]; }
|
|
490
496
|
}
|
|
491
497
|
__decorate([
|
package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { escapeHtmlAttribute } from '../../helpers/utils';
|
|
1
2
|
import { CommonAnnotation, CommonAnnotationTypeEnum } from './common-annotation.abstract';
|
|
2
3
|
/**
|
|
3
4
|
* Annotation to add custom attributes of element
|
|
@@ -60,8 +61,8 @@ export class CustomStyleAnnotation extends CommonAnnotation {
|
|
|
60
61
|
* @returns {string} custom style string
|
|
61
62
|
*/
|
|
62
63
|
toString() {
|
|
63
|
-
return `style="${Object.entries(this.customStyle)
|
|
64
|
+
return `style="${escapeHtmlAttribute(Object.entries(this.customStyle)
|
|
64
65
|
.map(([key, value]) => `${key}: ${value};`)
|
|
65
|
-
.join(' ')}"`;
|
|
66
|
+
.join(' '))}"`;
|
|
66
67
|
}
|
|
67
68
|
}
|
|
@@ -17,6 +17,7 @@ import { InternalWrapperAnnotation } from '../annotations/internal-wrapper-annot
|
|
|
17
17
|
import RTEDTOClassManager from '../../../../helpers/rte-manager/dto-class-manager';
|
|
18
18
|
import { RTEAnnotationStyle } from '../annotations/annotation-style';
|
|
19
19
|
import { RTEFilterStylesStrategyRegistry } from '../filter-styles-strategies/filter-styles-strategy-registry';
|
|
20
|
+
import { escapeHtmlAttribute } from '../../helpers/utils';
|
|
20
21
|
/**
|
|
21
22
|
* Abstract class for block
|
|
22
23
|
*/
|
|
@@ -235,7 +236,7 @@ export class RTEBlock {
|
|
|
235
236
|
...customAttributeString,
|
|
236
237
|
classNames && classNames.length > 0 ? `class="${classNames.join(' ')}"` : null,
|
|
237
238
|
styles && Object.keys(styles).length > 0
|
|
238
|
-
? `style="${blockAnnotationStyle.toCssText({ standalone: true }, undefined, styles)}"`
|
|
239
|
+
? `style="${escapeHtmlAttribute(blockAnnotationStyle.toCssText({ standalone: true }, undefined, styles))}"`
|
|
239
240
|
: null,
|
|
240
241
|
...attrs,
|
|
241
242
|
].filter(isNonNullable);
|
|
@@ -37,7 +37,7 @@ CodeBlockNodeFilterStylesStrategy.STYLES = {
|
|
|
37
37
|
boxSizing: 'border-box',
|
|
38
38
|
color: 'rgba(var(--v-text-primary, 32, 54, 69, 1))',
|
|
39
39
|
textAlign: 'left',
|
|
40
|
-
fontFamily: '
|
|
40
|
+
fontFamily: "'Roboto Mono'",
|
|
41
41
|
fontWeight: '400',
|
|
42
42
|
lineHeight: '22px',
|
|
43
43
|
fontSize: '16px',
|
|
@@ -12,6 +12,7 @@ import { CustomStyleAnnotation } from '../annotations/custom-style-annotation';
|
|
|
12
12
|
import { methodPlaceholder } from 'vega-slimmer/core';
|
|
13
13
|
import { RTEAnnotationStyle } from '../annotations/annotation-style';
|
|
14
14
|
import { RTEFilterStylesStrategyRegistry } from '../filter-styles-strategies/filter-styles-strategy-registry';
|
|
15
|
+
import { escapeHtmlAttribute } from '../../helpers/utils';
|
|
15
16
|
export var NodeTypeEnum;
|
|
16
17
|
(function (NodeTypeEnum) {
|
|
17
18
|
NodeTypeEnum["TEXT"] = "TEXT";
|
|
@@ -167,7 +168,7 @@ export class RTENode {
|
|
|
167
168
|
...customAttributeString,
|
|
168
169
|
classNames && classNames.length > 0 ? `class="${classNames.join(' ')}"` : null,
|
|
169
170
|
styles && Object.keys(styles).length > 0
|
|
170
|
-
? `style="${nodeAnnotationStyle.toCssText({ standalone: true }, undefined, styles)}"`
|
|
171
|
+
? `style="${escapeHtmlAttribute(nodeAnnotationStyle.toCssText({ standalone: true }, undefined, styles))}"`
|
|
171
172
|
: null,
|
|
172
173
|
...attrs,
|
|
173
174
|
].filter(isNonNullable);
|
package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js
CHANGED
|
@@ -50,7 +50,7 @@ export class VegaRTEToolbarButtonRenderer {
|
|
|
50
50
|
* @returns {VegaRTERenderResult} - The render result for the dropdown.
|
|
51
51
|
*/
|
|
52
52
|
renderDropdown(h, editorContext, dropdownProps, children) {
|
|
53
|
-
return h('vega-dropdown', Object.assign({ trigger: 'click', searchable: false, maxWidth: '200', itemDisplayRule: 'ellipsis',
|
|
53
|
+
return h('vega-dropdown', Object.assign({ trigger: 'click', searchable: false, maxWidth: '200', itemDisplayRule: 'ellipsis', isScreenPosition: true,
|
|
54
54
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
55
55
|
ref: (el) => {
|
|
56
56
|
this.dropdownEl = el;
|
|
@@ -19,8 +19,9 @@ const HIGHLIGHT_ACTIVE_BG = `rgba(var(--v-rte-find-highlight-active-bg, ${HIGHLI
|
|
|
19
19
|
* jumping, and VegaChange events), this manager renders semi-transparent
|
|
20
20
|
* highlight rectangles in an absolutely-positioned overlay container.
|
|
21
21
|
*
|
|
22
|
-
* The overlay lives inside
|
|
23
|
-
* container
|
|
22
|
+
* The overlay lives inside `vega-rich-text-content`'s internal
|
|
23
|
+
* `.rich-text-content` container (the actual text scroll coordinate space).
|
|
24
|
+
* This keeps highlight rectangles aligned when the editable area scrolls.
|
|
24
25
|
* `pointer-events: none` ensures highlights don't interfere with user
|
|
25
26
|
* interaction (selection, typing, clicking).
|
|
26
27
|
*
|
|
@@ -83,8 +84,11 @@ export class FindReplaceHighlightManager {
|
|
|
83
84
|
}
|
|
84
85
|
// ─── Private helpers ──────────────────────────────────────────────────────────
|
|
85
86
|
/**
|
|
86
|
-
* Gets the existing overlay container or creates one
|
|
87
|
-
*
|
|
87
|
+
* Gets the existing overlay container or creates one in the same coordinate
|
|
88
|
+
* space as rendered text.
|
|
89
|
+
*
|
|
90
|
+
* Mount target: `vega-rich-text-content` shadow root's
|
|
91
|
+
* `.rich-text-content` element (actual text scroll layer).
|
|
88
92
|
*
|
|
89
93
|
* @typedef HTMLVegaRichTextEditorElement - The type of the host rich text editor element.
|
|
90
94
|
* @param {HTMLVegaRichTextEditorElement} host - The RTE host element.
|
|
@@ -96,8 +100,8 @@ export class FindReplaceHighlightManager {
|
|
|
96
100
|
}
|
|
97
101
|
const safeDocument = tryGetDocument();
|
|
98
102
|
if (safeDocument) {
|
|
99
|
-
const
|
|
100
|
-
if (
|
|
103
|
+
const textContainer = this.resolveOverlayMountTarget(host);
|
|
104
|
+
if (textContainer) {
|
|
101
105
|
// The overlay is appended as the last child (paints above content).
|
|
102
106
|
// Blend mode is controlled via CSS variable --v-rte-find-highlight-blend:
|
|
103
107
|
// - Light (default): multiply (yellow darkens white bg, text readable)
|
|
@@ -113,13 +117,23 @@ export class FindReplaceHighlightManager {
|
|
|
113
117
|
overlay.style.pointerEvents = 'none';
|
|
114
118
|
overlay.style.overflow = 'visible';
|
|
115
119
|
overlay.style.setProperty('mix-blend-mode', 'var(--v-rte-find-highlight-blend, multiply)');
|
|
116
|
-
|
|
120
|
+
textContainer.appendChild(overlay);
|
|
117
121
|
this.overlayContainer = overlay;
|
|
118
122
|
return overlay;
|
|
119
123
|
}
|
|
120
124
|
}
|
|
121
125
|
return null;
|
|
122
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Resolves the overlay mount target that matches the text rendering coordinate space.
|
|
129
|
+
*
|
|
130
|
+
* @param {HTMLVegaRichTextEditorElement} host - The RTE host element.
|
|
131
|
+
* @returns {Nullable<HTMLDivElement>} The preferred mount target or null.
|
|
132
|
+
*/
|
|
133
|
+
resolveOverlayMountTarget(host) {
|
|
134
|
+
var _a, _b, _c, _d;
|
|
135
|
+
return ((_d = (_c = (_b = (_a = host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('vega-rich-text-content')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.rich-text-content')) !== null && _d !== void 0 ? _d : null);
|
|
136
|
+
}
|
|
123
137
|
/**
|
|
124
138
|
* Creates absolutely-positioned highlight rectangles for a single node
|
|
125
139
|
* position within a match.
|
|
@@ -139,6 +139,18 @@ export class FindReplaceToolbarButtonRenderer extends VegaRTEToolbarButtonRender
|
|
|
139
139
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(editorContext.host, VegaChange, this.debouncedRefresh);
|
|
140
140
|
if (this.isHidden(editorContext) && this.isPopoverOpen && this.popoverRef) {
|
|
141
141
|
void this.popoverRef.hide();
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
// Keep the popover open but force a refresh of placement/z-index.
|
|
145
|
+
// This prevents stale geometry when editor layout/stacking changes while
|
|
146
|
+
// the panel is already visible (for example fullscreen toggle or resize).
|
|
147
|
+
// `show(true)` here is intentionally a refresh call, not a reopen.
|
|
148
|
+
// Verified behavior: this refresh does not introduce flickering/animation artifacts.
|
|
149
|
+
// Find & Replace differs from other toolbar popovers because it uses trigger='none'
|
|
150
|
+
// and stays open until explicitly closed. Other toolbar popovers use
|
|
151
|
+
// trigger='click' and auto-close when users click the fullscreen button.
|
|
152
|
+
if (this.isPopoverOpen && this.popoverRef) {
|
|
153
|
+
void this.popoverRef.show(true);
|
|
142
154
|
}
|
|
143
155
|
}
|
|
144
156
|
/**
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M295 183c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l135-135V168c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H344c-13.3 0-24 10.7-24 24s10.7 24 24 24h86.1L295 183zM217 329c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L48 430.1V344c0-13.3-10.7-24-24-24s-24 10.7-24 24V488c0 13.3 10.7 24 24 24H168c13.3 0 24-10.7 24-24s-10.7-24-24-24H81.9L217 329z"/></svg>`,
|
|
3
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M473 57c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-135 135V72c0-13.3-10.7-24-24-24s-24 10.7-24 24V216c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H337.9L473 57zM7 455c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l135-135V440c0 13.3 10.7 24 24 24s24-10.7 24-24V296c0-13.3-10.7-24-24-24H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h86.1L7 455z"/></svg>`,
|
|
3
|
+
};
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { vegaNonceManager } from '../../../../../helpers/csp/vega-nonce-manager';
|
|
2
|
+
import InternalVegaZIndexManager from '../../../../../helpers/zindex/internal-vega-z-index-manager';
|
|
3
|
+
/**
|
|
4
|
+
* Controls fullscreen behavior and DOM manipulation for a single RTE host instance.
|
|
5
|
+
*
|
|
6
|
+
* One controller is bound to one host and owns all enter/exit side effects
|
|
7
|
+
* for that host.
|
|
8
|
+
*
|
|
9
|
+
* Strategy: set position:fixed on the host, and inject one <style> rule into
|
|
10
|
+
* its shadow root to override the inline height Stencil sets on the container.
|
|
11
|
+
* Exit just restores the original host style and removes the injected rule.
|
|
12
|
+
*/
|
|
13
|
+
export class FullscreenController {
|
|
14
|
+
constructor(host) {
|
|
15
|
+
this.active = false;
|
|
16
|
+
this.hostStyle = null;
|
|
17
|
+
this.scrollX = 0;
|
|
18
|
+
this.scrollY = 0;
|
|
19
|
+
this.host = host;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Returns whether fullscreen mode is currently active.
|
|
23
|
+
*
|
|
24
|
+
* @returns {boolean} Whether fullscreen mode is active.
|
|
25
|
+
*/
|
|
26
|
+
isActive() {
|
|
27
|
+
return this.active;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Enters fullscreen mode for the bound RTE host.
|
|
31
|
+
*/
|
|
32
|
+
enterFullscreen() {
|
|
33
|
+
var _a, _b, _c, _d;
|
|
34
|
+
const host = this.host;
|
|
35
|
+
if (this.active || !host.shadowRoot || !host.ownerDocument) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
// Snapshot what needs to be restored
|
|
39
|
+
this.hostStyle = host.getAttribute('style');
|
|
40
|
+
this.scrollX = (_b = (_a = host.ownerDocument.defaultView) === null || _a === void 0 ? void 0 : _a.scrollX) !== null && _b !== void 0 ? _b : 0;
|
|
41
|
+
this.scrollY = (_d = (_c = host.ownerDocument.defaultView) === null || _c === void 0 ? void 0 : _c.scrollY) !== null && _d !== void 0 ? _d : 0;
|
|
42
|
+
this.lockDocumentScroll(host.ownerDocument);
|
|
43
|
+
// Anchor host to viewport — ensure a semicolon delimiter so existing styles are not corrupted
|
|
44
|
+
const baseStyle = this.hostStyle
|
|
45
|
+
? /;\s*$/.test(this.hostStyle)
|
|
46
|
+
? this.hostStyle
|
|
47
|
+
: `${this.hostStyle};`
|
|
48
|
+
: '';
|
|
49
|
+
host.setAttribute('style', `${baseStyle}${FullscreenController.HOST_FULLSCREEN_STYLE}`);
|
|
50
|
+
if (host instanceof HTMLElement) {
|
|
51
|
+
InternalVegaZIndexManager.setZIndex(host, 'base');
|
|
52
|
+
}
|
|
53
|
+
// Override Stencil's inline height on the container
|
|
54
|
+
const styleTag = host.ownerDocument.createElement('style');
|
|
55
|
+
styleTag.id = FullscreenController.STYLE_TAG_ID;
|
|
56
|
+
if (vegaNonceManager.nonce) {
|
|
57
|
+
styleTag.setAttribute('nonce', vegaNonceManager.nonce);
|
|
58
|
+
}
|
|
59
|
+
styleTag.textContent = FullscreenController.INNER_FULLSCREEN_CSS;
|
|
60
|
+
host.shadowRoot.appendChild(styleTag);
|
|
61
|
+
this.active = true;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Exits fullscreen mode for the bound RTE host.
|
|
65
|
+
*/
|
|
66
|
+
exitFullscreen() {
|
|
67
|
+
var _a, _b, _c, _d;
|
|
68
|
+
const host = this.host;
|
|
69
|
+
if (!this.active) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (host.ownerDocument) {
|
|
73
|
+
this.unlockDocumentScroll(host.ownerDocument);
|
|
74
|
+
}
|
|
75
|
+
if (host instanceof HTMLElement) {
|
|
76
|
+
InternalVegaZIndexManager.removeZIndex(host, 'base');
|
|
77
|
+
}
|
|
78
|
+
// Restore host style
|
|
79
|
+
if (this.hostStyle === null) {
|
|
80
|
+
host.removeAttribute('style');
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
host.setAttribute('style', this.hostStyle);
|
|
84
|
+
}
|
|
85
|
+
// Remove injected CSS — container height reverts automatically
|
|
86
|
+
(_b = (_a = host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(`#${FullscreenController.STYLE_TAG_ID}`)) === null || _b === void 0 ? void 0 : _b.remove();
|
|
87
|
+
// Restore scroll position so the host element remains visible after exit
|
|
88
|
+
(_d = (_c = host.ownerDocument) === null || _c === void 0 ? void 0 : _c.defaultView) === null || _d === void 0 ? void 0 : _d.scrollTo(this.scrollX, this.scrollY);
|
|
89
|
+
this.active = false;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Toggles fullscreen mode for the bound RTE host.
|
|
93
|
+
*/
|
|
94
|
+
toggleFullscreen() {
|
|
95
|
+
if (this.active) {
|
|
96
|
+
this.exitFullscreen();
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
this.enterFullscreen();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Locks document scrolling for the given document and records the first snapshot.
|
|
104
|
+
*
|
|
105
|
+
* @param {Document} ownerDocument - The document whose scroll should be locked.
|
|
106
|
+
*/
|
|
107
|
+
lockDocumentScroll(ownerDocument) {
|
|
108
|
+
const currentState = FullscreenController.documentScrollLockStates.get(ownerDocument);
|
|
109
|
+
if (currentState) {
|
|
110
|
+
FullscreenController.documentScrollLockStates.set(ownerDocument, Object.assign(Object.assign({}, currentState), { lockCount: currentState.lockCount + 1 }));
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
FullscreenController.documentScrollLockStates.set(ownerDocument, {
|
|
114
|
+
lockCount: 1,
|
|
115
|
+
bodyOverflow: ownerDocument.body.style.overflow,
|
|
116
|
+
documentOverflow: ownerDocument.documentElement.style.overflow,
|
|
117
|
+
});
|
|
118
|
+
ownerDocument.body.style.overflow = 'hidden';
|
|
119
|
+
ownerDocument.documentElement.style.overflow = 'hidden';
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Unlocks document scrolling when the last fullscreen owner exits.
|
|
123
|
+
*
|
|
124
|
+
* @param {Document} ownerDocument - The document whose scroll should be restored.
|
|
125
|
+
*/
|
|
126
|
+
unlockDocumentScroll(ownerDocument) {
|
|
127
|
+
const currentState = FullscreenController.documentScrollLockStates.get(ownerDocument);
|
|
128
|
+
if (!currentState) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
if (currentState.lockCount > 1) {
|
|
132
|
+
FullscreenController.documentScrollLockStates.set(ownerDocument, Object.assign(Object.assign({}, currentState), { lockCount: currentState.lockCount - 1 }));
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
ownerDocument.body.style.overflow = currentState.bodyOverflow;
|
|
136
|
+
ownerDocument.documentElement.style.overflow = currentState.documentOverflow;
|
|
137
|
+
FullscreenController.documentScrollLockStates.delete(ownerDocument);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
FullscreenController.STYLE_TAG_ID = 'v-rte-fullscreen-styles';
|
|
141
|
+
FullscreenController.HOST_FULLSCREEN_STYLE = 'position:fixed;inset:0;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));';
|
|
142
|
+
/**
|
|
143
|
+
* Only three things need overriding inside the shadow root:
|
|
144
|
+
* 1. The outer vega-flex wrapper must fill the host height (`:host >`
|
|
145
|
+
* avoids hitting the toolbar's nested vega-flex).
|
|
146
|
+
* 2. The editor container must grow to fill remaining space and drop
|
|
147
|
+
* the fixed pixel height that Stencil injects from the `rows` prop.
|
|
148
|
+
* 3. The source-view container (shown in source-edit mode) also grows
|
|
149
|
+
* and owns vertical scrolling so long source code is reachable.
|
|
150
|
+
* 4. overflow:auto on the container lets content scroll without clipping
|
|
151
|
+
* internal pop-ups (link editor, color picker, etc.) at the host level.
|
|
152
|
+
*/
|
|
153
|
+
FullscreenController.INNER_FULLSCREEN_CSS = ':host > vega-flex { height: 100%; padding: 5px; box-sizing: border-box; }' +
|
|
154
|
+
' .rich-text-editor-container { flex: 1 !important; height: auto !important; min-height: 0 !important; resize: none !important; overflow: auto !important; }' +
|
|
155
|
+
' .source-view-container:not(.vega-hidden) { display: flex !important; flex: 1 !important; min-height: 0 !important; overflow: auto !important; flex-direction: column; }';
|
|
156
|
+
FullscreenController.documentScrollLockStates = new WeakMap();
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { VegaRTEExtension } from '../extension.abstract';
|
|
2
|
+
import { RTEFullscreenToolbarButtonRenderer } from './fullscreen-toolbar-button-renderer';
|
|
3
|
+
import { FullscreenController } from './controller/fullscreen-controller';
|
|
4
|
+
/**
|
|
5
|
+
* Rich Text Editor extension that adds a toolbar button for viewport fullscreen mode.
|
|
6
|
+
*
|
|
7
|
+
* OOP Pattern: Extends VegaRTEExtension with fullscreen feature.
|
|
8
|
+
* Uses a per-host controller store to isolate state across hosts.
|
|
9
|
+
*/
|
|
10
|
+
export class VegaRTEFullscreenExtension extends VegaRTEExtension {
|
|
11
|
+
/** @inheritDoc */
|
|
12
|
+
prepareBeforeLoad(host) {
|
|
13
|
+
const controller = new FullscreenController(host);
|
|
14
|
+
VegaRTEFullscreenExtension.controllerStore.set(host, controller);
|
|
15
|
+
this.registerToolbarButtonRenderer(VegaRTEFullscreenExtension.TOOLBAR_BUTTON_KEY, new RTEFullscreenToolbarButtonRenderer(controller), host);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Restore document scroll if the editor is removed while fullscreen is active.
|
|
19
|
+
* Without this, body overflow:hidden would persist after the host is gone.
|
|
20
|
+
*/
|
|
21
|
+
destroyExtension() {
|
|
22
|
+
var _a, _b;
|
|
23
|
+
if ((_a = this.extensionContext) === null || _a === void 0 ? void 0 : _a.host) {
|
|
24
|
+
const host = this.extensionContext.host;
|
|
25
|
+
(_b = VegaRTEFullscreenExtension.controllerStore.get(host)) === null || _b === void 0 ? void 0 : _b.exitFullscreen();
|
|
26
|
+
VegaRTEFullscreenExtension.controllerStore.delete(host);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
VegaRTEFullscreenExtension.TOOLBAR_BUTTON_KEY = 'fullscreen';
|
|
31
|
+
VegaRTEFullscreenExtension.controllerStore = VegaRTEFullscreenExtension.createStateStore();
|