@rc-component/picker 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (569) hide show
  1. package/LICENSE.md +9 -0
  2. package/README.md +154 -0
  3. package/assets/index.css +407 -0
  4. package/assets/index.less +570 -0
  5. package/es/PickerInput/Popup/Footer.d.ts +19 -0
  6. package/es/PickerInput/Popup/Footer.js +78 -0
  7. package/es/PickerInput/Popup/PopupPanel.d.ts +10 -0
  8. package/es/PickerInput/Popup/PopupPanel.js +84 -0
  9. package/es/PickerInput/Popup/PresetPanel.d.ts +9 -0
  10. package/es/PickerInput/Popup/PresetPanel.js +31 -0
  11. package/es/PickerInput/Popup/index.d.ts +20 -0
  12. package/es/PickerInput/Popup/index.js +198 -0
  13. package/es/PickerInput/RangePicker.d.ts +54 -0
  14. package/es/PickerInput/RangePicker.js +641 -0
  15. package/es/PickerInput/Selector/Icon.d.ts +10 -0
  16. package/es/PickerInput/Selector/Icon.js +32 -0
  17. package/es/PickerInput/Selector/Input.d.ts +28 -0
  18. package/es/PickerInput/Selector/Input.js +377 -0
  19. package/es/PickerInput/Selector/MaskFormat.d.ts +22 -0
  20. package/es/PickerInput/Selector/MaskFormat.js +107 -0
  21. package/es/PickerInput/Selector/RangeSelector.d.ts +26 -0
  22. package/es/PickerInput/Selector/RangeSelector.js +218 -0
  23. package/es/PickerInput/Selector/SingleSelector/MultipleDates.d.ts +12 -0
  24. package/es/PickerInput/Selector/SingleSelector/MultipleDates.js +66 -0
  25. package/es/PickerInput/Selector/SingleSelector/index.d.ts +18 -0
  26. package/es/PickerInput/Selector/SingleSelector/index.js +187 -0
  27. package/es/PickerInput/Selector/hooks/useClearIcon.d.ts +8 -0
  28. package/es/PickerInput/Selector/hooks/useClearIcon.js +19 -0
  29. package/es/PickerInput/Selector/hooks/useInputProps.d.ts +16 -0
  30. package/es/PickerInput/Selector/hooks/useInputProps.js +178 -0
  31. package/es/PickerInput/Selector/hooks/useRootProps.d.ts +2 -0
  32. package/es/PickerInput/Selector/hooks/useRootProps.js +8 -0
  33. package/es/PickerInput/Selector/util.d.ts +1 -0
  34. package/es/PickerInput/Selector/util.js +12 -0
  35. package/es/PickerInput/SinglePicker.d.ts +51 -0
  36. package/es/PickerInput/SinglePicker.js +545 -0
  37. package/es/PickerInput/context.d.ts +13 -0
  38. package/es/PickerInput/context.js +3 -0
  39. package/es/PickerInput/hooks/useCellRender.d.ts +2 -0
  40. package/es/PickerInput/hooks/useCellRender.js +41 -0
  41. package/es/PickerInput/hooks/useDelayState.d.ts +5 -0
  42. package/es/PickerInput/hooks/useDelayState.js +48 -0
  43. package/es/PickerInput/hooks/useDisabledBoundary.d.ts +7 -0
  44. package/es/PickerInput/hooks/useDisabledBoundary.js +20 -0
  45. package/es/PickerInput/hooks/useFieldFormat.d.ts +2 -0
  46. package/es/PickerInput/hooks/useFieldFormat.js +18 -0
  47. package/es/PickerInput/hooks/useFieldsInvalidate.d.ts +5 -0
  48. package/es/PickerInput/hooks/useFieldsInvalidate.js +55 -0
  49. package/es/PickerInput/hooks/useFilledProps.d.ts +37 -0
  50. package/es/PickerInput/hooks/useFilledProps.js +155 -0
  51. package/es/PickerInput/hooks/useInputReadOnly.d.ts +2 -0
  52. package/es/PickerInput/hooks/useInputReadOnly.js +6 -0
  53. package/es/PickerInput/hooks/useInvalidate.d.ts +9 -0
  54. package/es/PickerInput/hooks/useInvalidate.js +61 -0
  55. package/es/PickerInput/hooks/useLockEffect.d.ts +5 -0
  56. package/es/PickerInput/hooks/useLockEffect.js +25 -0
  57. package/es/PickerInput/hooks/useOpen.d.ts +6 -0
  58. package/es/PickerInput/hooks/useOpen.js +33 -0
  59. package/es/PickerInput/hooks/usePickerRef.d.ts +7 -0
  60. package/es/PickerInput/hooks/usePickerRef.js +19 -0
  61. package/es/PickerInput/hooks/usePresets.d.ts +2 -0
  62. package/es/PickerInput/hooks/usePresets.js +28 -0
  63. package/es/PickerInput/hooks/useRangeActive.d.ts +19 -0
  64. package/es/PickerInput/hooks/useRangeActive.js +74 -0
  65. package/es/PickerInput/hooks/useRangeDisabledDate.d.ts +8 -0
  66. package/es/PickerInput/hooks/useRangeDisabledDate.js +53 -0
  67. package/es/PickerInput/hooks/useRangePickerValue.d.ts +5 -0
  68. package/es/PickerInput/hooks/useRangePickerValue.js +192 -0
  69. package/es/PickerInput/hooks/useRangeValue.d.ts +28 -0
  70. package/es/PickerInput/hooks/useRangeValue.js +297 -0
  71. package/es/PickerInput/hooks/useShowNow.d.ts +2 -0
  72. package/es/PickerInput/hooks/useShowNow.js +14 -0
  73. package/es/PickerPanel/DatePanel/index.d.ts +10 -0
  74. package/es/PickerPanel/DatePanel/index.js +190 -0
  75. package/es/PickerPanel/DateTimePanel/index.d.ts +3 -0
  76. package/es/PickerPanel/DateTimePanel/index.js +55 -0
  77. package/es/PickerPanel/DecadePanel/index.d.ts +3 -0
  78. package/es/PickerPanel/DecadePanel/index.js +113 -0
  79. package/es/PickerPanel/MonthPanel/index.d.ts +3 -0
  80. package/es/PickerPanel/MonthPanel/index.js +106 -0
  81. package/es/PickerPanel/PanelBody.d.ts +17 -0
  82. package/es/PickerPanel/PanelBody.js +153 -0
  83. package/es/PickerPanel/PanelHeader.d.ts +11 -0
  84. package/es/PickerPanel/PanelHeader.js +133 -0
  85. package/es/PickerPanel/QuarterPanel/index.d.ts +3 -0
  86. package/es/PickerPanel/QuarterPanel/index.js +92 -0
  87. package/es/PickerPanel/TimePanel/TimePanelBody/TimeColumn.d.ts +17 -0
  88. package/es/PickerPanel/TimePanel/TimePanelBody/TimeColumn.js +149 -0
  89. package/es/PickerPanel/TimePanel/TimePanelBody/index.d.ts +4 -0
  90. package/es/PickerPanel/TimePanel/TimePanelBody/index.js +283 -0
  91. package/es/PickerPanel/TimePanel/TimePanelBody/useScrollTo.d.ts +2 -0
  92. package/es/PickerPanel/TimePanel/TimePanelBody/useScrollTo.js +72 -0
  93. package/es/PickerPanel/TimePanel/TimePanelBody/util.d.ts +3 -0
  94. package/es/PickerPanel/TimePanel/TimePanelBody/util.js +43 -0
  95. package/es/PickerPanel/TimePanel/index.d.ts +4 -0
  96. package/es/PickerPanel/TimePanel/index.js +38 -0
  97. package/es/PickerPanel/WeekPanel/index.d.ts +3 -0
  98. package/es/PickerPanel/WeekPanel/index.js +55 -0
  99. package/es/PickerPanel/YearPanel/index.d.ts +3 -0
  100. package/es/PickerPanel/YearPanel/index.js +116 -0
  101. package/es/PickerPanel/context.d.ts +24 -0
  102. package/es/PickerPanel/context.js +67 -0
  103. package/es/PickerPanel/index.d.ts +60 -0
  104. package/es/PickerPanel/index.js +315 -0
  105. package/es/PickerTrigger/index.d.ts +19 -0
  106. package/es/PickerTrigger/index.js +86 -0
  107. package/es/PickerTrigger/util.d.ts +2 -0
  108. package/es/PickerTrigger/util.js +4 -0
  109. package/es/generate/dateFns.d.ts +3 -0
  110. package/es/generate/dateFns.js +163 -0
  111. package/es/generate/dayjs.d.ts +4 -0
  112. package/es/generate/dayjs.js +233 -0
  113. package/es/generate/index.d.ts +37 -0
  114. package/es/generate/index.js +1 -0
  115. package/es/generate/luxon.d.ts +4 -0
  116. package/es/generate/luxon.js +197 -0
  117. package/es/generate/moment.d.ts +4 -0
  118. package/es/generate/moment.js +152 -0
  119. package/es/hooks/useLocale.d.ts +6 -0
  120. package/es/hooks/useLocale.js +82 -0
  121. package/es/hooks/useSyncState.d.ts +6 -0
  122. package/es/hooks/useSyncState.js +27 -0
  123. package/es/hooks/useTimeConfig.d.ts +18 -0
  124. package/es/hooks/useTimeConfig.js +166 -0
  125. package/es/hooks/useTimeInfo.d.ts +12 -0
  126. package/es/hooks/useTimeInfo.js +164 -0
  127. package/es/hooks/useToggleDates.d.ts +8 -0
  128. package/es/hooks/useToggleDates.js +26 -0
  129. package/es/index.d.ts +35 -0
  130. package/es/index.js +34 -0
  131. package/es/interface.d.ts +365 -0
  132. package/es/interface.js +1 -0
  133. package/es/locale/am_ET.d.ts +3 -0
  134. package/es/locale/am_ET.js +31 -0
  135. package/es/locale/ar_EG.d.ts +3 -0
  136. package/es/locale/ar_EG.js +34 -0
  137. package/es/locale/az_AZ.d.ts +3 -0
  138. package/es/locale/az_AZ.js +35 -0
  139. package/es/locale/bg_BG.d.ts +3 -0
  140. package/es/locale/bg_BG.js +34 -0
  141. package/es/locale/bn_BD.d.ts +3 -0
  142. package/es/locale/bn_BD.js +35 -0
  143. package/es/locale/by_BY.d.ts +3 -0
  144. package/es/locale/by_BY.js +35 -0
  145. package/es/locale/ca_ES.d.ts +3 -0
  146. package/es/locale/ca_ES.js +34 -0
  147. package/es/locale/common.d.ts +2 -0
  148. package/es/locale/common.js +6 -0
  149. package/es/locale/cs_CZ.d.ts +3 -0
  150. package/es/locale/cs_CZ.js +34 -0
  151. package/es/locale/da_DK.d.ts +3 -0
  152. package/es/locale/da_DK.js +34 -0
  153. package/es/locale/de_DE.d.ts +3 -0
  154. package/es/locale/de_DE.js +34 -0
  155. package/es/locale/el_GR.d.ts +3 -0
  156. package/es/locale/el_GR.js +34 -0
  157. package/es/locale/en_GB.d.ts +3 -0
  158. package/es/locale/en_GB.js +34 -0
  159. package/es/locale/en_US.d.ts +3 -0
  160. package/es/locale/en_US.js +35 -0
  161. package/es/locale/es_ES.d.ts +3 -0
  162. package/es/locale/es_ES.js +34 -0
  163. package/es/locale/es_MX.d.ts +3 -0
  164. package/es/locale/es_MX.js +35 -0
  165. package/es/locale/et_EE.d.ts +3 -0
  166. package/es/locale/et_EE.js +34 -0
  167. package/es/locale/eu_ES.d.ts +3 -0
  168. package/es/locale/eu_ES.js +36 -0
  169. package/es/locale/fa_IR.d.ts +3 -0
  170. package/es/locale/fa_IR.js +34 -0
  171. package/es/locale/fi_FI.d.ts +3 -0
  172. package/es/locale/fi_FI.js +34 -0
  173. package/es/locale/fr_BE.d.ts +3 -0
  174. package/es/locale/fr_BE.js +34 -0
  175. package/es/locale/fr_CA.d.ts +3 -0
  176. package/es/locale/fr_CA.js +35 -0
  177. package/es/locale/fr_FR.d.ts +3 -0
  178. package/es/locale/fr_FR.js +35 -0
  179. package/es/locale/ga_IE.d.ts +3 -0
  180. package/es/locale/ga_IE.js +35 -0
  181. package/es/locale/gl_ES.d.ts +3 -0
  182. package/es/locale/gl_ES.js +34 -0
  183. package/es/locale/he_IL.d.ts +3 -0
  184. package/es/locale/he_IL.js +35 -0
  185. package/es/locale/hi_IN.d.ts +3 -0
  186. package/es/locale/hi_IN.js +35 -0
  187. package/es/locale/hr_HR.d.ts +3 -0
  188. package/es/locale/hr_HR.js +35 -0
  189. package/es/locale/hu_HU.d.ts +3 -0
  190. package/es/locale/hu_HU.js +58 -0
  191. package/es/locale/id_ID.d.ts +3 -0
  192. package/es/locale/id_ID.js +35 -0
  193. package/es/locale/is_IS.d.ts +3 -0
  194. package/es/locale/is_IS.js +34 -0
  195. package/es/locale/it_IT.d.ts +3 -0
  196. package/es/locale/it_IT.js +34 -0
  197. package/es/locale/ja_JP.d.ts +3 -0
  198. package/es/locale/ja_JP.js +37 -0
  199. package/es/locale/ka_GE.d.ts +3 -0
  200. package/es/locale/ka_GE.js +35 -0
  201. package/es/locale/kk_KZ.d.ts +3 -0
  202. package/es/locale/kk_KZ.js +34 -0
  203. package/es/locale/km_KH.d.ts +3 -0
  204. package/es/locale/km_KH.js +36 -0
  205. package/es/locale/kmr_IQ.d.ts +3 -0
  206. package/es/locale/kmr_IQ.js +34 -0
  207. package/es/locale/kn_IN.d.ts +3 -0
  208. package/es/locale/kn_IN.js +35 -0
  209. package/es/locale/ko_KR.d.ts +3 -0
  210. package/es/locale/ko_KR.js +36 -0
  211. package/es/locale/lt_LT.d.ts +3 -0
  212. package/es/locale/lt_LT.js +36 -0
  213. package/es/locale/lv_LV.d.ts +3 -0
  214. package/es/locale/lv_LV.js +34 -0
  215. package/es/locale/mk_MK.d.ts +3 -0
  216. package/es/locale/mk_MK.js +34 -0
  217. package/es/locale/ml_IN.d.ts +3 -0
  218. package/es/locale/ml_IN.js +35 -0
  219. package/es/locale/mn_MN.d.ts +3 -0
  220. package/es/locale/mn_MN.js +36 -0
  221. package/es/locale/ms_MY.d.ts +3 -0
  222. package/es/locale/ms_MY.js +36 -0
  223. package/es/locale/my_MM.d.ts +3 -0
  224. package/es/locale/my_MM.js +35 -0
  225. package/es/locale/nb_NO.d.ts +3 -0
  226. package/es/locale/nb_NO.js +36 -0
  227. package/es/locale/ne_NP.d.ts +3 -0
  228. package/es/locale/ne_NP.js +35 -0
  229. package/es/locale/nl_BE.d.ts +3 -0
  230. package/es/locale/nl_BE.js +34 -0
  231. package/es/locale/nl_NL.d.ts +3 -0
  232. package/es/locale/nl_NL.js +34 -0
  233. package/es/locale/pl_PL.d.ts +3 -0
  234. package/es/locale/pl_PL.js +34 -0
  235. package/es/locale/pt_BR.d.ts +3 -0
  236. package/es/locale/pt_BR.js +37 -0
  237. package/es/locale/pt_PT.d.ts +3 -0
  238. package/es/locale/pt_PT.js +36 -0
  239. package/es/locale/ro_RO.d.ts +3 -0
  240. package/es/locale/ro_RO.js +35 -0
  241. package/es/locale/ru_RU.d.ts +3 -0
  242. package/es/locale/ru_RU.js +34 -0
  243. package/es/locale/si_LK.d.ts +3 -0
  244. package/es/locale/si_LK.js +36 -0
  245. package/es/locale/sk_SK.d.ts +3 -0
  246. package/es/locale/sk_SK.js +34 -0
  247. package/es/locale/sl_SI.d.ts +3 -0
  248. package/es/locale/sl_SI.js +34 -0
  249. package/es/locale/sr_Cyrl_RS.d.ts +3 -0
  250. package/es/locale/sr_Cyrl_RS.js +34 -0
  251. package/es/locale/sr_RS.d.ts +3 -0
  252. package/es/locale/sr_RS.js +34 -0
  253. package/es/locale/sv_SE.d.ts +3 -0
  254. package/es/locale/sv_SE.js +34 -0
  255. package/es/locale/ta_IN.d.ts +3 -0
  256. package/es/locale/ta_IN.js +35 -0
  257. package/es/locale/th_TH.d.ts +3 -0
  258. package/es/locale/th_TH.js +34 -0
  259. package/es/locale/tk_TK.d.ts +3 -0
  260. package/es/locale/tk_TK.js +34 -0
  261. package/es/locale/tr_TR.d.ts +3 -0
  262. package/es/locale/tr_TR.js +36 -0
  263. package/es/locale/ug_CN.d.ts +3 -0
  264. package/es/locale/ug_CN.js +37 -0
  265. package/es/locale/uk_UA.d.ts +3 -0
  266. package/es/locale/uk_UA.js +34 -0
  267. package/es/locale/ur_PK.d.ts +3 -0
  268. package/es/locale/ur_PK.js +35 -0
  269. package/es/locale/uz_UZ.d.ts +3 -0
  270. package/es/locale/uz_UZ.js +35 -0
  271. package/es/locale/vi_VN.d.ts +3 -0
  272. package/es/locale/vi_VN.js +35 -0
  273. package/es/locale/zh_CN.d.ts +3 -0
  274. package/es/locale/zh_CN.js +36 -0
  275. package/es/locale/zh_TW.d.ts +3 -0
  276. package/es/locale/zh_TW.js +38 -0
  277. package/es/utils/dateUtil.d.ts +29 -0
  278. package/es/utils/dateUtil.js +140 -0
  279. package/es/utils/getClearIcon.d.ts +5 -0
  280. package/es/utils/getClearIcon.js +8 -0
  281. package/es/utils/miscUtil.d.ts +14 -0
  282. package/es/utils/miscUtil.js +70 -0
  283. package/es/utils/uiUtil.d.ts +1 -0
  284. package/es/utils/uiUtil.js +7 -0
  285. package/es/utils/warnUtil.d.ts +5 -0
  286. package/es/utils/warnUtil.js +10 -0
  287. package/lib/PickerInput/Popup/Footer.d.ts +19 -0
  288. package/lib/PickerInput/Popup/Footer.js +88 -0
  289. package/lib/PickerInput/Popup/PopupPanel.d.ts +10 -0
  290. package/lib/PickerInput/Popup/PopupPanel.js +93 -0
  291. package/lib/PickerInput/Popup/PresetPanel.d.ts +9 -0
  292. package/lib/PickerInput/Popup/PresetPanel.js +40 -0
  293. package/lib/PickerInput/Popup/index.d.ts +20 -0
  294. package/lib/PickerInput/Popup/index.js +207 -0
  295. package/lib/PickerInput/RangePicker.d.ts +54 -0
  296. package/lib/PickerInput/RangePicker.js +650 -0
  297. package/lib/PickerInput/Selector/Icon.d.ts +10 -0
  298. package/lib/PickerInput/Selector/Icon.js +43 -0
  299. package/lib/PickerInput/Selector/Input.d.ts +28 -0
  300. package/lib/PickerInput/Selector/Input.js +385 -0
  301. package/lib/PickerInput/Selector/MaskFormat.d.ts +22 -0
  302. package/lib/PickerInput/Selector/MaskFormat.js +112 -0
  303. package/lib/PickerInput/Selector/RangeSelector.d.ts +26 -0
  304. package/lib/PickerInput/Selector/RangeSelector.js +227 -0
  305. package/lib/PickerInput/Selector/SingleSelector/MultipleDates.d.ts +12 -0
  306. package/lib/PickerInput/Selector/SingleSelector/MultipleDates.js +76 -0
  307. package/lib/PickerInput/Selector/SingleSelector/index.d.ts +18 -0
  308. package/lib/PickerInput/Selector/SingleSelector/index.js +196 -0
  309. package/lib/PickerInput/Selector/hooks/useClearIcon.d.ts +8 -0
  310. package/lib/PickerInput/Selector/hooks/useClearIcon.js +27 -0
  311. package/lib/PickerInput/Selector/hooks/useInputProps.d.ts +16 -0
  312. package/lib/PickerInput/Selector/hooks/useInputProps.js +187 -0
  313. package/lib/PickerInput/Selector/hooks/useRootProps.d.ts +2 -0
  314. package/lib/PickerInput/Selector/hooks/useRootProps.js +17 -0
  315. package/lib/PickerInput/Selector/util.d.ts +1 -0
  316. package/lib/PickerInput/Selector/util.js +18 -0
  317. package/lib/PickerInput/SinglePicker.d.ts +51 -0
  318. package/lib/PickerInput/SinglePicker.js +553 -0
  319. package/lib/PickerInput/context.d.ts +13 -0
  320. package/lib/PickerInput/context.js +12 -0
  321. package/lib/PickerInput/hooks/useCellRender.d.ts +2 -0
  322. package/lib/PickerInput/hooks/useCellRender.js +49 -0
  323. package/lib/PickerInput/hooks/useDelayState.d.ts +5 -0
  324. package/lib/PickerInput/hooks/useDelayState.js +54 -0
  325. package/lib/PickerInput/hooks/useDisabledBoundary.d.ts +7 -0
  326. package/lib/PickerInput/hooks/useDisabledBoundary.js +26 -0
  327. package/lib/PickerInput/hooks/useFieldFormat.d.ts +2 -0
  328. package/lib/PickerInput/hooks/useFieldFormat.js +26 -0
  329. package/lib/PickerInput/hooks/useFieldsInvalidate.d.ts +5 -0
  330. package/lib/PickerInput/hooks/useFieldsInvalidate.js +64 -0
  331. package/lib/PickerInput/hooks/useFilledProps.d.ts +37 -0
  332. package/lib/PickerInput/hooks/useFilledProps.js +164 -0
  333. package/lib/PickerInput/hooks/useInputReadOnly.d.ts +2 -0
  334. package/lib/PickerInput/hooks/useInputReadOnly.js +12 -0
  335. package/lib/PickerInput/hooks/useInvalidate.d.ts +9 -0
  336. package/lib/PickerInput/hooks/useInvalidate.js +67 -0
  337. package/lib/PickerInput/hooks/useLockEffect.d.ts +5 -0
  338. package/lib/PickerInput/hooks/useLockEffect.js +34 -0
  339. package/lib/PickerInput/hooks/useOpen.d.ts +6 -0
  340. package/lib/PickerInput/hooks/useOpen.js +39 -0
  341. package/lib/PickerInput/hooks/usePickerRef.d.ts +7 -0
  342. package/lib/PickerInput/hooks/usePickerRef.js +28 -0
  343. package/lib/PickerInput/hooks/usePresets.d.ts +2 -0
  344. package/lib/PickerInput/hooks/usePresets.js +38 -0
  345. package/lib/PickerInput/hooks/useRangeActive.d.ts +19 -0
  346. package/lib/PickerInput/hooks/useRangeActive.js +84 -0
  347. package/lib/PickerInput/hooks/useRangeDisabledDate.d.ts +8 -0
  348. package/lib/PickerInput/hooks/useRangeDisabledDate.js +58 -0
  349. package/lib/PickerInput/hooks/useRangePickerValue.d.ts +5 -0
  350. package/lib/PickerInput/hooks/useRangePickerValue.js +203 -0
  351. package/lib/PickerInput/hooks/useRangeValue.d.ts +28 -0
  352. package/lib/PickerInput/hooks/useRangeValue.js +308 -0
  353. package/lib/PickerInput/hooks/useShowNow.d.ts +2 -0
  354. package/lib/PickerInput/hooks/useShowNow.js +20 -0
  355. package/lib/PickerPanel/DatePanel/index.d.ts +10 -0
  356. package/lib/PickerPanel/DatePanel/index.js +199 -0
  357. package/lib/PickerPanel/DateTimePanel/index.d.ts +3 -0
  358. package/lib/PickerPanel/DateTimePanel/index.js +65 -0
  359. package/lib/PickerPanel/DecadePanel/index.d.ts +3 -0
  360. package/lib/PickerPanel/DecadePanel/index.js +122 -0
  361. package/lib/PickerPanel/MonthPanel/index.d.ts +3 -0
  362. package/lib/PickerPanel/MonthPanel/index.js +115 -0
  363. package/lib/PickerPanel/PanelBody.d.ts +17 -0
  364. package/lib/PickerPanel/PanelBody.js +162 -0
  365. package/lib/PickerPanel/PanelHeader.d.ts +11 -0
  366. package/lib/PickerPanel/PanelHeader.js +143 -0
  367. package/lib/PickerPanel/QuarterPanel/index.d.ts +3 -0
  368. package/lib/PickerPanel/QuarterPanel/index.js +101 -0
  369. package/lib/PickerPanel/TimePanel/TimePanelBody/TimeColumn.d.ts +17 -0
  370. package/lib/PickerPanel/TimePanel/TimePanelBody/TimeColumn.js +158 -0
  371. package/lib/PickerPanel/TimePanel/TimePanelBody/index.d.ts +4 -0
  372. package/lib/PickerPanel/TimePanel/TimePanelBody/index.js +293 -0
  373. package/lib/PickerPanel/TimePanel/TimePanelBody/useScrollTo.d.ts +2 -0
  374. package/lib/PickerPanel/TimePanel/TimePanelBody/useScrollTo.js +82 -0
  375. package/lib/PickerPanel/TimePanel/TimePanelBody/util.d.ts +3 -0
  376. package/lib/PickerPanel/TimePanel/TimePanelBody/util.js +49 -0
  377. package/lib/PickerPanel/TimePanel/index.d.ts +4 -0
  378. package/lib/PickerPanel/TimePanel/index.js +48 -0
  379. package/lib/PickerPanel/WeekPanel/index.d.ts +3 -0
  380. package/lib/PickerPanel/WeekPanel/index.js +64 -0
  381. package/lib/PickerPanel/YearPanel/index.d.ts +3 -0
  382. package/lib/PickerPanel/YearPanel/index.js +125 -0
  383. package/lib/PickerPanel/context.d.ts +24 -0
  384. package/lib/PickerPanel/context.js +78 -0
  385. package/lib/PickerPanel/index.d.ts +60 -0
  386. package/lib/PickerPanel/index.js +324 -0
  387. package/lib/PickerTrigger/index.d.ts +19 -0
  388. package/lib/PickerTrigger/index.js +95 -0
  389. package/lib/PickerTrigger/util.d.ts +2 -0
  390. package/lib/PickerTrigger/util.js +10 -0
  391. package/lib/generate/dateFns.d.ts +3 -0
  392. package/lib/generate/dateFns.js +172 -0
  393. package/lib/generate/dayjs.d.ts +4 -0
  394. package/lib/generate/dayjs.js +240 -0
  395. package/lib/generate/index.d.ts +37 -0
  396. package/lib/generate/index.js +5 -0
  397. package/lib/generate/luxon.d.ts +4 -0
  398. package/lib/generate/luxon.js +203 -0
  399. package/lib/generate/moment.d.ts +4 -0
  400. package/lib/generate/moment.js +159 -0
  401. package/lib/hooks/useLocale.d.ts +6 -0
  402. package/lib/hooks/useLocale.js +90 -0
  403. package/lib/hooks/useSyncState.d.ts +6 -0
  404. package/lib/hooks/useSyncState.js +35 -0
  405. package/lib/hooks/useTimeConfig.d.ts +18 -0
  406. package/lib/hooks/useTimeConfig.js +173 -0
  407. package/lib/hooks/useTimeInfo.d.ts +12 -0
  408. package/lib/hooks/useTimeInfo.js +172 -0
  409. package/lib/hooks/useToggleDates.d.ts +8 -0
  410. package/lib/hooks/useToggleDates.js +32 -0
  411. package/lib/index.d.ts +35 -0
  412. package/lib/index.js +57 -0
  413. package/lib/interface.d.ts +365 -0
  414. package/lib/interface.js +5 -0
  415. package/lib/locale/am_ET.d.ts +3 -0
  416. package/lib/locale/am_ET.js +37 -0
  417. package/lib/locale/ar_EG.d.ts +3 -0
  418. package/lib/locale/ar_EG.js +40 -0
  419. package/lib/locale/az_AZ.d.ts +3 -0
  420. package/lib/locale/az_AZ.js +41 -0
  421. package/lib/locale/bg_BG.d.ts +3 -0
  422. package/lib/locale/bg_BG.js +40 -0
  423. package/lib/locale/bn_BD.d.ts +3 -0
  424. package/lib/locale/bn_BD.js +41 -0
  425. package/lib/locale/by_BY.d.ts +3 -0
  426. package/lib/locale/by_BY.js +41 -0
  427. package/lib/locale/ca_ES.d.ts +3 -0
  428. package/lib/locale/ca_ES.js +40 -0
  429. package/lib/locale/common.d.ts +2 -0
  430. package/lib/locale/common.js +12 -0
  431. package/lib/locale/cs_CZ.d.ts +3 -0
  432. package/lib/locale/cs_CZ.js +40 -0
  433. package/lib/locale/da_DK.d.ts +3 -0
  434. package/lib/locale/da_DK.js +40 -0
  435. package/lib/locale/de_DE.d.ts +3 -0
  436. package/lib/locale/de_DE.js +40 -0
  437. package/lib/locale/el_GR.d.ts +3 -0
  438. package/lib/locale/el_GR.js +40 -0
  439. package/lib/locale/en_GB.d.ts +3 -0
  440. package/lib/locale/en_GB.js +40 -0
  441. package/lib/locale/en_US.d.ts +3 -0
  442. package/lib/locale/en_US.js +41 -0
  443. package/lib/locale/es_ES.d.ts +3 -0
  444. package/lib/locale/es_ES.js +40 -0
  445. package/lib/locale/es_MX.d.ts +3 -0
  446. package/lib/locale/es_MX.js +41 -0
  447. package/lib/locale/et_EE.d.ts +3 -0
  448. package/lib/locale/et_EE.js +40 -0
  449. package/lib/locale/eu_ES.d.ts +3 -0
  450. package/lib/locale/eu_ES.js +42 -0
  451. package/lib/locale/fa_IR.d.ts +3 -0
  452. package/lib/locale/fa_IR.js +40 -0
  453. package/lib/locale/fi_FI.d.ts +3 -0
  454. package/lib/locale/fi_FI.js +40 -0
  455. package/lib/locale/fr_BE.d.ts +3 -0
  456. package/lib/locale/fr_BE.js +40 -0
  457. package/lib/locale/fr_CA.d.ts +3 -0
  458. package/lib/locale/fr_CA.js +41 -0
  459. package/lib/locale/fr_FR.d.ts +3 -0
  460. package/lib/locale/fr_FR.js +41 -0
  461. package/lib/locale/ga_IE.d.ts +3 -0
  462. package/lib/locale/ga_IE.js +41 -0
  463. package/lib/locale/gl_ES.d.ts +3 -0
  464. package/lib/locale/gl_ES.js +40 -0
  465. package/lib/locale/he_IL.d.ts +3 -0
  466. package/lib/locale/he_IL.js +41 -0
  467. package/lib/locale/hi_IN.d.ts +3 -0
  468. package/lib/locale/hi_IN.js +41 -0
  469. package/lib/locale/hr_HR.d.ts +3 -0
  470. package/lib/locale/hr_HR.js +41 -0
  471. package/lib/locale/hu_HU.d.ts +3 -0
  472. package/lib/locale/hu_HU.js +64 -0
  473. package/lib/locale/id_ID.d.ts +3 -0
  474. package/lib/locale/id_ID.js +41 -0
  475. package/lib/locale/is_IS.d.ts +3 -0
  476. package/lib/locale/is_IS.js +40 -0
  477. package/lib/locale/it_IT.d.ts +3 -0
  478. package/lib/locale/it_IT.js +40 -0
  479. package/lib/locale/ja_JP.d.ts +3 -0
  480. package/lib/locale/ja_JP.js +43 -0
  481. package/lib/locale/ka_GE.d.ts +3 -0
  482. package/lib/locale/ka_GE.js +41 -0
  483. package/lib/locale/kk_KZ.d.ts +3 -0
  484. package/lib/locale/kk_KZ.js +40 -0
  485. package/lib/locale/km_KH.d.ts +3 -0
  486. package/lib/locale/km_KH.js +42 -0
  487. package/lib/locale/kmr_IQ.d.ts +3 -0
  488. package/lib/locale/kmr_IQ.js +40 -0
  489. package/lib/locale/kn_IN.d.ts +3 -0
  490. package/lib/locale/kn_IN.js +41 -0
  491. package/lib/locale/ko_KR.d.ts +3 -0
  492. package/lib/locale/ko_KR.js +42 -0
  493. package/lib/locale/lt_LT.d.ts +3 -0
  494. package/lib/locale/lt_LT.js +42 -0
  495. package/lib/locale/lv_LV.d.ts +3 -0
  496. package/lib/locale/lv_LV.js +40 -0
  497. package/lib/locale/mk_MK.d.ts +3 -0
  498. package/lib/locale/mk_MK.js +40 -0
  499. package/lib/locale/ml_IN.d.ts +3 -0
  500. package/lib/locale/ml_IN.js +41 -0
  501. package/lib/locale/mn_MN.d.ts +3 -0
  502. package/lib/locale/mn_MN.js +42 -0
  503. package/lib/locale/ms_MY.d.ts +3 -0
  504. package/lib/locale/ms_MY.js +42 -0
  505. package/lib/locale/my_MM.d.ts +3 -0
  506. package/lib/locale/my_MM.js +41 -0
  507. package/lib/locale/nb_NO.d.ts +3 -0
  508. package/lib/locale/nb_NO.js +42 -0
  509. package/lib/locale/ne_NP.d.ts +3 -0
  510. package/lib/locale/ne_NP.js +41 -0
  511. package/lib/locale/nl_BE.d.ts +3 -0
  512. package/lib/locale/nl_BE.js +40 -0
  513. package/lib/locale/nl_NL.d.ts +3 -0
  514. package/lib/locale/nl_NL.js +40 -0
  515. package/lib/locale/pl_PL.d.ts +3 -0
  516. package/lib/locale/pl_PL.js +40 -0
  517. package/lib/locale/pt_BR.d.ts +3 -0
  518. package/lib/locale/pt_BR.js +43 -0
  519. package/lib/locale/pt_PT.d.ts +3 -0
  520. package/lib/locale/pt_PT.js +42 -0
  521. package/lib/locale/ro_RO.d.ts +3 -0
  522. package/lib/locale/ro_RO.js +41 -0
  523. package/lib/locale/ru_RU.d.ts +3 -0
  524. package/lib/locale/ru_RU.js +40 -0
  525. package/lib/locale/si_LK.d.ts +3 -0
  526. package/lib/locale/si_LK.js +42 -0
  527. package/lib/locale/sk_SK.d.ts +3 -0
  528. package/lib/locale/sk_SK.js +40 -0
  529. package/lib/locale/sl_SI.d.ts +3 -0
  530. package/lib/locale/sl_SI.js +40 -0
  531. package/lib/locale/sr_Cyrl_RS.d.ts +3 -0
  532. package/lib/locale/sr_Cyrl_RS.js +40 -0
  533. package/lib/locale/sr_RS.d.ts +3 -0
  534. package/lib/locale/sr_RS.js +40 -0
  535. package/lib/locale/sv_SE.d.ts +3 -0
  536. package/lib/locale/sv_SE.js +40 -0
  537. package/lib/locale/ta_IN.d.ts +3 -0
  538. package/lib/locale/ta_IN.js +41 -0
  539. package/lib/locale/th_TH.d.ts +3 -0
  540. package/lib/locale/th_TH.js +40 -0
  541. package/lib/locale/tk_TK.d.ts +3 -0
  542. package/lib/locale/tk_TK.js +40 -0
  543. package/lib/locale/tr_TR.d.ts +3 -0
  544. package/lib/locale/tr_TR.js +42 -0
  545. package/lib/locale/ug_CN.d.ts +3 -0
  546. package/lib/locale/ug_CN.js +43 -0
  547. package/lib/locale/uk_UA.d.ts +3 -0
  548. package/lib/locale/uk_UA.js +40 -0
  549. package/lib/locale/ur_PK.d.ts +3 -0
  550. package/lib/locale/ur_PK.js +41 -0
  551. package/lib/locale/uz_UZ.d.ts +3 -0
  552. package/lib/locale/uz_UZ.js +41 -0
  553. package/lib/locale/vi_VN.d.ts +3 -0
  554. package/lib/locale/vi_VN.js +41 -0
  555. package/lib/locale/zh_CN.d.ts +3 -0
  556. package/lib/locale/zh_CN.js +42 -0
  557. package/lib/locale/zh_TW.d.ts +3 -0
  558. package/lib/locale/zh_TW.js +44 -0
  559. package/lib/utils/dateUtil.d.ts +29 -0
  560. package/lib/utils/dateUtil.js +161 -0
  561. package/lib/utils/getClearIcon.d.ts +5 -0
  562. package/lib/utils/getClearIcon.js +15 -0
  563. package/lib/utils/miscUtil.d.ts +14 -0
  564. package/lib/utils/miscUtil.js +81 -0
  565. package/lib/utils/uiUtil.d.ts +1 -0
  566. package/lib/utils/uiUtil.js +13 -0
  567. package/lib/utils/warnUtil.d.ts +5 -0
  568. package/lib/utils/warnUtil.js +17 -0
  569. package/package.json +107 -0
