@ntbjs/react-components 1.1.0-beta.9 → 1.1.0-beta.91

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.
Files changed (62) hide show
  1. package/{ActionButton-90485300.js → ActionButton-c3f5ed94.js} +1 -1
  2. package/Alert-3e4f8be1.js +62 -0
  3. package/{AssetGallery-28fd6d5c.js → AssetGallery-d38688e4.js} +24 -36
  4. package/{AssetPreviewTopBar-020a6f96.js → AssetPreviewTopBar-449e6019.js} +4 -2
  5. package/{Badge-34ad2850.js → Badge-9bcebe96.js} +1 -1
  6. package/{Button-e6a6139c.js → Button-432f87c6.js} +3 -3
  7. package/{Checkbox-50f1f3c7.js → Checkbox-85394137.js} +5 -5
  8. package/{AutocompleteSelect-e82bd937.js → CompactAutocompleteSelect-45b12179.js} +137 -77
  9. package/CompactStarRating-de1bcfe9.js +300 -0
  10. package/CompactTextInput-480f59cc.js +314 -0
  11. package/{ContextMenu-a68d4f28.js → ContextMenu-d088833b.js} +2 -2
  12. package/{InputGroup-66dd343c.js → InputGroup-09ce9572.js} +1 -1
  13. package/Instructions-34b22002.js +246 -0
  14. package/{MultiSelect-3eca3c3e.js → MultiSelect-01a257b8.js} +62 -46
  15. package/{Popover-63d38274.js → Popover-d3a4b72e.js} +9 -16
  16. package/{Radio-0b46b2a8.js → Radio-c811ce4a.js} +3 -3
  17. package/{SectionSeparator-12aff748.js → SectionSeparator-225719cd.js} +1 -1
  18. package/{Switch-aa384260.js → Switch-3ac11c97.js} +3 -3
  19. package/{Tab-51124003.js → Tab-bd0f3345.js} +11 -6
  20. package/{Tabs-452079b5.js → Tabs-bf42275e.js} +66 -13
  21. package/TextArea-dba4fd6c.js +321 -0
  22. package/{TextInput-e4c6d536.js → TextInput-8ea31a7b.js} +43 -43
  23. package/{Tooltip-556138de.js → Tooltip-1b7b0052.js} +15 -13
  24. package/check-555d831b.js +213 -0
  25. package/data/Alert/index.js +10 -0
  26. package/data/Badge/index.js +2 -2
  27. package/data/Popover/index.js +4 -3
  28. package/data/Tab/index.js +2 -2
  29. package/data/Tabs/index.js +3 -3
  30. package/data/Tooltip/index.js +12 -0
  31. package/data/index.js +11 -8
  32. package/{defaultTheme-870f7df1.js → defaultTheme-50f2b88f.js} +17 -0
  33. package/inputs/ActionButton/index.js +2 -2
  34. package/inputs/Button/index.js +5 -4
  35. package/inputs/Checkbox/index.js +2 -2
  36. package/inputs/CompactAutocompleteSelect/index.js +19 -0
  37. package/inputs/CompactStarRating/index.js +4 -3
  38. package/inputs/CompactTextInput/index.js +12 -9
  39. package/inputs/MultiSelect/index.js +4 -3
  40. package/inputs/Radio/index.js +2 -2
  41. package/inputs/Switch/index.js +2 -2
  42. package/inputs/TextArea/index.js +3 -3
  43. package/inputs/TextInput/index.js +2 -2
  44. package/inputs/index.js +28 -25
  45. package/layout/InputGroup/index.js +2 -2
  46. package/layout/SectionSeparator/index.js +2 -2
  47. package/layout/index.js +3 -3
  48. package/package.json +3 -2
  49. package/{react-select-creatable.esm-eb462367.js → react-select-creatable.esm-7231b55e.js} +132 -41
  50. package/shift-away-subtle-cfdf1dbe.js +9 -0
  51. package/warning-circle-24522402.js +41 -0
  52. package/widgets/AssetGallery/index.js +28 -24
  53. package/widgets/AssetPreview/AssetPreviewTopBar/index.js +2 -2
  54. package/widgets/ContextMenu/ContextMenuItem/index.js +3 -5
  55. package/widgets/ContextMenu/ContextMenuItemsGroup/index.js +1 -1
  56. package/widgets/ContextMenu/index.js +2 -2
  57. package/widgets/Instructions/index.js +23 -0
  58. package/widgets/index.js +31 -25
  59. package/CompactStarRating-f7a58649.js +0 -246
  60. package/CompactTextInput-a5bc6ec3.js +0 -265
  61. package/TextArea-efe4fa88.js +0 -213
  62. package/inputs/AutocompleteSelect/index.js +0 -18
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var defaultTheme = require('./defaultTheme-870f7df1.js');
3
+ var defaultTheme = require('./defaultTheme-50f2b88f.js');
4
4
  var React = require('react');
5
5
  var styled = require('styled-components');
6
6
 
@@ -10,21 +10,26 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
10
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
11
11
 
12
12
  var _templateObject;
13
- var Tab$1 = styled__default['default'].p.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n font-family: ", ";\n font-size: 1rem;\n font-weight: 500;\n border-bottom: 1px solid;\n min-height: 35px;\n\n"])), function (props) {
13
+ var Tab$1 = styled__default['default'].p.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n font-family: ", ";\n font-size: 1rem;\n font-weight: 500;\n border-bottom: 1px solid;\n min-height: 35px;\n"])), function (props) {
14
14
  return props.theme.primaryFontFamily;
15
15
  });
16
16
 
