@douyinfe/semi-ui 2.22.0-alpha.0 → 2.22.0-beta.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 (363) hide show
  1. package/dist/css/semi.css +450 -38
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +5068 -6354
  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/_base/baseComponent.js +3 -0
  8. package/lib/cjs/_cssAnimation/index.d.ts +39 -0
  9. package/lib/cjs/_cssAnimation/index.js +133 -0
  10. package/lib/cjs/anchor/index.d.ts +2 -2
  11. package/lib/cjs/anchor/link.d.ts +1 -1
  12. package/lib/cjs/autoComplete/index.d.ts +6 -7
  13. package/lib/cjs/autoComplete/option.d.ts +1 -1
  14. package/lib/cjs/banner/index.d.ts +2 -2
  15. package/lib/cjs/breadcrumb/index.d.ts +3 -3
  16. package/lib/cjs/breadcrumb/item.d.ts +3 -3
  17. package/lib/cjs/button/index.d.ts +2 -2
  18. package/lib/cjs/calendar/dayCalendar.d.ts +2 -2
  19. package/lib/cjs/calendar/index.d.ts +2 -2
  20. package/lib/cjs/calendar/monthCalendar.d.ts +2 -2
  21. package/lib/cjs/calendar/rangeCalendar.d.ts +2 -2
  22. package/lib/cjs/calendar/weekCalendar.d.ts +2 -2
  23. package/lib/cjs/card/cardGroup.d.ts +1 -1
  24. package/lib/cjs/carousel/index.d.ts +1 -1
  25. package/lib/cjs/cascader/index.d.ts +7 -8
  26. package/lib/cjs/cascader/index.js +8 -6
  27. package/lib/cjs/checkbox/checkbox.d.ts +5 -1
  28. package/lib/cjs/checkbox/checkbox.js +24 -0
  29. package/lib/cjs/checkbox/checkboxGroup.js +2 -2
  30. package/lib/cjs/checkbox/context.d.ts +1 -2
  31. package/lib/cjs/collapse/collapse-context.d.ts +1 -2
  32. package/lib/cjs/collapse/index.d.ts +3 -3
  33. package/lib/cjs/collapse/item.d.ts +2 -2
  34. package/lib/cjs/collapsible/index.d.ts +32 -19
  35. package/lib/cjs/collapsible/index.js +157 -121
  36. package/lib/cjs/configProvider/index.d.ts +1 -1
  37. package/lib/cjs/datePicker/dateInput.d.ts +3 -3
  38. package/lib/cjs/datePicker/datePicker.d.ts +10 -7
  39. package/lib/cjs/datePicker/datePicker.js +11 -13
  40. package/lib/cjs/datePicker/month.d.ts +1 -1
  41. package/lib/cjs/datePicker/month.js +5 -1
  42. package/lib/cjs/datePicker/monthsGrid.d.ts +6 -5
  43. package/lib/cjs/datePicker/monthsGrid.js +9 -26
  44. package/lib/cjs/datePicker/yearAndMonth.js +13 -8
  45. package/lib/cjs/descriptions/index.d.ts +1 -1
  46. package/lib/cjs/dropdown/dropdownItem.d.ts +2 -1
  47. package/lib/cjs/dropdown/dropdownItem.js +3 -1
  48. package/lib/cjs/dropdown/dropdownMenu.d.ts +1 -0
  49. package/lib/cjs/dropdown/index.d.ts +5 -5
  50. package/lib/cjs/form/baseForm.d.ts +6 -4
  51. package/lib/cjs/form/errorMessage.d.ts +1 -1
  52. package/lib/cjs/form/field.d.ts +3 -1
  53. package/lib/cjs/form/label.d.ts +1 -1
  54. package/lib/cjs/grid/col.d.ts +6 -6
  55. package/lib/cjs/grid/row.d.ts +1 -1
  56. package/lib/cjs/iconButton/index.d.ts +2 -2
  57. package/lib/cjs/image/image.d.ts +4 -4
  58. package/lib/cjs/image/preview.d.ts +2 -1
  59. package/lib/cjs/image/previewImage.d.ts +1 -1
  60. package/lib/cjs/image/previewImage.js +8 -5
  61. package/lib/cjs/image/previewInner.d.ts +1 -1
  62. package/lib/cjs/image/previewInner.js +3 -3
  63. package/lib/cjs/index.d.ts +1 -0
  64. package/lib/cjs/index.js +8 -0
  65. package/lib/cjs/input/index.d.ts +1 -0
  66. package/lib/cjs/input/textarea.js +1 -1
  67. package/lib/cjs/inputNumber/index.d.ts +2 -2
  68. package/lib/cjs/locale/source/ro.d.ts +3 -3
  69. package/lib/cjs/modal/Modal.d.ts +6 -6
  70. package/lib/cjs/modal/Modal.js +80 -56
  71. package/lib/cjs/modal/ModalContent.js +6 -5
  72. package/lib/cjs/modal/confirm.d.ts +10 -10
  73. package/lib/cjs/modal/confirm.js +1 -15
  74. package/lib/cjs/modal/useModal/HookModal.d.ts +0 -2
  75. package/lib/cjs/modal/useModal/HookModal.js +6 -18
  76. package/lib/cjs/navigation/Footer.d.ts +1 -1
  77. package/lib/cjs/navigation/Header.d.ts +3 -3
  78. package/lib/cjs/navigation/Item.d.ts +4 -4
  79. package/lib/cjs/navigation/Item.js +11 -5
  80. package/lib/cjs/navigation/OpenIconTransition.d.ts +1 -15
  81. package/lib/cjs/navigation/OpenIconTransition.js +1 -82
  82. package/lib/cjs/navigation/SubNav.d.ts +4 -4
  83. package/lib/cjs/navigation/SubNav.js +43 -27
  84. package/lib/cjs/navigation/index.d.ts +8 -11
  85. package/lib/cjs/notification/index.d.ts +0 -1
  86. package/lib/cjs/notification/index.js +25 -15
  87. package/lib/cjs/notification/notice.d.ts +3 -1
  88. package/lib/cjs/notification/notice.js +3 -1
  89. package/lib/cjs/popconfirm/index.d.ts +4 -5
  90. package/lib/cjs/popover/index.d.ts +7 -7
  91. package/lib/cjs/popover/index.js +1 -1
  92. package/lib/cjs/progress/index.d.ts +4 -4
  93. package/lib/cjs/rating/index.d.ts +1 -1
  94. package/lib/cjs/rating/item.d.ts +1 -1
  95. package/lib/cjs/scrollList/index.d.ts +1 -1
  96. package/lib/cjs/scrollList/scrollItem.d.ts +3 -3
  97. package/lib/cjs/scrollList/scrollItem.js +2 -2
  98. package/lib/cjs/select/index.d.ts +10 -5
  99. package/lib/cjs/select/index.js +108 -60
  100. package/lib/cjs/select/option.d.ts +1 -1
  101. package/lib/cjs/select/optionGroup.d.ts +1 -1
  102. package/lib/cjs/sideSheet/SideSheetContent.d.ts +8 -0
  103. package/lib/cjs/sideSheet/SideSheetContent.js +10 -6
  104. package/lib/cjs/sideSheet/index.d.ts +4 -4
  105. package/lib/cjs/sideSheet/index.js +69 -39
  106. package/lib/cjs/slider/index.js +2 -2
  107. package/lib/cjs/space/index.d.ts +1 -1
  108. package/lib/cjs/spin/index.d.ts +1 -0
  109. package/lib/cjs/spin/index.js +1 -4
  110. package/lib/cjs/table/Body/BaseRow.d.ts +5 -5
  111. package/lib/cjs/table/Body/ExpandedRow.d.ts +3 -3
  112. package/lib/cjs/table/Body/SectionRow.d.ts +3 -3
  113. package/lib/cjs/table/Column.d.ts +4 -4
  114. package/lib/cjs/table/ColumnShape.d.ts +4 -4
  115. package/lib/cjs/table/ColumnSorter.d.ts +1 -1
  116. package/lib/cjs/table/CustomExpandIcon.d.ts +1 -1
  117. package/lib/cjs/table/CustomExpandIcon.js +13 -5
  118. package/lib/cjs/table/Table.d.ts +15 -15
  119. package/lib/cjs/table/Table.js +20 -1
  120. package/lib/cjs/table/TableCell.d.ts +4 -4
  121. package/lib/cjs/table/TableHeaderRow.d.ts +3 -2
  122. package/lib/cjs/table/TablePagination.d.ts +1 -1
  123. package/lib/cjs/table/index.d.ts +15 -15
  124. package/lib/cjs/table/interface.d.ts +2 -0
  125. package/lib/cjs/tabs/TabPane.d.ts +2 -8
  126. package/lib/cjs/tabs/TabPane.js +40 -38
  127. package/lib/cjs/tabs/index.d.ts +5 -3
  128. package/lib/cjs/tabs/index.js +26 -4
  129. package/lib/cjs/tabs/interface.d.ts +2 -0
  130. package/lib/cjs/tag/group.d.ts +1 -0
  131. package/lib/cjs/tag/group.js +6 -3
  132. package/lib/cjs/tag/index.d.ts +1 -1
  133. package/lib/cjs/tag/index.js +1 -0
  134. package/lib/cjs/tag/interface.d.ts +3 -1
  135. package/lib/cjs/tagInput/index.d.ts +3 -3
  136. package/lib/cjs/timePicker/Combobox.js +4 -8
  137. package/lib/cjs/timePicker/PanelShape.d.ts +2 -2
  138. package/lib/cjs/timePicker/TimePicker.d.ts +11 -11
  139. package/lib/cjs/timePicker/TimePicker.js +3 -1
  140. package/lib/cjs/timePicker/TimeShape.d.ts +1 -1
  141. package/lib/cjs/timePicker/index.d.ts +10 -9
  142. package/lib/cjs/timeline/index.d.ts +1 -1
  143. package/lib/cjs/toast/index.d.ts +2 -4
  144. package/lib/cjs/toast/index.js +29 -14
  145. package/lib/cjs/toast/toast.d.ts +4 -2
  146. package/lib/cjs/toast/toast.js +3 -1
  147. package/lib/cjs/tooltip/index.d.ts +7 -11
  148. package/lib/cjs/tooltip/index.js +30 -39
  149. package/lib/cjs/transfer/index.d.ts +1 -1
  150. package/lib/cjs/tree/autoSizer.d.ts +2 -2
  151. package/lib/cjs/tree/index.d.ts +5 -5
  152. package/lib/cjs/tree/nodeCollapsible.d.ts +11 -0
  153. package/lib/cjs/tree/nodeCollapsible.js +50 -0
  154. package/lib/cjs/tree/nodeList.js +6 -5
  155. package/lib/cjs/tree/treeNode.d.ts +1 -1
  156. package/lib/cjs/treeSelect/index.d.ts +12 -9
  157. package/lib/cjs/treeSelect/index.js +23 -9
  158. package/lib/cjs/trigger/index.d.ts +1 -1
  159. package/lib/cjs/typography/base.d.ts +8 -8
  160. package/lib/cjs/typography/index.d.ts +2 -0
  161. package/lib/cjs/typography/index.js +3 -0
  162. package/lib/cjs/typography/interface.d.ts +2 -0
  163. package/lib/cjs/typography/numeral.d.ts +68 -0
  164. package/lib/cjs/typography/numeral.js +106 -0
  165. package/lib/cjs/typography/paragraph.d.ts +3 -3
  166. package/lib/cjs/typography/text.d.ts +4 -4
  167. package/lib/cjs/typography/title.d.ts +3 -3
  168. package/lib/cjs/upload/fileCard.d.ts +1 -1
  169. package/lib/es/_base/baseComponent.js +3 -0
  170. package/lib/es/_cssAnimation/index.d.ts +39 -0
  171. package/lib/es/_cssAnimation/index.js +122 -0
  172. package/lib/es/anchor/index.d.ts +2 -2
  173. package/lib/es/anchor/link.d.ts +1 -1
  174. package/lib/es/autoComplete/index.d.ts +6 -7
  175. package/lib/es/autoComplete/option.d.ts +1 -1
  176. package/lib/es/banner/index.d.ts +2 -2
  177. package/lib/es/breadcrumb/index.d.ts +3 -3
  178. package/lib/es/breadcrumb/item.d.ts +3 -3
  179. package/lib/es/button/index.d.ts +2 -2
  180. package/lib/es/calendar/dayCalendar.d.ts +2 -2
  181. package/lib/es/calendar/index.d.ts +2 -2
  182. package/lib/es/calendar/monthCalendar.d.ts +2 -2
  183. package/lib/es/calendar/rangeCalendar.d.ts +2 -2
  184. package/lib/es/calendar/weekCalendar.d.ts +2 -2
  185. package/lib/es/card/cardGroup.d.ts +1 -1
  186. package/lib/es/carousel/index.d.ts +1 -1
  187. package/lib/es/cascader/index.d.ts +7 -8
  188. package/lib/es/cascader/index.js +8 -6
  189. package/lib/es/checkbox/checkbox.d.ts +5 -1
  190. package/lib/es/checkbox/checkbox.js +24 -0
  191. package/lib/es/checkbox/checkboxGroup.js +2 -2
  192. package/lib/es/checkbox/context.d.ts +1 -2
  193. package/lib/es/collapse/collapse-context.d.ts +1 -2
  194. package/lib/es/collapse/index.d.ts +3 -3
  195. package/lib/es/collapse/item.d.ts +2 -2
  196. package/lib/es/collapsible/index.d.ts +32 -19
  197. package/lib/es/collapsible/index.js +158 -119
  198. package/lib/es/configProvider/index.d.ts +1 -1
  199. package/lib/es/datePicker/dateInput.d.ts +3 -3
  200. package/lib/es/datePicker/datePicker.d.ts +10 -7
  201. package/lib/es/datePicker/datePicker.js +11 -13
  202. package/lib/es/datePicker/month.d.ts +1 -1
  203. package/lib/es/datePicker/month.js +5 -1
  204. package/lib/es/datePicker/monthsGrid.d.ts +6 -5
  205. package/lib/es/datePicker/monthsGrid.js +9 -26
  206. package/lib/es/datePicker/yearAndMonth.js +13 -8
  207. package/lib/es/descriptions/index.d.ts +1 -1
  208. package/lib/es/dropdown/dropdownItem.d.ts +2 -1
  209. package/lib/es/dropdown/dropdownItem.js +3 -1
  210. package/lib/es/dropdown/dropdownMenu.d.ts +1 -0
  211. package/lib/es/dropdown/index.d.ts +5 -5
  212. package/lib/es/form/baseForm.d.ts +6 -4
  213. package/lib/es/form/errorMessage.d.ts +1 -1
  214. package/lib/es/form/field.d.ts +3 -1
  215. package/lib/es/form/label.d.ts +1 -1
  216. package/lib/es/grid/col.d.ts +6 -6
  217. package/lib/es/grid/row.d.ts +1 -1
  218. package/lib/es/iconButton/index.d.ts +2 -2
  219. package/lib/es/image/image.d.ts +4 -4
  220. package/lib/es/image/preview.d.ts +2 -1
  221. package/lib/es/image/previewImage.d.ts +1 -1
  222. package/lib/es/image/previewImage.js +8 -5
  223. package/lib/es/image/previewInner.d.ts +1 -1
  224. package/lib/es/image/previewInner.js +3 -3
  225. package/lib/es/index.d.ts +1 -0
  226. package/lib/es/index.js +1 -0
  227. package/lib/es/input/index.d.ts +1 -0
  228. package/lib/es/input/textarea.js +1 -1
  229. package/lib/es/inputNumber/index.d.ts +2 -2
  230. package/lib/es/locale/source/ro.d.ts +3 -3
  231. package/lib/es/modal/Modal.d.ts +6 -6
  232. package/lib/es/modal/Modal.js +79 -56
  233. package/lib/es/modal/ModalContent.js +6 -5
  234. package/lib/es/modal/confirm.d.ts +10 -10
  235. package/lib/es/modal/confirm.js +1 -14
  236. package/lib/es/modal/useModal/HookModal.d.ts +0 -2
  237. package/lib/es/modal/useModal/HookModal.js +7 -19
  238. package/lib/es/navigation/Footer.d.ts +1 -1
  239. package/lib/es/navigation/Header.d.ts +3 -3
  240. package/lib/es/navigation/Item.d.ts +4 -4
  241. package/lib/es/navigation/Item.js +11 -5
  242. package/lib/es/navigation/OpenIconTransition.d.ts +1 -15
  243. package/lib/es/navigation/OpenIconTransition.js +1 -66
  244. package/lib/es/navigation/SubNav.d.ts +4 -4
  245. package/lib/es/navigation/SubNav.js +43 -28
  246. package/lib/es/navigation/index.d.ts +8 -11
  247. package/lib/es/notification/index.d.ts +0 -1
  248. package/lib/es/notification/index.js +24 -14
  249. package/lib/es/notification/notice.d.ts +3 -1
  250. package/lib/es/notification/notice.js +3 -1
  251. package/lib/es/popconfirm/index.d.ts +4 -5
  252. package/lib/es/popover/index.d.ts +7 -7
  253. package/lib/es/popover/index.js +1 -1
  254. package/lib/es/progress/index.d.ts +4 -4
  255. package/lib/es/rating/index.d.ts +1 -1
  256. package/lib/es/rating/item.d.ts +1 -1
  257. package/lib/es/scrollList/index.d.ts +1 -1
  258. package/lib/es/scrollList/scrollItem.d.ts +3 -3
  259. package/lib/es/scrollList/scrollItem.js +3 -3
  260. package/lib/es/select/index.d.ts +10 -5
  261. package/lib/es/select/index.js +108 -60
  262. package/lib/es/select/option.d.ts +1 -1
  263. package/lib/es/select/optionGroup.d.ts +1 -1
  264. package/lib/es/sideSheet/SideSheetContent.d.ts +8 -0
  265. package/lib/es/sideSheet/SideSheetContent.js +10 -6
  266. package/lib/es/sideSheet/index.d.ts +4 -4
  267. package/lib/es/sideSheet/index.js +67 -37
  268. package/lib/es/slider/index.js +2 -2
  269. package/lib/es/space/index.d.ts +1 -1
  270. package/lib/es/spin/index.d.ts +1 -0
  271. package/lib/es/spin/index.js +1 -4
  272. package/lib/es/table/Body/BaseRow.d.ts +5 -5
  273. package/lib/es/table/Body/ExpandedRow.d.ts +3 -3
  274. package/lib/es/table/Body/SectionRow.d.ts +3 -3
  275. package/lib/es/table/Column.d.ts +4 -4
  276. package/lib/es/table/ColumnShape.d.ts +4 -4
  277. package/lib/es/table/ColumnSorter.d.ts +1 -1
  278. package/lib/es/table/CustomExpandIcon.d.ts +1 -1
  279. package/lib/es/table/CustomExpandIcon.js +13 -5
  280. package/lib/es/table/Table.d.ts +15 -15
  281. package/lib/es/table/Table.js +18 -1
  282. package/lib/es/table/TableCell.d.ts +4 -4
  283. package/lib/es/table/TableHeaderRow.d.ts +3 -2
  284. package/lib/es/table/TablePagination.d.ts +1 -1
  285. package/lib/es/table/index.d.ts +15 -15
  286. package/lib/es/table/interface.d.ts +2 -0
  287. package/lib/es/tabs/TabPane.d.ts +2 -8
  288. package/lib/es/tabs/TabPane.js +40 -38
  289. package/lib/es/tabs/index.d.ts +5 -3
  290. package/lib/es/tabs/index.js +26 -4
  291. package/lib/es/tabs/interface.d.ts +2 -0
  292. package/lib/es/tag/group.d.ts +1 -0
  293. package/lib/es/tag/group.js +6 -3
  294. package/lib/es/tag/index.d.ts +1 -1
  295. package/lib/es/tag/index.js +1 -0
  296. package/lib/es/tag/interface.d.ts +3 -1
  297. package/lib/es/tagInput/index.d.ts +3 -3
  298. package/lib/es/timePicker/Combobox.js +4 -8
  299. package/lib/es/timePicker/PanelShape.d.ts +2 -2
  300. package/lib/es/timePicker/TimePicker.d.ts +11 -11
  301. package/lib/es/timePicker/TimePicker.js +3 -1
  302. package/lib/es/timePicker/TimeShape.d.ts +1 -1
  303. package/lib/es/timePicker/index.d.ts +10 -9
  304. package/lib/es/timeline/index.d.ts +1 -1
  305. package/lib/es/toast/index.d.ts +2 -4
  306. package/lib/es/toast/index.js +27 -13
  307. package/lib/es/toast/toast.d.ts +4 -2
  308. package/lib/es/toast/toast.js +3 -1
  309. package/lib/es/tooltip/index.d.ts +7 -11
  310. package/lib/es/tooltip/index.js +27 -38
  311. package/lib/es/transfer/index.d.ts +1 -1
  312. package/lib/es/tree/autoSizer.d.ts +2 -2
  313. package/lib/es/tree/index.d.ts +5 -5
  314. package/lib/es/tree/nodeCollapsible.d.ts +11 -0
  315. package/lib/es/tree/nodeCollapsible.js +35 -0
  316. package/lib/es/tree/nodeList.js +6 -5
  317. package/lib/es/tree/treeNode.d.ts +1 -1
  318. package/lib/es/treeSelect/index.d.ts +12 -9
  319. package/lib/es/treeSelect/index.js +22 -8
  320. package/lib/es/trigger/index.d.ts +1 -1
  321. package/lib/es/typography/base.d.ts +8 -8
  322. package/lib/es/typography/index.d.ts +2 -0
  323. package/lib/es/typography/index.js +2 -0
  324. package/lib/es/typography/interface.d.ts +2 -0
  325. package/lib/es/typography/numeral.d.ts +68 -0
  326. package/lib/es/typography/numeral.js +86 -0
  327. package/lib/es/typography/paragraph.d.ts +3 -3
  328. package/lib/es/typography/text.d.ts +4 -4
  329. package/lib/es/typography/title.d.ts +3 -3
  330. package/lib/es/upload/fileCard.d.ts +1 -1
  331. package/package.json +7 -8
  332. package/lib/cjs/motions/Rotate.d.ts +0 -23
  333. package/lib/cjs/motions/Rotate.js +0 -76
  334. package/lib/cjs/navigation/SubNavTransition.d.ts +0 -17
  335. package/lib/cjs/navigation/SubNavTransition.js +0 -83
  336. package/lib/cjs/notification/NoticeTransition.d.ts +0 -10
  337. package/lib/cjs/notification/NoticeTransition.js +0 -85
  338. package/lib/cjs/sideSheet/SideSheetTransition.d.ts +0 -12
  339. package/lib/cjs/sideSheet/SideSheetTransition.js +0 -115
  340. package/lib/cjs/tabs/TabPaneTransition.d.ts +0 -4
  341. package/lib/cjs/tabs/TabPaneTransition.js +0 -114
  342. package/lib/cjs/toast/ToastTransition.d.ts +0 -7
  343. package/lib/cjs/toast/ToastTransition.js +0 -66
  344. package/lib/cjs/tooltip/TooltipStyledTransition.d.ts +0 -9
  345. package/lib/cjs/tooltip/TooltipStyledTransition.js +0 -52
  346. package/lib/cjs/tree/collapse.d.ts +0 -29
  347. package/lib/cjs/tree/collapse.js +0 -155
  348. package/lib/es/motions/Rotate.d.ts +0 -23
  349. package/lib/es/motions/Rotate.js +0 -60
  350. package/lib/es/navigation/SubNavTransition.d.ts +0 -17
  351. package/lib/es/navigation/SubNavTransition.js +0 -66
  352. package/lib/es/notification/NoticeTransition.d.ts +0 -10
  353. package/lib/es/notification/NoticeTransition.js +0 -74
  354. package/lib/es/sideSheet/SideSheetTransition.d.ts +0 -12
  355. package/lib/es/sideSheet/SideSheetTransition.js +0 -102
  356. package/lib/es/tabs/TabPaneTransition.d.ts +0 -4
  357. package/lib/es/tabs/TabPaneTransition.js +0 -103
  358. package/lib/es/toast/ToastTransition.d.ts +0 -7
  359. package/lib/es/toast/ToastTransition.js +0 -55
  360. package/lib/es/tooltip/TooltipStyledTransition.d.ts +0 -9
  361. package/lib/es/tooltip/TooltipStyledTransition.js +0 -38
  362. package/lib/es/tree/collapse.d.ts +0 -29
  363. package/lib/es/tree/collapse.js +0 -136
