vee-validate 4.4.5 → 4.4.6

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/CHANGELOG.md CHANGED
@@ -3,6 +3,18 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [4.4.6](https://github.com/logaretm/vee-validate/compare/v4.4.5...v4.4.6) (2021-07-08)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * clean error message for singular fields after unmount ([#3385](https://github.com/logaretm/vee-validate/issues/3385)) ([4e81cce](https://github.com/logaretm/vee-validate/commit/4e81cce292380974728b952a2fa1724c1ea4f086))
12
+ * quit unsetting path if its already unset ([cfe45ba](https://github.com/logaretm/vee-validate/commit/cfe45ba38690ec27b5ee4e48a80336834a932a78))
13
+
14
+
15
+
16
+
17
+
6
18
  ## [4.4.5](https://github.com/logaretm/vee-validate/compare/v4.4.4...v4.4.5) (2021-06-13)
7
19
 
8
20
 
package/README.md CHANGED
@@ -120,6 +120,12 @@ Then in your template use `v-model` to bind the `value` to your input and displa
120
120
 
121
121
  Read the [documentation and demos](https://vee-validate.logaretm.com/v4).
122
122
 
123
+ ## Sponsorship
124
+
125
+ You can help this this project by donating one time or by sponsoring via the following link
126
+
127
+ <a href="https://www.buymeacoffee.com/logaretm" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-red.png" alt="Buy Me A Coffee" height="60" width="217" ></a>
128
+
123
129
  ## Contributing
124
130
 
125
131
  You are welcome to contribute to this project, but before you do, please make sure you read the [contribution guide](CONTRIBUTING.md)
@@ -20,7 +20,7 @@ interface ValidationResult {
20
20
  valid: boolean;
21
21
  }
22
22
  declare type YupValidator = AnySchema | AnyObjectSchema;
23
- declare type MaybeRef<T> = Ref<T> | ComputedRef<T> | T;
23
+ declare type MaybeRef<T> = Ref<T> | T;
24
24
  interface FieldMeta<TValue> {
25
25
  touched: boolean;
26
26
  dirty: boolean;
@@ -103,7 +103,7 @@ interface FormContext<TValues extends Record<string, any> = Record<string, any>>
103
103
  values: TValues;
104
104
  fieldsById: ComputedRef<Record<keyof TValues, PrivateFieldComposite | PrivateFieldComposite[]>>;
105
105
  submitCount: Ref<number>;
106
- schema?: MaybeRef<RawFormSchema<TValues> | SchemaOf<TValues>>;
106
+ schema?: MaybeRef<RawFormSchema<TValues> | SchemaOf<TValues> | undefined>;
107
107
  validateSchema?: (mode: SchemaValidationMode) => Promise<FormValidationResult<TValues>>;
108
108
  validate(): Promise<FormValidationResult<TValues>>;
109
109
  validateField(field: keyof TValues): Promise<ValidationResult>;
@@ -218,21 +218,37 @@ declare const Field: vue.DefineComponent<{
218
218
  [key: string]: any;
219
219
  }>[];
220
220
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<{
221
- label: unknown;
221
+ as?: unknown;
222
+ name?: unknown;
223
+ rules?: unknown;
224
+ validateOnMount?: unknown;
225
+ validateOnBlur?: unknown;
226
+ validateOnChange?: unknown;
227
+ validateOnInput?: unknown;
228
+ validateOnModelUpdate?: unknown;
229
+ bails?: unknown;
230
+ label?: unknown;
231
+ uncheckedValue?: unknown;
232
+ modelValue?: unknown;
233
+ modelModifiers?: unknown;
234
+ 'onUpdate:modelValue'?: unknown;
235
+ } & {
222
236
  name: unknown;
223
237
  bails: boolean;
224
- uncheckedValue: any;
225
- validateOnInput: boolean;
226
- validateOnChange: boolean;
227
- validateOnBlur: boolean;
228
- validateOnModelUpdate: boolean;
229
238
  validateOnMount: boolean;
230
- as: unknown;
231
- rules: unknown;
232
239
  modelValue: any;
233
240
  modelModifiers: any;
234
- "onUpdate:modelValue": unknown;
235
- } & {}>, {
241
+ } & {
242
+ label?: unknown;
243
+ uncheckedValue?: any;
244
+ validateOnInput?: boolean;
245
+ validateOnChange?: boolean;
246
+ validateOnBlur?: boolean;
247
+ validateOnModelUpdate?: boolean;
248
+ as?: unknown;
249
+ rules?: unknown;
250
+ "onUpdate:modelValue"?: unknown;
251
+ }>, {
236
252
  label: unknown;
237
253
  bails: boolean;
238
254
  uncheckedValue: any;
@@ -286,14 +302,23 @@ declare const Form: vue.DefineComponent<{
286
302
  [key: string]: any;
287
303
  }>[];
288
304
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<{
289
- onSubmit: unknown;
305
+ as?: unknown;
306
+ validationSchema?: unknown;
307
+ initialValues?: unknown;
308
+ initialErrors?: unknown;
309
+ initialTouched?: unknown;
310
+ validateOnMount?: unknown;
311
+ onSubmit?: unknown;
312
+ } & {
290
313
  validateOnMount: boolean;
291
314
  as: unknown;
292
- initialValues: Record<string, any>;
293
- validationSchema: Record<string, any>;
294
- initialErrors: Record<string, any>;
295
- initialTouched: Record<string, any>;
296
- } & {}>, {
315
+ } & {
316
+ onSubmit?: unknown;
317
+ initialValues?: Record<string, any>;
318
+ validationSchema?: Record<string, any>;
319
+ initialErrors?: Record<string, any>;
320
+ initialTouched?: Record<string, any>;
321
+ }>, {
297
322
  onSubmit: unknown;
298
323
  validateOnMount: boolean;
299
324
  as: unknown;
@@ -321,9 +346,13 @@ declare const ErrorMessage: vue.DefineComponent<{
321
346
  [key: string]: any;
322
347
  }>[];
323
348
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<{
349
+ as?: unknown;
350
+ name?: unknown;
351
+ } & {
324
352
  name: unknown;
325
- as: unknown;
326
- } & {}>, {
353
+ } & {
354
+ as?: unknown;
355
+ }>, {
327
356
  as: unknown;
328
357
  }>;
329
358
 
@@ -336,7 +365,7 @@ interface FieldOptions<TValue = unknown> {
336
365
  valueProp?: MaybeRef<TValue>;
337
366
  checkedValue?: MaybeRef<TValue>;
338
367
  uncheckedValue?: MaybeRef<TValue>;
339
- label?: MaybeRef<string>;
368
+ label?: MaybeRef<string | undefined>;
340
369
  }
341
370
  declare type RuleExpression<TValue> = string | Record<string, unknown> | GenericValidateFunction | YupValidator | BaseSchema<TValue> | undefined;
342
371
  /**
@@ -345,7 +374,7 @@ declare type RuleExpression<TValue> = string | Record<string, unknown> | Generic
345
374
  declare function useField<TValue = unknown>(name: MaybeRef<string>, rules?: MaybeRef<RuleExpression<TValue>>, opts?: Partial<FieldOptions<TValue>>): FieldComposable<TValue>;
346
375
 
347
376
  interface FormOptions<TValues extends Record<string, any>> {
348
- validationSchema?: MaybeRef<Record<keyof TValues, GenericValidateFunction | string | Record<string, any>> | SchemaOf<TValues>>;
377
+ validationSchema?: MaybeRef<Record<keyof TValues, GenericValidateFunction | string | Record<string, any>> | SchemaOf<TValues> | undefined>;
349
378
  initialValues?: MaybeRef<TValues>;
350
379
  initialErrors?: Record<keyof TValues, string | undefined>;
351
380
  initialTouched?: Record<keyof TValues, boolean>;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vee-validate v4.4.5
2
+ * vee-validate v4.4.6
3
3
  * (c) 2021 Abdelrahman Awad
4
4
  * @license MIT
5
5
  */
@@ -212,7 +212,7 @@ function unsetPath(object, path) {
212
212
  break;
213
213
  }
214
214
  // Key does not exist, exit
215
- if (!(keys[i] in acc)) {
215
+ if (!(keys[i] in acc) || isNullOrUndefined(acc[keys[i]])) {
216
216
  break;
217
217
  }
218
218
  acc = acc[keys[i]];
@@ -1483,6 +1483,9 @@ function useForm(opts) {
1483
1483
  }
1484
1484
  function registerField(field) {
1485
1485
  fields.value.push(field);
1486
+ // TODO: Do this automatically on registration
1487
+ // eslint-disable-next-line no-unused-expressions
1488
+ fieldsById.value; // force computation of the fields ids to properly set their idx
1486
1489
  if (isRef(field.name)) {
1487
1490
  valuesByFid[field.fid] = field.value.value;
1488
1491
  // ensures when a field's name was already taken that it preserves its same value
@@ -1522,6 +1525,12 @@ function useForm(opts) {
1522
1525
  // cleans up the field value from fid lookup
1523
1526
  nextTick(() => {
1524
1527
  delete valuesByFid[fid];
1528
+ // clears a field error on unmounted
1529
+ // we wait till next tick to make sure if the field is completely removed and doesn't have any siblings like checkboxes
1530
+ // #3384
1531
+ if (!fieldsById.value[fieldName]) {
1532
+ setFieldError(fieldName, undefined);
1533
+ }
1525
1534
  });
1526
1535
  const fieldName = unref(field.name);
1527
1536
  // in this case, this is a single field not a group (checkbox or radio)
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vee-validate v4.4.5
2
+ * vee-validate v4.4.6
3
3
  * (c) 2021 Abdelrahman Awad
4
4
  * @license MIT
5
5
  */
@@ -216,7 +216,7 @@
216
216
  break;
217
217
  }
218
218
  // Key does not exist, exit
219
- if (!(keys[i] in acc)) {
219
+ if (!(keys[i] in acc) || isNullOrUndefined(acc[keys[i]])) {
220
220
  break;
221
221
  }
222
222
  acc = acc[keys[i]];
@@ -1487,6 +1487,9 @@
1487
1487
  }
1488
1488
  function registerField(field) {
1489
1489
  fields.value.push(field);
1490
+ // TODO: Do this automatically on registration
1491
+ // eslint-disable-next-line no-unused-expressions
1492
+ fieldsById.value; // force computation of the fields ids to properly set their idx
1490
1493
  if (vue.isRef(field.name)) {
1491
1494
  valuesByFid[field.fid] = field.value.value;
1492
1495
  // ensures when a field's name was already taken that it preserves its same value
@@ -1526,6 +1529,12 @@
1526
1529
  // cleans up the field value from fid lookup
1527
1530
  vue.nextTick(() => {
1528
1531
  delete valuesByFid[fid];
1532
+ // clears a field error on unmounted
1533
+ // we wait till next tick to make sure if the field is completely removed and doesn't have any siblings like checkboxes
1534
+ // #3384
1535
+ if (!fieldsById.value[fieldName]) {
1536
+ setFieldError(fieldName, undefined);
1537
+ }
1529
1538
  });
1530
1539
  const fieldName = vue.unref(field.name);
1531
1540
  // in this case, this is a single field not a group (checkbox or radio)
@@ -1,6 +1,6 @@
1
1
  /**
2
- * vee-validate v4.4.5
2
+ * vee-validate v4.4.6
3
3
  * (c) 2021 Abdelrahman Awad
4
4
  * @license MIT
5
5
  */
6
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).VeeValidate={},e.Vue)}(this,(function(e,t){"use strict";function r(e){return"function"==typeof e}function n(e){return null==e}const a=e=>null!==e&&!!e&&"object"==typeof e&&!Array.isArray(e);function i(e){return Number(e)>=0}const u={};const o=Symbol("vee-validate-form"),l=Symbol("vee-validate-form-errors"),s=Symbol("vee-validate-form-initial-values"),d=Symbol("vee-validate-field-instance"),c=Symbol("Default empty value");function f(e){return r(e)&&!!e.__locatorRef}function v(e){return!!e&&r(e.validate)}function m(e){return"checkbox"===e||"radio"===e}function p(e){return/^\[.+\]$/i.test(e)}function h(e,t){return function(e,t){const r=![!1,null,void 0,0].includes(t.multiple)&&!Number.isNaN(t.multiple);return"select"===e&&"multiple"in t&&r}(e,t)||function(e,t){return function(e){return["input","textarea","select"].includes(e)}(e)&&"file"===t.type}(e,t)}function y(e){return!!e&&(!!("undefined"!=typeof Event&&r(Event)&&e instanceof Event)||!(!e||!e.srcElement))}function g(e,t){return t in e&&e[t]!==c}function b(e){return p(e)?e.replace(/\[|\]/gi,""):e}function O(e,t,r){if(!e)return r;if(p(t))return e[b(t)];return t.split(/\.|\[(\d+)\]/).filter(Boolean).reduce(((e,t)=>{return(a(n=e)||Array.isArray(n))&&t in e?e[t]:r;var n}),e)}function F(e,t,r){if(p(t))return void(e[b(t)]=r);const a=t.split(/\.|\[(\d+)\]/).filter(Boolean);let u=e;for(let e=0;e<a.length;e++){if(e===a.length-1)return void(u[a[e]]=r);a[e]in u&&!n(u[a[e]])||(u[a[e]]=i(a[e+1])?[]:{}),u=u[a[e]]}}function V(e,t){Array.isArray(e)&&i(t)?e.splice(Number(t),1):a(e)&&delete e[t]}function E(e,t){if(p(t))return void delete e[b(t)];const r=t.split(/\.|\[(\d+)\]/).filter(Boolean);let n=e;for(let e=0;e<r.length;e++){if(e===r.length-1){V(n,r[e]);break}if(!(r[e]in n))break;n=n[r[e]]}const i=r.map(((t,n)=>O(e,r.slice(0,n).join("."))));for(let t=i.length-1;t>=0;t--)u=i[t],(Array.isArray(u)?0===u.length:a(u)&&0===Object.keys(u).length)&&(0!==t?V(i[t-1],r[t-1]):V(e,r[0]));var u}function j(e){return Object.keys(e)}function A(e,r){const n=t.getCurrentInstance();return(null==n?void 0:n.provides[e])||t.inject(e,r)}function w(e){t.warn(`[vee-validate]: ${e}`)}function S(e){return Array.isArray(e)?e[0]:e}function B(e,t,r=!1){Array.isArray(e)?r?t(e[0]):e.forEach(t):t(e)}function k(e,t,r){if(Array.isArray(e)){const r=[...e],n=r.indexOf(t);return n>=0?r.splice(n,1):r.push(t),r}return e===t?r:t}const M=(e,t,r)=>t.slots.default?"string"!=typeof e&&e?{default:()=>{var e,n;return null===(n=(e=t.slots).default)||void 0===n?void 0:n.call(e,r())}}:t.slots.default(r()):t.slots.default;function I(e){if(R(e))return e._value}function R(e){return"_value"in e}function T(e){if(!y(e))return e;const t=e.target;return m(t.type)&&R(t)?I(t):"file"===t.type&&t.files?Array.from(t.files):"SELECT"===(r=t).tagName&&r.multiple?Array.from(t.options).filter((e=>e.selected&&!e.disabled)).map(I):t.value;var r}function C(e){const t={};return Object.defineProperty(t,"_$$isNormalized",{value:!0,writable:!1,enumerable:!1,configurable:!1}),e?a(e)&&e._$$isNormalized?e:a(e)?Object.keys(e).reduce(((t,r)=>{const n=function(e){if(!0===e)return[];if(Array.isArray(e))return e;if(a(e))return e;return[e]}(e[r]);return!1!==e[r]&&(t[r]=x(n)),t}),t):"string"!=typeof e?t:e.split("|").reduce(((e,t)=>{const r=N(t);return r.name?(e[r.name]=x(r.params),e):e}),t):t}function x(e){const t=e=>"string"==typeof e&&"@"===e[0]?function(e){const t=t=>O(t,e)||t[e];return t.__locatorRef=e,t}(e.slice(1)):e;return Array.isArray(e)?e.map(t):e instanceof RegExp?[e]:Object.keys(e).reduce(((r,n)=>(r[n]=t(e[n]),r)),{})}const N=e=>{let t=[];const r=e.split(":")[0];return e.includes(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:r,params:t}};let _=Object.assign({},{generateMessage:({field:e})=>`${e} is not valid.`,bails:!0,validateOnBlur:!0,validateOnChange:!0,validateOnInput:!1,validateOnModelUpdate:!0});const $=()=>_,D=e=>{_=Object.assign(Object.assign({},_),e)};async function P(e,t,n={}){const a=null==n?void 0:n.bails,i={name:(null==n?void 0:n.name)||"{field}",rules:t,bails:null==a||a,formData:(null==n?void 0:n.values)||{}},u=(await async function(e,t){if(v(e.rules))return async function(e,t,r){var n;return{errors:await t.validate(e,{abortEarly:null===(n=r.bails)||void 0===n||n}).then((()=>[])).catch((e=>{if("ValidationError"===e.name)return e.errors;throw e}))}}(t,e.rules,{bails:e.bails});if(r(e.rules)){const r={field:e.name,form:e.formData,value:t},n=await e.rules(t,r),a="string"!=typeof n&&n,i="string"==typeof n?n:z(r);return{errors:a?[]:[i]}}const n=Object.assign(Object.assign({},e),{rules:C(e.rules)}),a=[],i=Object.keys(n.rules),u=i.length;for(let r=0;r<u;r++){const u=i[r],o=await U(n,t,{name:u,params:n.rules[u]});if(o.error&&(a.push(o.error),e.bails))return{errors:a}}return{errors:a}}(i,e)).errors;return{errors:u,valid:!u.length}}async function U(e,t,r){const n=(a=r.name,u[a]);var a;if(!n)throw new Error(`No such validator '${r.name}' exists.`);const i=function(e,t){const r=e=>f(e)?e(t):e;if(Array.isArray(e))return e.map(r);return Object.keys(e).reduce(((t,n)=>(t[n]=r(e[n]),t)),{})}(r.params,e.formData),o={field:e.name,value:t,form:e.formData,rule:Object.assign(Object.assign({},r),{params:i})},l=await n(t,i,o);return"string"==typeof l?{error:l}:{error:l?void 0:z(o)}}function z(e){const t=$().generateMessage;return t?t(e):"Field is invalid"}async function q(e,t,r){const n=j(e).map((async n=>{var a,i,u;const o=await P(O(t,n),e[n],{name:(null===(a=null==r?void 0:r.names)||void 0===a?void 0:a[n])||n,values:t,bails:null===(u=null===(i=null==r?void 0:r.bailsMap)||void 0===i?void 0:i[n])||void 0===u||u});return Object.assign(Object.assign({},o),{path:n})}));let a=!0;const i=await Promise.all(n),u={},o={};for(const e of i)u[e.path]={valid:e.valid,errors:e.errors},e.valid||(a=!1,o[e.path]=e.errors[0]);return{valid:a,results:u,errors:o}}var G=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,a,i;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(a=n;0!=a--;)if(!e(t[a],r[a]))return!1;return!0}if(t instanceof Map&&r instanceof Map){if(t.size!==r.size)return!1;for(a of t.entries())if(!r.has(a[0]))return!1;for(a of t.entries())if(!e(a[1],r.get(a[0])))return!1;return!0}if(t instanceof Set&&r instanceof Set){if(t.size!==r.size)return!1;for(a of t.entries())if(!r.has(a[0]))return!1;return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(r)){if((n=t.length)!=r.length)return!1;for(a=n;0!=a--;)if(t[a]!==r[a])return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(i=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(a=n;0!=a--;)if(!Object.prototype.hasOwnProperty.call(r,i[a]))return!1;for(a=n;0!=a--;){var u=i[a];if(!e(t[u],r[u]))return!1}return!0}return t!=t&&r!=r};let L=0;function X(e,n,a){const i=L>=Number.MAX_SAFE_INTEGER?0:++L,{initialValue:u,validateOnMount:l,bails:c,type:p,checkedValue:h,label:y,validateOnValueUpdate:g,uncheckedValue:b}=function(e,t){const r=()=>({initialValue:void 0,validateOnMount:!1,bails:!0,rules:"",label:e,validateOnValueUpdate:!0});if(!t)return r();const n="valueProp"in t?t.valueProp:t.checkedValue;return Object.assign(Object.assign(Object.assign({},r()),t||{}),{checkedValue:n})}(t.unref(e),a),F=A(o),{meta:V,errors:E,errorMessage:w,handleBlur:S,handleInput:B,resetValidationState:M,setValidationState:I,setErrors:R,value:x,checked:N}=function({name:e,initValue:r,form:n,type:a,checkedValue:i}){const{errors:u,errorMessage:o,setErrors:l}=function(e,r){if(!r){const e=t.ref([]);return{errors:t.computed((()=>e.value)),errorMessage:t.computed((()=>e.value[0])),setErrors:t=>{e.value=Array.isArray(t)?t:[t]}}}const n=t.computed((()=>r.errorBag.value[t.unref(e)]||[]));return{errors:n,errorMessage:t.computed((()=>n.value[0])),setErrors:n=>{r.setFieldErrorBag(t.unref(e),n)}}}(e,n),d=A(s,void 0),c=t.ref(t.unref(r)),f=t.computed((()=>O(t.unref(d),t.unref(e),t.unref(c)))),v=function(e,r,n){if(!n)return t.ref(t.unref(e));n.stageInitialValue(t.unref(r),t.unref(e));return t.computed({get:()=>O(n.values,t.unref(r)),set(e){n.setFieldValue(t.unref(r),e)}})}(f,e,n),p=function(e,r,n){const a=t.reactive({touched:!1,pending:!1,valid:!0,validated:!!t.unref(n).length,initialValue:t.computed((()=>t.unref(e))),dirty:t.computed((()=>!G(t.unref(r),t.unref(e))))});return t.watch(n,(e=>{a.valid=!e.length}),{immediate:!0,flush:"sync"}),a}(f,v,u),h=m(a)?t.computed((()=>Array.isArray(v.value)?v.value.includes(t.unref(i)):t.unref(i)===v.value)):void 0,y=()=>{p.touched=!0};function g(e){return l(e.errors),e}function b(a){var i;const u=t.unref(e),o=a&&"value"in a?a.value:O(t.unref(d),u,t.unref(r));n?(n.setFieldValue(u,o,{force:!0}),n.setFieldInitialValue(u,o)):(v.value=o,c.value=o),l((null==a?void 0:a.errors)||[]),p.touched=null!==(i=null==a?void 0:a.touched)&&void 0!==i&&i,p.pending=!1,p.validated=!1}return{meta:p,errors:u,errorMessage:o,setErrors:l,setValidationState:g,resetValidationState:b,handleBlur:y,handleInput:e=>{m(a)||(v.value=T(e))},value:v,checked:h}}({name:e,initValue:u,form:F,type:p,checkedValue:h}),_=t.computed((()=>{let a=t.unref(n);const i=t.unref(null==F?void 0:F.schema);return i&&!v(i)&&(a=function(e,t){if(!e)return;return e[t]}(i,t.unref(e))||a),v(a)||r(a)?a:C(a)}));async function $(r){var n,a;return(null==F?void 0:F.validateSchema)?null!==(n=(await F.validateSchema(r)).results[t.unref(e)])&&void 0!==n?n:{valid:!0,errors:[]}:P(x.value,_.value,{name:t.unref(y)||t.unref(e),values:null!==(a=null==F?void 0:F.values)&&void 0!==a?a:{},bails:c})}async function D(){V.pending=!0,V.validated=!0;const e=await $("validated-only");return V.pending=!1,I(e)}async function U(){const e=await $("silent");V.valid=e.valid}let z;function q(){z=t.watch(x,g?D:U,{deep:!0})}function X(e){null==z||z(),M(e),q()}t.onMounted((()=>{if(l)return D();F&&F.validateSchema||U()})),q();const H={idx:-1,fid:i,name:e,label:y,value:x,meta:V,errors:E,errorMessage:w,type:p,checkedValue:h,uncheckedValue:b,checked:N,bails:c,resetField:X,handleReset:()=>X(),validate:D,handleChange:(e,r=!0)=>{var n,a;if(N&&N.value===(null===(a=null===(n=e)||void 0===n?void 0:n.target)||void 0===a?void 0:a.checked))return;let i=T(e);return N&&"checkbox"===p&&!F&&(i=k(x.value,t.unref(h),t.unref(b))),x.value=i,!g&&r?D():void 0},handleBlur:S,handleInput:B,setValidationState:I,setTouched:function(e){V.touched=e},setErrors:R};if(t.provide(d,H),t.isRef(n)&&"function"!=typeof t.unref(n)&&t.watch(n,((e,t)=>{if(!G(e,t))return D()}),{deep:!0}),!F)return H;F.register(H),t.onBeforeUnmount((()=>{F.unregister(H)}));const J=t.computed((()=>{const e=_.value;return!e||r(e)||v(e)?{}:Object.keys(e).reduce(((t,r)=>{const n=(a=e[r],Array.isArray(a)?a.filter(f):j(a).filter((e=>f(a[e]))).map((e=>a[e]))).map((e=>e.__locatorRef)).reduce(((e,t)=>{const r=O(F.values,t)||F.values[t];return void 0!==r&&(e[t]=r),e}),{});var a;return Object.assign(t,n),t}),{})}));return t.watch(J,((e,t)=>{if(!Object.keys(e).length)return;!G(e,t)&&(V.dirty?D():U())})),H}const H=t.defineComponent({name:"Field",inheritAttrs:!1,props:{as:{type:[String,Object],default:void 0},name:{type:String,required:!0},rules:{type:[Object,String,Function],default:void 0},validateOnMount:{type:Boolean,default:!1},validateOnBlur:{type:Boolean,default:void 0},validateOnChange:{type:Boolean,default:void 0},validateOnInput:{type:Boolean,default:void 0},validateOnModelUpdate:{type:Boolean,default:void 0},bails:{type:Boolean,default:()=>$().bails},label:{type:String,default:void 0},uncheckedValue:{type:null,default:void 0},modelValue:{type:null,default:c},modelModifiers:{type:null,default:()=>({})},"onUpdate:modelValue":{type:null,default:void 0}},setup(e,r){const n=t.toRef(e,"rules"),a=t.toRef(e,"name"),i=t.toRef(e,"label"),u=t.toRef(e,"uncheckedValue"),o=g(e,"onUpdate:modelValue"),{errors:l,value:s,errorMessage:d,validate:c,handleChange:f,handleBlur:v,handleInput:p,setTouched:y,resetField:b,handleReset:O,meta:F,checked:V,setErrors:E}=X(a,n,{validateOnMount:e.validateOnMount,bails:e.bails,type:r.attrs.type,initialValue:K(e,r),checkedValue:r.attrs.value,uncheckedValue:u,label:i,validateOnValueUpdate:!1}),j=o?function(e,t=!0){f(e,t),r.emit("update:modelValue",s.value)}:f,A=o?function(e){p(e),r.emit("update:modelValue",s.value)}:p,w=t.computed((()=>{const{validateOnInput:t,validateOnChange:n,validateOnBlur:a,validateOnModelUpdate:i}=function(e){var t,r,n,a;const{validateOnInput:i,validateOnChange:u,validateOnBlur:o,validateOnModelUpdate:l}=$();return{validateOnInput:null!==(t=e.validateOnInput)&&void 0!==t?t:i,validateOnChange:null!==(r=e.validateOnChange)&&void 0!==r?r:u,validateOnBlur:null!==(n=e.validateOnBlur)&&void 0!==n?n:o,validateOnModelUpdate:null!==(a=e.validateOnModelUpdate)&&void 0!==a?a:l}}(e),u=[v,r.attrs.onBlur,a?c:void 0].filter(Boolean),o=[e=>j(e,t),r.attrs.onInput].filter(Boolean),l=[e=>j(e,n),r.attrs.onChange].filter(Boolean),d={name:e.name,onBlur:u,onInput:o,onChange:l};i&&(d["onUpdate:modelValue"]=[j]),m(r.attrs.type)&&V?d.checked=V.value:d.value=s.value;return h(J(e,r),r.attrs)&&delete d.value,d})),S=t.toRef(e,"modelValue");function B(){return{field:w.value,value:s.value,meta:F,errors:l.value,errorMessage:d.value,validate:c,resetField:b,handleChange:j,handleInput:A,handleReset:O,handleBlur:v,setTouched:y,setErrors:E}}return t.watch(S,(t=>{t!==function(e,t){if(t.number)return function(e){const t=parseFloat(e);return isNaN(t)?e:t}(e);return e}(s.value,e.modelModifiers)&&(s.value=t,c())})),()=>{const n=t.resolveDynamicComponent(J(e,r)),a=M(n,r,B);return n?t.h(n,Object.assign(Object.assign({},r.attrs),w.value),a):a}}});function J(e,t){let r=e.as||"";return e.as||t.slots.default||(r="input"),r}function K(e,t){return m(t.attrs.type)?g(e,"modelValue")?e.modelValue:void 0:g(e,"modelValue")?e.modelValue:t.attrs.value}function Q(e){if("object"!=typeof e)return e;var t,r,n=Object.prototype.toString.call(e);if("[object Object]"===n){if(e.constructor!==Object&&"function"==typeof e.constructor)for(t in r=new e.constructor,e)r.hasOwnProperty(t)&&r[t]!==e[t]&&(r[t]=Q(e[t]));else for(t in r={},e)"__proto__"===t?Object.defineProperty(r,t,{value:Q(e[t]),configurable:!0,enumerable:!0,writable:!0}):r[t]=Q(e[t]);return r}if("[object Array]"===n){for(t=e.length,r=Array(t);t--;)r[t]=Q(e[t]);return r}return"[object Date]"===n?new Date(+e):"[object RegExp]"===n?((r=new RegExp(e.source,e.flags)).lastIndex=e.lastIndex,r):e}function W(e){const r=t.ref([]),n=t.ref(!1),a=t.computed((()=>r.value.reduce(((e,r)=>{const n=t.unref(r.name);if(!e[n])return e[n]=r,r.idx=-1,e;const a=e[n];Array.isArray(a)||(a.idx=0,e[n]=[a]);const i=e[n];return r.idx=i.length,i.push(r),e}),{}))),i=t.ref(0),u=t.reactive(Q(t.unref(null==e?void 0:e.initialValues)||{})),d={},{errorBag:c,setErrorBag:f,setFieldErrorBag:m}=function(e){const r=t.ref({});function n(e){return Array.isArray(e)?e:e?[e]:[]}function a(e,t){t?r.value[e]=n(t):delete r.value[e]}function i(e){r.value=j(e).reduce(((t,r)=>{const a=e[r];return a&&(t[r]=n(a)),t}),{})}e&&i(e);return{errorBag:r,setErrorBag:i,setFieldErrorBag:a}}(null==e?void 0:e.initialErrors),p=t.computed((()=>j(c.value).reduce(((e,t)=>{const r=c.value[t];return r&&r.length&&(e[t]=r[0]),e}),{}))),h=t.computed((()=>j(a.value).reduce(((e,r)=>{const n=S(a.value[r]);return n&&(e[r]=t.unref(n.label||n.name)||""),e}),{}))),g=t.computed((()=>j(a.value).reduce(((e,t)=>{var r;const n=S(a.value[t]);return n&&(e[t]=null===(r=n.bails)||void 0===r||r),e}),{}))),b=Object.assign({},(null==e?void 0:e.initialErrors)||{}),{readonlyInitialValues:V,initialValues:A,setInitialValues:w}=function(e,r,n){const a=t.ref(t.unref(n)||{}),i=t.computed((()=>a.value));function u(t,n=!1){if(a.value=Object.assign({},t),!n)return;const i=e=>e.meta.touched;j(e.value).forEach((t=>{const n=e.value[t];if(Array.isArray(n)?n.some(i):i(n))return;const u=O(a.value,t);F(r,t,u)}))}t.isRef(n)&&t.watch(n,(e=>{u(e,!0)}),{deep:!0});return t.provide(s,i),{readonlyInitialValues:i,initialValues:a,setInitialValues:u}}(a,u,null==e?void 0:e.initialValues),M=function(e,r,n,a){const i={touched:"some",pending:"some",valid:"every"},u=t.computed((()=>!G(r,t.unref(n))));return t.computed((()=>{const r=j(i).reduce(((t,r)=>{const n=i[r];return t[r]=e.value[n]((e=>e.meta[r])),t}),{});return Object.assign(Object.assign({initialValues:t.unref(n)},r),{valid:r.valid&&!j(a.value).length,dirty:u.value})}))}(r,u,V,p),I=null==e?void 0:e.validationSchema,R={fieldsById:a,values:u,errorBag:c,schema:I,submitCount:i,meta:M,isSubmitting:n,validateSchema:t.unref(I)?async function(e){const r=t.unref(I);if(!r)return{valid:!0,results:{},errors:{}};const n=v(r)?await async function(e,t){const r=await e.validate(t,{abortEarly:!1}).then((()=>[])).catch((e=>{if("ValidationError"!==e.name)throw e;return e.inner||[]})),n={},a={};for(const e of r){const t=e.errors;n[e.path]={valid:!t.length,errors:t},t.length&&(a[e.path]=t[0])}return{valid:!r.length,results:n,errors:a}}(r,u):await q(r,u,{names:h.value,bailsMap:g.value}),a=R.fieldsById.value||{},i=j(R.errorBag.value);return[...new Set([...j(n.results),...j(a),...i])].reduce(((t,r)=>{const i=a[r],u=(n.results[r]||{errors:[]}).errors,o={errors:u,valid:!u.length};if(t.results[r]=o,o.valid||(t.errors[r]=o.errors[0]),!i)return T(r,u),t;if(B(i,(e=>e.meta.valid=o.valid)),"silent"===e)return t;const l=Array.isArray(i)?i.some((e=>e.meta.validated)):i.meta.validated;return"validated-only"!==e||l?(B(i,(e=>e.setValidationState(o)),!0),t):t}),{valid:n.valid,results:{},errors:{}})}:void 0,validate:P,register:function(e){r.value.push(e),t.isRef(e.name)&&(d[e.fid]=e.value.value,t.watch(e.name,((n,a)=>{x(n,d[e.fid]);r.value.find((e=>t.unref(e.name)===a))||(E(u,a),E(A.value,a))}),{flush:"post"}));const n=t.unref(e.name),a=t.unref(e.errorMessage);a&&(null==b?void 0:b[n])!==a&&U(n);delete b[n]},unregister:function(e){var n,a;const i=r.value.indexOf(e);if(-1===i)return;r.value.splice(i,1);const o=e.fid;t.nextTick((()=>{delete d[o]}));const l=t.unref(e.name);if(-1===e.idx){if(r.value.find((e=>t.unref(e.name)===l)))return;return E(u,l),void E(A.value,l)}const s=null===(a=null===(n=O(u,l))||void 0===n?void 0:n.indexOf)||void 0===a?void 0:a.call(n,t.unref(e.checkedValue));if(void 0===s)return void E(u,l);if(-1===s)return;if(Array.isArray(u[l]))return void E(u,`${l}.${s}`);E(u,l),E(A.value,l)},setFieldErrorBag:m,validateField:U,setFieldValue:x,setValues:N,setErrors:C,setFieldError:T,setFieldTouched:_,setTouched:$,resetForm:D,handleSubmit:z,stageInitialValue:function(e,t){F(u,e,t),L(e,t)},setFieldInitialValue:L};function T(e,t){m(e,t)}function C(e){f(e)}function x(e,r,{force:n}={force:!1}){var i;const o=a.value[e];if(!o)return void F(u,e,r);if(Array.isArray(o)&&"checkbox"===(null===(i=o[0])||void 0===i?void 0:i.type)&&!Array.isArray(r)){const t=k(O(u,e)||[],r,void 0);return F(u,e,t),void o.forEach((e=>{d[e.fid]=t}))}let l=r;Array.isArray(o)||"checkbox"!==(null==o?void 0:o.type)||n||(l=k(O(u,e),r,t.unref(o.uncheckedValue))),F(u,e,l),o&&Array.isArray(o)?o.forEach((e=>{d[e.fid]=l})):d[o.fid]=l}function N(e){j(u).forEach((e=>{delete u[e]})),j(e).forEach((t=>{x(t,e[t])}))}function _(e,t){const r=a.value[e];r&&B(r,(e=>e.setTouched(t)))}function $(e){j(e).forEach((t=>{_(t,!!e[t])}))}function D(e){(null==e?void 0:e.values)?(w(e.values),N(null==e?void 0:e.values)):N(A.value),r.value.forEach((e=>e.resetField())),(null==e?void 0:e.touched)&&$(e.touched),C((null==e?void 0:e.errors)||{}),i.value=(null==e?void 0:e.submitCount)||0}async function P(){if(R.validateSchema)return R.validateSchema("force");const e=await Promise.all(r.value.map((e=>e.validate().then((r=>({key:t.unref(e.name),valid:r.valid,errors:r.errors})))))),n={},a={};for(const t of e)n[t.key]={valid:t.valid,errors:t.errors},t.errors.length&&(a[t.key]=t.errors[0]);return{valid:e.every((e=>e.valid)),results:n,errors:a}}async function U(e){const r=a.value[e];return r?Array.isArray(r)?r.map((e=>e.validate()))[0]:r.validate():(t.warn(`field with name ${e} was not found`),Promise.resolve({errors:[],valid:!0}))}function z(e){return function(t){return t instanceof Event&&(t.preventDefault(),t.stopPropagation()),$(j(a.value).reduce(((e,t)=>(e[t]=!0,e)),{})),n.value=!0,i.value++,P().then((r=>{if(r.valid&&"function"==typeof e)return e(Q(u),{evt:t,setErrors:C,setFieldError:T,setTouched:$,setFieldTouched:_,setValues:N,setFieldValue:x,resetForm:D})})).then((()=>{n.value=!1}),(e=>{throw n.value=!1,e}))}}function L(e,t){F(A.value,e,t)}const X=z(((e,{evt:t})=>{(function(e){return y(e)&&e.target&&"submit"in e.target})(t)&&t.target.submit()}));return t.onMounted((()=>{(null==e?void 0:e.initialErrors)&&C(e.initialErrors),(null==e?void 0:e.initialTouched)&&$(e.initialTouched),(null==e?void 0:e.validateOnMount)?P():R.validateSchema&&R.validateSchema("silent")})),t.isRef(I)&&t.watch(I,(()=>{var e;null===(e=R.validateSchema)||void 0===e||e.call(R,"validated-only")})),t.provide(o,R),t.provide(l,p),{errors:p,meta:M,values:u,isSubmitting:n,submitCount:i,validate:P,validateField:U,handleReset:()=>D(),resetForm:D,handleSubmit:z,submitForm:X,setFieldError:T,setErrors:C,setFieldValue:x,setValues:N,setFieldTouched:_,setTouched:$}}const Y=t.defineComponent({name:"Form",inheritAttrs:!1,props:{as:{type:String,default:"form"},validationSchema:{type:Object,default:void 0},initialValues:{type:Object,default:void 0},initialErrors:{type:Object,default:void 0},initialTouched:{type:Object,default:void 0},validateOnMount:{type:Boolean,default:!1},onSubmit:{type:Function,default:void 0}},setup(e,r){const n=t.toRef(e,"initialValues"),a=t.toRef(e,"validationSchema"),{errors:i,values:u,meta:o,isSubmitting:l,submitCount:s,validate:d,validateField:c,handleReset:f,resetForm:v,handleSubmit:m,submitForm:p,setErrors:h,setFieldError:g,setFieldValue:b,setValues:O,setFieldTouched:F,setTouched:V}=W({validationSchema:a.value?a:void 0,initialValues:n,initialErrors:e.initialErrors,initialTouched:e.initialTouched,validateOnMount:e.validateOnMount}),E=e.onSubmit?m(e.onSubmit):p;function j(e){y(e)&&e.preventDefault(),f(),"function"==typeof r.attrs.onReset&&r.attrs.onReset()}function A(e,t){return m("function"!=typeof e||t?t:e)(e)}function w(){return{meta:o.value,errors:i.value,values:u,isSubmitting:l.value,submitCount:s.value,validate:d,validateField:c,handleSubmit:A,handleReset:f,submitForm:p,setErrors:h,setFieldError:g,setFieldValue:b,setValues:O,setFieldTouched:F,setTouched:V,resetForm:v}}return function(){"setErrors"in this||(this.setFieldError=g,this.setErrors=h,this.setFieldValue=b,this.setValues=O,this.setFieldTouched=F,this.setTouched=V,this.resetForm=v,this.validate=d,this.validateField=c);const n="form"===e.as?e.as:t.resolveDynamicComponent(e.as),a=M(n,r,w);if(!e.as)return a;const i="form"===e.as?{novalidate:!0}:{};return t.h(n,Object.assign(Object.assign(Object.assign({},i),r.attrs),{onSubmit:E,onReset:j}),a)}}}),Z=t.defineComponent({name:"ErrorMessage",props:{as:{type:String,default:void 0},name:{type:String,required:!0}},setup(e,r){const n=t.inject(l,void 0),a=t.computed((()=>null==n?void 0:n.value[e.name]));function i(){return{message:a.value}}return()=>{if(!a.value)return;const n=e.as?t.resolveDynamicComponent(e.as):e.as,u=M(n,r,i),o=Object.assign({role:"alert"},r.attrs);return n||!Array.isArray(u)&&u||!(null==u?void 0:u.length)?!Array.isArray(u)&&u||(null==u?void 0:u.length)?t.h(n,o,u):t.h(n||"span",o,a.value):u}}});e.ErrorMessage=Z,e.Field=H,e.Form=Y,e.configure=D,e.defineRule=function(e,t){!function(e,t){if(r(t))return;throw new Error(`Extension Error: The validator '${e}' must be a function.`)}(e,t),u[e]=t},e.useField=X,e.useFieldError=function(e){const r=A(l),n=e?void 0:t.inject(d);return t.computed((()=>{var a;return e?null===(a=null==r?void 0:r.value)||void 0===a?void 0:a[t.unref(e)]:null==n?void 0:n.errorMessage.value}))},e.useFieldValue=function(e){const r=A(o),n=e?void 0:t.inject(d);return t.computed((()=>{var a;return e?O(null==r?void 0:r.values,t.unref(e)):null===(a=null==n?void 0:n.value)||void 0===a?void 0:a.value}))},e.useForm=W,e.useFormErrors=function(){const e=A(l);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),e||t.computed((()=>({})))},e.useFormValues=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>(null==e?void 0:e.values)||{}))},e.useIsFieldDirty=function(e){const r=A(o);let n=e?void 0:t.inject(d);return t.computed((()=>(e&&(n=S(null==r?void 0:r.fieldsById.value[t.unref(e)])),n?n.meta.dirty:(w(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldTouched=function(e){const r=A(o);let n=e?void 0:t.inject(d);return t.computed((()=>(e&&(n=S(null==r?void 0:r.fieldsById.value[t.unref(e)])),n?n.meta.touched:(w(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldValid=function(e){const r=A(o);let n=e?void 0:t.inject(d);return t.computed((()=>(e&&(n=S(null==r?void 0:r.fieldsById.value[t.unref(e)])),n?n.meta.valid:(w(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFormDirty=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.dirty)&&void 0!==t&&t}))},e.useIsFormTouched=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.touched)&&void 0!==t&&t}))},e.useIsFormValid=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.valid)&&void 0!==t&&t}))},e.useIsSubmitting=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.isSubmitting.value)&&void 0!==t&&t}))},e.useResetForm=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),function(t){if(e)return e.resetForm(t)}},e.useSubmitCount=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.submitCount.value)&&void 0!==t?t:0}))},e.useSubmitForm=function(e){const t=A(o);t||w("No vee-validate <Form /> or `useForm` was detected in the component tree");const r=t?t.handleSubmit(e):void 0;return function(e){if(r)return r(e)}},e.useValidateField=function(e){const r=A(o);let n=e?void 0:t.inject(d);return function(){return e&&(n=S(null==r?void 0:r.fieldsById.value[t.unref(e)])),n?n.validate():(w(`field with name ${t.unref(e)} was not found`),Promise.resolve({errors:[],valid:!0}))}},e.useValidateForm=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),function(){return e?e.validate():Promise.resolve({results:{},errors:{},valid:!0})}},e.validate=P,Object.defineProperty(e,"__esModule",{value:!0})}));
6
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).VeeValidate={},e.Vue)}(this,(function(e,t){"use strict";function r(e){return"function"==typeof e}function n(e){return null==e}const a=e=>null!==e&&!!e&&"object"==typeof e&&!Array.isArray(e);function i(e){return Number(e)>=0}const u={};const o=Symbol("vee-validate-form"),l=Symbol("vee-validate-form-errors"),s=Symbol("vee-validate-form-initial-values"),d=Symbol("vee-validate-field-instance"),c=Symbol("Default empty value");function f(e){return r(e)&&!!e.__locatorRef}function v(e){return!!e&&r(e.validate)}function m(e){return"checkbox"===e||"radio"===e}function p(e){return/^\[.+\]$/i.test(e)}function h(e,t){return function(e,t){const r=![!1,null,void 0,0].includes(t.multiple)&&!Number.isNaN(t.multiple);return"select"===e&&"multiple"in t&&r}(e,t)||function(e,t){return function(e){return["input","textarea","select"].includes(e)}(e)&&"file"===t.type}(e,t)}function y(e){return!!e&&(!!("undefined"!=typeof Event&&r(Event)&&e instanceof Event)||!(!e||!e.srcElement))}function g(e,t){return t in e&&e[t]!==c}function b(e){return p(e)?e.replace(/\[|\]/gi,""):e}function O(e,t,r){if(!e)return r;if(p(t))return e[b(t)];return t.split(/\.|\[(\d+)\]/).filter(Boolean).reduce(((e,t)=>{return(a(n=e)||Array.isArray(n))&&t in e?e[t]:r;var n}),e)}function F(e,t,r){if(p(t))return void(e[b(t)]=r);const a=t.split(/\.|\[(\d+)\]/).filter(Boolean);let u=e;for(let e=0;e<a.length;e++){if(e===a.length-1)return void(u[a[e]]=r);a[e]in u&&!n(u[a[e]])||(u[a[e]]=i(a[e+1])?[]:{}),u=u[a[e]]}}function V(e,t){Array.isArray(e)&&i(t)?e.splice(Number(t),1):a(e)&&delete e[t]}function E(e,t){if(p(t))return void delete e[b(t)];const r=t.split(/\.|\[(\d+)\]/).filter(Boolean);let i=e;for(let e=0;e<r.length;e++){if(e===r.length-1){V(i,r[e]);break}if(!(r[e]in i)||n(i[r[e]]))break;i=i[r[e]]}const u=r.map(((t,n)=>O(e,r.slice(0,n).join("."))));for(let t=u.length-1;t>=0;t--)o=u[t],(Array.isArray(o)?0===o.length:a(o)&&0===Object.keys(o).length)&&(0!==t?V(u[t-1],r[t-1]):V(e,r[0]));var o}function j(e){return Object.keys(e)}function A(e,r){const n=t.getCurrentInstance();return(null==n?void 0:n.provides[e])||t.inject(e,r)}function w(e){t.warn(`[vee-validate]: ${e}`)}function S(e){return Array.isArray(e)?e[0]:e}function B(e,t,r=!1){Array.isArray(e)?r?t(e[0]):e.forEach(t):t(e)}function k(e,t,r){if(Array.isArray(e)){const r=[...e],n=r.indexOf(t);return n>=0?r.splice(n,1):r.push(t),r}return e===t?r:t}const M=(e,t,r)=>t.slots.default?"string"!=typeof e&&e?{default:()=>{var e,n;return null===(n=(e=t.slots).default)||void 0===n?void 0:n.call(e,r())}}:t.slots.default(r()):t.slots.default;function I(e){if(R(e))return e._value}function R(e){return"_value"in e}function T(e){if(!y(e))return e;const t=e.target;return m(t.type)&&R(t)?I(t):"file"===t.type&&t.files?Array.from(t.files):"SELECT"===(r=t).tagName&&r.multiple?Array.from(t.options).filter((e=>e.selected&&!e.disabled)).map(I):t.value;var r}function C(e){const t={};return Object.defineProperty(t,"_$$isNormalized",{value:!0,writable:!1,enumerable:!1,configurable:!1}),e?a(e)&&e._$$isNormalized?e:a(e)?Object.keys(e).reduce(((t,r)=>{const n=function(e){if(!0===e)return[];if(Array.isArray(e))return e;if(a(e))return e;return[e]}(e[r]);return!1!==e[r]&&(t[r]=x(n)),t}),t):"string"!=typeof e?t:e.split("|").reduce(((e,t)=>{const r=N(t);return r.name?(e[r.name]=x(r.params),e):e}),t):t}function x(e){const t=e=>"string"==typeof e&&"@"===e[0]?function(e){const t=t=>O(t,e)||t[e];return t.__locatorRef=e,t}(e.slice(1)):e;return Array.isArray(e)?e.map(t):e instanceof RegExp?[e]:Object.keys(e).reduce(((r,n)=>(r[n]=t(e[n]),r)),{})}const N=e=>{let t=[];const r=e.split(":")[0];return e.includes(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:r,params:t}};let _=Object.assign({},{generateMessage:({field:e})=>`${e} is not valid.`,bails:!0,validateOnBlur:!0,validateOnChange:!0,validateOnInput:!1,validateOnModelUpdate:!0});const $=()=>_,D=e=>{_=Object.assign(Object.assign({},_),e)};async function P(e,t,n={}){const a=null==n?void 0:n.bails,i={name:(null==n?void 0:n.name)||"{field}",rules:t,bails:null==a||a,formData:(null==n?void 0:n.values)||{}},u=(await async function(e,t){if(v(e.rules))return async function(e,t,r){var n;return{errors:await t.validate(e,{abortEarly:null===(n=r.bails)||void 0===n||n}).then((()=>[])).catch((e=>{if("ValidationError"===e.name)return e.errors;throw e}))}}(t,e.rules,{bails:e.bails});if(r(e.rules)){const r={field:e.name,form:e.formData,value:t},n=await e.rules(t,r),a="string"!=typeof n&&n,i="string"==typeof n?n:z(r);return{errors:a?[]:[i]}}const n=Object.assign(Object.assign({},e),{rules:C(e.rules)}),a=[],i=Object.keys(n.rules),u=i.length;for(let r=0;r<u;r++){const u=i[r],o=await U(n,t,{name:u,params:n.rules[u]});if(o.error&&(a.push(o.error),e.bails))return{errors:a}}return{errors:a}}(i,e)).errors;return{errors:u,valid:!u.length}}async function U(e,t,r){const n=(a=r.name,u[a]);var a;if(!n)throw new Error(`No such validator '${r.name}' exists.`);const i=function(e,t){const r=e=>f(e)?e(t):e;if(Array.isArray(e))return e.map(r);return Object.keys(e).reduce(((t,n)=>(t[n]=r(e[n]),t)),{})}(r.params,e.formData),o={field:e.name,value:t,form:e.formData,rule:Object.assign(Object.assign({},r),{params:i})},l=await n(t,i,o);return"string"==typeof l?{error:l}:{error:l?void 0:z(o)}}function z(e){const t=$().generateMessage;return t?t(e):"Field is invalid"}async function q(e,t,r){const n=j(e).map((async n=>{var a,i,u;const o=await P(O(t,n),e[n],{name:(null===(a=null==r?void 0:r.names)||void 0===a?void 0:a[n])||n,values:t,bails:null===(u=null===(i=null==r?void 0:r.bailsMap)||void 0===i?void 0:i[n])||void 0===u||u});return Object.assign(Object.assign({},o),{path:n})}));let a=!0;const i=await Promise.all(n),u={},o={};for(const e of i)u[e.path]={valid:e.valid,errors:e.errors},e.valid||(a=!1,o[e.path]=e.errors[0]);return{valid:a,results:u,errors:o}}var G=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,a,i;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(a=n;0!=a--;)if(!e(t[a],r[a]))return!1;return!0}if(t instanceof Map&&r instanceof Map){if(t.size!==r.size)return!1;for(a of t.entries())if(!r.has(a[0]))return!1;for(a of t.entries())if(!e(a[1],r.get(a[0])))return!1;return!0}if(t instanceof Set&&r instanceof Set){if(t.size!==r.size)return!1;for(a of t.entries())if(!r.has(a[0]))return!1;return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(r)){if((n=t.length)!=r.length)return!1;for(a=n;0!=a--;)if(t[a]!==r[a])return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(i=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(a=n;0!=a--;)if(!Object.prototype.hasOwnProperty.call(r,i[a]))return!1;for(a=n;0!=a--;){var u=i[a];if(!e(t[u],r[u]))return!1}return!0}return t!=t&&r!=r};let L=0;function X(e,n,a){const i=L>=Number.MAX_SAFE_INTEGER?0:++L,{initialValue:u,validateOnMount:l,bails:c,type:p,checkedValue:h,label:y,validateOnValueUpdate:g,uncheckedValue:b}=function(e,t){const r=()=>({initialValue:void 0,validateOnMount:!1,bails:!0,rules:"",label:e,validateOnValueUpdate:!0});if(!t)return r();const n="valueProp"in t?t.valueProp:t.checkedValue;return Object.assign(Object.assign(Object.assign({},r()),t||{}),{checkedValue:n})}(t.unref(e),a),F=A(o),{meta:V,errors:E,errorMessage:w,handleBlur:S,handleInput:B,resetValidationState:M,setValidationState:I,setErrors:R,value:x,checked:N}=function({name:e,initValue:r,form:n,type:a,checkedValue:i}){const{errors:u,errorMessage:o,setErrors:l}=function(e,r){if(!r){const e=t.ref([]);return{errors:t.computed((()=>e.value)),errorMessage:t.computed((()=>e.value[0])),setErrors:t=>{e.value=Array.isArray(t)?t:[t]}}}const n=t.computed((()=>r.errorBag.value[t.unref(e)]||[]));return{errors:n,errorMessage:t.computed((()=>n.value[0])),setErrors:n=>{r.setFieldErrorBag(t.unref(e),n)}}}(e,n),d=A(s,void 0),c=t.ref(t.unref(r)),f=t.computed((()=>O(t.unref(d),t.unref(e),t.unref(c)))),v=function(e,r,n){if(!n)return t.ref(t.unref(e));n.stageInitialValue(t.unref(r),t.unref(e));return t.computed({get:()=>O(n.values,t.unref(r)),set(e){n.setFieldValue(t.unref(r),e)}})}(f,e,n),p=function(e,r,n){const a=t.reactive({touched:!1,pending:!1,valid:!0,validated:!!t.unref(n).length,initialValue:t.computed((()=>t.unref(e))),dirty:t.computed((()=>!G(t.unref(r),t.unref(e))))});return t.watch(n,(e=>{a.valid=!e.length}),{immediate:!0,flush:"sync"}),a}(f,v,u),h=m(a)?t.computed((()=>Array.isArray(v.value)?v.value.includes(t.unref(i)):t.unref(i)===v.value)):void 0,y=()=>{p.touched=!0};function g(e){return l(e.errors),e}function b(a){var i;const u=t.unref(e),o=a&&"value"in a?a.value:O(t.unref(d),u,t.unref(r));n?(n.setFieldValue(u,o,{force:!0}),n.setFieldInitialValue(u,o)):(v.value=o,c.value=o),l((null==a?void 0:a.errors)||[]),p.touched=null!==(i=null==a?void 0:a.touched)&&void 0!==i&&i,p.pending=!1,p.validated=!1}return{meta:p,errors:u,errorMessage:o,setErrors:l,setValidationState:g,resetValidationState:b,handleBlur:y,handleInput:e=>{m(a)||(v.value=T(e))},value:v,checked:h}}({name:e,initValue:u,form:F,type:p,checkedValue:h}),_=t.computed((()=>{let a=t.unref(n);const i=t.unref(null==F?void 0:F.schema);return i&&!v(i)&&(a=function(e,t){if(!e)return;return e[t]}(i,t.unref(e))||a),v(a)||r(a)?a:C(a)}));async function $(r){var n,a;return(null==F?void 0:F.validateSchema)?null!==(n=(await F.validateSchema(r)).results[t.unref(e)])&&void 0!==n?n:{valid:!0,errors:[]}:P(x.value,_.value,{name:t.unref(y)||t.unref(e),values:null!==(a=null==F?void 0:F.values)&&void 0!==a?a:{},bails:c})}async function D(){V.pending=!0,V.validated=!0;const e=await $("validated-only");return V.pending=!1,I(e)}async function U(){const e=await $("silent");V.valid=e.valid}let z;function q(){z=t.watch(x,g?D:U,{deep:!0})}function X(e){null==z||z(),M(e),q()}t.onMounted((()=>{if(l)return D();F&&F.validateSchema||U()})),q();const H={idx:-1,fid:i,name:e,label:y,value:x,meta:V,errors:E,errorMessage:w,type:p,checkedValue:h,uncheckedValue:b,checked:N,bails:c,resetField:X,handleReset:()=>X(),validate:D,handleChange:(e,r=!0)=>{var n,a;if(N&&N.value===(null===(a=null===(n=e)||void 0===n?void 0:n.target)||void 0===a?void 0:a.checked))return;let i=T(e);return N&&"checkbox"===p&&!F&&(i=k(x.value,t.unref(h),t.unref(b))),x.value=i,!g&&r?D():void 0},handleBlur:S,handleInput:B,setValidationState:I,setTouched:function(e){V.touched=e},setErrors:R};if(t.provide(d,H),t.isRef(n)&&"function"!=typeof t.unref(n)&&t.watch(n,((e,t)=>{if(!G(e,t))return D()}),{deep:!0}),!F)return H;F.register(H),t.onBeforeUnmount((()=>{F.unregister(H)}));const J=t.computed((()=>{const e=_.value;return!e||r(e)||v(e)?{}:Object.keys(e).reduce(((t,r)=>{const n=(a=e[r],Array.isArray(a)?a.filter(f):j(a).filter((e=>f(a[e]))).map((e=>a[e]))).map((e=>e.__locatorRef)).reduce(((e,t)=>{const r=O(F.values,t)||F.values[t];return void 0!==r&&(e[t]=r),e}),{});var a;return Object.assign(t,n),t}),{})}));return t.watch(J,((e,t)=>{if(!Object.keys(e).length)return;!G(e,t)&&(V.dirty?D():U())})),H}const H=t.defineComponent({name:"Field",inheritAttrs:!1,props:{as:{type:[String,Object],default:void 0},name:{type:String,required:!0},rules:{type:[Object,String,Function],default:void 0},validateOnMount:{type:Boolean,default:!1},validateOnBlur:{type:Boolean,default:void 0},validateOnChange:{type:Boolean,default:void 0},validateOnInput:{type:Boolean,default:void 0},validateOnModelUpdate:{type:Boolean,default:void 0},bails:{type:Boolean,default:()=>$().bails},label:{type:String,default:void 0},uncheckedValue:{type:null,default:void 0},modelValue:{type:null,default:c},modelModifiers:{type:null,default:()=>({})},"onUpdate:modelValue":{type:null,default:void 0}},setup(e,r){const n=t.toRef(e,"rules"),a=t.toRef(e,"name"),i=t.toRef(e,"label"),u=t.toRef(e,"uncheckedValue"),o=g(e,"onUpdate:modelValue"),{errors:l,value:s,errorMessage:d,validate:c,handleChange:f,handleBlur:v,handleInput:p,setTouched:y,resetField:b,handleReset:O,meta:F,checked:V,setErrors:E}=X(a,n,{validateOnMount:e.validateOnMount,bails:e.bails,type:r.attrs.type,initialValue:K(e,r),checkedValue:r.attrs.value,uncheckedValue:u,label:i,validateOnValueUpdate:!1}),j=o?function(e,t=!0){f(e,t),r.emit("update:modelValue",s.value)}:f,A=o?function(e){p(e),r.emit("update:modelValue",s.value)}:p,w=t.computed((()=>{const{validateOnInput:t,validateOnChange:n,validateOnBlur:a,validateOnModelUpdate:i}=function(e){var t,r,n,a;const{validateOnInput:i,validateOnChange:u,validateOnBlur:o,validateOnModelUpdate:l}=$();return{validateOnInput:null!==(t=e.validateOnInput)&&void 0!==t?t:i,validateOnChange:null!==(r=e.validateOnChange)&&void 0!==r?r:u,validateOnBlur:null!==(n=e.validateOnBlur)&&void 0!==n?n:o,validateOnModelUpdate:null!==(a=e.validateOnModelUpdate)&&void 0!==a?a:l}}(e),u=[v,r.attrs.onBlur,a?c:void 0].filter(Boolean),o=[e=>j(e,t),r.attrs.onInput].filter(Boolean),l=[e=>j(e,n),r.attrs.onChange].filter(Boolean),d={name:e.name,onBlur:u,onInput:o,onChange:l};i&&(d["onUpdate:modelValue"]=[j]),m(r.attrs.type)&&V?d.checked=V.value:d.value=s.value;return h(J(e,r),r.attrs)&&delete d.value,d})),S=t.toRef(e,"modelValue");function B(){return{field:w.value,value:s.value,meta:F,errors:l.value,errorMessage:d.value,validate:c,resetField:b,handleChange:j,handleInput:A,handleReset:O,handleBlur:v,setTouched:y,setErrors:E}}return t.watch(S,(t=>{t!==function(e,t){if(t.number)return function(e){const t=parseFloat(e);return isNaN(t)?e:t}(e);return e}(s.value,e.modelModifiers)&&(s.value=t,c())})),()=>{const n=t.resolveDynamicComponent(J(e,r)),a=M(n,r,B);return n?t.h(n,Object.assign(Object.assign({},r.attrs),w.value),a):a}}});function J(e,t){let r=e.as||"";return e.as||t.slots.default||(r="input"),r}function K(e,t){return m(t.attrs.type)?g(e,"modelValue")?e.modelValue:void 0:g(e,"modelValue")?e.modelValue:t.attrs.value}function Q(e){if("object"!=typeof e)return e;var t,r,n=Object.prototype.toString.call(e);if("[object Object]"===n){if(e.constructor!==Object&&"function"==typeof e.constructor)for(t in r=new e.constructor,e)r.hasOwnProperty(t)&&r[t]!==e[t]&&(r[t]=Q(e[t]));else for(t in r={},e)"__proto__"===t?Object.defineProperty(r,t,{value:Q(e[t]),configurable:!0,enumerable:!0,writable:!0}):r[t]=Q(e[t]);return r}if("[object Array]"===n){for(t=e.length,r=Array(t);t--;)r[t]=Q(e[t]);return r}return"[object Date]"===n?new Date(+e):"[object RegExp]"===n?((r=new RegExp(e.source,e.flags)).lastIndex=e.lastIndex,r):e}function W(e){const r=t.ref([]),n=t.ref(!1),a=t.computed((()=>r.value.reduce(((e,r)=>{const n=t.unref(r.name);if(!e[n])return e[n]=r,r.idx=-1,e;const a=e[n];Array.isArray(a)||(a.idx=0,e[n]=[a]);const i=e[n];return r.idx=i.length,i.push(r),e}),{}))),i=t.ref(0),u=t.reactive(Q(t.unref(null==e?void 0:e.initialValues)||{})),d={},{errorBag:c,setErrorBag:f,setFieldErrorBag:m}=function(e){const r=t.ref({});function n(e){return Array.isArray(e)?e:e?[e]:[]}function a(e,t){t?r.value[e]=n(t):delete r.value[e]}function i(e){r.value=j(e).reduce(((t,r)=>{const a=e[r];return a&&(t[r]=n(a)),t}),{})}e&&i(e);return{errorBag:r,setErrorBag:i,setFieldErrorBag:a}}(null==e?void 0:e.initialErrors),p=t.computed((()=>j(c.value).reduce(((e,t)=>{const r=c.value[t];return r&&r.length&&(e[t]=r[0]),e}),{}))),h=t.computed((()=>j(a.value).reduce(((e,r)=>{const n=S(a.value[r]);return n&&(e[r]=t.unref(n.label||n.name)||""),e}),{}))),g=t.computed((()=>j(a.value).reduce(((e,t)=>{var r;const n=S(a.value[t]);return n&&(e[t]=null===(r=n.bails)||void 0===r||r),e}),{}))),b=Object.assign({},(null==e?void 0:e.initialErrors)||{}),{readonlyInitialValues:V,initialValues:A,setInitialValues:w}=function(e,r,n){const a=t.ref(t.unref(n)||{}),i=t.computed((()=>a.value));function u(t,n=!1){if(a.value=Object.assign({},t),!n)return;const i=e=>e.meta.touched;j(e.value).forEach((t=>{const n=e.value[t];if(Array.isArray(n)?n.some(i):i(n))return;const u=O(a.value,t);F(r,t,u)}))}t.isRef(n)&&t.watch(n,(e=>{u(e,!0)}),{deep:!0});return t.provide(s,i),{readonlyInitialValues:i,initialValues:a,setInitialValues:u}}(a,u,null==e?void 0:e.initialValues),M=function(e,r,n,a){const i={touched:"some",pending:"some",valid:"every"},u=t.computed((()=>!G(r,t.unref(n))));return t.computed((()=>{const r=j(i).reduce(((t,r)=>{const n=i[r];return t[r]=e.value[n]((e=>e.meta[r])),t}),{});return Object.assign(Object.assign({initialValues:t.unref(n)},r),{valid:r.valid&&!j(a.value).length,dirty:u.value})}))}(r,u,V,p),I=null==e?void 0:e.validationSchema,R={fieldsById:a,values:u,errorBag:c,schema:I,submitCount:i,meta:M,isSubmitting:n,validateSchema:t.unref(I)?async function(e){const r=t.unref(I);if(!r)return{valid:!0,results:{},errors:{}};const n=v(r)?await async function(e,t){const r=await e.validate(t,{abortEarly:!1}).then((()=>[])).catch((e=>{if("ValidationError"!==e.name)throw e;return e.inner||[]})),n={},a={};for(const e of r){const t=e.errors;n[e.path]={valid:!t.length,errors:t},t.length&&(a[e.path]=t[0])}return{valid:!r.length,results:n,errors:a}}(r,u):await q(r,u,{names:h.value,bailsMap:g.value}),a=R.fieldsById.value||{},i=j(R.errorBag.value);return[...new Set([...j(n.results),...j(a),...i])].reduce(((t,r)=>{const i=a[r],u=(n.results[r]||{errors:[]}).errors,o={errors:u,valid:!u.length};if(t.results[r]=o,o.valid||(t.errors[r]=o.errors[0]),!i)return T(r,u),t;if(B(i,(e=>e.meta.valid=o.valid)),"silent"===e)return t;const l=Array.isArray(i)?i.some((e=>e.meta.validated)):i.meta.validated;return"validated-only"!==e||l?(B(i,(e=>e.setValidationState(o)),!0),t):t}),{valid:n.valid,results:{},errors:{}})}:void 0,validate:P,register:function(e){r.value.push(e),a.value,t.isRef(e.name)&&(d[e.fid]=e.value.value,t.watch(e.name,((n,a)=>{x(n,d[e.fid]);r.value.find((e=>t.unref(e.name)===a))||(E(u,a),E(A.value,a))}),{flush:"post"}));const n=t.unref(e.name),i=t.unref(e.errorMessage);i&&(null==b?void 0:b[n])!==i&&U(n);delete b[n]},unregister:function(e){var n,i;const o=r.value.indexOf(e);if(-1===o)return;r.value.splice(o,1);const l=e.fid;t.nextTick((()=>{delete d[l],a.value[s]||T(s,void 0)}));const s=t.unref(e.name);if(-1===e.idx){if(r.value.find((e=>t.unref(e.name)===s)))return;return E(u,s),void E(A.value,s)}const c=null===(i=null===(n=O(u,s))||void 0===n?void 0:n.indexOf)||void 0===i?void 0:i.call(n,t.unref(e.checkedValue));if(void 0===c)return void E(u,s);if(-1===c)return;if(Array.isArray(u[s]))return void E(u,`${s}.${c}`);E(u,s),E(A.value,s)},setFieldErrorBag:m,validateField:U,setFieldValue:x,setValues:N,setErrors:C,setFieldError:T,setFieldTouched:_,setTouched:$,resetForm:D,handleSubmit:z,stageInitialValue:function(e,t){F(u,e,t),L(e,t)},setFieldInitialValue:L};function T(e,t){m(e,t)}function C(e){f(e)}function x(e,r,{force:n}={force:!1}){var i;const o=a.value[e];if(!o)return void F(u,e,r);if(Array.isArray(o)&&"checkbox"===(null===(i=o[0])||void 0===i?void 0:i.type)&&!Array.isArray(r)){const t=k(O(u,e)||[],r,void 0);return F(u,e,t),void o.forEach((e=>{d[e.fid]=t}))}let l=r;Array.isArray(o)||"checkbox"!==(null==o?void 0:o.type)||n||(l=k(O(u,e),r,t.unref(o.uncheckedValue))),F(u,e,l),o&&Array.isArray(o)?o.forEach((e=>{d[e.fid]=l})):d[o.fid]=l}function N(e){j(u).forEach((e=>{delete u[e]})),j(e).forEach((t=>{x(t,e[t])}))}function _(e,t){const r=a.value[e];r&&B(r,(e=>e.setTouched(t)))}function $(e){j(e).forEach((t=>{_(t,!!e[t])}))}function D(e){(null==e?void 0:e.values)?(w(e.values),N(null==e?void 0:e.values)):N(A.value),r.value.forEach((e=>e.resetField())),(null==e?void 0:e.touched)&&$(e.touched),C((null==e?void 0:e.errors)||{}),i.value=(null==e?void 0:e.submitCount)||0}async function P(){if(R.validateSchema)return R.validateSchema("force");const e=await Promise.all(r.value.map((e=>e.validate().then((r=>({key:t.unref(e.name),valid:r.valid,errors:r.errors})))))),n={},a={};for(const t of e)n[t.key]={valid:t.valid,errors:t.errors},t.errors.length&&(a[t.key]=t.errors[0]);return{valid:e.every((e=>e.valid)),results:n,errors:a}}async function U(e){const r=a.value[e];return r?Array.isArray(r)?r.map((e=>e.validate()))[0]:r.validate():(t.warn(`field with name ${e} was not found`),Promise.resolve({errors:[],valid:!0}))}function z(e){return function(t){return t instanceof Event&&(t.preventDefault(),t.stopPropagation()),$(j(a.value).reduce(((e,t)=>(e[t]=!0,e)),{})),n.value=!0,i.value++,P().then((r=>{if(r.valid&&"function"==typeof e)return e(Q(u),{evt:t,setErrors:C,setFieldError:T,setTouched:$,setFieldTouched:_,setValues:N,setFieldValue:x,resetForm:D})})).then((()=>{n.value=!1}),(e=>{throw n.value=!1,e}))}}function L(e,t){F(A.value,e,t)}const X=z(((e,{evt:t})=>{(function(e){return y(e)&&e.target&&"submit"in e.target})(t)&&t.target.submit()}));return t.onMounted((()=>{(null==e?void 0:e.initialErrors)&&C(e.initialErrors),(null==e?void 0:e.initialTouched)&&$(e.initialTouched),(null==e?void 0:e.validateOnMount)?P():R.validateSchema&&R.validateSchema("silent")})),t.isRef(I)&&t.watch(I,(()=>{var e;null===(e=R.validateSchema)||void 0===e||e.call(R,"validated-only")})),t.provide(o,R),t.provide(l,p),{errors:p,meta:M,values:u,isSubmitting:n,submitCount:i,validate:P,validateField:U,handleReset:()=>D(),resetForm:D,handleSubmit:z,submitForm:X,setFieldError:T,setErrors:C,setFieldValue:x,setValues:N,setFieldTouched:_,setTouched:$}}const Y=t.defineComponent({name:"Form",inheritAttrs:!1,props:{as:{type:String,default:"form"},validationSchema:{type:Object,default:void 0},initialValues:{type:Object,default:void 0},initialErrors:{type:Object,default:void 0},initialTouched:{type:Object,default:void 0},validateOnMount:{type:Boolean,default:!1},onSubmit:{type:Function,default:void 0}},setup(e,r){const n=t.toRef(e,"initialValues"),a=t.toRef(e,"validationSchema"),{errors:i,values:u,meta:o,isSubmitting:l,submitCount:s,validate:d,validateField:c,handleReset:f,resetForm:v,handleSubmit:m,submitForm:p,setErrors:h,setFieldError:g,setFieldValue:b,setValues:O,setFieldTouched:F,setTouched:V}=W({validationSchema:a.value?a:void 0,initialValues:n,initialErrors:e.initialErrors,initialTouched:e.initialTouched,validateOnMount:e.validateOnMount}),E=e.onSubmit?m(e.onSubmit):p;function j(e){y(e)&&e.preventDefault(),f(),"function"==typeof r.attrs.onReset&&r.attrs.onReset()}function A(e,t){return m("function"!=typeof e||t?t:e)(e)}function w(){return{meta:o.value,errors:i.value,values:u,isSubmitting:l.value,submitCount:s.value,validate:d,validateField:c,handleSubmit:A,handleReset:f,submitForm:p,setErrors:h,setFieldError:g,setFieldValue:b,setValues:O,setFieldTouched:F,setTouched:V,resetForm:v}}return function(){"setErrors"in this||(this.setFieldError=g,this.setErrors=h,this.setFieldValue=b,this.setValues=O,this.setFieldTouched=F,this.setTouched=V,this.resetForm=v,this.validate=d,this.validateField=c);const n="form"===e.as?e.as:t.resolveDynamicComponent(e.as),a=M(n,r,w);if(!e.as)return a;const i="form"===e.as?{novalidate:!0}:{};return t.h(n,Object.assign(Object.assign(Object.assign({},i),r.attrs),{onSubmit:E,onReset:j}),a)}}}),Z=t.defineComponent({name:"ErrorMessage",props:{as:{type:String,default:void 0},name:{type:String,required:!0}},setup(e,r){const n=t.inject(l,void 0),a=t.computed((()=>null==n?void 0:n.value[e.name]));function i(){return{message:a.value}}return()=>{if(!a.value)return;const n=e.as?t.resolveDynamicComponent(e.as):e.as,u=M(n,r,i),o=Object.assign({role:"alert"},r.attrs);return n||!Array.isArray(u)&&u||!(null==u?void 0:u.length)?!Array.isArray(u)&&u||(null==u?void 0:u.length)?t.h(n,o,u):t.h(n||"span",o,a.value):u}}});e.ErrorMessage=Z,e.Field=H,e.Form=Y,e.configure=D,e.defineRule=function(e,t){!function(e,t){if(r(t))return;throw new Error(`Extension Error: The validator '${e}' must be a function.`)}(e,t),u[e]=t},e.useField=X,e.useFieldError=function(e){const r=A(l),n=e?void 0:t.inject(d);return t.computed((()=>{var a;return e?null===(a=null==r?void 0:r.value)||void 0===a?void 0:a[t.unref(e)]:null==n?void 0:n.errorMessage.value}))},e.useFieldValue=function(e){const r=A(o),n=e?void 0:t.inject(d);return t.computed((()=>{var a;return e?O(null==r?void 0:r.values,t.unref(e)):null===(a=null==n?void 0:n.value)||void 0===a?void 0:a.value}))},e.useForm=W,e.useFormErrors=function(){const e=A(l);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),e||t.computed((()=>({})))},e.useFormValues=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>(null==e?void 0:e.values)||{}))},e.useIsFieldDirty=function(e){const r=A(o);let n=e?void 0:t.inject(d);return t.computed((()=>(e&&(n=S(null==r?void 0:r.fieldsById.value[t.unref(e)])),n?n.meta.dirty:(w(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldTouched=function(e){const r=A(o);let n=e?void 0:t.inject(d);return t.computed((()=>(e&&(n=S(null==r?void 0:r.fieldsById.value[t.unref(e)])),n?n.meta.touched:(w(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldValid=function(e){const r=A(o);let n=e?void 0:t.inject(d);return t.computed((()=>(e&&(n=S(null==r?void 0:r.fieldsById.value[t.unref(e)])),n?n.meta.valid:(w(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFormDirty=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.dirty)&&void 0!==t&&t}))},e.useIsFormTouched=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.touched)&&void 0!==t&&t}))},e.useIsFormValid=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.meta.value.valid)&&void 0!==t&&t}))},e.useIsSubmitting=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.isSubmitting.value)&&void 0!==t&&t}))},e.useResetForm=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),function(t){if(e)return e.resetForm(t)}},e.useSubmitCount=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>{var t;return null!==(t=null==e?void 0:e.submitCount.value)&&void 0!==t?t:0}))},e.useSubmitForm=function(e){const t=A(o);t||w("No vee-validate <Form /> or `useForm` was detected in the component tree");const r=t?t.handleSubmit(e):void 0;return function(e){if(r)return r(e)}},e.useValidateField=function(e){const r=A(o);let n=e?void 0:t.inject(d);return function(){return e&&(n=S(null==r?void 0:r.fieldsById.value[t.unref(e)])),n?n.validate():(w(`field with name ${t.unref(e)} was not found`),Promise.resolve({errors:[],valid:!0}))}},e.useValidateForm=function(){const e=A(o);return e||w("No vee-validate <Form /> or `useForm` was detected in the component tree"),function(){return e?e.validate():Promise.resolve({results:{},errors:{},valid:!0})}},e.validate=P,Object.defineProperty(e,"__esModule",{value:!0})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vee-validate",
3
- "version": "4.4.5",
3
+ "version": "4.4.6",
4
4
  "description": "Form Validation for Vue.js",
5
5
  "author": "Abdelrahman Awad <logaretm1@gmail.com>",
6
6
  "license": "MIT",
@@ -26,5 +26,5 @@
26
26
  "peerDependencies": {
27
27
  "vue": "^3.0.0"
28
28
  },
29
- "gitHead": "4cd53b17066de64f83258e416b10db4d7991087e"
29
+ "gitHead": "d930271e64daa4ec614d91e29d06702318fb30c0"
30
30
  }