ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
1 lines • 17.3 kB
Source Map (JSON)
{"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 booleanAttribute\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 { NzImageDirective } from 'ng-zorro-antd/image';\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 imports: [NzImageDirective],\n standalone: true\n})\nexport class NzImageViewComponent implements OnInit, OnChanges, OnDestroy {\n readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\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({ transform: booleanAttribute }) @WithConfig() nzAutoSrcset: boolean = false;\n @Input({ transform: booleanAttribute }) nzPriority: boolean = false;\n @Input() @WithConfig() nzFallback: string | null = null;\n @Input() @WithConfig() nzPlaceholder: string | null = null;\n @Input({ transform: booleanAttribute }) @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 { NgModule } from '@angular/core';\n\nimport { NzImageViewComponent } from './image.component';\n\n@NgModule({\n imports: [NzImageViewComponent],\n exports: [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":[],"mappings":"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"}