UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 4.17 kB
{"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;;;;"}