@ntbjs/react-components 1.1.0-beta.1 → 1.1.0-beta.3

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 (47) hide show
  1. package/{AssetGallery-9bf4cd82.js → AssetGallery-3696cf3c.js} +11 -6
  2. package/{AssetPreviewTopBar-a172fc5c.js → AssetPreviewTopBar-777c726a.js} +5 -18
  3. package/AutocompleteSelect-46dbe1eb.js +358 -0
  4. package/Button-01371eb4.js +264 -0
  5. package/CompactStarRating-f9997240.js +242 -0
  6. package/{CompactTextInput-24126cf9.js → CompactTextInput-15118df5.js} +10 -25
  7. package/ContextMenu-a68d4f28.js +32 -0
  8. package/InputGroup-66dd343c.js +28 -0
  9. package/MultiSelect-1568f6e9.js +357 -0
  10. package/{Popover-d3e2f6c0.js → Popover-616682bf.js} +39 -9
  11. package/Tab-06b7a58d.js +30 -0
  12. package/Tabs-cfbf45fe.js +99 -0
  13. package/TextArea-8a0bd754.js +213 -0
  14. package/{TextInput-a7c32f5f.js → TextInput-e4c6d536.js} +42 -22
  15. package/{Tooltip-f95a39f4.js → Tooltip-860530ff.js} +1 -1
  16. package/close-ebf2f3cf.js +41 -0
  17. package/data/Popover/index.js +1 -1
  18. package/data/Tab/index.js +10 -0
  19. package/data/Tabs/index.js +12 -0
  20. package/data/index.js +6 -2
  21. package/edit-note-c47d292e.js +41 -0
  22. package/expand-more-94585605.js +41 -0
  23. package/icons/arrow-drop-down.svg +4 -0
  24. package/icons/delete-context-menu.svg +4 -0
  25. package/icons/design-services.svg +4 -0
  26. package/icons/expand-more.svg +4 -0
  27. package/icons/star-filled.svg +3 -0
  28. package/icons/star.svg +3 -0
  29. package/icons/triangle-right.svg +4 -0
  30. package/inputs/AutocompleteSelect/index.js +18 -0
  31. package/inputs/Button/index.js +7 -1
  32. package/inputs/CompactStarRating/index.js +11 -0
  33. package/inputs/CompactTextInput/index.js +6 -3
  34. package/inputs/MultiSelect/index.js +15 -0
  35. package/inputs/TextArea/index.js +2 -1
  36. package/inputs/TextInput/index.js +2 -1
  37. package/inputs/index.js +22 -6
  38. package/layout/InputGroup/index.js +10 -0
  39. package/layout/index.js +2 -0
  40. package/package.json +3 -1
  41. package/react-select-creatable.esm-efe1e1ae.js +7616 -0
  42. package/widgets/AssetGallery/index.js +21 -8
  43. package/widgets/AssetPreview/AssetPreviewTopBar/index.js +2 -1
  44. package/widgets/ContextMenu/index.js +10 -0
  45. package/widgets/index.js +23 -9
  46. package/Button-0d728b52.js +0 -156
  47. package/TextArea-52cf4c0a.js +0 -173
@@ -1,25 +1,38 @@
1
1
  'use strict';
2
2
 
3
- var AssetGallery = require('../../AssetGallery-9bf4cd82.js');
3
+ var AssetGallery = require('../../AssetGallery-3696cf3c.js');
4
4
  require('../../defaultTheme-870f7df1.js');
5
5
  require('styled-components');
6
6
  require('react');
7
7
  require('lodash');
8
- require('../../TextInput-a7c32f5f.js');
8
+ require('../../TextInput-e4c6d536.js');
9
9
  require('nanoid');
10
+ require('../../edit-note-c47d292e.js');
10
11
  require('resize-observer-polyfill');
11
12
  require('react-lazy-load-image-component');
12
13
  require('../../ActionButton-90485300.js');
13
- require('../../Button-0d728b52.js');
14
- require('../../Checkbox-50f1f3c7.js');
15
- require('../../CompactTextInput-24126cf9.js');
16
- require('../../Popover-d3e2f6c0.js');
14
+ require('../../AutocompleteSelect-46dbe1eb.js');
15
+ require('react-select');
16
+ require('../../react-select-creatable.esm-efe1e1ae.js');
17
+ require('react-dom');
18
+ require('react-select-async-paginate');
19
+ require('../../close-ebf2f3cf.js');
20
+ require('../../expand-more-94585605.js');
21
+ require('../../Button-01371eb4.js');
22
+ require('../../Popover-616682bf.js');
17
23
  require('polished');
