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,30 +1,32 @@
1
1
  import classNames from 'classnames';
2
2
  import React, { useEffect, useState } from 'react';
3
3
  import { MinusOutline, AddOutline } from 'antd-mobile-icons';
4
+ import useMergedState from 'rc-util/lib/hooks/useMergedState';
5
+ import getMiniDecimal, { toFixed } from '@rc-component/mini-decimal';
4
6
  import { withNativeProps } from '../../utils/native-props';
5
- import { usePropsValue } from '../../utils/use-props-value';
6
7
  import { mergeProps } from '../../utils/with-default-props';
7
- import { bound } from '../../utils/bound';
8
8
  import Input from '../input';
9
9
  import Button from '../button';
10
- import Big from 'big.js';
11
10
  import { useConfig } from '../config-provider';
12
11
  const classPrefix = `adm-stepper`;
13
12
  const defaultProps = {
14
- defaultValue: 0,
15
13
  step: 1,
16
14
  disabled: false,
17
15
  allowEmpty: false
18
16
  };
19
- export const Stepper = p => {
17
+ export function Stepper(p) {
20
18
  const props = mergeProps(defaultProps, p);
21
19
  const {
20
+ defaultValue = 0,
21
+ value,
22
+ onChange,
22
23
  disabled,
23
24
  step,
24
25
  max,
25
26
  min,
26
27
  inputReadOnly,
27
28
  digits,
29
+ stringMode,
28
30
  formatter,
29
31
  parser
30
32
  } = props;
@@ -32,44 +34,70 @@ export const Stepper = p => {
32
34
  locale
33
35
  } = useConfig();
34
36
  // ========================== Parse / Format ==========================
37
+ const fixedValue = value => {
38
+ const fixedValue = digits !== undefined ? toFixed(value.toString(), '.', digits) : value;
39
+ return fixedValue.toString();
40
+ };
41
+ const getValueAsType = value => stringMode ? value.toString() : value.toNumber();
35
42
  const parseValue = text => {
36
43
  if (text === '') return null;
37
- return parser ? parser(text) : parseFloat(text);
44
+ if (parser) {
45
+ return String(parser(text));
46
+ }
47
+ const decimal = getMiniDecimal(text);
48
+ return decimal.isInvalidate() ? null : decimal.toString();
38
49
  };
39
50
  const formatValue = value => {
40
51
  if (value === null) return '';
41
52
  if (formatter) {
42
53
  return formatter(value);
43
- } else if (digits !== undefined) {
44
- return value.toFixed(digits);
45
54
  } else {
46
- return value.toString();
55
+ return fixedValue(value);
47
56
  }
48
57
  };
49
58
  // ======================== Value & InputValue ========================
50
- const [value, setValue] = usePropsValue(props);
51
- const [inputValue, setInputValue] = useState(() => formatValue(value));
59
+ const [mergedValue, setMergedValue] = useMergedState(defaultValue, {
60
+ value,
61
+ onChange: nextValue => {
62
+ onChange === null || onChange === void 0 ? void 0 : onChange(nextValue);
63
+ }
64
+ });
65
+ const [inputValue, setInputValue] = useState(() => formatValue(mergedValue));
52
66
  // >>>>> Value
53
- function setValueWithCheck(v) {
54
- if (isNaN(v)) return;
55
- let target = bound(v, props.min, props.max);
67
+ function setValueWithCheck(nextValue) {
68
+ if (nextValue.isNaN()) return;
69
+ let target = nextValue;
70
+ // Put into range
71
+ if (min !== undefined) {
72
+ const minDecimal = getMiniDecimal(min);
73
+ if (target.lessEquals(minDecimal)) {
74
+ target = minDecimal;
75
+ }
76
+ }
77
+ if (max !== undefined) {
78
+ const maxDecimal = getMiniDecimal(max);
79
+ if (maxDecimal.lessEquals(target)) {
80
+ target = maxDecimal;
81
+ }
82
+ }
83
+ // Fix digits
56
84
  if (digits !== undefined) {
57
- target = parseFloat(target.toFixed(digits));
85
+ target = getMiniDecimal(fixedValue(getValueAsType(target)));
58
86
  }
59
- setValue(target);
87
+ setMergedValue(getValueAsType(target));
60
88
  }
61
89
  // >>>>> Input
62
90
  const handleInputChange = v => {
63
91
  setInputValue(v);
64
- const value = parseValue(v);
65
- if (value === null) {
92
+ const valueStr = parseValue(v);
93
+ if (valueStr === null) {
66
94
  if (props.allowEmpty) {
67
- setValue(null);
95
+ setMergedValue(null);
68
96
  } else {
69
- setValue(props.defaultValue);
97
+ setMergedValue(defaultValue);
70
98
  }
71
99
  } else {
72
- setValueWithCheck(value);
100
+ setValueWithCheck(getMiniDecimal(valueStr));
73
101
  }
74
102
  };
75
103
  // ============================== Focus ===============================
@@ -79,7 +107,7 @@ export const Stepper = p => {
79
107
  setFocused(nextFocus);
80
108
  // We will convert value to original text when focus
81
109
  if (nextFocus) {
82
- setInputValue(typeof value === 'number' ? String(value) : '');
110
+ setInputValue(mergedValue !== null && mergedValue !== undefined ? String(mergedValue) : '');
83
111
  }
84
112
  }
85
113
  useEffect(() => {
@@ -91,29 +119,36 @@ export const Stepper = p => {
91
119
  // Focus change to format value
92
120
  useEffect(() => {
93
121
  if (!focused) {
94
- setInputValue(formatValue(value));
122
+ setInputValue(formatValue(mergedValue));
95
123
  }
96
- }, [focused, value, digits]);
124
+ }, [focused, mergedValue, digits]);
97
125
  // ============================ Operations ============================
126
+ const handleOffset = positive => {
127
+ let stepValue = getMiniDecimal(step);
128
+ if (!positive) {
129
+ stepValue = stepValue.negate();
130
+ }
131
+ setValueWithCheck(getMiniDecimal(mergedValue !== null && mergedValue !== void 0 ? mergedValue : 0).add(stepValue.toString()));
132
+ };
98
133
  const handleMinus = () => {
99
- setValueWithCheck(Big(value !== null && value !== void 0 ? value : 0).minus(step).toNumber());
134
+ handleOffset(false);
100
135
  };
101
136
  const handlePlus = () => {
102
- setValueWithCheck(Big(value !== null && value !== void 0 ? value : 0).add(step).toNumber());
137
+ handleOffset(true);
103
138
  };
104
139
  const minusDisabled = () => {
105
140
  if (disabled) return true;
106
- if (value === null) return false;
141
+ if (mergedValue === null) return false;
107
142
  if (min !== undefined) {
108
- return value <= min;
143
+ return mergedValue <= min;
109
144
  }
110
145
  return false;
111
146
  };
112
147
  const plusDisabled = () => {
113
148
  if (disabled) return true;
114
- if (value === null) return false;
149
+ if (mergedValue === null) return false;
115
150
  if (max !== undefined) {
116
- return value >= max;
151
+ return mergedValue >= max;
117
152
  }
118
153
  return false;
119
154
  };
@@ -153,8 +188,8 @@ export const Stepper = p => {
153
188
  readOnly: inputReadOnly,
154
189
  role: 'spinbutton',
155
190
  "aria-valuenow": Number(inputValue),
156
- "aria-valuemax": max,
157
- "aria-valuemin": min,
191
+ "aria-valuemax": Number(max),
192
+ "aria-valuemin": Number(min),
158
193
  inputMode: 'decimal'
159
194
  })), React.createElement(Button, {
160
195
  className: `${classPrefix}-plus`,
@@ -165,4 +200,4 @@ export const Stepper = p => {
165
200
  color: 'primary',
166
201
  "aria-label": locale.Stepper.increase
167
202
  }, React.createElement(AddOutline, null))));
168
- };
203
+ }
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './steps.less';
3
2
  export type { StepsProps } from './steps';
