{"version":3,"file":"moxa-formoxa-mx-loading.mjs","sources":["../../../../libs/formoxa/mx-loading/src/lib/components/mx-loading-mask.component.ts","../../../../libs/formoxa/mx-loading/src/lib/directives/mx-loading.directive.ts","../../../../libs/formoxa/mx-loading/src/moxa-formoxa-mx-loading.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { MxProgressSpinnerComponent } from '@moxa/formoxa/mx-progress-spinner';\n\n@Component({\n  selector: 'mx-loading-mask',\n  imports: [MxProgressSpinnerComponent],\n  styleUrls: ['./mx-loading-mask.component.scss'],\n  template: ` <mx-progress-spinner></mx-progress-spinner> `,\n  host: { class: 'mx-loading-mask' }\n})\nexport class MxLoadingMaskComponent {}\n","import {\n  ComponentRef,\n  Directive,\n  ElementRef,\n  OnDestroy,\n  ViewContainerRef,\n  booleanAttribute,\n  effect,\n  inject,\n  input\n} from '@angular/core';\nimport { MxLoadingMaskComponent } from '../components/mx-loading-mask.component';\n\n@Directive({\n  selector: '[mxLoading]',\n  standalone: true,\n  host: {\n    '[class.mx-loading-parent]': 'mxLoading()'\n  }\n})\nexport class MxLoadingDirective implements OnDestroy {\n  readonly mxLoading = input(false, { transform: booleanAttribute });\n\n  private elRef = inject(ElementRef<HTMLElement>);\n  private viewContainerRef = inject(ViewContainerRef);\n  private componentRef: ComponentRef<MxLoadingMaskComponent> | null = null;\n\n  constructor() {\n    effect(() => {\n      if (this.mxLoading()) {\n        this.displayLoadingMask();\n      } else {\n        this.clearLoadingMask();\n      }\n    });\n  }\n\n  ngOnDestroy(): void {\n    if (this.componentRef) {\n      this.clearLoadingMask();\n    }\n  }\n\n  private displayLoadingMask(): void {\n    this.clearLoadingMask();\n\n    this.componentRef = this.viewContainerRef.createComponent(MxLoadingMaskComponent);\n    this.elRef.nativeElement.append(this.componentRef.location.nativeElement);\n  }\n\n  private clearLoadingMask(): void {\n    if (this.componentRef) {\n      this.viewContainerRef.clear();\n      this.componentRef = null;\n    }\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}