vant 3.4.4 → 3.4.7

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 (480) hide show
  1. package/changelog.generated.md +81 -0
  2. package/es/address-list/AddressListItem.d.ts +3 -2
  3. package/es/address-list/AddressListItem.js +1 -1
  4. package/es/badge/Badge.d.ts +4 -3
  5. package/es/badge/index.d.ts +2 -2
  6. package/es/calendar/Calendar.d.ts +4 -0
  7. package/es/calendar/Calendar.js +3 -1
  8. package/es/calendar/index.d.ts +3 -0
  9. package/es/calendar/types.d.ts +2 -1
  10. package/es/cascader/types.d.ts +2 -1
  11. package/es/checkbox/Checker.d.ts +2 -1
  12. package/es/collapse/Collapse.d.ts +7 -6
  13. package/es/collapse/index.d.ts +3 -3
  14. package/es/collapse-item/CollapseItem.d.ts +13 -0
  15. package/es/collapse-item/CollapseItem.js +3 -2
  16. package/es/collapse-item/index.d.ts +9 -0
  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 +1 -2
  31. package/es/dialog/Dialog.d.ts +2 -1
  32. package/es/dialog/Dialog.js +19 -3
  33. package/es/dialog/function-call.d.ts +2 -1
  34. package/es/dialog/types.d.ts +2 -2
  35. package/es/dropdown-item/types.d.ts +2 -1
  36. package/es/index-bar/IndexBar.d.ts +5 -4
  37. package/es/index-bar/IndexBar.js +25 -4
  38. package/es/index-bar/index.d.ts +3 -3
  39. package/es/index-bar/types.d.ts +2 -1
  40. package/es/index.d.ts +1 -1
  41. package/es/index.js +1 -1
  42. package/es/locale/lang/bn-BD.d.ts +64 -0
  43. package/es/locale/lang/bn-BD.js +74 -0
  44. package/es/locale/lang/de-DE-formal.js +1 -1
  45. package/es/locale/lang/de-DE.js +1 -1
  46. package/es/locale/lang/en-US.js +1 -1
  47. package/es/locale/lang/es-ES.js +1 -1
  48. package/es/locale/lang/fr-FR.js +1 -1
  49. package/es/locale/lang/hi-IN.js +1 -1
  50. package/es/locale/lang/id-ID.d.ts +64 -0
  51. package/es/locale/lang/id-ID.js +66 -0
  52. package/es/locale/lang/is-IS.d.ts +64 -0
  53. package/es/locale/lang/is-IS.js +74 -0
  54. package/es/locale/lang/it-IT.d.ts +64 -0
  55. package/es/locale/lang/it-IT.js +74 -0
  56. package/es/locale/lang/ja-JP.js +1 -1
  57. package/es/locale/lang/ko-KR.js +1 -1
  58. package/es/locale/lang/la-LA.d.ts +64 -0
  59. package/es/locale/lang/la-LA.js +66 -0
  60. package/es/locale/lang/nb-NO.js +1 -1
  61. package/es/locale/lang/pt-BR.js +1 -1
  62. package/es/locale/lang/ro-RO.js +1 -1
  63. package/es/locale/lang/ru-RU.js +1 -1
  64. package/es/locale/lang/sv-SE.d.ts +64 -0
  65. package/es/locale/lang/sv-SE.js +66 -0
  66. package/es/locale/lang/th-TH.js +1 -1
  67. package/es/locale/lang/uk-UA.d.ts +64 -0
  68. package/es/locale/lang/uk-UA.js +74 -0
  69. package/es/locale/lang/vi-VN.d.ts +64 -0
  70. package/es/locale/lang/vi-VN.js +74 -0
  71. package/es/locale/lang/zh-CN.js +1 -1
  72. package/es/locale/lang/zh-HK.js +1 -1
  73. package/es/locale/lang/zh-TW.js +1 -1
  74. package/es/nav-bar/NavBar.d.ts +1 -1
  75. package/es/nav-bar/NavBar.js +3 -3
  76. package/es/nav-bar/index.d.ts +1 -1
  77. package/es/notify/types.d.ts +2 -1
  78. package/es/number-keyboard/NumberKeyboard.js +10 -1
  79. package/es/picker/types.d.ts +3 -2
  80. package/es/popup/Popup.d.ts +6 -1
  81. package/es/popup/Popup.js +14 -3
  82. package/es/popup/index.d.ts +5 -1
  83. package/es/popup/types.d.ts +5 -2
  84. package/es/progress/Progress.d.ts +4 -3
  85. package/es/progress/index.d.ts +2 -2
  86. package/es/skeleton/Skeleton.d.ts +5 -4
  87. package/es/skeleton/Skeleton.js +6 -4
  88. package/es/skeleton/index.d.ts +3 -3
  89. package/es/style/base.css +1 -1
  90. package/es/style/base.less +5 -0
  91. package/es/submit-bar/index.css +1 -1
  92. package/es/submit-bar/index.less +1 -0
  93. package/es/swipe-cell/SwipeCell.js +1 -1
  94. package/es/tabbar/Tabbar.d.ts +2 -2
  95. package/es/tabs/Tabs.d.ts +1 -1
  96. package/es/tabs/Tabs.js +1 -0
  97. package/es/tabs/types.d.ts +5 -4
  98. package/es/toast/Toast.d.ts +3 -0
  99. package/es/toast/Toast.js +3 -1
  100. package/es/toast/types.d.ts +3 -2
  101. package/es/tree-select/TreeSelect.d.ts +7 -6
  102. package/es/tree-select/index.d.ts +3 -3
  103. package/es/uploader/Uploader.d.ts +4 -4
  104. package/es/uploader/Uploader.js +2 -2
  105. package/es/uploader/UploaderPreviewItem.d.ts +3 -3
  106. package/es/uploader/UploaderPreviewItem.js +9 -6
  107. package/es/uploader/index.d.ts +2 -2
  108. package/es/uploader/types.d.ts +6 -8
  109. package/es/utils/basic.d.ts +1 -0
  110. package/es/utils/format.d.ts +7 -6
  111. package/es/utils/format.js +6 -0
  112. package/es/utils/interceptor.d.ts +1 -1
  113. package/es/utils/validate.d.ts +2 -1
  114. package/lib/action-bar/ActionBar.js +14 -13
  115. package/lib/action-bar/index.js +14 -8
  116. package/lib/action-bar-button/ActionBarButton.js +18 -17
  117. package/lib/action-bar-button/index.js +14 -8
  118. package/lib/action-bar-icon/ActionBarIcon.js +18 -17
  119. package/lib/action-bar-icon/index.js +14 -8
  120. package/lib/action-sheet/ActionSheet.js +17 -16
  121. package/lib/action-sheet/index.js +14 -8
  122. package/lib/address-edit/AddressEdit.js +25 -19
  123. package/lib/address-edit/AddressEditDetail.js +15 -14
  124. package/lib/address-edit/index.js +14 -8
  125. package/lib/address-edit/types.js +18 -1
  126. package/lib/address-list/AddressList.js +18 -12
  127. package/lib/address-list/AddressListItem.d.ts +3 -2
  128. package/lib/address-list/AddressListItem.js +17 -16
  129. package/lib/address-list/index.js +14 -8
  130. package/lib/area/Area.js +17 -16
  131. package/lib/area/index.js +14 -8
  132. package/lib/area/types.js +18 -1
  133. package/lib/badge/Badge.d.ts +4 -3
  134. package/lib/badge/Badge.js +13 -12
  135. package/lib/badge/index.d.ts +2 -2
  136. package/lib/badge/index.js +14 -8
  137. package/lib/button/Button.js +16 -15
  138. package/lib/button/index.js +14 -8
  139. package/lib/button/types.js +18 -1
  140. package/lib/calendar/Calendar.d.ts +4 -0
  141. package/lib/calendar/Calendar.js +27 -19
  142. package/lib/calendar/CalendarDay.js +14 -13
  143. package/lib/calendar/CalendarHeader.js +14 -13
  144. package/lib/calendar/CalendarMonth.js +21 -15
  145. package/lib/calendar/index.d.ts +3 -0
  146. package/lib/calendar/index.js +14 -8
  147. package/lib/calendar/types.d.ts +2 -1
  148. package/lib/calendar/types.js +18 -1
  149. package/lib/calendar/utils.js +11 -10
  150. package/lib/card/Card.js +15 -14
  151. package/lib/card/index.js +14 -8
  152. package/lib/cascader/Cascader.js +16 -15
  153. package/lib/cascader/index.js +14 -8
  154. package/lib/cascader/types.d.ts +2 -1
  155. package/lib/cascader/types.js +18 -1
  156. package/lib/cell/Cell.js +15 -14
  157. package/lib/cell/index.js +14 -8
  158. package/lib/cell-group/CellGroup.js +13 -12
  159. package/lib/cell-group/index.js +14 -8
  160. package/lib/checkbox/Checkbox.js +19 -13
  161. package/lib/checkbox/Checker.d.ts +2 -1
  162. package/lib/checkbox/Checker.js +14 -13
  163. package/lib/checkbox/index.js +14 -8
  164. package/lib/checkbox/types.js +18 -1
  165. package/lib/checkbox-group/CheckboxGroup.js +15 -14
  166. package/lib/checkbox-group/index.js +14 -8
  167. package/lib/checkbox-group/types.js +18 -1
  168. package/lib/circle/Circle.js +14 -13
  169. package/lib/circle/index.js +14 -8
  170. package/lib/col/Col.js +15 -14
  171. package/lib/col/index.js +14 -8
  172. package/lib/collapse/Collapse.d.ts +7 -6
  173. package/lib/collapse/Collapse.js +14 -13
  174. package/lib/collapse/index.d.ts +3 -3
  175. package/lib/collapse/index.js +14 -8
  176. package/lib/collapse-item/CollapseItem.d.ts +13 -0
  177. package/lib/collapse-item/CollapseItem.js +22 -20
  178. package/lib/collapse-item/index.d.ts +9 -0
  179. package/lib/collapse-item/index.js +14 -8
  180. package/lib/collapse-item/types.js +18 -1
  181. package/lib/composables/on-popup-reopen.js +11 -10
  182. package/lib/composables/use-expose.js +12 -11
  183. package/lib/composables/use-height.js +12 -11
  184. package/lib/composables/use-id.js +11 -10
  185. package/lib/composables/use-lazy-render.js +11 -10
  186. package/lib/composables/use-lock-scroll.js +14 -13
  187. package/lib/composables/use-placeholder.js +12 -11
  188. package/lib/composables/use-refs.js +11 -10
  189. package/lib/composables/use-route.js +11 -10
  190. package/lib/composables/use-tab-status.js +11 -10
  191. package/lib/composables/use-touch.js +12 -11
  192. package/lib/composables/use-visibility-change.js +13 -12
  193. package/lib/config-provider/ConfigProvider.d.ts +4 -3
  194. package/lib/config-provider/ConfigProvider.js +13 -12
  195. package/lib/config-provider/index.d.ts +2 -2
  196. package/lib/config-provider/index.js +14 -8
  197. package/lib/contact-card/ContactCard.js +14 -13
  198. package/lib/contact-card/index.js +14 -8
  199. package/lib/contact-edit/ContactEdit.js +18 -17
  200. package/lib/contact-edit/index.js +14 -8
  201. package/lib/contact-list/ContactList.d.ts +3 -2
  202. package/lib/contact-list/ContactList.js +19 -18
  203. package/lib/contact-list/index.js +14 -8
  204. package/lib/count-down/CountDown.js +16 -15
  205. package/lib/count-down/index.js +14 -8
  206. package/lib/count-down/types.js +18 -1
  207. package/lib/count-down/utils.js +11 -10
  208. package/lib/coupon/Coupon.d.ts +2 -1
  209. package/lib/coupon/Coupon.js +15 -14
  210. package/lib/coupon/index.js +14 -8
  211. package/lib/coupon/utils.js +11 -10
  212. package/lib/coupon-cell/CouponCell.js +14 -13
  213. package/lib/coupon-cell/index.js +14 -8
  214. package/lib/coupon-list/CouponList.d.ts +3 -13
  215. package/lib/coupon-list/CouponList.js +29 -26
  216. package/lib/coupon-list/index.css +1 -1
  217. package/lib/coupon-list/index.d.ts +2 -9
  218. package/lib/coupon-list/index.js +14 -8
  219. package/lib/coupon-list/index.less +4 -16
  220. package/lib/coupon-list/style/index.js +1 -0
  221. package/lib/coupon-list/style/less.js +1 -0
  222. package/lib/coupon-list/var.less +0 -1
  223. package/lib/datetime-picker/DatePicker.js +17 -17
  224. package/lib/datetime-picker/DatetimePicker.js +18 -12
  225. package/lib/datetime-picker/TimePicker.js +16 -15
  226. package/lib/datetime-picker/index.js +14 -8
  227. package/lib/datetime-picker/types.js +18 -1
  228. package/lib/datetime-picker/utils.js +12 -11
  229. package/lib/dialog/Dialog.d.ts +2 -1
  230. package/lib/dialog/Dialog.js +35 -18
  231. package/lib/dialog/function-call.d.ts +2 -1
  232. package/lib/dialog/function-call.js +16 -10
  233. package/lib/dialog/index.js +11 -10
  234. package/lib/dialog/types.d.ts +2 -2
  235. package/lib/dialog/types.js +18 -1
  236. package/lib/divider/Divider.js +13 -12
  237. package/lib/divider/index.js +14 -8
  238. package/lib/dropdown-item/DropdownItem.js +19 -18
  239. package/lib/dropdown-item/index.js +14 -8
  240. package/lib/dropdown-item/types.d.ts +2 -1
  241. package/lib/dropdown-item/types.js +18 -1
  242. package/lib/dropdown-menu/DropdownMenu.js +15 -14
  243. package/lib/dropdown-menu/index.js +14 -8
  244. package/lib/dropdown-menu/types.js +18 -1
  245. package/lib/empty/Empty.js +14 -13
  246. package/lib/empty/Network.js +11 -10
  247. package/lib/empty/index.js +14 -8
  248. package/lib/field/Field.js +20 -19
  249. package/lib/field/index.js +14 -8
  250. package/lib/field/types.js +18 -1
  251. package/lib/field/utils.js +11 -10
  252. package/lib/form/Form.js +15 -14
  253. package/lib/form/index.js +14 -8
  254. package/lib/form/types.js +18 -1
  255. package/lib/grid/Grid.js +15 -14
  256. package/lib/grid/index.js +14 -8
  257. package/lib/grid-item/GridItem.js +18 -17
  258. package/lib/grid-item/index.js +14 -8
  259. package/lib/icon/Icon.js +15 -14
  260. package/lib/icon/index.js +14 -8
  261. package/lib/image/Image.js +14 -13
  262. package/lib/image/index.js +14 -8
  263. package/lib/image-preview/ImagePreview.js +21 -15
  264. package/lib/image-preview/ImagePreviewItem.js +17 -16
  265. package/lib/image-preview/function-call.js +16 -10
  266. package/lib/image-preview/index.js +11 -10
  267. package/lib/image-preview/types.js +18 -1
  268. package/lib/index-anchor/IndexAnchor.js +17 -16
  269. package/lib/index-anchor/index.js +14 -8
  270. package/lib/index-bar/IndexBar.d.ts +5 -4
  271. package/lib/index-bar/IndexBar.js +41 -19
  272. package/lib/index-bar/index.d.ts +3 -3
  273. package/lib/index-bar/index.js +14 -8
  274. package/lib/index-bar/types.d.ts +2 -1
  275. package/lib/index-bar/types.js +18 -1
  276. package/lib/index.css +1 -1
  277. package/lib/index.d.ts +1 -1
  278. package/lib/index.js +182 -181
  279. package/lib/index.less +2 -2
  280. package/lib/lazyload/index.js +11 -10
  281. package/lib/lazyload/vue-lazyload/index.js +16 -10
  282. package/lib/lazyload/vue-lazyload/lazy-component.js +12 -11
  283. package/lib/lazyload/vue-lazyload/lazy-container.js +11 -10
  284. package/lib/lazyload/vue-lazyload/lazy-image.js +13 -12
  285. package/lib/lazyload/vue-lazyload/lazy.js +17 -11
  286. package/lib/lazyload/vue-lazyload/listener.js +13 -12
  287. package/lib/lazyload/vue-lazyload/util.js +11 -10
  288. package/lib/list/List.js +17 -16
  289. package/lib/list/index.js +14 -8
  290. package/lib/list/types.js +18 -1
  291. package/lib/loading/Loading.js +13 -12
  292. package/lib/loading/index.js +14 -8
  293. package/lib/locale/index.js +15 -9
  294. package/lib/locale/lang/bn-BD.d.ts +64 -0
  295. package/lib/locale/lang/bn-BD.js +98 -0
  296. package/lib/locale/lang/de-DE-formal.js +20 -3
  297. package/lib/locale/lang/de-DE.js +20 -3
  298. package/lib/locale/lang/en-US.js +20 -3
  299. package/lib/locale/lang/es-ES.js +20 -3
  300. package/lib/locale/lang/fr-FR.js +20 -3
  301. package/lib/locale/lang/hi-IN.js +20 -3
  302. package/lib/locale/lang/id-ID.d.ts +64 -0
  303. package/lib/locale/lang/id-ID.js +90 -0
  304. package/lib/locale/lang/is-IS.d.ts +64 -0
  305. package/lib/locale/lang/is-IS.js +98 -0
  306. package/lib/locale/lang/it-IT.d.ts +64 -0
  307. package/lib/locale/lang/it-IT.js +98 -0
  308. package/lib/locale/lang/ja-JP.js +20 -3
  309. package/lib/locale/lang/ko-KR.js +20 -3
  310. package/lib/locale/lang/la-LA.d.ts +64 -0
  311. package/lib/locale/lang/la-LA.js +90 -0
  312. package/lib/locale/lang/nb-NO.js +20 -3
  313. package/lib/locale/lang/pt-BR.js +20 -3
  314. package/lib/locale/lang/ro-RO.js +20 -3
  315. package/lib/locale/lang/ru-RU.js +20 -3
  316. package/lib/locale/lang/sv-SE.d.ts +64 -0
  317. package/lib/locale/lang/sv-SE.js +90 -0
  318. package/lib/locale/lang/th-TH.js +20 -3
  319. package/lib/locale/lang/tr-TR.js +19 -2
  320. package/lib/locale/lang/uk-UA.d.ts +64 -0
  321. package/lib/locale/lang/uk-UA.js +98 -0
  322. package/lib/locale/lang/vi-VN.d.ts +64 -0
  323. package/lib/locale/lang/vi-VN.js +98 -0
  324. package/lib/locale/lang/zh-CN.js +20 -3
  325. package/lib/locale/lang/zh-HK.js +20 -3
  326. package/lib/locale/lang/zh-TW.js +20 -3
  327. package/lib/nav-bar/NavBar.d.ts +1 -1
  328. package/lib/nav-bar/NavBar.js +18 -17
  329. package/lib/nav-bar/index.d.ts +1 -1
  330. package/lib/nav-bar/index.js +14 -8
  331. package/lib/notice-bar/NoticeBar.js +17 -16
  332. package/lib/notice-bar/index.js +14 -8
  333. package/lib/notice-bar/types.js +18 -1
  334. package/lib/notify/Notify.js +15 -14
  335. package/lib/notify/function-call.js +16 -10
  336. package/lib/notify/index.js +11 -10
  337. package/lib/notify/types.d.ts +2 -1
  338. package/lib/notify/types.js +18 -1
  339. package/lib/number-keyboard/NumberKeyboard.js +27 -12
  340. package/lib/number-keyboard/NumberKeyboardKey.js +15 -14
  341. package/lib/number-keyboard/index.js +14 -8
  342. package/lib/overlay/Overlay.js +14 -13
  343. package/lib/overlay/index.js +14 -8
  344. package/lib/pagination/Pagination.js +13 -12
  345. package/lib/pagination/index.js +14 -8
  346. package/lib/password-input/PasswordInput.js +13 -12
  347. package/lib/password-input/index.js +14 -8
  348. package/lib/picker/Picker.js +19 -13
  349. package/lib/picker/PickerColumn.js +17 -16
  350. package/lib/picker/index.js +14 -8
  351. package/lib/picker/types.d.ts +3 -2
  352. package/lib/picker/types.js +18 -1
  353. package/lib/popover/Popover.js +17 -16
  354. package/lib/popover/index.js +14 -8
  355. package/lib/popover/types.js +18 -1
  356. package/lib/popup/Popup.d.ts +6 -1
  357. package/lib/popup/Popup.js +34 -22
  358. package/lib/popup/index.d.ts +5 -1
  359. package/lib/popup/index.js +14 -8
  360. package/lib/popup/shared.js +11 -10
  361. package/lib/popup/types.d.ts +5 -2
  362. package/lib/popup/types.js +18 -1
  363. package/lib/progress/Progress.d.ts +4 -3
  364. package/lib/progress/Progress.js +13 -12
  365. package/lib/progress/index.d.ts +2 -2
  366. package/lib/progress/index.js +14 -8
  367. package/lib/progress/types.js +18 -1
  368. package/lib/pull-refresh/PullRefresh.js +16 -15
  369. package/lib/pull-refresh/index.js +14 -8
  370. package/lib/radio/Radio.js +18 -12
  371. package/lib/radio/index.js +14 -8
  372. package/lib/radio-group/RadioGroup.js +14 -13
  373. package/lib/radio-group/index.js +14 -8
  374. package/lib/rate/Rate.js +17 -16
  375. package/lib/rate/index.js +14 -8
  376. package/lib/row/Row.js +14 -13
  377. package/lib/row/index.js +14 -8
  378. package/lib/search/Search.js +17 -16
  379. package/lib/search/index.js +14 -8
  380. package/lib/search/types.js +18 -1
  381. package/lib/share-sheet/ShareSheet.js +15 -14
  382. package/lib/share-sheet/index.js +14 -8
  383. package/lib/sidebar/Sidebar.js +14 -13
  384. package/lib/sidebar/index.js +14 -8
  385. package/lib/sidebar-item/SidebarItem.js +17 -16
  386. package/lib/sidebar-item/index.js +14 -8
  387. package/lib/skeleton/Skeleton.d.ts +5 -4
  388. package/lib/skeleton/Skeleton.js +18 -15
  389. package/lib/skeleton/index.d.ts +3 -3
  390. package/lib/skeleton/index.js +14 -8
  391. package/lib/slider/Slider.js +15 -14
  392. package/lib/slider/index.js +14 -8
  393. package/lib/step/Step.js +16 -15
  394. package/lib/step/index.js +14 -8
  395. package/lib/stepper/Stepper.js +14 -13
  396. package/lib/stepper/index.js +14 -8
  397. package/lib/steps/Steps.js +14 -13
  398. package/lib/steps/index.js +14 -8
  399. package/lib/sticky/Sticky.js +15 -14
  400. package/lib/sticky/index.js +14 -8
  401. package/lib/style/base.css +1 -1
  402. package/lib/style/base.less +5 -0
  403. package/lib/submit-bar/SubmitBar.js +15 -14
  404. package/lib/submit-bar/index.css +1 -1
  405. package/lib/submit-bar/index.js +14 -8
  406. package/lib/submit-bar/index.less +1 -0
  407. package/lib/swipe/Swipe.js +17 -16
  408. package/lib/swipe/index.js +14 -8
  409. package/lib/swipe/types.js +18 -1
  410. package/lib/swipe-cell/SwipeCell.js +17 -16
  411. package/lib/swipe-cell/index.js +14 -8
  412. package/lib/swipe-cell/types.js +18 -1
  413. package/lib/swipe-item/SwipeItem.js +16 -15
  414. package/lib/swipe-item/index.js +14 -8
  415. package/lib/switch/Switch.js +15 -14
  416. package/lib/switch/index.js +14 -8
  417. package/lib/tab/Tab.js +20 -19
  418. package/lib/tab/index.js +14 -8
  419. package/lib/tabbar/Tabbar.d.ts +2 -2
  420. package/lib/tabbar/Tabbar.js +15 -14
  421. package/lib/tabbar/index.js +14 -8
  422. package/lib/tabbar-item/TabbarItem.js +18 -17
  423. package/lib/tabbar-item/index.js +14 -8
  424. package/lib/tabs/Tabs.d.ts +1 -1
  425. package/lib/tabs/Tabs.js +26 -19
  426. package/lib/tabs/TabsContent.js +14 -13
  427. package/lib/tabs/TabsTitle.js +14 -13
  428. package/lib/tabs/index.js +14 -8
  429. package/lib/tabs/types.d.ts +5 -4
  430. package/lib/tabs/types.js +18 -1
  431. package/lib/tabs/utils.js +12 -11
  432. package/lib/tag/Tag.js +14 -13
  433. package/lib/tag/index.js +14 -8
  434. package/lib/toast/Toast.d.ts +3 -0
  435. package/lib/toast/Toast.js +20 -17
  436. package/lib/toast/function-call.js +17 -11
  437. package/lib/toast/index.js +11 -10
  438. package/lib/toast/lock-click.js +19 -2
  439. package/lib/toast/types.d.ts +3 -2
  440. package/lib/toast/types.js +18 -1
  441. package/lib/tree-select/TreeSelect.d.ts +7 -6
  442. package/lib/tree-select/TreeSelect.js +16 -15
  443. package/lib/tree-select/index.d.ts +3 -3
  444. package/lib/tree-select/index.js +14 -8
  445. package/lib/uploader/Uploader.d.ts +4 -4
  446. package/lib/uploader/Uploader.js +22 -16
  447. package/lib/uploader/UploaderPreviewItem.d.ts +3 -3
  448. package/lib/uploader/UploaderPreviewItem.js +26 -22
  449. package/lib/uploader/index.d.ts +2 -2
  450. package/lib/uploader/index.js +14 -8
  451. package/lib/uploader/types.d.ts +6 -8
  452. package/lib/uploader/types.js +18 -1
  453. package/lib/uploader/utils.js +11 -10
  454. package/lib/utils/basic.d.ts +1 -0
  455. package/lib/utils/basic.js +19 -2
  456. package/lib/utils/constant.js +19 -2
  457. package/lib/utils/create.js +16 -10
  458. package/lib/utils/deep-assign.js +11 -10
  459. package/lib/utils/deep-clone.js +11 -10
  460. package/lib/utils/dom.js +13 -12
  461. package/lib/utils/format.d.ts +7 -6
  462. package/lib/utils/format.js +19 -12
  463. package/lib/utils/index.js +18 -17
  464. package/lib/utils/interceptor.d.ts +1 -1
  465. package/lib/utils/interceptor.js +12 -11
  466. package/lib/utils/mount-component.js +13 -12
  467. package/lib/utils/props.js +19 -2
  468. package/lib/utils/validate.d.ts +2 -1
  469. package/lib/utils/validate.js +11 -10
  470. package/lib/utils/with-install.js +11 -10
  471. package/lib/vant.cjs.js +317 -243
  472. package/lib/vant.cjs.min.js +1 -1
  473. package/lib/vant.es.js +318 -244
  474. package/lib/vant.es.min.js +318 -244
  475. package/lib/vant.js +320 -246
  476. package/lib/vant.min.js +1 -1
  477. package/package.json +2 -2
  478. package/vetur/attributes.json +631 -616
  479. package/vetur/tags.json +220 -217
  480. package/vetur/web-types.json +2358 -2326
