antd-mobile 5.0.0-rc.1 → 5.0.0-rc.5

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 (457) hide show
  1. package/2x/README.md +2 -0
  2. package/2x/cjs/components/action-sheet/action-sheet.d.ts +3 -3
  3. package/2x/cjs/components/cascader/cascader.css +40 -0
  4. package/2x/cjs/components/cascader/cascader.d.ts +20 -0
  5. package/2x/cjs/components/cascader/cascader.js +130 -0
  6. package/2x/cjs/components/cascader/index.d.ts +9 -0
  7. package/2x/cjs/components/cascader/index.js +20 -0
  8. package/2x/cjs/components/cascader/prompt.d.ts +2 -0
  9. package/2x/cjs/components/cascader/prompt.js +51 -0
  10. package/2x/cjs/components/cascader-view/cascader-view.css +40 -0
  11. package/2x/cjs/components/cascader-view/cascader-view.d.ts +20 -0
  12. package/2x/cjs/components/cascader-view/cascader-view.js +189 -0
  13. package/2x/cjs/components/cascader-view/index.d.ts +4 -0
  14. package/2x/cjs/components/cascader-view/index.js +13 -0
  15. package/2x/cjs/components/cascader-view/use-cascader-value-extend.d.ts +2 -0
  16. package/2x/cjs/components/cascader-view/use-cascader-value-extend.js +97 -0
  17. package/2x/cjs/components/collapse/collapse.d.ts +2 -0
  18. package/2x/cjs/components/collapse/collapse.js +21 -5
  19. package/2x/cjs/components/date-picker/date-picker-date-utils.d.ts +3 -2
  20. package/2x/cjs/components/date-picker/date-picker-date-utils.js +33 -12
  21. package/2x/cjs/components/date-picker/date-picker-utils.d.ts +5 -2
  22. package/2x/cjs/components/date-picker/date-picker-utils.js +3 -3
  23. package/2x/cjs/components/date-picker/date-picker-week-utils.d.ts +3 -2
  24. package/2x/cjs/components/date-picker/date-picker-week-utils.js +28 -6
  25. package/2x/cjs/components/date-picker/date-picker.d.ts +2 -1
  26. package/2x/cjs/components/date-picker/date-picker.js +5 -8
  27. package/2x/cjs/components/date-picker/index.d.ts +1 -0
  28. package/2x/cjs/components/date-picker-view/date-picker-view.d.ts +2 -1
  29. package/2x/cjs/components/date-picker-view/date-picker-view.js +1 -1
  30. package/2x/cjs/components/date-picker-view/index.d.ts +1 -0
  31. package/2x/cjs/components/dialog/dialog.css +1 -1
  32. package/2x/cjs/components/dialog/dialog.js +11 -4
  33. package/2x/cjs/components/dropdown/dropdown.css +13 -11
  34. package/2x/cjs/components/dropdown/dropdown.d.ts +13 -4
  35. package/2x/cjs/components/dropdown/dropdown.js +13 -11
  36. package/2x/cjs/components/dropdown/index.d.ts +14 -3
  37. package/2x/cjs/components/dropdown/index.js +8 -1
  38. package/2x/cjs/components/dropdown/item.d.ts +1 -1
  39. package/2x/cjs/components/dropdown/item.js +10 -4
  40. package/2x/cjs/components/form/form-item.css +4 -1
  41. package/2x/cjs/components/form/form.css +4 -0
  42. package/2x/cjs/components/form/form.d.ts +3 -0
  43. package/2x/cjs/components/form/form.js +3 -1
  44. package/2x/cjs/components/form/index.css +8 -1
  45. package/2x/cjs/components/form/index.d.ts +1 -0
  46. package/2x/cjs/components/image-uploader/image-uploader.d.ts +9 -6
  47. package/2x/cjs/components/image-uploader/image-uploader.js +8 -6
  48. package/2x/cjs/components/image-uploader/index.d.ts +1 -1
  49. package/2x/cjs/components/image-viewer/image-viewer.d.ts +1 -7
  50. package/2x/cjs/components/image-viewer/image-viewer.js +3 -101
  51. package/2x/cjs/components/image-viewer/index.d.ts +2 -1
  52. package/2x/cjs/components/image-viewer/index.js +5 -2
  53. package/2x/cjs/components/image-viewer/methods.d.ts +8 -1
  54. package/2x/cjs/components/image-viewer/methods.js +129 -1
  55. package/2x/cjs/components/list/list.css +7 -5
  56. package/2x/cjs/components/list/list.d.ts +1 -1
  57. package/2x/cjs/components/list/list.js +1 -3
  58. package/2x/cjs/components/mask/mask.js +5 -0
  59. package/2x/cjs/components/modal/alert.d.ts +7 -0
  60. package/2x/cjs/components/modal/alert.js +33 -0
  61. package/2x/cjs/components/modal/confirm.d.ts +9 -0
  62. package/2x/cjs/components/modal/confirm.js +116 -0
  63. package/2x/cjs/components/modal/index.d.ts +16 -0
  64. package/2x/cjs/components/modal/index.js +26 -0
  65. package/2x/cjs/components/modal/modal-action-button.d.ts +14 -0
  66. package/2x/cjs/components/modal/modal-action-button.js +109 -0
  67. package/2x/cjs/components/modal/modal.css +89 -0
  68. package/2x/cjs/components/modal/modal.d.ts +26 -0
  69. package/2x/cjs/components/modal/modal.js +193 -0
  70. package/2x/cjs/components/modal/show.d.ts +8 -0
  71. package/2x/cjs/components/modal/show.js +62 -0
  72. package/2x/cjs/components/notice-bar/notice-bar.css +1 -1
  73. package/2x/cjs/components/number-keyboard/number-keyboard.css +2 -2
  74. package/2x/cjs/components/number-keyboard/number-keyboard.js +57 -11
  75. package/2x/cjs/components/page-indicator/page-indicator.css +1 -1
  76. package/2x/cjs/components/passcode-input/index.d.ts +4 -0
  77. package/2x/cjs/components/passcode-input/index.js +13 -0
  78. package/2x/cjs/components/passcode-input/passcode-input.css +166 -0
  79. package/2x/cjs/components/passcode-input/passcode-input.d.ts +35 -0
  80. package/2x/cjs/components/passcode-input/passcode-input.js +169 -0
  81. package/2x/cjs/components/picker/picker.js +1 -0
  82. package/2x/cjs/components/picker-view/column.js +47 -3
  83. package/2x/cjs/components/picker-view/picker-view.css +45 -5
  84. package/2x/cjs/components/picker-view/picker-view.js +7 -3
  85. package/2x/cjs/components/popup/popup.js +4 -0
  86. package/2x/cjs/components/search-bar/search-bar.css +1 -1
  87. package/2x/cjs/components/swipe-action/swipe-action.css +2 -1
  88. package/2x/cjs/components/swiper/swiper.js +4 -4
  89. package/2x/cjs/components/switch/switch.css +19 -16
  90. package/2x/cjs/components/switch/switch.d.ts +1 -1
  91. package/2x/cjs/components/tag/tag.css +3 -2
  92. package/2x/cjs/components/toast/index.d.ts +2 -1
  93. package/2x/cjs/components/toast/index.js +2 -1
  94. package/2x/cjs/components/toast/methods.d.ts +1 -0
  95. package/2x/cjs/components/toast/methods.js +18 -1
  96. package/2x/cjs/components/toast/toast.css +7 -4
  97. package/2x/cjs/components/toast/toast.js +3 -1
  98. package/2x/cjs/components/virtual-input/virtual-input.css +27 -9
  99. package/2x/cjs/components/virtual-input/virtual-input.d.ts +4 -0
  100. package/2x/cjs/components/virtual-input/virtual-input.js +47 -17
  101. package/2x/cjs/index.d.ts +11 -8
  102. package/2x/cjs/index.js +43 -19
  103. package/2x/cjs/locales/base.d.ts +6 -0
  104. package/2x/cjs/locales/base.js +6 -0
  105. package/2x/cjs/locales/en-US.d.ts +6 -0
  106. package/2x/cjs/locales/zh-CN.d.ts +6 -0
  107. package/2x/cjs/locales/zh-CN.js +6 -0
  108. package/2x/cjs/utils/memo-with-event-marks.d.ts +2 -0
  109. package/2x/cjs/utils/memo-with-event-marks.js +23 -0
  110. package/2x/es/components/action-sheet/action-sheet.d.ts +3 -3
  111. package/2x/es/components/cascader/cascader.css +40 -0
  112. package/2x/es/components/cascader/cascader.d.ts +20 -0
  113. package/2x/es/components/cascader/cascader.js +104 -0
  114. package/2x/es/components/cascader/index.d.ts +9 -0
  115. package/2x/es/components/cascader/index.js +7 -0
  116. package/2x/es/components/cascader/prompt.d.ts +2 -0
  117. package/2x/es/components/cascader/prompt.js +37 -0
  118. package/2x/es/components/cascader-view/cascader-view.css +40 -0
  119. package/2x/es/components/cascader-view/cascader-view.d.ts +20 -0
  120. package/2x/es/components/cascader-view/cascader-view.js +130 -0
  121. package/2x/es/components/cascader-view/index.d.ts +4 -0
  122. package/2x/es/components/cascader-view/index.js +3 -0
  123. package/2x/es/components/cascader-view/use-cascader-value-extend.d.ts +2 -0
  124. package/2x/es/components/cascader-view/use-cascader-value-extend.js +52 -0
  125. package/2x/es/components/collapse/collapse.d.ts +2 -0
  126. package/2x/es/components/collapse/collapse.js +21 -5
  127. package/2x/es/components/date-picker/date-picker-date-utils.d.ts +3 -2
  128. package/2x/es/components/date-picker/date-picker-date-utils.js +33 -11
  129. package/2x/es/components/date-picker/date-picker-utils.d.ts +5 -2
  130. package/2x/es/components/date-picker/date-picker-utils.js +3 -3
  131. package/2x/es/components/date-picker/date-picker-week-utils.d.ts +3 -2
  132. package/2x/es/components/date-picker/date-picker-week-utils.js +28 -5
  133. package/2x/es/components/date-picker/date-picker.d.ts +2 -1
  134. package/2x/es/components/date-picker/date-picker.js +4 -7
  135. package/2x/es/components/date-picker/index.d.ts +1 -0
  136. package/2x/es/components/date-picker-view/date-picker-view.d.ts +2 -1
  137. package/2x/es/components/date-picker-view/date-picker-view.js +1 -1
  138. package/2x/es/components/date-picker-view/index.d.ts +1 -0
  139. package/2x/es/components/dialog/dialog.css +1 -1
  140. package/2x/es/components/dialog/dialog.js +9 -4
  141. package/2x/es/components/dropdown/dropdown.css +13 -11
  142. package/2x/es/components/dropdown/dropdown.d.ts +13 -4
  143. package/2x/es/components/dropdown/dropdown.js +14 -12
  144. package/2x/es/components/dropdown/index.d.ts +14 -3
  145. package/2x/es/components/dropdown/index.js +5 -1
  146. package/2x/es/components/dropdown/item.d.ts +1 -1
  147. package/2x/es/components/dropdown/item.js +9 -4
  148. package/2x/es/components/form/form-item.css +4 -1
  149. package/2x/es/components/form/form.css +4 -0
  150. package/2x/es/components/form/form.d.ts +3 -0
  151. package/2x/es/components/form/form.js +3 -1
  152. package/2x/es/components/form/index.css +8 -1
  153. package/2x/es/components/form/index.d.ts +1 -0
  154. package/2x/es/components/image-uploader/image-uploader.d.ts +9 -6
  155. package/2x/es/components/image-uploader/image-uploader.js +8 -6
  156. package/2x/es/components/image-uploader/index.d.ts +1 -1
  157. package/2x/es/components/image-viewer/image-viewer.d.ts +1 -7
  158. package/2x/es/components/image-viewer/image-viewer.js +2 -91
  159. package/2x/es/components/image-viewer/index.d.ts +2 -1
  160. package/2x/es/components/image-viewer/index.js +4 -2
  161. package/2x/es/components/image-viewer/methods.d.ts +8 -1
  162. package/2x/es/components/image-viewer/methods.js +109 -0
  163. package/2x/es/components/list/list.css +7 -5
  164. package/2x/es/components/list/list.d.ts +1 -1
  165. package/2x/es/components/list/list.js +1 -3
  166. package/2x/es/components/mask/mask.js +4 -0
  167. package/2x/es/components/modal/alert.d.ts +7 -0
  168. package/2x/es/components/modal/alert.js +23 -0
  169. package/2x/es/components/modal/confirm.d.ts +9 -0
  170. package/2x/es/components/modal/confirm.js +106 -0
  171. package/2x/es/components/modal/index.d.ts +16 -0
  172. package/2x/es/components/modal/index.js +11 -0
  173. package/2x/es/components/modal/modal-action-button.d.ts +14 -0
  174. package/2x/es/components/modal/modal-action-button.js +90 -0
  175. package/2x/es/components/modal/modal.css +89 -0
  176. package/2x/es/components/modal/modal.d.ts +26 -0
  177. package/2x/es/components/modal/modal.js +164 -0
  178. package/2x/es/components/modal/show.d.ts +8 -0
  179. package/2x/es/components/modal/show.js +48 -0
  180. package/2x/es/components/notice-bar/notice-bar.css +1 -1
  181. package/2x/es/components/number-keyboard/number-keyboard.css +2 -2
  182. package/2x/es/components/number-keyboard/number-keyboard.js +56 -11
  183. package/2x/es/components/page-indicator/page-indicator.css +1 -1
  184. package/2x/es/components/passcode-input/index.d.ts +4 -0
  185. package/2x/es/components/passcode-input/index.js +3 -0
  186. package/2x/es/components/passcode-input/passcode-input.css +166 -0
  187. package/2x/es/components/passcode-input/passcode-input.d.ts +35 -0
  188. package/2x/es/components/passcode-input/passcode-input.js +149 -0
  189. package/2x/es/components/picker/picker.js +1 -0
  190. package/2x/es/components/picker-view/column.js +47 -3
  191. package/2x/es/components/picker-view/picker-view.css +45 -5
  192. package/2x/es/components/picker-view/picker-view.js +7 -3
  193. package/2x/es/components/popup/popup.js +3 -0
  194. package/2x/es/components/search-bar/search-bar.css +1 -1
  195. package/2x/es/components/swipe-action/swipe-action.css +2 -1
  196. package/2x/es/components/swiper/swiper.js +4 -4
  197. package/2x/es/components/switch/switch.css +19 -16
  198. package/2x/es/components/switch/switch.d.ts +1 -1
  199. package/2x/es/components/tag/tag.css +3 -2
  200. package/2x/es/components/toast/index.d.ts +2 -1
  201. package/2x/es/components/toast/index.js +3 -2
  202. package/2x/es/components/toast/methods.d.ts +1 -0
  203. package/2x/es/components/toast/methods.js +16 -1
  204. package/2x/es/components/toast/toast.css +7 -4
  205. package/2x/es/components/toast/toast.js +2 -1
  206. package/2x/es/components/virtual-input/virtual-input.css +27 -9
  207. package/2x/es/components/virtual-input/virtual-input.d.ts +4 -0
  208. package/2x/es/components/virtual-input/virtual-input.js +47 -18
  209. package/2x/es/index.d.ts +11 -8
  210. package/2x/es/index.js +11 -8
  211. package/2x/es/locales/base.d.ts +6 -0
  212. package/2x/es/locales/base.js +6 -0
  213. package/2x/es/locales/en-US.d.ts +6 -0
  214. package/2x/es/locales/zh-CN.d.ts +6 -0
  215. package/2x/es/locales/zh-CN.js +6 -0
  216. package/2x/es/utils/memo-with-event-marks.d.ts +2 -0
  217. package/2x/es/utils/memo-with-event-marks.js +15 -0
  218. package/2x/package.json +3 -3
  219. package/README.md +2 -0
  220. package/cjs/components/action-sheet/action-sheet.d.ts +3 -3
  221. package/cjs/components/cascader/cascader.css +35 -0
  222. package/cjs/components/cascader/cascader.d.ts +20 -0
  223. package/cjs/components/cascader/cascader.js +130 -0
  224. package/cjs/components/cascader/index.d.ts +9 -0
  225. package/cjs/components/cascader/index.js +20 -0
  226. package/cjs/components/cascader/prompt.d.ts +2 -0
  227. package/cjs/components/cascader/prompt.js +51 -0
  228. package/cjs/components/cascader-view/cascader-view.css +33 -0
  229. package/cjs/components/cascader-view/cascader-view.d.ts +20 -0
  230. package/cjs/components/cascader-view/cascader-view.js +189 -0
  231. package/cjs/components/cascader-view/index.d.ts +4 -0
  232. package/cjs/components/cascader-view/index.js +13 -0
  233. package/cjs/components/cascader-view/use-cascader-value-extend.d.ts +2 -0
  234. package/cjs/components/cascader-view/use-cascader-value-extend.js +97 -0
  235. package/cjs/components/collapse/collapse.d.ts +2 -0
  236. package/cjs/components/collapse/collapse.js +21 -5
  237. package/cjs/components/date-picker/date-picker-date-utils.d.ts +3 -2
  238. package/cjs/components/date-picker/date-picker-date-utils.js +33 -12
  239. package/cjs/components/date-picker/date-picker-utils.d.ts +5 -2
  240. package/cjs/components/date-picker/date-picker-utils.js +3 -3
  241. package/cjs/components/date-picker/date-picker-week-utils.d.ts +3 -2
  242. package/cjs/components/date-picker/date-picker-week-utils.js +28 -6
  243. package/cjs/components/date-picker/date-picker.d.ts +2 -1
  244. package/cjs/components/date-picker/date-picker.js +5 -8
  245. package/cjs/components/date-picker/index.d.ts +1 -0
  246. package/cjs/components/date-picker-view/date-picker-view.d.ts +2 -1
  247. package/cjs/components/date-picker-view/date-picker-view.js +1 -1
  248. package/cjs/components/date-picker-view/index.d.ts +1 -0
  249. package/cjs/components/dialog/dialog.css +1 -1
  250. package/cjs/components/dialog/dialog.js +11 -4
  251. package/cjs/components/dropdown/dropdown.css +12 -11
  252. package/cjs/components/dropdown/dropdown.d.ts +13 -4
  253. package/cjs/components/dropdown/dropdown.js +13 -11
  254. package/cjs/components/dropdown/index.d.ts +14 -3
  255. package/cjs/components/dropdown/index.js +8 -1
  256. package/cjs/components/dropdown/item.d.ts +1 -1
  257. package/cjs/components/dropdown/item.js +10 -4
  258. package/cjs/components/form/form-item.css +4 -1
  259. package/cjs/components/form/form.css +3 -0
  260. package/cjs/components/form/form.d.ts +3 -0
  261. package/cjs/components/form/form.js +3 -1
  262. package/cjs/components/form/index.css +7 -1
  263. package/cjs/components/form/index.d.ts +1 -0
  264. package/cjs/components/image-uploader/image-uploader.d.ts +9 -6
  265. package/cjs/components/image-uploader/image-uploader.js +8 -6
  266. package/cjs/components/image-uploader/index.d.ts +1 -1
  267. package/cjs/components/image-viewer/image-viewer.d.ts +1 -7
  268. package/cjs/components/image-viewer/image-viewer.js +3 -101
  269. package/cjs/components/image-viewer/index.d.ts +2 -1
  270. package/cjs/components/image-viewer/index.js +5 -2
  271. package/cjs/components/image-viewer/methods.d.ts +8 -1
  272. package/cjs/components/image-viewer/methods.js +129 -1
  273. package/cjs/components/list/list.css +6 -4
  274. package/cjs/components/list/list.d.ts +1 -1
  275. package/cjs/components/list/list.js +1 -3
  276. package/cjs/components/mask/mask.js +5 -0
  277. package/cjs/components/modal/alert.d.ts +7 -0
  278. package/cjs/components/modal/alert.js +33 -0
  279. package/cjs/components/modal/confirm.d.ts +9 -0
  280. package/cjs/components/modal/confirm.js +116 -0
  281. package/cjs/components/modal/index.d.ts +16 -0
  282. package/cjs/components/modal/index.js +26 -0
  283. package/cjs/components/modal/modal-action-button.d.ts +14 -0
  284. package/cjs/components/modal/modal-action-button.js +109 -0
  285. package/cjs/components/modal/modal.css +75 -0
  286. package/cjs/components/modal/modal.d.ts +26 -0
  287. package/cjs/components/modal/modal.js +193 -0
  288. package/cjs/components/modal/show.d.ts +8 -0
  289. package/cjs/components/modal/show.js +62 -0
  290. package/cjs/components/notice-bar/notice-bar.css +1 -1
  291. package/cjs/components/number-keyboard/number-keyboard.css +2 -2
  292. package/cjs/components/number-keyboard/number-keyboard.js +57 -11
  293. package/cjs/components/page-indicator/page-indicator.css +1 -1
  294. package/cjs/components/passcode-input/index.d.ts +4 -0
  295. package/cjs/components/passcode-input/index.js +13 -0
  296. package/cjs/components/passcode-input/passcode-input.css +136 -0
  297. package/cjs/components/passcode-input/passcode-input.d.ts +35 -0
  298. package/cjs/components/passcode-input/passcode-input.js +169 -0
  299. package/cjs/components/picker/picker.js +1 -0
  300. package/cjs/components/picker-view/column.js +47 -3
  301. package/cjs/components/picker-view/picker-view.css +39 -5
  302. package/cjs/components/picker-view/picker-view.js +7 -3
  303. package/cjs/components/popup/popup.js +4 -0
  304. package/cjs/components/search-bar/search-bar.css +1 -1
  305. package/cjs/components/swipe-action/swipe-action.css +2 -1
  306. package/cjs/components/swiper/swiper.js +4 -4
  307. package/cjs/components/switch/switch.css +19 -16
  308. package/cjs/components/switch/switch.d.ts +1 -1
  309. package/cjs/components/tag/tag.css +3 -2
  310. package/cjs/components/toast/index.d.ts +2 -1
  311. package/cjs/components/toast/index.js +2 -1
  312. package/cjs/components/toast/methods.d.ts +1 -0
  313. package/cjs/components/toast/methods.js +18 -1
  314. package/cjs/components/toast/toast.css +7 -4
  315. package/cjs/components/toast/toast.js +3 -1
  316. package/cjs/components/virtual-input/virtual-input.css +24 -8
  317. package/cjs/components/virtual-input/virtual-input.d.ts +4 -0
  318. package/cjs/components/virtual-input/virtual-input.js +47 -17
  319. package/cjs/index.d.ts +11 -8
  320. package/cjs/index.js +43 -19
  321. package/cjs/locales/base.d.ts +6 -0
  322. package/cjs/locales/base.js +6 -0
  323. package/cjs/locales/en-US.d.ts +6 -0
  324. package/cjs/locales/zh-CN.d.ts +6 -0
  325. package/cjs/locales/zh-CN.js +6 -0
  326. package/cjs/utils/memo-with-event-marks.d.ts +2 -0
  327. package/cjs/utils/memo-with-event-marks.js +23 -0
  328. package/es/components/action-sheet/action-sheet.d.ts +3 -3
  329. package/es/components/cascader/cascader.css +35 -0
  330. package/es/components/cascader/cascader.d.ts +20 -0
  331. package/es/components/cascader/cascader.js +104 -0
  332. package/es/components/cascader/index.d.ts +9 -0
  333. package/es/components/cascader/index.js +7 -0
  334. package/es/components/cascader/prompt.d.ts +2 -0
  335. package/es/components/cascader/prompt.js +37 -0
  336. package/es/components/cascader-view/cascader-view.css +33 -0
  337. package/es/components/cascader-view/cascader-view.d.ts +20 -0
  338. package/es/components/cascader-view/cascader-view.js +130 -0
  339. package/es/components/cascader-view/index.d.ts +4 -0
  340. package/es/components/cascader-view/index.js +3 -0
  341. package/es/components/cascader-view/use-cascader-value-extend.d.ts +2 -0
  342. package/es/components/cascader-view/use-cascader-value-extend.js +52 -0
  343. package/es/components/collapse/collapse.d.ts +2 -0
  344. package/es/components/collapse/collapse.js +21 -5
  345. package/es/components/date-picker/date-picker-date-utils.d.ts +3 -2
  346. package/es/components/date-picker/date-picker-date-utils.js +33 -11
  347. package/es/components/date-picker/date-picker-utils.d.ts +5 -2
  348. package/es/components/date-picker/date-picker-utils.js +3 -3
  349. package/es/components/date-picker/date-picker-week-utils.d.ts +3 -2
  350. package/es/components/date-picker/date-picker-week-utils.js +28 -5
  351. package/es/components/date-picker/date-picker.d.ts +2 -1
  352. package/es/components/date-picker/date-picker.js +4 -7
  353. package/es/components/date-picker/index.d.ts +1 -0
  354. package/es/components/date-picker-view/date-picker-view.d.ts +2 -1
  355. package/es/components/date-picker-view/date-picker-view.js +1 -1
  356. package/es/components/date-picker-view/index.d.ts +1 -0
  357. package/es/components/dialog/dialog.css +1 -1
  358. package/es/components/dialog/dialog.js +9 -4
  359. package/es/components/dropdown/dropdown.css +12 -11
  360. package/es/components/dropdown/dropdown.d.ts +13 -4
  361. package/es/components/dropdown/dropdown.js +14 -12
  362. package/es/components/dropdown/index.d.ts +14 -3
  363. package/es/components/dropdown/index.js +5 -1
  364. package/es/components/dropdown/item.d.ts +1 -1
  365. package/es/components/dropdown/item.js +9 -4
  366. package/es/components/form/form-item.css +4 -1
  367. package/es/components/form/form.css +3 -0
  368. package/es/components/form/form.d.ts +3 -0
  369. package/es/components/form/form.js +3 -1
  370. package/es/components/form/index.css +7 -1
  371. package/es/components/form/index.d.ts +1 -0
  372. package/es/components/image-uploader/image-uploader.d.ts +9 -6
  373. package/es/components/image-uploader/image-uploader.js +8 -6
  374. package/es/components/image-uploader/index.d.ts +1 -1
  375. package/es/components/image-viewer/image-viewer.d.ts +1 -7
  376. package/es/components/image-viewer/image-viewer.js +2 -91
  377. package/es/components/image-viewer/index.d.ts +2 -1
  378. package/es/components/image-viewer/index.js +4 -2
  379. package/es/components/image-viewer/methods.d.ts +8 -1
  380. package/es/components/image-viewer/methods.js +109 -0
  381. package/es/components/list/list.css +6 -4
  382. package/es/components/list/list.d.ts +1 -1
  383. package/es/components/list/list.js +1 -3
  384. package/es/components/mask/mask.js +4 -0
  385. package/es/components/modal/alert.d.ts +7 -0
  386. package/es/components/modal/alert.js +23 -0
  387. package/es/components/modal/confirm.d.ts +9 -0
  388. package/es/components/modal/confirm.js +106 -0
  389. package/es/components/modal/index.d.ts +16 -0
  390. package/es/components/modal/index.js +11 -0
  391. package/es/components/modal/modal-action-button.d.ts +14 -0
  392. package/es/components/modal/modal-action-button.js +90 -0
  393. package/es/components/modal/modal.css +75 -0
  394. package/es/components/modal/modal.d.ts +26 -0
  395. package/es/components/modal/modal.js +164 -0
  396. package/es/components/modal/show.d.ts +8 -0
  397. package/es/components/modal/show.js +48 -0
  398. package/es/components/notice-bar/notice-bar.css +1 -1
  399. package/es/components/number-keyboard/number-keyboard.css +2 -2
  400. package/es/components/number-keyboard/number-keyboard.js +56 -11
  401. package/es/components/page-indicator/page-indicator.css +1 -1
  402. package/es/components/passcode-input/index.d.ts +4 -0
  403. package/es/components/passcode-input/index.js +3 -0
  404. package/es/components/passcode-input/passcode-input.css +136 -0
  405. package/es/components/passcode-input/passcode-input.d.ts +35 -0
  406. package/es/components/passcode-input/passcode-input.js +149 -0
  407. package/es/components/picker/picker.js +1 -0
  408. package/es/components/picker-view/column.js +47 -3
  409. package/es/components/picker-view/picker-view.css +39 -5
  410. package/es/components/picker-view/picker-view.js +7 -3
  411. package/es/components/popup/popup.js +3 -0
  412. package/es/components/search-bar/search-bar.css +1 -1
  413. package/es/components/swipe-action/swipe-action.css +2 -1
  414. package/es/components/swiper/swiper.js +4 -4
  415. package/es/components/switch/switch.css +19 -16
  416. package/es/components/switch/switch.d.ts +1 -1
  417. package/es/components/tag/tag.css +3 -2
  418. package/es/components/toast/index.d.ts +2 -1
  419. package/es/components/toast/index.js +3 -2
  420. package/es/components/toast/methods.d.ts +1 -0
  421. package/es/components/toast/methods.js +16 -1
  422. package/es/components/toast/toast.css +7 -4
  423. package/es/components/toast/toast.js +2 -1
  424. package/es/components/virtual-input/virtual-input.css +24 -8
  425. package/es/components/virtual-input/virtual-input.d.ts +4 -0
  426. package/es/components/virtual-input/virtual-input.js +47 -18
  427. package/es/index.d.ts +11 -8
  428. package/es/index.js +11 -8
  429. package/es/locales/base.d.ts +6 -0
  430. package/es/locales/base.js +6 -0
  431. package/es/locales/en-US.d.ts +6 -0
  432. package/es/locales/zh-CN.d.ts +6 -0
  433. package/es/locales/zh-CN.js +6 -0
  434. package/es/utils/memo-with-event-marks.d.ts +2 -0
  435. package/es/utils/memo-with-event-marks.js +15 -0
  436. package/package.json +3 -3
  437. package/umd/antd-mobile.js +1 -1
  438. package/2x/cjs/components/desense-text/desense-text.css +0 -10
  439. package/2x/cjs/components/desense-text/desense-text.d.ts +0 -10
  440. package/2x/cjs/components/desense-text/desense-text.js +0 -50
  441. package/2x/cjs/components/desense-text/index.d.ts +0 -4
  442. package/2x/cjs/components/desense-text/index.js +0 -13
  443. package/2x/es/components/desense-text/desense-text.css +0 -10
  444. package/2x/es/components/desense-text/desense-text.d.ts +0 -10
  445. package/2x/es/components/desense-text/desense-text.js +0 -32
  446. package/2x/es/components/desense-text/index.d.ts +0 -4
  447. package/2x/es/components/desense-text/index.js +0 -3
  448. package/cjs/components/desense-text/desense-text.css +0 -9
  449. package/cjs/components/desense-text/desense-text.d.ts +0 -10
  450. package/cjs/components/desense-text/desense-text.js +0 -50
  451. package/cjs/components/desense-text/index.d.ts +0 -4
  452. package/cjs/components/desense-text/index.js +0 -13
  453. package/es/components/desense-text/desense-text.css +0 -9
  454. package/es/components/desense-text/desense-text.d.ts +0 -10
  455. package/es/components/desense-text/desense-text.js +0 -32
  456. package/es/components/desense-text/index.d.ts +0 -4
  457. package/es/components/desense-text/index.js +0 -3
