New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@flatfile/angular

Package Overview
Dependencies
Maintainers
17
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@flatfile/angular - npm Package Compare versions

Comparing version
3.0.0
to
3.1.0
+3
-1
bundles/flatfile-angular.umd.js

@@ -29,3 +29,3 @@ (function (global, factory) {

}
this.flatfileImporter = sdk.flatfileImporter(this.token);
this.flatfileImporter = sdk.flatfileImporter(this.token, Object.assign(Object.assign({}, (this.mountUrl ? { mountUrl: this.mountUrl } : {})), (this.apiUrl ? { apiUrl: this.apiUrl } : {})));
this.flatfileImporter.on('init', function (res) { return _this.onInit.next(res); });

@@ -57,2 +57,4 @@ this.flatfileImporter.on('upload', function (res) { return _this.onUpload.next(res); });

token: [{ type: core.Input }],
mountUrl: [{ type: core.Input }],
apiUrl: [{ type: core.Input }],
onInit: [{ type: core.Output }],

@@ -59,0 +61,0 @@ onUpload: [{ type: core.Output }],

@@ -1,1 +0,1 @@

{"version":3,"file":"flatfile-angular.umd.js","sources":["../../../projects/angular-adapter/src/lib/flatfile-button.component.ts","../../../projects/angular-adapter/src/lib/flatfile-adapter.module.ts","../../../projects/angular-adapter/src/public-api.ts","../../../projects/angular-adapter/src/flatfile-angular.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { flatfileImporter, IEvents, IFlatfileImporter } from '@flatfile/sdk';\nimport { FlatfileMethods } from './interfaces';\n\n@Component({\n selector: 'flatfile-button',\n template: `\n <button (click)=\"launch()\" [disabled]=\"!isImporterLoaded\">\n <div #ref [class.hide]=\"!isImporterLoaded\">\n <ng-content></ng-content>\n </div>\n <span *ngIf=\"!ref && !ref.innerHTML.trim() && isImporterLoaded\"\n >🔼 Upload with Flatfile</span\n >\n <span *ngIf=\"!isImporterLoaded\">\n 🅧 Failed to Load Flatfile Importer\n </span>\n </button>\n `,\n styles: [\n `\n .hide {\n display: none;\n }\n `,\n ],\n})\nexport class FlatfileButtonComponent implements OnInit, OnDestroy {\n @Input() token: string;\n @Output() onInit = new EventEmitter<IEvents['init']>();\n @Output() onUpload = new EventEmitter<IEvents['upload']>();\n @Output() onLaunch = new EventEmitter<IEvents['launch']>();\n @Output() onClose = new EventEmitter<IEvents['close']>();\n @Output() onComplete = new EventEmitter<IEvents['complete']>();\n @Output() onError = new EventEmitter<IEvents['error']>();\n\n @ViewChild('ref', { read: ElementRef, static: true }) ref: ElementRef;\n\n isImporterLoaded: boolean = true;\n\n private flatfileImporter: IFlatfileImporter;\n\n public ngOnInit(): void {\n if (!this.token) {\n console.error(\n '📥 Flatfile Importer ERROR - \"token\" missing via @Input()'\n );\n this.isImporterLoaded = false;\n return;\n }\n\n if (typeof flatfileImporter === 'undefined') {\n console.log('📥 Flatfile Importer ERROR - importer failed to load');\n this.isImporterLoaded = false;\n return;\n }\n\n this.flatfileImporter = flatfileImporter(this.token);\n\n this.flatfileImporter.on('init', (res) => this.onInit.next(res));\n this.flatfileImporter.on('upload', (res) => this.onUpload.next(res));\n this.flatfileImporter.on('launch', (res) => this.onLaunch.next(res));\n this.flatfileImporter.on('close', (res) => this.onClose.next(res));\n this.flatfileImporter.on('complete', (res) => this.onComplete.next(res));\n }\n\n public ngOnDestroy(): void {\n this.flatfileImporter.close();\n }\n\n public launch(): void {\n this.flatfileImporter.launch().catch((e: Error) => {\n this.onError.next({ error: e });\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlatfileButtonComponent } from './flatfile-button.component';\n\n@NgModule({\n declarations: [FlatfileButtonComponent],\n imports: [CommonModule],\n exports: [FlatfileButtonComponent],\n})\nexport class FlatfileAdapterModule {}\n","/**\n * @note Public API Surface of angular-adapter\n */\n\nimport {\n flatfileImporter,\n IFlatfileImporter,\n IUnsafeGenerateTokenOptions,\n} from '@flatfile/sdk';\n\nexport * from './lib/flatfile-adapter.module';\nexport * from './lib/flatfile-button.component';\nexport * from './lib/interfaces';\n\nexport { flatfileImporter, IFlatfileImporter, IUnsafeGenerateTokenOptions };\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["EventEmitter","flatfileImporter","Component","Input","Output","ViewChild","ElementRef","NgModule","CommonModule"],"mappings":";;;;;;;MAcA;UAyBY,WAAM,GAAG,IAAIA,iBAAY,EAAmB,CAAC;UAC7C,aAAQ,GAAG,IAAIA,iBAAY,EAAqB,CAAC;UACjD,aAAQ,GAAG,IAAIA,iBAAY,EAAqB,CAAC;UACjD,YAAO,GAAG,IAAIA,iBAAY,EAAoB,CAAC;UAC/C,eAAU,GAAG,IAAIA,iBAAY,EAAuB,CAAC;UACrD,YAAO,GAAG,IAAIA,iBAAY,EAAoB,CAAC;UAIzD,qBAAgB,GAAY,IAAI,CAAC;OAqClC;MAjCQ,0CAAQ,GAAR;UAAA,iBAsBN;UArBC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;cACf,OAAO,CAAC,KAAK,CACX,2DAA2D,CAC5D,CAAC;cACF,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;cAC9B,OAAO;WACR;UAED,IAAI,OAAOC,oBAAgB,KAAK,WAAW,EAAE;cAC3C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;cACpE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;cAC9B,OAAO;WACR;UAED,IAAI,CAAC,gBAAgB,GAAGA,oBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UAErD,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,GAAG,IAAK,OAAA,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;UACjE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAC,GAAG,IAAK,OAAA,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;UACrE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAC,GAAG,IAAK,OAAA,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;UACrE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,GAAG,IAAK,OAAA,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;UACnE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAC,GAAG,IAAK,OAAA,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;OAC1E;MAEM,6CAAW,GAAX;UACL,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;OAC/B;MAEM,wCAAM,GAAN;UAAA,iBAIN;UAHC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,UAAC,CAAQ;cAC5C,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;WACjC,CAAC,CAAC;OACJ;;;;cAtEFC,cAAS,SAAC;kBACT,QAAQ,EAAE,iBAAiB;kBAC3B,QAAQ,EAAE,mbAYT;2BAEC,wDAIC;eAEJ;;;sBAEEC,UAAK;uBACLC,WAAM;yBACNA,WAAM;yBACNA,WAAM;wBACNA,WAAM;2BACNA,WAAM;wBACNA,WAAM;oBAENC,cAAS,SAAC,KAAK,EAAE,EAAE,IAAI,EAAEC,eAAU,EAAE,MAAM,EAAE,IAAI,EAAE;;;;MCrCtD;;;;;cALCC,aAAQ,SAAC;kBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;kBACvC,OAAO,EAAE,CAACC,mBAAY,CAAC;kBACvB,OAAO,EAAE,CAAC,uBAAuB,CAAC;eACnC;;;ECRD;;;;ECAA;;;;;;;;;;;;;;;;;;;;;"}
{"version":3,"file":"flatfile-angular.umd.js","sources":["../../../projects/angular-adapter/src/lib/flatfile-button.component.ts","../../../projects/angular-adapter/src/lib/flatfile-adapter.module.ts","../../../projects/angular-adapter/src/public-api.ts","../../../projects/angular-adapter/src/flatfile-angular.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { flatfileImporter, IEvents, IFlatfileImporter } from '@flatfile/sdk';\n\n@Component({\n selector: 'flatfile-button',\n template: `\n <button (click)=\"launch()\" [disabled]=\"!isImporterLoaded\">\n <div #ref [class.hide]=\"!isImporterLoaded\">\n <ng-content></ng-content>\n </div>\n <span *ngIf=\"!ref && !ref.innerHTML.trim() && isImporterLoaded\"\n >🔼 Upload with Flatfile</span\n >\n <span *ngIf=\"!isImporterLoaded\">\n 🅧 Failed to Load Flatfile Importer\n </span>\n </button>\n `,\n styles: [\n `\n .hide {\n display: none;\n }\n `,\n ],\n})\nexport class FlatfileButtonComponent implements OnInit, OnDestroy {\n @Input() token: string;\n @Input() mountUrl?: string;\n @Input() apiUrl?: string;\n @Output() onInit = new EventEmitter<IEvents['init']>();\n @Output() onUpload = new EventEmitter<IEvents['upload']>();\n @Output() onLaunch = new EventEmitter<IEvents['launch']>();\n @Output() onClose = new EventEmitter<IEvents['close']>();\n @Output() onComplete = new EventEmitter<IEvents['complete']>();\n @Output() onError = new EventEmitter<IEvents['error']>();\n\n @ViewChild('ref', { read: ElementRef, static: true }) ref: ElementRef;\n\n isImporterLoaded: boolean = true;\n\n private flatfileImporter: IFlatfileImporter;\n\n public ngOnInit(): void {\n if (!this.token) {\n console.error(\n '📥 Flatfile Importer ERROR - \"token\" missing via @Input()'\n );\n this.isImporterLoaded = false;\n return;\n }\n\n if (typeof flatfileImporter === 'undefined') {\n console.log('📥 Flatfile Importer ERROR - importer failed to load');\n this.isImporterLoaded = false;\n return;\n }\n\n this.flatfileImporter = flatfileImporter(this.token, {\n ...(this.mountUrl ? { mountUrl: this.mountUrl } : {}),\n ...(this.apiUrl ? { apiUrl: this.apiUrl } : {}),\n });\n\n this.flatfileImporter.on('init', (res) => this.onInit.next(res));\n this.flatfileImporter.on('upload', (res) => this.onUpload.next(res));\n this.flatfileImporter.on('launch', (res) => this.onLaunch.next(res));\n this.flatfileImporter.on('close', (res) => this.onClose.next(res));\n this.flatfileImporter.on('complete', (res) => this.onComplete.next(res));\n }\n\n public ngOnDestroy(): void {\n this.flatfileImporter.close();\n }\n\n public launch(): void {\n this.flatfileImporter.launch().catch((e: Error) => {\n this.onError.next({ error: e });\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlatfileButtonComponent } from './flatfile-button.component';\n\n@NgModule({\n declarations: [FlatfileButtonComponent],\n imports: [CommonModule],\n exports: [FlatfileButtonComponent],\n})\nexport class FlatfileAdapterModule {}\n","/**\n * @note Public API Surface of angular-adapter\n */\n\nimport {\n flatfileImporter,\n IFlatfileImporter,\n IUnsafeGenerateTokenOptions,\n} from '@flatfile/sdk';\n\nexport * from './lib/flatfile-adapter.module';\nexport * from './lib/flatfile-button.component';\nexport * from './lib/interfaces';\n\nexport { flatfileImporter, IFlatfileImporter, IUnsafeGenerateTokenOptions };\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["EventEmitter","flatfileImporter","Component","Input","Output","ViewChild","ElementRef","NgModule","CommonModule"],"mappings":";;;;;;;MAaA;UA2BY,WAAM,GAAG,IAAIA,iBAAY,EAAmB,CAAC;UAC7C,aAAQ,GAAG,IAAIA,iBAAY,EAAqB,CAAC;UACjD,aAAQ,GAAG,IAAIA,iBAAY,EAAqB,CAAC;UACjD,YAAO,GAAG,IAAIA,iBAAY,EAAoB,CAAC;UAC/C,eAAU,GAAG,IAAIA,iBAAY,EAAuB,CAAC;UACrD,YAAO,GAAG,IAAIA,iBAAY,EAAoB,CAAC;UAIzD,qBAAgB,GAAY,IAAI,CAAC;OAwClC;MApCQ,0CAAQ,GAAR;UAAA,iBAyBN;UAxBC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;cACf,OAAO,CAAC,KAAK,CACX,2DAA2D,CAC5D,CAAC;cACF,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;cAC9B,OAAO;WACR;UAED,IAAI,OAAOC,oBAAgB,KAAK,WAAW,EAAE;cAC3C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;cACpE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;cAC9B,OAAO;WACR;UAED,IAAI,CAAC,gBAAgB,GAAGA,oBAAgB,CAAC,IAAI,CAAC,KAAK,mCAC7C,IAAI,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,KAChD,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAC9C,CAAC;UAEH,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAC,GAAG,IAAK,OAAA,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;UACjE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAC,GAAG,IAAK,OAAA,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;UACrE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAC,GAAG,IAAK,OAAA,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;UACrE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,UAAC,GAAG,IAAK,OAAA,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;UACnE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAC,GAAG,IAAK,OAAA,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAA,CAAC,CAAC;OAC1E;MAEM,6CAAW,GAAX;UACL,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;OAC/B;MAEM,wCAAM,GAAN;UAAA,iBAIN;UAHC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,UAAC,CAAQ;cAC5C,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;WACjC,CAAC,CAAC;OACJ;;;;cA3EFC,cAAS,SAAC;kBACT,QAAQ,EAAE,iBAAiB;kBAC3B,QAAQ,EAAE,mbAYT;2BAEC,wDAIC;eAEJ;;;sBAEEC,UAAK;yBACLA,UAAK;uBACLA,UAAK;uBACLC,WAAM;yBACNA,WAAM;yBACNA,WAAM;wBACNA,WAAM;2BACNA,WAAM;wBACNA,WAAM;oBAENC,cAAS,SAAC,KAAK,EAAE,EAAE,IAAI,EAAEC,eAAU,EAAE,MAAM,EAAE,IAAI,EAAE;;;;MCtCtD;;;;;cALCC,aAAQ,SAAC;kBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;kBACvC,OAAO,EAAE,CAACC,mBAAY,CAAC;kBACvB,OAAO,EAAE,CAAC,uBAAuB,CAAC;eACnC;;;ECRD;;;;ECAA;;;;;;;;;;;;;;;;;;;;;"}

@@ -1,2 +0,2 @@

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@flatfile/sdk"),require("@angular/common"),require("@angular/core")):"function"==typeof define&&define.amd?define("@flatfile/angular",["exports","@flatfile/sdk","@angular/common","@angular/core"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).flatfile=t.flatfile||{},t.flatfile.angular={}),t.sdk,t.ng.common,t.ng.core)}(this,(function(t,e,n,o){"use strict";var r=function(){function t(){this.onInit=new o.EventEmitter,this.onUpload=new o.EventEmitter,this.onLaunch=new o.EventEmitter,this.onClose=new o.EventEmitter,this.onComplete=new o.EventEmitter,this.onError=new o.EventEmitter,this.isImporterLoaded=!0}return t.prototype.ngOnInit=function(){var t=this;return this.token?void 0===e.flatfileImporter?(console.log("📥 Flatfile Importer ERROR - importer failed to load"),void(this.isImporterLoaded=!1)):(this.flatfileImporter=e.flatfileImporter(this.token),this.flatfileImporter.on("init",(function(e){return t.onInit.next(e)})),this.flatfileImporter.on("upload",(function(e){return t.onUpload.next(e)})),this.flatfileImporter.on("launch",(function(e){return t.onLaunch.next(e)})),this.flatfileImporter.on("close",(function(e){return t.onClose.next(e)})),void this.flatfileImporter.on("complete",(function(e){return t.onComplete.next(e)}))):(console.error('📥 Flatfile Importer ERROR - "token" missing via @Input()'),void(this.isImporterLoaded=!1))},t.prototype.ngOnDestroy=function(){this.flatfileImporter.close()},t.prototype.launch=function(){var t=this;this.flatfileImporter.launch().catch((function(e){t.onError.next({error:e})}))},t}();r.decorators=[{type:o.Component,args:[{selector:"flatfile-button",template:'\n <button (click)="launch()" [disabled]="!isImporterLoaded">\n <div #ref [class.hide]="!isImporterLoaded">\n <ng-content></ng-content>\n </div>\n <span *ngIf="!ref && !ref.innerHTML.trim() && isImporterLoaded"\n >🔼 Upload with Flatfile</span\n >\n <span *ngIf="!isImporterLoaded">\n 🅧 Failed to Load Flatfile Importer\n </span>\n </button>\n ',styles:["\n .hide {\n display: none;\n }\n "]}]}],r.propDecorators={token:[{type:o.Input}],onInit:[{type:o.Output}],onUpload:[{type:o.Output}],onLaunch:[{type:o.Output}],onClose:[{type:o.Output}],onComplete:[{type:o.Output}],onError:[{type:o.Output}],ref:[{type:o.ViewChild,args:["ref",{read:o.ElementRef,static:!0}]}]};var i=function(){};i.decorators=[{type:o.NgModule,args:[{declarations:[r],imports:[n.CommonModule],exports:[r]}]}],Object.defineProperty(t,"flatfileImporter",{enumerable:!0,get:function(){return e.flatfileImporter}}),t.FlatfileAdapterModule=i,t.FlatfileButtonComponent=r,Object.defineProperty(t,"__esModule",{value:!0})}));
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@flatfile/sdk"),require("@angular/common"),require("@angular/core")):"function"==typeof define&&define.amd?define("@flatfile/angular",["exports","@flatfile/sdk","@angular/common","@angular/core"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).flatfile=t.flatfile||{},t.flatfile.angular={}),t.sdk,t.ng.common,t.ng.core)}(this,(function(t,e,n,o){"use strict";var r=function(){function t(){this.onInit=new o.EventEmitter,this.onUpload=new o.EventEmitter,this.onLaunch=new o.EventEmitter,this.onClose=new o.EventEmitter,this.onComplete=new o.EventEmitter,this.onError=new o.EventEmitter,this.isImporterLoaded=!0}return t.prototype.ngOnInit=function(){var t=this;return this.token?void 0===e.flatfileImporter?(console.log("📥 Flatfile Importer ERROR - importer failed to load"),void(this.isImporterLoaded=!1)):(this.flatfileImporter=e.flatfileImporter(this.token,Object.assign(Object.assign({},this.mountUrl?{mountUrl:this.mountUrl}:{}),this.apiUrl?{apiUrl:this.apiUrl}:{})),this.flatfileImporter.on("init",(function(e){return t.onInit.next(e)})),this.flatfileImporter.on("upload",(function(e){return t.onUpload.next(e)})),this.flatfileImporter.on("launch",(function(e){return t.onLaunch.next(e)})),this.flatfileImporter.on("close",(function(e){return t.onClose.next(e)})),void this.flatfileImporter.on("complete",(function(e){return t.onComplete.next(e)}))):(console.error('📥 Flatfile Importer ERROR - "token" missing via @Input()'),void(this.isImporterLoaded=!1))},t.prototype.ngOnDestroy=function(){this.flatfileImporter.close()},t.prototype.launch=function(){var t=this;this.flatfileImporter.launch().catch((function(e){t.onError.next({error:e})}))},t}();r.decorators=[{type:o.Component,args:[{selector:"flatfile-button",template:'\n <button (click)="launch()" [disabled]="!isImporterLoaded">\n <div #ref [class.hide]="!isImporterLoaded">\n <ng-content></ng-content>\n </div>\n <span *ngIf="!ref && !ref.innerHTML.trim() && isImporterLoaded"\n >🔼 Upload with Flatfile</span\n >\n <span *ngIf="!isImporterLoaded">\n 🅧 Failed to Load Flatfile Importer\n </span>\n </button>\n ',styles:["\n .hide {\n display: none;\n }\n "]}]}],r.propDecorators={token:[{type:o.Input}],mountUrl:[{type:o.Input}],apiUrl:[{type:o.Input}],onInit:[{type:o.Output}],onUpload:[{type:o.Output}],onLaunch:[{type:o.Output}],onClose:[{type:o.Output}],onComplete:[{type:o.Output}],onError:[{type:o.Output}],ref:[{type:o.ViewChild,args:["ref",{read:o.ElementRef,static:!0}]}]};var i=function(){};i.decorators=[{type:o.NgModule,args:[{declarations:[r],imports:[n.CommonModule],exports:[r]}]}],Object.defineProperty(t,"flatfileImporter",{enumerable:!0,get:function(){return e.flatfileImporter}}),t.FlatfileAdapterModule=i,t.FlatfileButtonComponent=r,Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=flatfile-angular.umd.min.js.map

@@ -1,1 +0,1 @@

{"version":3,"sources":["../../../projects/angular-adapter/src/lib/flatfile-button.component.ts","../../../projects/angular-adapter/src/lib/flatfile-adapter.module.ts"],"names":["FlatfileButtonComponent","this","onInit","EventEmitter","onUpload","onLaunch","onClose","onComplete","onError","isImporterLoaded","prototype","ngOnInit","_this","token","flatfileImporter","console","log","on","res","next","error","ngOnDestroy","close","launch","catch","e","Component","args","selector","template","Input","Output","ViewChild","read","ElementRef","static","NgModule","declarations","imports","CommonModule","exports"],"mappings":"0dAcA,SAAAA,IAyBYC,KAAAC,OAAS,IAAIC,EAAAA,aACbF,KAAAG,SAAW,IAAID,EAAAA,aACfF,KAAAI,SAAW,IAAIF,EAAAA,aACfF,KAAAK,QAAU,IAAIH,EAAAA,aACdF,KAAAM,WAAa,IAAIJ,EAAAA,aACjBF,KAAAO,QAAU,IAAIL,EAAAA,aAIxBF,KAAAQ,kBAA4B,SAIrBT,EAAAU,UAAAC,SAAA,WAAA,IAAAC,EAAAX,KACL,OAAKA,KAAKY,WAQsB,IAArBC,EAAAA,kBACTC,QAAQC,IAAI,6DACZf,KAAKQ,kBAAmB,KAI1BR,KAAKa,iBAAmBA,EAAAA,iBAAiBb,KAAKY,OAE9CZ,KAAKa,iBAAiBG,GAAG,QAAQ,SAACC,GAAQ,OAAAN,EAAKV,OAAOiB,KAAKD,MAC3DjB,KAAKa,iBAAiBG,GAAG,UAAU,SAACC,GAAQ,OAAAN,EAAKR,SAASe,KAAKD,MAC/DjB,KAAKa,iBAAiBG,GAAG,UAAU,SAACC,GAAQ,OAAAN,EAAKP,SAASc,KAAKD,MAC/DjB,KAAKa,iBAAiBG,GAAG,SAAS,SAACC,GAAQ,OAAAN,EAAKN,QAAQa,KAAKD,WAC7DjB,KAAKa,iBAAiBG,GAAG,YAAY,SAACC,GAAQ,OAAAN,EAAKL,WAAWY,KAAKD,QAnBjEH,QAAQK,MACN,kEAEFnB,KAAKQ,kBAAmB,KAmBrBT,EAAAU,UAAAW,YAAA,WACLpB,KAAKa,iBAAiBQ,SAGjBtB,EAAAU,UAAAa,OAAA,WAAA,IAAAX,EAAAX,KACLA,KAAKa,iBAAiBS,SAASC,OAAM,SAACC,GACpCb,EAAKJ,QAAQW,KAAK,CAAEC,MAAOK,iCApEhCC,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,kBACVC,SAAU,8ZAcR,6FAQDC,EAAAA,sBACAC,EAAAA,yBACAA,EAAAA,yBACAA,EAAAA,wBACAA,EAAAA,2BACAA,EAAAA,wBACAA,EAAAA,oBAEAC,EAAAA,UAASL,KAAA,CAAC,MAAO,CAAEM,KAAMC,EAAAA,WAAYC,QAAQ,aCrChD,iCALCC,EAAAA,SAAQT,KAAA,CAAC,CACRU,aAAc,CAACrC,GACfsC,QAAS,CAACC,EAAAA,cACVC,QAAS,CAACxC","sourcesContent":["import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { flatfileImporter, IEvents, IFlatfileImporter } from '@flatfile/sdk';\nimport { FlatfileMethods } from './interfaces';\n\n@Component({\n selector: 'flatfile-button',\n template: `\n <button (click)=\"launch()\" [disabled]=\"!isImporterLoaded\">\n <div #ref [class.hide]=\"!isImporterLoaded\">\n <ng-content></ng-content>\n </div>\n <span *ngIf=\"!ref && !ref.innerHTML.trim() && isImporterLoaded\"\n >🔼 Upload with Flatfile</span\n >\n <span *ngIf=\"!isImporterLoaded\">\n 🅧 Failed to Load Flatfile Importer\n </span>\n </button>\n `,\n styles: [\n `\n .hide {\n display: none;\n }\n `,\n ],\n})\nexport class FlatfileButtonComponent implements OnInit, OnDestroy {\n @Input() token: string;\n @Output() onInit = new EventEmitter<IEvents['init']>();\n @Output() onUpload = new EventEmitter<IEvents['upload']>();\n @Output() onLaunch = new EventEmitter<IEvents['launch']>();\n @Output() onClose = new EventEmitter<IEvents['close']>();\n @Output() onComplete = new EventEmitter<IEvents['complete']>();\n @Output() onError = new EventEmitter<IEvents['error']>();\n\n @ViewChild('ref', { read: ElementRef, static: true }) ref: ElementRef;\n\n isImporterLoaded: boolean = true;\n\n private flatfileImporter: IFlatfileImporter;\n\n public ngOnInit(): void {\n if (!this.token) {\n console.error(\n '📥 Flatfile Importer ERROR - \"token\" missing via @Input()'\n );\n this.isImporterLoaded = false;\n return;\n }\n\n if (typeof flatfileImporter === 'undefined') {\n console.log('📥 Flatfile Importer ERROR - importer failed to load');\n this.isImporterLoaded = false;\n return;\n }\n\n this.flatfileImporter = flatfileImporter(this.token);\n\n this.flatfileImporter.on('init', (res) => this.onInit.next(res));\n this.flatfileImporter.on('upload', (res) => this.onUpload.next(res));\n this.flatfileImporter.on('launch', (res) => this.onLaunch.next(res));\n this.flatfileImporter.on('close', (res) => this.onClose.next(res));\n this.flatfileImporter.on('complete', (res) => this.onComplete.next(res));\n }\n\n public ngOnDestroy(): void {\n this.flatfileImporter.close();\n }\n\n public launch(): void {\n this.flatfileImporter.launch().catch((e: Error) => {\n this.onError.next({ error: e });\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlatfileButtonComponent } from './flatfile-button.component';\n\n@NgModule({\n declarations: [FlatfileButtonComponent],\n imports: [CommonModule],\n exports: [FlatfileButtonComponent],\n})\nexport class FlatfileAdapterModule {}\n"]}
{"version":3,"sources":["../../../projects/angular-adapter/src/lib/flatfile-button.component.ts","../../../projects/angular-adapter/src/lib/flatfile-adapter.module.ts"],"names":["FlatfileButtonComponent","this","onInit","EventEmitter","onUpload","onLaunch","onClose","onComplete","onError","isImporterLoaded","prototype","ngOnInit","_this","token","flatfileImporter","console","log","Object","assign","mountUrl","apiUrl","on","res","next","error","ngOnDestroy","close","launch","catch","e","Component","args","selector","template","Input","Output","ViewChild","read","ElementRef","static","NgModule","declarations","imports","CommonModule","exports"],"mappings":"0dAaA,SAAAA,IA2BYC,KAAAC,OAAS,IAAIC,EAAAA,aACbF,KAAAG,SAAW,IAAID,EAAAA,aACfF,KAAAI,SAAW,IAAIF,EAAAA,aACfF,KAAAK,QAAU,IAAIH,EAAAA,aACdF,KAAAM,WAAa,IAAIJ,EAAAA,aACjBF,KAAAO,QAAU,IAAIL,EAAAA,aAIxBF,KAAAQ,kBAA4B,SAIrBT,EAAAU,UAAAC,SAAA,WAAA,IAAAC,EAAAX,KACL,OAAKA,KAAKY,WAQsB,IAArBC,EAAAA,kBACTC,QAAQC,IAAI,6DACZf,KAAKQ,kBAAmB,KAI1BR,KAAKa,iBAAmBA,EAAAA,iBAAiBb,KAAKY,MAAKI,OAAAC,OAAAD,OAAAC,OAAA,GAC7CjB,KAAKkB,SAAW,CAAEA,SAAUlB,KAAKkB,UAAa,IAC9ClB,KAAKmB,OAAS,CAAEA,OAAQnB,KAAKmB,QAAW,KAG9CnB,KAAKa,iBAAiBO,GAAG,QAAQ,SAACC,GAAQ,OAAAV,EAAKV,OAAOqB,KAAKD,MAC3DrB,KAAKa,iBAAiBO,GAAG,UAAU,SAACC,GAAQ,OAAAV,EAAKR,SAASmB,KAAKD,MAC/DrB,KAAKa,iBAAiBO,GAAG,UAAU,SAACC,GAAQ,OAAAV,EAAKP,SAASkB,KAAKD,MAC/DrB,KAAKa,iBAAiBO,GAAG,SAAS,SAACC,GAAQ,OAAAV,EAAKN,QAAQiB,KAAKD,WAC7DrB,KAAKa,iBAAiBO,GAAG,YAAY,SAACC,GAAQ,OAAAV,EAAKL,WAAWgB,KAAKD,QAtBjEP,QAAQS,MACN,kEAEFvB,KAAKQ,kBAAmB,KAsBrBT,EAAAU,UAAAe,YAAA,WACLxB,KAAKa,iBAAiBY,SAGjB1B,EAAAU,UAAAiB,OAAA,WAAA,IAAAf,EAAAX,KACLA,KAAKa,iBAAiBa,SAASC,OAAM,SAACC,GACpCjB,EAAKJ,QAAQe,KAAK,CAAEC,MAAOK,iCAzEhCC,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,kBACVC,SAAU,8ZAcR,6FAQDC,EAAAA,wBACAA,EAAAA,sBACAA,EAAAA,sBACAC,EAAAA,yBACAA,EAAAA,yBACAA,EAAAA,wBACAA,EAAAA,2BACAA,EAAAA,wBACAA,EAAAA,oBAEAC,EAAAA,UAASL,KAAA,CAAC,MAAO,CAAEM,KAAMC,EAAAA,WAAYC,QAAQ,aCtChD,iCALCC,EAAAA,SAAQT,KAAA,CAAC,CACRU,aAAc,CAACzC,GACf0C,QAAS,CAACC,EAAAA,cACVC,QAAS,CAAC5C","sourcesContent":["import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { flatfileImporter, IEvents, IFlatfileImporter } from '@flatfile/sdk';\n\n@Component({\n selector: 'flatfile-button',\n template: `\n <button (click)=\"launch()\" [disabled]=\"!isImporterLoaded\">\n <div #ref [class.hide]=\"!isImporterLoaded\">\n <ng-content></ng-content>\n </div>\n <span *ngIf=\"!ref && !ref.innerHTML.trim() && isImporterLoaded\"\n >🔼 Upload with Flatfile</span\n >\n <span *ngIf=\"!isImporterLoaded\">\n 🅧 Failed to Load Flatfile Importer\n </span>\n </button>\n `,\n styles: [\n `\n .hide {\n display: none;\n }\n `,\n ],\n})\nexport class FlatfileButtonComponent implements OnInit, OnDestroy {\n @Input() token: string;\n @Input() mountUrl?: string;\n @Input() apiUrl?: string;\n @Output() onInit = new EventEmitter<IEvents['init']>();\n @Output() onUpload = new EventEmitter<IEvents['upload']>();\n @Output() onLaunch = new EventEmitter<IEvents['launch']>();\n @Output() onClose = new EventEmitter<IEvents['close']>();\n @Output() onComplete = new EventEmitter<IEvents['complete']>();\n @Output() onError = new EventEmitter<IEvents['error']>();\n\n @ViewChild('ref', { read: ElementRef, static: true }) ref: ElementRef;\n\n isImporterLoaded: boolean = true;\n\n private flatfileImporter: IFlatfileImporter;\n\n public ngOnInit(): void {\n if (!this.token) {\n console.error(\n '📥 Flatfile Importer ERROR - \"token\" missing via @Input()'\n );\n this.isImporterLoaded = false;\n return;\n }\n\n if (typeof flatfileImporter === 'undefined') {\n console.log('📥 Flatfile Importer ERROR - importer failed to load');\n this.isImporterLoaded = false;\n return;\n }\n\n this.flatfileImporter = flatfileImporter(this.token, {\n ...(this.mountUrl ? { mountUrl: this.mountUrl } : {}),\n ...(this.apiUrl ? { apiUrl: this.apiUrl } : {}),\n });\n\n this.flatfileImporter.on('init', (res) => this.onInit.next(res));\n this.flatfileImporter.on('upload', (res) => this.onUpload.next(res));\n this.flatfileImporter.on('launch', (res) => this.onLaunch.next(res));\n this.flatfileImporter.on('close', (res) => this.onClose.next(res));\n this.flatfileImporter.on('complete', (res) => this.onComplete.next(res));\n }\n\n public ngOnDestroy(): void {\n this.flatfileImporter.close();\n }\n\n public launch(): void {\n this.flatfileImporter.launch().catch((e: Error) => {\n this.onError.next({ error: e });\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlatfileButtonComponent } from './flatfile-button.component';\n\n@NgModule({\n declarations: [FlatfileButtonComponent],\n imports: [CommonModule],\n exports: [FlatfileButtonComponent],\n})\nexport class FlatfileAdapterModule {}\n"]}

@@ -24,3 +24,3 @@ import { Component, ElementRef, EventEmitter, Input, Output, ViewChild, } from '@angular/core';

}
this.flatfileImporter = flatfileImporter(this.token);
this.flatfileImporter = flatfileImporter(this.token, Object.assign(Object.assign({}, (this.mountUrl ? { mountUrl: this.mountUrl } : {})), (this.apiUrl ? { apiUrl: this.apiUrl } : {})));
this.flatfileImporter.on('init', (res) => this.onInit.next(res));

@@ -66,2 +66,4 @@ this.flatfileImporter.on('upload', (res) => this.onUpload.next(res));

token: [{ type: Input }],
mountUrl: [{ type: Input }],
apiUrl: [{ type: Input }],
onInit: [{ type: Output }],

@@ -75,2 +77,2 @@ onUpload: [{ type: Output }],

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdGZpbGUtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvbWFya3BpZXN6YWsvRG9jdW1lbnRzL1RyaWxvbi9DTElFTlRTL2ZsYXRmaWxlL2FuZ3VsYXItYWRhcHRlci9wcm9qZWN0cy9hbmd1bGFyLWFkYXB0ZXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2ZsYXRmaWxlLWJ1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBOEIsTUFBTSxlQUFlLENBQUM7QUEwQjdFLE1BQU0sT0FBTyx1QkFBdUI7SUF2QnBDO1FBeUJZLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUM3QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDakQsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQ2pELFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUMvQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDckQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBSXpELHFCQUFnQixHQUFZLElBQUksQ0FBQztJQXFDbkMsQ0FBQztJQWpDUSxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixPQUFPLENBQUMsS0FBSyxDQUNYLDJEQUEyRCxDQUM1RCxDQUFDO1lBQ0YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztZQUM5QixPQUFPO1NBQ1I7UUFFRCxJQUFJLE9BQU8sZ0JBQWdCLEtBQUssV0FBVyxFQUFFO1lBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1lBQzlCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQVEsRUFBRSxFQUFFO1lBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUF0RUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7O0dBWVQ7eUJBRUM7Ozs7S0FJQzthQUVKOzs7b0JBRUUsS0FBSztxQkFDTCxNQUFNO3VCQUNOLE1BQU07dUJBQ04sTUFBTTtzQkFDTixNQUFNO3lCQUNOLE1BQU07c0JBQ04sTUFBTTtrQkFFTixTQUFTLFNBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBmbGF0ZmlsZUltcG9ydGVyLCBJRXZlbnRzLCBJRmxhdGZpbGVJbXBvcnRlciB9IGZyb20gJ0BmbGF0ZmlsZS9zZGsnO1xuaW1wb3J0IHsgRmxhdGZpbGVNZXRob2RzIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmxhdGZpbGUtYnV0dG9uJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uIChjbGljayk9XCJsYXVuY2goKVwiIFtkaXNhYmxlZF09XCIhaXNJbXBvcnRlckxvYWRlZFwiPlxuICAgICAgPGRpdiAjcmVmIFtjbGFzcy5oaWRlXT1cIiFpc0ltcG9ydGVyTG9hZGVkXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW4gKm5nSWY9XCIhcmVmICYmICFyZWYuaW5uZXJIVE1MLnRyaW0oKSAmJiBpc0ltcG9ydGVyTG9hZGVkXCJcbiAgICAgICAgPvCflLwgVXBsb2FkIHdpdGggRmxhdGZpbGU8L3NwYW5cbiAgICAgID5cbiAgICAgIDxzcGFuICpuZ0lmPVwiIWlzSW1wb3J0ZXJMb2FkZWRcIj5cbiAgICAgICAg8J+FpyBGYWlsZWQgdG8gTG9hZCBGbGF0ZmlsZSBJbXBvcnRlclxuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuaGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRmxhdGZpbGVCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHRva2VuOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBvbkluaXQgPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudHNbJ2luaXQnXT4oKTtcbiAgQE91dHB1dCgpIG9uVXBsb2FkID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnRzWyd1cGxvYWQnXT4oKTtcbiAgQE91dHB1dCgpIG9uTGF1bmNoID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnRzWydsYXVuY2gnXT4oKTtcbiAgQE91dHB1dCgpIG9uQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudHNbJ2Nsb3NlJ10+KCk7XG4gIEBPdXRwdXQoKSBvbkNvbXBsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnRzWydjb21wbGV0ZSddPigpO1xuICBAT3V0cHV0KCkgb25FcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50c1snZXJyb3InXT4oKTtcblxuICBAVmlld0NoaWxkKCdyZWYnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSByZWY6IEVsZW1lbnRSZWY7XG5cbiAgaXNJbXBvcnRlckxvYWRlZDogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHJpdmF0ZSBmbGF0ZmlsZUltcG9ydGVyOiBJRmxhdGZpbGVJbXBvcnRlcjtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRva2VuKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAn8J+TpSBGbGF0ZmlsZSBJbXBvcnRlciBFUlJPUiAtIFwidG9rZW5cIiBtaXNzaW5nIHZpYSBASW5wdXQoKSdcbiAgICAgICk7XG4gICAgICB0aGlzLmlzSW1wb3J0ZXJMb2FkZWQgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGZsYXRmaWxlSW1wb3J0ZXIgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25zb2xlLmxvZygn8J+TpSBGbGF0ZmlsZSBJbXBvcnRlciBFUlJPUiAtIGltcG9ydGVyIGZhaWxlZCB0byBsb2FkJyk7XG4gICAgICB0aGlzLmlzSW1wb3J0ZXJMb2FkZWQgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmZsYXRmaWxlSW1wb3J0ZXIgPSBmbGF0ZmlsZUltcG9ydGVyKHRoaXMudG9rZW4pO1xuXG4gICAgdGhpcy5mbGF0ZmlsZUltcG9ydGVyLm9uKCdpbml0JywgKHJlcykgPT4gdGhpcy5vbkluaXQubmV4dChyZXMpKTtcbiAgICB0aGlzLmZsYXRmaWxlSW1wb3J0ZXIub24oJ3VwbG9hZCcsIChyZXMpID0+IHRoaXMub25VcGxvYWQubmV4dChyZXMpKTtcbiAgICB0aGlzLmZsYXRmaWxlSW1wb3J0ZXIub24oJ2xhdW5jaCcsIChyZXMpID0+IHRoaXMub25MYXVuY2gubmV4dChyZXMpKTtcbiAgICB0aGlzLmZsYXRmaWxlSW1wb3J0ZXIub24oJ2Nsb3NlJywgKHJlcykgPT4gdGhpcy5vbkNsb3NlLm5leHQocmVzKSk7XG4gICAgdGhpcy5mbGF0ZmlsZUltcG9ydGVyLm9uKCdjb21wbGV0ZScsIChyZXMpID0+IHRoaXMub25Db21wbGV0ZS5uZXh0KHJlcykpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZmxhdGZpbGVJbXBvcnRlci5jbG9zZSgpO1xuICB9XG5cbiAgcHVibGljIGxhdW5jaCgpOiB2b2lkIHtcbiAgICB0aGlzLmZsYXRmaWxlSW1wb3J0ZXIubGF1bmNoKCkuY2F0Y2goKGU6IEVycm9yKSA9PiB7XG4gICAgICB0aGlzLm9uRXJyb3IubmV4dCh7IGVycm9yOiBlIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdGZpbGUtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvbWFya3BpZXN6YWsvRG9jdW1lbnRzL1RyaWxvbi9DTElFTlRTL2ZsYXRmaWxlL2FuZ3VsYXItYWRhcHRlci9wcm9qZWN0cy9hbmd1bGFyLWFkYXB0ZXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2ZsYXRmaWxlLWJ1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBOEIsTUFBTSxlQUFlLENBQUM7QUF5QjdFLE1BQU0sT0FBTyx1QkFBdUI7SUF2QnBDO1FBMkJZLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUM3QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDakQsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQ2pELFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUMvQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDckQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBSXpELHFCQUFnQixHQUFZLElBQUksQ0FBQztJQXdDbkMsQ0FBQztJQXBDUSxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixPQUFPLENBQUMsS0FBSyxDQUNYLDJEQUEyRCxDQUM1RCxDQUFDO1lBQ0YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztZQUM5QixPQUFPO1NBQ1I7UUFFRCxJQUFJLE9BQU8sZ0JBQWdCLEtBQUssV0FBVyxFQUFFO1lBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1lBQzlCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxrQ0FDOUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUNsRCxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQy9DLENBQUM7UUFFSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBUSxFQUFFLEVBQUU7WUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQTNFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7R0FZVDt5QkFFQzs7OztLQUlDO2FBRUo7OztvQkFFRSxLQUFLO3VCQUNMLEtBQUs7cUJBQ0wsS0FBSztxQkFDTCxNQUFNO3VCQUNOLE1BQU07dUJBQ04sTUFBTTtzQkFDTixNQUFNO3lCQUNOLE1BQU07c0JBQ04sTUFBTTtrQkFFTixTQUFTLFNBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBmbGF0ZmlsZUltcG9ydGVyLCBJRXZlbnRzLCBJRmxhdGZpbGVJbXBvcnRlciB9IGZyb20gJ0BmbGF0ZmlsZS9zZGsnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmbGF0ZmlsZS1idXR0b24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b24gKGNsaWNrKT1cImxhdW5jaCgpXCIgW2Rpc2FibGVkXT1cIiFpc0ltcG9ydGVyTG9hZGVkXCI+XG4gICAgICA8ZGl2ICNyZWYgW2NsYXNzLmhpZGVdPVwiIWlzSW1wb3J0ZXJMb2FkZWRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhbiAqbmdJZj1cIiFyZWYgJiYgIXJlZi5pbm5lckhUTUwudHJpbSgpICYmIGlzSW1wb3J0ZXJMb2FkZWRcIlxuICAgICAgICA+8J+UvCBVcGxvYWQgd2l0aCBGbGF0ZmlsZTwvc3BhblxuICAgICAgPlxuICAgICAgPHNwYW4gKm5nSWY9XCIhaXNJbXBvcnRlckxvYWRlZFwiPlxuICAgICAgICDwn4WnIEZhaWxlZCB0byBMb2FkIEZsYXRmaWxlIEltcG9ydGVyXG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5oaWRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGbGF0ZmlsZUJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgdG9rZW46IHN0cmluZztcbiAgQElucHV0KCkgbW91bnRVcmw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFwaVVybD86IHN0cmluZztcbiAgQE91dHB1dCgpIG9uSW5pdCA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50c1snaW5pdCddPigpO1xuICBAT3V0cHV0KCkgb25VcGxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudHNbJ3VwbG9hZCddPigpO1xuICBAT3V0cHV0KCkgb25MYXVuY2ggPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudHNbJ2xhdW5jaCddPigpO1xuICBAT3V0cHV0KCkgb25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50c1snY2xvc2UnXT4oKTtcbiAgQE91dHB1dCgpIG9uQ29tcGxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudHNbJ2NvbXBsZXRlJ10+KCk7XG4gIEBPdXRwdXQoKSBvbkVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnRzWydlcnJvciddPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3JlZicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIHJlZjogRWxlbWVudFJlZjtcblxuICBpc0ltcG9ydGVyTG9hZGVkOiBib29sZWFuID0gdHJ1ZTtcblxuICBwcml2YXRlIGZsYXRmaWxlSW1wb3J0ZXI6IElGbGF0ZmlsZUltcG9ydGVyO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudG9rZW4pIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICfwn5OlIEZsYXRmaWxlIEltcG9ydGVyIEVSUk9SIC0gXCJ0b2tlblwiIG1pc3NpbmcgdmlhIEBJbnB1dCgpJ1xuICAgICAgKTtcbiAgICAgIHRoaXMuaXNJbXBvcnRlckxvYWRlZCA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZmxhdGZpbGVJbXBvcnRlciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUubG9nKCfwn5OlIEZsYXRmaWxlIEltcG9ydGVyIEVSUk9SIC0gaW1wb3J0ZXIgZmFpbGVkIHRvIGxvYWQnKTtcbiAgICAgIHRoaXMuaXNJbXBvcnRlckxvYWRlZCA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZmxhdGZpbGVJbXBvcnRlciA9IGZsYXRmaWxlSW1wb3J0ZXIodGhpcy50b2tlbiwge1xuICAgICAgLi4uKHRoaXMubW91bnRVcmwgPyB7IG1vdW50VXJsOiB0aGlzLm1vdW50VXJsIH0gOiB7fSksXG4gICAgICAuLi4odGhpcy5hcGlVcmwgPyB7IGFwaVVybDogdGhpcy5hcGlVcmwgfSA6IHt9KSxcbiAgICB9KTtcblxuICAgIHRoaXMuZmxhdGZpbGVJbXBvcnRlci5vbignaW5pdCcsIChyZXMpID0+IHRoaXMub25Jbml0Lm5leHQocmVzKSk7XG4gICAgdGhpcy5mbGF0ZmlsZUltcG9ydGVyLm9uKCd1cGxvYWQnLCAocmVzKSA9PiB0aGlzLm9uVXBsb2FkLm5leHQocmVzKSk7XG4gICAgdGhpcy5mbGF0ZmlsZUltcG9ydGVyLm9uKCdsYXVuY2gnLCAocmVzKSA9PiB0aGlzLm9uTGF1bmNoLm5leHQocmVzKSk7XG4gICAgdGhpcy5mbGF0ZmlsZUltcG9ydGVyLm9uKCdjbG9zZScsIChyZXMpID0+IHRoaXMub25DbG9zZS5uZXh0KHJlcykpO1xuICAgIHRoaXMuZmxhdGZpbGVJbXBvcnRlci5vbignY29tcGxldGUnLCAocmVzKSA9PiB0aGlzLm9uQ29tcGxldGUubmV4dChyZXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZsYXRmaWxlSW1wb3J0ZXIuY2xvc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBsYXVuY2goKTogdm9pZCB7XG4gICAgdGhpcy5mbGF0ZmlsZUltcG9ydGVyLmxhdW5jaCgpLmNhdGNoKChlOiBFcnJvcikgPT4ge1xuICAgICAgdGhpcy5vbkVycm9yLm5leHQoeyBlcnJvcjogZSB9KTtcbiAgICB9KTtcbiAgfVxufVxuIl19

@@ -27,3 +27,3 @@ import { flatfileImporter } from '@flatfile/sdk';

}
this.flatfileImporter = flatfileImporter(this.token);
this.flatfileImporter = flatfileImporter(this.token, Object.assign(Object.assign({}, (this.mountUrl ? { mountUrl: this.mountUrl } : {})), (this.apiUrl ? { apiUrl: this.apiUrl } : {})));
this.flatfileImporter.on('init', (res) => this.onInit.next(res));

@@ -69,2 +69,4 @@ this.flatfileImporter.on('upload', (res) => this.onUpload.next(res));

token: [{ type: Input }],
mountUrl: [{ type: Input }],
apiUrl: [{ type: Input }],
onInit: [{ type: Output }],

@@ -71,0 +73,0 @@ onUpload: [{ type: Output }],

@@ -1,1 +0,1 @@

{"version":3,"file":"flatfile-angular.js","sources":["../../../projects/angular-adapter/src/lib/flatfile-button.component.ts","../../../projects/angular-adapter/src/lib/flatfile-adapter.module.ts","../../../projects/angular-adapter/src/public-api.ts","../../../projects/angular-adapter/src/flatfile-angular.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { flatfileImporter, IEvents, IFlatfileImporter } from '@flatfile/sdk';\nimport { FlatfileMethods } from './interfaces';\n\n@Component({\n selector: 'flatfile-button',\n template: `\n <button (click)=\"launch()\" [disabled]=\"!isImporterLoaded\">\n <div #ref [class.hide]=\"!isImporterLoaded\">\n <ng-content></ng-content>\n </div>\n <span *ngIf=\"!ref && !ref.innerHTML.trim() && isImporterLoaded\"\n >🔼 Upload with Flatfile</span\n >\n <span *ngIf=\"!isImporterLoaded\">\n 🅧 Failed to Load Flatfile Importer\n </span>\n </button>\n `,\n styles: [\n `\n .hide {\n display: none;\n }\n `,\n ],\n})\nexport class FlatfileButtonComponent implements OnInit, OnDestroy {\n @Input() token: string;\n @Output() onInit = new EventEmitter<IEvents['init']>();\n @Output() onUpload = new EventEmitter<IEvents['upload']>();\n @Output() onLaunch = new EventEmitter<IEvents['launch']>();\n @Output() onClose = new EventEmitter<IEvents['close']>();\n @Output() onComplete = new EventEmitter<IEvents['complete']>();\n @Output() onError = new EventEmitter<IEvents['error']>();\n\n @ViewChild('ref', { read: ElementRef, static: true }) ref: ElementRef;\n\n isImporterLoaded: boolean = true;\n\n private flatfileImporter: IFlatfileImporter;\n\n public ngOnInit(): void {\n if (!this.token) {\n console.error(\n '📥 Flatfile Importer ERROR - \"token\" missing via @Input()'\n );\n this.isImporterLoaded = false;\n return;\n }\n\n if (typeof flatfileImporter === 'undefined') {\n console.log('📥 Flatfile Importer ERROR - importer failed to load');\n this.isImporterLoaded = false;\n return;\n }\n\n this.flatfileImporter = flatfileImporter(this.token);\n\n this.flatfileImporter.on('init', (res) => this.onInit.next(res));\n this.flatfileImporter.on('upload', (res) => this.onUpload.next(res));\n this.flatfileImporter.on('launch', (res) => this.onLaunch.next(res));\n this.flatfileImporter.on('close', (res) => this.onClose.next(res));\n this.flatfileImporter.on('complete', (res) => this.onComplete.next(res));\n }\n\n public ngOnDestroy(): void {\n this.flatfileImporter.close();\n }\n\n public launch(): void {\n this.flatfileImporter.launch().catch((e: Error) => {\n this.onError.next({ error: e });\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlatfileButtonComponent } from './flatfile-button.component';\n\n@NgModule({\n declarations: [FlatfileButtonComponent],\n imports: [CommonModule],\n exports: [FlatfileButtonComponent],\n})\nexport class FlatfileAdapterModule {}\n","/**\n * @note Public API Surface of angular-adapter\n */\n\nimport {\n flatfileImporter,\n IFlatfileImporter,\n IUnsafeGenerateTokenOptions,\n} from '@flatfile/sdk';\n\nexport * from './lib/flatfile-adapter.module';\nexport * from './lib/flatfile-button.component';\nexport * from './lib/interfaces';\n\nexport { flatfileImporter, IFlatfileImporter, IUnsafeGenerateTokenOptions };\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAqCa,uBAAuB;IAvBpC;QAyBY,WAAM,GAAG,IAAI,YAAY,EAAmB,CAAC;QAC7C,aAAQ,GAAG,IAAI,YAAY,EAAqB,CAAC;QACjD,aAAQ,GAAG,IAAI,YAAY,EAAqB,CAAC;QACjD,YAAO,GAAG,IAAI,YAAY,EAAoB,CAAC;QAC/C,eAAU,GAAG,IAAI,YAAY,EAAuB,CAAC;QACrD,YAAO,GAAG,IAAI,YAAY,EAAoB,CAAC;QAIzD,qBAAgB,GAAY,IAAI,CAAC;KAqClC;IAjCQ,QAAQ;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,KAAK,CACX,2DAA2D,CAC5D,CAAC;YACF,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,OAAO;SACR;QAED,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;YAC3C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,OAAO;SACR;QAED,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1E;IAEM,WAAW;QAChB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;KAC/B;IAEM,MAAM;QACX,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAQ;YAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;SACjC,CAAC,CAAC;KACJ;;;YAtEF,SAAS,SAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,QAAQ,EAAE;;;;;;;;;;;;GAYT;yBAEC;;;;KAIC;aAEJ;;;oBAEE,KAAK;qBACL,MAAM;uBACN,MAAM;uBACN,MAAM;sBACN,MAAM;yBACN,MAAM;sBACN,MAAM;kBAEN,SAAS,SAAC,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;;;MCrCzC,qBAAqB;;;YALjC,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;gBACvC,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,OAAO,EAAE,CAAC,uBAAuB,CAAC;aACnC;;;ACRD;;;;ACAA;;;;;;"}
{"version":3,"file":"flatfile-angular.js","sources":["../../../projects/angular-adapter/src/lib/flatfile-button.component.ts","../../../projects/angular-adapter/src/lib/flatfile-adapter.module.ts","../../../projects/angular-adapter/src/public-api.ts","../../../projects/angular-adapter/src/flatfile-angular.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { flatfileImporter, IEvents, IFlatfileImporter } from '@flatfile/sdk';\n\n@Component({\n selector: 'flatfile-button',\n template: `\n <button (click)=\"launch()\" [disabled]=\"!isImporterLoaded\">\n <div #ref [class.hide]=\"!isImporterLoaded\">\n <ng-content></ng-content>\n </div>\n <span *ngIf=\"!ref && !ref.innerHTML.trim() && isImporterLoaded\"\n >🔼 Upload with Flatfile</span\n >\n <span *ngIf=\"!isImporterLoaded\">\n 🅧 Failed to Load Flatfile Importer\n </span>\n </button>\n `,\n styles: [\n `\n .hide {\n display: none;\n }\n `,\n ],\n})\nexport class FlatfileButtonComponent implements OnInit, OnDestroy {\n @Input() token: string;\n @Input() mountUrl?: string;\n @Input() apiUrl?: string;\n @Output() onInit = new EventEmitter<IEvents['init']>();\n @Output() onUpload = new EventEmitter<IEvents['upload']>();\n @Output() onLaunch = new EventEmitter<IEvents['launch']>();\n @Output() onClose = new EventEmitter<IEvents['close']>();\n @Output() onComplete = new EventEmitter<IEvents['complete']>();\n @Output() onError = new EventEmitter<IEvents['error']>();\n\n @ViewChild('ref', { read: ElementRef, static: true }) ref: ElementRef;\n\n isImporterLoaded: boolean = true;\n\n private flatfileImporter: IFlatfileImporter;\n\n public ngOnInit(): void {\n if (!this.token) {\n console.error(\n '📥 Flatfile Importer ERROR - \"token\" missing via @Input()'\n );\n this.isImporterLoaded = false;\n return;\n }\n\n if (typeof flatfileImporter === 'undefined') {\n console.log('📥 Flatfile Importer ERROR - importer failed to load');\n this.isImporterLoaded = false;\n return;\n }\n\n this.flatfileImporter = flatfileImporter(this.token, {\n ...(this.mountUrl ? { mountUrl: this.mountUrl } : {}),\n ...(this.apiUrl ? { apiUrl: this.apiUrl } : {}),\n });\n\n this.flatfileImporter.on('init', (res) => this.onInit.next(res));\n this.flatfileImporter.on('upload', (res) => this.onUpload.next(res));\n this.flatfileImporter.on('launch', (res) => this.onLaunch.next(res));\n this.flatfileImporter.on('close', (res) => this.onClose.next(res));\n this.flatfileImporter.on('complete', (res) => this.onComplete.next(res));\n }\n\n public ngOnDestroy(): void {\n this.flatfileImporter.close();\n }\n\n public launch(): void {\n this.flatfileImporter.launch().catch((e: Error) => {\n this.onError.next({ error: e });\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlatfileButtonComponent } from './flatfile-button.component';\n\n@NgModule({\n declarations: [FlatfileButtonComponent],\n imports: [CommonModule],\n exports: [FlatfileButtonComponent],\n})\nexport class FlatfileAdapterModule {}\n","/**\n * @note Public API Surface of angular-adapter\n */\n\nimport {\n flatfileImporter,\n IFlatfileImporter,\n IUnsafeGenerateTokenOptions,\n} from '@flatfile/sdk';\n\nexport * from './lib/flatfile-adapter.module';\nexport * from './lib/flatfile-button.component';\nexport * from './lib/interfaces';\n\nexport { flatfileImporter, IFlatfileImporter, IUnsafeGenerateTokenOptions };\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAoCa,uBAAuB;IAvBpC;QA2BY,WAAM,GAAG,IAAI,YAAY,EAAmB,CAAC;QAC7C,aAAQ,GAAG,IAAI,YAAY,EAAqB,CAAC;QACjD,aAAQ,GAAG,IAAI,YAAY,EAAqB,CAAC;QACjD,YAAO,GAAG,IAAI,YAAY,EAAoB,CAAC;QAC/C,eAAU,GAAG,IAAI,YAAY,EAAuB,CAAC;QACrD,YAAO,GAAG,IAAI,YAAY,EAAoB,CAAC;QAIzD,qBAAgB,GAAY,IAAI,CAAC;KAwClC;IApCQ,QAAQ;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,KAAK,CACX,2DAA2D,CAC5D,CAAC;YACF,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,OAAO;SACR;QAED,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;YAC3C,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,OAAO;SACR;QAED,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,mCAC7C,IAAI,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,KAChD,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAC9C,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1E;IAEM,WAAW;QAChB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;KAC/B;IAEM,MAAM;QACX,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAQ;YAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;SACjC,CAAC,CAAC;KACJ;;;YA3EF,SAAS,SAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,QAAQ,EAAE;;;;;;;;;;;;GAYT;yBAEC;;;;KAIC;aAEJ;;;oBAEE,KAAK;uBACL,KAAK;qBACL,KAAK;qBACL,MAAM;uBACN,MAAM;uBACN,MAAM;sBACN,MAAM;yBACN,MAAM;sBACN,MAAM;kBAEN,SAAS,SAAC,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;;;MCtCzC,qBAAqB;;;YALjC,QAAQ,SAAC;gBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;gBACvC,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,OAAO,EAAE,CAAC,uBAAuB,CAAC;aACnC;;;ACRD;;;;ACAA;;;;;;"}

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"exports":[{"from":"./lib/output-method.interface"},{"from":"./lib/params.interface"}],"metadata":{"FlatfileAdapterModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"FlatfileButtonComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":12}],"exports":[{"__symbolic":"reference","name":"FlatfileButtonComponent"}]}]}],"members":{}},"FlatfileButtonComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"flatfile-button","template":"\n <button (click)=\"launch()\" [disabled]=\"!isImporterLoaded\">\n <div #ref [class.hide]=\"!isImporterLoaded\">\n <ng-content></ng-content>\n </div>\n <span *ngIf=\"!ref && !ref.innerHTML.trim() && isImporterLoaded\"\n >🔼 Upload with Flatfile</span\n >\n <span *ngIf=\"!isImporterLoaded\">\n 🅧 Failed to Load Flatfile Importer\n </span>\n </button>\n ","styles":["\n .hide {\n display: none;\n }\n "]}]}],"members":{"token":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"onInit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":39,"character":3}}]}],"onUpload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":40,"character":3}}]}],"onLaunch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":41,"character":3}}]}],"onClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":3}}]}],"onComplete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":43,"character":3}}]}],"onError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":3}}]}],"ref":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":46,"character":3},"arguments":["ref",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":46,"character":28},"static":true}]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"launch":[{"__symbolic":"method"}]}}},"origins":{"flatfileImporter":"@flatfile/sdk","IFlatfileImporter":"@flatfile/sdk","IUnsafeGenerateTokenOptions":"@flatfile/sdk","FlatfileAdapterModule":"./lib/flatfile-adapter.module","FlatfileButtonComponent":"./lib/flatfile-button.component"},"importAs":"@flatfile/angular"}
{"__symbolic":"module","version":4,"exports":[{"from":"./lib/output-method.interface"},{"from":"./lib/params.interface"}],"metadata":{"FlatfileAdapterModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"FlatfileButtonComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":12}],"exports":[{"__symbolic":"reference","name":"FlatfileButtonComponent"}]}]}],"members":{}},"FlatfileButtonComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"flatfile-button","template":"\n <button (click)=\"launch()\" [disabled]=\"!isImporterLoaded\">\n <div #ref [class.hide]=\"!isImporterLoaded\">\n <ng-content></ng-content>\n </div>\n <span *ngIf=\"!ref && !ref.innerHTML.trim() && isImporterLoaded\"\n >🔼 Upload with Flatfile</span\n >\n <span *ngIf=\"!isImporterLoaded\">\n 🅧 Failed to Load Flatfile Importer\n </span>\n </button>\n ","styles":["\n .hide {\n display: none;\n }\n "]}]}],"members":{"token":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"mountUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"apiUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"onInit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":40,"character":3}}]}],"onUpload":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":41,"character":3}}]}],"onLaunch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":3}}]}],"onClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":43,"character":3}}]}],"onComplete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":3}}]}],"onError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":45,"character":3}}]}],"ref":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":47,"character":3},"arguments":["ref",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":47,"character":28},"static":true}]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"launch":[{"__symbolic":"method"}]}}},"origins":{"flatfileImporter":"@flatfile/sdk","IFlatfileImporter":"@flatfile/sdk","IUnsafeGenerateTokenOptions":"@flatfile/sdk","FlatfileAdapterModule":"./lib/flatfile-adapter.module","FlatfileButtonComponent":"./lib/flatfile-button.component"},"importAs":"@flatfile/angular"}
import { ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
export declare class FlatfileButtonComponent implements OnInit, OnDestroy {
token: string;
mountUrl?: string;
apiUrl?: string;
onInit: EventEmitter<{

@@ -5,0 +7,0 @@ batchId: string;

{
"name": "@flatfile/angular",
"version": "3.0.0",
"version": "3.1.0",
"homepage": "https://flatfile.com/",

@@ -5,0 +5,0 @@ "description": "Angular flatfile adapter",

@@ -10,6 +10,18 @@ # Flatfile Angular Component - @flatfile/angular

> NOTE: If you upgrading from previous versions (2.x), v3+ comes with some updates & breaking changes
#### BREAKING CHANGES:
Note that the latest version of `@flatfile/angular` 3+ uses the new `@flatfile/sdk` underneath which changes the API surface of interacting with the flatfile adapter entirely.
[Read more about these changes here](https://flatfile.com/docs/implementing-embeds/)
There is now only 1 required input, and that is `[token]` (which you must receive from your backend).
[Read more about generating a Token here](https://flatfile.com/docs/sdk/)
## Getting Started with Flatfile & Angular
We've made it really simple for you to get started with Flatfile with our new Flatfile Component. Here's what you'll need to know to get started.
> Note: This package is ideally suited for Angular version 8+ (or higher)
First, install the dependency via npm:

@@ -25,4 +37,2 @@

NOTE: v3 had some major breaking changes, along with how the tokens/keys are created & passed into the library, **[read more about these changes here](https://flatfile.com/docs/implementing-embeds/)**
To view information about the latest releases and any minor/major changes, check out the [changelog here](./CHANGELOG.md).

@@ -51,3 +61,3 @@

The only thing **REQUIRED** for `<flatfile-button>` is the Input **`[token]`**, which you must retrieve from your backend.
The only thing **REQUIRED** for `<flatfile-button>` is the Input **`[token]`**, which you must retrieve from your backend.

@@ -103,3 +113,3 @@ **More information [here](https://flatfile.com/docs/implementing-embeds/)**

### More advanced use-case example
### More advanced use-case example (kitchen sink)

@@ -130,2 +140,4 @@ This is an example showcase all of the other additional (and optional) `@Output()` methods you could subscribe to.

[token]="token"
[mountUrl]="mountUrl"
[apiUrl]="apiUrl"
(onInit)="onInit($event)"

@@ -168,2 +180,7 @@ (onLaunch)="onLaunch($event)"

/** optional **/
mountUrl = '';
/** optional **/
apiUrl = '';
results;

@@ -170,0 +187,0 @@