UNPKG

tdesign-vue

Version:
141 lines (137 loc) 4.8 kB
/** * tdesign v1.14.1 * (c) 2025 tdesign * @license MIT */ import _defineProperty from '@babel/runtime/helpers/defineProperty'; import { h as helper } from '../_chunks/dep-6a4dc7bb.js'; import { defineComponent, inject } from '@vue/composition-api'; import { usePrefixClass, useCommonClassName } from '../hooks/useConfig.js'; import descriptionsKey from './const/index.js'; import { itemTypeIsProps, renderVNodeTNode } from './utils/index.js'; import { useConfig } from '../config-provider/useConfig.js'; import '../config-provider/context.js'; import 'lodash-es'; import '../_common/js/global-config/default-config.js'; import '../_common/js/global-config/locale/zh_CN.js'; import '../_chunks/dep-ba613a02.js'; import '@babel/runtime/helpers/typeof'; import '../_chunks/dep-fdb1b253.js'; import 'dayjs'; import '../_common/js/global-config/t.js'; import '@babel/runtime/helpers/slicedToArray'; import './interface.js'; var DescriptionsBody = defineComponent({ name: "TDescriptionsBody", props: { rows: Array, itemType: String }, setup: function setup() { var descriptionsProps = inject(descriptionsKey); var COMPONENT_NAME = usePrefixClass("descriptions"); var _useCommonClassName = useCommonClassName(), SIZE = _useCommonClassName.SIZE; var _useConfig = useConfig("descriptions"), global = _useConfig.global; return { descriptionsProps: descriptionsProps, COMPONENT_NAME: COMPONENT_NAME, SIZE: SIZE, global: global }; }, render: function render() { var _this = this; var h = arguments[0]; var props = this.$props; var label = function label(node) { var layout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "horizontal"; var labelClass = ["".concat(_this.COMPONENT_NAME, "__label")]; var label2 = null; var span = null; if (itemTypeIsProps(props.itemType)) { label2 = node.label; span = node.span; } else { label2 = renderVNodeTNode(node, "label"); var propsData = node.componentOptions.propsData || {}; span = propsData.span; } var labelSpan = layout === "horizontal" ? 1 : span; return h("td", helper([{ "attrs": { "colspan": labelSpan }, "class": labelClass }, { style: _this.descriptionsProps.labelStyle }]), [label2, _this.descriptionsProps.colon && _this.global.colonText]); }; var content = function content(node) { var layout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "horizontal"; var contentClass = ["".concat(_this.COMPONENT_NAME, "__content")]; var content2 = null; var span = null; if (itemTypeIsProps(props.itemType)) { content2 = node.content; span = node.span; } else { content2 = renderVNodeTNode(node, "content", "default"); var propsData = node.componentOptions.propsData || {}; span = propsData.span; } var contentSpan = span > 1 && layout === "horizontal" ? span * 2 - 1 : span; return h("td", helper([{ "attrs": { "colspan": contentSpan }, "class": contentClass }, { style: _this.descriptionsProps.contentStyle }]), [content2]); }; var hh = function hh(row) { return h("tr", [row.map(function (node) { return [label(node), content(node)]; })]); }; var hv = function hv(row) { return [h("tr", [row.map(function (node) { return label(node, "vertical"); })]), h("tr", [row.map(function (node) { return content(node, "vertical"); })])]; }; var vh = function vh(row) { return row.map(function (node) { return h("tr", [label(node), content(node)]); }); }; var vv = function vv(row) { return row.map(function (node) { return [h("tr", [label(node)]), h("tr", [content(node)])]; }); }; var renderRow = function renderRow(row) { if (_this.descriptionsProps.layout === "horizontal") { if (_this.descriptionsProps.itemLayout === "horizontal") { return hh(row); } return hv(row); } if (_this.descriptionsProps.itemLayout === "horizontal") { return vh(row); } return vv(row); }; var tableClass = ["".concat(this.COMPONENT_NAME, "__body"), this.SIZE[this.descriptionsProps.size], _defineProperty({}, "".concat(this.COMPONENT_NAME, "__body--border"), this.descriptionsProps.bordered)]; return h("table", { "class": tableClass }, [h("tbody", [props.rows.map(function (row) { return renderRow(row); })])]); } }); export { DescriptionsBody as default }; //# sourceMappingURL=descriptions-body.js.map