UNPKG

@vtaits/form-schema

Version:

Serialization and parsing form values by schema

68 lines (64 loc) 2.53 kB
import { F as FieldSchemaBase, e as GetDependenciesParams, G as GetFieldSchema, a as GetFieldType, b as ParentType, o as FieldType } from './types-DafXrhi5.js'; type DynamicGetSchemaParams<FieldSchema extends FieldSchemaBase, Values extends Record<string, any> = Record<string, any>, RawValues extends Record<string, any> = Record<string, any>, SerializedValues extends Record<string, any> = Record<string, any>, Errors extends Record<string, any> = Record<string, any>> = GetDependenciesParams<FieldSchema, Values, RawValues, SerializedValues, Errors> & { dependencies: unknown; }; type DynamicSchema<FormApi, FieldSchema extends FieldSchemaBase, Values extends Record<string, any> = Record<string, any>, RawValues extends Record<string, any> = Record<string, any>, SerializedValues extends Record<string, any> = Record<string, any>, Errors extends Record<string, any> = Record<string, any>> = FieldSchemaBase & { /** * Callback that should return schema of field or `null` if field can't be shown */ getSchema: (params: DynamicGetSchemaParams<FieldSchema, Values, RawValues, SerializedValues, Errors>) => FieldSchema | null | Promise<FieldSchema | null>; /** * callback than called when field has shown */ onShow?: ( /** * instance of `final-form` */ form: FormApi, /** * name of field */ name: string, /** * result schema of subfield */ schema: FieldSchema, /** * current `getFieldSchema` */ getFieldSchema: GetFieldSchema<FieldSchema>, /** * global `getFieldType` */ getFieldType: GetFieldType<FieldSchema, Values, RawValues, SerializedValues, Errors>, /** * stack of parent fields above current field with runtime values */ parents: readonly ParentType[]) => void; /** * callback than called when field has hidden */ onHide?: ( /** * instance of `final-form` */ form: FormApi, /** * name of field */ name: string, /** * current `getFieldSchema` */ getFieldSchema: GetFieldSchema<FieldSchema>, /** * global `getFieldType` */ getFieldType: GetFieldType<FieldSchema, Values, RawValues, SerializedValues, Errors>, /** * stack of parent fields above current field with runtime values */ parents: readonly ParentType[]) => void; }; declare const dynamic: FieldType<DynamicSchema<any, any>>; export { type DynamicGetSchemaParams, type DynamicSchema, dynamic };