@@ -5,15 +5,12 @@
5
5
  --border-inner: solid 2px var(--adm-border-color);
6
6
  --border-top: solid 2px var(--adm-border-color);
7
7
  --border-bottom: solid 2px var(--adm-border-color);
8
+ --padding-left: 24px;
8
9
  background-color: #ffffff;
9
10
  overflow: hidden;
10
11
  font-size: 34px;
11
12
  }
12
13
 
13
- .adm-list-inner {
14
- margin-bottom: -2px;
15
- }
16
-
17
14
  .adm-list-default {
18
15
  border-top: var(--border-top);
19
16
  border-bottom: var(--border-bottom);
@@ -25,8 +22,13 @@
25
22
  }
26
23
 
27
24
  .adm-list-item {
25
+ margin-bottom: -2px;
28
26
  display: block;
29
- padding-left: 24px;
27
+ padding-left: var(--padding-left);
28
+ }
29
+
30
+ .adm-list-item:not(:first-child) {
31
+ padding-top: 2px;
30
32
  }
31
33
 
32
34
  .adm-list-item-title,
@@ -2,5 +2,5 @@ import { FC } from 'react';
2
2
  import { NativeProps } from '../../utils/native-props';
3
3
  export declare type ListProps = {
4
4
  mode?: 'default' | 'card';
5
- } & NativeProps<'--prefix-width' | '--align-items' | '--active-background-color' | '--border-inner' | '--border-top' | '--border-bottom'>;
5
+ } & NativeProps<'--prefix-width' | '--align-items' | '--active-background-color' | '--border-inner' | '--border-top' | '--border-bottom' | '--padding-left'>;
6
6
  export declare const List: FC<ListProps>;
