@douyinfe/semi-ui 2.34.0-alpha.1 → 2.34.1-alpha.2

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 (73) hide show
  1. package/dist/css/semi.css +23 -493
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +297 -236
  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/card/index.d.ts +36 -4
  8. package/lib/cjs/card/index.js +244 -67
  9. package/lib/cjs/form/baseForm.d.ts +1 -1
  10. package/lib/cjs/form/field.d.ts +1 -1
  11. package/lib/cjs/modal/confirm.d.ts +6 -6
  12. package/lib/cjs/navigation/Item.d.ts +0 -4
  13. package/lib/cjs/navigation/Item.js +10 -29
  14. package/lib/cjs/navigation/SubNav.d.ts +0 -5
  15. package/lib/cjs/navigation/SubNav.js +26 -51
  16. package/lib/cjs/skeleton/index.d.ts +0 -1
  17. package/lib/cjs/skeleton/index.js +0 -1
  18. package/lib/cjs/skeleton/item.d.ts +0 -1
  19. package/lib/cjs/skeleton/item.js +1 -6
  20. package/lib/cjs/steps/basicStep.d.ts +0 -3
  21. package/lib/cjs/steps/basicStep.js +2 -8
  22. package/lib/cjs/steps/basicSteps.js +1 -2
  23. package/lib/cjs/steps/fillStep.d.ts +0 -2
  24. package/lib/cjs/steps/fillStep.js +1 -3
  25. package/lib/cjs/steps/fillSteps.js +8 -5
  26. package/lib/cjs/steps/index.d.ts +1 -63
  27. package/lib/cjs/steps/index.js +0 -9
  28. package/lib/cjs/steps/navStep.d.ts +0 -3
  29. package/lib/cjs/steps/navStep.js +2 -6
  30. package/lib/cjs/steps/navSteps.js +1 -2
  31. package/lib/cjs/steps/step.d.ts +1 -4
  32. package/lib/cjs/steps/step.js +0 -1
  33. package/lib/cjs/timeline/index.d.ts +1 -2
  34. package/lib/cjs/timeline/index.js +2 -8
  35. package/lib/cjs/timeline/item.d.ts +0 -10
  36. package/lib/cjs/timeline/item.js +3 -42
  37. package/lib/cjs/typography/title.d.ts +1 -1
  38. package/lib/es/card/index.d.ts +36 -4
  39. package/lib/es/card/index.js +243 -66
  40. package/lib/es/form/baseForm.d.ts +1 -1
  41. package/lib/es/form/field.d.ts +1 -1
  42. package/lib/es/modal/confirm.d.ts +6 -6
  43. package/lib/es/navigation/Item.d.ts +0 -4
  44. package/lib/es/navigation/Item.js +10 -28
  45. package/lib/es/navigation/SubNav.d.ts +0 -5
  46. package/lib/es/navigation/SubNav.js +26 -52
  47. package/lib/es/skeleton/index.d.ts +0 -1
  48. package/lib/es/skeleton/index.js +0 -1
  49. package/lib/es/skeleton/item.d.ts +0 -1
  50. package/lib/es/skeleton/item.js +1 -6
  51. package/lib/es/steps/basicStep.d.ts +0 -3
  52. package/lib/es/steps/basicStep.js +2 -8
  53. package/lib/es/steps/basicSteps.js +1 -2
  54. package/lib/es/steps/fillStep.d.ts +0 -2
  55. package/lib/es/steps/fillStep.js +1 -3
  56. package/lib/es/steps/fillSteps.js +8 -6
  57. package/lib/es/steps/index.d.ts +1 -63
  58. package/lib/es/steps/index.js +0 -6
  59. package/lib/es/steps/navStep.d.ts +0 -3
  60. package/lib/es/steps/navStep.js +2 -6
  61. package/lib/es/steps/navSteps.js +1 -2
  62. package/lib/es/steps/step.d.ts +1 -4
  63. package/lib/es/steps/step.js +0 -1
  64. package/lib/es/timeline/index.d.ts +1 -2
  65. package/lib/es/timeline/index.js +2 -7
  66. package/lib/es/timeline/item.d.ts +0 -10
  67. package/lib/es/timeline/item.js +3 -41
  68. package/lib/es/typography/title.d.ts +1 -1
  69. package/package.json +8 -8
  70. package/lib/cjs/timeline/context.d.ts +0 -8
  71. package/lib/cjs/timeline/context.js +0 -15
  72. package/lib/es/timeline/context.d.ts +0 -8
  73. package/lib/es/timeline/context.js +0 -3
