UNPKG

1.47 kBJavaScriptView Raw
1import React from 'react';
2import makeStyles from '@material-ui/styles/makeStyles';
3import { getMessage } from './FieldTranslate';
4import { useFieldError } from './FieldError/index';
5const useStyles = makeStyles(() => ({
6 spanError: { display: 'block' },
7}));
8function isMessage(args) {
9 return (args &&
10 typeof args === 'object' &&
11 typeof args.message === 'string');
12}
13export const RenderErrorsDefault = ({ errors, field, }) => {
14 const ns = field && field.ns;
15 const { spanError } = useStyles();
16 const common = useFieldError();
17 return (React.createElement(React.Fragment, null, errors.map((error, i) => {
18 if (React.isValidElement(error))
19 return React.createElement(error.type, Object.assign({}, error.props, { key: error.key || i }));
20 return typeof error === 'string' ? (React.createElement("span", { className: spanError, key: i }, error)) : isMessage(error) ? (React.createElement("span", { className: spanError, key: i }, getMessage(Object.assign(Object.assign({ ns }, common), error)))) : (Object.values(error).map((e, j) => {
21 return (React.createElement("span", { className: spanError, key: j }, typeof e === 'string'
22 ? e
23 : (isMessage(e) &&
24 getMessage(Object.assign(Object.assign({ ns }, common), e))) ||
25 null));
26 }));
27 })));
28};
29//# sourceMappingURL=RenderErrorsDefault.js.map
\No newline at end of file