ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
1 lines • 17 kB
Source Map (JSON)
{"version":3,"file":"ng-zorro-antd-skeleton.mjs","sources":["../../components/skeleton/skeleton-element.component.ts","../../components/skeleton/skeleton.component.ts","../../components/skeleton/skeleton.module.ts","../../components/skeleton/skeleton.type.ts","../../components/skeleton/public-api.ts","../../components/skeleton/ng-zorro-antd-skeleton.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\nimport { ChangeDetectionStrategy, Component, Directive, Input, OnChanges, SimpleChanges } from '@angular/core';\n\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\nimport {\n NzSkeletonAvatarShape,\n NzSkeletonAvatarSize,\n NzSkeletonButtonShape,\n NzSkeletonButtonSize,\n NzSkeletonInputSize\n} from './skeleton.type';\n\n@Directive({\n selector: 'nz-skeleton-element',\n host: {\n class: 'ant-skeleton ant-skeleton-element',\n '[class.ant-skeleton-active]': 'nzActive',\n '[class.ant-skeleton-block]': 'nzBlock'\n }\n})\nexport class NzSkeletonElementDirective {\n @Input() nzActive: boolean = false;\n @Input() nzType!: 'button' | 'input' | 'avatar' | 'image';\n @Input() @InputBoolean() nzBlock: boolean = false;\n\n constructor() {}\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'nz-skeleton-element[nzType=\"button\"]',\n template: `\n <span\n class=\"ant-skeleton-button\"\n [class.ant-skeleton-button-round]=\"nzShape === 'round'\"\n [class.ant-skeleton-button-circle]=\"nzShape === 'circle'\"\n [class.ant-skeleton-button-lg]=\"nzSize === 'large'\"\n [class.ant-skeleton-button-sm]=\"nzSize === 'small'\"\n ></span>\n `\n})\nexport class NzSkeletonElementButtonComponent {\n @Input() nzShape: NzSkeletonButtonShape = 'default';\n @Input() nzSize: NzSkeletonButtonSize = 'default';\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'nz-skeleton-element[nzType=\"avatar\"]',\n template: `\n <span\n class=\"ant-skeleton-avatar\"\n [class.ant-skeleton-avatar-square]=\"nzShape === 'square'\"\n [class.ant-skeleton-avatar-circle]=\"nzShape === 'circle'\"\n [class.ant-skeleton-avatar-lg]=\"nzSize === 'large'\"\n [class.ant-skeleton-avatar-sm]=\"nzSize === 'small'\"\n [ngStyle]=\"styleMap\"\n ></span>\n `\n})\nexport class NzSkeletonElementAvatarComponent implements OnChanges {\n @Input() nzShape: NzSkeletonAvatarShape = 'circle';\n @Input() nzSize: NzSkeletonAvatarSize = 'default';\n\n styleMap = {};\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.nzSize && typeof this.nzSize === 'number') {\n const sideLength = `${this.nzSize}px`;\n this.styleMap = { width: sideLength, height: sideLength, 'line-height': sideLength };\n } else {\n this.styleMap = {};\n }\n }\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'nz-skeleton-element[nzType=\"input\"]',\n template: `\n <span\n class=\"ant-skeleton-input\"\n [class.ant-skeleton-input-lg]=\"nzSize === 'large'\"\n [class.ant-skeleton-input-sm]=\"nzSize === 'small'\"\n ></span>\n `\n})\nexport class NzSkeletonElementInputComponent {\n @Input() nzSize: NzSkeletonInputSize = 'default';\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'nz-skeleton-element[nzType=\"image\"]',\n template: `\n <span class=\"ant-skeleton-image\">\n <svg class=\"ant-skeleton-image-svg\" viewBox=\"0 0 1098 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z\"\n class=\"ant-skeleton-image-path\"\n />\n </svg>\n </span>\n `\n})\nexport class NzSkeletonElementImageComponent {}\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 OnInit,\n Renderer2,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { toCssPixel } from 'ng-zorro-antd/core/util';\n\nimport {\n NzSkeletonAvatar,\n NzSkeletonAvatarShape,\n NzSkeletonAvatarSize,\n NzSkeletonParagraph,\n NzSkeletonTitle\n} from './skeleton.type';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'nz-skeleton',\n exportAs: 'nzSkeleton',\n host: {\n '[class.ant-skeleton-with-avatar]': '!!nzAvatar',\n '[class.ant-skeleton-active]': 'nzActive',\n '[class.ant-skeleton-round]': '!!nzRound'\n },\n template: `\n <ng-container *ngIf=\"nzLoading\">\n <div class=\"ant-skeleton-header\" *ngIf=\"!!nzAvatar\">\n <nz-skeleton-element\n nzType=\"avatar\"\n [nzSize]=\"avatar.size || 'default'\"\n [nzShape]=\"avatar.shape || 'circle'\"\n ></nz-skeleton-element>\n </div>\n <div class=\"ant-skeleton-content\">\n <h3 *ngIf=\"!!nzTitle\" class=\"ant-skeleton-title\" [style.width]=\"toCSSUnit(title.width)\"></h3>\n <ul *ngIf=\"!!nzParagraph\" class=\"ant-skeleton-paragraph\">\n <li *ngFor=\"let row of rowsList; let i = index\" [style.width]=\"toCSSUnit(widthList[i])\"></li>\n </ul>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!nzLoading\">\n <ng-content></ng-content>\n </ng-container>\n `\n})\nexport class NzSkeletonComponent implements OnInit, OnChanges {\n @Input() nzActive = false;\n @Input() nzLoading = true;\n @Input() nzRound = false;\n @Input() nzTitle: NzSkeletonTitle | boolean = true;\n @Input() nzAvatar: NzSkeletonAvatar | boolean = false;\n @Input() nzParagraph: NzSkeletonParagraph | boolean = true;\n\n title!: NzSkeletonTitle;\n avatar!: NzSkeletonAvatar;\n paragraph!: NzSkeletonParagraph;\n rowsList: number[] = [];\n widthList: Array<number | string> = [];\n\n constructor(private cdr: ChangeDetectorRef, renderer: Renderer2, elementRef: ElementRef) {\n renderer.addClass(elementRef.nativeElement, 'ant-skeleton');\n }\n\n toCSSUnit(value: number | string = ''): string {\n return toCssPixel(value);\n }\n\n private getTitleProps(): NzSkeletonTitle {\n const hasAvatar = !!this.nzAvatar;\n const hasParagraph = !!this.nzParagraph;\n let width = '';\n if (!hasAvatar && hasParagraph) {\n width = '38%';\n } else if (hasAvatar && hasParagraph) {\n width = '50%';\n }\n return { width, ...this.getProps(this.nzTitle) };\n }\n\n private getAvatarProps(): NzSkeletonAvatar {\n const shape: NzSkeletonAvatarShape = !!this.nzTitle && !this.nzParagraph ? 'square' : 'circle';\n const size: NzSkeletonAvatarSize = 'large';\n return { shape, size, ...this.getProps(this.nzAvatar) };\n }\n\n private getParagraphProps(): NzSkeletonParagraph {\n const hasAvatar = !!this.nzAvatar;\n const hasTitle = !!this.nzTitle;\n const basicProps: NzSkeletonParagraph = {};\n // Width\n if (!hasAvatar || !hasTitle) {\n basicProps.width = '61%';\n }\n // Rows\n if (!hasAvatar && hasTitle) {\n basicProps.rows = 3;\n } else {\n basicProps.rows = 2;\n }\n return { ...basicProps, ...this.getProps(this.nzParagraph) };\n }\n\n private getProps<T>(prop: T | boolean | undefined): T | {} {\n return prop && typeof prop === 'object' ? prop : {};\n }\n\n private getWidthList(): Array<number | string> {\n const { width, rows } = this.paragraph;\n let widthList: Array<string | number> = [];\n if (width && Array.isArray(width)) {\n widthList = width;\n } else if (width && !Array.isArray(width)) {\n widthList = [];\n widthList[rows! - 1] = width;\n }\n return widthList;\n }\n\n private updateProps(): void {\n this.title = this.getTitleProps();\n this.avatar = this.getAvatarProps();\n this.paragraph = this.getParagraphProps();\n this.rowsList = [...Array(this.paragraph.rows)];\n this.widthList = this.getWidthList();\n this.cdr.markForCheck();\n }\n\n ngOnInit(): void {\n this.updateProps();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.nzTitle || changes.nzAvatar || changes.nzParagraph) {\n this.updateProps();\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 { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport {\n NzSkeletonElementAvatarComponent,\n NzSkeletonElementButtonComponent,\n NzSkeletonElementDirective,\n NzSkeletonElementImageComponent,\n NzSkeletonElementInputComponent\n} from './skeleton-element.component';\nimport { NzSkeletonComponent } from './skeleton.component';\n\n@NgModule({\n declarations: [\n NzSkeletonComponent,\n NzSkeletonElementDirective,\n NzSkeletonElementButtonComponent,\n NzSkeletonElementAvatarComponent,\n NzSkeletonElementImageComponent,\n NzSkeletonElementInputComponent\n ],\n imports: [BidiModule, CommonModule],\n exports: [\n NzSkeletonComponent,\n NzSkeletonElementDirective,\n NzSkeletonElementButtonComponent,\n NzSkeletonElementAvatarComponent,\n NzSkeletonElementImageComponent,\n NzSkeletonElementInputComponent\n ]\n})\nexport class NzSkeletonModule {}\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 NzSkeletonParagraphWidth = number | string | Array<number | string>;\nexport type NzSkeletonButtonShape = 'circle' | 'round' | 'default';\nexport type NzSkeletonAvatarShape = 'square' | 'circle';\nexport type NzSkeletonInputSize = 'large' | 'small' | 'default';\nexport type NzSkeletonButtonSize = NzSkeletonInputSize;\nexport type NzSkeletonAvatarSize = NzSkeletonInputSize | number;\n\nexport interface NzSkeletonAvatar {\n size?: NzSkeletonAvatarSize;\n shape?: NzSkeletonAvatarShape;\n}\n\nexport interface NzSkeletonTitle {\n width?: number | string;\n}\n\nexport interface NzSkeletonParagraph {\n rows?: number;\n width?: NzSkeletonParagraphWidth;\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\nexport * from './skeleton.component';\nexport * from './skeleton.module';\nexport * from './skeleton.type';\nexport * from './skeleton-element.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}