Newer
Older
import { compose, withHandlers } from 'recompose'
import styled from 'styled-components'
// TODO: pass ...props.input to children automatically?
const MessageWrapper = styled.div`
font-family: var(--font-author);
display: inline-block;
font-style: italic;
margin-left: 1em;
margin-top: 10px;
`
const Message = styled.div`
&:not(:last-child) {
margin-bottom: 10px;
}
font-size: 0.9em;
letter-spacing: 0.01em;
`
const ErrorMessage = Message.extend`
color: var(--color-danger);
`
const WarningMessage = Message.extend`
color: var(--color-warning);
`
const ValidatedFieldComponent = ({ component }) => ({ meta, input }) => (
<div>
{component(input)}
<MessageWrapper>
{meta.error && <ErrorMessage>{meta.error}</ErrorMessage>}
{meta.warning && <WarningMessage>{meta.warning}</WarningMessage>}
</MessageWrapper>
</div>
)
const ValidatedField = ({ fieldComponent, ...rest }) => (
export default compose(
withHandlers({