{"version":3,"file":"ironsource-fusion-ui-components-accordion-common-base.mjs","sources":["../../../projects/fusion-ui/components/accordion/common/base/accordion-content/accordion-content.component.ts","../../../projects/fusion-ui/components/accordion/common/base/accordion-content/accordion-content.component.html","../../../projects/fusion-ui/components/accordion/common/base/accordion-header/accordion-header.component.ts","../../../projects/fusion-ui/components/accordion/common/base/accordion-header/accordion-header.component.html","../../../projects/fusion-ui/components/accordion/common/base/accordion.base.component.ts","../../../projects/fusion-ui/components/accordion/common/base/accordion-header/accordion-header.module.ts","../../../projects/fusion-ui/components/accordion/common/base/accordion-content/accordion-content.module.ts","../../../projects/fusion-ui/components/accordion/common/base/ironsource-fusion-ui-components-accordion-common-base.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\n\n@Component({\n    selector: 'fusion-accordion-content',\n    templateUrl: './accordion-content.component.html',\n    styleUrls: ['./accordion-content.component.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AccordionContentComponent {\n    @Input() text: string;\n    @Input() iconPosition = 'right';\n}\n","<div class=\"accordion-content\" [class.icon-position-left]=\"iconPosition === 'left'\">\n    {{ text }}\n</div>\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\n\n@Component({\n    selector: 'fusion-accordion-header',\n    templateUrl: './accordion-header.component.html',\n    styleUrls: ['./accordion-header.component.scss'],\n    changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AccordionHeaderComponent {\n    @Input() isOpen: boolean;\n    @Input() text: string;\n    @Input() iconPosition = 'right';\n}\n","<div class=\"accordion-header\" [class.opened]=\"isOpen\" [class.icon-position-left]=\"iconPosition === 'left'\">\n    {{ text }}\n    <fusion-icon class=\"open-close\" [name]=\"{iconName: 'arrow-right', iconVersion: 'v1'}\"></fusion-icon>\n</div>\n","import {Component, EventEmitter, Input, Output, Type, Directive} from '@angular/core';\nimport {AccordionConfigurations, AccordionIconPosition, AccordionItem} from './accordion-entities';\nimport {DynamicComponentConfiguration} from '@ironsource/fusion-ui/components/dynamic-components/common/entities';\nimport {isNullOrUndefined} from '@ironsource/fusion-ui/utils';\nimport {AccordionContentComponent} from './accordion-content/accordion-content.component';\nimport {AccordionHeaderComponent} from './accordion-header/accordion-header.component';\n\nconst DEFAULT_CONFIGURATION = {\n    iconPosition: 'right' as AccordionIconPosition,\n    header: {component: AccordionHeaderComponent as Type<Component>},\n    content: {component: AccordionContentComponent as Type<Component>}\n};\n\n@Directive()\nexport abstract class AccordionBaseComponent {\n    @Input() set data(value: AccordionItem[]) {\n        this.accordionBoxes = Array.isArray(value) ? value : [];\n    }\n    @Input() set configuration(value: AccordionConfigurations) {\n        if (!isNullOrUndefined(value)) {\n            if (!value.hasOwnProperty('header')) {\n                Object.assign(value, {header: {component: AccordionHeaderComponent}});\n            }\n            if (!value.hasOwnProperty('content')) {\n                Object.assign(value, {content: {component: AccordionContentComponent}});\n            }\n        } else {\n            value = DEFAULT_CONFIGURATION;\n        }\n        this.accordionConfiguration = value;\n    }\n\n    @Output() stateChange = new EventEmitter<{opened?: number} | {closed?: number}>();\n\n    accordionBoxes: AccordionItem[] = [];\n    accordionConfiguration: AccordionConfigurations = DEFAULT_CONFIGURATION;\n\n    onClick(index): void {\n        if (!this.isOpened(index)) {\n            this.accordionConfiguration.opened = index;\n            this.stateChange.emit({opened: index});\n        } else {\n            this.accordionConfiguration.opened = null;\n            this.stateChange.emit({closed: index});\n        }\n    }\n\n    /**\n     * Get Accordion Item dynamic config\n     * @param index - index of target Accordion Item\n     * @param type - Accordion Item type ('header' | 'content')\n     */\n    getItemConfiguration(index: number, type: 'header' | 'content'): DynamicComponentConfiguration {\n        return {...this.applyItemOptions(index, this.accordionBoxes[index][type + 'Data'], this.accordionConfiguration[type])};\n    }\n\n    isOpened(index): boolean {\n        return this.accordionConfiguration.opened === index;\n    }\n\n    private getItemData(boxData, index: number) {\n        return Object.assign(this.getData(boxData), {\n            isAccordion: true,\n            isOpen: this.isOpened(index),\n            iconPosition: this.accordionConfiguration.iconPosition || 'right'\n        });\n    }\n\n    private getData(boxData) {\n        return typeof boxData === 'string' ? {text: boxData} : boxData;\n    }\n\n    private applyItemOptions(index: number, boxData, boxDynamicConfig): DynamicComponentConfiguration {\n        if (boxDynamicConfig.hasOwnProperty('component')) {\n            return {\n                component: {\n                    type: boxDynamicConfig.component,\n                    data: this.getItemData(boxData, index)\n                }\n            };\n        } else if (boxDynamicConfig.hasOwnProperty('renderElement')) {\n            // In case Node element\n            return {\n                element: boxDynamicConfig.renderElement(this.getItemData(boxData, index))\n            };\n        } else {\n            // in unsupported case\n            return null;\n        }\n    }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {IconModule} from '@ironsource/fusion-ui/components/icon/v1';\nimport {AccordionHeaderComponent} from './accordion-header.component';\n\n@NgModule({\n    declarations: [AccordionHeaderComponent],\n    imports: [CommonModule, IconModule]\n})\nexport class AccordionHeaderModule {}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {AccordionContentComponent} from './accordion-content.component';\n\n@NgModule({\n    declarations: [AccordionContentComponent],\n    imports: [CommonModule]\n})\nexport class AccordionContentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}