{"version":3,"file":"primeng-drawer.mjs","sources":["../../src/drawer/style/drawerstyle.ts","../../src/drawer/drawer.ts","../../src/drawer/primeng-drawer.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style as drawer_style } from '@primeuix/styles/drawer';\nimport { BaseStyle } from 'primeng/base';\n\nconst style = /*css*/ `\n${drawer_style}\n\n/** For PrimeNG **/\n.p-drawer {\n    position: fixed;\n}\n\n.p-drawer-left {\n    top: 0;\n    left: 0;\n    width: 20rem;\n    height: 100%;\n    border-inline-end-width: 1px;\n}\n\n.p-drawer-right {\n    top: 0;\n    right: 0;\n    width: 20rem;\n    height: 100%;\n    border-inline-start-width: 1px;\n}\n\n.p-drawer-top {\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 10rem;\n    border-block-end-width: 1px;\n}\n\n.p-drawer-bottom {\n    bottom: 0;\n    left: 0;\n    width: 100%;\n    height: 10rem;\n    border-block-start-width: 1px;\n}\n\n.p-drawer-full {\n    width: 100%;\n    height: 100%;\n    top: 0;\n    left: 0;\n    -webkit-transition: none;\n    transition: none;\n}\n\n/* Animations */\n.p-drawer-enter-left {\n    animation: p-animate-drawer-enter-left 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n\n.p-drawer-leave-left {\n    animation: p-animate-drawer-leave-left 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n\n.p-drawer-enter-right {\n    animation: p-animate-drawer-enter-right 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n\n.p-drawer-leave-right {\n    animation: p-animate-drawer-leave-right 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n\n.p-drawer-enter-top {\n    animation: p-animate-drawer-enter-top 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n\n.p-drawer-leave-top {\n    animation: p-animate-drawer-leave-top 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n\n.p-drawer-enter-bottom {\n    animation: p-animate-drawer-enter-bottom 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n\n.p-drawer-leave-bottom {\n    animation: p-animate-drawer-leave-bottom 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n\n.p-drawer-enter-full {\n    animation: p-animate-drawer-enter-full 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n\n.p-drawer-leave-full {\n    animation: p-animate-drawer-leave-full 0.5s cubic-bezier(0.32, 0.72, 0, 1);\n}\n`;\n\nconst classes = {\n    mask: ({ instance }) => ['p-drawer-mask', { [`p-overlay-mask p-overlay-mask-enter-active`]: instance.modal() }, { 'p-drawer-full': instance.fullScreen() }],\n    root: ({ instance }) => [\n        'p-drawer p-component',\n        {\n            'p-drawer-full': instance.fullScreen(),\n            'p-drawer-open': instance.visible()\n        },\n        `p-drawer-${instance.position()}`\n    ],\n    header: 'p-drawer-header',\n    title: 'p-drawer-title',\n    pcCloseButton: 'p-drawer-close-button',\n    content: 'p-drawer-content',\n    footer: 'p-drawer-footer'\n};\n\n@Injectable()\nexport class DrawerStyle extends BaseStyle {\n    name = 'drawer';\n\n    style = style;\n\n    classes = classes;\n}\n\n/**\n *\n * Drawer is a panel component displayed as an overlay at the edges of the screen.\n *\n * [Live Demo](https://www.primeng.org/drawer)\n *\n * @module drawerstyle\n *\n */\nexport enum DrawerClasses {\n    /**\n     * Class name of the mask element\n     */\n    mask = 'p-drawer-mask',\n    /**\n     * Class name of the root element\n     */\n    root = 'p-drawer',\n    /**\n     * Class name of the header element\n     */\n    header = 'p-drawer-header',\n    /**\n     * Class name of the title element\n     */\n    title = 'p-drawer-title',\n    /**\n     * Class name of the close button element\n     */\n    pcCloseButton = 'p-drawer-close-button',\n    /**\n     * Class name of the content element\n     */\n    content = 'p-drawer-content'\n}\n\nexport interface DrawerStyle extends BaseStyle {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n    booleanAttribute,\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    contentChild,\n    effect,\n    ElementRef,\n    inject,\n    InjectionToken,\n    input,\n    model,\n    NgModule,\n    numberAttribute,\n    output,\n    signal,\n    TemplateRef,\n    untracked,\n    viewChild,\n    ViewEncapsulation\n} from '@angular/core';\nimport { Times as TimesIcon } from '@primeicons/angular/times';\nimport { MotionEvent, MotionOptions } from '@primeuix/motion';\nimport { addClass, appendChild, removeClass, setAttribute } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { ButtonDirective } from 'primeng/button';\nimport { blockBodyScroll, unblockBodyScroll } from 'primeng/dom';\nimport { FocusTrapModule } from 'primeng/focustrap';\nimport { MotionModule } from 'primeng/motion';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport type { ButtonDirectiveOptions } from 'primeng/types/button';\nimport { DrawerPassThrough, DrawerPosition } from 'primeng/types/drawer';\nimport type { AppendTo, CSSProperties } from 'primeng/types/shared';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { DrawerStyle } from './style/drawerstyle';\n\nconst DRAWER_INSTANCE = new InjectionToken<Drawer>('DRAWER_INSTANCE');\n\n/**\n * Sidebar is a panel component displayed as an overlay at the edges of the screen.\n * @group Components\n */\n@Component({\n    selector: 'p-drawer',\n    standalone: true,\n    imports: [NgTemplateOutlet, ButtonDirective, TimesIcon, SharedModule, Bind, FocusTrapModule, MotionModule],\n    providers: [DrawerStyle, { provide: DRAWER_INSTANCE, useExisting: Drawer }, { provide: PARENT_INSTANCE, useExisting: Drawer }],\n    hostDirectives: [Bind],\n    template: `\n        @if (modalVisible()) {\n            <div\n                #container\n                [pBind]=\"ptm('root')\"\n                [pMotion]=\"visible()\"\n                [pMotionAppear]=\"true\"\n                [pMotionEnterActiveClass]=\"$enterAnimation()\"\n                [pMotionLeaveActiveClass]=\"$leaveAnimation()\"\n                [pMotionOptions]=\"computedMotionOptions()\"\n                (pMotionOnBeforeEnter)=\"onBeforeEnter($event)\"\n                (pMotionOnAfterLeave)=\"onAfterLeave($event)\"\n                [class]=\"cn(cx('root'), styleClass())\"\n                [style]=\"style()\"\n                role=\"complementary\"\n                (keydown)=\"onKeyDown($event)\"\n                pFocusTrap\n                [attr.data-p]=\"dataP\"\n                [attr.data-p-open]=\"visible()\"\n            >\n                @if (headlessTemplate()) {\n                    <ng-container *ngTemplateOutlet=\"headlessTemplate()\"></ng-container>\n                } @else {\n                    <div [pBind]=\"ptm('header')\" [class]=\"cx('header')\" [attr.data-pc-section]=\"'header'\">\n                        @if (headerTemplate()) {\n                            <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n                        }\n                        @if (header()) {\n                            <div [pBind]=\"ptm('title')\" [class]=\"cx('title')\">{{ header() }}</div>\n                        }\n                        @if (showCloseButton()) {\n                            <button\n                                type=\"button\"\n                                iconOnly\n                                [pButton]=\"closeButtonProps()\"\n                                [class]=\"cx('pcCloseButton')\"\n                                [attr.aria-label]=\"ariaCloseLabel()\"\n                                [attr.data-pc-group-section]=\"'iconcontainer'\"\n                                [pButtonPT]=\"ptm('pcCloseButton')\"\n                                [pButtonUnstyled]=\"unstyled()\"\n                                (click)=\"close($event)\"\n                                (keydown.enter)=\"close($event)\"\n                            >\n                                @if (!closeIconTemplate()) {\n                                    <svg data-p-icon=\"times\" [attr.data-pc-section]=\"'closeicon'\" />\n                                } @else {\n                                    <ng-container *ngTemplateOutlet=\"closeIconTemplate()\"></ng-container>\n                                }\n                            </button>\n                        }\n                    </div>\n\n                    <div [pBind]=\"ptm('content')\" [class]=\"cx('content')\" [attr.data-pc-section]=\"'content'\">\n                        <ng-content></ng-content>\n                        @if (contentTemplate()) {\n                            <ng-container *ngTemplateOutlet=\"contentTemplate()\"></ng-container>\n                        }\n                    </div>\n\n                    @if (footerTemplate()) {\n                        <div [pBind]=\"ptm('footer')\" [class]=\"cx('footer')\" [attr.data-pc-section]=\"'footer'\">\n                            <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n                        </div>\n                    }\n                }\n            </div>\n        }\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None\n})\nexport class Drawer extends BaseComponent<DrawerPassThrough> {\n    componentName = 'Drawer';\n\n    $pcDrawer: Drawer | undefined = inject(DRAWER_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n\n    onAfterViewChecked(): void {\n        this.bindDirectiveInstance.setAttrs(this.ptm('host'));\n    }\n    /**\n     * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n     * @defaultValue 'self'\n     * @group Props\n     */\n    appendTo = input<AppendTo>(undefined);\n    /**\n     * The motion options.\n     * @group Props\n     */\n    motionOptions = input<MotionOptions | undefined>(undefined);\n\n    computedMotionOptions = computed<MotionOptions>(() => {\n        return {\n            ...this.ptm('motion'),\n            ...this.motionOptions()\n        };\n    });\n    /**\n     * Whether to block scrolling of the document when drawer is active.\n     * @group Props\n     */\n    blockScroll = input(false, { transform: booleanAttribute });\n    /**\n     * Inline style of the component.\n     * @group Props\n     */\n    style = input<{ [klass: string]: any } | null>();\n    /**\n     * Style class of the component.\n     * @group Props\n     */\n    styleClass = input<string>();\n    /**\n     * Aria label of the close icon.\n     * @group Props\n     */\n    ariaCloseLabel = input<string>();\n    /**\n     * Whether to automatically manage layering.\n     * @group Props\n     */\n    autoZIndex = input(true, { transform: booleanAttribute });\n    /**\n     * Base zIndex value to use in layering.\n     * @group Props\n     */\n    baseZIndex = input(0, { transform: numberAttribute });\n    /**\n     * Whether an overlay mask is displayed behind the drawer.\n     * @group Props\n     */\n    modal = input(true, { transform: booleanAttribute });\n    /**\n     * Configuration object forwarded to the close button.\n     * @group Props\n     */\n    closeButtonProps = input<ButtonDirectiveOptions>({ severity: 'secondary', variant: 'text', rounded: true });\n    /**\n     * Whether to dismiss drawer on click of the mask.\n     * @group Props\n     */\n    dismissible = input(true, { transform: booleanAttribute });\n    /**\n     * Whether to display the close icon.\n     * @group Props\n     * @deprecated use 'closable' instead.\n     */\n    showCloseIcon = input(true, { transform: booleanAttribute });\n    /**\n     * Specifies if pressing escape key should hide the drawer.\n     * @group Props\n     */\n    closeOnEscape = input(true, { transform: booleanAttribute });\n    /**\n     * The visible property is an input that determines the visibility of the component.\n     * @defaultValue false\n     * @group Props\n     */\n    visible = model<boolean>(false);\n\n    /**\n     * Specifies the position of the drawer, valid values are \"left\", \"right\", \"bottom\" and \"top\".\n     * @defaultValue 'left'\n     * @group Props\n     */\n    position = input<DrawerPosition>('left');\n    /**\n     * Adds a close icon to the header to hide the dialog.\n     * @defaultValue false\n     * @group Props\n     */\n    fullScreen = input<boolean>(false);\n\n    $enterAnimation = computed(() => (this.fullScreen() ? 'p-drawer-enter-full' : `p-drawer-enter-${this.position()}`));\n\n    $leaveAnimation = computed(() => (this.fullScreen() ? 'p-drawer-leave-full' : `p-drawer-leave-${this.position()}`));\n\n    /**\n     * Title content of the dialog.\n     * @group Props\n     */\n    header = input<string>();\n    /**\n     * Style of the mask.\n     * @group Props\n     */\n    maskStyle = input<CSSProperties>();\n    /**\n     * Whether to display close button.\n     * @group Props\n     * @defaultValue true\n     */\n    closable = input(true, { transform: booleanAttribute });\n    /**\n     * Callback to invoke when dialog is shown.\n     * @group Emits\n     */\n    onShow = output<any>();\n    /**\n     * Callback to invoke when dialog is hidden.\n     * @group Emits\n     */\n    onHide = output<any>();\n\n    containerViewChild = viewChild<ElementRef>('container');\n\n    closeButtonViewChild = viewChild<ElementRef>('closeButton');\n\n    initialized: boolean | undefined;\n\n    modalVisible = signal<boolean>(false);\n\n    container: Nullable<HTMLDivElement>;\n\n    mask: Nullable<HTMLDivElement>;\n\n    maskClickListener: VoidListener;\n\n    documentEscapeListener: VoidListener;\n\n    animationEndListener: VoidListener;\n\n    _componentStyle = inject(DrawerStyle);\n\n    onAfterViewInit() {\n        this.initialized = true;\n    }\n    /**\n     * Custom header template.\n     * @group Templates\n     */\n    headerTemplate = contentChild<TemplateRef<void>>('header', { descendants: false });\n    /**\n     * Custom footer template.\n     * @group Templates\n     */\n    footerTemplate = contentChild<TemplateRef<void>>('footer', { descendants: false });\n    /**\n     * Custom content template.\n     * @group Templates\n     */\n    contentTemplate = contentChild<TemplateRef<void>>('content', { descendants: false });\n    /**\n     * Custom close icon template.\n     * @group Templates\n     */\n    closeIconTemplate = contentChild<TemplateRef<void>>('closeicon', { descendants: false });\n    /**\n     * Custom headless template to replace the entire drawer content.\n     * @group Templates\n     */\n    headlessTemplate = contentChild<TemplateRef<void>>('headless', { descendants: false });\n\n    showCloseButton = computed(() => this.showCloseIcon() && this.closable());\n\n    $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n    constructor() {\n        super();\n        effect(() => {\n            const isVisible = this.visible();\n            untracked(() => {\n                if (isVisible && !this.modalVisible()) {\n                    this.modalVisible.set(true);\n                }\n            });\n        });\n    }\n\n    onKeyDown(event: KeyboardEvent) {\n        if (event.code === 'Escape') {\n            this.hide(false);\n        }\n    }\n\n    show() {\n        this.container?.setAttribute(this.$attrSelector, '');\n\n        if (this.autoZIndex()) {\n            ZIndexUtils.set('modal', this.container, this.baseZIndex() || this.config.zIndex.modal);\n        }\n\n        if (this.modal()) {\n            this.enableModality();\n        }\n\n        this.onShow.emit({});\n    }\n\n    hide(emit: boolean = true) {\n        if (emit) {\n            this.onHide.emit({});\n        }\n\n        if (this.modal()) {\n            this.disableModality();\n        }\n    }\n\n    close(event: Event) {\n        this.hide();\n        this.visible.set(false);\n        event.preventDefault();\n    }\n\n    enableModality() {\n        const activeDrawers = this.document.querySelectorAll('[data-p-open=\"true\"]');\n        const activeDrawersLength = activeDrawers.length;\n        const zIndex = activeDrawersLength == 1 ? String(parseInt((this.container as HTMLDivElement).style.zIndex) - 1) : String(parseInt((activeDrawers[activeDrawersLength - 1] as HTMLElement).style.zIndex) - 1);\n\n        if (!this.mask) {\n            this.mask = this.renderer.createElement('div');\n\n            if (this.mask) {\n                const style = `z-index: ${zIndex};${this.getMaskStyle()}`;\n                setAttribute(this.mask, 'style', style);\n                setAttribute(this.mask, 'data-p', this.dataP);\n                addClass(this.mask, this.cx('mask'));\n            }\n\n            if (this.dismissible()) {\n                this.maskClickListener = this.renderer.listen(this.mask, 'click', (event: any) => {\n                    if (this.dismissible()) {\n                        this.close(event);\n                    }\n                });\n            }\n\n            const maskParent = this.container?.parentNode;\n            if (maskParent) {\n                this.renderer.insertBefore(maskParent, this.mask, this.container);\n            } else {\n                this.renderer.appendChild(this.document.body, this.mask);\n            }\n            if (this.blockScroll()) {\n                blockBodyScroll();\n            }\n        }\n    }\n\n    getMaskStyle() {\n        const maskStyleValue = this.maskStyle();\n        return maskStyleValue\n            ? Object.entries(maskStyleValue)\n                  .map(([key, value]) => `${key}: ${value}`)\n                  .join('; ')\n            : '';\n    }\n\n    disableModality() {\n        if (this.mask) {\n            !this.$unstyled() && removeClass(this.mask, 'p-overlay-mask-enter-active');\n            !this.$unstyled() && addClass(this.mask, 'p-overlay-mask-leave-active');\n            this.animationEndListener = this.renderer.listen(this.mask, 'animationend', this.destroyModal.bind(this));\n        }\n    }\n\n    destroyModal() {\n        this.unbindMaskClickListener();\n\n        if (this.mask?.parentNode) {\n            this.renderer.removeChild(this.mask.parentNode, this.mask);\n        }\n\n        if (this.blockScroll()) {\n            unblockBodyScroll();\n        }\n\n        this.unbindAnimationEndListener();\n        this.mask = null;\n    }\n\n    onBeforeEnter(event: MotionEvent) {\n        this.container = event.element as HTMLDivElement;\n        this.appendContainer();\n        this.show();\n\n        if (this.closeOnEscape()) {\n            this.bindDocumentEscapeListener();\n        }\n    }\n\n    onAfterLeave() {\n        this.hide(false);\n        ZIndexUtils.clear(this.container);\n        this.unbindGlobalListeners();\n        this.modalVisible.set(false);\n        this.container = null;\n    }\n\n    appendContainer() {\n        if (this.$appendTo() && this.$appendTo() !== 'self') {\n            if (this.$appendTo() === 'body') {\n                appendChild(this.document.body, this.container!);\n            } else {\n                appendChild(this.$appendTo(), this.container!);\n            }\n        }\n    }\n\n    bindDocumentEscapeListener() {\n        const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : this.document;\n\n        this.documentEscapeListener = this.renderer.listen(documentTarget, 'keydown', (event) => {\n            if (event.which == 27) {\n                if (parseInt((this.container as HTMLDivElement)?.style.zIndex) === ZIndexUtils.get(this.container)) {\n                    this.close(event);\n                }\n            }\n        });\n    }\n\n    unbindDocumentEscapeListener() {\n        if (this.documentEscapeListener) {\n            this.documentEscapeListener();\n            this.documentEscapeListener = null;\n        }\n    }\n\n    unbindMaskClickListener() {\n        if (this.maskClickListener) {\n            this.maskClickListener();\n            this.maskClickListener = null;\n        }\n    }\n\n    unbindGlobalListeners() {\n        this.unbindMaskClickListener();\n        this.unbindDocumentEscapeListener();\n    }\n\n    unbindAnimationEndListener() {\n        if (this.animationEndListener && this.mask) {\n            this.animationEndListener();\n            this.animationEndListener = null;\n        }\n    }\n\n    onDestroy() {\n        this.initialized = false;\n\n        if (this.visible() && this.modal()) {\n            this.destroyModal();\n        }\n\n        if (this.$appendTo() && this.container) {\n            this.renderer.appendChild(this.el.nativeElement, this.container);\n        }\n\n        if (this.container && this.autoZIndex()) {\n            ZIndexUtils.clear(this.container);\n        }\n\n        this.container = null;\n        this.unbindGlobalListeners();\n        this.unbindAnimationEndListener();\n    }\n\n    get dataP() {\n        return this.cn({\n            'full-screen': this.position() === 'full',\n            [this.position()]: this.position(),\n            open: this.visible(),\n            modal: this.modal()\n        });\n    }\n}\n\n@NgModule({\n    imports: [Drawer, SharedModule],\n    exports: [Drawer, SharedModule]\n})\nexport class DrawerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["drawer_style","TimesIcon"],"mappings":"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"}