{"version":3,"file":"tapsellorg-angular-material-library-src-lib-lightbox.mjs","sources":["../../projects/pegah-library/src/lib/lightbox/lightbox.component.ts","../../projects/pegah-library/src/lib/lightbox/lightbox.component.html","../../projects/pegah-library/src/lib/lightbox/lightbox.directive.ts","../../projects/pegah-library/src/lib/lightbox/lightbox.module.ts","../../projects/pegah-library/src/lib/lightbox/tapsellorg-angular-material-library-src-lib-lightbox.ts"],"sourcesContent":["import {\n  ChangeDetectionStrategy,\n  Component,\n  Inject,\n  signal,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { PghLoader } from '@tapsellorg/angular-material-library/src/lib/loader';\nimport { PghSafePipe } from '@tapsellorg/angular-material-library/src/lib/common';\nimport { PghLightBoxDialogData } from './models';\n\n@Component({\n  selector: 'pgh-lightbox',\n  templateUrl: './lightbox.component.html',\n  styleUrls: ['./lightbox.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [PghSafePipe],\n  standalone: false,\n})\nexport class PghLightboxComponent {\n  loader = new PghLoader();\n  hasError = signal<boolean>(false);\n  type = signal<string>('image');\n  loadingType = signal<boolean>(true); // default type is `image`\n  loadingMediaTitle = signal<string>('');\n  constructor(\n    private matDialogRef: MatDialogRef<void>,\n    @Inject(MAT_DIALOG_DATA) public dialogData: PghLightBoxDialogData,\n  ) {\n    this.matDialogRef.addPanelClass('pgh-lightbox-dialog');\n    this.handleLightboxType();\n    if (this.loadingType()) {\n      this.loader.activate();\n    }\n  }\n\n  private handleLightboxType() {\n    this.type.set(this.dialogData.type);\n    if (this.type() === 'image') {\n      this.loadingType.set(true);\n      this.loadingMediaTitle.set('تصویر');\n    } else if (this.type() === 'iframe') {\n      this.loadingType.set(true);\n      this.loadingMediaTitle.set('محتوا');\n    } else {\n      this.loadingType.set(false);\n    }\n  }\n\n  contentLoaded() {\n    this.loader.deactivate();\n  }\n\n  errorLoadingContent() {\n    this.loader.deactivate();\n    this.hasError.set(true);\n  }\n}\n","@if (!loadingType()) {\n<div class=\"pgh-lightbox-container\">\n  <ng-container *ngTemplateOutlet=\"dialogData.template!\"></ng-container>\n</div>\n} @if (loadingType()) {\n<div class=\"pgh-lightbox-container\" [pghLoader]=\"loader\">\n  @if (hasError()) {\n  <div class=\"pgh-lightbox-error\">\n    <div>\n      مشکلی در لود\n      <span>{{ loadingMediaTitle() }}</span>\n      پیش آمده، لطفا دوباره تلاش کنید.\n      <br />\n      در صورتی که مشکل مجددا پیش آمد، لطفا اطلاع دهید\n    </div>\n  </div>\n  } @if (!hasError() && type() === 'image') {\n  <img\n    [src]=\"dialogData.src! | pghSafe : 'resourceUrl'\"\n    alt=\"\"\n    (load)=\"contentLoaded()\"\n    (error)=\"errorLoadingContent()\"\n  />\n  } @if (!hasError() && type() === 'iframe') {\n  <iframe\n    class=\"pgh-lightbox-iframe\"\n    [src]=\"dialogData.src! | pghSafe : 'resourceUrl'\"\n    frameborder=\"0\"\n    width=\"1000\"\n    height=\"1000\"\n    (load)=\"contentLoaded()\"\n    (error)=\"errorLoadingContent()\"\n  ></iframe>\n  }\n</div>\n}\n","import {\n  Directive,\n  HostListener,\n  input,\n  OnChanges,\n  output,\n  SimpleChanges,\n  TemplateRef,\n} from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { PghLightboxComponent } from './lightbox.component';\nimport { PghLightboxType, PghLightBoxDialogData } from './models';\n\n@Directive({\n  selector: '[pghLightbox]',\n  standalone: false,\n})\nexport class PghLightboxDirective implements OnChanges {\n  content = input.required<string | TemplateRef<any>>({\n    alias: 'pghLightbox',\n  });\n  type = input<PghLightboxType>('image', {\n    alias: 'pghLightboxType',\n  });\n  pghLightboxClosed = output();\n\n  private readonly lightBoxLoadingTypes: [PghLightboxType, PghLightboxType] = ['image', 'iframe'];\n\n  @HostListener('click') onClick() {\n    this.matDialog\n      .open<PghLightboxComponent, PghLightBoxDialogData>(PghLightboxComponent, {\n        data:\n          this.isLoadingType() && !this.isContentTemplate()\n            ? { type: this.type(), src: this.content() as string }\n            : { type: 'template', template: this.content() as TemplateRef<any> },\n      })\n      .afterClosed()\n      .subscribe(() => {\n        this.pghLightboxClosed.emit();\n      });\n  }\n\n  private isLoadingType() {\n    return this.lightBoxLoadingTypes.includes(this.type());\n  }\n\n  private isContentTemplate() {\n    return typeof this.content() !== 'string';\n  }\n\n  constructor(private matDialog: MatDialog) {}\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (this.isLoadingType() && this.isContentTemplate()) {\n      throw new Error('pghLightbox content must be a string');\n    } else if (!this.isLoadingType && !this.isContentTemplate()) {\n      throw new Error('pghLightbox content must be a template');\n    }\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { PghLoaderModule } from '@tapsellorg/angular-material-library/src/lib/loader';\nimport { PghSafeModule } from '@tapsellorg/angular-material-library/src/lib/common';\nimport { PghLightboxComponent } from './lightbox.component';\nimport { PghLightboxDirective } from './lightbox.directive';\n\n@NgModule({\n  declarations: [PghLightboxComponent, PghLightboxDirective],\n  imports: [CommonModule, MatDialogModule, PghLoaderModule, PghSafeModule],\n  exports: [PghLightboxComponent, PghLightboxDirective],\n})\nexport class PghLightboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}