vant 4.0.0-alpha.0 → 4.0.0-alpha.3

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 (581) hide show
  1. package/README.md +141 -0
  2. package/changelog.generated.md +198 -0
  3. package/es/address-edit/AddressEdit.d.ts +0 -17
  4. package/es/address-edit/AddressEdit.js +3 -24
  5. package/es/address-edit/index.d.ts +0 -12
  6. package/es/address-edit/types.d.ts +0 -1
  7. package/es/address-list/AddressListItem.d.ts +3 -2
  8. package/es/address-list/AddressListItem.js +1 -1
  9. package/es/badge/Badge.d.ts +4 -3
  10. package/es/badge/index.d.ts +2 -2
  11. package/es/calendar/Calendar.d.ts +4 -0
  12. package/es/calendar/Calendar.js +3 -1
  13. package/es/calendar/CalendarDay.js +4 -0
  14. package/es/calendar/index.css +1 -1
  15. package/es/calendar/index.d.ts +3 -0
  16. package/es/calendar/index.less +3 -0
  17. package/es/calendar/types.d.ts +2 -1
  18. package/es/cascader/types.d.ts +2 -1
  19. package/es/checkbox/Checker.d.ts +2 -1
  20. package/es/collapse/Collapse.d.ts +7 -6
  21. package/es/collapse/index.d.ts +3 -3
  22. package/es/composables/use-touch.js +1 -1
  23. package/es/config-provider/ConfigProvider.d.ts +4 -3
  24. package/es/config-provider/ConfigProvider.js +2 -0
  25. package/es/config-provider/index.d.ts +2 -2
  26. package/es/contact-list/ContactList.d.ts +3 -2
  27. package/es/coupon/Coupon.d.ts +2 -1
  28. package/es/coupon-list/CouponList.d.ts +3 -13
  29. package/es/coupon-list/CouponList.js +9 -7
  30. package/es/coupon-list/index.css +1 -1
  31. package/es/coupon-list/index.d.ts +2 -9
  32. package/es/coupon-list/index.less +4 -16
  33. package/es/coupon-list/style/index.js +1 -0
  34. package/es/coupon-list/style/less.js +1 -0
  35. package/es/date-picker/DatePicker.js +1 -1
  36. package/es/dialog/index.css +1 -1
  37. package/es/dialog/index.less +2 -0
  38. package/es/dialog/types.d.ts +2 -2
  39. package/es/dropdown-item/types.d.ts +2 -1
  40. package/es/empty/Empty.d.ts +8 -7
  41. package/es/empty/Empty.js +12 -15
  42. package/es/empty/Images.d.ts +4 -0
  43. package/es/empty/Images.js +271 -0
  44. package/es/empty/index.d.ts +2 -2
  45. package/es/field/Field.d.ts +4 -0
  46. package/es/field/Field.js +8 -3
  47. package/es/field/index.d.ts +2 -0
  48. package/es/field/types.d.ts +1 -1
  49. package/es/form/Form.d.ts +13 -13
  50. package/es/form/Form.js +7 -3
  51. package/es/form/index.d.ts +9 -9
  52. package/es/form/types.d.ts +1 -0
  53. package/es/icon/index.css +1 -1
  54. package/es/index-bar/IndexBar.d.ts +5 -4
  55. package/es/index-bar/IndexBar.js +25 -4
  56. package/es/index-bar/index.d.ts +3 -3
  57. package/es/index-bar/types.d.ts +2 -1
  58. package/es/index.d.ts +1 -1
  59. package/es/index.js +1 -1
  60. package/es/loading/Loading.js +3 -1
  61. package/es/locale/lang/bn-BD.d.ts +0 -2
  62. package/es/locale/lang/bn-BD.js +0 -2
  63. package/es/locale/lang/da-DK.d.ts +64 -0
  64. package/es/locale/lang/da-DK.js +66 -0
  65. package/es/locale/lang/de-DE-formal.d.ts +0 -2
  66. package/es/locale/lang/de-DE-formal.js +0 -2
  67. package/es/locale/lang/de-DE.d.ts +0 -2
  68. package/es/locale/lang/de-DE.js +0 -2
  69. package/es/locale/lang/en-US.d.ts +0 -2
  70. package/es/locale/lang/en-US.js +0 -2
  71. package/es/locale/lang/es-ES.d.ts +0 -2
  72. package/es/locale/lang/es-ES.js +0 -2
  73. package/es/locale/lang/fr-FR.d.ts +0 -2
  74. package/es/locale/lang/fr-FR.js +0 -2
  75. package/es/locale/lang/hi-IN.d.ts +0 -2
  76. package/es/locale/lang/hi-IN.js +0 -2
  77. package/es/locale/lang/id-ID.d.ts +0 -2
  78. package/es/locale/lang/id-ID.js +0 -2
  79. package/es/locale/lang/is-IS.d.ts +62 -0
  80. package/es/locale/lang/is-IS.js +72 -0
  81. package/es/locale/lang/it-IT.d.ts +0 -2
  82. package/es/locale/lang/it-IT.js +0 -2
  83. package/es/locale/lang/ja-JP.d.ts +0 -2
  84. package/es/locale/lang/ja-JP.js +0 -2
  85. package/es/locale/lang/ko-KR.d.ts +0 -2
  86. package/es/locale/lang/ko-KR.js +0 -2
  87. package/es/locale/lang/la-LA.d.ts +62 -0
  88. package/es/locale/lang/la-LA.js +64 -0
  89. package/es/locale/lang/nb-NO.d.ts +0 -2
  90. package/es/locale/lang/nb-NO.js +0 -2
  91. package/es/locale/lang/pt-BR.d.ts +0 -2
  92. package/es/locale/lang/pt-BR.js +0 -2
  93. package/es/locale/lang/ro-RO.d.ts +0 -2
  94. package/es/locale/lang/ro-RO.js +0 -2
  95. package/es/locale/lang/ru-RU.d.ts +0 -2
  96. package/es/locale/lang/ru-RU.js +0 -2
  97. package/es/locale/lang/sv-SE.d.ts +62 -0
  98. package/es/locale/lang/sv-SE.js +64 -0
  99. package/es/locale/lang/th-TH.d.ts +0 -2
  100. package/es/locale/lang/th-TH.js +0 -2
  101. package/es/locale/lang/tr-TR.d.ts +0 -2
  102. package/es/locale/lang/tr-TR.js +0 -2
  103. package/es/locale/lang/uk-UA.d.ts +0 -2
  104. package/es/locale/lang/uk-UA.js +0 -2
  105. package/es/locale/lang/vi-VN.d.ts +0 -2
  106. package/es/locale/lang/vi-VN.js +0 -2
  107. package/es/locale/lang/zh-CN.d.ts +0 -2
  108. package/es/locale/lang/zh-CN.js +0 -2
  109. package/es/locale/lang/zh-HK.d.ts +0 -2
  110. package/es/locale/lang/zh-HK.js +0 -2
  111. package/es/locale/lang/zh-TW.d.ts +0 -2
  112. package/es/locale/lang/zh-TW.js +0 -2
  113. package/es/nav-bar/NavBar.d.ts +1 -1
  114. package/es/nav-bar/NavBar.js +3 -3
  115. package/es/nav-bar/index.d.ts +1 -1
  116. package/es/notify/types.d.ts +2 -1
  117. package/es/number-keyboard/NumberKeyboard.js +10 -1
  118. package/es/picker/Picker.d.ts +5 -4
  119. package/es/picker/index.css +1 -1
  120. package/es/picker/index.d.ts +3 -3
  121. package/es/picker/index.less +1 -0
  122. package/es/picker/types.d.ts +4 -3
  123. package/es/picker/utils.d.ts +4 -3
  124. package/es/popup/Popup.d.ts +4 -0
  125. package/es/popup/Popup.js +3 -0
  126. package/es/popup/index.css +1 -1
  127. package/es/popup/index.d.ts +3 -0
  128. package/es/progress/Progress.d.ts +4 -3
  129. package/es/progress/index.d.ts +2 -2
  130. package/es/rate/Rate.js +32 -10
  131. package/es/search/Search.d.ts +3 -0
  132. package/es/search/index.css +1 -1
  133. package/es/search/index.d.ts +2 -0
  134. package/es/search/index.less +1 -1
  135. package/es/share-sheet/ShareSheet.js +25 -11
  136. package/es/share-sheet/index.css +1 -1
  137. package/es/share-sheet/index.less +45 -1
  138. package/es/skeleton/Skeleton.d.ts +5 -4
  139. package/es/skeleton/Skeleton.js +6 -4
  140. package/es/skeleton/index.d.ts +3 -3
  141. package/es/slider/index.css +1 -1
  142. package/es/style/animation.css +1 -1
  143. package/es/style/base.css +1 -1
  144. package/es/style/base.less +5 -0
  145. package/es/swipe-cell/SwipeCell.js +1 -1
  146. package/es/swipe-cell/index.css +1 -1
  147. package/es/tabbar/Tabbar.d.ts +2 -2
  148. package/es/tabs/Tabs.d.ts +1 -1
  149. package/es/tabs/Tabs.js +1 -0
  150. package/es/tabs/types.d.ts +5 -4
  151. package/es/toast/Toast.js +1 -0
  152. package/es/toast/types.d.ts +3 -2
  153. package/es/tree-select/TreeSelect.d.ts +7 -6
  154. package/es/tree-select/index.d.ts +3 -3
  155. package/es/uploader/Uploader.d.ts +4 -4
  156. package/es/uploader/Uploader.js +3 -3
  157. package/es/uploader/UploaderPreviewItem.d.ts +3 -3
  158. package/es/uploader/UploaderPreviewItem.js +9 -6
  159. package/es/uploader/index.d.ts +2 -2
  160. package/es/uploader/types.d.ts +5 -5
  161. package/es/uploader/utils.d.ts +0 -1
  162. package/es/uploader/utils.js +2 -4
  163. package/es/utils/basic.d.ts +2 -0
  164. package/es/utils/basic.js +3 -1
  165. package/es/utils/format.d.ts +7 -6
  166. package/es/utils/format.js +6 -0
  167. package/es/utils/validate.d.ts +2 -1
  168. package/lib/action-bar/ActionBar.js +8 -13
  169. package/lib/action-bar/index.js +9 -16
  170. package/lib/action-bar-button/ActionBarButton.js +8 -13
  171. package/lib/action-bar-button/index.js +9 -16
  172. package/lib/action-bar-icon/ActionBarIcon.js +8 -13
  173. package/lib/action-bar-icon/index.js +9 -16
  174. package/lib/action-sheet/ActionSheet.js +8 -13
  175. package/lib/action-sheet/index.js +9 -16
  176. package/lib/address-edit/AddressEdit.d.ts +0 -17
  177. package/lib/address-edit/AddressEdit.js +12 -40
  178. package/lib/address-edit/AddressEditDetail.js +8 -13
  179. package/lib/address-edit/index.d.ts +0 -12
  180. package/lib/address-edit/index.js +9 -16
  181. package/lib/address-edit/types.d.ts +0 -1
  182. package/lib/address-edit/types.js +7 -12
  183. package/lib/address-list/AddressList.js +9 -16
  184. package/lib/address-list/AddressListItem.d.ts +3 -2
  185. package/lib/address-list/AddressListItem.js +8 -13
  186. package/lib/address-list/index.js +9 -16
  187. package/lib/area/Area.js +8 -13
  188. package/lib/area/index.js +9 -16
  189. package/lib/area/types.js +7 -12
  190. package/lib/area/utils.js +8 -13
  191. package/lib/badge/Badge.d.ts +4 -3
  192. package/lib/badge/Badge.js +8 -13
  193. package/lib/badge/index.d.ts +2 -2
  194. package/lib/badge/index.js +9 -16
  195. package/lib/button/Button.js +8 -13
  196. package/lib/button/index.js +9 -16
  197. package/lib/button/types.js +7 -12
  198. package/lib/calendar/Calendar.d.ts +4 -0
  199. package/lib/calendar/Calendar.js +12 -17
  200. package/lib/calendar/CalendarDay.js +12 -13
  201. package/lib/calendar/CalendarHeader.js +8 -13
  202. package/lib/calendar/CalendarMonth.js +9 -16
  203. package/lib/calendar/index.css +1 -1
  204. package/lib/calendar/index.d.ts +3 -0
  205. package/lib/calendar/index.js +9 -16
  206. package/lib/calendar/index.less +3 -0
  207. package/lib/calendar/types.d.ts +2 -1
  208. package/lib/calendar/types.js +7 -12
  209. package/lib/calendar/utils.js +8 -13
  210. package/lib/card/Card.js +8 -13
  211. package/lib/card/index.js +9 -16
  212. package/lib/cascader/Cascader.js +8 -13
  213. package/lib/cascader/index.js +9 -16
  214. package/lib/cascader/types.d.ts +2 -1
  215. package/lib/cascader/types.js +7 -12
  216. package/lib/cell/Cell.js +8 -13
  217. package/lib/cell/index.js +9 -16
  218. package/lib/cell-group/CellGroup.js +8 -13
  219. package/lib/cell-group/index.js +9 -16
  220. package/lib/checkbox/Checkbox.js +9 -16
  221. package/lib/checkbox/Checker.d.ts +2 -1
  222. package/lib/checkbox/Checker.js +8 -13
  223. package/lib/checkbox/index.js +9 -16
  224. package/lib/checkbox/types.js +7 -12
  225. package/lib/checkbox-group/CheckboxGroup.js +8 -13
  226. package/lib/checkbox-group/index.js +9 -16
  227. package/lib/checkbox-group/types.js +7 -12
  228. package/lib/circle/Circle.js +8 -13
  229. package/lib/circle/index.js +9 -16
  230. package/lib/col/Col.js +8 -13
  231. package/lib/col/index.js +9 -16
  232. package/lib/collapse/Collapse.d.ts +7 -6
  233. package/lib/collapse/Collapse.js +8 -13
  234. package/lib/collapse/index.d.ts +3 -3
  235. package/lib/collapse/index.js +9 -16
  236. package/lib/collapse-item/CollapseItem.js +8 -13
  237. package/lib/collapse-item/index.js +9 -16
  238. package/lib/collapse-item/types.js +7 -12
  239. package/lib/composables/on-popup-reopen.js +8 -13
  240. package/lib/composables/use-expose.js +8 -13
  241. package/lib/composables/use-height.js +8 -13
  242. package/lib/composables/use-id.js +8 -13
  243. package/lib/composables/use-lazy-render.js +8 -13
  244. package/lib/composables/use-lock-scroll.js +8 -13
  245. package/lib/composables/use-placeholder.js +8 -13
  246. package/lib/composables/use-refs.js +8 -13
  247. package/lib/composables/use-route.js +8 -13
  248. package/lib/composables/use-tab-status.js +8 -13
  249. package/lib/composables/use-touch.js +9 -14
  250. package/lib/composables/use-visibility-change.js +8 -13
  251. package/lib/config-provider/ConfigProvider.d.ts +4 -3
  252. package/lib/config-provider/ConfigProvider.js +10 -13
  253. package/lib/config-provider/index.d.ts +2 -2
  254. package/lib/config-provider/index.js +9 -16
  255. package/lib/contact-card/ContactCard.js +8 -13
  256. package/lib/contact-card/index.js +9 -16
  257. package/lib/contact-edit/ContactEdit.js +8 -13
  258. package/lib/contact-edit/index.js +9 -16
  259. package/lib/contact-list/ContactList.d.ts +3 -2
  260. package/lib/contact-list/ContactList.js +8 -13
  261. package/lib/contact-list/index.js +9 -16
  262. package/lib/count-down/CountDown.js +8 -13
  263. package/lib/count-down/index.js +9 -16
  264. package/lib/count-down/types.js +7 -12
  265. package/lib/count-down/utils.js +8 -13
  266. package/lib/coupon/Coupon.d.ts +2 -1
  267. package/lib/coupon/Coupon.js +8 -13
  268. package/lib/coupon/index.js +9 -16
  269. package/lib/coupon/utils.js +8 -13
  270. package/lib/coupon-cell/CouponCell.js +8 -13
  271. package/lib/coupon-cell/index.js +9 -16
  272. package/lib/coupon-list/CouponList.d.ts +3 -13
  273. package/lib/coupon-list/CouponList.js +17 -20
  274. package/lib/coupon-list/index.css +1 -1
  275. package/lib/coupon-list/index.d.ts +2 -9
  276. package/lib/coupon-list/index.js +9 -16
  277. package/lib/coupon-list/index.less +4 -16
  278. package/lib/coupon-list/style/index.js +1 -0
  279. package/lib/coupon-list/style/less.js +1 -0
  280. package/lib/date-picker/DatePicker.js +9 -14
  281. package/lib/date-picker/index.js +9 -16
  282. package/lib/date-picker/utils.js +8 -13
  283. package/lib/dialog/Dialog.js +8 -13
  284. package/lib/dialog/function-call.js +9 -16
  285. package/lib/dialog/index.css +1 -1
  286. package/lib/dialog/index.js +8 -13
  287. package/lib/dialog/index.less +2 -0
  288. package/lib/dialog/types.d.ts +2 -2
  289. package/lib/dialog/types.js +7 -12
  290. package/lib/divider/Divider.js +8 -13
  291. package/lib/divider/index.js +9 -16
  292. package/lib/dropdown-item/DropdownItem.js +8 -13
  293. package/lib/dropdown-item/index.js +9 -16
  294. package/lib/dropdown-item/types.d.ts +2 -1
  295. package/lib/dropdown-item/types.js +7 -12
  296. package/lib/dropdown-menu/DropdownMenu.js +8 -13
  297. package/lib/dropdown-menu/index.js +9 -16
  298. package/lib/dropdown-menu/types.js +7 -12
  299. package/lib/empty/Empty.d.ts +8 -7
  300. package/lib/empty/Empty.js +19 -27
  301. package/lib/empty/Images.d.ts +4 -0
  302. package/lib/empty/Images.js +290 -0
  303. package/lib/empty/index.d.ts +2 -2
  304. package/lib/empty/index.js +9 -16
  305. package/lib/field/Field.d.ts +4 -0
  306. package/lib/field/Field.js +15 -15
  307. package/lib/field/index.d.ts +2 -0
  308. package/lib/field/index.js +9 -16
  309. package/lib/field/types.d.ts +1 -1
  310. package/lib/field/types.js +7 -12
  311. package/lib/field/utils.js +8 -13
  312. package/lib/form/Form.d.ts +13 -13
  313. package/lib/form/Form.js +14 -15
  314. package/lib/form/index.d.ts +9 -9
  315. package/lib/form/index.js +9 -16
  316. package/lib/form/types.d.ts +1 -0
  317. package/lib/form/types.js +7 -12
  318. package/lib/grid/Grid.js +8 -13
  319. package/lib/grid/index.js +9 -16
  320. package/lib/grid-item/GridItem.js +8 -13
  321. package/lib/grid-item/index.js +9 -16
  322. package/lib/icon/Icon.js +8 -13
  323. package/lib/icon/index.css +1 -1
  324. package/lib/icon/index.js +9 -16
  325. package/lib/image/Image.js +8 -13
  326. package/lib/image/index.js +9 -16
  327. package/lib/image-preview/ImagePreview.js +9 -16
  328. package/lib/image-preview/ImagePreviewItem.js +8 -13
  329. package/lib/image-preview/function-call.js +9 -16
  330. package/lib/image-preview/index.js +8 -13
  331. package/lib/image-preview/types.js +7 -12
  332. package/lib/index-anchor/IndexAnchor.js +8 -13
  333. package/lib/index-anchor/index.js +9 -16
  334. package/lib/index-bar/IndexBar.d.ts +5 -4
  335. package/lib/index-bar/IndexBar.js +33 -17
  336. package/lib/index-bar/index.d.ts +3 -3
  337. package/lib/index-bar/index.js +9 -16
  338. package/lib/index-bar/types.d.ts +2 -1
  339. package/lib/index-bar/types.js +7 -12
  340. package/lib/index.css +1 -1
  341. package/lib/index.d.ts +1 -1
  342. package/lib/index.js +97 -101
  343. package/lib/index.less +2 -2
  344. package/lib/lazyload/index.js +8 -13
  345. package/lib/lazyload/vue-lazyload/index.js +9 -16
  346. package/lib/lazyload/vue-lazyload/lazy-component.js +8 -13
  347. package/lib/lazyload/vue-lazyload/lazy-container.js +8 -13
  348. package/lib/lazyload/vue-lazyload/lazy-image.js +8 -13
  349. package/lib/lazyload/vue-lazyload/lazy.js +9 -16
  350. package/lib/lazyload/vue-lazyload/listener.js +8 -13
  351. package/lib/lazyload/vue-lazyload/util.js +8 -13
  352. package/lib/list/List.js +8 -13
  353. package/lib/list/index.js +9 -16
  354. package/lib/list/types.js +7 -12
  355. package/lib/loading/Loading.js +11 -14
  356. package/lib/loading/index.js +9 -16
  357. package/lib/locale/index.js +9 -16
  358. package/lib/locale/lang/bn-BD.d.ts +0 -2
  359. package/lib/locale/lang/bn-BD.js +8 -15
  360. package/lib/locale/lang/da-DK.d.ts +64 -0
  361. package/lib/locale/lang/da-DK.js +85 -0
  362. package/lib/locale/lang/de-DE-formal.d.ts +0 -2
  363. package/lib/locale/lang/de-DE-formal.js +8 -15
  364. package/lib/locale/lang/de-DE.d.ts +0 -2
  365. package/lib/locale/lang/de-DE.js +8 -15
  366. package/lib/locale/lang/en-US.d.ts +0 -2
  367. package/lib/locale/lang/en-US.js +8 -15
  368. package/lib/locale/lang/es-ES.d.ts +0 -2
  369. package/lib/locale/lang/es-ES.js +8 -15
  370. package/lib/locale/lang/fr-FR.d.ts +0 -2
  371. package/lib/locale/lang/fr-FR.js +8 -15
  372. package/lib/locale/lang/hi-IN.d.ts +0 -2
  373. package/lib/locale/lang/hi-IN.js +8 -15
  374. package/lib/locale/lang/id-ID.d.ts +0 -2
  375. package/lib/locale/lang/id-ID.js +8 -15
  376. package/lib/locale/lang/is-IS.d.ts +62 -0
  377. package/lib/locale/lang/is-IS.js +91 -0
  378. package/lib/locale/lang/it-IT.d.ts +0 -2
  379. package/lib/locale/lang/it-IT.js +8 -15
  380. package/lib/locale/lang/ja-JP.d.ts +0 -2
  381. package/lib/locale/lang/ja-JP.js +8 -15
  382. package/lib/locale/lang/ko-KR.d.ts +0 -2
  383. package/lib/locale/lang/ko-KR.js +8 -15
  384. package/lib/locale/lang/la-LA.d.ts +62 -0
  385. package/lib/locale/lang/la-LA.js +83 -0
  386. package/lib/locale/lang/nb-NO.d.ts +0 -2
  387. package/lib/locale/lang/nb-NO.js +8 -15
  388. package/lib/locale/lang/pt-BR.d.ts +0 -2
  389. package/lib/locale/lang/pt-BR.js +8 -15
  390. package/lib/locale/lang/ro-RO.d.ts +0 -2
  391. package/lib/locale/lang/ro-RO.js +8 -15
  392. package/lib/locale/lang/ru-RU.d.ts +0 -2
  393. package/lib/locale/lang/ru-RU.js +8 -15
  394. package/lib/locale/lang/sv-SE.d.ts +62 -0
  395. package/lib/locale/lang/sv-SE.js +83 -0
  396. package/lib/locale/lang/th-TH.d.ts +0 -2
  397. package/lib/locale/lang/th-TH.js +8 -15
  398. package/lib/locale/lang/tr-TR.d.ts +0 -2
  399. package/lib/locale/lang/tr-TR.js +8 -15
  400. package/lib/locale/lang/uk-UA.d.ts +0 -2
  401. package/lib/locale/lang/uk-UA.js +8 -15
  402. package/lib/locale/lang/vi-VN.d.ts +0 -2
  403. package/lib/locale/lang/vi-VN.js +8 -15
  404. package/lib/locale/lang/zh-CN.d.ts +0 -2
  405. package/lib/locale/lang/zh-CN.js +8 -15
  406. package/lib/locale/lang/zh-HK.d.ts +0 -2
  407. package/lib/locale/lang/zh-HK.js +8 -15
  408. package/lib/locale/lang/zh-TW.d.ts +0 -2
  409. package/lib/locale/lang/zh-TW.js +8 -15
  410. package/lib/nav-bar/NavBar.d.ts +1 -1
  411. package/lib/nav-bar/NavBar.js +11 -16
  412. package/lib/nav-bar/index.d.ts +1 -1
  413. package/lib/nav-bar/index.js +9 -16
  414. package/lib/notice-bar/NoticeBar.js +8 -13
  415. package/lib/notice-bar/index.js +9 -16
  416. package/lib/notice-bar/types.js +7 -12
  417. package/lib/notify/Notify.js +8 -13
  418. package/lib/notify/function-call.js +9 -16
  419. package/lib/notify/index.js +8 -13
  420. package/lib/notify/types.d.ts +2 -1
  421. package/lib/notify/types.js +7 -12
  422. package/lib/number-keyboard/NumberKeyboard.js +19 -17
  423. package/lib/number-keyboard/NumberKeyboardKey.js +8 -13
  424. package/lib/number-keyboard/index.js +9 -16
  425. package/lib/overlay/Overlay.js +8 -13
  426. package/lib/overlay/index.js +9 -16
  427. package/lib/pagination/Pagination.js +8 -13
  428. package/lib/pagination/index.js +9 -16
  429. package/lib/password-input/PasswordInput.js +8 -13
  430. package/lib/password-input/index.js +9 -16
  431. package/lib/picker/Picker.d.ts +5 -4
  432. package/lib/picker/Picker.js +9 -16
  433. package/lib/picker/PickerColumn.js +8 -13
  434. package/lib/picker/index.css +1 -1
  435. package/lib/picker/index.d.ts +3 -3
  436. package/lib/picker/index.js +9 -16
  437. package/lib/picker/index.less +1 -0
  438. package/lib/picker/types.d.ts +4 -3
  439. package/lib/picker/types.js +7 -12
  440. package/lib/picker/utils.d.ts +4 -3
  441. package/lib/picker/utils.js +8 -13
  442. package/lib/popover/Popover.js +8 -13
  443. package/lib/popover/index.js +9 -16
  444. package/lib/popover/types.js +7 -12
  445. package/lib/popup/Popup.d.ts +4 -0
  446. package/lib/popup/Popup.js +11 -13
  447. package/lib/popup/index.css +1 -1
  448. package/lib/popup/index.d.ts +3 -0
  449. package/lib/popup/index.js +9 -16
  450. package/lib/popup/shared.js +8 -13
  451. package/lib/popup/types.js +7 -12
  452. package/lib/progress/Progress.d.ts +4 -3
  453. package/lib/progress/Progress.js +8 -13
  454. package/lib/progress/index.d.ts +2 -2
  455. package/lib/progress/index.js +9 -16
  456. package/lib/progress/types.js +7 -12
  457. package/lib/pull-refresh/PullRefresh.js +8 -13
  458. package/lib/pull-refresh/index.js +9 -16
  459. package/lib/radio/Radio.js +9 -16
  460. package/lib/radio/index.js +9 -16
  461. package/lib/radio-group/RadioGroup.js +8 -13
  462. package/lib/radio-group/index.js +9 -16
  463. package/lib/rate/Rate.js +39 -22
  464. package/lib/rate/index.js +9 -16
  465. package/lib/row/Row.js +8 -13
  466. package/lib/row/index.js +9 -16
  467. package/lib/search/Search.d.ts +3 -0
  468. package/lib/search/Search.js +8 -13
  469. package/lib/search/index.css +1 -1
  470. package/lib/search/index.d.ts +2 -0
  471. package/lib/search/index.js +9 -16
  472. package/lib/search/index.less +1 -1
  473. package/lib/search/types.js +7 -12
  474. package/lib/share-sheet/ShareSheet.js +33 -24
  475. package/lib/share-sheet/index.css +1 -1
  476. package/lib/share-sheet/index.js +9 -16
  477. package/lib/share-sheet/index.less +45 -1
  478. package/lib/sidebar/Sidebar.js +8 -13
  479. package/lib/sidebar/index.js +9 -16
  480. package/lib/sidebar-item/SidebarItem.js +8 -13
  481. package/lib/sidebar-item/index.js +9 -16
  482. package/lib/skeleton/Skeleton.d.ts +5 -4
  483. package/lib/skeleton/Skeleton.js +13 -16
  484. package/lib/skeleton/index.d.ts +3 -3
  485. package/lib/skeleton/index.js +9 -16
  486. package/lib/slider/Slider.js +8 -13
  487. package/lib/slider/index.css +1 -1
  488. package/lib/slider/index.js +9 -16
  489. package/lib/step/Step.js +8 -13
  490. package/lib/step/index.js +9 -16
  491. package/lib/stepper/Stepper.js +8 -13
  492. package/lib/stepper/index.js +9 -16
  493. package/lib/steps/Steps.js +8 -13
  494. package/lib/steps/index.js +9 -16
  495. package/lib/sticky/Sticky.js +8 -13
  496. package/lib/sticky/index.js +9 -16
  497. package/lib/style/animation.css +1 -1
  498. package/lib/style/base.css +1 -1
  499. package/lib/style/base.less +5 -0
  500. package/lib/submit-bar/SubmitBar.js +8 -13
  501. package/lib/submit-bar/index.js +9 -16
  502. package/lib/swipe/Swipe.js +8 -13
  503. package/lib/swipe/index.js +9 -16
  504. package/lib/swipe/types.js +7 -12
  505. package/lib/swipe-cell/SwipeCell.js +9 -14
  506. package/lib/swipe-cell/index.css +1 -1
  507. package/lib/swipe-cell/index.js +9 -16
  508. package/lib/swipe-cell/types.js +7 -12
  509. package/lib/swipe-item/SwipeItem.js +8 -13
  510. package/lib/swipe-item/index.js +9 -16
  511. package/lib/switch/Switch.js +8 -13
  512. package/lib/switch/index.js +9 -16
  513. package/lib/tab/Tab.js +8 -13
  514. package/lib/tab/index.js +9 -16
  515. package/lib/tabbar/Tabbar.d.ts +2 -2
  516. package/lib/tabbar/Tabbar.js +8 -13
  517. package/lib/tabbar/index.js +9 -16
  518. package/lib/tabbar-item/TabbarItem.js +8 -13
  519. package/lib/tabbar-item/index.js +9 -16
  520. package/lib/tabs/Tabs.d.ts +1 -1
  521. package/lib/tabs/Tabs.js +10 -16
  522. package/lib/tabs/TabsContent.js +8 -13
  523. package/lib/tabs/TabsTitle.js +8 -13
  524. package/lib/tabs/index.js +9 -16
  525. package/lib/tabs/types.d.ts +5 -4
  526. package/lib/tabs/types.js +7 -12
  527. package/lib/tabs/utils.js +8 -13
  528. package/lib/tag/Tag.js +8 -13
  529. package/lib/tag/index.js +9 -16
  530. package/lib/time-picker/TimePicker.js +8 -13
  531. package/lib/time-picker/index.js +9 -16
  532. package/lib/toast/Toast.js +9 -13
  533. package/lib/toast/function-call.js +9 -16
  534. package/lib/toast/index.js +8 -13
  535. package/lib/toast/lock-click.js +8 -13
  536. package/lib/toast/types.d.ts +3 -2
  537. package/lib/toast/types.js +7 -12
  538. package/lib/tree-select/TreeSelect.d.ts +7 -6
  539. package/lib/tree-select/TreeSelect.js +8 -13
  540. package/lib/tree-select/index.d.ts +3 -3
  541. package/lib/tree-select/index.js +9 -16
  542. package/lib/uploader/Uploader.d.ts +4 -4
  543. package/lib/uploader/Uploader.js +11 -18
  544. package/lib/uploader/UploaderPreviewItem.d.ts +3 -3
  545. package/lib/uploader/UploaderPreviewItem.js +17 -19
  546. package/lib/uploader/index.d.ts +2 -2
  547. package/lib/uploader/index.js +9 -16
  548. package/lib/uploader/types.d.ts +5 -5
  549. package/lib/uploader/types.js +7 -12
  550. package/lib/uploader/utils.d.ts +0 -1
  551. package/lib/uploader/utils.js +10 -17
  552. package/lib/utils/basic.d.ts +2 -0
  553. package/lib/utils/basic.js +11 -14
  554. package/lib/utils/constant.js +8 -13
  555. package/lib/utils/create.js +9 -16
  556. package/lib/utils/deep-assign.js +8 -13
  557. package/lib/utils/deep-clone.js +8 -13
  558. package/lib/utils/dom.js +8 -13
  559. package/lib/utils/format.d.ts +7 -6
  560. package/lib/utils/format.js +14 -13
  561. package/lib/utils/index.js +17 -21
  562. package/lib/utils/interceptor.js +8 -13
  563. package/lib/utils/mount-component.js +8 -13
  564. package/lib/utils/props.js +8 -13
  565. package/lib/utils/validate.d.ts +2 -1
  566. package/lib/utils/validate.js +8 -13
  567. package/lib/utils/with-install.js +8 -13
  568. package/lib/vant.cjs.js +538 -284
  569. package/lib/vant.cjs.min.js +1 -1
  570. package/lib/vant.es.js +538 -284
  571. package/lib/vant.es.min.js +538 -284
  572. package/lib/vant.js +538 -284
  573. package/lib/vant.min.js +1 -1
  574. package/package.json +4 -4
  575. package/vetur/attributes.json +388 -452
  576. package/vetur/tags.json +108 -106
  577. package/vetur/web-types.json +2027 -1172
  578. package/es/empty/Network.d.ts +0 -1
  579. package/es/empty/Network.js +0 -89
  580. package/lib/empty/Network.d.ts +0 -1
  581. package/lib/empty/Network.js +0 -113
