{"version":3,"file":"ng-nest-ui-loading.mjs","sources":["../../../../lib/ng-nest/ui/loading/loading.property.ts","../../../../lib/ng-nest/ui/loading/loading.component.ts","../../../../lib/ng-nest/ui/loading/loading.component.html","../../../../lib/ng-nest/ui/loading/loading.module.ts","../../../../lib/ng-nest/ui/loading/ng-nest-ui-loading.ts"],"sourcesContent":["import { XPropertyFunction, XToBoolean, XToNumber } from '@ng-nest/ui/core';\r\nimport { Component, input, TemplateRef } from '@angular/core';\r\nimport type { XSize, XTemplate, XBoolean, XNumber, XCorner } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Loading\r\n * @selector x-loading\r\n * @decorator component\r\n */\r\nexport const XLoadingPrefix = 'x-loading';\r\nconst X_LOADING_CONFIG_NAME = 'loading';\r\n\r\n/**\r\n * Loading Property\r\n */\r\n@Component({ selector: `${XLoadingPrefix}-property`, template: '' })\r\nexport class XLoadingProperty extends XPropertyFunction(X_LOADING_CONFIG_NAME) {\r\n  /**\r\n   * @zh_CN 显示 loading\r\n   * @en_US Show loading\r\n   */\r\n  readonly loading = input<boolean, XBoolean>(false, { transform: XToBoolean, alias: 'x-loading' });\r\n  /**\r\n   * @zh_CN Loading 类型\r\n   * @en_US Loading type\r\n   */\r\n  readonly type = input<XLoadingType>(this.config?.type ?? 'circular');\r\n  /**\r\n   * @zh_CN 层级\r\n   * @en_US z-index\r\n   */\r\n  readonly zIndex = input<number, XNumber>(this.config?.zIndex ?? 10, { transform: XToNumber });\r\n  /**\r\n   * @zh_CN 尺寸\r\n   * @en_US Size\r\n   */\r\n  readonly size = input<XSize | number>(this.config?.size ?? 'medium');\r\n  /**\r\n   * @zh_CN 显示文字，支持自定义模板\r\n   * @en_US Display text, support custom template\r\n   */\r\n  readonly text = input<XTemplate | null>(this.config?.text ?? null);\r\n  /**\r\n   * @zh_CN 显示的图标\r\n   * @en_US Icon displayed\r\n   */\r\n  readonly icon = input<string | null>(this.config?.icon ?? null);\r\n  /**\r\n   * @zh_CN 自定义 loading 模板\r\n   * @en_US Svg tpl\r\n   */\r\n  readonly customTpl = input<TemplateRef<void>>();\r\n  /**\r\n   * @zh_CN 颜色\r\n   * @en_US Color\r\n   */\r\n  readonly color = input<string | null>(this.config?.color ?? null);\r\n  /**\r\n   * @zh_CN 全屏显示\r\n   * @en_US Full-screen display\r\n   */\r\n  readonly fullScreen = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n  /**\r\n   * @zh_CN 圆角覆盖显示\r\n   * @en_US Rounded corner coverage display\r\n   */\r\n  readonly radius = input<XBoolean | XCorner[]>();\r\n  /**\r\n   * @zh_CN 背景样式\r\n   * @en_US Background style\r\n   */\r\n  readonly background = input<string | null>(this.config?.background ?? null);\r\n  /**\r\n   * @zh_CN 行内显示\r\n   * @en_US Inline display\r\n   */\r\n  readonly inline = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n\r\n/**\r\n * @zh_CN Loading 类型\r\n * @en_US Loading type\r\n */\r\nexport type XLoadingType = 'circular' | 'spinner' | 'ripple' | 'dual-ring' | 'dual-ball' | 'bars';\r\n","import {\r\n  Component,\r\n  ViewEncapsulation,\r\n  ChangeDetectionStrategy,\r\n  HostBinding,\r\n  TemplateRef,\r\n  ViewContainerRef,\r\n  inject,\r\n  computed,\r\n  effect,\r\n  viewChild\r\n} from '@angular/core';\r\nimport { XLoadingPrefix, XLoadingProperty } from './loading.property';\r\nimport { XIsEmpty, XIsNumber, XCorner, XToNumber } from '@ng-nest/ui/core';\r\nimport { XPortalService, XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\n\r\n@Component({\r\n  selector: `${XLoadingPrefix}, [${XLoadingPrefix}]`,\r\n  imports: [NgClass, NgTemplateOutlet, XIconComponent, XOutletDirective],\r\n  templateUrl: './loading.component.html',\r\n  styleUrls: ['./loading.component.scss'],\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XLoadingComponent extends XLoadingProperty {\r\n  @HostBinding('class.x-loading-parent') get getLoading() {\r\n    return this.loading();\r\n  }\r\n  loadingTpl = viewChild.required<TemplateRef<void>>('loadingTpl');\r\n  portalRef!: XPortalOverlayRef<any>;\r\n\r\n  isRadius = computed(() => !(this.radius() instanceof Array) && Boolean(this.radius()));\r\n\r\n  sizeNumber = computed(() => {\r\n    const size = XToNumber(this.size());\r\n    if (XIsNumber(size)) {\r\n      return size;\r\n    }\r\n    return;\r\n  });\r\n\r\n  classMap = computed(() => {\r\n    const size = this.size();\r\n    if (isNaN(XToNumber(size))) {\r\n      return { [`${XLoadingPrefix}-${size}`]: !XIsEmpty(size) };\r\n    }\r\n    return;\r\n  });\r\n\r\n  private portal = inject(XPortalService);\r\n  private viewContainerRef = inject(ViewContainerRef);\r\n\r\n  constructor() {\r\n    super();\r\n    effect(() => {\r\n      if (this.fullScreen()) {\r\n        if (this.loading()) {\r\n          this.createFullScreen();\r\n        } else {\r\n          this.closeFullScreen();\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  includeRadius(cover: XCorner) {\r\n    const radius = this.radius();\r\n    if (!(radius instanceof Array)) {\r\n      return false;\r\n    }\r\n    return radius.includes(cover);\r\n  }\r\n\r\n  createFullScreen() {\r\n    this.portalRef = this.portal.attach({\r\n      content: this.loadingTpl(),\r\n      viewContainerRef: this.viewContainerRef,\r\n      overlayConfig: {\r\n        width: '100%',\r\n        height: '100%',\r\n        positionStrategy: this.portal.setPlacement()\r\n      }\r\n    });\r\n  }\r\n\r\n  closeFullScreen() {\r\n    if (this.portalRef?.overlayRef?.hasAttached()) {\r\n      this.portalRef.overlayRef.detach();\r\n    }\r\n  }\r\n}\r\n","<ng-content></ng-content>\r\n\r\n@if (!fullScreen()) {\r\n  <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n}\r\n\r\n<ng-template #loadingTpl>\r\n  @if (loading()) {\r\n    <div\r\n      #loading\r\n      class=\"x-loading\"\r\n      [ngClass]=\"classMap()\"\r\n      [style.background]=\"background()\"\r\n      [style.zIndex]=\"zIndex()\"\r\n      [class.x-loading-radius]=\"isRadius()\"\r\n      [class.x-loading-top-left-radius]=\"includeRadius('top-start')\"\r\n      [class.x-loading-top-right-radius]=\"includeRadius('top-end')\"\r\n      [class.x-loading-bottom-left-radius]=\"includeRadius('bottom-start')\"\r\n      [class.x-loading-bottom-left-radius]=\"includeRadius('bottom-end')\"\r\n      [class.x-loading-inline]=\"inline()\"\r\n    >\r\n      <div class=\"x-loading-inner\" [style.color]=\"color()\">\r\n        @if (customTpl()) {\r\n          <ng-template *ngTemplateOutlet=\"customTpl()!\"></ng-template>\r\n        } @else {\r\n          @if (icon()) {\r\n            <div class=\"x-loading-icon\" [style.font-size.px]=\"sizeNumber()\">\r\n              <x-icon [type]=\"icon()!\"></x-icon>\r\n            </div>\r\n          } @else {\r\n            @switch (type()) {\r\n              @case ('circular') {\r\n                <ng-container *ngTemplateOutlet=\"circularTpl\"></ng-container>\r\n              }\r\n              @case ('spinner') {\r\n                <ng-container *ngTemplateOutlet=\"spinnerTpl\"></ng-container>\r\n              }\r\n              @case ('ripple') {\r\n                <ng-container *ngTemplateOutlet=\"rippleTpl\"></ng-container>\r\n              }\r\n              @case ('dual-ring') {\r\n                <ng-container *ngTemplateOutlet=\"dualRingTpl\"></ng-container>\r\n              }\r\n              @case ('dual-ball') {\r\n                <ng-container *ngTemplateOutlet=\"dualBallTpl\"></ng-container>\r\n              }\r\n              @case ('bars') {\r\n                <ng-container *ngTemplateOutlet=\"barsTpl\"></ng-container>\r\n              }\r\n              @default {\r\n                <ng-container *ngTemplateOutlet=\"circularTpl\"></ng-container>\r\n              }\r\n            }\r\n          }\r\n        }\r\n\r\n        <div class=\"x-loading-text\">\r\n          <ng-container *xOutlet=\"text()\">{{ text() }}</ng-container>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  }\r\n</ng-template>\r\n\r\n<ng-template #circularTpl>\r\n  <svg\r\n    class=\"x-loading-circular\"\r\n    [style.width.px]=\"sizeNumber()\"\r\n    [style.height.px]=\"sizeNumber()\"\r\n    viewBox=\"25 25 50 50\"\r\n  >\r\n    <circle class=\"x-loading-path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" />\r\n  </svg>\r\n</ng-template>\r\n\r\n<ng-template #spinnerTpl>\r\n  <svg class=\"x-loading-spinner\" [style.width.px]=\"sizeNumber()\" [style.height.px]=\"sizeNumber()\" viewBox=\"25 25 50 50\">\r\n    <g>\r\n      <g transform=\"rotate(0 50 50)\">\r\n        <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n          <animate\r\n            repeatCount=\"indefinite\"\r\n            begin=\"-0.9166666666666666s\"\r\n            dur=\"1s\"\r\n            keyTimes=\"0;1\"\r\n            values=\"1;0\"\r\n            attributeName=\"opacity\"\r\n          ></animate>\r\n        </rect>\r\n      </g>\r\n      <g transform=\"rotate(30 50 50)\">\r\n        <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n          <animate\r\n            repeatCount=\"indefinite\"\r\n            begin=\"-0.8333333333333334s\"\r\n            dur=\"1s\"\r\n            keyTimes=\"0;1\"\r\n            values=\"1;0\"\r\n            attributeName=\"opacity\"\r\n          ></animate>\r\n        </rect>\r\n      </g>\r\n      <g transform=\"rotate(60 50 50)\">\r\n        <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n          <animate\r\n            repeatCount=\"indefinite\"\r\n            begin=\"-0.75s\"\r\n            dur=\"1s\"\r\n            keyTimes=\"0;1\"\r\n            values=\"1;0\"\r\n            attributeName=\"opacity\"\r\n          ></animate>\r\n        </rect>\r\n      </g>\r\n      <g transform=\"rotate(90 50 50)\">\r\n        <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n          <animate\r\n            repeatCount=\"indefinite\"\r\n            begin=\"-0.6666666666666666s\"\r\n            dur=\"1s\"\r\n            keyTimes=\"0;1\"\r\n            values=\"1;0\"\r\n            attributeName=\"opacity\"\r\n          ></animate>\r\n        </rect>\r\n      </g>\r\n      <g transform=\"rotate(120 50 50)\">\r\n        <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n          <animate\r\n            repeatCount=\"indefinite\"\r\n            begin=\"-0.5833333333333334s\"\r\n            dur=\"1s\"\r\n            keyTimes=\"0;1\"\r\n            values=\"1;0\"\r\n            attributeName=\"opacity\"\r\n          ></animate>\r\n        </rect>\r\n      </g>\r\n      <g transform=\"rotate(150 50 50)\">\r\n        <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n          <animate\r\n            repeatCount=\"indefinite\"\r\n            begin=\"-0.5s\"\r\n            dur=\"1s\"\r\n            keyTimes=\"0;1\"\r\n            values=\"1;0\"\r\n            attributeName=\"opacity\"\r\n          ></animate>\r\n        </rect>\r\n      </g>\r\n      <g transform=\"rotate(180 50 50)\">\r\n        <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n          <animate\r\n            repeatCount=\"indefinite\"\r\n            begin=\"-0.4166666666666667s\"\r\n            dur=\"1s\"\r\n            keyTimes=\"0;1\"\r\n            values=\"1;0\"\r\n            attributeName=\"opacity\"\r\n          ></animate>\r\n        </rect>\r\n      </g>\r\n      <g transform=\"rotate(210 50 50)\">\r\n        <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n          <animate\r\n            repeatCount=\"indefinite\"\r\n            begin=\"-0.3333333333333333s\"\r\n            dur=\"1s\"\r\n            keyTimes=\"0;1\"\r\n            values=\"1;0\"\r\n            attributeName=\"opacity\"\r\n          ></animate>\r\n        </rect>\r\n      </g>\r\n      <g transform=\"rotate(240 50 50)\">\r\n        <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n          <animate\r\n            repeatCount=\"indefinite\"\r\n            begin=\"-0.25s\"\r\n            dur=\"1s\"\r\n            keyTimes=\"0;1\"\r\n            values=\"1;0\"\r\n            attributeName=\"opacity\"\r\n          ></animate>\r\n        </rect>\r\n      </g>\r\n      <g transform=\"rotate(270 50 50)\">\r\n        <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n          <animate\r\n            repeatCount=\"indefinite\"\r\n            begin=\"-0.16666666666666666s\"\r\n            dur=\"1s\"\r\n            keyTimes=\"0;1\"\r\n            values=\"1;0\"\r\n            attributeName=\"opacity\"\r\n          ></animate>\r\n        </rect>\r\n      </g>\r\n      <g transform=\"rotate(300 50 50)\">\r\n        <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n          <animate\r\n            repeatCount=\"indefinite\"\r\n            begin=\"-0.08333333333333333s\"\r\n            dur=\"1s\"\r\n            keyTimes=\"0;1\"\r\n            values=\"1;0\"\r\n            attributeName=\"opacity\"\r\n          ></animate>\r\n        </rect>\r\n      </g>\r\n      <g transform=\"rotate(330 50 50)\">\r\n        <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n          <animate\r\n            repeatCount=\"indefinite\"\r\n            begin=\"0s\"\r\n            dur=\"1s\"\r\n            keyTimes=\"0;1\"\r\n            values=\"1;0\"\r\n            attributeName=\"opacity\"\r\n          ></animate>\r\n        </rect>\r\n      </g>\r\n      <g></g>\r\n    </g>\r\n  </svg>\r\n</ng-template>\r\n<ng-template #rippleTpl>\r\n  <svg class=\"x-loading-ripple\" [style.width.px]=\"sizeNumber()\" [style.height.px]=\"sizeNumber()\" viewBox=\"0 0 100 100\">\r\n    <g>\r\n      <circle stroke-width=\"6\" stroke=\"currentColor\" fill=\"none\" r=\"0\" cy=\"50\" cx=\"50\">\r\n        <animate\r\n          begin=\"0s\"\r\n          calcMode=\"spline\"\r\n          keySplines=\"0 0.2 0.8 1\"\r\n          keyTimes=\"0;1\"\r\n          values=\"0;40\"\r\n          dur=\"1s\"\r\n          repeatCount=\"indefinite\"\r\n          attributeName=\"r\"\r\n        ></animate>\r\n        <animate\r\n          begin=\"0s\"\r\n          calcMode=\"spline\"\r\n          keySplines=\"0.2 0 0.8 1\"\r\n          keyTimes=\"0;1\"\r\n          values=\"1;0\"\r\n          dur=\"1s\"\r\n          repeatCount=\"indefinite\"\r\n          attributeName=\"opacity\"\r\n        ></animate>\r\n      </circle>\r\n      <circle stroke-width=\"6\" stroke=\"currentColor\" fill=\"none\" r=\"0\" cy=\"50\" cx=\"50\">\r\n        <animate\r\n          begin=\"-0.5s\"\r\n          calcMode=\"spline\"\r\n          keySplines=\"0 0.2 0.8 1\"\r\n          keyTimes=\"0;1\"\r\n          values=\"0;40\"\r\n          dur=\"1s\"\r\n          repeatCount=\"indefinite\"\r\n          attributeName=\"r\"\r\n        ></animate>\r\n        <animate\r\n          begin=\"-0.5s\"\r\n          calcMode=\"spline\"\r\n          keySplines=\"0.2 0 0.8 1\"\r\n          keyTimes=\"0;1\"\r\n          values=\"1;0\"\r\n          dur=\"1s\"\r\n          repeatCount=\"indefinite\"\r\n          attributeName=\"opacity\"\r\n        ></animate>\r\n      </circle>\r\n    </g>\r\n  </svg>\r\n</ng-template>\r\n<ng-template #dualRingTpl>\r\n  <svg\r\n    class=\"x-loading-dual-ring\"\r\n    [style.width.px]=\"sizeNumber()\"\r\n    [style.height.px]=\"sizeNumber()\"\r\n    viewBox=\"0 0 100 100\"\r\n  >\r\n    <g>\r\n      <circle\r\n        stroke-linecap=\"round\"\r\n        fill=\"none\"\r\n        stroke-dasharray=\"50.26548245743669 50.26548245743669\"\r\n        stroke=\"currentColor\"\r\n        stroke-width=\"8\"\r\n        r=\"32\"\r\n        cy=\"50\"\r\n        cx=\"50\"\r\n      >\r\n        <animateTransform\r\n          values=\"0 50 50;360 50 50\"\r\n          keyTimes=\"0;1\"\r\n          dur=\"1s\"\r\n          repeatCount=\"indefinite\"\r\n          type=\"rotate\"\r\n          attributeName=\"transform\"\r\n        ></animateTransform>\r\n      </circle>\r\n    </g>\r\n  </svg>\r\n</ng-template>\r\n<ng-template #dualBallTpl>\r\n  <svg\r\n    class=\"x-loading-dual-ball\"\r\n    [style.width.px]=\"sizeNumber()\"\r\n    [style.height.px]=\"sizeNumber()\"\r\n    viewBox=\"0 0 100 100\"\r\n  >\r\n    <g>\r\n      <circle r=\"20\" fill=\"currentColor\" cy=\"50\" cx=\"30\">\r\n        <animate\r\n          begin=\"-0.5s\"\r\n          values=\"30;70;30\"\r\n          keyTimes=\"0;0.5;1\"\r\n          dur=\"1s\"\r\n          repeatCount=\"indefinite\"\r\n          attributeName=\"cx\"\r\n        ></animate>\r\n      </circle>\r\n      <circle r=\"20\" fill=\"var(--x-primary-500)\" cy=\"50\" cx=\"70\">\r\n        <animate\r\n          begin=\"0s\"\r\n          values=\"30;70;30\"\r\n          keyTimes=\"0;0.5;1\"\r\n          dur=\"1s\"\r\n          repeatCount=\"indefinite\"\r\n          attributeName=\"cx\"\r\n        ></animate>\r\n      </circle>\r\n      <circle r=\"20\" fill=\"currentColor\" cy=\"50\" cx=\"30\">\r\n        <animate\r\n          begin=\"-0.5s\"\r\n          values=\"30;70;30\"\r\n          keyTimes=\"0;0.5;1\"\r\n          dur=\"1s\"\r\n          repeatCount=\"indefinite\"\r\n          attributeName=\"cx\"\r\n        ></animate>\r\n        <animate\r\n          repeatCount=\"indefinite\"\r\n          dur=\"1s\"\r\n          keyTimes=\"0;0.499;0.5;1\"\r\n          calcMode=\"discrete\"\r\n          values=\"0;0;1;1\"\r\n          attributeName=\"fill-opacity\"\r\n        ></animate>\r\n      </circle>\r\n    </g>\r\n  </svg>\r\n</ng-template>\r\n<ng-template #barsTpl>\r\n  <svg class=\"x-loading-bars\" [style.width.px]=\"sizeNumber()\" [style.height.px]=\"sizeNumber()\" viewBox=\"0 0 100 100\">\r\n    <g>\r\n      <rect fill=\"currentColor\" height=\"40\" width=\"10\" y=\"30\" x=\"15\">\r\n        <animate\r\n          begin=\"-0.6\"\r\n          values=\"1;0.2;1\"\r\n          keySplines=\"0.5 0 0.5 1;0.5 0 0.5 1\"\r\n          keyTimes=\"0;0.5;1\"\r\n          calcMode=\"spline\"\r\n          repeatCount=\"indefinite\"\r\n          dur=\"1s\"\r\n          attributeName=\"opacity\"\r\n        ></animate>\r\n      </rect>\r\n      <rect fill=\"var(--x-primary-200)\" height=\"40\" width=\"10\" y=\"30\" x=\"35\">\r\n        <animate\r\n          begin=\"-0.4\"\r\n          values=\"1;0.2;1\"\r\n          keySplines=\"0.5 0 0.5 1;0.5 0 0.5 1\"\r\n          keyTimes=\"0;0.5;1\"\r\n          calcMode=\"spline\"\r\n          repeatCount=\"indefinite\"\r\n          dur=\"1s\"\r\n          attributeName=\"opacity\"\r\n        ></animate>\r\n      </rect>\r\n      <rect fill=\"var(--x-primary-400)\" height=\"40\" width=\"10\" y=\"30\" x=\"55\">\r\n        <animate\r\n          begin=\"-0.2\"\r\n          values=\"1;0.2;1\"\r\n          keySplines=\"0.5 0 0.5 1;0.5 0 0.5 1\"\r\n          keyTimes=\"0;0.5;1\"\r\n          calcMode=\"spline\"\r\n          repeatCount=\"indefinite\"\r\n          dur=\"1s\"\r\n          attributeName=\"opacity\"\r\n        ></animate>\r\n      </rect>\r\n      <rect fill=\"var(--x-primary-600)\" height=\"40\" width=\"10\" y=\"30\" x=\"75\">\r\n        <animate\r\n          begin=\"-1\"\r\n          values=\"1;0.2;1\"\r\n          keySplines=\"0.5 0 0.5 1;0.5 0 0.5 1\"\r\n          keyTimes=\"0;0.5;1\"\r\n          calcMode=\"spline\"\r\n          repeatCount=\"indefinite\"\r\n          dur=\"1s\"\r\n          attributeName=\"opacity\"\r\n        ></animate>\r\n      </rect>\r\n    </g>\r\n  </svg>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { XLoadingComponent } from './loading.component';\r\n\r\n@NgModule({\r\n  exports: [XLoadingComponent],\r\n  imports: [XLoadingComponent]\r\n})\r\nexport class XLoadingModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}