tdesign-react
Version:
TDesign Component for React
155 lines (147 loc) • 6.78 kB
JavaScript
/**
* tdesign v1.16.6
* (c) 2026 tdesign
* @license MIT
*/
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var defineProperty = require('../_chunks/dep-1f6c39e3.js');
var classNames = require('classnames');
var React = require('react');
var hooks_useConfig = require('../hooks/useConfig.js');
var timeline_TimelineItem = require('./TimelineItem.js');
var timeline_TimelineContext = require('./TimelineContext.js');
var _util_forwardRefWithStatics = require('../_util/forwardRefWithStatics.js');
var timeline_useAlign = require('./useAlign.js');
require('../_chunks/dep-90a93885.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-615c149d.js');
require('../_chunks/dep-0173c82c.js');
require('../_chunks/dep-a8d5081a.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('../_util/parseTNode.js');
require('../_chunks/dep-ed99b2c6.js');
require('../loading/index.js');
require('../loading/Loading.js');
require('../_chunks/dep-3281986a.js');
require('../_chunks/dep-54373955.js');
require('../_chunks/dep-ef5bfcf1.js');
require('../_chunks/dep-2bbded38.js');
require('../_chunks/dep-202d6c73.js');
require('../common/Portal.js');
require('react-dom');
require('../hooks/useLayoutEffect.js');
require('../hooks/useDefaultProps.js');
require('../loading/defaultProps.js');
require('../loading/gradient.js');
require('../_chunks/dep-4cca69f7.js');
require('../_chunks/dep-d7a3225b.js');
require('../_chunks/dep-33be2db8.js');
require('../_chunks/dep-989c8b4a.js');
require('../_chunks/dep-79129c54.js');
require('../_chunks/dep-4c4d8eee.js');
require('../hooks/useDomRefCallback.js');
require('../loading/plugin.js');
require('../_util/react-render.js');
require('../_chunks/dep-05097eca.js');
require('../common/PluginContainer.js');
require('../config-provider/ConfigProvider.js');
require('../_chunks/dep-400d026f.js');
require('../_chunks/dep-081faea2.js');
require('../_chunks/dep-91b467dd.js');
require('../_chunks/dep-18ca5cd9.js');
require('../_chunks/dep-3facd669.js');
require('../_chunks/dep-854a3020.js');
require('../_chunks/dep-d7d7df54.js');
require('../_chunks/dep-4748ebeb.js');
require('../_chunks/dep-9721faba.js');
require('../_chunks/dep-adec3cbe.js');
require('../_chunks/dep-1c011250.js');
require('../_chunks/dep-cb9114ad.js');
require('../_chunks/dep-66bd7fa8.js');
require('../_chunks/dep-454836ac.js');
require('hoist-non-react-statics');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
var Timeline = _util_forwardRefWithStatics["default"](function (props, ref) {
var _props$theme = props.theme,
theme = _props$theme === void 0 ? "default" : _props$theme,
labelAlign = props.labelAlign,
children = props.children,
className = props.className,
style = props.style,
_props$reverse = props.reverse,
reverse = _props$reverse === void 0 ? false : _props$reverse,
_props$layout = props.layout,
layout = _props$layout === void 0 ? "vertical" : _props$layout,
_props$mode = props.mode,
mode = _props$mode === void 0 ? "alternate" : _props$mode;
var _useConfig = hooks_useConfig["default"](),
classPrefix = _useConfig.classPrefix;
var renderAlign = timeline_useAlign.useAlign(labelAlign, layout);
var timelineItems = 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) === timeline_TimelineItem["default"].displayName;
});
var itemsStatus = React__default["default"].Children.map(timelineItems, function (child) {
var _child$props;
return ((_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.dotColor) || "primary";
});
var hasLabelItem = timelineItems.some(function (item) {
var _item$props;
return !!(item !== null && item !== void 0 && (_item$props = item.props) !== null && _item$props !== void 0 && _item$props.label);
});
if (reverse) {
timelineItems.reverse();
}
var itemsCounts = React__default["default"].Children.count(timelineItems);
var timelineClassName = classNames__default["default"]("".concat(classPrefix, "-timeline"), defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty({}, "".concat(classPrefix, "-timeline-").concat(renderAlign), true), "".concat(classPrefix, "-timeline-reverse"), reverse), "".concat(classPrefix, "-timeline-").concat(layout), true), "".concat(classPrefix, "-timeline-label"), hasLabelItem), "".concat(classPrefix, "-timeline-label--").concat(mode), true), className);
return /* @__PURE__ */React__default["default"].createElement(timeline_TimelineContext["default"].Provider, {
value: {
theme: theme,
reverse: reverse,
itemsStatus: itemsStatus,
layout: layout,
globalAlign: labelAlign,
mode: mode
}
}, /* @__PURE__ */React__default["default"].createElement("ul", {
className: timelineClassName,
style: style,
ref: ref
}, React__default["default"].Children.map(timelineItems, function (ele, index) {
var _ele$props;
return /*#__PURE__*/React__default["default"].cloneElement(ele, {
index: index,
className: classNames__default["default"]([ele === null || ele === void 0 || (_ele$props = ele.props) === null || _ele$props === void 0 ? void 0 : _ele$props.className], defineProperty._defineProperty({}, "".concat(classPrefix, "-timeline-item--last"), index === itemsCounts - 1))
});
})));
}, {
Item: timeline_TimelineItem["default"]
});
Timeline.displayName = "Timeline";
exports["default"] = Timeline;
//# sourceMappingURL=Timeline.js.map