@douyinfe/semi-ui 2.35.0-beta.0 → 2.36.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/css/semi.css +494 -25
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +188 -77
  4. package/dist/umd/semi-ui.js.map +1 -1
  5. package/dist/umd/semi-ui.min.js +1 -1
  6. package/dist/umd/semi-ui.min.js.map +1 -1
  7. package/lib/cjs/anchor/index.d.ts +1 -1
  8. package/lib/cjs/autoComplete/index.d.ts +1 -1
  9. package/lib/cjs/button/Button.d.ts +1 -1
  10. package/lib/cjs/button/buttonGroup.d.ts +1 -1
  11. package/lib/cjs/button/index.d.ts +1 -1
  12. package/lib/cjs/collapse/item.d.ts +2 -0
  13. package/lib/cjs/collapse/item.js +3 -2
  14. package/lib/cjs/datePicker/dateInput.d.ts +1 -1
  15. package/lib/cjs/datePicker/datePicker.d.ts +2 -2
  16. package/lib/cjs/datePicker/monthsGrid.d.ts +1 -1
  17. package/lib/cjs/datePicker/yearAndMonth.d.ts +1 -1
  18. package/lib/cjs/form/baseForm.d.ts +1 -1
  19. package/lib/cjs/form/field.d.ts +1 -1
  20. package/lib/cjs/input/index.d.ts +1 -1
  21. package/lib/cjs/input/inputGroup.d.ts +1 -1
  22. package/lib/cjs/modal/confirm.d.ts +17 -17
  23. package/lib/cjs/navigation/Item.d.ts +4 -0
  24. package/lib/cjs/navigation/Item.js +29 -10
  25. package/lib/cjs/navigation/SubNav.d.ts +5 -0
  26. package/lib/cjs/navigation/SubNav.js +51 -26
  27. package/lib/cjs/overflowList/index.js +4 -1
  28. package/lib/cjs/rating/index.d.ts +1 -1
  29. package/lib/cjs/rating/item.d.ts +1 -1
  30. package/lib/cjs/skeleton/index.d.ts +1 -0
  31. package/lib/cjs/skeleton/index.js +1 -0
  32. package/lib/cjs/skeleton/item.d.ts +1 -0
  33. package/lib/cjs/skeleton/item.js +6 -1
  34. package/lib/cjs/steps/basicStep.d.ts +3 -0
  35. package/lib/cjs/steps/basicStep.js +8 -2
  36. package/lib/cjs/steps/basicSteps.js +2 -1
  37. package/lib/cjs/steps/fillStep.d.ts +2 -0
  38. package/lib/cjs/steps/fillStep.js +3 -1
  39. package/lib/cjs/steps/fillSteps.js +5 -8
  40. package/lib/cjs/steps/index.d.ts +63 -1
  41. package/lib/cjs/steps/index.js +9 -0
  42. package/lib/cjs/steps/navStep.d.ts +3 -0
  43. package/lib/cjs/steps/navStep.js +6 -2
  44. package/lib/cjs/steps/navSteps.js +2 -1
  45. package/lib/cjs/steps/step.d.ts +4 -1
  46. package/lib/cjs/steps/step.js +1 -0
  47. package/lib/cjs/switch/index.d.ts +1 -1
  48. package/lib/cjs/table/Table.d.ts +2 -2
  49. package/lib/cjs/table/index.d.ts +1 -1
  50. package/lib/cjs/tagInput/index.d.ts +1 -1
  51. package/lib/cjs/timePicker/TimePicker.d.ts +1 -1
  52. package/lib/cjs/timePicker/index.d.ts +1 -1
  53. package/lib/cjs/timeline/context.d.ts +8 -0
  54. package/lib/cjs/timeline/context.js +15 -0
  55. package/lib/cjs/timeline/index.d.ts +2 -1
  56. package/lib/cjs/timeline/index.js +8 -2
  57. package/lib/cjs/timeline/item.d.ts +10 -0
  58. package/lib/cjs/timeline/item.js +42 -3
  59. package/lib/es/anchor/index.d.ts +1 -1
  60. package/lib/es/autoComplete/index.d.ts +1 -1
  61. package/lib/es/button/Button.d.ts +1 -1
  62. package/lib/es/button/buttonGroup.d.ts +1 -1
  63. package/lib/es/button/index.d.ts +1 -1
  64. package/lib/es/collapse/item.d.ts +2 -0
  65. package/lib/es/collapse/item.js +3 -2
  66. package/lib/es/datePicker/dateInput.d.ts +1 -1
  67. package/lib/es/datePicker/datePicker.d.ts +2 -2
  68. package/lib/es/datePicker/monthsGrid.d.ts +1 -1
  69. package/lib/es/datePicker/yearAndMonth.d.ts +1 -1
  70. package/lib/es/form/baseForm.d.ts +1 -1
  71. package/lib/es/form/field.d.ts +1 -1
  72. package/lib/es/input/index.d.ts +1 -1
  73. package/lib/es/input/inputGroup.d.ts +1 -1
  74. package/lib/es/modal/confirm.d.ts +17 -17
  75. package/lib/es/navigation/Item.d.ts +4 -0
  76. package/lib/es/navigation/Item.js +28 -10
  77. package/lib/es/navigation/SubNav.d.ts +5 -0
  78. package/lib/es/navigation/SubNav.js +52 -26
  79. package/lib/es/overflowList/index.js +4 -1
  80. package/lib/es/rating/index.d.ts +1 -1
  81. package/lib/es/rating/item.d.ts +1 -1
  82. package/lib/es/skeleton/index.d.ts +1 -0
  83. package/lib/es/skeleton/index.js +1 -0
  84. package/lib/es/skeleton/item.d.ts +1 -0
  85. package/lib/es/skeleton/item.js +6 -1
  86. package/lib/es/steps/basicStep.d.ts +3 -0
  87. package/lib/es/steps/basicStep.js +8 -2
  88. package/lib/es/steps/basicSteps.js +2 -1
  89. package/lib/es/steps/fillStep.d.ts +2 -0
  90. package/lib/es/steps/fillStep.js +3 -1
  91. package/lib/es/steps/fillSteps.js +6 -8
  92. package/lib/es/steps/index.d.ts +63 -1
  93. package/lib/es/steps/index.js +6 -0
  94. package/lib/es/steps/navStep.d.ts +3 -0
  95. package/lib/es/steps/navStep.js +6 -2
  96. package/lib/es/steps/navSteps.js +2 -1
  97. package/lib/es/steps/step.d.ts +4 -1
  98. package/lib/es/steps/step.js +1 -0
  99. package/lib/es/switch/index.d.ts +1 -1
  100. package/lib/es/table/Table.d.ts +2 -2
  101. package/lib/es/table/index.d.ts +1 -1
  102. package/lib/es/tagInput/index.d.ts +1 -1
  103. package/lib/es/timePicker/TimePicker.d.ts +1 -1
  104. package/lib/es/timePicker/index.d.ts +1 -1
  105. package/lib/es/timeline/context.d.ts +8 -0
  106. package/lib/es/timeline/context.js +3 -0
  107. package/lib/es/timeline/index.d.ts +2 -1
  108. package/lib/es/timeline/index.js +7 -2
  109. package/lib/es/timeline/item.d.ts +10 -0
  110. package/lib/es/timeline/item.js +41 -3
  111. package/package.json +8 -8