@@ -17,9 +17,9 @@ export default class CollapsePanel extends PureComponent<CollapsePanelProps> {
17
17
  static propTypes: {
18
18
  itemKey: PropTypes.Requireable<string>;
19
19
  extra: PropTypes.Requireable<PropTypes.ReactNodeLike>;
20
- header: PropTypes.Requireable<PropTypes.ReactNodeLike>;
20
+ header: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
21
21
  className: PropTypes.Requireable<string>;
22
- reCalcKey: PropTypes.Requireable<string | number>;
22
+ reCalcKey: PropTypes.Requireable<NonNullable<string | number>>;
23
23
  showArrow: PropTypes.Requireable<boolean>;
24
24
  disabled: PropTypes.Requireable<boolean>;
25
25
  };
@@ -1,8 +1,10 @@
1
- import PropTypes from 'prop-types';
2
1
  import React from 'react';
3
- import { Motion } from '../_base/base';
4
- export interface CollapsibleProps {
5
- motion?: Motion;
2
+ import type { CollapsibleAdapter, CollapsibleFoundationProps, CollapsibleFoundationState } from '@douyinfe/semi-foundation/lib/es/collapsible/foundation';
3
+ import CollapsibleFoundation from '@douyinfe/semi-foundation/lib/es/collapsible/foundation';
4
+ import BaseComponent from "../_base/baseComponent";
5
+ import '@douyinfe/semi-foundation/lib/es/collapsible/collapsible.css';
6
+ interface CollapsibleProps extends CollapsibleFoundationProps {
7
+ motion?: boolean;
6
8
  children?: React.ReactNode;
7
9
  isOpen?: boolean;
8
10
  duration?: number;
@@ -12,26 +14,37 @@ export interface CollapsibleProps {
12
14
  collapseHeight?: number;
13
15
  reCalcKey?: number | string;
14
16
  id?: string;
17
+ onMotionEnd?: () => void;
15
18
  }
16
- declare const Collapsible: {
17
- (props: CollapsibleProps): JSX.Element;
18
- propType: {
19
- motion: PropTypes.Requireable<boolean | object>;
20
- children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
21
- isOpen: PropTypes.Requireable<boolean>;
22
- duration: PropTypes.Requireable<number>;
23
- keepDOM: PropTypes.Requireable<boolean>;
24
- collapseHeight: PropTypes.Requireable<number>;
25
- style: PropTypes.Requireable<object>;
26
- className: PropTypes.Requireable<string>;
27
- reCalcKey: PropTypes.Requireable<string | number>;
28
- };
29
- defaultProps: {
19
+ interface CollapsibleState extends CollapsibleFoundationState {
20
+ domInRenderTree: boolean;
21
+ domHeight: number;
22
+ visible: boolean;
23
+ isTransitioning: boolean;
24
+ }
25
+ declare class Collapsible extends BaseComponent<CollapsibleProps, CollapsibleState> {
26
+ static defaultProps: {
30
27
  isOpen: boolean;
31
28
  duration: number;
32
29
  motion: boolean;
33
30
  keepDOM: boolean;
34
31
  collapseHeight: number;
32
+ fade: boolean;
35
33
  };
36
- };
34
+ foundation: CollapsibleFoundation;
35
+ private domRef;
36
+ private resizeObserver;
37
+ constructor(props: CollapsibleProps);
38
+ get adapter(): CollapsibleAdapter<CollapsibleProps, CollapsibleState>;
39
+ static getEntryInfo: (entry: ResizeObserverEntry) => {
40
+ isShown: boolean;
41
+ height: number;
42
+ };
43
+ componentDidMount(): void;
44
+ componentDidUpdate(prevProps: Readonly<CollapsibleProps>, prevState: Readonly<CollapsibleState>, snapshot?: any): void;
45
+ componentWillUnmount(): void;
46
+ handleResize: (entryList: ResizeObserverEntry[]) => void;
47
+ isChildrenInRenderTree: () => boolean;
48
+ render(): JSX.Element;
49
+ }
37
50
  export default Collapsible;
@@ -1,140 +1,186 @@
1
- // @ts-ignore currently no type definition for @douyinfe/semi-animation-react
2
- import { Transition } from '@douyinfe/semi-animation-react';
3
- import PropTypes from 'prop-types';
4
- import cls from 'classnames';
5
- import React, { useRef, useState, useCallback, useMemo } from 'react';
1
+ import _isEqual from "lodash/isEqual";
2
+ import React from 'react';
3
+ import CollapsibleFoundation from '@douyinfe/semi-foundation/lib/es/collapsible/foundation';
4
+ import BaseComponent from "../_base/baseComponent";
5
+ import PropTypes from "prop-types";
6
+ import cls from "classnames";
6
7
  import { cssClasses } from '@douyinfe/semi-foundation/lib/es/collapsible/constants';
7
- import getMotionObjFromProps from '@douyinfe/semi-foundation/lib/es/utils/getMotionObjFromProps';
8
- const ease = 'cubicBezier(.25,.1,.25,1)';
9
-
10
- const Collapsible = props => {
11
- const {
12
- motion,
13
- children,
14
- isOpen,
15
- duration,
16
- keepDOM,
17
- collapseHeight,
18
- style,
19
- className,
20
- reCalcKey,
21
- id
22
- } = props;
23
- const ref = useRef(null);
24
- const [maxHeight, setMaxHeight] = useState(0);
25
- const [open, setOpen] = useState(props.isOpen);
26
- const [isFirst, setIsFirst] = useState(true);
27
- const [transitionImmediate, setTransitionImmediate] = useState(open && isFirst);
28
- const [left, setLeft] = useState(!props.isOpen);
29
-
30
- if (isOpen !== open) {
31
- setOpen(isOpen);
32
-
33
- if (isFirst) {
34
- setIsFirst(false);
35
- setTransitionImmediate(false);
36
- }
37
-
38
- isOpen && setLeft(!isOpen);
39
- }
8
+ import '@douyinfe/semi-foundation/lib/es/collapsible/collapsible.css';
40
9
 
41
- const setHeight = useCallback(node => {
42
- const currHeight = node && node.scrollHeight;
10
+ class Collapsible extends BaseComponent {
11
+ constructor(props) {
12
+ super(props);
13
+ this.domRef = /*#__PURE__*/React.createRef();
43
14
 
44
- if (currHeight && maxHeight !== currHeight) {
45
- setMaxHeight(currHeight);
46
- } // eslint-disable-next-line react-hooks/exhaustive-deps
15
+ this.handleResize = entryList => {
16
+ const entry = entryList[0];
47
17
 
48
- }, [left, reCalcKey, maxHeight]);
18
+ if (entry) {
19
+ const entryInfo = Collapsible.getEntryInfo(entry);
20
+ this.foundation.updateDOMHeight(entryInfo.height);
21
+ this.foundation.updateDOMInRenderTree(entryInfo.isShown);
22
+ }
23
+ };
49
24
 
50
- const resetHeight = () => {
51
- ref.current.style.maxHeight = 'none';
52
- };
25
+ this.isChildrenInRenderTree = () => {
26
+ if (this.domRef.current) {
27
+ return this.domRef.current.offsetHeight > 0;
28
+ } else {
29
+ return false;
30
+ }
31
+ };
53
32
 
54
- const formatStyle = _ref => {
55
- let {
56
- maxHeight: maxHeightInTransitionStyle
57
- } = _ref;
58
- return {
59
- maxHeight: maxHeightInTransitionStyle
33
+ this.state = {
34
+ domInRenderTree: false,
35
+ domHeight: 0,
36
+ visible: this.props.isOpen,
37
+ isTransitioning: false
60
38
  };
61
- };
39
+ this.foundation = new CollapsibleFoundation(this.adapter);
40
+ }
41
+
42
+ get adapter() {
43
+ return Object.assign(Object.assign({}, super.adapter), {
44
+ setDOMInRenderTree: domInRenderTree => {
45
+ if (this.state.domInRenderTree !== domInRenderTree) {
46
+ this.setState({
47
+ domInRenderTree
48
+ });
49
+ }
50
+ },
51
+ setDOMHeight: domHeight => {
52
+ if (this.state.domHeight !== domHeight) {
53
+ this.setState({
54
+ domHeight
55
+ });
56
+ }
57
+ },
58
+ setVisible: visible => {
59
+ if (this.state.visible !== visible) {
60
+ this.setState({
61
+ visible
62
+ });
63
+ }
64
+ },
65
+ setIsTransitioning: isTransitioning => {
66
+ if (this.state.isTransitioning !== isTransitioning) {
67
+ this.setState({
68
+ isTransitioning
69
+ });
70
+ }
71
+ }
72
+ });
73
+ }
62
74
 
63
- const shouldKeepDOM = () => keepDOM || collapseHeight !== 0;
75
+ componentDidMount() {
76
+ super.componentDidMount();
77
+ this.resizeObserver = new ResizeObserver(this.handleResize);
78
+ this.resizeObserver.observe(this.domRef.current);
79
+ const domInRenderTree = this.isChildrenInRenderTree();
80
+ this.foundation.updateDOMInRenderTree(domInRenderTree);
64
81
 
65
- const defaultMaxHeight = useMemo(() => {
66
- return isOpen || !shouldKeepDOM() && !motion ? 'none' : collapseHeight;
67
- }, [collapseHeight, motion, isOpen, shouldKeepDOM]);
82
+ if (domInRenderTree) {
83
+ this.foundation.updateDOMHeight(this.domRef.current.scrollHeight);
84
+ }
85
+ }
68
86
 
69
- const renderChildren = transitionStyle => {
70
- const transition = transitionStyle && typeof transitionStyle === 'object' ? formatStyle(transitionStyle) : {};
71
- const wrapperstyle = Object.assign(Object.assign({
72
- overflow: 'hidden',
73
- maxHeight: defaultMaxHeight
74
- }, style), transition);
87
+ componentDidUpdate(prevProps, prevState, snapshot) {
88
+ const changedPropKeys = Object.keys(this.props).filter(key => !_isEqual(this.props[key], prevProps[key]));
89
+ const changedStateKeys = Object.keys(this.state).filter(key => !_isEqual(this.state[key], prevState[key]));
90
+
91
+ if (changedPropKeys.includes("reCalcKey")) {
92
+ this.foundation.updateDOMHeight(this.domRef.current.scrollHeight);
93
+ }
75
94
 
76
- if (isFirst) {
77
- wrapperstyle.maxHeight = defaultMaxHeight;
95
+ if (changedStateKeys.includes("domInRenderTree") && this.state.domInRenderTree) {
96
+ this.foundation.updateDOMHeight(this.domRef.current.scrollHeight);
78
97
  }
79
98
 
80
- const wrapperCls = cls("".concat(cssClasses.PREFIX, "-wrapper"), className);
99
+ if (changedPropKeys.includes("isOpen")) {
100
+ if (this.props.isOpen || !this.props.motion) {
101
+ this.foundation.updateVisible(this.props.isOpen);
102
+ }
103
+ }
104
+
105
+ if (this.props.motion && prevProps.isOpen !== this.props.isOpen) {
106
+ this.foundation.updateIsTransitioning(true);
107
+ }
108
+ }
109
+
110
+ componentWillUnmount() {
111
+ super.componentWillUnmount();
112
+ this.resizeObserver.disconnect();
113
+ }
114
+
115
+ render() {
116
+ const wrapperStyle = Object.assign({
117
+ overflow: 'hidden',
118
+ height: this.props.isOpen ? this.state.domHeight : this.props.collapseHeight,
119
+ opacity: this.props.isOpen || !this.props.fade || this.props.collapseHeight !== 0 ? 1 : 0,
120
+ transitionDuration: "".concat(this.props.motion && this.state.isTransitioning ? this.props.duration : 0, "ms")
121
+ }, this.props.style);
122
+ const wrapperCls = cls("".concat(cssClasses.PREFIX, "-wrapper"), {
123
+ ["".concat(cssClasses.PREFIX, "-transition")]: this.props.motion && this.state.isTransitioning
124
+ }, this.props.className);
81
125
  return /*#__PURE__*/React.createElement("div", {
82
- style: wrapperstyle,
83
126
  className: wrapperCls,
84
- ref: ref
127
+ style: wrapperStyle,
128
+ onTransitionEnd: () => {
129
+ if (!this.props.isOpen) {
130
+ this.foundation.updateVisible(false);
131
+ }
132
+
133
+ this.foundation.updateIsTransitioning(false);
134
+ this.props.onMotionEnd();
135
+ }
85
136
  }, /*#__PURE__*/React.createElement("div", {
86
- ref: setHeight,
137
+ "x-semi-prop": "children",
138
+ ref: this.domRef,
87
139
  style: {
88
140
  overflow: 'hidden'
89
141
  },
90
- id: id,
91
- "x-semi-prop": "children"
92
- }, children));
93
- };
142
+ id: this.props.id
143
+ }, (this.props.keepDOM || this.props.collapseHeight !== 0 || this.state.visible || this.props.isOpen) && this.props.children));
144
+ }
94
145
 
95
- const didLeave = () => {
96
- setLeft(true);
97
- !shouldKeepDOM() && setMaxHeight(collapseHeight);
98
- };
146
+ }
99
147
 
100
- const renderContent = () => {
101
- if (left && !shouldKeepDOM()) {
102
- return null;
103
- }
148
+ Collapsible.defaultProps = {
149
+ isOpen: false,
150
+ duration: 250,
151
+ motion: true,
152
+ keepDOM: false,
153
+ collapseHeight: 0,
154
+ fade: false
155
+ };
104
156
 
105
- const mergedMotion = getMotionObjFromProps({
106
- didEnter: resetHeight,
107
- didLeave,
108
- motion
109
- });
110
- return /*#__PURE__*/React.createElement(Transition, Object.assign({
111
- state: isOpen ? 'enter' : 'leave',
112
- immediate: transitionImmediate,
113
- from: {
114
- maxHeight: 0
115
- },
116
- enter: {
117
- maxHeight: {
118
- val: maxHeight,
119
- easing: ease,
120
- duration
121
- }
122
- },
123
- leave: {
124
- maxHeight: {
125
- val: collapseHeight,
126
- easing: ease,
127
- duration
128
- }
129
- }
130
- }, mergedMotion), transitionStyle => renderChildren(motion ? transitionStyle : null));
131
- };
157
+ Collapsible.getEntryInfo = entry => {
158
+ //judge whether parent or self display none
159
+ let inRenderTree;
160
+
161
+ if (entry.borderBoxSize) {
162
+ inRenderTree = !(entry.borderBoxSize[0].blockSize === 0 && entry.borderBoxSize[0].inlineSize === 0);
163
+ } else {
164
+ inRenderTree = !(entry.contentRect.height === 0 && entry.contentRect.width === 0);
165
+ }
166
+
167
+ let height = 0;
168
+
169
+ if (entry.borderBoxSize) {
170
+ height = Math.ceil(entry.borderBoxSize[0].blockSize);
171
+ } else {
172
+ const target = entry.target;
173
+ height = target.clientHeight;
174
+ }
132
175
 
133
- return renderContent();
176
+ return {
177
+ isShown: inRenderTree,
178
+ height
179
+ };
134
180
  };
135
181
 
136
- Collapsible.propType = {
137
- motion: PropTypes.oneOfType([PropTypes.bool, PropTypes.func, PropTypes.object]),
182
+ Collapsible.propTypes = {
183
+ motion: PropTypes.bool,
138
184
  children: PropTypes.node,
139
185
  isOpen: PropTypes.bool,
140
186
  duration: PropTypes.number,
@@ -144,11 +190,4 @@ Collapsible.propType = {
144
190
  className: PropTypes.string,
145
191
  reCalcKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number])
146
192
  };
147
- Collapsible.defaultProps = {
148
- isOpen: false,
149
- duration: 250,
150
- motion: true,
151
- keepDOM: false,
152
- collapseHeight: 0
153
- };
154
193
  export default Collapsible;
@@ -6,7 +6,7 @@ export interface ConfigProviderProps extends ContextValue {
6
6
  export default class ConfigProvider extends React.Component<ConfigProviderProps> {
7
7
  static propTypes: {
8
8
  locale: PropTypes.Requireable<object>;
9
- timeZone: PropTypes.Requireable<string | number>;
9
+ timeZone: PropTypes.Requireable<NonNullable<string | number>>;
10
10
  getPopupContainer: PropTypes.Requireable<(...args: any[]) => any>;
11
11
  direction: PropTypes.Requireable<string>;
12
12
  };
@@ -36,14 +36,14 @@ export default class DateInput extends BaseComponent<DateInputProps, {}> {
36
36
  prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
37
37
  prefixCls: PropTypes.Requireable<string>;
38
38
  dateFnsLocale: PropTypes.Validator<object>;
39
- placeholder: PropTypes.Requireable<string | any[]>;
40
- rangeInputFocus: PropTypes.Requireable<string | boolean>;
39
+ placeholder: PropTypes.Requireable<NonNullable<string | any[]>>;
40
+ rangeInputFocus: PropTypes.Requireable<NonNullable<string | boolean>>;
41
41
  rangeInputStartRef: PropTypes.Requireable<object>;
42
42
  rangeInputEndRef: PropTypes.Requireable<object>;
43
43
  rangeSeparator: PropTypes.Requireable<string>;
44
44
  insetInput: PropTypes.Requireable<boolean>;
45
45
  insetInputValue: PropTypes.Requireable<object>;
46
- defaultPickerValue: PropTypes.Requireable<string | number | object>;
46
+ defaultPickerValue: PropTypes.Requireable<NonNullable<string | number | object>>;
47
47
  };
48
48
  static defaultProps: {
49
49
  showClear: boolean;
@@ -9,6 +9,7 @@ import { YearAndMonthProps } from './yearAndMonth';
9
9
  import '@douyinfe/semi-foundation/lib/es/datePicker/datePicker.css';
10
10
  import { Locale } from '../locale/interface';
11
11
  import { TimePickerProps } from '../timePicker/TimePicker';
12
+ import { ScrollItemProps } from '../scrollList/scrollItem';
12
13
  import { InsetInputChangeProps } from '@douyinfe/semi-foundation/lib/es/datePicker/inputFoundation';
13
14
  export interface DatePickerProps extends DatePickerFoundationProps {
14
15
  'aria-describedby'?: React.AriaAttributes['aria-describedby'];
@@ -31,6 +32,7 @@ export interface DatePickerProps extends DatePickerFoundationProps {
31
32
  onPresetClick?: (item: PresetType, e: React.MouseEvent<HTMLDivElement>) => void;
32
33
  locale?: Locale['DatePicker'];
33
34
  dateFnsLocale?: Locale['dateFnsLocale'];
35
+ yearAndMonthOpts?: ScrollItemProps<any>;
34
36
  }
35
37
  export declare type DatePickerState = DatePickerFoundationState;
36
38
  export default class DatePicker extends BaseComponent<DatePickerProps, DatePickerState> {
@@ -44,9 +46,9 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
44
46
  type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "dateTimeRange">;
45
47
  size: PropTypes.Requireable<"default" | "small" | "large">;
46
48
  density: PropTypes.Requireable<"default" | "compact">;
47
- defaultValue: PropTypes.Requireable<string | number | object>;
48
- value: PropTypes.Requireable<string | number | object>;
49
- defaultPickerValue: PropTypes.Requireable<string | number | object>;
49
+ defaultValue: PropTypes.Requireable<NonNullable<string | number | object>>;
50
+ value: PropTypes.Requireable<NonNullable<string | number | object>>;
51
+ defaultPickerValue: PropTypes.Requireable<NonNullable<string | number | object>>;
50
52
  disabledTime: PropTypes.Requireable<(...args: any[]) => any>;
51
53
  disabledTimePicker: PropTypes.Requireable<boolean>;
52
54
  hideDisabledOptions: PropTypes.Requireable<boolean>;
@@ -54,7 +56,7 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
54
56
  disabled: PropTypes.Requireable<boolean>;
55
57
  multiple: PropTypes.Requireable<boolean>;
56
58
  max: PropTypes.Requireable<number>;
57
- placeholder: PropTypes.Requireable<string | any[]>;
59
+ placeholder: PropTypes.Requireable<NonNullable<string | any[]>>;
58
60
  presets: PropTypes.Requireable<any[]>;
59
61
  presetPosition: PropTypes.Requireable<"left" | "top" | "right" | "bottom">;
60
62
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
@@ -66,7 +68,7 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
66
68
  onOpenChange: PropTypes.Requireable<(...args: any[]) => any>;
67
69
  open: PropTypes.Requireable<boolean>;
68
70
  defaultOpen: PropTypes.Requireable<boolean>;
69
- motion: PropTypes.Requireable<boolean | object>;
71
+ motion: PropTypes.Requireable<NonNullable<boolean | object>>;
70
72
  className: PropTypes.Requireable<string>;
71
73
  prefixCls: PropTypes.Requireable<string>;
72
74
  prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
@@ -79,9 +81,9 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
79
81
  onConfirm: PropTypes.Requireable<(...args: any[]) => any>;
80
82
  needConfirm: PropTypes.Requireable<boolean>;
81
83
  inputStyle: PropTypes.Requireable<object>;
82
- timeZone: PropTypes.Requireable<string | number>;
84
+ timeZone: PropTypes.Requireable<NonNullable<string | number>>;
83
85
  triggerRender: PropTypes.Requireable<(...args: any[]) => any>;
84
- stopPropagation: PropTypes.Requireable<string | boolean>;
86
+ stopPropagation: PropTypes.Requireable<NonNullable<string | boolean>>;
85
87
  autoAdjustOverflow: PropTypes.Requireable<boolean>;
86
88
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
87
89
  onFocus: PropTypes.Requireable<(...args: any[]) => any>;
@@ -105,6 +107,7 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
105
107
  onPanelChange: PropTypes.Requireable<(...args: any[]) => any>;
106
108
  rangeSeparator: PropTypes.Requireable<string>;
107
109
  preventScroll: PropTypes.Requireable<boolean>;
110
+ yearAndMonthOpts: PropTypes.Requireable<object>;
108
111
  };
109
112
  static defaultProps: {
110
113
  onChangeWithDateFirst: boolean;
@@ -189,7 +189,8 @@ export default class DatePicker extends BaseComponent {
189
189
  this.renderYearMonthPanel = (locale, localeCode) => {
190
190
  const {
191
191
  density,
192
- presetPosition
192
+ presetPosition,
193
+ yearAndMonthOpts
193
194
  } = this.props;
194
195
  const date = this.state.value[0];
195
196
  let year = 0;
@@ -212,7 +213,8 @@ export default class DatePicker extends BaseComponent {
212
213
  density: density,
213
214
  presetPosition: presetPosition,
214
215
  renderQuickControls: this.renderQuickControls(),
215
- renderDateInput: this.renderDateInput()
216
+ renderDateInput: this.renderDateInput(),
217
+ yearAndMonthOpts: yearAndMonthOpts
216
218
  });
217
219
  };
218
220
 
@@ -237,13 +239,12 @@ export default class DatePicker extends BaseComponent {
237
239
  autoAdjustOverflow,
238
240
  spacing
239
241
  } = this.props;
240
- const mergedMotion = this.foundation.getMergedMotion(motion);
241
242
  return /*#__PURE__*/React.createElement(Popover, {
242
243
  getPopupContainer: getPopupContainer,
243
244
  // wrapWhenSpecial={false}
244
245
  autoAdjustOverflow: autoAdjustOverflow,
245
246
  zIndex: zIndex,
246
- motion: mergedMotion,
247
+ motion: motion,
247
248
  content: this.renderPanel(locale, localeCode, dateFnsLocale),
248
249
  trigger: "custom",
249
250
  position: position,
@@ -261,7 +262,6 @@ export default class DatePicker extends BaseComponent {
261
262
  value: [],
262
263
  cachedSelectedValue: null,
263
264
  prevTimeZone: null,
264
- motionEnd: false,
265
265
  rangeInputFocus: undefined,
266
266
  autofocus: props.autoFocus || this.isRangeType(props.type, props.triggerRender) && (props.open || props.defaultOpen),
267
267
  insetInputValue: null,
@@ -381,9 +381,6 @@ export default class DatePicker extends BaseComponent {
381
381
  },
382
382
  needConfirm: () => ['dateTime', 'dateTimeRange'].includes(this.props.type) && this.props.needConfirm === true,
383
383
  typeIsYearOrMonth: () => ['month', 'year'].includes(this.props.type),
384
- setMotionEnd: motionEnd => this.setState({
385
- motionEnd
386
- }),
387
384
  setRangeInputFocus: rangeInputFocus => {
388
385
  const {
389
386
  preventScroll
@@ -549,11 +546,11 @@ export default class DatePicker extends BaseComponent {
549
546
  timeZone,
550
547
  triggerRender,
551
548
  insetInput,
552
- presetPosition
549
+ presetPosition,
550
+ yearAndMonthOpts
553
551
  } = this.props;
554
552
  const {
555
553
  cachedSelectedValue,
556
- motionEnd,
557
554
  rangeInputFocus
558
555
  } = this.state;
559
556
  const defaultValue = cachedSelectedValue;
@@ -581,7 +578,6 @@ export default class DatePicker extends BaseComponent {
581
578
  startDateOffset: startDateOffset,
582
579
  endDateOffset: endDateOffset,
583
580
  autoSwitchDate: autoSwitchDate,
584
- motionEnd: motionEnd,
585
581
  density: density,
586
582
  rangeInputFocus: rangeInputFocus,
587
583
  setRangeInputFocus: this.handleSetRangeFocus,
@@ -594,7 +590,8 @@ export default class DatePicker extends BaseComponent {
594
590
  insetInput: insetInput,
595
591
  presetPosition: presetPosition,
596
592
  renderQuickControls: this.renderQuickControls(),
597
- renderDateInput: this.renderDateInput()
593
+ renderDateInput: this.renderDateInput(),
594
+ yearAndMonthOpts: yearAndMonthOpts
598
595
  });
599
596
  }
600
597
 
@@ -835,7 +832,8 @@ DatePicker.propTypes = {
835
832
  // Callback function for panel date switching
836
833
  onPanelChange: PropTypes.func,
837
834
  rangeSeparator: PropTypes.string,
838
- preventScroll: PropTypes.bool
835
+ preventScroll: PropTypes.bool,
836
+ yearAndMonthOpts: PropTypes.object
839
837
  };
840
838
  DatePicker.defaultProps = {
841
839
  onChangeWithDateFirst: true,
@@ -31,7 +31,7 @@ export default class Month extends BaseComponent<MonthProps, MonthState> {
31
31
  hoverDay: PropTypes.Requireable<string>;
32
32
  startDateOffset: PropTypes.Requireable<(...args: any[]) => any>;
33
33
  endDateOffset: PropTypes.Requireable<(...args: any[]) => any>;
34
- rangeInputFocus: PropTypes.Requireable<string | boolean>;
34
+ rangeInputFocus: PropTypes.Requireable<NonNullable<string | boolean>>;
35
35
  focusRecordsRef: PropTypes.Requireable<object>;
36
36
  multiple: PropTypes.Requireable<boolean>;
37
37
  };
@@ -65,6 +65,9 @@ export default class Month extends BaseComponent {
65
65
  }
66
66
 
67
67
  getSingleDayStatus(options) {
68
+ const {
69
+ rangeInputFocus
70
+ } = this.props;
68
71
  const {
69
72
  fullDate,
70
73
  todayText,
@@ -75,7 +78,8 @@ export default class Month extends BaseComponent {
75
78
  } = options;
76
79
  const disabledOptions = {
77
80
  rangeStart,
78
- rangeEnd
81
+ rangeEnd,
82
+ rangeInputFocus
79
83
  };
80
84
  const isToday = fullDate === todayText;
81
85
  const isSelected = selected.has(fullDate);
@@ -4,6 +4,7 @@ import MonthsGridFoundation, { MonthInfo, MonthsGridAdapter, MonthsGridDateAdapt
4
4
  import BaseComponent, { BaseProps } from '../_base/baseComponent';
5
5
  import Combobox from '../timePicker/Combobox';
6
6
  import YearAndMonth from './yearAndMonth';
7
+ import { ScrollItemProps } from '../scrollList/scrollItem';
7
8
  export interface MonthsGridProps extends MonthsGridFoundationProps, BaseProps {
8
9
  navPrev?: React.ReactNode;
9
10
  navNext?: React.ReactNode;
@@ -13,13 +14,14 @@ export interface MonthsGridProps extends MonthsGridFoundationProps, BaseProps {
13
14
  rangeStart: boolean;
14
15
  rangeEnd: boolean;
15
16
  }>;
17
+ yearAndMonthOpts?: ScrollItemProps<any>;
16
18
  }
17
19
  export declare type MonthsGridState = MonthsGridFoundationState;
18
20
  export default class MonthsGrid extends BaseComponent<MonthsGridProps, MonthsGridState> {
19
21
  static propTypes: {
20
22
  type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "dateTimeRange">;
21
- defaultValue: PropTypes.Requireable<string | number | object>;
22
- defaultPickerValue: PropTypes.Requireable<string | number | object>;
23
+ defaultValue: PropTypes.Requireable<NonNullable<string | number | object>>;
24
+ defaultPickerValue: PropTypes.Requireable<NonNullable<string | number | object>>;
23
25
  multiple: PropTypes.Requireable<boolean>;
24
26
  max: PropTypes.Requireable<number>;
25
27
  weekStartsOn: PropTypes.Requireable<number>;
@@ -33,7 +35,7 @@ export default class MonthsGrid extends BaseComponent<MonthsGridProps, MonthsGri
33
35
  timePickerOpts: PropTypes.Requireable<object>;
34
36
  isControlledComponent: PropTypes.Requireable<boolean>;
35
37
  rangeStart: PropTypes.Requireable<string>;
36
- rangeInputFocus: PropTypes.Requireable<string | boolean>;
38
+ rangeInputFocus: PropTypes.Requireable<NonNullable<string | boolean>>;
37
39
  locale: PropTypes.Requireable<object>;
38
40
  localeCode: PropTypes.Requireable<string>;
39
41
  format: PropTypes.Requireable<string>;
@@ -42,10 +44,9 @@ export default class MonthsGrid extends BaseComponent<MonthsGridProps, MonthsGri
42
44
  startDateOffset: PropTypes.Requireable<(...args: any[]) => any>;
43
45
  endDateOffset: PropTypes.Requireable<(...args: any[]) => any>;
44
46
  autoSwitchDate: PropTypes.Requireable<boolean>;
45
- motionEnd: PropTypes.Requireable<boolean>;
46
47
  density: PropTypes.Requireable<string>;
47
48
  dateFnsLocale: PropTypes.Validator<object>;
48
- timeZone: PropTypes.Requireable<string | number>;
49
+ timeZone: PropTypes.Requireable<NonNullable<string | number>>;
49
50
  syncSwitchMonth: PropTypes.Requireable<boolean>;
50
51
  onPanelChange: PropTypes.Requireable<(...args: any[]) => any>;
51
52
  focusRecordsRef: PropTypes.Requireable<object>;