18
24
  require('@tippyjs/react');
19
- require('../../Tooltip-f95a39f4.js');
25
+ require('../../ContextMenu-a68d4f28.js');
26
+ require('../../Checkbox-50f1f3c7.js');
27
+ require('../../CompactStarRating-f9997240.js');
28
+ require('../../CompactTextInput-15118df5.js');
29
+ require('../../Tooltip-860530ff.js');
30
+ require('../../Tab-06b7a58d.js');
31
+ require('../../Tabs-cfbf45fe.js');
20
32
  require('../../Badge-86593df4.js');
33
+ require('../../MultiSelect-1568f6e9.js');
21
34
  require('../../Radio-0b46b2a8.js');
22
- require('../../TextArea-52cf4c0a.js');
35
+ require('../../TextArea-8a0bd754.js');
23
36
  require('../../Switch-aa384260.js');
24
37
 
25
38
 
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var AssetPreviewTopBar = require('../../../AssetPreviewTopBar-a172fc5c.js');
3
+ var AssetPreviewTopBar = require('../../../AssetPreviewTopBar-777c726a.js');
4
4
  require('../../../defaultTheme-870f7df1.js');
5
5
  require('styled-components');
6
6
  require('react');
7
+ require('../../../close-ebf2f3cf.js');
7
8
 
8
9
 
9
10
 
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var ContextMenu = require('../../ContextMenu-a68d4f28.js');
4
+ require('../../defaultTheme-870f7df1.js');
5
+ require('styled-components');
6
+ require('react');
7
+
8
+
9
+
10
+ module.exports = ContextMenu.ContextMenu;
package/widgets/index.js CHANGED
@@ -2,30 +2,44 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var AssetGallery = require('../AssetGallery-9bf4cd82.js');
6
- var AssetPreviewTopBar = require('../AssetPreviewTopBar-a172fc5c.js');
5
+ var AssetGallery = require('../AssetGallery-3696cf3c.js');
6
+ var ContextMenu = require('../ContextMenu-a68d4f28.js');
7
+ var AssetPreviewTopBar = require('../AssetPreviewTopBar-777c726a.js');
7
8
  require('../defaultTheme-870f7df1.js');
8
9
  require('styled-components');
9
10
  require('react');
10
11
  require('lodash');
11
- require('../TextInput-a7c32f5f.js');
12
+ require('../TextInput-e4c6d536.js');
12
13
  require('nanoid');
14
+ require('../edit-note-c47d292e.js');
13
15
  require('resize-observer-polyfill');
14
16
  require('react-lazy-load-image-component');
15
17
  require('../ActionButton-90485300.js');
16
- require('../Button-0d728b52.js');
17
- require('../Checkbox-50f1f3c7.js');
18
- require('../CompactTextInput-24126cf9.js');
19
- require('../Popover-d3e2f6c0.js');
18
+ require('../AutocompleteSelect-46dbe1eb.js');
19
+ require('react-select');
20
+ require('../react-select-creatable.esm-efe1e1ae.js');
21
+ require('react-dom');
22
+ require('react-select-async-paginate');
23
+ require('../close-ebf2f3cf.js');
24
+ require('../expand-more-94585605.js');
25
+ require('../Button-01371eb4.js');
26
+ require('../Popover-616682bf.js');
20
27
  require('polished');
21
28
  require('@tippyjs/react');
22
- require('../Tooltip-f95a39f4.js');
29
+ require('../Checkbox-50f1f3c7.js');
30
+ require('../CompactStarRating-f9997240.js');
31
+ require('../CompactTextInput-15118df5.js');
32
+ require('../Tooltip-860530ff.js');
33
+ require('../Tab-06b7a58d.js');
34
+ require('../Tabs-cfbf45fe.js');
23
35
  require('../Badge-86593df4.js');
36
+ require('../MultiSelect-1568f6e9.js');
24
37
  require('../Radio-0b46b2a8.js');
25
- require('../TextArea-52cf4c0a.js');
38
+ require('../TextArea-8a0bd754.js');
26
39
  require('../Switch-aa384260.js');
27
40
 
28
41
 
29
42
 
30
43
  exports.AssetGallery = AssetGallery.AssetGallery;
