{"version":3,"file":"ng-zorro-antd-descriptions.mjs","sources":["../../components/descriptions/descriptions-item.component.ts","../../components/descriptions/descriptions.component.ts","../../components/descriptions/descriptions.module.ts","../../components/descriptions/typings.ts","../../components/descriptions/public-api.ts","../../components/descriptions/ng-zorro-antd-descriptions.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  Input,\n  OnChanges,\n  OnDestroy,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation,\n  numberAttribute\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  selector: 'nz-descriptions-item',\n  template: `\n    <ng-template>\n      <ng-content></ng-content>\n    </ng-template>\n  `,\n  exportAs: 'nzDescriptionsItem',\n  preserveWhitespaces: false\n})\nexport class NzDescriptionsItemComponent implements OnChanges, OnDestroy {\n  @ViewChild(TemplateRef, { static: true }) content!: TemplateRef<void>;\n\n  @Input({ transform: numberAttribute }) nzSpan = 1;\n  @Input() nzTitle: string | TemplateRef<void> = '';\n\n  readonly inputChange$ = new Subject<void>();\n\n  ngOnChanges(): void {\n    this.inputChange$.next();\n  }\n\n  ngOnDestroy(): void {\n    this.inputChange$.complete();\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 { Direction, Directionality } from '@angular/cdk/bidi';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  QueryList,\n  SimpleChanges,\n  TemplateRef,\n  ViewEncapsulation,\n  booleanAttribute\n} from '@angular/core';\nimport { Subject, merge } from 'rxjs';\nimport { auditTime, startWith, switchMap, takeUntil, tap } from 'rxjs/operators';\n\nimport { NzConfigKey, NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';\nimport { warn } from 'ng-zorro-antd/core/logger';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzBreakpointEnum, NzBreakpointService, gridResponsiveMap } from 'ng-zorro-antd/core/services';\n\nimport { NzDescriptionsItemComponent } from './descriptions-item.component';\nimport { NzDescriptionsItemRenderProps, NzDescriptionsLayout, NzDescriptionsSize } from './typings';\n\nconst NZ_CONFIG_MODULE_NAME: NzConfigKey = 'descriptions';\nconst defaultColumnMap: Record<NzBreakpointEnum, number> = {\n  xxl: 3,\n  xl: 3,\n  lg: 3,\n  md: 3,\n  sm: 2,\n  xs: 1\n};\n\n@Component({\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  selector: 'nz-descriptions',\n  exportAs: 'nzDescriptions',\n  preserveWhitespaces: false,\n  template: `\n    @if (nzTitle || nzExtra) {\n      <div class=\"ant-descriptions-header\">\n        @if (nzTitle) {\n          <div class=\"ant-descriptions-title\">\n            <ng-container *nzStringTemplateOutlet=\"nzTitle\">{{ nzTitle }}</ng-container>\n          </div>\n        }\n        @if (nzExtra) {\n          <div class=\"ant-descriptions-extra\">\n            <ng-container *nzStringTemplateOutlet=\"nzExtra\">{{ nzExtra }}</ng-container>\n          </div>\n        }\n      </div>\n    }\n\n    <div class=\"ant-descriptions-view\">\n      <table>\n        <tbody>\n          @if (nzLayout === 'horizontal') {\n            @for (row of itemMatrix; track row; let i = $index) {\n              <tr class=\"ant-descriptions-row\">\n                @for (item of row; track item; let isLast = $last) {\n                  @if (!nzBordered) {\n                    <td class=\"ant-descriptions-item\" [colSpan]=\"item.span\">\n                      <div class=\"ant-descriptions-item-container\">\n                        <span class=\"ant-descriptions-item-label\" [class.ant-descriptions-item-no-colon]=\"!nzColon\">\n                          <ng-container *nzStringTemplateOutlet=\"item.title\">\n                            {{ item.title }}\n                          </ng-container>\n                        </span>\n                        <span class=\"ant-descriptions-item-content\">\n                          <ng-template [ngTemplateOutlet]=\"item.content\"></ng-template>\n                        </span>\n                      </div>\n                    </td>\n                  } @else {\n                    <td class=\"ant-descriptions-item-label\">\n                      <ng-container *nzStringTemplateOutlet=\"item.title\">\n                        {{ item.title }}\n                      </ng-container>\n                    </td>\n                    <td class=\"ant-descriptions-item-content\" [colSpan]=\"item.span * 2 - 1\">\n                      <ng-template [ngTemplateOutlet]=\"item.content\"></ng-template>\n                    </td>\n                  }\n                }\n              </tr>\n            }\n          }\n\n          @if (nzLayout === 'vertical') {\n            @if (!nzBordered) {\n              @for (row of itemMatrix; track row; let i = $index) {\n                <tr class=\"ant-descriptions-row\">\n                  @for (item of row; track item; let isLast = $last) {\n                    <td class=\"ant-descriptions-item\" [colSpan]=\"item.span\">\n                      <div class=\"ant-descriptions-item-container\">\n                        <span class=\"ant-descriptions-item-label\" [class.ant-descriptions-item-no-colon]=\"!nzColon\">\n                          <ng-container *nzStringTemplateOutlet=\"item.title\">\n                            {{ item.title }}\n                          </ng-container>\n                        </span>\n                      </div>\n                    </td>\n                  }\n                </tr>\n                <tr class=\"ant-descriptions-row\">\n                  @for (item of row; track item; let isLast = $last) {\n                    <td class=\"ant-descriptions-item\" [colSpan]=\"item.span\">\n                      <div class=\"ant-descriptions-item-container\">\n                        <span class=\"ant-descriptions-item-content\">\n                          <ng-template [ngTemplateOutlet]=\"item.content\" />\n                        </span>\n                      </div>\n                    </td>\n                  }\n                </tr>\n              }\n            } @else {\n              @for (row of itemMatrix; track row; let i = $index) {\n                <tr class=\"ant-descriptions-row\">\n                  @for (item of row; track item; let isLast = $last) {\n                    <td class=\"ant-descriptions-item-label\" [colSpan]=\"item.span\">\n                      <ng-container *nzStringTemplateOutlet=\"item.title\">\n                        {{ item.title }}\n                      </ng-container>\n                    </td>\n                  }\n                </tr>\n                <tr class=\"ant-descriptions-row\">\n                  @for (item of row; track item; let isLast = $last) {\n                    <td class=\"ant-descriptions-item-content\" [colSpan]=\"item.span\">\n                      <ng-template [ngTemplateOutlet]=\"item.content\" />\n                    </td>\n                  }\n                </tr>\n              }\n            }\n          }\n        </tbody>\n      </table>\n    </div>\n  `,\n  host: {\n    class: 'ant-descriptions',\n    '[class.ant-descriptions-bordered]': 'nzBordered',\n    '[class.ant-descriptions-middle]': 'nzSize === \"middle\"',\n    '[class.ant-descriptions-small]': 'nzSize === \"small\"',\n    '[class.ant-descriptions-rtl]': 'dir === \"rtl\"'\n  },\n  imports: [NzOutletModule, NgTemplateOutlet]\n})\nexport class NzDescriptionsComponent implements OnChanges, OnDestroy, AfterContentInit, OnInit {\n  readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n\n  @ContentChildren(NzDescriptionsItemComponent) items!: QueryList<NzDescriptionsItemComponent>;\n\n  @Input({ transform: booleanAttribute }) @WithConfig() nzBordered: boolean = false;\n  @Input() nzLayout: NzDescriptionsLayout = 'horizontal';\n  @Input() @WithConfig() nzColumn: number | Record<NzBreakpointEnum, number> = defaultColumnMap;\n  @Input() @WithConfig() nzSize: NzDescriptionsSize = 'default';\n  @Input() nzTitle: string | TemplateRef<void> = '';\n  @Input() nzExtra?: string | TemplateRef<void>;\n  @Input({ transform: booleanAttribute }) @WithConfig() nzColon: boolean = true;\n\n  itemMatrix: NzDescriptionsItemRenderProps[][] = [];\n  realColumn = 3;\n  dir: Direction = 'ltr';\n\n  private breakpoint: NzBreakpointEnum = NzBreakpointEnum.md;\n  private destroy$ = new Subject<void>();\n\n  constructor(\n    public nzConfigService: NzConfigService,\n    private cdr: ChangeDetectorRef,\n    private breakpointService: NzBreakpointService,\n    private directionality: Directionality\n  ) {}\n  ngOnInit(): void {\n    this.dir = this.directionality.value;\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n    });\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes.nzColumn) {\n      this.prepareMatrix();\n    }\n  }\n\n  ngAfterContentInit(): void {\n    const contentChange$ = this.items.changes.pipe(startWith(this.items), takeUntil(this.destroy$));\n\n    merge(\n      contentChange$,\n      contentChange$.pipe(switchMap(() => merge(...this.items.map(i => i.inputChange$)).pipe(auditTime(16)))),\n      this.breakpointService.subscribe(gridResponsiveMap).pipe(tap(bp => (this.breakpoint = bp)))\n    )\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(() => {\n        this.prepareMatrix();\n        this.cdr.markForCheck();\n      });\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n\n  /**\n   * Prepare the render matrix according to description items' spans.\n   */\n  private prepareMatrix(): void {\n    if (!this.items) {\n      return;\n    }\n\n    let currentRow: NzDescriptionsItemRenderProps[] = [];\n    let width = 0;\n\n    const column = (this.realColumn = this.getColumn());\n    const items = this.items.toArray();\n    const length = items.length;\n    const matrix: NzDescriptionsItemRenderProps[][] = [];\n    const flushRow = (): void => {\n      matrix.push(currentRow);\n      currentRow = [];\n      width = 0;\n    };\n\n    for (let i = 0; i < length; i++) {\n      const item = items[i];\n      const { nzTitle: title, content, nzSpan: span } = item;\n\n      width += span;\n\n      // If the last item make the row's length exceeds `nzColumn`, the last\n      // item should take all the space left. This logic is implemented in the template.\n      // Warn user about that.\n      if (width >= column) {\n        if (width > column) {\n          warn(`\"nzColumn\" is ${column} but we have row length ${width}`);\n        }\n        currentRow.push({ title, content, span: column - (width - span) });\n        flushRow();\n      } else if (i === length - 1) {\n        currentRow.push({ title, content, span: column - (width - span) });\n        flushRow();\n      } else {\n        currentRow.push({ title, content, span });\n      }\n    }\n\n    this.itemMatrix = matrix;\n  }\n\n  private getColumn(): number {\n    if (typeof this.nzColumn !== 'number') {\n      return this.nzColumn[this.breakpoint];\n    }\n\n    return this.nzColumn;\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 { NzDescriptionsItemComponent } from './descriptions-item.component';\nimport { NzDescriptionsComponent } from './descriptions.component';\n\n@NgModule({\n  imports: [NzDescriptionsComponent, NzDescriptionsItemComponent],\n  exports: [NzDescriptionsComponent, NzDescriptionsItemComponent]\n})\nexport class NzDescriptionsModule {}\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 { TemplateRef } from '@angular/core';\n\nexport type NzDescriptionsSize = 'default' | 'middle' | 'small';\n\nexport type NzDescriptionsLayout = 'horizontal' | 'vertical';\n\nexport interface NzDescriptionsItemRenderProps {\n  title: string | TemplateRef<void>;\n  span: number;\n  content: TemplateRef<void>;\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 { NzDescriptionsModule } from './descriptions.module';\nexport { NzDescriptionsComponent } from './descriptions.component';\nexport { NzDescriptionsItemComponent } from './descriptions-item.component';\n\nexport * from './typings';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}