vant 3.5.1 → 3.5.4

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 (91) hide show
  1. package/LICENSE +10 -0
  2. package/README.md +13 -13
  3. package/changelog.generated.md +54 -0
  4. package/es/action-bar/ActionBar.d.ts +4 -0
  5. package/es/action-bar/ActionBar.mjs +13 -2
  6. package/es/action-bar/index.d.ts +3 -0
  7. package/es/button/index.less +1 -1
  8. package/es/calendar/Calendar.mjs +3 -1
  9. package/es/calendar/types.d.ts +1 -0
  10. package/es/cell/Cell.d.ts +1 -1
  11. package/es/cell/index.d.ts +1 -1
  12. package/es/collapse/Collapse.d.ts +8 -1
  13. package/es/collapse/Collapse.mjs +28 -1
  14. package/es/collapse/index.d.ts +1 -1
  15. package/es/collapse-item/CollapseItem.d.ts +1 -1
  16. package/es/collapse-item/CollapseItem.mjs +3 -1
  17. package/es/collapse-item/index.d.ts +1 -1
  18. package/es/collapse-item/index.less +1 -1
  19. package/es/composables/use-height.d.ts +1 -1
  20. package/es/composables/use-height.mjs +6 -2
  21. package/es/composables/use-placeholder.mjs +1 -1
  22. package/es/dialog/Dialog.d.ts +1 -1
  23. package/es/field/Field.d.ts +4 -2
  24. package/es/field/Field.mjs +7 -1
  25. package/es/field/index.d.ts +4 -2
  26. package/es/field/index.less +1 -1
  27. package/es/grid-item/index.less +1 -1
  28. package/es/index.d.ts +1 -1
  29. package/es/index.mjs +1 -1
  30. package/es/locale/index.d.ts +1 -1
  31. package/es/popover/Popover.mjs +17 -18
  32. package/es/sidebar-item/index.less +1 -1
  33. package/es/submit-bar/SubmitBar.d.ts +4 -0
  34. package/es/submit-bar/SubmitBar.mjs +13 -2
  35. package/es/submit-bar/index.d.ts +3 -0
  36. package/es/swipe/index.less +1 -1
  37. package/es/switch/index.less +1 -1
  38. package/es/toast/index.less +1 -1
  39. package/es/uploader/Uploader.mjs +1 -1
  40. package/es/utils/basic.d.ts +3 -3
  41. package/es/utils/create.d.ts +1 -1
  42. package/lib/action-bar/ActionBar.d.ts +4 -0
  43. package/lib/action-bar/ActionBar.js +12 -1
  44. package/lib/action-bar/index.d.ts +3 -0
  45. package/lib/button/index.less +1 -1
  46. package/lib/calendar/Calendar.js +3 -1
  47. package/lib/calendar/types.d.ts +1 -0
  48. package/lib/cell/Cell.d.ts +1 -1
  49. package/lib/cell/index.d.ts +1 -1
  50. package/lib/collapse/Collapse.d.ts +8 -1
  51. package/lib/collapse/Collapse.js +28 -1
  52. package/lib/collapse/index.d.ts +1 -1
  53. package/lib/collapse-item/CollapseItem.d.ts +1 -1
  54. package/lib/collapse-item/CollapseItem.js +3 -1
  55. package/lib/collapse-item/index.d.ts +1 -1
  56. package/lib/collapse-item/index.less +1 -1
  57. package/lib/composables/use-height.d.ts +1 -1
  58. package/lib/composables/use-height.js +6 -2
  59. package/lib/composables/use-placeholder.js +1 -1
  60. package/lib/dialog/Dialog.d.ts +1 -1
  61. package/lib/field/Field.d.ts +4 -2
  62. package/lib/field/Field.js +7 -1
  63. package/lib/field/index.d.ts +4 -2
  64. package/lib/field/index.less +1 -1
  65. package/lib/grid-item/index.less +1 -1
  66. package/lib/index.d.ts +1 -1
  67. package/lib/index.js +1 -1
  68. package/lib/locale/index.d.ts +1 -1
  69. package/lib/popover/Popover.js +17 -18
  70. package/lib/sidebar-item/index.less +1 -1
  71. package/lib/submit-bar/SubmitBar.d.ts +4 -0
  72. package/lib/submit-bar/SubmitBar.js +12 -1
  73. package/lib/submit-bar/index.d.ts +3 -0
  74. package/lib/swipe/index.less +1 -1
  75. package/lib/switch/index.less +1 -1
  76. package/lib/toast/index.less +1 -1
  77. package/lib/uploader/Uploader.js +1 -1
  78. package/lib/utils/basic.d.ts +3 -3
  79. package/lib/utils/create.d.ts +1 -1
  80. package/lib/vant.cjs.js +182 -50
  81. package/lib/vant.es.js +271 -49
  82. package/lib/vant.js +107 -48
  83. package/lib/vant.min.js +1 -1
  84. package/{vetur → lib}/web-types.json +1346 -1312
  85. package/package.json +9 -14
  86. package/lib/ssr.js +0 -7
  87. package/lib/ssr.mjs +0 -1
  88. package/lib/vant.cjs.min.js +0 -1
  89. package/lib/vant.es.min.js +0 -14667
  90. package/vetur/attributes.json +0 -3474
  91. package/vetur/tags.json +0 -1202
