vant 3.4.6 → 3.4.9

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 (475) hide show
  1. package/README.md +141 -0
  2. package/changelog.generated.md +44 -65
  3. package/es/address-list/AddressListItem.d.ts +3 -2
  4. package/es/address-list/AddressListItem.js +1 -1
  5. package/es/badge/Badge.d.ts +4 -3
  6. package/es/badge/index.d.ts +2 -2
  7. package/es/calendar/Calendar.js +1 -1
  8. package/es/calendar/CalendarDay.js +4 -0
  9. package/es/calendar/index.css +1 -1
  10. package/es/calendar/index.less +2 -0
  11. package/es/calendar/types.d.ts +2 -1
  12. package/es/calendar/var.less +1 -0
  13. package/es/cascader/types.d.ts +2 -1
  14. package/es/checkbox/Checker.d.ts +2 -1
  15. package/es/collapse/Collapse.d.ts +7 -6
  16. package/es/collapse/index.d.ts +3 -3
  17. package/es/composables/use-touch.js +1 -1
  18. package/es/config-provider/ConfigProvider.d.ts +4 -3
  19. package/es/config-provider/index.d.ts +2 -2
  20. package/es/contact-list/ContactList.d.ts +3 -2
  21. package/es/coupon/Coupon.d.ts +2 -1
  22. package/es/coupon-list/CouponList.d.ts +3 -13
  23. package/es/coupon-list/CouponList.js +9 -7
  24. package/es/coupon-list/index.css +1 -1
  25. package/es/coupon-list/index.d.ts +2 -9
  26. package/es/coupon-list/index.less +4 -16
  27. package/es/coupon-list/style/index.js +1 -0
  28. package/es/coupon-list/style/less.js +1 -0
  29. package/es/coupon-list/var.less +0 -1
  30. package/es/datetime-picker/DatePicker.js +2 -2
  31. package/es/dialog/index.css +1 -1
  32. package/es/dialog/types.d.ts +2 -2
  33. package/es/dropdown-item/types.d.ts +2 -1
  34. package/es/empty/Empty.d.ts +8 -7
  35. package/es/empty/Empty.js +12 -15
  36. package/es/empty/Images.d.ts +4 -0
  37. package/es/empty/Images.js +271 -0
  38. package/es/empty/index.d.ts +2 -2
  39. package/es/field/Field.d.ts +4 -0
  40. package/es/field/Field.js +8 -3
  41. package/es/field/index.d.ts +2 -0
  42. package/es/field/types.d.ts +1 -1
  43. package/es/form/Form.d.ts +13 -13
  44. package/es/form/Form.js +7 -3
  45. package/es/form/index.d.ts +9 -9
  46. package/es/form/types.d.ts +1 -0
  47. package/es/icon/index.css +1 -1
  48. package/es/index-bar/IndexBar.d.ts +5 -4
  49. package/es/index-bar/IndexBar.js +25 -4
  50. package/es/index-bar/index.d.ts +3 -3
  51. package/es/index-bar/types.d.ts +2 -1
  52. package/es/index.d.ts +1 -1
  53. package/es/index.js +1 -1
  54. package/es/loading/Loading.js +3 -1
  55. package/es/locale/lang/da-DK.d.ts +64 -0
  56. package/es/locale/lang/da-DK.js +66 -0
  57. package/es/locale/lang/is-IS.d.ts +64 -0
  58. package/es/locale/lang/is-IS.js +74 -0
  59. package/es/locale/lang/la-LA.d.ts +64 -0
  60. package/es/locale/lang/la-LA.js +66 -0
  61. package/es/locale/lang/sv-SE.d.ts +64 -0
  62. package/es/locale/lang/sv-SE.js +66 -0
  63. package/es/notify/types.d.ts +2 -1
  64. package/es/number-keyboard/NumberKeyboard.js +10 -1
  65. package/es/picker/types.d.ts +3 -2
  66. package/es/popup/index.css +1 -1
  67. package/es/progress/Progress.d.ts +4 -3
  68. package/es/progress/index.d.ts +2 -2
  69. package/es/rate/Rate.js +32 -10
  70. package/es/search/Search.d.ts +3 -0
  71. package/es/search/index.d.ts +2 -0
  72. package/es/share-sheet/ShareSheet.js +25 -11
  73. package/es/share-sheet/index.css +1 -1
  74. package/es/share-sheet/index.less +45 -1
  75. package/es/skeleton/Skeleton.d.ts +5 -4
  76. package/es/skeleton/index.d.ts +3 -3
  77. package/es/slider/index.css +1 -1
  78. package/es/style/animation.css +1 -1
  79. package/es/style/base.css +1 -1
  80. package/es/swipe-cell/index.css +1 -1
  81. package/es/tabbar/Tabbar.d.ts +2 -2
  82. package/es/tabs/Tabs.d.ts +1 -1
  83. package/es/tabs/Tabs.js +1 -0
  84. package/es/tabs/types.d.ts +5 -4
  85. package/es/toast/types.d.ts +3 -2
  86. package/es/tree-select/TreeSelect.d.ts +7 -6
  87. package/es/tree-select/index.d.ts +3 -3
  88. package/es/uploader/Uploader.d.ts +4 -4
  89. package/es/uploader/Uploader.js +3 -3
  90. package/es/uploader/UploaderPreviewItem.d.ts +3 -3
  91. package/es/uploader/UploaderPreviewItem.js +9 -6
  92. package/es/uploader/index.d.ts +2 -2
  93. package/es/uploader/types.d.ts +5 -5
  94. package/es/uploader/utils.d.ts +0 -1
  95. package/es/uploader/utils.js +2 -4
  96. package/es/utils/basic.d.ts +2 -0
  97. package/es/utils/basic.js +3 -1
  98. package/es/utils/format.d.ts +7 -6
  99. package/es/utils/format.js +6 -0
  100. package/es/utils/validate.d.ts +2 -1
  101. package/lib/action-bar/ActionBar.js +8 -13
  102. package/lib/action-bar/index.js +9 -16
  103. package/lib/action-bar-button/ActionBarButton.js +8 -13
  104. package/lib/action-bar-button/index.js +9 -16
  105. package/lib/action-bar-icon/ActionBarIcon.js +8 -13
  106. package/lib/action-bar-icon/index.js +9 -16
  107. package/lib/action-sheet/ActionSheet.js +8 -13
  108. package/lib/action-sheet/index.js +9 -16
  109. package/lib/address-edit/AddressEdit.js +9 -16
  110. package/lib/address-edit/AddressEditDetail.js +8 -13
  111. package/lib/address-edit/index.js +9 -16
  112. package/lib/address-edit/types.js +7 -12
  113. package/lib/address-list/AddressList.js +9 -16
  114. package/lib/address-list/AddressListItem.d.ts +3 -2
  115. package/lib/address-list/AddressListItem.js +8 -13
  116. package/lib/address-list/index.js +9 -16
  117. package/lib/area/Area.js +8 -13
  118. package/lib/area/index.js +9 -16
  119. package/lib/area/types.js +7 -12
  120. package/lib/badge/Badge.d.ts +4 -3
  121. package/lib/badge/Badge.js +8 -13
  122. package/lib/badge/index.d.ts +2 -2
  123. package/lib/badge/index.js +9 -16
  124. package/lib/button/Button.js +8 -13
  125. package/lib/button/index.js +9 -16
  126. package/lib/button/types.js +7 -12
  127. package/lib/calendar/Calendar.js +10 -17
  128. package/lib/calendar/CalendarDay.js +12 -13
  129. package/lib/calendar/CalendarHeader.js +8 -13
  130. package/lib/calendar/CalendarMonth.js +9 -16
  131. package/lib/calendar/index.css +1 -1
  132. package/lib/calendar/index.js +9 -16
  133. package/lib/calendar/index.less +2 -0
  134. package/lib/calendar/types.d.ts +2 -1
  135. package/lib/calendar/types.js +7 -12
  136. package/lib/calendar/utils.js +8 -13
  137. package/lib/calendar/var.less +1 -0
  138. package/lib/card/Card.js +8 -13
  139. package/lib/card/index.js +9 -16
  140. package/lib/cascader/Cascader.js +8 -13
  141. package/lib/cascader/index.js +9 -16
  142. package/lib/cascader/types.d.ts +2 -1
  143. package/lib/cascader/types.js +7 -12
  144. package/lib/cell/Cell.js +8 -13
  145. package/lib/cell/index.js +9 -16
  146. package/lib/cell-group/CellGroup.js +8 -13
  147. package/lib/cell-group/index.js +9 -16
  148. package/lib/checkbox/Checkbox.js +9 -16
  149. package/lib/checkbox/Checker.d.ts +2 -1
  150. package/lib/checkbox/Checker.js +8 -13
  151. package/lib/checkbox/index.js +9 -16
  152. package/lib/checkbox/types.js +7 -12
  153. package/lib/checkbox-group/CheckboxGroup.js +8 -13
  154. package/lib/checkbox-group/index.js +9 -16
  155. package/lib/checkbox-group/types.js +7 -12
  156. package/lib/circle/Circle.js +8 -13
  157. package/lib/circle/index.js +9 -16
  158. package/lib/col/Col.js +8 -13
  159. package/lib/col/index.js +9 -16
  160. package/lib/collapse/Collapse.d.ts +7 -6
  161. package/lib/collapse/Collapse.js +8 -13
  162. package/lib/collapse/index.d.ts +3 -3
  163. package/lib/collapse/index.js +9 -16
  164. package/lib/collapse-item/CollapseItem.js +8 -13
  165. package/lib/collapse-item/index.js +9 -16
  166. package/lib/collapse-item/types.js +7 -12
  167. package/lib/composables/on-popup-reopen.js +8 -13
  168. package/lib/composables/use-expose.js +8 -13
  169. package/lib/composables/use-height.js +8 -13
  170. package/lib/composables/use-id.js +8 -13
  171. package/lib/composables/use-lazy-render.js +8 -13
  172. package/lib/composables/use-lock-scroll.js +8 -13
  173. package/lib/composables/use-placeholder.js +8 -13
  174. package/lib/composables/use-refs.js +8 -13
  175. package/lib/composables/use-route.js +8 -13
  176. package/lib/composables/use-tab-status.js +8 -13
  177. package/lib/composables/use-touch.js +9 -14
  178. package/lib/composables/use-visibility-change.js +8 -13
  179. package/lib/config-provider/ConfigProvider.d.ts +4 -3
  180. package/lib/config-provider/ConfigProvider.js +8 -13
  181. package/lib/config-provider/index.d.ts +2 -2
  182. package/lib/config-provider/index.js +9 -16
  183. package/lib/contact-card/ContactCard.js +8 -13
  184. package/lib/contact-card/index.js +9 -16
  185. package/lib/contact-edit/ContactEdit.js +8 -13
  186. package/lib/contact-edit/index.js +9 -16
  187. package/lib/contact-list/ContactList.d.ts +3 -2
  188. package/lib/contact-list/ContactList.js +8 -13
  189. package/lib/contact-list/index.js +9 -16
  190. package/lib/count-down/CountDown.js +8 -13
  191. package/lib/count-down/index.js +9 -16
  192. package/lib/count-down/types.js +7 -12
  193. package/lib/count-down/utils.js +8 -13
  194. package/lib/coupon/Coupon.d.ts +2 -1
  195. package/lib/coupon/Coupon.js +8 -13
  196. package/lib/coupon/index.js +9 -16
  197. package/lib/coupon/utils.js +8 -13
  198. package/lib/coupon-cell/CouponCell.js +8 -13
  199. package/lib/coupon-cell/index.js +9 -16
  200. package/lib/coupon-list/CouponList.d.ts +3 -13
  201. package/lib/coupon-list/CouponList.js +17 -20
  202. package/lib/coupon-list/index.css +1 -1
  203. package/lib/coupon-list/index.d.ts +2 -9
  204. package/lib/coupon-list/index.js +9 -16
  205. package/lib/coupon-list/index.less +4 -16
  206. package/lib/coupon-list/style/index.js +1 -0
  207. package/lib/coupon-list/style/less.js +1 -0
  208. package/lib/coupon-list/var.less +0 -1
  209. package/lib/datetime-picker/DatePicker.js +10 -15
  210. package/lib/datetime-picker/DatetimePicker.js +9 -16
  211. package/lib/datetime-picker/TimePicker.js +8 -13
  212. package/lib/datetime-picker/index.js +9 -16
  213. package/lib/datetime-picker/types.js +7 -12
  214. package/lib/datetime-picker/utils.js +8 -13
  215. package/lib/dialog/Dialog.js +8 -13
  216. package/lib/dialog/function-call.js +9 -16
  217. package/lib/dialog/index.css +1 -1
  218. package/lib/dialog/index.js +8 -13
  219. package/lib/dialog/types.d.ts +2 -2
  220. package/lib/dialog/types.js +7 -12
  221. package/lib/divider/Divider.js +8 -13
  222. package/lib/divider/index.js +9 -16
  223. package/lib/dropdown-item/DropdownItem.js +8 -13
  224. package/lib/dropdown-item/index.js +9 -16
  225. package/lib/dropdown-item/types.d.ts +2 -1
  226. package/lib/dropdown-item/types.js +7 -12
  227. package/lib/dropdown-menu/DropdownMenu.js +8 -13
  228. package/lib/dropdown-menu/index.js +9 -16
  229. package/lib/dropdown-menu/types.js +7 -12
  230. package/lib/empty/Empty.d.ts +8 -7
  231. package/lib/empty/Empty.js +19 -27
  232. package/lib/empty/Images.d.ts +4 -0
  233. package/lib/empty/Images.js +290 -0
  234. package/lib/empty/index.d.ts +2 -2
  235. package/lib/empty/index.js +9 -16
  236. package/lib/field/Field.d.ts +4 -0
  237. package/lib/field/Field.js +15 -15
  238. package/lib/field/index.d.ts +2 -0
  239. package/lib/field/index.js +9 -16
  240. package/lib/field/types.d.ts +1 -1
  241. package/lib/field/types.js +7 -12
  242. package/lib/field/utils.js +8 -13
  243. package/lib/form/Form.d.ts +13 -13
  244. package/lib/form/Form.js +14 -15
  245. package/lib/form/index.d.ts +9 -9
  246. package/lib/form/index.js +9 -16
  247. package/lib/form/types.d.ts +1 -0
  248. package/lib/form/types.js +7 -12
  249. package/lib/grid/Grid.js +8 -13
  250. package/lib/grid/index.js +9 -16
  251. package/lib/grid-item/GridItem.js +8 -13
  252. package/lib/grid-item/index.js +9 -16
  253. package/lib/icon/Icon.js +8 -13
  254. package/lib/icon/index.css +1 -1
  255. package/lib/icon/index.js +9 -16
  256. package/lib/image/Image.js +8 -13
  257. package/lib/image/index.js +9 -16
  258. package/lib/image-preview/ImagePreview.js +9 -16
  259. package/lib/image-preview/ImagePreviewItem.js +8 -13
  260. package/lib/image-preview/function-call.js +9 -16
  261. package/lib/image-preview/index.js +8 -13
  262. package/lib/image-preview/types.js +7 -12
  263. package/lib/index-anchor/IndexAnchor.js +8 -13
  264. package/lib/index-anchor/index.js +9 -16
  265. package/lib/index-bar/IndexBar.d.ts +5 -4
  266. package/lib/index-bar/IndexBar.js +33 -17
  267. package/lib/index-bar/index.d.ts +3 -3
  268. package/lib/index-bar/index.js +9 -16
  269. package/lib/index-bar/types.d.ts +2 -1
  270. package/lib/index-bar/types.js +7 -12
  271. package/lib/index.css +1 -1
  272. package/lib/index.d.ts +1 -1
  273. package/lib/index.js +96 -100
  274. package/lib/index.less +2 -2
  275. package/lib/lazyload/index.js +8 -13
  276. package/lib/lazyload/vue-lazyload/index.js +9 -16
  277. package/lib/lazyload/vue-lazyload/lazy-component.js +8 -13
  278. package/lib/lazyload/vue-lazyload/lazy-container.js +8 -13
  279. package/lib/lazyload/vue-lazyload/lazy-image.js +8 -13
  280. package/lib/lazyload/vue-lazyload/lazy.js +9 -16
  281. package/lib/lazyload/vue-lazyload/listener.js +8 -13
  282. package/lib/lazyload/vue-lazyload/util.js +8 -13
  283. package/lib/list/List.js +8 -13
  284. package/lib/list/index.js +9 -16
  285. package/lib/list/types.js +7 -12
  286. package/lib/loading/Loading.js +11 -14
  287. package/lib/loading/index.js +9 -16
  288. package/lib/locale/index.js +9 -16
  289. package/lib/locale/lang/bn-BD.js +8 -13
  290. package/lib/locale/lang/da-DK.d.ts +64 -0
  291. package/lib/locale/lang/da-DK.js +85 -0
  292. package/lib/locale/lang/de-DE-formal.js +8 -13
  293. package/lib/locale/lang/de-DE.js +8 -13
  294. package/lib/locale/lang/en-US.js +8 -13
  295. package/lib/locale/lang/es-ES.js +8 -13
  296. package/lib/locale/lang/fr-FR.js +8 -13
  297. package/lib/locale/lang/hi-IN.js +8 -13
  298. package/lib/locale/lang/id-ID.js +8 -13
  299. package/lib/locale/lang/is-IS.d.ts +64 -0
  300. package/lib/locale/lang/is-IS.js +93 -0
  301. package/lib/locale/lang/it-IT.js +8 -13
  302. package/lib/locale/lang/ja-JP.js +8 -13
  303. package/lib/locale/lang/ko-KR.js +8 -13
  304. package/lib/locale/lang/la-LA.d.ts +64 -0
  305. package/lib/locale/lang/la-LA.js +85 -0
  306. package/lib/locale/lang/nb-NO.js +8 -13
  307. package/lib/locale/lang/pt-BR.js +8 -13
  308. package/lib/locale/lang/ro-RO.js +8 -13
  309. package/lib/locale/lang/ru-RU.js +8 -13
  310. package/lib/locale/lang/sv-SE.d.ts +64 -0
  311. package/lib/locale/lang/sv-SE.js +85 -0
  312. package/lib/locale/lang/th-TH.js +8 -13
  313. package/lib/locale/lang/tr-TR.js +8 -13
  314. package/lib/locale/lang/uk-UA.js +8 -13
  315. package/lib/locale/lang/vi-VN.js +8 -13
  316. package/lib/locale/lang/zh-CN.js +8 -13
  317. package/lib/locale/lang/zh-HK.js +8 -13
  318. package/lib/locale/lang/zh-TW.js +8 -13
  319. package/lib/nav-bar/NavBar.js +8 -13
  320. package/lib/nav-bar/index.js +9 -16
  321. package/lib/notice-bar/NoticeBar.js +8 -13
  322. package/lib/notice-bar/index.js +9 -16
  323. package/lib/notice-bar/types.js +7 -12
  324. package/lib/notify/Notify.js +8 -13
  325. package/lib/notify/function-call.js +9 -16
  326. package/lib/notify/index.js +8 -13
  327. package/lib/notify/types.d.ts +2 -1
  328. package/lib/notify/types.js +7 -12
  329. package/lib/number-keyboard/NumberKeyboard.js +19 -17
  330. package/lib/number-keyboard/NumberKeyboardKey.js +8 -13
  331. package/lib/number-keyboard/index.js +9 -16
  332. package/lib/overlay/Overlay.js +8 -13
  333. package/lib/overlay/index.js +9 -16
  334. package/lib/pagination/Pagination.js +8 -13
  335. package/lib/pagination/index.js +9 -16
  336. package/lib/password-input/PasswordInput.js +8 -13
  337. package/lib/password-input/index.js +9 -16
  338. package/lib/picker/Picker.js +9 -16
  339. package/lib/picker/PickerColumn.js +8 -13
  340. package/lib/picker/index.js +9 -16
  341. package/lib/picker/types.d.ts +3 -2
  342. package/lib/picker/types.js +7 -12
  343. package/lib/popover/Popover.js +8 -13
  344. package/lib/popover/index.js +9 -16
  345. package/lib/popover/types.js +7 -12
  346. package/lib/popup/Popup.js +8 -13
  347. package/lib/popup/index.css +1 -1
  348. package/lib/popup/index.js +9 -16
  349. package/lib/popup/shared.js +8 -13
  350. package/lib/popup/types.js +7 -12
  351. package/lib/progress/Progress.d.ts +4 -3
  352. package/lib/progress/Progress.js +8 -13
  353. package/lib/progress/index.d.ts +2 -2
  354. package/lib/progress/index.js +9 -16
  355. package/lib/progress/types.js +7 -12
  356. package/lib/pull-refresh/PullRefresh.js +8 -13
  357. package/lib/pull-refresh/index.js +9 -16
  358. package/lib/radio/Radio.js +9 -16
  359. package/lib/radio/index.js +9 -16
  360. package/lib/radio-group/RadioGroup.js +8 -13
  361. package/lib/radio-group/index.js +9 -16
  362. package/lib/rate/Rate.js +39 -22
  363. package/lib/rate/index.js +9 -16
  364. package/lib/row/Row.js +8 -13
  365. package/lib/row/index.js +9 -16
  366. package/lib/search/Search.d.ts +3 -0
  367. package/lib/search/Search.js +8 -13
  368. package/lib/search/index.d.ts +2 -0
  369. package/lib/search/index.js +9 -16
  370. package/lib/search/types.js +7 -12
  371. package/lib/share-sheet/ShareSheet.js +33 -24
  372. package/lib/share-sheet/index.css +1 -1
  373. package/lib/share-sheet/index.js +9 -16
  374. package/lib/share-sheet/index.less +45 -1
  375. package/lib/sidebar/Sidebar.js +8 -13
  376. package/lib/sidebar/index.js +9 -16
  377. package/lib/sidebar-item/SidebarItem.js +8 -13
  378. package/lib/sidebar-item/index.js +9 -16
  379. package/lib/skeleton/Skeleton.d.ts +5 -4
  380. package/lib/skeleton/Skeleton.js +8 -13
  381. package/lib/skeleton/index.d.ts +3 -3
  382. package/lib/skeleton/index.js +9 -16
  383. package/lib/slider/Slider.js +8 -13
  384. package/lib/slider/index.css +1 -1
  385. package/lib/slider/index.js +9 -16
  386. package/lib/step/Step.js +8 -13
  387. package/lib/step/index.js +9 -16
  388. package/lib/stepper/Stepper.js +8 -13
  389. package/lib/stepper/index.js +9 -16
  390. package/lib/steps/Steps.js +8 -13
  391. package/lib/steps/index.js +9 -16
  392. package/lib/sticky/Sticky.js +8 -13
  393. package/lib/sticky/index.js +9 -16
  394. package/lib/style/animation.css +1 -1
  395. package/lib/style/base.css +1 -1
  396. package/lib/submit-bar/SubmitBar.js +8 -13
  397. package/lib/submit-bar/index.js +9 -16
  398. package/lib/swipe/Swipe.js +8 -13
  399. package/lib/swipe/index.js +9 -16
  400. package/lib/swipe/types.js +7 -12
  401. package/lib/swipe-cell/SwipeCell.js +8 -13
  402. package/lib/swipe-cell/index.css +1 -1
  403. package/lib/swipe-cell/index.js +9 -16
  404. package/lib/swipe-cell/types.js +7 -12
  405. package/lib/swipe-item/SwipeItem.js +8 -13
  406. package/lib/swipe-item/index.js +9 -16
  407. package/lib/switch/Switch.js +8 -13
  408. package/lib/switch/index.js +9 -16
  409. package/lib/tab/Tab.js +8 -13
  410. package/lib/tab/index.js +9 -16
  411. package/lib/tabbar/Tabbar.d.ts +2 -2
  412. package/lib/tabbar/Tabbar.js +8 -13
  413. package/lib/tabbar/index.js +9 -16
  414. package/lib/tabbar-item/TabbarItem.js +8 -13
  415. package/lib/tabbar-item/index.js +9 -16
  416. package/lib/tabs/Tabs.d.ts +1 -1
  417. package/lib/tabs/Tabs.js +10 -16
  418. package/lib/tabs/TabsContent.js +8 -13
  419. package/lib/tabs/TabsTitle.js +8 -13
  420. package/lib/tabs/index.js +9 -16
  421. package/lib/tabs/types.d.ts +5 -4
  422. package/lib/tabs/types.js +7 -12
  423. package/lib/tabs/utils.js +8 -13
  424. package/lib/tag/Tag.js +8 -13
  425. package/lib/tag/index.js +9 -16
  426. package/lib/toast/Toast.js +8 -13
  427. package/lib/toast/function-call.js +9 -16
  428. package/lib/toast/index.js +8 -13
  429. package/lib/toast/lock-click.js +8 -13
  430. package/lib/toast/types.d.ts +3 -2
  431. package/lib/toast/types.js +7 -12
  432. package/lib/tree-select/TreeSelect.d.ts +7 -6
  433. package/lib/tree-select/TreeSelect.js +8 -13
  434. package/lib/tree-select/index.d.ts +3 -3
  435. package/lib/tree-select/index.js +9 -16
  436. package/lib/uploader/Uploader.d.ts +4 -4
  437. package/lib/uploader/Uploader.js +11 -18
  438. package/lib/uploader/UploaderPreviewItem.d.ts +3 -3
  439. package/lib/uploader/UploaderPreviewItem.js +17 -19
  440. package/lib/uploader/index.d.ts +2 -2
  441. package/lib/uploader/index.js +9 -16
  442. package/lib/uploader/types.d.ts +5 -5
  443. package/lib/uploader/types.js +7 -12
  444. package/lib/uploader/utils.d.ts +0 -1
  445. package/lib/uploader/utils.js +10 -17
  446. package/lib/utils/basic.d.ts +2 -0
  447. package/lib/utils/basic.js +11 -14
  448. package/lib/utils/constant.js +8 -13
  449. package/lib/utils/create.js +9 -16
  450. package/lib/utils/deep-assign.js +8 -13
  451. package/lib/utils/deep-clone.js +8 -13
  452. package/lib/utils/dom.js +8 -13
  453. package/lib/utils/format.d.ts +7 -6
  454. package/lib/utils/format.js +14 -13
  455. package/lib/utils/index.js +17 -21
  456. package/lib/utils/interceptor.js +8 -13
  457. package/lib/utils/mount-component.js +8 -13
  458. package/lib/utils/props.js +8 -13
  459. package/lib/utils/validate.d.ts +2 -1
  460. package/lib/utils/validate.js +8 -13
  461. package/lib/utils/with-install.js +8 -13
  462. package/lib/vant.cjs.js +530 -263
  463. package/lib/vant.cjs.min.js +1 -1
  464. package/lib/vant.es.js +530 -263
  465. package/lib/vant.es.min.js +530 -263
  466. package/lib/vant.js +530 -263
  467. package/lib/vant.min.js +1 -1
  468. package/package.json +3 -3
  469. package/vetur/attributes.json +423 -487
  470. package/vetur/tags.json +112 -110
  471. package/vetur/web-types.json +2200 -1345
  472. package/es/empty/Network.d.ts +0 -1
  473. package/es/empty/Network.js +0 -89
  474. package/lib/empty/Network.d.ts +0 -1
  475. package/lib/empty/Network.js +0 -113
