vant 4.7.1 → 4.7.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 (90) hide show
  1. package/README.md +1 -0
  2. package/es/address-edit/AddressEdit.mjs +1 -1
  3. package/es/cell/Cell.d.ts +17 -5
  4. package/es/cell/Cell.mjs +5 -2
  5. package/es/cell/index.d.ts +9 -3
  6. package/es/collapse-item/CollapseItem.d.ts +13 -4
  7. package/es/collapse-item/index.d.ts +9 -3
  8. package/es/config-provider/types.d.ts +1 -1
  9. package/es/field/Field.d.ts +30 -21
  10. package/es/field/Field.mjs +11 -3
  11. package/es/field/index.css +1 -1
  12. package/es/field/index.d.ts +18 -12
  13. package/es/field/types.d.ts +1 -1
  14. package/es/form/Form.d.ts +3 -0
  15. package/es/form/Form.mjs +1 -0
  16. package/es/form/index.d.ts +2 -0
  17. package/es/icon/index.css +1 -1
  18. package/es/image-preview/ImagePreview.d.ts +13 -0
  19. package/es/image-preview/ImagePreview.mjs +2 -0
  20. package/es/image-preview/ImagePreviewItem.d.ts +3 -0
  21. package/es/image-preview/ImagePreviewItem.mjs +16 -11
  22. package/es/image-preview/function-call.mjs +1 -0
  23. package/es/image-preview/index.d.ts +9 -0
  24. package/es/image-preview/types.d.ts +1 -0
  25. package/es/index.d.ts +1 -1
  26. package/es/index.mjs +1 -1
  27. package/es/locale/lang/ar-SA.d.ts +63 -0
  28. package/es/locale/lang/ar-SA.mjs +65 -0
  29. package/es/picker-group/PickerGroup.mjs +3 -3
  30. package/es/progress/types.d.ts +1 -4
  31. package/es/search/Search.d.ts +13 -13
  32. package/es/search/Search.mjs +3 -1
  33. package/es/search/index.css +1 -1
  34. package/es/search/index.d.ts +9 -9
  35. package/es/signature/Signature.mjs +49 -38
  36. package/es/signature/index.d.ts +1 -1
  37. package/es/signature/types.d.ts +6 -0
  38. package/es/tabs/Tabs.d.ts +13 -0
  39. package/es/tabs/Tabs.mjs +3 -2
  40. package/es/tabs/index.d.ts +9 -0
  41. package/es/text-ellipsis/index.css +1 -1
  42. package/es/uploader/Uploader.mjs +12 -3
  43. package/lib/address-edit/AddressEdit.js +1 -1
  44. package/lib/cell/Cell.d.ts +17 -5
  45. package/lib/cell/Cell.js +5 -2
  46. package/lib/cell/index.d.ts +9 -3
  47. package/lib/collapse-item/CollapseItem.d.ts +13 -4
  48. package/lib/collapse-item/index.d.ts +9 -3
  49. package/lib/config-provider/types.d.ts +1 -1
  50. package/lib/field/Field.d.ts +30 -21
  51. package/lib/field/Field.js +11 -3
  52. package/lib/field/index.css +1 -1
  53. package/lib/field/index.d.ts +18 -12
  54. package/lib/field/types.d.ts +1 -1
  55. package/lib/form/Form.d.ts +3 -0
  56. package/lib/form/Form.js +1 -0
  57. package/lib/form/index.d.ts +2 -0
  58. package/lib/icon/index.css +1 -1
  59. package/lib/image-preview/ImagePreview.d.ts +13 -0
  60. package/lib/image-preview/ImagePreview.js +2 -0
  61. package/lib/image-preview/ImagePreviewItem.d.ts +3 -0
  62. package/lib/image-preview/ImagePreviewItem.js +16 -11
  63. package/lib/image-preview/function-call.js +1 -0
  64. package/lib/image-preview/index.d.ts +9 -0
  65. package/lib/image-preview/types.d.ts +1 -0
  66. package/lib/index.css +1 -1
  67. package/lib/index.d.ts +1 -1
  68. package/lib/index.js +1 -1
  69. package/lib/locale/lang/ar-SA.d.ts +63 -0
  70. package/lib/locale/lang/ar-SA.js +84 -0
  71. package/lib/picker-group/PickerGroup.js +2 -2
  72. package/lib/progress/types.d.ts +1 -4
  73. package/lib/search/Search.d.ts +13 -13
  74. package/lib/search/Search.js +3 -1
  75. package/lib/search/index.css +1 -1
  76. package/lib/search/index.d.ts +9 -9
  77. package/lib/signature/Signature.js +47 -36
  78. package/lib/signature/index.d.ts +1 -1
  79. package/lib/signature/types.d.ts +6 -0
  80. package/lib/tabs/Tabs.d.ts +13 -0
  81. package/lib/tabs/Tabs.js +3 -2
  82. package/lib/tabs/index.d.ts +9 -0
  83. package/lib/text-ellipsis/index.css +1 -1
  84. package/lib/uploader/Uploader.js +11 -2
  85. package/lib/vant.cjs.js +103 -61
  86. package/lib/vant.es.js +104 -62
  87. package/lib/vant.js +103 -61
  88. package/lib/vant.min.js +1 -1
  89. package/lib/web-types.json +1 -1
  90. package/package.json +4 -4
