vant 3.6.1 → 3.6.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 (315) hide show
  1. package/README.md +4 -5
  2. package/changelog.generated.md +33 -43
  3. package/es/action-bar/ActionBar.d.ts +1 -1
  4. package/es/action-bar/index.d.ts +1 -1
  5. package/es/action-bar-button/ActionBarButton.d.ts +1 -1
  6. package/es/action-bar-button/index.d.ts +1 -1
  7. package/es/action-bar-icon/ActionBarIcon.d.ts +1 -1
  8. package/es/action-bar-icon/index.d.ts +1 -1
  9. package/es/badge/Badge.d.ts +1 -1
  10. package/es/badge/index.d.ts +1 -1
  11. package/es/calendar/Calendar.mjs +4 -3
  12. package/es/cell/Cell.d.ts +1 -1
  13. package/es/cell/index.d.ts +1 -1
  14. package/es/cell-group/CellGroup.d.ts +1 -1
  15. package/es/cell-group/index.d.ts +1 -1
  16. package/es/col/Col.d.ts +1 -1
  17. package/es/col/index.d.ts +1 -1
  18. package/es/collapse-item/CollapseItem.d.ts +1 -1
  19. package/es/collapse-item/index.d.ts +1 -1
  20. package/es/composables/use-lazy-render.mjs +9 -5
  21. package/es/composables/use-lock-scroll.mjs +4 -1
  22. package/es/composables/use-visibility-change.mjs +6 -3
  23. package/es/config-provider/ConfigProvider.d.ts +1 -1
  24. package/es/config-provider/index.d.ts +1 -1
  25. package/es/coupon/Coupon.d.ts +1 -1
  26. package/es/coupon/index.d.ts +1 -1
  27. package/es/coupon/utils.mjs +3 -1
  28. package/es/coupon-cell/CouponCell.d.ts +1 -1
  29. package/es/coupon-cell/index.d.ts +1 -1
  30. package/es/datetime-picker/DatetimePicker.d.ts +1 -1
  31. package/es/datetime-picker/index.d.ts +1 -1
  32. package/es/dialog/index.css +1 -1
  33. package/es/dialog/index.less +4 -0
  34. package/es/dialog/types.d.ts +1 -1
  35. package/es/divider/Divider.d.ts +1 -1
  36. package/es/divider/index.d.ts +1 -1
  37. package/es/dropdown-item/DropdownItem.d.ts +2 -2
  38. package/es/dropdown-item/index.d.ts +2 -2
  39. package/es/dropdown-menu/DropdownMenu.d.ts +1 -1
  40. package/es/dropdown-menu/index.d.ts +1 -1
  41. package/es/empty/Empty.d.ts +1 -1
  42. package/es/empty/index.d.ts +1 -1
  43. package/es/field/Field.mjs +10 -3
  44. package/es/grid/Grid.d.ts +1 -1
  45. package/es/grid/index.d.ts +1 -1
  46. package/es/grid-item/GridItem.d.ts +1 -1
  47. package/es/grid-item/index.d.ts +1 -1
  48. package/es/icon/Icon.d.ts +1 -1
  49. package/es/icon/index.d.ts +1 -1
  50. package/es/image/Image.d.ts +4 -0
  51. package/es/image/Image.mjs +3 -1
  52. package/es/image/index.css +1 -1
  53. package/es/image/index.d.ts +3 -0
  54. package/es/image/index.less +4 -0
  55. package/es/image-preview/ImagePreviewItem.mjs +10 -2
  56. package/es/index-anchor/IndexAnchor.d.ts +1 -1
  57. package/es/index-anchor/index.d.ts +1 -1
  58. package/es/index-bar/IndexBar.mjs +7 -3
  59. package/es/index.d.ts +1 -1
  60. package/es/index.mjs +1 -1
  61. package/es/lazyload/vue-lazyload/lazy-component.mjs +4 -1
  62. package/es/lazyload/vue-lazyload/lazy-container.mjs +11 -7
  63. package/es/lazyload/vue-lazyload/lazy-image.mjs +24 -14
  64. package/es/lazyload/vue-lazyload/lazy.mjs +11 -3
  65. package/es/lazyload/vue-lazyload/listener.mjs +45 -33
  66. package/es/lazyload/vue-lazyload/util.mjs +4 -1
  67. package/es/loading/Loading.d.ts +1 -1
  68. package/es/loading/index.d.ts +1 -1
  69. package/es/number-keyboard/NumberKeyboard.d.ts +1 -1
  70. package/es/number-keyboard/index.d.ts +1 -1
  71. package/es/overlay/Overlay.d.ts +1 -1
  72. package/es/overlay/Overlay.mjs +13 -6
  73. package/es/overlay/index.d.ts +1 -1
  74. package/es/picker/Picker.mjs +7 -3
  75. package/es/picker/PickerColumn.mjs +6 -2
  76. package/es/popup/Popup.d.ts +2 -2
  77. package/es/popup/index.d.ts +2 -2
  78. package/es/popup/shared.mjs +3 -1
  79. package/es/progress/Progress.d.ts +1 -1
  80. package/es/progress/index.d.ts +1 -1
  81. package/es/rate/Rate.mjs +5 -3
  82. package/es/row/Row.d.ts +1 -1
  83. package/es/row/index.d.ts +1 -1
  84. package/es/skeleton/Skeleton.d.ts +1 -1
  85. package/es/skeleton/index.d.ts +1 -1
  86. package/es/slider/Slider.mjs +6 -2
  87. package/es/space/Space.d.ts +1 -1
  88. package/es/space/index.d.ts +1 -1
  89. package/es/step/Step.d.ts +1 -1
  90. package/es/step/index.d.ts +1 -1
  91. package/es/swipe/Swipe.mjs +13 -6
  92. package/es/swipe-cell/SwipeCell.d.ts +2 -2
  93. package/es/swipe-cell/SwipeCell.mjs +4 -2
  94. package/es/swipe-cell/index.d.ts +2 -2
  95. package/es/swipe-item/SwipeItem.d.ts +1 -1
  96. package/es/swipe-item/index.d.ts +1 -1
  97. package/es/tab/Tab.d.ts +1 -1
  98. package/es/tab/Tab.mjs +12 -2
  99. package/es/tab/index.d.ts +1 -1
  100. package/es/tabs/Tabs.d.ts +1 -1
  101. package/es/tabs/Tabs.mjs +11 -11
  102. package/es/tabs/TabsTitle.d.ts +1 -1
  103. package/es/tabs/index.d.ts +1 -1
  104. package/es/utils/basic.mjs +2 -1
  105. package/es/utils/create.mjs +8 -2
  106. package/es/utils/with-install.d.ts +2 -2
  107. package/es/utils/with-install.mjs +4 -2
  108. package/lib/action-bar/ActionBar.d.ts +1 -1
  109. package/lib/action-bar/index.d.ts +1 -1
  110. package/lib/action-bar/index.js +4 -1
  111. package/lib/action-bar-button/ActionBarButton.d.ts +1 -1
  112. package/lib/action-bar-button/index.d.ts +1 -1
  113. package/lib/action-bar-button/index.js +4 -1
  114. package/lib/action-bar-icon/ActionBarIcon.d.ts +1 -1
  115. package/lib/action-bar-icon/index.d.ts +1 -1
  116. package/lib/action-bar-icon/index.js +4 -1
  117. package/lib/action-sheet/index.js +4 -1
  118. package/lib/address-edit/AddressEdit.js +4 -1
  119. package/lib/address-edit/index.js +4 -1
  120. package/lib/address-list/AddressList.js +4 -1
  121. package/lib/address-list/index.js +4 -1
  122. package/lib/area/index.js +4 -1
  123. package/lib/badge/Badge.d.ts +1 -1
  124. package/lib/badge/index.d.ts +1 -1
  125. package/lib/badge/index.js +4 -1
  126. package/lib/button/index.js +4 -1
  127. package/lib/calendar/Calendar.js +8 -4
  128. package/lib/calendar/CalendarMonth.js +4 -1
  129. package/lib/calendar/index.js +4 -1
  130. package/lib/card/index.js +4 -1
  131. package/lib/cascader/index.js +4 -1
  132. package/lib/cell/Cell.d.ts +1 -1
  133. package/lib/cell/index.d.ts +1 -1
  134. package/lib/cell/index.js +4 -1
  135. package/lib/cell-group/CellGroup.d.ts +1 -1
  136. package/lib/cell-group/index.d.ts +1 -1
  137. package/lib/cell-group/index.js +4 -1
  138. package/lib/checkbox/Checkbox.js +4 -1
  139. package/lib/checkbox/index.js +4 -1
  140. package/lib/checkbox-group/index.js +4 -1
  141. package/lib/circle/index.js +4 -1
  142. package/lib/col/Col.d.ts +1 -1
  143. package/lib/col/index.d.ts +1 -1
  144. package/lib/col/index.js +4 -1
  145. package/lib/collapse/index.js +4 -1
  146. package/lib/collapse-item/CollapseItem.d.ts +1 -1
  147. package/lib/collapse-item/index.d.ts +1 -1
  148. package/lib/collapse-item/index.js +4 -1
  149. package/lib/composables/use-lazy-render.js +9 -5
  150. package/lib/composables/use-lock-scroll.js +4 -1
  151. package/lib/composables/use-visibility-change.js +6 -3
  152. package/lib/config-provider/ConfigProvider.d.ts +1 -1
  153. package/lib/config-provider/index.d.ts +1 -1
  154. package/lib/config-provider/index.js +4 -1
  155. package/lib/contact-card/index.js +4 -1
  156. package/lib/contact-edit/index.js +4 -1
  157. package/lib/contact-list/index.js +4 -1
  158. package/lib/count-down/index.js +4 -1
  159. package/lib/coupon/Coupon.d.ts +1 -1
  160. package/lib/coupon/index.d.ts +1 -1
  161. package/lib/coupon/index.js +4 -1
  162. package/lib/coupon/utils.js +3 -1
  163. package/lib/coupon-cell/CouponCell.d.ts +1 -1
  164. package/lib/coupon-cell/index.d.ts +1 -1
  165. package/lib/coupon-cell/index.js +4 -1
  166. package/lib/coupon-list/index.js +4 -1
  167. package/lib/datetime-picker/DatetimePicker.d.ts +1 -1
  168. package/lib/datetime-picker/DatetimePicker.js +4 -1
  169. package/lib/datetime-picker/index.d.ts +1 -1
  170. package/lib/datetime-picker/index.js +4 -1
  171. package/lib/dialog/function-call.js +4 -1
  172. package/lib/dialog/index.css +1 -1
  173. package/lib/dialog/index.less +4 -0
  174. package/lib/dialog/types.d.ts +1 -1
  175. package/lib/divider/Divider.d.ts +1 -1
  176. package/lib/divider/index.d.ts +1 -1
  177. package/lib/divider/index.js +4 -1
  178. package/lib/dropdown-item/DropdownItem.d.ts +2 -2
  179. package/lib/dropdown-item/index.d.ts +2 -2
  180. package/lib/dropdown-item/index.js +4 -1
  181. package/lib/dropdown-menu/DropdownMenu.d.ts +1 -1
  182. package/lib/dropdown-menu/index.d.ts +1 -1
  183. package/lib/dropdown-menu/index.js +4 -1
  184. package/lib/empty/Empty.d.ts +1 -1
  185. package/lib/empty/index.d.ts +1 -1
  186. package/lib/empty/index.js +4 -1
  187. package/lib/field/Field.js +9 -2
  188. package/lib/field/index.js +4 -1
  189. package/lib/form/index.js +4 -1
  190. package/lib/grid/Grid.d.ts +1 -1
  191. package/lib/grid/index.d.ts +1 -1
  192. package/lib/grid/index.js +4 -1
  193. package/lib/grid-item/GridItem.d.ts +1 -1
  194. package/lib/grid-item/index.d.ts +1 -1
  195. package/lib/grid-item/index.js +4 -1
  196. package/lib/icon/Icon.d.ts +1 -1
  197. package/lib/icon/index.d.ts +1 -1
  198. package/lib/icon/index.js +4 -1
  199. package/lib/image/Image.d.ts +4 -0
  200. package/lib/image/Image.js +3 -1
  201. package/lib/image/index.css +1 -1
  202. package/lib/image/index.d.ts +3 -0
  203. package/lib/image/index.js +4 -1
  204. package/lib/image/index.less +4 -0
  205. package/lib/image-preview/ImagePreview.js +4 -1
  206. package/lib/image-preview/ImagePreviewItem.js +9 -1
  207. package/lib/image-preview/function-call.js +4 -1
  208. package/lib/index-anchor/IndexAnchor.d.ts +1 -1
  209. package/lib/index-anchor/index.d.ts +1 -1
  210. package/lib/index-anchor/index.js +4 -1
  211. package/lib/index-bar/IndexBar.js +7 -3
  212. package/lib/index-bar/index.js +4 -1
  213. package/lib/index.css +1 -1
  214. package/lib/index.d.ts +1 -1
  215. package/lib/index.js +1 -1
  216. package/lib/lazyload/vue-lazyload/index.js +4 -1
  217. package/lib/lazyload/vue-lazyload/lazy-component.js +4 -1
  218. package/lib/lazyload/vue-lazyload/lazy-container.js +11 -7
  219. package/lib/lazyload/vue-lazyload/lazy-image.js +24 -14
  220. package/lib/lazyload/vue-lazyload/lazy.js +15 -4
  221. package/lib/lazyload/vue-lazyload/listener.js +45 -33
  222. package/lib/lazyload/vue-lazyload/util.js +4 -1
  223. package/lib/list/index.js +4 -1
  224. package/lib/loading/Loading.d.ts +1 -1
  225. package/lib/loading/index.d.ts +1 -1
  226. package/lib/loading/index.js +4 -1
  227. package/lib/locale/index.js +4 -1
  228. package/lib/nav-bar/index.js +4 -1
  229. package/lib/notice-bar/index.js +4 -1
  230. package/lib/notify/function-call.js +4 -1
  231. package/lib/number-keyboard/NumberKeyboard.d.ts +1 -1
  232. package/lib/number-keyboard/NumberKeyboard.js +4 -1
  233. package/lib/number-keyboard/index.d.ts +1 -1
  234. package/lib/number-keyboard/index.js +4 -1
  235. package/lib/overlay/Overlay.d.ts +1 -1
  236. package/lib/overlay/Overlay.js +11 -4
  237. package/lib/overlay/index.d.ts +1 -1
  238. package/lib/overlay/index.js +4 -1
  239. package/lib/pagination/index.js +4 -1
  240. package/lib/password-input/index.js +4 -1
  241. package/lib/picker/Picker.js +10 -3
  242. package/lib/picker/PickerColumn.js +5 -1
  243. package/lib/picker/index.js +4 -1
  244. package/lib/popover/index.js +4 -1
  245. package/lib/popup/Popup.d.ts +2 -2
  246. package/lib/popup/index.d.ts +2 -2
  247. package/lib/popup/index.js +4 -1
  248. package/lib/popup/shared.js +3 -1
  249. package/lib/progress/Progress.d.ts +1 -1
  250. package/lib/progress/index.d.ts +1 -1
  251. package/lib/progress/index.js +4 -1
  252. package/lib/pull-refresh/index.js +4 -1
  253. package/lib/radio/Radio.js +4 -1
  254. package/lib/radio/index.js +4 -1
  255. package/lib/radio-group/index.js +4 -1
  256. package/lib/rate/Rate.js +4 -2
  257. package/lib/rate/index.js +4 -1
  258. package/lib/row/Row.d.ts +1 -1
  259. package/lib/row/index.d.ts +1 -1
  260. package/lib/row/index.js +4 -1
  261. package/lib/search/index.js +4 -1
  262. package/lib/share-sheet/index.js +4 -1
  263. package/lib/sidebar/index.js +4 -1
  264. package/lib/sidebar-item/index.js +4 -1
  265. package/lib/skeleton/Skeleton.d.ts +1 -1
  266. package/lib/skeleton/index.d.ts +1 -1
  267. package/lib/skeleton/index.js +4 -1
  268. package/lib/slider/Slider.js +5 -1
  269. package/lib/slider/index.js +4 -1
  270. package/lib/space/Space.d.ts +1 -1
  271. package/lib/space/index.d.ts +1 -1
  272. package/lib/space/index.js +4 -1
  273. package/lib/step/Step.d.ts +1 -1
  274. package/lib/step/index.d.ts +1 -1
  275. package/lib/step/index.js +4 -1
  276. package/lib/stepper/index.js +4 -1
  277. package/lib/steps/index.js +4 -1
  278. package/lib/sticky/index.js +4 -1
  279. package/lib/submit-bar/index.js +4 -1
  280. package/lib/swipe/Swipe.js +12 -5
  281. package/lib/swipe/index.js +4 -1
  282. package/lib/swipe-cell/SwipeCell.d.ts +2 -2
  283. package/lib/swipe-cell/SwipeCell.js +3 -1
  284. package/lib/swipe-cell/index.d.ts +2 -2
  285. package/lib/swipe-cell/index.js +4 -1
  286. package/lib/swipe-item/SwipeItem.d.ts +1 -1
  287. package/lib/swipe-item/index.d.ts +1 -1
  288. package/lib/swipe-item/index.js +4 -1
  289. package/lib/switch/index.js +4 -1
  290. package/lib/tab/Tab.d.ts +1 -1
  291. package/lib/tab/Tab.js +11 -1
  292. package/lib/tab/index.d.ts +1 -1
  293. package/lib/tab/index.js +4 -1
  294. package/lib/tabbar/index.js +4 -1
  295. package/lib/tabbar-item/index.js +4 -1
  296. package/lib/tabs/Tabs.d.ts +1 -1
  297. package/lib/tabs/Tabs.js +15 -12
  298. package/lib/tabs/TabsTitle.d.ts +1 -1
  299. package/lib/tabs/index.d.ts +1 -1
  300. package/lib/tabs/index.js +4 -1
  301. package/lib/tag/index.js +4 -1
  302. package/lib/toast/function-call.js +4 -1
  303. package/lib/tree-select/index.js +4 -1
  304. package/lib/uploader/Uploader.js +4 -1
  305. package/lib/uploader/index.js +4 -1
  306. package/lib/utils/basic.js +2 -1
  307. package/lib/utils/create.js +12 -3
  308. package/lib/utils/with-install.d.ts +2 -2
  309. package/lib/utils/with-install.js +4 -2
  310. package/lib/vant.cjs.js +248 -126
  311. package/lib/vant.es.js +248 -126
  312. package/lib/vant.js +290 -151
  313. package/lib/vant.min.js +1 -1
  314. package/lib/web-types.json +1389 -1379
  315. package/package.json +8 -7
