@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
@@ -3,18 +3,23 @@
3
3
  var defaultTheme = require('./defaultTheme-870f7df1.js');
4
4
  var React = require('react');
5
5
  var lodash = require('lodash');
6
- var TextInput = require('./TextInput-a7c32f5f.js');
6
+ var TextInput = require('./TextInput-e4c6d536.js');
7
7
  var ResizeObserver = require('resize-observer-polyfill');
8
8
  var reactLazyLoadImageComponent = require('react-lazy-load-image-component');
9
9
  var ActionButton = require('./ActionButton-90485300.js');
10
- require('./Button-0d728b52.js');
10
+ require('./AutocompleteSelect-46dbe1eb.js');
11
+ require('./Button-01371eb4.js');
11
12
  require('./Checkbox-50f1f3c7.js');
12
- require('./CompactTextInput-24126cf9.js');
13
+ require('./CompactStarRating-f9997240.js');
14
+ require('./CompactTextInput-15118df5.js');
15
+ require('./MultiSelect-1568f6e9.js');
13
16
  require('./Radio-0b46b2a8.js');
14
- require('./TextArea-52cf4c0a.js');
17
+ require('./TextArea-8a0bd754.js');
15
18
  require('./Switch-aa384260.js');
16
- require('./Popover-d3e2f6c0.js');
17
- var Tooltip = require('./Tooltip-f95a39f4.js');
19
+ require('./Popover-616682bf.js');
20
+ var Tooltip = require('./Tooltip-860530ff.js');
21
+ require('./Tab-06b7a58d.js');
22
+ require('./Tabs-cfbf45fe.js');
18
23
  require('./Badge-86593df4.js');
19
24
  var styled = require('styled-components');
20
25
  var polished = require('polished');
@@ -3,6 +3,7 @@
3
3
  var defaultTheme = require('./defaultTheme-870f7df1.js');
4
4
  var React = require('react');
5
5
  var styled = require('styled-components');
6
+ var close = require('./close-ebf2f3cf.js');
6
7
 
7
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
9
 
@@ -44,31 +45,17 @@ var LeftText = styled__default['default'].span.attrs(defaultTheme.applyDefaultTh
44
45
  });
45
46
  var ButtonsContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n align-items: center;\n display: flex;\n margin-left: auto;\n\n > span {\n margin-left: 16px;\n }\n"])));
46
47
 
47
- function _extends$1() { _extends$1 = Object.assign || 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$1.apply(this, arguments); }
48
-
49
- var _ref$1 = /*#__PURE__*/React__namespace.createElement("path", {
50
- fill: "currentColor",
51
- d: "M16 32L0 16 16 0l2.1 2.1L5.7 14.5H32v3H5.7l12.4 12.4L16 32z"
52
- });
53
-
54
- function SvgArrowBack(props) {
55
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1({
56
- xmlns: "http://www.w3.org/2000/svg",
57
- viewBox: "0 0 32 32"
58
- }, props), _ref$1);
59
- }
60
-
61
48
  function _extends() { _extends = Object.assign || 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); }
62
49
 
63
50
  var _ref = /*#__PURE__*/React__namespace.createElement("path", {
64
51
  fill: "currentColor",
65
- d: "M2.1 27.3L0 25.2l11.55-11.55L0 2.1 2.1 0l11.55 11.55L25.2 0l2.1 2.1-11.55 11.55L27.3 25.2l-2.1 2.1-11.55-11.55L2.1 27.3z"
52
+ d: "M16 32L0 16 16 0l2.1 2.1L5.7 14.5H32v3H5.7l12.4 12.4L16 32z"
66
53
  });
67
54
 