4
3
  export type { StepProps } from './step';
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './swiper.less';
3
2
  export type { SwiperProps, SwiperRef } from './swiper';
4
3
  declare const _default: import("react").ForwardRefExoticComponent<{
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './tab-bar.less';
3
2
  export type { TabBarProps, TabBarItemProps } from './tab-bar';
4
3
  declare const _default: import("react").FC<import("./tab-bar").TabBarProps> & {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './tabs.less';
3
2
  export type { TabsProps, TabProps } from './tabs';
4
3
  declare const _default: import("react").FC<import("./tabs").TabsProps> & {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './tree-select.less';
3
2
  export type { TreeSelectProps, TreeSelectOption } from './tree-select';
4
3
  export type { MultipleProps } from './multiple';
@@ -15,6 +15,9 @@ export declare const base: {
15
15
  Dialog: {
16
16
  ok: string;
17
17
  };
18
+ DatePicker: {
19
+ tillNow: string;
20
+ };
18
21
  ErrorBlock: {
19
22
  default: {
20
23
  title: string;
@@ -16,6 +16,9 @@ export const base = {
16
16
  Dialog: {
17
17
  ok: 'OK'
18
18
  },
19
+ DatePicker: {
20
+ tillNow: 'Till Now'
21
+ },
19
22
  ErrorBlock: {
20
23
  default: {
21
24
  title: 'Oops, something went wrong',
@@ -15,6 +15,9 @@ declare const enUS: {
15
15
  Dialog: {
16
16
  ok: string;
17
17
  };
18
+ DatePicker: {
19
+ tillNow: string;
20
+ };
18
21
  ErrorBlock: {
19
22
  default: {
20
23
  title: string;
@@ -15,6 +15,9 @@ declare const esES: {
15
15
  Dialog: {
16
16
  ok: string;
17
17
  };
18
+ DatePicker: {
19
+ tillNow: string;
20
+ };
18
21
  ErrorBlock: {
19
22
  default: {
20
23
  title: string;
@@ -15,6 +15,9 @@ declare const faIR: {
15
15
  Dialog: {
16
16
  ok: string;
17
17
  };
18
+ DatePicker: {
19
+ tillNow: string;
20
+ };
18
21
  ErrorBlock: {
19
22
  default: {
20
23
  title: string;
@@ -15,6 +15,9 @@ declare const frFR: {
15
15
  Dialog: {
16
16
  ok: string;
17
17
  };
18
+ DatePicker: {
19
+ tillNow: string;
20
+ };
18
21
  ErrorBlock: {
19
22
  default: {
20
23
  title: string;
@@ -15,6 +15,9 @@ declare const idID: {
15
15
  Dialog: {
16
16
  ok: string;
17
17
  };
18
+ DatePicker: {
19
+ tillNow: string;
20
+ };
18
21
  ErrorBlock: {
19
22
  default: {
20
23
  title: string;
@@ -15,6 +15,9 @@ declare const jaJP: {
15
15
  Dialog: {
16
16
  ok: string;
17
17
  };
18
+ DatePicker: {
19
+ tillNow: string;
20
+ };
18
21
  ErrorBlock: {
19
22
  default: {
20
23
  title: string;
@@ -15,6 +15,9 @@ declare const kkKZ: {
15
15
  Dialog: {
16
16
  ok: string;
17
17
  };
18
+ DatePicker: {
19
+ tillNow: string;
20
+ };
18
21
  ErrorBlock: {
19
22
  default: {
20
23
  title: string;
@@ -15,6 +15,9 @@ declare const koKR: {
15
15
  Dialog: {
16
16
  ok: string;
17
17
  };
18
+ DatePicker: {
19
+ tillNow: string;
20
+ };
18
21
  ErrorBlock: {
19
22
  default: {
20
23
  title: string;
@@ -15,6 +15,9 @@ declare const zhCN: {
15
15
  Dialog: {
16
16
  ok: string;
17
17
  };
18
+ DatePicker: {
19
+ tillNow: string;
20
+ };
18
21
  ErrorBlock: {
19
22
  default: {
20
23
  title: string;
@@ -18,6 +18,9 @@ const zhCN = mergeLocale(base, {
18
18
  Dialog: {
19
19
  ok: '我知道了'
20
20
  },
21
+ DatePicker: {
22
+ tillNow: '至今'
23
+ },
21
24
  ErrorBlock: {
22
25
  default: {
23
26
  title: '页面遇到一些小问题',
@@ -15,6 +15,9 @@ declare const zhHK: {
15
15
  Dialog: {
16
16
  ok: string;
17
17
  };
18
+ DatePicker: {
19
+ tillNow: string;
20
+ };
18
21
  ErrorBlock: {
19
22
  default: {
20
23
  title: string;
@@ -15,6 +15,9 @@ declare const zhTW: {
15
15
  Dialog: {
16
16
  ok: string;
17
17
  };
18
+ DatePicker: {
19
+ tillNow: string;
20
+ };
18
21
  ErrorBlock: {
19
22
  default: {
20
23
  title: string;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare const useIsomorphicUpdateLayoutEffect: typeof import("react").useEffect | typeof import("react").useLayoutEffect;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare function useRefState<T>(initialState: T | (() => T)): readonly [T, import("react").Dispatch<import("react").SetStateAction<T>>, import("react").MutableRefObject<T>];
package/package.json CHANGED
@@ -1,18 +1,19 @@
1
1
  {
2
2
  "name": "antd-mobile",
3
- "version": "5.26.0",
3
+ "version": "5.27.0",
4
4
  "dependencies": {
5
5
  "@floating-ui/dom": "^1.0.6",
6
+ "@rc-component/mini-decimal": "^1.0.1",
6
7
  "@react-spring/web": "^9.5.5",
7
8
  "@use-gesture/react": "10.2.20",
8
9
  "ahooks": "^3.7.2",
9
10
  "antd-mobile-icons": "^0.3.0",
10
11
  "antd-mobile-v5-count": "^1.0.1",
11
- "big.js": "^6.2.1",
12
12
  "classnames": "^2.3.2",
13
13
  "dayjs": "^1.11.6",
14
14
  "lodash": "^4.17.21",
15
15
  "rc-field-form": "~1.27.3",
16
+ "rc-util": "^5.24.8",
16
17
  "react-is": "^17.0.2",
17
18
  "runes": "^0.4.3",
18
19
  "staged-components": "^1.1.3",