vant 4.0.0-rc.3 → 4.0.0-rc.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -5
- package/changelog.generated.md +47 -23
- package/es/date-picker/DatePicker.mjs +4 -1
- package/es/date-picker/utils.d.ts +1 -0
- package/es/date-picker/utils.mjs +11 -0
- package/es/field/Field.mjs +5 -4
- package/es/field/index.css +1 -1
- package/es/field/types.d.ts +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.mjs +1 -1
- package/es/loading/Loading.mjs +8 -4
- package/es/nav-bar/NavBar.d.ts +13 -0
- package/es/nav-bar/NavBar.mjs +4 -3
- package/es/nav-bar/index.d.ts +9 -0
- package/es/notify/function-call.mjs +1 -1
- package/es/stepper/Stepper.d.ts +13 -0
- package/es/stepper/Stepper.mjs +4 -3
- package/es/stepper/index.d.ts +9 -0
- package/es/tab/Tab.mjs +12 -2
- package/es/tabs/Tabs.mjs +51 -48
- package/es/time-picker/TimePicker.mjs +4 -3
- package/lib/date-picker/DatePicker.js +3 -0
- package/lib/date-picker/utils.d.ts +1 -0
- package/lib/date-picker/utils.js +11 -0
- package/lib/field/Field.js +5 -4
- package/lib/field/index.css +1 -1
- package/lib/field/types.d.ts +1 -1
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/loading/Loading.js +8 -4
- package/lib/nav-bar/NavBar.d.ts +13 -0
- package/lib/nav-bar/NavBar.js +4 -3
- package/lib/nav-bar/index.d.ts +9 -0
- package/lib/notify/function-call.js +1 -1
- package/lib/stepper/Stepper.d.ts +13 -0
- package/lib/stepper/Stepper.js +4 -3
- package/lib/stepper/index.d.ts +9 -0
- package/lib/tab/Tab.js +11 -1
- package/lib/tabs/Tabs.js +51 -48
- package/lib/time-picker/TimePicker.js +3 -2
- package/lib/vant.cjs.js +101 -67
- package/lib/vant.es.js +101 -67
- package/lib/vant.js +101 -67
- package/lib/vant.min.js +1 -1
- package/lib/web-types.json +523 -499
- package/package.json +5 -5
package/es/tabs/Tabs.mjs
CHANGED
@@ -133,7 +133,7 @@ var stdin_default = defineComponent({
|
|
133
133
|
index += diff;
|
134
134
|
}
|
135
135
|
};
|
136
|
-
const setCurrentIndex = (currentIndex) => {
|
136
|
+
const setCurrentIndex = (currentIndex, skipScrollIntoView) => {
|
137
137
|
const newIndex = findAvailableTab(currentIndex);
|
138
138
|
if (!isDef(newIndex)) {
|
139
139
|
return;
|
@@ -141,18 +141,27 @@ var stdin_default = defineComponent({
|
|
141
141
|
const newTab = children[newIndex];
|
142
142
|
const newName = getTabName(newTab, newIndex);
|
143
143
|
const shouldEmitChange = state.currentIndex !== null;
|
144
|
-
state.currentIndex
|
144
|
+
if (state.currentIndex !== newIndex) {
|
145
|
+
state.currentIndex = newIndex;
|
146
|
+
if (!skipScrollIntoView) {
|
147
|
+
scrollIntoView();
|
148
|
+
}
|
149
|
+
setLine();
|
150
|
+
}
|
145
151
|
if (newName !== props.active) {
|
146
152
|
emit("update:active", newName);
|
147
153
|
if (shouldEmitChange) {
|
148
154
|
emit("change", newName, newTab.title);
|
149
155
|
}
|
150
156
|
}
|
157
|
+
if (stickyFixed && !props.scrollspy) {
|
158
|
+
setRootScrollTop(Math.ceil(getElementTop(root.value) - offsetTopPx.value));
|
159
|
+
}
|
151
160
|
};
|
152
|
-
const setCurrentIndexByName = (name2) => {
|
161
|
+
const setCurrentIndexByName = (name2, skipScrollIntoView) => {
|
153
162
|
const matched = children.find((tab, index2) => getTabName(tab, index2) === name2);
|
154
163
|
const index = matched ? children.indexOf(matched) : 0;
|
155
|
-
setCurrentIndex(index);
|
164
|
+
setCurrentIndex(index, skipScrollIntoView);
|
156
165
|
};
|
157
166
|
const scrollToCurrentContent = (immediate = false) => {
|
158
167
|
if (props.scrollspy) {
|
@@ -243,13 +252,14 @@ var stdin_default = defineComponent({
|
|
243
252
|
}
|
244
253
|
};
|
245
254
|
const renderHeader = () => {
|
246
|
-
var _a, _b;
|
255
|
+
var _a, _b, _c;
|
247
256
|
const {
|
248
257
|
type,
|
249
|
-
border
|
258
|
+
border,
|
259
|
+
sticky
|
250
260
|
} = props;
|
251
|
-
|
252
|
-
"ref": wrapRef,
|
261
|
+
const Header = [_createVNode("div", {
|
262
|
+
"ref": sticky ? void 0 : wrapRef,
|
253
263
|
"class": [bem("wrap"), {
|
254
264
|
[BORDER_TOP_BOTTOM]: type === "line" && border
|
255
265
|
}]
|
@@ -262,7 +272,13 @@ var stdin_default = defineComponent({
|
|
262
272
|
}]),
|
263
273
|
"style": navStyle.value,
|
264
274
|
"aria-orientation": "horizontal"
|
265
|
-
}, [(_a = slots["nav-left"]) == null ? void 0 : _a.call(slots), renderNav(), renderLine(), (_b = slots["nav-right"]) == null ? void 0 : _b.call(slots)])]);
|
275
|
+
}, [(_a = slots["nav-left"]) == null ? void 0 : _a.call(slots), renderNav(), renderLine(), (_b = slots["nav-right"]) == null ? void 0 : _b.call(slots)])]), (_c = slots["nav-bottom"]) == null ? void 0 : _c.call(slots)];
|
276
|
+
if (sticky) {
|
277
|
+
return _createVNode("div", {
|
278
|
+
"ref": wrapRef
|
279
|
+
}, [Header]);
|
280
|
+
}
|
281
|
+
return Header;
|
266
282
|
};
|
267
283
|
watch([() => props.color, windowWidth], setLine);
|
268
284
|
watch(() => props.active, (value) => {
|
@@ -279,15 +295,8 @@ var stdin_default = defineComponent({
|
|
279
295
|
});
|
280
296
|
}
|
281
297
|
});
|
282
|
-
watch(() => state.currentIndex, () => {
|
283
|
-
scrollIntoView();
|
284
|
-
setLine();
|
285
|
-
if (stickyFixed && !props.scrollspy) {
|
286
|
-
setRootScrollTop(Math.ceil(getElementTop(root.value) - offsetTopPx.value));
|
287
|
-
}
|
288
|
-
});
|
289
298
|
const init = () => {
|
290
|
-
setCurrentIndexByName(props.active);
|
299
|
+
setCurrentIndexByName(props.active, true);
|
291
300
|
nextTick(() => {
|
292
301
|
state.inited = true;
|
293
302
|
if (wrapRef.value) {
|
@@ -323,37 +332,31 @@ var stdin_default = defineComponent({
|
|
323
332
|
currentName,
|
324
333
|
scrollIntoView
|
325
334
|
});
|
326
|
-
return () => {
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
default: () => {
|
352
|
-
var _a2;
|
353
|
-
return [(_a2 = slots.default) == null ? void 0 : _a2.call(slots)];
|
354
|
-
}
|
355
|
-
})]);
|
356
|
-
};
|
335
|
+
return () => _createVNode("div", {
|
336
|
+
"ref": root,
|
337
|
+
"class": bem([props.type])
|
338
|
+
}, [props.sticky ? _createVNode(Sticky, {
|
339
|
+
"container": root.value,
|
340
|
+
"offsetTop": offsetTopPx.value,
|
341
|
+
"onScroll": onStickyScroll
|
342
|
+
}, {
|
343
|
+
default: () => [renderHeader()]
|
344
|
+
}) : renderHeader(), _createVNode(TabsContent, {
|
345
|
+
"ref": contentRef,
|
346
|
+
"count": children.length,
|
347
|
+
"inited": state.inited,
|
348
|
+
"animated": props.animated,
|
349
|
+
"duration": props.duration,
|
350
|
+
"swipeable": props.swipeable,
|
351
|
+
"lazyRender": props.lazyRender,
|
352
|
+
"currentIndex": state.currentIndex,
|
353
|
+
"onChange": setCurrentIndex
|
354
|
+
}, {
|
355
|
+
default: () => {
|
356
|
+
var _a;
|
357
|
+
return [(_a = slots.default) == null ? void 0 : _a.call(slots)];
|
358
|
+
}
|
359
|
+
})]);
|
357
360
|
}
|
358
361
|
});
|
359
362
|
export {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
|
2
2
|
import { ref, watch, computed, defineComponent } from "vue";
|
3
3
|
import { pick, extend, createNamespace, makeNumericProp, isSameValue } from "../utils/index.mjs";
|
4
|
-
import { genOptions, sharedProps, pickerInheritKeys } from "../date-picker/utils.mjs";
|
4
|
+
import { genOptions, sharedProps, pickerInheritKeys, formatValueRange } from "../date-picker/utils.mjs";
|
5
5
|
import { Picker } from "../picker/index.mjs";
|
6
6
|
const [name] = createNamespace("time-picker");
|
7
7
|
const timePickerProps = extend({}, sharedProps, {
|
@@ -45,13 +45,14 @@ var stdin_default = defineComponent({
|
|
45
45
|
if (!isSameValue(newValues, props.modelValue)) {
|
46
46
|
emit("update:modelValue", newValues);
|
47
47
|
}
|
48
|
-
}, {
|
49
|
-
immediate: true
|
50
48
|
});
|
51
49
|
watch(() => props.modelValue, (newValues) => {
|
50
|
+
newValues = formatValueRange(newValues, columns.value);
|
52
51
|
if (!isSameValue(newValues, currentValues.value)) {
|
53
52
|
currentValues.value = newValues;
|
54
53
|
}
|
54
|
+
}, {
|
55
|
+
immediate: true
|
55
56
|
});
|
56
57
|
const onChange = (...args) => emit("change", ...args);
|
57
58
|
const onCancel = (...args) => emit("cancel", ...args);
|
@@ -112,9 +112,12 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
112
112
|
}
|
113
113
|
});
|
114
114
|
(0, import_vue2.watch)(() => props.modelValue, (newValues) => {
|
115
|
+
newValues = (0, import_utils2.formatValueRange)(newValues, columns.value);
|
115
116
|
if (!(0, import_utils.isSameValue)(newValues, currentValues.value)) {
|
116
117
|
currentValues.value = newValues;
|
117
118
|
}
|
119
|
+
}, {
|
120
|
+
immediate: true
|
118
121
|
});
|
119
122
|
const onChange = (...args) => emit("change", ...args);
|
120
123
|
const onCancel = (...args) => emit("cancel", ...args);
|
@@ -41,4 +41,5 @@ export declare const pickerInheritKeys: ("title" | "readonly" | "loading" | "all
|
|
41
41
|
export declare function times<T>(n: number, iteratee: (index: number) => T): T[];
|
42
42
|
export declare const getMonthEndDay: (year: number, month: number) => number;
|
43
43
|
export declare const genOptions: <T extends string>(min: number, max: number, type: T, formatter: Formatter, filter?: Filter) => PickerOption[];
|
44
|
+
export declare const formatValueRange: (values: string[], columns: PickerOption[]) => string[];
|
44
45
|
export {};
|
package/lib/date-picker/utils.js
CHANGED
@@ -17,6 +17,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
17
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
18
18
|
var stdin_exports = {};
|
19
19
|
__export(stdin_exports, {
|
20
|
+
formatValueRange: () => formatValueRange,
|
20
21
|
genOptions: () => genOptions,
|
21
22
|
getMonthEndDay: () => getMonthEndDay,
|
22
23
|
pickerInheritKeys: () => pickerInheritKeys,
|
@@ -57,3 +58,13 @@ const genOptions = (min, max, type, formatter, filter) => {
|
|
57
58
|
});
|
58
59
|
return filter ? filter(type, options) : options;
|
59
60
|
};
|
61
|
+
const formatValueRange = (values, columns) => values.map((value, index) => {
|
62
|
+
const column = columns[index];
|
63
|
+
if (column.length) {
|
64
|
+
const maxValue = +column[column.length - 1].value;
|
65
|
+
if (+value > maxValue) {
|
66
|
+
return String(maxValue);
|
67
|
+
}
|
68
|
+
}
|
69
|
+
return value;
|
70
|
+
});
|
package/lib/field/Field.js
CHANGED
@@ -161,7 +161,8 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
161
161
|
state.validateMessage = "";
|
162
162
|
};
|
163
163
|
const endValidate = () => emit("endValidate", {
|
164
|
-
status: state.status
|
164
|
+
status: state.status,
|
165
|
+
message: state.validateMessage
|
165
166
|
});
|
166
167
|
const validate = (rules = props.rules) => new Promise((resolve) => {
|
167
168
|
resetValidation();
|
@@ -450,9 +451,9 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
450
451
|
const labelAlign = getProp("labelAlign");
|
451
452
|
const Label = renderLabel();
|
452
453
|
const LeftIcon = renderLeftIcon();
|
454
|
+
const renderTitle = () => labelAlign === "top" ? [LeftIcon, Label] : Label;
|
453
455
|
return (0, import_vue.createVNode)(import_cell.Cell, {
|
454
456
|
"size": props.size,
|
455
|
-
"icon": props.leftIcon,
|
456
457
|
"class": bem({
|
457
458
|
error: showError.value,
|
458
459
|
disabled,
|
@@ -469,8 +470,8 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
469
470
|
}]), props.labelClass],
|
470
471
|
"arrowDirection": props.arrowDirection
|
471
472
|
}, {
|
472
|
-
icon: LeftIcon ? () => LeftIcon : null,
|
473
|
-
title: Label
|
473
|
+
icon: LeftIcon && labelAlign !== "top" ? () => LeftIcon : null,
|
474
|
+
title: Label || labelAlign === "top" ? renderTitle : null,
|
474
475
|
value: renderFieldBody,
|
475
476
|
extra: slots.extra
|
476
477
|
});
|
package/lib/field/index.css
CHANGED
@@ -1 +1 @@
|
|
1
|
-
:root{--van-field-label-width: 6.2em;--van-field-label-color: var(--van-text-color);--van-field-label-margin-right: var(--van-padding-sm);--van-field-input-text-color: var(--van-text-color);--van-field-input-error-text-color: var(--van-danger-color);--van-field-input-disabled-text-color: var(--van-text-color-3);--van-field-placeholder-text-color: var(--van-text-color-3);--van-field-icon-size: 16px;--van-field-clear-icon-size: 16px;--van-field-clear-icon-color: var(--van-gray-5);--van-field-right-icon-color: var(--van-gray-6);--van-field-error-message-color: var(--van-danger-color);--van-field-error-message-font-size: 12px;--van-field-text-area-min-height: 60px;--van-field-word-limit-color: var(--van-gray-7);--van-field-word-limit-font-size: var(--van-font-size-sm);--van-field-word-limit-line-height: 16px;--van-field-disabled-text-color: var(--van-text-color-3);--van-field-required-mark-color: var(--van-red)}.van-field__label{flex:none;box-sizing:border-box;width:var(--van-field-label-width);margin-right:var(--van-field-label-margin-right);color:var(--van-field-label-color);text-align:left;word-wrap:break-word}.van-field__label--center{text-align:center}.van-field__label--right{text-align:right}.van-field__label--required:before{margin-right:2px;color:var(--van-field-required-mark-color);content:"*"}.van-field--disabled .van-field__label{color:var(--van-field-disabled-text-color)}.van-field__value{overflow:visible}.van-field__body{display:flex;align-items:center}.van-field__control{display:block;box-sizing:border-box;width:100%;min-width:0;margin:0;padding:0;color:var(--van-field-input-text-color);line-height:inherit;text-align:left;background-color:transparent;border:0;resize:none;-webkit-user-select:auto;user-select:auto}.van-field__control::-webkit-input-placeholder{color:var(--van-field-placeholder-text-color)}.van-field__control::placeholder{color:var(--van-field-placeholder-text-color)}.van-field__control:disabled{color:var(--van-field-input-disabled-text-color);cursor:not-allowed;opacity:1;-webkit-text-fill-color:var(--van-field-input-disabled-text-color)}.van-field__control:read-only{cursor:default}.van-field__control--center{justify-content:center;text-align:center}.van-field__control--right{justify-content:flex-end;text-align:right}.van-field__control--custom{display:flex;align-items:center;min-height:var(--van-cell-line-height)}.van-field__control--error::-webkit-input-placeholder{color:var(--van-field-input-error-text-color);-webkit-text-fill-color:currentColor}.van-field__control--error,.van-field__control--error::placeholder{color:var(--van-field-input-error-text-color);-webkit-text-fill-color:currentColor}.van-field__control--min-height{min-height:var(--van-field-text-area-min-height)}.van-field__control[type=date],.van-field__control[type=time],.van-field__control[type=datetime-local]{min-height:var(--van-cell-line-height)}.van-field__control[type=search]{-webkit-appearance:none}.van-field__clear,.van-field__icon,.van-field__button,.van-field__right-icon{flex-shrink:0}.van-field__clear,.van-field__right-icon{margin-right:calc(var(--van-padding-xs) * -1);padding:0 var(--van-padding-xs);line-height:inherit}.van-field__clear{color:var(--van-field-clear-icon-color);font-size:var(--van-field-clear-icon-size);cursor:pointer}.van-field__left-icon .van-icon,.van-field__right-icon .van-icon{display:block;font-size:var(--van-field-icon-size);line-height:inherit}.van-field__left-icon{margin-right:var(--van-padding-base)}.van-field__right-icon{color:var(--van-field-right-icon-color)}.van-field__button{padding-left:var(--van-padding-xs)}.van-field__error-message{color:var(--van-field-error-message-color);font-size:var(--van-field-error-message-font-size);text-align:left}.van-field__error-message--center{text-align:center}.van-field__error-message--right{text-align:right}.van-field__word-limit{margin-top:var(--van-padding-base);color:var(--van-field-word-limit-color);font-size:var(--van-field-word-limit-font-size);line-height:var(--van-field-word-limit-line-height);text-align:right}
|
1
|
+
:root{--van-field-label-width: 6.2em;--van-field-label-color: var(--van-text-color);--van-field-label-margin-right: var(--van-padding-sm);--van-field-input-text-color: var(--van-text-color);--van-field-input-error-text-color: var(--van-danger-color);--van-field-input-disabled-text-color: var(--van-text-color-3);--van-field-placeholder-text-color: var(--van-text-color-3);--van-field-icon-size: 16px;--van-field-clear-icon-size: 16px;--van-field-clear-icon-color: var(--van-gray-5);--van-field-right-icon-color: var(--van-gray-6);--van-field-error-message-color: var(--van-danger-color);--van-field-error-message-font-size: 12px;--van-field-text-area-min-height: 60px;--van-field-word-limit-color: var(--van-gray-7);--van-field-word-limit-font-size: var(--van-font-size-sm);--van-field-word-limit-line-height: 16px;--van-field-disabled-text-color: var(--van-text-color-3);--van-field-required-mark-color: var(--van-red)}.van-field{flex-wrap:wrap}.van-field__label{flex:none;box-sizing:border-box;width:var(--van-field-label-width);margin-right:var(--van-field-label-margin-right);color:var(--van-field-label-color);text-align:left;word-wrap:break-word}.van-field__label--center{text-align:center}.van-field__label--right{text-align:right}.van-field__label--top{display:flex;width:100%;text-align:left;margin-bottom:var(--van-padding-base)}.van-field__label--required:before{margin-right:2px;color:var(--van-field-required-mark-color);content:"*"}.van-field--disabled .van-field__label{color:var(--van-field-disabled-text-color)}.van-field__value{overflow:visible}.van-field__body{display:flex;align-items:center}.van-field__control{display:block;box-sizing:border-box;width:100%;min-width:0;margin:0;padding:0;color:var(--van-field-input-text-color);line-height:inherit;text-align:left;background-color:transparent;border:0;resize:none;-webkit-user-select:auto;user-select:auto}.van-field__control::-webkit-input-placeholder{color:var(--van-field-placeholder-text-color)}.van-field__control::placeholder{color:var(--van-field-placeholder-text-color)}.van-field__control:disabled{color:var(--van-field-input-disabled-text-color);cursor:not-allowed;opacity:1;-webkit-text-fill-color:var(--van-field-input-disabled-text-color)}.van-field__control:read-only{cursor:default}.van-field__control--center{justify-content:center;text-align:center}.van-field__control--right{justify-content:flex-end;text-align:right}.van-field__control--custom{display:flex;align-items:center;min-height:var(--van-cell-line-height)}.van-field__control--error::-webkit-input-placeholder{color:var(--van-field-input-error-text-color);-webkit-text-fill-color:currentColor}.van-field__control--error,.van-field__control--error::placeholder{color:var(--van-field-input-error-text-color);-webkit-text-fill-color:currentColor}.van-field__control--min-height{min-height:var(--van-field-text-area-min-height)}.van-field__control[type=date],.van-field__control[type=time],.van-field__control[type=datetime-local]{min-height:var(--van-cell-line-height)}.van-field__control[type=search]{-webkit-appearance:none}.van-field__clear,.van-field__icon,.van-field__button,.van-field__right-icon{flex-shrink:0}.van-field__clear,.van-field__right-icon{margin-right:calc(var(--van-padding-xs) * -1);padding:0 var(--van-padding-xs);line-height:inherit}.van-field__clear{color:var(--van-field-clear-icon-color);font-size:var(--van-field-clear-icon-size);cursor:pointer}.van-field__left-icon .van-icon,.van-field__right-icon .van-icon{display:block;font-size:var(--van-field-icon-size);line-height:inherit}.van-field__left-icon{margin-right:var(--van-padding-base)}.van-field__right-icon{color:var(--van-field-right-icon-color)}.van-field__button{padding-left:var(--van-padding-xs)}.van-field__error-message{color:var(--van-field-error-message-color);font-size:var(--van-field-error-message-font-size);text-align:left}.van-field__error-message--center{text-align:center}.van-field__error-message--right{text-align:right}.van-field__word-limit{margin-top:var(--van-padding-base);color:var(--van-field-word-limit-color);font-size:var(--van-field-word-limit-font-size);line-height:var(--van-field-word-limit-line-height);text-align:right}
|
package/lib/field/types.d.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { ComputedRef, ComponentPublicInstance } from 'vue';
|
2
2
|
import type { FieldProps } from './Field';
|
3
3
|
export declare type FieldType = 'tel' | 'url' | 'date' | 'file' | 'text' | 'time' | 'week' | 'color' | 'digit' | 'email' | 'image' | 'month' | 'radio' | 'range' | 'reset' | 'button' | 'hidden' | 'number' | 'search' | 'submit' | 'checkbox' | 'password' | 'textarea' | 'datetime-local';
|
4
|
-
export declare type FieldTextAlign = 'left' | 'center' | 'right';
|
4
|
+
export declare type FieldTextAlign = 'left' | 'center' | 'right' | 'top';
|
5
5
|
export declare type FieldClearTrigger = 'always' | 'focus';
|
6
6
|
export declare type FieldFormatTrigger = 'onBlur' | 'onChange';
|
7
7
|
export declare type FieldValidateTrigger = 'onBlur' | 'onChange' | 'onSubmit';
|