{"version":3,"file":"ngx-spinner-svc.mjs","sources":["../../../projects/ngx-spinner-svc/src/lib/spinner.service.ts","../../../projects/ngx-spinner-svc/src/lib/spinner.component.ts","../../../projects/ngx-spinner-svc/src/lib/spinner.module.ts","../../../projects/ngx-spinner-svc/src/public-api.ts","../../../projects/ngx-spinner-svc/src/ngx-spinner-svc.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { SpinnerComponent } from './spinner.component';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class SpinnerService {\n  private spinnerCache = new Set<SpinnerComponent>();\n  constructor() { }\n\n  _register(spinner: SpinnerComponent): void {\n    this.spinnerCache.add(spinner);\n  }\n\n  _unregister(spinnerToRemove: SpinnerComponent): void {\n    this.spinnerCache.forEach(spinner => {\n      if (spinner === spinnerToRemove) {\n        this.spinnerCache.delete(spinner);\n      }\n    });\n  }\n\n  _unregisterGroup(spinnerGroup: string): void {\n    this.spinnerCache.forEach(spinner => {\n      if (spinner.group === spinnerGroup) {\n        this.spinnerCache.delete(spinner);\n      }\n    });\n  }\n\n  _unregisterAll(): void {\n    this.spinnerCache.clear();\n  }\n\n  show(spinnerName: string): void {\n    this.spinnerCache.forEach(spinner => {\n      if (spinner.name === spinnerName) {\n        spinner.show = true;\n      }\n    });\n  }\n\n  hide(spinnerName: string): void {\n    this.spinnerCache.forEach(spinner => {\n      if (spinner.name === spinnerName) {\n        spinner.show = false;\n      }\n    });\n  }\n\n  showGroup(spinnerGroup: string): void {\n    this.spinnerCache.forEach(spinner => {\n      if (spinner.group === spinnerGroup) {\n        spinner.show = true;\n      }\n    });\n  }\n\n  hideGroup(spinnerGroup: string): void {\n    this.spinnerCache.forEach(spinner => {\n      if (spinner.group === spinnerGroup) {\n        spinner.show = false;\n      }\n    });\n  }\n\n  showAll(): void {\n    this.spinnerCache.forEach(spinner => spinner.show = true);\n  }\n\n  hideAll(): void {\n    this.spinnerCache.forEach(spinner => spinner.show = false);\n  }\n\n  isShowing(spinnerName: string): boolean | undefined {\n    let showing;\n    this.spinnerCache.forEach(spinner => {\n      if (spinner.name === spinnerName) {\n        showing = spinner.show;\n      }\n    });\n    return showing;\n  }\n}\n","import { Component, Input, Output, OnInit, OnDestroy, EventEmitter } from '@angular/core';\nimport { SpinnerService } from './spinner.service';\n\n@Component({\n  // tslint:disable-next-line:component-selector\n  selector: 'spinner',\n  template: `\n    <div *ngIf=\"show\">\n      <img *ngIf=\"loadingImage\" [src]=\"loadingImage\" />\n      <ng-content></ng-content>\n    </div>\n  `,\n  styles: []\n})\nexport class SpinnerComponent implements OnInit, OnDestroy {\n  constructor(private spinnerService: SpinnerService) {\n    this.name = '';\n    this.group = '';\n    this.loadingImage = '';\n  }\n\n  @Input() public name: string;\n  @Input() public group: string;\n  @Input() public loadingImage: string;\n\n  private isShowing = false;\n\n  @Output() showChange = new EventEmitter();\n\n  @Input()\n  get show(): boolean {\n    return this.isShowing;\n  }\n\n  set show(val: boolean) {\n    this.isShowing = val;\n    this.showChange.emit(this.isShowing);\n  }\n\n  ngOnInit(): void {\n    if (!this.name) { throw new Error('Spinner must have a \\'name\\' attribute.'); }\n\n    this.spinnerService._register(this);\n  }\n\n  ngOnDestroy(): void {\n    this.spinnerService._unregister(this);\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SpinnerComponent } from './spinner.component';\nimport { SpinnerService } from './spinner.service';\n\n@NgModule({\n  declarations: [SpinnerComponent],\n  imports: [CommonModule],\n  exports: [SpinnerComponent],\n  providers: [SpinnerService]\n})\nexport class SpinnerModule { }\n","/*\n * Public API Surface of spinner\n */\n\nexport * from './lib/spinner.service';\nexport * from './lib/spinner.component';\nexport * from './lib/spinner.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SpinnerService"],"mappings":";;;;;MAMa,cAAc,CAAA;AAEzB,IAAA,WAAA,GAAA;AADQ,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;KAClC;AAEjB,IAAA,SAAS,CAAC,OAAyB,EAAA;AACjC,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KAChC;AAED,IAAA,WAAW,CAAC,eAAiC,EAAA;AAC3C,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,IAAG;AAClC,YAAA,IAAI,OAAO,KAAK,eAAe,EAAE;AAC/B,gBAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACnC;AACH,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,gBAAgB,CAAC,YAAoB,EAAA;AACnC,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,IAAG;AAClC,YAAA,IAAI,OAAO,CAAC,KAAK,KAAK,YAAY,EAAE;AAClC,gBAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACnC;AACH,SAAC,CAAC,CAAC;KACJ;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;KAC3B;AAED,IAAA,IAAI,CAAC,WAAmB,EAAA;AACtB,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,IAAG;AAClC,YAAA,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE;AAChC,gBAAA,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;aACrB;AACH,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,IAAI,CAAC,WAAmB,EAAA;AACtB,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,IAAG;AAClC,YAAA,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE;AAChC,gBAAA,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;aACtB;AACH,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,SAAS,CAAC,YAAoB,EAAA;AAC5B,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,IAAG;AAClC,YAAA,IAAI,OAAO,CAAC,KAAK,KAAK,YAAY,EAAE;AAClC,gBAAA,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;aACrB;AACH,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,SAAS,CAAC,YAAoB,EAAA;AAC5B,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,IAAG;AAClC,YAAA,IAAI,OAAO,CAAC,KAAK,KAAK,YAAY,EAAE;AAClC,gBAAA,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;aACtB;AACH,SAAC,CAAC,CAAC;KACJ;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;KAC3D;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;KAC5D;AAED,IAAA,SAAS,CAAC,WAAmB,EAAA;AAC3B,QAAA,IAAI,OAAO,CAAC;AACZ,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,IAAG;AAClC,YAAA,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE;AAChC,gBAAA,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;aACxB;AACH,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,OAAO,CAAC;KAChB;8GA5EU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCSY,gBAAgB,CAAA;AAC3B,IAAA,WAAA,CAAoB,cAA8B,EAAA;QAA9B,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QAU1C,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAEhB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;AAXxC,QAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AACf,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAChB,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;KACxB;AAUD,IAAA,IACI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IAED,IAAI,IAAI,CAAC,GAAY,EAAA;AACnB,QAAA,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACtC;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAAE;AAE/E,QAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;KACrC;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KACvC;8GAjCU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EARjB,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;AAKT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGU,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAX5B,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,EACT,QAAA,EAAA,CAAA;;;;;AAKT,EAAA,CAAA,EAAA,CAAA;gFAUe,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,YAAY,EAAA,CAAA;sBAA3B,KAAK;gBAII,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBAGH,IAAI,EAAA,CAAA;sBADP,KAAK;;;MClBK,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EALT,YAAA,EAAA,CAAA,gBAAgB,CACrB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAFb,SAAA,EAAA,CAAC,cAAc,CAAC,YAFjB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIX,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,SAAS,EAAE,CAAC,cAAc,CAAC;AAC5B,iBAAA,CAAA;;;ACVD;;AAEG;;ACFH;;AAEG;;;;"}