44
+ exports.ContextMenu = ContextMenu.ContextMenu;
31
45
  exports.AssetPreviewTopBar = AssetPreviewTopBar.AssetPreviewTopBar;
@@ -1,156 +0,0 @@
1
- 'use strict';
2
-
3
- var defaultTheme = require('./defaultTheme-870f7df1.js');
4
- var React = require('react');
5
- var styled = require('styled-components');
6
-
7
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
-
9
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
11
-
12
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14;
13
- var Button$1 = styled__default['default'].button.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n position: relative;\n border-radius: 3px;\n font-family: inherit;\n font-size: 1rem;\n font-weight: 500;\n padding: 6px 18px;\n cursor: pointer;\n background: ", ";\n border: 2px solid ", ";\n line-height: 1.2;\n transition: all 250ms, opacity 200ms;\n\n &:hover {\n background: #5a9b88;\n border-color: #5a9b88;\n }\n\n ", "\n\n && {\n ", ";\n }\n\n && {\n ", ";\n }\n\n && {\n ", ";\n }\n\n ", ";\n\n ", ";\n\n ", ";\n"])), function (props) {
14
- return props.theme.getColor('emerald-500');
15
- }, function (props) {
16
- return props.theme.getColor('emerald-500');
17
- }, function (props) {
18
- return props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('white'));
19
- }, function (props) {
20
- return props.secondary && styled.css(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n background: ", ";\n ", "\n border-color: ", ";\n\n &:hover {\n background: ", ";\n border-color: ", ";\n }\n "])), function (props) {
21
- return props.theme.getColor('gray-200');
22
- }, props.theme.themeProp('color', props.theme.getColor('gray-700'), props.theme.getColor('gray-700')), function (props) {
23
- return props.theme.getColor('gray-200');
24
- }, function (props) {
25
- return props.theme.getColor('gray-100');
26
- }, function (props) {
27
- return props.theme.getColor('gray-100');
28
- });
29
- }, function (props) {
30
- return props.outlined && styled.css(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n background: transparent;\n border-color: ", ";\n\n ", "\n &:hover {\n border-color: ", ";\n }\n "])), props.theme.getColor('gray-200'), props.theme.themeProp('color', props.theme.getColor('emerald-500'), props.theme.getColor('emerald-500')), props.theme.getColor('gray-300'));
31
- }, function (props) {
32
- return props.outlined && props.secondary && styled.css(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n ", "\n\n &:hover {\n background: transparent;\n }\n "])), props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('gray-700')));
33
- }, function (props) {
34
- return props.block && styled.css(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n width: 100%;\n "])));
35
- }, function (props) {
36
- return props.disabled && styled.css(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n "])));
37
- }, function (props) {
38
- return props.size === 'small' && styled.css(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n font-size: 0.875rem;\n line-height: 1.15;\n padding: 3px 12px;\n "])));
39
- });
40
- var ButtonContent = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n display: flex;\n justify-content: center;\n align-items: center;\n transform: scale(1);\n opacity: 1;\n transition: all 200ms;\n\n > svg {\n width: 100%;\n max-width: 16px;\n max-height: 16px;\n margin-right: 7px;\n\n ", ";\n }\n\n ", "\n"])), function (props) {
41
- return props.size === 'small' && styled.css(_templateObject9 || (_templateObject9 = defaultTheme._taggedTemplateLiteral(["\n max-width: 13px;\n max-height: 13px;\n "])));
42
- }, function (props) {
43
- return props.$loading && styled.css(_templateObject10 || (_templateObject10 = defaultTheme._taggedTemplateLiteral(["\n transform: scale(0.95);\n opacity: 0;\n "])));
44
- });
45
- var LoadingIndicator = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject11 || (_templateObject11 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n padding: 4px;\n background: inherit;\n opacity: 0;\n transition: opacity 200ms;\n box-sizing: border-box;\n\n ", "\n"])), function (props) {
46
- return props.$loading && styled.css(_templateObject12 || (_templateObject12 = defaultTheme._taggedTemplateLiteral(["\n opacity: 1;\n "])));
47
- });
48
- var LoadingIndicatorSvg = styled__default['default'].svg.attrs(defaultTheme.applyDefaultTheme)(_templateObject13 || (_templateObject13 = defaultTheme._taggedTemplateLiteral(["\n height: 100%;\n color: inherit;\n transform: rotate(-88deg);\n"])));
49
- var LoadingIndicatorSvgCircle = styled__default['default'].circle.attrs(defaultTheme.applyDefaultTheme)(_templateObject14 || (_templateObject14 = defaultTheme._taggedTemplateLiteral(["\n transition: stroke-dashoffset 300ms linear;\n stroke-dasharray: 113;\n"])));
50
-
51
- var Button = React__default['default'].forwardRef(function Button(_ref, forwardedRef) {
52
- var secondary = _ref.secondary,
53
- outlined = _ref.outlined,
54
- block = _ref.block,
55
- icon = _ref.icon,
56
- size = _ref.size,
57
- disabled = _ref.disabled,
58
- loading = _ref.loading,
59
- className = _ref.className,
60
- children = _ref.children,
61
- props = defaultTheme._objectWithoutProperties(_ref, ["secondary", "outlined", "block", "icon", "size", "disabled", "loading", "className", "children"]);
62
-
63
- var _useState = React.useState(loading || false),
64
- _useState2 = defaultTheme._slicedToArray(_useState, 2),
65
- loadingState = _useState2[0],
66
- setLoadingState = _useState2[1];
67
-
68
- var _useState3 = React.useState(113),
69
- _useState4 = defaultTheme._slicedToArray(_useState3, 2),
70
- loadingStep = _useState4[0],
71
- setLoadingStep = _useState4[1];
72
-
73
- var loadingInterval = React.useRef(0);
74
-
75
- var enableLoading = function enableLoading() {
76
- loadingInterval.current = setInterval(function () {
77
- setLoadingStep(function (currentLoadingStep) {
78
- var newLoadingStep = Math.round(currentLoadingStep - 15 * currentLoadingStep / 100);
79
-
80
- if (newLoadingStep === currentLoadingStep) {
81
- clearInterval(loadingInterval.current);
82
- }
83
-
84
- return newLoadingStep;
85
- });
86
- }, 300);
87
- setLoadingState(true);
88
- };
89
-
90
- var disableLoading = function disableLoading() {
91
- clearInterval(loadingInterval.current);
92
- setLoadingStep(0);
93
- setTimeout(function () {
94
- setLoadingState(false);
95
- setLoadingStep(113);
96
- }, 500);
97
- };
98
-
99
- React.useEffect(function () {
100
- if (loading) {
101
- enableLoading();
102
- } else {
103
- disableLoading();
104
- }
105
-
106
- return function () {
107
- return clearInterval(loadingInterval.current);
108
- };
109
- }, [loading]);
110
- return React__default['default'].createElement(Button$1, defaultTheme._extends({
111
- ref: forwardedRef,
112
- secondary: secondary,
113
- outlined: outlined,
114
- block: block,
115
- size: size,
116
- disabled: disabled,
117
- className: className,
118
- "aria-busy": disabled
119
- }, props), React__default['default'].createElement(ButtonContent, {
120
- $loading: loadingState,
121
- size: size
122
- }, icon, children), React__default['default'].createElement(LoadingIndicator, {
123
- $loading: loadingState,
124
- style: {
125
- opacity: loadingState ? 1 : 0
126
- }
127
- }, React__default['default'].createElement(LoadingIndicatorSvg, {
128
- viewBox: "22 22 44 44"
129
- }, React__default['default'].createElement(LoadingIndicatorSvgCircle, {
130
- cx: "44",
131
- cy: "44",
132
- r: "18",
133
- fill: "none",
134
- strokeWidth: "4",
135
- stroke: "currentColor",
136
- style: {
137
- strokeDashoffset: "".concat(loadingStep, "px")
138
- }
139
- }))));
140
- });
141
- Button.defaultProps = {
142
- size: 'normal'
143
- };
144
- Button.propTypes = process.env.NODE_ENV !== "production" ? {
145
- secondary: defaultTheme.PropTypes.bool,
146
- outlined: defaultTheme.PropTypes.bool,
147
- block: defaultTheme.PropTypes.bool,
148
- icon: defaultTheme.PropTypes.element,
149
- size: defaultTheme.PropTypes.oneOf(['normal', 'small']),
150
- disabled: defaultTheme.PropTypes.bool,
151
- loading: defaultTheme.PropTypes.bool,
152
- className: defaultTheme.PropTypes.string,
153
- children: defaultTheme.PropTypes.any.isRequired
154
- } : {};
155
-
156
- exports.Button = Button;
@@ -1,173 +0,0 @@
1
- 'use strict';
2
-
3
- var defaultTheme = require('./defaultTheme-870f7df1.js');
4
- var React = require('react');
5
- var nanoid = require('nanoid');
6
- var styled = require('styled-components');
7
- var lodash = require('lodash');
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, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
15
- 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"])));
16
- var placeholderBaseStyle = styled.css(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n ", "\n\n ", "\n"])), function (props) {
17
- return props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'));
18
- }, function (props) {
19
- return props.theme.themeProp('opacity', 0.6, 0.5);
20
- });
21
- var TextInputField = styled__default['default'].textarea.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n display: block;\n width: 100%;\n font-family: inherit;\n font-size: 0.875rem;\n border-radius: 2px;\n padding: 13px 10px;\n resize: vertical;\n ", "\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\n &::placeholder {\n ", "\n\n ", "\n }\n\n :focus {\n outline: none;\n ", "\n }\n"])), function (props) {
22
- return props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'));
23
- }, function (props) {
24
- return props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'));
25
- }, function (props) {
26
- return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-400'));
27
- }, function (props) {
28
- return props.warning && styled.css(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", " !important;\n "])), props.theme.getColor('orange-500'));
29
- }, function (props) {
30
- return props.error && styled.css(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n border-color: ", " !important;\n "])), props.theme.getColor('red-500'));
31
- }, function (props) {
32
- return props.hasIcon && styled.css(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n padding-left: 35px;\n "])));
33
- }, function (props) {
34
- return props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'), 1);
35
- }, function (props) {
36
- return props.theme.themeProp('opacity', 0.6, 0.5, 1);
37
- }, function (props) {
38
- return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-600'));
39
- });
40
- var TextInputLabel = styled__default['default'].label.attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = 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 content: \"\";\n\n ", "\n"])), placeholderBaseStyle, function (props) {
41
- 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%)"));
42
- }, function (props) {
43
- return props.hasPlaceholder && styled.css(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n ", ";\n ", "\n "])), activeLabel, props.error && styled.css(_templateObject9 || (_templateObject9 = defaultTheme._taggedTemplateLiteral(["\n color: ", " !important;\n "])), props.theme.getColor('red-500')));
44
- }, function (props) {
45
- return props.hasIcon && styled.css(_templateObject10 || (_templateObject10 = defaultTheme._taggedTemplateLiteral(["\n left: 35px;\n "])));
46
- });
47
- var TextInputFieldIcon = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject11 || (_templateObject11 = 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"])));
48
- var TextInput = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject12 || (_templateObject12 = defaultTheme._taggedTemplateLiteral(["\n position: relative;\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 ", "\n"])), TextInputLabel, activeLabel, TextInputFieldIcon, TextInputField, TextInputLabel, activeLabel, function (props) {
49
- return props.error && props.theme.themeProp('color', props.theme.getColor('red-200'), props.theme.getColor('red-500'));
50
- }, function (props) {
51
- return props.error && styled.css(_templateObject13 || (_templateObject13 = defaultTheme._taggedTemplateLiteral(["\n // color: ", " !important;\n //\n "])), props.theme.getColor('red-500'));
52
- }, function (props) {
53
- return props.warning && styled.css(_templateObject14 || (_templateObject14 = defaultTheme._taggedTemplateLiteral(["\n color: ", " !important;\n "])), props.theme.getColor('orange-500'));
54
- }, function (props) {
55
- return props.disabled && styled.css(_templateObject15 || (_templateObject15 = defaultTheme._taggedTemplateLiteral(["\n opacity: 0.5;\n\n > * {\n cursor: not-allowed;\n }\n "])));
56
- });
57
- var Description = styled__default['default'].p.attrs(defaultTheme.applyDefaultTheme)(_templateObject16 || (_templateObject16 = 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) {
58
- return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
59
- }, function (props) {
60
- return props.error && styled.css(_templateObject17 || (_templateObject17 = defaultTheme._taggedTemplateLiteral(["\n content: 'error';\n ", "\n "])), props.theme.themeProp('color', props.theme.getColor('red-200'), props.theme.getColor('red-500')));
61
- });
62
-
63
- var TextArea = React__default['default'].forwardRef(function TextArea(_ref, forwardedRef) {
64
- var value = _ref.value,
65
- defaultValue = _ref.defaultValue,
66
- name = _ref.name,
67
- label = _ref.label,
68
- placeholder = _ref.placeholder,
69
- required = _ref.required,
70
- disabled = _ref.disabled,
71
- readOnly = _ref.readOnly,
72
- autoComplete = _ref.autoComplete,
73
- description = _ref.description,
74
- error = _ref.error,
75
- warning = _ref.warning,
76
- icon = _ref.icon,
77
- rows = _ref.rows,
78
- className = _ref.className,
79
- style = _ref.style,
80
- onChange = _ref.onChange,
81
- onBlur = _ref.onBlur,
82
- rest = defaultTheme._objectWithoutProperties(_ref, ["value", "defaultValue", "name", "label", "placeholder", "required", "disabled", "readOnly", "autoComplete", "description", "error", "warning", "icon", "rows", "className", "style", "onChange", "onBlur"]);
83
-
84
- var _useState = React.useState(nanoid.nanoid()),
85
- _useState2 = defaultTheme._slicedToArray(_useState, 1),
86
- uniqueId = _useState2[0];
87
-
88
- var hasError = React.useMemo(function () {
89
- if (lodash.isBoolean(error)) {
90
- return error;
91
- }
92
-
93
- return !lodash.isEmpty(error);
94
- }, [error]);
95
- var hasWarning = React.useMemo(function () {
96
- if (lodash.isBoolean(warning)) {
97
- return warning;
98
- }
99
-
100
- return !lodash.isEmpty(warning);
101
- }, [warning]);
102
- var descriptionText = React.useMemo(function () {
103
- if (!lodash.isEmpty(error)) {
104
- return error;
105
- }
106
-
107
- if (!lodash.isEmpty(warning)) {
108
- return warning;
109
- }
110
-
111
- if (!lodash.isEmpty(description)) {
112
- return description;
113
- }
114
-
115
- return null;
116
- }, [description, error, warning]);
117
- return React__default['default'].createElement(TextInput, {
118
- disabled: disabled || readOnly,
119
- error: hasError,
120
- warning: hasWarning,
121
- className: className,
122
- style: style
123
- }, typeof icon !== 'undefined' && React__default['default'].createElement(TextInputFieldIcon, null, icon), React__default['default'].createElement(TextInputField, defaultTheme._extends({
124
- ref: forwardedRef,
125
- rows: rows,
126
- value: value,
127
- defaultValue: defaultValue,
128
- name: name,
129
- placeholder: placeholder || ' ',
130
- required: required,
131
- disabled: disabled || readOnly,
132
- readOnly: readOnly,
133
- autoComplete: autoComplete,
134
- hasIcon: Boolean(icon),
135
- error: hasError,
136
- warning: hasWarning,
137
- id: "text-input-".concat(uniqueId),
138
- onChange: onChange,
139
- onBlur: onBlur
140
- }, rest)), label && React__default['default'].createElement(TextInputLabel, {
141
- htmlFor: "text-input-".concat(uniqueId),
142
- hasPlaceholder: Boolean(placeholder),
143
- hasIcon: Boolean(icon),
144
- error: hasError
145
- }, label, required && ' *'), typeof descriptionText === 'string' && descriptionText.length > 0 && React__default['default'].createElement(Description, {
146
- error: hasError
147
- }, descriptionText));
148
- });
149
- TextArea.defaultProps = {
150
- rows: 4
151
- };
152
- TextArea.propTypes = process.env.NODE_ENV !== "production" ? {
153
- value: defaultTheme.PropTypes.string,
154
- defaultValue: defaultTheme.PropTypes.string,
155
- name: defaultTheme.PropTypes.string,
156
- label: defaultTheme.PropTypes.string,
157
- placeholder: defaultTheme.PropTypes.string,
158
- required: defaultTheme.PropTypes.bool,
159
- disabled: defaultTheme.PropTypes.bool,
160
- readOnly: defaultTheme.PropTypes.bool,
161
- autoComplete: defaultTheme.PropTypes.string,
162
- description: defaultTheme.PropTypes.string,
163
- error: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
164
- warning: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
165
- icon: defaultTheme.PropTypes.element,
166
- rows: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.number, defaultTheme.PropTypes.string]),
167
- className: defaultTheme.PropTypes.string,
168
- style: defaultTheme.PropTypes.object,
169
- onChange: defaultTheme.PropTypes.func,
170
- onBlur: defaultTheme.PropTypes.func
171
- } : {};
172
-
173
- exports.TextArea = TextArea;