UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

1 lines 18.5 kB
{"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})\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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"}