antd-mobile 5.0.0-rc.0 → 5.0.0-rc.4

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 (515) hide show
  1. package/2x/cjs/components/action-sheet/action-sheet.d.ts +3 -3
  2. package/2x/cjs/components/cascader/cascader.css +40 -0
  3. package/2x/cjs/components/cascader/cascader.d.ts +20 -0
  4. package/2x/cjs/components/cascader/cascader.js +130 -0
  5. package/2x/cjs/components/cascader/index.d.ts +9 -0
  6. package/2x/cjs/components/cascader/index.js +20 -0
  7. package/2x/cjs/components/cascader/prompt.d.ts +2 -0
  8. package/2x/cjs/components/cascader/prompt.js +51 -0
  9. package/2x/cjs/components/cascader-view/cascader-view.css +40 -0
  10. package/2x/cjs/components/cascader-view/cascader-view.d.ts +20 -0
  11. package/2x/cjs/components/cascader-view/cascader-view.js +189 -0
  12. package/2x/cjs/components/cascader-view/index.d.ts +4 -0
  13. package/2x/cjs/components/cascader-view/index.js +13 -0
  14. package/2x/cjs/components/cascader-view/use-cascader-value-extend.d.ts +2 -0
  15. package/2x/cjs/components/cascader-view/use-cascader-value-extend.js +97 -0
  16. package/2x/cjs/components/check-list/check-list-item.d.ts +2 -2
  17. package/2x/cjs/components/check-list/check-list.d.ts +2 -2
  18. package/2x/cjs/components/collapse/collapse.d.ts +2 -0
  19. package/2x/cjs/components/collapse/collapse.js +21 -5
  20. package/2x/cjs/components/date-picker/date-picker-date-utils.d.ts +8 -0
  21. package/2x/cjs/components/date-picker/date-picker-date-utils.js +206 -0
  22. package/2x/cjs/components/date-picker/date-picker-utils.d.ts +10 -6
  23. package/2x/cjs/components/date-picker/date-picker-utils.js +33 -151
  24. package/2x/cjs/components/date-picker/date-picker-week-utils.d.ts +8 -0
  25. package/2x/cjs/components/date-picker/date-picker-week-utils.js +140 -0
  26. package/2x/cjs/components/date-picker/date-picker.d.ts +2 -1
  27. package/2x/cjs/components/date-picker/date-picker.js +16 -16
  28. package/2x/cjs/components/date-picker/index.d.ts +1 -0
  29. package/2x/cjs/components/date-picker-view/date-picker-view.d.ts +2 -1
  30. package/2x/cjs/components/date-picker-view/date-picker-view.js +5 -5
  31. package/2x/cjs/components/date-picker-view/index.d.ts +1 -0
  32. package/2x/cjs/components/dialog/dialog.css +26 -15
  33. package/2x/cjs/components/dialog/dialog.js +50 -29
  34. package/2x/cjs/components/dropdown/dropdown.css +13 -11
  35. package/2x/cjs/components/dropdown/dropdown.d.ts +13 -4
  36. package/2x/cjs/components/dropdown/dropdown.js +13 -11
  37. package/2x/cjs/components/dropdown/index.d.ts +14 -3
  38. package/2x/cjs/components/dropdown/index.js +8 -1
  39. package/2x/cjs/components/dropdown/item.d.ts +1 -1
  40. package/2x/cjs/components/dropdown/item.js +10 -4
  41. package/2x/cjs/components/ellipsis/ellipsis.js +1 -1
  42. package/2x/cjs/components/floating-bubble/floating-bubble.css +2 -1
  43. package/2x/cjs/components/floating-bubble/floating-bubble.d.ts +1 -1
  44. package/2x/cjs/components/form/form-item.css +4 -1
  45. package/2x/cjs/components/form/form-item.d.ts +2 -2
  46. package/2x/cjs/components/form/form.css +4 -0
  47. package/2x/cjs/components/form/form.d.ts +3 -0
  48. package/2x/cjs/components/form/form.js +3 -1
  49. package/2x/cjs/components/form/index.css +8 -1
  50. package/2x/cjs/components/form/index.d.ts +1 -0
  51. package/2x/cjs/components/image-uploader/image-uploader.d.ts +9 -6
  52. package/2x/cjs/components/image-uploader/image-uploader.js +8 -6
  53. package/2x/cjs/components/image-uploader/index.d.ts +1 -1
  54. package/2x/cjs/components/image-viewer/image-viewer.d.ts +1 -7
  55. package/2x/cjs/components/image-viewer/image-viewer.js +3 -101
  56. package/2x/cjs/components/image-viewer/index.d.ts +2 -1
  57. package/2x/cjs/components/image-viewer/index.js +5 -2
  58. package/2x/cjs/components/image-viewer/methods.d.ts +8 -1
  59. package/2x/cjs/components/image-viewer/methods.js +129 -1
  60. package/2x/cjs/components/index-bar/index-bar.css +4 -0
  61. package/2x/cjs/components/index-bar/index-bar.js +31 -23
  62. package/2x/cjs/components/index-bar/panel.d.ts +2 -2
  63. package/2x/cjs/components/index-bar/panel.js +2 -34
  64. package/2x/cjs/components/input/input.d.ts +3 -8
  65. package/2x/cjs/components/input/input.js +11 -1
  66. package/2x/cjs/components/list/list.css +8 -5
  67. package/2x/cjs/components/list/list.d.ts +1 -1
  68. package/2x/cjs/components/mask/mask.js +7 -1
  69. package/2x/cjs/components/modal/alert.d.ts +7 -0
  70. package/2x/cjs/components/modal/alert.js +33 -0
  71. package/2x/cjs/components/modal/confirm.d.ts +9 -0
  72. package/2x/cjs/components/modal/confirm.js +116 -0
  73. package/2x/cjs/components/modal/index.d.ts +16 -0
  74. package/2x/cjs/components/modal/index.js +26 -0
  75. package/2x/cjs/components/modal/modal-action-button.d.ts +14 -0
  76. package/2x/cjs/components/modal/modal-action-button.js +109 -0
  77. package/2x/cjs/components/modal/modal.css +89 -0
  78. package/2x/cjs/components/modal/modal.d.ts +26 -0
  79. package/2x/cjs/components/modal/modal.js +193 -0
  80. package/2x/cjs/components/modal/show.d.ts +8 -0
  81. package/2x/cjs/components/modal/show.js +62 -0
  82. package/2x/cjs/components/notice-bar/notice-bar.css +1 -1
  83. package/2x/cjs/components/notice-bar/notice-bar.js +0 -1
  84. package/2x/cjs/components/number-keyboard/number-keyboard.js +57 -11
  85. package/2x/cjs/components/page-indicator/page-indicator.css +1 -1
  86. package/2x/cjs/components/picker/index.d.ts +1 -1
  87. package/2x/cjs/components/picker/picker.d.ts +2 -2
  88. package/2x/cjs/components/picker/picker.js +17 -16
  89. package/2x/cjs/components/picker-view/column.js +1 -18
  90. package/2x/cjs/components/picker-view/picker-view.d.ts +2 -2
  91. package/2x/cjs/components/picker-view/picker-view.js +42 -21
  92. package/2x/cjs/components/popup/popup.js +4 -0
  93. package/2x/cjs/components/search-bar/search-bar.css +1 -1
  94. package/2x/cjs/components/search-bar/search-bar.js +1 -0
  95. package/2x/cjs/components/space/space.d.ts +2 -1
  96. package/2x/cjs/components/space/space.js +4 -2
  97. package/2x/cjs/components/stepper/stepper.css +8 -0
  98. package/2x/cjs/components/stepper/stepper.js +2 -6
  99. package/2x/cjs/components/swipe-action/swipe-action.css +2 -1
  100. package/2x/cjs/components/swiper/swiper.js +4 -4
  101. package/2x/cjs/components/switch/switch.css +19 -16
  102. package/2x/cjs/components/switch/switch.d.ts +1 -1
  103. package/2x/cjs/components/tabs/tabs.css +2 -1
  104. package/2x/cjs/components/tabs/tabs.d.ts +1 -1
  105. package/2x/cjs/components/tabs/tabs.js +2 -4
  106. package/2x/cjs/components/tag/tag.css +8 -11
  107. package/2x/cjs/components/tag/tag.d.ts +1 -1
  108. package/2x/cjs/components/tag/tag.js +4 -2
  109. package/2x/cjs/components/toast/toast.css +7 -4
  110. package/2x/cjs/components/toast/toast.js +3 -1
  111. package/2x/cjs/components/virtual-input/virtual-input.css +27 -9
  112. package/2x/cjs/components/virtual-input/virtual-input.d.ts +4 -0
  113. package/2x/cjs/components/virtual-input/virtual-input.js +47 -17
  114. package/2x/cjs/index.d.ts +10 -8
  115. package/2x/cjs/index.js +36 -20
  116. package/2x/cjs/locales/base.d.ts +6 -0
  117. package/2x/cjs/locales/base.js +6 -0
  118. package/2x/cjs/locales/en-US.d.ts +6 -0
  119. package/2x/cjs/locales/zh-CN.d.ts +6 -0
  120. package/2x/cjs/locales/zh-CN.js +6 -0
  121. package/2x/cjs/utils/use-props-value.js +2 -2
  122. package/2x/es/components/action-sheet/action-sheet.d.ts +3 -3
  123. package/2x/es/components/cascader/cascader.css +40 -0
  124. package/2x/es/components/cascader/cascader.d.ts +20 -0
  125. package/2x/es/components/cascader/cascader.js +104 -0
  126. package/2x/es/components/cascader/index.d.ts +9 -0
  127. package/2x/es/components/cascader/index.js +7 -0
  128. package/2x/es/components/cascader/prompt.d.ts +2 -0
  129. package/2x/es/components/cascader/prompt.js +37 -0
  130. package/2x/es/components/cascader-view/cascader-view.css +40 -0
  131. package/2x/es/components/cascader-view/cascader-view.d.ts +20 -0
  132. package/2x/es/components/cascader-view/cascader-view.js +130 -0
  133. package/2x/es/components/cascader-view/index.d.ts +4 -0
  134. package/2x/es/components/cascader-view/index.js +3 -0
  135. package/2x/es/components/cascader-view/use-cascader-value-extend.d.ts +2 -0
  136. package/2x/es/components/cascader-view/use-cascader-value-extend.js +52 -0
  137. package/2x/es/components/check-list/check-list-item.d.ts +2 -2
  138. package/2x/es/components/check-list/check-list.d.ts +2 -2
  139. package/2x/es/components/collapse/collapse.d.ts +2 -0
  140. package/2x/es/components/collapse/collapse.js +21 -5
  141. package/2x/es/components/date-picker/date-picker-date-utils.d.ts +8 -0
  142. package/2x/es/components/date-picker/date-picker-date-utils.js +183 -0
  143. package/2x/es/components/date-picker/date-picker-utils.d.ts +10 -6
  144. package/2x/es/components/date-picker/date-picker-utils.js +26 -150
  145. package/2x/es/components/date-picker/date-picker-week-utils.d.ts +8 -0
  146. package/2x/es/components/date-picker/date-picker-week-utils.js +117 -0
  147. package/2x/es/components/date-picker/date-picker.d.ts +2 -1
  148. package/2x/es/components/date-picker/date-picker.js +15 -16
  149. package/2x/es/components/date-picker/index.d.ts +1 -0
  150. package/2x/es/components/date-picker-view/date-picker-view.d.ts +2 -1
  151. package/2x/es/components/date-picker-view/date-picker-view.js +5 -5
  152. package/2x/es/components/date-picker-view/index.d.ts +1 -0
  153. package/2x/es/components/dialog/dialog.css +26 -15
  154. package/2x/es/components/dialog/dialog.js +44 -29
  155. package/2x/es/components/dropdown/dropdown.css +13 -11
  156. package/2x/es/components/dropdown/dropdown.d.ts +13 -4
  157. package/2x/es/components/dropdown/dropdown.js +14 -12
  158. package/2x/es/components/dropdown/index.d.ts +14 -3
  159. package/2x/es/components/dropdown/index.js +5 -1
  160. package/2x/es/components/dropdown/item.d.ts +1 -1
  161. package/2x/es/components/dropdown/item.js +9 -4
  162. package/2x/es/components/ellipsis/ellipsis.js +1 -1
  163. package/2x/es/components/floating-bubble/floating-bubble.css +2 -1
  164. package/2x/es/components/floating-bubble/floating-bubble.d.ts +1 -1
  165. package/2x/es/components/form/form-item.css +4 -1
  166. package/2x/es/components/form/form-item.d.ts +2 -2
  167. package/2x/es/components/form/form.css +4 -0
  168. package/2x/es/components/form/form.d.ts +3 -0
  169. package/2x/es/components/form/form.js +3 -1
  170. package/2x/es/components/form/index.css +8 -1
  171. package/2x/es/components/form/index.d.ts +1 -0
  172. package/2x/es/components/image-uploader/image-uploader.d.ts +9 -6
  173. package/2x/es/components/image-uploader/image-uploader.js +8 -6
  174. package/2x/es/components/image-uploader/index.d.ts +1 -1
  175. package/2x/es/components/image-viewer/image-viewer.d.ts +1 -7
  176. package/2x/es/components/image-viewer/image-viewer.js +2 -91
  177. package/2x/es/components/image-viewer/index.d.ts +2 -1
  178. package/2x/es/components/image-viewer/index.js +4 -2
  179. package/2x/es/components/image-viewer/methods.d.ts +8 -1
  180. package/2x/es/components/image-viewer/methods.js +109 -0
  181. package/2x/es/components/index-bar/index-bar.css +4 -0
  182. package/2x/es/components/index-bar/index-bar.js +29 -23
  183. package/2x/es/components/index-bar/panel.d.ts +2 -2
  184. package/2x/es/components/index-bar/panel.js +2 -26
  185. package/2x/es/components/input/input.d.ts +3 -8
  186. package/2x/es/components/input/input.js +12 -2
  187. package/2x/es/components/list/list.css +8 -5
  188. package/2x/es/components/list/list.d.ts +1 -1
  189. package/2x/es/components/mask/mask.js +6 -1
  190. package/2x/es/components/modal/alert.d.ts +7 -0
  191. package/2x/es/components/modal/alert.js +23 -0
  192. package/2x/es/components/modal/confirm.d.ts +9 -0
  193. package/2x/es/components/modal/confirm.js +106 -0
  194. package/2x/es/components/modal/index.d.ts +16 -0
  195. package/2x/es/components/modal/index.js +11 -0
  196. package/2x/es/components/modal/modal-action-button.d.ts +14 -0
  197. package/2x/es/components/modal/modal-action-button.js +90 -0
  198. package/2x/es/components/modal/modal.css +89 -0
  199. package/2x/es/components/modal/modal.d.ts +26 -0
  200. package/2x/es/components/modal/modal.js +164 -0
  201. package/2x/es/components/modal/show.d.ts +8 -0
  202. package/2x/es/components/modal/show.js +48 -0
  203. package/2x/es/components/notice-bar/notice-bar.css +1 -1
  204. package/2x/es/components/notice-bar/notice-bar.js +0 -1
  205. package/2x/es/components/number-keyboard/number-keyboard.js +56 -11
  206. package/2x/es/components/page-indicator/page-indicator.css +1 -1
  207. package/2x/es/components/picker/index.d.ts +1 -1
  208. package/2x/es/components/picker/picker.d.ts +2 -2
  209. package/2x/es/components/picker/picker.js +17 -15
  210. package/2x/es/components/picker-view/column.js +2 -18
  211. package/2x/es/components/picker-view/picker-view.d.ts +2 -2
  212. package/2x/es/components/picker-view/picker-view.js +38 -17
  213. package/2x/es/components/popup/popup.js +3 -0
  214. package/2x/es/components/search-bar/search-bar.css +1 -1
  215. package/2x/es/components/search-bar/search-bar.js +1 -0
  216. package/2x/es/components/space/space.d.ts +2 -1
  217. package/2x/es/components/space/space.js +4 -2
  218. package/2x/es/components/stepper/stepper.css +8 -0
  219. package/2x/es/components/stepper/stepper.js +2 -6
  220. package/2x/es/components/swipe-action/swipe-action.css +2 -1
  221. package/2x/es/components/swiper/swiper.js +4 -4
  222. package/2x/es/components/switch/switch.css +19 -16
  223. package/2x/es/components/switch/switch.d.ts +1 -1
  224. package/2x/es/components/tabs/tabs.css +2 -1
  225. package/2x/es/components/tabs/tabs.d.ts +1 -1
  226. package/2x/es/components/tabs/tabs.js +2 -4
  227. package/2x/es/components/tag/tag.css +8 -11
  228. package/2x/es/components/tag/tag.d.ts +1 -1
  229. package/2x/es/components/tag/tag.js +4 -2
  230. package/2x/es/components/toast/toast.css +7 -4
  231. package/2x/es/components/toast/toast.js +2 -1
  232. package/2x/es/components/virtual-input/virtual-input.css +27 -9
  233. package/2x/es/components/virtual-input/virtual-input.d.ts +4 -0
  234. package/2x/es/components/virtual-input/virtual-input.js +47 -18
  235. package/2x/es/index.d.ts +10 -8
  236. package/2x/es/index.js +11 -9
  237. package/2x/es/locales/base.d.ts +6 -0
  238. package/2x/es/locales/base.js +6 -0
  239. package/2x/es/locales/en-US.d.ts +6 -0
  240. package/2x/es/locales/zh-CN.d.ts +6 -0
  241. package/2x/es/locales/zh-CN.js +6 -0
  242. package/2x/es/utils/use-props-value.js +4 -4
  243. package/2x/package.json +4 -4
  244. package/cjs/components/action-sheet/action-sheet.d.ts +3 -3
  245. package/cjs/components/cascader/cascader.css +35 -0
  246. package/cjs/components/cascader/cascader.d.ts +20 -0
  247. package/cjs/components/cascader/cascader.js +130 -0
  248. package/cjs/components/cascader/index.d.ts +9 -0
  249. package/cjs/components/cascader/index.js +20 -0
  250. package/cjs/components/cascader/prompt.d.ts +2 -0
  251. package/cjs/components/cascader/prompt.js +51 -0
  252. package/cjs/components/cascader-view/cascader-view.css +33 -0
  253. package/cjs/components/cascader-view/cascader-view.d.ts +20 -0
  254. package/cjs/components/cascader-view/cascader-view.js +189 -0
  255. package/cjs/components/cascader-view/index.d.ts +4 -0
  256. package/cjs/components/cascader-view/index.js +13 -0
  257. package/cjs/components/cascader-view/use-cascader-value-extend.d.ts +2 -0
  258. package/cjs/components/cascader-view/use-cascader-value-extend.js +97 -0
  259. package/cjs/components/check-list/check-list-item.d.ts +2 -2
  260. package/cjs/components/check-list/check-list.d.ts +2 -2
  261. package/cjs/components/collapse/collapse.d.ts +2 -0
  262. package/cjs/components/collapse/collapse.js +21 -5
  263. package/cjs/components/date-picker/date-picker-date-utils.d.ts +8 -0
  264. package/cjs/components/date-picker/date-picker-date-utils.js +206 -0
  265. package/cjs/components/date-picker/date-picker-utils.d.ts +10 -6
  266. package/cjs/components/date-picker/date-picker-utils.js +33 -151
  267. package/cjs/components/date-picker/date-picker-week-utils.d.ts +8 -0
  268. package/cjs/components/date-picker/date-picker-week-utils.js +140 -0
  269. package/cjs/components/date-picker/date-picker.d.ts +2 -1
  270. package/cjs/components/date-picker/date-picker.js +16 -16
  271. package/cjs/components/date-picker/index.d.ts +1 -0
  272. package/cjs/components/date-picker-view/date-picker-view.d.ts +2 -1
  273. package/cjs/components/date-picker-view/date-picker-view.js +5 -5
  274. package/cjs/components/date-picker-view/index.d.ts +1 -0
  275. package/cjs/components/dialog/dialog.css +24 -15
  276. package/cjs/components/dialog/dialog.js +50 -29
  277. package/cjs/components/dropdown/dropdown.css +12 -11
  278. package/cjs/components/dropdown/dropdown.d.ts +13 -4
  279. package/cjs/components/dropdown/dropdown.js +13 -11
  280. package/cjs/components/dropdown/index.d.ts +14 -3
  281. package/cjs/components/dropdown/index.js +8 -1
  282. package/cjs/components/dropdown/item.d.ts +1 -1
  283. package/cjs/components/dropdown/item.js +10 -4
  284. package/cjs/components/ellipsis/ellipsis.js +1 -1
  285. package/cjs/components/floating-bubble/floating-bubble.css +2 -1
  286. package/cjs/components/floating-bubble/floating-bubble.d.ts +1 -1
  287. package/cjs/components/form/form-item.css +4 -1
  288. package/cjs/components/form/form-item.d.ts +2 -2
  289. package/cjs/components/form/form.css +3 -0
  290. package/cjs/components/form/form.d.ts +3 -0
  291. package/cjs/components/form/form.js +3 -1
  292. package/cjs/components/form/index.css +7 -1
  293. package/cjs/components/form/index.d.ts +1 -0
  294. package/cjs/components/image-uploader/image-uploader.d.ts +9 -6
  295. package/cjs/components/image-uploader/image-uploader.js +8 -6
  296. package/cjs/components/image-uploader/index.d.ts +1 -1
  297. package/cjs/components/image-viewer/image-viewer.d.ts +1 -7
  298. package/cjs/components/image-viewer/image-viewer.js +3 -101
  299. package/cjs/components/image-viewer/index.d.ts +2 -1
  300. package/cjs/components/image-viewer/index.js +5 -2
  301. package/cjs/components/image-viewer/methods.d.ts +8 -1
  302. package/cjs/components/image-viewer/methods.js +129 -1
  303. package/cjs/components/index-bar/index-bar.css +3 -0
  304. package/cjs/components/index-bar/index-bar.js +31 -23
  305. package/cjs/components/index-bar/panel.d.ts +2 -2
  306. package/cjs/components/index-bar/panel.js +2 -34
  307. package/cjs/components/input/input.d.ts +3 -8
  308. package/cjs/components/input/input.js +11 -1
  309. package/cjs/components/list/list.css +8 -5
  310. package/cjs/components/list/list.d.ts +1 -1
  311. package/cjs/components/mask/mask.js +7 -1
  312. package/cjs/components/modal/alert.d.ts +7 -0
  313. package/cjs/components/modal/alert.js +33 -0
  314. package/cjs/components/modal/confirm.d.ts +9 -0
  315. package/cjs/components/modal/confirm.js +116 -0
  316. package/cjs/components/modal/index.d.ts +16 -0
  317. package/cjs/components/modal/index.js +26 -0
  318. package/cjs/components/modal/modal-action-button.d.ts +14 -0
  319. package/cjs/components/modal/modal-action-button.js +109 -0
  320. package/cjs/components/modal/modal.css +75 -0
  321. package/cjs/components/modal/modal.d.ts +26 -0
  322. package/cjs/components/modal/modal.js +193 -0
  323. package/cjs/components/modal/show.d.ts +8 -0
  324. package/cjs/components/modal/show.js +62 -0
  325. package/cjs/components/notice-bar/notice-bar.css +1 -1
  326. package/cjs/components/notice-bar/notice-bar.js +0 -1
  327. package/cjs/components/number-keyboard/number-keyboard.js +57 -11
  328. package/cjs/components/page-indicator/page-indicator.css +1 -1
  329. package/cjs/components/picker/index.d.ts +1 -1
  330. package/cjs/components/picker/picker.d.ts +2 -2
  331. package/cjs/components/picker/picker.js +17 -16
  332. package/cjs/components/picker-view/column.js +1 -18
  333. package/cjs/components/picker-view/picker-view.d.ts +2 -2
  334. package/cjs/components/picker-view/picker-view.js +42 -21
  335. package/cjs/components/popup/popup.js +4 -0
  336. package/cjs/components/search-bar/search-bar.css +1 -1
  337. package/cjs/components/search-bar/search-bar.js +1 -0
  338. package/cjs/components/space/space.d.ts +2 -1
  339. package/cjs/components/space/space.js +4 -2
  340. package/cjs/components/stepper/stepper.css +7 -0
  341. package/cjs/components/stepper/stepper.js +2 -6
  342. package/cjs/components/swipe-action/swipe-action.css +2 -1
  343. package/cjs/components/swiper/swiper.js +4 -4
  344. package/cjs/components/switch/switch.css +19 -16
  345. package/cjs/components/switch/switch.d.ts +1 -1
  346. package/cjs/components/tabs/tabs.css +2 -1
  347. package/cjs/components/tabs/tabs.d.ts +1 -1
  348. package/cjs/components/tabs/tabs.js +2 -4
  349. package/cjs/components/tag/tag.css +8 -10
  350. package/cjs/components/tag/tag.d.ts +1 -1
  351. package/cjs/components/tag/tag.js +4 -2
  352. package/cjs/components/toast/toast.css +7 -4
  353. package/cjs/components/toast/toast.js +3 -1
  354. package/cjs/components/virtual-input/virtual-input.css +24 -8
  355. package/cjs/components/virtual-input/virtual-input.d.ts +4 -0
  356. package/cjs/components/virtual-input/virtual-input.js +47 -17
  357. package/cjs/index.d.ts +10 -8
  358. package/cjs/index.js +36 -20
  359. package/cjs/locales/base.d.ts +6 -0
  360. package/cjs/locales/base.js +6 -0
  361. package/cjs/locales/en-US.d.ts +6 -0
  362. package/cjs/locales/zh-CN.d.ts +6 -0
  363. package/cjs/locales/zh-CN.js +6 -0
  364. package/cjs/utils/use-props-value.js +2 -2
  365. package/es/components/action-sheet/action-sheet.d.ts +3 -3
  366. package/es/components/cascader/cascader.css +35 -0
  367. package/es/components/cascader/cascader.d.ts +20 -0
  368. package/es/components/cascader/cascader.js +104 -0
  369. package/es/components/cascader/index.d.ts +9 -0
  370. package/es/components/cascader/index.js +7 -0
  371. package/es/components/cascader/prompt.d.ts +2 -0
  372. package/es/components/cascader/prompt.js +37 -0
  373. package/es/components/cascader-view/cascader-view.css +33 -0
  374. package/es/components/cascader-view/cascader-view.d.ts +20 -0
  375. package/es/components/cascader-view/cascader-view.js +130 -0
  376. package/es/components/cascader-view/index.d.ts +4 -0
  377. package/es/components/cascader-view/index.js +3 -0
  378. package/es/components/cascader-view/use-cascader-value-extend.d.ts +2 -0
  379. package/es/components/cascader-view/use-cascader-value-extend.js +52 -0
  380. package/es/components/check-list/check-list-item.d.ts +2 -2
  381. package/es/components/check-list/check-list.d.ts +2 -2
  382. package/es/components/collapse/collapse.d.ts +2 -0
  383. package/es/components/collapse/collapse.js +21 -5
  384. package/es/components/date-picker/date-picker-date-utils.d.ts +8 -0
  385. package/es/components/date-picker/date-picker-date-utils.js +183 -0
  386. package/es/components/date-picker/date-picker-utils.d.ts +10 -6
  387. package/es/components/date-picker/date-picker-utils.js +26 -150
  388. package/es/components/date-picker/date-picker-week-utils.d.ts +8 -0
  389. package/es/components/date-picker/date-picker-week-utils.js +117 -0
  390. package/es/components/date-picker/date-picker.d.ts +2 -1
  391. package/es/components/date-picker/date-picker.js +15 -16
  392. package/es/components/date-picker/index.d.ts +1 -0
  393. package/es/components/date-picker-view/date-picker-view.d.ts +2 -1
  394. package/es/components/date-picker-view/date-picker-view.js +5 -5
  395. package/es/components/date-picker-view/index.d.ts +1 -0
  396. package/es/components/dialog/dialog.css +24 -15
  397. package/es/components/dialog/dialog.js +44 -29
  398. package/es/components/dropdown/dropdown.css +12 -11
  399. package/es/components/dropdown/dropdown.d.ts +13 -4
  400. package/es/components/dropdown/dropdown.js +14 -12
  401. package/es/components/dropdown/index.d.ts +14 -3
  402. package/es/components/dropdown/index.js +5 -1
  403. package/es/components/dropdown/item.d.ts +1 -1
  404. package/es/components/dropdown/item.js +9 -4
  405. package/es/components/ellipsis/ellipsis.js +1 -1
  406. package/es/components/floating-bubble/floating-bubble.css +2 -1
  407. package/es/components/floating-bubble/floating-bubble.d.ts +1 -1
  408. package/es/components/form/form-item.css +4 -1
  409. package/es/components/form/form-item.d.ts +2 -2
  410. package/es/components/form/form.css +3 -0
  411. package/es/components/form/form.d.ts +3 -0
  412. package/es/components/form/form.js +3 -1
  413. package/es/components/form/index.css +7 -1
  414. package/es/components/form/index.d.ts +1 -0
  415. package/es/components/image-uploader/image-uploader.d.ts +9 -6
  416. package/es/components/image-uploader/image-uploader.js +8 -6
  417. package/es/components/image-uploader/index.d.ts +1 -1
  418. package/es/components/image-viewer/image-viewer.d.ts +1 -7
  419. package/es/components/image-viewer/image-viewer.js +2 -91
  420. package/es/components/image-viewer/index.d.ts +2 -1
  421. package/es/components/image-viewer/index.js +4 -2
  422. package/es/components/image-viewer/methods.d.ts +8 -1
  423. package/es/components/image-viewer/methods.js +109 -0
  424. package/es/components/index-bar/index-bar.css +3 -0
  425. package/es/components/index-bar/index-bar.js +29 -23
  426. package/es/components/index-bar/panel.d.ts +2 -2
  427. package/es/components/index-bar/panel.js +2 -26
  428. package/es/components/input/input.d.ts +3 -8
  429. package/es/components/input/input.js +12 -2
  430. package/es/components/list/list.css +8 -5
  431. package/es/components/list/list.d.ts +1 -1
  432. package/es/components/mask/mask.js +6 -1
  433. package/es/components/modal/alert.d.ts +7 -0
  434. package/es/components/modal/alert.js +23 -0
  435. package/es/components/modal/confirm.d.ts +9 -0
  436. package/es/components/modal/confirm.js +106 -0
  437. package/es/components/modal/index.d.ts +16 -0
  438. package/es/components/modal/index.js +11 -0
  439. package/es/components/modal/modal-action-button.d.ts +14 -0
  440. package/es/components/modal/modal-action-button.js +90 -0
  441. package/es/components/modal/modal.css +75 -0
  442. package/es/components/modal/modal.d.ts +26 -0
  443. package/es/components/modal/modal.js +164 -0
  444. package/es/components/modal/show.d.ts +8 -0
  445. package/es/components/modal/show.js +48 -0
  446. package/es/components/notice-bar/notice-bar.css +1 -1
  447. package/es/components/notice-bar/notice-bar.js +0 -1
  448. package/es/components/number-keyboard/number-keyboard.js +56 -11
  449. package/es/components/page-indicator/page-indicator.css +1 -1
  450. package/es/components/picker/index.d.ts +1 -1
  451. package/es/components/picker/picker.d.ts +2 -2
  452. package/es/components/picker/picker.js +17 -15
  453. package/es/components/picker-view/column.js +2 -18
  454. package/es/components/picker-view/picker-view.d.ts +2 -2
  455. package/es/components/picker-view/picker-view.js +38 -17
  456. package/es/components/popup/popup.js +3 -0
  457. package/es/components/search-bar/search-bar.css +1 -1
  458. package/es/components/search-bar/search-bar.js +1 -0
  459. package/es/components/space/space.d.ts +2 -1
  460. package/es/components/space/space.js +4 -2
  461. package/es/components/stepper/stepper.css +7 -0
  462. package/es/components/stepper/stepper.js +2 -6
  463. package/es/components/swipe-action/swipe-action.css +2 -1
  464. package/es/components/swiper/swiper.js +4 -4
  465. package/es/components/switch/switch.css +19 -16
  466. package/es/components/switch/switch.d.ts +1 -1
  467. package/es/components/tabs/tabs.css +2 -1
  468. package/es/components/tabs/tabs.d.ts +1 -1
  469. package/es/components/tabs/tabs.js +2 -4
  470. package/es/components/tag/tag.css +8 -10
  471. package/es/components/tag/tag.d.ts +1 -1
  472. package/es/components/tag/tag.js +4 -2
  473. package/es/components/toast/toast.css +7 -4
  474. package/es/components/toast/toast.js +2 -1
  475. package/es/components/virtual-input/virtual-input.css +24 -8
  476. package/es/components/virtual-input/virtual-input.d.ts +4 -0
  477. package/es/components/virtual-input/virtual-input.js +47 -18
  478. package/es/index.d.ts +10 -8
  479. package/es/index.js +11 -9
  480. package/es/locales/base.d.ts +6 -0
  481. package/es/locales/base.js +6 -0
  482. package/es/locales/en-US.d.ts +6 -0
  483. package/es/locales/zh-CN.d.ts +6 -0
  484. package/es/locales/zh-CN.js +6 -0
  485. package/es/utils/use-props-value.js +4 -4
  486. package/package.json +4 -4
  487. package/umd/antd-mobile.js +1 -1
  488. package/2x/cjs/components/desense-text/desense-text.css +0 -10
  489. package/2x/cjs/components/desense-text/desense-text.d.ts +0 -10
  490. package/2x/cjs/components/desense-text/desense-text.js +0 -50
  491. package/2x/cjs/components/desense-text/index.d.ts +0 -4
  492. package/2x/cjs/components/desense-text/index.js +0 -13
  493. package/2x/cjs/components/index-bar/context.d.ts +0 -5
  494. package/2x/cjs/components/index-bar/context.js +0 -14
  495. package/2x/es/components/desense-text/desense-text.css +0 -10
  496. package/2x/es/components/desense-text/desense-text.d.ts +0 -10
  497. package/2x/es/components/desense-text/desense-text.js +0 -32
  498. package/2x/es/components/desense-text/index.d.ts +0 -4
  499. package/2x/es/components/desense-text/index.js +0 -3
  500. package/2x/es/components/index-bar/context.d.ts +0 -5
  501. package/2x/es/components/index-bar/context.js +0 -5
  502. package/cjs/components/desense-text/desense-text.css +0 -9
  503. package/cjs/components/desense-text/desense-text.d.ts +0 -10
  504. package/cjs/components/desense-text/desense-text.js +0 -50
  505. package/cjs/components/desense-text/index.d.ts +0 -4
  506. package/cjs/components/desense-text/index.js +0 -13
  507. package/cjs/components/index-bar/context.d.ts +0 -5
  508. package/cjs/components/index-bar/context.js +0 -14
  509. package/es/components/desense-text/desense-text.css +0 -9
  510. package/es/components/desense-text/desense-text.d.ts +0 -10
  511. package/es/components/desense-text/desense-text.js +0 -32
  512. package/es/components/desense-text/index.d.ts +0 -4
  513. package/es/components/desense-text/index.js +0 -3
  514. package/es/components/index-bar/context.d.ts +0 -5
  515. package/es/components/index-bar/context.js +0 -5
