102 lines
4.9 KiB
JavaScript
Executable File
102 lines
4.9 KiB
JavaScript
Executable File
import { OverlayContainer } from './overlay-module.mjs';
|
|
export { BlockScrollStrategy, CdkConnectedOverlay, CdkOverlayOrigin, CloseScrollStrategy, ConnectedOverlayPositionChange, ConnectionPositionPair, FlexibleConnectedPositionStrategy, GlobalPositionStrategy, NoopScrollStrategy, Overlay, OverlayConfig, OverlayKeyboardDispatcher, OverlayModule, OverlayOutsideClickDispatcher, OverlayPositionBuilder, OverlayRef, RepositionScrollStrategy, STANDARD_DROPDOWN_ADJACENT_POSITIONS, STANDARD_DROPDOWN_BELOW_POSITIONS, ScrollStrategyOptions, ScrollingVisibility, createBlockScrollStrategy, createCloseScrollStrategy, createFlexibleConnectedPositionStrategy, createGlobalPositionStrategy, createNoopScrollStrategy, createOverlayRef, createRepositionScrollStrategy, validateHorizontalPosition, validateVerticalPosition } from './overlay-module.mjs';
|
|
import * as i0 from '@angular/core';
|
|
import { inject, RendererFactory2, Injectable } from '@angular/core';
|
|
export { CdkScrollable, ScrollDispatcher, ViewportRuler, CdkFixedSizeVirtualScroll as ɵɵCdkFixedSizeVirtualScroll, CdkScrollableModule as ɵɵCdkScrollableModule, CdkVirtualForOf as ɵɵCdkVirtualForOf, CdkVirtualScrollViewport as ɵɵCdkVirtualScrollViewport, CdkVirtualScrollableElement as ɵɵCdkVirtualScrollableElement, CdkVirtualScrollableWindow as ɵɵCdkVirtualScrollableWindow } from './scrolling.mjs';
|
|
export { Dir as ɵɵDir } from './bidi.mjs';
|
|
import '@angular/common';
|
|
import './platform2.mjs';
|
|
import './shadow-dom.mjs';
|
|
import './test-environment.mjs';
|
|
import './style-loader.mjs';
|
|
import 'rxjs';
|
|
import './css-pixel-value.mjs';
|
|
import './array.mjs';
|
|
import './portal.mjs';
|
|
import './scrolling2.mjs';
|
|
import 'rxjs/operators';
|
|
import './id-generator.mjs';
|
|
import './directionality.mjs';
|
|
import './keycodes2.mjs';
|
|
import './keycodes.mjs';
|
|
import './element.mjs';
|
|
import './recycle-view-repeater-strategy.mjs';
|
|
import './data-source.mjs';
|
|
|
|
/**
|
|
* Alternative to OverlayContainer that supports correct displaying of overlay elements in
|
|
* Fullscreen mode
|
|
* https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen
|
|
*
|
|
* Should be provided in the root component.
|
|
*/
|
|
class FullscreenOverlayContainer extends OverlayContainer {
|
|
_renderer = inject(RendererFactory2).createRenderer(null, null);
|
|
_fullScreenEventName;
|
|
_cleanupFullScreenListener;
|
|
constructor() {
|
|
super();
|
|
}
|
|
ngOnDestroy() {
|
|
super.ngOnDestroy();
|
|
this._cleanupFullScreenListener?.();
|
|
}
|
|
_createContainer() {
|
|
const eventName = this._getEventName();
|
|
super._createContainer();
|
|
this._adjustParentForFullscreenChange();
|
|
if (eventName) {
|
|
this._cleanupFullScreenListener?.();
|
|
this._cleanupFullScreenListener = this._renderer.listen('document', eventName, () => {
|
|
this._adjustParentForFullscreenChange();
|
|
});
|
|
}
|
|
}
|
|
_adjustParentForFullscreenChange() {
|
|
if (this._containerElement) {
|
|
const fullscreenElement = this.getFullscreenElement();
|
|
const parent = fullscreenElement || this._document.body;
|
|
parent.appendChild(this._containerElement);
|
|
}
|
|
}
|
|
_getEventName() {
|
|
if (!this._fullScreenEventName) {
|
|
const _document = this._document;
|
|
if (_document.fullscreenEnabled) {
|
|
this._fullScreenEventName = 'fullscreenchange';
|
|
}
|
|
else if (_document.webkitFullscreenEnabled) {
|
|
this._fullScreenEventName = 'webkitfullscreenchange';
|
|
}
|
|
else if (_document.mozFullScreenEnabled) {
|
|
this._fullScreenEventName = 'mozfullscreenchange';
|
|
}
|
|
else if (_document.msFullscreenEnabled) {
|
|
this._fullScreenEventName = 'MSFullscreenChange';
|
|
}
|
|
}
|
|
return this._fullScreenEventName;
|
|
}
|
|
/**
|
|
* When the page is put into fullscreen mode, a specific element is specified.
|
|
* Only that element and its children are visible when in fullscreen mode.
|
|
*/
|
|
getFullscreenElement() {
|
|
const _document = this._document;
|
|
return (_document.fullscreenElement ||
|
|
_document.webkitFullscreenElement ||
|
|
_document.mozFullScreenElement ||
|
|
_document.msFullscreenElement ||
|
|
null);
|
|
}
|
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: FullscreenOverlayContainer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: FullscreenOverlayContainer, providedIn: 'root' });
|
|
}
|
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: FullscreenOverlayContainer, decorators: [{
|
|
type: Injectable,
|
|
args: [{ providedIn: 'root' }]
|
|
}], ctorParameters: () => [] });
|
|
|
|
export { FullscreenOverlayContainer, OverlayContainer };
|
|
//# sourceMappingURL=overlay.mjs.map
|