@customafk/lunas-ui 0.2.57 → 0.2.58

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.
@@ -220,7 +220,104 @@ type AnyFieldProps = ({
220
220
  /** The `fieldType` discriminant extracted from {@link AnyFieldProps}. */
221
221
  type FieldType = AnyFieldProps['fieldType'];
222
222
  //#endregion
223
- //#region node_modules/@tanstack/store/dist/esm/types.d.ts
223
+ //#region node_modules/@tanstack/form-core/dist/esm/standardSchemaValidator.d.ts
224
+ type TStandardSchemaValidatorValue<TData, TSource extends ValidationSource = ValidationSource> = {
225
+ value: TData;
226
+ validationSource: TSource;
227
+ };
228
+ /**
229
+ * The Standard Schema interface.
230
+ */
231
+ type StandardSchemaV1<Input = unknown, Output = Input> = {
232
+ /**
233
+ * The Standard Schema properties.
234
+ */
235
+ readonly '~standard': StandardSchemaV1Props<Input, Output>;
236
+ };
237
+ /**
238
+ * The Standard Schema properties interface.
239
+ */
240
+ interface StandardSchemaV1Props<Input = unknown, Output = Input> {
241
+ /**
242
+ * The version number of the standard.
243
+ */
244
+ readonly version: 1;
245
+ /**
246
+ * The vendor name of the schema library.
247
+ */
248
+ readonly vendor: string;
249
+ /**
250
+ * Validates unknown input values.
251
+ */
252
+ readonly validate: (value: unknown) => StandardSchemaV1Result<Output> | Promise<StandardSchemaV1Result<Output>>;
253
+ /**
254
+ * Inferred types associated with the schema.
255
+ */
256
+ readonly types?: StandardSchemaV1Types<Input, Output> | undefined;
257
+ }
258
+ /**
259
+ * The result interface of the validate function.
260
+ */
261
+ type StandardSchemaV1Result<Output> = StandardSchemaV1SuccessResult<Output> | StandardSchemaV1FailureResult;
262
+ /**
263
+ * The result interface if validation succeeds.
264
+ */
265
+ interface StandardSchemaV1SuccessResult<Output> {
266
+ /**
267
+ * The typed output value.
268
+ */
269
+ readonly value: Output;
270
+ /**
271
+ * The non-existent issues.
272
+ */
273
+ readonly issues?: undefined;
274
+ }
275
+ /**
276
+ * The result interface if validation fails.
277
+ */
278
+ interface StandardSchemaV1FailureResult {
279
+ /**
280
+ * The issues of failed validation.
281
+ */
282
+ readonly issues: ReadonlyArray<StandardSchemaV1Issue>;
283
+ }
284
+ /**
285
+ * The issue interface of the failure output.
286
+ */
287
+ interface StandardSchemaV1Issue {
288
+ /**
289
+ * The error message of the issue.
290
+ */
291
+ readonly message: string;
292
+ /**
293
+ * The path of the issue, if any.
294
+ */
295
+ readonly path?: ReadonlyArray<PropertyKey | StandardSchemaV1PathSegment> | undefined;
296
+ }
297
+ /**
298
+ * The path segment interface of the issue.
299
+ */
300
+ interface StandardSchemaV1PathSegment {
301
+ /**
302
+ * The key representing a path segment.
303
+ */
304
+ readonly key: PropertyKey;
305
+ }
306
+ /**
307
+ * The Standard Schema types interface.
308
+ */
309
+ interface StandardSchemaV1Types<Input = unknown, Output = Input> {
310
+ /**
311
+ * The input type of the schema.
312
+ */
313
+ readonly input: Input;
314
+ /**
315
+ * The output type of the schema.
316
+ */
317
+ readonly output: Output;
318
+ }
319
+ //#endregion
320
+ //#region node_modules/@tanstack/store/dist/types.d.ts
224
321
  type Observer<T> = {
225
322
  next?: (value: T) => void;
226
323
  error?: (err: unknown) => void;
@@ -230,17 +327,27 @@ interface Subscription {
230
327
  unsubscribe: () => void;
231
328
  }
232
329
  //#endregion
233
- //#region node_modules/@tanstack/store/dist/esm/store.d.ts
234
- declare class Store<T> {
330
+ //#region node_modules/@tanstack/store/dist/store.d.ts
331
+ //#region src/store.d.ts
332
+ type StoreAction = (...args: Array<any>) => any;
333
+ type StoreActionMap = Record<string, StoreAction>;
334
+ type StoreActionsFactory<T, TActions extends StoreActionMap> = (store: {
335
+ setState: Store<T>['setState'];
336
+ get: Store<T>['get'];
337
+ }) => TActions;
338
+ type NonFunction<T> = T extends ((...args: Array<any>) => any) ? never : T;
339
+ declare class Store<T, TActions extends StoreActionMap = never> {
235
340
  private atom;
341
+ readonly actions: TActions;
236
342
  constructor(getValue: (prev?: NoInfer<T>) => T);
237
343
  constructor(initialValue: T);
344
+ constructor(initialValue: NonFunction<T>, actionsFactory: StoreActionsFactory<T, TActions>);
238
345
  setState(updater: (prev: T) => T): void;
239
346
  get state(): T;
240
347
  get(): T;
241
348
  subscribe(observerOrFn: Observer<T> | ((value: T) => void)): Subscription;
242
349
  }
243
- declare class ReadonlyStore<T> implements Omit<Store<T>, 'setState'> {
350
+ declare class ReadonlyStore<T> implements Omit<Store<T>, 'setState' | 'actions'> {
244
351
  private atom;
245
352
  constructor(getValue: (prev?: NoInfer<T>) => T);
246
353
  constructor(initialValue: T);
@@ -249,31 +356,19 @@ declare class ReadonlyStore<T> implements Omit<Store<T>, 'setState'> {
249
356
  subscribe(observerOrFn: Observer<T> | ((value: T) => void)): Subscription;
250
357
  }
251
358
  //#endregion
252
- //#region node_modules/@tanstack/form-core/dist/esm/ValidationLogic.d.ts
253
- interface ValidationLogicValidatorsFn {
254
- fn: FormValidators<any, any, any, any, any, any, any, any, any, any>[keyof FormValidators<any, any, any, any, any, any, any, any, any, any>];
255
- cause: 'change' | 'blur' | 'submit' | 'mount' | 'server' | 'dynamic';
256
- }
257
- interface ValidationLogicProps {
258
- form: AnyFormApi;
259
- validators: FormValidators<any, any, any, any, any, any, any, any, any, any> | undefined | null;
260
- event: {
261
- type: 'blur' | 'change' | 'submit' | 'mount' | 'server';
262
- fieldName?: string;
263
- async: boolean;
264
- };
265
- runValidation: (props: {
266
- validators: Array<ValidationLogicValidatorsFn | undefined>;
267
- form: AnyFormApi;
268
- }) => void;
269
- }
270
- type ValidationLogicFn = (props: ValidationLogicProps) => void;
271
- //#endregion
272
359
  //#region node_modules/@tanstack/form-core/dist/esm/util-types.d.ts
273
360
  /**
274
361
  * @private
275
362
  */
276
363
  type UnwrapOneLevelOfArray<T> = T extends (infer U)[] ? U : T;
364
+ /**
365
+ * @private
366
+ * Helper type that rejects synchronous validators that return Promises.
367
+ * If the validator is a function returning a Promise, the type becomes `never`.
368
+ * Uses infer to extract the return type and handles `any` specially to avoid
369
+ * rejecting mock functions and other uses of `any`.
370
+ */
371
+ type RejectPromiseValidator<T> = T extends ((...args: any[]) => infer R) ? 0 extends 1 & R ? T : [R] extends [Promise<any> | PromiseLike<any>] ? never : T : T;
277
372
  interface AnyDeepKeyAndValue<K extends string = string, V extends any = any> {
278
373
  key: K;
279
374
  value: V;
@@ -331,10 +426,6 @@ type UpdaterFn<TInput, TOutput = TInput> = (input: TInput) => TOutput;
331
426
  type Updater<TInput, TOutput = TInput> = TOutput | UpdaterFn<TInput, TOutput>;
332
427
  //#endregion
333
428
  //#region node_modules/@tanstack/form-core/dist/esm/FieldApi.d.ts
334
- /**
335
- * @private
336
- */
337
- type FieldErrorMapFromValidator<TFormData, TName extends DeepKeys<TFormData>, TData extends DeepValue<TFormData, TName>, TOnMount extends undefined | FieldValidateOrFn<TFormData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TFormData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TFormData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TFormData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TFormData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TFormData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TFormData, TName, TData>> = Partial<Record<DeepKeys<TFormData>, ValidationErrorMap<TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync>>>;
338
429
  /**
339
430
  * @private
340
431
  */
@@ -342,19 +433,6 @@ type FieldValidateFn<TParentData, TName extends DeepKeys<TParentData>, TData ext
342
433
  value: TData;
343
434
  fieldApi: FieldApi<TParentData, TName, TData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
344
435
  }) => unknown;
345
- /**
346
- * @private
347
- */
348
- type FieldValidateOrFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = FieldValidateFn<TParentData, TName, TData> | StandardSchemaV1<TData, unknown>;
349
- type StandardBrandedSchemaV1<T> = T & {
350
- __standardSchemaV1: true;
351
- };
352
- type UnwrapFormValidateOrFnForInner<TValidateOrFn extends undefined | FormValidateOrFn<any>> = [TValidateOrFn] extends [FormValidateFn<any>] ? ReturnType<TValidateOrFn> : [TValidateOrFn] extends [StandardSchemaV1<infer TOut, any>] ? StandardBrandedSchemaV1<TOut> : undefined;
353
- type UnwrapFieldValidateOrFn<TName extends string, TValidateOrFn extends undefined | FieldValidateOrFn<any, any, any>, TFormValidateOrFn extends undefined | FormValidateOrFn<any>> = ([TFormValidateOrFn] extends [StandardSchemaV1<any, infer TStandardOut>] ? TName extends keyof TStandardOut ? StandardSchemaV1Issue[] : undefined : undefined) | (UnwrapFormValidateOrFnForInner<TFormValidateOrFn> extends infer TFormValidateVal ? TFormValidateVal extends {
354
- __standardSchemaV1: true;
355
- } ? [DeepValue<TFormValidateVal, TName>] extends [never] ? undefined : StandardSchemaV1Issue[] : TFormValidateVal extends {
356
- fields: any;
357
- } ? TName extends keyof TFormValidateVal['fields'] ? TFormValidateVal['fields'][TName] : undefined : undefined : never) | ([TValidateOrFn] extends [FieldValidateFn<any, any, any>] ? ReturnType<TValidateOrFn> : [TValidateOrFn] extends [StandardSchemaV1<any, any>] ? StandardSchemaV1Issue[] : undefined);
358
436
  /**
359
437
  * @private
360
438
  */
@@ -363,16 +441,6 @@ type FieldValidateAsyncFn<TParentData, TName extends DeepKeys<TParentData>, TDat
363
441
  fieldApi: FieldApi<TParentData, TName, TData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
364
442
  signal: AbortSignal;
365
443
  }) => unknown | Promise<unknown>;
366
- /**
367
- * @private
368
- */
369
- type FieldAsyncValidateOrFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = FieldValidateAsyncFn<TParentData, TName, TData> | StandardSchemaV1<TData, unknown>;
370
- type UnwrapFormAsyncValidateOrFnForInner<TValidateOrFn extends undefined | FormAsyncValidateOrFn<any>> = [TValidateOrFn] extends [FormValidateAsyncFn<any>] ? Awaited<ReturnType<TValidateOrFn>> : [TValidateOrFn] extends [StandardSchemaV1<infer TOut, any>] ? StandardBrandedSchemaV1<TOut> : undefined;
371
- type UnwrapFieldAsyncValidateOrFn<TName extends string, TValidateOrFn extends undefined | FieldAsyncValidateOrFn<any, any, any>, TFormValidateOrFn extends undefined | FormAsyncValidateOrFn<any>> = ([TFormValidateOrFn] extends [StandardSchemaV1<any, infer TStandardOut>] ? TName extends keyof TStandardOut ? StandardSchemaV1Issue[] : undefined : undefined) | (UnwrapFormAsyncValidateOrFnForInner<TFormValidateOrFn> extends infer TFormValidateVal ? TFormValidateVal extends {
372
- __standardSchemaV1: true;
373
- } ? [DeepValue<TFormValidateVal, TName>] extends [never] ? undefined : StandardSchemaV1Issue[] : TFormValidateVal extends {
374
- fields: any;
375
- } ? TName extends keyof TFormValidateVal['fields'] ? TFormValidateVal['fields'][TName] : undefined : undefined : never) | ([TValidateOrFn] extends [FieldValidateAsyncFn<any, any, any>] ? Awaited<ReturnType<TValidateOrFn>> : [TValidateOrFn] extends [StandardSchemaV1<any, any>] ? StandardSchemaV1Issue[] : undefined);
376
444
  /**
377
445
  * @private
378
446
  */
@@ -380,17 +448,25 @@ type FieldListenerFn<TParentData, TName extends DeepKeys<TParentData>, TData ext
380
448
  value: TData;
381
449
  fieldApi: FieldApi<TParentData, TName, TData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
382
450
  }) => void;
451
+ /**
452
+ * @private
453
+ */
454
+ type FieldValidateOrFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = FieldValidateFn<TParentData, TName, TData> | StandardSchemaV1<TData, unknown>;
455
+ /**
456
+ * @private
457
+ */
458
+ type FieldAsyncValidateOrFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = FieldValidateAsyncFn<TParentData, TName, TData> | StandardSchemaV1<TData, unknown>;
383
459
  interface FieldValidators<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>> {
384
460
  /**
385
461
  * An optional function, that runs on the mount event of input.
386
462
  */
387
- onMount?: TOnMount;
463
+ onMount?: RejectPromiseValidator<TOnMount>;
388
464
  /**
389
465
  * An optional function, that runs on the change event of input.
390
466
  *
391
467
  * @example z.string().min(1)
392
468
  */
393
- onChange?: TOnChange;
469
+ onChange?: RejectPromiseValidator<TOnChange>;
394
470
  /**
395
471
  * An optional property similar to `onChange` but async validation
396
472
  *
@@ -412,7 +488,7 @@ interface FieldValidators<TParentData, TName extends DeepKeys<TParentData>, TDat
412
488
  *
413
489
  * @example z.string().min(1)
414
490
  */
415
- onBlur?: TOnBlur;
491
+ onBlur?: RejectPromiseValidator<TOnBlur>;
416
492
  /**
417
493
  * An optional property similar to `onBlur` but async validation.
418
494
  *
@@ -434,14 +510,14 @@ interface FieldValidators<TParentData, TName extends DeepKeys<TParentData>, TDat
434
510
  *
435
511
  * @example z.string().min(1)
436
512
  */
437
- onSubmit?: TOnSubmit;
513
+ onSubmit?: RejectPromiseValidator<TOnSubmit>;
438
514
  /**
439
515
  * An optional property similar to `onSubmit` but async validation.
440
516
  *
441
517
  * @example z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' })
442
518
  */
443
519
  onSubmitAsync?: TOnSubmitAsync;
444
- onDynamic?: TOnDynamic;
520
+ onDynamic?: RejectPromiseValidator<TOnDynamic>;
445
521
  onDynamicAsync?: TOnDynamicAsync;
446
522
  onDynamicAsyncDebounceMs?: number;
447
523
  }
@@ -453,113 +529,22 @@ interface FieldListeners<TParentData, TName extends DeepKeys<TParentData>, TData
453
529
  onMount?: FieldListenerFn<TParentData, TName, TData>;
454
530
  onUnmount?: FieldListenerFn<TParentData, TName, TData>;
455
531
  onSubmit?: FieldListenerFn<TParentData, TName, TData>;
532
+ onGroupSubmit?: FieldListenerFn<TParentData, TName, TData>;
456
533
  }
