{"version":3,"file":"primeng-accordion.mjs","sources":["../../src/accordion/style/accordionstyle.ts","../../src/accordion/accordion.ts","../../src/accordion/primeng-accordion.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-accordionpanel {\n    display: flex;\n    flex-direction: column;\n    border-style: solid;\n    border-width: ${dt('accordion.panel.border.width')};\n    border-color: ${dt('accordion.panel.border.color')};\n}\n\n.p-accordionheader {\n    all: unset;\n    cursor: pointer;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: ${dt('accordion.header.padding')};\n    color: ${dt('accordion.header.color')};\n    background: ${dt('accordion.header.background')};\n    border-style: solid;\n    border-width: ${dt('accordion.header.border.width')};\n    border-color: ${dt('accordion.header.border.color')};\n    font-weight: ${dt('accordion.header.font.weight')};\n    border-radius: ${dt('accordion.header.border.radius')};\n    transition: background ${dt('accordion.transition.duration')}; color ${dt('accordion.transition.duration')}color ${dt('accordion.transition.duration')}, outline-color ${dt('accordion.transition.duration')}, box-shadow ${dt(\n        'accordion.transition.duration'\n    )};\n    outline-color: transparent;\n    position: relative;\n    overflow: hidden;\n}\n\n.p-accordionpanel:first-child > .p-accordionheader {\n    border-width: ${dt('accordion.header.first.border.width')};\n    border-start-start-radius: ${dt('accordion.header.first.top.border.radius')};\n    border-start-end-radius: ${dt('accordion.header.first.top.border.radius')};\n}\n\n.p-accordionpanel:last-child > .p-accordionheader {\n    border-end-start-radius: ${dt('accordion.header.last.bottom.border.radius')};\n    border-end-end-radius: ${dt('accordion.header.last.bottom.border.radius')};\n}\n\n.p-accordionpanel:last-child.p-accordionpanel-active > .p-accordionheader {\n    border-end-start-radius: ${dt('accordion.header.last.active.bottom.border.radius')};\n    border-end-end-radius:${dt('accordion.header.last.active.bottom.border.radius')};\n}\n\n.p-accordionheader-toggle-icon {\n    color: ${dt('accordion.header.toggle.icon.color')};\n}\n\n.p-accordionpanel:not(.p-disabled) .p-accordionheader:focus-visible {\n    box-shadow: ${dt('accordion.header.focus.ring.shadow')};\n    outline: ${dt('accordion.header.focus.ring.width')} ${dt('accordion.header.focus.ring.style')} ${dt('accordion.header.focus.ring.color')};\n    outline-offset: ${dt('accordion.header.focus.ring.offset')};\n}\n\n.p-accordionpanel:not(.p-accordionpanel-active):not(.p-disabled) > .p-accordionheader:hover {\n    background: ${dt('accordion.header.hover.background')};\n    color: ${dt('accordion.header.hover.color')}\n}\n\n.p-accordionpanel:not(.p-accordionpanel-active):not(.p-disabled) .p-accordionheader:hover .p-accordionheader-toggle-icon {\n    color: ${dt('accordion.header.toggle.icon.hover.color')};\n}\n\n.p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader {\n    background: ${dt('accordion.header.active.background')};\n    color: ${dt('accordion.header.active.color')}\n}\n\n.p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader .p-accordionheader-toggle-icon {\n    color: ${dt('accordion.header.toggle.icon.active.color')};\n}\n\n.p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader:hover  {\n    background: ${dt('accordion.header.active.hover.background')};\n    color: ${dt('accordion.header.active.hover.color')}\n}\n\n.p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader:hover  .p-accordionheader-toggle-icon {\n    color: ${dt('accordion.header.toggle.icon.active.hover.color')};\n}\n\n.p-accordioncontent-content {\n    border-style: solid;\n    border-width: ${dt('accordion.content.border.width')};\n    border-color: ${dt('accordion.content.border.color')};\n    background-color: ${dt('accordion.content.background')};\n    color: ${dt('accordion.content.color')};\n    padding: ${dt('accordion.content.padding')}\n}\n\n/*For PrimeNG*/\n\n.p-accordion .p-accordioncontent {\n    overflow: hidden;\n}\n\n.p-accordionpanel.p-accordioncontent:not(.ng-animating) {\n    overflow: inherit;\n}\n\n.p-accordionheader-toggle-icon.icon-start {\n    order: -1;\n}\n\n.p-accordionheader:has(.p-accordionheader-toggle-icon.icon-start) {\n    justify-content: flex-start;\n    gap: ${dt('accordion.header.padding')};\n}\n`;\n\nconst classes = {\n    root: 'p-accordion p-component'\n};\n\n@Injectable()\nexport class AccordionStyle extends BaseStyle {\n    name = 'accordion';\n\n    theme = theme;\n\n    classes = classes;\n}\n\n/**\n *\n * Accordion groups a collection of contents in tabs.\n *\n * [Live Demo](https://www.primeng.org/accordion/)\n *\n * @module accordionstyle\n *\n */\nexport enum AccordionClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-accordion',\n    /**\n     * Class name of the content wrapper\n     */\n    contentwrapper = 'p-accordioncontent',\n    /**\n     * Class name of the content\n     */\n    content = 'p-accordioncontent-content',\n    /**\n     * Class name of the header\n     */\n    header = 'p-accordionheader',\n    /**\n     * Class name of the toggle icon\n     */\n    toggleicon = 'p-accordionheader-toggle-icon',\n    /**\n     * Class name of the panel\n     */\n    panel = 'p-accordionpanel'\n}\n\nexport interface AccordionStyle extends BaseStyle {}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n    AfterContentInit,\n    booleanAttribute,\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    ContentChild,\n    ContentChildren,\n    EventEmitter,\n    forwardRef,\n    HostBinding,\n    HostListener,\n    inject,\n    Input,\n    input,\n    InputSignalWithTransform,\n    model,\n    NgModule,\n    numberAttribute,\n    OnDestroy,\n    Output,\n    QueryList,\n    signal,\n    TemplateRef,\n    ViewEncapsulation\n} from '@angular/core';\nimport { findSingle, focus, getAttribute, uuid } from '@primeuix/utils';\nimport { BlockableUI, Header, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { ChevronDownIcon, ChevronUpIcon } from 'primeng/icons';\nimport { Ripple } from 'primeng/ripple';\nimport { transformToBoolean } from 'primeng/utils';\nimport { Subscription } from 'rxjs';\nimport { AccordionStyle } from './style/accordionstyle';\n\n/**\n * Custom tab open event.\n * @see {@link onOpen}\n * @group Interface\n */\nexport interface AccordionTabOpenEvent {\n    /**\n     * Browser event.\n     */\n    originalEvent: Event;\n    /**\n     * Opened tab index.\n     */\n    index: number;\n}\n\n/**\n * Custom tab close event.\n * @see {@link onClose}\n * @extends {AccordionTabOpenEvent}\n * @group Interface\n */\nexport interface AccordionTabCloseEvent extends AccordionTabOpenEvent {}\n\n/**\n * Toggle icon template context.\n * @group Interface\n */\nexport interface AccordionToggleIconTemplateContext {\n    /**\n     * Represents the active status of the panel.\n     */\n    active: boolean;\n}\n\n/**\n * AccordionPanel is a helper component for Accordion component.\n * @group Components\n */\n@Component({\n    selector: 'p-accordion-panel, p-accordionpanel',\n    imports: [CommonModule],\n    standalone: true,\n    template: `<ng-content />`,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        '[class.p-accordionpanel]': 'true',\n        '[class.p-accordionpanel-active]': 'active()',\n        '[class.p-disabled]': 'disabled()',\n        '[attr.data-pc-name]': '\"accordionpanel\"',\n        '[attr.data-p-disabled]': 'disabled()',\n        '[attr.data-p-active]': 'active()'\n    }\n})\nexport class AccordionPanel extends BaseComponent {\n    pcAccordion = inject(forwardRef(() => Accordion));\n    /**\n     * Value of the active tab.\n     * @defaultValue undefined\n     * @group Props\n     */\n    value = model<undefined | null | string | number | string[] | number[]>(undefined);\n    /**\n     * Disables the tab when enabled.\n     * @defaultValue false\n     * @group Props\n     */\n    disabled: InputSignalWithTransform<any, boolean> = input(false, { transform: (v: any) => transformToBoolean(v) });\n\n    active = computed(() => (this.pcAccordion.multiple() ? this.valueEquals(this.pcAccordion.value(), this.value()) : this.pcAccordion.value() === this.value()));\n\n    valueEquals(currentValue: any, value: any): boolean {\n        if (Array.isArray(currentValue)) {\n            return currentValue.includes(value);\n        }\n        return currentValue === value;\n    }\n}\n/**\n * AccordionHeader is a helper component for Accordion component.\n * @group Components\n */\n@Component({\n    selector: 'p-accordion-header, p-accordionheader',\n    imports: [CommonModule, ChevronDownIcon, ChevronUpIcon],\n    standalone: true,\n    template: `\n        <ng-content />\n        @if (toggleicon) {\n            <ng-template *ngTemplateOutlet=\"toggleicon; context: { active: active() }\"></ng-template>\n        } @else {\n            <ng-container *ngIf=\"active()\">\n                <span *ngIf=\"pcAccordion.collapseIcon\" [class]=\"pcAccordion.collapseIcon\" [ngClass]=\"pcAccordion.iconClass\" [attr.aria-hidden]=\"true\"></span>\n                <ChevronDownIcon *ngIf=\"!pcAccordion.collapseIcon\" [ngClass]=\"pcAccordion.iconClass\" [attr.aria-hidden]=\"true\" />\n            </ng-container>\n            <ng-container *ngIf=\"!active()\">\n                <span *ngIf=\"pcAccordion.expandIcon\" [class]=\"pcAccordion.expandIcon\" [ngClass]=\"pcAccordion.iconClass\" [attr.aria-hidden]=\"true\"></span>\n                <ChevronUpIcon *ngIf=\"!pcAccordion.expandIcon\" [ngClass]=\"pcAccordion.iconClass\" [attr.aria-hidden]=\"true\" />\n            </ng-container>\n        }\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        '[class.p-accordionheader]': 'true',\n        '[attr.id]': 'id()',\n        '[attr.aria-expanded]': 'active()',\n        '[attr.aria-controls]': 'ariaControls()',\n        '[attr.role]': '\"button\"',\n        '[attr.tabindex]': '\"0\"',\n        '[attr.data-p-active]': 'active()',\n        '[attr.data-p-disabled]': 'disabled()',\n        '[attr.data-pc-name]': '\"accordionheader\"',\n        '[style.user-select]': '\"none\"'\n    },\n    hostDirectives: [Ripple]\n})\nexport class AccordionHeader extends BaseComponent {\n    pcAccordion = inject(forwardRef(() => Accordion));\n\n    pcAccordionPanel = inject(forwardRef(() => AccordionPanel));\n\n    id = computed(() => `${this.pcAccordion.id()}_accordionheader_${this.pcAccordionPanel.value()}`);\n\n    active = computed(() => this.pcAccordionPanel.active());\n\n    disabled = computed(() => this.pcAccordionPanel.disabled());\n\n    ariaControls = computed(() => `${this.pcAccordion.id()}_accordioncontent_${this.pcAccordionPanel.value()}`);\n    /**\n     * Toggle icon template.\n     * @type {TemplateRef<AccordionToggleIconTemplateContext>} context - Context of the template\n     * @example\n     * ```html\n     * <ng-template #toggleicon let-active=\"active\"> </ng-template>\n     * ```\n     * @see {@link AccordionToggleIconTemplateContext}\n     * @group Templates\n     */\n    @ContentChild('toggleicon') toggleicon: TemplateRef<AccordionToggleIconTemplateContext> | undefined;\n\n    @HostListener('click', ['$event']) onClick() {\n        this.changeActiveValue();\n    }\n\n    @HostListener('focus', ['$event']) onFocus() {\n        this.pcAccordion.selectOnFocus() && this.changeActiveValue();\n    }\n\n    @HostListener('keydown', ['$event']) onKeydown(event: KeyboardEvent) {\n        switch (event.code) {\n            case 'ArrowDown':\n                this.arrowDownKey(event);\n                break;\n            case 'ArrowUp':\n                this.arrowUpKey(event);\n                break;\n            case 'Home':\n                this.onHomeKey(event);\n                break;\n            case 'End':\n                this.onEndKey(event);\n                break;\n            case 'Enter':\n            case 'Space':\n            case 'NumpadEnter':\n                this.onEnterKey(event);\n                break;\n            default:\n                break;\n        }\n    }\n\n    changeActiveValue() {\n        this.pcAccordion.updateValue(this.pcAccordionPanel.value());\n    }\n\n    private findPanel(headerElement) {\n        return headerElement?.closest('[data-pc-name=\"accordionpanel\"]');\n    }\n\n    private findHeader(panelElement) {\n        return findSingle(panelElement, '[data-pc-name=\"accordionheader\"]');\n    }\n\n    private findNextPanel(panelElement, selfCheck = false) {\n        const element = selfCheck ? panelElement : panelElement.nextElementSibling;\n\n        return element ? (getAttribute(element, 'data-p-disabled') ? this.findNextPanel(element) : this.findHeader(element)) : null;\n    }\n\n    private findPrevPanel(panelElement, selfCheck = false) {\n        const element = selfCheck ? panelElement : panelElement.previousElementSibling;\n\n        return element ? (getAttribute(element, 'data-p-disabled') ? this.findPrevPanel(element) : this.findHeader(element)) : null;\n    }\n\n    private findFirstPanel() {\n        return this.findNextPanel(this.pcAccordion.el.nativeElement.firstElementChild, true);\n    }\n\n    private findLastPanel() {\n        return this.findPrevPanel(this.pcAccordion.el.nativeElement.lastElementChild, true);\n    }\n\n    private changeFocusedPanel(event, element) {\n        focus(element);\n    }\n\n    private arrowDownKey(event: KeyboardEvent) {\n        const nextPanel = this.findNextPanel(this.findPanel(event.currentTarget));\n        nextPanel ? this.changeFocusedPanel(event, nextPanel) : this.onHomeKey(event);\n        event.preventDefault();\n    }\n\n    private arrowUpKey(event: KeyboardEvent) {\n        const prevPanel = this.findPrevPanel(this.findPanel(event.currentTarget));\n\n        prevPanel ? this.changeFocusedPanel(event, prevPanel) : this.onEndKey(event);\n        event.preventDefault();\n    }\n\n    private onHomeKey(event: KeyboardEvent) {\n        const firstPanel = this.findFirstPanel();\n\n        this.changeFocusedPanel(event, firstPanel);\n        event.preventDefault();\n    }\n\n    private onEndKey(event: KeyboardEvent) {\n        const lastPanel = this.findLastPanel();\n\n        this.changeFocusedPanel(event, lastPanel);\n        event.preventDefault();\n    }\n\n    private onEnterKey(event: KeyboardEvent) {\n        this.changeActiveValue();\n        event.preventDefault();\n    }\n}\n\n@Component({\n    selector: 'p-accordion-content, p-accordioncontent',\n    imports: [CommonModule],\n    standalone: true,\n    template: ` <div class=\"p-accordioncontent-content\">\n        <ng-content />\n    </div>`,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        '[class.p-accordioncontent]': 'true',\n        '[attr.id]': 'id()',\n        '[attr.role]': '\"region\"',\n        '[attr.data-pc-name]': '\"accordioncontent\"',\n        '[attr.data-p-active]': 'active()',\n        '[attr.aria-labelledby]': 'ariaLabelledby()',\n        '[@content]': `active()\n            ? { value: 'visible', params: { transitionParams: pcAccordion.transitionOptions } }\n            : { value: 'hidden', params: { transitionParams: pcAccordion.transitionOptions } }`\n    },\n    animations: [\n        trigger('content', [\n            state(\n                'hidden',\n                style({\n                    height: '0',\n                    visibility: 'hidden'\n                })\n            ),\n            state(\n                'visible',\n                style({\n                    height: '*',\n                    visibility: 'visible'\n                })\n            ),\n            transition('visible <=> hidden', [animate('{{transitionParams}}')]),\n            transition('void => *', animate(0))\n        ])\n    ]\n})\nexport class AccordionContent extends BaseComponent {\n    pcAccordion = inject(forwardRef(() => Accordion));\n\n    pcAccordionPanel = inject(forwardRef(() => AccordionPanel));\n\n    active = computed(() => this.pcAccordionPanel.active());\n\n    ariaLabelledby = computed(() => `${this.pcAccordion.id()}_accordionheader_${this.pcAccordionPanel.value()}`);\n\n    id = computed(() => `${this.pcAccordion.id()}_accordioncontent_${this.pcAccordionPanel.value()}`);\n}\n\n/**\n * AccordionTab is a helper component for Accordion.\n * @deprecated Use AccordionPanel, AccordionHeader, AccordionContent instead.\n * @group Components\n */\n@Component({\n    selector: 'p-accordionTab, p-accordion-tab, p-accordiontab',\n    standalone: true,\n    imports: [CommonModule, ChevronDownIcon, ChevronUpIcon],\n    template: `\n        <button\n            class=\"p-accordionheader\"\n            type=\"button\"\n            [disabled]=\"disabled\"\n            [attr.aria-expanded]=\"selected\"\n            [attr.aria-level]=\"headerAriaLevel\"\n            [class.p-disabled]=\"disabled\"\n            [attr.data-p-disabled]=\"disabled\"\n            [attr.data-pc-section]=\"'accordionheader'\"\n            (click)=\"toggle($event)\"\n            (keydown)=\"onKeydown($event)\"\n            [ngClass]=\"headerStyleClass\"\n            [ngStyle]=\"headerStyle\"\n            [attr.tabindex]=\"disabled ? null : 0\"\n            [attr.id]=\"getTabHeaderActionId(id)\"\n            [attr.aria-controls]=\"getTabContentId(id)\"\n        >\n            @if (!headerTemplate && !_headerTemplate) {\n                {{ header }}\n            } @else {\n                @if (headerTemplate || _headerTemplate) {\n                    <ng-container *ngTemplateOutlet=\"headerTemplate || _headerTemplate\"></ng-container>\n                }\n                @if (headerFacet) {\n                    <ng-content select=\"p-header\" />\n                }\n            }\n            @if (iconTemplate || _iconTemplate) {\n                <ng-template *ngTemplateOutlet=\"iconTemplate || _iconTemplate; context: { $implicit: selected }\"></ng-template>\n            } @else {\n                <ng-container *ngIf=\"selected\">\n                    <span *ngIf=\"accordion.collapseIcon\" [class]=\"accordion.collapseIcon\" [ngClass]=\"iconClass\" [attr.aria-hidden]=\"true\"></span>\n                    <ChevronDownIcon *ngIf=\"!accordion.collapseIcon\" [ngClass]=\"iconClass\" [attr.aria-hidden]=\"true\" />\n                </ng-container>\n                <ng-container *ngIf=\"!selected\">\n                    <span *ngIf=\"accordion.expandIcon\" [class]=\"accordion.expandIcon\" [ngClass]=\"iconClass\" [attr.aria-hidden]=\"true\"></span>\n                    <ChevronUpIcon *ngIf=\"!accordion.expandIcon\" [ngClass]=\"iconClass\" [attr.aria-hidden]=\"true\" />\n                </ng-container>\n            }\n        </button>\n        <div\n            [attr.id]=\"getTabContentId(id)\"\n            class=\"p-accordioncontent\"\n            [@tabContent]=\"selected ? { value: 'visible', params: { transitionParams: transitionOptions } } : { value: 'hidden', params: { transitionParams: transitionOptions } }\"\n            role=\"region\"\n            [attr.aria-hidden]=\"!selected\"\n            [attr.aria-labelledby]=\"getTabHeaderActionId(id)\"\n            [attr.data-pc-section]=\"'toggleablecontent'\"\n        >\n            <div class=\"p-accordioncontent-content\" [ngClass]=\"contentStyleClass\" [ngStyle]=\"contentStyle\">\n                <ng-content />\n                <ng-container *ngIf=\"(contentTemplate || _contentTemplate) && (cache ? loaded : selected)\">\n                    <ng-container *ngTemplateOutlet=\"contentTemplate || _contentTemplate\"></ng-container>\n                </ng-container>\n            </div>\n        </div>\n    `,\n    animations: [\n        trigger('tabContent', [\n            state(\n                'hidden',\n                style({\n                    height: '0',\n                    visibility: 'hidden'\n                })\n            ),\n            state(\n                'visible',\n                style({\n                    height: '*',\n                    visibility: 'visible'\n                })\n            ),\n            transition('visible <=> hidden', [animate('{{transitionParams}}')]),\n            transition('void => *', animate(0))\n        ])\n    ],\n    host: {\n        '[class.p-accordionpanel]': 'true',\n        '[class.p-accordionpanel-active]': 'selected',\n        '[attr.data-pc-name]': '\"accordiontab\"'\n    },\n    providers: [AccordionStyle],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None\n})\nexport class AccordionTab extends BaseComponent implements AfterContentInit, OnDestroy {\n    @HostBinding('class') get hostClass() {\n        return this.tabStyleClass;\n    }\n    @HostBinding('style') get hostStyle() {\n        return this.tabStyle;\n    }\n    /**\n     * Current id state as a string.\n     * @group Props\n     */\n    @Input() id: string | undefined = uuid('pn_id_');\n    /**\n     * Used to define the header of the tab.\n     * @group Props\n     */\n    @Input() header: string | undefined;\n    /**\n     * Inline style of the tab header.\n     * @group Props\n     */\n    @Input() headerStyle: { [klass: string]: any } | null | undefined;\n    /**\n     * Inline style of the tab.\n     * @group Props\n     */\n    @Input() tabStyle: { [klass: string]: any } | null | undefined;\n    /**\n     * Inline style of the tab content.\n     * @group Props\n     */\n    @Input() contentStyle: { [klass: string]: any } | null | undefined;\n    /**\n     * Style class of the tab.\n     * @group Props\n     */\n    @Input() tabStyleClass: string | undefined;\n    /**\n     * Style class of the tab header.\n     * @group Props\n     */\n    @Input() headerStyleClass: string | undefined;\n    /**\n     * Style class of the tab content.\n     * @group Props\n     */\n    @Input() contentStyleClass: string | undefined;\n    /**\n     * Whether the tab is disabled.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n    /**\n     * Whether a lazy loaded panel should avoid getting loaded again on reselection.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) cache: boolean = true;\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     * Position of the icon.\n     * @group Props\n     */\n    @Input() iconPos: 'end' | 'start' = 'start';\n    /**\n     * The value that returns the selection.\n     * @group Props\n     */\n    @Input() get selected(): boolean {\n        return this._selected;\n    }\n    set selected(val: boolean) {\n        this._selected = val;\n\n        if (!this.loaded) {\n            if (this._selected && this.cache) {\n                this.loaded = true;\n            }\n\n            this.cd.detectChanges();\n        }\n    }\n    /**\n     * The aria-level that each accordion header will have. The default value is 2 as per W3C specifications\n     * @group Props\n     */\n    @Input({ transform: numberAttribute }) headerAriaLevel: number = 2;\n    /**\n     * Event triggered by changing the choice.\n     * @param {boolean} value - Boolean value indicates that the option is changed.\n     * @group Emits\n     */\n    @Output() selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n    @ContentChildren(Header) headerFacet!: QueryList<Header>;\n\n    private _selected: boolean = false;\n\n    get iconClass() {\n        if (this.iconPos === 'end') {\n            return 'p-accordionheader-toggle-icon icon-end';\n        } else {\n            return 'p-accordionheader-toggle-icon icon-start';\n        }\n    }\n    /**\n     * Content template for the content of the drawer.\n     * @group Templates\n     */\n    @ContentChild('header', { descendants: false }) headerTemplate: TemplateRef<any> | undefined;\n    /**\n     * Template for the header icon.\n     * @group Templates\n     */\n    @ContentChild('icon', { descendants: false }) iconTemplate: TemplateRef<any> | undefined;\n    /**\n     * Content template for the footer of the drawer.\n     * @group Templates\n     */\n    @ContentChild('content', { descendants: false }) contentTemplate: TemplateRef<any> | undefined;\n\n    @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n    _headerTemplate: TemplateRef<any>;\n\n    _iconTemplate: TemplateRef<any>;\n\n    _contentTemplate: TemplateRef<any>;\n\n    loaded: boolean = false;\n\n    accordion = inject(forwardRef(() => Accordion)) as Accordion;\n\n    _componentStyle = inject(AccordionStyle);\n\n    ngOnInit() {\n        super.ngOnInit();\n        console.log('AccordionTab is deprecated as of v18, please use the new structure instead.');\n    }\n\n    ngAfterContentInit() {\n        this.templates.forEach((item) => {\n            switch (item.getType()) {\n                case 'content':\n                    this._contentTemplate = item.template;\n                    break;\n\n                case 'header':\n                    this._headerTemplate = item.template;\n                    break;\n\n                case 'icon':\n                    this._iconTemplate = item.template;\n                    break;\n\n                default:\n                    this._contentTemplate = item.template;\n                    break;\n            }\n        });\n    }\n\n    toggle(event?: MouseEvent | KeyboardEvent) {\n        if (this.disabled) {\n            return false;\n        }\n\n        let index = this.findTabIndex();\n\n        if (this.selected) {\n            this.selected = false;\n            this.accordion.onClose.emit({ originalEvent: event, index: index });\n        } else {\n            if (!this.accordion.multiple()) {\n                for (var i = 0; i < this.accordion.tabs.length; i++) {\n                    if (this.accordion.tabs[i].selected) {\n                        this.accordion.tabs[i].selected = false;\n                        this.accordion.tabs[i].selectedChange.emit(false);\n                        this.accordion.tabs[i].cd.markForCheck();\n                    }\n                }\n            }\n\n            this.selected = true;\n            this.loaded = true;\n            this.accordion.onOpen.emit({ originalEvent: event, index: index });\n        }\n\n        this.selectedChange.emit(this.selected);\n        this.accordion.updateActiveIndex();\n        this.cd.markForCheck();\n\n        event?.preventDefault();\n    }\n\n    findTabIndex() {\n        let index = -1;\n        for (var i = 0; i < this.accordion.tabs.length; i++) {\n            if (this.accordion.tabs[i] == this) {\n                index = i;\n                break;\n            }\n        }\n        return index;\n    }\n\n    onKeydown(event: KeyboardEvent) {\n        switch (event.code) {\n            case 'Enter':\n            case 'Space':\n                this.toggle(event);\n                event.preventDefault();\n                break;\n            default:\n                break;\n        }\n    }\n\n    getTabHeaderActionId(tabId) {\n        return `${tabId}_header_action`;\n    }\n\n    getTabContentId(tabId) {\n        return `${tabId}_content`;\n    }\n\n    ngOnDestroy() {\n        this.accordion.tabs.splice(this.findTabIndex(), 1);\n\n        super.ngOnDestroy();\n    }\n}\n\n/**\n * Accordion groups a collection of contents in tabs.\n * @group Components\n */\n@Component({\n    selector: 'p-accordion',\n    standalone: true,\n    imports: [CommonModule, SharedModule],\n    template: ` <ng-content /> `,\n    host: {\n        '[class.p-accordion]': 'true',\n        '[class.p-component]': 'true'\n    },\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [AccordionStyle]\n})\nexport class Accordion extends BaseComponent implements BlockableUI, AfterContentInit, OnDestroy {\n    @HostBinding('class') get hostClass() {\n        return this.styleClass;\n    }\n\n    @HostBinding('style') get hostStyle() {\n        return this.style;\n    }\n    /**\n     * Value of the active tab.\n     * @defaultValue undefined\n     * @group Props\n     */\n    value = model<undefined | null | string | number | string[] | number[]>(undefined);\n    /**\n     * When enabled, multiple tabs can be activated at the same time.\n     * @defaultValue false\n     * @group Props\n     */\n    multiple = input(false, { transform: (v: any) => transformToBoolean(v) });\n    /**\n     * Inline style of the tab header and content.\n     * @group Props\n     */\n    @Input() style: { [klass: string]: any } | null | undefined;\n    /**\n     * Class of the element.\n     * @group Props\n     */\n    @Input() styleClass: string | undefined;\n    /**\n     * Icon of a collapsed tab.\n     * @group Props\n     */\n    @Input() expandIcon: string | undefined;\n    /**\n     * Icon of an expanded tab.\n     * @group Props\n     */\n    @Input() collapseIcon: string | undefined;\n    /**\n     * When enabled, the focused tab is activated.\n     * @defaultValue false\n     * @group Props\n     */\n    selectOnFocus = input(false, { transform: (v: any) => transformToBoolean(v) });\n    set activeIndex(val: number | number[] | null | undefined) {\n        this._activeIndex = val;\n        if (this.preventActiveIndexPropagation) {\n            this.preventActiveIndexPropagation = false;\n            return;\n        }\n\n        this.updateSelectionState();\n    }\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     * Returns the active index.\n     * @param {number | number[]} value - New index.\n     * @deprecated use native valueChange emitter of the value model.\n     * @group Emits\n     */\n    @Output() activeIndexChange: EventEmitter<number | number[]> = new EventEmitter<number | number[]>();\n\n    set headerAriaLevel(val: number) {\n        if (typeof val === 'number' && val > 0) {\n            this._headerAriaLevel = val;\n        } else if (this._headerAriaLevel !== 2) {\n            this._headerAriaLevel = 2;\n        }\n    }\n    /**\n     * Callback to invoke when an active tab is collapsed by clicking on the header.\n     * @param {AccordionTabCloseEvent} event - Custom tab close event.\n     * @group Emits\n     */\n    @Output() onClose: EventEmitter<AccordionTabCloseEvent> = new EventEmitter();\n    /**\n     * Callback to invoke when a tab gets expanded.\n     * @param {AccordionTabOpenEvent} event - Custom tab open event.\n     * @group Emits\n     */\n    @Output() onOpen: EventEmitter<AccordionTabOpenEvent> = new EventEmitter();\n\n    id = signal(uuid('pn_id_'));\n\n    @ContentChildren(AccordionTab, { descendants: true }) tabList: QueryList<AccordionTab> | undefined;\n\n    tabListSubscription: Subscription | null = null;\n\n    private _activeIndex: any;\n\n    private _headerAriaLevel: number = 2;\n\n    preventActiveIndexPropagation: boolean = false;\n\n    public tabs: AccordionTab[] = [];\n\n    _componentStyle = inject(AccordionStyle);\n\n    /**\n     * Index of the active tab or an array of indexes in multiple mode.\n     * @deprecated use value property with new architecture instead.\n     * @group Props\n     */\n    @Input() get activeIndex(): number | number[] | null | undefined {\n        return this._activeIndex;\n    }\n\n    /**\n     * The aria-level that each accordion header will have. The default value is 2 as per W3C specifications\n     * @deprecated use AccoridonHeader component and bind attribute to the host.\n     * @group Props\n     */\n    @Input() get headerAriaLevel(): number {\n        return this._headerAriaLevel;\n    }\n\n    @HostListener('keydown', ['$event'])\n    onKeydown(event) {\n        switch (event.code) {\n            case 'ArrowDown':\n                this.onTabArrowDownKey(event);\n                break;\n\n            case 'ArrowUp':\n                this.onTabArrowUpKey(event);\n                break;\n\n            case 'Home':\n                if (!event.shiftKey) {\n                    this.onTabHomeKey(event);\n                }\n                break;\n\n            case 'End':\n                if (!event.shiftKey) {\n                    this.onTabEndKey(event);\n                }\n                break;\n        }\n    }\n\n    onTabArrowDownKey(event) {\n        const nextHeaderAction = this.findNextHeaderAction(event.target.parentElement);\n        nextHeaderAction ? this.changeFocusedTab(nextHeaderAction) : this.onTabHomeKey(event);\n\n        event.preventDefault();\n    }\n\n    onTabArrowUpKey(event) {\n        const prevHeaderAction = this.findPrevHeaderAction(event.target.parentElement);\n        prevHeaderAction ? this.changeFocusedTab(prevHeaderAction) : this.onTabEndKey(event);\n\n        event.preventDefault();\n    }\n\n    onTabHomeKey(event) {\n        const firstHeaderAction = this.findFirstHeaderAction();\n        this.changeFocusedTab(firstHeaderAction);\n        event.preventDefault();\n    }\n\n    changeFocusedTab(element) {\n        if (element) {\n            focus(element);\n\n            if (this.selectOnFocus()) {\n                this.tabs.forEach((tab, i) => {\n                    let selected = this.multiple() ? this._activeIndex.includes(i) : i === this._activeIndex;\n\n                    if (this.multiple()) {\n                        if (!this._activeIndex) {\n                            this._activeIndex = [];\n                        }\n                        if (tab.id == element.id) {\n                            tab.selected = !tab.selected;\n                            if (!this._activeIndex.includes(i)) {\n                                this._activeIndex.push(i);\n                            } else {\n                                this._activeIndex = this._activeIndex.filter((ind) => ind !== i);\n                            }\n                        }\n                    } else {\n                        if (tab.id == element.id) {\n                            tab.selected = !tab.selected;\n                            this._activeIndex = i;\n                        } else {\n                            tab.selected = false;\n                        }\n                    }\n\n                    tab.selectedChange.emit(selected);\n                    this.activeIndexChange.emit(this._activeIndex);\n                    tab.cd.markForCheck();\n                });\n            }\n        }\n    }\n\n    findNextHeaderAction(tabElement, selfCheck = false) {\n        const nextTabElement = selfCheck ? tabElement : tabElement.nextElementSibling;\n        const headerElement = findSingle(nextTabElement, '[data-pc-section=\"accordionheader\"]');\n\n        return headerElement ? (getAttribute(headerElement, 'data-p-disabled') ? this.findNextHeaderAction(headerElement.parentElement) : findSingle(headerElement.parentElement, '[data-pc-section=\"accordionheader\"]')) : null;\n    }\n\n    findPrevHeaderAction(tabElement, selfCheck = false) {\n        const prevTabElement = selfCheck ? tabElement : tabElement.previousElementSibling;\n        const headerElement = findSingle(prevTabElement, '[data-pc-section=\"accordionheader\"]');\n\n        return headerElement ? (getAttribute(headerElement, 'data-p-disabled') ? this.findPrevHeaderAction(headerElement.parentElement) : findSingle(headerElement.parentElement, '[data-pc-section=\"accordionheader\"]')) : null;\n    }\n\n    findFirstHeaderAction() {\n        const firstEl = this.el.nativeElement.firstElementChild;\n        return this.findNextHeaderAction(firstEl, true);\n    }\n\n    findLastHeaderAction() {\n        const lastEl = this.el.nativeElement.lastElementChild;\n        return this.findPrevHeaderAction(lastEl, true);\n    }\n\n    onTabEndKey(event) {\n        const lastHeaderAction = this.findLastHeaderAction();\n        this.changeFocusedTab(lastHeaderAction);\n        event.preventDefault();\n    }\n\n    ngAfterContentInit() {\n        this.initTabs();\n\n        this.tabListSubscription = (this.tabList as QueryList<AccordionTab>).changes.subscribe((_) => {\n            this.initTabs();\n        });\n    }\n\n    initTabs() {\n        this.tabs = (this.tabList as QueryList<AccordionTab>).toArray();\n\n        this.tabs.forEach((tab) => {\n            tab.headerAriaLevel = this._headerAriaLevel;\n        });\n\n        this.updateSelectionState();\n        this.cd.markForCheck();\n    }\n\n    getBlockableElement(): HTMLElement {\n        return this.el.nativeElement.children[0];\n    }\n\n    updateSelectionState() {\n        if (this.tabs && this.tabs.length && this._activeIndex != null) {\n            for (let i = 0; i < this.tabs.length; i++) {\n                let selected = this.multiple() ? this._activeIndex.includes(i) : i === this._activeIndex;\n                let changed = selected !== this.tabs[i].selected;\n\n                if (changed) {\n                    this.tabs[i].selected = selected;\n                    this.tabs[i].selectedChange.emit(selected);\n                    this.tabs[i].cd.markForCheck();\n                }\n            }\n        }\n    }\n\n    isTabActive(index) {\n        return this.multiple() ? this._activeIndex && (<number[]>this._activeIndex).includes(index) : this._activeIndex === index;\n    }\n\n    getTabProp(tab, name) {\n        return tab.props ? tab.props[name] : undefined;\n    }\n\n    updateActiveIndex() {\n        let index: number | number[] | null = this.multiple() ? [] : null;\n        this.tabs.forEach((tab, i) => {\n            if (tab.selected) {\n                if (this.multiple()) {\n                    (index as number[]).push(i);\n                } else {\n                    index = i;\n                    return;\n                }\n            }\n        });\n        this.preventActiveIndexPropagation = true;\n        this._activeIndex = index;\n        this.activeIndexChange.emit(index as number[] | number);\n    }\n\n    updateValue(value: string | number) {\n        const currentValue = this.value();\n        if (this.multiple()) {\n            const newValue = Array.isArray(currentValue) ? [...currentValue] : [];\n            const index = newValue.indexOf(value);\n\n            if (index !== -1) {\n                newValue.splice(index, 1);\n            } else {\n                newValue.push(value);\n            }\n\n            this.value.set(newValue as typeof this.value extends (...args: any) => infer R ? R : never);\n        } else {\n            if (currentValue === value) {\n                this.value.set(undefined);\n            } else {\n                this.value.set(value);\n            }\n        }\n    }\n\n    ngOnDestroy() {\n        if (this.tabListSubscription) {\n            this.tabListSubscription.unsubscribe();\n        }\n\n        super.ngOnDestroy();\n    }\n}\n\n@NgModule({\n    imports: [Accordion, AccordionTab, SharedModule, AccordionPanel, AccordionHeader, AccordionContent],\n    exports: [Accordion, AccordionTab, SharedModule, AccordionPanel, AccordionHeader, AccordionContent]\n})\nexport class AccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}