antd-mobile 5.26.0 → 5.27.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 (306) hide show
  1. package/2x/README.md +6 -22
  2. package/2x/bundle/antd-mobile.cjs.development.js +1174 -1041
  3. package/2x/bundle/antd-mobile.cjs.js +9 -8
  4. package/2x/bundle/antd-mobile.es.development.js +1012 -879
  5. package/2x/bundle/antd-mobile.es.js +8133 -7949
  6. package/2x/bundle/antd-mobile.umd.development.js +1174 -1041
  7. package/2x/bundle/antd-mobile.umd.js +9 -8
  8. package/2x/cjs/components/action-sheet/index.d.ts +0 -1
  9. package/2x/cjs/components/badge/index.d.ts +0 -1
  10. package/2x/cjs/components/capsule-tabs/index.d.ts +0 -1
  11. package/2x/cjs/components/cascade-picker/index.d.ts +0 -1
  12. package/2x/cjs/components/cascader/index.d.ts +0 -1
  13. package/2x/cjs/components/cascader-view/index.d.ts +0 -1
  14. package/2x/cjs/components/check-list/index.d.ts +0 -1
  15. package/2x/cjs/components/checkbox/group-context.d.ts +0 -1
  16. package/2x/cjs/components/checkbox/index.d.ts +0 -1
  17. package/2x/cjs/components/collapse/index.d.ts +0 -1
  18. package/2x/cjs/components/date-picker/date-picker-date-utils.d.ts +2 -3
  19. package/2x/cjs/components/date-picker/date-picker-date-utils.js +14 -12
  20. package/2x/cjs/components/date-picker/date-picker-utils.d.ts +2 -3
  21. package/2x/cjs/components/date-picker/date-picker-utils.js +11 -12
  22. package/2x/cjs/components/date-picker/date-picker-week-utils.d.ts +0 -1
  23. package/2x/cjs/components/date-picker/date-picker-week-utils.js +0 -4
  24. package/2x/cjs/components/date-picker/date-picker.d.ts +20 -16
  25. package/2x/cjs/components/date-picker/date-picker.js +12 -3
  26. package/2x/cjs/components/date-picker/index.d.ts +10 -9
  27. package/2x/cjs/components/date-picker/index.js +3 -1
  28. package/2x/cjs/components/date-picker/prompt.d.ts +2 -1
  29. package/2x/cjs/components/date-picker/util.d.ts +4 -0
  30. package/2x/cjs/components/date-picker/util.js +8 -0
  31. package/2x/cjs/components/date-picker-view/date-picker-view.d.ts +2 -1
  32. package/2x/cjs/components/date-picker-view/date-picker-view.js +7 -3
  33. package/2x/cjs/components/date-picker-view/useRenderLabel.d.ts +2 -0
  34. package/2x/cjs/components/date-picker-view/useRenderLabel.js +29 -0
  35. package/2x/cjs/components/dialog/index.d.ts +0 -1
  36. package/2x/cjs/components/dropdown/index.d.ts +0 -1
  37. package/2x/cjs/components/error-block/error-block.d.ts +0 -1
  38. package/2x/cjs/components/error-block/images/busy.d.ts +0 -1
  39. package/2x/cjs/components/error-block/images/default.d.ts +0 -1
  40. package/2x/cjs/components/error-block/images/disconnected.d.ts +0 -1
  41. package/2x/cjs/components/error-block/images/empty.d.ts +0 -1
  42. package/2x/cjs/components/form/index.d.ts +0 -1
  43. package/2x/cjs/components/grid/index.d.ts +0 -1
  44. package/2x/cjs/components/image-uploader/image-uploader.js +6 -3
  45. package/2x/cjs/components/image-viewer/index.d.ts +0 -1
  46. package/2x/cjs/components/index-bar/index.d.ts +0 -1
  47. package/2x/cjs/components/jumbo-tabs/index.d.ts +0 -1
  48. package/2x/cjs/components/list/index.d.ts +0 -1
  49. package/2x/cjs/components/modal/index.d.ts +0 -1
  50. package/2x/cjs/components/popover/index.d.ts +0 -1
  51. package/2x/cjs/components/radio/group-context.d.ts +0 -1
  52. package/2x/cjs/components/radio/index.d.ts +0 -1
  53. package/2x/cjs/components/result-page/index.d.ts +0 -1
  54. package/2x/cjs/components/side-bar/index.d.ts +0 -1
  55. package/2x/cjs/components/skeleton/index.d.ts +0 -1
  56. package/2x/cjs/components/slider/slider.js +8 -3
  57. package/2x/cjs/components/stepper/stepper.d.ts +23 -16
  58. package/2x/cjs/components/stepper/stepper.js +69 -35
  59. package/2x/cjs/components/steps/index.d.ts +0 -1
  60. package/2x/cjs/components/swiper/index.d.ts +0 -1
  61. package/2x/cjs/components/tab-bar/index.d.ts +0 -1
  62. package/2x/cjs/components/tabs/index.d.ts +0 -1
  63. package/2x/cjs/components/tree-select/index.d.ts +0 -1
  64. package/2x/cjs/locales/base.d.ts +3 -0
  65. package/2x/cjs/locales/base.js +3 -0
  66. package/2x/cjs/locales/en-US.d.ts +3 -0
  67. package/2x/cjs/locales/es-ES.d.ts +3 -0
  68. package/2x/cjs/locales/fa-IR.d.ts +3 -0
  69. package/2x/cjs/locales/fr-FR.d.ts +3 -0
  70. package/2x/cjs/locales/id-ID.d.ts +3 -0
  71. package/2x/cjs/locales/ja-JP.d.ts +3 -0
  72. package/2x/cjs/locales/kk-KZ.d.ts +3 -0
  73. package/2x/cjs/locales/ko-KR.d.ts +3 -0
  74. package/2x/cjs/locales/zh-CN.d.ts +3 -0
  75. package/2x/cjs/locales/zh-CN.js +3 -0
  76. package/2x/cjs/locales/zh-HK.d.ts +3 -0
  77. package/2x/cjs/locales/zh-TW.d.ts +3 -0
  78. package/2x/cjs/utils/use-isomorphic-update-layout-effect.d.ts +0 -1
  79. package/2x/cjs/utils/use-ref-state.d.ts +0 -1
  80. package/2x/es/components/action-sheet/index.d.ts +0 -1
  81. package/2x/es/components/badge/index.d.ts +0 -1
  82. package/2x/es/components/capsule-tabs/index.d.ts +0 -1
  83. package/2x/es/components/cascade-picker/index.d.ts +0 -1
  84. package/2x/es/components/cascader/index.d.ts +0 -1
  85. package/2x/es/components/cascader-view/index.d.ts +0 -1
  86. package/2x/es/components/check-list/index.d.ts +0 -1
  87. package/2x/es/components/checkbox/group-context.d.ts +0 -1
  88. package/2x/es/components/checkbox/index.d.ts +0 -1
  89. package/2x/es/components/collapse/index.d.ts +0 -1
  90. package/2x/es/components/date-picker/date-picker-date-utils.d.ts +2 -3
  91. package/2x/es/components/date-picker/date-picker-date-utils.js +14 -11
  92. package/2x/es/components/date-picker/date-picker-utils.d.ts +2 -3
  93. package/2x/es/components/date-picker/date-picker-utils.js +9 -9
  94. package/2x/es/components/date-picker/date-picker-week-utils.d.ts +0 -1
  95. package/2x/es/components/date-picker/date-picker-week-utils.js +0 -3
  96. package/2x/es/components/date-picker/date-picker.d.ts +20 -16
  97. package/2x/es/components/date-picker/date-picker.js +13 -4
  98. package/2x/es/components/date-picker/index.d.ts +10 -9
  99. package/2x/es/components/date-picker/index.js +3 -1
  100. package/2x/es/components/date-picker/prompt.d.ts +2 -1
  101. package/2x/es/components/date-picker/util.d.ts +4 -0
  102. package/2x/es/components/date-picker/util.js +1 -0
  103. package/2x/es/components/date-picker-view/date-picker-view.d.ts +2 -1
  104. package/2x/es/components/date-picker-view/date-picker-view.js +8 -4
  105. package/2x/es/components/date-picker-view/useRenderLabel.d.ts +2 -0
  106. package/2x/es/components/date-picker-view/useRenderLabel.js +23 -0
  107. package/2x/es/components/dialog/index.d.ts +0 -1
  108. package/2x/es/components/dropdown/index.d.ts +0 -1
  109. package/2x/es/components/error-block/error-block.d.ts +0 -1
  110. package/2x/es/components/error-block/images/busy.d.ts +0 -1
  111. package/2x/es/components/error-block/images/default.d.ts +0 -1
  112. package/2x/es/components/error-block/images/disconnected.d.ts +0 -1
  113. package/2x/es/components/error-block/images/empty.d.ts +0 -1
  114. package/2x/es/components/form/index.d.ts +0 -1
  115. package/2x/es/components/grid/index.d.ts +0 -1
  116. package/2x/es/components/image-uploader/image-uploader.js +6 -3
  117. package/2x/es/components/image-viewer/index.d.ts +0 -1
  118. package/2x/es/components/index-bar/index.d.ts +0 -1
  119. package/2x/es/components/jumbo-tabs/index.d.ts +0 -1
  120. package/2x/es/components/list/index.d.ts +0 -1
  121. package/2x/es/components/modal/index.d.ts +0 -1
  122. package/2x/es/components/popover/index.d.ts +0 -1
  123. package/2x/es/components/radio/group-context.d.ts +0 -1
  124. package/2x/es/components/radio/index.d.ts +0 -1
  125. package/2x/es/components/result-page/index.d.ts +0 -1
  126. package/2x/es/components/side-bar/index.d.ts +0 -1
  127. package/2x/es/components/skeleton/index.d.ts +0 -1
  128. package/2x/es/components/slider/slider.js +8 -3
  129. package/2x/es/components/stepper/stepper.d.ts +23 -16
  130. package/2x/es/components/stepper/stepper.js +68 -33
  131. package/2x/es/components/steps/index.d.ts +0 -1
  132. package/2x/es/components/swiper/index.d.ts +0 -1
  133. package/2x/es/components/tab-bar/index.d.ts +0 -1
  134. package/2x/es/components/tabs/index.d.ts +0 -1
  135. package/2x/es/components/tree-select/index.d.ts +0 -1
  136. package/2x/es/locales/base.d.ts +3 -0
  137. package/2x/es/locales/base.js +3 -0
  138. package/2x/es/locales/en-US.d.ts +3 -0
  139. package/2x/es/locales/es-ES.d.ts +3 -0
  140. package/2x/es/locales/fa-IR.d.ts +3 -0
  141. package/2x/es/locales/fr-FR.d.ts +3 -0
  142. package/2x/es/locales/id-ID.d.ts +3 -0
  143. package/2x/es/locales/ja-JP.d.ts +3 -0
  144. package/2x/es/locales/kk-KZ.d.ts +3 -0
  145. package/2x/es/locales/ko-KR.d.ts +3 -0
  146. package/2x/es/locales/zh-CN.d.ts +3 -0
  147. package/2x/es/locales/zh-CN.js +3 -0
  148. package/2x/es/locales/zh-HK.d.ts +3 -0
  149. package/2x/es/locales/zh-TW.d.ts +3 -0
  150. package/2x/es/utils/use-isomorphic-update-layout-effect.d.ts +0 -1
  151. package/2x/es/utils/use-ref-state.d.ts +0 -1
  152. package/2x/package.json +3 -2
  153. package/README.md +6 -22
  154. package/bundle/antd-mobile.cjs.development.js +1174 -1041
  155. package/bundle/antd-mobile.cjs.js +9 -8
  156. package/bundle/antd-mobile.compatible.umd.js +1 -1
  157. package/bundle/antd-mobile.es.development.js +1012 -879
  158. package/bundle/antd-mobile.es.js +8133 -7949
  159. package/bundle/antd-mobile.umd.development.js +1174 -1041
  160. package/bundle/antd-mobile.umd.js +9 -8
  161. package/cjs/components/action-sheet/index.d.ts +0 -1
  162. package/cjs/components/badge/index.d.ts +0 -1
  163. package/cjs/components/capsule-tabs/index.d.ts +0 -1
  164. package/cjs/components/cascade-picker/index.d.ts +0 -1
  165. package/cjs/components/cascader/index.d.ts +0 -1
  166. package/cjs/components/cascader-view/index.d.ts +0 -1
  167. package/cjs/components/check-list/index.d.ts +0 -1
  168. package/cjs/components/checkbox/group-context.d.ts +0 -1
  169. package/cjs/components/checkbox/index.d.ts +0 -1
  170. package/cjs/components/collapse/index.d.ts +0 -1
  171. package/cjs/components/date-picker/date-picker-date-utils.d.ts +2 -3
  172. package/cjs/components/date-picker/date-picker-date-utils.js +14 -12
  173. package/cjs/components/date-picker/date-picker-utils.d.ts +2 -3
  174. package/cjs/components/date-picker/date-picker-utils.js +11 -12
  175. package/cjs/components/date-picker/date-picker-week-utils.d.ts +0 -1
  176. package/cjs/components/date-picker/date-picker-week-utils.js +0 -4
  177. package/cjs/components/date-picker/date-picker.d.ts +20 -16
  178. package/cjs/components/date-picker/date-picker.js +12 -3
  179. package/cjs/components/date-picker/index.d.ts +10 -9
  180. package/cjs/components/date-picker/index.js +3 -1
  181. package/cjs/components/date-picker/prompt.d.ts +2 -1
  182. package/cjs/components/date-picker/util.d.ts +4 -0
  183. package/cjs/components/date-picker/util.js +8 -0
  184. package/cjs/components/date-picker-view/date-picker-view.d.ts +2 -1
  185. package/cjs/components/date-picker-view/date-picker-view.js +7 -3
  186. package/cjs/components/date-picker-view/useRenderLabel.d.ts +2 -0
  187. package/cjs/components/date-picker-view/useRenderLabel.js +29 -0
  188. package/cjs/components/dialog/index.d.ts +0 -1
  189. package/cjs/components/dropdown/index.d.ts +0 -1
  190. package/cjs/components/error-block/error-block.d.ts +0 -1
  191. package/cjs/components/error-block/images/busy.d.ts +0 -1
  192. package/cjs/components/error-block/images/default.d.ts +0 -1
  193. package/cjs/components/error-block/images/disconnected.d.ts +0 -1
  194. package/cjs/components/error-block/images/empty.d.ts +0 -1
  195. package/cjs/components/form/index.d.ts +0 -1
  196. package/cjs/components/grid/index.d.ts +0 -1
  197. package/cjs/components/image-uploader/image-uploader.js +6 -3
  198. package/cjs/components/image-viewer/index.d.ts +0 -1
  199. package/cjs/components/index-bar/index.d.ts +0 -1
  200. package/cjs/components/jumbo-tabs/index.d.ts +0 -1
  201. package/cjs/components/list/index.d.ts +0 -1
  202. package/cjs/components/modal/index.d.ts +0 -1
  203. package/cjs/components/popover/index.d.ts +0 -1
  204. package/cjs/components/radio/group-context.d.ts +0 -1
  205. package/cjs/components/radio/index.d.ts +0 -1
  206. package/cjs/components/result-page/index.d.ts +0 -1
  207. package/cjs/components/side-bar/index.d.ts +0 -1
  208. package/cjs/components/skeleton/index.d.ts +0 -1
  209. package/cjs/components/slider/slider.js +8 -3
  210. package/cjs/components/stepper/stepper.d.ts +23 -16
  211. package/cjs/components/stepper/stepper.js +69 -35
  212. package/cjs/components/steps/index.d.ts +0 -1
  213. package/cjs/components/swiper/index.d.ts +0 -1
  214. package/cjs/components/tab-bar/index.d.ts +0 -1
  215. package/cjs/components/tabs/index.d.ts +0 -1
  216. package/cjs/components/tree-select/index.d.ts +0 -1
  217. package/cjs/locales/base.d.ts +3 -0
  218. package/cjs/locales/base.js +3 -0
  219. package/cjs/locales/en-US.d.ts +3 -0
  220. package/cjs/locales/es-ES.d.ts +3 -0
  221. package/cjs/locales/fa-IR.d.ts +3 -0
  222. package/cjs/locales/fr-FR.d.ts +3 -0
  223. package/cjs/locales/id-ID.d.ts +3 -0
  224. package/cjs/locales/ja-JP.d.ts +3 -0
  225. package/cjs/locales/kk-KZ.d.ts +3 -0
  226. package/cjs/locales/ko-KR.d.ts +3 -0
  227. package/cjs/locales/zh-CN.d.ts +3 -0
  228. package/cjs/locales/zh-CN.js +3 -0
  229. package/cjs/locales/zh-HK.d.ts +3 -0
  230. package/cjs/locales/zh-TW.d.ts +3 -0
  231. package/cjs/utils/use-isomorphic-update-layout-effect.d.ts +0 -1
  232. package/cjs/utils/use-ref-state.d.ts +0 -1
  233. package/es/components/action-sheet/index.d.ts +0 -1
  234. package/es/components/badge/index.d.ts +0 -1
  235. package/es/components/capsule-tabs/index.d.ts +0 -1
  236. package/es/components/cascade-picker/index.d.ts +0 -1
  237. package/es/components/cascader/index.d.ts +0 -1
  238. package/es/components/cascader-view/index.d.ts +0 -1
  239. package/es/components/check-list/index.d.ts +0 -1
  240. package/es/components/checkbox/group-context.d.ts +0 -1
  241. package/es/components/checkbox/index.d.ts +0 -1
  242. package/es/components/collapse/index.d.ts +0 -1
  243. package/es/components/date-picker/date-picker-date-utils.d.ts +2 -3
  244. package/es/components/date-picker/date-picker-date-utils.js +14 -11
  245. package/es/components/date-picker/date-picker-utils.d.ts +2 -3
  246. package/es/components/date-picker/date-picker-utils.js +9 -9
  247. package/es/components/date-picker/date-picker-week-utils.d.ts +0 -1
  248. package/es/components/date-picker/date-picker-week-utils.js +0 -3
  249. package/es/components/date-picker/date-picker.d.ts +20 -16
  250. package/es/components/date-picker/date-picker.js +13 -4
  251. package/es/components/date-picker/index.d.ts +10 -9
  252. package/es/components/date-picker/index.js +3 -1
  253. package/es/components/date-picker/prompt.d.ts +2 -1
  254. package/es/components/date-picker/util.d.ts +4 -0
  255. package/es/components/date-picker/util.js +1 -0
  256. package/es/components/date-picker-view/date-picker-view.d.ts +2 -1
  257. package/es/components/date-picker-view/date-picker-view.js +8 -4
  258. package/es/components/date-picker-view/useRenderLabel.d.ts +2 -0
  259. package/es/components/date-picker-view/useRenderLabel.js +23 -0
  260. package/es/components/dialog/index.d.ts +0 -1
  261. package/es/components/dropdown/index.d.ts +0 -1
  262. package/es/components/error-block/error-block.d.ts +0 -1
  263. package/es/components/error-block/images/busy.d.ts +0 -1
  264. package/es/components/error-block/images/default.d.ts +0 -1
  265. package/es/components/error-block/images/disconnected.d.ts +0 -1
  266. package/es/components/error-block/images/empty.d.ts +0 -1
  267. package/es/components/form/index.d.ts +0 -1
  268. package/es/components/grid/index.d.ts +0 -1
  269. package/es/components/image-uploader/image-uploader.js +6 -3
  270. package/es/components/image-viewer/index.d.ts +0 -1
  271. package/es/components/index-bar/index.d.ts +0 -1
  272. package/es/components/jumbo-tabs/index.d.ts +0 -1
  273. package/es/components/list/index.d.ts +0 -1
  274. package/es/components/modal/index.d.ts +0 -1
  275. package/es/components/popover/index.d.ts +0 -1
  276. package/es/components/radio/group-context.d.ts +0 -1
  277. package/es/components/radio/index.d.ts +0 -1
  278. package/es/components/result-page/index.d.ts +0 -1
  279. package/es/components/side-bar/index.d.ts +0 -1
  280. package/es/components/skeleton/index.d.ts +0 -1
  281. package/es/components/slider/slider.js +8 -3
  282. package/es/components/stepper/stepper.d.ts +23 -16
  283. package/es/components/stepper/stepper.js +68 -33
  284. package/es/components/steps/index.d.ts +0 -1
  285. package/es/components/swiper/index.d.ts +0 -1
  286. package/es/components/tab-bar/index.d.ts +0 -1
  287. package/es/components/tabs/index.d.ts +0 -1
  288. package/es/components/tree-select/index.d.ts +0 -1
  289. package/es/locales/base.d.ts +3 -0
  290. package/es/locales/base.js +3 -0
  291. package/es/locales/en-US.d.ts +3 -0
  292. package/es/locales/es-ES.d.ts +3 -0
  293. package/es/locales/fa-IR.d.ts +3 -0
  294. package/es/locales/fr-FR.d.ts +3 -0
  295. package/es/locales/id-ID.d.ts +3 -0
  296. package/es/locales/ja-JP.d.ts +3 -0
  297. package/es/locales/kk-KZ.d.ts +3 -0
  298. package/es/locales/ko-KR.d.ts +3 -0
  299. package/es/locales/zh-CN.d.ts +3 -0
  300. package/es/locales/zh-CN.js +3 -0
  301. package/es/locales/zh-HK.d.ts +3 -0
  302. package/es/locales/zh-TW.d.ts +3 -0
  303. package/es/utils/use-isomorphic-update-layout-effect.d.ts +0 -1
  304. package/es/utils/use-ref-state.d.ts +0 -1
  305. package/package.json +3 -2
  306. package/umd/antd-mobile.js +1 -1
