{"version":3,"file":"ng-nest-ui-description.mjs","sources":["../../../../lib/ng-nest/ui/description/description.property.ts","../../../../lib/ng-nest/ui/description/description-item.component.ts","../../../../lib/ng-nest/ui/description/description.component.ts","../../../../lib/ng-nest/ui/description/description.component.html","../../../../lib/ng-nest/ui/description/description.module.ts","../../../../lib/ng-nest/ui/description/ng-nest-ui-description.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\r\nimport { XPropertyFunction, XToBoolean, XToCssPixelValue, XToNumber } from '@ng-nest/ui/core';\r\nimport type { XAlign, XBoolean, XDirection, XJustify, XNumber, XSize, XTemplate } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Description\r\n * @selector x-description\r\n * @decorator component\r\n */\r\nexport const XDescriptionPrefix = 'x-description';\r\nconst X_DESCRIPTION_CONFIG_NAME = 'description';\r\n\r\n/**\r\n * Description Property\r\n */\r\n@Component({ selector: `${XDescriptionPrefix}-property`, template: '' })\r\nexport class XDescriptionProperty extends XPropertyFunction(X_DESCRIPTION_CONFIG_NAME) {\r\n  /**\r\n   * @zh_CN 描述列表的标题，支持自定义模板\r\n   * @en_US Describe the title of the list, support custom template\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-description title=\"Title\">\r\n   *   <x-description-item>name</x-description-item>\r\n   * </x-description>\r\n   * <x-description [title]=\"titleTpl\">\r\n   *   <x-description-item>name</x-description-item>\r\n   * </x-description>\r\n   * <ng-template #titleTpl>Title</ng-template>\r\n   * ```\r\n   *\r\n   */\r\n  readonly title = input<XTemplate>();\r\n  /**\r\n   * @zh_CN 是否展示边框\r\n   * @en_US Whether to show column borders\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-description title=\"Title\" bordered>\r\n   *   <x-description-item>name</x-description-item>\r\n   * </x-description>\r\n   * ```\r\n   *\r\n   */\r\n  readonly bordered = input<boolean, XBoolean>(this.config?.bordered ?? false, { transform: XToBoolean });\r\n  /**\r\n   * @zh_CN grid 布局下定义列宽度\r\n   * @en_US Define column width under grid layout\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-description title=\"Title\" bordered gridTemplateColumns=\"1fr 1fr\">\r\n   *   <x-description-item gridArea=\"1/1/2/2\">name</x-description-item>\r\n   *   <x-description-item gridArea=\"1/2/3/2\">age</x-description-item>\r\n   * </x-description>\r\n   * ```\r\n   *\r\n   */\r\n  readonly gridTemplateColumns = input<string>();\r\n  /**\r\n   * @zh_CN 尺寸\r\n   * @en_US Size\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-description title=\"Title\" size=\"big\">\r\n   *   <x-description-item>name</x-description-item>\r\n   * </x-description>\r\n   * ```\r\n   *\r\n   */\r\n  readonly size = input<XSize>(this.config?.size ?? 'medium');\r\n}\r\n\r\n/**\r\n * Description Item\r\n * @selector x-description-item\r\n * @decorator component\r\n */\r\nexport const XDescriptionItemPrefix = 'x-description-item';\r\n\r\n/**\r\n * Description Item Property\r\n */\r\n@Component({ selector: `${XDescriptionItemPrefix}-property`, template: '' })\r\nexport class XDescriptionItemProperty {\r\n  /**\r\n   * @zh_CN 使用 grid 布局\r\n   * @en_US Use grid layout to merge cells\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-description>\r\n   *   <x-description-item gridArea=\"1/1/2/2\">name</x-description-item>\r\n   * </x-description>\r\n   * ```\r\n   *\r\n   */\r\n  readonly gridArea = input<string>();\r\n  /**\r\n   * @zh_CN 内容的描述，支持自定义模板\r\n   * @en_US Description of content, support custom templates\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-description>\r\n   *   <x-description-item label=\"name1\">name1</x-description-item>\r\n   *   <x-description-item [label]=\"nameTpl\">name2</x-description-item>\r\n   * </x-description>\r\n   * <ng-template #nameTpl></ng-template>\r\n   * ```\r\n   *\r\n   */\r\n  readonly label = input<XTemplate>();\r\n  /**\r\n   * @zh_CN flex 布局下的子元素水平排列方式\r\n   * @en_US Child element under the horizontal arrangement of the layout flex\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-description>\r\n   *   <x-description-item justify=\"end\">end</x-description-item>\r\n   *   <x-description-item justify=\"center\">center</x-description-item>\r\n   *   <x-description-item justify=\"start\">start</x-description-item>\r\n   *   <x-description-item justify=\"space-around\">space-around</x-description-item>\r\n   *   <x-description-item justify=\"space-between\">space-between</x-description-item>\r\n   * </x-description>\r\n   * ```\r\n   *\r\n   */\r\n  readonly justify = input<XJustify>('start');\r\n  /**\r\n   * @zh_CN flex 布局下的子元素垂直排列方式\r\n   * @en_US Child element under the vertical layout flex arrangement\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-description>\r\n   *   <x-description-item align=\"end\">end</x-description-item>\r\n   *   <x-description-item align=\"center\">center</x-description-item>\r\n   *   <x-description-item align=\"start\">start</x-description-item>\r\n   * </x-description>\r\n   * ```\r\n   *\r\n   */\r\n  readonly align = input<XAlign>('start');\r\n  /**\r\n   * @zh_CN flex 布局下的子元素排列方向\r\n   * @en_US Child element under the direction of arrangement of the layout flex\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-description>\r\n   *   <x-description-item direction=\"column\">column</x-description-item>\r\n   *   <x-description-item direction=\"column-reverse\">column-reverse</x-description-item>\r\n   *   <x-description-item direction=\"row\">row</x-description-item>\r\n   *   <x-description-item direction=\"row-reverse\">row-reverse</x-description-item>\r\n   * </x-description>\r\n   * ```\r\n   *\r\n   */\r\n  readonly direction = input<XDirection>('row');\r\n  /**\r\n   * @zh_CN 宽度\r\n   * @en_US Width\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-description>\r\n   *   <x-description-item width=\"100px\">width100</x-description-item>\r\n   *   <x-description-item width=\"200px\">width200</x-description-item>\r\n   * </x-description>\r\n   * ```\r\n   *\r\n   */\r\n  readonly width = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n  /**\r\n   * @zh_CN flex 比重\r\n   * @en_US Flex proportion\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-description>\r\n   *   <x-description-item flex=\"1\">flex1</x-description-item>\r\n   *   <x-description-item flex=\"2\">flex2</x-description-item>\r\n   * </x-description>\r\n   * ```\r\n   *\r\n   */\r\n  readonly flex = input<number, XNumber>(0, { transform: XToNumber });\r\n  /**\r\n   * @zh_CN 是否是标题\r\n   * @en_US Whether it is heading\r\n   * @example\r\n   *\r\n   * ```html\r\n   * <x-description>\r\n   *   <x-description-item label=\"name\" heading></x-description-item>\r\n   *   <x-description-item>name1</x-description-item>\r\n   * </x-description>\r\n   * ```\r\n   *\r\n   */\r\n  readonly heading = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, TemplateRef, viewChild } from '@angular/core';\r\nimport { XDescriptionItemPrefix, XDescriptionItemProperty } from './description.property';\r\n\r\n@Component({\r\n  selector: `${XDescriptionItemPrefix}`,\r\n  template: `\r\n    <ng-template>\r\n      <ng-content></ng-content>\r\n    </ng-template>\r\n  `,\r\n  styleUrls: ['./style/index.scss'],\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XDescriptionItemComponent extends XDescriptionItemProperty {\r\n  content = viewChild.required(TemplateRef);\r\n}\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, computed, contentChildren } from '@angular/core';\r\nimport { XDescriptionPrefix, XDescriptionProperty } from './description.property';\r\nimport { XIsEmpty } from '@ng-nest/ui/core';\r\nimport { XDescriptionItemComponent } from './description-item.component';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\n\r\n@Component({\r\n  selector: `${XDescriptionPrefix}`,\r\n  imports: [NgClass, NgTemplateOutlet, XOutletDirective],\r\n  templateUrl: './description.component.html',\r\n  styleUrls: ['./style/index.scss'],\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XDescriptionComponent extends XDescriptionProperty {\r\n  items = contentChildren(XDescriptionItemComponent);\r\n\r\n  classMap = computed(() => ({\r\n    [`${XDescriptionPrefix}-${this.size()}`]: !XIsEmpty(this.size())\r\n  }));\r\n\r\n  gridTemplateColumnsSignal = computed(() => {\r\n    let gridTemplateColumns = this.gridTemplateColumns();\r\n    if (gridTemplateColumns) return gridTemplateColumns;\r\n    const columns: string[] = [];\r\n    this.items().forEach((x) => {\r\n      if (x.width()) {\r\n        columns.push(x.width());\r\n      } else if (x.flex()) {\r\n        columns.push(`${x.flex()}fr`);\r\n      }\r\n    });\r\n    return columns.join(' ');\r\n  });\r\n\r\n  setFlex(item: XDescriptionItemComponent) {\r\n    let classes: { [property: string]: boolean } = {};\r\n    if (!XIsEmpty(item.justify())) classes[`x-justify-${item.justify()}`] = true;\r\n    if (!XIsEmpty(item.align())) classes[`x-align-${item.align()}`] = true;\r\n    if (!XIsEmpty(item.direction())) classes[`x-direction-${item.direction()}`] = true;\r\n    return classes;\r\n  }\r\n}\r\n","<div class=\"x-description\" [class.x-description-bordered]=\"bordered()\" [ngClass]=\"classMap()\">\r\n  @if (title()) {\r\n    <div class=\"x-description-header\">\r\n      <div class=\"x-description-title\" *xOutlet=\"title()\">\r\n        {{ title() }}\r\n      </div>\r\n    </div>\r\n  }\r\n  <div class=\"x-description-grid\" [style.grid-template-columns]=\"gridTemplateColumnsSignal()\">\r\n    @for (item of items(); track item) {\r\n      <div\r\n        class=\"x-description-item\"\r\n        [style.grid-area]=\"item.gridArea() ? item.gridArea() : '1 / ' + ($index + 1)\"\r\n        [class.x-description-item-heading]=\"item.heading()\"\r\n        [ngClass]=\"setFlex(item)\"\r\n      >\r\n        <div class=\"x-description-item-label\">\r\n          <ng-container *xOutlet=\"item.label()\">{{ item.label() }}</ng-container>\r\n        </div>\r\n        <div class=\"x-description-item-content\">\r\n          <ng-template [ngTemplateOutlet]=\"item.content()\"></ng-template>\r\n        </div>\r\n      </div>\r\n    }\r\n  </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XDescriptionItemComponent } from './description-item.component';\r\nimport { XDescriptionComponent } from './description.component';\r\n\r\n@NgModule({\r\n  imports: [XDescriptionComponent, XDescriptionItemComponent],\r\n  exports: [XDescriptionComponent, XDescriptionItemComponent],\r\n})\r\nexport class XDescriptionModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}