vant 3.2.8 → 3.3.3-beta.nuxt3

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 (189) hide show
  1. package/es/address-edit/AddressEdit.js +154 -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/Calendar.js +8 -14
  6. package/es/calendar/CalendarHeader.js +1 -3
  7. package/es/calendar/CalendarMonth.js +11 -10
  8. package/es/calendar/types.d.ts +1 -1
  9. package/es/cascader/Cascader.js +10 -2
  10. package/es/checkbox/Checker.js +1 -1
  11. package/es/checkbox/types.d.ts +2 -6
  12. package/es/composables/use-id.d.ts +1 -0
  13. package/es/composables/use-id.js +14 -0
  14. package/es/composables/use-route.d.ts +1 -1
  15. package/es/composables/use-route.js +4 -4
  16. package/es/count-down/CountDown.js +1 -0
  17. package/es/coupon-list/CouponList.js +40 -24
  18. package/es/coupon-list/index.css +1 -1
  19. package/es/coupon-list/index.less +0 -5
  20. package/es/dropdown-item/DropdownItem.js +7 -2
  21. package/es/dropdown-item/types.d.ts +2 -6
  22. package/es/dropdown-menu/DropdownMenu.js +7 -3
  23. package/es/dropdown-menu/types.d.ts +1 -0
  24. package/es/empty/Network.js +22 -34
  25. package/es/field/Field.d.ts +1 -1
  26. package/es/field/Field.js +13 -5
  27. package/es/field/index.d.ts +2 -2
  28. package/es/field/types.d.ts +7 -6
  29. package/es/form/Form.js +2 -2
  30. package/es/image/Image.js +4 -9
  31. package/es/image-preview/ImagePreview.js +3 -4
  32. package/es/index.d.ts +1 -1
  33. package/es/index.js +1 -1
  34. package/es/lazyload/index.d.ts +1 -1
  35. package/es/lazyload/index.js +1 -1
  36. package/es/lazyload/vue-lazyload/index.d.ts +55 -0
  37. package/es/lazyload/vue-lazyload/index.js +46 -0
  38. package/es/lazyload/vue-lazyload/lazy-component.js +53 -0
  39. package/es/lazyload/vue-lazyload/lazy-container.js +98 -0
  40. package/es/lazyload/vue-lazyload/lazy-image.js +115 -0
  41. package/es/lazyload/vue-lazyload/lazy.js +507 -0
  42. package/es/lazyload/vue-lazyload/listener.js +241 -0
  43. package/es/lazyload/vue-lazyload/util.js +183 -0
  44. package/es/list/List.js +3 -1
  45. package/es/locale/lang/pt-BR.d.ts +73 -0
  46. package/es/locale/lang/pt-BR.js +72 -0
  47. package/es/number-keyboard/NumberKeyboardKey.js +4 -4
  48. package/es/pagination/Pagination.js +67 -49
  49. package/es/pagination/index.css +1 -1
  50. package/es/pagination/index.less +32 -31
  51. package/es/password-input/PasswordInput.d.ts +1 -1
  52. package/es/password-input/index.d.ts +1 -1
  53. package/es/popover/Popover.js +2 -0
  54. package/es/popup/Popup.d.ts +1 -2
  55. package/es/popup/Popup.js +2 -5
  56. package/es/popup/index.d.ts +1 -2
  57. package/es/rate/Rate.js +5 -3
  58. package/es/search/Search.js +8 -2
  59. package/es/sidebar/Sidebar.js +1 -0
  60. package/es/sidebar-item/SidebarItem.js +4 -1
  61. package/es/slider/Slider.js +5 -3
  62. package/es/stepper/Stepper.js +11 -8
  63. package/es/swipe/Swipe.js +11 -6
  64. package/es/swipe/index.css +1 -1
  65. package/es/swipe/index.less +2 -0
  66. package/es/swipe/types.d.ts +1 -3
  67. package/es/switch/Switch.js +1 -0
  68. package/es/switch/index.css +1 -1
  69. package/es/switch/index.less +2 -0
  70. package/es/tab/Tab.js +18 -5
  71. package/es/tab/index.css +1 -1
  72. package/es/tab/index.less +1 -1
  73. package/es/tabbar/Tabbar.d.ts +1 -1
  74. package/es/tabbar/Tabbar.js +10 -10
  75. package/es/tabbar-item/TabbarItem.js +16 -7
  76. package/es/tabs/Tabs.js +10 -5
  77. package/es/tabs/TabsTitle.d.ts +6 -0
  78. package/es/tabs/TabsTitle.js +7 -1
  79. package/es/tabs/types.d.ts +1 -0
  80. package/es/uploader/UploaderPreviewItem.js +4 -1
  81. package/es/uploader/utils.d.ts +2 -2
  82. package/es/uploader/utils.js +2 -2
  83. package/es/utils/dom.d.ts +1 -0
  84. package/es/utils/dom.js +6 -2
  85. package/es/utils/format.js +6 -5
  86. package/es/vue-tsx-shim.d.ts +1 -0
  87. package/lib/address-edit/AddressEdit.js +155 -180
  88. package/lib/address-edit/AddressEditDetail.d.ts +10 -9
  89. package/lib/address-edit/AddressEditDetail.js +6 -6
  90. package/lib/button/Button.js +1 -1
  91. package/lib/calendar/Calendar.js +8 -14
  92. package/lib/calendar/CalendarHeader.js +1 -3
  93. package/lib/calendar/CalendarMonth.js +11 -10
  94. package/lib/calendar/types.d.ts +1 -1
  95. package/lib/cascader/Cascader.js +10 -2
  96. package/lib/checkbox/Checker.js +1 -1
  97. package/lib/checkbox/types.d.ts +2 -6
  98. package/lib/composables/use-id.d.ts +1 -0
  99. package/lib/composables/use-id.js +21 -0
  100. package/lib/composables/use-route.d.ts +1 -1
  101. package/lib/composables/use-route.js +4 -4
  102. package/lib/count-down/CountDown.js +1 -0
  103. package/lib/coupon-list/CouponList.js +39 -22
  104. package/lib/coupon-list/index.css +1 -1
  105. package/lib/coupon-list/index.less +0 -5
  106. package/lib/dropdown-item/DropdownItem.js +7 -2
  107. package/lib/dropdown-item/types.d.ts +2 -6
  108. package/lib/dropdown-menu/DropdownMenu.js +7 -2
  109. package/lib/dropdown-menu/types.d.ts +1 -0
  110. package/lib/empty/Network.js +22 -34
  111. package/lib/field/Field.d.ts +1 -1
  112. package/lib/field/Field.js +14 -5
  113. package/lib/field/index.d.ts +2 -2
  114. package/lib/field/types.d.ts +7 -6
  115. package/lib/form/Form.js +1 -1
  116. package/lib/image/Image.js +4 -9
  117. package/lib/image-preview/ImagePreview.js +1 -2
  118. package/lib/index.css +1 -1
  119. package/lib/index.d.ts +1 -1
  120. package/lib/index.js +1 -1
  121. package/lib/lazyload/index.d.ts +1 -1
  122. package/lib/lazyload/index.js +3 -3
  123. package/lib/lazyload/vue-lazyload/index.d.ts +55 -0
  124. package/lib/lazyload/vue-lazyload/index.js +58 -0
  125. package/lib/lazyload/vue-lazyload/lazy-component.js +62 -0
  126. package/lib/lazyload/vue-lazyload/lazy-container.js +106 -0
  127. package/lib/lazyload/vue-lazyload/lazy-image.js +125 -0
  128. package/lib/lazyload/vue-lazyload/lazy.js +520 -0
  129. package/lib/lazyload/vue-lazyload/listener.js +251 -0
  130. package/lib/lazyload/vue-lazyload/util.js +213 -0
  131. package/lib/list/List.js +3 -1
  132. package/lib/locale/lang/pt-BR.d.ts +73 -0
  133. package/lib/locale/lang/pt-BR.js +77 -0
  134. package/lib/number-keyboard/NumberKeyboardKey.js +3 -3
  135. package/lib/pagination/Pagination.js +65 -47
  136. package/lib/pagination/index.css +1 -1
  137. package/lib/pagination/index.less +32 -31
  138. package/lib/password-input/PasswordInput.d.ts +1 -1
  139. package/lib/password-input/index.d.ts +1 -1
  140. package/lib/popover/Popover.js +2 -0
  141. package/lib/popup/Popup.d.ts +1 -2
  142. package/lib/popup/Popup.js +2 -5
  143. package/lib/popup/index.d.ts +1 -2
  144. package/lib/rate/Rate.js +5 -3
  145. package/lib/search/Search.js +9 -2
  146. package/lib/sidebar/Sidebar.js +1 -0
  147. package/lib/sidebar-item/SidebarItem.js +4 -1
  148. package/lib/slider/Slider.js +5 -3
  149. package/lib/ssr.js +7 -0
  150. package/lib/ssr.mjs +1 -0
  151. package/lib/stepper/Stepper.js +11 -8
  152. package/lib/swipe/Swipe.js +9 -4
  153. package/lib/swipe/index.css +1 -1
  154. package/lib/swipe/index.less +2 -0
  155. package/lib/swipe/types.d.ts +1 -3
  156. package/lib/switch/Switch.js +1 -0
  157. package/lib/switch/index.css +1 -1
  158. package/lib/switch/index.less +2 -0
  159. package/lib/tab/Tab.js +20 -5
  160. package/lib/tab/index.css +1 -1
  161. package/lib/tab/index.less +1 -1
  162. package/lib/tabbar/Tabbar.d.ts +1 -1
  163. package/lib/tabbar/Tabbar.js +10 -10
  164. package/lib/tabbar-item/TabbarItem.js +16 -7
  165. package/lib/tabs/Tabs.js +9 -3
  166. package/lib/tabs/TabsTitle.d.ts +6 -0
  167. package/lib/tabs/TabsTitle.js +7 -1
  168. package/lib/tabs/types.d.ts +1 -0
  169. package/lib/uploader/UploaderPreviewItem.js +3 -0
  170. package/lib/uploader/utils.d.ts +2 -2
  171. package/lib/uploader/utils.js +3 -2
  172. package/lib/utils/dom.d.ts +1 -0
  173. package/lib/utils/dom.js +9 -2
  174. package/lib/utils/format.js +7 -5
  175. package/lib/vant.cjs.js +14407 -0
  176. package/lib/vant.cjs.min.js +1 -0
  177. package/lib/vant.es.js +1125 -2186
  178. package/lib/vant.es.min.js +1125 -2186
  179. package/lib/vant.js +1109 -1089
  180. package/lib/vant.min.js +1 -1
  181. package/lib/vue-tsx-shim.d.ts +1 -0
  182. package/package.json +26 -11
  183. package/vetur/attributes.json +557 -557
  184. package/vetur/tags.json +183 -183
  185. package/vetur/web-types.json +1577 -1577
  186. package/es/composables/use-link-field.d.ts +0 -0
  187. package/es/composables/use-link-field.js +0 -0
  188. package/lib/composables/use-link-field.d.ts +0 -0
  189. package/lib/composables/use-link-field.js +0 -1