@@ -43,7 +43,7 @@ export declare const NumberKeyboard: import("../utils").WithInstall<import("vue"
43
43
  type: import("vue").PropType<string | string[]>;
44
44
  default: string;
45
45
  };
46
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "blur" | "update:modelValue" | "hide" | "show" | "close" | "delete")[], "input" | "blur" | "update:modelValue" | "hide" | "show" | "close" | "delete", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
46
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("input" | "blur" | "update:modelValue" | "close" | "hide" | "show" | "delete")[], "input" | "blur" | "update:modelValue" | "close" | "hide" | "show" | "delete", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
47
47
  show: BooleanConstructor;
48
48
  title: StringConstructor;
49
49
  theme: {
@@ -29,7 +29,7 @@ declare const _default: import("vue").DefineComponent<{
29
29
  default: true;
30
30
  };
31
31
  customStyle: PropType<CSSProperties>;
32
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
32
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
33
33
  show: BooleanConstructor;
34
34
  zIndex: (NumberConstructor | StringConstructor)[];
35
35
  duration: (NumberConstructor | StringConstructor)[];
@@ -1,6 +1,7 @@
1
1
  import { withDirectives as _withDirectives, createVNode as _createVNode, vShow as _vShow } from "vue";
2
- import { Transition, defineComponent } from "vue";
3
- import { noop, isDef, extend, truthProp, numericProp, unknownProp, preventDefault, createNamespace, getZIndexStyle } from "../utils/index.mjs";
2
+ import { ref, Transition, defineComponent } from "vue";
3
+ import { isDef, extend, truthProp, numericProp, unknownProp, preventDefault, createNamespace, getZIndexStyle } from "../utils/index.mjs";
4
+ import { useEventListener } from "@vant/use";
4
5
  import { useLazyRender } from "../composables/use-lazy-render.mjs";
5
6
  const [name, bem] = createNamespace("overlay");
6
7
  const overlayProps = {
@@ -18,9 +19,12 @@ var stdin_default = defineComponent({
18
19
  setup(props, {
19
20
  slots
20
21
  }) {
22
+ const root = ref();
21
23
  const lazyRender = useLazyRender(() => props.show || !props.lazyRender);
22
- const preventTouchMove = (event) => {
23
- preventDefault(event, true);
24
+ const onTouchMove = (event) => {
25
+ if (props.lockScroll) {
26
+ preventDefault(event, true);
27
+ }
24
28
  };
25
29
  const renderOverlay = lazyRender(() => {
26
30
  var _a;
@@ -29,11 +33,14 @@ var stdin_default = defineComponent({
29
33
  style.animationDuration = `${props.duration}s`;
30
34
  }
31
35
  return _withDirectives(_createVNode("div", {
36
+ "ref": root,
32
37
  "style": style,
33
- "class": [bem(), props.className],
34
- "onTouchmove": props.lockScroll ? preventTouchMove : noop
38
+ "class": [bem(), props.className]
35
39
  }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]), [[_vShow, props.show]]);
36
40
  });
41
+ useEventListener("touchmove", onTouchMove, {
42
+ target: root
43
+ });
37
44
  return () => _createVNode(Transition, {
38
45
  "name": "van-fade",
39
46
  "appear": true
@@ -12,7 +12,7 @@ export declare const Overlay: import("../utils").WithInstall<import("vue").Defin
12
12
  default: true;
13
13
  };
14
14
  customStyle: import("vue").PropType<import("vue").CSSProperties>;
15
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
15
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
16
16
  show: BooleanConstructor;
17
17
  zIndex: (NumberConstructor | StringConstructor)[];
18
18
  duration: (NumberConstructor | StringConstructor)[];
@@ -1,7 +1,7 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
2
  import { ref, watch, computed, defineComponent } from "vue";
3
3
  import { extend, unitToPx, truthProp, makeArrayProp, preventDefault, makeStringProp, makeNumericProp, createNamespace, HAPTICS_FEEDBACK, BORDER_UNSET_TOP_BOTTOM } from "../utils/index.mjs";
4
- import { useChildren } from "@vant/use";
4
+ import { useChildren, useEventListener } from "@vant/use";
5
5
  import { useExpose } from "../composables/use-expose.mjs";
6
6
  import { Loading } from "../loading/index.mjs";
7
7
  import Column, { PICKER_KEY } from "./PickerColumn.mjs";
@@ -42,6 +42,7 @@ var stdin_default = defineComponent({
42
42
  }
43
43
  }
44
44
  const hasOptions = ref(false);
45
+ const columnsRef = ref();
45
46
  const formattedColumns = ref([]);
46
47
  const columnsFieldNames = computed(() => {
47
48
  const {
@@ -278,14 +279,17 @@ var stdin_default = defineComponent({
278
279
  height: `${wrapHeight}px`
279
280
  };
280
281
  return _createVNode("div", {
282
+ "ref": columnsRef,
281
283
  "class": bem("columns"),
282
- "style": columnsStyle,
283
- "onTouchmove": preventDefault
284
+ "style": columnsStyle
284
285
  }, [renderColumnItems(), renderMask(wrapHeight)]);
285
286
  };
286
287
  watch(() => props.columns, format, {
287
288
  immediate: true
288
289
  });
290
+ useEventListener("touchmove", preventDefault, {
291
+ target: columnsRef
292
+ });
289
293
  useExpose({
290
294
  confirm,
291
295
  getValues,
@@ -2,7 +2,7 @@ import { createVNode as _createVNode } from "vue";
2
2
  import { ref, watch, reactive, defineComponent } from "vue";
3
3
  import { deepClone } from "../utils/deep-clone.mjs";
4
4
  import { clamp, isObject, unknownProp, numericProp, makeArrayProp, makeNumberProp, preventDefault, createNamespace, makeRequiredProp } from "../utils/index.mjs";
5
- import { useParent } from "@vant/use";
5
+ import { useEventListener, useParent } from "@vant/use";
6
6
  import { useTouch } from "../composables/use-touch.mjs";
7
7
  import { useExpose } from "../composables/use-expose.mjs";
8
8
  const DEFAULT_DURATION = 200;
@@ -41,6 +41,7 @@ var stdin_default = defineComponent({
41
41
  let touchStartTime;
42
42
  let momentumOffset;
43
43
  let transitionEndTrigger;
44
+ const root = ref();
44
45
  const wrapper = ref();
45
46
  const state = reactive({
46
47
  index: props.defaultIndex,
@@ -216,10 +217,13 @@ var stdin_default = defineComponent({
216
217
  });
217
218
  watch(() => props.initialOptions, setOptions);
218
219
  watch(() => props.defaultIndex, (value) => setIndex(value));
220
+ useEventListener("touchmove", onTouchMove, {
221
+ target: root
222
+ });
219
223
  return () => _createVNode("div", {
224
+ "ref": root,
220
225
  "class": [bem(), props.className],
221
226
  "onTouchstartPassive": onTouchStart,
222
- "onTouchmove": onTouchMove,
223
227
  "onTouchend": onTouchEnd,
224
228
  "onTouchcancel": onTouchEnd
225
229
  }, [_createVNode("ul", {
@@ -92,7 +92,7 @@ declare const _default: import("vue").DefineComponent<{
92
92
  };
93
93
  safeAreaInsetTop: BooleanConstructor;
94
94
  safeAreaInsetBottom: BooleanConstructor;
95
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("open" | "close" | "keydown" | "opened" | "closed" | "update:show" | "click-overlay" | "click-close-icon")[], "open" | "close" | "keydown" | "opened" | "closed" | "update:show" | "click-overlay" | "click-close-icon", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
95
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "keydown" | "open" | "opened" | "closed" | "update:show" | "click-overlay" | "click-close-icon")[], "open" | "close" | "keydown" | "opened" | "closed" | "update:show" | "click-overlay" | "click-close-icon", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
96
96
  show: BooleanConstructor;
97
97
  zIndex: (NumberConstructor | StringConstructor)[];
98
98
  overlay: {
@@ -139,8 +139,8 @@ declare const _default: import("vue").DefineComponent<{
139
139
  safeAreaInsetBottom: BooleanConstructor;
140
140
  }>> & {
141
141
  onKeydown?: ((...args: any[]) => any) | undefined;
142
- onOpen?: ((...args: any[]) => any) | undefined;
143
142
  onClose?: ((...args: any[]) => any) | undefined;
143
+ onOpen?: ((...args: any[]) => any) | undefined;
144
144
  onOpened?: ((...args: any[]) => any) | undefined;
145
145
  onClosed?: ((...args: any[]) => any) | undefined;
146
146
  "onUpdate:show"?: ((...args: any[]) => any) | undefined;
@@ -43,7 +43,7 @@ export declare const Popup: import("../utils").WithInstall<import("vue").DefineC
43
43
  };
44
44
  safeAreaInsetTop: BooleanConstructor;
45
45
  safeAreaInsetBottom: BooleanConstructor;
46
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("open" | "close" | "keydown" | "opened" | "closed" | "update:show" | "click-overlay" | "click-close-icon")[], "open" | "close" | "keydown" | "opened" | "closed" | "update:show" | "click-overlay" | "click-close-icon", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
46
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "keydown" | "open" | "opened" | "closed" | "update:show" | "click-overlay" | "click-close-icon")[], "open" | "close" | "keydown" | "opened" | "closed" | "update:show" | "click-overlay" | "click-close-icon", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
47
47
  show: BooleanConstructor;
48
48
  zIndex: (NumberConstructor | StringConstructor)[];
49
49
  overlay: {
@@ -90,8 +90,8 @@ export declare const Popup: import("../utils").WithInstall<import("vue").DefineC
90
90
  safeAreaInsetBottom: BooleanConstructor;
91
91
  }>> & {
92
92
  onKeydown?: ((...args: any[]) => any) | undefined;
93
- onOpen?: ((...args: any[]) => any) | undefined;
94
93
  onClose?: ((...args: any[]) => any) | undefined;
94
+ onOpen?: ((...args: any[]) => any) | undefined;
95
95
  onOpened?: ((...args: any[]) => any) | undefined;
96
96
  onClosed?: ((...args: any[]) => any) | undefined;
97
97
  "onUpdate:show"?: ((...args: any[]) => any) | undefined;
@@ -13,7 +13,9 @@ const popupSharedProps = {
13
13
  transitionAppear: Boolean,
14
14
  closeOnClickOverlay: truthProp
15
15
  };
16
- const popupSharedPropKeys = Object.keys(popupSharedProps);
16
+ const popupSharedPropKeys = Object.keys(
17
+ popupSharedProps
18
+ );
17
19
  export {
18
20
  popupSharedPropKeys,
19
21
  popupSharedProps
@@ -36,7 +36,7 @@ declare const _default: import("vue").DefineComponent<{
36
36
  default: number;
37
37
  validator: (value: Numeric) => boolean;
38
38
  };
39
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
39
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
40
40
  color: StringConstructor;
41
41
  inactive: BooleanConstructor;
42
42
  pivotText: StringConstructor;
@@ -16,7 +16,7 @@ export declare const Progress: import("../utils").WithInstall<import("vue").Defi
16
16
  default: number;
17
17
  validator: (value: import("../utils").Numeric) => boolean;
18
18
  };
19
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
19
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
20
20
  color: StringConstructor;
21
21
  inactive: BooleanConstructor;
22
22
  pivotText: StringConstructor;
package/es/rate/Rate.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
2
  import { computed, defineComponent, ref } from "vue";
3
3
  import { addUnit, truthProp, numericProp, preventDefault, makeStringProp, makeNumberProp, makeNumericProp, createNamespace } from "../utils/index.mjs";
4
- import { useRect, useCustomFieldValue } from "@vant/use";
4
+ import { useRect, useCustomFieldValue, useEventListener } from "@vant/use";
5
5
  import { useRefs } from "../composables/use-refs.mjs";
6
6
  import { useTouch } from "../composables/use-touch.mjs";
7
7
  import { Icon } from "../icon/index.mjs";
@@ -197,6 +197,9 @@ var stdin_default = defineComponent({
197
197
  }, null)]);
198
198
  };
199
199
  useCustomFieldValue(() => props.modelValue);
200
+ useEventListener("touchmove", onTouchMove, {
201
+ target: groupRef
202
+ });
200
203
  return () => _createVNode("div", {
201
204
  "ref": groupRef,
202
205
  "role": "radiogroup",
@@ -207,8 +210,7 @@ var stdin_default = defineComponent({
207
210
  "tabindex": props.disabled ? void 0 : 0,
208
211
  "aria-disabled": props.disabled,
209
212
  "aria-readonly": props.readonly,
210
- "onTouchstartPassive": onTouchStart,
211
- "onTouchmove": onTouchMove
213
+ "onTouchstartPassive": onTouchStart
212
214
  }, [list.value.map(renderStar)]);
213
215
  }
214
216
  });
package/es/row/Row.d.ts CHANGED
@@ -41,7 +41,7 @@ declare const _default: import("vue").DefineComponent<{
41
41
  default: number;
42
42
  };
43
43
  justify: PropType<RowJustify>;
44
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
44
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
45
45
  tag: {
46
46
  type: PropType<keyof HTMLElementTagNameMap>;
47
47
  default: keyof HTMLElementTagNameMap;
package/es/row/index.d.ts CHANGED
@@ -13,7 +13,7 @@ export declare const Row: import("../utils").WithInstall<import("vue").DefineCom
13
13
  default: number;
14
14
  };
15
15
  justify: import("vue").PropType<import("./Row").RowJustify>;
16
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
16
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
17
17
  tag: {
18
18
  type: import("vue").PropType<keyof HTMLElementTagNameMap>;
19
19
  default: keyof HTMLElementTagNameMap;
@@ -57,7 +57,7 @@ declare const _default: import("vue").DefineComponent<{
57
57
  };
58
58
  }, () => JSX.Element | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
59
59
  [key: string]: any;
60
- }>[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
60
+ }>[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
61
61
  row: {
62
62
  type: (NumberConstructor | StringConstructor)[];
63
63
  default: number;
@@ -26,7 +26,7 @@ export declare const Skeleton: import("../utils").WithInstall<import("vue").Defi
26
26
  };
27
27
  }, () => JSX.Element | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
28
28
  [key: string]: any;
29
- }>[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
29
+ }>[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
30
30
  row: {
31
31
  type: (NumberConstructor | StringConstructor)[];
32
32
  default: number;
@@ -1,7 +1,7 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
2
  import { ref, computed, defineComponent } from "vue";
3
3
  import { clamp, addUnit, addNumber, numericProp, getSizeStyle, preventDefault, stopPropagation, createNamespace, makeNumericProp } from "../utils/index.mjs";
4
- import { useRect, useCustomFieldValue } from "@vant/use";
4
+ import { useRect, useCustomFieldValue, useEventListener } from "@vant/use";
5
5
  import { useTouch } from "../composables/use-touch.mjs";
6
6
  const [name, bem] = createNamespace("slider");
7
7
  const sliderProps = {
@@ -34,6 +34,7 @@ var stdin_default = defineComponent({
34
34
  let current;
35
35
  let startValue;
36
36
  const root = ref();
37
+ const slider = ref();
37
38
  const dragStatus = ref();
38
39
  const touch = useTouch();
39
40
  const scope = computed(() => Number(props.max) - Number(props.min));
@@ -226,6 +227,7 @@ var stdin_default = defineComponent({
226
227
  const renderButton = (index) => {
227
228
  const current2 = typeof index === "number" ? props.modelValue[index] : props.modelValue;
228
229
  return _createVNode("div", {
230
+ "ref": slider,
229
231
  "role": "slider",
230
232
  "class": getButtonClassName(index),
231
233
  "tabindex": props.disabled ? void 0 : 0,
@@ -241,7 +243,6 @@ var stdin_default = defineComponent({
241
243
  }
242
244
  onTouchStart(event);
243
245
  },
244
- "onTouchmove": onTouchMove,
245
246
  "onTouchend": onTouchEnd,
246
247
  "onTouchcancel": onTouchEnd,
247
248
  "onClick": stopPropagation
@@ -249,6 +250,9 @@ var stdin_default = defineComponent({
249
250
  };
250
251
  updateValue(props.modelValue);
251
252
  useCustomFieldValue(() => props.modelValue);
253
+ useEventListener("touchmove", onTouchMove, {
254
+ target: slider
255
+ });
252
256
  return () => _createVNode("div", {
253
257
  "ref": root,
254
258
  "style": wrapperStyle.value,
@@ -27,7 +27,7 @@ declare const _default: import("vue").DefineComponent<{
27
27
  };
28
28
  wrap: BooleanConstructor;
29
29
  fill: BooleanConstructor;
30
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
30
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
31
31
  align: PropType<SpaceAlign>;
32
32
  direction: {
33
33
  type: PropType<"vertical" | "horizontal">;
@@ -10,7 +10,7 @@ export declare const Space: import("../utils").WithInstall<import("vue").DefineC
10
10
  };
11
11
  wrap: BooleanConstructor;
12
12
  fill: BooleanConstructor;
13
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
13
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
14
14
  align: import("vue").PropType<import("./Space").SpaceAlign>;
15
15
  direction: {
16
16
  type: import("vue").PropType<"vertical" | "horizontal">;
package/es/step/Step.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, (() => JSX.Element) | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1
+ declare const _default: import("vue").DefineComponent<{}, (() => JSX.Element) | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
2
  export default _default;
@@ -1,4 +1,4 @@
1
- export declare const Step: import("../utils").WithInstall<import("vue").DefineComponent<{}, (() => JSX.Element) | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
1
+ export declare const Step: import("../utils").WithInstall<import("vue").DefineComponent<{}, (() => JSX.Element) | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
2
2
  export default Step;
3
3
  declare module 'vue' {
4
4
  interface GlobalComponents {
@@ -1,7 +1,7 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
2
  import { ref, watch, reactive, computed, onMounted, onActivated, onDeactivated, onBeforeUnmount, defineComponent, nextTick } from "vue";
3
3
  import { clamp, isHidden, truthProp, numericProp, windowWidth, windowHeight, preventDefault, createNamespace, makeNumericProp } from "../utils/index.mjs";
4
- import { doubleRaf, useChildren, usePageVisibility } from "@vant/use";
4
+ import { doubleRaf, useChildren, useEventListener, usePageVisibility } from "@vant/use";
5
5
  import { useTouch } from "../composables/use-touch.mjs";
6
6
  import { useExpose } from "../composables/use-expose.mjs";
7
7
  import { onPopupReopen } from "../composables/on-popup-reopen.mjs";
@@ -30,6 +30,7 @@ var stdin_default = defineComponent({
30
30
  slots
31
31
  }) {
32
32
  const root = ref();
33
+ const track = ref();
33
34
  const state = reactive({
34
35
  rect: null,
35
36
  width: 0,
@@ -216,10 +217,13 @@ var stdin_default = defineComponent({
216
217
  if (props.touchable && state.swiping) {
217
218
  touch.move(event);
218
219
  if (isCorrectDirection.value) {
219
- preventDefault(event, props.stopPropagation);
220
- move({
221
- offset: delta.value
222
- });
220
+ const isEdgeTouch = !props.loop && (state.active === 0 && delta.value > 0 || state.active === count.value - 1 && delta.value < 0);
221
+ if (!isEdgeTouch) {
222
+ preventDefault(event, props.stopPropagation);
223
+ move({
224
+ offset: delta.value
225
+ });
226
+ }
223
227
  }
224
228
  }
225
229
  };
@@ -329,18 +333,21 @@ var stdin_default = defineComponent({
329
333
  onPopupReopen(() => initialize(state.active));
330
334
  onDeactivated(stopAutoplay);
331
335
  onBeforeUnmount(stopAutoplay);
336
+ useEventListener("touchmove", onTouchMove, {
337
+ target: track
338
+ });
332
339
  return () => {
333
340
  var _a;
334
341
  return _createVNode("div", {
335
342
  "ref": root,
336
343
  "class": bem()
337
344
  }, [_createVNode("div", {
345
+ "ref": track,
338
346
  "style": trackStyle.value,
339
347
  "class": bem("track", {
340
348
  vertical: props.vertical
341
349
  }),
342
350
  "onTouchstartPassive": onTouchStart,
343
- "onTouchmove": onTouchMove,
344
351
  "onTouchend": onTouchEnd,
345
352
  "onTouchcancel": onTouchEnd
346
353
  }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]), renderIndicator()]);
@@ -22,7 +22,7 @@ declare const _default: import("vue").DefineComponent<{
22
22
  rightWidth: (NumberConstructor | StringConstructor)[];
23
23
  beforeClose: PropType<Interceptor>;
24
24
  stopPropagation: BooleanConstructor;
25
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("open" | "click" | "close")[], "open" | "click" | "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
25
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "close" | "open")[], "open" | "click" | "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
26
26
  name: {
27
27
  type: (NumberConstructor | StringConstructor)[];
28
28
  default: string;
@@ -34,8 +34,8 @@ declare const _default: import("vue").DefineComponent<{
34
34
  stopPropagation: BooleanConstructor;
35
35
  }>> & {
36
36
  onClick?: ((...args: any[]) => any) | undefined;
37
- onOpen?: ((...args: any[]) => any) | undefined;
38
37
  onClose?: ((...args: any[]) => any) | undefined;
38
+ onOpen?: ((...args: any[]) => any) | undefined;
39
39
  }, {
40
40
  name: string | number;
41
41
  disabled: boolean;
@@ -1,7 +1,7 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
2
  import { ref, reactive, computed, defineComponent } from "vue";
3
3
  import { clamp, isDef, numericProp, preventDefault, callInterceptor, createNamespace, makeNumericProp } from "../utils/index.mjs";
4
- import { useRect, useClickAway } from "@vant/use";
4
+ import { useRect, useClickAway, useEventListener } from "@vant/use";
5
5
  import { useTouch } from "../composables/use-touch.mjs";
6
6
  import { useExpose } from "../composables/use-expose.mjs";
7
7
  const [name, bem] = createNamespace("swipe-cell");
@@ -134,6 +134,9 @@ var stdin_default = defineComponent({
134
134
  useClickAway(root, () => onClick("outside"), {
135
135
  eventName: "touchstart"
136
136
  });
137
+ useEventListener("touchmove", onTouchMove, {
138
+ target: root
139
+ });
137
140
  return () => {
138
141
  var _a;
139
142
  const wrapperStyle = {
@@ -145,7 +148,6 @@ var stdin_default = defineComponent({
145
148
  "class": bem(),
146
149
  "onClick": getClickHandler("cell", lockClick),
147
150
  "onTouchstartPassive": onTouchStart,
148
- "onTouchmove": onTouchMove,
149
151
  "onTouchend": onTouchEnd,
150
152
  "onTouchcancel": onTouchEnd
151
153
  }, [_createVNode("div", {
@@ -9,7 +9,7 @@ export declare const SwipeCell: import("../utils").WithInstall<import("vue").Def
9
9
  rightWidth: (NumberConstructor | StringConstructor)[];
10
10
  beforeClose: import("vue").PropType<import("../utils").Interceptor>;
11
11
  stopPropagation: BooleanConstructor;
12
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("open" | "click" | "close")[], "open" | "click" | "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
12
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "close" | "open")[], "open" | "click" | "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
13
13
  name: {
14
14
  type: (NumberConstructor | StringConstructor)[];
15
15
  default: string;
@@ -21,8 +21,8 @@ export declare const SwipeCell: import("../utils").WithInstall<import("vue").Def
21
21
  stopPropagation: BooleanConstructor;
22
22
  }>> & {
23
23
  onClick?: ((...args: any[]) => any) | undefined;
24
- onOpen?: ((...args: any[]) => any) | undefined;
25
24
  onClose?: ((...args: any[]) => any) | undefined;
25
+ onOpen?: ((...args: any[]) => any) | undefined;
26
26
  }, {
27
27
  name: string | number;
28
28
  disabled: boolean;
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, (() => JSX.Element) | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1
+ declare const _default: import("vue").DefineComponent<{}, (() => JSX.Element) | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
2
  export default _default;
@@ -1,4 +1,4 @@
1
- export declare const SwipeItem: import("../utils").WithInstall<import("vue").DefineComponent<{}, (() => JSX.Element) | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
1
+ export declare const SwipeItem: import("../utils").WithInstall<import("vue").DefineComponent<{}, (() => JSX.Element) | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
2
2
  export default SwipeItem;
3
3
  declare module 'vue' {
4
4
  interface GlobalComponents {
package/es/tab/Tab.d.ts CHANGED
@@ -33,7 +33,7 @@ declare const _default: import("vue").DefineComponent<{
33
33
  type: BooleanConstructor;
34
34
  default: true;
35
35
  };
36
- }, (() => JSX.Element | undefined) | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
36
+ }, (() => JSX.Element | undefined) | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
37
37
  to: PropType<import("vue-router").RouteLocationRaw>;
38
38
  url: StringConstructor;
39
39
  replace: BooleanConstructor;
package/es/tab/Tab.mjs CHANGED
@@ -2,7 +2,7 @@ import { withDirectives as _withDirectives, vShow as _vShow, createVNode as _cre
2
2
  import { ref, watch, provide, computed, nextTick, defineComponent } from "vue";
3
3
  import { extend, truthProp, unknownProp, numericProp, createNamespace } from "../utils/index.mjs";
4
4
  import { TABS_KEY } from "../tabs/Tabs.mjs";
5
- import { useParent } from "@vant/use";
5
+ import { doubleRaf, useParent } from "@vant/use";
6
6
  import { useId } from "../composables/use-id.mjs";
7
7
  import { useExpose } from "../composables/use-expose.mjs";
8
8
  import { routeProps } from "../composables/use-route.mjs";
@@ -56,6 +56,16 @@ var stdin_default = defineComponent({
56
56
  }
57
57
  return isActive;
58
58
  });
59
+ const hasInactiveClass = ref(!active.value);
60
+ watch(active, (val) => {
61
+ if (val) {
62
+ hasInactiveClass.value = false;
63
+ } else {
64
+ doubleRaf(() => {
65
+ hasInactiveClass.value = true;
66
+ });
67
+ }
68
+ });
59
69
  watch(() => props.title, () => {
60
70
  parent.setLine();
61
71
  parent.scrollIntoView();
@@ -79,7 +89,7 @@ var stdin_default = defineComponent({
79
89
  "id": id,
80
90
  "role": "tabpanel",
81
91
  "class": bem("panel-wrapper", {
82
- inactive: !active.value
92
+ inactive: hasInactiveClass.value
83
93
  }),
84
94
  "tabindex": active.value ? 0 : -1,
85
95
  "aria-hidden": !active.value,
package/es/tab/index.d.ts CHANGED
@@ -14,7 +14,7 @@ export declare const Tab: import("../utils").WithInstall<import("vue").DefineCom
14
14
  type: BooleanConstructor;
15
15
  default: true;
16
16
  };
17
- }, (() => JSX.Element | undefined) | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
17
+ }, (() => JSX.Element | undefined) | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
18
18
  to: import("vue").PropType<import("vue-router").RouteLocationRaw>;
19
19
  url: StringConstructor;
20
20
  replace: BooleanConstructor;
package/es/tabs/Tabs.d.ts CHANGED
@@ -88,7 +88,7 @@ declare const _default: import("vue").DefineComponent<{
88
88
  };
89
89
  titleActiveColor: StringConstructor;
90
90
  titleInactiveColor: StringConstructor;
91
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("scroll" | "disabled" | "click" | "change" | "rendered" | "click-tab" | "update:active")[], "scroll" | "disabled" | "click" | "change" | "rendered" | "click-tab" | "update:active", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
91
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("scroll" | "disabled" | "change" | "click" | "rendered" | "click-tab" | "update:active")[], "scroll" | "disabled" | "change" | "click" | "rendered" | "click-tab" | "update:active", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
92
92
  type: {
93
93
  type: PropType<TabsType>;
94
94
  default: TabsType;
package/es/tabs/Tabs.mjs CHANGED
@@ -143,7 +143,7 @@ var stdin_default = defineComponent({
143
143
  index += diff;
144
144
  }
145
145
  };
146
- const setCurrentIndex = (currentIndex) => {
146
+ const setCurrentIndex = (currentIndex, skipScrollIntoView) => {
147
147
  const newIndex = findAvailableTab(currentIndex);
148
148
  if (!isDef(newIndex)) {
149
149
  return;
@@ -158,11 +158,18 @@ var stdin_default = defineComponent({
158
158
  emit("change", newName, newTab.title);
159
159
  }
160
160
  }
161
+ if (!skipScrollIntoView) {
162
+ scrollIntoView();
163
+ }
164
+ setLine();
165
+ if (stickyFixed && !props.scrollspy) {
166
+ setRootScrollTop(Math.ceil(getElementTop(root.value) - offsetTopPx.value));
167
+ }
161
168
  };
162
- const setCurrentIndexByName = (name2) => {
169
+ const setCurrentIndexByName = (name2, skipScrollIntoView) => {
163
170
  const matched = children.find((tab, index2) => getTabName(tab, index2) === name2);
164
171
  const index = matched ? children.indexOf(matched) : 0;
165
- setCurrentIndex(index);
172
+ setCurrentIndex(index, skipScrollIntoView);
166
173
  };
167
174
  const scrollToCurrentContent = (immediate = false) => {
168
175
  if (props.scrollspy) {
@@ -292,15 +299,8 @@ var stdin_default = defineComponent({
292
299
  });
293
300
  }
294
301
  });
295
- watch(() => state.currentIndex, () => {
296
- scrollIntoView();
297
- setLine();
298
- if (stickyFixed && !props.scrollspy) {
299
- setRootScrollTop(Math.ceil(getElementTop(root.value) - offsetTopPx.value));
300
- }
301
- });
302
302
  const init = () => {
303
- setCurrentIndexByName(props.active);
303
+ setCurrentIndexByName(props.active, true);
304
304
  nextTick(() => {
305
305
  state.inited = true;
306
306
  if (wrapRef.value) {