1 | import React from 'react';
|
2 | import makeStyles from '@material-ui/styles/makeStyles';
|
3 | import { getMessage } from './FieldTranslate';
|
4 | import { useFieldError } from './FieldError/index';
|
5 | const useStyles = makeStyles(() => ({
|
6 | spanError: { display: 'block' },
|
7 | }));
|
8 | function isMessage(args) {
|
9 | return (args &&
|
10 | typeof args === 'object' &&
|
11 | typeof args.message === 'string');
|
12 | }
|
13 | export 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 |
|
\ | No newline at end of file |