1 | import _extends from "@babel/runtime/helpers/esm/extends";
|
2 | import React from 'react';
|
3 | import makeStyles from '@material-ui/styles/makeStyles';
|
4 | import { getMessage } from './FieldTranslate';
|
5 | import { useFieldError } from './FieldError/index';
|
6 | const useStyles = makeStyles(() => ({
|
7 | spanError: {
|
8 | display: 'block'
|
9 | }
|
10 | }));
|
11 |
|
12 | function isMessage(args) {
|
13 | return args && typeof args === 'object' && typeof args.message === 'string';
|
14 | }
|
15 |
|
16 | export const RenderErrorsDefault = ({
|
17 | errors,
|
18 | fieldProxy
|
19 | }) => {
|
20 | const ns = fieldProxy && fieldProxy.ns;
|
21 | const {
|
22 | spanError
|
23 | } = useStyles();
|
24 | const common = useFieldError();
|
25 | return React.createElement(React.Fragment, null, errors.map((error, i) => {
|
26 | if (React.isValidElement(error)) return React.createElement(error.type, _extends({}, error.props, {
|
27 | key: error.key || i
|
28 | }));
|
29 | return typeof error === 'string' ? React.createElement("span", {
|
30 | className: spanError,
|
31 | key: i
|
32 | }, error) : isMessage(error) ? React.createElement("span", {
|
33 | className: spanError,
|
34 | key: i
|
35 | }, getMessage({
|
36 | ns,
|
37 | ...common,
|
38 | ...error
|
39 | })) : Object.values(error).map((e, j) => {
|
40 | return React.createElement("span", {
|
41 | className: spanError,
|
42 | key: j
|
43 | }, typeof e === 'string' ? e : isMessage(e) && getMessage({
|
44 | ns,
|
45 | ...common,
|
46 | ...e
|
47 | }) || null);
|
48 | });
|
49 | }));
|
50 | }; |
\ | No newline at end of file |