@@ -24,10 +24,6 @@ export declare const searchProps: {
24
24
  autocorrect: StringConstructor;
25
25
  errorMessage: StringConstructor;
26
26
  enterkeyhint: StringConstructor;
27
- spellcheck: {
28
- type: BooleanConstructor;
29
- default: null;
30
- };
31
27
  clearTrigger: {
32
28
  type: import("vue").PropType<import("../field").FieldClearTrigger>;
33
29
  default: import("../field").FieldClearTrigger;
@@ -36,6 +32,10 @@ export declare const searchProps: {
36
32
  type: import("vue").PropType<import("../field").FieldFormatTrigger>;
37
33
  default: import("../field").FieldFormatTrigger;
38
34
  };
35
+ spellcheck: {
36
+ type: BooleanConstructor;
37
+ default: null;
38
+ };
39
39
  error: {
40
40
  type: BooleanConstructor;
41
41
  default: null;
@@ -91,10 +91,6 @@ declare const _default: import("vue").DefineComponent<{
91
91
  autocorrect: StringConstructor;
92
92
  errorMessage: StringConstructor;
93
93
  enterkeyhint: StringConstructor;
94
- spellcheck: {
95
- type: BooleanConstructor;
96
- default: null;
97
- };
98
94
  clearTrigger: {
99
95
  type: import("vue").PropType<import("../field").FieldClearTrigger>;
100
96
  default: import("../field").FieldClearTrigger;
@@ -103,6 +99,10 @@ declare const _default: import("vue").DefineComponent<{
103
99
  type: import("vue").PropType<import("../field").FieldFormatTrigger>;
104
100
  default: import("../field").FieldFormatTrigger;
105
101
  };
102
+ spellcheck: {
103
+ type: BooleanConstructor;
104
+ default: null;
105
+ };
106
106
  error: {
107
107
  type: BooleanConstructor;
108
108
  default: null;
@@ -156,10 +156,6 @@ declare const _default: import("vue").DefineComponent<{
156
156
  autocorrect: StringConstructor;
157
157
  errorMessage: StringConstructor;
158
158
  enterkeyhint: StringConstructor;
159
- spellcheck: {
160
- type: BooleanConstructor;
161
- default: null;
162
- };
163
159
  clearTrigger: {
164
160
  type: import("vue").PropType<import("../field").FieldClearTrigger>;
165
161
  default: import("../field").FieldClearTrigger;
@@ -168,6 +164,10 @@ declare const _default: import("vue").DefineComponent<{
168
164
  type: import("vue").PropType<import("../field").FieldFormatTrigger>;
169
165
  default: import("../field").FieldFormatTrigger;
170
166
  };
167
+ spellcheck: {
168
+ type: BooleanConstructor;
169
+ default: null;
170
+ };
171
171
  error: {
172
172
  type: BooleanConstructor;
173
173
  default: null;
@@ -215,9 +215,9 @@ declare const _default: import("vue").DefineComponent<{
215
215
  clearable: boolean;
216
216
  clearIcon: string;
217
217
  modelValue: string | number;
218
- spellcheck: boolean;
219
218
  clearTrigger: import("../field").FieldClearTrigger;
220
219
  formatTrigger: import("../field").FieldFormatTrigger;
220
+ spellcheck: boolean;
221
221
  error: boolean;
222
222
  readonly: boolean;
223
223
  showAction: boolean;
@@ -82,7 +82,9 @@ var stdin_default = defineComponent({
82
82
  return _createVNode(Field, _mergeProps({
83
83
  "ref": fieldRef,
84
84
  "type": "search",
85
- "class": bem("field"),
85
+ "class": bem("field", {
86
+ "with-message": fieldAttrs.errorMessage
87
+ }),
86
88
  "border": false,
87
89
  "onBlur": onBlur,
88
90
  "onFocus": onFocus,
@@ -1 +1 @@
1
- :root{--van-search-padding: 10px var(--van-padding-sm);--van-search-background: var(--van-background-2);--van-search-content-background: var(--van-background);--van-search-input-height: 34px;--van-search-label-padding: 0 5px;--van-search-label-color: var(--van-text-color);--van-search-label-font-size: var(--van-font-size-md);--van-search-left-icon-color: var(--van-gray-6);--van-search-action-padding: 0 var(--van-padding-xs);--van-search-action-text-color: var(--van-text-color);--van-search-action-font-size: var(--van-font-size-md)}.van-search{display:flex;align-items:center;box-sizing:border-box;padding:var(--van-search-padding);background:var(--van-search-background)}.van-search__content{display:flex;flex:1;padding-left:var(--van-padding-sm);background:var(--van-search-content-background);border-radius:var(--van-radius-sm)}.van-search__content--round{border-radius:var(--van-radius-max)}.van-search__label{padding:var(--van-search-label-padding);color:var(--van-search-label-color);font-size:var(--van-search-label-font-size);line-height:var(--van-search-input-height)}.van-search__field{flex:1;align-items:center;padding:0 var(--van-padding-xs) 0 0;height:var(--van-search-input-height);background-color:transparent}.van-search__field .van-field__left-icon{color:var(--van-search-left-icon-color)}.van-search--show-action{padding-right:0}.van-search input::-webkit-search-decoration,.van-search input::-webkit-search-cancel-button,.van-search input::-webkit-search-results-button,.van-search input::-webkit-search-results-decoration{display:none}.van-search__action{padding:var(--van-search-action-padding);color:var(--van-search-action-text-color);font-size:var(--van-search-action-font-size);line-height:var(--van-search-input-height);cursor:pointer;-webkit-user-select:none;user-select:none}.van-search__action:active{background-color:var(--van-active-color)}
1
+ :root{--van-search-padding: 10px var(--van-padding-sm);--van-search-background: var(--van-background-2);--van-search-content-background: var(--van-background);--van-search-input-height: 34px;--van-search-label-padding: 0 5px;--van-search-label-color: var(--van-text-color);--van-search-label-font-size: var(--van-font-size-md);--van-search-left-icon-color: var(--van-gray-6);--van-search-action-padding: 0 var(--van-padding-xs);--van-search-action-text-color: var(--van-text-color);--van-search-action-font-size: var(--van-font-size-md)}.van-search{display:flex;align-items:center;box-sizing:border-box;padding:var(--van-search-padding);background:var(--van-search-background)}.van-search__content{display:flex;flex:1;padding-left:var(--van-padding-sm);background:var(--van-search-content-background);border-radius:var(--van-radius-sm)}.van-search__content--round{border-radius:var(--van-radius-max)}.van-search__label{padding:var(--van-search-label-padding);color:var(--van-search-label-color);font-size:var(--van-search-label-font-size);line-height:var(--van-search-input-height)}.van-search__field{flex:1;align-items:center;padding:0 var(--van-padding-xs) 0 0;height:var(--van-search-input-height);background-color:transparent}.van-search__field .van-field__left-icon{color:var(--van-search-left-icon-color)}.van-search__field--with-message{height:auto;align-items:flex-start;padding-top:5px;padding-bottom:5px}.van-search--show-action{padding-right:0}.van-search input::-webkit-search-decoration,.van-search input::-webkit-search-cancel-button,.van-search input::-webkit-search-results-button,.van-search input::-webkit-search-results-decoration{display:none}.van-search__action{padding:var(--van-search-action-padding);color:var(--van-search-action-text-color);font-size:var(--van-search-action-font-size);line-height:var(--van-search-input-height);cursor:pointer;-webkit-user-select:none;user-select:none}.van-search__action:active{background-color:var(--van-active-color)}
@@ -23,10 +23,6 @@ export declare const Search: import("../utils").WithInstall<import("vue").Define
23
23
  autocorrect: StringConstructor;
24
24
  errorMessage: StringConstructor;
25
25
  enterkeyhint: StringConstructor;
26
- spellcheck: {
27
- type: BooleanConstructor;
28
- default: null;
29
- };
30
26
  clearTrigger: {
31
27
  type: import("vue").PropType<import("..").FieldClearTrigger>;
32
28
  default: import("..").FieldClearTrigger;
@@ -35,6 +31,10 @@ export declare const Search: import("../utils").WithInstall<import("vue").Define
35
31
  type: import("vue").PropType<import("..").FieldFormatTrigger>;
36
32
  default: import("..").FieldFormatTrigger;
37
33
  };
34
+ spellcheck: {
35
+ type: BooleanConstructor;
36
+ default: null;
37
+ };
38
38
  error: {
39
39
  type: BooleanConstructor;
40
40
  default: null;
@@ -88,10 +88,6 @@ export declare const Search: import("../utils").WithInstall<import("vue").Define
88
88
  autocorrect: StringConstructor;
89
89
  errorMessage: StringConstructor;
90
90
  enterkeyhint: StringConstructor;
91
- spellcheck: {
92
- type: BooleanConstructor;
93
- default: null;
94
- };
95
91
  clearTrigger: {
96
92
  type: import("vue").PropType<import("..").FieldClearTrigger>;
97
93
  default: import("..").FieldClearTrigger;
@@ -100,6 +96,10 @@ export declare const Search: import("../utils").WithInstall<import("vue").Define
100
96
  type: import("vue").PropType<import("..").FieldFormatTrigger>;
101
97
  default: import("..").FieldFormatTrigger;
102
98
  };
99
+ spellcheck: {
100
+ type: BooleanConstructor;
101
+ default: null;
102
+ };
103
103
  error: {
104
104
  type: BooleanConstructor;
105
105
  default: null;
@@ -147,9 +147,9 @@ export declare const Search: import("../utils").WithInstall<import("vue").Define
147
147
  clearable: boolean;
148
148
  clearIcon: string;
149
149
  modelValue: string | number;
150
- spellcheck: boolean;
151
150
  clearTrigger: import("..").FieldClearTrigger;
152
151
  formatTrigger: import("..").FieldFormatTrigger;
152
+ spellcheck: boolean;
153
153
  error: boolean;
154
154
  readonly: boolean;
155
155
  showAction: boolean;
@@ -1,7 +1,8 @@
1
1
  import { createVNode as _createVNode } from "vue";
2
- import { ref, reactive, onMounted, nextTick, defineComponent } from "vue";
3
- import { inBrowser, makeNumberProp, makeStringProp, createNamespace, preventDefault } from "../utils/index.mjs";
2
+ import { computed, ref, onMounted, defineComponent, watch } from "vue";
3
+ import { inBrowser, makeNumberProp, makeStringProp, createNamespace, preventDefault, windowWidth } from "../utils/index.mjs";
4
4
  import { useRect } from "@vant/use";
5
+ import { useExpose } from "../composables/use-expose.mjs";
5
6
  import { Button } from "../button/index.mjs";
6
7
  const [name, bem, t] = createNamespace("signature");
7
8
  const signatureProps = {
@@ -27,37 +28,37 @@ var stdin_default = defineComponent({
27
28
  }) {
28
29
  const canvasRef = ref();
29
30
  const wrapRef = ref();
30
- const state = reactive({
31
- width: 0,
32
- height: 0,
33
- ctx: null,
34
- ratio: inBrowser ? window.devicePixelRatio : 1
31
+ const ctx = computed(() => {
32
+ if (!canvasRef.value)
33
+ return null;
34
+ return canvasRef.value.getContext("2d");
35
35
  });
36
- let canvasRect;
37
36
  const isRenderCanvas = inBrowser ? hasCanvasSupport() : true;
37
+ let canvasWidth = 0;
38
+ let canvasHeight = 0;
39
+ let canvasRect;
38
40
  const touchStart = () => {
39
- if (!state.ctx) {
41
+ if (!ctx.value) {
40
42
  return false;
41
43
  }
42
- state.ctx.beginPath();
43
- state.ctx.lineWidth = props.lineWidth * state.ratio;
44
- state.ctx.strokeStyle = props.penColor;
44
+ ctx.value.beginPath();
45
+ ctx.value.lineWidth = props.lineWidth;
46
+ ctx.value.strokeStyle = props.penColor;
45
47
  canvasRect = useRect(canvasRef);
46
48
  emit("start");
47
49
  };
48
50
  const touchMove = (event) => {
49
- var _a, _b;
50
- if (!state.ctx) {
51
+ if (!ctx.value) {
51
52
  return false;
52
53
  }
53
54
  preventDefault(event);
54
55
  const touch = event.touches[0];
55
- const mouseX = (touch.clientX - ((canvasRect == null ? void 0 : canvasRect.left) || 0)) * state.ratio;
56
- const mouseY = (touch.clientY - ((canvasRect == null ? void 0 : canvasRect.top) || 0)) * state.ratio;
57
- state.ctx.lineCap = "round";
58
- state.ctx.lineJoin = "round";
59
- (_a = state.ctx) == null ? void 0 : _a.lineTo(mouseX, mouseY);
60
- (_b = state.ctx) == null ? void 0 : _b.stroke();
56
+ const mouseX = touch.clientX - ((canvasRect == null ? void 0 : canvasRect.left) || 0);
57
+ const mouseY = touch.clientY - ((canvasRect == null ? void 0 : canvasRect.top) || 0);
58
+ ctx.value.lineCap = "round";
59
+ ctx.value.lineJoin = "round";
60
+ ctx.value.lineTo(mouseX, mouseY);
61
+ ctx.value.stroke();
61
62
  emit("signing", event);
62
63
  };
63
64
  const touchEnd = (event) => {
@@ -74,10 +75,10 @@ var stdin_default = defineComponent({
74
75
  }
75
76
  return canvas.toDataURL() === empty.toDataURL();
76
77
  };
77
- const setCanvasBgColor = (ctx) => {
78
- if (ctx && props.backgroundColor) {
79
- ctx.fillStyle = props.backgroundColor;
80
- ctx.fillRect(0, 0, state.width, state.height);
78
+ const setCanvasBgColor = (ctx2) => {
79
+ if (ctx2 && props.backgroundColor) {
80
+ ctx2.fillStyle = props.backgroundColor;
81
+ ctx2.fillRect(0, 0, canvasWidth, canvasHeight);
81
82
  }
82
83
  };
83
84
  const submit = () => {
@@ -97,23 +98,35 @@ var stdin_default = defineComponent({
97
98
  });
98
99
  };
99
100
  const clear = () => {
100
- if (state.ctx) {
101
- state.ctx.clearRect(0, 0, state.width, state.height);
102
- state.ctx.closePath();
103
- setCanvasBgColor(state.ctx);
101
+ if (ctx.value) {
102
+ ctx.value.clearRect(0, 0, canvasWidth, canvasHeight);
103
+ ctx.value.closePath();
104
+ setCanvasBgColor(ctx.value);
104
105
  }
105
106
  emit("clear");
106
107
  };
107
- onMounted(() => {
108
+ const initialize = () => {
108
109
  var _a, _b, _c;
109
- if (isRenderCanvas) {
110
- state.ctx = (_a = canvasRef.value) == null ? void 0 : _a.getContext("2d");
111
- state.width = (((_b = wrapRef.value) == null ? void 0 : _b.offsetWidth) || 0) * state.ratio;
112
- state.height = (((_c = wrapRef.value) == null ? void 0 : _c.offsetHeight) || 0) * state.ratio;
113
- nextTick(() => {
114
- setCanvasBgColor(state.ctx);
115
- });
110
+ if (isRenderCanvas && canvasRef.value) {
111
+ const canvas = canvasRef.value;
112
+ const dpr = inBrowser ? window.devicePixelRatio : 1;
113
+ canvasWidth = canvas.width = (((_a = wrapRef.value) == null ? void 0 : _a.offsetWidth) || 0) * dpr;
114
+ canvasHeight = canvas.height = (((_b = wrapRef.value) == null ? void 0 : _b.offsetHeight) || 0) * dpr;
115
+ (_c = ctx.value) == null ? void 0 : _c.scale(dpr, dpr);
116
+ setCanvasBgColor(ctx.value);
116
117
  }
118
+ };
119
+ const resize = () => {
120
+ if (ctx.value) {
121
+ const data = ctx.value.getImageData(0, 0, canvasWidth, canvasHeight);
122
+ initialize();
123
+ ctx.value.putImageData(data, 0, 0);
124
+ }
125
+ };
126
+ watch(windowWidth, resize);
127
+ onMounted(initialize);
128
+ useExpose({
129
+ resize
117
130
  });
118
131
  return () => _createVNode("div", {
119
132
  "class": bem()
@@ -122,8 +135,6 @@ var stdin_default = defineComponent({
122
135
  "ref": wrapRef
123
136
  }, [isRenderCanvas ? _createVNode("canvas", {
124
137
  "ref": canvasRef,
125
- "width": state.width,
126
- "height": state.height,
127
138
  "onTouchstartPassive": touchStart,
128
139
  "onTouchmove": touchMove,
129
140
  "onTouchend": touchEnd
@@ -52,7 +52,7 @@ export declare const Signature: import("../utils").WithInstall<import("vue").Def
52
52
  }, {}>>;
53
53
  export default Signature;
54
54
  export type { SignatureProps } from './Signature';
55
- export type { SignatureThemeVars } from './types';
55
+ export type { SignatureInstance, SignatureThemeVars } from './types';
56
56
  declare module 'vue' {
57
57
  interface GlobalComponents {
58
58
  Signature: typeof Signature;
@@ -1,3 +1,9 @@
1
+ import type { ComponentPublicInstance } from 'vue';
2
+ import type { SignatureProps } from './Signature';
3
+ export type SignatureExpose = {
4
+ resize: () => void;
5
+ };
6
+ export type SignatureInstance = ComponentPublicInstance<SignatureProps, SignatureExpose>;
1
7
  export type SignatureThemeVars = {
2
8
  signaturePadding?: string;
3
9
  signatureContentHeight?: string;
package/es/tabs/Tabs.d.ts CHANGED
@@ -34,6 +34,10 @@ export declare const tabsProps: {
34
34
  type: BooleanConstructor;
35
35
  default: true;
36
36
  };
37
+ showHeader: {
38
+ type: BooleanConstructor;
39
+ default: true;
40
+ };
37
41
  lineWidth: (NumberConstructor | StringConstructor)[];
38
42
  lineHeight: (NumberConstructor | StringConstructor)[];
39
43
  beforeChange: PropType<Interceptor>;
@@ -79,6 +83,10 @@ declare const _default: import("vue").DefineComponent<{
79
83
  type: BooleanConstructor;
80
84
  default: true;
81
85
  };
86
+ showHeader: {
87
+ type: BooleanConstructor;
88
+ default: true;
89
+ };
82
90
  lineWidth: (NumberConstructor | StringConstructor)[];
83
91
  lineHeight: (NumberConstructor | StringConstructor)[];
84
92
  beforeChange: PropType<Interceptor>;
@@ -121,6 +129,10 @@ declare const _default: import("vue").DefineComponent<{
121
129
  type: BooleanConstructor;
122
130
  default: true;
123
131
  };
132
+ showHeader: {
133
+ type: BooleanConstructor;
134
+ default: true;
135
+ };
124
136
  lineWidth: (NumberConstructor | StringConstructor)[];
125
137
  lineHeight: (NumberConstructor | StringConstructor)[];
126
138
  beforeChange: PropType<Interceptor>;
@@ -149,6 +161,7 @@ declare const _default: import("vue").DefineComponent<{
149
161
  swipeable: boolean;
150
162
  shrink: boolean;
151
163
  scrollspy: boolean;
164
+ showHeader: boolean;
152
165
  swipeThreshold: string | number;
153
166
  }, {}>;
154
167
  export default _default;
package/es/tabs/Tabs.mjs CHANGED
@@ -27,6 +27,7 @@ const tabsProps = {
27
27
  offsetTop: makeNumericProp(0),
28
28
  background: String,
29
29
  lazyRender: truthProp,
30
+ showHeader: truthProp,
30
31
  lineWidth: numericProp,
31
32
  lineHeight: numericProp,
32
33
  beforeChange: Function,
@@ -328,13 +329,13 @@ var stdin_default = defineComponent({
328
329
  return () => _createVNode("div", {
329
330
  "ref": root,
330
331
  "class": bem([props.type])
331
- }, [props.sticky ? _createVNode(Sticky, {
332
+ }, [props.showHeader ? props.sticky ? _createVNode(Sticky, {
332
333
  "container": root.value,
333
334
  "offsetTop": offsetTopPx.value,
334
335
  "onScroll": onStickyScroll
335
336
  }, {
336
337
  default: () => [renderHeader()]
337
- }) : renderHeader(), _createVNode(TabsContent, {
338
+ }) : renderHeader() : null, _createVNode(TabsContent, {
338
339
  "ref": contentRef,
339
340
  "count": children.length,
340
341
  "inited": state.inited,
@@ -32,6 +32,10 @@ export declare const Tabs: import("../utils").WithInstall<import("vue").DefineCo
32
32
  type: BooleanConstructor;
33
33
  default: true;
34
34
  };
35
+ showHeader: {
36
+ type: BooleanConstructor;
37
+ default: true;
38
+ };
35
39
  lineWidth: (NumberConstructor | StringConstructor)[];
36
40
  lineHeight: (NumberConstructor | StringConstructor)[];
37
41
  beforeChange: import("vue").PropType<import("../utils").Interceptor>;
@@ -74,6 +78,10 @@ export declare const Tabs: import("../utils").WithInstall<import("vue").DefineCo
74
78
  type: BooleanConstructor;
75
79
  default: true;
76
80
  };
81
+ showHeader: {
82
+ type: BooleanConstructor;
83
+ default: true;
84
+ };
77
85
  lineWidth: (NumberConstructor | StringConstructor)[];
78
86
  lineHeight: (NumberConstructor | StringConstructor)[];
79
87
  beforeChange: import("vue").PropType<import("../utils").Interceptor>;
@@ -102,6 +110,7 @@ export declare const Tabs: import("../utils").WithInstall<import("vue").DefineCo
102
110
  swipeable: boolean;
103
111
  shrink: boolean;
104
112
  scrollspy: boolean;
113
+ showHeader: boolean;
105
114
  swipeThreshold: string | number;
106
115
  }, {}>>;
107
116
  export default Tabs;
@@ -1 +1 @@
1
- :root{--van-text-ellipsis-line-height: 1.6;--van-text-ellipsis-action-color: var(--van-blue)}.van-text-ellipsis{line-height:var(--van-text-ellipsis-line-height);white-space:pre-wrap;word-break:break-word}.van-text-ellipsis__action{cursor:pointer;color:var(--van-text-ellipsis-action-color)}.van-text-ellipsis__action:active{opacity:var(--van-active-opacity)}
1
+ :root{--van-text-ellipsis-line-height: 1.6;--van-text-ellipsis-action-color: var(--van-blue)}.van-text-ellipsis{line-height:var(--van-text-ellipsis-line-height);white-space:pre-wrap;overflow-wrap:break-word}.van-text-ellipsis__action{cursor:pointer;color:var(--van-text-ellipsis-action-color)}.van-text-ellipsis__action:active{opacity:var(--van-active-opacity)}
@@ -1,5 +1,5 @@
1
1
  import { withDirectives as _withDirectives, vShow as _vShow, createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
2
- import { ref, reactive, defineComponent, onBeforeUnmount } from "vue";
2
+ import { ref, reactive, defineComponent, onBeforeUnmount, nextTick } from "vue";
3
3
  import { pick, extend, toArray, isPromise, truthProp, getSizeStyle, makeArrayProp, makeStringProp, makeNumericProp } from "../utils/index.mjs";
4
4
  import { bem, name, isOversize, filterFiles, isImageFile, readFileContent } from "./utils.mjs";
5
5
  import { useCustomFieldValue } from "@vant/use";
@@ -47,6 +47,7 @@ var stdin_default = defineComponent({
47
47
  const inputRef = ref();
48
48
  const urls = [];
49
49
  const reuploadIndex = ref(-1);
50
+ const isReuploading = ref(false);
50
51
  const getDetail = (index = props.modelValue.length) => ({
51
52
  name: props.name,
52
53
  index
@@ -183,8 +184,15 @@ var stdin_default = defineComponent({
183
184
  emit("delete", item, getDetail(index));
184
185
  };
185
186
  const reuploadImage = (index) => {
186
- chooseFile();
187
+ isReuploading.value = true;
187
188
  reuploadIndex.value = index;
189
+ nextTick(() => chooseFile());
190
+ };
191
+ const onInputClick = () => {
192
+ if (!isReuploading.value) {
193
+ reuploadIndex.value = -1;
194
+ }
195
+ isReuploading.value = false;
188
196
  };
189
197
  const renderPreviewItem = (item, index) => {
190
198
  const needPickData = ["imageFit", "deletable", "reupload", "previewSize", "beforeDelete"];
@@ -217,7 +225,8 @@ var stdin_default = defineComponent({
217
225
  "capture": props.capture,
218
226
  "multiple": props.multiple && reuploadIndex.value === -1,
219
227
  "disabled": props.disabled,
220
- "onChange": onChange
228
+ "onChange": onChange,
229
+ "onClick": onInputClick
221
230
  }, null);
222
231
  if (slots.default) {
223
232
  return _withDirectives(_createVNode("div", {
@@ -260,7 +260,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
260
260
  "label": t("area"),
261
261
  "is-link": !disableArea,
262
262
  "modelValue": areaText.value,
263
- "rules": rules.value.areaCode,
263
+ "rules": props.showArea ? rules.value.areaCode : void 0,
264
264
  "placeholder": props.areaPlaceholder || t("area"),
265
265
  "onFocus": () => onFocus("areaCode"),
266
266
  "onClick": () => {
@@ -17,13 +17,16 @@ export declare const cellSharedProps: {
17
17
  type: BooleanConstructor;
18
18
  default: true;
19
19
  };
20
- required: BooleanConstructor;
21
20
  iconPrefix: StringConstructor;
22
21
  valueClass: PropType<unknown>;
23
22
  labelClass: PropType<unknown>;
24
23
  titleClass: PropType<unknown>;
25
24
  titleStyle: PropType<string | CSSProperties>;
26
25
  arrowDirection: PropType<CellArrowDirection>;
26
+ required: {
27
+ type: PropType<boolean | "auto">;
28
+ default: null;
29
+ };
27
30
  clickable: {
28
31
  type: PropType<boolean | null>;
29
32
  default: null;
@@ -45,13 +48,16 @@ export declare const cellProps: {
45
48
  type: BooleanConstructor;
46
49
  default: true;
47
50
  };
48
- required: BooleanConstructor;
49
51
  iconPrefix: StringConstructor;
50
52
  valueClass: PropType<unknown>;
51
53
  labelClass: PropType<unknown>;
52
54
  titleClass: PropType<unknown>;
53
55
  titleStyle: PropType<string | CSSProperties>;
54
56
  arrowDirection: PropType<CellArrowDirection>;
57
+ required: {
58
+ type: PropType<boolean | "auto">;
59
+ default: null;
60
+ };
55
61
  clickable: {
56
62
  type: PropType<boolean | null>;
57
63
  default: null;
@@ -78,13 +84,16 @@ declare const _default: import("vue").DefineComponent<{
78
84
  type: BooleanConstructor;
79
85
  default: true;
80
86
  };
81
- required: BooleanConstructor;
82
87
  iconPrefix: StringConstructor;
83
88
  valueClass: PropType<unknown>;
84
89
  labelClass: PropType<unknown>;
85
90
  titleClass: PropType<unknown>;
86
91
  titleStyle: PropType<string | CSSProperties>;
87
92
  arrowDirection: PropType<CellArrowDirection>;
93
+ required: {
94
+ type: PropType<boolean | "auto">;
95
+ default: null;
96
+ };
88
97
  clickable: {
89
98
  type: PropType<boolean | null>;
90
99
  default: null;
@@ -109,13 +118,16 @@ declare const _default: import("vue").DefineComponent<{
109
118
  type: BooleanConstructor;
110
119
  default: true;
111
120
  };
112
- required: BooleanConstructor;
113
121
  iconPrefix: StringConstructor;
114
122
  valueClass: PropType<unknown>;
115
123
  labelClass: PropType<unknown>;
116
124
  titleClass: PropType<unknown>;
117
125
  titleStyle: PropType<string | CSSProperties>;
118
126
  arrowDirection: PropType<CellArrowDirection>;
127
+ required: {
128
+ type: PropType<boolean | "auto">;
129
+ default: null;
130
+ };
119
131
  clickable: {
120
132
  type: PropType<boolean | null>;
121
133
  default: null;
@@ -130,7 +142,7 @@ declare const _default: import("vue").DefineComponent<{
130
142
  center: boolean;
131
143
  border: boolean;
132
144
  isLink: boolean;
133
- required: boolean;
145
+ required: boolean | "auto";
134
146
  clickable: boolean | null;
135
147
  }, {}>;
136
148
  export default _default;
package/lib/cell/Cell.js CHANGED
@@ -38,13 +38,16 @@ const cellSharedProps = {
38
38
  center: Boolean,
39
39
  isLink: Boolean,
40
40
  border: import_utils.truthProp,
41
- required: Boolean,
42
41
  iconPrefix: String,
43
42
  valueClass: import_utils.unknownProp,
44
43
  labelClass: import_utils.unknownProp,
45
44
  titleClass: import_utils.unknownProp,
46
45
  titleStyle: null,
47
46
  arrowDirection: String,
47
+ required: {
48
+ type: [Boolean, String],
49
+ default: null
50
+ },
48
51
  clickable: {
49
52
  type: Boolean,
50
53
  default: null
@@ -125,7 +128,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
125
128
  const clickable = (_a = props.clickable) != null ? _a : isLink;
126
129
  const classes = {
127
130
  center,
128
- required,
131
+ required: !!required,
129
132
  clickable,
130
133
  borderless: !border
131
134
  };
@@ -14,13 +14,16 @@ export declare const Cell: import("../utils").WithInstall<import("vue").DefineCo
14
14
  type: BooleanConstructor;
15
15
  default: true;
16
16
  };
17
- required: BooleanConstructor;
18
17
  iconPrefix: StringConstructor;
19
18
  valueClass: import("vue").PropType<unknown>;
20
19
  labelClass: import("vue").PropType<unknown>;
21
20
  titleClass: import("vue").PropType<unknown>;
22
21
  titleStyle: import("vue").PropType<string | import("vue").CSSProperties>;
23
22
  arrowDirection: import("vue").PropType<import("./Cell").CellArrowDirection>;
23
+ required: {
24
+ type: import("vue").PropType<boolean | "auto">;
25
+ default: null;
26
+ };
24
27
  clickable: {
25
28
  type: import("vue").PropType<boolean | null>;
26
29
  default: null;
@@ -45,13 +48,16 @@ export declare const Cell: import("../utils").WithInstall<import("vue").DefineCo
45
48
  type: BooleanConstructor;
46
49
  default: true;
47
50
  };
48
- required: BooleanConstructor;
49
51
  iconPrefix: StringConstructor;
50
52
  valueClass: import("vue").PropType<unknown>;
51
53
  labelClass: import("vue").PropType<unknown>;
52
54
  titleClass: import("vue").PropType<unknown>;
53
55
  titleStyle: import("vue").PropType<string | import("vue").CSSProperties>;
54
56
  arrowDirection: import("vue").PropType<import("./Cell").CellArrowDirection>;
57
+ required: {
58
+ type: import("vue").PropType<boolean | "auto">;
59
+ default: null;
60
+ };
55
61
  clickable: {
56
62
  type: import("vue").PropType<boolean | null>;
57
63
  default: null;
@@ -66,7 +72,7 @@ export declare const Cell: import("../utils").WithInstall<import("vue").DefineCo
66
72
  center: boolean;
67
73
  border: boolean;
68
74
  isLink: boolean;
69
- required: boolean;
75
+ required: boolean | "auto";
70
76
  clickable: boolean | null;
71
77
  }, {}>>;
72
78
  export default Cell;