antd-mobile 5.38.1 → 5.40.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 (368) hide show
  1. package/2x/README.md +8 -1
  2. package/2x/bundle/antd-mobile.cjs.development.js +2518 -1737
  3. package/2x/bundle/antd-mobile.cjs.js +7 -7
  4. package/2x/bundle/antd-mobile.es.development.js +1564 -783
  5. package/2x/bundle/antd-mobile.es.js +7316 -6670
  6. package/2x/bundle/antd-mobile.umd.development.js +2517 -1736
  7. package/2x/bundle/antd-mobile.umd.js +7 -7
  8. package/2x/bundle/style.css +23 -6
  9. package/2x/cjs/components/button/button.d.ts +2 -2
  10. package/2x/cjs/components/button/button.js +1 -0
  11. package/2x/cjs/components/calendar-picker/calendar-picker.d.ts +9 -9
  12. package/2x/cjs/components/calendar-picker-view/calendar-picker-view.d.ts +5 -4
  13. package/2x/cjs/components/calendar-picker-view/calendar-picker-view.js +21 -11
  14. package/2x/cjs/components/date-picker/date-picker-date-utils.d.ts +1 -1
  15. package/2x/cjs/components/date-picker/date-picker-date-utils.js +23 -8
  16. package/2x/cjs/components/date-picker/date-picker-quarter-utils.d.ts +3 -1
  17. package/2x/cjs/components/date-picker/date-picker-quarter-utils.js +7 -2
  18. package/2x/cjs/components/date-picker/date-picker-week-utils.d.ts +3 -1
  19. package/2x/cjs/components/date-picker/date-picker-week-utils.js +12 -5
  20. package/2x/cjs/components/date-picker-view/date-picker-view.d.ts +5 -3
  21. package/2x/cjs/components/date-picker-view/date-picker-view.js +3 -3
  22. package/2x/cjs/components/date-picker-view/useRenderLabel.js +2 -2
  23. package/2x/cjs/components/ellipsis/useMeasure.js +7 -3
  24. package/2x/cjs/components/floating-panel/floating-panel.css +16 -2
  25. package/2x/cjs/components/floating-panel/floating-panel.d.ts +3 -1
  26. package/2x/cjs/components/floating-panel/floating-panel.js +43 -30
  27. package/2x/cjs/components/image-uploader/image-uploader.d.ts +3 -3
  28. package/2x/cjs/components/image-uploader/image-uploader.js +11 -11
  29. package/2x/cjs/components/image-viewer/image-viewer.d.ts +13 -4
  30. package/2x/cjs/components/image-viewer/image-viewer.js +8 -6
  31. package/2x/cjs/components/image-viewer/index.d.ts +4 -1
  32. package/2x/cjs/components/image-viewer/slide.d.ts +5 -1
  33. package/2x/cjs/components/image-viewer/slide.js +10 -5
  34. package/2x/cjs/components/image-viewer/slides.d.ts +4 -1
  35. package/2x/cjs/components/image-viewer/slides.js +14 -12
  36. package/2x/cjs/components/number-keyboard/number-keyboard.d.ts +1 -1
  37. package/2x/cjs/components/passcode-input/passcode-input.d.ts +7 -5
  38. package/2x/cjs/components/passcode-input/passcode-input.js +7 -6
  39. package/2x/cjs/components/popover/popover.d.ts +2 -2
  40. package/2x/cjs/components/popover/popover.js +11 -11
  41. package/2x/cjs/components/popover/wrapper.d.ts +6 -9
  42. package/2x/cjs/components/popover/wrapper.js +32 -6
  43. package/2x/cjs/components/space/space.css +4 -4
  44. package/2x/cjs/components/swipe-action/swipe-action.d.ts +3 -1
  45. package/2x/cjs/components/swipe-action/swipe-action.js +25 -23
  46. package/2x/cjs/components/virtual-input/virtual-input.css +3 -0
  47. package/2x/cjs/components/virtual-input/virtual-input.js +34 -5
  48. package/2x/cjs/index.d.ts +1 -0
  49. package/2x/cjs/index.js +7 -0
  50. package/2x/cjs/locales/ar-SA.d.ts +1 -0
  51. package/2x/cjs/locales/ar-SA.js +1 -0
  52. package/2x/cjs/locales/base.d.ts +1 -0
  53. package/2x/cjs/locales/base.js +1 -0
  54. package/2x/cjs/locales/cnr-ME.d.ts +1 -0
  55. package/2x/cjs/locales/cnr-ME.js +1 -0
  56. package/2x/cjs/locales/da-DK.d.ts +1 -0
  57. package/2x/cjs/locales/de-DE.d.ts +1 -0
  58. package/2x/cjs/locales/de-DE.js +1 -0
  59. package/2x/cjs/locales/en-US.d.ts +1 -0
  60. package/2x/cjs/locales/es-ES.d.ts +1 -0
  61. package/2x/cjs/locales/fa-IR.d.ts +1 -0
  62. package/2x/cjs/locales/fr-FR.d.ts +1 -0
  63. package/2x/cjs/locales/hr-HR.d.ts +1 -0
  64. package/2x/cjs/locales/hr-HR.js +1 -0
  65. package/2x/cjs/locales/hu-HU.d.ts +1 -0
  66. package/2x/cjs/locales/id-ID.d.ts +1 -0
  67. package/2x/cjs/locales/in-ID.d.ts +1 -0
  68. package/2x/cjs/locales/in-ID.js +1 -0
  69. package/2x/cjs/locales/it-IT.d.ts +1 -0
  70. package/2x/cjs/locales/ja-JP.d.ts +1 -0
  71. package/2x/cjs/locales/kk-KZ.d.ts +1 -0
  72. package/2x/cjs/locales/ko-KR.d.ts +1 -0
  73. package/2x/cjs/locales/ms-MY.d.ts +1 -0
  74. package/2x/cjs/locales/ms-MY.js +1 -0
  75. package/2x/cjs/locales/nb-NO.d.ts +1 -0
  76. package/2x/cjs/locales/nl-NL.d.ts +1 -0
  77. package/2x/cjs/locales/pt-BR.d.ts +1 -0
  78. package/2x/cjs/locales/ru-RU.d.ts +1 -0
  79. package/2x/cjs/locales/ru-RU.js +8 -2
  80. package/2x/cjs/locales/sr-RS.d.ts +1 -0
  81. package/2x/cjs/locales/sr-RS.js +1 -0
  82. package/2x/cjs/locales/th-TH.d.ts +1 -0
  83. package/2x/cjs/locales/th-TH.js +1 -0
  84. package/2x/cjs/locales/tr-TR.d.ts +1 -0
  85. package/2x/cjs/locales/vi-VN.d.ts +1 -0
  86. package/2x/cjs/locales/vi-VN.js +1 -0
  87. package/2x/cjs/locales/zh-CN.js +1 -0
  88. package/2x/cjs/locales/zh-HK.d.ts +1 -0
  89. package/2x/cjs/locales/zh-TW.d.ts +1 -0
  90. package/2x/cjs/utils/render-to-body.d.ts +1 -1
  91. package/2x/cjs/utils/render-to-body.js +2 -9
  92. package/2x/cjs/utils/render.d.ts +1 -9
  93. package/2x/cjs/utils/render.js +10 -68
  94. package/2x/cjs/utils/unstable-render.d.ts +9 -0
  95. package/2x/cjs/utils/unstable-render.js +37 -0
  96. package/2x/es/components/button/button.d.ts +2 -2
  97. package/2x/es/components/button/button.js +1 -0
  98. package/2x/es/components/calendar-picker/calendar-picker.d.ts +9 -9
  99. package/2x/es/components/calendar-picker-view/calendar-picker-view.d.ts +5 -4
  100. package/2x/es/components/calendar-picker-view/calendar-picker-view.js +21 -11
  101. package/2x/es/components/date-picker/date-picker-date-utils.d.ts +1 -1
  102. package/2x/es/components/date-picker/date-picker-date-utils.js +23 -8
  103. package/2x/es/components/date-picker/date-picker-quarter-utils.d.ts +3 -1
  104. package/2x/es/components/date-picker/date-picker-quarter-utils.js +7 -2
  105. package/2x/es/components/date-picker/date-picker-week-utils.d.ts +3 -1
  106. package/2x/es/components/date-picker/date-picker-week-utils.js +12 -5
  107. package/2x/es/components/date-picker-view/date-picker-view.d.ts +5 -3
  108. package/2x/es/components/date-picker-view/date-picker-view.js +4 -4
  109. package/2x/es/components/date-picker-view/useRenderLabel.js +2 -2
  110. package/2x/es/components/ellipsis/useMeasure.js +7 -3
  111. package/2x/es/components/floating-panel/floating-panel.css +16 -2
  112. package/2x/es/components/floating-panel/floating-panel.d.ts +3 -1
  113. package/2x/es/components/floating-panel/floating-panel.js +31 -19
  114. package/2x/es/components/image-uploader/image-uploader.d.ts +3 -3
  115. package/2x/es/components/image-uploader/image-uploader.js +11 -11
  116. package/2x/es/components/image-viewer/image-viewer.d.ts +13 -4
  117. package/2x/es/components/image-viewer/image-viewer.js +8 -6
  118. package/2x/es/components/image-viewer/index.d.ts +4 -1
  119. package/2x/es/components/image-viewer/slide.d.ts +5 -1
  120. package/2x/es/components/image-viewer/slide.js +11 -6
  121. package/2x/es/components/image-viewer/slides.d.ts +4 -1
  122. package/2x/es/components/image-viewer/slides.js +6 -4
  123. package/2x/es/components/number-keyboard/number-keyboard.d.ts +1 -1
  124. package/2x/es/components/passcode-input/passcode-input.d.ts +7 -5
  125. package/2x/es/components/passcode-input/passcode-input.js +6 -5
  126. package/2x/es/components/popover/popover.d.ts +2 -2
  127. package/2x/es/components/popover/popover.js +10 -10
  128. package/2x/es/components/popover/wrapper.d.ts +6 -9
  129. package/2x/es/components/popover/wrapper.js +30 -5
  130. package/2x/es/components/space/space.css +4 -4
  131. package/2x/es/components/swipe-action/swipe-action.d.ts +3 -1
  132. package/2x/es/components/swipe-action/swipe-action.js +9 -7
  133. package/2x/es/components/virtual-input/virtual-input.css +3 -0
  134. package/2x/es/components/virtual-input/virtual-input.js +34 -5
  135. package/2x/es/index.d.ts +1 -0
  136. package/2x/es/index.js +3 -1
  137. package/2x/es/locales/ar-SA.d.ts +1 -0
  138. package/2x/es/locales/ar-SA.js +1 -0
  139. package/2x/es/locales/base.d.ts +1 -0
  140. package/2x/es/locales/base.js +1 -0
  141. package/2x/es/locales/cnr-ME.d.ts +1 -0
  142. package/2x/es/locales/cnr-ME.js +1 -0
  143. package/2x/es/locales/da-DK.d.ts +1 -0
  144. package/2x/es/locales/de-DE.d.ts +1 -0
  145. package/2x/es/locales/de-DE.js +1 -0
  146. package/2x/es/locales/en-US.d.ts +1 -0
  147. package/2x/es/locales/es-ES.d.ts +1 -0
  148. package/2x/es/locales/fa-IR.d.ts +1 -0
  149. package/2x/es/locales/fr-FR.d.ts +1 -0
  150. package/2x/es/locales/hr-HR.d.ts +1 -0
  151. package/2x/es/locales/hr-HR.js +1 -0
  152. package/2x/es/locales/hu-HU.d.ts +1 -0
  153. package/2x/es/locales/id-ID.d.ts +1 -0
  154. package/2x/es/locales/in-ID.d.ts +1 -0
  155. package/2x/es/locales/in-ID.js +1 -0
  156. package/2x/es/locales/it-IT.d.ts +1 -0
  157. package/2x/es/locales/ja-JP.d.ts +1 -0
  158. package/2x/es/locales/kk-KZ.d.ts +1 -0
  159. package/2x/es/locales/ko-KR.d.ts +1 -0
  160. package/2x/es/locales/ms-MY.d.ts +1 -0
  161. package/2x/es/locales/ms-MY.js +1 -0
  162. package/2x/es/locales/nb-NO.d.ts +1 -0
  163. package/2x/es/locales/nl-NL.d.ts +1 -0
  164. package/2x/es/locales/pt-BR.d.ts +1 -0
  165. package/2x/es/locales/ru-RU.d.ts +1 -0
  166. package/2x/es/locales/ru-RU.js +8 -2
  167. package/2x/es/locales/sr-RS.d.ts +1 -0
  168. package/2x/es/locales/sr-RS.js +1 -0
  169. package/2x/es/locales/th-TH.d.ts +1 -0
  170. package/2x/es/locales/th-TH.js +1 -0
  171. package/2x/es/locales/tr-TR.d.ts +1 -0
  172. package/2x/es/locales/vi-VN.d.ts +1 -0
  173. package/2x/es/locales/vi-VN.js +1 -0
  174. package/2x/es/locales/zh-CN.js +1 -0
  175. package/2x/es/locales/zh-HK.d.ts +1 -0
  176. package/2x/es/locales/zh-TW.d.ts +1 -0
  177. package/2x/es/utils/render-to-body.d.ts +1 -1
  178. package/2x/es/utils/render-to-body.js +2 -9
  179. package/2x/es/utils/render.d.ts +1 -9
  180. package/2x/es/utils/render.js +1 -65
  181. package/2x/es/utils/unstable-render.d.ts +9 -0
  182. package/2x/es/utils/unstable-render.js +28 -0
  183. package/2x/package.json +2 -2
  184. package/README.md +8 -1
  185. package/bundle/antd-mobile.cjs.development.js +2518 -1737
  186. package/bundle/antd-mobile.cjs.js +7 -7
  187. package/bundle/antd-mobile.compatible.umd.js +1 -1
  188. package/bundle/antd-mobile.es.development.js +1564 -783
  189. package/bundle/antd-mobile.es.js +7316 -6670
  190. package/bundle/antd-mobile.umd.development.js +2517 -1736
  191. package/bundle/antd-mobile.umd.js +7 -7
  192. package/bundle/style.css +1 -1
  193. package/cjs/components/button/button.d.ts +2 -2
  194. package/cjs/components/button/button.js +1 -0
  195. package/cjs/components/calendar-picker/calendar-picker.d.ts +9 -9
  196. package/cjs/components/calendar-picker-view/calendar-picker-view.d.ts +5 -4
  197. package/cjs/components/calendar-picker-view/calendar-picker-view.js +21 -11
  198. package/cjs/components/date-picker/date-picker-date-utils.d.ts +1 -1
  199. package/cjs/components/date-picker/date-picker-date-utils.js +23 -8
  200. package/cjs/components/date-picker/date-picker-quarter-utils.d.ts +3 -1
  201. package/cjs/components/date-picker/date-picker-quarter-utils.js +7 -2
  202. package/cjs/components/date-picker/date-picker-week-utils.d.ts +3 -1
  203. package/cjs/components/date-picker/date-picker-week-utils.js +12 -5
  204. package/cjs/components/date-picker-view/date-picker-view.d.ts +5 -3
  205. package/cjs/components/date-picker-view/date-picker-view.js +3 -3
  206. package/cjs/components/date-picker-view/useRenderLabel.js +2 -2
  207. package/cjs/components/ellipsis/useMeasure.js +7 -3
  208. package/cjs/components/floating-panel/floating-panel.css +12 -2
  209. package/cjs/components/floating-panel/floating-panel.d.ts +3 -1
  210. package/cjs/components/floating-panel/floating-panel.js +43 -30
  211. package/cjs/components/image-uploader/image-uploader.d.ts +3 -3
  212. package/cjs/components/image-uploader/image-uploader.js +11 -11
  213. package/cjs/components/image-viewer/image-viewer.d.ts +13 -4
  214. package/cjs/components/image-viewer/image-viewer.js +8 -6
  215. package/cjs/components/image-viewer/index.d.ts +4 -1
  216. package/cjs/components/image-viewer/slide.d.ts +5 -1
  217. package/cjs/components/image-viewer/slide.js +10 -5
  218. package/cjs/components/image-viewer/slides.d.ts +4 -1
  219. package/cjs/components/image-viewer/slides.js +14 -12
  220. package/cjs/components/number-keyboard/number-keyboard.d.ts +1 -1
  221. package/cjs/components/passcode-input/passcode-input.d.ts +7 -5
  222. package/cjs/components/passcode-input/passcode-input.js +7 -6
  223. package/cjs/components/popover/popover.d.ts +2 -2
  224. package/cjs/components/popover/popover.js +11 -11
  225. package/cjs/components/popover/wrapper.d.ts +6 -9
  226. package/cjs/components/popover/wrapper.js +32 -6
  227. package/cjs/components/space/space.css +3 -3
  228. package/cjs/components/swipe-action/swipe-action.d.ts +3 -1
  229. package/cjs/components/swipe-action/swipe-action.js +25 -23
  230. package/cjs/components/virtual-input/virtual-input.css +3 -0
  231. package/cjs/components/virtual-input/virtual-input.js +34 -5
  232. package/cjs/index.d.ts +1 -0
  233. package/cjs/index.js +7 -0
  234. package/cjs/locales/ar-SA.d.ts +1 -0
  235. package/cjs/locales/ar-SA.js +1 -0
  236. package/cjs/locales/base.d.ts +1 -0
  237. package/cjs/locales/base.js +1 -0
  238. package/cjs/locales/cnr-ME.d.ts +1 -0
  239. package/cjs/locales/cnr-ME.js +1 -0
  240. package/cjs/locales/da-DK.d.ts +1 -0
  241. package/cjs/locales/de-DE.d.ts +1 -0
  242. package/cjs/locales/de-DE.js +1 -0
  243. package/cjs/locales/en-US.d.ts +1 -0
  244. package/cjs/locales/es-ES.d.ts +1 -0
  245. package/cjs/locales/fa-IR.d.ts +1 -0
  246. package/cjs/locales/fr-FR.d.ts +1 -0
  247. package/cjs/locales/hr-HR.d.ts +1 -0
  248. package/cjs/locales/hr-HR.js +1 -0
  249. package/cjs/locales/hu-HU.d.ts +1 -0
  250. package/cjs/locales/id-ID.d.ts +1 -0
  251. package/cjs/locales/in-ID.d.ts +1 -0
  252. package/cjs/locales/in-ID.js +1 -0
  253. package/cjs/locales/it-IT.d.ts +1 -0
  254. package/cjs/locales/ja-JP.d.ts +1 -0
  255. package/cjs/locales/kk-KZ.d.ts +1 -0
  256. package/cjs/locales/ko-KR.d.ts +1 -0
  257. package/cjs/locales/ms-MY.d.ts +1 -0
  258. package/cjs/locales/ms-MY.js +1 -0
  259. package/cjs/locales/nb-NO.d.ts +1 -0
  260. package/cjs/locales/nl-NL.d.ts +1 -0
  261. package/cjs/locales/pt-BR.d.ts +1 -0
  262. package/cjs/locales/ru-RU.d.ts +1 -0
  263. package/cjs/locales/ru-RU.js +8 -2
  264. package/cjs/locales/sr-RS.d.ts +1 -0
  265. package/cjs/locales/sr-RS.js +1 -0
  266. package/cjs/locales/th-TH.d.ts +1 -0
  267. package/cjs/locales/th-TH.js +1 -0
  268. package/cjs/locales/tr-TR.d.ts +1 -0
  269. package/cjs/locales/vi-VN.d.ts +1 -0
  270. package/cjs/locales/vi-VN.js +1 -0
  271. package/cjs/locales/zh-CN.js +1 -0
  272. package/cjs/locales/zh-HK.d.ts +1 -0
  273. package/cjs/locales/zh-TW.d.ts +1 -0
  274. package/cjs/utils/render-to-body.d.ts +1 -1
  275. package/cjs/utils/render-to-body.js +2 -9
  276. package/cjs/utils/render.d.ts +1 -9
  277. package/cjs/utils/render.js +10 -68
  278. package/cjs/utils/unstable-render.d.ts +9 -0
  279. package/cjs/utils/unstable-render.js +37 -0
  280. package/es/components/button/button.d.ts +2 -2
  281. package/es/components/button/button.js +1 -0
  282. package/es/components/calendar-picker/calendar-picker.d.ts +9 -9
  283. package/es/components/calendar-picker-view/calendar-picker-view.d.ts +5 -4
  284. package/es/components/calendar-picker-view/calendar-picker-view.js +21 -11
  285. package/es/components/date-picker/date-picker-date-utils.d.ts +1 -1
  286. package/es/components/date-picker/date-picker-date-utils.js +23 -8
  287. package/es/components/date-picker/date-picker-quarter-utils.d.ts +3 -1
  288. package/es/components/date-picker/date-picker-quarter-utils.js +7 -2
  289. package/es/components/date-picker/date-picker-week-utils.d.ts +3 -1
  290. package/es/components/date-picker/date-picker-week-utils.js +12 -5
  291. package/es/components/date-picker-view/date-picker-view.d.ts +5 -3
  292. package/es/components/date-picker-view/date-picker-view.js +4 -4
  293. package/es/components/date-picker-view/useRenderLabel.js +2 -2
  294. package/es/components/ellipsis/useMeasure.js +7 -3
  295. package/es/components/floating-panel/floating-panel.css +12 -2
  296. package/es/components/floating-panel/floating-panel.d.ts +3 -1
  297. package/es/components/floating-panel/floating-panel.js +31 -19
  298. package/es/components/image-uploader/image-uploader.d.ts +3 -3
  299. package/es/components/image-uploader/image-uploader.js +11 -11
  300. package/es/components/image-viewer/image-viewer.d.ts +13 -4
  301. package/es/components/image-viewer/image-viewer.js +8 -6
  302. package/es/components/image-viewer/index.d.ts +4 -1
  303. package/es/components/image-viewer/slide.d.ts +5 -1
  304. package/es/components/image-viewer/slide.js +11 -6
  305. package/es/components/image-viewer/slides.d.ts +4 -1
  306. package/es/components/image-viewer/slides.js +6 -4
  307. package/es/components/number-keyboard/number-keyboard.d.ts +1 -1
  308. package/es/components/passcode-input/passcode-input.d.ts +7 -5
  309. package/es/components/passcode-input/passcode-input.js +6 -5
  310. package/es/components/popover/popover.d.ts +2 -2
  311. package/es/components/popover/popover.js +10 -10
  312. package/es/components/popover/wrapper.d.ts +6 -9
  313. package/es/components/popover/wrapper.js +30 -5
  314. package/es/components/space/space.css +3 -3
  315. package/es/components/swipe-action/swipe-action.d.ts +3 -1
  316. package/es/components/swipe-action/swipe-action.js +9 -7
  317. package/es/components/virtual-input/virtual-input.css +3 -0
  318. package/es/components/virtual-input/virtual-input.js +34 -5
  319. package/es/index.d.ts +1 -0
  320. package/es/index.js +3 -1
  321. package/es/locales/ar-SA.d.ts +1 -0
  322. package/es/locales/ar-SA.js +1 -0
  323. package/es/locales/base.d.ts +1 -0
  324. package/es/locales/base.js +1 -0
  325. package/es/locales/cnr-ME.d.ts +1 -0
  326. package/es/locales/cnr-ME.js +1 -0
  327. package/es/locales/da-DK.d.ts +1 -0
  328. package/es/locales/de-DE.d.ts +1 -0
  329. package/es/locales/de-DE.js +1 -0
  330. package/es/locales/en-US.d.ts +1 -0
  331. package/es/locales/es-ES.d.ts +1 -0
  332. package/es/locales/fa-IR.d.ts +1 -0
  333. package/es/locales/fr-FR.d.ts +1 -0
  334. package/es/locales/hr-HR.d.ts +1 -0
  335. package/es/locales/hr-HR.js +1 -0
  336. package/es/locales/hu-HU.d.ts +1 -0
  337. package/es/locales/id-ID.d.ts +1 -0
  338. package/es/locales/in-ID.d.ts +1 -0
  339. package/es/locales/in-ID.js +1 -0
  340. package/es/locales/it-IT.d.ts +1 -0
  341. package/es/locales/ja-JP.d.ts +1 -0
  342. package/es/locales/kk-KZ.d.ts +1 -0
  343. package/es/locales/ko-KR.d.ts +1 -0
  344. package/es/locales/ms-MY.d.ts +1 -0
  345. package/es/locales/ms-MY.js +1 -0
  346. package/es/locales/nb-NO.d.ts +1 -0
  347. package/es/locales/nl-NL.d.ts +1 -0
  348. package/es/locales/pt-BR.d.ts +1 -0
  349. package/es/locales/ru-RU.d.ts +1 -0
  350. package/es/locales/ru-RU.js +8 -2
  351. package/es/locales/sr-RS.d.ts +1 -0
  352. package/es/locales/sr-RS.js +1 -0
  353. package/es/locales/th-TH.d.ts +1 -0
  354. package/es/locales/th-TH.js +1 -0
  355. package/es/locales/tr-TR.d.ts +1 -0
  356. package/es/locales/vi-VN.d.ts +1 -0
  357. package/es/locales/vi-VN.js +1 -0
  358. package/es/locales/zh-CN.js +1 -0
  359. package/es/locales/zh-HK.d.ts +1 -0
  360. package/es/locales/zh-TW.d.ts +1 -0
  361. package/es/utils/render-to-body.d.ts +1 -1
  362. package/es/utils/render-to-body.js +2 -9
  363. package/es/utils/render.d.ts +1 -9
  364. package/es/utils/render.js +1 -65
  365. package/es/utils/unstable-render.d.ts +9 -0
  366. package/es/utils/unstable-render.js +28 -0
  367. package/package.json +2 -2
  368. package/umd/antd-mobile.js +1 -1
