vant 3.4.8 → 3.4.9

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 (47) hide show
  1. package/changelog.generated.md +31 -39
  2. package/es/empty/Empty.js +10 -13
  3. package/es/empty/Images.d.ts +4 -0
  4. package/es/empty/Images.js +271 -0
  5. package/es/field/Field.js +6 -3
  6. package/es/field/types.d.ts +1 -1
  7. package/es/form/Form.d.ts +13 -13
  8. package/es/form/Form.js +6 -3
  9. package/es/form/index.d.ts +9 -9
  10. package/es/index.d.ts +1 -1
  11. package/es/index.js +1 -1
  12. package/es/loading/Loading.js +3 -1
  13. package/es/uploader/Uploader.js +2 -2
  14. package/es/uploader/utils.d.ts +0 -1
  15. package/es/uploader/utils.js +2 -4
  16. package/es/utils/basic.d.ts +1 -0
  17. package/es/utils/basic.js +3 -1
  18. package/lib/empty/Empty.js +10 -13
  19. package/lib/empty/Images.d.ts +4 -0
  20. package/lib/empty/Images.js +290 -0
  21. package/lib/field/Field.js +5 -2
  22. package/lib/field/types.d.ts +1 -1
  23. package/lib/form/Form.d.ts +13 -13
  24. package/lib/form/Form.js +5 -2
  25. package/lib/form/index.d.ts +9 -9
  26. package/lib/index.d.ts +1 -1
  27. package/lib/index.js +1 -1
  28. package/lib/loading/Loading.js +3 -1
  29. package/lib/uploader/Uploader.js +1 -1
  30. package/lib/uploader/utils.d.ts +0 -1
  31. package/lib/uploader/utils.js +2 -4
  32. package/lib/utils/basic.d.ts +1 -0
  33. package/lib/utils/basic.js +3 -1
  34. package/lib/vant.cjs.js +233 -49
  35. package/lib/vant.cjs.min.js +1 -1
  36. package/lib/vant.es.js +233 -49
  37. package/lib/vant.es.min.js +233 -49
  38. package/lib/vant.js +233 -49
  39. package/lib/vant.min.js +1 -1
  40. package/package.json +1 -1
  41. package/vetur/attributes.json +276 -276
  42. package/vetur/tags.json +90 -90
  43. package/vetur/web-types.json +1070 -1070
  44. package/es/empty/Network.d.ts +0 -1
  45. package/es/empty/Network.js +0 -89
  46. package/lib/empty/Network.d.ts +0 -1
  47. package/lib/empty/Network.js +0 -108