package/lib/vant.js CHANGED
@@ -24,6 +24,7 @@
24
24
  }, {});
25
25
  }
26
26
  const isSameValue = (newValue, oldValue) => JSON.stringify(newValue) === JSON.stringify(oldValue);
27
+ const toArray = (item) => Array.isArray(item) ? item : [item];
27
28
  const unknownProp = null;
28
29
  const numericProp = [Number, String];
29
30
  const truthProp = {
@@ -473,6 +474,12 @@
473
474
  }
474
475
  function getSizeStyle(originSize) {
475
476
  if (isDef(originSize)) {
477
+ if (Array.isArray(originSize)) {
478
+ return {
479
+ width: addUnit(originSize[0]),
480
+ height: addUnit(originSize[1])
481
+ };
482
+ }
476
483
  const size = addUnit(originSize);
477
484
  return {
478
485
  width: size,
@@ -634,10 +641,8 @@
634
641
  },
635
642
  vanAddressEdit: {
636
643
  area: "\u5730\u533A",
637
- postal: "\u90AE\u653F\u7F16\u7801",
638
644
  areaEmpty: "\u8BF7\u9009\u62E9\u5730\u533A",
639
645
  addressEmpty: "\u8BF7\u586B\u5199\u8BE6\u7EC6\u5730\u5740",
640
- postalEmpty: "\u90AE\u653F\u7F16\u7801\u4E0D\u6B63\u786E",
641
646
  addressDetail: "\u8BE6\u7EC6\u5730\u5740",
642
647
  defaultAddress: "\u8BBE\u4E3A\u9ED8\u8BA4\u6536\u8D27\u5730\u5740"
643
648
  },
@@ -663,10 +668,10 @@
663
668
  };
664
669
  var stdin_default$1B = Locale;
665
670
  function createTranslate(name2) {
666
- const prefix2 = camelize(name2) + ".";
671
+ const prefix = camelize(name2) + ".";
667
672
  return (path, ...args) => {
668
673
  const messages2 = stdin_default$1B.messages();
669
- const message = get(messages2, prefix2 + path) || get(messages2, path);
674
+ const message = get(messages2, prefix + path) || get(messages2, path);
670
675
  return isFunction(message) ? message(...args) : message;
671
676
  };
672
677
  }
@@ -914,6 +919,8 @@
914
919
  vue.watch(() => props.theme, (newVal, oldVal) => {
915
920
  document.body.classList.remove(`van-theme-${oldVal}`);
916
921
  document.body.classList.add(`van-theme-${newVal}`);
922
+ }, {
923
+ immediate: true
917
924
  });
918
925
  }
