{"version":3,"file":"taiga-ui-kit-components-accordion.mjs","sources":["../../../projects/kit/components/accordion/accordion.directive.ts","../../../projects/kit/components/accordion/accordion.component.ts","../../../projects/kit/components/accordion/accordion.ts","../../../projects/kit/components/accordion/taiga-ui-kit-components-accordion.ts"],"sourcesContent":["import {Directive, inject, model, type OnChanges} from '@angular/core';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/di';\nimport {tuiGenerateId} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiButton, tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {tuiAvatarOptionsProvider} from '@taiga-ui/kit/components/avatar';\nimport {TuiChevron} from '@taiga-ui/kit/directives/chevron';\n\nimport {TuiAccordionComponent} from './accordion.component';\n\n@Directive({\n    selector: 'button[tuiAccordion]',\n    providers: [\n        tuiAvatarOptionsProvider({size: 's'}),\n        tuiButtonOptionsProvider({appearance: 'outline-grayscale'}),\n    ],\n    hostDirectives: [TuiButton, TuiChevron],\n    host: {\n        tuiAccordion: '',\n        tuiButton: '',\n        type: 'button',\n        '[attr.aria-controls]': 'id',\n        '[attr.aria-expanded]': 'open() || \"false\"',\n        '(click)': 'toggle()',\n    },\n})\nexport class TuiAccordionDirective implements OnChanges {\n    private readonly accordion = inject(TuiAccordionComponent);\n    public readonly open = model<boolean | ''>(false, {alias: 'tuiAccordion'});\n    public readonly id = tuiGenerateId();\n    public readonly size = tuiDirectiveBinding(TuiButton, 'size', this.accordion.size);\n    public readonly chevron = tuiDirectiveBinding(TuiChevron, 'rotated', this.open);\n\n    public ngOnChanges(): void {\n        this.accordion.toggle(this);\n    }\n\n    public toggle(): void {\n        this.open.set(!this.open());\n        this.accordion.toggle(this);\n    }\n}\n","import {\n    ChangeDetectionStrategy,\n    Component,\n    contentChildren,\n    effect,\n    ElementRef,\n    input,\n    ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiExpand} from '@taiga-ui/core/components/expand';\nimport {TuiGroup, tuiGroupOptionsProvider} from '@taiga-ui/core/directives/group';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nimport {TuiAccordionDirective} from './accordion.directive';\n\n@Component({\n    selector: 'tui-accordion',\n    template: '<ng-content />',\n    styles: `\n        [data-tui-version='${TUI_VERSION}'] {\n            @import './accordion.style.less';\n        }\n    `,\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [tuiGroupOptionsProvider({orientation: 'vertical', collapsed: true})],\n    hostDirectives: [TuiGroup],\n    host: {\n        'data-tui-version': TUI_VERSION,\n        '[attr.data-size]': 'size()',\n    },\n})\nexport class TuiAccordionComponent {\n    protected readonly expands = contentChildren(TuiExpand);\n    protected readonly directives = contentChildren(TuiAccordionDirective);\n    protected readonly elements = contentChildren(TuiExpand, {read: ElementRef});\n\n    protected readonly sync = effect(() =>\n        this.elements().forEach(({nativeElement}, index) => {\n            nativeElement.id = this.directives()[index]?.id;\n        }),\n    );\n\n    public readonly closeOthers = input(true);\n    public readonly size = input<TuiSizeL | TuiSizeS>('l');\n\n    public toggle(directive: TuiAccordionDirective): void {\n        if (this.closeOthers() && directive.open()) {\n            this.expands().forEach((expand) => tuiSetSignal(expand.expanded, false));\n            this.directives().forEach((dir) => {\n                if (dir !== directive) {\n                    dir.open.set(false);\n                }\n            });\n        }\n\n        const expand = this.expands()[this.directives().indexOf(directive)];\n\n        if (expand) {\n            tuiSetSignal(expand.expanded, !!directive.open());\n        }\n    }\n}\n","import {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {TuiExpand} from '@taiga-ui/core/components/expand';\n\nimport {TuiAccordionComponent} from './accordion.component';\nimport {TuiAccordionDirective} from './accordion.directive';\n\nexport const TuiAccordion = [\n    TuiAccordionComponent,\n    TuiAccordionDirective,\n    TuiExpand,\n    TuiItem,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}