17
17
  var Tab = React__default['default'].forwardRef(function Tab(_ref, forwardedRef) {
18
18
  var children = _ref.children,
19
- props = defaultTheme._objectWithoutProperties(_ref, ["children"]);
19
+ hidden = _ref.hidden,
20
+ props = defaultTheme._objectWithoutProperties(_ref, ["children", "hidden"]);
20
21
 
21
22
  return React__default['default'].createElement(Tab$1, defaultTheme._extends({
22
- ref: forwardedRef
23
+ ref: forwardedRef,
24
+ hidden: hidden
23
25
  }, props), children);
24
26
  });
25
27
  Tab.propTypes = process.env.NODE_ENV !== "production" ? {
26
- children: defaultTheme.PropTypes.array
28
+ children: defaultTheme.PropTypes.any,
29
+ hidden: defaultTheme.PropTypes.bool
27
30
  } : {};
28
- Tab.defaultProps = {};
31
+ Tab.defaultProps = {
32
+ hidden: false
33
+ };
29
34
 
30
35
  exports.Tab = Tab;
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var defaultTheme = require('./defaultTheme-870f7df1.js');
3
+ var defaultTheme = require('./defaultTheme-50f2b88f.js');
4
4
  var React = require('react');
5
5
  var styled = require('styled-components');
6
- var Tab = require('./Tab-51124003.js');
6
+ var Tab = require('./Tab-bd0f3345.js');
7
7
  var lodash = require('lodash');
8
8
 
9
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -11,13 +11,17 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
11
11
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
12
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
13
13
 
14
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
15
- var Tabs$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral([""])));
16
- var TabHeaders = styled__default['default'].ul.attrs(defaultTheme.applyDefaultTheme)(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n display: flex;\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n gap: 24px;\n margin: 0;\n padding: 0;\n\n"])));
17
- var TabHeader = styled__default['default'].li.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n font-family: ", ";\n text-transform: uppercase;\n font-weight: 600;\n font-size: 0.875rem;\n display: flex;\n padding-bottom: 8px;\n letter-spacing: 0.6px;\n cursor: pointer;\n border-bottom: 1px solid;\n border-color: transparent;\n margin-bottom: 1px;\n ", ";\n &&:hover:not(:focus) {\n ", ";\n"])), function (props) {
14
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
15
+ var Tabs$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n display: block;\n position: relative;\n ", ";\n"])), function (props) {
16
+ return props.backgroundColor && styled.css(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n background-color: ", ";\n "])), props.backgroundColor);
17
+ });
18
+ var TabHeaders = styled__default['default'].ul.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n display: flex;\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n gap: 24px;\n margin: 0;\n padding: 0;\n"])));
19
+ var TabHeader = styled__default['default'].li.attrs(defaultTheme.applyDefaultTheme)(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n font-family: ", ";\n text-transform: uppercase;\n font-weight: 600;\n font-size: 0.875rem;\n display: flex;\n padding-bottom: 8px;\n letter-spacing: 0.6px;\n cursor: pointer;\n border-bottom: 1px solid;\n border-color: transparent;\n margin-bottom: 1px;\n ", ";\n ", ";\n &&:hover:not(:focus) {\n ", ";\n }\n"])), function (props) {
18
20
  return props.theme.secondaryFontFamily;
19
21
  }, function (props) {
20
- return props.active && styled.css(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n ", "\n "])), function (props) {
22
+ return props.hidden && styled.css(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n display: none;\n "])));
23
+ }, function (props) {
24
+ return props.active && styled.css(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n ", "\n "])), function (props) {
21
25
  return props.theme.themeProp('border-color', props.theme.getColor('gray-400'), props.theme.getColor('gray-700'));
22
26
  });
23
27
  }, function (props) {
@@ -35,19 +39,53 @@ var TabHeader = styled__default['default'].li.attrs(defaultTheme.applyDefaultThe
35
39
  }
36
40
  });
37
41
  });
38
- var TabContent = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n padding-top: 16px;\n border-top: 1px solid;\n margin-top: -2px;\n ", ";\n"])), function (props) {
42
+ var TabContent = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n border-top: 1px solid;\n margin-top: -2px;\n display: block;\n ", ";\n"])), function (props) {
39
43
  return props.theme.themeProp('border-color', props.theme.getColor('gray-600'), '#F0F2F5');
40
44
  });
41
45
 
