@regle/core 1.28.0 → 1.28.1

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @regle/core v1.28.0
2
+ * @regle/core v1.28.1
3
3
  * (c) 2026 Victor Garcia
4
4
  * @license MIT
5
5
  */
@@ -1,12 +1,11 @@
1
1
  /**
2
- * @regle/core v1.28.0
2
+ * @regle/core v1.28.1
3
3
  * (c) 2026 Victor Garcia
4
4
  * @license MIT
5
5
  */
6
6
 
7
7
  import { computed, effectScope, getCurrentInstance, getCurrentScope, inject, isRef, markRaw, nextTick, onMounted, onScopeDispose, reactive, readonly, ref, shallowRef, toRef, toValue, triggerRef, unref, version, watch, watchEffect } from "vue";
8
- import { onDevToolsClientConnected, setupDevtoolsPlugin } from "@vue/devtools-api";
9
- import { DevToolsMessagingHookKeys, DevToolsV6PluginAPIHookKeys, devtoolsContext, devtoolsState, getInspector } from "@vue/devtools-kit";
8
+ import { setupDevtoolsPlugin } from "@vue/devtools-api";
10
9
  /**
11
10
  * Server side friendly way of checking for a File
12
11
  */
@@ -662,12 +661,6 @@ function mergeArrayGroupProperties(entries, property) {
662
661
  return all.concat(fetchedProperty);
663
662
  }, []);
664
663
  }
