tdesign-react 0.35.0-alpha.1 → 0.35.0-alpha.2

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 (517) hide show
  1. package/dist/tdesign.css +70 -53
  2. package/dist/tdesign.css.map +1 -1
  3. package/dist/tdesign.js +1681 -1041
  4. package/dist/tdesign.js.map +1 -1
  5. package/dist/tdesign.min.css +1 -1
  6. package/dist/tdesign.min.css.map +1 -1
  7. package/dist/tdesign.min.js +4 -4
  8. package/dist/tdesign.min.js.map +1 -1
  9. package/{esm/_chunks/dep-22976878.js → es/_chunks/dep-2ed7eef7.js} +2 -2
  10. package/{esm/_chunks/dep-22976878.js.map → es/_chunks/dep-2ed7eef7.js.map} +1 -1
  11. package/es/_chunks/{dep-a1ce2324.js → dep-3a109495.js} +1 -1
  12. package/es/_chunks/{dep-a1ce2324.js.map → dep-3a109495.js.map} +1 -1
  13. package/es/_chunks/{dep-619d2589.js → dep-aec4b56c.js} +1 -1
  14. package/es/_chunks/{dep-619d2589.js.map → dep-aec4b56c.js.map} +1 -1
  15. package/es/addon/Addon.js +1 -1
  16. package/es/addon/Addon.js.map +1 -1
  17. package/es/calendar/Calendar.js +1 -1
  18. package/es/calendar/index.js +1 -1
  19. package/es/card/Card.js +1 -1
  20. package/es/card/Card.js.map +1 -1
  21. package/es/cascader/Cascader.js +1 -1
  22. package/es/cascader/components/Item.js +1 -1
  23. package/es/cascader/components/Panel.js +1 -1
  24. package/es/cascader/index.js +1 -1
  25. package/es/checkbox/Checkbox.js +1 -1
  26. package/es/checkbox/CheckboxGroup.js +1 -1
  27. package/es/checkbox/index.js +1 -1
  28. package/es/color-picker/ColorPicker.js +1 -1
  29. package/es/color-picker/ColorPickerPanel.js +1 -1
  30. package/es/color-picker/components/panel/header.js +1 -1
  31. package/es/color-picker/components/panel/index.js +1 -1
  32. package/es/color-picker/index.js +1 -1
  33. package/es/comment/Comment.js +1 -1
  34. package/es/comment/Comment.js.map +1 -1
  35. package/es/common/Check.js +1 -1
  36. package/es/common/Check.js.map +1 -1
  37. package/es/date-picker/DatePicker.js +23 -30
  38. package/es/date-picker/DatePicker.js.map +1 -1
  39. package/es/date-picker/DatePickerPanel.d.ts +7 -0
  40. package/es/date-picker/DatePickerPanel.js +349 -0
  41. package/es/date-picker/DatePickerPanel.js.map +1 -0
  42. package/es/date-picker/DateRangePicker.js +22 -15
  43. package/es/date-picker/DateRangePicker.js.map +1 -1
  44. package/es/date-picker/DateRangePickerPanel.d.ts +7 -0
  45. package/es/date-picker/DateRangePickerPanel.js +457 -0
  46. package/es/date-picker/DateRangePickerPanel.js.map +1 -0
  47. package/es/date-picker/base/Cell.d.ts +1 -1
  48. package/es/date-picker/base/Cell.js +5 -5
  49. package/es/date-picker/base/Cell.js.map +1 -1
  50. package/es/date-picker/base/Footer.js +3 -2
  51. package/es/date-picker/base/Footer.js.map +1 -1
  52. package/es/date-picker/base/Header.js +2 -2
  53. package/es/date-picker/base/Header.js.map +1 -1
  54. package/es/date-picker/base/Table.d.ts +3 -3
  55. package/es/date-picker/base/Table.js +2 -2
  56. package/es/date-picker/base/Table.js.map +1 -1
  57. package/es/date-picker/defaultProps.js +0 -2
  58. package/es/date-picker/defaultProps.js.map +1 -1
  59. package/es/date-picker/hooks/useFormat.d.ts +4 -1
  60. package/es/date-picker/hooks/useFormat.js +31 -19
  61. package/es/date-picker/hooks/useFormat.js.map +1 -1
  62. package/es/date-picker/hooks/useRange.d.ts +2 -2
  63. package/es/date-picker/hooks/useRange.js +52 -113
  64. package/es/date-picker/hooks/useRange.js.map +1 -1
  65. package/es/date-picker/hooks/useRangeValue.d.ts +24 -0
  66. package/es/date-picker/hooks/useRangeValue.js +156 -0
  67. package/es/date-picker/hooks/useRangeValue.js.map +1 -0
  68. package/es/date-picker/hooks/useSingle.d.ts +6 -10
  69. package/es/date-picker/hooks/useSingle.js +52 -72
  70. package/es/date-picker/hooks/useSingle.js.map +1 -1
  71. package/es/date-picker/hooks/useSingleValue.d.ts +14 -0
  72. package/es/date-picker/hooks/useSingleValue.js +101 -0
  73. package/es/date-picker/hooks/useSingleValue.js.map +1 -0
  74. package/es/date-picker/{panel → hooks}/useTableData.d.ts +2 -2
  75. package/es/date-picker/{panel → hooks}/useTableData.js +0 -0
  76. package/es/date-picker/hooks/useTableData.js.map +1 -0
  77. package/es/date-picker/index.d.ts +4 -20
  78. package/es/date-picker/index.js +19 -15
  79. package/es/date-picker/index.js.map +1 -1
  80. package/es/date-picker/panel/ExtraContent.d.ts +2 -2
  81. package/es/date-picker/panel/ExtraContent.js +1 -1
  82. package/es/date-picker/panel/ExtraContent.js.map +1 -1
  83. package/es/date-picker/panel/PanelContent.d.ts +17 -17
  84. package/es/date-picker/panel/PanelContent.js +7 -6
  85. package/es/date-picker/panel/PanelContent.js.map +1 -1
  86. package/{lib/date-picker/panel/DateRangePickerPanel.d.ts → es/date-picker/panel/RangePanel.d.ts} +4 -12
  87. package/es/date-picker/panel/{DateRangePickerPanel.js → RangePanel.js} +23 -17
  88. package/es/date-picker/panel/RangePanel.js.map +1 -0
  89. package/es/date-picker/panel/{DatePickerPanel.d.ts → SinglePanel.d.ts} +5 -13
  90. package/es/date-picker/panel/{DatePickerPanel.js → SinglePanel.js} +33 -27
  91. package/es/date-picker/panel/SinglePanel.js.map +1 -0
  92. package/es/date-picker/style/index.css +4 -4
  93. package/es/date-picker/type.d.ts +138 -9
  94. package/es/dialog/Dialog.js +1 -0
  95. package/es/dialog/Dialog.js.map +1 -1
  96. package/es/dialog/RenderDialog.js +44 -34
  97. package/es/dialog/RenderDialog.js.map +1 -1
  98. package/es/dialog/index.js +1 -0
  99. package/es/dialog/index.js.map +1 -1
  100. package/es/dialog/plugin.js +1 -0
  101. package/es/dialog/plugin.js.map +1 -1
  102. package/es/dialog/style/index.css +34 -23
  103. package/es/form/Form.js +6 -5
  104. package/es/form/Form.js.map +1 -1
  105. package/es/form/FormItem.js +5 -4
  106. package/es/form/FormItem.js.map +1 -1
  107. package/es/form/hooks/useFormItemStyle.js +5 -4
  108. package/es/form/hooks/useFormItemStyle.js.map +1 -1
  109. package/es/form/index.js +5 -4
  110. package/es/form/index.js.map +1 -1
  111. package/es/form/useInitialData.js +4 -3
  112. package/es/form/useInitialData.js.map +1 -1
  113. package/es/index.js +11 -6
  114. package/es/index.js.map +1 -1
  115. package/es/input/Input.js +1 -1
  116. package/es/input/Input.js.map +1 -1
  117. package/es/input/InputGroup.js +1 -1
  118. package/es/input/InputGroup.js.map +1 -1
  119. package/es/input-number/InputNumber.js +1 -1
  120. package/es/input-number/InputNumber.js.map +1 -1
  121. package/es/input-number/style/index.css +26 -26
  122. package/es/list/List.js +1 -1
  123. package/es/list/List.js.map +1 -1
  124. package/es/list/ListItem.js +1 -1
  125. package/es/list/ListItem.js.map +1 -1
  126. package/es/menu/HeadMenu.js +1 -1
  127. package/es/menu/HeadMenu.js.map +1 -1
  128. package/es/menu/Menu.js +1 -1
  129. package/es/menu/Menu.js.map +1 -1
  130. package/es/menu/MenuItem.js +1 -1
  131. package/es/menu/MenuItem.js.map +1 -1
  132. package/es/menu/SubMenu.js +2 -2
  133. package/es/menu/SubMenu.js.map +1 -1
  134. package/es/radio/Radio.js +1 -1
  135. package/es/radio/RadioGroup.js +1 -1
  136. package/es/radio/index.js +1 -1
  137. package/es/slider/Slider.js +1 -1
  138. package/es/slider/Slider.js.map +1 -1
  139. package/es/table/BaseTable.js +1 -0
  140. package/es/table/BaseTable.js.map +1 -1
  141. package/es/table/EnhancedTable.js +3 -2
  142. package/es/table/EnhancedTable.js.map +1 -1
  143. package/es/table/FilterController.js +2 -2
  144. package/es/table/PrimaryTable.js +3 -2
  145. package/es/table/PrimaryTable.js.map +1 -1
  146. package/es/table/TBody.js +6 -23
  147. package/es/table/TBody.js.map +1 -1
  148. package/es/table/TR.d.ts +2 -2
  149. package/es/table/TR.js +4 -14
  150. package/es/table/TR.js.map +1 -1
  151. package/es/table/hooks/useColumnController.js +1 -1
  152. package/es/table/hooks/useFilter.js +2 -2
  153. package/es/table/hooks/useRowSelect.js +2 -2
  154. package/es/table/hooks/useRowspanAndColspan.d.ts +10 -0
  155. package/es/table/hooks/useRowspanAndColspan.js +74 -0
  156. package/es/table/hooks/useRowspanAndColspan.js.map +1 -0
  157. package/es/table/index.js +3 -2
  158. package/es/table/index.js.map +1 -1
  159. package/es/table/style/index.css +6 -0
  160. package/es/textarea/Textarea.js +2 -2
  161. package/es/textarea/Textarea.js.map +1 -1
  162. package/es/transfer/Transfer.js +1 -1
  163. package/es/transfer/TransferList.js +1 -1
  164. package/es/transfer/index.js +1 -1
  165. package/es/tree/Tree.js +1 -1
  166. package/es/tree/TreeItem.js +1 -1
  167. package/es/tree/index.js +1 -1
  168. package/es/tree-select/TreeSelect.js +1 -1
  169. package/es/tree-select/index.js +1 -1
  170. package/es/upload/index.js +1 -0
  171. package/es/upload/index.js.map +1 -1
  172. package/es/upload/themes/image-card.js +1 -0
  173. package/es/upload/themes/image-card.js.map +1 -1
  174. package/es/upload/upload.js +1 -0
  175. package/es/upload/upload.js.map +1 -1
  176. package/{es/_chunks/dep-6e402ba5.js → esm/_chunks/dep-04427594.js} +2 -2
  177. package/{es/_chunks/dep-6e402ba5.js.map → esm/_chunks/dep-04427594.js.map} +1 -1
  178. package/esm/_chunks/{dep-a1ce2324.js → dep-3a109495.js} +1 -1
  179. package/esm/_chunks/{dep-a1ce2324.js.map → dep-3a109495.js.map} +1 -1
  180. package/esm/_chunks/{dep-619d2589.js → dep-aec4b56c.js} +1 -1
  181. package/esm/_chunks/{dep-619d2589.js.map → dep-aec4b56c.js.map} +1 -1
  182. package/esm/_common/style/web/components/date-picker-new/_index.less +4 -4
  183. package/esm/_common/style/web/components/dialog/_index.less +36 -23
  184. package/esm/_common/style/web/components/input-number/_index.less +4 -4
  185. package/esm/_common/style/web/components/table/_index.less +7 -0
  186. package/esm/addon/Addon.js +1 -1
  187. package/esm/addon/Addon.js.map +1 -1
  188. package/esm/calendar/Calendar.js +1 -1
  189. package/esm/calendar/index.js +1 -1
  190. package/esm/card/Card.js +1 -1
  191. package/esm/card/Card.js.map +1 -1
  192. package/esm/cascader/Cascader.js +1 -1
  193. package/esm/cascader/components/Item.js +1 -1
  194. package/esm/cascader/components/Panel.js +1 -1
  195. package/esm/cascader/index.js +1 -1
  196. package/esm/checkbox/Checkbox.js +1 -1
  197. package/esm/checkbox/CheckboxGroup.js +1 -1
  198. package/esm/checkbox/index.js +1 -1
  199. package/esm/color-picker/ColorPicker.js +1 -1
  200. package/esm/color-picker/ColorPickerPanel.js +1 -1
  201. package/esm/color-picker/components/panel/header.js +1 -1
  202. package/esm/color-picker/components/panel/index.js +1 -1
  203. package/esm/color-picker/index.js +1 -1
  204. package/esm/comment/Comment.js +1 -1
  205. package/esm/comment/Comment.js.map +1 -1
  206. package/esm/common/Check.js +1 -1
  207. package/esm/common/Check.js.map +1 -1
  208. package/esm/date-picker/DatePicker.js +23 -30
  209. package/esm/date-picker/DatePicker.js.map +1 -1
  210. package/esm/date-picker/DatePickerPanel.d.ts +7 -0
  211. package/esm/date-picker/DatePickerPanel.js +356 -0
  212. package/esm/date-picker/DatePickerPanel.js.map +1 -0
  213. package/esm/date-picker/DateRangePicker.js +22 -15
  214. package/esm/date-picker/DateRangePicker.js.map +1 -1
  215. package/esm/date-picker/DateRangePickerPanel.d.ts +7 -0
  216. package/esm/date-picker/DateRangePickerPanel.js +464 -0
  217. package/esm/date-picker/DateRangePickerPanel.js.map +1 -0
  218. package/esm/date-picker/base/Cell.d.ts +1 -1
  219. package/esm/date-picker/base/Cell.js +5 -5
  220. package/esm/date-picker/base/Cell.js.map +1 -1
  221. package/esm/date-picker/base/Footer.js +3 -2
  222. package/esm/date-picker/base/Footer.js.map +1 -1
  223. package/esm/date-picker/base/Header.js +2 -2
  224. package/esm/date-picker/base/Header.js.map +1 -1
  225. package/esm/date-picker/base/Table.d.ts +3 -3
  226. package/esm/date-picker/base/Table.js +2 -2
  227. package/esm/date-picker/base/Table.js.map +1 -1
  228. package/esm/date-picker/defaultProps.js +0 -2
  229. package/esm/date-picker/defaultProps.js.map +1 -1
  230. package/esm/date-picker/hooks/useFormat.d.ts +4 -1
  231. package/esm/date-picker/hooks/useFormat.js +31 -19
  232. package/esm/date-picker/hooks/useFormat.js.map +1 -1
  233. package/esm/date-picker/hooks/useRange.d.ts +2 -2
  234. package/esm/date-picker/hooks/useRange.js +52 -113
  235. package/esm/date-picker/hooks/useRange.js.map +1 -1
  236. package/esm/date-picker/hooks/useRangeValue.d.ts +24 -0
  237. package/esm/date-picker/hooks/useRangeValue.js +156 -0
  238. package/esm/date-picker/hooks/useRangeValue.js.map +1 -0
  239. package/esm/date-picker/hooks/useSingle.d.ts +6 -10
  240. package/esm/date-picker/hooks/useSingle.js +52 -72
  241. package/esm/date-picker/hooks/useSingle.js.map +1 -1
  242. package/esm/date-picker/hooks/useSingleValue.d.ts +14 -0
  243. package/esm/date-picker/hooks/useSingleValue.js +101 -0
  244. package/esm/date-picker/hooks/useSingleValue.js.map +1 -0
  245. package/esm/date-picker/{panel → hooks}/useTableData.d.ts +2 -2
  246. package/esm/date-picker/{panel → hooks}/useTableData.js +0 -0
  247. package/esm/date-picker/hooks/useTableData.js.map +1 -0
  248. package/esm/date-picker/index.d.ts +4 -20
  249. package/esm/date-picker/index.js +20 -16
  250. package/esm/date-picker/index.js.map +1 -1
  251. package/esm/date-picker/panel/ExtraContent.d.ts +2 -2
  252. package/esm/date-picker/panel/ExtraContent.js +1 -1
  253. package/esm/date-picker/panel/ExtraContent.js.map +1 -1
  254. package/esm/date-picker/panel/PanelContent.d.ts +17 -17
  255. package/esm/date-picker/panel/PanelContent.js +7 -6
  256. package/esm/date-picker/panel/PanelContent.js.map +1 -1
  257. package/{es/date-picker/panel/DateRangePickerPanel.d.ts → esm/date-picker/panel/RangePanel.d.ts} +4 -12
  258. package/esm/date-picker/panel/{DateRangePickerPanel.js → RangePanel.js} +23 -17
  259. package/esm/date-picker/panel/RangePanel.js.map +1 -0
  260. package/{lib/date-picker/panel/DatePickerPanel.d.ts → esm/date-picker/panel/SinglePanel.d.ts} +5 -13
  261. package/esm/date-picker/panel/{DatePickerPanel.js → SinglePanel.js} +33 -27
  262. package/esm/date-picker/panel/SinglePanel.js.map +1 -0
  263. package/esm/date-picker/type.d.ts +138 -9
  264. package/esm/dialog/Dialog.js +1 -0
  265. package/esm/dialog/Dialog.js.map +1 -1
  266. package/esm/dialog/RenderDialog.js +44 -34
  267. package/esm/dialog/RenderDialog.js.map +1 -1
  268. package/esm/dialog/index.js +1 -0
  269. package/esm/dialog/index.js.map +1 -1
  270. package/esm/dialog/plugin.js +1 -0
  271. package/esm/dialog/plugin.js.map +1 -1
  272. package/esm/form/Form.js +6 -5
  273. package/esm/form/Form.js.map +1 -1
  274. package/esm/form/FormItem.js +5 -4
  275. package/esm/form/FormItem.js.map +1 -1
  276. package/esm/form/hooks/useFormItemStyle.js +5 -4
  277. package/esm/form/hooks/useFormItemStyle.js.map +1 -1
  278. package/esm/form/index.js +5 -4
  279. package/esm/form/index.js.map +1 -1
  280. package/esm/form/useInitialData.js +4 -3
  281. package/esm/form/useInitialData.js.map +1 -1
  282. package/esm/index.js +11 -6
  283. package/esm/index.js.map +1 -1
  284. package/esm/input/Input.js +1 -1
  285. package/esm/input/Input.js.map +1 -1
  286. package/esm/input/InputGroup.js +1 -1
  287. package/esm/input/InputGroup.js.map +1 -1
  288. package/esm/input-number/InputNumber.js +1 -1
  289. package/esm/input-number/InputNumber.js.map +1 -1
  290. package/esm/list/List.js +1 -1
  291. package/esm/list/List.js.map +1 -1
  292. package/esm/list/ListItem.js +1 -1
  293. package/esm/list/ListItem.js.map +1 -1
  294. package/esm/menu/HeadMenu.js +1 -1
  295. package/esm/menu/HeadMenu.js.map +1 -1
  296. package/esm/menu/Menu.js +1 -1
  297. package/esm/menu/Menu.js.map +1 -1
  298. package/esm/menu/MenuItem.js +1 -1
  299. package/esm/menu/MenuItem.js.map +1 -1
  300. package/esm/menu/SubMenu.js +2 -2
  301. package/esm/menu/SubMenu.js.map +1 -1
  302. package/esm/radio/Radio.js +1 -1
  303. package/esm/radio/RadioGroup.js +1 -1
  304. package/esm/radio/index.js +1 -1
  305. package/esm/slider/Slider.js +1 -1
  306. package/esm/slider/Slider.js.map +1 -1
  307. package/esm/table/BaseTable.js +1 -0
  308. package/esm/table/BaseTable.js.map +1 -1
  309. package/esm/table/EnhancedTable.js +3 -2
  310. package/esm/table/EnhancedTable.js.map +1 -1
  311. package/esm/table/FilterController.js +2 -2
  312. package/esm/table/PrimaryTable.js +3 -2
  313. package/esm/table/PrimaryTable.js.map +1 -1
  314. package/esm/table/TBody.js +6 -23
  315. package/esm/table/TBody.js.map +1 -1
  316. package/esm/table/TR.d.ts +2 -2
  317. package/esm/table/TR.js +4 -14
  318. package/esm/table/TR.js.map +1 -1
  319. package/esm/table/hooks/useColumnController.js +1 -1
  320. package/esm/table/hooks/useFilter.js +2 -2
  321. package/esm/table/hooks/useRowSelect.js +2 -2
  322. package/esm/table/hooks/useRowspanAndColspan.d.ts +10 -0
  323. package/esm/table/hooks/useRowspanAndColspan.js +74 -0
  324. package/esm/table/hooks/useRowspanAndColspan.js.map +1 -0
  325. package/esm/table/index.js +3 -2
  326. package/esm/table/index.js.map +1 -1
  327. package/esm/textarea/Textarea.js +2 -2
  328. package/esm/textarea/Textarea.js.map +1 -1
  329. package/esm/transfer/Transfer.js +1 -1
  330. package/esm/transfer/TransferList.js +1 -1
  331. package/esm/transfer/index.js +1 -1
  332. package/esm/tree/Tree.js +1 -1
  333. package/esm/tree/TreeItem.js +1 -1
  334. package/esm/tree/index.js +1 -1
  335. package/esm/tree-select/TreeSelect.js +1 -1
  336. package/esm/tree-select/index.js +1 -1
  337. package/esm/upload/index.js +1 -0
  338. package/esm/upload/index.js.map +1 -1
  339. package/esm/upload/themes/image-card.js +1 -0
  340. package/esm/upload/themes/image-card.js.map +1 -1
  341. package/esm/upload/upload.js +1 -0
  342. package/esm/upload/upload.js.map +1 -1
  343. package/lib/_chunks/{dep-6f4603f8.js → dep-92e2ca45.js} +2 -2
  344. package/lib/_chunks/{dep-6f4603f8.js.map → dep-92e2ca45.js.map} +1 -1
  345. package/lib/_chunks/{dep-1b0236bc.js → dep-b8f2445b.js} +1 -1
  346. package/lib/_chunks/{dep-1b0236bc.js.map → dep-b8f2445b.js.map} +1 -1
  347. package/lib/_chunks/{dep-202d2d2a.js → dep-cd7ea040.js} +1 -1
  348. package/lib/_chunks/{dep-202d2d2a.js.map → dep-cd7ea040.js.map} +1 -1
  349. package/lib/addon/Addon.js +1 -1
  350. package/lib/addon/Addon.js.map +1 -1
  351. package/lib/calendar/Calendar.js +1 -1
  352. package/lib/calendar/index.js +1 -1
  353. package/lib/card/Card.js +1 -1
  354. package/lib/card/Card.js.map +1 -1
  355. package/lib/cascader/Cascader.js +1 -1
  356. package/lib/cascader/components/Item.js +1 -1
  357. package/lib/cascader/components/Panel.js +1 -1
  358. package/lib/cascader/index.js +1 -1
  359. package/lib/checkbox/Checkbox.js +1 -1
  360. package/lib/checkbox/CheckboxGroup.js +1 -1
  361. package/lib/checkbox/index.js +1 -1
  362. package/lib/color-picker/ColorPicker.js +1 -1
  363. package/lib/color-picker/ColorPickerPanel.js +1 -1
  364. package/lib/color-picker/components/panel/header.js +1 -1
  365. package/lib/color-picker/components/panel/index.js +1 -1
  366. package/lib/color-picker/index.js +1 -1
  367. package/lib/comment/Comment.js +1 -1
  368. package/lib/comment/Comment.js.map +1 -1
  369. package/lib/common/Check.js +1 -1
  370. package/lib/common/Check.js.map +1 -1
  371. package/lib/date-picker/DatePicker.js +21 -28
  372. package/lib/date-picker/DatePicker.js.map +1 -1
  373. package/lib/date-picker/DatePickerPanel.d.ts +7 -0
  374. package/lib/date-picker/DatePickerPanel.js +343 -0
  375. package/lib/date-picker/DatePickerPanel.js.map +1 -0
  376. package/lib/date-picker/DateRangePicker.js +22 -15
  377. package/lib/date-picker/DateRangePicker.js.map +1 -1
  378. package/lib/date-picker/DateRangePickerPanel.d.ts +7 -0
  379. package/lib/date-picker/DateRangePickerPanel.js +451 -0
  380. package/lib/date-picker/DateRangePickerPanel.js.map +1 -0
  381. package/lib/date-picker/base/Cell.d.ts +1 -1
  382. package/lib/date-picker/base/Cell.js +5 -5
  383. package/lib/date-picker/base/Cell.js.map +1 -1
  384. package/lib/date-picker/base/Footer.js +3 -2
  385. package/lib/date-picker/base/Footer.js.map +1 -1
  386. package/lib/date-picker/base/Header.js +2 -2
  387. package/lib/date-picker/base/Header.js.map +1 -1
  388. package/lib/date-picker/base/Table.d.ts +3 -3
  389. package/lib/date-picker/base/Table.js +2 -2
  390. package/lib/date-picker/base/Table.js.map +1 -1
  391. package/lib/date-picker/defaultProps.js +0 -2
  392. package/lib/date-picker/defaultProps.js.map +1 -1
  393. package/lib/date-picker/hooks/useFormat.d.ts +4 -1
  394. package/lib/date-picker/hooks/useFormat.js +31 -19
  395. package/lib/date-picker/hooks/useFormat.js.map +1 -1
  396. package/lib/date-picker/hooks/useRange.d.ts +2 -2
  397. package/lib/date-picker/hooks/useRange.js +52 -113
  398. package/lib/date-picker/hooks/useRange.js.map +1 -1
  399. package/lib/date-picker/hooks/useRangeValue.d.ts +24 -0
  400. package/lib/date-picker/hooks/useRangeValue.js +162 -0
  401. package/lib/date-picker/hooks/useRangeValue.js.map +1 -0
  402. package/lib/date-picker/hooks/useSingle.d.ts +6 -10
  403. package/lib/date-picker/hooks/useSingle.js +52 -72
  404. package/lib/date-picker/hooks/useSingle.js.map +1 -1
  405. package/lib/date-picker/hooks/useSingleValue.d.ts +14 -0
  406. package/lib/date-picker/hooks/useSingleValue.js +106 -0
  407. package/lib/date-picker/hooks/useSingleValue.js.map +1 -0
  408. package/lib/date-picker/{panel → hooks}/useTableData.d.ts +2 -2
  409. package/lib/date-picker/{panel → hooks}/useTableData.js +0 -0
  410. package/lib/date-picker/hooks/useTableData.js.map +1 -0
  411. package/lib/date-picker/index.d.ts +4 -20
  412. package/lib/date-picker/index.js +20 -16
  413. package/lib/date-picker/index.js.map +1 -1
  414. package/lib/date-picker/panel/ExtraContent.d.ts +2 -2
  415. package/lib/date-picker/panel/ExtraContent.js +1 -1
  416. package/lib/date-picker/panel/ExtraContent.js.map +1 -1
  417. package/lib/date-picker/panel/PanelContent.d.ts +17 -17
  418. package/lib/date-picker/panel/PanelContent.js +7 -6
  419. package/lib/date-picker/panel/PanelContent.js.map +1 -1
  420. package/{esm/date-picker/panel/DateRangePickerPanel.d.ts → lib/date-picker/panel/RangePanel.d.ts} +4 -12
  421. package/lib/date-picker/panel/{DateRangePickerPanel.js → RangePanel.js} +24 -18
  422. package/lib/date-picker/panel/RangePanel.js.map +1 -0
  423. package/{esm/date-picker/panel/DatePickerPanel.d.ts → lib/date-picker/panel/SinglePanel.d.ts} +5 -13
  424. package/lib/date-picker/panel/{DatePickerPanel.js → SinglePanel.js} +33 -27
  425. package/lib/date-picker/panel/SinglePanel.js.map +1 -0
  426. package/lib/date-picker/type.d.ts +138 -9
  427. package/lib/dialog/Dialog.js +1 -0
  428. package/lib/dialog/Dialog.js.map +1 -1
  429. package/lib/dialog/RenderDialog.js +43 -33
  430. package/lib/dialog/RenderDialog.js.map +1 -1
  431. package/lib/dialog/index.js +1 -0
  432. package/lib/dialog/index.js.map +1 -1
  433. package/lib/dialog/plugin.js +1 -0
  434. package/lib/dialog/plugin.js.map +1 -1
  435. package/lib/form/Form.js +6 -5
  436. package/lib/form/Form.js.map +1 -1
  437. package/lib/form/FormItem.js +5 -4
  438. package/lib/form/FormItem.js.map +1 -1
  439. package/lib/form/hooks/useFormItemStyle.js +5 -4
  440. package/lib/form/hooks/useFormItemStyle.js.map +1 -1
  441. package/lib/form/index.js +5 -4
  442. package/lib/form/index.js.map +1 -1
  443. package/lib/form/useInitialData.js +4 -3
  444. package/lib/form/useInitialData.js.map +1 -1
  445. package/lib/index-lib.js +11 -6
  446. package/lib/index-lib.js.map +1 -1
  447. package/lib/index.js +11 -6
  448. package/lib/index.js.map +1 -1
  449. package/lib/input/Input.js +1 -1
  450. package/lib/input/Input.js.map +1 -1
  451. package/lib/input/InputGroup.js +1 -1
  452. package/lib/input/InputGroup.js.map +1 -1
  453. package/lib/input-number/InputNumber.js +1 -1
  454. package/lib/input-number/InputNumber.js.map +1 -1
  455. package/lib/list/List.js +1 -1
  456. package/lib/list/List.js.map +1 -1
  457. package/lib/list/ListItem.js +1 -1
  458. package/lib/list/ListItem.js.map +1 -1
  459. package/lib/menu/HeadMenu.js +1 -1
  460. package/lib/menu/HeadMenu.js.map +1 -1
  461. package/lib/menu/Menu.js +1 -1
  462. package/lib/menu/Menu.js.map +1 -1
  463. package/lib/menu/MenuItem.js +1 -1
  464. package/lib/menu/MenuItem.js.map +1 -1
  465. package/lib/menu/SubMenu.js +2 -2
  466. package/lib/menu/SubMenu.js.map +1 -1
  467. package/lib/radio/Radio.js +1 -1
  468. package/lib/radio/RadioGroup.js +1 -1
  469. package/lib/radio/index.js +1 -1
  470. package/lib/slider/Slider.js +1 -1
  471. package/lib/slider/Slider.js.map +1 -1
  472. package/lib/table/BaseTable.js +1 -0
  473. package/lib/table/BaseTable.js.map +1 -1
  474. package/lib/table/EnhancedTable.js +3 -2
  475. package/lib/table/EnhancedTable.js.map +1 -1
  476. package/lib/table/FilterController.js +2 -2
  477. package/lib/table/PrimaryTable.js +3 -2
  478. package/lib/table/PrimaryTable.js.map +1 -1
  479. package/lib/table/TBody.js +6 -23
  480. package/lib/table/TBody.js.map +1 -1
  481. package/lib/table/TR.d.ts +2 -2
  482. package/lib/table/TR.js +4 -14
  483. package/lib/table/TR.js.map +1 -1
  484. package/lib/table/hooks/useColumnController.js +1 -1
  485. package/lib/table/hooks/useFilter.js +2 -2
  486. package/lib/table/hooks/useRowSelect.js +2 -2
  487. package/lib/table/hooks/useRowspanAndColspan.d.ts +10 -0
  488. package/lib/table/hooks/useRowspanAndColspan.js +78 -0
  489. package/lib/table/hooks/useRowspanAndColspan.js.map +1 -0
  490. package/lib/table/index.js +3 -2
  491. package/lib/table/index.js.map +1 -1
  492. package/lib/textarea/Textarea.js +2 -2
  493. package/lib/textarea/Textarea.js.map +1 -1
  494. package/lib/transfer/Transfer.js +1 -1
  495. package/lib/transfer/TransferList.js +1 -1
  496. package/lib/transfer/index.js +1 -1
  497. package/lib/tree/Tree.js +1 -1
  498. package/lib/tree/TreeItem.js +1 -1
  499. package/lib/tree/index.js +1 -1
  500. package/lib/tree-select/TreeSelect.js +1 -1
  501. package/lib/tree-select/index.js +1 -1
  502. package/lib/upload/index.js +1 -0
  503. package/lib/upload/index.js.map +1 -1
  504. package/lib/upload/themes/image-card.js +1 -0
  505. package/lib/upload/themes/image-card.js.map +1 -1
  506. package/lib/upload/upload.js +1 -0
  507. package/lib/upload/upload.js.map +1 -1
  508. package/package.json +1 -1
  509. package/es/date-picker/panel/DatePickerPanel.js.map +0 -1
  510. package/es/date-picker/panel/DateRangePickerPanel.js.map +0 -1
  511. package/es/date-picker/panel/useTableData.js.map +0 -1
  512. package/esm/date-picker/panel/DatePickerPanel.js.map +0 -1
  513. package/esm/date-picker/panel/DateRangePickerPanel.js.map +0 -1
  514. package/esm/date-picker/panel/useTableData.js.map +0 -1
  515. package/lib/date-picker/panel/DatePickerPanel.js.map +0 -1
  516. package/lib/date-picker/panel/DateRangePickerPanel.js.map +0 -1
  517. package/lib/date-picker/panel/useTableData.js.map +0 -1