42
46
  var Tabs = React__default['default'].forwardRef(function Tabs(_ref, forwardedRef) {
43
47
  var children = _ref.children,
44
- props = defaultTheme._objectWithoutProperties(_ref, ["children"]);
48
+ minHeight = _ref.minHeight,
49
+ defaultMinHeight = _ref.defaultMinHeight,
50
+ props = defaultTheme._objectWithoutProperties(_ref, ["children", "minHeight", "defaultMinHeight"]);
45
51
 
46
52
  var _useState = React.useState(0),
47
53
  _useState2 = defaultTheme._slicedToArray(_useState, 2),
48
54
  activeTab = _useState2[0],
49
55
  setActiveTab = _useState2[1];
50
56
 
57
+ var _useState3 = React.useState(),
58
+ _useState4 = defaultTheme._slicedToArray(_useState3, 2),
59
+ firstTab = _useState4[0],
60
+ setFirstTab = _useState4[1];
61
+
62
+ var _useState5 = React.useState(),
63
+ _useState6 = defaultTheme._slicedToArray(_useState5, 2),
64
+ minTabHeight = _useState6[0],
65
+ setMinTabHeight = _useState6[1];
66
+
67
+ var _useState7 = React.useState(),
68
+ _useState8 = defaultTheme._slicedToArray(_useState7, 2),
69
+ defaultHeight = _useState8[0],
70
+ setDefaultHeight = _useState8[1];
71
+
72
+ var contentRef = React.useRef(null);
73
+ var visibleTabs = [];
74
+ React.useEffect(function () {
75
+ if ((visibleTabs === null || visibleTabs === void 0 ? void 0 : visibleTabs.length) > 0) {
76
+ setActiveTab(visibleTabs[0].key);
77
+ setFirstTab(visibleTabs[0]);
78
+ }
79
+ }, []);
80
+ React.useLayoutEffect(function () {
81
+ if (contentRef.current) {
82
+ var height = contentRef.current.offsetHeight;
83
+ setMinTabHeight(height);
84
+ }
85
+ }, [firstTab]);
86
+ React.useEffect(function () {
87
+ setDefaultHeight(defaultMinHeight);
88
+ }, []);
51
89
  var tabs = React.useMemo(function () {
52
90
  var tabs = [];
53
91
 
@@ -57,7 +95,11 @@ var Tabs = React__default['default'].forwardRef(function Tabs(_ref, forwardedRef
57
95
  extractChildren(child.props.children);
58
96
  }
59
97
 
60
- if (child.type === Tab.Tab && !lodash.isEmpty(child.props.trigger)) {
98
+ if (child.type === Tab.Tab && !lodash.isEmpty(child.props.trigger) && !child.props.hidden) {
99
+ visibleTabs.push({
100
+ key: index,
101
+ content: child.props.children
102
+ });
61
103
  tabs.push({
62
104
  key: index,
63
105
  trigger: child.props.trigger,
@@ -77,6 +119,7 @@ var Tabs = React__default['default'].forwardRef(function Tabs(_ref, forwardedRef
77
119
  }), React__default['default'].createElement(TabHeaders, null, tabs.map(function (tab) {
78
120
  return React__default['default'].createElement(TabHeader, {
79
121
  key: tab.key,
122
+ hidden: tab.hidden,
80
123
  active: tab.key === activeTab,
81
124
  onClick: function onClick() {
82
125
  return setActiveTab(tab.key);
@@ -85,15 +128,25 @@ var Tabs = React__default['default'].forwardRef(function Tabs(_ref, forwardedRef
85
128
  }, tab.trigger);
86
129
  })), React__default['default'].createElement(TabContent, null, tabs.map(function (tab) {
87
130
  return React__default['default'].createElement("div", {
131
+ ref: tab.key === (firstTab === null || firstTab === void 0 ? void 0 : firstTab.key) ? contentRef : null,
88
132
  key: tab.key,
89
133
  role: "tabpanel",
90
- hidden: tab.key !== activeTab
134
+ hidden: tab.key !== activeTab,
135
+ style: {
136
+ minHeight: minHeight ? minTabHeight : !lodash.isEmpty(defaultHeight) ? defaultHeight : ''
137
+ }
91
138
  }, tab.content);
92
139
  })));
93
140
  });
141
+ Tabs.defaultProps = {
142
+ minHeight: false,
143
+ defaultMinHeight: ''
144
+ };
94
145
  Tabs.propTypes = process.env.NODE_ENV !== "production" ? {
95
- children: defaultTheme.PropTypes.element
146
+ children: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.array, defaultTheme.PropTypes.object]),
147
+ backgroundColor: defaultTheme.PropTypes.string,
148
+ minHeight: defaultTheme.PropTypes.bool,
149
+ defaultMinHeight: defaultTheme.PropTypes.string
96
150
  } : {};
97
- Tabs.defaultProps = {};
98
151
 
99
152
  exports.Tabs = Tabs;
@@ -0,0 +1,321 @@
1
+ 'use strict';
2
+
3
+ var defaultTheme = require('./defaultTheme-50f2b88f.js');
4
+ var React = require('react');
5
+ var nanoid = require('nanoid');
6
+ var check = require('./check-555d831b.js');
7
+ var editNote = require('./edit-note-c47d292e.js');
8
+ var styled = require('styled-components');
9
+
10
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
+
12
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
14
+
15
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42;
16
+ var fadeInCheck = styled.keyframes(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n from {\n opacity: 0\n }\n to {\n opacity: 1\n }\n"])));
17
+ var fadeOutCheck = styled.keyframes(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n from {\n opacity: 1\n }\n to {\n opacity: 0\n }\n"])));
18
+ var activeLabel = styled.css(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n font-size: 0.75rem;\n padding: 0 3px;\n top: -7px;\n letter-spacing: 0.03em;\n left: 8px !important;\n opacity: 1 !important;\n"])));
19
+ var placeholderBaseStyle = styled.css(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n ", "\n\n ", "\n"])), function (props) {
20
+ return props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'));
21
+ }, function (props) {
22
+ return props.theme.themeProp('opacity', 0.6, 0.5);
23
+ });
24
+ var InputIconContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n opacity: 0;\n pointer-events: none;\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n display: flex;\n align-items: flex-start;\n position: absolute;\n right: 15px;\n top: 10px;\n bottom: 0;\n svg {\n width: 15px;\n opacity: 0.7;\n transition: opacity 250ms;\n ", "\n ", "\n }\n"])), function (props) {
25
+ return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-900'), '!important');
26
+ }, function (props) {
27
+ return props.disabled && styled.css(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n display: none;\n "])));
28
+ });
29
+ var Container = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral([""])));
30
+ var TextInputField = styled__default['default'].textarea.attrs(defaultTheme.applyDefaultTheme)(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n width: 100%;\n font-family: inherit;\n font-size: 0.875rem;\n border-radius: 2px;\n padding: 5px 10px;\n resize: vertical;\n z-index: 0;\n border-radius: 3px;\n box-sizing: border-box;\n appearance: none;\n border: 1px solid;\n\n ", "\n ", "\n\n transition: height 550ms ease-in-out; border-color 350ms;\n\n ", "\n ", "\n\n\n\n ", "\n \n\n ", "\n \n ", "\n\n ", "\n\n ", "\n \n\n ", "\n\n ", " \n ", "\n\n &&:hover:not(:focus) {\n ", ";\n }\n\n ", "\n\n ", " \n ", "\n\n ", ";\n\n ", ";\n\n &&:hover:not(:focus) {\n ", ";\n transition: background 350ms;\n & + ", " {\n opacity: 1;\n ", ";\n transition: opacity 350ms;\n }\n }\n\n ", "\n ", "\n ", "\n\n ", "\n\n &::placeholder {\n ", "\n\n ", "\n }\n\n &&:focus {\n outline: none;\n ", "\n\n ", ";\n\n ", "\n ", "\n }\n"])), function (props) {
31
+ return props.expanded && styled.css(_templateObject9 || (_templateObject9 = defaultTheme._taggedTemplateLiteral(["\n height: ", "px;\n "])), props.defaultHeight);
32
+ }, function (props) {
33
+ return !props.expanded && styled.css(_templateObject10 || (_templateObject10 = defaultTheme._taggedTemplateLiteral(["\n height: ", "px;\n "])), props.maxHeight);
34
+ }, function (props) {
35
+ return props.theme.themeProp('color', 'white', 'black');
36
+ }, function (props) {
37
+ return props.disabled && styled.css(_templateObject11 || (_templateObject11 = defaultTheme._taggedTemplateLiteral(["\n opacity: 0.5;\n cursor: not-allowed;\n "])));
38
+ }, function (props) {
39
+ return props.readOnly && styled.css(_templateObject12 || (_templateObject12 = defaultTheme._taggedTemplateLiteral(["\n pointer-events: none;\n "])));
40
+ }, function (props) {
41
+ return props.showMore && styled.css(_templateObject13 || (_templateObject13 = defaultTheme._taggedTemplateLiteral(["\n overflow: hidden;\n "])));
42
+ }, function (props) {
43
+ return props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'));
44
+ }, function (props) {
45
+ return (props.state === 'warning' || props.state === 'error') && props.theme.themeProp('color', props.theme.getColor('gray-900'), props.theme.getColor('gray-900'));
46
+ }, function (props) {
47
+ return props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'));
48
+ }, function (props) {
49
+ return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-400'));
50
+ }, function (props) {
51
+ return props.noBorder && styled.css(_templateObject14 || (_templateObject14 = defaultTheme._taggedTemplateLiteral(["\n padding: 13px 15px 13px 10px;\n border-color: transparent !important;\n "])));
52
+ }, function (props) {
53
+ return props.state === 'error-border' && styled.css(_templateObject15 || (_templateObject15 = defaultTheme._taggedTemplateLiteral(["\n ", "\n "])), props.theme.themeProp('border-color', props.theme.getColor('red-200'), props.theme.getColor('red-500')));
54
+ }, function (props) {
55
+ return !props.readOnly && props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('gray-100'));
56
+ }, function (props) {
57
+ return props.state === 'warning' && styled.css(_templateObject16 || (_templateObject16 = defaultTheme._taggedTemplateLiteral(["\n ", "\n ", "\n &&:hover:not(:focus) {\n ", "\n ", "\n }\n &&:read-only:hover {\n ", "\n }\n "])), props.theme.themeProp('color', 'white', 'black'), props.theme.themeProp('background', '#634E01 ', props.theme.getColor('signal-yellow-400')), function (props) {
58
+ return props.disabled && styled.css(_templateObject17 || (_templateObject17 = defaultTheme._taggedTemplateLiteral(["\n background: none !important;\n "])));
59
+ }, props.theme.themeProp('background', '#816600', '#F4E21E'), props.theme.themeProp('background', props.theme.getColor('signal-yellow-500'), props.theme.getColor('signal-yellow-400')));
60
+ }, function (props) {
61
+ return props.state === 'error' && styled.css(_templateObject18 || (_templateObject18 = defaultTheme._taggedTemplateLiteral(["\n background: ", " !important;\n :focus {\n background: white !important;\n }\n &&:hover:not(:focus) {\n background: #f7d5d0 !important;\n }\n &&:read-only:hover {\n background: ", " !important;\n }\n "])), props.theme.getColor('red-200'), props.theme.getColor('red-200'));
62
+ }, function (props) {
63
+ return props.lightBackground && styled.css(_templateObject19 || (_templateObject19 = defaultTheme._taggedTemplateLiteral(["\n ", "\n ", "\n &&:hover {\n ", "\n }\n "])), props.theme.themeProp('background', '#FFFDDE', '#fffde8'), props.theme.themeProp('color', props.theme.getColor('gray-900'), props.theme.getColor('gray-900')), props.theme.themeProp('background', 'white', 'white'));
64
+ }, function (props) {
65
+ return props.edit && !props.state === 'warning' && props.theme.themeProp('background', '#505050', '#eff1f4');
66
+ }, function (props) {
67
+ return props.edit && props.state === 'warning' && props.theme.themeProp('background', '#AD8800', '#FFF3A7');
68
+ }, function (props) {
69
+ return props.noBorder && !props.readOnly && props.state != 'warning' ? props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('gray-100')) : 'background: transparent';
70
+ }, InputIconContainer, function (props) {
71
+ return props.state === 'success' && styled.css(_templateObject20 || (_templateObject20 = defaultTheme._taggedTemplateLiteral(["\n opacity: 0;\n "])));
72
+ }, function (props) {
73
+ return props.state === 'warning' && styled.css(_templateObject21 || (_templateObject21 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", ";\n "])), props.theme.getColor('orange-500'));
74
+ }, function (props) {
75
+ return props.state === 'error' && styled.css(_templateObject22 || (_templateObject22 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", ";\n "])), props.theme.getColor('red-500'));
76
+ }, function (props) {
77
+ return props.hasIcon && styled.css(_templateObject23 || (_templateObject23 = defaultTheme._taggedTemplateLiteral(["\n padding-left: 55px;\n padding-right: 25px;\n "])));
78
+ }, function (props) {
79
+ return props.instructionsTextArea && styled.css(_templateObject24 || (_templateObject24 = defaultTheme._taggedTemplateLiteral(["\n padding-left: 55px;\n padding-top: 15px;\n padding-right: 50px;\n "])));
80
+ }, function (props) {
81
+ return props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'), 1);
82
+ }, function (props) {
83
+ return props.theme.themeProp('opacity', 0.6, 0.5, 1);
84
+ }, function (props) {
85
+ return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-600'));
86
+ }, function (props) {
87
+ return props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('gray-100'));
88
+ }, function (props) {
89
+ return props.state === 'warning' && styled.css(_templateObject25 || (_templateObject25 = defaultTheme._taggedTemplateLiteral(["\n ", "\n ", "\n "])), props.theme.themeProp('background', 'white', 'white'), props.theme.themeProp('color', 'black', 'black'));
90
+ }, function (props) {
91
+ return props.state === 'error' && styled.css(_templateObject26 || (_templateObject26 = defaultTheme._taggedTemplateLiteral(["\n ", "\n ", "\n "])), props.theme.themeProp('background', 'white', 'white'), props.theme.themeProp('color', 'black', 'black'));
92
+ });
93
+ var TextInputLabel = styled__default['default'].label.attrs(defaultTheme.applyDefaultTheme)(_templateObject27 || (_templateObject27 = 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 ", "\n\n ", "\n\n ", "\n content: \"\";\n\n ", "\n"])), placeholderBaseStyle, function (props) {
94
+ 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%)"));
95
+ }, function (props) {
96
+ return !props.inputIsEmpty && styled.css(_templateObject28 || (_templateObject28 = defaultTheme._taggedTemplateLiteral(["\n ", "\n "])), activeLabel);
97
+ }, function (props) {
98
+ return props.hasPlaceholder && styled.css(_templateObject29 || (_templateObject29 = defaultTheme._taggedTemplateLiteral(["\n ", ";\n ", "\n "])), activeLabel, props.state === 'error' && styled.css(_templateObject30 || (_templateObject30 = defaultTheme._taggedTemplateLiteral(["\n color: ", " !important;\n "])), props.theme.getColor('red-500')));
99
+ }, function (props) {
100
+ return props.hasIcon && styled.css(_templateObject31 || (_templateObject31 = defaultTheme._taggedTemplateLiteral(["\n left: 55px;\n "])));
101
+ });
102
+ var TextInputFieldIcon = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject32 || (_templateObject32 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n left: 0;\n height: 2.625rem;\n display: flex;\n padding: 0 10px;\n\n svg {\n width: 15px;\n opacity: 0.6;\n transition: opacity 250ms;\n }\n"])));
103
+ var TextInputFieldIconAlert = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject33 || (_templateObject33 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n top: 2.8px;\n height: 2.625rem;\n display: flex;\n padding: 0 10px 0 30px;\n svg {\n width: 15px;\n opacity: 0.6;\n transition: opacity 250ms;\n margin-top: -3px;\n ", "\n }\n"])), function (props) {
104
+ return props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-600'));
105
+ });
106
+ var TextInput = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject34 || (_templateObject34 = defaultTheme._taggedTemplateLiteral(["\n position: relative;\n\n ", "\n\n &:focus-within {\n ", " {\n ", ";\n }\n\n ", " {\n svg {\n opacity: 1;\n }\n }\n }\n\n ", ":not(:placeholder-shown) + ", " {\n ", ";\n ", "\n }\n }\n\n ", "\n"])), function (props) {
107
+ return props.disabled && styled.css(_templateObject35 || (_templateObject35 = defaultTheme._taggedTemplateLiteral(["\n opacity: 0.5;\n cursor: not-allowed;\n "])));
108
+ }, TextInputLabel, activeLabel, TextInputFieldIcon, TextInputField, TextInputLabel, activeLabel, function (props) {
109
+ return props.state === 'error' && props.theme.themeProp('color', props.theme.getColor('red-200'), props.theme.getColor('red-500'));
110
+ }, function (props) {
111
+ return props.disabled && styled.css(_templateObject36 || (_templateObject36 = defaultTheme._taggedTemplateLiteral(["\n opacity: 0.5;\n\n > * {\n cursor: not-allowed;\n }\n "])));
112
+ });
113
+ var Description = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject37 || (_templateObject37 = defaultTheme._taggedTemplateLiteral(["\n margin: 8px 0 0 0;\n padding: 0 0.6875rem;\n font-size: 0.75rem;\n line-height: 1.333;\n\n ", ";\n\n ", "\n"])), function (props) {
114
+ return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
115
+ }, function (props) {
116
+ return (props.state === 'error-border' || props.state === 'error') && styled.css(_templateObject38 || (_templateObject38 = defaultTheme._taggedTemplateLiteral(["\n ", "\n "])), props.theme.themeProp('color', props.theme.getColor('red-200'), props.theme.getColor('red-500')));
117
+ });
118
+ var SuccessContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject39 || (_templateObject39 = defaultTheme._taggedTemplateLiteral(["\n opacity: 1;\n pointer-events: none;\n opacity: ", ";\n animation: ", " 0.5s ease-in-out;\n transition: opacity 0.5s ease-in-out;\n position: absolute;\n margin-top: -35px;\n margin-left: 5px;\n width: 15px;\n height: 15px;\n padding: 5px;\n ", "\n\n > svg {\n width: 15px;\n }\n"])), function (props) {
119
+ return props.fadeIn ? 0 : 1;
120
+ }, function (props) {
121
+ return props.fadeIn ? fadeOutCheck : fadeInCheck;
122
+ }, function (props) {
123
+ return props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-500'));
124
+ });
125
+ var ShowMoreText = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject40 || (_templateObject40 = defaultTheme._taggedTemplateLiteral(["\n margin-top: -20px;\n display: block;\n position: absolute;\n padding: 0 0.6875rem;\n font-size: 0.75rem;\n line-height: 1.333;\n cursor: pointer;\n\n ", "\n\n transition: margin-top 550ms ease-in-out;\n\n ", "\n ", ";\n\n ", "\n"])), function (props) {
126
+ return !props.expanded && styled.css(_templateObject41 || (_templateObject41 = defaultTheme._taggedTemplateLiteral(["\n margin-top: 0px;\n "])));
127
+ }, function (props) {
128
+ return props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'));
129
+ }, function (props) {
130
+ return props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('emerald-500'));
131
+ }, function (props) {
132
+ return props.state === 'error' && styled.css(_templateObject42 || (_templateObject42 = defaultTheme._taggedTemplateLiteral(["\n content: 'error';\n ", "\n "])), props.theme.themeProp('color', props.theme.getColor('red-200'), props.theme.getColor('red-500')));
133
+ });
134
+
135
+ var TextArea = React__default['default'].forwardRef(function TextArea(_ref, forwardedRef) {
136
+ var value = _ref.value,
137
+ defaultValue = _ref.defaultValue,
138
+ name = _ref.name,
139
+ label = _ref.label,
140
+ placeholder = _ref.placeholder,
141
+ required = _ref.required,
142
+ disabled = _ref.disabled,
143
+ hidden = _ref.hidden,
144
+ readOnly = _ref.readOnly,
145
+ edit = _ref.edit,
146
+ showMore = _ref.showMore,
147
+ showMoreText = _ref.showMoreText,
148
+ showLessText = _ref.showLessText,
149
+ autoComplete = _ref.autoComplete,
150
+ description = _ref.description,
151
+ state = _ref.state,
152
+ icon = _ref.icon,
153
+ rows = _ref.rows,
154
+ className = _ref.className,
155
+ style = _ref.style,
156
+ _onChange = _ref.onChange,
157
+ onBlur = _ref.onBlur,
158
+ lightBackground = _ref.lightBackground,
159
+ noBorder = _ref.noBorder,
160
+ instructionsTextArea = _ref.instructionsTextArea,
161
+ rest = defaultTheme._objectWithoutProperties(_ref, ["value", "defaultValue", "name", "label", "placeholder", "required", "disabled", "hidden", "readOnly", "edit", "showMore", "showMoreText", "showLessText", "autoComplete", "description", "state", "icon", "rows", "className", "style", "onChange", "onBlur", "lightBackground", "noBorder", "instructionsTextArea"]);
162
+
163
+ var textInputRef = React.useRef(null);
164
+
165
+ var _useState = React.useState(!(value || defaultValue)),
166
+ _useState2 = defaultTheme._slicedToArray(_useState, 2),
167
+ inputIsEmpty = _useState2[0],
168
+ setInputIsEmpty = _useState2[1];
169
+
170
+ var _useState3 = React.useState(''),
171
+ _useState4 = defaultTheme._slicedToArray(_useState3, 2),
172
+ maxContentRows = _useState4[0],
173
+ setMaxContentRows = _useState4[1];
174
+
175
+ var _useState5 = React.useState(false),
176
+ _useState6 = defaultTheme._slicedToArray(_useState5, 2),
177
+ expanded = _useState6[0],
178
+ setExpanded = _useState6[1];
179
+
180
+ var _useState7 = React.useState(''),
181
+ _useState8 = defaultTheme._slicedToArray(_useState7, 2),
182
+ maxHeight = _useState8[0],
183
+ setMaxHeight = _useState8[1];
184
+
185
+ var _useState9 = React.useState(''),
186
+ _useState10 = defaultTheme._slicedToArray(_useState9, 2),
187
+ defaultHeight = _useState10[0],
188
+ setDefaultHeight = _useState10[1];
189
+
190
+ var _useState11 = React.useState(nanoid.nanoid()),
191
+ _useState12 = defaultTheme._slicedToArray(_useState11, 1),
192
+ uniqueId = _useState12[0];
193
+
194
+ var handleTextAreaChange = function handleTextAreaChange() {
195
+ setExpanded(!expanded);
196
+ };
197
+
198
+ var calculateRows = function calculateRows() {
199
+ var textareaRefCurrent = textInputRef === null || textInputRef === void 0 ? void 0 : textInputRef.current;
200
+
201
+ if (textareaRefCurrent !== null) {
202
+ var textAreaHeight = textareaRefCurrent.scrollHeight;
203
+ var lineHeight = 16;
204
+ var calculatedRows = Math.floor(textAreaHeight / lineHeight);
205
+ var defaultRowsHeight = rows * lineHeight;
206
+ setMaxContentRows(calculatedRows);
207
+
208
+ if (calculatedRows > rows) {
209
+ setExpanded(true);
210
+ setDefaultHeight(defaultRowsHeight);
211
+ setMaxHeight(textAreaHeight);
212
+ } else {
213
+ setMaxHeight();
214
+ }
215
+ }
216
+ };
217
+
218
+ React.useEffect(function () {
219
+ calculateRows();
220
+ }, [value, defaultValue]);
221
+ if (hidden) return null;
222
+ return React__default['default'].createElement(TextInput, {
223
+ disabled: disabled,
224
+ readOnly: readOnly,
225
+ state: state,
226
+ className: className,
227
+ style: style
228
+ }, React__default['default'].createElement(TextInputFieldIconAlert, null, icon), React__default['default'].createElement(Container, null, React__default['default'].createElement(TextInputField, defaultTheme._extends({
229
+ ref: forwardedRef ? forwardedRef : textInputRef,
230
+ rows: rows,
231
+ expanded: expanded,
232
+ defaultHeight: defaultHeight,
233
+ maxHeight: maxHeight,
234
+ value: value,
235
+ defaultValue: defaultValue,
236
+ name: name,
237
+ placeholder: placeholder || ' ',
238
+ required: required,
239
+ readOnly: readOnly,
240
+ disabled: disabled,
241
+ edit: edit,
242
+ instructionsTextArea: instructionsTextArea,
243
+ showMore: showMore,
244
+ state: state,
245
+ autoComplete: autoComplete,
246
+ hasIcon: Boolean(icon),
247
+ icon: icon,
248
+ id: "text-input-".concat(uniqueId),
249
+ lightBackground: lightBackground,
250
+ onChange: function onChange(e) {
251
+ if (e.target.value) {
252
+ setInputIsEmpty(false);
253
+ } else {
254
+ setInputIsEmpty(true);
255
+ }
256
+
257
+ _onChange(e);
258
+ },
259
+ onBlur: onBlur,
260
+ noBorder: noBorder
261
+ }, rest)), (state === 'loading' || state === 'success') && React__default['default'].createElement(SuccessContainer, null, state === 'loading' && React__default['default'].createElement(check._default, {
262
+ color: '#b0b6b9',
263
+ size: 12
264
+ }), state === 'success' && React__default['default'].createElement(check.SvgCheck, null)), !readOnly && noBorder && React__default['default'].createElement(InputIconContainer, {
265
+ disabled: disabled
266
+ }, React__default['default'].createElement(editNote.SvgEditNote, null))), label && React__default['default'].createElement(TextInputLabel, {
267
+ htmlFor: "text-input-".concat(uniqueId),
268
+ hasPlaceholder: Boolean(placeholder),
269
+ hasIcon: Boolean(icon),
270
+ state: state,
271
+ inputIsEmpty: inputIsEmpty
272
+ }, label, required && ' *'), typeof description === 'string' && description.length > 0 && React__default['default'].createElement(Description, {
273
+ state: state
274
+ }, description), maxContentRows > rows && showMore && React__default['default'].createElement(ShowMoreText, {
275
+ onClick: handleTextAreaChange,
276
+ expanded: expanded
277
+ }, expanded ? showMoreText : showLessText));
278
+ });
279
+ TextArea.defaultProps = {
280
+ rows: 4,
281
+ noBorder: false,
282
+ readOnly: false,
283
+ edit: false,
284
+ hidden: false,
285
+ showMore: false,
286
+ showMoreText: '',
287
+ showLessText: '',
288
+ state: '',
289
+ instructionsTextArea: false
290
+ };
291
+ TextArea.propTypes = process.env.NODE_ENV !== "production" ? {
292
+ value: defaultTheme.PropTypes.string,
293
+ defaultValue: defaultTheme.PropTypes.string,
294
+ name: defaultTheme.PropTypes.string,
295
+ label: defaultTheme.PropTypes.string,
296
+ placeholder: defaultTheme.PropTypes.string,
297
+ required: defaultTheme.PropTypes.bool,
298
+ disabled: defaultTheme.PropTypes.bool,
299
+ hidden: defaultTheme.PropTypes.bool,
300
+ readOnly: defaultTheme.PropTypes.bool,
301
+ showMore: defaultTheme.PropTypes.bool,
302
+ showMoreText: defaultTheme.PropTypes.string,
303
+ showLessText: defaultTheme.PropTypes.string,
304
+ edit: defaultTheme.PropTypes.bool,
305
+ autoComplete: defaultTheme.PropTypes.string,
306
+ description: defaultTheme.PropTypes.string,
307
+ error: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
308
+ warning: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
309
+ icon: defaultTheme.PropTypes.element,
310
+ rows: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.number, defaultTheme.PropTypes.string]),
311
+ className: defaultTheme.PropTypes.string,
312
+ style: defaultTheme.PropTypes.object,
313
+ lightBackground: defaultTheme.PropTypes.bool,
314
+ onChange: defaultTheme.PropTypes.func,
315
+ onBlur: defaultTheme.PropTypes.func,
316
+ noBorder: defaultTheme.PropTypes.bool,
317
+ state: defaultTheme.PropTypes.oneOf(['', 'error', 'error-border', 'warning', 'loading', 'success']),
318
+ instructionsTextArea: defaultTheme.PropTypes.bool
319
+ } : {};
320
+
321
+ exports.TextArea = TextArea;
@@ -1,20 +1,57 @@
1
1
  'use strict';
