@rjsf/core
Version:
A simple React component capable of building HTML forms out of a JSON schema.
28 lines (27 loc) • 1.35 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { TranslatableString } from '@rjsf/utils';
import Markdown from 'markdown-to-jsx';
/** The `UnsupportedField` component is used to render a field in the schema is one that is not supported by
* react-jsonschema-form.
*
* @param props - The `FieldProps` for this template
*/
function UnsupportedField(props) {
const { schema, fieldPathId, reason, registry } = props;
const { translateString } = registry;
let translateEnum = TranslatableString.UnsupportedField;
const translateParams = [];
if (fieldPathId && fieldPathId.$id) {
translateEnum = TranslatableString.UnsupportedFieldWithId;
translateParams.push(fieldPathId.$id);
}
if (reason) {
translateEnum =
translateEnum === TranslatableString.UnsupportedField
? TranslatableString.UnsupportedFieldWithReason
: TranslatableString.UnsupportedFieldWithIdAndReason;
translateParams.push(reason);
}
return (_jsxs("div", { className: 'unsupported-field', children: [_jsx("p", { children: _jsx(Markdown, { options: { disableParsingRawHTML: true }, children: translateString(translateEnum, translateParams) }) }), schema && _jsx("pre", { children: JSON.stringify(schema, null, 2) })] }));
}
export default UnsupportedField;