{"version":3,"file":"ironsource-fusion-ui-components-chip-filter-common-base.mjs","sources":["../../../projects/fusion-ui/components/chip-filter/common/base/chip-filter-component-configurations.ts","../../../projects/fusion-ui/components/chip-filter/common/base/chip-filter.base.component.ts","../../../projects/fusion-ui/components/chip-filter/common/base/ironsource-fusion-ui-components-chip-filter-common-base.ts"],"sourcesContent":["import {IconData} from '@ironsource/fusion-ui/components/icon/common/entities';\n\nexport interface ChipIcon {\n    icon: IconData;\n    tooltipText?: string;\n}\n\nexport interface ChipFilterComponentConfigurations {\n    id: number | string;\n    disabled?: boolean;\n    mode?: ChipFilterMode;\n    close?: boolean;\n    maxWidth?: number;\n    leftIcon?: ChipIcon;\n    rightIcon?: ChipIcon;\n}\n\nexport enum ChipTypeToClass {\n    UnRemoveAbleSelect = 'fu-un-removable-filter',\n    AddFilter = 'fu-add-filter',\n    RemoveAbleSelect = 'fu-removable-filter',\n    ChipFilter = 'fu-chip-filter',\n    ChipSelect = 'fu-select-filter'\n}\n\nexport type ChipType = 'UnRemoveAbleSelect' | 'AddFilter' | 'RemoveAbleSelect' | 'ChipFilter' | 'ChipSelect';\nexport type ChipFilterMode = 'static' | 'dynamic' | 'add';\n","import {\n    AfterContentInit,\n    AfterViewInit,\n    ChangeDetectorRef,\n    ContentChild,\n    Directive,\n    ElementRef,\n    EventEmitter,\n    HostBinding,\n    Injector,\n    Input,\n    OnDestroy,\n    OnInit,\n    Output,\n    Renderer2,\n    TemplateRef,\n    ViewChild\n} from '@angular/core';\nimport {BehaviorSubject, fromEvent, merge, Subject} from 'rxjs';\nimport {\n    ChipFilterComponentConfigurations,\n    ChipFilterMode,\n    ChipIcon,\n    ChipType,\n    ChipTypeToClass\n} from './chip-filter-component-configurations';\nimport {takeUntil} from 'rxjs/operators';\nimport {ApiBase} from '@ironsource/fusion-ui/components/api-base';\nimport {ChipFilterTestIdModifiers} from '@ironsource/fusion-ui/entities';\nimport {TestIdsService} from '@ironsource/fusion-ui/services/test-ids';\n\n@Directive()\nexport abstract class ChipFilterBaseComponent implements OnInit, AfterViewInit, OnDestroy, AfterContentInit {\n    /** @internal */\n    @Input() testId: string;\n    /** @internal */\n    @ContentChild(ApiBase, {static: true}) apiBase: ApiBase;\n    /** @internal */\n    @ViewChild('ref', {static: true}) ref: TemplateRef<any>;\n\n    @Input() variant: 'outline' | 'text' = 'outline';\n\n    /** @internal */\n    id: number | string;\n    /** @internal */\n    chipType$ = new BehaviorSubject<ChipType>(null);\n    /** @internal */\n    isCloseIcon$ = new BehaviorSubject<boolean>(false);\n    /** @internal */\n    defaultContent: TemplateRef<any>;\n    /** @internal */\n    isDefaultContent: boolean = true;\n    /** @internal */\n    leftIcon: ChipIcon;\n    /** @internal */\n    rightIcon: ChipIcon;\n    /** @internal */\n    isRoleButton = false;\n    /** @internal */\n    placeholderChipV4Mode = false;\n\n    /** @internal */\n    testIdChipFilterModifiers: typeof ChipFilterTestIdModifiers = ChipFilterTestIdModifiers;\n    /** @internal */\n    testIdsService: TestIdsService = this.injector.get(TestIdsService);\n\n    private onDestroy$ = new Subject<void>();\n    private restListeners$ = new Subject<void>();\n    private clearClickSubscription$ = merge(this.onDestroy$, this.restListeners$);\n    private isChipSelected: boolean = false;\n    private chipMode: ChipFilterMode = 'static';\n    private _disabled$ = new BehaviorSubject<boolean>(false);\n    private chipSelectValue: {id: number | string; value?: any; isSelected?: boolean};\n    private _maxWidth: number;\n\n    @Input() set configuration(value: ChipFilterComponentConfigurations) {\n        if (!!value) {\n            this.id = value.id;\n            this.disabled = value.disabled || false;\n            this.mode = value.mode || 'static';\n            this.close = value.close || false;\n            this.maxWidth = value.maxWidth || 200;\n            this.rightIcon = value.rightIcon;\n            this.leftIcon = value.leftIcon;\n        }\n    }\n    /** @internal */\n    @Input() set isSelected(value: boolean) {\n        this.selected = value ?? false;\n        if (value) {\n            this.chipSelectValue = {\n                id: this.id,\n                isSelected: this.selected\n            };\n        }\n    }\n    /** @internal */\n    @Input() set isDynamicContent(value: boolean) {\n        this.isDefaultContent = !value;\n    }\n\n    @HostBinding('attr.data-testid') get testAttribute(): string {\n        return this.testIdsService.getTestAttribute(this.testId, this.testIdChipFilterModifiers.CHIP_FILTER);\n    }\n\n    /**\n     * On dynamic filter close button clicked (filter removed)\n     * @ignore\n     * */\n    @Output() chipRemove = new EventEmitter();\n\n    @Output() selectedChange = new EventEmitter<any>();\n\n    set maxWidth(width: number) {\n        this._maxWidth = width;\n    }\n\n    get maxWidth() {\n        return this._maxWidth;\n    }\n\n    set close(close: boolean) {\n        this.isCloseIcon$.next(close);\n        this.changeHostClass('closed-icon', close);\n    }\n\n    get close() {\n        return this.isCloseIcon$.getValue();\n    }\n\n    set disabled(disabled: boolean) {\n        this._disabled$.next(disabled);\n        this.changeHostClass('fu-disabled', disabled);\n    }\n\n    get disabled(): boolean {\n        return this._disabled$.getValue();\n    }\n\n    set mode(chipMode: ChipFilterMode) {\n        this.chipMode = chipMode;\n        this.setChipType(this.selected);\n    }\n\n    get mode() {\n        return this.chipMode;\n    }\n\n    set selected(selected: boolean) {\n        this.isChipSelected = selected;\n        this.changeHostClass('fu-selected', selected);\n        this.setChipType(selected);\n    }\n\n    get selected(): boolean {\n        return this.isChipSelected;\n    }\n\n    /**\n     * used for chip filter removed (not for consumer)\n     * @internal\n     */\n    onRemove = new EventEmitter();\n\n    constructor(\n        /** @internal */\n        public element: ElementRef,\n        private renderer: Renderer2,\n        private cdr: ChangeDetectorRef,\n        private injector: Injector\n    ) {}\n\n    ngOnInit() {\n        if (!this.apiBase && !this.disabled) {\n            this.setClickListener();\n        }\n\n        if (this.apiBase) {\n            this.apiBase.changeConfig(`${this.maxWidth}px`);\n            this.apiBase.templateRef = this.ref;\n            this.apiBase.isComponentDisabled$.next(this.disabled);\n            this.apiBase.placeholderChipV4Mode = this.placeholderChipV4Mode;\n        }\n    }\n\n    ngAfterViewInit() {\n        this.setValueSelectedListener();\n    }\n    ngAfterContentInit() {\n        this.defaultContent = this.apiBase?.contentTemplate;\n    }\n\n    ngOnDestroy() {\n        this.onDestroy$.next();\n        this.onDestroy$.complete();\n        this.restListeners$.complete();\n    }\n    /** @internal */\n    closeClicked($event) {\n        $event.stopPropagation();\n\n        this.selected = false;\n        this.setChipType(this.selected);\n        // internal using\n        this.onRemove.emit({\n            id: this.id,\n            isSelected: this.selected\n        });\n        // external, for consumer\n        this.chipRemove.emit(this.id);\n        this.apiBase?.resetState$.next();\n    }\n\n    private setValueSelectedListener(): void {\n        this.apiBase\n            ?.valueSelected()\n            .pipe(takeUntil(this.onDestroy$))\n            .subscribe((selected: {value: any; isSelected: boolean}) => {\n                if (selected?.isSelected) {\n                    this.selected = selected.isSelected;\n                    this.setChipType(this.selected);\n                    this.chipSelectValue = {\n                        id: this.id,\n                        ...selected\n                    };\n                    this.selectedChange.emit(this.chipSelectValue);\n                } else {\n                    this.selected = selected?.isSelected;\n                    this.setChipType(this.selected);\n                    this.onRemove.emit({\n                        id: this.id,\n                        isSelected: this.selected\n                    });\n                }\n                this.cdr.detectChanges();\n            });\n    }\n\n    private setClickListener(): void {\n        this.restListeners$.next();\n        fromEvent(this.element.nativeElement, 'click')\n            .pipe(takeUntil(this.clearClickSubscription$))\n            .subscribe(_ => {\n                this.selected = true;\n                this.setChipType(this.selected);\n                this.chipSelectValue = {\n                    id: this.id,\n                    isSelected: this.selected\n                };\n                this.selectedChange.emit(this.chipSelectValue);\n            });\n    }\n\n    private setChipType(hasValue: boolean) {\n        if (this.chipType$.getValue()) {\n            this.changeHostClass(ChipTypeToClass[this.chipType$.getValue()], false);\n        }\n        switch (this.mode) {\n            case 'dynamic':\n                this.setChipSelectType(hasValue);\n                break;\n            case 'static':\n                this.setChipSelectType(hasValue);\n                break;\n            case 'add':\n                this.chipType$.next('AddFilter');\n                break;\n        }\n\n        this.changeHostClass(ChipTypeToClass[this.chipType$.getValue()], !!this.chipType$.getValue());\n    }\n\n    private setChipSelectType(hasValue: boolean) {\n        if (this.close === true) {\n            this.chipType$.next(hasValue ? 'RemoveAbleSelect' : 'ChipFilter');\n        } else {\n            this.chipType$.next(hasValue ? 'UnRemoveAbleSelect' : 'ChipFilter');\n        }\n    }\n\n    private changeHostClass(className: string, add: boolean): void {\n        const classAction = add ? 'addClass' : 'removeClass';\n        this.renderer[classAction](this.element.nativeElement, className);\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}