@regle/core 1.19.0-beta.1 → 1.19.0-beta.3

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.19.0-beta.1
2
+ * @regle/core v1.19.0-beta.3
3
3
  * (c) 2026 Victor Garcia
4
4
  * @license MIT
5
5
  */
@@ -403,37 +403,6 @@ type ArrayElement<T> = T extends Array<infer U> ? U : never;
403
403
  * Declares a tuple that must have at least one element
404
404
  */
405
405
  type NonEmptyTuple<T> = [T, ...T[]] | T[];
406
- interface inferRulesFn<TCustomRules extends Partial<ExtendedRulesDeclarations>> {
407
- <TState extends MaybeRef<Record<string, any> | MaybeInput<PrimitiveTypes>>, TRules extends ReglePartialRuleTree<Unwrap<TState extends Record<string, any> ? TState : {}>, Partial<DefaultValidatorsTree> & TCustomRules>, TDecl extends RegleRuleDecl<NonNullable<TState>, Partial<DefaultValidatorsTree> & TCustomRules>>(state: Maybe<TState> | DeepReactiveState<TState>, rulesFactory: Unwrap<TState> extends MaybeInput<PrimitiveTypes> ? TDecl : Unwrap<TState> extends Record<string, any> ? TRules : {}): NonNullable<Unwrap<TState>> extends PrimitiveTypes ? TDecl : TRules;
408
- }
409
- /**
410
- * Type helper to provide autocomplete and type-checking for your form rules.
411
- * It returns the rules without any processing - useful with computed rules.
412
- *
413
- * @param state - The state reference
414
- * @param rules - Your rule tree
415
- * @returns The rules object (passthrough)
416
- *
417
- * @example
418
- * ```ts
419
- * import { inferRules, useRegle } from '@regle/core';
420
- * import { required, minLength } from '@regle/rules';
421
- *
422
- * const state = ref({ name: '' });
423
- *
424
- * // inferRules preserves TypeScript autocompletion
425
- * const rules = computed(() => {
426
- * return inferRules(state, {
427
- * name: { required, minLength: minLength(2) }
428
- * })
429
- * });
430
- *
431
- * const { r$ } = useRegle(state, rules);
432
- * ```
433
- *
434
- * @see {@link https://reglejs.dev/core-concepts/#dynamic-rules-object Documentation}
435
- */
436
- declare const inferRules: inferRulesFn<Partial<ExtendedRulesDeclarations>>;
437
406
  interface CommonComparisonOptions {
438
407
  /**
439
408
  * Change the behaviour of the rule to check only if the value is equal in addition to be strictly superior or inferior
@@ -488,25 +457,25 @@ type DefaultValidators = {
488
457
  hexadecimal: RegleRuleDefinition<unknown, string, [], false, boolean, string>;
489
458
  integer: RegleRuleDefinition<unknown, string | number, [], false, boolean, string | number>;
490
459
  ipv4Address: RegleRuleDefinition<unknown, string, [], false, boolean, string>;
491
- literal: RegleRuleDefinition<unknown, string | number, [literal: string | number], false, boolean, string | number, string | number, true>;
460
+ literal: RegleRuleDefinition<unknown, string | number, [literal: string | number], false, boolean, MaybeInput<string | number>, string | number, true>;
492
461
  macAddress: RegleRuleWithParamsDefinition<unknown, string, [separator?: string | undefined], false, boolean>;
493
462
  maxLength: RegleRuleWithParamsDefinition<unknown, string | any[] | Record<PropertyKey, any>, [max: number, options?: CommonComparisonOptions], false, boolean>;
494
- maxFileSize: RegleRuleWithParamsDefinition<unknown, unknown, [maxSize: number], false, true | {
463
+ maxFileSize: RegleRuleWithParamsDefinition<unknown, File, [maxSize: number], false, true | {
495
464
  $valid: boolean;
496
465
  fileSize: number;
497
- }, MaybeInput<File>, unknown>;
466
+ }, MaybeInput<File>, File>;
498
467
  maxValue: RegleRuleWithParamsDefinition<unknown, number | string, [max: number | string, options?: CommonComparisonOptions], false, boolean>;
499
- minFileSize: RegleRuleWithParamsDefinition<unknown, unknown, [minSize: number], false, true | {
468
+ minFileSize: RegleRuleWithParamsDefinition<unknown, File, [minSize: number], false, true | {
500
469
  $valid: boolean;
501
470
  fileSize: number;
502
- }, MaybeInput<File>, unknown>;
471
+ }, MaybeInput<File>, File>;
503
472
  minLength: RegleRuleWithParamsDefinition<unknown, string | any[] | Record<PropertyKey, any>, [min: number, options?: CommonComparisonOptions], false, boolean, string | any[] | Record<PropertyKey, any>>;
504
473
  minValue: RegleRuleWithParamsDefinition<unknown, number | string, [min: number | string, options?: CommonComparisonOptions], false, boolean>;
505
474
  nativeEnum: RegleRuleDefinition<unknown, string | number, [enumLike: EnumLike], false, boolean, string | number>;
506
475
  number: RegleRuleDefinition<unknown, unknown, [], false, boolean, any, unknown>;
507
476
  numeric: RegleRuleDefinition<unknown, string | number, [], false, boolean, string | number>;
508
- oneOf: RegleRuleDefinition<unknown, string | number, [options: (string | number)[]], false, boolean, string | number>;
509
- regex: RegleRuleWithParamsDefinition<unknown, string | number, [regexp: RegExp | RegExp[]], false, boolean>;
477
+ oneOf: RegleRuleDefinition<unknown, string | number, [options: readonly [string | number, ...(string | number)[]]], false, boolean, MaybeInput<string | number>, string | number>;
478
+ regex: RegleRuleWithParamsDefinition<unknown, string | number, [regexp: RegExp | readonly RegExp[]], false, boolean>;
510
479
  required: RegleRuleDefinition<unknown, unknown, [], false, boolean, unknown, unknown, true>;
511
480
  sameAs: RegleRuleWithParamsDefinition<unknown, unknown, [target: any, otherName?: string], false, boolean>;
512
481
  string: RegleRuleDefinition<unknown, unknown, [], false, boolean, any, unknown>;
@@ -514,7 +483,38 @@ type DefaultValidators = {
514
483
  startsWith: RegleRuleWithParamsDefinition<unknown, string, [part: MaybeInput<string>], false, boolean>;
515
484
  url: RegleRuleWithParamsDefinition<unknown, string, [options?: UrlOptions | undefined], false, boolean, unknown, string>;
516
485
  };
517
- interface GlobalConfigOptions<TCustomRules extends Partial<ExtendedRulesDeclarations> = EmptyObject, TShortcuts extends RegleShortcutDefinition<any> = never> {
486
+ interface inferRulesFn<TCustomRules extends Partial<ExtendedRulesDeclarationsOverrides>> {
487
+ <TState extends MaybeRef<Record<string, any> | MaybeInput<PrimitiveTypes>>, TRules extends ReglePartialRuleTree<Unwrap<TState extends Record<string, any> ? TState : {}>, Partial<DefaultValidatorsTree> & TCustomRules>, TDecl extends RegleRuleDecl<NonNullable<TState>, Partial<DefaultValidatorsTree> & TCustomRules>>(state: Maybe<TState> | DeepReactiveState<TState>, rulesFactory: Unwrap<TState> extends MaybeInput<PrimitiveTypes> ? TDecl : Unwrap<TState> extends Record<string, any> ? TRules : {}): NonNullable<Unwrap<TState>> extends PrimitiveTypes ? TDecl : TRules;
488
+ }
489
+ /**
490
+ * Type helper to provide autocomplete and type-checking for your form rules.
491
+ * It returns the rules without any processing - useful with computed rules.
492
+ *
493
+ * @param state - The state reference
494
+ * @param rules - Your rule tree
495
+ * @returns The rules object (passthrough)
496
+ *
497
+ * @example
498
+ * ```ts
499
+ * import { inferRules, useRegle } from '@regle/core';
500
+ * import { required, minLength } from '@regle/rules';
501
+ *
502
+ * const state = ref({ name: '' });
503
+ *
504
+ * // inferRules preserves TypeScript autocompletion
505
+ * const rules = computed(() => {
506
+ * return inferRules(state, {
507
+ * name: { required, minLength: minLength(2) }
508
+ * })
509
+ * });
510
+ *
511
+ * const { r$ } = useRegle(state, rules);
512
+ * ```
513
+ *
514
+ * @see {@link https://reglejs.dev/core-concepts/#dynamic-rules-object Documentation}
515
+ */
516
+ declare const inferRules: inferRulesFn<Partial<ExtendedRulesDeclarationsOverrides>>;
517
+ interface GlobalConfigOptions<TCustomRules extends Partial<ExtendedRulesDeclarationsOverrides> = EmptyObject, TShortcuts extends RegleShortcutDefinition<any> = never> {
518
518
  /**
519
519
  * Declare custom rules to be used globally or override the default rules messages.
520
520
  *
@@ -606,7 +606,7 @@ interface GlobalConfigOptions<TCustomRules extends Partial<ExtendedRulesDeclarat
606
606
  *
607
607
  * @see {@link https://reglejs.dev/advanced-usage/global-config Documentation}
608
608
  */
609
- declare function defineRegleConfig<TShortcuts extends RegleShortcutDefinition<TCustomRules>, TCustomRules extends Partial<ExtendedRulesDeclarations>>({
609
+ declare function defineRegleConfig<TShortcuts extends RegleShortcutDefinition<TCustomRules>, TCustomRules extends Partial<ExtendedRulesDeclarationsOverrides>>({
610
610
  rules,
611
611
  modifiers,
612
612
  shortcuts,
@@ -643,7 +643,7 @@ declare function defineRegleConfig<TShortcuts extends RegleShortcutDefinition<TC
643
643
  *
644
644
  * @see {@link https://reglejs.dev/advanced-usage/global-config Documentation}
645
645
  */
646
- declare function extendRegleConfig<TRootCustomRules extends Partial<ExtendedRulesDeclarations>, TRootShortcuts extends RegleShortcutDefinition<{}>, TShortcuts extends RegleShortcutDefinition<Merge<TRootCustomRules, TCustomRules>>, TCustomRules extends Partial<ExtendedRulesDeclarations>>(regle: useRegleFn<TRootCustomRules, TRootShortcuts>, {
646
+ declare function extendRegleConfig<TRootCustomRules extends Partial<ExtendedRulesDeclarationsOverrides>, TRootShortcuts extends RegleShortcutDefinition<{}>, TShortcuts extends RegleShortcutDefinition<Merge<TRootCustomRules, TCustomRules>>, TCustomRules extends Partial<ExtendedRulesDeclarationsOverrides>>(regle: useRegleFn<TRootCustomRules, TRootShortcuts>, {
647
647
  rules,
648
648
  modifiers,
649
649
  shortcuts,
@@ -673,9 +673,9 @@ declare function extendRegleConfig<TRootCustomRules extends Partial<ExtendedRule
673
673
  *
674
674
  * @see {@link https://reglejs.dev/advanced-usage/global-config Documentation}
675
675
  */
676
- declare function defineRegleOptions<T extends GlobalConfigOptions<any, RegleShortcutDefinition<any>>>(options: T): T;
676
+ declare function defineRegleOptions<T extends GlobalConfigOptions<Partial<ExtendedRulesDeclarationsOverrides>, RegleShortcutDefinition<any>>>(options: T): T;
677
677
  type useRegleFnOptions<TState extends Record<string, any> | MaybeInput<PrimitiveTypes>, TRules extends ReglePartialRuleTree<NonNullable<JoinDiscriminatedUnions<TState>>, CustomRulesDeclarationTree>, TAdditionalOptions extends Record<string, any>, TValidationGroups extends Record<string, RegleValidationGroupEntry[]>> = TState extends Record<string, any> ? Partial<DeepMaybeRef<RegleBehaviourOptions>> & LocalRegleBehaviourOptions<JoinDiscriminatedUnions<TState>, TRules, TValidationGroups> & TAdditionalOptions : Partial<DeepMaybeRef<RegleBehaviourOptions>> & TAdditionalOptions;
678
- interface useRegleFn<TCustomRules extends Partial<ExtendedRulesDeclarations>, TShortcuts extends RegleShortcutDefinition<any> = never, TAdditionalReturnProperties extends Record<string, any> = {}, TAdditionalOptions extends Record<string, any> = {}> {
678
+ interface useRegleFn<TCustomRules extends Partial<ExtendedRulesDeclarationsOverrides>, TShortcuts extends RegleShortcutDefinition<any> = never, TAdditionalReturnProperties extends Record<string, any> = {}, TAdditionalOptions extends Record<string, any> = {}> {
679
679
  <TState extends MaybeRef<Record<string, any> | MaybeInput<PrimitiveTypes>>, TRules extends ReglePartialRuleTree<JoinDiscriminatedUnions<Unwrap<TState>>, Partial<ExtendedRulesDeclarations & Omit<TCustomRules, keyof DefaultValidatorsTree>>>, TDecl extends RegleRuleDecl<NonNullable<Unwrap<TState>>, Partial<ExtendedRulesDeclarations & TCustomRules>>, TValidationGroups extends Record<string, RegleValidationGroupEntry[]>>(...params: [state: Maybe<TState> | DeepReactiveState<TState>, rulesFactory: Unwrap<TState> extends MaybeInput<PrimitiveTypes> ? MaybeRefOrGetter<TDecl> : Unwrap<TState> extends Record<string, any> ? MaybeComputedOrGetter<TRules> : {}, ...(HaveAnyRequiredProps<useRegleFnOptions<Unwrap<TState>, TRules, TAdditionalOptions, TValidationGroups>> extends true ? [options: useRegleFnOptions<Unwrap<NoInferLegacy<TState>>, TRules, TAdditionalOptions, TValidationGroups>] : [options?: useRegleFnOptions<Unwrap<NoInferLegacy<TState>>, TRules, TAdditionalOptions, TValidationGroups>])]): NonNullable<Unwrap<TState>> extends PrimitiveTypes ? RegleSingleField<NonNullable<Unwrap<TState>>, TDecl, TShortcuts, TAdditionalReturnProperties> : Regle<Unwrap<TState> extends Record<string, any> ? Unwrap<TState> : {}, UnwrapSimple<TRules> extends Record<string, any> ? UnwrapSimple<TRules> : {}, TValidationGroups, TShortcuts, TAdditionalReturnProperties>;
680
680
  __config?: GlobalConfigOptions<TCustomRules, TShortcuts>;
681
681
  }
@@ -712,7 +712,7 @@ interface useRegleFn<TCustomRules extends Partial<ExtendedRulesDeclarations>, TS
712
712
  *
713
713
  * @see {@link https://reglejs.dev/core-concepts/ Documentation}
714
714
  */
715
- declare const useRegle: useRegleFn<Partial<ExtendedRulesDeclarations>, RegleShortcutDefinition<any>, {}, {}>;
715
+ declare const useRegle: useRegleFn<Partial<ExtendedRulesDeclarationsOverrides>, RegleShortcutDefinition<any>, {}, {}>;
716
716
  /**
717
717
  * @internal
718
718
  * This is the internal function that creates the root storage for the Regle instance.
@@ -859,7 +859,7 @@ declare function getErrors<TRegle extends SuperCompatibleRegleRoot | SuperCompat
859
859
  */
860
860
  declare function getIssues<TRegle extends SuperCompatibleRegleRoot | SuperCompatibleRegleStatus, TPath extends Paths<TRegle['$issues']>>(r$: MaybeRef<TRegle>, path: TPath | (string & {})): IsStringLiteral<TPath> extends true ? Get<TRegle['$issues'], TPath & string> : RegleFieldIssue[] | undefined;
861
861
  type useRulesFnOptions<TRules extends RegleUnknownRulesTree | RegleRuleDecl, TValidationGroups extends Record<string, RegleValidationGroupEntry[]>, TState = InferInput<TRules>> = Partial<DeepMaybeRef<RegleBehaviourOptions>> & LocalRegleBehaviourOptions<JoinDiscriminatedUnions<TState extends Record<string, any> ? Unwrap<TState> : {}>, TState extends Record<string, any> ? (TRules extends Record<string, any> ? TRules : {}) : {}, TValidationGroups>;
862
- interface useRulesFn<TCustomRules extends Partial<ExtendedRulesDeclarations>, TShortcuts extends RegleShortcutDefinition<any> = never> {
862
+ interface useRulesFn<TCustomRules extends Partial<ExtendedRulesDeclarationsOverrides>, TShortcuts extends RegleShortcutDefinition<any> = never> {
863
863
  <TRules extends RegleUnknownRulesTree | RegleRuleDecl, TDecl extends RegleRuleDecl<NonNullable<TState>, Partial<ExtendedRulesDeclarations> & TCustomRules>, TValidationGroups extends Record<string, RegleValidationGroupEntry[]>, TState extends Record<string, any> = InferInput<TRules>>(rulesFactory: TState extends Record<string, any> ? MaybeRef<TRules> | ((...args: any[]) => TRules) : {}, options?: useRulesFnOptions<TRules, TValidationGroups, TState>): NonNullable<TState> extends PrimitiveTypes ? Raw<RegleFieldStatus<NonNullable<TState>, TDecl, TShortcuts>> & StandardSchemaV1<TState> : Raw<RegleRoot<TState extends Record<string, any> ? Unwrap<TState> : {}, TRules extends Record<string, any> ? TRules : {}, TValidationGroups, TShortcuts>> & StandardSchemaV1<TState>;
864
864
  __config?: GlobalConfigOptions<TCustomRules, TShortcuts>;
865
865
  }
@@ -893,7 +893,7 @@ interface useRulesFn<TCustomRules extends Partial<ExtendedRulesDeclarations>, TS
893
893
  *
894
894
  * @see {@link https://reglejs.dev/common-usage/standard-schema#userules Documentation}
895
895
  */
896
- declare const useRules: useRulesFn<Partial<ExtendedRulesDeclarations>, RegleShortcutDefinition<any>>;
896
+ declare const useRules: useRulesFn<Partial<ExtendedRulesDeclarationsOverrides>, RegleShortcutDefinition<any>>;
897
897
  /**
898
898
  * Marks a value as static and treats the constructor as a regular raw Field.
899
899
  * @param value - The value to mark as static.
@@ -1152,12 +1152,14 @@ type RegleRuleTypeReturn<TValue, TParams extends [...any[]]> = {
1152
1152
  type CustomRulesDeclarationTree = {
1153
1153
  [x: string]: RegleRuleRawInput<any, any[], boolean, any> | undefined;
1154
1154
  };
1155
- type DefaultValidatorsTree = { [K in keyof DefaultValidators]: DefaultValidators[K] | undefined };
1155
+ type DefaultValidatorsTree = { [K in keyof DefaultValidators]: DefaultValidators[K] extends ((...args: any[]) => infer U) ? U : DefaultValidators[K] };
1156
+ type DefaultValidatorsTreeOverrides = { [K in keyof DefaultValidators]: DefaultValidators[K] | ((...args: any[]) => DefaultValidators[K]) };
1156
1157
  /**
1157
1158
  * Extend this interface to declare your custom rules
1158
1159
  */
1159
1160
  interface CustomRules {}
1160
1161
  type ExtendedRulesDeclarations = CustomRulesDeclarationTree & DefaultValidatorsTree & CustomRules;
1162
+ type ExtendedRulesDeclarationsOverrides = CustomRulesDeclarationTree & DefaultValidatorsTreeOverrides & CustomRules;
1161
1163
  /** @deprecated Use {@link ExtendedRulesDeclarations} instead */
1162
1164
  type AllRulesDeclarations = ExtendedRulesDeclarations;
1163
1165
  /**
@@ -1920,10 +1922,10 @@ type CreateScopedUseRegleOptions<TCustomRegle extends useRegleFn<any, any>, TAsR
1920
1922
  *
1921
1923
  * @see {@link https://reglejs.dev/advanced-usage/scoped-validation Documentation}
1922
1924
  */
1923
- declare function createScopedUseRegle<TCustomRegle extends useRegleFn<any, any> = useRegleFn<Partial<ExtendedRulesDeclarations>>, TAsRecord extends boolean = false, TReturnedRegle extends useRegleFn<any, any, any, any> = (TCustomRegle extends useRegleFn<infer A, infer B> ? useRegleFn<A, B, {
1925
+ declare function createScopedUseRegle<TCustomRegle extends useRegleFn<any, any> = useRegleFn<Partial<ExtendedRulesDeclarationsOverrides>>, TAsRecord extends boolean = false, TReturnedRegle extends useRegleFn<any, any, any, any> = (TCustomRegle extends useRegleFn<infer A, infer B> ? useRegleFn<A, B, {
1924
1926
  dispose: () => void;
1925
1927
  register: () => void;
1926
- }, UseScopedRegleOptions<TAsRecord>> : useRegleFn<Partial<ExtendedRulesDeclarations>, any, {
1928
+ }, UseScopedRegleOptions<TAsRecord>> : useRegleFn<Partial<ExtendedRulesDeclarationsOverrides>, any, {
1927
1929
  dispose: () => void;
1928
1930
  register: () => void;
1929
1931
  }, UseScopedRegleOptions<TAsRecord>>)>(options?: CreateScopedUseRegleOptions<TCustomRegle, TAsRecord>): {
@@ -1986,7 +1988,7 @@ declare const useCollectScope: <TValue extends Record<string, unknown>[] = Recor
1986
1988
  *
1987
1989
  * @see {@link https://reglejs.dev/advanced-usage/scoped-validation Documentation}
1988
1990
  */
1989
- declare const useScopedRegle: useRegleFn<Partial<ExtendedRulesDeclarations>, never, {
1991
+ declare const useScopedRegle: useRegleFn<Partial<ExtendedRulesDeclarationsOverrides>, never, {
1990
1992
  dispose: () => void;
1991
1993
  register: () => void;
1992
1994
  }, {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @regle/core v1.19.0-beta.1
2
+ * @regle/core v1.19.0-beta.3
3
3
  * (c) 2026 Victor Garcia
4
4
  * @license MIT
5
5
  */
@@ -3239,7 +3239,7 @@ function filterInspectorTree(nodes, filter) {
3239
3239
  return filtered;
3240
3240
  }
3241
3241
 
3242
- var version$1 = "1.19.0-beta.1";
3242
+ var version$1 = "1.19.0-beta.3";
3243
3243
 
3244
3244
  function createDevtools(app) {
3245
3245
  setupDevtoolsPlugin({
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @regle/core v1.19.0-beta.1
2
+ * @regle/core v1.19.0-beta.3
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,ref as d,shallowRef as f,toRef as p,toValue as m,triggerRef as h,unref as g,version as _,watch as v,watchEffect as y}from"vue";function b(e){return e?.constructor?.name==`File`}function x(e){return e&&(e instanceof Date||e.constructor.name==`File`||e.constructor.name==`FileList`)?!1:typeof e==`object`&&!!e&&!Array.isArray(e)}function S(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 C(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 w(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 T(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function E(e,t,n,r=!1){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})}function D(e){return typeof e==`function`&&!!e.prototype&&`constructor`in e.prototype&&e.prototype.constructor===e}function O(e,t=!0,n=!0){return e==null?!0:e instanceof Date?isNaN(e.getTime()):b(e)?e.size<=0:Array.isArray(e)?t?e.length===0:!1:x(e)?e==null?!0:n?Object.keys(e).length===0:!1:!String(e).length}const k=Symbol(`regle-rule`);function A(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 j(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=>j(e,t++)))),r==`Map`&&(n=new Map([...e].map(e=>[j(e[0]),j(e[1])]))),r==`Date`&&(n=new Date(e.getTime())),r==`RegExp`&&(n=RegExp(e.source,A(e))),r==`Array`||r==`Object`)for(let r in n=Array.isArray(e)?[]:{},e)n[r]=j(e[r],t++);return n}function M(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 N(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 P(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(!P(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(x(e)&&x(t)&&s&&(r||!r&&n)&&!P(e[s],t[s],n,!1))return!1}return!0}return e!==e&&t!==t}var F=class extends Error{constructor(e=`Promise was aborted`){super(e),this.name=`AbortError`}};function I(e){let t=new AbortController,{signal:n}=t,r=new Promise((t,r)=>{function i(){r(new F)}n.addEventListener(`abort`,i),e.then(e=>{n.removeEventListener(`abort`,i),n.aborted?r(new F):t(e)}).catch(e=>{n.removeEventListener(`abort`,i),n.aborted?r(new F):r(e)})});function i(e){t.abort(e)}return{promise:r,abort:i,signal:n}}const L={Inline:`__inline`,Async:`__async`};function R(e){try{return e.map(e=>m(e))}catch{return[]}}function z(t){return t.map(t=>t instanceof Function?e(t):a(t)?t:p(()=>t))}function B(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 V(e,...t){let{validator:n,type:r,async:i}=e,a=i||r===L.Async||n.constructor.name===`AsyncFunction`;return o({validator(n,...r){return e.validator(n,...R(r.length?r:t))},message(n){return typeof e.message==`function`?e.message({...n,$params:R(n?.$params?.length?n.$params:t)}):e.message},active(n){return typeof e.active==`function`?e.active({...n,$params:R(n?.$params?.length?n.$params:t)}):e.active??!0},tooltip(n){return typeof e.tooltip==`function`?e.tooltip({...n,$params:R(n?.$params?.length?n.$params:t)}):e.tooltip??[]},exec(n){let r=e.validator(n,...R(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:z(t),_brand:k})}function H(e){if(typeof e.validator==`function`){let t=[],n=e.async??e.validator.constructor.name===`AsyncFunction`,r=V({...e,async:n},...t);if(B(e.validator)>1){let t=function(...t){return V(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`)}function U(e){return x(e.value)}function W(e,n,r){let i=t(),a;return a=e instanceof Function?i.run(()=>e(n,r??0)):e,{scope:i,unwrapped:a}}const G={LessThan:-1,EqualTo:0,GreaterThan:1};function K(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 G.GreaterThan;if(i>t)return G.LessThan;if(!isNaN(t)&&isNaN(i))return G.GreaterThan;if(isNaN(t)&&!isNaN(i))return G.LessThan}return G.EqualTo}const ee=K(_,`3.5.0`)!==-1;function te(){return Math.floor(Math.random()*Date.now()).toString()}function q(){return typeof window>`u`?te():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(10)}function J(e){return r()?(l(e),!0):!1}function Y(e){let n=!1,r,i=t(!0);return((...t)=>(n||=(r=i.run(()=>e(...t)),!0),r))}function X(e,t){return e.some(e=>t?e?.[t]:!1)}function Z(e,t){return t?e.reduce((e,n)=>{let r=n?.[t]||[];return e.concat(r)},[]):[]}function ne(){let e=f(new Map),t=f(new Map),n=f(new Map),i=f(new Map),a=f(new Map),o=f(new Map);function s(e){let n=t.value.get(e);if(n)return n;{let n=d({});return t.value.set(e,n),n}}function c(e){let t=n.value.get(e);if(t)return t;{let t=d([]);return n.value.set(e,t),t}}function u(e,t,n){o.value.set(`${e}-${t}`,n)}function p(e,t){return o.value.get(`${e}-${t}`)}function m(e,t){e&&t!=null&&o.value.delete(`${e}-${t}`)}function h(e,t){i.value.set(e,t)}function g(e){return i.value.get(e)??!1}function _(t,n){e.value.set(t,n)}function v(t,n){let r=e.value.get(t);if(r)return y(n,r)?{valid:!0}:{valid:!1}}function y(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];return!i||!r||typeof r==`function`||typeof i==`function`||typeof r==`number`||typeof r==`boolean`||typeof r==`string`?!1:r._params?r._params?.every((e,t)=>{if(typeof i==`number`||typeof i==`boolean`||typeof i==`string`)return!0;{let e=R(i._params),n=R(r._params);return e?.[t]===n?.[t]}}):!0})}function b(e){let t=a.value.get(e);if(t)return t;{let t=d(!1),n=d(!0),r=d({}),i=d(!1);return a.value.set(e,{$pending:t,$valid:n,$metadata:r,$validating:i}),{$pending:t,$valid:n,$metadata:r,$validating:i}}}return r()&&l(()=>{e.value.clear(),t.value.clear(),n.value.clear(),i.value.clear(),a.value.clear(),o.value.clear()}),{addRuleDeclEntry:_,setDirtyEntry:h,checkRuleDeclEntry:v,getDirtyState:g,trySetRuleStatusRef:b,getFieldsEntry:s,getCollectionsEntry:c,getArrayStatus:p,addArrayStatus:u,deleteArrayStatus:m,arrayStatusStorage:o}}const Q=Symbol(`regle`),re=Symbol(`regle-config`),ie={REGLE_STATIC:`__regle_static`};function ae(e,t){return!le(e.value)&&(U(e)||x(t.value)&&!O(t.value)&&!Object.entries(t.value).some(([e,t])=>$(t)||typeof t==`function`))}function oe(e,t){return!!e.value&&x(e.value)&&`$each`in e.value||Array.isArray(t.value)}function se(e){return!!e.value&&(x(e.value)||U(e.value))}function $(e){return(x(e)||typeof e==`function`)&&`_validator`in e}function ce(e){return typeof e.value==`function`?`_validator`in e.value:!0}function le(e){return x(e)&&T(e,ie.REGLE_STATIC)&&e[ie.REGLE_STATIC]===!0}function ue(e){return x(e)&&`$fields`in e}function de(e){return!!e&&`$rules`in e}function fe({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?e.$externalErrors.map(t=>({$message:t,$property:e.fieldName,$rule:`external`,$type:void 0})):[],i=[];return e.$schemaErrors&&e.$error&&(i=!Array.isArray(e.$schemaErrors)&&`$self`in e.$schemaErrors?e.$schemaErrors.$self??[]:e.$schemaErrors??[]),[...n,...r,...i]}function pe({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 me(e){return x(e)&&`$each`in e}function he(e,t){let{includePath:n=!1}=t??{};if(Array.isArray(e)&&e.every(e=>!x(e)))return e;if(me(e)){let t=n?e.$self?.map(e=>({message:e,path:[]}))??[]:e.$self??[],r=e.$each?.map(e=>ge(e,n))??[];return t?.concat(r.flat())}else return Object.entries(e).map(([e,t])=>ge(t,n,[e])).flat()}function ge(e,t=!1,n){let r=t&&!n?[]:n;if(Array.isArray(e)&&e.every(e=>!x(e)))return t?e.map(e=>({message:e,path:r??[]})):e;if(me(e)){let n=r?.length?e.$self?.map(e=>({message:e,path:r??[]}))??[]:e.$self??[],i=e.$each?.map((e,n)=>ge(e,t,r?.concat(n)))??[];return n?.concat(i.flat())}else return Object.entries(e).map(([e,n])=>ge(n,t,r?.concat(e))).flat()}function _e({customMessages:n,rule:r,ruleKey:i,state:a,path:o,cachePath:s,storage:c,modifiers:l}){let f=t(),p={},m,h=e(()=>$(r.value)&&r.value._async),g=d(!1),{$pending:_,$valid:y,$metadata:b,$validating:x}=c.trySetRuleStatusRef(`${s}.${i}`);function S(){f=t(),p=f.run(()=>{let t=d(!1),s=d(!1),c=d(!0),l=d(!1),u=d(!1),f=e(()=>({$value:a.value,$error:s.value,$dirty:t.value,$pending:l.value,$correct:u.value,$invalid:c.value,$rule:{$valid:y.value,$invalid:!y.value,$pending:_.value},$params:S.value,...b.value})),p=e(()=>{try{return ce(r)?typeof r.value.active==`function`?r.value.active(f.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(f.value):a),ce(r)){let n=`_${e}_patched`;a&&!r.value[n]||(t=typeof r.value[e]==`function`?r.value[e](f.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 O(e)&&(e=`This field is not valid`),e}),g=e(()=>m(`tooltip`)),v=e(()=>ce(r)&&r.value.type?r.value.type:i),x=e(()=>ce(r)?r.value.validator:r.value),S=e(()=>typeof r.value==`function`?[]:R(r.value._params??[]));return{$active:p,$message:h,$type:v,$validator:x,$params:S,$path:e(()=>`${o}.${i}`),$tooltip:g,$fieldCorrect:u,$fieldError:s,$fieldDirty:t,$fieldPending:l,$fieldInvalid:c}}),m=v(p?.$params,()=>{(!l.$silent.value||l.$rewardEarly.value&&p.$fieldError.value)&&E()},{deep:ee?1:!0})}S();function C(){y.value=!0,p.$fieldDirty.value&&(_.value=!0)}async function w(){let e=!1;try{let t=p.$validator.value;if(typeof t!=`function`)return console.error(`${o}: Incorrect rule format, it needs to be either a function or created with "createRule".`),!1;let n=t(a.value,...p.$params.value),r=a.value;C();let i;if(i=n instanceof Promise?await n:n,a.value!==r)return!0;if(typeof i==`boolean`)e=i;else{let{$valid:t,...n}=i;e=t,b.value=n}}catch{e=!1}finally{_.value=!1}return e}function T(e,t=!0){if($(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 b.value=t,e}}return!0}async function E(){try{x.value=!0;let e=!1;if(g.value=!0,$(r.value)&&r.value._async)e=await w();else{let t=p.$validator.value;e=T(t)}return y.value=e,e}catch{return!1}finally{x.value=!1,g.value=!1}}function D(){try{return x.value=!0,T(p.$validator.value)}catch{return!1}finally{x.value=!1}}function k(){y.value=!0,b.value={},_.value=!1,x.value=!1,S()}function A(){m(),f.stop(),f=t()}return u({...p,$pending:_,$valid:y,$metadata:b,$haveAsync:h,$maybePending:g,$validating:x,$parse:E,$parseSync:D,$unwatch:A,$watch:S,$reset:k})}function ve(e){return{"~standard":{version:1,vendor:`regle`,validate:async t=>{let{valid:n,data:r,errors:i}=await e(t);return n?{value:r,issues:[]}:{issues:he(i,{includePath:!0})}}}}}function ye({state:n,rulesDef:r,customMessages:i,path:a,cachePath:o,fieldName:s,storage:c,options:l,externalErrors:f,schemaErrors:m,schemaMode:h,onUnwatch:_,$isArray:b,initialState:S,originalState:C,shortcuts:w,overrides:T,onValidate:E}){let D=t(),k,A=[],F,L,R,z,B=()=>{},V,H=()=>{},U=d(!1);function W(){let e=r.value,t=c.checkRuleDeclEntry(o,e),s={};for(let t in e)t.startsWith(`$`)&&(s[t]=e[t]);Z.value=s,q();let l=r.value,u=[];for(let e in l){if(e.startsWith(`$`)||e.startsWith(`~`))continue;let t=l[e];if(!t)continue;let r=p(()=>t);u.push([e,_e({modifiers:{$silent:k.$silent,$rewardEarly:k.$rewardEarly},customMessages:i,rule:r,ruleKey:e,state:n,path:a,cachePath:o,storage:c,$debounce:Z.value.$debounce})])}X.value=Object.fromEntries(u),k.processShortcuts(),G(),K(),t?.valid!=null&&(k.$dirty.value=c.getDirtyState(o),(k.$dirty.value&&!k.$silent.value||k.$rewardEarly.value&&k.$error.value)&&B()),c.addRuleDeclEntry(o,e)}function G(){B=k.$debounce.value>0?N(Y,k.$debounce.value,{trackDebounceRef:U}):Y}function K(){H=k.$debounce.value>0?N(()=>{k.$dirty.value=!0},k.$debounce.value):()=>{k.$dirty.value=!0}}function te(){if(X.value)for(let e of Object.values(X.value))e.$unwatch();L(),z?.(),k.$dirty.value&&c.setDirtyEntry(o,k.$dirty.value),F?.(),D.stop(),D=t();for(let e of A)e.stop();A=[],_?.(),R?.()}function q(){if(X.value)for(let e of Object.values(X.value))e.$watch();k=D.run(()=>{let i=d(!1),a=d(!1),o=e(()=>i.value),c=e(()=>b||le(n.value)),p=e(()=>Z.value.$debounce==null?k.$haveAnyAsyncRule.value?200:0:Z.value.$debounce),_=e(()=>Z.value.$deepCompare==null?!1:Z.value.$deepCompare),v=e(()=>Z.value.$lazy==null?g(l.lazy)==null?!1:g(l.lazy)===!0:Z.value.$lazy),x=e(()=>Z.value.$immediateDirty==null?g(l.immediateDirty)==null?!1:g(l.immediateDirty)===!0:Z.value.$immediateDirty),C=e(()=>Z.value.$rewardEarly==null?g(l.rewardEarly)==null?!1:g(l.rewardEarly)===!0:!!Z.value.$rewardEarly),E=e(()=>Z.value.$clearExternalErrorsOnChange==null?g(l.clearExternalErrorsOnChange)==null?!D.value:g(l.clearExternalErrorsOnChange)===!0:!!Z.value.$clearExternalErrorsOnChange),D=e(()=>C.value?!0:Z.value.$silent==null?g(l.silent)==null?!1:g(l.silent)===!0:Z.value.$silent),j=e(()=>Z.value.$autoDirty==null?g(l.autoDirty)==null?!0:g(l.autoDirty)===!0:Z.value.$autoDirty),N=e(()=>{if(Z.value.$isEdited!=null)return Z.value.$isEdited;if(T?.isEdited!=null)return T.isEdited}),I=e(()=>{for(let e of Object.values(X.value))if(e.$validating)return!0;return!1}),L=e({get:()=>n.value,set(e){F(),n.value=e,J()}}),R=e(()=>U.value?Y.value&&i.value:Y.value&&!q.value&&i.value),z=e(()=>fe({field:{$rules:X.value,$error:R.value,$externalErrors:f?.value,$schemaErrors:m?.value,fieldName:ne.value}})),B=e(()=>fe({field:{$rules:X.value,$error:R.value,$externalErrors:f?.value,$schemaErrors:m?.value,fieldName:ne.value},silent:!0})),V=e(()=>z.value.map(e=>e.$message)),H=e(()=>B.value.map(e=>e.$message)),W=d(!1);function G(e,t){return t instanceof Date&&e instanceof Date?M(t).getDate()!==M(e).getDate():t==null?!!e:Array.isArray(e)&&Array.isArray(t)?!P(e,t,Z.value.$deepCompare):t!==e}y(()=>{i.value?N.value?W.value=N.value(n.value,S.value,G):W.value=G(n.value,S.value):W.value=!1});let K=e(()=>W.value),ee=e(()=>pe({field:{$rules:X.value}})),te=e(()=>!(Y.value||q.value)),q=e(()=>a.value||!C.value?Object.entries(X.value).some(([e,t])=>t.$pending):!1),Y=e(()=>f?.value?.length||m?.value?.length?!0:Q.value?!1:Object.values(X.value).some(e=>!e.$valid||e.$maybePending)),ne=e(()=>s??l.id??`root`),Q=e(()=>!h&&!Object.keys(r.value).some(e=>!e.startsWith(`$`))),re=e(()=>{if(f?.value?.length||Q.value||U.value)return!1;if(i.value&&!O(n.value)&&!I.value&&!q.value){if(h)return!m?.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}),ie=e(()=>Object.values(X.value).some(e=>e.$haveAsync)),ae=e(()=>({$debounce:p.value,$lazy:v.value,$rewardEarly:C.value,$autoDirty:j.value,$silent:D.value,$clearExternalErrorsOnChange:E.value,$immediateDirty:x.value,$isEdited:N.value}));function oe(){w?.fields&&Object.entries(w.fields).forEach(([e,r])=>{let a=t();se[e]=a.run(()=>{let e=d();return y(()=>{e.value=r(u({$dirty:i,$externalErrors:f?.value??[],$value:n,$silentValue:L,$rules:X,$error:R,$pending:q,$invalid:Y,$correct:re,$errors:V,$ready:te,$silentErrors:H,$anyDirty:o,$tooltips:ee,$name:ne,$inactive:Q,$edited:W,$anyEdited:K}))}),e}),A.push(a)})}let se={};return{$error:R,$pending:q,$invalid:Y,$correct:re,$debounce:p,$deepCompare:_,$lazy:v,$immediateDirty:x,$ready:te,$issues:z,$silentIssues:B,$errors:V,$silentErrors:H,$rewardEarly:C,$autoDirty:j,$silent:D,$clearExternalErrorsOnChange:E,$anyDirty:o,$edited:W,$anyEdited:K,$name:ne,$haveAnyAsyncRule:ie,$shortcuts:se,$validating:I,$tooltips:ee,$dirty:i,processShortcuts:oe,$silentValue:L,$inactive:Q,$modifiers:ae,$isArrayOrRegleStatic:c}}),J(),L=v(k.$dirty,e=>{c.setDirtyEntry(o,e),Object.values(X.value).forEach(t=>{t.$fieldDirty=e})}),z=v([k.$error,k.$correct,k.$invalid,k.$pending],()=>{Object.values(X.value).forEach(e=>{e.$fieldError=k.$error.value,e.$fieldInvalid=k.$invalid.value,e.$fieldPending=k.$pending.value,e.$fieldCorrect=k.$correct.value})}),R=v(k.$haveAnyAsyncRule,G)}function J(){F=v(n,()=>{k.$autoDirty.value&&!k.$silent.value&&(k.$dirty.value||H()),r.value instanceof Function&&W(),(!k.$silent.value||k.$rewardEarly.value&&k.$error.value)&&B(),k.$clearExternalErrorsOnChange.value&&ce()},{deep:k.$isArrayOrRegleStatic.value?!0:ee?1:!0})}async function Y(){try{let{promise:e}=re(Promise.allSettled(Object.values(X.value).map(e=>e.$parse())));await e}catch{}}let X=d({}),Z=d({});W();function ne(e,t){if(Q(),ce(),k.$dirty.value=!1,c.setDirtyEntry(o,!1),!t)if(e?.toOriginalState)n.value=j(C),S.value=j(C);else if(e?.toInitialState)n.value=j(S.value);else if(e?.toState){let t;t=typeof e?.toState==`function`?e?.toState():e?.toState,S.value=j(t),n.value=j(t)}else S.value=x(n.value)&&!le(n.value)?j(n.value):Array.isArray(n.value)?[...n.value]:n.value;if(e?.clearExternalErrors&&ce(),!t&&!e?.keepValidationState)for(let e of Object.values(X.value))e.$reset();if(!k.$lazy.value&&!k.$silent.value&&!t)for(let e of Object.values(X.value))e.$parse()}function Q(){`cancel`in B&&B.cancel()}function re(e){return V&&V.abort(),V=I(e),V}function ie(){Q(),V&&V.abort()}function ae(e=!0,t=!1){k.$dirty.value||H(),t&&e?(!k.$silent.value||k.$rewardEarly.value&&k.$error.value)&&(Q(),B()):e&&(Q(),B())}async function oe(e){try{if(e&&(n.value=e),h)return E?(ae(!1),E()):{valid:!1,data:n.value,errors:k.$errors.value,issues:k.$issues.value};let t=n.value;if(!k.$dirty.value)k.$dirty.value=!0;else if(!k.$silent.value&&k.$dirty.value&&!k.$pending.value&&!U.value&&!k.$haveAnyAsyncRule.value)return{valid:!k.$error.value,data:t,errors:k.$errors.value,issues:k.$issues.value};if(h)return{valid:!m?.value?.length,data:t,errors:k.$errors.value,issues:k.$issues.value};if(O(X.value))return{valid:!0,data:t,errors:k.$errors.value,issues:k.$issues.value};ie();let{promise:r}=re(Promise.allSettled(Object.values(X.value).map(e=>e.$parse())));return{valid:(await r).every(e=>e.status===`fulfilled`&&e.value===!0),data:t,errors:k.$errors.value,issues:k.$issues.value}}catch{return{valid:!1,data:n.value,errors:k.$errors.value,issues:k.$issues.value}}}function se(e){try{return e&&(n.value=e),k.$dirty.value||(k.$dirty.value=!0),h?!1:Object.values(X.value).map(e=>e.$parseSync()).every(e=>!!e)}catch{return!1}}function $(e=!0){return k.$dirty.value?n.value:e?{_null:!0}:null}function ce(){f?.value?.length&&(f.value=[])}!k.$lazy.value&&!k.$dirty.value&&!k.$silent.value&&Y(),k.$immediateDirty.value&&(k.$dirty.value=!0);let{$shortcuts:ue,$validating:de,$autoDirty:me,$rewardEarly:he,$clearExternalErrorsOnChange:ge,$haveAnyAsyncRule:ye,$debounce:be,$lazy:xe,...Se}=k;return u({...Se,$externalErrors:f,$value:n,$initialValue:S,$originalValue:C,$rules:X,...ue,$path:a,$isDebouncing:U,$reset:ne,$touch:ae,$validate:oe,$validateSync:se,$unwatch:te,$watch:q,$extractDirtyFields:$,$clearExternalErrors:ce,$abort:ie,$schemaMode:h,"~modifiers":k.$modifiers,...ve(oe)})}function be({$id:t,path:n,cachePath:r,index:i,options:a,storage:o,stateValue:s,customMessages:c,rules:l,externalErrors:u,schemaErrors:d,initialState:f,originalState:m,shortcuts:h,fieldName:g,schemaMode:_,overrides:v}){let y=s.value?.$id??l.$key??q(),b=`${r}.${String(y)}`,S=`${n}.${i}`;typeof s.value==`object`&&s.value!=null&&(s.value.$id||Object.defineProperties(s.value,{$id:{value:y,enumerable:!1,configurable:!1,writable:!1}}));let C=p(u?.value??[],i),w=e(()=>d?.value?.[i]),T=Ce({index:i,state:s,rulesDef:p(()=>l),customMessages:c,path:S,cachePath:b,storage:o,options:a,externalErrors:C,schemaErrors:w,initialState:f,originalState:m,shortcuts:h,fieldName:g,schemaMode:_,overrides:v});return T&&(T.$id=s.value?.$id??String(y),o.addArrayStatus(t,T.$id,T)),s.value&&(!x(s.value)||le(s.value))&&_&&T?.$touch(),T}function xe({state:n,rulesDef:r,customMessages:i,path:a,cachePath:o,storage:s,options:c,externalErrors:l,schemaErrors:f,schemaMode:m,initialState:h,originalState:_,shortcuts:b,fieldName:x,overrides:S}){let C=t(),w,T=t(),E,D=[];if(!Array.isArray(n.value)&&!r.value.$each)return;let k=d(),A=d(n.value),M=d({}),N,P,F=d({}),I=s.getCollectionsEntry(a);E=T.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=>$(e)||typeof e==`function`):!1:!1)})),L(),V();function L(){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=q(),Object.defineProperties(n.value,{$id:{value:k.value,enumerable:!1,configurable:!1,writable:!1}})):n.value?.$id&&(k.value=n.value.$id)),A.value=F.value.$value,Array.isArray(n.value)&&(!E.isPrimitiveArray.value||m)?I.value=n.value.map((t,n)=>{let{scope:u,unwrapped:d}=W(r.value.$each,p(()=>t),n);u&&D.push(u);let g=p(h.value??[],n),v=p(l?.value??{},`$each`),y=e(()=>f?.value?.$each);return be({$id:k.value,path:a,cachePath:o,customMessages:i,rules:d??{},stateValue:p(()=>t),index:n,options:c,storage:s,externalErrors:v,schemaErrors:y,initialState:g,originalState:_,shortcuts:b,fieldName:x,schemaMode:m,overrides:S})||null}).filter(e=>!!e):I.value=[],F.value=ye({state:n,rulesDef:r,customMessages:i,path:a,cachePath:a,storage:s,options:c,externalErrors:p(l?.value??{},`$self`),schemaErrors:e(()=>f?.value?.$self),$isArray:!0,initialState:h,originalState:_,shortcuts:b,fieldName:x,schemaMode:m,overrides:S})}function R(){if(Array.isArray(n.value)&&(!E.isPrimitiveArray.value||m)){let t=j(I.value);I.value=n.value.map((t,n)=>{let o=p(()=>t);if(t.$id&&I.value.find(e=>e.$id===t.$id)){let e=s.getArrayStatus(k.value,t.$id);return e?(e.$value=o,e):null}else{let{scope:t,unwrapped:u}=W(r.value.$each,o,n);t&&D.push(t);let d=p(l?.value??{},`$each`),g=e(()=>f?.value?.$each??[]);return be({$id:k.value,path:a,cachePath:a,customMessages:i,rules:u??{},stateValue:o,index:n,options:c,storage:s,externalErrors:d,schemaErrors:g,initialState:p(h.value??[],n),originalState:_,shortcuts:b,fieldName:x,schemaMode:m,overrides:S})||null}}).filter(e=>!!e),t.filter(e=>!n.value?.find(t=>e.$id===t.$id)).forEach((e,t)=>{s.deleteArrayStatus(k.value,t.toString())})}else I.value=[]}function z(){N=v(n,()=>{P?.(),n.value!=null&&!Object.hasOwn(n.value,`$id`)&&!k.value?L():R(),B()},{deep:ee?1:!0,flush:`pre`}),B()}function B(){P=v(n,()=>{w.$autoDirty.value&&!w.$silent.value&&F.value.$touch(!1,!0)},{flush:`post`})}function V(){z(),C=t(),w=C.run(()=>{let r=e({get:()=>n.value,set(e){N?.(),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(()=>(m?F.value.$correct:O(F.value.$rules)?!0:F.value.$correct)&&(!I.value.length||I.value.every(e=>e.$correct||e.$anyDirty&&!e.$invalid))),f=e(()=>F.value.$error||I.value.some(e=>e.$error)),p=e(()=>!(s.value||v.value)),v=e(()=>F.value.$pending||I.value.some(e=>e.$pending)),C=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)})),k=e(()=>({$self:F.value.$silentErrors,$each:I.value.map(e=>e.$silentErrors)})),A=e(()=>M.value.$rewardEarly==null?g(c.rewardEarly)==null?!1:g(c.rewardEarly)===!0:M.value.$rewardEarly),j=e(()=>A.value?!0:M.value.$silent==null?g(c.silent)==null?!1:g(c.silent)===!0:M.value.$silent),L=e(()=>M.value.$autoDirty==null?g(c.autoDirty)==null?!0:g(c.autoDirty)===!0:M.value.$autoDirty),R=e(()=>M.value.$immediateDirty==null?g(c.immediateDirty)==null?!1:g(c.immediateDirty)===!0:M.value.$immediateDirty),B=e(()=>{if(M.value.$isEdited!=null)return M.value.$isEdited;if(S?.isEdited!=null)return S.isEdited}),V=e(()=>x??c.id??`root`),H=e(()=>({$deepCompare:M.value.$deepCompare??!1,$debounce:M.value.$debounce??0,$lazy:M.value.$lazy??!1,$rewardEarly:A.value,$autoDirty:L.value,$silent:j.value,$clearExternalErrorsOnChange:M.value.$clearExternalErrorsOnChange??!1,$immediateDirty:R.value,$isEdited:B.value}));function U(){b?.collections&&Object.entries(b?.collections).forEach(([e,c])=>{let m=t();W[e]=m.run(()=>{let e=d();return y(()=>{e.value=c(u({$dirty:i,$error:f,$path:a,$silentValue:r,$pending:v,$invalid:s,$correct:l,$errors:E,$silentErrors:k,$initialValue:h,$originalValue:_,$ready:p,$anyDirty:o,$name:V,$each:I,$self:F,$value:n,$edited:C,$anyEdited:w,$issues:T}))}),e}),D.push(m)})}let W={};return U(),{$dirty:i,$anyDirty:o,$invalid:s,$correct:l,$error:f,$pending:v,$errors:E,$silentErrors:k,$ready:p,$name:V,$shortcuts:W,$silentValue:r,$edited:C,$anyEdited:w,$rewardEarly:A,$silent:j,$autoDirty:L,$issues:T,$modifiers:H}}),E.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(){N?.(),F.value&&F.value.$unwatch(),I.value&&I.value.forEach(e=>{`$dirty`in e&&e.$unwatch()}),C.stop(),C=t(),T.stop(),T=t(!0),D.forEach(e=>e.stop()),D=[]}function U(e=!0,t=!1){F.value.$touch(e,t),I.value.forEach(n=>{n.$touch(e,t)})}function G(e,t){if(H(),!t)if(e?.toOriginalState)n.value=j(_),h.value=j(_);else if(e?.toInitialState)n.value=j(h.value);else if(e?.toState){let t;t=typeof e?.toState==`function`?e?.toState():e?.toState,h.value=j(t),n.value=j(t)}else h.value=j(n.value);e?.clearExternalErrors&&Y(),e?.keepValidationState||(F.value.$reset(e,t),I.value.forEach(t=>{t.$reset(e,!0)})),t||L()}function K(){F.value.$abort(),I.value.forEach(e=>{e.$abort()})}async function te(e){e&&(n.value=e);let t=n.value;try{return K(),{valid:(await Promise.allSettled([F.value.$validate(e),...I.value.map(e=>e.$validate())])).every(e=>e.status===`fulfilled`?e.value.valid===!0:!1),data:t,errors:w.$errors.value,issues:w.$issues.value}}catch{return{valid:!1,data:t,errors:w.$errors.value,issues:w.$issues.value}}}function J(e){e&&(n.value=e);try{return[F.value.$validateSync(e),...I.value.map(e=>e.$validateSync())].every(e=>!!e)}catch{return!1}}function Y(){F.value.$clearExternalErrors(),I.value.forEach(e=>{e.$clearExternalErrors()})}function X(e=!0){let t=I.value.map(t=>{if(ue(t))return t.$extractDirtyFields(e)});return e&&t.every(e=>O(e))&&(t=[]),t}let{$shortcuts:Z,...ne}=w;return u({$self:F,...ne,...Z,$path:a,$each:I,$value:n,$initialValue:h,$originalValue:_,$validate:te,$validateSync:J,$unwatch:H,$watch:V,$touch:U,$reset:G,$abort:K,$extractDirtyFields:X,$clearExternalErrors:Y,"~modifiers":w.$modifiers,...ve(te)})}function Se({rulesDef:n,state:r,path:i=``,cachePath:a,rootRules:o,externalErrors:s,schemaErrors:c,rootSchemaErrors:l,validationGroups:f,initialState:m,originalState:h,fieldName:_,...b}){let S=t(),C,w=[],T=null,E=null,D=null,k=null,A=d(void 0);async function M(t=!0){let o=Object.entries(n.value).filter(([e])=>e!==`$self`),l=Object.fromEntries(o.reduce((t,[n,o])=>{if(!o)return t;let l=p(r.value??{},n),u=p(()=>o),d=p(s?.value??{},n),f=e(()=>c?.value?.[n]),g=p(m?.value??{},n);return t.push([n,Ce({state:l,rulesDef:u,path:i?`${i}.${n}`:n,cachePath:a?`${a}.${n}`:n,externalErrors:d,schemaErrors:f,initialState:g,originalState:h?.[n],fieldName:n,...b})]),t},[])),u=Object.fromEntries(Object.entries(g(s)??{}).filter(([e,t])=>!(e in n.value)&&!!t).map(([t])=>{let n=p(r.value??{},t),o=p(s?.value??{},t),l=e(()=>c?.value?.[t]),u=p(m?.value??{},t),d=i?`${i}.${t}`:t,f=a?`${a}.${t}`:t;return[t,Ce({state:n,rulesDef:e(()=>({})),path:d,cachePath:f,externalErrors:o,schemaErrors:l,initialState:u,originalState:h?.[t],fieldName:t,...b})]})),d=Object.fromEntries(Object.entries(g(c)??{}).map(([t])=>{let n=i?`${i}.${t}`:t,o=a?`${a}.${t}`:t,l=p(r.value??{},t),u=p(s?.value??{},t),d=e(()=>c?.value?.[t]),f=p(m?.value??{},t);return[t,Ce({state:l,rulesDef:e(()=>({})),path:n,cachePath:o,externalErrors:u,schemaErrors:d,initialState:f,originalState:h?.[t],fieldName:t,...b})]})),f=Object.fromEntries(Object.entries(r.value??{}).filter(([e])=>!(e in n.value)&&!(e in(u??{}))&&!(e in(d??{}))).map(([t])=>{let n=p(r.value??{},t),o=p(s?.value??{},t),l=e(()=>c?.value?.[t]),u=p(m?.value??{},t);return[t,Ce({state:n,rulesDef:e(()=>({})),path:i?`${i}.${t}`:t,cachePath:a?`${a}.${t}`:t,externalErrors:o,schemaErrors:l,initialState:u,originalState:h?.[t],fieldName:t,...b})]}));P.value={...l,...u,...d,...f},t&&L()}function N(){n.value.$self&&(A.value=ye({state:r,rulesDef:e(()=>n.value.$self??{}),path:i,cachePath:a,externalErrors:d(void 0),schemaErrors:d(void 0),initialState:p(m?.value??{},`$self`),originalState:h?.$self,fieldName:`$self`,...b}))}let P=b.storage.getFieldsEntry(a);M(),N();function F(){s&&(D=v(s,()=>{R(),M()},{deep:!0}))}function I(){k=v(r,()=>{R(),M(),C.$autoDirty.value&&!C.$silent.value&&V(!1,!0)},{flush:`post`})}function L(){o&&(T?.(),T=v(o,()=>{R(),M()},{deep:!0,flush:`pre`}),F()),l&&(E?.(),E=v(l,()=>{R(),M()},{deep:!0,flush:`post`})),I(),C=S.run(()=>{let a=e({get:()=>r.value,set(e){R(),r.value=e,M(),C.$autoDirty.value&&!C.$silent.value&&V(!1,!0)}}),o=e({get:()=>r.value,set(e){R(),r.value=e,M()}}),s=e(()=>{let e=P.value,t=Object.keys(e);if(!t.length)return!1;for(let n of t)if(!e[n]?.$dirty)return!1;return!0}),c=e(()=>{let e=P.value;for(let t in e)if(e[t]?.$anyDirty)return!0;return!1}),l=e(()=>{if(A.value?.$invalid)return!0;let e=P.value,t=Object.entries(e);if(!t.length)return!1;for(let[e,n]of t)if(n?.$invalid)return!0;return!1}),p=e(()=>{let e=Object.entries(P.value).reduce((e,[t,n])=>((!de(n)||!n.$inactive)&&e.push([t,n]),e),[]),t=n.value.$self&&!O(n.value.$self);if(e.length||t){let t=A.value?.$correct??!0,n=!1;return n=b.schemaMode?e.every(([e,t])=>t.$correct):e.every(([e,t])=>de(t)?`required`in t.$rules&&t.$rules.required.$active?t.$correct:!t.$invalid&&!t.$pending&&!t.$isDebouncing:t?.$correct),t&&n}return!1}),v=e(()=>{if(A.value?.$error)return!0;let e=P.value;if(!Object.keys(e).length)return!1;for(let t in e)if(e[t]?.$error)return!0;return!1}),x=e(()=>g(b.options.rewardEarly)==null?!1:g(b.options.rewardEarly)),S=e(()=>g(b.options.silent)==null?!!x.value:g(b.options.silent)===!0),T=e(()=>g(b.options.autoDirty)==null?!0:g(b.options.autoDirty)===!0),E=e(()=>g(b.options.immediateDirty)==null?!1:g(b.options.immediateDirty)===!0),D=e(()=>g(b.options.lazy)==null?!1:g(b.options.lazy)===!0),k=e(()=>g(b.options.clearExternalErrorsOnChange)==null?!1:g(b.options.clearExternalErrorsOnChange)===!0),j=e(()=>!(l.value||F.value)),N=d(!1),F=e(()=>{if(A.value?.$pending||N.value)return!0;let e=P.value;for(let t in e)if(e[t]?.$pending)return!0;return!1}),I=e(()=>{let e={...A.value&&{$self:A.value?.$issues??[]}};for(let t in P.value)e[t]=P.value[t]?.$issues;return e}),L=e(()=>{let e={...A.value&&{$self:A.value?.$errors??[]}};for(let t in P.value)e[t]=P.value[t]?.$errors;return e}),z=e(()=>{let e={...A.value&&{$self:A.value?.$silentErrors??[]}};for(let t in P.value)e[t]=P.value[t]?.$silentErrors;return e}),B=e(()=>{if(A.value?.$edited)return!0;if(!Object.keys(P.value).length)return!1;for(let e in P.value)if(!P.value[e]?.$edited)return!1;return!0}),H=e(()=>{if(A.value?.$anyEdited)return!0;for(let e in P.value)if(P.value[e]?.$anyEdited)return!0;return!1}),U=e(()=>_??b.options.id??`root`),W=e(()=>({autoDirty:T.value,lazy:D.value,rewardEarly:x.value,silent:S.value,clearExternalErrorsOnChange:k.value,immediateDirty:E.value,id:g(b.options.id)}));function G(){b.shortcuts?.nested&&Object.entries(b.shortcuts.nested).forEach(([e,n])=>{let a=t();ee[e]=a.run(()=>{let e=d();return y(()=>{e.value=n(u({$dirty:s,$path:i,$value:r,$silentValue:o,$error:v,$originalValue:h,$pending:F,$invalid:l,$correct:p,$ready:j,$anyDirty:c,$name:U,$silentErrors:z,$initialValue:m,$errors:L,$fields:P,$edited:B,$anyEdited:H,$issues:I,$self:A,"~modifiers":g(b.options)}))}),e}),w.push(a)})}let K=e({get:()=>f?Object.fromEntries(Object.entries(f?.(P.value)??{}).map(([e,t])=>t.length?[e,{...Object.fromEntries([`$invalid`,`$error`,`$pending`,`$dirty`,`$correct`].map(e=>[e,X(t,e)])),...Object.fromEntries([`$errors`,`$silentErrors`].map(e=>[e,Z(t,e)]))}]:[])):{},set(){}}),ee={};return G(),{$dirty:s,$anyDirty:c,$invalid:l,$correct:p,$error:v,$pending:F,$issues:I,$errors:L,$silentErrors:z,$ready:j,$name:U,$shortcuts:ee,$groups:K,$silentValue:o,$edited:B,$anyEdited:H,$localPending:N,$autoDirty:T,$silent:S,$value:a,$modifiers:W}})}function R(){if(T?.(),D?.(),k?.(),E?.(),w=[],C={},P.value)for(let e of Object.values(P.value))e?.$unwatch()}function z(){let e=P.value;for(let t of Object.values(e))t.$clearExternalErrors();A.value?.$clearExternalErrors()}function B(e,t){if(D?.(),R(),!t)if(e?.toOriginalState)r.value=j({...h}),m.value=j({...h});else if(e?.toInitialState)r.value=j({...m.value});else if(e?.toState){let t;t=typeof e?.toState==`function`?e?.toState():e?.toState,m.value=j(t),r.value=j(t)}else m.value=j(r.value);if(!e?.keepValidationState){for(let t of Object.values(P.value))t?.$reset(e,!0);A.value?.$reset(e,!0)}e?.clearExternalErrors&&z(),F(),t||M()}function V(e=!0,t=!1){for(let n of Object.values(P.value))n?.$touch(e,t);A.value?.$touch(e,t)}function H(e){return e.filter(([e,t])=>x(t)&&!le(t)?!(t&&typeof t==`object`&&`_null`in t)&&!O(t):Array.isArray(t)?t.length:!0)}function U(e=!0){let t=Object.entries(P.value).map(([t,n])=>[t,n.$extractDirtyFields(e)]);return e&&(t=H(t)),Object.fromEntries(t)}function W(){for(let e of Object.values(P.value))e.$abort();A.value?.$abort()}async function G(e){try{if(e&&(r.value=e),b.schemaMode)return b.onValidate?(V(!1),C.$localPending.value=!0,b.onValidate()):{valid:!1,data:r.value,errors:C.$errors.value,issues:C.$issues.value};{let e=r.value;W();let t=[...Object.values(P.value).map(e=>e.$validate()),...A.value?[A.value?.$validate()]:[]];return{valid:(await Promise.allSettled(t)).every(e=>e.status===`fulfilled`&&e?.value?.valid===!0),data:e,errors:C.$errors.value,issues:C.$issues.value}}}catch{return{valid:!1,data:r.value,errors:C.$errors.value,issues:C.$issues.value}}finally{C.$localPending.value=!1}}function K(e){try{return e&&(r.value=e),[...Object.values(P.value).map(e=>e.$validateSync()),...A.value?[A.value?.$validateSync()]:[]].every(e=>!!e)}catch{return!1}}let{$shortcuts:ee,$localPending:te,...q}=C,J=u({...q,...ee,$path:i,$initialValue:m,$originalValue:h,$self:A,$externalErrors:s,$fields:P,$reset:B,$touch:V,$validate:G,$unwatch:R,$watch:L,$clearExternalErrors:z,$extractDirtyFields:U,$abort:W,$validateSync:K,...o?{"~modifiers":C.$modifiers}:{},...ve(G)});return y(()=>{for(let e of Object.keys(J).filter(e=>!e.startsWith(`$`)&&!e.startsWith(`~`)))delete J[e];for(let e of Object.values(P.value))e?.$name&&Object.assign(J,{[e.$name]:e})}),J}function Ce({rulesDef:e,...n}){if(oe(e,n.state))return xe({rulesDef:e,...n});if(ae(n.state,e)){if(U(n.state))return Se({rulesDef:e,...n});{let r=t().run(()=>{let e=p(n.state.value?n.state:d({}));return v(()=>n.state.value,t=>{e.value=t},{deep:!0}),v(e,e=>{n.state.value=e},{deep:!0}),{fakeState:e}}),{state:i,...a}=n;return Se({rulesDef:e,...a,state:r.fakeState})}}else if(se(e))return ye({rulesDef:a(e.value)?e.value:e,...n})}var we=`1.19.0-beta.1`;function Te({initialState:e,originalState:t,options:n,scopeRules:i,state:a,customRules:o,shortcuts:s,schemaErrors:c,schemaMode:f=!1,onValidate:p,overrides:m}){let h=ne(),g=d(),_=d(),y,b;function x(){y=v(()=>n.externalErrors?.value,()=>{b?.(),n.externalErrors?.value&&Object.keys(n.externalErrors.value).some(e=>e.includes(`.`))?_.value=w(n.externalErrors.value):_.value=n.externalErrors?.value,S()},{immediate:!0,deep:!0})}function S(){b=v(()=>_.value,()=>{y?.(),n.externalErrors?.value&&(n.externalErrors.value=_.value),x()},{deep:!0})}return x(),ae(a,i)?g.value=Se({rootRules:i,rulesDef:i,state:a,customMessages:o?.(),storage:h,options:n,externalErrors:_,validationGroups:n.validationGroups,initialState:e,originalState:t,shortcuts:s,fieldName:void 0,path:``,cachePath:``,schemaErrors:c,rootSchemaErrors:c,schemaMode:f,onValidate:p,overrides:m}):se(i)&&(g.value=ye({rulesDef:i,state:a,customMessages:o?.(),storage:h,options:n,externalErrors:_,initialState:e,originalState:t,shortcuts:s,fieldName:void 0,path:``,cachePath:``,schemaMode:f,schemaErrors:c,onValidate:p,overrides:m})),r()&&l(()=>{g.value?.$unwatch(),b?.(),y?.()}),u({regle:g})}function Ee({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),p=i(re,void 0)??{},m={...p.modifiers,...o},g=()=>({...p.rules?.(),...s?.()}),_={...p.shortcuts,...c},v={...p.overrides,...l},b={...m,...r},S,C=f(u??{});typeof n==`function`&&(S=y(()=>{C.value=n(t),h(C)}));let w=d(x(t.value)?{...j(t.value)}:j(t.value)),T=x(t.value)?{...j(t.value)}:j(t.value);return J(()=>{S?.()}),Te({scopeRules:C,state:t,options:b,initialState:w,originalState:T,customRules:g,shortcuts:_,overrides:v})}function De(e){let{rules:t,modifiers:n={},shortcuts:r,overrides:i}=e??{};function o(e,o,s){return{r$:Ee({state:a(e)?e:d(e),rulesFactory:o,options:s,globalOptions:n,customRules:t,shortcuts:r,overrides:i}).regle}}return o}const Oe=De();function ke(){function e(e,t){return t}return e}const Ae=ke();function je(e,t){return S(g(e).$errors,String(t))}function Me(e,t){return S(g(e).$issues,String(t))}function Ne(e){let t={};if(Object.entries(e).some(([e,t])=>$(t)||typeof t==`function`))return null;for(let n in e){let r=e[n];r&&x(r)&&`$each`in r&&r.$each&&x(r.$each)?t[n]=[Ne(r.$each)]:x(r)&&!O(r)&&!Object.entries(r).some(([e,t])=>$(t)||typeof t==`function`)?t[n]=Ne(r):t[n]=null}return t}function Pe(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);return Ee({state:d(Ne(c?.value)),rulesFactory:c,options:s,globalOptions:r,customRules:n,shortcuts:i,overrides:o}).regle}return s}const Fe=Pe();function Ie(e){if(D(e)){let t=e,n=class extends t{constructor(...e){return super(...e),Le(this)}};return Object.defineProperty(n,`name`,{value:t.name}),Le(n)}return Le(e)}function Le(e){return!T(e,ie.REGLE_STATIC)&&Object.isExtensible(e)&&E(e,ie.REGLE_STATIC,!0),e}function Re({rules:e,modifiers:t,shortcuts:n,overrides:r}){let i=De({rules:e,modifiers:t,shortcuts:n,overrides:r}),a=Pe({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:ke(),useRules:a}}function ze(e,{rules:t,modifiers:n,shortcuts:r,overrides:i}){let a=e.__config??{},o=()=>({...a.rules?.(),...t?.()}),s=a.modifiers&&n?C(a.modifiers,n):a.modifiers??n,c=a.shortcuts&&r?C(a.shortcuts,r):a.shortcuts??r,l=a.overrides&&i?C(a.overrides,i):a.overrides??i,u=De({rules:o,modifiers:s,shortcuts:c,overrides:l});return u.__config={rules:o,modifiers:s,shortcuts:c,overrides:l},{useRegle:u,inferRules:ke()}}function Be(e){return e}function Ve(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)}),b=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(){Object.values(t).forEach(e=>{e.$clearExternalErrors()})}async function E(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 D=u({...!r&&{$silentValue:a},$errors:g,$issues:m,$silentIssues:h,$silentErrors:_,$instances:x,$value:i,$dirty:o,$anyDirty:s,$invalid:c,$correct:l,$error:d,$pending:p,$ready:f,$edited:v,$anyEdited:b,$reset:S,$touch:C,$validate:E,$extractDirtyFields:w,$clearExternalErrors:T});return y(()=>{if(!r){for(let e of Object.keys(D).filter(e=>!e.startsWith(`$`)&&!e.startsWith(`~`)))delete D[e];for(let[e,t]of Object.entries(x.value))Object.assign(D,{[e]:t})}}),D}function He(t,n){function r(r){let i=e(()=>m(r)),a=u({});c();let o=d(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]={})}))}v(i,c),v(t,e=>{o.value=l(e)},{deep:!0});function l(e){return i.value?typeof i.value==`string`?Ve(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})})}),Ve(a,!n.asRecord)):Ve(e[`~~global`]??{},!n.asRecord)}return{r$:s.r$}}return{useCollectScope:r}}function Ue(t,r){let i=r??Oe;return{useScopedRegle:((r,a,o)=>{let{namespace:s,scopeKey:l,id:u,...f}=o??{};i.__config??={};let p=e(()=>u??l),h=e(()=>m(s)),g=d(`${Object.keys(t.value).length+1}-${q()}`),_=e(()=>p.value??`instance-${g.value}`),{r$:y}=i(r,a,{...f,id:p.value});x(),J(b),v(h,(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??h.value;n?t.value[n]&&delete t.value[n][_.value]:t.value[`~~global`][_.value]&&delete t.value[`~~global`][_.value]}function x(){h.value?(t.value[h.value]||(t.value[h.value]={}),t.value[h.value][_.value]=y):(t.value[`~~global`]||(t.value[`~~global`]={}),t.value[`~~global`][_.value]=y)}return{r$:y,dispose:b,register:x}})}}function We(e){let t=(e?.customStore?()=>(e.customStore&&(e.customStore?.value[`~~global`]?e.customStore?.value&&(e.customStore.value={"~~global":{}}):e.customStore.value[`~~global`]={}),e.customStore):Y(()=>d({"~~global":{}})))(),{useScopedRegle:n}=Ue(t,e?.customUseRegle),{useCollectScope:r}=He(t,{asRecord:e?.asRecord});return{useScopedRegle:n,useCollectScope:r}}const{useCollectScope:Ge,useScopedRegle:Ke}=We(),qe=Ge,Je=Ke;function Ye(t,n,r){let i=e(()=>m(t)[n]);return e(()=>r.find(e=>{if(e[n]&&`literal`in e[n]){let t=e[n].literal;if($(t))return g(t._params?.[0])===i.value}})||r.find(e=>x(e[n])&&!Object.keys(e[n]).some(e=>e===`literal`))||{})}function Xe(e,t,n){return!!e&&t in e&&x(e[t])&&`$value`in e[t]&&e[t]?.$value===n}function Ze(e,t,n,r){let i=a(e)?p(e.value,`$fields`):p(e,`$fields`),o=d();return v(i,async()=>{await s(),Xe(i.value,t,n)?o.value=p(e).value:o.value=void 0},{immediate:!0,flush:`pre`}),o}function Qe(e){return e}function $e(e,t){return n=>C({...e},t(n))}const et={install(e,t){e.provide(Q,we),t&&e.provide(re,t)}};export{L as InternalRuleType,et as RegleVuePlugin,H as createRule,We as createScopedUseRegle,Ye as createVariant,Re as defineRegleConfig,Be as defineRegleOptions,Qe as defineRules,ze as extendRegleConfig,he as flatErrors,je as getErrors,Me as getIssues,Ae as inferRules,Ie as markStatic,Ve as mergeRegles,Xe as narrowVariant,$e as refineRules,R as unwrapRuleParameters,qe as useCollectScope,Oe as useRegle,Te as useRootStorage,Fe as useRules,Je as useScopedRegle,Ze 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,ref as d,shallowRef as f,toRef as p,toValue as m,triggerRef as h,unref as g,version as _,watch as v,watchEffect as y}from"vue";function b(e){return e?.constructor?.name==`File`}function x(e){return e&&(e instanceof Date||e.constructor.name==`File`||e.constructor.name==`FileList`)?!1:typeof e==`object`&&!!e&&!Array.isArray(e)}function S(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 C(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 w(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 T(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function E(e,t,n,r=!1){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})}function D(e){return typeof e==`function`&&!!e.prototype&&`constructor`in e.prototype&&e.prototype.constructor===e}function O(e,t=!0,n=!0){return e==null?!0:e instanceof Date?isNaN(e.getTime()):b(e)?e.size<=0:Array.isArray(e)?t?e.length===0:!1:x(e)?e==null?!0:n?Object.keys(e).length===0:!1:!String(e).length}const k=Symbol(`regle-rule`);function A(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 j(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=>j(e,t++)))),r==`Map`&&(n=new Map([...e].map(e=>[j(e[0]),j(e[1])]))),r==`Date`&&(n=new Date(e.getTime())),r==`RegExp`&&(n=RegExp(e.source,A(e))),r==`Array`||r==`Object`)for(let r in n=Array.isArray(e)?[]:{},e)n[r]=j(e[r],t++);return n}function M(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 N(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 P(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(!P(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(x(e)&&x(t)&&s&&(r||!r&&n)&&!P(e[s],t[s],n,!1))return!1}return!0}return e!==e&&t!==t}var F=class extends Error{constructor(e=`Promise was aborted`){super(e),this.name=`AbortError`}};function I(e){let t=new AbortController,{signal:n}=t,r=new Promise((t,r)=>{function i(){r(new F)}n.addEventListener(`abort`,i),e.then(e=>{n.removeEventListener(`abort`,i),n.aborted?r(new F):t(e)}).catch(e=>{n.removeEventListener(`abort`,i),n.aborted?r(new F):r(e)})});function i(e){t.abort(e)}return{promise:r,abort:i,signal:n}}const L={Inline:`__inline`,Async:`__async`};function R(e){try{return e.map(e=>m(e))}catch{return[]}}function z(t){return t.map(t=>t instanceof Function?e(t):a(t)?t:p(()=>t))}function B(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 V(e,...t){let{validator:n,type:r,async:i}=e,a=i||r===L.Async||n.constructor.name===`AsyncFunction`;return o({validator(n,...r){return e.validator(n,...R(r.length?r:t))},message(n){return typeof e.message==`function`?e.message({...n,$params:R(n?.$params?.length?n.$params:t)}):e.message},active(n){return typeof e.active==`function`?e.active({...n,$params:R(n?.$params?.length?n.$params:t)}):e.active??!0},tooltip(n){return typeof e.tooltip==`function`?e.tooltip({...n,$params:R(n?.$params?.length?n.$params:t)}):e.tooltip??[]},exec(n){let r=e.validator(n,...R(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:z(t),_brand:k})}function H(e){if(typeof e.validator==`function`){let t=[],n=e.async??e.validator.constructor.name===`AsyncFunction`,r=V({...e,async:n},...t);if(B(e.validator)>1){let t=function(...t){return V(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`)}function U(e){return x(e.value)}function W(e,n,r){let i=t(),a;return a=e instanceof Function?i.run(()=>e(n,r??0)):e,{scope:i,unwrapped:a}}const G={LessThan:-1,EqualTo:0,GreaterThan:1};function K(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 G.GreaterThan;if(i>t)return G.LessThan;if(!isNaN(t)&&isNaN(i))return G.GreaterThan;if(isNaN(t)&&!isNaN(i))return G.LessThan}return G.EqualTo}const ee=K(_,`3.5.0`)!==-1;function te(){return Math.floor(Math.random()*Date.now()).toString()}function q(){return typeof window>`u`?te():window.crypto.getRandomValues(new Uint32Array(1))[0].toString(10)}function J(e){return r()?(l(e),!0):!1}function Y(e){let n=!1,r,i=t(!0);return((...t)=>(n||=(r=i.run(()=>e(...t)),!0),r))}function X(e,t){return e.some(e=>t?e?.[t]:!1)}function Z(e,t){return t?e.reduce((e,n)=>{let r=n?.[t]||[];return e.concat(r)},[]):[]}function ne(){let e=f(new Map),t=f(new Map),n=f(new Map),i=f(new Map),a=f(new Map),o=f(new Map);function s(e){let n=t.value.get(e);if(n)return n;{let n=d({});return t.value.set(e,n),n}}function c(e){let t=n.value.get(e);if(t)return t;{let t=d([]);return n.value.set(e,t),t}}function u(e,t,n){o.value.set(`${e}-${t}`,n)}function p(e,t){return o.value.get(`${e}-${t}`)}function m(e,t){e&&t!=null&&o.value.delete(`${e}-${t}`)}function h(e,t){i.value.set(e,t)}function g(e){return i.value.get(e)??!1}function _(t,n){e.value.set(t,n)}function v(t,n){let r=e.value.get(t);if(r)return y(n,r)?{valid:!0}:{valid:!1}}function y(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];return!i||!r||typeof r==`function`||typeof i==`function`||typeof r==`number`||typeof r==`boolean`||typeof r==`string`?!1:r._params?r._params?.every((e,t)=>{if(typeof i==`number`||typeof i==`boolean`||typeof i==`string`)return!0;{let e=R(i._params),n=R(r._params);return e?.[t]===n?.[t]}}):!0})}function b(e){let t=a.value.get(e);if(t)return t;{let t=d(!1),n=d(!0),r=d({}),i=d(!1);return a.value.set(e,{$pending:t,$valid:n,$metadata:r,$validating:i}),{$pending:t,$valid:n,$metadata:r,$validating:i}}}return r()&&l(()=>{e.value.clear(),t.value.clear(),n.value.clear(),i.value.clear(),a.value.clear(),o.value.clear()}),{addRuleDeclEntry:_,setDirtyEntry:h,checkRuleDeclEntry:v,getDirtyState:g,trySetRuleStatusRef:b,getFieldsEntry:s,getCollectionsEntry:c,getArrayStatus:p,addArrayStatus:u,deleteArrayStatus:m,arrayStatusStorage:o}}const Q=Symbol(`regle`),re=Symbol(`regle-config`),ie={REGLE_STATIC:`__regle_static`};function ae(e,t){return!le(e.value)&&(U(e)||x(t.value)&&!O(t.value)&&!Object.entries(t.value).some(([e,t])=>$(t)||typeof t==`function`))}function oe(e,t){return!!e.value&&x(e.value)&&`$each`in e.value||Array.isArray(t.value)}function se(e){return!!e.value&&(x(e.value)||U(e.value))}function $(e){return(x(e)||typeof e==`function`)&&`_validator`in e}function ce(e){return typeof e.value==`function`?`_validator`in e.value:!0}function le(e){return x(e)&&T(e,ie.REGLE_STATIC)&&e[ie.REGLE_STATIC]===!0}function ue(e){return x(e)&&`$fields`in e}function de(e){return!!e&&`$rules`in e}function fe({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?e.$externalErrors.map(t=>({$message:t,$property:e.fieldName,$rule:`external`,$type:void 0})):[],i=[];return e.$schemaErrors&&e.$error&&(i=!Array.isArray(e.$schemaErrors)&&`$self`in e.$schemaErrors?e.$schemaErrors.$self??[]:e.$schemaErrors??[]),[...n,...r,...i]}function pe({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 me(e){return x(e)&&`$each`in e}function he(e,t){let{includePath:n=!1}=t??{};if(Array.isArray(e)&&e.every(e=>!x(e)))return e;if(me(e)){let t=n?e.$self?.map(e=>({message:e,path:[]}))??[]:e.$self??[],r=e.$each?.map(e=>ge(e,n))??[];return t?.concat(r.flat())}else return Object.entries(e).map(([e,t])=>ge(t,n,[e])).flat()}function ge(e,t=!1,n){let r=t&&!n?[]:n;if(Array.isArray(e)&&e.every(e=>!x(e)))return t?e.map(e=>({message:e,path:r??[]})):e;if(me(e)){let n=r?.length?e.$self?.map(e=>({message:e,path:r??[]}))??[]:e.$self??[],i=e.$each?.map((e,n)=>ge(e,t,r?.concat(n)))??[];return n?.concat(i.flat())}else return Object.entries(e).map(([e,n])=>ge(n,t,r?.concat(e))).flat()}function _e({customMessages:n,rule:r,ruleKey:i,state:a,path:o,cachePath:s,storage:c,modifiers:l}){let f=t(),p={},m,h=e(()=>$(r.value)&&r.value._async),g=d(!1),{$pending:_,$valid:y,$metadata:b,$validating:x}=c.trySetRuleStatusRef(`${s}.${i}`);function S(){f=t(),p=f.run(()=>{let t=d(!1),s=d(!1),c=d(!0),l=d(!1),u=d(!1),f=e(()=>({$value:a.value,$error:s.value,$dirty:t.value,$pending:l.value,$correct:u.value,$invalid:c.value,$rule:{$valid:y.value,$invalid:!y.value,$pending:_.value},$params:S.value,...b.value})),p=e(()=>{try{return ce(r)?typeof r.value.active==`function`?r.value.active(f.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(f.value):a),ce(r)){let n=`_${e}_patched`;a&&!r.value[n]||(t=typeof r.value[e]==`function`?r.value[e](f.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 O(e)&&(e=`This field is not valid`),e}),g=e(()=>m(`tooltip`)),v=e(()=>ce(r)&&r.value.type?r.value.type:i),x=e(()=>ce(r)?r.value.validator:r.value),S=e(()=>typeof r.value==`function`?[]:R(r.value._params??[]));return{$active:p,$message:h,$type:v,$validator:x,$params:S,$path:e(()=>`${o}.${i}`),$tooltip:g,$fieldCorrect:u,$fieldError:s,$fieldDirty:t,$fieldPending:l,$fieldInvalid:c}}),m=v(p?.$params,()=>{(!l.$silent.value||l.$rewardEarly.value&&p.$fieldError.value)&&E()},{deep:ee?1:!0})}S();function C(){y.value=!0,p.$fieldDirty.value&&(_.value=!0)}async function w(){let e=!1;try{let t=p.$validator.value;if(typeof t!=`function`)return console.error(`${o}: Incorrect rule format, it needs to be either a function or created with "createRule".`),!1;let n=t(a.value,...p.$params.value),r=a.value;C();let i;if(i=n instanceof Promise?await n:n,a.value!==r)return!0;if(typeof i==`boolean`)e=i;else{let{$valid:t,...n}=i;e=t,b.value=n}}catch{e=!1}finally{_.value=!1}return e}function T(e,t=!0){if($(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 b.value=t,e}}return!0}async function E(){try{x.value=!0;let e=!1;if(g.value=!0,$(r.value)&&r.value._async)e=await w();else{let t=p.$validator.value;e=T(t)}return y.value=e,e}catch{return!1}finally{x.value=!1,g.value=!1}}function D(){try{return x.value=!0,T(p.$validator.value)}catch{return!1}finally{x.value=!1}}function k(){y.value=!0,b.value={},_.value=!1,x.value=!1,S()}function A(){m(),f.stop(),f=t()}return u({...p,$pending:_,$valid:y,$metadata:b,$haveAsync:h,$maybePending:g,$validating:x,$parse:E,$parseSync:D,$unwatch:A,$watch:S,$reset:k})}function ve(e){return{"~standard":{version:1,vendor:`regle`,validate:async t=>{let{valid:n,data:r,errors:i}=await e(t);return n?{value:r,issues:[]}:{issues:he(i,{includePath:!0})}}}}}function ye({state:n,rulesDef:r,customMessages:i,path:a,cachePath:o,fieldName:s,storage:c,options:l,externalErrors:f,schemaErrors:m,schemaMode:h,onUnwatch:_,$isArray:b,initialState:S,originalState:C,shortcuts:w,overrides:T,onValidate:E}){let D=t(),k,A=[],F,L,R,z,B=()=>{},V,H=()=>{},U=d(!1);function W(){let e=r.value,t=c.checkRuleDeclEntry(o,e),s={};for(let t in e)t.startsWith(`$`)&&(s[t]=e[t]);Z.value=s,q();let l=r.value,u=[];for(let e in l){if(e.startsWith(`$`)||e.startsWith(`~`))continue;let t=l[e];if(!t)continue;let r=p(()=>t);u.push([e,_e({modifiers:{$silent:k.$silent,$rewardEarly:k.$rewardEarly},customMessages:i,rule:r,ruleKey:e,state:n,path:a,cachePath:o,storage:c,$debounce:Z.value.$debounce})])}X.value=Object.fromEntries(u),k.processShortcuts(),G(),K(),t?.valid!=null&&(k.$dirty.value=c.getDirtyState(o),(k.$dirty.value&&!k.$silent.value||k.$rewardEarly.value&&k.$error.value)&&B()),c.addRuleDeclEntry(o,e)}function G(){B=k.$debounce.value>0?N(Y,k.$debounce.value,{trackDebounceRef:U}):Y}function K(){H=k.$debounce.value>0?N(()=>{k.$dirty.value=!0},k.$debounce.value):()=>{k.$dirty.value=!0}}function te(){if(X.value)for(let e of Object.values(X.value))e.$unwatch();L(),z?.(),k.$dirty.value&&c.setDirtyEntry(o,k.$dirty.value),F?.(),D.stop(),D=t();for(let e of A)e.stop();A=[],_?.(),R?.()}function q(){if(X.value)for(let e of Object.values(X.value))e.$watch();k=D.run(()=>{let i=d(!1),a=d(!1),o=e(()=>i.value),c=e(()=>b||le(n.value)),p=e(()=>Z.value.$debounce==null?k.$haveAnyAsyncRule.value?200:0:Z.value.$debounce),_=e(()=>Z.value.$deepCompare==null?!1:Z.value.$deepCompare),v=e(()=>Z.value.$lazy==null?g(l.lazy)==null?!1:g(l.lazy)===!0:Z.value.$lazy),x=e(()=>Z.value.$immediateDirty==null?g(l.immediateDirty)==null?!1:g(l.immediateDirty)===!0:Z.value.$immediateDirty),C=e(()=>Z.value.$rewardEarly==null?g(l.rewardEarly)==null?!1:g(l.rewardEarly)===!0:!!Z.value.$rewardEarly),E=e(()=>Z.value.$clearExternalErrorsOnChange==null?g(l.clearExternalErrorsOnChange)==null?!D.value:g(l.clearExternalErrorsOnChange)===!0:!!Z.value.$clearExternalErrorsOnChange),D=e(()=>C.value?!0:Z.value.$silent==null?g(l.silent)==null?!1:g(l.silent)===!0:Z.value.$silent),j=e(()=>Z.value.$autoDirty==null?g(l.autoDirty)==null?!0:g(l.autoDirty)===!0:Z.value.$autoDirty),N=e(()=>{if(Z.value.$isEdited!=null)return Z.value.$isEdited;if(T?.isEdited!=null)return T.isEdited}),I=e(()=>{for(let e of Object.values(X.value))if(e.$validating)return!0;return!1}),L=e({get:()=>n.value,set(e){F(),n.value=e,J()}}),R=e(()=>U.value?Y.value&&i.value:Y.value&&!q.value&&i.value),z=e(()=>fe({field:{$rules:X.value,$error:R.value,$externalErrors:f?.value,$schemaErrors:m?.value,fieldName:ne.value}})),B=e(()=>fe({field:{$rules:X.value,$error:R.value,$externalErrors:f?.value,$schemaErrors:m?.value,fieldName:ne.value},silent:!0})),V=e(()=>z.value.map(e=>e.$message)),H=e(()=>B.value.map(e=>e.$message)),W=d(!1);function G(e,t){return t instanceof Date&&e instanceof Date?M(t).getDate()!==M(e).getDate():t==null?!!e:Array.isArray(e)&&Array.isArray(t)?!P(e,t,Z.value.$deepCompare):t!==e}y(()=>{i.value?N.value?W.value=N.value(n.value,S.value,G):W.value=G(n.value,S.value):W.value=!1});let K=e(()=>W.value),ee=e(()=>pe({field:{$rules:X.value}})),te=e(()=>!(Y.value||q.value)),q=e(()=>a.value||!C.value?Object.entries(X.value).some(([e,t])=>t.$pending):!1),Y=e(()=>f?.value?.length||m?.value?.length?!0:Q.value?!1:Object.values(X.value).some(e=>!e.$valid||e.$maybePending)),ne=e(()=>s??l.id??`root`),Q=e(()=>!h&&!Object.keys(r.value).some(e=>!e.startsWith(`$`))),re=e(()=>{if(f?.value?.length||Q.value||U.value)return!1;if(i.value&&!O(n.value)&&!I.value&&!q.value){if(h)return!m?.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}),ie=e(()=>Object.values(X.value).some(e=>e.$haveAsync)),ae=e(()=>({$debounce:p.value,$lazy:v.value,$rewardEarly:C.value,$autoDirty:j.value,$silent:D.value,$clearExternalErrorsOnChange:E.value,$immediateDirty:x.value,$isEdited:N.value}));function oe(){w?.fields&&Object.entries(w.fields).forEach(([e,r])=>{let a=t();se[e]=a.run(()=>{let e=d();return y(()=>{e.value=r(u({$dirty:i,$externalErrors:f?.value??[],$value:n,$silentValue:L,$rules:X,$error:R,$pending:q,$invalid:Y,$correct:re,$errors:V,$ready:te,$silentErrors:H,$anyDirty:o,$tooltips:ee,$name:ne,$inactive:Q,$edited:W,$anyEdited:K}))}),e}),A.push(a)})}let se={};return{$error:R,$pending:q,$invalid:Y,$correct:re,$debounce:p,$deepCompare:_,$lazy:v,$immediateDirty:x,$ready:te,$issues:z,$silentIssues:B,$errors:V,$silentErrors:H,$rewardEarly:C,$autoDirty:j,$silent:D,$clearExternalErrorsOnChange:E,$anyDirty:o,$edited:W,$anyEdited:K,$name:ne,$haveAnyAsyncRule:ie,$shortcuts:se,$validating:I,$tooltips:ee,$dirty:i,processShortcuts:oe,$silentValue:L,$inactive:Q,$modifiers:ae,$isArrayOrRegleStatic:c}}),J(),L=v(k.$dirty,e=>{c.setDirtyEntry(o,e),Object.values(X.value).forEach(t=>{t.$fieldDirty=e})}),z=v([k.$error,k.$correct,k.$invalid,k.$pending],()=>{Object.values(X.value).forEach(e=>{e.$fieldError=k.$error.value,e.$fieldInvalid=k.$invalid.value,e.$fieldPending=k.$pending.value,e.$fieldCorrect=k.$correct.value})}),R=v(k.$haveAnyAsyncRule,G)}function J(){F=v(n,()=>{k.$autoDirty.value&&!k.$silent.value&&(k.$dirty.value||H()),r.value instanceof Function&&W(),(!k.$silent.value||k.$rewardEarly.value&&k.$error.value)&&B(),k.$clearExternalErrorsOnChange.value&&ce()},{deep:k.$isArrayOrRegleStatic.value?!0:ee?1:!0})}async function Y(){try{let{promise:e}=re(Promise.allSettled(Object.values(X.value).map(e=>e.$parse())));await e}catch{}}let X=d({}),Z=d({});W();function ne(e,t){if(Q(),ce(),k.$dirty.value=!1,c.setDirtyEntry(o,!1),!t)if(e?.toOriginalState)n.value=j(C),S.value=j(C);else if(e?.toInitialState)n.value=j(S.value);else if(e?.toState){let t;t=typeof e?.toState==`function`?e?.toState():e?.toState,S.value=j(t),n.value=j(t)}else S.value=x(n.value)&&!le(n.value)?j(n.value):Array.isArray(n.value)?[...n.value]:n.value;if(e?.clearExternalErrors&&ce(),!t&&!e?.keepValidationState)for(let e of Object.values(X.value))e.$reset();if(!k.$lazy.value&&!k.$silent.value&&!t)for(let e of Object.values(X.value))e.$parse()}function Q(){`cancel`in B&&B.cancel()}function re(e){return V&&V.abort(),V=I(e),V}function ie(){Q(),V&&V.abort()}function ae(e=!0,t=!1){k.$dirty.value||H(),t&&e?(!k.$silent.value||k.$rewardEarly.value&&k.$error.value)&&(Q(),B()):e&&(Q(),B())}async function oe(e){try{if(e&&(n.value=e),h)return E?(ae(!1),E()):{valid:!1,data:n.value,errors:k.$errors.value,issues:k.$issues.value};let t=n.value;if(!k.$dirty.value)k.$dirty.value=!0;else if(!k.$silent.value&&k.$dirty.value&&!k.$pending.value&&!U.value&&!k.$haveAnyAsyncRule.value)return{valid:!k.$error.value,data:t,errors:k.$errors.value,issues:k.$issues.value};if(h)return{valid:!m?.value?.length,data:t,errors:k.$errors.value,issues:k.$issues.value};if(O(X.value))return{valid:!0,data:t,errors:k.$errors.value,issues:k.$issues.value};ie();let{promise:r}=re(Promise.allSettled(Object.values(X.value).map(e=>e.$parse())));return{valid:(await r).every(e=>e.status===`fulfilled`&&e.value===!0),data:t,errors:k.$errors.value,issues:k.$issues.value}}catch{return{valid:!1,data:n.value,errors:k.$errors.value,issues:k.$issues.value}}}function se(e){try{return e&&(n.value=e),k.$dirty.value||(k.$dirty.value=!0),h?!1:Object.values(X.value).map(e=>e.$parseSync()).every(e=>!!e)}catch{return!1}}function $(e=!0){return k.$dirty.value?n.value:e?{_null:!0}:null}function ce(){f?.value?.length&&(f.value=[])}!k.$lazy.value&&!k.$dirty.value&&!k.$silent.value&&Y(),k.$immediateDirty.value&&(k.$dirty.value=!0);let{$shortcuts:ue,$validating:de,$autoDirty:me,$rewardEarly:he,$clearExternalErrorsOnChange:ge,$haveAnyAsyncRule:ye,$debounce:be,$lazy:xe,...Se}=k;return u({...Se,$externalErrors:f,$value:n,$initialValue:S,$originalValue:C,$rules:X,...ue,$path:a,$isDebouncing:U,$reset:ne,$touch:ae,$validate:oe,$validateSync:se,$unwatch:te,$watch:q,$extractDirtyFields:$,$clearExternalErrors:ce,$abort:ie,$schemaMode:h,"~modifiers":k.$modifiers,...ve(oe)})}function be({$id:t,path:n,cachePath:r,index:i,options:a,storage:o,stateValue:s,customMessages:c,rules:l,externalErrors:u,schemaErrors:d,initialState:f,originalState:m,shortcuts:h,fieldName:g,schemaMode:_,overrides:v}){let y=s.value?.$id??l.$key??q(),b=`${r}.${String(y)}`,S=`${n}.${i}`;typeof s.value==`object`&&s.value!=null&&(s.value.$id||Object.defineProperties(s.value,{$id:{value:y,enumerable:!1,configurable:!1,writable:!1}}));let C=p(u?.value??[],i),w=e(()=>d?.value?.[i]),T=Ce({index:i,state:s,rulesDef:p(()=>l),customMessages:c,path:S,cachePath:b,storage:o,options:a,externalErrors:C,schemaErrors:w,initialState:f,originalState:m,shortcuts:h,fieldName:g,schemaMode:_,overrides:v});return T&&(T.$id=s.value?.$id??String(y),o.addArrayStatus(t,T.$id,T)),s.value&&(!x(s.value)||le(s.value))&&_&&T?.$touch(),T}function xe({state:n,rulesDef:r,customMessages:i,path:a,cachePath:o,storage:s,options:c,externalErrors:l,schemaErrors:f,schemaMode:m,initialState:h,originalState:_,shortcuts:b,fieldName:x,overrides:S}){let C=t(),w,T=t(),E,D=[];if(!Array.isArray(n.value)&&!r.value.$each)return;let k=d(),A=d(n.value),M=d({}),N,P,F=d({}),I=s.getCollectionsEntry(a);E=T.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=>$(e)||typeof e==`function`):!1:!1)})),L(),V();function L(){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=q(),Object.defineProperties(n.value,{$id:{value:k.value,enumerable:!1,configurable:!1,writable:!1}})):n.value?.$id&&(k.value=n.value.$id)),A.value=F.value.$value,Array.isArray(n.value)&&(!E.isPrimitiveArray.value||m)?I.value=n.value.map((t,n)=>{let{scope:u,unwrapped:d}=W(r.value.$each,p(()=>t),n);u&&D.push(u);let g=p(h.value??[],n),v=p(l?.value??{},`$each`),y=e(()=>f?.value?.$each);return be({$id:k.value,path:a,cachePath:o,customMessages:i,rules:d??{},stateValue:p(()=>t),index:n,options:c,storage:s,externalErrors:v,schemaErrors:y,initialState:g,originalState:_,shortcuts:b,fieldName:x,schemaMode:m,overrides:S})||null}).filter(e=>!!e):I.value=[],F.value=ye({state:n,rulesDef:r,customMessages:i,path:a,cachePath:a,storage:s,options:c,externalErrors:p(l?.value??{},`$self`),schemaErrors:e(()=>f?.value?.$self),$isArray:!0,initialState:h,originalState:_,shortcuts:b,fieldName:x,schemaMode:m,overrides:S})}function R(){if(Array.isArray(n.value)&&(!E.isPrimitiveArray.value||m)){let t=j(I.value);I.value=n.value.map((t,n)=>{let o=p(()=>t);if(t.$id&&I.value.find(e=>e.$id===t.$id)){let e=s.getArrayStatus(k.value,t.$id);return e?(e.$value=o,e):null}else{let{scope:t,unwrapped:u}=W(r.value.$each,o,n);t&&D.push(t);let d=p(l?.value??{},`$each`),g=e(()=>f?.value?.$each??[]);return be({$id:k.value,path:a,cachePath:a,customMessages:i,rules:u??{},stateValue:o,index:n,options:c,storage:s,externalErrors:d,schemaErrors:g,initialState:p(h.value??[],n),originalState:_,shortcuts:b,fieldName:x,schemaMode:m,overrides:S})||null}}).filter(e=>!!e),t.filter(e=>!n.value?.find(t=>e.$id===t.$id)).forEach((e,t)=>{s.deleteArrayStatus(k.value,t.toString())})}else I.value=[]}function z(){N=v(n,()=>{P?.(),n.value!=null&&!Object.hasOwn(n.value,`$id`)&&!k.value?L():R(),B()},{deep:ee?1:!0,flush:`pre`}),B()}function B(){P=v(n,()=>{w.$autoDirty.value&&!w.$silent.value&&F.value.$touch(!1,!0)},{flush:`post`})}function V(){z(),C=t(),w=C.run(()=>{let r=e({get:()=>n.value,set(e){N?.(),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(()=>(m?F.value.$correct:O(F.value.$rules)?!0:F.value.$correct)&&(!I.value.length||I.value.every(e=>e.$correct||e.$anyDirty&&!e.$invalid))),f=e(()=>F.value.$error||I.value.some(e=>e.$error)),p=e(()=>!(s.value||v.value)),v=e(()=>F.value.$pending||I.value.some(e=>e.$pending)),C=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)})),k=e(()=>({$self:F.value.$silentErrors,$each:I.value.map(e=>e.$silentErrors)})),A=e(()=>M.value.$rewardEarly==null?g(c.rewardEarly)==null?!1:g(c.rewardEarly)===!0:M.value.$rewardEarly),j=e(()=>A.value?!0:M.value.$silent==null?g(c.silent)==null?!1:g(c.silent)===!0:M.value.$silent),L=e(()=>M.value.$autoDirty==null?g(c.autoDirty)==null?!0:g(c.autoDirty)===!0:M.value.$autoDirty),R=e(()=>M.value.$immediateDirty==null?g(c.immediateDirty)==null?!1:g(c.immediateDirty)===!0:M.value.$immediateDirty),B=e(()=>{if(M.value.$isEdited!=null)return M.value.$isEdited;if(S?.isEdited!=null)return S.isEdited}),V=e(()=>x??c.id??`root`),H=e(()=>({$deepCompare:M.value.$deepCompare??!1,$debounce:M.value.$debounce??0,$lazy:M.value.$lazy??!1,$rewardEarly:A.value,$autoDirty:L.value,$silent:j.value,$clearExternalErrorsOnChange:M.value.$clearExternalErrorsOnChange??!1,$immediateDirty:R.value,$isEdited:B.value}));function U(){b?.collections&&Object.entries(b?.collections).forEach(([e,c])=>{let m=t();W[e]=m.run(()=>{let e=d();return y(()=>{e.value=c(u({$dirty:i,$error:f,$path:a,$silentValue:r,$pending:v,$invalid:s,$correct:l,$errors:E,$silentErrors:k,$initialValue:h,$originalValue:_,$ready:p,$anyDirty:o,$name:V,$each:I,$self:F,$value:n,$edited:C,$anyEdited:w,$issues:T}))}),e}),D.push(m)})}let W={};return U(),{$dirty:i,$anyDirty:o,$invalid:s,$correct:l,$error:f,$pending:v,$errors:E,$silentErrors:k,$ready:p,$name:V,$shortcuts:W,$silentValue:r,$edited:C,$anyEdited:w,$rewardEarly:A,$silent:j,$autoDirty:L,$issues:T,$modifiers:H}}),E.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(){N?.(),F.value&&F.value.$unwatch(),I.value&&I.value.forEach(e=>{`$dirty`in e&&e.$unwatch()}),C.stop(),C=t(),T.stop(),T=t(!0),D.forEach(e=>e.stop()),D=[]}function U(e=!0,t=!1){F.value.$touch(e,t),I.value.forEach(n=>{n.$touch(e,t)})}function G(e,t){if(H(),!t)if(e?.toOriginalState)n.value=j(_),h.value=j(_);else if(e?.toInitialState)n.value=j(h.value);else if(e?.toState){let t;t=typeof e?.toState==`function`?e?.toState():e?.toState,h.value=j(t),n.value=j(t)}else h.value=j(n.value);e?.clearExternalErrors&&Y(),e?.keepValidationState||(F.value.$reset(e,t),I.value.forEach(t=>{t.$reset(e,!0)})),t||L()}function K(){F.value.$abort(),I.value.forEach(e=>{e.$abort()})}async function te(e){e&&(n.value=e);let t=n.value;try{return K(),{valid:(await Promise.allSettled([F.value.$validate(e),...I.value.map(e=>e.$validate())])).every(e=>e.status===`fulfilled`?e.value.valid===!0:!1),data:t,errors:w.$errors.value,issues:w.$issues.value}}catch{return{valid:!1,data:t,errors:w.$errors.value,issues:w.$issues.value}}}function J(e){e&&(n.value=e);try{return[F.value.$validateSync(e),...I.value.map(e=>e.$validateSync())].every(e=>!!e)}catch{return!1}}function Y(){F.value.$clearExternalErrors(),I.value.forEach(e=>{e.$clearExternalErrors()})}function X(e=!0){let t=I.value.map(t=>{if(ue(t))return t.$extractDirtyFields(e)});return e&&t.every(e=>O(e))&&(t=[]),t}let{$shortcuts:Z,...ne}=w;return u({$self:F,...ne,...Z,$path:a,$each:I,$value:n,$initialValue:h,$originalValue:_,$validate:te,$validateSync:J,$unwatch:H,$watch:V,$touch:U,$reset:G,$abort:K,$extractDirtyFields:X,$clearExternalErrors:Y,"~modifiers":w.$modifiers,...ve(te)})}function Se({rulesDef:n,state:r,path:i=``,cachePath:a,rootRules:o,externalErrors:s,schemaErrors:c,rootSchemaErrors:l,validationGroups:f,initialState:m,originalState:h,fieldName:_,...b}){let S=t(),C,w=[],T=null,E=null,D=null,k=null,A=d(void 0);async function M(t=!0){let o=Object.entries(n.value).filter(([e])=>e!==`$self`),l=Object.fromEntries(o.reduce((t,[n,o])=>{if(!o)return t;let l=p(r.value??{},n),u=p(()=>o),d=p(s?.value??{},n),f=e(()=>c?.value?.[n]),g=p(m?.value??{},n);return t.push([n,Ce({state:l,rulesDef:u,path:i?`${i}.${n}`:n,cachePath:a?`${a}.${n}`:n,externalErrors:d,schemaErrors:f,initialState:g,originalState:h?.[n],fieldName:n,...b})]),t},[])),u=Object.fromEntries(Object.entries(g(s)??{}).filter(([e,t])=>!(e in n.value)&&!!t).map(([t])=>{let n=p(r.value??{},t),o=p(s?.value??{},t),l=e(()=>c?.value?.[t]),u=p(m?.value??{},t),d=i?`${i}.${t}`:t,f=a?`${a}.${t}`:t;return[t,Ce({state:n,rulesDef:e(()=>({})),path:d,cachePath:f,externalErrors:o,schemaErrors:l,initialState:u,originalState:h?.[t],fieldName:t,...b})]})),d=Object.fromEntries(Object.entries(g(c)??{}).map(([t])=>{let n=i?`${i}.${t}`:t,o=a?`${a}.${t}`:t,l=p(r.value??{},t),u=p(s?.value??{},t),d=e(()=>c?.value?.[t]),f=p(m?.value??{},t);return[t,Ce({state:l,rulesDef:e(()=>({})),path:n,cachePath:o,externalErrors:u,schemaErrors:d,initialState:f,originalState:h?.[t],fieldName:t,...b})]})),f=Object.fromEntries(Object.entries(r.value??{}).filter(([e])=>!(e in n.value)&&!(e in(u??{}))&&!(e in(d??{}))).map(([t])=>{let n=p(r.value??{},t),o=p(s?.value??{},t),l=e(()=>c?.value?.[t]),u=p(m?.value??{},t);return[t,Ce({state:n,rulesDef:e(()=>({})),path:i?`${i}.${t}`:t,cachePath:a?`${a}.${t}`:t,externalErrors:o,schemaErrors:l,initialState:u,originalState:h?.[t],fieldName:t,...b})]}));P.value={...l,...u,...d,...f},t&&L()}function N(){n.value.$self&&(A.value=ye({state:r,rulesDef:e(()=>n.value.$self??{}),path:i,cachePath:a,externalErrors:d(void 0),schemaErrors:d(void 0),initialState:p(m?.value??{},`$self`),originalState:h?.$self,fieldName:`$self`,...b}))}let P=b.storage.getFieldsEntry(a);M(),N();function F(){s&&(D=v(s,()=>{R(),M()},{deep:!0}))}function I(){k=v(r,()=>{R(),M(),C.$autoDirty.value&&!C.$silent.value&&V(!1,!0)},{flush:`post`})}function L(){o&&(T?.(),T=v(o,()=>{R(),M()},{deep:!0,flush:`pre`}),F()),l&&(E?.(),E=v(l,()=>{R(),M()},{deep:!0,flush:`post`})),I(),C=S.run(()=>{let a=e({get:()=>r.value,set(e){R(),r.value=e,M(),C.$autoDirty.value&&!C.$silent.value&&V(!1,!0)}}),o=e({get:()=>r.value,set(e){R(),r.value=e,M()}}),s=e(()=>{let e=P.value,t=Object.keys(e);if(!t.length)return!1;for(let n of t)if(!e[n]?.$dirty)return!1;return!0}),c=e(()=>{let e=P.value;for(let t in e)if(e[t]?.$anyDirty)return!0;return!1}),l=e(()=>{if(A.value?.$invalid)return!0;let e=P.value,t=Object.entries(e);if(!t.length)return!1;for(let[e,n]of t)if(n?.$invalid)return!0;return!1}),p=e(()=>{let e=Object.entries(P.value).reduce((e,[t,n])=>((!de(n)||!n.$inactive)&&e.push([t,n]),e),[]),t=n.value.$self&&!O(n.value.$self);if(e.length||t){let t=A.value?.$correct??!0,n=!1;return n=b.schemaMode?e.every(([e,t])=>t.$correct):e.every(([e,t])=>de(t)?`required`in t.$rules&&t.$rules.required.$active?t.$correct:!t.$invalid&&!t.$pending&&!t.$isDebouncing:t?.$correct),t&&n}return!1}),v=e(()=>{if(A.value?.$error)return!0;let e=P.value;if(!Object.keys(e).length)return!1;for(let t in e)if(e[t]?.$error)return!0;return!1}),x=e(()=>g(b.options.rewardEarly)==null?!1:g(b.options.rewardEarly)),S=e(()=>g(b.options.silent)==null?!!x.value:g(b.options.silent)===!0),T=e(()=>g(b.options.autoDirty)==null?!0:g(b.options.autoDirty)===!0),E=e(()=>g(b.options.immediateDirty)==null?!1:g(b.options.immediateDirty)===!0),D=e(()=>g(b.options.lazy)==null?!1:g(b.options.lazy)===!0),k=e(()=>g(b.options.clearExternalErrorsOnChange)==null?!1:g(b.options.clearExternalErrorsOnChange)===!0),j=e(()=>!(l.value||F.value)),N=d(!1),F=e(()=>{if(A.value?.$pending||N.value)return!0;let e=P.value;for(let t in e)if(e[t]?.$pending)return!0;return!1}),I=e(()=>{let e={...A.value&&{$self:A.value?.$issues??[]}};for(let t in P.value)e[t]=P.value[t]?.$issues;return e}),L=e(()=>{let e={...A.value&&{$self:A.value?.$errors??[]}};for(let t in P.value)e[t]=P.value[t]?.$errors;return e}),z=e(()=>{let e={...A.value&&{$self:A.value?.$silentErrors??[]}};for(let t in P.value)e[t]=P.value[t]?.$silentErrors;return e}),B=e(()=>{if(A.value?.$edited)return!0;if(!Object.keys(P.value).length)return!1;for(let e in P.value)if(!P.value[e]?.$edited)return!1;return!0}),H=e(()=>{if(A.value?.$anyEdited)return!0;for(let e in P.value)if(P.value[e]?.$anyEdited)return!0;return!1}),U=e(()=>_??b.options.id??`root`),W=e(()=>({autoDirty:T.value,lazy:D.value,rewardEarly:x.value,silent:S.value,clearExternalErrorsOnChange:k.value,immediateDirty:E.value,id:g(b.options.id)}));function G(){b.shortcuts?.nested&&Object.entries(b.shortcuts.nested).forEach(([e,n])=>{let a=t();ee[e]=a.run(()=>{let e=d();return y(()=>{e.value=n(u({$dirty:s,$path:i,$value:r,$silentValue:o,$error:v,$originalValue:h,$pending:F,$invalid:l,$correct:p,$ready:j,$anyDirty:c,$name:U,$silentErrors:z,$initialValue:m,$errors:L,$fields:P,$edited:B,$anyEdited:H,$issues:I,$self:A,"~modifiers":g(b.options)}))}),e}),w.push(a)})}let K=e({get:()=>f?Object.fromEntries(Object.entries(f?.(P.value)??{}).map(([e,t])=>t.length?[e,{...Object.fromEntries([`$invalid`,`$error`,`$pending`,`$dirty`,`$correct`].map(e=>[e,X(t,e)])),...Object.fromEntries([`$errors`,`$silentErrors`].map(e=>[e,Z(t,e)]))}]:[])):{},set(){}}),ee={};return G(),{$dirty:s,$anyDirty:c,$invalid:l,$correct:p,$error:v,$pending:F,$issues:I,$errors:L,$silentErrors:z,$ready:j,$name:U,$shortcuts:ee,$groups:K,$silentValue:o,$edited:B,$anyEdited:H,$localPending:N,$autoDirty:T,$silent:S,$value:a,$modifiers:W}})}function R(){if(T?.(),D?.(),k?.(),E?.(),w=[],C={},P.value)for(let e of Object.values(P.value))e?.$unwatch()}function z(){let e=P.value;for(let t of Object.values(e))t.$clearExternalErrors();A.value?.$clearExternalErrors()}function B(e,t){if(D?.(),R(),!t)if(e?.toOriginalState)r.value=j({...h}),m.value=j({...h});else if(e?.toInitialState)r.value=j({...m.value});else if(e?.toState){let t;t=typeof e?.toState==`function`?e?.toState():e?.toState,m.value=j(t),r.value=j(t)}else m.value=j(r.value);if(!e?.keepValidationState){for(let t of Object.values(P.value))t?.$reset(e,!0);A.value?.$reset(e,!0)}e?.clearExternalErrors&&z(),F(),t||M()}function V(e=!0,t=!1){for(let n of Object.values(P.value))n?.$touch(e,t);A.value?.$touch(e,t)}function H(e){return e.filter(([e,t])=>x(t)&&!le(t)?!(t&&typeof t==`object`&&`_null`in t)&&!O(t):Array.isArray(t)?t.length:!0)}function U(e=!0){let t=Object.entries(P.value).map(([t,n])=>[t,n.$extractDirtyFields(e)]);return e&&(t=H(t)),Object.fromEntries(t)}function W(){for(let e of Object.values(P.value))e.$abort();A.value?.$abort()}async function G(e){try{if(e&&(r.value=e),b.schemaMode)return b.onValidate?(V(!1),C.$localPending.value=!0,b.onValidate()):{valid:!1,data:r.value,errors:C.$errors.value,issues:C.$issues.value};{let e=r.value;W();let t=[...Object.values(P.value).map(e=>e.$validate()),...A.value?[A.value?.$validate()]:[]];return{valid:(await Promise.allSettled(t)).every(e=>e.status===`fulfilled`&&e?.value?.valid===!0),data:e,errors:C.$errors.value,issues:C.$issues.value}}}catch{return{valid:!1,data:r.value,errors:C.$errors.value,issues:C.$issues.value}}finally{C.$localPending.value=!1}}function K(e){try{return e&&(r.value=e),[...Object.values(P.value).map(e=>e.$validateSync()),...A.value?[A.value?.$validateSync()]:[]].every(e=>!!e)}catch{return!1}}let{$shortcuts:ee,$localPending:te,...q}=C,J=u({...q,...ee,$path:i,$initialValue:m,$originalValue:h,$self:A,$externalErrors:s,$fields:P,$reset:B,$touch:V,$validate:G,$unwatch:R,$watch:L,$clearExternalErrors:z,$extractDirtyFields:U,$abort:W,$validateSync:K,...o?{"~modifiers":C.$modifiers}:{},...ve(G)});return y(()=>{for(let e of Object.keys(J).filter(e=>!e.startsWith(`$`)&&!e.startsWith(`~`)))delete J[e];for(let e of Object.values(P.value))e?.$name&&Object.assign(J,{[e.$name]:e})}),J}function Ce({rulesDef:e,...n}){if(oe(e,n.state))return xe({rulesDef:e,...n});if(ae(n.state,e)){if(U(n.state))return Se({rulesDef:e,...n});{let r=t().run(()=>{let e=p(n.state.value?n.state:d({}));return v(()=>n.state.value,t=>{e.value=t},{deep:!0}),v(e,e=>{n.state.value=e},{deep:!0}),{fakeState:e}}),{state:i,...a}=n;return Se({rulesDef:e,...a,state:r.fakeState})}}else if(se(e))return ye({rulesDef:a(e.value)?e.value:e,...n})}var we=`1.19.0-beta.3`;function Te({initialState:e,originalState:t,options:n,scopeRules:i,state:a,customRules:o,shortcuts:s,schemaErrors:c,schemaMode:f=!1,onValidate:p,overrides:m}){let h=ne(),g=d(),_=d(),y,b;function x(){y=v(()=>n.externalErrors?.value,()=>{b?.(),n.externalErrors?.value&&Object.keys(n.externalErrors.value).some(e=>e.includes(`.`))?_.value=w(n.externalErrors.value):_.value=n.externalErrors?.value,S()},{immediate:!0,deep:!0})}function S(){b=v(()=>_.value,()=>{y?.(),n.externalErrors?.value&&(n.externalErrors.value=_.value),x()},{deep:!0})}return x(),ae(a,i)?g.value=Se({rootRules:i,rulesDef:i,state:a,customMessages:o?.(),storage:h,options:n,externalErrors:_,validationGroups:n.validationGroups,initialState:e,originalState:t,shortcuts:s,fieldName:void 0,path:``,cachePath:``,schemaErrors:c,rootSchemaErrors:c,schemaMode:f,onValidate:p,overrides:m}):se(i)&&(g.value=ye({rulesDef:i,state:a,customMessages:o?.(),storage:h,options:n,externalErrors:_,initialState:e,originalState:t,shortcuts:s,fieldName:void 0,path:``,cachePath:``,schemaMode:f,schemaErrors:c,onValidate:p,overrides:m})),r()&&l(()=>{g.value?.$unwatch(),b?.(),y?.()}),u({regle:g})}function Ee({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),p=i(re,void 0)??{},m={...p.modifiers,...o},g=()=>({...p.rules?.(),...s?.()}),_={...p.shortcuts,...c},v={...p.overrides,...l},b={...m,...r},S,C=f(u??{});typeof n==`function`&&(S=y(()=>{C.value=n(t),h(C)}));let w=d(x(t.value)?{...j(t.value)}:j(t.value)),T=x(t.value)?{...j(t.value)}:j(t.value);return J(()=>{S?.()}),Te({scopeRules:C,state:t,options:b,initialState:w,originalState:T,customRules:g,shortcuts:_,overrides:v})}function De(e){let{rules:t,modifiers:n={},shortcuts:r,overrides:i}=e??{};function o(e,o,s){return{r$:Ee({state:a(e)?e:d(e),rulesFactory:o,options:s,globalOptions:n,customRules:t,shortcuts:r,overrides:i}).regle}}return o}const Oe=De();function ke(){function e(e,t){return t}return e}const Ae=ke();function je(e,t){return S(g(e).$errors,String(t))}function Me(e,t){return S(g(e).$issues,String(t))}function Ne(e){let t={};if(Object.entries(e).some(([e,t])=>$(t)||typeof t==`function`))return null;for(let n in e){let r=e[n];r&&x(r)&&`$each`in r&&r.$each&&x(r.$each)?t[n]=[Ne(r.$each)]:x(r)&&!O(r)&&!Object.entries(r).some(([e,t])=>$(t)||typeof t==`function`)?t[n]=Ne(r):t[n]=null}return t}function Pe(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);return Ee({state:d(Ne(c?.value)),rulesFactory:c,options:s,globalOptions:r,customRules:n,shortcuts:i,overrides:o}).regle}return s}const Fe=Pe();function Ie(e){if(D(e)){let t=e,n=class extends t{constructor(...e){return super(...e),Le(this)}};return Object.defineProperty(n,`name`,{value:t.name}),Le(n)}return Le(e)}function Le(e){return!T(e,ie.REGLE_STATIC)&&Object.isExtensible(e)&&E(e,ie.REGLE_STATIC,!0),e}function Re({rules:e,modifiers:t,shortcuts:n,overrides:r}){let i=De({rules:e,modifiers:t,shortcuts:n,overrides:r}),a=Pe({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:ke(),useRules:a}}function ze(e,{rules:t,modifiers:n,shortcuts:r,overrides:i}){let a=e.__config??{},o=()=>({...a.rules?.(),...t?.()}),s=a.modifiers&&n?C(a.modifiers,n):a.modifiers??n,c=a.shortcuts&&r?C(a.shortcuts,r):a.shortcuts??r,l=a.overrides&&i?C(a.overrides,i):a.overrides??i,u=De({rules:o,modifiers:s,shortcuts:c,overrides:l});return u.__config={rules:o,modifiers:s,shortcuts:c,overrides:l},{useRegle:u,inferRules:ke()}}function Be(e){return e}function Ve(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)}),b=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(){Object.values(t).forEach(e=>{e.$clearExternalErrors()})}async function E(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 D=u({...!r&&{$silentValue:a},$errors:g,$issues:m,$silentIssues:h,$silentErrors:_,$instances:x,$value:i,$dirty:o,$anyDirty:s,$invalid:c,$correct:l,$error:d,$pending:p,$ready:f,$edited:v,$anyEdited:b,$reset:S,$touch:C,$validate:E,$extractDirtyFields:w,$clearExternalErrors:T});return y(()=>{if(!r){for(let e of Object.keys(D).filter(e=>!e.startsWith(`$`)&&!e.startsWith(`~`)))delete D[e];for(let[e,t]of Object.entries(x.value))Object.assign(D,{[e]:t})}}),D}function He(t,n){function r(r){let i=e(()=>m(r)),a=u({});c();let o=d(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]={})}))}v(i,c),v(t,e=>{o.value=l(e)},{deep:!0});function l(e){return i.value?typeof i.value==`string`?Ve(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})})}),Ve(a,!n.asRecord)):Ve(e[`~~global`]??{},!n.asRecord)}return{r$:s.r$}}return{useCollectScope:r}}function Ue(t,r){let i=r??Oe;return{useScopedRegle:((r,a,o)=>{let{namespace:s,scopeKey:l,id:u,...f}=o??{};i.__config??={};let p=e(()=>u??l),h=e(()=>m(s)),g=d(`${Object.keys(t.value).length+1}-${q()}`),_=e(()=>p.value??`instance-${g.value}`),{r$:y}=i(r,a,{...f,id:p.value});x(),J(b),v(h,(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??h.value;n?t.value[n]&&delete t.value[n][_.value]:t.value[`~~global`][_.value]&&delete t.value[`~~global`][_.value]}function x(){h.value?(t.value[h.value]||(t.value[h.value]={}),t.value[h.value][_.value]=y):(t.value[`~~global`]||(t.value[`~~global`]={}),t.value[`~~global`][_.value]=y)}return{r$:y,dispose:b,register:x}})}}function We(e){let t=(e?.customStore?()=>(e.customStore&&(e.customStore?.value[`~~global`]?e.customStore?.value&&(e.customStore.value={"~~global":{}}):e.customStore.value[`~~global`]={}),e.customStore):Y(()=>d({"~~global":{}})))(),{useScopedRegle:n}=Ue(t,e?.customUseRegle),{useCollectScope:r}=He(t,{asRecord:e?.asRecord});return{useScopedRegle:n,useCollectScope:r}}const{useCollectScope:Ge,useScopedRegle:Ke}=We(),qe=Ge,Je=Ke;function Ye(t,n,r){let i=e(()=>m(t)[n]);return e(()=>r.find(e=>{if(e[n]&&`literal`in e[n]){let t=e[n].literal;if($(t))return g(t._params?.[0])===i.value}})||r.find(e=>x(e[n])&&!Object.keys(e[n]).some(e=>e===`literal`))||{})}function Xe(e,t,n){return!!e&&t in e&&x(e[t])&&`$value`in e[t]&&e[t]?.$value===n}function Ze(e,t,n,r){let i=a(e)?p(e.value,`$fields`):p(e,`$fields`),o=d();return v(i,async()=>{await s(),Xe(i.value,t,n)?o.value=p(e).value:o.value=void 0},{immediate:!0,flush:`pre`}),o}function Qe(e){return e}function $e(e,t){return n=>C({...e},t(n))}const et={install(e,t){e.provide(Q,we),t&&e.provide(re,t)}};export{L as InternalRuleType,et as RegleVuePlugin,H as createRule,We as createScopedUseRegle,Ye as createVariant,Re as defineRegleConfig,Be as defineRegleOptions,Qe as defineRules,ze as extendRegleConfig,he as flatErrors,je as getErrors,Me as getIssues,Ae as inferRules,Ie as markStatic,Ve as mergeRegles,Xe as narrowVariant,$e as refineRules,R as unwrapRuleParameters,qe as useCollectScope,Oe as useRegle,Te as useRootStorage,Fe as useRules,Je as useScopedRegle,Ze as variantToRef};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@regle/core",
3
- "version": "1.19.0-beta.1",
3
+ "version": "1.19.0-beta.3",
4
4
  "description": "Headless form validation library for Vue",
5
5
  "keywords": [
6
6
  "regle",