@@ -1,4 +1,3 @@
1
- import _isUndefined from "lodash/isUndefined";
2
1
  import _times from "lodash/times";
3
2
  import _noop from "lodash/noop";
4
3
 
@@ -100,28 +99,21 @@ export default class NavItem extends BaseComponent {
100
99
  notifyMouseLeave: function () {
101
100
  return _this.props.onMouseLeave(...arguments);
102
101
  },
103
- getIsCollapsed: () => this.props.isCollapsed || Boolean(this.context && this.context.isCollapsed),
104
- getSelected: () => this.props.selected || Boolean(this.context && this.context.selectedKeys && this.context.selectedKeys.includes(this.props.itemKey)),
105
- getIsOpen: () => Boolean(this.context && this.context.openKeys && this.context.openKeys.includes(this.props.itemKey)),
106
- getIsInSubNav: () => this.props.isInSubNav || Boolean(this.context && this.context.isInSubNav),
107
- getMode: () => {
108
- var _a, _b;
109
-
110
- return (_a = this.props.mode) !== null && _a !== void 0 ? _a : (_b = this.context) === null || _b === void 0 ? void 0 : _b.mode;
111
- }
102
+ getIsCollapsed: () => this.props.isCollapsed || Boolean(this.context && this.context.isCollapsed) || false,
103
+ getSelected: () => Boolean(this.context && this.context.selectedKeys && this.context.selectedKeys.includes(this.props.itemKey)),
104
+ getIsOpen: () => Boolean(this.context && this.context.openKeys && this.context.openKeys.includes(this.props.itemKey))
112
105
  });
113
106
  }
114
107
 
