{"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/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 * 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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"}