@douyinfe/semi-ui 2.36.0-alpha.0 → 2.36.0-beta.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 (169) hide show
  1. package/dist/css/semi.css +166 -510
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +247 -277
  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 +3 -2
  8. package/lib/cjs/anchor/link.js +13 -6
  9. package/lib/cjs/autoComplete/index.d.ts +1 -1
  10. package/lib/cjs/button/Button.d.ts +1 -1
  11. package/lib/cjs/button/buttonGroup.d.ts +1 -1
  12. package/lib/cjs/button/index.d.ts +1 -1
  13. package/lib/cjs/calendar/dayCalendar.d.ts +2 -1
  14. package/lib/cjs/calendar/dayCalendar.js +7 -2
  15. package/lib/cjs/calendar/index.d.ts +1 -0
  16. package/lib/cjs/calendar/index.js +1 -0
  17. package/lib/cjs/calendar/interface.d.ts +2 -0
  18. package/lib/cjs/calendar/monthCalendar.d.ts +1 -1
  19. package/lib/cjs/calendar/monthCalendar.js +12 -4
  20. package/lib/cjs/calendar/rangeCalendar.d.ts +3 -1
  21. package/lib/cjs/calendar/rangeCalendar.js +23 -9
  22. package/lib/cjs/calendar/weekCalendar.d.ts +3 -1
  23. package/lib/cjs/calendar/weekCalendar.js +23 -9
  24. package/lib/cjs/collapse/item.d.ts +0 -2
  25. package/lib/cjs/collapse/item.js +2 -3
  26. package/lib/cjs/datePicker/dateInput.d.ts +1 -1
  27. package/lib/cjs/datePicker/datePicker.d.ts +2 -2
  28. package/lib/cjs/datePicker/datePicker.js +12 -4
  29. package/lib/cjs/datePicker/monthsGrid.d.ts +1 -1
  30. package/lib/cjs/datePicker/monthsGrid.js +6 -2
  31. package/lib/cjs/datePicker/yearAndMonth.d.ts +3 -1
  32. package/lib/cjs/datePicker/yearAndMonth.js +4 -2
  33. package/lib/cjs/form/baseForm.d.ts +1 -1
  34. package/lib/cjs/form/field.d.ts +1 -1
  35. package/lib/cjs/input/index.d.ts +1 -1
  36. package/lib/cjs/input/inputGroup.d.ts +1 -1
  37. package/lib/cjs/input/textarea.d.ts +1 -1
  38. package/lib/cjs/modal/confirm.d.ts +17 -17
  39. package/lib/cjs/navigation/Footer.d.ts +3 -0
  40. package/lib/cjs/navigation/Footer.js +19 -9
  41. package/lib/cjs/navigation/Item.d.ts +0 -4
  42. package/lib/cjs/navigation/Item.js +10 -29
  43. package/lib/cjs/navigation/SubNav.d.ts +1 -18
  44. package/lib/cjs/navigation/SubNav.js +30 -70
  45. package/lib/cjs/navigation/index.d.ts +4 -1
  46. package/lib/cjs/navigation/index.js +7 -1
  47. package/lib/cjs/rating/index.d.ts +1 -1
  48. package/lib/cjs/rating/item.d.ts +1 -1
  49. package/lib/cjs/select/index.d.ts +2 -1
  50. package/lib/cjs/select/index.js +4 -0
  51. package/lib/cjs/skeleton/index.d.ts +0 -1
  52. package/lib/cjs/skeleton/index.js +0 -1
  53. package/lib/cjs/skeleton/item.d.ts +0 -1
  54. package/lib/cjs/skeleton/item.js +1 -6
  55. package/lib/cjs/steps/basicStep.d.ts +0 -3
  56. package/lib/cjs/steps/basicStep.js +2 -8
  57. package/lib/cjs/steps/basicSteps.js +1 -2
  58. package/lib/cjs/steps/fillStep.d.ts +0 -2
  59. package/lib/cjs/steps/fillStep.js +1 -3
  60. package/lib/cjs/steps/fillSteps.js +8 -5
  61. package/lib/cjs/steps/index.d.ts +1 -63
  62. package/lib/cjs/steps/index.js +0 -9
  63. package/lib/cjs/steps/navStep.d.ts +0 -3
  64. package/lib/cjs/steps/navStep.js +2 -6
  65. package/lib/cjs/steps/navSteps.js +1 -2
  66. package/lib/cjs/steps/step.d.ts +1 -4
  67. package/lib/cjs/steps/step.js +0 -1
  68. package/lib/cjs/switch/index.d.ts +1 -1
  69. package/lib/cjs/table/Body/index.d.ts +1 -1
  70. package/lib/cjs/table/ResizableTable.d.ts +1 -1
  71. package/lib/cjs/table/Table.d.ts +2 -2
  72. package/lib/cjs/table/TableHeaderRow.js +22 -14
  73. package/lib/cjs/table/index.d.ts +1 -1
  74. package/lib/cjs/table/interface.d.ts +5 -1
  75. package/lib/cjs/tagInput/index.d.ts +1 -1
  76. package/lib/cjs/timePicker/TimePicker.d.ts +1 -1
  77. package/lib/cjs/timePicker/index.d.ts +1 -1
  78. package/lib/cjs/timeline/index.d.ts +1 -2
  79. package/lib/cjs/timeline/index.js +2 -8
  80. package/lib/cjs/timeline/item.d.ts +0 -10
  81. package/lib/cjs/timeline/item.js +3 -42
  82. package/lib/cjs/typography/base.d.ts +1 -0
  83. package/lib/cjs/typography/base.js +28 -14
  84. package/lib/cjs/typography/title.d.ts +2 -0
  85. package/lib/cjs/typography/title.js +2 -1
  86. package/lib/es/anchor/index.d.ts +3 -2
  87. package/lib/es/anchor/link.js +12 -6
  88. package/lib/es/autoComplete/index.d.ts +1 -1
  89. package/lib/es/button/Button.d.ts +1 -1
  90. package/lib/es/button/buttonGroup.d.ts +1 -1
  91. package/lib/es/button/index.d.ts +1 -1
  92. package/lib/es/calendar/dayCalendar.d.ts +2 -1
  93. package/lib/es/calendar/dayCalendar.js +7 -2
  94. package/lib/es/calendar/index.d.ts +1 -0
  95. package/lib/es/calendar/index.js +1 -0
  96. package/lib/es/calendar/interface.d.ts +2 -0
  97. package/lib/es/calendar/monthCalendar.d.ts +1 -1
  98. package/lib/es/calendar/monthCalendar.js +12 -4
  99. package/lib/es/calendar/rangeCalendar.d.ts +3 -1
  100. package/lib/es/calendar/rangeCalendar.js +19 -9
  101. package/lib/es/calendar/weekCalendar.d.ts +3 -1
  102. package/lib/es/calendar/weekCalendar.js +19 -9
  103. package/lib/es/collapse/item.d.ts +0 -2
  104. package/lib/es/collapse/item.js +2 -3
  105. package/lib/es/datePicker/dateInput.d.ts +1 -1
  106. package/lib/es/datePicker/datePicker.d.ts +2 -2
  107. package/lib/es/datePicker/datePicker.js +12 -4
  108. package/lib/es/datePicker/monthsGrid.d.ts +1 -1
  109. package/lib/es/datePicker/monthsGrid.js +6 -2
  110. package/lib/es/datePicker/yearAndMonth.d.ts +3 -1
  111. package/lib/es/datePicker/yearAndMonth.js +4 -2
  112. package/lib/es/form/baseForm.d.ts +1 -1
  113. package/lib/es/form/field.d.ts +1 -1
  114. package/lib/es/input/index.d.ts +1 -1
  115. package/lib/es/input/inputGroup.d.ts +1 -1
  116. package/lib/es/input/textarea.d.ts +1 -1
  117. package/lib/es/modal/confirm.d.ts +17 -17
  118. package/lib/es/navigation/Footer.d.ts +3 -0
  119. package/lib/es/navigation/Footer.js +16 -7
  120. package/lib/es/navigation/Item.d.ts +0 -4
  121. package/lib/es/navigation/Item.js +10 -28
  122. package/lib/es/navigation/SubNav.d.ts +1 -18
  123. package/lib/es/navigation/SubNav.js +31 -72
  124. package/lib/es/navigation/index.d.ts +4 -1
  125. package/lib/es/navigation/index.js +7 -1
  126. package/lib/es/rating/index.d.ts +1 -1
  127. package/lib/es/rating/item.d.ts +1 -1
  128. package/lib/es/select/index.d.ts +2 -1
  129. package/lib/es/select/index.js +4 -0
  130. package/lib/es/skeleton/index.d.ts +0 -1
  131. package/lib/es/skeleton/index.js +0 -1
  132. package/lib/es/skeleton/item.d.ts +0 -1
  133. package/lib/es/skeleton/item.js +1 -6
  134. package/lib/es/steps/basicStep.d.ts +0 -3
  135. package/lib/es/steps/basicStep.js +2 -8
  136. package/lib/es/steps/basicSteps.js +1 -2
  137. package/lib/es/steps/fillStep.d.ts +0 -2
  138. package/lib/es/steps/fillStep.js +1 -3
  139. package/lib/es/steps/fillSteps.js +8 -6
  140. package/lib/es/steps/index.d.ts +1 -63
  141. package/lib/es/steps/index.js +0 -6
  142. package/lib/es/steps/navStep.d.ts +0 -3
  143. package/lib/es/steps/navStep.js +2 -6
  144. package/lib/es/steps/navSteps.js +1 -2
  145. package/lib/es/steps/step.d.ts +1 -4
  146. package/lib/es/steps/step.js +0 -1
  147. package/lib/es/switch/index.d.ts +1 -1
  148. package/lib/es/table/Body/index.d.ts +1 -1
  149. package/lib/es/table/ResizableTable.d.ts +1 -1
  150. package/lib/es/table/Table.d.ts +2 -2
  151. package/lib/es/table/TableHeaderRow.js +22 -14
  152. package/lib/es/table/index.d.ts +1 -1
  153. package/lib/es/table/interface.d.ts +5 -1
  154. package/lib/es/tagInput/index.d.ts +1 -1
  155. package/lib/es/timePicker/TimePicker.d.ts +1 -1
  156. package/lib/es/timePicker/index.d.ts +1 -1
  157. package/lib/es/timeline/index.d.ts +1 -2
  158. package/lib/es/timeline/index.js +2 -7
  159. package/lib/es/timeline/item.d.ts +0 -10
  160. package/lib/es/timeline/item.js +3 -41
  161. package/lib/es/typography/base.d.ts +1 -0
  162. package/lib/es/typography/base.js +28 -14
  163. package/lib/es/typography/title.d.ts +2 -0
  164. package/lib/es/typography/title.js +2 -1
  165. package/package.json +8 -9
  166. package/lib/cjs/timeline/context.d.ts +0 -8
  167. package/lib/cjs/timeline/context.js +0 -15
  168. package/lib/es/timeline/context.d.ts +0 -8
  169. package/lib/es/timeline/context.js +0 -3
