UNPKG

@rjsf/antd

Version:

Ant Design theme, fields and widgets for react-jsonschema-form

35 lines (27 loc) 973 B
import type { ComponentType } from 'react'; import type { FormProps, ThemeProps } from '@rjsf/core'; import { withTheme } from '@rjsf/core'; import type { FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils'; import Templates, { generateTemplates } from './templates'; import Widgets, { generateWidgets } from './widgets'; export function generateTheme< T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any, >(): ThemeProps<T, S, F> { return { templates: generateTemplates<T, S, F>(), widgets: generateWidgets<T, S, F>(), }; } const Theme = generateTheme(); export function generateForm< T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any, >(): ComponentType<FormProps<T, S, F>> { return withTheme<T, S, F>(generateTheme<T, S, F>()); } const Form = generateForm(); export { Form, Templates, Theme, Widgets, generateTemplates, generateWidgets }; export default Form;