{"version":3,"file":"tikops-ux-dv-standalone-dv-overlaypanel.mjs","sources":["../../../projects/tikops-ux/dv-standalone/dv-overlaypanel/dv-overlaypanel.component.ts","../../../projects/tikops-ux/dv-standalone/dv-overlaypanel/tikops-ux-dv-standalone-dv-overlaypanel.ts"],"sourcesContent":["import { animate, AnimationEvent, state, style, transition, trigger } from \"@angular/animations\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport {\r\n    AfterContentInit,\r\n    ChangeDetectionStrategy,\r\n    ChangeDetectorRef,\r\n    Component,\r\n    ContentChildren,\r\n    CUSTOM_ELEMENTS_SCHEMA,\r\n    ElementRef,\r\n    EventEmitter,\r\n    Input,\r\n    NgModule,\r\n    NgZone,\r\n    OnDestroy,\r\n    Output,\r\n    QueryList,\r\n    Renderer2,\r\n    TemplateRef,\r\n    ViewEncapsulation,\r\n    ViewRef\r\n} from \"@angular/core\";\r\nimport { OverlayService, PrimeNGConfig, PrimeTemplate, SharedModule } from \"primeng/api\";\r\nimport { ConnectedOverlayScrollHandler, DomHandler } from \"primeng/dom\";\r\nimport { RippleModule } from \"primeng/ripple\";\r\nimport { ZIndexUtils } from \"primeng/utils\";\r\nimport { Subscription } from \"rxjs\";\r\n\r\n@Component({\r\n    selector: \"dv-overlaypanel\",\r\n    template: `\r\n        <div\r\n            *ngIf=\"render\"\r\n            [ngClass]=\"'p-overlaypanel p-component'\"\r\n            [ngStyle]=\"style\"\r\n            [class]=\"styleClass\"\r\n            (click)=\"onOverlayClick($event)\"\r\n            [@animation]=\"{ value: overlayVisible ? 'open' : 'close', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\r\n            (@animation.start)=\"onAnimationStart($event)\"\r\n            (@animation.done)=\"onAnimationEnd($event)\"\r\n        >\r\n            <div class=\"p-overlaypanel-content\" (click)=\"onContentClick()\" (mousedown)=\"onContentClick()\">\r\n                <ng-content></ng-content>\r\n                <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n            </div>\r\n            <button *ngIf=\"showCloseIcon\" type=\"button\" class=\"p-overlaypanel-close p-link\" (click)=\"onCloseClick($event)\" (keydown.enter)=\"hide()\" [attr.aria-label]=\"ariaCloseLabel\" pRipple>\r\n                <span class=\"p-overlaypanel-close-icon pi pi-times\"></span>\r\n            </button>\r\n        </div>\r\n    `,\r\n    animations: [\r\n        trigger(\"animation\", [\r\n            state(\r\n                \"void\",\r\n                style({\r\n                    transform: \"scaleY(0.8)\",\r\n                    opacity: 0\r\n                })\r\n            ),\r\n            state(\r\n                \"close\",\r\n                style({\r\n                    opacity: 0\r\n                })\r\n            ),\r\n            state(\r\n                \"open\",\r\n                style({\r\n                    transform: \"translateY(0)\",\r\n                    opacity: 1\r\n                })\r\n            ),\r\n            transition(\"void => open\", animate(\"{{showTransitionParams}}\")),\r\n            transition(\"open => close\", animate(\"{{hideTransitionParams}}\"))\r\n        ])\r\n    ],\r\n    changeDetection: ChangeDetectionStrategy.OnPush,\r\n    encapsulation: ViewEncapsulation.None,\r\n    styleUrls: [\"./dv-overlaypanel.component.scss\"],\r\n    host: {\r\n        class: \"p-element\"\r\n    }\r\n})\r\nexport class DvOverlayPanelComponent implements AfterContentInit, OnDestroy {\r\n    @Input() showCloseIcon: boolean = true;\r\n    @Input() style: any;\r\n    @Input() styleClass: string;\r\n    @Output() onShow: EventEmitter<any> = new EventEmitter();\r\n    @Output() onHide: EventEmitter<any> = new EventEmitter();\r\n    @ContentChildren(PrimeTemplate) templates: QueryList<any>;\r\n\r\n    // NOTE 활용성 떨어져 바인딩하지 않는 변수\r\n    dismissable: boolean = true;\r\n    appendTo: any = \"body\";\r\n    autoZIndex: boolean = true;\r\n    ariaCloseLabel: string = \"Close\";\r\n    baseZIndex: number = 0;\r\n    focusOnShow: boolean = true;\r\n    showTransitionOptions: string = \".12s cubic-bezier(0, 0, 0.2, 1)\";\r\n    hideTransitionOptions: string = \".1s linear\";\r\n\r\n    container: HTMLDivElement;\r\n    overlayVisible: boolean = false;\r\n    render: boolean = false;\r\n    isOverlayAnimationInProgress: boolean = false;\r\n    selfClick: boolean = false;\r\n    documentClickListener: any;\r\n    target: any;\r\n    willHide: boolean;\r\n    scrollHandler: any;\r\n    documentResizeListener: any;\r\n    contentTemplate: TemplateRef<any>;\r\n    destroyCallback: () => void;\r\n    overlayEventListener;\r\n    overlaySubscription: Subscription;\r\n\r\n    constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef, private zone: NgZone, public config: PrimeNGConfig, public overlayService: OverlayService) {}\r\n\r\n    ngAfterContentInit() {\r\n        this.templates.forEach((item) => {\r\n            switch (item.getType()) {\r\n                case \"content\":\r\n                    this.contentTemplate = item.template;\r\n                    break;\r\n\r\n                default:\r\n                    this.contentTemplate = item.template;\r\n                    break;\r\n            }\r\n\r\n            this.cd.markForCheck();\r\n        });\r\n    }\r\n\r\n    bindDocumentClickListener() {\r\n        if (!this.documentClickListener && this.dismissable) {\r\n            this.zone.runOutsideAngular(() => {\r\n                let documentEvent = DomHandler.isIOS() ? \"touchstart\" : \"click\";\r\n                const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : \"document\";\r\n\r\n                this.documentClickListener = this.renderer.listen(documentTarget, documentEvent, (event) => {\r\n                    if (!this.container.contains(event.target) && this.target !== event.target && !this.target.contains(event.target) && !this.selfClick) {\r\n                        this.zone.run(() => {\r\n                            this.hide();\r\n                        });\r\n                    }\r\n\r\n                    this.selfClick = false;\r\n                    this.cd.markForCheck();\r\n                });\r\n            });\r\n        }\r\n    }\r\n\r\n    unbindDocumentClickListener() {\r\n        if (this.documentClickListener) {\r\n            this.documentClickListener();\r\n            this.documentClickListener = null;\r\n            this.selfClick = false;\r\n        }\r\n    }\r\n\r\n    toggle(event, target?) {\r\n        if (this.isOverlayAnimationInProgress) {\r\n            return;\r\n        }\r\n\r\n        if (this.overlayVisible) {\r\n            if (this.hasTargetChanged(event, target)) {\r\n                this.destroyCallback = () => {\r\n                    this.show(null, target || event.currentTarget || event.target);\r\n                };\r\n            }\r\n\r\n            this.hide();\r\n        } else {\r\n            this.show(event, target);\r\n        }\r\n    }\r\n\r\n    show(event, target?) {\r\n        if (this.isOverlayAnimationInProgress) {\r\n            return;\r\n        }\r\n\r\n        this.target = target || event.currentTarget || event.target;\r\n        this.overlayVisible = true;\r\n        this.render = true;\r\n        this.cd.markForCheck();\r\n    }\r\n\r\n    onOverlayClick(event) {\r\n        this.overlayService.add({\r\n            originalEvent: event,\r\n            target: this.el.nativeElement\r\n        });\r\n\r\n        this.selfClick = true;\r\n    }\r\n\r\n    onContentClick() {\r\n        this.selfClick = true;\r\n    }\r\n\r\n    hasTargetChanged(event, target) {\r\n        return this.target !== null && this.target !== (target || event.currentTarget || event.target);\r\n    }\r\n\r\n    appendContainer() {\r\n        if (this.appendTo) {\r\n            if (this.appendTo === \"body\") document.body.appendChild(this.container);\r\n            else DomHandler.appendChild(this.container, this.appendTo);\r\n        }\r\n    }\r\n\r\n    restoreAppend() {\r\n        if (this.container && this.appendTo) {\r\n            this.el.nativeElement.appendChild(this.container);\r\n        }\r\n    }\r\n\r\n    align() {\r\n        if (this.autoZIndex) {\r\n            ZIndexUtils.set(\"overlay\", this.container, this.baseZIndex + this.config.zIndex.overlay);\r\n        }\r\n\r\n        DomHandler.absolutePosition(this.container, this.target);\r\n\r\n        const containerOffset = DomHandler.getOffset(this.container);\r\n        const targetOffset = DomHandler.getOffset(this.target);\r\n        let arrowLeft = 0;\r\n\r\n        if (containerOffset.left < targetOffset.left) {\r\n            arrowLeft = targetOffset.left - containerOffset.left;\r\n        }\r\n        this.container.style.setProperty(\"--overlayArrowLeft\", `${arrowLeft}px`);\r\n\r\n        if (containerOffset.top < targetOffset.top) {\r\n            DomHandler.addClass(this.container, \"p-overlaypanel-flipped\");\r\n\r\n            if (this.showCloseIcon) {\r\n                this.container.style.marginTop = \"30px\";\r\n            }\r\n        }\r\n    }\r\n\r\n    onAnimationStart(event: AnimationEvent) {\r\n        if (event.toState === \"open\") {\r\n            this.container = event.element;\r\n            this.appendContainer();\r\n            this.align();\r\n            this.bindDocumentClickListener();\r\n            this.bindDocumentResizeListener();\r\n            this.bindScrollListener();\r\n\r\n            if (this.focusOnShow) {\r\n                this.focus();\r\n            }\r\n\r\n            this.overlayEventListener = (e) => {\r\n                if (this.container && this.container.contains(e.target)) {\r\n                    this.selfClick = true;\r\n                }\r\n            };\r\n\r\n            this.overlaySubscription = this.overlayService.clickObservable.subscribe(this.overlayEventListener);\r\n            this.onShow.emit(null);\r\n        }\r\n\r\n        this.isOverlayAnimationInProgress = true;\r\n    }\r\n\r\n    onAnimationEnd(event: AnimationEvent) {\r\n        switch (event.toState) {\r\n            case \"void\":\r\n                if (this.destroyCallback) {\r\n                    this.destroyCallback();\r\n                    this.destroyCallback = null;\r\n                }\r\n\r\n                if (this.overlaySubscription) {\r\n                    this.overlaySubscription.unsubscribe();\r\n                }\r\n                break;\r\n\r\n            case \"close\":\r\n                if (this.autoZIndex) {\r\n                    ZIndexUtils.clear(this.container);\r\n                }\r\n\r\n                if (this.overlaySubscription) {\r\n                    this.overlaySubscription.unsubscribe();\r\n                }\r\n\r\n                this.onContainerDestroy();\r\n                this.onHide.emit({});\r\n                this.render = false;\r\n                break;\r\n        }\r\n\r\n        this.isOverlayAnimationInProgress = false;\r\n    }\r\n\r\n    focus() {\r\n        let focusable = DomHandler.findSingle(this.container, \"[autofocus]\");\r\n        if (focusable) {\r\n            this.zone.runOutsideAngular(() => {\r\n                setTimeout(() => focusable.focus(), 5);\r\n            });\r\n        }\r\n    }\r\n\r\n    hide() {\r\n        this.overlayVisible = false;\r\n        this.cd.markForCheck();\r\n    }\r\n\r\n    onCloseClick(event) {\r\n        this.hide();\r\n        event.preventDefault();\r\n    }\r\n\r\n    onWindowResize(event) {\r\n        if (this.overlayVisible && !DomHandler.isTouchDevice()) {\r\n            this.hide();\r\n        }\r\n    }\r\n\r\n    bindDocumentResizeListener() {\r\n        this.documentResizeListener = this.onWindowResize.bind(this);\r\n        window.addEventListener(\"resize\", this.documentResizeListener);\r\n    }\r\n\r\n    unbindDocumentResizeListener() {\r\n        if (this.documentResizeListener) {\r\n            window.removeEventListener(\"resize\", this.documentResizeListener);\r\n            this.documentResizeListener = null;\r\n        }\r\n    }\r\n\r\n    bindScrollListener() {\r\n        if (!this.scrollHandler) {\r\n            this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\r\n                if (this.overlayVisible) {\r\n                    this.hide();\r\n                }\r\n            });\r\n        }\r\n\r\n        this.scrollHandler.bindScrollListener();\r\n    }\r\n\r\n    unbindScrollListener() {\r\n        if (this.scrollHandler) {\r\n            this.scrollHandler.unbindScrollListener();\r\n        }\r\n    }\r\n\r\n    onContainerDestroy() {\r\n        if (!(this.cd as ViewRef).destroyed) {\r\n            this.target = null;\r\n        }\r\n\r\n        this.unbindDocumentClickListener();\r\n        this.unbindDocumentResizeListener();\r\n        this.unbindScrollListener();\r\n    }\r\n\r\n    ngOnDestroy() {\r\n        if (this.scrollHandler) {\r\n            this.scrollHandler.destroy();\r\n            this.scrollHandler = null;\r\n        }\r\n\r\n        if (this.container && this.autoZIndex) {\r\n            ZIndexUtils.clear(this.container);\r\n        }\r\n\r\n        if (!(this.cd as ViewRef).destroyed) {\r\n            this.target = null;\r\n        }\r\n\r\n        this.destroyCallback = null;\r\n        if (this.container) {\r\n            this.restoreAppend();\r\n            this.onContainerDestroy();\r\n        }\r\n\r\n        if (this.overlaySubscription) {\r\n            this.overlaySubscription.unsubscribe();\r\n        }\r\n    }\r\n}\r\n\r\n@NgModule({\r\n    imports: [CommonModule, RippleModule, SharedModule],\r\n    exports: [DvOverlayPanelComponent],\r\n    declarations: [DvOverlayPanelComponent],\r\n    schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class DvOverlayPanelModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}