{"version":3,"sources":["node_modules/file-saver/dist/FileSaver.min.js","node_modules/ngx-filesaver/fesm2022/ngx-filesaver.mjs"],"sourcesContent":["(function (a, b) {\n if (\"function\" == typeof define && define.amd) define([], b);else if (\"undefined\" != typeof exports) b();else {\n b(), a.FileSaver = {\n exports: {}\n }.exports;\n }\n})(this, function () {\n \"use strict\";\n\n function b(a, b) {\n return \"undefined\" == typeof b ? b = {\n autoBom: !1\n } : \"object\" != typeof b && (console.warn(\"Deprecated: Expected third argument to be a object\"), b = {\n autoBom: !b\n }), b.autoBom && /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type) ? new Blob([\"\\uFEFF\", a], {\n type: a.type\n }) : a;\n }\n function c(a, b, c) {\n var d = new XMLHttpRequest();\n d.open(\"GET\", a), d.responseType = \"blob\", d.onload = function () {\n g(d.response, b, c);\n }, d.onerror = function () {\n console.error(\"could not download file\");\n }, d.send();\n }\n function d(a) {\n var b = new XMLHttpRequest();\n b.open(\"HEAD\", a, !1);\n try {\n b.send();\n } catch (a) {}\n return 200 <= b.status && 299 >= b.status;\n }\n function e(a) {\n try {\n a.dispatchEvent(new MouseEvent(\"click\"));\n } catch (c) {\n var b = document.createEvent(\"MouseEvents\");\n b.initMouseEvent(\"click\", !0, !0, window, 0, 0, 0, 80, 20, !1, !1, !1, !1, 0, null), a.dispatchEvent(b);\n }\n }\n var f = \"object\" == typeof window && window.window === window ? window : \"object\" == typeof self && self.self === self ? self : \"object\" == typeof global && global.global === global ? global : void 0,\n a = f.navigator && /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent),\n g = f.saveAs || (\"object\" != typeof window || window !== f ? function () {} : \"download\" in HTMLAnchorElement.prototype && !a ? function (b, g, h) {\n var i = f.URL || f.webkitURL,\n j = document.createElement(\"a\");\n g = g || b.name || \"download\", j.download = g, j.rel = \"noopener\", \"string\" == typeof b ? (j.href = b, j.origin === location.origin ? e(j) : d(j.href) ? c(b, g, h) : e(j, j.target = \"_blank\")) : (j.href = i.createObjectURL(b), setTimeout(function () {\n i.revokeObjectURL(j.href);\n }, 4E4), setTimeout(function () {\n e(j);\n }, 0));\n } : \"msSaveOrOpenBlob\" in navigator ? function (f, g, h) {\n if (g = g || f.name || \"download\", \"string\" != typeof f) navigator.msSaveOrOpenBlob(b(f, h), g);else if (d(f)) c(f, g, h);else {\n var i = document.createElement(\"a\");\n i.href = f, i.target = \"_blank\", setTimeout(function () {\n e(i);\n });\n }\n } : function (b, d, e, g) {\n if (g = g || open(\"\", \"_blank\"), g && (g.document.title = g.document.body.innerText = \"downloading...\"), \"string\" == typeof b) return c(b, d, e);\n var h = \"application/octet-stream\" === b.type,\n i = /constructor/i.test(f.HTMLElement) || f.safari,\n j = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n if ((j || h && i || a) && \"undefined\" != typeof FileReader) {\n var k = new FileReader();\n k.onloadend = function () {\n var a = k.result;\n a = j ? a : a.replace(/^data:[^;]*;/, \"data:attachment/file;\"), g ? g.location.href = a : location = a, g = null;\n }, k.readAsDataURL(b);\n } else {\n var l = f.URL || f.webkitURL,\n m = l.createObjectURL(b);\n g ? g.location = m : location.href = m, g = null, setTimeout(function () {\n l.revokeObjectURL(m);\n }, 4E4);\n }\n });\n f.saveAs = g.saveAs = g, \"undefined\" != typeof module && (module.exports = g);\n});\n\n","import * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, Directive, Input, Output, NgModule } from '@angular/core';\nimport { saveAs } from 'file-saver';\nimport * as i2 from '@angular/common/http';\nimport { HttpParams } from '@angular/common/http';\nimport { Subject, takeUntil, filter, fromEvent } from 'rxjs';\n\n/** Check the `Blob` existance only once. */\nlet isFileSaverSupported;\ntry {\n isFileSaverSupported = !!new Blob();\n} catch {\n isFileSaverSupported = false;\n}\nlet FileSaverService = /*#__PURE__*/(() => {\n class FileSaverService {\n get isFileSaverSupported() {\n return isFileSaverSupported;\n }\n genType(fileName) {\n if (!fileName || fileName.lastIndexOf('.') === -1) {\n return 'text/plain';\n }\n const type = fileName.substring(fileName.lastIndexOf('.') + 1);\n switch (type) {\n case 'txt':\n return 'text/plain';\n case 'xml':\n case 'html':\n return `text/${type}`;\n case 'json':\n return 'octet/stream';\n default:\n return `application/${type}`;\n }\n }\n save(blob, fileName, filtType, option) {\n if (!blob) {\n throw new Error('Data argument should be a blob instance');\n }\n const file = new Blob([blob], {\n type: filtType || blob.type || this.genType(fileName)\n });\n saveAs(file, decodeURI(fileName || 'download'), option);\n }\n saveText(txt, fileName, option) {\n const blob = new Blob([txt]);\n this.save(blob, fileName, undefined, option);\n }\n static {\n this.ɵfac = function FileSaverService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || FileSaverService)();\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: FileSaverService,\n factory: FileSaverService.ɵfac,\n providedIn: 'root'\n });\n }\n }\n return FileSaverService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/* eslint-disable @angular-eslint/no-output-native */\nlet FileSaverDirective = /*#__PURE__*/(() => {\n class FileSaverDirective {\n constructor(ngZone, el, fss, httpClient) {\n this.ngZone = ngZone;\n this.el = el;\n this.fss = fss;\n this.httpClient = httpClient;\n this.method = 'GET';\n this.success = new EventEmitter();\n this.error = new EventEmitter();\n this.destroy$ = new Subject();\n if (!fss.isFileSaverSupported) {\n el.nativeElement.classList.add(`filesaver__not-support`);\n }\n }\n ngOnInit() {\n this.ngZone.runOutsideAngular(() => this.setupClickListener());\n }\n ngOnDestroy() {\n this.destroy$.next();\n }\n getName(res) {\n return decodeURI(this.fileName || res.headers.get('filename') || res.headers.get('x-filename') || '');\n }\n setDisabled(status) {\n const el = this.el.nativeElement;\n el.disabled = status;\n el.classList[status ? 'add' : 'remove'](`filesaver__disabled`);\n }\n setupClickListener() {\n fromEvent(this.el.nativeElement, 'click').pipe(filter(() => this.fss.isFileSaverSupported), takeUntil(this.destroy$)).subscribe(() => {\n let req = this.http;\n if (!req) {\n let params = new HttpParams();\n const query = this.query || {};\n for (const item in query) {\n params = params.set(item, query[item]);\n }\n req = this.httpClient.request(this.method, this.url, {\n observe: 'response',\n responseType: 'blob',\n headers: this.header,\n params\n });\n }\n this.setDisabled(true);\n req.pipe(takeUntil(this.destroy$)).subscribe({\n next: response => {\n if (response.status !== 200 || response.body.size <= 0) {\n this.emitIfHasObservers(this.error, response);\n return;\n }\n this.fss.save(response.body, this.getName(response), undefined, this.fsOptions);\n this.emitIfHasObservers(this.success, response);\n },\n error: error => this.emitIfHasObservers(this.error, error),\n complete: () => this.setDisabled(false)\n });\n });\n }\n emitIfHasObservers(emitter, value) {\n if (hasObservers(emitter)) {\n // Re-enter the Angular zone only if there're any `error` or `success` listeners\n // on the directive, for instance, `(success)=\"...\"`.\n this.ngZone.run(() => emitter.emit(value));\n }\n }\n static {\n this.ɵfac = function FileSaverDirective_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || FileSaverDirective)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(FileSaverService), i0.ɵɵdirectiveInject(i2.HttpClient));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: FileSaverDirective,\n selectors: [[\"\", \"fileSaver\", \"\"]],\n inputs: {\n method: \"method\",\n http: \"http\",\n query: \"query\",\n header: \"header\",\n url: \"url\",\n fileName: \"fileName\",\n fsOptions: \"fsOptions\"\n },\n outputs: {\n success: \"success\",\n error: \"error\"\n },\n exportAs: [\"fileSaver\"],\n standalone: true\n });\n }\n }\n return FileSaverDirective;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction hasObservers(subject) {\n // Note: The `observed` property is available only in RxJS@7.2.0, which means it's\n // not available for users running the lower version.\n return subject.observed ?? subject.observers.length > 0;\n}\nlet FileSaverModule = /*#__PURE__*/(() => {\n class FileSaverModule {\n static {\n this.ɵfac = function FileSaverModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || FileSaverModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: FileSaverModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n }\n return FileSaverModule;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { FileSaverDirective, FileSaverModule, FileSaverService };\n"],"mappings":"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","names":["require_FileSaver_min","__commonJSMin","exports","module","a","b","c","d","g","e","f","h","i","j","k","l","m","import_file_saver","isFileSaverSupported","FileSaverService","fileName","type","blob","filtType","option","file","txt","__ngFactoryType__","ɵɵdefineInjectable","FileSaverModule","__ngFactoryType__","ɵɵdefineNgModule","ɵɵdefineInjector"],"x_google_ignoreList":[0,1]}