UNPKG

@aokiapp/rjsf-mantine-theme

Version:

Mantine theme, fields and widgets for react-jsonschema-form

1 lines 3.66 kB
{"version":3,"file":"NullField.mjs","sources":["../../src/fields/NullField.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport { FieldProps, FormContextType, RJSFSchema, StrictRJSFSchema, getUiOptions, getWidget } from '@rjsf/utils';\n\n/** The `NullField` component is used to render a field in the schema is null. It also ensures that the `formData` is\n * also set to null if it has no value.\n *\n * Differences from the original:\n * - Traverse the widget and use it\n * - By default, use `NullWidget`, which is not present in the original\n * - Hence, null fields can be replaced with custom ones\n *\n * @param props - The `FieldProps` for this template\n */\nfunction NullField<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: FieldProps<T, S, F>,\n) {\n const {\n schema,\n name,\n uiSchema,\n idSchema,\n formData,\n required,\n disabled = false,\n readonly = false,\n autofocus = false,\n onChange,\n onBlur,\n onFocus,\n registry,\n rawErrors,\n hideError,\n } = props;\n\n const { title } = schema;\n const { widgets, formContext, schemaUtils, globalUiOptions } = registry;\n const { widget = 'NullWidget', placeholder = '', title: uiTitle, ...options } = getUiOptions<T, S, F>(uiSchema);\n const displayLabel = schemaUtils.getDisplayLabel(schema, uiSchema, globalUiOptions);\n const label = uiTitle ?? title ?? name;\n const Widget = getWidget<T, S, F>(schema, widget, widgets);\n\n useEffect(() => {\n if (formData === undefined) {\n onChange(null as unknown as T);\n }\n }, [formData, onChange]);\n\n return (\n <Widget\n options={options}\n schema={schema}\n uiSchema={uiSchema}\n id={idSchema.$id}\n name={name}\n label={label}\n hideLabel={!displayLabel}\n hideError={hideError}\n value={formData}\n onChange={onChange}\n onBlur={onBlur}\n onFocus={onFocus}\n required={required}\n disabled={disabled}\n readonly={readonly}\n formContext={formContext}\n autofocus={autofocus}\n registry={registry}\n placeholder={placeholder}\n rawErrors={rawErrors}\n />\n );\n}\n\nexport default NullField;\n"],"names":[],"mappings":";;;;AAIA,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,EAAE,MAAM;AACR,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ,GAAG,KAAK;AACpB,IAAI,QAAQ,GAAG,KAAK;AACpB,IAAI,SAAS,GAAG,KAAK;AACrB,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,SAAS;AACb,GAAG,GAAG,KAAK,CAAC;AACZ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;AAC3B,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAC;AAC1E,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,WAAW,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AACzG,EAAE,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;AACtF,EAAE,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC;AACzC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACpD,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,IAAI,QAAQ,KAAK,KAAK,CAAC,EAAE;AAC7B,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrB,KAAK;AACL,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC3B,EAAE,uBAAuB,GAAG;AAC5B,IAAI,MAAM;AACV,IAAI;AACJ,MAAM,OAAO;AACb,MAAM,MAAM;AACZ,MAAM,QAAQ;AACd,MAAM,EAAE,EAAE,QAAQ,CAAC,GAAG;AACtB,MAAM,IAAI;AACV,MAAM,KAAK;AACX,MAAM,SAAS,EAAE,CAAC,YAAY;AAC9B,MAAM,SAAS;AACf,MAAM,KAAK,EAAE,QAAQ;AACrB,MAAM,QAAQ;AACd,MAAM,MAAM;AACZ,MAAM,OAAO;AACb,MAAM,QAAQ;AACd,MAAM,QAAQ;AACd,MAAM,QAAQ;AACd,MAAM,WAAW;AACjB,MAAM,SAAS;AACf,MAAM,QAAQ;AACd,MAAM,WAAW;AACjB,MAAM,SAAS;AACf,KAAK;AACL,GAAG,CAAC;AACJ;;;;"}