vee-validate 4.5.4 → 4.5.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/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
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.5.5](https://github.com/logaretm/vee-validate/compare/v4.5.4...v4.5.5) (2021-11-01)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * prevent toggle checkboxes when form resets closes [#3551](https://github.com/logaretm/vee-validate/issues/3551) ([cad12ba](https://github.com/logaretm/vee-validate/commit/cad12ba7502af7268029930a9176d8e160efeef6))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [4.5.4](https://github.com/logaretm/vee-validate/compare/v4.5.3...v4.5.4) (2021-10-20)
7
18
 
8
19
  **Note:** Version bump only for package vee-validate
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vee-validate v4.5.4
2
+ * vee-validate v4.5.5
3
3
  * (c) 2021 Abdelrahman Awad
4
4
  * @license MIT
5
5
  */
@@ -1766,6 +1766,9 @@ const Field = FieldImpl;
1766
1766
  let FORM_COUNTER = 0;
1767
1767
  function useForm(opts) {
1768
1768
  const formId = FORM_COUNTER++;
1769
+ // Prevents fields from double resetting their values, which causes checkboxes to toggle their initial value
1770
+ // TODO: This won't be needed if we centralize all the state inside the `form` for form inputs
1771
+ let RESET_LOCK = false;
1769
1772
  // A lookup containing fields or field groups
1770
1773
  const fieldsByPath = ref({});
1771
1774
  // If the form is currently submitting
@@ -1887,15 +1890,15 @@ function useForm(opts) {
1887
1890
  setInPath(formValues, field, clonedValue);
1888
1891
  return;
1889
1892
  }
1890
- // Multiple checkboxes, and only one of them got updated
1891
1893
  if (isFieldGroup(fieldInstance) && ((_a = fieldInstance[0]) === null || _a === void 0 ? void 0 : _a.type) === 'checkbox' && !Array.isArray(value)) {
1894
+ // Multiple checkboxes, and only one of them got updated
1892
1895
  const newValue = klona(resolveNextCheckboxValue(getFromPath(formValues, field) || [], value, undefined));
1893
1896
  setInPath(formValues, field, newValue);
1894
1897
  return;
1895
1898
  }
1896
1899
  let newValue = value;
1897
1900
  // Single Checkbox: toggles the field value unless the field is being reset then force it
1898
- if (!isFieldGroup(fieldInstance) && fieldInstance.type === 'checkbox' && !force) {
1901
+ if (!isFieldGroup(fieldInstance) && fieldInstance.type === 'checkbox' && !force && !RESET_LOCK) {
1899
1902
  newValue = klona(resolveNextCheckboxValue(getFromPath(formValues, field), value, unref(fieldInstance.uncheckedValue)));
1900
1903
  }
1901
1904
  setInPath(formValues, field, newValue);
@@ -1936,6 +1939,7 @@ function useForm(opts) {
1936
1939
  * Resets all fields
1937
1940
  */
1938
1941
  function resetForm(state) {
1942
+ RESET_LOCK = true;
1939
1943
  // set initial values if provided
1940
1944
  if (state === null || state === void 0 ? void 0 : state.values) {
1941
1945
  setInitialValues(state.values);
@@ -1951,6 +1955,7 @@ function useForm(opts) {
1951
1955
  if (!field) {
1952
1956
  return;
1953
1957
  }
1958
+ // avoid resetting the field values, because they should've been reset already.
1954
1959
  applyFieldMutation(field, f => f.resetField());
1955
1960
  });
1956
1961
  if (state === null || state === void 0 ? void 0 : state.touched) {
@@ -1958,6 +1963,9 @@ function useForm(opts) {
1958
1963
  }
1959
1964
  setErrors((state === null || state === void 0 ? void 0 : state.errors) || {});
1960
1965
  submitCount.value = (state === null || state === void 0 ? void 0 : state.submitCount) || 0;
1966
+ nextTick(() => {
1967
+ RESET_LOCK = false;
1968
+ });
1961
1969
  }
1962
1970
  function insertFieldAtPath(field, path) {
1963
1971
  const rawField = markRaw(field);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vee-validate v4.5.4
2
+ * vee-validate v4.5.5
3
3
  * (c) 2021 Abdelrahman Awad
4
4
  * @license MIT
5
5
  */
@@ -1382,6 +1382,9 @@
1382
1382
  let FORM_COUNTER = 0;
1383
1383
  function useForm(opts) {
1384
1384
  const formId = FORM_COUNTER++;
1385
+ // Prevents fields from double resetting their values, which causes checkboxes to toggle their initial value
1386
+ // TODO: This won't be needed if we centralize all the state inside the `form` for form inputs
1387
+ let RESET_LOCK = false;
1385
1388
  // A lookup containing fields or field groups
1386
1389
  const fieldsByPath = vue.ref({});
1387
1390
  // If the form is currently submitting
@@ -1503,15 +1506,15 @@
1503
1506
  setInPath(formValues, field, clonedValue);
1504
1507
  return;
1505
1508
  }
1506
- // Multiple checkboxes, and only one of them got updated
1507
1509
  if (isFieldGroup(fieldInstance) && ((_a = fieldInstance[0]) === null || _a === void 0 ? void 0 : _a.type) === 'checkbox' && !Array.isArray(value)) {
1510
+ // Multiple checkboxes, and only one of them got updated
1508
1511
  const newValue = klona(resolveNextCheckboxValue(getFromPath(formValues, field) || [], value, undefined));
1509
1512
  setInPath(formValues, field, newValue);
1510
1513
  return;
1511
1514
  }
1512
1515
  let newValue = value;
1513
1516
  // Single Checkbox: toggles the field value unless the field is being reset then force it
1514
- if (!isFieldGroup(fieldInstance) && fieldInstance.type === 'checkbox' && !force) {
1517
+ if (!isFieldGroup(fieldInstance) && fieldInstance.type === 'checkbox' && !force && !RESET_LOCK) {
1515
1518
  newValue = klona(resolveNextCheckboxValue(getFromPath(formValues, field), value, vue.unref(fieldInstance.uncheckedValue)));
1516
1519
  }
1517
1520
  setInPath(formValues, field, newValue);
@@ -1552,6 +1555,7 @@
1552
1555
  * Resets all fields
1553
1556
  */
1554
1557
  function resetForm(state) {
1558
+ RESET_LOCK = true;
1555
1559
  // set initial values if provided
1556
1560
  if (state === null || state === void 0 ? void 0 : state.values) {
1557
1561
  setInitialValues(state.values);
@@ -1567,6 +1571,7 @@
1567
1571
  if (!field) {
1568
1572
  return;
1569
1573
  }
1574
+ // avoid resetting the field values, because they should've been reset already.
1570
1575
  applyFieldMutation(field, f => f.resetField());
1571
1576
  });
1572
1577
  if (state === null || state === void 0 ? void 0 : state.touched) {
@@ -1574,6 +1579,9 @@
1574
1579
  }
1575
1580
  setErrors((state === null || state === void 0 ? void 0 : state.errors) || {});
1576
1581
  submitCount.value = (state === null || state === void 0 ? void 0 : state.submitCount) || 0;
1582
+ vue.nextTick(() => {
1583
+ RESET_LOCK = false;
1584
+ });
1577
1585
  }
1578
1586
  function insertFieldAtPath(field, path) {
1579
1587
  const rawField = vue.markRaw(field);
@@ -1,6 +1,6 @@
1
1
  /**
2
- * vee-validate v4.5.4
2
+ * vee-validate v4.5.5
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 u(e){return Number(e)>=0}const i={};const o=Symbol("vee-validate-form"),l=Symbol("vee-validate-field-instance"),s=Symbol("Default empty value");function d(e){return r(e)&&!!e.__locatorRef}function c(e){return!!e&&r(e.validate)}function f(e){return"checkbox"===e||"radio"===e}function v(e){return/^\[.+\]$/i.test(e)}function m(e){return"SELECT"===e.tagName}function p(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 h(e){return!!e&&(!!("undefined"!=typeof Event&&r(Event)&&e instanceof Event)||!(!e||!e.srcElement))}function y(e,t){return t in e&&e[t]!==s}function g(e){return v(e)?e.replace(/\[|\]/gi,""):e}function b(e,t,r){if(!e)return r;if(v(t))return e[g(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(v(t))return void(e[g(t)]=r);const a=t.split(/\.|\[(\d+)\]/).filter(Boolean);let i=e;for(let e=0;e<a.length;e++){if(e===a.length-1)return void(i[a[e]]=r);a[e]in i&&!n(i[a[e]])||(i[a[e]]=u(a[e+1])?[]:{}),i=i[a[e]]}}function O(e,t){Array.isArray(e)&&u(t)?e.splice(Number(t),1):a(e)&&delete e[t]}function V(e,t){if(v(t))return void delete e[g(t)];const r=t.split(/\.|\[(\d+)\]/).filter(Boolean);let u=e;for(let e=0;e<r.length;e++){if(e===r.length-1){O(u,r[e]);break}if(!(r[e]in u)||n(u[r[e]]))break;u=u[r[e]]}const i=r.map(((t,n)=>b(e,r.slice(0,n).join("."))));for(let t=i.length-1;t>=0;t--)o=i[t],(Array.isArray(o)?0===o.length:a(o)&&0===Object.keys(o).length)&&(0!==t?O(i[t-1],r[t-1]):O(e,r[0]));var o}function A(e){return Object.keys(e)}function w(e,r){const n=t.getCurrentInstance();return(null==n?void 0:n.provides[e])||t.inject(e,r)}function j(e){t.warn(`[vee-validate]: ${e}`)}function E(e){return Array.isArray(e)?e[0]:e}function S(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 k=(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 B(e){if(M(e))return e._value}function M(e){return"_value"in e}function I(e){if(!h(e))return e;const t=e.target;if(f(t.type)&&M(t))return B(t);if("file"===t.type&&t.files)return Array.from(t.files);if(m(r=t)&&r.multiple)return Array.from(t.options).filter((e=>e.selected&&!e.disabled)).map(B);var r;if(m(t)){const e=Array.from(t.options).find((e=>e.selected));return e?B(e):t.value}return t.value}function T(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]=C(n)),t}),t):"string"!=typeof e?t:e.split("|").reduce(((e,t)=>{const r=R(t);return r.name?(e[r.name]=C(r.params),e):e}),t):t}function C(e){const t=e=>"string"==typeof e&&"@"===e[0]?function(e){const t=t=>b(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 R=e=>{let t=[];const r=e.split(":")[0];return e.includes(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:r,params:t}};let x=Object.assign({},{generateMessage:({field:e})=>`${e} is not valid.`,bails:!0,validateOnBlur:!0,validateOnChange:!0,validateOnInput:!1,validateOnModelUpdate:!0});const P=()=>x,N=e=>{x=Object.assign(Object.assign({},x),e)};async function _(e,t,n={}){const a=null==n?void 0:n.bails,u={name:(null==n?void 0:n.name)||"{field}",rules:t,bails:null==a||a,formData:(null==n?void 0:n.values)||{}},i=await async function(e,t){if(c(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,u="string"==typeof n?n:D(r);return{errors:a?[]:[u]}}const n=Object.assign(Object.assign({},e),{rules:T(e.rules)}),a=[],u=Object.keys(n.rules),i=u.length;for(let r=0;r<i;r++){const i=u[r],o=await $(n,t,{name:i,params:n.rules[i]});if(o.error&&(a.push(o.error),e.bails))return{errors:a}}return{errors:a}}(u,e),o=i.errors;return{errors:o,valid:!o.length}}async function $(e,t,r){const n=(a=r.name,i[a]);var a;if(!n)throw new Error(`No such validator '${r.name}' exists.`);const u=function(e,t){const r=e=>d(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:u})},l=await n(t,u,o);return"string"==typeof l?{error:l}:{error:l?void 0:D(o)}}function D(e){const t=P().generateMessage;return t?t(e):"Field is invalid"}async function U(e,t,r){const n=A(e).map((async n=>{var a,u,i;const o=await _(b(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===(i=null===(u=null==r?void 0:r.bailsMap)||void 0===u?void 0:u[n])||void 0===i||i});return Object.assign(Object.assign({},o),{path:n})}));let a=!0;const u=await Promise.all(n),i={},o={};for(const e of u)i[e.path]={valid:e.valid,errors:e.errors},e.valid||(a=!1,o[e.path]=e.errors[0]);return{valid:a,results:i,errors:o}}function q(e,t,r){"object"==typeof r.value&&(r.value=z(r.value)),r.enumerable&&!r.get&&!r.set&&r.configurable&&r.writable&&"__proto__"!==t?e[t]=r.value:Object.defineProperty(e,t,r)}function z(e){if("object"!=typeof e)return e;var t,r,n,a=0,u=Object.prototype.toString.call(e);if("[object Object]"===u?n=Object.create(e.__proto__||null):"[object Array]"===u?n=Array(e.length):"[object Set]"===u?(n=new Set,e.forEach((function(e){n.add(z(e))}))):"[object Map]"===u?(n=new Map,e.forEach((function(e,t){n.set(z(t),z(e))}))):"[object Date]"===u?n=new Date(+e):"[object RegExp]"===u?n=new RegExp(e.source,e.flags):"[object DataView]"===u?n=new e.constructor(z(e.buffer)):"[object ArrayBuffer]"===u?n=e.slice(0):"Array]"===u.slice(-6)&&(n=new e.constructor(e)),n){for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)q(n,r[a],Object.getOwnPropertyDescriptor(e,r[a]));for(a=0,r=Object.getOwnPropertyNames(e);a<r.length;a++)Object.hasOwnProperty.call(n,t=r[a])&&n[t]===e[t]||q(n,t,Object.getOwnPropertyDescriptor(e,t))}return n||e}var L=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,u;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=(u=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(a=n;0!=a--;)if(!Object.prototype.hasOwnProperty.call(r,u[a]))return!1;for(a=n;0!=a--;){var i=u[a];if(!e(t[i],r[i]))return!1}return!0}return t!=t&&r!=r};let K=0;function G(e,r){const{value:n,initialValue:a,setInitialValue:u}=function(e,r,n){const a=n?w(o,void 0):void 0,u=t.ref(t.unref(r));function i(){return a?b(a.meta.value.initialValues,t.unref(e),t.unref(u)):t.unref(u)}function l(r){a?a.setFieldInitialValue(t.unref(e),r):u.value=r}const s=t.computed(i);if(!a){return{value:t.ref(i()),initialValue:s,setInitialValue:l}}const d=r?t.unref(r):b(a.values,t.unref(e),t.unref(s));a.stageInitialValue(t.unref(e),d);return{value:t.computed({get:()=>b(a.values,t.unref(e)),set(r){a.setFieldValue(t.unref(e),r)}}),initialValue:s,setInitialValue:l}}(e,r.modelValue,!r.standalone),{errorMessage:i,errors:l,setErrors:s}=function(e,r){const n=r?w(o,void 0):void 0;function a(e){return e?Array.isArray(e)?e:[e]:[]}if(!n){const e=t.ref([]);return{errors:e,errorMessage:t.computed((()=>e.value[0])),setErrors:t=>{e.value=a(t)}}}const u=t.computed((()=>n.errorBag.value[t.unref(e)]||[]));return{errors:u,errorMessage:t.computed((()=>u.value[0])),setErrors:r=>{n.setFieldErrorBag(t.unref(e),a(r))}}}(e,!r.standalone),d=function(e,r,n){const a=t.reactive({touched:!1,pending:!1,valid:!0,validated:!!t.unref(n).length,initialValue:t.computed((()=>t.unref(r))),dirty:t.computed((()=>!L(t.unref(e),t.unref(r))))});return t.watch(n,(e=>{a.valid=!e.length}),{immediate:!0,flush:"sync"}),a}(n,a,l);return{id:K>=Number.MAX_SAFE_INTEGER?0:++K,path:e,value:n,initialValue:a,meta:d,errors:l,errorMessage:i,setState:function(e){var t;"value"in e&&(n.value=e.value),"errors"in e&&s(e.errors),"touched"in e&&(d.touched=null!==(t=e.touched)&&void 0!==t?t:d.touched),"initialValue"in e&&u(e.initialValue)}}}function X(e,r,n){return f(null==n?void 0:n.type)?function(e,r,n){const a=(null==n?void 0:n.standalone)?void 0:w(o),u=null==n?void 0:n.checkedValue,i=null==n?void 0:n.uncheckedValue;function l(e){const r=e.handleChange,n=t.computed((()=>{const r=t.unref(e.value),n=t.unref(u);return Array.isArray(r)?r.includes(n):n===r}));function o(o,l=!0){var s,d;if(n.value===(null===(d=null===(s=o)||void 0===s?void 0:s.target)||void 0===d?void 0:d.checked))return;let c=I(o);a||(c=S(t.unref(e.value),t.unref(u),t.unref(i))),r(c,l)}return t.onBeforeUnmount((()=>{n.value&&o(t.unref(u),!1)})),Object.assign(Object.assign({},e),{checked:n,checkedValue:u,uncheckedValue:i,handleChange:o})}return l(H(e,r,n))}(e,r,n):H(e,r,n)}function H(e,n,a){const{initialValue:u,validateOnMount:i,bails:s,type:f,checkedValue:v,label:m,validateOnValueUpdate:p,uncheckedValue:h,standalone:y}=function(e,t){const r=()=>({initialValue:void 0,validateOnMount:!1,bails:!0,rules:"",label:e,validateOnValueUpdate:!0,standalone:!1});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),g=y?void 0:w(o),{id:F,value:O,initialValue:V,meta:j,setState:E,errors:S,errorMessage:k}=G(e,{modelValue:u,standalone:y}),B=t.computed((()=>{let a=t.unref(n);const u=t.unref(null==g?void 0:g.schema);return u&&!c(u)&&(a=function(e,t){if(!e)return;return e[t]}(u,t.unref(e))||a),c(a)||r(a)?a:T(a)}));async function M(r){var n,a;return(null==g?void 0:g.validateSchema)?null!==(n=(await g.validateSchema(r)).results[t.unref(e)])&&void 0!==n?n:{valid:!0,errors:[]}:_(O.value,B.value,{name:t.unref(m)||t.unref(e),values:null!==(a=null==g?void 0:g.values)&&void 0!==a?a:{},bails:s})}async function C(){j.pending=!0,j.validated=!0;const e=await M("validated-only");return E({errors:e.errors}),j.pending=!1,e}async function R(){const e=await M("silent");return j.valid=e.valid,e}let x;function P(){x=t.watch(O,p?C:R,{deep:!0})}function N(e){var r;null==x||x();const n=e&&"value"in e?e.value:V.value;E({value:z(n),initialValue:z(n),touched:null!==(r=null==e?void 0:e.touched)&&void 0!==r&&r,errors:(null==e?void 0:e.errors)||[]}),j.pending=!1,j.validated=!1,R(),t.nextTick((()=>{P()}))}t.onMounted((()=>{if(i)return C();g&&g.validateSchema||R()})),P();const $={id:F,name:e,label:m,value:O,meta:j,errors:S,errorMessage:k,type:f,checkedValue:v,uncheckedValue:h,bails:s,resetField:N,handleReset:()=>N(),validate:function(e){return(null==e?void 0:e.mode)&&"force"!==(null==e?void 0:e.mode)?"validated-only"===(null==e?void 0:e.mode)?C():R():C()},handleChange:(e,t=!0)=>{const r=I(e);O.value=r,!p&&t&&C()},handleBlur:()=>{j.touched=!0},setState:E,setTouched:function(e){j.touched=e},setErrors:function(e){E({errors:Array.isArray(e)?e:[e]})},setValue:function(e){O.value=e}};if(t.provide(l,$),t.isRef(n)&&"function"!=typeof t.unref(n)&&t.watch(n,((e,t)=>{L(e,t)||(j.validated?C():R())}),{deep:!0}),!g)return $;g.register($),t.onBeforeUnmount((()=>{g.unregister($)}));const D=t.computed((()=>{const e=B.value;return!e||r(e)||c(e)?{}:Object.keys(e).reduce(((t,r)=>{const n=(a=e[r],Array.isArray(a)?a.filter(d):A(a).filter((e=>d(a[e]))).map((e=>a[e]))).map((e=>e.__locatorRef)).reduce(((e,t)=>{const r=b(g.values,t)||g.values[t];return void 0!==r&&(e[t]=r),e}),{});var a;return Object.assign(t,n),t}),{})}));return t.watch(D,((e,t)=>{if(!Object.keys(e).length)return;!L(e,t)&&(j.validated?C():R())})),$}function J(e,t){let r=e.as||"";return e.as||t.slots.default||(r="input"),r}function Q(e,t){return f(t.attrs.type)?y(e,"modelValue")?e.modelValue:void 0:y(e,"modelValue")?e.modelValue:t.attrs.value}const W=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:()=>P().bails},label:{type:String,default:void 0},uncheckedValue:{type:null,default:void 0},modelValue:{type:null,default:s},modelModifiers:{type:null,default:()=>({})},"onUpdate:modelValue":{type:null,default:void 0},standalone:{type:Boolean,default:!1}},setup(e,r){const n=t.toRef(e,"rules"),a=t.toRef(e,"name"),u=t.toRef(e,"label"),i=t.toRef(e,"uncheckedValue"),o=y(e,"onUpdate:modelValue"),{errors:l,value:d,errorMessage:c,validate:v,handleChange:m,handleBlur:h,setTouched:g,resetField:b,handleReset:F,meta:O,checked:V,setErrors:A}=X(a,n,{validateOnMount:e.validateOnMount,bails:e.bails,standalone:e.standalone,type:r.attrs.type,initialValue:Q(e,r),checkedValue:r.attrs.value,uncheckedValue:i,label:u,validateOnValueUpdate:!1}),w=o?function(e,t=!0){m(e,t),r.emit("update:modelValue",d.value)}:m,j=e=>{f(r.attrs.type)||(d.value=I(e))},E=o?function(e){j(e),r.emit("update:modelValue",d.value)}:j,S=t.computed((()=>{const{validateOnInput:t,validateOnChange:n,validateOnBlur:a,validateOnModelUpdate:u}=function(e){var t,r,n,a;const{validateOnInput:u,validateOnChange:i,validateOnBlur:o,validateOnModelUpdate:l}=P();return{validateOnInput:null!==(t=e.validateOnInput)&&void 0!==t?t:u,validateOnChange:null!==(r=e.validateOnChange)&&void 0!==r?r:i,validateOnBlur:null!==(n=e.validateOnBlur)&&void 0!==n?n:o,validateOnModelUpdate:null!==(a=e.validateOnModelUpdate)&&void 0!==a?a:l}}(e),i=[h,r.attrs.onBlur,a?v:void 0].filter(Boolean),o=[e=>w(e,t),r.attrs.onInput].filter(Boolean),l=[e=>w(e,n),r.attrs.onChange].filter(Boolean),s={name:e.name,onBlur:i,onInput:o,onChange:l};u&&(s["onUpdate:modelValue"]=[w]),f(r.attrs.type)&&V?s.checked=V.value:s.value=d.value;return p(J(e,r),r.attrs)&&delete s.value,s})),B=t.toRef(e,"modelValue");function M(){return{field:S.value,value:d.value,meta:O,errors:l.value,errorMessage:c.value,validate:v,resetField:b,handleChange:w,handleInput:E,handleReset:F,handleBlur:h,setTouched:g,setErrors:A}}return t.watch(B,(t=>{t===s&&void 0===d.value||t!==function(e,t){if(t.number)return function(e){const t=parseFloat(e);return isNaN(t)?e:t}(e);return e}(d.value,e.modelModifiers)&&(d.value=t===s?void 0:t,v())})),r.expose({setErrors:A,setTouched:g,reset:b,validate:v,handleChange:m}),()=>{const n=t.resolveDynamicComponent(J(e,r)),a=k(n,r,M);return n?t.h(n,Object.assign(Object.assign({},r.attrs),S.value),a):a}}});let Y=0;function Z(e){const r=Y++,n=t.ref({}),a=t.ref(!1),u=t.ref(0),i={},l=t.reactive(z(t.unref(null==e?void 0:e.initialValues)||{})),{errorBag:s,setErrorBag:d,setFieldErrorBag:f}=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 u(e){r.value=A(e).reduce(((t,r)=>{const a=e[r];return a&&(t[r]=n(a)),t}),{})}e&&u(e);return{errorBag:r,setErrorBag:u,setFieldErrorBag:a}}(null==e?void 0:e.initialErrors),v=t.computed((()=>A(s.value).reduce(((e,t)=>{const r=s.value[t];return r&&r.length&&(e[t]=r[0]),e}),{})));function m(e){const t=n.value[e];return Array.isArray(t)?t[0]:t}function p(e){return!!n.value[e]}const y=t.computed((()=>A(n.value).reduce(((e,r)=>{const n=m(r);return n&&(e[r]=t.unref(n.label||n.name)||""),e}),{}))),g=t.computed((()=>A(n.value).reduce(((e,t)=>{var r;const n=m(t);return n&&(e[t]=null===(r=n.bails)||void 0===r||r),e}),{}))),O=Object.assign({},(null==e?void 0:e.initialErrors)||{}),{initialValues:w,originalInitialValues:j,setInitialValues:E}=function(e,r,n){const a=t.ref(z(t.unref(n))||{}),u=t.ref(z(t.unref(n))||{});function i(t,n=!1){a.value=z(t),u.value=z(t),n&&A(e.value).forEach((t=>{const n=e.value[t],u=Array.isArray(n)?n.some((e=>e.meta.touched)):null==n?void 0:n.meta.touched;if(!n||u)return;const i=b(a.value,t);F(r,t,z(i))}))}t.isRef(n)&&t.watch(n,(e=>{i(e,!0)}),{deep:!0});return{initialValues:a,originalInitialValues:u,setInitialValues:i}}(n,l,null==e?void 0:e.initialValues),k=function(e,r,n,a){const u={touched:"some",pending:"some",valid:"every"},i=t.computed((()=>!L(r,t.unref(n)))),o=t.computed((()=>{const t=Object.values(e.value).flat(1).filter(Boolean);return A(u).reduce(((e,r)=>{const n=u[r];return e[r]=t[n]((e=>e.meta[r])),e}),{})}));return t.computed((()=>Object.assign(Object.assign({initialValues:t.unref(n)},o.value),{valid:o.value.valid&&!A(a.value).length,dirty:i.value})))}(n,l,w,v),B=null==e?void 0:e.validationSchema,M={formId:r,fieldsByPath:n,values:l,errorBag:s,errors:v,schema:B,submitCount:u,meta:k,isSubmitting:a,fieldArraysLookup:i,validateSchema:t.unref(B)?async function(e){const t=await J(),r=M.fieldsByPath.value||{},n=A(M.errorBag.value);return[...new Set([...A(t.results),...A(r),...n])].reduce(((n,a)=>{const u=r[a],i=(t.results[a]||{errors:[]}).errors,o={errors:i,valid:!i.length};if(n.results[a]=o,o.valid||(n.errors[a]=o.errors[0]),!u)return C(a,i),n;if(T(u,(e=>e.meta.valid=o.valid)),"silent"===e)return n;const l=Array.isArray(u)?u.some((e=>e.meta.validated)):u.meta.validated;return"validated-only"!==e||l?(T(u,(e=>e.setState({errors:o.errors}))),n):n}),{valid:t.valid,results:{},errors:{}})}:void 0,validate:K,register:function(e){const r=t.unref(e.name);D(e,r),t.isRef(e.name)&&t.watch(e.name,(async(r,n)=>{await t.nextTick(),q(e,n),D(e,r),(v.value[n]||v.value[r])&&G(r),await t.nextTick(),p(n)||V(l,n)}));const n=t.unref(e.errorMessage);n&&(null==O?void 0:O[r])!==n&&G(r);delete O[r]},unregister:function(e){const r=t.unref(e.name);q(e,r),t.nextTick((()=>{p(r)||(C(r,void 0),V(l,r))}))},setFieldErrorBag:f,validateField:G,setFieldValue:x,setValues:P,setErrors:R,setFieldError:C,setFieldTouched:N,setTouched:_,resetForm:$,handleSubmit:X,stageInitialValue:function(e,t){F(l,e,t),H(e,t)},unsetInitialValue:function(e){V(w.value,e)},setFieldInitialValue:H};function I(e){return Array.isArray(e)}function T(e,t){return Array.isArray(e)?e.forEach(t):t(e)}function C(e,t){f(e,t)}function R(e){d(e)}function x(e,r,{force:a}={force:!1}){var u;const i=n.value[e],o=z(r);if(!i)return void F(l,e,o);if(I(i)&&"checkbox"===(null===(u=i[0])||void 0===u?void 0:u.type)&&!Array.isArray(r)){const t=z(S(b(l,e)||[],r,void 0));return void F(l,e,t)}let s=r;I(i)||"checkbox"!==i.type||a||(s=z(S(b(l,e),r,t.unref(i.uncheckedValue)))),F(l,e,s)}function P(e){A(l).forEach((e=>{delete l[e]})),A(e).forEach((t=>{x(t,e[t])})),Object.values(i).forEach((e=>e&&e.reset()))}function N(e,t){const r=n.value[e];r&&T(r,(e=>e.setTouched(t)))}function _(e){A(e).forEach((t=>{N(t,!!e[t])}))}function $(e){(null==e?void 0:e.values)?(E(e.values),P(null==e?void 0:e.values)):(E(j.value),P(j.value)),Object.values(n.value).forEach((e=>{e&&T(e,(e=>e.resetField()))})),(null==e?void 0:e.touched)&&_(e.touched),R((null==e?void 0:e.errors)||{}),u.value=(null==e?void 0:e.submitCount)||0}function D(e,r){const a=t.markRaw(e),u=r;if(!n.value[u])return void(n.value[u]=a);const i=n.value[u];i&&!Array.isArray(i)&&(n.value[u]=[i]),n.value[u]=[...n.value[u],a]}function q(e,t){const r=t,a=n.value[r];if(a)if(I(a)||e.id!==a.id){if(I(a)){const t=a.findIndex((t=>t.id===e.id));if(-1===t)return;if(a.splice(t,1),1===a.length)return void(n.value[r]=a[0]);a.length||delete n.value[r]}}else delete n.value[r]}async function K(e){if(M.validateSchema)return M.validateSchema((null==e?void 0:e.mode)||"force");const r=await Promise.all(Object.values(n.value).map((r=>{const n=Array.isArray(r)?r[0]:r;return n?n.validate(e).then((e=>({key:t.unref(n.name),valid:e.valid,errors:e.errors}))):Promise.resolve({key:"",valid:!0,errors:[]})}))),a={},u={};for(const e of r)a[e.key]={valid:e.valid,errors:e.errors},e.errors.length&&(u[e.key]=e.errors[0]);return{valid:r.every((e=>e.valid)),results:a,errors:u}}async function G(e){const r=n.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 X(e,t){return function(r){return r instanceof Event&&(r.preventDefault(),r.stopPropagation()),_(A(n.value).reduce(((e,t)=>(e[t]=!0,e)),{})),a.value=!0,u.value++,K().then((n=>{if(n.valid&&"function"==typeof e)return e(z(l),{evt:r,setErrors:R,setFieldError:C,setTouched:_,setFieldTouched:N,setValues:P,setFieldValue:x,resetForm:$});n.valid||"function"!=typeof t||t({values:z(l),evt:r,errors:n.errors,results:n.results})})).then((e=>(a.value=!1,e)),(e=>{throw a.value=!1,e}))}}function H(e,t){F(w.value,e,z(t))}const J=function(e,t=0){let r=null,n=[];return function(...a){return r&&window.clearTimeout(r),r=window.setTimeout((()=>{const t=e(...a);n.forEach((e=>e(t))),n=[]}),t),new Promise((e=>n.push(e)))}}((async function(){const e=t.unref(B);if(!e)return{valid:!0,results:{},errors:{}};const r=c(e)?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}}(e,l):await U(e,l,{names:y.value,bailsMap:g.value});return r}),5);const Q=X(((e,{evt:t})=>{(function(e){return h(e)&&e.target&&"submit"in e.target})(t)&&t.target.submit()}));return t.onMounted((()=>{(null==e?void 0:e.initialErrors)&&R(e.initialErrors),(null==e?void 0:e.initialTouched)&&_(e.initialTouched),(null==e?void 0:e.validateOnMount)?K():M.validateSchema&&M.validateSchema("silent")})),t.isRef(B)&&t.watch(B,(()=>{var e;null===(e=M.validateSchema)||void 0===e||e.call(M,"validated-only")})),t.provide(o,M),{errors:v,meta:k,values:l,isSubmitting:a,submitCount:u,validate:K,validateField:G,handleReset:()=>$(),resetForm:$,handleSubmit:X,submitForm:Q,setFieldError:C,setErrors:R,setFieldValue:x,setValues:P,setFieldTouched:N,setTouched:_}}const ee=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},onInvalidSubmit:{type:Function,default:void 0}},setup(e,r){const n=t.toRef(e,"initialValues"),a=t.toRef(e,"validationSchema"),{errors:u,values:i,meta:o,isSubmitting:l,submitCount:s,validate:d,validateField:c,handleReset:f,resetForm:v,handleSubmit:m,submitForm:p,setErrors:y,setFieldError:g,setFieldValue:b,setValues:F,setFieldTouched:O,setTouched:V}=Z({validationSchema:a.value?a:void 0,initialValues:n,initialErrors:e.initialErrors,initialTouched:e.initialTouched,validateOnMount:e.validateOnMount}),A=e.onSubmit?m(e.onSubmit,e.onInvalidSubmit):p;function w(e){h(e)&&e.preventDefault(),f(),"function"==typeof r.attrs.onReset&&r.attrs.onReset()}function j(t,r){return m("function"!=typeof t||r?r:t,e.onInvalidSubmit)(t)}function E(){return{meta:o.value,errors:u.value,values:i,isSubmitting:l.value,submitCount:s.value,validate:d,validateField:c,handleSubmit:j,handleReset:f,submitForm:p,setErrors:y,setFieldError:g,setFieldValue:b,setValues:F,setFieldTouched:O,setTouched:V,resetForm:v}}return r.expose({setFieldError:g,setErrors:y,setFieldValue:b,setValues:F,setFieldTouched:O,setTouched:V,resetForm:v,validate:d,validateField:c}),function(){const n="form"===e.as?e.as:t.resolveDynamicComponent(e.as),a=k(n,r,E);if(!e.as)return a;const u="form"===e.as?{novalidate:!0}:{};return t.h(n,Object.assign(Object.assign(Object.assign({},u),r.attrs),{onSubmit:A,onReset:w}),a)}}}),te=ee;let re=0;function ne(e){const r=re++,a=w(o,void 0),u=t.ref([]),i=()=>{},l={fields:t.readonly(u),remove:i,push:i,swap:i,insert:i,update:i,replace:i,prepend:i};if(!a)return j("FieldArray requires being a child of `<Form/>` or `useForm` being called before it. Array fields may not work correctly"),l;if(!t.unref(e))return j("FieldArray requires a field path to be provided, did you forget to pass the `name` prop?"),l;let s=0;function d(){const r=b(null==a?void 0:a.values,t.unref(e),[]);u.value=r.map(f),c()}function c(){const e=u.value.length;for(let t=0;t<e;t++){const r=u.value[t];r.isFirst=0===t,r.isLast=t===e-1}}function f(r){const n=s++;return{key:n,value:t.computed((()=>{const i=b(null==a?void 0:a.values,t.unref(e),[]),o=u.value.findIndex((e=>e.key===n));return-1===o?r:i[o]})),isFirst:!1,isLast:!1}}return d(),a.fieldArraysLookup[r]={reset:d},t.onBeforeUnmount((()=>{delete a.fieldArraysLookup[r]})),{fields:t.readonly(u),remove:function(r){const n=t.unref(e),i=b(null==a?void 0:a.values,n);if(!i||!Array.isArray(i))return;const o=[...i];o.splice(r,1),null==a||a.unsetInitialValue(n+`[${r}]`),null==a||a.setFieldValue(n,o),u.value.splice(r,1),c()},push:function(r){const i=t.unref(e),o=b(null==a?void 0:a.values,i),l=n(o)?[]:o;if(!Array.isArray(l))return;const s=[...l];s.push(r),null==a||a.stageInitialValue(i+`[${s.length-1}]`,r),null==a||a.setFieldValue(i,s),u.value.push(f(r)),c()},swap:function(r,n){const i=t.unref(e),o=b(null==a?void 0:a.values,i);if(!Array.isArray(o)||!o[r]||!o[n])return;const l=[...o],s=[...u.value],d=l[r];l[r]=l[n],l[n]=d;const f=s[r];s[r]=s[n],s[n]=f,null==a||a.setFieldValue(i,l),u.value=s,c()},insert:function(r,n){const i=t.unref(e),o=b(null==a?void 0:a.values,i);if(!Array.isArray(o)||o.length<r)return;const l=[...o],s=[...u.value];l.splice(r,0,n),s.splice(r,0,f(n)),null==a||a.setFieldValue(i,l),u.value=s,c()},update:function(r,n){const u=t.unref(e),i=b(null==a?void 0:a.values,u);!Array.isArray(i)||i.length-1<r||null==a||a.setFieldValue(`${u}[${r}]`,n)},replace:function(r){const n=t.unref(e);null==a||a.setFieldValue(n,r),d()},prepend:function(r){const i=t.unref(e),o=b(null==a?void 0:a.values,i),l=n(o)?[]:o;if(!Array.isArray(l))return;const s=[r,...l];null==a||a.stageInitialValue(i+`[${s.length-1}]`,r),null==a||a.setFieldValue(i,s),u.value.unshift(f(r)),c()}}}const ae=t.defineComponent({name:"FieldArray",inheritAttrs:!1,props:{name:{type:String,required:!0}},setup(e,r){const{push:n,remove:a,swap:u,insert:i,replace:o,update:l,prepend:s,fields:d}=ne(t.toRef(e,"name"));function c(){return{fields:d.value,push:n,remove:a,swap:u,insert:i,update:l,replace:o,prepend:s}}return r.expose({push:n,remove:a,swap:u,insert:i,update:l,replace:o,prepend:s}),()=>k(void 0,r,c)}}),ue=t.defineComponent({name:"ErrorMessage",props:{as:{type:String,default:void 0},name:{type:String,required:!0}},setup(e,r){const n=t.inject(o,void 0),a=t.computed((()=>null==n?void 0:n.errors.value[e.name]));function u(){return{message:a.value}}return()=>{if(!a.value)return;const n=e.as?t.resolveDynamicComponent(e.as):e.as,i=k(n,r,u),o=Object.assign({role:"alert"},r.attrs);return n||!Array.isArray(i)&&i||!(null==i?void 0:i.length)?!Array.isArray(i)&&i||(null==i?void 0:i.length)?t.h(n,o,i):t.h(n||"span",o,a.value):i}}});e.ErrorMessage=ue,e.Field=W,e.FieldArray=ae,e.FieldContextKey=l,e.Form=te,e.FormContextKey=o,e.configure=N,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),i[e]=t},e.useField=X,e.useFieldArray=ne,e.useFieldError=function(e){const r=w(o),n=e?void 0:t.inject(l);return t.computed((()=>e?null==r?void 0:r.errors.value[t.unref(e)]:null==n?void 0:n.errorMessage.value))},e.useFieldValue=function(e){const r=w(o),n=e?void 0:t.inject(l);return t.computed((()=>e?b(null==r?void 0:r.values,t.unref(e)):t.unref(null==n?void 0:n.value)))},e.useForm=Z,e.useFormErrors=function(){const e=w(o);return e||j("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>(null==e?void 0:e.errors.value)||{}))},e.useFormValues=function(){const e=w(o);return e||j("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=w(o);let n=e?void 0:t.inject(l);return t.computed((()=>(e&&(n=E(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.meta.dirty:(j(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldTouched=function(e){const r=w(o);let n=e?void 0:t.inject(l);return t.computed((()=>(e&&(n=E(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.meta.touched:(j(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldValid=function(e){const r=w(o);let n=e?void 0:t.inject(l);return t.computed((()=>(e&&(n=E(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.meta.valid:(j(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFormDirty=function(){const e=w(o);return e||j("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=w(o);return e||j("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=w(o);return e||j("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=w(o);return e||j("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=w(o);return e||j("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=w(o);return e||j("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=w(o);t||j("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=w(o);let n=e?void 0:t.inject(l);return function(){return e&&(n=E(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.validate():(j(`field with name ${t.unref(e)} was not found`),Promise.resolve({errors:[],valid:!0}))}},e.useValidateForm=function(){const e=w(o);return e||j("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=_,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 u(e){return Number(e)>=0}const i={};const o=Symbol("vee-validate-form"),l=Symbol("vee-validate-field-instance"),s=Symbol("Default empty value");function d(e){return r(e)&&!!e.__locatorRef}function c(e){return!!e&&r(e.validate)}function f(e){return"checkbox"===e||"radio"===e}function v(e){return/^\[.+\]$/i.test(e)}function m(e){return"SELECT"===e.tagName}function p(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 h(e){return!!e&&(!!("undefined"!=typeof Event&&r(Event)&&e instanceof Event)||!(!e||!e.srcElement))}function y(e,t){return t in e&&e[t]!==s}function g(e){return v(e)?e.replace(/\[|\]/gi,""):e}function b(e,t,r){if(!e)return r;if(v(t))return e[g(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(v(t))return void(e[g(t)]=r);const a=t.split(/\.|\[(\d+)\]/).filter(Boolean);let i=e;for(let e=0;e<a.length;e++){if(e===a.length-1)return void(i[a[e]]=r);a[e]in i&&!n(i[a[e]])||(i[a[e]]=u(a[e+1])?[]:{}),i=i[a[e]]}}function O(e,t){Array.isArray(e)&&u(t)?e.splice(Number(t),1):a(e)&&delete e[t]}function V(e,t){if(v(t))return void delete e[g(t)];const r=t.split(/\.|\[(\d+)\]/).filter(Boolean);let u=e;for(let e=0;e<r.length;e++){if(e===r.length-1){O(u,r[e]);break}if(!(r[e]in u)||n(u[r[e]]))break;u=u[r[e]]}const i=r.map(((t,n)=>b(e,r.slice(0,n).join("."))));for(let t=i.length-1;t>=0;t--)o=i[t],(Array.isArray(o)?0===o.length:a(o)&&0===Object.keys(o).length)&&(0!==t?O(i[t-1],r[t-1]):O(e,r[0]));var o}function A(e){return Object.keys(e)}function w(e,r){const n=t.getCurrentInstance();return(null==n?void 0:n.provides[e])||t.inject(e,r)}function j(e){t.warn(`[vee-validate]: ${e}`)}function E(e){return Array.isArray(e)?e[0]:e}function S(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 k=(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 B(e){if(M(e))return e._value}function M(e){return"_value"in e}function I(e){if(!h(e))return e;const t=e.target;if(f(t.type)&&M(t))return B(t);if("file"===t.type&&t.files)return Array.from(t.files);if(m(r=t)&&r.multiple)return Array.from(t.options).filter((e=>e.selected&&!e.disabled)).map(B);var r;if(m(t)){const e=Array.from(t.options).find((e=>e.selected));return e?B(e):t.value}return t.value}function T(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]=C(n)),t}),t):"string"!=typeof e?t:e.split("|").reduce(((e,t)=>{const r=R(t);return r.name?(e[r.name]=C(r.params),e):e}),t):t}function C(e){const t=e=>"string"==typeof e&&"@"===e[0]?function(e){const t=t=>b(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 R=e=>{let t=[];const r=e.split(":")[0];return e.includes(":")&&(t=e.split(":").slice(1).join(":").split(",")),{name:r,params:t}};let x=Object.assign({},{generateMessage:({field:e})=>`${e} is not valid.`,bails:!0,validateOnBlur:!0,validateOnChange:!0,validateOnInput:!1,validateOnModelUpdate:!0});const P=()=>x,N=e=>{x=Object.assign(Object.assign({},x),e)};async function _(e,t,n={}){const a=null==n?void 0:n.bails,u={name:(null==n?void 0:n.name)||"{field}",rules:t,bails:null==a||a,formData:(null==n?void 0:n.values)||{}},i=await async function(e,t){if(c(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,u="string"==typeof n?n:D(r);return{errors:a?[]:[u]}}const n=Object.assign(Object.assign({},e),{rules:T(e.rules)}),a=[],u=Object.keys(n.rules),i=u.length;for(let r=0;r<i;r++){const i=u[r],o=await $(n,t,{name:i,params:n.rules[i]});if(o.error&&(a.push(o.error),e.bails))return{errors:a}}return{errors:a}}(u,e),o=i.errors;return{errors:o,valid:!o.length}}async function $(e,t,r){const n=(a=r.name,i[a]);var a;if(!n)throw new Error(`No such validator '${r.name}' exists.`);const u=function(e,t){const r=e=>d(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:u})},l=await n(t,u,o);return"string"==typeof l?{error:l}:{error:l?void 0:D(o)}}function D(e){const t=P().generateMessage;return t?t(e):"Field is invalid"}async function U(e,t,r){const n=A(e).map((async n=>{var a,u,i;const o=await _(b(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===(i=null===(u=null==r?void 0:r.bailsMap)||void 0===u?void 0:u[n])||void 0===i||i});return Object.assign(Object.assign({},o),{path:n})}));let a=!0;const u=await Promise.all(n),i={},o={};for(const e of u)i[e.path]={valid:e.valid,errors:e.errors},e.valid||(a=!1,o[e.path]=e.errors[0]);return{valid:a,results:i,errors:o}}function q(e,t,r){"object"==typeof r.value&&(r.value=z(r.value)),r.enumerable&&!r.get&&!r.set&&r.configurable&&r.writable&&"__proto__"!==t?e[t]=r.value:Object.defineProperty(e,t,r)}function z(e){if("object"!=typeof e)return e;var t,r,n,a=0,u=Object.prototype.toString.call(e);if("[object Object]"===u?n=Object.create(e.__proto__||null):"[object Array]"===u?n=Array(e.length):"[object Set]"===u?(n=new Set,e.forEach((function(e){n.add(z(e))}))):"[object Map]"===u?(n=new Map,e.forEach((function(e,t){n.set(z(t),z(e))}))):"[object Date]"===u?n=new Date(+e):"[object RegExp]"===u?n=new RegExp(e.source,e.flags):"[object DataView]"===u?n=new e.constructor(z(e.buffer)):"[object ArrayBuffer]"===u?n=e.slice(0):"Array]"===u.slice(-6)&&(n=new e.constructor(e)),n){for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)q(n,r[a],Object.getOwnPropertyDescriptor(e,r[a]));for(a=0,r=Object.getOwnPropertyNames(e);a<r.length;a++)Object.hasOwnProperty.call(n,t=r[a])&&n[t]===e[t]||q(n,t,Object.getOwnPropertyDescriptor(e,t))}return n||e}var L=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,u;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=(u=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(a=n;0!=a--;)if(!Object.prototype.hasOwnProperty.call(r,u[a]))return!1;for(a=n;0!=a--;){var i=u[a];if(!e(t[i],r[i]))return!1}return!0}return t!=t&&r!=r};let K=0;function G(e,r){const{value:n,initialValue:a,setInitialValue:u}=function(e,r,n){const a=n?w(o,void 0):void 0,u=t.ref(t.unref(r));function i(){return a?b(a.meta.value.initialValues,t.unref(e),t.unref(u)):t.unref(u)}function l(r){a?a.setFieldInitialValue(t.unref(e),r):u.value=r}const s=t.computed(i);if(!a){return{value:t.ref(i()),initialValue:s,setInitialValue:l}}const d=r?t.unref(r):b(a.values,t.unref(e),t.unref(s));a.stageInitialValue(t.unref(e),d);return{value:t.computed({get:()=>b(a.values,t.unref(e)),set(r){a.setFieldValue(t.unref(e),r)}}),initialValue:s,setInitialValue:l}}(e,r.modelValue,!r.standalone),{errorMessage:i,errors:l,setErrors:s}=function(e,r){const n=r?w(o,void 0):void 0;function a(e){return e?Array.isArray(e)?e:[e]:[]}if(!n){const e=t.ref([]);return{errors:e,errorMessage:t.computed((()=>e.value[0])),setErrors:t=>{e.value=a(t)}}}const u=t.computed((()=>n.errorBag.value[t.unref(e)]||[]));return{errors:u,errorMessage:t.computed((()=>u.value[0])),setErrors:r=>{n.setFieldErrorBag(t.unref(e),a(r))}}}(e,!r.standalone),d=function(e,r,n){const a=t.reactive({touched:!1,pending:!1,valid:!0,validated:!!t.unref(n).length,initialValue:t.computed((()=>t.unref(r))),dirty:t.computed((()=>!L(t.unref(e),t.unref(r))))});return t.watch(n,(e=>{a.valid=!e.length}),{immediate:!0,flush:"sync"}),a}(n,a,l);return{id:K>=Number.MAX_SAFE_INTEGER?0:++K,path:e,value:n,initialValue:a,meta:d,errors:l,errorMessage:i,setState:function(e){var t;"value"in e&&(n.value=e.value),"errors"in e&&s(e.errors),"touched"in e&&(d.touched=null!==(t=e.touched)&&void 0!==t?t:d.touched),"initialValue"in e&&u(e.initialValue)}}}function X(e,r,n){return f(null==n?void 0:n.type)?function(e,r,n){const a=(null==n?void 0:n.standalone)?void 0:w(o),u=null==n?void 0:n.checkedValue,i=null==n?void 0:n.uncheckedValue;function l(e){const r=e.handleChange,n=t.computed((()=>{const r=t.unref(e.value),n=t.unref(u);return Array.isArray(r)?r.includes(n):n===r}));function o(o,l=!0){var s,d;if(n.value===(null===(d=null===(s=o)||void 0===s?void 0:s.target)||void 0===d?void 0:d.checked))return;let c=I(o);a||(c=S(t.unref(e.value),t.unref(u),t.unref(i))),r(c,l)}return t.onBeforeUnmount((()=>{n.value&&o(t.unref(u),!1)})),Object.assign(Object.assign({},e),{checked:n,checkedValue:u,uncheckedValue:i,handleChange:o})}return l(H(e,r,n))}(e,r,n):H(e,r,n)}function H(e,n,a){const{initialValue:u,validateOnMount:i,bails:s,type:f,checkedValue:v,label:m,validateOnValueUpdate:p,uncheckedValue:h,standalone:y}=function(e,t){const r=()=>({initialValue:void 0,validateOnMount:!1,bails:!0,rules:"",label:e,validateOnValueUpdate:!0,standalone:!1});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),g=y?void 0:w(o),{id:F,value:O,initialValue:V,meta:j,setState:E,errors:S,errorMessage:k}=G(e,{modelValue:u,standalone:y}),B=t.computed((()=>{let a=t.unref(n);const u=t.unref(null==g?void 0:g.schema);return u&&!c(u)&&(a=function(e,t){if(!e)return;return e[t]}(u,t.unref(e))||a),c(a)||r(a)?a:T(a)}));async function M(r){var n,a;return(null==g?void 0:g.validateSchema)?null!==(n=(await g.validateSchema(r)).results[t.unref(e)])&&void 0!==n?n:{valid:!0,errors:[]}:_(O.value,B.value,{name:t.unref(m)||t.unref(e),values:null!==(a=null==g?void 0:g.values)&&void 0!==a?a:{},bails:s})}async function C(){j.pending=!0,j.validated=!0;const e=await M("validated-only");return E({errors:e.errors}),j.pending=!1,e}async function R(){const e=await M("silent");return j.valid=e.valid,e}let x;function P(){x=t.watch(O,p?C:R,{deep:!0})}function N(e){var r;null==x||x();const n=e&&"value"in e?e.value:V.value;E({value:z(n),initialValue:z(n),touched:null!==(r=null==e?void 0:e.touched)&&void 0!==r&&r,errors:(null==e?void 0:e.errors)||[]}),j.pending=!1,j.validated=!1,R(),t.nextTick((()=>{P()}))}t.onMounted((()=>{if(i)return C();g&&g.validateSchema||R()})),P();const $={id:F,name:e,label:m,value:O,meta:j,errors:S,errorMessage:k,type:f,checkedValue:v,uncheckedValue:h,bails:s,resetField:N,handleReset:()=>N(),validate:function(e){return(null==e?void 0:e.mode)&&"force"!==(null==e?void 0:e.mode)?"validated-only"===(null==e?void 0:e.mode)?C():R():C()},handleChange:(e,t=!0)=>{const r=I(e);O.value=r,!p&&t&&C()},handleBlur:()=>{j.touched=!0},setState:E,setTouched:function(e){j.touched=e},setErrors:function(e){E({errors:Array.isArray(e)?e:[e]})},setValue:function(e){O.value=e}};if(t.provide(l,$),t.isRef(n)&&"function"!=typeof t.unref(n)&&t.watch(n,((e,t)=>{L(e,t)||(j.validated?C():R())}),{deep:!0}),!g)return $;g.register($),t.onBeforeUnmount((()=>{g.unregister($)}));const D=t.computed((()=>{const e=B.value;return!e||r(e)||c(e)?{}:Object.keys(e).reduce(((t,r)=>{const n=(a=e[r],Array.isArray(a)?a.filter(d):A(a).filter((e=>d(a[e]))).map((e=>a[e]))).map((e=>e.__locatorRef)).reduce(((e,t)=>{const r=b(g.values,t)||g.values[t];return void 0!==r&&(e[t]=r),e}),{});var a;return Object.assign(t,n),t}),{})}));return t.watch(D,((e,t)=>{if(!Object.keys(e).length)return;!L(e,t)&&(j.validated?C():R())})),$}function J(e,t){let r=e.as||"";return e.as||t.slots.default||(r="input"),r}function Q(e,t){return f(t.attrs.type)?y(e,"modelValue")?e.modelValue:void 0:y(e,"modelValue")?e.modelValue:t.attrs.value}const W=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:()=>P().bails},label:{type:String,default:void 0},uncheckedValue:{type:null,default:void 0},modelValue:{type:null,default:s},modelModifiers:{type:null,default:()=>({})},"onUpdate:modelValue":{type:null,default:void 0},standalone:{type:Boolean,default:!1}},setup(e,r){const n=t.toRef(e,"rules"),a=t.toRef(e,"name"),u=t.toRef(e,"label"),i=t.toRef(e,"uncheckedValue"),o=y(e,"onUpdate:modelValue"),{errors:l,value:d,errorMessage:c,validate:v,handleChange:m,handleBlur:h,setTouched:g,resetField:b,handleReset:F,meta:O,checked:V,setErrors:A}=X(a,n,{validateOnMount:e.validateOnMount,bails:e.bails,standalone:e.standalone,type:r.attrs.type,initialValue:Q(e,r),checkedValue:r.attrs.value,uncheckedValue:i,label:u,validateOnValueUpdate:!1}),w=o?function(e,t=!0){m(e,t),r.emit("update:modelValue",d.value)}:m,j=e=>{f(r.attrs.type)||(d.value=I(e))},E=o?function(e){j(e),r.emit("update:modelValue",d.value)}:j,S=t.computed((()=>{const{validateOnInput:t,validateOnChange:n,validateOnBlur:a,validateOnModelUpdate:u}=function(e){var t,r,n,a;const{validateOnInput:u,validateOnChange:i,validateOnBlur:o,validateOnModelUpdate:l}=P();return{validateOnInput:null!==(t=e.validateOnInput)&&void 0!==t?t:u,validateOnChange:null!==(r=e.validateOnChange)&&void 0!==r?r:i,validateOnBlur:null!==(n=e.validateOnBlur)&&void 0!==n?n:o,validateOnModelUpdate:null!==(a=e.validateOnModelUpdate)&&void 0!==a?a:l}}(e),i=[h,r.attrs.onBlur,a?v:void 0].filter(Boolean),o=[e=>w(e,t),r.attrs.onInput].filter(Boolean),l=[e=>w(e,n),r.attrs.onChange].filter(Boolean),s={name:e.name,onBlur:i,onInput:o,onChange:l};u&&(s["onUpdate:modelValue"]=[w]),f(r.attrs.type)&&V?s.checked=V.value:s.value=d.value;return p(J(e,r),r.attrs)&&delete s.value,s})),B=t.toRef(e,"modelValue");function M(){return{field:S.value,value:d.value,meta:O,errors:l.value,errorMessage:c.value,validate:v,resetField:b,handleChange:w,handleInput:E,handleReset:F,handleBlur:h,setTouched:g,setErrors:A}}return t.watch(B,(t=>{t===s&&void 0===d.value||t!==function(e,t){if(t.number)return function(e){const t=parseFloat(e);return isNaN(t)?e:t}(e);return e}(d.value,e.modelModifiers)&&(d.value=t===s?void 0:t,v())})),r.expose({setErrors:A,setTouched:g,reset:b,validate:v,handleChange:m}),()=>{const n=t.resolveDynamicComponent(J(e,r)),a=k(n,r,M);return n?t.h(n,Object.assign(Object.assign({},r.attrs),S.value),a):a}}});let Y=0;function Z(e){const r=Y++;let n=!1;const a=t.ref({}),u=t.ref(!1),i=t.ref(0),l={},s=t.reactive(z(t.unref(null==e?void 0:e.initialValues)||{})),{errorBag:d,setErrorBag:f,setFieldErrorBag:v}=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 u(e){r.value=A(e).reduce(((t,r)=>{const a=e[r];return a&&(t[r]=n(a)),t}),{})}e&&u(e);return{errorBag:r,setErrorBag:u,setFieldErrorBag:a}}(null==e?void 0:e.initialErrors),m=t.computed((()=>A(d.value).reduce(((e,t)=>{const r=d.value[t];return r&&r.length&&(e[t]=r[0]),e}),{})));function p(e){const t=a.value[e];return Array.isArray(t)?t[0]:t}function y(e){return!!a.value[e]}const g=t.computed((()=>A(a.value).reduce(((e,r)=>{const n=p(r);return n&&(e[r]=t.unref(n.label||n.name)||""),e}),{}))),O=t.computed((()=>A(a.value).reduce(((e,t)=>{var r;const n=p(t);return n&&(e[t]=null===(r=n.bails)||void 0===r||r),e}),{}))),w=Object.assign({},(null==e?void 0:e.initialErrors)||{}),{initialValues:j,originalInitialValues:E,setInitialValues:k}=function(e,r,n){const a=t.ref(z(t.unref(n))||{}),u=t.ref(z(t.unref(n))||{});function i(t,n=!1){a.value=z(t),u.value=z(t),n&&A(e.value).forEach((t=>{const n=e.value[t],u=Array.isArray(n)?n.some((e=>e.meta.touched)):null==n?void 0:n.meta.touched;if(!n||u)return;const i=b(a.value,t);F(r,t,z(i))}))}t.isRef(n)&&t.watch(n,(e=>{i(e,!0)}),{deep:!0});return{initialValues:a,originalInitialValues:u,setInitialValues:i}}(a,s,null==e?void 0:e.initialValues),B=function(e,r,n,a){const u={touched:"some",pending:"some",valid:"every"},i=t.computed((()=>!L(r,t.unref(n)))),o=t.computed((()=>{const t=Object.values(e.value).flat(1).filter(Boolean);return A(u).reduce(((e,r)=>{const n=u[r];return e[r]=t[n]((e=>e.meta[r])),e}),{})}));return t.computed((()=>Object.assign(Object.assign({initialValues:t.unref(n)},o.value),{valid:o.value.valid&&!A(a.value).length,dirty:i.value})))}(a,s,j,m),M=null==e?void 0:e.validationSchema,I={formId:r,fieldsByPath:a,values:s,errorBag:d,errors:m,schema:M,submitCount:i,meta:B,isSubmitting:u,fieldArraysLookup:l,validateSchema:t.unref(M)?async function(e){const t=await Q(),r=I.fieldsByPath.value||{},n=A(I.errorBag.value);return[...new Set([...A(t.results),...A(r),...n])].reduce(((n,a)=>{const u=r[a],i=(t.results[a]||{errors:[]}).errors,o={errors:i,valid:!i.length};if(n.results[a]=o,o.valid||(n.errors[a]=o.errors[0]),!u)return R(a,i),n;if(C(u,(e=>e.meta.valid=o.valid)),"silent"===e)return n;const l=Array.isArray(u)?u.some((e=>e.meta.validated)):u.meta.validated;return"validated-only"!==e||l?(C(u,(e=>e.setState({errors:o.errors}))),n):n}),{valid:t.valid,results:{},errors:{}})}:void 0,validate:G,register:function(e){const r=t.unref(e.name);q(e,r),t.isRef(e.name)&&t.watch(e.name,(async(r,n)=>{await t.nextTick(),K(e,n),q(e,r),(m.value[n]||m.value[r])&&X(r),await t.nextTick(),y(n)||V(s,n)}));const n=t.unref(e.errorMessage);n&&(null==w?void 0:w[r])!==n&&X(r);delete w[r]},unregister:function(e){const r=t.unref(e.name);K(e,r),t.nextTick((()=>{y(r)||(R(r,void 0),V(s,r))}))},setFieldErrorBag:v,validateField:X,setFieldValue:P,setValues:N,setErrors:x,setFieldError:R,setFieldTouched:_,setTouched:$,resetForm:D,handleSubmit:H,stageInitialValue:function(e,t){F(s,e,t),J(e,t)},unsetInitialValue:function(e){V(j.value,e)},setFieldInitialValue:J};function T(e){return Array.isArray(e)}function C(e,t){return Array.isArray(e)?e.forEach(t):t(e)}function R(e,t){v(e,t)}function x(e){f(e)}function P(e,r,{force:u}={force:!1}){var i;const o=a.value[e],l=z(r);if(!o)return void F(s,e,l);if(T(o)&&"checkbox"===(null===(i=o[0])||void 0===i?void 0:i.type)&&!Array.isArray(r)){const t=z(S(b(s,e)||[],r,void 0));return void F(s,e,t)}let d=r;T(o)||"checkbox"!==o.type||u||n||(d=z(S(b(s,e),r,t.unref(o.uncheckedValue)))),F(s,e,d)}function N(e){A(s).forEach((e=>{delete s[e]})),A(e).forEach((t=>{P(t,e[t])})),Object.values(l).forEach((e=>e&&e.reset()))}function _(e,t){const r=a.value[e];r&&C(r,(e=>e.setTouched(t)))}function $(e){A(e).forEach((t=>{_(t,!!e[t])}))}function D(e){n=!0,(null==e?void 0:e.values)?(k(e.values),N(null==e?void 0:e.values)):(k(E.value),N(E.value)),Object.values(a.value).forEach((e=>{e&&C(e,(e=>e.resetField()))})),(null==e?void 0:e.touched)&&$(e.touched),x((null==e?void 0:e.errors)||{}),i.value=(null==e?void 0:e.submitCount)||0,t.nextTick((()=>{n=!1}))}function q(e,r){const n=t.markRaw(e),u=r;if(!a.value[u])return void(a.value[u]=n);const i=a.value[u];i&&!Array.isArray(i)&&(a.value[u]=[i]),a.value[u]=[...a.value[u],n]}function K(e,t){const r=t,n=a.value[r];if(n)if(T(n)||e.id!==n.id){if(T(n)){const t=n.findIndex((t=>t.id===e.id));if(-1===t)return;if(n.splice(t,1),1===n.length)return void(a.value[r]=n[0]);n.length||delete a.value[r]}}else delete a.value[r]}async function G(e){if(I.validateSchema)return I.validateSchema((null==e?void 0:e.mode)||"force");const r=await Promise.all(Object.values(a.value).map((r=>{const n=Array.isArray(r)?r[0]:r;return n?n.validate(e).then((e=>({key:t.unref(n.name),valid:e.valid,errors:e.errors}))):Promise.resolve({key:"",valid:!0,errors:[]})}))),n={},u={};for(const e of r)n[e.key]={valid:e.valid,errors:e.errors},e.errors.length&&(u[e.key]=e.errors[0]);return{valid:r.every((e=>e.valid)),results:n,errors:u}}async function X(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 H(e,t){return function(r){return r instanceof Event&&(r.preventDefault(),r.stopPropagation()),$(A(a.value).reduce(((e,t)=>(e[t]=!0,e)),{})),u.value=!0,i.value++,G().then((n=>{if(n.valid&&"function"==typeof e)return e(z(s),{evt:r,setErrors:x,setFieldError:R,setTouched:$,setFieldTouched:_,setValues:N,setFieldValue:P,resetForm:D});n.valid||"function"!=typeof t||t({values:z(s),evt:r,errors:n.errors,results:n.results})})).then((e=>(u.value=!1,e)),(e=>{throw u.value=!1,e}))}}function J(e,t){F(j.value,e,z(t))}const Q=function(e,t=0){let r=null,n=[];return function(...a){return r&&window.clearTimeout(r),r=window.setTimeout((()=>{const t=e(...a);n.forEach((e=>e(t))),n=[]}),t),new Promise((e=>n.push(e)))}}((async function(){const e=t.unref(M);if(!e)return{valid:!0,results:{},errors:{}};const r=c(e)?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}}(e,s):await U(e,s,{names:g.value,bailsMap:O.value});return r}),5);const W=H(((e,{evt:t})=>{(function(e){return h(e)&&e.target&&"submit"in e.target})(t)&&t.target.submit()}));return t.onMounted((()=>{(null==e?void 0:e.initialErrors)&&x(e.initialErrors),(null==e?void 0:e.initialTouched)&&$(e.initialTouched),(null==e?void 0:e.validateOnMount)?G():I.validateSchema&&I.validateSchema("silent")})),t.isRef(M)&&t.watch(M,(()=>{var e;null===(e=I.validateSchema)||void 0===e||e.call(I,"validated-only")})),t.provide(o,I),{errors:m,meta:B,values:s,isSubmitting:u,submitCount:i,validate:G,validateField:X,handleReset:()=>D(),resetForm:D,handleSubmit:H,submitForm:W,setFieldError:R,setErrors:x,setFieldValue:P,setValues:N,setFieldTouched:_,setTouched:$}}const ee=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},onInvalidSubmit:{type:Function,default:void 0}},setup(e,r){const n=t.toRef(e,"initialValues"),a=t.toRef(e,"validationSchema"),{errors:u,values:i,meta:o,isSubmitting:l,submitCount:s,validate:d,validateField:c,handleReset:f,resetForm:v,handleSubmit:m,submitForm:p,setErrors:y,setFieldError:g,setFieldValue:b,setValues:F,setFieldTouched:O,setTouched:V}=Z({validationSchema:a.value?a:void 0,initialValues:n,initialErrors:e.initialErrors,initialTouched:e.initialTouched,validateOnMount:e.validateOnMount}),A=e.onSubmit?m(e.onSubmit,e.onInvalidSubmit):p;function w(e){h(e)&&e.preventDefault(),f(),"function"==typeof r.attrs.onReset&&r.attrs.onReset()}function j(t,r){return m("function"!=typeof t||r?r:t,e.onInvalidSubmit)(t)}function E(){return{meta:o.value,errors:u.value,values:i,isSubmitting:l.value,submitCount:s.value,validate:d,validateField:c,handleSubmit:j,handleReset:f,submitForm:p,setErrors:y,setFieldError:g,setFieldValue:b,setValues:F,setFieldTouched:O,setTouched:V,resetForm:v}}return r.expose({setFieldError:g,setErrors:y,setFieldValue:b,setValues:F,setFieldTouched:O,setTouched:V,resetForm:v,validate:d,validateField:c}),function(){const n="form"===e.as?e.as:t.resolveDynamicComponent(e.as),a=k(n,r,E);if(!e.as)return a;const u="form"===e.as?{novalidate:!0}:{};return t.h(n,Object.assign(Object.assign(Object.assign({},u),r.attrs),{onSubmit:A,onReset:w}),a)}}}),te=ee;let re=0;function ne(e){const r=re++,a=w(o,void 0),u=t.ref([]),i=()=>{},l={fields:t.readonly(u),remove:i,push:i,swap:i,insert:i,update:i,replace:i,prepend:i};if(!a)return j("FieldArray requires being a child of `<Form/>` or `useForm` being called before it. Array fields may not work correctly"),l;if(!t.unref(e))return j("FieldArray requires a field path to be provided, did you forget to pass the `name` prop?"),l;let s=0;function d(){const r=b(null==a?void 0:a.values,t.unref(e),[]);u.value=r.map(f),c()}function c(){const e=u.value.length;for(let t=0;t<e;t++){const r=u.value[t];r.isFirst=0===t,r.isLast=t===e-1}}function f(r){const n=s++;return{key:n,value:t.computed((()=>{const i=b(null==a?void 0:a.values,t.unref(e),[]),o=u.value.findIndex((e=>e.key===n));return-1===o?r:i[o]})),isFirst:!1,isLast:!1}}return d(),a.fieldArraysLookup[r]={reset:d},t.onBeforeUnmount((()=>{delete a.fieldArraysLookup[r]})),{fields:t.readonly(u),remove:function(r){const n=t.unref(e),i=b(null==a?void 0:a.values,n);if(!i||!Array.isArray(i))return;const o=[...i];o.splice(r,1),null==a||a.unsetInitialValue(n+`[${r}]`),null==a||a.setFieldValue(n,o),u.value.splice(r,1),c()},push:function(r){const i=t.unref(e),o=b(null==a?void 0:a.values,i),l=n(o)?[]:o;if(!Array.isArray(l))return;const s=[...l];s.push(r),null==a||a.stageInitialValue(i+`[${s.length-1}]`,r),null==a||a.setFieldValue(i,s),u.value.push(f(r)),c()},swap:function(r,n){const i=t.unref(e),o=b(null==a?void 0:a.values,i);if(!Array.isArray(o)||!o[r]||!o[n])return;const l=[...o],s=[...u.value],d=l[r];l[r]=l[n],l[n]=d;const f=s[r];s[r]=s[n],s[n]=f,null==a||a.setFieldValue(i,l),u.value=s,c()},insert:function(r,n){const i=t.unref(e),o=b(null==a?void 0:a.values,i);if(!Array.isArray(o)||o.length<r)return;const l=[...o],s=[...u.value];l.splice(r,0,n),s.splice(r,0,f(n)),null==a||a.setFieldValue(i,l),u.value=s,c()},update:function(r,n){const u=t.unref(e),i=b(null==a?void 0:a.values,u);!Array.isArray(i)||i.length-1<r||null==a||a.setFieldValue(`${u}[${r}]`,n)},replace:function(r){const n=t.unref(e);null==a||a.setFieldValue(n,r),d()},prepend:function(r){const i=t.unref(e),o=b(null==a?void 0:a.values,i),l=n(o)?[]:o;if(!Array.isArray(l))return;const s=[r,...l];null==a||a.stageInitialValue(i+`[${s.length-1}]`,r),null==a||a.setFieldValue(i,s),u.value.unshift(f(r)),c()}}}const ae=t.defineComponent({name:"FieldArray",inheritAttrs:!1,props:{name:{type:String,required:!0}},setup(e,r){const{push:n,remove:a,swap:u,insert:i,replace:o,update:l,prepend:s,fields:d}=ne(t.toRef(e,"name"));function c(){return{fields:d.value,push:n,remove:a,swap:u,insert:i,update:l,replace:o,prepend:s}}return r.expose({push:n,remove:a,swap:u,insert:i,update:l,replace:o,prepend:s}),()=>k(void 0,r,c)}}),ue=t.defineComponent({name:"ErrorMessage",props:{as:{type:String,default:void 0},name:{type:String,required:!0}},setup(e,r){const n=t.inject(o,void 0),a=t.computed((()=>null==n?void 0:n.errors.value[e.name]));function u(){return{message:a.value}}return()=>{if(!a.value)return;const n=e.as?t.resolveDynamicComponent(e.as):e.as,i=k(n,r,u),o=Object.assign({role:"alert"},r.attrs);return n||!Array.isArray(i)&&i||!(null==i?void 0:i.length)?!Array.isArray(i)&&i||(null==i?void 0:i.length)?t.h(n,o,i):t.h(n||"span",o,a.value):i}}});e.ErrorMessage=ue,e.Field=W,e.FieldArray=ae,e.FieldContextKey=l,e.Form=te,e.FormContextKey=o,e.configure=N,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),i[e]=t},e.useField=X,e.useFieldArray=ne,e.useFieldError=function(e){const r=w(o),n=e?void 0:t.inject(l);return t.computed((()=>e?null==r?void 0:r.errors.value[t.unref(e)]:null==n?void 0:n.errorMessage.value))},e.useFieldValue=function(e){const r=w(o),n=e?void 0:t.inject(l);return t.computed((()=>e?b(null==r?void 0:r.values,t.unref(e)):t.unref(null==n?void 0:n.value)))},e.useForm=Z,e.useFormErrors=function(){const e=w(o);return e||j("No vee-validate <Form /> or `useForm` was detected in the component tree"),t.computed((()=>(null==e?void 0:e.errors.value)||{}))},e.useFormValues=function(){const e=w(o);return e||j("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=w(o);let n=e?void 0:t.inject(l);return t.computed((()=>(e&&(n=E(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.meta.dirty:(j(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldTouched=function(e){const r=w(o);let n=e?void 0:t.inject(l);return t.computed((()=>(e&&(n=E(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.meta.touched:(j(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFieldValid=function(e){const r=w(o);let n=e?void 0:t.inject(l);return t.computed((()=>(e&&(n=E(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.meta.valid:(j(`field with name ${t.unref(e)} was not found`),!1))))},e.useIsFormDirty=function(){const e=w(o);return e||j("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=w(o);return e||j("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=w(o);return e||j("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=w(o);return e||j("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=w(o);return e||j("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=w(o);return e||j("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=w(o);t||j("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=w(o);let n=e?void 0:t.inject(l);return function(){return e&&(n=E(null==r?void 0:r.fieldsByPath.value[t.unref(e)])),n?n.validate():(j(`field with name ${t.unref(e)} was not found`),Promise.resolve({errors:[],valid:!0}))}},e.useValidateForm=function(){const e=w(o);return e||j("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=_,Object.defineProperty(e,"__esModule",{value:!0})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vee-validate",
3
- "version": "4.5.4",
3
+ "version": "4.5.5",
4
4
  "description": "Form Validation for Vue.js",
5
5
  "author": "Abdelrahman Awad <logaretm1@gmail.com>",
6
6
  "license": "MIT",
@@ -33,5 +33,5 @@
33
33
  "dependencies": {
34
34
  "@vue/devtools-api": "^6.0.0-beta.15"
35
35
  },
36
- "gitHead": "4b800e387175cebdd95bff607b05039bf46085bd"
36
+ "gitHead": "34a38a2d110c84c71bbf6ad0b4c72be83fc18cc3"
37
37
  }