@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,163 @@
1
+ import { addDays, addMonths, addYears, endOfMonth, format as formatDate, getDate as _getDate, getDay, getHours, getMinutes, getMonth as _getMonth, getSeconds, getWeek as _getWeek, getYear as _getYear, isAfter as _isAfter, isValid, parse as parseDate, setDate as _setDate, setHours, setMilliseconds, setMinutes, setMonth as _setMonth, setSeconds, setYear as _setYear, startOfWeek, getMilliseconds } from 'date-fns';
2
+ import * as locales from 'date-fns/locale';
3
+ var getLocale = function getLocale(locale) {
4
+ return locales[locale] || locales[locale.replace(/_/g, '')] || locales[locale.replace(/_.*$/g, '')];
5
+ };
6
+ var localeParse = function localeParse(format) {
7
+ return format.replace(/Y/g, 'y').replace(/D/g, 'd').replace(/gggg/, 'yyyy').replace(/g/g, 'G').replace(/([Ww])o/g, 'wo');
8
+ };
9
+ var _parse = function parse(text, format, locale) {
10
+ return parseDate(text, localeParse(format), new Date(), {
11
+ locale: getLocale(locale)
12
+ });
13
+ };
14
+
15
+ /**
16
+ * Check if the text is a valid date considering the format and locale
17
+ *
18
+ * This is a strict check, the date string must match the format exactly.
19
+ * Date-fns allows some flexibility in parsing dates, for example, it will parse "30/01/2" as "30/01/002".
20
+ * This behavior is not desirable in our case, so we need to check if the date string matches the format exactly.
21
+ *
22
+ * @param text the date string
23
+ * @param format the date format to use
24
+ * @param locale the locale to use
25
+ */
26
+ var isStrictValidDate = function isStrictValidDate(text, format, locale) {
27
+ var date = _parse(text, format, locale);
28
+ if (!isValid(date)) {
29
+ return false;
30
+ }
31
+ var formattedDate = formatDate(date, format, {
32
+ locale: getLocale(locale)
33
+ });
34
+ return text === formattedDate;
35
+ };
36
+ var generateConfig = {
37
+ // get
38
+ getNow: function getNow() {
39
+ return new Date();
40
+ },
41
+ getFixedDate: function getFixedDate(string) {
42
+ return new Date(string);
43
+ },
44
+ getEndDate: function getEndDate(date) {
45
+ return endOfMonth(date);
46
+ },
47
+ getWeekDay: function getWeekDay(date) {
48
+ return getDay(date);
49
+ },
50
+ getYear: function getYear(date) {
51
+ return _getYear(date);
52
+ },
53
+ getMonth: function getMonth(date) {
54
+ return _getMonth(date);
55
+ },
56
+ getDate: function getDate(date) {
57
+ return _getDate(date);
58
+ },
59
+ getHour: function getHour(date) {
60
+ return getHours(date);
61
+ },
62
+ getMinute: function getMinute(date) {
63
+ return getMinutes(date);
64
+ },
65
+ getSecond: function getSecond(date) {
66
+ return getSeconds(date);
67
+ },
68
+ getMillisecond: function getMillisecond(date) {
69
+ return getMilliseconds(date);
70
+ },
71
+ // set
72
+ addYear: function addYear(date, diff) {
73
+ return addYears(date, diff);
74
+ },
75
+ addMonth: function addMonth(date, diff) {
76
+ return addMonths(date, diff);
77
+ },
78
+ addDate: function addDate(date, diff) {
79
+ return addDays(date, diff);
80
+ },
81
+ setYear: function setYear(date, year) {
82
+ return _setYear(date, year);
83
+ },
84
+ setMonth: function setMonth(date, month) {
85
+ return _setMonth(date, month);
86
+ },
87
+ setDate: function setDate(date, num) {
88
+ return _setDate(date, num);
89
+ },
90
+ setHour: function setHour(date, hour) {
91
+ return setHours(date, hour);
92
+ },
93
+ setMinute: function setMinute(date, minute) {
94
+ return setMinutes(date, minute);
95
+ },
96
+ setSecond: function setSecond(date, second) {
97
+ return setSeconds(date, second);
98
+ },
99
+ setMillisecond: function setMillisecond(date, millisecond) {
100
+ return setMilliseconds(date, millisecond);
101
+ },
102
+ // Compare
103
+ isAfter: function isAfter(date1, date2) {
104
+ return _isAfter(date1, date2);
105
+ },
106
+ isValidate: function isValidate(date) {
107
+ return isValid(date);
108
+ },
109
+ locale: {
110
+ getWeekFirstDay: function getWeekFirstDay(locale) {
111
+ var clone = getLocale(locale);
112
+ return clone.options.weekStartsOn;
113
+ },
114
+ getWeekFirstDate: function getWeekFirstDate(locale, date) {
115
+ return startOfWeek(date, {
116
+ locale: getLocale(locale)
117
+ });
118
+ },
119
+ getWeek: function getWeek(locale, date) {
120
+ return _getWeek(date, {
121
+ locale: getLocale(locale)
122
+ });
123
+ },
124
+ getShortWeekDays: function getShortWeekDays(locale) {
125
+ var clone = getLocale(locale);
126
+ return Array.from({
127
+ length: 7
128
+ }).map(function (_, i) {
129
+ return clone.localize.day(i, {
130
+ width: 'short'
131
+ });
132
+ });
133
+ },
134
+ getShortMonths: function getShortMonths(locale) {
135
+ var clone = getLocale(locale);
136
+ return Array.from({
137
+ length: 12
138
+ }).map(function (_, i) {
139
+ return clone.localize.month(i, {
140
+ width: 'abbreviated'
141
+ });
142
+ });
143
+ },
144
+ format: function format(locale, date, _format) {
145
+ if (!isValid(date)) {
146
+ return null;
147
+ }
148
+ return formatDate(date, localeParse(_format), {
149
+ locale: getLocale(locale)
150
+ });
151
+ },
152
+ parse: function parse(locale, text, formats) {
153
+ for (var i = 0; i < formats.length; i += 1) {
154
+ var format = localeParse(formats[i]);
155
+ if (isStrictValidDate(text, format, locale)) {
156
+ return _parse(text, format, locale);
157
+ }
158
+ }
159
+ return null;
160
+ }
161
+ }
162
+ };
163
+ export default generateConfig;
@@ -0,0 +1,4 @@
1
+ import type { Dayjs } from 'dayjs';
2
+ import type { GenerateConfig } from '.';
3
+ declare const generateConfig: GenerateConfig<Dayjs>;
4
+ export default generateConfig;
@@ -0,0 +1,233 @@
1
+ import dayjs from 'dayjs';
2
+ import weekday from 'dayjs/plugin/weekday';
3
+ import localeData from 'dayjs/plugin/localeData';
4
+ import weekOfYear from 'dayjs/plugin/weekOfYear';
5
+ import weekYear from 'dayjs/plugin/weekYear';
6
+ import advancedFormat from 'dayjs/plugin/advancedFormat';
7
+ import customParseFormat from 'dayjs/plugin/customParseFormat';
8
+ dayjs.extend(customParseFormat);
9
+ dayjs.extend(advancedFormat);
10
+ dayjs.extend(weekday);
11
+ dayjs.extend(localeData);
12
+ dayjs.extend(weekOfYear);
13
+ dayjs.extend(weekYear);
14
+ dayjs.extend(function (o, c) {
15
+ // todo support Wo (ISO week)
16
+ var proto = c.prototype;
17
+ var oldFormat = proto.format;
18
+ proto.format = function f(formatStr) {
19
+ var str = (formatStr || '').replace('Wo', 'wo');
20
+ return oldFormat.bind(this)(str);
21
+ };
22
+ });
23
+ var localeMap = {
24
+ // ar_EG:
25
+ // az_AZ:
26
+ // bg_BG:
27
+ bn_BD: 'bn-bd',
28
+ by_BY: 'be',
29
+ // ca_ES:
30
+ // cs_CZ:
31
+ // da_DK:
32
+ // de_DE:
33
+ // el_GR:
34
+ en_GB: 'en-gb',
35
+ en_US: 'en',
36
+ // es_ES:
37
+ // et_EE:
38
+ // fa_IR:
39
+ // fi_FI:
40
+ fr_BE: 'fr',
41
+ // todo: dayjs has no fr_BE locale, use fr at present
42
+ fr_CA: 'fr-ca',
43
+ // fr_FR:
44
+ // ga_IE:
45
+ // gl_ES:
46
+ // he_IL:
47
+ // hi_IN:
48
+ // hr_HR:
49
+ // hu_HU:
50
+ hy_AM: 'hy-am',
51
+ // id_ID:
52
+ // is_IS:
53
+ // it_IT:
54
+ // ja_JP:
55
+ // ka_GE:
56
+ // kk_KZ:
57
+ // km_KH:
58
+ kmr_IQ: 'ku',
59
+ // kn_IN:
60
+ // ko_KR:
61
+ // ku_IQ: // previous ku in antd
62
+ // lt_LT:
63
+ // lv_LV:
64
+ // mk_MK:
65
+ // ml_IN:
66
+ // mn_MN:
67
+ // ms_MY:
68
+ // nb_NO:
69
+ // ne_NP:
70
+ nl_BE: 'nl-be',
71
+ // nl_NL:
72
+ // pl_PL:
73
+ pt_BR: 'pt-br',
74
+ // pt_PT:
75
+ // ro_RO:
76
+ // ru_RU:
77
+ // sk_SK:
78
+ // sl_SI:
79
+ // sr_RS:
80
+ // sv_SE:
81
+ // ta_IN:
82
+ // th_TH:
83
+ // tr_TR:
84
+ // uk_UA:
85
+ // ur_PK:
86
+ // vi_VN:
87
+ zh_CN: 'zh-cn',
88
+ zh_HK: 'zh-hk',
89
+ zh_TW: 'zh-tw'
90
+ };
91
+ var parseLocale = function parseLocale(locale) {
92
+ var mapLocale = localeMap[locale];
93
+ return mapLocale || locale.split('_')[0];
94
+ };
95
+
96
+ /* istanbul ignore next */
97
+ var parseNoMatchNotice = function parseNoMatchNotice() {
98
+ // zombieJ:
99
+ // When user typing, its always miss match format.
100
+ // This check is meaningless.
101
+ // https://github.com/ant-design/ant-design/issues/51839
102
+ // noteOnce(false, 'Not match any format. Please help to fire a issue about this.');
103
+ };
104
+ var generateConfig = {
105
+ // get
106
+ getNow: function getNow() {
107
+ var now = dayjs();
108
+ // https://github.com/ant-design/ant-design/discussions/50934
109
+ if (typeof now.tz === 'function') {
110
+ return now.tz(); // use default timezone
111
+ }
112
+ return now;
113
+ },
114
+ getFixedDate: function getFixedDate(string) {
115
+ return dayjs(string, ['YYYY-M-DD', 'YYYY-MM-DD']);
116
+ },
117
+ getEndDate: function getEndDate(date) {
118
+ return date.endOf('month');
119
+ },
120
+ getWeekDay: function getWeekDay(date) {
121
+ var clone = date.locale('en');
122
+ return clone.weekday() + clone.localeData().firstDayOfWeek();
123
+ },
124
+ getYear: function getYear(date) {
125
+ return date.year();
126
+ },
127
+ getMonth: function getMonth(date) {
128
+ return date.month();
129
+ },
130
+ getDate: function getDate(date) {
131
+ return date.date();
132
+ },
133
+ getHour: function getHour(date) {
134
+ return date.hour();
135
+ },
136
+ getMinute: function getMinute(date) {
137
+ return date.minute();
138
+ },
139
+ getSecond: function getSecond(date) {
140
+ return date.second();
141
+ },
142
+ getMillisecond: function getMillisecond(date) {
143
+ return date.millisecond();
144
+ },
145
+ // set
146
+ addYear: function addYear(date, diff) {
147
+ return date.add(diff, 'year');
148
+ },
149
+ addMonth: function addMonth(date, diff) {
150
+ return date.add(diff, 'month');
151
+ },
152
+ addDate: function addDate(date, diff) {
153
+ return date.add(diff, 'day');
154
+ },
155
+ setYear: function setYear(date, year) {
156
+ return date.year(year);
157
+ },
158
+ setMonth: function setMonth(date, month) {
159
+ return date.month(month);
160
+ },
161
+ setDate: function setDate(date, num) {
162
+ return date.date(num);
163
+ },
164
+ setHour: function setHour(date, hour) {
165
+ return date.hour(hour);
166
+ },
167
+ setMinute: function setMinute(date, minute) {
168
+ return date.minute(minute);
169
+ },
170
+ setSecond: function setSecond(date, second) {
171
+ return date.second(second);
172
+ },
173
+ setMillisecond: function setMillisecond(date, milliseconds) {
174
+ return date.millisecond(milliseconds);
175
+ },
176
+ // Compare
177
+ isAfter: function isAfter(date1, date2) {
178
+ return date1.isAfter(date2);
179
+ },
180
+ isValidate: function isValidate(date) {
181
+ return date.isValid();
182
+ },
183
+ locale: {
184
+ getWeekFirstDay: function getWeekFirstDay(locale) {
185
+ return dayjs().locale(parseLocale(locale)).localeData().firstDayOfWeek();
186
+ },
187
+ getWeekFirstDate: function getWeekFirstDate(locale, date) {
188
+ return date.locale(parseLocale(locale)).weekday(0);
189
+ },
190
+ getWeek: function getWeek(locale, date) {
191
+ return date.locale(parseLocale(locale)).week();
192
+ },
193
+ getShortWeekDays: function getShortWeekDays(locale) {
194
+ return dayjs().locale(parseLocale(locale)).localeData().weekdaysMin();
195
+ },
196
+ getShortMonths: function getShortMonths(locale) {
197
+ return dayjs().locale(parseLocale(locale)).localeData().monthsShort();
198
+ },
199
+ format: function format(locale, date, _format) {
200
+ return date.locale(parseLocale(locale)).format(_format);
201
+ },
202
+ parse: function parse(locale, text, formats) {
203
+ var localeStr = parseLocale(locale);
204
+ for (var i = 0; i < formats.length; i += 1) {
205
+ var format = formats[i];
206
+ var formatText = text;
207
+ if (format.includes('wo') || format.includes('Wo')) {
208
+ // parse Wo
209
+ var year = formatText.split('-')[0];
210
+ var weekStr = formatText.split('-')[1];
211
+ var firstWeek = dayjs(year, 'YYYY').startOf('year').locale(localeStr);
212
+ for (var j = 0; j <= 52; j += 1) {
213
+ var nextWeek = firstWeek.add(j, 'week');
214
+ if (nextWeek.format('Wo') === weekStr) {
215
+ return nextWeek;
216
+ }
217
+ }
218
+ parseNoMatchNotice();
219
+ return null;
220
+ }
221
+ var date = dayjs(formatText, format, true).locale(localeStr);
222
+ if (date.isValid()) {
223
+ return date;
224
+ }
225
+ }
226
+ if (text) {
227
+ parseNoMatchNotice();
228
+ }
229
+ return null;
230
+ }
231
+ }
232
+ };
233
+ export default generateConfig;
@@ -0,0 +1,37 @@
1
+ export type GenerateConfig<DateType> = {
2
+ getWeekDay: (value: DateType) => number;
3
+ getMillisecond: (value: DateType) => number;
4
+ getSecond: (value: DateType) => number;
5
+ getMinute: (value: DateType) => number;
6
+ getHour: (value: DateType) => number;
7
+ getDate: (value: DateType) => number;
8
+ getMonth: (value: DateType) => number;
9
+ getYear: (value: DateType) => number;
10
+ getNow: () => DateType;
11
+ getFixedDate: (fixed: string) => DateType;
12
+ getEndDate: (value: DateType) => DateType;
13
+ addYear: (value: DateType, diff: number) => DateType;
14
+ addMonth: (value: DateType, diff: number) => DateType;
15
+ addDate: (value: DateType, diff: number) => DateType;
16
+ setYear: (value: DateType, year: number) => DateType;
17
+ setMonth: (value: DateType, month: number) => DateType;
18
+ setDate: (value: DateType, date: number) => DateType;
19
+ setHour: (value: DateType, hour: number) => DateType;
20
+ setMinute: (value: DateType, minute: number) => DateType;
21
+ setSecond: (value: DateType, second: number) => DateType;
22
+ setMillisecond: (value: DateType, millisecond: number) => DateType;
23
+ isAfter: (date1: DateType, date2: DateType) => boolean;
24
+ isValidate: (date: DateType) => boolean;
25
+ locale: {
26
+ getWeekFirstDay: (locale: string) => number;
27
+ getWeekFirstDate: (locale: string, value: DateType) => DateType;
28
+ getWeek: (locale: string, value: DateType) => number;
29
+ format: (locale: string, date: DateType, format: string) => string;
30
+ /** Should only return validate date instance */
31
+ parse: (locale: string, text: string, formats: string[]) => DateType | null;
32
+ /** A proxy for getting locale with moment or other locale library */
33
+ getShortWeekDays?: (locale: string) => string[];
34
+ /** A proxy for getting locale with moment or other locale library */
35
+ getShortMonths?: (locale: string) => string[];
36
+ };
37
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ import { DateTime } from 'luxon';
2
+ import type { GenerateConfig } from '.';
3
+ declare const generateConfig: GenerateConfig<DateTime>;
4
+ export default generateConfig;
@@ -0,0 +1,197 @@
1
+ import { DateTime, Info } from 'luxon';
2
+ var weekDayFormatMap = {
3
+ zh_CN: 'narrow',
4
+ zh_TW: 'narrow'
5
+ };
6
+ var weekDayLengthMap = {
7
+ en_US: 2,
8
+ en_GB: 2
9
+ };
10
+
11
+ /**
12
+ * Normalizes part of a moment format string that should
13
+ * not be escaped to a luxon compatible format string.
14
+ *
15
+ * @param part string
16
+ * @returns string
17
+ */
18
+ var normalizeFormatPart = function normalizeFormatPart(part) {
19
+ return part.replace(/Y/g, 'y').replace(/D/g, 'd').replace(/gg/g, 'kk').replace(/Q/g, 'q').replace(/([Ww])o/g, 'WW').replace(/A/g, 'a');
20
+ };
21
+
22
+ /**
23
+ * Normalizes a moment compatible format string to a luxon compatible format string
24
+ *
25
+ * @param format string
26
+ * @returns string
27
+ */
28
+ var normalizeFormat = function normalizeFormat(format) {
29
+ return format
30
+ // moment escapes strings contained in brackets
31
+ .split(/[[\]]/).map(function (part, index) {
32
+ var shouldEscape = index % 2 > 0;
33
+ return shouldEscape ? part : normalizeFormatPart(part);
34
+ })
35
+ // luxon escapes strings contained in single quotes
36
+ .join("'");
37
+ };
38
+
39
+ /**
40
+ * Normalizes language tags used to luxon compatible
41
+ * language tags by replacing underscores with hyphen-minus.
42
+ *
43
+ * @param locale string
44
+ * @returns string
45
+ */
46
+ var normalizeLocale = function normalizeLocale(locale) {
47
+ return locale.replace(/_/g, '-');
48
+ };
49
+ var generateConfig = {
50
+ // get
51
+ getNow: function getNow() {
52
+ /**
53
+ * The current time that can respond to tz settings is required. like `dayjs().tz()`.
54
+ * @see: https://github.com/ant-design/ant-design/issues/51282
55
+ * https://github.com/react-component/picker/pull/878
56
+ */
57
+ return DateTime.now();
58
+ },
59
+ getFixedDate: function getFixedDate(string) {
60
+ return DateTime.fromFormat(string, 'yyyy-MM-dd');
61
+ },
62
+ getEndDate: function getEndDate(date) {
63
+ return date.endOf('month');
64
+ },
65
+ getWeekDay: function getWeekDay(date) {
66
+ return date.weekday;
67
+ },
68
+ getYear: function getYear(date) {
69
+ return date.year;
70
+ },
71
+ getMonth: function getMonth(date) {
72
+ return date.month - 1;
73
+ },
74
+ // getMonth should return 0-11, luxon month returns 1-12
75
+ getDate: function getDate(date) {
76
+ return date.day;
77
+ },
78
+ getHour: function getHour(date) {
79
+ return date.hour;
80
+ },
81
+ getMinute: function getMinute(date) {
82
+ return date.minute;
83
+ },
84
+ getSecond: function getSecond(date) {
85
+ return date.second;
86
+ },
87
+ getMillisecond: function getMillisecond(date) {
88
+ return date.millisecond;
89
+ },
90
+ // set
91
+ addYear: function addYear(date, diff) {
92
+ return date.plus({
93
+ year: diff
94
+ });
95
+ },
96
+ addMonth: function addMonth(date, diff) {
97
+ return date.plus({
98
+ month: diff
99
+ });
100
+ },
101
+ addDate: function addDate(date, diff) {
102
+ return date.plus({
103
+ day: diff
104
+ });
105
+ },
106
+ setYear: function setYear(date, year) {
107
+ return date.set({
108
+ year: year
109
+ });
110
+ },
111
+ setMonth: function setMonth(date, month) {
112
+ return date.set({
113
+ month: month + 1
114
+ });
115
+ },
116
+ // setMonth month argument is 0-11, luxon months are 1-12
117
+ setDate: function setDate(date, day) {
118
+ return date.set({
119
+ day: day
120
+ });
121
+ },
122
+ setHour: function setHour(date, hour) {
123
+ return date.set({
124
+ hour: hour
125
+ });
126
+ },
127
+ setMinute: function setMinute(date, minute) {
128
+ return date.set({
129
+ minute: minute
130
+ });
131
+ },
132
+ setSecond: function setSecond(date, second) {
133
+ return date.set({
134
+ second: second
135
+ });
136
+ },
137
+ setMillisecond: function setMillisecond(date, milliseconds) {
138
+ return date.set({
139
+ millisecond: milliseconds
140
+ });
141
+ },
142
+ // Compare
143
+ isAfter: function isAfter(date1, date2) {
144
+ return date1 > date2;
145
+ },
146
+ isValidate: function isValidate(date) {
147
+ return date.isValid;
148
+ },
149
+ locale: {
150
+ getWeekFirstDate: function getWeekFirstDate(locale, date) {
151
+ return date.setLocale(normalizeLocale(locale)).startOf('week');
152
+ },
153
+ getWeekFirstDay: function getWeekFirstDay(locale) {
154
+ return DateTime.local().setLocale(normalizeLocale(locale)).startOf('week').weekday;
155
+ },
156
+ getWeek: function getWeek(locale, date) {
157
+ return date.setLocale(normalizeLocale(locale)).weekNumber;
158
+ },
159
+ getShortWeekDays: function getShortWeekDays(locale) {
160
+ var weekdays = Info.weekdays(weekDayFormatMap[locale] || 'short', {
161
+ locale: normalizeLocale(locale)
162
+ });
163
+ var shifted = weekdays.map(function (weekday) {
164
+ return weekday.slice(0, weekDayLengthMap[locale]);
165
+ });
166
+
167
+ // getShortWeekDays should return weekday labels starting from Sunday.
168
+ // luxon returns them starting from Monday, so we have to shift the results.
169
+ shifted.unshift(shifted.pop());
170
+ return shifted;
171
+ },
172
+ getShortMonths: function getShortMonths(locale) {
173
+ return Info.months('short', {
174
+ locale: normalizeLocale(locale)
175
+ });
176
+ },
177
+ format: function format(locale, date, _format) {
178
+ if (!date || !date.isValid) {
179
+ return null;
180
+ }
181
+ return date.setLocale(normalizeLocale(locale)).toFormat(normalizeFormat(_format));
182
+ },
183
+ parse: function parse(locale, text, formats) {
184
+ for (var i = 0; i < formats.length; i += 1) {
185
+ var normalizedFormat = normalizeFormat(formats[i]);
186
+ var date = DateTime.fromFormat(text, normalizedFormat, {
187
+ locale: normalizeLocale(locale)
188
+ });
189
+ if (date.isValid) {
190
+ return date;
191
+ }
192
+ }
193
+ return null;
194
+ }
195
+ }
196
+ };
197
+ export default generateConfig;
@@ -0,0 +1,4 @@
1
+ import type { Moment } from 'moment';
2
+ import type { GenerateConfig } from '.';
3
+ declare const generateConfig: GenerateConfig<Moment>;
4
+ export default generateConfig;