UNPKG

1.4 kBJavaScriptView Raw
1import _extends from "@babel/runtime/helpers/esm/extends";
2import React from 'react';
3import makeStyles from '@material-ui/styles/makeStyles';
4import { getMessage } from './FieldTranslate';
5import { useFieldError } from './FieldError/index';
6const useStyles = makeStyles(() => ({
7 spanError: {
8 display: 'block'
9 }
10}));
11
12function isMessage(args) {
13 return args && typeof args === 'object' && typeof args.message === 'string';
14}
15
16export 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