115
108
  renderIcon(icon, pos) {
116
109
  let isToggleIcon = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
117
110
  let key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
118
- const mode = this.adapter.getMode();
119
111
 
120
112
  if (this.props.isSubNav) {
121
113
  return null;
122
114
  }
123
115
 
124
- if (!icon && mode === strings.MODE_HORIZONTAL) {
116
+ if (!icon && this.context.mode === strings.MODE_HORIZONTAL) {
125
117
  return null;
126
118
  }
127
119
 
@@ -144,8 +136,6 @@ export default class NavItem extends BaseComponent {
144
136
  }
145
137
 
146
138
  render() {
147
- var _a;
148
-
149
139
  const {
150
140
  text,
151
141
  children,
@@ -161,17 +151,16 @@ export default class NavItem extends BaseComponent {
161
151
  linkOptions,
162
152
  disabled,
163
153
  level = 0,
164
- tabIndex,
165
- mode: modeInProps
154
+ tabIndex
166
155
  } = this.props;
167
156
  const {
157
+ mode,
158
+ isInSubNav,
168
159
  prefixCls,
169
160
  limitIndent
170
161
  } = this.context;
171
162
  const isCollapsed = this.adapter.getIsCollapsed();
172
163
  const selected = this.adapter.getSelected();
173
- const isInSubNav = this.adapter.getIsInSubNav();
174
- const mode = this.adapter.getMode();
175
164
  let itemChildren = null;
176
165
 
177
166
  if (!isNullOrUndefined(children)) {
@@ -219,20 +208,14 @@ export default class NavItem extends BaseComponent {
219
208
  onKeyDown: this.handleKeyPress
220
209
  }, itemChildren);
221
210
  } else {
222
- // isFirstLayer 用于决定 semi-navigation-first-layers(仅在 c2中使用) 是否生效
223
- // 当 this.props.isInSubNav 存在是,则由 this.props.isInSubNav 决定
224
- // 否则由 this.context?.mode 决定,因为第一层节点无context
225
- const isFirstLayer = !_isUndefined(this.props.isInSubNav) ? !this.props.isInSubNav : _isUndefined((_a = this.context) === null || _a === void 0 ? void 0 : _a.mode); // Items are divided into normal and sub-wrap
226
-
211
+ // Items are divided into normal and sub-wrap
227
212
  const popoverItemCls = cls(`${className || `${clsPrefix}-normal`}`, {
228
213
  [clsPrefix]: true,
229
214
  [`${clsPrefix}-sub`]: isSubNav,
230
215
  [`${clsPrefix}-selected`]: selected && !isSubNav,
231
216
  [`${clsPrefix}-collapsed`]: isCollapsed,
232
217
  [`${clsPrefix}-disabled`]: disabled,
233
- [`${clsPrefix}-has-link`]: typeof link === 'string',
234
- [`${cssClasses.PREFIX}-first-layer`]: isFirstLayer,
235
- [`${clsPrefix}-horizontal`]: modeInProps === strings.MODE_HORIZONTAL
218
+ [`${clsPrefix}-has-link`]: typeof link === 'string'
236
219
  });
237
220
  const ariaProps = {
238
221
  'aria-disabled': disabled
@@ -310,5 +293,4 @@ NavItem.defaultProps = {
310
293
  onMouseLeave: _noop,
311
294
  disabled: false,
312
295
  tabIndex: 0
313
- };
314
- NavItem.elementType = 'Nav.Item';
296
+ };
@@ -22,14 +22,11 @@ export interface SubNavProps extends BaseProps {
22
22
  onMouseLeave?: React.MouseEventHandler<HTMLLIElement>;
23
23
  text?: React.ReactNode;
24
24
  toggleIcon?: ToggleIcon;
25
- active?: boolean;
26
- mode?: string;
27
25
  }
28
26
  export interface SubNavState {
29
27
  isHovered: boolean;
30
28
  }
31
29
  export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
32
- static elementType: string;
33
30
  static contextType: React.Context<NavContextType>;
34
31
  static propTypes: {
35
32
  /**
@@ -73,7 +70,6 @@ export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
73
70
  onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
74
71
  disabled: PropTypes.Requireable<boolean>;
75
72
  level: PropTypes.Requireable<number>;
76
- active: PropTypes.Requireable<boolean>;
77
73
  };
78
74
  static defaultProps: {
79
75
  level: number;
@@ -86,7 +82,6 @@ export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
86
82
  closed: JSX.Element;
87
83
  };
88
84
  disabled: boolean;
89
- active: boolean;
90
85
  };
91
86
  titleRef: React.RefObject<HTMLDivElement>;
92
87
  itemRef: React.RefObject<HTMLLIElement>;
@@ -1,4 +1,3 @@
1
- import _isUndefined from "lodash/isUndefined";
2
1
  import _get from "lodash/get";
3
2
  import _times from "lodash/times";
4
3
 
@@ -106,29 +105,16 @@ export default class SubNav extends BaseComponent {
106
105
 
107
106
  return _this._invokeContextFunc('onClick', ...args);
108
107
  },
109
- getIsSelected: itemKey => this.props.active || Boolean(!isNullOrUndefined(itemKey) && _get(this.context, 'selectedKeys', []).includes(String(itemKey))),
110
- getIsOpen: () => this.props.isOpen || Boolean(this.context && this.context.openKeys && this.context.openKeys.includes(String(this.props.itemKey))),
111
- getIsCollapsed: () => {
112
- var _a;
113
-
114
- return this.props.isCollapsed || Boolean((_a = this.context) === null || _a === void 0 ? void 0 : _a.isCollapsed);
115
- },
116
- getMode: () => {
117
- var _a, _b;
118
-
119
- return (_a = this.props.mode) !== null && _a !== void 0 ? _a : (_b = this.context) === null || _b === void 0 ? void 0 : _b.mode;
120
- }
108
+ getIsSelected: itemKey => Boolean(!isNullOrUndefined(itemKey) && _get(this.context, 'selectedKeys', []).includes(String(itemKey))),
109
+ getIsOpen: () => Boolean(this.context && this.context.openKeys && this.context.openKeys.includes(String(this.props.itemKey)))
121
110
  });
122
111
  }
123
112
 
124
113
  renderIcon(icon, pos, withTransition) {
125
114
  let isToggleIcon = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
126
115
  let key = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
127
-
128
- var _a;
129
-
130
116
  const {
131
- prefixCls = cssClasses.PREFIX
117
+ prefixCls
132
118
  } = this.context;
133
119
  let iconSize = 'large';
134
120
 
@@ -136,15 +122,14 @@ export default class SubNav extends BaseComponent {
136
122
  iconSize = 'default';
137
123
  }
138
124
 
139
- const isOpen = this.adapter.getIsOpen();
140
125
  const className = cls(`${prefixCls}-item-icon`, {
141
- [`${prefixCls}-item-icon-toggle-${(_a = this.context.toggleIconPosition) !== null && _a !== void 0 ? _a : 'right'}`]: isToggleIcon,
142
- [`${prefixCls}-item-icon-info`]: !isToggleIcon,
143
- [`${prefixCls}-icon-rotate-${isOpen ? "180" : "0"}-no-transition`]: !withTransition && isToggleIcon
126
+ [`${prefixCls}-item-icon-toggle-${this.context.toggleIconPosition}`]: isToggleIcon,
127
+ [`${prefixCls}-item-icon-info`]: !isToggleIcon
144
128
  });
129
+ const isOpen = this.adapter.getIsOpen();
145
130
  const iconElem = /*#__PURE__*/React.isValidElement(icon) ? withTransition ? /*#__PURE__*/React.createElement(CSSAnimation, {
146
131
  animationState: isOpen ? "enter" : "leave",
147
- startClassName: `${prefixCls}-icon-rotate-${isOpen ? "180" : "0"}`
132
+ startClassName: `${cssClasses.PREFIX}-icon-rotate-${isOpen ? "180" : "0"}`
148
133
  }, _ref => {
149
134
  let {
150
135
  animationClassName
@@ -174,22 +159,17 @@ export default class SubNav extends BaseComponent {
174
159
  level
175
160
  } = this.props;
176
161
  const {
162
+ mode,
177
163
  isInSubNav,
178
- prefixCls = cssClasses.PREFIX,
164
+ isCollapsed,
165
+ prefixCls,
179
166
  subNavMotion,
180
167
  limitIndent
181
168
  } = this.context;
182
-
183
- const isFirstLayer = _isUndefined(this.context.mode);
184
-
185
- const mode = this.adapter.getMode();
186
169
  const isOpen = this.adapter.getIsOpen();
187
- const isCollapsed = this.adapter.getIsCollapsed();
188
170
  const titleCls = cls(`${prefixCls}-sub-title`, {
189
171
  [`${prefixCls}-sub-title-selected`]: this.adapter.getIsSelected(itemKey),
190
- [`${prefixCls}-sub-title-disabled`]: disabled,
191
- [`${prefixCls}-first-layer`]: isFirstLayer,
192
- [`${prefixCls}-sub-title-horizontal`]: mode === strings.MODE_HORIZONTAL
172
+ [`${prefixCls}-sub-title-disabled`]: disabled
193
173
  });
194
174
  let withTransition = false;
195
175
  let toggleIconType = '';
@@ -230,7 +210,6 @@ export default class SubNav extends BaseComponent {
230
210
  }
231
211
 
232
212
  const isIconChevronRightShow = !isCollapsed && isInSubNav && mode === strings.MODE_HORIZONTAL || isCollapsed && isInSubNav;
233
- const toggleIconPositionLeft = this.context.toggleIconPosition === strings.TOGGLE_ICON_LEFT;
234
213
  const titleDiv = /*#__PURE__*/React.createElement("div", {
235
214
  role: "menuitem",
236
215
  // to avoid nested horizontal navigation be focused
@@ -242,9 +221,9 @@ export default class SubNav extends BaseComponent {
242
221
  "aria-expanded": isOpen ? 'true' : 'false'
243
222
  }, /*#__PURE__*/React.createElement("div", {
244
223
  className: `${prefixCls}-item-inner`
245
- }, placeholderIcons, toggleIconPositionLeft && this.renderIcon(toggleIconType, strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-left'), icon || indent || isInSubNav && mode !== strings.MODE_HORIZONTAL ? this.renderIcon(icon, strings.ICON_POS_LEFT, false, false, 'key-inSubNav-position-left') : null, /*#__PURE__*/React.createElement("span", {
224
+ }, placeholderIcons, this.context.toggleIconPosition === strings.TOGGLE_ICON_LEFT && this.renderIcon(toggleIconType, strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-left'), icon || indent || isInSubNav && mode !== strings.MODE_HORIZONTAL ? this.renderIcon(icon, strings.ICON_POS_LEFT, false, false, 'key-inSubNav-position-left') : null, /*#__PURE__*/React.createElement("span", {
246
225
  className: `${prefixCls}-item-text`
247
- }, text), !toggleIconPositionLeft && this.renderIcon(toggleIconType, strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-right')));
226
+ }, text), this.context.toggleIconPosition === strings.TOGGLE_ICON_RIGHT && this.renderIcon(toggleIconType, strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-right')));
248
227
  return titleDiv;
249
228
  }
250
229
 
@@ -254,12 +233,12 @@ export default class SubNav extends BaseComponent {
254
233
  maxHeight
255
234
  } = this.props;
256
235
  const {
236
+ isCollapsed,
237
+ mode,
257
238
  subNavMotion,
258
- prefixCls = cssClasses.PREFIX
239
+ prefixCls
259
240
  } = this.context;
260
- const isCollapsed = this.adapter.getIsCollapsed();
261
241
  const isOpen = this.adapter.getIsOpen();
262
- const mode = this.adapter.getMode();
263
242
  const isHorizontal = mode === strings.MODE_HORIZONTAL;
264
243
  const subNavCls = cls(`${prefixCls}-sub`, {
265
244
  [`${prefixCls}-sub-open`]: isOpen,
@@ -288,14 +267,14 @@ export default class SubNav extends BaseComponent {
288
267
  disabled
289
268
  } = this.props;
290
269
  const {
270
+ mode,
291
271
  isInSubNav,
272
+ isCollapsed,
292
273
  subNavCloseDelay,
293
274
  subNavOpenDelay,
294
- prefixCls = cssClasses.PREFIX,
275
+ prefixCls,
295
276
  getPopupContainer
296
277
  } = this.context;
297
- const isCollapsed = this.adapter.getIsCollapsed();
298
- const mode = this.adapter.getMode();
299
278
  const isOpen = this.adapter.getIsOpen();
300
279
  const openKeysIsControlled = this.adapter.getOpenKeysIsControlled();
301
280
  const subNavCls = cls({
@@ -340,10 +319,10 @@ export default class SubNav extends BaseComponent {
340
319
  text
341
320
  } = this.props;
342
321
  const {
343
- prefixCls = cssClasses.PREFIX
322
+ mode,
323
+ isCollapsed,
324
+ prefixCls
344
325
  } = this.context;
345
- const mode = this.adapter.getMode();
346
- const isCollapsed = this.adapter.getIsCollapsed();
347
326
  let titleDiv = this.renderTitleDiv();
348
327
  const subUl = this.renderSubUl(); // When mode=horizontal, it is displayed in Dropdown
349
328
 
@@ -361,11 +340,9 @@ export default class SubNav extends BaseComponent {
361
340
  onMouseEnter: onMouseEnter,
362
341
  onMouseLeave: onMouseLeave,
363
342
  disabled: disabled,
364
- text: text,
365
- mode: mode
343
+ text: text
366
344
  }, /*#__PURE__*/React.createElement(NavContext.Provider, {
367
345
  value: Object.assign(Object.assign({}, this.context), {
368
- mode: mode,
369
346
  isInSubNav: true
370
347
  })
371
348
  }, titleDiv, subUl));
@@ -426,8 +403,7 @@ SubNav.propTypes = {
426
403
  onMouseLeave: PropTypes.func,
427
404
  // Is it disabled
428
405
  disabled: PropTypes.bool,
429
- level: PropTypes.number,
430
- active: PropTypes.bool
406
+ level: PropTypes.number
431
407
  };
432
408
  SubNav.defaultProps = {
433
409
  level: 0,
@@ -443,7 +419,5 @@ SubNav.defaultProps = {
443
419
  "aria-hidden": true
444
420
  })
445
421
  },
446
- disabled: false,
447
- active: false
448
- };
449
- SubNav.elementType = 'Nav.Sub';
422
+ disabled: false
423
+ };
@@ -12,7 +12,6 @@ export interface SkeletonProps {
12
12
  style?: CSSProperties;
13
13
  }
14
14
  declare class Skeleton extends PureComponent<SkeletonProps> {
15
- static elementType: string;
16
15
  static Avatar: React.FC<import("./item").AvatarProps>;
17
16
  static Title: React.FC<import("./item").BasicProps>;
18
17
  static Button: React.FC<import("./item").BasicProps>;
@@ -67,5 +67,4 @@ Skeleton.propTypes = {
67
67
  loading: PropTypes.bool,
68
68
  children: PropTypes.node
69
69
  };
70
- Skeleton.elementType = 'Skeleton';
71
70
  export default Skeleton;
@@ -21,7 +21,6 @@ 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;
25
24
  static propTypes: {
26
25
  rows: PropTypes.Requireable<number>;
27
26
  prefixCls: PropTypes.Requireable<string>;
@@ -63,10 +63,6 @@ export const Avatar = generator('avatar')(Generic);
63
63
  export const Image = generator('image')(Generic);
64
64
  export const Title = generator('title')(Generic);
65
65
  export const Button = generator('button')(Generic);
66
- Avatar.elementType = 'Skeleton.Avatar';
67
- Image.elementType = 'Skeleton.Image';
68
- Title.elementType = 'Skeleton.Title';
69
- Button.elementType = 'Skeleton.Button';
70
66
  export class Paragraph extends PureComponent {
71
67
  render() {
72
68
  const {
@@ -94,5 +90,4 @@ Paragraph.propTypes = {
94
90
  Paragraph.defaultProps = {
95
91
  prefixCls: cssClasses.PREFIX,
96
92
  rows: 4
97
- };
98
- Paragraph.elementType = 'Skeleton.Paragraph';
93
+ };
@@ -19,8 +19,6 @@ 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;
24
22
  }
25
23
  export declare enum stepSizeMapIconSize {
26
24
  small = "large",
@@ -47,6 +45,5 @@ declare const BasicStep: {
47
45
  status: string;
48
46
  className: string;
49
47
  };
50
- elementType: string;
51
48
  };
52
49
  export default BasicStep;
@@ -26,9 +26,7 @@ const BasicStep = props => {
26
26
  stepNumber,
27
27
  onClick,
28
28
  onChange,
29
- onKeyDown,
30
- usedInC2D,
31
- direction: direction
29
+ onKeyDown
32
30
  } = props;
33
31
 
34
32
  const renderIcon = () => {
@@ -89,10 +87,7 @@ const BasicStep = props => {
89
87
 
90
88
  const classString = classnames(prefixCls, `${prefixCls}-${status}`, {
91
89
  [`${prefixCls}-active`]: active,
92
- [`${prefixCls}-done`]: done,
93
- [`${prefixCls}-basic`]: usedInC2D,
94
- [`${prefixCls}-${direction}`]: direction,
95
- [`${prefixCls}-small`]: size === 'small'
90
+ [`${prefixCls}-done`]: done
96
91
  }, className);
97
92
 
98
93
  const handleClick = e => {
@@ -156,5 +151,4 @@ BasicStep.defaultProps = {
156
151
  status: 'wait',
157
152
  className: ''
158
153
  };
159
- BasicStep.elementType = 'Steps.BasicStep';
160
154
  export default BasicStep;
@@ -27,8 +27,7 @@ const Steps = props => {
27
27
  const stepNumber = initial + index;
28
28
  const childProps = Object.assign({
29
29
  stepNumber: `${stepNumber + 1}`,
30
- size,
31
- direction
30
+ size
32
31
  }, child.props);
33
32
 
34
33
  if (status === 'error' && index === current - 1) {
@@ -15,7 +15,6 @@ 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;
19
18
  }
20
19
  declare const FillStep: {
21
20
  (props: FillStepProps): JSX.Element;
@@ -34,6 +33,5 @@ declare const FillStep: {
34
33
  status: string;
35
34
  className: string;
36
35
  };
37
- elementType: string;
38
36
  };
39
37
  export default FillStep;
@@ -97,8 +97,7 @@ const FillStep = props => {
97
97
  className: classnames({
98
98
  [prefixCls]: true,
99
99
  [`${prefixCls}-${status}`]: Boolean(status),
100
- [`${prefixCls}-clickable`]: onClick,
101
- [`${prefixCls}-fill`]: props.usedInC2D
100
+ [`${prefixCls}-clickable`]: onClick
102
101
  }, className),
103
102
  style: style,
104
103
  onClick: e => {
@@ -133,5 +132,4 @@ FillStep.defaultProps = {
133
132
  status: 'wait',
134
133
  className: ''
135
134
  };
136
- FillStep.elementType = 'Steps.FillStep';
137
135
  export default FillStep;
@@ -17,8 +17,10 @@ const Steps = props => {
17
17
  onChange
18
18
  } = props;
19
19
  const inner = useMemo(() => {
20
- const filteredChildren = Children.toArray(children).filter(c => /*#__PURE__*/isValidElement(c)); // const colStyle = direction === 'vertical' ? null : { width: `${100 / filteredChildren.length }%` };
21
-
20
+ const filteredChildren = Children.toArray(children).filter(c => /*#__PURE__*/isValidElement(c));
21
+ const colStyle = direction === 'vertical' ? null : {
22
+ width: `${100 / filteredChildren.length}%`
23
+ };
22
24
  const content = Children.map(filteredChildren, (child, index) => {
23
25
  if (!child) {
24
26
  return null;
@@ -48,11 +50,11 @@ const Steps = props => {
48
50
  if (index !== current) {
49
51
  onChange(index + initial);
50
52
  }
51
- }; // Whether colStyle is set has no effect
52
- // return <Col style={colStyle}>{cloneElement(child, { ...childProps })}</Col>;
53
-
53
+ };
54
54
 
55
- return /*#__PURE__*/React.createElement(Col, null, /*#__PURE__*/cloneElement(child, Object.assign({}, childProps)));
55
+ return /*#__PURE__*/React.createElement(Col, {
56
+ style: colStyle
57
+ }, /*#__PURE__*/cloneElement(child, Object.assign({}, childProps)));
56
58
  });
57
59
  return content;
58
60
  }, [children, initial, prefixCls, direction, status, current, onChange]);
@@ -22,69 +22,7 @@ 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: {
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
- };
25
+ static Step: (props: import("./step").StepProps) => JSX.Element;
88
26
  static propTypes: {
89
27
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
90
28
  type: PropTypes.Requireable<string>;
@@ -18,9 +18,6 @@ import Step from './step';
18
18
  import FillSteps from './fillSteps';
19
19
  import BasicSteps from './basicSteps';
20
20
  import NavSteps from './navSteps';
21
- import FillStep from './fillStep';
22
- import BasicStep from './basicStep';
23
- import NavStep from './navStep';
24
21
  import Context from './context';
25
22
 
26
23
  class Steps extends Component {
@@ -60,9 +57,6 @@ class Steps extends Component {
60
57
  }
61
58
 
62
59
  Steps.Step = Step;
63
- Steps.FillStep = FillStep;
64
- Steps.BasicStep = BasicStep;
65
- Steps.NavStep = NavStep;
66
60
  Steps.propTypes = {
67
61
  onChange: PropTypes.func,
68
62
  type: PropTypes.oneOf(['fill', 'basic', 'nav']),
@@ -13,8 +13,6 @@ 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;
18
16
  }
19
17
  declare const NavStep: {
20
18
  (props: NavStepProps): JSX.Element;
@@ -31,6 +29,5 @@ declare const NavStep: {
31
29
  active: boolean;
32
30
  className: string;
33
31
  };
34
- elementType: string;
35
32
  };
36
33
  export default NavStep;
@@ -16,13 +16,10 @@ const NavStep = props => {
16
16
  total,
17
17
  onClick,
18
18
  onKeyDown,
19
- onChange,
20
- size
19
+ onChange
21
20
  } = props;
22
21
  const classString = classnames(prefixCls, {
23
- [`${prefixCls}-active`]: active,
24
- [`${prefixCls}-nav`]: props.usedInC2D,
25
- [`${prefixCls}-small`]: size === 'small'
22
+ [`${prefixCls}-active`]: active
26
23
  }, className);
27
24
 
28
25
  const handleClick = e => {
@@ -78,5 +75,4 @@ NavStep.defaultProps = {
78
75
  active: false,
79
76
  className: ''
80
77
  };
81
- NavStep.elementType = 'Steps.NavStep';
82
78
  export default NavStep;
@@ -24,8 +24,7 @@ const Steps = props => {
24
24
 
25
25
  const childProps = Object.assign({
26
26
  index,
27
- total,
28
- size
27
+ total
29
28
  }, child.props);
30
29
  childProps.active = index === current;
31
30
 
@@ -9,8 +9,5 @@ export interface StepProps {
9
9
  style?: React.CSSProperties;
10
10
  onClick?: React.MouseEventHandler<HTMLDivElement>;
11
11
  }
12
- declare const Step: {
13
- (props: StepProps): JSX.Element;
14
- elementType: string;
15
- };
12
+ declare const Step: (props: StepProps) => JSX.Element;
16
13
  export default Step;
@@ -28,5 +28,4 @@ const Step = props => {
28
28
  return renderStep();
29
29
  };
30
30
 
31
- Step.elementType = 'Steps.Step';
32
31
  export default Step;
@@ -2,13 +2,12 @@ import React, { PureComponent } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import '@douyinfe/semi-foundation/lib/es/timeline/timeline.css';
4
4
  import Item, { TimelineItemProps } from './item';
5
- import { ModeType } from './context';
6
5
  export type { TimelineItemProps } from './item';
7
6
  export interface Data extends TimelineItemProps {
8
7
  content: React.ReactNode;
9
8
  }
10
9
  export interface TimelineProps extends Pick<React.AriaAttributes, 'aria-label'> {
11
- mode?: ModeType;
10
+ mode?: 'left' | 'right' | 'center' | 'alternate';
12
11
  className?: string;
13
12
  style?: React.CSSProperties;
14
13
  dataSource?: Data[];