@ntbjs/react-components 0.0.1-beta.46 → 0.0.1-beta.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,122 +0,0 @@
1
- 'use strict';
2
-
3
- var defaultTheme = require('./defaultTheme-d8298500.js');
4
- var React = require('react');
5
- var nanoid = require('nanoid');
6
- var styled = require('styled-components');
7
-
8
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
-
10
- function _interopNamespace(e) {
11
- if (e && e.__esModule) return e;
12
- var n = Object.create(null);
13
- if (e) {
14
- Object.keys(e).forEach(function (k) {
15
- if (k !== 'default') {
16
- var d = Object.getOwnPropertyDescriptor(e, k);
17
- Object.defineProperty(n, k, d.get ? d : {
18
- enumerable: true,
19
- get: function () { return e[k]; }
20
- });
21
- }
22
- });
23
- }
24
- n["default"] = e;
25
- return Object.freeze(n);
26
- }
27
-
28
- var React__namespace = /*#__PURE__*/_interopNamespace(React);
29
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
30
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
31
-
32
- var _path;
33
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
34
- function SvgCheck(props) {
35
- return /*#__PURE__*/React__namespace.createElement("svg", _extends({
36
- xmlns: "http://www.w3.org/2000/svg",
37
- viewBox: "0 0 24 18.297"
38
- }, props), _path || (_path = /*#__PURE__*/React__namespace.createElement("path", {
39
- fill: "currentColor",
40
- d: "M7.627 14.435l-5.69-5.69L0 10.67l7.627 7.627L24 1.924 22.076 0z"
41
- })));
42
- }
43
-
44
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
45
- var checkboxSize = '17px';
46
- var Checkbox$1 = styled__default["default"].label.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n position: relative;\n cursor: pointer;\n user-select: none;\n min-height: ", ";\n text-align: left;\n display: flex;\n flex-wrap: wrap;\n flex: 1;\n line-height: ", ";\n\n & input[type='checkbox'] {\n position: absolute;\n opacity: 0;\n pointer-events: none;\n margin: 0;\n }\n\n &::before {\n content: '';\n border: 2px solid ", ";\n border-radius: 2px;\n transition: all 200ms;\n width: ", ";\n height: ", ";\n box-sizing: border-box;\n }\n\n ", "\n\n ", "\n"])), checkboxSize, checkboxSize, function (props) {
47
- return props.theme.getColor('gray-300');
48
- }, checkboxSize, checkboxSize, function (props) {
49
- return props.checked && styled.css(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n &::before {\n background: ", ";\n border-color: ", ";\n }\n "])), function (props) {
50
- return props.theme.getColor('emerald-500');
51
- }, function (props) {
52
- return props.theme.getColor('emerald-500');
53
- });
54
- }, function (props) {
55
- return props.disabled && styled.css(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n opacity: 0.5;\n cursor: not-allowed;\n "])));
56
- });
57
- var CheckboxLabel = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n padding-left: 10px;\n font-weight: 400;\n font-size: 0.919rem;\n opacity: 0.75;\n flex: 1;\n"])));
58
- var CheckIcon = styled__default["default"].svg.attrs(defaultTheme.applyDefaultTheme)(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n width: 13px;\n left: 2px;\n top: 3px;\n color: ", ";\n"])), function (props) {
59
- return props.theme.getColor('gray-100');
60
- });
61
- var IncompleteCheckIcon = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n height: 2px;\n top: 7px;\n left: 3px;\n background: ", ";\n width: 11px;\n"])), function (props) {
62
- return props.theme.getColor('gray-100');
63
- });
64
-
65
- var Checkbox = React__default["default"].forwardRef(function Checkbox(_ref, forwardedRef) {
66
- var checked = _ref.checked,
67
- disabled = _ref.disabled,
68
- name = _ref.name,
69
- incomplete = _ref.incomplete,
70
- onChange = _ref.onChange,
71
- className = _ref.className,
72
- children = _ref.children;
73
- var _useState = React.useState(nanoid.nanoid()),
74
- _useState2 = defaultTheme._slicedToArray(_useState, 1),
75
- uniqueId = _useState2[0];
76
- var onChangeCallback = React.useCallback(function (event) {
77
- if (onChange) {
78
- onChange(event.target.checked);
79
- }
80
- }, [onChange]);
81
- var checkIcon = React.useMemo(function () {
82
- if (checked && incomplete) {
83
- return React__default["default"].createElement(IncompleteCheckIcon, null);
84
- }
85
- if (checked) {
86
- return React__default["default"].createElement(CheckIcon, {
87
- as: SvgCheck
88
- });
89
- }
90
- return null;
91
- }, [checked, incomplete]);
92
- return React__default["default"].createElement(Checkbox$1, {
93
- checked: checked,
94
- className: className,
95
- disabled: disabled,
96
- htmlFor: uniqueId
97
- }, React__default["default"].createElement("input", {
98
- checked: checked,
99
- disabled: disabled,
100
- id: uniqueId,
101
- name: name,
102
- ref: forwardedRef,
103
- type: "checkbox",
104
- onChange: onChangeCallback
105
- }), checkIcon, React__default["default"].createElement(CheckboxLabel, null, children));
106
- });
107
- Checkbox.propTypes = process.env.NODE_ENV !== "production" ? {
108
- checked: defaultTheme.PropTypes.bool,
109
- disabled: defaultTheme.PropTypes.bool,
110
- name: defaultTheme.PropTypes.string,
111
- incomplete: defaultTheme.PropTypes.bool,
112
- onChange: defaultTheme.PropTypes.func,
113
- className: defaultTheme.PropTypes.string,
114
- children: defaultTheme.PropTypes.any
115
- } : {};
116
- Checkbox.defaultProps = {
117
- checked: false,
118
- disabled: false,
119
- incomplete: false
120
- };
121
-
122
- exports.Checkbox = Checkbox;
package/Radio-1521b33c.js DELETED
@@ -1,71 +0,0 @@
1
- 'use strict';
2
-
3
- var defaultTheme = require('./defaultTheme-d8298500.js');
4
- var React = require('react');
5
- var nanoid = require('nanoid');
6
- var polished = require('polished');
7
- var styled = require('styled-components');
8
-
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
-
11
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
13
-
14
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
15
- var radioSize = '17px';
16
- var Radio$1 = styled__default["default"].label.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n display: block;\n position: relative;\n cursor: pointer;\n line-height: ", ";\n user-select: none;\n\n &::before {\n content: '';\n position: absolute;\n border: 2px solid ", ";\n width: ", ";\n height: ", ";\n top: 1px;\n border-radius: 50%;\n transition: all 200ms;\n box-sizing: border-box;\n }\n\n &::after {\n content: '';\n position: absolute;\n width: 7px;\n height: 7px;\n top: 6px;\n left: 5px;\n border-radius: 50%;\n transform: scale(0);\n transition: all 200ms;\n }\n\n ", "\n\n input[type='radio'] {\n position: absolute;\n opacity: 0;\n pointer-events: none;\n }\n\n ", "\n"])), polished.math("".concat(radioSize, " + 2 * 2")), function (props) {
17
- return props.theme.getColor('gray-300');
18
- }, radioSize, radioSize, function (props) {
19
- return props.checked && styled.css(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n &::before {\n border-color: ", ";\n }\n\n &::after {\n background: ", ";\n transform: scale(1);\n }\n\n ", " {\n opacity: 1;\n }\n "])), function (props) {
20
- return props.theme.getColor('emerald-500');
21
- }, function (props) {
22
- return props.theme.getColor('emerald-500');
23
- }, RadioLabel);
24
- }, function (props) {
25
- return props.disabled && styled.css(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n opacity: 0.5;\n cursor: not-allowed;\n "])));
26
- });
27
- var RadioLabel = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n padding-left: ", ";\n font-weight: 400;\n font-size: 0.9375rem;\n opacity: 0.75;\n"])), polished.math("".concat(radioSize, " * 1.7")));
28
-
29
- var Radio = React__default["default"].forwardRef(function Radio(_ref, forwardedRef) {
30
- var value = _ref.value,
31
- checked = _ref.checked,
32
- disabled = _ref.disabled,
33
- name = _ref.name,
34
- children = _ref.children,
35
- onChange = _ref.onChange;
36
- var _useState = React.useState(nanoid.nanoid()),
37
- _useState2 = defaultTheme._slicedToArray(_useState, 1),
38
- uniqueId = _useState2[0];
39
- var clicked = function clicked() {
40
- if (onChange) {
41
- onChange(value);
42
- }
43
- };
44
- return React__default["default"].createElement(Radio$1, {
45
- htmlFor: uniqueId,
46
- checked: checked,
47
- disabled: disabled
48
- }, React__default["default"].createElement("input", {
49
- ref: forwardedRef,
50
- checked: checked,
51
- disabled: disabled,
52
- id: uniqueId,
53
- name: name,
54
- type: "radio",
55
- onChange: clicked
56
- }), React__default["default"].createElement(RadioLabel, null, children));
57
- });
58
- Radio.propTypes = process.env.NODE_ENV !== "production" ? {
59
- children: defaultTheme.PropTypes.any,
60
- checked: defaultTheme.PropTypes.bool.isRequired,
61
- disabled: defaultTheme.PropTypes.bool,
62
- value: defaultTheme.PropTypes.string.isRequired,
63
- name: defaultTheme.PropTypes.string,
64
- onChange: defaultTheme.PropTypes.func
65
- } : {};
66
- Radio.defaultProps = {
67
- checked: false,
68
- disabled: false
69
- };
70
-
71
- exports.Radio = Radio;
@@ -1,103 +0,0 @@
1
- 'use strict';
2
-
3
- var defaultTheme = require('./defaultTheme-d8298500.js');
4
- var React = require('react');
5
- var nanoid = require('nanoid');
6
- var lodash = require('lodash');
7
- var styled = require('styled-components');
8
-
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
-
11
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
13
-
14
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
15
- var activeLabel = styled.css(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n font-size: 0.75rem;\n padding: 0 3px;\n ", "\n top: -7px;\n left: 7px;\n opacity: 1;\n"])), function (props) {
16
- return props.theme.themeProp('background', "linear-gradient(0deg, ".concat(props.theme.getColor('gray-900'), " calc(50% + 1px), transparent 50%)"), "linear-gradient(0deg, ".concat(props.theme.getColor('white'), " calc(50% + 1px), transparent 50%)"));
17
- });
18
- var placeholderBaseStyle = styled.css(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n color: inherit;\n opacity: 0.7;\n"])));
19
- var TextAreaLabel = styled__default["default"].label.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n top: 13px;\n left: 11px;\n line-height: 1.2;\n font-size: 0.875rem;\n transition: all 150ms;\n ", "\n\n ", "\n"])), placeholderBaseStyle, function (props) {
20
- var _props$inputValue;
21
- return (props.placeholderVisible || ((_props$inputValue = props.inputValue) === null || _props$inputValue === void 0 ? void 0 : _props$inputValue.length)) && styled.css(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n ", "\n "])), activeLabel);
22
- });
23
- var TextArea$1 = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n position: relative;\n margin-top: 8px;\n\n &:focus-within {\n ", " {\n ", "\n }\n }\n\n ", "\n"])), TextAreaLabel, activeLabel, function (props) {
24
- return props.disabled && styled.css(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n opacity: 0.5;\n > * {\n cursor: not-allowed;\n }\n "])));
25
- });
26
- var TextAreaField = styled__default["default"].textarea.attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n display: block;\n width: 100%;\n font-family: inherit;\n font-size: 0.875rem;\n border-radius: 2px;\n padding: 12px 10px;\n margin: 0 0 1.07143rem;\n color: inherit;\n resize: vertical;\n overflow: auto;\n ", "\n border: 1px solid;\n ", "\n border-radius: 3px;\n box-sizing: border-box;\n appearance: none;\n transition: border-color 350ms;\n\n ", "\n\n &::placeholder {\n ", "\n }\n\n :focus {\n outline: none;\n ", "\n }\n"])), function (props) {
27
- return props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'));
28
- }, function (props) {
29
- return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-400'));
30
- }, function (props) {
31
- return props.error && styled.css(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", " !important;\n "])), props.theme.getColor('red-500'));
32
- }, placeholderBaseStyle, function (props) {
33
- return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-600'));
34
- });
35
-
36
- var TextArea = React__default["default"].forwardRef(function TextArea(_ref, forwardedRef) {
37
- var value = _ref.value,
38
- defaultValue = _ref.defaultValue,
39
- name = _ref.name,
40
- label = _ref.label,
41
- rows = _ref.rows,
42
- placeholder = _ref.placeholder,
43
- required = _ref.required,
44
- disabled = _ref.disabled,
45
- error = _ref.error,
46
- onChange = _ref.onChange,
47
- onBlur = _ref.onBlur;
48
- var _useState = React.useState(nanoid.nanoid()),
49
- _useState2 = defaultTheme._slicedToArray(_useState, 1),
50
- uniqueId = _useState2[0];
51
- var _useState3 = React.useState(value || defaultValue || ''),
52
- _useState4 = defaultTheme._slicedToArray(_useState3, 2),
53
- controlledValue = _useState4[0],
54
- setControlledValue = _useState4[1];
55
- React.useEffect(function () {
56
- if (value !== undefined) {
57
- setControlledValue(value);
58
- }
59
- }, [value]);
60
- var onInputChange = function onInputChange(event) {
61
- if (lodash.isFunction(onChange)) {
62
- onChange(event);
63
- }
64
- setControlledValue(event.target.value);
65
- };
66
- return React__default["default"].createElement(TextArea$1, {
67
- disabled: disabled
68
- }, label && React__default["default"].createElement(TextAreaLabel, {
69
- htmlFor: "text-area-".concat(uniqueId),
70
- placeholderVisible: Boolean(placeholder),
71
- inputValue: controlledValue
72
- }, label, required && ' *'), React__default["default"].createElement(TextAreaField, {
73
- rows: rows,
74
- ref: forwardedRef,
75
- value: controlledValue,
76
- name: name,
77
- placeholder: placeholder,
78
- required: required,
79
- disabled: disabled,
80
- error: error,
81
- id: "text-area-".concat(uniqueId),
82
- onChange: onInputChange,
83
- onBlur: onBlur
84
- }));
85
- });
86
- TextArea.defaultProps = {
87
- rows: 4
88
- };
89
- TextArea.propTypes = process.env.NODE_ENV !== "production" ? {
90
- value: defaultTheme.PropTypes.string,
91
- defaultValue: defaultTheme.PropTypes.string,
92
- name: defaultTheme.PropTypes.string,
93
- label: defaultTheme.PropTypes.string,
94
- rows: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.number, defaultTheme.PropTypes.string]),
95
- placeholder: defaultTheme.PropTypes.string,
96
- required: defaultTheme.PropTypes.bool,
97
- disabled: defaultTheme.PropTypes.bool,
98
- error: defaultTheme.PropTypes.bool,
99
- onChange: defaultTheme.PropTypes.func,
100
- onBlur: defaultTheme.PropTypes.func
101
- } : {};
102
-
103
- exports.TextArea = TextArea;
@@ -1,109 +0,0 @@
1
- 'use strict';
2
-
3
- var defaultTheme = require('./defaultTheme-d8298500.js');
4
- var React = require('react');
5
- var nanoid = require('nanoid');
6
- var lodash = require('lodash');
7
- var styled = require('styled-components');
8
-
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
-
11
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
13
-
14
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
15
- var activeLabel = styled.css(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n font-size: 0.75rem;\n padding: 0 3px;\n ", "\n top: -7px;\n left: 7px !important;\n opacity: 1;\n"])), function (props) {
16
- return props.theme.themeProp('background', "linear-gradient(0deg, ".concat(props.theme.getColor('gray-900'), " calc(50% + 1px), transparent 50%)"), "linear-gradient(0deg, ".concat(props.theme.getColor('white'), " calc(50% + 1px), transparent 50%)"));
17
- });
18
- var placeholderBaseStyle = styled.css(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n color: inherit;\n opacity: 0.7;\n"])));
19
- var TextInputLabel = styled__default["default"].label.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n top: 13px;\n left: 11px;\n line-height: 1.2;\n font-size: 0.875rem;\n transition: all 150ms;\n ", "\n\n ", "\ncontent: \"\";\n ", "\n"])), placeholderBaseStyle, function (props) {
20
- var _props$inputValue;
21
- return (props.placeholderVisible || ((_props$inputValue = props.inputValue) === null || _props$inputValue === void 0 ? void 0 : _props$inputValue.length) > 0) && styled.css(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n ", "\n "])), activeLabel);
22
- }, function (props) {
23
- return props.hasIcon && styled.css(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n left: 35px;\n "])));
24
- });
25
- var TextInputFieldIcon = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n display: flex;\n padding: 0 10px;\n\n svg {\n width: 15px;\n opacity: 0.6;\n transition: opacity 250ms;\n }\n"])));
26
- var TextInput$1 = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n position: relative;\n margin-top: 8px;\n\n &:focus-within {\n ", " {\n ", "\n }\n\n ", " {\n svg {\n opacity: 1;\n }\n }\n }\n\n ", "\n"])), TextInputLabel, activeLabel, TextInputFieldIcon, function (props) {
27
- return props.disabled && styled.css(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n opacity: 0.5;\n\n > * {\n cursor: not-allowed;\n }\n "])));
28
- });
29
- var TextInputField = styled__default["default"].input.attrs(defaultTheme.applyDefaultTheme)(_templateObject9 || (_templateObject9 = defaultTheme._taggedTemplateLiteral(["\n display: block;\n width: 100%;\n font-family: inherit;\n font-size: 0.875rem;\n border-radius: 2px;\n padding: 12px 10px;\n margin: 0 0 1.07143rem;\n color: inherit;\n ", "\n border: 1px solid;\n ", "\n border-radius: 3px;\n box-sizing: border-box;\n appearance: none;\n transition: border-color 350ms;\n\n ", "\n\n ", "\n &::placeholder {\n ", "\n }\n\n :focus {\n outline: none;\n ", "\n }\n"])), function (props) {
30
- return props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'));
31
- }, function (props) {
32
- return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-400'));
33
- }, function (props) {
34
- return props.error && styled.css(_templateObject10 || (_templateObject10 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", " !important;\n "])), props.theme.getColor('red-500'));
35
- }, function (props) {
36
- return props.hasIcon && styled.css(_templateObject11 || (_templateObject11 = defaultTheme._taggedTemplateLiteral(["\n padding-left: 35px;\n "])));
37
- }, placeholderBaseStyle, function (props) {
38
- return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-600'));
39
- });
40
-
41
- var TextInput = React__default["default"].forwardRef(function TextInput(_ref, forwardedRef) {
42
- var value = _ref.value,
43
- defaultValue = _ref.defaultValue,
44
- name = _ref.name,
45
- label = _ref.label,
46
- placeholder = _ref.placeholder,
47
- required = _ref.required,
48
- disabled = _ref.disabled,
49
- autoComplete = _ref.autoComplete,
50
- error = _ref.error,
51
- icon = _ref.icon,
52
- onChange = _ref.onChange,
53
- onBlur = _ref.onBlur;
54
- var _useState = React.useState(nanoid.nanoid()),
55
- _useState2 = defaultTheme._slicedToArray(_useState, 1),
56
- uniqueId = _useState2[0];
57
- var _useState3 = React.useState(value || defaultValue || ''),
58
- _useState4 = defaultTheme._slicedToArray(_useState3, 2),
59
- controlledValue = _useState4[0],
60
- setControlledValue = _useState4[1];
61
- React.useEffect(function () {
62
- if (value !== undefined) {
63
- setControlledValue(value);
64
- }
65
- }, [value]);
66
- var onInputChange = function onInputChange(event) {
67
- if (lodash.isFunction(onChange)) {
68
- onChange(event);
69
- }
70
- setControlledValue(event.target.value);
71
- };
72
- return React__default["default"].createElement(TextInput$1, {
73
- disabled: disabled
74
- }, label && React__default["default"].createElement(TextInputLabel, {
75
- htmlFor: "text-input-".concat(uniqueId),
76
- placeholderVisible: Boolean(placeholder),
77
- hasIcon: Boolean(icon),
78
- inputValue: controlledValue
79
- }, label, required && ' *'), React__default["default"].createElement(TextInputFieldIcon, null, icon), React__default["default"].createElement(TextInputField, {
80
- ref: forwardedRef,
81
- value: controlledValue,
82
- name: name,
83
- placeholder: placeholder,
84
- required: required,
85
- disabled: disabled,
86
- autoComplete: autoComplete,
87
- hasIcon: Boolean(icon),
88
- error: error,
89
- id: "text-input-".concat(uniqueId),
90
- onChange: onInputChange,
91
- onBlur: onBlur
92
- }));
93
- });
94
- TextInput.propTypes = process.env.NODE_ENV !== "production" ? {
95
- value: defaultTheme.PropTypes.string,
96
- defaultValue: defaultTheme.PropTypes.string,
97
- name: defaultTheme.PropTypes.string,
98
- label: defaultTheme.PropTypes.string,
99
- placeholder: defaultTheme.PropTypes.string,
100
- required: defaultTheme.PropTypes.bool,
101
- disabled: defaultTheme.PropTypes.bool,
102
- autoComplete: defaultTheme.PropTypes.string,
103
- error: defaultTheme.PropTypes.bool,
104
- icon: defaultTheme.PropTypes.element,
105
- onChange: defaultTheme.PropTypes.func,
106
- onBlur: defaultTheme.PropTypes.func
107
- } : {};
108
-
109
- exports.TextInput = TextInput;