@vtaits/form-schema
Version:
Serialization and parsing form values by schema
68 lines (64 loc) • 2.53 kB
TypeScript
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 };