{"version":3,"file":"deja-js-component-overlay.mjs","sources":["../../../../projects/deja-js/component/overlay/overlay.component.ts","../../../../projects/deja-js/component/overlay/overlay.component.html","../../../../projects/deja-js/component/overlay/index.ts","../../../../projects/deja-js/component/overlay/deja-js-component-overlay.ts"],"sourcesContent":["/*\n *  @license\n *  Copyright Hôpitaux Universitaires de Genève. All Rights Reserved.\n *\n *  Use of this source code is governed by an Apache-2.0 license that can be\n *  found in the LICENSE file at https://github.com/DSI-HUG/dejajs-components/blob/master/LICENSE\n */\n\nimport { BooleanInput, coerceBooleanProperty, coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\nimport { CdkConnectedOverlay, CdkOverlayOrigin, OverlayContainer } from '@angular/cdk/overlay';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { DejaConnectionPositionPair, Destroy, MediaService } from '@deja-js/component/core';\nimport { take, takeUntil, takeWhile, timer } from 'rxjs';\n\n// providers: [ MediaService ],\n@Component({\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    selector: 'deja-overlay',\n    styleUrls: ['./overlay.component.scss'],\n    templateUrl: './overlay.component.html'\n})\nexport class DejaOverlayComponent extends Destroy {\n    @Input() public overlayBackdropClass = 'cdk-overlay-transparent-backdrop';\n\n    @Input() public overlayContainerClass: string;\n\n    /** Déclenché lorsque la visibilité du dialog change. */\n    @Output() public readonly visibleChange = new EventEmitter<boolean>();\n\n    /** Déclenché lorsque l'overlay est fermé. */\n    @Output() public readonly closed = new EventEmitter<boolean>();\n\n    /** Internal use */\n    @Input() public overlayOffsetX = 0;\n    @Input() public overlayOffsetY = 0;\n\n    /** Overlay pane containing the options. */\n    @ViewChild(CdkConnectedOverlay, { static: true }) private overlay: CdkConnectedOverlay;\n\n    public overlayOrigin: CdkOverlayOrigin;\n\n    /** Renvoie une valeur qui indique si le dialog est affiché. */\n    private _isVisible = false;\n\n    public get isVisible(): BooleanInput {\n        return this._isVisible;\n    }\n\n    @Input() public set isVisible(value: BooleanInput) {\n        const isVisible = coerceBooleanProperty(value);\n        if (this._isVisible !== isVisible) {\n            this._isVisible = isVisible;\n\n            const containerElement = this.overlayContainer.getContainerElement();\n            containerElement.className = Array.from(containerElement.classList)\n                .filter(token => token.startsWith('cdk'))\n                .join(' ');\n\n            containerElement.classList.add('deja-overlay-container');\n            if (this.isVisible && this.overlayContainerClass) {\n                this.overlayContainerClass.split(' ').forEach(className => {\n                    containerElement.classList.add(className);\n                });\n            }\n\n            this.changeDetectorRef.markForCheck();\n            this.visibleChange.emit(this._isVisible);\n        }\n    }\n\n    private _hasBackdrop = true;\n    private _width: number = null;\n    private _widthForMobile = '100%';\n    private _ownerElement: HTMLElement;\n\n    @Input() public set hasBackdrop(value: BooleanInput) {\n        this._hasBackdrop = coerceBooleanProperty(value);\n    }\n\n    public get hasBackdrop(): BooleanInput {\n        return this._hasBackdrop;\n    }\n\n    /** Renvoie ou définit l'élement sur lequel le menu devra s'aligner */\n    @Input() public set ownerElement(value: HTMLElement) {\n        this._ownerElement = value;\n        this.updateOriginOverlay();\n    }\n\n    private _positions = DejaConnectionPositionPair.default;\n    private _positionsForMobile: DejaConnectionPositionPair[];\n\n    private _isMobile = false;\n    private disableMediaService = false;\n\n    public constructor(private changeDetectorRef: ChangeDetectorRef, private elementRef: ElementRef, private overlayContainer: OverlayContainer, mediaService: MediaService) {\n        super();\n\n        const containerElement = this.overlayContainer.getContainerElement();\n        containerElement.addEventListener('contextmenu', (event: Event) => {\n            event.preventDefault();\n            return false;\n        });\n\n        mediaService.isMobile$.pipe(\n            takeWhile(() => !this.disableMediaService),\n            takeUntil(this.destroyed$)\n        ).subscribe(value => {\n            this._isMobile = value;\n            this.updateOriginOverlay();\n            this.changeDetectorRef.markForCheck();\n        });\n    }\n\n    public get positionPairs(): DejaConnectionPositionPair[] {\n        return this.positions as DejaConnectionPositionPair[];\n    }\n\n    public get positions(): string | DejaConnectionPositionPair[] {\n        if (!this.isMobile) {\n            return this._positions;\n        } else if (this._positionsForMobile) {\n            return this._positionsForMobile;\n        } else {\n            return DejaConnectionPositionPair.parse('start top start top');\n        }\n    }\n\n    @Input()\n    public set positions(value: DejaConnectionPositionPair[] | string) {\n        this._positions = typeof value === 'string' ? DejaConnectionPositionPair.parse(value) : value;\n    }\n\n    /** Si pas null, sera utilisé quand isMobile est vrai. Si null et si isMobile est vrai,\n     *  alors c'est la valeur 'start top start top' qui est utilisée.\n     * */\n    @Input()\n    public set positionsForMobile(value: DejaConnectionPositionPair[] | string) {\n        this._positionsForMobile = typeof value === 'string' ? DejaConnectionPositionPair.parse(value) : value;\n    }\n\n    public get isMobile(): BooleanInput {\n        return this._isMobile;\n    }\n\n    @Input()\n    public set isMobile(value: BooleanInput) {\n        this._isMobile = coerceBooleanProperty(value);\n        this.updateOriginOverlay();\n        this.disableMediaService = true;\n    }\n\n    public get width(): NumberInput {\n        return this._width;\n    }\n\n    @Input()\n    /**\n     * définit la largeur de l'overlay.\n     */\n    public set width(width: NumberInput) {\n        this._width = coerceNumberProperty(width);\n    }\n\n    public get widthForMobile(): string {\n        return this._widthForMobile;\n    }\n\n    @Input()\n    /**\n     * définit la largeur de l'overlay quand isMobile est true. '100%' par défaut.\n     */\n    public set widthForMobile(widthForMobile: string) {\n        this._widthForMobile = widthForMobile;\n    }\n\n    public get overlayWidth(): NumberInput {\n        if (!this.isMobile) {\n            return this._width;\n        } else {\n            return this._widthForMobile;\n        }\n    }\n\n    public updatePosition(): void {\n        this.overlay?.overlayRef?.updatePosition();\n    }\n\n    /** Affiche le dialog. */\n    public show(eventOrOffsetX: MouseEvent | number, offsetY?: number): void {\n        this.overlayOffsetX = offsetY !== undefined ? +eventOrOffsetX : 0;\n        this.overlayOffsetY = offsetY || 0;\n        const e = eventOrOffsetX as MouseEvent;\n        const target = e?.target;\n        this.overlayOrigin = new CdkOverlayOrigin(new ElementRef((this.isMobile && document.body) || target || this.ownerElement || this.elementRef.nativeElement));\n        this.isVisible = true;\n        this.changeDetectorRef.markForCheck();\n        timer(1).pipe(\n            take(1),\n            takeUntil(this.destroyed$)\n        ).subscribe(() => this.updatePosition());\n    }\n\n    /** Ferme le dialog. */\n    public close(): void {\n        this.isVisible = false;\n        this.closed.emit(true);\n        this.changeDetectorRef.markForCheck();\n    }\n\n    private updateOriginOverlay(): void {\n        this.overlayOrigin = new CdkOverlayOrigin(new ElementRef((this.isMobile && document.body) || this._ownerElement || this.elementRef.nativeElement));\n    }\n}\n","<ng-template #overlayCmp cdk-connected-overlay [cdkConnectedOverlayHasBackdrop]=\"hasBackdrop\" [cdkConnectedOverlayBackdropClass]=\"overlayBackdropClass\" [cdkConnectedOverlayOpen]=\"!!isVisible\" [cdkConnectedOverlayOffsetY]=\"overlayOffsetY\" [cdkConnectedOverlayOffsetX]=\"overlayOffsetX\" [cdkConnectedOverlayOrigin]=\"overlayOrigin\" (backdropClick)=\"close()\" (detach)=\"close()\" [cdkConnectedOverlayPositions]=\"positionPairs\" [cdkConnectedOverlayWidth]=\"overlayWidth\">\n    <ng-content></ng-content>\n</ng-template>\n","/*\n *  @license\n *  Copyright Hôpitaux Universitaires de Genève. All Rights Reserved.\n *\n *  Use of this source code is governed by an Apache-2.0 license that can be\n *  found in the LICENSE file at https://github.com/DSI-HUG/dejajs-components/blob/master/LICENSE\n */\n\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MediaModule } from '@deja-js/component/core';\n\nimport { DejaOverlayComponent } from './overlay.component';\n\n@NgModule({\n    declarations: [DejaOverlayComponent],\n    exports: [DejaOverlayComponent],\n    imports: [\n        CommonModule,\n        MediaModule,\n        OverlayModule\n    ]\n})\nexport class DejaOverlayModule { }\n\nexport * from './overlay.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}