{"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 />\n    </ng-template>\n  `,\n  exportAs: 'nzDescriptionsItem'\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  DestroyRef,\n  Input,\n  OnChanges,\n  OnInit,\n  QueryList,\n  SimpleChanges,\n  TemplateRef,\n  ViewEncapsulation,\n  booleanAttribute,\n  inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { merge } from 'rxjs';\nimport { auditTime, startWith, switchMap, 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  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\" />\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\" />\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, AfterContentInit, OnInit {\n  public nzConfigService = inject(NzConfigService);\n  private cdr = inject(ChangeDetectorRef);\n  private breakpointService = inject(NzBreakpointService);\n  private directionality = inject(Directionality);\n  private destroyRef = inject(DestroyRef);\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\n  ngOnInit(): void {\n    this.dir = this.directionality.value;\n    this.directionality.change?.pipe(takeUntilDestroyed(this.destroyRef)).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));\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(takeUntilDestroyed(this.destroyRef))\n      .subscribe(() => {\n        this.prepareMatrix();\n        this.cdr.markForCheck();\n      });\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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"}