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.
- package/es/address-edit/AddressEdit.js +155 -180
- package/es/address-edit/AddressEditDetail.d.ts +10 -9
- package/es/address-edit/AddressEditDetail.js +6 -6
- package/es/button/Button.js +2 -2
- package/es/calendar/CalendarHeader.js +1 -3
- package/es/cascader/Cascader.js +10 -2
- package/es/checkbox/Checker.js +1 -1
- package/es/checkbox/types.d.ts +2 -6
- package/es/composables/use-id.d.ts +1 -0
- package/es/composables/use-id.js +14 -0
- package/es/composables/use-route.d.ts +1 -1
- package/es/composables/use-route.js +4 -4
- package/es/count-down/CountDown.js +1 -0
- package/es/coupon-list/CouponList.js +40 -24
- package/es/coupon-list/index.css +1 -1
- package/es/coupon-list/index.less +0 -5
- package/es/dropdown-item/DropdownItem.js +7 -2
- package/es/dropdown-item/types.d.ts +2 -6
- package/es/dropdown-menu/DropdownMenu.js +7 -3
- package/es/dropdown-menu/types.d.ts +1 -0
- package/es/empty/Network.js +22 -34
- package/es/field/Field.d.ts +1 -1
- package/es/field/Field.js +13 -5
- package/es/field/index.d.ts +2 -2
- package/es/field/types.d.ts +7 -6
- package/es/form/Form.js +2 -2
- package/es/image/Image.js +4 -9
- package/es/image-preview/ImagePreview.js +3 -4
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/lazyload/index.d.ts +1 -1
- package/es/lazyload/index.js +1 -1
- package/es/lazyload/vue-lazyload/index.d.ts +55 -0
- package/es/lazyload/vue-lazyload/index.js +46 -0
- package/es/lazyload/vue-lazyload/lazy-component.js +53 -0
- package/es/lazyload/vue-lazyload/lazy-container.js +98 -0
- package/es/lazyload/vue-lazyload/lazy-image.js +115 -0
- package/es/lazyload/vue-lazyload/lazy.js +507 -0
- package/es/lazyload/vue-lazyload/listener.js +241 -0
- package/es/lazyload/vue-lazyload/util.js +183 -0
- package/es/list/List.js +3 -1
- package/es/number-keyboard/NumberKeyboardKey.js +4 -4
- package/es/pagination/Pagination.js +67 -49
- package/es/pagination/index.css +1 -1
- package/es/pagination/index.less +32 -31
- package/es/password-input/PasswordInput.d.ts +1 -1
- package/es/password-input/index.d.ts +1 -1
- package/es/popover/Popover.js +2 -0
- package/es/popup/Popup.d.ts +1 -2
- package/es/popup/Popup.js +2 -5
- package/es/popup/index.d.ts +1 -2
- package/es/rate/Rate.js +5 -3
- package/es/search/Search.js +8 -2
- package/es/sidebar/Sidebar.js +1 -0
- package/es/sidebar-item/SidebarItem.js +4 -1
- package/es/slider/Slider.js +5 -3
- package/es/stepper/Stepper.js +11 -8
- package/es/swipe/Swipe.js +3 -4
- package/es/swipe/types.d.ts +1 -3
- package/es/switch/Switch.js +1 -0
- package/es/switch/index.css +1 -1
- package/es/switch/index.less +2 -0
- package/es/tab/Tab.js +17 -4
- package/es/tab/index.css +1 -1
- package/es/tab/index.less +1 -1
- package/es/tabbar/Tabbar.d.ts +1 -1
- package/es/tabbar/Tabbar.js +10 -10
- package/es/tabbar-item/TabbarItem.js +11 -4
- package/es/tabs/Tabs.js +10 -5
- package/es/tabs/TabsTitle.d.ts +6 -0
- package/es/tabs/TabsTitle.js +7 -1
- package/es/tabs/types.d.ts +1 -0
- package/es/uploader/UploaderPreviewItem.js +4 -1
- package/es/uploader/utils.d.ts +2 -2
- package/es/uploader/utils.js +2 -2
- package/es/utils/dom.d.ts +1 -0
- package/es/utils/dom.js +6 -2
- package/es/utils/format.js +6 -5
- package/es/vue-tsx-shim.d.ts +1 -0
- package/lib/address-edit/AddressEdit.js +156 -180
- package/lib/address-edit/AddressEditDetail.d.ts +10 -9
- package/lib/address-edit/AddressEditDetail.js +6 -6
- package/lib/button/Button.js +1 -1
- package/lib/calendar/CalendarHeader.js +1 -3
- package/lib/cascader/Cascader.js +10 -2
- package/lib/checkbox/Checker.js +1 -1
- package/lib/checkbox/types.d.ts +2 -6
- package/lib/composables/use-id.d.ts +1 -0
- package/lib/composables/use-id.js +21 -0
- package/lib/composables/use-route.d.ts +1 -1
- package/lib/composables/use-route.js +4 -4
- package/lib/count-down/CountDown.js +1 -0
- package/lib/coupon-list/CouponList.js +39 -22
- package/lib/coupon-list/index.css +1 -1
- package/lib/coupon-list/index.less +0 -5
- package/lib/dropdown-item/DropdownItem.js +7 -2
- package/lib/dropdown-item/types.d.ts +2 -6
- package/lib/dropdown-menu/DropdownMenu.js +7 -2
- package/lib/dropdown-menu/types.d.ts +1 -0
- package/lib/empty/Network.js +22 -34
- package/lib/field/Field.d.ts +1 -1
- package/lib/field/Field.js +14 -5
- package/lib/field/index.d.ts +2 -2
- package/lib/field/types.d.ts +7 -6
- package/lib/form/Form.js +1 -1
- package/lib/image/Image.js +4 -9
- package/lib/image-preview/ImagePreview.js +1 -2
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/lazyload/index.d.ts +1 -1
- package/lib/lazyload/index.js +3 -3
- package/lib/lazyload/vue-lazyload/index.d.ts +55 -0
- package/lib/lazyload/vue-lazyload/index.js +58 -0
- package/lib/lazyload/vue-lazyload/lazy-component.js +62 -0
- package/lib/lazyload/vue-lazyload/lazy-container.js +106 -0
- package/lib/lazyload/vue-lazyload/lazy-image.js +125 -0
- package/lib/lazyload/vue-lazyload/lazy.js +520 -0
- package/lib/lazyload/vue-lazyload/listener.js +251 -0
- package/lib/lazyload/vue-lazyload/util.js +213 -0
- package/lib/list/List.js +3 -1
- package/lib/number-keyboard/NumberKeyboardKey.js +3 -3
- package/lib/pagination/Pagination.js +65 -47
- package/lib/pagination/index.css +1 -1
- package/lib/pagination/index.less +32 -31
- package/lib/password-input/PasswordInput.d.ts +1 -1
- package/lib/password-input/index.d.ts +1 -1
- package/lib/popover/Popover.js +2 -0
- package/lib/popup/Popup.d.ts +1 -2
- package/lib/popup/Popup.js +2 -5
- package/lib/popup/index.d.ts +1 -2
- package/lib/rate/Rate.js +5 -3
- package/lib/search/Search.js +9 -2
- package/lib/sidebar/Sidebar.js +1 -0
- package/lib/sidebar-item/SidebarItem.js +4 -1
- package/lib/slider/Slider.js +5 -3
- package/lib/stepper/Stepper.js +11 -8
- package/lib/swipe/Swipe.js +1 -2
- package/lib/swipe/types.d.ts +1 -3
- package/lib/switch/Switch.js +1 -0
- package/lib/switch/index.css +1 -1
- package/lib/switch/index.less +2 -0
- package/lib/tab/Tab.js +19 -4
- package/lib/tab/index.css +1 -1
- package/lib/tab/index.less +1 -1
- package/lib/tabbar/Tabbar.d.ts +1 -1
- package/lib/tabbar/Tabbar.js +10 -10
- package/lib/tabbar-item/TabbarItem.js +11 -4
- package/lib/tabs/Tabs.js +9 -3
- package/lib/tabs/TabsTitle.d.ts +6 -0
- package/lib/tabs/TabsTitle.js +7 -1
- package/lib/tabs/types.d.ts +1 -0
- package/lib/uploader/UploaderPreviewItem.js +3 -0
- package/lib/uploader/utils.d.ts +2 -2
- package/lib/uploader/utils.js +3 -2
- package/lib/utils/dom.d.ts +1 -0
- package/lib/utils/dom.js +9 -2
- package/lib/utils/format.js +7 -5
- package/lib/vant.es.js +1086 -1068
- package/lib/vant.es.min.js +1086 -1068
- package/lib/vant.js +1085 -1067
- package/lib/vant.min.js +1 -1
- package/lib/vue-tsx-shim.d.ts +1 -0
- package/package.json +4 -4
- package/vetur/attributes.json +340 -340
- package/vetur/tags.json +119 -119
- package/vetur/web-types.json +1143 -1143
- package/es/composables/use-link-field.d.ts +0 -0
- package/es/composables/use-link-field.js +0 -0
- package/lib/composables/use-link-field.d.ts +0 -0
- package/lib/composables/use-link-field.js +0 -1
package/es/tabs/Tabs.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
|
|
2
2
|
import { ref, watch, computed, reactive, nextTick, onActivated, defineComponent, getCurrentInstance } from 'vue'; // Utils
|
|
3
3
|
|
|
4
|
-
import { pick, isDef, addUnit, isHidden, unitToPx, truthProp, numericProp, getElementTop, makeStringProp, callInterceptor, createNamespace, makeNumericProp, setRootScrollTop, BORDER_TOP_BOTTOM } from '../utils';
|
|
4
|
+
import { pick, isDef, addUnit, isHidden, unitToPx, truthProp, numericProp, windowWidth, getElementTop, makeStringProp, callInterceptor, createNamespace, makeNumericProp, setRootScrollTop, BORDER_TOP_BOTTOM } from '../utils';
|
|
5
5
|
import { scrollLeftTo, scrollTopTo } from './utils'; // Composables
|
|
6
6
|
|
|
7
|
-
import { useRect, useChildren,
|
|
7
|
+
import { useRect, useChildren, useScrollParent, useEventListener, onMountedOrActivated } from '@vant/use';
|
|
8
|
+
import { useId } from '../composables/use-id';
|
|
8
9
|
import { route } from '../composables/use-route';
|
|
9
10
|
import { useRefs } from '../composables/use-refs';
|
|
10
11
|
import { useExpose } from '../composables/use-expose';
|
|
@@ -68,7 +69,7 @@ export default defineComponent({
|
|
|
68
69
|
var root = ref();
|
|
69
70
|
var navRef = ref();
|
|
70
71
|
var wrapRef = ref();
|
|
71
|
-
var
|
|
72
|
+
var id = useId();
|
|
72
73
|
var scroller = useScrollParent(root);
|
|
73
74
|
var [titleRefs, setTitleRefs] = useRefs();
|
|
74
75
|
var {
|
|
@@ -285,12 +286,14 @@ export default defineComponent({
|
|
|
285
286
|
};
|
|
286
287
|
|
|
287
288
|
var renderNav = () => children.map((item, index) => _createVNode(TabsTitle, _mergeProps({
|
|
289
|
+
"id": id + "-" + index,
|
|
288
290
|
"ref": setTitleRefs(index),
|
|
289
291
|
"type": props.type,
|
|
290
292
|
"color": props.color,
|
|
291
293
|
"style": item.titleStyle,
|
|
292
294
|
"class": item.titleClass,
|
|
293
295
|
"isActive": index === state.currentIndex,
|
|
296
|
+
"controls": item.id,
|
|
294
297
|
"scrollable": scrollable.value,
|
|
295
298
|
"renderTitle": item.$slots.title,
|
|
296
299
|
"activeColor": props.titleActiveColor,
|
|
@@ -318,14 +321,15 @@ export default defineComponent({
|
|
|
318
321
|
"class": bem('nav', [type, {
|
|
319
322
|
complete: scrollable.value
|
|
320
323
|
}]),
|
|
321
|
-
"style": navStyle.value
|
|
324
|
+
"style": navStyle.value,
|
|
325
|
+
"aria-orientation": "horizontal"
|
|
322
326
|
}, [(_slots$navLeft = slots['nav-left']) == null ? void 0 : _slots$navLeft.call(slots), renderNav(), type === 'line' && _createVNode("div", {
|
|
323
327
|
"class": bem('line'),
|
|
324
328
|
"style": state.lineStyle
|
|
325
329
|
}, null), (_slots$navRight = slots['nav-right']) == null ? void 0 : _slots$navRight.call(slots)])]);
|
|
326
330
|
};
|
|
327
331
|
|
|
328
|
-
watch([() => props.color,
|
|
332
|
+
watch([() => props.color, windowWidth], setLine);
|
|
329
333
|
watch(() => props.active, value => {
|
|
330
334
|
if (value !== currentName.value) {
|
|
331
335
|
setCurrentIndexByName(value);
|
|
@@ -375,6 +379,7 @@ export default defineComponent({
|
|
|
375
379
|
target: scroller
|
|
376
380
|
});
|
|
377
381
|
linkChildren({
|
|
382
|
+
id,
|
|
378
383
|
props,
|
|
379
384
|
setLine,
|
|
380
385
|
onRendered,
|
package/es/tabs/TabsTitle.d.ts
CHANGED
|
@@ -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;
|
package/es/tabs/TabsTitle.js
CHANGED
|
@@ -6,6 +6,7 @@ var [name, bem] = createNamespace('tab');
|
|
|
6
6
|
export default defineComponent({
|
|
7
7
|
name,
|
|
8
8
|
props: {
|
|
9
|
+
id: String,
|
|
9
10
|
dot: Boolean,
|
|
10
11
|
type: String,
|
|
11
12
|
color: String,
|
|
@@ -13,6 +14,7 @@ export default defineComponent({
|
|
|
13
14
|
badge: numericProp,
|
|
14
15
|
isActive: Boolean,
|
|
15
16
|
disabled: Boolean,
|
|
17
|
+
controls: String,
|
|
16
18
|
scrollable: Boolean,
|
|
17
19
|
activeColor: String,
|
|
18
20
|
renderTitle: Function,
|
|
@@ -75,13 +77,17 @@ export default defineComponent({
|
|
|
75
77
|
};
|
|
76
78
|
|
|
77
79
|
return () => _createVNode("div", {
|
|
80
|
+
"id": props.id,
|
|
78
81
|
"role": "tab",
|
|
79
82
|
"class": [bem({
|
|
80
83
|
active: props.isActive,
|
|
81
84
|
disabled: props.disabled
|
|
82
85
|
})],
|
|
83
86
|
"style": style.value,
|
|
84
|
-
"
|
|
87
|
+
"tabindex": props.disabled ? undefined : props.isActive ? 0 : -1,
|
|
88
|
+
"aria-selected": props.isActive,
|
|
89
|
+
"aria-disabled": props.disabled || undefined,
|
|
90
|
+
"aria-controls": props.controls
|
|
85
91
|
}, [renderText()]);
|
|
86
92
|
}
|
|
87
93
|
|
package/es/tabs/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
|
|
2
2
|
import { defineComponent } from 'vue'; // Utils
|
|
3
3
|
|
|
4
|
-
import { bem, isImageFile } from './utils';
|
|
4
|
+
import { t, bem, isImageFile } from './utils';
|
|
5
5
|
import { isDef, extend, numericProp, getSizeStyle, callInterceptor, makeRequiredProp } from '../utils'; // Components
|
|
6
6
|
|
|
7
7
|
import { Icon } from '../icon';
|
|
@@ -71,7 +71,10 @@ export default defineComponent({
|
|
|
71
71
|
var renderDeleteIcon = () => {
|
|
72
72
|
if (props.deletable && props.item.status !== 'uploading') {
|
|
73
73
|
return _createVNode("div", {
|
|
74
|
+
"role": "button",
|
|
74
75
|
"class": bem('preview-delete'),
|
|
76
|
+
"tabindex": 0,
|
|
77
|
+
"aria-label": t('delete'),
|
|
75
78
|
"onClick": onDelete
|
|
76
79
|
}, [_createVNode(Icon, {
|
|
77
80
|
"name": "cross",
|
package/es/uploader/utils.d.ts
CHANGED
|
@@ -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;
|
package/es/uploader/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createNamespace, isFunction } from '../utils';
|
|
2
|
-
var [name, bem] = createNamespace('uploader');
|
|
3
|
-
export { name, bem };
|
|
2
|
+
var [name, bem, t] = createNamespace('uploader');
|
|
3
|
+
export { name, bem, t };
|
|
4
4
|
export var toArray = item => Array.isArray(item) ? item : [item];
|
|
5
5
|
export function readFileContent(file, resultType) {
|
|
6
6
|
return new Promise(resolve => {
|
package/es/utils/dom.d.ts
CHANGED
|
@@ -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/es/utils/dom.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useRect } from '@vant/use';
|
|
1
|
+
import { useRect, useWindowSize } from '@vant/use';
|
|
2
2
|
import { unref } from 'vue';
|
|
3
3
|
import { isIOS as checkIsIOS } from './validate';
|
|
4
4
|
export function getScrollTop(el) {
|
|
@@ -62,4 +62,8 @@ export function isHidden(elementRef) {
|
|
|
62
62
|
|
|
63
63
|
var parentHidden = el.offsetParent === null && style.position !== 'fixed';
|
|
64
64
|
return hidden || parentHidden;
|
|
65
|
-
}
|
|
65
|
+
}
|
|
66
|
+
export var {
|
|
67
|
+
width: windowWidth,
|
|
68
|
+
height: windowHeight
|
|
69
|
+
} = useWindowSize();
|
package/es/utils/format.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { inBrowser } from './basic';
|
|
2
|
+
import { windowWidth, windowHeight } from './dom';
|
|
2
3
|
import { isDef, isNumeric } from './validate';
|
|
3
4
|
export function addUnit(value) {
|
|
4
|
-
if (
|
|
5
|
-
return
|
|
5
|
+
if (isDef(value)) {
|
|
6
|
+
return isNumeric(value) ? value + "px" : String(value);
|
|
6
7
|
}
|
|
7
8
|
|
|
8
|
-
return
|
|
9
|
+
return undefined;
|
|
9
10
|
}
|
|
10
11
|
export function getSizeStyle(originSize) {
|
|
11
12
|
if (isDef(originSize)) {
|
|
@@ -45,12 +46,12 @@ function convertRem(value) {
|
|
|
45
46
|
|
|
46
47
|
function convertVw(value) {
|
|
47
48
|
value = value.replace(/vw/g, '');
|
|
48
|
-
return +value *
|
|
49
|
+
return +value * windowWidth.value / 100;
|
|
49
50
|
}
|
|
50
51
|
|
|
51
52
|
function convertVh(value) {
|
|
52
53
|
value = value.replace(/vh/g, '');
|
|
53
|
-
return +value *
|
|
54
|
+
return +value * windowHeight.value / 100;
|
|
54
55
|
}
|
|
55
56
|
|
|
56
57
|
export function unitToPx(value) {
|