{"version":3,"file":"mtxLoader.mjs","sources":["../../../projects/extensions/loader/loader.ts","../../../projects/extensions/loader/loader.html","../../../projects/extensions/loader/loader-module.ts","../../../projects/extensions/loader/mtxLoader.ts"],"sourcesContent":["import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  Input,\n  ViewEncapsulation,\n  booleanAttribute,\n  inject,\n} from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { MatProgressBar, ProgressBarMode } from '@angular/material/progress-bar';\nimport { MatProgressSpinner, ProgressSpinnerMode } from '@angular/material/progress-spinner';\n\nexport type MtxLoaderType = 'spinner' | 'progressbar';\n\n@Component({\n  selector: 'mtx-loader',\n  exportAs: 'mtxLoader',\n  host: {\n    'class': 'mtx-loader',\n    '[class.mtx-loader-loading]': 'loading',\n  },\n  templateUrl: './loader.html',\n  styleUrl: './loader.scss',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [MatProgressSpinner, MatProgressBar],\n})\nexport class MtxLoader {\n  private _changeDetectorRef = inject(ChangeDetectorRef);\n\n  /** The loader's type. Can be `spinner` or `progressbar` */\n  @Input() type: MtxLoaderType = 'spinner';\n\n  /** Theme color palette for the component. */\n  @Input() color: ThemePalette = 'primary';\n\n  /** Mode of the progress circle or the progress bar. */\n  @Input() mode: ProgressSpinnerMode | ProgressBarMode = 'indeterminate';\n\n  /** Stroke width of the spinner loader. */\n  @Input() strokeWidth = 4;\n\n  /** The diameter of the spinner loader (will set width and height of svg). */\n  @Input() diameter = 48;\n\n  /** Buffer value of the progressbar loader. */\n  @Input() bufferValue = 0;\n\n  /** Value of the progress circle or the progress bar. */\n  @Input() value = 0;\n\n  /** Whether the loader is loading. */\n  @Input({ transform: booleanAttribute }) loading = true;\n\n  /** Whether the loader has a backdrop. */\n  @Input({ transform: booleanAttribute }) hasBackdrop = true;\n}\n","@if (loading && hasBackdrop) {\n  <div class=\"mtx-loader-backdrop\"></div>\n}\n@if (loading) {\n  <div class=\"mtx-loader-main\">\n    @if (type === 'spinner') {\n      <mat-spinner\n        [color]=\"color\"\n        [strokeWidth]=\"strokeWidth\"\n        [diameter]=\"diameter\"\n        [mode]=\"$any(mode)\"\n        [value]=\"value\"\n      ></mat-spinner>\n    }\n    @if (type === 'progressbar') {\n      <mat-progress-bar\n        [color]=\"color\"\n        [mode]=\"$any(mode)\"\n        [value]=\"value\"\n        [bufferValue]=\"bufferValue\"\n      ></mat-progress-bar>\n    }\n  </div>\n}\n<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\nimport { MtxLoader } from './loader';\n\n@NgModule({\n  imports: [CommonModule, MatProgressSpinnerModule, MatProgressBarModule, MtxLoader],\n  exports: [MtxLoader],\n})\nexport class MtxLoaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}