@douyinfe/semi-ui 2.33.0 → 2.34.0-alpha.1

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 (75) hide show
  1. package/dist/css/semi.css +493 -23
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +3604 -3474
  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/_utils/index.d.ts +1 -1
  8. package/lib/cjs/button/index.d.ts +1 -1
  9. package/lib/cjs/input/index.d.ts +1 -1
  10. package/lib/cjs/input/index.js +1 -1
  11. package/lib/cjs/navigation/Item.d.ts +4 -0
  12. package/lib/cjs/navigation/Item.js +29 -10
  13. package/lib/cjs/navigation/SubNav.d.ts +5 -0
  14. package/lib/cjs/navigation/SubNav.js +51 -26
  15. package/lib/cjs/skeleton/index.d.ts +1 -0
  16. package/lib/cjs/skeleton/index.js +1 -0
  17. package/lib/cjs/skeleton/item.d.ts +1 -0
  18. package/lib/cjs/skeleton/item.js +6 -1
  19. package/lib/cjs/steps/basicStep.d.ts +3 -0
  20. package/lib/cjs/steps/basicStep.js +8 -2
  21. package/lib/cjs/steps/basicSteps.js +2 -1
  22. package/lib/cjs/steps/fillStep.d.ts +2 -0
  23. package/lib/cjs/steps/fillStep.js +3 -1
  24. package/lib/cjs/steps/fillSteps.js +5 -8
  25. package/lib/cjs/steps/index.d.ts +63 -1
  26. package/lib/cjs/steps/index.js +9 -0
  27. package/lib/cjs/steps/navStep.d.ts +3 -0
  28. package/lib/cjs/steps/navStep.js +6 -2
  29. package/lib/cjs/steps/navSteps.js +2 -1
  30. package/lib/cjs/steps/step.d.ts +4 -1
  31. package/lib/cjs/steps/step.js +1 -0
  32. package/lib/cjs/table/Body/BaseRow.js +1 -1
  33. package/lib/cjs/timeline/context.d.ts +8 -0
  34. package/lib/cjs/timeline/context.js +15 -0
  35. package/lib/cjs/timeline/index.d.ts +2 -1
  36. package/lib/cjs/timeline/index.js +8 -2
  37. package/lib/cjs/timeline/item.d.ts +10 -0
  38. package/lib/cjs/timeline/item.js +42 -3
  39. package/lib/cjs/tooltip/index.d.ts +2 -0
  40. package/lib/cjs/tooltip/index.js +14 -0
  41. package/lib/es/_utils/index.d.ts +1 -1
  42. package/lib/es/button/index.d.ts +1 -1
  43. package/lib/es/input/index.d.ts +1 -1
  44. package/lib/es/input/index.js +1 -1
  45. package/lib/es/navigation/Item.d.ts +4 -0
  46. package/lib/es/navigation/Item.js +28 -10
  47. package/lib/es/navigation/SubNav.d.ts +5 -0
  48. package/lib/es/navigation/SubNav.js +52 -26
  49. package/lib/es/skeleton/index.d.ts +1 -0
  50. package/lib/es/skeleton/index.js +1 -0
  51. package/lib/es/skeleton/item.d.ts +1 -0
  52. package/lib/es/skeleton/item.js +6 -1
  53. package/lib/es/steps/basicStep.d.ts +3 -0
  54. package/lib/es/steps/basicStep.js +8 -2
  55. package/lib/es/steps/basicSteps.js +2 -1
  56. package/lib/es/steps/fillStep.d.ts +2 -0
  57. package/lib/es/steps/fillStep.js +3 -1
  58. package/lib/es/steps/fillSteps.js +6 -8
  59. package/lib/es/steps/index.d.ts +63 -1
  60. package/lib/es/steps/index.js +6 -0
  61. package/lib/es/steps/navStep.d.ts +3 -0
  62. package/lib/es/steps/navStep.js +6 -2
  63. package/lib/es/steps/navSteps.js +2 -1
  64. package/lib/es/steps/step.d.ts +4 -1
  65. package/lib/es/steps/step.js +1 -0
  66. package/lib/es/table/Body/BaseRow.js +1 -1
  67. package/lib/es/timeline/context.d.ts +8 -0
  68. package/lib/es/timeline/context.js +3 -0
  69. package/lib/es/timeline/index.d.ts +2 -1
  70. package/lib/es/timeline/index.js +7 -2
  71. package/lib/es/timeline/item.d.ts +10 -0
  72. package/lib/es/timeline/item.js +41 -3
  73. package/lib/es/tooltip/index.d.ts +2 -0
  74. package/lib/es/tooltip/index.js +14 -0
  75. package/package.json +8 -8
