tdesign-react
Version:
TDesign Component for React
198 lines (190 loc) • 6.4 kB
JavaScript
/**
* tdesign v1.16.6
* (c) 2026 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var slicedToArray = require('../_chunks/dep-3281986a.js');
var defineProperty = require('../_chunks/dep-1f6c39e3.js');
var toConsumableArray = require('../_chunks/dep-33be2db8.js');
var React = require('react');
var classNames = require('classnames');
var helper = require('../_chunks/dep-d7a3225b.js');
var hooks_useConfig = require('../hooks/useConfig.js');
var _util_parseTNode = require('../_util/parseTNode.js');
var skeleton_defaultProps = require('./defaultProps.js');
var hooks_useDefaultProps = require('../hooks/useDefaultProps.js');
var isNumber = require('../_chunks/dep-4c4d8eee.js');
require('../_chunks/dep-54373955.js');
require('../_chunks/dep-ef5bfcf1.js');
require('../_chunks/dep-90a93885.js');
require('../_chunks/dep-989c8b4a.js');
require('../_chunks/dep-79129c54.js');
require('../_chunks/dep-202d6c73.js');
require('../_chunks/dep-615c149d.js');
require('../_chunks/dep-a8d5081a.js');
require('../_chunks/dep-0173c82c.js');
require('../config-provider/ConfigContext.js');
require('../_chunks/dep-875a5344.js');
require('../_chunks/dep-20f09a63.js');
require('dayjs');
require('../_chunks/dep-e691746e.js');
require('../_chunks/dep-9d3b1a05.js');
require('../_chunks/dep-1f8c969d.js');
require('../_chunks/dep-403f5edf.js');
require('../_chunks/dep-d24b94bc.js');
require('../_chunks/dep-6478e7e3.js');
require('../_chunks/dep-c9025587.js');
require('../_chunks/dep-8663a5c9.js');
require('../_chunks/dep-50349518.js');
require('../_chunks/dep-8c9795f9.js');
require('../_chunks/dep-723e29d6.js');
require('../_chunks/dep-0bd8b970.js');
require('../_chunks/dep-73ef2133.js');
require('../_chunks/dep-cae1e5aa.js');
require('../_chunks/dep-0b97e212.js');
require('../_chunks/dep-0652d2a6.js');
require('../_chunks/dep-1a7ce20e.js');
require('../_chunks/dep-116af952.js');
require('../_chunks/dep-f6a777ad.js');
require('../_chunks/dep-ff301423.js');
require('../_chunks/dep-ed99b2c6.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);
var ThemeMap = {
text: [1],
avatar: [{
type: "circle",
size: "56px"
}],
paragraph: [1, 1, {
width: "70%"
}],
"avatar-text": [[{
type: "circle"
}, {
type: "text",
height: "32px"
}]],
tab: [{
height: "30px"
}, {
height: "200px"
}],
article: [{
type: "rect",
height: "30px",
width: "100%"
}, {
type: "rect",
height: "200px",
width: "100%"
}].concat(toConsumableArray._toConsumableArray([3, 2, 2, 2].map(function (value) {
return Array(value).fill({
type: "text",
height: "30px"
});
})))
};
var Skeleton = function Skeleton(originalProps) {
var props = hooks_useDefaultProps["default"](originalProps, skeleton_defaultProps.skeletonDefaultProps);
var animation = props.animation,
loading = props.loading,
rowCol = props.rowCol,
theme = props.theme,
className = props.className,
style = props.style,
_props$delay = props.delay,
delay = _props$delay === void 0 ? 0 : _props$delay,
children = props.children;
var _useConfig = hooks_useConfig["default"](),
classPrefix = _useConfig.classPrefix;
var name = "".concat(classPrefix, "-skeleton");
var renderCols = function renderCols(_cols) {
var getColItemClass = function getColItemClass(obj) {
return classNames__default["default"]("".concat(name, "__col"), "".concat(name, "--type-").concat(obj.type || "text"), defineProperty._defineProperty({}, "".concat(name, "--animation-").concat(animation), animation));
};
var getColItemStyle = function getColItemStyle(obj) {
var styleName = ["width", "height", "marginRight", "marginLeft", "margin", "size", "background", "backgroundColor"];
var style2 = {};
styleName.forEach(function (name2) {
if (name2 in obj) {
var px = helper.pxCompat(obj[name2]);
if (name2 === "size") {
var _ref = [px, px];
style2.width = _ref[0];
style2.height = _ref[1];
} else {
style2[name2] = px;
}
}
});
return style2;
};
var cols = [];
if (Array.isArray(_cols)) {
cols = _cols;
} else if (isNumber.isNumber(_cols)) {
cols = new Array(_cols).fill({
type: "text"
});
} else {
cols = [_cols];
}
return cols.map(function (item, index) {
return /* @__PURE__ */React__default["default"].createElement("div", {
key: index,
className: getColItemClass(item),
style: getColItemStyle(item)
}, _util_parseTNode["default"](item.content));
});
};
var renderRowCol = function renderRowCol(_rowCol) {
var renderedRowCol = _rowCol || rowCol;
return renderedRowCol.map(function (item, index) {
return /* @__PURE__ */React__default["default"].createElement("div", {
key: index,
className: "".concat(name, "__row")
}, renderCols(item));
});
};
var _useState = React.useState(loading),
_useState2 = slicedToArray._slicedToArray(_useState, 2),
ctrlLoading = _useState2[0],
setCtrlLoading = _useState2[1];
React.useEffect(function () {
if (delay > 0 && !loading) {
var timeout = setTimeout(function () {
setCtrlLoading(loading);
}, delay);
return function () {
return clearTimeout(timeout);
};
}
setCtrlLoading(loading);
}, [delay, loading]);
if (!ctrlLoading) {
return /* @__PURE__ */React__default["default"].createElement(React__default["default"].Fragment, null, children);
}
var childrenContent = [];
if (theme && !rowCol) {
childrenContent.push(renderRowCol(ThemeMap[theme]));
}
if (rowCol) {
childrenContent.push(renderRowCol(rowCol));
}
if (!theme && !rowCol) {
childrenContent.push(renderRowCol([1, 1, 1, {
width: "70%"
}]));
}
return /* @__PURE__ */React__default["default"].createElement("div", {
className: className,
style: style
}, childrenContent);
};
Skeleton.displayName = "Skeleton";
exports["default"] = Skeleton;
//# sourceMappingURL=Skeleton.js.map