@@ -81,7 +81,7 @@ export declare const Field: import("../utils").WithInstall<import("vue").DefineC
81
81
  type: BooleanConstructor;
82
82
  default: null;
83
83
  };
84
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "focus" | "blur" | "keypress" | "click-input" | "click-left-icon" | "click-right-icon" | "update:modelValue")[], "clear" | "focus" | "blur" | "keypress" | "click-input" | "click-left-icon" | "click-right-icon" | "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
84
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "focus" | "blur" | "keypress" | "click-input" | "end-validate" | "start-validate" | "click-left-icon" | "click-right-icon" | "update:modelValue")[], "clear" | "focus" | "blur" | "keypress" | "click-input" | "end-validate" | "start-validate" | "click-left-icon" | "click-right-icon" | "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
85
85
  icon: StringConstructor;
86
86
  size: import("vue").PropType<import("..").CellSize>;
87
87
  title: (NumberConstructor | StringConstructor)[];
@@ -169,17 +169,19 @@ export declare const Field: import("../utils").WithInstall<import("vue").DefineC
169
169
  onKeypress?: ((...args: any[]) => any) | undefined;
170
170
  onClear?: ((...args: any[]) => any) | undefined;
171
171
  "onClick-input"?: ((...args: any[]) => any) | undefined;
172
+ "onEnd-validate"?: ((...args: any[]) => any) | undefined;
173
+ "onStart-validate"?: ((...args: any[]) => any) | undefined;
172
174
  "onClick-left-icon"?: ((...args: any[]) => any) | undefined;
173
175
  "onClick-right-icon"?: ((...args: any[]) => any) | undefined;