457
- /**
458
- * An object type representing the options for a field in a form.
459
- */
460
- interface FieldOptions<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>> {
461
- /**
462
- * The field name. The type will be `DeepKeys<TParentData>` to ensure your name is a deep key of the parent dataset.
463
- */
464
- name: TName;
465
- /**
466
- * An optional default value for the field.
467
- */
468
- defaultValue?: NoInfer<TData>;
469
- /**
470
- * The default time to debounce async validation if there is not a more specific debounce time passed.
471
- */
472
- asyncDebounceMs?: number;
473
- /**
474
- * If `true`, always run async validation, even if there are errors emitted during synchronous validation.
475
- */
476
- asyncAlways?: boolean;
534
+ interface FieldExtraOptions<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>> {
477
535
  /**
478
536
  * A list of validators to pass to the field
479
537
  */
480
538
  validators?: FieldValidators<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>;
481
- /**
482
- * An optional object with default metadata for the field.
483
- */
484
- defaultMeta?: Partial<FieldMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, any, any, any, any, any, any, any, any, any>>;
485
539
  /**
486
540
  * A list of listeners which attach to the corresponding events
487
541
  */
488
542
  listeners?: FieldListeners<TParentData, TName, TData>;
489
- /**
490
- * Disable the `flat(1)` operation on `field.errors`. This is useful if you want to keep the error structure as is. Not suggested for most use-cases.
491
- */
492
- disableErrorFlat?: boolean;
493
- }
494
- /**
495
- * An object type representing the required options for the FieldApi class.
496
- */
497
- interface FieldApiOptions<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, in out TParentSubmitMeta> extends FieldOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync> {
498
- form: FormApi<TParentData, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;
499
543
  }
500
- type FieldMetaBase<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>> = {
501
- /**
502
- * A flag indicating whether the field has been touched.
503
- */
504
- isTouched: boolean;
505
- /**
506
- * A flag indicating whether the field has been blurred.
507
- */
508
- isBlurred: boolean;
509
- /**
510
- * A flag that is `true` if the field's value has been modified by the user. Opposite of `isPristine`.
511
- */
512
- isDirty: boolean;
513
- /**
514
- * A map of errors related to the field value.
515
- */
516
- errorMap: ValidationErrorMap<UnwrapFieldValidateOrFn<TName, TOnMount, TFormOnMount>, UnwrapFieldValidateOrFn<TName, TOnChange, TFormOnChange>, UnwrapFieldAsyncValidateOrFn<TName, TOnChangeAsync, TFormOnChangeAsync>, UnwrapFieldValidateOrFn<TName, TOnBlur, TFormOnBlur>, UnwrapFieldAsyncValidateOrFn<TName, TOnBlurAsync, TFormOnBlurAsync>, UnwrapFieldValidateOrFn<TName, TOnSubmit, TFormOnSubmit>, UnwrapFieldAsyncValidateOrFn<TName, TOnSubmitAsync, TFormOnSubmitAsync>, UnwrapFieldValidateOrFn<TName, TOnDynamic, TFormOnDynamic>, UnwrapFieldAsyncValidateOrFn<TName, TOnDynamicAsync, TFormOnDynamicAsync>>;
517
- /**
518
- * @private allows tracking the source of the errors in the error map
519
- */
520
- errorSourceMap: ValidationErrorMapSource;
521
- /**
522
- * A flag indicating whether the field is currently being validated.
523
- */
524
- isValidating: boolean;
525
- };
526
- type AnyFieldMetaBase = FieldMetaBase<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
527
- type FieldMetaDerived<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>> = {
528
- /**
529
- * An array of errors related to the field value.
530
- */
531
- errors: Array<UnwrapOneLevelOfArray<UnwrapFieldValidateOrFn<TName, TOnMount, TFormOnMount>> | UnwrapOneLevelOfArray<UnwrapFieldValidateOrFn<TName, TOnChange, TFormOnChange>> | UnwrapOneLevelOfArray<UnwrapFieldAsyncValidateOrFn<TName, TOnChangeAsync, TFormOnChangeAsync>> | UnwrapOneLevelOfArray<UnwrapFieldValidateOrFn<TName, TOnBlur, TFormOnBlur>> | UnwrapOneLevelOfArray<UnwrapFieldAsyncValidateOrFn<TName, TOnBlurAsync, TFormOnBlurAsync>> | UnwrapOneLevelOfArray<UnwrapFieldValidateOrFn<TName, TOnSubmit, TFormOnSubmit>> | UnwrapOneLevelOfArray<UnwrapFieldAsyncValidateOrFn<TName, TOnSubmitAsync, TFormOnSubmitAsync>> | UnwrapOneLevelOfArray<UnwrapFieldValidateOrFn<TName, TOnDynamic, TFormOnDynamic>> | UnwrapOneLevelOfArray<UnwrapFieldAsyncValidateOrFn<TName, TOnDynamicAsync, TFormOnDynamicAsync>>>;
532
- /**
533
- * A flag that is `true` if the field's value has not been modified by the user. Opposite of `isDirty`.
534
- */
535
- isPristine: boolean;
536
- /**
537
- * A boolean indicating if the field is valid. Evaluates `true` if there are no field errors.
538
- */
539
- isValid: boolean;
540
- /**
541
- * A flag indicating whether the field's current value is the default value
542
- */
543
- isDefaultValue: boolean;
544
- };
545
544
  /**
546
- * An object type representing the metadata of a field in a form.
547
- */
548
- type FieldMeta<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>> = FieldMetaBase<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync> & FieldMetaDerived<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;
549
- type AnyFieldMeta = FieldMeta<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
550
- /**
551
- * An object type representing the state of a field.
545
+ * An object type representing the options for a field in a form.
552
546
  */
553
- type FieldState<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>> = {
554
- /**
555
- * The current value of the field.
556
- */
557
- value: TData;
558
- /**
559
- * The current metadata of the field.
560
- */
561
- meta: FieldMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;
562
- };
547
+ interface FieldApiOptions<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, in out TParentSubmitMeta> extends FieldLikeApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>, FieldExtraOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync> {}
563
548
  /**
564
549
  * @public
565
550
  *
@@ -579,7 +564,7 @@ type AnyFieldApi = FieldApi<any, any, any, any, any, any, any, any, any, any, an
579
564
  * However, if you need to create a new instance manually, you can do so by calling
580
565
  * the `new FieldApi` constructor.
581
566
  */
582
- declare class FieldApi<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, in out TParentSubmitMeta> {
567
+ declare class FieldApi<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, in out TParentSubmitMeta> implements FieldLikeAPI<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta, FieldExtraOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>> {
583
568
  /**
584
569
  * A reference to the form API instance.
585
570
  */
@@ -595,11 +580,11 @@ declare class FieldApi<in out TParentData, in out TName extends DeepKeys<TParent
595
580
  /**
596
581
  * The field state store.
597
582
  */
598
- store: ReadonlyStore<FieldState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>>;
583
+ store: ReadonlyStore<FieldLikeState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>>;
599
584
  /**
600
585
  * The current field state.
601
586
  */
602
- get state(): FieldState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;
587
+ get state(): FieldLikeState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;
603
588
  timeoutIds: {
604
589
  validations: Record<ValidationCause, ReturnType<typeof setTimeout> | null>;
605
590
  listeners: Record<ListenerCause, ReturnType<typeof setTimeout> | null>;
@@ -637,11 +622,11 @@ declare class FieldApi<in out TParentData, in out TName extends DeepKeys<TParent
637
622
  * Sets the field value and run the `change` validator.
638
623
  */
639
624
  setValue: (updater: Updater<TData>, options?: UpdateMetaOptions) => void;
640
- getMeta: () => FieldMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;
625
+ getMeta: () => FieldLikeMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;
641
626
  /**
642
627
  * Sets the field metadata.
643
628
  */
644
- setMeta: (updater: Updater<FieldMetaBase<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>>) => void;
629
+ setMeta: (updater: Updater<FieldLikeMetaBase<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>>) => void;
645
630
  /**
646
631
  * Gets the field information object.
647
632
  */
@@ -693,6 +678,7 @@ declare class FieldApi<in out TParentData, in out TName extends DeepKeys<TParent
693
678
  */
694
679
  validate: (cause: ValidationCause, opts?: {
695
680
  skipFormValidation?: boolean;
681
+ skipGroupValidation?: boolean;
696
682
  }) => ValidationError[] | Promise<ValidationError[]>;
697
683
  /**
698
684
  * Handles the change event.
@@ -723,20 +709,438 @@ declare class FieldApi<in out TParentData, in out TName extends DeepKeys<TParent
723
709
  * @private
724
710
  */
725
711
  triggerOnChangeListener: () => void;
712
+ /**
713
+ * @private
714
+ */
715
+ triggerOnSubmitListener: () => void;
726
716
  }
727
717
  //#endregion
728
- //#region node_modules/@tanstack/form-core/dist/esm/types.d.ts
729
- type ValidationError = unknown;
730
- type ValidationSource = 'form' | 'field';
731
- /**
732
- * "server" is only intended for SSR/SSG validation and should not execute anything
733
- * @private
734
- */
735
- type ValidationCause = 'change' | 'blur' | 'submit' | 'mount' | 'server' | 'dynamic';
736
- /**
737
- * @private
738
- */
739
- type ListenerCause = 'change' | 'blur' | 'submit' | 'mount';
718
+ //#region node_modules/@tanstack/form-core/dist/esm/ValidationLogic.d.ts
719
+ interface ValidationLogicValidatorsFn {
720
+ fn: FormValidators<any, any, any, any, any, any, any, any, any, any>[keyof FormValidators<any, any, any, any, any, any, any, any, any, any>];
721
+ cause: 'change' | 'blur' | 'submit' | 'mount' | 'server' | 'dynamic';
722
+ }
723
+ interface ValidationLogicProps {
724
+ form: AnyFormApi;
725
+ /**
726
+ * Set when the validators being processed belong to a `FormGroupApi`.
727
+ * Allows validation strategies (e.g. `revalidateLogic`) to gate their
728
+ * behavior on the group's own state instead of the parent form's.
729
+ */
730
+ group?: AnyFormGroupApi;
731
+ validators: FormValidators<any, any, any, any, any, any, any, any, any, any> | undefined | null;
732
+ event: {
733
+ type: 'blur' | 'change' | 'submit' | 'mount' | 'server';
734
+ fieldName?: string;
735
+ async: boolean;
736
+ };
737
+ runValidation: (props: {
738
+ validators: Array<ValidationLogicValidatorsFn | undefined>;
739
+ form: AnyFormApi;
740
+ }) => void;
741
+ }
742
+ type ValidationLogicFn = (props: ValidationLogicProps) => void;
743
+ //#endregion
744
+ //#region node_modules/@tanstack/form-core/dist/esm/FormGroupApi.d.ts
745
+ /**
746
+ * @private
747
+ */
748
+ type FormGroupValidateFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = (props: {
749
+ value: TData;
750
+ groupApi: FormGroupApi<TParentData, TName, TData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
751
+ }) => unknown;
752
+ /**
753
+ * @private
754
+ */
755
+ type FormGroupValidateOrFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = FormGroupValidateFn<TParentData, TName, TData> | StandardSchemaV1<TData, unknown>;
756
+ /**
757
+ * @private
758
+ */
759
+ type FormGroupValidateAsyncFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = (options: {
760
+ value: TData;
761
+ groupApi: FormGroupApi<TParentData, TName, TData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
762
+ signal: AbortSignal;
763
+ }) => unknown | Promise<unknown>;
764
+ /**
765
+ * @private
766
+ */
767
+ type FormGroupAsyncValidateOrFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = FormGroupValidateAsyncFn<TParentData, TName, TData> | StandardSchemaV1<TData, unknown>;
768
+ /**
769
+ * @private
770
+ */
771
+ type FormGroupListenerFn<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> = (props: {
772
+ value: TData;
773
+ groupApi: FormGroupApi<TParentData, TName, TData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
774
+ }) => void;
775
+ interface FormGroupValidators<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>> {
776
+ /**
777
+ * An optional function, that runs on the mount event of input.
778
+ */
779
+ onMount?: TOnMount;
780
+ /**
781
+ * An optional function, that runs on the change event of input.
782
+ *
783
+ * @example z.string().min(1)
784
+ */
785
+ onChange?: TOnChange;
786
+ /**
787
+ * An optional property similar to `onChange` but async validation
788
+ *
789
+ * @example z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' })
790
+ */
791
+ onChangeAsync?: TOnChangeAsync;
792
+ /**
793
+ * An optional number to represent how long the `onChangeAsync` should wait before running
794
+ *
795
+ * If set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds
796
+ */
797
+ onChangeAsyncDebounceMs?: number;
798
+ /**
799
+ * An optional list of field names that should trigger this field's `onChange` and `onChangeAsync` events when its value changes
800
+ */
801
+ /**
802
+ * An optional function, that runs on the blur event of input.
803
+ *
804
+ * @example z.string().min(1)
805
+ */
806
+ onBlur?: TOnBlur;
807
+ /**
808
+ * An optional property similar to `onBlur` but async validation.
809
+ *
810
+ * @example z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' })
811
+ */
812
+ onBlurAsync?: TOnBlurAsync;
813
+ /**
814
+ * An optional number to represent how long the `onBlurAsync` should wait before running
815
+ *
816
+ * If set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds
817
+ */
818
+ onBlurAsyncDebounceMs?: number;
819
+ /**
820
+ * An optional list of field names that should trigger this field's `onBlur` and `onBlurAsync` events when its value changes
821
+ */
822
+ /**
823
+ * An optional function, that runs on the submit event of form.
824
+ *
825
+ * @example z.string().min(1)
826
+ */
827
+ onSubmit?: TOnSubmit;
828
+ /**
829
+ * An optional property similar to `onSubmit` but async validation.
830
+ *
831
+ * @example z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' })
832
+ */
833
+ onSubmitAsync?: TOnSubmitAsync;
834
+ onDynamic?: TOnDynamic;
835
+ onDynamicAsync?: TOnDynamicAsync;
836
+ onDynamicAsyncDebounceMs?: number;
837
+ }
838
+ interface FormGroupListeners<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> {
839
+ onChange?: FormGroupListenerFn<TParentData, TName, TData>;
840
+ onChangeDebounceMs?: number;
841
+ onBlur?: FormGroupListenerFn<TParentData, TName, TData>;
842
+ onBlurDebounceMs?: number;
843
+ onMount?: FormGroupListenerFn<TParentData, TName, TData>;
844
+ onUnmount?: FormGroupListenerFn<TParentData, TName, TData>;
845
+ onSubmit?: FormGroupListenerFn<TParentData, TName, TData>;
846
+ onGroupSubmit?: FormGroupListenerFn<TParentData, TName, TData>;
847
+ }
848
+ interface FormGroupExtraOptions<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TSubmitMeta, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, in out TParentSubmitMeta> {
849
+ /**
850
+ * A list of validators to pass to the field
851
+ */
852
+ validators?: FormGroupValidators<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>;
853
+ /**
854
+ * If true, allows the form to be submitted in an invalid state i.e. canSubmit will remain true regardless of validation errors. Defaults to undefined.
855
+ */
856
+ canSubmitWhenInvalid?: boolean;
857
+ /**
858
+ * A list of listeners which attach to the corresponding events
859
+ */
860
+ listeners?: FormGroupListeners<TParentData, TName, TData>;
861
+ defaultState?: FormGroupState;
862
+ /**
863
+ * Optional validation logic strategy to use for this group's own
864
+ * validators (e.g. `revalidateLogic()`). When omitted, the parent form's
865
+ * `validationLogic` (or the default) is used.
866
+ */
867
+ validationLogic?: ValidationLogicFn;
868
+ /**
869
+ * onSubmitMeta, the data passed from the handleSubmit handler, to the onSubmit function props
870
+ */
871
+ onSubmitMeta?: TSubmitMeta;
872
+ /**
873
+ * A function to be called when the form is submitted, what should happen once the user submits a valid form returns `any` or a promise `Promise<any>`
874
+ */
875
+ onGroupSubmit?: (props: {
876
+ value: TData;
877
+ groupApi: FormGroupApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;
878
+ meta: TSubmitMeta;
879
+ }) => any | Promise<any>;
880
+ /**
881
+ * Specify an action for scenarios where the user tries to submit an invalid form.
882
+ */
883
+ onGroupSubmitInvalid?: (props: {
884
+ value: TData;
885
+ groupApi: FormGroupApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;
886
+ meta: TSubmitMeta;
887
+ }) => void;
888
+ }
889
+ interface FormGroupOptions<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TSubmitMeta, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, in out TParentSubmitMeta> extends FieldLikeOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>, FormGroupExtraOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta> {}
890
+ interface FormGroupApiOptions<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TSubmitMeta, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, in out TParentSubmitMeta> extends FormGroupOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta> {
891
+ form: FormApi<TParentData, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;
892
+ }
893
+ interface FormGroupState {
894
+ /**
895
+ * A boolean indicating if the form is currently in the process of being submitted after `handleSubmit` is called.
896
+ *
897
+ * Goes back to `false` when submission completes for one of the following reasons:
898
+ * - the validation step returned errors.
899
+ * - the `onSubmit` function has completed.
900
+ *
901
+ * Note: if you're running async operations in your `onSubmit` function make sure to await them to ensure `isSubmitting` is set to `false` only when the async operation completes.
902
+ *
903
+ * This is useful for displaying loading indicators or disabling form inputs during submission.
904
+ *
905
+ */
906
+ isSubmitting: boolean;
907
+ /**
908
+ * A boolean indicating if the `onSubmit` function has completed successfully.
909
+ *
910
+ * Goes back to `false` at each new submission attempt.
911
+ *
912
+ * Note: you can use isSubmitting to check if the form is currently submitting.
913
+ */
914
+ isSubmitted: boolean;
915
+ /**
916
+ * A boolean indicating if the form or any of its fields are currently validating.
917
+ */
918
+ isValidating: boolean;
919
+ /**
920
+ * A counter for tracking the number of submission attempts.
921
+ */
922
+ submissionAttempts: number;
923
+ /**
924
+ * A boolean indicating if the last submission was successful.
925
+ */
926
+ isSubmitSuccessful: boolean;
927
+ }
928
+ /**
929
+ * @public
930
+ *
931
+ * A type representing the FormGroup API with all generics set to `any` for convenience.
932
+ */
933
+ type AnyFormGroupApi = FormGroupApi<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
934
+ /**
935
+ * @public
936
+ *
937
+ * The `meta` shape exposed on `FormGroupApi.state.meta`. Mirrors
938
+ * `FieldApi.state.meta` (since `FormGroupMeta extends FieldLikeMeta`) but
939
+ * additionally surfaces the group's submission lifecycle and aggregated
940
+ * validity flags. All derivation lives on the parent `FormApi` (in
941
+ * `formGroupMetaDerived`), keeping per-instance `FormGroupApi.store` as
942
+ * minimal as `FieldApi.store`.
943
+ *
944
+ * Aggregated booleans (`isTouched`, `isBlurred`, `isDirty`, `isPristine`,
945
+ * `isDefaultValue`) are computed across the group's descendant fields
946
+ * rather than the group's own field-meta entry.
947
+ */
948
+ interface FormGroupMeta<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>> extends FieldLikeMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>, FormGroupState {
949
+ isFieldsValidating: boolean;
950
+ isFieldsValid: boolean;
951
+ isGroupValid: boolean;
952
+ isValid: boolean;
953
+ canSubmit: boolean;
954
+ }
955
+ /**
956
+ * @public
957
+ *
958
+ * `FormGroupMeta` with all generics widened to `any`.
959
+ */
960
+ type AnyFormGroupMeta = FormGroupMeta<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
961
+ interface FormGroupStoreState<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>> {
962
+ /**
963
+ * The current value of the form group.
964
+ */
965
+ value: TData;
966
+ /**
967
+ * The current metadata of the form group, including aggregated validity,
968
+ * group-level errors, and submission lifecycle.
969
+ */
970
+ meta: FormGroupMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;
971
+ }
972
+ declare class FormGroupApi<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TSubmitMeta, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, in out TParentSubmitMeta> implements FormLikeAPI<TParentData, TSubmitMeta>, FieldLikeAPI<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta, FormGroupExtraOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>> {
973
+ /**
974
+ * A reference to the form API instance.
975
+ */
976
+ form: FormGroupApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>['form'];
977
+ /**
978
+ * The field name.
979
+ */
980
+ name: TName;
981
+ /**
982
+ * The field options.
983
+ */
984
+ options: FormGroupApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;
985
+ /**
986
+ * The field state store.
987
+ */
988
+ store: ReadonlyStore<FormGroupStoreState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>>;
989
+ /**
990
+ * The current field state.
991
+ */
992
+ get state(): FormGroupStoreState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;
993
+ /**
994
+ * @private
995
+ *
996
+ * Updates this group's submission lifecycle state on the parent form's
997
+ * `baseStore` (where group state is now persisted), preserving entries
998
+ * for any other mounted groups. After writing, the form's
999
+ * `formGroupMetaDerived` re-derives so this group's `state.meta` picks
1000
+ * up the new lifecycle values automatically.
1001
+ */
1002
+ private setFormGroupState;
1003
+ timeoutIds: {
1004
+ validations: Record<ValidationCause, ReturnType<typeof setTimeout> | null>;
1005
+ listeners: Record<ListenerCause, ReturnType<typeof setTimeout> | null>;
1006
+ formListeners: Record<ListenerCause, ReturnType<typeof setTimeout> | null>;
1007
+ };
1008
+ /**
1009
+ * @private
1010
+ *
1011
+ * Tracks the set of fully-qualified child field names that this group's
1012
+ * validators last set form-source errors on, keyed by `errorMap` key.
1013
+ * Used to clear stale group-level field errors on subsequent runs without
1014
+ * trampling errors set by the parent form's validators.
1015
+ */
1016
+ private _lastDistributedFieldNames;
1017
+ private fieldInfo;
1018
+ constructor(opts: FormGroupApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>);
1019
+ /**
1020
+ * Updates the field instance with new options.
1021
+ */
1022
+ update: (opts: FormGroupApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TSubmitMeta, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>) => void;
1023
+ /**
1024
+ * @private
1025
+ */
1026
+ runValidator<TValue extends TStandardSchemaValidatorValue<TData> & {
1027
+ groupApi: AnyFormGroupApi;
1028
+ }, TType extends 'validate' | 'validateAsync'>(props: {
1029
+ validate: TType extends 'validate' ? FormGroupValidateOrFn<any, any, any> : FormGroupAsyncValidateOrFn<any, any, any>;
1030
+ value: TValue;
1031
+ type: TType;
1032
+ }): unknown;
1033
+ mount: () => () => void;
1034
+ /**
1035
+ * Sets the field value and run the `change` validator.
1036
+ */
1037
+ setValue: (updater: Updater<TData>, options?: UpdateMetaOptions) => void;
1038
+ getMeta: () => FormGroupMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;
1039
+ /**
1040
+ * Sets the field metadata.
1041
+ */
1042
+ setMeta: (updater: Updater<FieldLikeMetaBase<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>>) => void;
1043
+ /**
1044
+ * Gets the field information object.
1045
+ */
1046
+ getInfo: () => FieldInfo<TParentData>;
1047
+ /**
1048
+ * @private
1049
+ */
1050
+ getRelatedFields: () => AnyFieldApi[];
1051
+ /**
1052
+ * @private
1053
+ */
1054
+ getRelatedFieldMetasDerived: () => (FieldLikeMetaBase<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any> & FieldLikeMetaDerived<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any> & {
1055
+ name: string;
1056
+ })[];
1057
+ /**
1058
+ * @private
1059
+ *
1060
+ * Builds a fully-qualified field name from a path that is relative to this
1061
+ * group, supporting both dot (`name`, `nested.value`) and bracket
1062
+ * (`[0].name`) notation.
1063
+ */
1064
+ private buildChildFieldName;
1065
+ /**
1066
+ * @private
1067
+ *
1068
+ * Distributes a `{ fields: { ... } }` payload returned by one of this
1069
+ * group's own validators onto the corresponding child fields. Tracks
1070
+ * which fields have been touched so subsequent runs can clear stale
1071
+ * errors without trampling errors set by the parent form's validators.
1072
+ */
1073
+ private distributeFieldErrors;
1074
+ /**
1075
+ * @private
1076
+ */
1077
+ validateSync: (cause: ValidationCause, errorFromForm: ValidationErrorMap, opts?: {
1078
+ skipRelatedFieldValidation?: boolean;
1079
+ }) => {
1080
+ hasErrored: boolean;
1081
+ };
1082
+ /**
1083
+ * @private
1084
+ */
1085
+ validateAsync: (cause: ValidationCause, formValidationResultPromise: Promise<FieldErrorMapFromValidator<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync>>, opts?: {
1086
+ skipRelatedFieldValidation?: boolean;
1087
+ }) => Promise<unknown[]>;
1088
+ /**
1089
+ * Validates all fields according to the FIELD level validators.
1090
+ * This will ignore FORM level validators, use form.validate({ValidationCause}) for a complete validation
1091
+ */
1092
+ validateAllFields: (cause: ValidationCause) => Promise<unknown[]>;
1093
+ validateArrayFieldsStartingFrom: <TField extends DeepKeysOfType<TParentData, any[]>>(field: TField, index: number, cause: ValidationCause) => Promise<unknown[]>;
1094
+ validateField: <TField extends DeepKeysOfType<TParentData, any>>(field: TField, cause: ValidationCause) => any[] | Promise<any[]>;
1095
+ getFieldValue: <TField extends DeepKeysOfType<TParentData, any>>(field: TField) => DeepValue<TParentData, TField>;
1096
+ getFieldMeta: <TField extends DeepKeysOfType<TParentData, any>>(field: TField) => AnyFieldLikeMeta | undefined;
1097
+ setFieldMeta: <TField extends DeepKeysOfType<TParentData, any>>(field: TField, updater: Updater<AnyFieldLikeMetaBase>) => void;
1098
+ setFieldValue: <TField extends DeepKeysOfType<TParentData, any>>(field: TField, value: any) => void;
1099
+ deleteField: <TField extends DeepKeysOfType<TParentData, any>>(field: TField) => void;
1100
+ pushFieldValue: <TField extends DeepKeysOfType<TParentData, any[]>>(field: TField, value: any) => void;
1101
+ insertFieldValue: <TField extends DeepKeysOfType<TParentData, any[]>>(field: TField, index: number, value: any) => Promise<void>;
1102
+ replaceFieldValue: <TField extends DeepKeysOfType<TParentData, any[]>>(field: TField, index: number, value: any) => Promise<void>;
1103
+ swapFieldValues: <TField extends DeepKeysOfType<TParentData, any[]>>(field: TField, index1: number, index2: number) => void;
1104
+ moveFieldValues: <TField extends DeepKeysOfType<TParentData, any[]>>(field: TField, fromIndex: number, toIndex: number) => void;
1105
+ clearFieldValues: <TField extends DeepKeysOfType<TParentData, any[]>>(field: TField) => void;
1106
+ resetField: <TField extends DeepKeysOfType<TParentData, any>>(field: TField) => void;
1107
+ removeFieldValue: <TField extends DeepKeysOfType<TParentData, any[]>>(field: TField, index: number) => Promise<void>;
1108
+ areRelatedFieldsValid: () => boolean;
1109
+ /**
1110
+ * Validates the form group and all related children.
1111
+ */
1112
+ validate: (cause: ValidationCause, opts?: {
1113
+ skipFormValidation?: boolean;
1114
+ skipRelatedFieldValidation?: boolean;
1115
+ }) => ValidationError[] | Promise<ValidationError[]>;
1116
+ /**
1117
+ * @private
1118
+ */
1119
+ triggerOnChangeListener: () => void;
1120
+ /**
1121
+ * @private
1122
+ */
1123
+ triggerOnSubmitListener: () => void;
1124
+ handleSubmit(): Promise<void>;
1125
+ handleSubmit(submitMeta: TSubmitMeta): Promise<void>;
1126
+ /**
1127
+ * Handles the form submission, performs validation, and calls the appropriate onSubmit or onSubmitInvalid callbacks.
1128
+ */
1129
+ _handleSubmit: (submitMeta?: TSubmitMeta) => Promise<void>;
1130
+ }
1131
+ //#endregion
1132
+ //#region node_modules/@tanstack/form-core/dist/esm/types.d.ts
1133
+ type ValidationError = unknown;
1134
+ type ValidationSource = 'form' | 'field';
1135
+ /**
1136
+ * "server" is only intended for SSR/SSG validation and should not execute anything
1137
+ * @private
1138
+ */
1139
+ type ValidationCause = 'change' | 'blur' | 'submit' | 'mount' | 'server' | 'dynamic';
1140
+ /**
1141
+ * @private
1142
+ */
1143
+ type ListenerCause = 'change' | 'blur' | 'submit' | 'mount';
740
1144
  /**
741
1145
  * @private
742
1146
  */
@@ -811,9 +1215,8 @@ interface UpdateMetaOptions {
811
1215
  }
812
1216
  /**
813
1217
  * @private
814
- * A list of field manipulation methods that a form-like API must implement.
815
1218
  */
816
- interface FieldManipulator<TFormData, TSubmitMeta> {
1219
+ interface FormLikeAPI<TFormData, TSubmitMeta> {
817
1220
  /**
818
1221
  * Validates all fields using the correct handlers for a given validation cause.
819
1222
  */
@@ -838,11 +1241,11 @@ interface FieldManipulator<TFormData, TSubmitMeta> {
838
1241
  /**
839
1242
  * Gets the metadata of the specified field.
840
1243
  */
841
- getFieldMeta: <TField extends DeepKeys<TFormData>>(field: TField) => AnyFieldMeta | undefined;
1244
+ getFieldMeta: <TField extends DeepKeys<TFormData>>(field: TField) => AnyFieldLikeMeta | undefined;
842
1245
  /**
843
1246
  * Updates the metadata of the specified field.
844
1247
  */
845
- setFieldMeta: <TField extends DeepKeys<TFormData>>(field: TField, updater: Updater<AnyFieldMetaBase>) => void;
1248
+ setFieldMeta: <TField extends DeepKeys<TFormData>>(field: TField, updater: Updater<AnyFieldLikeMetaBase>) => void;
846
1249
  /**
847
1250
  * Sets the value of the specified field and optionally updates the touched state.
848
1251
  */
@@ -884,102 +1287,182 @@ interface FieldManipulator<TFormData, TSubmitMeta> {
884
1287
  */
885
1288
  resetField: <TField extends DeepKeys<TFormData>>(field: TField) => void;
886
1289
  }
887
- //#endregion
888
- //#region node_modules/@tanstack/form-core/dist/esm/standardSchemaValidator.d.ts
889
- type TStandardSchemaValidatorValue<TData, TSource extends ValidationSource = ValidationSource> = {
890
- value: TData;
891
- validationSource: TSource;
1290
+ type UnwrapFormAsyncValidateOrFnForInner<TValidateOrFn extends undefined | FormAsyncValidateOrFn<any>> = [TValidateOrFn] extends [FormValidateAsyncFn<any>] ? Awaited<ReturnType<TValidateOrFn>> : [TValidateOrFn] extends [StandardSchemaV1<infer TOut, any>] ? StandardBrandedSchemaV1<TOut> : undefined;
1291
+ type UnwrapFieldAsyncValidateOrFn<TName extends string, TValidateOrFn extends undefined | FieldAsyncValidateOrFn<any, any, any> | FormGroupAsyncValidateOrFn<any, any>, TFormValidateOrFn extends undefined | FormAsyncValidateOrFn<any>> = ([TFormValidateOrFn] extends [StandardSchemaV1<any, infer TStandardOut>] ? TName extends keyof TStandardOut ? StandardSchemaV1Issue[] : undefined : undefined) | (UnwrapFormAsyncValidateOrFnForInner<TFormValidateOrFn> extends infer TFormValidateVal ? TFormValidateVal extends {
1292
+ __standardSchemaV1: true;
1293
+ } ? [DeepValue<TFormValidateVal, TName>] extends [never] ? undefined : StandardSchemaV1Issue[] : TFormValidateVal extends {
1294
+ fields: any;
1295
+ } ? TName extends keyof TFormValidateVal['fields'] ? TFormValidateVal['fields'][TName] : undefined : undefined : never) | ([TValidateOrFn] extends [FieldValidateAsyncFn<any, any, any>] ? Awaited<ReturnType<TValidateOrFn>> : [TValidateOrFn] extends [StandardSchemaV1<any, any>] ? StandardSchemaV1Issue[] : undefined) | ([TValidateOrFn] extends [FormGroupValidateAsyncFn<any, any, any>] ? Awaited<ReturnType<TValidateOrFn>> : [TValidateOrFn] extends [StandardSchemaV1<any, any>] ? StandardSchemaV1Issue[] : undefined);
1296
+ /**
1297
+ * @private
1298
+ */
1299
+ type FieldErrorMapFromValidator<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>> = Partial<Record<DeepKeys<TParentData>, ValidationErrorMap<TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync>>>;
1300
+ type StandardBrandedSchemaV1<T> = T & {
1301
+ __standardSchemaV1: true;
892
1302
  };
1303
+ type UnwrapFormValidateOrFnForInner<TValidateOrFn extends undefined | FormValidateOrFn<any>> = [TValidateOrFn] extends [FormValidateFn<any>] ? ReturnType<TValidateOrFn> : [TValidateOrFn] extends [StandardSchemaV1<infer TOut, any>] ? StandardBrandedSchemaV1<TOut> : undefined;
1304
+ type UnwrapFieldValidateOrFn<TName extends string, TValidateOrFn extends undefined | FieldValidateOrFn<any, any, any> | FormGroupValidateOrFn<any, any, any>, TFormValidateOrFn extends undefined | FormValidateOrFn<any>> = ([TFormValidateOrFn] extends [StandardSchemaV1<any, infer TStandardOut>] ? TName extends keyof TStandardOut ? StandardSchemaV1Issue[] : undefined : undefined) | (UnwrapFormValidateOrFnForInner<TFormValidateOrFn> extends infer TFormValidateVal ? TFormValidateVal extends {
1305
+ __standardSchemaV1: true;
1306
+ } ? [DeepValue<TFormValidateVal, TName>] extends [never] ? undefined : StandardSchemaV1Issue[] : TFormValidateVal extends {
1307
+ fields: any;
1308
+ } ? TName extends keyof TFormValidateVal['fields'] ? TFormValidateVal['fields'][TName] : undefined : undefined : never) | ([TValidateOrFn] extends [FieldValidateFn<any, any, any>] ? ReturnType<TValidateOrFn> : [TValidateOrFn] extends [StandardSchemaV1<any, any>] ? StandardSchemaV1Issue[] : undefined) | ([TValidateOrFn] extends [FormGroupValidateFn<any, any, any>] ? ReturnType<TValidateOrFn> : [TValidateOrFn] extends [StandardSchemaV1<any, any>] ? StandardSchemaV1Issue[] : undefined);
893
1309
  /**
894
- * The Standard Schema interface.
1310
+ * @private
895
1311
  */
896
- type StandardSchemaV1<Input = unknown, Output = Input> = {
1312
+ type FieldLikeMetaBase<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>> = {
897
1313
  /**
898
- * The Standard Schema properties.
1314
+ * A flag indicating whether the field has been touched.
899
1315
  */
900
- readonly '~standard': StandardSchemaV1Props<Input, Output>;
1316
+ isTouched: boolean;
1317
+ /**
1318
+ * A flag indicating whether the field has been blurred.
1319
+ */
1320
+ isBlurred: boolean;
1321
+ /**
1322
+ * A flag that is `true` if the field's value has been modified by the user. Opposite of `isPristine`.
1323
+ */
1324
+ isDirty: boolean;
1325
+ /**
1326
+ * A map of errors related to the field value.
1327
+ */
1328
+ errorMap: ValidationErrorMap<UnwrapFieldValidateOrFn<TName, TOnMount, TFormOnMount>, UnwrapFieldValidateOrFn<TName, TOnChange, TFormOnChange>, UnwrapFieldAsyncValidateOrFn<TName, TOnChangeAsync, TFormOnChangeAsync>, UnwrapFieldValidateOrFn<TName, TOnBlur, TFormOnBlur>, UnwrapFieldAsyncValidateOrFn<TName, TOnBlurAsync, TFormOnBlurAsync>, UnwrapFieldValidateOrFn<TName, TOnSubmit, TFormOnSubmit>, UnwrapFieldAsyncValidateOrFn<TName, TOnSubmitAsync, TFormOnSubmitAsync>, UnwrapFieldValidateOrFn<TName, TOnDynamic, TFormOnDynamic>, UnwrapFieldAsyncValidateOrFn<TName, TOnDynamicAsync, TFormOnDynamicAsync>>;
1329
+ /**
1330
+ * @private allows tracking the source of the errors in the error map
1331
+ */
1332
+ errorSourceMap: ValidationErrorMapSource;
1333
+ /**
1334
+ * A flag indicating whether the field is currently being validated.
1335
+ */
1336
+ isValidating: boolean;
1337
+ /**
1338
+ * @private a counter that is incremented every time a structural array
1339
+ * operation (push, insert, remove, swap, move, replace, clear) modifies
1340
+ * the value of an array field. Adapters can subscribe to this to trigger
1341
+ * re-renders for `mode="array"` fields without having to subscribe to the
1342
+ * full field value.
1343
+ */
1344
+ _arrayVersion: number;
901
1345
  };
902
1346
  /**
903
- * The Standard Schema properties interface.
1347
+ * @private
904
1348
  */
905
- interface StandardSchemaV1Props<Input = unknown, Output = Input> {
1349
+ type AnyFieldLikeMetaBase = FieldLikeMetaBase<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
1350
+ /**
1351
+ * @private
1352
+ */
1353
+ type FieldLikeMetaDerived<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>> = {
906
1354
  /**
907
- * The version number of the standard.
1355
+ * An array of errors related to the field value.
908
1356
  */
909
- readonly version: 1;
1357
+ errors: Array<UnwrapOneLevelOfArray<UnwrapFieldValidateOrFn<TName, TOnMount, TFormOnMount>> | UnwrapOneLevelOfArray<UnwrapFieldValidateOrFn<TName, TOnChange, TFormOnChange>> | UnwrapOneLevelOfArray<UnwrapFieldAsyncValidateOrFn<TName, TOnChangeAsync, TFormOnChangeAsync>> | UnwrapOneLevelOfArray<UnwrapFieldValidateOrFn<TName, TOnBlur, TFormOnBlur>> | UnwrapOneLevelOfArray<UnwrapFieldAsyncValidateOrFn<TName, TOnBlurAsync, TFormOnBlurAsync>> | UnwrapOneLevelOfArray<UnwrapFieldValidateOrFn<TName, TOnSubmit, TFormOnSubmit>> | UnwrapOneLevelOfArray<UnwrapFieldAsyncValidateOrFn<TName, TOnSubmitAsync, TFormOnSubmitAsync>> | UnwrapOneLevelOfArray<UnwrapFieldValidateOrFn<TName, TOnDynamic, TFormOnDynamic>> | UnwrapOneLevelOfArray<UnwrapFieldAsyncValidateOrFn<TName, TOnDynamicAsync, TFormOnDynamicAsync>>>;
910
1358
  /**
911
- * The vendor name of the schema library.
1359
+ * A flag that is `true` if the field's value has not been modified by the user. Opposite of `isDirty`.
912
1360
  */
913
- readonly vendor: string;
1361
+ isPristine: boolean;
914
1362
  /**
915
- * Validates unknown input values.
1363
+ * A boolean indicating if the field is valid. Evaluates `true` if there are no field errors.
916
1364
  */
917
- readonly validate: (value: unknown) => StandardSchemaV1Result<Output> | Promise<StandardSchemaV1Result<Output>>;
1365
+ isValid: boolean;
918
1366
  /**
919
- * Inferred types associated with the schema.
1367
+ * A flag indicating whether the field's current value is the default value
920
1368
  */
921
- readonly types?: StandardSchemaV1Types<Input, Output> | undefined;
922
- }
1369
+ isDefaultValue: boolean;
1370
+ };
923
1371
  /**
924
- * The result interface of the validate function.
1372
+ * @private
1373
+ * An object type representing the metadata of a field in a form.
925
1374
  */
926
- type StandardSchemaV1Result<Output> = StandardSchemaV1SuccessResult<Output> | StandardSchemaV1FailureResult;
1375
+ type FieldLikeMeta<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>> = FieldLikeMetaBase<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync> & FieldLikeMetaDerived<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;
927
1376
  /**
928
- * The result interface if validation succeeds.
1377
+ * @private
929
1378
  */
930
- interface StandardSchemaV1SuccessResult<Output> {
1379
+ type AnyFieldLikeMeta = FieldLikeMeta<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
1380
+ /**
1381
+ * @private
1382
+ * An object type representing the state of a field.
1383
+ */
1384
+ type FieldLikeState<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>> = {
1385
+ /**
1386
+ * The current value of the field.
1387
+ */
1388
+ value: TData;
1389
+ /**
1390
+ * The current metadata of the field.
1391
+ */
1392
+ meta: FieldLikeMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>;
1393
+ };
1394
+ /**
1395
+ * @private
1396
+ * An object type representing the options for a field in a form.
1397
+ */
1398
+ interface FieldLikeOptions<TParentData, TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>> {
1399
+ /**
1400
+ * The field name. The type will be `DeepKeys<TParentData>` to ensure your name is a deep key of the parent dataset.
1401
+ */
1402
+ name: TName;
1403
+ /**
1404
+ * An optional default value for the field.
1405
+ */
1406
+ defaultValue?: NoInfer<TData>;
1407
+ /**
1408
+ * The default time to debounce async validation if there is not a more specific debounce time passed.
1409
+ */
1410
+ asyncDebounceMs?: number;
1411
+ /**
1412
+ * If `true`, always run async validation, even if there are errors emitted during synchronous validation.
1413
+ */
1414
+ asyncAlways?: boolean;
931
1415
  /**
932
- * The typed output value.
1416
+ * An optional object with default metadata for the field.
933
1417
  */
934
- readonly value: Output;
1418
+ defaultMeta?: Partial<FieldLikeMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, any, any, any, any, any, any, any, any, any>>;
935
1419
  /**
936
- * The non-existent issues.
1420
+ * Disable the `flat(1)` operation on `field.errors`. This is useful if you want to keep the error structure as is. Not suggested for most use-cases.
937
1421
  */
938
- readonly issues?: undefined;
1422
+ disableErrorFlat?: boolean;
939
1423
  }
940
1424
  /**
941
- * The result interface if validation fails.
1425
+ * @private
1426
+ * An object type representing the required options for the FieldApi class.
942
1427
  */
943
- interface StandardSchemaV1FailureResult {
944
- /**
945
- * The issues of failed validation.
946
- */
947
- readonly issues: ReadonlyArray<StandardSchemaV1Issue>;
1428
+ interface FieldLikeApiOptions<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, in out TParentSubmitMeta> extends FieldLikeOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync> {
1429
+ form: FormApi<TParentData, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta>;
948
1430
  }
949
1431
  /**
950
- * The issue interface of the failure output.
1432
+ * @private
951
1433
  */
952
- interface StandardSchemaV1Issue {
1434
+ interface FieldLikeAPI<in out TParentData, in out TName extends DeepKeys<TParentData>, in out TData extends DeepValue<TParentData, TName>, in out TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData> | FormGroupValidateOrFn<TParentData, TName, TData>, in out TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData> | FormGroupAsyncValidateOrFn<TParentData, TName, TData>, in out TFormOnMount extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChange extends undefined | FormValidateOrFn<TParentData>, in out TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, in out TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, in out TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, in out TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, in out TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, in out TParentSubmitMeta, TExtraOptions = {}> {
1435
+ form: AnyFormApi;
1436
+ options: FieldLikeApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TParentSubmitMeta> & TExtraOptions;
1437
+ store: ReadonlyStore<FieldLikeState<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>>;
953
1438
  /**
954
- * The error message of the issue.
1439
+ * The field name.
955
1440
  */
956
- readonly message: string;
1441
+ name: TName;
1442
+ mount: () => () => void;
1443
+ setValue: (updater: Updater<TData>, options?: UpdateMetaOptions) => void;
1444
+ getMeta: () => AnyFieldLikeMeta;
1445
+ setMeta: (updater: Updater<AnyFieldLikeMetaBase>) => void;
1446
+ getInfo: () => FieldInfo<TParentData>;
1447
+ validate: (cause: ValidationCause, opts?: {
1448
+ skipFormValidation?: boolean;
1449
+ skipGroupValidation?: boolean;
1450
+ }) => ValidationError[] | Promise<ValidationError[]>;
957
1451
  /**
958
- * The path of the issue, if any.
1452
+ * @private
959
1453
  */
960
- readonly path?: ReadonlyArray<PropertyKey | StandardSchemaV1PathSegment> | undefined;
961
- }
962
- /**
963
- * The path segment interface of the issue.
964
- */
965
- interface StandardSchemaV1PathSegment {
1454
+ triggerOnChangeListener: () => void;
966
1455
  /**
967
- * The key representing a path segment.
1456
+ * @private
968
1457
  */
969
- readonly key: PropertyKey;
1458
+ triggerOnSubmitListener: () => void;
970
1459
  }
971
1460
  /**
972
- * The Standard Schema types interface.
1461
+ * @private
973
1462
  */
974
- interface StandardSchemaV1Types<Input = unknown, Output = Input> {
975
- /**
976
- * The input type of the schema.
977
- */
978
- readonly input: Input;
979
- /**
980
- * The output type of the schema.
981
- */
982
- readonly output: Output;
1463
+ interface FieldInfo<TParentData> {
1464
+ instance: FieldLikeAPI<TParentData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any> | null;
1465
+ validationMetaMap: Record<ValidationErrorMapKeys, ValidationMeta | undefined>;
983
1466
  }
984
1467
  //#endregion
985
1468
  //#region node_modules/@tanstack/form-core/dist/esm/FormApi.d.ts
@@ -1013,11 +1496,11 @@ interface FormValidators<TFormData, TOnMount extends undefined | FormValidateOrF
1013
1496
  /**
1014
1497
  * Optional function that fires as soon as the component mounts.
1015
1498
  */
1016
- onMount?: TOnMount;
1499
+ onMount?: RejectPromiseValidator<TOnMount>;
1017
1500
  /**
1018
1501
  * Optional function that checks the validity of your data whenever a value changes
1019
1502
  */
1020
- onChange?: TOnChange;
1503
+ onChange?: RejectPromiseValidator<TOnChange>;
1021
1504
  /**
1022
1505
  * Optional onChange asynchronous counterpart to onChange. Useful for more complex validation logic that might involve server requests.
1023
1506
  */
@@ -1029,7 +1512,7 @@ interface FormValidators<TFormData, TOnMount extends undefined | FormValidateOrF
1029
1512
  /**
1030
1513
  * Optional function that validates the form data when a field loses focus, returns a `FormValidationError`
1031
1514
  */
1032
- onBlur?: TOnBlur;
1515
+ onBlur?: RejectPromiseValidator<TOnBlur>;
1033
1516
  /**
1034
1517
  * Optional onBlur asynchronous validation method for when a field loses focus returns a ` FormValidationError` or a promise of `Promise<FormValidationError>`
1035
1518
  */
@@ -1038,18 +1521,25 @@ interface FormValidators<TFormData, TOnMount extends undefined | FormValidateOrF
1038
1521
  * The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds.
1039
1522
  */
1040
1523
  onBlurAsyncDebounceMs?: number;
1041
- onSubmit?: TOnSubmit;
1524
+ onSubmit?: RejectPromiseValidator<TOnSubmit>;
1042
1525
  onSubmitAsync?: TOnSubmitAsync;
1043
- onDynamic?: TOnDynamic;
1526
+ onDynamic?: RejectPromiseValidator<TOnDynamic>;
1044
1527
  onDynamicAsync?: TOnDynamicAsync;
1045
1528
  onDynamicAsyncDebounceMs?: number;
1046
1529
  }
1530
+ interface FormListenersPropsGroup<TFormData, TOnMount extends undefined | FormValidateOrFn<TFormData>, TOnChange extends undefined | FormValidateOrFn<TFormData>, TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnBlur extends undefined | FormValidateOrFn<TFormData>, TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnSubmit extends undefined | FormValidateOrFn<TFormData>, TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnDynamic extends undefined | FormValidateOrFn<TFormData>, TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>, TSubmitMeta = never> {
1531
+ formApi: FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>;
1532
+ groupApi: AnyFormGroupApi;
1533
+ }
1534
+ interface FormListenersPropsField<TFormData, TOnMount extends undefined | FormValidateOrFn<TFormData>, TOnChange extends undefined | FormValidateOrFn<TFormData>, TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnBlur extends undefined | FormValidateOrFn<TFormData>, TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnSubmit extends undefined | FormValidateOrFn<TFormData>, TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnDynamic extends undefined | FormValidateOrFn<TFormData>, TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>, TSubmitMeta = never> {
1535
+ formApi: FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>;
1536
+ fieldApi: AnyFieldApi;
1537
+ }
1047
1538
  interface FormListeners<TFormData, TOnMount extends undefined | FormValidateOrFn<TFormData>, TOnChange extends undefined | FormValidateOrFn<TFormData>, TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnBlur extends undefined | FormValidateOrFn<TFormData>, TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnSubmit extends undefined | FormValidateOrFn<TFormData>, TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnDynamic extends undefined | FormValidateOrFn<TFormData>, TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>, TSubmitMeta = never> {
1048
- onChange?: (props: {
1049
- formApi: FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>;
1050
- fieldApi: AnyFieldApi;
1051
- }) => void;
1539
+ onChange?: (props: FormListenersPropsField<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>) => void;
1052
1540
  onChangeDebounceMs?: number;
1541
+ onChangeGroup?: (props: FormListenersPropsGroup<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>) => void;
1542
+ onChangeGroupDebounceMs?: number;
1053
1543
  onBlur?: (props: {
1054
1544
  formApi: FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>;
1055
1545
  fieldApi: AnyFieldApi;
@@ -1062,10 +1552,8 @@ interface FormListeners<TFormData, TOnMount extends undefined | FormValidateOrFn
1062
1552
  formApi: FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>;
1063
1553
  meta: TSubmitMeta;
1064
1554
  }) => void;
1065
- onFieldUnmount?: (props: {
1066
- formApi: FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>;
1067
- fieldApi: AnyFieldApi;
1068
- }) => void;
1555
+ onFieldUnmount?: (props: FormListenersPropsField<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>) => void;
1556
+ onGroupUnmount?: (props: FormListenersPropsGroup<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>) => void;
1069
1557
  }
1070
1558
  /**
1071
1559
  * An object representing the base properties of a form, unrelated to any validators
@@ -1140,19 +1628,6 @@ type ValidationMeta = {
1140
1628
  */
1141
1629
  lastAbortController: AbortController;
1142
1630
  };
1143
- /**
1144
- * An object representing the field information for a specific field within the form.
1145
- */
1146
- type FieldInfo<TFormData> = {
1147
- /**
1148
- * An instance of the FieldAPI.
1149
- */
1150
- instance: FieldApi<TFormData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any> | null;
1151
- /**
1152
- * A record of field validation internal handling.
1153
- */
1154
- validationMetaMap: Record<ValidationErrorMapKeys, ValidationMeta | undefined>;
1155
- };
1156
1631
  /**
1157
1632
  * An object representing the current state of the form.
1158
1633
  */
@@ -1172,7 +1647,14 @@ type BaseFormState<in out TFormData, in out TOnMount extends undefined | FormVal
1172
1647
  /**
1173
1648
  * A record of field metadata for each field in the form, not including the derived properties, like `errors` and such
1174
1649
  */
1175
- fieldMetaBase: Partial<Record<DeepKeys<TFormData>, AnyFieldMetaBase>>;
1650
+ fieldMetaBase: Partial<Record<DeepKeys<TFormData>, AnyFieldLikeMetaBase>>;
1651
+ /**
1652
+ * A record of submission lifecycle state for each mounted `FormGroupApi`,
1653
+ * keyed by the group's fully-qualified field name. Stored on the form so
1654
+ * group-level state can be read from `FormApi` without having to walk the
1655
+ * mounted group instances.
1656
+ */
1657
+ formGroupStateBase: Partial<Record<string, FormGroupState>>;
1176
1658
  /**
1177
1659
  * A boolean indicating if the form is currently in the process of being submitted after `handleSubmit` is called.
1178
1660
  *
@@ -1223,7 +1705,7 @@ type DerivedFormState<in out TFormData, in out TOnMount extends undefined | Form
1223
1705
  /**
1224
1706
  * The error array for the form itself.
1225
1707
  */
1226
- errors: Array<UnwrapFormValidateOrFn<TOnMount> | UnwrapFormValidateOrFn<TOnChange> | UnwrapFormAsyncValidateOrFn<TOnChangeAsync> | UnwrapFormValidateOrFn<TOnBlur> | UnwrapFormAsyncValidateOrFn<TOnBlurAsync> | UnwrapFormValidateOrFn<TOnSubmit> | UnwrapFormAsyncValidateOrFn<TOnSubmitAsync> | UnwrapFormValidateOrFn<TOnDynamic> | UnwrapFormAsyncValidateOrFn<TOnDynamicAsync> | UnwrapFormAsyncValidateOrFn<TOnServer>>;
1708
+ errors: Array<NonNullable<UnwrapFormValidateOrFn<TOnMount> | UnwrapFormValidateOrFn<TOnChange> | UnwrapFormAsyncValidateOrFn<TOnChangeAsync> | UnwrapFormValidateOrFn<TOnBlur> | UnwrapFormAsyncValidateOrFn<TOnBlurAsync> | UnwrapFormValidateOrFn<TOnSubmit> | UnwrapFormAsyncValidateOrFn<TOnSubmitAsync> | UnwrapFormValidateOrFn<TOnDynamic> | UnwrapFormAsyncValidateOrFn<TOnDynamicAsync> | UnwrapFormAsyncValidateOrFn<TOnServer>>>;
1227
1709
  /**
1228
1710
  * A boolean indicating if any of the form fields are currently validating.
1229
1711
  */
@@ -1263,7 +1745,7 @@ type DerivedFormState<in out TFormData, in out TOnMount extends undefined | Form
1263
1745
  /**
1264
1746
  * A record of field metadata for each field in the form.
1265
1747
  */
1266
- fieldMeta: Partial<Record<DeepKeys<TFormData>, AnyFieldMeta>>;
1748
+ fieldMeta: Partial<Record<DeepKeys<TFormData>, AnyFieldLikeMeta>>;
1267
1749
  };
1268
1750
  interface FormState<in out TFormData, in out TOnMount extends undefined | FormValidateOrFn<TFormData>, in out TOnChange extends undefined | FormValidateOrFn<TFormData>, in out TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnBlur extends undefined | FormValidateOrFn<TFormData>, in out TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnSubmit extends undefined | FormValidateOrFn<TFormData>, in out TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnDynamic extends undefined | FormValidateOrFn<TFormData>, in out TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>> extends BaseFormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>, DerivedFormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer> {}
1269
1751
  /**
@@ -1272,6 +1754,11 @@ interface FormState<in out TFormData, in out TOnMount extends undefined | FormVa
1272
1754
  * A type representing the Form API with all generics set to `any` for convenience.
1273
1755
  */
1274
1756
  type AnyFormApi = FormApi<any, any, any, any, any, any, any, any, any, any, any, any>;
1757
+ interface ValidateOpts<TFormData> {
1758
+ dontUpdateFormErrorMap?: boolean;
1759
+ filterFieldNames?: (fieldName: DeepKeys<TFormData>) => boolean;
1760
+ group?: AnyFormGroupApi;
1761
+ }
1275
1762
  /**
1276
1763
  * We cannot use methods and must use arrow functions. Otherwise, our React adapters
1277
1764
  * will break due to loss of the method when using spread.
@@ -1283,18 +1770,32 @@ type AnyFormApi = FormApi<any, any, any, any, any, any, any, any, any, any, any,
1283
1770
  * hook/function like `useForm` or `createForm` to create a new instance for you that uses your framework's reactivity model.
1284
1771
  * However, if you need to create a new instance manually, you can do so by calling the `new FormApi` constructor.
1285
1772
  */
1286
- declare class FormApi<in out TFormData, in out TOnMount extends undefined | FormValidateOrFn<TFormData>, in out TOnChange extends undefined | FormValidateOrFn<TFormData>, in out TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnBlur extends undefined | FormValidateOrFn<TFormData>, in out TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnSubmit extends undefined | FormValidateOrFn<TFormData>, in out TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnDynamic extends undefined | FormValidateOrFn<TFormData>, in out TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>, in out TSubmitMeta = never> implements FieldManipulator<TFormData, TSubmitMeta> {
1773
+ declare class FormApi<in out TFormData, in out TOnMount extends undefined | FormValidateOrFn<TFormData>, in out TOnChange extends undefined | FormValidateOrFn<TFormData>, in out TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnBlur extends undefined | FormValidateOrFn<TFormData>, in out TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnSubmit extends undefined | FormValidateOrFn<TFormData>, in out TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnDynamic extends undefined | FormValidateOrFn<TFormData>, in out TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>, in out TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>, in out TSubmitMeta = never> implements FormLikeAPI<TFormData, TSubmitMeta> {
1287
1774
  /**
1288
1775
  * The options for the form.
1289
1776
  */
1290
1777
  options: FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>;
1291
1778
  baseStore: Store<BaseFormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>>;
1292
1779
  fieldMetaDerived: Store<FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>['fieldMeta']>;
1780
+ /**
1781
+ * A derived store of every mounted `FormGroupApi`'s `meta`, keyed by
1782
+ * group name. Mirrors `fieldMetaDerived` for fields: per-group `meta`
1783
+ * is computed once on the form (from `baseStore.formGroupStateBase`,
1784
+ * `fieldMetaDerived`, and the registered `formGroupApis`) so reads
1785
+ * from a `FormGroupApi.store` instance stay minimal.
1786
+ */
1787
+ formGroupMetaDerived: ReadonlyStore<Record<string, AnyFormGroupMeta>>;
1293
1788
  store: ReadonlyStore<FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>>;
1294
1789
  /**
1295
1790
  * A record of field information for each field in the form.
1296
1791
  */
1297
1792
  fieldInfo: Partial<Record<DeepKeys<TFormData>, FieldInfo<TFormData>>>;
1793
+ /**
1794
+ * The set of currently-mounted `FormGroupApi` instances belonging to
1795
+ * this form. Used by `FieldApi.validate` to cascade field-level changes
1796
+ * into the validators of any group that encompasses the field.
1797
+ */
1798
+ formGroupApis: Set<AnyFormGroupApi>;
1298
1799
  get state(): FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>;
1299
1800
  /**
1300
1801
  * @private
@@ -1359,18 +1860,18 @@ declare class FormApi<in out TFormData, in out TOnMount extends undefined | Form
1359
1860
  * TODO: This code is copied from FieldApi, we should refactor to share
1360
1861
  * @private
1361
1862
  */
1362
- validateSync: (cause: ValidationCause) => {
1863
+ validateSync: (cause: ValidationCause, validateOpts?: ValidateOpts<TFormData>) => {
1363
1864
  hasErrored: boolean;
1364
1865
  fieldsErrorMap: FormErrorMapFromValidator<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>;
1365
1866
  };
1366
1867
  /**
1367
1868
  * @private
1368
1869
  */
1369
- validateAsync: (cause: ValidationCause) => Promise<FormErrorMapFromValidator<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>>;
1870
+ validateAsync: (cause: ValidationCause, validateOpts?: ValidateOpts<TFormData>) => Promise<FormErrorMapFromValidator<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>>;
1370
1871
  /**
1371
1872
  * @private
1372
1873
  */
1373
- validate: (cause: ValidationCause) => FormErrorMapFromValidator<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync> | Promise<FormErrorMapFromValidator<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>>;
1874
+ validate: (cause: ValidationCause, validateOpts?: ValidateOpts<TFormData>) => FormErrorMapFromValidator<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync> | Promise<FormErrorMapFromValidator<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>>;
1374
1875
  handleSubmit(): Promise<void>;
1375
1876
  handleSubmit(submitMeta: TSubmitMeta): Promise<void>;
1376
1877
  /**
@@ -1384,7 +1885,13 @@ declare class FormApi<in out TFormData, in out TOnMount extends undefined | Form
1384
1885
  /**
1385
1886
  * Gets the metadata of the specified field.
1386
1887
  */
1387
- getFieldMeta: <TField extends DeepKeys<TFormData>>(field: TField) => AnyFieldMeta | undefined;
1888
+ getFieldMeta: <TField extends DeepKeys<TFormData>>(field: TField) => AnyFieldLikeMeta | undefined;
1889
+ /**
1890
+ * Gets the derived `meta` of the form group registered at the given
1891
+ * name. Mirrors `getFieldMeta` for fields. Returns `undefined` if no
1892
+ * `FormGroupApi` with that name is currently mounted.
1893
+ */
1894
+ getFormGroupMeta: (name: string) => AnyFormGroupMeta | undefined;
1388
1895
  /**
1389
1896
  * Gets the field info of the specified field.
1390
1897
  */
@@ -1392,11 +1899,11 @@ declare class FormApi<in out TFormData, in out TOnMount extends undefined | Form
1392
1899
  /**
1393
1900
  * Updates the metadata of the specified field.
1394
1901
  */
1395
- setFieldMeta: <TField extends DeepKeys<TFormData>>(field: TField, updater: Updater<AnyFieldMetaBase>) => void;
1902
+ setFieldMeta: <TField extends DeepKeys<TFormData>>(field: TField, updater: Updater<AnyFieldLikeMetaBase>) => void;
1396
1903
  /**
1397
1904
  * resets every field's meta
1398
1905
  */
1399
- resetFieldMeta: <TField extends DeepKeys<TFormData>>(fieldMeta: Partial<Record<TField, AnyFieldMeta>>) => Partial<Record<TField, AnyFieldMeta>>;
1906
+ resetFieldMeta: <TField extends DeepKeys<TFormData>>(fieldMeta: Partial<Record<TField, AnyFieldLikeMeta>>) => Partial<Record<TField, AnyFieldLikeMeta>>;
1400
1907
  /**
1401
1908
  * Sets the value of the specified field and optionally updates the touched state.
1402
1909
  */
@@ -1440,7 +1947,7 @@ declare class FormApi<in out TFormData, in out TOnMount extends undefined | Form
1440
1947
  */
1441
1948
  getAllErrors: () => {
1442
1949
  form: {
1443
- errors: Array<UnwrapFormValidateOrFn<TOnMount> | UnwrapFormValidateOrFn<TOnChange> | UnwrapFormAsyncValidateOrFn<TOnChangeAsync> | UnwrapFormValidateOrFn<TOnBlur> | UnwrapFormAsyncValidateOrFn<TOnBlurAsync> | UnwrapFormValidateOrFn<TOnSubmit> | UnwrapFormAsyncValidateOrFn<TOnSubmitAsync> | UnwrapFormValidateOrFn<TOnDynamic> | UnwrapFormAsyncValidateOrFn<TOnDynamicAsync> | UnwrapFormAsyncValidateOrFn<TOnServer>>;
1950
+ errors: Array<NonNullable<UnwrapFormValidateOrFn<TOnMount> | UnwrapFormValidateOrFn<TOnChange> | UnwrapFormAsyncValidateOrFn<TOnChangeAsync> | UnwrapFormValidateOrFn<TOnBlur> | UnwrapFormAsyncValidateOrFn<TOnBlurAsync> | UnwrapFormValidateOrFn<TOnSubmit> | UnwrapFormAsyncValidateOrFn<TOnSubmitAsync> | UnwrapFormValidateOrFn<TOnDynamic> | UnwrapFormAsyncValidateOrFn<TOnDynamicAsync> | UnwrapFormAsyncValidateOrFn<TOnServer>>>;
1444
1951
  errorMap: ValidationErrorMap<UnwrapFormValidateOrFn<TOnMount>, UnwrapFormValidateOrFn<TOnChange>, UnwrapFormAsyncValidateOrFn<TOnChangeAsync>, UnwrapFormValidateOrFn<TOnBlur>, UnwrapFormAsyncValidateOrFn<TOnBlurAsync>, UnwrapFormValidateOrFn<TOnSubmit>, UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>, UnwrapFormValidateOrFn<TOnDynamic>, UnwrapFormAsyncValidateOrFn<TOnDynamicAsync>, UnwrapFormAsyncValidateOrFn<TOnServer>>;
1445
1952
  };
1446
1953
  fields: Record<DeepKeys<TFormData>, {
@@ -1549,7 +2056,7 @@ declare function ArrayHeaderRow({
1549
2056
  className,
1550
2057
  children
1551
2058
  }: ArrayHeaderRowProps): import("react").JSX.Element;
1552
- type Props<T> = {
2059
+ type Props$9<T> = {
1553
2060
  /**
1554
2061
  * Shape of a brand-new empty row appended when the user clicks "Add row".
1555
2062
  */
@@ -1593,7 +2100,487 @@ declare function SimpleArrayField<T>({
1593
2100
  children,
1594
2101
  addLabel,
1595
2102
  className
1596
- }: Props<T>): import("react").JSX.Element;
2103
+ }: Props$9<T>): import("react").JSX.Element;
2104
+ //#endregion
2105
+ //#region packages/components/features/tanstack-form/components/atoms/simple-boolean-field.d.ts
2106
+ type Props$8 = {
2107
+ label?: string;
2108
+ required?: boolean;
2109
+ disabled?: boolean;
2110
+ variant?: 'checkbox' | 'switch';
2111
+ };
2112
+ declare const SimpleBooleanField: React.FC<Props$8>;
2113
+ //#endregion
2114
+ //#region packages/components/features/tanstack-form/components/atoms/simple-combobox-field.d.ts
2115
+ type Props$7 = {
2116
+ label?: string;
2117
+ placeholder?: string;
2118
+ required?: boolean;
2119
+ disabled?: boolean;
2120
+ options: Array<{
2121
+ value: string;
2122
+ label: string;
2123
+ }>;
2124
+ };
2125
+ declare const SimpleComboboxField: React.FC<Props$7>;
2126
+ //#endregion
2127
+ //#region packages/components/features/tanstack-form/components/atoms/simple-date-field.d.ts
2128
+ type Props$6 = {
2129
+ label?: string;
2130
+ placeholder?: string;
2131
+ required?: boolean;
2132
+ disabled?: boolean;
2133
+ minDate?: Date;
2134
+ maxDate?: Date;
2135
+ };
2136
+ declare const SimpleDateField: React.FC<Props$6>;
2137
+ //#endregion
2138
+ //#region packages/components/features/tanstack-form/components/atoms/simple-radio-group-field.d.ts
2139
+ type Props$5 = {
2140
+ label?: string;
2141
+ required?: boolean;
2142
+ disabled?: boolean;
2143
+ options: Array<{
2144
+ value: string;
2145
+ label: string;
2146
+ }>;
2147
+ orientation?: 'horizontal' | 'vertical';
2148
+ };
2149
+ declare const SimpleRadioGroupField: React.FC<Props$5>;
2150
+ //#endregion
2151
+ //#region packages/components/features/tanstack-form/components/atoms/simple-email-field.d.ts
2152
+ type Props$4 = {
2153
+ label?: string;
2154
+ placeholder?: string;
2155
+ required?: boolean;
2156
+ maxLength?: number;
2157
+ disabled?: boolean;
2158
+ };
2159
+ declare const SimpleEmailField: React.FC<Props$4>;
2160
+ //#endregion
2161
+ //#region packages/components/features/tanstack-form/components/atoms/simple-number-field.d.ts
2162
+ type Props$3 = {
2163
+ label?: string;
2164
+ placeholder?: string;
2165
+ required?: boolean;
2166
+ unit?: string;
2167
+ allowNegative?: boolean;
2168
+ disabled?: boolean;
2169
+ };
2170
+ declare const SimpleNumberField: React.FC<Props$3>;
2171
+ //#endregion
2172
+ //#region packages/components/features/tanstack-form/components/atoms/simple-password-field.d.ts
2173
+ type Props$2 = {
2174
+ label?: string;
2175
+ placeholder?: string;
2176
+ required?: boolean;
2177
+ disabled?: boolean;
2178
+ };
2179
+ declare const SimplePasswordField: React.FC<Props$2>;
2180
+ //#endregion
2181
+ //#region packages/components/features/tanstack-form/components/atoms/simple-select-field.d.ts
2182
+ type Props$1 = {
2183
+ label?: string;
2184
+ placeholder?: string;
2185
+ required?: boolean;
2186
+ options: Array<{
2187
+ value: string;
2188
+ label: string;
2189
+ }>;
2190
+ };
2191
+ declare const SimpleSelectField: React.FC<Props$1>;
2192
+ //#endregion
2193
+ //#region packages/components/features/tanstack-form/components/atoms/simple-textarea-field.d.ts
2194
+ type Props = {
2195
+ label?: string;
2196
+ placeholder?: string;
2197
+ required?: boolean;
2198
+ maxLength?: number;
2199
+ rows?: number;
2200
+ disabled?: boolean;
2201
+ };
2202
+ declare const SimpleTextareaField: React.FC<Props>;
2203
+ //#endregion
2204
+ //#region packages/components/features/tanstack-form/components/atoms/simple-text-field.d.ts
2205
+ declare const SimpleTextField: React.FC<SimpleTextFieldProps>;
2206
+ //#endregion
2207
+ //#region packages/components/features/tanstack-form/components/fields/checkbox-field.d.ts
2208
+ /**
2209
+ * A TanStack Form-connected checkbox group field that manages an array of selected string values,
2210
+ * supporting multi-selection and submission-state disabling.
2211
+ *
2212
+ * @example
2213
+ * import { CheckboxField } from '@customafk/lunas-ui/features/tanstack-form';
2214
+ *
2215
+ * <form.Field name="roles">
2216
+ * {() => (
2217
+ * <CheckboxField
2218
+ * label="Roles"
2219
+ * options={[
2220
+ * { value: 'admin', label: 'Admin' },
2221
+ * { value: 'editor', label: 'Editor' },
2222
+ * ]}
2223
+ * helperText="Select one or more roles"
2224
+ * />
2225
+ * )}
2226
+ * </form.Field>
2227
+ */
2228
+ declare const CheckboxField: React.FC<CheckboxFieldProps>;
2229
+ //#endregion
2230
+ //#region packages/components/features/tanstack-form/components/fields/combobox-field.d.ts
2231
+ declare const ComboboxField: import("react").NamedExoticComponent<ComboboxFieldProps>;
2232
+ //#endregion
2233
+ //#region packages/components/features/tanstack-form/components/fields/date-field.d.ts
2234
+ declare const DateField: import("react").NamedExoticComponent<DateFieldProps>;
2235
+ //#endregion
2236
+ //#region packages/components/features/tanstack-form/components/fields/email-field.d.ts
2237
+ /**
2238
+ * A TanStack Form-connected email input field with an at-sign prefix icon,
2239
+ * optional clear button, and inline validation error display.
2240
+ *
2241
+ * @example
2242
+ * import { EmailField } from '@customafk/lunas-ui/features/tanstack-form';
2243
+ *
2244
+ * <form.Field name="email">
2245
+ * {() => (
2246
+ * <EmailField
2247
+ * label="Email address"
2248
+ * placeholder="you@example.com"
2249
+ * required
2250
+ * />
2251
+ * )}
2252
+ * </form.Field>
2253
+ */
2254
+ declare const EmailField: React.FC<EmailFieldProps>;
2255
+ //#endregion
2256
+ //#region packages/components/features/tanstack-form/components/fields/number-field.d.ts
2257
+ /**
2258
+ * A TanStack Form-connected numeric input field supporting rounding rules,
2259
+ * decimal precision, unit labels, and submission-state feedback.
2260
+ *
2261
+ * @example
2262
+ * import { NumberField } from '@customafk/lunas-ui/features/tanstack-form';
2263
+ *
2264
+ * <form.Field name="quantity">
2265
+ * {() => (
2266
+ * <NumberField
2267
+ * label="Quantity"
2268
+ * placeholder="0"
2269
+ * unit="pcs"
2270
+ * decimalPlaces={2}
2271
+ * required
2272
+ * />
2273
+ * )}
2274
+ * </form.Field>
2275
+ */
2276
+ declare const NumberField: import("react").NamedExoticComponent<NumberFieldProps>;
2277
+ //#endregion
2278
+ //#region packages/components/features/tanstack-form/components/fields/password-field.d.ts
2279
+ /**
2280
+ * A TanStack Form-connected password input field with a show/hide toggle button
2281
+ * and inline validation error display.
2282
+ *
2283
+ * @example
2284
+ * import { PasswordField } from '@customafk/lunas-ui/features/tanstack-form';
2285
+ *
2286
+ * <form.Field name="password">
2287
+ * {() => (
2288
+ * <PasswordField
2289
+ * label="Password"
2290
+ * placeholder="Enter your password"
2291
+ * helperText="Must be at least 8 characters"
2292
+ * />
2293
+ * )}
2294
+ * </form.Field>
2295
+ */
2296
+ declare const PasswordField: React.FC<PasswordFieldProps>;
2297
+ //#endregion
2298
+ //#region packages/components/features/tanstack-form/components/fields/radio-group-field.d.ts
2299
+ declare const RadioGroupField: React.FC<RadioGroupFieldProps>;
2300
+ //#endregion
2301
+ //#region packages/components/features/tanstack-form/components/fields/select-field.d.ts
2302
+ declare const SelectField: import("react").NamedExoticComponent<SelectFieldProps>;
2303
+ //#endregion
2304
+ //#region packages/components/features/tanstack-form/components/fields/switch-field.d.ts
2305
+ /**
2306
+ * A TanStack Form-connected boolean toggle field rendered as a labelled switch,
2307
+ * positioned absolutely in the top-right corner of the field card.
2308
+ *
2309
+ * @example
2310
+ * import { SwitchField } from '@customafk/lunas-ui/features/tanstack-form';
2311
+ *
2312
+ * <form.Field name="notifications">
2313
+ * {() => (
2314
+ * <SwitchField
2315
+ * label="Enable notifications"
2316
+ * description="Receive email alerts for important events"
2317
+ * helperText="You can change this at any time"
2318
+ * />
2319
+ * )}
2320
+ * </form.Field>
2321
+ */
2322
+ declare const SwitchField: React.FC<SwitchFieldProps>;
2323
+ //#endregion
2324
+ //#region packages/components/features/tanstack-form/components/fields/text-field.d.ts
2325
+ /**
2326
+ * A TanStack Form-connected single-line text input with label, validation, and optional features.
2327
+ *
2328
+ * Must be rendered inside an `AppField` context from `useTanStackForm`.
2329
+ * The field value type is `string | null` — `null` represents an empty/unset state.
2330
+ *
2331
+ * ---
2332
+ *
2333
+ * **Basic usage**
2334
+ * @example
2335
+ * const { AppField } = useTanStackForm({ defaultValues: { name: null } });
2336
+ *
2337
+ * <AppField name="name">
2338
+ * {field => <field.TextField label="Full name" placeholder="Nguyễn Văn A" />}
2339
+ * </AppField>
2340
+ *
2341
+ * ---
2342
+ *
2343
+ * **With validation**
2344
+ * @example
2345
+ * <AppField
2346
+ * name="username"
2347
+ * validators={{ onChange: ({ value }) => !value ? 'Bắt buộc' : undefined }}
2348
+ * >
2349
+ * {field => <field.TextField label="Username" required />}
2350
+ * </AppField>
2351
+ *
2352
+ * ---
2353
+ *
2354
+ * **With character counter and max length**
2355
+ * @example
2356
+ * <AppField name="bio">
2357
+ * {field => (
2358
+ * <field.TextField
2359
+ * label="Bio"
2360
+ * counter
2361
+ * maxLength={160}
2362
+ * placeholder="Giới thiệu bản thân…"
2363
+ * />
2364
+ * )}
2365
+ * </AppField>
2366
+ *
2367
+ * ---
2368
+ *
2369
+ * **With clear button and helper note**
2370
+ * @example
2371
+ * <AppField name="search">
2372
+ * {field => (
2373
+ * <field.TextField
2374
+ * label="Tìm kiếm"
2375
+ * showClearButton
2376
+ * helperText="Nhập ít nhất 3 ký tự để tìm kiếm."
2377
+ * />
2378
+ * )}
2379
+ * </AppField>
2380
+ *
2381
+ * ---
2382
+ *
2383
+ * **Horizontal layout**
2384
+ * @example
2385
+ * <AppField name="code">
2386
+ * {field => (
2387
+ * <field.TextField
2388
+ * label="Mã sản phẩm"
2389
+ * orientation="horizontal"
2390
+ * tooltip="Mã duy nhất định danh sản phẩm trong hệ thống."
2391
+ * />
2392
+ * )}
2393
+ * </AppField>
2394
+ */
2395
+ declare const TextField: import("react").NamedExoticComponent<TextFieldProps>;
2396
+ //#endregion
2397
+ //#region packages/components/features/tanstack-form/components/fields/textarea-field.d.ts
2398
+ declare const TextareaField: import("react").NamedExoticComponent<TextareaFieldProps>;
2399
+ //#endregion
2400
+ //#region packages/components/features/tanstack-form/components/fields/text-editor-field.d.ts
2401
+ declare const TextEditorField: React.FC<TextEditorFieldProps>;
2402
+ //#endregion
2403
+ //#region packages/components/features/tanstack-form/components/forms/action-submit.d.ts
2404
+ /**
2405
+ * Renders a submit button wired to the current TanStack Form context, automatically handling loading and disabled states.
2406
+ *
2407
+ * @example
2408
+ * import { TanStackActionSubmit } from '@customafk/lunas-ui/features/tanstack-form';
2409
+ *
2410
+ * // Inside a TanStack Form provider:
2411
+ * <TanStackActionSubmit label="Save Changes" className="mt-4" />
2412
+ */
2413
+ declare const TanStackActionSubmit: React.FC<{
2414
+ /** Button label text. Defaults to `'Submit'` when omitted. */label?: string; /** Additional CSS class names applied to the button element. */
2415
+ className?: string;
2416
+ }>;
2417
+ //#endregion
2418
+ //#region packages/components/features/tanstack-form/components/forms/actions-form.d.ts
2419
+ /**
2420
+ * Renders a form action bar with a Cancel button and a context-aware submit button (Add New or Update) driven by TanStack Form state.
2421
+ *
2422
+ * @example
2423
+ * import { TanStackActionsForm } from '@customafk/lunas-ui/features/tanstack-form';
2424
+ *
2425
+ * // Inside a TanStack Form provider:
2426
+ * <TanStackActionsForm type="create" />
2427
+ *
2428
+ * // For an update workflow:
2429
+ * <TanStackActionsForm type="update" />
2430
+ */
2431
+ declare const TanStackActionsForm: React.FC<React.PropsWithChildren<{
2432
+ /**
2433
+ * Determines which submit button variant is rendered.
2434
+ * - `'create'` — shows an "Add New" button that resets the form on success.
2435
+ * - `'update'` — shows an "Update" button that resets the form on success.
2436
+ * Defaults to `'create'`.
2437
+ */
2438
+ type?: 'create' | 'update';
2439
+ }>>;
2440
+ //#endregion
2441
+ //#region packages/components/features/tanstack-form/components/forms/card-form.d.ts
2442
+ /**
2443
+ * Renders a card-style form section with a header, optional description, a delete button, and a content area for fields.
2444
+ *
2445
+ * @example
2446
+ * import { TanStackCardForm } from '@customafk/lunas-ui/features/tanstack-form';
2447
+ *
2448
+ * <TanStackCardForm
2449
+ * title="Shipping Address"
2450
+ * description="Where should we deliver your order?"
2451
+ * onDelete={() => removeAddress(id)}
2452
+ * >
2453
+ * <TextField name="street" />
2454
+ * </TanStackCardForm>
2455
+ */
2456
+ declare const TanStackCardForm: React.FC<React.PropsWithChildren<{
2457
+ /** Bold heading text shown at the top of the card. */title: string; /** Optional secondary text rendered beneath the title. */
2458
+ description?: string; /** When provided, renders a danger "Remove" button in the card's top-right corner. */
2459
+ onDelete?: () => void | Promise<void>;
2460
+ }>>;
2461
+ //#endregion
2462
+ //#region packages/components/features/tanstack-form/components/forms/container-form.d.ts
2463
+ /**
2464
+ * Wraps a set of TanStack form sections in a vertically-stacked flex container.
2465
+ *
2466
+ * @example
2467
+ * import { TanStackContainerForm } from '@customafk/lunas-ui/features/tanstack-form';
2468
+ *
2469
+ * <TanStackContainerForm>
2470
+ * <TanStackSectionForm title="Personal Info">
2471
+ * {/* fields *\/}
2472
+ * </TanStackSectionForm>
2473
+ * </TanStackContainerForm>
2474
+ */
2475
+ declare const TanStackContainerForm: React.FC<React.PropsWithChildren>;
2476
+ //#endregion
2477
+ //#region packages/components/features/tanstack-form/components/forms/dialog-form.d.ts
2478
+ /**
2479
+ * Renders a modal dialog that wraps a TanStack Form with a title, scrollable content area, and built-in submit/cancel actions.
2480
+ *
2481
+ * @example
2482
+ * import { TanStackDialogForm } from '@customafk/lunas-ui/features/tanstack-form';
2483
+ *
2484
+ * <TanStackDialogForm
2485
+ * title="Create User"
2486
+ * submitText="Create"
2487
+ * className="max-w-lg"
2488
+ * open={isOpen}
2489
+ * onOpenChange={setIsOpen}
2490
+ * >
2491
+ * <NameField />
2492
+ * <EmailField />
2493
+ * </TanStackDialogForm>
2494
+ */
2495
+ declare const TanStackDialogForm: React.FC<React.PropsWithChildren<{
2496
+ /** Heading text displayed in the dialog title bar. */title: string; /** Custom label for the submit button. Defaults to the `SubmitButton` component's built-in label when omitted. */
2497
+ submitText?: string; /** Optional fixed width for the dialog content area, as a pixel number (e.g. `600`) or any CSS string (e.g. `'50%'`, `'40rem'`). Omit to let the dialog size itself based on content. */
2498
+ width?: number | string; /** Optional fixed max-width for the dialog content area, as a pixel number (e.g. `600`) or any CSS string (e.g. `'50%'`, `'40rem'`). Omit to let the dialog size itself based on content and viewport. */
2499
+ maxWidth?: number | string; /** Optional additional class name(s) to apply to the dialog content container. */
2500
+ className?: string; /** Controlled open state of the dialog. */
2501
+ open?: boolean; /** Callback fired when the dialog open state changes; the form is reset on close. */
2502
+ onOpenChange?: (open: boolean) => void;
2503
+ }>>;
2504
+ //#endregion
2505
+ //#region packages/components/features/tanstack-form/components/forms/group-field.d.ts
2506
+ /**
2507
+ * Renders a labeled field group with an optional description, helper text, and a bottom separator.
2508
+ *
2509
+ * @example
2510
+ * import { TanStackFieldGroup } from '@customafk/lunas-ui/features/tanstack-form';
2511
+ *
2512
+ * <TanStackFieldGroup
2513
+ * label="Contact Details"
2514
+ * description="Enter your contact information."
2515
+ * helperText="All fields are required."
2516
+ * orientation="horizontal"
2517
+ * >
2518
+ * <EmailField />
2519
+ * </TanStackFieldGroup>
2520
+ */
2521
+ declare const TanStackFieldGroup: React.FC<React.PropsWithChildren<{
2522
+ /** Primary label displayed above the field content. */label: string; /** Secondary descriptive text shown beneath the label. */
2523
+ description?: string; /** Supplementary helper note rendered below the field content. */
2524
+ helperText?: string; /** Layout orientation of the label-to-content axis. Defaults to `'responsive'`. */
2525
+ orientation?: 'horizontal' | 'vertical' | 'responsive';
2526
+ }>>;
2527
+ //#endregion
2528
+ //#region packages/components/features/tanstack-form/components/forms/popover-form.d.ts
2529
+ /**
2530
+ * Renders a slide-in side-panel dialog that wraps a TanStack form with built-in submit and cancel actions.
2531
+ *
2532
+ * @example
2533
+ * import { TanStackPopoverForm } from '@customafk/lunas-ui/features/tanstack-form';
2534
+ *
2535
+ * <TanStackPopoverForm
2536
+ * title="Edit Profile"
2537
+ * open={isOpen}
2538
+ * onOpenChange={setIsOpen}
2539
+ * >
2540
+ * <EmailField />
2541
+ * </TanStackPopoverForm>
2542
+ */
2543
+ declare const TanStackPopoverForm: React.FC<React.PropsWithChildren<{
2544
+ /** Heading text displayed in the panel header. */title: string; /** Controlled open state of the popover dialog. */
2545
+ open?: boolean; /** Additional CSS class names applied to the scrollable content area. */
2546
+ contentClassName?: string; /** Callback fired when the open state changes. */
2547
+ onOpenChange?: (open: boolean) => void;
2548
+ }>>;
2549
+ //#endregion
2550
+ //#region packages/components/features/tanstack-form/components/forms/section-form.d.ts
2551
+ /**
2552
+ * Renders a card-like form section with a titled header, separator, and a content area for form fields.
2553
+ *
2554
+ * @example
2555
+ * import { TanStackSectionForm } from '@customafk/lunas-ui/features/tanstack-form';
2556
+ *
2557
+ * <TanStackSectionForm title="Account Settings">
2558
+ * <EmailField />
2559
+ * <PasswordField />
2560
+ * </TanStackSectionForm>
2561
+ */
2562
+ declare const TanStackSectionForm: React.FC<React.PropsWithChildren<{
2563
+ /** Heading text displayed in the section header bar. */title: string;
2564
+ }>>;
2565
+ //#endregion
2566
+ //#region packages/components/features/tanstack-form/components/forms/title-field.d.ts
2567
+ /**
2568
+ * Renders a standalone section title with an optional description and helper note, followed by a separator.
2569
+ *
2570
+ * @example
2571
+ * import { TanStackTitleField } from '@customafk/lunas-ui/features/tanstack-form';
2572
+ *
2573
+ * <TanStackTitleField
2574
+ * title="Billing Address"
2575
+ * description="Provide the address associated with your payment method."
2576
+ * helperText="Must match your bank records."
2577
+ * />
2578
+ */
2579
+ declare const TanStackTitleField: React.FC<{
2580
+ /** The heading text rendered as a legend element. */title: string; /** Optional supplementary text displayed beneath the title. */
2581
+ description?: string; /** Optional helper note shown below the description area. */
2582
+ helperText?: string;
2583
+ }>;
1597
2584
  //#endregion
1598
2585
  //#region packages/components/features/tanstack-form/components/ui/field.d.ts
1599
2586
  declare const fieldVariants: (props?: ({
@@ -1678,6 +2665,18 @@ declare const FieldContentMain: import("react").MemoExoticComponent<({
1678
2665
  *
1679
2666
  * <FieldLabel htmlFor="email" aria-required>Email</FieldLabel>
1680
2667
  */
2668
+ declare const FieldLabel: import("react").MemoExoticComponent<({
2669
+ className,
2670
+ ...props
2671
+ }: React.ComponentProps<typeof Label$1>) => import("react").JSX.Element>;
2672
+ /**
2673
+ * Inline title element (non-`<label>`) for fields whose label cannot be a native `<label>`, such as custom checkbox groups.
2674
+ *
2675
+ * @example
2676
+ * import { FieldTitle } from '@customafk/lunas-ui/features/tanstack-form';
2677
+ *
2678
+ * <FieldTitle>Notification preferences</FieldTitle>
2679
+ */
1681
2680
  /**
1682
2681
  * Visual divider row that optionally displays a centered text label, used to separate logical sections within a `FieldGroup`.
1683
2682
  *
@@ -2830,5 +3829,5 @@ declare const useTanStackForm: <TFormData, TOnMount extends FormValidateOrFn<TFo
2830
3829
  fields: TFields;
2831
3830
  }>) => ReturnType<import("react").FunctionComponent>;
2832
3831
  //#endregion
2833
- export { SimpleTextFieldProps as A, NumberFieldProps as C, RadioOption as D, RadioGroupFieldProps as E, TextareaFieldProps as F, TextEditorFieldProps as M, TextFieldProps as N, SelectFieldProps as O, TextFieldValue as P, MultiSelectFieldValue as S, PasswordFieldProps as T, DateFieldValue as _, withTanStackForm as a, FieldRounding as b, FieldContentMain as c, FieldSeparator as d, AnyFieldProps as f, DateFieldProps as g, ComboboxFieldProps as h, withTanStackFieldGroup as i, SwitchFieldProps as j, SelectOption as k, FieldError as l, CheckboxFieldProps as m, useTanStackForm as n, Field as o, BooleanFieldValue as p, useTanStackFormContext as r, FieldContent as s, useTanStackFieldContext as t, FieldGroup as u, EmailFieldProps as v, NumberFieldValue as w, FieldType as x, FieldOrientation as y };
2834
- //# sourceMappingURL=index-BBViMxM1.d.cts.map
3832
+ export { EmailFieldProps as $, EmailField as A, SimpleRadioGroupField as B, TextareaField as C, RadioGroupField as D, SelectField as E, SimpleTextareaField as F, ArrayHeaderRow as G, SimpleComboboxField as H, SimpleSelectField as I, BooleanFieldValue as J, SimpleArrayField as K, SimplePasswordField as L, ComboboxField as M, CheckboxField as N, PasswordField as O, SimpleTextField as P, DateFieldValue as Q, SimpleNumberField as R, TextEditorField as S, SwitchField as T, SimpleBooleanField as U, SimpleDateField as V, ArrayCol as W, ComboboxFieldProps as X, CheckboxFieldProps as Y, DateFieldProps as Z, TanStackDialogForm as _, withTanStackForm as a, NumberFieldValue as at, TanStackActionsForm as b, FieldContentMain as c, RadioOption as ct, FieldLabel as d, SimpleTextFieldProps as dt, FieldOrientation as et, FieldSeparator as f, SwitchFieldProps as ft, TanStackFieldGroup as g, TextareaFieldProps as gt, TanStackPopoverForm as h, TextFieldValue as ht, withTanStackFieldGroup as i, NumberFieldProps as it, DateField as j, NumberField as k, FieldError as l, SelectFieldProps as lt, TanStackSectionForm as m, TextFieldProps as mt, useTanStackForm as n, FieldType as nt, Field as o, PasswordFieldProps as ot, TanStackTitleField as p, TextEditorFieldProps as pt, AnyFieldProps as q, useTanStackFormContext as r, MultiSelectFieldValue as rt, FieldContent as s, RadioGroupFieldProps as st, useTanStackFieldContext as t, FieldRounding as tt, FieldGroup as u, SelectOption as ut, TanStackContainerForm as v, TextField as w, TanStackActionSubmit as x, TanStackCardForm as y, SimpleEmailField as z };
3833
+ //# sourceMappingURL=index-C2KjuFXQ.d.cts.map