@@ -15,8 +15,8 @@ var tdesignIconsReact = require('tdesign-icons-react');
15
15
  var dayjs = require('dayjs');
16
16
  var classNames = require('classnames');
17
17
  var _util_useConfig = require('../../_util/useConfig.js');
18
- var hooks_useControlled = require('../../hooks/useControlled.js');
19
18
  var datePicker_hooks_useFormat = require('./useFormat.js');
19
+ var datePicker_hooks_useRangeValue = require('./useRangeValue.js');
20
20
  require('../../_chunks/dep-19841e1d.js');
21
21
  require('../../_chunks/dep-b15f51d2.js');
22
22
  require('../../_chunks/dep-acf33b68.js');
@@ -40,16 +40,17 @@ require('../../_chunks/dep-542cc308.js');
40
40
  require('../../_chunks/dep-c6637e11.js');
41
41
  require('../../_common/js/global-config/locale/zh_CN.js');
42
42
  require('../../config-provider/zh_CN_config.js');
43
- require('../../_chunks/dep-f3090217.js');
44
- require('../../_chunks/dep-d4a0b3f0.js');
45
- require('../../_chunks/dep-6dfb2577.js');
46
- require('../../_chunks/dep-86abec96.js');
47
- require('../../_chunks/dep-cb0f33ac.js');
48
- require('../../_util/noop.js');
49
43
  require('../../_common/js/date-picker/utils-new.js');
