vant 3.2.8 → 3.3.0

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 (171) hide show
  1. package/es/address-edit/AddressEdit.js +155 -180
  2. package/es/address-edit/AddressEditDetail.d.ts +10 -9
  3. package/es/address-edit/AddressEditDetail.js +6 -6
  4. package/es/button/Button.js +2 -2
  5. package/es/calendar/CalendarHeader.js +1 -3
  6. package/es/cascader/Cascader.js +10 -2
  7. package/es/checkbox/Checker.js +1 -1
  8. package/es/checkbox/types.d.ts +2 -6
  9. package/es/composables/use-id.d.ts +1 -0
  10. package/es/composables/use-id.js +14 -0
  11. package/es/composables/use-route.d.ts +1 -1
  12. package/es/composables/use-route.js +4 -4
  13. package/es/count-down/CountDown.js +1 -0
  14. package/es/coupon-list/CouponList.js +40 -24
  15. package/es/coupon-list/index.css +1 -1
  16. package/es/coupon-list/index.less +0 -5
  17. package/es/dropdown-item/DropdownItem.js +7 -2
  18. package/es/dropdown-item/types.d.ts +2 -6
  19. package/es/dropdown-menu/DropdownMenu.js +7 -3
  20. package/es/dropdown-menu/types.d.ts +1 -0
  21. package/es/empty/Network.js +22 -34
  22. package/es/field/Field.d.ts +1 -1
  23. package/es/field/Field.js +13 -5
  24. package/es/field/index.d.ts +2 -2
  25. package/es/field/types.d.ts +7 -6
  26. package/es/form/Form.js +2 -2
  27. package/es/image/Image.js +4 -9
  28. package/es/image-preview/ImagePreview.js +3 -4
  29. package/es/index.d.ts +1 -1
  30. package/es/index.js +1 -1
  31. package/es/lazyload/index.d.ts +1 -1
  32. package/es/lazyload/index.js +1 -1
  33. package/es/lazyload/vue-lazyload/index.d.ts +55 -0
  34. package/es/lazyload/vue-lazyload/index.js +46 -0
  35. package/es/lazyload/vue-lazyload/lazy-component.js +53 -0
  36. package/es/lazyload/vue-lazyload/lazy-container.js +98 -0
  37. package/es/lazyload/vue-lazyload/lazy-image.js +115 -0
  38. package/es/lazyload/vue-lazyload/lazy.js +507 -0
  39. package/es/lazyload/vue-lazyload/listener.js +241 -0
  40. package/es/lazyload/vue-lazyload/util.js +183 -0
  41. package/es/list/List.js +3 -1
  42. package/es/number-keyboard/NumberKeyboardKey.js +4 -4
  43. package/es/pagination/Pagination.js +67 -49
  44. package/es/pagination/index.css +1 -1
  45. package/es/pagination/index.less +32 -31
  46. package/es/password-input/PasswordInput.d.ts +1 -1
  47. package/es/password-input/index.d.ts +1 -1
  48. package/es/popover/Popover.js +2 -0
  49. package/es/popup/Popup.d.ts +1 -2
  50. package/es/popup/Popup.js +2 -5
  51. package/es/popup/index.d.ts +1 -2
  52. package/es/rate/Rate.js +5 -3
  53. package/es/search/Search.js +8 -2
  54. package/es/sidebar/Sidebar.js +1 -0
  55. package/es/sidebar-item/SidebarItem.js +4 -1
  56. package/es/slider/Slider.js +5 -3
  57. package/es/stepper/Stepper.js +11 -8
  58. package/es/swipe/Swipe.js +3 -4
  59. package/es/swipe/types.d.ts +1 -3
  60. package/es/switch/Switch.js +1 -0
  61. package/es/switch/index.css +1 -1
  62. package/es/switch/index.less +2 -0
  63. package/es/tab/Tab.js +17 -4
  64. package/es/tab/index.css +1 -1
  65. package/es/tab/index.less +1 -1
  66. package/es/tabbar/Tabbar.d.ts +1 -1
  67. package/es/tabbar/Tabbar.js +10 -10
  68. package/es/tabbar-item/TabbarItem.js +11 -4
  69. package/es/tabs/Tabs.js +10 -5
  70. package/es/tabs/TabsTitle.d.ts +6 -0
  71. package/es/tabs/TabsTitle.js +7 -1
  72. package/es/tabs/types.d.ts +1 -0
  73. package/es/uploader/UploaderPreviewItem.js +4 -1
  74. package/es/uploader/utils.d.ts +2 -2
  75. package/es/uploader/utils.js +2 -2
  76. package/es/utils/dom.d.ts +1 -0
  77. package/es/utils/dom.js +6 -2
  78. package/es/utils/format.js +6 -5
  79. package/es/vue-tsx-shim.d.ts +1 -0
  80. package/lib/address-edit/AddressEdit.js +156 -180
  81. package/lib/address-edit/AddressEditDetail.d.ts +10 -9
  82. package/lib/address-edit/AddressEditDetail.js +6 -6
  83. package/lib/button/Button.js +1 -1
  84. package/lib/calendar/CalendarHeader.js +1 -3
  85. package/lib/cascader/Cascader.js +10 -2
  86. package/lib/checkbox/Checker.js +1 -1
  87. package/lib/checkbox/types.d.ts +2 -6
  88. package/lib/composables/use-id.d.ts +1 -0
  89. package/lib/composables/use-id.js +21 -0
  90. package/lib/composables/use-route.d.ts +1 -1
  91. package/lib/composables/use-route.js +4 -4
  92. package/lib/count-down/CountDown.js +1 -0
  93. package/lib/coupon-list/CouponList.js +39 -22
  94. package/lib/coupon-list/index.css +1 -1
  95. package/lib/coupon-list/index.less +0 -5
  96. package/lib/dropdown-item/DropdownItem.js +7 -2
  97. package/lib/dropdown-item/types.d.ts +2 -6
  98. package/lib/dropdown-menu/DropdownMenu.js +7 -2
  99. package/lib/dropdown-menu/types.d.ts +1 -0
  100. package/lib/empty/Network.js +22 -34
  101. package/lib/field/Field.d.ts +1 -1
  102. package/lib/field/Field.js +14 -5
  103. package/lib/field/index.d.ts +2 -2
  104. package/lib/field/types.d.ts +7 -6
  105. package/lib/form/Form.js +1 -1
  106. package/lib/image/Image.js +4 -9
  107. package/lib/image-preview/ImagePreview.js +1 -2
  108. package/lib/index.css +1 -1
  109. package/lib/index.d.ts +1 -1
  110. package/lib/index.js +1 -1
  111. package/lib/lazyload/index.d.ts +1 -1
  112. package/lib/lazyload/index.js +3 -3
  113. package/lib/lazyload/vue-lazyload/index.d.ts +55 -0
  114. package/lib/lazyload/vue-lazyload/index.js +58 -0
  115. package/lib/lazyload/vue-lazyload/lazy-component.js +62 -0
  116. package/lib/lazyload/vue-lazyload/lazy-container.js +106 -0
  117. package/lib/lazyload/vue-lazyload/lazy-image.js +125 -0
  118. package/lib/lazyload/vue-lazyload/lazy.js +520 -0
  119. package/lib/lazyload/vue-lazyload/listener.js +251 -0
  120. package/lib/lazyload/vue-lazyload/util.js +213 -0
  121. package/lib/list/List.js +3 -1
  122. package/lib/number-keyboard/NumberKeyboardKey.js +3 -3
  123. package/lib/pagination/Pagination.js +65 -47
  124. package/lib/pagination/index.css +1 -1
  125. package/lib/pagination/index.less +32 -31
  126. package/lib/password-input/PasswordInput.d.ts +1 -1
  127. package/lib/password-input/index.d.ts +1 -1
  128. package/lib/popover/Popover.js +2 -0
  129. package/lib/popup/Popup.d.ts +1 -2
  130. package/lib/popup/Popup.js +2 -5
  131. package/lib/popup/index.d.ts +1 -2
  132. package/lib/rate/Rate.js +5 -3
  133. package/lib/search/Search.js +9 -2
  134. package/lib/sidebar/Sidebar.js +1 -0
  135. package/lib/sidebar-item/SidebarItem.js +4 -1
  136. package/lib/slider/Slider.js +5 -3
  137. package/lib/stepper/Stepper.js +11 -8
  138. package/lib/swipe/Swipe.js +1 -2
  139. package/lib/swipe/types.d.ts +1 -3
  140. package/lib/switch/Switch.js +1 -0
  141. package/lib/switch/index.css +1 -1
  142. package/lib/switch/index.less +2 -0
  143. package/lib/tab/Tab.js +19 -4
  144. package/lib/tab/index.css +1 -1
  145. package/lib/tab/index.less +1 -1
  146. package/lib/tabbar/Tabbar.d.ts +1 -1
  147. package/lib/tabbar/Tabbar.js +10 -10
  148. package/lib/tabbar-item/TabbarItem.js +11 -4
  149. package/lib/tabs/Tabs.js +9 -3
  150. package/lib/tabs/TabsTitle.d.ts +6 -0
  151. package/lib/tabs/TabsTitle.js +7 -1
  152. package/lib/tabs/types.d.ts +1 -0
  153. package/lib/uploader/UploaderPreviewItem.js +3 -0
  154. package/lib/uploader/utils.d.ts +2 -2
  155. package/lib/uploader/utils.js +3 -2
  156. package/lib/utils/dom.d.ts +1 -0
  157. package/lib/utils/dom.js +9 -2
  158. package/lib/utils/format.js +7 -5
  159. package/lib/vant.es.js +1086 -1068
  160. package/lib/vant.es.min.js +1086 -1068
  161. package/lib/vant.js +1085 -1067
  162. package/lib/vant.min.js +1 -1
  163. package/lib/vue-tsx-shim.d.ts +1 -0
  164. package/package.json +4 -4
  165. package/vetur/attributes.json +340 -340
  166. package/vetur/tags.json +119 -119
  167. package/vetur/web-types.json +1143 -1143
  168. package/es/composables/use-link-field.d.ts +0 -0
  169. package/es/composables/use-link-field.js +0 -0
  170. package/lib/composables/use-link-field.d.ts +0 -0
  171. package/lib/composables/use-link-field.js +0 -1