@@ -0,0 +1,24 @@
1
+ import * as React from 'react';
2
+ import type { PanelMode, SharedPanelProps } from '../interface';
3
+ export interface PanelContextProps<DateType extends object = any> extends Pick<SharedPanelProps<DateType>, 'prefixCls' | 'cellRender' | 'generateConfig' | 'locale' | 'onSelect' | 'hoverValue' | 'hoverRangeValue' | 'onHover' | 'values' | 'pickerValue' | 'disabledDate' | 'minDate' | 'maxDate' | 'prevIcon' | 'nextIcon' | 'superPrevIcon' | 'superNextIcon'> {
4
+ /** Tell current panel type */
5
+ panelType: PanelMode;
6
+ now: DateType;
7
+ }
8
+ /** Used for each single Panel. e.g. DatePanel */
9
+ export declare const PanelContext: React.Context<PanelContextProps<any>>;
10
+ export declare function usePanelContext<DateType extends object = any>(): PanelContextProps<DateType>;
11
+ /**
12
+ * Get shared props for the SharedPanelProps interface.
13
+ */
14
+ export declare function useInfo<DateType extends object = any>(props: SharedPanelProps<DateType>, panelType: PanelMode): [sharedProps: PanelContextProps<DateType>, now: DateType];
15
+ export interface PickerHackContextProps {
16
+ hidePrev?: boolean;
17
+ hideNext?: boolean;
18
+ hideHeader?: boolean;
19
+ onCellDblClick?: () => void;
20
+ }
21
+ /**
22
+ * Internal usage for RangePicker to not to show the operation arrow
23
+ */
24
+ export declare const PickerHackContext: React.Context<PickerHackContextProps>;
@@ -0,0 +1,67 @@
1
+ import * as React from 'react';
2
+ /** Used for each single Panel. e.g. DatePanel */
3
+ export var PanelContext = /*#__PURE__*/React.createContext(null);
4
+ export function usePanelContext() {
5
+ return React.useContext(PanelContext);
6
+ }
7
+
8
+ /**
9
+ * Get shared props for the SharedPanelProps interface.
10
+ */
11
+ export function useInfo(props, panelType) {
12
+ var prefixCls = props.prefixCls,
13
+ generateConfig = props.generateConfig,
14
+ locale = props.locale,
15
+ disabledDate = props.disabledDate,
16
+ minDate = props.minDate,
17
+ maxDate = props.maxDate,
18
+ cellRender = props.cellRender,
19
+ hoverValue = props.hoverValue,
20
+ hoverRangeValue = props.hoverRangeValue,
21
+ onHover = props.onHover,
22
+ values = props.values,
23
+ pickerValue = props.pickerValue,
24
+ onSelect = props.onSelect,
25
+ prevIcon = props.prevIcon,
26
+ nextIcon = props.nextIcon,
27
+ superPrevIcon = props.superPrevIcon,
28
+ superNextIcon = props.superNextIcon;
29
+
30
+ // ========================= MISC =========================
31
+ var now = generateConfig.getNow();
32
+
33
+ // ========================= Info =========================
34
+ var info = {
35
+ now: now,
36
+ values: values,
37
+ pickerValue: pickerValue,
38
+ prefixCls: prefixCls,
39
+ disabledDate: disabledDate,
40
+ minDate: minDate,
41
+ maxDate: maxDate,
42
+ cellRender: cellRender,
43
+ hoverValue: hoverValue,
44
+ hoverRangeValue: hoverRangeValue,
45
+ onHover: onHover,
46
+ locale: locale,
47
+ generateConfig: generateConfig,
48
+ onSelect: onSelect,
49
+ panelType: panelType,
50
+ // Icons
51
+ prevIcon: prevIcon,
52
+ nextIcon: nextIcon,
53
+ superPrevIcon: superPrevIcon,
54
+ superNextIcon: superNextIcon
55
+ };
56
+ return [info, now];
57
+ }
58
+
59
+ // ============================== Internal ==============================
60
+
61
+ /**
62
+ * Internal usage for RangePicker to not to show the operation arrow
63
+ */
64
+ export var PickerHackContext = /*#__PURE__*/React.createContext({});
65
+ if (process.env.NODE_ENV !== 'production') {
66
+ PickerHackContext.displayName = 'PickerHackContext';
67
+ }
@@ -0,0 +1,60 @@
1
+ import * as React from 'react';
2
+ import type { CellRender, Components, Locale, OnPanelChange, PanelMode, PickerMode, SharedPanelProps, SharedTimeProps } from '../interface';
3
+ export interface PickerPanelRef {
4
+ nativeElement: HTMLDivElement;
5
+ }
6
+ export interface BasePickerPanelProps<DateType extends object = any> extends Pick<SharedPanelProps<DateType>, 'locale' | 'generateConfig' | 'disabledDate' | 'minDate' | 'maxDate' | 'prevIcon' | 'nextIcon' | 'superPrevIcon' | 'superNextIcon'>, SharedTimeProps<DateType>, Pick<React.HTMLAttributes<HTMLDivElement>, 'tabIndex'> {
7
+ prefixCls?: string;
8
+ direction?: 'ltr' | 'rtl';
9
+ onSelect?: (date: DateType) => void;
10
+ defaultPickerValue?: DateType | null;
11
+ pickerValue?: DateType | null;
12
+ onPickerValueChange?: (date: DateType) => void;
13
+ mode?: PanelMode;
14
+ /**
15
+ * Compatible with origin API.
16
+ * Not mean the PickerPanel `onChange` event.
17
+ */
18
+ onPanelChange?: OnPanelChange<DateType>;
19
+ picker?: PickerMode;
20
+ showTime?: true | SharedTimeProps<DateType>;
21
+ /**
22
+ * Only worked in `date` mode. Show the current week
23
+ */
24
+ showWeek?: boolean;
25
+ cellRender?: CellRender<DateType>;
26
+ /** @deprecated use cellRender instead of dateRender */
27
+ dateRender?: (currentDate: DateType, today: DateType) => React.ReactNode;
28
+ /** @deprecated use cellRender instead of monthCellRender */
29
+ monthCellRender?: (currentDate: DateType, locale: Locale) => React.ReactNode;
30
+ /** @private Used for Picker passing */
31
+ hoverValue?: DateType[];
32
+ /** @private Used for Picker passing */
33
+ hoverRangeValue?: [start: DateType, end: DateType];
34
+ /** @private Used for Picker passing */
35
+ onHover?: (date: DateType) => void;
36
+ components?: Components;
37
+ /** @private This is internal usage. Do not use in your production env */
38
+ hideHeader?: boolean;
39
+ }
40
+ export interface SinglePickerPanelProps<DateType extends object = any> extends BasePickerPanelProps<DateType> {
41
+ multiple?: false;
42
+ defaultValue?: DateType | null;
43
+ value?: DateType | null;
44
+ onChange?: (date: DateType) => void;
45
+ }
46
+ export type PickerPanelProps<DateType extends object = any> = BasePickerPanelProps<DateType> & {
47
+ /** multiple selection. Not support time or datetime picker */
48
+ multiple?: boolean;
49
+ defaultValue?: DateType | DateType[] | null;
50
+ value?: DateType | DateType[] | null;
51
+ onChange?: (date: DateType | DateType[]) => void;
52
+ };
53
+ declare const _default: <DateType extends object = any>(props: BasePickerPanelProps<DateType> & {
54
+ /** multiple selection. Not support time or datetime picker */
55
+ multiple?: boolean;
56
+ defaultValue?: DateType | DateType[];
57
+ value?: DateType | DateType[];
58
+ onChange?: (date: DateType | DateType[]) => void;
59
+ } & React.RefAttributes<PickerPanelRef>) => React.ReactElement;
60
+ export default _default;
@@ -0,0 +1,315 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
9
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
11
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
12
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
13
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
15
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
16
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
17
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
18
+ import classNames from 'classnames';
19
+ import { useEvent, useMergedState, warning } from '@rc-component/util';
20
+ import * as React from 'react';
21
+ import useLocale from "../hooks/useLocale";
22
+ import { fillShowTimeConfig, getTimeProps } from "../hooks/useTimeConfig";
23
+ import useToggleDates from "../hooks/useToggleDates";
24
+ import PickerContext from "../PickerInput/context";
25
+ import useCellRender from "../PickerInput/hooks/useCellRender";
26
+ import { isSame } from "../utils/dateUtil";
27
+ import { pickProps, toArray } from "../utils/miscUtil";
28
+ import { PickerHackContext } from "./context";
29
+ import DatePanel from "./DatePanel";
30
+ import DateTimePanel from "./DateTimePanel";
31
+ import DecadePanel from "./DecadePanel";
32
+ import MonthPanel from "./MonthPanel";
33
+ import QuarterPanel from "./QuarterPanel";
34
+ import TimePanel from "./TimePanel";
35
+ import WeekPanel from "./WeekPanel";
36
+ import YearPanel from "./YearPanel";
37
+ var DefaultComponents = {
38
+ date: DatePanel,
39
+ datetime: DateTimePanel,
40
+ week: WeekPanel,
41
+ month: MonthPanel,
42
+ quarter: QuarterPanel,
43
+ year: YearPanel,
44
+ decade: DecadePanel,
45
+ time: TimePanel
46
+ };
47
+ function PickerPanel(props, ref) {
48
+ var _React$useContext;
49
+ var locale = props.locale,
50
+ generateConfig = props.generateConfig,
51
+ direction = props.direction,
52
+ prefixCls = props.prefixCls,
53
+ _props$tabIndex = props.tabIndex,
54
+ tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,
55
+ multiple = props.multiple,
56
+ defaultValue = props.defaultValue,
57
+ value = props.value,
58
+ onChange = props.onChange,
59
+ onSelect = props.onSelect,
60
+ defaultPickerValue = props.defaultPickerValue,
61
+ pickerValue = props.pickerValue,
62
+ onPickerValueChange = props.onPickerValueChange,
63
+ mode = props.mode,
64
+ onPanelChange = props.onPanelChange,
65
+ _props$picker = props.picker,
66
+ picker = _props$picker === void 0 ? 'date' : _props$picker,
67
+ showTime = props.showTime,
68
+ hoverValue = props.hoverValue,
69
+ hoverRangeValue = props.hoverRangeValue,
70
+ cellRender = props.cellRender,
71
+ dateRender = props.dateRender,
72
+ monthCellRender = props.monthCellRender,
73
+ _props$components = props.components,
74
+ components = _props$components === void 0 ? {} : _props$components,
75
+ hideHeader = props.hideHeader;
76
+ var mergedPrefixCls = ((_React$useContext = React.useContext(PickerContext)) === null || _React$useContext === void 0 ? void 0 : _React$useContext.prefixCls) || prefixCls || 'rc-picker';
77
+
78
+ // ========================== Refs ==========================
79
+ var rootRef = React.useRef();
80
+ React.useImperativeHandle(ref, function () {
81
+ return {
82
+ nativeElement: rootRef.current
83
+ };
84
+ });
85
+
86
+ // ========================== Time ==========================
87
+ // Auto `format` need to check `showTime.showXXX` first.
88
+ // And then merge the `locale` into `mergedShowTime`.
89
+ var _getTimeProps = getTimeProps(props),
90
+ _getTimeProps2 = _slicedToArray(_getTimeProps, 4),
91
+ timeProps = _getTimeProps2[0],
92
+ localeTimeProps = _getTimeProps2[1],
93
+ showTimeFormat = _getTimeProps2[2],
94
+ propFormat = _getTimeProps2[3];
95
+
96
+ // ========================= Locale =========================
97
+ var filledLocale = useLocale(locale, localeTimeProps);
98
+
99
+ // ========================= Picker =========================
100
+ var internalPicker = picker === 'date' && showTime ? 'datetime' : picker;
101
+
102
+ // ======================== ShowTime ========================
103
+ var mergedShowTime = React.useMemo(function () {
104
+ return fillShowTimeConfig(internalPicker, showTimeFormat, propFormat, timeProps, filledLocale);
105
+ }, [internalPicker, showTimeFormat, propFormat, timeProps, filledLocale]);
106
+
107
+ // ========================== Now ===========================
108
+ var now = generateConfig.getNow();
109
+
110
+ // ========================== Mode ==========================
111
+ var _useMergedState = useMergedState(picker, {
112
+ value: mode,
113
+ postState: function postState(val) {
114
+ return val || 'date';
115
+ }
116
+ }),
117
+ _useMergedState2 = _slicedToArray(_useMergedState, 2),
118
+ mergedMode = _useMergedState2[0],
119
+ setMergedMode = _useMergedState2[1];
120
+ var internalMode = mergedMode === 'date' && mergedShowTime ? 'datetime' : mergedMode;
121
+
122
+ // ========================= Toggle =========================
123
+ var toggleDates = useToggleDates(generateConfig, locale, internalPicker);
124
+
125
+ // ========================= Value ==========================
126
+ // >>> Real value
127
+ // Interactive with `onChange` event which only trigger when the `mode` is `picker`
128
+ var _useMergedState3 = useMergedState(defaultValue, {
129
+ value: value
130
+ }),
131
+ _useMergedState4 = _slicedToArray(_useMergedState3, 2),
132
+ innerValue = _useMergedState4[0],
133
+ setMergedValue = _useMergedState4[1];
134
+ var mergedValue = React.useMemo(function () {
135
+ // Clean up `[null]`
136
+ var values = toArray(innerValue).filter(function (val) {
137
+ return val;
138
+ });
139
+ return multiple ? values : values.slice(0, 1);
140
+ }, [innerValue, multiple]);
141
+
142
+ // Sync value and only trigger onChange event when changed
143
+ var triggerChange = useEvent(function (nextValue) {
144
+ setMergedValue(nextValue);
145
+ if (onChange && (nextValue === null || mergedValue.length !== nextValue.length || mergedValue.some(function (ori, index) {
146
+ return !isSame(generateConfig, locale, ori, nextValue[index], internalPicker);
147
+ }))) {
148
+ onChange === null || onChange === void 0 || onChange(multiple ? nextValue : nextValue[0]);
149
+ }
150
+ });
151
+
152
+ // >>> CalendarValue
153
+ // CalendarValue is a temp value for user operation
154
+ // which will only trigger `onCalendarChange` but not `onChange`
155
+ var onInternalSelect = useEvent(function (newDate) {
156
+ onSelect === null || onSelect === void 0 || onSelect(newDate);
157
+ if (mergedMode === picker) {
158
+ var nextValues = multiple ? toggleDates(mergedValue, newDate) : [newDate];
159
+ triggerChange(nextValues);
160
+ }
161
+ });
162
+
163
+ // >>> PickerValue
164
+ // PickerValue is used to control the current displaying panel
165
+ var _useMergedState5 = useMergedState(defaultPickerValue || mergedValue[0] || now, {
166
+ value: pickerValue
167
+ }),
168
+ _useMergedState6 = _slicedToArray(_useMergedState5, 2),
169
+ mergedPickerValue = _useMergedState6[0],
170
+ setInternalPickerValue = _useMergedState6[1];
171
+ React.useEffect(function () {
172
+ if (mergedValue[0] && !pickerValue) {
173
+ setInternalPickerValue(mergedValue[0]);
174
+ }
175
+ }, [mergedValue[0]]);
176
+
177
+ // Both trigger when manually pickerValue or mode change
178
+ var triggerPanelChange = function triggerPanelChange(viewDate, nextMode) {
179
+ onPanelChange === null || onPanelChange === void 0 || onPanelChange(viewDate || pickerValue, nextMode || mergedMode);
180
+ };
181
+ var setPickerValue = function setPickerValue(nextPickerValue) {
182
+ var triggerPanelEvent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
183
+ setInternalPickerValue(nextPickerValue);
184
+ onPickerValueChange === null || onPickerValueChange === void 0 || onPickerValueChange(nextPickerValue);
185
+ if (triggerPanelEvent) {
186
+ triggerPanelChange(nextPickerValue);
187
+ }
188
+ };
189
+ var triggerModeChange = function triggerModeChange(nextMode, viewDate) {
190
+ setMergedMode(nextMode);
191
+ if (viewDate) {
192
+ setPickerValue(viewDate);
193
+ }
194
+ triggerPanelChange(viewDate, nextMode);
195
+ };
196
+ var onPanelValueSelect = function onPanelValueSelect(nextValue) {
197
+ onInternalSelect(nextValue);
198
+ setPickerValue(nextValue);
199
+
200
+ // Update mode if needed
201
+ if (mergedMode !== picker) {
202
+ var decadeYearQueue = ['decade', 'year'];
203
+ var decadeYearMonthQueue = [].concat(decadeYearQueue, ['month']);
204
+ var pickerQueue = {
205
+ quarter: [].concat(decadeYearQueue, ['quarter']),
206
+ week: [].concat(_toConsumableArray(decadeYearMonthQueue), ['week']),
207
+ date: [].concat(_toConsumableArray(decadeYearMonthQueue), ['date'])
208
+ };
209
+ var queue = pickerQueue[picker] || decadeYearMonthQueue;
210
+ var index = queue.indexOf(mergedMode);
211
+ var nextMode = queue[index + 1];
212
+ if (nextMode) {
213
+ triggerModeChange(nextMode, nextValue);
214
+ }
215
+ }
216
+ };
217
+
218
+ // ======================= Hover Date =======================
219
+ var hoverRangeDate = React.useMemo(function () {
220
+ var start;
221
+ var end;
222
+ if (Array.isArray(hoverRangeValue)) {
223
+ var _hoverRangeValue = _slicedToArray(hoverRangeValue, 2);
224
+ start = _hoverRangeValue[0];
225
+ end = _hoverRangeValue[1];
226
+ } else {
227
+ start = hoverRangeValue;
228
+ }
229
+
230
+ // Return for not exist
231
+ if (!start && !end) {
232
+ return null;
233
+ }
234
+
235
+ // Fill if has empty
236
+ start = start || end;
237
+ end = end || start;
238
+ return generateConfig.isAfter(start, end) ? [end, start] : [start, end];
239
+ }, [hoverRangeValue, generateConfig]);
240
+
241
+ // ======================= Components =======================
242
+ // >>> cellRender
243
+ var onInternalCellRender = useCellRender(cellRender, dateRender, monthCellRender);
244
+
245
+ // ======================= Components =======================
246
+ var PanelComponent = components[internalMode] || DefaultComponents[internalMode] || DatePanel;
247
+
248
+ // ======================== Context =========================
249
+ var parentHackContext = React.useContext(PickerHackContext);
250
+ var pickerPanelContext = React.useMemo(function () {
251
+ return _objectSpread(_objectSpread({}, parentHackContext), {}, {
252
+ hideHeader: hideHeader
253
+ });
254
+ }, [parentHackContext, hideHeader]);
255
+
256
+ // ======================== Warnings ========================
257
+ if (process.env.NODE_ENV !== 'production') {
258
+ warning(!mergedValue || mergedValue.every(function (val) {
259
+ return generateConfig.isValidate(val);
260
+ }), 'Invalidate date pass to `value` or `defaultValue`.');
261
+ }
262
+
263
+ // ========================= Render =========================
264
+ var panelCls = "".concat(mergedPrefixCls, "-panel");
265
+ var panelProps = pickProps(props, [
266
+ // Week
267
+ 'showWeek',
268
+ // Icons
269
+ 'prevIcon', 'nextIcon', 'superPrevIcon', 'superNextIcon',
270
+ // Disabled
271
+ 'disabledDate', 'minDate', 'maxDate',
272
+ // Hover
273
+ 'onHover']);
274
+ return /*#__PURE__*/React.createElement(PickerHackContext.Provider, {
275
+ value: pickerPanelContext
276
+ }, /*#__PURE__*/React.createElement("div", {
277
+ ref: rootRef,
278
+ tabIndex: tabIndex,
279
+ className: classNames(panelCls, _defineProperty({}, "".concat(panelCls, "-rtl"), direction === 'rtl'))
280
+ }, /*#__PURE__*/React.createElement(PanelComponent, _extends({}, panelProps, {
281
+ // Time
282
+ showTime: mergedShowTime
283
+ // MISC
284
+ ,
285
+ prefixCls: mergedPrefixCls,
286
+ locale: filledLocale,
287
+ generateConfig: generateConfig
288
+ // Mode
289
+ ,
290
+ onModeChange: triggerModeChange
291
+ // Value
292
+ ,
293
+ pickerValue: mergedPickerValue,
294
+ onPickerValueChange: function onPickerValueChange(nextPickerValue) {
295
+ setPickerValue(nextPickerValue, true);
296
+ },
297
+ value: mergedValue[0],
298
+ onSelect: onPanelValueSelect,
299
+ values: mergedValue
300
+ // Render
301
+ ,
302
+ cellRender: onInternalCellRender
303
+ // Hover
304
+ ,
305
+ hoverRangeValue: hoverRangeDate,
306
+ hoverValue: hoverValue
307
+ }))));
308
+ }
309
+ var RefPanelPicker = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(PickerPanel));
310
+ if (process.env.NODE_ENV !== 'production') {
311
+ RefPanelPicker.displayName = 'PanelPicker';
312
+ }
313
+
314
+ // Make support generic
315
+ export default RefPanelPicker;
@@ -0,0 +1,19 @@
1
+ import type { AlignType, BuildInPlacements } from '@rc-component/trigger/lib/interface';
2
+ import * as React from 'react';
3
+ export type PickerTriggerProps = {
4
+ popupElement: React.ReactElement;
5
+ popupStyle?: React.CSSProperties;
6
+ children: React.ReactElement;
7
+ transitionName?: string;
8
+ getPopupContainer?: (node: HTMLElement) => HTMLElement;
9
+ popupAlign?: AlignType;
10
+ range?: boolean;
11
+ popupClassName?: string;
12
+ placement?: string;
13
+ builtinPlacements?: BuildInPlacements;
14
+ direction?: 'ltr' | 'rtl';
15
+ visible: boolean;
16
+ onClose: () => void;
17
+ };
18
+ declare function PickerTrigger({ popupElement, popupStyle, popupClassName, popupAlign, transitionName, getPopupContainer, children, range, placement, builtinPlacements, direction, visible, onClose, }: PickerTriggerProps): React.JSX.Element;
19
+ export default PickerTrigger;
@@ -0,0 +1,86 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
4
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
+ import Trigger from '@rc-component/trigger';
6
+ import classNames from 'classnames';
7
+ import * as React from 'react';
8
+ import { getRealPlacement } from "../utils/uiUtil";
9
+ import PickerContext from "../PickerInput/context";
10
+ var BUILT_IN_PLACEMENTS = {
11
+ bottomLeft: {
12
+ points: ['tl', 'bl'],
13
+ offset: [0, 4],
14
+ overflow: {
15
+ adjustX: 1,
16
+ adjustY: 1
17
+ }
18
+ },
19
+ bottomRight: {
20
+ points: ['tr', 'br'],
21
+ offset: [0, 4],
22
+ overflow: {
23
+ adjustX: 1,
24
+ adjustY: 1
25
+ }
26
+ },
27
+ topLeft: {
28
+ points: ['bl', 'tl'],
29
+ offset: [0, -4],
30
+ overflow: {
31
+ adjustX: 0,
32
+ adjustY: 1
33
+ }
34
+ },
35
+ topRight: {
36
+ points: ['br', 'tr'],
37
+ offset: [0, -4],
38
+ overflow: {
39
+ adjustX: 0,
40
+ adjustY: 1
41
+ }
42
+ }
43
+ };
44
+ function PickerTrigger(_ref) {
45
+ var popupElement = _ref.popupElement,
46
+ popupStyle = _ref.popupStyle,
47
+ popupClassName = _ref.popupClassName,
48
+ popupAlign = _ref.popupAlign,
49
+ transitionName = _ref.transitionName,
50
+ getPopupContainer = _ref.getPopupContainer,
51
+ children = _ref.children,
52
+ range = _ref.range,
53
+ placement = _ref.placement,
54
+ _ref$builtinPlacement = _ref.builtinPlacements,
55
+ builtinPlacements = _ref$builtinPlacement === void 0 ? BUILT_IN_PLACEMENTS : _ref$builtinPlacement,
56
+ direction = _ref.direction,
57
+ visible = _ref.visible,
58
+ onClose = _ref.onClose;
59
+ var _React$useContext = React.useContext(PickerContext),
60
+ prefixCls = _React$useContext.prefixCls;
61
+ var dropdownPrefixCls = "".concat(prefixCls, "-dropdown");
62
+ var realPlacement = getRealPlacement(placement, direction === 'rtl');
63
+ return /*#__PURE__*/React.createElement(Trigger, {
64
+ showAction: [],
65
+ hideAction: ['click'],
66
+ popupPlacement: realPlacement,
67
+ builtinPlacements: builtinPlacements,
68
+ prefixCls: dropdownPrefixCls,
69
+ popupMotion: {
70
+ motionName: transitionName
71
+ },
72
+ popup: popupElement,
73
+ popupAlign: popupAlign,
74
+ popupVisible: visible,
75
+ popupClassName: classNames(popupClassName, _defineProperty(_defineProperty({}, "".concat(dropdownPrefixCls, "-range"), range), "".concat(dropdownPrefixCls, "-rtl"), direction === 'rtl')),
76
+ popupStyle: popupStyle,
77
+ stretch: "minWidth",
78
+ getPopupContainer: getPopupContainer,
79
+ onPopupVisibleChange: function onPopupVisibleChange(nextVisible) {
80
+ if (!nextVisible) {
81
+ onClose();
82
+ }
83
+ }
84
+ }, children);
85
+ }
86
+ export default PickerTrigger;
@@ -0,0 +1,2 @@
1
+ import type { SharedPickerProps } from '../interface';
2
+ export declare function pickTriggerProps(props: Omit<SharedPickerProps, 'showTime'>): Omit<SharedPickerProps<any>, "showTime">;
@@ -0,0 +1,4 @@
1
+ import { pickProps } from "../utils/miscUtil";
2
+ export function pickTriggerProps(props) {
3
+ return pickProps(props, ['placement', 'builtinPlacements', 'popupAlign', 'getPopupContainer', 'transitionName', 'direction']);
4
+ }
@@ -0,0 +1,3 @@
1
+ import type { GenerateConfig } from '.';
2
+ declare const generateConfig: GenerateConfig<Date>;
3
+ export default generateConfig;