package/lib/tab/Tab.js CHANGED
@@ -11,6 +11,10 @@ var _Tabs = require("../tabs/Tabs");
11
11
 
12
12
  var _use = require("@vant/use");
13
13
 
14
+ var _useId = require("../composables/use-id");
15
+
16
+ var _useExpose = require("../composables/use-expose");
17
+
14
18
  var _useRoute = require("../composables/use-route");
15
19
 
16
20
  var _useTabStatus = require("../composables/use-tab-status");
@@ -40,6 +44,7 @@ var _default = (0, _vue.defineComponent)({
40
44
  var {
41
45
  slots
42
46
  } = _ref;
47
+ var id = (0, _useId.useId)();
43
48
  var inited = (0, _vue.ref)(false);
44
49
  var {
45
50
  parent,
@@ -85,6 +90,7 @@ var _default = (0, _vue.defineComponent)({
85
90
  });
86
91
  (0, _vue.provide)(_useTabStatus.TAB_STATUS_KEY, active);
87
92
  return () => {
93
+ var label = parent.id + "-" + index.value;
88
94
  var {
89
95
  animated,
90
96
  swipeable,
@@ -100,23 +106,32 @@ var _default = (0, _vue.defineComponent)({
100
106
 
101
107
  if (animated || swipeable) {
102
108
  return (0, _vue.createVNode)(_swipeItem.SwipeItem, {
109
+ "id": id,
103
110
  "role": "tabpanel",
104
- "aria-hidden": !active.value,
105
- "class": bem('pane-wrapper', {
111
+ "class": bem('panel-wrapper', {
106
112
  inactive: !active.value
107
- })
113
+ }),
114
+ "tabindex": active.value ? 0 : -1,
115
+ "aria-hidden": !active.value,
116
+ "aria-labelledby": label
108
117
  }, {
109
118
  default: () => [(0, _vue.createVNode)("div", {
110
- "class": bem('pane')
119
+ "class": bem('panel')
111
120
  }, [slots.default == null ? void 0 : slots.default()])]
112
121
  });
113
122
  }
114
123
 
115
124
  var shouldRender = inited.value || scrollspy || !lazyRender;
116
125
  var Content = shouldRender ? slots.default == null ? void 0 : slots.default() : null;
126
+ (0, _useExpose.useExpose)({
127
+ id
128
+ });
117
129
  return (0, _vue.withDirectives)((0, _vue.createVNode)("div", {
130
+ "id": id,
118
131
  "role": "tabpanel",
119
- "class": bem('pane')
132
+ "class": bem('panel'),
133
+ "tabindex": show ? 0 : -1,
134
+ "aria-labelledby": label
120
135
  }, [Content]), [[_vue.vShow, show]]);
121
136
  };
122
137
  }
package/lib/tab/index.css CHANGED
@@ -1 +1 @@
1
- .van-tab__pane,.van-tab__pane-wrapper{flex-shrink:0;box-sizing:border-box;width:100%}.van-tab__pane-wrapper--inactive{height:0;overflow:visible}
1
+ .van-tab__panel,.van-tab__panel-wrapper{flex-shrink:0;box-sizing:border-box;width:100%}.van-tab__panel-wrapper--inactive{height:0;overflow:visible}
@@ -1,5 +1,5 @@
1
1
  .van-tab {
2
- &__pane {
2
+ &__panel {
3
3
  &,
4
4
  &-wrapper {
5
5
  flex-shrink: 0;
@@ -27,7 +27,7 @@ declare const tabbarProps: {
27
27
  export declare type TabbarProps = ExtractPropTypes<typeof tabbarProps>;
28
28
  export declare type TabbarProvide = {
29
29
  props: TabbarProps;
30
- setActive: (active: number | string) => void;
30
+ setActive: (active: number | string, afterChange: () => void) => void;
31
31
  };
32
32
  export declare const TABBAR_KEY: InjectionKey<TabbarProvide>;
33
33
  declare const _default: import("vue").DefineComponent<{
@@ -62,6 +62,7 @@ var _default = (0, _vue.defineComponent)({
62
62
  } = props;
63
63
  return (0, _vue.createVNode)("div", {
64
64
  "ref": root,
65
+ "role": "tablist",
65
66
  "style": (0, _utils.getZIndexStyle)(zIndex),
66
67
  "class": [bem({
67
68
  fixed
@@ -72,18 +73,17 @@ var _default = (0, _vue.defineComponent)({
72
73
  }, [slots.default == null ? void 0 : slots.default()]);
73
74
  };
74
75
 
75
- var setActive = active => {
76
- if (active !== props.modelValue) {
77
- (0, _utils.callInterceptor)(props.beforeChange, {
78
- args: [active],
76
+ var setActive = (active, afterChange) => {
77
+ (0, _utils.callInterceptor)(props.beforeChange, {
78
+ args: [active],
79
79
 
80
- done() {
81
- emit('update:modelValue', active);
82
- emit('change', active);
83
- }
80
+ done() {
81
+ emit('update:modelValue', active);
82
+ emit('change', active);
83
+ afterChange();
84
+ }
84
85
 
85
- });
86
- }
86
+ });
87
87
  };
88
88
 
89
89
  linkChildren({
@@ -55,6 +55,8 @@ var _default = (0, _vue.defineComponent)({
55
55
  }
56
56
 
57
57
  var active = (0, _vue.computed)(() => {
58
+ var _props$name;
59
+
58
60
  var {
59
61
  route,
60
62
  modelValue
@@ -70,20 +72,24 @@ var _default = (0, _vue.defineComponent)({
70
72
  var config = (0, _utils.isObject)(to) ? to : {
71
73
  path: to
72
74
  };
73
- var pathMatched = 'path' in config && config.path === $route.path;
74
- var nameMatched = 'name' in config && config.name === $route.name;
75
- return pathMatched || nameMatched;
75
+ return !!$route.matched.find(val => {
76
+ var pathMatched = 'path' in config && config.path === val.path;
77
+ var nameMatched = 'name' in config && config.name === val.name;
78
+ return pathMatched || nameMatched;
79
+ });
76
80
  }
77
81
 
78
- return (props.name || index.value) === modelValue;
82
+ return ((_props$name = props.name) != null ? _props$name : index.value) === modelValue;
79
83
  });
80
84
 
81
85
  var onClick = event => {
82
- var _props$name;
86
+ if (!active.value) {
87
+ var _props$name2;
88
+
89
+ parent.setActive((_props$name2 = props.name) != null ? _props$name2 : index.value, route);
90
+ }
83
91
 
84
- parent.setActive((_props$name = props.name) != null ? _props$name : index.value);
85
92
  emit('click', event);
86
- route();
87
93
  };
88
94
 
89
95
  var renderIcon = () => {
@@ -112,12 +118,15 @@ var _default = (0, _vue.defineComponent)({
112
118
  } = parent.props;
113
119
  var color = active.value ? activeColor : inactiveColor;
114
120
  return (0, _vue.createVNode)("div", {
121
+ "role": "tab",
115
122
  "class": bem({
116
123
  active: active.value
117
124
  }),
118
125
  "style": {
119
126
  color
120
127
  },
128
+ "tabindex": 0,
129
+ "aria-selected": active.value,
121
130
  "onClick": onClick
122
131
  }, [(0, _vue.createVNode)(_badge.Badge, {
123
132
  "dot": dot,
package/lib/tabs/Tabs.js CHANGED
@@ -11,6 +11,8 @@ var _utils2 = require("./utils");
11
11
 
12
12
  var _use = require("@vant/use");
13
13
 
14
+ var _useId = require("../composables/use-id");
15
+
14
16
  var _useRoute = require("../composables/use-route");
15
17
 
16
18
  var _useRefs = require("../composables/use-refs");
@@ -86,7 +88,7 @@ var _default = (0, _vue.defineComponent)({
86
88
  var root = (0, _vue.ref)();
87
89
  var navRef = (0, _vue.ref)();
88
90
  var wrapRef = (0, _vue.ref)();
89
- var windowSize = (0, _use.useWindowSize)();
91
+ var id = (0, _useId.useId)();
90
92
  var scroller = (0, _use.useScrollParent)(root);
91
93
  var [titleRefs, setTitleRefs] = (0, _useRefs.useRefs)();
92
94
  var {
@@ -303,12 +305,14 @@ var _default = (0, _vue.defineComponent)({
303
305
  };
304
306
 
305
307
  var renderNav = () => children.map((item, index) => (0, _vue.createVNode)(_TabsTitle.default, (0, _vue.mergeProps)({
308
+ "id": id + "-" + index,
306
309
  "ref": setTitleRefs(index),
307
310
  "type": props.type,
308
311
  "color": props.color,
309
312
  "style": item.titleStyle,
310
313
  "class": item.titleClass,
311
314
  "isActive": index === state.currentIndex,
315
+ "controls": item.id,
312
316
  "scrollable": scrollable.value,
313
317
  "renderTitle": item.$slots.title,
314
318
  "activeColor": props.titleActiveColor,
@@ -336,14 +340,15 @@ var _default = (0, _vue.defineComponent)({
336
340
  "class": bem('nav', [type, {
337
341
  complete: scrollable.value
338
342
  }]),
339
- "style": navStyle.value
343
+ "style": navStyle.value,
344
+ "aria-orientation": "horizontal"
340
345
  }, [(_slots$navLeft = slots['nav-left']) == null ? void 0 : _slots$navLeft.call(slots), renderNav(), type === 'line' && (0, _vue.createVNode)("div", {
341
346
  "class": bem('line'),
342
347
  "style": state.lineStyle
343
348
  }, null), (_slots$navRight = slots['nav-right']) == null ? void 0 : _slots$navRight.call(slots)])]);
344
349
  };
345
350
 
346
- (0, _vue.watch)([() => props.color, windowSize.width], setLine);
351
+ (0, _vue.watch)([() => props.color, _utils.windowWidth], setLine);
347
352
  (0, _vue.watch)(() => props.active, value => {
348
353
  if (value !== currentName.value) {
349
354
  setCurrentIndexByName(value);
@@ -393,6 +398,7 @@ var _default = (0, _vue.defineComponent)({
393
398
  target: scroller
394
399
  });
395
400
  linkChildren({
401
+ id,
396
402
  props,
397
403
  setLine,
398
404
  onRendered,
@@ -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) {