@@ -0,0 +1,130 @@
1
+ function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
2
+
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+
5
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
6
+
7
+ import React, { useState, useEffect, useMemo } from 'react';
8
+ import classNames from 'classnames';
9
+ import Tabs from '../tabs';
10
+ import CheckList from '../check-list';
11
+ import { withNativeProps } from '../../utils/native-props';
12
+ import { mergeProps } from '../../utils/with-default-props';
13
+ import { usePropsValue } from '../../utils/use-props-value';
14
+ import { useCascaderValueExtend } from './use-cascader-value-extend';
15
+ import { useConfig } from '../config-provider';
16
+ var classPrefix = "adm-cascader-view";
17
+ var defaultProps = {
18
+ defaultValue: []
19
+ };
20
+ export var CascaderView = function CascaderView(p) {
21
+ var _useConfig = useConfig(),
22
+ locale = _useConfig.locale;
23
+
24
+ var props = mergeProps(defaultProps, {
25
+ placeholder: locale.Cascader.placeholder
26
+ }, p);
27
+
28
+ var _usePropsValue = usePropsValue(Object.assign(Object.assign({}, props), {
29
+ onChange: function onChange(val) {
30
+ var _a;
31
+
32
+ (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, val, generateValueExtend(val));
33
+ }
34
+ })),
35
+ value = _usePropsValue[0],
36
+ setValue = _usePropsValue[1];
37
+
38
+ var _useState = useState(0),
39
+ tabActiveKey = _useState[0],
40
+ setTabActiveKey = _useState[1];
41
+
42
+ var generateValueExtend = useCascaderValueExtend(props.options);
43
+ var levels = useMemo(function () {
44
+ var ret = [];
45
+ var currentOptions = props.options;
46
+ var reachedEnd = false;
47
+
48
+ var _loop = function _loop() {
49
+ var v = _step.value;
50
+ var target = currentOptions.find(function (option) {
51
+ return option.value === v;
52
+ });
53
+ ret.push({
54
+ selected: target,
55
+ options: currentOptions
56
+ });
57
+
58
+ if (!target || !target.children || target.children.length === 0) {
59
+ reachedEnd = true;
60
+ return "break";
61
+ }
62
+
63
+ currentOptions = target.children;
64
+ };
65
+
66
+ for (var _iterator = _createForOfIteratorHelperLoose(value), _step; !(_step = _iterator()).done;) {
67
+ var _ret = _loop();
68
+
69
+ if (_ret === "break") break;
70
+ }
71
+
72
+ if (!reachedEnd) {
73
+ ret.push({
74
+ selected: undefined,
75
+ options: currentOptions
76
+ });
77
+ }
78
+
79
+ return ret;
80
+ }, [value, props.options]);
81
+ useEffect(function () {
82
+ setTabActiveKey(levels.length - 1);
83
+ }, [value]);
84
+
85
+ var onItemSelect = function onItemSelect(selectValue, depth) {
86
+ var next = value.slice(0, depth);
87
+
88
+ if (selectValue !== undefined) {
89
+ next[depth] = selectValue;
90
+ }
91
+
92
+ setValue(next);
93
+ };
94
+
95
+ return withNativeProps(props, /*#__PURE__*/React.createElement("div", {
96
+ className: classPrefix
97
+ }, /*#__PURE__*/React.createElement(Tabs, {
98
+ activeKey: tabActiveKey.toString(),
99
+ onChange: function onChange(key) {
100
+ return setTabActiveKey(parseInt(key));
101
+ },
102
+ stretch: false,
103
+ className: classPrefix + "-tabs"
104
+ }, levels.map(function (level, index) {
105
+ var selected = level.selected;
106
+ return /*#__PURE__*/React.createElement(Tabs.Tab, {
107
+ key: index,
108
+ title: /*#__PURE__*/React.createElement("div", {
109
+ className: classPrefix + "-header-title"
110
+ }, selected ? selected.label : props.placeholder),
111
+ forceRender: true
112
+ }, /*#__PURE__*/React.createElement(CheckList, {
113
+ value: [value[index]],
114
+ onChange: function onChange(selectValue) {
115
+ return onItemSelect(selectValue[0], index);
116
+ },
117
+ className: classPrefix + "-content"
118
+ }, level.options.map(function (option) {
119
+ var _classNames;
120
+
121
+ var active = value[index] === option.value;
122
+ return /*#__PURE__*/React.createElement(CheckList.Item, {
123
+ value: option.value,
124
+ key: option.value,
125
+ disabled: option.disabled,
126
+ className: classNames(classPrefix + "-item", (_classNames = {}, _classNames[classPrefix + "-item-active"] = active, _classNames))
127
+ }, option.label);
128
+ })));
129
+ }))));
130
+ };
@@ -0,0 +1,4 @@
1
+ import './cascader-view.less';
2
+ import { CascaderView } from './cascader-view';
3
+ export type { CascaderViewProps, CascaderValue, CascaderValueExtend, CascaderOption, } from './cascader-view';
4
+ export default CascaderView;
@@ -0,0 +1,3 @@
1
+ import "./cascader-view.css";
2
+ import { CascaderView } from './cascader-view';
3
+ export default CascaderView;
@@ -0,0 +1,2 @@
1
+ import { CascaderValue, CascaderValueExtend, CascaderOption } from './cascader-view';
2
+ export declare function useCascaderValueExtend(options: CascaderOption[]): (val: CascaderValue[]) => CascaderValueExtend;
@@ -0,0 +1,52 @@
1
+ function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
2
+
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+
5
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
6
+
7
+ import { useMemo } from 'react';
8
+ import memoize from 'lodash/memoize';
9
+ export function useCascaderValueExtend(options) {
10
+ var generateItems = useMemo(function () {
11
+ return memoize(function (val) {
12
+ var ret = [];
13
+ var currentOptions = options;
14
+
15
+ var _loop = function _loop() {
16
+ var v = _step.value;
17
+ var target = currentOptions.find(function (option) {
18
+ return option.value === v;
19
+ });
20
+
21
+ if (!target) {
22
+ return "break";
23
+ }
24
+
25
+ ret.push(target);
26
+ if (!target.children) return "break";
27
+ currentOptions = target.children;
28
+ };
29
+
30
+ for (var _iterator = _createForOfIteratorHelperLoose(val), _step; !(_step = _iterator()).done;) {
31
+ var _ret = _loop();
32
+
33
+ if (_ret === "break") break;
34
+ }
35
+
36
+ return ret;
37
+ }, function (val) {
38
+ return JSON.stringify(val);
39
+ });
40
+ }, [options]);
41
+
42
+ function generateValueExtend(val) {
43
+ return {
44
+ get items() {
45
+ return generateItems(val);
46
+ }
47
+
48
+ };
49
+ }
50
+
51
+ return generateValueExtend;
52
+ }
@@ -1,8 +1,8 @@
1
1
  import { FC } from 'react';