174
176
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
175
177
  }, {
176
178
  type: import("./types").FieldType;
179
+ required: boolean;
177
180
  center: boolean;
178
181
  autofocus: boolean;
179
182
  disabled: boolean;
180
183
  isLink: boolean;
181
184
  border: boolean;
182
- required: boolean;
183
185
  clickable: boolean | null;
184
186
  clearable: boolean;
185
187
  clearIcon: string;
@@ -78,7 +78,7 @@
78
78
  background-color: transparent;
79
79
  border: 0;
80
80
  resize: none;
81
- // https://github.com/youzan/vant/pull/9418
81
+ // https://github.com/vant-ui/vant/pull/9418
82
82
  user-select: auto;
83
83
 
84
84
  &::placeholder {
@@ -25,7 +25,7 @@
25
25
  color: var(--van-grid-item-text-color);
26
26
  font-size: var(--van-grid-item-text-font-size);
27
27
  line-height: 1.5;
28
- // https://github.com/youzan/vant/issues/3894
28
+ // https://github.com/vant-ui/vant/issues/3894
29
29
  word-break: break-all;
30
30
  }
31
31
 
package/lib/index.d.ts CHANGED
@@ -90,4 +90,4 @@ declare namespace _default {
90
90
  }
91
91
  export default _default;
92
92
  export function install(app: any): void;
93
- export const version: "3.5.1";
93
+ export const version: "3.5.4";
package/lib/index.js CHANGED
@@ -194,7 +194,7 @@ __reExport(stdin_exports, require("./tag"), module.exports);
194
194
  __reExport(stdin_exports, require("./toast"), module.exports);
195
195
  __reExport(stdin_exports, require("./tree-select"), module.exports);
196
196
  __reExport(stdin_exports, require("./uploader"), module.exports);
197
- const version = "3.5.1";
197
+ const version = "3.5.4";
198
198
  function install(app) {
199
199
  const components = [
200
200
  import_action_bar.ActionBar,
@@ -1,7 +1,7 @@
1
1
  declare type Message = Record<string, any>;
2
2
  export declare const Locale: {
3
3
  messages(): Message;
4
- use(newLang: string, newMessages?: Message | undefined): void;
4
+ use(newLang: string, newMessages?: Message): void;
5
5
  add(newMessages?: Message): void;
6
6
  };
7
7
  export default Locale;
@@ -65,22 +65,23 @@ var stdin_default = (0, import_vue2.defineComponent)({
65
65
  let popper;
66
66
  const wrapperRef = (0, import_vue2.ref)();
67
67
  const popoverRef = (0, import_vue2.ref)();
68
+ const getPopoverOptions = () => ({
69
+ placement: props.placement,
70
+ modifiers: [{
71
+ name: "computeStyles",
72
+ options: {
73
+ adaptive: false,
74
+ gpuAcceleration: false
75
+ }
76
+ }, (0, import_utils.extend)({}, import_popperjs.offsetModifier, {
77
+ options: {
78
+ offset: props.offset
79
+ }
80
+ })]
81
+ });
68
82
  const createPopperInstance = () => {
69
83
  if (wrapperRef.value && popoverRef.value) {
70
- return (0, import_popperjs.createPopper)(wrapperRef.value, popoverRef.value.popupRef.value, {
71
- placement: props.placement,
72
- modifiers: [{
73
- name: "computeStyles",
74
- options: {
75
- adaptive: false,
76
- gpuAcceleration: false
77
- }
78
- }, (0, import_utils.extend)({}, import_popperjs.offsetModifier, {
79
- options: {
80
- offset: props.offset
81
- }
82
- })]
83
- });
84
+ return (0, import_popperjs.createPopper)(wrapperRef.value, popoverRef.value.popupRef.value, getPopoverOptions());
84
85
  }
85
86
  return null;
86
87
  };
@@ -92,9 +93,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
92
93
  if (!popper) {
93
94
  popper = createPopperInstance();
94
95
  } else {
95
- popper.setOptions({
96
- placement: props.placement
97
- });
96
+ popper.setOptions(getPopoverOptions());
98
97
  }
99
98
  });
100
99
  };
@@ -165,7 +164,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
165
164
  popper = null;
166
165
  }
167
166
  });
168
- (0, import_vue2.watch)(() => [props.show, props.placement], updateLocation);
167
+ (0, import_vue2.watch)(() => [props.show, props.offset, props.placement], updateLocation);
169
168
  (0, import_use.useClickAway)(wrapperRef, onClickAway, {
170
169
  eventName: "touchstart"
171
170
  });
@@ -38,7 +38,7 @@
38
38
  }
39
39
 
40
40
  &__text {
41
- // https://github.com/youzan/vant/issues/7455
41
+ // https://github.com/vant-ui/vant/issues/7455
42
42
  word-break: break-all;
43
43
  }
44
44
 
@@ -20,6 +20,7 @@ declare const submitBarProps: {
20
20
  };
21
21
  buttonColor: StringConstructor;
22
22
  suffixLabel: StringConstructor;
