element-plus
Version:
A Component Library for Vue 3
1 lines • 9 kB
Source Map (JSON)
{"version":3,"file":"descriptions-cell.mjs","sources":["../../../../../../packages/components/descriptions/src/descriptions-cell.ts"],"sourcesContent":["import { defineComponent, h, inject, withDirectives } from 'vue'\nimport { isNil } from 'lodash-unified'\nimport { addUnit, getNormalizedProps } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { descriptionsKey } from './token'\n\nimport type { DirectiveArguments, PropType, VNode } from 'vue'\nimport type {\n IDescriptionsInject,\n IDescriptionsItemInject,\n} from './descriptions.type'\nimport type { DescriptionItemVNode } from './description-item'\n\nexport default defineComponent({\n name: 'ElDescriptionsCell',\n props: {\n cell: {\n type: Object as PropType<DescriptionItemVNode>,\n },\n tag: {\n type: String,\n default: 'td',\n },\n type: {\n type: String,\n },\n },\n setup() {\n const descriptions = inject(descriptionsKey, {} 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 directives = (this.cell?.dirs || []).map((dire) => {\n const { dir, arg, modifiers, value } = dire\n return [dir, value, arg, modifiers]\n }) as DirectiveArguments\n\n const { border, direction } = this.descriptions\n const isVertical = direction === 'vertical'\n const renderLabel = () => this.cell?.children?.label?.() || item.label\n const renderContent = () => this.cell?.children?.default?.()\n const span = item.span\n const rowspan = item.rowspan\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 width =\n this.type === 'label'\n ? (item.labelWidth ?? this.descriptions.labelWidth ?? item.width)\n : item.width\n\n const style = {\n width: addUnit(width),\n minWidth: addUnit(item.minWidth),\n }\n const ns = useNamespace('descriptions')\n\n switch (this.type) {\n case 'label':\n return withDirectives(\n h(\n this.tag,\n {\n style,\n class: [\n ns.e('cell'),\n ns.e('label'),\n ns.is('bordered-label', border),\n ns.is('vertical-label', isVertical),\n labelAlign,\n labelClassName,\n ],\n colSpan: isVertical ? span : 1,\n rowspan: isVertical ? 1 : rowspan,\n },\n renderLabel()\n ),\n directives\n )\n case 'content':\n return withDirectives(\n h(\n this.tag,\n {\n style,\n class: [\n ns.e('cell'),\n ns.e('content'),\n ns.is('bordered-content', border),\n ns.is('vertical-content', isVertical),\n align,\n className,\n ],\n colSpan: isVertical ? span : span * 2 - 1,\n rowspan: isVertical ? rowspan * 2 - 1 : rowspan,\n },\n renderContent()\n ),\n directives\n )\n default: {\n const label = renderLabel()\n const labelStyle: Record<string, any> = {}\n const width = addUnit(item.labelWidth ?? this.descriptions.labelWidth)\n if (width) {\n labelStyle.width = width\n labelStyle.display = 'inline-block'\n }\n return withDirectives(\n h(\n 'td',\n {\n style,\n class: [ns.e('cell'), align],\n colSpan: span,\n rowspan,\n },\n [\n !isNil(label)\n ? h(\n 'span',\n {\n style: labelStyle,\n class: [ns.e('label'), labelClassName],\n },\n label\n )\n : undefined,\n h(\n 'span',\n {\n class: [ns.e('content'), className],\n },\n renderContent()\n ),\n ]\n ),\n directives\n )\n }\n }\n },\n})\n"],"names":["_a","_b","_c","width"],"mappings":"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"}