665
- const regleSymbol = Symbol("regle");
666
- const regleConfigSymbol = Symbol("regle-config");
667
- const REGLE_FLAGS = { REGLE_STATIC: "__regle_static" };
668
- function isRegleDevtoolsTestEnv() {
669
- return Boolean(typeof globalThis !== "undefined" && ("__vitest_worker__" in globalThis || "__JEST_GLOBAL__" in globalThis || typeof window !== "undefined" && "Cypress" in window || typeof process !== "undefined" && process.env && (process.env.VITEST || process.env.JEST_WORKER_ID || process.env.NODE_ENV === "test" || process.env.PLAYWRIGHT_TEST)));
670
- }
671
664
  const COLORS = {
672
665
  ERROR: {
673
666
  text: 16777215,
@@ -761,78 +754,30 @@ const INSPECTOR_IDS = {
761
754
  COMPONENTS: "components",
762
755
  TIMELINE: "regle-timeline"
763
756
  };
764
- /**
765
- * Bypasses Vue Devtools high-performance mode, where `api.sendInspectorTree()` is a no-op.
766
- */
767
- async function syncInspectorToClient(inspectorId, app) {
768
- const inspector = getInspector(inspectorId, app);
769
- const treePayload = {
770
- app,
771
- inspectorId,
772
- filter: inspector?.treeFilter ?? "",
773
- rootNodes: []
774
- };
775
- await devtoolsContext.hooks.callHookWith(async (callbacks) => {
776
- await Promise.all(callbacks.map((cb) => cb(treePayload)));
777
- }, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_TREE, treePayload);
778
- await devtoolsContext.hooks.callHookWith(async (callbacks) => {
779
- await Promise.all(callbacks.map((cb) => cb({
780
- inspectorId,
781
- rootNodes: treePayload.rootNodes
782
- })));
783
- }, DevToolsMessagingHookKeys.SEND_INSPECTOR_TREE_TO_CLIENT, {
784
- inspectorId,
785
- rootNodes: treePayload.rootNodes
786
- });
787
- const nodeId = inspector?.selectedNodeId ?? "";
788
- const statePayload = {
789
- app,
790
- inspectorId,
791
- nodeId,
792
- state: {}
793
- };
794
- const stateCtx = { currentTab: `custom-inspector:${inspectorId}` };
795
- if (nodeId) await devtoolsContext.hooks.callHookWith(async (callbacks) => {
796
- await Promise.all(callbacks.map((cb) => cb(statePayload, stateCtx)));
797
- }, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_STATE, statePayload);
798
- await devtoolsContext.hooks.callHookWith(async (callbacks) => {
799
- await Promise.all(callbacks.map((cb) => cb({
800
- inspectorId,
801
- nodeId,
802
- state: statePayload.state
803
- })));
804
- }, DevToolsMessagingHookKeys.SEND_INSPECTOR_STATE_TO_CLIENT, {
805
- inspectorId,
806
- nodeId,
807
- state: statePayload.state
808
- });
809
- }
810
- async function emitInspectorState(api, app) {
811
- const inspectorId = INSPECTOR_IDS.INSPECTOR;
812
- if (app && (devtoolsState.clientConnected || devtoolsState.connected)) {
813
- await syncInspectorToClient(inspectorId, app);
814
- return;
815
- }
816
- api.sendInspectorTree(inspectorId);
817
- api.sendInspectorState(inspectorId);
757
+ const regleSymbol = Symbol("regle");
758
+ const regleConfigSymbol = Symbol("regle-config");
759
+ const REGLE_FLAGS = { REGLE_STATIC: "__regle_static" };
760
+ function isRegleDevtoolsTestEnv() {
761
+ return Boolean(typeof globalThis !== "undefined" && ("__vitest_worker__" in globalThis || "__JEST_GLOBAL__" in globalThis || typeof window !== "undefined" && "Cypress" in window || typeof process !== "undefined" && process.env && (process.env.VITEST || process.env.JEST_WORKER_ID || process.env.NODE_ENV === "test" || process.env.PLAYWRIGHT_TEST)));
818
762
  }
819
- const REGLE_DEVTOOLS_GLOBAL_KEY = "__REGLE_DEVTOOLS_REGISTRY__";
820
- function createRegleDevtoolsRegistry() {
763
+ function useRegleDevtoolsRegistry() {
821
764
  const loggedWarning = ref(false);
822
765
  const devtoolsApi = shallowRef();
823
- const devtoolsApp = shallowRef();
824
766
  const instances = shallowRef(/* @__PURE__ */ new Map());
825
767
  const watchers = shallowRef(/* @__PURE__ */ new Map());
826
- const instanceIndexCounter = ref(0);
768
+ const idCounters = shallowRef(/* @__PURE__ */ new Map());
769
+ const looseIdCounter = ref(0);
827
770
  let pendingNotifyFrame;
828
- function setApi(api, app) {
771
+ function setApi(api) {
829
772
  devtoolsApi.value = api;
830
- if (app) devtoolsApp.value = app;
831
773
  }
832
774
  function register(r$, options) {
833
- const instanceIndex = ++instanceIndexCounter.value;
834
- const id = `${options?.uid?.toString() ?? "regle"}#${instanceIndex}`;
835
- const name = `r\$ #${options?.name ?? instanceIndex}`;
775
+ const idPath = options?.filePath ?? "loose";
776
+ const existingCounter = idCounters.value.get(idPath);
777
+ const perComponentCounter = existingCounter ? existingCounter + 1 : 1;
778
+ idCounters.value.set(idPath, perComponentCounter);
779
+ const id = `${options?.uid?.toString() ?? "regle"}#${++looseIdCounter.value}`;
780
+ const name = `r\$ #${options?.name ?? perComponentCounter}`;
836
781
  instances.value.set(id, {
837
782
  id,
838
783
  name,
@@ -858,7 +803,7 @@ function createRegleDevtoolsRegistry() {
858
803
  return id;
859
804
  }
860
805
  function notifyDevtools() {
861
- if (devtoolsApi.value) emitInspectorState(devtoolsApi.value, devtoolsApp.value);
806
+ if (devtoolsApi.value) emitInspectorState(devtoolsApi.value);
862
807
  }
863
808
  function scheduleNotifyDevtools() {
864
809
  if (pendingNotifyFrame != null) return;
@@ -890,7 +835,6 @@ function createRegleDevtoolsRegistry() {
890
835
  }
891
836
  return {
892
837
  devtoolsApi,
893
- devtoolsApp,
894
838
  register,
895
839
  unregister,
896
840
  getAll,
@@ -901,13 +845,7 @@ function createRegleDevtoolsRegistry() {
901
845
  loggedWarning
902
846
  };
903
847
  }
904
- function getRegleDevtoolsRegistry() {
905
- if (typeof globalThis === "undefined") return createRegleDevtoolsRegistry();
906
- const globalRegistry = globalThis;
907
- globalRegistry[REGLE_DEVTOOLS_GLOBAL_KEY] ??= createRegleDevtoolsRegistry();
908
- return globalRegistry[REGLE_DEVTOOLS_GLOBAL_KEY];
909
- }
910
- const regleDevtoolsRegistry = getRegleDevtoolsRegistry();
848
+ const regleDevtoolsRegistry = useRegleDevtoolsRegistry();
911
849
  /**
912
850
  * To be used by `useRegle` like composables.
913
851
  */
@@ -1210,6 +1148,10 @@ function handleEditInspectorState(payload) {
1210
1148
  }
1211
1149
  }
1212
1150
  }
1151
+ async function emitInspectorState(api) {
1152
+ api.sendInspectorTree(INSPECTOR_IDS.INSPECTOR);
1153
+ api.sendInspectorState(INSPECTOR_IDS.INSPECTOR);
1154
+ }
1213
1155
  function buildNodeTags(fieldOrR$, componentName) {
1214
1156
  const tags = [];
1215
1157
  let isDisabled = false;
@@ -1438,7 +1380,7 @@ function filterInspectorTree(nodes, filter) {
1438
1380
  }
1439
1381
  return filtered;
1440
1382
  }
1441
- var version$1 = "1.28.0";
1383
+ var version$1 = "1.28.1";
1442
1384
  function createDevtools(app) {
1443
1385
  setupDevtoolsPlugin({
1444
1386
  id: "regle-devtools",
@@ -1449,29 +1391,7 @@ function createDevtools(app) {
1449
1391
  componentStateTypes: ["Regles"],
1450
1392
  app
1451
1393
  }, (api) => {
1452
- regleDevtoolsRegistry.setApi(api, app);
1453
- api.on.getInspectorTree(async (payload) => {
1454
- if (payload.inspectorId === INSPECTOR_IDS.INSPECTOR) {
1455
- const nodes = buildInspectorTree(regleDevtoolsRegistry.getAll(), payload.filter);
1456
- if (nodes.length > 0) payload.rootNodes = nodes;
1457
- else payload.rootNodes = [{
1458
- id: "empty-regles",
1459
- label: "No Regles instances found",
1460
- children: []
1461
- }];
1462
- }
1463
- });
1464
- api.on.getInspectorState((payload) => {
1465
- if (payload.inspectorId === INSPECTOR_IDS.INSPECTOR) {
1466
- const state = buildInspectorState(payload.nodeId, (id) => regleDevtoolsRegistry.get(id));
1467
- if (!state) api.sendInspectorTree(INSPECTOR_IDS.INSPECTOR);
1468
- if (state) payload.state = state;
1469
- else payload.state = {};
1470
- }
1471
- });
1472
- api.on.editInspectorState((payload) => {
1473
- if (payload.inspectorId === INSPECTOR_IDS.INSPECTOR) handleEditInspectorState(payload);
1474
- });
1394
+ regleDevtoolsRegistry.setApi(api);
1475
1395
  api.addInspector({
1476
1396
  id: INSPECTOR_IDS.INSPECTOR,
1477
1397
  label: "Regle",
@@ -1517,10 +1437,29 @@ function createDevtools(app) {
1517
1437
  }
1518
1438
  ]
1519
1439
  });
1520
- onDevToolsClientConnected(() => {
1521
- regleDevtoolsRegistry.notifyDevtools();
1522
- });
1523
1440
  regleDevtoolsRegistry.notifyDevtools();
1441
+ api.on.getInspectorTree(async (payload) => {
1442
+ if (payload.inspectorId === INSPECTOR_IDS.INSPECTOR) {
1443
+ const nodes = buildInspectorTree(regleDevtoolsRegistry.getAll(), payload.filter);
1444
+ if (nodes.length > 0) payload.rootNodes = nodes;
1445
+ else payload.rootNodes = [{
1446
+ id: "empty-regles",
1447
+ label: "No Regles instances found",
1448
+ children: []
1449
+ }];
1450
+ }
1451
+ });
1452
+ api.on.getInspectorState((payload) => {
1453
+ if (payload.inspectorId === INSPECTOR_IDS.INSPECTOR) {
1454
+ const state = buildInspectorState(payload.nodeId, (id) => regleDevtoolsRegistry.get(id));
1455
+ if (!state) api.sendInspectorTree(INSPECTOR_IDS.INSPECTOR);
1456
+ if (state) payload.state = state;
1457
+ else payload.state = {};
1458
+ }
1459
+ });
1460
+ api.on.editInspectorState((payload) => {
1461
+ if (payload.inspectorId === INSPECTOR_IDS.INSPECTOR) handleEditInspectorState(payload);
1462
+ });
1524
1463
  });
1525
1464
  }
1526
1465
  /**
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @regle/core v1.28.0
2
+ * @regle/core v1.28.1
3
3
  * (c) 2026 Victor Garcia
4
4
  * @license MIT
5
5
  */
6
6
 
7
- import{computed as e,effectScope as t,getCurrentInstance as n,getCurrentScope as r,inject as i,isRef as a,markRaw as o,nextTick as s,onMounted as c,onScopeDispose as l,reactive as u,readonly as d,ref as f,shallowRef as p,toRef as m,toValue as h,triggerRef as g,unref as _,version as v,watch as y,watchEffect as b}from"vue";import{DevToolsMessagingHookKeys as x,DevToolsV6PluginAPIHookKeys as S,devtoolsContext as C,devtoolsState as w,getInspector as T}from"@vue/devtools-kit";import{onDevToolsClientConnected as E,setupDevtoolsPlugin as D}from"@vue/devtools-api";function O(e){return e?.constructor?.name==`File`}function k(e){return e&&(e instanceof Date||e.constructor.name==`File`||e.constructor.name==`FileList`)?!1:typeof e==`object`&&!!e&&!Array.isArray(e)}function A(e,t,n){if(!e)return n;var r,i;if(Array.isArray(t)&&(r=t.slice(0)),typeof t==`string`&&(r=t.split(`.`)),typeof t==`symbol`&&(r=[t]),!Array.isArray(r))throw Error(`props arg must be an array, a string or a symbol`);for(;r.length;)if(i=r.shift(),!e||!i||(e=e[i],e===void 0))return n;return e}function j(e,...t){for(var n=[].slice.call(arguments),r,i=n.length;r=n[i-1],i--;)if(!r||typeof r!=`object`&&typeof r!=`function`)throw Error(`expected object, got `+r);for(var a=n[0],o=n.slice(1),s=o.length,i=0;i<s;i++){var c=o[i];for(var l in c)a[l]=c[l]}return a}function M(e){let t={};for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let r=e[n],i=n.split(`.`),a=t;for(let e=0;e<i.length;e++){let t=i[e],n=e===i.length-1,o=t.match(/^\d+$/)?Number(t):null;if(o!==null){if(Array.isArray(a))if(n)a[o]=r;else{if(typeof a[o]!=`object`||a[o]===null){let t=i[e+1];a[o]=t&&t.match(/^\d+$/)?{$each:[],$self:[]}:{}}a=`$each`in a[o]?a[o].$each:a[o]}}else if(n)if(Array.isArray(a[t])){let e=a[t].slice();a[t]={},a[t].$self=e}else typeof a[t]==`object`&&a[t]!==null&&`$each`in a[t]?a[t].$self=r:a[t]=r;else{let n=i[e+1];if(Array.isArray(a[t])){let e=a[t].slice();a[t]={$each:[]},a[t].$self=e}(typeof a[t]!=`object`||a[t]===null||Array.isArray(a[t])&&!n.match(/^\d+$/))&&(n&&n.match(/^\d+$/)?a[t]={$each:[],$self:[]}:a[t]={}),a=`$each`in a[t]?a[t].$each:a[t]}}}return t}function N(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function P(e,t,n,r=!1){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})}function F(e){return typeof e==`function`&&!!e.prototype&&`constructor`in e.prototype&&e.prototype.constructor===e}function I(e,t=!0,n=!0){return e==null?!0:e instanceof Date?isNaN(e.getTime()):O(e)?e.size<=0:Array.isArray(e)?t?e.length===0:!1:k(e)?e==null?!0:n?Object.keys(e).length===0:!1:!String(e).length}const L=Symbol(`regle-rule`);function R(e){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 z(e,t=0){if(t>20)return e;let n=e,r={}.toString.call(e).slice(8,-1);if(r==`Set`&&(n=new Set([...e].map(e=>z(e,t+1)))),r==`Map`&&(n=new Map([...e].map(e=>[z(e[0],t+1),z(e[1],t+1)]))),r==`Date`&&(n=new Date(e.getTime())),r==`RegExp`&&(n=RegExp(e.source,R(e))),r==`Array`||r==`Object`){n=Array.isArray(e)?[]:{};for(let r in e)n[r]=z(e[r],t+1)}return n}function ee(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]`||typeof e==`string`||t===`[object String]`?new Date(e):new Date(NaN)}function B(e,t,{immediate:n=!1,trackDebounceRef:r}={}){let i,a=(...a)=>{r&&(r.value=!0);function o(){r&&(r.value=!1)}return new Promise((r,s)=>{function c(e){r(e),o()}if(clearTimeout(i),i=setTimeout(()=>{if(o(),i=void 0,!n)try{Promise.resolve(e.apply(this,[...a])).then(c).catch(e=>s(e)).finally(o)}catch(e){s(e)}},t),n){o();try{Promise.resolve(e.apply(this,[...a])).then(c).catch(e=>s(e)).finally(o)}catch(e){s(e)}}})};return a.cancel=()=>{clearTimeout(i),i=void 0,r&&(r.value=!1)},a}function te(e,t,n=!1,r=!0){if(e===t)return!0;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(e.constructor!==t.constructor)return!1;var i,a,o;if(Array.isArray(e)&&Array.isArray(t)){if(i=e.length,i!=t.length)return!1;if(r||!r&&n){for(a=i;a--!==0;)if(!te(e[a],t[a],n,!1))return!1}return!0}if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(o=Object.keys(e),i=o.length,i!==Object.keys(t).length)return!1;for(a=i;a--!==0;)if(!Object.prototype.hasOwnProperty.call(t,o[a]))return!1;for(a=i;a--!==0;){var s=o[a];if(k(e)&&k(t)&&s&&(r||!r&&n)&&!te(e[s],t[s],n,!1))return!1}return!0}return e!==e&&t!==t}var V=class extends Error{constructor(e=`Promise was aborted`){super(e),this.name=`AbortError`}};function H(e){let t=new AbortController,{signal:n}=t,r=new Promise((t,r)=>{function i(){r(new V)}n.addEventListener(`abort`,i),e.then(e=>{n.removeEventListener(`abort`,i),n.aborted?r(new V):t(e)}).catch(e=>{n.removeEventListener(`abort`,i),n.aborted?r(new V):r(e)})});function i(e){t.abort(e)}return{promise:r,abort:i,signal:n}}function U(e,t,r){if(!a(e))return r?.(),u(e);let i=f(!1);return n()&&c(async()=>{await s(),typeof window<`u`&&window.requestAnimationFrame(()=>{i.value=!0})}),u(new Proxy({},{get(n,a,o){if(r?.(),t.value&&a!==`$value`&&i.value)return Reflect.get(n,a,o);if(e.value!==void 0)return _(Reflect.get(e.value,a,o))},set(t,n,i){return r?.(),a(e.value[n])&&!a(i)?e.value[n].value=i:e.value[n]=i,!0},deleteProperty(t,n){return r?.(),Reflect.deleteProperty(e.value,n)},has(t,n){return r?.(),e.value===void 0?!1:Reflect.has(e.value,n)},ownKeys(){return r?.(),e.value===void 0?[]:Object.keys(e.value)},getOwnPropertyDescriptor(){return r?.(),{enumerable:!0,configurable:!0}}}))}const W={Inline:`__inline`,Async:`__async`};function G(e){try{return e.map(e=>h(e))}catch{return[]}}function K(t){return t.map(t=>t instanceof Function?e(t):a(t)?t:m(()=>t))}function ne(e){let t=e.toString().replace(/\/\/.*$/gm,``).replace(/\/\*[\s\S]*?\*\//g,``).match(/^(?:async\s*)?(?:function\b.*?\(|\((.*?)\)|(\w+))\s*=>|\((.*?)\)\s*=>|function.*?\((.*?)\)|\((.*?)\)/);return t?(t[0]||t[1]||t[2]||t[3]||t[4]||``).split(`,`).map(e=>e.trim()).filter(e=>e.length>0).length:0}function q(e,...t){let{validator:n,type:r,async:i}=e,a=i||r===W.Async||n.constructor.name===`AsyncFunction`;return o({validator(n,...r){return e.validator(n,...G(r.length?r:t))},message(n){return typeof e.message==`function`?e.message({...n,$params:G(n?.$params?.length?n.$params:t)}):e.message},active(n){return typeof e.active==`function`?e.active({...n,$params:G(n?.$params?.length?n.$params:t)}):e.active??!0},tooltip(n){return typeof e.tooltip==`function`?e.tooltip({...n,$params:G(n?.$params?.length?n.$params:t)}):e.tooltip??[]},exec(n){let r=e.validator(n,...G(t)),i;return r instanceof Promise?r.then(e=>(i=e,typeof i==`object`&&`$valid`in i?i.$valid:typeof i==`boolean`?i:!1)):(i=r,typeof i==`object`&&`$valid`in i?i.$valid:typeof i==`boolean`?i:!1)},type:r,_validator:e.validator,_message:e.message,_active:e.active,_tooltip:e.tooltip,_type:e.type,_message_patched:!1,_tooltip_patched:!1,_async:a,_params:K(t),_brand:L})}function re(e){if(typeof e.validator==`function`){let t=[],n=e.async??e.validator.constructor.name===`AsyncFunction`,r=q({...e,async:n},...t);if(ne(e.validator)>1){let t=function(...t){return q(e,...t)};return t.validator=r.validator,t.message=r.message,t.active=r.active,t.tooltip=r.tooltip,t.type=r.type,t.exec=r.exec,t._validator=r.validator,t._message=r.message,t._active=r.active,t._tooltip=r.tooltip,t._type=e.type,t._message_pacthed=!1,t._tooltip_pacthed=!1,t._async=n,t}else return r}throw Error(`[createRule] validator must be a function`)}const J=Symbol.for(`regle:instance`);function Y(e){return typeof e==`object`&&!!e&&J in e}function ie(e){return k(e.value)}function ae(n,r,i){let a=t(),o;return o=n instanceof Function?a.run(()=>({computedEach:e(()=>n(r,i??0))})).computedEach:n,{scope:a,unwrapped:o}}const oe={LessThan:-1,EqualTo:0,GreaterThan:1};function se(e,t){let n=String(e).split(`.`),r=String(t).split(`.`);for(let e=0;e<Math.min(n.length,r.length);e++){let t=Number(n[e]),i=Number(r[e]);if(t>i)return oe.GreaterThan;if(i>t)return oe.LessThan;if(!isNaN(t)&&isNaN(i))return oe.GreaterThan;if(isNaN(t)&&!isNaN(i))return oe.LessThan}return oe.EqualTo}const ce=se(v,`3.5.0`)!==-1;function le(){return Math.floor(Math.random()*Date.now()).toString()}function X(){return typeof window>`u`?le():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(10)}function Z(e){return r()?(l(e),!0):!1}function ue(e){let n=!1,r,i=t(!0);return((...t)=>(n||=(r=i.run(()=>e(...t)),!0),r))}function de(e,t){return e.some(e=>t?e?.[t]:!1)}function fe(e,t){return t?e.reduce((e,n)=>{let r=n?.[t]||[];return e.concat(r)},[]):[]}const pe=Symbol(`regle`),me=Symbol(`regle-config`),he={REGLE_STATIC:`__regle_static`};function ge(){return!!(typeof globalThis<`u`&&(`__vitest_worker__`in globalThis||`__JEST_GLOBAL__`in globalThis||typeof window<`u`&&`Cypress`in window||typeof process<`u`&&process.env&&(process.env.VITEST||process.env.JEST_WORKER_ID||process.env.NODE_ENV===`test`||process.env.PLAYWRIGHT_TEST)))}const Q={ERROR:{text:16777215,bg:15680580},INVALID:{text:16777215,bg:16747520},CORRECT:{text:16777215,bg:1096065},VALID:{text:16777215,bg:292951},PENDING:{text:16777215,bg:16096779},DIRTY:{text:2042167,bg:16708551},COMPONENT:{text:16777215,bg:6514417},PRISTINE:{text:1120295,bg:16777215},INACTIVE:{text:0,bg:11581118},OPTIONAL:{text:0,bg:11581118},DISABLED:{text:15680580,bg:15067115}},_e={PRISTINE:`Field is not touched yet`,DIRTY:`Field have been touched`,ERROR:`Field has errors`,CORRECT:`Field is dirty and all actives rules are valid`,VALID:`Field rules are all valid`,PENDING:`Field is pending`,INACTIVE:`Field is inactive`,OPTIONAL:`Field is not required`,DISABLED:`Validation reactivity is paused by the disabled modifier`},ve={DIRTY:`All nested fields have been touched`,ERROR:`Some nested fields have errors`,CORRECT:`All nested fields are correct`,PENDING:`Some nested fields are pending`},ye={INACTIVE:`The rule is not active`,INVALID:`Rule is invalid`,VALID:`Rule is valid`,PENDING:`Rule validator is pending`},be={ROOT:[`$value`,`$invalid`,`$dirty`,`$error`,`$pending`,`$valid`,`$ready`],FIELD:[`$value`,`$invalid`,`$dirty`,`$error`,`$pending`,`$errors`]},xe={INSPECTOR:`regle-inspector`,COMPONENTS:`components`,TIMELINE:`regle-timeline`};async function Se(e,t){let n=T(e,t),r={app:t,inspectorId:e,filter:n?.treeFilter??``,rootNodes:[]};await C.hooks.callHookWith(async e=>{await Promise.all(e.map(e=>e(r)))},S.GET_INSPECTOR_TREE,r),await C.hooks.callHookWith(async t=>{await Promise.all(t.map(t=>t({inspectorId:e,rootNodes:r.rootNodes})))},x.SEND_INSPECTOR_TREE_TO_CLIENT,{inspectorId:e,rootNodes:r.rootNodes});let i=n?.selectedNodeId??``,a={app:t,inspectorId:e,nodeId:i,state:{}},o={currentTab:`custom-inspector:${e}`};i&&await C.hooks.callHookWith(async e=>{await Promise.all(e.map(e=>e(a,o)))},S.GET_INSPECTOR_STATE,a),await C.hooks.callHookWith(async t=>{await Promise.all(t.map(t=>t({inspectorId:e,nodeId:i,state:a.state})))},x.SEND_INSPECTOR_STATE_TO_CLIENT,{inspectorId:e,nodeId:i,state:a.state})}async function Ce(e,t){let n=xe.INSPECTOR;if(t&&(w.clientConnected||w.connected)){await Se(n,t);return}e.sendInspectorTree(n),e.sendInspectorState(n)}const we=`__REGLE_DEVTOOLS_REGISTRY__`;function Te(){let e=f(!1),t=p(),n=p(),r=p(new Map),i=p(new Map),a=f(0),o;function s(e,r){t.value=e,r&&(n.value=r)}function c(e,t){let n=++a.value,o=`${t?.uid?.toString()??`regle`}#${n}`,s=`r\$ #${t?.name??n}`;r.value.set(o,{id:o,name:s,r$:e,componentName:t?.componentName,filePath:t?.filePath});let c=y([()=>e.$value,()=>e.$externalErrors,()=>e.$externalIssues,()=>e.$error,()=>e.$invalid,()=>e.$pending],()=>u(),{deep:!0,flush:`post`});return i.value.set(o,c),window.requestAnimationFrame(()=>{l()}),o}function l(){t.value&&Ce(t.value,n.value)}function u(){o??=window.requestAnimationFrame(()=>{o=void 0,l()})}function d(e){let t=i.value.get(e);t&&(t(),i.value.delete(e)),r.value.delete(e),l()}function m(){return Array.from(r.value.values())}function h(e){return r.value.get(e)}function g(){i.value.forEach(e=>e()),i.value.clear(),r.value.clear(),l()}return{devtoolsApi:t,devtoolsApp:n,register:c,unregister:d,getAll:m,get:h,clear:g,setApi:s,notifyDevtools:l,loggedWarning:e}}function Ee(){if(typeof globalThis>`u`)return Te();let e=globalThis;return e[we]??=Te(),e[we]}const $=Ee();function De(e,t){if(typeof window>`u`||!(typeof __VUE_PROD_DEVTOOLS__<`u`&&__VUE_PROD_DEVTOOLS__)||ge())return()=>{};if(!i(pe,void 0)&&!$.loggedWarning.value&&$.devtoolsApi)return $.loggedWarning.value=!0,console.warn(`📏 Regle Devtools are not available. Install Regle plugin in your app to enable them. https://reglejs.dev/introduction/devtools`),()=>{};let r=n(),a=r?.type?.name||r?.type?.__name,o;r&&r.type&&typeof r.type==`object`&&`__file`in r.type&&(o=r.type.__file);let s=$.register(e,{name:t?.name,componentName:a,uid:r?.uid,filePath:o});function c(){$.unregister(s)}return Z(c),c}function Oe(){let e=p(new Map),t=p(new Map),n=p(new Map),i=p(new Map),a=p(new Map),o=p(new Map),s=p(new Map);function c(e){let n=t.value.get(e);if(n)return n;{let n=f({});return t.value.set(e,n),n}}function u(e){let t=n.value.get(e);if(t)return t;{let t=f([]);return n.value.set(e,t),t}}function d(e,t){o.value.set(e,t)}function m(e){return o.value.get(e)}function h(e,t,n){s.value.set(`${e}-${t}`,n)}function g(e,t){return s.value.get(`${e}-${t}`)}function _(e,t){e&&t!=null&&s.value.delete(`${e}-${t}`)}function v(e,t){i.value.set(e,t)}function y(e){return i.value.get(e)??!1}function b(t,n){e.value.set(t,n)}function x(t,n){let r=e.value.get(t);if(r)return S(n,r)?{valid:!0}:{valid:!1}}function S(e,t){let n=Object.keys(t),r=Object.keys(e);return r.length!==n.length||!r.every(e=>n.includes(e))?!1:r.every(n=>{let r=e[n],i=t[n];if(!i||!r||typeof r==`function`||typeof i==`function`||typeof r==`number`||typeof r==`boolean`||typeof r==`string`)return!1;if(`_params`in r){if(!r._params)return!0;if(Array.isArray(r._params))return r._params?.every((e,t)=>{if(typeof i==`number`||typeof i==`boolean`||typeof i==`string`)return!0;{let e=G(`_params`in i&&Array.isArray(i._params)?i._params:[]),n=G(r._params);return e?.[t]===n?.[t]}})}})}function C(e){let t=a.value.get(e);if(t)return t;{let t=f(!1),n=f(!0),r=f({}),i=f(!1);return a.value.set(e,{$pending:t,$valid:n,$metadata:r,$validating:i}),{$pending:t,$valid:n,$metadata:r,$validating:i}}}function w(){e.value.clear(),t.value.clear(),n.value.clear(),i.value.clear(),a.value.clear(),o.value.clear(),s.value.clear()}return r()&&l(w),{clearAll:w,addRuleDeclEntry:b,setDirtyEntry:v,checkRuleDeclEntry:x,getDirtyState:y,trySetRuleStatusRef:C,getFieldsEntry:c,getCollectionsEntry:u,getArrayStatus:g,addArrayStatus:h,deleteArrayStatus:_,arrayStatusStorage:s,addAdditionalRulesEntry:d,getAdditionalRulesEntry:m}}function ke(e,t){return!Pe(e.value)&&(ie(e)||k(t.value)&&!I(t.value)&&!Object.entries(t.value).some(([e,t])=>Me(t)||typeof t==`function`))}function Ae(e,t){return!!e.value&&k(e.value)&&`$each`in e.value||Array.isArray(t.value)}function je(e){return!!e.value&&(k(e.value)||ie(e.value))}function Me(e){return(k(e)||typeof e==`function`)&&`_validator`in e}function Ne(e){return typeof e.value==`function`?`_validator`in e.value:!0}function Pe(e){return k(e)&&N(e,he.REGLE_STATIC)&&e[he.REGLE_STATIC]===!0}function Fe(e){return k(e)&&`$fields`in e}function Ie(e){return!!e&&`$each`in e}function Le(e){return!!e&&`$rules`in e}function Re({field:e,silent:t=!1}){let n=Object.entries(e.$rules??{}).map(([n,r])=>{let i=``;if(t&&!r.$valid)i=r.$message;else if(!r.$valid&&e.$error&&!r.$validating)i=r.$message;else return null;return{$message:i,$property:e.fieldName,$rule:n,$type:r.$type,...typeof r.$metadata==`object`?r.$metadata:{}}}).filter(e=>!!e).reduce((e,t)=>(typeof t.$message==`string`?e.push(t):e.push(...t.$message.map(e=>({...t,$message:e}))),e),[]),r=e.$error&&e.$externalErrors&&Array.isArray(e.$externalErrors)&&!e.$externalIssues?.length?e.$externalErrors.map(t=>({$message:t,$property:e.fieldName,$rule:`external`,$type:void 0})):[],i=e.$error&&e.$externalIssues&&Array.isArray(e.$externalIssues)?e.$externalIssues.map(t=>({...t,$property:t.$property??e.fieldName,$rule:t.$rule??`external`})):[],a=[];return e.$schemaErrors&&e.$error&&(a=!Array.isArray(e.$schemaErrors)&&`$self`in e.$schemaErrors?e.$schemaErrors.$self??[]:e.$schemaErrors??[]),[...n,...r,...i,...a]}function ze({field:e}){let t=[];for(let n of Object.values(e.$rules??{})){let e=n.$tooltip;e&&(typeof e==`string`?t.push(e):t.push(...e))}return t}function Be(e){return k(e)&&`$each`in e}function Ve(e,t){let{includePath:n=!1}=t??{};if(Array.isArray(e)&&e.every(e=>!k(e)))return e;if(Be(e)){let t=n?e.$self?.map(e=>({message:e,path:[]}))??[]:e.$self??[],r=e.$each?.map(e=>He(e,n))??[];return t?.concat(r.flat())}else return Object.entries(e).map(([e,t])=>He(t,n,[e])).flat()}function He(e,t=!1,n){let r=t&&!n?[]:n;if(Array.isArray(e)&&e.every(e=>!k(e)))return t?e.map(e=>({message:e,path:r??[]})):e;if(Be(e)){let n=r?.length?e.$self?.map(e=>({message:e,path:r??[]}))??[]:e.$self??[],i=e.$each?.map((e,n)=>He(e,t,r?.concat(n)))??[];return n?.concat(i.flat())}else return Object.entries(e).map(([e,n])=>He(n,t,r?.concat(e))).flat()}function Ue({customMessages:n,rule:r,ruleKey:i,state:a,path:o,cachePath:s,storage:c,modifiers:l}){let d=t(),p={},m,h=e(()=>Me(r.value)&&r.value._async),g=f(!1),_=0,{$pending:v,$valid:b,$metadata:x,$validating:S}=c.trySetRuleStatusRef(`${s}.${i}`);function C(){d=t(),p=d.run(()=>{let t=f(!1),s=f(!1),c=f(!0),l=f(!1),u=f(!1),d=e(()=>({$value:a.value,$error:s.value,$dirty:t.value,$pending:l.value,$correct:u.value,$invalid:c.value,$rule:{$valid:b.value,$invalid:!b.value,$pending:v.value},$params:S.value,...x.value})),p=e(()=>{try{return Ne(r)?typeof r.value.active==`function`?r.value.active(d.value):!!r.value.active:!0}catch(e){return console.error(`Error in "active" function for "${o}.${i}" rule`,{cause:e}),!0}});function m(e){try{let t=``,a=n?n[i]?.[e]:void 0;if(a&&(t=typeof a==`function`?a(d.value):a),Ne(r)){let n=`_${e}_patched`;a&&!r.value[n]||(t=typeof r.value[e]==`function`?r.value[e](d.value):r.value[e]??``)}return t}catch(t){return console.error(`Error in "${e}" function for "${o}.${i}" rule`,{cause:t}),``}}let h=e(()=>{let e=m(`message`);return I(e)&&(e=`This field is not valid`),e}),g=e(()=>m(`tooltip`)),_=e(()=>Ne(r)&&r.value.type?r.value.type:i),y=e(()=>Ne(r)?r.value.validator:r.value),S=e(()=>typeof r.value==`function`?[]:G(r.value._params??[]));return{$active:p,$message:h,$type:_,$validator:y,$params:S,$path:e(()=>`${o}.${i}`),$tooltip:g,$fieldCorrect:u,$fieldError:s,$fieldDirty:t,$fieldPending:l,$fieldInvalid:c}}),m=y(p?.$params,()=>{(!l.$silent.value||l.$rewardEarly.value&&p.$fieldError.value)&&D()},{deep:ce?1:!0})}C();function w(){b.value=!0,p.$fieldDirty.value&&(v.value=!0)}async function T(e){let t=!1;try{let n=p.$validator.value;if(typeof n!=`function`)return console.error(`${o}: Incorrect rule format, it needs to be either a function or created with "createRule".`),!1;let r=n(a.value,...p.$params.value),i=a.value;w();let s;if(s=r instanceof Promise?await r:r,e!==_||a.value!==i)return b.value;if(typeof s==`boolean`)t=s;else{let{$valid:e,...n}=s;t=e,x.value=n}}catch{t=!1}finally{e===_&&(v.value=!1)}return t}function E(e,t=!0){if(Me(r.value)&&r.value._async)return!0;let n=e(a.value,...p.$params.value);if(n instanceof Promise)return!0;if(n!=null){if(typeof n==`boolean`)return n;{let{$valid:e,...t}=n;return x.value=t,e}}return!0}async function D(){let e=++_;try{S.value=!0;let t=!1;if(g.value=!0,Me(r.value)&&r.value._async)t=await T(e);else{let e=p.$validator.value;t=E(e)}return e===_?(b.value=t,t):b.value}catch{return!1}finally{e===_&&(S.value=!1,g.value=!1)}}function O(){try{return S.value=!0,E(p.$validator.value)}catch{return!1}finally{S.value=!1}}function k(){_++,b.value=!0,x.value={},v.value=!1,S.value=!1,C()}function A(){m(),d.stop(),d=t()}return u({...p,$pending:v,$valid:b,$metadata:x,$haveAsync:h,$maybePending:g,$validating:S,$parse:D,$parseSync:O,$unwatch:A,$watch:C,$reset:k})}function We(e){return{"~standard":{version:1,vendor:`regle`,validate:async t=>{let{valid:n,data:r,errors:i}=await e(t,!0);return n?{value:r,issues:[]}:{issues:Ve(i,{includePath:!0})}}}}}function Ge(e){return e===!0?`eager`:e===!1||e==null?!1:e}function Ke(e){return k(e)&&!Pe(e)?Object.values(e).some(e=>Ke(e)):Array.isArray(e)?e.some(e=>Ke(e)):!I(e)}function qe(e,t){return Le(e)?!e.$inactive&&Ke(t):Fe(e)?Je(e.$self,e.$fields,t):Ie(e)&&Array.isArray(t)?e.$self&&qe(e.$self,t)?!0:e.$each.some((e,n)=>qe(e,t[n])):!1}function Je(e,t,n){if(e&&qe(e,n))return!0;if(!k(n)||Pe(n))return!1;let r=n;return Object.entries(t).some(([e,t])=>qe(t,r[e]))}function Ye(e,t,n,r=!1,i=!1){return e===`eager`?!0:e===`non-empty`?!r||i?!1:Ke(n):e===`lazy-non-empty`?Ke(t):!1}function Xe({state:n,rulesDef:r,customMessages:i,path:a,cachePath:o,fieldName:c,storage:l,options:d,externalErrors:p,externalIssues:g,schemaErrors:_,schemaMode:v,onUnwatch:x,$isArray:S,initialState:C,rootInitialState:w,originalState:T,shortcuts:E,overrides:D,onValidate:O}){let A=t(),j,M=[],N,P,F,L,R=()=>{},V,U=()=>{},W=f(!1),G=f(l.getAdditionalRulesEntry(o)??{});function K(e){G.value=e??{},l.addAdditionalRulesEntry(o,e??{}),q(),R()}function ne(e){K(e)}function q(){let e={...r.value,...G.value},t=[];for(let r in e){if(r.startsWith(`$`)||r.startsWith(`~`))continue;let s=e[r];if(!s)continue;let c=m(()=>s);t.push([r,Ue({modifiers:{$silent:j.$silent,$rewardEarly:j.$rewardEarly},customMessages:i,rule:c,ruleKey:r,state:n,path:a,cachePath:o,storage:l,$debounce:Z.value.$debounce})])}X.value=Object.fromEntries(t),l.addRuleDeclEntry(o,e)}function re(){let e={...r.value,...G.value},t=l.checkRuleDeclEntry(o,e),n={};for(let t in e)t.startsWith(`$`)&&(n[t]=e[t]);return Z.value=n,t}function J(){let e=re();oe(),q(),j.processShortcuts(),Y(),ie(),e?.valid!=null&&(j.$dirty.value=l.getDirtyState(o),(j.$dirty.value&&!j.$silent.value||j.$rewardEarly.value&&j.$error.value)&&R()),l.addRuleDeclEntry(o,r.value)}function Y(){R=j.$debounce.value>0?B(le,j.$debounce.value,{trackDebounceRef:W}):le}function ie(){U=j.$debounce.value>0?B(()=>{j.$dirty.value=!0},j.$debounce.value):()=>{j.$dirty.value=!0}}function ae(){if(X.value)for(let e of Object.values(X.value))e.$unwatch();P(),L?.(),j.$dirty.value&&l.setDirtyEntry(o,j.$dirty.value),N?.(),A.stop(),A=t();for(let e of M)e.stop();M=[],x?.(),F?.()}function oe(){if(X.value)for(let e of Object.values(X.value))e.$watch();j=A.run(()=>{let r=f(!1),i=f(!1),a=e(()=>r.value),o=e(()=>S||Pe(n.value)),s=e(()=>Z.value.$debounce==null?h(d.debounce)==null?j.$haveAnyAsyncRule.value?200:0:h(d.debounce):Z.value.$debounce),l=e(()=>Z.value.$deepCompare==null?!1:Z.value.$deepCompare),m=e(()=>Z.value.$lazy==null?h(d.lazy)==null?!1:h(d.lazy)===!0:Z.value.$lazy),y=e(()=>Z.value.$immediateDirty==null?h(d.immediateDirty)==null?!1:Ge(h(d.immediateDirty)):Ge(Z.value.$immediateDirty)),x=e(()=>Z.value.$rewardEarly==null?h(d.rewardEarly)==null?!1:h(d.rewardEarly)===!0:!!Z.value.$rewardEarly),w=e(()=>Z.value.$clearExternalErrorsOnChange==null?h(d.clearExternalErrorsOnChange)==null?!O.value:h(d.clearExternalErrorsOnChange)===!0:!!Z.value.$clearExternalErrorsOnChange),T=e(()=>Z.value.$clearExternalErrorsOnValidate==null?h(d.clearExternalErrorsOnValidate)==null?!1:h(d.clearExternalErrorsOnValidate)===!0:!!Z.value.$clearExternalErrorsOnValidate),O=e(()=>x.value?!0:Z.value.$silent==null?h(d.silent)==null?!1:h(d.silent)===!0:Z.value.$silent),k=e(()=>Z.value.$autoDirty==null?h(d.autoDirty)==null?!0:h(d.autoDirty)===!0:Z.value.$autoDirty),A=e(()=>{if(Z.value.$isEdited!=null)return Z.value.$isEdited;if(D?.isEdited!=null)return D.isEdited}),P=e(()=>{for(let e of Object.values(X.value))if(e.$validating)return!0;return!1}),F=e({get:()=>n.value,set(e){N(),n.value=e,se()}}),L=e(()=>W.value?re.value&&r.value:re.value&&!q.value&&r.value),R=e(()=>Re({field:{$rules:X.value,$error:L.value,$externalErrors:p?.value,$externalIssues:g?.value,$schemaErrors:_?.value,fieldName:J.value}})),z=e(()=>Re({field:{$rules:X.value,$error:L.value,$externalErrors:p?.value,$externalIssues:g?.value,$schemaErrors:_?.value,fieldName:J.value},silent:!0})),B=e(()=>R.value.map(e=>e.$message)),V=e(()=>z.value.map(e=>e.$message)),H=f(!1);function U(e,t){return t instanceof Date&&e instanceof Date?ee(t).getTime()!==ee(e).getTime():t==null?typeof e==`boolean`?t===void 0?e===!0:e!=null:e!=null&&e!==``:Array.isArray(e)&&Array.isArray(t)?!te(e,t,Z.value.$deepCompare):t!==e}b(()=>{r.value?A.value?H.value=A.value(n.value,C.value,U):H.value=U(n.value,C.value):H.value=!1});let G=e(()=>H.value),K=e(()=>ze({field:{$rules:X.value}})),ne=e(()=>!(re.value||q.value)),q=e(()=>i.value||!x.value?Object.entries(X.value).some(([e,t])=>t.$pending):!1),re=e(()=>p?.value?.length||g?.value?.length||_?.value?.length?!0:Y.value?!1:Object.values(X.value).some(e=>!e.$valid||e.$maybePending)),J=e(()=>c??d.id??`root`),Y=e(()=>!v&&!Object.keys(X.value).some(e=>!e.startsWith(`$`))),ie=e(()=>{if(p?.value?.length||g?.value?.length||Y.value||W.value)return!1;if(r.value&&!I(n.value)&&!P.value&&!q.value){if(v)return!_?.value?.length;{let e=Object.values(X.value);for(let t of e)if(t.$active&&!t.$valid)return!1;return e.some(e=>e.$active)}}return!1}),ae=e(()=>Object.values(X.value).some(e=>e.$haveAsync)),oe=e(()=>({$debounce:s.value,$lazy:m.value,$rewardEarly:x.value,$autoDirty:k.value,$silent:O.value,$clearExternalErrorsOnChange:w.value,$clearExternalErrorsOnValidate:T.value,$immediateDirty:y.value,$isEdited:A.value,$disabled:h(d.disabled)??!1}));function ce(){E?.fields&&Object.entries(E.fields).forEach(([e,i])=>{let o=t();le[e]=o.run(()=>{let e=f();return b(()=>{e.value=i(u({$dirty:r,$externalErrors:p?.value??[],$externalIssues:g?.value??[],$value:n,$silentValue:F,$rules:X,$error:L,$pending:q,$invalid:re,$correct:ie,$errors:B,$ready:ne,$silentErrors:V,$anyDirty:a,$tooltips:K,$name:J,$inactive:Y,$edited:H,$anyEdited:G}))}),e}),M.push(o)})}let le={};return{$error:L,$pending:q,$invalid:re,$correct:ie,$debounce:s,$deepCompare:l,$lazy:m,$immediateDirty:y,$ready:ne,$issues:R,$silentIssues:z,$errors:B,$silentErrors:V,$rewardEarly:x,$autoDirty:k,$silent:O,$clearExternalErrorsOnChange:w,$clearExternalErrorsOnValidate:T,$anyDirty:a,$edited:H,$anyEdited:G,$name:J,$haveAnyAsyncRule:ae,$shortcuts:le,$validating:P,$tooltips:K,$dirty:r,processShortcuts:ce,$silentValue:F,$inactive:Y,$modifiers:oe,$isArrayOrRegleStatic:o}}),se(),P=y(j.$dirty,e=>{l.setDirtyEntry(o,e),Object.values(X.value).forEach(t=>{t.$fieldDirty=e})}),L=y([j.$error,j.$correct,j.$invalid,j.$pending],()=>{Object.values(X.value).forEach(e=>{e.$fieldError=j.$error.value,e.$fieldInvalid=j.$invalid.value,e.$fieldPending=j.$pending.value,e.$fieldCorrect=j.$correct.value})}),F=y(j.$haveAnyAsyncRule,Y)}function se(){N=y(n,()=>{j.$autoDirty.value&&!j.$silent.value&&(j.$dirty.value||U()),r.value instanceof Function&&J(),(!j.$silent.value||j.$rewardEarly.value&&j.$error.value)&&R(),j.$clearExternalErrorsOnChange.value&&(be(),Se())},{deep:j.$isArrayOrRegleStatic.value?!0:ce?1:!0})}async function le(){try{let{promise:e}=pe(Promise.allSettled(Object.values(X.value).map(e=>e.$parse())));await e}catch{}}let X=f({}),Z=f({});J();function ue(){Ye(j.$immediateDirty.value,C.value,w?.value??C.value,a===``,j.$inactive.value)&&(j.$dirty.value=!0)}function de(e,t){if(fe(),j.$dirty.value=!1,l.setDirtyEntry(o,!1),!t)if(e?.toOriginalState)n.value=z(T),C.value=z(T);else if(e?.toInitialState)n.value=z(C.value);else if(e?.toState){let t;t=typeof e?.toState==`function`?e?.toState():e?.toState,C.value=z(t),n.value=z(t)}else C.value=k(n.value)&&!Pe(n.value)?z(n.value):Array.isArray(n.value)?[...n.value]:n.value;if(e?.clearExternalErrors!==!1&&(be(),Se()),!t&&!e?.keepValidationState)for(let e of Object.values(X.value))e.$reset();if(!j.$lazy.value&&!j.$silent.value&&!t)for(let e of Object.values(X.value))e.$parse();ue()}function fe(){`cancel`in R&&R.cancel()}function pe(e){return V&&V.abort(),V=H(e),V}function me(){fe(),V&&V.abort()}function he(e=!0,t=!1){j.$dirty.value||U(),t&&e?(!j.$silent.value||j.$rewardEarly.value&&j.$error.value)&&(fe(),R()):e&&(fe(),R())}async function ge(e){return e&&(n.value=e),await s(),Q()}async function Q(e){try{if(e&&(n.value=e),v)return O?(he(!1),O()):{valid:!1,data:n.value,errors:j.$errors.value,issues:j.$issues.value};let t=n.value;if(j.$clearExternalErrorsOnValidate.value&&(be(),Se()),j.$autoDirty.value&&!j.$silent.value&&j.$dirty.value&&!j.$validating.value&&!j.$pending.value&&!W.value&&!I(X.value))return{valid:!j.$invalid.value,data:t,errors:j.$errors.value,issues:j.$issues.value};if(j.$dirty.value||(j.$dirty.value=!0),I(X.value))return{valid:!0,data:t,errors:j.$errors.value,issues:j.$issues.value};me();let{promise:r}=pe(Promise.allSettled(Object.values(X.value).map(e=>e.$parse()))),i=await r;return await s(),{valid:i.every(e=>e.status===`fulfilled`&&e.value===!0),data:t,errors:j.$errors.value,issues:j.$issues.value}}catch{return{valid:!1,data:n.value,errors:j.$errors.value,issues:j.$issues.value}}}function _e(e){try{return e&&(n.value=e),j.$dirty.value||(j.$dirty.value=!0),v?!1:(j.$clearExternalErrorsOnValidate.value&&(be(),Se()),Object.values(X.value).map(e=>e.$parseSync()).every(e=>!!e))}catch{return!1}}function ve(e=!0){return j.$dirty.value?n.value:e?{_null:!0}:null}function ye(e){p&&(p.value=e),Se()}function be(){p?.value?.length&&(p.value=[])}function xe(e){g&&(g.value=e),be()}function Se(){g?.value?.length&&(g.value=[])}!j.$lazy.value&&!j.$dirty.value&&!j.$silent.value&&le(),ue();let{$shortcuts:Ce,$validating:we,$autoDirty:Te,$rewardEarly:Ee,$clearExternalErrorsOnChange:$,$clearExternalErrorsOnValidate:De,$haveAnyAsyncRule:Oe,$debounce:ke,$lazy:Ae,...je}=j,Me=u({...je,$externalErrors:p,$externalIssues:g,$value:n,$output:n,$initialValue:C,$originalValue:T,$rules:X,...Ce,$path:a,$isDebouncing:W,$reset:de,$touch:he,$validate:ge,$validateSync:_e,$validateWithoutRaceconditions:Q,$unwatch:ae,$watch:oe,$extractDirtyFields:ve,$clearExternalErrors:be,$clearExternalIssues:Se,$abort:me,$addRules:K,addRules:ne,$schemaMode:v,"~modifiers":j.$modifiers,$setExternalErrors:ye,$setExternalIssues:xe,...We(ge)});return Object.defineProperty(Me,Symbol.for(`regle:instance`),{value:!0}),Me}function Ze({$id:t,path:n,cachePath:r,index:i,options:a,storage:o,stateValue:s,customMessages:c,rules:l,externalErrors:u,externalIssues:d,schemaErrors:p,initialState:g,originalState:_,shortcuts:v,fieldName:y,schemaMode:b,overrides:x,currentIndexes:S}){let C=e(()=>h(l)),w=s.value?.$id??C.value.$key??X(),T=`${r}.${String(w)}`,E=f(i),D=`${n}.${i}`;typeof s.value==`object`&&s.value!=null&&(s.value.$id||Object.defineProperties(s.value,{$id:{value:w,enumerable:!1,configurable:!1,writable:!1}}));let O=et({index:i,state:s,rulesDef:C,nestedReactiveRules:!0,customMessages:c,path:D,cachePath:T,storage:o,options:a,externalErrors:m(u?.value??[],i),externalIssues:m(d?.value??[],i),schemaErrors:e(()=>p?.value?.[E.value]),initialState:g,originalState:_,shortcuts:v,fieldName:y,schemaMode:b,overrides:x});return O&&(O.$id=s.value?.$id??String(w),S?.set(O.$id,E),o.addArrayStatus(t,O.$id,O)),s.value&&(!k(s.value)||Pe(s.value))&&b&&O?.$touch(),O}function Qe({state:n,rulesDef:r,customMessages:i,path:a,cachePath:o,storage:s,options:c,externalErrors:l,externalIssues:d,schemaErrors:p,schemaMode:g,initialState:_,originalState:v,shortcuts:x,fieldName:S,overrides:C}){let w=t(),T,E=t(),D,O=[];if(!Array.isArray(n.value)&&!r.value.$each)return;let k=f(),A=f(n.value),j=f({}),M,N,P=f({}),F=s.getCollectionsEntry(a),L=new Map;D=E.run(()=>({isPrimitiveArray:e(()=>n.value?.length?Array.isArray(n.value)&&n.value.length?n.value.every(e=>typeof e!=`object`):r.value.$each&&!(r.value.$each instanceof Function)?Object.values(r.value.$each).every(e=>Me(e)||typeof e==`function`):!1:!1)})),R(),V();function R(){j.value=Object.fromEntries(Object.entries(r.value).filter(([e])=>e.startsWith(`$`))),typeof n.value==`object`&&(n.value!=null&&!n.value?.$id&&n.value!==null?(k.value=X(),Object.defineProperties(n.value,{$id:{value:k.value,enumerable:!1,configurable:!1,writable:!1}})):n.value?.$id&&(k.value=n.value.$id)),A.value=P.value.$value,Array.isArray(n.value)&&(!D.isPrimitiveArray.value||g)?F.value=n.value.map((t,n)=>{let{scope:u,unwrapped:f}=ae(r.value.$each,m(()=>t),n);u&&O.push(u);let h=m(_.value??[],n),y=m(l?.value??{},`$each`),b=m(d?.value??{},`$each`),w=e(()=>p?.value?.$each);return Ze({$id:k.value,path:a,cachePath:o,customMessages:i,rules:f??{},stateValue:m(()=>t),index:n,options:c,storage:s,externalErrors:y,externalIssues:b,schemaErrors:w,initialState:h,originalState:v,shortcuts:x,fieldName:S,schemaMode:g,overrides:C,currentIndexes:L})||null}).filter(e=>!!e):(F.value=[],L.clear()),P.value=Xe({state:n,rulesDef:r,customMessages:i,path:a,cachePath:a,storage:s,options:c,externalErrors:m(l?.value??{},`$self`),externalIssues:m(d?.value??{},`$self`),schemaErrors:e(()=>p?.value?.$self),$isArray:!0,initialState:_,originalState:v,shortcuts:x,fieldName:S,schemaMode:g,overrides:C})}function ee(){if(Array.isArray(n.value)&&(!D.isPrimitiveArray.value||g)){let t=[...F.value],o=new Set;F.value=n.value.map((t,n)=>{let u=m(()=>t);if(t.$id&&F.value.find(e=>e.$id===t.$id)){let e=s.getArrayStatus(k.value,t.$id);if(e){let r=L.get(t.$id);return r&&(r.value=n),o.add(t.$id),e.$value=u,e}return null}else{let{scope:t,unwrapped:f}=ae(r.value.$each,u,n);t&&O.push(t);let h=m(l?.value??{},`$each`),y=m(d?.value??{},`$each`),b=e(()=>p?.value?.$each??[]),w=Ze({$id:k.value,path:a,cachePath:a,customMessages:i,rules:f??{},stateValue:u,index:n,options:c,storage:s,externalErrors:h,externalIssues:y,schemaErrors:b,initialState:m(_.value??[],n),originalState:v,shortcuts:x,fieldName:S,schemaMode:g,overrides:C,currentIndexes:L});return w?(w.$id&&o.add(w.$id),w):null}}).filter(e=>!!e),t.filter(e=>!n.value?.find(t=>e.$id===t.$id)).forEach((e,t)=>{s.deleteArrayStatus(k.value,t.toString())});for(let e of L.keys())o.has(e)||L.delete(e)}else F.value=[],L.clear()}function B(){M=y(n,()=>{N?.(),n.value!=null&&!Object.hasOwn(n.value,`$id`)&&!k.value?R():ee(),te()},{deep:ce?1:!0,flush:`pre`}),te()}function te(){N=y(n,()=>{T.$autoDirty.value&&!T.$silent.value&&P.value.$touch(!1,!0)},{flush:`post`})}function V(){B(),w=t(),T=w.run(()=>{let r=e({get:()=>n.value,set(e){M?.(),N?.(),n.value=e,B()}}),i=e(()=>P.value.$dirty&&(!F.value.length||F.value.every(e=>e.$dirty))),o=e(()=>P.value.$anyDirty||F.value.some(e=>e.$anyDirty)),s=e(()=>P.value.$invalid||F.value.some(e=>e.$invalid)),l=e(()=>(g?P.value.$correct:I(P.value.$rules)?!0:P.value.$correct)&&(!F.value.length||F.value.every(e=>e.$correct||e.$anyDirty&&!e.$invalid))),d=e(()=>P.value.$error||F.value.some(e=>e.$error)),p=e(()=>!(s.value||m.value)),m=e(()=>P.value.$pending||F.value.some(e=>e.$pending)),y=e(()=>!!F.value.length&&F.value.every(e=>e.$edited)),w=e(()=>P.value.$anyEdited||F.value.some(e=>e.$anyEdited)),T=e(()=>({$self:P.value.$issues,$each:F.value.map(e=>e.$issues)})),E=e(()=>({$self:P.value.$errors,$each:F.value.map(e=>e.$errors)})),D=e(()=>({$self:P.value.$silentErrors,$each:F.value.map(e=>e.$silentErrors)})),k=e(()=>j.value.$rewardEarly==null?h(c.rewardEarly)==null?!1:h(c.rewardEarly)===!0:j.value.$rewardEarly),A=e(()=>k.value?!0:j.value.$silent==null?h(c.silent)==null?!1:h(c.silent)===!0:j.value.$silent),L=e(()=>j.value.$autoDirty==null?h(c.autoDirty)==null?!0:h(c.autoDirty)===!0:j.value.$autoDirty),R=e(()=>j.value.$immediateDirty==null?h(c.immediateDirty)==null?!1:Ge(h(c.immediateDirty)):Ge(j.value.$immediateDirty)),z=e(()=>j.value.$clearExternalErrorsOnChange==null?h(c.clearExternalErrorsOnChange)==null?!0:h(c.clearExternalErrorsOnChange)===!0:j.value.$clearExternalErrorsOnChange),ee=e(()=>j.value.$clearExternalErrorsOnValidate==null?h(c.clearExternalErrorsOnValidate)==null?!1:h(c.clearExternalErrorsOnValidate)===!0:j.value.$clearExternalErrorsOnValidate),te=e(()=>{if(j.value.$isEdited!=null)return j.value.$isEdited;if(C?.isEdited!=null)return C.isEdited}),V=e(()=>S??c.id??`root`),H=e(()=>({$deepCompare:j.value.$deepCompare??!1,$debounce:j.value.$debounce??h(c.debounce)??0,$lazy:j.value.$lazy??!1,$rewardEarly:k.value,$autoDirty:L.value,$silent:A.value,$clearExternalErrorsOnChange:z.value,$clearExternalErrorsOnValidate:ee.value,$immediateDirty:R.value,$isEdited:te.value,$disabled:h(c.disabled)??!1}));function U(){x?.collections&&Object.entries(x?.collections).forEach(([e,c])=>{let h=t();W[e]=h.run(()=>{let e=f();return b(()=>{e.value=c(u({$dirty:i,$error:d,$path:a,$silentValue:r,$pending:m,$invalid:s,$correct:l,$errors:E,$silentErrors:D,$initialValue:_,$originalValue:v,$ready:p,$anyDirty:o,$name:V,$each:F,$self:P,$value:n,$output:n,$edited:y,$anyEdited:w,$issues:T}))}),e}),O.push(h)})}let W={};return U(),{$dirty:i,$anyDirty:o,$invalid:s,$correct:l,$error:d,$pending:m,$errors:E,$silentErrors:D,$ready:p,$name:V,$shortcuts:W,$silentValue:r,$edited:y,$anyEdited:w,$rewardEarly:k,$silent:A,$autoDirty:L,$issues:T,$modifiers:H}}),D.isPrimitiveArray.value&&r.value.$each&&console.warn(`${a} is a Array of primitives. Tracking can be lost when reassigning the Array. We advise to use an Array of objects instead`)}function H(){M?.(),P.value&&P.value.$unwatch(),F.value&&F.value.forEach(e=>{`$dirty`in e&&e.$unwatch()}),w.stop(),w=t(),E.stop(),E=t(!0),O.forEach(e=>e.stop()),O=[]}function U(e=!0,t=!1){P.value.$touch(e,t),F.value.forEach(n=>{n.$touch(e,t)})}function W(e,t){if(H(),!t)if(e?.toOriginalState)n.value=z(v),_.value=z(v);else if(e?.toInitialState)n.value=z(_.value);else if(e?.toState){let t;t=typeof e?.toState==`function`?e?.toState():e?.toState,_.value=z(t),n.value=z(t)}else _.value=z(n.value);e?.clearExternalErrors!==!1&&(J(),ie()),e?.keepValidationState||(P.value.$reset(e,t),F.value.forEach(t=>{t.$reset(e,!0)})),t||R()}function G(){P.value.$abort(),F.value.forEach(e=>{e.$abort()})}async function K(e){return e&&(n.value=e),ne()}async function ne(e){e&&(n.value=e);let t=n.value;try{return G(),{valid:(await Promise.allSettled([P.value.$validateWithoutRaceconditions(e),...F.value.map(e=>e.$validateWithoutRaceconditions())])).every(e=>e.status===`fulfilled`?e.value.valid===!0:!1),data:t,errors:T.$errors.value,issues:T.$issues.value}}catch{return{valid:!1,data:t,errors:T.$errors.value,issues:T.$issues.value}}}function q(e){e&&(n.value=e);try{return[P.value.$validateSync(e),...F.value.map(e=>e.$validateSync())].every(e=>!!e)}catch{return!1}}function re(e){l&&(l.value=e),ie()}function J(){P.value.$clearExternalErrors(),F.value.forEach(e=>{e.$clearExternalErrors()})}function Y(e){d&&(d.value=e),J()}function ie(){P.value.$clearExternalIssues(),F.value.forEach(e=>{e.$clearExternalIssues()})}function oe(e=!0){let t=F.value.map(t=>{if(Fe(t))return t.$extractDirtyFields(e)});return e&&t.every(e=>I(e))&&(t=[]),t}let{$shortcuts:se,...le}=T;return u({$self:P,...le,...se,$path:a,$each:F,$value:n,$output:n,$initialValue:_,$originalValue:v,$validate:K,$validateSync:q,$validateWithoutRaceconditions:ne,$unwatch:H,$watch:V,$touch:U,$reset:W,$abort:G,$extractDirtyFields:oe,$clearExternalErrors:J,$clearExternalIssues:ie,$setExternalErrors:re,$setExternalIssues:Y,"~modifiers":T.$modifiers,...We(K)})}function $e({rulesDef:n,state:r,path:i=``,cachePath:a,rootRules:o,externalErrors:c,externalIssues:l,schemaErrors:p,rootInitialState:g,rootSchemaErrors:v,validationGroups:x,initialState:S,originalState:C,fieldName:w,nestedReactiveRules:T,...E}){let D=t(),O,A=[],j=null,M=null,N=null,P=null,F=null,L=f(void 0);async function R(t=!0){let o=Object.entries(n.value).filter(([e])=>e!==`$self`),s=Object.fromEntries(o.reduce((t,[n,o])=>{if(!o)return t;let s=m(r.value??{},n),u=m(()=>o),d=m(c?.value??{},n),f=m(l?.value??{},n),h=e(()=>p?.value?.[n]),g=m(S?.value??{},n);return t.push([n,et({state:s,rulesDef:u,path:i?`${i}.${n}`:n,cachePath:a?`${a}.${n}`:n,externalErrors:d,externalIssues:f,schemaErrors:h,initialState:g,originalState:C?.[n],fieldName:n,...E})]),t},[])),u=Object.fromEntries(Array.from(new Set([...Object.keys(h(c)??{}),...Object.keys(h(l)??{})])).filter(e=>!(e in n.value)).map(t=>{let n=m(r.value??{},t),o=m(c?.value??{},t),s=m(l?.value??{},t),u=e(()=>p?.value?.[t]),d=m(S?.value??{},t),f=i?`${i}.${t}`:t,h=a?`${a}.${t}`:t;return[t,et({state:n,rulesDef:e(()=>({})),path:f,cachePath:h,externalErrors:o,externalIssues:s,schemaErrors:u,initialState:d,originalState:C?.[t],fieldName:t,...E})]})),d=Object.fromEntries(Object.entries(h(p)??{}).map(([t])=>{let n=i?`${i}.${t}`:t,o=a?`${a}.${t}`:t,s=m(r.value??{},t),u=m(c?.value??{},t),d=m(l?.value??{},t),f=e(()=>p?.value?.[t]),h=m(S?.value??{},t);return[t,et({state:s,rulesDef:e(()=>({})),path:n,cachePath:o,externalErrors:u,externalIssues:d,schemaErrors:f,initialState:h,originalState:C?.[t],fieldName:t,...E})]})),f=Object.fromEntries(Object.entries(r.value??{}).filter(([e])=>!(e in n.value)&&!(e in(u??{}))&&!(e in(d??{}))).map(([t])=>{let n=m(r.value??{},t),o=m(c?.value??{},t),s=m(l?.value??{},t),u=e(()=>p?.value?.[t]),d=m(S?.value??{},t);return[t,et({state:n,rulesDef:e(()=>({})),path:i?`${i}.${t}`:t,cachePath:a?`${a}.${t}`:t,externalErrors:o,externalIssues:s,schemaErrors:u,initialState:d,originalState:C?.[t],fieldName:t,...E})]}));B.value={...s,...u,...d,...f},t&&U()}function ee(){n.value.$self&&(L.value=Xe({state:r,rulesDef:e(()=>n.value.$self??{}),path:i,cachePath:a,externalErrors:f(void 0),externalIssues:f(void 0),schemaErrors:f(void 0),initialState:S??f(void 0),originalState:C,fieldName:`$self`,...E}))}let B=E.storage.getFieldsEntry(a);R(),ee();function te(){c&&(N=y(c,()=>{W(),R()},{deep:!0}))}function V(){l&&(P=y(l,()=>{W(),R()},{deep:!0}))}function H(){F=y(r,()=>{W(),R(),O.$autoDirty.value&&!O.$silent.value&&Y(!1,!0),O.$clearExternalErrorsOnChange.value&&(K(),q())},{flush:`post`})}function U(){(o||T)&&(j?.(),j=y(n,()=>{W(),R()},{deep:!0,flush:`pre`}),te(),V()),v&&(M?.(),M=y(()=>v.value?Object.keys(v.value).sort().join(`\0`):``,()=>{W(),R()},{flush:`post`})),H(),O=D.run(()=>{let a=e({get:()=>r.value,set(e){W(),r.value=e,R(),O.$autoDirty.value&&!O.$silent.value&&Y(!1,!0),O.$clearExternalErrorsOnChange.value&&(K(),q())}}),o=d(a),s=e({get:()=>r.value,set(e){W(),r.value=e,R()}}),c=e(()=>{let e=B.value,t=Object.keys(e);if(!t.length)return!1;for(let n of t)if(!e[n]?.$dirty)return!1;return!0}),l=e(()=>{let e=B.value;for(let t in e)if(e[t]?.$anyDirty)return!0;return!1}),p=e(()=>{if(L.value?.$invalid)return!0;let e=B.value,t=Object.entries(e);if(!t.length)return!1;for(let[e,n]of t)if(n?.$invalid)return!0;return!1}),m=e(()=>{let e=Object.entries(B.value).reduce((e,[t,n])=>((!Le(n)||!n.$inactive)&&e.push([t,n]),e),[]),t=n.value.$self&&!I(n.value.$self);if(e.length||t){let t=L.value?.$correct??!0,n=!1;return n=E.schemaMode?e.every(([e,t])=>t.$correct):e.every(([e,t])=>Le(t)?`required`in t.$rules&&t.$rules.required.$active?t.$correct:!t.$invalid&&!t.$pending&&!t.$isDebouncing:t?.$correct),t&&n}return!1}),g=e(()=>{if(L.value?.$error)return!0;let e=B.value;if(!Object.keys(e).length)return!1;for(let t in e)if(e[t]?.$error)return!0;return!1}),v=e(()=>h(E.options.rewardEarly)==null?!1:h(E.options.rewardEarly)),y=e(()=>h(E.options.silent)==null?!!v.value:h(E.options.silent)===!0),T=e(()=>h(E.options.autoDirty)==null?!0:h(E.options.autoDirty)===!0),D=e(()=>h(E.options.immediateDirty)==null?!1:Ge(h(E.options.immediateDirty))),k=e(()=>h(E.options.lazy)==null?!1:h(E.options.lazy)===!0),j=e(()=>h(E.options.clearExternalErrorsOnChange)==null?!0:h(E.options.clearExternalErrorsOnChange)===!0),M=e(()=>h(E.options.clearExternalErrorsOnValidate)==null?!1:h(E.options.clearExternalErrorsOnValidate)===!0),N=e(()=>!(p.value||F.value)),P=f(!1),F=e(()=>{if(L.value?.$pending||P.value)return!0;let e=B.value;for(let t in e)if(e[t]?.$pending)return!0;return!1}),z=e(()=>{let e={...L.value&&{$self:L.value?.$issues??[]}};for(let t in B.value)e[t]=B.value[t]?.$issues;return e}),ee=e(()=>{let e={...L.value&&{$self:L.value?.$errors??[]}};for(let t in B.value)e[t]=B.value[t]?.$errors;return e}),te=e(()=>{let e={...L.value&&{$self:L.value?.$silentErrors??[]}};for(let t in B.value)e[t]=B.value[t]?.$silentErrors;return e}),V=e(()=>{if(L.value?.$edited)return!0;if(!Object.keys(B.value).length)return!1;for(let e in B.value)if(!B.value[e]?.$edited)return!1;return!0}),H=e(()=>{if(L.value?.$anyEdited)return!0;for(let e in B.value)if(B.value[e]?.$anyEdited)return!0;return!1}),U=e(()=>w??E.options.id??`root`),G=e(()=>({autoDirty:T.value,lazy:k.value,rewardEarly:v.value,silent:y.value,clearExternalErrorsOnChange:j.value,clearExternalErrorsOnValidate:M.value,immediateDirty:D.value,id:h(E.options.id),disabled:h(E.options.disabled)}));function ne(){E.shortcuts?.nested&&Object.entries(E.shortcuts.nested).forEach(([e,n])=>{let a=t();J[e]=a.run(()=>{let e=f();return b(()=>{e.value=n(u({$dirty:c,$path:i,$value:r,$output:r,$silentValue:s,$error:g,$originalValue:C,$pending:F,$invalid:p,$correct:m,$ready:N,$anyDirty:l,$name:U,$silentErrors:te,$initialValue:S,$errors:ee,$fields:B,$edited:V,$anyEdited:H,$issues:z,$self:L,"~modifiers":_(E.options)}))}),e}),A.push(a)})}let re=e({get:()=>x?Object.fromEntries(Object.entries(x?.(B.value)??{}).map(([e,t])=>t.length?[e,{...Object.fromEntries([`$invalid`,`$error`,`$pending`,`$dirty`,`$correct`].map(e=>[e,de(t,e)])),...Object.fromEntries([`$errors`,`$silentErrors`].map(e=>[e,fe(t,e)]))}]:[])):{},set(){}}),J={};return ne(),{$dirty:c,$anyDirty:l,$invalid:p,$correct:m,$error:g,$pending:F,$issues:z,$errors:ee,$silentErrors:te,$clearExternalErrorsOnValidate:M,$clearExternalErrorsOnChange:j,$ready:N,$name:U,$shortcuts:J,$groups:re,$silentValue:s,$immediateDirty:D,$edited:V,$anyEdited:H,$localPending:P,$autoDirty:T,$silent:y,$value:a,$output:o,$modifiers:G}})}function W(){if(j?.(),N?.(),P?.(),F?.(),M?.(),A.forEach(e=>e.stop()),A=[],O={},B.value)for(let e of Object.values(B.value))e?.$unwatch()}function G(e){c&&(c.value=e),q()}function K(){c&&!I(c.value)&&(c.value={})}function ne(e){l&&(l.value=e),K()}function q(){l&&!I(l.value)&&(l.value={})}function re(){if(!O)return;let e=O.$immediateDirty.value;(e===`eager`||e===`non-empty`&&Je(L.value,B.value,S.value))&&Y(!0,!1)}function J(e,t){if(N?.(),W(),!t)if(e?.toOriginalState)r.value=z({...C}),S.value=z({...C});else if(e?.toInitialState)r.value=z({...S.value});else if(e?.toState){let t;t=typeof e?.toState==`function`?e?.toState():e?.toState,S.value=z(t),r.value=z(t)}else S.value=z(r.value);if(!e?.keepValidationState){for(let t of Object.values(B.value))t?.$reset(e,!0);L.value?.$reset(e,!0)}e?.clearExternalErrors!==!1&&(K(),q()),te(),V(),t||(R(),re())}function Y(e=!0,t=!1){for(let n of Object.values(B.value))n?.$touch(e,t);L.value?.$touch(e,t)}function ie(e){return e.filter(([e,t])=>k(t)&&!Pe(t)?!(t&&typeof t==`object`&&`_null`in t)&&!I(t):Array.isArray(t)?t.length:!0)}function ae(e=!0){let t=Object.entries(B.value).map(([t,n])=>[t,n.$extractDirtyFields(e)]);return e&&(t=ie(t)),Object.fromEntries(t)}function oe(){for(let e of Object.values(B.value))e.$abort();L.value?.$abort()}async function se(e){return e&&(r.value=e),await s(),ce()}async function ce(e){try{if(e&&(r.value=e),E.schemaMode)return E.onValidate?(Y(!1),O.$localPending.value=!0,E.onValidate()):{valid:!1,data:r.value,errors:O.$errors.value,issues:O.$issues.value};{let e=r.value;oe(),O.$clearExternalErrorsOnValidate.value&&(K(),q());let t=[...Object.values(B.value).map(e=>e.$validateWithoutRaceconditions()),...L.value?[L.value?.$validateWithoutRaceconditions()]:[]];return{valid:(await Promise.allSettled(t)).every(e=>e.status===`fulfilled`&&e?.value?.valid===!0),data:e,errors:O.$errors.value,issues:O.$issues.value}}}catch{return{valid:!1,data:r.value,errors:O.$errors.value,issues:O.$issues.value}}finally{O.$localPending.value=!1}}function le(e){try{return e&&(r.value=e),O.$clearExternalErrorsOnValidate.value&&(K(),q()),[...Object.values(B.value).map(e=>e.$validateSync()),...L.value?[L.value?.$validateSync()]:[]].every(e=>!!e)}catch{return!1}}re();let{$shortcuts:X,$localPending:Z,...ue}=O,pe=u({...ue,...X,$path:i,$initialValue:S,$originalValue:C,$self:L,$externalErrors:c,$externalIssues:l,$fields:B,$reset:J,$touch:Y,$validate:se,$unwatch:W,$watch:U,$setExternalErrors:G,$setExternalIssues:ne,$clearExternalErrors:K,$clearExternalIssues:q,$extractDirtyFields:ae,$abort:oe,$validateSync:le,$validateWithoutRaceconditions:ce,...o?{"~modifiers":O.$modifiers}:{},...We(se)});return Object.defineProperty(pe,Symbol.for(`regle:instance`),{value:!0}),b(()=>{for(let e of Object.keys(pe).filter(e=>!e.startsWith(`$`)&&!e.startsWith(`~`)))delete pe[e];for(let e of Object.values(B.value))e?.$name&&Object.assign(pe,{[e.$name]:e})}),pe}function et({rulesDef:e,...n}){if(Ae(e,n.state))return Qe({rulesDef:e,...n});if(ke(n.state,e)){if(ie(n.state))return $e({rulesDef:e,...n});{let r=t().run(()=>{let e=m(n.state.value?n.state:f({}));return y(()=>n.state.value,t=>{e.value=t},{deep:!0}),y(e,e=>{n.state.value=e},{deep:!0}),{fakeState:e}}),{state:i,...a}=n;return $e({rulesDef:e,...a,state:r.fakeState})}}else if(je(e))return Xe({rulesDef:a(e.value)?e.value:e,...n})}function tt(e){return e&&k(e)&&Object.keys(e).some(e=>e.includes(`.`))?M(e):e}function nt(e){return Array.isArray(e)?e.length>0:k(e)&&Object.keys(e).length>0}function rt(e){return Array.isArray(e)?[]:{}}function it(e){let t=f(),n=f(),r,i,a,o,s=!1;function c(){let t=rt(n.value??e.externalIssues?.value);n.value=t,e.externalIssues&&(e.externalIssues.value=t)}function l(){let n=rt(t.value??e.externalErrors?.value);t.value=n,e.externalErrors&&(e.externalErrors.value=n)}function u(n,r=!1){if(s)return;s=!0;let i=tt(n);t.value=i,r&&e.externalErrors&&(e.externalErrors.value=i),nt(i)&&c(),s=!1}function d(t,r=!1){if(s)return;s=!0;let i=tt(t);n.value=i,r&&e.externalIssues&&(e.externalIssues.value=i),nt(i)&&l(),s=!1}function p(){r?.(),a?.(),r=y(()=>e.externalErrors?.value,e=>u(e),{deep:!0}),a=y(()=>e.externalIssues?.value,e=>d(e),{deep:!0})}function m(){i?.(),o?.(),i=y(()=>t.value,e=>u(e,!0),{deep:!0}),o=y(()=>n.value,e=>d(e,!0),{deep:!0})}function h(){g(),u(e.externalErrors?.value),d(e.externalIssues?.value),m()}function g(){i?.(),r?.(),o?.(),a?.(),i=void 0,r=void 0,o=void 0,a=void 0}return{externalErrors:t,externalIssues:n,start:h,watchOptionRefs:p,stop:g}}function at({initialState:e,originalState:n,options:i,scopeRules:a,state:o,customRules:c,shortcuts:u,schemaErrors:d,schemaMode:p=!1,onValidate:m,overrides:g}){let _=Oe(),v=f(!1),b=new Set,x,S=f(),C=it(i),w;function T(){w=y(()=>h(i.disabled),async e=>{e?O():(E(),C.start(),C.watchOptionRefs())})}function E(){ke(o,a)?S.value=$e({rootRules:a,rulesDef:a,state:o,customMessages:c?.(),storage:_,options:i,rootInitialState:e,externalErrors:C.externalErrors,externalIssues:C.externalIssues,validationGroups:i.validationGroups,initialState:e,originalState:n,shortcuts:u,fieldName:void 0,path:``,cachePath:``,schemaErrors:d,rootSchemaErrors:d,schemaMode:p,onValidate:m,overrides:g}):je(a)&&(S.value=Xe({rulesDef:a,state:o,customMessages:c?.(),storage:_,options:i,rootInitialState:e,externalErrors:C.externalErrors,externalIssues:C.externalIssues,initialState:e,originalState:n,shortcuts:u,fieldName:void 0,path:``,cachePath:``,schemaMode:p,schemaErrors:d,onValidate:m,overrides:g}))}function D(){w=void 0}function O(){S.value?.$unwatch(),C.stop()}function k(){v.value||(v.value=!0,x=t(!0),x.run(()=>{C.start(),E(),h(i.disabled)?s().then(()=>{S.value?.$unwatch()}):C.watchOptionRefs(),T()}))}function A(){v.value&&(v.value=!1,O(),w?.(),D(),x?.stop(),x=void 0,S.value=void 0,_.clearAll())}function j(){let e=r();!e||b.has(e)||(v.value||k(),b.add(e),l(()=>{b.delete(e),b.size||A()}))}k(),j();function M(){typeof window<`u`&&typeof __VUE_PROD_DEVTOOLS__<`u`&&__VUE_PROD_DEVTOOLS__&&!ge()&&S.value&&De(S.value,{name:h(i.id)})}return M(),{regle:S,bindToCurrentScope:j}}function ot({state:t,rulesFactory:n,options:r,globalOptions:o,customRules:s,shortcuts:c,overrides:l}){let u=a(n)?n:typeof n==`function`?void 0:e(()=>n),d=i(me,void 0)??{},m={...d.modifiers,...o},h=()=>({...d.rules?.(),...s?.()}),_={...d.shortcuts,...c},v={...d.overrides,...l},y={...m,...r},x,S=p(u??{});typeof n==`function`&&(x=b(()=>{S.value=n(t),g(S)}));let C=f(k(t.value)?{...z(t.value)}:z(t.value)),w=k(t.value)?{...z(t.value)}:z(t.value);Z(()=>{x?.()});let{regle:T,bindToCurrentScope:E}=at({scopeRules:S,state:t,options:y,initialState:C,originalState:w,customRules:h,shortcuts:_,overrides:v});return{regle:T,bindToCurrentScope:E}}function st(t){let{rules:n,modifiers:r={},shortcuts:i,overrides:o}=t??{};function s(t,s,c){let l=a(t)?t:f(t),u=e(()=>h(c?.disabled)??!1),{regle:d,bindToCurrentScope:p}=ot({state:l,rulesFactory:s,options:c,globalOptions:r,customRules:n,shortcuts:i,overrides:o});return{r$:U(d,u,()=>{d.value||p()})}}return s}const ct=st();function lt(){function e(e,t){return t}return e}const ut=lt();function dt(e,t){return A(h(e).$errors,String(t))}function ft(e,t){return A(h(e).$issues,String(t))}function pt(e){let t={};if(Object.entries(e).some(([e,t])=>Me(t)||typeof t==`function`))return null;for(let n in e){let r=e[n];r&&k(r)&&`$each`in r&&r.$each&&k(r.$each)?t[n]=[pt(r.$each)]:k(r)&&!I(r)&&!Object.entries(r).some(([e,t])=>Me(t)||typeof t==`function`)?t[n]=pt(r):t[n]=null}return t}function mt(t){let{rules:n,modifiers:r={},shortcuts:i,overrides:o}=t??{};function s(t,s){let c=a(t)?t:typeof t==`function`?void 0:e(()=>t),l=f(pt(c?.value)),u=e(()=>h(s?.disabled)??!1),{regle:d,bindToCurrentScope:p}=ot({state:l,rulesFactory:c,options:s,globalOptions:r,customRules:n,shortcuts:i,overrides:o});return U(d,u,()=>{d.value||p()})}return s}const ht=mt();function gt(e){if(F(e)){let t=e,n=class extends t{constructor(...e){return super(...e),_t(this)}};return Object.defineProperty(n,"name",{value:t.name}),_t(n)}return _t(e)}function _t(e){return!N(e,he.REGLE_STATIC)&&Object.isExtensible(e)&&P(e,he.REGLE_STATIC,!0),e}function vt({rules:e,modifiers:t,shortcuts:n,overrides:r}){let i=st({rules:e,modifiers:t,shortcuts:n,overrides:r}),a=mt({rules:e,modifiers:t,shortcuts:n,overrides:r});return i.__config={rules:e,modifiers:t,shortcuts:n,overrides:r},a.__config={rules:e,modifiers:t,shortcuts:n,overrides:r},{useRegle:i,inferRules:lt(),useRules:a}}function yt(e,{rules:t,modifiers:n,shortcuts:r,overrides:i}){let a=e.__config??{},o=()=>({...a.rules?.(),...t?.()}),s=a.modifiers&&n?j(a.modifiers,n):a.modifiers??n,c=a.shortcuts&&r?j(a.shortcuts,r):a.shortcuts??r,l=a.overrides&&i?j(a.overrides,i):a.overrides??i,u=st({rules:o,modifiers:s,shortcuts:c,overrides:l});return u.__config={rules:o,modifiers:s,shortcuts:c,overrides:l},{useRegle:u,inferRules:lt()}}function bt(e){return e}function xt(t,n){let r=n??!1,i=e({get:()=>r?Object.values(t).map(e=>e.$value):Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t.$value])),set:e=>{r||typeof e==`object`&&Object.entries(e).forEach(([e,n])=>t[e].$value=n)}}),a=e({get:()=>Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t.$silentValue])),set:e=>{typeof e==`object`&&Object.entries(e).forEach(([e,n])=>t[e].$silentValue=n)}}),o=e(()=>{let e=Object.entries(t);return!!e.length&&e.every(([e,t])=>t?.$dirty)}),s=e(()=>Object.entries(t).some(([e,t])=>t?.$anyDirty)),c=e(()=>Object.entries(t).some(([e,t])=>t?.$invalid)),l=e(()=>{let e=Object.entries(t);return!!e.length&&e.every(([e,t])=>t?.$correct||t.$anyDirty&&!t.$invalid)}),d=e(()=>Object.entries(t).some(([e,t])=>t?.$error)),f=e(()=>{let e=Object.entries(t);return!!e.length&&e.every(([e,t])=>t?.$ready)}),p=e(()=>Object.entries(t).some(([e,t])=>t?.$pending)),m=e(()=>r?Object.entries(t).map(([e,t])=>t.$issues):Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t.$issues]))),h=e(()=>r?Object.entries(t).map(([e,t])=>t.$silentIssues):Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t.$silentIssues]))),g=e(()=>r?Object.entries(t).map(([e,t])=>t.$errors):Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t.$errors]))),_=e(()=>r?Object.entries(t).map(([e,t])=>t.$silentErrors):Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t.$silentErrors]))),v=e(()=>{let e=Object.entries(t);return!!e.length&&e.every(([e,t])=>t?.$edited)}),y=e(()=>Object.entries(t).some(([e,t])=>t?.$anyEdited)),x=e(()=>r?Object.values(t):t);function S(e){Object.values(t).forEach(t=>{t.$reset(e)})}function C(){Object.values(t).forEach(e=>{e.$touch()})}function w(e=!0){return Object.values(t).map(t=>t.$extractDirtyFields(e))}function T(e){Object.values(t).forEach(t=>{t.$setExternalErrors(e)})}function E(e){Object.values(t).forEach(t=>{t.$setExternalIssues(e)})}function D(){Object.values(t).forEach(e=>{e.$clearExternalErrors()})}function O(){Object.values(t).forEach(e=>{e.$clearExternalIssues()})}function k(e){try{return e&&(i.value=e),Object.values(t).every(t=>t.$validateSync(e))}catch{return!1}}async function A(e){try{e&&(i.value=e);let n=i.value;return{valid:(await Promise.allSettled(Object.values(t).map(e=>e.$validate()))).every(e=>e.status===`fulfilled`?e.value.valid===!0:!1),data:n,errors:g.value,issues:m.value}}catch{return{valid:!1,data:i.value,errors:g.value,issues:m.value}}}let j=u({...!r&&{$silentValue:a},$errors:g,$issues:m,$silentIssues:h,$silentErrors:_,$instances:x,$value:i,$output:i,$dirty:o,$anyDirty:s,$invalid:c,$correct:l,$error:d,$pending:p,$ready:f,$edited:v,$anyEdited:y,$reset:S,$touch:C,$validate:A,$validateSync:k,$extractDirtyFields:w,$clearExternalErrors:D,$clearExternalIssues:O,$setExternalErrors:T,$setExternalIssues:E});return b(()=>{if(!r){for(let e of Object.keys(j).filter(e=>!e.startsWith(`$`)&&!e.startsWith(`~`)))delete j[e];for(let[e,t]of Object.entries(x.value))Object.assign(j,{[e]:t})}}),j}function St(t,n){function r(r){let i=e(()=>h(r)),a=u({});c();let o=f(l(t.value)),s=u({r$:o});function c(){i.value&&(typeof i.value==`string`&&!t.value[i.value]?t.value[i.value]={}:Array.isArray(i.value)&&i.value.forEach(e=>{t.value[e]||(t.value[e]={})}))}y(i,c),y(t,e=>{o.value=l(e)},{deep:!0});function l(e){return i.value?typeof i.value==`string`?xt(e[i.value]??{},!n.asRecord):(Object.keys(a).forEach(e=>{delete a[e]}),i.value.forEach(t=>{Object.entries(e[t]).forEach(([e,t])=>{Object.assign(a,{[e]:t})})}),xt(a,!n.asRecord)):xt(e[`~~global`]??{},!n.asRecord)}return{r$:s.r$}}return{useCollectScope:r}}function Ct(t,r){let i=r??ct;return{useScopedRegle:((r,a,o)=>{let{namespace:s,scopeKey:l,id:u,...d}=o??{};i.__config??={};let p=e(()=>u??l),m=e(()=>h(s)),g=f(`${Object.keys(t.value).length+1}-${X()}`),_=e(()=>p.value??`instance-${g.value}`),{r$:v}=i(r,a,{...d,id:p.value});x(),Z(b),y(m,(e,t)=>{b(t),x()}),n()&&c(()=>{let e=n();typeof window<`u`&&e?.proxy?.$el?.parentElement&&document.documentElement&&!document.documentElement.contains(e?.proxy?.$el?.parentElement)&&b()});function b(e){let n=e??m.value;n?t.value[n]&&delete t.value[n][_.value]:t.value[`~~global`][_.value]&&delete t.value[`~~global`][_.value]}function x(){m.value?(t.value[m.value]||(t.value[m.value]={}),t.value[m.value][_.value]=v):(t.value[`~~global`]||(t.value[`~~global`]={}),t.value[`~~global`][_.value]=v)}return{r$:v,dispose:b,register:x}})}}function wt(e){let t=(e?.customStore?()=>(e.customStore&&(e.customStore?.value[`~~global`]?e.customStore?.value&&(e.customStore.value={"~~global":{}}):e.customStore.value[`~~global`]={}),e.customStore):ue(()=>f({"~~global":{}})))(),{useScopedRegle:n}=Ct(t,e?.customUseRegle),{useCollectScope:r}=St(t,{asRecord:e?.asRecord});return{useScopedRegle:n,useCollectScope:r}}const{useCollectScope:Tt,useScopedRegle:Et}=wt(),Dt=Tt,Ot=Et;function kt(t,n,r){let i=e(()=>h(t)[n]);return e(()=>r.find(e=>{if(e[n]&&`literal`in e[n]){let t=e[n].literal;if(Me(t))return h(t._params?.[0])===i.value}})||r.find(e=>k(e[n])&&!Object.keys(e[n]).some(e=>e===`literal`))||{})}function At(e,t,n){return!!e&&t in e&&k(e[t])&&`$value`in e[t]&&e[t]?.$value===n}function jt(e,t,n,r){let i=a(e)?m(e.value,`$fields`):m(e,`$fields`),o=f();return y(i,async()=>{await s(),At(i.value,t,n)?o.value=m(e).value:o.value=void 0},{immediate:!0,flush:`pre`}),o}function Mt(e){return e}function Nt(e,t){return n=>j({...e},t(n))}var Pt=`1.28.0`;function Ft(e){return typeof e==`function`}function It(e,t){return t.filter(t=>t in e&&!Ft(e[t])).map(t=>{let n=!1;return t===`$value`&&(n=!0),{key:t,value:e[t],editable:n}})}function Lt(e,t){return Object.entries(e).filter(([n])=>!t.includes(n)&&n.startsWith(`$`)&&!Ft(e[n])).map(([e,t])=>({key:e,value:t,editable:!1})).sort((e,t)=>e.key.localeCompare(t.key))}function Rt(e){if(!e.includes(`:field:`))return null;let[t,,n]=e.split(`:`);return{instanceId:t,fieldName:n}}function zt(e,t){return`${e}:field:${t}`}function Bt(e){if(!e.includes(`:rule:`))return null;let t=e.split(`:rule:`);if(t.length!==2)return null;let n=t[0],r=t[1],i=Rt(n);return i?{...i,ruleName:r}:null}function Vt(e,t,n){return`${zt(e,t)}:rule:${n}`}const Ht=[`$autoDirty`,`$rewardEarly`,`$clearExternalErrorsOnChange`,`$clearExternalErrorsOnValidate`,`$immediateDirty`,`$silent`];function Ut(e){let t={},n=It(e,be.FIELD);n.length>0&&(t.State=n);let r=Lt(e,[...be.FIELD,...Ht,`$rules`,`$fields`,`$modifiers`,`$deepCompare`,`$isArrayOrRegleStatic`,`$schemaMode`]);return r.length>0&&(t[`Other Properties`]=r),e[`~modifiers`]&&(t.Modifiers=Object.entries(e[`~modifiers`]).map(([e,t])=>({key:e,value:t,editable:!1}))),t}function Wt(e){let t={},n=[`$type`,`$valid`,`$active`,`$pending`,`$message`,`$tooltip`],r=It(e,n);r.length>0&&(t[`Rule State`]=r),e.$params&&Array.isArray(e.$params)&&e.$params.length>0&&(t.Parameters=[{key:`$params`,value:e.$params,editable:!1}]),e.$metadata!==void 0&&e.$metadata!==!0&&e.$metadata!==!1&&(t.Metadata=[{key:`$metadata`,value:e.$metadata,objectType:`reactive`,editable:!1}]);let i=Lt(e,[...n,`$params`,`$metadata`,`$haveAsync`,`$validating`,`$fieldDirty`,`$fieldInvalid`,`$fieldPending`,`$fieldCorrect`,`$fieldError`,`$maybePending`]);return i.length>0&&(t[`Other Properties`]=i),t}function Gt(e){let t={},n=It(e,be.ROOT);n.length>0&&(t.State=n);let r=Lt(e,[...be.ROOT,`$fields`,`$modifiers`,`$path`,...Ht]);return r.length>0&&(t[`Other Properties`]=r),e[`~modifiers`]&&(t.Modifiers=Object.entries(e[`~modifiers`]).map(([e,t])=>({key:e,value:t,editable:!1}))),t}function Kt(e,t){if(!e||!t)return null;let n=t.match(/[^.[\]]+/g);if(!n)return null;let r=e;for(let e of n){if(!r)return null;let t=parseInt(e);if(!isNaN(t))if(Ie(r)&&Array.isArray(r.$each))r=r.$each[t];else return null;else if(Ie(r)&&r.$self&&r.$self)r=r.$self;else if(Fe(r)&&r.$fields&&r.$fields[e])r=r.$fields[e];else if(r[e])r=r[e];else return null}return r}function qt(e,t){let n=Bt(e);if(n){let{instanceId:e,fieldName:r,ruleName:i}=n,a=t(e);if(!a||!a.r$.$fields)return null;let o=Kt(a.r$.$fields,r);if(!o||!(`$rules`in o))return null;let s=o.$rules[i];return s?Wt(s):null}let r=Rt(e);if(r){let{instanceId:e,fieldName:n}=r,i=t(e);if(!i||!i.r$.$fields)return null;let a=Kt(i.r$.$fields,n);return a?Ut(a):null}let i=t(e);return i?Gt(i.r$):null}function Jt(e){if(e.includes(`:rule:`))return;let t=Rt(e);if(t){let{instanceId:e,fieldName:n}=t,r=$.get(e);if(r&&r.r$.$fields){let e=Kt(r.r$.$fields,n);e&&typeof e.$validate==`function`&&e.$validate()}}else{let t=$.get(e);t&&typeof t.r$.$validate==`function`&&t.r$.$validate()}$.notifyDevtools()}function Yt(e,t=!1){let n=Rt(e);if(n){let{instanceId:e,fieldName:r}=n,i=$.get(e);if(i&&i.r$.$fields){let e=Kt(i.r$.$fields,r);e&&typeof e.$reset==`function`&&e.$reset({toOriginalState:t})}}else{let n=$.get(e);n&&typeof n.r$.$reset==`function`&&n.r$.$reset({toOriginalState:t})}$.notifyDevtools()}function Xt(e){if(e.includes(`:rule:`))return;let t=Rt(e);if(t){let{instanceId:e,fieldName:n}=t,r=$.get(e);if(r&&r.r$.$fields){let e=Kt(r.r$.$fields,n);e&&typeof e.$touch==`function`&&e.$touch()}}else{let t=$.get(e);t&&typeof t.r$.$touch==`function`&&t.r$.$touch()}$.notifyDevtools()}function Zt(e){let{nodeId:t,path:n,state:r}=e;if(!n.includes(`$value`)||!Rt(t))return;let[i,a,o]=t?.split(`:`)??[],s=$.get(i);if(s&&s.r$.$fields){let e=Kt(s.r$.$fields,o);e&&`$value`in e&&(e.$value=r.value,$.notifyDevtools())}}function Qt(e,t){let n=[],r=!1;Le(e)?r=e[`~modifiers`]?.$disabled??!1:Fe(e)?r=e[`~modifiers`]?.disabled??!1:Ie(e)&&(r=e[`~modifiers`]?.$disabled??!1);let i=Le(e)?(`required`in e.$rules&&!e.$rules.required.$active||I(e.$rules))&&!e.$schemaMode:!1,a=Le(e)?e.$inactive:!1,o=Fe(e)||Ie(e);return e.$error?n.push({label:`error`,textColor:Q.ERROR.text,backgroundColor:Q.ERROR.bg,tooltip:o?ve.ERROR:_e.ERROR}):e.$correct&&n.push({label:`correct`,textColor:Q.CORRECT.text,backgroundColor:Q.CORRECT.bg,tooltip:o?ve.CORRECT:_e.CORRECT}),e.$pending&&n.push({label:`pending`,textColor:Q.PENDING.text,backgroundColor:Q.PENDING.bg,tooltip:o?ve.PENDING:_e.PENDING}),r&&n.push({label:`disabled`,textColor:Q.DISABLED.text,backgroundColor:Q.DISABLED.bg,tooltip:_e.DISABLED}),a?n.push({label:`inactive`,textColor:Q.INACTIVE.text,backgroundColor:Q.INACTIVE.bg,tooltip:_e.INACTIVE}):i&&n.push({label:`optional`,textColor:Q.OPTIONAL.text,backgroundColor:Q.OPTIONAL.bg,tooltip:_e.OPTIONAL}),!e.$invalid&&e.$dirty&&n.push({label:`valid`,textColor:Q.VALID.text,backgroundColor:Q.VALID.bg,tooltip:_e.VALID}),e.$dirty?n.push({label:`dirty`,textColor:Q.DIRTY.text,backgroundColor:Q.DIRTY.bg,tooltip:o?ve.DIRTY:_e.DIRTY}):i||n.push({label:`pristine`,textColor:Q.PRISTINE.text,backgroundColor:Q.PRISTINE.bg,tooltip:_e.PRISTINE}),t&&n.push({label:`<${t}.vue>`,textColor:Q.COMPONENT.text,backgroundColor:Q.COMPONENT.bg}),n}function $t(e){let t=[];return e.$active?e.$valid?e.$valid&&t.push({label:`valid`,textColor:Q.VALID.text,backgroundColor:Q.VALID.bg,tooltip:ye.VALID}):t.push({label:`invalid`,textColor:Q.INVALID.text,backgroundColor:Q.INVALID.bg,tooltip:ye.INVALID}):t.push({label:`inactive`,textColor:Q.INACTIVE.text,backgroundColor:Q.INACTIVE.bg,tooltip:ye.INACTIVE}),e.$pending&&t.push({label:`pending`,textColor:Q.PENDING.text,backgroundColor:Q.PENDING.bg,tooltip:ye.PENDING}),t}function en(e,t,n){let r=[];return!e.$rules||typeof e.$rules!=`object`||Object.entries(e.$rules).forEach(([e,i])=>{if(i&&typeof i==`object`){let a=$t(i);r.push({id:Vt(t,n,e),label:`⚙️ ${e}`,tags:a,children:[]})}}),r}function tn(e,t,n){let r=[];if(!e.$each||!Array.isArray(e.$each))return r;if(e.$each.forEach((e,i)=>{if(e&&typeof e==`object`){let a=Qt(e),o=`${n}[${i}]`,s=[];Fe(e)?s=nn(e.$fields,t,o):Le(e)&&(s=en(e,t,o)),r.push({id:zt(t,o),label:`[${i}]`,tags:a,children:s})}}),e.$self&&typeof e.$self==`object`){let i=Qt(e.$self),a=`${n}[$self]`;r.unshift({id:zt(t,a),label:`$self`,tags:i,children:en(e.$self,t,a)})}return r}function nn(e,t,n){let r=[];return Object.entries(e).forEach(([e,i])=>{if(i&&typeof i==`object`){let a=n?`${n}.${e}`:e,o=Qt(i),s=!1,c=!1,l=[];Ie(i)?(l=tn(i,t,a),s=!0,l.length===0&&(c=!0)):Fe(i)?l=nn({...i.$fields,...i.$self&&{$self:i.$self}},t,a):Le(i)&&(l=en(i,t,a));let u=l.filter(e=>e.label!==`$self`);r.push({id:zt(t,a),label:`${s?`${e}[${u.length}]`:e}${c?` (empty)`:``}`,tags:o,children:l})}}),r}function rn(e,t){let n=[];return Le(e)?en(e,t,`root`):(!(`$fields`in e)||typeof e.$fields!=`object`||Object.entries(e.$fields).forEach(([e,r])=>{if(r&&typeof r==`object`){let i=Qt(r),a=[],o=!1;Ie(r)?(a=tn(r,t,e),o=!0):Fe(r)?a=nn({...r.$fields,...r.$self&&{$self:r.$self}},t,e):Le(r)&&(a=en(r,t,e));let s=a.filter(e=>e.label!==`$self`);n.push({id:zt(t,e),label:`${o?`${e}[${s.length}]`:e}`,tags:i,children:a})}}),n)}function an(e,t){let n=e.map(e=>{let{r$:t,id:n,name:r,componentName:i}=e;return{id:n,label:r,tags:Qt(t,i),children:rn(t,n)}});return!t||t.trim()===``?n:on(n,t)}function on(e,t){let n=t.toLowerCase(),r=[];for(let i of e){let e=i.label.toLowerCase().includes(n),a=i.tags?.some(e=>e.label.toLowerCase().includes(n))??!1,o=i.children?on(i.children,t):[];(e||a||o.length>0)&&r.push({...i,children:o.length>0?o:i.children})}return r}function sn(e){D({id:`regle-devtools`,label:`Regle`,logo:`https://reglejs.dev/logo_main.png`,packageName:`@regle/core`,homepage:`https://reglejs.dev`,componentStateTypes:[`Regles`],app:e},t=>{$.setApi(t,e),t.on.getInspectorTree(async e=>{if(e.inspectorId===xe.INSPECTOR){let t=an($.getAll(),e.filter);t.length>0?e.rootNodes=t:e.rootNodes=[{id:`empty-regles`,label:`No Regles instances found`,children:[]}]}}),t.on.getInspectorState(e=>{if(e.inspectorId===xe.INSPECTOR){let n=qt(e.nodeId,e=>$.get(e));n||t.sendInspectorTree(xe.INSPECTOR),n?e.state=n:e.state={}}}),t.on.editInspectorState(e=>{e.inspectorId===xe.INSPECTOR&&Zt(e)}),t.addInspector({id:xe.INSPECTOR,label:`Regle`,noSelectionText:`No instance selected`,icon:`rule`,treeFilterPlaceholder:`Filter state`,stateFilterPlaceholder:`Filter validation status`,actions:[{icon:`confirmation_number`,tooltip:`Log Regle version`,action:()=>{console.info(`Regle version`,Pt)}}],nodeActions:[{icon:`check`,tooltip:`Validate`,action:e=>{Jt(e)}},{icon:`touch_app`,action:e=>{Xt(e)},tooltip:`Touch the instance with $touch`},{icon:`refresh`,tooltip:`Reset validation state`,action:e=>{Yt(e)}},{icon:`restore`,tooltip:`Restore to original state`,action:e=>{Yt(e,!0)}}]}),E(()=>{$.notifyDevtools()}),$.notifyDevtools()})}const cn={install(e,t){e.provide(pe,Pt),t&&e.provide(me,t),typeof window<`u`&&typeof __VUE_PROD_DEVTOOLS__<`u`&&__VUE_PROD_DEVTOOLS__&&!ge()&&sn(e)}};export{W as InternalRuleType,cn as RegleVuePlugin,re as createRule,wt as createScopedUseRegle,kt as createVariant,vt as defineRegleConfig,bt as defineRegleOptions,Mt as defineRules,yt as extendRegleConfig,Ve as flatErrors,dt as getErrors,ft as getIssues,ut as inferRules,Y as isRegleInstance,gt as markStatic,xt as mergeRegles,At as narrowVariant,Nt as refineRules,G as unwrapRuleParameters,Dt as useCollectScope,ct as useRegle,at as useRootStorage,ht as useRules,Ot as useScopedRegle,jt as variantToRef};
7
+ import{computed as e,effectScope as t,getCurrentInstance as n,getCurrentScope as r,inject as i,isRef as a,markRaw as o,nextTick as s,onMounted as c,onScopeDispose as l,reactive as u,readonly as d,ref as f,shallowRef as p,toRef as m,toValue as h,triggerRef as g,unref as _,version as v,watch as y,watchEffect as b}from"vue";import{setupDevtoolsPlugin as x}from"@vue/devtools-api";function S(e){return e?.constructor?.name==`File`}function C(e){return e&&(e instanceof Date||e.constructor.name==`File`||e.constructor.name==`FileList`)?!1:typeof e==`object`&&!!e&&!Array.isArray(e)}function w(e,t,n){if(!e)return n;var r,i;if(Array.isArray(t)&&(r=t.slice(0)),typeof t==`string`&&(r=t.split(`.`)),typeof t==`symbol`&&(r=[t]),!Array.isArray(r))throw Error(`props arg must be an array, a string or a symbol`);for(;r.length;)if(i=r.shift(),!e||!i||(e=e[i],e===void 0))return n;return e}function T(e,...t){for(var n=[].slice.call(arguments),r,i=n.length;r=n[i-1],i--;)if(!r||typeof r!=`object`&&typeof r!=`function`)throw Error(`expected object, got `+r);for(var a=n[0],o=n.slice(1),s=o.length,i=0;i<s;i++){var c=o[i];for(var l in c)a[l]=c[l]}return a}function E(e){let t={};for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let r=e[n],i=n.split(`.`),a=t;for(let e=0;e<i.length;e++){let t=i[e],n=e===i.length-1,o=t.match(/^\d+$/)?Number(t):null;if(o!==null){if(Array.isArray(a))if(n)a[o]=r;else{if(typeof a[o]!=`object`||a[o]===null){let t=i[e+1];a[o]=t&&t.match(/^\d+$/)?{$each:[],$self:[]}:{}}a=`$each`in a[o]?a[o].$each:a[o]}}else if(n)if(Array.isArray(a[t])){let e=a[t].slice();a[t]={},a[t].$self=e}else typeof a[t]==`object`&&a[t]!==null&&`$each`in a[t]?a[t].$self=r:a[t]=r;else{let n=i[e+1];if(Array.isArray(a[t])){let e=a[t].slice();a[t]={$each:[]},a[t].$self=e}(typeof a[t]!=`object`||a[t]===null||Array.isArray(a[t])&&!n.match(/^\d+$/))&&(n&&n.match(/^\d+$/)?a[t]={$each:[],$self:[]}:a[t]={}),a=`$each`in a[t]?a[t].$each:a[t]}}}return t}function D(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function O(e,t,n,r=!1){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})}function k(e){return typeof e==`function`&&!!e.prototype&&`constructor`in e.prototype&&e.prototype.constructor===e}function A(e,t=!0,n=!0){return e==null?!0:e instanceof Date?isNaN(e.getTime()):S(e)?e.size<=0:Array.isArray(e)?t?e.length===0:!1:C(e)?e==null?!0:n?Object.keys(e).length===0:!1:!String(e).length}const j=Symbol(`regle-rule`);function M(e){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,t=0){if(t>20)return e;let n=e,r={}.toString.call(e).slice(8,-1);if(r==`Set`&&(n=new Set([...e].map(e=>N(e,t+1)))),r==`Map`&&(n=new Map([...e].map(e=>[N(e[0],t+1),N(e[1],t+1)]))),r==`Date`&&(n=new Date(e.getTime())),r==`RegExp`&&(n=RegExp(e.source,M(e))),r==`Array`||r==`Object`){n=Array.isArray(e)?[]:{};for(let r in e)n[r]=N(e[r],t+1)}return n}function ee(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]`||typeof e==`string`||t===`[object String]`?new Date(e):new Date(NaN)}function P(e,t,{immediate:n=!1,trackDebounceRef:r}={}){let i,a=(...a)=>{r&&(r.value=!0);function o(){r&&(r.value=!1)}return new Promise((r,s)=>{function c(e){r(e),o()}if(clearTimeout(i),i=setTimeout(()=>{if(o(),i=void 0,!n)try{Promise.resolve(e.apply(this,[...a])).then(c).catch(e=>s(e)).finally(o)}catch(e){s(e)}},t),n){o();try{Promise.resolve(e.apply(this,[...a])).then(c).catch(e=>s(e)).finally(o)}catch(e){s(e)}}})};return a.cancel=()=>{clearTimeout(i),i=void 0,r&&(r.value=!1)},a}function F(e,t,n=!1,r=!0){if(e===t)return!0;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(e.constructor!==t.constructor)return!1;var i,a,o;if(Array.isArray(e)&&Array.isArray(t)){if(i=e.length,i!=t.length)return!1;if(r||!r&&n){for(a=i;a--!==0;)if(!F(e[a],t[a],n,!1))return!1}return!0}if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(o=Object.keys(e),i=o.length,i!==Object.keys(t).length)return!1;for(a=i;a--!==0;)if(!Object.prototype.hasOwnProperty.call(t,o[a]))return!1;for(a=i;a--!==0;){var s=o[a];if(C(e)&&C(t)&&s&&(r||!r&&n)&&!F(e[s],t[s],n,!1))return!1}return!0}return e!==e&&t!==t}var I=class extends Error{constructor(e=`Promise was aborted`){super(e),this.name=`AbortError`}};function L(e){let t=new AbortController,{signal:n}=t,r=new Promise((t,r)=>{function i(){r(new I)}n.addEventListener(`abort`,i),e.then(e=>{n.removeEventListener(`abort`,i),n.aborted?r(new I):t(e)}).catch(e=>{n.removeEventListener(`abort`,i),n.aborted?r(new I):r(e)})});function i(e){t.abort(e)}return{promise:r,abort:i,signal:n}}function R(e,t,r){if(!a(e))return r?.(),u(e);let i=f(!1);return n()&&c(async()=>{await s(),typeof window<`u`&&window.requestAnimationFrame(()=>{i.value=!0})}),u(new Proxy({},{get(n,a,o){if(r?.(),t.value&&a!==`$value`&&i.value)return Reflect.get(n,a,o);if(e.value!==void 0)return _(Reflect.get(e.value,a,o))},set(t,n,i){return r?.(),a(e.value[n])&&!a(i)?e.value[n].value=i:e.value[n]=i,!0},deleteProperty(t,n){return r?.(),Reflect.deleteProperty(e.value,n)},has(t,n){return r?.(),e.value===void 0?!1:Reflect.has(e.value,n)},ownKeys(){return r?.(),e.value===void 0?[]:Object.keys(e.value)},getOwnPropertyDescriptor(){return r?.(),{enumerable:!0,configurable:!0}}}))}const te={Inline:`__inline`,Async:`__async`};function z(e){try{return e.map(e=>h(e))}catch{return[]}}function B(t){return t.map(t=>t instanceof Function?e(t):a(t)?t:m(()=>t))}function V(e){let t=e.toString().replace(/\/\/.*$/gm,``).replace(/\/\*[\s\S]*?\*\//g,``).match(/^(?:async\s*)?(?:function\b.*?\(|\((.*?)\)|(\w+))\s*=>|\((.*?)\)\s*=>|function.*?\((.*?)\)|\((.*?)\)/);return t?(t[0]||t[1]||t[2]||t[3]||t[4]||``).split(`,`).map(e=>e.trim()).filter(e=>e.length>0).length:0}function H(e,...t){let{validator:n,type:r,async:i}=e,a=i||r===te.Async||n.constructor.name===`AsyncFunction`;return o({validator(n,...r){return e.validator(n,...z(r.length?r:t))},message(n){return typeof e.message==`function`?e.message({...n,$params:z(n?.$params?.length?n.$params:t)}):e.message},active(n){return typeof e.active==`function`?e.active({...n,$params:z(n?.$params?.length?n.$params:t)}):e.active??!0},tooltip(n){return typeof e.tooltip==`function`?e.tooltip({...n,$params:z(n?.$params?.length?n.$params:t)}):e.tooltip??[]},exec(n){let r=e.validator(n,...z(t)),i;return r instanceof Promise?r.then(e=>(i=e,typeof i==`object`&&`$valid`in i?i.$valid:typeof i==`boolean`?i:!1)):(i=r,typeof i==`object`&&`$valid`in i?i.$valid:typeof i==`boolean`?i:!1)},type:r,_validator:e.validator,_message:e.message,_active:e.active,_tooltip:e.tooltip,_type:e.type,_message_patched:!1,_tooltip_patched:!1,_async:a,_params:B(t),_brand:j})}function U(e){if(typeof e.validator==`function`){let t=[],n=e.async??e.validator.constructor.name===`AsyncFunction`,r=H({...e,async:n},...t);if(V(e.validator)>1){let t=function(...t){return H(e,...t)};return t.validator=r.validator,t.message=r.message,t.active=r.active,t.tooltip=r.tooltip,t.type=r.type,t.exec=r.exec,t._validator=r.validator,t._message=r.message,t._active=r.active,t._tooltip=r.tooltip,t._type=e.type,t._message_pacthed=!1,t._tooltip_pacthed=!1,t._async=n,t}else return r}throw Error(`[createRule] validator must be a function`)}const W=Symbol.for(`regle:instance`);function ne(e){return typeof e==`object`&&!!e&&W in e}function G(e){return C(e.value)}function re(n,r,i){let a=t(),o;return o=n instanceof Function?a.run(()=>({computedEach:e(()=>n(r,i??0))})).computedEach:n,{scope:a,unwrapped:o}}const K={LessThan:-1,EqualTo:0,GreaterThan:1};function ie(e,t){let n=String(e).split(`.`),r=String(t).split(`.`);for(let e=0;e<Math.min(n.length,r.length);e++){let t=Number(n[e]),i=Number(r[e]);if(t>i)return K.GreaterThan;if(i>t)return K.LessThan;if(!isNaN(t)&&isNaN(i))return K.GreaterThan;if(isNaN(t)&&!isNaN(i))return K.LessThan}return K.EqualTo}const ae=ie(v,`3.5.0`)!==-1;function q(){return Math.floor(Math.random()*Date.now()).toString()}function oe(){return typeof window>`u`?q():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(10)}function se(e){return r()?(l(e),!0):!1}function ce(e){let n=!1,r,i=t(!0);return((...t)=>(n||=(r=i.run(()=>e(...t)),!0),r))}function le(e,t){return e.some(e=>t?e?.[t]:!1)}function ue(e,t){return t?e.reduce((e,n)=>{let r=n?.[t]||[];return e.concat(r)},[]):[]}const de=Symbol(`regle`),J=Symbol(`regle-config`),Y={REGLE_STATIC:`__regle_static`};function fe(){return!!(typeof globalThis<`u`&&(`__vitest_worker__`in globalThis||`__JEST_GLOBAL__`in globalThis||typeof window<`u`&&`Cypress`in window||typeof process<`u`&&process.env&&(process.env.VITEST||process.env.JEST_WORKER_ID||process.env.NODE_ENV===`test`||process.env.PLAYWRIGHT_TEST)))}const X={ERROR:{text:16777215,bg:15680580},INVALID:{text:16777215,bg:16747520},CORRECT:{text:16777215,bg:1096065},VALID:{text:16777215,bg:292951},PENDING:{text:16777215,bg:16096779},DIRTY:{text:2042167,bg:16708551},COMPONENT:{text:16777215,bg:6514417},PRISTINE:{text:1120295,bg:16777215},INACTIVE:{text:0,bg:11581118},OPTIONAL:{text:0,bg:11581118},DISABLED:{text:15680580,bg:15067115}},Z={PRISTINE:`Field is not touched yet`,DIRTY:`Field have been touched`,ERROR:`Field has errors`,CORRECT:`Field is dirty and all actives rules are valid`,VALID:`Field rules are all valid`,PENDING:`Field is pending`,INACTIVE:`Field is inactive`,OPTIONAL:`Field is not required`,DISABLED:`Validation reactivity is paused by the disabled modifier`},pe={DIRTY:`All nested fields have been touched`,ERROR:`Some nested fields have errors`,CORRECT:`All nested fields are correct`,PENDING:`Some nested fields are pending`},me={INACTIVE:`The rule is not active`,INVALID:`Rule is invalid`,VALID:`Rule is valid`,PENDING:`Rule validator is pending`},he={ROOT:[`$value`,`$invalid`,`$dirty`,`$error`,`$pending`,`$valid`,`$ready`],FIELD:[`$value`,`$invalid`,`$dirty`,`$error`,`$pending`,`$errors`]},ge={INSPECTOR:`regle-inspector`,COMPONENTS:`components`,TIMELINE:`regle-timeline`};function _e(e,t){return!Se(e.value)&&(G(e)||C(t.value)&&!A(t.value)&&!Object.entries(t.value).some(([e,t])=>be(t)||typeof t==`function`))}function ve(e,t){return!!e.value&&C(e.value)&&`$each`in e.value||Array.isArray(t.value)}function ye(e){return!!e.value&&(C(e.value)||G(e.value))}function be(e){return(C(e)||typeof e==`function`)&&`_validator`in e}function xe(e){return typeof e.value==`function`?`_validator`in e.value:!0}function Se(e){return C(e)&&D(e,Y.REGLE_STATIC)&&e[Y.REGLE_STATIC]===!0}function Ce(e){return C(e)&&`$fields`in e}function Q(e){return!!e&&`$each`in e}function we(e){return!!e&&`$rules`in e}function Te(e){return typeof e==`function`}function Ee(e,t){return t.filter(t=>t in e&&!Te(e[t])).map(t=>{let n=!1;return t===`$value`&&(n=!0),{key:t,value:e[t],editable:n}})}function De(e,t){return Object.entries(e).filter(([n])=>!t.includes(n)&&n.startsWith(`$`)&&!Te(e[n])).map(([e,t])=>({key:e,value:t,editable:!1})).sort((e,t)=>e.key.localeCompare(t.key))}function Oe(e){if(!e.includes(`:field:`))return null;let[t,,n]=e.split(`:`);return{instanceId:t,fieldName:n}}function ke(e,t){return`${e}:field:${t}`}function Ae(e){if(!e.includes(`:rule:`))return null;let t=e.split(`:rule:`);if(t.length!==2)return null;let n=t[0],r=t[1],i=Oe(n);return i?{...i,ruleName:r}:null}function je(e,t,n){return`${ke(e,t)}:rule:${n}`}const Me=[`$autoDirty`,`$rewardEarly`,`$clearExternalErrorsOnChange`,`$clearExternalErrorsOnValidate`,`$immediateDirty`,`$silent`];function Ne(e){let t={},n=Ee(e,he.FIELD);n.length>0&&(t.State=n);let r=De(e,[...he.FIELD,...Me,`$rules`,`$fields`,`$modifiers`,`$deepCompare`,`$isArrayOrRegleStatic`,`$schemaMode`]);return r.length>0&&(t[`Other Properties`]=r),e[`~modifiers`]&&(t.Modifiers=Object.entries(e[`~modifiers`]).map(([e,t])=>({key:e,value:t,editable:!1}))),t}function Pe(e){let t={},n=[`$type`,`$valid`,`$active`,`$pending`,`$message`,`$tooltip`],r=Ee(e,n);r.length>0&&(t[`Rule State`]=r),e.$params&&Array.isArray(e.$params)&&e.$params.length>0&&(t.Parameters=[{key:`$params`,value:e.$params,editable:!1}]),e.$metadata!==void 0&&e.$metadata!==!0&&e.$metadata!==!1&&(t.Metadata=[{key:`$metadata`,value:e.$metadata,objectType:`reactive`,editable:!1}]);let i=De(e,[...n,`$params`,`$metadata`,`$haveAsync`,`$validating`,`$fieldDirty`,`$fieldInvalid`,`$fieldPending`,`$fieldCorrect`,`$fieldError`,`$maybePending`]);return i.length>0&&(t[`Other Properties`]=i),t}function Fe(e){let t={},n=Ee(e,he.ROOT);n.length>0&&(t.State=n);let r=De(e,[...he.ROOT,`$fields`,`$modifiers`,`$path`,...Me]);return r.length>0&&(t[`Other Properties`]=r),e[`~modifiers`]&&(t.Modifiers=Object.entries(e[`~modifiers`]).map(([e,t])=>({key:e,value:t,editable:!1}))),t}function Ie(e,t){if(!e||!t)return null;let n=t.match(/[^.[\]]+/g);if(!n)return null;let r=e;for(let e of n){if(!r)return null;let t=parseInt(e);if(!isNaN(t))if(Q(r)&&Array.isArray(r.$each))r=r.$each[t];else return null;else if(Q(r)&&r.$self&&r.$self)r=r.$self;else if(Ce(r)&&r.$fields&&r.$fields[e])r=r.$fields[e];else if(r[e])r=r[e];else return null}return r}function Le(e,t){let n=Ae(e);if(n){let{instanceId:e,fieldName:r,ruleName:i}=n,a=t(e);if(!a||!a.r$.$fields)return null;let o=Ie(a.r$.$fields,r);if(!o||!(`$rules`in o))return null;let s=o.$rules[i];return s?Pe(s):null}let r=Oe(e);if(r){let{instanceId:e,fieldName:n}=r,i=t(e);if(!i||!i.r$.$fields)return null;let a=Ie(i.r$.$fields,n);return a?Ne(a):null}let i=t(e);return i?Fe(i.r$):null}function Re(e){if(e.includes(`:rule:`))return;let t=Oe(e);if(t){let{instanceId:e,fieldName:n}=t,r=$.get(e);if(r&&r.r$.$fields){let e=Ie(r.r$.$fields,n);e&&typeof e.$validate==`function`&&e.$validate()}}else{let t=$.get(e);t&&typeof t.r$.$validate==`function`&&t.r$.$validate()}$.notifyDevtools()}function ze(e,t=!1){let n=Oe(e);if(n){let{instanceId:e,fieldName:r}=n,i=$.get(e);if(i&&i.r$.$fields){let e=Ie(i.r$.$fields,r);e&&typeof e.$reset==`function`&&e.$reset({toOriginalState:t})}}else{let n=$.get(e);n&&typeof n.r$.$reset==`function`&&n.r$.$reset({toOriginalState:t})}$.notifyDevtools()}function Be(e){if(e.includes(`:rule:`))return;let t=Oe(e);if(t){let{instanceId:e,fieldName:n}=t,r=$.get(e);if(r&&r.r$.$fields){let e=Ie(r.r$.$fields,n);e&&typeof e.$touch==`function`&&e.$touch()}}else{let t=$.get(e);t&&typeof t.r$.$touch==`function`&&t.r$.$touch()}$.notifyDevtools()}function Ve(e){let{nodeId:t,path:n,state:r}=e;if(!n.includes(`$value`)||!Oe(t))return;let[i,a,o]=t?.split(`:`)??[],s=$.get(i);if(s&&s.r$.$fields){let e=Ie(s.r$.$fields,o);e&&`$value`in e&&(e.$value=r.value,$.notifyDevtools())}}async function He(e){e.sendInspectorTree(ge.INSPECTOR),e.sendInspectorState(ge.INSPECTOR)}function Ue(){let e=f(!1),t=p(),n=p(new Map),r=p(new Map),i=p(new Map),a=f(0),o;function s(e){t.value=e}function c(e,t){let o=t?.filePath??`loose`,s=i.value.get(o),c=s?s+1:1;i.value.set(o,c);let d=`${t?.uid?.toString()??`regle`}#${++a.value}`,f=`r\$ #${t?.name??c}`;n.value.set(d,{id:d,name:f,r$:e,componentName:t?.componentName,filePath:t?.filePath});let p=y([()=>e.$value,()=>e.$externalErrors,()=>e.$externalIssues,()=>e.$error,()=>e.$invalid,()=>e.$pending],()=>u(),{deep:!0,flush:`post`});return r.value.set(d,p),window.requestAnimationFrame(()=>{l()}),d}function l(){t.value&&He(t.value)}function u(){o??=window.requestAnimationFrame(()=>{o=void 0,l()})}function d(e){let t=r.value.get(e);t&&(t(),r.value.delete(e)),n.value.delete(e),l()}function m(){return Array.from(n.value.values())}function h(e){return n.value.get(e)}function g(){r.value.forEach(e=>e()),r.value.clear(),n.value.clear(),l()}return{devtoolsApi:t,register:c,unregister:d,getAll:m,get:h,clear:g,setApi:s,notifyDevtools:l,loggedWarning:e}}const $=Ue();function We(e,t){if(typeof window>`u`||!(typeof __VUE_PROD_DEVTOOLS__<`u`&&__VUE_PROD_DEVTOOLS__)||fe())return()=>{};if(!i(de,void 0)&&!$.loggedWarning.value&&$.devtoolsApi)return $.loggedWarning.value=!0,console.warn(`📏 Regle Devtools are not available. Install Regle plugin in your app to enable them. https://reglejs.dev/introduction/devtools`),()=>{};let r=n(),a=r?.type?.name||r?.type?.__name,o;r&&r.type&&typeof r.type==`object`&&`__file`in r.type&&(o=r.type.__file);let s=$.register(e,{name:t?.name,componentName:a,uid:r?.uid,filePath:o});function c(){$.unregister(s)}return se(c),c}function Ge(){let e=p(new Map),t=p(new Map),n=p(new Map),i=p(new Map),a=p(new Map),o=p(new Map),s=p(new Map);function c(e){let n=t.value.get(e);if(n)return n;{let n=f({});return t.value.set(e,n),n}}function u(e){let t=n.value.get(e);if(t)return t;{let t=f([]);return n.value.set(e,t),t}}function d(e,t){o.value.set(e,t)}function m(e){return o.value.get(e)}function h(e,t,n){s.value.set(`${e}-${t}`,n)}function g(e,t){return s.value.get(`${e}-${t}`)}function _(e,t){e&&t!=null&&s.value.delete(`${e}-${t}`)}function v(e,t){i.value.set(e,t)}function y(e){return i.value.get(e)??!1}function b(t,n){e.value.set(t,n)}function x(t,n){let r=e.value.get(t);if(r)return S(n,r)?{valid:!0}:{valid:!1}}function S(e,t){let n=Object.keys(t),r=Object.keys(e);return r.length!==n.length||!r.every(e=>n.includes(e))?!1:r.every(n=>{let r=e[n],i=t[n];if(!i||!r||typeof r==`function`||typeof i==`function`||typeof r==`number`||typeof r==`boolean`||typeof r==`string`)return!1;if(`_params`in r){if(!r._params)return!0;if(Array.isArray(r._params))return r._params?.every((e,t)=>{if(typeof i==`number`||typeof i==`boolean`||typeof i==`string`)return!0;{let e=z(`_params`in i&&Array.isArray(i._params)?i._params:[]),n=z(r._params);return e?.[t]===n?.[t]}})}})}function C(e){let t=a.value.get(e);if(t)return t;{let t=f(!1),n=f(!0),r=f({}),i=f(!1);return a.value.set(e,{$pending:t,$valid:n,$metadata:r,$validating:i}),{$pending:t,$valid:n,$metadata:r,$validating:i}}}function w(){e.value.clear(),t.value.clear(),n.value.clear(),i.value.clear(),a.value.clear(),o.value.clear(),s.value.clear()}return r()&&l(w),{clearAll:w,addRuleDeclEntry:b,setDirtyEntry:v,checkRuleDeclEntry:x,getDirtyState:y,trySetRuleStatusRef:C,getFieldsEntry:c,getCollectionsEntry:u,getArrayStatus:g,addArrayStatus:h,deleteArrayStatus:_,arrayStatusStorage:s,addAdditionalRulesEntry:d,getAdditionalRulesEntry:m}}function Ke({field:e,silent:t=!1}){let n=Object.entries(e.$rules??{}).map(([n,r])=>{let i=``;if(t&&!r.$valid)i=r.$message;else if(!r.$valid&&e.$error&&!r.$validating)i=r.$message;else return null;return{$message:i,$property:e.fieldName,$rule:n,$type:r.$type,...typeof r.$metadata==`object`?r.$metadata:{}}}).filter(e=>!!e).reduce((e,t)=>(typeof t.$message==`string`?e.push(t):e.push(...t.$message.map(e=>({...t,$message:e}))),e),[]),r=e.$error&&e.$externalErrors&&Array.isArray(e.$externalErrors)&&!e.$externalIssues?.length?e.$externalErrors.map(t=>({$message:t,$property:e.fieldName,$rule:`external`,$type:void 0})):[],i=e.$error&&e.$externalIssues&&Array.isArray(e.$externalIssues)?e.$externalIssues.map(t=>({...t,$property:t.$property??e.fieldName,$rule:t.$rule??`external`})):[],a=[];return e.$schemaErrors&&e.$error&&(a=!Array.isArray(e.$schemaErrors)&&`$self`in e.$schemaErrors?e.$schemaErrors.$self??[]:e.$schemaErrors??[]),[...n,...r,...i,...a]}function qe({field:e}){let t=[];for(let n of Object.values(e.$rules??{})){let e=n.$tooltip;e&&(typeof e==`string`?t.push(e):t.push(...e))}return t}function Je(e){return C(e)&&`$each`in e}function Ye(e,t){let{includePath:n=!1}=t??{};if(Array.isArray(e)&&e.every(e=>!C(e)))return e;if(Je(e)){let t=n?e.$self?.map(e=>({message:e,path:[]}))??[]:e.$self??[],r=e.$each?.map(e=>Xe(e,n))??[];return t?.concat(r.flat())}else return Object.entries(e).map(([e,t])=>Xe(t,n,[e])).flat()}function Xe(e,t=!1,n){let r=t&&!n?[]:n;if(Array.isArray(e)&&e.every(e=>!C(e)))return t?e.map(e=>({message:e,path:r??[]})):e;if(Je(e)){let n=r?.length?e.$self?.map(e=>({message:e,path:r??[]}))??[]:e.$self??[],i=e.$each?.map((e,n)=>Xe(e,t,r?.concat(n)))??[];return n?.concat(i.flat())}else return Object.entries(e).map(([e,n])=>Xe(n,t,r?.concat(e))).flat()}function Ze({customMessages:n,rule:r,ruleKey:i,state:a,path:o,cachePath:s,storage:c,modifiers:l}){let d=t(),p={},m,h=e(()=>be(r.value)&&r.value._async),g=f(!1),_=0,{$pending:v,$valid:b,$metadata:x,$validating:S}=c.trySetRuleStatusRef(`${s}.${i}`);function C(){d=t(),p=d.run(()=>{let t=f(!1),s=f(!1),c=f(!0),l=f(!1),u=f(!1),d=e(()=>({$value:a.value,$error:s.value,$dirty:t.value,$pending:l.value,$correct:u.value,$invalid:c.value,$rule:{$valid:b.value,$invalid:!b.value,$pending:v.value},$params:S.value,...x.value})),p=e(()=>{try{return xe(r)?typeof r.value.active==`function`?r.value.active(d.value):!!r.value.active:!0}catch(e){return console.error(`Error in "active" function for "${o}.${i}" rule`,{cause:e}),!0}});function m(e){try{let t=``,a=n?n[i]?.[e]:void 0;if(a&&(t=typeof a==`function`?a(d.value):a),xe(r)){let n=`_${e}_patched`;a&&!r.value[n]||(t=typeof r.value[e]==`function`?r.value[e](d.value):r.value[e]??``)}return t}catch(t){return console.error(`Error in "${e}" function for "${o}.${i}" rule`,{cause:t}),``}}let h=e(()=>{let e=m(`message`);return A(e)&&(e=`This field is not valid`),e}),g=e(()=>m(`tooltip`)),_=e(()=>xe(r)&&r.value.type?r.value.type:i),y=e(()=>xe(r)?r.value.validator:r.value),S=e(()=>typeof r.value==`function`?[]:z(r.value._params??[]));return{$active:p,$message:h,$type:_,$validator:y,$params:S,$path:e(()=>`${o}.${i}`),$tooltip:g,$fieldCorrect:u,$fieldError:s,$fieldDirty:t,$fieldPending:l,$fieldInvalid:c}}),m=y(p?.$params,()=>{(!l.$silent.value||l.$rewardEarly.value&&p.$fieldError.value)&&D()},{deep:ae?1:!0})}C();function w(){b.value=!0,p.$fieldDirty.value&&(v.value=!0)}async function T(e){let t=!1;try{let n=p.$validator.value;if(typeof n!=`function`)return console.error(`${o}: Incorrect rule format, it needs to be either a function or created with "createRule".`),!1;let r=n(a.value,...p.$params.value),i=a.value;w();let s;if(s=r instanceof Promise?await r:r,e!==_||a.value!==i)return b.value;if(typeof s==`boolean`)t=s;else{let{$valid:e,...n}=s;t=e,x.value=n}}catch{t=!1}finally{e===_&&(v.value=!1)}return t}function E(e,t=!0){if(be(r.value)&&r.value._async)return!0;let n=e(a.value,...p.$params.value);if(n instanceof Promise)return!0;if(n!=null){if(typeof n==`boolean`)return n;{let{$valid:e,...t}=n;return x.value=t,e}}return!0}async function D(){let e=++_;try{S.value=!0;let t=!1;if(g.value=!0,be(r.value)&&r.value._async)t=await T(e);else{let e=p.$validator.value;t=E(e)}return e===_?(b.value=t,t):b.value}catch{return!1}finally{e===_&&(S.value=!1,g.value=!1)}}function O(){try{return S.value=!0,E(p.$validator.value)}catch{return!1}finally{S.value=!1}}function k(){_++,b.value=!0,x.value={},v.value=!1,S.value=!1,C()}function j(){m(),d.stop(),d=t()}return u({...p,$pending:v,$valid:b,$metadata:x,$haveAsync:h,$maybePending:g,$validating:S,$parse:D,$parseSync:O,$unwatch:j,$watch:C,$reset:k})}function Qe(e){return{"~standard":{version:1,vendor:`regle`,validate:async t=>{let{valid:n,data:r,errors:i}=await e(t,!0);return n?{value:r,issues:[]}:{issues:Ye(i,{includePath:!0})}}}}}function $e(e){return e===!0?`eager`:e===!1||e==null?!1:e}function et(e){return C(e)&&!Se(e)?Object.values(e).some(e=>et(e)):Array.isArray(e)?e.some(e=>et(e)):!A(e)}function tt(e,t){return we(e)?!e.$inactive&&et(t):Ce(e)?nt(e.$self,e.$fields,t):Q(e)&&Array.isArray(t)?e.$self&&tt(e.$self,t)?!0:e.$each.some((e,n)=>tt(e,t[n])):!1}function nt(e,t,n){if(e&&tt(e,n))return!0;if(!C(n)||Se(n))return!1;let r=n;return Object.entries(t).some(([e,t])=>tt(t,r[e]))}function rt(e,t,n,r=!1,i=!1){return e===`eager`?!0:e===`non-empty`?!r||i?!1:et(n):e===`lazy-non-empty`?et(t):!1}function it({state:n,rulesDef:r,customMessages:i,path:a,cachePath:o,fieldName:c,storage:l,options:d,externalErrors:p,externalIssues:g,schemaErrors:_,schemaMode:v,onUnwatch:x,$isArray:S,initialState:w,rootInitialState:T,originalState:E,shortcuts:D,overrides:O,onValidate:k}){let j=t(),M,I=[],R,te,z,B,V=()=>{},H,U=()=>{},W=f(!1),ne=f(l.getAdditionalRulesEntry(o)??{});function G(e){ne.value=e??{},l.addAdditionalRulesEntry(o,e??{}),K(),V()}function re(e){G(e)}function K(){let e={...r.value,...ne.value},t=[];for(let r in e){if(r.startsWith(`$`)||r.startsWith(`~`))continue;let s=e[r];if(!s)continue;let c=m(()=>s);t.push([r,Ze({modifiers:{$silent:M.$silent,$rewardEarly:M.$rewardEarly},customMessages:i,rule:c,ruleKey:r,state:n,path:a,cachePath:o,storage:l,$debounce:Y.value.$debounce})])}J.value=Object.fromEntries(t),l.addRuleDeclEntry(o,e)}function ie(){let e={...r.value,...ne.value},t=l.checkRuleDeclEntry(o,e),n={};for(let t in e)t.startsWith(`$`)&&(n[t]=e[t]);return Y.value=n,t}function q(){let e=ie();le(),K(),M.processShortcuts(),oe(),se(),e?.valid!=null&&(M.$dirty.value=l.getDirtyState(o),(M.$dirty.value&&!M.$silent.value||M.$rewardEarly.value&&M.$error.value)&&V()),l.addRuleDeclEntry(o,r.value)}function oe(){V=M.$debounce.value>0?P(de,M.$debounce.value,{trackDebounceRef:W}):de}function se(){U=M.$debounce.value>0?P(()=>{M.$dirty.value=!0},M.$debounce.value):()=>{M.$dirty.value=!0}}function ce(){if(J.value)for(let e of Object.values(J.value))e.$unwatch();te(),B?.(),M.$dirty.value&&l.setDirtyEntry(o,M.$dirty.value),R?.(),j.stop(),j=t();for(let e of I)e.stop();I=[],x?.(),z?.()}function le(){if(J.value)for(let e of Object.values(J.value))e.$watch();M=j.run(()=>{let r=f(!1),i=f(!1),a=e(()=>r.value),o=e(()=>S||Se(n.value)),s=e(()=>Y.value.$debounce==null?h(d.debounce)==null?M.$haveAnyAsyncRule.value?200:0:h(d.debounce):Y.value.$debounce),l=e(()=>Y.value.$deepCompare==null?!1:Y.value.$deepCompare),m=e(()=>Y.value.$lazy==null?h(d.lazy)==null?!1:h(d.lazy)===!0:Y.value.$lazy),y=e(()=>Y.value.$immediateDirty==null?h(d.immediateDirty)==null?!1:$e(h(d.immediateDirty)):$e(Y.value.$immediateDirty)),x=e(()=>Y.value.$rewardEarly==null?h(d.rewardEarly)==null?!1:h(d.rewardEarly)===!0:!!Y.value.$rewardEarly),C=e(()=>Y.value.$clearExternalErrorsOnChange==null?h(d.clearExternalErrorsOnChange)==null?!E.value:h(d.clearExternalErrorsOnChange)===!0:!!Y.value.$clearExternalErrorsOnChange),T=e(()=>Y.value.$clearExternalErrorsOnValidate==null?h(d.clearExternalErrorsOnValidate)==null?!1:h(d.clearExternalErrorsOnValidate)===!0:!!Y.value.$clearExternalErrorsOnValidate),E=e(()=>x.value?!0:Y.value.$silent==null?h(d.silent)==null?!1:h(d.silent)===!0:Y.value.$silent),k=e(()=>Y.value.$autoDirty==null?h(d.autoDirty)==null?!0:h(d.autoDirty)===!0:Y.value.$autoDirty),j=e(()=>{if(Y.value.$isEdited!=null)return Y.value.$isEdited;if(O?.isEdited!=null)return O.isEdited}),N=e(()=>{for(let e of Object.values(J.value))if(e.$validating)return!0;return!1}),P=e({get:()=>n.value,set(e){R(),n.value=e,ue()}}),L=e(()=>W.value?ie.value&&r.value:ie.value&&!K.value&&r.value),te=e(()=>Ke({field:{$rules:J.value,$error:L.value,$externalErrors:p?.value,$externalIssues:g?.value,$schemaErrors:_?.value,fieldName:ae.value}})),z=e(()=>Ke({field:{$rules:J.value,$error:L.value,$externalErrors:p?.value,$externalIssues:g?.value,$schemaErrors:_?.value,fieldName:ae.value},silent:!0})),B=e(()=>te.value.map(e=>e.$message)),V=e(()=>z.value.map(e=>e.$message)),H=f(!1);function U(e,t){return t instanceof Date&&e instanceof Date?ee(t).getTime()!==ee(e).getTime():t==null?typeof e==`boolean`?t===void 0?e===!0:e!=null:e!=null&&e!==``:Array.isArray(e)&&Array.isArray(t)?!F(e,t,Y.value.$deepCompare):t!==e}b(()=>{r.value?j.value?H.value=j.value(n.value,w.value,U):H.value=U(n.value,w.value):H.value=!1});let ne=e(()=>H.value),G=e(()=>qe({field:{$rules:J.value}})),re=e(()=>!(ie.value||K.value)),K=e(()=>i.value||!x.value?Object.entries(J.value).some(([e,t])=>t.$pending):!1),ie=e(()=>p?.value?.length||g?.value?.length||_?.value?.length?!0:q.value?!1:Object.values(J.value).some(e=>!e.$valid||e.$maybePending)),ae=e(()=>c??d.id??`root`),q=e(()=>!v&&!Object.keys(J.value).some(e=>!e.startsWith(`$`))),oe=e(()=>{if(p?.value?.length||g?.value?.length||q.value||W.value)return!1;if(r.value&&!A(n.value)&&!N.value&&!K.value){if(v)return!_?.value?.length;{let e=Object.values(J.value);for(let t of e)if(t.$active&&!t.$valid)return!1;return e.some(e=>e.$active)}}return!1}),se=e(()=>Object.values(J.value).some(e=>e.$haveAsync)),ce=e(()=>({$debounce:s.value,$lazy:m.value,$rewardEarly:x.value,$autoDirty:k.value,$silent:E.value,$clearExternalErrorsOnChange:C.value,$clearExternalErrorsOnValidate:T.value,$immediateDirty:y.value,$isEdited:j.value,$disabled:h(d.disabled)??!1}));function le(){D?.fields&&Object.entries(D.fields).forEach(([e,i])=>{let o=t();de[e]=o.run(()=>{let e=f();return b(()=>{e.value=i(u({$dirty:r,$externalErrors:p?.value??[],$externalIssues:g?.value??[],$value:n,$silentValue:P,$rules:J,$error:L,$pending:K,$invalid:ie,$correct:oe,$errors:B,$ready:re,$silentErrors:V,$anyDirty:a,$tooltips:G,$name:ae,$inactive:q,$edited:H,$anyEdited:ne}))}),e}),I.push(o)})}let de={};return{$error:L,$pending:K,$invalid:ie,$correct:oe,$debounce:s,$deepCompare:l,$lazy:m,$immediateDirty:y,$ready:re,$issues:te,$silentIssues:z,$errors:B,$silentErrors:V,$rewardEarly:x,$autoDirty:k,$silent:E,$clearExternalErrorsOnChange:C,$clearExternalErrorsOnValidate:T,$anyDirty:a,$edited:H,$anyEdited:ne,$name:ae,$haveAnyAsyncRule:se,$shortcuts:de,$validating:N,$tooltips:G,$dirty:r,processShortcuts:le,$silentValue:P,$inactive:q,$modifiers:ce,$isArrayOrRegleStatic:o}}),ue(),te=y(M.$dirty,e=>{l.setDirtyEntry(o,e),Object.values(J.value).forEach(t=>{t.$fieldDirty=e})}),B=y([M.$error,M.$correct,M.$invalid,M.$pending],()=>{Object.values(J.value).forEach(e=>{e.$fieldError=M.$error.value,e.$fieldInvalid=M.$invalid.value,e.$fieldPending=M.$pending.value,e.$fieldCorrect=M.$correct.value})}),z=y(M.$haveAnyAsyncRule,oe)}function ue(){R=y(n,()=>{M.$autoDirty.value&&!M.$silent.value&&(M.$dirty.value||U()),r.value instanceof Function&&q(),(!M.$silent.value||M.$rewardEarly.value&&M.$error.value)&&V(),M.$clearExternalErrorsOnChange.value&&(xe(),Q())},{deep:M.$isArrayOrRegleStatic.value?!0:ae?1:!0})}async function de(){try{let{promise:e}=pe(Promise.allSettled(Object.values(J.value).map(e=>e.$parse())));await e}catch{}}let J=f({}),Y=f({});q();function fe(){rt(M.$immediateDirty.value,w.value,T?.value??w.value,a===``,M.$inactive.value)&&(M.$dirty.value=!0)}function X(e,t){if(Z(),M.$dirty.value=!1,l.setDirtyEntry(o,!1),!t)if(e?.toOriginalState)n.value=N(E),w.value=N(E);else if(e?.toInitialState)n.value=N(w.value);else if(e?.toState){let t;t=typeof e?.toState==`function`?e?.toState():e?.toState,w.value=N(t),n.value=N(t)}else w.value=C(n.value)&&!Se(n.value)?N(n.value):Array.isArray(n.value)?[...n.value]:n.value;if(e?.clearExternalErrors!==!1&&(xe(),Q()),!t&&!e?.keepValidationState)for(let e of Object.values(J.value))e.$reset();if(!M.$lazy.value&&!M.$silent.value&&!t)for(let e of Object.values(J.value))e.$parse();fe()}function Z(){`cancel`in V&&V.cancel()}function pe(e){return H&&H.abort(),H=L(e),H}function me(){Z(),H&&H.abort()}function he(e=!0,t=!1){M.$dirty.value||U(),t&&e?(!M.$silent.value||M.$rewardEarly.value&&M.$error.value)&&(Z(),V()):e&&(Z(),V())}async function ge(e){return e&&(n.value=e),await s(),_e()}async function _e(e){try{if(e&&(n.value=e),v)return k?(he(!1),k()):{valid:!1,data:n.value,errors:M.$errors.value,issues:M.$issues.value};let t=n.value;if(M.$clearExternalErrorsOnValidate.value&&(xe(),Q()),M.$autoDirty.value&&!M.$silent.value&&M.$dirty.value&&!M.$validating.value&&!M.$pending.value&&!W.value&&!A(J.value))return{valid:!M.$invalid.value,data:t,errors:M.$errors.value,issues:M.$issues.value};if(M.$dirty.value||(M.$dirty.value=!0),A(J.value))return{valid:!0,data:t,errors:M.$errors.value,issues:M.$issues.value};me();let{promise:r}=pe(Promise.allSettled(Object.values(J.value).map(e=>e.$parse()))),i=await r;return await s(),{valid:i.every(e=>e.status===`fulfilled`&&e.value===!0),data:t,errors:M.$errors.value,issues:M.$issues.value}}catch{return{valid:!1,data:n.value,errors:M.$errors.value,issues:M.$issues.value}}}function ve(e){try{return e&&(n.value=e),M.$dirty.value||(M.$dirty.value=!0),v?!1:(M.$clearExternalErrorsOnValidate.value&&(xe(),Q()),Object.values(J.value).map(e=>e.$parseSync()).every(e=>!!e))}catch{return!1}}function ye(e=!0){return M.$dirty.value?n.value:e?{_null:!0}:null}function be(e){p&&(p.value=e),Q()}function xe(){p?.value?.length&&(p.value=[])}function Ce(e){g&&(g.value=e),xe()}function Q(){g?.value?.length&&(g.value=[])}!M.$lazy.value&&!M.$dirty.value&&!M.$silent.value&&de(),fe();let{$shortcuts:we,$validating:Te,$autoDirty:Ee,$rewardEarly:De,$clearExternalErrorsOnChange:Oe,$clearExternalErrorsOnValidate:ke,$haveAnyAsyncRule:Ae,$debounce:je,$lazy:Me,...Ne}=M,Pe=u({...Ne,$externalErrors:p,$externalIssues:g,$value:n,$output:n,$initialValue:w,$originalValue:E,$rules:J,...we,$path:a,$isDebouncing:W,$reset:X,$touch:he,$validate:ge,$validateSync:ve,$validateWithoutRaceconditions:_e,$unwatch:ce,$watch:le,$extractDirtyFields:ye,$clearExternalErrors:xe,$clearExternalIssues:Q,$abort:me,$addRules:G,addRules:re,$schemaMode:v,"~modifiers":M.$modifiers,$setExternalErrors:be,$setExternalIssues:Ce,...Qe(ge)});return Object.defineProperty(Pe,Symbol.for(`regle:instance`),{value:!0}),Pe}function at({$id:t,path:n,cachePath:r,index:i,options:a,storage:o,stateValue:s,customMessages:c,rules:l,externalErrors:u,externalIssues:d,schemaErrors:p,initialState:g,originalState:_,shortcuts:v,fieldName:y,schemaMode:b,overrides:x,currentIndexes:S}){let w=e(()=>h(l)),T=s.value?.$id??w.value.$key??oe(),E=`${r}.${String(T)}`,D=f(i),O=`${n}.${i}`;typeof s.value==`object`&&s.value!=null&&(s.value.$id||Object.defineProperties(s.value,{$id:{value:T,enumerable:!1,configurable:!1,writable:!1}}));let k=ct({index:i,state:s,rulesDef:w,nestedReactiveRules:!0,customMessages:c,path:O,cachePath:E,storage:o,options:a,externalErrors:m(u?.value??[],i),externalIssues:m(d?.value??[],i),schemaErrors:e(()=>p?.value?.[D.value]),initialState:g,originalState:_,shortcuts:v,fieldName:y,schemaMode:b,overrides:x});return k&&(k.$id=s.value?.$id??String(T),S?.set(k.$id,D),o.addArrayStatus(t,k.$id,k)),s.value&&(!C(s.value)||Se(s.value))&&b&&k?.$touch(),k}function ot({state:n,rulesDef:r,customMessages:i,path:a,cachePath:o,storage:s,options:c,externalErrors:l,externalIssues:d,schemaErrors:p,schemaMode:g,initialState:_,originalState:v,shortcuts:x,fieldName:S,overrides:C}){let w=t(),T,E=t(),D,O=[];if(!Array.isArray(n.value)&&!r.value.$each)return;let k=f(),j=f(n.value),M=f({}),ee,P,F=f({}),I=s.getCollectionsEntry(a),L=new Map;D=E.run(()=>({isPrimitiveArray:e(()=>n.value?.length?Array.isArray(n.value)&&n.value.length?n.value.every(e=>typeof e!=`object`):r.value.$each&&!(r.value.$each instanceof Function)?Object.values(r.value.$each).every(e=>be(e)||typeof e==`function`):!1:!1)})),R(),V();function R(){M.value=Object.fromEntries(Object.entries(r.value).filter(([e])=>e.startsWith(`$`))),typeof n.value==`object`&&(n.value!=null&&!n.value?.$id&&n.value!==null?(k.value=oe(),Object.defineProperties(n.value,{$id:{value:k.value,enumerable:!1,configurable:!1,writable:!1}})):n.value?.$id&&(k.value=n.value.$id)),j.value=F.value.$value,Array.isArray(n.value)&&(!D.isPrimitiveArray.value||g)?I.value=n.value.map((t,n)=>{let{scope:u,unwrapped:f}=re(r.value.$each,m(()=>t),n);u&&O.push(u);let h=m(_.value??[],n),y=m(l?.value??{},`$each`),b=m(d?.value??{},`$each`),w=e(()=>p?.value?.$each);return at({$id:k.value,path:a,cachePath:o,customMessages:i,rules:f??{},stateValue:m(()=>t),index:n,options:c,storage:s,externalErrors:y,externalIssues:b,schemaErrors:w,initialState:h,originalState:v,shortcuts:x,fieldName:S,schemaMode:g,overrides:C,currentIndexes:L})||null}).filter(e=>!!e):(I.value=[],L.clear()),F.value=it({state:n,rulesDef:r,customMessages:i,path:a,cachePath:a,storage:s,options:c,externalErrors:m(l?.value??{},`$self`),externalIssues:m(d?.value??{},`$self`),schemaErrors:e(()=>p?.value?.$self),$isArray:!0,initialState:_,originalState:v,shortcuts:x,fieldName:S,schemaMode:g,overrides:C})}function te(){if(Array.isArray(n.value)&&(!D.isPrimitiveArray.value||g)){let t=[...I.value],o=new Set;I.value=n.value.map((t,n)=>{let u=m(()=>t);if(t.$id&&I.value.find(e=>e.$id===t.$id)){let e=s.getArrayStatus(k.value,t.$id);if(e){let r=L.get(t.$id);return r&&(r.value=n),o.add(t.$id),e.$value=u,e}return null}else{let{scope:t,unwrapped:f}=re(r.value.$each,u,n);t&&O.push(t);let h=m(l?.value??{},`$each`),y=m(d?.value??{},`$each`),b=e(()=>p?.value?.$each??[]),w=at({$id:k.value,path:a,cachePath:a,customMessages:i,rules:f??{},stateValue:u,index:n,options:c,storage:s,externalErrors:h,externalIssues:y,schemaErrors:b,initialState:m(_.value??[],n),originalState:v,shortcuts:x,fieldName:S,schemaMode:g,overrides:C,currentIndexes:L});return w?(w.$id&&o.add(w.$id),w):null}}).filter(e=>!!e),t.filter(e=>!n.value?.find(t=>e.$id===t.$id)).forEach((e,t)=>{s.deleteArrayStatus(k.value,t.toString())});for(let e of L.keys())o.has(e)||L.delete(e)}else I.value=[],L.clear()}function z(){ee=y(n,()=>{P?.(),n.value!=null&&!Object.hasOwn(n.value,`$id`)&&!k.value?R():te(),B()},{deep:ae?1:!0,flush:`pre`}),B()}function B(){P=y(n,()=>{T.$autoDirty.value&&!T.$silent.value&&F.value.$touch(!1,!0)},{flush:`post`})}function V(){z(),w=t(),T=w.run(()=>{let r=e({get:()=>n.value,set(e){ee?.(),P?.(),n.value=e,z()}}),i=e(()=>F.value.$dirty&&(!I.value.length||I.value.every(e=>e.$dirty))),o=e(()=>F.value.$anyDirty||I.value.some(e=>e.$anyDirty)),s=e(()=>F.value.$invalid||I.value.some(e=>e.$invalid)),l=e(()=>(g?F.value.$correct:A(F.value.$rules)?!0:F.value.$correct)&&(!I.value.length||I.value.every(e=>e.$correct||e.$anyDirty&&!e.$invalid))),d=e(()=>F.value.$error||I.value.some(e=>e.$error)),p=e(()=>!(s.value||m.value)),m=e(()=>F.value.$pending||I.value.some(e=>e.$pending)),y=e(()=>!!I.value.length&&I.value.every(e=>e.$edited)),w=e(()=>F.value.$anyEdited||I.value.some(e=>e.$anyEdited)),T=e(()=>({$self:F.value.$issues,$each:I.value.map(e=>e.$issues)})),E=e(()=>({$self:F.value.$errors,$each:I.value.map(e=>e.$errors)})),D=e(()=>({$self:F.value.$silentErrors,$each:I.value.map(e=>e.$silentErrors)})),k=e(()=>M.value.$rewardEarly==null?h(c.rewardEarly)==null?!1:h(c.rewardEarly)===!0:M.value.$rewardEarly),j=e(()=>k.value?!0:M.value.$silent==null?h(c.silent)==null?!1:h(c.silent)===!0:M.value.$silent),N=e(()=>M.value.$autoDirty==null?h(c.autoDirty)==null?!0:h(c.autoDirty)===!0:M.value.$autoDirty),L=e(()=>M.value.$immediateDirty==null?h(c.immediateDirty)==null?!1:$e(h(c.immediateDirty)):$e(M.value.$immediateDirty)),R=e(()=>M.value.$clearExternalErrorsOnChange==null?h(c.clearExternalErrorsOnChange)==null?!0:h(c.clearExternalErrorsOnChange)===!0:M.value.$clearExternalErrorsOnChange),te=e(()=>M.value.$clearExternalErrorsOnValidate==null?h(c.clearExternalErrorsOnValidate)==null?!1:h(c.clearExternalErrorsOnValidate)===!0:M.value.$clearExternalErrorsOnValidate),B=e(()=>{if(M.value.$isEdited!=null)return M.value.$isEdited;if(C?.isEdited!=null)return C.isEdited}),V=e(()=>S??c.id??`root`),H=e(()=>({$deepCompare:M.value.$deepCompare??!1,$debounce:M.value.$debounce??h(c.debounce)??0,$lazy:M.value.$lazy??!1,$rewardEarly:k.value,$autoDirty:N.value,$silent:j.value,$clearExternalErrorsOnChange:R.value,$clearExternalErrorsOnValidate:te.value,$immediateDirty:L.value,$isEdited:B.value,$disabled:h(c.disabled)??!1}));function U(){x?.collections&&Object.entries(x?.collections).forEach(([e,c])=>{let h=t();W[e]=h.run(()=>{let e=f();return b(()=>{e.value=c(u({$dirty:i,$error:d,$path:a,$silentValue:r,$pending:m,$invalid:s,$correct:l,$errors:E,$silentErrors:D,$initialValue:_,$originalValue:v,$ready:p,$anyDirty:o,$name:V,$each:I,$self:F,$value:n,$output:n,$edited:y,$anyEdited:w,$issues:T}))}),e}),O.push(h)})}let W={};return U(),{$dirty:i,$anyDirty:o,$invalid:s,$correct:l,$error:d,$pending:m,$errors:E,$silentErrors:D,$ready:p,$name:V,$shortcuts:W,$silentValue:r,$edited:y,$anyEdited:w,$rewardEarly:k,$silent:j,$autoDirty:N,$issues:T,$modifiers:H}}),D.isPrimitiveArray.value&&r.value.$each&&console.warn(`${a} is a Array of primitives. Tracking can be lost when reassigning the Array. We advise to use an Array of objects instead`)}function H(){ee?.(),F.value&&F.value.$unwatch(),I.value&&I.value.forEach(e=>{`$dirty`in e&&e.$unwatch()}),w.stop(),w=t(),E.stop(),E=t(!0),O.forEach(e=>e.stop()),O=[]}function U(e=!0,t=!1){F.value.$touch(e,t),I.value.forEach(n=>{n.$touch(e,t)})}function W(e,t){if(H(),!t)if(e?.toOriginalState)n.value=N(v),_.value=N(v);else if(e?.toInitialState)n.value=N(_.value);else if(e?.toState){let t;t=typeof e?.toState==`function`?e?.toState():e?.toState,_.value=N(t),n.value=N(t)}else _.value=N(n.value);e?.clearExternalErrors!==!1&&(se(),le()),e?.keepValidationState||(F.value.$reset(e,t),I.value.forEach(t=>{t.$reset(e,!0)})),t||R()}function ne(){F.value.$abort(),I.value.forEach(e=>{e.$abort()})}async function G(e){return e&&(n.value=e),K()}async function K(e){e&&(n.value=e);let t=n.value;try{return ne(),{valid:(await Promise.allSettled([F.value.$validateWithoutRaceconditions(e),...I.value.map(e=>e.$validateWithoutRaceconditions())])).every(e=>e.status===`fulfilled`?e.value.valid===!0:!1),data:t,errors:T.$errors.value,issues:T.$issues.value}}catch{return{valid:!1,data:t,errors:T.$errors.value,issues:T.$issues.value}}}function ie(e){e&&(n.value=e);try{return[F.value.$validateSync(e),...I.value.map(e=>e.$validateSync())].every(e=>!!e)}catch{return!1}}function q(e){l&&(l.value=e),le()}function se(){F.value.$clearExternalErrors(),I.value.forEach(e=>{e.$clearExternalErrors()})}function ce(e){d&&(d.value=e),se()}function le(){F.value.$clearExternalIssues(),I.value.forEach(e=>{e.$clearExternalIssues()})}function ue(e=!0){let t=I.value.map(t=>{if(Ce(t))return t.$extractDirtyFields(e)});return e&&t.every(e=>A(e))&&(t=[]),t}let{$shortcuts:de,...J}=T;return u({$self:F,...J,...de,$path:a,$each:I,$value:n,$output:n,$initialValue:_,$originalValue:v,$validate:G,$validateSync:ie,$validateWithoutRaceconditions:K,$unwatch:H,$watch:V,$touch:U,$reset:W,$abort:ne,$extractDirtyFields:ue,$clearExternalErrors:se,$clearExternalIssues:le,$setExternalErrors:q,$setExternalIssues:ce,"~modifiers":T.$modifiers,...Qe(G)})}function st({rulesDef:n,state:r,path:i=``,cachePath:a,rootRules:o,externalErrors:c,externalIssues:l,schemaErrors:p,rootInitialState:g,rootSchemaErrors:v,validationGroups:x,initialState:S,originalState:w,fieldName:T,nestedReactiveRules:E,...D}){let O=t(),k,j=[],M=null,ee=null,P=null,F=null,I=null,L=f(void 0);async function R(t=!0){let o=Object.entries(n.value).filter(([e])=>e!==`$self`),s=Object.fromEntries(o.reduce((t,[n,o])=>{if(!o)return t;let s=m(r.value??{},n),u=m(()=>o),d=m(c?.value??{},n),f=m(l?.value??{},n),h=e(()=>p?.value?.[n]),g=m(S?.value??{},n);return t.push([n,ct({state:s,rulesDef:u,path:i?`${i}.${n}`:n,cachePath:a?`${a}.${n}`:n,externalErrors:d,externalIssues:f,schemaErrors:h,initialState:g,originalState:w?.[n],fieldName:n,...D})]),t},[])),u=Object.fromEntries(Array.from(new Set([...Object.keys(h(c)??{}),...Object.keys(h(l)??{})])).filter(e=>!(e in n.value)).map(t=>{let n=m(r.value??{},t),o=m(c?.value??{},t),s=m(l?.value??{},t),u=e(()=>p?.value?.[t]),d=m(S?.value??{},t),f=i?`${i}.${t}`:t,h=a?`${a}.${t}`:t;return[t,ct({state:n,rulesDef:e(()=>({})),path:f,cachePath:h,externalErrors:o,externalIssues:s,schemaErrors:u,initialState:d,originalState:w?.[t],fieldName:t,...D})]})),d=Object.fromEntries(Object.entries(h(p)??{}).map(([t])=>{let n=i?`${i}.${t}`:t,o=a?`${a}.${t}`:t,s=m(r.value??{},t),u=m(c?.value??{},t),d=m(l?.value??{},t),f=e(()=>p?.value?.[t]),h=m(S?.value??{},t);return[t,ct({state:s,rulesDef:e(()=>({})),path:n,cachePath:o,externalErrors:u,externalIssues:d,schemaErrors:f,initialState:h,originalState:w?.[t],fieldName:t,...D})]})),f=Object.fromEntries(Object.entries(r.value??{}).filter(([e])=>!(e in n.value)&&!(e in(u??{}))&&!(e in(d??{}))).map(([t])=>{let n=m(r.value??{},t),o=m(c?.value??{},t),s=m(l?.value??{},t),u=e(()=>p?.value?.[t]),d=m(S?.value??{},t);return[t,ct({state:n,rulesDef:e(()=>({})),path:i?`${i}.${t}`:t,cachePath:a?`${a}.${t}`:t,externalErrors:o,externalIssues:s,schemaErrors:u,initialState:d,originalState:w?.[t],fieldName:t,...D})]}));z.value={...s,...u,...d,...f},t&&U()}function te(){n.value.$self&&(L.value=it({state:r,rulesDef:e(()=>n.value.$self??{}),path:i,cachePath:a,externalErrors:f(void 0),externalIssues:f(void 0),schemaErrors:f(void 0),initialState:S??f(void 0),originalState:w,fieldName:`$self`,...D}))}let z=D.storage.getFieldsEntry(a);R(),te();function B(){c&&(P=y(c,()=>{W(),R()},{deep:!0}))}function V(){l&&(F=y(l,()=>{W(),R()},{deep:!0}))}function H(){I=y(r,()=>{W(),R(),k.$autoDirty.value&&!k.$silent.value&&q(!1,!0),k.$clearExternalErrorsOnChange.value&&(G(),K())},{flush:`post`})}function U(){(o||E)&&(M?.(),M=y(n,()=>{W(),R()},{deep:!0,flush:`pre`}),B(),V()),v&&(ee?.(),ee=y(()=>v.value?Object.keys(v.value).sort().join(`\0`):``,()=>{W(),R()},{flush:`post`})),H(),k=O.run(()=>{let a=e({get:()=>r.value,set(e){W(),r.value=e,R(),k.$autoDirty.value&&!k.$silent.value&&q(!1,!0),k.$clearExternalErrorsOnChange.value&&(G(),K())}}),o=d(a),s=e({get:()=>r.value,set(e){W(),r.value=e,R()}}),c=e(()=>{let e=z.value,t=Object.keys(e);if(!t.length)return!1;for(let n of t)if(!e[n]?.$dirty)return!1;return!0}),l=e(()=>{let e=z.value;for(let t in e)if(e[t]?.$anyDirty)return!0;return!1}),p=e(()=>{if(L.value?.$invalid)return!0;let e=z.value,t=Object.entries(e);if(!t.length)return!1;for(let[e,n]of t)if(n?.$invalid)return!0;return!1}),m=e(()=>{let e=Object.entries(z.value).reduce((e,[t,n])=>((!we(n)||!n.$inactive)&&e.push([t,n]),e),[]),t=n.value.$self&&!A(n.value.$self);if(e.length||t){let t=L.value?.$correct??!0,n=!1;return n=D.schemaMode?e.every(([e,t])=>t.$correct):e.every(([e,t])=>we(t)?`required`in t.$rules&&t.$rules.required.$active?t.$correct:!t.$invalid&&!t.$pending&&!t.$isDebouncing:t?.$correct),t&&n}return!1}),g=e(()=>{if(L.value?.$error)return!0;let e=z.value;if(!Object.keys(e).length)return!1;for(let t in e)if(e[t]?.$error)return!0;return!1}),v=e(()=>h(D.options.rewardEarly)==null?!1:h(D.options.rewardEarly)),y=e(()=>h(D.options.silent)==null?!!v.value:h(D.options.silent)===!0),C=e(()=>h(D.options.autoDirty)==null?!0:h(D.options.autoDirty)===!0),E=e(()=>h(D.options.immediateDirty)==null?!1:$e(h(D.options.immediateDirty))),O=e(()=>h(D.options.lazy)==null?!1:h(D.options.lazy)===!0),M=e(()=>h(D.options.clearExternalErrorsOnChange)==null?!0:h(D.options.clearExternalErrorsOnChange)===!0),N=e(()=>h(D.options.clearExternalErrorsOnValidate)==null?!1:h(D.options.clearExternalErrorsOnValidate)===!0),ee=e(()=>!(p.value||F.value)),P=f(!1),F=e(()=>{if(L.value?.$pending||P.value)return!0;let e=z.value;for(let t in e)if(e[t]?.$pending)return!0;return!1}),I=e(()=>{let e={...L.value&&{$self:L.value?.$issues??[]}};for(let t in z.value)e[t]=z.value[t]?.$issues;return e}),te=e(()=>{let e={...L.value&&{$self:L.value?.$errors??[]}};for(let t in z.value)e[t]=z.value[t]?.$errors;return e}),B=e(()=>{let e={...L.value&&{$self:L.value?.$silentErrors??[]}};for(let t in z.value)e[t]=z.value[t]?.$silentErrors;return e}),V=e(()=>{if(L.value?.$edited)return!0;if(!Object.keys(z.value).length)return!1;for(let e in z.value)if(!z.value[e]?.$edited)return!1;return!0}),H=e(()=>{if(L.value?.$anyEdited)return!0;for(let e in z.value)if(z.value[e]?.$anyEdited)return!0;return!1}),U=e(()=>T??D.options.id??`root`),ne=e(()=>({autoDirty:C.value,lazy:O.value,rewardEarly:v.value,silent:y.value,clearExternalErrorsOnChange:M.value,clearExternalErrorsOnValidate:N.value,immediateDirty:E.value,id:h(D.options.id),disabled:h(D.options.disabled)}));function re(){D.shortcuts?.nested&&Object.entries(D.shortcuts.nested).forEach(([e,n])=>{let a=t();ae[e]=a.run(()=>{let e=f();return b(()=>{e.value=n(u({$dirty:c,$path:i,$value:r,$output:r,$silentValue:s,$error:g,$originalValue:w,$pending:F,$invalid:p,$correct:m,$ready:ee,$anyDirty:l,$name:U,$silentErrors:B,$initialValue:S,$errors:te,$fields:z,$edited:V,$anyEdited:H,$issues:I,$self:L,"~modifiers":_(D.options)}))}),e}),j.push(a)})}let ie=e({get:()=>x?Object.fromEntries(Object.entries(x?.(z.value)??{}).map(([e,t])=>t.length?[e,{...Object.fromEntries([`$invalid`,`$error`,`$pending`,`$dirty`,`$correct`].map(e=>[e,le(t,e)])),...Object.fromEntries([`$errors`,`$silentErrors`].map(e=>[e,ue(t,e)]))}]:[])):{},set(){}}),ae={};return re(),{$dirty:c,$anyDirty:l,$invalid:p,$correct:m,$error:g,$pending:F,$issues:I,$errors:te,$silentErrors:B,$clearExternalErrorsOnValidate:N,$clearExternalErrorsOnChange:M,$ready:ee,$name:U,$shortcuts:ae,$groups:ie,$silentValue:s,$immediateDirty:E,$edited:V,$anyEdited:H,$localPending:P,$autoDirty:C,$silent:y,$value:a,$output:o,$modifiers:ne}})}function W(){if(M?.(),P?.(),F?.(),I?.(),ee?.(),j.forEach(e=>e.stop()),j=[],k={},z.value)for(let e of Object.values(z.value))e?.$unwatch()}function ne(e){c&&(c.value=e),K()}function G(){c&&!A(c.value)&&(c.value={})}function re(e){l&&(l.value=e),G()}function K(){l&&!A(l.value)&&(l.value={})}function ie(){if(!k)return;let e=k.$immediateDirty.value;(e===`eager`||e===`non-empty`&&nt(L.value,z.value,S.value))&&q(!0,!1)}function ae(e,t){if(P?.(),W(),!t)if(e?.toOriginalState)r.value=N({...w}),S.value=N({...w});else if(e?.toInitialState)r.value=N({...S.value});else if(e?.toState){let t;t=typeof e?.toState==`function`?e?.toState():e?.toState,S.value=N(t),r.value=N(t)}else S.value=N(r.value);if(!e?.keepValidationState){for(let t of Object.values(z.value))t?.$reset(e,!0);L.value?.$reset(e,!0)}e?.clearExternalErrors!==!1&&(G(),K()),B(),V(),t||(R(),ie())}function q(e=!0,t=!1){for(let n of Object.values(z.value))n?.$touch(e,t);L.value?.$touch(e,t)}function oe(e){return e.filter(([e,t])=>C(t)&&!Se(t)?!(t&&typeof t==`object`&&`_null`in t)&&!A(t):Array.isArray(t)?t.length:!0)}function se(e=!0){let t=Object.entries(z.value).map(([t,n])=>[t,n.$extractDirtyFields(e)]);return e&&(t=oe(t)),Object.fromEntries(t)}function ce(){for(let e of Object.values(z.value))e.$abort();L.value?.$abort()}async function de(e){return e&&(r.value=e),await s(),J()}async function J(e){try{if(e&&(r.value=e),D.schemaMode)return D.onValidate?(q(!1),k.$localPending.value=!0,D.onValidate()):{valid:!1,data:r.value,errors:k.$errors.value,issues:k.$issues.value};{let e=r.value;ce(),k.$clearExternalErrorsOnValidate.value&&(G(),K());let t=[...Object.values(z.value).map(e=>e.$validateWithoutRaceconditions()),...L.value?[L.value?.$validateWithoutRaceconditions()]:[]];return{valid:(await Promise.allSettled(t)).every(e=>e.status===`fulfilled`&&e?.value?.valid===!0),data:e,errors:k.$errors.value,issues:k.$issues.value}}}catch{return{valid:!1,data:r.value,errors:k.$errors.value,issues:k.$issues.value}}finally{k.$localPending.value=!1}}function Y(e){try{return e&&(r.value=e),k.$clearExternalErrorsOnValidate.value&&(G(),K()),[...Object.values(z.value).map(e=>e.$validateSync()),...L.value?[L.value?.$validateSync()]:[]].every(e=>!!e)}catch{return!1}}ie();let{$shortcuts:fe,$localPending:X,...Z}=k,pe=u({...Z,...fe,$path:i,$initialValue:S,$originalValue:w,$self:L,$externalErrors:c,$externalIssues:l,$fields:z,$reset:ae,$touch:q,$validate:de,$unwatch:W,$watch:U,$setExternalErrors:ne,$setExternalIssues:re,$clearExternalErrors:G,$clearExternalIssues:K,$extractDirtyFields:se,$abort:ce,$validateSync:Y,$validateWithoutRaceconditions:J,...o?{"~modifiers":k.$modifiers}:{},...Qe(de)});return Object.defineProperty(pe,Symbol.for(`regle:instance`),{value:!0}),b(()=>{for(let e of Object.keys(pe).filter(e=>!e.startsWith(`$`)&&!e.startsWith(`~`)))delete pe[e];for(let e of Object.values(z.value))e?.$name&&Object.assign(pe,{[e.$name]:e})}),pe}function ct({rulesDef:e,...n}){if(ve(e,n.state))return ot({rulesDef:e,...n});if(_e(n.state,e)){if(G(n.state))return st({rulesDef:e,...n});{let r=t().run(()=>{let e=m(n.state.value?n.state:f({}));return y(()=>n.state.value,t=>{e.value=t},{deep:!0}),y(e,e=>{n.state.value=e},{deep:!0}),{fakeState:e}}),{state:i,...a}=n;return st({rulesDef:e,...a,state:r.fakeState})}}else if(ye(e))return it({rulesDef:a(e.value)?e.value:e,...n})}function lt(e){return e&&C(e)&&Object.keys(e).some(e=>e.includes(`.`))?E(e):e}function ut(e){return Array.isArray(e)?e.length>0:C(e)&&Object.keys(e).length>0}function dt(e){return Array.isArray(e)?[]:{}}function ft(e){let t=f(),n=f(),r,i,a,o,s=!1;function c(){let t=dt(n.value??e.externalIssues?.value);n.value=t,e.externalIssues&&(e.externalIssues.value=t)}function l(){let n=dt(t.value??e.externalErrors?.value);t.value=n,e.externalErrors&&(e.externalErrors.value=n)}function u(n,r=!1){if(s)return;s=!0;let i=lt(n);t.value=i,r&&e.externalErrors&&(e.externalErrors.value=i),ut(i)&&c(),s=!1}function d(t,r=!1){if(s)return;s=!0;let i=lt(t);n.value=i,r&&e.externalIssues&&(e.externalIssues.value=i),ut(i)&&l(),s=!1}function p(){r?.(),a?.(),r=y(()=>e.externalErrors?.value,e=>u(e),{deep:!0}),a=y(()=>e.externalIssues?.value,e=>d(e),{deep:!0})}function m(){i?.(),o?.(),i=y(()=>t.value,e=>u(e,!0),{deep:!0}),o=y(()=>n.value,e=>d(e,!0),{deep:!0})}function h(){g(),u(e.externalErrors?.value),d(e.externalIssues?.value),m()}function g(){i?.(),r?.(),o?.(),a?.(),i=void 0,r=void 0,o=void 0,a=void 0}return{externalErrors:t,externalIssues:n,start:h,watchOptionRefs:p,stop:g}}function pt({initialState:e,originalState:n,options:i,scopeRules:a,state:o,customRules:c,shortcuts:u,schemaErrors:d,schemaMode:p=!1,onValidate:m,overrides:g}){let _=Ge(),v=f(!1),b=new Set,x,S=f(),C=ft(i),w;function T(){w=y(()=>h(i.disabled),async e=>{e?O():(E(),C.start(),C.watchOptionRefs())})}function E(){_e(o,a)?S.value=st({rootRules:a,rulesDef:a,state:o,customMessages:c?.(),storage:_,options:i,rootInitialState:e,externalErrors:C.externalErrors,externalIssues:C.externalIssues,validationGroups:i.validationGroups,initialState:e,originalState:n,shortcuts:u,fieldName:void 0,path:``,cachePath:``,schemaErrors:d,rootSchemaErrors:d,schemaMode:p,onValidate:m,overrides:g}):ye(a)&&(S.value=it({rulesDef:a,state:o,customMessages:c?.(),storage:_,options:i,rootInitialState:e,externalErrors:C.externalErrors,externalIssues:C.externalIssues,initialState:e,originalState:n,shortcuts:u,fieldName:void 0,path:``,cachePath:``,schemaMode:p,schemaErrors:d,onValidate:m,overrides:g}))}function D(){w=void 0}function O(){S.value?.$unwatch(),C.stop()}function k(){v.value||(v.value=!0,x=t(!0),x.run(()=>{C.start(),E(),h(i.disabled)?s().then(()=>{S.value?.$unwatch()}):C.watchOptionRefs(),T()}))}function A(){v.value&&(v.value=!1,O(),w?.(),D(),x?.stop(),x=void 0,S.value=void 0,_.clearAll())}function j(){let e=r();!e||b.has(e)||(v.value||k(),b.add(e),l(()=>{b.delete(e),b.size||A()}))}k(),j();function M(){typeof window<`u`&&typeof __VUE_PROD_DEVTOOLS__<`u`&&__VUE_PROD_DEVTOOLS__&&!fe()&&S.value&&We(S.value,{name:h(i.id)})}return M(),{regle:S,bindToCurrentScope:j}}function mt({state:t,rulesFactory:n,options:r,globalOptions:o,customRules:s,shortcuts:c,overrides:l}){let u=a(n)?n:typeof n==`function`?void 0:e(()=>n),d=i(J,void 0)??{},m={...d.modifiers,...o},h=()=>({...d.rules?.(),...s?.()}),_={...d.shortcuts,...c},v={...d.overrides,...l},y={...m,...r},x,S=p(u??{});typeof n==`function`&&(x=b(()=>{S.value=n(t),g(S)}));let w=f(C(t.value)?{...N(t.value)}:N(t.value)),T=C(t.value)?{...N(t.value)}:N(t.value);se(()=>{x?.()});let{regle:E,bindToCurrentScope:D}=pt({scopeRules:S,state:t,options:y,initialState:w,originalState:T,customRules:h,shortcuts:_,overrides:v});return{regle:E,bindToCurrentScope:D}}function ht(t){let{rules:n,modifiers:r={},shortcuts:i,overrides:o}=t??{};function s(t,s,c){let l=a(t)?t:f(t),u=e(()=>h(c?.disabled)??!1),{regle:d,bindToCurrentScope:p}=mt({state:l,rulesFactory:s,options:c,globalOptions:r,customRules:n,shortcuts:i,overrides:o});return{r$:R(d,u,()=>{d.value||p()})}}return s}const gt=ht();function _t(){function e(e,t){return t}return e}const vt=_t();function yt(e,t){return w(h(e).$errors,String(t))}function bt(e,t){return w(h(e).$issues,String(t))}function xt(e){let t={};if(Object.entries(e).some(([e,t])=>be(t)||typeof t==`function`))return null;for(let n in e){let r=e[n];r&&C(r)&&`$each`in r&&r.$each&&C(r.$each)?t[n]=[xt(r.$each)]:C(r)&&!A(r)&&!Object.entries(r).some(([e,t])=>be(t)||typeof t==`function`)?t[n]=xt(r):t[n]=null}return t}function St(t){let{rules:n,modifiers:r={},shortcuts:i,overrides:o}=t??{};function s(t,s){let c=a(t)?t:typeof t==`function`?void 0:e(()=>t),l=f(xt(c?.value)),u=e(()=>h(s?.disabled)??!1),{regle:d,bindToCurrentScope:p}=mt({state:l,rulesFactory:c,options:s,globalOptions:r,customRules:n,shortcuts:i,overrides:o});return R(d,u,()=>{d.value||p()})}return s}const Ct=St();function wt(e){if(k(e)){let t=e,n=class extends t{constructor(...e){return super(...e),Tt(this)}};return Object.defineProperty(n,"name",{value:t.name}),Tt(n)}return Tt(e)}function Tt(e){return!D(e,Y.REGLE_STATIC)&&Object.isExtensible(e)&&O(e,Y.REGLE_STATIC,!0),e}function Et({rules:e,modifiers:t,shortcuts:n,overrides:r}){let i=ht({rules:e,modifiers:t,shortcuts:n,overrides:r}),a=St({rules:e,modifiers:t,shortcuts:n,overrides:r});return i.__config={rules:e,modifiers:t,shortcuts:n,overrides:r},a.__config={rules:e,modifiers:t,shortcuts:n,overrides:r},{useRegle:i,inferRules:_t(),useRules:a}}function Dt(e,{rules:t,modifiers:n,shortcuts:r,overrides:i}){let a=e.__config??{},o=()=>({...a.rules?.(),...t?.()}),s=a.modifiers&&n?T(a.modifiers,n):a.modifiers??n,c=a.shortcuts&&r?T(a.shortcuts,r):a.shortcuts??r,l=a.overrides&&i?T(a.overrides,i):a.overrides??i,u=ht({rules:o,modifiers:s,shortcuts:c,overrides:l});return u.__config={rules:o,modifiers:s,shortcuts:c,overrides:l},{useRegle:u,inferRules:_t()}}function Ot(e){return e}function kt(t,n){let r=n??!1,i=e({get:()=>r?Object.values(t).map(e=>e.$value):Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t.$value])),set:e=>{r||typeof e==`object`&&Object.entries(e).forEach(([e,n])=>t[e].$value=n)}}),a=e({get:()=>Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t.$silentValue])),set:e=>{typeof e==`object`&&Object.entries(e).forEach(([e,n])=>t[e].$silentValue=n)}}),o=e(()=>{let e=Object.entries(t);return!!e.length&&e.every(([e,t])=>t?.$dirty)}),s=e(()=>Object.entries(t).some(([e,t])=>t?.$anyDirty)),c=e(()=>Object.entries(t).some(([e,t])=>t?.$invalid)),l=e(()=>{let e=Object.entries(t);return!!e.length&&e.every(([e,t])=>t?.$correct||t.$anyDirty&&!t.$invalid)}),d=e(()=>Object.entries(t).some(([e,t])=>t?.$error)),f=e(()=>{let e=Object.entries(t);return!!e.length&&e.every(([e,t])=>t?.$ready)}),p=e(()=>Object.entries(t).some(([e,t])=>t?.$pending)),m=e(()=>r?Object.entries(t).map(([e,t])=>t.$issues):Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t.$issues]))),h=e(()=>r?Object.entries(t).map(([e,t])=>t.$silentIssues):Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t.$silentIssues]))),g=e(()=>r?Object.entries(t).map(([e,t])=>t.$errors):Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t.$errors]))),_=e(()=>r?Object.entries(t).map(([e,t])=>t.$silentErrors):Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t.$silentErrors]))),v=e(()=>{let e=Object.entries(t);return!!e.length&&e.every(([e,t])=>t?.$edited)}),y=e(()=>Object.entries(t).some(([e,t])=>t?.$anyEdited)),x=e(()=>r?Object.values(t):t);function S(e){Object.values(t).forEach(t=>{t.$reset(e)})}function C(){Object.values(t).forEach(e=>{e.$touch()})}function w(e=!0){return Object.values(t).map(t=>t.$extractDirtyFields(e))}function T(e){Object.values(t).forEach(t=>{t.$setExternalErrors(e)})}function E(e){Object.values(t).forEach(t=>{t.$setExternalIssues(e)})}function D(){Object.values(t).forEach(e=>{e.$clearExternalErrors()})}function O(){Object.values(t).forEach(e=>{e.$clearExternalIssues()})}function k(e){try{return e&&(i.value=e),Object.values(t).every(t=>t.$validateSync(e))}catch{return!1}}async function A(e){try{e&&(i.value=e);let n=i.value;return{valid:(await Promise.allSettled(Object.values(t).map(e=>e.$validate()))).every(e=>e.status===`fulfilled`?e.value.valid===!0:!1),data:n,errors:g.value,issues:m.value}}catch{return{valid:!1,data:i.value,errors:g.value,issues:m.value}}}let j=u({...!r&&{$silentValue:a},$errors:g,$issues:m,$silentIssues:h,$silentErrors:_,$instances:x,$value:i,$output:i,$dirty:o,$anyDirty:s,$invalid:c,$correct:l,$error:d,$pending:p,$ready:f,$edited:v,$anyEdited:y,$reset:S,$touch:C,$validate:A,$validateSync:k,$extractDirtyFields:w,$clearExternalErrors:D,$clearExternalIssues:O,$setExternalErrors:T,$setExternalIssues:E});return b(()=>{if(!r){for(let e of Object.keys(j).filter(e=>!e.startsWith(`$`)&&!e.startsWith(`~`)))delete j[e];for(let[e,t]of Object.entries(x.value))Object.assign(j,{[e]:t})}}),j}function At(t,n){function r(r){let i=e(()=>h(r)),a=u({});c();let o=f(l(t.value)),s=u({r$:o});function c(){i.value&&(typeof i.value==`string`&&!t.value[i.value]?t.value[i.value]={}:Array.isArray(i.value)&&i.value.forEach(e=>{t.value[e]||(t.value[e]={})}))}y(i,c),y(t,e=>{o.value=l(e)},{deep:!0});function l(e){return i.value?typeof i.value==`string`?kt(e[i.value]??{},!n.asRecord):(Object.keys(a).forEach(e=>{delete a[e]}),i.value.forEach(t=>{Object.entries(e[t]).forEach(([e,t])=>{Object.assign(a,{[e]:t})})}),kt(a,!n.asRecord)):kt(e[`~~global`]??{},!n.asRecord)}return{r$:s.r$}}return{useCollectScope:r}}function jt(t,r){let i=r??gt;return{useScopedRegle:((r,a,o)=>{let{namespace:s,scopeKey:l,id:u,...d}=o??{};i.__config??={};let p=e(()=>u??l),m=e(()=>h(s)),g=f(`${Object.keys(t.value).length+1}-${oe()}`),_=e(()=>p.value??`instance-${g.value}`),{r$:v}=i(r,a,{...d,id:p.value});x(),se(b),y(m,(e,t)=>{b(t),x()}),n()&&c(()=>{let e=n();typeof window<`u`&&e?.proxy?.$el?.parentElement&&document.documentElement&&!document.documentElement.contains(e?.proxy?.$el?.parentElement)&&b()});function b(e){let n=e??m.value;n?t.value[n]&&delete t.value[n][_.value]:t.value[`~~global`][_.value]&&delete t.value[`~~global`][_.value]}function x(){m.value?(t.value[m.value]||(t.value[m.value]={}),t.value[m.value][_.value]=v):(t.value[`~~global`]||(t.value[`~~global`]={}),t.value[`~~global`][_.value]=v)}return{r$:v,dispose:b,register:x}})}}function Mt(e){let t=(e?.customStore?()=>(e.customStore&&(e.customStore?.value[`~~global`]?e.customStore?.value&&(e.customStore.value={"~~global":{}}):e.customStore.value[`~~global`]={}),e.customStore):ce(()=>f({"~~global":{}})))(),{useScopedRegle:n}=jt(t,e?.customUseRegle),{useCollectScope:r}=At(t,{asRecord:e?.asRecord});return{useScopedRegle:n,useCollectScope:r}}const{useCollectScope:Nt,useScopedRegle:Pt}=Mt(),Ft=Nt,It=Pt;function Lt(t,n,r){let i=e(()=>h(t)[n]);return e(()=>r.find(e=>{if(e[n]&&`literal`in e[n]){let t=e[n].literal;if(be(t))return h(t._params?.[0])===i.value}})||r.find(e=>C(e[n])&&!Object.keys(e[n]).some(e=>e===`literal`))||{})}function Rt(e,t,n){return!!e&&t in e&&C(e[t])&&`$value`in e[t]&&e[t]?.$value===n}function zt(e,t,n,r){let i=a(e)?m(e.value,`$fields`):m(e,`$fields`),o=f();return y(i,async()=>{await s(),Rt(i.value,t,n)?o.value=m(e).value:o.value=void 0},{immediate:!0,flush:`pre`}),o}function Bt(e){return e}function Vt(e,t){return n=>T({...e},t(n))}var Ht=`1.28.1`;function Ut(e,t){let n=[],r=!1;we(e)?r=e[`~modifiers`]?.$disabled??!1:Ce(e)?r=e[`~modifiers`]?.disabled??!1:Q(e)&&(r=e[`~modifiers`]?.$disabled??!1);let i=we(e)?(`required`in e.$rules&&!e.$rules.required.$active||A(e.$rules))&&!e.$schemaMode:!1,a=we(e)?e.$inactive:!1,o=Ce(e)||Q(e);return e.$error?n.push({label:`error`,textColor:X.ERROR.text,backgroundColor:X.ERROR.bg,tooltip:o?pe.ERROR:Z.ERROR}):e.$correct&&n.push({label:`correct`,textColor:X.CORRECT.text,backgroundColor:X.CORRECT.bg,tooltip:o?pe.CORRECT:Z.CORRECT}),e.$pending&&n.push({label:`pending`,textColor:X.PENDING.text,backgroundColor:X.PENDING.bg,tooltip:o?pe.PENDING:Z.PENDING}),r&&n.push({label:`disabled`,textColor:X.DISABLED.text,backgroundColor:X.DISABLED.bg,tooltip:Z.DISABLED}),a?n.push({label:`inactive`,textColor:X.INACTIVE.text,backgroundColor:X.INACTIVE.bg,tooltip:Z.INACTIVE}):i&&n.push({label:`optional`,textColor:X.OPTIONAL.text,backgroundColor:X.OPTIONAL.bg,tooltip:Z.OPTIONAL}),!e.$invalid&&e.$dirty&&n.push({label:`valid`,textColor:X.VALID.text,backgroundColor:X.VALID.bg,tooltip:Z.VALID}),e.$dirty?n.push({label:`dirty`,textColor:X.DIRTY.text,backgroundColor:X.DIRTY.bg,tooltip:o?pe.DIRTY:Z.DIRTY}):i||n.push({label:`pristine`,textColor:X.PRISTINE.text,backgroundColor:X.PRISTINE.bg,tooltip:Z.PRISTINE}),t&&n.push({label:`<${t}.vue>`,textColor:X.COMPONENT.text,backgroundColor:X.COMPONENT.bg}),n}function Wt(e){let t=[];return e.$active?e.$valid?e.$valid&&t.push({label:`valid`,textColor:X.VALID.text,backgroundColor:X.VALID.bg,tooltip:me.VALID}):t.push({label:`invalid`,textColor:X.INVALID.text,backgroundColor:X.INVALID.bg,tooltip:me.INVALID}):t.push({label:`inactive`,textColor:X.INACTIVE.text,backgroundColor:X.INACTIVE.bg,tooltip:me.INACTIVE}),e.$pending&&t.push({label:`pending`,textColor:X.PENDING.text,backgroundColor:X.PENDING.bg,tooltip:me.PENDING}),t}function Gt(e,t,n){let r=[];return!e.$rules||typeof e.$rules!=`object`||Object.entries(e.$rules).forEach(([e,i])=>{if(i&&typeof i==`object`){let a=Wt(i);r.push({id:je(t,n,e),label:`⚙️ ${e}`,tags:a,children:[]})}}),r}function Kt(e,t,n){let r=[];if(!e.$each||!Array.isArray(e.$each))return r;if(e.$each.forEach((e,i)=>{if(e&&typeof e==`object`){let a=Ut(e),o=`${n}[${i}]`,s=[];Ce(e)?s=qt(e.$fields,t,o):we(e)&&(s=Gt(e,t,o)),r.push({id:ke(t,o),label:`[${i}]`,tags:a,children:s})}}),e.$self&&typeof e.$self==`object`){let i=Ut(e.$self),a=`${n}[$self]`;r.unshift({id:ke(t,a),label:`$self`,tags:i,children:Gt(e.$self,t,a)})}return r}function qt(e,t,n){let r=[];return Object.entries(e).forEach(([e,i])=>{if(i&&typeof i==`object`){let a=n?`${n}.${e}`:e,o=Ut(i),s=!1,c=!1,l=[];Q(i)?(l=Kt(i,t,a),s=!0,l.length===0&&(c=!0)):Ce(i)?l=qt({...i.$fields,...i.$self&&{$self:i.$self}},t,a):we(i)&&(l=Gt(i,t,a));let u=l.filter(e=>e.label!==`$self`);r.push({id:ke(t,a),label:`${s?`${e}[${u.length}]`:e}${c?` (empty)`:``}`,tags:o,children:l})}}),r}function Jt(e,t){let n=[];return we(e)?Gt(e,t,`root`):(!(`$fields`in e)||typeof e.$fields!=`object`||Object.entries(e.$fields).forEach(([e,r])=>{if(r&&typeof r==`object`){let i=Ut(r),a=[],o=!1;Q(r)?(a=Kt(r,t,e),o=!0):Ce(r)?a=qt({...r.$fields,...r.$self&&{$self:r.$self}},t,e):we(r)&&(a=Gt(r,t,e));let s=a.filter(e=>e.label!==`$self`);n.push({id:ke(t,e),label:`${o?`${e}[${s.length}]`:e}`,tags:i,children:a})}}),n)}function Yt(e,t){let n=e.map(e=>{let{r$:t,id:n,name:r,componentName:i}=e;return{id:n,label:r,tags:Ut(t,i),children:Jt(t,n)}});return!t||t.trim()===``?n:Xt(n,t)}function Xt(e,t){let n=t.toLowerCase(),r=[];for(let i of e){let e=i.label.toLowerCase().includes(n),a=i.tags?.some(e=>e.label.toLowerCase().includes(n))??!1,o=i.children?Xt(i.children,t):[];(e||a||o.length>0)&&r.push({...i,children:o.length>0?o:i.children})}return r}function Zt(e){x({id:`regle-devtools`,label:`Regle`,logo:`https://reglejs.dev/logo_main.png`,packageName:`@regle/core`,homepage:`https://reglejs.dev`,componentStateTypes:[`Regles`],app:e},e=>{$.setApi(e),e.addInspector({id:ge.INSPECTOR,label:`Regle`,noSelectionText:`No instance selected`,icon:`rule`,treeFilterPlaceholder:`Filter state`,stateFilterPlaceholder:`Filter validation status`,actions:[{icon:`confirmation_number`,tooltip:`Log Regle version`,action:()=>{console.info(`Regle version`,Ht)}}],nodeActions:[{icon:`check`,tooltip:`Validate`,action:e=>{Re(e)}},{icon:`touch_app`,action:e=>{Be(e)},tooltip:`Touch the instance with $touch`},{icon:`refresh`,tooltip:`Reset validation state`,action:e=>{ze(e)}},{icon:`restore`,tooltip:`Restore to original state`,action:e=>{ze(e,!0)}}]}),$.notifyDevtools(),e.on.getInspectorTree(async e=>{if(e.inspectorId===ge.INSPECTOR){let t=Yt($.getAll(),e.filter);t.length>0?e.rootNodes=t:e.rootNodes=[{id:`empty-regles`,label:`No Regles instances found`,children:[]}]}}),e.on.getInspectorState(t=>{if(t.inspectorId===ge.INSPECTOR){let n=Le(t.nodeId,e=>$.get(e));n||e.sendInspectorTree(ge.INSPECTOR),n?t.state=n:t.state={}}}),e.on.editInspectorState(e=>{e.inspectorId===ge.INSPECTOR&&Ve(e)})})}const Qt={install(e,t){e.provide(de,Ht),t&&e.provide(J,t),typeof window<`u`&&typeof __VUE_PROD_DEVTOOLS__<`u`&&__VUE_PROD_DEVTOOLS__&&!fe()&&Zt(e)}};export{te as InternalRuleType,Qt as RegleVuePlugin,U as createRule,Mt as createScopedUseRegle,Lt as createVariant,Et as defineRegleConfig,Ot as defineRegleOptions,Bt as defineRules,Dt as extendRegleConfig,Ye as flatErrors,yt as getErrors,bt as getIssues,vt as inferRules,ne as isRegleInstance,wt as markStatic,kt as mergeRegles,Rt as narrowVariant,Vt as refineRules,z as unwrapRuleParameters,Ft as useCollectScope,gt as useRegle,pt as useRootStorage,Ct as useRules,It as useScopedRegle,zt as variantToRef};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@regle/core",
3
- "version": "1.28.0",
3
+ "version": "1.28.1",
4
4
  "description": "Headless form validation library for Vue",
5
5
  "keywords": [
6
6
  "regle",
@@ -50,14 +50,16 @@
50
50
  "dependencies": {
51
51
  "@standard-schema/spec": "1.1.0",
52
52
  "@vue/devtools-api": "7.7.9",
53
- "@vue/devtools-kit": "7.7.9",
54
53
  "type-fest": "5.7.0"
55
54
  },
56
55
  "devDependencies": {
56
+ "@arethetypeswrong/core": "0.18.3",
57
57
  "@total-typescript/ts-reset": "0.6.1",
58
58
  "@types/node": "24.13.2",
59
59
  "@typescript/native-preview": "7.0.0-dev.20260616.1",
60
60
  "@vue/test-utils": "2.4.11",
61
+ "@vue/devtools-kit": "7.7.9",
62
+ "publint": "0.3.21",
61
63
  "tsdown": "0.22.2",
62
64
  "typescript": "6.0.3",
63
65
  "vitest": "4.1.8",