{"version":3,"file":"ironsource-fusion-ui-components-modal-common-base.mjs","sources":["../../../projects/fusion-ui/components/modal/common/base/modal-utils.ts","../../../projects/fusion-ui/components/modal/common/base/modal.base.service.ts","../../../projects/fusion-ui/components/modal/common/base/modal.base.component.ts","../../../projects/fusion-ui/components/modal/common/base/ironsource-fusion-ui-components-modal-common-base.ts"],"sourcesContent":["export function getDefaultCssUnit(value: string): string {\n    return /^\\d+$/.test(value) ? `${value}px` : value;\n}\n","import {Injectable} from '@angular/core';\nimport {ModalBaseComponent} from './modal.base.component';\nimport {isFunction} from '@ironsource/fusion-ui/utils';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class ModalService {\n    modals: {[id: string]: ModalBaseComponent} = {};\n\n    add(modal: ModalBaseComponent) {\n        // add modal to array of active modals\n        this.modals[modal.id] = modal;\n    }\n\n    remove(id: string) {\n        // remove modal from array of active modals\n        delete this.modals[id];\n    }\n\n    open(id: string) {\n        if (this.modals[id] && isFunction(this.modals[id].open)) {\n            this.modals[id].open();\n        }\n    }\n\n    close(id: string, {emitEvent = true} = {}) {\n        if (this.modals[id] && isFunction(this.modals[id].close)) {\n            this.modals[id].close(emitEvent);\n        }\n    }\n}\n","import {Directive, ElementRef, EventEmitter, Inject, Input, OnDestroy, OnInit, Output, Renderer2, ViewChild} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {UniqueIdService} from '@ironsource/fusion-ui/services/unique-id';\nimport {LogService} from '@ironsource/fusion-ui/services/log';\nimport {WindowService} from '@ironsource/fusion-ui/services/window';\nimport {getDefaultCssUnit} from './modal-utils';\nimport {ModalService} from './modal.base.service';\n\n@Directive()\nexport abstract class ModalBaseComponent implements OnInit, OnDestroy {\n    @Input() id: string;\n    @Input() footer = true;\n    @Input() loading = false; // state for content loading\n    @Input() waiting = false; // state for on click primary button waiter\n    @Input() set width(value: string) {\n        if (value) {\n            this._width = getDefaultCssUnit(value);\n        }\n    }\n\n    get width(): string {\n        return this._width;\n    }\n\n    @Input() set height(value: string) {\n        if (value) {\n            this._height = getDefaultCssUnit(value);\n        }\n    }\n\n    get height(): string {\n        return this._height;\n    }\n\n    @Input() padding: string;\n    @Input() error = '';\n    @Input() headerText = '';\n    @Input() noHeaderBorder = false;\n    @Input() isClosed = false;\n    @Input() saveButtonText = 'Save';\n    @Input() saveButtonDisabled = false;\n    @Input() cancelButtonText = 'Cancel';\n    @Input() cancelButtonHidden: boolean;\n\n    // eslint-disable-next-line\n    @Output() onSave = new EventEmitter();\n    // eslint-disable-next-line\n    @Output() onOpen = new EventEmitter();\n    // eslint-disable-next-line\n    @Output() onClose = new EventEmitter();\n\n    @ViewChild('modalBody', {static: true}) modalBody: ElementRef;\n    @ViewChild('modalHolder', {static: true}) modalHolder: ElementRef;\n\n    protected uid: string;\n    private _width: string;\n    private _height: string;\n\n    constructor(\n        @Inject(DOCUMENT) protected document: Document,\n        protected uidService: UniqueIdService,\n        protected elRef: ElementRef,\n        protected windowRef: WindowService,\n        protected logService: LogService,\n        private modalService: ModalService,\n        protected renderer: Renderer2\n    ) {\n        this.uid = this.uidService.getUniqueId().toString();\n    }\n\n    ngOnInit() {\n        if (!this.id) {\n            this.logService.error(new Error('Modal component must have an id'));\n            return;\n        }\n        if (this.isClosed) {\n            this.close(false);\n        }\n        this.modalService.add(this);\n    }\n\n    ngOnDestroy() {\n        this.modalService.remove(this.id);\n    }\n\n    open() {\n        this.renderer.setStyle(this.elRef.nativeElement, 'display', 'block');\n        this.onOpen.emit();\n    }\n\n    close(emitEvent = true) {\n        this.renderer.setStyle(this.elRef.nativeElement, 'display', 'none');\n        if (emitEvent) {\n            this.onClose.emit();\n        }\n    }\n\n    save(value) {\n        this.onSave.emit(value);\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4.ModalService"],"mappings":"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"}