package/lib/vant.cjs.js CHANGED
@@ -25,6 +25,7 @@ function pick(obj, keys, ignoreUndefined) {
25
25
  return ret;
26
26
  }, {});
27
27
  }
28
+ const toArray = (item) => Array.isArray(item) ? item : [item];
28
29
  const unknownProp = null;
29
30
  const numericProp = [Number, String];
30
31
  const truthProp = {
@@ -121,6 +122,12 @@ function addUnit(value) {
121
122
  }
122
123
  function getSizeStyle(originSize) {
123
124
  if (isDef(originSize)) {
125
+ if (Array.isArray(originSize)) {
126
+ return {
127
+ width: addUnit(originSize[0]),
128
+ height: addUnit(originSize[1])
129
+ };
130
+ }
124
131
  const size = addUnit(originSize);
125
132
  return {
126
133
  width: size,
@@ -311,10 +318,10 @@ const Locale = {
311
318
  };
312
319
  var stdin_default$1C = Locale;
313
320
  function createTranslate(name2) {
314
- const prefix2 = camelize(name2) + ".";
321
+ const prefix = camelize(name2) + ".";
315
322
  return (path, ...args) => {
316
323
  const messages2 = stdin_default$1C.messages();
317
- const message = get(messages2, prefix2 + path) || get(messages2, path);
324
+ const message = get(messages2, prefix + path) || get(messages2, path);
318
325
  return isFunction(message) ? message(...args) : message;
319
326
  };
320
327
  }
@@ -671,7 +678,9 @@ var stdin_default$1x = vue.defineComponent({
671
678
  return vue.createVNode("div", {
672
679
  "class": bem$1m([type, {
673
680
  vertical
674
- }])
681
+ }]),
682
+ "aria-live": "polite",
683
+ "aria-busy": true
675
684
  }, [vue.createVNode("span", {
676
685
  "class": bem$1m("spinner", type),
677
686
  "style": spinnerStyle.value
@@ -989,7 +998,7 @@ function useTouch() {
989
998
  };
990
999
  const move = (event) => {
991
1000
  const touch = event.touches[0];
992
- deltaX.value = touch.clientX < 0 ? 0 : touch.clientX - startX.value;
1001
+ deltaX.value = (touch.clientX < 0 ? 0 : touch.clientX) - startX.value;
993
1002
  deltaY.value = touch.clientY - startY.value;
994
1003
  offsetX.value = Math.abs(deltaX.value);
995
1004
  offsetY.value = Math.abs(deltaY.value);
@@ -2328,9 +2337,12 @@ const formProps = {
2328
2337
  scrollToError: Boolean,
2329
2338
  validateFirst: Boolean,
2330
2339
  submitOnEnter: truthProp,
2331
- validateTrigger: makeStringProp("onBlur"),
2332
2340
  showErrorMessage: truthProp,
2333
- errorMessageAlign: String
2341
+ errorMessageAlign: String,
2342
+ validateTrigger: {
2343
+ type: [String, Array],
2344
+ default: "onBlur"
2345
+ }
2334
2346
  };
2335
2347
  var stdin_default$1m = vue.defineComponent({
2336
2348
  name: name$1f,
@@ -2445,6 +2457,7 @@ var stdin_default$1m = vue.defineComponent({
2445
2457
  useExpose({
2446
2458
  submit,
2447
2459
  validate,
2460
+ getValues,
2448
2461
  scrollToField,
2449
2462
  resetValidation
2450
2463
  });
@@ -2542,7 +2555,7 @@ function cutString(str, maxlength) {
2542
2555
  return [...str].slice(0, maxlength).join("");
2543
2556
  }
2544
2557
  let current = 0;
2545
- function useId() {
2558
+ function useId$1() {
2546
2559
  const vm = vue.getCurrentInstance();
2547
2560
  const { name: name2 = "unknown" } = (vm == null ? void 0 : vm.type) || {};
2548
2561
  return `${name2}-${++current}`;
@@ -2563,6 +2576,7 @@ const fieldSharedProps = {
2563
2576
  placeholder: String,
2564
2577
  autocomplete: String,
2565
2578
  errorMessage: String,
2579
+ enterkeyhint: String,
2566
2580
  clearTrigger: makeStringProp("focus"),
2567
2581
  formatTrigger: makeStringProp("onChange"),
2568
2582
  error: {
@@ -2601,7 +2615,7 @@ var stdin_default$1l = vue.defineComponent({
2601
2615
  emit,
2602
2616
  slots
2603
2617
  }) {
2604
- const id = useId();
2618
+ const id = useId$1();
2605
2619
  const state = vue.reactive({
2606
2620
  focused: false,
2607
2621
  validateFailed: false,
@@ -2691,10 +2705,13 @@ var stdin_default$1l = vue.defineComponent({
2691
2705
  });
2692
2706
  const validateWithTrigger = (trigger) => {
2693
2707
  if (form && props.rules) {
2694
- const defaultTrigger = form.props.validateTrigger === trigger;
2708
+ const {
2709
+ validateTrigger
2710
+ } = form.props;
2711
+ const defaultTrigger = toArray(validateTrigger).includes(trigger);
2695
2712
  const rules = props.rules.filter((rule) => {
2696
2713
  if (rule.trigger) {
2697
- return rule.trigger === trigger;
2714
+ return toArray(rule.trigger).includes(trigger);
2698
2715
  }
2699
2716
  return defaultTrigger;
2700
2717
  });
@@ -2832,6 +2849,7 @@ var stdin_default$1l = vue.defineComponent({
2832
2849
  autofocus: props.autofocus,
2833
2850
  placeholder: props.placeholder,
2834
2851
  autocomplete: props.autocomplete,
2852
+ enterkeyhint: props.enterkeyhint,
2835
2853
  "aria-labelledby": props.label ? `${id}-label` : void 0,
2836
2854
  onBlur,
2837
2855
  onFocus,
@@ -4244,6 +4262,7 @@ var stdin_default$1a = vue.defineComponent({
4244
4262
  slots
4245
4263
  }) {
4246
4264
  const style = vue.computed(() => {
4265
+ var _a;
4247
4266
  const {
4248
4267
  item,
4249
4268
  index,
@@ -4275,6 +4294,9 @@ var stdin_default$1a = vue.defineComponent({
4275
4294
  break;
4276
4295
  }
4277
4296
  }
4297
+ if (offset + (((_a = item.date) == null ? void 0 : _a.getDate()) || 1) > 28) {
4298
+ style2.marginBottom = 0;
4299
+ }
4278
4300
  return style2;
4279
4301
  });
4280
4302
  const onClick = () => {
@@ -4782,8 +4804,8 @@ var stdin_default$17 = vue.defineComponent({
4782
4804
  }
4783
4805
  use.raf(() => {
4784
4806
  bodyHeight = Math.floor(use.useRect(bodyRef).height);
4785
- scrollToCurrentDate();
4786
4807
  });
4808
+ scrollToCurrentDate();
4787
4809
  };
4788
4810
  const reset = (date = getInitialDate()) => {
4789
4811
  currentDate.value = date;
@@ -5927,7 +5949,7 @@ var stdin_default$10 = vue.defineComponent({
5927
5949
  const root = vue.ref();
5928
5950
  const navRef = vue.ref();
5929
5951
  const wrapRef = vue.ref();
5930
- const id = useId();
5952
+ const id = useId$1();
5931
5953
  const scroller = use.useScrollParent(root);
5932
5954
  const [titleRefs, setTitleRefs] = useRefs();
5933
5955
  const {
@@ -6097,6 +6119,7 @@ var stdin_default$10 = vue.defineComponent({
6097
6119
  }
6098
6120
  };
6099
6121
  const renderNav = () => children.map((item, index) => vue.createVNode(stdin_default$13, vue.mergeProps({
6122
+ "key": item.id,
6100
6123
  "id": `${id}-${index}`,
6101
6124
  "ref": setTitleRefs(index),
6102
6125
  "type": props.type,
@@ -6316,7 +6339,7 @@ var stdin_default$_ = vue.defineComponent({
6316
6339
  setup(props, {
6317
6340
  slots
6318
6341
  }) {
6319
- const id = useId();
6342
+ const id = useId$1();
6320
6343
  const inited = vue.ref(false);
6321
6344
  const {
6322
6345
  parent,
@@ -7687,14 +7710,328 @@ var stdin_default$L = vue.defineComponent({
7687
7710
  }
7688
7711
  });
7689
7712
  const CouponCell = withInstall(stdin_default$L);
7690
- const [name$E, bem$D, t$8] = createNamespace("coupon-list");
7691
- const EMPTY_IMAGE = "https://img.yzcdn.cn/vant/coupon-empty.png";
7713
+ const getId = (num) => `van-empty-${num}`;
7714
+ const useId = (num) => `url(#${getId(num)})`;
7715
+ const renderStop = (color, offset, opacity) => vue.createVNode("stop", {
7716
+ "stop-color": color,
7717
+ "offset": `${offset}%`,
7718
+ "stop-opacity": opacity
7719
+ }, null);
7720
+ const renderStops = (fromColor, toColor) => [renderStop(fromColor, 0), renderStop(toColor, 100)];
7721
+ const renderShadow = (id) => [vue.createVNode("defs", null, [vue.createVNode("radialGradient", {
7722
+ "id": getId(id),
7723
+ "cx": "50%",
7724
+ "cy": "54%",
7725
+ "fx": "50%",
7726
+ "fy": "54%",
7727
+ "r": "297%",
7728
+ "gradientTransform": "matrix(-.16 0 0 -.33 .58 .72)"
7729
+ }, [renderStop("#EBEDF0", 0), renderStop("#F2F3F5", 100, 0.3)])]), vue.createVNode("ellipse", {
7730
+ "fill": useId(id),
7731
+ "opacity": ".8",
7732
+ "cx": "80",
7733
+ "cy": "140",
7734
+ "rx": "46",
7735
+ "ry": "8"
7736
+ }, null)];
7737
+ const renderBuilding = () => [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
7738
+ "id": getId("a"),
7739
+ "x1": "64%",
7740
+ "y1": "100%",
7741
+ "x2": "64%"
7742
+ }, [renderStop("#FFF", 0, 0.5), renderStop("#F2F3F5", 100)])]), vue.createVNode("g", {
7743
+ "opacity": ".8"
7744
+ }, [vue.createVNode("path", {
7745
+ "d": "M36 131V53H16v20H2v58h34z",
7746
+ "fill": useId("a")
7747
+ }, null), vue.createVNode("path", {
7748
+ "d": "M123 15h22v14h9v77h-31V15z",
7749
+ "fill": useId("a")
7750
+ }, null)])];
7751
+ const renderCloud = () => [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
7752
+ "id": getId("b"),
7753
+ "x1": "64%",
7754
+ "y1": "97%",
7755
+ "x2": "64%",
7756
+ "y2": "0%"
7757
+ }, [renderStop("#F2F3F5", 0, 0.3), renderStop("#F2F3F5", 100)])]), vue.createVNode("g", {
7758
+ "opacity": ".8"
7759
+ }, [vue.createVNode("path", {
7760
+ "d": "M87 6c3 0 7 3 8 6a8 8 0 1 1-1 16H80a7 7 0 0 1-8-6c0-4 3-7 6-7 0-5 4-9 9-9Z",
7761
+ "fill": useId("b")
7762
+ }, null), vue.createVNode("path", {
7763
+ "d": "M19 23c2 0 3 1 4 3 2 0 4 2 4 4a4 4 0 0 1-4 3v1h-7v-1l-1 1c-2 0-3-2-3-4 0-1 1-3 3-3 0-2 2-4 4-4Z",
7764
+ "fill": useId("b")
7765
+ }, null)])];
7766
+ const renderNetwork = () => vue.createVNode("svg", {
7767
+ "viewBox": "0 0 160 160"
7768
+ }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
7769
+ "id": getId(1),
7770
+ "x1": "64%",
7771
+ "y1": "100%",
7772
+ "x2": "64%"
7773
+ }, [renderStop("#FFF", 0, 0.5), renderStop("#F2F3F5", 100)]), vue.createVNode("linearGradient", {
7774
+ "id": getId(2),
7775
+ "x1": "50%",
7776
+ "x2": "50%",
7777
+ "y2": "84%"
7778
+ }, [renderStop("#EBEDF0", 0), renderStop("#DCDEE0", 100, 0)]), vue.createVNode("linearGradient", {
7779
+ "id": getId(3),
7780
+ "x1": "100%",
7781
+ "x2": "100%",
7782
+ "y2": "100%"
7783
+ }, [renderStops("#EAEDF0", "#DCDEE0")]), vue.createVNode("radialGradient", {
7784
+ "id": getId(4),
7785
+ "cx": "50%",
7786
+ "cy": "0%",
7787
+ "fx": "50%",
7788
+ "fy": "0%",
7789
+ "r": "100%",
7790
+ "gradientTransform": "matrix(0 1 -.54 0 .5 -.5)"
7791
+ }, [renderStop("#EBEDF0", 0), renderStop("#FFF", 100, 0)])]), vue.createVNode("g", {
7792
+ "fill": "none"
7793
+ }, [renderBuilding(), vue.createVNode("path", {
7794
+ "fill": useId(4),
7795
+ "d": "M0 139h160v21H0z"
7796
+ }, null), vue.createVNode("path", {
7797
+ "d": "M80 54a7 7 0 0 1 3 13v27l-2 2h-2a2 2 0 0 1-2-2V67a7 7 0 0 1 3-13z",
7798
+ "fill": useId(2)
7799
+ }, null), vue.createVNode("g", {
7800
+ "opacity": ".6",
7801
+ "stroke-linecap": "round",
7802
+ "stroke-width": "7"
7803
+ }, [vue.createVNode("path", {
7804
+ "d": "M64 47a19 19 0 0 0-5 13c0 5 2 10 5 13",
7805
+ "stroke": useId(3)
7806
+ }, null), vue.createVNode("path", {
7807
+ "d": "M53 36a34 34 0 0 0 0 48",
7808
+ "stroke": useId(3)
7809
+ }, null), vue.createVNode("path", {
7810
+ "d": "M95 73a19 19 0 0 0 6-13c0-5-2-9-6-13",
7811
+ "stroke": useId(3)
7812
+ }, null), vue.createVNode("path", {
7813
+ "d": "M106 84a34 34 0 0 0 0-48",
7814
+ "stroke": useId(3)
7815
+ }, null)]), vue.createVNode("g", {
7816
+ "transform": "translate(31 105)"
7817
+ }, [vue.createVNode("rect", {
7818
+ "fill": "#EBEDF0",
7819
+ "width": "98",
7820
+ "height": "34",
7821
+ "rx": "2"
7822
+ }, null), vue.createVNode("rect", {
7823
+ "fill": "#FFF",
7824
+ "x": "9",
7825
+ "y": "8",
7826
+ "width": "80",
7827
+ "height": "18",
7828
+ "rx": "1.1"
7829
+ }, null), vue.createVNode("rect", {
7830
+ "fill": "#EBEDF0",
7831
+ "x": "15",
7832
+ "y": "12",
7833
+ "width": "18",
7834
+ "height": "6",
7835
+ "rx": "1.1"
7836
+ }, null)])])]);
7837
+ const renderMaterial = () => vue.createVNode("svg", {
7838
+ "viewBox": "0 0 160 160"
7839
+ }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
7840
+ "x1": "50%",
7841
+ "x2": "50%",
7842
+ "y2": "100%",
7843
+ "id": getId(5)
7844
+ }, [renderStops("#F2F3F5", "#DCDEE0")]), vue.createVNode("linearGradient", {
7845
+ "x1": "95%",
7846
+ "y1": "48%",
7847
+ "x2": "5.5%",
7848
+ "y2": "51%",
7849
+ "id": getId(6)
7850
+ }, [renderStops("#EAEDF1", "#DCDEE0")]), vue.createVNode("linearGradient", {
7851
+ "y1": "45%",
7852
+ "x2": "100%",
7853
+ "y2": "54%",
7854
+ "id": getId(7)
7855
+ }, [renderStops("#EAEDF1", "#DCDEE0")])]), renderBuilding(), renderCloud(), vue.createVNode("g", {
7856
+ "transform": "translate(36 50)",
7857
+ "fill": "none"
7858
+ }, [vue.createVNode("g", {
7859
+ "transform": "translate(8)"
7860
+ }, [vue.createVNode("rect", {
7861
+ "fill": "#EBEDF0",
7862
+ "opacity": ".6",
7863
+ "x": "38",
7864
+ "y": "13",
7865
+ "width": "36",
7866
+ "height": "53",
7867
+ "rx": "2"
7868
+ }, null), vue.createVNode("rect", {
7869
+ "fill": useId(5),
7870
+ "width": "64",
7871
+ "height": "66",
7872
+ "rx": "2"
7873
+ }, null), vue.createVNode("rect", {
7874
+ "fill": "#FFF",
7875
+ "x": "6",
7876
+ "y": "6",
7877
+ "width": "52",
7878
+ "height": "55",
7879
+ "rx": "1"
7880
+ }, null), vue.createVNode("g", {
7881
+ "transform": "translate(15 17)",
7882
+ "fill": useId(6)
7883
+ }, [vue.createVNode("rect", {
7884
+ "width": "34",
7885
+ "height": "6",
7886
+ "rx": "1"
7887
+ }, null), vue.createVNode("path", {
7888
+ "d": "M0 14h34v6H0z"
7889
+ }, null), vue.createVNode("rect", {
7890
+ "y": "28",
7891
+ "width": "34",
7892
+ "height": "6",
7893
+ "rx": "1"
7894
+ }, null)])]), vue.createVNode("rect", {
7895
+ "fill": useId(7),
7896
+ "y": "61",
7897
+ "width": "88",
7898
+ "height": "28",
7899
+ "rx": "1"
7900
+ }, null), vue.createVNode("rect", {
7901
+ "fill": "#F7F8FA",
7902
+ "x": "29",
7903
+ "y": "72",
7904
+ "width": "30",
7905
+ "height": "6",
7906
+ "rx": "1"
7907
+ }, null)])]);
7908
+ const renderError = () => vue.createVNode("svg", {
7909
+ "viewBox": "0 0 160 160"
7910
+ }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
7911
+ "x1": "50%",
7912
+ "x2": "50%",
7913
+ "y2": "100%",
7914
+ "id": getId(8)
7915
+ }, [renderStops("#EAEDF1", "#DCDEE0")])]), renderBuilding(), renderCloud(), renderShadow("c"), vue.createVNode("path", {
7916
+ "d": "m59 60 21 21 21-21h3l9 9v3L92 93l21 21v3l-9 9h-3l-21-21-21 21h-3l-9-9v-3l21-21-21-21v-3l9-9h3Z",
7917
+ "fill": useId(8)
7918
+ }, null)]);
7919
+ const renderSearch = () => vue.createVNode("svg", {
7920
+ "viewBox": "0 0 160 160"
7921
+ }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
7922
+ "x1": "50%",
7923
+ "y1": "100%",
7924
+ "x2": "50%",
7925
+ "id": getId(9)
7926
+ }, [renderStops("#EEE", "#D8D8D8")]), vue.createVNode("linearGradient", {
7927
+ "x1": "100%",
7928
+ "y1": "50%",
7929
+ "y2": "50%",
7930
+ "id": getId(10)
7931
+ }, [renderStops("#F2F3F5", "#DCDEE0")]), vue.createVNode("linearGradient", {
7932
+ "x1": "50%",
7933
+ "x2": "50%",
7934
+ "y2": "100%",
7935
+ "id": getId(11)
7936
+ }, [renderStops("#F2F3F5", "#DCDEE0")]), vue.createVNode("linearGradient", {
7937
+ "x1": "50%",
7938
+ "x2": "50%",
7939
+ "y2": "100%",
7940
+ "id": getId(12)
7941
+ }, [renderStops("#FFF", "#F7F8FA")])]), renderBuilding(), renderCloud(), renderShadow("d"), vue.createVNode("g", {
7942
+ "transform": "rotate(-45 113 -4)",
7943
+ "fill": "none"
7944
+ }, [vue.createVNode("rect", {
7945
+ "fill": useId(9),
7946
+ "x": "24",
7947
+ "y": "52.8",
7948
+ "width": "5.8",
7949
+ "height": "19",
7950
+ "rx": "1"
7951
+ }, null), vue.createVNode("rect", {
7952
+ "fill": useId(10),
7953
+ "x": "22.1",
7954
+ "y": "67.3",
7955
+ "width": "9.9",
7956
+ "height": "28",
7957
+ "rx": "1"
7958
+ }, null), vue.createVNode("circle", {
7959
+ "stroke": useId(11),
7960
+ "stroke-width": "8",
7961
+ "cx": "27",
7962
+ "cy": "27",
7963
+ "r": "27"
7964
+ }, null), vue.createVNode("circle", {
7965
+ "fill": useId(12),
7966
+ "cx": "27",
7967
+ "cy": "27",
7968
+ "r": "16"
7969
+ }, null), vue.createVNode("path", {
7970
+ "d": "M37 7c-8 0-15 5-16 12",
7971
+ "stroke": useId(11),
7972
+ "stroke-width": "3",
7973
+ "opacity": ".5",
7974
+ "stroke-linecap": "round",
7975
+ "transform": "rotate(45 29 13)"
7976
+ }, null)])]);
7977
+ const [name$E, bem$D] = createNamespace("empty");
7978
+ const PRESET_IMAGES = {
7979
+ error: renderError,
7980
+ search: renderSearch,
7981
+ network: renderNetwork,
7982
+ default: renderMaterial
7983
+ };
7984
+ const emptyProps = {
7985
+ image: makeStringProp("default"),
7986
+ imageSize: [Number, String, Array],
7987
+ description: String
7988
+ };
7989
+ var stdin_default$K = vue.defineComponent({
7990
+ name: name$E,
7991
+ props: emptyProps,
7992
+ setup(props, {
7993
+ slots
7994
+ }) {
7995
+ const renderImage = () => {
7996
+ var _a;
7997
+ if (slots.image) {
7998
+ return slots.image();
7999
+ }
8000
+ return ((_a = PRESET_IMAGES[props.image]) == null ? void 0 : _a.call(PRESET_IMAGES)) || vue.createVNode("img", {
8001
+ "src": props.image
8002
+ }, null);
8003
+ };
8004
+ const renderDescription = () => {
8005
+ const description = slots.description ? slots.description() : props.description;
8006
+ if (description) {
8007
+ return vue.createVNode("p", {
8008
+ "class": bem$D("description")
8009
+ }, [description]);
8010
+ }
8011
+ };
8012
+ const renderBottom = () => {
8013
+ if (slots.default) {
8014
+ return vue.createVNode("div", {
8015
+ "class": bem$D("bottom")
8016
+ }, [slots.default()]);
8017
+ }
8018
+ };
8019
+ return () => vue.createVNode("div", {
8020
+ "class": bem$D()
8021
+ }, [vue.createVNode("div", {
8022
+ "class": bem$D("image"),
8023
+ "style": getSizeStyle(props.imageSize)
8024
+ }, [renderImage()]), renderDescription(), renderBottom()]);
8025
+ }
8026
+ });
8027
+ const Empty = withInstall(stdin_default$K);
8028
+ const [name$D, bem$C, t$8] = createNamespace("coupon-list");
7692
8029
  const couponListProps = {
7693
8030
  code: makeStringProp(""),
7694
8031
  coupons: makeArrayProp(),
7695
8032
  currency: makeStringProp("\xA5"),
7696
8033
  showCount: truthProp,
7697
- emptyImage: makeStringProp(EMPTY_IMAGE),
8034
+ emptyImage: String,
7698
8035
  chosenCoupon: makeNumberProp(-1),
7699
8036
  enabledTitle: String,
7700
8037
  disabledTitle: String,
@@ -7709,8 +8046,8 @@ const couponListProps = {
7709
8046
  exchangeButtonLoading: Boolean,
7710
8047
  exchangeButtonDisabled: Boolean
7711
8048
  };
7712
- var stdin_default$K = vue.defineComponent({
7713
- name: name$E,
8049
+ var stdin_default$J = vue.defineComponent({
8050
+ name: name$D,
7714
8051
  props: couponListProps,
7715
8052
  emits: ["change", "exchange", "update:code"],
7716
8053
  setup(props, {
@@ -7742,28 +8079,30 @@ var stdin_default$K = vue.defineComponent({
7742
8079
  return (_a = couponRefs.value[index]) == null ? void 0 : _a.scrollIntoView();
7743
8080
  });
7744
8081
  };
7745
- const renderEmpty = () => vue.createVNode("div", {
7746
- "class": bem$D("empty")
7747
- }, [vue.createVNode("img", {
7748
- "src": props.emptyImage
7749
- }, null), vue.createVNode("p", null, [t$8("noCoupon")])]);
8082
+ const renderEmpty = () => vue.createVNode(Empty, {
8083
+ "image": props.emptyImage
8084
+ }, {
8085
+ default: () => [vue.createVNode("p", {
8086
+ "class": bem$C("empty-tip")
8087
+ }, [t$8("noCoupon")])]
8088
+ });
7750
8089
  const renderExchangeBar = () => {
7751
8090
  if (props.showExchangeBar) {
7752
8091
  return vue.createVNode("div", {
7753
8092
  "ref": barRef,
7754
- "class": bem$D("exchange-bar")
8093
+ "class": bem$C("exchange-bar")
7755
8094
  }, [vue.createVNode(Field, {
7756
8095
  "modelValue": currentCode.value,
7757
8096
  "onUpdate:modelValue": ($event) => currentCode.value = $event,
7758
8097
  "clearable": true,
7759
8098
  "border": false,
7760
- "class": bem$D("field"),
8099
+ "class": bem$C("field"),
7761
8100
  "placeholder": props.inputPlaceholder || t$8("placeholder"),
7762
8101
  "maxlength": "20"
7763
8102
  }, null), vue.createVNode(Button, {
7764
8103
  "plain": true,
7765
8104
  "type": "danger",
7766
- "class": bem$D("exchange"),
8105
+ "class": bem$C("exchange"),
7767
8106
  "text": props.exchangeButtonText || t$8("exchange"),
7768
8107
  "loading": props.exchangeButtonLoading,
7769
8108
  "disabled": buttonDisabled.value,
@@ -7783,7 +8122,7 @@ var stdin_default$K = vue.defineComponent({
7783
8122
  default: () => {
7784
8123
  var _a;
7785
8124
  return [vue.createVNode("div", {
7786
- "class": bem$D("list", {
8125
+ "class": bem$C("list", {
7787
8126
  "with-bottom": props.showCloseButton
7788
8127
  }),
7789
8128
  "style": {
@@ -7812,7 +8151,7 @@ var stdin_default$K = vue.defineComponent({
7812
8151
  default: () => {
7813
8152
  var _a;
7814
8153
  return [vue.createVNode("div", {
7815
- "class": bem$D("list", {
8154
+ "class": bem$C("list", {
7816
8155
  "with-bottom": props.showCloseButton
7817
8156
  }),
7818
8157
  "style": {
@@ -7839,29 +8178,29 @@ var stdin_default$K = vue.defineComponent({
7839
8178
  });
7840
8179
  return () => vue.createVNode("div", {
7841
8180
  "ref": root,
7842
- "class": bem$D()
8181
+ "class": bem$C()
7843
8182
  }, [renderExchangeBar(), vue.createVNode(Tabs, {
7844
8183
  "active": activeTab.value,
7845
8184
  "onUpdate:active": ($event) => activeTab.value = $event,
7846
- "class": bem$D("tab")
8185
+ "class": bem$C("tab")
7847
8186
  }, {
7848
8187
  default: () => [renderCouponTab(), renderDisabledTab()]
7849
8188
  }), vue.createVNode("div", {
7850
- "class": bem$D("bottom")
8189
+ "class": bem$C("bottom")
7851
8190
  }, [vue.withDirectives(vue.createVNode(Button, {
7852
8191
  "round": true,
7853
8192
  "block": true,
7854
8193
  "type": "danger",
7855
- "class": bem$D("close"),
8194
+ "class": bem$C("close"),
7856
8195
  "text": props.closeButtonText || t$8("close"),
7857
8196
  "onClick": () => emit("change", -1)
7858
8197
  }, null), [[vue.vShow, props.showCloseButton]])])]);
7859
8198
  }
7860
8199
  });
7861
- const CouponList = withInstall(stdin_default$K);
7862
- const [name$D] = createNamespace("time-picker");
7863
- var stdin_default$J = vue.defineComponent({
7864
- name: name$D,
8200
+ const CouponList = withInstall(stdin_default$J);
8201
+ const [name$C] = createNamespace("time-picker");
8202
+ var stdin_default$I = vue.defineComponent({
8203
+ name: name$C,
7865
8204
  props: extend({}, sharedProps, {
7866
8205
  minHour: makeNumericProp(0),
7867
8206
  maxHour: makeNumericProp(23),
@@ -7968,9 +8307,9 @@ var stdin_default$J = vue.defineComponent({
7968
8307
  }
7969
8308
  });
7970
8309
  const currentYear = new Date().getFullYear();
7971
- const [name$C] = createNamespace("date-picker");
7972
- var stdin_default$I = vue.defineComponent({
7973
- name: name$C,
8310
+ const [name$B] = createNamespace("date-picker");
8311
+ var stdin_default$H = vue.defineComponent({
8312
+ name: name$B,
7974
8313
  props: extend({}, sharedProps, {
7975
8314
  type: makeStringProp("datetime"),
7976
8315
  modelValue: Date,
@@ -8176,6 +8515,7 @@ var stdin_default$I = vue.defineComponent({
8176
8515
  const onChange = () => {
8177
8516
  updateInnerValue();
8178
8517
  vue.nextTick(() => {
8518
+ updateInnerValue();
8179
8519
  vue.nextTick(() => emit("change", currentDate.value));
8180
8520
  });
8181
8521
  };
@@ -8185,8 +8525,7 @@ var stdin_default$I = vue.defineComponent({
8185
8525
  });
8186
8526
  vue.watch(columns, updateColumnValue);
8187
8527
  vue.watch(currentDate, (value, oldValue) => emit("update:modelValue", oldValue ? value : null));
8188
- vue.watch(() => [props.filter, props.maxDate], updateInnerValue);
8189
- vue.watch(() => props.minDate, () => {
8528
+ vue.watch(() => [props.filter, props.minDate, props.maxDate], () => {
8190
8529
  vue.nextTick(updateInnerValue);
8191
8530
  });
8192
8531
  vue.watch(() => props.modelValue, (value) => {
@@ -8208,14 +8547,14 @@ var stdin_default$I = vue.defineComponent({
8208
8547
  }, pick(props, pickerInheritKeys)), slots);
8209
8548
  }
8210
8549
  });
8211
- const [name$B, bem$C] = createNamespace("datetime-picker");
8212
- const timePickerPropKeys = Object.keys(stdin_default$J.props);
8213
- const datePickerPropKeys = Object.keys(stdin_default$I.props);
8214
- const datetimePickerProps = extend({}, stdin_default$J.props, stdin_default$I.props, {
8550
+ const [name$A, bem$B] = createNamespace("datetime-picker");
8551
+ const timePickerPropKeys = Object.keys(stdin_default$I.props);
8552
+ const datePickerPropKeys = Object.keys(stdin_default$H.props);
8553
+ const datetimePickerProps = extend({}, stdin_default$I.props, stdin_default$H.props, {
8215
8554
  modelValue: [String, Date]
8216
8555
  });
8217
- var stdin_default$H = vue.defineComponent({
8218
- name: name$B,
8556
+ var stdin_default$G = vue.defineComponent({
8557
+ name: name$A,
8219
8558
  props: datetimePickerProps,
8220
8559
  setup(props, {
8221
8560
  attrs,
@@ -8230,17 +8569,17 @@ var stdin_default$H = vue.defineComponent({
8230
8569
  });
8231
8570
  return () => {
8232
8571
  const isTimePicker = props.type === "time";
8233
- const Component = isTimePicker ? stdin_default$J : stdin_default$I;
8572
+ const Component = isTimePicker ? stdin_default$I : stdin_default$H;
8234
8573
  const inheritProps = pick(props, isTimePicker ? timePickerPropKeys : datePickerPropKeys);
8235
8574
  return vue.createVNode(Component, vue.mergeProps({
8236
8575
  "ref": root,
8237
- "class": bem$C()
8576
+ "class": bem$B()
8238
8577
  }, inheritProps, attrs), slots);
8239
8578
  };
8240
8579
  }
8241
8580
  });
8242
- const DatetimePicker = withInstall(stdin_default$H);
8243
- const [name$A, bem$B, t$7] = createNamespace("dialog");
8581
+ const DatetimePicker = withInstall(stdin_default$G);
8582
+ const [name$z, bem$A, t$7] = createNamespace("dialog");
8244
8583
  const dialogProps = extend({}, popupSharedProps, {
8245
8584
  title: String,
8246
8585
  theme: String,
@@ -8261,8 +8600,8 @@ const dialogProps = extend({}, popupSharedProps, {
8261
8600
  closeOnClickOverlay: Boolean
8262
8601
  });
8263
8602
  const popupInheritKeys$1 = [...popupSharedPropKeys, "transition", "closeOnPopstate"];
8264
- var stdin_default$G = vue.defineComponent({
8265
- name: name$A,
8603
+ var stdin_default$F = vue.defineComponent({
8604
+ name: name$z,
8266
8605
  props: dialogProps,
8267
8606
  emits: ["confirm", "cancel", "keydown", "update:show"],
8268
8607
  setup(props, {
@@ -8319,7 +8658,7 @@ var stdin_default$G = vue.defineComponent({
8319
8658
  const title = slots.title ? slots.title() : props.title;
8320
8659
  if (title) {
8321
8660
  return vue.createVNode("div", {
8322
- "class": bem$B("header", {
8661
+ "class": bem$A("header", {
8323
8662
  isolated: !props.message && !slots.default
8324
8663
  })
8325
8664
  }, [title]);
@@ -8331,7 +8670,7 @@ var stdin_default$G = vue.defineComponent({
8331
8670
  allowHtml,
8332
8671
  messageAlign
8333
8672
  } = props;
8334
- const classNames = bem$B("message", {
8673
+ const classNames = bem$A("message", {
8335
8674
  "has-title": hasTitle,
8336
8675
  [messageAlign]: messageAlign
8337
8676
  });
@@ -8349,7 +8688,7 @@ var stdin_default$G = vue.defineComponent({
8349
8688
  const renderContent = () => {
8350
8689
  if (slots.default) {
8351
8690
  return vue.createVNode("div", {
8352
- "class": bem$B("content")
8691
+ "class": bem$A("content")
8353
8692
  }, [slots.default()]);
8354
8693
  }
8355
8694
  const {
@@ -8361,18 +8700,18 @@ var stdin_default$G = vue.defineComponent({
8361
8700
  const hasTitle = !!(title || slots.title);
8362
8701
  return vue.createVNode("div", {
8363
8702
  "key": allowHtml ? 1 : 0,
8364
- "class": bem$B("content", {
8703
+ "class": bem$A("content", {
8365
8704
  isolated: !hasTitle
8366
8705
  })
8367
8706
  }, [renderMessage(hasTitle)]);
8368
8707
  }
8369
8708
  };
8370
8709
  const renderButtons = () => vue.createVNode("div", {
8371
- "class": [BORDER_TOP, bem$B("footer")]
8710
+ "class": [BORDER_TOP, bem$A("footer")]
8372
8711
  }, [props.showCancelButton && vue.createVNode(Button, {
8373
8712
  "size": "large",
8374
8713
  "text": props.cancelButtonText || t$7("cancel"),
8375
- "class": bem$B("cancel"),
8714
+ "class": bem$A("cancel"),
8376
8715
  "style": {
8377
8716
  color: props.cancelButtonColor
8378
8717
  },
@@ -8381,7 +8720,7 @@ var stdin_default$G = vue.defineComponent({
8381
8720
  }, null), props.showConfirmButton && vue.createVNode(Button, {
8382
8721
  "size": "large",
8383
8722
  "text": props.confirmButtonText || t$7("confirm"),
8384
- "class": [bem$B("confirm"), {
8723
+ "class": [bem$A("confirm"), {
8385
8724
  [BORDER_LEFT]: props.showCancelButton
8386
8725
  }],
8387
8726
  "style": {
@@ -8391,19 +8730,19 @@ var stdin_default$G = vue.defineComponent({
8391
8730
  "onClick": onConfirm
8392
8731
  }, null)]);
8393
8732
  const renderRoundButtons = () => vue.createVNode(ActionBar, {
8394
- "class": bem$B("footer")
8733
+ "class": bem$A("footer")
8395
8734
  }, {
8396
8735
  default: () => [props.showCancelButton && vue.createVNode(ActionBarButton, {
8397
8736
  "type": "warning",
8398
8737
  "text": props.cancelButtonText || t$7("cancel"),
8399
- "class": bem$B("cancel"),
8738
+ "class": bem$A("cancel"),
8400
8739
  "color": props.cancelButtonColor,
8401
8740
  "loading": loading.cancel,
8402
8741
  "onClick": onCancel
8403
8742
  }, null), props.showConfirmButton && vue.createVNode(ActionBarButton, {
8404
8743
  "type": "danger",
8405
8744
  "text": props.confirmButtonText || t$7("confirm"),
8406
- "class": bem$B("confirm"),
8745
+ "class": bem$A("confirm"),
8407
8746
  "color": props.confirmButtonColor,
8408
8747
  "loading": loading.confirm,
8409
8748
  "onClick": onConfirm
@@ -8426,7 +8765,7 @@ var stdin_default$G = vue.defineComponent({
8426
8765
  return vue.createVNode(Popup, vue.mergeProps({
8427
8766
  "ref": root,
8428
8767
  "role": "dialog",
8429
- "class": [bem$B([theme]), className],
8768
+ "class": [bem$A([theme]), className],
8430
8769
  "style": {
8431
8770
  width: addUnit(width)
8432
8771
  },
@@ -8448,7 +8787,7 @@ function initInstance$2() {
8448
8787
  state,
8449
8788
  toggle
8450
8789
  } = usePopupState();
8451
- return () => vue.createVNode(stdin_default$G, vue.mergeProps(state, {
8790
+ return () => vue.createVNode(stdin_default$F, vue.mergeProps(state, {
8452
8791
  "onUpdate:show": toggle
8453
8792
  }), null);
8454
8793
  }
@@ -8513,19 +8852,19 @@ Dialog.setDefaultOptions = (options) => {
8513
8852
  Dialog.resetDefaultOptions = () => {
8514
8853
  Dialog.currentOptions = extend({}, Dialog.defaultOptions);
8515
8854
  };
8516
- Dialog.Component = withInstall(stdin_default$G);
8855
+ Dialog.Component = withInstall(stdin_default$F);
8517
8856
  Dialog.install = (app) => {
8518
8857
  app.use(Dialog.Component);
8519
8858
  app.config.globalProperties.$dialog = Dialog;
8520
8859
  };
8521
- const [name$z, bem$A] = createNamespace("divider");
8860
+ const [name$y, bem$z] = createNamespace("divider");
8522
8861
  const dividerProps = {
8523
8862
  dashed: Boolean,
8524
8863
  hairline: truthProp,
8525
8864
  contentPosition: makeStringProp("center")
8526
8865
  };
8527
- var stdin_default$F = vue.defineComponent({
8528
- name: name$z,
8866
+ var stdin_default$E = vue.defineComponent({
8867
+ name: name$y,
8529
8868
  props: dividerProps,
8530
8869
  setup(props, {
8531
8870
  slots
@@ -8534,7 +8873,7 @@ var stdin_default$F = vue.defineComponent({
8534
8873
  var _a;
8535
8874
  return vue.createVNode("div", {
8536
8875
  "role": "separator",
8537
- "class": bem$A({
8876
+ "class": bem$z({
8538
8877
  dashed: props.dashed,
8539
8878
  hairline: props.hairline,
8540
8879
  [`content-${props.contentPosition}`]: !!slots.default
@@ -8543,8 +8882,8 @@ var stdin_default$F = vue.defineComponent({
8543
8882
  };
8544
8883
  }
8545
8884
  });
8546
- const Divider = withInstall(stdin_default$F);
8547
- const [name$y, bem$z] = createNamespace("dropdown-menu");
8885
+ const Divider = withInstall(stdin_default$E);
8886
+ const [name$x, bem$y] = createNamespace("dropdown-menu");
8548
8887
  const dropdownMenuProps = {
8549
8888
  overlay: truthProp,
8550
8889
  zIndex: numericProp,
@@ -8554,14 +8893,14 @@ const dropdownMenuProps = {
8554
8893
  closeOnClickOutside: truthProp,
8555
8894
  closeOnClickOverlay: truthProp
8556
8895
  };
8557
- const DROPDOWN_KEY = Symbol(name$y);
8558
- var stdin_default$E = vue.defineComponent({
8559
- name: name$y,
8896
+ const DROPDOWN_KEY = Symbol(name$x);
8897
+ var stdin_default$D = vue.defineComponent({
8898
+ name: name$x,
8560
8899
  props: dropdownMenuProps,
8561
8900
  setup(props, {
8562
8901
  slots
8563
8902
  }) {
8564
- const id = useId();
8903
+ const id = useId$1();
8565
8904
  const root = vue.ref();
8566
8905
  const barRef = vue.ref();
8567
8906
  const offset = vue.ref(0);
@@ -8624,7 +8963,7 @@ var stdin_default$E = vue.defineComponent({
8624
8963
  "id": `${id}-${index}`,
8625
8964
  "role": "button",
8626
8965
  "tabindex": disabled ? void 0 : 0,
8627
- "class": [bem$z("item", {
8966
+ "class": [bem$y("item", {
8628
8967
  disabled
8629
8968
  }), {
8630
8969
  [HAPTICS_FEEDBACK]: !disabled
@@ -8635,7 +8974,7 @@ var stdin_default$E = vue.defineComponent({
8635
8974
  }
8636
8975
  }
8637
8976
  }, [vue.createVNode("span", {
8638
- "class": [bem$z("title", {
8977
+ "class": [bem$y("title", {
8639
8978
  down: showPopup === (props.direction === "down"),
8640
8979
  active: showPopup
8641
8980
  }), titleClass],
@@ -8659,18 +8998,18 @@ var stdin_default$E = vue.defineComponent({
8659
8998
  var _a;
8660
8999
  return vue.createVNode("div", {
8661
9000
  "ref": root,
8662
- "class": bem$z()
9001
+ "class": bem$y()
8663
9002
  }, [vue.createVNode("div", {
8664
9003
  "ref": barRef,
8665
9004
  "style": barStyle.value,
8666
- "class": bem$z("bar", {
9005
+ "class": bem$y("bar", {
8667
9006
  opened: opened.value
8668
9007
  })
8669
9008
  }, [children.map(renderTitle)]), (_a = slots.default) == null ? void 0 : _a.call(slots)]);
8670
9009
  };
8671
9010
  }
8672
9011
  });
8673
- const [name$x, bem$y] = createNamespace("dropdown-item");
9012
+ const [name$w, bem$x] = createNamespace("dropdown-item");
8674
9013
  const dropdownItemProps = {
8675
9014
  title: String,
8676
9015
  options: makeArrayProp(),
@@ -8680,8 +9019,8 @@ const dropdownItemProps = {
8680
9019
  modelValue: unknownProp,
8681
9020
  titleClass: unknownProp
8682
9021
  };
8683
- var stdin_default$D = vue.defineComponent({
8684
- name: name$x,
9022
+ var stdin_default$C = vue.defineComponent({
9023
+ name: name$w,
8685
9024
  props: dropdownItemProps,
8686
9025
  emits: ["open", "opened", "close", "closed", "change", "update:modelValue"],
8687
9026
  setup(props, {
@@ -8748,7 +9087,7 @@ var stdin_default$D = vue.defineComponent({
8748
9087
  const renderIcon = () => {
8749
9088
  if (active) {
8750
9089
  return vue.createVNode(Icon, {
8751
- "class": bem$y("icon"),
9090
+ "class": bem$x("icon"),
8752
9091
  "color": activeColor,
8753
9092
  "name": "success"
8754
9093
  }, null);
@@ -8759,7 +9098,7 @@ var stdin_default$D = vue.defineComponent({
8759
9098
  "key": option.value,
8760
9099
  "icon": option.icon,
8761
9100
  "title": option.text,
8762
- "class": bem$y("option", {
9101
+ "class": bem$x("option", {
8763
9102
  active
8764
9103
  }),
8765
9104
  "style": {
@@ -8791,13 +9130,13 @@ var stdin_default$D = vue.defineComponent({
8791
9130
  }
8792
9131
  return vue.withDirectives(vue.createVNode("div", {
8793
9132
  "style": style,
8794
- "class": bem$y([direction]),
9133
+ "class": bem$x([direction]),
8795
9134
  "onClick": onClickWrapper
8796
9135
  }, [vue.createVNode(Popup, {
8797
9136
  "show": state.showPopup,
8798
9137
  "onUpdate:show": ($event) => state.showPopup = $event,
8799
9138
  "role": "menu",
8800
- "class": bem$y("content"),
9139
+ "class": bem$x("content"),
8801
9140
  "overlay": overlay,
8802
9141
  "position": direction === "down" ? "top" : "bottom",
8803
9142
  "duration": state.transition ? duration : 0,
@@ -8835,147 +9174,8 @@ var stdin_default$D = vue.defineComponent({
8835
9174
  };
8836
9175
  }
8837
9176
  });
8838
- const DropdownItem = withInstall(stdin_default$D);
8839
- const DropdownMenu = withInstall(stdin_default$E);
8840
- const prefix = "van-empty-network-";
8841
- const renderStop = (color, offset, opacity) => vue.createVNode("stop", {
8842
- "stop-color": color,
8843
- "offset": `${offset}%`,
8844
- "stop-opacity": opacity
8845
- }, null);
8846
- const Network = vue.createVNode("svg", {
8847
- "viewBox": "0 0 160 160"
8848
- }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
8849
- "id": `${prefix}1`,
8850
- "x1": "64%",
8851
- "y1": "100%",
8852
- "x2": "64%"
8853
- }, [renderStop("#FFF", 0, 0.5), renderStop("#F2F3F5", 100)]), vue.createVNode("linearGradient", {
8854
- "id": `${prefix}2`,
8855
- "x1": "50%",
8856
- "x2": "50%",
8857
- "y2": "84%"
8858
- }, [renderStop("#EBEDF0", 0), renderStop("#DCDEE0", 100, 0)]), vue.createVNode("linearGradient", {
8859
- "id": `${prefix}3`,
8860
- "x1": "100%",
8861
- "x2": "100%",
8862
- "y2": "100%"
8863
- }, [renderStop("#EAEDF0", 0), renderStop("#DCDEE0", 100)]), vue.createVNode("radialGradient", {
8864
- "id": `${prefix}4`,
8865
- "cx": "50%",
8866
- "cy": "0%",
8867
- "fx": "50%",
8868
- "fy": "0%",
8869
- "r": "100%",
8870
- "gradientTransform": "matrix(0 1 -.54 0 .5 -.5)"
8871
- }, [renderStop("#EBEDF0", 0), renderStop("#FFF", 100, 0)])]), vue.createVNode("g", {
8872
- "fill": "none"
8873
- }, [vue.createVNode("g", {
8874
- "opacity": ".8"
8875
- }, [vue.createVNode("path", {
8876
- "d": "M36 131V53H16v20H2v58h34z",
8877
- "fill": `url(#${prefix}1)`
8878
- }, null), vue.createVNode("path", {
8879
- "d": "M123 15h22v14h9v77h-31V15z",
8880
- "fill": `url(#${prefix}1)`
8881
- }, null)]), vue.createVNode("path", {
8882
- "fill": `url(#${prefix}4)`,
8883
- "d": "M0 139h160v21H0z"
8884
- }, null), vue.createVNode("path", {
8885
- "d": "M80 54a7 7 0 0 1 3 13v27l-2 2h-2a2 2 0 0 1-2-2V67a7 7 0 0 1 3-13z",
8886
- "fill": `url(#${prefix}2)`
8887
- }, null), vue.createVNode("g", {
8888
- "opacity": ".6",
8889
- "stroke-linecap": "round",
8890
- "stroke-width": "7"
8891
- }, [vue.createVNode("path", {
8892
- "d": "M64 47a19 19 0 0 0-5 13c0 5 2 10 5 13",
8893
- "stroke": `url(#${prefix}3)`
8894
- }, null), vue.createVNode("path", {
8895
- "d": "M53 36a34 34 0 0 0 0 48",
8896
- "stroke": `url(#${prefix}3)`
8897
- }, null), vue.createVNode("path", {
8898
- "d": "M95 73a19 19 0 0 0 6-13c0-5-2-9-6-13",
8899
- "stroke": `url(#${prefix}3)`
8900
- }, null), vue.createVNode("path", {
8901
- "d": "M106 84a34 34 0 0 0 0-48",
8902
- "stroke": `url(#${prefix}3)`
8903
- }, null)]), vue.createVNode("g", {
8904
- "transform": "translate(31 105)"
8905
- }, [vue.createVNode("rect", {
8906
- "fill": "#EBEDF0",
8907
- "width": "98",
8908
- "height": "34",
8909
- "rx": "2"
8910
- }, null), vue.createVNode("rect", {
8911
- "fill": "#FFF",
8912
- "x": "9",
8913
- "y": "8",
8914
- "width": "80",
8915
- "height": "18",
8916
- "rx": "1.1"
8917
- }, null), vue.createVNode("rect", {
8918
- "fill": "#EBEDF0",
8919
- "x": "15",
8920
- "y": "12",
8921
- "width": "18",
8922
- "height": "6",
8923
- "rx": "1.1"
8924
- }, null)])])]);
8925
- const [name$w, bem$x] = createNamespace("empty");
8926
- const PRESET_IMAGES = ["error", "search", "default"];
8927
- const emptyProps = {
8928
- image: makeStringProp("default"),
8929
- imageSize: numericProp,
8930
- description: String
8931
- };
8932
- var stdin_default$C = vue.defineComponent({
8933
- name: name$w,
8934
- props: emptyProps,
8935
- setup(props, {
8936
- slots
8937
- }) {
8938
- const renderImage = () => {
8939
- if (slots.image) {
8940
- return slots.image();
8941
- }
8942
- let {
8943
- image
8944
- } = props;
8945
- if (image === "network") {
8946
- return Network;
8947
- }
8948
- if (PRESET_IMAGES.includes(image)) {
8949
- image = `https://img.yzcdn.cn/vant/empty-image-${image}.png`;
8950
- }
8951
- return vue.createVNode("img", {
8952
- "src": image
8953
- }, null);
8954
- };
8955
- const renderDescription = () => {
8956
- const description = slots.description ? slots.description() : props.description;
8957
- if (description) {
8958
- return vue.createVNode("p", {
8959
- "class": bem$x("description")
8960
- }, [description]);
8961
- }
8962
- };
8963
- const renderBottom = () => {
8964
- if (slots.default) {
8965
- return vue.createVNode("div", {
8966
- "class": bem$x("bottom")
8967
- }, [slots.default()]);
8968
- }
8969
- };
8970
- return () => vue.createVNode("div", {
8971
- "class": bem$x()
8972
- }, [vue.createVNode("div", {
8973
- "class": bem$x("image"),
8974
- "style": getSizeStyle(props.imageSize)
8975
- }, [renderImage()]), renderDescription(), renderBottom()]);
8976
- }
8977
- });
8978
- const Empty = withInstall(stdin_default$C);
9177
+ const DropdownItem = withInstall(stdin_default$C);
9178
+ const DropdownMenu = withInstall(stdin_default$D);
8979
9179
  const [name$v, bem$w] = createNamespace("grid");
8980
9180
  const gridProps = {
8981
9181
  square: Boolean,
@@ -9629,6 +9829,7 @@ var stdin_default$x = vue.defineComponent({
9629
9829
  children,
9630
9830
  linkChildren
9631
9831
  } = use.useChildren(INDEX_BAR_KEY);
9832
+ let selectActiveIndex;
9632
9833
  linkChildren({
9633
9834
  props
9634
9835
  });
@@ -9656,6 +9857,7 @@ var stdin_default$x = vue.defineComponent({
9656
9857
  }
9657
9858
  return -1;
9658
9859
  };
9860
+ const getMatchAnchor = (index) => children.find((item) => String(item.index) === index);
9659
9861
  const onScroll = () => {
9660
9862
  if (isHidden(root)) {
9661
9863
  return;
@@ -9667,7 +9869,16 @@ var stdin_default$x = vue.defineComponent({
9667
9869
  const scrollTop = getScrollTop(scrollParent.value);
9668
9870
  const scrollParentRect = use.useRect(scrollParent);
9669
9871
  const rects = children.map((item) => item.getRect(scrollParent.value, scrollParentRect));
9670
- const active = getActiveAnchor(scrollTop, rects);
9872
+ let active = -1;
9873
+ if (selectActiveIndex) {
9874
+ const match = getMatchAnchor(selectActiveIndex);
9875
+ if (match) {
9876
+ const rect = match.getRect(scrollParent.value, scrollParentRect);
9877
+ active = getActiveAnchor(rect.top, rects);
9878
+ }
9879
+ } else {
9880
+ active = getActiveAnchor(scrollTop, rects);
9881
+ }
9671
9882
  activeAnchor.value = indexList[active];
9672
9883
  if (sticky) {
9673
9884
  children.forEach((item, index) => {
@@ -9686,7 +9897,7 @@ var stdin_default$x = vue.defineComponent({
9686
9897
  if (index === active) {
9687
9898
  state.active = true;
9688
9899
  state.top = Math.max(props.stickyOffsetTop, rects[index].top - scrollTop) + scrollParentRect.top;
9689
- } else if (index === active - 1) {
9900
+ } else if (index === active - 1 && selectActiveIndex === "") {
9690
9901
  const activeItemTop = rects[active].top - scrollTop;
9691
9902
  state.active = activeItemTop > 0;
9692
9903
  state.top = activeItemTop + scrollParentRect.top - rects[index].height;
@@ -9695,6 +9906,7 @@ var stdin_default$x = vue.defineComponent({
9695
9906
  }
9696
9907
  });
9697
9908
  }
9909
+ selectActiveIndex = "";
9698
9910
  };
9699
9911
  const init = () => {
9700
9912
  vue.nextTick(onScroll);
@@ -9720,9 +9932,18 @@ var stdin_default$x = vue.defineComponent({
9720
9932
  }, [index]);
9721
9933
  });
9722
9934
  const scrollTo = (index) => {
9723
- index = String(index);
9724
- const match = children.find((item) => String(item.index) === index);
9935
+ selectActiveIndex = String(index);
9936
+ const match = getMatchAnchor(selectActiveIndex);
9725
9937
  if (match) {
9938
+ const scrollTop = getScrollTop(scrollParent.value);
9939
+ const scrollParentRect = use.useRect(scrollParent);
9940
+ const {
9941
+ offsetHeight
9942
+ } = document.documentElement;
9943
+ if (scrollTop === offsetHeight - scrollParentRect.height) {
9944
+ onScroll();
9945
+ return;
9946
+ }
9726
9947
  match.$el.scrollIntoView();
9727
9948
  if (props.sticky && props.stickyOffsetTop) {
9728
9949
  setRootScrollTop(getRootScrollTop() - props.stickyOffsetTop);
@@ -10448,6 +10669,15 @@ const numberKeyboardProps = {
10448
10669
  default: ""
10449
10670
  }
10450
10671
  };
10672
+ function shuffle(array) {
10673
+ for (let i = array.length - 1; i > 0; i--) {
10674
+ const j = Math.floor(Math.random() * (i + 1));
10675
+ const temp = array[i];
10676
+ array[i] = array[j];
10677
+ array[j] = temp;
10678
+ }
10679
+ return array;
10680
+ }
10451
10681
  var stdin_default$q = vue.defineComponent({
10452
10682
  name: name$l,
10453
10683
  props: numberKeyboardProps,
@@ -10462,7 +10692,7 @@ var stdin_default$q = vue.defineComponent({
10462
10692
  text: i + 1
10463
10693
  }));
10464
10694
  if (props.randomKeyOrder) {
10465
- keys2.sort(() => Math.random() > 0.5 ? 1 : -1);
10695
+ shuffle(keys2);
10466
10696
  }
10467
10697
  return keys2;
10468
10698
  };
@@ -11317,33 +11547,53 @@ var stdin_default$k = vue.defineComponent({
11317
11547
  }) {
11318
11548
  const touch = useTouch();
11319
11549
  const [itemRefs, setItemRefs] = useRefs();
11550
+ const groupRef = vue.ref();
11320
11551
  const untouchable = () => props.readonly || props.disabled || !props.touchable;
11321
11552
  const list = vue.computed(() => Array(+props.count).fill("").map((_, i) => getRateStatus(props.modelValue, i + 1, props.allowHalf, props.readonly)));
11322
11553
  let ranges;
11554
+ let groupRefRect;
11555
+ let minRectTop = Number.MAX_SAFE_INTEGER;
11556
+ let maxRectTop = Number.MIN_SAFE_INTEGER;
11323
11557
  const updateRanges = () => {
11558
+ groupRefRect = use.useRect(groupRef);
11324
11559
  const rects = itemRefs.value.map(use.useRect);
11325
11560
  ranges = [];
11326
11561
  rects.forEach((rect, index) => {
11562
+ minRectTop = Math.min(rect.top, minRectTop);
11563
+ maxRectTop = Math.max(rect.top, maxRectTop);
11327
11564
  if (props.allowHalf) {
11328
11565
  ranges.push({
11329
11566
  score: index + 0.5,
11330
- left: rect.left
11567
+ left: rect.left,
11568
+ top: rect.top,
11569
+ height: rect.height
11331
11570
  }, {
11332
11571
  score: index + 1,
11333
- left: rect.left + rect.width / 2
11572
+ left: rect.left + rect.width / 2,
11573
+ top: rect.top,
11574
+ height: rect.height
11334
11575
  });
11335
11576
  } else {
11336
11577
  ranges.push({
11337
11578
  score: index + 1,
11338
- left: rect.left
11579
+ left: rect.left,
11580
+ top: rect.top,
11581
+ height: rect.height
11339
11582
  });
11340
11583
  }
11341
11584
  });
11342
11585
  };
11343
- const getScoreByPosition = (x) => {
11586
+ const getScoreByPosition = (x, y) => {
11344
11587
  for (let i = ranges.length - 1; i > 0; i--) {
11345
- if (x > ranges[i].left) {
11346
- return ranges[i].score;
11588
+ if (y >= groupRefRect.top && y <= groupRefRect.bottom) {
11589
+ if (x > ranges[i].left && y >= ranges[i].top && y <= ranges[i].top + ranges[i].height) {
11590
+ return ranges[i].score;
11591
+ }
11592
+ } else {
11593
+ const curTop = y < groupRefRect.top ? minRectTop : maxRectTop;
11594
+ if (x > ranges[i].left && ranges[i].top === curTop) {
11595
+ return ranges[i].score;
11596
+ }
11347
11597
  }
11348
11598
  }
11349
11599
  return props.allowHalf ? 0.5 : 1;
@@ -11368,10 +11618,11 @@ var stdin_default$k = vue.defineComponent({
11368
11618
  touch.move(event);
11369
11619
  if (touch.isHorizontal()) {
11370
11620
  const {
11371
- clientX
11621
+ clientX,
11622
+ clientY
11372
11623
  } = event.touches[0];
11373
11624
  preventDefault(event);
11374
- select(getScoreByPosition(clientX));
11625
+ select(getScoreByPosition(clientX, clientY));
11375
11626
  }
11376
11627
  };
11377
11628
  const renderStar = (item, index) => {
@@ -11400,7 +11651,7 @@ var stdin_default$k = vue.defineComponent({
11400
11651
  }
11401
11652
  const onClickItem = (event) => {
11402
11653
  updateRanges();
11403
- select(allowHalf ? getScoreByPosition(event.clientX) : score);
11654
+ select(allowHalf ? getScoreByPosition(event.clientX, event.clientY) : score);
11404
11655
  };
11405
11656
  return vue.createVNode("div", {
11406
11657
  "key": index,
@@ -11438,6 +11689,7 @@ var stdin_default$k = vue.defineComponent({
11438
11689
  };
11439
11690
  use.useCustomFieldValue(() => props.modelValue);
11440
11691
  return () => vue.createVNode("div", {
11692
+ "ref": groupRef,
11441
11693
  "role": "radiogroup",
11442
11694
  "class": bem$f({
11443
11695
  readonly: props.readonly,
@@ -11472,7 +11724,7 @@ var stdin_default$j = vue.defineComponent({
11472
11724
  slots,
11473
11725
  attrs
11474
11726
  }) {
11475
- const id = useId();
11727
+ const id = useId$1();
11476
11728
  const filedRef = vue.ref();
11477
11729
  const onCancel = () => {
11478
11730
  if (!slots.action) {
@@ -11562,14 +11814,17 @@ var stdin_default$j = vue.defineComponent({
11562
11814
  }
11563
11815
  });
11564
11816
  const Search = withInstall(stdin_default$j);
11565
- const PRESET_ICONS = ["qq", "link", "weibo", "wechat", "poster", "qrcode", "weapp-qrcode", "wechat-moments"];
11566
11817
  const popupInheritKeys = [...popupSharedPropKeys, "round", "closeOnPopstate", "safeAreaInsetBottom"];
11567
- function getIconURL(icon) {
11568
- if (PRESET_ICONS.includes(icon)) {
11569
- return `https://img.yzcdn.cn/vant/share-sheet-${icon}.png`;
11570
- }
11571
- return icon;
11572
- }
11818
+ const iconMap = {
11819
+ qq: "qq",
11820
+ link: "link-o",
11821
+ weibo: "weibo",
11822
+ qrcode: "qr",
11823
+ poster: "photo-o",
11824
+ wechat: "wechat",
11825
+ "weapp-qrcode": "miniprogram-o",
11826
+ "wechat-moments": "wechat-moments"
11827
+ };
11573
11828
  const [name$d, bem$d, t$2] = createNamespace("share-sheet");
11574
11829
  const shareSheetProps = extend({}, popupSharedProps, {
11575
11830
  title: String,
@@ -11607,6 +11862,19 @@ var stdin_default$i = vue.defineComponent({
11607
11862
  }, [description])]);
11608
11863
  }
11609
11864
  };
11865
+ const renderIcon = (icon) => {
11866
+ if (iconMap[icon]) {
11867
+ return vue.createVNode("div", {
11868
+ "class": bem$d("icon", [icon])
11869
+ }, [vue.createVNode(Icon, {
11870
+ "name": iconMap[icon] || icon
11871
+ }, null)]);
11872
+ }
11873
+ return vue.createVNode("img", {
11874
+ "src": icon,
11875
+ "class": bem$d("image-icon")
11876
+ }, null);
11877
+ };
11610
11878
  const renderOption = (option, index) => {
11611
11879
  const {
11612
11880
  name: name2,
@@ -11619,10 +11887,7 @@ var stdin_default$i = vue.defineComponent({
11619
11887
  "tabindex": 0,
11620
11888
  "class": [bem$d("option"), className, HAPTICS_FEEDBACK],
11621
11889
  "onClick": () => onSelect(option, index)
11622
- }, [vue.createVNode("img", {
11623
- "src": getIconURL(icon),
11624
- "class": bem$d("icon")
11625
- }, null), name2 && vue.createVNode("span", {
11890
+ }, [renderIcon(icon), name2 && vue.createVNode("span", {
11626
11891
  "class": bem$d("name")
11627
11892
  }, [name2]), description && vue.createVNode("span", {
11628
11893
  "class": bem$d("option-description")
@@ -13014,7 +13279,6 @@ var stdin_default$6 = vue.defineComponent({
13014
13279
  });
13015
13280
  const TreeSelect = withInstall(stdin_default$6);
13016
13281
  const [name, bem, t] = createNamespace("uploader");
13017
- const toArray = (item) => Array.isArray(item) ? item : [item];
13018
13282
  function readFileContent(file, resultType) {
13019
13283
  return new Promise((resolve) => {
13020
13284
  if (resultType === "file") {
@@ -13080,7 +13344,7 @@ var stdin_default$5 = vue.defineComponent({
13080
13344
  imageFit: String,
13081
13345
  lazyLoad: Boolean,
13082
13346
  deletable: Boolean,
13083
- previewSize: numericProp,
13347
+ previewSize: [Number, String, Array],
13084
13348
  beforeDelete: Function
13085
13349
  },
13086
13350
  emits: ["delete", "preview"],
@@ -13154,16 +13418,19 @@ var stdin_default$5 = vue.defineComponent({
13154
13418
  };
13155
13419
  const renderPreview = () => {
13156
13420
  const {
13157
- item
13421
+ item,
13422
+ lazyLoad,
13423
+ imageFit,
13424
+ previewSize
13158
13425
  } = props;
13159
13426
  if (isImageFile(item)) {
13160
13427
  return vue.createVNode(Image$1, {
13161
- "fit": props.imageFit,
13428
+ "fit": imageFit,
13162
13429
  "src": item.content || item.url,
13163
13430
  "class": bem("preview-image"),
13164
- "width": props.previewSize,
13165
- "height": props.previewSize,
13166
- "lazyLoad": props.lazyLoad,
13431
+ "width": Array.isArray(previewSize) ? previewSize[0] : previewSize,
13432
+ "height": Array.isArray(previewSize) ? previewSize[1] : previewSize,
13433
+ "lazyLoad": lazyLoad,
13167
13434
  "onClick": onPreview
13168
13435
  }, {
13169
13436
  default: renderCover
@@ -13203,7 +13470,7 @@ const uploaderProps = {
13203
13470
  modelValue: makeArrayProp(),
13204
13471
  beforeRead: Function,
13205
13472
  beforeDelete: Function,
13206
- previewSize: numericProp,
13473
+ previewSize: [Number, String, Array],
13207
13474
  previewImage: truthProp,
13208
13475
  previewOptions: Object,
13209
13476
  previewFullImage: truthProp,
@@ -14270,7 +14537,7 @@ const Lazyload = {
14270
14537
  });
14271
14538
  }
14272
14539
  };
14273
- const version = "3.4.6";
14540
+ const version = "3.4.9";
14274
14541
  function install(app) {
14275
14542
  const components = [
14276
14543
  ActionBar,