@douyinfe/semi-ui 2.8.0-beta.0 → 2.8.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 (321) hide show
  1. package/_base/_story/index.scss +0 -1
  2. package/_base/baseComponent.tsx +2 -1
  3. package/_portal/index.tsx +2 -1
  4. package/anchor/index.tsx +2 -1
  5. package/anchor/link.tsx +2 -1
  6. package/autoComplete/index.tsx +2 -2
  7. package/avatar/interface.ts +2 -2
  8. package/backtop/index.tsx +1 -0
  9. package/badge/index.tsx +4 -2
  10. package/banner/index.tsx +1 -0
  11. package/breadcrumb/bread-context.tsx +2 -2
  12. package/breadcrumb/index.tsx +2 -2
  13. package/breadcrumb/item.tsx +11 -3
  14. package/button/Button.tsx +2 -1
  15. package/button/buttonGroup.tsx +2 -1
  16. package/calendar/_story/Demo.tsx +3 -3
  17. package/card/cardGroup.tsx +1 -0
  18. package/card/index.tsx +1 -0
  19. package/cascader/index.tsx +3 -2
  20. package/cascader/item.tsx +3 -1
  21. package/checkbox/checkbox.tsx +4 -2
  22. package/checkbox/checkboxGroup.tsx +1 -1
  23. package/checkbox/context.ts +3 -3
  24. package/collapse/index.tsx +1 -0
  25. package/collapse/item.tsx +3 -0
  26. package/collapsible/index.tsx +2 -2
  27. package/configProvider/context.tsx +1 -1
  28. package/datePicker/datePicker.tsx +2 -1
  29. package/descriptions/index.tsx +3 -2
  30. package/descriptions/item.tsx +4 -1
  31. package/dist/css/semi.css +1 -1
  32. package/dist/css/semi.min.css +1 -1
  33. package/dist/umd/semi-ui.js +81 -44
  34. package/dist/umd/semi-ui.js.map +1 -1
  35. package/dist/umd/semi-ui.min.js +1 -1
  36. package/dist/umd/semi-ui.min.js.map +1 -1
  37. package/dropdown/context.ts +6 -1
  38. package/dropdown/dropdownItem.tsx +2 -1
  39. package/dropdown/dropdownTitle.tsx +2 -1
  40. package/dropdown/index.tsx +3 -1
  41. package/empty/index.tsx +1 -1
  42. package/form/arrayField.tsx +1 -0
  43. package/form/baseForm.tsx +3 -2
  44. package/form/group.tsx +2 -0
  45. package/form/hoc/withField.tsx +1 -1
  46. package/form/label.tsx +1 -0
  47. package/form/section.tsx +1 -1
  48. package/form/slot.tsx +2 -0
  49. package/grid/col.tsx +3 -1
  50. package/grid/row.tsx +5 -1
  51. package/layout/Sider.tsx +3 -1
  52. package/layout/index.tsx +2 -0
  53. package/layout/layout-context.ts +1 -1
  54. package/lib/cjs/_base/baseComponent.d.ts +2 -1
  55. package/lib/cjs/_portal/index.d.ts +3 -1
  56. package/lib/cjs/anchor/index.d.ts +2 -1
  57. package/lib/cjs/anchor/link.d.ts +3 -2
  58. package/lib/cjs/autoComplete/index.d.ts +2 -2
  59. package/lib/cjs/avatar/avatarGroup.d.ts +1 -1
  60. package/lib/cjs/avatar/interface.d.ts +2 -2
  61. package/lib/cjs/backtop/index.d.ts +1 -0
  62. package/lib/cjs/badge/index.d.ts +4 -2
  63. package/lib/cjs/banner/index.d.ts +2 -1
  64. package/lib/cjs/breadcrumb/bread-context.d.ts +2 -2
  65. package/lib/cjs/breadcrumb/index.d.ts +2 -2
  66. package/lib/cjs/breadcrumb/item.d.ts +15 -3
  67. package/lib/cjs/button/Button.d.ts +2 -1
  68. package/lib/cjs/button/buttonGroup.d.ts +1 -0
  69. package/lib/cjs/calendar/timeCol.d.ts +1 -1
  70. package/lib/cjs/card/cardGroup.d.ts +1 -0
  71. package/lib/cjs/card/index.d.ts +2 -1
  72. package/lib/cjs/cascader/index.d.ts +5 -3
  73. package/lib/cjs/cascader/item.d.ts +3 -1
  74. package/lib/cjs/checkbox/checkbox.d.ts +5 -11
  75. package/lib/cjs/checkbox/checkbox.js +1 -1
  76. package/lib/cjs/checkbox/checkboxGroup.d.ts +1 -1
  77. package/lib/cjs/checkbox/checkboxInner.d.ts +1 -10
  78. package/lib/cjs/checkbox/context.d.ts +3 -3
  79. package/lib/cjs/collapse/index.d.ts +1 -0
  80. package/lib/cjs/collapse/item.d.ts +2 -0
  81. package/lib/cjs/collapsible/index.d.ts +1 -1
  82. package/lib/cjs/configProvider/index.d.ts +1 -1
  83. package/lib/cjs/datePicker/datePicker.d.ts +3 -1
  84. package/lib/cjs/datePicker/insetInput.d.ts +1 -0
  85. package/lib/cjs/descriptions/index.d.ts +3 -2
  86. package/lib/cjs/descriptions/item.d.ts +4 -1
  87. package/lib/cjs/dropdown/context.d.ts +5 -3
  88. package/lib/cjs/dropdown/dropdownItem.d.ts +3 -3
  89. package/lib/cjs/dropdown/dropdownMenu.d.ts +1 -0
  90. package/lib/cjs/dropdown/dropdownTitle.d.ts +3 -3
  91. package/lib/cjs/dropdown/index.d.ts +3 -3
  92. package/lib/cjs/empty/index.d.ts +1 -1
  93. package/lib/cjs/form/arrayField.d.ts +1 -0
  94. package/lib/cjs/form/baseForm.d.ts +1 -1
  95. package/lib/cjs/form/baseForm.js +1 -1
  96. package/lib/cjs/form/group.d.ts +3 -1
  97. package/lib/cjs/form/label.d.ts +1 -0
  98. package/lib/cjs/form/section.d.ts +1 -1
  99. package/lib/cjs/form/slot.js +2 -0
  100. package/lib/cjs/grid/col.d.ts +3 -3
  101. package/lib/cjs/grid/row.d.ts +4 -3
  102. package/lib/cjs/inputNumber/index.d.ts +1 -1
  103. package/lib/cjs/layout/Sider.d.ts +4 -1
  104. package/lib/cjs/layout/index.d.ts +2 -0
  105. package/lib/cjs/list/index.d.ts +1 -0
  106. package/lib/cjs/list/item.d.ts +5 -1
  107. package/lib/cjs/list/item.js +5 -1
  108. package/lib/cjs/modal/Modal.d.ts +1 -0
  109. package/lib/cjs/modal/ModalContent.d.ts +7 -2
  110. package/lib/cjs/modal/confirm.d.ts +5 -0
  111. package/lib/cjs/modal/useModal/index.d.ts +1 -0
  112. package/lib/cjs/navigation/Footer.d.ts +3 -5
  113. package/lib/cjs/navigation/Header.d.ts +3 -5
  114. package/lib/cjs/navigation/Item.d.ts +4 -6
  115. package/lib/cjs/navigation/OpenIconTransition.d.ts +2 -1
  116. package/lib/cjs/navigation/SubNav.d.ts +3 -5
  117. package/lib/cjs/navigation/SubNav.js +2 -2
  118. package/lib/cjs/navigation/SubNavTransition.d.ts +1 -1
  119. package/lib/cjs/navigation/nav-context.d.ts +21 -5
  120. package/lib/cjs/notification/NoticeTransition.d.ts +2 -2
  121. package/lib/cjs/notification/index.d.ts +3 -1
  122. package/lib/cjs/notification/notice.d.ts +3 -1
  123. package/lib/cjs/notification/useNotification/index.d.ts +1 -0
  124. package/lib/cjs/overflowList/intersectionObserver.d.ts +3 -2
  125. package/lib/cjs/pagination/index.d.ts +3 -1
  126. package/lib/cjs/pagination/index.js +15 -11
  127. package/lib/cjs/popconfirm/index.d.ts +4 -2
  128. package/lib/cjs/popover/index.d.ts +3 -1
  129. package/lib/cjs/radio/radio.d.ts +1 -0
  130. package/lib/cjs/radio/radioGroup.d.ts +1 -0
  131. package/lib/cjs/select/index.d.ts +3 -1
  132. package/lib/cjs/sideSheet/SideSheetContent.d.ts +1 -0
  133. package/lib/cjs/sideSheet/SideSheetTransition.d.ts +1 -1
  134. package/lib/cjs/sideSheet/index.d.ts +3 -1
  135. package/lib/cjs/table/Body/ExpandedRow.d.ts +3 -1
  136. package/lib/cjs/table/Body/SectionRow.d.ts +3 -1
  137. package/lib/cjs/table/Table.d.ts +5 -3
  138. package/lib/cjs/table/TableCell.d.ts +5 -3
  139. package/lib/cjs/table/TableHeaderRow.d.ts +3 -1
  140. package/lib/cjs/table/table-context.d.ts +7 -6
  141. package/lib/cjs/tabs/TabPane.d.ts +3 -1
  142. package/lib/cjs/tabs/interface.d.ts +2 -1
  143. package/lib/cjs/tag/group.d.ts +1 -1
  144. package/lib/cjs/timePicker/Combobox.d.ts +1 -0
  145. package/lib/cjs/timeline/index.d.ts +2 -1
  146. package/lib/cjs/timeline/item.d.ts +1 -0
  147. package/lib/cjs/toast/ToastTransition.d.ts +1 -1
  148. package/lib/cjs/toast/index.d.ts +8 -16
  149. package/lib/cjs/toast/toast.d.ts +4 -2
  150. package/lib/cjs/toast/useToast/index.d.ts +1 -0
  151. package/lib/cjs/tooltip/index.d.ts +3 -1
  152. package/lib/cjs/transfer/index.d.ts +3 -3
  153. package/lib/cjs/transfer/index.js +2 -1
  154. package/lib/cjs/tree/index.d.ts +13 -11
  155. package/lib/cjs/tree/nodeList.d.ts +1 -1
  156. package/lib/cjs/tree/treeContext.d.ts +10 -10
  157. package/lib/cjs/tree/treeNode.d.ts +11 -9
  158. package/lib/cjs/tree/treeNode.js +2 -0
  159. package/lib/cjs/treeSelect/index.d.ts +7 -5
  160. package/lib/cjs/typography/copyable.d.ts +1 -1
  161. package/lib/cjs/upload/index.d.ts +2 -2
  162. package/lib/es/_base/baseComponent.d.ts +2 -1
  163. package/lib/es/_portal/index.d.ts +3 -1
  164. package/lib/es/anchor/index.d.ts +2 -1
  165. package/lib/es/anchor/link.d.ts +3 -2
  166. package/lib/es/autoComplete/index.d.ts +2 -2
  167. package/lib/es/avatar/avatarGroup.d.ts +1 -1
  168. package/lib/es/avatar/interface.d.ts +2 -2
  169. package/lib/es/backtop/index.d.ts +1 -0
  170. package/lib/es/badge/index.d.ts +4 -2
  171. package/lib/es/banner/index.d.ts +2 -1
  172. package/lib/es/breadcrumb/bread-context.d.ts +2 -2
  173. package/lib/es/breadcrumb/index.d.ts +2 -2
  174. package/lib/es/breadcrumb/item.d.ts +15 -3
  175. package/lib/es/button/Button.d.ts +2 -1
  176. package/lib/es/button/buttonGroup.d.ts +1 -0
  177. package/lib/es/calendar/timeCol.d.ts +1 -1
  178. package/lib/es/card/cardGroup.d.ts +1 -0
  179. package/lib/es/card/index.d.ts +2 -1
  180. package/lib/es/cascader/index.d.ts +5 -3
  181. package/lib/es/cascader/item.d.ts +3 -1
  182. package/lib/es/checkbox/checkbox.d.ts +5 -11
  183. package/lib/es/checkbox/checkbox.js +1 -1
  184. package/lib/es/checkbox/checkboxGroup.d.ts +1 -1
  185. package/lib/es/checkbox/checkboxInner.d.ts +1 -10
  186. package/lib/es/checkbox/context.d.ts +3 -3
  187. package/lib/es/collapse/index.d.ts +1 -0
  188. package/lib/es/collapse/item.d.ts +2 -0
  189. package/lib/es/collapsible/index.d.ts +1 -1
  190. package/lib/es/configProvider/index.d.ts +1 -1
  191. package/lib/es/datePicker/datePicker.d.ts +3 -1
  192. package/lib/es/datePicker/insetInput.d.ts +1 -0
  193. package/lib/es/descriptions/index.d.ts +3 -2
  194. package/lib/es/descriptions/item.d.ts +4 -1
  195. package/lib/es/dropdown/context.d.ts +5 -3
  196. package/lib/es/dropdown/dropdownItem.d.ts +3 -3
  197. package/lib/es/dropdown/dropdownMenu.d.ts +1 -0
  198. package/lib/es/dropdown/dropdownTitle.d.ts +3 -3
  199. package/lib/es/dropdown/index.d.ts +3 -3
  200. package/lib/es/empty/index.d.ts +1 -1
  201. package/lib/es/form/arrayField.d.ts +1 -0
  202. package/lib/es/form/baseForm.d.ts +1 -1
  203. package/lib/es/form/baseForm.js +1 -1
  204. package/lib/es/form/group.d.ts +3 -1
  205. package/lib/es/form/label.d.ts +1 -0
  206. package/lib/es/form/section.d.ts +1 -1
  207. package/lib/es/form/slot.js +2 -0
  208. package/lib/es/grid/col.d.ts +3 -3
  209. package/lib/es/grid/row.d.ts +4 -3
  210. package/lib/es/inputNumber/index.d.ts +1 -1
  211. package/lib/es/layout/Sider.d.ts +4 -1
  212. package/lib/es/layout/index.d.ts +2 -0
  213. package/lib/es/list/index.d.ts +1 -0
  214. package/lib/es/list/item.d.ts +5 -1
  215. package/lib/es/list/item.js +5 -1
  216. package/lib/es/modal/Modal.d.ts +1 -0
  217. package/lib/es/modal/ModalContent.d.ts +7 -2
  218. package/lib/es/modal/confirm.d.ts +5 -0
  219. package/lib/es/modal/useModal/index.d.ts +1 -0
  220. package/lib/es/navigation/Footer.d.ts +3 -5
  221. package/lib/es/navigation/Header.d.ts +3 -5
  222. package/lib/es/navigation/Item.d.ts +4 -6
  223. package/lib/es/navigation/OpenIconTransition.d.ts +2 -1
  224. package/lib/es/navigation/SubNav.d.ts +3 -5
  225. package/lib/es/navigation/SubNav.js +2 -2
  226. package/lib/es/navigation/SubNavTransition.d.ts +1 -1
  227. package/lib/es/navigation/nav-context.d.ts +21 -5
  228. package/lib/es/notification/NoticeTransition.d.ts +2 -2
  229. package/lib/es/notification/index.d.ts +3 -1
  230. package/lib/es/notification/notice.d.ts +3 -1
  231. package/lib/es/notification/useNotification/index.d.ts +1 -0
  232. package/lib/es/overflowList/intersectionObserver.d.ts +3 -2
  233. package/lib/es/pagination/index.d.ts +3 -1
  234. package/lib/es/pagination/index.js +15 -11
  235. package/lib/es/popconfirm/index.d.ts +4 -2
  236. package/lib/es/popover/index.d.ts +3 -1
  237. package/lib/es/radio/radio.d.ts +1 -0
  238. package/lib/es/radio/radioGroup.d.ts +1 -0
  239. package/lib/es/select/index.d.ts +3 -1
  240. package/lib/es/sideSheet/SideSheetContent.d.ts +1 -0
  241. package/lib/es/sideSheet/SideSheetTransition.d.ts +1 -1
  242. package/lib/es/sideSheet/index.d.ts +3 -1
  243. package/lib/es/table/Body/ExpandedRow.d.ts +3 -1
  244. package/lib/es/table/Body/SectionRow.d.ts +3 -1
  245. package/lib/es/table/Table.d.ts +5 -3
  246. package/lib/es/table/TableCell.d.ts +5 -3
  247. package/lib/es/table/TableHeaderRow.d.ts +3 -1
  248. package/lib/es/table/table-context.d.ts +7 -6
  249. package/lib/es/tabs/TabPane.d.ts +3 -1
  250. package/lib/es/tabs/interface.d.ts +2 -1
  251. package/lib/es/tag/group.d.ts +1 -1
  252. package/lib/es/timePicker/Combobox.d.ts +1 -0
  253. package/lib/es/timeline/index.d.ts +2 -1
  254. package/lib/es/timeline/item.d.ts +1 -0
  255. package/lib/es/toast/ToastTransition.d.ts +1 -1
  256. package/lib/es/toast/index.d.ts +8 -16
  257. package/lib/es/toast/toast.d.ts +4 -2
  258. package/lib/es/toast/useToast/index.d.ts +1 -0
  259. package/lib/es/tooltip/index.d.ts +3 -1
  260. package/lib/es/transfer/index.d.ts +3 -3
  261. package/lib/es/transfer/index.js +3 -1
  262. package/lib/es/tree/index.d.ts +13 -11
  263. package/lib/es/tree/nodeList.d.ts +1 -1
  264. package/lib/es/tree/treeContext.d.ts +10 -10
  265. package/lib/es/tree/treeNode.d.ts +11 -9
  266. package/lib/es/tree/treeNode.js +2 -0
  267. package/lib/es/treeSelect/index.d.ts +7 -5
  268. package/lib/es/typography/copyable.d.ts +1 -1
  269. package/lib/es/upload/index.d.ts +2 -2
  270. package/list/index.tsx +1 -0
  271. package/list/item.tsx +6 -1
  272. package/modal/Modal.tsx +1 -0
  273. package/modal/ModalContent.tsx +9 -3
  274. package/navigation/Footer.tsx +3 -1
  275. package/navigation/Header.tsx +3 -1
  276. package/navigation/Item.tsx +4 -3
  277. package/navigation/OpenIconTransition.tsx +2 -1
  278. package/navigation/SubNav.tsx +4 -3
  279. package/navigation/SubNavTransition.tsx +1 -1
  280. package/navigation/nav-context.ts +22 -1
  281. package/notification/NoticeTransition.tsx +1 -1
  282. package/notification/index.tsx +3 -1
  283. package/notification/notice.tsx +3 -1
  284. package/overflowList/intersectionObserver.tsx +2 -1
  285. package/package.json +11 -11
  286. package/pagination/index.tsx +4 -1
  287. package/popconfirm/index.tsx +3 -1
  288. package/popover/index.tsx +3 -1
  289. package/radio/radio.tsx +1 -0
  290. package/radio/radioGroup.tsx +1 -0
  291. package/select/__test__/select.test.js +16 -0
  292. package/select/index.tsx +2 -1
  293. package/select/utils.tsx +1 -1
  294. package/sideSheet/SideSheetContent.tsx +1 -0
  295. package/sideSheet/SideSheetTransition.tsx +1 -1
  296. package/sideSheet/index.tsx +3 -2
  297. package/slider/index.tsx +1 -1
  298. package/table/Body/ExpandedRow.tsx +3 -1
  299. package/table/Body/SectionRow.tsx +3 -1
  300. package/table/Body/index.tsx +3 -2
  301. package/table/Table.tsx +4 -3
  302. package/table/TableCell.tsx +6 -4
  303. package/table/TableHeaderRow.tsx +3 -1
  304. package/table/table-context.ts +10 -6
  305. package/tabs/TabPane.tsx +2 -0
  306. package/tabs/index.tsx +2 -2
  307. package/tabs/interface.ts +2 -1
  308. package/tag/group.tsx +5 -5
  309. package/timePicker/TimePicker.tsx +1 -1
  310. package/timeline/index.tsx +1 -0
  311. package/timeline/item.tsx +1 -0
  312. package/toast/ToastTransition.tsx +1 -1
  313. package/toast/toast.tsx +3 -1
  314. package/tooltip/index.tsx +2 -1
  315. package/transfer/index.tsx +3 -1
  316. package/tree/index.tsx +12 -11
  317. package/tree/treeContext.tsx +10 -10
  318. package/tree/treeNode.tsx +10 -7
  319. package/treeSelect/index.tsx +5 -4
  320. package/upload/_story/upload.stories.js +2 -3
  321. package/upload/index.tsx +1 -1
