{"version":3,"file":"ironsource-fusion-ui-components-header-overlay-common-base.mjs","sources":["../../../projects/fusion-ui/components/header-overlay/common/base/header-sizes.enum.ts","../../../projects/fusion-ui/components/header-overlay/common/base/header-overlay.base.component.ts","../../../projects/fusion-ui/components/header-overlay/common/base/ironsource-fusion-ui-components-header-overlay-common-base.ts"],"sourcesContent":["export enum HeaderSizes {\n    Normal = 0,\n    Small = 1\n}\n","import {ChangeDetectorRef, Component, Directive, ElementRef, EventEmitter, Input, OnInit, Output, Type, ViewChild} from '@angular/core';\nimport {isNullOrUndefined, isUndefined} from '@ironsource/fusion-ui/utils';\nimport {HeaderSizes} from './header-sizes.enum';\nimport {HeaderOptions} from './header-options';\nimport {BehaviorSubject} from 'rxjs';\nimport {WindowService} from '@ironsource/fusion-ui/services/window';\n\n@Directive()\nexport abstract class HeaderOverlayBaseComponent implements OnInit {\n    @Input() headerComponent: Type<Component>;\n    @Input() width = '100%';\n    @Input() height = '';\n    @Input() showFooter = true;\n    @Input() size: HeaderSizes;\n    @Input() element: Node;\n    @Input() clickOutsideActivate = true;\n\n    @Output() closed = new EventEmitter();\n    @Output() saved = new EventEmitter();\n    @Output() isOpened = new EventEmitter();\n    isActive: boolean;\n    error: string;\n    side: string;\n    componentData: any;\n    headerComponentData$: BehaviorSubject<{\n        isActive: boolean;\n        isOpen: boolean;\n        componentData: any;\n    }>;\n    headerSizes = HeaderSizes;\n\n    set isOpen(value: boolean) {\n        this.isOverlayOpen = value;\n        this.isOpened.emit(this.isOverlayOpen);\n    }\n\n    get isOpen() {\n        return this.isOverlayOpen;\n    }\n\n    private isOverlayOpen: boolean;\n\n    @ViewChild('header') header: ElementRef;\n\n    constructor(private windowRef: WindowService, private elemRef: ElementRef, private cd: ChangeDetectorRef) {}\n\n    ngOnInit() {\n        this.headerComponentData$ = new BehaviorSubject({\n            isActive: this.isActive,\n            isOpen: this.isOpen,\n            componentData: this.componentData\n        });\n    }\n\n    toggleOverlay() {\n        const position = this.elemRef.nativeElement.getBoundingClientRect();\n        this.side = 'right';\n        if (this.windowRef.nativeWindow.screen.width - position.x < window.screen.width / 2) {\n            this.side = 'left';\n        }\n\n        this.isOpen = !this.isOpen;\n    }\n\n    close() {\n        if (this.isOpen) {\n            this.isOpen = false;\n            this.closed.emit();\n        }\n    }\n\n    onOutsideClick() {\n        this.close();\n    }\n\n    writeValue(value: HeaderOptions): void {\n        if (!isNullOrUndefined(value)) {\n            this.componentData = value;\n            if (!isUndefined(value.isOpen)) {\n                this.isOpen = value.isOpen;\n            }\n\n            if (!isUndefined(value.isActive)) {\n                this.isActive = value.isActive;\n            }\n\n            if (!isUndefined(value.error)) {\n                this.error = value.error;\n            }\n\n            this.headerComponentData$.next({\n                isActive: this.isActive,\n                isOpen: this.isOpen,\n                componentData: this.componentData\n            });\n        }\n    }\n\n    registerOnChange(fn: any): void {\n        this.propagateChange = fn;\n    }\n\n    propagateChange = (_: HeaderOptions) => {};\n\n    registerOnTouched(fn: any): void {}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}