UNPKG

4.13 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', { value: true });
4
5function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
7require('./slicedToArray-0711941d.js');
8require('./unsupportedIterableToArray-68db1d3b.js');
9var React = require('react');
10var React__default = _interopDefault(React);
11require('./_commonjsHelpers-72d386ba.js');
12var index = require('./index-b0606964.js');
13require('./defineProperty-0921a47c.js');
14require('./toConsumableArray-d8a4a2c3.js');
15var _styled = require('styled-components');
16var _styled__default = _interopDefault(_styled);
17require('./getPrototypeOf-2a661a20.js');
18require('./color.js');
19require('./components.js');
20require('./contains-component.js');
21var css = require('./css.js');
22require('./dayjs.min-e07657bf.js');
23require('./date.js');
24require('./miscellaneous.js');
25require('./environment.js');
26require('./font.js');
27require('./math-f4029164.js');
28require('./characters.js');
29require('./format.js');
30require('./keycodes.js');
31require('./url.js');
32require('./web3.js');
33var constants = require('./constants.js');
34require('./breakpoints.js');
35require('./springs.js');
36var textStyles = require('./text-styles.js');
37require('./theme-dark.js');
38require('./theme-light.js');
39var Theme = require('./Theme.js');
40var _extends$1 = require('./extends-40571110.js');
41var objectWithoutProperties = require('./objectWithoutProperties-35db8ab0.js');
42var index$1 = require('./index-ecc57c9f.js');
43
44// be used to link the <label> to a specific form element by using a render
45// prop. See `children` in the Field documentation for more details.
46
47var fieldId = 1;
48
49var _StyledDiv = _styled__default("div").withConfig({
50 displayName: "Field___StyledDiv",
51 componentId: "uqte4v-0"
52})(["margin-bottom:", "px;"], function (p) {
53 return p._css;
54});
55
56var _StyledDiv2 = _styled__default("div").withConfig({
57 displayName: "Field___StyledDiv2",
58 componentId: "uqte4v-1"
59})(["display:flex;align-items:center;height:", "px;margin-bottom:", "px;color:", ";white-space:nowrap;", ";", ";"], function (p) {
60 return p._css2;
61}, function (p) {
62 return p._css3;
63}, function (p) {
64 return p._css4;
65}, function (p) {
66 return p._css5;
67}, css.unselectable);
68
69var _StyledSpan = _styled__default("span").withConfig({
70 displayName: "Field___StyledSpan",
71 componentId: "uqte4v-2"
72})(["color:", ";"], function (p) {
73 return p._css6;
74});
75
76function Field(_ref) {
77 var children = _ref.children,
78 label = _ref.label,
79 required = _ref.required,
80 props = objectWithoutProperties._objectWithoutProperties(_ref, ["children", "label", "required"]);
81
82 var theme = Theme.useTheme();
83 var isRequired = required || React__default.Children.toArray(children).some(function (_ref2) {
84 var props = _ref2.props;
85 return props && props.required;
86 });
87 var id = React.useMemo(function () {
88 return typeof children === 'function' ? "Field_".concat(fieldId++) : null;
89 }, [children]);
90 var labelProps = id === null ? {} : {
91 htmlFor: id
92 };
93 return /*#__PURE__*/React__default.createElement(index$1.i, {
94 name: "Field"
95 }, /*#__PURE__*/React__default.createElement(_StyledDiv, _extends$1._extends({}, props, {
96 _css: 3 * constants.GU
97 }), /*#__PURE__*/React__default.createElement("label", labelProps, /*#__PURE__*/React__default.createElement(_StyledDiv2, {
98 _css2: 2 * constants.GU,
99 _css3: 0.5 * constants.GU,
100 _css4: theme.surfaceContentSecondary,
101 _css5: textStyles.textStyle('label2')
102 }, /*#__PURE__*/React__default.createElement(index$1.i, {
103 name: "Field:label"
104 }, label, isRequired && /*#__PURE__*/React__default.createElement(_StyledSpan, {
105 title: "Required",
106 _css6: theme.accent
107 }, "\xA0*"))), /*#__PURE__*/React__default.createElement(index$1.i, {
108 name: "Field:content"
109 }, typeof children === 'function' ? children({
110 id: id
111 }) : children))));
112}
113
114Field.propTypes = {
115 children: index.PropTypes.oneOfType([index.PropTypes.node, index.PropTypes.func]),
116 label: index.PropTypes.node,
117 required: index.PropTypes.bool
118};
119
120exports.default = Field;
121//# sourceMappingURL=Field.js.map