919
926
  vue.provide(CONFIG_PROVIDER_KEY, props);
@@ -1030,7 +1037,9 @@
1030
1037
  return vue.createVNode("div", {
1031
1038
  "class": bem$1l([type, {
1032
1039
  vertical
1033
- }])
1040
+ }]),
1041
+ "aria-live": "polite",
1042
+ "aria-busy": true
1034
1043
  }, [vue.createVNode("span", {
1035
1044
  "class": bem$1l("spinner", type),
1036
1045
  "style": spinnerStyle.value
@@ -1348,7 +1357,7 @@
1348
1357
  };
1349
1358
  const move = (event) => {
1350
1359
  const touch = event.touches[0];
1351
- deltaX.value = touch.clientX < 0 ? 0 : touch.clientX - startX.value;
1360
+ deltaX.value = (touch.clientX < 0 ? 0 : touch.clientX) - startX.value;
1352
1361
  deltaY.value = touch.clientY - startY.value;
1353
1362
  offsetX.value = Math.abs(deltaX.value);
1354
1363
  offsetY.value = Math.abs(deltaY.value);
@@ -1488,6 +1497,7 @@
1488
1497
  iconPrefix: String,
1489
1498
  closeOnPopstate: Boolean,
1490
1499
  closeIconPosition: makeStringProp("top-right"),
1500
+ safeAreaInsetTop: Boolean,
1491
1501
  safeAreaInsetBottom: Boolean
1492
1502
  });
1493
1503
  const [name$1k, bem$1g] = createNamespace("popup");
@@ -1582,6 +1592,7 @@
1582
1592
  const {
1583
1593
  round: round2,
1584
1594
  position,
1595
+ safeAreaInsetTop,
1585
1596
  safeAreaInsetBottom
1586
1597
  } = props;
1587
1598
  return vue.withDirectives(vue.createVNode("div", vue.mergeProps({
@@ -1591,6 +1602,7 @@
1591
1602
  round: round2,
1592
1603
  [position]: position
1593
1604
  }), {
1605
+ "van-safe-area-top": safeAreaInsetTop,
1594
1606
  "van-safe-area-bottom": safeAreaInsetBottom
1595
1607
  }],
1596
1608
  "onKeydown": onKeydown
@@ -2493,9 +2505,12 @@
2493
2505
  scrollToError: Boolean,
2494
2506
  validateFirst: Boolean,
2495
2507
  submitOnEnter: truthProp,
2496
- validateTrigger: makeStringProp("onBlur"),
2497
2508
  showErrorMessage: truthProp,
2498
- errorMessageAlign: String
2509
+ errorMessageAlign: String,
2510
+ validateTrigger: {
2511
+ type: [String, Array],
2512
+ default: "onBlur"
2513
+ }
2499
2514
  };
2500
2515
  var stdin_default$1l = vue.defineComponent({
2501
2516
  name: name$1e,
@@ -2610,6 +2625,7 @@
2610
2625
  useExpose({
2611
2626
  submit,
2612
2627
  validate,
2628
+ getValues,
2613
2629
  scrollToField,
2614
2630
  resetValidation
2615
2631
  });
@@ -2707,7 +2723,7 @@
2707
2723
  return [...str].slice(0, maxlength).join("");
2708
2724
  }
2709
2725
  let current = 0;
2710
- function useId() {
2726
+ function useId$1() {
2711
2727
  const vm = vue.getCurrentInstance();
2712
2728
  const { name: name2 = "unknown" } = (vm == null ? void 0 : vm.type) || {};
2713
2729
  return `${name2}-${++current}`;
@@ -2728,6 +2744,7 @@
2728
2744
  placeholder: String,
2729
2745
  autocomplete: String,
2730
2746
  errorMessage: String,
2747
+ enterkeyhint: String,
2731
2748
  clearTrigger: makeStringProp("focus"),
2732
2749
  formatTrigger: makeStringProp("onChange"),
2733
2750
  error: {
@@ -2766,7 +2783,7 @@
2766
2783
  emit,
2767
2784
  slots
2768
2785
  }) {
2769
- const id = useId();
2786
+ const id = useId$1();
2770
2787
  const state = vue.reactive({
2771
2788
  focused: false,
2772
2789
  validateFailed: false,
@@ -2856,10 +2873,13 @@
2856
2873
  });
2857
2874
  const validateWithTrigger = (trigger) => {
2858
2875
  if (form && props.rules) {
2859
- const defaultTrigger = form.props.validateTrigger === trigger;
2876
+ const {
2877
+ validateTrigger
2878
+ } = form.props;
2879
+ const defaultTrigger = toArray(validateTrigger).includes(trigger);
2860
2880
  const rules = props.rules.filter((rule) => {
2861
2881
  if (rule.trigger) {
2862
- return rule.trigger === trigger;
2882
+ return toArray(rule.trigger).includes(trigger);
2863
2883
  }
2864
2884
  return defaultTrigger;
2865
2885
  });
@@ -2997,6 +3017,7 @@
2997
3017
  autofocus: props.autofocus,
2998
3018
  placeholder: props.placeholder,
2999
3019
  autocomplete: props.autocomplete,
3020
+ enterkeyhint: props.enterkeyhint,
3000
3021
  "aria-labelledby": props.label ? `${id}-label` : void 0,
3001
3022
  onBlur,
3002
3023
  onFocus,
@@ -3260,6 +3281,7 @@
3260
3281
  } = props;
3261
3282
  if (isDef(message) && message !== "") {
3262
3283
  return type === "html" ? vue.createVNode("div", {
3284
+ "key": 0,
3263
3285
  "class": bem$18("text"),
3264
3286
  "innerHTML": String(message)
3265
3287
  }, null) : vue.createVNode("div", {
@@ -3574,10 +3596,8 @@
3574
3596
  province: "",
3575
3597
  areaCode: "",
3576
3598
  isDefault: false,
3577
- postalCode: "",
3578
3599
  addressDetail: ""
3579
3600
  };
3580
- const isPostal = (value) => /^\d{6}$/.test(value);
3581
3601
  const addressEditProps = {
3582
3602
  areaList: Object,
3583
3603
  isSaving: Boolean,
@@ -3586,7 +3606,6 @@
3586
3606
  showArea: truthProp,
3587
3607
  showDetail: truthProp,
3588
3608
  showDelete: Boolean,
3589
- showPostal: Boolean,
3590
3609
  disableArea: Boolean,
3591
3610
  searchResult: Array,
3592
3611
  telMaxlength: numericProp,
@@ -3605,10 +3624,6 @@
3605
3624
  telValidator: {
3606
3625
  type: Function,
3607
3626
  default: isMobile
3608
- },
3609
- postalValidator: {
3610
- type: Function,
3611
- default: isPostal
3612
3627
  }
3613
3628
  };
3614
3629
  var stdin_default$1g = vue.defineComponent({
@@ -3651,8 +3666,7 @@
3651
3666
  const rules = vue.computed(() => {
3652
3667
  const {
3653
3668
  validator,
3654
- telValidator,
3655
- postalValidator
3669
+ telValidator
3656
3670
  } = props;
3657
3671
  const makeRule = (name2, emptyMessage) => ({
3658
3672
  validator: (value) => {
@@ -3675,11 +3689,7 @@
3675
3689
  message: t$h("telInvalid")
3676
3690
  }],
3677
3691
  areaCode: [makeRule("areaCode", t$h("areaEmpty"))],
3678
- addressDetail: [makeRule("addressDetail", t$h("addressEmpty"))],
3679
- postalCode: [makeRule("addressDetail", t$h("postalEmpty")), {
3680
- validator: postalValidator,
3681
- message: t$h("postalEmpty")
3682
- }]
3692
+ addressDetail: [makeRule("addressDetail", t$h("addressEmpty"))]
3683
3693
  };
3684
3694
  });
3685
3695
  const onSave = () => emit("save", data);
@@ -3804,16 +3814,7 @@
3804
3814
  "onFocus": () => onFocus("addressDetail"),
3805
3815
  "onInput": onChangeDetail,
3806
3816
  "onSelectSearch": (event) => emit("selectSearch", event)
3807
- }, null), props.showPostal && vue.withDirectives(vue.createVNode(Field, {
3808
- "modelValue": data.postalCode,
3809
- "onUpdate:modelValue": ($event) => data.postalCode = $event,
3810
- "type": "tel",
3811
- "rules": rules.value.postalCode,
3812
- "label": t$h("postal"),
3813
- "maxlength": "6",
3814
- "placeholder": t$h("postal"),
3815
- "onFocus": () => onFocus("postalCode")
3816
- }, null), [[vue.vShow, !hideBottomFields.value]]), (_a = slots.default) == null ? void 0 : _a.call(slots)]), renderSetDefaultCell(), vue.withDirectives(vue.createVNode("div", {
3817
+ }, null), (_a = slots.default) == null ? void 0 : _a.call(slots)]), renderSetDefaultCell(), vue.withDirectives(vue.createVNode("div", {
3817
3818
  "class": bem$15("buttons")
3818
3819
  }, [vue.createVNode(Button, {
3819
3820
  "block": true,
@@ -4372,6 +4373,7 @@
4372
4373
  slots
4373
4374
  }) {
4374
4375
  const style = vue.computed(() => {
4376
+ var _a;
4375
4377
  const {
4376
4378
  item,
4377
4379
  index,
@@ -4403,6 +4405,9 @@
4403
4405
  break;
4404
4406
  }
4405
4407
  }
4408
+ if (offset2 + (((_a = item.date) == null ? void 0 : _a.getDate()) || 1) > 28) {
4409
+ style2.marginBottom = 0;
4410
+ }
4406
4411
  return style2;
4407
4412
  });
4408
4413
  const onClick = () => {
@@ -4747,6 +4752,7 @@
4747
4752
  showRangePrompt: truthProp,
4748
4753
  confirmDisabledText: String,
4749
4754
  closeOnClickOverlay: truthProp,
4755
+ safeAreaInsetTop: Boolean,
4750
4756
  safeAreaInsetBottom: truthProp,
4751
4757
  minDate: {
4752
4758
  type: Date,
@@ -4909,8 +4915,8 @@
4909
4915
  }
4910
4916
  raf(() => {
4911
4917
  bodyHeight = Math.floor(useRect(bodyRef).height);
4912
- scrollToCurrentDate();
4913
4918
  });
4919
+ scrollToCurrentDate();
4914
4920
  };
4915
4921
  const reset = (date = getInitialDate()) => {
4916
4922
  currentDate.value = date;
@@ -5095,6 +5101,7 @@
5095
5101
  "closeable": props.showTitle || props.showSubtitle,
5096
5102
  "teleport": props.teleport,
5097
5103
  "closeOnPopstate": props.closeOnPopstate,
5104
+ "safeAreaInsetTop": props.safeAreaInsetTop,
5098
5105
  "closeOnClickOverlay": props.closeOnClickOverlay,
5099
5106
  "onUpdate:show": updateShow
5100
5107
  }, {
@@ -6053,7 +6060,7 @@
6053
6060
  const root = vue.ref();
6054
6061
  const navRef = vue.ref();
6055
6062
  const wrapRef = vue.ref();
6056
- const id = useId();
6063
+ const id = useId$1();
6057
6064
  const scroller = useScrollParent(root);
6058
6065
  const [titleRefs, setTitleRefs] = useRefs();
6059
6066
  const {
@@ -6220,6 +6227,7 @@
6220
6227
  }
6221
6228
  };
6222
6229
  const renderNav = () => children.map((item, index) => vue.createVNode(stdin_default$12, vue.mergeProps({
6230
+ "key": item.id,
6223
6231
  "id": `${id}-${index}`,
6224
6232
  "ref": setTitleRefs(index),
6225
6233
  "type": props.type,
@@ -6439,7 +6447,7 @@
6439
6447
  setup(props, {
6440
6448
  slots
6441
6449
  }) {
6442
- const id = useId();
6450
+ const id = useId$1();
6443
6451
  const inited = vue.ref(false);
6444
6452
  const {
6445
6453
  parent,
@@ -7809,14 +7817,328 @@
7809
7817
  }
7810
7818
  });
7811
7819
  const CouponCell = withInstall(stdin_default$K);
7812
- const [name$D, bem$C, t$8] = createNamespace("coupon-list");
7813
- const EMPTY_IMAGE = "https://img.yzcdn.cn/vant/coupon-empty.png";
7820
+ const getId = (num) => `van-empty-${num}`;
7821
+ const useId = (num) => `url(#${getId(num)})`;
7822
+ const renderStop = (color, offset2, opacity) => vue.createVNode("stop", {
7823
+ "stop-color": color,
7824
+ "offset": `${offset2}%`,
7825
+ "stop-opacity": opacity
7826
+ }, null);
7827
+ const renderStops = (fromColor, toColor) => [renderStop(fromColor, 0), renderStop(toColor, 100)];
7828
+ const renderShadow = (id) => [vue.createVNode("defs", null, [vue.createVNode("radialGradient", {
7829
+ "id": getId(id),
7830
+ "cx": "50%",
7831
+ "cy": "54%",
7832
+ "fx": "50%",
7833
+ "fy": "54%",
7834
+ "r": "297%",
7835
+ "gradientTransform": "matrix(-.16 0 0 -.33 .58 .72)"
7836
+ }, [renderStop("#EBEDF0", 0), renderStop("#F2F3F5", 100, 0.3)])]), vue.createVNode("ellipse", {
7837
+ "fill": useId(id),
7838
+ "opacity": ".8",
7839
+ "cx": "80",
7840
+ "cy": "140",
7841
+ "rx": "46",
7842
+ "ry": "8"
7843
+ }, null)];
7844
+ const renderBuilding = () => [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
7845
+ "id": getId("a"),
7846
+ "x1": "64%",
7847
+ "y1": "100%",
7848
+ "x2": "64%"
7849
+ }, [renderStop("#FFF", 0, 0.5), renderStop("#F2F3F5", 100)])]), vue.createVNode("g", {
7850
+ "opacity": ".8"
7851
+ }, [vue.createVNode("path", {
7852
+ "d": "M36 131V53H16v20H2v58h34z",
7853
+ "fill": useId("a")
7854
+ }, null), vue.createVNode("path", {
7855
+ "d": "M123 15h22v14h9v77h-31V15z",
7856
+ "fill": useId("a")
7857
+ }, null)])];
7858
+ const renderCloud = () => [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
7859
+ "id": getId("b"),
7860
+ "x1": "64%",
7861
+ "y1": "97%",
7862
+ "x2": "64%",
7863
+ "y2": "0%"
7864
+ }, [renderStop("#F2F3F5", 0, 0.3), renderStop("#F2F3F5", 100)])]), vue.createVNode("g", {
7865
+ "opacity": ".8"
7866
+ }, [vue.createVNode("path", {
7867
+ "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",
7868
+ "fill": useId("b")
7869
+ }, null), vue.createVNode("path", {
7870
+ "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",
7871
+ "fill": useId("b")
7872
+ }, null)])];
7873
+ const renderNetwork = () => vue.createVNode("svg", {
7874
+ "viewBox": "0 0 160 160"
7875
+ }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
7876
+ "id": getId(1),
7877
+ "x1": "64%",
7878
+ "y1": "100%",
7879
+ "x2": "64%"
7880
+ }, [renderStop("#FFF", 0, 0.5), renderStop("#F2F3F5", 100)]), vue.createVNode("linearGradient", {
7881
+ "id": getId(2),
7882
+ "x1": "50%",
7883
+ "x2": "50%",
7884
+ "y2": "84%"
7885
+ }, [renderStop("#EBEDF0", 0), renderStop("#DCDEE0", 100, 0)]), vue.createVNode("linearGradient", {
7886
+ "id": getId(3),
7887
+ "x1": "100%",
7888
+ "x2": "100%",
7889
+ "y2": "100%"
7890
+ }, [renderStops("#EAEDF0", "#DCDEE0")]), vue.createVNode("radialGradient", {
7891
+ "id": getId(4),
7892
+ "cx": "50%",
7893
+ "cy": "0%",
7894
+ "fx": "50%",
7895
+ "fy": "0%",
7896
+ "r": "100%",
7897
+ "gradientTransform": "matrix(0 1 -.54 0 .5 -.5)"
7898
+ }, [renderStop("#EBEDF0", 0), renderStop("#FFF", 100, 0)])]), vue.createVNode("g", {
7899
+ "fill": "none"
7900
+ }, [renderBuilding(), vue.createVNode("path", {
7901
+ "fill": useId(4),
7902
+ "d": "M0 139h160v21H0z"
7903
+ }, null), vue.createVNode("path", {
7904
+ "d": "M80 54a7 7 0 0 1 3 13v27l-2 2h-2a2 2 0 0 1-2-2V67a7 7 0 0 1 3-13z",
7905
+ "fill": useId(2)
7906
+ }, null), vue.createVNode("g", {
7907
+ "opacity": ".6",
7908
+ "stroke-linecap": "round",
7909
+ "stroke-width": "7"
7910
+ }, [vue.createVNode("path", {
7911
+ "d": "M64 47a19 19 0 0 0-5 13c0 5 2 10 5 13",
7912
+ "stroke": useId(3)
7913
+ }, null), vue.createVNode("path", {
7914
+ "d": "M53 36a34 34 0 0 0 0 48",
7915
+ "stroke": useId(3)
7916
+ }, null), vue.createVNode("path", {
7917
+ "d": "M95 73a19 19 0 0 0 6-13c0-5-2-9-6-13",
7918
+ "stroke": useId(3)
7919
+ }, null), vue.createVNode("path", {
7920
+ "d": "M106 84a34 34 0 0 0 0-48",
7921
+ "stroke": useId(3)
7922
+ }, null)]), vue.createVNode("g", {
7923
+ "transform": "translate(31 105)"
7924
+ }, [vue.createVNode("rect", {
7925
+ "fill": "#EBEDF0",
7926
+ "width": "98",
7927
+ "height": "34",
7928
+ "rx": "2"
7929
+ }, null), vue.createVNode("rect", {
7930
+ "fill": "#FFF",
7931
+ "x": "9",
7932
+ "y": "8",
7933
+ "width": "80",
7934
+ "height": "18",
7935
+ "rx": "1.1"
7936
+ }, null), vue.createVNode("rect", {
7937
+ "fill": "#EBEDF0",
7938
+ "x": "15",
7939
+ "y": "12",
7940
+ "width": "18",
7941
+ "height": "6",
7942
+ "rx": "1.1"
7943
+ }, null)])])]);
7944
+ const renderMaterial = () => vue.createVNode("svg", {
7945
+ "viewBox": "0 0 160 160"
7946
+ }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
7947
+ "x1": "50%",
7948
+ "x2": "50%",
7949
+ "y2": "100%",
7950
+ "id": getId(5)
7951
+ }, [renderStops("#F2F3F5", "#DCDEE0")]), vue.createVNode("linearGradient", {
7952
+ "x1": "95%",
7953
+ "y1": "48%",
7954
+ "x2": "5.5%",
7955
+ "y2": "51%",
7956
+ "id": getId(6)
7957
+ }, [renderStops("#EAEDF1", "#DCDEE0")]), vue.createVNode("linearGradient", {
7958
+ "y1": "45%",
7959
+ "x2": "100%",
7960
+ "y2": "54%",
7961
+ "id": getId(7)
7962
+ }, [renderStops("#EAEDF1", "#DCDEE0")])]), renderBuilding(), renderCloud(), vue.createVNode("g", {
7963
+ "transform": "translate(36 50)",
7964
+ "fill": "none"
7965
+ }, [vue.createVNode("g", {
7966
+ "transform": "translate(8)"
7967
+ }, [vue.createVNode("rect", {
7968
+ "fill": "#EBEDF0",
7969
+ "opacity": ".6",
7970
+ "x": "38",
7971
+ "y": "13",
7972
+ "width": "36",
7973
+ "height": "53",
7974
+ "rx": "2"
7975
+ }, null), vue.createVNode("rect", {
7976
+ "fill": useId(5),
7977
+ "width": "64",
7978
+ "height": "66",
7979
+ "rx": "2"
7980
+ }, null), vue.createVNode("rect", {
7981
+ "fill": "#FFF",
7982
+ "x": "6",
7983
+ "y": "6",
7984
+ "width": "52",
7985
+ "height": "55",
7986
+ "rx": "1"
7987
+ }, null), vue.createVNode("g", {
7988
+ "transform": "translate(15 17)",
7989
+ "fill": useId(6)
7990
+ }, [vue.createVNode("rect", {
7991
+ "width": "34",
7992
+ "height": "6",
7993
+ "rx": "1"
7994
+ }, null), vue.createVNode("path", {
7995
+ "d": "M0 14h34v6H0z"
7996
+ }, null), vue.createVNode("rect", {
7997
+ "y": "28",
7998
+ "width": "34",
7999
+ "height": "6",
8000
+ "rx": "1"
8001
+ }, null)])]), vue.createVNode("rect", {
8002
+ "fill": useId(7),
8003
+ "y": "61",
8004
+ "width": "88",
8005
+ "height": "28",
8006
+ "rx": "1"
8007
+ }, null), vue.createVNode("rect", {
8008
+ "fill": "#F7F8FA",
8009
+ "x": "29",
8010
+ "y": "72",
8011
+ "width": "30",
8012
+ "height": "6",
8013
+ "rx": "1"
8014
+ }, null)])]);
8015
+ const renderError = () => vue.createVNode("svg", {
8016
+ "viewBox": "0 0 160 160"
8017
+ }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
8018
+ "x1": "50%",
8019
+ "x2": "50%",
8020
+ "y2": "100%",
8021
+ "id": getId(8)
8022
+ }, [renderStops("#EAEDF1", "#DCDEE0")])]), renderBuilding(), renderCloud(), renderShadow("c"), vue.createVNode("path", {
8023
+ "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",
8024
+ "fill": useId(8)
8025
+ }, null)]);
8026
+ const renderSearch = () => vue.createVNode("svg", {
8027
+ "viewBox": "0 0 160 160"
8028
+ }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
8029
+ "x1": "50%",
8030
+ "y1": "100%",
8031
+ "x2": "50%",
8032
+ "id": getId(9)
8033
+ }, [renderStops("#EEE", "#D8D8D8")]), vue.createVNode("linearGradient", {
8034
+ "x1": "100%",
8035
+ "y1": "50%",
8036
+ "y2": "50%",
8037
+ "id": getId(10)
8038
+ }, [renderStops("#F2F3F5", "#DCDEE0")]), vue.createVNode("linearGradient", {
8039
+ "x1": "50%",
8040
+ "x2": "50%",
8041
+ "y2": "100%",
8042
+ "id": getId(11)
8043
+ }, [renderStops("#F2F3F5", "#DCDEE0")]), vue.createVNode("linearGradient", {
8044
+ "x1": "50%",
8045
+ "x2": "50%",
8046
+ "y2": "100%",
8047
+ "id": getId(12)
8048
+ }, [renderStops("#FFF", "#F7F8FA")])]), renderBuilding(), renderCloud(), renderShadow("d"), vue.createVNode("g", {
8049
+ "transform": "rotate(-45 113 -4)",
8050
+ "fill": "none"
8051
+ }, [vue.createVNode("rect", {
8052
+ "fill": useId(9),
8053
+ "x": "24",
8054
+ "y": "52.8",
8055
+ "width": "5.8",
8056
+ "height": "19",
8057
+ "rx": "1"
8058
+ }, null), vue.createVNode("rect", {
8059
+ "fill": useId(10),
8060
+ "x": "22.1",
8061
+ "y": "67.3",
8062
+ "width": "9.9",
8063
+ "height": "28",
8064
+ "rx": "1"
8065
+ }, null), vue.createVNode("circle", {
8066
+ "stroke": useId(11),
8067
+ "stroke-width": "8",
8068
+ "cx": "27",
8069
+ "cy": "27",
8070
+ "r": "27"
8071
+ }, null), vue.createVNode("circle", {
8072
+ "fill": useId(12),
8073
+ "cx": "27",
8074
+ "cy": "27",
8075
+ "r": "16"
8076
+ }, null), vue.createVNode("path", {
8077
+ "d": "M37 7c-8 0-15 5-16 12",
8078
+ "stroke": useId(11),
8079
+ "stroke-width": "3",
8080
+ "opacity": ".5",
8081
+ "stroke-linecap": "round",
8082
+ "transform": "rotate(45 29 13)"
8083
+ }, null)])]);
8084
+ const [name$D, bem$C] = createNamespace("empty");
8085
+ const PRESET_IMAGES = {
8086
+ error: renderError,
8087
+ search: renderSearch,
8088
+ network: renderNetwork,
8089
+ default: renderMaterial
8090
+ };
8091
+ const emptyProps = {
8092
+ image: makeStringProp("default"),
8093
+ imageSize: [Number, String, Array],
8094
+ description: String
8095
+ };
8096
+ var stdin_default$J = vue.defineComponent({
8097
+ name: name$D,
8098
+ props: emptyProps,
8099
+ setup(props, {
8100
+ slots
8101
+ }) {
8102
+ const renderImage = () => {
8103
+ var _a;
8104
+ if (slots.image) {
8105
+ return slots.image();
8106
+ }
8107
+ return ((_a = PRESET_IMAGES[props.image]) == null ? void 0 : _a.call(PRESET_IMAGES)) || vue.createVNode("img", {
8108
+ "src": props.image
8109
+ }, null);
8110
+ };
8111
+ const renderDescription = () => {
8112
+ const description = slots.description ? slots.description() : props.description;
8113
+ if (description) {
8114
+ return vue.createVNode("p", {
8115
+ "class": bem$C("description")
8116
+ }, [description]);
8117
+ }
8118
+ };
8119
+ const renderBottom = () => {
8120
+ if (slots.default) {
8121
+ return vue.createVNode("div", {
8122
+ "class": bem$C("bottom")
8123
+ }, [slots.default()]);
8124
+ }
8125
+ };
8126
+ return () => vue.createVNode("div", {
8127
+ "class": bem$C()
8128
+ }, [vue.createVNode("div", {
8129
+ "class": bem$C("image"),
8130
+ "style": getSizeStyle(props.imageSize)
8131
+ }, [renderImage()]), renderDescription(), renderBottom()]);
8132
+ }
8133
+ });
8134
+ const Empty = withInstall(stdin_default$J);
8135
+ const [name$C, bem$B, t$8] = createNamespace("coupon-list");
7814
8136
  const couponListProps = {
7815
8137
  code: makeStringProp(""),
7816
8138
  coupons: makeArrayProp(),
7817
8139
  currency: makeStringProp("\xA5"),
7818
8140
  showCount: truthProp,
7819
- emptyImage: makeStringProp(EMPTY_IMAGE),
8141
+ emptyImage: String,
7820
8142
  chosenCoupon: makeNumberProp(-1),
7821
8143
  enabledTitle: String,
7822
8144
  disabledTitle: String,
@@ -7831,8 +8153,8 @@
7831
8153
  exchangeButtonLoading: Boolean,
7832
8154
  exchangeButtonDisabled: Boolean
7833
8155
  };
