@douyinfe/semi-ui 2.22.0-beta.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 (337) hide show
  1. package/dist/css/semi.css +438 -38
  2. package/dist/css/semi.min.css +1 -1
  3. package/dist/umd/semi-ui.js +4084 -5300
  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/_cssAnimation/index.d.ts +39 -0
  8. package/lib/cjs/_cssAnimation/index.js +133 -0
  9. package/lib/cjs/anchor/index.d.ts +3 -3
  10. package/lib/cjs/anchor/link.d.ts +1 -1
  11. package/lib/cjs/autoComplete/index.d.ts +7 -8
  12. package/lib/cjs/autoComplete/option.d.ts +1 -1
  13. package/lib/cjs/banner/index.d.ts +2 -2
  14. package/lib/cjs/breadcrumb/index.d.ts +3 -3
  15. package/lib/cjs/breadcrumb/item.d.ts +3 -3
  16. package/lib/cjs/button/index.d.ts +2 -2
  17. package/lib/cjs/calendar/dayCalendar.d.ts +2 -2
  18. package/lib/cjs/calendar/index.d.ts +2 -2
  19. package/lib/cjs/calendar/monthCalendar.d.ts +2 -2
  20. package/lib/cjs/calendar/rangeCalendar.d.ts +2 -2
  21. package/lib/cjs/calendar/weekCalendar.d.ts +2 -2
  22. package/lib/cjs/card/cardGroup.d.ts +1 -1
  23. package/lib/cjs/carousel/index.d.ts +1 -1
  24. package/lib/cjs/cascader/index.d.ts +7 -8
  25. package/lib/cjs/cascader/index.js +8 -6
  26. package/lib/cjs/collapse/collapse-context.d.ts +1 -2
  27. package/lib/cjs/collapse/index.d.ts +3 -3
  28. package/lib/cjs/collapse/item.d.ts +2 -2
  29. package/lib/cjs/collapsible/index.d.ts +32 -19
  30. package/lib/cjs/collapsible/index.js +157 -121
  31. package/lib/cjs/configProvider/index.d.ts +1 -1
  32. package/lib/cjs/datePicker/dateInput.d.ts +3 -3
  33. package/lib/cjs/datePicker/datePicker.d.ts +12 -9
  34. package/lib/cjs/datePicker/datePicker.js +11 -13
  35. package/lib/cjs/datePicker/month.d.ts +1 -1
  36. package/lib/cjs/datePicker/month.js +5 -1
  37. package/lib/cjs/datePicker/monthsGrid.d.ts +7 -6
  38. package/lib/cjs/datePicker/monthsGrid.js +9 -26
  39. package/lib/cjs/datePicker/quickControl.d.ts +1 -1
  40. package/lib/cjs/datePicker/yearAndMonth.d.ts +1 -1
  41. package/lib/cjs/datePicker/yearAndMonth.js +13 -8
  42. package/lib/cjs/descriptions/index.d.ts +1 -1
  43. package/lib/cjs/dropdown/dropdownItem.d.ts +2 -1
  44. package/lib/cjs/dropdown/dropdownItem.js +3 -1
  45. package/lib/cjs/dropdown/index.d.ts +5 -6
  46. package/lib/cjs/form/baseForm.d.ts +7 -5
  47. package/lib/cjs/form/errorMessage.d.ts +1 -1
  48. package/lib/cjs/form/field.d.ts +4 -2
  49. package/lib/cjs/form/label.d.ts +1 -1
  50. package/lib/cjs/grid/col.d.ts +6 -6
  51. package/lib/cjs/grid/row.d.ts +1 -1
  52. package/lib/cjs/iconButton/index.d.ts +2 -2
  53. package/lib/cjs/image/image.d.ts +4 -4
  54. package/lib/cjs/image/preview.d.ts +1 -1
  55. package/lib/cjs/image/previewInner.d.ts +1 -1
  56. package/lib/cjs/index.d.ts +1 -0
  57. package/lib/cjs/index.js +8 -0
  58. package/lib/cjs/inputNumber/index.d.ts +2 -2
  59. package/lib/cjs/locale/source/ro.d.ts +3 -3
  60. package/lib/cjs/modal/Modal.d.ts +6 -6
  61. package/lib/cjs/modal/Modal.js +80 -56
  62. package/lib/cjs/modal/ModalContent.js +6 -5
  63. package/lib/cjs/modal/confirm.d.ts +10 -10
  64. package/lib/cjs/modal/confirm.js +1 -15
  65. package/lib/cjs/modal/useModal/HookModal.d.ts +0 -2
  66. package/lib/cjs/modal/useModal/HookModal.js +6 -18
  67. package/lib/cjs/navigation/Footer.d.ts +1 -1
  68. package/lib/cjs/navigation/Header.d.ts +3 -3
  69. package/lib/cjs/navigation/Item.d.ts +4 -4
  70. package/lib/cjs/navigation/Item.js +11 -5
  71. package/lib/cjs/navigation/OpenIconTransition.d.ts +1 -15
  72. package/lib/cjs/navigation/OpenIconTransition.js +1 -82
  73. package/lib/cjs/navigation/SubNav.d.ts +4 -4
  74. package/lib/cjs/navigation/SubNav.js +43 -27
  75. package/lib/cjs/navigation/index.d.ts +8 -11
  76. package/lib/cjs/notification/index.d.ts +0 -1
  77. package/lib/cjs/notification/index.js +25 -15
  78. package/lib/cjs/notification/notice.d.ts +3 -1
  79. package/lib/cjs/notification/notice.js +3 -1
  80. package/lib/cjs/popconfirm/index.d.ts +4 -5
  81. package/lib/cjs/popover/index.d.ts +8 -8
  82. package/lib/cjs/popover/index.js +1 -1
  83. package/lib/cjs/progress/index.d.ts +4 -4
  84. package/lib/cjs/rating/index.d.ts +1 -1
  85. package/lib/cjs/rating/item.d.ts +1 -1
  86. package/lib/cjs/scrollList/index.d.ts +1 -1
  87. package/lib/cjs/scrollList/scrollItem.d.ts +3 -3
  88. package/lib/cjs/scrollList/scrollItem.js +2 -2
  89. package/lib/cjs/select/index.d.ts +11 -6
  90. package/lib/cjs/select/index.js +108 -60
  91. package/lib/cjs/select/option.d.ts +1 -1
  92. package/lib/cjs/select/optionGroup.d.ts +1 -1
  93. package/lib/cjs/sideSheet/SideSheetContent.d.ts +8 -0
  94. package/lib/cjs/sideSheet/SideSheetContent.js +10 -6
  95. package/lib/cjs/sideSheet/index.d.ts +4 -4
  96. package/lib/cjs/sideSheet/index.js +69 -39
  97. package/lib/cjs/space/index.d.ts +1 -1
  98. package/lib/cjs/spin/index.js +1 -4
  99. package/lib/cjs/table/Body/BaseRow.d.ts +5 -5
  100. package/lib/cjs/table/Body/ExpandedRow.d.ts +3 -3
  101. package/lib/cjs/table/Body/SectionRow.d.ts +3 -3
  102. package/lib/cjs/table/Column.d.ts +4 -4
  103. package/lib/cjs/table/ColumnShape.d.ts +4 -4
  104. package/lib/cjs/table/ColumnSorter.d.ts +1 -1
  105. package/lib/cjs/table/CustomExpandIcon.d.ts +1 -1
  106. package/lib/cjs/table/CustomExpandIcon.js +13 -5
  107. package/lib/cjs/table/Table.d.ts +16 -16
  108. package/lib/cjs/table/TableCell.d.ts +4 -4
  109. package/lib/cjs/table/TableHeaderRow.d.ts +2 -2
  110. package/lib/cjs/table/TablePagination.d.ts +1 -1
  111. package/lib/cjs/table/index.d.ts +15 -15
  112. package/lib/cjs/tabs/TabPane.d.ts +2 -8
  113. package/lib/cjs/tabs/TabPane.js +40 -38
  114. package/lib/cjs/tabs/index.d.ts +5 -3
  115. package/lib/cjs/tabs/index.js +26 -4
  116. package/lib/cjs/tabs/interface.d.ts +2 -0
  117. package/lib/cjs/tag/group.d.ts +1 -0
  118. package/lib/cjs/tag/group.js +6 -3
  119. package/lib/cjs/tag/index.d.ts +1 -1
  120. package/lib/cjs/tag/index.js +1 -0
  121. package/lib/cjs/tag/interface.d.ts +3 -1
  122. package/lib/cjs/tagInput/index.d.ts +3 -3
  123. package/lib/cjs/timePicker/Combobox.js +4 -8
  124. package/lib/cjs/timePicker/PanelShape.d.ts +2 -2
  125. package/lib/cjs/timePicker/TimePicker.d.ts +11 -11
  126. package/lib/cjs/timePicker/TimePicker.js +3 -1
  127. package/lib/cjs/timePicker/TimeShape.d.ts +1 -1
  128. package/lib/cjs/timePicker/index.d.ts +10 -9
  129. package/lib/cjs/timeline/index.d.ts +1 -1
  130. package/lib/cjs/toast/index.d.ts +2 -4
  131. package/lib/cjs/toast/index.js +29 -14
  132. package/lib/cjs/toast/toast.d.ts +4 -2
  133. package/lib/cjs/toast/toast.js +3 -1
  134. package/lib/cjs/tooltip/index.d.ts +8 -9
  135. package/lib/cjs/tooltip/index.js +30 -37
  136. package/lib/cjs/transfer/index.d.ts +1 -1
  137. package/lib/cjs/tree/autoSizer.d.ts +2 -2
  138. package/lib/cjs/tree/index.d.ts +5 -5
  139. package/lib/cjs/tree/nodeCollapsible.d.ts +11 -0
  140. package/lib/cjs/tree/nodeCollapsible.js +50 -0
  141. package/lib/cjs/tree/nodeList.js +6 -5
  142. package/lib/cjs/tree/treeNode.d.ts +1 -1
  143. package/lib/cjs/treeSelect/index.d.ts +12 -9
  144. package/lib/cjs/treeSelect/index.js +23 -9
  145. package/lib/cjs/trigger/index.d.ts +1 -1
  146. package/lib/cjs/typography/base.d.ts +8 -8
  147. package/lib/cjs/typography/index.d.ts +2 -0
  148. package/lib/cjs/typography/index.js +3 -0
  149. package/lib/cjs/typography/interface.d.ts +2 -0
  150. package/lib/cjs/typography/numeral.d.ts +68 -0
  151. package/lib/cjs/typography/numeral.js +106 -0
  152. package/lib/cjs/typography/paragraph.d.ts +3 -3
  153. package/lib/cjs/typography/text.d.ts +4 -4
  154. package/lib/cjs/typography/title.d.ts +4 -4
  155. package/lib/cjs/upload/fileCard.d.ts +1 -1
  156. package/lib/es/_cssAnimation/index.d.ts +39 -0
  157. package/lib/es/_cssAnimation/index.js +122 -0
  158. package/lib/es/anchor/index.d.ts +3 -3
  159. package/lib/es/anchor/link.d.ts +1 -1
  160. package/lib/es/autoComplete/index.d.ts +7 -8
  161. package/lib/es/autoComplete/option.d.ts +1 -1
  162. package/lib/es/banner/index.d.ts +2 -2
  163. package/lib/es/breadcrumb/index.d.ts +3 -3
  164. package/lib/es/breadcrumb/item.d.ts +3 -3
  165. package/lib/es/button/index.d.ts +2 -2
  166. package/lib/es/calendar/dayCalendar.d.ts +2 -2
  167. package/lib/es/calendar/index.d.ts +2 -2
  168. package/lib/es/calendar/monthCalendar.d.ts +2 -2
  169. package/lib/es/calendar/rangeCalendar.d.ts +2 -2
  170. package/lib/es/calendar/weekCalendar.d.ts +2 -2
  171. package/lib/es/card/cardGroup.d.ts +1 -1
  172. package/lib/es/carousel/index.d.ts +1 -1
  173. package/lib/es/cascader/index.d.ts +7 -8
  174. package/lib/es/cascader/index.js +8 -6
  175. package/lib/es/collapse/collapse-context.d.ts +1 -2
  176. package/lib/es/collapse/index.d.ts +3 -3
  177. package/lib/es/collapse/item.d.ts +2 -2
  178. package/lib/es/collapsible/index.d.ts +32 -19
  179. package/lib/es/collapsible/index.js +158 -119
  180. package/lib/es/configProvider/index.d.ts +1 -1
  181. package/lib/es/datePicker/dateInput.d.ts +3 -3
  182. package/lib/es/datePicker/datePicker.d.ts +12 -9
  183. package/lib/es/datePicker/datePicker.js +11 -13
  184. package/lib/es/datePicker/month.d.ts +1 -1
  185. package/lib/es/datePicker/month.js +5 -1
  186. package/lib/es/datePicker/monthsGrid.d.ts +7 -6
  187. package/lib/es/datePicker/monthsGrid.js +9 -26
  188. package/lib/es/datePicker/quickControl.d.ts +1 -1
  189. package/lib/es/datePicker/yearAndMonth.d.ts +1 -1
  190. package/lib/es/datePicker/yearAndMonth.js +13 -8
  191. package/lib/es/descriptions/index.d.ts +1 -1
  192. package/lib/es/dropdown/dropdownItem.d.ts +2 -1
  193. package/lib/es/dropdown/dropdownItem.js +3 -1
  194. package/lib/es/dropdown/index.d.ts +5 -6
  195. package/lib/es/form/baseForm.d.ts +7 -5
  196. package/lib/es/form/errorMessage.d.ts +1 -1
  197. package/lib/es/form/field.d.ts +4 -2
  198. package/lib/es/form/label.d.ts +1 -1
  199. package/lib/es/grid/col.d.ts +6 -6
  200. package/lib/es/grid/row.d.ts +1 -1
  201. package/lib/es/iconButton/index.d.ts +2 -2
  202. package/lib/es/image/image.d.ts +4 -4
  203. package/lib/es/image/preview.d.ts +1 -1
  204. package/lib/es/image/previewInner.d.ts +1 -1
  205. package/lib/es/index.d.ts +1 -0
  206. package/lib/es/index.js +1 -0
  207. package/lib/es/inputNumber/index.d.ts +2 -2
  208. package/lib/es/locale/source/ro.d.ts +3 -3
  209. package/lib/es/modal/Modal.d.ts +6 -6
  210. package/lib/es/modal/Modal.js +79 -56
  211. package/lib/es/modal/ModalContent.js +6 -5
  212. package/lib/es/modal/confirm.d.ts +10 -10
  213. package/lib/es/modal/confirm.js +1 -14
  214. package/lib/es/modal/useModal/HookModal.d.ts +0 -2
  215. package/lib/es/modal/useModal/HookModal.js +7 -19
  216. package/lib/es/navigation/Footer.d.ts +1 -1
  217. package/lib/es/navigation/Header.d.ts +3 -3
  218. package/lib/es/navigation/Item.d.ts +4 -4
  219. package/lib/es/navigation/Item.js +11 -5
  220. package/lib/es/navigation/OpenIconTransition.d.ts +1 -15
  221. package/lib/es/navigation/OpenIconTransition.js +1 -66
  222. package/lib/es/navigation/SubNav.d.ts +4 -4
  223. package/lib/es/navigation/SubNav.js +43 -28
  224. package/lib/es/navigation/index.d.ts +8 -11
  225. package/lib/es/notification/index.d.ts +0 -1
  226. package/lib/es/notification/index.js +24 -14
  227. package/lib/es/notification/notice.d.ts +3 -1
  228. package/lib/es/notification/notice.js +3 -1
  229. package/lib/es/popconfirm/index.d.ts +4 -5
  230. package/lib/es/popover/index.d.ts +8 -8
  231. package/lib/es/popover/index.js +1 -1
  232. package/lib/es/progress/index.d.ts +4 -4
  233. package/lib/es/rating/index.d.ts +1 -1
  234. package/lib/es/rating/item.d.ts +1 -1
  235. package/lib/es/scrollList/index.d.ts +1 -1
  236. package/lib/es/scrollList/scrollItem.d.ts +3 -3
  237. package/lib/es/scrollList/scrollItem.js +3 -3
  238. package/lib/es/select/index.d.ts +11 -6
  239. package/lib/es/select/index.js +108 -60
  240. package/lib/es/select/option.d.ts +1 -1
  241. package/lib/es/select/optionGroup.d.ts +1 -1
  242. package/lib/es/sideSheet/SideSheetContent.d.ts +8 -0
  243. package/lib/es/sideSheet/SideSheetContent.js +10 -6
  244. package/lib/es/sideSheet/index.d.ts +4 -4
  245. package/lib/es/sideSheet/index.js +67 -37
  246. package/lib/es/space/index.d.ts +1 -1
  247. package/lib/es/spin/index.js +1 -4
  248. package/lib/es/table/Body/BaseRow.d.ts +5 -5
  249. package/lib/es/table/Body/ExpandedRow.d.ts +3 -3
  250. package/lib/es/table/Body/SectionRow.d.ts +3 -3
  251. package/lib/es/table/Column.d.ts +4 -4
  252. package/lib/es/table/ColumnShape.d.ts +4 -4
  253. package/lib/es/table/ColumnSorter.d.ts +1 -1
  254. package/lib/es/table/CustomExpandIcon.d.ts +1 -1
  255. package/lib/es/table/CustomExpandIcon.js +13 -5
  256. package/lib/es/table/Table.d.ts +16 -16
  257. package/lib/es/table/TableCell.d.ts +4 -4
  258. package/lib/es/table/TableHeaderRow.d.ts +2 -2
  259. package/lib/es/table/TablePagination.d.ts +1 -1
  260. package/lib/es/table/index.d.ts +15 -15
  261. package/lib/es/tabs/TabPane.d.ts +2 -8
  262. package/lib/es/tabs/TabPane.js +40 -38
  263. package/lib/es/tabs/index.d.ts +5 -3
  264. package/lib/es/tabs/index.js +26 -4
  265. package/lib/es/tabs/interface.d.ts +2 -0
  266. package/lib/es/tag/group.d.ts +1 -0
  267. package/lib/es/tag/group.js +6 -3
  268. package/lib/es/tag/index.d.ts +1 -1
  269. package/lib/es/tag/index.js +1 -0
  270. package/lib/es/tag/interface.d.ts +3 -1
  271. package/lib/es/tagInput/index.d.ts +3 -3
  272. package/lib/es/timePicker/Combobox.js +4 -8
  273. package/lib/es/timePicker/PanelShape.d.ts +2 -2
  274. package/lib/es/timePicker/TimePicker.d.ts +11 -11
  275. package/lib/es/timePicker/TimePicker.js +3 -1
  276. package/lib/es/timePicker/TimeShape.d.ts +1 -1
  277. package/lib/es/timePicker/index.d.ts +10 -9
  278. package/lib/es/timeline/index.d.ts +1 -1
  279. package/lib/es/toast/index.d.ts +2 -4
  280. package/lib/es/toast/index.js +27 -13
  281. package/lib/es/toast/toast.d.ts +4 -2
  282. package/lib/es/toast/toast.js +3 -1
  283. package/lib/es/tooltip/index.d.ts +8 -9
  284. package/lib/es/tooltip/index.js +27 -36
  285. package/lib/es/transfer/index.d.ts +1 -1
  286. package/lib/es/tree/autoSizer.d.ts +2 -2
  287. package/lib/es/tree/index.d.ts +5 -5
  288. package/lib/es/tree/nodeCollapsible.d.ts +11 -0
  289. package/lib/es/tree/nodeCollapsible.js +35 -0
  290. package/lib/es/tree/nodeList.js +6 -5
  291. package/lib/es/tree/treeNode.d.ts +1 -1
  292. package/lib/es/treeSelect/index.d.ts +12 -9
  293. package/lib/es/treeSelect/index.js +22 -8
  294. package/lib/es/trigger/index.d.ts +1 -1
  295. package/lib/es/typography/base.d.ts +8 -8
  296. package/lib/es/typography/index.d.ts +2 -0
  297. package/lib/es/typography/index.js +2 -0
  298. package/lib/es/typography/interface.d.ts +2 -0
  299. package/lib/es/typography/numeral.d.ts +68 -0
  300. package/lib/es/typography/numeral.js +86 -0
  301. package/lib/es/typography/paragraph.d.ts +3 -3
  302. package/lib/es/typography/text.d.ts +4 -4
  303. package/lib/es/typography/title.d.ts +4 -4
  304. package/lib/es/upload/fileCard.d.ts +1 -1
  305. package/package.json +7 -7
  306. package/lib/cjs/motions/Rotate.d.ts +0 -23
  307. package/lib/cjs/motions/Rotate.js +0 -76
  308. package/lib/cjs/navigation/SubNavTransition.d.ts +0 -17
  309. package/lib/cjs/navigation/SubNavTransition.js +0 -83
  310. package/lib/cjs/notification/NoticeTransition.d.ts +0 -10
  311. package/lib/cjs/notification/NoticeTransition.js +0 -85
  312. package/lib/cjs/sideSheet/SideSheetTransition.d.ts +0 -12
  313. package/lib/cjs/sideSheet/SideSheetTransition.js +0 -115
  314. package/lib/cjs/tabs/TabPaneTransition.d.ts +0 -4
  315. package/lib/cjs/tabs/TabPaneTransition.js +0 -114
  316. package/lib/cjs/toast/ToastTransition.d.ts +0 -7
  317. package/lib/cjs/toast/ToastTransition.js +0 -66
  318. package/lib/cjs/tooltip/TooltipStyledTransition.d.ts +0 -9
  319. package/lib/cjs/tooltip/TooltipStyledTransition.js +0 -52
  320. package/lib/cjs/tree/collapse.d.ts +0 -29
  321. package/lib/cjs/tree/collapse.js +0 -155
  322. package/lib/es/motions/Rotate.d.ts +0 -23
  323. package/lib/es/motions/Rotate.js +0 -60
  324. package/lib/es/navigation/SubNavTransition.d.ts +0 -17
  325. package/lib/es/navigation/SubNavTransition.js +0 -66
  326. package/lib/es/notification/NoticeTransition.d.ts +0 -10
  327. package/lib/es/notification/NoticeTransition.js +0 -74
  328. package/lib/es/sideSheet/SideSheetTransition.d.ts +0 -12
  329. package/lib/es/sideSheet/SideSheetTransition.js +0 -102
  330. package/lib/es/tabs/TabPaneTransition.d.ts +0 -4
  331. package/lib/es/tabs/TabPaneTransition.js +0 -103
  332. package/lib/es/toast/ToastTransition.d.ts +0 -7
  333. package/lib/es/toast/ToastTransition.js +0 -55
  334. package/lib/es/tooltip/TooltipStyledTransition.d.ts +0 -9
  335. package/lib/es/tooltip/TooltipStyledTransition.js +0 -38
  336. package/lib/es/tree/collapse.d.ts +0 -29
  337. package/lib/es/tree/collapse.js +0 -136
