{"version":3,"file":"ui-vts-kit-ng-vts-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/ui-vts-kit-ng-vts-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 {\n  ChangeDetectionStrategy,\n  Component,\n  Directive,\n  Input,\n  OnChanges,\n  SimpleChanges\n} from '@angular/core';\nimport {\n  VtsSkeletonAvatarShape,\n  VtsSkeletonAvatarSize,\n  VtsSkeletonButtonShape,\n  VtsSkeletonButtonSize,\n  VtsSkeletonInputSize\n} from './skeleton.type';\n\n@Directive({\n  selector: 'vts-skeleton-element',\n  host: {\n    '[class.vts-skeleton]': 'true',\n    '[class.vts-skeleton-element]': 'true',\n    '[class.vts-skeleton-active]': 'vtsActive',\n    '[class.vts-skeleton-type-button]': 'vtsType === \"button\"',\n    '[class.vts-skeleton-type-input]': 'vtsType === \"input\"',\n    '[class.vts-skeleton-type-avatar]': 'vtsType === \"avatar\"',\n    '[class.vts-skeleton-type-image]': 'vtsType === \"image\"'\n  }\n})\nexport class VtsSkeletonElementDirective {\n  @Input() vtsActive: boolean = false;\n  @Input() vtsType!: 'button' | 'input' | 'avatar' | 'image';\n\n  constructor() {}\n}\n\n@Component({\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  selector: 'vts-skeleton-element[vtsType=\"button\"]',\n  template: `\n    <span\n      class=\"vts-skeleton-button\"\n      [class.vts-skeleton-button-square]=\"vtsShape === 'square'\"\n      [class.vts-skeleton-button-rounded]=\"vtsShape === 'rounded'\"\n      [class.vts-skeleton-button-circle]=\"vtsShape === 'circle'\"\n      [class.vts-skeleton-button-xs]=\"vtsSize === 'xs'\"\n      [class.vts-skeleton-button-sm]=\"vtsSize === 'sm'\"\n      [class.vts-skeleton-button-md]=\"vtsSize === 'md'\"\n      [class.vts-skeleton-button-lg]=\"vtsSize === 'lg'\"\n      [class.vts-skeleton-button-xl]=\"vtsSize === 'xl'\"\n    ></span>\n  `\n})\nexport class VtsSkeletonElementButtonComponent {\n  @Input() vtsShape: VtsSkeletonButtonShape = 'square';\n  @Input() vtsSize: VtsSkeletonButtonSize = 'md';\n}\n\n@Component({\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  selector: 'vts-skeleton-element[vtsType=\"avatar\"]',\n  template: `\n    <span\n      class=\"vts-skeleton-avatar\"\n      [class.vts-skeleton-avatar-square]=\"vtsShape === 'square'\"\n      [class.vts-skeleton-avatar-rounded]=\"vtsShape === 'rounded'\"\n      [class.vts-skeleton-avatar-circle]=\"vtsShape === 'circle'\"\n      [class.vts-skeleton-avatar-xl]=\"vtsSize === 'xl'\"\n      [class.vts-skeleton-avatar-lg]=\"vtsSize === 'lg'\"\n      [class.vts-skeleton-avatar-md]=\"vtsSize === 'md'\"\n      [class.vts-skeleton-avatar-sm]=\"vtsSize === 'sm'\"\n      [class.vts-skeleton-avatar-xs]=\"vtsSize === 'xs'\"\n      [class.vts-skeleton-avatar-xxs]=\"vtsSize === 'xxs'\"\n      [ngStyle]=\"styleMap\"\n    ></span>\n  `\n})\nexport class VtsSkeletonElementAvatarComponent implements OnChanges {\n  @Input() vtsShape: VtsSkeletonAvatarShape = 'circle';\n  @Input() vtsSize: VtsSkeletonAvatarSize = 'xs';\n\n  styleMap = {};\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes.vtsSize && typeof this.vtsSize === 'number') {\n      const sideLength = `${this.vtsSize}px`;\n      this.styleMap = {\n        width: sideLength,\n        height: sideLength,\n        'line-height': sideLength\n      };\n    } else {\n      this.styleMap = {};\n    }\n  }\n}\n\n@Component({\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  selector: 'vts-skeleton-element[vtsType=\"input\"]',\n  template: `\n    <span\n      class=\"vts-skeleton-input\"\n      [class.vts-skeleton-input-sm]=\"vtsSize === 'sm'\"\n      [class.vts-skeleton-input-md]=\"vtsSize === 'md'\"\n      [class.vts-skeleton-input-lg]=\"vtsSize === 'lg'\"\n      [class.vts-skeleton-input-xl]=\"vtsSize === 'xl'\"\n    ></span>\n  `\n})\nexport class VtsSkeletonElementInputComponent {\n  @Input() vtsSize: VtsSkeletonInputSize = 'md';\n}\n\n@Component({\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  selector: 'vts-skeleton-element[vtsType=\"image\"]',\n  template: `\n    <span class=\"vts-skeleton-image\">\n      <svg\n        class=\"vts-skeleton-image-svg\"\n        viewBox=\"0 0 1098 1024\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n      >\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=\"vts-skeleton-image-path\"\n        />\n      </svg>\n    </span>\n  `\n})\nexport class VtsSkeletonElementImageComponent {}\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 { InputBoolean, toCssPixel } from '@ui-vts-kit/ng-vts/core/util';\nimport { BooleanInput } from '@ui-vts-kit/ng-vts/core/types';\nimport { VtsSkeletonAvatar, VtsSkeletonParagraph, VtsSkeletonTitle } from './skeleton.type';\n\n@Component({\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  selector: 'vts-skeleton',\n  exportAs: 'vtsSkeleton',\n  host: {\n    '[class.vts-skeleton-with-avatar]': '!!vtsAvatar',\n    '[class.vts-skeleton-active]': 'vtsActive',\n    '[class.vts-skeleton-rounded]': '!!vtsRounded',\n    '[class.vts-skeleton-only-title]': '!!vtsTitle && !shouldDisplayParagraph()'\n  },\n  template: `\n    <ng-container *ngIf=\"vtsLoading\">\n      <div class=\"vts-skeleton-header\" *ngIf=\"!!vtsAvatar\">\n        <vts-skeleton-element\n          vtsType=\"avatar\"\n          [vtsSize]=\"avatar.size || 'xs'\"\n          [vtsShape]=\"avatar.shape || 'circle'\"\n        ></vts-skeleton-element>\n      </div>\n      <div class=\"vts-skeleton-content\">\n        <h3\n          *ngIf=\"!!vtsTitle\"\n          class=\"vts-skeleton-title\"\n          [style.width]=\"toCSSUnit(title.width)\"\n        ></h3>\n        <ul *ngIf=\"shouldDisplayParagraph()\" class=\"vts-skeleton-paragraph\">\n          <li\n            *ngFor=\"let row of rowsList; let i = index\"\n            [style.width]=\"toCSSUnit(widthList[i])\"\n          ></li>\n        </ul>\n      </div>\n    </ng-container>\n    <ng-container *ngIf=\"!vtsLoading\">\n      <ng-content></ng-content>\n    </ng-container>\n  `\n})\nexport class VtsSkeletonComponent implements OnInit, OnChanges {\n  static ngAcceptInputType_vtsActive: BooleanInput;\n  static ngAcceptInputType_vtsLoading: BooleanInput;\n  static ngAcceptInputType_vtsRounded: BooleanInput;\n\n  @Input() @InputBoolean() vtsActive = false;\n  @Input() @InputBoolean() vtsLoading = true;\n  @Input() @InputBoolean() vtsRounded = false;\n  @Input() vtsTitle: VtsSkeletonTitle | boolean = true;\n  @Input() vtsAvatar: VtsSkeletonAvatar | boolean = false;\n  @Input() vtsParagraph: VtsSkeletonParagraph | boolean = true;\n\n  title!: VtsSkeletonTitle;\n  avatar!: VtsSkeletonAvatar;\n  paragraph!: VtsSkeletonParagraph;\n  rowsList: number[] = [];\n  widthList: Array<number | string> = [];\n\n  constructor(private cdr: ChangeDetectorRef, renderer: Renderer2, elementRef: ElementRef) {\n    renderer.addClass(elementRef.nativeElement, 'vts-skeleton');\n  }\n\n  toCSSUnit(value: number | string = ''): string {\n    return toCssPixel(value);\n  }\n\n  public shouldDisplayParagraph() {\n    if (typeof this.vtsParagraph === 'object') {\n      return this.vtsParagraph?.rows !== 0;\n    } else return !!this.vtsParagraph;\n  }\n\n  private getTitleProps(): VtsSkeletonTitle {\n    const hasAvatar: boolean = !!this.vtsAvatar;\n    const hasParagraph: boolean = !!this.vtsParagraph;\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.vtsTitle) };\n  }\n\n  private getAvatarProps(): VtsSkeletonAvatar {\n    return { ...this.getProps(this.vtsAvatar) };\n  }\n\n  private getParagraphProps(): VtsSkeletonParagraph {\n    const hasAvatar: boolean = !!this.vtsAvatar;\n    const hasTitle: boolean = !!this.vtsTitle;\n    const basicProps: VtsSkeletonParagraph = {};\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.vtsParagraph) };\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.vtsTitle || changes.vtsAvatar || changes.vtsParagraph) {\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';\nimport {\n  VtsSkeletonElementAvatarComponent,\n  VtsSkeletonElementButtonComponent,\n  VtsSkeletonElementDirective,\n  VtsSkeletonElementImageComponent,\n  VtsSkeletonElementInputComponent\n} from './skeleton-element.component';\nimport { VtsSkeletonComponent } from './skeleton.component';\n\n@NgModule({\n  declarations: [\n    VtsSkeletonComponent,\n    VtsSkeletonElementDirective,\n    VtsSkeletonElementButtonComponent,\n    VtsSkeletonElementAvatarComponent,\n    VtsSkeletonElementImageComponent,\n    VtsSkeletonElementInputComponent\n  ],\n  imports: [BidiModule, CommonModule],\n  exports: [\n    VtsSkeletonComponent,\n    VtsSkeletonElementDirective,\n    VtsSkeletonElementButtonComponent,\n    VtsSkeletonElementAvatarComponent,\n    VtsSkeletonElementImageComponent,\n    VtsSkeletonElementInputComponent\n  ]\n})\nexport class VtsSkeletonModule {}\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 { VtsAvatarShape, VtsAvatarSize } from '@ui-vts-kit/ng-vts/avatar';\nimport { VtsButtonShape, VtsButtonSize } from '@ui-vts-kit/ng-vts/button';\nimport { VtsSizeXLMSType } from '@ui-vts-kit/ng-vts/core/types';\n\nexport type VtsSkeletonParagraphWidth = number | string | Array<number | string>;\n\nexport type VtsSkeletonInputSize = VtsSizeXLMSType;\n\nexport type VtsSkeletonButtonSize = VtsButtonSize;\nexport type VtsSkeletonButtonShape = VtsButtonShape;\n\nexport type VtsSkeletonAvatarSize = VtsAvatarSize | number;\nexport type VtsSkeletonAvatarShape = VtsAvatarShape;\n\nexport interface VtsSkeletonAvatar {\n  size?: VtsSkeletonAvatarSize;\n  shape?: VtsSkeletonAvatarShape;\n}\n\nexport interface VtsSkeletonTitle {\n  width?: number | string;\n}\n\nexport interface VtsSkeletonParagraph {\n  rows?: number;\n  width?: VtsSkeletonParagraphWidth;\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":["i2.VtsSkeletonElementDirective","i2.VtsSkeletonElementAvatarComponent"],"mappings":"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"}