@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,90 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useLocale;
7
+ exports.fillTimeFormat = fillTimeFormat;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ 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); }
11
+ 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; }
12
+ 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; }
13
+ 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; }
14
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
15
+ 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); }
16
+ function fillTimeFormat(showHour, showMinute, showSecond, showMillisecond, showMeridiem) {
17
+ var timeFormat = '';
18
+
19
+ // Base HH:mm:ss
20
+ var cells = [];
21
+ if (showHour) {
22
+ cells.push(showMeridiem ? 'hh' : 'HH');
23
+ }
24
+ if (showMinute) {
25
+ cells.push('mm');
26
+ }
27
+ if (showSecond) {
28
+ cells.push('ss');
29
+ }
30
+ timeFormat = cells.join(':');
31
+
32
+ // Millisecond
33
+ if (showMillisecond) {
34
+ timeFormat += '.SSS';
35
+ }
36
+
37
+ // Meridiem
38
+ if (showMeridiem) {
39
+ timeFormat += ' A';
40
+ }
41
+ return timeFormat;
42
+ }
43
+
44
+ /**
45
+ * Used for `useFilledProps` since it already in the React.useMemo
46
+ */
47
+ function fillLocale(locale, showHour, showMinute, showSecond, showMillisecond, use12Hours) {
48
+ // Not fill `monthFormat` since `locale.shortMonths` handle this
49
+ // Not fill `cellMeridiemFormat` since AM & PM by default
50
+ var fieldDateTimeFormat = locale.fieldDateTimeFormat,
51
+ fieldDateFormat = locale.fieldDateFormat,
52
+ fieldTimeFormat = locale.fieldTimeFormat,
53
+ fieldMonthFormat = locale.fieldMonthFormat,
54
+ fieldYearFormat = locale.fieldYearFormat,
55
+ fieldWeekFormat = locale.fieldWeekFormat,
56
+ fieldQuarterFormat = locale.fieldQuarterFormat,
57
+ yearFormat = locale.yearFormat,
58
+ cellYearFormat = locale.cellYearFormat,
59
+ cellQuarterFormat = locale.cellQuarterFormat,
60
+ dayFormat = locale.dayFormat,
61
+ cellDateFormat = locale.cellDateFormat;
62
+ var timeFormat = fillTimeFormat(showHour, showMinute, showSecond, showMillisecond, use12Hours);
63
+ return _objectSpread(_objectSpread({}, locale), {}, {
64
+ fieldDateTimeFormat: fieldDateTimeFormat || "YYYY-MM-DD ".concat(timeFormat),
65
+ fieldDateFormat: fieldDateFormat || 'YYYY-MM-DD',
66
+ fieldTimeFormat: fieldTimeFormat || timeFormat,
67
+ fieldMonthFormat: fieldMonthFormat || 'YYYY-MM',
68
+ fieldYearFormat: fieldYearFormat || 'YYYY',
69
+ fieldWeekFormat: fieldWeekFormat || 'gggg-wo',
70
+ fieldQuarterFormat: fieldQuarterFormat || 'YYYY-[Q]Q',
71
+ yearFormat: yearFormat || 'YYYY',
72
+ cellYearFormat: cellYearFormat || 'YYYY',
73
+ cellQuarterFormat: cellQuarterFormat || '[Q]Q',
74
+ cellDateFormat: cellDateFormat || dayFormat || 'D'
75
+ });
76
+ }
77
+
78
+ /**
79
+ * Fill locale format as start up
80
+ */
81
+ function useLocale(locale, showProps) {
82
+ var showHour = showProps.showHour,
83
+ showMinute = showProps.showMinute,
84
+ showSecond = showProps.showSecond,
85
+ showMillisecond = showProps.showMillisecond,
86
+ use12Hours = showProps.use12Hours;
87
+ return _react.default.useMemo(function () {
88
+ return fillLocale(locale, showHour, showMinute, showSecond, showMillisecond, use12Hours);
89
+ }, [locale, showHour, showMinute, showSecond, showMillisecond, use12Hours]);
90
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Sync value with state.
3
+ * This should only used for internal which not affect outside calculation.
4
+ * Since it's not safe for suspense.
5
+ */
6
+ export default function useSyncState<T>(defaultValue: T, controlledValue?: T): [getter: (useControlledValueFirst?: boolean) => T, setter: (nextValue: T) => void, value: T];
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ 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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = useSyncState;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
+ 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."); }
13
+ 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); }
14
+ 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; }
15
+ 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; } }
16
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17
+ /**
18
+ * Sync value with state.
19
+ * This should only used for internal which not affect outside calculation.
20
+ * Since it's not safe for suspense.
21
+ */
22
+ function useSyncState(defaultValue, controlledValue) {
23
+ var valueRef = React.useRef(defaultValue);
24
+ var _React$useState = React.useState({}),
25
+ _React$useState2 = _slicedToArray(_React$useState, 2),
26
+ forceUpdate = _React$useState2[1];
27
+ var getter = function getter(useControlledValueFirst) {
28
+ return useControlledValueFirst && controlledValue !== undefined ? controlledValue : valueRef.current;
29
+ };
30
+ var setter = function setter(nextValue) {
31
+ valueRef.current = nextValue;
32
+ forceUpdate({});
33
+ };
34
+ return [getter, setter, getter(true)];
35
+ }
@@ -0,0 +1,18 @@
1
+ import type { InternalMode, Locale, SharedPickerProps, SharedTimeProps } from '../interface';
2
+ export interface ComponentProps<DateType extends object> {
3
+ picker?: InternalMode;
4
+ showTime?: boolean | Partial<SharedTimeProps<DateType>>;
5
+ locale: Locale;
6
+ format?: SharedPickerProps['format'];
7
+ }
8
+ /**
9
+ * Get `showHour`, `showMinute`, `showSecond` or other from the props.
10
+ * This is pure function, will not get `showXXX` from the `format` prop.
11
+ */
12
+ export declare function getTimeProps<DateType extends object>(componentProps: ComponentProps<DateType>): [
13
+ showTimeProps: SharedTimeProps<DateType>,
14
+ showTimePropsForLocale: SharedTimeProps<DateType>,
15
+ showTimeFormat: string,
16
+ propFormat: string
17
+ ];
18
+ export declare function fillShowTimeConfig<DateType extends object>(picker: InternalMode, showTimeFormat: string, propFormat: string, timeConfig: SharedTimeProps<DateType>, locale: Locale): SharedTimeProps<DateType>;
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.fillShowTimeConfig = fillShowTimeConfig;
7
+ exports.getTimeProps = getTimeProps;
8
+ var _miscUtil = require("../utils/miscUtil");
9
+ var _useLocale = require("./useLocale");
10
+ 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; }
11
+ 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; }
12
+ 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; }
13
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
14
+ 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); }
15
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
16
+ 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."); }
17
+ 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); }
18
+ 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; }
19
+ 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; } }
20
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
+ 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); }
22
+ function checkShow(format, keywords, show) {
23
+ return show !== null && show !== void 0 ? show : keywords.some(function (keyword) {
24
+ return format.includes(keyword);
25
+ });
26
+ }
27
+ var showTimeKeys = [
28
+ // 'format',
29
+ 'showNow', 'showHour', 'showMinute', 'showSecond', 'showMillisecond', 'use12Hours', 'hourStep', 'minuteStep', 'secondStep', 'millisecondStep', 'hideDisabledOptions', 'defaultValue', 'disabledHours', 'disabledMinutes', 'disabledSeconds', 'disabledMilliseconds', 'disabledTime', 'changeOnScroll', 'defaultOpenValue'];
30
+
31
+ /**
32
+ * Get SharedTimeProps from props.
33
+ */
34
+ function pickTimeProps(props) {
35
+ var timeProps = (0, _miscUtil.pickProps)(props, showTimeKeys);
36
+ var format = props.format,
37
+ picker = props.picker;
38
+ var propFormat = null;
39
+ if (format) {
40
+ propFormat = format;
41
+ if (Array.isArray(propFormat)) {
42
+ propFormat = propFormat[0];
43
+ }
44
+ propFormat = _typeof(propFormat) === 'object' ? propFormat.format : propFormat;
45
+ }
46
+ if (picker === 'time') {
47
+ timeProps.format = propFormat;
48
+ }
49
+ return [timeProps, propFormat];
50
+ }
51
+ function isStringFormat(format) {
52
+ return format && typeof format === 'string';
53
+ }
54
+ /** Check if all the showXXX is `undefined` */
55
+ function existShowConfig(showHour, showMinute, showSecond, showMillisecond) {
56
+ return [showHour, showMinute, showSecond, showMillisecond].some(function (show) {
57
+ return show !== undefined;
58
+ });
59
+ }
60
+
61
+ /** Fill the showXXX if needed */
62
+ function fillShowConfig(hasShowConfig, showHour, showMinute, showSecond, showMillisecond) {
63
+ var parsedShowHour = showHour;
64
+ var parsedShowMinute = showMinute;
65
+ var parsedShowSecond = showSecond;
66
+ if (!hasShowConfig && !parsedShowHour && !parsedShowMinute && !parsedShowSecond && !showMillisecond) {
67
+ parsedShowHour = true;
68
+ parsedShowMinute = true;
69
+ parsedShowSecond = true;
70
+ } else if (hasShowConfig) {
71
+ var _parsedShowHour, _parsedShowMinute, _parsedShowSecond;
72
+ var existFalse = [parsedShowHour, parsedShowMinute, parsedShowSecond].some(function (show) {
73
+ return show === false;
74
+ });
75
+ var existTrue = [parsedShowHour, parsedShowMinute, parsedShowSecond].some(function (show) {
76
+ return show === true;
77
+ });
78
+ var defaultShow = existFalse ? true : !existTrue;
79
+ parsedShowHour = (_parsedShowHour = parsedShowHour) !== null && _parsedShowHour !== void 0 ? _parsedShowHour : defaultShow;
80
+ parsedShowMinute = (_parsedShowMinute = parsedShowMinute) !== null && _parsedShowMinute !== void 0 ? _parsedShowMinute : defaultShow;
81
+ parsedShowSecond = (_parsedShowSecond = parsedShowSecond) !== null && _parsedShowSecond !== void 0 ? _parsedShowSecond : defaultShow;
82
+ }
83
+ return [parsedShowHour, parsedShowMinute, parsedShowSecond, showMillisecond];
84
+ }
85
+
86
+ /**
87
+ * Get `showHour`, `showMinute`, `showSecond` or other from the props.
88
+ * This is pure function, will not get `showXXX` from the `format` prop.
89
+ */
90
+ function getTimeProps(componentProps) {
91
+ var showTime = componentProps.showTime;
92
+ var _pickTimeProps = pickTimeProps(componentProps),
93
+ _pickTimeProps2 = _slicedToArray(_pickTimeProps, 2),
94
+ pickedProps = _pickTimeProps2[0],
95
+ propFormat = _pickTimeProps2[1];
96
+ var showTimeConfig = showTime && _typeof(showTime) === 'object' ? showTime : {};
97
+ var timeConfig = _objectSpread(_objectSpread({
98
+ defaultOpenValue: showTimeConfig.defaultOpenValue || showTimeConfig.defaultValue
99
+ }, pickedProps), showTimeConfig);
100
+ var showMillisecond = timeConfig.showMillisecond;
101
+ var showHour = timeConfig.showHour,
102
+ showMinute = timeConfig.showMinute,
103
+ showSecond = timeConfig.showSecond;
104
+ var hasShowConfig = existShowConfig(showHour, showMinute, showSecond, showMillisecond);
105
+ var _fillShowConfig = fillShowConfig(hasShowConfig, showHour, showMinute, showSecond, showMillisecond);
106
+ var _fillShowConfig2 = _slicedToArray(_fillShowConfig, 3);
107
+ showHour = _fillShowConfig2[0];
108
+ showMinute = _fillShowConfig2[1];
109
+ showSecond = _fillShowConfig2[2];
110
+ return [timeConfig, _objectSpread(_objectSpread({}, timeConfig), {}, {
111
+ showHour: showHour,
112
+ showMinute: showMinute,
113
+ showSecond: showSecond,
114
+ showMillisecond: showMillisecond
115
+ }), timeConfig.format, propFormat];
116
+ }
117
+ function fillShowTimeConfig(picker, showTimeFormat, propFormat, timeConfig, locale) {
118
+ var isTimePicker = picker === 'time';
119
+ if (picker === 'datetime' || isTimePicker) {
120
+ var pickedProps = timeConfig;
121
+
122
+ // ====================== BaseFormat ======================
123
+ var defaultLocaleFormat = (0, _miscUtil.getRowFormat)(picker, locale, null);
124
+ var baselineFormat = defaultLocaleFormat;
125
+ var formatList = [showTimeFormat, propFormat];
126
+ for (var i = 0; i < formatList.length; i += 1) {
127
+ var format = (0, _miscUtil.toArray)(formatList[i])[0];
128
+ if (isStringFormat(format)) {
129
+ baselineFormat = format;
130
+ break;
131
+ }
132
+ }
133
+
134
+ // ========================= Show =========================
135
+ var showHour = pickedProps.showHour,
136
+ showMinute = pickedProps.showMinute,
137
+ showSecond = pickedProps.showSecond,
138
+ showMillisecond = pickedProps.showMillisecond;
139
+ var use12Hours = pickedProps.use12Hours;
140
+ var showMeridiem = checkShow(baselineFormat, ['a', 'A', 'LT', 'LLL', 'LTS'], use12Hours);
141
+ var hasShowConfig = existShowConfig(showHour, showMinute, showSecond, showMillisecond);
142
+
143
+ // Fill with format, if needed
144
+ if (!hasShowConfig) {
145
+ showHour = checkShow(baselineFormat, ['H', 'h', 'k', 'LT', 'LLL']);
146
+ showMinute = checkShow(baselineFormat, ['m', 'LT', 'LLL']);
147
+ showSecond = checkShow(baselineFormat, ['s', 'LTS']);
148
+ showMillisecond = checkShow(baselineFormat, ['SSS']);
149
+ }
150
+
151
+ // Fallback if all can not see
152
+ // ======================== Format ========================
153
+ var _fillShowConfig3 = fillShowConfig(hasShowConfig, showHour, showMinute, showSecond, showMillisecond);
154
+ var _fillShowConfig4 = _slicedToArray(_fillShowConfig3, 3);
155
+ showHour = _fillShowConfig4[0];
156
+ showMinute = _fillShowConfig4[1];
157
+ showSecond = _fillShowConfig4[2];
158
+ var timeFormat = showTimeFormat || (0, _useLocale.fillTimeFormat)(showHour, showMinute, showSecond, showMillisecond, showMeridiem);
159
+
160
+ // ======================== Props =========================
161
+ return _objectSpread(_objectSpread({}, pickedProps), {}, {
162
+ // Format
163
+ format: timeFormat,
164
+ // Show Config
165
+ showHour: showHour,
166
+ showMinute: showMinute,
167
+ showSecond: showSecond,
168
+ showMillisecond: showMillisecond,
169
+ use12Hours: showMeridiem
170
+ });
171
+ }
172
+ return null;
173
+ }
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import type { GenerateConfig } from '../generate';
3
+ import type { SharedTimeProps } from '../interface';
4
+ export type Unit<ValueType = number | string> = {
5
+ label: React.ReactText;
6
+ value: ValueType;
7
+ disabled?: boolean;
8
+ };
9
+ /**
10
+ * Parse time props to get util info
11
+ */
12
+ export default function useTimeInfo<DateType extends object = any>(generateConfig: GenerateConfig<DateType>, props?: SharedTimeProps<DateType>, date?: DateType): readonly [(nextTime: DateType, certainDate?: DateType) => DateType, Unit<number>[], (nextHour: number) => Unit<number>[], (nextHour: number, nextMinute: number) => Unit<number>[], (nextHour: number, nextMinute: number, nextSecond: number) => Unit<number>[]];
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+
3
+ 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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = useTimeInfo;
8
+ var _util = require("@rc-component/util");
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _util2 = require("../PickerPanel/TimePanel/TimePanelBody/util");
11
+ var _miscUtil = require("../utils/miscUtil");
12
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ 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; }
15
+ 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; }
16
+ 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; }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
18
+ 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); }
19
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
20
+ 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."); }
21
+ 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); }
22
+ 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; }
23
+ 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; } }
24
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
25
+ function emptyDisabled() {
26
+ return [];
27
+ }
28
+ function generateUnits(start, end) {
29
+ var step = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
30
+ var hideDisabledOptions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
31
+ var disabledUnits = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
32
+ var pad = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 2;
33
+ var units = [];
34
+ var integerStep = step >= 1 ? step | 0 : 1;
35
+ for (var i = start; i <= end; i += integerStep) {
36
+ var disabled = disabledUnits.includes(i);
37
+ if (!disabled || !hideDisabledOptions) {
38
+ units.push({
39
+ label: (0, _miscUtil.leftPad)(i, pad),
40
+ value: i,
41
+ disabled: disabled
42
+ });
43
+ }
44
+ }
45
+ return units;
46
+ }
47
+
48
+ /**
49
+ * Parse time props to get util info
50
+ */
51
+ function useTimeInfo(generateConfig) {
52
+ var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
53
+ var date = arguments.length > 2 ? arguments[2] : undefined;
54
+ var _ref = props || {},
55
+ use12Hours = _ref.use12Hours,
56
+ _ref$hourStep = _ref.hourStep,
57
+ hourStep = _ref$hourStep === void 0 ? 1 : _ref$hourStep,
58
+ _ref$minuteStep = _ref.minuteStep,
59
+ minuteStep = _ref$minuteStep === void 0 ? 1 : _ref$minuteStep,
60
+ _ref$secondStep = _ref.secondStep,
61
+ secondStep = _ref$secondStep === void 0 ? 1 : _ref$secondStep,
62
+ _ref$millisecondStep = _ref.millisecondStep,
63
+ millisecondStep = _ref$millisecondStep === void 0 ? 100 : _ref$millisecondStep,
64
+ hideDisabledOptions = _ref.hideDisabledOptions,
65
+ disabledTime = _ref.disabledTime,
66
+ disabledHours = _ref.disabledHours,
67
+ disabledMinutes = _ref.disabledMinutes,
68
+ disabledSeconds = _ref.disabledSeconds;
69
+ var mergedDate = React.useMemo(function () {
70
+ return date || generateConfig.getNow();
71
+ }, [date, generateConfig]);
72
+
73
+ // ======================== Warnings ========================
74
+ if (process.env.NODE_ENV !== 'production') {
75
+ var isHourStepValid = 24 % hourStep === 0;
76
+ var isMinuteStepValid = 60 % minuteStep === 0;
77
+ var isSecondStepValid = 60 % secondStep === 0;
78
+ (0, _util.warning)(isHourStepValid, "`hourStep` ".concat(hourStep, " is invalid. It should be a factor of 24."));
79
+ (0, _util.warning)(isMinuteStepValid, "`minuteStep` ".concat(minuteStep, " is invalid. It should be a factor of 60."));
80
+ (0, _util.warning)(isSecondStepValid, "`secondStep` ".concat(secondStep, " is invalid. It should be a factor of 60."));
81
+ }
82
+
83
+ // ======================== Disabled ========================
84
+ var getDisabledTimes = React.useCallback(function (targetDate) {
85
+ var disabledConfig = (disabledTime === null || disabledTime === void 0 ? void 0 : disabledTime(targetDate)) || {};
86
+ return [disabledConfig.disabledHours || disabledHours || emptyDisabled, disabledConfig.disabledMinutes || disabledMinutes || emptyDisabled, disabledConfig.disabledSeconds || disabledSeconds || emptyDisabled, disabledConfig.disabledMilliseconds || emptyDisabled];
87
+ }, [disabledTime, disabledHours, disabledMinutes, disabledSeconds]);
88
+ var _React$useMemo = React.useMemo(function () {
89
+ return getDisabledTimes(mergedDate);
90
+ }, [mergedDate, getDisabledTimes]),
91
+ _React$useMemo2 = _slicedToArray(_React$useMemo, 4),
92
+ mergedDisabledHours = _React$useMemo2[0],
93
+ mergedDisabledMinutes = _React$useMemo2[1],
94
+ mergedDisabledSeconds = _React$useMemo2[2],
95
+ mergedDisabledMilliseconds = _React$useMemo2[3];
96
+
97
+ // ========================= Column =========================
98
+ var getAllUnits = React.useCallback(function (getDisabledHours, getDisabledMinutes, getDisabledSeconds, getDisabledMilliseconds) {
99
+ var hours = generateUnits(0, 23, hourStep, hideDisabledOptions, getDisabledHours());
100
+
101
+ // Hours
102
+ var rowHourUnits = use12Hours ? hours.map(function (unit) {
103
+ return _objectSpread(_objectSpread({}, unit), {}, {
104
+ label: (0, _miscUtil.leftPad)(unit.value % 12 || 12, 2)
105
+ });
106
+ }) : hours;
107
+
108
+ // Minutes
109
+ var getMinuteUnits = function getMinuteUnits(nextHour) {
110
+ return generateUnits(0, 59, minuteStep, hideDisabledOptions, getDisabledMinutes(nextHour));
111
+ };
112
+
113
+ // Seconds
114
+ var getSecondUnits = function getSecondUnits(nextHour, nextMinute) {
115
+ return generateUnits(0, 59, secondStep, hideDisabledOptions, getDisabledSeconds(nextHour, nextMinute));
116
+ };
117
+
118
+ // Milliseconds
119
+ var getMillisecondUnits = function getMillisecondUnits(nextHour, nextMinute, nextSecond) {
120
+ return generateUnits(0, 999, millisecondStep, hideDisabledOptions, getDisabledMilliseconds(nextHour, nextMinute, nextSecond), 3);
121
+ };
122
+ return [rowHourUnits, getMinuteUnits, getSecondUnits, getMillisecondUnits];
123
+ }, [hideDisabledOptions, hourStep, use12Hours, millisecondStep, minuteStep, secondStep]);
124
+ var _React$useMemo3 = React.useMemo(function () {
125
+ return getAllUnits(mergedDisabledHours, mergedDisabledMinutes, mergedDisabledSeconds, mergedDisabledMilliseconds);
126
+ }, [getAllUnits, mergedDisabledHours, mergedDisabledMinutes, mergedDisabledSeconds, mergedDisabledMilliseconds]),
127
+ _React$useMemo4 = _slicedToArray(_React$useMemo3, 4),
128
+ rowHourUnits = _React$useMemo4[0],
129
+ getMinuteUnits = _React$useMemo4[1],
130
+ getSecondUnits = _React$useMemo4[2],
131
+ getMillisecondUnits = _React$useMemo4[3];
132
+
133
+ // ======================== Validate ========================
134
+ /**
135
+ * Get validate time with `disabledTime`, `certainDate` to specific the date need to check
136
+ */
137
+ var getValidTime = function getValidTime(nextTime, certainDate) {
138
+ var getCheckHourUnits = function getCheckHourUnits() {
139
+ return rowHourUnits;
140
+ };
141
+ var getCheckMinuteUnits = getMinuteUnits;
142
+ var getCheckSecondUnits = getSecondUnits;
143
+ var getCheckMillisecondUnits = getMillisecondUnits;
144
+ if (certainDate) {
145
+ var _getDisabledTimes = getDisabledTimes(certainDate),
146
+ _getDisabledTimes2 = _slicedToArray(_getDisabledTimes, 4),
147
+ targetDisabledHours = _getDisabledTimes2[0],
148
+ targetDisabledMinutes = _getDisabledTimes2[1],
149
+ targetDisabledSeconds = _getDisabledTimes2[2],
150
+ targetDisabledMilliseconds = _getDisabledTimes2[3];
151
+ var _getAllUnits = getAllUnits(targetDisabledHours, targetDisabledMinutes, targetDisabledSeconds, targetDisabledMilliseconds),
152
+ _getAllUnits2 = _slicedToArray(_getAllUnits, 4),
153
+ targetRowHourUnits = _getAllUnits2[0],
154
+ targetGetMinuteUnits = _getAllUnits2[1],
155
+ targetGetSecondUnits = _getAllUnits2[2],
156
+ targetGetMillisecondUnits = _getAllUnits2[3];
157
+ getCheckHourUnits = function getCheckHourUnits() {
158
+ return targetRowHourUnits;
159
+ };
160
+ getCheckMinuteUnits = targetGetMinuteUnits;
161
+ getCheckSecondUnits = targetGetSecondUnits;
162
+ getCheckMillisecondUnits = targetGetMillisecondUnits;
163
+ }
164
+ var validateDate = (0, _util2.findValidateTime)(nextTime, getCheckHourUnits, getCheckMinuteUnits, getCheckSecondUnits, getCheckMillisecondUnits, generateConfig);
165
+ return validateDate;
166
+ };
167
+ return [
168
+ // getValidTime
169
+ getValidTime,
170
+ // Units
171
+ rowHourUnits, getMinuteUnits, getSecondUnits, getMillisecondUnits];
172
+ }
@@ -0,0 +1,8 @@
1
+ import type { GenerateConfig } from '../generate';
2
+ import type { InternalMode, Locale } from '../interface';
3
+ /**
4
+ * Toggles the presence of a value in an array.
5
+ * If the value exists in the array, removed it.
6
+ * Else add it.
7
+ */
8
+ export default function useToggleDates<DateType>(generateConfig: GenerateConfig<DateType>, locale: Locale, panelMode: InternalMode): (list: DateType[], target: DateType) => DateType[];
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useToggleDates;
7
+ var _dateUtil = require("../utils/dateUtil");
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 _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); }
11
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
12
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
13
+ 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; }
14
+ /**
15
+ * Toggles the presence of a value in an array.
16
+ * If the value exists in the array, removed it.
17
+ * Else add it.
18
+ */
19
+ function useToggleDates(generateConfig, locale, panelMode) {
20
+ function toggleDates(list, target) {
21
+ var index = list.findIndex(function (date) {
22
+ return (0, _dateUtil.isSame)(generateConfig, locale, date, target, panelMode);
23
+ });
24
+ if (index === -1) {
25
+ return [].concat(_toConsumableArray(list), [target]);
26
+ }
27
+ var sliceList = _toConsumableArray(list);
28
+ sliceList.splice(index, 1);
29
+ return sliceList;
30
+ }
31
+ return toggleDates;
32
+ }
package/lib/index.d.ts ADDED
@@ -0,0 +1,35 @@
1
+ /**
2
+ * What's new?
3
+ * - Common
4
+ * - [Break] Support special year format, all the year will follow the locale config.
5
+ * - Blur all of field will trigger `onChange` if validate
6
+ * - Support `preserveInvalidOnBlur` to not to clean input if invalid and remove `changeOnBlur`
7
+ * - `pickerValue` is now full controlled
8
+ * - `defaultPickerValue` will take effect on every field active with popup opening.
9
+ * - [Break] clear button return the event with `onClick`
10
+ *
11
+ * - Locale
12
+ * - Remove `dateFormat` since it's never used
13
+ * - Remove `dateTimeFormat` since it's never used
14
+ *
15
+ * - Picker
16
+ * - TimePicker support `changeOnScroll`
17
+ * - TimePicker support `millisecond`
18
+ * - Support cellMeridiemFormat for AM/PM
19
+ * - Get correct `disabledHours` when set `use12Hours`
20
+ * - Support `showWeek`
21
+ *
22
+ * - RangePicker
23
+ * - [Break] RangePicker is now not limit the range of clicked field.
24
+ * - Trigger `onCalendarChange` when type correct
25
+ * - [Break] Not order `value` if given `value` is wrong order.
26
+ * - Hover `presets` will show date in input field.
27
+ * - [Break] RangePicker go to end field, `pickerValue` will follow the start field if not controlled.
28
+ */
29
+ import type { PickerRef, SharedTimeProps } from './interface';
30
+ import RangePicker, { type RangePickerProps } from './PickerInput/RangePicker';
31
+ import Picker, { type BasePickerProps, type PickerProps } from './PickerInput/SinglePicker';
32
+ import PickerPanel, { type BasePickerPanelProps, type PickerPanelProps } from './PickerPanel';
33
+ export { Picker, RangePicker, PickerPanel };
34
+ export type { RangePickerProps, PickerProps, PickerPanelProps, PickerRef, BasePickerProps, BasePickerPanelProps, SharedTimeProps, };
35
+ export default Picker;
package/lib/index.js ADDED
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Picker", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _SinglePicker.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "PickerPanel", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _PickerPanel.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "RangePicker", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _RangePicker.default;
22
+ }
23
+ });
24
+ exports.default = void 0;
25
+ var _RangePicker = _interopRequireDefault(require("./PickerInput/RangePicker"));
26
+ var _SinglePicker = _interopRequireDefault(require("./PickerInput/SinglePicker"));
27
+ var _PickerPanel = _interopRequireDefault(require("./PickerPanel"));
28
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
+ /**
30
+ * What's new?
31
+ * - Common
32
+ * - [Break] Support special year format, all the year will follow the locale config.
33
+ * - Blur all of field will trigger `onChange` if validate
34
+ * - Support `preserveInvalidOnBlur` to not to clean input if invalid and remove `changeOnBlur`
35
+ * - `pickerValue` is now full controlled
36
+ * - `defaultPickerValue` will take effect on every field active with popup opening.
37
+ * - [Break] clear button return the event with `onClick`
38
+ *
39
+ * - Locale
40
+ * - Remove `dateFormat` since it's never used
41
+ * - Remove `dateTimeFormat` since it's never used
42
+ *
43
+ * - Picker
44
+ * - TimePicker support `changeOnScroll`
45
+ * - TimePicker support `millisecond`
46
+ * - Support cellMeridiemFormat for AM/PM
47
+ * - Get correct `disabledHours` when set `use12Hours`
48
+ * - Support `showWeek`
49
+ *
50
+ * - RangePicker
51
+ * - [Break] RangePicker is now not limit the range of clicked field.
52
+ * - Trigger `onCalendarChange` when type correct
53
+ * - [Break] Not order `value` if given `value` is wrong order.
54
+ * - Hover `presets` will show date in input field.
55
+ * - [Break] RangePicker go to end field, `pickerValue` will follow the start field if not controlled.
56
+ */
57
+ var _default = exports.default = _SinglePicker.default;