@@ -5,155 +5,198 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _semiAnimationReact = require("@douyinfe/semi-animation-react");
8
+ var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _foundation = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/collapsible/foundation"));
13
+
14
+ var _baseComponent = _interopRequireDefault(require("../_base/baseComponent"));
9
15
 
10
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
17
 
12
18
  var _classnames = _interopRequireDefault(require("classnames"));
13
19
 
14
- var _react = _interopRequireWildcard(require("react"));
15
-
16
20
  var _constants = require("@douyinfe/semi-foundation/lib/cjs/collapsible/constants");
17
21
 
18
- var _getMotionObjFromProps = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/utils/getMotionObjFromProps"));
22
+ require("@douyinfe/semi-foundation/lib/cjs/collapsible/collapsible.css");
19
23
 
20
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
25
 
22
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
+ class Collapsible extends _baseComponent.default {
27
+ constructor(props) {
28
+ super(props);
29
+ this.domRef = /*#__PURE__*/_react.default.createRef();
23
30
 
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
+ this.handleResize = entryList => {
32
+ const entry = entryList[0];
25
33
 
26
- // @ts-ignore currently no type definition for @douyinfe/semi-animation-react
27
- const ease = 'cubicBezier(.25,.1,.25,1)';
28
-
29
- const Collapsible = props => {
30
- const {
31
- motion,
32
- children,
33
- isOpen,
34
- duration,
35
- keepDOM,
36
- collapseHeight,
37
- style,
38
- className,
39
- reCalcKey,
40
- id
41
- } = props;
42
- const ref = (0, _react.useRef)(null);
43
- const [maxHeight, setMaxHeight] = (0, _react.useState)(0);
44
- const [open, setOpen] = (0, _react.useState)(props.isOpen);
45
- const [isFirst, setIsFirst] = (0, _react.useState)(true);
46
- const [transitionImmediate, setTransitionImmediate] = (0, _react.useState)(open && isFirst);
47
- const [left, setLeft] = (0, _react.useState)(!props.isOpen);
48
-
49
- if (isOpen !== open) {
50
- setOpen(isOpen);
51
-
52
- if (isFirst) {
53
- setIsFirst(false);
54
- setTransitionImmediate(false);
55
- }
34
+ if (entry) {
35
+ const entryInfo = Collapsible.getEntryInfo(entry);
36
+ this.foundation.updateDOMHeight(entryInfo.height);
37
+ this.foundation.updateDOMInRenderTree(entryInfo.isShown);
38
+ }
39
+ };
56
40
 
57
- isOpen && setLeft(!isOpen);
58
- }
41
+ this.isChildrenInRenderTree = () => {
42
+ if (this.domRef.current) {
43
+ return this.domRef.current.offsetHeight > 0;
44
+ } else {
45
+ return false;
46
+ }
47
+ };
59
48
 
60
- const setHeight = (0, _react.useCallback)(node => {
61
- const currHeight = node && node.scrollHeight;
49
+ this.state = {
50
+ domInRenderTree: false,
51
+ domHeight: 0,
52
+ visible: this.props.isOpen,
53
+ isTransitioning: false
54
+ };
55
+ this.foundation = new _foundation.default(this.adapter);
56
+ }
62
57
 
63
- if (currHeight && maxHeight !== currHeight) {
64
- setMaxHeight(currHeight);
65
- } // eslint-disable-next-line react-hooks/exhaustive-deps
58
+ get adapter() {
59
+ return Object.assign(Object.assign({}, super.adapter), {
60
+ setDOMInRenderTree: domInRenderTree => {
61
+ if (this.state.domInRenderTree !== domInRenderTree) {
62
+ this.setState({
63
+ domInRenderTree
64
+ });
65
+ }
66
+ },
67
+ setDOMHeight: domHeight => {
68
+ if (this.state.domHeight !== domHeight) {
69
+ this.setState({
70
+ domHeight
71
+ });
72
+ }
73
+ },
74
+ setVisible: visible => {
75
+ if (this.state.visible !== visible) {
76
+ this.setState({
77
+ visible
78
+ });
79
+ }
80
+ },
81
+ setIsTransitioning: isTransitioning => {
82
+ if (this.state.isTransitioning !== isTransitioning) {
83
+ this.setState({
84
+ isTransitioning
85
+ });
86
+ }
87
+ }
88
+ });
89
+ }
66
90
 
67
- }, [left, reCalcKey, maxHeight]);
91
+ componentDidMount() {
92
+ super.componentDidMount();
93
+ this.resizeObserver = new ResizeObserver(this.handleResize);
94
+ this.resizeObserver.observe(this.domRef.current);
95
+ const domInRenderTree = this.isChildrenInRenderTree();
96
+ this.foundation.updateDOMInRenderTree(domInRenderTree);
68
97
 
69
- const resetHeight = () => {
70
- ref.current.style.maxHeight = 'none';
71
- };
98
+ if (domInRenderTree) {
99
+ this.foundation.updateDOMHeight(this.domRef.current.scrollHeight);
100
+ }
101
+ }
72
102
 
73
- const formatStyle = _ref => {
74
- let {
75
- maxHeight: maxHeightInTransitionStyle
76
- } = _ref;
77
- return {
78
- maxHeight: maxHeightInTransitionStyle
79
- };
80
- };
103
+ componentDidUpdate(prevProps, prevState, snapshot) {
104
+ const changedPropKeys = Object.keys(this.props).filter(key => !(0, _isEqual2.default)(this.props[key], prevProps[key]));
105
+ const changedStateKeys = Object.keys(this.state).filter(key => !(0, _isEqual2.default)(this.state[key], prevState[key]));
81
106
 
82
- const shouldKeepDOM = () => keepDOM || collapseHeight !== 0;
107
+ if (changedPropKeys.includes("reCalcKey")) {
108
+ this.foundation.updateDOMHeight(this.domRef.current.scrollHeight);
109
+ }
83
110
 
84
- const defaultMaxHeight = (0, _react.useMemo)(() => {
85
- return isOpen || !shouldKeepDOM() && !motion ? 'none' : collapseHeight;
86
- }, [collapseHeight, motion, isOpen, shouldKeepDOM]);
111
+ if (changedStateKeys.includes("domInRenderTree") && this.state.domInRenderTree) {
112
+ this.foundation.updateDOMHeight(this.domRef.current.scrollHeight);
113
+ }
87
114
 
88
- const renderChildren = transitionStyle => {
89
- const transition = transitionStyle && typeof transitionStyle === 'object' ? formatStyle(transitionStyle) : {};
90
- const wrapperstyle = Object.assign(Object.assign({
91
- overflow: 'hidden',
92
- maxHeight: defaultMaxHeight
93
- }, style), transition);
115
+ if (changedPropKeys.includes("isOpen")) {
116
+ if (this.props.isOpen || !this.props.motion) {
117
+ this.foundation.updateVisible(this.props.isOpen);
118
+ }
119
+ }
94
120
 
95
- if (isFirst) {
96
- wrapperstyle.maxHeight = defaultMaxHeight;
121
+ if (this.props.motion && prevProps.isOpen !== this.props.isOpen) {
122
+ this.foundation.updateIsTransitioning(true);
97
123
  }
124
+ }
98
125
 
99
- const wrapperCls = (0, _classnames.default)("".concat(_constants.cssClasses.PREFIX, "-wrapper"), className);
126
+ componentWillUnmount() {
127
+ super.componentWillUnmount();
128
+ this.resizeObserver.disconnect();
129
+ }
130
+
131
+ render() {
132
+ const wrapperStyle = Object.assign({
133
+ overflow: 'hidden',
134
+ height: this.props.isOpen ? this.state.domHeight : this.props.collapseHeight,
135
+ opacity: this.props.isOpen || !this.props.fade || this.props.collapseHeight !== 0 ? 1 : 0,
136
+ transitionDuration: "".concat(this.props.motion && this.state.isTransitioning ? this.props.duration : 0, "ms")
137
+ }, this.props.style);
138
+ const wrapperCls = (0, _classnames.default)("".concat(_constants.cssClasses.PREFIX, "-wrapper"), {
139
+ ["".concat(_constants.cssClasses.PREFIX, "-transition")]: this.props.motion && this.state.isTransitioning
140
+ }, this.props.className);
100
141
  return /*#__PURE__*/_react.default.createElement("div", {
101
- style: wrapperstyle,
102
142
  className: wrapperCls,
103
- ref: ref
143
+ style: wrapperStyle,
144
+ onTransitionEnd: () => {
145
+ if (!this.props.isOpen) {
146
+ this.foundation.updateVisible(false);
147
+ }
148
+
149
+ this.foundation.updateIsTransitioning(false);
150
+ this.props.onMotionEnd();
151
+ }
104
152
  }, /*#__PURE__*/_react.default.createElement("div", {
105
- ref: setHeight,
153
+ "x-semi-prop": "children",
154
+ ref: this.domRef,
106
155
  style: {
107
156
  overflow: 'hidden'
108
157
  },
109
- id: id,
110
- "x-semi-prop": "children"
111
- }, children));
112
- };
158
+ id: this.props.id
159
+ }, (this.props.keepDOM || this.props.collapseHeight !== 0 || this.state.visible || this.props.isOpen) && this.props.children));
160
+ }
113
161
 
