{"version":3,"file":"descriptions-cell.mjs","sources":["../../../../../../packages/components/descriptions/src/descriptions-cell.ts"],"sourcesContent":["import { defineComponent, h, inject } from 'vue'\nimport { addUnit } from '@element-plus/utils/util'\nimport { getNormalizedProps } from '@element-plus/utils/vnode'\nimport { elDescriptionsKey } from './token'\n\nimport type { VNode } from 'vue'\nimport type {\n  IDescriptionsInject,\n  IDescriptionsItemInject,\n} from './descriptions.type'\n\nexport default defineComponent({\n  name: 'ElDescriptionsCell',\n  props: {\n    cell: {\n      type: Object,\n    },\n    tag: {\n      type: String,\n    },\n    type: {\n      type: String,\n    },\n  },\n  setup() {\n    const descriptions = inject(elDescriptionsKey, {} as IDescriptionsInject)\n\n    return {\n      descriptions,\n    }\n  },\n  render() {\n    const item = getNormalizedProps(\n      this.cell as VNode\n    ) as IDescriptionsItemInject\n\n    const label = this.cell?.children?.label?.() || item.label\n    const content = this.cell?.children?.default?.()\n    const span = item.span\n    const align = item.align ? `is-${item.align}` : ''\n    const labelAlign = item.labelAlign ? `is-${item.labelAlign}` : '' || align\n    const className = item.className\n    const labelClassName = item.labelClassName\n    const style = {\n      width: addUnit(item.width),\n      minWidth: addUnit(item.minWidth),\n    }\n\n    switch (this.type) {\n      case 'label':\n        return h(\n          this.tag,\n          {\n            style,\n            class: [\n              'el-descriptions__cell',\n              'el-descriptions__label',\n              { 'is-bordered-label': this.descriptions.border },\n              labelAlign,\n              labelClassName,\n            ],\n            colSpan: this.descriptions.direction === 'vertical' ? span : 1,\n          },\n          label\n        )\n      case 'content':\n        return h(\n          this.tag,\n          {\n            style,\n            class: [\n              'el-descriptions__cell',\n              'el-descriptions__content',\n              align,\n              className,\n            ],\n            colSpan:\n              this.descriptions.direction === 'vertical' ? span : span * 2 - 1,\n          },\n          content\n        )\n      default:\n        return h(\n          'td',\n          {\n            style,\n            class: ['el-descriptions__cell', align],\n            colSpan: span,\n          },\n          [\n            h(\n              'span',\n              {\n                class: ['el-descriptions__label', labelClassName],\n              },\n              label\n            ),\n            h(\n              'span',\n              {\n                class: ['el-descriptions__content', className],\n              },\n              content\n            ),\n          ]\n        )\n    }\n  },\n})\n"],"names":[],"mappings":";;;;;AAWA,uBAAe,gBAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA;AAAA,IAER,KAAK;AAAA,MACH,MAAM;AAAA;AAAA,IAER,MAAM;AAAA,MACJ,MAAM;AAAA;AAAA;AAAA,EAGV,QAAQ;AACN,UAAM,eAAe,OAAO,mBAAmB;AAE/C,WAAO;AAAA,MACL;AAAA;AAAA;AAAA,EAGJ,SAAS;AA/BX;AAgCI,UAAM,OAAO,mBACX,KAAK;AAGP,UAAM,QAAQ,wBAAK,SAAL,mBAAW,aAAX,mBAAqB,UAArB,gCAAkC,KAAK;AACrD,UAAM,UAAU,uBAAK,SAAL,mBAAW,aAAX,mBAAqB,YAArB;AAChB,UAAM,OAAO,KAAK;AAClB,UAAM,QAAQ,KAAK,QAAQ,MAAM,KAAK,UAAU;AAChD,UAAM,aAAa,KAAK,aAAa,MAAM,KAAK,eAAqB;AACrE,UAAM,YAAY,KAAK;AACvB,UAAM,iBAAiB,KAAK;AAC5B,UAAM,QAAQ;AAAA,MACZ,OAAO,QAAQ,KAAK;AAAA,MACpB,UAAU,QAAQ,KAAK;AAAA;AAGzB,YAAQ,KAAK;AAAA,WACN;AACH,eAAO,EACL,KAAK,KACL;AAAA,UACE;AAAA,UACA,OAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA,EAAE,qBAAqB,KAAK,aAAa;AAAA,YACzC;AAAA,YACA;AAAA;AAAA,UAEF,SAAS,KAAK,aAAa,cAAc,aAAa,OAAO;AAAA,WAE/D;AAAA,WAEC;AACH,eAAO,EACL,KAAK,KACL;AAAA,UACE;AAAA,UACA,OAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,UAEF,SACE,KAAK,aAAa,cAAc,aAAa,OAAO,OAAO,IAAI;AAAA,WAEnE;AAAA;AAGF,eAAO,EACL,MACA;AAAA,UACE;AAAA,UACA,OAAO,CAAC,yBAAyB;AAAA,UACjC,SAAS;AAAA,WAEX;AAAA,UACE,EACE,QACA;AAAA,YACE,OAAO,CAAC,0BAA0B;AAAA,aAEpC;AAAA,UAEF,EACE,QACA;AAAA,YACE,OAAO,CAAC,4BAA4B;AAAA,aAEtC;AAAA;AAAA;AAAA;AAAA;;;;"}