@@ -1,3 +1,33 @@
1
+ ### [v3.4.9](https://github.com/youzan/vant/compare/v3.4.8...v3.4.9)
2
+
3
+ `2022-05-02`
4
+
5
+ **Bug Fixes**
6
+
7
+ - @vant/area-data: only publish dist folder to npm [f927f6](https://github.com/youzan/vant/commit/f927f6a7518cf7d08ec8abc5dd35019685c19e3a)
8
+ - remove default license in vant cli template [#10546](https://github.com/youzan/vant/issues/10546)
9
+
10
+ **Document**
11
+
12
+ - @vant/cli: optimize links and fix typos [#10545](https://github.com/youzan/vant/issues/10545)
13
+ - changelog: 3.4.8 [666089](https://github.com/youzan/vant/commit/666089edbb2b894fec5e8f023c0037ca5c7dbe41)
14
+ - translate docs of composables [#10561](https://github.com/youzan/vant/issues/10561)
15
+ - update the composables content [#10560](https://github.com/youzan/vant/issues/10560)
16
+ - vant-cli: translate README to en [#10519](https://github.com/youzan/vant/issues/10519)
17
+ - vant-cli: translate vant-cli docs to en [#10537](https://github.com/youzan/vant/issues/10537)
18
+ - vant: keep the doc consistent with the demo code [#10554](https://github.com/youzan/vant/issues/10554)
19
+
20
+ **Feature**
21
+
22
+ - Form: support setting multile validate-trigger [#10544](https://github.com/youzan/vant/issues/10544)
23
+ - Image: localize default image [#10514](https://github.com/youzan/vant/issues/10514)
24
+ - Image: localize error image [#10515](https://github.com/youzan/vant/issues/10515)
25
+ - Image: localize search image [#10516](https://github.com/youzan/vant/issues/10516)
26
+ - Loading: add aria to improve a11y [#10568](https://github.com/youzan/vant/issues/10568)
27
+
28
+ **release**
29
+
30
+ - @vant/area-data 1.2.4 [c378f4](https://github.com/youzan/vant/commit/c378f4ead14176e371ce1e80074244268fbc5769)
1
31
  ### [v3.4.8](https://github.com/youzan/vant/compare/v3.4.7...v3.4.8)
2
32
 
3
33
  `2022-04-16`
@@ -38,42 +68,4 @@
38
68
 
39
69
  - @vant/icons 1.8.0 [e461ab](https://github.com/youzan/vant/commit/e461abaafaea45ee6ba5eb06145618867a3ff7cf)
40
70
  - @vant/markdown-vetur v2.3.0 [#10480](https://github.com/youzan/vant/issues/10480)
41
- ### [v3.4.7](https://github.com/youzan/vant/compare/v3.4.6...v3.4.7)
42
-
43
- `2022-03-29`
44
-
45
- **Bug Fixes**
46
-
47
- - calendar: scrollToDate method is invalid [#10432](https://github.com/youzan/vant/issues/10432)
48
- - DatetimePicker: fix minDate && maxDate wacher [#10431](https://github.com/youzan/vant/issues/10431)
49
- - fix wrong ternary expression [#10426](https://github.com/youzan/vant/issues/10426)
50
- - IndexBar: allow active bottom anchor [#10404](https://github.com/youzan/vant/issues/10404)
51
- - Tab: add key when render TabsTitle [#10392](https://github.com/youzan/vant/issues/10392)
52
-
53
- **Document**
54
-
55
- - add area data update tips [#10400](https://github.com/youzan/vant/issues/10400)
56
- - add dark mode to features [#10398](https://github.com/youzan/vant/issues/10398)
57
- - add Select component faq [#10397](https://github.com/youzan/vant/issues/10397)
58
- - changelog: 3.4.6 [0dc490](https://github.com/youzan/vant/commit/0dc490c9bca4206b4050824bf707094027ed5872)
59
- - DatetimePicker: add select second faq [#10399](https://github.com/youzan/vant/issues/10399)
60
- - Grid: fix reverse prop [#10437](https://github.com/youzan/vant/issues/10437)
61
- - Locale: add Lao to document [#10389](https://github.com/youzan/vant/issues/10389)
62
- - SwipeCell: remove css variables document [#10429](https://github.com/youzan/vant/issues/10429)
63
- - update readme [#10425](https://github.com/youzan/vant/issues/10425)
64
- - using jsdelivr for assets [#10434](https://github.com/youzan/vant/issues/10434)
65
-
66
- **Feature**
67
-
68
- - area-data: update counties of NanJing [#10410](https://github.com/youzan/vant/issues/10410)
69
- - CouponList: update empty image [#10436](https://github.com/youzan/vant/issues/10436)
70
- - Locale: add Icelandic lang [#10418](https://github.com/youzan/vant/issues/10418)
71
- - Locale: add la-LA.ts [#10388](https://github.com/youzan/vant/issues/10388)
72
- - Locale: add Swedish lang [#10419](https://github.com/youzan/vant/issues/10419)
73
- - NumberKeyboard: improve shuffle algorithm [#10428](https://github.com/youzan/vant/issues/10428)
74
- - Uploader: support set the preview size separately [#10438](https://github.com/youzan/vant/issues/10438)
75
-
76
- **release**
77
-
78
- - @vant/area-data 1.2.3 [029c93](https://github.com/youzan/vant/commit/029c93a4669ff3ee4d88615adb000668535f46d0)
79
- - 3.4.7 [048330](https://github.com/youzan/vant/commit/0483305eddd424a3a0343566461d35d659947646)
71
+ - 3.4.8 [f525be](https://github.com/youzan/vant/commit/f525be1e0db180bda4da4245f48f74b1e4b1ed78)
package/es/empty/Empty.js CHANGED
@@ -1,9 +1,14 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
2
  import { defineComponent } from "vue";
3
3
  import { getSizeStyle, makeStringProp, createNamespace } from "../utils";
4
- import { Network } from "./Network";
4
+ import { renderError, renderSearch, renderNetwork, renderMaterial } from "./Images";
5
5
  const [name, bem] = createNamespace("empty");
6
- const PRESET_IMAGES = ["error", "search", "default"];
6
+ const PRESET_IMAGES = {
7
+ error: renderError,
8
+ search: renderSearch,
9
+ network: renderNetwork,
10
+ default: renderMaterial
11
+ };
7
12
  const emptyProps = {
8
13
  image: makeStringProp("default"),
9
14
  imageSize: [Number, String, Array],
@@ -16,20 +21,12 @@ var stdin_default = defineComponent({
16
21
  slots
17
22
  }) {
18
23
  const renderImage = () => {
24
+ var _a;
19
25
  if (slots.image) {
20
26
  return slots.image();
21
27
  }
22
- let {
23
- image
24
- } = props;
25
- if (image === "network") {
26
- return Network;
27
- }
28
- if (PRESET_IMAGES.includes(image)) {
29
- image = `https://img.yzcdn.cn/vant/empty-image-${image}.png`;
30
- }
31
- return _createVNode("img", {
32
- "src": image
28
+ return ((_a = PRESET_IMAGES[props.image]) == null ? void 0 : _a.call(PRESET_IMAGES)) || _createVNode("img", {
29
+ "src": props.image
33
30
  }, null);
34
31
  };
35
32
  const renderDescription = () => {
@@ -0,0 +1,4 @@
1
+ export declare const renderNetwork: () => JSX.Element;
2
+ export declare const renderMaterial: () => JSX.Element;
3
+ export declare const renderError: () => JSX.Element;
4
+ export declare const renderSearch: () => JSX.Element;
@@ -0,0 +1,271 @@
1
+ import { createVNode as _createVNode } from "vue";
2
+ const getId = (num) => `van-empty-${num}`;
3
+ const useId = (num) => `url(#${getId(num)})`;
4
+ const renderStop = (color, offset, opacity) => _createVNode("stop", {
5
+ "stop-color": color,
6
+ "offset": `${offset}%`,
7
+ "stop-opacity": opacity
8
+ }, null);
9
+ const renderStops = (fromColor, toColor) => [renderStop(fromColor, 0), renderStop(toColor, 100)];
10
+ const renderShadow = (id) => [_createVNode("defs", null, [_createVNode("radialGradient", {
11
+ "id": getId(id),
12
+ "cx": "50%",
13
+ "cy": "54%",
14
+ "fx": "50%",
15
+ "fy": "54%",
16
+ "r": "297%",
17
+ "gradientTransform": "matrix(-.16 0 0 -.33 .58 .72)"
18
+ }, [renderStop("#EBEDF0", 0), renderStop("#F2F3F5", 100, 0.3)])]), _createVNode("ellipse", {
19
+ "fill": useId(id),
20
+ "opacity": ".8",
21
+ "cx": "80",
22
+ "cy": "140",
23
+ "rx": "46",
24
+ "ry": "8"
25
+ }, null)];
26
+ const renderBuilding = () => [_createVNode("defs", null, [_createVNode("linearGradient", {
27
+ "id": getId("a"),
28
+ "x1": "64%",
29
+ "y1": "100%",
30
+ "x2": "64%"
31
+ }, [renderStop("#FFF", 0, 0.5), renderStop("#F2F3F5", 100)])]), _createVNode("g", {
32
+ "opacity": ".8"
33
+ }, [_createVNode("path", {
34
+ "d": "M36 131V53H16v20H2v58h34z",
35
+ "fill": useId("a")
36
+ }, null), _createVNode("path", {
37
+ "d": "M123 15h22v14h9v77h-31V15z",
38
+ "fill": useId("a")
39
+ }, null)])];
40
+ const renderCloud = () => [_createVNode("defs", null, [_createVNode("linearGradient", {
41
+ "id": getId("b"),
42
+ "x1": "64%",
43
+ "y1": "97%",
44
+ "x2": "64%",
45
+ "y2": "0%"
46
+ }, [renderStop("#F2F3F5", 0, 0.3), renderStop("#F2F3F5", 100)])]), _createVNode("g", {
47
+ "opacity": ".8"
48
+ }, [_createVNode("path", {
49
+ "d": "M87 6c3 0 7 3 8 6a8 8 0 1 1-1 16H80a7 7 0 0 1-8-6c0-4 3-7 6-7 0-5 4-9 9-9Z",
50
+ "fill": useId("b")
51
+ }, null), _createVNode("path", {
52
+ "d": "M19 23c2 0 3 1 4 3 2 0 4 2 4 4a4 4 0 0 1-4 3v1h-7v-1l-1 1c-2 0-3-2-3-4 0-1 1-3 3-3 0-2 2-4 4-4Z",
53
+ "fill": useId("b")
54
+ }, null)])];
55
+ const renderNetwork = () => _createVNode("svg", {
56
+ "viewBox": "0 0 160 160"
57
+ }, [_createVNode("defs", null, [_createVNode("linearGradient", {
58
+ "id": getId(1),
59
+ "x1": "64%",
60
+ "y1": "100%",
61
+ "x2": "64%"
62
+ }, [renderStop("#FFF", 0, 0.5), renderStop("#F2F3F5", 100)]), _createVNode("linearGradient", {
63
+ "id": getId(2),
64
+ "x1": "50%",
65
+ "x2": "50%",
66
+ "y2": "84%"
67
+ }, [renderStop("#EBEDF0", 0), renderStop("#DCDEE0", 100, 0)]), _createVNode("linearGradient", {
68
+ "id": getId(3),
69
+ "x1": "100%",
70
+ "x2": "100%",
71
+ "y2": "100%"
72
+ }, [renderStops("#EAEDF0", "#DCDEE0")]), _createVNode("radialGradient", {
73
+ "id": getId(4),
74
+ "cx": "50%",
75
+ "cy": "0%",
76
+ "fx": "50%",
77
+ "fy": "0%",
78
+ "r": "100%",
79
+ "gradientTransform": "matrix(0 1 -.54 0 .5 -.5)"
80
+ }, [renderStop("#EBEDF0", 0), renderStop("#FFF", 100, 0)])]), _createVNode("g", {
81
+ "fill": "none"
82
+ }, [renderBuilding(), _createVNode("path", {
83
+ "fill": useId(4),
84
+ "d": "M0 139h160v21H0z"
85
+ }, null), _createVNode("path", {
86
+ "d": "M80 54a7 7 0 0 1 3 13v27l-2 2h-2a2 2 0 0 1-2-2V67a7 7 0 0 1 3-13z",
87
+ "fill": useId(2)
88
+ }, null), _createVNode("g", {
89
+ "opacity": ".6",
90
+ "stroke-linecap": "round",
91
+ "stroke-width": "7"
92
+ }, [_createVNode("path", {
93
+ "d": "M64 47a19 19 0 0 0-5 13c0 5 2 10 5 13",
94
+ "stroke": useId(3)
95
+ }, null), _createVNode("path", {
96
+ "d": "M53 36a34 34 0 0 0 0 48",
97
+ "stroke": useId(3)
98
+ }, null), _createVNode("path", {
99
+ "d": "M95 73a19 19 0 0 0 6-13c0-5-2-9-6-13",
100
+ "stroke": useId(3)
101
+ }, null), _createVNode("path", {
102
+ "d": "M106 84a34 34 0 0 0 0-48",
103
+ "stroke": useId(3)
104
+ }, null)]), _createVNode("g", {
105
+ "transform": "translate(31 105)"
106
+ }, [_createVNode("rect", {
107
+ "fill": "#EBEDF0",
108
+ "width": "98",
109
+ "height": "34",
110
+ "rx": "2"
111
+ }, null), _createVNode("rect", {
112
+ "fill": "#FFF",
113
+ "x": "9",
114
+ "y": "8",
115
+ "width": "80",
116
+ "height": "18",
117
+ "rx": "1.1"
118
+ }, null), _createVNode("rect", {
119
+ "fill": "#EBEDF0",
120
+ "x": "15",
121
+ "y": "12",
122
+ "width": "18",
123
+ "height": "6",
124
+ "rx": "1.1"
125
+ }, null)])])]);
126
+ const renderMaterial = () => _createVNode("svg", {
127
+ "viewBox": "0 0 160 160"
128
+ }, [_createVNode("defs", null, [_createVNode("linearGradient", {
129
+ "x1": "50%",
130
+ "x2": "50%",
131
+ "y2": "100%",
132
+ "id": getId(5)
133
+ }, [renderStops("#F2F3F5", "#DCDEE0")]), _createVNode("linearGradient", {
134
+ "x1": "95%",
135
+ "y1": "48%",
136
+ "x2": "5.5%",
137
+ "y2": "51%",
138
+ "id": getId(6)
139
+ }, [renderStops("#EAEDF1", "#DCDEE0")]), _createVNode("linearGradient", {
140
+ "y1": "45%",
141
+ "x2": "100%",
142
+ "y2": "54%",
143
+ "id": getId(7)
144
+ }, [renderStops("#EAEDF1", "#DCDEE0")])]), renderBuilding(), renderCloud(), _createVNode("g", {
145
+ "transform": "translate(36 50)",
146
+ "fill": "none"
147
+ }, [_createVNode("g", {
148
+ "transform": "translate(8)"
149
+ }, [_createVNode("rect", {
150
+ "fill": "#EBEDF0",
151
+ "opacity": ".6",
152
+ "x": "38",
153
+ "y": "13",
154
+ "width": "36",
155
+ "height": "53",
156
+ "rx": "2"
157
+ }, null), _createVNode("rect", {
158
+ "fill": useId(5),
159
+ "width": "64",
160
+ "height": "66",
161
+ "rx": "2"
162
+ }, null), _createVNode("rect", {
163
+ "fill": "#FFF",
164
+ "x": "6",
165
+ "y": "6",
166
+ "width": "52",
167
+ "height": "55",
168
+ "rx": "1"
169
+ }, null), _createVNode("g", {
170
+ "transform": "translate(15 17)",
171
+ "fill": useId(6)
172
+ }, [_createVNode("rect", {
173
+ "width": "34",
174
+ "height": "6",
175
+ "rx": "1"
176
+ }, null), _createVNode("path", {
177
+ "d": "M0 14h34v6H0z"
178
+ }, null), _createVNode("rect", {
179
+ "y": "28",
180
+ "width": "34",
181
+ "height": "6",
182
+ "rx": "1"
183
+ }, null)])]), _createVNode("rect", {
184
+ "fill": useId(7),
185
+ "y": "61",
186
+ "width": "88",
187
+ "height": "28",
188
+ "rx": "1"
189
+ }, null), _createVNode("rect", {
190
+ "fill": "#F7F8FA",
191
+ "x": "29",
192
+ "y": "72",
193
+ "width": "30",
194
+ "height": "6",
195
+ "rx": "1"
196
+ }, null)])]);
197
+ const renderError = () => _createVNode("svg", {
198
+ "viewBox": "0 0 160 160"
199
+ }, [_createVNode("defs", null, [_createVNode("linearGradient", {
200
+ "x1": "50%",
201
+ "x2": "50%",
202
+ "y2": "100%",
203
+ "id": getId(8)
204
+ }, [renderStops("#EAEDF1", "#DCDEE0")])]), renderBuilding(), renderCloud(), renderShadow("c"), _createVNode("path", {
205
+ "d": "m59 60 21 21 21-21h3l9 9v3L92 93l21 21v3l-9 9h-3l-21-21-21 21h-3l-9-9v-3l21-21-21-21v-3l9-9h3Z",
206
+ "fill": useId(8)
207
+ }, null)]);
208
+ const renderSearch = () => _createVNode("svg", {
209
+ "viewBox": "0 0 160 160"
210
+ }, [_createVNode("defs", null, [_createVNode("linearGradient", {
211
+ "x1": "50%",
212
+ "y1": "100%",
213
+ "x2": "50%",
214
+ "id": getId(9)
215
+ }, [renderStops("#EEE", "#D8D8D8")]), _createVNode("linearGradient", {
216
+ "x1": "100%",
217
+ "y1": "50%",
218
+ "y2": "50%",
219
+ "id": getId(10)
220
+ }, [renderStops("#F2F3F5", "#DCDEE0")]), _createVNode("linearGradient", {
221
+ "x1": "50%",
222
+ "x2": "50%",
223
+ "y2": "100%",
224
+ "id": getId(11)
225
+ }, [renderStops("#F2F3F5", "#DCDEE0")]), _createVNode("linearGradient", {
226
+ "x1": "50%",
227
+ "x2": "50%",
228
+ "y2": "100%",
229
+ "id": getId(12)
230
+ }, [renderStops("#FFF", "#F7F8FA")])]), renderBuilding(), renderCloud(), renderShadow("d"), _createVNode("g", {
231
+ "transform": "rotate(-45 113 -4)",
232
+ "fill": "none"
233
+ }, [_createVNode("rect", {
234
+ "fill": useId(9),
235
+ "x": "24",
236
+ "y": "52.8",
237
+ "width": "5.8",
238
+ "height": "19",
239
+ "rx": "1"
240
+ }, null), _createVNode("rect", {
241
+ "fill": useId(10),
242
+ "x": "22.1",
243
+ "y": "67.3",
244
+ "width": "9.9",
245
+ "height": "28",
246
+ "rx": "1"
247
+ }, null), _createVNode("circle", {
248
+ "stroke": useId(11),
249
+ "stroke-width": "8",
250
+ "cx": "27",
251
+ "cy": "27",
252
+ "r": "27"
253
+ }, null), _createVNode("circle", {
254
+ "fill": useId(12),
255
+ "cx": "27",
256
+ "cy": "27",
257
+ "r": "16"
258
+ }, null), _createVNode("path", {
259
+ "d": "M37 7c-8 0-15 5-16 12",
260
+ "stroke": useId(11),
261
+ "stroke-width": "3",
262
+ "opacity": ".5",
263
+ "stroke-linecap": "round",
264
+ "transform": "rotate(45 29 13)"
265
+ }, null)])]);
266
+ export {
267
+ renderError,
268
+ renderMaterial,
269
+ renderNetwork,
270
+ renderSearch
271
+ };
package/es/field/Field.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { createTextVNode as _createTextVNode, mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
2
2
  import { ref, watch, provide, computed, nextTick, reactive, onMounted, defineComponent } from "vue";
3
- import { isDef, extend, addUnit, FORM_KEY, numericProp, unknownProp, resetScroll, formatNumber, preventDefault, makeStringProp, makeNumericProp, createNamespace } from "../utils";
3
+ import { isDef, extend, addUnit, toArray, FORM_KEY, numericProp, unknownProp, resetScroll, formatNumber, preventDefault, makeStringProp, makeNumericProp, createNamespace } from "../utils";
4
4
  import { cutString, runSyncRule, endComposing, mapInputType, startComposing, getRuleMessage, resizeTextarea, getStringLength, runRuleValidator } from "./utils";
5
5
  import { cellSharedProps } from "../cell/Cell";
6
6
  import { CUSTOM_FIELD_INJECTION_KEY, useParent } from "@vant/use";
@@ -153,10 +153,13 @@ var stdin_default = defineComponent({
153
153
  });
154
154
  const validateWithTrigger = (trigger) => {
155
155
  if (form && props.rules) {
156
- const defaultTrigger = form.props.validateTrigger === trigger;
156
+ const {
157
+ validateTrigger
158
+ } = form.props;
159
+ const defaultTrigger = toArray(validateTrigger).includes(trigger);
157
160
  const rules = props.rules.filter((rule) => {
158
161
  if (rule.trigger) {
159
- return rule.trigger === trigger;
162
+ return toArray(rule.trigger).includes(trigger);
160
163
  }
161
164
  return defaultTrigger;
162
165
  });
@@ -18,7 +18,7 @@ export declare type FieldRuleValidator = (value: any, rule: FieldRule) => boolea
18
18
  export declare type FiledRuleFormatter = (value: any, rule: FieldRule) => string;
19
19
  export declare type FieldRule = {
20
20
  pattern?: RegExp;
21
- trigger?: FieldValidateTrigger;
21
+ trigger?: FieldValidateTrigger | FieldValidateTrigger[];
22
22
  message?: FieldRuleMessage;
23
23
  required?: boolean;
24
24
  validator?: FieldRuleValidator;
package/es/form/Form.d.ts CHANGED
@@ -14,15 +14,15 @@ declare const formProps: {
14
14
  type: BooleanConstructor;
15
15
  default: true;
16
16
  };
17
- validateTrigger: {
18
- type: PropType<FieldValidateTrigger>;
19
- default: FieldValidateTrigger;
20
- };
21
17
  showErrorMessage: {
22
18
  type: BooleanConstructor;
23
19
  default: true;
24
20
  };
25
21
  errorMessageAlign: PropType<FieldTextAlign>;
22
+ validateTrigger: {
23
+ type: PropType<FieldValidateTrigger | FieldValidateTrigger[]>;
24
+ default: string;
25
+ };
26
26
  };
27
27
  export declare type FormProps = ExtractPropTypes<typeof formProps>;
28
28
  declare const _default: import("vue").DefineComponent<{
@@ -39,15 +39,15 @@ declare const _default: import("vue").DefineComponent<{
39
39
  type: BooleanConstructor;
40
40
  default: true;
41
41
  };
42
- validateTrigger: {
43
- type: PropType<FieldValidateTrigger>;
44
- default: FieldValidateTrigger;
45
- };
46
42
  showErrorMessage: {
47
43
  type: BooleanConstructor;
48
44
  default: true;
49
45
  };
50
46
  errorMessageAlign: PropType<FieldTextAlign>;
47
+ validateTrigger: {
48
+ type: PropType<FieldValidateTrigger | FieldValidateTrigger[]>;
49
+ default: string;
50
+ };
51
51
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("submit" | "failed")[], "submit" | "failed", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
52
52
  colon: BooleanConstructor;
53
53
  disabled: BooleanConstructor;
@@ -62,15 +62,15 @@ declare const _default: import("vue").DefineComponent<{
62
62
  type: BooleanConstructor;
63
63
  default: true;
64
64
  };
65
- validateTrigger: {
66
- type: PropType<FieldValidateTrigger>;
67
- default: FieldValidateTrigger;
68
- };
69
65
  showErrorMessage: {
70
66
  type: BooleanConstructor;
71
67
  default: true;
72
68
  };
73
69
  errorMessageAlign: PropType<FieldTextAlign>;
70
+ validateTrigger: {
71
+ type: PropType<FieldValidateTrigger | FieldValidateTrigger[]>;
72
+ default: string;
73
+ };
74
74
  }>> & {
75
75
  onSubmit?: ((...args: any[]) => any) | undefined;
76
76
  onFailed?: ((...args: any[]) => any) | undefined;
@@ -82,7 +82,7 @@ declare const _default: import("vue").DefineComponent<{
82
82
  scrollToError: boolean;
83
83
  validateFirst: boolean;
84
84
  submitOnEnter: boolean;
85
- validateTrigger: FieldValidateTrigger;
86
85
  showErrorMessage: boolean;
86
+ validateTrigger: FieldValidateTrigger | FieldValidateTrigger[];
87
87
  }>;
88
88
  export default _default;
package/es/form/Form.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
2
  import { defineComponent } from "vue";
3
- import { FORM_KEY, truthProp, numericProp, preventDefault, makeStringProp, createNamespace } from "../utils";
3
+ import { FORM_KEY, truthProp, numericProp, preventDefault, createNamespace } from "../utils";
4
4
  import { useChildren } from "@vant/use";
5
5
  import { useExpose } from "../composables/use-expose";
6
6
  const [name, bem] = createNamespace("form");
@@ -15,9 +15,12 @@ const formProps = {
15
15
  scrollToError: Boolean,
16
16
  validateFirst: Boolean,
17
17
  submitOnEnter: truthProp,
18
- validateTrigger: makeStringProp("onBlur"),
19
18
  showErrorMessage: truthProp,
20
- errorMessageAlign: String
19
+ errorMessageAlign: String,
20
+ validateTrigger: {
21
+ type: [String, Array],
22
+ default: "onBlur"
23
+ }
21
24
  };
22
25
  var stdin_default = defineComponent({
23
26
  name,
@@ -13,15 +13,15 @@ export declare const Form: import("../utils").WithInstall<import("vue").DefineCo
13
13
  type: BooleanConstructor;
14
14
  default: true;
15
15
  };
16
- validateTrigger: {
17
- type: import("vue").PropType<import("..").FieldValidateTrigger>;
18
- default: import("..").FieldValidateTrigger;
19
- };
20
16
  showErrorMessage: {
21
17
  type: BooleanConstructor;
22
18
  default: true;
23
19
  };
24
20
  errorMessageAlign: import("vue").PropType<import("..").FieldTextAlign>;
21
+ validateTrigger: {
22
+ type: import("vue").PropType<import("..").FieldValidateTrigger | import("..").FieldValidateTrigger[]>;
23
+ default: string;
24
+ };
25
25
  }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("submit" | "failed")[], "submit" | "failed", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
26
26
  colon: BooleanConstructor;
27
27
  disabled: BooleanConstructor;
@@ -36,15 +36,15 @@ export declare const Form: import("../utils").WithInstall<import("vue").DefineCo
36
36
  type: BooleanConstructor;
37
37
  default: true;
38
38
  };
39
- validateTrigger: {
40
- type: import("vue").PropType<import("..").FieldValidateTrigger>;
41
- default: import("..").FieldValidateTrigger;
42
- };
43
39
  showErrorMessage: {
44
40
  type: BooleanConstructor;
45
41
  default: true;
46
42
  };
47
43
  errorMessageAlign: import("vue").PropType<import("..").FieldTextAlign>;
44
+ validateTrigger: {
45
+ type: import("vue").PropType<import("..").FieldValidateTrigger | import("..").FieldValidateTrigger[]>;
46
+ default: string;
47
+ };
48
48
  }>> & {
49
49
  onSubmit?: ((...args: any[]) => any) | undefined;
50
50
  onFailed?: ((...args: any[]) => any) | undefined;
@@ -56,8 +56,8 @@ export declare const Form: import("../utils").WithInstall<import("vue").DefineCo
56
56
  scrollToError: boolean;
57
57
  validateFirst: boolean;
58
58
  submitOnEnter: boolean;
59
- validateTrigger: import("..").FieldValidateTrigger;
60
59
  showErrorMessage: boolean;
60
+ validateTrigger: import("..").FieldValidateTrigger | import("..").FieldValidateTrigger[];
61
61
  }>>;
62
62
  export default Form;
63
63
  export type { FormProps };
package/es/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.4.8";
93
+ export const version: "3.4.9";
package/es/index.js CHANGED
@@ -83,7 +83,7 @@ import { Tag } from "./tag";
83
83
  import { Toast } from "./toast";
84
84
  import { TreeSelect } from "./tree-select";
85
85
  import { Uploader } from "./uploader";
86
- const version = "3.4.8";
86
+ const version = "3.4.9";
87
87
  function install(app) {
88
88
  const components = [
89
89
  ActionBar,
@@ -51,7 +51,9 @@ var stdin_default = defineComponent({
51
51
  return _createVNode("div", {
52
52
  "class": bem([type, {
53
53
  vertical
54
- }])
54
+ }]),
55
+ "aria-live": "polite",
56
+ "aria-busy": true
55
57
  }, [_createVNode("span", {
56
58
  "class": bem("spinner", type),
57
59
  "style": spinnerStyle.value
@@ -1,7 +1,7 @@
1
1
  import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
2
2
  import { ref, reactive, defineComponent, onBeforeUnmount } from "vue";
3
- import { pick, extend, isPromise, truthProp, getSizeStyle, makeArrayProp, makeStringProp, makeNumericProp } from "../utils";
4
- import { bem, name, toArray, isOversize, filterFiles, isImageFile, readFileContent } from "./utils";
3
+ import { pick, extend, toArray, isPromise, truthProp, getSizeStyle, makeArrayProp, makeStringProp, makeNumericProp } from "../utils";
4
+ import { bem, name, isOversize, filterFiles, isImageFile, readFileContent } from "./utils";
5
5
  import { useCustomFieldValue } from "@vant/use";
6
6
  import { useExpose } from "../composables/use-expose";
7
7
  import { Icon } from "../icon";
@@ -1,7 +1,6 @@
1
1
  import type { UploaderMaxSize, UploaderResultType, UploaderFileListItem } from './types';
2
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
3
  export { name, bem, t };
4
- export declare const toArray: <T>(item: T | T[]) => T[];
5
4
  export declare function readFileContent(file: File, resultType: UploaderResultType): Promise<string | void>;
6
5
  export declare function isOversize(items: UploaderFileListItem | UploaderFileListItem[], maxSize: UploaderMaxSize): boolean;
7
6
  export declare function filterFiles(items: UploaderFileListItem[], maxSize: UploaderMaxSize): {
@@ -1,6 +1,5 @@
1
- import { createNamespace, isFunction } from "../utils";
1
+ import { toArray, createNamespace, isFunction } from "../utils";
2
2
  const [name, bem, t] = createNamespace("uploader");
3
- const toArray = (item) => Array.isArray(item) ? item : [item];
4
3
  function readFileContent(file, resultType) {
5
4
  return new Promise((resolve) => {
6
5
  if (resultType === "file") {
@@ -66,6 +65,5 @@ export {
66
65
  isOversize,
67
66
  name,
68
67
  readFileContent,
69
- t,
70
- toArray
68
+ t
71
69
  };
@@ -14,3 +14,4 @@ export declare type Writeable<T> = {
14
14
  -readonly [P in keyof T]: T[P];
15
15
  };
16
16
  export declare function pick<T, U extends keyof T>(obj: T, keys: ReadonlyArray<U>, ignoreUndefined?: boolean): Writeable<Pick<T, U>>;
17
+ export declare const toArray: <T>(item: T | T[]) => T[];
package/es/utils/basic.js CHANGED
@@ -19,10 +19,12 @@ function pick(obj, keys, ignoreUndefined) {
19
19
  return ret;
20
20
  }, {});
21
21
  }
22
+ const toArray = (item) => Array.isArray(item) ? item : [item];
22
23
  export {
23
24
  extend,
24
25
  get,
25
26
  inBrowser,
26
27
  noop,
27
- pick
28
+ pick,
29
+ toArray
28
30
  };