@@ -5,7 +5,7 @@ import React from 'react';
5
5
  * @param {React.MouseEvent<HTMLElement>} e React mouse event object
6
6
  * @param {boolean} noImmediate Skip stopping immediate propagation
7
7
  */
8
- export declare function stopPropagation(e: React.MouseEvent, noImmediate?: boolean): void;
8
+ export declare function stopPropagation(e: React.MouseEvent | React.FocusEvent<HTMLElement>, noImmediate?: boolean): void;
9
9
  /**
10
10
  * use in Table, Form, Navigation
11
11
  *
@@ -32,7 +32,7 @@ declare class Button extends React.PureComponent<ButtonProps> {
32
32
  'aria-label': import("prop-types").Requireable<string>;
33
33
  };
34
34
  static elementType: string;
35
- constructor(props?: {});
35
+ constructor(props?: ButtonProps);
36
36
  render(): JSX.Element;
37
37
  }
38
38
  export default Button;
@@ -126,7 +126,7 @@ declare class Input extends BaseComponent<InputProps, InputState> {
126
126
  onKeyPress: (...args: any[]) => void;
127
127
  onEnterPress: (...args: any[]) => void;
128
128
  validateStatus: string;
129
- noBg: boolean;
129
+ borderless: boolean;
130
130
  };
131
131
  inputRef: React.RefObject<HTMLInputElement>;
132
132
  prefixRef: React.RefObject<React.ReactNode>;
@@ -549,7 +549,7 @@ Input.defaultProps = {
549
549
  onKeyPress: _noop2.default,
550
550
  onEnterPress: _noop2.default,
551
551
  validateStatus: 'default',
552
- noBg: false
552
+ borderless: false
553
553
  };
554
554
 
555
555
  const ForwardInput = /*#__PURE__*/_react.default.forwardRef((props, ref) => /*#__PURE__*/_react.default.createElement(Input, Object.assign({}, props, {
@@ -19,6 +19,9 @@ export interface NavItemProps extends ItemProps, BaseProps {
19
19
  onClick?(clickItems: SelectedData): void;
20
20
  onMouseEnter?: React.MouseEventHandler<HTMLLIElement>;
21
21
  onMouseLeave?: React.MouseEventHandler<HTMLLIElement>;
22
+ selected?: boolean;
23
+ mode?: string;
24
+ isInSubNav?: boolean;
22
25
  }
23
26
  export interface SelectedData extends SelectedItemProps<NavItemProps> {
24
27
  text?: React.ReactNode;
@@ -28,6 +31,7 @@ export interface NavItemState {
28
31
  }
29
32
  export default class NavItem extends BaseComponent<NavItemProps, NavItemState> {
30
33
  static contextType: React.Context<NavContextType>;
34
+ static elementType: string;
31
35
  static propTypes: {
32
36
  text: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
33
37
  itemKey: PropTypes.Requireable<NonNullable<string | number>>;
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
+ var _isUndefined2 = _interopRequireDefault(require("lodash/isUndefined"));
9
+
8
10
  var _times2 = _interopRequireDefault(require("lodash/times"));
9
11
 
10
12
  var _noop2 = _interopRequireDefault(require("lodash/noop"));
@@ -121,21 +123,28 @@ class NavItem extends _baseComponent.default {
121
123
  notifyMouseLeave: function () {
122
124
  return _this.props.onMouseLeave(...arguments);
123
125
  },
124
- getIsCollapsed: () => this.props.isCollapsed || Boolean(this.context && this.context.isCollapsed) || false,
125
- getSelected: () => Boolean(this.context && this.context.selectedKeys && this.context.selectedKeys.includes(this.props.itemKey)),
126
- getIsOpen: () => Boolean(this.context && this.context.openKeys && this.context.openKeys.includes(this.props.itemKey))
126
+ getIsCollapsed: () => this.props.isCollapsed || Boolean(this.context && this.context.isCollapsed),
127
+ getSelected: () => this.props.selected || Boolean(this.context && this.context.selectedKeys && this.context.selectedKeys.includes(this.props.itemKey)),
128
+ getIsOpen: () => Boolean(this.context && this.context.openKeys && this.context.openKeys.includes(this.props.itemKey)),
129
+ getIsInSubNav: () => this.props.isInSubNav || Boolean(this.context && this.context.isInSubNav),
130
+ getMode: () => {
131
+ var _a, _b;
132
+
133
+ return (_a = this.props.mode) !== null && _a !== void 0 ? _a : (_b = this.context) === null || _b === void 0 ? void 0 : _b.mode;
134
+ }
127
135
  });
128
136
  }
129
137
 
130
138
  renderIcon(icon, pos) {
131
139
  let isToggleIcon = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
132
140
  let key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
141
+ const mode = this.adapter.getMode();
133
142
 
134
143
  if (this.props.isSubNav) {
135
144
  return null;
136
145
  }
137
146
 
138
- if (!icon && this.context.mode === _constants.strings.MODE_HORIZONTAL) {
147
+ if (!icon && mode === _constants.strings.MODE_HORIZONTAL) {
139
148
  return null;
140
149
  }
141
150
 
@@ -158,6 +167,8 @@ class NavItem extends _baseComponent.default {
158
167
  }
159
168
 
160
169
  render() {
170
+ var _a;
171
+
161
172
  const {
162
173
  text,
163
174
  children,
@@ -173,16 +184,17 @@ class NavItem extends _baseComponent.default {
173
184
  linkOptions,
174
185
  disabled,
175
186
  level = 0,
176
- tabIndex
187
+ tabIndex,
188
+ mode: modeInProps
177
189
  } = this.props;
178
190
  const {
179
- mode,
180
- isInSubNav,
181
191
  prefixCls,
182
192
  limitIndent
183
193
  } = this.context;
184
194
  const isCollapsed = this.adapter.getIsCollapsed();
185
195
  const selected = this.adapter.getSelected();
196
+ const isInSubNav = this.adapter.getIsInSubNav();
197
+ const mode = this.adapter.getMode();
186
198
  let itemChildren = null;
187
199
 
188
200
  if (!(0, _isNullOrUndefined.default)(children)) {
@@ -230,14 +242,20 @@ class NavItem extends _baseComponent.default {
230
242
  onKeyDown: this.handleKeyPress
231
243
  }, itemChildren);
232
244
  } else {
233
- // Items are divided into normal and sub-wrap
245
+ // isFirstLayer 用于决定 semi-navigation-first-layers(仅在 c2中使用) 是否生效
246
+ // 当 this.props.isInSubNav 存在是,则由 this.props.isInSubNav 决定
247
+ // 否则由 this.context?.mode 决定,因为第一层节点无context
248
+ const isFirstLayer = !(0, _isUndefined2.default)(this.props.isInSubNav) ? !this.props.isInSubNav : (0, _isUndefined2.default)((_a = this.context) === null || _a === void 0 ? void 0 : _a.mode); // Items are divided into normal and sub-wrap
249
+
234
250
  const popoverItemCls = (0, _classnames.default)(`${className || `${clsPrefix}-normal`}`, {
235
251
  [clsPrefix]: true,
236
252
  [`${clsPrefix}-sub`]: isSubNav,
237
253
  [`${clsPrefix}-selected`]: selected && !isSubNav,
238
254
  [`${clsPrefix}-collapsed`]: isCollapsed,
239
255
  [`${clsPrefix}-disabled`]: disabled,
240
- [`${clsPrefix}-has-link`]: typeof link === 'string'
256
+ [`${clsPrefix}-has-link`]: typeof link === 'string',
257
+ [`${_constants.cssClasses.PREFIX}-first-layer`]: isFirstLayer,
258
+ [`${clsPrefix}-horizontal`]: modeInProps === _constants.strings.MODE_HORIZONTAL
241
259
  });
242
260
  const ariaProps = {
243
261
  'aria-disabled': disabled
@@ -317,4 +335,5 @@ NavItem.defaultProps = {
317
335
  onMouseLeave: _noop2.default,
318
336
  disabled: false,
319
337
  tabIndex: 0
320
- };
338
+ };
339
+ NavItem.elementType = 'Nav.Item';
@@ -22,11 +22,14 @@ 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;
25
27
  }
26
28
  export interface SubNavState {
27
29
  isHovered: boolean;
28
30
  }
29
31
  export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
32
+ static elementType: string;
30
33
  static contextType: React.Context<NavContextType>;
31
34
  static propTypes: {
32
35
  /**
@@ -70,6 +73,7 @@ export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
70
73
  onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
71
74
  disabled: PropTypes.Requireable<boolean>;
72
75
  level: PropTypes.Requireable<number>;
76
+ active: PropTypes.Requireable<boolean>;
73
77
  };
74
78
  static defaultProps: {
75
79
  level: number;
@@ -82,6 +86,7 @@ export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
82
86
  closed: JSX.Element;
83
87
  };
84
88
  disabled: boolean;
89
+ active: boolean;
85
90
  };
86
91
  titleRef: React.RefObject<HTMLDivElement>;
87
92
  itemRef: React.RefObject<HTMLLIElement>;
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
+ var _isUndefined2 = _interopRequireDefault(require("lodash/isUndefined"));
9
+
8
10
  var _get2 = _interopRequireDefault(require("lodash/get"));
9
11
 
10
12
  var _times2 = _interopRequireDefault(require("lodash/times"));
@@ -129,16 +131,29 @@ class SubNav extends _baseComponent.default {
129
131
 
130
132
  return _this._invokeContextFunc('onClick', ...args);
131
133
  },
132
- getIsSelected: itemKey => Boolean(!(0, _isNullOrUndefined.default)(itemKey) && (0, _get2.default)(this.context, 'selectedKeys', []).includes(String(itemKey))),
133
- getIsOpen: () => Boolean(this.context && this.context.openKeys && this.context.openKeys.includes(String(this.props.itemKey)))
134
+ getIsSelected: itemKey => this.props.active || Boolean(!(0, _isNullOrUndefined.default)(itemKey) && (0, _get2.default)(this.context, 'selectedKeys', []).includes(String(itemKey))),
135
+ getIsOpen: () => this.props.isOpen || Boolean(this.context && this.context.openKeys && this.context.openKeys.includes(String(this.props.itemKey))),
136
+ getIsCollapsed: () => {
137
+ var _a;
138
+
139
+ return this.props.isCollapsed || Boolean((_a = this.context) === null || _a === void 0 ? void 0 : _a.isCollapsed);
140
+ },
141
+ getMode: () => {
142
+ var _a, _b;
143
+
144
+ return (_a = this.props.mode) !== null && _a !== void 0 ? _a : (_b = this.context) === null || _b === void 0 ? void 0 : _b.mode;
145
+ }
134
146
  });
135
147
  }
136
148
 
137
149
  renderIcon(icon, pos, withTransition) {
138
150
  let isToggleIcon = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
139
151
  let key = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
152
+
153
+ var _a;
154
+
140
155
  const {
141
- prefixCls
156
+ prefixCls = _constants.cssClasses.PREFIX
142
157
  } = this.context;
143
158
  let iconSize = 'large';
144
159
 
@@ -146,14 +161,15 @@ class SubNav extends _baseComponent.default {
146
161
  iconSize = 'default';
147
162
  }
148
163
 
164
+ const isOpen = this.adapter.getIsOpen();
149
165
  const className = (0, _classnames.default)(`${prefixCls}-item-icon`, {
150
- [`${prefixCls}-item-icon-toggle-${this.context.toggleIconPosition}`]: isToggleIcon,
151
- [`${prefixCls}-item-icon-info`]: !isToggleIcon
166
+ [`${prefixCls}-item-icon-toggle-${(_a = this.context.toggleIconPosition) !== null && _a !== void 0 ? _a : 'right'}`]: isToggleIcon,
167
+ [`${prefixCls}-item-icon-info`]: !isToggleIcon,
168
+ [`${prefixCls}-icon-rotate-${isOpen ? "180" : "0"}-no-transition`]: !withTransition && isToggleIcon
152
169
  });
153
- const isOpen = this.adapter.getIsOpen();
154
170
  const iconElem = /*#__PURE__*/_react.default.isValidElement(icon) ? withTransition ? /*#__PURE__*/_react.default.createElement(_cssAnimation.default, {
155
171
  animationState: isOpen ? "enter" : "leave",
156
- startClassName: `${_constants.cssClasses.PREFIX}-icon-rotate-${isOpen ? "180" : "0"}`
172
+ startClassName: `${prefixCls}-icon-rotate-${isOpen ? "180" : "0"}`
157
173
  }, _ref => {
158
174
  let {
159
175
  animationClassName
@@ -183,17 +199,20 @@ class SubNav extends _baseComponent.default {
183
199
  level
184
200
  } = this.props;
185
201
  const {
186
- mode,
187
202
  isInSubNav,
188
- isCollapsed,
189
- prefixCls,
203
+ prefixCls = _constants.cssClasses.PREFIX,
190
204
  subNavMotion,
191
205
  limitIndent
192
206
  } = this.context;
207
+ const isFirstLayer = (0, _isUndefined2.default)(this.context.mode);
208
+ const mode = this.adapter.getMode();
193
209
  const isOpen = this.adapter.getIsOpen();
210
+ const isCollapsed = this.adapter.getIsCollapsed();
194
211
  const titleCls = (0, _classnames.default)(`${prefixCls}-sub-title`, {
195
212
  [`${prefixCls}-sub-title-selected`]: this.adapter.getIsSelected(itemKey),
196
- [`${prefixCls}-sub-title-disabled`]: disabled
213
+ [`${prefixCls}-sub-title-disabled`]: disabled,
214
+ [`${prefixCls}-first-layer`]: isFirstLayer,
215
+ [`${prefixCls}-sub-title-horizontal`]: mode === _constants.strings.MODE_HORIZONTAL
197
216
  });
198
217
  let withTransition = false;
199
218
  let toggleIconType = '';
@@ -234,6 +253,7 @@ class SubNav extends _baseComponent.default {
234
253
  }
235
254
 
236
255
  const isIconChevronRightShow = !isCollapsed && isInSubNav && mode === _constants.strings.MODE_HORIZONTAL || isCollapsed && isInSubNav;
256
+ const toggleIconPositionLeft = this.context.toggleIconPosition === _constants.strings.TOGGLE_ICON_LEFT;
237
257
 
238
258
  const titleDiv = /*#__PURE__*/_react.default.createElement("div", {
239
259
  role: "menuitem",
@@ -246,9 +266,9 @@ class SubNav extends _baseComponent.default {
246
266
  "aria-expanded": isOpen ? 'true' : 'false'
247
267
  }, /*#__PURE__*/_react.default.createElement("div", {
248
268
  className: `${prefixCls}-item-inner`
249
- }, placeholderIcons, this.context.toggleIconPosition === _constants.strings.TOGGLE_ICON_LEFT && this.renderIcon(toggleIconType, _constants.strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-left'), icon || indent || isInSubNav && mode !== _constants.strings.MODE_HORIZONTAL ? this.renderIcon(icon, _constants.strings.ICON_POS_LEFT, false, false, 'key-inSubNav-position-left') : null, /*#__PURE__*/_react.default.createElement("span", {
269
+ }, placeholderIcons, toggleIconPositionLeft && this.renderIcon(toggleIconType, _constants.strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-left'), icon || indent || isInSubNav && mode !== _constants.strings.MODE_HORIZONTAL ? this.renderIcon(icon, _constants.strings.ICON_POS_LEFT, false, false, 'key-inSubNav-position-left') : null, /*#__PURE__*/_react.default.createElement("span", {
250
270
  className: `${prefixCls}-item-text`
251
- }, text), this.context.toggleIconPosition === _constants.strings.TOGGLE_ICON_RIGHT && this.renderIcon(toggleIconType, _constants.strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-right')));
271
+ }, text), !toggleIconPositionLeft && this.renderIcon(toggleIconType, _constants.strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-right')));
252
272
 
253
273
  return titleDiv;
254
274
  }
@@ -259,12 +279,12 @@ class SubNav extends _baseComponent.default {
259
279
  maxHeight
260
280
  } = this.props;
261
281
  const {
262
- isCollapsed,
263
- mode,
264
282
  subNavMotion,
265
- prefixCls
283
+ prefixCls = _constants.cssClasses.PREFIX
266
284
  } = this.context;
285
+ const isCollapsed = this.adapter.getIsCollapsed();
267
286
  const isOpen = this.adapter.getIsOpen();
287
+ const mode = this.adapter.getMode();
268
288
  const isHorizontal = mode === _constants.strings.MODE_HORIZONTAL;
269
289
  const subNavCls = (0, _classnames.default)(`${prefixCls}-sub`, {
270
290
  [`${prefixCls}-sub-open`]: isOpen,
@@ -295,14 +315,14 @@ class SubNav extends _baseComponent.default {
295
315
  disabled
296
316
  } = this.props;
297
317
  const {
298
- mode,
299
318
  isInSubNav,
300
- isCollapsed,
301
319
  subNavCloseDelay,
302
320
  subNavOpenDelay,
303
- prefixCls,
321
+ prefixCls = _constants.cssClasses.PREFIX,
304
322
  getPopupContainer
305
323
  } = this.context;
324
+ const isCollapsed = this.adapter.getIsCollapsed();
325
+ const mode = this.adapter.getMode();
306
326
  const isOpen = this.adapter.getIsOpen();
307
327
  const openKeysIsControlled = this.adapter.getOpenKeysIsControlled();
308
328
  const subNavCls = (0, _classnames.default)({
@@ -347,10 +367,10 @@ class SubNav extends _baseComponent.default {
347
367
  text
348
368
  } = this.props;
349
369
  const {
350
- mode,
351
- isCollapsed,
352
- prefixCls
370
+ prefixCls = _constants.cssClasses.PREFIX
353
371
  } = this.context;
372
+ const mode = this.adapter.getMode();
373
+ const isCollapsed = this.adapter.getIsCollapsed();
354
374
  let titleDiv = this.renderTitleDiv();
355
375
  const subUl = this.renderSubUl(); // When mode=horizontal, it is displayed in Dropdown
356
376
 
@@ -368,9 +388,11 @@ class SubNav extends _baseComponent.default {
368
388
  onMouseEnter: onMouseEnter,
369
389
  onMouseLeave: onMouseLeave,
370
390
  disabled: disabled,
371
- text: text
391
+ text: text,
392
+ mode: mode
372
393
  }, /*#__PURE__*/_react.default.createElement(_navContext.default.Provider, {
373
394
  value: Object.assign(Object.assign({}, this.context), {
395
+ mode: mode,
374
396
  isInSubNav: true
375
397
  })
376
398
  }, titleDiv, subUl));
@@ -433,7 +455,8 @@ SubNav.propTypes = {
433
455
  onMouseLeave: _propTypes.default.func,
434
456
  // Is it disabled
435
457
  disabled: _propTypes.default.bool,
436
- level: _propTypes.default.number
458
+ level: _propTypes.default.number,
459
+ active: _propTypes.default.bool
437
460
  };
438
461
  SubNav.defaultProps = {
439
462
  level: 0,
@@ -449,5 +472,7 @@ SubNav.defaultProps = {
449
472
  "aria-hidden": true
450
473
  })
451
474
  },
452
- disabled: false
453
- };
475
+ disabled: false,
476
+ active: false
477
+ };
478
+ SubNav.elementType = 'Nav.Sub';
@@ -12,6 +12,7 @@ export interface SkeletonProps {
12
12
  style?: CSSProperties;
13
13
  }
14
14
  declare class Skeleton extends PureComponent<SkeletonProps> {
15
+ static elementType: string;
15
16
  static Avatar: React.FC<import("./item").AvatarProps>;
16
17
  static Title: React.FC<import("./item").BasicProps>;
17
18
  static Button: React.FC<import("./item").BasicProps>;
@@ -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;
@@ -42,7 +42,9 @@ const BasicStep = props => {
42
42
  stepNumber,
43
43
  onClick,
44
44
  onChange,
45
- onKeyDown
45
+ onKeyDown,
46
+ usedInC2D,
47
+ direction: direction
46
48
  } = props;
47
49
 
48
50
  const renderIcon = () => {
@@ -103,7 +105,10 @@ const BasicStep = props => {
103
105
 
104
106
  const classString = (0, _classnames.default)(prefixCls, `${prefixCls}-${status}`, {
105
107
  [`${prefixCls}-active`]: active,
106
- [`${prefixCls}-done`]: done
108
+ [`${prefixCls}-done`]: done,
109
+ [`${prefixCls}-basic`]: usedInC2D,
110
+ [`${prefixCls}-${direction}`]: direction,
111
+ [`${prefixCls}-small`]: size === 'small'
107
112
  }, className);
108
113
 
109
114
  const handleClick = e => {
@@ -167,5 +172,6 @@ BasicStep.defaultProps = {
167
172
  status: 'wait',
168
173
  className: ''
169
174
  };
175
+ BasicStep.elementType = 'Steps.BasicStep';
170
176
  var _default = BasicStep;
171
177
  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;
@@ -111,7 +111,8 @@ const FillStep = props => {
111
111
  className: (0, _classnames.default)({
112
112
  [prefixCls]: true,
113
113
  [`${prefixCls}-${status}`]: Boolean(status),
114
- [`${prefixCls}-clickable`]: onClick
114
+ [`${prefixCls}-clickable`]: onClick,
115
+ [`${prefixCls}-fill`]: props.usedInC2D
115
116
  }, className),
116
117
  style: style,
117
118
  onClick: e => {
@@ -146,5 +147,6 @@ FillStep.defaultProps = {
146
147
  status: 'wait',
147
148
  className: ''
148
149
  };
150
+ FillStep.elementType = 'Steps.FillStep';
149
151
  var _default = FillStep;
150
152
  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,11 +66,11 @@ const Steps = props => {
69
66
  if (index !== current) {
70
67
  onChange(index + initial);
71
68
  }
72
- };
69
+ }; // Whether colStyle is set has no effect
70
+ // return <Col style={colStyle}>{cloneElement(child, { ...childProps })}</Col>;
73
71
 
74
- return /*#__PURE__*/_react.default.createElement(_grid.Col, {
75
- style: colStyle
76
- }, /*#__PURE__*/(0, _react.cloneElement)(child, Object.assign({}, childProps)));
72
+
73
+ return /*#__PURE__*/_react.default.createElement(_grid.Col, null, /*#__PURE__*/(0, _react.cloneElement)(child, Object.assign({}, childProps)));
77
74
  });
78
75
 
79
76
  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>;
@@ -21,6 +21,12 @@ var _basicSteps = _interopRequireDefault(require("./basicSteps"));
21
21
 
22
22
  var _navSteps = _interopRequireDefault(require("./navSteps"));
23
23
 
24
+ var _fillStep = _interopRequireDefault(require("./fillStep"));
25
+
26
+ var _basicStep = _interopRequireDefault(require("./basicStep"));
27
+
28
+ var _navStep = _interopRequireDefault(require("./navStep"));
29
+
24
30
  var _context = _interopRequireDefault(require("./context"));
25
31
 
26
32
  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); }
@@ -77,6 +83,9 @@ class Steps extends _react.Component {
77
83
  }
78
84
 
79
85
  Steps.Step = _step.default;
86
+ Steps.FillStep = _fillStep.default;
87
+ Steps.BasicStep = _basicStep.default;
88
+ Steps.NavStep = _navStep.default;
80
89
  Steps.propTypes = {
81
90
  onChange: _propTypes.default.func,
82
91
  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;