package/lib/vant.cjs.js CHANGED
@@ -121,6 +121,12 @@ function addUnit(value) {
121
121
  }
122
122
  function getSizeStyle(originSize) {
123
123
  if (isDef(originSize)) {
124
+ if (Array.isArray(originSize)) {
125
+ return {
126
+ width: addUnit(originSize[0]),
127
+ height: addUnit(originSize[1])
128
+ };
129
+ }
124
130
  const size = addUnit(originSize);
125
131
  return {
126
132
  width: size,
@@ -262,7 +268,7 @@ var stdin_default$1D = {
262
268
  loosing: "\u91CA\u653E\u5373\u53EF\u5237\u65B0..."
263
269
  },
264
270
  vanSubmitBar: {
265
- label: "\u5408\u8BA1\uFF1A"
271
+ label: "\u5408\u8BA1:"
266
272
  },
267
273
  vanCoupon: {
268
274
  unlimited: "\u65E0\u95E8\u69DB",
@@ -989,7 +995,7 @@ function useTouch() {
989
995
  };
990
996
  const move = (event) => {
991
997
  const touch = event.touches[0];
992
- deltaX.value = touch.clientX < 0 ? 0 : touch.clientX - startX.value;
998
+ deltaX.value = (touch.clientX < 0 ? 0 : touch.clientX) - startX.value;
993
999
  deltaY.value = touch.clientY - startY.value;
994
1000
  offsetX.value = Math.abs(deltaX.value);
995
1001
  offsetY.value = Math.abs(deltaY.value);
@@ -1129,6 +1135,7 @@ const popupProps$2 = extend({}, popupSharedProps, {
1129
1135
  iconPrefix: String,
1130
1136
  closeOnPopstate: Boolean,
1131
1137
  closeIconPosition: makeStringProp("top-right"),
1138
+ safeAreaInsetTop: Boolean,
1132
1139
  safeAreaInsetBottom: Boolean
1133
1140
  });
1134
1141
  const [name$1l, bem$1h] = createNamespace("popup");
@@ -1137,7 +1144,7 @@ var stdin_default$1s = vue.defineComponent({
1137
1144
  name: name$1l,
1138
1145
  inheritAttrs: false,
1139
1146
  props: popupProps$2,
1140
- emits: ["open", "close", "opened", "closed", "update:show", "click-overlay", "click-close-icon"],
1147
+ emits: ["open", "close", "opened", "closed", "keydown", "update:show", "click-overlay", "click-close-icon"],
1141
1148
  setup(props, {
1142
1149
  emit,
1143
1150
  attrs,
@@ -1217,11 +1224,13 @@ var stdin_default$1s = vue.defineComponent({
1217
1224
  };
1218
1225
  const onOpened = () => emit("opened");
1219
1226
  const onClosed = () => emit("closed");
1227
+ const onKeydown = (event) => emit("keydown", event);
1220
1228
  const renderPopup = lazyRender(() => {
1221
1229
  var _a;
1222
1230
  const {
1223
1231
  round,
1224
1232
  position,
1233
+ safeAreaInsetTop,
1225
1234
  safeAreaInsetBottom
1226
1235
  } = props;
1227
1236
  return vue.withDirectives(vue.createVNode("div", vue.mergeProps({
@@ -1231,8 +1240,10 @@ var stdin_default$1s = vue.defineComponent({
1231
1240
  round,
1232
1241
  [position]: position
1233
1242
  }), {
1243
+ "van-safe-area-top": safeAreaInsetTop,
1234
1244
  "van-safe-area-bottom": safeAreaInsetBottom
1235
- }]
1245
+ }],
1246
+ "onKeydown": onKeydown
1236
1247
  }, attrs), [(_a = slots.default) == null ? void 0 : _a.call(slots), renderCloseIcon()]), [[vue.vShow, props.show]]);
1237
1248
  });
1238
1249
  const renderTransition = () => {
@@ -1254,6 +1265,12 @@ var stdin_default$1s = vue.defineComponent({
1254
1265
  vue.watch(() => props.show, (show) => {
1255
1266
  if (show && !opened) {
1256
1267
  open();
1268
+ if (attrs.tabindex === 0) {
1269
+ vue.nextTick(() => {
1270
+ var _a;
1271
+ (_a = popupRef.value) == null ? void 0 : _a.focus();
1272
+ });
1273
+ }
1257
1274
  }
1258
1275
  if (!show && opened) {
1259
1276
  opened = false;
@@ -3008,7 +3025,7 @@ function lockClick(lock) {
3008
3025
  }
3009
3026
  }
3010
3027
  const [name$1d, bem$19] = createNamespace("toast");
3011
- const popupInheritProps = ["show", "overlay", "transition", "overlayClass", "overlayStyle", "closeOnClickOverlay"];
3028
+ const popupInheritProps = ["show", "overlay", "teleport", "transition", "overlayClass", "overlayStyle", "closeOnClickOverlay"];
3012
3029
  const toastProps = {
3013
3030
  icon: String,
3014
3031
  show: Boolean,
@@ -3018,6 +3035,7 @@ const toastProps = {
3018
3035
  iconSize: numericProp,
3019
3036
  duration: makeNumberProp(2e3),
3020
3037
  position: makeStringProp("middle"),
3038
+ teleport: [String, Object],
3021
3039
  className: unknownProp,
3022
3040
  iconPrefix: String,
3023
3041
  transition: makeStringProp("van-fade"),
@@ -3083,6 +3101,7 @@ var stdin_default$1k = vue.defineComponent({
3083
3101
  } = props;
3084
3102
  if (isDef(message) && message !== "") {
3085
3103
  return type === "html" ? vue.createVNode("div", {
3104
+ "key": 0,
3086
3105
  "class": bem$19("text"),
3087
3106
  "innerHTML": String(message)
3088
3107
  }, null) : vue.createVNode("div", {
@@ -4606,6 +4625,7 @@ const calendarProps = {
4606
4625
  showRangePrompt: truthProp,
4607
4626
  confirmDisabledText: String,
4608
4627
  closeOnClickOverlay: truthProp,
4628
+ safeAreaInsetTop: Boolean,
4609
4629
  safeAreaInsetBottom: truthProp,
4610
4630
  minDate: {
4611
4631
  type: Date,
@@ -4768,8 +4788,8 @@ var stdin_default$17 = vue.defineComponent({
4768
4788
  }
4769
4789
  use.raf(() => {
4770
4790
  bodyHeight = Math.floor(use.useRect(bodyRef).height);
4771
- scrollToCurrentDate();
4772
4791
  });
4792
+ scrollToCurrentDate();
4773
4793
  };
4774
4794
  const reset = (date = getInitialDate()) => {
4775
4795
  currentDate.value = date;
@@ -4954,6 +4974,7 @@ var stdin_default$17 = vue.defineComponent({
4954
4974
  "closeable": props.showTitle || props.showSubtitle,
4955
4975
  "teleport": props.teleport,
4956
4976
  "closeOnPopstate": props.closeOnPopstate,
4977
+ "safeAreaInsetTop": props.safeAreaInsetTop,
4957
4978
  "closeOnClickOverlay": props.closeOnClickOverlay,
4958
4979
  "onUpdate:show": updateShow
4959
4980
  }, {
@@ -6082,6 +6103,7 @@ var stdin_default$10 = vue.defineComponent({
6082
6103
  }
6083
6104
  };
6084
6105
  const renderNav = () => children.map((item, index) => vue.createVNode(stdin_default$13, vue.mergeProps({
6106
+ "key": item.id,
6085
6107
  "id": `${id}-${index}`,
6086
6108
  "ref": setTitleRefs(index),
6087
6109
  "type": props.type,
@@ -7126,7 +7148,8 @@ const collapseItemProps = extend({}, cellSharedProps, {
7126
7148
  name: numericProp,
7127
7149
  isLink: truthProp,
7128
7150
  disabled: Boolean,
7129
- readonly: Boolean
7151
+ readonly: Boolean,
7152
+ lazyRender: truthProp
7130
7153
  });
7131
7154
  var stdin_default$R = vue.defineComponent({
7132
7155
  name: name$L,
@@ -7149,7 +7172,7 @@ var stdin_default$R = vue.defineComponent({
7149
7172
  });
7150
7173
  const expanded = vue.computed(() => parent.isExpanded(name2.value));
7151
7174
  const show = vue.ref(expanded.value);
7152
- const lazyRender = useLazyRender(show);
7175
+ const lazyRender = useLazyRender(() => show.value || !props.lazyRender);
7153
7176
  const onTransitionEnd = () => {
7154
7177
  if (!expanded.value) {
7155
7178
  show.value = false;
@@ -7671,14 +7694,152 @@ var stdin_default$L = vue.defineComponent({
7671
7694
  }
7672
7695
  });
7673
7696
  const CouponCell = withInstall(stdin_default$L);
7674
- const [name$E, bem$D, t$8] = createNamespace("coupon-list");
7675
- const EMPTY_IMAGE = "https://img.yzcdn.cn/vant/coupon-empty.png";
7697
+ const prefix = "van-empty-network-";
7698
+ const renderStop = (color, offset, opacity) => vue.createVNode("stop", {
7699
+ "stop-color": color,
7700
+ "offset": `${offset}%`,
7701
+ "stop-opacity": opacity
7702
+ }, null);
7703
+ const Network = vue.createVNode("svg", {
7704
+ "viewBox": "0 0 160 160"
7705
+ }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
7706
+ "id": `${prefix}1`,
7707
+ "x1": "64%",
7708
+ "y1": "100%",
7709
+ "x2": "64%"
7710
+ }, [renderStop("#FFF", 0, 0.5), renderStop("#F2F3F5", 100)]), vue.createVNode("linearGradient", {
7711
+ "id": `${prefix}2`,
7712
+ "x1": "50%",
7713
+ "x2": "50%",
7714
+ "y2": "84%"
7715
+ }, [renderStop("#EBEDF0", 0), renderStop("#DCDEE0", 100, 0)]), vue.createVNode("linearGradient", {
7716
+ "id": `${prefix}3`,
7717
+ "x1": "100%",
7718
+ "x2": "100%",
7719
+ "y2": "100%"
7720
+ }, [renderStop("#EAEDF0", 0), renderStop("#DCDEE0", 100)]), vue.createVNode("radialGradient", {
7721
+ "id": `${prefix}4`,
7722
+ "cx": "50%",
7723
+ "cy": "0%",
7724
+ "fx": "50%",
7725
+ "fy": "0%",
7726
+ "r": "100%",
7727
+ "gradientTransform": "matrix(0 1 -.54 0 .5 -.5)"
7728
+ }, [renderStop("#EBEDF0", 0), renderStop("#FFF", 100, 0)])]), vue.createVNode("g", {
7729
+ "fill": "none"
7730
+ }, [vue.createVNode("g", {
7731
+ "opacity": ".8"
7732
+ }, [vue.createVNode("path", {
7733
+ "d": "M36 131V53H16v20H2v58h34z",
7734
+ "fill": `url(#${prefix}1)`
7735
+ }, null), vue.createVNode("path", {
7736
+ "d": "M123 15h22v14h9v77h-31V15z",
7737
+ "fill": `url(#${prefix}1)`
7738
+ }, null)]), vue.createVNode("path", {
7739
+ "fill": `url(#${prefix}4)`,
7740
+ "d": "M0 139h160v21H0z"
7741
+ }, null), vue.createVNode("path", {
7742
+ "d": "M80 54a7 7 0 0 1 3 13v27l-2 2h-2a2 2 0 0 1-2-2V67a7 7 0 0 1 3-13z",
7743
+ "fill": `url(#${prefix}2)`
7744
+ }, null), vue.createVNode("g", {
7745
+ "opacity": ".6",
7746
+ "stroke-linecap": "round",
7747
+ "stroke-width": "7"
7748
+ }, [vue.createVNode("path", {
7749
+ "d": "M64 47a19 19 0 0 0-5 13c0 5 2 10 5 13",
7750
+ "stroke": `url(#${prefix}3)`
7751
+ }, null), vue.createVNode("path", {
7752
+ "d": "M53 36a34 34 0 0 0 0 48",
7753
+ "stroke": `url(#${prefix}3)`
7754
+ }, null), vue.createVNode("path", {
7755
+ "d": "M95 73a19 19 0 0 0 6-13c0-5-2-9-6-13",
7756
+ "stroke": `url(#${prefix}3)`
7757
+ }, null), vue.createVNode("path", {
7758
+ "d": "M106 84a34 34 0 0 0 0-48",
7759
+ "stroke": `url(#${prefix}3)`
7760
+ }, null)]), vue.createVNode("g", {
7761
+ "transform": "translate(31 105)"
7762
+ }, [vue.createVNode("rect", {
7763
+ "fill": "#EBEDF0",
7764
+ "width": "98",
7765
+ "height": "34",
7766
+ "rx": "2"
7767
+ }, null), vue.createVNode("rect", {
7768
+ "fill": "#FFF",
7769
+ "x": "9",
7770
+ "y": "8",
7771
+ "width": "80",
7772
+ "height": "18",
7773
+ "rx": "1.1"
7774
+ }, null), vue.createVNode("rect", {
7775
+ "fill": "#EBEDF0",
7776
+ "x": "15",
7777
+ "y": "12",
7778
+ "width": "18",
7779
+ "height": "6",
7780
+ "rx": "1.1"
7781
+ }, null)])])]);
7782
+ const [name$E, bem$D] = createNamespace("empty");
7783
+ const PRESET_IMAGES = ["error", "search", "default"];
7784
+ const emptyProps = {
7785
+ image: makeStringProp("default"),
7786
+ imageSize: numericProp,
7787
+ description: String
7788
+ };
7789
+ var stdin_default$K = vue.defineComponent({
7790
+ name: name$E,
7791
+ props: emptyProps,
7792
+ setup(props, {
7793
+ slots
7794
+ }) {
7795
+ const renderImage = () => {
7796
+ if (slots.image) {
7797
+ return slots.image();
7798
+ }
7799
+ let {
7800
+ image
7801
+ } = props;
7802
+ if (image === "network") {
7803
+ return Network;
7804
+ }
7805
+ if (PRESET_IMAGES.includes(image)) {
7806
+ image = `https://img.yzcdn.cn/vant/empty-image-${image}.png`;
7807
+ }
7808
+ return vue.createVNode("img", {
7809
+ "src": image
7810
+ }, null);
7811
+ };
7812
+ const renderDescription = () => {
7813
+ const description = slots.description ? slots.description() : props.description;
7814
+ if (description) {
7815
+ return vue.createVNode("p", {
7816
+ "class": bem$D("description")
7817
+ }, [description]);
7818
+ }
7819
+ };
7820
+ const renderBottom = () => {
7821
+ if (slots.default) {
7822
+ return vue.createVNode("div", {
7823
+ "class": bem$D("bottom")
7824
+ }, [slots.default()]);
7825
+ }
7826
+ };
7827
+ return () => vue.createVNode("div", {
7828
+ "class": bem$D()
7829
+ }, [vue.createVNode("div", {
7830
+ "class": bem$D("image"),
7831
+ "style": getSizeStyle(props.imageSize)
7832
+ }, [renderImage()]), renderDescription(), renderBottom()]);
7833
+ }
7834
+ });
7835
+ const Empty = withInstall(stdin_default$K);
7836
+ const [name$D, bem$C, t$8] = createNamespace("coupon-list");
7676
7837
  const couponListProps = {
7677
7838
  code: makeStringProp(""),
7678
7839
  coupons: makeArrayProp(),
7679
7840
  currency: makeStringProp("\xA5"),
7680
7841
  showCount: truthProp,
7681
- emptyImage: makeStringProp(EMPTY_IMAGE),
7842
+ emptyImage: String,
7682
7843
  chosenCoupon: makeNumberProp(-1),
7683
7844
  enabledTitle: String,
7684
7845
  disabledTitle: String,
@@ -7693,8 +7854,8 @@ const couponListProps = {
7693
7854
  exchangeButtonLoading: Boolean,
7694
7855
  exchangeButtonDisabled: Boolean
7695
7856
  };
7696
- var stdin_default$K = vue.defineComponent({
7697
- name: name$E,
7857
+ var stdin_default$J = vue.defineComponent({
7858
+ name: name$D,
7698
7859
  props: couponListProps,
7699
7860
  emits: ["change", "exchange", "update:code"],
7700
7861
  setup(props, {
@@ -7726,28 +7887,30 @@ var stdin_default$K = vue.defineComponent({
7726
7887
  return (_a = couponRefs.value[index]) == null ? void 0 : _a.scrollIntoView();
7727
7888
  });
7728
7889
  };
7729
- const renderEmpty = () => vue.createVNode("div", {
7730
- "class": bem$D("empty")
7731
- }, [vue.createVNode("img", {
7732
- "src": props.emptyImage
7733
- }, null), vue.createVNode("p", null, [t$8("noCoupon")])]);
7890
+ const renderEmpty = () => vue.createVNode(Empty, {
7891
+ "image": props.emptyImage
7892
+ }, {
7893
+ default: () => [vue.createVNode("p", {
7894
+ "class": bem$C("empty-tip")
7895
+ }, [t$8("noCoupon")])]
7896
+ });
7734
7897
  const renderExchangeBar = () => {
7735
7898
  if (props.showExchangeBar) {
7736
7899
  return vue.createVNode("div", {
7737
7900
  "ref": barRef,
7738
- "class": bem$D("exchange-bar")
7901
+ "class": bem$C("exchange-bar")
7739
7902
  }, [vue.createVNode(Field, {
7740
7903
  "modelValue": currentCode.value,
7741
7904
  "onUpdate:modelValue": ($event) => currentCode.value = $event,
7742
7905
  "clearable": true,
7743
7906
  "border": false,
7744
- "class": bem$D("field"),
7907
+ "class": bem$C("field"),
7745
7908
  "placeholder": props.inputPlaceholder || t$8("placeholder"),
7746
7909
  "maxlength": "20"
7747
7910
  }, null), vue.createVNode(Button, {
7748
7911
  "plain": true,
7749
7912
  "type": "danger",
7750
- "class": bem$D("exchange"),
7913
+ "class": bem$C("exchange"),
7751
7914
  "text": props.exchangeButtonText || t$8("exchange"),
7752
7915
  "loading": props.exchangeButtonLoading,
7753
7916
  "disabled": buttonDisabled.value,
@@ -7767,7 +7930,7 @@ var stdin_default$K = vue.defineComponent({
7767
7930
  default: () => {
7768
7931
  var _a;
7769
7932
  return [vue.createVNode("div", {
7770
- "class": bem$D("list", {
7933
+ "class": bem$C("list", {
7771
7934
  "with-bottom": props.showCloseButton
7772
7935
  }),
7773
7936
  "style": {
@@ -7796,7 +7959,7 @@ var stdin_default$K = vue.defineComponent({
7796
7959
  default: () => {
7797
7960
  var _a;
7798
7961
  return [vue.createVNode("div", {
7799
- "class": bem$D("list", {
7962
+ "class": bem$C("list", {
7800
7963
  "with-bottom": props.showCloseButton
7801
7964
  }),
7802
7965
  "style": {
@@ -7823,29 +7986,29 @@ var stdin_default$K = vue.defineComponent({
7823
7986
  });
7824
7987
  return () => vue.createVNode("div", {
7825
7988
  "ref": root,
7826
- "class": bem$D()
7989
+ "class": bem$C()
7827
7990
  }, [renderExchangeBar(), vue.createVNode(Tabs, {
7828
7991
  "active": activeTab.value,
7829
7992
  "onUpdate:active": ($event) => activeTab.value = $event,
7830
- "class": bem$D("tab")
7993
+ "class": bem$C("tab")
7831
7994
  }, {
7832
7995
  default: () => [renderCouponTab(), renderDisabledTab()]
7833
7996
  }), vue.createVNode("div", {
7834
- "class": bem$D("bottom")
7997
+ "class": bem$C("bottom")
7835
7998
  }, [vue.withDirectives(vue.createVNode(Button, {
7836
7999
  "round": true,
7837
8000
  "block": true,
7838
8001
  "type": "danger",
7839
- "class": bem$D("close"),
8002
+ "class": bem$C("close"),
7840
8003
  "text": props.closeButtonText || t$8("close"),
7841
8004
  "onClick": () => emit("change", -1)
7842
8005
  }, null), [[vue.vShow, props.showCloseButton]])])]);
7843
8006
  }
7844
8007
  });
7845
- const CouponList = withInstall(stdin_default$K);
7846
- const [name$D] = createNamespace("time-picker");
7847
- var stdin_default$J = vue.defineComponent({
7848
- name: name$D,
8008
+ const CouponList = withInstall(stdin_default$J);
8009
+ const [name$C] = createNamespace("time-picker");
8010
+ var stdin_default$I = vue.defineComponent({
8011
+ name: name$C,
7849
8012
  props: extend({}, sharedProps, {
7850
8013
  minHour: makeNumericProp(0),
7851
8014
  maxHour: makeNumericProp(23),
@@ -7952,9 +8115,9 @@ var stdin_default$J = vue.defineComponent({
7952
8115
  }
7953
8116
  });
7954
8117
  const currentYear = new Date().getFullYear();
7955
- const [name$C] = createNamespace("date-picker");
7956
- var stdin_default$I = vue.defineComponent({
7957
- name: name$C,
8118
+ const [name$B] = createNamespace("date-picker");
8119
+ var stdin_default$H = vue.defineComponent({
8120
+ name: name$B,
7958
8121
  props: extend({}, sharedProps, {
7959
8122
  type: makeStringProp("datetime"),
7960
8123
  modelValue: Date,
@@ -8169,8 +8332,7 @@ var stdin_default$I = vue.defineComponent({
8169
8332
  });
8170
8333
  vue.watch(columns, updateColumnValue);
8171
8334
  vue.watch(currentDate, (value, oldValue) => emit("update:modelValue", oldValue ? value : null));
8172
- vue.watch(() => [props.filter, props.maxDate], updateInnerValue);
8173
- vue.watch(() => props.minDate, () => {
8335
+ vue.watch(() => [props.filter, props.minDate, props.maxDate], () => {
8174
8336
  vue.nextTick(updateInnerValue);
8175
8337
  });
8176
8338
  vue.watch(() => props.modelValue, (value) => {
@@ -8192,14 +8354,14 @@ var stdin_default$I = vue.defineComponent({
8192
8354
  }, pick(props, pickerInheritKeys)), slots);
8193
8355
  }
8194
8356
  });
8195
- const [name$B, bem$C] = createNamespace("datetime-picker");
8196
- const timePickerPropKeys = Object.keys(stdin_default$J.props);
8197
- const datePickerPropKeys = Object.keys(stdin_default$I.props);
8198
- const datetimePickerProps = extend({}, stdin_default$J.props, stdin_default$I.props, {
8357
+ const [name$A, bem$B] = createNamespace("datetime-picker");
8358
+ const timePickerPropKeys = Object.keys(stdin_default$I.props);
8359
+ const datePickerPropKeys = Object.keys(stdin_default$H.props);
8360
+ const datetimePickerProps = extend({}, stdin_default$I.props, stdin_default$H.props, {
8199
8361
  modelValue: [String, Date]
8200
8362
  });
8201
- var stdin_default$H = vue.defineComponent({
8202
- name: name$B,
8363
+ var stdin_default$G = vue.defineComponent({
8364
+ name: name$A,
8203
8365
  props: datetimePickerProps,
8204
8366
  setup(props, {
8205
8367
  attrs,
@@ -8214,17 +8376,17 @@ var stdin_default$H = vue.defineComponent({
8214
8376
  });
8215
8377
  return () => {
8216
8378
  const isTimePicker = props.type === "time";
8217
- const Component = isTimePicker ? stdin_default$J : stdin_default$I;
8379
+ const Component = isTimePicker ? stdin_default$I : stdin_default$H;
8218
8380
  const inheritProps = pick(props, isTimePicker ? timePickerPropKeys : datePickerPropKeys);
8219
8381
  return vue.createVNode(Component, vue.mergeProps({
8220
8382
  "ref": root,
8221
- "class": bem$C()
8383
+ "class": bem$B()
8222
8384
  }, inheritProps, attrs), slots);
8223
8385
  };
8224
8386
  }
8225
8387
  });
8226
- const DatetimePicker = withInstall(stdin_default$H);
8227
- const [name$A, bem$B, t$7] = createNamespace("dialog");
8388
+ const DatetimePicker = withInstall(stdin_default$G);
8389
+ const [name$z, bem$A, t$7] = createNamespace("dialog");
8228
8390
  const dialogProps = extend({}, popupSharedProps, {
8229
8391
  title: String,
8230
8392
  theme: String,
@@ -8245,14 +8407,15 @@ const dialogProps = extend({}, popupSharedProps, {
8245
8407
  closeOnClickOverlay: Boolean
8246
8408
  });
8247
8409
  const popupInheritKeys$1 = [...popupSharedPropKeys, "transition", "closeOnPopstate"];
8248
- var stdin_default$G = vue.defineComponent({
8249
- name: name$A,
8410
+ var stdin_default$F = vue.defineComponent({
8411
+ name: name$z,
8250
8412
  props: dialogProps,
8251
- emits: ["confirm", "cancel", "update:show"],
8413
+ emits: ["confirm", "cancel", "keydown", "update:show"],
8252
8414
  setup(props, {
8253
8415
  emit,
8254
8416
  slots
8255
8417
  }) {
8418
+ const root = vue.ref();
8256
8419
  const loading = vue.reactive({
8257
8420
  confirm: false,
8258
8421
  cancel: false
@@ -8286,11 +8449,23 @@ var stdin_default$G = vue.defineComponent({
8286
8449
  };
8287
8450
  const onCancel = getActionHandler("cancel");
8288
8451
  const onConfirm = getActionHandler("confirm");
8452
+ const onKeydown = vue.withKeys((event) => {
8453
+ var _a, _b;
8454
+ if (event.target !== ((_b = (_a = root.value) == null ? void 0 : _a.popupRef) == null ? void 0 : _b.value)) {
8455
+ return;
8456
+ }
8457
+ const onEventType = {
8458
+ Enter: props.showConfirmButton ? onConfirm : noop,
8459
+ Escape: props.showCancelButton ? onCancel : noop
8460
+ };
8461
+ onEventType[event.key]();
8462
+ emit("keydown", event);
8463
+ }, ["enter", "esc"]);
8289
8464
  const renderTitle = () => {
8290
8465
  const title = slots.title ? slots.title() : props.title;
8291
8466
  if (title) {
8292
8467
  return vue.createVNode("div", {
8293
- "class": bem$B("header", {
8468
+ "class": bem$A("header", {
8294
8469
  isolated: !props.message && !slots.default
8295
8470
  })
8296
8471
  }, [title]);
@@ -8302,7 +8477,7 @@ var stdin_default$G = vue.defineComponent({
8302
8477
  allowHtml,
8303
8478
  messageAlign
8304
8479
  } = props;
8305
- const classNames = bem$B("message", {
8480
+ const classNames = bem$A("message", {
8306
8481
  "has-title": hasTitle,
8307
8482
  [messageAlign]: messageAlign
8308
8483
  });
@@ -8320,7 +8495,7 @@ var stdin_default$G = vue.defineComponent({
8320
8495
  const renderContent = () => {
8321
8496
  if (slots.default) {
8322
8497
  return vue.createVNode("div", {
8323
- "class": bem$B("content")
8498
+ "class": bem$A("content")
8324
8499
  }, [slots.default()]);
8325
8500
  }
8326
8501
  const {
@@ -8332,18 +8507,18 @@ var stdin_default$G = vue.defineComponent({
8332
8507
  const hasTitle = !!(title || slots.title);
8333
8508
  return vue.createVNode("div", {
8334
8509
  "key": allowHtml ? 1 : 0,
8335
- "class": bem$B("content", {
8510
+ "class": bem$A("content", {
8336
8511
  isolated: !hasTitle
8337
8512
  })
8338
8513
  }, [renderMessage(hasTitle)]);
8339
8514
  }
8340
8515
  };
8341
8516
  const renderButtons = () => vue.createVNode("div", {
8342
- "class": [BORDER_TOP, bem$B("footer")]
8517
+ "class": [BORDER_TOP, bem$A("footer")]
8343
8518
  }, [props.showCancelButton && vue.createVNode(Button, {
8344
8519
  "size": "large",
8345
8520
  "text": props.cancelButtonText || t$7("cancel"),
8346
- "class": bem$B("cancel"),
8521
+ "class": bem$A("cancel"),
8347
8522
  "style": {
8348
8523
  color: props.cancelButtonColor
8349
8524
  },
@@ -8352,7 +8527,7 @@ var stdin_default$G = vue.defineComponent({
8352
8527
  }, null), props.showConfirmButton && vue.createVNode(Button, {
8353
8528
  "size": "large",
8354
8529
  "text": props.confirmButtonText || t$7("confirm"),
8355
- "class": [bem$B("confirm"), {
8530
+ "class": [bem$A("confirm"), {
8356
8531
  [BORDER_LEFT]: props.showCancelButton
8357
8532
  }],
8358
8533
  "style": {
@@ -8362,19 +8537,19 @@ var stdin_default$G = vue.defineComponent({
8362
8537
  "onClick": onConfirm
8363
8538
  }, null)]);
8364
8539
  const renderRoundButtons = () => vue.createVNode(ActionBar, {
8365
- "class": bem$B("footer")
8540
+ "class": bem$A("footer")
8366
8541
  }, {
8367
8542
  default: () => [props.showCancelButton && vue.createVNode(ActionBarButton, {
8368
8543
  "type": "warning",
8369
8544
  "text": props.cancelButtonText || t$7("cancel"),
8370
- "class": bem$B("cancel"),
8545
+ "class": bem$A("cancel"),
8371
8546
  "color": props.cancelButtonColor,
8372
8547
  "loading": loading.cancel,
8373
8548
  "onClick": onCancel
8374
8549
  }, null), props.showConfirmButton && vue.createVNode(ActionBarButton, {
8375
8550
  "type": "danger",
8376
8551
  "text": props.confirmButtonText || t$7("confirm"),
8377
- "class": bem$B("confirm"),
8552
+ "class": bem$A("confirm"),
8378
8553
  "color": props.confirmButtonColor,
8379
8554
  "loading": loading.confirm,
8380
8555
  "onClick": onConfirm
@@ -8395,12 +8570,15 @@ var stdin_default$G = vue.defineComponent({
8395
8570
  className
8396
8571
  } = props;
8397
8572
  return vue.createVNode(Popup, vue.mergeProps({
8573
+ "ref": root,
8398
8574
  "role": "dialog",
8399
- "class": [bem$B([theme]), className],
8575
+ "class": [bem$A([theme]), className],
8400
8576
  "style": {
8401
8577
  width: addUnit(width)
8402
8578
  },
8579
+ "tabindex": 0,
8403
8580
  "aria-labelledby": title || message,
8581
+ "onKeydown": onKeydown,
8404
8582
  "onUpdate:show": updateShow
8405
8583
  }, pick(props, popupInheritKeys$1)), {
8406
8584
  default: () => [renderTitle(), renderContent(), renderFooter()]
@@ -8416,7 +8594,7 @@ function initInstance$2() {
8416
8594
  state,
8417
8595
  toggle
8418
8596
  } = usePopupState();
8419
- return () => vue.createVNode(stdin_default$G, vue.mergeProps(state, {
8597
+ return () => vue.createVNode(stdin_default$F, vue.mergeProps(state, {
8420
8598
  "onUpdate:show": toggle
8421
8599
  }), null);
8422
8600
  }
@@ -8481,19 +8659,19 @@ Dialog.setDefaultOptions = (options) => {
8481
8659
  Dialog.resetDefaultOptions = () => {
8482
8660
  Dialog.currentOptions = extend({}, Dialog.defaultOptions);
8483
8661
  };
8484
- Dialog.Component = withInstall(stdin_default$G);
8662
+ Dialog.Component = withInstall(stdin_default$F);
8485
8663
  Dialog.install = (app) => {
8486
8664
  app.use(Dialog.Component);
8487
8665
  app.config.globalProperties.$dialog = Dialog;
8488
8666
  };
8489
- const [name$z, bem$A] = createNamespace("divider");
8667
+ const [name$y, bem$z] = createNamespace("divider");
8490
8668
  const dividerProps = {
8491
8669
  dashed: Boolean,
8492
8670
  hairline: truthProp,
8493
8671
  contentPosition: makeStringProp("center")
8494
8672
  };
8495
- var stdin_default$F = vue.defineComponent({
8496
- name: name$z,
8673
+ var stdin_default$E = vue.defineComponent({
8674
+ name: name$y,
8497
8675
  props: dividerProps,
8498
8676
  setup(props, {
8499
8677
  slots
@@ -8502,7 +8680,7 @@ var stdin_default$F = vue.defineComponent({
8502
8680
  var _a;
8503
8681
  return vue.createVNode("div", {
8504
8682
  "role": "separator",
8505
- "class": bem$A({
8683
+ "class": bem$z({
8506
8684
  dashed: props.dashed,
8507
8685
  hairline: props.hairline,
8508
8686
  [`content-${props.contentPosition}`]: !!slots.default
@@ -8511,8 +8689,8 @@ var stdin_default$F = vue.defineComponent({
8511
8689
  };
8512
8690
  }
8513
8691
  });
8514
- const Divider = withInstall(stdin_default$F);
8515
- const [name$y, bem$z] = createNamespace("dropdown-menu");
8692
+ const Divider = withInstall(stdin_default$E);
8693
+ const [name$x, bem$y] = createNamespace("dropdown-menu");
8516
8694
  const dropdownMenuProps = {
8517
8695
  overlay: truthProp,
8518
8696
  zIndex: numericProp,
@@ -8522,9 +8700,9 @@ const dropdownMenuProps = {
8522
8700
  closeOnClickOutside: truthProp,
8523
8701
  closeOnClickOverlay: truthProp
8524
8702
  };
8525
- const DROPDOWN_KEY = Symbol(name$y);
8526
- var stdin_default$E = vue.defineComponent({
8527
- name: name$y,
8703
+ const DROPDOWN_KEY = Symbol(name$x);
8704
+ var stdin_default$D = vue.defineComponent({
8705
+ name: name$x,
8528
8706
  props: dropdownMenuProps,
8529
8707
  setup(props, {
8530
8708
  slots
@@ -8592,7 +8770,7 @@ var stdin_default$E = vue.defineComponent({
8592
8770
  "id": `${id}-${index}`,
8593
8771
  "role": "button",
8594
8772
  "tabindex": disabled ? void 0 : 0,
8595
- "class": [bem$z("item", {
8773
+ "class": [bem$y("item", {
8596
8774
  disabled
8597
8775
  }), {
8598
8776
  [HAPTICS_FEEDBACK]: !disabled
@@ -8603,7 +8781,7 @@ var stdin_default$E = vue.defineComponent({
8603
8781
  }
8604
8782
  }
8605
8783
  }, [vue.createVNode("span", {
8606
- "class": [bem$z("title", {
8784
+ "class": [bem$y("title", {
8607
8785
  down: showPopup === (props.direction === "down"),
8608
8786
  active: showPopup
8609
8787
  }), titleClass],
@@ -8627,18 +8805,18 @@ var stdin_default$E = vue.defineComponent({
8627
8805
  var _a;
8628
8806
  return vue.createVNode("div", {
8629
8807
  "ref": root,
8630
- "class": bem$z()
8808
+ "class": bem$y()
8631
8809
  }, [vue.createVNode("div", {
8632
8810
  "ref": barRef,
8633
8811
  "style": barStyle.value,
8634
- "class": bem$z("bar", {
8812
+ "class": bem$y("bar", {
8635
8813
  opened: opened.value
8636
8814
  })
8637
8815
  }, [children.map(renderTitle)]), (_a = slots.default) == null ? void 0 : _a.call(slots)]);
8638
8816
  };
8639
8817
  }
8640
8818
  });
8641
- const [name$x, bem$y] = createNamespace("dropdown-item");
8819
+ const [name$w, bem$x] = createNamespace("dropdown-item");
8642
8820
  const dropdownItemProps = {
8643
8821
  title: String,
8644
8822
  options: makeArrayProp(),
@@ -8648,8 +8826,8 @@ const dropdownItemProps = {
8648
8826
  modelValue: unknownProp,
8649
8827
  titleClass: unknownProp
8650
8828
  };
8651
- var stdin_default$D = vue.defineComponent({
8652
- name: name$x,
8829
+ var stdin_default$C = vue.defineComponent({
8830
+ name: name$w,
8653
8831
  props: dropdownItemProps,
8654
8832
  emits: ["open", "opened", "close", "closed", "change", "update:modelValue"],
8655
8833
  setup(props, {
@@ -8716,7 +8894,7 @@ var stdin_default$D = vue.defineComponent({
8716
8894
  const renderIcon = () => {
8717
8895
  if (active) {
8718
8896
  return vue.createVNode(Icon, {
8719
- "class": bem$y("icon"),
8897
+ "class": bem$x("icon"),
8720
8898
  "color": activeColor,
8721
8899
  "name": "success"
8722
8900
  }, null);
@@ -8727,7 +8905,7 @@ var stdin_default$D = vue.defineComponent({
8727
8905
  "key": option.value,
8728
8906
  "icon": option.icon,
8729
8907
  "title": option.text,
8730
- "class": bem$y("option", {
8908
+ "class": bem$x("option", {
8731
8909
  active
8732
8910
  }),
8733
8911
  "style": {
@@ -8759,13 +8937,13 @@ var stdin_default$D = vue.defineComponent({
8759
8937
  }
8760
8938
  return vue.withDirectives(vue.createVNode("div", {
8761
8939
  "style": style,
8762
- "class": bem$y([direction]),
8940
+ "class": bem$x([direction]),
8763
8941
  "onClick": onClickWrapper
8764
8942
  }, [vue.createVNode(Popup, {
8765
8943
  "show": state.showPopup,
8766
8944
  "onUpdate:show": ($event) => state.showPopup = $event,
8767
8945
  "role": "menu",
8768
- "class": bem$y("content"),
8946
+ "class": bem$x("content"),
8769
8947
  "overlay": overlay,
8770
8948
  "position": direction === "down" ? "top" : "bottom",
8771
8949
  "duration": state.transition ? duration : 0,
@@ -8803,147 +8981,8 @@ var stdin_default$D = vue.defineComponent({
8803
8981
  };
8804
8982
  }
8805
8983
  });
8806
- const DropdownItem = withInstall(stdin_default$D);
8807
- const DropdownMenu = withInstall(stdin_default$E);
8808
- const prefix = "van-empty-network-";
8809
- const renderStop = (color, offset, opacity) => vue.createVNode("stop", {
8810
- "stop-color": color,
8811
- "offset": `${offset}%`,
8812
- "stop-opacity": opacity
8813
- }, null);
8814
- const Network = vue.createVNode("svg", {
8815
- "viewBox": "0 0 160 160"
8816
- }, [vue.createVNode("defs", null, [vue.createVNode("linearGradient", {
8817
- "id": `${prefix}1`,
8818
- "x1": "64%",
8819
- "y1": "100%",
8820
- "x2": "64%"
8821
- }, [renderStop("#FFF", 0, 0.5), renderStop("#F2F3F5", 100)]), vue.createVNode("linearGradient", {
8822
- "id": `${prefix}2`,
8823
- "x1": "50%",
8824
- "x2": "50%",
8825
- "y2": "84%"
8826
- }, [renderStop("#EBEDF0", 0), renderStop("#DCDEE0", 100, 0)]), vue.createVNode("linearGradient", {
8827
- "id": `${prefix}3`,
8828
- "x1": "100%",
8829
- "x2": "100%",
8830
- "y2": "100%"
8831
- }, [renderStop("#EAEDF0", 0), renderStop("#DCDEE0", 100)]), vue.createVNode("radialGradient", {
8832
- "id": `${prefix}4`,
8833
- "cx": "50%",
8834
- "cy": "0%",
8835
- "fx": "50%",
8836
- "fy": "0%",
8837
- "r": "100%",
8838
- "gradientTransform": "matrix(0 1 -.54 0 .5 -.5)"
8839
- }, [renderStop("#EBEDF0", 0), renderStop("#FFF", 100, 0)])]), vue.createVNode("g", {
8840
- "fill": "none"
8841
- }, [vue.createVNode("g", {
8842
- "opacity": ".8"
8843
- }, [vue.createVNode("path", {
8844
- "d": "M36 131V53H16v20H2v58h34z",
8845
- "fill": `url(#${prefix}1)`
8846
- }, null), vue.createVNode("path", {
8847
- "d": "M123 15h22v14h9v77h-31V15z",
8848
- "fill": `url(#${prefix}1)`
8849
- }, null)]), vue.createVNode("path", {
8850
- "fill": `url(#${prefix}4)`,
8851
- "d": "M0 139h160v21H0z"
8852
- }, null), vue.createVNode("path", {
8853
- "d": "M80 54a7 7 0 0 1 3 13v27l-2 2h-2a2 2 0 0 1-2-2V67a7 7 0 0 1 3-13z",
8854
- "fill": `url(#${prefix}2)`
8855
- }, null), vue.createVNode("g", {
8856
- "opacity": ".6",
8857
- "stroke-linecap": "round",
8858
- "stroke-width": "7"
8859
- }, [vue.createVNode("path", {
8860
- "d": "M64 47a19 19 0 0 0-5 13c0 5 2 10 5 13",
8861
- "stroke": `url(#${prefix}3)`
8862
- }, null), vue.createVNode("path", {
8863
- "d": "M53 36a34 34 0 0 0 0 48",
8864
- "stroke": `url(#${prefix}3)`
8865
- }, null), vue.createVNode("path", {
8866
- "d": "M95 73a19 19 0 0 0 6-13c0-5-2-9-6-13",
8867
- "stroke": `url(#${prefix}3)`
8868
- }, null), vue.createVNode("path", {
8869
- "d": "M106 84a34 34 0 0 0 0-48",
8870
- "stroke": `url(#${prefix}3)`
8871
- }, null)]), vue.createVNode("g", {
8872
- "transform": "translate(31 105)"
8873
- }, [vue.createVNode("rect", {
8874
- "fill": "#EBEDF0",
8875
- "width": "98",
8876
- "height": "34",
8877
- "rx": "2"
8878
- }, null), vue.createVNode("rect", {
8879
- "fill": "#FFF",
8880
- "x": "9",
8881
- "y": "8",
8882
- "width": "80",
8883
- "height": "18",
8884
- "rx": "1.1"
8885
- }, null), vue.createVNode("rect", {
8886
- "fill": "#EBEDF0",
8887
- "x": "15",
8888
- "y": "12",
8889
- "width": "18",
8890
- "height": "6",
8891
- "rx": "1.1"
8892
- }, null)])])]);
8893
- const [name$w, bem$x] = createNamespace("empty");
8894
- const PRESET_IMAGES = ["error", "search", "default"];
8895
- const emptyProps = {
8896
- image: makeStringProp("default"),
8897
- imageSize: numericProp,
8898
- description: String
8899
- };
8900
- var stdin_default$C = vue.defineComponent({
8901
- name: name$w,
8902
- props: emptyProps,
8903
- setup(props, {
8904
- slots
8905
- }) {
8906
- const renderImage = () => {
8907
- if (slots.image) {
8908
- return slots.image();
8909
- }
8910
- let {
8911
- image
8912
- } = props;
8913
- if (image === "network") {
8914
- return Network;
8915
- }
8916
- if (PRESET_IMAGES.includes(image)) {
8917
- image = `https://img.yzcdn.cn/vant/empty-image-${image}.png`;
8918
- }
8919
- return vue.createVNode("img", {
8920
- "src": image
8921
- }, null);
8922
- };
8923
- const renderDescription = () => {
8924
- const description = slots.description ? slots.description() : props.description;
8925
- if (description) {
8926
- return vue.createVNode("p", {
8927
- "class": bem$x("description")
8928
- }, [description]);
8929
- }
8930
- };
8931
- const renderBottom = () => {
8932
- if (slots.default) {
8933
- return vue.createVNode("div", {
8934
- "class": bem$x("bottom")
8935
- }, [slots.default()]);
8936
- }
8937
- };
8938
- return () => vue.createVNode("div", {
8939
- "class": bem$x()
8940
- }, [vue.createVNode("div", {
8941
- "class": bem$x("image"),
8942
- "style": getSizeStyle(props.imageSize)
8943
- }, [renderImage()]), renderDescription(), renderBottom()]);
8944
- }
8945
- });
8946
- const Empty = withInstall(stdin_default$C);
8984
+ const DropdownItem = withInstall(stdin_default$C);
8985
+ const DropdownMenu = withInstall(stdin_default$D);
8947
8986
  const [name$v, bem$w] = createNamespace("grid");
8948
8987
  const gridProps = {
8949
8988
  square: Boolean,
@@ -9597,6 +9636,7 @@ var stdin_default$x = vue.defineComponent({
9597
9636
  children,
9598
9637
  linkChildren
9599
9638
  } = use.useChildren(INDEX_BAR_KEY);
9639
+ let selectActiveIndex;
9600
9640
  linkChildren({
9601
9641
  props
9602
9642
  });
@@ -9624,6 +9664,7 @@ var stdin_default$x = vue.defineComponent({
9624
9664
  }
9625
9665
  return -1;
9626
9666
  };
9667
+ const getMatchAnchor = (index) => children.find((item) => String(item.index) === index);
9627
9668
  const onScroll = () => {
9628
9669
  if (isHidden(root)) {
9629
9670
  return;
@@ -9635,7 +9676,16 @@ var stdin_default$x = vue.defineComponent({
9635
9676
  const scrollTop = getScrollTop(scrollParent.value);
9636
9677
  const scrollParentRect = use.useRect(scrollParent);
9637
9678
  const rects = children.map((item) => item.getRect(scrollParent.value, scrollParentRect));
9638
- const active = getActiveAnchor(scrollTop, rects);
9679
+ let active = -1;
9680
+ if (selectActiveIndex) {
9681
+ const match = getMatchAnchor(selectActiveIndex);
9682
+ if (match) {
9683
+ const rect = match.getRect(scrollParent.value, scrollParentRect);
9684
+ active = getActiveAnchor(rect.top, rects);
9685
+ }
9686
+ } else {
9687
+ active = getActiveAnchor(scrollTop, rects);
9688
+ }
9639
9689
  activeAnchor.value = indexList[active];
9640
9690
  if (sticky) {
9641
9691
  children.forEach((item, index) => {
@@ -9654,7 +9704,7 @@ var stdin_default$x = vue.defineComponent({
9654
9704
  if (index === active) {
9655
9705
  state.active = true;
9656
9706
  state.top = Math.max(props.stickyOffsetTop, rects[index].top - scrollTop) + scrollParentRect.top;
9657
- } else if (index === active - 1) {
9707
+ } else if (index === active - 1 && selectActiveIndex === "") {
9658
9708
  const activeItemTop = rects[active].top - scrollTop;
9659
9709
  state.active = activeItemTop > 0;
9660
9710
  state.top = activeItemTop + scrollParentRect.top - rects[index].height;
@@ -9663,6 +9713,7 @@ var stdin_default$x = vue.defineComponent({
9663
9713
  }
9664
9714
  });
9665
9715
  }
9716
+ selectActiveIndex = "";
9666
9717
  };
9667
9718
  const init = () => {
9668
9719
  vue.nextTick(onScroll);
@@ -9688,9 +9739,18 @@ var stdin_default$x = vue.defineComponent({
9688
9739
  }, [index]);
9689
9740
  });
9690
9741
  const scrollTo = (index) => {
9691
- index = String(index);
9692
- const match = children.find((item) => String(item.index) === index);
9742
+ selectActiveIndex = String(index);
9743
+ const match = getMatchAnchor(selectActiveIndex);
9693
9744
  if (match) {
9745
+ const scrollTop = getScrollTop(scrollParent.value);
9746
+ const scrollParentRect = use.useRect(scrollParent);
9747
+ const {
9748
+ offsetHeight
9749
+ } = document.documentElement;
9750
+ if (scrollTop === offsetHeight - scrollParentRect.height) {
9751
+ onScroll();
9752
+ return;
9753
+ }
9694
9754
  match.$el.scrollIntoView();
9695
9755
  if (props.sticky && props.stickyOffsetTop) {
9696
9756
  setRootScrollTop(getRootScrollTop() - props.stickyOffsetTop);
@@ -10024,10 +10084,10 @@ var stdin_default$u = vue.defineComponent({
10024
10084
  "ref": navBarRef,
10025
10085
  "style": style,
10026
10086
  "class": [bem$p({
10027
- fixed,
10028
- "safe-area-inset-top": props.safeAreaInsetTop
10087
+ fixed
10029
10088
  }), {
10030
- [BORDER_BOTTOM]: border
10089
+ [BORDER_BOTTOM]: border,
10090
+ "van-safe-area-top": props.safeAreaInsetTop
10031
10091
  }]
10032
10092
  }, [vue.createVNode("div", {
10033
10093
  "class": bem$p("content")
@@ -10416,6 +10476,15 @@ const numberKeyboardProps = {
10416
10476
  default: ""
10417
10477
  }
10418
10478
  };
10479
+ function shuffle(array) {
10480
+ for (let i = array.length - 1; i > 0; i--) {
10481
+ const j = Math.floor(Math.random() * (i + 1));
10482
+ const temp = array[i];
10483
+ array[i] = array[j];
10484
+ array[j] = temp;
10485
+ }
10486
+ return array;
10487
+ }
10419
10488
  var stdin_default$q = vue.defineComponent({
10420
10489
  name: name$l,
10421
10490
  props: numberKeyboardProps,
@@ -10430,7 +10499,7 @@ var stdin_default$q = vue.defineComponent({
10430
10499
  text: i + 1
10431
10500
  }));
10432
10501
  if (props.randomKeyOrder) {
10433
- keys2.sort(() => Math.random() > 0.5 ? 1 : -1);
10502
+ shuffle(keys2);
10434
10503
  }
10435
10504
  return keys2;
10436
10505
  };
@@ -11748,9 +11817,11 @@ const skeletonProps = {
11748
11817
  };
11749
11818
  var stdin_default$f = vue.defineComponent({
11750
11819
  name: name$a,
11820
+ inheritAttrs: false,
11751
11821
  props: skeletonProps,
11752
11822
  setup(props, {
11753
- slots
11823
+ slots,
11824
+ attrs
11754
11825
  }) {
11755
11826
  const renderAvatar = () => {
11756
11827
  if (props.avatar) {
@@ -11793,12 +11864,12 @@ var stdin_default$f = vue.defineComponent({
11793
11864
  if (!props.loading) {
11794
11865
  return (_a = slots.default) == null ? void 0 : _a.call(slots);
11795
11866
  }
11796
- return vue.createVNode("div", {
11867
+ return vue.createVNode("div", vue.mergeProps({
11797
11868
  "class": bem$a({
11798
11869
  animate: props.animate,
11799
11870
  round: props.round
11800
11871
  })
11801
- }, [renderAvatar(), vue.createVNode("div", {
11872
+ }, attrs), [renderAvatar(), vue.createVNode("div", {
11802
11873
  "class": bem$a("content")
11803
11874
  }, [renderTitle(), renderRows()])]);
11804
11875
  };
@@ -12689,7 +12760,7 @@ var stdin_default$9 = vue.defineComponent({
12689
12760
  return vue.createVNode("div", {
12690
12761
  "ref": root,
12691
12762
  "class": bem$4(),
12692
- "onClick": getClickHandler("cell"),
12763
+ "onClick": getClickHandler("cell", lockClick2),
12693
12764
  "onTouchstart": onTouchStart,
12694
12765
  "onTouchmove": onTouchMove,
12695
12766
  "onTouchend": onTouchEnd,
@@ -13046,7 +13117,7 @@ var stdin_default$5 = vue.defineComponent({
13046
13117
  imageFit: String,
13047
13118
  lazyLoad: Boolean,
13048
13119
  deletable: Boolean,
13049
- previewSize: numericProp,
13120
+ previewSize: [Number, String, Array],
13050
13121
  beforeDelete: Function
13051
13122
  },
13052
13123
  emits: ["delete", "preview"],
@@ -13120,16 +13191,19 @@ var stdin_default$5 = vue.defineComponent({
13120
13191
  };
13121
13192
  const renderPreview = () => {
13122
13193
  const {
13123
- item
13194
+ item,
13195
+ lazyLoad,
13196
+ imageFit,
13197
+ previewSize
13124
13198
  } = props;
13125
13199
  if (isImageFile(item)) {
13126
13200
  return vue.createVNode(Image$1, {
13127
- "fit": props.imageFit,
13201
+ "fit": imageFit,
13128
13202
  "src": item.content || item.url,
13129
13203
  "class": bem("preview-image"),
13130
- "width": props.previewSize,
13131
- "height": props.previewSize,
13132
- "lazyLoad": props.lazyLoad,
13204
+ "width": Array.isArray(previewSize) ? previewSize[0] : previewSize,
13205
+ "height": Array.isArray(previewSize) ? previewSize[1] : previewSize,
13206
+ "lazyLoad": lazyLoad,
13133
13207
  "onClick": onPreview
13134
13208
  }, {
13135
13209
  default: renderCover
@@ -13169,7 +13243,7 @@ const uploaderProps = {
13169
13243
  modelValue: makeArrayProp(),
13170
13244
  beforeRead: Function,
13171
13245
  beforeDelete: Function,
13172
- previewSize: numericProp,
13246
+ previewSize: [Number, String, Array],
13173
13247
  previewImage: truthProp,
13174
13248
  previewOptions: Object,
13175
13249
  previewFullImage: truthProp,
@@ -14236,7 +14310,7 @@ const Lazyload = {
14236
14310
  });
14237
14311
  }
14238
14312
  };
14239
- const version = "3.4.4";
14313
+ const version = "3.4.7";
14240
14314
  function install(app) {
14241
14315
  const components = [
14242
14316
  ActionBar,