{"version":3,"file":"koobiq-components-accordion.mjs","sources":["../../../packages/components/accordion/accordion.component.ts","../../../packages/components/accordion/accordion-trigger.directive.ts","../../../packages/components/accordion/accordion-trigger.component.ts","../../../packages/components/accordion/accordion-item.ts","../../../packages/components/accordion/accordion-content.directive.ts","../../../packages/components/accordion/accordion-content.ts","../../../packages/components/accordion/accordion-header.directive.ts","../../../packages/components/accordion/accordion-header.ts","../../../packages/components/accordion/accordion.module.ts","../../../packages/components/accordion/koobiq-components-accordion.ts"],"sourcesContent":["import { FocusKeyManager, FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport { ENTER, SPACE, TAB } from '@angular/cdk/keycodes';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n    AfterContentInit,\n    AfterViewInit,\n    booleanAttribute,\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    ContentChildren,\n    ElementRef,\n    EventEmitter,\n    forwardRef,\n    HostAttributeToken,\n    inject,\n    Input,\n    OnDestroy,\n    Output,\n    QueryList,\n    ViewEncapsulation\n} from '@angular/core';\nimport { KBQ_WINDOW } from '@koobiq/components/core';\nimport { merge, Subject, Subscription } from 'rxjs';\nimport { KbqAccordionItem } from './accordion-item';\n\nexport enum KbqAccordionVariant {\n    fill = 'fill',\n    hug = 'hug',\n    hugSpaceBetween = 'hugSpaceBetween'\n}\n\nexport type KbqAccordionType = 'single' | 'multiple';\nexport type KbqAccordionOrientation = 'horizontal' | 'vertical';\n\nlet uniqueIdCounter: number = 0;\n\ninterface KbqAccordionState {\n    [itemId: string]: {\n        expanded: boolean;\n        value: string;\n    };\n}\n\n@Component({\n    selector: 'kbq-accordion, [kbq-accordion]',\n    template: '<ng-content />',\n    styleUrls: ['accordion.component.scss', 'accordion-tokens.scss'],\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: {\n        class: 'kbq-accordion',\n        '[attr.data-orientation]': 'orientation',\n        '(keydown)': 'keydownHandler($event)'\n    },\n    providers: [\n        { provide: UniqueSelectionDispatcher, useClass: UniqueSelectionDispatcher }\n    ]\n})\nexport class KbqAccordion implements OnDestroy, AfterViewInit, AfterContentInit {\n    private readonly isBrowser = inject(Platform).isBrowser;\n    private readonly localStorage = inject(KBQ_WINDOW)?.localStorage;\n    /** @docs-private */\n    protected readonly focusMonitor = inject(FocusMonitor);\n    /** @docs-private */\n    protected readonly elementRef = inject(ElementRef);\n    /** @docs-private */\n    protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n    /** @docs-private */\n    protected readonly selectionDispatcher = inject(UniqueSelectionDispatcher);\n    /** @docs-private */\n    protected readonly dir = inject(Directionality, { optional: true });\n    /** @docs-private */\n    protected keyManager: FocusKeyManager<KbqAccordionItem>;\n    /** @docs-private */\n    readonly openCloseAllActions = new Subject<boolean>();\n\n    /**  @docs-private */\n    @ContentChildren(forwardRef(() => KbqAccordionItem), { descendants: true })\n    items: QueryList<KbqAccordionItem>;\n\n    /** Specifies whether the accordion saves its states. Default is false */\n    useStateSaving: boolean = inject(new HostAttributeToken('useStateSaving'), { optional: true }) !== null;\n\n    @Input() variant: KbqAccordionVariant | string = KbqAccordionVariant.fill;\n\n    /** Whether the Accordion is disabled. */\n    @Input({ transform: booleanAttribute }) disabled: boolean;\n\n    /** The orientation of the accordion. */\n    @Input() orientation: KbqAccordionOrientation = 'vertical';\n\n    /**\n     * The value of the item to expand when initially rendered and type is \"single\". Use when you do not need to control the state of the items.\n     */\n    @Input()\n    get defaultValue(): string[] | string {\n        return this.isMultiple ? this._defaultValue : this._defaultValue[0];\n    }\n\n    set defaultValue(value: string[] | string) {\n        if (value !== this._defaultValue) {\n            this._defaultValue = Array.isArray(value) ? value : [value];\n        }\n    }\n\n    /** Determines whether one or multiple items can be opened at the same time. */\n    @Input() type: KbqAccordionType = 'single';\n\n    @Input() collapsible = true;\n\n    /** The controlled value of the item to expand */\n    @Input()\n    get value(): string[] | string {\n        if (this._value === undefined) {\n            return this.defaultValue;\n        }\n\n        return this.isMultiple ? this._value : this._value[0];\n    }\n\n    set value(value: string[] | string) {\n        if (value !== this._value) {\n            this._value = Array.isArray(value) ? value : [value];\n\n            this.selectionDispatcher.notify(this.value as unknown as string, this.id);\n        }\n    }\n\n    @Output() readonly onValueChange: EventEmitter<void> = new EventEmitter<void>();\n\n    get id(): string {\n        return this._id;\n    }\n\n    get isMultiple(): boolean {\n        return this.type === 'multiple';\n    }\n\n    get hasSavedState(): boolean {\n        return typeof this.state === 'object' && this.state !== null;\n    }\n\n    private _value?: string[];\n    private _defaultValue: string[] | string = [];\n\n    private onValueChangeSubscription: Subscription;\n\n    private _id = `kbq-accordion-${uniqueIdCounter++}`;\n\n    private state: KbqAccordionState | null;\n\n    constructor() {\n        if (this.useStateSaving) {\n            this.getSavedState();\n        }\n    }\n\n    ngAfterContentInit(): void {\n        if (this._value) {\n            this.selectionDispatcher.notify(this._value as unknown as string, this.id);\n        } else if (this.useStateSaving && this.hasSavedState) {\n            Object.keys(this.state!).forEach((key: string) => {\n                if (this.state && this.state[key].expanded) {\n                    this.selectionDispatcher.notify(this.state[key].value as unknown as string, this.id);\n                }\n            });\n        } else {\n            this.selectionDispatcher.notify(this._defaultValue as string, this.id);\n        }\n\n        this.keyManager = new FocusKeyManager(this.items).withHomeAndEnd();\n\n        if (this.orientation === 'horizontal') {\n            this.keyManager.withHorizontalOrientation(this.dir?.value || 'ltr');\n        } else {\n            this.keyManager.withVerticalOrientation();\n        }\n\n        this.onValueChangeSubscription = merge(...this.items.map((item) => item.expandedChange)).subscribe(() =>\n            this.onValueChange.emit()\n        );\n    }\n\n    ngAfterViewInit(): void {\n        this.focusMonitor.monitor(this.elementRef, true);\n    }\n\n    ngOnDestroy(): void {\n        this.focusMonitor.stopMonitoring(this.elementRef);\n        this.openCloseAllActions.complete();\n        this.onValueChangeSubscription.unsubscribe();\n    }\n\n    /** @docs-private */\n    keydownHandler(event: KeyboardEvent) {\n        if (!this.keyManager.activeItem) {\n            this.keyManager.setFirstItemActive();\n        }\n\n        const activeItem = this.keyManager.activeItem;\n\n        if (\n            (event.keyCode === ENTER || event.keyCode === SPACE) &&\n            !this.keyManager.isTyping() &&\n            activeItem &&\n            !activeItem.disabled\n        ) {\n            event.preventDefault();\n            activeItem.toggle();\n        } else if (event.keyCode === TAB && event.shiftKey) {\n            if (this.keyManager.activeItemIndex === 0) return;\n\n            this.keyManager.setPreviousItemActive();\n            event.preventDefault();\n        } else if (event.keyCode === TAB) {\n            if (this.keyManager.activeItemIndex === this.items.length - 1) return;\n\n            this.keyManager.setNextItemActive();\n            event.preventDefault();\n        } else {\n            this.keyManager.onKeydown(event);\n        }\n    }\n\n    /** Opens all enabled accordion items in an accordion where multi is enabled. */\n    openAll(): void {\n        if (this.isMultiple) {\n            this.openCloseAllActions.next(true);\n        }\n    }\n\n    /** Closes all enabled accordion items. */\n    closeAll(): void {\n        this.openCloseAllActions.next(false);\n    }\n\n    /** @docs-private */\n    setActiveItem(item: KbqAccordionItem) {\n        this.keyManager.setActiveItem(item);\n    }\n\n    /** @docs-private */\n    saveItemState(item: KbqAccordionItem, force: boolean = true): void {\n        if (!this.isBrowser || (!force && !!this.state && !!this.state[item.id])) return;\n\n        this.state = this.state || {};\n\n        this.state[item.id] = item.getState();\n\n        this.localStorage.setItem(this.id, JSON.stringify(this.state));\n    }\n\n    private getSavedState() {\n        if (!this.isBrowser) return;\n\n        this.state = JSON.parse(this.localStorage.getItem(this.id) as string);\n    }\n}\n","import { Directive, inject } from '@angular/core';\nimport { kbqInjectNativeElement } from '@koobiq/components/core';\nimport { KbqAccordionItem } from './accordion-item';\nimport { KbqAccordion } from './accordion.component';\n\n@Directive({\n    selector: '[kbqAccordionTrigger]',\n    host: {\n        '[attr.id]': 'triggerId',\n        '[attr.role]': '\"button\"',\n        '[attr.aria-expanded]': 'item.expanded',\n        '[attr.aria-controls]': 'contentId',\n        '[attr.aria-disabled]': 'item.disabled',\n        '[attr.data-state]': 'item.dataState',\n        '[attr.data-disabled]': 'item.disabled',\n        '[attr.data-orientation]': 'item.orientation',\n        '(click)': 'onClick()'\n    }\n})\nexport class KbqAccordionTriggerDirective {\n    /** @docs-private */\n    protected readonly nativeElement = kbqInjectNativeElement();\n    /** @docs-private */\n    protected readonly accordion = inject(KbqAccordion);\n    /** @docs-private */\n    protected readonly item = inject(KbqAccordionItem);\n\n    /** @docs-private */\n    get triggerId(): string {\n        return `${this.item.id}-trigger`;\n    }\n\n    /** @docs-private */\n    get contentId(): string {\n        return `${this.item.id}-content`;\n    }\n\n    /** Fires when trigger clicked */\n    onClick(): void {\n        if (!this.accordion.collapsible && this.item.expanded) return;\n\n        this.item.toggle();\n\n        this.accordion.setActiveItem(this.item);\n    }\n\n    /** @docs-private */\n    focus() {\n        this.nativeElement.focus();\n    }\n}\n","import {\n    afterNextRender,\n    AfterRenderRef,\n    AfterViewInit,\n    Component,\n    inject,\n    ViewChild,\n    ViewEncapsulation\n} from '@angular/core';\nimport { kbqInjectNativeElement } from '@koobiq/components/core';\nimport { KbqIcon } from '@koobiq/components/icon';\nimport { KbqAccordionTriggerDirective } from './accordion-trigger.directive';\nimport { KbqAccordion, KbqAccordionVariant } from './accordion.component';\n\n@Component({\n    selector: 'kbq-accordion-trigger, [kbq-accordion-trigger]',\n    imports: [KbqIcon],\n    template: `\n        <i\n            kbq-icon=\"{{ isHugSpaceBetween ? 'kbq-chevron-down-s_16' : 'kbq-chevron-right-s_16' }}\"\n            class=\"kbq-accordion-trigger__icon\"\n        ></i>\n\n        <ng-content />\n    `,\n    styleUrls: ['accordion-trigger.component.scss', 'accordion-tokens.scss'],\n    encapsulation: ViewEncapsulation.None,\n    hostDirectives: [KbqAccordionTriggerDirective],\n    host: {\n        class: 'kbq-accordion-trigger',\n        '[class.kbq-accordion-trigger_fill]': 'isFill',\n        '[class.kbq-accordion-trigger_hug]': 'isHug',\n        '[class.kbq-accordion-trigger_hug-space-between]': 'isHugSpaceBetween'\n    }\n})\nexport class KbqAccordionTrigger implements AfterViewInit {\n    /** @docs-private */\n    protected readonly nativeElement = kbqInjectNativeElement();\n    /** @docs-private */\n    protected readonly accordion: KbqAccordion = inject(KbqAccordion);\n\n    /** @docs-private */\n    @ViewChild(KbqIcon) icon: KbqIcon;\n\n    private savedTransition: string;\n    private readonly afterRenderRef?: AfterRenderRef;\n\n    get isFill(): boolean {\n        return this.accordion.variant === KbqAccordionVariant.fill;\n    }\n\n    get isHug(): boolean {\n        return this.accordion.variant === KbqAccordionVariant.hug;\n    }\n\n    get isHugSpaceBetween(): boolean {\n        return this.accordion.variant === KbqAccordionVariant.hugSpaceBetween;\n    }\n\n    constructor() {\n        this.afterRenderRef = afterNextRender(() => {\n            setTimeout(() => this.enableAnimation());\n\n            this.afterRenderRef?.destroy();\n        });\n    }\n\n    ngAfterViewInit(): void {\n        this.disableAnimation();\n    }\n\n    disableAnimation() {\n        this.savedTransition = this.icon.elementRef.nativeElement.style.transition;\n\n        this.icon.getHostElement().style.transition = 'none';\n    }\n\n    enableAnimation() {\n        this.icon.getHostElement().style.transition = this.savedTransition;\n    }\n}\n","import { UniqueSelectionDispatcher } from '@angular/cdk/collections';\nimport {\n    booleanAttribute,\n    ChangeDetectorRef,\n    ContentChild,\n    Directive,\n    EventEmitter,\n    forwardRef,\n    inject,\n    Input,\n    OnDestroy,\n    Output\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { KbqAccordionContentDirective } from './accordion-content.directive';\nimport { KbqAccordionTrigger } from './accordion-trigger.component';\nimport { KbqAccordionTriggerDirective } from './accordion-trigger.directive';\nimport { KbqAccordion, KbqAccordionOrientation } from './accordion.component';\n\nlet uniqueIdCounter: number = 0;\n\n/** @deprecated Use KbqAccordionItemState instead. */\nexport type RdxAccordionItemState = 'open' | 'closed';\n\nexport type KbqAccordionItemState = 'open' | 'closed';\n\n@Directive({\n    selector: 'kbq-accordion-item, [kbq-accordion-item]',\n    host: {\n        class: 'kbq-accordion-item',\n        '[attr.data-state]': 'dataState',\n        '[attr.data-disabled]': 'disabled',\n        '[attr.data-orientation]': 'orientation'\n    }\n})\nexport class KbqAccordionItem implements OnDestroy {\n    /** @docs-private */\n    protected readonly accordion = inject(KbqAccordion);\n    /** @docs-private */\n    protected readonly changeDetectorRef = inject(ChangeDetectorRef);\n    /** @docs-private */\n    protected readonly expansionDispatcher = inject(UniqueSelectionDispatcher);\n\n    /** @docs-private */\n    @ContentChild(KbqAccordionTriggerDirective, { descendants: true }) trigger: KbqAccordionTriggerDirective;\n    /** @docs-private */\n    @ContentChild(KbqAccordionTrigger, { descendants: true }) triggerComponent: KbqAccordionTrigger;\n\n    /** @docs-private */\n    @ContentChild(forwardRef(() => KbqAccordionContentDirective), { descendants: true })\n    content: KbqAccordionContentDirective;\n\n    /** The unique AccordionItem id. */\n    get id(): string {\n        return this._id;\n    }\n\n    private _id = `kbq-accordion-item-${uniqueIdCounter++}`;\n\n    get dataState(): KbqAccordionItemState {\n        return this.expanded ? 'open' : 'closed';\n    }\n\n    get orientation(): KbqAccordionOrientation {\n        return this.accordion.orientation;\n    }\n\n    /** Whether the AccordionItem is expanded. */\n    @Input({ transform: booleanAttribute })\n    get expanded(): boolean {\n        return this._expanded;\n    }\n\n    set expanded(expanded: boolean) {\n        // Only emit events and update the internal value if the value changes.\n        if (this._expanded !== expanded) {\n            this._expanded = expanded;\n            this.expandedChange.emit(expanded);\n\n            if (expanded) {\n                this.opened.emit();\n                /**\n                 * In the unique selection dispatcher, the id parameter is the id of the KbqAccordionItem,\n                 * the name value is the id of the accordion.\n                 */\n                const accordionId = this.accordion ? this.accordion.id : this.value;\n\n                this.expansionDispatcher.notify(this.value, accordionId);\n            } else {\n                this.closed.emit();\n            }\n\n            this.content.toggle();\n\n            this.accordion.saveItemState(this);\n\n            // Ensures that the animation will run when the value is set outside of an `@Input`.\n            // This includes cases like the open, close and toggle methods.\n            this.changeDetectorRef.markForCheck();\n        }\n    }\n\n    private _expanded = false;\n\n    @Input()\n    set value(value: string) {\n        this._value = value;\n    }\n\n    get value(): string {\n        return this._value || this.id;\n    }\n\n    private _value?: string;\n\n    /** Whether the AccordionItem is disabled. */\n    @Input({ transform: booleanAttribute })\n    get disabled(): boolean {\n        return this.accordion.disabled ?? this._disabled;\n    }\n\n    set disabled(value: boolean) {\n        this._disabled = value;\n    }\n\n    private _disabled = false;\n\n    /** Event emitted every time the AccordionItem is closed. */\n    @Output() readonly closed: EventEmitter<void> = new EventEmitter<void>();\n    /** Event emitted every time the AccordionItem is opened. */\n    @Output() readonly opened: EventEmitter<void> = new EventEmitter<void>();\n\n    /**\n     * Event emitted when the AccordionItem is destroyed.\n     * @docs-private\n     */\n    readonly destroyed: EventEmitter<void> = new EventEmitter<void>();\n\n    /**\n     * Emits whenever the expanded state of the accordion changes.\n     * Primarily used to facilitate two-way binding.\n     * @docs-private\n     */\n    @Output() readonly expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n    /** Unregister function for expansionDispatcher. */\n    private removeUniqueSelectionListener: () => void;\n\n    /** Subscription to openAll/closeAll events. */\n    private openCloseAllSubscription = Subscription.EMPTY;\n\n    constructor() {\n        this.removeUniqueSelectionListener = this.expansionDispatcher.listen((id: string, accordionId: string) => {\n            if (this.accordion.isMultiple) {\n                if (this.accordion.id === accordionId && id.includes(this.value)) {\n                    this.expanded = true;\n                }\n            } else {\n                this.expanded = this.accordion.id === accordionId && id.includes(this.value);\n            }\n        });\n\n        // When an accordion item is hosted in an accordion, subscribe to open/close events.\n        if (this.accordion) {\n            this.openCloseAllSubscription = this.subscribeToOpenCloseAllActions();\n        }\n\n        this.accordion.saveItemState(this, false);\n    }\n\n    /** Emits an event for the accordion item being destroyed. */\n    ngOnDestroy() {\n        this.opened.complete();\n        this.closed.complete();\n        this.destroyed.emit();\n        this.destroyed.complete();\n        this.removeUniqueSelectionListener();\n        this.openCloseAllSubscription.unsubscribe();\n    }\n\n    focus(): void {\n        this.trigger.focus();\n    }\n\n    /** Toggles the expanded state of the accordion item. */\n    toggle(): void {\n        if (!this.disabled) {\n            this.expanded = !this.expanded;\n        }\n    }\n\n    /** Sets the expanded state of the accordion item to false. */\n    close(): void {\n        if (!this.disabled) {\n            this.expanded = false;\n        }\n    }\n\n    /** Sets the expanded state of the accordion item to true. */\n    open(): void {\n        if (!this.disabled) {\n            this.expanded = true;\n        }\n    }\n\n    getState(): any {\n        return {\n            expanded: this.expanded,\n            value: this.value\n        };\n    }\n\n    disableAnimation() {\n        this.content.disableAnimation();\n        this.triggerComponent.disableAnimation();\n    }\n\n    enableAnimation() {\n        this.content.enableAnimation();\n        this.triggerComponent.enableAnimation();\n    }\n\n    private subscribeToOpenCloseAllActions(): Subscription {\n        return this.accordion.openCloseAllActions.subscribe((expanded) => {\n            // Only change expanded state if item is enabled\n            if (!this.disabled) {\n                this.expanded = expanded;\n            }\n        });\n    }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport {\n    AfterContentInit,\n    afterNextRender,\n    AfterRenderRef,\n    AfterViewInit,\n    Directive,\n    inject,\n    Renderer2,\n    signal\n} from '@angular/core';\nimport { kbqInjectNativeElement } from '@koobiq/components/core';\nimport { KbqAccordionItem } from './accordion-item';\n\n@Directive({\n    selector: '[kbqAccordionContent]',\n    exportAs: 'kbqAccordionContent',\n    host: {\n        '[attr.id]': 'contentId',\n        '[attr.role]': '\"region\"',\n        '[attr.hidden]': 'hidden() ? \"\" : null',\n        '[attr.aria-labelledby]': 'triggerId',\n\n        '[attr.data-state]': 'item.dataState',\n        '[attr.data-disabled]': 'item.disabled',\n        '[attr.data-orientation]': 'item.orientation',\n\n        '(transitionend)': 'toggle()'\n    }\n})\nexport class KbqAccordionContentDirective implements AfterContentInit, AfterViewInit {\n    private readonly renderer: Renderer2 = inject(Renderer2);\n    private readonly platform = inject(Platform);\n\n    /** @docs-private */\n    protected readonly nativeElement = kbqInjectNativeElement();\n    /** @docs-private */\n    protected readonly item = inject(KbqAccordionItem);\n\n    /** @docs-private */\n    get contentId(): string {\n        return `${this.item.id}-content`;\n    }\n\n    /** @docs-private */\n    get triggerId(): string {\n        return `${this.item.id}-trigger`;\n    }\n\n    /** @docs-private */\n    protected readonly hidden = signal<boolean>(true);\n\n    private savedTransition: string;\n    private readonly afterRenderRef?: AfterRenderRef;\n\n    constructor() {\n        this.afterRenderRef = afterNextRender(() => {\n            this.enableAnimation();\n\n            this.afterRenderRef?.destroy();\n        });\n    }\n\n    ngAfterViewInit(): void {\n        this.disableAnimation();\n    }\n\n    ngAfterContentInit(): void {\n        if (!this.platform.isBrowser) return;\n\n        const { height, width } = this.nativeElement.getBoundingClientRect();\n\n        this.renderer.setProperty(\n            this.nativeElement,\n            'style',\n            `\n            --radix-accordion-content-height: ${height}px;\n            --radix-accordion-content-width: ${width}px;\n        `\n        );\n    }\n\n    toggle() {\n        this.hidden.set(!this.item.expanded);\n    }\n\n    disableAnimation() {\n        this.savedTransition = this.nativeElement.style.transition;\n\n        this.nativeElement.style.transition = 'none';\n    }\n\n    enableAnimation() {\n        this.nativeElement.style.transition = this.savedTransition;\n    }\n}\n","import { Component } from '@angular/core';\nimport { KbqAccordionContentDirective } from './accordion-content.directive';\n\n@Component({\n    selector: 'kbq-accordion-content, [kbq-accordion-content]',\n    hostDirectives: [KbqAccordionContentDirective],\n    template: `\n        <p><ng-content /></p>\n    `,\n    host: {\n        class: 'kbq-accordion-content'\n    }\n})\nexport class KbqAccordionContent {}\n","import { Directive, inject } from '@angular/core';\nimport { KbqAccordionItem } from './accordion-item';\n\n@Directive({\n    selector: '[kbqAccordionHeader]',\n    host: {\n        '[attr.role]': '\"heading\"',\n        '[attr.aria-level]': '2',\n        '[attr.data-state]': 'item.dataState',\n        '[attr.data-disabled]': 'item.disabled',\n        '[attr.data-orientation]': 'item.orientation'\n    }\n})\nexport class KbqAccordionHeaderDirective {\n    protected readonly item = inject(KbqAccordionItem);\n}\n","import { Directive } from '@angular/core';\nimport { KbqAccordionHeaderDirective } from './accordion-header.directive';\n\n@Directive({\n    selector: 'kbq-accordion-header, [kbq-accordion-header]',\n    hostDirectives: [KbqAccordionHeaderDirective],\n    host: {\n        class: 'kbq-accordion-header'\n    }\n})\nexport class KbqAccordionHeader {}\n","import { NgModule } from '@angular/core';\nimport { KbqIcon } from '@koobiq/components/icon';\nimport { KbqAccordionContent } from './accordion-content';\nimport { KbqAccordionHeader } from './accordion-header';\nimport { KbqAccordionItem } from './accordion-item';\nimport { KbqAccordionTrigger } from './accordion-trigger.component';\nimport { KbqAccordion } from './accordion.component';\n\n@NgModule({\n    imports: [\n        KbqIcon,\n        KbqAccordion,\n        KbqAccordionContent,\n        KbqAccordionHeader,\n        KbqAccordionItem,\n        KbqAccordionTrigger\n    ],\n    exports: [\n        KbqAccordion,\n        KbqAccordionContent,\n        KbqAccordionHeader,\n        KbqAccordionItem,\n        KbqAccordionTrigger\n    ]\n})\nexport class KbqAccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uniqueIdCounter","i1.KbqAccordionTriggerDirective","i1.KbqAccordionContentDirective","i1.KbqAccordionHeaderDirective"],"mappings":"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"}