UNPKG

tdesign-vue-next

Version:
128 lines (124 loc) 4.56 kB
/** * tdesign v1.15.2 * (c) 2025 tdesign * @license MIT */ import { defineComponent, ref, provide, createVNode } from 'vue'; import { _ as _defineProperty } from '../_chunks/dep-0bd8597f.mjs'; import { isArray, isNil } from 'lodash-es'; import { u as usePrefixClass, c as useCommonClassName, h as useChildComponentSlots, a as useTNodeJSX } from '../_chunks/dep-465c43e8.mjs'; import props from './props.mjs'; import { descriptionsKey } from './consts/index.mjs'; import DescriptionsRow from './descriptions-row.mjs'; import { I as ItemsType, r as renderCustomNode, i as itemTypeIsProps } from '../_chunks/dep-8269a1cd.mjs'; import '../_chunks/dep-612a2c2b.mjs'; import '../_chunks/dep-15464fee.mjs'; import '../_chunks/dep-d0add92f.mjs'; import '../_chunks/dep-32b59907.mjs'; import '../_chunks/dep-d58b61b6.mjs'; import '../_chunks/dep-779bddf7.mjs'; import '../config-provider/hooks/useConfig.mjs'; import '../config-provider/utils/context.mjs'; import '../_chunks/dep-afae046d.mjs'; import '../_chunks/dep-8a6c1499.mjs'; import '../_chunks/dep-5c28ada1.mjs'; import '../_chunks/dep-614f307d.mjs'; import '../_chunks/dep-d913bc66.mjs'; import '../_chunks/dep-1690abc9.mjs'; import '../_chunks/dep-62c11543.mjs'; import '../_chunks/dep-27c2b283.mjs'; import '../_chunks/dep-67238d91.mjs'; var _Descriptions = defineComponent({ name: "TDescriptions", props: props, setup: function setup(props2) { var COMPONENT_NAME = usePrefixClass("descriptions"); var _useCommonClassName = useCommonClassName(), SIZE = _useCommonClassName.SIZE; var getChildByName = useChildComponentSlots(); var renderTNodeJSX = useTNodeJSX(); var itemsType = ref(ItemsType.props); var getRows = function getRows() { var column = props2.column, layout = props2.layout; var items = []; if (isArray(props2.items)) { items = props2.items.map(function (item) { return { label: renderCustomNode(item.label), content: renderCustomNode(item.content), span: item.span || 1 }; }); itemsType.value = ItemsType.props; } else { var slots = getChildByName("TDescriptionsItem"); if (slots.length !== 0) { items = slots; itemsType.value = ItemsType.slots; } } if (layout === "vertical") { return [items]; } var temp = []; var reset = column; var res = []; items.forEach(function (item, index) { var span = 1; if (itemTypeIsProps(itemsType.value, item)) { span = isNil(item.span) ? span : item.span; span = span > column ? column : span; } else { var _item$props; item.props = item.props || {}; span = isNil((_item$props = item.props) === null || _item$props === void 0 ? void 0 : _item$props.span) ? span : item.props.span; span = span > column ? column : span; item.props.span = span; } if (reset >= span) { temp.push(item); reset -= span; } else { res.push(temp); temp = [item]; reset = column - span; } if (index === items.length - 1) { if (itemTypeIsProps(itemsType.value, item)) { item.span += reset; } else { item.props.span += reset; } res.push(temp); } }); return res; }; provide(descriptionsKey, props2); var renderBody = function renderBody() { var tableClass = ["".concat(COMPONENT_NAME.value, "__body"), SIZE.value[props2.size], _defineProperty({}, "".concat(COMPONENT_NAME.value, "__body--fixed"), props2.tableLayout === "fixed"), _defineProperty({}, "".concat(COMPONENT_NAME.value, "__body--border"), props2.bordered)]; return createVNode("table", { "class": tableClass }, [createVNode("tbody", null, [getRows().map(function (row) { return createVNode(DescriptionsRow, { "item-type": itemsType.value, "row": row }, null); })])]); }; var renderHeader = function renderHeader() { var title = renderTNodeJSX("title"); return title ? createVNode("div", { "class": "".concat(COMPONENT_NAME.value, "__header") }, [title]) : ""; }; return function () { return createVNode("div", { "class": COMPONENT_NAME.value }, [renderHeader(), renderBody()]); }; } }); export { _Descriptions as default }; //# sourceMappingURL=descriptions.mjs.map