{"version":3,"file":"tstdl-angular-pdf-viewer.mjs","sources":["../../../../projects/tstdl/angular/pdf-viewer/source/pdf-viewer.component.ts","../../../../projects/tstdl/angular/pdf-viewer/source/pdf-viewer.component.html","../../../../projects/tstdl/angular/pdf-viewer/tstdl-angular-pdf-viewer.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, computed, input, model, output, ViewEncapsulation } from '@angular/core';\nimport { observeMediaQuery } from '@tstdl/base/dom';\nimport { pipe } from '@tstdl/base/signals';\nimport { NgxExtendedPdfViewerModule, type ProgressBarEvent } from 'ngx-extended-pdf-viewer';\nimport { delay, of, startWith, switchMap } from 'rxjs';\n\n@Component({\n  selector: 'tsl-pdf-viewer',\n  imports: [NgxExtendedPdfViewerModule],\n  templateUrl: './pdf-viewer.component.html',\n  styleUrl: './pdf-viewer.component.scss',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    'class': 'block',\n    '[class.pdf-viewer-dark]': 'useDarkMode()',\n  },\n})\nexport class PdfViewerComponent {\n  readonly systemDarkMode = observeMediaQuery('(prefers-color-scheme: dark)');\n  readonly useDarkMode = computed(() => this.darkMode() ?? this.systemDarkMode());\n\n  readonly authorization = input<boolean, boolean | `${boolean}`>(false, { transform: booleanAttribute });\n  readonly darkMode = input<boolean, boolean | `${boolean}`>(undefined, { transform: booleanAttribute });\n  readonly source = input<string | null>();\n  readonly page = model<number>();\n\n  readonly loading = output<boolean>();\n  readonly loadProgress = output<number>();\n  readonly loadError = output<unknown>();\n\n  readonly url = pipe(\n    this.source,\n    switchMap((source) => of(source).pipe(delay(1), startWith(undefined)))\n  );\n\n  protected onLoadingStarts(): void {\n    this.loading.emit(true);\n    this.loadProgress.emit(0);\n  }\n\n  protected onLoaded(): void {\n    this.loading.emit(false);\n    this.loadProgress.emit(1);\n  }\n\n  protected onLoadingFailed(error: unknown): void {\n    this.loading.emit(false);\n    this.loadError.emit(error);\n  }\n\n  protected onProgress(event: ProgressBarEvent): void {\n    if (event.type === 'load') {\n      const progress = event.percent / 100;\n      this.loadProgress.emit(progress);\n    }\n  }\n}\n","@if (url(); as url) {\n  <ngx-extended-pdf-viewer\n    class=\"contain-strict\"\n    [src]=\"url\"\n    [authorization]=\"authorization()\"\n    zoom=\"auto\"\n    [theme]=\"useDarkMode() ? 'dark' : 'light'\"\n    [handTool]=\"true\"\n    [showOpenFileButton]=\"false\"\n    [showDrawEditor]=\"false\"\n    [showTextEditor]=\"false\"\n    [showInfiniteScrollButton]=\"false\"\n    [showRotateButton]=\"true\"\n    [showStampEditor]=\"false\"\n    [showHighlightEditor]=\"false\"\n    [(page)]=\"page\"\n    (pdfLoadingStarts)=\"onLoadingStarts()\"\n    (pdfLoaded)=\"onLoaded()\"\n    (pdfLoadingFailed)=\"onLoadingFailed($event)\"\n    (progress)=\"onProgress($event)\"></ngx-extended-pdf-viewer>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}