@@ -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
 
@@ -13,7 +12,7 @@ import '@douyinfe/semi-foundation/lib/es/navigation/navigation.css';
13
12
  import isNullOrUndefined from '@douyinfe/semi-foundation/lib/es/utils/isNullOrUndefined';
14
13
  import SubNavFoundation from '@douyinfe/semi-foundation/lib/es/navigation/subNavFoundation';
15
14
  import { strings, numbers, cssClasses } from '@douyinfe/semi-foundation/lib/es/navigation/constants';
16
- import { IconChevronDown, IconChevronUp, IconChevronRight } from '@douyinfe/semi-icons';
15
+ import { IconChevronDown, IconChevronRight } from '@douyinfe/semi-icons';
17
16
  import NavItem from './Item';
18
17
  import Dropdown from '../dropdown';
19
18
  import NavContext from './nav-context';
@@ -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
@@ -171,25 +156,21 @@ export default class SubNav extends BaseComponent {
171
156
  itemKey,
172
157
  indent,
173
158
  disabled,
174
- level
159
+ level,
160
+ expandIcon
175
161
  } = this.props;
176
162
  const {
163
+ mode,
177
164
  isInSubNav,
178
- prefixCls = cssClasses.PREFIX,
165
+ isCollapsed,
166
+ prefixCls,
179
167
  subNavMotion,
180
168
  limitIndent
181
169
  } = this.context;
