@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,43 @@
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.ClearIcon = ClearIcon;
8
+ exports.default = Icon;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _context = _interopRequireDefault(require("../context"));
11
+ var _excluded = ["icon", "type"],
12
+ _excluded2 = ["onClear"];
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ 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); }
15
+ 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; }
16
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
18
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
19
+ function Icon(props) {
20
+ var icon = props.icon,
21
+ type = props.type,
22
+ restProps = _objectWithoutProperties(props, _excluded);
23
+ var _React$useContext = React.useContext(_context.default),
24
+ prefixCls = _React$useContext.prefixCls;
25
+ return icon ? /*#__PURE__*/React.createElement("span", _extends({
26
+ className: "".concat(prefixCls, "-").concat(type)
27
+ }, restProps), icon) : null;
28
+ }
29
+ function ClearIcon(_ref) {
30
+ var onClear = _ref.onClear,
31
+ restProps = _objectWithoutProperties(_ref, _excluded2);
32
+ return /*#__PURE__*/React.createElement(Icon, _extends({}, restProps, {
33
+ type: "clear",
34
+ role: "button",
35
+ onMouseDown: function onMouseDown(e) {
36
+ e.preventDefault();
37
+ },
38
+ onClick: function onClick(e) {
39
+ e.stopPropagation();
40
+ onClear();
41
+ }
42
+ }));
43
+ }
@@ -0,0 +1,28 @@
1
+ import * as React from 'react';
2
+ import type { PickerRef } from '../../interface';
3
+ export interface InputRef extends PickerRef {
4
+ inputElement: HTMLInputElement;
5
+ }
6
+ export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> {
7
+ format?: string;
8
+ validateFormat: (value: string) => boolean;
9
+ active?: boolean;
10
+ /** Used for single picker only */
11
+ showActiveCls?: boolean;
12
+ suffixIcon?: React.ReactNode;
13
+ value?: string;
14
+ onChange: (value: string) => void;
15
+ onSubmit: VoidFunction;
16
+ /** Meaning current is from the hover cell getting the placeholder text */
17
+ helped?: boolean;
18
+ /**
19
+ * Trigger when input need additional help.
20
+ * Like open the popup for interactive.
21
+ */
22
+ onHelp: () => void;
23
+ preserveInvalidOnBlur?: boolean;
24
+ invalid?: boolean;
25
+ clearIcon?: React.ReactNode;
26
+ }
27
+ declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<InputRef>>;
28
+ export default Input;
@@ -0,0 +1,385 @@
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 = void 0;
8
+ var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _util = require("@rc-component/util");
10
+ var _useLayoutEffect = _interopRequireDefault(require("@rc-component/util/lib/hooks/useLayoutEffect"));
11
+ var _raf = _interopRequireDefault(require("@rc-component/util/lib/raf"));
12
+ var React = _interopRequireWildcard(require("react"));
13
+ var _miscUtil = require("../../utils/miscUtil");
14
+ var _context = _interopRequireDefault(require("../context"));
15
+ var _useLockEffect = _interopRequireDefault(require("../hooks/useLockEffect"));
16
+ var _Icon = _interopRequireDefault(require("./Icon"));
17
+ var _MaskFormat = _interopRequireDefault(require("./MaskFormat"));
18
+ var _util2 = require("./util");
19
+ var _excluded = ["active", "showActiveCls", "suffixIcon", "format", "validateFormat", "onChange", "onInput", "helped", "onHelp", "onSubmit", "onKeyDown", "preserveInvalidOnBlur", "invalid", "clearIcon"];
20
+ 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); }
21
+ 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; }
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
24
+ 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; }
25
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
26
+ 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); }
27
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
28
+ 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."); }
29
+ 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); }
30
+ 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; }
31
+ 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; } }
32
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
34
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
35
+ // Format logic
36
+ //
37
+ // First time on focus:
38
+ // 1. check if the text is valid, if not fill with format
39
+ // 2. set highlight cell to the first cell
40
+ // Cells
41
+ // 1. Selection the index cell, set inner `cacheValue` to ''
42
+ // 2. Key input filter non-number char, patch after the `cacheValue`
43
+ // 1. Replace the `cacheValue` with input align the cell length
44
+ // 2. Re-selection the mask cell
45
+ // 3. If `cacheValue` match the limit length or cell format (like 1 ~ 12 month), go to next cell
46
+
47
+ var Input = /*#__PURE__*/React.forwardRef(function (props, ref) {
48
+ var active = props.active,
49
+ _props$showActiveCls = props.showActiveCls,
50
+ showActiveCls = _props$showActiveCls === void 0 ? true : _props$showActiveCls,
51
+ suffixIcon = props.suffixIcon,
52
+ format = props.format,
53
+ validateFormat = props.validateFormat,
54
+ onChange = props.onChange,
55
+ onInput = props.onInput,
56
+ helped = props.helped,
57
+ onHelp = props.onHelp,
58
+ onSubmit = props.onSubmit,
59
+ onKeyDown = props.onKeyDown,
60
+ _props$preserveInvali = props.preserveInvalidOnBlur,
61
+ preserveInvalidOnBlur = _props$preserveInvali === void 0 ? false : _props$preserveInvali,
62
+ invalid = props.invalid,
63
+ clearIcon = props.clearIcon,
64
+ restProps = _objectWithoutProperties(props, _excluded);
65
+ var value = props.value,
66
+ onFocus = props.onFocus,
67
+ onBlur = props.onBlur,
68
+ onMouseUp = props.onMouseUp;
69
+ var _React$useContext = React.useContext(_context.default),
70
+ prefixCls = _React$useContext.prefixCls,
71
+ _React$useContext$inp = _React$useContext.input,
72
+ Component = _React$useContext$inp === void 0 ? 'input' : _React$useContext$inp;
73
+ var inputPrefixCls = "".concat(prefixCls, "-input");
74
+
75
+ // ======================== Value =========================
76
+ var _React$useState = React.useState(false),
77
+ _React$useState2 = _slicedToArray(_React$useState, 2),
78
+ focused = _React$useState2[0],
79
+ setFocused = _React$useState2[1];
80
+ var _React$useState3 = React.useState(value),
81
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
82
+ internalInputValue = _React$useState4[0],
83
+ setInputValue = _React$useState4[1];
84
+ var _React$useState5 = React.useState(''),
85
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
86
+ focusCellText = _React$useState6[0],
87
+ setFocusCellText = _React$useState6[1];
88
+ var _React$useState7 = React.useState(null),
89
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
90
+ focusCellIndex = _React$useState8[0],
91
+ setFocusCellIndex = _React$useState8[1];
92
+ var _React$useState9 = React.useState(null),
93
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
94
+ forceSelectionSyncMark = _React$useState10[0],
95
+ forceSelectionSync = _React$useState10[1];
96
+ var inputValue = internalInputValue || '';
97
+
98
+ // Sync value if needed
99
+ React.useEffect(function () {
100
+ setInputValue(value);
101
+ }, [value]);
102
+
103
+ // ========================= Refs =========================
104
+ var holderRef = React.useRef();
105
+ var inputRef = React.useRef();
106
+ React.useImperativeHandle(ref, function () {
107
+ return {
108
+ nativeElement: holderRef.current,
109
+ inputElement: inputRef.current,
110
+ focus: function focus(options) {
111
+ inputRef.current.focus(options);
112
+ },
113
+ blur: function blur() {
114
+ inputRef.current.blur();
115
+ }
116
+ };
117
+ });
118
+
119
+ // ======================== Format ========================
120
+ var maskFormat = React.useMemo(function () {
121
+ return new _MaskFormat.default(format || '');
122
+ }, [format]);
123
+ var _React$useMemo = React.useMemo(function () {
124
+ if (helped) {
125
+ return [0, 0];
126
+ }
127
+ return maskFormat.getSelection(focusCellIndex);
128
+ }, [maskFormat, focusCellIndex, helped]),
129
+ _React$useMemo2 = _slicedToArray(_React$useMemo, 2),
130
+ selectionStart = _React$useMemo2[0],
131
+ selectionEnd = _React$useMemo2[1];
132
+
133
+ // ======================== Modify ========================
134
+ // When input modify content, trigger `onHelp` if is not the format
135
+ var onModify = function onModify(text) {
136
+ if (text && text !== format && text !== value) {
137
+ onHelp();
138
+ }
139
+ };
140
+
141
+ // ======================== Change ========================
142
+ /**
143
+ * Triggered by paste, keyDown and focus to show format
144
+ */
145
+ var triggerInputChange = (0, _util.useEvent)(function (text) {
146
+ if (validateFormat(text)) {
147
+ onChange(text);
148
+ }
149
+ setInputValue(text);
150
+ onModify(text);
151
+ });
152
+
153
+ // Directly trigger `onChange` if `format` is empty
154
+ var onInternalChange = function onInternalChange(event) {
155
+ // Hack `onChange` with format to do nothing
156
+ if (!format) {
157
+ var text = event.target.value;
158
+ onModify(text);
159
+ setInputValue(text);
160
+ onChange(text);
161
+ }
162
+ };
163
+ var onFormatPaste = function onFormatPaste(event) {
164
+ // Get paste text
165
+ var pasteText = event.clipboardData.getData('text');
166
+ if (validateFormat(pasteText)) {
167
+ triggerInputChange(pasteText);
168
+ }
169
+ };
170
+
171
+ // ======================== Mouse =========================
172
+ // When `mouseDown` get focus, it's better to not to change the selection
173
+ // Since the up position maybe not is the first cell
174
+ var mouseDownRef = React.useRef(false);
175
+ var onFormatMouseDown = function onFormatMouseDown() {
176
+ mouseDownRef.current = true;
177
+ };
178
+ var onFormatMouseUp = function onFormatMouseUp(event) {
179
+ var _ref = event.target,
180
+ start = _ref.selectionStart;
181
+ var closeMaskIndex = maskFormat.getMaskCellIndex(start);
182
+ setFocusCellIndex(closeMaskIndex);
183
+
184
+ // Force update the selection
185
+ forceSelectionSync({});
186
+ onMouseUp === null || onMouseUp === void 0 || onMouseUp(event);
187
+ mouseDownRef.current = false;
188
+ };
189
+
190
+ // ====================== Focus Blur ======================
191
+ var onFormatFocus = function onFormatFocus(event) {
192
+ setFocused(true);
193
+ setFocusCellIndex(0);
194
+ setFocusCellText('');
195
+ onFocus(event);
196
+ };
197
+ var onSharedBlur = function onSharedBlur(event) {
198
+ onBlur(event);
199
+ };
200
+ var onFormatBlur = function onFormatBlur(event) {
201
+ setFocused(false);
202
+ onSharedBlur(event);
203
+ };
204
+
205
+ // ======================== Active ========================
206
+ // Check if blur need reset input value
207
+ (0, _useLockEffect.default)(active, function () {
208
+ if (!active && !preserveInvalidOnBlur) {
209
+ setInputValue(value);
210
+ }
211
+ });
212
+
213
+ // ======================= Keyboard =======================
214
+ var onSharedKeyDown = function onSharedKeyDown(event) {
215
+ if (event.key === 'Enter' && validateFormat(inputValue)) {
216
+ onSubmit();
217
+ }
218
+ onKeyDown === null || onKeyDown === void 0 || onKeyDown(event);
219
+ };
220
+ var onFormatKeyDown = function onFormatKeyDown(event) {
221
+ onSharedKeyDown(event);
222
+ var key = event.key;
223
+
224
+ // Save the cache with cell text
225
+ var nextCellText = null;
226
+
227
+ // Fill in the input
228
+ var nextFillText = null;
229
+ var maskCellLen = selectionEnd - selectionStart;
230
+ var cellFormat = format.slice(selectionStart, selectionEnd);
231
+
232
+ // Cell Index
233
+ var offsetCellIndex = function offsetCellIndex(offset) {
234
+ setFocusCellIndex(function (idx) {
235
+ var nextIndex = idx + offset;
236
+ nextIndex = Math.max(nextIndex, 0);
237
+ nextIndex = Math.min(nextIndex, maskFormat.size() - 1);
238
+ return nextIndex;
239
+ });
240
+ };
241
+
242
+ // Range
243
+ var offsetCellValue = function offsetCellValue(offset) {
244
+ var _getMaskRange = (0, _util2.getMaskRange)(cellFormat),
245
+ _getMaskRange2 = _slicedToArray(_getMaskRange, 3),
246
+ rangeStart = _getMaskRange2[0],
247
+ rangeEnd = _getMaskRange2[1],
248
+ rangeDefault = _getMaskRange2[2];
249
+ var currentText = inputValue.slice(selectionStart, selectionEnd);
250
+ var currentTextNum = Number(currentText);
251
+ if (isNaN(currentTextNum)) {
252
+ return String(rangeDefault ? rangeDefault : offset > 0 ? rangeStart : rangeEnd);
253
+ }
254
+ var num = currentTextNum + offset;
255
+ var range = rangeEnd - rangeStart + 1;
256
+ return String(rangeStart + (range + num - rangeStart) % range);
257
+ };
258
+ switch (key) {
259
+ // =============== Remove ===============
260
+ case 'Backspace':
261
+ case 'Delete':
262
+ nextCellText = '';
263
+ nextFillText = cellFormat;
264
+ break;
265
+
266
+ // =============== Arrows ===============
267
+ // Left key
268
+ case 'ArrowLeft':
269
+ nextCellText = '';
270
+ offsetCellIndex(-1);
271
+ break;
272
+
273
+ // Right key
274
+ case 'ArrowRight':
275
+ nextCellText = '';
276
+ offsetCellIndex(1);
277
+ break;
278
+
279
+ // Up key
280
+ case 'ArrowUp':
281
+ nextCellText = '';
282
+ nextFillText = offsetCellValue(1);
283
+ break;
284
+
285
+ // Down key
286
+ case 'ArrowDown':
287
+ nextCellText = '';
288
+ nextFillText = offsetCellValue(-1);
289
+ break;
290
+
291
+ // =============== Number ===============
292
+ default:
293
+ if (!isNaN(Number(key))) {
294
+ nextCellText = focusCellText + key;
295
+ nextFillText = nextCellText;
296
+ }
297
+ break;
298
+ }
299
+
300
+ // Update cell text
301
+ if (nextCellText !== null) {
302
+ setFocusCellText(nextCellText);
303
+ if (nextCellText.length >= maskCellLen) {
304
+ // Go to next cell
305
+ offsetCellIndex(1);
306
+ setFocusCellText('');
307
+ }
308
+ }
309
+
310
+ // Update the input text
311
+ if (nextFillText !== null) {
312
+ // Replace selection range with `nextCellText`
313
+ var nextFocusValue =
314
+ // before
315
+ inputValue.slice(0, selectionStart) +
316
+ // replace
317
+ (0, _miscUtil.leftPad)(nextFillText, maskCellLen) +
318
+ // after
319
+ inputValue.slice(selectionEnd);
320
+ triggerInputChange(nextFocusValue.slice(0, format.length));
321
+ }
322
+
323
+ // Always trigger selection sync after key down
324
+ forceSelectionSync({});
325
+ };
326
+
327
+ // ======================== Format ========================
328
+ var rafRef = React.useRef();
329
+ (0, _useLayoutEffect.default)(function () {
330
+ if (!focused || !format || mouseDownRef.current) {
331
+ return;
332
+ }
333
+
334
+ // Reset with format if not match
335
+ if (!maskFormat.match(inputValue)) {
336
+ triggerInputChange(format);
337
+ return;
338
+ }
339
+
340
+ // Match the selection range
341
+ inputRef.current.setSelectionRange(selectionStart, selectionEnd);
342
+
343
+ // Chrome has the bug anchor position looks not correct but actually correct
344
+ rafRef.current = (0, _raf.default)(function () {
345
+ inputRef.current.setSelectionRange(selectionStart, selectionEnd);
346
+ });
347
+ return function () {
348
+ _raf.default.cancel(rafRef.current);
349
+ };
350
+ }, [maskFormat, format, focused, inputValue, focusCellIndex, selectionStart, selectionEnd, forceSelectionSyncMark, triggerInputChange]);
351
+
352
+ // ======================== Render ========================
353
+ // Input props for format
354
+ var inputProps = format ? {
355
+ onFocus: onFormatFocus,
356
+ onBlur: onFormatBlur,
357
+ onKeyDown: onFormatKeyDown,
358
+ onMouseDown: onFormatMouseDown,
359
+ onMouseUp: onFormatMouseUp,
360
+ onPaste: onFormatPaste
361
+ } : {};
362
+ return /*#__PURE__*/React.createElement("div", {
363
+ ref: holderRef,
364
+ className: (0, _classnames.default)(inputPrefixCls, _defineProperty(_defineProperty({}, "".concat(inputPrefixCls, "-active"), active && showActiveCls), "".concat(inputPrefixCls, "-placeholder"), helped))
365
+ }, /*#__PURE__*/React.createElement(Component, _extends({
366
+ ref: inputRef,
367
+ "aria-invalid": invalid,
368
+ autoComplete: "off"
369
+ }, restProps, {
370
+ onKeyDown: onSharedKeyDown,
371
+ onBlur: onSharedBlur
372
+ // Replace with format
373
+ }, inputProps, {
374
+ // Value
375
+ value: inputValue,
376
+ onChange: onInternalChange
377
+ })), /*#__PURE__*/React.createElement(_Icon.default, {
378
+ type: "suffix",
379
+ icon: suffixIcon
380
+ }), clearIcon);
381
+ });
382
+ if (process.env.NODE_ENV !== 'production') {
383
+ Input.displayName = 'Input';
384
+ }
385
+ var _default = exports.default = Input;
@@ -0,0 +1,22 @@
1
+ declare const FORMAT_KEYS: string[];
2
+ export type FormatKey = (typeof FORMAT_KEYS)[number];
3
+ export interface Cell {
4
+ text: string;
5
+ mask: boolean;
6
+ start: number;
7
+ end: number;
8
+ }
9
+ export default class MaskFormat {
10
+ format: string;
11
+ maskFormat: string;
12
+ cells: Cell[];
13
+ maskCells: Cell[];
14
+ constructor(format: string);
15
+ getSelection(maskCellIndex: number): [start: number, end: number];
16
+ /** Check given text match format */
17
+ match(text: string): boolean;
18
+ /** Get mask cell count */
19
+ size(): number;
20
+ getMaskCellIndex(anchorIndex: number): number;
21
+ }
22
+ export {};
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ 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); }
8
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
10
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
11
+ 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; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
13
+ 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); }
14
+ var FORMAT_KEYS = ['YYYY', 'MM', 'DD', 'HH', 'mm', 'ss', 'SSS'];
15
+ // Use Chinese character to avoid conflict with the mask format
16
+ var REPLACE_KEY = '顧';
17
+ var MaskFormat = exports.default = /*#__PURE__*/function () {
18
+ function MaskFormat(format) {
19
+ _classCallCheck(this, MaskFormat);
20
+ _defineProperty(this, "format", void 0);
21
+ _defineProperty(this, "maskFormat", void 0);
22
+ _defineProperty(this, "cells", void 0);
23
+ _defineProperty(this, "maskCells", void 0);
24
+ this.format = format;
25
+
26
+ // Generate mask format
27
+ var replaceKeys = FORMAT_KEYS.map(function (key) {
28
+ return "(".concat(key, ")");
29
+ }).join('|');
30
+ var replaceReg = new RegExp(replaceKeys, 'g');
31
+ this.maskFormat = format.replace(replaceReg,
32
+ // Use Chinese character to avoid user use it in format
33
+ function (key) {
34
+ return REPLACE_KEY.repeat(key.length);
35
+ });
36
+
37
+ // Generate cells
38
+ var cellReg = new RegExp("(".concat(FORMAT_KEYS.join('|'), ")"));
39
+ var strCells = (format.split(cellReg) || []).filter(function (str) {
40
+ return str;
41
+ });
42
+ var offset = 0;
43
+ this.cells = strCells.map(function (text) {
44
+ var mask = FORMAT_KEYS.includes(text);
45
+ var start = offset;
46
+ var end = offset + text.length;
47
+ offset = end;
48
+ return {
49
+ text: text,
50
+ mask: mask,
51
+ start: start,
52
+ end: end
53
+ };
54
+ });
55
+
56
+ // Mask cells
57
+ this.maskCells = this.cells.filter(function (cell) {
58
+ return cell.mask;
59
+ });
60
+ }
61
+ _createClass(MaskFormat, [{
62
+ key: "getSelection",
63
+ value: function getSelection(maskCellIndex) {
64
+ var _ref = this.maskCells[maskCellIndex] || {},
65
+ start = _ref.start,
66
+ end = _ref.end;
67
+ return [start || 0, end || 0];
68
+ }
69
+
70
+ /** Check given text match format */
71
+ }, {
72
+ key: "match",
73
+ value: function match(text) {
74
+ for (var i = 0; i < this.maskFormat.length; i += 1) {
75
+ var maskChar = this.maskFormat[i];
76
+ var textChar = text[i];
77
+ if (!textChar || maskChar !== REPLACE_KEY && maskChar !== textChar) {
78
+ return false;
79
+ }
80
+ }
81
+ return true;
82
+ }
83
+
84
+ /** Get mask cell count */
85
+ }, {
86
+ key: "size",
87
+ value: function size() {
88
+ return this.maskCells.length;
89
+ }
90
+ }, {
91
+ key: "getMaskCellIndex",
92
+ value: function getMaskCellIndex(anchorIndex) {
93
+ var closetDist = Number.MAX_SAFE_INTEGER;
94
+ var closetIndex = 0;
95
+ for (var i = 0; i < this.maskCells.length; i += 1) {
96
+ var _this$maskCells$i = this.maskCells[i],
97
+ start = _this$maskCells$i.start,
98
+ end = _this$maskCells$i.end;
99
+ if (anchorIndex >= start && anchorIndex <= end) {
100
+ return i;
101
+ }
102
+ var dist = Math.min(Math.abs(anchorIndex - start), Math.abs(anchorIndex - end));
103
+ if (dist < closetDist) {
104
+ closetDist = dist;
105
+ closetIndex = i;
106
+ }
107
+ }
108
+ return closetIndex;
109
+ }
110
+ }]);
111
+ return MaskFormat;
112
+ }();
@@ -0,0 +1,26 @@
1
+ import * as React from 'react';
2
+ import type { RangePickerRef, SelectorProps } from '../../interface';
3
+ export type SelectorIdType = string | {
4
+ start?: string;
5
+ end?: string;
6
+ };
7
+ export interface RangeSelectorProps<DateType = any> extends SelectorProps<DateType> {
8
+ id?: SelectorIdType;
9
+ activeIndex: number | null;
10
+ separator?: React.ReactNode;
11
+ value?: [DateType?, DateType?];
12
+ onChange: (date: DateType, index?: number) => void;
13
+ disabled: [boolean, boolean];
14
+ /** All the field show as `placeholder` */
15
+ allHelp: boolean;
16
+ placeholder?: string | [string, string];
17
+ invalid: [boolean, boolean];
18
+ placement?: string;
19
+ /**
20
+ * Trigger when the active bar offset position changed.
21
+ * This is used for popup panel offset.
22
+ */
23
+ onActiveInfo: (info: [activeInputLeft: number, activeInputRight: number, selectorWidth: number]) => void;
24
+ }
25
+ declare const RefRangeSelector: React.ForwardRefExoticComponent<RangeSelectorProps<object> & React.RefAttributes<RangePickerRef>>;
26
+ export default RefRangeSelector;