{"version":3,"file":"ngx-loading-reloaded.mjs","sources":["../../../projects/ngx-loading/src/lib/ngx-loading-config.ts","../../../projects/ngx-loading/src/lib/ngx-loading.service.ts","../../../projects/ngx-loading/src/lib/ngx-loading.component.ts","../../../projects/ngx-loading/src/lib/ngx-loading.module.ts","../../../projects/ngx-loading/src/public-api.ts","../../../projects/ngx-loading/src/ngx-loading-reloaded.ts"],"sourcesContent":["export interface INgxLoadingConfig {\n  backdropBorderRadius?: string;\n  backdropBackgroundColour?: string;\n  fullScreenBackdrop?: boolean;\n  animationType?: string;\n  primaryColour?: string;\n  secondaryColour?: string;\n  tertiaryColour?: string;\n  [key: string]: string | boolean | undefined;\n}\n\nexport class NgxLoadingConfig implements INgxLoadingConfig {\n  backdropBorderRadius?: string;\n  backdropBackgroundColour?: string;\n  fullScreenBackdrop?: boolean;\n  animationType?: string;\n  primaryColour?: string;\n  secondaryColour?: string;\n  tertiaryColour?: string;\n  [key: string]: string | boolean | undefined;\n\n  constructor(config: INgxLoadingConfig = {}) {\n    this.backdropBorderRadius = config.backdropBorderRadius;\n    this.backdropBackgroundColour = config.backdropBackgroundColour;\n    this.fullScreenBackdrop = config.fullScreenBackdrop;\n    this.animationType = config.animationType;\n    this.primaryColour = config.primaryColour;\n    this.secondaryColour = config.secondaryColour;\n    this.tertiaryColour = config.tertiaryColour;\n  }\n}\n\nexport const ngxLoadingAnimationTypes = {\n  chasingDots: 'chasing-dots',\n  circle: 'sk-circle',\n  circleSwish: 'circleSwish',\n  cubeGrid: 'sk-cube-grid',\n  doubleBounce: 'double-bounce',\n  none: 'none',\n  pulse: 'pulse',\n  rectangleBounce: 'rectangle-bounce',\n  rotatingPlane: 'rotating-plane',\n  threeBounce: 'three-bounce',\n  wanderingCubes: 'wandering-cubes',\n};\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport type { INgxLoadingConfig} from './ngx-loading-config';\nimport { NgxLoadingConfig } from './ngx-loading-config';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class NgxLoadingService {\n  public loadingConfig: INgxLoadingConfig;\n\n  constructor(\n    @Optional() @Inject('loadingConfig') private config: INgxLoadingConfig\n  ) {\n    this.loadingConfig = this.config || new NgxLoadingConfig();\n  }\n}\n","import { OnInit, TemplateRef } from '@angular/core';\nimport { Component, Input } from '@angular/core';\nimport {\n  ngxLoadingAnimationTypes,\n  NgxLoadingConfig,\n} from './ngx-loading-config';\nimport { INgxLoadingConfig } from './ngx-loading-config';\nimport { NgxLoadingService } from './ngx-loading.service';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n  selector: 'ngx-loading',\n  template: `\n    <div *ngIf=\"show\">\n      <div\n        class=\"backdrop\"\n        [ngClass]=\"{ 'full-screen': config.fullScreenBackdrop === true }\"\n        [ngStyle]=\"{\n          'border-radius': config.backdropBorderRadius,\n          'background-color': config.backdropBackgroundColour\n        }\"\n      ></div>\n\n      <div [ngSwitch]=\"config.animationType\">\n        <div\n          class=\"spinner-circle\"\n          *ngSwitchCase=\"ngxLoadingAnimationTypes.circle\"\n          [ngClass]=\"{ 'full-screen': config.fullScreenBackdrop === true }\"\n          [ngStyle]=\"{\n            'border-top-color': config.secondaryColour,\n            'border-right-color': config.secondaryColour,\n            'border-bottom-color': config.secondaryColour,\n            'border-left-color': config.primaryColour\n          }\"\n        ></div>\n\n        <div\n          *ngSwitchCase=\"ngxLoadingAnimationTypes.cubeGrid\"\n          class=\"sk-cube-grid\"\n          [ngClass]=\"{ 'full-screen': config.fullScreenBackdrop === true }\"\n        >\n          <div\n            class=\"sk-cube sk-cube1\"\n            [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          ></div>\n          <div\n            class=\"sk-cube sk-cube2\"\n            [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          ></div>\n          <div\n            class=\"sk-cube sk-cube3\"\n            [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          ></div>\n          <div\n            class=\"sk-cube sk-cube4\"\n            [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          ></div>\n          <div\n            class=\"sk-cube sk-cube5\"\n            [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          ></div>\n          <div\n            class=\"sk-cube sk-cube6\"\n            [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          ></div>\n          <div\n            class=\"sk-cube sk-cube7\"\n            [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          ></div>\n          <div\n            class=\"sk-cube sk-cube8\"\n            [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          ></div>\n          <div\n            class=\"sk-cube sk-cube9\"\n            [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          ></div>\n        </div>\n\n        <div\n          class=\"spinner-sk-rotateplane\"\n          *ngSwitchCase=\"ngxLoadingAnimationTypes.rotatingPlane\"\n          [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          [ngClass]=\"{ 'full-screen': config.fullScreenBackdrop === true }\"\n        ></div>\n\n        <div\n          class=\"spinner-rectangle-bounce\"\n          *ngSwitchCase=\"ngxLoadingAnimationTypes.rectangleBounce\"\n          [ngClass]=\"{ 'full-screen': config.fullScreenBackdrop === true }\"\n        >\n          <div\n            class=\"rect1\"\n            [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          ></div>\n          <div\n            class=\"rect2\"\n            [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          ></div>\n          <div\n            class=\"rect3\"\n            [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          ></div>\n          <div\n            class=\"rect4\"\n            [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          ></div>\n          <div\n            class=\"rect5\"\n            [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          ></div>\n        </div>\n\n        <div\n          class=\"spinner-wandering-cubes\"\n          *ngSwitchCase=\"ngxLoadingAnimationTypes.wanderingCubes\"\n          [ngClass]=\"{ 'full-screen': config.fullScreenBackdrop === true }\"\n        >\n          <div\n            class=\"cube1\"\n            [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          ></div>\n          <div\n            class=\"cube2\"\n            [ngStyle]=\"{ 'background-color': config.secondaryColour }\"\n          ></div>\n        </div>\n\n        <div\n          class=\"spinner-double-bounce\"\n          *ngSwitchCase=\"ngxLoadingAnimationTypes.doubleBounce\"\n          [ngClass]=\"{ 'full-screen': config.fullScreenBackdrop === true }\"\n        >\n          <div\n            class=\"double-bounce1\"\n            [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          ></div>\n          <div\n            class=\"double-bounce2\"\n            [ngStyle]=\"{ 'background-color': config.secondaryColour }\"\n          ></div>\n        </div>\n\n        <div\n          class=\"spinner-pulse\"\n          *ngSwitchCase=\"ngxLoadingAnimationTypes.pulse\"\n          [ngClass]=\"{ 'full-screen': config.fullScreenBackdrop === true }\"\n          [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n        ></div>\n\n        <div\n          class=\"spinner-chasing-dots\"\n          *ngSwitchCase=\"ngxLoadingAnimationTypes.chasingDots\"\n          [ngClass]=\"{ 'full-screen': config.fullScreenBackdrop === true }\"\n        >\n          <div\n            class=\"dot1\"\n            [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          ></div>\n          <div\n            class=\"dot2\"\n            [ngStyle]=\"{ 'background-color': config.secondaryColour }\"\n          ></div>\n        </div>\n\n        <div\n          class=\"spinner-circle-swish\"\n          *ngSwitchCase=\"ngxLoadingAnimationTypes.circleSwish\"\n          [ngClass]=\"{ 'full-screen': config.fullScreenBackdrop === true }\"\n          [ngStyle]=\"{ color: config.primaryColour }\"\n        ></div>\n\n        <div\n          *ngSwitchCase=\"ngxLoadingAnimationTypes.none\"\n          [ngClass]=\"{ 'full-screen': config.fullScreenBackdrop === true }\"\n        ></div>\n\n        <div\n          *ngSwitchDefault\n          class=\"spinner-three-bounce\"\n          [ngClass]=\"{ 'full-screen': config.fullScreenBackdrop === true }\"\n        >\n          <div\n            class=\"bounce1\"\n            [ngStyle]=\"{ 'background-color': config.primaryColour }\"\n          ></div>\n          <div\n            class=\"bounce2\"\n            [ngStyle]=\"{ 'background-color': config.secondaryColour }\"\n          ></div>\n          <div\n            class=\"bounce3\"\n            [ngStyle]=\"{ 'background-color': config.tertiaryColour }\"\n          ></div>\n        </div>\n\n        <ng-container *ngIf=\"template\">\n          <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n        </ng-container>\n      </div>\n    </div>\n  `,\n  styles: [\n    `\n      .backdrop {\n        z-index: 1999;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        background-color: rgba(0, 0, 0, 0.3);\n      }\n\n      /* Spinner Circle styles */\n      .spinner-circle,\n      .spinner-circle:after {\n        border-radius: 50%;\n        width: 10em;\n        height: 10em;\n      }\n\n      .spinner-circle {\n        font-size: 6px;\n        border-top: 1.1em solid rgba(255, 255, 255, 0.2);\n        border-right: 1.1em solid rgba(255, 255, 255, 0.2);\n        border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);\n        border-left: 1.1em solid #ffffff;\n        margin: auto;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        margin: auto;\n        z-index: 2000;\n        -webkit-transform: translateZ(0);\n        -ms-transform: translateZ(0);\n        transform: translateZ(0);\n        -webkit-animation: load8 1.1s infinite linear;\n        animation: load8 1.1s infinite linear;\n      }\n\n      @-webkit-keyframes load8 {\n        0% {\n          -webkit-transform: rotate(0deg);\n          transform: rotate(0deg);\n        }\n        100% {\n          -webkit-transform: rotate(360deg);\n          transform: rotate(360deg);\n        }\n      }\n\n      @keyframes load8 {\n        0% {\n          -webkit-transform: rotate(0deg);\n          transform: rotate(0deg);\n        }\n        100% {\n          -webkit-transform: rotate(360deg);\n          transform: rotate(360deg);\n        }\n      }\n\n      /* Circle Swish styles */\n      .spinner-circle-swish {\n        font-size: 60px;\n        overflow: hidden;\n        width: 1em;\n        height: 1em;\n        z-index: 2000;\n        border-radius: 50%;\n        margin: auto;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        margin: auto;\n        z-index: 2000;\n        -webkit-transform: translateZ(0);\n        -ms-transform: translateZ(0);\n        transform: translateZ(0);\n        -webkit-animation: load6 1.7s infinite ease;\n        animation: load6 1.7s infinite ease;\n      }\n\n      @-webkit-keyframes load6 {\n        0% {\n          box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em,\n            0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;\n\n          -webkit-transform: rotate(0deg);\n        }\n        5%,\n        95% {\n          box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em,\n            0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;\n        }\n        10%,\n        59% {\n          box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em,\n            -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em,\n            -0.297em -0.775em 0 -0.477em;\n        }\n        20% {\n          box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em,\n            -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em,\n            -0.749em -0.34em 0 -0.477em;\n        }\n        38% {\n          box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em,\n            -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em,\n            -0.82em -0.09em 0 -0.477em;\n        }\n        100% {\n          box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em,\n            0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;\n\n          -webkit-transform: rotate(360deg);\n        }\n      }\n\n      @keyframes load6 {\n        0% {\n          box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em,\n            0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;\n\n          transform: rotate(0deg);\n        }\n        5%,\n        95% {\n          box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em,\n            0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;\n        }\n        10%,\n        59% {\n          box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em,\n            -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em,\n            -0.297em -0.775em 0 -0.477em;\n        }\n        20% {\n          box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em,\n            -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em,\n            -0.749em -0.34em 0 -0.477em;\n        }\n        38% {\n          box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em,\n            -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em,\n            -0.82em -0.09em 0 -0.477em;\n        }\n        100% {\n          box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em,\n            0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;\n\n          transform: rotate(360deg);\n        }\n      }\n\n      /* Cube Grid styles */\n      .sk-cube-grid {\n        width: 40px;\n        height: 40px;\n\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        margin: auto;\n        z-index: 2000;\n      }\n\n      .sk-cube-grid .sk-cube {\n        width: 33%;\n        height: 33%;\n        background-color: #333;\n        float: left;\n        -webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;\n        animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;\n      }\n\n      .sk-cube-grid .sk-cube1 {\n        -webkit-animation-delay: 0.2s;\n        animation-delay: 0.2s;\n      }\n\n      .sk-cube-grid .sk-cube2 {\n        -webkit-animation-delay: 0.3s;\n        animation-delay: 0.3s;\n      }\n\n      .sk-cube-grid .sk-cube3 {\n        -webkit-animation-delay: 0.4s;\n        animation-delay: 0.4s;\n      }\n\n      .sk-cube-grid .sk-cube4 {\n        -webkit-animation-delay: 0.1s;\n        animation-delay: 0.1s;\n      }\n\n      .sk-cube-grid .sk-cube5 {\n        -webkit-animation-delay: 0.2s;\n        animation-delay: 0.2s;\n      }\n\n      .sk-cube-grid .sk-cube6 {\n        -webkit-animation-delay: 0.3s;\n        animation-delay: 0.3s;\n      }\n\n      .sk-cube-grid .sk-cube7 {\n        -webkit-animation-delay: 0s;\n        animation-delay: 0s;\n      }\n\n      .sk-cube-grid .sk-cube8 {\n        -webkit-animation-delay: 0.1s;\n        animation-delay: 0.1s;\n      }\n\n      .sk-cube-grid .sk-cube9 {\n        -webkit-animation-delay: 0.2s;\n        animation-delay: 0.2s;\n      }\n\n      @-webkit-keyframes sk-cubeGridScaleDelay {\n        0%,\n        70%,\n        100% {\n          -webkit-transform: scale3D(1, 1, 1);\n          transform: scale3D(1, 1, 1);\n        }\n        35% {\n          -webkit-transform: scale3D(0, 0, 1);\n          transform: scale3D(0, 0, 1);\n        }\n      }\n\n      @keyframes sk-cubeGridScaleDelay {\n        0%,\n        70%,\n        100% {\n          -webkit-transform: scale3D(1, 1, 1);\n          transform: scale3D(1, 1, 1);\n        }\n        35% {\n          -webkit-transform: scale3D(0, 0, 1);\n          transform: scale3D(0, 0, 1);\n        }\n      }\n\n      /* Double Bounce styles */\n      .spinner-double-bounce {\n        width: 40px;\n        height: 40px;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        margin: auto;\n        z-index: 2000;\n      }\n\n      .double-bounce1,\n      .double-bounce2 {\n        width: 100%;\n        height: 100%;\n        border-radius: 50%;\n        background-color: #333;\n        opacity: 0.6;\n        position: absolute;\n        top: 0;\n        left: 0;\n        -webkit-animation: sk-bounce 2s infinite ease-in-out;\n        animation: sk-bounce 2s infinite ease-in-out;\n      }\n\n      .double-bounce2 {\n        -webkit-animation-delay: -1s;\n        animation-delay: -1s;\n      }\n\n      @-webkit-keyframes sk-bounce {\n        0%,\n        100% {\n          -webkit-transform: scale(0);\n        }\n        50% {\n          -webkit-transform: scale(1);\n        }\n      }\n\n      @keyframes sk-bounce {\n        0%,\n        100% {\n          transform: scale(0);\n          -webkit-transform: scale(0);\n        }\n        50% {\n          transform: scale(1);\n          -webkit-transform: scale(1);\n        }\n      }\n\n      /* Pulse styles */\n      .spinner-pulse {\n        width: 40px;\n        height: 40px;\n        background-color: #333;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        margin: auto;\n        z-index: 2000;\n        border-radius: 100%;\n        -webkit-animation: sk-scaleout 1s infinite ease-in-out;\n        animation: sk-scaleout 1s infinite ease-in-out;\n      }\n\n      @-webkit-keyframes sk-scaleout {\n        0% {\n          -webkit-transform: scale(0);\n        }\n        100% {\n          -webkit-transform: scale(1);\n          opacity: 0;\n        }\n      }\n\n      @keyframes sk-scaleout {\n        0% {\n          -webkit-transform: scale(0);\n          transform: scale(0);\n        }\n        100% {\n          -webkit-transform: scale(1);\n          transform: scale(1);\n          opacity: 0;\n        }\n      }\n\n      /* Three Bounce styles */\n      .spinner-three-bounce {\n        width: 70px;\n        text-align: center;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        height: 20px;\n        margin: auto;\n        z-index: 2000;\n      }\n\n      .spinner-three-bounce > div {\n        width: 18px;\n        height: 18px;\n        background-color: #ffffff;\n\n        border-radius: 100%;\n        display: inline-block;\n        -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;\n        animation: sk-bouncedelay 1.4s infinite ease-in-out both;\n      }\n\n      .spinner-three-bounce .bounce1 {\n        -webkit-animation-delay: -0.32s;\n        animation-delay: -0.32s;\n      }\n\n      .spinner-three-bounce .bounce2 {\n        -webkit-animation-delay: -0.16s;\n        animation-delay: -0.16s;\n      }\n\n      @-webkit-keyframes sk-bouncedelay {\n        0%,\n        80%,\n        100% {\n          -webkit-transform: scale(0);\n        }\n        40% {\n          -webkit-transform: scale(1);\n        }\n      }\n\n      @keyframes sk-bouncedelay {\n        0%,\n        80%,\n        100% {\n          -webkit-transform: scale(0);\n          transform: scale(0);\n        }\n        40% {\n          -webkit-transform: scale(1);\n          transform: scale(1);\n        }\n      }\n\n      /* Rotate Plane styles */\n      .spinner-sk-rotateplane {\n        width: 40px;\n        height: 40px;\n        background-color: #ffffff;\n        text-align: center;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        margin: auto;\n        z-index: 2000;\n        -webkit-animation: sk-rotateplane 1.2s infinite ease-in-out;\n        animation: sk-rotateplane 1.2s infinite ease-in-out;\n      }\n\n      @-webkit-keyframes sk-rotateplane {\n        0% {\n          -webkit-transform: perspective(120px);\n        }\n        50% {\n          -webkit-transform: perspective(120px) rotateY(180deg);\n        }\n        100% {\n          -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg);\n        }\n      }\n\n      @keyframes sk-rotateplane {\n        0% {\n          transform: perspective(120px) rotateX(0deg) rotateY(0deg);\n          -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);\n        }\n        50% {\n          transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);\n          -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);\n        }\n        100% {\n          transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);\n          -webkit-transform: perspective(120px) rotateX(-180deg)\n            rotateY(-179.9deg);\n        }\n      }\n\n      /* Rectangle Bounce styles*/\n      .spinner-rectangle-bounce {\n        width: 50px;\n        height: 40px;\n        font-size: 10px;\n        text-align: center;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        margin: auto;\n        z-index: 2000;\n      }\n\n      .spinner-rectangle-bounce > div {\n        background-color: #ffffff;\n        height: 100%;\n        width: 6px;\n        display: inline-block;\n        -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;\n        animation: sk-stretchdelay 1.2s infinite ease-in-out;\n      }\n\n      .spinner-rectangle-bounce .rect2 {\n        -webkit-animation-delay: -1.1s;\n        animation-delay: -1.1s;\n      }\n\n      .spinner-rectangle-bounce .rect3 {\n        -webkit-animation-delay: -1s;\n        animation-delay: -1s;\n      }\n\n      .spinner-rectangle-bounce .rect4 {\n        -webkit-animation-delay: -0.9s;\n        animation-delay: -0.9s;\n      }\n\n      .spinner-rectangle-bounce .rect5 {\n        -webkit-animation-delay: -0.8s;\n        animation-delay: -0.8s;\n      }\n\n      @-webkit-keyframes sk-stretchdelay {\n        0%,\n        40%,\n        100% {\n          -webkit-transform: scaleY(0.4);\n        }\n        20% {\n          -webkit-transform: scaleY(1);\n        }\n      }\n\n      @keyframes sk-stretchdelay {\n        0%,\n        40%,\n        100% {\n          transform: scaleY(0.4);\n          -webkit-transform: scaleY(0.4);\n        }\n        20% {\n          transform: scaleY(1);\n          -webkit-transform: scaleY(1);\n        }\n      }\n\n      /* Wandering Cubes styles */\n      .spinner-wandering-cubes {\n        width: 60px;\n        height: 58px;\n        font-size: 10px;\n        text-align: center;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        margin: auto;\n        z-index: 2000;\n      }\n\n      .cube1,\n      .cube2 {\n        background-color: #ffffff;\n        width: 15px;\n        height: 15px;\n        position: absolute;\n        top: 0;\n        left: 0;\n        -webkit-animation: sk-cubemove 1.8s infinite ease-in-out;\n        animation: sk-cubemove 1.8s infinite ease-in-out;\n      }\n\n      .cube2 {\n        -webkit-animation-delay: -0.9s;\n        animation-delay: -0.9s;\n      }\n\n      @-webkit-keyframes sk-cubemove {\n        25% {\n          -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5);\n        }\n        50% {\n          -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);\n        }\n        75% {\n          -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg)\n            scale(0.5);\n        }\n        100% {\n          -webkit-transform: rotate(-360deg);\n        }\n      }\n\n      @keyframes sk-cubemove {\n        25% {\n          transform: translateX(42px) rotate(-90deg) scale(0.5);\n          -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5);\n        }\n        50% {\n          transform: translateX(42px) translateY(42px) rotate(-179deg);\n          -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg);\n        }\n        50.1% {\n          transform: translateX(42px) translateY(42px) rotate(-180deg);\n          -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);\n        }\n        75% {\n          transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);\n          -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg)\n            scale(0.5);\n        }\n        100% {\n          transform: rotate(-360deg);\n          -webkit-transform: rotate(-360deg);\n        }\n      }\n\n      /* Circle styles */\n      .sk-circle {\n        width: 40px;\n        height: 40px;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        margin: auto;\n        z-index: 2000;\n      }\n\n      .sk-circle .sk-child {\n        width: 100%;\n        height: 100%;\n        position: absolute;\n        left: 0;\n        top: 0;\n      }\n\n      .sk-circle .sk-child:before {\n        content: '';\n        display: block;\n        margin: 0 auto;\n        width: 15%;\n        height: 15%;\n        background-color: #333;\n        border-radius: 100%;\n        -webkit-animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;\n        animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;\n      }\n\n      .sk-circle .sk-circle2 {\n        -webkit-transform: rotate(30deg);\n        -ms-transform: rotate(30deg);\n        transform: rotate(30deg);\n      }\n\n      .sk-circle .sk-circle3 {\n        -webkit-transform: rotate(60deg);\n        -ms-transform: rotate(60deg);\n        transform: rotate(60deg);\n      }\n\n      .sk-circle .sk-circle4 {\n        -webkit-transform: rotate(90deg);\n        -ms-transform: rotate(90deg);\n        transform: rotate(90deg);\n      }\n\n      .sk-circle .sk-circle5 {\n        -webkit-transform: rotate(120deg);\n        -ms-transform: rotate(120deg);\n        transform: rotate(120deg);\n      }\n\n      .sk-circle .sk-circle6 {\n        -webkit-transform: rotate(150deg);\n        -ms-transform: rotate(150deg);\n        transform: rotate(150deg);\n      }\n\n      .sk-circle .sk-circle7 {\n        -webkit-transform: rotate(180deg);\n        -ms-transform: rotate(180deg);\n        transform: rotate(180deg);\n      }\n\n      .sk-circle .sk-circle8 {\n        -webkit-transform: rotate(210deg);\n        -ms-transform: rotate(210deg);\n        transform: rotate(210deg);\n      }\n\n      .sk-circle .sk-circle9 {\n        -webkit-transform: rotate(240deg);\n        -ms-transform: rotate(240deg);\n        transform: rotate(240deg);\n      }\n\n      .sk-circle .sk-circle10 {\n        -webkit-transform: rotate(270deg);\n        -ms-transform: rotate(270deg);\n        transform: rotate(270deg);\n      }\n\n      .sk-circle .sk-circle11 {\n        -webkit-transform: rotate(300deg);\n        -ms-transform: rotate(300deg);\n        transform: rotate(300deg);\n      }\n\n      .sk-circle .sk-circle12 {\n        -webkit-transform: rotate(330deg);\n        -ms-transform: rotate(330deg);\n        transform: rotate(330deg);\n      }\n\n      .sk-circle .sk-circle2:before {\n        -webkit-animation-delay: -1.1s;\n        animation-delay: -1.1s;\n      }\n\n      .sk-circle .sk-circle3:before {\n        -webkit-animation-delay: -1s;\n        animation-delay: -1s;\n      }\n\n      .sk-circle .sk-circle4:before {\n        -webkit-animation-delay: -0.9s;\n        animation-delay: -0.9s;\n      }\n\n      .sk-circle .sk-circle5:before {\n        -webkit-animation-delay: -0.8s;\n        animation-delay: -0.8s;\n      }\n\n      .sk-circle .sk-circle6:before {\n        -webkit-animation-delay: -0.7s;\n        animation-delay: -0.7s;\n      }\n\n      .sk-circle .sk-circle7:before {\n        -webkit-animation-delay: -0.6s;\n        animation-delay: -0.6s;\n      }\n\n      .sk-circle .sk-circle8:before {\n        -webkit-animation-delay: -0.5s;\n        animation-delay: -0.5s;\n      }\n\n      .sk-circle .sk-circle9:before {\n        -webkit-animation-delay: -0.4s;\n        animation-delay: -0.4s;\n      }\n\n      .sk-circle .sk-circle10:before {\n        -webkit-animation-delay: -0.3s;\n        animation-delay: -0.3s;\n      }\n\n      .sk-circle .sk-circle11:before {\n        -webkit-animation-delay: -0.2s;\n        animation-delay: -0.2s;\n      }\n\n      .sk-circle .sk-circle12:before {\n        -webkit-animation-delay: -0.1s;\n        animation-delay: -0.1s;\n      }\n\n      @-webkit-keyframes sk-circleBounceDelay {\n        0%,\n        80%,\n        100% {\n          -webkit-transform: scale(0);\n          transform: scale(0);\n        }\n        40% {\n          -webkit-transform: scale(1);\n          transform: scale(1);\n        }\n      }\n\n      @keyframes sk-circleBounceDelay {\n        0%,\n        80%,\n        100% {\n          -webkit-transform: scale(0);\n          transform: scale(0);\n        }\n        40% {\n          -webkit-transform: scale(1);\n          transform: scale(1);\n        }\n      }\n\n      /* Chasing Dots styles */\n      .spinner-chasing-dots {\n        width: 40px;\n        height: 40px;\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        margin: auto;\n        z-index: 2000;\n        text-align: center;\n        -webkit-animation: sk-rotate 2s infinite linear;\n        animation: sk-rotate 2s infinite linear;\n      }\n\n      .dot1,\n      .dot2 {\n        width: 60%;\n        height: 60%;\n        display: inline-block;\n        position: absolute;\n        top: 0;\n        background-color: #333;\n        border-radius: 100%;\n        -webkit-animation: sk-bounce 2s infinite ease-in-out;\n        animation: sk-bounce 2s infinite ease-in-out;\n      }\n\n      .dot2 {\n        top: auto;\n        bottom: 0;\n        -webkit-animation-delay: -1s;\n        animation-delay: -1s;\n      }\n\n      @-webkit-keyframes sk-rotate {\n        100% {\n          -webkit-transform: rotate(360deg);\n        }\n      }\n\n      @keyframes sk-rotate {\n        100% {\n          transform: rotate(360deg);\n          -webkit-transform: rotate(360deg);\n        }\n      }\n\n      @-webkit-keyframes sk-bounce {\n        0%,\n        100% {\n          -webkit-transform: scale(0);\n        }\n        50% {\n          -webkit-transform: scale(1);\n        }\n      }\n\n      @keyframes sk-bounce {\n        0%,\n        100% {\n          transform: scale(0);\n          -webkit-transform: scale(0);\n        }\n        50% {\n          transform: scale(1);\n          -webkit-transform: scale(1);\n        }\n      }\n\n      .full-screen {\n        position: fixed;\n        position: -ms-page;\n      }\n    `,\n  ],\n  imports: [CommonModule],\n})\nexport class NgxLoadingComponent implements OnInit {\n  @Input() show = false;\n  @Input() config: INgxLoadingConfig = new NgxLoadingConfig();\n  @Input()\n  template!: TemplateRef<Element>;\n  private defaultConfig: INgxLoadingConfig = {\n    animationType: ngxLoadingAnimationTypes.threeBounce,\n    backdropBackgroundColour: 'rgba(0, 0, 0, 0.3)',\n    backdropBorderRadius: '0px',\n    fullScreenBackdrop: false,\n    primaryColour: '#ffffff',\n    secondaryColour: '#ffffff',\n    tertiaryColour: '#ffffff',\n  };\n  public ngxLoadingAnimationTypes = ngxLoadingAnimationTypes;\n\n  constructor(private LoadingService: NgxLoadingService) {}\n\n  ngOnInit() {\n    this.setupConfig();\n  }\n\n  private setupConfig(): void {\n    for (const option in this.defaultConfig) {\n      if (this.config[option] != null) {\n        continue;\n      }\n\n      this.config[option] =\n        this.LoadingService.loadingConfig[option] != null\n          ? this.LoadingService.loadingConfig[option]\n          : this.defaultConfig[option];\n    }\n  }\n}\n","import type { ModuleWithProviders } from '@angular/core';\nimport { NgModule } from '@angular/core';\nimport type { INgxLoadingConfig } from './ngx-loading-config';\nimport { NgxLoadingComponent } from './ngx-loading.component';\n\n@NgModule({\n  imports: [NgxLoadingComponent],\n  exports: [NgxLoadingComponent],\n})\nexport class NgxLoadingModule {\n  static forRoot(\n    loadingConfig: INgxLoadingConfig\n  ): ModuleWithProviders<NgxLoadingModule> {\n    return {\n      ngModule: NgxLoadingModule,\n      providers: [{ provide: 'loadingConfig', useValue: loadingConfig }],\n    };\n  }\n}\n","/*\n * Public API Surface of ngx-loading\n */\n\nexport * from './lib/ngx-loading.service';\nexport * from './lib/ngx-loading.component';\nexport * from './lib/ngx-loading.module';\nexport * from './lib/ngx-loading-config';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgxLoadingService"],"mappings":"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"}