182
-
183
- const isFirstLayer = _isUndefined(this.context.mode);
184
-
185
- const mode = this.adapter.getMode();
186
170
  const isOpen = this.adapter.getIsOpen();
187
- const isCollapsed = this.adapter.getIsCollapsed();
188
171
  const titleCls = cls(`${prefixCls}-sub-title`, {
189
172
  [`${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
173
+ [`${prefixCls}-sub-title-disabled`]: disabled
193
174
  });
194
175
  let withTransition = false;
195
176
  let toggleIconType = '';
@@ -206,7 +187,7 @@ export default class SubNav extends BaseComponent {
206
187
  "aria-hidden": true
207
188
  });
208
189
  } else {
209
- toggleIconType = /*#__PURE__*/React.createElement(IconChevronDown, {
190
+ toggleIconType = expandIcon ? expandIcon : /*#__PURE__*/React.createElement(IconChevronDown, {
210
191
  "aria-hidden": true
211
192
  }); // Horizontal mode does not require animation fix#1198
212
193
  // withTransition = true;
@@ -216,7 +197,7 @@ export default class SubNav extends BaseComponent {
216
197
  withTransition = true;
217
198
  }
218
199
 
219
- toggleIconType = /*#__PURE__*/React.createElement(IconChevronDown, {
200
+ toggleIconType = expandIcon ? expandIcon : /*#__PURE__*/React.createElement(IconChevronDown, {
220
201
  "aria-hidden": true
221
202
  });
222
203
  }
@@ -230,7 +211,6 @@ export default class SubNav extends BaseComponent {
230
211
  }
231
212
 
232
213
  const isIconChevronRightShow = !isCollapsed && isInSubNav && mode === strings.MODE_HORIZONTAL || isCollapsed && isInSubNav;
233
- const toggleIconPositionLeft = this.context.toggleIconPosition === strings.TOGGLE_ICON_LEFT;
234
214
  const titleDiv = /*#__PURE__*/React.createElement("div", {
235
215
  role: "menuitem",
236
216
  // to avoid nested horizontal navigation be focused
@@ -242,9 +222,9 @@ export default class SubNav extends BaseComponent {
242
222
  "aria-expanded": isOpen ? 'true' : 'false'
243
223
  }, /*#__PURE__*/React.createElement("div", {
244
224
  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", {
225
+ }, 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
226
  className: `${prefixCls}-item-text`
247
- }, text), !toggleIconPositionLeft && this.renderIcon(toggleIconType, strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-right')));
227
+ }, text), this.context.toggleIconPosition === strings.TOGGLE_ICON_RIGHT && this.renderIcon(toggleIconType, strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-right')));
248
228
  return titleDiv;
249
229
  }
250
230
 
@@ -254,12 +234,12 @@ export default class SubNav extends BaseComponent {
254
234
  maxHeight
255
235
  } = this.props;
256
236
  const {
237
+ isCollapsed,
238
+ mode,
257
239
  subNavMotion,
258
- prefixCls = cssClasses.PREFIX
240
+ prefixCls
259
241
  } = this.context;
260
- const isCollapsed = this.adapter.getIsCollapsed();
261
242
  const isOpen = this.adapter.getIsOpen();
262
- const mode = this.adapter.getMode();
263
243
  const isHorizontal = mode === strings.MODE_HORIZONTAL;
264
244
  const subNavCls = cls(`${prefixCls}-sub`, {
265
245
  [`${prefixCls}-sub-open`]: isOpen,
@@ -288,14 +268,14 @@ export default class SubNav extends BaseComponent {
288
268
  disabled
289
269
  } = this.props;
290
270
  const {
271
+ mode,
291
272
  isInSubNav,
273
+ isCollapsed,
292
274
  subNavCloseDelay,
293
275
  subNavOpenDelay,
294
- prefixCls = cssClasses.PREFIX,
276
+ prefixCls,
295
277
  getPopupContainer
296
278
  } = this.context;
297
- const isCollapsed = this.adapter.getIsCollapsed();
298
- const mode = this.adapter.getMode();
299
279
  const isOpen = this.adapter.getIsOpen();
300
280
  const openKeysIsControlled = this.adapter.getOpenKeysIsControlled();
301
281
  const subNavCls = cls({
@@ -340,10 +320,10 @@ export default class SubNav extends BaseComponent {
340
320
  text
341
321
  } = this.props;
342
322
  const {
343
- prefixCls = cssClasses.PREFIX
323
+ mode,
324
+ isCollapsed,
325
+ prefixCls
344
326
  } = this.context;
345
- const mode = this.adapter.getMode();
346
- const isCollapsed = this.adapter.getIsCollapsed();
347
327
  let titleDiv = this.renderTitleDiv();
348
328
  const subUl = this.renderSubUl(); // When mode=horizontal, it is displayed in Dropdown
349
329
 
@@ -361,11 +341,9 @@ export default class SubNav extends BaseComponent {
361
341
  onMouseEnter: onMouseEnter,
362
342
  onMouseLeave: onMouseLeave,
363
343
  disabled: disabled,
364
- text: text,
365
- mode: mode
344
+ text: text
366
345
  }, /*#__PURE__*/React.createElement(NavContext.Provider, {
367
346
  value: Object.assign(Object.assign({}, this.context), {
368
- mode: mode,
369
347
  isInSubNav: true
370
348
  })
371
349
  }, titleDiv, subUl));
@@ -403,14 +381,6 @@ SubNav.propTypes = {
403
381
  * Nested child elements
404
382
  */
405
383
  children: PropTypes.node,
406
-
407
- /**
408
- * The icon name of the right control switch (on and off status)
409
- */
410
- toggleIcon: PropTypes.oneOfType([PropTypes.any, PropTypes.shape({
411
- open: PropTypes.string,
412
- closed: PropTypes.string
413
- })]),
414
384
  style: PropTypes.object,
415
385
 
416
386
  /**
@@ -426,8 +396,7 @@ SubNav.propTypes = {
426
396
  onMouseLeave: PropTypes.func,
427
397
  // Is it disabled
428
398
  disabled: PropTypes.bool,
429
- level: PropTypes.number,
430
- active: PropTypes.bool
399
+ level: PropTypes.number
431
400
  };
432
401
  SubNav.defaultProps = {
433
402
  level: 0,
@@ -435,15 +404,5 @@ SubNav.defaultProps = {
435
404
  isCollapsed: false,
436
405
  isOpen: false,
437
406
  maxHeight: numbers.DEFAULT_SUBNAV_MAX_HEIGHT,
438
- toggleIcon: {
439
- open: /*#__PURE__*/React.createElement(IconChevronUp, {
440
- "aria-hidden": true
441
- }),
442
- closed: /*#__PURE__*/React.createElement(IconChevronDown, {
443
- "aria-hidden": true
444
- })
445
- },
446
- disabled: false,
447
- active: false
448
- };
449
- SubNav.elementType = 'Nav.Sub';
407
+ disabled: false
408
+ };
@@ -11,7 +11,7 @@ export type { CollapseButtonProps } from './CollapseButton';
11
11
  export type { NavFooterProps } from './Footer';
12
12
  export type { NavHeaderProps } from './Header';
13
13
  export type { NavItemProps } from './Item';
14
- export type { ToggleIcon, SubNavProps } from './SubNav';
14
+ export type { SubNavProps } from './SubNav';
15
15
  export declare type Mode = 'vertical' | 'horizontal';
16
16
  export interface OnSelectedData {
17
17
  itemKey: React.ReactText;
@@ -33,6 +33,7 @@ export interface NavProps extends BaseProps {
33
33
  defaultIsCollapsed?: boolean;
34
34
  defaultOpenKeys?: React.ReactText[];
35
35
  defaultSelectedKeys?: React.ReactText[];
36
+ expandIcon?: React.ReactNode;
36
37
  footer?: React.ReactNode | NavFooterProps;
37
38
  header?: React.ReactNode | NavHeaderProps;
38
39
  isCollapsed?: boolean;
@@ -86,9 +87,11 @@ declare class Nav extends BaseComponent<NavProps, NavState> {
86
87
  static Header: typeof Header;
87
88
  static Footer: typeof Footer;
88
89
  static propTypes: {
90
+ collapseIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
89
91
  defaultOpenKeys: PropTypes.Requireable<NonNullable<string | number>[]>;
90
92
  openKeys: PropTypes.Requireable<NonNullable<string | number>[]>;
91
93
  defaultSelectedKeys: PropTypes.Requireable<NonNullable<string | number>[]>;
94
+ expandIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
92
95
  selectedKeys: PropTypes.Requireable<NonNullable<string | number>[]>;
93
96
  mode: PropTypes.Requireable<string>;
94
97
  onSelect: PropTypes.Requireable<(...args: any[]) => any>;
@@ -168,12 +168,16 @@ class Nav extends BaseComponent {
168
168
  renderItems() {
169
169
  let items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
170
170
  let level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
171
+ const {
172
+ expandIcon
173
+ } = this.props;
171
174
  const finalDom = /*#__PURE__*/React.createElement(React.Fragment, null, items.map((item, idx) => {
172
175
  if (Array.isArray(item.items) && item.items.length) {
173
176
  return /*#__PURE__*/React.createElement(SubNav, Object.assign({
174
177
  key: item.itemKey || String(level) + idx
175
178
  }, item, {
176
- level: level
179
+ level: level,
180
+ expandIcon: expandIcon
177
181
  }), this.renderItems(item.items, level + 1));
178
182
  } else {
179
183
  return /*#__PURE__*/React.createElement(Item, Object.assign({
@@ -340,11 +344,13 @@ Nav.Item = Item;
340
344
  Nav.Header = Header;
341
345
  Nav.Footer = Footer;
342
346
  Nav.propTypes = {
347
+ collapseIcon: PropTypes.node,
343
348
  // Initial expanded SubNav navigation key array
344
349
  defaultOpenKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),
345
350
  openKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),
346
351
  // Initial selected navigation key array
347
352
  defaultSelectedKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),
353
+ expandIcon: PropTypes.node,
348
354
  selectedKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),
349
355
  // Navigation type, now supports vertical, horizontal
350
356
  mode: PropTypes.oneOf([...strings.MODE]),
@@ -69,7 +69,7 @@ export default class Rating extends BaseComponent<RatingProps, RatingState> {
69
69
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
70
70
  onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
71
71
  autoFocus: PropTypes.Requireable<boolean>;
72
- size: PropTypes.Requireable<NonNullable<number | "small" | "default">>;
72
+ size: PropTypes.Requireable<NonNullable<number | "default" | "small">>;
73
73
  tooltips: PropTypes.Requireable<string[]>;
74
74
  id: PropTypes.Requireable<string>;
75
75
  preventScroll: PropTypes.Requireable<boolean>;
@@ -40,7 +40,7 @@ export default class Item extends BaseComponent<RatingItemProps, RatingItemState
40
40
  disabled: PropTypes.Requireable<boolean>;
41
41
  count: PropTypes.Requireable<number>;
42
42
  ariaLabelPrefix: PropTypes.Requireable<string>;
43
- size: PropTypes.Requireable<NonNullable<number | "small" | "default">>;
43
+ size: PropTypes.Requireable<NonNullable<number | "default" | "small">>;
44
44
  'aria-describedby': PropTypes.Requireable<string>;
45
45
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
46
46
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
@@ -271,7 +271,7 @@ declare class Select extends BaseComponent<SelectProps, SelectState> {
271
271
  componentDidMount(): void;
272
272
  componentWillUnmount(): void;
273
273
  componentDidUpdate(prevProps: SelectProps, prevState: SelectState): void;
274
- handleInputChange: (value: string, event: React.KeyboardEvent) => void;
274
+ handleInputChange: (value: string, event: React.ChangeEvent<HTMLInputElement>) => void;
275
275
  renderInput(): JSX.Element;
276
276
  close(): void;
277
277
  open(): void;
@@ -281,6 +281,7 @@ declare class Select extends BaseComponent<SelectProps, SelectState> {
281
281
  focus(): void;
282
282
  onSelect(option: OptionProps, optionIndex: number, e: any): void;
283
283
  onClear(e: React.MouseEvent): void;
284
+ search(value: string, event: React.ChangeEvent<HTMLInputElement>): void;
284
285
  renderEmpty(): JSX.Element;
285
286
  renderLoading(): JSX.Element;
286
287
  renderOption(option: OptionProps, optionIndex: number, style?: React.CSSProperties): any;
@@ -514,6 +514,10 @@ class Select extends BaseComponent {
514
514
  this.foundation.handleClearClick(e);
515
515
  }
516
516
 
517
+ search(value, event) {
518
+ this.handleInputChange(value, event);
519
+ }
520
+
517
521
  renderEmpty() {
518
522
  return /*#__PURE__*/React.createElement(Option, {
519
523
  empty: true,
@@ -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;
@@ -25,9 +25,7 @@ const BasicStep = props => {
25
25
  stepNumber,
26
26
  onClick,
27
27
  onChange,
28
- onKeyDown,
29
- usedInC2D,
30
- direction: direction
28
+ onKeyDown
31
29
  } = props;
32
30
 
33
31
  const renderIcon = () => {
@@ -90,10 +88,7 @@ const BasicStep = props => {
90
88
  [`${prefixCls}-active`]: active,
91
89
  [`${prefixCls}-done`]: done,
92
90
  [`${prefixCls}-hover`]: onChange || props.onClick,
93
- [`${prefixCls}-${status}-hover`]: onChange || props.onClick,
94
- [`${prefixCls}-basic`]: usedInC2D,
95
- [`${prefixCls}-${direction}`]: direction,
96
- [`${prefixCls}-small`]: size === 'small'
91
+ [`${prefixCls}-${status}-hover`]: onChange || props.onClick
97
92
  }, className);
98
93
 
99
94
  const handleClick = e => {
@@ -151,5 +146,4 @@ BasicStep.defaultProps = {
151
146
  status: 'wait',
152
147
  className: ''
153
148
  };
154
- BasicStep.elementType = 'Steps.BasicStep';
155
149
  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;
@@ -92,8 +92,7 @@ const FillStep = props => {
92
92
  [prefixCls]: true,
93
93
  [`${prefixCls}-${status}`]: Boolean(status),
94
94
  [`${prefixCls}-${status}-hover`]: Boolean(status) && (onChange || onClick),
95
- [`${prefixCls}-clickable`]: onClick,
96
- [`${prefixCls}-fill`]: props.usedInC2D
95
+ [`${prefixCls}-clickable`]: onClick
97
96
  }, className),
98
97
  style: style,
99
98
  onClick: e => {
@@ -128,5 +127,4 @@ FillStep.defaultProps = {
128
127
  status: 'wait',
129
128
  className: ''
130
129
  };
131
- FillStep.elementType = 'Steps.FillStep';
132
130
  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,10 +50,10 @@ const Steps = props => {
48
50
  if (index !== current) {
49
51
  onChange(index + initial);
50
52
  }
51
- } : undefined; // Whether colStyle is set has no effect
52
- // return <Col style={colStyle}>{cloneElement(child, { ...childProps })}</Col>;
53
-
54
- return /*#__PURE__*/React.createElement(Col, null, /*#__PURE__*/cloneElement(child, Object.assign({}, childProps)));
53
+ } : undefined;
54
+ return /*#__PURE__*/React.createElement(Col, {
55
+ style: colStyle
56
+ }, /*#__PURE__*/cloneElement(child, Object.assign({}, childProps)));
55
57
  });
56
58
  return content;
57
59
  }, [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>;
@@ -16,9 +16,6 @@ import Step from './step';
16
16
  import FillSteps from './fillSteps';
17
17
  import BasicSteps from './basicSteps';
18
18
  import NavSteps from './navSteps';
19
- import FillStep from './fillStep';
20
- import BasicStep from './basicStep';
21
- import NavStep from './navStep';
22
19
  import Context from './context';
23
20
 
24
21
  class Steps extends Component {
@@ -58,9 +55,6 @@ class Steps extends Component {
58
55
  }
59
56
 
60
57
  Steps.Step = Step;
61
- Steps.FillStep = FillStep;
62
- Steps.BasicStep = BasicStep;
63
- Steps.NavStep = NavStep;
64
58
  Steps.propTypes = {
65
59
  onChange: PropTypes.func,
66
60
  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;
@@ -15,13 +15,10 @@ const NavStep = props => {
15
15
  total,
16
16
  onClick,
17
17
  onKeyDown,
18
- onChange,
19
- size
18
+ onChange
20
19
  } = props;
21
20
  const classString = classnames(prefixCls, {
22
- [`${prefixCls}-active`]: active,
23
- [`${prefixCls}-nav`]: props.usedInC2D,
24
- [`${prefixCls}-small`]: size === 'small'
21
+ [`${prefixCls}-active`]: active
25
22
  }, className);
26
23
 
27
24
  const handleClick = e => {
@@ -71,5 +68,4 @@ NavStep.defaultProps = {
71
68
  active: false,
72
69
  className: ''
73
70
  };
74
- NavStep.elementType = 'Steps.NavStep';
75
71
  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
  childProps.onChange = onChange ? () => {
@@ -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;