50
44
  require('../../_chunks/dep-e9185c09.js');
45
+ require('../../_chunks/dep-6dfb2577.js');
51
46
  require('../../_chunks/dep-d97f1281.js');
52
47
  require('../../_chunks/dep-e19f22f6.js');
48
+ require('../../_chunks/dep-cb0f33ac.js');
49
+ require('../../hooks/useControlled.js');
50
+ require('../../_chunks/dep-f3090217.js');
51
+ require('../../_chunks/dep-d4a0b3f0.js');
52
+ require('../../_chunks/dep-86abec96.js');
53
+ require('../../_util/noop.js');
53
54
 
54
55
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
55
56
 
@@ -64,44 +65,8 @@ var PARTIAL_MAP = {
64
65
  first: "start",
65
66
  second: "end"
66
67
  };
67
-
68
- function initYearMonthTime(value) {
69
- var mode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "date";
70
- var format = arguments.length > 2 ? arguments[2] : undefined;
71
- var timeFormat = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "HH:mm:ss";
72
- var defaultYearMonthTime = {
73
- year: [dayjs__default["default"]().year(), dayjs__default["default"]().year()],
74
- month: [dayjs__default["default"]().month(), dayjs__default["default"]().month()],
75
- time: [dayjs__default["default"]().format(timeFormat), dayjs__default["default"]().format(timeFormat)]
76
- };
77
-
78
- if (mode === "year") {
79
- defaultYearMonthTime.year[1] += 10;
80
- } else if (mode === "month") {
81
- defaultYearMonthTime.year[1] += 1;
82
- } else if (mode === "date") {
83
- defaultYearMonthTime.month[1] += 1;
84
- }
85
-
86
- if (!value || !Array.isArray(value) || !value.length) {
87
- return defaultYearMonthTime;
88
- }
89
-
90
- return {
91
- year: value.map(function (v) {
92
- return dayjs__default["default"](v, format).year();
93
- }),
94
- month: value.map(function (v) {
95
- return dayjs__default["default"](v, format).month();
96
- }),
97
- time: value.map(function (v) {
98
- return dayjs__default["default"](v, format).format(timeFormat);
99
- })
100
- };
101
- }
102
-
103
68
  function useRange(props) {
104
- var _popupPropsFromProps$;
69
+ var _props$placeholder, _props$suffixIcon, _props$popupProps$ove, _props$popupProps, _props$popupProps2;
105
70
 
106
71
  var _useConfig = _util_useConfig["default"](),
107
72
  classPrefix = _useConfig.classPrefix,
@@ -110,36 +75,31 @@ function useRange(props) {
110
75
  var name = "".concat(classPrefix, "-date-range-picker");
111
76
  var isMountedRef = React.useRef(false);
112
77
  var inputRef = React.useRef();
113
- var mode = props.mode,
114
- prefixIcon = props.prefixIcon,
115
- suffixIcon = props.suffixIcon,
116
- rangeInputPropsFromProps = props.rangeInputProps,
117
- popupPropsFromProps = props.popupProps,
118
- allowInput = props.allowInput,
119
- clearable = props.clearable,
120
- _props$placeholder = props.placeholder,
121
- placeholder = _props$placeholder === void 0 ? globalDatePickerConfig.placeholder[mode] : _props$placeholder,
122
- _onBlur = props.onBlur,
123
- _onFocus = props.onFocus,
124
- onInput = props.onInput;
125
78
 
126
- var _useControlled = hooks_useControlled["default"](props, "value", props.onChange),
127
- _useControlled2 = slicedToArray._slicedToArray(_useControlled, 2),
128
- value = _useControlled2[0],
129
- onChange = _useControlled2[1];
79
+ var _useRangeValue = datePicker_hooks_useRangeValue["default"](props),
80
+ value = _useRangeValue.value,
81
+ onChange = _useRangeValue.onChange,
82
+ time = _useRangeValue.time,
83
+ setTime = _useRangeValue.setTime,
84
+ month = _useRangeValue.month,
85
+ setMonth = _useRangeValue.setMonth,
86
+ year = _useRangeValue.year,
87
+ setYear = _useRangeValue.setYear,
88
+ cacheValue = _useRangeValue.cacheValue,
89
+ setCacheValue = _useRangeValue.setCacheValue,
90
+ isFirstValueSelected = _useRangeValue.isFirstValueSelected,
91
+ setIsFirstValueSelected = _useRangeValue.setIsFirstValueSelected;
130
92
 
131
93
  var _useFormat = datePicker_hooks_useFormat["default"]({
132
- mode: mode,
133
94
  value: value,
95
+ mode: props.mode,
134
96
  format: props.format,
135
97
  valueType: props.valueType,
136
98
  enableTimePicker: props.enableTimePicker
137
99
  }),
138
- format = _useFormat.format,
139
100
  isValidDate = _useFormat.isValidDate,
140
101
  timeFormat = _useFormat.timeFormat,
141
- formatDate = _useFormat.formatDate,
142
- formatTime = _useFormat.formatTime;
102
+ formatDate = _useFormat.formatDate;
143
103
 
144
104
  if (!Array.isArray(value)) {
145
105
  console.error("typeof value: ".concat(value, " must be Array!"));
@@ -162,44 +122,19 @@ function useRange(props) {
162
122
  activeIndex = _useState6[0],
163
123
  setActiveIndex = _useState6[1];
164
124
 
165
- var _useState7 = React.useState(false),
125
+ var _useState7 = React.useState(formatDate(value)),
166
126
  _useState8 = slicedToArray._slicedToArray(_useState7, 2),
167
- isFirstValueSelected = _useState8[0],
168
- setIsFirstValueSelected = _useState8[1];
169
-
170
- var _useState9 = React.useState(initYearMonthTime(value, mode, format, timeFormat).time),
171
- _useState10 = slicedToArray._slicedToArray(_useState9, 2),
172
- timeValue = _useState10[0],
173
- setTimeValue = _useState10[1];
127
+ inputValue = _useState8[0],
128
+ setInputValue = _useState8[1];
174
129
 
175
- var _useState11 = React.useState(initYearMonthTime(value, mode, format).month),
176
- _useState12 = slicedToArray._slicedToArray(_useState11, 2),
177
- month = _useState12[0],
178
- setMonth = _useState12[1];
179
-
180
- var _useState13 = React.useState(initYearMonthTime(value, mode, format).year),
181
- _useState14 = slicedToArray._slicedToArray(_useState13, 2),
182
- year = _useState14[0],
183
- setYear = _useState14[1];
184
-
185
- var _useState15 = React.useState(formatDate(value)),
186
- _useState16 = slicedToArray._slicedToArray(_useState15, 2),
187
- inputValue = _useState16[0],
188
- setInputValue = _useState16[1];
189
-
190
- var _useState17 = React.useState(formatDate(value)),
191
- _useState18 = slicedToArray._slicedToArray(_useState17, 2),
192
- cacheValue = _useState18[0],
193
- setCacheValue = _useState18[1];
194
-
195
- var rangeInputProps = _objectSpread(_objectSpread({}, rangeInputPropsFromProps), {}, {
130
+ var rangeInputProps = _objectSpread(_objectSpread({}, props.rangeInputProps), {}, {
196
131
  ref: inputRef,
197
- clearable: clearable,
198
- prefixIcon: prefixIcon,
199
- readonly: !allowInput,
200
- placeholder: placeholder,
132
+ clearable: props.clearable,
133
+ prefixIcon: props.prefixIcon,
134
+ readonly: !props.allowInput,
135
+ placeholder: (_props$placeholder = props.placeholder) !== null && _props$placeholder !== void 0 ? _props$placeholder : globalDatePickerConfig.placeholder[props.mode],
201
136
  activeIndex: popupVisible ? activeIndex : void 0,
202
- suffixIcon: suffixIcon || /* @__PURE__ */React__default["default"].createElement(tdesignIconsReact.CalendarIcon, null),
137
+ suffixIcon: (_props$suffixIcon = props.suffixIcon) !== null && _props$suffixIcon !== void 0 ? _props$suffixIcon : /* @__PURE__ */React__default["default"].createElement(tdesignIconsReact.CalendarIcon, null),
203
138
  className: classNames__default["default"](defineProperty._defineProperty({}, "".concat(name, "__input--placeholder"), isHoverCell)),
204
139
  onClick: function onClick(_ref) {
205
140
  var position = _ref.position;
@@ -215,18 +150,22 @@ function useRange(props) {
215
150
  });
216
151
  },
217
152
  onBlur: function onBlur(newVal, _ref3) {
153
+ var _props$onBlur;
154
+
218
155
  var e = _ref3.e,
219
156
  position = _ref3.position;
220
- _onBlur === null || _onBlur === void 0 ? void 0 : _onBlur({
157
+ (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 ? void 0 : _props$onBlur.call(props, {
221
158
  value: newVal,
222
159
  partial: PARTIAL_MAP[position],
223
160
  e: e
224
161
  });
225
162
  },
226
163
  onFocus: function onFocus(newVal, _ref4) {
164
+ var _props$onFocus;
165
+
227
166
  var e = _ref4.e,
228
167
  position = _ref4.position;
229
- _onFocus === null || _onFocus === void 0 ? void 0 : _onFocus({
168
+ (_props$onFocus = props.onFocus) === null || _props$onFocus === void 0 ? void 0 : _props$onFocus.call(props, {
230
169
  value: newVal,
231
170
  partial: PARTIAL_MAP[position],
232
171
  e: e
@@ -234,10 +173,12 @@ function useRange(props) {
234
173
  setActiveIndex(position === "first" ? 0 : 1);
235
174
  },
236
175
  onChange: function onChange(newVal, _ref5) {
176
+ var _props$onInput;
177
+
237
178
  var e = _ref5.e,
238
179
  position = _ref5.position;
239
180
  var index = position === "first" ? 0 : 1;
240
- onInput === null || onInput === void 0 ? void 0 : onInput({
181
+ (_props$onInput = props.onInput) === null || _props$onInput === void 0 ? void 0 : _props$onInput.call(props, {
241
182
  input: newVal[index],
242
183
  value: value,
243
184
  partial: PARTIAL_MAP[position],
@@ -251,18 +192,20 @@ function useRange(props) {
251
192
  newVal.forEach(function (v, i) {
252
193
  newYear.push(dayjs__default["default"](v).year() || year[i]);
253
194
  newMonth.push(dayjs__default["default"](v).month() || month[i]);
254
- newTime.push(dayjs__default["default"](v).format(timeFormat) || timeValue[i]);
195
+ newTime.push(dayjs__default["default"](v).format(timeFormat) || time[i]);
255
196
  });
256
197
  setYear(newYear);
257
198
  setMonth(newMonth);
258
- setTimeValue(newTime);
199
+ setTime(newTime);
259
200
  },
260
201
  onEnter: function onEnter(newVal) {
261
202
  if (!isValidDate(newVal) && !isValidDate(value)) return;
262
203
  setPopupVisible(false);
263
204
 
264
205
  if (isValidDate(newVal)) {
265
- onChange(formatDate(newVal, "valueType"), {
206
+ onChange(formatDate(newVal, {
207
+ formatType: "valueType"
208
+ }), {
266
209
  dayjsValue: newVal.map(function (v) {
267
210
  return dayjs__default["default"](v);
268
211
  }),
@@ -278,11 +221,11 @@ function useRange(props) {
278
221
 
279
222
  var popupProps = _objectSpread(_objectSpread({
280
223
  expandAnimation: true
281
- }, popupPropsFromProps), {}, {
282
- overlayStyle: (_popupPropsFromProps$ = popupPropsFromProps === null || popupPropsFromProps === void 0 ? void 0 : popupPropsFromProps.overlayStyle) !== null && _popupPropsFromProps$ !== void 0 ? _popupPropsFromProps$ : {
224
+ }, props.popupProps), {}, {
225
+ overlayStyle: (_props$popupProps$ove = (_props$popupProps = props.popupProps) === null || _props$popupProps === void 0 ? void 0 : _props$popupProps.overlayStyle) !== null && _props$popupProps$ove !== void 0 ? _props$popupProps$ove : {
283
226
  width: "auto"
284
227
  },
285
- overlayClassName: classNames__default["default"](popupPropsFromProps === null || popupPropsFromProps === void 0 ? void 0 : popupPropsFromProps.overlayClassName, "".concat(name, "__panel-container")),
228
+ overlayClassName: classNames__default["default"]((_props$popupProps2 = props.popupProps) === null || _props$popupProps2 === void 0 ? void 0 : _props$popupProps2.overlayClassName, "".concat(name, "__panel-container")),
286
229
  onVisibleChange: function onVisibleChange(visible, context) {
287
230
  if (context.trigger === "trigger-element-click") {
288
231
  var indexMap = {
@@ -309,15 +252,11 @@ function useRange(props) {
309
252
  React.useEffect(function () {
310
253
  if (!value) {
311
254
  setInputValue([]);
312
- setCacheValue([]);
313
- setTimeValue([dayjs__default["default"]().format(timeFormat), dayjs__default["default"]().format(timeFormat)]);
314
255
  return;
315
256
  }
316
257
 
317
258
  if (!isValidDate(value, "valueType")) return;
318
259
  setInputValue(formatDate(value));
319
- setCacheValue(formatDate(value));
320
- setTimeValue(formatTime(value));
321
260
  }, [value]);
322
261
  React.useEffect(function () {
323
262
  if (!isMountedRef.current) {
@@ -337,7 +276,7 @@ function useRange(props) {
337
276
  year: year,
338
277
  month: month,
339
278
  value: value,
340
- timeValue: timeValue,
279
+ time: time,
341
280
  inputValue: inputValue,
342
281
  popupVisible: popupVisible,
343
282
  rangeInputProps: rangeInputProps,
@@ -346,7 +285,7 @@ function useRange(props) {
346
285
  onChange: onChange,
347
286
  setYear: setYear,
348
287
  setMonth: setMonth,
349
- setTimeValue: setTimeValue,
288
+ setTime: setTime,
350
289
  setIsHoverCell: setIsHoverCell,
351
290
  setInputValue: setInputValue,
352
291
  setPopupVisible: setPopupVisible,
@@ -1 +1 @@
1
- {"version":3,"file":"useRange.js","sources":["../../../src/date-picker/hooks/useRange.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { CalendarIcon } from 'tdesign-icons-react';\nimport dayjs from 'dayjs';\nimport classNames from 'classnames';\nimport useConfig from '../../_util/useConfig';\nimport useControlled from '../../hooks/useControlled';\nimport { RangeInputRefInterface } from '../../range-input';\nimport { TdDateRangePickerProps, DateValue } from '../type';\nimport useFormat from './useFormat';\n\nexport const PARTIAL_MAP = { first: 'start', second: 'end' };\n\n// 初始化面板年份月份\nfunction initYearMonthTime(value: DateValue[], mode = 'date', format: string, timeFormat = 'HH:mm:ss') {\n const defaultYearMonthTime = {\n year: [dayjs().year(), dayjs().year()],\n month: [dayjs().month(), dayjs().month()],\n time: [dayjs().format(timeFormat), dayjs().format(timeFormat)],\n };\n if (mode === 'year') {\n defaultYearMonthTime.year[1] += 10;\n } else if (mode === 'month') {\n defaultYearMonthTime.year[1] += 1;\n } else if (mode === 'date') {\n defaultYearMonthTime.month[1] += 1;\n }\n\n if (!value || !Array.isArray(value) || !value.length) {\n return defaultYearMonthTime;\n }\n\n return {\n year: value.map((v) => dayjs(v, format).year()),\n month: value.map((v) => dayjs(v, format).month()),\n time: value.map((v) => dayjs(v, format).format(timeFormat)),\n };\n}\n\nexport default function useRange(props: TdDateRangePickerProps) {\n const { classPrefix, datePicker: globalDatePickerConfig } = useConfig();\n const name = `${classPrefix}-date-range-picker`;\n\n const isMountedRef = useRef(false);\n const inputRef = useRef<RangeInputRefInterface>();\n\n const {\n mode,\n prefixIcon,\n suffixIcon,\n rangeInputProps: rangeInputPropsFromProps,\n popupProps: popupPropsFromProps,\n allowInput,\n clearable,\n placeholder = globalDatePickerConfig.placeholder[mode],\n onBlur,\n onFocus,\n onInput,\n } = props;\n\n const [value, onChange] = useControlled(props, 'value', props.onChange);\n const { format, isValidDate, timeFormat, formatDate, formatTime } = useFormat({\n mode,\n value,\n format: props.format,\n valueType: props.valueType,\n enableTimePicker: props.enableTimePicker,\n });\n\n // warning invalid value\n if (!Array.isArray(value)) {\n console.error(`typeof value: ${value} must be Array!`);\n } else if (!isValidDate(value, 'valueType')) {\n console.error(`value: ${value} is invalid datetime!`);\n }\n\n const [popupVisible, setPopupVisible] = useState(false);\n const [isHoverCell, setIsHoverCell] = useState(false);\n const [activeIndex, setActiveIndex] = useState(0); // 确定当前选中的输入框序号\n const [isFirstValueSelected, setIsFirstValueSelected] = useState(false); // 记录面板点击次数,两次后才自动关闭\n const [timeValue, setTimeValue] = useState(initYearMonthTime(value, mode, format, timeFormat).time);\n const [month, setMonth] = useState<Array<number>>(initYearMonthTime(value, mode, format).month);\n const [year, setYear] = useState<Array<number>>(initYearMonthTime(value, mode, format).year);\n // 未真正选中前可能不断变更输入框的内容\n const [inputValue, setInputValue] = useState(formatDate(value));\n // 选择阶段预选状态\n const [cacheValue, setCacheValue] = useState(formatDate(value));\n\n // input 设置\n const rangeInputProps = {\n ...rangeInputPropsFromProps,\n ref: inputRef,\n clearable,\n prefixIcon,\n readonly: !allowInput,\n placeholder,\n activeIndex: popupVisible ? activeIndex : undefined,\n suffixIcon: suffixIcon || <CalendarIcon />,\n className: classNames({\n [`${name}__input--placeholder`]: isHoverCell,\n }),\n onClick: ({ position }) => {\n setActiveIndex(position === 'first' ? 0 : 1);\n },\n onClear: ({ e }) => {\n e.stopPropagation();\n setPopupVisible(false);\n onChange([], { dayjsValue: [], trigger: 'clear' });\n },\n onBlur: (newVal: string[], { e, position }) => {\n onBlur?.({ value: newVal, partial: PARTIAL_MAP[position], e });\n },\n onFocus: (newVal: string[], { e, position }) => {\n onFocus?.({ value: newVal, partial: PARTIAL_MAP[position], e });\n setActiveIndex(position === 'first' ? 0 : 1);\n },\n onChange: (newVal: string[], { e, position }) => {\n const index = position === 'first' ? 0 : 1;\n\n onInput?.({ input: newVal[index], value, partial: PARTIAL_MAP[position], e });\n setInputValue(newVal);\n\n // 跳过不符合格式化的输入框内容\n if (!isValidDate(newVal)) return;\n const newYear = [];\n const newMonth = [];\n const newTime = [];\n newVal.forEach((v, i) => {\n newYear.push(dayjs(v).year() || year[i]);\n newMonth.push(dayjs(v).month() || month[i]);\n newTime.push(dayjs(v).format(timeFormat) || timeValue[i]);\n });\n setYear(newYear);\n setMonth(newMonth);\n setTimeValue(newTime);\n },\n onEnter: (newVal: string[]) => {\n if (!isValidDate(newVal) && !isValidDate(value)) return;\n\n setPopupVisible(false);\n if (isValidDate(newVal)) {\n onChange(formatDate(newVal, 'valueType') as DateValue[], {\n dayjsValue: newVal.map((v) => dayjs(v)),\n trigger: 'enter',\n });\n } else if (isValidDate(value)) {\n setInputValue(formatDate(value));\n } else {\n setInputValue([]);\n }\n },\n };\n\n // popup 设置\n const popupProps = {\n expandAnimation: true,\n ...popupPropsFromProps,\n overlayStyle: popupPropsFromProps?.overlayStyle ?? { width: 'auto' },\n overlayClassName: classNames(popupPropsFromProps?.overlayClassName, `${name}__panel-container`),\n onVisibleChange: (visible: boolean, context) => {\n // 输入框点击不关闭面板\n if (context.trigger === 'trigger-element-click') {\n const indexMap = { 0: 'first', 1: 'second' };\n inputRef.current.focus({ position: indexMap[activeIndex] });\n return setPopupVisible(true);\n }\n if (visible) {\n // 展开后重置点击次数\n setIsFirstValueSelected(false);\n } else {\n setIsHoverCell(false);\n setInputValue(formatDate(value));\n }\n\n setPopupVisible(visible);\n },\n };\n\n // 输入框响应 value 变化\n useEffect(() => {\n if (!value) {\n setInputValue([]);\n setCacheValue([]);\n setTimeValue([dayjs().format(timeFormat), dayjs().format(timeFormat)]);\n return;\n }\n if (!isValidDate(value, 'valueType')) return;\n\n setInputValue(formatDate(value));\n setCacheValue(formatDate(value));\n setTimeValue(formatTime(value));\n // eslint-disable-next-line\n }, [value]);\n\n // activeIndex 变化自动 focus 对应输入框\n useEffect(() => {\n if (!isMountedRef.current) {\n isMountedRef.current = true;\n return;\n }\n const indexMap = { 0: 'first', 1: 'second' };\n inputRef.current.focus({ position: indexMap[activeIndex] });\n // eslint-disable-next-line\n }, [activeIndex]);\n\n return {\n year,\n month,\n value,\n timeValue,\n inputValue,\n popupVisible,\n rangeInputProps,\n popupProps,\n isHoverCell,\n onChange,\n setYear,\n setMonth,\n setTimeValue,\n setIsHoverCell,\n setInputValue,\n setPopupVisible,\n activeIndex,\n setActiveIndex,\n isFirstValueSelected,\n setIsFirstValueSelected,\n cacheValue,\n setCacheValue,\n };\n}\n"],"names":["PARTIAL_MAP","first","second","initYearMonthTime","value","mode","format","timeFormat","defaultYearMonthTime","year","dayjs","month","time","Array","isArray","length","map","v","useRange","props","useConfig","classPrefix","globalDatePickerConfig","datePicker","name","isMountedRef","useRef","inputRef","prefixIcon","suffixIcon","rangeInputPropsFromProps","rangeInputProps","popupPropsFromProps","popupProps","allowInput","clearable","placeholder","onBlur","onFocus","onInput","useControlled","onChange","_slicedToArray","useFormat","valueType","enableTimePicker","isValidDate","formatDate","formatTime","console","error","useState","popupVisible","setPopupVisible","isHoverCell","setIsHoverCell","activeIndex","setActiveIndex","isFirstValueSelected","setIsFirstValueSelected","timeValue","setTimeValue","setMonth","setYear","inputValue","setInputValue","cacheValue","setCacheValue","ref","readonly","React","createElement","CalendarIcon","className","classNames","_defineProperty","onClick","position","onClear","e","stopPropagation","dayjsValue","trigger","newVal","partial","index","input","newYear","newMonth","newTime","forEach","i","push","onEnter","expandAnimation","overlayStyle","width","overlayClassName","onVisibleChange","visible","context","indexMap","current","focus","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"useRange.js","sources":["../../../src/date-picker/hooks/useRange.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { CalendarIcon } from 'tdesign-icons-react';\nimport dayjs from 'dayjs';\nimport classNames from 'classnames';\nimport useConfig from '../../_util/useConfig';\nimport { RangeInputRefInterface } from '../../range-input';\nimport { TdDateRangePickerProps, DateValue } from '../type';\nimport useFormat from './useFormat';\nimport useRangeValue from './useRangeValue';\n\nexport const PARTIAL_MAP = { first: 'start', second: 'end' };\n\nexport default function useRange(props: TdDateRangePickerProps) {\n const { classPrefix, datePicker: globalDatePickerConfig } = useConfig();\n const name = `${classPrefix}-date-range-picker`;\n\n const isMountedRef = useRef(false);\n const inputRef = useRef<RangeInputRefInterface>();\n\n const {\n value,\n onChange,\n time,\n setTime,\n month,\n setMonth,\n year,\n setYear,\n cacheValue,\n setCacheValue,\n isFirstValueSelected,\n setIsFirstValueSelected,\n } = useRangeValue(props);\n\n const { isValidDate, timeFormat, formatDate } = useFormat({\n value,\n mode: props.mode,\n format: props.format,\n valueType: props.valueType,\n enableTimePicker: props.enableTimePicker,\n });\n\n // warning invalid value\n if (!Array.isArray(value)) {\n console.error(`typeof value: ${value} must be Array!`);\n } else if (!isValidDate(value, 'valueType')) {\n console.error(`value: ${value} is invalid datetime!`);\n }\n\n const [popupVisible, setPopupVisible] = useState(false);\n const [isHoverCell, setIsHoverCell] = useState(false);\n const [activeIndex, setActiveIndex] = useState(0); // 确定当前选中的输入框序号\n // 未真正选中前可能不断变更输入框的内容\n const [inputValue, setInputValue] = useState(formatDate(value));\n\n // input 设置\n const rangeInputProps = {\n ...props.rangeInputProps,\n ref: inputRef,\n clearable: props.clearable,\n prefixIcon: props.prefixIcon,\n readonly: !props.allowInput,\n placeholder: props.placeholder ?? globalDatePickerConfig.placeholder[props.mode],\n activeIndex: popupVisible ? activeIndex : undefined,\n suffixIcon: props.suffixIcon ?? <CalendarIcon />,\n className: classNames({\n [`${name}__input--placeholder`]: isHoverCell,\n }),\n onClick: ({ position }) => {\n setActiveIndex(position === 'first' ? 0 : 1);\n },\n onClear: ({ e }) => {\n e.stopPropagation();\n setPopupVisible(false);\n onChange([], { dayjsValue: [], trigger: 'clear' });\n },\n onBlur: (newVal: string[], { e, position }) => {\n props.onBlur?.({ value: newVal, partial: PARTIAL_MAP[position], e });\n },\n onFocus: (newVal: string[], { e, position }) => {\n props.onFocus?.({ value: newVal, partial: PARTIAL_MAP[position], e });\n setActiveIndex(position === 'first' ? 0 : 1);\n },\n onChange: (newVal: string[], { e, position }) => {\n const index = position === 'first' ? 0 : 1;\n\n props.onInput?.({ input: newVal[index], value, partial: PARTIAL_MAP[position], e });\n setInputValue(newVal);\n\n // 跳过不符合格式化的输入框内容\n if (!isValidDate(newVal)) return;\n const newYear = [];\n const newMonth = [];\n const newTime = [];\n newVal.forEach((v, i) => {\n newYear.push(dayjs(v).year() || year[i]);\n newMonth.push(dayjs(v).month() || month[i]);\n newTime.push(dayjs(v).format(timeFormat) || time[i]);\n });\n setYear(newYear);\n setMonth(newMonth);\n setTime(newTime);\n },\n onEnter: (newVal: string[]) => {\n if (!isValidDate(newVal) && !isValidDate(value)) return;\n\n setPopupVisible(false);\n if (isValidDate(newVal)) {\n onChange(formatDate(newVal, { formatType: 'valueType' }) as DateValue[], {\n dayjsValue: newVal.map((v) => dayjs(v)),\n trigger: 'enter',\n });\n } else if (isValidDate(value)) {\n setInputValue(formatDate(value));\n } else {\n setInputValue([]);\n }\n },\n };\n\n // popup 设置\n const popupProps = {\n expandAnimation: true,\n ...props.popupProps,\n overlayStyle: props.popupProps?.overlayStyle ?? { width: 'auto' },\n overlayClassName: classNames(props.popupProps?.overlayClassName, `${name}__panel-container`),\n onVisibleChange: (visible: boolean, context) => {\n // 输入框点击不关闭面板\n if (context.trigger === 'trigger-element-click') {\n const indexMap = { 0: 'first', 1: 'second' };\n inputRef.current.focus({ position: indexMap[activeIndex] });\n return setPopupVisible(true);\n }\n if (visible) {\n // 展开后重置点击次数\n setIsFirstValueSelected(false);\n } else {\n setIsHoverCell(false);\n setInputValue(formatDate(value));\n }\n\n setPopupVisible(visible);\n },\n };\n\n // 输入框响应 value 变化\n useEffect(() => {\n if (!value) {\n setInputValue([]);\n return;\n }\n if (!isValidDate(value, 'valueType')) return;\n\n setInputValue(formatDate(value));\n // eslint-disable-next-line\n }, [value]);\n\n // activeIndex 变化自动 focus 对应输入框\n useEffect(() => {\n if (!isMountedRef.current) {\n isMountedRef.current = true;\n return;\n }\n const indexMap = { 0: 'first', 1: 'second' };\n inputRef.current.focus({ position: indexMap[activeIndex] });\n // eslint-disable-next-line\n }, [activeIndex]);\n\n return {\n year,\n month,\n value,\n time,\n inputValue,\n popupVisible,\n rangeInputProps,\n popupProps,\n isHoverCell,\n onChange,\n setYear,\n setMonth,\n setTime,\n setIsHoverCell,\n setInputValue,\n setPopupVisible,\n activeIndex,\n setActiveIndex,\n isFirstValueSelected,\n setIsFirstValueSelected,\n cacheValue,\n setCacheValue,\n };\n}\n"],"names":["PARTIAL_MAP","first","second","useRange","props","useConfig","classPrefix","globalDatePickerConfig","datePicker","name","isMountedRef","useRef","inputRef","useRangeValue","value","onChange","time","setTime","month","setMonth","year","setYear","cacheValue","setCacheValue","isFirstValueSelected","setIsFirstValueSelected","useFormat","mode","format","valueType","enableTimePicker","isValidDate","timeFormat","formatDate","Array","isArray","console","error","useState","_slicedToArray","popupVisible","setPopupVisible","isHoverCell","setIsHoverCell","activeIndex","setActiveIndex","inputValue","setInputValue","rangeInputProps","ref","clearable","prefixIcon","readonly","allowInput","placeholder","suffixIcon","React","createElement","CalendarIcon","className","classNames","_defineProperty","onClick","position","onClear","e","stopPropagation","dayjsValue","trigger","onBlur","newVal","partial","onFocus","index","onInput","input","newYear","newMonth","newTime","forEach","v","i","push","dayjs","onEnter","formatType","map","popupProps","expandAnimation","overlayStyle","width","overlayClassName","onVisibleChange","visible","context","indexMap","current","focus","useEffect"],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /// <reference types="react" />
2
+ import dayjs from 'dayjs';
3
+ import { TdDateRangePickerProps } from '../type';
4
+ export declare const PARTIAL_MAP: {
5
+ first: string;
6
+ second: string;
7
+ };
8
+ export default function useRange(props: TdDateRangePickerProps): {
9
+ value: import("../type").DateRangeValue;
10
+ onChange: import("../../hooks/useControlled").ChangeHandler<import("../type").DateRangeValue, [context: {
11
+ dayjsValue?: dayjs.Dayjs[];
12
+ trigger?: import("../type").DatePickerTriggerSource;
13
+ }]>;
14
+ year: number[];
15
+ setYear: import("react").Dispatch<import("react").SetStateAction<number[]>>;
16
+ month: number[];
17
+ setMonth: import("react").Dispatch<import("react").SetStateAction<number[]>>;
18
+ time: string[];
19
+ setTime: import("react").Dispatch<import("react").SetStateAction<string[]>>;
20
+ isFirstValueSelected: boolean;
21
+ setIsFirstValueSelected: import("react").Dispatch<import("react").SetStateAction<boolean>>;
22
+ cacheValue: any;
23
+ setCacheValue: import("react").Dispatch<any>;
24
+ };
@@ -0,0 +1,162 @@
1
+ /**
2
+ * tdesign v0.34.4
3
+ * (c) 2022 tdesign
4
+ * @license MIT
5
+ */
6
+
7
+ 'use strict';
8
+
9
+ Object.defineProperty(exports, '__esModule', { value: true });
10
+
11
+ var slicedToArray = require('../../_chunks/dep-3cf9becb.js');
12
+ var React = require('react');
13
+ var dayjs = require('dayjs');
14
+ var hooks_useControlled = require('../../hooks/useControlled.js');
15
+ var datePicker_hooks_useFormat = require('./useFormat.js');
16
+ require('../../_chunks/dep-19841e1d.js');
17
+ require('../../_chunks/dep-f3090217.js');
18
+ require('../../_chunks/dep-d4a0b3f0.js');
19
+ require('../../_chunks/dep-6dfb2577.js');
20
+ require('../../_chunks/dep-86abec96.js');
21
+ require('../../_chunks/dep-fcf32c81.js');
22
+ require('../../_chunks/dep-3405bda4.js');
23
+ require('../../_chunks/dep-c90cc28f.js');
24
+ require('../../_chunks/dep-cb0f33ac.js');
25
+ require('../../_chunks/dep-b1a67107.js');
26
+ require('../../_util/noop.js');
27
+ require('../../_common/js/date-picker/utils-new.js');
28
+ require('../../_chunks/dep-e9185c09.js');
29
+ require('../../_chunks/dep-c6637e11.js');
30
+ require('../../_chunks/dep-c40d75ac.js');
31
+ require('../../_chunks/dep-633a5671.js');
32
+ require('../../_chunks/dep-e266830c.js');
33
+ require('../../_chunks/dep-15a4424e.js');
34
+ require('../../_chunks/dep-9c339ffc.js');
35
+ require('../../_chunks/dep-542cc308.js');
36
+ require('../../_chunks/dep-d97f1281.js');
37
+ require('../../_chunks/dep-e19f22f6.js');
38
+
39
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
40
+
41
+ var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
42
+
43
+ var PARTIAL_MAP = {
44
+ first: "start",
45
+ second: "end"
46
+ };
47
+
48
+ function initYearMonthTime(value) {
49
+ var mode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "date";
50
+ var format = arguments.length > 2 ? arguments[2] : undefined;
51
+ var timeFormat = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "HH:mm:ss";
52
+ var defaultYearMonthTime = {
53
+ year: [dayjs__default["default"]().year(), dayjs__default["default"]().year()],
54
+ month: [dayjs__default["default"]().month(), dayjs__default["default"]().month()],
55
+ time: [dayjs__default["default"]().format(timeFormat), dayjs__default["default"]().format(timeFormat)]
56
+ };
57
+
58
+ if (mode === "year") {
59
+ defaultYearMonthTime.year[1] += 10;
60
+ } else if (mode === "month") {
61
+ defaultYearMonthTime.year[1] += 1;
62
+ } else if (mode === "date") {
63
+ defaultYearMonthTime.month[1] += 1;
64
+ }
65
+
66
+ if (!value || !Array.isArray(value) || !value.length) {
67
+ return defaultYearMonthTime;
68
+ }
69
+
70
+ return {
71
+ year: value.map(function (v) {
72
+ return dayjs__default["default"](v, format).year();
73
+ }),
74
+ month: value.map(function (v) {
75
+ return dayjs__default["default"](v, format).month();
76
+ }),
77
+ time: value.map(function (v) {
78
+ return dayjs__default["default"](v, format).format(timeFormat);
79
+ })
80
+ };
81
+ }
82
+
83
+ function useRange(props) {
84
+ var _useControlled = hooks_useControlled["default"](props, "value", props.onChange),
85
+ _useControlled2 = slicedToArray._slicedToArray(_useControlled, 2),
86
+ value = _useControlled2[0],
87
+ onChange = _useControlled2[1];
88
+
89
+ var _useFormat = datePicker_hooks_useFormat["default"]({
90
+ value: value,
91
+ mode: props.mode,
92
+ format: props.format,
93
+ valueType: props.valueType,
94
+ enableTimePicker: props.enableTimePicker
95
+ }),
96
+ format = _useFormat.format,
97
+ isValidDate = _useFormat.isValidDate,
98
+ timeFormat = _useFormat.timeFormat,
99
+ formatDate = _useFormat.formatDate,
100
+ formatTime = _useFormat.formatTime;
101
+
102
+ if (!Array.isArray(value)) {
103
+ console.error("typeof value: ".concat(value, " must be Array!"));
104
+ } else if (!isValidDate(value, "valueType")) {
105
+ console.error("value: ".concat(value, " is invalid datetime!"));
106
+ }
107
+
108
+ var _useState = React.useState(false),
109
+ _useState2 = slicedToArray._slicedToArray(_useState, 2),
110
+ isFirstValueSelected = _useState2[0],
111
+ setIsFirstValueSelected = _useState2[1];
112
+
113
+ var _useState3 = React.useState(initYearMonthTime(value, props.mode, format, timeFormat).time),
114
+ _useState4 = slicedToArray._slicedToArray(_useState3, 2),
115
+ time = _useState4[0],
116
+ setTime = _useState4[1];
117
+
118
+ var _useState5 = React.useState(initYearMonthTime(value, props.mode, format).month),
119
+ _useState6 = slicedToArray._slicedToArray(_useState5, 2),
120
+ month = _useState6[0],
121
+ setMonth = _useState6[1];
122
+
123
+ var _useState7 = React.useState(initYearMonthTime(value, props.mode, format).year),
124
+ _useState8 = slicedToArray._slicedToArray(_useState7, 2),
125
+ year = _useState8[0],
126
+ setYear = _useState8[1];
127
+
128
+ var _useState9 = React.useState(formatDate(value)),
129
+ _useState10 = slicedToArray._slicedToArray(_useState9, 2),
130
+ cacheValue = _useState10[0],
131
+ setCacheValue = _useState10[1];
132
+
133
+ React.useEffect(function () {
134
+ if (!value) {
135
+ setCacheValue([]);
136
+ setTime([dayjs__default["default"]().format(timeFormat), dayjs__default["default"]().format(timeFormat)]);
137
+ return;
138
+ }
139
+
140
+ if (!isValidDate(value, "valueType")) return;
141
+ setCacheValue(formatDate(value));
142
+ setTime(formatTime(value));
143
+ }, [value]);
144
+ return {
145
+ value: value,
146
+ onChange: onChange,
147
+ year: year,
148
+ setYear: setYear,
149
+ month: month,
150
+ setMonth: setMonth,
151
+ time: time,
152
+ setTime: setTime,
153
+ isFirstValueSelected: isFirstValueSelected,
154
+ setIsFirstValueSelected: setIsFirstValueSelected,
155
+ cacheValue: cacheValue,
156
+ setCacheValue: setCacheValue
157
+ };
158
+ }
159
+
160
+ exports.PARTIAL_MAP = PARTIAL_MAP;
161
+ exports["default"] = useRange;
162
+ //# sourceMappingURL=useRangeValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRangeValue.js","sources":["../../../src/date-picker/hooks/useRangeValue.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport dayjs from 'dayjs';\nimport useControlled from '../../hooks/useControlled';\nimport { TdDateRangePickerProps, DateValue } from '../type';\nimport useFormat from './useFormat';\n\nexport const PARTIAL_MAP = { first: 'start', second: 'end' };\n\n// 初始化面板年份月份\nfunction initYearMonthTime(value: DateValue[], mode = 'date', format: string, timeFormat = 'HH:mm:ss') {\n const defaultYearMonthTime = {\n year: [dayjs().year(), dayjs().year()],\n month: [dayjs().month(), dayjs().month()],\n time: [dayjs().format(timeFormat), dayjs().format(timeFormat)],\n };\n if (mode === 'year') {\n defaultYearMonthTime.year[1] += 10;\n } else if (mode === 'month') {\n defaultYearMonthTime.year[1] += 1;\n } else if (mode === 'date') {\n defaultYearMonthTime.month[1] += 1;\n }\n\n if (!value || !Array.isArray(value) || !value.length) {\n return defaultYearMonthTime;\n }\n\n return {\n year: value.map((v) => dayjs(v, format).year()),\n month: value.map((v) => dayjs(v, format).month()),\n time: value.map((v) => dayjs(v, format).format(timeFormat)),\n };\n}\n\nexport default function useRange(props: TdDateRangePickerProps) {\n const [value, onChange] = useControlled(props, 'value', props.onChange);\n const { format, isValidDate, timeFormat, formatDate, formatTime } = useFormat({\n value,\n mode: props.mode,\n format: props.format,\n valueType: props.valueType,\n enableTimePicker: props.enableTimePicker,\n });\n\n // warning invalid value\n if (!Array.isArray(value)) {\n console.error(`typeof value: ${value} must be Array!`);\n } else if (!isValidDate(value, 'valueType')) {\n console.error(`value: ${value} is invalid datetime!`);\n }\n\n const [isFirstValueSelected, setIsFirstValueSelected] = useState(false); // 记录面板点击次数,两次后才自动关闭\n const [time, setTime] = useState(initYearMonthTime(value, props.mode, format, timeFormat).time);\n const [month, setMonth] = useState<Array<number>>(initYearMonthTime(value, props.mode, format).month);\n const [year, setYear] = useState<Array<number>>(initYearMonthTime(value, props.mode, format).year);\n const [cacheValue, setCacheValue] = useState(formatDate(value)); // 缓存选中值,panel 点击时更改\n\n // 输入框响应 value 变化\n useEffect(() => {\n if (!value) {\n setCacheValue([]);\n setTime([dayjs().format(timeFormat), dayjs().format(timeFormat)]);\n return;\n }\n if (!isValidDate(value, 'valueType')) return;\n\n setCacheValue(formatDate(value));\n setTime(formatTime(value));\n // eslint-disable-next-line\n }, [value]);\n\n return {\n value,\n onChange,\n year,\n setYear,\n month,\n setMonth,\n time,\n setTime,\n isFirstValueSelected,\n setIsFirstValueSelected,\n cacheValue,\n setCacheValue,\n };\n}\n"],"names":["PARTIAL_MAP","first","second","initYearMonthTime","value","mode","format","timeFormat","defaultYearMonthTime","year","dayjs","month","time","Array","isArray","length","map","v","useRange","props","useControlled","onChange","_slicedToArray","useFormat","valueType","enableTimePicker","isValidDate","formatDate","formatTime","console","error","useState","isFirstValueSelected","setIsFirstValueSelected","setTime","setMonth","setYear","cacheValue","setCacheValue","useEffect"],"mappings":"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"}
@@ -1,11 +1,10 @@
1
1
  import React from 'react';
2
- import dayjs from 'dayjs';
3
- import { TdDatePickerProps, DateValue } from '../type';
4
- export default function useSingle(props: TdDatePickerProps): {
2
+ import { TdDatePickerProps } from '../type';
3
+ export default function useSingleInput(props: TdDatePickerProps): {
5
4
  year: number;
6
5
  month: number;
7
- value: DateValue;
8
- timeValue: any;
6
+ value: string;
7
+ time: any;
9
8
  inputValue: any;
10
9
  popupVisible: boolean;
11
10
  inputProps: {
@@ -112,13 +111,10 @@ export default function useSingle(props: TdDatePickerProps): {
112
111
  };
113
112
  inputRef: React.MutableRefObject<HTMLInputElement>;
114
113
  cacheValue: any;
115
- onChange: import("../../hooks/useControlled").ChangeHandler<DateValue, [context: {
116
- dayjsValue?: dayjs.Dayjs;
117
- trigger?: import("../type").DatePickerTriggerSource;
118
- }]>;
114
+ onChange: import("../../hooks/useControlled").ChangeHandler<string, any>;
119
115
  setYear: React.Dispatch<React.SetStateAction<number>>;
120
116
  setMonth: React.Dispatch<React.SetStateAction<number>>;
121
- setTimeValue: React.Dispatch<any>;
117
+ setTime: React.Dispatch<any>;
122
118
  setIsHoverCell: React.Dispatch<React.SetStateAction<boolean>>;
123
119
  setInputValue: React.Dispatch<any>;
124
120
  setPopupVisible: React.Dispatch<React.SetStateAction<boolean>>;