114
- const didLeave = () => {
115
- setLeft(true);
116
- !shouldKeepDOM() && setMaxHeight(collapseHeight);
117
- };
162
+ }
118
163
 
119
- const renderContent = () => {
120
- if (left && !shouldKeepDOM()) {
121
- return null;
122
- }
164
+ Collapsible.defaultProps = {
165
+ isOpen: false,
166
+ duration: 250,
167
+ motion: true,
168
+ keepDOM: false,
169
+ collapseHeight: 0,
170
+ fade: false
171
+ };
123
172
 
124
- const mergedMotion = (0, _getMotionObjFromProps.default)({
125
- didEnter: resetHeight,
126
- didLeave,
127
- motion
128
- });
129
- return /*#__PURE__*/_react.default.createElement(_semiAnimationReact.Transition, Object.assign({
130
- state: isOpen ? 'enter' : 'leave',
131
- immediate: transitionImmediate,
132
- from: {
133
- maxHeight: 0
134
- },
135
- enter: {
136
- maxHeight: {
137
- val: maxHeight,
138
- easing: ease,
139
- duration
140
- }
141
- },
142
- leave: {
143
- maxHeight: {
144
- val: collapseHeight,
145
- easing: ease,
146
- duration
147
- }
148
- }
149
- }, mergedMotion), transitionStyle => renderChildren(motion ? transitionStyle : null));
150
- };
173
+ Collapsible.getEntryInfo = entry => {
174
+ //judge whether parent or self display none
175
+ let inRenderTree;
151
176
 
152
- return renderContent();
177
+ if (entry.borderBoxSize) {
178
+ inRenderTree = !(entry.borderBoxSize[0].blockSize === 0 && entry.borderBoxSize[0].inlineSize === 0);
179
+ } else {
180
+ inRenderTree = !(entry.contentRect.height === 0 && entry.contentRect.width === 0);
181
+ }
182
+
183
+ let height = 0;
184
+
185
+ if (entry.borderBoxSize) {
186
+ height = Math.ceil(entry.borderBoxSize[0].blockSize);
187
+ } else {
188
+ const target = entry.target;
189
+ height = target.clientHeight;
190
+ }
191
+
192
+ return {
193
+ isShown: inRenderTree,
194
+ height
195
+ };
153
196
  };