2
2
 
3
- var defaultTheme = require('./defaultTheme-870f7df1.js');
3
+ var defaultTheme = require('./defaultTheme-50f2b88f.js');
4
4
  var React = require('react');
5
5
  var nanoid = require('nanoid');
6
- var styled = require('styled-components');
7
6
  var lodash = require('lodash');
8
7
  var editNote = require('./edit-note-c47d292e.js');
8
+ var styled = require('styled-components');
9
9
 
10
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
11
 
12
12
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
13
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
14
14
 
15
+ var toFnRef = function toFnRef(ref) {
16
+ return !ref || typeof ref === 'function' ? ref : function (value) {
17
+ ref.current = value;
18
+ };
19
+ };
20
+
21
+ function mergeRefs(refA, refB) {
22
+ var a = toFnRef(refA);
23
+ var b = toFnRef(refB);
24
+ return function (value) {
25
+ if (a) a(value);
26
+ if (b) b(value);
27
+ };
28
+ }
29
+ /**
30
+ * Create and returns a single callback ref composed from two other Refs.
31
+ *
32
+ * ```tsx
33
+ * const Button = React.forwardRef((props, ref) => {
34
+ * const [element, attachRef] = useCallbackRef<HTMLButtonElement>();
35
+ * const mergedRef = useMergedRefs(ref, attachRef);
36
+ *
37
+ * return <button ref={mergedRef} {...props}/>
38
+ * })
39
+ * ```
40
+ *
41
+ * @param refA A Callback or mutable Ref
42
+ * @param refB A Callback or mutable Ref
43
+ * @category refs
44
+ */
45
+
46
+ function useMergedRefs(refA, refB) {
47
+ return React.useMemo(function () {
48
+ return mergeRefs(refA, refB);
49
+ }, [refA, refB]);
50
+ }
51
+
15
52
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24;
16
53
  var activeLabel = styled.css(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n font-size: 0.75rem;\n padding: 0 3px;\n top: -7px;\n letter-spacing: 0.03em;\n left: 8px !important;\n opacity: 1 !important;\n"])));
17
- var Adornment = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n flex-shrink: 0;\n font-family: inherit;\n font-size: 0.875rem;\n line-height: initial;\n padding: 13px 10px;\n ", "\n ", "\n border: 1px solid;\n ", "\n border-radius: 3px;\n z-index: 1;\n ", "\n box-sizing: border-box;\n appearance: none;\n transition: border-color 350ms;\n height: 2.75rem;\n\n ", "\n ", "\n"])), function (props) {
54
+ var Adornment = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n flex-shrink: 0;\n font-family: inherit;\n font-size: 0.875rem;\n line-height: initial;\n padding: 13px 10px;\n ", "\n ", "\n border: 1px solid;\n ", "\n border-radius: 3px;\n ", "\n box-sizing: border-box;\n appearance: none;\n transition: border-color 350ms;\n height: 2.75rem;\n\n ", "\n ", "\n"])), function (props) {
18
55
  return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
19
56
  }, function (props) {
20
57
  return props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'));
@@ -60,7 +97,7 @@ var TextInputField = styled__default['default'].input.attrs(defaultTheme.applyDe
60
97
  }, InputIconContainer, function (props) {
61
98
  return props.theme.getColor('gray-600');
62
99
  });
