{"version":3,"file":"ironsource-fusion-ui-directives-copy-to-clipboard.mjs","sources":["../../../projects/fusion-ui/directives/copy-to-clipboard/copy-to-clipboard.directive.ts","../../../projects/fusion-ui/directives/copy-to-clipboard/copy-to-clipboard.module.ts","../../../projects/fusion-ui/directives/copy-to-clipboard/ironsource-fusion-ui-directives-copy-to-clipboard.ts"],"sourcesContent":["import {Directive, ElementRef, EventEmitter, HostListener, Inject, Input, Output, Renderer2} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {isFunction} from '@ironsource/fusion-ui/utils';\n\n@Directive({\n    selector: '[fusionCopyToClipboard]'\n})\nexport class CopyToClipboardDirective {\n    @Input() fusionCopyToClipboard?: (elRef?: ElementRef) => string;\n    @Output() copied = new EventEmitter();\n    private _document?: Document;\n\n    constructor(\n        @Inject(DOCUMENT) private document: any, // todo: Document (open issue https://github.com/angular/angular/issues/20351)\n        private renderer: Renderer2,\n        private elementRef: ElementRef\n    ) {\n        this._document = document as Document;\n    }\n\n    @HostListener('click', ['$event'])\n    onClick($event) {\n        $event.preventDefault();\n        $event.stopPropagation();\n        const textToCopy = isFunction(this.fusionCopyToClipboard)\n            ? this.fusionCopyToClipboard(this.elementRef)\n            : this.elementRef.nativeElement.innerHTML;\n        this.copyText(textToCopy);\n\n        this.copied.emit();\n    }\n\n    private copyText(textToCopy: string): void {\n        const elem = this.renderer.createElement('input');\n        this.renderer.setAttribute(elem, 'type', 'text');\n        this.renderer.setAttribute(elem, 'value', textToCopy);\n        this.renderer.appendChild(this._document.body, elem);\n        elem.focus();\n        elem.select();\n        this._document.execCommand('Copy');\n        this.renderer.removeChild(this._document.body, elem);\n    }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {CopyToClipboardDirective} from './copy-to-clipboard.directive';\n\n@NgModule({\n    imports: [CommonModule],\n    declarations: [CopyToClipboardDirective],\n    exports: [CopyToClipboardDirective]\n})\nexport class CopyToClipboardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}