@@ -5,7 +5,6 @@ body {
5
5
  color: var(--semi-color-text-0);
6
6
  }
7
7
 
8
-
9
8
  // 给每个组件的 story 区域加个 padding,如果需要更大的 padding 可以在组件内自定义样式
10
9
  .sb-show-main.sb-main-padded > #root {
11
10
  padding: 20px;
@@ -2,7 +2,7 @@
2
2
  * The Semi Foundation / Adapter architecture split was inspired by Material Component For Web. (https://github.com/material-components/material-components-web)
3
3
  * We re-implemented our own code based on the principle and added more functions we need according to actual needs.
4
4
  */
5
- import React, { Component } from 'react';
5
+ import React, { Component, ReactNode } from 'react';
6
6
  import log from '@douyinfe/semi-foundation/utils/log';
7
7
  import { DefaultAdapter } from '@douyinfe/semi-foundation/base/foundation';
8
8
  import { VALIDATE_STATUS } from '@douyinfe/semi-foundation/base/constants';
@@ -15,6 +15,7 @@ export type ValidateStatus = ArrayElement<typeof VALIDATE_STATUS>;
15
15
  export interface BaseProps {
16
16
  style?: React.CSSProperties;
17
17
  className?: string;
18
+ children?: ReactNode | undefined | any;
18
19
  }
19
20
 
20
21
  // eslint-disable-next-line
package/_portal/index.tsx CHANGED
@@ -3,7 +3,7 @@ import { createPortal } from 'react-dom';
3
3
  import { BASE_CLASS_PREFIX } from '@douyinfe/semi-foundation/base/constants';
4
4
  import PropTypes from 'prop-types';
5
5
  import classnames from 'classnames';
6
- import ConfigContext from '../configProvider/context';
6
+ import ConfigContext, { ContextValue } from '../configProvider/context';
7
7
  import '@douyinfe/semi-foundation/_portal/portal.scss';
8
8
 
9
9
  export interface PortalProps {
@@ -37,6 +37,7 @@ class Portal extends PureComponent<PortalProps, PortalState> {
37
37
  };
38
38
 
39
39
  el: HTMLElement;
40
+ context: ContextValue;
40
41
  constructor(props: PortalProps) {
41
42
  super(props);
42
43
  try {
package/anchor/index.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import cls from 'classnames';
3
3
  import PropTypes from 'prop-types';
4
4
  import { cssClasses, strings } from '@douyinfe/semi-foundation/anchor/constants';
@@ -17,6 +17,7 @@ export { LinkProps } from './link';
17
17
  export interface AnchorProps {
18
18
  autoCollapse?: boolean;
19
19
  className?: string;
20
+ children?: ReactNode | undefined;
20
21
  defaultAnchor?: string;
21
22
  getContainer?: () => HTMLElement | Window;
22
23
  maxHeight?: string | number;
package/anchor/link.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import cls from 'classnames';
3
3
  import PropTypes from 'prop-types';
4
4
  import BaseComponent from '../_base/baseComponent';
@@ -13,6 +13,7 @@ export interface LinkProps {
13
13
  href?: string;
14
14
  title?: string | React.ReactNode;
15
15
  className?: string;
16
+ children?: ReactNode | undefined;
16
17
  style?: React.CSSProperties;
17
18
  disabled?: boolean;
18
19
  }
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable @typescript-eslint/ban-types, max-len */
2
- import React from 'react';
2
+ import React, { ReactNode } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import cls from 'classnames';
5
5
  import { isEqual, noop } from 'lodash';
@@ -48,7 +48,7 @@ export interface AutoCompleteProps<T extends AutoCompleteItems> {
48
48
  autoAdjustOverflow?: boolean;
49
49
  autoFocus?: boolean;
50
50
  className?: string;
51
- children?: React.ReactNode;
51
+ children?: ReactNode | undefined;
52
52
  data?: T[];
53
53
  disabled?: boolean;
54
54
  defaultOpen?: boolean;
@@ -22,7 +22,7 @@ export type AvatarColor =
22
22
  | 'yellow';
23
23
 
24
24
  export interface AvatarProps extends BaseProps {
25
- children?: React.ReactNode;
25
+ children?: React.ReactNode | undefined;
26
26
  color?: AvatarColor;
27
27
  shape?: AvatarShape;
28
28
  size?: AvatarSize;
@@ -42,7 +42,7 @@ export type AvatarGroupSize = 'extra-extra-small' | 'extra-small' | 'small' | 'm
42
42
  export type AvatarGroupOverlapFrom = 'start' | 'end';
43
43
 
44
44
  export interface AvatarGroupProps {
45
- children?: React.ReactNode;
45
+ children?: React.ReactNode | undefined;
46
46
  shape?: AvatarGroupShape;
47
47
  size?: AvatarGroupSize;
48
48
  overlapFrom?: AvatarGroupOverlapFrom;
package/backtop/index.tsx CHANGED
@@ -20,6 +20,7 @@ export interface BackTopProps {
20
20
  onClick?: (e: React.MouseEvent) => void;
21
21
  style?: React.CSSProperties;
22
22
  className?: string;
23
+ children?: React.ReactNode | undefined;
23
24
  }
24
25
 
25
26
  export interface BackTopState {
package/badge/index.tsx CHANGED
@@ -2,7 +2,7 @@ import React, { PureComponent } from 'react';
2
2
  import cls from 'classnames';
3
3
  import PropTypes from 'prop-types';
4
4
  import { isNumber, isString } from 'lodash';
5
- import ConfigContext from '../configProvider/context';
5
+ import ConfigContext, { ContextValue } from '../configProvider/context';
6
6
  import { cssClasses, strings } from '@douyinfe/semi-foundation/badge/constants';
7
7
  import '@douyinfe/semi-foundation/badge/badge.scss';
8
8
 
@@ -21,7 +21,7 @@ export interface BadgeProps {
21
21
  overflowCount?: number;
22
22
  style?: React.CSSProperties;
23
23
  className?: string;
24
- children?: React.ReactNode;
24
+ children?: React.ReactNode | undefined;
25
25
  }
26
26
 
27
27
  export default class Badge extends PureComponent<BadgeProps> {
@@ -45,6 +45,8 @@ export default class Badge extends PureComponent<BadgeProps> {
45
45
  className: '',
46
46
  };
47
47
 
48
+ context: ContextValue;
49
+
48
50
  render() {
49
51
  const { direction } = this.context;
50
52
  // DefaultPosition here, static can't get this
package/banner/index.tsx CHANGED
@@ -20,6 +20,7 @@ export type Type = 'info' | 'danger' | 'warning' | 'success';
20
20
  export interface BannerProps {
21
21
  type?: Type;
22
22
  className?: string;
23
+ children?: React.ReactNode | undefined;
23
24
  fullMode?: boolean;
24
25
  title?: React.ReactNode;
25
26
  description?: React.ReactNode;
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
2
  import { showToolTipProps } from './index';
3
3
  import { BreadcrumbItemInfo } from './item';
4
- export interface BreadContextProps {
4
+ export interface BreadContextType {
5
5
  onClick?: (info: BreadcrumbItemInfo, event: React.MouseEvent) => void;
6
6
  showTooltip?: boolean | showToolTipProps;
7
7
  compact?: boolean;
8
8
  separator?: string | React.ReactNode;
9
9
  }
10
10
 
11
- const BreadContext = React.createContext<BreadContextProps>({});
11
+ const BreadContext = React.createContext<BreadContextType>({});
12
12
 
13
13
  export default BreadContext;
@@ -11,7 +11,7 @@ import { noop } from '@douyinfe/semi-foundation/utils/function';
11
11
  import BaseComponent, { BaseProps } from '../_base/baseComponent';
12
12
  import Popover from '../popover';
13
13
  import BreadcrumbItem, { RouteProps, BreadcrumbItemInfo } from './item';
14
- import BreadContext, { BreadContextProps } from './bread-context';
14
+ import BreadContext, { BreadContextType } from './bread-context';
15
15
  import { TooltipProps } from '../tooltip';
16
16
  import { IconMore } from '@douyinfe/semi-icons';
17
17
 
@@ -49,7 +49,7 @@ interface BreadcrumbState {
49
49
  }
50
50
 
51
51
  class Breadcrumb extends BaseComponent<BreadcrumbProps, BreadcrumbState> {
52
- static contextType: React.Context<BreadContextProps> = BreadContext;
52
+ static contextType: React.Context<BreadContextType> = BreadContext;
53
53
 
54
54
  static Item: typeof BreadcrumbItem = BreadcrumbItem;
55
55
 
@@ -5,8 +5,8 @@ import { cssClasses } from '@douyinfe/semi-foundation/breadcrumb/constants';
5
5
  import BreadcrumbItemFoundation, { BreadcrumbItemAdapter, BreadcrumbItemInfo, Route } from '@douyinfe/semi-foundation/breadcrumb/itemFoundation';
6
6
  import BaseComponent, { BaseProps } from '../_base/baseComponent';
7
7
  import { noop } from '@douyinfe/semi-foundation/utils/function';
8
- import BreadContext from './bread-context';
9
- import Typography from '../typography';
8
+ import BreadContext, { BreadContextType } from './bread-context';
9
+ import Typography, { EllipsisPos, ShowTooltip as ShowTooltipType } from '../typography';
10
10
  import { merge, isUndefined, isNull } from 'lodash';
11
11
 
12
12
  const clsPrefix = cssClasses.PREFIX;
@@ -29,6 +29,12 @@ export interface BreadcrumbItemProps extends BaseProps {
29
29
 
30
30
  type BreadcrumbItemState = Record<string, never>;
31
31
 
32
+ interface GetTooltipOptType {
33
+ width: number;
34
+ ellipsisPos: EllipsisPos;
35
+ opts?: ShowTooltipType['opts'];
36
+ }
37
+
32
38
  export default class BreadcrumbItem extends BaseComponent<BreadcrumbItemProps, BreadcrumbItemState> {
33
39
  static isBreadcrumbItem = true;
34
40
  static contextType = BreadContext;
@@ -50,6 +56,8 @@ export default class BreadcrumbItem extends BaseComponent<BreadcrumbItemProps, B
50
56
  shouldRenderSeparator: true
51
57
  };
52
58
 
59
+ context: BreadContextType;
60
+
53
61
  get adapter(): BreadcrumbItemAdapter<BreadcrumbItemProps, BreadcrumbItemState> {
54
62
  return {
55
63
  ...super.adapter,
@@ -129,7 +137,7 @@ export default class BreadcrumbItem extends BaseComponent<BreadcrumbItemProps, B
129
137
  const showTooltip = this.getTooltipOpt();
130
138
  const icon = this.renderIcon();
131
139
  if (Boolean(children) && typeof children === 'string') {
132
- const { opts, ellipsisPos, width } = showTooltip;
140
+ const { opts, ellipsisPos, width } = showTooltip as GetTooltipOptType;
133
141
  return (
134
142
  <Fragment>
135
143
  {icon}
package/button/Button.tsx CHANGED
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable react/destructuring-assignment */
2
- import React, { PureComponent } from 'react';
2
+ import React, { PureComponent, ReactNode } from 'react';
3
3
  import classNames from 'classnames';
4
4
  import PropTypes from 'prop-types';
5
5
  import { cssClasses, strings } from '@douyinfe/semi-foundation/button/constants';
@@ -18,6 +18,7 @@ export interface ButtonProps {
18
18
  id?: string;
19
19
  block?: boolean;
20
20
  circle?: boolean;
21
+ children?: ReactNode | undefined;
21
22
  disabled?: boolean;
22
23
  className?: string;
23
24
  icon?: React.ReactNode;
@@ -15,6 +15,7 @@ export interface ButtonGroupProps extends BaseProps {
15
15
  size?: Size;
16
16
  theme?: Theme;
17
17
  className?: string;
18
+ children?: React.ReactChild;
18
19
  'aria-label'?: React.AriaAttributes['aria-label'];
19
20
  }
20
21
 
@@ -43,7 +44,7 @@ export default class ButtonGroup extends BaseComponent<ButtonGroupProps> {
43
44
  const cls = classNames(`${prefixCls}-group`, className);
44
45
 
45
46
  if (children) {
46
- inner = ((Array.isArray(children) ? children : [children])).map((itm, index) => (
47
+ inner = ((Array.isArray(children) ? children : [children])).map((itm: React.ReactChild, index) => (
47
48
  isValidElement(itm)
48
49
  ? cloneElement(itm, { disabled, size, type, ...itm.props, ...rest, key: index })
49
50
  : itm
@@ -14,7 +14,7 @@ const Demo = () => {
14
14
 
15
15
  </Calendar>
16
16
  </div>
17
- )
18
- }
17
+ );
18
+ };
19
19
 
20
- export default Demo
20
+ export default Demo;
@@ -11,6 +11,7 @@ export type CardGroupType = 'grid';
11
11
  export interface CardGroupProps {
12
12
  /** Card group style class name */
13
13
  className?: string;
14
+ children?: React.ReactNode | undefined;
14
15
  /** Card Spacing */
15
16
  spacing?: number | number[];
16
17
  /** Card group inline style */
package/card/index.tsx CHANGED
@@ -26,6 +26,7 @@ export interface CardProps {
26
26
  bordered?: boolean;
27
27
  /** Style class name */
28
28
  className?: string;
29
+ children?: React.ReactNode | undefined;
29
30
  /** Cover */
30
31
  cover?: ReactNode;
31
32
  /** Additional additions to the right of the title */
@@ -19,7 +19,7 @@ import '@douyinfe/semi-foundation/cascader/cascader.scss';
19
19
  import { IconClear, IconChevronDown } from '@douyinfe/semi-icons';
20
20
  import { findKeysForValues, convertDataToEntities, calcMergeType } from '@douyinfe/semi-foundation/cascader/util';
21
21
  import { calcCheckedKeys, normalizeKeyList, calcDisabledKeys } from '@douyinfe/semi-foundation/tree/treeUtil';
22
- import ConfigContext from '../configProvider/context';
22
+ import ConfigContext, { ContextValue } from '../configProvider/context';
23
23
  import BaseComponent, { ValidateStatus } from '../_base/baseComponent';
24
24
  import Input from '../input/index';
25
25
  import Popover, { PopoverProps } from '../popover/index';
@@ -62,7 +62,7 @@ export interface CascaderProps extends BasicCascaderProps {
62
62
  motion?: Motion;
63
63
  treeData?: Array<CascaderData>;
64
64
  restTagsPopoverProps?: PopoverProps;
65
- children?: ReactNode;
65
+ children?: React.ReactNode | undefined;
66
66
  value?: Value;
67
67
  prefix?: ReactNode;
68
68
  suffix?: ReactNode;
@@ -209,6 +209,7 @@ class Cascader extends BaseComponent<CascaderProps, CascaderState> {
209
209
  optionsRef: React.RefObject<any>;
210
210
  clickOutsideHandler: any;
211
211
  mergeType: string;
212
+ context: ContextValue;
212
213
 
213
214
  constructor(props: CascaderProps) {
214
215
  super(props);
package/cascader/item.tsx CHANGED
@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
4
4
  import { cssClasses, strings } from '@douyinfe/semi-foundation/cascader/constants';
5
5
  import isEnterPress from '@douyinfe/semi-foundation/utils/isEnterPress';
6
6
  import { includes } from 'lodash';
7
- import ConfigContext from '../configProvider/context';
7
+ import ConfigContext, { ContextValue } from '../configProvider/context';
8
8
  import LocaleConsumer from '../locale/localeConsumer';
9
9
  import { IconChevronRight, IconTick } from '@douyinfe/semi-icons';
10
10
  import { Locale } from '../locale/interface';
@@ -85,6 +85,8 @@ export default class Item extends PureComponent<CascaderItemProps> {
85
85
  empty: false,
86
86
  };
87
87
 
88
+ context: ContextValue;
89
+
88
90
  onClick = (e: React.MouseEvent | React.KeyboardEvent, item: Entity | Data) => {
89
91
  const { onItemClick } = this.props;
90
92
  if (item.data.disabled || ('disabled' in item && item.disabled)) {
@@ -7,7 +7,7 @@ import CheckboxFoundation, { CheckboxAdapter, BasicCheckboxEvent, BasicTargetObj
7
7
  import CheckboxInner from './checkboxInner';
8
8
  import BaseComponent from '../_base/baseComponent';
9
9
  import '@douyinfe/semi-foundation/checkbox/checkbox.scss';
10
- import { Context } from './context';
10
+ import { Context, CheckboxContextType } from './context';
11
11
  import { isUndefined, isBoolean, noop } from 'lodash';
12
12
  import { getUuidShort } from '@douyinfe/semi-foundation/utils/uuid';
13
13
  export type CheckboxEvent = BasicCheckboxEvent;
@@ -19,6 +19,7 @@ export interface CheckboxProps extends BaseCheckboxProps {
19
19
  'aria-invalid'?: React.AriaAttributes['aria-invalid'];
20
20
  'aria-labelledby'?: React.AriaAttributes['aria-labelledby'];
21
21
  'aria-required'?: React.AriaAttributes['aria-required'];
22
+ children?: React.ReactNode | undefined;
22
23
  onChange?: (e: CheckboxEvent) => any;
23
24
  // TODO, docs
24
25
  style?: React.CSSProperties;
@@ -71,6 +72,7 @@ class Checkbox extends BaseComponent<CheckboxProps, CheckboxState> {
71
72
  onMouseLeave: noop,
72
73
  };
73
74
  checkboxEntity: CheckboxInner;
75
+ context: CheckboxContextType;
74
76
 
75
77
  get adapter(): CheckboxAdapter<CheckboxProps, CheckboxState> {
76
78
  return {
@@ -120,7 +122,7 @@ class Checkbox extends BaseComponent<CheckboxProps, CheckboxState> {
120
122
  }
121
123
 
122
124
  isInGroup() {
123
- return this.context && this.context.checkboxGroup;
125
+ return Boolean(this.context && this.context.checkboxGroup);
124
126
  }
125
127
 
126
128
  focus() {
@@ -24,7 +24,7 @@ export type CheckboxGroupProps = {
24
24
  options?: any[];
25
25
  value?: any[];
26
26
  onChange?: (value: any[]) => void;
27
- children?: React.ReactNode;
27
+ children?: React.ReactNode | undefined;
28
28
  prefixCls?: string;
29
29
  direction?: CheckboxDirection;
30
30
  style?: React.CSSProperties;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { BasicCheckboxEvent } from '@douyinfe/semi-foundation/checkbox/checkboxFoundation';
3
- type CheckboxContext = {
3
+ type CheckboxContextType = {
4
4
  checkboxGroup?: {
5
5
  onChange: (evt: BasicCheckboxEvent) => void;
6
6
  value: any[];
@@ -10,5 +10,5 @@ type CheckboxContext = {
10
10
  isPureCardType: boolean;
11
11
  };
12
12
  };
13
- const Context = React.createContext<CheckboxContext>({});
14
- export { Context };
13
+ const Context = React.createContext<CheckboxContextType>({});
14
+ export { Context, CheckboxContextType };
@@ -20,6 +20,7 @@ export { CollapsePanelProps } from './item';
20
20
  export interface CollapseReactProps extends CollapseProps{
21
21
  expandIcon?: React.ReactNode;
22
22
  collapseIcon?: React.ReactNode;
23
+ children?: React.ReactNode | undefined;
23
24
  style?: CSSProperties;
24
25
  onChange?: (activeKey: CollapseProps['activeKey'], e: React.MouseEvent) => void;
25
26
  }
package/collapse/item.tsx CHANGED
@@ -12,6 +12,7 @@ export interface CollapsePanelProps {
12
12
  extra?: ReactNode;
13
13
  header?: ReactNode;
14
14
  className?: string;
15
+ children?: React.ReactNode | undefined;
15
16
  reCalcKey?: number | string;
16
17
  style?: CSSProperties;
17
18
  }
@@ -35,6 +36,8 @@ export default class CollapsePanel extends PureComponent<CollapsePanelProps> {
35
36
 
36
37
  private ariaID = getUuidShort({});
37
38
 
39
+ context: CollapseContextType;
40
+
38
41
  renderHeader(active: boolean, expandIconEnable = true) {
39
42
  const {
40
43
  header,
@@ -11,7 +11,7 @@ const ease = 'cubicBezier(.25,.1,.25,1)';
11
11
 
12
12
  export interface CollapsibleProps {
13
13
  motion?: Motion;
14
- children?: React.ReactNode;
14
+ children?: React.ReactNode | undefined;
15
15
  isOpen?: boolean;
16
16
  duration?: number;
17
17
  keepDOM?: boolean;
@@ -72,7 +72,7 @@ const Collapsible = (props: CollapsibleProps) => {
72
72
  return isOpen || !shouldKeepDOM() && !motion ? 'none' : collapseHeight;
73
73
  }, [collapseHeight, motion, isOpen, shouldKeepDOM]);
74
74
 
75
- const renderChildren = (transitionStyle: Record<string, any>) => {
75
+ const renderChildren = (transitionStyle: Record<string, any> | null) => {
76
76
  const transition =
77
77
  transitionStyle && typeof transitionStyle === 'object' ?
78
78
  formatStyle(transitionStyle) :
@@ -11,4 +11,4 @@ export interface ContextValue {
11
11
 
12
12
  const ConfigContext = React.createContext<ContextValue>({});
13
13
 
14
- export default ConfigContext;
14
+ export default ConfigContext;
@@ -6,7 +6,7 @@ import React from 'react';
6
6
  import classnames from 'classnames';
7
7
  import PropTypes from 'prop-types';
8
8
  import { noop, stubFalse, isDate, get, isFunction, isEqual } from 'lodash';
9
- import ConfigContext from '../configProvider/context';
9
+ import ConfigContext, { ContextValue } from '../configProvider/context';
10
10
  import DatePickerFoundation, { DatePickerAdapter, DatePickerFoundationProps, DatePickerFoundationState, DayStatusType, PresetType, Type, RangeType } from '@douyinfe/semi-foundation/datePicker/foundation';
11
11
  import { cssClasses, strings, numbers } from '@douyinfe/semi-foundation/datePicker/constants';
12
12
  import { strings as popoverStrings, numbers as popoverNumbers } from '@douyinfe/semi-foundation/popover/constants';
@@ -175,6 +175,7 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
175
175
  _mounted: boolean;
176
176
 
177
177
  foundation: DatePickerFoundation;
178
+ context: ContextValue;
178
179
 
179
180
  constructor(props: DatePickerProps) {
180
181
  super(props);
@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
4
4
  import { strings, cssClasses } from '@douyinfe/semi-foundation/descriptions/constants';
5
5
  import '@douyinfe/semi-foundation/descriptions/descriptions.scss';
6
6
  import { isPlainObject } from 'lodash';
7
- import DescriptionsContext, { DescriptionsAlign } from './descriptions-context';
7
+ import DescriptionsContext, { DescriptionsAlign, DescriptionsContextValue } from './descriptions-context';
8
8
  import Item from './item';
9
9
 
10
10
  export { DescriptionsItemProps } from './item';
@@ -21,12 +21,13 @@ export interface DescriptionsProps {
21
21
  size?: DescriptionsSize;
22
22
  style?: React.CSSProperties;
23
23
  className?: string;
24
+ children?: React.ReactNode | undefined;
24
25
  data?: Data[];
25
26
  }
26
27
 
27
28
  const prefixCls = cssClasses.PREFIX;
28
29
 
29
- class Descriptions extends PureComponent<DescriptionsProps > {
30
+ class Descriptions extends PureComponent<DescriptionsProps> {
30
31
  static Item = Item;
31
32
 
32
33
  static contextType = DescriptionsContext;
@@ -2,11 +2,12 @@ import React, { PureComponent } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { cssClasses } from '@douyinfe/semi-foundation/descriptions/constants';
4
4
  import '@douyinfe/semi-foundation/descriptions/descriptions.scss';
5
- import DescriptionsContext from './descriptions-context';
5
+ import DescriptionsContext, { DescriptionsContextValue } from './descriptions-context';
6
6
 
7
7
  export interface DescriptionsItemProps {
8
8
  hidden?: boolean;
9
9
  className?: string;
10
+ children?: React.ReactNode | undefined | (() => React.ReactNode);
10
11
  style?: React.CSSProperties;
11
12
  itemKey: string | number;
12
13
  }
@@ -25,6 +26,8 @@ export default class Item extends PureComponent<DescriptionsItemProps> {
25
26
 
26
27
  static contextType = DescriptionsContext;
27
28
 
29
+ context: DescriptionsContextValue;
30
+
28
31
  render() {
29
32
  const { itemKey, hidden, className, style, children } = this.props;
30
33
  const { align } = this.context;
package/dist/css/semi.css CHANGED
@@ -16799,7 +16799,7 @@ body[theme-mode=dark], body .semi-always-dark {
16799
16799
  flex-direction: column;
16800
16800
  }
16801
16801
  .semi-tabs-bar-extra {
16802
- padding: 0 5px;
16802
+ padding: 0px 5px;
16803
16803
  }
16804
16804
  .semi-tabs-bar .semi-tabs-tab {
16805
16805
  font-size: 14px;