UNPKG

element-plus

Version:

A Component Library for Vue 3

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