@@ -1,5 +1,6 @@
1
1
  import * as dateUtils from './date-picker-date-utils';
2
2
  import * as weekUtils from './date-picker-week-utils';
3
+ import { TILL_NOW } from './util';
3
4
  const precisionLengthRecord = {
4
5
  year: 1,
5
6
  month: 2,
@@ -18,23 +19,22 @@ export const convertDateToStringArray = (date, precision) => {
18
19
  }
19
20
  };
20
21
  export const convertStringArrayToDate = (value, precision) => {
22
+ // Special case for DATE_NOW
23
+ if ((value === null || value === void 0 ? void 0 : value[0]) === TILL_NOW) {
24
+ const now = new Date();
25
+ now.tillNow = true;
26
+ return now;
27
+ }
21
28
  if (precision.includes('week')) {
22
29
  return weekUtils.convertStringArrayToDate(value);
23
30
  } else {
24
31
  return dateUtils.convertStringArrayToDate(value);
25
32
  }
26
33
  };
27
- export const generateDatePickerColumns = (selected, min, max, precision, renderLabel, filter) => {
34
+ export const generateDatePickerColumns = (selected, min, max, precision, renderLabel, filter, tillNow) => {
28
35
  if (precision.startsWith('week')) {
29
36
  return weekUtils.generateDatePickerColumns(selected, min, max, precision, renderLabel, filter);
30
37
  } else {
31
- return dateUtils.generateDatePickerColumns(selected, min, max, precision, renderLabel, filter);
32
- }
33
- };
34
- export const defaultRenderLabel = (precision, data) => {
35
- if (precision.includes('week')) {
36
- return weekUtils.defaultRenderLabel(precision, data);
37
- } else {
38
- return dateUtils.defaultRenderLabel(precision, data);
38
+ return dateUtils.generateDatePickerColumns(selected, min, max, precision, renderLabel, filter, tillNow);
39
39
  }
40
40
  };
@@ -2,7 +2,6 @@ import { ReactNode } from 'react';
2
2
  import { PickerColumn } from '../picker';
3
3
  import type { DatePickerFilter } from './date-picker-utils';
4
4
  export declare type WeekPrecision = 'year' | 'week' | 'week-day';
5
- export declare function defaultRenderLabel(type: WeekPrecision, data: number): string;
6
5
  export declare function generateDatePickerColumns(selected: string[], min: Date, max: Date, precision: WeekPrecision, renderLabel: (type: WeekPrecision, data: number) => ReactNode, filter: DatePickerFilter | undefined): PickerColumn[];
7
6
  export declare function convertDateToStringArray(date: Date | undefined | null): string[];
8
7
  export declare function convertStringArrayToDate(value: (string | null | undefined)[]): Date;
@@ -10,9 +10,6 @@ const precisionRankRecord = {
10
10
  week: 1,
11
11
  'week-day': 2
12
12
  };
13
- export function defaultRenderLabel(type, data) {
14
- return data.toString();
15
- }
16
13
  export function generateDatePickerColumns(selected, min, max, precision, renderLabel, filter) {
17
14
  const ret = [];
18
15
  const minYear = min.getFullYear();
@@ -2,32 +2,36 @@ import React, { ReactNode } from 'react';
2
2
  import type { PickerProps, PickerRef, PickerActions } from '../picker';
3
3
  import { NativeProps } from '../../utils/native-props';
4
4
  import type { Precision, DatePickerFilter } from './date-picker-utils';
5
+ import type { RenderLabel } from '../date-picker-view/date-picker-view';
6
+ import type { PickerDate } from './util';
5
7
  export declare type DatePickerRef = PickerRef;
6
8
  export declare type DatePickerProps = Pick<PickerProps, 'onCancel' | 'onClose' | 'closeOnMaskClick' | 'visible' | 'confirmText' | 'cancelText' | 'getContainer' | 'loading' | 'loadingContent' | 'afterShow' | 'afterClose' | 'onClick' | 'title' | 'stopPropagation' | 'style' | 'mouseWheel' | 'forceRender' | 'destroyOnClose'> & {
7
- value?: Date | null;
8
- defaultValue?: Date | null;
9
- onSelect?: (value: Date) => void;
10
- onConfirm?: (value: Date) => void;
11
- min?: Date;
12
- max?: Date;
9
+ value?: PickerDate | null;
10
+ defaultValue?: PickerDate | null;
11
+ onSelect?: (value: PickerDate) => void;
12
+ onConfirm?: (value: PickerDate) => void;
13
+ min?: PickerDate;
14
+ max?: PickerDate;
13
15
  precision?: Precision;
14
- children?: (value: Date | null, actions: PickerActions) => ReactNode;
15
- renderLabel?: (type: Precision, data: number) => ReactNode;
16
+ children?: (value: PickerDate | null, actions: PickerActions) => ReactNode;
17
+ renderLabel?: RenderLabel;
16
18
  filter?: DatePickerFilter;
19
+ tillNow?: boolean;
17
20
  } & NativeProps;
18
21
  export declare const DatePicker: React.ForwardRefExoticComponent<Pick<PickerProps, "style" | "title" | "onClick" | "visible" | "destroyOnClose" | "forceRender" | "getContainer" | "afterShow" | "afterClose" | "stopPropagation" | "onCancel" | "onClose" | "loading" | "closeOnMaskClick" | "cancelText" | "mouseWheel" | "loadingContent" | "confirmText"> & {
19
- value?: Date | null | undefined;
20
- defaultValue?: Date | null | undefined;
21
- onSelect?: ((value: Date) => void) | undefined;
22
- onConfirm?: ((value: Date) => void) | undefined;
23
- min?: Date | undefined;
24
- max?: Date | undefined;
22
+ value?: PickerDate | null | undefined;
23
+ defaultValue?: PickerDate | null | undefined;
24
+ onSelect?: ((value: PickerDate) => void) | undefined;
25
+ onConfirm?: ((value: PickerDate) => void) | undefined;
26
+ min?: PickerDate | undefined;
27
+ max?: PickerDate | undefined;
25
28
  precision?: Precision | undefined;
26
- children?: ((value: Date | null, actions: PickerActions) => ReactNode) | undefined;
27
- renderLabel?: ((type: Precision, data: number) => ReactNode) | undefined;
29
+ children?: ((value: PickerDate | null, actions: PickerActions) => ReactNode) | undefined;
30
+ renderLabel?: RenderLabel | undefined;
28
31
  filter?: Partial<Record<Precision, (val: number, extend: {
29
32
  date: Date;
30
33
  }) => boolean>> | undefined;
34
+ tillNow?: boolean | undefined;
31
35
  } & {
32
36
  className?: string | undefined;
33
37
  style?: (React.CSSProperties & Partial<Record<never, string>>) | undefined;
@@ -4,18 +4,22 @@ import Picker from '../picker';
4
4
  import { withNativeProps } from '../../utils/native-props';
5
5
  import { mergeProps } from '../../utils/with-default-props';
6
6
  import { usePropsValue } from '../../utils/use-props-value';
7
- import { convertDateToStringArray, convertStringArrayToDate, generateDatePickerColumns, defaultRenderLabel } from './date-picker-utils';
7
+ import { convertDateToStringArray, convertStringArrayToDate, generateDatePickerColumns } from './date-picker-utils';
8
8
  import { bound } from '../../utils/bound';
9
+ import useRenderLabel from '../date-picker-view/useRenderLabel';
10
+ import { TILL_NOW } from './util';
9
11
  const thisYear = new Date().getFullYear();
10
12
  const defaultProps = {
11
13
  min: new Date(new Date().setFullYear(thisYear - 10)),
12
14
  max: new Date(new Date().setFullYear(thisYear + 10)),
13
15
  precision: 'day',
14
- renderLabel: defaultRenderLabel,
15
16
  defaultValue: null
16
17
  };
17
18
  export const DatePicker = forwardRef((p, ref) => {
18
19
  const props = mergeProps(defaultProps, p);
20
+ const {
21
+ renderLabel
22
+ } = props;
19
23
  const [value, setValue] = usePropsValue({
20
24
  value: props.value,
21
25
  defaultValue: props.defaultValue,
@@ -26,20 +30,25 @@ export const DatePicker = forwardRef((p, ref) => {
26
30
  }
27
31
  });
28
32
  const now = useMemo(() => new Date(), []);
33
+ const mergedRenderLabel = useRenderLabel(renderLabel);
29
34
  const pickerValue = useMemo(() => {
30
35
  let date = value !== null && value !== void 0 ? value : now;
36
+ if (date.tillNow) {
37
+ return [TILL_NOW];
38
+ }
31
39
  date = new Date(bound(date.getTime(), props.min.getTime(), props.max.getTime()));
32
40
  return convertDateToStringArray(date, props.precision);
33
41
  }, [value, props.precision, props.min, props.max]);
34
42
  const onConfirm = useCallback(val => {
35
- setValue(convertStringArrayToDate(val, props.precision), true);
43
+ const date = convertStringArrayToDate(val, props.precision);
44
+ setValue(date, true);
36
45
  }, [setValue, props.precision]);
37
46
  const onSelect = useMemoizedFn(val => {
38
47
  var _a;
39
48
  const date = convertStringArrayToDate(val, props.precision);
40
49
  (_a = props.onSelect) === null || _a === void 0 ? void 0 : _a.call(props, date);
41
50
  });
42
- const columns = useCallback(selected => generateDatePickerColumns(selected, props.min, props.max, props.precision, props.renderLabel, props.filter), [props.min, props.max, props.precision, props.renderLabel]);
51
+ const columns = useCallback(selected => generateDatePickerColumns(selected, props.min, props.max, props.precision, mergedRenderLabel, props.filter, props.tillNow), [props.min, props.max, props.precision, mergedRenderLabel, props.tillNow]);
43
52
  return withNativeProps(props, React.createElement(Picker, {
44
53
  ref: ref,
45
54
  columns: columns,
@@ -1,26 +1,27 @@
1
- /// <reference types="react" />
2
1
  import './date-picker.less';
3
2
  import { prompt } from './prompt';
4
3
  export type { DatePickerProps, DatePickerRef } from './date-picker';
5
4
  export type { DatePickerFilter } from './date-picker-utils';
6
5
  declare const _default: import("react").ForwardRefExoticComponent<Pick<import("../picker").PickerProps, "style" | "title" | "onClick" | "visible" | "destroyOnClose" | "forceRender" | "getContainer" | "afterShow" | "afterClose" | "stopPropagation" | "onCancel" | "onClose" | "loading" | "closeOnMaskClick" | "cancelText" | "mouseWheel" | "loadingContent" | "confirmText"> & {
7
- value?: Date | null | undefined;
8
- defaultValue?: Date | null | undefined;
9
- onSelect?: ((value: Date) => void) | undefined;
10
- onConfirm?: ((value: Date) => void) | undefined;
11
- min?: Date | undefined;
12
- max?: Date | undefined;
6
+ value?: import("./util").PickerDate | null | undefined;
7
+ defaultValue?: import("./util").PickerDate | null | undefined;
8
+ onSelect?: ((value: import("./util").PickerDate) => void) | undefined;
9
+ onConfirm?: ((value: import("./util").PickerDate) => void) | undefined;
10
+ min?: import("./util").PickerDate | undefined;
11
+ max?: import("./util").PickerDate | undefined;
13
12
  precision?: import("./date-picker-utils").Precision | undefined;
14
- children?: ((value: Date | null, actions: import("../picker").PickerActions) => import("react").ReactNode) | undefined;
15
- renderLabel?: ((type: import("./date-picker-utils").Precision, data: number) => import("react").ReactNode) | undefined;
13
+ children?: ((value: import("./util").PickerDate | null, actions: import("../picker").PickerActions) => import("react").ReactNode) | undefined;
14
+ renderLabel?: import("../date-picker-view/date-picker-view").RenderLabel | undefined;
16
15
  filter?: Partial<Record<import("./date-picker-utils").Precision, (val: number, extend: {
17
16
  date: Date;
18
17
  }) => boolean>> | undefined;
18
+ tillNow?: boolean | undefined;
19
19
  } & {
20
20
  className?: string | undefined;
21
21
  style?: (import("react").CSSProperties & Partial<Record<never, string>>) | undefined;
22
22
  tabIndex?: number | undefined;
23
23
  } & import("react").AriaAttributes & import("react").RefAttributes<import("../picker").PickerActions>> & {
24
24
  prompt: typeof prompt;
25
+ DATE_NOW: string;
25
26
  };
26
27
  export default _default;
@@ -1,7 +1,9 @@
1
1
  import "./date-picker.css";
2
2
  import { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';
3
3
  import { DatePicker } from './date-picker';
4
+ import { TILL_NOW } from './util';
4
5
  import { prompt } from './prompt';
5
6
  export default attachPropertiesToComponent(DatePicker, {
6
- prompt
7
+ prompt,
8
+ DATE_NOW: TILL_NOW
7
9
  });
@@ -1,2 +1,3 @@
1
1
  import { DatePickerProps } from './date-picker';
2
- export declare function prompt(props: Omit<DatePickerProps, 'value' | 'visible' | 'children'>): Promise<Date | null>;
2
+ import type { PickerDate } from './util';
3
+ export declare function prompt(props: Omit<DatePickerProps, 'value' | 'visible' | 'children'>): Promise<PickerDate | null>;
@@ -0,0 +1,4 @@
1
+ export declare const TILL_NOW = "TILL_NOW";
2
+ export declare type PickerDate = Date & {
3
+ tillNow?: boolean;
4
+ };
@@ -0,0 +1 @@
1
+ export const TILL_NOW = 'TILL_NOW';
@@ -2,6 +2,7 @@ import { FC, ReactNode } from 'react';
2
2
  import type { PickerViewProps } from '../picker-view';
3
3
  import { NativeProps } from '../../utils/native-props';
4
4
  import type { Precision, DatePickerFilter } from '../date-picker/date-picker-utils';
5
+ export declare type RenderLabel = (type: Precision | 'now', data: number) => ReactNode;
5
6
  export declare type DatePickerViewProps = Pick<PickerViewProps, 'style' | 'mouseWheel' | 'loading' | 'loadingContent'> & {
6
7
  value?: Date;
7
8
  defaultValue?: Date;
@@ -9,7 +10,7 @@ export declare type DatePickerViewProps = Pick<PickerViewProps, 'style' | 'mouse
9
10
  min?: Date;
10
11
  max?: Date;
11
12
  precision?: Precision;
12
- renderLabel?: (type: Precision, data: number) => ReactNode;
13
+ renderLabel?: RenderLabel;
13
14
  filter?: DatePickerFilter;
14
15
  } & NativeProps;
15
16
  export declare const DatePickerView: FC<DatePickerViewProps>;
@@ -3,21 +3,25 @@ import PickerView from '../picker-view';
3
3
  import { withNativeProps } from '../../utils/native-props';
4
4
  import { mergeProps } from '../../utils/with-default-props';
5
5
  import { usePropsValue } from '../../utils/use-props-value';
6
- import { generateDatePickerColumns, convertDateToStringArray, convertStringArrayToDate, defaultRenderLabel } from '../date-picker/date-picker-utils';
6
+ import { generateDatePickerColumns, convertDateToStringArray, convertStringArrayToDate } from '../date-picker/date-picker-utils';
7
+ import useRenderLabel from './useRenderLabel';
7
8
  const thisYear = new Date().getFullYear();
8
9
  const defaultProps = {
9
10
  min: new Date(new Date().setFullYear(thisYear - 10)),
10
11
  max: new Date(new Date().setFullYear(thisYear + 10)),
11
- precision: 'day',
12
- renderLabel: defaultRenderLabel
12
+ precision: 'day'
13
13
  };
14
14
  export const DatePickerView = p => {
15
15
  var _a;
16
16
  const props = mergeProps(defaultProps, p);
17
+ const {
18
+ renderLabel
19
+ } = props;
17
20
  const [value, setValue] = usePropsValue({
18
21
  value: props.value,
19
22
  defaultValue: (_a = props.defaultValue) !== null && _a !== void 0 ? _a : null
20
23
  });
24
+ const mergedRenderLabel = useRenderLabel(renderLabel);
21
25
  const pickerValue = useMemo(() => convertDateToStringArray(value, props.precision), [value, props.precision]);
22
26
  const onChange = useCallback(val => {
23
27
  var _a;
@@ -28,7 +32,7 @@ export const DatePickerView = p => {
28
32
  }
29
33
  }, [props.onChange, props.precision]);
30
34
  return withNativeProps(props, React.createElement(PickerView, {
31
- columns: selected => generateDatePickerColumns(selected, props.min, props.max, props.precision, props.renderLabel, props.filter),
35
+ columns: selected => generateDatePickerColumns(selected, props.min, props.max, props.precision, mergedRenderLabel, props.filter),
32
36
  loading: props.loading,
33
37
  loadingContent: props.loadingContent,
34
38
  value: pickerValue,
@@ -0,0 +1,2 @@
1
+ import type { RenderLabel } from './date-picker-view';
2
+ export default function useRenderLabel(renderLabel?: RenderLabel): RenderLabel;
@@ -0,0 +1,23 @@
1
+ import { useCallback } from 'react';
2
+ import { useConfig } from '../config-provider';
3
+ export default function useRenderLabel(renderLabel) {
4
+ const {
5
+ locale
6
+ } = useConfig();
7
+ return useCallback((type, data) => {
8
+ if (renderLabel) {
9
+ return renderLabel(type, data);
10
+ }
11
+ // Default render
12
+ switch (type) {
13
+ case 'minute':
14
+ case 'second':
15
+ case 'hour':
16
+ return ('0' + data.toString()).slice(-2);
17
+ case 'now':
18
+ return locale.DatePicker.tillNow;
19
+ default:
20
+ return data.toString();
21
+ }
22
+ }, [renderLabel]);
23
+ }
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './dialog.less';
3
2
  import { show } from './show';
4
3
  import { alert } from './alert';
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './dropdown.less';
3
2
  export type { DropdownProps, DropdownRef } from './dropdown';
4
3
  export type { DropdownItemProps } from './item';
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare const ErrorBlock: import("react").FC<import("./create-error-block").ErrorBlockProps>;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare const busyImage: JSX.Element;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare const defaultImage: JSX.Element;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare const disconnectedImage: JSX.Element;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare const emptyImage: JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index.less';
3
2
  import { useWatch, useForm } from 'rc-field-form';
4
3
  export declare type FormLayout = 'vertical' | 'horizontal';
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './grid.less';
3
2
  export type { GridProps, GridItemProps } from './grid';
4
3
  declare const _default: import("react").FC<import("./grid").GridProps> & {
@@ -208,9 +208,12 @@ export const ImageUploader = p => {
208
208
  setTasks(tasks.filter(x => x.id !== task.id));
209
209
  }
210
210
  });
211
- }), showUpload && React.createElement("div", {
212
- className: `${classPrefix}-upload-button-wrap`
213
- }, props.children ? props.children : React.createElement("span", {
211
+ }), React.createElement("div", {
212
+ className: `${classPrefix}-upload-button-wrap`,
213
+ style: showUpload ? undefined : {
214
+ display: 'none'
215
+ }
216
+ }, props.children || React.createElement("span", {
214
217
  className: `${classPrefix}-cell ${classPrefix}-upload-button`,
215
218
  role: 'button',
216
219
  "aria-label": locale.ImageUploader.upload
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './image-viewer.less';
3
2
  import { showMultiImageViewer, showImageViewer, clearImageViewer } from './methods';
4
3
  export type { ImageViewerProps, MultiImageViewerProps, MultiImageViewerRef, } from './image-viewer';
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index-bar.less';
3
2
  export type { IndexBarProps, IndexBarRef } from './index-bar';
4
3
  export type { IndexBarPanelProps } from './panel';
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './jumbo-tabs.less';
3
2
  export type { JumboTabsProps, JumboTabProps } from './jumbo-tabs';
4
3
  declare const _default: import("react").FC<import("./jumbo-tabs").JumboTabsProps> & {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './list.less';
3
2
  export type { ListProps, ListRef } from './list';
4
3
  export type { ListItemProps } from './list-item';
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './modal.less';
3
2
  import { show } from './show';
4
3
  import { alert } from './alert';
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './popover.less';
3
2
  import './popover-menu.less';
4
3
  export type { PopoverProps, PopoverRef } from './popover';
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { RadioValue } from '.';
3
2
  export declare const RadioGroupContext: import("react").Context<{
4
3
  value: RadioValue[];
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './radio.less';
3
2
  export type { RadioProps, RadioValue } from './radio';
4
3
  export type { RadioGroupProps } from './group';
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './result-page.less';
3
2
  export type { ResultPageProps } from './result-page';
4
3
  declare const _default: import("react").FC<import("./result-page").ResultPageProps> & {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './side-bar.less';
3
2
  export type { SideBarProps, SideBarItemProps } from './side-bar';
4
3
  declare const _default: import("react").FC<import("./side-bar").SideBarProps> & {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './skeleton.less';
3
2
  export type { SkeletonProps, SkeletonTitleProps } from './skeleton';
4
3
  declare const _default: import("react").FC<import("./skeleton").SkeletonProps> & {
@@ -3,12 +3,12 @@ import { withNativeProps } from '../../utils/native-props';
3
3
  import classNames from 'classnames';
4
4
  import Ticks from './ticks';
5
5
  import Marks from './marks';
6
+ import getMiniDecimal, { toFixed } from '@rc-component/mini-decimal';
6
7
  import Thumb from './thumb';
7
8
  import { mergeProps } from '../../utils/with-default-props';
8
9
  import { nearest } from '../../utils/nearest';
9
10
  import { usePropsValue } from '../../utils/use-props-value';
10
11
  import { devWarning } from '../../utils/dev-log';
11
- import Big from 'big.js';
12
12
  const classPrefix = `adm-slider`;
13
13
  const defaultProps = {
14
14
  min: 0,
@@ -38,9 +38,14 @@ export const Slider = p => {
38
38
  function convertValue(value) {
39
39
  return props.range ? value : [props.min, value];
40
40
  }
41
+ function alignValue(value, decimalLen) {
42
+ const decimal = getMiniDecimal(value);
43
+ const fixedStr = toFixed(decimal.toString(), '.', decimalLen);
44
+ return getMiniDecimal(fixedStr).toNumber();
45
+ }
41
46
  function reverseValue(value) {
42
47
  const mergedDecimalLen = Math.max(getDecimalLen(step), getDecimalLen(value[0]), getDecimalLen(value[1]));
43
- return props.range ? value.map(v => Big(Big(v).toFixed(mergedDecimalLen)).toNumber()) : Big(Big(value[1]).toFixed(mergedDecimalLen)).toNumber();
48
+ return props.range ? value.map(v => alignValue(v, mergedDecimalLen)) : alignValue(value[1], mergedDecimalLen);
44
49
  }
45
50
  function getDecimalLen(n) {
46
51
  return (`${n}`.split('.')[1] || '').length;
@@ -75,7 +80,7 @@ export const Slider = p => {
75
80
  return Object.keys(marks).map(parseFloat).sort((a, b) => a - b);
76
81
  } else {
77
82
  const points = [];
78
- for (let i = Big(min); i.lte(max); i = i.plus(step)) {
83
+ for (let i = getMiniDecimal(min); i.lessEquals(getMiniDecimal(max)); i = i.add(step)) {
79
84
  points.push(i.toNumber());
80
85
  }
81
86
  return points;
@@ -1,27 +1,34 @@
1
- import { FC } from 'react';
1
+ import React from 'react';
2
2
  import { NativeProps } from '../../utils/native-props';
3
3
  import { InputProps } from '../input';
4
- declare type ValueProps = {
4
+ declare type ValueProps<ValueType> = {
5
5
  allowEmpty: true;
6
- value?: number | null;
7
- defaultValue?: number | null;
8
- onChange?: (value: number | null) => void;
6
+ value?: ValueType | null;
7
+ defaultValue?: ValueType | null;
8
+ onChange?: (value: ValueType | null) => void;
9
9
  };
10
- declare type ValuePropsWithNull = {
10
+ declare type ValuePropsWithNull<ValueType> = {
11
11
  allowEmpty?: false;
12
- value?: number;
13
- defaultValue?: number;
14
- onChange?: (value: number) => void;
12
+ value?: ValueType;
13
+ defaultValue?: ValueType;
14
+ onChange?: (value: ValueType) => void;
15
15
  };
16
- export declare type StepperProps = Pick<InputProps, 'onFocus' | 'onBlur'> & (ValuePropsWithNull | ValueProps) & {
17
- min?: number;
18
- max?: number;
19
- step?: number;
16
+ export declare type BaseStepperProps<ValueType> = Pick<InputProps, 'onFocus' | 'onBlur'> & (ValuePropsWithNull<ValueType> | ValueProps<ValueType>) & {
17
+ min?: ValueType;
18
+ max?: ValueType;
19
+ step?: ValueType;
20
20
  digits?: number;
21
21
  disabled?: boolean;
22
22
  inputReadOnly?: boolean;
23
- parser?: (text: string) => number;
24
- formatter?: (value?: number) => string;
23
+ parser?: (text: string) => ValueType;
24
+ formatter?: (value?: ValueType) => string;
25
25
  } & NativeProps<'--height' | '--input-width' | '--input-font-size' | '--input-background-color' | '--border-radius' | '--border' | '--border-inner' | '--active-border' | '--button-font-size' | '--button-background-color' | '--button-width' | '--input-font-color' | '--button-text-color'>;
26
- export declare const Stepper: FC<StepperProps>;
26
+ export declare type NumberStepperProps = BaseStepperProps<number> & {
27
+ stringMode?: false;
28
+ };
29
+ export declare type StringStepperProps = BaseStepperProps<string> & {
30
+ stringMode: true;
31
+ };
32
+ export declare type StepperProps = NumberStepperProps | StringStepperProps;
33
+ export declare function Stepper<ValueType extends number | string>(p: StepperProps): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
27
34
  export {};