tdesign-react
Version:
TDesign Component for React
215 lines (204 loc) • 7.93 kB
JavaScript
/**
* tdesign v1.15.1
* (c) 2025 tdesign
* @license MIT
*/
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var defineProperty = require('../_chunks/dep-0006fcfa.js');
var React = require('react');
var classNames = require('classnames');
var descriptions_defaultProps = require('./defaultProps.js');
var hooks_useDefaultProps = require('../hooks/useDefaultProps.js');
var hooks_useConfig = require('../hooks/useConfig.js');
var hooks_useCommonClassName = require('../hooks/useCommonClassName.js');
var descriptions_DescriptionsContext = require('./DescriptionsContext.js');
var descriptions_DescriptionsItem = require('./DescriptionsItem.js');
var descriptions_Row = require('./Row.js');
var isArray = require('../_chunks/dep-64577888.js');
var _assignValue = require('../_chunks/dep-df2b541f.js');
var _initCloneObject = require('../_chunks/dep-a56c4939.js');
var merge = require('../_chunks/dep-f32c03f1.js');
var isArrayLike = require('../_chunks/dep-9e5a468d.js');
var _overArg = require('../_chunks/dep-71455db7.js');
var _getAllKeys = require('../_chunks/dep-3d4656ee.js');
require('../_chunks/dep-667ac7af.js');
require('../config-provider/ConfigContext.js');
require('../_chunks/dep-1df1dad8.js');
require('../_chunks/dep-5b5ab11b.js');
require('dayjs');
require('../_chunks/dep-31c4bc3d.js');
require('../_chunks/dep-eea2872a.js');
require('../_chunks/dep-25585736.js');
require('../_chunks/dep-62e73936.js');
require('../_chunks/dep-f33c1939.js');
require('../_chunks/dep-21ece627.js');
require('../_chunks/dep-25e4aa84.js');
require('../_chunks/dep-ec8d2dca.js');
require('../_chunks/dep-fc596d16.js');
require('../_chunks/dep-e1fbe1c3.js');
require('../_chunks/dep-f26edb7b.js');
require('../_chunks/dep-edd366db.js');
require('../_chunks/dep-6c297e20.js');
require('../_chunks/dep-b7ad4d54.js');
require('../_chunks/dep-a2cb9299.js');
require('../_chunks/dep-f981815b.js');
require('../_chunks/dep-8e4d656d.js');
require('../_chunks/dep-00b49251.js');
require('../locale/LocalReceiver.js');
require('../_chunks/dep-4ed9eda4.js');
require('../config-provider/ConfigProvider.js');
require('../_chunks/dep-ab2f63ec.js');
require('../_chunks/dep-a48c7e8b.js');
require('../_chunks/dep-0ffc9d96.js');
require('../_chunks/dep-4b18243f.js');
require('../_chunks/dep-bff2c990.js');
require('../_chunks/dep-efe6d243.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
/** Used for built-in method references. */
var objectProto = Object.prototype;
/** Used to check objects for own properties. */
var hasOwnProperty = objectProto.hasOwnProperty;
/**
* Assigns own enumerable string keyed properties of source objects to the
* destination object. Source objects are applied from left to right.
* Subsequent sources overwrite property assignments of previous sources.
*
* **Note:** This method mutates `object` and is loosely based on
* [`Object.assign`](https://mdn.io/Object/assign).
*
* @static
* @memberOf _
* @since 0.10.0
* @category Object
* @param {Object} object The destination object.
* @param {...Object} [sources] The source objects.
* @returns {Object} Returns `object`.
* @see _.assignIn
* @example
*
* function Foo() {
* this.a = 1;
* }
*
* function Bar() {
* this.c = 3;
* }
*
* Foo.prototype.b = 2;
* Bar.prototype.d = 4;
*
* _.assign({ 'a': 0 }, new Foo, new Bar);
* // => { 'a': 1, 'c': 3 }
*/
var assign = merge.createAssigner(function (object, source) {
if (_overArg.isPrototype(source) || isArrayLike.isArrayLike(source)) {
_initCloneObject.copyObject(source, _getAllKeys.keys(source), object);
return;
}
for (var key in source) {
if (hasOwnProperty.call(source, key)) {
_assignValue.assignValue(object, key, source[key]);
}
}
});
var assign$1 = assign;
var Descriptions = function Descriptions(DescriptionsProps) {
var props = hooks_useDefaultProps["default"](DescriptionsProps, descriptions_defaultProps.descriptionsDefaultProps);
var className = props.className,
style = props.style,
title = props.title,
bordered = props.bordered,
column = props.column,
layout = props.layout,
rowItems = props.items,
children = props.children,
tableLayout = props.tableLayout;
var _useConfig = hooks_useConfig["default"](),
classPrefix = _useConfig.classPrefix;
var COMPONENT_NAME = "".concat(classPrefix, "-descriptions");
var _useCommonClassName = hooks_useCommonClassName["default"](),
SIZE = _useCommonClassName.SIZE;
var getRows = function getRows() {
var items = [];
if (isArray.isArray(rowItems)) {
items = rowItems.map(function (item) {
var _assign = assign$1({}, descriptions_defaultProps.descriptionsItemDefaultProps, item),
span = _assign.span;
return {
label: item.label,
content: item.content,
span: span
};
});
} else {
var childrenList = React__default["default"].Children.toArray(children).filter(function (child) {
var _child$type;
return ((_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName) === descriptions_DescriptionsItem["default"].displayName;
});
if (childrenList.length !== 0) {
items = childrenList.map(function (_ref) {
var _child$content;
var child = _ref.props;
var _assign2 = assign$1({}, descriptions_defaultProps.descriptionsItemDefaultProps, child),
span = _assign2.span;
return {
label: child.label,
content: (_child$content = child.content) !== null && _child$content !== void 0 ? _child$content : child.children,
span: span
};
});
}
}
if (layout === "vertical") {
return [items];
}
var temp = [];
var reset = column;
var res = [];
items.forEach(function (item, index) {
var span = item.span;
if (reset >= span) {
temp.push(item);
reset -= span;
} else {
res.push(temp);
temp = [item];
reset = column - span;
}
if (index === items.length - 1) {
Reflect.set(item, "span", span + reset);
res.push(temp);
}
});
return res;
};
var renderHeader = function renderHeader() {
return title ? /* @__PURE__ */React__default["default"].createElement("div", {
className: "".concat(COMPONENT_NAME, "__header")
}, title) : "";
};
var renderBody = function renderBody() {
var tableClass = ["".concat(COMPONENT_NAME, "__body"), SIZE[props.size], defineProperty._defineProperty({}, "".concat(COMPONENT_NAME, "__body--fixed"), tableLayout === "fixed"), defineProperty._defineProperty({}, "".concat(COMPONENT_NAME, "__body--border"), bordered)];
return /* @__PURE__ */React__default["default"].createElement("table", {
className: classNames__default["default"](tableClass)
}, /* @__PURE__ */React__default["default"].createElement("tbody", null, getRows().map(function (row, i) {
return /* @__PURE__ */React__default["default"].createElement(descriptions_Row["default"], {
row: row,
key: i
});
})));
};
return /* @__PURE__ */React__default["default"].createElement(descriptions_DescriptionsContext.DescriptionsContext.Provider, {
value: props
}, /* @__PURE__ */React__default["default"].createElement("div", {
className: classNames__default["default"](className, COMPONENT_NAME),
style: style
}, renderHeader(), renderBody()));
};
Descriptions.displayName = "Descriptions";
Descriptions.DescriptionsItem = descriptions_DescriptionsItem["default"];
exports["default"] = Descriptions;
//# sourceMappingURL=Descriptions.js.map