23
+ placeholder: BooleanConstructor;
23
24
  decimalLength: {
24
25
  type: (NumberConstructor | StringConstructor)[];
25
26
  default: number;
@@ -49,6 +50,7 @@ declare const _default: import("vue").DefineComponent<{
49
50
  };
50
51
  buttonColor: StringConstructor;
51
52
  suffixLabel: StringConstructor;
53
+ placeholder: BooleanConstructor;
52
54
  decimalLength: {
53
55
  type: (NumberConstructor | StringConstructor)[];
54
56
  default: number;
@@ -76,6 +78,7 @@ declare const _default: import("vue").DefineComponent<{
76
78
  };
77
79
  buttonColor: StringConstructor;
78
80
  suffixLabel: StringConstructor;
81
+ placeholder: BooleanConstructor;
79
82
  decimalLength: {
80
83
  type: (NumberConstructor | StringConstructor)[];
81
84
  default: number;
@@ -88,6 +91,7 @@ declare const _default: import("vue").DefineComponent<{
88
91
  onSubmit?: ((...args: any[]) => any) | undefined;
89
92
  }, {
90
93
  disabled: boolean;
94
+ placeholder: boolean;
91
95
  safeAreaInsetBottom: boolean;
92
96
  loading: boolean;
93
97
  currency: string;
@@ -25,6 +25,7 @@ var import_vue2 = require("vue");
25
25
  var import_utils = require("../utils");
26
26
  var import_icon = require("../icon");
27
27
  var import_button = require("../button");
28
+ var import_use_placeholder = require("../composables/use-placeholder");
28
29
  const [name, bem, t] = (0, import_utils.createNamespace)("submit-bar");
29
30
  const submitBarProps = {
30
31
  tip: String,
@@ -39,6 +40,7 @@ const submitBarProps = {
39
40
  buttonType: (0, import_utils.makeStringProp)("danger"),
40
41
  buttonColor: String,
41
42
  suffixLabel: String,
43
+ placeholder: Boolean,
42
44
  decimalLength: (0, import_utils.makeNumericProp)(2),
43
45
  safeAreaInsetBottom: import_utils.truthProp
44
46
  };
@@ -50,6 +52,8 @@ var stdin_default = (0, import_vue2.defineComponent)({
50
52
  emit,
51
53
  slots
52
54
  }) {
55
+ const root = (0, import_vue2.ref)();
56
+ const renderPlaceholder = (0, import_use_placeholder.usePlaceholder)(root, bem);
53
57
  const renderText = () => {
54
58
  const {
55
59
  price,
@@ -109,9 +113,10 @@ var stdin_default = (0, import_vue2.defineComponent)({
109
113
  "onClick": onClickButton
110
114
  }, null);
111
115
  };
112
- return () => {
116
+ const renderSubmitBar = () => {
113
117
  var _a, _b;
114
118
  return (0, import_vue.createVNode)("div", {
119
+ "ref": root,
115
120
  "class": [bem(), {
116
121
  "van-safe-area-bottom": props.safeAreaInsetBottom
117
122
  }]
@@ -119,5 +124,11 @@ var stdin_default = (0, import_vue2.defineComponent)({
119
124
  "class": bem("bar")
120
125
  }, [(_b = slots.default) == null ? void 0 : _b.call(slots), renderText(), renderButton()])]);
121
126
  };
127
+ return () => {
128
+ if (props.placeholder) {
129
+ return renderPlaceholder(renderSubmitBar);
130
+ }
131
+ return renderSubmitBar();
132
+ };
122
133
  }
123
134
  });
@@ -17,6 +17,7 @@ export declare const SubmitBar: import("../utils").WithInstall<import("vue").Def
17
17
  };
18
18
  buttonColor: StringConstructor;
19
19
  suffixLabel: StringConstructor;
20
+ placeholder: BooleanConstructor;
20
21
  decimalLength: {
21
22
  type: (NumberConstructor | StringConstructor)[];
22
23
  default: number;
@@ -44,6 +45,7 @@ export declare const SubmitBar: import("../utils").WithInstall<import("vue").Def
44
45
  };
45
46
  buttonColor: StringConstructor;
46
47
  suffixLabel: StringConstructor;
48
+ placeholder: BooleanConstructor;
47
49
  decimalLength: {
48
50
  type: (NumberConstructor | StringConstructor)[];
49
51
  default: number;
@@ -56,6 +58,7 @@ export declare const SubmitBar: import("../utils").WithInstall<import("vue").Def
56
58
  onSubmit?: ((...args: any[]) => any) | undefined;
57
59
  }, {
58
60
  disabled: boolean;
61
+ placeholder: boolean;
59
62
  safeAreaInsetBottom: boolean;
60
63
  loading: boolean;
61
64
  currency: string;
@@ -12,7 +12,7 @@
12
12
  .van-swipe {
13
13
  position: relative;
14
14
  overflow: hidden;
15
- // https://github.com/youzan/vant/issues/9931
15
+ // https://github.com/vant-ui/vant/issues/9931
16
16
  transform: translateZ(0);
17
17
  cursor: grab;
18
18
  user-select: none;
@@ -33,7 +33,7 @@
33
33
  left: 0;
34
34
  width: var(--van-switch-node-size);
35
35
  height: var(--van-switch-node-size);
36
- // https://github.com/youzan/vant/issues/9839
36
+ // https://github.com/vant-ui/vant/issues/9839
37
37
  font-size: inherit;
38
38
  background: var(--van-switch-node-background-color);
39
39
  border-radius: 100%;
@@ -38,7 +38,7 @@
38
38
  // allow newline character
39
39
  white-space: pre-wrap;
40
40
  text-align: center;
41
- // https://github.com/youzan/vant/issues/8959
41
+ // https://github.com/vant-ui/vant/issues/8959
42
42
  word-break: break-all;
43
43
  background: var(--van-toast-background-color);
44
44
  border-radius: var(--van-toast-border-radius);
@@ -172,7 +172,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
172
172
  if (props.previewFullImage) {
173
173
  const imageFiles = props.modelValue.filter(import_utils2.isImageFile);
174
174
  const images = imageFiles.map((item2) => {
175
- if (item2.file && !item2.url) {
175
+ if (item2.file && !item2.url && item2.status !== "failed") {
176
176
  item2.url = URL.createObjectURL(item2.file);
177
177
  urls.push(item2.url);
178
178
  }
@@ -1,9 +1,9 @@
1
1
  import type { ComponentPublicInstance } from 'vue';
2
2
  export declare function noop(): void;
3
3
  export declare const extend: {
4
- <T, U>(target: T, source: U): T & U;
5
- <T_1, U_1, V>(target: T_1, source1: U_1, source2: V): T_1 & U_1 & V;
6
- <T_2, U_2, V_1, W>(target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W;
4
+ <T extends {}, U>(target: T, source: U): T & U;
5
+ <T_1 extends {}, U_1, V>(target: T_1, source1: U_1, source2: V): T_1 & U_1 & V;
6
+ <T_2 extends {}, U_2, V_1, W>(target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W;
7
7
  (target: object, ...sources: any[]): any;
8
8
  };
9
9
  export declare const inBrowser: boolean;
@@ -12,6 +12,6 @@ export declare type Mods = Mod | Mod[];
12
12
  * b('text', { disabled }) // 'button__text button__text--disabled'
13
13
  * b(['disabled', 'primary']) // 'button button--disabled button--primary'
14
14
  */
15
- export declare function createBEM(name: string): (el?: Mods | undefined, mods?: Mods | undefined) => Mods;
15
+ export declare function createBEM(name: string): (el?: Mods, mods?: Mods) => Mods;
16
16
  export declare type BEM = ReturnType<typeof createBEM>;
17
17
  export declare function createNamespace(name: string): readonly [string, (el?: Mods | undefined, mods?: Mods | undefined) => Mods, (path: string, ...args: unknown[]) => any];