2
2
  import { ListItemProps } from '../list';
3
3
  import { NativeProps } from '../../utils/native-props';
4
- export declare type CheckListItemProps = Pick<ListItemProps, 'title' | 'children' | 'description' | 'prefix' | 'disabled' | 'onClick'> & {
4
+ export declare type CheckListItemProps = Pick<ListItemProps, 'title' | 'children' | 'description' | 'prefix' | 'disabled' | 'onClick' | 'style'> & {
5
5
  value: string;
6
6
  readOnly?: boolean;
7
- } & NativeProps<'--prefix-width' | '--align-items'>;
7
+ } & NativeProps;
8
8
  export declare const CheckListItem: FC<CheckListItemProps>;
@@ -1,7 +1,7 @@
1
1
  import { FC, ReactNode } from 'react';
2
2
  import { NativeProps } from '../../utils/native-props';
3
3
  import { ListProps } from '../list';
4
- export declare type CheckListProps = Pick<ListProps, 'mode'> & {
4
+ export declare type CheckListProps = Pick<ListProps, 'mode' | 'style'> & {
5
5
  defaultValue?: string[];
6
6
  value?: string[];
7
7
  onChange?: (val: string[]) => void;
@@ -9,5 +9,5 @@ export declare type CheckListProps = Pick<ListProps, 'mode'> & {
9
9
  activeIcon?: ReactNode;
10
10
  disabled?: boolean;
11
11
  readOnly?: boolean;
12
- } & NativeProps<'--prefix-width' | '--align-items'>;
12
+ } & NativeProps;
13
13
  export declare const CheckList: FC<CheckListProps>;
@@ -7,12 +7,14 @@ export declare type CollapsePanelProps = {
7
7
  forceRender?: boolean;
8
8
  destroyOnClose?: boolean;
9
9
  onClick?: (event: React.MouseEvent<Element, MouseEvent>) => void;
10
+ arrow?: React.ReactNode;
10
11
  } & NativeProps;
11
12
  export declare const CollapsePanel: FC<CollapsePanelProps>;
12
13
  declare type ValueProps<T> = {
13
14
  activeKey?: T;
14
15
  defaultActiveKey?: T;
15
16
  onChange?: (activeKey: T) => void;
17
+ arrow?: React.ReactNode;
16
18
  };
17
19
  export declare type CollapseProps = (({
18
20
  accordion?: false;
@@ -102,7 +102,7 @@ export var Collapse = function Collapse(props) {
102
102
  return withNativeProps(props, /*#__PURE__*/React.createElement("div", {
103
103
  className: classPrefix
104
104
  }, /*#__PURE__*/React.createElement(List, null, panels.map(function (panel) {
105
- var _classNames, _classNames2;
105
+ var _classNames2;
106
106
 
107
107
  var key = panel.key;
108
108
  var active = activeKeyList.includes(key);
@@ -129,14 +129,30 @@ export var Collapse = function Collapse(props) {
129
129
  (_b = (_a = panel.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, event);
130
130
  }
131
131
 
132
+ var renderArrow = function renderArrow() {
133
+ var _classNames;
134
+
135
+ var arrow = /*#__PURE__*/React.createElement(RightOutline, null);
136
+
137
+ if (props.arrow !== undefined) {
138
+ arrow = props.arrow;
139
+ }
140
+
141
+ if (panel.props.arrow !== undefined) {
142
+ arrow = panel.props.arrow;
143
+ }
144
+
145
+ return /*#__PURE__*/React.createElement("div", {
146
+ className: classNames(classPrefix + "-arrow", (_classNames = {}, _classNames[classPrefix + "-arrow-active"] = active, _classNames))
147
+ }, arrow);
148
+ };
149
+
132
150
  return /*#__PURE__*/React.createElement(React.Fragment, {
133
151
  key: key
134
152
  }, withNativeProps(panel.props, /*#__PURE__*/React.createElement(List.Item, {
135
- className: classNames(classPrefix + "-panel-header", (_classNames = {}, _classNames[classPrefix + "-panel-header-disabled"] = panel.props.disabled, _classNames)),
153
+ className: classNames(classPrefix + "-panel-header", (_classNames2 = {}, _classNames2[classPrefix + "-panel-header-disabled"] = panel.props.disabled, _classNames2)),
136
154
  onClick: panel.props.disabled ? undefined : handleClick,
137
- arrow: /*#__PURE__*/React.createElement("div", {
138
- className: classNames(classPrefix + "-arrow", (_classNames2 = {}, _classNames2[classPrefix + "-arrow-active"] = active, _classNames2))
139
- }, /*#__PURE__*/React.createElement(RightOutline, null))
155
+ arrow: renderArrow()
140
156
  }, panel.props.title)), /*#__PURE__*/React.createElement(CollapsePanelContent, {
141
157
  visible: active,
142
158
  forceRender: !!panel.props.forceRender,
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ import { PickerColumn } from '../picker';
3
+ import type { DatePickerFilter } from './date-picker-utils';
4
+ export declare type DatePrecision = 'year' | 'month' | 'day' | 'hour' | 'minute' | 'second';
5
+ export declare function defaultRenderLabel(type: DatePrecision, data: number): string;
6
+ export declare function generateDatePickerColumns(selected: string[], min: Date, max: Date, precision: DatePrecision, renderLabel: (type: DatePrecision, data: number) => ReactNode, filter: DatePickerFilter | undefined): PickerColumn[];
7
+ export declare function convertDateToStringArray(date: Date | undefined | null): string[];
8
+ export declare function convertStringArrayToDate(value: (string | null | undefined)[]): Date;
@@ -0,0 +1,183 @@
1
+ import dayjs from 'dayjs';
2
+ import isoWeek from 'dayjs/plugin/isoWeek';
3
+ import isoWeeksInYear from 'dayjs/plugin/isoWeeksInYear';
4
+ import isLeapYear from 'dayjs/plugin/isLeapYear';
5
+ dayjs.extend(isoWeek);
6
+ dayjs.extend(isoWeeksInYear);
7
+ dayjs.extend(isLeapYear);
8
+ var precisionRankRecord = {
9
+ year: 0,
10
+ month: 1,
11
+ day: 2,
12
+ hour: 3,
13
+ minute: 4,
14
+ second: 5
15
+ };
16
+ export function defaultRenderLabel(type, data) {
17
+ switch (type) {
18
+ case 'minute':
19
+ case 'second':
20
+ case 'hour':
21
+ return ('0' + data.toString()).slice(-2);
22
+
23
+ default:
24
+ return data.toString();
25
+ }
26
+ }
27
+ export function generateDatePickerColumns(selected, min, max, precision, renderLabel, filter) {
28
+ var ret = [];
29
+ var minYear = min.getFullYear();
30
+ var minMonth = min.getMonth() + 1;
31
+ var minDay = min.getDate();
32
+ var minHour = min.getHours();
33
+ var minMinute = min.getMinutes();
34
+ var minSecond = min.getSeconds();
35
+ var maxYear = max.getFullYear();
36
+ var maxMonth = max.getMonth() + 1;
37
+ var maxDay = max.getDate();
38
+ var maxHour = max.getHours();
39
+ var maxMinute = max.getMinutes();
40
+ var maxSecond = max.getSeconds();
41
+ var rank = precisionRankRecord[precision];
42
+
43
+ if (rank >= precisionRankRecord.year) {
44
+ var years = [];
45
+
46
+ for (var i = minYear; i <= maxYear; i++) {
47
+ var value = i.toString();
48
+ years.push({
49
+ label: renderLabel ? renderLabel('year', i) : value,
50
+ value: value
51
+ });
52
+ }
53
+
54
+ ret.push(years);
55
+ }
56
+
57
+ var selectedYear = parseInt(selected[0]);
58
+ var firstDayInSelectedMonth = dayjs(convertStringArrayToDate([selected[0], selected[1], '1']));
59
+ var selectedMonth = parseInt(selected[1]);
60
+ var selectedDay = parseInt(selected[2]);
61
+ var selectedHour = parseInt(selected[3]);
62
+ var selectedMinute = parseInt(selected[4]);
63
+ var isInMinYear = selectedYear === minYear;
64
+ var isInMaxYear = selectedYear === maxYear;
65
+ var isInMinMonth = isInMinYear && selectedMonth === minMonth;
66
+ var isInMaxMonth = isInMaxYear && selectedMonth === maxMonth;
67
+ var isInMinDay = isInMinMonth && selectedDay === minDay;
68
+ var isInMaxDay = isInMaxMonth && selectedDay === maxDay;
69
+ var isInMinHour = isInMinDay && selectedHour === minHour;
70
+ var isInMaxHour = isInMaxDay && selectedHour === maxHour;
71
+ var isInMinMinute = isInMinHour && selectedMinute === minMinute;
72
+ var isInMaxMinute = isInMaxHour && selectedMinute === maxMinute;
73
+
74
+ var generateColumn = function generateColumn(from, to, precision) {
75
+ var column = [];
76
+
77
+ for (var _i = from; _i <= to; _i++) {
78
+ column.push(_i);
79
+ }
80
+
81
+ var prefix = selected.slice(0, precisionRankRecord[precision]);
82
+ var currentFilter = filter === null || filter === void 0 ? void 0 : filter[precision];
83
+
84
+ if (currentFilter && typeof currentFilter === 'function') {
85
+ column = column.filter(function (i) {
86
+ return currentFilter(i, {
87
+ get date() {
88
+ var stringArray = [].concat(prefix, [i.toString()]);
89
+ return convertStringArrayToDate(stringArray);
90
+ }
91
+
92
+ });
93
+ });
94
+ }
95
+
96
+ return column;
97
+ };
98
+
99
+ if (rank >= precisionRankRecord.month) {
100
+ var lower = isInMinYear ? minMonth : 1;
101
+ var upper = isInMaxYear ? maxMonth : 12;
102
+ var months = generateColumn(lower, upper, 'month');
103
+ ret.push(months.map(function (v) {
104
+ return {
105
+ label: renderLabel('month', v),
106
+ value: v.toString()
107
+ };
108
+ }));
109
+ }
110
+
111
+ if (rank >= precisionRankRecord.day) {
112
+ var _lower = isInMinMonth ? minDay : 1;
113
+
114
+ var _upper = isInMaxMonth ? maxDay : firstDayInSelectedMonth.daysInMonth();
115
+
116
+ var days = generateColumn(_lower, _upper, 'day');
117
+ ret.push(days.map(function (v) {
118
+ return {
119
+ label: renderLabel('day', v),
120
+ value: v.toString()
121
+ };
122
+ }));
123
+ }
124
+
125
+ if (rank >= precisionRankRecord.hour) {
126
+ var _lower2 = isInMinDay ? minHour : 0;
127
+
128
+ var _upper2 = isInMaxDay ? maxHour : 23;
129
+
130
+ var hours = generateColumn(_lower2, _upper2, 'hour');
131
+ ret.push(hours.map(function (v) {
132
+ return {
133
+ label: renderLabel('hour', v),
134
+ value: v.toString()
135
+ };
136
+ }));
137
+ }
138
+
139
+ if (rank >= precisionRankRecord.minute) {
140
+ var _lower3 = isInMinHour ? minMinute : 0;
141
+
142
+ var _upper3 = isInMaxHour ? maxMinute : 59;
143
+
144
+ var minutes = generateColumn(_lower3, _upper3, 'minute');
145
+ ret.push(minutes.map(function (v) {
146
+ return {
147
+ label: renderLabel('minute', v),
148
+ value: v.toString()
149
+ };
150
+ }));
151
+ }
152
+
153
+ if (rank >= precisionRankRecord.second) {
154
+ var _lower4 = isInMinMinute ? minSecond : 0;
155
+
156
+ var _upper4 = isInMaxMinute ? maxSecond : 59;
157
+
158
+ var seconds = generateColumn(_lower4, _upper4, 'second');
159
+ ret.push(seconds.map(function (v) {
160
+ return {
161
+ label: renderLabel('second', v),
162
+ value: v.toString()
163
+ };
164
+ }));
165
+ }
166
+
167
+ return ret;
168
+ }
169
+ export function convertDateToStringArray(date) {
170
+ if (!date) return [];
171
+ return [date.getFullYear().toString(), (date.getMonth() + 1).toString(), date.getDate().toString(), date.getHours().toString(), date.getMinutes().toString(), date.getSeconds().toString()];
172
+ }
173
+ export function convertStringArrayToDate(value) {
174
+ var _a, _b, _c, _d, _e, _f;
175
+
176
+ var yearString = (_a = value[0]) !== null && _a !== void 0 ? _a : '1900';
177
+ var monthString = (_b = value[1]) !== null && _b !== void 0 ? _b : '1';
178
+ var dateString = (_c = value[2]) !== null && _c !== void 0 ? _c : '1';
179
+ var hourString = (_d = value[3]) !== null && _d !== void 0 ? _d : '0';
180
+ var minuteString = (_e = value[4]) !== null && _e !== void 0 ? _e : '0';
181
+ var secondString = (_f = value[5]) !== null && _f !== void 0 ? _f : '0';
182
+ return new Date(parseInt(yearString), parseInt(monthString) - 1, parseInt(dateString), parseInt(hourString), parseInt(minuteString), parseInt(secondString));
183
+ }
@@ -1,7 +1,11 @@
1
1
  import { ReactNode } from 'react';
2
- import { PickerColumn } from '../picker';
3
- export declare type Precision = 'year' | 'month' | 'day' | 'hour' | 'minute' | 'second';
4
- export declare function defaultRenderLabel(type: Precision, data: number): string;
5
- export declare function generateDatePickerColumns(selected: string[], min: Date, max: Date, precision: Precision, renderLabel: (type: Precision, data: number) => ReactNode): PickerColumn[];
6
- export declare function convertDateToStringArray(date: Date | undefined | null): string[];
7
- export declare function convertStringArrayToDate(value: (string | null | undefined)[]): Date | null;
2
+ import type { DatePrecision } from './date-picker-date-utils';
3
+ import type { WeekPrecision } from './date-picker-week-utils';
4
+ export declare type Precision = DatePrecision | WeekPrecision;
5
+ export declare type DatePickerFilter = Partial<Record<Precision, (val: number, extend: {
6
+ date: Date;
7
+ }) => boolean>>;
8
+ export declare const convertDateToStringArray: (date: Date | undefined | null, precision: Precision) => string[];
9
+ export declare const convertStringArrayToDate: (value: (string | null | undefined)[], precision: Precision) => Date;
10
+ export declare const generateDatePickerColumns: (selected: string[], min: Date, max: Date, precision: Precision, renderLabel: (type: Precision, data: number) => ReactNode, filter: DatePickerFilter | undefined) => import("../picker-view").PickerColumn[];
11
+ export declare const defaultRenderLabel: (precision: Precision, data: number) => string;