tdesign-react
Version:
TDesign Component for React
178 lines (170 loc) • 8.39 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 hooks_useConfig = require('../hooks/useConfig.js');
var timeline_TimelineContext = require('./TimelineContext.js');
var _util_parseTNode = require('../_util/parseTNode.js');
var timeline_useAlign = require('./useAlign.js');
var loading_index = require('../loading/index.js');
var omit = require('../_chunks/dep-d5e8c967.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-f32c03f1.js');
require('../_chunks/dep-31c4bc3d.js');
require('../_chunks/dep-eea2872a.js');
require('../_chunks/dep-25585736.js');
require('../_chunks/dep-62e73936.js');
require('../_chunks/dep-64577888.js');
require('../_chunks/dep-71455db7.js');
require('../_chunks/dep-9e5a468d.js');
require('../_chunks/dep-ec8d2dca.js');
require('../_chunks/dep-fc596d16.js');
require('../_chunks/dep-f26edb7b.js');
require('../_chunks/dep-f33c1939.js');
require('../_chunks/dep-21ece627.js');
require('../_chunks/dep-25e4aa84.js');
require('../_chunks/dep-e1fbe1c3.js');
require('../_chunks/dep-df2b541f.js');
require('../_chunks/dep-edd366db.js');
require('../_chunks/dep-a56c4939.js');
require('../_chunks/dep-6c297e20.js');
require('../_chunks/dep-b7ad4d54.js');
require('../_chunks/dep-a2cb9299.js');
require('../_chunks/dep-f981815b.js');
require('../_chunks/dep-59671c87.js');
require('../loading/Loading.js');
require('../_chunks/dep-8e4d656d.js');
require('../_chunks/dep-00b49251.js');
require('../_chunks/dep-381fa848.js');
require('../_chunks/dep-4ed9eda4.js');
require('../common/Portal.js');
require('react-dom');
require('../hooks/useLayoutEffect.js');
require('../loading/gradient.js');
require('../_chunks/dep-dc4ce063.js');
require('../_chunks/dep-002fcc1e.js');
require('../_chunks/dep-e4e1901e.js');
require('../_chunks/dep-2ffa3ff1.js');
require('../hooks/useDomRefCallback.js');
require('../loading/defaultProps.js');
require('../hooks/useDefaultProps.js');
require('../loading/plugin.js');
require('../_util/react-render.js');
require('../_chunks/dep-65ef8e09.js');
require('../common/PluginContainer.js');
require('../config-provider/ConfigProvider.js');
require('../_chunks/dep-ab2f63ec.js');
require('../_chunks/dep-a48c7e8b.js');
require('../_chunks/dep-3d4656ee.js');
require('../_chunks/dep-0ffc9d96.js');
require('../_chunks/dep-efe6d243.js');
require('../_chunks/dep-4b18243f.js');
require('../_chunks/dep-bff2c990.js');
require('../_chunks/dep-255ceed8.js');
require('../_chunks/dep-79629634.js');
require('../_chunks/dep-9a375a19.js');
require('../_chunks/dep-3398c1f2.js');
require('../_chunks/dep-d915c90f.js');
require('../_chunks/dep-7a148045.js');
require('../_chunks/dep-373af7a2.js');
require('../_chunks/dep-fc29b8b5.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 DefaultTheme = ["default", "primary", "success", "warning", "error"];
var TimelineItem = function TimelineItem(props) {
var className = props.className,
_props$style = props.style,
style = _props$style === void 0 ? {} : _props$style,
dot = props.dot,
_props$dotColor = props.dotColor,
dotColor = _props$dotColor === void 0 ? "primary" : _props$dotColor,
labelAlign = props.labelAlign,
children = props.children,
index = props.index,
content = props.content,
label = props.label,
_props$loading = props.loading,
loading = _props$loading === void 0 ? false : _props$loading,
onClick = props.onClick;
var _useContext = React.useContext(timeline_TimelineContext["default"]),
theme = _useContext.theme,
reverse = _useContext.reverse,
itemsStatus = _useContext.itemsStatus,
layout = _useContext.layout,
globalAlign = _useContext.globalAlign,
mode = _useContext.mode;
var _useConfig = hooks_useConfig["default"](),
classPrefix = _useConfig.classPrefix;
var renderAlign = timeline_useAlign.useAlign(globalAlign, layout);
var getPositionClassName = function getPositionClassName(index2) {
var left = layout === "horizontal" ? "top" : "left";
var right = layout === "horizontal" ? "bottom" : "right";
if (renderAlign === "alternate") {
return labelAlign || index2 % 2 === 0 ? "".concat(classPrefix, "-timeline-item-").concat(left) : "".concat(classPrefix, "-timeline-item-").concat(right);
}
if (renderAlign === "left" || renderAlign === "top") {
return "".concat(classPrefix, "-timeline-item-").concat(left);
}
if (renderAlign === "right" || renderAlign === "bottom") {
return "".concat(classPrefix, "-timeline-item-").concat(right);
}
return "";
};
var dotElement = React.useMemo(function () {
var ele = _util_parseTNode["default"](dot);
if (/*#__PURE__*/React__default["default"].isValidElement(ele)) {
var _ele$props;
return /*#__PURE__*/React__default["default"].cloneElement(ele, {
className: classNames__default["default"](ele === null || ele === void 0 || (_ele$props = ele.props) === null || _ele$props === void 0 ? void 0 : _ele$props.className, "".concat(classPrefix, "-timeline-item__dot-content"))
});
}
return ele;
}, [dot, classPrefix]);
var handleClick = function handleClick(e) {
onClick === null || onClick === void 0 || onClick({
e: e,
item: omit.omit(props, ["children", "index", "onClick"])
});
};
var itemClassName = classNames__default["default"](defineProperty._defineProperty(defineProperty._defineProperty({}, "".concat(classPrefix, "-timeline-item"), true), "".concat(getPositionClassName(index)), true), className);
var tailClassName = classNames__default["default"](defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty({}, "".concat(classPrefix, "-timeline-item__tail"), true), "".concat(classPrefix, "-timeline-item__tail--theme-").concat(theme), true), "".concat(classPrefix, "-timeline-item__tail--status-").concat(itemsStatus[index]), reverse));
var dotClassName = classNames__default["default"](defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty({}, "".concat(classPrefix, "-timeline-item__dot"), true), "".concat(classPrefix, "-timeline-item__dot--custom"), !!dotElement || !dotElement && loading), "".concat(classPrefix, "-timeline-item__dot--").concat(dotColor), DefaultTheme.includes(dotColor)));
var labelClassName = classNames__default["default"]("".concat(classPrefix, "-timeline-item__label"), defineProperty._defineProperty({}, "".concat(classPrefix, "-timeline-item__label--").concat(mode), true));
return /* @__PURE__ */React__default["default"].createElement("li", {
className: itemClassName,
style: style,
onClick: handleClick
}, mode === "alternate" && label && /* @__PURE__ */React__default["default"].createElement("div", {
className: labelClassName
}, label), /* @__PURE__ */React__default["default"].createElement("div", {
className: "".concat(classPrefix, "-timeline-item__wrapper")
}, /* @__PURE__ */React__default["default"].createElement("div", {
className: dotClassName,
style: {
borderColor: !DefaultTheme.includes(dotColor) && dotColor
}
}, !dotElement && loading && /* @__PURE__ */React__default["default"].createElement(loading_index.Loading, {
size: "12px",
className: "".concat(classPrefix, "-timeline-item__dot-content")
}), dotElement), /* @__PURE__ */React__default["default"].createElement("div", {
className: tailClassName
})), /* @__PURE__ */React__default["default"].createElement("div", {
className: "".concat(classPrefix, "-timeline-item__content")
}, content || children, mode === "same" && label && /* @__PURE__ */React__default["default"].createElement("div", {
className: labelClassName
}, label)));
};
TimelineItem.displayName = "TimelineItem";
exports["default"] = TimelineItem;
//# sourceMappingURL=TimelineItem.js.map