@@ -10,7 +10,5 @@ export var List = function List(p) {
10
10
  var props = mergeProps(defaultProps, p);
11
11
  return withNativeProps(props, /*#__PURE__*/React.createElement("div", {
12
12
  className: classNames(classPrefix, classPrefix + "-" + props.mode)
13
- }, /*#__PURE__*/React.createElement("div", {
14
- className: classPrefix + "-inner"
15
- }, props.children)));
13
+ }, props.children));
16
14
  };
@@ -1,5 +1,6 @@
1
1
  import { withNativeProps } from '../../utils/native-props';
2
2
  import React, { useMemo, useRef, useState } from 'react';
3
+ import { useUnmountedRef } from 'ahooks';
3
4
  import { useLockScroll } from '../../utils/use-lock-scroll';
4
5
  import { useSpring, animated } from '@react-spring/web';
5
6
  import { renderToContainer } from '../../utils/render-to-container';
@@ -43,6 +44,8 @@ export var Mask = function Mask(p) {
43
44
  active = _useState[0],
44
45
  setActive = _useState[1];
45
46
 
47
+ var unmountedRef = useUnmountedRef();
48
+
46
49
  var _useSpring = useSpring({
47
50
  opacity: props.visible ? 1 : 0,
48
51
  config: {
@@ -58,6 +61,7 @@ export var Mask = function Mask(p) {
58
61
  onRest: function onRest() {
59
62
  var _a, _b;
60
63
 
64
+ if (unmountedRef.current) return;
61
65
  setActive(props.visible);
62
66
 
63
67
  if (props.visible) {
@@ -0,0 +1,7 @@
1
+ import { ModalProps } from './index';
2
+ import { ReactNode } from 'react';
3
+ export declare type ModalAlertProps = Omit<ModalProps, 'visible' | 'closeOnAction' | 'actions'> & {
4
+ confirmText?: ReactNode;
5
+ onConfirm?: () => void | Promise<void>;
6
+ };
7
+ export declare function alert(p: ModalAlertProps): Promise<void>;
@@ -0,0 +1,23 @@
1
+ import { show } from './show';
2
+ import { mergeProps } from '../../utils/with-default-props';
3
+ import { getDefaultConfig } from '../config-provider';
4
+ export function alert(p) {
5
+ var defaultProps = {
6
+ confirmText: getDefaultConfig().locale.Modal.ok
7
+ };
8
+ var props = mergeProps(defaultProps, p);
9
+ return new Promise(function (resolve) {
10
+ show(Object.assign(Object.assign({}, props), {
11
+ closeOnAction: true,
12
+ actions: [{
13
+ key: 'confirm',
14
+ text: props.confirmText,
15
+ primary: true
16
+ }],
17
+ onAction: props.onConfirm,
18
+ onClose: function onClose() {
19
+ resolve();
20
+ }
21
+ }));
22
+ });
23
+ }
@@ -0,0 +1,9 @@
1
+ import { ModalProps } from './index';
2
+ import { ReactNode } from 'react';
3
+ export declare type ModalConfirmProps = Omit<ModalProps, 'visible' | 'closeOnAction' | 'actions'> & {
4
+ confirmText?: ReactNode;
5
+ cancelText?: ReactNode;
6
+ onConfirm?: () => void | Promise<void>;
7
+ onCancel?: () => void | Promise<void>;
8
+ };
9
+ export declare function confirm(p: ModalConfirmProps): Promise<boolean>;
@@ -0,0 +1,106 @@
1
+ var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) {
3
+ return value instanceof P ? value : new P(function (resolve) {
4
+ resolve(value);
5
+ });
6
+ }
7
+
8
+ return new (P || (P = Promise))(function (resolve, reject) {
9
+ function fulfilled(value) {
10
+ try {
11
+ step(generator.next(value));
12
+ } catch (e) {
13
+ reject(e);
14
+ }
15
+ }
16
+
17
+ function rejected(value) {
18
+ try {
19
+ step(generator["throw"](value));
20
+ } catch (e) {
21
+ reject(e);
22
+ }
23
+ }
24
+
25
+ function step(result) {
26
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
27
+ }
28
+
29
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
30
+ });
31
+ };
32
+
33
+ import { show } from './show';
34
+ import { mergeProps } from '../../utils/with-default-props';
35
+ var defaultProps = {
36
+ confirmText: '确认',
37
+ cancelText: '取消'
38
+ };
39
+ export function confirm(p) {
40
+ var _this = this;
41
+
42
+ var props = mergeProps(defaultProps, p);
43
+ return new Promise(function (resolve) {
44
+ show(Object.assign(Object.assign({}, props), {
45
+ closeOnAction: true,
46
+ onClose: function onClose() {
47
+ var _a;
48
+
49
+ (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);
50
+ resolve(false);
51
+ },
52
+ actions: [{
53
+ key: 'confirm',
54
+ text: props.confirmText,
55
+ primary: true,
56
+ onClick: function onClick() {
57
+ return __awaiter(_this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
58
+ var _a;
59
+
60
+ return regeneratorRuntime.wrap(function _callee$(_context) {
61
+ while (1) {
62
+ switch (_context.prev = _context.next) {
63
+ case 0:
64
+ _context.next = 2;
65
+ return (_a = props.onConfirm) === null || _a === void 0 ? void 0 : _a.call(props);
66
+
67
+ case 2:
68
+ resolve(true);
69
+
70
+ case 3:
71
+ case "end":
72
+ return _context.stop();
73
+ }
74
+ }
75
+ }, _callee);
76
+ }));
77
+ }
78
+ }, {
79
+ key: 'cancel',
80
+ text: props.cancelText,
81
+ onClick: function onClick() {
82
+ return __awaiter(_this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
83
+ var _b;
84
+
85
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
86
+ while (1) {
87
+ switch (_context2.prev = _context2.next) {
88
+ case 0:
89
+ _context2.next = 2;
90
+ return (_b = props.onCancel) === null || _b === void 0 ? void 0 : _b.call(props);
91
+
92
+ case 2:
93
+ resolve(false);
94
+
95
+ case 3:
96
+ case "end":
97
+ return _context2.stop();
98
+ }
99
+ }
100
+ }, _callee2);
101
+ }));
102
+ }
103
+ }]
104
+ }));
105
+ });
106
+ }
@@ -0,0 +1,16 @@
1
+ /// <reference types="react" />
2
+ import './modal.less';
3
+ import { show } from './show';
4
+ import { alert } from './alert';
5
+ import { confirm } from './confirm';
6
+ export type { ModalProps } from './modal';
7
+ export type { Action } from './modal-action-button';
8
+ export type { ModalShowProps, ModalShowRef } from './show';
9
+ export type { ModalAlertProps } from './alert';
10
+ export type { ModalConfirmProps } from './confirm';
11
+ declare const _default: import("react").FC<import("./modal").ModalProps> & {
12
+ show: typeof show;
13
+ alert: typeof alert;
14
+ confirm: typeof confirm;
15
+ };
16
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import "./modal.css";
2
+ import { show } from './show';
3
+ import { alert } from './alert';
4
+ import { confirm } from './confirm';
5
+ import { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';
6
+ import { Modal } from './modal';
7
+ export default attachPropertiesToComponent(Modal, {
8
+ show: show,
9
+ alert: alert,
10
+ confirm: confirm
11
+ });
@@ -0,0 +1,14 @@
1
+ import { FC } from 'react';
2
+ import { NativeProps } from '../../utils/native-props';
3
+ export declare type Action = {
4
+ key: string | number;
5
+ text: string;
6
+ disabled?: boolean;
7
+ danger?: boolean;
8
+ primary?: boolean;
9
+ onClick?: () => void | Promise<void>;
10
+ } & NativeProps;
11
+ export declare const ModalActionButton: FC<{
12
+ action: Action;
13
+ onAction: () => void | Promise<void>;
14
+ }>;
@@ -0,0 +1,90 @@
1
+ var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) {
3
+ return value instanceof P ? value : new P(function (resolve) {
4
+ resolve(value);
5
+ });
6
+ }
7
+
8
+ return new (P || (P = Promise))(function (resolve, reject) {
9
+ function fulfilled(value) {
10
+ try {
11
+ step(generator.next(value));
12
+ } catch (e) {
13
+ reject(e);
14
+ }
15
+ }
16
+
17
+ function rejected(value) {
18
+ try {
19
+ step(generator["throw"](value));
20
+ } catch (e) {
21
+ reject(e);
22
+ }
23
+ }
24
+
25
+ function step(result) {
26
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
27
+ }
28
+
29
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
30
+ });
31
+ };
32
+
33
+ import React, { useState } from 'react';
34
+ import classNames from 'classnames';
35
+ import Button from '../button';
36
+ import { withNativeProps } from '../../utils/native-props';
37
+ export var ModalActionButton = function ModalActionButton(props) {
38
+ var action = props.action;
39
+
40
+ var _useState = useState(false),
41
+ loading = _useState[0],
42
+ setLoading = _useState[1];
43
+
44
+ function handleClick() {
45
+ return __awaiter(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
46
+ var promise;
47
+ return regeneratorRuntime.wrap(function _callee$(_context) {
48
+ while (1) {
49
+ switch (_context.prev = _context.next) {
50
+ case 0:
51
+ setLoading(true);
52
+ _context.prev = 1;
53
+ promise = props.onAction();
54
+ _context.next = 5;
55
+ return promise;
56
+
57
+ case 5:
58
+ setLoading(false);
59
+ _context.next = 12;
60
+ break;
61
+
62
+ case 8:
63
+ _context.prev = 8;
64
+ _context.t0 = _context["catch"](1);
65
+ setLoading(false);
66
+ throw _context.t0;
67
+
68
+ case 12:
69
+ case "end":
70
+ return _context.stop();
71
+ }
72
+ }
73
+ }, _callee, null, [[1, 8]]);
74
+ }));
75
+ }
76
+
77
+ return withNativeProps(props.action, /*#__PURE__*/React.createElement(Button, {
78
+ key: action.key,
79
+ onClick: handleClick,
80
+ className: classNames('adm-modal-button', {
81
+ 'adm-modal-button-primary': props.action.primary
82
+ }),
83
+ fill: props.action.primary ? 'solid' : 'none',
84
+ size: props.action.primary ? 'large' : 'middle',
85
+ block: true,
86
+ color: action.danger ? 'danger' : 'primary',
87
+ loading: loading,
88
+ disabled: action.disabled
89
+ }, action.text));
90
+ };
@@ -0,0 +1,89 @@
1
+ .adm-modal {
2
+ --z-index: var(--adm-modal-z-index, 1000);
3
+ position: fixed;
4
+ z-index: var(--z-index);
5
+ }
6
+
7
+ .adm-modal .adm-modal-mask {
8
+ z-index: 0;
9
+ }
10
+
11
+ .adm-modal-wrap {
12
+ position: fixed;
13
+ z-index: 1;
14
+ top: 50%;
15
+ left: 50%;
16
+ width: auto;
17
+ min-width: 560px;
18
+ max-width: 75vw;
19
+ transform: translate(-50%, -50%);
20
+ }
21
+
22
+ .adm-modal-main {
23
+ width: 100%;
24
+ font-size: 28px;
25
+ background-color: white;
26
+ border-radius: 16px;
27
+ overflow: hidden;
28
+ }
29
+
30
+ .adm-modal-main .adm-modal-body {
31
+ padding: 40px 24px 24px;
32
+ }
33
+
34
+ .adm-modal-main .adm-modal-body .adm-modal-close {
35
+ position: absolute;
36
+ right: 24px;
37
+ top: 24px;
38
+ color: var(--adm-color-weak);
39
+ padding: 4px;
40
+ }
41
+
42
+ .adm-modal-main .adm-modal-body-header-wrapper {
43
+ display: flex;
44
+ justify-content: center;
45
+ }
46
+
47
+ .adm-modal-main .adm-modal-body-title {
48
+ font-weight: bold;
49
+ font-size: 36px;
50
+ line-height: 50px;
51
+ text-align: center;
52
+ }
53
+
54
+ .adm-modal-main .adm-modal-body-content {
55
+ max-height: 70vh;
56
+ overflow-x: hidden;
57
+ overflow-y: auto;
58
+ font-size: 30px;
59
+ line-height: 1.4;
60
+ color: #333;
61
+ }
62
+
63
+ .adm-modal-main .adm-modal-footer {
64
+ user-select: none;
65
+ padding: 16px 24px 24px;
66
+ }
67
+
68
+ .adm-modal-main .adm-modal-footer .adm-modal-button {
69
+ font-size: 36px;
70
+ line-height: 50px;
71
+ border-right: solid 1px var(--adm-border-color);
72
+ }
73
+
74
+ .adm-modal-main .adm-modal-footer .adm-modal-button:last-child {
75
+ border-right: none;
76
+ }
77
+
78
+ .adm-modal-main .adm-modal-footer .adm-modal-button:not(.adm-modal-button-primary) {
79
+ padding-top: 0;
80
+ padding-bottom: 0;
81
+ }
82
+
83
+ .adm-modal-main .adm-modal-footer .adm-modal-button:not(.adm-modal-button-primary)::before {
84
+ display: none;
85
+ }
86
+
87
+ .adm-modal-main .adm-modal-footer .adm-modal-button:not(.adm-modal-button-primary):active {
88
+ opacity: 0.7;
89
+ }
@@ -0,0 +1,26 @@
1
+ import React, { FC, ReactNode } from 'react';
2
+ import { Action } from './modal-action-button';
3
+ import { GetContainer } from '../../utils/render-to-container';
4
+ import { PropagationEvent } from '../../utils/with-stop-propagation';
5
+ import { NativeProps } from '../../utils/native-props';
6
+ export declare type ModalProps = {
7
+ afterClose?: () => void;
8
+ image?: string;
9
+ header?: ReactNode;
10
+ title?: ReactNode;
11
+ content?: ReactNode;
12
+ actions?: Action[];
13
+ onAction?: (action: Action, index: number) => void | Promise<void>;
14
+ closeOnAction?: boolean;
15
+ onClose?: () => void;
16
+ closeOnMaskClick?: boolean;
17
+ visible?: boolean;
18
+ getContainer?: GetContainer;
19
+ bodyStyle?: React.CSSProperties;
20
+ bodyClassName?: string;
21
+ maskStyle?: React.CSSProperties;
22
+ maskClassName?: string;
23
+ stopPropagation?: PropagationEvent[];
24
+ showCloseButton?: boolean;
25
+ } & NativeProps;
26
+ export declare const Modal: FC<ModalProps>;
@@ -0,0 +1,164 @@
1
+ var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) {
3
+ return value instanceof P ? value : new P(function (resolve) {
4
+ resolve(value);
5
+ });
6
+ }
7
+
8
+ return new (P || (P = Promise))(function (resolve, reject) {
9
+ function fulfilled(value) {
10
+ try {
11
+ step(generator.next(value));
12
+ } catch (e) {
13
+ reject(e);
14
+ }
15
+ }
16
+
17
+ function rejected(value) {
18
+ try {
19
+ step(generator["throw"](value));
20
+ } catch (e) {
21
+ reject(e);
22
+ }
23
+ }
24
+
25
+ function step(result) {
26
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
27
+ }
28
+
29
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
30
+ });
31
+ };
32
+
33
+ import React, { useState } from 'react';
34
+ import { mergeProps } from '../../utils/with-default-props';
35
+ import classNames from 'classnames';
36
+ import { useUnmountedRef } from 'ahooks';
37
+ import Mask from '../mask';
38
+ import { ModalActionButton } from './modal-action-button';
39
+ import Image from '../image';
40
+ import Space from '../space';
41
+ import { withStopPropagation } from '../../utils/with-stop-propagation';
42
+ import AutoCenter from '../auto-center';
43
+ import { useSpring, animated } from '@react-spring/web';
44
+ import { withNativeProps } from '../../utils/native-props';
45
+ import { CloseOutline } from 'antd-mobile-icons';
46
+ var classPrefix = "adm-modal";
47
+ var defaultProps = {
48
+ visible: false,
49
+ actions: [],
50
+ closeOnAction: false,
51
+ closeOnMaskClick: false,
52
+ stopPropagation: ['click'],
53
+ showCloseButton: false
54
+ };
55
+ export var Modal = function Modal(p) {
56
+ var props = mergeProps(defaultProps, p);
57
+ var unmountedRef = useUnmountedRef();
58
+ var style = useSpring({
59
+ scale: props.visible ? 1 : 0.8,
60
+ opacity: props.visible ? 1 : 0,
61
+ config: {
62
+ mass: 1,
63
+ tension: 200,
64
+ friction: 30,
65
+ clamp: true
66
+ },
67
+ onStart: function onStart() {
68
+ setActive(true);
69
+ },
70
+ onRest: function onRest() {
71
+ var _a;
72
+
73
+ if (unmountedRef.current) return;
74
+ setActive(props.visible);
75
+
76
+ if (!props.visible) {
77
+ (_a = props.afterClose) === null || _a === void 0 ? void 0 : _a.call(props);
78
+ }
79
+ }
80
+ });
81
+
82
+ var _useState = useState(props.visible),
83
+ active = _useState[0],
84
+ setActive = _useState[1];
85
+
86
+ return withStopPropagation(props.stopPropagation, withNativeProps(props, /*#__PURE__*/React.createElement("div", {
87
+ className: classPrefix,
88
+ style: {
89
+ display: active ? 'unset' : 'none'
90
+ }
91
+ }, /*#__PURE__*/React.createElement(Mask, {
92
+ visible: props.visible,
93
+ getContainer: props.getContainer,
94
+ onMaskClick: props.closeOnMaskClick ? props.onClose : undefined,
95
+ style: props.maskStyle,
96
+ className: classNames(classPrefix + "-mask", props.maskClassName)
97
+ }), /*#__PURE__*/React.createElement("div", {
98
+ className: classPrefix + "-wrap",
99
+ style: {
100
+ pointerEvents: props.visible ? 'unset' : 'none'
101
+ }
102
+ }, /*#__PURE__*/React.createElement(animated.div, {
103
+ style: Object.assign({}, style),
104
+ onClick: function onClick(e) {
105
+ return e.stopPropagation();
106
+ },
107
+ className: classPrefix + "-main"
108
+ }, !!props.image && /*#__PURE__*/React.createElement(Image, {
109
+ src: props.image,
110
+ alt: 'modal header image',
111
+ width: '100%'
112
+ }), /*#__PURE__*/React.createElement("div", {
113
+ style: props.bodyStyle,
114
+ className: classNames(classPrefix + "-body", props.bodyClassName)
115
+ }, props.showCloseButton && /*#__PURE__*/React.createElement("a", {
116
+ className: classNames(classPrefix + "-close", 'adm-plain-anchor'),
117
+ onClick: props.onClose
118
+ }, /*#__PURE__*/React.createElement(CloseOutline, null)), /*#__PURE__*/React.createElement(Space, {
119
+ direction: 'vertical',
120
+ block: true
121
+ }, !!props.header && /*#__PURE__*/React.createElement("div", {
122
+ className: classPrefix + "-body-header-wrapper"
123
+ }, /*#__PURE__*/React.createElement("div", {
124
+ className: classPrefix + "-body-header"
125
+ }, props.header)), !!props.title && /*#__PURE__*/React.createElement("div", {
126
+ className: classPrefix + "-body-title"
127
+ }, props.title), !!props.content && /*#__PURE__*/React.createElement("div", {
128
+ className: classPrefix + "-body-content"
129
+ }, typeof props.content === 'string' ? /*#__PURE__*/React.createElement(AutoCenter, null, props.content) : props.content))), /*#__PURE__*/React.createElement("div", {
130
+ className: classPrefix + "-footer"
131
+ }, /*#__PURE__*/React.createElement(Space, {
132
+ direction: 'vertical',
133
+ block: true
134
+ }, props.actions.map(function (action, index) {
135
+ return /*#__PURE__*/React.createElement(ModalActionButton, {
136
+ key: action.key,
137
+ action: action,
138
+ onAction: function onAction() {
139
+ return __awaiter(void 0, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
140
+ var _a, _b, _c;
141
+
142
+ return regeneratorRuntime.wrap(function _callee$(_context) {
143
+ while (1) {
144
+ switch (_context.prev = _context.next) {
145
+ case 0:
146
+ _context.next = 2;
147
+ return Promise.all([(_a = action.onClick) === null || _a === void 0 ? void 0 : _a.call(action), (_b = props.onAction) === null || _b === void 0 ? void 0 : _b.call(props, action, index)]);
148
+
149
+ case 2:
150
+ if (props.closeOnAction) {
151
+ (_c = props.onClose) === null || _c === void 0 ? void 0 : _c.call(props);
152
+ }
153
+
154
+ case 3:
155
+ case "end":
156
+ return _context.stop();
157
+ }
158
+ }
159
+ }, _callee);
160
+ }));
161
+ }
162
+ });
163
+ }))))))));
164
+ };
@@ -0,0 +1,8 @@
1
+ import { ModalProps } from './modal';
2
+ export declare type ModalShowProps = Omit<ModalProps, 'visible'>;
3
+ export declare type ModalShowRef = {
4
+ close: () => void;
5
+ };
6
+ export declare function show(props: ModalShowProps): {
7
+ close: () => void;
8
+ };