UNPKG

@inkline/inkline

Version:

Inkline is the intuitive UI Components library that gives you a developer-friendly foundation for building high-quality, accessible, and customizable Vue.js 3 Design Systems.

30 lines (29 loc) 1.1 kB
import type { Form, FormField, FormSchema, ResolvedFormField, ResolvedFormSchema } from '@inkline/inkline/types'; /** * Create form field schema * * @param field { FormField<T> } * @return { ResolvedFormField<T> } */ export declare function createFormFieldSchema<T>(field: FormField<T>): ResolvedFormField<T>; /** * Create form array schema * * @param items { (FormSchema<T> | FormField<T>)[] } * @return { (ResolvedFormSchema<T> | ResolvedFormField<T>)[] } */ export declare function createFormArraySchema<T>(items: (FormSchema<T extends Form ? T : never> | FormField<T>)[]): (ResolvedFormSchema<T extends Form ? T : never> | ResolvedFormField<T>)[]; /** * Recursively create form schema * * @param schema { FormSchema<T> } * @return { ResolvedFormSchema<T> } */ export declare function createFormSchema<T extends Form>(schema: FormSchema<T>): ResolvedFormSchema<T>; /** * Alias for createFormSchema * * @param schema { FormSchema<T> } * @return { ResolvedFormSchema<T> } */ export declare function createSchema<T extends Form>(schema: FormSchema<T>): ResolvedFormSchema<T>;