@@ -86,5 +86,6 @@ Skeleton.propTypes = {
86
86
  loading: _propTypes.default.bool,
87
87
  children: _propTypes.default.node
88
88
  };
89
+ Skeleton.elementType = 'Skeleton';
89
90
  var _default = Skeleton;
90
91
  exports.default = _default;
@@ -21,6 +21,7 @@ export declare const Image: React.FC<BasicProps>;
21
21
  export declare const Title: React.FC<BasicProps>;
22
22
  export declare const Button: React.FC<BasicProps>;
23
23
  export declare class Paragraph extends PureComponent<ParagraphProps> {
24
+ static elementType: string;
24
25
  static propTypes: {
25
26
  rows: PropTypes.Requireable<number>;
26
27
  prefixCls: PropTypes.Requireable<string>;
@@ -86,6 +86,10 @@ const Title = generator('title')(Generic);
86
86
  exports.Title = Title;
87
87
  const Button = generator('button')(Generic);
88
88
  exports.Button = Button;
89
+ Avatar.elementType = 'Skeleton.Avatar';
90
+ Image.elementType = 'Skeleton.Image';
91
+ Title.elementType = 'Skeleton.Title';
92
+ Button.elementType = 'Skeleton.Button';
89
93
 
90
94
  class Paragraph extends _react.PureComponent {
91
95
  render() {
@@ -116,4 +120,5 @@ Paragraph.propTypes = {
116
120
  Paragraph.defaultProps = {
117
121
  prefixCls: _constants.cssClasses.PREFIX,
118
122
  rows: 4
119
- };
123
+ };
124
+ Paragraph.elementType = 'Skeleton.Paragraph';
@@ -19,6 +19,8 @@ export interface BasicStepProps {
19
19
  onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
20
20
  "role"?: React.AriaRole;
21
21
  "aria-label"?: React.AriaAttributes["aria-label"];
22
+ usedInC2D?: string;
23
+ direction?: string;
22
24
  }
23
25
  export declare enum stepSizeMapIconSize {
24
26
  small = "large",
@@ -45,5 +47,6 @@ declare const BasicStep: {
45
47
  status: string;
46
48
  className: string;
47
49
  };
50
+ elementType: string;
48
51
  };
49
52
  export default BasicStep;
@@ -40,7 +40,9 @@ const BasicStep = props => {
40
40
  stepNumber,
41
41
  onClick,
42
42
  onChange,
43
- onKeyDown
43
+ onKeyDown,
44
+ usedInC2D,
45
+ direction: direction
44
46
  } = props;
45
47
 
46
48
  const renderIcon = () => {
@@ -103,7 +105,10 @@ const BasicStep = props => {
103
105
  [`${prefixCls}-active`]: active,
104
106
  [`${prefixCls}-done`]: done,
105
107
  [`${prefixCls}-hover`]: onChange || props.onClick,
106
- [`${prefixCls}-${status}-hover`]: onChange || props.onClick
108
+ [`${prefixCls}-${status}-hover`]: onChange || props.onClick,
109
+ [`${prefixCls}-basic`]: usedInC2D,
110
+ [`${prefixCls}-${direction}`]: direction,
111
+ [`${prefixCls}-small`]: size === 'small'
107
112
  }, className);
108
113
 
109
114
  const handleClick = e => {
@@ -161,5 +166,6 @@ BasicStep.defaultProps = {
161
166
  status: 'wait',
162
167
  className: ''
163
168
  };
169
+ BasicStep.elementType = 'Steps.BasicStep';
164
170
  var _default = BasicStep;
165
171
  exports.default = _default;
@@ -44,7 +44,8 @@ const Steps = props => {
44
44
  const stepNumber = initial + index;
45
45
  const childProps = Object.assign({
46
46
  stepNumber: `${stepNumber + 1}`,
47
- size
47
+ size,
48
+ direction
48
49
  }, child.props);
49
50
 
50
51
  if (status === 'error' && index === current - 1) {
@@ -15,6 +15,7 @@ export interface FillStepProps {
15
15
  onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
16
16
  "role"?: React.AriaRole;
17
17
  "aria-label"?: React.AriaAttributes["aria-label"];
18
+ usedInC2D?: boolean;
18
19
  }
19
20
  declare const FillStep: {
20
21
  (props: FillStepProps): JSX.Element;
@@ -33,5 +34,6 @@ declare const FillStep: {
33
34
  status: string;
34
35
  className: string;
35
36
  };
37
+ elementType: string;
36
38
  };
37
39
  export default FillStep;
@@ -105,7 +105,8 @@ const FillStep = props => {
105
105
  [prefixCls]: true,
106
106
  [`${prefixCls}-${status}`]: Boolean(status),
107
107
  [`${prefixCls}-${status}-hover`]: Boolean(status) && (onChange || onClick),
108
- [`${prefixCls}-clickable`]: onClick
108
+ [`${prefixCls}-clickable`]: onClick,
109
+ [`${prefixCls}-fill`]: props.usedInC2D
109
110
  }, className),
110
111
  style: style,
111
112
  onClick: e => {
@@ -140,5 +141,6 @@ FillStep.defaultProps = {
140
141
  status: 'wait',
141
142
  className: ''
142
143
  };
144
+ FillStep.elementType = 'Steps.FillStep';
143
145
  var _default = FillStep;
144
146
  exports.default = _default;
@@ -34,11 +34,8 @@ const Steps = props => {
34
34
  onChange
35
35
  } = props;
36
36
  const inner = (0, _react.useMemo)(() => {
37
- const filteredChildren = _react.Children.toArray(children).filter(c => /*#__PURE__*/(0, _react.isValidElement)(c));
37
+ const filteredChildren = _react.Children.toArray(children).filter(c => /*#__PURE__*/(0, _react.isValidElement)(c)); // const colStyle = direction === 'vertical' ? null : { width: `${100 / filteredChildren.length }%` };
38
38
 
39
- const colStyle = direction === 'vertical' ? null : {
40
- width: `${100 / filteredChildren.length}%`
41
- };
42
39
 
43
40
  const content = _react.Children.map(filteredChildren, (child, index) => {
44
41
  if (!child) {
@@ -69,10 +66,10 @@ const Steps = props => {
69
66
  if (index !== current) {
70
67
  onChange(index + initial);
71
68
  }
72
- } : undefined;
73
- return /*#__PURE__*/_react.default.createElement(_grid.Col, {
74
- style: colStyle
75
- }, /*#__PURE__*/(0, _react.cloneElement)(child, Object.assign({}, childProps)));
69
+ } : undefined; // Whether colStyle is set has no effect
70
+ // return <Col style={colStyle}>{cloneElement(child, { ...childProps })}</Col>;
71
+
72
+ return /*#__PURE__*/_react.default.createElement(_grid.Col, null, /*#__PURE__*/(0, _react.cloneElement)(child, Object.assign({}, childProps)));
76
73
  });
77
74
 
78
75
  return content;
@@ -22,7 +22,69 @@ export interface NavStepsAllProps extends NavStepsProps {
22
22
  }
23
23
  export declare type StepsProps = FillStepsAllProps | BasicStepsAllProps | NavStepsAllProps;
24
24
  declare class Steps extends Component<StepsProps> {
25
- static Step: (props: import("./step").StepProps) => JSX.Element;
25
+ static Step: {
26
+ (props: import("./step").StepProps): JSX.Element;
27
+ elementType: string;
28
+ };
29
+ static FillStep: {
30
+ (props: import("./fillStep").FillStepProps): JSX.Element;
31
+ propTypes: {
32
+ prefixCls: PropTypes.Requireable<string>;
33
+ description: PropTypes.Requireable<PropTypes.ReactNodeLike>;
34
+ icon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
35
+ status: PropTypes.Requireable<string>;
36
+ title: PropTypes.Requireable<PropTypes.ReactNodeLike>;
37
+ className: PropTypes.Requireable<string>;
38
+ style: PropTypes.Requireable<object>;
39
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
40
+ };
41
+ defaultProps: {
42
+ prefixCls: string;
43
+ status: string;
44
+ className: string;
45
+ };
46
+ elementType: string;
47
+ };
48
+ static BasicStep: {
49
+ (props: import("./basicStep").BasicStepProps): JSX.Element;
50
+ propTypes: {
51
+ prefixCls: PropTypes.Requireable<string>;
52
+ description: PropTypes.Requireable<PropTypes.ReactNodeLike>;
53
+ icon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
54
+ status: PropTypes.Requireable<string>;
55
+ title: PropTypes.Requireable<PropTypes.ReactNodeLike>;
56
+ className: PropTypes.Requireable<string>;
57
+ style: PropTypes.Requireable<object>;
58
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
59
+ active: PropTypes.Requireable<boolean>;
60
+ done: PropTypes.Requireable<boolean>;
61
+ };
62
+ defaultProps: {
63
+ prefixCls: string;
64
+ active: boolean;
65
+ done: boolean;
66
+ status: string;
67
+ className: string;
68
+ };
69
+ elementType: string;
70
+ };
71
+ static NavStep: {
72
+ (props: import("./navStep").NavStepProps): JSX.Element;
73
+ propTypes: {
74
+ prefixCls: PropTypes.Requireable<string>;
75
+ title: PropTypes.Requireable<PropTypes.ReactNodeLike>;
76
+ className: PropTypes.Requireable<string>;
77
+ style: PropTypes.Requireable<object>;
78
+ onClick: PropTypes.Requireable<(...args: any[]) => any>;
79
+ active: PropTypes.Requireable<boolean>;
80
+ };
81
+ defaultProps: {
82
+ prefixCls: string;
83
+ active: boolean;
84
+ className: string;
85
+ };
86
+ elementType: string;
87
+ };
26
88
  static propTypes: {
27
89
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
28
90
  type: PropTypes.Requireable<string>;
@@ -19,6 +19,12 @@ var _basicSteps = _interopRequireDefault(require("./basicSteps"));
19
19
 
20
20
  var _navSteps = _interopRequireDefault(require("./navSteps"));
21
21
 
22
+ var _fillStep = _interopRequireDefault(require("./fillStep"));
23
+
24
+ var _basicStep = _interopRequireDefault(require("./basicStep"));
25
+
26
+ var _navStep = _interopRequireDefault(require("./navStep"));
27
+
22
28
  var _context = _interopRequireDefault(require("./context"));
23
29
 
24
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -75,6 +81,9 @@ class Steps extends _react.Component {
75
81
  }
76
82
 
77
83
  Steps.Step = _step.default;
84
+ Steps.FillStep = _fillStep.default;
85
+ Steps.BasicStep = _basicStep.default;
86
+ Steps.NavStep = _navStep.default;
78
87
  Steps.propTypes = {
79
88
  onChange: _propTypes.default.func,
80
89
  type: _propTypes.default.oneOf(['fill', 'basic', 'nav']),
@@ -13,6 +13,8 @@ export interface NavStepProps {
13
13
  onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
14
14
  "role"?: React.AriaRole;
15
15
  "aria-label"?: React.AriaAttributes["aria-label"];
16
+ usedInC2D?: boolean;
17
+ size?: string;
16
18
  }
17
19
  declare const NavStep: {
18
20
  (props: NavStepProps): JSX.Element;
@@ -29,5 +31,6 @@ declare const NavStep: {
29
31
  active: boolean;
30
32
  className: string;
31
33
  };
34
+ elementType: string;
32
35
  };
33
36
  export default NavStep;
@@ -28,10 +28,13 @@ const NavStep = props => {
28
28
  total,
29
29
  onClick,
30
30
  onKeyDown,
31
- onChange
31
+ onChange,
32
+ size
32
33
  } = props;
33
34
  const classString = (0, _classnames.default)(prefixCls, {
34
- [`${prefixCls}-active`]: active
35
+ [`${prefixCls}-active`]: active,
36
+ [`${prefixCls}-nav`]: props.usedInC2D,
37
+ [`${prefixCls}-small`]: size === 'small'
35
38
  }, className);
36
39
 
37
40
  const handleClick = e => {
@@ -81,5 +84,6 @@ NavStep.defaultProps = {
81
84
  active: false,
82
85
  className: ''
83
86
  };
87
+ NavStep.elementType = 'Steps.NavStep';
84
88
  var _default = NavStep;
85
89
  exports.default = _default;
@@ -42,7 +42,8 @@ const Steps = props => {
42
42
 
43
43
  const childProps = Object.assign({
44
44
  index,
45
- total
45
+ total,
46
+ size
46
47
  }, child.props);
47
48
  childProps.active = index === current;
48
49
  childProps.onChange = onChange ? () => {
@@ -9,5 +9,8 @@ export interface StepProps {
9
9
  style?: React.CSSProperties;
10
10
  onClick?: React.MouseEventHandler<HTMLDivElement>;
11
11
  }
12
- declare const Step: (props: StepProps) => JSX.Element;
12
+ declare const Step: {
13
+ (props: StepProps): JSX.Element;
14
+ elementType: string;
15
+ };
13
16
  export default Step;
@@ -45,5 +45,6 @@ const Step = props => {
45
45
  return renderStep();
46
46
  };
47
47
 
48
+ Step.elementType = 'Steps.Step';
48
49
  var _default = Step;
49
50
  exports.default = _default;
@@ -45,7 +45,7 @@ declare class Switch extends BaseComponent<SwitchProps, SwitchState> {
45
45
  onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
46
46
  onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
47
47
  style: PropTypes.Requireable<object>;
48
- size: PropTypes.Requireable<"default" | "small" | "large">;
48
+ size: PropTypes.Requireable<"small" | "default" | "large">;
49
49
  uncheckedText: PropTypes.Requireable<PropTypes.ReactNodeLike>;
50
50
  id: PropTypes.Requireable<string>;
51
51
  };
@@ -60,7 +60,7 @@ declare class Table<RecordType extends Record<string, any>> extends BaseComponen
60
60
  components: PropTypes.Requireable<any>;
61
61
  bordered: PropTypes.Requireable<boolean>;
62
62
  loading: PropTypes.Requireable<boolean>;
63
- size: PropTypes.Requireable<"default" | "small" | "middle">;
63
+ size: PropTypes.Requireable<"small" | "default" | "middle">;
64
64
  tableLayout: PropTypes.Requireable<"" | "fixed" | "auto">;
65
65
  columns: PropTypes.Requireable<PropTypes.InferProps<{
66
66
  align: PropTypes.Requireable<"left" | "right" | "center">;
@@ -297,7 +297,7 @@ declare class Table<RecordType extends Record<string, any>> extends BaseComponen
297
297
  showTotal?: boolean;
298
298
  pageSize?: number;
299
299
  pageSizeOpts?: number[];
300
- size?: "default" | "small";
300
+ size?: "small" | "default";
301
301
  currentPage?: number;
302
302
  defaultCurrentPage?: number;
303
303
  onPageChange?: (currentPage: number) => void;
@@ -16,7 +16,7 @@ declare class Table<RecordType extends Record<string, any> = Data> extends React
16
16
  components: PropTypes.Requireable<any>;
17
17
  bordered: PropTypes.Requireable<boolean>;
18
18
  loading: PropTypes.Requireable<boolean>;
19
- size: PropTypes.Requireable<"default" | "small" | "middle">;
19
+ size: PropTypes.Requireable<"small" | "default" | "middle">;
20
20
  tableLayout: PropTypes.Requireable<"" | "fixed" | "auto">;
21
21
  columns: PropTypes.Requireable<PropTypes.InferProps<{
22
22
  align: PropTypes.Requireable<"left" | "right" | "center">;
@@ -96,7 +96,7 @@ declare class TagInput extends BaseComponent<TagInputProps, TagInputState> {
96
96
  onAdd: PropTypes.Requireable<(...args: any[]) => any>;
97
97
  onRemove: PropTypes.Requireable<(...args: any[]) => any>;
98
98
  onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
99
- size: PropTypes.Requireable<"default" | "small" | "large">;
99
+ size: PropTypes.Requireable<"small" | "default" | "large">;
100
100
  validateStatus: PropTypes.Requireable<"default" | "error" | "warning" | "success">;
101
101
  prefix: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
102
102
  suffix: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
@@ -132,7 +132,7 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
132
132
  secondStep: PropTypes.Requireable<number>;
133
133
  focusOnOpen: PropTypes.Requireable<boolean>;
134
134
  autoFocus: PropTypes.Requireable<boolean>;
135
- size: PropTypes.Requireable<"default" | "small" | "large">;
135
+ size: PropTypes.Requireable<"small" | "default" | "large">;
136
136
  panels: PropTypes.Requireable<PropTypes.InferProps<{
137
137
  panelHeader: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
138
138
  panelFooter: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
@@ -49,7 +49,7 @@ export default class LocaleTimePicker extends React.PureComponent<LocalePickerPr
49
49
  secondStep: import("prop-types").Requireable<number>;
50
50
  focusOnOpen: import("prop-types").Requireable<boolean>;
51
51
  autoFocus: import("prop-types").Requireable<boolean>;
52
- size: import("prop-types").Requireable<"default" | "small" | "large">;
52
+ size: import("prop-types").Requireable<"small" | "default" | "large">;
53
53
  panels: import("prop-types").Requireable<import("prop-types").InferProps<{
54
54
  panelHeader: import("prop-types").Requireable<NonNullable<import("prop-types").ReactNodeLike>>;
55
55
  panelFooter: import("prop-types").Requireable<NonNullable<import("prop-types").ReactNodeLike>>;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ export declare type ModeType = 'left' | 'right' | 'center' | 'alternate';
3
+ export interface TimelineContextValue {
4
+ mode?: ModeType;
5
+ sum?: number;
6
+ }
7
+ declare const Context: React.Context<TimelineContextValue>;
8
+ export default Context;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ const Context = /*#__PURE__*/_react.default.createContext(null);
13
+
14
+ var _default = Context;
15
+ exports.default = _default;
@@ -2,12 +2,13 @@ import React, { PureComponent } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import '@douyinfe/semi-foundation/lib/cjs/timeline/timeline.css';
4
4
  import Item, { TimelineItemProps } from './item';
5
+ import { ModeType } from './context';
5
6
  export type { TimelineItemProps } from './item';
6
7
  export interface Data extends TimelineItemProps {
7
8
  content: React.ReactNode;
8
9
  }
9
10
  export interface TimelineProps extends Pick<React.AriaAttributes, 'aria-label'> {
10
- mode?: 'left' | 'right' | 'center' | 'alternate';
11
+ mode?: ModeType;
11
12
  className?: string;
12
13
  style?: React.CSSProperties;
13
14
  dataSource?: Data[];
@@ -19,6 +19,8 @@ var _context = _interopRequireDefault(require("../configProvider/context"));
19
19
 
20
20
  var _item = _interopRequireDefault(require("./item"));
21
21
 
22
+ var _context2 = _interopRequireDefault(require("./context"));
23
+
22
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
25
 
24
26
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -96,11 +98,15 @@ class Timeline extends _react.PureComponent {
96
98
  }
97
99
 
98
100
  const items = childrenList || this.addClassName(children);
99
- return /*#__PURE__*/_react.default.createElement("ul", {
101
+ return /*#__PURE__*/_react.default.createElement(_context2.default.Provider, {
102
+ value: {
103
+ mode
104
+ }
105
+ }, /*#__PURE__*/_react.default.createElement("ul", {
100
106
  "aria-label": this.props['aria-label'],
101
107
  style: style,
102
108
  className: classString
103
- }, items);
109
+ }, items));
104
110
  }
105
111
 
106
112
  }
@@ -1,6 +1,7 @@
1
1
  import React, { PureComponent } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import '@douyinfe/semi-foundation/lib/cjs/timeline/timeline.css';
4
+ import { ModeType, TimelineContextValue } from './context';
4
5
  export interface TimelineItemProps {
5
6
  color?: string;
6
7
  children?: React.ReactNode;
@@ -12,8 +13,13 @@ export interface TimelineItemProps {
12
13
  className?: string;
13
14
  style?: React.CSSProperties;
14
15
  onClick?: React.MouseEventHandler<HTMLLIElement>;
16
+ mode?: ModeType;
17
+ odd?: boolean;
18
+ usedInC2D?: boolean;
15
19
  }
16
20
  export default class Item extends PureComponent<TimelineItemProps> {
21
+ static contextType: React.Context<TimelineContextValue>;
22
+ static elementType: string;
17
23
  static propTypes: {
18
24
  color: PropTypes.Requireable<string>;
19
25
  time: PropTypes.Requireable<PropTypes.ReactNodeLike>;
@@ -24,11 +30,15 @@ export default class Item extends PureComponent<TimelineItemProps> {
24
30
  className: PropTypes.Requireable<string>;
25
31
  style: PropTypes.Requireable<object>;
26
32
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
33
+ mode: PropTypes.Requireable<string>;
34
+ lastChild: PropTypes.Requireable<boolean>;
27
35
  };
36
+ context: TimelineContextValue;
28
37
  static defaultProps: {
29
38
  type: string;
30
39
  time: string;
31
40
  onClick: (...args: any[]) => void;
32
41
  };
42
+ getC2DCls: () => string;
33
43
  render(): JSX.Element;
34
44
  }
@@ -17,6 +17,8 @@ var _constants = require("@douyinfe/semi-foundation/lib/cjs/timeline/constants")
17
17
 
18
18
  require("@douyinfe/semi-foundation/lib/cjs/timeline/timeline.css");
19
19
 
20
+ var _context = _interopRequireDefault(require("./context"));
21
+
20
22
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
23
 
22
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -26,6 +28,39 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
26
28
  const prefixCls = _constants.cssClasses.ITEM;
27
29
 
28
30
  class Item extends _react.PureComponent {
31
+ constructor() {
32
+ super(...arguments); // getC2DCls is used in C2D, it does not work in non-C2D scenes
33
+
34
+ this.getC2DCls = () => {
35
+ let c2dCls = '';
36
+ const {
37
+ mode,
38
+ odd,
39
+ usedInC2D
40
+ } = this.props;
41
+
42
+ if (usedInC2D) {
43
+ switch (mode) {
44
+ case 'center':
45
+ c2dCls = `${prefixCls}-center ${prefixCls}-left`;
46
+ break;
47
+
48
+ case 'alternate':
49
+ c2dCls = `${prefixCls}-alternate ${prefixCls}-${odd ? 'left' : 'right'}`;
50
+ break;
51
+
52
+ default:
53
+ c2dCls = `${prefixCls}-${mode} ${mode === 'right' ? `${prefixCls}-mode-right` : ''}`;
54
+ break;
55
+ }
56
+
57
+ c2dCls += ` ${prefixCls}-not-last-child`;
58
+ }
59
+
60
+ return c2dCls;
61
+ };
62
+ }
63
+
29
64
  render() {
30
65
  const {
31
66
  className,
@@ -38,7 +73,7 @@ class Item extends _react.PureComponent {
38
73
  extra,
39
74
  onClick
40
75
  } = this.props;
41
- const itemCls = (0, _classnames.default)(prefixCls, className);
76
+ const itemCls = (0, _classnames.default)(prefixCls, className, this.getC2DCls());
42
77
  const dotCls = (0, _classnames.default)({
43
78
  [`${prefixCls}-head`]: true,
44
79
  [`${prefixCls}-head-custom`]: dot,
@@ -71,6 +106,7 @@ class Item extends _react.PureComponent {
71
106
  }
72
107
 
73
108
  exports.default = Item;
109
+ Item.contextType = _context.default;
74
110
  Item.propTypes = {
75
111
  color: _propTypes.default.string,
76
112
  time: _propTypes.default.node,
@@ -80,10 +116,13 @@ Item.propTypes = {
80
116
  position: _propTypes.default.oneOf(_constants.strings.ITEM_POS),
81
117
  className: _propTypes.default.string,
82
118
  style: _propTypes.default.object,
83
- onClick: _propTypes.default.func
119
+ onClick: _propTypes.default.func,
120
+ mode: _propTypes.default.string,
121
+ lastChild: _propTypes.default.bool
84
122
  };
85
123
  Item.defaultProps = {
86
124
  type: 'default',
87
125
  time: '',
88
126
  onClick: _noop2.default
89
- };
127
+ };
128
+ Item.elementType = 'Timeline.Item';
@@ -39,7 +39,7 @@ declare class Anchor extends BaseComponent<AnchorProps, AnchorState> {
39
39
  static contextType: React.Context<ContextValue>;
40
40
  static Link: typeof Link;
41
41
  static PropTypes: {
42
- size: PropTypes.Requireable<"default" | "small">;
42
+ size: PropTypes.Requireable<"small" | "default">;
43
43
  railTheme: PropTypes.Requireable<"primary" | "tertiary" | "muted">;
44
44
  className: PropTypes.Requireable<string>;
45
45
  style: PropTypes.Requireable<object>;
@@ -125,7 +125,7 @@ declare class AutoComplete<T extends AutoCompleteItems> extends BaseComponent<Au
125
125
  renderSelectedItem: PropTypes.Requireable<(...args: any[]) => any>;
126
126
  suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
127
127
  showClear: PropTypes.Requireable<boolean>;
128
- size: PropTypes.Requireable<"default" | "small" | "large">;
128
+ size: PropTypes.Requireable<"small" | "default" | "large">;
129
129
  style: PropTypes.Requireable<object>;
130
130
  stopPropagation: PropTypes.Requireable<NonNullable<string | boolean>>;
131
131
  maxHeight: PropTypes.Requireable<NonNullable<string | number>>;
@@ -47,7 +47,7 @@ export default class Button extends PureComponent<ButtonProps> {
47
47
  disabled: PropTypes.Requireable<boolean>;
48
48
  prefixCls: PropTypes.Requireable<string>;
49
49
  style: PropTypes.Requireable<object>;
50
- size: PropTypes.Requireable<"default" | "small" | "large">;
50
+ size: PropTypes.Requireable<"small" | "default" | "large">;
51
51
  type: PropTypes.Requireable<"warning" | "primary" | "tertiary" | "secondary" | "danger">;
52
52
  block: PropTypes.Requireable<boolean>;
53
53
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
@@ -18,7 +18,7 @@ export default class ButtonGroup extends BaseComponent<ButtonGroupProps> {
18
18
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
19
19
  disabled: PropTypes.Requireable<boolean>;
20
20
  type: PropTypes.Requireable<string>;
21
- size: PropTypes.Requireable<"default" | "small" | "large">;
21
+ size: PropTypes.Requireable<"small" | "default" | "large">;
22
22
  theme: PropTypes.Requireable<"solid" | "light" | "borderless">;
23
23
  'aria-label': PropTypes.Requireable<string>;
24
24
  };
@@ -22,7 +22,7 @@ declare class Button extends React.PureComponent<ButtonProps> {
22
22
  onMouseEnter: import("prop-types").Requireable<(...args: any[]) => any>;
23
23
  onMouseLeave: import("prop-types").Requireable<(...args: any[]) => any>;
24
24
  disabled: import("prop-types").Requireable<boolean>;
25
- size: import("prop-types").Requireable<"default" | "small" | "large">;
25
+ size: import("prop-types").Requireable<"small" | "default" | "large">;
26
26
  type: import("prop-types").Requireable<"warning" | "primary" | "tertiary" | "secondary" | "danger">;
27
27
  block: import("prop-types").Requireable<boolean>;
28
28
  onClick: import("prop-types").Requireable<(...args: any[]) => any>;
@@ -11,8 +11,10 @@ export interface CollapsePanelProps {
11
11
  style?: CSSProperties;
12
12
  showArrow?: boolean;
13
13
  disabled?: boolean;
14
+ active?: boolean;
14
15
  }
15
16
  export default class CollapsePanel extends PureComponent<CollapsePanelProps> {
17
+ static elementType: string;
16
18
  static contextType: React.Context<CollapseContextType>;
17
19
  headerExpandIconTriggerRef: React.RefObject<HTMLElement>;
18
20
  static propTypes: {