{"version":3,"file":"ng-zorro-antd-experimental-image.mjs","sources":["../../components/experimental/image/utils.ts","../../components/experimental/image/image-loader.ts","../../components/experimental/image/image.component.ts","../../components/experimental/image/image.module.ts","../../components/experimental/image/typings.ts","../../components/experimental/image/public-api.ts","../../components/experimental/image/ng-zorro-antd-experimental-image.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport function isFixedSize(size: number | string): boolean {\n  return typeof size === 'number' || /^(\\d)+(px)?$/.test(size);\n}\n\nexport function normalizeSrc(src: string): string {\n  return src[0] === '/' ? src.slice(1) : src;\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { isNil } from 'ng-zorro-antd/core/util';\n\nimport { NzImageSrcLoader } from './typings';\nimport { normalizeSrc } from './utils';\n\nexport const defaultImageSrcLoader: NzImageSrcLoader = ({ src }) => {\n  return src;\n};\n\n/**\n * AliObjectsLoader return format\n * {domain}/{src}?x-oss-process=image/resize,w_{width}\n */\nexport function createAliObjectsLoader(domain: string): NzImageSrcLoader {\n  return ({ src, width }) => {\n    const params = isNil(width) ? '' : `?x-oss-process=image/resize,w_${width}`;\n    return `${domain}/${normalizeSrc(src)}${params}`;\n  };\n}\n\n/**\n * ImgixLoader return format\n * {domain}/{src}?format=auto&fit=max&w={width}\n */\nexport function createImgixLoader(domain: string): NzImageSrcLoader {\n  return ({ src, width }) => {\n    const params = isNil(width) ? '' : `&fit=max&w=${width}`;\n    return `${domain}/${normalizeSrc(src)}?format=auto${params}`;\n  };\n}\n\n/**\n * CloudinaryLoader return format\n * {domain}/c_limit,q_auto,w_{width}/{src}\n */\nexport function createCloudinaryLoader(domain: string): NzImageSrcLoader {\n  return ({ src, width }) => {\n    const params = isNil(width) ? '' : `,w_${width}`;\n    return `${domain}/c_limit,q_auto${params}/${normalizeSrc(src)}`;\n  };\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  SimpleChanges,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzConfigKey, NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';\nimport { warn } from 'ng-zorro-antd/core/logger';\nimport { ImagePreloadService, PreloadDisposeHandle } from 'ng-zorro-antd/core/services';\nimport { BooleanInput } from 'ng-zorro-antd/core/types';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\nimport { defaultImageSrcLoader } from './image-loader';\nimport { NzImageSrcLoader } from './typings';\nimport { isFixedSize } from './utils';\n\nexport const NZ_CONFIG_MODULE_NAME: NzConfigKey = 'imageExperimental';\nconst sizeBreakpoints = [16, 32, 48, 64, 96, 128, 256, 384, 640, 750, 828, 1080, 1200, 1920, 2048, 3840];\n\n@Component({\n  selector: 'nz-image',\n  exportAs: 'nzImage',\n  template: `\n    <img\n      #imageRef\n      nz-image\n      [nzSrc]=\"src\"\n      [nzSrcset]=\"srcset\"\n      [nzDisablePreview]=\"nzDisablePreview\"\n      [nzFallback]=\"nzFallback\"\n      [nzPlaceholder]=\"nzPlaceholder\"\n      [attr.width]=\"width\"\n      [attr.height]=\"height\"\n      [attr.srcset]=\"srcset\"\n      [attr.alt]=\"nzAlt || null\"\n    />\n  `,\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None\n})\nexport class NzImageViewComponent implements OnInit, OnChanges, OnDestroy {\n  readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n  static ngAcceptInputType_nzAutoSrcset: BooleanInput;\n  static ngAcceptInputType_nzPriority: BooleanInput;\n  static ngAcceptInputType_nzDisablePreview: BooleanInput;\n\n  @Input() nzSrc: string = '';\n  @Input() nzAlt: string = '';\n  @Input() nzWidth: string | number = 'auto';\n  @Input() nzHeight: string | number = 'auto';\n  @Input() @WithConfig() nzSrcLoader: NzImageSrcLoader = defaultImageSrcLoader;\n  @Input() @InputBoolean() @WithConfig() nzAutoSrcset: boolean = false;\n  @Input() @InputBoolean() nzPriority: boolean = false;\n  @Input() @WithConfig() nzFallback: string | null = null;\n  @Input() @WithConfig() nzPlaceholder: string | null = null;\n  @Input() @InputBoolean() @WithConfig() nzDisablePreview: boolean = false;\n  @ViewChild('imageRef') imageRef!: ElementRef<HTMLImageElement>;\n\n  src = '';\n\n  width: string | number = 'auto';\n  height: string | number = 'auto';\n  srcset = '';\n  internalImage!: HTMLImageElement;\n\n  private destroy$ = new Subject<void>();\n  private reloadDisposeHandler: PreloadDisposeHandle = () => void 0;\n\n  constructor(\n    private cdr: ChangeDetectorRef,\n    public nzConfigService: NzConfigService,\n    private imagePreloadService: ImagePreloadService\n  ) {\n    this.nzConfigService\n      .getConfigChangeEventForComponent(NZ_CONFIG_MODULE_NAME)\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(() => {\n        this.composeImageAttrs();\n        this.cdr.markForCheck();\n      });\n  }\n\n  ngOnInit(): void {\n    if (this.nzPriority) {\n      this.preload();\n    }\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { nzLoader, nzSrc, nzOptimize } = changes;\n\n    if (nzSrc || nzLoader || nzOptimize) {\n      this.composeImageAttrs();\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.reloadDisposeHandler();\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n\n  private preload(): void {\n    this.reloadDisposeHandler = this.imagePreloadService.addPreload({\n      src: this.src,\n      srcset: this.srcset\n    });\n  }\n\n  private optimizable(): boolean {\n    if (this.nzAutoSrcset) {\n      if (!isFixedSize(this.nzWidth) || !isFixedSize(this.nzHeight)) {\n        warn(\n          `When using \"nzAutoSrcset\" you should use a fixed size width and height, for more information please refer to CLS (https://web.dev/cls/) performance metrics`\n        );\n        return false;\n      }\n      if (this.nzSrc.endsWith('.svg')) {\n        warn(`SVG does not need to be optimized`);\n        return false;\n      }\n      if (this.nzSrc.startsWith('data:')) {\n        warn(`Data URLs cannot be optimized`);\n        return false;\n      }\n      return true;\n    }\n    return false;\n  }\n\n  private composeImageAttrs(): void {\n    const loader = this.getLoader();\n    if (!this.optimizable()) {\n      this.src = loader({ src: this.nzSrc });\n      this.width = this.nzWidth;\n      this.height = this.nzHeight;\n      return;\n    }\n    this.width = typeof this.nzWidth === 'number' ? this.nzWidth : parseInt(this.nzWidth, 10);\n    this.height = typeof this.nzHeight === 'number' ? this.nzHeight : parseInt(this.nzHeight, 10);\n    const widths = this.convertWidths(this.width, sizeBreakpoints);\n    this.src = loader({ src: this.nzSrc, width: widths[0] });\n    this.srcset = widths\n      .map(\n        (w, i) =>\n          `${loader({\n            src: this.nzSrc,\n            width: w\n          })} ${i + 1}x`\n      )\n      .join(', ');\n  }\n\n  private getLoader(): NzImageSrcLoader {\n    return this.nzSrcLoader || defaultImageSrcLoader;\n  }\n\n  private convertWidths(width: number, optimizeSizes: number[]): number[] {\n    const allSizes = [...optimizeSizes].sort((a, b) => a - b);\n    return [\n      ...new Set(\n        // 2x scale is sufficient\n        // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n        [width, width * 2].map(w => allSizes.find(p => p >= w) || w)\n      )\n    ];\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzImageModule as ImageModule } from 'ng-zorro-antd/image';\nimport { NzPipesModule } from 'ng-zorro-antd/pipes';\n\nimport { NzImageViewComponent } from './image.component';\n\n@NgModule({\n  imports: [\n    BidiModule,\n    OverlayModule,\n    PortalModule,\n    DragDropModule,\n    CommonModule,\n    NzIconModule,\n    NzPipesModule,\n    PlatformModule,\n    ImageModule\n  ],\n  exports: [NzImageViewComponent],\n  declarations: [NzImageViewComponent]\n})\nexport class NzImageModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport type NzImageSrcLoader = (params: { src: string; width?: number }) => string;\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './image.component';\nexport * from './image-loader';\nexport * from './image.module';\nexport * from './typings';\nexport * from './utils';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ImageModule"],"mappings":"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"}