154
197
 
155
- Collapsible.propType = {
156
- motion: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.func, _propTypes.default.object]),
198
+ Collapsible.propTypes = {
199
+ motion: _propTypes.default.bool,
157
200
  children: _propTypes.default.node,
158
201
  isOpen: _propTypes.default.bool,
159
202
  duration: _propTypes.default.number,
@@ -163,12 +206,5 @@ Collapsible.propType = {
163
206
  className: _propTypes.default.string,
164
207
  reCalcKey: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
165
208
  };
166
- Collapsible.defaultProps = {
167
- isOpen: false,
168
- duration: 250,
169
- motion: true,
170
- keepDOM: false,
171
- collapseHeight: 0
172
- };
173
209
  var _default = Collapsible;
174
210
  exports.default = _default;
@@ -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/cjs/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/cjs/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,9 +56,9 @@ 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
- presetPosition: PropTypes.Requireable<"top" | "left" | "right" | "bottom">;
61
+ presetPosition: PropTypes.Requireable<"left" | "top" | "right" | "bottom">;
60
62
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
61
63
  onChangeWithDateFirst: PropTypes.Requireable<boolean>;
62
64
  weekStartsOn: PropTypes.Requireable<number>;
@@ -66,22 +68,22 @@ 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>;
73
75
  insetLabel: PropTypes.Requireable<PropTypes.ReactNodeLike>;
74
76
  insetLabelId: PropTypes.Requireable<string>;
75
77
  zIndex: PropTypes.Requireable<number>;
76
- position: PropTypes.Requireable<"top" | "topLeft" | "topRight" | "left" | "leftTop" | "leftBottom" | "right" | "rightTop" | "rightBottom" | "bottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver">;
78
+ position: PropTypes.Requireable<"left" | "top" | "right" | "bottom" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver">;
77
79
  getPopupContainer: PropTypes.Requireable<(...args: any[]) => any>;
78
80
  onCancel: PropTypes.Requireable<(...args: any[]) => any>;
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;
@@ -219,7 +219,8 @@ class DatePicker extends _baseComponent.default {
219
219
  this.renderYearMonthPanel = (locale, localeCode) => {
220
220
  const {
221
221
  density,
222
- presetPosition
222
+ presetPosition,
223
+ yearAndMonthOpts
223
224
  } = this.props;
224
225
  const date = this.state.value[0];
225
226
  let year = 0;
@@ -242,7 +243,8 @@ class DatePicker extends _baseComponent.default {
242
243
  density: density,
243
244
  presetPosition: presetPosition,
244
245
  renderQuickControls: this.renderQuickControls(),
245
- renderDateInput: this.renderDateInput()
246
+ renderDateInput: this.renderDateInput(),
247
+ yearAndMonthOpts: yearAndMonthOpts
246
248
  });
247
249
  };
248
250
 
@@ -267,13 +269,12 @@ class DatePicker extends _baseComponent.default {
267
269
  autoAdjustOverflow,
268
270
  spacing
269
271
  } = this.props;
270
- const mergedMotion = this.foundation.getMergedMotion(motion);
271
272
  return /*#__PURE__*/_react.default.createElement(_index.default, {
272
273
  getPopupContainer: getPopupContainer,
273
274
  // wrapWhenSpecial={false}
274
275
  autoAdjustOverflow: autoAdjustOverflow,
275
276
  zIndex: zIndex,
276
- motion: mergedMotion,
277
+ motion: motion,
277
278
  content: this.renderPanel(locale, localeCode, dateFnsLocale),
278
279
  trigger: "custom",
279
280
  position: position,
@@ -291,7 +292,6 @@ class DatePicker extends _baseComponent.default {
291
292
  value: [],
292
293
  cachedSelectedValue: null,
293
294
  prevTimeZone: null,
294
- motionEnd: false,
295
295
  rangeInputFocus: undefined,
296
296
  autofocus: props.autoFocus || this.isRangeType(props.type, props.triggerRender) && (props.open || props.defaultOpen),
297
297
  insetInputValue: null,
@@ -411,9 +411,6 @@ class DatePicker extends _baseComponent.default {
411
411
  },
412
412
  needConfirm: () => ['dateTime', 'dateTimeRange'].includes(this.props.type) && this.props.needConfirm === true,
413
413
  typeIsYearOrMonth: () => ['month', 'year'].includes(this.props.type),
414
- setMotionEnd: motionEnd => this.setState({
415
- motionEnd
416
- }),
417
414
  setRangeInputFocus: rangeInputFocus => {
418
415
  const {
419
416
  preventScroll
@@ -575,11 +572,11 @@ class DatePicker extends _baseComponent.default {
575
572
  timeZone,
576
573
  triggerRender,
577
574
  insetInput,
578
- presetPosition
575
+ presetPosition,
576
+ yearAndMonthOpts
579
577
  } = this.props;
580
578
  const {
581
579
  cachedSelectedValue,
582
- motionEnd,
583
580
  rangeInputFocus
584
581
  } = this.state;
585
582
  const defaultValue = cachedSelectedValue;
@@ -607,7 +604,6 @@ class DatePicker extends _baseComponent.default {
607
604
  startDateOffset: startDateOffset,
608
605
  endDateOffset: endDateOffset,
609
606
  autoSwitchDate: autoSwitchDate,
610
- motionEnd: motionEnd,
611
607
  density: density,
612
608
  rangeInputFocus: rangeInputFocus,
613
609
  setRangeInputFocus: this.handleSetRangeFocus,
@@ -620,7 +616,8 @@ class DatePicker extends _baseComponent.default {
620
616
  insetInput: insetInput,
621
617
  presetPosition: presetPosition,
622
618
  renderQuickControls: this.renderQuickControls(),
623
- renderDateInput: this.renderDateInput()
619
+ renderDateInput: this.renderDateInput(),
620
+ yearAndMonthOpts: yearAndMonthOpts
624
621
  });
625
622
  }
626
623
 
@@ -863,7 +860,8 @@ DatePicker.propTypes = {
863
860
  // Callback function for panel date switching
864
861
  onPanelChange: _propTypes.default.func,
865
862
  rangeSeparator: _propTypes.default.string,
866
- preventScroll: _propTypes.default.bool
863
+ preventScroll: _propTypes.default.bool,
864
+ yearAndMonthOpts: _propTypes.default.object
867
865
  };
868
866
  DatePicker.defaultProps = {
869
867
  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
  };
@@ -85,6 +85,9 @@ class Month extends _baseComponent.default {
85
85
  }
86
86
 
87
87
  getSingleDayStatus(options) {
88
+ const {
89
+ rangeInputFocus
90
+ } = this.props;
88
91
  const {
89
92
  fullDate,
90
93
  todayText,
@@ -95,7 +98,8 @@ class Month extends _baseComponent.default {
95
98
  } = options;
96
99
  const disabledOptions = {
97
100
  rangeStart,
98
- rangeEnd
101
+ rangeEnd,
102
+ rangeInputFocus
99
103
  };
100
104
  const isToday = fullDate === todayText;
101
105
  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,15 +44,14 @@ 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>;
52
53
  triggerRender: PropTypes.Requireable<(...args: any[]) => any>;
53
- presetPosition: PropTypes.Requireable<"top" | "left" | "right" | "bottom">;
54
+ presetPosition: PropTypes.Requireable<"left" | "top" | "right" | "bottom">;
54
55
  renderQuickControls: PropTypes.Requireable<PropTypes.ReactNodeLike>;
55
56
  renderDateInput: PropTypes.Requireable<PropTypes.ReactNodeLike>;
56
57
  };