68
- function SvgClose(props) {
55
+ function SvgArrowBack(props) {
69
56
  return /*#__PURE__*/React__namespace.createElement("svg", _extends({
70
57
  xmlns: "http://www.w3.org/2000/svg",
71
- viewBox: "0 0 27.3 27.3"
58
+ viewBox: "0 0 32 32"
72
59
  }, props), _ref);
73
60
  }
74
61
 
@@ -86,7 +73,7 @@ var AssetPreviewTopBar = React__default['default'].forwardRef(function AssetPrev
86
73
  shadow: shadow
87
74
  }, props), React__default['default'].createElement(BackButtonContainer, {
88
75
  onClick: onBackButtonClick
89
- }, backButtonAsClose ? React__default['default'].createElement(SvgClose, null) : React__default['default'].createElement(SvgArrowBack, null), backButtonText), leftText && React__default['default'].createElement(LeftText, null, leftText), Array.isArray(buttons) && React__default['default'].createElement(ButtonsContainer, null, buttons.map(function (button, index) {
76
+ }, backButtonAsClose ? React__default['default'].createElement(close.SvgClose, null) : React__default['default'].createElement(SvgArrowBack, null), backButtonText), leftText && React__default['default'].createElement(LeftText, null, leftText), Array.isArray(buttons) && React__default['default'].createElement(ButtonsContainer, null, buttons.map(function (button, index) {
90
77
  return React__default['default'].createElement("span", {
91
78
  key: 'topBarButton-' + index
92
79
  }, button);
@@ -0,0 +1,358 @@
1
+ 'use strict';
2
+
3
+ var defaultTheme = require('./defaultTheme-870f7df1.js');
4
+ var React = require('react');
5
+ var nanoid = require('nanoid');
6
+ var lodash = require('lodash');
7
+ var styled = require('styled-components');
8
+ var Select = require('react-select');
9
+ var reactSelectCreatable_esm = require('./react-select-creatable.esm-efe1e1ae.js');
10
+ var reactSelectAsyncPaginate = require('react-select-async-paginate');
11
+ var close = require('./close-ebf2f3cf.js');
12
+ var expandMore = require('./expand-more-94585605.js');
13
+
14
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
+
16
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
18
+ var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
19
+
20
+ 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;
21
+ var AsyncCreatableSelectPaginate = reactSelectAsyncPaginate.withAsyncPaginate(reactSelectCreatable_esm.CreatableSelect$1);
22
+ var sharedStyle = styled.css(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n font-family: ", ";\n font-size: 0.875rem;\n line-height: 1rem;\n width: 100%;\n display: block;\n box-shadow: 'none';\n flex-basis: ", ";\n"])), function (props) {
23
+ return props.theme.primaryFontFamily;
24
+ }, function (props) {
25
+ return props.$hasLabel ? '66.66%' : '100%';
26
+ });
27
+ var AutocompleteSelect$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n height: 24px;\n font-family: ", ";\n"])), function (props) {
28
+ return props.theme.primaryFontFamily;
29
+ });
30
+ var Label = styled__default['default'].label.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n ", ";\n flex-basis: 33.33%;\n font-size: 0.875rem;\n line-height: 1rem;\n cursor: pointer;\n height: 19px;\n display: flex;\n align-items: center;\n padding-top: 2px;\n margin-right: 8px;\n"])), function (props) {
31
+ return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
32
+ });
33
+ var InputContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n display: flex;\n width: 100%;\n height: 19px;\n"])));
34
+ var AsyncCreatableAutocompleteSelect = styled__default['default'](AsyncCreatableSelectPaginate).attrs(defaultTheme.applyDefaultTheme)(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n ", "\n"])), sharedStyle);
35
+ var AsyncAutocompleteSelect = styled__default['default'](reactSelectAsyncPaginate.AsyncPaginate).attrs(defaultTheme.applyDefaultTheme)(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n ", "\n"])), sharedStyle);
36
+ var AutocompletSelect = styled__default['default'](Select__default['default']).attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n ", "\n"])), sharedStyle);
37
+ var AutocompletCreatableSelect = styled__default['default'](reactSelectCreatable_esm.CreatableSelect$1).attrs(defaultTheme.applyDefaultTheme)(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n ", "\n"])), sharedStyle);
38
+ var Control = styled__default['default'](Select.components.Control).attrs(defaultTheme.applyDefaultTheme)(_templateObject9 || (_templateObject9 = defaultTheme._taggedTemplateLiteral(["\n && {\n height: 22px;\n min-height: 22px;\n background: transparent;\n box-shadow: none;\n box-sizing: border-box;\n padding: 1px 4px;\n cursor: text;\n border: 1px solid transparent;\n ", ";\n ", ";\n ", "\n ", "\n ", "\n }\n\n & .dropdown-indicator {\n display: none;\n }\n\n &:hover .dropdown-indicator {\n display: flex;\n }\n\n &&:hover {\n border-color: transparent;\n ", ";\n ", ";\n ", ";\n }\n"])), function (props) {
39
+ return props.warning && !props.isFocused && props.theme.themeProp('background-color', '#634e01', '#fffde8');
40
+ }, function (props) {
41
+ return props.error && !props.isFocused && props.theme.themeProp('background-color', '#7f1b1b', '#fbeae6');
42
+ }, function (props) {
43
+ return props.isFocused && props.theme.themeProp('border-color', props.theme.getColor('gray-600'), props.theme.getColor('gray-600'));
44
+ }, function (props) {
45
+ return props.warning && props.isFocused && props.theme.themeProp('border-color', props.theme.getColor('signal-yellow-500'), props.theme.getColor('signal-yellow-500'));
46
+ }, function (props) {
47
+ return props.error && props.isFocused && props.theme.themeProp('border-color', props.theme.getColor('red-500'), props.theme.getColor('red-500'));
48
+ }, function (props) {
49
+ return !props.isFocused && props.theme.themeProp('background-color', props.theme.getColor('gray-700'), props.theme.getColor('gray-100'));
50
+ }, function (props) {
51
+ return props.warning && !props.isFocused && props.theme.themeProp('background', '#816600', '#fffebf');
52
+ }, function (props) {
53
+ return props.error && !props.isFocused && props.theme.themeProp('background', '#901d1d', '#f7d5d0');
54
+ });
55
+ var Option$1 = styled__default['default'](Select.components.Option).attrs(defaultTheme.applyDefaultTheme)(_templateObject10 || (_templateObject10 = defaultTheme._taggedTemplateLiteral(["\n && {\n min-height: 22px;\n height: 22px;\n display: flex;\n align-items: center;\n padding: 6px;\n cursor: pointer;\n ", "\n ", "\n ", "\n ", "\n }\n"])), function (props) {
56
+ return props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('gray-700'));
57
+ }, function (props) {
58
+ return props.isFocused && styled.css(_templateObject11 || (_templateObject11 = defaultTheme._taggedTemplateLiteral(["\n ", "\n "])), props.theme.themeProp('background-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-200')));
59
+ }, function (props) {
60
+ return props.isSelected && styled.css(_templateObject12 || (_templateObject12 = defaultTheme._taggedTemplateLiteral(["\n ", "\n\n ", "\n "])), props.theme.themeProp('background-color', 'transparent', 'transparent'), props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('gray-700')));
61
+ }, function (props) {
62
+ return props.isFocused && props.isSelected && styled.css(_templateObject13 || (_templateObject13 = defaultTheme._taggedTemplateLiteral(["\n ", "\n "])), props.theme.themeProp('background-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-200')));
63
+ });
64
+ var Placeholder = styled__default['default'](Select.components.Placeholder).attrs(defaultTheme.applyDefaultTheme)(_templateObject14 || (_templateObject14 = defaultTheme._taggedTemplateLiteral(["\n && {\n ", "\n ", ";\n }\n"])), function (props) {
65
+ return (props.error || props.warning) && styled.css(_templateObject15 || (_templateObject15 = defaultTheme._taggedTemplateLiteral(["\n ", "\n "])), props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('gray-700')));
66
+ }, function (props) {
67
+ return (props.error || props.warning) && props.theme.themeProp('opacity', '0.6', '0.6');
68
+ });
69
+ var SingleValue$1 = styled__default['default'](Select.components.SingleValue).attrs(defaultTheme.applyDefaultTheme)(_templateObject16 || (_templateObject16 = defaultTheme._taggedTemplateLiteral(["\n && {\n ", ";\n }\n"])), function (props) {
70
+ return props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('gray-700'));
71
+ });
72
+ var Input = styled__default['default'](Select.components.Input).attrs(defaultTheme.applyDefaultTheme)(_templateObject17 || (_templateObject17 = defaultTheme._taggedTemplateLiteral(["\n && {\n margin: 0;\n padding: 0;\n padding-left: 2px;\n ", "\n }\n"])), function (props) {
73
+ return props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('gray-700'));
74
+ });
75
+ var Menu = styled__default['default'](Select.components.Menu).attrs(defaultTheme.applyDefaultTheme)(_templateObject18 || (_templateObject18 = defaultTheme._taggedTemplateLiteral(["\n && {\n ", ";\n }\n"])), function (props) {
76
+ return props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('white'));
77
+ });
78
+ var ValueContainer = styled__default['default'](Select.components.ValueContainer).attrs(defaultTheme.applyDefaultTheme)(_templateObject19 || (_templateObject19 = defaultTheme._taggedTemplateLiteral(["\n && {\n padding: 0;\n"])));
79
+ var ClearIndicator$1 = styled__default['default'](Select.components.ClearIndicator).attrs(defaultTheme.applyDefaultTheme)(_templateObject20 || (_templateObject20 = defaultTheme._taggedTemplateLiteral(["\n && {\n display: ", ";\n padding: 0;\n cursor: pointer;\n ", ";\n }\n"])), function (props) {
80
+ return props.isFocused ? 'flex' : 'none';
81
+ }, function (props) {
82
+ return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
83
+ });
84
+ var DropdownIndicator$1 = styled__default['default'](Select.components.DropdownIndicator).attrs(defaultTheme.applyDefaultTheme)(_templateObject21 || (_templateObject21 = defaultTheme._taggedTemplateLiteral(["\n && {\n display: ", ";\n padding: 0;\n width: 18px;\n margin-left: 2px;\n cursor: pointer;\n margin-top: 1px;\n ", ";\n }\n"])), function (props) {
85
+ return props.isFocused ? 'flex' : 'none';
86
+ }, function (props) {
87
+ return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
88
+ });
89
+ var DropdownIndicatorIcon = styled__default['default'](expandMore.SvgExpandMore).attrs(defaultTheme.applyDefaultTheme)(_templateObject22 || (_templateObject22 = defaultTheme._taggedTemplateLiteral(["\n width: 12px;\n"])));
90
+ var ClearIndicatorIcon = styled__default['default'](close.SvgClose).attrs(defaultTheme.applyDefaultTheme)(_templateObject23 || (_templateObject23 = defaultTheme._taggedTemplateLiteral(["\n width: 8px;\n margin-right: 4px;\n ", ";\n stroke-width: 2px;\n"])), function (props) {
91
+ return props.theme.themeProp('stroke', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
92
+ });
93
+ var IndicatorSeparator$1 = styled__default['default'](Select.components.IndicatorSeparator).attrs(defaultTheme.applyDefaultTheme)(_templateObject24 || (_templateObject24 = defaultTheme._taggedTemplateLiteral(["\n && {\n display: ", ";\n margin: 4px;\n ", ";\n }\n"])), function (props) {
94
+ return props.isFocused ? 'flex' : 'none';
95
+ }, function (props) {
96
+ return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
97
+ });
98
+
99
+ var AutocompleteSelect = React__default['default'].forwardRef(function AutocompleteSelect(_ref, forwardedRef) {
100
+ var label = _ref.label,
101
+ availableOptions = _ref.availableOptions,
102
+ placeholder = _ref.placeholder,
103
+ selectedOption = _ref.selectedOption,
104
+ loadOptions = _ref.loadOptions,
105
+ noOptionsMessageFunc = _ref.noOptionsMessageFunc,
106
+ createNewOptionMessageFunc = _ref.createNewOptionMessageFunc,
107
+ onUpdateCallback = _ref.onUpdateCallback,
108
+ loadingMessageFunc = _ref.loadingMessageFunc,
109
+ creatable = _ref.creatable,
110
+ readOnly = _ref.readOnly,
111
+ disabled = _ref.disabled,
112
+ error = _ref.error,
113
+ warning = _ref.warning,
114
+ props = defaultTheme._objectWithoutProperties(_ref, ["label", "availableOptions", "placeholder", "selectedOption", "loadOptions", "noOptionsMessageFunc", "createNewOptionMessageFunc", "onUpdateCallback", "loadingMessageFunc", "creatable", "readOnly", "disabled", "error", "warning"]);
115
+
116
+ var _useState = React.useState(nanoid.nanoid()),
117
+ _useState2 = defaultTheme._slicedToArray(_useState, 1),
118
+ uniqueId = _useState2[0];
119
+
120
+ var _useState3 = React.useState(selectedOption),
121
+ _useState4 = defaultTheme._slicedToArray(_useState3, 2),
122
+ selected = _useState4[0],
123
+ setSelected = _useState4[1];
124
+
125
+ var _useState5 = React.useState(false),
126
+ _useState6 = defaultTheme._slicedToArray(_useState5, 2),
127
+ focused = _useState6[0],
128
+ setFocused = _useState6[1];
129
+
130
+ var _useState7 = React.useState(0),
131
+ _useState8 = defaultTheme._slicedToArray(_useState7, 2),
132
+ cacheUnique = _useState8[0],
133
+ setCacheUnique = _useState8[1];
134
+
135
+ var Control$1 = React.useMemo(function () {
136
+ var control = function control(props) {
137
+ return React__default['default'].createElement(Control, defaultTheme._extends({
138
+ className: "select-control",
139
+ error: error,
140
+ warning: warning
141
+ }, props));
142
+ };
143
+
144
+ control.displayName = 'ControlWrapper';
145
+ return control;
146
+ }, [error, warning]);
147
+ var ValueContainer$1 = React.useMemo(function () {
148
+ var valueContainer = function valueContainer(props) {
149
+ return React__default['default'].createElement(ValueContainer, defaultTheme._extends({
150
+ className: "value-container",
151
+ error: error,
152
+ warning: warning
153
+ }, props));
154
+ };
155
+
156
+ valueContainer.displayName = 'ValueContainerWrapper';
157
+ return valueContainer;
158
+ }, [error, warning]);
159
+ var Input$1 = React.useMemo(function () {
160
+ var selectInput = function selectInput(props) {
161
+ return React__default['default'].createElement(Input, defaultTheme._extends({
162
+ className: "select-input"
163
+ }, props));
164
+ };
165
+
166
+ selectInput.displayName = 'InputWrapper';
167
+ return selectInput;
168
+ }, []);
169
+ var Menu$1 = React.useMemo(function () {
170
+ var menu = function menu(props) {
171
+ return React__default['default'].createElement(Menu, defaultTheme._extends({
172
+ className: "select-menu"
173
+ }, props));
174
+ };
175
+
176
+ menu.displayName = 'MenuWrapper';
177
+ return menu;
178
+ }, []);
179
+
180
+ var Placeholder$1 = function Placeholder$1(props) {
181
+ return React__default['default'].createElement(Placeholder, defaultTheme._extends({
182
+ className: "select-placeholder",
183
+ error: error,
184
+ warning: warning
185
+ }, props));
186
+ };
187
+
188
+ var innerComponents = {
189
+ Control: Control$1,
190
+ ValueContainer: ValueContainer$1,
191
+ DropdownIndicator: DropdownIndicator,
192
+ IndicatorSeparator: IndicatorSeparator,
193
+ ClearIndicator: ClearIndicator,
194
+ Option: Option,
195
+ SingleValue: SingleValue,
196
+ Input: Input$1,
197
+ Placeholder: Placeholder$1,
198
+ Menu: Menu$1
199
+ };
200
+ var sharedSelectProps = {
201
+ ref: forwardedRef,
202
+ options: loadOptions ? undefined : availableOptions,
203
+ value: selected,
204
+ loadOptions: loadOptions,
205
+ loadingMessage: loadingMessageFunc,
206
+ formatCreateLabel: createNewOptionMessageFunc,
207
+ noOptionsMessage: function noOptionsMessage(input) {
208
+ return noOptionsMessageFunc(input.inputValue);
209
+ },
210
+ onFocus: function onFocus() {
211
+ setFocused(true);
212
+ },
213
+ onBlur: function onBlur() {
214
+ setFocused(false);
215
+ },
216
+ focused: focused,
217
+ readOnly: readOnly,
218
+ isDisabled: disabled || readOnly,
219
+ components: innerComponents,
220
+ isClearable: true,
221
+ isSearchable: true,
222
+ placeholder: placeholder,
223
+ id: uniqueId,
224
+ cacheUniqs: loadOptions ? [cacheUnique] : undefined,
225
+ onChange: function onChange(selected, actionMeta) {
226
+ switch (actionMeta.action) {
227
+ case 'create-option':
228
+ if (onUpdateCallback) {
229
+ onUpdateCallback(actionMeta.action, actionMeta.option);
230
+ }
231
+
232
+ if (loadOptions) {
233
+ setCacheUnique(cacheUnique + 1);
234
+ }
235
+
236
+ setSelected(selected);
237
+ break;
238
+
239
+ case 'select-option':
240
+ if (onUpdateCallback) {
241
+ onUpdateCallback(actionMeta.action, actionMeta.option);
242
+ }
243
+
244
+ setSelected(selected);
245
+ break;
246
+
247
+ case 'remove-value':
248
+ if (onUpdateCallback) {
249
+ onUpdateCallback(actionMeta.action, actionMeta.removedValue);
250
+ }
251
+
252
+ setSelected(selected);
253
+ break;
254
+
255
+ case 'pop-value':
256
+ if (onUpdateCallback) {
257
+ onUpdateCallback(actionMeta.action, actionMeta.removedValue);
258
+ }
259
+
260
+ setSelected(selected);
261
+ break;
262
+
263
+ case 'deselect-option':
264
+ if (onUpdateCallback) {
265
+ onUpdateCallback(actionMeta.action, actionMeta.option);
266
+ }
267
+
268
+ setSelected(selected);
269
+ break;
270
+
271
+ case 'clear':
272
+ setSelected(selected);
273
+ break;
274
+
275
+ default:
276
+ if (onUpdateCallback) {
277
+ onUpdateCallback(actionMeta.action, actionMeta.option);
278
+ }
279
+
280
+ setSelected(selected);
281
+ break;
282
+ }
283
+ }
284
+ };
285
+ return React__default['default'].createElement(AutocompleteSelect$1, null, React__default['default'].createElement(InputContainer, null, label && React__default['default'].createElement(Label, {
286
+ htmlFor: uniqueId
287
+ }, label), loadOptions ? creatable ? React__default['default'].createElement(AsyncCreatableAutocompleteSelect, defaultTheme._extends({
288
+ $hasLabel: !lodash.isEmpty(label)
289
+ }, sharedSelectProps, props)) : React__default['default'].createElement(AsyncAutocompleteSelect, defaultTheme._extends({
290
+ $hasLabel: !lodash.isEmpty(label)
291
+ }, sharedSelectProps, props)) : creatable ? React__default['default'].createElement(AutocompletCreatableSelect, defaultTheme._extends({
292
+ $hasLabel: !lodash.isEmpty(label)
293
+ }, sharedSelectProps, props)) : React__default['default'].createElement(AutocompletSelect, defaultTheme._extends({
294
+ $hasLabel: !lodash.isEmpty(label)
295
+ }, sharedSelectProps, props))));
296
+ });
297
+ AutocompleteSelect.propTypes = process.env.NODE_ENV !== "production" ? {
298
+ label: defaultTheme.PropTypes.string,
299
+ placeholder: defaultTheme.PropTypes.string,
300
+ availableOptions: defaultTheme.PropTypes.arrayOf(defaultTheme.PropTypes.object),
301
+ selectedOption: defaultTheme.PropTypes.arrayOf(defaultTheme.PropTypes.object),
302
+ loadOptions: defaultTheme.PropTypes.func,
303
+ loadingMessageFunc: defaultTheme.PropTypes.func,
304
+ createNewOptionMessageFunc: defaultTheme.PropTypes.func,
305
+ noOptionsMessageFunc: defaultTheme.PropTypes.func,
306
+ readOnly: defaultTheme.PropTypes.bool,
307
+ error: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
308
+ warning: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
309
+ onUpdateCallback: defaultTheme.PropTypes.func,
310
+ creatable: defaultTheme.PropTypes.bool,
311
+ disabled: defaultTheme.PropTypes.bool
312
+ } : {};
313
+ AutocompleteSelect.defaultProps = {
314
+ noOptionsMessageFunc: function noOptionsMessageFunc(inputValue) {
315
+ if (inputValue) {
316
+ return "No matches for \"".concat(inputValue, "\"");
317
+ } else {
318
+ return 'No available options';
319
+ }
320
+ },
321
+ readOnly: false,
322
+ disabled: false,
323
+ creatable: true,
324
+ error: false,
325
+ warning: false
326
+ };
327
+
328
+ var Option = function Option(props) {
329
+ return React__default['default'].createElement(Option$1, defaultTheme._extends({
330
+ className: "menu-item"
331
+ }, props));
332
+ };
333
+
334
+ var SingleValue = function SingleValue(props) {
335
+ return React__default['default'].createElement(SingleValue$1, defaultTheme._extends({
336
+ className: "menu-value"
337
+ }, props));
338
+ };
339
+
340
+ var DropdownIndicator = function DropdownIndicator(props) {
341
+ return React__default['default'].createElement(DropdownIndicator$1, defaultTheme._extends({
342
+ className: "dropdown-indicator"
343
+ }, props), React__default['default'].createElement(DropdownIndicatorIcon, null));
344
+ };
345
+
346
+ var ClearIndicator = function ClearIndicator(props) {
347
+ return React__default['default'].createElement(ClearIndicator$1, defaultTheme._extends({
348
+ className: "clear-indicator"
349
+ }, props), React__default['default'].createElement(ClearIndicatorIcon, null));
350
+ };
351
+
352
+ var IndicatorSeparator = function IndicatorSeparator(props) {
353
+ return React__default['default'].createElement(IndicatorSeparator$1, defaultTheme._extends({
354
+ className: "indicator-separator"
355
+ }, props));
356
+ };
357
+
358
+ exports.AutocompleteSelect = AutocompleteSelect;