@rjsf/antd
Version:
Ant Design theme, fields and widgets for react-jsonschema-form
35 lines (27 loc) • 973 B
text/typescript
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;