vant 4.8.2 → 4.8.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 (57) hide show
  1. package/es/icon/index.css +1 -1
  2. package/es/image/Image.d.ts +6 -8
  3. package/es/image/index.d.ts +6 -6
  4. package/es/image/types.d.ts +3 -0
  5. package/es/image-preview/ImagePreview.d.ts +13 -0
  6. package/es/image-preview/ImagePreview.mjs +2 -0
  7. package/es/image-preview/ImagePreviewItem.d.ts +4 -0
  8. package/es/image-preview/ImagePreviewItem.mjs +7 -1
  9. package/es/image-preview/index.d.ts +9 -0
  10. package/es/image-preview/types.d.ts +1 -0
  11. package/es/index.d.ts +1 -1
  12. package/es/index.mjs +1 -1
  13. package/es/notify/Notify.mjs +5 -8
  14. package/es/sticky/Sticky.mjs +1 -1
  15. package/es/tab/TabTitle.d.ts +1 -1
  16. package/es/tabs/index.css +1 -1
  17. package/es/text-ellipsis/TextEllipsis.mjs +11 -5
  18. package/es/toast/Toast.d.ts +3 -0
  19. package/es/toast/Toast.mjs +3 -2
  20. package/es/toast/index.d.ts +2 -0
  21. package/es/toast/types.d.ts +3 -2
  22. package/es/uploader/Uploader.d.ts +7 -8
  23. package/es/uploader/UploaderPreviewItem.d.ts +2 -3
  24. package/es/uploader/index.d.ts +5 -5
  25. package/es/utils/constant.d.ts +7 -7
  26. package/lib/icon/index.css +1 -1
  27. package/lib/image/Image.d.ts +6 -8
  28. package/lib/image/index.d.ts +6 -6
  29. package/lib/image/types.d.ts +3 -0
  30. package/lib/image-preview/ImagePreview.d.ts +13 -0
  31. package/lib/image-preview/ImagePreview.js +2 -0
  32. package/lib/image-preview/ImagePreviewItem.d.ts +4 -0
  33. package/lib/image-preview/ImagePreviewItem.js +7 -1
  34. package/lib/image-preview/index.d.ts +9 -0
  35. package/lib/image-preview/types.d.ts +1 -0
  36. package/lib/index.css +1 -1
  37. package/lib/index.d.ts +1 -1
  38. package/lib/index.js +1 -1
  39. package/lib/notify/Notify.js +3 -6
  40. package/lib/sticky/Sticky.js +1 -1
  41. package/lib/tab/TabTitle.d.ts +1 -1
  42. package/lib/tabs/index.css +1 -1
  43. package/lib/text-ellipsis/TextEllipsis.js +11 -5
  44. package/lib/toast/Toast.d.ts +3 -0
  45. package/lib/toast/Toast.js +3 -2
  46. package/lib/toast/index.d.ts +2 -0
  47. package/lib/toast/types.d.ts +3 -2
  48. package/lib/uploader/Uploader.d.ts +7 -8
  49. package/lib/uploader/UploaderPreviewItem.d.ts +2 -3
  50. package/lib/uploader/index.d.ts +5 -5
  51. package/lib/utils/constant.d.ts +7 -7
  52. package/lib/vant.cjs.js +29 -17
  53. package/lib/vant.es.js +29 -17
  54. package/lib/vant.js +35 -20
  55. package/lib/vant.min.js +6 -1
  56. package/lib/web-types.json +1 -1
  57. package/package.json +11 -10
package/lib/index.d.ts CHANGED
@@ -106,4 +106,4 @@ declare namespace _default {
106
106
  }
107
107
  export default _default;
108
108
  export function install(app: any): void;
109
- export const version: "4.8.2";
109
+ export const version: "4.8.3";
package/lib/index.js CHANGED
@@ -226,7 +226,7 @@ __reExport(stdin_exports, require("./toast"), module.exports);
226
226
  __reExport(stdin_exports, require("./tree-select"), module.exports);
227
227
  __reExport(stdin_exports, require("./uploader"), module.exports);
228
228
  __reExport(stdin_exports, require("./watermark"), module.exports);
