@regle/core 0.10.4 → 0.10.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.
@@ -4,7 +4,7 @@ var vue = require('vue');
4
4
 
5
5
  // ../shared/utils/isEmpty.ts
6
6
  function isEmpty(value, considerEmptyArrayInvalid = true) {
7
- if (value === undefined || value === null) {
7
+ if (value === void 0 || value === null) {
8
8
  return true;
9
9
  }
10
10
  if (value instanceof Date) {
@@ -93,7 +93,7 @@ function debounce(func, wait, immediate) {
93
93
  const debouncedFn = (...args) => new Promise((resolve) => {
94
94
  clearTimeout(timeout);
95
95
  timeout = setTimeout(() => {
96
- timeout = undefined;
96
+ timeout = void 0;
97
97
  {
98
98
  Promise.resolve(func.apply(this, [...args])).then(resolve);
99
99
  }
@@ -101,7 +101,7 @@ function debounce(func, wait, immediate) {
101
101
  });
102
102
  debouncedFn.cancel = () => {
103
103
  clearTimeout(timeout);
104
- timeout = undefined;
104
+ timeout = void 0;
105
105
  };
106
106
  return debouncedFn;
107
107
  }
@@ -310,7 +310,7 @@ function useStorage() {
310
310
  }
311
311
  function checkRuleDeclEntry($path, newRules) {
312
312
  const storedRulesDefs = ruleDeclStorage.value.get($path);
313
- if (!storedRulesDefs) return undefined;
313
+ if (!storedRulesDefs) return void 0;
314
314
  const storedRules = storedRulesDefs;
315
315
  const isValidCache = areRulesChanged(newRules, storedRules);
316
316
  if (!isValidCache) return { valid: false };
@@ -547,7 +547,7 @@ function createReactiveRuleStatus({
547
547
  });
548
548
  function computeRuleProcessor(key) {
549
549
  let result = "";
550
- const customProcessor = customMessages ? customMessages[ruleKey]?.[key] : undefined;
550
+ const customProcessor = customMessages ? customMessages[ruleKey]?.[key] : void 0;
551
551
  if (customProcessor) {
552
552
  if (typeof customProcessor === "function") {
553
553
  result = customProcessor($defaultMetadata.value);
@@ -1310,7 +1310,7 @@ function createReactiveCollectionStatus({
1310
1310
  let immediateScopeState;
1311
1311
  let collectionScopes = [];
1312
1312
  if (!Array.isArray(state.value) && !rulesDef.value.$each) {
1313
- return undefined;
1313
+ return void 0;
1314
1314
  }
1315
1315
  const $id = vue.ref();
1316
1316
  const $value = vue.ref(state.value);
@@ -2222,7 +2222,7 @@ function createReactiveChildrenStatus({
2222
2222
  ...properties
2223
2223
  });
2224
2224
  }
2225
- return undefined;
2225
+ return void 0;
2226
2226
  }
2227
2227
 
2228
2228
  // src/core/useRegle/root/useRootStorage.ts
@@ -1,4 +1,4 @@
1
- import { MaybeRef, Ref, UnwrapRef, UnwrapNestedRefs, Raw, MaybeRefOrGetter } from 'vue';
1
+ import { Ref, MaybeRef, UnwrapRef, UnwrapNestedRefs, Raw, MaybeRefOrGetter } from 'vue';
2
2
 
3
3
  type Prettify<T> = T extends infer R ? {
4
4
  [K in keyof R]: R[K];
@@ -1,4 +1,4 @@
1
- import { MaybeRef, Ref, UnwrapRef, UnwrapNestedRefs, Raw, MaybeRefOrGetter } from 'vue';
1
+ import { Ref, MaybeRef, UnwrapRef, UnwrapNestedRefs, Raw, MaybeRefOrGetter } from 'vue';
2
2
 
3
3
  type Prettify<T> = T extends infer R ? {
4
4
  [K in keyof R]: R[K];
@@ -1,2 +1,2 @@
1
- 'use strict';var vue=require('vue');function te(e,t=true){return e==null?true:e instanceof Date?isNaN(e.getTime()):e.constructor.name=="File"||e.constructor.name=="FileList"?e.size<=0:Array.isArray(e)?t?e.length===0:false:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}var $t=Symbol("regle-rule");function zt(e){if(typeof e.source.flags=="string")return e.source.flags;{let t=[];return e.global&&t.push("g"),e.ignoreCase&&t.push("i"),e.multiline&&t.push("m"),e.sticky&&t.push("y"),e.unicode&&t.push("u"),t.join("")}}function N(e){let t=e,r={}.toString.call(e).slice(8,-1);if(r=="Set"&&(t=new Set([...e].map(n=>N(n)))),r=="Map"&&(t=new Map([...e].map(n=>[N(n[0]),N(n[1])]))),r=="Date"&&(t=new Date(e.getTime())),r=="RegExp"&&(t=RegExp(e.source,zt(e))),r=="Array"||r=="Object"){t=Array.isArray(e)?[]:{};for(let n in e)t[n]=N(e[n]);}return t}function Q(e){return e&&(e instanceof Date||e.constructor.name=="File"||e.constructor.name=="FileList")?false:typeof e=="object"&&e!==null&&!Array.isArray(e)}function ze(e){let t=Object.prototype.toString.call(e);return e==null?new Date(NaN):e instanceof Date||typeof e=="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function Ve(e,t,r){let n,l=(...c)=>new Promise(m=>{clearTimeout(n),n=setTimeout(()=>{n=undefined,Promise.resolve(e.apply(this,[...c])).then(m);},t);});return l.cancel=()=>{clearTimeout(n),n=undefined;},l}var qe=(r=>(r.Inline="__inline",r.Async="__async",r))(qe||{});function St(e,t){return e.some(r=>r[t])}function ht(e,t){return e.reduce((r,n)=>{let l=n[t]||[];return r.concat(l)},[])}function re(e){try{return e.map(t=>vue.toValue(t))}catch{return []}}function bt(e){return e.map(t=>t instanceof Function?vue.computed(t):vue.isRef(t)?t:vue.toRef(()=>t))}function Tt(e){let n=e.toString().replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").match(/^(?:async\s*)?(?:function\b.*?\(|\((.*?)\)|(\w+))\s*=>|\((.*?)\)\s*=>|function.*?\((.*?)\)|\((.*?)\)/);return n?(n[0]||n[1]||n[2]||n[3]||n[4]||"").split(",").map(m=>m.trim()).filter(m=>m.length>0).length:0}function Ke(e,...t){let{validator:r,type:n}=e,l=n==="__async"||r.constructor.name==="AsyncFunction";return {...{validator(d,...$){return e.validator(d,...re($.length?$:t))},message(d){return typeof e.message=="function"?e.message({...d,$params:re(d?.$params?.length?d.$params:t)}):e.message},active(d){return typeof e.active=="function"?e.active({...d,$params:re(d?.$params?.length?d.$params:t)}):e.active??true},tooltip(d){return typeof e.tooltip=="function"?e.tooltip({...d,$params:re(d?.$params?.length?d.$params:t)}):e.tooltip??[]},exec(d){let $=e.validator(d,...re(t)),p;return $ instanceof Promise?$.then(h=>(p=h,typeof p=="object"&&"$valid"in p?p.$valid:typeof p=="boolean"?p:false)):(p=$,typeof p=="object"&&"$valid"in p?p.$valid:typeof p=="boolean"?p:false)}},_validator:e.validator,_message:e.message,_active:e.active,_tooltip:e.tooltip,_type:e.type,_message_patched:false,_tooltip_patched:false,_async:l,_params:bt(t),_brand:$t}}function Je(e){if(typeof e.validator=="function"){let r=Ke(e,...[]),n=e.async??e.validator.constructor.name==="AsyncFunction";if(Tt(e.validator)>1){let l=function(...c){return Ke(e,...c)};return l.validator=r.validator,l.message=r.message,l.active=r.active,l.tooltip=r.tooltip,l.type=r.type,l.exec=r.exec,l._validator=r.validator,l._message=r.message,l._active=r.active,l._tooltip=r.tooltip,l._type=e.type,l._message_pacthed=false,l._tooltip_pacthed=false,l._async=n,l}else return r}throw new Error("Validator must be a function")}function Ye(){let e=vue.shallowRef(new Map),t=vue.shallowRef(new Map),r=vue.shallowRef(new Map),n=vue.shallowRef(new Map),l=vue.shallowRef(new Map),c=vue.shallowRef(new Map);function m(S){let E=t.value.get(S);if(E)return E;{let D=vue.ref({});return t.value.set(S,D),D}}function d(S){let E=r.value.get(S);if(E)return E;{let D=vue.ref([]);return r.value.set(S,D),D}}function $(S,E,D){c.value.set(`${S}-${E}`,D);}function p(S,E){return c.value.get(`${S}-${E}`)}function h(S,E){S&&E!=null&&c.value.delete(`${S}-${E}`);}function V(S,E){n.value.set(S,E);}function C(S){return n.value.get(S)??false}function A(S,E){e.value.set(S,E);}function w(S,E){let D=e.value.get(S);return D?O(E,D)?{valid:true}:{valid:false}:undefined}function O(S,E){let D=Object.keys(E),u=Object.keys(S);return u.length!==D.length||!u.every(s=>D.includes(s))?false:u.every(s=>{let o=S[s],b=E[s];return !b||!o||typeof o=="function"||typeof b=="function"||typeof o=="number"||typeof o=="boolean"?false:o._params?o._params?.every((M,L)=>{if(typeof b=="number"||typeof b=="boolean")return true;{let G=re(b._params),X=re(o._params);return G?.[L]===X?.[L]}}):true})}function a(S){let E=l.value.get(S);if(E)return E;{let D=vue.ref(false),u=vue.ref(true),T=vue.ref({}),s=vue.ref(false);return l.value.set(S,{$pending:D,$valid:u,$metadata:T,$validating:s}),{$pending:D,$valid:u,$metadata:T,$validating:s}}}return vue.getCurrentScope()&&vue.onScopeDispose(()=>{e.value.clear(),t.value.clear(),r.value.clear(),n.value.clear(),l.value.clear(),c.value.clear();}),{addRuleDeclEntry:A,setDirtyEntry:V,checkRuleDeclEntry:w,getDirtyState:C,trySetRuleStatusRef:a,getFieldsEntry:m,getCollectionsEntry:d,getArrayStatus:p,addArrayStatus:$,deleteArrayStatus:h,arrayStatusStorage:c}}function _e(e){return Q(e.value)}function Qe(e,t,r){let n=vue.effectScope(),l;return e instanceof Function?l=n.run(()=>e(t,r??0)):l=e,{scope:n,unwrapped:l}}function tr(e,t){let r=String(e).split("."),n=String(t).split(".");for(let l=0;l<Math.min(r.length,n.length);l++){let c=Number(r[l]),m=Number(n[l]);if(c>m)return 1;if(m>c)return -1;if(!isNaN(c)&&isNaN(m))return 1;if(isNaN(c)&&!isNaN(m))return -1}return 0}var Ne=tr(vue.version,"3.5.0")!==-1;function rr(){return Math.floor(Math.random()*Date.now()).toString()}function $e(){return typeof window>"u"?rr():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(10)}function Et(e){return vue.getCurrentScope()?(vue.onScopeDispose(e),true):false}function xt(e){let t=false,r,n=vue.effectScope(true);return (...l)=>(t||(r=n.run(()=>e(...l)),t=true),r)}function ke(e,t){return _e(e)||Q(t.value)&&!te(t.value)&&!Object.entries(t.value).some(([r,n])=>we(n)||typeof n=="function")}function Dt(e,t){return !!e.value&&Q(e.value)&&"$each"in e.value||Array.isArray(t.value)}function Ge(e){return !!e.value&&Q(e.value)}function we(e){return Q(e)&&"_validator"in e}function Pe(e){return typeof e.value!="function"}function Ct(e){return Q(e)&&"$fields"in e}function It(e){return !!e&&"$rules"in e}function Xe({field:e,silent:t=false}){return Object.entries(e.$rules??{}).map(([r,n])=>t&&!n.$valid||!n.$valid&&e.$error&&!n.$validating?n.$message:null).filter(r=>!!r).reduce((r,n)=>typeof n=="string"?r?.concat([n]):r?.concat(n),[]).concat(e.$error?e.$externalErrors??[]:[]).concat(e.$error?e.$schemaErrors??[]:[])}function Ot({field:e}){return Object.entries(e.$rules??{}).map(([t,r])=>r.$tooltip).filter(t=>!!t).reduce((t,r)=>typeof r=="string"?t?.concat([r]):t?.concat(r),[])}function wt({customMessages:e,rule:t,ruleKey:r,state:n,path:l,storage:c,$debounce:m,modifiers:d}){let $=vue.effectScope(),p={},h,V=vue.ref(false),{$pending:C,$valid:A,$metadata:w,$validating:O}=c.trySetRuleStatusRef(`${l}.${r}`);function a(){$=vue.effectScope(),p=$.run(()=>{let o=vue.ref(false),b=vue.ref(false),M=vue.ref(true),L=vue.ref(false),G=vue.ref(false),X=vue.computed(()=>({$value:n.value,$error:b.value,$dirty:o.value,$pending:L.value,$correct:G.value,$invalid:M.value,$rule:{$valid:A.value,$invalid:!A.value,$pending:C.value},$params:f.value,...w.value})),oe=vue.computed(()=>Pe(t)?typeof t.value.active=="function"?t.value.active(X.value):!!t.value.active:true);function I(x){let F="",B=e?e[r]?.[x]:undefined;if(B&&(typeof B=="function"?F=B(X.value):F=B),Pe(t)){let y=`_${x}_patched`;B&&!t.value[y]||(typeof t.value[x]=="function"?F=t.value[x](X.value):F=t.value[x]??"");}return F}let z=vue.computed(()=>{let x=I("message");return te(x)&&(x="This field is not valid"),x}),me=vue.computed(()=>I("tooltip")),ue=vue.computed(()=>Pe(t)&&t.value.type?t.value.type:r),i=vue.computed(()=>Pe(t)?t.value.validator:t.value),f=vue.computed(()=>typeof t.value=="function"?[]:re(t.value._params??[])),R=vue.computed(()=>`${l}.${ue.value}`);return {$active:oe,$message:z,$type:ue,$validator:i,$params:f,$path:R,$tooltip:me,$fieldCorrect:G,$fieldError:b,$fieldDirty:o,$fieldPending:L,$fieldInvalid:M}}),h=vue.watch(p?.$params,()=>{(d.$autoDirty.value||d.$rewardEarly.value&&p.$fieldError.value)&&u();});}a();function S(){A.value=true,p.$fieldDirty.value&&(C.value=true);}async function E(){let o=false;try{let b=p.$validator.value;if(typeof b!="function")return console.error(`${l}: Incorrect rule format, it needs to be either a function or created with "createRule".`),!1;let M=b(n.value,...p.$params.value),L=n.value;S();let G;if(M instanceof Promise?G=await M:G=M,n.value!==L)return !0;if(typeof G=="boolean")o=G;else {let{$valid:X,...oe}=G;o=X,w.value=oe;}}catch{o=false;}finally{C.value=false;}return o}let D=Ve(E,m??200);async function u(){try{O.value=!0;let o=!1;if(we(t.value)&&t.value._async)o=await D();else {let b=p.$validator.value,M=b(n.value,...p.$params.value);if(M instanceof Promise)console.warn('You used a async validator function on a non-async rule, please use "async await" or the "withAsync" helper');else if(M!=null)if(typeof M=="boolean")o=M;else {let{$valid:L,...G}=M;o=L,w.value=G;}}return A.value=o,o}catch{return false}finally{O.value=false;}}function T(){A.value=true,w.value={},C.value=false,O.value=false,a();}function s(){h(),$.stop(),$=vue.effectScope();}return vue.reactive({...p,$pending:C,$valid:A,$metadata:w,$haveAsync:V,$validating:O,$parse:u,$unwatch:s,$watch:a,$reset:T})}function be({state:e,rulesDef:t,customMessages:r,path:n,fieldName:l,storage:c,options:m,externalErrors:d,schemaErrors:$,schemaMode:p,onUnwatch:h,$isArray:V,initialState:C,shortcuts:A,onValidate:w}){let O=vue.effectScope(),a,S=[],E,D,u,T,s,o=()=>{};function b(){let v=t.value,j=c.checkRuleDeclEntry(n,v);z.value=Object.fromEntries(Object.entries(v).filter(([g])=>g.startsWith("$"))),G(),I.value=Object.fromEntries(Object.entries(t.value).filter(([g])=>!g.startsWith("$")).map(([g,ee])=>{if(ee){let se=vue.toRef(()=>ee);return [g,wt({modifiers:{$autoDirty:a.$autoDirty,$rewardEarly:a.$rewardEarly},customMessages:r,rule:se,ruleKey:g,state:e,path:n,storage:c,$debounce:z.value.$debounce})]}return []}).filter(g=>!!g.length)),a.processShortcuts(),M(),j?.valid!=null&&(a.$dirty.value=c.getDirtyState(n),(a.$dirty.value&&a.$autoDirty.value||a.$rewardEarly.value&&a.$error.value)&&o()),c.addRuleDeclEntry(n,v);}function M(){o=a.$debounce.value?Ve(oe,a.$debounce.value??a.$haveAnyAsyncRule?100:0):oe;}function L(){I.value&&Object.entries(I.value).forEach(([v,j])=>{j.$unwatch();}),u(),s?.(),a.$dirty.value&&c.setDirtyEntry(n,a.$dirty.value),E?.(),D?.(),O.stop(),O=vue.effectScope(),S.forEach(v=>v.stop()),S=[],h?.(),T?.();}function G(){I.value&&Object.entries(I.value).forEach(([v,j])=>{j.$watch();}),a=O.run(()=>{let v=vue.ref(false),j=vue.ref(false),g=vue.computed(()=>v.value),ee=vue.computed(()=>z.value.$debounce),se=vue.computed(()=>z.value.$lazy!=null?z.value.$lazy:vue.unref(m.lazy)!=null?vue.unref(m.lazy):false),le=vue.computed(()=>z.value.$rewardEarly!=null?z.value.$rewardEarly:vue.unref(m.rewardEarly)!=null?vue.unref(m.rewardEarly):false),U=vue.computed(()=>z.value.$clearExternalErrorsOnChange!=null?z.value.$clearExternalErrorsOnChange:vue.unref(m.clearExternalErrorsOnChange)!=null?vue.unref(m.clearExternalErrorsOnChange):true),P=vue.computed(()=>z.value.$autoDirty!=null?z.value.$autoDirty:vue.unref(m.autoDirty)!=null?vue.unref(m.autoDirty):!le.value),H=vue.computed(()=>Object.entries(I.value).some(([ie,Y])=>Y.$validating)),Ie=vue.computed({get:()=>e.value,set(ie){E(),e.value=ie,X();}}),Fe=vue.computed(()=>ye.value&&!Oe.value&&v.value),ut=vue.computed(()=>Xe({field:{$rules:I.value,$error:Fe.value,$externalErrors:d?.value,$schemaErrors:$?.value}})),ct=vue.computed(()=>Xe({field:{$rules:I.value,$error:Fe.value,$externalErrors:d?.value,$schemaErrors:$?.value},silent:true})),He=vue.computed(()=>v.value?C.value instanceof Date&&e.value instanceof Date?ze(C.value).getDate()!==ze(e.value).getDate():C.value==null?!!e.value:Array.isArray(e.value)&&Array.isArray(C.value)?e.value.length!==C.value.length:C.value!==e.value:false),ft=vue.computed(()=>He.value),Rt=vue.computed(()=>Ot({field:{$rules:I.value}})),dt=vue.computed(()=>P.value?g.value&&!(ye.value||Oe.value):!(ye.value||Oe.value)),Oe=vue.computed(()=>j.value||!le.value?Object.entries(I.value).some(([ie,Y])=>Y.$pending):false),ye=vue.computed(()=>d?.value?.length||$?.value?.length?true:je.value?false:!le.value||le.value&&j.value?Object.entries(I.value).some(([ie,Y])=>!Y.$valid):false),pt=vue.computed(()=>l),je=vue.computed(()=>!!(te(I.value)&&!p)),mt=vue.computed(()=>d?.value?.length||je.value?false:v.value&&!te(e.value)&&!H.value?p?!$?.value?.length:Object.values(I.value).some(Y=>Y.$active)?Object.values(I.value).filter(Y=>Y.$active).every(Y=>Y.$valid):false:false),Bt=vue.computed(()=>Object.entries(I.value).some(([ie,Y])=>Y.$haveAsync));function Ht(){A?.fields&&Object.entries(A.fields).forEach(([ie,Y])=>{let gt=vue.effectScope();yt[ie]=gt.run(()=>{let vt=vue.ref();return vue.watchEffect(()=>{vt.value=Y(vue.reactive({$dirty:v,$externalErrors:d?.value??[],$value:e,$silentValue:Ie,$rules:I,$error:Fe,$pending:Oe,$invalid:ye,$correct:mt,$errors:ut,$ready:dt,$silentErrors:ct,$anyDirty:g,$tooltips:Rt,$name:pt,$inactive:je,$edited:He,$anyEdited:ft}));}),vt}),S.push(gt);});}let yt={};return vue.watch(ye,ie=>{ie||(j.value=false);}),{$error:Fe,$pending:Oe,$invalid:ye,$correct:mt,$debounce:ee,$lazy:se,$errors:ut,$ready:dt,$silentErrors:ct,$rewardEarly:le,$autoDirty:P,$clearExternalErrorsOnChange:U,$anyDirty:g,$edited:He,$anyEdited:ft,$name:pt,$haveAnyAsyncRule:Bt,$shortcuts:yt,$validating:H,$tooltips:Rt,$dirty:v,triggerPunishment:j,processShortcuts:Ht,$silentValue:Ie,$inactive:je}}),X(),u=vue.watch(a.$dirty,v=>{c.setDirtyEntry(n,v),Object.values(I.value).forEach(j=>{j.$fieldDirty=v;});}),s=vue.watch([a.$error,a.$correct,a.$invalid,a.$pending],()=>{Object.values(I.value).forEach(v=>{v.$fieldError=a.$error.value,v.$fieldInvalid=a.$invalid.value,v.$fieldPending=a.$pending.value,v.$fieldCorrect=a.$correct.value;});}),D=vue.watch(a.$invalid,v=>{a.$rewardEarly.value&&!v&&(a.triggerPunishment.value=false);}),T=vue.watch(a.$haveAnyAsyncRule,M);}function X(){E=vue.watch(e,()=>{a.$autoDirty.value&&(a.$dirty.value||(a.$dirty.value=true)),t.value instanceof Function&&b(),(a.$autoDirty.value||a.$rewardEarly.value&&a.$error.value)&&o(),a.$rewardEarly.value!==true&&a.$clearExternalErrorsOnChange.value&&R();},{deep:V?true:Ne?1:true,flush:"post"});}function oe(){Object.values(I.value).forEach(v=>{v.$parse();});}let I=vue.ref({}),z=vue.ref({});b();function me(v,j){if(R(),a.$dirty.value=false,a.triggerPunishment.value=false,c.setDirtyEntry(n,false),!j)if(v?.toInitialState)L(),e.value=N(C);else if(v?.toState){L();let g;typeof v?.toState=="function"?g=v?.toState():g=v?.toState,C.value=N(g),e.value=N(g);}else C.value=Q(e.value)?N(e.value):Array.isArray(e.value)?[...e.value]:e.value;j||Object.entries(I.value).forEach(([g,ee])=>{ee.$reset();}),!a.$lazy.value&&a.$autoDirty.value&&Object.values(I.value).forEach(g=>g.$parse()),j||b();}function ue(v=true,j=false){a.$dirty.value||(a.$dirty.value=true),j&&v?(a.$autoDirty.value||a.$rewardEarly.value&&a.$error.value)&&o():v&&o();}async function i(){try{if(p)return w?(ue(!1),w()):{valid:!1,data:e.value};let v=e.value;if(a.triggerPunishment.value=!0,!a.$dirty.value)a.$dirty.value=!0;else if(a.$autoDirty.value&&a.$dirty.value&&!a.$pending.value)return {valid:!a.$error.value,data:v};return p?{valid:!$?.value?.length,data:v}:te(I.value)?{valid:!0,data:v}:{valid:(await Promise.allSettled(Object.entries(I.value).map(([ee,se])=>se.$parse()))).every(ee=>ee.status==="fulfilled"?ee.value===!0:!1),data:v}}catch{return {valid:false,data:e.value}}}function f(v=true){return a.$dirty.value?e.value:v?{_null:true}:null}function R(){d?.value?.length&&(d.value=[]);}!a.$lazy.value&&!a.$dirty.value&&a.$autoDirty.value&&o();let{$shortcuts:x,$validating:F,$autoDirty:B,$rewardEarly:y,$clearExternalErrorsOnChange:_,$haveAnyAsyncRule:q,$debounce:Z,$lazy:J,triggerPunishment:fe,...ce}=a;return vue.reactive({...ce,$externalErrors:d,$value:e,$rules:I,...x,$reset:me,$touch:ue,$validate:i,$unwatch:L,$watch:G,$extractDirtyFields:f,$clearExternalErrors:R})}function tt({$id:e,path:t,index:r,options:n,storage:l,stateValue:c,customMessages:m,rules:d,externalErrors:$,schemaErrors:p,initialState:h,shortcuts:V,fieldName:C,schemaMode:A}){let w=d.$key?d.$key:$e(),O=`${t}.${String(w)}`;typeof c.value=="object"&&c.value!=null&&(c.value.$id?O=`${t}.${c.value.$id}`:Object.defineProperties(c.value,{$id:{value:w,enumerable:false,configurable:false,writable:false}}));let a=vue.toRef($?.value??[],r),S=vue.computed(()=>p?.value?.[r]),E=Te({state:c,rulesDef:vue.toRef(()=>d),customMessages:m,path:O,storage:l,options:n,externalErrors:a,schemaErrors:S,initialState:h,shortcuts:V,fieldName:C,schemaMode:A});if(E){let D=c.value?.$id;E.$id=D??String(w),l.addArrayStatus(e,E.$id,E);}return E}function Ft({state:e,rulesDef:t,customMessages:r,path:n,storage:l,options:c,externalErrors:m,schemaErrors:d,schemaMode:$,initialState:p,shortcuts:h,fieldName:V}){let C=vue.effectScope(),A,w=vue.effectScope(),O,a=[];if(!Array.isArray(e.value)&&!t.value.$each)return;let S=vue.ref(),E=vue.ref(e.value),D,u=vue.ref({}),T=l.getCollectionsEntry(n);O=w.run(()=>({isPrimitiveArray:vue.computed(()=>Array.isArray(e.value)&&e.value.length?e.value.every(f=>typeof f!="object"):t.value.$each&&!(t.value.$each instanceof Function)?Object.values(t.value.$each).every(f=>we(f)||typeof f=="function"):false)})),s(),M();function s(){typeof e.value=="object"&&(e.value!=null&&!e.value?.$id&&e.value!==null?(S.value=$e(),Object.defineProperties(e.value,{$id:{value:S.value,enumerable:false,configurable:false,writable:false}})):e.value?.$id&&(S.value=e.value.$id)),E.value=u.value.$value,Array.isArray(e.value)&&!O.isPrimitiveArray.value?T.value=e.value.filter(i=>typeof i=="object").map((i,f)=>{let{scope:R,unwrapped:x}=Qe(t.value.$each,vue.toRef(()=>i),f);R&&a.push(R);let F=vue.toRef(p.value??[],f),B=vue.toRef(m?.value??{},"$each"),y=vue.computed(()=>d?.value?.$each),_=tt({$id:S.value,path:n,customMessages:r,rules:x??{},stateValue:vue.toRef(()=>i),index:f,options:c,storage:l,externalErrors:B,schemaErrors:y,initialState:F,shortcuts:h,fieldName:V,schemaMode:$});return _||null}).filter(i=>!!i):T.value=[],u.value=be({state:e,rulesDef:t,customMessages:r,path:n,storage:l,options:c,externalErrors:vue.toRef(m?.value??{},"$self"),schemaErrors:vue.computed(()=>d?.value?.$self),$isArray:!0,initialState:p,shortcuts:h,fieldName:V,schemaMode:$});}function o(){if(Array.isArray(e.value)&&!O.isPrimitiveArray.value){let i=N(T.value);T.value=e.value.filter(f=>typeof f=="object").map((f,R)=>{let x=vue.toRef(()=>f);if(f.$id&&T.value.find(F=>F.$id===f.$id)){let F=l.getArrayStatus(S.value,f.$id);return F?(F.$value=x,F):null}else {let{scope:F,unwrapped:B}=Qe(t.value.$each,x,R);F&&a.push(F);let y=vue.toRef(m?.value??{},"$each"),_=vue.computed(()=>d?.value?.$each??[]),q=tt({$id:S.value,path:n,customMessages:r,rules:B??{},stateValue:x,index:R,options:c,storage:l,externalErrors:y,schemaErrors:_,initialState:vue.toRef(p.value??[],R),shortcuts:h,fieldName:V,schemaMode:$});return q||null}}).filter(f=>!!f),i.filter(f=>!e.value?.find(R=>f.$id===R.$id)).forEach((f,R)=>{l.deleteArrayStatus(S.value,R.toString());});}else T.value=[];}function b(){D=vue.watch(e,()=>{e.value!=null&&!Object.hasOwn(e.value,"$id")?s():o();},{deep:Ne?1:true,flush:"pre"});}function M(){b(),C=vue.effectScope(),A=C.run(()=>{let i=vue.computed({get:()=>e.value,set(g){D(),e.value=g,b();}}),f=vue.computed(()=>u.value.$dirty&&(!T.value.length||T.value.every(g=>g.$dirty))),R=vue.computed(()=>u.value.$anyDirty||T.value.some(g=>g.$anyDirty)),x=vue.computed(()=>u.value.$invalid||T.value.some(g=>g.$invalid)),F=vue.computed(()=>(te(u.value.$rules)?true:u.value.$correct)&&(!T.value.length||T.value.every(g=>g.$correct||g.$anyDirty&&!g.$invalid))),B=vue.computed(()=>u.value.$error||T.value.some(g=>g.$error)),y=vue.computed(()=>!(x.value||_.value)),_=vue.computed(()=>u.value.$pending||T.value.some(g=>g.$pending)),q=vue.computed(()=>!!T.value.length&&T.value.every(g=>g.$edited)),Z=vue.computed(()=>u.value.$anyEdited||T.value.some(g=>g.$anyEdited)),J=vue.computed(()=>({$self:u.value.$errors,$each:T.value.map(g=>g.$errors)})),fe=vue.computed(()=>({$self:u.value.$silentErrors,$each:T.value.map(g=>g.$silentErrors)})),ce=vue.computed(()=>V);function v(){h?.collections&&Object.entries(h?.collections).forEach(([g,ee])=>{let se=vue.effectScope();j[g]=se.run(()=>{let le=vue.ref();return vue.watchEffect(()=>{le.value=ee(vue.reactive({$dirty:f,$error:B,$silentValue:i,$pending:_,$invalid:x,$correct:F,$errors:J,$ready:y,$silentErrors:fe,$anyDirty:R,$name:ce,$each:T,$self:u,$value:e,$edited:q,$anyEdited:Z}));}),le}),a.push(se);});}let j={};return v(),{$dirty:f,$anyDirty:R,$invalid:x,$correct:F,$error:B,$pending:_,$errors:J,$silentErrors:fe,$ready:y,$name:ce,$shortcuts:j,$silentValue:i,$edited:q,$anyEdited:Z}}),O.isPrimitiveArray.value&&t.value.$each&&console.warn(`${n} is a Array of primitives. Tracking can be lost when reassigning the Array. We advise to use an Array of objects instead`);}function L(){D&&D(),u.value&&u.value.$unwatch(),T.value&&T.value.forEach(i=>{"$dirty"in i&&i.$unwatch();}),C.stop(),C=vue.effectScope(),w.stop(),w=vue.effectScope(true),a.forEach(i=>i.stop()),a=[];}function G(i=true,f=false){u.value.$touch(i,f),T.value.forEach(R=>{R.$touch(i,f);});}function X(i,f){if(L(),!f)if(i?.toInitialState)e.value=N(p.value);else if(i?.toState){let R;typeof i?.toState=="function"?R=i?.toState():R=i?.toState,p.value=N(R),e.value=N(R);}else p.value=N(e.value);u.value.$reset(),T.value.forEach(R=>{R.$reset(i,true);}),f||s();}async function oe(){let i=e.value;try{return {valid:(await Promise.allSettled([u.value.$validate(),...T.value.map(x=>x.$validate())])).every(x=>x.status==="fulfilled"?x.value.valid===!0:!1),data:i}}catch{return {valid:false,data:i}}}function I(){u.value.$clearExternalErrors(),T.value.forEach(i=>{i.$clearExternalErrors();});}function z(i=true){let f=T.value.map(R=>{if(Ct(R))return R.$extractDirtyFields(i)});return i&&f.every(R=>te(R))&&(f=[]),f}let{$shortcuts:me,...ue}=A;return vue.reactive({$self:u,...ue,...me,$each:T,$value:e,$validate:oe,$unwatch:L,$watch:M,$touch:G,$reset:X,$extractDirtyFields:z,$clearExternalErrors:I})}function We({rulesDef:e,state:t,path:r="",rootRules:n,externalErrors:l,schemaErrors:c,rootSchemaErrors:m,validationGroups:d,initialState:$,fieldName:p,...h}){let V=vue.effectScope(),C,A=[],w=null,O=null,a=null,S=null;async function D(i=true){let f=Object.entries(e.value),R=Object.fromEntries(f.filter(([y,_])=>!!_).map(([y,_])=>{if(_){let q=vue.toRef(t.value??{},y),Z=vue.toRef(()=>_),J=vue.toRef(l?.value??{},y),fe=vue.computed(()=>c?.value?.[y]),ce=vue.toRef($?.value??{},y);return [y,Te({state:q,rulesDef:Z,path:r?`${r}.${y}`:y,externalErrors:J,schemaErrors:fe,initialState:ce,fieldName:y,...h})]}return []})),x=Object.fromEntries(Object.entries(vue.unref(l)??{}).filter(([y,_])=>!(y in e.value)&&!!_).map(([y])=>{let _=vue.toRef(t.value??{},y),q=vue.toRef(l?.value??{},y),Z=vue.computed(()=>c?.value?.[y]),J=vue.toRef($?.value??{},y);return [y,Te({state:_,rulesDef:vue.computed(()=>({})),path:r?`${r}.${y}`:y,externalErrors:q,schemaErrors:Z,initialState:J,fieldName:y,...h})]})),F=Object.fromEntries(Object.entries(vue.unref(c)??{}).map(([y])=>{let _=vue.toRef(t.value??{},y),q=vue.toRef(l?.value??{},y),Z=vue.computed(()=>c?.value?.[y]),J=vue.toRef($?.value??{},y);return [y,Te({state:_,rulesDef:vue.computed(()=>({})),path:r?`${r}.${y}`:y,externalErrors:q,schemaErrors:Z,initialState:J,fieldName:y,...h})]})),B=Object.fromEntries(Object.entries(t.value??{}).filter(([y])=>!(y in e.value)&&!(y in(x??{}))&&!(y in(F??{}))).map(([y])=>{let _=vue.toRef(t.value??{},y),q=vue.toRef(l?.value??{},y),Z=vue.computed(()=>c?.value?.[y]),J=vue.toRef($?.value??{},y);return [y,Te({state:_,rulesDef:vue.computed(()=>({})),path:r?`${r}.${y}`:y,externalErrors:q,schemaErrors:Z,initialState:J,fieldName:y,...h})]}));u.value={...R,...x,...F,...B},i&&o();}let u=h.storage.getFieldsEntry(r);D();function T(){l&&(a=vue.watch(l,()=>{b(),D();},{deep:true}));}function s(){S=vue.watch(t,()=>{b(),D(),G(true,true);},{flush:"sync"});}function o(){n&&(w?.(),w=vue.watch(n,()=>{b(),D();},{deep:true,flush:"post"}),T()),m&&(O?.(),O=vue.watch(m,()=>{b(),D();},{deep:true,flush:"post"})),s(),C=V.run(()=>{let i=vue.computed({get:()=>t.value,set(U){b(),t.value=U,D();}}),f=vue.computed(()=>!!Object.entries(u.value).length&&Object.entries(u.value).every(([U,P])=>P?.$dirty)),R=vue.computed(()=>Object.entries(u.value).some(([U,P])=>P?.$anyDirty)),x=vue.computed(()=>!!Object.entries(u.value).length&&Object.entries(u.value).some(([U,P])=>P?.$invalid)),F=vue.computed(()=>{let U=Object.entries(u.value).filter(([P,H])=>It(H)?!H.$inactive:true);return U.length?U.every(([P,H])=>H?.$correct||H.$anyDirty&&!H.$invalid):false}),B=vue.computed(()=>!!Object.entries(u.value).length&&Object.entries(u.value).some(([U,P])=>P?.$error)),y=vue.computed(()=>vue.unref(h.options.rewardEarly)!=null?vue.unref(h.options.rewardEarly):false),_=vue.computed(()=>vue.unref(h.options.autoDirty)!=null?vue.unref(h.options.autoDirty):!y.value),q=vue.computed(()=>_.value?R.value&&!(x.value||J.value):!(x.value||J.value)),Z=vue.ref(false),J=vue.computed(()=>Z.value||Object.entries(u.value).some(([U,P])=>P?.$pending)),fe=vue.computed(()=>Object.fromEntries(Object.entries(u.value).map(([U,P])=>[U,P?.$errors]))),ce=vue.computed(()=>Object.fromEntries(Object.entries(u.value).map(([U,P])=>[U,P?.$silentErrors]))),v=vue.computed(()=>!!Object.entries(u.value).length&&Object.entries(u.value).every(([U,P])=>P?.$edited)),j=vue.computed(()=>Object.entries(u.value).some(([U,P])=>P?.$anyEdited)),g=vue.computed(()=>p);function ee(){h.shortcuts?.nested&&Object.entries(h.shortcuts.nested).forEach(([U,P])=>{let H=vue.effectScope();le[U]=H.run(()=>{let Ie=vue.ref();return vue.watchEffect(()=>{Ie.value=P(vue.reactive({$dirty:f,$value:t,$silentValue:i,$error:B,$pending:J,$invalid:x,$correct:F,$ready:q,$anyDirty:R,$name:g,$silentErrors:ce,$errors:fe,$fields:u,$edited:v,$anyEdited:j}));}),Ie}),A.push(H);});}let se=vue.computed({get:()=>d?Object.fromEntries(Object.entries(d?.(u.value)??{}).map(([U,P])=>P.length?[U,{...Object.fromEntries(["$invalid","$error","$pending","$dirty","$correct"].map(H=>[H,St(P,H)])),...Object.fromEntries(["$errors","$silentErrors"].map(H=>[H,ht(P,H)]))}]:[])):{},set(){}}),le={};return ee(),{$dirty:f,$anyDirty:R,$invalid:x,$correct:F,$error:B,$pending:J,$errors:fe,$silentErrors:ce,$ready:q,$name:g,$shortcuts:le,$groups:se,$silentValue:i,$edited:v,$anyEdited:j,$localPending:Z}});}function b(){w?.(),a?.(),S?.(),O?.(),A=[],C={},u.value&&Object.entries(u.value).forEach(([i,f])=>{f.$unwatch();});}function M(){Object.entries(u.value).forEach(([i,f])=>{f.$clearExternalErrors();});}function L(i,f){if(a?.(),b(),!f)if(i?.toInitialState)t.value=N({...$.value??{}});else if(i?.toState){let R;typeof i?.toState=="function"?R=i?.toState():R=i?.toState,$.value=N(R),t.value=N(R);}else $.value=N(t.value);Object.values(u.value).forEach(R=>{R.$reset(i,true);}),T(),f||D();}function G(i=true,f=false){Object.values(u.value).forEach(R=>{R.$touch(i,f);});}function X(i){return i.filter(([f,R])=>Q(R)?!(R&&typeof R=="object"&&"_null"in R)&&!te(R):Array.isArray(R)?R.length:true)}function oe(i=true){let f=Object.entries(u.value).map(([R,x])=>[R,x.$extractDirtyFields(i)]);return i&&(f=X(f)),Object.fromEntries(f)}async function I(){try{if(h.schemaMode)return h.onValidate?(G(!1),C.$localPending.value=!0,h.onValidate()):{valid:!1,data:t.value};{let i=t.value;return {valid:(await Promise.allSettled(Object.values(u.value).map(x=>x.$validate()))).every(x=>x.status==="fulfilled"?x.value.valid===!0:!1),data:i}}}catch{return {valid:false,data:t.value}}finally{C.$localPending.value=false;}}let{$shortcuts:z,$localPending:me,...ue}=C;return vue.reactive({...ue,...z,$fields:u,$value:t,$reset:L,$touch:G,$validate:I,$unwatch:b,$watch:o,$clearExternalErrors:M,$extractDirtyFields:oe})}function Te({rulesDef:e,...t}){if(Dt(e,t.state))return Ft({rulesDef:e,...t});if(ke(t.state,e)){if(_e(t.state))return We({rulesDef:e,...t});{let n=vue.effectScope().run(()=>{let m=vue.toRef(t.state.value?t.state:vue.ref({}));return vue.watch(()=>t.state.value,d=>{m.value=d;},{deep:true}),vue.watch(m,d=>{t.state.value=d;},{deep:true}),{fakeState:m}}),{state:l,...c}=t;return We({rulesDef:e,...c,state:n.fakeState})}}else if(Ge(e))return be({rulesDef:e,...t})}function Ce({initialState:e,options:t,scopeRules:r,state:n,customRules:l,shortcuts:c,schemaErrors:m,schemaMode:d=false,onValidate:$}){let p=Ye(),h=vue.ref();return ke(n,r)?h.value=We({rootRules:r,rulesDef:r,state:n,customMessages:l?.(),storage:p,options:t,externalErrors:t.externalErrors,validationGroups:t.validationGroups,initialState:e,shortcuts:c,fieldName:"root",path:"",schemaErrors:m,rootSchemaErrors:m,schemaMode:d,onValidate:$}):Ge(r)&&(h.value=be({rulesDef:r,state:n,customMessages:l?.(),storage:p,options:t,externalErrors:t.externalErrors,initialState:e,shortcuts:c,fieldName:"root",path:"",schemaMode:d,schemaErrors:m,onValidate:$})),vue.getCurrentScope()&&vue.onScopeDispose(()=>{h.value?.$unwatch();}),vue.reactive({regle:h})}function at(e,t,r){let n={autoDirty:t?.autoDirty,lazy:t?.lazy,rewardEarly:t?.rewardEarly,clearExternalErrorsOnChange:t?.clearExternalErrorsOnChange};function l(c,m,d){let $=vue.isRef(m)?m:vue.computed(typeof m=="function"?m:()=>m),p={...n,...d},h=vue.isRef(c)?c:vue.ref(c),V=vue.ref(Q(h.value)?{...N(h.value)}:N(h.value));return {r$:Ce({scopeRules:$,state:h,options:p,initialState:V,customRules:e,shortcuts:r}).regle}}return l}var Le=at();function lt(){function e(t,r){return r}return e}var ot=lt();function Nt({rules:e,modifiers:t,shortcuts:r}){let n=at(e,t,r),l=lt();return {useRegle:n,inferRules:l}}function Me(e,t){let r=t??false,n=vue.computed({get:()=>r?Object.values(e).map(s=>s.$value):Object.fromEntries(Object.entries(e).map(([s,o])=>[s,o.$value])),set:s=>{r||typeof s=="object"&&Object.entries(s).forEach(([o,b])=>e[o].$value=b);}}),l=vue.computed({get:()=>Object.fromEntries(Object.entries(e).map(([s,o])=>[s,o.$silentValue])),set:s=>{typeof s=="object"&&Object.entries(s).forEach(([o,b])=>e[o].$silentValue=b);}}),c=vue.computed(()=>{let s=Object.entries(e);return !!s.length&&s.every(([o,b])=>b?.$dirty)}),m=vue.computed(()=>Object.entries(e).some(([s,o])=>o?.$anyDirty)),d=vue.computed(()=>Object.entries(e).some(([s,o])=>o?.$invalid)),$=vue.computed(()=>{let s=Object.entries(e);return !!s.length&&s.every(([o,b])=>b?.$correct||b.$anyDirty&&!b.$invalid)}),p=vue.computed(()=>Object.entries(e).some(([s,o])=>o?.$error)),h=vue.computed(()=>{let s=Object.entries(e);return !!s.length&&s.every(([o,b])=>b?.$ready)}),V=vue.computed(()=>Object.entries(e).some(([s,o])=>o?.$pending)),C=vue.computed(()=>r?Object.entries(e).map(([s,o])=>o.$errors):Object.fromEntries(Object.entries(e).map(([s,o])=>[s,o.$errors]))),A=vue.computed(()=>r?Object.entries(e).map(([s,o])=>o.$silentErrors):Object.fromEntries(Object.entries(e).map(([s,o])=>[s,o.$silentErrors]))),w=vue.computed(()=>{let s=Object.entries(e);return !!s.length&&s.every(([o,b])=>b?.$edited)}),O=vue.computed(()=>Object.entries(e).some(([s,o])=>o?.$anyEdited)),a=vue.computed(()=>r?Object.values(e):e);function S(s){Object.values(e).forEach(o=>{o.$reset(s);});}function E(){Object.values(e).forEach(s=>{s.$touch();});}function D(s=true){return Object.values(e).map(o=>o.$extractDirtyFields(s))}function u(){Object.values(e).forEach(s=>{s.$clearExternalErrors();});}async function T(){try{let s=n.value;return {valid:(await Promise.allSettled(Object.values(e).map(M=>M.$validate()))).every(M=>M.status==="fulfilled"?M.value.valid===!0:!1),data:s}}catch{return {valid:false,data:n.value}}}return vue.reactive({...!r&&{$silentValue:l},$errors:C,$silentErrors:A,$instances:a,$value:n,$dirty:c,$anyDirty:m,$invalid:d,$correct:$,$error:p,$pending:V,$ready:h,$edited:w,$anyEdited:O,$reset:S,$touch:E,$validate:T,$extractDirtyFields:D,$clearExternalErrors:u})}function Gt(e){function t(r){let n=vue.computed(()=>vue.toValue(r));m();let l=vue.ref(d(e.value)),c=vue.reactive({r$:l});function m(){n.value&&!e.value[n.value]&&(e.value[n.value]={});}vue.watch(n,m),vue.watch(e,$=>{l.value=d($);},{deep:true});function d($){if(n.value){let p=$[n.value]??{};return Me(p,true)}else return Me($["~~global"]??{},true)}return {r$:c.r$}}return {useCollectScope:t}}function Lt(e,t){let r=t??Le;return {useScopedRegle:(l,c,m)=>{let{namespace:d,...$}=m??{},p=vue.computed(()=>vue.toValue(d)),h=vue.ref(`${Object.keys(e.value).length+1}-${$e()}`),V=vue.computed(()=>`instance-${h.value}`),{r$:C}=r(l,c,$);w(),Et(A),vue.watch(p,(O,a)=>{A(a),w();}),vue.getCurrentInstance()&&vue.onMounted(()=>{let O=vue.getCurrentInstance();typeof window<"u"&&O?.proxy?.$el?.parentElement&&document.documentElement&&!document.documentElement.contains(O?.proxy?.$el?.parentElement)&&A();});function A(O){let a=O??p.value;a?e.value[a]&&delete e.value[a][V.value]:e.value["~~global"][V.value]&&delete e.value["~~global"][V.value];}function w(){p.value?(e.value[p.value]||(e.value[p.value]={}),e.value[p.value][V.value]=C):(e.value["~~global"]||(e.value["~~global"]={}),e.value["~~global"][V.value]=C);}return {r$:C,dispose:A,register:w}}}}function Be(e){let r=(e?.customStore?()=>(e.customStore&&(e.customStore?.value["~~global"]?e.customStore?.value&&(e.customStore.value={"~~global":{}}):e.customStore.value["~~global"]={}),e.customStore):xt(()=>vue.ref({"~~global":{}})))(),{useScopedRegle:n}=Lt(r,e?.customUseRegle),{useCollectScope:l}=Gt(r);return {useScopedRegle:n,useCollectScope:l}}var {useCollectScope:st,useScopedRegle:it}=Be();
1
+ 'use strict';var vue=require('vue');function te(e,t=true){return e==null?true:e instanceof Date?isNaN(e.getTime()):e.constructor.name=="File"||e.constructor.name=="FileList"?e.size<=0:Array.isArray(e)?t?e.length===0:false:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}var $t=Symbol("regle-rule");function zt(e){if(typeof e.source.flags=="string")return e.source.flags;{let t=[];return e.global&&t.push("g"),e.ignoreCase&&t.push("i"),e.multiline&&t.push("m"),e.sticky&&t.push("y"),e.unicode&&t.push("u"),t.join("")}}function N(e){let t=e,r={}.toString.call(e).slice(8,-1);if(r=="Set"&&(t=new Set([...e].map(n=>N(n)))),r=="Map"&&(t=new Map([...e].map(n=>[N(n[0]),N(n[1])]))),r=="Date"&&(t=new Date(e.getTime())),r=="RegExp"&&(t=RegExp(e.source,zt(e))),r=="Array"||r=="Object"){t=Array.isArray(e)?[]:{};for(let n in e)t[n]=N(e[n]);}return t}function Q(e){return e&&(e instanceof Date||e.constructor.name=="File"||e.constructor.name=="FileList")?false:typeof e=="object"&&e!==null&&!Array.isArray(e)}function ze(e){let t=Object.prototype.toString.call(e);return e==null?new Date(NaN):e instanceof Date||typeof e=="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function Ve(e,t,r){let n,l=(...c)=>new Promise(m=>{clearTimeout(n),n=setTimeout(()=>{n=void 0,Promise.resolve(e.apply(this,[...c])).then(m);},t);});return l.cancel=()=>{clearTimeout(n),n=void 0;},l}var qe=(r=>(r.Inline="__inline",r.Async="__async",r))(qe||{});function St(e,t){return e.some(r=>r[t])}function ht(e,t){return e.reduce((r,n)=>{let l=n[t]||[];return r.concat(l)},[])}function re(e){try{return e.map(t=>vue.toValue(t))}catch{return []}}function bt(e){return e.map(t=>t instanceof Function?vue.computed(t):vue.isRef(t)?t:vue.toRef(()=>t))}function Tt(e){let n=e.toString().replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").match(/^(?:async\s*)?(?:function\b.*?\(|\((.*?)\)|(\w+))\s*=>|\((.*?)\)\s*=>|function.*?\((.*?)\)|\((.*?)\)/);return n?(n[0]||n[1]||n[2]||n[3]||n[4]||"").split(",").map(m=>m.trim()).filter(m=>m.length>0).length:0}function Ke(e,...t){let{validator:r,type:n}=e,l=n==="__async"||r.constructor.name==="AsyncFunction";return {...{validator(d,...$){return e.validator(d,...re($.length?$:t))},message(d){return typeof e.message=="function"?e.message({...d,$params:re(d?.$params?.length?d.$params:t)}):e.message},active(d){return typeof e.active=="function"?e.active({...d,$params:re(d?.$params?.length?d.$params:t)}):e.active??true},tooltip(d){return typeof e.tooltip=="function"?e.tooltip({...d,$params:re(d?.$params?.length?d.$params:t)}):e.tooltip??[]},exec(d){let $=e.validator(d,...re(t)),p;return $ instanceof Promise?$.then(h=>(p=h,typeof p=="object"&&"$valid"in p?p.$valid:typeof p=="boolean"?p:false)):(p=$,typeof p=="object"&&"$valid"in p?p.$valid:typeof p=="boolean"?p:false)}},_validator:e.validator,_message:e.message,_active:e.active,_tooltip:e.tooltip,_type:e.type,_message_patched:false,_tooltip_patched:false,_async:l,_params:bt(t),_brand:$t}}function Je(e){if(typeof e.validator=="function"){let r=Ke(e,...[]),n=e.async??e.validator.constructor.name==="AsyncFunction";if(Tt(e.validator)>1){let l=function(...c){return Ke(e,...c)};return l.validator=r.validator,l.message=r.message,l.active=r.active,l.tooltip=r.tooltip,l.type=r.type,l.exec=r.exec,l._validator=r.validator,l._message=r.message,l._active=r.active,l._tooltip=r.tooltip,l._type=e.type,l._message_pacthed=false,l._tooltip_pacthed=false,l._async=n,l}else return r}throw new Error("Validator must be a function")}function Ye(){let e=vue.shallowRef(new Map),t=vue.shallowRef(new Map),r=vue.shallowRef(new Map),n=vue.shallowRef(new Map),l=vue.shallowRef(new Map),c=vue.shallowRef(new Map);function m(S){let E=t.value.get(S);if(E)return E;{let D=vue.ref({});return t.value.set(S,D),D}}function d(S){let E=r.value.get(S);if(E)return E;{let D=vue.ref([]);return r.value.set(S,D),D}}function $(S,E,D){c.value.set(`${S}-${E}`,D);}function p(S,E){return c.value.get(`${S}-${E}`)}function h(S,E){S&&E!=null&&c.value.delete(`${S}-${E}`);}function V(S,E){n.value.set(S,E);}function C(S){return n.value.get(S)??false}function A(S,E){e.value.set(S,E);}function w(S,E){let D=e.value.get(S);return D?O(E,D)?{valid:true}:{valid:false}:void 0}function O(S,E){let D=Object.keys(E),u=Object.keys(S);return u.length!==D.length||!u.every(s=>D.includes(s))?false:u.every(s=>{let o=S[s],b=E[s];return !b||!o||typeof o=="function"||typeof b=="function"||typeof o=="number"||typeof o=="boolean"?false:o._params?o._params?.every((M,L)=>{if(typeof b=="number"||typeof b=="boolean")return true;{let G=re(b._params),X=re(o._params);return G?.[L]===X?.[L]}}):true})}function a(S){let E=l.value.get(S);if(E)return E;{let D=vue.ref(false),u=vue.ref(true),T=vue.ref({}),s=vue.ref(false);return l.value.set(S,{$pending:D,$valid:u,$metadata:T,$validating:s}),{$pending:D,$valid:u,$metadata:T,$validating:s}}}return vue.getCurrentScope()&&vue.onScopeDispose(()=>{e.value.clear(),t.value.clear(),r.value.clear(),n.value.clear(),l.value.clear(),c.value.clear();}),{addRuleDeclEntry:A,setDirtyEntry:V,checkRuleDeclEntry:w,getDirtyState:C,trySetRuleStatusRef:a,getFieldsEntry:m,getCollectionsEntry:d,getArrayStatus:p,addArrayStatus:$,deleteArrayStatus:h,arrayStatusStorage:c}}function _e(e){return Q(e.value)}function Qe(e,t,r){let n=vue.effectScope(),l;return e instanceof Function?l=n.run(()=>e(t,r??0)):l=e,{scope:n,unwrapped:l}}function tr(e,t){let r=String(e).split("."),n=String(t).split(".");for(let l=0;l<Math.min(r.length,n.length);l++){let c=Number(r[l]),m=Number(n[l]);if(c>m)return 1;if(m>c)return -1;if(!isNaN(c)&&isNaN(m))return 1;if(isNaN(c)&&!isNaN(m))return -1}return 0}var Ne=tr(vue.version,"3.5.0")!==-1;function rr(){return Math.floor(Math.random()*Date.now()).toString()}function $e(){return typeof window>"u"?rr():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(10)}function Et(e){return vue.getCurrentScope()?(vue.onScopeDispose(e),true):false}function xt(e){let t=false,r,n=vue.effectScope(true);return (...l)=>(t||(r=n.run(()=>e(...l)),t=true),r)}function ke(e,t){return _e(e)||Q(t.value)&&!te(t.value)&&!Object.entries(t.value).some(([r,n])=>we(n)||typeof n=="function")}function Dt(e,t){return !!e.value&&Q(e.value)&&"$each"in e.value||Array.isArray(t.value)}function Ge(e){return !!e.value&&Q(e.value)}function we(e){return Q(e)&&"_validator"in e}function Pe(e){return typeof e.value!="function"}function Ct(e){return Q(e)&&"$fields"in e}function It(e){return !!e&&"$rules"in e}function Xe({field:e,silent:t=false}){return Object.entries(e.$rules??{}).map(([r,n])=>t&&!n.$valid||!n.$valid&&e.$error&&!n.$validating?n.$message:null).filter(r=>!!r).reduce((r,n)=>typeof n=="string"?r?.concat([n]):r?.concat(n),[]).concat(e.$error?e.$externalErrors??[]:[]).concat(e.$error?e.$schemaErrors??[]:[])}function Ot({field:e}){return Object.entries(e.$rules??{}).map(([t,r])=>r.$tooltip).filter(t=>!!t).reduce((t,r)=>typeof r=="string"?t?.concat([r]):t?.concat(r),[])}function wt({customMessages:e,rule:t,ruleKey:r,state:n,path:l,storage:c,$debounce:m,modifiers:d}){let $=vue.effectScope(),p={},h,V=vue.ref(false),{$pending:C,$valid:A,$metadata:w,$validating:O}=c.trySetRuleStatusRef(`${l}.${r}`);function a(){$=vue.effectScope(),p=$.run(()=>{let o=vue.ref(false),b=vue.ref(false),M=vue.ref(true),L=vue.ref(false),G=vue.ref(false),X=vue.computed(()=>({$value:n.value,$error:b.value,$dirty:o.value,$pending:L.value,$correct:G.value,$invalid:M.value,$rule:{$valid:A.value,$invalid:!A.value,$pending:C.value},$params:f.value,...w.value})),oe=vue.computed(()=>Pe(t)?typeof t.value.active=="function"?t.value.active(X.value):!!t.value.active:true);function I(x){let F="",B=e?e[r]?.[x]:void 0;if(B&&(typeof B=="function"?F=B(X.value):F=B),Pe(t)){let y=`_${x}_patched`;B&&!t.value[y]||(typeof t.value[x]=="function"?F=t.value[x](X.value):F=t.value[x]??"");}return F}let z=vue.computed(()=>{let x=I("message");return te(x)&&(x="This field is not valid"),x}),me=vue.computed(()=>I("tooltip")),ue=vue.computed(()=>Pe(t)&&t.value.type?t.value.type:r),i=vue.computed(()=>Pe(t)?t.value.validator:t.value),f=vue.computed(()=>typeof t.value=="function"?[]:re(t.value._params??[])),R=vue.computed(()=>`${l}.${ue.value}`);return {$active:oe,$message:z,$type:ue,$validator:i,$params:f,$path:R,$tooltip:me,$fieldCorrect:G,$fieldError:b,$fieldDirty:o,$fieldPending:L,$fieldInvalid:M}}),h=vue.watch(p?.$params,()=>{(d.$autoDirty.value||d.$rewardEarly.value&&p.$fieldError.value)&&u();});}a();function S(){A.value=true,p.$fieldDirty.value&&(C.value=true);}async function E(){let o=false;try{let b=p.$validator.value;if(typeof b!="function")return console.error(`${l}: Incorrect rule format, it needs to be either a function or created with "createRule".`),!1;let M=b(n.value,...p.$params.value),L=n.value;S();let G;if(M instanceof Promise?G=await M:G=M,n.value!==L)return !0;if(typeof G=="boolean")o=G;else {let{$valid:X,...oe}=G;o=X,w.value=oe;}}catch{o=false;}finally{C.value=false;}return o}let D=Ve(E,m??200);async function u(){try{O.value=!0;let o=!1;if(we(t.value)&&t.value._async)o=await D();else {let b=p.$validator.value,M=b(n.value,...p.$params.value);if(M instanceof Promise)console.warn('You used a async validator function on a non-async rule, please use "async await" or the "withAsync" helper');else if(M!=null)if(typeof M=="boolean")o=M;else {let{$valid:L,...G}=M;o=L,w.value=G;}}return A.value=o,o}catch{return false}finally{O.value=false;}}function T(){A.value=true,w.value={},C.value=false,O.value=false,a();}function s(){h(),$.stop(),$=vue.effectScope();}return vue.reactive({...p,$pending:C,$valid:A,$metadata:w,$haveAsync:V,$validating:O,$parse:u,$unwatch:s,$watch:a,$reset:T})}function be({state:e,rulesDef:t,customMessages:r,path:n,fieldName:l,storage:c,options:m,externalErrors:d,schemaErrors:$,schemaMode:p,onUnwatch:h,$isArray:V,initialState:C,shortcuts:A,onValidate:w}){let O=vue.effectScope(),a,S=[],E,D,u,T,s,o=()=>{};function b(){let v=t.value,j=c.checkRuleDeclEntry(n,v);z.value=Object.fromEntries(Object.entries(v).filter(([g])=>g.startsWith("$"))),G(),I.value=Object.fromEntries(Object.entries(t.value).filter(([g])=>!g.startsWith("$")).map(([g,ee])=>{if(ee){let se=vue.toRef(()=>ee);return [g,wt({modifiers:{$autoDirty:a.$autoDirty,$rewardEarly:a.$rewardEarly},customMessages:r,rule:se,ruleKey:g,state:e,path:n,storage:c,$debounce:z.value.$debounce})]}return []}).filter(g=>!!g.length)),a.processShortcuts(),M(),j?.valid!=null&&(a.$dirty.value=c.getDirtyState(n),(a.$dirty.value&&a.$autoDirty.value||a.$rewardEarly.value&&a.$error.value)&&o()),c.addRuleDeclEntry(n,v);}function M(){o=a.$debounce.value?Ve(oe,a.$debounce.value??a.$haveAnyAsyncRule?100:0):oe;}function L(){I.value&&Object.entries(I.value).forEach(([v,j])=>{j.$unwatch();}),u(),s?.(),a.$dirty.value&&c.setDirtyEntry(n,a.$dirty.value),E?.(),D?.(),O.stop(),O=vue.effectScope(),S.forEach(v=>v.stop()),S=[],h?.(),T?.();}function G(){I.value&&Object.entries(I.value).forEach(([v,j])=>{j.$watch();}),a=O.run(()=>{let v=vue.ref(false),j=vue.ref(false),g=vue.computed(()=>v.value),ee=vue.computed(()=>z.value.$debounce),se=vue.computed(()=>z.value.$lazy!=null?z.value.$lazy:vue.unref(m.lazy)!=null?vue.unref(m.lazy):false),le=vue.computed(()=>z.value.$rewardEarly!=null?z.value.$rewardEarly:vue.unref(m.rewardEarly)!=null?vue.unref(m.rewardEarly):false),U=vue.computed(()=>z.value.$clearExternalErrorsOnChange!=null?z.value.$clearExternalErrorsOnChange:vue.unref(m.clearExternalErrorsOnChange)!=null?vue.unref(m.clearExternalErrorsOnChange):true),P=vue.computed(()=>z.value.$autoDirty!=null?z.value.$autoDirty:vue.unref(m.autoDirty)!=null?vue.unref(m.autoDirty):!le.value),H=vue.computed(()=>Object.entries(I.value).some(([ie,Y])=>Y.$validating)),Ie=vue.computed({get:()=>e.value,set(ie){E(),e.value=ie,X();}}),Fe=vue.computed(()=>ye.value&&!Oe.value&&v.value),ut=vue.computed(()=>Xe({field:{$rules:I.value,$error:Fe.value,$externalErrors:d?.value,$schemaErrors:$?.value}})),ct=vue.computed(()=>Xe({field:{$rules:I.value,$error:Fe.value,$externalErrors:d?.value,$schemaErrors:$?.value},silent:true})),He=vue.computed(()=>v.value?C.value instanceof Date&&e.value instanceof Date?ze(C.value).getDate()!==ze(e.value).getDate():C.value==null?!!e.value:Array.isArray(e.value)&&Array.isArray(C.value)?e.value.length!==C.value.length:C.value!==e.value:false),ft=vue.computed(()=>He.value),Rt=vue.computed(()=>Ot({field:{$rules:I.value}})),dt=vue.computed(()=>P.value?g.value&&!(ye.value||Oe.value):!(ye.value||Oe.value)),Oe=vue.computed(()=>j.value||!le.value?Object.entries(I.value).some(([ie,Y])=>Y.$pending):false),ye=vue.computed(()=>d?.value?.length||$?.value?.length?true:je.value?false:!le.value||le.value&&j.value?Object.entries(I.value).some(([ie,Y])=>!Y.$valid):false),pt=vue.computed(()=>l),je=vue.computed(()=>!!(te(I.value)&&!p)),mt=vue.computed(()=>d?.value?.length||je.value?false:v.value&&!te(e.value)&&!H.value?p?!$?.value?.length:Object.values(I.value).some(Y=>Y.$active)?Object.values(I.value).filter(Y=>Y.$active).every(Y=>Y.$valid):false:false),Bt=vue.computed(()=>Object.entries(I.value).some(([ie,Y])=>Y.$haveAsync));function Ht(){A?.fields&&Object.entries(A.fields).forEach(([ie,Y])=>{let gt=vue.effectScope();yt[ie]=gt.run(()=>{let vt=vue.ref();return vue.watchEffect(()=>{vt.value=Y(vue.reactive({$dirty:v,$externalErrors:d?.value??[],$value:e,$silentValue:Ie,$rules:I,$error:Fe,$pending:Oe,$invalid:ye,$correct:mt,$errors:ut,$ready:dt,$silentErrors:ct,$anyDirty:g,$tooltips:Rt,$name:pt,$inactive:je,$edited:He,$anyEdited:ft}));}),vt}),S.push(gt);});}let yt={};return vue.watch(ye,ie=>{ie||(j.value=false);}),{$error:Fe,$pending:Oe,$invalid:ye,$correct:mt,$debounce:ee,$lazy:se,$errors:ut,$ready:dt,$silentErrors:ct,$rewardEarly:le,$autoDirty:P,$clearExternalErrorsOnChange:U,$anyDirty:g,$edited:He,$anyEdited:ft,$name:pt,$haveAnyAsyncRule:Bt,$shortcuts:yt,$validating:H,$tooltips:Rt,$dirty:v,triggerPunishment:j,processShortcuts:Ht,$silentValue:Ie,$inactive:je}}),X(),u=vue.watch(a.$dirty,v=>{c.setDirtyEntry(n,v),Object.values(I.value).forEach(j=>{j.$fieldDirty=v;});}),s=vue.watch([a.$error,a.$correct,a.$invalid,a.$pending],()=>{Object.values(I.value).forEach(v=>{v.$fieldError=a.$error.value,v.$fieldInvalid=a.$invalid.value,v.$fieldPending=a.$pending.value,v.$fieldCorrect=a.$correct.value;});}),D=vue.watch(a.$invalid,v=>{a.$rewardEarly.value&&!v&&(a.triggerPunishment.value=false);}),T=vue.watch(a.$haveAnyAsyncRule,M);}function X(){E=vue.watch(e,()=>{a.$autoDirty.value&&(a.$dirty.value||(a.$dirty.value=true)),t.value instanceof Function&&b(),(a.$autoDirty.value||a.$rewardEarly.value&&a.$error.value)&&o(),a.$rewardEarly.value!==true&&a.$clearExternalErrorsOnChange.value&&R();},{deep:V?true:Ne?1:true,flush:"post"});}function oe(){Object.values(I.value).forEach(v=>{v.$parse();});}let I=vue.ref({}),z=vue.ref({});b();function me(v,j){if(R(),a.$dirty.value=false,a.triggerPunishment.value=false,c.setDirtyEntry(n,false),!j)if(v?.toInitialState)L(),e.value=N(C);else if(v?.toState){L();let g;typeof v?.toState=="function"?g=v?.toState():g=v?.toState,C.value=N(g),e.value=N(g);}else C.value=Q(e.value)?N(e.value):Array.isArray(e.value)?[...e.value]:e.value;j||Object.entries(I.value).forEach(([g,ee])=>{ee.$reset();}),!a.$lazy.value&&a.$autoDirty.value&&Object.values(I.value).forEach(g=>g.$parse()),j||b();}function ue(v=true,j=false){a.$dirty.value||(a.$dirty.value=true),j&&v?(a.$autoDirty.value||a.$rewardEarly.value&&a.$error.value)&&o():v&&o();}async function i(){try{if(p)return w?(ue(!1),w()):{valid:!1,data:e.value};let v=e.value;if(a.triggerPunishment.value=!0,!a.$dirty.value)a.$dirty.value=!0;else if(a.$autoDirty.value&&a.$dirty.value&&!a.$pending.value)return {valid:!a.$error.value,data:v};return p?{valid:!$?.value?.length,data:v}:te(I.value)?{valid:!0,data:v}:{valid:(await Promise.allSettled(Object.entries(I.value).map(([ee,se])=>se.$parse()))).every(ee=>ee.status==="fulfilled"?ee.value===!0:!1),data:v}}catch{return {valid:false,data:e.value}}}function f(v=true){return a.$dirty.value?e.value:v?{_null:true}:null}function R(){d?.value?.length&&(d.value=[]);}!a.$lazy.value&&!a.$dirty.value&&a.$autoDirty.value&&o();let{$shortcuts:x,$validating:F,$autoDirty:B,$rewardEarly:y,$clearExternalErrorsOnChange:_,$haveAnyAsyncRule:q,$debounce:Z,$lazy:J,triggerPunishment:fe,...ce}=a;return vue.reactive({...ce,$externalErrors:d,$value:e,$rules:I,...x,$reset:me,$touch:ue,$validate:i,$unwatch:L,$watch:G,$extractDirtyFields:f,$clearExternalErrors:R})}function tt({$id:e,path:t,index:r,options:n,storage:l,stateValue:c,customMessages:m,rules:d,externalErrors:$,schemaErrors:p,initialState:h,shortcuts:V,fieldName:C,schemaMode:A}){let w=d.$key?d.$key:$e(),O=`${t}.${String(w)}`;typeof c.value=="object"&&c.value!=null&&(c.value.$id?O=`${t}.${c.value.$id}`:Object.defineProperties(c.value,{$id:{value:w,enumerable:false,configurable:false,writable:false}}));let a=vue.toRef($?.value??[],r),S=vue.computed(()=>p?.value?.[r]),E=Te({state:c,rulesDef:vue.toRef(()=>d),customMessages:m,path:O,storage:l,options:n,externalErrors:a,schemaErrors:S,initialState:h,shortcuts:V,fieldName:C,schemaMode:A});if(E){let D=c.value?.$id;E.$id=D??String(w),l.addArrayStatus(e,E.$id,E);}return E}function Ft({state:e,rulesDef:t,customMessages:r,path:n,storage:l,options:c,externalErrors:m,schemaErrors:d,schemaMode:$,initialState:p,shortcuts:h,fieldName:V}){let C=vue.effectScope(),A,w=vue.effectScope(),O,a=[];if(!Array.isArray(e.value)&&!t.value.$each)return;let S=vue.ref(),E=vue.ref(e.value),D,u=vue.ref({}),T=l.getCollectionsEntry(n);O=w.run(()=>({isPrimitiveArray:vue.computed(()=>Array.isArray(e.value)&&e.value.length?e.value.every(f=>typeof f!="object"):t.value.$each&&!(t.value.$each instanceof Function)?Object.values(t.value.$each).every(f=>we(f)||typeof f=="function"):false)})),s(),M();function s(){typeof e.value=="object"&&(e.value!=null&&!e.value?.$id&&e.value!==null?(S.value=$e(),Object.defineProperties(e.value,{$id:{value:S.value,enumerable:false,configurable:false,writable:false}})):e.value?.$id&&(S.value=e.value.$id)),E.value=u.value.$value,Array.isArray(e.value)&&!O.isPrimitiveArray.value?T.value=e.value.filter(i=>typeof i=="object").map((i,f)=>{let{scope:R,unwrapped:x}=Qe(t.value.$each,vue.toRef(()=>i),f);R&&a.push(R);let F=vue.toRef(p.value??[],f),B=vue.toRef(m?.value??{},"$each"),y=vue.computed(()=>d?.value?.$each),_=tt({$id:S.value,path:n,customMessages:r,rules:x??{},stateValue:vue.toRef(()=>i),index:f,options:c,storage:l,externalErrors:B,schemaErrors:y,initialState:F,shortcuts:h,fieldName:V,schemaMode:$});return _||null}).filter(i=>!!i):T.value=[],u.value=be({state:e,rulesDef:t,customMessages:r,path:n,storage:l,options:c,externalErrors:vue.toRef(m?.value??{},"$self"),schemaErrors:vue.computed(()=>d?.value?.$self),$isArray:true,initialState:p,shortcuts:h,fieldName:V,schemaMode:$});}function o(){if(Array.isArray(e.value)&&!O.isPrimitiveArray.value){let i=N(T.value);T.value=e.value.filter(f=>typeof f=="object").map((f,R)=>{let x=vue.toRef(()=>f);if(f.$id&&T.value.find(F=>F.$id===f.$id)){let F=l.getArrayStatus(S.value,f.$id);return F?(F.$value=x,F):null}else {let{scope:F,unwrapped:B}=Qe(t.value.$each,x,R);F&&a.push(F);let y=vue.toRef(m?.value??{},"$each"),_=vue.computed(()=>d?.value?.$each??[]),q=tt({$id:S.value,path:n,customMessages:r,rules:B??{},stateValue:x,index:R,options:c,storage:l,externalErrors:y,schemaErrors:_,initialState:vue.toRef(p.value??[],R),shortcuts:h,fieldName:V,schemaMode:$});return q||null}}).filter(f=>!!f),i.filter(f=>!e.value?.find(R=>f.$id===R.$id)).forEach((f,R)=>{l.deleteArrayStatus(S.value,R.toString());});}else T.value=[];}function b(){D=vue.watch(e,()=>{e.value!=null&&!Object.hasOwn(e.value,"$id")?s():o();},{deep:Ne?1:true,flush:"pre"});}function M(){b(),C=vue.effectScope(),A=C.run(()=>{let i=vue.computed({get:()=>e.value,set(g){D(),e.value=g,b();}}),f=vue.computed(()=>u.value.$dirty&&(!T.value.length||T.value.every(g=>g.$dirty))),R=vue.computed(()=>u.value.$anyDirty||T.value.some(g=>g.$anyDirty)),x=vue.computed(()=>u.value.$invalid||T.value.some(g=>g.$invalid)),F=vue.computed(()=>(te(u.value.$rules)?true:u.value.$correct)&&(!T.value.length||T.value.every(g=>g.$correct||g.$anyDirty&&!g.$invalid))),B=vue.computed(()=>u.value.$error||T.value.some(g=>g.$error)),y=vue.computed(()=>!(x.value||_.value)),_=vue.computed(()=>u.value.$pending||T.value.some(g=>g.$pending)),q=vue.computed(()=>!!T.value.length&&T.value.every(g=>g.$edited)),Z=vue.computed(()=>u.value.$anyEdited||T.value.some(g=>g.$anyEdited)),J=vue.computed(()=>({$self:u.value.$errors,$each:T.value.map(g=>g.$errors)})),fe=vue.computed(()=>({$self:u.value.$silentErrors,$each:T.value.map(g=>g.$silentErrors)})),ce=vue.computed(()=>V);function v(){h?.collections&&Object.entries(h?.collections).forEach(([g,ee])=>{let se=vue.effectScope();j[g]=se.run(()=>{let le=vue.ref();return vue.watchEffect(()=>{le.value=ee(vue.reactive({$dirty:f,$error:B,$silentValue:i,$pending:_,$invalid:x,$correct:F,$errors:J,$ready:y,$silentErrors:fe,$anyDirty:R,$name:ce,$each:T,$self:u,$value:e,$edited:q,$anyEdited:Z}));}),le}),a.push(se);});}let j={};return v(),{$dirty:f,$anyDirty:R,$invalid:x,$correct:F,$error:B,$pending:_,$errors:J,$silentErrors:fe,$ready:y,$name:ce,$shortcuts:j,$silentValue:i,$edited:q,$anyEdited:Z}}),O.isPrimitiveArray.value&&t.value.$each&&console.warn(`${n} is a Array of primitives. Tracking can be lost when reassigning the Array. We advise to use an Array of objects instead`);}function L(){D&&D(),u.value&&u.value.$unwatch(),T.value&&T.value.forEach(i=>{"$dirty"in i&&i.$unwatch();}),C.stop(),C=vue.effectScope(),w.stop(),w=vue.effectScope(true),a.forEach(i=>i.stop()),a=[];}function G(i=true,f=false){u.value.$touch(i,f),T.value.forEach(R=>{R.$touch(i,f);});}function X(i,f){if(L(),!f)if(i?.toInitialState)e.value=N(p.value);else if(i?.toState){let R;typeof i?.toState=="function"?R=i?.toState():R=i?.toState,p.value=N(R),e.value=N(R);}else p.value=N(e.value);u.value.$reset(),T.value.forEach(R=>{R.$reset(i,true);}),f||s();}async function oe(){let i=e.value;try{return {valid:(await Promise.allSettled([u.value.$validate(),...T.value.map(x=>x.$validate())])).every(x=>x.status==="fulfilled"?x.value.valid===!0:!1),data:i}}catch{return {valid:false,data:i}}}function I(){u.value.$clearExternalErrors(),T.value.forEach(i=>{i.$clearExternalErrors();});}function z(i=true){let f=T.value.map(R=>{if(Ct(R))return R.$extractDirtyFields(i)});return i&&f.every(R=>te(R))&&(f=[]),f}let{$shortcuts:me,...ue}=A;return vue.reactive({$self:u,...ue,...me,$each:T,$value:e,$validate:oe,$unwatch:L,$watch:M,$touch:G,$reset:X,$extractDirtyFields:z,$clearExternalErrors:I})}function We({rulesDef:e,state:t,path:r="",rootRules:n,externalErrors:l,schemaErrors:c,rootSchemaErrors:m,validationGroups:d,initialState:$,fieldName:p,...h}){let V=vue.effectScope(),C,A=[],w=null,O=null,a=null,S=null;async function D(i=true){let f=Object.entries(e.value),R=Object.fromEntries(f.filter(([y,_])=>!!_).map(([y,_])=>{if(_){let q=vue.toRef(t.value??{},y),Z=vue.toRef(()=>_),J=vue.toRef(l?.value??{},y),fe=vue.computed(()=>c?.value?.[y]),ce=vue.toRef($?.value??{},y);return [y,Te({state:q,rulesDef:Z,path:r?`${r}.${y}`:y,externalErrors:J,schemaErrors:fe,initialState:ce,fieldName:y,...h})]}return []})),x=Object.fromEntries(Object.entries(vue.unref(l)??{}).filter(([y,_])=>!(y in e.value)&&!!_).map(([y])=>{let _=vue.toRef(t.value??{},y),q=vue.toRef(l?.value??{},y),Z=vue.computed(()=>c?.value?.[y]),J=vue.toRef($?.value??{},y);return [y,Te({state:_,rulesDef:vue.computed(()=>({})),path:r?`${r}.${y}`:y,externalErrors:q,schemaErrors:Z,initialState:J,fieldName:y,...h})]})),F=Object.fromEntries(Object.entries(vue.unref(c)??{}).map(([y])=>{let _=vue.toRef(t.value??{},y),q=vue.toRef(l?.value??{},y),Z=vue.computed(()=>c?.value?.[y]),J=vue.toRef($?.value??{},y);return [y,Te({state:_,rulesDef:vue.computed(()=>({})),path:r?`${r}.${y}`:y,externalErrors:q,schemaErrors:Z,initialState:J,fieldName:y,...h})]})),B=Object.fromEntries(Object.entries(t.value??{}).filter(([y])=>!(y in e.value)&&!(y in(x??{}))&&!(y in(F??{}))).map(([y])=>{let _=vue.toRef(t.value??{},y),q=vue.toRef(l?.value??{},y),Z=vue.computed(()=>c?.value?.[y]),J=vue.toRef($?.value??{},y);return [y,Te({state:_,rulesDef:vue.computed(()=>({})),path:r?`${r}.${y}`:y,externalErrors:q,schemaErrors:Z,initialState:J,fieldName:y,...h})]}));u.value={...R,...x,...F,...B},i&&o();}let u=h.storage.getFieldsEntry(r);D();function T(){l&&(a=vue.watch(l,()=>{b(),D();},{deep:true}));}function s(){S=vue.watch(t,()=>{b(),D(),G(true,true);},{flush:"sync"});}function o(){n&&(w?.(),w=vue.watch(n,()=>{b(),D();},{deep:true,flush:"post"}),T()),m&&(O?.(),O=vue.watch(m,()=>{b(),D();},{deep:true,flush:"post"})),s(),C=V.run(()=>{let i=vue.computed({get:()=>t.value,set(U){b(),t.value=U,D();}}),f=vue.computed(()=>!!Object.entries(u.value).length&&Object.entries(u.value).every(([U,P])=>P?.$dirty)),R=vue.computed(()=>Object.entries(u.value).some(([U,P])=>P?.$anyDirty)),x=vue.computed(()=>!!Object.entries(u.value).length&&Object.entries(u.value).some(([U,P])=>P?.$invalid)),F=vue.computed(()=>{let U=Object.entries(u.value).filter(([P,H])=>It(H)?!H.$inactive:true);return U.length?U.every(([P,H])=>H?.$correct||H.$anyDirty&&!H.$invalid):false}),B=vue.computed(()=>!!Object.entries(u.value).length&&Object.entries(u.value).some(([U,P])=>P?.$error)),y=vue.computed(()=>vue.unref(h.options.rewardEarly)!=null?vue.unref(h.options.rewardEarly):false),_=vue.computed(()=>vue.unref(h.options.autoDirty)!=null?vue.unref(h.options.autoDirty):!y.value),q=vue.computed(()=>_.value?R.value&&!(x.value||J.value):!(x.value||J.value)),Z=vue.ref(false),J=vue.computed(()=>Z.value||Object.entries(u.value).some(([U,P])=>P?.$pending)),fe=vue.computed(()=>Object.fromEntries(Object.entries(u.value).map(([U,P])=>[U,P?.$errors]))),ce=vue.computed(()=>Object.fromEntries(Object.entries(u.value).map(([U,P])=>[U,P?.$silentErrors]))),v=vue.computed(()=>!!Object.entries(u.value).length&&Object.entries(u.value).every(([U,P])=>P?.$edited)),j=vue.computed(()=>Object.entries(u.value).some(([U,P])=>P?.$anyEdited)),g=vue.computed(()=>p);function ee(){h.shortcuts?.nested&&Object.entries(h.shortcuts.nested).forEach(([U,P])=>{let H=vue.effectScope();le[U]=H.run(()=>{let Ie=vue.ref();return vue.watchEffect(()=>{Ie.value=P(vue.reactive({$dirty:f,$value:t,$silentValue:i,$error:B,$pending:J,$invalid:x,$correct:F,$ready:q,$anyDirty:R,$name:g,$silentErrors:ce,$errors:fe,$fields:u,$edited:v,$anyEdited:j}));}),Ie}),A.push(H);});}let se=vue.computed({get:()=>d?Object.fromEntries(Object.entries(d?.(u.value)??{}).map(([U,P])=>P.length?[U,{...Object.fromEntries(["$invalid","$error","$pending","$dirty","$correct"].map(H=>[H,St(P,H)])),...Object.fromEntries(["$errors","$silentErrors"].map(H=>[H,ht(P,H)]))}]:[])):{},set(){}}),le={};return ee(),{$dirty:f,$anyDirty:R,$invalid:x,$correct:F,$error:B,$pending:J,$errors:fe,$silentErrors:ce,$ready:q,$name:g,$shortcuts:le,$groups:se,$silentValue:i,$edited:v,$anyEdited:j,$localPending:Z}});}function b(){w?.(),a?.(),S?.(),O?.(),A=[],C={},u.value&&Object.entries(u.value).forEach(([i,f])=>{f.$unwatch();});}function M(){Object.entries(u.value).forEach(([i,f])=>{f.$clearExternalErrors();});}function L(i,f){if(a?.(),b(),!f)if(i?.toInitialState)t.value=N({...$.value??{}});else if(i?.toState){let R;typeof i?.toState=="function"?R=i?.toState():R=i?.toState,$.value=N(R),t.value=N(R);}else $.value=N(t.value);Object.values(u.value).forEach(R=>{R.$reset(i,true);}),T(),f||D();}function G(i=true,f=false){Object.values(u.value).forEach(R=>{R.$touch(i,f);});}function X(i){return i.filter(([f,R])=>Q(R)?!(R&&typeof R=="object"&&"_null"in R)&&!te(R):Array.isArray(R)?R.length:true)}function oe(i=true){let f=Object.entries(u.value).map(([R,x])=>[R,x.$extractDirtyFields(i)]);return i&&(f=X(f)),Object.fromEntries(f)}async function I(){try{if(h.schemaMode)return h.onValidate?(G(!1),C.$localPending.value=!0,h.onValidate()):{valid:!1,data:t.value};{let i=t.value;return {valid:(await Promise.allSettled(Object.values(u.value).map(x=>x.$validate()))).every(x=>x.status==="fulfilled"?x.value.valid===!0:!1),data:i}}}catch{return {valid:false,data:t.value}}finally{C.$localPending.value=false;}}let{$shortcuts:z,$localPending:me,...ue}=C;return vue.reactive({...ue,...z,$fields:u,$value:t,$reset:L,$touch:G,$validate:I,$unwatch:b,$watch:o,$clearExternalErrors:M,$extractDirtyFields:oe})}function Te({rulesDef:e,...t}){if(Dt(e,t.state))return Ft({rulesDef:e,...t});if(ke(t.state,e)){if(_e(t.state))return We({rulesDef:e,...t});{let n=vue.effectScope().run(()=>{let m=vue.toRef(t.state.value?t.state:vue.ref({}));return vue.watch(()=>t.state.value,d=>{m.value=d;},{deep:true}),vue.watch(m,d=>{t.state.value=d;},{deep:true}),{fakeState:m}}),{state:l,...c}=t;return We({rulesDef:e,...c,state:n.fakeState})}}else if(Ge(e))return be({rulesDef:e,...t})}function Ce({initialState:e,options:t,scopeRules:r,state:n,customRules:l,shortcuts:c,schemaErrors:m,schemaMode:d=false,onValidate:$}){let p=Ye(),h=vue.ref();return ke(n,r)?h.value=We({rootRules:r,rulesDef:r,state:n,customMessages:l?.(),storage:p,options:t,externalErrors:t.externalErrors,validationGroups:t.validationGroups,initialState:e,shortcuts:c,fieldName:"root",path:"",schemaErrors:m,rootSchemaErrors:m,schemaMode:d,onValidate:$}):Ge(r)&&(h.value=be({rulesDef:r,state:n,customMessages:l?.(),storage:p,options:t,externalErrors:t.externalErrors,initialState:e,shortcuts:c,fieldName:"root",path:"",schemaMode:d,schemaErrors:m,onValidate:$})),vue.getCurrentScope()&&vue.onScopeDispose(()=>{h.value?.$unwatch();}),vue.reactive({regle:h})}function at(e,t,r){let n={autoDirty:t?.autoDirty,lazy:t?.lazy,rewardEarly:t?.rewardEarly,clearExternalErrorsOnChange:t?.clearExternalErrorsOnChange};function l(c,m,d){let $=vue.isRef(m)?m:vue.computed(typeof m=="function"?m:()=>m),p={...n,...d},h=vue.isRef(c)?c:vue.ref(c),V=vue.ref(Q(h.value)?{...N(h.value)}:N(h.value));return {r$:Ce({scopeRules:$,state:h,options:p,initialState:V,customRules:e,shortcuts:r}).regle}}return l}var Le=at();function lt(){function e(t,r){return r}return e}var ot=lt();function Nt({rules:e,modifiers:t,shortcuts:r}){let n=at(e,t,r),l=lt();return {useRegle:n,inferRules:l}}function Me(e,t){let r=t??false,n=vue.computed({get:()=>r?Object.values(e).map(s=>s.$value):Object.fromEntries(Object.entries(e).map(([s,o])=>[s,o.$value])),set:s=>{r||typeof s=="object"&&Object.entries(s).forEach(([o,b])=>e[o].$value=b);}}),l=vue.computed({get:()=>Object.fromEntries(Object.entries(e).map(([s,o])=>[s,o.$silentValue])),set:s=>{typeof s=="object"&&Object.entries(s).forEach(([o,b])=>e[o].$silentValue=b);}}),c=vue.computed(()=>{let s=Object.entries(e);return !!s.length&&s.every(([o,b])=>b?.$dirty)}),m=vue.computed(()=>Object.entries(e).some(([s,o])=>o?.$anyDirty)),d=vue.computed(()=>Object.entries(e).some(([s,o])=>o?.$invalid)),$=vue.computed(()=>{let s=Object.entries(e);return !!s.length&&s.every(([o,b])=>b?.$correct||b.$anyDirty&&!b.$invalid)}),p=vue.computed(()=>Object.entries(e).some(([s,o])=>o?.$error)),h=vue.computed(()=>{let s=Object.entries(e);return !!s.length&&s.every(([o,b])=>b?.$ready)}),V=vue.computed(()=>Object.entries(e).some(([s,o])=>o?.$pending)),C=vue.computed(()=>r?Object.entries(e).map(([s,o])=>o.$errors):Object.fromEntries(Object.entries(e).map(([s,o])=>[s,o.$errors]))),A=vue.computed(()=>r?Object.entries(e).map(([s,o])=>o.$silentErrors):Object.fromEntries(Object.entries(e).map(([s,o])=>[s,o.$silentErrors]))),w=vue.computed(()=>{let s=Object.entries(e);return !!s.length&&s.every(([o,b])=>b?.$edited)}),O=vue.computed(()=>Object.entries(e).some(([s,o])=>o?.$anyEdited)),a=vue.computed(()=>r?Object.values(e):e);function S(s){Object.values(e).forEach(o=>{o.$reset(s);});}function E(){Object.values(e).forEach(s=>{s.$touch();});}function D(s=true){return Object.values(e).map(o=>o.$extractDirtyFields(s))}function u(){Object.values(e).forEach(s=>{s.$clearExternalErrors();});}async function T(){try{let s=n.value;return {valid:(await Promise.allSettled(Object.values(e).map(M=>M.$validate()))).every(M=>M.status==="fulfilled"?M.value.valid===!0:!1),data:s}}catch{return {valid:false,data:n.value}}}return vue.reactive({...!r&&{$silentValue:l},$errors:C,$silentErrors:A,$instances:a,$value:n,$dirty:c,$anyDirty:m,$invalid:d,$correct:$,$error:p,$pending:V,$ready:h,$edited:w,$anyEdited:O,$reset:S,$touch:E,$validate:T,$extractDirtyFields:D,$clearExternalErrors:u})}function Gt(e){function t(r){let n=vue.computed(()=>vue.toValue(r));m();let l=vue.ref(d(e.value)),c=vue.reactive({r$:l});function m(){n.value&&!e.value[n.value]&&(e.value[n.value]={});}vue.watch(n,m),vue.watch(e,$=>{l.value=d($);},{deep:true});function d($){if(n.value){let p=$[n.value]??{};return Me(p,true)}else return Me($["~~global"]??{},true)}return {r$:c.r$}}return {useCollectScope:t}}function Lt(e,t){let r=t??Le;return {useScopedRegle:(l,c,m)=>{let{namespace:d,...$}=m??{},p=vue.computed(()=>vue.toValue(d)),h=vue.ref(`${Object.keys(e.value).length+1}-${$e()}`),V=vue.computed(()=>`instance-${h.value}`),{r$:C}=r(l,c,$);w(),Et(A),vue.watch(p,(O,a)=>{A(a),w();}),vue.getCurrentInstance()&&vue.onMounted(()=>{let O=vue.getCurrentInstance();typeof window<"u"&&O?.proxy?.$el?.parentElement&&document.documentElement&&!document.documentElement.contains(O?.proxy?.$el?.parentElement)&&A();});function A(O){let a=O??p.value;a?e.value[a]&&delete e.value[a][V.value]:e.value["~~global"][V.value]&&delete e.value["~~global"][V.value];}function w(){p.value?(e.value[p.value]||(e.value[p.value]={}),e.value[p.value][V.value]=C):(e.value["~~global"]||(e.value["~~global"]={}),e.value["~~global"][V.value]=C);}return {r$:C,dispose:A,register:w}}}}function Be(e){let r=(e?.customStore?()=>(e.customStore&&(e.customStore?.value["~~global"]?e.customStore?.value&&(e.customStore.value={"~~global":{}}):e.customStore.value["~~global"]={}),e.customStore):xt(()=>vue.ref({"~~global":{}})))(),{useScopedRegle:n}=Lt(r,e?.customUseRegle),{useCollectScope:l}=Gt(r);return {useScopedRegle:n,useCollectScope:l}}var {useCollectScope:st,useScopedRegle:it}=Be();
2
2
  exports.InternalRuleType=qe;exports.createRule=Je;exports.createScopedUseRegle=Be;exports.defineRegleConfig=Nt;exports.inferRules=ot;exports.mergeRegles=Me;exports.unwrapRuleParameters=re;exports.useCollectScope=st;exports.useRegle=Le;exports.useRootStorage=Ce;exports.useScopedRegle=it;
@@ -1,2 +1,2 @@
1
- import {toValue,version,ref,getCurrentScope,onScopeDispose,reactive,computed,shallowRef,effectScope,watch,getCurrentInstance,onMounted,isRef,toRef,unref,watchEffect}from'vue';function te(e,t=true){return e==null?true:e instanceof Date?isNaN(e.getTime()):e.constructor.name=="File"||e.constructor.name=="FileList"?e.size<=0:Array.isArray(e)?t?e.length===0:false:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}var $t=Symbol("regle-rule");function zt(e){if(typeof e.source.flags=="string")return e.source.flags;{let t=[];return e.global&&t.push("g"),e.ignoreCase&&t.push("i"),e.multiline&&t.push("m"),e.sticky&&t.push("y"),e.unicode&&t.push("u"),t.join("")}}function N(e){let t=e,r={}.toString.call(e).slice(8,-1);if(r=="Set"&&(t=new Set([...e].map(n=>N(n)))),r=="Map"&&(t=new Map([...e].map(n=>[N(n[0]),N(n[1])]))),r=="Date"&&(t=new Date(e.getTime())),r=="RegExp"&&(t=RegExp(e.source,zt(e))),r=="Array"||r=="Object"){t=Array.isArray(e)?[]:{};for(let n in e)t[n]=N(e[n]);}return t}function Q(e){return e&&(e instanceof Date||e.constructor.name=="File"||e.constructor.name=="FileList")?false:typeof e=="object"&&e!==null&&!Array.isArray(e)}function ze(e){let t=Object.prototype.toString.call(e);return e==null?new Date(NaN):e instanceof Date||typeof e=="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function Ve(e,t,r){let n,l=(...c)=>new Promise(m=>{clearTimeout(n),n=setTimeout(()=>{n=undefined,Promise.resolve(e.apply(this,[...c])).then(m);},t);});return l.cancel=()=>{clearTimeout(n),n=undefined;},l}var qe=(r=>(r.Inline="__inline",r.Async="__async",r))(qe||{});function St(e,t){return e.some(r=>r[t])}function ht(e,t){return e.reduce((r,n)=>{let l=n[t]||[];return r.concat(l)},[])}function re(e){try{return e.map(t=>toValue(t))}catch{return []}}function bt(e){return e.map(t=>t instanceof Function?computed(t):isRef(t)?t:toRef(()=>t))}function Tt(e){let n=e.toString().replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").match(/^(?:async\s*)?(?:function\b.*?\(|\((.*?)\)|(\w+))\s*=>|\((.*?)\)\s*=>|function.*?\((.*?)\)|\((.*?)\)/);return n?(n[0]||n[1]||n[2]||n[3]||n[4]||"").split(",").map(m=>m.trim()).filter(m=>m.length>0).length:0}function Ke(e,...t){let{validator:r,type:n}=e,l=n==="__async"||r.constructor.name==="AsyncFunction";return {...{validator(d,...$){return e.validator(d,...re($.length?$:t))},message(d){return typeof e.message=="function"?e.message({...d,$params:re(d?.$params?.length?d.$params:t)}):e.message},active(d){return typeof e.active=="function"?e.active({...d,$params:re(d?.$params?.length?d.$params:t)}):e.active??true},tooltip(d){return typeof e.tooltip=="function"?e.tooltip({...d,$params:re(d?.$params?.length?d.$params:t)}):e.tooltip??[]},exec(d){let $=e.validator(d,...re(t)),p;return $ instanceof Promise?$.then(h=>(p=h,typeof p=="object"&&"$valid"in p?p.$valid:typeof p=="boolean"?p:false)):(p=$,typeof p=="object"&&"$valid"in p?p.$valid:typeof p=="boolean"?p:false)}},_validator:e.validator,_message:e.message,_active:e.active,_tooltip:e.tooltip,_type:e.type,_message_patched:false,_tooltip_patched:false,_async:l,_params:bt(t),_brand:$t}}function Je(e){if(typeof e.validator=="function"){let r=Ke(e,...[]),n=e.async??e.validator.constructor.name==="AsyncFunction";if(Tt(e.validator)>1){let l=function(...c){return Ke(e,...c)};return l.validator=r.validator,l.message=r.message,l.active=r.active,l.tooltip=r.tooltip,l.type=r.type,l.exec=r.exec,l._validator=r.validator,l._message=r.message,l._active=r.active,l._tooltip=r.tooltip,l._type=e.type,l._message_pacthed=false,l._tooltip_pacthed=false,l._async=n,l}else return r}throw new Error("Validator must be a function")}function Ye(){let e=shallowRef(new Map),t=shallowRef(new Map),r=shallowRef(new Map),n=shallowRef(new Map),l=shallowRef(new Map),c=shallowRef(new Map);function m(S){let E=t.value.get(S);if(E)return E;{let D=ref({});return t.value.set(S,D),D}}function d(S){let E=r.value.get(S);if(E)return E;{let D=ref([]);return r.value.set(S,D),D}}function $(S,E,D){c.value.set(`${S}-${E}`,D);}function p(S,E){return c.value.get(`${S}-${E}`)}function h(S,E){S&&E!=null&&c.value.delete(`${S}-${E}`);}function V(S,E){n.value.set(S,E);}function C(S){return n.value.get(S)??false}function A(S,E){e.value.set(S,E);}function w(S,E){let D=e.value.get(S);return D?O(E,D)?{valid:true}:{valid:false}:undefined}function O(S,E){let D=Object.keys(E),u=Object.keys(S);return u.length!==D.length||!u.every(s=>D.includes(s))?false:u.every(s=>{let o=S[s],b=E[s];return !b||!o||typeof o=="function"||typeof b=="function"||typeof o=="number"||typeof o=="boolean"?false:o._params?o._params?.every((M,L)=>{if(typeof b=="number"||typeof b=="boolean")return true;{let G=re(b._params),X=re(o._params);return G?.[L]===X?.[L]}}):true})}function a(S){let E=l.value.get(S);if(E)return E;{let D=ref(false),u=ref(true),T=ref({}),s=ref(false);return l.value.set(S,{$pending:D,$valid:u,$metadata:T,$validating:s}),{$pending:D,$valid:u,$metadata:T,$validating:s}}}return getCurrentScope()&&onScopeDispose(()=>{e.value.clear(),t.value.clear(),r.value.clear(),n.value.clear(),l.value.clear(),c.value.clear();}),{addRuleDeclEntry:A,setDirtyEntry:V,checkRuleDeclEntry:w,getDirtyState:C,trySetRuleStatusRef:a,getFieldsEntry:m,getCollectionsEntry:d,getArrayStatus:p,addArrayStatus:$,deleteArrayStatus:h,arrayStatusStorage:c}}function _e(e){return Q(e.value)}function Qe(e,t,r){let n=effectScope(),l;return e instanceof Function?l=n.run(()=>e(t,r??0)):l=e,{scope:n,unwrapped:l}}function tr(e,t){let r=String(e).split("."),n=String(t).split(".");for(let l=0;l<Math.min(r.length,n.length);l++){let c=Number(r[l]),m=Number(n[l]);if(c>m)return 1;if(m>c)return -1;if(!isNaN(c)&&isNaN(m))return 1;if(isNaN(c)&&!isNaN(m))return -1}return 0}var Ne=tr(version,"3.5.0")!==-1;function rr(){return Math.floor(Math.random()*Date.now()).toString()}function $e(){return typeof window>"u"?rr():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(10)}function Et(e){return getCurrentScope()?(onScopeDispose(e),true):false}function xt(e){let t=false,r,n=effectScope(true);return (...l)=>(t||(r=n.run(()=>e(...l)),t=true),r)}function ke(e,t){return _e(e)||Q(t.value)&&!te(t.value)&&!Object.entries(t.value).some(([r,n])=>we(n)||typeof n=="function")}function Dt(e,t){return !!e.value&&Q(e.value)&&"$each"in e.value||Array.isArray(t.value)}function Ge(e){return !!e.value&&Q(e.value)}function we(e){return Q(e)&&"_validator"in e}function Pe(e){return typeof e.value!="function"}function Ct(e){return Q(e)&&"$fields"in e}function It(e){return !!e&&"$rules"in e}function Xe({field:e,silent:t=false}){return Object.entries(e.$rules??{}).map(([r,n])=>t&&!n.$valid||!n.$valid&&e.$error&&!n.$validating?n.$message:null).filter(r=>!!r).reduce((r,n)=>typeof n=="string"?r?.concat([n]):r?.concat(n),[]).concat(e.$error?e.$externalErrors??[]:[]).concat(e.$error?e.$schemaErrors??[]:[])}function Ot({field:e}){return Object.entries(e.$rules??{}).map(([t,r])=>r.$tooltip).filter(t=>!!t).reduce((t,r)=>typeof r=="string"?t?.concat([r]):t?.concat(r),[])}function wt({customMessages:e,rule:t,ruleKey:r,state:n,path:l,storage:c,$debounce:m,modifiers:d}){let $=effectScope(),p={},h,V=ref(false),{$pending:C,$valid:A,$metadata:w,$validating:O}=c.trySetRuleStatusRef(`${l}.${r}`);function a(){$=effectScope(),p=$.run(()=>{let o=ref(false),b=ref(false),M=ref(true),L=ref(false),G=ref(false),X=computed(()=>({$value:n.value,$error:b.value,$dirty:o.value,$pending:L.value,$correct:G.value,$invalid:M.value,$rule:{$valid:A.value,$invalid:!A.value,$pending:C.value},$params:f.value,...w.value})),oe=computed(()=>Pe(t)?typeof t.value.active=="function"?t.value.active(X.value):!!t.value.active:true);function I(x){let F="",B=e?e[r]?.[x]:undefined;if(B&&(typeof B=="function"?F=B(X.value):F=B),Pe(t)){let y=`_${x}_patched`;B&&!t.value[y]||(typeof t.value[x]=="function"?F=t.value[x](X.value):F=t.value[x]??"");}return F}let z=computed(()=>{let x=I("message");return te(x)&&(x="This field is not valid"),x}),me=computed(()=>I("tooltip")),ue=computed(()=>Pe(t)&&t.value.type?t.value.type:r),i=computed(()=>Pe(t)?t.value.validator:t.value),f=computed(()=>typeof t.value=="function"?[]:re(t.value._params??[])),R=computed(()=>`${l}.${ue.value}`);return {$active:oe,$message:z,$type:ue,$validator:i,$params:f,$path:R,$tooltip:me,$fieldCorrect:G,$fieldError:b,$fieldDirty:o,$fieldPending:L,$fieldInvalid:M}}),h=watch(p?.$params,()=>{(d.$autoDirty.value||d.$rewardEarly.value&&p.$fieldError.value)&&u();});}a();function S(){A.value=true,p.$fieldDirty.value&&(C.value=true);}async function E(){let o=false;try{let b=p.$validator.value;if(typeof b!="function")return console.error(`${l}: Incorrect rule format, it needs to be either a function or created with "createRule".`),!1;let M=b(n.value,...p.$params.value),L=n.value;S();let G;if(M instanceof Promise?G=await M:G=M,n.value!==L)return !0;if(typeof G=="boolean")o=G;else {let{$valid:X,...oe}=G;o=X,w.value=oe;}}catch{o=false;}finally{C.value=false;}return o}let D=Ve(E,m??200);async function u(){try{O.value=!0;let o=!1;if(we(t.value)&&t.value._async)o=await D();else {let b=p.$validator.value,M=b(n.value,...p.$params.value);if(M instanceof Promise)console.warn('You used a async validator function on a non-async rule, please use "async await" or the "withAsync" helper');else if(M!=null)if(typeof M=="boolean")o=M;else {let{$valid:L,...G}=M;o=L,w.value=G;}}return A.value=o,o}catch{return false}finally{O.value=false;}}function T(){A.value=true,w.value={},C.value=false,O.value=false,a();}function s(){h(),$.stop(),$=effectScope();}return reactive({...p,$pending:C,$valid:A,$metadata:w,$haveAsync:V,$validating:O,$parse:u,$unwatch:s,$watch:a,$reset:T})}function be({state:e,rulesDef:t,customMessages:r,path:n,fieldName:l,storage:c,options:m,externalErrors:d,schemaErrors:$,schemaMode:p,onUnwatch:h,$isArray:V,initialState:C,shortcuts:A,onValidate:w}){let O=effectScope(),a,S=[],E,D,u,T,s,o=()=>{};function b(){let v=t.value,j=c.checkRuleDeclEntry(n,v);z.value=Object.fromEntries(Object.entries(v).filter(([g])=>g.startsWith("$"))),G(),I.value=Object.fromEntries(Object.entries(t.value).filter(([g])=>!g.startsWith("$")).map(([g,ee])=>{if(ee){let se=toRef(()=>ee);return [g,wt({modifiers:{$autoDirty:a.$autoDirty,$rewardEarly:a.$rewardEarly},customMessages:r,rule:se,ruleKey:g,state:e,path:n,storage:c,$debounce:z.value.$debounce})]}return []}).filter(g=>!!g.length)),a.processShortcuts(),M(),j?.valid!=null&&(a.$dirty.value=c.getDirtyState(n),(a.$dirty.value&&a.$autoDirty.value||a.$rewardEarly.value&&a.$error.value)&&o()),c.addRuleDeclEntry(n,v);}function M(){o=a.$debounce.value?Ve(oe,a.$debounce.value??a.$haveAnyAsyncRule?100:0):oe;}function L(){I.value&&Object.entries(I.value).forEach(([v,j])=>{j.$unwatch();}),u(),s?.(),a.$dirty.value&&c.setDirtyEntry(n,a.$dirty.value),E?.(),D?.(),O.stop(),O=effectScope(),S.forEach(v=>v.stop()),S=[],h?.(),T?.();}function G(){I.value&&Object.entries(I.value).forEach(([v,j])=>{j.$watch();}),a=O.run(()=>{let v=ref(false),j=ref(false),g=computed(()=>v.value),ee=computed(()=>z.value.$debounce),se=computed(()=>z.value.$lazy!=null?z.value.$lazy:unref(m.lazy)!=null?unref(m.lazy):false),le=computed(()=>z.value.$rewardEarly!=null?z.value.$rewardEarly:unref(m.rewardEarly)!=null?unref(m.rewardEarly):false),U=computed(()=>z.value.$clearExternalErrorsOnChange!=null?z.value.$clearExternalErrorsOnChange:unref(m.clearExternalErrorsOnChange)!=null?unref(m.clearExternalErrorsOnChange):true),P=computed(()=>z.value.$autoDirty!=null?z.value.$autoDirty:unref(m.autoDirty)!=null?unref(m.autoDirty):!le.value),H=computed(()=>Object.entries(I.value).some(([ie,Y])=>Y.$validating)),Ie=computed({get:()=>e.value,set(ie){E(),e.value=ie,X();}}),Fe=computed(()=>ye.value&&!Oe.value&&v.value),ut=computed(()=>Xe({field:{$rules:I.value,$error:Fe.value,$externalErrors:d?.value,$schemaErrors:$?.value}})),ct=computed(()=>Xe({field:{$rules:I.value,$error:Fe.value,$externalErrors:d?.value,$schemaErrors:$?.value},silent:true})),He=computed(()=>v.value?C.value instanceof Date&&e.value instanceof Date?ze(C.value).getDate()!==ze(e.value).getDate():C.value==null?!!e.value:Array.isArray(e.value)&&Array.isArray(C.value)?e.value.length!==C.value.length:C.value!==e.value:false),ft=computed(()=>He.value),Rt=computed(()=>Ot({field:{$rules:I.value}})),dt=computed(()=>P.value?g.value&&!(ye.value||Oe.value):!(ye.value||Oe.value)),Oe=computed(()=>j.value||!le.value?Object.entries(I.value).some(([ie,Y])=>Y.$pending):false),ye=computed(()=>d?.value?.length||$?.value?.length?true:je.value?false:!le.value||le.value&&j.value?Object.entries(I.value).some(([ie,Y])=>!Y.$valid):false),pt=computed(()=>l),je=computed(()=>!!(te(I.value)&&!p)),mt=computed(()=>d?.value?.length||je.value?false:v.value&&!te(e.value)&&!H.value?p?!$?.value?.length:Object.values(I.value).some(Y=>Y.$active)?Object.values(I.value).filter(Y=>Y.$active).every(Y=>Y.$valid):false:false),Bt=computed(()=>Object.entries(I.value).some(([ie,Y])=>Y.$haveAsync));function Ht(){A?.fields&&Object.entries(A.fields).forEach(([ie,Y])=>{let gt=effectScope();yt[ie]=gt.run(()=>{let vt=ref();return watchEffect(()=>{vt.value=Y(reactive({$dirty:v,$externalErrors:d?.value??[],$value:e,$silentValue:Ie,$rules:I,$error:Fe,$pending:Oe,$invalid:ye,$correct:mt,$errors:ut,$ready:dt,$silentErrors:ct,$anyDirty:g,$tooltips:Rt,$name:pt,$inactive:je,$edited:He,$anyEdited:ft}));}),vt}),S.push(gt);});}let yt={};return watch(ye,ie=>{ie||(j.value=false);}),{$error:Fe,$pending:Oe,$invalid:ye,$correct:mt,$debounce:ee,$lazy:se,$errors:ut,$ready:dt,$silentErrors:ct,$rewardEarly:le,$autoDirty:P,$clearExternalErrorsOnChange:U,$anyDirty:g,$edited:He,$anyEdited:ft,$name:pt,$haveAnyAsyncRule:Bt,$shortcuts:yt,$validating:H,$tooltips:Rt,$dirty:v,triggerPunishment:j,processShortcuts:Ht,$silentValue:Ie,$inactive:je}}),X(),u=watch(a.$dirty,v=>{c.setDirtyEntry(n,v),Object.values(I.value).forEach(j=>{j.$fieldDirty=v;});}),s=watch([a.$error,a.$correct,a.$invalid,a.$pending],()=>{Object.values(I.value).forEach(v=>{v.$fieldError=a.$error.value,v.$fieldInvalid=a.$invalid.value,v.$fieldPending=a.$pending.value,v.$fieldCorrect=a.$correct.value;});}),D=watch(a.$invalid,v=>{a.$rewardEarly.value&&!v&&(a.triggerPunishment.value=false);}),T=watch(a.$haveAnyAsyncRule,M);}function X(){E=watch(e,()=>{a.$autoDirty.value&&(a.$dirty.value||(a.$dirty.value=true)),t.value instanceof Function&&b(),(a.$autoDirty.value||a.$rewardEarly.value&&a.$error.value)&&o(),a.$rewardEarly.value!==true&&a.$clearExternalErrorsOnChange.value&&R();},{deep:V?true:Ne?1:true,flush:"post"});}function oe(){Object.values(I.value).forEach(v=>{v.$parse();});}let I=ref({}),z=ref({});b();function me(v,j){if(R(),a.$dirty.value=false,a.triggerPunishment.value=false,c.setDirtyEntry(n,false),!j)if(v?.toInitialState)L(),e.value=N(C);else if(v?.toState){L();let g;typeof v?.toState=="function"?g=v?.toState():g=v?.toState,C.value=N(g),e.value=N(g);}else C.value=Q(e.value)?N(e.value):Array.isArray(e.value)?[...e.value]:e.value;j||Object.entries(I.value).forEach(([g,ee])=>{ee.$reset();}),!a.$lazy.value&&a.$autoDirty.value&&Object.values(I.value).forEach(g=>g.$parse()),j||b();}function ue(v=true,j=false){a.$dirty.value||(a.$dirty.value=true),j&&v?(a.$autoDirty.value||a.$rewardEarly.value&&a.$error.value)&&o():v&&o();}async function i(){try{if(p)return w?(ue(!1),w()):{valid:!1,data:e.value};let v=e.value;if(a.triggerPunishment.value=!0,!a.$dirty.value)a.$dirty.value=!0;else if(a.$autoDirty.value&&a.$dirty.value&&!a.$pending.value)return {valid:!a.$error.value,data:v};return p?{valid:!$?.value?.length,data:v}:te(I.value)?{valid:!0,data:v}:{valid:(await Promise.allSettled(Object.entries(I.value).map(([ee,se])=>se.$parse()))).every(ee=>ee.status==="fulfilled"?ee.value===!0:!1),data:v}}catch{return {valid:false,data:e.value}}}function f(v=true){return a.$dirty.value?e.value:v?{_null:true}:null}function R(){d?.value?.length&&(d.value=[]);}!a.$lazy.value&&!a.$dirty.value&&a.$autoDirty.value&&o();let{$shortcuts:x,$validating:F,$autoDirty:B,$rewardEarly:y,$clearExternalErrorsOnChange:_,$haveAnyAsyncRule:q,$debounce:Z,$lazy:J,triggerPunishment:fe,...ce}=a;return reactive({...ce,$externalErrors:d,$value:e,$rules:I,...x,$reset:me,$touch:ue,$validate:i,$unwatch:L,$watch:G,$extractDirtyFields:f,$clearExternalErrors:R})}function tt({$id:e,path:t,index:r,options:n,storage:l,stateValue:c,customMessages:m,rules:d,externalErrors:$,schemaErrors:p,initialState:h,shortcuts:V,fieldName:C,schemaMode:A}){let w=d.$key?d.$key:$e(),O=`${t}.${String(w)}`;typeof c.value=="object"&&c.value!=null&&(c.value.$id?O=`${t}.${c.value.$id}`:Object.defineProperties(c.value,{$id:{value:w,enumerable:false,configurable:false,writable:false}}));let a=toRef($?.value??[],r),S=computed(()=>p?.value?.[r]),E=Te({state:c,rulesDef:toRef(()=>d),customMessages:m,path:O,storage:l,options:n,externalErrors:a,schemaErrors:S,initialState:h,shortcuts:V,fieldName:C,schemaMode:A});if(E){let D=c.value?.$id;E.$id=D??String(w),l.addArrayStatus(e,E.$id,E);}return E}function Ft({state:e,rulesDef:t,customMessages:r,path:n,storage:l,options:c,externalErrors:m,schemaErrors:d,schemaMode:$,initialState:p,shortcuts:h,fieldName:V}){let C=effectScope(),A,w=effectScope(),O,a=[];if(!Array.isArray(e.value)&&!t.value.$each)return;let S=ref(),E=ref(e.value),D,u=ref({}),T=l.getCollectionsEntry(n);O=w.run(()=>({isPrimitiveArray:computed(()=>Array.isArray(e.value)&&e.value.length?e.value.every(f=>typeof f!="object"):t.value.$each&&!(t.value.$each instanceof Function)?Object.values(t.value.$each).every(f=>we(f)||typeof f=="function"):false)})),s(),M();function s(){typeof e.value=="object"&&(e.value!=null&&!e.value?.$id&&e.value!==null?(S.value=$e(),Object.defineProperties(e.value,{$id:{value:S.value,enumerable:false,configurable:false,writable:false}})):e.value?.$id&&(S.value=e.value.$id)),E.value=u.value.$value,Array.isArray(e.value)&&!O.isPrimitiveArray.value?T.value=e.value.filter(i=>typeof i=="object").map((i,f)=>{let{scope:R,unwrapped:x}=Qe(t.value.$each,toRef(()=>i),f);R&&a.push(R);let F=toRef(p.value??[],f),B=toRef(m?.value??{},"$each"),y=computed(()=>d?.value?.$each),_=tt({$id:S.value,path:n,customMessages:r,rules:x??{},stateValue:toRef(()=>i),index:f,options:c,storage:l,externalErrors:B,schemaErrors:y,initialState:F,shortcuts:h,fieldName:V,schemaMode:$});return _||null}).filter(i=>!!i):T.value=[],u.value=be({state:e,rulesDef:t,customMessages:r,path:n,storage:l,options:c,externalErrors:toRef(m?.value??{},"$self"),schemaErrors:computed(()=>d?.value?.$self),$isArray:!0,initialState:p,shortcuts:h,fieldName:V,schemaMode:$});}function o(){if(Array.isArray(e.value)&&!O.isPrimitiveArray.value){let i=N(T.value);T.value=e.value.filter(f=>typeof f=="object").map((f,R)=>{let x=toRef(()=>f);if(f.$id&&T.value.find(F=>F.$id===f.$id)){let F=l.getArrayStatus(S.value,f.$id);return F?(F.$value=x,F):null}else {let{scope:F,unwrapped:B}=Qe(t.value.$each,x,R);F&&a.push(F);let y=toRef(m?.value??{},"$each"),_=computed(()=>d?.value?.$each??[]),q=tt({$id:S.value,path:n,customMessages:r,rules:B??{},stateValue:x,index:R,options:c,storage:l,externalErrors:y,schemaErrors:_,initialState:toRef(p.value??[],R),shortcuts:h,fieldName:V,schemaMode:$});return q||null}}).filter(f=>!!f),i.filter(f=>!e.value?.find(R=>f.$id===R.$id)).forEach((f,R)=>{l.deleteArrayStatus(S.value,R.toString());});}else T.value=[];}function b(){D=watch(e,()=>{e.value!=null&&!Object.hasOwn(e.value,"$id")?s():o();},{deep:Ne?1:true,flush:"pre"});}function M(){b(),C=effectScope(),A=C.run(()=>{let i=computed({get:()=>e.value,set(g){D(),e.value=g,b();}}),f=computed(()=>u.value.$dirty&&(!T.value.length||T.value.every(g=>g.$dirty))),R=computed(()=>u.value.$anyDirty||T.value.some(g=>g.$anyDirty)),x=computed(()=>u.value.$invalid||T.value.some(g=>g.$invalid)),F=computed(()=>(te(u.value.$rules)?true:u.value.$correct)&&(!T.value.length||T.value.every(g=>g.$correct||g.$anyDirty&&!g.$invalid))),B=computed(()=>u.value.$error||T.value.some(g=>g.$error)),y=computed(()=>!(x.value||_.value)),_=computed(()=>u.value.$pending||T.value.some(g=>g.$pending)),q=computed(()=>!!T.value.length&&T.value.every(g=>g.$edited)),Z=computed(()=>u.value.$anyEdited||T.value.some(g=>g.$anyEdited)),J=computed(()=>({$self:u.value.$errors,$each:T.value.map(g=>g.$errors)})),fe=computed(()=>({$self:u.value.$silentErrors,$each:T.value.map(g=>g.$silentErrors)})),ce=computed(()=>V);function v(){h?.collections&&Object.entries(h?.collections).forEach(([g,ee])=>{let se=effectScope();j[g]=se.run(()=>{let le=ref();return watchEffect(()=>{le.value=ee(reactive({$dirty:f,$error:B,$silentValue:i,$pending:_,$invalid:x,$correct:F,$errors:J,$ready:y,$silentErrors:fe,$anyDirty:R,$name:ce,$each:T,$self:u,$value:e,$edited:q,$anyEdited:Z}));}),le}),a.push(se);});}let j={};return v(),{$dirty:f,$anyDirty:R,$invalid:x,$correct:F,$error:B,$pending:_,$errors:J,$silentErrors:fe,$ready:y,$name:ce,$shortcuts:j,$silentValue:i,$edited:q,$anyEdited:Z}}),O.isPrimitiveArray.value&&t.value.$each&&console.warn(`${n} is a Array of primitives. Tracking can be lost when reassigning the Array. We advise to use an Array of objects instead`);}function L(){D&&D(),u.value&&u.value.$unwatch(),T.value&&T.value.forEach(i=>{"$dirty"in i&&i.$unwatch();}),C.stop(),C=effectScope(),w.stop(),w=effectScope(true),a.forEach(i=>i.stop()),a=[];}function G(i=true,f=false){u.value.$touch(i,f),T.value.forEach(R=>{R.$touch(i,f);});}function X(i,f){if(L(),!f)if(i?.toInitialState)e.value=N(p.value);else if(i?.toState){let R;typeof i?.toState=="function"?R=i?.toState():R=i?.toState,p.value=N(R),e.value=N(R);}else p.value=N(e.value);u.value.$reset(),T.value.forEach(R=>{R.$reset(i,true);}),f||s();}async function oe(){let i=e.value;try{return {valid:(await Promise.allSettled([u.value.$validate(),...T.value.map(x=>x.$validate())])).every(x=>x.status==="fulfilled"?x.value.valid===!0:!1),data:i}}catch{return {valid:false,data:i}}}function I(){u.value.$clearExternalErrors(),T.value.forEach(i=>{i.$clearExternalErrors();});}function z(i=true){let f=T.value.map(R=>{if(Ct(R))return R.$extractDirtyFields(i)});return i&&f.every(R=>te(R))&&(f=[]),f}let{$shortcuts:me,...ue}=A;return reactive({$self:u,...ue,...me,$each:T,$value:e,$validate:oe,$unwatch:L,$watch:M,$touch:G,$reset:X,$extractDirtyFields:z,$clearExternalErrors:I})}function We({rulesDef:e,state:t,path:r="",rootRules:n,externalErrors:l,schemaErrors:c,rootSchemaErrors:m,validationGroups:d,initialState:$,fieldName:p,...h}){let V=effectScope(),C,A=[],w=null,O=null,a=null,S=null;async function D(i=true){let f=Object.entries(e.value),R=Object.fromEntries(f.filter(([y,_])=>!!_).map(([y,_])=>{if(_){let q=toRef(t.value??{},y),Z=toRef(()=>_),J=toRef(l?.value??{},y),fe=computed(()=>c?.value?.[y]),ce=toRef($?.value??{},y);return [y,Te({state:q,rulesDef:Z,path:r?`${r}.${y}`:y,externalErrors:J,schemaErrors:fe,initialState:ce,fieldName:y,...h})]}return []})),x=Object.fromEntries(Object.entries(unref(l)??{}).filter(([y,_])=>!(y in e.value)&&!!_).map(([y])=>{let _=toRef(t.value??{},y),q=toRef(l?.value??{},y),Z=computed(()=>c?.value?.[y]),J=toRef($?.value??{},y);return [y,Te({state:_,rulesDef:computed(()=>({})),path:r?`${r}.${y}`:y,externalErrors:q,schemaErrors:Z,initialState:J,fieldName:y,...h})]})),F=Object.fromEntries(Object.entries(unref(c)??{}).map(([y])=>{let _=toRef(t.value??{},y),q=toRef(l?.value??{},y),Z=computed(()=>c?.value?.[y]),J=toRef($?.value??{},y);return [y,Te({state:_,rulesDef:computed(()=>({})),path:r?`${r}.${y}`:y,externalErrors:q,schemaErrors:Z,initialState:J,fieldName:y,...h})]})),B=Object.fromEntries(Object.entries(t.value??{}).filter(([y])=>!(y in e.value)&&!(y in(x??{}))&&!(y in(F??{}))).map(([y])=>{let _=toRef(t.value??{},y),q=toRef(l?.value??{},y),Z=computed(()=>c?.value?.[y]),J=toRef($?.value??{},y);return [y,Te({state:_,rulesDef:computed(()=>({})),path:r?`${r}.${y}`:y,externalErrors:q,schemaErrors:Z,initialState:J,fieldName:y,...h})]}));u.value={...R,...x,...F,...B},i&&o();}let u=h.storage.getFieldsEntry(r);D();function T(){l&&(a=watch(l,()=>{b(),D();},{deep:true}));}function s(){S=watch(t,()=>{b(),D(),G(true,true);},{flush:"sync"});}function o(){n&&(w?.(),w=watch(n,()=>{b(),D();},{deep:true,flush:"post"}),T()),m&&(O?.(),O=watch(m,()=>{b(),D();},{deep:true,flush:"post"})),s(),C=V.run(()=>{let i=computed({get:()=>t.value,set(U){b(),t.value=U,D();}}),f=computed(()=>!!Object.entries(u.value).length&&Object.entries(u.value).every(([U,P])=>P?.$dirty)),R=computed(()=>Object.entries(u.value).some(([U,P])=>P?.$anyDirty)),x=computed(()=>!!Object.entries(u.value).length&&Object.entries(u.value).some(([U,P])=>P?.$invalid)),F=computed(()=>{let U=Object.entries(u.value).filter(([P,H])=>It(H)?!H.$inactive:true);return U.length?U.every(([P,H])=>H?.$correct||H.$anyDirty&&!H.$invalid):false}),B=computed(()=>!!Object.entries(u.value).length&&Object.entries(u.value).some(([U,P])=>P?.$error)),y=computed(()=>unref(h.options.rewardEarly)!=null?unref(h.options.rewardEarly):false),_=computed(()=>unref(h.options.autoDirty)!=null?unref(h.options.autoDirty):!y.value),q=computed(()=>_.value?R.value&&!(x.value||J.value):!(x.value||J.value)),Z=ref(false),J=computed(()=>Z.value||Object.entries(u.value).some(([U,P])=>P?.$pending)),fe=computed(()=>Object.fromEntries(Object.entries(u.value).map(([U,P])=>[U,P?.$errors]))),ce=computed(()=>Object.fromEntries(Object.entries(u.value).map(([U,P])=>[U,P?.$silentErrors]))),v=computed(()=>!!Object.entries(u.value).length&&Object.entries(u.value).every(([U,P])=>P?.$edited)),j=computed(()=>Object.entries(u.value).some(([U,P])=>P?.$anyEdited)),g=computed(()=>p);function ee(){h.shortcuts?.nested&&Object.entries(h.shortcuts.nested).forEach(([U,P])=>{let H=effectScope();le[U]=H.run(()=>{let Ie=ref();return watchEffect(()=>{Ie.value=P(reactive({$dirty:f,$value:t,$silentValue:i,$error:B,$pending:J,$invalid:x,$correct:F,$ready:q,$anyDirty:R,$name:g,$silentErrors:ce,$errors:fe,$fields:u,$edited:v,$anyEdited:j}));}),Ie}),A.push(H);});}let se=computed({get:()=>d?Object.fromEntries(Object.entries(d?.(u.value)??{}).map(([U,P])=>P.length?[U,{...Object.fromEntries(["$invalid","$error","$pending","$dirty","$correct"].map(H=>[H,St(P,H)])),...Object.fromEntries(["$errors","$silentErrors"].map(H=>[H,ht(P,H)]))}]:[])):{},set(){}}),le={};return ee(),{$dirty:f,$anyDirty:R,$invalid:x,$correct:F,$error:B,$pending:J,$errors:fe,$silentErrors:ce,$ready:q,$name:g,$shortcuts:le,$groups:se,$silentValue:i,$edited:v,$anyEdited:j,$localPending:Z}});}function b(){w?.(),a?.(),S?.(),O?.(),A=[],C={},u.value&&Object.entries(u.value).forEach(([i,f])=>{f.$unwatch();});}function M(){Object.entries(u.value).forEach(([i,f])=>{f.$clearExternalErrors();});}function L(i,f){if(a?.(),b(),!f)if(i?.toInitialState)t.value=N({...$.value??{}});else if(i?.toState){let R;typeof i?.toState=="function"?R=i?.toState():R=i?.toState,$.value=N(R),t.value=N(R);}else $.value=N(t.value);Object.values(u.value).forEach(R=>{R.$reset(i,true);}),T(),f||D();}function G(i=true,f=false){Object.values(u.value).forEach(R=>{R.$touch(i,f);});}function X(i){return i.filter(([f,R])=>Q(R)?!(R&&typeof R=="object"&&"_null"in R)&&!te(R):Array.isArray(R)?R.length:true)}function oe(i=true){let f=Object.entries(u.value).map(([R,x])=>[R,x.$extractDirtyFields(i)]);return i&&(f=X(f)),Object.fromEntries(f)}async function I(){try{if(h.schemaMode)return h.onValidate?(G(!1),C.$localPending.value=!0,h.onValidate()):{valid:!1,data:t.value};{let i=t.value;return {valid:(await Promise.allSettled(Object.values(u.value).map(x=>x.$validate()))).every(x=>x.status==="fulfilled"?x.value.valid===!0:!1),data:i}}}catch{return {valid:false,data:t.value}}finally{C.$localPending.value=false;}}let{$shortcuts:z,$localPending:me,...ue}=C;return reactive({...ue,...z,$fields:u,$value:t,$reset:L,$touch:G,$validate:I,$unwatch:b,$watch:o,$clearExternalErrors:M,$extractDirtyFields:oe})}function Te({rulesDef:e,...t}){if(Dt(e,t.state))return Ft({rulesDef:e,...t});if(ke(t.state,e)){if(_e(t.state))return We({rulesDef:e,...t});{let n=effectScope().run(()=>{let m=toRef(t.state.value?t.state:ref({}));return watch(()=>t.state.value,d=>{m.value=d;},{deep:true}),watch(m,d=>{t.state.value=d;},{deep:true}),{fakeState:m}}),{state:l,...c}=t;return We({rulesDef:e,...c,state:n.fakeState})}}else if(Ge(e))return be({rulesDef:e,...t})}function Ce({initialState:e,options:t,scopeRules:r,state:n,customRules:l,shortcuts:c,schemaErrors:m,schemaMode:d=false,onValidate:$}){let p=Ye(),h=ref();return ke(n,r)?h.value=We({rootRules:r,rulesDef:r,state:n,customMessages:l?.(),storage:p,options:t,externalErrors:t.externalErrors,validationGroups:t.validationGroups,initialState:e,shortcuts:c,fieldName:"root",path:"",schemaErrors:m,rootSchemaErrors:m,schemaMode:d,onValidate:$}):Ge(r)&&(h.value=be({rulesDef:r,state:n,customMessages:l?.(),storage:p,options:t,externalErrors:t.externalErrors,initialState:e,shortcuts:c,fieldName:"root",path:"",schemaMode:d,schemaErrors:m,onValidate:$})),getCurrentScope()&&onScopeDispose(()=>{h.value?.$unwatch();}),reactive({regle:h})}function at(e,t,r){let n={autoDirty:t?.autoDirty,lazy:t?.lazy,rewardEarly:t?.rewardEarly,clearExternalErrorsOnChange:t?.clearExternalErrorsOnChange};function l(c,m,d){let $=isRef(m)?m:computed(typeof m=="function"?m:()=>m),p={...n,...d},h=isRef(c)?c:ref(c),V=ref(Q(h.value)?{...N(h.value)}:N(h.value));return {r$:Ce({scopeRules:$,state:h,options:p,initialState:V,customRules:e,shortcuts:r}).regle}}return l}var Le=at();function lt(){function e(t,r){return r}return e}var ot=lt();function Nt({rules:e,modifiers:t,shortcuts:r}){let n=at(e,t,r),l=lt();return {useRegle:n,inferRules:l}}function Me(e,t){let r=t??false,n=computed({get:()=>r?Object.values(e).map(s=>s.$value):Object.fromEntries(Object.entries(e).map(([s,o])=>[s,o.$value])),set:s=>{r||typeof s=="object"&&Object.entries(s).forEach(([o,b])=>e[o].$value=b);}}),l=computed({get:()=>Object.fromEntries(Object.entries(e).map(([s,o])=>[s,o.$silentValue])),set:s=>{typeof s=="object"&&Object.entries(s).forEach(([o,b])=>e[o].$silentValue=b);}}),c=computed(()=>{let s=Object.entries(e);return !!s.length&&s.every(([o,b])=>b?.$dirty)}),m=computed(()=>Object.entries(e).some(([s,o])=>o?.$anyDirty)),d=computed(()=>Object.entries(e).some(([s,o])=>o?.$invalid)),$=computed(()=>{let s=Object.entries(e);return !!s.length&&s.every(([o,b])=>b?.$correct||b.$anyDirty&&!b.$invalid)}),p=computed(()=>Object.entries(e).some(([s,o])=>o?.$error)),h=computed(()=>{let s=Object.entries(e);return !!s.length&&s.every(([o,b])=>b?.$ready)}),V=computed(()=>Object.entries(e).some(([s,o])=>o?.$pending)),C=computed(()=>r?Object.entries(e).map(([s,o])=>o.$errors):Object.fromEntries(Object.entries(e).map(([s,o])=>[s,o.$errors]))),A=computed(()=>r?Object.entries(e).map(([s,o])=>o.$silentErrors):Object.fromEntries(Object.entries(e).map(([s,o])=>[s,o.$silentErrors]))),w=computed(()=>{let s=Object.entries(e);return !!s.length&&s.every(([o,b])=>b?.$edited)}),O=computed(()=>Object.entries(e).some(([s,o])=>o?.$anyEdited)),a=computed(()=>r?Object.values(e):e);function S(s){Object.values(e).forEach(o=>{o.$reset(s);});}function E(){Object.values(e).forEach(s=>{s.$touch();});}function D(s=true){return Object.values(e).map(o=>o.$extractDirtyFields(s))}function u(){Object.values(e).forEach(s=>{s.$clearExternalErrors();});}async function T(){try{let s=n.value;return {valid:(await Promise.allSettled(Object.values(e).map(M=>M.$validate()))).every(M=>M.status==="fulfilled"?M.value.valid===!0:!1),data:s}}catch{return {valid:false,data:n.value}}}return reactive({...!r&&{$silentValue:l},$errors:C,$silentErrors:A,$instances:a,$value:n,$dirty:c,$anyDirty:m,$invalid:d,$correct:$,$error:p,$pending:V,$ready:h,$edited:w,$anyEdited:O,$reset:S,$touch:E,$validate:T,$extractDirtyFields:D,$clearExternalErrors:u})}function Gt(e){function t(r){let n=computed(()=>toValue(r));m();let l=ref(d(e.value)),c=reactive({r$:l});function m(){n.value&&!e.value[n.value]&&(e.value[n.value]={});}watch(n,m),watch(e,$=>{l.value=d($);},{deep:true});function d($){if(n.value){let p=$[n.value]??{};return Me(p,true)}else return Me($["~~global"]??{},true)}return {r$:c.r$}}return {useCollectScope:t}}function Lt(e,t){let r=t??Le;return {useScopedRegle:(l,c,m)=>{let{namespace:d,...$}=m??{},p=computed(()=>toValue(d)),h=ref(`${Object.keys(e.value).length+1}-${$e()}`),V=computed(()=>`instance-${h.value}`),{r$:C}=r(l,c,$);w(),Et(A),watch(p,(O,a)=>{A(a),w();}),getCurrentInstance()&&onMounted(()=>{let O=getCurrentInstance();typeof window<"u"&&O?.proxy?.$el?.parentElement&&document.documentElement&&!document.documentElement.contains(O?.proxy?.$el?.parentElement)&&A();});function A(O){let a=O??p.value;a?e.value[a]&&delete e.value[a][V.value]:e.value["~~global"][V.value]&&delete e.value["~~global"][V.value];}function w(){p.value?(e.value[p.value]||(e.value[p.value]={}),e.value[p.value][V.value]=C):(e.value["~~global"]||(e.value["~~global"]={}),e.value["~~global"][V.value]=C);}return {r$:C,dispose:A,register:w}}}}function Be(e){let r=(e?.customStore?()=>(e.customStore&&(e.customStore?.value["~~global"]?e.customStore?.value&&(e.customStore.value={"~~global":{}}):e.customStore.value["~~global"]={}),e.customStore):xt(()=>ref({"~~global":{}})))(),{useScopedRegle:n}=Lt(r,e?.customUseRegle),{useCollectScope:l}=Gt(r);return {useScopedRegle:n,useCollectScope:l}}var {useCollectScope:st,useScopedRegle:it}=Be();
1
+ import {effectScope,computed,toValue,ref,watch,getCurrentInstance,onMounted,reactive,getCurrentScope,onScopeDispose,isRef,shallowRef,toRef,unref,watchEffect,version}from'vue';function te(e,t=true){return e==null?true:e instanceof Date?isNaN(e.getTime()):e.constructor.name=="File"||e.constructor.name=="FileList"?e.size<=0:Array.isArray(e)?t?e.length===0:false:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}var $t=Symbol("regle-rule");function zt(e){if(typeof e.source.flags=="string")return e.source.flags;{let t=[];return e.global&&t.push("g"),e.ignoreCase&&t.push("i"),e.multiline&&t.push("m"),e.sticky&&t.push("y"),e.unicode&&t.push("u"),t.join("")}}function N(e){let t=e,r={}.toString.call(e).slice(8,-1);if(r=="Set"&&(t=new Set([...e].map(n=>N(n)))),r=="Map"&&(t=new Map([...e].map(n=>[N(n[0]),N(n[1])]))),r=="Date"&&(t=new Date(e.getTime())),r=="RegExp"&&(t=RegExp(e.source,zt(e))),r=="Array"||r=="Object"){t=Array.isArray(e)?[]:{};for(let n in e)t[n]=N(e[n]);}return t}function Q(e){return e&&(e instanceof Date||e.constructor.name=="File"||e.constructor.name=="FileList")?false:typeof e=="object"&&e!==null&&!Array.isArray(e)}function ze(e){let t=Object.prototype.toString.call(e);return e==null?new Date(NaN):e instanceof Date||typeof e=="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function Ve(e,t,r){let n,l=(...c)=>new Promise(m=>{clearTimeout(n),n=setTimeout(()=>{n=void 0,Promise.resolve(e.apply(this,[...c])).then(m);},t);});return l.cancel=()=>{clearTimeout(n),n=void 0;},l}var qe=(r=>(r.Inline="__inline",r.Async="__async",r))(qe||{});function St(e,t){return e.some(r=>r[t])}function ht(e,t){return e.reduce((r,n)=>{let l=n[t]||[];return r.concat(l)},[])}function re(e){try{return e.map(t=>toValue(t))}catch{return []}}function bt(e){return e.map(t=>t instanceof Function?computed(t):isRef(t)?t:toRef(()=>t))}function Tt(e){let n=e.toString().replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").match(/^(?:async\s*)?(?:function\b.*?\(|\((.*?)\)|(\w+))\s*=>|\((.*?)\)\s*=>|function.*?\((.*?)\)|\((.*?)\)/);return n?(n[0]||n[1]||n[2]||n[3]||n[4]||"").split(",").map(m=>m.trim()).filter(m=>m.length>0).length:0}function Ke(e,...t){let{validator:r,type:n}=e,l=n==="__async"||r.constructor.name==="AsyncFunction";return {...{validator(d,...$){return e.validator(d,...re($.length?$:t))},message(d){return typeof e.message=="function"?e.message({...d,$params:re(d?.$params?.length?d.$params:t)}):e.message},active(d){return typeof e.active=="function"?e.active({...d,$params:re(d?.$params?.length?d.$params:t)}):e.active??true},tooltip(d){return typeof e.tooltip=="function"?e.tooltip({...d,$params:re(d?.$params?.length?d.$params:t)}):e.tooltip??[]},exec(d){let $=e.validator(d,...re(t)),p;return $ instanceof Promise?$.then(h=>(p=h,typeof p=="object"&&"$valid"in p?p.$valid:typeof p=="boolean"?p:false)):(p=$,typeof p=="object"&&"$valid"in p?p.$valid:typeof p=="boolean"?p:false)}},_validator:e.validator,_message:e.message,_active:e.active,_tooltip:e.tooltip,_type:e.type,_message_patched:false,_tooltip_patched:false,_async:l,_params:bt(t),_brand:$t}}function Je(e){if(typeof e.validator=="function"){let r=Ke(e,...[]),n=e.async??e.validator.constructor.name==="AsyncFunction";if(Tt(e.validator)>1){let l=function(...c){return Ke(e,...c)};return l.validator=r.validator,l.message=r.message,l.active=r.active,l.tooltip=r.tooltip,l.type=r.type,l.exec=r.exec,l._validator=r.validator,l._message=r.message,l._active=r.active,l._tooltip=r.tooltip,l._type=e.type,l._message_pacthed=false,l._tooltip_pacthed=false,l._async=n,l}else return r}throw new Error("Validator must be a function")}function Ye(){let e=shallowRef(new Map),t=shallowRef(new Map),r=shallowRef(new Map),n=shallowRef(new Map),l=shallowRef(new Map),c=shallowRef(new Map);function m(S){let E=t.value.get(S);if(E)return E;{let D=ref({});return t.value.set(S,D),D}}function d(S){let E=r.value.get(S);if(E)return E;{let D=ref([]);return r.value.set(S,D),D}}function $(S,E,D){c.value.set(`${S}-${E}`,D);}function p(S,E){return c.value.get(`${S}-${E}`)}function h(S,E){S&&E!=null&&c.value.delete(`${S}-${E}`);}function V(S,E){n.value.set(S,E);}function C(S){return n.value.get(S)??false}function A(S,E){e.value.set(S,E);}function w(S,E){let D=e.value.get(S);return D?O(E,D)?{valid:true}:{valid:false}:void 0}function O(S,E){let D=Object.keys(E),u=Object.keys(S);return u.length!==D.length||!u.every(s=>D.includes(s))?false:u.every(s=>{let o=S[s],b=E[s];return !b||!o||typeof o=="function"||typeof b=="function"||typeof o=="number"||typeof o=="boolean"?false:o._params?o._params?.every((M,L)=>{if(typeof b=="number"||typeof b=="boolean")return true;{let G=re(b._params),X=re(o._params);return G?.[L]===X?.[L]}}):true})}function a(S){let E=l.value.get(S);if(E)return E;{let D=ref(false),u=ref(true),T=ref({}),s=ref(false);return l.value.set(S,{$pending:D,$valid:u,$metadata:T,$validating:s}),{$pending:D,$valid:u,$metadata:T,$validating:s}}}return getCurrentScope()&&onScopeDispose(()=>{e.value.clear(),t.value.clear(),r.value.clear(),n.value.clear(),l.value.clear(),c.value.clear();}),{addRuleDeclEntry:A,setDirtyEntry:V,checkRuleDeclEntry:w,getDirtyState:C,trySetRuleStatusRef:a,getFieldsEntry:m,getCollectionsEntry:d,getArrayStatus:p,addArrayStatus:$,deleteArrayStatus:h,arrayStatusStorage:c}}function _e(e){return Q(e.value)}function Qe(e,t,r){let n=effectScope(),l;return e instanceof Function?l=n.run(()=>e(t,r??0)):l=e,{scope:n,unwrapped:l}}function tr(e,t){let r=String(e).split("."),n=String(t).split(".");for(let l=0;l<Math.min(r.length,n.length);l++){let c=Number(r[l]),m=Number(n[l]);if(c>m)return 1;if(m>c)return -1;if(!isNaN(c)&&isNaN(m))return 1;if(isNaN(c)&&!isNaN(m))return -1}return 0}var Ne=tr(version,"3.5.0")!==-1;function rr(){return Math.floor(Math.random()*Date.now()).toString()}function $e(){return typeof window>"u"?rr():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(10)}function Et(e){return getCurrentScope()?(onScopeDispose(e),true):false}function xt(e){let t=false,r,n=effectScope(true);return (...l)=>(t||(r=n.run(()=>e(...l)),t=true),r)}function ke(e,t){return _e(e)||Q(t.value)&&!te(t.value)&&!Object.entries(t.value).some(([r,n])=>we(n)||typeof n=="function")}function Dt(e,t){return !!e.value&&Q(e.value)&&"$each"in e.value||Array.isArray(t.value)}function Ge(e){return !!e.value&&Q(e.value)}function we(e){return Q(e)&&"_validator"in e}function Pe(e){return typeof e.value!="function"}function Ct(e){return Q(e)&&"$fields"in e}function It(e){return !!e&&"$rules"in e}function Xe({field:e,silent:t=false}){return Object.entries(e.$rules??{}).map(([r,n])=>t&&!n.$valid||!n.$valid&&e.$error&&!n.$validating?n.$message:null).filter(r=>!!r).reduce((r,n)=>typeof n=="string"?r?.concat([n]):r?.concat(n),[]).concat(e.$error?e.$externalErrors??[]:[]).concat(e.$error?e.$schemaErrors??[]:[])}function Ot({field:e}){return Object.entries(e.$rules??{}).map(([t,r])=>r.$tooltip).filter(t=>!!t).reduce((t,r)=>typeof r=="string"?t?.concat([r]):t?.concat(r),[])}function wt({customMessages:e,rule:t,ruleKey:r,state:n,path:l,storage:c,$debounce:m,modifiers:d}){let $=effectScope(),p={},h,V=ref(false),{$pending:C,$valid:A,$metadata:w,$validating:O}=c.trySetRuleStatusRef(`${l}.${r}`);function a(){$=effectScope(),p=$.run(()=>{let o=ref(false),b=ref(false),M=ref(true),L=ref(false),G=ref(false),X=computed(()=>({$value:n.value,$error:b.value,$dirty:o.value,$pending:L.value,$correct:G.value,$invalid:M.value,$rule:{$valid:A.value,$invalid:!A.value,$pending:C.value},$params:f.value,...w.value})),oe=computed(()=>Pe(t)?typeof t.value.active=="function"?t.value.active(X.value):!!t.value.active:true);function I(x){let F="",B=e?e[r]?.[x]:void 0;if(B&&(typeof B=="function"?F=B(X.value):F=B),Pe(t)){let y=`_${x}_patched`;B&&!t.value[y]||(typeof t.value[x]=="function"?F=t.value[x](X.value):F=t.value[x]??"");}return F}let z=computed(()=>{let x=I("message");return te(x)&&(x="This field is not valid"),x}),me=computed(()=>I("tooltip")),ue=computed(()=>Pe(t)&&t.value.type?t.value.type:r),i=computed(()=>Pe(t)?t.value.validator:t.value),f=computed(()=>typeof t.value=="function"?[]:re(t.value._params??[])),R=computed(()=>`${l}.${ue.value}`);return {$active:oe,$message:z,$type:ue,$validator:i,$params:f,$path:R,$tooltip:me,$fieldCorrect:G,$fieldError:b,$fieldDirty:o,$fieldPending:L,$fieldInvalid:M}}),h=watch(p?.$params,()=>{(d.$autoDirty.value||d.$rewardEarly.value&&p.$fieldError.value)&&u();});}a();function S(){A.value=true,p.$fieldDirty.value&&(C.value=true);}async function E(){let o=false;try{let b=p.$validator.value;if(typeof b!="function")return console.error(`${l}: Incorrect rule format, it needs to be either a function or created with "createRule".`),!1;let M=b(n.value,...p.$params.value),L=n.value;S();let G;if(M instanceof Promise?G=await M:G=M,n.value!==L)return !0;if(typeof G=="boolean")o=G;else {let{$valid:X,...oe}=G;o=X,w.value=oe;}}catch{o=false;}finally{C.value=false;}return o}let D=Ve(E,m??200);async function u(){try{O.value=!0;let o=!1;if(we(t.value)&&t.value._async)o=await D();else {let b=p.$validator.value,M=b(n.value,...p.$params.value);if(M instanceof Promise)console.warn('You used a async validator function on a non-async rule, please use "async await" or the "withAsync" helper');else if(M!=null)if(typeof M=="boolean")o=M;else {let{$valid:L,...G}=M;o=L,w.value=G;}}return A.value=o,o}catch{return false}finally{O.value=false;}}function T(){A.value=true,w.value={},C.value=false,O.value=false,a();}function s(){h(),$.stop(),$=effectScope();}return reactive({...p,$pending:C,$valid:A,$metadata:w,$haveAsync:V,$validating:O,$parse:u,$unwatch:s,$watch:a,$reset:T})}function be({state:e,rulesDef:t,customMessages:r,path:n,fieldName:l,storage:c,options:m,externalErrors:d,schemaErrors:$,schemaMode:p,onUnwatch:h,$isArray:V,initialState:C,shortcuts:A,onValidate:w}){let O=effectScope(),a,S=[],E,D,u,T,s,o=()=>{};function b(){let v=t.value,j=c.checkRuleDeclEntry(n,v);z.value=Object.fromEntries(Object.entries(v).filter(([g])=>g.startsWith("$"))),G(),I.value=Object.fromEntries(Object.entries(t.value).filter(([g])=>!g.startsWith("$")).map(([g,ee])=>{if(ee){let se=toRef(()=>ee);return [g,wt({modifiers:{$autoDirty:a.$autoDirty,$rewardEarly:a.$rewardEarly},customMessages:r,rule:se,ruleKey:g,state:e,path:n,storage:c,$debounce:z.value.$debounce})]}return []}).filter(g=>!!g.length)),a.processShortcuts(),M(),j?.valid!=null&&(a.$dirty.value=c.getDirtyState(n),(a.$dirty.value&&a.$autoDirty.value||a.$rewardEarly.value&&a.$error.value)&&o()),c.addRuleDeclEntry(n,v);}function M(){o=a.$debounce.value?Ve(oe,a.$debounce.value??a.$haveAnyAsyncRule?100:0):oe;}function L(){I.value&&Object.entries(I.value).forEach(([v,j])=>{j.$unwatch();}),u(),s?.(),a.$dirty.value&&c.setDirtyEntry(n,a.$dirty.value),E?.(),D?.(),O.stop(),O=effectScope(),S.forEach(v=>v.stop()),S=[],h?.(),T?.();}function G(){I.value&&Object.entries(I.value).forEach(([v,j])=>{j.$watch();}),a=O.run(()=>{let v=ref(false),j=ref(false),g=computed(()=>v.value),ee=computed(()=>z.value.$debounce),se=computed(()=>z.value.$lazy!=null?z.value.$lazy:unref(m.lazy)!=null?unref(m.lazy):false),le=computed(()=>z.value.$rewardEarly!=null?z.value.$rewardEarly:unref(m.rewardEarly)!=null?unref(m.rewardEarly):false),U=computed(()=>z.value.$clearExternalErrorsOnChange!=null?z.value.$clearExternalErrorsOnChange:unref(m.clearExternalErrorsOnChange)!=null?unref(m.clearExternalErrorsOnChange):true),P=computed(()=>z.value.$autoDirty!=null?z.value.$autoDirty:unref(m.autoDirty)!=null?unref(m.autoDirty):!le.value),H=computed(()=>Object.entries(I.value).some(([ie,Y])=>Y.$validating)),Ie=computed({get:()=>e.value,set(ie){E(),e.value=ie,X();}}),Fe=computed(()=>ye.value&&!Oe.value&&v.value),ut=computed(()=>Xe({field:{$rules:I.value,$error:Fe.value,$externalErrors:d?.value,$schemaErrors:$?.value}})),ct=computed(()=>Xe({field:{$rules:I.value,$error:Fe.value,$externalErrors:d?.value,$schemaErrors:$?.value},silent:true})),He=computed(()=>v.value?C.value instanceof Date&&e.value instanceof Date?ze(C.value).getDate()!==ze(e.value).getDate():C.value==null?!!e.value:Array.isArray(e.value)&&Array.isArray(C.value)?e.value.length!==C.value.length:C.value!==e.value:false),ft=computed(()=>He.value),Rt=computed(()=>Ot({field:{$rules:I.value}})),dt=computed(()=>P.value?g.value&&!(ye.value||Oe.value):!(ye.value||Oe.value)),Oe=computed(()=>j.value||!le.value?Object.entries(I.value).some(([ie,Y])=>Y.$pending):false),ye=computed(()=>d?.value?.length||$?.value?.length?true:je.value?false:!le.value||le.value&&j.value?Object.entries(I.value).some(([ie,Y])=>!Y.$valid):false),pt=computed(()=>l),je=computed(()=>!!(te(I.value)&&!p)),mt=computed(()=>d?.value?.length||je.value?false:v.value&&!te(e.value)&&!H.value?p?!$?.value?.length:Object.values(I.value).some(Y=>Y.$active)?Object.values(I.value).filter(Y=>Y.$active).every(Y=>Y.$valid):false:false),Bt=computed(()=>Object.entries(I.value).some(([ie,Y])=>Y.$haveAsync));function Ht(){A?.fields&&Object.entries(A.fields).forEach(([ie,Y])=>{let gt=effectScope();yt[ie]=gt.run(()=>{let vt=ref();return watchEffect(()=>{vt.value=Y(reactive({$dirty:v,$externalErrors:d?.value??[],$value:e,$silentValue:Ie,$rules:I,$error:Fe,$pending:Oe,$invalid:ye,$correct:mt,$errors:ut,$ready:dt,$silentErrors:ct,$anyDirty:g,$tooltips:Rt,$name:pt,$inactive:je,$edited:He,$anyEdited:ft}));}),vt}),S.push(gt);});}let yt={};return watch(ye,ie=>{ie||(j.value=false);}),{$error:Fe,$pending:Oe,$invalid:ye,$correct:mt,$debounce:ee,$lazy:se,$errors:ut,$ready:dt,$silentErrors:ct,$rewardEarly:le,$autoDirty:P,$clearExternalErrorsOnChange:U,$anyDirty:g,$edited:He,$anyEdited:ft,$name:pt,$haveAnyAsyncRule:Bt,$shortcuts:yt,$validating:H,$tooltips:Rt,$dirty:v,triggerPunishment:j,processShortcuts:Ht,$silentValue:Ie,$inactive:je}}),X(),u=watch(a.$dirty,v=>{c.setDirtyEntry(n,v),Object.values(I.value).forEach(j=>{j.$fieldDirty=v;});}),s=watch([a.$error,a.$correct,a.$invalid,a.$pending],()=>{Object.values(I.value).forEach(v=>{v.$fieldError=a.$error.value,v.$fieldInvalid=a.$invalid.value,v.$fieldPending=a.$pending.value,v.$fieldCorrect=a.$correct.value;});}),D=watch(a.$invalid,v=>{a.$rewardEarly.value&&!v&&(a.triggerPunishment.value=false);}),T=watch(a.$haveAnyAsyncRule,M);}function X(){E=watch(e,()=>{a.$autoDirty.value&&(a.$dirty.value||(a.$dirty.value=true)),t.value instanceof Function&&b(),(a.$autoDirty.value||a.$rewardEarly.value&&a.$error.value)&&o(),a.$rewardEarly.value!==true&&a.$clearExternalErrorsOnChange.value&&R();},{deep:V?true:Ne?1:true,flush:"post"});}function oe(){Object.values(I.value).forEach(v=>{v.$parse();});}let I=ref({}),z=ref({});b();function me(v,j){if(R(),a.$dirty.value=false,a.triggerPunishment.value=false,c.setDirtyEntry(n,false),!j)if(v?.toInitialState)L(),e.value=N(C);else if(v?.toState){L();let g;typeof v?.toState=="function"?g=v?.toState():g=v?.toState,C.value=N(g),e.value=N(g);}else C.value=Q(e.value)?N(e.value):Array.isArray(e.value)?[...e.value]:e.value;j||Object.entries(I.value).forEach(([g,ee])=>{ee.$reset();}),!a.$lazy.value&&a.$autoDirty.value&&Object.values(I.value).forEach(g=>g.$parse()),j||b();}function ue(v=true,j=false){a.$dirty.value||(a.$dirty.value=true),j&&v?(a.$autoDirty.value||a.$rewardEarly.value&&a.$error.value)&&o():v&&o();}async function i(){try{if(p)return w?(ue(!1),w()):{valid:!1,data:e.value};let v=e.value;if(a.triggerPunishment.value=!0,!a.$dirty.value)a.$dirty.value=!0;else if(a.$autoDirty.value&&a.$dirty.value&&!a.$pending.value)return {valid:!a.$error.value,data:v};return p?{valid:!$?.value?.length,data:v}:te(I.value)?{valid:!0,data:v}:{valid:(await Promise.allSettled(Object.entries(I.value).map(([ee,se])=>se.$parse()))).every(ee=>ee.status==="fulfilled"?ee.value===!0:!1),data:v}}catch{return {valid:false,data:e.value}}}function f(v=true){return a.$dirty.value?e.value:v?{_null:true}:null}function R(){d?.value?.length&&(d.value=[]);}!a.$lazy.value&&!a.$dirty.value&&a.$autoDirty.value&&o();let{$shortcuts:x,$validating:F,$autoDirty:B,$rewardEarly:y,$clearExternalErrorsOnChange:_,$haveAnyAsyncRule:q,$debounce:Z,$lazy:J,triggerPunishment:fe,...ce}=a;return reactive({...ce,$externalErrors:d,$value:e,$rules:I,...x,$reset:me,$touch:ue,$validate:i,$unwatch:L,$watch:G,$extractDirtyFields:f,$clearExternalErrors:R})}function tt({$id:e,path:t,index:r,options:n,storage:l,stateValue:c,customMessages:m,rules:d,externalErrors:$,schemaErrors:p,initialState:h,shortcuts:V,fieldName:C,schemaMode:A}){let w=d.$key?d.$key:$e(),O=`${t}.${String(w)}`;typeof c.value=="object"&&c.value!=null&&(c.value.$id?O=`${t}.${c.value.$id}`:Object.defineProperties(c.value,{$id:{value:w,enumerable:false,configurable:false,writable:false}}));let a=toRef($?.value??[],r),S=computed(()=>p?.value?.[r]),E=Te({state:c,rulesDef:toRef(()=>d),customMessages:m,path:O,storage:l,options:n,externalErrors:a,schemaErrors:S,initialState:h,shortcuts:V,fieldName:C,schemaMode:A});if(E){let D=c.value?.$id;E.$id=D??String(w),l.addArrayStatus(e,E.$id,E);}return E}function Ft({state:e,rulesDef:t,customMessages:r,path:n,storage:l,options:c,externalErrors:m,schemaErrors:d,schemaMode:$,initialState:p,shortcuts:h,fieldName:V}){let C=effectScope(),A,w=effectScope(),O,a=[];if(!Array.isArray(e.value)&&!t.value.$each)return;let S=ref(),E=ref(e.value),D,u=ref({}),T=l.getCollectionsEntry(n);O=w.run(()=>({isPrimitiveArray:computed(()=>Array.isArray(e.value)&&e.value.length?e.value.every(f=>typeof f!="object"):t.value.$each&&!(t.value.$each instanceof Function)?Object.values(t.value.$each).every(f=>we(f)||typeof f=="function"):false)})),s(),M();function s(){typeof e.value=="object"&&(e.value!=null&&!e.value?.$id&&e.value!==null?(S.value=$e(),Object.defineProperties(e.value,{$id:{value:S.value,enumerable:false,configurable:false,writable:false}})):e.value?.$id&&(S.value=e.value.$id)),E.value=u.value.$value,Array.isArray(e.value)&&!O.isPrimitiveArray.value?T.value=e.value.filter(i=>typeof i=="object").map((i,f)=>{let{scope:R,unwrapped:x}=Qe(t.value.$each,toRef(()=>i),f);R&&a.push(R);let F=toRef(p.value??[],f),B=toRef(m?.value??{},"$each"),y=computed(()=>d?.value?.$each),_=tt({$id:S.value,path:n,customMessages:r,rules:x??{},stateValue:toRef(()=>i),index:f,options:c,storage:l,externalErrors:B,schemaErrors:y,initialState:F,shortcuts:h,fieldName:V,schemaMode:$});return _||null}).filter(i=>!!i):T.value=[],u.value=be({state:e,rulesDef:t,customMessages:r,path:n,storage:l,options:c,externalErrors:toRef(m?.value??{},"$self"),schemaErrors:computed(()=>d?.value?.$self),$isArray:true,initialState:p,shortcuts:h,fieldName:V,schemaMode:$});}function o(){if(Array.isArray(e.value)&&!O.isPrimitiveArray.value){let i=N(T.value);T.value=e.value.filter(f=>typeof f=="object").map((f,R)=>{let x=toRef(()=>f);if(f.$id&&T.value.find(F=>F.$id===f.$id)){let F=l.getArrayStatus(S.value,f.$id);return F?(F.$value=x,F):null}else {let{scope:F,unwrapped:B}=Qe(t.value.$each,x,R);F&&a.push(F);let y=toRef(m?.value??{},"$each"),_=computed(()=>d?.value?.$each??[]),q=tt({$id:S.value,path:n,customMessages:r,rules:B??{},stateValue:x,index:R,options:c,storage:l,externalErrors:y,schemaErrors:_,initialState:toRef(p.value??[],R),shortcuts:h,fieldName:V,schemaMode:$});return q||null}}).filter(f=>!!f),i.filter(f=>!e.value?.find(R=>f.$id===R.$id)).forEach((f,R)=>{l.deleteArrayStatus(S.value,R.toString());});}else T.value=[];}function b(){D=watch(e,()=>{e.value!=null&&!Object.hasOwn(e.value,"$id")?s():o();},{deep:Ne?1:true,flush:"pre"});}function M(){b(),C=effectScope(),A=C.run(()=>{let i=computed({get:()=>e.value,set(g){D(),e.value=g,b();}}),f=computed(()=>u.value.$dirty&&(!T.value.length||T.value.every(g=>g.$dirty))),R=computed(()=>u.value.$anyDirty||T.value.some(g=>g.$anyDirty)),x=computed(()=>u.value.$invalid||T.value.some(g=>g.$invalid)),F=computed(()=>(te(u.value.$rules)?true:u.value.$correct)&&(!T.value.length||T.value.every(g=>g.$correct||g.$anyDirty&&!g.$invalid))),B=computed(()=>u.value.$error||T.value.some(g=>g.$error)),y=computed(()=>!(x.value||_.value)),_=computed(()=>u.value.$pending||T.value.some(g=>g.$pending)),q=computed(()=>!!T.value.length&&T.value.every(g=>g.$edited)),Z=computed(()=>u.value.$anyEdited||T.value.some(g=>g.$anyEdited)),J=computed(()=>({$self:u.value.$errors,$each:T.value.map(g=>g.$errors)})),fe=computed(()=>({$self:u.value.$silentErrors,$each:T.value.map(g=>g.$silentErrors)})),ce=computed(()=>V);function v(){h?.collections&&Object.entries(h?.collections).forEach(([g,ee])=>{let se=effectScope();j[g]=se.run(()=>{let le=ref();return watchEffect(()=>{le.value=ee(reactive({$dirty:f,$error:B,$silentValue:i,$pending:_,$invalid:x,$correct:F,$errors:J,$ready:y,$silentErrors:fe,$anyDirty:R,$name:ce,$each:T,$self:u,$value:e,$edited:q,$anyEdited:Z}));}),le}),a.push(se);});}let j={};return v(),{$dirty:f,$anyDirty:R,$invalid:x,$correct:F,$error:B,$pending:_,$errors:J,$silentErrors:fe,$ready:y,$name:ce,$shortcuts:j,$silentValue:i,$edited:q,$anyEdited:Z}}),O.isPrimitiveArray.value&&t.value.$each&&console.warn(`${n} is a Array of primitives. Tracking can be lost when reassigning the Array. We advise to use an Array of objects instead`);}function L(){D&&D(),u.value&&u.value.$unwatch(),T.value&&T.value.forEach(i=>{"$dirty"in i&&i.$unwatch();}),C.stop(),C=effectScope(),w.stop(),w=effectScope(true),a.forEach(i=>i.stop()),a=[];}function G(i=true,f=false){u.value.$touch(i,f),T.value.forEach(R=>{R.$touch(i,f);});}function X(i,f){if(L(),!f)if(i?.toInitialState)e.value=N(p.value);else if(i?.toState){let R;typeof i?.toState=="function"?R=i?.toState():R=i?.toState,p.value=N(R),e.value=N(R);}else p.value=N(e.value);u.value.$reset(),T.value.forEach(R=>{R.$reset(i,true);}),f||s();}async function oe(){let i=e.value;try{return {valid:(await Promise.allSettled([u.value.$validate(),...T.value.map(x=>x.$validate())])).every(x=>x.status==="fulfilled"?x.value.valid===!0:!1),data:i}}catch{return {valid:false,data:i}}}function I(){u.value.$clearExternalErrors(),T.value.forEach(i=>{i.$clearExternalErrors();});}function z(i=true){let f=T.value.map(R=>{if(Ct(R))return R.$extractDirtyFields(i)});return i&&f.every(R=>te(R))&&(f=[]),f}let{$shortcuts:me,...ue}=A;return reactive({$self:u,...ue,...me,$each:T,$value:e,$validate:oe,$unwatch:L,$watch:M,$touch:G,$reset:X,$extractDirtyFields:z,$clearExternalErrors:I})}function We({rulesDef:e,state:t,path:r="",rootRules:n,externalErrors:l,schemaErrors:c,rootSchemaErrors:m,validationGroups:d,initialState:$,fieldName:p,...h}){let V=effectScope(),C,A=[],w=null,O=null,a=null,S=null;async function D(i=true){let f=Object.entries(e.value),R=Object.fromEntries(f.filter(([y,_])=>!!_).map(([y,_])=>{if(_){let q=toRef(t.value??{},y),Z=toRef(()=>_),J=toRef(l?.value??{},y),fe=computed(()=>c?.value?.[y]),ce=toRef($?.value??{},y);return [y,Te({state:q,rulesDef:Z,path:r?`${r}.${y}`:y,externalErrors:J,schemaErrors:fe,initialState:ce,fieldName:y,...h})]}return []})),x=Object.fromEntries(Object.entries(unref(l)??{}).filter(([y,_])=>!(y in e.value)&&!!_).map(([y])=>{let _=toRef(t.value??{},y),q=toRef(l?.value??{},y),Z=computed(()=>c?.value?.[y]),J=toRef($?.value??{},y);return [y,Te({state:_,rulesDef:computed(()=>({})),path:r?`${r}.${y}`:y,externalErrors:q,schemaErrors:Z,initialState:J,fieldName:y,...h})]})),F=Object.fromEntries(Object.entries(unref(c)??{}).map(([y])=>{let _=toRef(t.value??{},y),q=toRef(l?.value??{},y),Z=computed(()=>c?.value?.[y]),J=toRef($?.value??{},y);return [y,Te({state:_,rulesDef:computed(()=>({})),path:r?`${r}.${y}`:y,externalErrors:q,schemaErrors:Z,initialState:J,fieldName:y,...h})]})),B=Object.fromEntries(Object.entries(t.value??{}).filter(([y])=>!(y in e.value)&&!(y in(x??{}))&&!(y in(F??{}))).map(([y])=>{let _=toRef(t.value??{},y),q=toRef(l?.value??{},y),Z=computed(()=>c?.value?.[y]),J=toRef($?.value??{},y);return [y,Te({state:_,rulesDef:computed(()=>({})),path:r?`${r}.${y}`:y,externalErrors:q,schemaErrors:Z,initialState:J,fieldName:y,...h})]}));u.value={...R,...x,...F,...B},i&&o();}let u=h.storage.getFieldsEntry(r);D();function T(){l&&(a=watch(l,()=>{b(),D();},{deep:true}));}function s(){S=watch(t,()=>{b(),D(),G(true,true);},{flush:"sync"});}function o(){n&&(w?.(),w=watch(n,()=>{b(),D();},{deep:true,flush:"post"}),T()),m&&(O?.(),O=watch(m,()=>{b(),D();},{deep:true,flush:"post"})),s(),C=V.run(()=>{let i=computed({get:()=>t.value,set(U){b(),t.value=U,D();}}),f=computed(()=>!!Object.entries(u.value).length&&Object.entries(u.value).every(([U,P])=>P?.$dirty)),R=computed(()=>Object.entries(u.value).some(([U,P])=>P?.$anyDirty)),x=computed(()=>!!Object.entries(u.value).length&&Object.entries(u.value).some(([U,P])=>P?.$invalid)),F=computed(()=>{let U=Object.entries(u.value).filter(([P,H])=>It(H)?!H.$inactive:true);return U.length?U.every(([P,H])=>H?.$correct||H.$anyDirty&&!H.$invalid):false}),B=computed(()=>!!Object.entries(u.value).length&&Object.entries(u.value).some(([U,P])=>P?.$error)),y=computed(()=>unref(h.options.rewardEarly)!=null?unref(h.options.rewardEarly):false),_=computed(()=>unref(h.options.autoDirty)!=null?unref(h.options.autoDirty):!y.value),q=computed(()=>_.value?R.value&&!(x.value||J.value):!(x.value||J.value)),Z=ref(false),J=computed(()=>Z.value||Object.entries(u.value).some(([U,P])=>P?.$pending)),fe=computed(()=>Object.fromEntries(Object.entries(u.value).map(([U,P])=>[U,P?.$errors]))),ce=computed(()=>Object.fromEntries(Object.entries(u.value).map(([U,P])=>[U,P?.$silentErrors]))),v=computed(()=>!!Object.entries(u.value).length&&Object.entries(u.value).every(([U,P])=>P?.$edited)),j=computed(()=>Object.entries(u.value).some(([U,P])=>P?.$anyEdited)),g=computed(()=>p);function ee(){h.shortcuts?.nested&&Object.entries(h.shortcuts.nested).forEach(([U,P])=>{let H=effectScope();le[U]=H.run(()=>{let Ie=ref();return watchEffect(()=>{Ie.value=P(reactive({$dirty:f,$value:t,$silentValue:i,$error:B,$pending:J,$invalid:x,$correct:F,$ready:q,$anyDirty:R,$name:g,$silentErrors:ce,$errors:fe,$fields:u,$edited:v,$anyEdited:j}));}),Ie}),A.push(H);});}let se=computed({get:()=>d?Object.fromEntries(Object.entries(d?.(u.value)??{}).map(([U,P])=>P.length?[U,{...Object.fromEntries(["$invalid","$error","$pending","$dirty","$correct"].map(H=>[H,St(P,H)])),...Object.fromEntries(["$errors","$silentErrors"].map(H=>[H,ht(P,H)]))}]:[])):{},set(){}}),le={};return ee(),{$dirty:f,$anyDirty:R,$invalid:x,$correct:F,$error:B,$pending:J,$errors:fe,$silentErrors:ce,$ready:q,$name:g,$shortcuts:le,$groups:se,$silentValue:i,$edited:v,$anyEdited:j,$localPending:Z}});}function b(){w?.(),a?.(),S?.(),O?.(),A=[],C={},u.value&&Object.entries(u.value).forEach(([i,f])=>{f.$unwatch();});}function M(){Object.entries(u.value).forEach(([i,f])=>{f.$clearExternalErrors();});}function L(i,f){if(a?.(),b(),!f)if(i?.toInitialState)t.value=N({...$.value??{}});else if(i?.toState){let R;typeof i?.toState=="function"?R=i?.toState():R=i?.toState,$.value=N(R),t.value=N(R);}else $.value=N(t.value);Object.values(u.value).forEach(R=>{R.$reset(i,true);}),T(),f||D();}function G(i=true,f=false){Object.values(u.value).forEach(R=>{R.$touch(i,f);});}function X(i){return i.filter(([f,R])=>Q(R)?!(R&&typeof R=="object"&&"_null"in R)&&!te(R):Array.isArray(R)?R.length:true)}function oe(i=true){let f=Object.entries(u.value).map(([R,x])=>[R,x.$extractDirtyFields(i)]);return i&&(f=X(f)),Object.fromEntries(f)}async function I(){try{if(h.schemaMode)return h.onValidate?(G(!1),C.$localPending.value=!0,h.onValidate()):{valid:!1,data:t.value};{let i=t.value;return {valid:(await Promise.allSettled(Object.values(u.value).map(x=>x.$validate()))).every(x=>x.status==="fulfilled"?x.value.valid===!0:!1),data:i}}}catch{return {valid:false,data:t.value}}finally{C.$localPending.value=false;}}let{$shortcuts:z,$localPending:me,...ue}=C;return reactive({...ue,...z,$fields:u,$value:t,$reset:L,$touch:G,$validate:I,$unwatch:b,$watch:o,$clearExternalErrors:M,$extractDirtyFields:oe})}function Te({rulesDef:e,...t}){if(Dt(e,t.state))return Ft({rulesDef:e,...t});if(ke(t.state,e)){if(_e(t.state))return We({rulesDef:e,...t});{let n=effectScope().run(()=>{let m=toRef(t.state.value?t.state:ref({}));return watch(()=>t.state.value,d=>{m.value=d;},{deep:true}),watch(m,d=>{t.state.value=d;},{deep:true}),{fakeState:m}}),{state:l,...c}=t;return We({rulesDef:e,...c,state:n.fakeState})}}else if(Ge(e))return be({rulesDef:e,...t})}function Ce({initialState:e,options:t,scopeRules:r,state:n,customRules:l,shortcuts:c,schemaErrors:m,schemaMode:d=false,onValidate:$}){let p=Ye(),h=ref();return ke(n,r)?h.value=We({rootRules:r,rulesDef:r,state:n,customMessages:l?.(),storage:p,options:t,externalErrors:t.externalErrors,validationGroups:t.validationGroups,initialState:e,shortcuts:c,fieldName:"root",path:"",schemaErrors:m,rootSchemaErrors:m,schemaMode:d,onValidate:$}):Ge(r)&&(h.value=be({rulesDef:r,state:n,customMessages:l?.(),storage:p,options:t,externalErrors:t.externalErrors,initialState:e,shortcuts:c,fieldName:"root",path:"",schemaMode:d,schemaErrors:m,onValidate:$})),getCurrentScope()&&onScopeDispose(()=>{h.value?.$unwatch();}),reactive({regle:h})}function at(e,t,r){let n={autoDirty:t?.autoDirty,lazy:t?.lazy,rewardEarly:t?.rewardEarly,clearExternalErrorsOnChange:t?.clearExternalErrorsOnChange};function l(c,m,d){let $=isRef(m)?m:computed(typeof m=="function"?m:()=>m),p={...n,...d},h=isRef(c)?c:ref(c),V=ref(Q(h.value)?{...N(h.value)}:N(h.value));return {r$:Ce({scopeRules:$,state:h,options:p,initialState:V,customRules:e,shortcuts:r}).regle}}return l}var Le=at();function lt(){function e(t,r){return r}return e}var ot=lt();function Nt({rules:e,modifiers:t,shortcuts:r}){let n=at(e,t,r),l=lt();return {useRegle:n,inferRules:l}}function Me(e,t){let r=t??false,n=computed({get:()=>r?Object.values(e).map(s=>s.$value):Object.fromEntries(Object.entries(e).map(([s,o])=>[s,o.$value])),set:s=>{r||typeof s=="object"&&Object.entries(s).forEach(([o,b])=>e[o].$value=b);}}),l=computed({get:()=>Object.fromEntries(Object.entries(e).map(([s,o])=>[s,o.$silentValue])),set:s=>{typeof s=="object"&&Object.entries(s).forEach(([o,b])=>e[o].$silentValue=b);}}),c=computed(()=>{let s=Object.entries(e);return !!s.length&&s.every(([o,b])=>b?.$dirty)}),m=computed(()=>Object.entries(e).some(([s,o])=>o?.$anyDirty)),d=computed(()=>Object.entries(e).some(([s,o])=>o?.$invalid)),$=computed(()=>{let s=Object.entries(e);return !!s.length&&s.every(([o,b])=>b?.$correct||b.$anyDirty&&!b.$invalid)}),p=computed(()=>Object.entries(e).some(([s,o])=>o?.$error)),h=computed(()=>{let s=Object.entries(e);return !!s.length&&s.every(([o,b])=>b?.$ready)}),V=computed(()=>Object.entries(e).some(([s,o])=>o?.$pending)),C=computed(()=>r?Object.entries(e).map(([s,o])=>o.$errors):Object.fromEntries(Object.entries(e).map(([s,o])=>[s,o.$errors]))),A=computed(()=>r?Object.entries(e).map(([s,o])=>o.$silentErrors):Object.fromEntries(Object.entries(e).map(([s,o])=>[s,o.$silentErrors]))),w=computed(()=>{let s=Object.entries(e);return !!s.length&&s.every(([o,b])=>b?.$edited)}),O=computed(()=>Object.entries(e).some(([s,o])=>o?.$anyEdited)),a=computed(()=>r?Object.values(e):e);function S(s){Object.values(e).forEach(o=>{o.$reset(s);});}function E(){Object.values(e).forEach(s=>{s.$touch();});}function D(s=true){return Object.values(e).map(o=>o.$extractDirtyFields(s))}function u(){Object.values(e).forEach(s=>{s.$clearExternalErrors();});}async function T(){try{let s=n.value;return {valid:(await Promise.allSettled(Object.values(e).map(M=>M.$validate()))).every(M=>M.status==="fulfilled"?M.value.valid===!0:!1),data:s}}catch{return {valid:false,data:n.value}}}return reactive({...!r&&{$silentValue:l},$errors:C,$silentErrors:A,$instances:a,$value:n,$dirty:c,$anyDirty:m,$invalid:d,$correct:$,$error:p,$pending:V,$ready:h,$edited:w,$anyEdited:O,$reset:S,$touch:E,$validate:T,$extractDirtyFields:D,$clearExternalErrors:u})}function Gt(e){function t(r){let n=computed(()=>toValue(r));m();let l=ref(d(e.value)),c=reactive({r$:l});function m(){n.value&&!e.value[n.value]&&(e.value[n.value]={});}watch(n,m),watch(e,$=>{l.value=d($);},{deep:true});function d($){if(n.value){let p=$[n.value]??{};return Me(p,true)}else return Me($["~~global"]??{},true)}return {r$:c.r$}}return {useCollectScope:t}}function Lt(e,t){let r=t??Le;return {useScopedRegle:(l,c,m)=>{let{namespace:d,...$}=m??{},p=computed(()=>toValue(d)),h=ref(`${Object.keys(e.value).length+1}-${$e()}`),V=computed(()=>`instance-${h.value}`),{r$:C}=r(l,c,$);w(),Et(A),watch(p,(O,a)=>{A(a),w();}),getCurrentInstance()&&onMounted(()=>{let O=getCurrentInstance();typeof window<"u"&&O?.proxy?.$el?.parentElement&&document.documentElement&&!document.documentElement.contains(O?.proxy?.$el?.parentElement)&&A();});function A(O){let a=O??p.value;a?e.value[a]&&delete e.value[a][V.value]:e.value["~~global"][V.value]&&delete e.value["~~global"][V.value];}function w(){p.value?(e.value[p.value]||(e.value[p.value]={}),e.value[p.value][V.value]=C):(e.value["~~global"]||(e.value["~~global"]={}),e.value["~~global"][V.value]=C);}return {r$:C,dispose:A,register:w}}}}function Be(e){let r=(e?.customStore?()=>(e.customStore&&(e.customStore?.value["~~global"]?e.customStore?.value&&(e.customStore.value={"~~global":{}}):e.customStore.value["~~global"]={}),e.customStore):xt(()=>ref({"~~global":{}})))(),{useScopedRegle:n}=Lt(r,e?.customUseRegle),{useCollectScope:l}=Gt(r);return {useScopedRegle:n,useCollectScope:l}}var {useCollectScope:st,useScopedRegle:it}=Be();
2
2
  export{qe as InternalRuleType,Je as createRule,Be as createScopedUseRegle,Nt as defineRegleConfig,ot as inferRules,Me as mergeRegles,re as unwrapRuleParameters,st as useCollectScope,Le as useRegle,Ce as useRootStorage,it as useScopedRegle};
@@ -1,8 +1,8 @@
1
- import { toValue, version, ref, getCurrentScope, onScopeDispose, reactive, computed, shallowRef, effectScope, isRef, toRef, unref, watch, getCurrentInstance, onMounted, watchEffect } from 'vue';
1
+ import { effectScope, ref, computed, toValue, reactive, watch, getCurrentInstance, onMounted, getCurrentScope, onScopeDispose, isRef, shallowRef, toRef, unref, watchEffect, version } from 'vue';
2
2
 
3
3
  // ../shared/utils/isEmpty.ts
4
4
  function isEmpty(value, considerEmptyArrayInvalid = true) {
5
- if (value === undefined || value === null) {
5
+ if (value === void 0 || value === null) {
6
6
  return true;
7
7
  }
8
8
  if (value instanceof Date) {
@@ -91,7 +91,7 @@ function debounce(func, wait, immediate) {
91
91
  const debouncedFn = (...args) => new Promise((resolve) => {
92
92
  clearTimeout(timeout);
93
93
  timeout = setTimeout(() => {
94
- timeout = undefined;
94
+ timeout = void 0;
95
95
  {
96
96
  Promise.resolve(func.apply(this, [...args])).then(resolve);
97
97
  }
@@ -99,7 +99,7 @@ function debounce(func, wait, immediate) {
99
99
  });
100
100
  debouncedFn.cancel = () => {
101
101
  clearTimeout(timeout);
102
- timeout = undefined;
102
+ timeout = void 0;
103
103
  };
104
104
  return debouncedFn;
105
105
  }
@@ -308,7 +308,7 @@ function useStorage() {
308
308
  }
309
309
  function checkRuleDeclEntry($path, newRules) {
310
310
  const storedRulesDefs = ruleDeclStorage.value.get($path);
311
- if (!storedRulesDefs) return undefined;
311
+ if (!storedRulesDefs) return void 0;
312
312
  const storedRules = storedRulesDefs;
313
313
  const isValidCache = areRulesChanged(newRules, storedRules);
314
314
  if (!isValidCache) return { valid: false };
@@ -545,7 +545,7 @@ function createReactiveRuleStatus({
545
545
  });
546
546
  function computeRuleProcessor(key) {
547
547
  let result = "";
548
- const customProcessor = customMessages ? customMessages[ruleKey]?.[key] : undefined;
548
+ const customProcessor = customMessages ? customMessages[ruleKey]?.[key] : void 0;
549
549
  if (customProcessor) {
550
550
  if (typeof customProcessor === "function") {
551
551
  result = customProcessor($defaultMetadata.value);
@@ -1308,7 +1308,7 @@ function createReactiveCollectionStatus({
1308
1308
  let immediateScopeState;
1309
1309
  let collectionScopes = [];
1310
1310
  if (!Array.isArray(state.value) && !rulesDef.value.$each) {
1311
- return undefined;
1311
+ return void 0;
1312
1312
  }
1313
1313
  const $id = ref();
1314
1314
  const $value = ref(state.value);
@@ -2220,7 +2220,7 @@ function createReactiveChildrenStatus({
2220
2220
  ...properties
2221
2221
  });
2222
2222
  }
2223
- return undefined;
2223
+ return void 0;
2224
2224
  }
2225
2225
 
2226
2226
  // src/core/useRegle/root/useRootStorage.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@regle/core",
3
- "version": "0.10.4",
3
+ "version": "0.10.6",
4
4
  "description": "Type safe form validation library for Vue 3",
5
5
  "peerDependencies": {
6
6
  "pinia": ">=2.2.5",
@@ -13,22 +13,22 @@
13
13
  },
14
14
  "devDependencies": {
15
15
  "@total-typescript/ts-reset": "0.6.1",
16
- "@types/node": "22.10.7",
17
- "@typescript-eslint/eslint-plugin": "8.21.0",
18
- "@typescript-eslint/parser": "8.21.0",
16
+ "@types/node": "22.13.10",
17
+ "@typescript-eslint/eslint-plugin": "8.26.1",
18
+ "@typescript-eslint/parser": "8.26.1",
19
19
  "@vue/test-utils": "2.4.6",
20
- "bumpp": "9.10.2",
21
- "changelogithub": "13.12.1",
20
+ "bumpp": "10.1.0",
21
+ "changelogithub": "13.13.0",
22
22
  "cross-env": "7.0.3",
23
23
  "eslint": "9.15.0",
24
24
  "eslint-config-prettier": "9.1.0",
25
25
  "eslint-plugin-vue": "9.31.0",
26
- "expect-type": "1.1.0",
26
+ "expect-type": "1.2.0",
27
27
  "prettier": "3.3.3",
28
28
  "tsup": "8.3.5",
29
- "type-fest": "4.33.0",
29
+ "type-fest": "4.37.0",
30
30
  "typescript": "5.6.3",
31
- "vitest": "2.1.8",
31
+ "vitest": "3.0.9",
32
32
  "vue": "3.5.13",
33
33
  "vue-eslint-parser": "9.4.3",
34
34
  "vue-tsc": "2.1.10"