63
- var TextInputLabel = styled__default['default'].label.attrs(defaultTheme.applyDefaultTheme)(_templateObject14 || (_templateObject14 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n z-index: 1;\n top: 15px;\n left: 11px;\n line-height: 1.2;\n font-size: 0.875rem;\n transition: all 150ms;\n\n ", "\n\n ", "\n\n ", "\n\n ", "\n\n content: \"\";\n\n ", "\n"])), function (props) {
100
+ var TextInputLabel = styled__default['default'].label.attrs(defaultTheme.applyDefaultTheme)(_templateObject14 || (_templateObject14 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n top: 15px;\n left: 11px;\n line-height: 1.2;\n font-size: 0.875rem;\n transition: all 150ms;\n\n ", "\n\n ", "\n\n ", "\n\n ", "\n\n content: \"\";\n\n ", "\n"])), function (props) {
64
101
  return props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'));
65
102
  }, function (props) {
66
103
  return props.theme.themeProp('opacity', 0.6, 0.5);
@@ -87,43 +124,6 @@ var Description = styled__default['default'].p.attrs(defaultTheme.applyDefaultTh
87
124
  return props.error && styled.css(_templateObject24 || (_templateObject24 = defaultTheme._taggedTemplateLiteral(["\n content: 'error';\n ", "\n "])), props.theme.themeProp('color', props.theme.getColor('red-200'), props.theme.getColor('red-500')));
88
125
  });
