@snups/rjsf-mantine
Version:
Mantine theme, fields and widgets for react-jsonschema-form
43 lines (38 loc) • 1.32 kB
text/typescript
import { FormContextType, RegistryWidgetsType, RJSFSchema, StrictRJSFSchema } from '@snups/rjsf-utils';
import dayjs from 'dayjs';
import customParseFormat from 'dayjs/plugin/customParseFormat';
import { AltDateTimeWidget, AltDateWidget, DateWidget, DateTimeWidget, TimeWidget } from './DateTime';
import CheckboxesWidget from './CheckboxesWidget';
import CheckboxWidget from './CheckboxWidget';
import ColorWidget from './ColorWidget';
import FileWidget from './FileWidget';
import PasswordWidget from './PasswordWidget';
import RadioWidget from './RadioWidget';
import RangeWidget from './RangeWidget';
import SelectWidget from './SelectWidget';
import TextareaWidget from './TextareaWidget';
// This plugin is needed to support the parsing of date and time values in the `DateWidget` and `DateTimeWidget`
dayjs.extend(customParseFormat);
export function generateWidgets<
T = any,
S extends StrictRJSFSchema = RJSFSchema,
F extends FormContextType = any,
>(): RegistryWidgetsType<T, S, F> {
return {
AltDateTimeWidget,
AltDateWidget,
CheckboxesWidget,
CheckboxWidget,
ColorWidget,
FileWidget,
DateTimeWidget,
DateWidget,
PasswordWidget,
RadioWidget,
RangeWidget,
SelectWidget,
TextareaWidget,
TimeWidget,
};
}
export default generateWidgets();