{"version":3,"file":"primeng-fieldset.mjs","sources":["../../src/fieldset/style/fieldsetstyle.ts","../../src/fieldset/fieldset.ts","../../src/fieldset/primeng-fieldset.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/fieldset';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n    root: ({ instance }) => {\n        const toggleable = instance.toggleable();\n        const collapsed = instance.collapsed();\n        return [\n            'p-fieldset p-component',\n            {\n                'p-fieldset-toggleable': toggleable\n            }\n        ];\n    },\n    legend: 'p-fieldset-legend',\n    legendLabel: 'p-fieldset-legend-label',\n    toggleButton: 'p-fieldset-toggle-button',\n    toggleIcon: 'p-fieldset-toggle-icon',\n    contentContainer: 'p-fieldset-content-container',\n    contentWrapper: 'p-fieldset-content-wrapper',\n    content: 'p-fieldset-content'\n};\n\n@Injectable()\nexport class FieldsetStyle extends BaseStyle {\n    name = 'fieldset';\n\n    style = style;\n\n    classes = classes;\n}\n\n/**\n *\n * Fieldset is a grouping component with the optional content toggle feature.\n *\n * [Live Demo](https://www.primeng.org/fieldset/)\n *\n * @module fieldsetstyle\n *\n */\nexport enum FieldsetClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-fieldset',\n    /**\n     * Class name of the legend element\n     */\n    legend = 'p-fieldset-legend',\n    /**\n     * Class name of the legend label element\n     */\n    legendLabel = 'p-fieldset-legend-label',\n    /**\n     * Class name of the toggle icon element\n     */\n    toggleIcon = 'p-fieldset-toggle-icon',\n    /**\n     * Class name of the content container element\n     */\n    contentContainer = 'p-fieldset-content-container',\n    /**\n     * Class name of the content wrapper element\n     */\n    contentWrapper = 'p-fieldset-content-wrapper',\n    /**\n     * Class name of the content element\n     */\n    content = 'p-fieldset-content'\n}\n\nexport interface FieldsetStyle extends BaseStyle {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, ElementRef, inject, InjectionToken, input, model, NgModule, output, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\nimport { MotionEvent, MotionOptions } from '@primeuix/motion';\nimport { uuid } from '@primeuix/utils';\nimport { BlockableUI, SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { Minus as MinusIcon } from '@primeicons/angular/minus';\nimport { Plus as PlusIcon } from '@primeicons/angular/plus';\nimport { MotionModule } from 'primeng/motion';\nimport type { FieldsetAfterToggleEvent, FieldsetBeforeToggleEvent, FieldsetPassThrough, FieldsetToggleIconTemplateContext } from 'primeng/types/fieldset';\nimport type { CSSProperties } from 'primeng/types/shared';\nimport { FieldsetStyle } from './style/fieldsetstyle';\n\nconst FIELDSET_INSTANCE = new InjectionToken<Fieldset>('FIELDSET_INSTANCE');\n\n/**\n * Fieldset is a grouping component with the optional content toggle feature.\n * @group Components\n */\n@Component({\n    selector: 'p-fieldset',\n    standalone: true,\n    imports: [NgTemplateOutlet, MinusIcon, PlusIcon, SharedModule, BindModule, MotionModule],\n    template: `\n        <fieldset [attr.id]=\"id\" [style]=\"style()\" [class]=\"cn(cx('root'), styleClass())\" [pBind]=\"ptm('root')\" [attr.data-p]=\"dataP()\">\n            <legend [class]=\"cx('legend')\" [pBind]=\"ptm('legend')\" [attr.data-p]=\"dataP()\">\n                @if (toggleable()) {\n                    <button\n                        [attr.id]=\"headerId\"\n                        tabindex=\"0\"\n                        role=\"button\"\n                        [attr.aria-controls]=\"contentId\"\n                        [attr.aria-expanded]=\"!collapsed()\"\n                        [attr.aria-label]=\"buttonAriaLabel()\"\n                        (click)=\"toggle($event)\"\n                        (keydown)=\"onKeyDown($event)\"\n                        [class]=\"cx('toggleButton')\"\n                        [pBind]=\"ptm('toggleButton')\"\n                    >\n                        @if (toggleIconTemplate()) {\n                            <span [class]=\"cx('toggleIcon')\" [pBind]=\"ptm('toggleIcon')\">\n                                <ng-container *ngTemplateOutlet=\"toggleIconTemplate(); context: toggleIconContext()\"></ng-container>\n                            </span>\n                        } @else if (collapsed()) {\n                            @if (!expandIconTemplate()) {\n                                <svg data-p-icon=\"plus\" [class]=\"cx('toggleIcon')\" [pBind]=\"ptm('toggleIcon')\" />\n                            } @else {\n                                <span [class]=\"cx('toggleIcon')\" [pBind]=\"ptm('toggleIcon')\">\n                                    <ng-container *ngTemplateOutlet=\"expandIconTemplate()\"></ng-container>\n                                </span>\n                            }\n                        } @else {\n                            @if (!collapseIconTemplate()) {\n                                <svg data-p-icon=\"minus\" [class]=\"cx('toggleIcon')\" [attr.aria-hidden]=\"true\" [pBind]=\"ptm('toggleIcon')\" />\n                            } @else {\n                                <span [class]=\"cx('toggleIcon')\" [pBind]=\"ptm('toggleIcon')\">\n                                    <ng-container *ngTemplateOutlet=\"collapseIconTemplate()\"></ng-container>\n                                </span>\n                            }\n                        }\n                        <ng-container *ngTemplateOutlet=\"legendContent\"></ng-container>\n                    </button>\n                } @else {\n                    <ng-container *ngTemplateOutlet=\"legendContent\"></ng-container>\n                }\n                <ng-template #legendContent>\n                    <span [class]=\"cx('legendLabel')\" [pBind]=\"ptm('legendLabel')\">{{ legend() }}</span>\n                    <ng-content select=\"p-header\"></ng-content>\n                    <ng-container *ngTemplateOutlet=\"headerTemplate()\"></ng-container>\n                </ng-template>\n            </legend>\n            <div\n                [pBind]=\"ptm('contentContainer')\"\n                [pMotion]=\"isContentVisible()\"\n                pMotionName=\"p-collapsible\"\n                [pMotionOptions]=\"computedMotionOptions()\"\n                [class]=\"cx('contentContainer')\"\n                [id]=\"contentId\"\n                role=\"region\"\n                [attr.aria-labelledby]=\"headerId\"\n                [attr.aria-hidden]=\"collapsed()\"\n                [attr.tabindex]=\"contentTabindex()\"\n                (pMotionOnAfterEnter)=\"onToggleDone($event)\"\n                (pMotionOnAfterLeave)=\"onToggleDone($event)\"\n            >\n                <div [pBind]=\"ptm('contentWrapper')\" [class]=\"cx('contentWrapper')\">\n                    <div [class]=\"cx('content')\" [pBind]=\"ptm('content')\" #contentWrapper>\n                        <ng-content></ng-content>\n                        <ng-container *ngTemplateOutlet=\"contentTemplate()\"></ng-container>\n                    </div>\n                </div>\n            </div>\n        </fieldset>\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [FieldsetStyle, { provide: FIELDSET_INSTANCE, useExisting: Fieldset }, { provide: PARENT_INSTANCE, useExisting: Fieldset }],\n    hostDirectives: [Bind]\n})\nexport class Fieldset extends BaseComponent<FieldsetPassThrough> implements BlockableUI {\n    componentName = 'Fieldset';\n\n    $pcFieldset: Fieldset | undefined = inject(FIELDSET_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n    _componentStyle = inject(FieldsetStyle);\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n\n    /**\n     * Header text of the fieldset.\n     * @group Props\n     */\n    legend = input<string>();\n\n    /**\n     * When specified, content can toggled by clicking the legend.\n     * @group Props\n     * @defaultValue false\n     */\n    toggleable = input(false, { transform: booleanAttribute });\n\n    /**\n     * Defines the initial state of content, supports one or two-way binding as well.\n     * @group Props\n     */\n    collapsed = model(false);\n\n    /**\n     * Inline style of the component.\n     * @group Props\n     */\n    style = input<CSSProperties>();\n\n    /**\n     * Style class of the component.\n     * @group Props\n     */\n    styleClass = input<string>();\n\n    /**\n     * The motion options.\n     * @group Props\n     */\n    motionOptions = input<MotionOptions>();\n\n    /**\n     * Callback to invoke before panel toggle.\n     * @param {FieldsetBeforeToggleEvent} event - Custom toggle event\n     * @group Emits\n     */\n    onBeforeToggle = output<FieldsetBeforeToggleEvent>();\n\n    /**\n     * Callback to invoke after panel toggle.\n     * @param {FieldsetAfterToggleEvent} event - Custom toggle event\n     * @group Emits\n     */\n    onAfterToggle = output<FieldsetAfterToggleEvent>();\n\n    /**\n     * Custom header template.\n     * @group Templates\n     */\n    headerTemplate = contentChild<TemplateRef<void>>('header', { descendants: false });\n\n    /**\n     * Custom toggler icon template.\n     * @group Templates\n     */\n    toggleIconTemplate = contentChild<TemplateRef<FieldsetToggleIconTemplateContext>>('toggleicon', { descendants: false });\n\n    /**\n     * Custom expand icon template.\n     * @group Templates\n     */\n    expandIconTemplate = contentChild<TemplateRef<void>>('expandicon', { descendants: false });\n\n    /**\n     * Custom collapse icon template.\n     * @group Templates\n     */\n    collapseIconTemplate = contentChild<TemplateRef<void>>('collapseicon', { descendants: false });\n\n    /**\n     * Custom content template.\n     * @group Templates\n     */\n    contentTemplate = contentChild<TemplateRef<void>>('content', { descendants: false });\n\n    contentWrapperViewChild = viewChild<ElementRef>('contentWrapper');\n\n    private _id: string = uuid('pn_id_');\n\n    get id() {\n        return this._id;\n    }\n\n    get headerId() {\n        return this.id + '_header';\n    }\n\n    get contentId() {\n        return this.id + '_content';\n    }\n\n    buttonAriaLabel = computed(() => this.legend());\n\n    toggleIconContext = computed<FieldsetToggleIconTemplateContext>(() => ({ $implicit: this.collapsed(), collapsed: this.collapsed() }));\n\n    dataP = computed(() => this.cn({ toggleable: this.toggleable() }));\n\n    contentTabindex = computed(() => (this.collapsed() ? '-1' : undefined));\n\n    isContentVisible = computed(() => !this.toggleable() || (this.toggleable() && !this.collapsed()));\n\n    computedMotionOptions = computed<MotionOptions>(() => {\n        return {\n            ...this.ptm('motion'),\n            ...this.motionOptions()\n        };\n    });\n\n    onAfterViewChecked(): void {\n        this.bindDirectiveInstance.setAttrs(this.ptm('host'));\n    }\n\n    toggle(event: MouseEvent) {\n        this.onBeforeToggle.emit({ originalEvent: event, collapsed: this.collapsed() });\n\n        if (this.collapsed()) this.expand();\n        else this.collapse();\n\n        event.preventDefault();\n    }\n\n    onKeyDown(event: KeyboardEvent) {\n        if (event.code === 'Enter' || event.code === 'Space') {\n            this.toggle(event as any);\n            event.preventDefault();\n        }\n    }\n\n    expand() {\n        this.collapsed.set(false);\n        this.updateTabIndex();\n    }\n\n    collapse() {\n        this.collapsed.set(true);\n        this.updateTabIndex();\n    }\n\n    getBlockableElement(): HTMLElement {\n        return this.el.nativeElement.children[0];\n    }\n\n    updateTabIndex() {\n        const contentWrapper = this.contentWrapperViewChild();\n        if (contentWrapper) {\n            const focusableElements = contentWrapper.nativeElement.querySelectorAll('input, button, select, a, textarea, [tabindex]');\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    onToggleDone(event: MotionEvent) {\n        this.onAfterToggle.emit({ originalEvent: event as any, collapsed: this.collapsed() });\n    }\n}\n\n@NgModule({\n    imports: [Fieldset, SharedModule, BindModule],\n    exports: [Fieldset, SharedModule, BindModule]\n})\nexport class FieldsetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["MinusIcon","PlusIcon"],"mappings":"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"}