89
126
 
90
- var toFnRef = function toFnRef(ref) {
91
- return !ref || typeof ref === 'function' ? ref : function (value) {
92
- ref.current = value;
93
- };
94
- };
95
-
96
- function mergeRefs(refA, refB) {
97
- var a = toFnRef(refA);
98
- var b = toFnRef(refB);
99
- return function (value) {
100
- if (a) a(value);
101
- if (b) b(value);
102
- };
103
- }
104
- /**
105
- * Create and returns a single callback ref composed from two other Refs.
106
- *
107
- * ```tsx
108
- * const Button = React.forwardRef((props, ref) => {
109
- * const [element, attachRef] = useCallbackRef<HTMLButtonElement>();
110
- * const mergedRef = useMergedRefs(ref, attachRef);
111
- *
112
- * return <button ref={mergedRef} {...props}/>
113
- * })
114
- * ```
115
- *
116
- * @param refA A Callback or mutable Ref
117
- * @param refB A Callback or mutable Ref
118
- * @category refs
119
- */
120
-
121
- function useMergedRefs(refA, refB) {
122
- return React.useMemo(function () {
123
- return mergeRefs(refA, refB);
124
- }, [refA, refB]);
125
- }
126
-
127
127
  var TextInput = React__default['default'].forwardRef(function TextInput(_ref, forwardedRef) {
128
128
  var value = _ref.value,
129
129
  defaultValue = _ref.defaultValue,
@@ -184,7 +184,7 @@ var TextInput = React__default['default'].forwardRef(function TextInput(_ref, fo
184
184
  return null;
185
185
  }, [description, error, warning]);
186
186
  return React__default['default'].createElement(TextInput$1, {
187
- disabled: disabled || readOnly,
187
+ disabled: disabled,
188
188
  error: hasError,
189
189
  warning: hasWarning,
190
190
  className: className,
@@ -205,7 +205,7 @@ var TextInput = React__default['default'].forwardRef(function TextInput(_ref, fo
205
205
  placeholder: placeholder || ' ',
206
206
  type: type,
207
207
  required: required,
208
- disabled: disabled || readOnly,
208
+ disabled: disabled,
209
209
  readOnly: readOnly,
210
210
  autoComplete: autoComplete,
211
211
  hasIcon: Boolean(icon),