UNPKG

3.08 kBJavaScriptView Raw
1'use strict';
2
3function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
5var PropTypes = require('prop-types');
6var __chunk_1 = require('./chunk-c300b528.js');
7var Box = _interopDefault(require('reakit/Box'));
8require('reakit/Block');
9require('reakit/Inline');
10require('reakit/InlineBlock');
11var Flex = _interopDefault(require('reakit/Flex'));
12require('reakit/InlineFlex');
13require('reakit/Grid');
14var React = require('react');
15var React__default = _interopDefault(React);
16var styled = require('./FieldWrapper/styled.js');
17
18var FieldWrapper = function FieldWrapper(_ref) {
19 var a11yId = _ref.a11yId,
20 children = _ref.children,
21 description = _ref.description,
22 hint = _ref.hint,
23 isOptional = _ref.isOptional,
24 isRequired = _ref.isRequired,
25 label = _ref.label,
26 state = _ref.state,
27 validationText = _ref.validationText,
28 props = __chunk_1._objectWithoutPropertiesLoose(_ref, ["a11yId", "children", "description", "hint", "isOptional", "isRequired", "label", "state", "validationText"]);
29
30 var elementProps = {
31 isRequired: isRequired,
32 a11yId: a11yId,
33 state: state
34 };
35 return React.createElement(styled.default, props, label && React.createElement(Box, {
36 marginBottom: "minor-2"
37 }, React.createElement(Flex, {
38 alignItems: "center"
39 }, typeof label === 'string' ? React.createElement(styled.Label, {
40 htmlFor: a11yId
41 }, label) : label, isOptional && React.createElement(styled.OptionalText, null, "OPTIONAL")), typeof description === 'string' ? React.createElement(styled.DescriptionText, null, description) : React.createElement("div", null, description)), typeof children === 'function' ? children({
42 elementProps: elementProps
43 }) : React.cloneElement(children, elementProps), typeof hint === 'string' ? React.createElement(styled.HintText, null, hint) : React.createElement("div", null, hint), validationText && React.createElement(styled.ValidationText, {
44 color: state
45 }, validationText));
46};
47var fieldWrapperPropTypes = {
48 a11yId: PropTypes.string,
49 children: PropTypes.oneOfType([PropTypes.element, PropTypes.func]).isRequired,
50 className: PropTypes.string,
51 description: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
52 hint: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
53 isOptional: PropTypes.bool,
54 isRequired: PropTypes.bool,
55 label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
56 state: PropTypes.string,
57 validationText: PropTypes.string
58};
59FieldWrapper.propTypes = fieldWrapperPropTypes;
60var fieldWrapperDefaultProps = {
61 a11yId: undefined,
62 className: undefined,
63 description: undefined,
64 hint: undefined,
65 isOptional: undefined,
66 isRequired: undefined,
67 label: undefined,
68 state: undefined,
69 validationText: undefined
70};
71FieldWrapper.defaultProps = fieldWrapperDefaultProps; // @ts-ignore
72
73var C = FieldWrapper;
74
75exports.FieldWrapper = C;
76exports.fieldWrapperDefaultProps = fieldWrapperDefaultProps;
77exports.fieldWrapperPropTypes = fieldWrapperPropTypes;