TimelineItem.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. "use client";
  2. var __rest = this && this.__rest || function (s, e) {
  3. var t = {};
  4. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
  5. if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
  6. if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
  7. }
  8. return t;
  9. };
  10. import * as React from 'react';
  11. import classNames from 'classnames';
  12. import { ConfigContext } from '../config-provider';
  13. const TimelineItem = _a => {
  14. var {
  15. prefixCls: customizePrefixCls,
  16. className,
  17. color = 'blue',
  18. dot,
  19. pending = false,
  20. position /** Dead, but do not pass in <li {...omit()} */,
  21. label,
  22. children
  23. } = _a,
  24. restProps = __rest(_a, ["prefixCls", "className", "color", "dot", "pending", "position", "label", "children"]);
  25. const {
  26. getPrefixCls
  27. } = React.useContext(ConfigContext);
  28. const prefixCls = getPrefixCls('timeline', customizePrefixCls);
  29. const itemClassName = classNames(`${prefixCls}-item`, {
  30. [`${prefixCls}-item-pending`]: pending
  31. }, className);
  32. const customColor = /blue|red|green|gray/.test(color || '') ? undefined : color;
  33. const dotClassName = classNames(`${prefixCls}-item-head`, {
  34. [`${prefixCls}-item-head-custom`]: !!dot,
  35. [`${prefixCls}-item-head-${color}`]: !customColor
  36. });
  37. return /*#__PURE__*/React.createElement("li", Object.assign({}, restProps, {
  38. className: itemClassName
  39. }), label && /*#__PURE__*/React.createElement("div", {
  40. className: `${prefixCls}-item-label`
  41. }, label), /*#__PURE__*/React.createElement("div", {
  42. className: `${prefixCls}-item-tail`
  43. }), /*#__PURE__*/React.createElement("div", {
  44. className: dotClassName,
  45. style: {
  46. borderColor: customColor,
  47. color: customColor
  48. }
  49. }, dot), /*#__PURE__*/React.createElement("div", {
  50. className: `${prefixCls}-item-content`
  51. }, children));
  52. };
  53. export default TimelineItem;