{"version":3,"file":"ironsource-fusion-ui-components-dropdown-option-common-base.mjs","sources":["../../../projects/fusion-ui/components/dropdown-option/common/base/dropdown-option.base.component.ts","../../../projects/fusion-ui/components/dropdown-option/common/base/dropdown-option.base.directive.ts","../../../projects/fusion-ui/components/dropdown-option/common/base/ironsource-fusion-ui-components-dropdown-option-common-base.ts"],"sourcesContent":["import {Directive, HostBinding, Injector, Input, OnInit} from '@angular/core';\nimport {BehaviorSubject} from 'rxjs';\nimport {DropdownOption} from '@ironsource/fusion-ui/components/dropdown-option/entities';\nimport {DropdownService} from '@ironsource/fusion-ui/components/dropdown/service';\nimport {DropdownTestIdModifiers} from '@ironsource/fusion-ui/entities';\nimport {TestIdsService} from '@ironsource/fusion-ui/services/test-ids';\n\n@Directive()\nexport abstract class DropdownOptionBaseComponent implements OnInit {\n    @Input() option: DropdownOption;\n    /** @internal */\n    @Input() mappingOptions: any;\n    /** @internal */\n    @Input() dropdownType: '' | 'multi' | 'tags';\n    /** @internal */\n    @Input() lastSearchValue: string;\n    /** @internal */\n    @Input() optionRightHoverText: string;\n\n    /** @internal */\n    @Input() set isMultiRawDisplay(value: boolean) {\n        this.isMultiRawDisplay$.next(value);\n    }\n\n    /** @internal */\n    @Input() set optionCloseIcon(value: boolean) {\n        this.shownCloseIcon$.next(value);\n    }\n\n    @Input() testId: string;\n\n    /** @internal */\n    @HostBinding('class.multi-raw-display') get shouldDisplayMultiRaw(): boolean {\n        return this.isMultiRawDisplay$.getValue();\n    }\n\n    /** @internal */\n    @HostBinding('class.is-has-children') get hasChildren(): boolean {\n        return Array.isArray(this.option?.childOptions);\n    }\n\n    /** @internal */\n    @HostBinding('class.is-open') get isOpen(): boolean {\n        return this.option?.isOpen;\n    }\n\n    testIdDropdownModifiers: typeof DropdownTestIdModifiers = DropdownTestIdModifiers;\n\n    testIdsService: TestIdsService = this.injector.get(TestIdsService);\n\n    @HostBinding('attr.data-testid') get testAttribute(): string {\n        return this.testId;\n    }\n\n    /** @internal */\n    isMultiRawDisplay$ = new BehaviorSubject<boolean>(false);\n    /** @internal */\n    shownCloseIcon$ = new BehaviorSubject<boolean>(false);\n    /** @internal */\n    settings: any;\n    /** @internal */\n    optionToStringFunc = this.dropdownService.optionToString.bind(this.dropdownService);\n\n    constructor(private dropdownService: DropdownService, protected injector: Injector) {}\n\n    ngOnInit() {\n        this.settings = {\n            dropdownType: this.dropdownType,\n            lastSearchValue: this.lastSearchValue\n        };\n    }\n}\n","import {Directive, EmbeddedViewRef, HostBinding, inject, Input, OnChanges, OnInit, Renderer2, ViewContainerRef} from '@angular/core';\n\n@Directive()\nexport abstract class DropdownOptionBaseDirective implements OnInit, OnChanges {\n    @Input() fusionDropdownOption: any;\n    @Input() mappingOptions: any;\n    @Input() dropdownType: '' | 'multi' | 'tags';\n    @Input() lastSearchValue: string;\n    @Input() optionRightHoverText: string;\n    @Input() isMultiRawDisplay = false;\n    @Input() optionCloseIcon: boolean;\n\n    @HostBinding('class.option') optionClass = true;\n    @HostBinding('class.is-hidden') isOptionHidden = false;\n\n    viewContainerRef = inject(ViewContainerRef);\n\n    // protected optionComponentRef: ComponentRef<DropdownOptionBaseComponent>;\n    protected dropdownOptionComponentType;\n    protected optionComponentRef;\n\n    constructor(private renderer: Renderer2) {}\n\n    ngOnInit() {\n        this.isOptionHidden = this.fusionDropdownOption.checked;\n        this.viewContainerRef.clear();\n        this.optionComponentRef = this.viewContainerRef.createComponent(this.dropdownOptionComponentType);\n        this.updateData();\n        const loaderViewRef = this.optionComponentRef.hostView as EmbeddedViewRef<any>;\n        this.renderer.appendChild(this.viewContainerRef.element.nativeElement, loaderViewRef.rootNodes[0]);\n    }\n\n    ngOnChanges(changes) {\n        this.isOptionHidden = this.fusionDropdownOption.checked;\n        if (this.optionComponentRef && this.optionComponentRef.instance) {\n            this.updateData();\n        }\n    }\n\n    updateData(): void {\n        this.optionComponentRef.instance.option = this.fusionDropdownOption;\n        this.optionComponentRef.instance.mappingOptions = this.mappingOptions;\n        this.optionComponentRef.instance.dropdownType = this.dropdownType;\n        this.optionComponentRef.instance.lastSearchValue = this.lastSearchValue;\n        this.optionComponentRef.instance.optionRightHoverText = this.optionRightHoverText;\n        this.optionComponentRef.instance.isMultiRawDisplay = this.isMultiRawDisplay;\n        this.optionComponentRef.instance.optionCloseIcon = this.optionCloseIcon;\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}