{"version":3,"file":"primeng-panel.mjs","sources":["../../src/panel/style/panelstyle.ts","../../src/panel/panel.ts","../../src/panel/primeng-panel.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-panel {\n    border: 1px solid ${dt('panel.border.color')};\n    border-radius: ${dt('panel.border.radius')};\n    background: ${dt('panel.background')};\n    color: ${dt('panel.color')};\n}\n\n.p-panel-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding: ${dt('panel.header.padding')};\n    background: ${dt('panel.header.background')};\n    color: ${dt('panel.header.color')};\n    border-style: solid;\n    border-width: ${dt('panel.header.border.width')};\n    border-color: ${dt('panel.header.border.color')};\n    border-radius: ${dt('panel.header.border.radius')};\n}\n\n.p-panel-toggleable .p-panel-header {\n    padding: ${dt('panel.toggleable.header.padding')};\n}\n\n.p-panel-title {\n    line-height: 1;\n    font-weight: ${dt('panel.title.font.weight')};\n}\n\n.p-panel-content {\n    padding: ${dt('panel.content.padding')};\n}\n\n.p-panel-footer {\n    padding: ${dt('panel.footer.padding')};\n}\n\n/* For PrimeNG */\n.p-panel-toggleable.p-panel-expanded > .p-panel-content-container:not(.ng-animating) {\n    overflow: visible\n}\n\n.p-panel-toggleable .p-panel-content-container {\n    overflow: hidden;\n}\n`;\n\nconst classes = {\n    root: ({ props }) => [\n        'p-panel p-component',\n        {\n            'p-panel-toggleable': props.toggleable\n        }\n    ],\n    header: 'p-panel-header',\n    title: 'p-panel-title',\n    headerActions: 'p-panel-header-actions',\n    pcToggleButton: 'p-panel-toggle-button',\n    contentContainer: 'p-panel-content-container',\n    content: 'p-panel-content',\n    footer: 'p-panel-footer'\n};\n@Injectable()\nexport class PanelStyle extends BaseStyle {\n    name = 'panel';\n\n    theme = theme;\n\n    classes = classes;\n}\n\n/**\n *\n * Panel is a container with the optional content toggle feature.\n *\n * [Live Demo](https://www.primeng.org/panel/)\n *\n * @module panelstyle\n *\n */\nexport enum PanelClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-panel',\n    /**\n     * Class name of the header element\n     */\n    header = 'p-panel-header',\n    /**\n     * Class name of the title element\n     */\n    title = 'p-panel-title',\n    /**\n     * Class name of the header actions element\n     */\n    headerActions = 'p-panel-header-actions',\n    /**\n     * Class name of the toggle button element\n     */\n    pcToggleButton = 'p-panel-toggle-button',\n    /**\n     * Class name of the content container element\n     */\n    contentContainer = 'p-panel-content-container',\n    /**\n     * Class name of the content element\n     */\n    content = 'p-panel-content',\n    /**\n     * Class name of the footer element\n     */\n    footer = 'p-panel-footer'\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { AfterContentInit, ViewChild, ElementRef, booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, inject, Input, NgModule, Output, QueryList, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { uuid } from '@primeuix/utils';\nimport { BlockableUI, Footer, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ButtonModule } from 'primeng/button';\nimport { MinusIcon, PlusIcon } from 'primeng/icons';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { PanelStyle } from './style/panelstyle';\n\n/**\n * Custom panel toggle event, emits before panel toggle.\n * @see {@link onBeforeToggle}\n * @group Interface\n */\nexport interface PanelBeforeToggleEvent {\n    /**\n     * Browser event.\n     */\n    originalEvent: Event;\n    /**\n     * Collapsed state of the panel.\n     */\n    collapsed: boolean | undefined;\n}\n\n/**\n * Custom panel toggle event, emits after panel toggle.\n * @see {@link onAfterToggle}\n * @extends {PanelBeforeToggleEvent}\n * @group Interface\n */\nexport interface PanelAfterToggleEvent extends PanelBeforeToggleEvent {}\n\n/**\n * Toggle icon template context.\n * @param {boolean} $implicit - Collapsed state as a boolean, implicit value.\n * @group Interface\n */\nexport interface PanelHeaderIconsTemplateContext {\n    /**\n     * Collapsed state as a boolean, implicit value.\n     */\n    $implicit: boolean;\n}\n\n/**\n * Panel is a container with the optional content toggle feature.\n * @group Components\n */\n@Component({\n    selector: 'p-panel',\n    standalone: true,\n    imports: [CommonModule, PlusIcon, MinusIcon, ButtonModule, SharedModule],\n    template: `\n        <div\n            [attr.id]=\"id\"\n            [attr.data-pc-name]=\"'panel'\"\n            [ngClass]=\"{\n                'p-panel p-component': true,\n                'p-panel-toggleable': toggleable,\n                'p-panel-expanded': !collapsed && toggleable\n            }\"\n            [ngStyle]=\"style\"\n            [class]=\"styleClass\"\n        >\n            <div class=\"p-panel-header\" *ngIf=\"showHeader\" (click)=\"onHeaderClick($event)\" [attr.id]=\"id + '-titlebar'\">\n                <span class=\"p-panel-title\" *ngIf=\"_header\" [attr.id]=\"id + '_header'\">{{ _header }}</span>\n                <ng-content select=\"p-header\"></ng-content>\n                <ng-container *ngTemplateOutlet=\"headerTemplate || _headerTemplate\"></ng-container>\n                <div\n                    class=\"p-panel-icons\"\n                    [ngClass]=\"{\n                        'p-panel-icons-start': iconPos === 'start',\n                        'p-panel-icons-end': iconPos === 'end',\n                        'p-panel-icons-center': iconPos === 'center'\n                    }\"\n                >\n                    <ng-template *ngTemplateOutlet=\"iconTemplate || _iconTemplate\"></ng-template>\n                    <p-button\n                        *ngIf=\"toggleable\"\n                        [attr.id]=\"id + '_header'\"\n                        severity=\"secondary\"\n                        [text]=\"true\"\n                        [rounded]=\"true\"\n                        type=\"button\"\n                        role=\"button\"\n                        styleClass=\"p-panel-header-icon p-panel-toggler p-link\"\n                        [attr.aria-label]=\"buttonAriaLabel\"\n                        [attr.aria-controls]=\"id + '_content'\"\n                        [attr.aria-expanded]=\"!collapsed\"\n                        (click)=\"onIconClick($event)\"\n                        (keydown)=\"onKeyDown($event)\"\n                        [buttonProps]=\"toggleButtonProps\"\n                    >\n                        <ng-template #icon>\n                            <ng-container *ngIf=\"!headerIconsTemplate && !_headerIconsTemplate && !toggleButtonProps?.icon\">\n                                <ng-container *ngIf=\"!collapsed\">\n                                    <span *ngIf=\"expandIcon\" [class]=\"expandIcon\"></span>\n                                    <MinusIcon *ngIf=\"!expandIcon\" />\n                                </ng-container>\n\n                                <ng-container *ngIf=\"collapsed\">\n                                    <span *ngIf=\"collapseIcon\" [class]=\"collapseIcon\"></span>\n                                    <PlusIcon *ngIf=\"!collapseIcon\" />\n                                </ng-container>\n                            </ng-container>\n\n                            <ng-template *ngTemplateOutlet=\"headerIconsTemplate || _headerIconsTemplate; context: { $implicit: collapsed }\"></ng-template>\n                        </ng-template>\n                    </p-button>\n                </div>\n            </div>\n            <div\n                class=\"p-panel-content-container\"\n                [id]=\"id + '_content'\"\n                role=\"region\"\n                [attr.aria-labelledby]=\"id + '_header'\"\n                [attr.aria-hidden]=\"collapsed\"\n                [attr.tabindex]=\"collapsed ? '-1' : undefined\"\n                [@panelContent]=\"\n                    collapsed\n                        ? {\n                              value: 'hidden',\n                              params: {\n                                  transitionParams: animating ? transitionOptions : '0ms',\n                                  height: '0',\n                                  opacity: '0'\n                              }\n                          }\n                        : {\n                              value: 'visible',\n                              params: {\n                                  transitionParams: animating ? transitionOptions : '0ms',\n                                  height: '*',\n                                  opacity: '1'\n                              }\n                          }\n                \"\n                (@panelContent.done)=\"onToggleDone($event)\"\n            >\n                <div class=\"p-panel-content\" #contentWrapper>\n                    <ng-content></ng-content>\n                    <ng-container *ngTemplateOutlet=\"contentTemplate || _contentTemplate\"></ng-container>\n                </div>\n\n                <div class=\"p-panel-footer\" *ngIf=\"footerFacet || footerTemplate || _footerTemplate\">\n                    <ng-content select=\"p-footer\"></ng-content>\n                    <ng-container *ngTemplateOutlet=\"footerTemplate || _footerTemplate\"></ng-container>\n                </div>\n            </div>\n        </div>\n    `,\n    animations: [\n        trigger('panelContent', [\n            state(\n                'hidden',\n                style({\n                    height: '0'\n                })\n            ),\n            state(\n                'void',\n                style({\n                    height: '{{height}}'\n                }),\n                { params: { height: '0' } }\n            ),\n            state(\n                'visible',\n                style({\n                    height: '*'\n                })\n            ),\n            transition('visible <=> hidden', [animate('{{transitionParams}}')]),\n            transition('void => hidden', animate('{{transitionParams}}')),\n            transition('void => visible', animate('{{transitionParams}}'))\n        ])\n    ],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [PanelStyle]\n})\nexport class Panel extends BaseComponent implements AfterContentInit, BlockableUI {\n    /**\n     * Defines if content of panel can be expanded and collapsed.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) toggleable: boolean | undefined;\n    /**\n     * Header text of the panel.\n     * @group Props\n     */\n    @Input('header') _header: string | undefined;\n    /**\n     * Defines the initial state of panel content, supports one or two-way binding as well.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) collapsed: boolean | undefined;\n    /**\n     * Inline style of the component.\n     * @group Props\n     */\n    @Input() style: { [klass: string]: any } | null | undefined;\n    /**\n     * Style class of the component.\n     * @group Props\n     */\n    @Input() styleClass: string | undefined;\n    /**\n     * Position of the icons.\n     * @group Props\n     */\n    @Input() iconPos: 'start' | 'end' | 'center' = 'end';\n    /**\n     * Expand icon of the toggle button.\n     * @group Props\n     * @deprecated since v15.4.2, use `headericons` template instead.\n     */\n    @Input() expandIcon: string | undefined;\n    /**\n     * Collapse icon of the toggle button.\n     * @group Props\n     * @deprecated since v15.4.2, use `headericons` template instead.\n     */\n    @Input() collapseIcon: string | undefined;\n    /**\n     * Specifies if header of panel cannot be displayed.\n     * @group Props\n     * @deprecated since v15.4.2, use `headericons` template instead.\n     */\n    @Input({ transform: booleanAttribute }) showHeader: boolean = true;\n    /**\n     * Specifies the toggler element to toggle the panel content.\n     * @group Props\n     */\n    @Input() toggler: 'icon' | 'header' = 'icon';\n    /**\n     * Transition options of the animation.\n     * @group Props\n     */\n    @Input() transitionOptions: string = '400ms cubic-bezier(0.86, 0, 0.07, 1)';\n    /**\n     * Used to pass all properties of the ButtonProps to the Button component.\n     * @group Props\n     */\n    @Input() toggleButtonProps: any;\n    /**\n     * Emitted when the collapsed changes.\n     * @param {boolean} value - New Value.\n     * @group Emits\n     */\n    @Output() collapsedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n    /**\n     * Callback to invoke before panel toggle.\n     * @param {PanelBeforeToggleEvent} event - Custom panel toggle event\n     * @group Emits\n     */\n    @Output() onBeforeToggle: EventEmitter<PanelBeforeToggleEvent> = new EventEmitter<PanelBeforeToggleEvent>();\n    /**\n     * Callback to invoke after panel toggle.\n     * @param {PanelAfterToggleEvent} event - Custom panel toggle event\n     * @group Emits\n     */\n    @Output() onAfterToggle: EventEmitter<PanelAfterToggleEvent> = new EventEmitter<PanelAfterToggleEvent>();\n\n    @ContentChild(Footer) footerFacet: Nullable<TemplateRef<any>>;\n\n    animating: Nullable<boolean>;\n    /**\n     * Defines template option for header.\n     * @group Templates\n     */\n    @ContentChild('header', { descendants: false }) headerTemplate: TemplateRef<any> | undefined;\n    /**\n     * Defines template option for icon.\n     * @example\n     * ```html\n     * <ng-template #icon> </ng-template>\n     * ```\n     * @group Templates\n     */\n    @ContentChild('icons', { descendants: false }) iconTemplate: TemplateRef<any> | undefined;\n\n    /**\n     * Defines template option for content.\n     * @example\n     * ```html\n     * <ng-template #content> </ng-template>\n     * ```\n     * @group Templates\n     */\n    @ContentChild('content', { descendants: false }) contentTemplate: TemplateRef<any> | undefined;\n\n    /**\n     * Defines template option for footer.\n     * @example\n     * ```html\n     * <ng-template #footer> </ng-template>\n     * ```\n     * @group Templates\n     */\n    @ContentChild('footer', { descendants: false }) footerTemplate: TemplateRef<any> | undefined;\n\n    /**\n     * Defines template option for headerIcon.\n     * @type {TemplateRef<PanelHeaderIconsTemplateContext>} context - context of the template.\n     * @example\n     * ```html\n     * <ng-template #headericons let-collapsed> </ng-template>\n     * ```\n     * @see {@link PanelHeaderIconsTemplateContext}\n     * @group Templates\n     */\n    @ContentChild('headericons', { descendants: false }) headerIconsTemplate: TemplateRef<PanelHeaderIconsTemplateContext> | undefined;\n\n    _headerTemplate: TemplateRef<any> | undefined;\n\n    _iconTemplate: TemplateRef<any> | undefined;\n\n    _contentTemplate: TemplateRef<any> | undefined;\n\n    _footerTemplate: TemplateRef<any> | undefined;\n\n    _headerIconsTemplate: TemplateRef<any> | undefined;\n\n    @ViewChild('contentWrapper') contentWrapperViewChild: ElementRef;\n\n    readonly id = uuid('pn_id_');\n\n    get buttonAriaLabel() {\n        return this._header;\n    }\n\n    _componentStyle = inject(PanelStyle);\n\n    onHeaderClick(event: MouseEvent) {\n        if (this.toggler === 'header') {\n            this.toggle(event);\n        }\n    }\n\n    onIconClick(event: MouseEvent) {\n        if (this.toggler === 'icon') {\n            this.toggle(event);\n        }\n    }\n\n    toggle(event: MouseEvent) {\n        if (this.animating) {\n            return false;\n        }\n\n        this.animating = true;\n        this.onBeforeToggle.emit({ originalEvent: event, collapsed: this.collapsed });\n\n        if (this.toggleable) {\n            if (this.collapsed) this.expand();\n            else this.collapse();\n        }\n\n        this.cd.markForCheck();\n        event.preventDefault();\n    }\n\n    expand() {\n        this.collapsed = false;\n        this.collapsedChange.emit(this.collapsed);\n        this.updateTabIndex();\n    }\n\n    collapse() {\n        this.collapsed = true;\n        this.collapsedChange.emit(this.collapsed);\n        this.updateTabIndex();\n    }\n\n    getBlockableElement(): HTMLElement {\n        return this.el.nativeElement.children[0];\n    }\n\n    updateTabIndex() {\n        if (this.contentWrapperViewChild) {\n            const focusableElements = this.contentWrapperViewChild.nativeElement.querySelectorAll('input, button, select, a, textarea, [tabindex]:not([tabindex=\"-1\"])');\n            focusableElements.forEach((element: HTMLElement) => {\n                if (this.collapsed) {\n                    element.setAttribute('tabindex', '-1');\n                } else {\n                    element.removeAttribute('tabindex');\n                }\n            });\n        }\n    }\n\n    onKeyDown(event) {\n        if (event.code === 'Enter' || event.code === 'Space') {\n            this.toggle(event);\n            event.preventDefault();\n        }\n    }\n\n    onToggleDone(event: any) {\n        this.animating = false;\n        this.onAfterToggle.emit({ originalEvent: event, collapsed: this.collapsed });\n    }\n\n    @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n    ngAfterContentInit() {\n        (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n            switch (item.getType()) {\n                case 'header':\n                    this._headerTemplate = item.template;\n                    break;\n\n                case 'content':\n                    this._contentTemplate = item.template;\n                    break;\n\n                case 'footer':\n                    this._footerTemplate = item.template;\n                    break;\n\n                case 'icons':\n                    this._iconTemplate = item.template;\n                    break;\n\n                case 'headericons':\n                    this._headerIconsTemplate = item.template;\n                    break;\n\n                default:\n                    this._contentTemplate = item.template;\n                    break;\n            }\n        });\n    }\n}\n\n@NgModule({\n    imports: [Panel, SharedModule],\n    exports: [Panel, SharedModule]\n})\nexport class PanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}