{"version":3,"file":"ironsource-fusion-ui-directives-teleporting.mjs","sources":["../../../projects/fusion-ui/directives/teleporting/teleporting.directive.ts","../../../projects/fusion-ui/directives/teleporting/teleporting.module.ts","../../../projects/fusion-ui/directives/teleporting/ironsource-fusion-ui-directives-teleporting.ts"],"sourcesContent":["import {AfterViewInit, Directive, EmbeddedViewRef, Input, OnDestroy, OnInit, TemplateRef, ViewContainerRef} from '@angular/core';\n\n@Directive({\n    selector: '[fusionTeleporting]'\n})\nexport class TeleportingDirective implements OnInit, OnDestroy, AfterViewInit {\n    @Input('fusionTeleporting') selector: string;\n\n    private host: Element;\n    private viewRef: EmbeddedViewRef<any>;\n    private addChildNodes: Element[] = [];\n\n    private hasTeleported = false;\n\n    constructor(private templateRef: TemplateRef<any>, private vcr: ViewContainerRef) {}\n\n    ngOnInit() {\n        this.viewRef = this.vcr.createEmbeddedView(this.templateRef);\n        this.teleportingView();\n    }\n\n    ngAfterViewInit() {\n        this.teleportingView();\n    }\n\n    ngOnDestroy() {\n        this.clearAttachedNodes();\n    }\n\n    private teleportingView() {\n        if (this.selector && !this.hasTeleported) {\n            this.host = document.querySelector(this.selector);\n            if (this.host) {\n                this.viewRef.rootNodes.forEach(node => {\n                    this.host.appendChild(node);\n                    this.addChildNodes.push(node);\n                });\n                this.hasTeleported = true;\n            }\n        }\n    }\n\n    private clearAttachedNodes() {\n        if (!!this.host && this.host.hasChildNodes() && this.addChildNodes.length) {\n            this.addChildNodes.forEach(node => {\n                try {\n                    this.host.removeChild(node);\n                } catch (e) {\n                    console.warn(`teleported : ${e}`);\n                }\n            });\n        }\n        if (this.viewRef) {\n            this.viewRef.destroy();\n        }\n    }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TeleportingDirective} from './teleporting.directive';\n\n@NgModule({\n    declarations: [TeleportingDirective],\n    exports: [TeleportingDirective],\n    imports: [CommonModule]\n})\nexport class TeleportingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}