@@ -1,4 +1,5 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
+ id: StringConstructor;
2
3
  dot: BooleanConstructor;
3
4
  type: StringConstructor;
4
5
  color: StringConstructor;
@@ -6,6 +7,7 @@ declare const _default: import("vue").DefineComponent<{
6
7
  badge: (NumberConstructor | StringConstructor)[];
7
8
  isActive: BooleanConstructor;
8
9
  disabled: BooleanConstructor;
10
+ controls: StringConstructor;
9
11
  scrollable: BooleanConstructor;
10
12
  activeColor: StringConstructor;
11
13
  renderTitle: FunctionConstructor;
@@ -15,6 +17,7 @@ declare const _default: import("vue").DefineComponent<{
15
17
  default: true;
16
18
  };
17
19
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("@vue/runtime-core").ComponentCustomProps, Readonly<{
20
+ id?: unknown;
18
21
  dot?: unknown;
19
22
  type?: unknown;
20
23
  color?: unknown;
@@ -22,6 +25,7 @@ declare const _default: import("vue").DefineComponent<{
22
25
  badge?: unknown;
23
26
  isActive?: unknown;
24
27
  disabled?: unknown;
28
+ controls?: unknown;
25
29
  scrollable?: unknown;
26
30
  activeColor?: unknown;
27
31
  renderTitle?: unknown;
@@ -38,6 +42,8 @@ declare const _default: import("vue").DefineComponent<{
38
42
  badge?: string | number | undefined;
39
43
  title?: string | undefined;
40
44
  color?: string | undefined;
45
+ controls?: string | undefined;
46
+ id?: string | undefined;
41
47
  activeColor?: string | undefined;
42
48
  inactiveColor?: string | undefined;
43
49
  renderTitle?: Function | undefined;
@@ -14,6 +14,7 @@ var [name, bem] = (0, _utils.createNamespace)('tab');
14
14
  var _default = (0, _vue.defineComponent)({
15
15
  name,
16
16
  props: {
17
+ id: String,
17
18
  dot: Boolean,
18
19
  type: String,
19
20
  color: String,
@@ -21,6 +22,7 @@ var _default = (0, _vue.defineComponent)({
21
22
  badge: _utils.numericProp,
22
23
  isActive: Boolean,
23
24
  disabled: Boolean,
25
+ controls: String,
24
26
  scrollable: Boolean,
25
27
  activeColor: String,
26
28
  renderTitle: Function,
@@ -83,13 +85,17 @@ var _default = (0, _vue.defineComponent)({
83
85
  };
84
86
 
85
87
  return () => (0, _vue.createVNode)("div", {
88
+ "id": props.id,
86
89
  "role": "tab",
87
90
  "class": [bem({
88
91
  active: props.isActive,
89
92
  disabled: props.disabled
90
93
  })],
91
94
  "style": style.value,
92
- "aria-selected": props.isActive
95
+ "tabindex": props.disabled ? undefined : props.isActive ? 0 : -1,
96
+ "aria-selected": props.isActive,
97
+ "aria-disabled": props.disabled || undefined,
98
+ "aria-controls": props.controls
93
99
  }, [renderText()]);
94
100
  }
95
101
 
@@ -8,6 +8,7 @@ export declare type TabsClickTabEventParams = {
8
8
  disabled: boolean;
9
9
  };
10
10
  export declare type TabsProvide = {
11
+ id: string;
11
12
  props: TabsProps;
12
13
  setLine: () => void;
13
14
  onRendered: (name: string | number, title?: string) => void;
@@ -80,7 +80,10 @@ var _default = (0, _vue.defineComponent)({
80
80
  var renderDeleteIcon = () => {
81
81
  if (props.deletable && props.item.status !== 'uploading') {
82
82
  return (0, _vue.createVNode)("div", {
83
+ "role": "button",
83
84
  "class": (0, _utils.bem)('preview-delete'),
85
+ "tabindex": 0,
86
+ "aria-label": (0, _utils.t)('delete'),
84
87
  "onClick": onDelete
85
88
  }, [(0, _vue.createVNode)(_icon.Icon, {
86
89
  "name": "cross",
@@ -1,6 +1,6 @@
1
1
  import type { UploaderMaxSize, UploaderResultType, UploaderFileListItem } from './types';
2
- declare const name: string, bem: (el?: import("../utils").Mods | undefined, mods?: import("../utils").Mods | undefined) => import("../utils").Mods;
3
- export { name, bem };
2
+ declare const name: string, bem: (el?: import("../utils").Mods | undefined, mods?: import("../utils").Mods | undefined) => import("../utils").Mods, t: (path: string, ...args: unknown[]) => any;
3
+ export { name, bem, t };
4
4
  export declare const toArray: <T>(item: T | T[]) => T[];
5
5
  export declare function readFileContent(file: File, resultType: UploaderResultType): Promise<string | void>;
6
6
  export declare function isOversize(items: UploaderFileListItem | UploaderFileListItem[], maxSize: UploaderMaxSize): boolean;
@@ -8,11 +8,12 @@ exports.isImageUrl = void 0;
8
8
  exports.isOversize = isOversize;
9
9
  exports.name = void 0;
10
10
  exports.readFileContent = readFileContent;
11
- exports.toArray = void 0;
11
+ exports.toArray = exports.t = void 0;
12
12
 
13
13
  var _utils = require("../utils");
14
14
 
15
- var [name, bem] = (0, _utils.createNamespace)('uploader');
15
+ var [name, bem, t] = (0, _utils.createNamespace)('uploader');
16
+ exports.t = t;
16
17
  exports.bem = bem;
17
18
  exports.name = name;
18
19
 
@@ -9,3 +9,4 @@ export declare function resetScroll(): void;
9
9
  export declare const stopPropagation: (event: Event) => void;
10
10
  export declare function preventDefault(event: Event, isStopPropagation?: boolean): void;
11
11
  export declare function isHidden(elementRef: HTMLElement | Ref<HTMLElement | undefined>): boolean;
12
+ export declare const windowWidth: Ref<number>, windowHeight: Ref<number>;
package/lib/utils/dom.js CHANGED
@@ -9,7 +9,7 @@ exports.preventDefault = preventDefault;
9
9
  exports.resetScroll = resetScroll;
10
10
  exports.setRootScrollTop = setRootScrollTop;
11
11
  exports.setScrollTop = setScrollTop;
12
- exports.stopPropagation = void 0;
12
+ exports.windowWidth = exports.windowHeight = exports.stopPropagation = void 0;
13
13
 
14
14
  var _use = require("@vant/use");
15
15
 
@@ -88,4 +88,11 @@ function isHidden(elementRef) {
88
88
 
89
89
  var parentHidden = el.offsetParent === null && style.position !== 'fixed';
90
90
  return hidden || parentHidden;
91
- }
91
+ }
92
+
93
+ var {
94
+ width: windowWidth,
95
+ height: windowHeight
96
+ } = (0, _use.useWindowSize)();
97
+ exports.windowHeight = windowHeight;
98
+ exports.windowWidth = windowWidth;
@@ -13,14 +13,16 @@ exports.unitToPx = unitToPx;
13
13
 
14
14
  var _basic = require("./basic");
15
15
 
16
+ var _dom = require("./dom");
17
+
16
18
  var _validate = require("./validate");
17
19
 
18
20
  function addUnit(value) {
19
- if (!(0, _validate.isDef)(value)) {
20
- return undefined;
21
+ if ((0, _validate.isDef)(value)) {
22
+ return (0, _validate.isNumeric)(value) ? value + "px" : String(value);
21
23
  }
22
24
 
23
- return (0, _validate.isNumeric)(value) ? value + "px" : String(value);
25
+ return undefined;
24
26
  }
25
27
 
26
28
  function getSizeStyle(originSize) {
@@ -63,12 +65,12 @@ function convertRem(value) {
63
65
 
64
66
  function convertVw(value) {
65
67
  value = value.replace(/vw/g, '');
66
- return +value * window.innerWidth / 100;
68
+ return +value * _dom.windowWidth.value / 100;
67
69
  }
68
70
 
69
71
  function convertVh(value) {
70
72
  value = value.replace(/vh/g, '');
71
- return +value * window.innerHeight / 100;
73
+ return +value * _dom.windowHeight.value / 100;
72
74
  }
73
75
 
74
76
  function unitToPx(value) {