229
- const version = "4.8.2";
229
+ const version = "4.8.3";
230
230
  function install(app) {
231
231
  const components = [
232
232
  import_action_bar.ActionBar,
@@ -27,6 +27,7 @@ var import_utils = require("../utils");
27
27
  var import_popup = require("../popup");
28
28
  var import_shared = require("../popup/shared");
29
29
  const [name, bem] = (0, import_utils.createNamespace)("notify");
30
+ const popupInheritProps = ["lockScroll", "position", "show", "teleport", "zIndex"];
30
31
  const notifyProps = (0, import_utils.extend)({}, import_shared.popupSharedProps, {
31
32
  type: (0, import_utils.makeStringProp)("danger"),
32
33
  color: String,
@@ -45,20 +46,16 @@ var stdin_default = (0, import_vue2.defineComponent)({
45
46
  slots
46
47
  }) {
47
48
  const updateShow = (show) => emit("update:show", show);
48
- return () => (0, import_vue.createVNode)(import_popup.Popup, {
49
- "show": props.show,
49
+ return () => (0, import_vue.createVNode)(import_popup.Popup, (0, import_vue.mergeProps)({
50
50
  "class": [bem([props.type]), props.className],
51
51
  "style": {
52
52
  color: props.color,
53
53
  background: props.background
54
54
  },
55
55
  "overlay": false,
56
- "zIndex": props.zIndex,
57
- "position": props.position,
58
56
  "duration": 0.2,
59
- "lockScroll": props.lockScroll,
60
57
  "onUpdate:show": updateShow
61
- }, {
58
+ }, (0, import_utils.pick)(props, popupInheritProps)), {
62
59
  default: () => [slots.default ? slots.default() : props.message]
63
60
  });
64
61
  }
@@ -104,7 +104,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
104
104
  if (container) {
105
105
  const containerRect = (0, import_use.useRect)(container);
106
106
  const difference = containerRect.bottom - offset.value - state.height;
107
- state.fixed = offset.value > rootRect.top && containerRect.bottom > 0;
107
+ state.fixed = offset.value >= rootRect.top && containerRect.bottom > 0;
108
108
  state.transform = difference < 0 ? difference : 0;
109
109
  } else {
110
110
  state.fixed = offset.value > rootRect.top;
@@ -38,7 +38,7 @@ export declare const TabTitle: import("vue").DefineComponent<{
38
38
  dot: boolean;
39
39
  disabled: boolean;
40
40
  shrink: boolean;
41
- isActive: boolean;
42
41
  scrollable: boolean;
42
+ isActive: boolean;
43
43
  showZeroBadge: boolean;
44
44
  }, {}>;
@@ -1 +1 @@
1
- :root,:host{--van-tab-text-color: var(--van-gray-7);--van-tab-active-text-color: var(--van-text-color);--van-tab-disabled-text-color: var(--van-text-color-3);--van-tab-font-size: var(--van-font-size-md);--van-tab-line-height: var(--van-line-height-md);--van-tabs-default-color: var(--van-primary-color);--van-tabs-line-height: 44px;--van-tabs-card-height: 30px;--van-tabs-nav-background: var(--van-background-2);--van-tabs-bottom-bar-width: 40px;--van-tabs-bottom-bar-height: 3px;--van-tabs-bottom-bar-color: var(--van-primary-color)}.van-tab{position:relative;display:flex;flex:1;align-items:center;justify-content:center;box-sizing:border-box;padding:0 var(--van-padding-base);color:var(--van-tab-text-color);font-size:var(--van-tab-font-size);line-height:var(--van-tab-line-height);cursor:pointer}.van-tab--active{color:var(--van-tab-active-text-color);font-weight:var(--van-font-bold)}.van-tab--disabled{color:var(--van-tab-disabled-text-color);cursor:not-allowed}.van-tab--grow{flex:1 0 auto;padding:0 var(--van-padding-sm)}.van-tab--shrink{flex:none;padding:0 var(--van-padding-xs)}.van-tab--card{color:var(--van-tabs-default-color);border-right:var(--van-border-width) solid var(--van-tabs-default-color)}.van-tab--card:last-child{border-right:none}.van-tab--card.van-tab--active{color:var(--van-white);background-color:var(--van-tabs-default-color)}.van-tab--card--disabled{color:var(--van-tab-disabled-text-color)}.van-tab__text--ellipsis{display:-webkit-box;overflow:hidden;-webkit-line-clamp:1;-webkit-box-orient:vertical}.van-tabs{position:relative}.van-tabs__wrap{overflow:hidden}.van-tabs__wrap--page-top{position:fixed}.van-tabs__wrap--content-bottom{top:auto;bottom:0}.van-tabs__nav{position:relative;display:flex;background:var(--van-tabs-nav-background);-webkit-user-select:none;user-select:none}.van-tabs__nav--complete{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.van-tabs__nav--complete::-webkit-scrollbar{display:none}.van-tabs__nav--line{box-sizing:content-box;height:100%;padding-bottom:15px}.van-tabs__nav--line.van-tabs__nav--shrink,.van-tabs__nav--line.van-tabs__nav--complete{padding-right:var(--van-padding-xs);padding-left:var(--van-padding-xs)}.van-tabs__nav--card{box-sizing:border-box;height:var(--van-tabs-card-height);margin:0 var(--van-padding-md);border:var(--van-border-width) solid var(--van-tabs-default-color);border-radius:var(--van-border-radius-sm)}.van-tabs__nav--card.van-tabs__nav--shrink{display:inline-flex}.van-tabs__line{position:absolute;bottom:15px;left:0;z-index:1;width:var(--van-tabs-bottom-bar-width);height:var(--van-tabs-bottom-bar-height);background:var(--van-tabs-bottom-bar-color);border-radius:var(--van-tabs-bottom-bar-height)}.van-tabs__track{position:relative;display:flex;width:100%;height:100%;will-change:left}.van-tabs__content--animated{overflow:hidden}.van-tabs--line .van-tabs__wrap{height:var(--van-tabs-line-height)}.van-tabs--card>.van-tabs__wrap{height:var(--van-tabs-card-height)}
1
+ :root,:host{--van-tab-text-color: var(--van-gray-7);--van-tab-active-text-color: var(--van-text-color);--van-tab-disabled-text-color: var(--van-text-color-3);--van-tab-font-size: var(--van-font-size-md);--van-tab-line-height: var(--van-line-height-md);--van-tabs-default-color: var(--van-primary-color);--van-tabs-line-height: 44px;--van-tabs-card-height: 30px;--van-tabs-nav-background: var(--van-background-2);--van-tabs-bottom-bar-width: 40px;--van-tabs-bottom-bar-height: 3px;--van-tabs-bottom-bar-color: var(--van-primary-color)}.van-tab{position:relative;display:flex;flex:1;align-items:center;justify-content:center;box-sizing:border-box;padding:0 var(--van-padding-base);color:var(--van-tab-text-color);font-size:var(--van-tab-font-size);line-height:var(--van-tab-line-height);cursor:pointer}.van-tab--active{color:var(--van-tab-active-text-color);font-weight:var(--van-font-bold)}.van-tab--disabled{color:var(--van-tab-disabled-text-color);cursor:not-allowed}.van-tab--grow{flex:1 0 auto;padding:0 var(--van-padding-sm)}.van-tab--shrink{flex:none;padding:0 var(--van-padding-xs)}.van-tab--card{color:var(--van-tabs-default-color);border-right:var(--van-border-width) solid var(--van-tabs-default-color)}.van-tab--card:last-child{border-right:none}.van-tab--card.van-tab--active{color:var(--van-white);background-color:var(--van-tabs-default-color)}.van-tab--card--disabled{color:var(--van-tab-disabled-text-color)}.van-tab__text--ellipsis{display:-webkit-box;overflow:hidden;-webkit-line-clamp:1;-webkit-box-orient:vertical}.van-tabs{position:relative}.van-tabs__wrap{overflow:hidden}.van-tabs__wrap--page-top{position:fixed}.van-tabs__wrap--content-bottom{top:auto;bottom:0}.van-tabs__nav{position:relative;display:flex;background:var(--van-tabs-nav-background);-webkit-user-select:none;user-select:none}.van-tabs__nav--complete{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.van-tabs__nav--complete::-webkit-scrollbar{display:none}.van-tabs__nav--line{box-sizing:content-box;height:100%;padding-bottom:15px}.van-tabs__nav--line.van-tabs__nav--shrink,.van-tabs__nav--line.van-tabs__nav--complete{padding-right:var(--van-padding-xs);padding-left:var(--van-padding-xs)}.van-tabs__nav--card{box-sizing:border-box;height:var(--van-tabs-card-height);margin:0 var(--van-padding-md);border:var(--van-border-width) solid var(--van-tabs-default-color);border-radius:var(--van-radius-sm)}.van-tabs__nav--card.van-tabs__nav--shrink{display:inline-flex}.van-tabs__line{position:absolute;bottom:15px;left:0;z-index:1;width:var(--van-tabs-bottom-bar-width);height:var(--van-tabs-bottom-bar-height);background:var(--van-tabs-bottom-bar-color);border-radius:var(--van-tabs-bottom-bar-height)}.van-tabs__track{position:relative;display:flex;width:100%;height:100%;will-change:left}.van-tabs__content--animated{overflow:hidden}.van-tabs--line .van-tabs__wrap{height:var(--van-tabs-line-height)}.van-tabs--card>.van-tabs__wrap{height:var(--van-tabs-card-height)}
@@ -39,7 +39,8 @@ var stdin_default = (0, import_vue2.defineComponent)({
39
39
  props: textEllipsisProps,
40
40
  emits: ["clickAction"],
41
41
  setup(props, {
42
- emit
42
+ emit,
43
+ slots
43
44
  }) {
44
45
  const text = (0, import_vue2.ref)("");
45
46
  const expanded = (0, import_vue2.ref)(false);
@@ -147,10 +148,15 @@ var stdin_default = (0, import_vue2.defineComponent)({
147
148
  toggle();
148
149
  emit("clickAction", event);
149
150
  };
150
- const renderAction = () => (0, import_vue.createVNode)("span", {
151
- "class": bem("action"),
152
- "onClick": onClickAction
153
- }, [actionText.value]);
151
+ const renderAction = () => {
152
+ const action = slots.action ? slots.action({
153
+ expanded: expanded.value
154
+ }) : actionText.value;
155
+ return (0, import_vue.createVNode)("span", {
156
+ "class": bem("action"),
157
+ "onClick": onClickAction
158
+ }, [action]);
159
+ };
154
160
  (0, import_vue2.onMounted)(calcEllipsised);
155
161
  (0, import_vue2.watch)([import_utils.windowWidth, () => [props.content, props.rows, props.position]], calcEllipsised);
156
162
  (0, import_use_expose.useExpose)({
@@ -33,6 +33,7 @@ export declare const toastProps: {
33
33
  overlayStyle: PropType<CSSProperties>;
34
34
  closeOnClick: BooleanConstructor;
35
35
  closeOnClickOverlay: BooleanConstructor;
36
+ zIndex: (NumberConstructor | StringConstructor)[];
36
37
  };
37
38
  export type ToastProps = ExtractPropTypes<typeof toastProps>;
38
39
  declare const _default: import("vue").DefineComponent<{
@@ -67,6 +68,7 @@ declare const _default: import("vue").DefineComponent<{
67
68
  overlayStyle: PropType<CSSProperties>;
68
69
  closeOnClick: BooleanConstructor;
69
70
  closeOnClickOverlay: BooleanConstructor;
71
+ zIndex: (NumberConstructor | StringConstructor)[];
70
72
  }, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:show"[], "update:show", import("vue").PublicProps, Readonly<ExtractPropTypes<{
71
73
  icon: StringConstructor;
72
74
  show: BooleanConstructor;
@@ -99,6 +101,7 @@ declare const _default: import("vue").DefineComponent<{
99
101
  overlayStyle: PropType<CSSProperties>;
100
102
  closeOnClick: BooleanConstructor;
101
103
  closeOnClickOverlay: BooleanConstructor;
104
+ zIndex: (NumberConstructor | StringConstructor)[];
102
105
  }>> & {
103
106
  "onUpdate:show"?: ((...args: any[]) => any) | undefined;
104
107
  }, {
@@ -29,7 +29,7 @@ var import_icon = require("../icon");
29
29
  var import_popup = require("../popup");
30
30
  var import_loading = require("../loading");
31
31
  const [name, bem] = (0, import_utils.createNamespace)("toast");
32
- const popupInheritProps = ["show", "overlay", "teleport", "transition", "overlayClass", "overlayStyle", "closeOnClickOverlay"];
32
+ const popupInheritProps = ["show", "overlay", "teleport", "transition", "overlayClass", "overlayStyle", "closeOnClickOverlay", "zIndex"];
33
33
  const toastProps = {
34
34
  icon: String,
35
35
  show: Boolean,
@@ -49,7 +49,8 @@ const toastProps = {
49
49
  overlayClass: import_utils.unknownProp,
50
50
  overlayStyle: Object,
51
51
  closeOnClick: Boolean,
52
- closeOnClickOverlay: Boolean
52
+ closeOnClickOverlay: Boolean,
53
+ zIndex: import_utils.numericProp
53
54
  };
54
55
  var stdin_default = (0, import_vue2.defineComponent)({
55
56
  name,
@@ -30,6 +30,7 @@ export declare const Toast: import("../utils").WithInstall<import("vue").DefineC
30
30
  overlayStyle: import("vue").PropType<import("vue").CSSProperties>;
31
31
  closeOnClick: BooleanConstructor;
32
32
  closeOnClickOverlay: BooleanConstructor;
33
+ zIndex: (NumberConstructor | StringConstructor)[];
33
34
  }, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:show"[], "update:show", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
34
35
  icon: StringConstructor;
35
36
  show: BooleanConstructor;
@@ -62,6 +63,7 @@ export declare const Toast: import("../utils").WithInstall<import("vue").DefineC
62
63
  overlayStyle: import("vue").PropType<import("vue").CSSProperties>;
63
64
  closeOnClick: BooleanConstructor;
64
65
  closeOnClickOverlay: BooleanConstructor;
66
+ zIndex: (NumberConstructor | StringConstructor)[];
65
67
  }>> & {
66
68
  "onUpdate:show"?: ((...args: any[]) => any) | undefined;
67
69
  }, {
@@ -9,8 +9,6 @@ export type ToastOptions = {
9
9
  type?: ToastType;
10
10
  mask?: boolean;
11
11
  message?: Numeric;
12
- onClose?: () => void;
13
- onOpened?: () => void;
14
12
  overlay?: boolean;
15
13
  duration?: number;
16
14
  teleport?: TeleportProps['to'];
@@ -26,6 +24,9 @@ export type ToastOptions = {
26
24
  overlayClass?: unknown;
27
25
  overlayStyle?: Record<string, any>;
28
26
  closeOnClickOverlay?: boolean;
27
+ zIndex?: Numeric;
28
+ onClose?: () => void;
29
+ onOpened?: () => void;
29
30
  };
30
31
  export type ToastWrapperInstance = ComponentPublicInstance<{
31
32
  message: Numeric;
@@ -1,7 +1,6 @@
1
1
  import { type PropType, type ExtractPropTypes } from 'vue';
2
2
  import { Interceptor, type Numeric } from '../utils';
3
3
  import { type ImagePreviewOptions } from '../image-preview';
4
- import type { ImageFit } from '../image';
5
4
  import type { UploaderMaxSize, UploaderAfterRead, UploaderBeforeRead, UploaderResultType, UploaderFileListItem } from './types';
6
5
  export declare const uploaderProps: {
7
6
  name: {
@@ -22,8 +21,8 @@ export declare const uploaderProps: {
22
21
  default: number;
23
22
  };
24
23
  imageFit: {
25
- type: PropType<ImageFit>;
26
- default: ImageFit;
24
+ type: PropType<import("csstype").Property.ObjectFit | undefined>;
25
+ default: import("csstype").Property.ObjectFit | undefined;
27
26
  };
28
27
  resultType: {
29
28
  type: PropType<UploaderResultType>;
@@ -85,8 +84,8 @@ declare const _default: import("vue").DefineComponent<{
85
84
  default: number;
86
85
  };
87
86
  imageFit: {
88
- type: PropType<ImageFit>;
89
- default: ImageFit;
87
+ type: PropType<import("csstype").Property.ObjectFit | undefined>;
88
+ default: import("csstype").Property.ObjectFit | undefined;
90
89
  };
91
90
  resultType: {
92
91
  type: PropType<UploaderResultType>;
@@ -146,8 +145,8 @@ declare const _default: import("vue").DefineComponent<{
146
145
  default: number;
147
146
  };
148
147
  imageFit: {
149
- type: PropType<ImageFit>;
150
- default: ImageFit;
148
+ type: PropType<import("csstype").Property.ObjectFit | undefined>;
149
+ default: import("csstype").Property.ObjectFit | undefined;
151
150
  };
152
151
  resultType: {
153
152
  type: PropType<UploaderResultType>;
@@ -205,7 +204,7 @@ declare const _default: import("vue").DefineComponent<{
205
204
  readonly: boolean;
206
205
  lazyLoad: boolean;
207
206
  maxCount: string | number;
208
- imageFit: ImageFit;
207
+ imageFit: import("csstype").Property.ObjectFit | undefined;
209
208
  resultType: UploaderResultType;
210
209
  uploadIcon: string;
211
210
  deletable: boolean;
@@ -1,6 +1,5 @@
1
1
  import { type PropType } from 'vue';
2
2
  import { type Numeric, type Interceptor } from '../utils';
3
- import { ImageFit } from '../image';
4
3
  import type { UploaderFileListItem } from './types';
5
4
  declare const _default: import("vue").DefineComponent<{
6
5
  name: (NumberConstructor | StringConstructor)[];
@@ -9,7 +8,7 @@ declare const _default: import("vue").DefineComponent<{
9
8
  required: true;
10
9
  };
11
10
  index: NumberConstructor;
12
- imageFit: PropType<ImageFit>;
11
+ imageFit: PropType<import("csstype").Property.ObjectFit | undefined>;
13
12
  lazyLoad: BooleanConstructor;
14
13
  deletable: BooleanConstructor;
15
14
  reupload: BooleanConstructor;
@@ -22,7 +21,7 @@ declare const _default: import("vue").DefineComponent<{
22
21
  required: true;
23
22
  };
24
23
  index: NumberConstructor;
25
- imageFit: PropType<ImageFit>;
24
+ imageFit: PropType<import("csstype").Property.ObjectFit | undefined>;
26
25
  lazyLoad: BooleanConstructor;
27
26
  deletable: BooleanConstructor;
28
27
  reupload: BooleanConstructor;
@@ -18,8 +18,8 @@ export declare const Uploader: import("../utils").WithInstall<import("vue").Defi
18
18
  default: number;
19
19
  };
20
20
  imageFit: {
21
- type: import("vue").PropType<import("..").ImageFit>;
22
- default: import("..").ImageFit;
21
+ type: import("vue").PropType<import("csstype").Property.ObjectFit | undefined>;
22
+ default: import("csstype").Property.ObjectFit | undefined;
23
23
  };
24
24
  resultType: {
25
25
  type: import("vue").PropType<import("./types").UploaderResultType>;
@@ -79,8 +79,8 @@ export declare const Uploader: import("../utils").WithInstall<import("vue").Defi
79
79
  default: number;
80
80
  };
81
81
  imageFit: {
82
- type: import("vue").PropType<import("..").ImageFit>;
83
- default: import("..").ImageFit;
82
+ type: import("vue").PropType<import("csstype").Property.ObjectFit | undefined>;
83
+ default: import("csstype").Property.ObjectFit | undefined;
84
84
  };
85
85
  resultType: {
86
86
  type: import("vue").PropType<import("./types").UploaderResultType>;
@@ -138,7 +138,7 @@ export declare const Uploader: import("../utils").WithInstall<import("vue").Defi
138
138
  readonly: boolean;
139
139
  lazyLoad: boolean;
140
140
  maxCount: string | number;
141
- imageFit: import("..").ImageFit;
141
+ imageFit: import("csstype").Property.ObjectFit | undefined;
142
142
  resultType: import("./types").UploaderResultType;
143
143
  uploadIcon: string;
144
144
  deletable: boolean;
@@ -1,13 +1,13 @@
1
1
  import type { InjectionKey } from 'vue';
2
2
  import type { FormProvide } from '../form/types';
3
3
  export declare const BORDER = "van-hairline";
4
- export declare const BORDER_TOP: string;
5
- export declare const BORDER_LEFT: string;
6
- export declare const BORDER_RIGHT: string;
7
- export declare const BORDER_BOTTOM: string;
8
- export declare const BORDER_SURROUND: string;
9
- export declare const BORDER_TOP_BOTTOM: string;
10
- export declare const BORDER_UNSET_TOP_BOTTOM: string;
4
+ export declare const BORDER_TOP = "van-hairline--top";
5
+ export declare const BORDER_LEFT = "van-hairline--left";
6
+ export declare const BORDER_RIGHT = "van-hairline--right";
7
+ export declare const BORDER_BOTTOM = "van-hairline--bottom";
8
+ export declare const BORDER_SURROUND = "van-hairline--surround";
9
+ export declare const BORDER_TOP_BOTTOM = "van-hairline--top-bottom";
10
+ export declare const BORDER_UNSET_TOP_BOTTOM = "van-hairline-unset--top-bottom";
11
11
  export declare const HAPTICS_FEEDBACK = "van-haptics-feedback";
12
12
  export declare const FORM_KEY: InjectionKey<FormProvide>;
13
13
  export declare const LONG_PRESS_START_TIME = 500;
package/lib/vant.cjs.js CHANGED
@@ -2131,7 +2131,7 @@ var stdin_default$1G = vue.defineComponent({
2131
2131
  if (container) {
2132
2132
  const containerRect = use.useRect(container);
2133
2133
  const difference = containerRect.bottom - offset.value - state.height;
2134
- state.fixed = offset.value > rootRect.top && containerRect.bottom > 0;
2134
+ state.fixed = offset.value >= rootRect.top && containerRect.bottom > 0;
2135
2135
  state.transform = difference < 0 ? difference : 0;
2136
2136
  } else {
2137
2137
  state.fixed = offset.value > rootRect.top;
@@ -4564,7 +4564,7 @@ function lockClick(lock) {
4564
4564
  }
4565
4565
  }
4566
4566
  const [name$1k, bem$1g] = createNamespace("toast");
4567
- const popupInheritProps = ["show", "overlay", "teleport", "transition", "overlayClass", "overlayStyle", "closeOnClickOverlay"];
4567
+ const popupInheritProps$1 = ["show", "overlay", "teleport", "transition", "overlayClass", "overlayStyle", "closeOnClickOverlay", "zIndex"];
4568
4568
  const toastProps = {
4569
4569
  icon: String,
4570
4570
  show: Boolean,
@@ -4584,7 +4584,8 @@ const toastProps = {
4584
4584
  overlayClass: unknownProp,
4585
4585
  overlayStyle: Object,
4586
4586
  closeOnClick: Boolean,
4587
- closeOnClickOverlay: Boolean
4587
+ closeOnClickOverlay: Boolean,
4588
+ zIndex: numericProp
4588
4589
  };
4589
4590
  var stdin_default$1u = vue.defineComponent({
4590
4591
  name: name$1k,
@@ -4674,7 +4675,7 @@ var stdin_default$1u = vue.defineComponent({
4674
4675
  "onClick": onClick,
4675
4676
  "onClosed": clearTimer,
4676
4677
  "onUpdate:show": updateShow
4677
- }, pick(props2, popupInheritProps)), {
4678
+ }, pick(props2, popupInheritProps$1)), {
4678
4679
  default: () => [renderIcon(), renderMessage()]
4679
4680
  });
4680
4681
  }
@@ -10472,6 +10473,7 @@ const imagePreviewItemProps = {
10472
10473
  rootHeight: makeRequiredProp(Number),
10473
10474
  disableZoom: Boolean,
10474
10475
  doubleScale: Boolean,
10476
+ closeOnClickImage: Boolean,
10475
10477
  closeOnClickOverlay: Boolean
10476
10478
  };
10477
10479
  var stdin_default$N = vue.defineComponent({
@@ -10636,7 +10638,12 @@ var stdin_default$N = vue.defineComponent({
10636
10638
  };
10637
10639
  const checkClose = (event) => {
10638
10640
  var _a;
10639
- const isClickOverlay = event.target === ((_a = swipeItem.value) == null ? void 0 : _a.$el);
10641
+ const swipeItemEl = (_a = swipeItem.value) == null ? void 0 : _a.$el;
10642
+ const imageEl = swipeItemEl.firstElementChild;
10643
+ const isClickOverlay = event.target === swipeItemEl;
10644
+ const isClickImage = imageEl == null ? void 0 : imageEl.contains(event.target);
10645
+ if (!props2.closeOnClickImage && isClickImage)
10646
+ return;
10640
10647
  if (!props2.closeOnClickOverlay && isClickOverlay)
10641
10648
  return;
10642
10649
  emit("close");
@@ -10796,6 +10803,7 @@ const imagePreviewProps = {
10796
10803
  startPosition: makeNumericProp(0),
10797
10804
  showIndicators: Boolean,
10798
10805
  closeOnPopstate: truthProp,
10806
+ closeOnClickImage: truthProp,
10799
10807
  closeOnClickOverlay: truthProp,
10800
10808
  closeIconPosition: makeStringProp("top-right"),
10801
10809
  teleport: [String, Object]
@@ -10888,6 +10896,7 @@ var stdin_default$M = vue.defineComponent({
10888
10896
  "rootHeight": state.rootHeight,
10889
10897
  "disableZoom": state.disableZoom,
10890
10898
  "doubleScale": props2.doubleScale,
10899
+ "closeOnClickImage": props2.closeOnClickImage,
10891
10900
  "closeOnClickOverlay": props2.closeOnClickOverlay,
10892
10901
  "onScale": emitScale,
10893
10902
  "onClose": emitClose,
@@ -11697,6 +11706,7 @@ var stdin_default$H = vue.defineComponent({
11697
11706
  });
11698
11707
  const NoticeBar = withInstall(stdin_default$H);
11699
11708
  const [name$y, bem$x] = createNamespace("notify");
11709
+ const popupInheritProps = ["lockScroll", "position", "show", "teleport", "zIndex"];
11700
11710
  const notifyProps = extend({}, popupSharedProps, {
11701
11711
  type: makeStringProp("danger"),
11702
11712
  color: String,
@@ -11715,20 +11725,16 @@ var stdin_default$G = vue.defineComponent({
11715
11725
  slots
11716
11726
  }) {
11717
11727
  const updateShow = (show) => emit("update:show", show);
11718
- return () => vue.createVNode(Popup, {
11719
- "show": props2.show,
11728
+ return () => vue.createVNode(Popup, vue.mergeProps({
11720
11729
  "class": [bem$x([props2.type]), props2.className],
11721
11730
  "style": {
11722
11731
  color: props2.color,
11723
11732
  background: props2.background
11724
11733
  },
11725
11734
  "overlay": false,
11726
- "zIndex": props2.zIndex,
11727
- "position": props2.position,
11728
11735
  "duration": 0.2,
11729
- "lockScroll": props2.lockScroll,
11730
11736
  "onUpdate:show": updateShow
11731
- }, {
11737
+ }, pick(props2, popupInheritProps)), {
11732
11738
  default: () => [slots.default ? slots.default() : props2.message]
11733
11739
  });
11734
11740
  }
@@ -14973,7 +14979,8 @@ var stdin_default$9 = vue.defineComponent({
14973
14979
  props: textEllipsisProps,
14974
14980
  emits: ["clickAction"],
14975
14981
  setup(props2, {
14976
- emit
14982
+ emit,
14983
+ slots
14977
14984
  }) {
14978
14985
  const text = vue.ref("");
14979
14986
  const expanded = vue.ref(false);
@@ -15081,10 +15088,15 @@ var stdin_default$9 = vue.defineComponent({
15081
15088
  toggle();
15082
15089
  emit("clickAction", event);
15083
15090
  };
15084
- const renderAction = () => vue.createVNode("span", {
15085
- "class": bem$3("action"),
15086
- "onClick": onClickAction
15087
- }, [actionText.value]);
15091
+ const renderAction = () => {
15092
+ const action = slots.action ? slots.action({
15093
+ expanded: expanded.value
15094
+ }) : actionText.value;
15095
+ return vue.createVNode("span", {
15096
+ "class": bem$3("action"),
15097
+ "onClick": onClickAction
15098
+ }, [action]);
15099
+ };
15088
15100
  vue.onMounted(calcEllipsised);
15089
15101
  vue.watch([windowWidth, () => [props2.content, props2.rows, props2.position]], calcEllipsised);
15090
15102
  useExpose({
@@ -16756,7 +16768,7 @@ const Lazyload = {
16756
16768
  });
16757
16769
  }
16758
16770
  };
16759
- const version = "4.8.2";
16771
+ const version = "4.8.3";
16760
16772
  function install(app) {
16761
16773
  const components = [
16762
16774
  ActionBar,
package/lib/vant.es.js CHANGED
@@ -2129,7 +2129,7 @@ var stdin_default$1G = defineComponent({
2129
2129
  if (container) {
2130
2130
  const containerRect = useRect(container);
2131
2131
  const difference = containerRect.bottom - offset.value - state.height;
2132
- state.fixed = offset.value > rootRect.top && containerRect.bottom > 0;
2132
+ state.fixed = offset.value >= rootRect.top && containerRect.bottom > 0;
2133
2133
  state.transform = difference < 0 ? difference : 0;
2134
2134
  } else {
2135
2135
  state.fixed = offset.value > rootRect.top;
@@ -4562,7 +4562,7 @@ function lockClick(lock) {
4562
4562
  }
4563
4563
  }
4564
4564
  const [name$1k, bem$1g] = createNamespace("toast");
4565
- const popupInheritProps = ["show", "overlay", "teleport", "transition", "overlayClass", "overlayStyle", "closeOnClickOverlay"];
4565
+ const popupInheritProps$1 = ["show", "overlay", "teleport", "transition", "overlayClass", "overlayStyle", "closeOnClickOverlay", "zIndex"];
4566
4566
  const toastProps = {
4567
4567
  icon: String,
4568
4568
  show: Boolean,
@@ -4582,7 +4582,8 @@ const toastProps = {
4582
4582
  overlayClass: unknownProp,
4583
4583
  overlayStyle: Object,
4584
4584
  closeOnClick: Boolean,
4585
- closeOnClickOverlay: Boolean
4585
+ closeOnClickOverlay: Boolean,
4586
+ zIndex: numericProp
4586
4587
  };
4587
4588
  var stdin_default$1u = defineComponent({
4588
4589
  name: name$1k,
@@ -4672,7 +4673,7 @@ var stdin_default$1u = defineComponent({
4672
4673
  "onClick": onClick,
4673
4674
  "onClosed": clearTimer,
4674
4675
  "onUpdate:show": updateShow
4675
- }, pick(props2, popupInheritProps)), {
4676
+ }, pick(props2, popupInheritProps$1)), {
4676
4677
  default: () => [renderIcon(), renderMessage()]
4677
4678
  });
4678
4679
  }
@@ -10470,6 +10471,7 @@ const imagePreviewItemProps = {
10470
10471
  rootHeight: makeRequiredProp(Number),
10471
10472
  disableZoom: Boolean,
10472
10473
  doubleScale: Boolean,
10474
+ closeOnClickImage: Boolean,
10473
10475
  closeOnClickOverlay: Boolean
10474
10476
  };
10475
10477
  var stdin_default$N = defineComponent({
@@ -10634,7 +10636,12 @@ var stdin_default$N = defineComponent({
10634
10636
  };
10635
10637
  const checkClose = (event) => {
10636
10638
  var _a;
10637
- const isClickOverlay = event.target === ((_a = swipeItem.value) == null ? void 0 : _a.$el);
10639
+ const swipeItemEl = (_a = swipeItem.value) == null ? void 0 : _a.$el;
10640
+ const imageEl = swipeItemEl.firstElementChild;
10641
+ const isClickOverlay = event.target === swipeItemEl;
10642
+ const isClickImage = imageEl == null ? void 0 : imageEl.contains(event.target);
10643
+ if (!props2.closeOnClickImage && isClickImage)
10644
+ return;
10638
10645
  if (!props2.closeOnClickOverlay && isClickOverlay)
10639
10646
  return;
10640
10647
  emit("close");
@@ -10794,6 +10801,7 @@ const imagePreviewProps = {
10794
10801
  startPosition: makeNumericProp(0),
10795
10802
  showIndicators: Boolean,
10796
10803
  closeOnPopstate: truthProp,
10804
+ closeOnClickImage: truthProp,
10797
10805
  closeOnClickOverlay: truthProp,
10798
10806
  closeIconPosition: makeStringProp("top-right"),
10799
10807
  teleport: [String, Object]
@@ -10886,6 +10894,7 @@ var stdin_default$M = defineComponent({
10886
10894
  "rootHeight": state.rootHeight,
10887
10895
  "disableZoom": state.disableZoom,
10888
10896
  "doubleScale": props2.doubleScale,
10897
+ "closeOnClickImage": props2.closeOnClickImage,
10889
10898
  "closeOnClickOverlay": props2.closeOnClickOverlay,
10890
10899
  "onScale": emitScale,
10891
10900
  "onClose": emitClose,
@@ -11695,6 +11704,7 @@ var stdin_default$H = defineComponent({
11695
11704
  });
11696
11705
  const NoticeBar = withInstall(stdin_default$H);
11697
11706
  const [name$y, bem$x] = createNamespace("notify");
11707
+ const popupInheritProps = ["lockScroll", "position", "show", "teleport", "zIndex"];
11698
11708
  const notifyProps = extend({}, popupSharedProps, {
11699
11709
  type: makeStringProp("danger"),
11700
11710
  color: String,
@@ -11713,20 +11723,16 @@ var stdin_default$G = defineComponent({
11713
11723
  slots
11714
11724
  }) {
11715
11725
  const updateShow = (show) => emit("update:show", show);
11716
- return () => createVNode(Popup, {
11717
- "show": props2.show,
11726
+ return () => createVNode(Popup, mergeProps({
11718
11727
  "class": [bem$x([props2.type]), props2.className],
11719
11728
  "style": {
11720
11729
  color: props2.color,
11721
11730
  background: props2.background
11722
11731
  },
11723
11732
  "overlay": false,
11724
- "zIndex": props2.zIndex,
11725
- "position": props2.position,
11726
11733
  "duration": 0.2,
11727
- "lockScroll": props2.lockScroll,
11728
11734
  "onUpdate:show": updateShow
11729
- }, {
11735
+ }, pick(props2, popupInheritProps)), {
11730
11736
  default: () => [slots.default ? slots.default() : props2.message]
11731
11737
  });
11732
11738
  }
@@ -14971,7 +14977,8 @@ var stdin_default$9 = defineComponent({
14971
14977
  props: textEllipsisProps,
14972
14978
  emits: ["clickAction"],
14973
14979
  setup(props2, {
14974
- emit
14980
+ emit,
14981
+ slots
14975
14982
  }) {
14976
14983
  const text = ref("");
14977
14984
  const expanded = ref(false);
@@ -15079,10 +15086,15 @@ var stdin_default$9 = defineComponent({
15079
15086
  toggle();
15080
15087
  emit("clickAction", event);
15081
15088
  };
15082
- const renderAction = () => createVNode("span", {
15083
- "class": bem$3("action"),
15084
- "onClick": onClickAction
15085
- }, [actionText.value]);
15089
+ const renderAction = () => {
15090
+ const action = slots.action ? slots.action({
15091
+ expanded: expanded.value
15092
+ }) : actionText.value;
15093
+ return createVNode("span", {
15094
+ "class": bem$3("action"),
15095
+ "onClick": onClickAction
15096
+ }, [action]);
15097
+ };
15086
15098
  onMounted(calcEllipsised);
15087
15099
  watch([windowWidth, () => [props2.content, props2.rows, props2.position]], calcEllipsised);
15088
15100
  useExpose({
@@ -16754,7 +16766,7 @@ const Lazyload = {
16754
16766
  });
16755
16767
  }
16756
16768
  };
16757
- const version = "4.8.2";
16769
+ const version = "4.8.3";
16758
16770
  function install(app) {
16759
16771
  const components = [
16760
16772
  ActionBar,