@@ -2490,7 +2490,6 @@ a.adm-list-item:active:not(.adm-list-item-disabled):after {
2490
2490
  --z-index: var(--adm-floating-panel-z-index, 900);
2491
2491
  position: fixed;
2492
2492
  z-index: var(--z-index);
2493
- bottom: 0;
2494
2493
  left: 0;
2495
2494
  width: 100vw;
2496
2495
  display: flex;
@@ -2512,7 +2511,6 @@ a.adm-list-item:active:not(.adm-list-item-disabled):after {
2512
2511
  content: "";
2513
2512
  display: block;
2514
2513
  position: absolute;
2515
- bottom: -100vh;
2516
2514
  height: 100vh;
2517
2515
  width: 100vw;
2518
2516
  background: var(--adm-color-background);
@@ -2546,6 +2544,22 @@ a.adm-list-item:active:not(.adm-list-item-disabled):after {
2546
2544
  background: var(--adm-color-background);
2547
2545
  }
2548
2546
 
2547
+ .adm-floating-panel-top {
2548
+ top: 0;
2549
+ }
2550
+
2551
+ .adm-floating-panel-top:after {
2552
+ top: -100vh;
2553
+ }
2554
+
2555
+ .adm-floating-panel-bottom {
2556
+ bottom: 0;
2557
+ }
2558
+
2559
+ .adm-floating-panel-bottom:after {
2560
+ bottom: -100vh;
2561
+ }
2562
+
2549
2563
  .adm-form {
2550
2564
  --border-inner: solid 2px var(--adm-border-color);
2551
2565
  --border-top: solid 2px var(--adm-border-color);
@@ -2941,12 +2955,12 @@ a.adm-list-item:active:not(.adm-list-item-disabled):after {
2941
2955
  flex-direction: row;
2942
2956
  }
2943
2957
 
2944
- .adm-space-horizontal>.adm-space-item {
2945
- margin-right: var(--gap-horizontal);
2958
+ .adm-space-horizontal:not(:empty) {
2959
+ margin-right: calc(var(--gap-horizontal) * -1);
2946
2960
  }
2947
2961
 
2948
- .adm-space-horizontal>.adm-space-item:last-child {
2949
- margin-right: 0;
2962
+ .adm-space-horizontal>.adm-space-item {
2963
+ margin-right: var(--gap-horizontal);
2950
2964
  }
2951
2965
 
2952
2966
  .adm-space-horizontal.adm-space-wrap {
@@ -5692,8 +5706,10 @@ a.adm-list-item:active:not(.adm-list-item-disabled):after {
5692
5706
  z-index: 1;
5693
5707
  width: 100%;
5694
5708
  max-width: 100%;
5709
+ min-height: 1.5em;
5695
5710
  overflow-y: hidden;
5696
5711
  overflow-x: scroll;
5712
+ letter-spacing: 2px;
5697
5713
  scrollbar-width: none;
5698
5714
  }
5699
5715
 
@@ -5719,6 +5735,7 @@ a.adm-list-item:active:not(.adm-list-item-disabled):after {
5719
5735
  height: 1.3em;
5720
5736
  vertical-align: top;
5721
5737
  margin-right: 2px;
5738
+ position: absolute;
5722
5739
  }
5723
5740
 
5724
5741
  .adm-virtual-input-caret {
@@ -15,7 +15,7 @@ export declare type ButtonProps = {
15
15
  type?: 'submit' | 'reset' | 'button';
16
16
  shape?: 'default' | 'rounded' | 'rectangular';
17
17
  children?: ReactNode;
18
- } & Pick<NativeButtonProps, 'onMouseDown' | 'onMouseUp' | 'onTouchStart' | 'onTouchEnd' | 'id'> & NativeProps<'--text-color' | '--background-color' | '--border-radius' | '--border-width' | '--border-style' | '--border-color'>;
18
+ } & Pick<NativeButtonProps, 'onMouseDown' | 'onMouseUp' | 'onTouchStart' | 'onTouchEnd' | 'id' | 'form'> & NativeProps<'--text-color' | '--background-color' | '--border-radius' | '--border-width' | '--border-style' | '--border-color'>;
19
19
  export declare type ButtonRef = {
20
20
  nativeElement: HTMLButtonElement | null;
21
21
  };
@@ -32,7 +32,7 @@ export declare const Button: React.ForwardRefExoticComponent<{
32
32
  type?: "reset" | "submit" | "button" | undefined;
33
33
  shape?: "default" | "rounded" | "rectangular" | undefined;
34
34
  children?: ReactNode;
35
- } & Pick<NativeButtonProps, "id" | "onTouchStart" | "onMouseDown" | "onMouseUp" | "onTouchEnd"> & {
35
+ } & Pick<NativeButtonProps, "form" | "id" | "onTouchStart" | "onMouseDown" | "onMouseUp" | "onTouchEnd"> & {
36
36
  className?: string | undefined;
37
37
  style?: (React.CSSProperties & Partial<Record<"--border-radius" | "--text-color" | "--background-color" | "--border-width" | "--border-style" | "--border-color", string>>) | undefined;
38
38
  tabIndex?: number | undefined;
@@ -55,6 +55,7 @@ const Button = (0, _react.forwardRef)((p, ref) => {
55
55
  return (0, _nativeProps.withNativeProps)(props, _react.default.createElement("button", {
56
56
  ref: nativeButtonRef,
57
57
  type: props.type,
58
+ form: props.form,
58
59
  onClick: handleClick,
59
60
  className: (0, _classnames.default)(classPrefix, {
60
61
  [`${classPrefix}-${props.color}`]: props.color,
@@ -27,9 +27,9 @@ export declare const CalendarPicker: React.ForwardRefExoticComponent<(({
27
27
  title?: React.ReactNode;
28
28
  confirmText?: string | undefined;
29
29
  weekStartsOn?: "Monday" | "Sunday" | undefined;
30
- renderTop?: ((date: Date) => React.ReactNode) | undefined;
31
- renderDate?: ((date: Date) => React.ReactNode) | undefined;
32
- renderBottom?: ((date: Date) => React.ReactNode) | undefined;
30
+ renderTop?: false | import("../calendar-picker-view/calendar-picker-view").CalendarPickerViewColumRender | undefined;
31
+ renderDate?: import("../calendar-picker-view/calendar-picker-view").CalendarPickerViewColumRender | undefined;
32
+ renderBottom?: false | import("../calendar-picker-view/calendar-picker-view").CalendarPickerViewColumRender | undefined;
33
33
  allowClear?: boolean | undefined;
34
34
  max?: Date | undefined;
35
35
  min?: Date | undefined;
@@ -61,9 +61,9 @@ export declare const CalendarPicker: React.ForwardRefExoticComponent<(({
61
61
  title?: React.ReactNode;
62
62
  confirmText?: string | undefined;
63
63
  weekStartsOn?: "Monday" | "Sunday" | undefined;
64
- renderTop?: ((date: Date) => React.ReactNode) | undefined;
65
- renderDate?: ((date: Date) => React.ReactNode) | undefined;
66
- renderBottom?: ((date: Date) => React.ReactNode) | undefined;
64
+ renderTop?: false | import("../calendar-picker-view/calendar-picker-view").CalendarPickerViewColumRender | undefined;
65
+ renderDate?: import("../calendar-picker-view/calendar-picker-view").CalendarPickerViewColumRender | undefined;
66
+ renderBottom?: false | import("../calendar-picker-view/calendar-picker-view").CalendarPickerViewColumRender | undefined;
67
67
  allowClear?: boolean | undefined;
68
68
  max?: Date | undefined;
69
69
  min?: Date | undefined;
@@ -95,9 +95,9 @@ export declare const CalendarPicker: React.ForwardRefExoticComponent<(({
95
95
  title?: React.ReactNode;
96
96
  confirmText?: string | undefined;
97
97
  weekStartsOn?: "Monday" | "Sunday" | undefined;
98
- renderTop?: ((date: Date) => React.ReactNode) | undefined;
99
- renderDate?: ((date: Date) => React.ReactNode) | undefined;
100
- renderBottom?: ((date: Date) => React.ReactNode) | undefined;
98
+ renderTop?: false | import("../calendar-picker-view/calendar-picker-view").CalendarPickerViewColumRender | undefined;
99
+ renderDate?: import("../calendar-picker-view/calendar-picker-view").CalendarPickerViewColumRender | undefined;
100
+ renderBottom?: false | import("../calendar-picker-view/calendar-picker-view").CalendarPickerViewColumRender | undefined;
101
101
  allowClear?: boolean | undefined;
102
102
  max?: Date | undefined;
103
103
  min?: Date | undefined;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import { NativeProps } from '../../utils/native-props';
3
3
  import { DateRange, Page } from './convert';
4
4
  export declare const Context: React.Context<{
@@ -9,13 +9,14 @@ export declare type CalendarPickerViewRef = {
9
9
  jumpToToday: () => void;
10
10
  getDateRange: () => DateRange;
11
11
  };
12
+ export declare type CalendarPickerViewColumRender = (date: Date) => ReactNode;
12
13
  export declare type CalendarPickerViewProps = {
13
14
  title?: React.ReactNode | false;
14
15
  confirmText?: string;
15
16
  weekStartsOn?: 'Monday' | 'Sunday';
16
- renderTop?: (date: Date) => React.ReactNode;
17
- renderDate?: (date: Date) => React.ReactNode;
18
- renderBottom?: (date: Date) => React.ReactNode;
17
+ renderTop?: CalendarPickerViewColumRender | false;
18
+ renderDate?: CalendarPickerViewColumRender;
19
+ renderBottom?: CalendarPickerViewColumRender | false;
19
20
  allowClear?: boolean;
20
21
  max?: Date;
21
22
  min?: Date;
@@ -145,7 +145,6 @@ const CalendarPickerView = (0, _react.forwardRef)((p, ref) => {
145
145
  })), _react.default.createElement("div", {
146
146
  className: `${classPrefix}-cells`
147
147
  }, presetEmptyCells, Array(monthIterator.daysInMonth()).fill(null).map((_, index) => {
148
- var _a;
149
148
  const d = monthIterator.date(index + 1);
150
149
  let isSelect = false;
151
150
  let isBegin = false;
@@ -165,21 +164,36 @@ const CalendarPickerView = (0, _react.forwardRef)((p, ref) => {
165
164
  const disabled = props.shouldDisableDate ? props.shouldDisableDate(d.toDate()) : maxDay && d.isAfter(maxDay, 'day') || minDay && d.isBefore(minDay, 'day');
166
165
  const renderTop = () => {
167
166
  var _a;
167
+ if (props.renderTop === false) return null;
168
+ const contentWrapper = content => _react.default.createElement("div", {
169
+ className: `${classPrefix}-cell-top`
170
+ }, content);
168
171
  const top = (_a = props.renderTop) === null || _a === void 0 ? void 0 : _a.call(props, d.toDate());
169
172
  if (top) {
170
- return top;
173
+ return contentWrapper(top);
171
174
  }
172
175
  if (props.selectionMode === 'range') {
176
+ if (isBegin && isEnd) {
177
+ return contentWrapper(locale.Calendar.startAndEnd);
178
+ }
173
179
  if (isBegin) {
174
- return locale.Calendar.start;
180
+ return contentWrapper(locale.Calendar.start);
175
181
  }
176
182
  if (isEnd) {
177
- return locale.Calendar.end;
183
+ return contentWrapper(locale.Calendar.end);
178
184
  }
179
185
  }
180
186
  if (d.isSame(today, 'day') && !isSelect) {
181
- return locale.Calendar.today;
187
+ return contentWrapper(locale.Calendar.today);
182
188
  }
189
+ return contentWrapper(null);
190
+ };
191
+ const renderBottom = () => {
192
+ var _a;
193
+ if (props.renderBottom === false) return null;
194
+ return _react.default.createElement("div", {
195
+ className: `${classPrefix}-cell-bottom`
196
+ }, (_a = props.renderBottom) === null || _a === void 0 ? void 0 : _a.call(props, d.toDate()));
183
197
  };
184
198
  return _react.default.createElement("div", {
185
199
  key: d.valueOf(),
@@ -229,13 +243,9 @@ const CalendarPickerView = (0, _react.forwardRef)((p, ref) => {
229
243
  }
230
244
  }
231
245
  }
232
- }, _react.default.createElement("div", {
233
- className: `${classPrefix}-cell-top`
234
- }, renderTop()), _react.default.createElement("div", {
246
+ }, renderTop(), _react.default.createElement("div", {
235
247
  className: `${classPrefix}-cell-date`
236
- }, props.renderDate ? props.renderDate(d.toDate()) : d.date()), _react.default.createElement("div", {
237
- className: `${classPrefix}-cell-bottom`
238
- }, (_a = props.renderBottom) === null || _a === void 0 ? void 0 : _a.call(props, d.toDate())));
248
+ }, props.renderDate ? props.renderDate(d.toDate()) : d.date()), renderBottom());
239
249
  }))));
240
250
  monthIterator = monthIterator.add(1, 'month');
241
251
  }
@@ -1,6 +1,6 @@
1
+ import { RenderLabel } from '../date-picker-view/date-picker-view';
1
2
  import { PickerColumn } from '../picker';
2
3
  import type { DatePickerFilter } from './date-picker-utils';
3
- import { RenderLabel } from '../date-picker-view/date-picker-view';
4
4
  export declare type DatePrecision = 'year' | 'month' | 'day' | 'hour' | 'minute' | 'second';
5
5
  export declare function generateDatePickerColumns(selected: string[], min: Date, max: Date, precision: DatePrecision, renderLabel: RenderLabel, filter: DatePickerFilter | undefined, tillNow?: boolean): PickerColumn[];
6
6
  export declare function convertDateToStringArray(date: Date | undefined | null): string[];
@@ -7,9 +7,9 @@ exports.convertDateToStringArray = convertDateToStringArray;
7
7
  exports.convertStringArrayToDate = convertStringArrayToDate;
8
8
  exports.generateDatePickerColumns = generateDatePickerColumns;
9
9
  var _dayjs = _interopRequireDefault(require("dayjs"));
10
+ var _isLeapYear = _interopRequireDefault(require("dayjs/plugin/isLeapYear"));
10
11
  var _isoWeek = _interopRequireDefault(require("dayjs/plugin/isoWeek"));
11
12
  var _isoWeeksInYear = _interopRequireDefault(require("dayjs/plugin/isoWeeksInYear"));
12
- var _isLeapYear = _interopRequireDefault(require("dayjs/plugin/isLeapYear"));
13
13
  var _util = require("./util");
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
  _dayjs.default.extend(_isoWeek.default);
@@ -44,6 +44,7 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
44
44
  const selectedDay = parseInt(selected[2]);
45
45
  const selectedHour = parseInt(selected[3]);
46
46
  const selectedMinute = parseInt(selected[4]);
47
+ const selectedSecond = parseInt(selected[5]);
47
48
  const isInMinYear = selectedYear === minYear;
48
49
  const isInMaxYear = selectedYear === maxYear;
49
50
  const isInMinMonth = isInMinYear && selectedMonth === minMonth;
@@ -76,7 +77,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
76
77
  const upper = maxYear;
77
78
  const years = generateColumn(lower, upper, 'year');
78
79
  ret.push(years.map(v => ({
79
- label: renderLabel('year', v),
80
+ label: renderLabel('year', v, {
81
+ selected: selectedYear === v
82
+ }),
80
83
  value: v.toString()
81
84
  })));
82
85
  }
@@ -85,7 +88,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
85
88
  const upper = isInMaxYear ? maxMonth : 12;
86
89
  const months = generateColumn(lower, upper, 'month');
87
90
  ret.push(months.map(v => ({
88
- label: renderLabel('month', v),
91
+ label: renderLabel('month', v, {
92
+ selected: selectedMonth === v
93
+ }),
89
94
  value: v.toString()
90
95
  })));
91
96
  }
@@ -94,7 +99,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
94
99
  const upper = isInMaxMonth ? maxDay : firstDayInSelectedMonth.daysInMonth();
95
100
  const days = generateColumn(lower, upper, 'day');
96
101
  ret.push(days.map(v => ({
97
- label: renderLabel('day', v),
102
+ label: renderLabel('day', v, {
103
+ selected: selectedDay === v
104
+ }),
98
105
  value: v.toString()
99
106
  })));
100
107
  }
@@ -103,7 +110,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
103
110
  const upper = isInMaxDay ? maxHour : 23;
104
111
  const hours = generateColumn(lower, upper, 'hour');
105
112
  ret.push(hours.map(v => ({
106
- label: renderLabel('hour', v),
113
+ label: renderLabel('hour', v, {
114
+ selected: selectedHour === v
115
+ }),
107
116
  value: v.toString()
108
117
  })));
109
118
  }
@@ -112,7 +121,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
112
121
  const upper = isInMaxHour ? maxMinute : 59;
113
122
  const minutes = generateColumn(lower, upper, 'minute');
114
123
  ret.push(minutes.map(v => ({
115
- label: renderLabel('minute', v),
124
+ label: renderLabel('minute', v, {
125
+ selected: selectedMinute === v
126
+ }),
116
127
  value: v.toString()
117
128
  })));
118
129
  }
@@ -121,14 +132,18 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
121
132
  const upper = isInMaxMinute ? maxSecond : 59;
122
133
  const seconds = generateColumn(lower, upper, 'second');
123
134
  ret.push(seconds.map(v => ({
124
- label: renderLabel('second', v),
135
+ label: renderLabel('second', v, {
136
+ selected: selectedSecond === v
137
+ }),
125
138
  value: v.toString()
126
139
  })));
127
140
  }
128
141
  // Till Now
129
142
  if (tillNow) {
130
143
  ret[0].push({
131
- label: renderLabel('now', null),
144
+ label: renderLabel('now', null, {
145
+ selected: selected[0] === _util.TILL_NOW
146
+ }),
132
147
  value: _util.TILL_NOW
133
148
  });
134
149
  if (_util.TILL_NOW === (selected === null || selected === void 0 ? void 0 : selected[0])) {
@@ -2,6 +2,8 @@ import type { ReactNode } from 'react';
2
2
  import { PickerColumn } from '../picker';
3
3
  import type { DatePickerFilter } from './date-picker-utils';
4
4
  export declare type QuarterPrecision = 'year' | 'quarter';
5
- export declare function generateDatePickerColumns(selected: string[], min: Date, max: Date, precision: QuarterPrecision, renderLabel: (type: QuarterPrecision, data: number) => ReactNode, filter: DatePickerFilter | undefined): PickerColumn[];
5
+ export declare function generateDatePickerColumns(selected: string[], min: Date, max: Date, precision: QuarterPrecision, renderLabel: (type: QuarterPrecision, data: number, info: {
6
+ selected: boolean;
7
+ }) => ReactNode, filter: DatePickerFilter | undefined): PickerColumn[];
6
8
  export declare function convertDateToStringArray(date: Date | undefined | null): string[];
7
9
  export declare function convertStringArrayToDate<T extends string | number | null | undefined>(value: T[]): Date;
@@ -26,6 +26,7 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
26
26
  const maxDay = (0, _dayjs.default)(max);
27
27
  const minQuarter = minDay.quarter();
28
28
  const maxQuarter = maxDay.quarter();
29
+ const selectedQuarter = parseInt(selected[1]);
29
30
  const generateColumn = (from, to, precision) => {
30
31
  let column = [];
31
32
  for (let i = from; i <= to; i++) {
@@ -48,7 +49,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
48
49
  const upper = maxYear;
49
50
  const years = generateColumn(lower, upper, 'year');
50
51
  ret.push(years.map(v => ({
51
- label: renderLabel('year', v),
52
+ label: renderLabel('year', v, {
53
+ selected: selectedYear === v
54
+ }),
52
55
  value: v.toString()
53
56
  })));
54
57
  }
@@ -57,7 +60,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
57
60
  const upper = isInMaxYear ? maxQuarter : 4;
58
61
  const quarters = generateColumn(lower, upper, 'quarter');
59
62
  ret.push(quarters.map(v => ({
60
- label: renderLabel('quarter', v),
63
+ label: renderLabel('quarter', v, {
64
+ selected: selectedQuarter === v
65
+ }),
61
66
  value: v.toString()
62
67
  })));
63
68
  }
@@ -2,6 +2,8 @@ import type { 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 generateDatePickerColumns(selected: string[], min: Date, max: Date, precision: WeekPrecision, renderLabel: (type: WeekPrecision, data: number) => ReactNode, filter: DatePickerFilter | undefined): PickerColumn[];
5
+ export declare function generateDatePickerColumns(selected: string[], min: Date, max: Date, precision: WeekPrecision, renderLabel: (type: WeekPrecision, data: number, info: {
6
+ selected: boolean;
7
+ }) => ReactNode, filter: DatePickerFilter | undefined): PickerColumn[];
6
8
  export declare function convertDateToStringArray(date: Date | undefined | null): string[];
7
9
  export declare function convertStringArrayToDate<T extends string | number | null | undefined>(value: T[]): Date;
@@ -7,9 +7,9 @@ exports.convertDateToStringArray = convertDateToStringArray;
7
7
  exports.convertStringArrayToDate = convertStringArrayToDate;
8
8
  exports.generateDatePickerColumns = generateDatePickerColumns;
9
9
  var _dayjs = _interopRequireDefault(require("dayjs"));
10
+ var _isLeapYear = _interopRequireDefault(require("dayjs/plugin/isLeapYear"));
10
11
  var _isoWeek = _interopRequireDefault(require("dayjs/plugin/isoWeek"));
11
12
  var _isoWeeksInYear = _interopRequireDefault(require("dayjs/plugin/isoWeeksInYear"));
12
- var _isLeapYear = _interopRequireDefault(require("dayjs/plugin/isLeapYear"));
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
14
  _dayjs.default.extend(_isoWeek.default);
15
15
  _dayjs.default.extend(_isoWeeksInYear.default);
@@ -34,6 +34,7 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
34
34
  const minWeekday = minDay.isoWeekday();
35
35
  const maxWeekday = maxDay.isoWeekday();
36
36
  const selectedWeek = parseInt(selected[1]);
37
+ const selectedWeekday = parseInt(selected[2]);
37
38
  const isInMinWeek = isInMinYear && selectedWeek === minWeek;
38
39
  const isInMaxWeek = isInMaxYear && selectedWeek === maxWeek;
39
40
  const selectedYearWeeks = (0, _dayjs.default)(`${selectedYear}-01-01`).isoWeeksInYear();
@@ -59,7 +60,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
59
60
  const upper = maxYear;
60
61
  const years = generateColumn(lower, upper, 'year');
61
62
  ret.push(years.map(v => ({
62
- label: renderLabel('year', v),
63
+ label: renderLabel('year', v, {
64
+ selected: selectedYear === v
65
+ }),
63
66
  value: v.toString()
64
67
  })));
65
68
  }
@@ -68,7 +71,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
68
71
  const upper = isInMaxYear ? maxWeek : selectedYearWeeks;
69
72
  const weeks = generateColumn(lower, upper, 'week');
70
73
  ret.push(weeks.map(v => ({
71
- label: renderLabel('week', v),
74
+ label: renderLabel('week', v, {
75
+ selected: selectedWeek === v
76
+ }),
72
77
  value: v.toString()
73
78
  })));
74
79
  }
@@ -77,7 +82,9 @@ function generateDatePickerColumns(selected, min, max, precision, renderLabel, f
77
82
  const upper = isInMaxWeek ? maxWeekday : 7;
78
83
  const weeks = generateColumn(lower, upper, 'week-day');
79
84
  ret.push(weeks.map(v => ({
80
- label: renderLabel('week-day', v),
85
+ label: renderLabel('week-day', v, {
86
+ selected: selectedWeekday === v
87
+ }),
81
88
  value: v.toString()
82
89
  })));
83
90
  }
@@ -93,6 +100,6 @@ function convertStringArrayToDate(value) {
93
100
  const yearString = (_a = value[0]) !== null && _a !== void 0 ? _a : '1900';
94
101
  const weekString = (_b = value[1]) !== null && _b !== void 0 ? _b : '1';
95
102
  const weekdayString = (_c = value[2]) !== null && _c !== void 0 ? _c : '1';
96
- const day = (0, _dayjs.default)().year(parseInt(yearString)).isoWeek(parseInt(weekString)).isoWeekday(parseInt(weekdayString)).hour(0).minute(0).second(0);
103
+ const day = (0, _dayjs.default)(`${parseInt(yearString)}-01-01`).isoWeek(parseInt(weekString)).isoWeekday(parseInt(weekdayString)).hour(0).minute(0).second(0);
97
104
  return day.toDate();
98
105
  }
@@ -1,9 +1,11 @@
1
1
  import type { FC, ReactNode } from 'react';
2
- import type { PickerViewProps } from '../picker-view';
3
2
  import { NativeProps } from '../../utils/native-props';
4
- import type { Precision, DatePickerFilter } from '../date-picker/date-picker-utils';
3
+ import type { DatePickerFilter, Precision } from '../date-picker/date-picker-utils';
5
4
  import type { PickerDate } from '../date-picker/util';
6
- export declare type RenderLabel = (type: Precision | 'now', data: number) => ReactNode;
5
+ import type { PickerViewProps } from '../picker-view';
6
+ export declare type RenderLabel = (type: Precision | 'now', data: number, info: {
7
+ selected: boolean;
8
+ }) => ReactNode;
7
9
  export declare type DatePickerViewProps = Pick<PickerViewProps, 'style' | 'mouseWheel' | 'loading' | 'loadingContent'> & {
8
10
  value?: PickerDate;
9
11
  defaultValue?: PickerDate;
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.DatePickerView = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
- var _pickerView = _interopRequireDefault(require("../picker-view"));
9
8
  var _nativeProps = require("../../utils/native-props");
10
- var _withDefaultProps = require("../../utils/with-default-props");
11
9
  var _usePropsValue = require("../../utils/use-props-value");
10
+ var _withDefaultProps = require("../../utils/with-default-props");
12
11
  var _datePickerUtils = require("../date-picker/date-picker-utils");
13
- var _useRenderLabel = _interopRequireDefault(require("./useRenderLabel"));
14
12
  var _util = require("../date-picker/util");
13
+ var _pickerView = _interopRequireDefault(require("../picker-view"));
14
+ var _useRenderLabel = _interopRequireDefault(require("./useRenderLabel"));
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
17
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -10,9 +10,9 @@ function useRenderLabel(renderLabel) {
10
10
  const {
11
11
  locale
12
12
  } = (0, _configProvider.useConfig)();
13
- return (0, _react.useCallback)((type, data) => {
13
+ return (0, _react.useCallback)((type, data, info) => {
14
14
  if (renderLabel) {
15
- return renderLabel(type, data);
15
+ return renderLabel(type, data, info);
16
16
  }
17
17
  // Default render
18
18
  switch (type) {
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = useMeasure;
7
7
  var _rcUtil = require("rc-util");
8
8
  var _react = _interopRequireDefault(require("react"));
9
+ var _reactDom = require("react-dom");
9
10
  var _runes = _interopRequireDefault(require("runes2"));
10
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
12
  const ELLIPSIS_TEXT = '...';
@@ -26,8 +27,11 @@ function useMeasure(containerRef, content, rows, direction, expanded, expandNode
26
27
  const fullMeasureRef = _react.default.useRef(null);
27
28
  const midMeasureRef = _react.default.useRef(null);
28
29
  const startMeasure = (0, _rcUtil.useEvent)(() => {
29
- setStatus(1 /* PREPARE */);
30
- setWalkingIndexes([0, direction === 'middle' ? Math.ceil(contentChars.length / 2) : contentChars.length]);
30
+ // use batch update to avoid async update trigger 2 render
31
+ (0, _reactDom.unstable_batchedUpdates)(() => {
32
+ setStatus(1 /* PREPARE */);
33
+ setWalkingIndexes([0, direction === 'middle' ? Math.ceil(contentChars.length / 2) : contentChars.length]);
34
+ });
31
35
  });
32
36
  // Initialize
33
37
  _react.default.useLayoutEffect(() => {
@@ -39,7 +43,7 @@ function useMeasure(containerRef, content, rows, direction, expanded, expandNode
39
43
  if (status === 1 /* PREPARE */) {
40
44
  const fullMeasureHeight = ((_a = fullMeasureRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0;
41
45
  const singleRowMeasureHeight = ((_b = singleRowMeasureRef.current) === null || _b === void 0 ? void 0 : _b.offsetHeight) || 0;
42
- const rowMeasureHeight = singleRowMeasureHeight * rows;
46
+ const rowMeasureHeight = singleRowMeasureHeight * (rows + 0.5);
43
47
  if (fullMeasureHeight <= rowMeasureHeight) {
44
48
  setStatus(100 /* STABLE_NO_ELLIPSIS */);
45
49
  } else {
@@ -4,7 +4,6 @@
4
4
  --z-index: var(--adm-floating-panel-z-index, 900);
5
5
  position: fixed;
6
6
  z-index: var(--z-index);
7
- bottom: 0;
8
7
  left: 0;
9
8
  width: 100vw;
10
9
  display: flex;
@@ -26,7 +25,6 @@
26
25
  content: '';
27
26
  display: block;
28
27
  position: absolute;
29
- bottom: -100vh;
30
28
  height: 100vh;
31
29
  width: 100vw;
32
30
  background: var(--adm-color-background);
@@ -58,4 +56,20 @@
58
56
  flex: 1;
59
57
  overflow-y: scroll;
60
58
  background: var(--adm-color-background);
59
+ }
60
+
61
+ .adm-floating-panel-top {
62
+ top: 0;
63
+ }
64
+
65
+ .adm-floating-panel-top::after {
66
+ top: -100vh;
67
+ }
68
+
69
+ .adm-floating-panel-bottom {
70
+ bottom: 0;
71
+ }
72
+
73
+ .adm-floating-panel-bottom::after {
74
+ bottom: -100vh;
61
75
  }
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
1
  import type { ReactNode } from 'react';
2
+ import React from 'react';
3
3
  import { NativeProps } from '../../utils/native-props';
4
4
  export declare type FloatingPanelRef = {
5
5
  setHeight: (height: number, options?: {
@@ -11,12 +11,14 @@ export declare type FloatingPanelProps = {
11
11
  children: ReactNode;
12
12
  onHeightChange?: (height: number, animating: boolean) => void;
13
13
  handleDraggingOfContent?: boolean;
14
+ placement?: 'bottom' | 'top';
14
15
  } & NativeProps<'--border-radius' | '--z-index' | '--header-height'>;
15
16
  export declare const FloatingPanel: React.ForwardRefExoticComponent<{
16
17
  anchors: number[];
17
18
  children: ReactNode;
18
19
  onHeightChange?: ((height: number, animating: boolean) => void) | undefined;
19
20
  handleDraggingOfContent?: boolean | undefined;
21
+ placement?: "bottom" | "top" | undefined;
20
22
  } & {
21
23
  className?: string | undefined;
22
24
  style?: (React.CSSProperties & Partial<Record<"--z-index" | "--border-radius" | "--header-height", string>>) | undefined;