7834
- var stdin_default$J = vue.defineComponent({
7835
- name: name$D,
8156
+ var stdin_default$I = vue.defineComponent({
8157
+ name: name$C,
7836
8158
  props: couponListProps,
7837
8159
  emits: ["change", "exchange", "update:code"],
7838
8160
  setup(props, {
@@ -7864,28 +8186,30 @@
7864
8186
  return (_a = couponRefs.value[index]) == null ? void 0 : _a.scrollIntoView();
7865
8187
  });
7866
8188
  };
7867
- const renderEmpty = () => vue.createVNode("div", {
7868
- "class": bem$C("empty")
7869
- }, [vue.createVNode("img", {
7870
- "src": props.emptyImage
7871
- }, null), vue.createVNode("p", null, [t$8("noCoupon")])]);
8189
+ const renderEmpty = () => vue.createVNode(Empty, {
8190
+ "image": props.emptyImage
8191
+ }, {
8192
+ default: () => [vue.createVNode("p", {
8193
+ "class": bem$B("empty-tip")
8194
+ }, [t$8("noCoupon")])]
8195
+ });
7872
8196
  const renderExchangeBar = () => {
7873
8197
  if (props.showExchangeBar) {
7874
8198
  return vue.createVNode("div", {
7875
8199
  "ref": barRef,
7876
- "class": bem$C("exchange-bar")
8200
+ "class": bem$B("exchange-bar")
7877
8201
  }, [vue.createVNode(Field, {
7878
8202
  "modelValue": currentCode.value,
7879
8203
  "onUpdate:modelValue": ($event) => currentCode.value = $event,
7880
8204
  "clearable": true,
7881
8205
  "border": false,
7882
- "class": bem$C("field"),
8206
+ "class": bem$B("field"),
7883
8207
  "placeholder": props.inputPlaceholder || t$8("placeholder"),
7884
8208
  "maxlength": "20"
7885
8209
  }, null), vue.createVNode(Button, {
7886
8210
  "plain": true,
7887
8211
  "type": "primary",
7888
- "class": bem$C("exchange"),
8212
+ "class": bem$B("exchange"),
7889
8213
  "text": props.exchangeButtonText || t$8("exchange"),
7890
8214
  "loading": props.exchangeButtonLoading,
7891
8215
  "disabled": buttonDisabled.value,
@@ -7905,7 +8229,7 @@
7905
8229
  default: () => {
7906
8230
  var _a;
7907
8231
  return [vue.createVNode("div", {
7908
- "class": bem$C("list", {
8232
+ "class": bem$B("list", {
7909
8233
  "with-bottom": props.showCloseButton
7910
8234
  }),
7911
8235
  "style": {
@@ -7934,7 +8258,7 @@
7934
8258
  default: () => {
7935
8259
  var _a;
7936
8260
  return [vue.createVNode("div", {
7937
- "class": bem$C("list", {
8261
+ "class": bem$B("list", {
7938
8262
  "with-bottom": props.showCloseButton
7939
8263
  }),
7940
8264
  "style": {
@@ -7961,28 +8285,28 @@
7961
8285
  });
7962
8286
  return () => vue.createVNode("div", {
7963
8287
  "ref": root,
7964
- "class": bem$C()
8288
+ "class": bem$B()
7965
8289
  }, [renderExchangeBar(), vue.createVNode(Tabs, {
7966
8290
  "active": activeTab.value,
7967
8291
  "onUpdate:active": ($event) => activeTab.value = $event,
7968
- "class": bem$C("tab")
8292
+ "class": bem$B("tab")
7969
8293
  }, {
7970
8294
  default: () => [renderCouponTab(), renderDisabledTab()]
7971
8295
  }), vue.createVNode("div", {
7972
- "class": bem$C("bottom")
8296
+ "class": bem$B("bottom")
7973
8297
  }, [vue.withDirectives(vue.createVNode(Button, {
7974
8298
  "round": true,
7975
8299
  "block": true,
7976
8300
  "type": "primary",
7977
- "class": bem$C("close"),
8301
+ "class": bem$B("close"),
7978
8302
  "text": props.closeButtonText || t$8("close"),
7979
8303
  "onClick": () => emit("change", -1)
7980
8304
  }, null), [[vue.vShow, props.showCloseButton]])])]);
7981
8305
  }
7982
8306
  });
7983
- const CouponList = withInstall(stdin_default$J);
8307
+ const CouponList = withInstall(stdin_default$I);
7984
8308
  const currentYear = new Date().getFullYear();
7985
- const [name$C] = createNamespace("date-picker");
8309
+ const [name$B] = createNamespace("date-picker");
7986
8310
  const datePickerProps = extend({}, sharedProps, {
7987
8311
  columnsType: {
7988
8312
  type: Array,
@@ -7999,8 +8323,8 @@
7999
8323
  validator: isDate
8000
8324
  }
8001
8325
  });
8002
- var stdin_default$I = vue.defineComponent({
8003
- name: name$C,
8326
+ var stdin_default$H = vue.defineComponent({
8327
+ name: name$B,
8004
8328
  props: datePickerProps,
8005
8329
  emits: ["confirm", "cancel", "change", "update:modelValue"],
8006
8330
  setup(props, {
@@ -8067,7 +8391,7 @@
8067
8391
  }
8068
8392
  });
8069
8393
  vue.watch(() => props.modelValue, (newValues) => {
8070
- if (isSameValue(newValues, currentValues.value)) {
8394
+ if (!isSameValue(newValues, currentValues.value)) {
8071
8395
  currentValues.value = newValues;
8072
8396
  }
8073
8397
  });
@@ -8084,8 +8408,8 @@
8084
8408
  }, pick(props, pickerInheritKeys)), slots);
8085
8409
  }
8086
8410
  });
8087
- const DatePicker = withInstall(stdin_default$I);
8088
- const [name$B, bem$B, t$7] = createNamespace("dialog");
8411
+ const DatePicker = withInstall(stdin_default$H);
8412
+ const [name$A, bem$A, t$7] = createNamespace("dialog");
8089
8413
  const dialogProps = extend({}, popupSharedProps, {
8090
8414
  title: String,
8091
8415
  theme: String,
@@ -8106,8 +8430,8 @@
8106
8430
  closeOnClickOverlay: Boolean
8107
8431
  });
8108
8432
  const popupInheritKeys$1 = [...popupSharedPropKeys, "transition", "closeOnPopstate"];
8109
- var stdin_default$H = vue.defineComponent({
8110
- name: name$B,
8433
+ var stdin_default$G = vue.defineComponent({
8434
+ name: name$A,
8111
8435
  props: dialogProps,
8112
8436
  emits: ["confirm", "cancel", "keydown", "update:show"],
8113
8437
  setup(props, {
@@ -8164,7 +8488,7 @@
8164
8488
  const title = slots.title ? slots.title() : props.title;
8165
8489
  if (title) {
8166
8490
  return vue.createVNode("div", {
8167
- "class": bem$B("header", {
8491
+ "class": bem$A("header", {
8168
8492
  isolated: !props.message && !slots.default
8169
8493
  })
8170
8494
  }, [title]);
@@ -8176,7 +8500,7 @@
8176
8500
  allowHtml,
8177
8501
  messageAlign
8178
8502
  } = props;
8179
- const classNames = bem$B("message", {
8503
+ const classNames = bem$A("message", {
8180
8504
  "has-title": hasTitle,
8181
8505
  [messageAlign]: messageAlign
8182
8506
  });
@@ -8194,7 +8518,7 @@
8194
8518
  const renderContent = () => {
8195
8519
  if (slots.default) {
8196
8520
  return vue.createVNode("div", {
8197
- "class": bem$B("content")
8521
+ "class": bem$A("content")
8198
8522
  }, [slots.default()]);
8199
8523
  }
8200
8524
  const {
@@ -8206,18 +8530,18 @@
8206
8530
  const hasTitle = !!(title || slots.title);
8207
8531
  return vue.createVNode("div", {
8208
8532
  "key": allowHtml ? 1 : 0,
8209
- "class": bem$B("content", {
8533
+ "class": bem$A("content", {
8210
8534
  isolated: !hasTitle
8211
8535
  })
8212
8536
  }, [renderMessage(hasTitle)]);
8213
8537
  }
8214
8538
  };
8215
8539
  const renderButtons = () => vue.createVNode("div", {
8216
- "class": [BORDER_TOP, bem$B("footer")]
8540
+ "class": [BORDER_TOP, bem$A("footer")]
8217
8541
  }, [props.showCancelButton && vue.createVNode(Button, {
8218
8542
  "size": "large",
8219
8543
  "text": props.cancelButtonText || t$7("cancel"),
8220
- "class": bem$B("cancel"),
8544
+ "class": bem$A("cancel"),
8221
8545
  "style": {
8222
8546
  color: props.cancelButtonColor
8223
8547
  },
@@ -8226,7 +8550,7 @@
8226
8550
  }, null), props.showConfirmButton && vue.createVNode(Button, {
8227
8551
  "size": "large",
8228
8552
  "text": props.confirmButtonText || t$7("confirm"),
8229
- "class": [bem$B("confirm"), {
8553
+ "class": [bem$A("confirm"), {
8230
8554
  [BORDER_LEFT]: props.showCancelButton
8231
8555
  }],
8232
8556
  "style": {
@@ -8236,19 +8560,19 @@
8236
8560
  "onClick": onConfirm
8237
8561
  }, null)]);
8238
8562
  const renderRoundButtons = () => vue.createVNode(ActionBar, {
8239
- "class": bem$B("footer")
8563
+ "class": bem$A("footer")
8240
8564
  }, {
8241
8565
  default: () => [props.showCancelButton && vue.createVNode(ActionBarButton, {
8242
8566
  "type": "warning",
8243
8567
  "text": props.cancelButtonText || t$7("cancel"),
8244
- "class": bem$B("cancel"),
8568
+ "class": bem$A("cancel"),
8245
8569
  "color": props.cancelButtonColor,
8246
8570
  "loading": loading.cancel,
8247
8571
  "onClick": onCancel
8248
8572
  }, null), props.showConfirmButton && vue.createVNode(ActionBarButton, {
8249
8573
  "type": "danger",
8250
8574
  "text": props.confirmButtonText || t$7("confirm"),
8251
- "class": bem$B("confirm"),
8575
+ "class": bem$A("confirm"),
8252
8576
  "color": props.confirmButtonColor,
8253
8577
  "loading": loading.confirm,
8254
8578
  "onClick": onConfirm
@@ -8271,7 +8595,7 @@
8271
8595
  return vue.createVNode(Popup, vue.mergeProps({
8272
8596
  "ref": root,
8273
8597
  "role": "dialog",
8274
- "class": [bem$B([theme]), className],
8598
+ "class": [bem$A([theme]), className],
8275
8599
  "style": {
8276
8600
  width: addUnit(width2)
8277
8601
  },
@@ -8293,7 +8617,7 @@
8293
8617
  state,
8294
8618
  toggle
8295
8619
  } = usePopupState();
8296
- return () => vue.createVNode(stdin_default$H, vue.mergeProps(state, {
8620
+ return () => vue.createVNode(stdin_default$G, vue.mergeProps(state, {
8297
8621
  "onUpdate:show": toggle
8298
8622
  }), null);
8299
8623
  }
@@ -8358,19 +8682,19 @@
8358
8682
  Dialog.resetDefaultOptions = () => {
8359
8683
  Dialog.currentOptions = extend({}, Dialog.defaultOptions);
8360
8684
  };
8361
- Dialog.Component = withInstall(stdin_default$H);
8685
+ Dialog.Component = withInstall(stdin_default$G);
8362
8686
  Dialog.install = (app) => {
8363
8687
  app.use(Dialog.Component);
8364
8688
  app.config.globalProperties.$dialog = Dialog;
8365
8689
  };
8366
- const [name$A, bem$A] = createNamespace("divider");
8690
+ const [name$z, bem$z] = createNamespace("divider");
8367
8691
  const dividerProps = {
8368
8692
  dashed: Boolean,
8369
8693
  hairline: truthProp,
8370
8694
  contentPosition: makeStringProp("center")
8371
8695
  };
8372
- var stdin_default$G = vue.defineComponent({
8373
- name: name$A,
8696
+ var stdin_default$F = vue.defineComponent({
8697
+ name: name$z,
8374
8698
  props: dividerProps,
8375
8699
  setup(props, {
8376
8700
  slots
@@ -8379,7 +8703,7 @@
8379
8703
  var _a;
8380
8704
  return vue.createVNode("div", {
8381
8705
  "role": "separator",
8382
- "class": bem$A({
8706
+ "class": bem$z({
8383
8707
  dashed: props.dashed,
8384
8708
  hairline: props.hairline,
8385
8709
  [`content-${props.contentPosition}`]: !!slots.default
@@ -8388,8 +8712,8 @@
8388
8712
  };
8389
8713
  }
8390
8714
  });
8391
- const Divider = withInstall(stdin_default$G);
8392
- const [name$z, bem$z] = createNamespace("dropdown-menu");
8715
+ const Divider = withInstall(stdin_default$F);
8716
+ const [name$y, bem$y] = createNamespace("dropdown-menu");
8393
8717
  const dropdownMenuProps = {
8394
8718
  overlay: truthProp,
8395
8719
  zIndex: numericProp,
@@ -8399,14 +8723,14 @@
8399
8723
  closeOnClickOutside: truthProp,
8400
8724
  closeOnClickOverlay: truthProp
8401
8725
  };
8402
- const DROPDOWN_KEY = Symbol(name$z);
8403
- var stdin_default$F = vue.defineComponent({
8404
- name: name$z,
8726
+ const DROPDOWN_KEY = Symbol(name$y);
8727
+ var stdin_default$E = vue.defineComponent({
8728
+ name: name$y,
8405
8729
  props: dropdownMenuProps,
8406
8730
  setup(props, {
8407
8731
  slots
8408
8732
  }) {
8409
- const id = useId();
8733
+ const id = useId$1();
8410
8734
  const root = vue.ref();
8411
8735
  const barRef = vue.ref();
8412
8736
  const offset2 = vue.ref(0);
@@ -8469,7 +8793,7 @@
8469
8793
  "id": `${id}-${index}`,
8470
8794
  "role": "button",
8471
8795
  "tabindex": disabled ? void 0 : 0,
8472
- "class": [bem$z("item", {
8796
+ "class": [bem$y("item", {
8473
8797
  disabled
8474
8798
  }), {
8475
8799
  [HAPTICS_FEEDBACK]: !disabled
@@ -8480,7 +8804,7 @@
8480
8804
  }
8481
8805
  }
8482
8806
  }, [vue.createVNode("span", {
8483
- "class": [bem$z("title", {
8807
+ "class": [bem$y("title", {
8484
8808
  down: showPopup === (props.direction === "down"),
8485
8809
  active: showPopup
8486
8810
  }), titleClass],
@@ -8504,18 +8828,18 @@
8504
8828
  var _a;
8505
8829
  return vue.createVNode("div", {
8506
8830
  "ref": root,
8507
- "class": bem$z()
8831
+ "class": bem$y()
8508
8832
  }, [vue.createVNode("div", {
8509
8833
  "ref": barRef,
8510
8834
  "style": barStyle.value,
8511
- "class": bem$z("bar", {
8835
+ "class": bem$y("bar", {
8512
8836
  opened: opened.value
8513
8837
  })
8514
8838
  }, [children.map(renderTitle)]), (_a = slots.default) == null ? void 0 : _a.call(slots)]);
8515
8839
  };
8516
8840
  }
8517
8841
  });
8518
- const [name$y, bem$y] = createNamespace("dropdown-item");
8842
+ const [name$x, bem$x] = createNamespace("dropdown-item");
8519
8843
  const dropdownItemProps = {
8520
8844
  title: String,
8521
8845
  options: makeArrayProp(),
@@ -8525,8 +8849,8 @@
8525
8849
  modelValue: unknownProp,
8526
8850
  titleClass: unknownProp
8527
8851
  };
8528
- var stdin_default$E = vue.defineComponent({
8529
- name: name$y,
8852
+ var stdin_default$D = vue.defineComponent({
8853
+ name: name$x,
8530
8854
  props: dropdownItemProps,
8531
8855
  emits: ["open", "opened", "close", "closed", "change", "update:modelValue"],
8532
8856
  setup(props, {
@@ -8593,7 +8917,7 @@
8593
8917
  const renderIcon = () => {
8594
8918
  if (active) {
8595
8919
  return vue.createVNode(Icon, {
8596
- "class": bem$y("icon"),
8920
+ "class": bem$x("icon"),
8597
8921
  "color": activeColor,
8598
8922
  "name": "success"
8599
8923
  }, null);
@@ -8604,7 +8928,7 @@
8604
8928
  "key": option.value,
8605
8929
  "icon": option.icon,
8606
8930
  "title": option.text,
8607
- "class": bem$y("option", {
8931
+ "class": bem$x("option", {
8608
8932
  active
8609
8933
  }),
8610
8934
  "style": {
@@ -8636,13 +8960,13 @@
8636
8960
  }
8637
8961
  return vue.withDirectives(vue.createVNode("div", {
8638
8962
  "style": style,
8639
- "class": bem$y([direction]),
8963
+ "class": bem$x([direction]),
8640
8964
  "onClick": onClickWrapper
8641
8965
  }, [vue.createVNode(Popup, {
8642
8966
  "show": state.showPopup,
8643
8967
  "onUpdate:show": ($event) => state.showPopup = $event,
8644
8968
  "role": "menu",
8645
- "class": bem$y("content"),
8969
+ "class": bem$x("content"),
8646
8970
  "overlay": overlay,
8647
8971
  "position": direction === "down" ? "top" : "bottom",
8648
8972
  "duration": state.transition ? duration : 0,
@@ -8680,147 +9004,8 @@
8680
9004
  };
8681
9005
  }
8682
9006
  });
8683
- const DropdownItem = withInstall(stdin_default$E);
8684
- const DropdownMenu = withInstall(stdin_default$F);
8685
- const prefix = "van-empty-network-";
8686
- const renderStop = (color, offset2, opacity) => vue.createVNode("stop", {
8687
- "stop-color": color,
8688
- "offset": `${offset2}%`,
8689
- "stop-opacity": opacity
8690
- }, null);
8691
- const Network = vue.createVNode("svg", {
8692
- "viewBox": "0 0 160 160"
8693
- }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
8694
- "id": `${prefix}1`,
8695
- "x1": "64%",
8696
- "y1": "100%",
8697
- "x2": "64%"
8698
- }, [renderStop("#FFF", 0, 0.5), renderStop("#F2F3F5", 100)]), vue.createVNode("linearGradient", {
8699
- "id": `${prefix}2`,
8700
- "x1": "50%",
8701
- "x2": "50%",
8702
- "y2": "84%"
8703
- }, [renderStop("#EBEDF0", 0), renderStop("#DCDEE0", 100, 0)]), vue.createVNode("linearGradient", {
8704
- "id": `${prefix}3`,
8705
- "x1": "100%",
8706
- "x2": "100%",
8707
- "y2": "100%"
8708
- }, [renderStop("#EAEDF0", 0), renderStop("#DCDEE0", 100)]), vue.createVNode("radialGradient", {
8709
- "id": `${prefix}4`,
8710
- "cx": "50%",
8711
- "cy": "0%",
8712
- "fx": "50%",
8713
- "fy": "0%",
8714
- "r": "100%",
8715
- "gradientTransform": "matrix(0 1 -.54 0 .5 -.5)"
8716
- }, [renderStop("#EBEDF0", 0), renderStop("#FFF", 100, 0)])]), vue.createVNode("g", {
8717
- "fill": "none"
8718
- }, [vue.createVNode("g", {
8719
- "opacity": ".8"
8720
- }, [vue.createVNode("path", {
8721
- "d": "M36 131V53H16v20H2v58h34z",
8722
- "fill": `url(#${prefix}1)`
8723
- }, null), vue.createVNode("path", {
8724
- "d": "M123 15h22v14h9v77h-31V15z",
8725
- "fill": `url(#${prefix}1)`
8726
- }, null)]), vue.createVNode("path", {
8727
- "fill": `url(#${prefix}4)`,
8728
- "d": "M0 139h160v21H0z"
8729
- }, null), vue.createVNode("path", {
8730
- "d": "M80 54a7 7 0 0 1 3 13v27l-2 2h-2a2 2 0 0 1-2-2V67a7 7 0 0 1 3-13z",
8731
- "fill": `url(#${prefix}2)`
8732
- }, null), vue.createVNode("g", {
8733
- "opacity": ".6",
8734
- "stroke-linecap": "round",
8735
- "stroke-width": "7"
8736
- }, [vue.createVNode("path", {
8737
- "d": "M64 47a19 19 0 0 0-5 13c0 5 2 10 5 13",
8738
- "stroke": `url(#${prefix}3)`
8739
- }, null), vue.createVNode("path", {
8740
- "d": "M53 36a34 34 0 0 0 0 48",
8741
- "stroke": `url(#${prefix}3)`
8742
- }, null), vue.createVNode("path", {
8743
- "d": "M95 73a19 19 0 0 0 6-13c0-5-2-9-6-13",
8744
- "stroke": `url(#${prefix}3)`
8745
- }, null), vue.createVNode("path", {
8746
- "d": "M106 84a34 34 0 0 0 0-48",
8747
- "stroke": `url(#${prefix}3)`
8748
- }, null)]), vue.createVNode("g", {
8749
- "transform": "translate(31 105)"
8750
- }, [vue.createVNode("rect", {
8751
- "fill": "#EBEDF0",
8752
- "width": "98",
8753
- "height": "34",
8754
- "rx": "2"
8755
- }, null), vue.createVNode("rect", {
8756
- "fill": "#FFF",
8757
- "x": "9",
8758
- "y": "8",
8759
- "width": "80",
8760
- "height": "18",
8761
- "rx": "1.1"
8762
- }, null), vue.createVNode("rect", {
8763
- "fill": "#EBEDF0",
8764
- "x": "15",
8765
- "y": "12",
8766
- "width": "18",
8767
- "height": "6",
8768
- "rx": "1.1"
8769
- }, null)])])]);
8770
- const [name$x, bem$x] = createNamespace("empty");
8771
- const PRESET_IMAGES = ["error", "search", "default"];
8772
- const emptyProps = {
8773
- image: makeStringProp("default"),
8774
- imageSize: numericProp,
8775
- description: String
8776
- };
8777
- var stdin_default$D = vue.defineComponent({
8778
- name: name$x,
8779
- props: emptyProps,
8780
- setup(props, {
8781
- slots
8782
- }) {
8783
- const renderImage = () => {
8784
- if (slots.image) {
8785
- return slots.image();
8786
- }
8787
- let {
8788
- image
8789
- } = props;
8790
- if (image === "network") {
8791
- return Network;
8792
- }
8793
- if (PRESET_IMAGES.includes(image)) {
8794
- image = `https://img.yzcdn.cn/vant/empty-image-${image}.png`;
8795
- }
8796
- return vue.createVNode("img", {
8797
- "src": image
8798
- }, null);
8799
- };
8800
- const renderDescription = () => {
8801
- const description = slots.description ? slots.description() : props.description;
8802
- if (description) {
8803
- return vue.createVNode("p", {
8804
- "class": bem$x("description")
8805
- }, [description]);
8806
- }
8807
- };
8808
- const renderBottom = () => {
8809
- if (slots.default) {
8810
- return vue.createVNode("div", {
8811
- "class": bem$x("bottom")
8812
- }, [slots.default()]);
8813
- }
8814
- };
8815
- return () => vue.createVNode("div", {
8816
- "class": bem$x()
8817
- }, [vue.createVNode("div", {
8818
- "class": bem$x("image"),
8819
- "style": getSizeStyle(props.imageSize)
8820
- }, [renderImage()]), renderDescription(), renderBottom()]);
8821
- }
8822
- });
8823
- const Empty = withInstall(stdin_default$D);
9007
+ const DropdownItem = withInstall(stdin_default$D);
9008
+ const DropdownMenu = withInstall(stdin_default$E);
8824
9009
  const [name$w, bem$w] = createNamespace("grid");
8825
9010
  const gridProps = {
8826
9011
  square: Boolean,
@@ -9474,6 +9659,7 @@
9474
9659
  children,
9475
9660
  linkChildren
9476
9661
  } = useChildren(INDEX_BAR_KEY);
9662
+ let selectActiveIndex;
9477
9663
  linkChildren({
9478
9664
  props
9479
9665
  });
@@ -9501,6 +9687,7 @@
9501
9687
  }
9502
9688
  return -1;
9503
9689
  };
9690
+ const getMatchAnchor = (index) => children.find((item) => String(item.index) === index);
9504
9691
  const onScroll = () => {
9505
9692
  if (isHidden(root)) {
9506
9693
  return;
@@ -9512,7 +9699,16 @@
9512
9699
  const scrollTop = getScrollTop(scrollParent.value);
9513
9700
  const scrollParentRect = useRect(scrollParent);
9514
9701
  const rects = children.map((item) => item.getRect(scrollParent.value, scrollParentRect));
9515
- const active = getActiveAnchor(scrollTop, rects);
9702
+ let active = -1;
9703
+ if (selectActiveIndex) {
9704
+ const match = getMatchAnchor(selectActiveIndex);
9705
+ if (match) {
9706
+ const rect = match.getRect(scrollParent.value, scrollParentRect);
9707
+ active = getActiveAnchor(rect.top, rects);
9708
+ }
9709
+ } else {
9710
+ active = getActiveAnchor(scrollTop, rects);
9711
+ }
9516
9712
  activeAnchor.value = indexList[active];
9517
9713
  if (sticky) {
9518
9714
  children.forEach((item, index) => {
@@ -9531,7 +9727,7 @@
9531
9727
  if (index === active) {
9532
9728
  state.active = true;
9533
9729
  state.top = Math.max(props.stickyOffsetTop, rects[index].top - scrollTop) + scrollParentRect.top;
9534
- } else if (index === active - 1) {
9730
+ } else if (index === active - 1 && selectActiveIndex === "") {
9535
9731
  const activeItemTop = rects[active].top - scrollTop;
9536
9732
  state.active = activeItemTop > 0;
9537
9733
  state.top = activeItemTop + scrollParentRect.top - rects[index].height;
@@ -9540,6 +9736,7 @@
9540
9736
  }
9541
9737
  });
9542
9738
  }
9739
+ selectActiveIndex = "";
9543
9740
  };
9544
9741
  const init = () => {
9545
9742
  vue.nextTick(onScroll);
@@ -9565,9 +9762,18 @@
9565
9762
  }, [index]);
9566
9763
  });
9567
9764
  const scrollTo = (index) => {
9568
- index = String(index);
9569
- const match = children.find((item) => String(item.index) === index);
9765
+ selectActiveIndex = String(index);
9766
+ const match = getMatchAnchor(selectActiveIndex);
9570
9767
  if (match) {
9768
+ const scrollTop = getScrollTop(scrollParent.value);
9769
+ const scrollParentRect = useRect(scrollParent);
9770
+ const {
9771
+ offsetHeight
9772
+ } = document.documentElement;
9773
+ if (scrollTop === offsetHeight - scrollParentRect.height) {
9774
+ onScroll();
9775
+ return;
9776
+ }
9571
9777
  match.$el.scrollIntoView();
9572
9778
  if (props.sticky && props.stickyOffsetTop) {
9573
9779
  setRootScrollTop(getRootScrollTop() - props.stickyOffsetTop);
@@ -9901,10 +10107,10 @@
9901
10107
  "ref": navBarRef,
9902
10108
  "style": style,
9903
10109
  "class": [bem$p({
9904
- fixed,
9905
- "safe-area-inset-top": props.safeAreaInsetTop
10110
+ fixed
9906
10111
  }), {
9907
- [BORDER_BOTTOM]: border
10112
+ [BORDER_BOTTOM]: border,
10113
+ "van-safe-area-top": props.safeAreaInsetTop
9908
10114
  }]
9909
10115
  }, [vue.createVNode("div", {
9910
10116
  "class": bem$p("content")
@@ -10293,6 +10499,15 @@
10293
10499
  default: ""
10294
10500
  }
10295
10501
  };
10502
+ function shuffle(array) {
10503
+ for (let i = array.length - 1; i > 0; i--) {
10504
+ const j = Math.floor(Math.random() * (i + 1));
10505
+ const temp = array[i];
10506
+ array[i] = array[j];
10507
+ array[j] = temp;
10508
+ }
10509
+ return array;
10510
+ }
10296
10511
  var stdin_default$r = vue.defineComponent({
10297
10512
  name: name$m,
10298
10513
  props: numberKeyboardProps,
@@ -10307,7 +10522,7 @@
10307
10522
  text: i + 1
10308
10523
  }));
10309
10524
  if (props.randomKeyOrder) {
10310
- keys2.sort(() => Math.random() > 0.5 ? 1 : -1);
10525
+ shuffle(keys2);
10311
10526
  }
10312
10527
  return keys2;
10313
10528
  };
@@ -12019,33 +12234,53 @@
12019
12234
  }) {
12020
12235
  const touch = useTouch();
12021
12236
  const [itemRefs, setItemRefs] = useRefs();
12237
+ const groupRef = vue.ref();
12022
12238
  const untouchable = () => props.readonly || props.disabled || !props.touchable;
12023
12239
  const list = vue.computed(() => Array(+props.count).fill("").map((_, i) => getRateStatus(props.modelValue, i + 1, props.allowHalf, props.readonly)));
12024
12240
  let ranges;
12241
+ let groupRefRect;
12242
+ let minRectTop = Number.MAX_SAFE_INTEGER;
12243
+ let maxRectTop = Number.MIN_SAFE_INTEGER;
12025
12244
  const updateRanges = () => {
12245
+ groupRefRect = useRect(groupRef);
12026
12246
  const rects = itemRefs.value.map(useRect);
12027
12247
  ranges = [];
12028
12248
  rects.forEach((rect, index) => {
12249
+ minRectTop = Math.min(rect.top, minRectTop);
12250
+ maxRectTop = Math.max(rect.top, maxRectTop);
12029
12251
  if (props.allowHalf) {
12030
12252
  ranges.push({
12031
12253
  score: index + 0.5,
12032
- left: rect.left
12254
+ left: rect.left,
12255
+ top: rect.top,
12256
+ height: rect.height
12033
12257
  }, {
12034
12258
  score: index + 1,
12035
- left: rect.left + rect.width / 2
12259
+ left: rect.left + rect.width / 2,
12260
+ top: rect.top,
12261
+ height: rect.height
12036
12262
  });
12037
12263
  } else {
12038
12264
  ranges.push({
12039
12265
  score: index + 1,
12040
- left: rect.left
12266
+ left: rect.left,
12267
+ top: rect.top,
12268
+ height: rect.height
12041
12269
  });
12042
12270
  }
12043
12271
  });
12044
12272
  };
12045
- const getScoreByPosition = (x) => {
12273
+ const getScoreByPosition = (x, y) => {
12046
12274
  for (let i = ranges.length - 1; i > 0; i--) {
12047
- if (x > ranges[i].left) {
12048
- return ranges[i].score;
12275
+ if (y >= groupRefRect.top && y <= groupRefRect.bottom) {
12276
+ if (x > ranges[i].left && y >= ranges[i].top && y <= ranges[i].top + ranges[i].height) {
12277
+ return ranges[i].score;
12278
+ }
12279
+ } else {
12280
+ const curTop = y < groupRefRect.top ? minRectTop : maxRectTop;
12281
+ if (x > ranges[i].left && ranges[i].top === curTop) {
12282
+ return ranges[i].score;
12283
+ }
12049
12284
  }
12050
12285
  }
12051
12286
  return props.allowHalf ? 0.5 : 1;
@@ -12070,10 +12305,11 @@
12070
12305
  touch.move(event);
12071
12306
  if (touch.isHorizontal()) {
12072
12307
  const {
12073
- clientX
12308
+ clientX,
12309
+ clientY
12074
12310
  } = event.touches[0];
12075
12311
  preventDefault(event);
12076
- select(getScoreByPosition(clientX));
12312
+ select(getScoreByPosition(clientX, clientY));
12077
12313
  }
12078
12314
  };
12079
12315
  const renderStar = (item, index) => {
@@ -12102,7 +12338,7 @@
12102
12338
  }
12103
12339
  const onClickItem = (event) => {
12104
12340
  updateRanges();
12105
- select(allowHalf ? getScoreByPosition(event.clientX) : score);
12341
+ select(allowHalf ? getScoreByPosition(event.clientX, event.clientY) : score);
12106
12342
  };
12107
12343
  return vue.createVNode("div", {
12108
12344
  "key": index,
@@ -12140,6 +12376,7 @@
12140
12376
  };
12141
12377
  useCustomFieldValue(() => props.modelValue);
12142
12378
  return () => vue.createVNode("div", {
12379
+ "ref": groupRef,
12143
12380
  "role": "radiogroup",
12144
12381
  "class": bem$f({
12145
12382
  readonly: props.readonly,
@@ -12174,7 +12411,7 @@
12174
12411
  slots,
12175
12412
  attrs
12176
12413
  }) {
12177
- const id = useId();
12414
+ const id = useId$1();
12178
12415
  const filedRef = vue.ref();
12179
12416
  const onCancel = () => {
12180
12417
  if (!slots.action) {
@@ -12264,14 +12501,17 @@
12264
12501
  }
12265
12502
  });
12266
12503
  const Search = withInstall(stdin_default$k);
12267
- const PRESET_ICONS = ["qq", "link", "weibo", "wechat", "poster", "qrcode", "weapp-qrcode", "wechat-moments"];
12268
12504
  const popupInheritKeys = [...popupSharedPropKeys, "round", "closeOnPopstate", "safeAreaInsetBottom"];
12269
- function getIconURL(icon) {
12270
- if (PRESET_ICONS.includes(icon)) {
12271
- return `https://img.yzcdn.cn/vant/share-sheet-${icon}.png`;
12272
- }
12273
- return icon;
12274
- }
12505
+ const iconMap = {
12506
+ qq: "qq",
12507
+ link: "link-o",
12508
+ weibo: "weibo",
12509
+ qrcode: "qr",
12510
+ poster: "photo-o",
12511
+ wechat: "wechat",
12512
+ "weapp-qrcode": "miniprogram-o",
12513
+ "wechat-moments": "wechat-moments"
12514
+ };
12275
12515
  const [name$e, bem$d, t$2] = createNamespace("share-sheet");
12276
12516
  const shareSheetProps = extend({}, popupSharedProps, {
12277
12517
  title: String,
@@ -12309,6 +12549,19 @@
12309
12549
  }, [description])]);
12310
12550
  }
12311
12551
  };
12552
+ const renderIcon = (icon) => {
12553
+ if (iconMap[icon]) {
12554
+ return vue.createVNode("div", {
12555
+ "class": bem$d("icon", [icon])
12556
+ }, [vue.createVNode(Icon, {
12557
+ "name": iconMap[icon] || icon
12558
+ }, null)]);
12559
+ }
12560
+ return vue.createVNode("img", {
12561
+ "src": icon,
12562
+ "class": bem$d("image-icon")
12563
+ }, null);
12564
+ };
12312
12565
  const renderOption = (option, index) => {
12313
12566
  const {
12314
12567
  name: name2,
@@ -12321,10 +12574,7 @@
12321
12574
  "tabindex": 0,
12322
12575
  "class": [bem$d("option"), className, HAPTICS_FEEDBACK],
12323
12576
  "onClick": () => onSelect(option, index)
12324
- }, [vue.createVNode("img", {
12325
- "src": getIconURL(icon),
12326
- "class": bem$d("icon")
12327
- }, null), name2 && vue.createVNode("span", {
12577
+ }, [renderIcon(icon), name2 && vue.createVNode("span", {
12328
12578
  "class": bem$d("name")
12329
12579
  }, [name2]), description && vue.createVNode("span", {
12330
12580
  "class": bem$d("option-description")
@@ -12482,9 +12732,11 @@
12482
12732
  };
12483
12733
  var stdin_default$g = vue.defineComponent({
12484
12734
  name: name$b,
12735
+ inheritAttrs: false,
12485
12736
  props: skeletonProps,
12486
12737
  setup(props, {
12487
- slots
12738
+ slots,
12739
+ attrs
12488
12740
  }) {
12489
12741
  const renderAvatar = () => {
12490
12742
  if (props.avatar) {
@@ -12527,12 +12779,12 @@
12527
12779
  if (!props.loading) {
12528
12780
  return (_a = slots.default) == null ? void 0 : _a.call(slots);
12529
12781
  }
12530
- return vue.createVNode("div", {
12782
+ return vue.createVNode("div", vue.mergeProps({
12531
12783
  "class": bem$a({
12532
12784
  animate: props.animate,
12533
12785
  round: props.round
12534
12786
  })
12535
- }, [renderAvatar(), vue.createVNode("div", {
12787
+ }, attrs), [renderAvatar(), vue.createVNode("div", {
12536
12788
  "class": bem$a("content")
12537
12789
  }, [renderTitle(), renderRows()])]);
12538
12790
  };
@@ -13422,7 +13674,7 @@
13422
13674
  return vue.createVNode("div", {
13423
13675
  "ref": root,
13424
13676
  "class": bem$4(),
13425
- "onClick": getClickHandler("cell"),
13677
+ "onClick": getClickHandler("cell", lockClick2),
13426
13678
  "onTouchstart": onTouchStart,
13427
13679
  "onTouchmove": onTouchMove,
13428
13680
  "onTouchend": onTouchEnd,
@@ -13777,7 +14029,6 @@
13777
14029
  });
13778
14030
  const TreeSelect = withInstall(stdin_default$6);
13779
14031
  const [name, bem, t] = createNamespace("uploader");
13780
- const toArray = (item) => Array.isArray(item) ? item : [item];
13781
14032
  function readFileContent(file, resultType) {
13782
14033
  return new Promise((resolve) => {
13783
14034
  if (resultType === "file") {
@@ -13843,7 +14094,7 @@
13843
14094
  imageFit: String,
13844
14095
  lazyLoad: Boolean,
13845
14096
  deletable: Boolean,
13846
- previewSize: numericProp,
14097
+ previewSize: [Number, String, Array],
13847
14098
  beforeDelete: Function
13848
14099
  },
13849
14100
  emits: ["delete", "preview"],
@@ -13917,16 +14168,19 @@
13917
14168
  };
13918
14169
  const renderPreview = () => {
13919
14170
  const {
13920
- item
14171
+ item,
14172
+ lazyLoad,
14173
+ imageFit,
14174
+ previewSize
13921
14175
  } = props;
13922
14176
  if (isImageFile(item)) {
13923
14177
  return vue.createVNode(Image$1, {
13924
- "fit": props.imageFit,
14178
+ "fit": imageFit,
13925
14179
  "src": item.content || item.url,
13926
14180
  "class": bem("preview-image"),
13927
- "width": props.previewSize,
13928
- "height": props.previewSize,
13929
- "lazyLoad": props.lazyLoad,
14181
+ "width": Array.isArray(previewSize) ? previewSize[0] : previewSize,
14182
+ "height": Array.isArray(previewSize) ? previewSize[1] : previewSize,
14183
+ "lazyLoad": lazyLoad,
13930
14184
  "onClick": onPreview
13931
14185
  }, {
13932
14186
  default: renderCover
@@ -13966,7 +14220,7 @@
13966
14220
  modelValue: makeArrayProp(),
13967
14221
  beforeRead: Function,
13968
14222
  beforeDelete: Function,
13969
- previewSize: numericProp,
14223
+ previewSize: [Number, String, Array],
13970
14224
  previewImage: truthProp,
13971
14225
  previewOptions: Object,
13972
14226
  previewFullImage: truthProp,
@@ -15033,7 +15287,7 @@
15033
15287
  });
15034
15288
  }
15035
15289
  };
15036
- const version = "4.0.0-alpha.0";
15290
+ const version = "4.0.0-alpha.3";
15037
15291
  function install(app) {
15038
15292
  const components = [
15039
15293
  ActionBar,