@ntbjs/react-components 1.1.0-beta.6 → 1.1.0-beta.61

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 (57) hide show
  1. package/{ActionButton-90485300.js → ActionButton-c3f5ed94.js} +1 -1
  2. package/Alert-3e4f8be1.js +62 -0
  3. package/{AssetGallery-fa38a287.js → AssetGallery-c80b2a20.js} +24 -36
  4. package/{AssetPreviewTopBar-777c726a.js → AssetPreviewTopBar-449e6019.js} +5 -3
  5. package/{AutocompleteSelect-e2063407.js → AutocompleteSelect-57a324e3.js} +30 -13
  6. package/{Badge-34ad2850.js → Badge-9bcebe96.js} +1 -1
  7. package/{Button-a5327c37.js → Button-dd271c4b.js} +3 -3
  8. package/{Checkbox-50f1f3c7.js → Checkbox-012bbd3f.js} +3 -3
  9. package/{CompactStarRating-f9997240.js → CompactStarRating-942afff1.js} +49 -32
  10. package/{CompactTextInput-8c9b061b.js → CompactTextInput-e9c99aa3.js} +43 -17
  11. package/{ContextMenu-59c2a64f.js → ContextMenu-d088833b.js} +1 -1
  12. package/{InputGroup-66dd343c.js → InputGroup-09ce9572.js} +1 -1
  13. package/Instructions-e96905c7.js +221 -0
  14. package/{MultiSelect-e4868f52.js → MultiSelect-5b008b32.js} +66 -46
  15. package/{Popover-616682bf.js → Popover-11df9750.js} +2 -7
  16. package/{Radio-0b46b2a8.js → Radio-0594409d.js} +1 -1
  17. package/{SectionSeparator-12aff748.js → SectionSeparator-225719cd.js} +1 -1
  18. package/{Switch-aa384260.js → Switch-cd165c8c.js} +1 -1
  19. package/{Tab-fc380f0b.js → Tab-bd0f3345.js} +11 -6
  20. package/{Tabs-d6f0aaf5.js → Tabs-cfc35dc0.js} +49 -11
  21. package/{TextArea-8a0bd754.js → TextArea-6dad1bbe.js} +19 -9
  22. package/{TextInput-e4c6d536.js → TextInput-a1083be3.js} +1 -1
  23. package/{Tooltip-860530ff.js → Tooltip-f4f9ab8f.js} +16 -11
  24. package/data/Alert/index.js +10 -0
  25. package/data/Badge/index.js +2 -2
  26. package/data/Popover/index.js +3 -2
  27. package/data/Tab/index.js +2 -2
  28. package/data/Tabs/index.js +3 -3
  29. package/data/Tooltip/index.js +12 -0
  30. package/data/index.js +11 -8
  31. package/{defaultTheme-870f7df1.js → defaultTheme-50f2b88f.js} +17 -0
  32. package/inputs/ActionButton/index.js +2 -2
  33. package/inputs/AutocompleteSelect/index.js +3 -3
  34. package/inputs/Button/index.js +5 -4
  35. package/inputs/Checkbox/index.js +2 -2
  36. package/inputs/CompactStarRating/index.js +2 -2
  37. package/inputs/CompactTextInput/index.js +9 -7
  38. package/inputs/MultiSelect/index.js +4 -3
  39. package/inputs/Radio/index.js +2 -2
  40. package/inputs/Switch/index.js +2 -2
  41. package/inputs/TextArea/index.js +2 -2
  42. package/inputs/TextInput/index.js +2 -2
  43. package/inputs/index.js +21 -19
  44. package/layout/InputGroup/index.js +2 -2
  45. package/layout/SectionSeparator/index.js +2 -2
  46. package/layout/index.js +3 -3
  47. package/package.json +3 -3
  48. package/{react-select-creatable.esm-9283eec1.js → react-select-creatable.esm-2f23d6c6.js} +133 -43
  49. package/shift-away-subtle-cfdf1dbe.js +9 -0
  50. package/warning-circle-24522402.js +41 -0
  51. package/widgets/AssetGallery/index.js +23 -20
  52. package/widgets/AssetPreview/AssetPreviewTopBar/index.js +2 -2
  53. package/widgets/ContextMenu/ContextMenuItem/index.js +2 -4
  54. package/widgets/ContextMenu/ContextMenuItemsGroup/index.js +1 -1
  55. package/widgets/ContextMenu/index.js +2 -2
  56. package/widgets/Instructions/index.js +22 -0
  57. package/widgets/index.js +26 -21
@@ -1,16 +1,17 @@
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
6
  var lodash = require('lodash');
7
7
  var styled = require('styled-components');
8
8
  var editNote = require('./edit-note-c47d292e.js');
9
- var Popover = require('./Popover-616682bf.js');
10
- var Tooltip = require('./Tooltip-860530ff.js');
11
- require('./Tab-fc380f0b.js');
12
- require('./Tabs-d6f0aaf5.js');
13
- require('./Badge-34ad2850.js');
9
+ require('./Alert-3e4f8be1.js');
10
+ require('./Badge-9bcebe96.js');
11
+ var Popover = require('./Popover-11df9750.js');
12
+ require('./Tab-bd0f3345.js');
13
+ require('./Tabs-cfc35dc0.js');
14
+ var Tooltip = require('./Tooltip-f4f9ab8f.js');
14
15
 
15
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
17
 
@@ -61,7 +62,7 @@ var InputIconContainer = styled__default['default'].div.attrs(defaultTheme.apply
61
62
  }, function (props) {
62
63
  return props.error && props.theme.themeProp('color', '#CB968F', '#CB968F');
63
64
  });
64
- var Input = styled__default['default'].input.attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n box-sizing: border-box;\n height: 22px;\n width: 100%;\n display: block;\n font-size: 0.875rem;\n line-height: 1rem;\n font-family: inherit;\n ", "\n padding: 1px 4px;\n ", ";\n border-radius: 3px;\n border: 1px solid transparent;\n text-overflow: ellipsis;\n \n ", ";\n\n &&:not(:hover):not(:focus) {\n ", ";\n ", ";\n }\n\n &&:hover:not(:focus) {\n ", ";\n\n ", ";\n\n ", ";\n\n & + ", " {\n opacity: 1;\n }\n }\n\n &&:focus {\n ", ";\n\n ", ";\n outline: none;\n\n ", ";\n\n ", ";\n }\n\n &&::placeholder {\n color: inherit;\n opacity: 0.6;\n}\n\n ", "\n"])), function (props) {
65
+ var Input = styled__default['default'].input.attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n box-sizing: border-box;\n height: 22px;\n width: 100%;\n display: block;\n font-size: 0.875rem;\n line-height: 1rem;\n font-family: inherit;\n ", "\n padding: 1px 10px;\n ", ";\n border-radius: 3px;\n border: 1px solid transparent;\n text-overflow: ellipsis;\n\n ", ";\n\n &&:not(:hover):not(:focus) {\n ", ";\n ", ";\n ", ";\n }\n\n &&:hover:not(:focus) {\n ", ";\n\n ", ";\n\n ", ";\n\n & + ", " {\n opacity: 1;\n }\n }\n\n &&:focus {\n ", ";\n\n ", ";\n outline: none;\n\n ", ";\n\n ", ";\n }\n\n &&::placeholder {\n color: inherit;\n opacity: 0.6;\n }\n\n ", "\n"])), function (props) {
65
66
  return props.theme.themeProp('color', props.theme.getColor('gray-200'), props.theme.getColor('gray-700'));
66
67
  }, function (props) {
67
68
  return props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('white'));
@@ -73,6 +74,8 @@ var Input = styled__default['default'].input.attrs(defaultTheme.applyDefaultThem
73
74
  return props.warning && props.theme.themeProp('background', '#634e01', '#fffde8');
74
75
  }, function (props) {
75
76
  return props.error && props.theme.themeProp('background', '#7f1b1b', '#fbeae6');
77
+ }, function (props) {
78
+ return props.edit && props.theme.themeProp('background', '#505050', '#eff1f4');
76
79
  }, function (props) {
77
80
  return !props.readOnly && props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('gray-100'));
78
81
  }, function (props) {
@@ -132,13 +135,15 @@ var CompactTextInput = React__default['default'].forwardRef(function CompactText
132
135
  linkTarget = _ref2.linkTarget,
133
136
  autoSelect = _ref2.autoSelect,
134
137
  readOnly = _ref2.readOnly,
138
+ edit = _ref2.edit,
135
139
  error = _ref2.error,
136
140
  warning = _ref2.warning,
137
141
  bold = _ref2.bold,
142
+ hidden = _ref2.hidden,
138
143
  onChangeProp = _ref2.onChange,
139
144
  onFocusProp = _ref2.onFocus,
140
145
  onBlurProp = _ref2.onBlur,
141
- props = defaultTheme._objectWithoutProperties(_ref2, ["label", "type", "name", "defaultValue", "value", "placeholder", "link", "linkTarget", "autoSelect", "readOnly", "error", "warning", "bold", "onChange", "onFocus", "onBlur"]);
146
+ props = defaultTheme._objectWithoutProperties(_ref2, ["label", "type", "name", "defaultValue", "value", "placeholder", "link", "linkTarget", "autoSelect", "readOnly", "edit", "error", "warning", "bold", "hidden", "onChange", "onFocus", "onBlur"]);
142
147
 
143
148
  var _useState = React.useState(nanoid.nanoid()),
144
149
  _useState2 = defaultTheme._slicedToArray(_useState, 1),
@@ -179,23 +184,28 @@ var CompactTextInput = React__default['default'].forwardRef(function CompactText
179
184
 
180
185
  setShowPopover(false);
181
186
  }, [onBlurProp]);
187
+ var descriptionText = React.useMemo(function () {
188
+ if (!lodash.isEmpty(error)) {
189
+ return error;
190
+ }
191
+
192
+ if (!lodash.isEmpty(warning)) {
193
+ return warning;
194
+ }
195
+
196
+ return null;
197
+ }, [error, warning]);
198
+ if (hidden) return null;
182
199
  return React__default['default'].createElement(CompactTextInput$1, props, label && React__default['default'].createElement(Label, {
183
200
  htmlFor: uniqueId
184
201
  }, label), React__default['default'].createElement(ConditionalWrapper, {
185
- wrapper: function wrapper(children) {
186
- return React__default['default'].createElement(Tooltip.Tooltip, {
187
- content: error || warning
188
- }, children);
189
- },
190
- condition: lodash.isString(error) || lodash.isString(warning)
191
- }, React__default['default'].createElement(ConditionalWrapper, {
192
202
  wrapper: function wrapper(children) {
193
203
  return readOnly ? React__default['default'].createElement("a", {
194
204
  href: link,
195
205
  target: linkTarget
196
206
  }, children) : React__default['default'].createElement(Popover.Popover, {
197
207
  arrow: false,
198
- trigger: "manuel",
208
+ trigger: "manual",
199
209
  visible: showPopover,
200
210
  placement: 'bottom-start',
201
211
  offset: [4, 2],
@@ -211,6 +221,17 @@ var CompactTextInput = React__default['default'].forwardRef(function CompactText
211
221
  }, children);
212
222
  },
213
223
  condition: !lodash.isEmpty(link)
224
+ }, React__default['default'].createElement(ConditionalWrapper, {
225
+ condition: lodash.isString(error) || lodash.isString(warning),
226
+ wrapper: function wrapper(children) {
227
+ return React__default['default'].createElement(Tooltip.Tooltip, {
228
+ content: descriptionText,
229
+ key: "tooltip1",
230
+ placement: "bottom-end",
231
+ visible: true,
232
+ zIndex: 999999
233
+ }, children);
234
+ }
214
235
  }, React__default['default'].createElement(InputContainer, {
215
236
  $hasLabel: !lodash.isEmpty(label)
216
237
  }, React__default['default'].createElement(Input, {
@@ -219,6 +240,7 @@ var CompactTextInput = React__default['default'].forwardRef(function CompactText
219
240
  type: type,
220
241
  name: name,
221
242
  readOnly: readOnly,
243
+ edit: edit,
222
244
  placeholder: placeholder,
223
245
  defaultValue: defaultValue,
224
246
  value: value,
@@ -245,9 +267,11 @@ CompactTextInput.propTypes = process.env.NODE_ENV !== "production" ? {
245
267
  linkTarget: defaultTheme.PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),
246
268
  autoSelect: defaultTheme.PropTypes.bool,
247
269
  readOnly: defaultTheme.PropTypes.bool,
270
+ edit: defaultTheme.PropTypes.bool,
248
271
  error: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
249
272
  warning: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
250
273
  bold: defaultTheme.PropTypes.bool,
274
+ hidden: defaultTheme.PropTypes.bool,
251
275
  onChange: defaultTheme.PropTypes.func,
252
276
  onFocus: defaultTheme.PropTypes.func,
253
277
  onBlur: defaultTheme.PropTypes.func
@@ -258,8 +282,10 @@ CompactTextInput.defaultProps = {
258
282
  linkTarget: '_self',
259
283
  bold: false,
260
284
  readOnly: false,
285
+ edit: false,
261
286
  error: false,
262
- warning: false
287
+ warning: false,
288
+ hidden: false
263
289
  };
264
290
 
265
291
  exports.CompactTextInput = CompactTextInput;
@@ -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
 
@@ -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
 
@@ -0,0 +1,221 @@
1
+ 'use strict';
2
+
3
+ var defaultTheme = require('./defaultTheme-50f2b88f.js');
4
+ var React = require('react');
5
+ var styled = require('styled-components');
6
+ var TextArea = require('./TextArea-6dad1bbe.js');
7
+ var AutocompleteSelect = require('./AutocompleteSelect-57a324e3.js');
8
+ var warningCircle = require('./warning-circle-24522402.js');
9
+ var lodash = require('lodash');
10
+
11
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
+
13
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
15
+
16
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
17
+ var Instructions$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n display: flex;\n position: relative;\n flex-direction: column;\n width: 100%;\n ", ";\n"])), function (props) {
18
+ return props.theme.themeProp('background', '#634E01', props.theme.getColor('signal-yellow-400'));
19
+ });
20
+ var TopBarContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n display: flex;\n justify-content: end;\n ", ";\n\n ", ";\n\n width: 100%;\n margin-top: 0;\n transition: margin-top 120ms;\n &&.slide-in {\n margin-top: -24px;\n }\n"])), function (props) {
21
+ return props.theme.themeProp('background', '#634E01', props.theme.getColor('signal-yellow-400'));
22
+ }, function (props) {
23
+ return props.initialHover && props.theme.themeProp('background', '#FFFDE8', '#FFFDE8');
24
+ });
25
+ var SelectContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n width: 35%;\n margin-right: 3px;\n"])));
26
+ var InstructionsArea = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n margin: 0;\n width: 100%;\n margin: auto;\n ", ";\n"])), function (props) {
27
+ return props.theme.themeProp('background', '#634E01', props.theme.getColor('signal-yellow-400'));
28
+ });
29
+
30
+ var Instructions = React__default['default'].forwardRef(function Instructions(_ref, forwardedRef) {
31
+ var clickToAdd = _ref.clickToAdd,
32
+ customAddMessage = _ref.customAddMessage,
33
+ selectedOption = _ref.selectedOption,
34
+ loadOptions = _ref.loadOptions,
35
+ readOnly = _ref.readOnly,
36
+ hidden = _ref.hidden,
37
+ name = _ref.name,
38
+ lightBackground = _ref.lightBackground,
39
+ autoSelect = _ref.autoSelect,
40
+ subscribeCurrentValueProp = _ref.subscribeCurrentValue,
41
+ onChangeProp = _ref.onChange,
42
+ onFocusProp = _ref.onFocus,
43
+ onBlurProp = _ref.onBlur,
44
+ onUpdateCallback = _ref.onUpdateCallback,
45
+ availableOptions = _ref.availableOptions,
46
+ loadingMessageFunc = _ref.loadingMessageFunc,
47
+ placeholder = _ref.placeholder,
48
+ props = defaultTheme._objectWithoutProperties(_ref, ["clickToAdd", "customAddMessage", "selectedOption", "loadOptions", "readOnly", "hidden", "name", "lightBackground", "autoSelect", "subscribeCurrentValue", "onChange", "onFocus", "onBlur", "onUpdateCallback", "availableOptions", "loadingMessageFunc", "placeholder"]);
49
+
50
+ var _useState = React.useState(false),
51
+ _useState2 = defaultTheme._slicedToArray(_useState, 2),
52
+ isHovered = _useState2[0],
53
+ setIsHovered = _useState2[1];
54
+
55
+ var _useState3 = React.useState({}),
56
+ _useState4 = defaultTheme._slicedToArray(_useState3, 2),
57
+ selected = _useState4[0],
58
+ setSelected = _useState4[1];
59
+
60
+ var _useState5 = React.useState(clickToAdd),
61
+ _useState6 = defaultTheme._slicedToArray(_useState5, 2),
62
+ addInstructions = _useState6[0],
63
+ setAddInstructions = _useState6[1];
64
+
65
+ var _useState7 = React.useState(customAddMessage),
66
+ _useState8 = defaultTheme._slicedToArray(_useState7, 2),
67
+ customMessage = _useState8[0],
68
+ setCustomMessage = _useState8[1];
69
+
70
+ var _useState9 = React.useState(lightBackground),
71
+ _useState10 = defaultTheme._slicedToArray(_useState9, 2),
72
+ background = _useState10[0],
73
+ setBackground = _useState10[1];
74
+
75
+ var _useState11 = React.useState(true),
76
+ _useState12 = defaultTheme._slicedToArray(_useState11, 2),
77
+ initialHover = _useState12[0],
78
+ setInitialHover = _useState12[1];
79
+
80
+ var _useState13 = React.useState(),
81
+ _useState14 = defaultTheme._slicedToArray(_useState13, 2),
82
+ currentValue = _useState14[0],
83
+ setCurrentValue = _useState14[1];
84
+
85
+ React.useEffect(function () {
86
+ if (lodash.isFunction(subscribeCurrentValueProp)) {
87
+ subscribeCurrentValueProp(currentValue);
88
+ }
89
+ }, [currentValue]);
90
+ React.useEffect(function () {
91
+ handleChange(selected);
92
+ }, [selected]);
93
+ React.useEffect(function () {
94
+ if (selectedOption) {
95
+ setCurrentValue(selectedOption.value);
96
+ }
97
+ }, [selectedOption]);
98
+ React.useEffect(function () {
99
+ if (addInstructions) {
100
+ setCurrentValue(customMessage);
101
+ setInitialHover(true);
102
+ }
103
+ }, [addInstructions, handleOnFocus]);
104
+ var onChange = React.useCallback(function (event) {
105
+ setCurrentValue(event.target.value);
106
+
107
+ if (lodash.isFunction(onChangeProp)) {
108
+ onChangeProp(event);
109
+ }
110
+ }, [onChangeProp]);
111
+ var onFocus = React.useCallback(function (event) {
112
+ if (autoSelect) {
113
+ event.target.select();
114
+ }
115
+
116
+ if (lodash.isFunction(onFocusProp)) {
117
+ onFocusProp(event);
118
+ }
119
+
120
+ if (event.target.value === customMessage) {
121
+ setCurrentValue('');
122
+ }
123
+ }, [autoSelect, readOnly, onFocusProp]);
124
+ var onBlur = React.useCallback(function (event) {
125
+ if (lodash.isFunction(onBlurProp)) {
126
+ onBlurProp(event);
127
+ }
128
+ }, [onBlurProp]);
129
+
130
+ var handleMouseEnter = function handleMouseEnter() {
131
+ setIsHovered(true);
132
+ };
133
+
134
+ var handleMouseLeave = function handleMouseLeave() {
135
+ setIsHovered(false);
136
+ };
137
+
138
+ var handleOnFocus = function handleOnFocus() {
139
+ if (customMessage === currentValue) {
140
+ setCurrentValue('');
141
+ }
142
+ };
143
+
144
+ var handleChange = function handleChange(selected) {
145
+ if (selected === null) {
146
+ setSelected({});
147
+ setAddInstructions(true);
148
+ setBackground(true);
149
+ setInitialHover(true);
150
+ setCustomMessage(customAddMessage);
151
+ } else {
152
+ setSelected(selected);
153
+ setCurrentValue(selected.value);
154
+ setAddInstructions(false);
155
+ setBackground(false);
156
+ setInitialHover(false);
157
+ onUpdateCallback(selected);
158
+ }
159
+ };
160
+
161
+ var sharedSelectProps = {
162
+ options: loadOptions ? undefined : availableOptions,
163
+ loadOptions: loadOptions,
164
+ loadingMessage: loadingMessageFunc,
165
+ placeholder: placeholder
166
+ };
167
+ if (hidden) return null;
168
+ return React__default['default'].createElement(Instructions$1, defaultTheme._extends({
169
+ ref: forwardedRef,
170
+ initialHover: initialHover,
171
+ onMouseEnter: handleMouseEnter,
172
+ onMouseLeave: handleMouseLeave
173
+ }, props), React__default['default'].createElement(TopBarContainer, {
174
+ initialHover: initialHover,
175
+ className: isHovered && !readOnly && 'slide-in'
176
+ }, React__default['default'].createElement(SelectContainer, null, React__default['default'].createElement(AutocompleteSelect.AutocompleteSelect, defaultTheme._extends({
177
+ warning: true,
178
+ value: selectedOption,
179
+ creatable: false,
180
+ onChange: handleChange
181
+ }, sharedSelectProps)))), React__default['default'].createElement(InstructionsArea, null, React__default['default'].createElement(TextArea.TextArea, {
182
+ noBorder: true,
183
+ lightBackground: background,
184
+ readOnly: readOnly,
185
+ warningAlert: true,
186
+ name: name,
187
+ value: currentValue === null ? '' : currentValue,
188
+ onFocus: onFocus,
189
+ onChange: onChange,
190
+ onBlur: onBlur,
191
+ icon: React__default['default'].createElement(warningCircle.SvgWarningCircle, null)
192
+ })));
193
+ });
194
+ Instructions.defaultProps = {
195
+ clickToAdd: false,
196
+ lightBackground: false,
197
+ autoSelect: true,
198
+ hidden: false
199
+ };
200
+ Instructions.propTypes = process.env.NODE_ENV !== "production" ? {
201
+ name: defaultTheme.PropTypes.string,
202
+ placeholder: defaultTheme.PropTypes.string,
203
+ selectedOption: defaultTheme.PropTypes.any,
204
+ loadOptions: defaultTheme.PropTypes.func,
205
+ loadingMessageFunc: defaultTheme.PropTypes.func,
206
+ clickToAdd: defaultTheme.PropTypes.bool,
207
+ customAddMessage: defaultTheme.PropTypes.string,
208
+ autoSelect: defaultTheme.PropTypes.bool,
209
+ readOnly: defaultTheme.PropTypes.bool,
210
+ hidden: defaultTheme.PropTypes.bool,
211
+ availableOptions: defaultTheme.PropTypes.arrayOf(defaultTheme.PropTypes.object),
212
+ lightBackground: defaultTheme.PropTypes.bool,
213
+ options: defaultTheme.PropTypes.array,
214
+ subscribeCurrentValue: defaultTheme.PropTypes.func,
215
+ onChange: defaultTheme.PropTypes.func,
216
+ onFocus: defaultTheme.PropTypes.func,
217
+ onBlur: defaultTheme.PropTypes.func,
218
+ onUpdateCallback: defaultTheme.PropTypes.func
219
+ } : {};
220
+
221
+ exports.Instructions = Instructions;
@@ -1,11 +1,12 @@
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
+ var nanoid = require('nanoid');
5
6
  var styled = require('styled-components');
6
7
  var close = require('./close-ebf2f3cf.js');
7
8
  var Select = require('react-select');
8
- var reactSelectCreatable_esm = require('./react-select-creatable.esm-9283eec1.js');
9
+ var reactSelectCreatable_esm = require('./react-select-creatable.esm-2f23d6c6.js');
9
10
  var reactSelectAsyncPaginate = require('react-select-async-paginate');
10
11
 
11
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -14,29 +15,32 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
15
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
15
16
  var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
16
17
 
17
- 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;
18
+ 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;
18
19
  var AsyncCreatableSelectPaginate = reactSelectAsyncPaginate.withAsyncPaginate(reactSelectCreatable_esm.CreatableSelect$1);
19
20
  var showMoreHeight = 114;
20
21
  var sharedStyle = styled.css(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n font-family: ", ";\n font-size: 12px;\n font-weight: 400;\n position: relative;\n"])), function (props) {
21
22
  return props.theme.primaryFontFamily;
22
23
  });
23
- var MultiSelect$1 = styled__default['default'](Select__default['default']).attrs(defaultTheme.applyDefaultTheme)(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n ", "\n"])), sharedStyle);
24
- var CreatableMultiSelect = styled__default['default'](reactSelectCreatable_esm.CreatableSelect$1).attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n ", "\n"])), sharedStyle);
25
- var AsyncCreatableMultiSelect = styled__default['default'](AsyncCreatableSelectPaginate).attrs(defaultTheme.applyDefaultTheme)(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n ", "\n"])), sharedStyle);
26
- var AsyncMultiSelect = styled__default['default'](reactSelectAsyncPaginate.AsyncPaginate).attrs(defaultTheme.applyDefaultTheme)(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n ", "\n"])), sharedStyle);
27
- var MultiSelectWrapper = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n position: relative;\n"])));
28
- var Control = styled__default['default'](Select.components.Control).attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n && {\n align-items: flex-start;\n background: transparent;\n border: none;\n box-shadow: none;\n }\n\n :hover {\n cursor: ", ";\n }\n"])), function (props) {
24
+ var Label = styled__default['default'].label.attrs(defaultTheme.applyDefaultTheme)(_templateObject2 || (_templateObject2 = 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"])), function (props) {
25
+ return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
26
+ });
27
+ var MultiSelect$1 = styled__default['default'](Select__default['default']).attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n ", "\n"])), sharedStyle);
28
+ var CreatableMultiSelect = styled__default['default'](reactSelectCreatable_esm.CreatableSelect$1).attrs(defaultTheme.applyDefaultTheme)(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n ", "\n"])), sharedStyle);
29
+ var AsyncCreatableMultiSelect = styled__default['default'](AsyncCreatableSelectPaginate).attrs(defaultTheme.applyDefaultTheme)(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n ", "\n"])), sharedStyle);
30
+ var AsyncMultiSelect = styled__default['default'](reactSelectAsyncPaginate.AsyncPaginate).attrs(defaultTheme.applyDefaultTheme)(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n ", "\n"])), sharedStyle);
31
+ var MultiSelectWrapper = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n position: relative;\n"])));
32
+ var Control = styled__default['default'](Select.components.Control).attrs(defaultTheme.applyDefaultTheme)(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n && {\n align-items: flex-start;\n background: transparent;\n border: none;\n box-shadow: none;\n }\n\n :hover {\n cursor: ", ";\n }\n"])), function (props) {
29
33
  return !props.isDisabled && props.focused || props.readOnly ? 'default' : 'pointer';
30
34
  });
31
- var ValueContainer = styled__default['default'](Select.components.ValueContainer)(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n && {\n align-items: flex-start;\n gap: 8px;\n padding: 0;\n\n max-height: ", " !important;\n\n ", "\n }\n"])), function (props) {
35
+ var ValueContainer = styled__default['default'](Select.components.ValueContainer)(_templateObject9 || (_templateObject9 = defaultTheme._taggedTemplateLiteral(["\n && {\n align-items: flex-start;\n gap: 8px;\n padding: 0;\n\n max-height: ", " !important;\n\n ", "\n }\n"])), function (props) {
32
36
  return props.showMore ? props.error || props.warning ? '100%' : showMoreHeight + 16 + 'px' : '100%';
33
37
  }, function (props) {
34
- return (props.error || props.warning) && styled.css(_templateObject9 || (_templateObject9 = defaultTheme._taggedTemplateLiteral(["\n border: 1px solid;\n border-radius: 3px;\n padding: 4px;\n\n border-color: ", ";\n "])), function (props) {
38
+ return (props.error || props.warning) && styled.css(_templateObject10 || (_templateObject10 = defaultTheme._taggedTemplateLiteral(["\n border: 1px solid;\n border-radius: 3px;\n padding: 4px;\n\n border-color: ", ";\n "])), function (props) {
35
39
  return props.error ? props.theme.getColor('red-500') : props.warning ? props.theme.getColor('orange-500') : 'inherit';
36
40
  });
37
41
  });
38
- var MultiValueWrapper = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject10 || (_templateObject10 = defaultTheme._taggedTemplateLiteral(["\n && {\n border-radius: 3px;\n margin: 0;\n }\n"])));
39
- var MultiValue = styled__default['default'](Select.components.MultiValue).attrs(defaultTheme.applyDefaultTheme)(_templateObject11 || (_templateObject11 = defaultTheme._taggedTemplateLiteral(["\n && {\n border-radius: 3px;\n margin: 0;\n\n ", "\n\n ", "\n\n > div {\n align-items: center;\n display: flex;\n font-size: 12px;\n min-height: 26px;\n\n :first-child {\n padding: ", ";\n }\n\n :last-child:not(:only-child) {\n padding: 0 8px 0 5px;\n height: 100%;\n width: fit-content;\n }\n\n :last-child:not(:only-child):hover {\n background-color: ", ";\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n cursor: pointer;\n }\n\n svg {\n stroke: white;\n stroke-width: 2px;\n width: 8px;\n }\n\n :hover {\n cursor: pointer;\n }\n }\n"])), function (props) {
42
+ var MultiValueWrapper = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject11 || (_templateObject11 = defaultTheme._taggedTemplateLiteral(["\n && {\n border-radius: 3px;\n margin: 0;\n }\n"])));
43
+ var MultiValue = styled__default['default'](Select.components.MultiValue).attrs(defaultTheme.applyDefaultTheme)(_templateObject12 || (_templateObject12 = defaultTheme._taggedTemplateLiteral(["\n && {\n border-radius: 3px;\n margin: 0;\n\n ", "\n\n ", "\n\n > div {\n align-items: center;\n display: flex;\n font-size: 12px;\n min-height: 26px;\n\n :first-of-type {\n padding: ", ";\n }\n\n :last-child:not(:only-child) {\n padding: 0 8px 0 5px;\n height: 100%;\n width: fit-content;\n }\n\n :last-child:not(:only-child):hover {\n background-color: ", ";\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n cursor: pointer;\n }\n\n svg {\n stroke: white;\n stroke-width: 2px;\n width: 8px;\n }\n\n :hover {\n cursor: pointer;\n }\n }\n"])), function (props) {
40
44
  return props.theme.themeProp('background-color', props.theme.getColor('gray-600'), props.theme.getColor('gray-800'));
41
45
  }, function (props) {
42
46
  return props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-100'));
@@ -45,50 +49,51 @@ var MultiValue = styled__default['default'](Select.components.MultiValue).attrs(
45
49
  }, function (props) {
46
50
  return props.theme.getColor('red-500');
47
51
  });
48
- var MultiValueRemove = styled__default['default'](Select.components.MultiValueRemove).attrs(defaultTheme.applyDefaultTheme)(_templateObject12 || (_templateObject12 = defaultTheme._taggedTemplateLiteral([""])));
49
- var Input = styled__default['default'](Select.components.Input).attrs(defaultTheme.applyDefaultTheme)(_templateObject13 || (_templateObject13 = defaultTheme._taggedTemplateLiteral(["\n align-self: center;\n font-size: ", ";\n min-width: 150px;\n\n ", "\n\n ", "\n }\n"])), function (props) {
52
+ var MultiValueRemove = styled__default['default'](Select.components.MultiValueRemove).attrs(defaultTheme.applyDefaultTheme)(_templateObject13 || (_templateObject13 = defaultTheme._taggedTemplateLiteral([""])));
53
+ var Input = styled__default['default'](Select.components.Input).attrs(defaultTheme.applyDefaultTheme)(_templateObject14 || (_templateObject14 = defaultTheme._taggedTemplateLiteral(["\n align-self: center;\n font-size: ", ";\n min-width: 150px;\n\n ", "\n\n ", "\n }\n"])), function (props) {
50
54
  return props.$focused ? '14px' : '12px';
51
55
  }, function (props) {
52
56
  return props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'));
53
57
  }, function (props) {
54
- return !props.$focused && styled.css(_templateObject14 || (_templateObject14 = defaultTheme._taggedTemplateLiteral(["\n ", "\n\n :before {\n height: 100%;\n white-space: nowrap;\n width: fit-content;\n content: '", "';\n }\n "])), function (props) {
58
+ return !props.$focused && styled.css(_templateObject15 || (_templateObject15 = defaultTheme._taggedTemplateLiteral(["\n ", "\n\n :before {\n height: 100%;\n white-space: nowrap;\n width: fit-content;\n content: '", "';\n }\n "])), function (props) {
55
59
  return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
56
60
  }, function (props) {
57
61
  return props.edittext;
58
62
  });
59
63
  });
60
- var DropdownMenu = styled__default['default'](Select.components.Menu).attrs(defaultTheme.applyDefaultTheme)(_templateObject15 || (_templateObject15 = defaultTheme._taggedTemplateLiteral(["\n font-size: 14px;\n\n ", "\n\n ", "\n"])), function (props) {
64
+ var DropdownMenu = styled__default['default'](Select.components.Menu).attrs(defaultTheme.applyDefaultTheme)(_templateObject16 || (_templateObject16 = defaultTheme._taggedTemplateLiteral(["\n font-size: 14px;\n\n ", "\n\n ", "\n"])), function (props) {
61
65
  return props.theme.themeProp('background-color', props.theme.getColor('gray-600'), props.theme.getColor('white'));
62
66
  }, function (props) {
63
67
  return props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'));
64
68
  });
65
- var sharedOptionStyle = styled.css(_templateObject16 || (_templateObject16 = defaultTheme._taggedTemplateLiteral(["\n ", "\n\n ", "\n\n ", "\n\n :hover {\n cursor: pointer;\n }\n"])), function (props) {
66
- return props.isFocused && styled.css(_templateObject17 || (_templateObject17 = defaultTheme._taggedTemplateLiteral(["\n ", "\n "])), props.theme.themeProp('background-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-200')));
69
+ var sharedOptionStyle = styled.css(_templateObject17 || (_templateObject17 = defaultTheme._taggedTemplateLiteral(["\n ", "\n\n ", "\n\n ", "\n\n :hover {\n cursor: pointer;\n }\n"])), function (props) {
70
+ return props.isFocused && styled.css(_templateObject18 || (_templateObject18 = defaultTheme._taggedTemplateLiteral(["\n ", "\n "])), props.theme.themeProp('background-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-200')));
67
71
  }, function (props) {
68
- return props.isSelected && styled.css(_templateObject18 || (_templateObject18 = defaultTheme._taggedTemplateLiteral(["\n ", "\n\n ", "\n "])), props.theme.themeProp('background-color', 'transparent', 'transparent'), props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-900')));
72
+ return props.isSelected && styled.css(_templateObject19 || (_templateObject19 = defaultTheme._taggedTemplateLiteral(["\n ", "\n\n ", "\n "])), props.theme.themeProp('background-color', 'transparent', 'transparent'), props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-900')));
69
73
  }, function (props) {
70
- return props.isFocused && props.isSelected && styled.css(_templateObject19 || (_templateObject19 = defaultTheme._taggedTemplateLiteral(["\n ", "\n "])), props.theme.themeProp('background-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-200')));
74
+ return props.isFocused && props.isSelected && styled.css(_templateObject20 || (_templateObject20 = defaultTheme._taggedTemplateLiteral(["\n ", "\n "])), props.theme.themeProp('background-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-200')));
71
75
  });
72
- var Option = styled__default['default'](Select.components.Option).attrs(defaultTheme.applyDefaultTheme)(_templateObject20 || (_templateObject20 = defaultTheme._taggedTemplateLiteral(["\n ", "\n"])), sharedOptionStyle);
73
- var SelectedOption$1 = styled__default['default'](Select.components.Option).attrs(defaultTheme.applyDefaultTheme)(_templateObject21 || (_templateObject21 = defaultTheme._taggedTemplateLiteral(["\n ", "\n\n display: flex !important;\n justify-content: space-between;\n"])), sharedOptionStyle);
74
- var DropdownOptionDeleteIcon = styled__default['default'](close.SvgClose).attrs(defaultTheme.applyDefaultTheme)(_templateObject22 || (_templateObject22 = defaultTheme._taggedTemplateLiteral(["\n stroke-width: 1px;\n width: 8px;\n\n ", "\n"])), function (props) {
76
+ var Option = styled__default['default'](Select.components.Option).attrs(defaultTheme.applyDefaultTheme)(_templateObject21 || (_templateObject21 = defaultTheme._taggedTemplateLiteral(["\n ", "\n"])), sharedOptionStyle);
77
+ var SelectedOption$1 = styled__default['default'](Select.components.Option).attrs(defaultTheme.applyDefaultTheme)(_templateObject22 || (_templateObject22 = defaultTheme._taggedTemplateLiteral(["\n ", "\n\n display: flex !important;\n justify-content: space-between;\n"])), sharedOptionStyle);
78
+ var DropdownOptionDeleteIcon = styled__default['default'](close.SvgClose).attrs(defaultTheme.applyDefaultTheme)(_templateObject23 || (_templateObject23 = defaultTheme._taggedTemplateLiteral(["\n stroke-width: 1px;\n width: 8px;\n\n ", "\n"])), function (props) {
75
79
  return props.theme.themeProp('stroke', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'));
76
80
  });
77
- var ShowMoreWrapper = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject23 || (_templateObject23 = defaultTheme._taggedTemplateLiteral(["\n align-items: end;\n display: flex;\n flex-direction: column;\n height: 100%;\n left: 0;\n position: absolute;\n max-height: ", "px;\n top: 0;\n width: 100%;\n\n ", "\n\n :hover {\n cursor: pointer;\n text-decoration: underline;\n }\n"])), showMoreHeight + 16, function (props) {
81
+ var ShowMoreWrapper = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject24 || (_templateObject24 = defaultTheme._taggedTemplateLiteral(["\n align-items: end;\n display: flex;\n flex-direction: column;\n height: 100%;\n left: 0;\n position: absolute;\n max-height: ", "px;\n top: 0;\n width: 100%;\n\n ", "\n\n :hover {\n cursor: pointer;\n text-decoration: underline;\n }\n"])), showMoreHeight + 16, function (props) {
78
82
  return props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('emerald-500'));
79
83
  });
80
- var ShowMoreOverlay = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject24 || (_templateObject24 = defaultTheme._taggedTemplateLiteral(["\n align-items: end;\n display: block;\n height: 100%;\n max-height: ", "px;\n left: 0;\n top: 0;\n width: 100%;\n\n ", "\n"])), showMoreHeight, function (props) {
84
+ var ShowMoreOverlay = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject25 || (_templateObject25 = defaultTheme._taggedTemplateLiteral(["\n align-items: end;\n display: block;\n height: 100%;\n max-height: ", "px;\n left: 0;\n top: 0;\n width: 100%;\n\n ", "\n"])), showMoreHeight, function (props) {
81
85
  return props.theme.themeProp('background', 'transparent linear-gradient(180deg, #12121200 0%, #12121230 40%, #12121279 70%, #121212 95%, #121212 100%) 0% 0% no-repeat padding-box', 'transparent linear-gradient(180deg, #fefefe00 0%, #fefefe30 40%, #fefefe79 70%, #fefefe 95%, #fefefe 100%) 0% 0% no-repeat padding-box');
82
86
  });
83
- var ShowMoreText = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject25 || (_templateObject25 = defaultTheme._taggedTemplateLiteral(["\n font-size: 0.875rem;\n width: 100%;\n ", "\n"])), function (props) {
87
+ var ShowMoreText = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject26 || (_templateObject26 = defaultTheme._taggedTemplateLiteral(["\n font-size: 0.875rem;\n width: 100%;\n ", "\n"])), function (props) {
84
88
  return props.theme.themeProp('background-color', '#121212', '#fefefe');
85
89
  });
86
- var ErrorMessage = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject26 || (_templateObject26 = defaultTheme._taggedTemplateLiteral(["\n color: ", ";\n font-size: 0.75rem;\n margin-top: 8px;\n padding: 0 12px;\n"])), function (props) {
90
+ var ErrorMessage = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject27 || (_templateObject27 = defaultTheme._taggedTemplateLiteral(["\n color: ", ";\n font-size: 0.75rem;\n margin-top: 8px;\n padding: 0 12px;\n"])), function (props) {
87
91
  return props.error ? props.theme.getColor('red-500') : props.warning ? props.theme.getColor('orange-500') : 'inherit';
88
92
  });
89
93
 
90
94
  var MultiSelect = React__default['default'].forwardRef(function MultiSelect(_ref, forwardedRef) {
91
- var selectedOptions = _ref.selectedOptions,
95
+ var label = _ref.label,
96
+ selectedOptions = _ref.selectedOptions,
92
97
  availableOptions = _ref.availableOptions,
93
98
  loadOptions = _ref.loadOptions,
94
99
  loadingMessageFunc = _ref.loadingMessageFunc,
@@ -102,30 +107,39 @@ var MultiSelect = React__default['default'].forwardRef(function MultiSelect(_ref
102
107
  displayTotalOnShowMore = _ref.displayTotalOnShowMore,
103
108
  creatable = _ref.creatable,
104
109
  readOnly = _ref.readOnly,
110
+ hidden = _ref.hidden,
105
111
  disabled = _ref.disabled,
106
112
  error = _ref.error,
107
113
  warning = _ref.warning,
108
- props = defaultTheme._objectWithoutProperties(_ref, ["selectedOptions", "availableOptions", "loadOptions", "loadingMessageFunc", "onUpdateCallback", "editText", "createNewOptionMessageFunc", "noOptionsMessageFunc", "onMultiValueClick", "showMore", "showMoreText", "displayTotalOnShowMore", "creatable", "readOnly", "disabled", "error", "warning"]);
114
+ props = defaultTheme._objectWithoutProperties(_ref, ["label", "selectedOptions", "availableOptions", "loadOptions", "loadingMessageFunc", "onUpdateCallback", "editText", "createNewOptionMessageFunc", "noOptionsMessageFunc", "onMultiValueClick", "showMore", "showMoreText", "displayTotalOnShowMore", "creatable", "readOnly", "hidden", "disabled", "error", "warning"]);
109
115
 
110
- var _useState = React.useState(selectedOptions),
111
- _useState2 = defaultTheme._slicedToArray(_useState, 2),
112
- selected = _useState2[0],
113
- setSelected = _useState2[1];
116
+ var _useState = React.useState(nanoid.nanoid()),
117
+ _useState2 = defaultTheme._slicedToArray(_useState, 1),
118
+ uniqueId = _useState2[0];
114
119
 
115
- var _useState3 = React.useState(false),
120
+ var _useState3 = React.useState(selectedOptions),
116
121
  _useState4 = defaultTheme._slicedToArray(_useState3, 2),
117
- focused = _useState4[0],
118
- setFocused = _useState4[1];
122
+ selected = _useState4[0],
123
+ setSelected = _useState4[1];
119
124
 
120
- var _useState5 = React.useState(error || warning ? false : showMore),
125
+ var _useState5 = React.useState(false),
121
126
  _useState6 = defaultTheme._slicedToArray(_useState5, 2),
122
- displayShowMore = _useState6[0],
123
- setDisplayShowMore = _useState6[1];
127
+ focused = _useState6[0],
128
+ setFocused = _useState6[1];
124
129
 
125
- var _useState7 = React.useState(0),
130
+ var _useState7 = React.useState(error || warning ? false : showMore),
126
131
  _useState8 = defaultTheme._slicedToArray(_useState7, 2),
127
- cacheUnique = _useState8[0],
128
- setCacheUnique = _useState8[1];
132
+ displayShowMore = _useState8[0],
133
+ setDisplayShowMore = _useState8[1];
134
+
135
+ var _useState9 = React.useState(0),
136
+ _useState10 = defaultTheme._slicedToArray(_useState9, 2),
137
+ cacheUnique = _useState10[0],
138
+ setCacheUnique = _useState10[1];
139
+
140
+ React.useEffect(function () {
141
+ setSelected(selectedOptions);
142
+ }, [selectedOptions]);
129
143
 
130
144
  var handleShowMoreClick = function handleShowMoreClick() {
131
145
  setDisplayShowMore(false);
@@ -144,12 +158,14 @@ var MultiSelect = React__default['default'].forwardRef(function MultiSelect(_ref
144
158
  }, []);
145
159
  var ValueContainer$1 = React.useMemo(function () {
146
160
  var ValueContainerWrapper = function ValueContainerWrapper(innerProps) {
147
- return React__default['default'].createElement(ValueContainer, defaultTheme._extends({
161
+ return React__default['default'].createElement(React__default['default'].Fragment, null, label && React__default['default'].createElement(Label, {
162
+ htmlFor: uniqueId
163
+ }, label), React__default['default'].createElement(ValueContainer, defaultTheme._extends({
148
164
  showMore: displayShowMore,
149
165
  error: error,
150
166
  warning: warning,
151
167
  className: "multi-select-values-container"
152
- }, innerProps));
168
+ }, innerProps)));
153
169
  };
154
170
 
155
171
  ValueContainerWrapper.displayName = 'ValueContainerWrapper';
@@ -287,6 +303,7 @@ var MultiSelect = React__default['default'].forwardRef(function MultiSelect(_ref
287
303
  }
288
304
  }
289
305
  };
306
+ if (hidden) return null;
290
307
  return React__default['default'].createElement(MultiSelectWrapper, {
291
308
  error: error,
292
309
  warning: warning
@@ -298,6 +315,7 @@ var MultiSelect = React__default['default'].forwardRef(function MultiSelect(_ref
298
315
  }, error ? error : warning));
299
316
  });
300
317
  MultiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
318
+ label: defaultTheme.PropTypes.string,
301
319
  availableOptions: defaultTheme.PropTypes.arrayOf(defaultTheme.PropTypes.object),
302
320
  selectedOptions: defaultTheme.PropTypes.arrayOf(defaultTheme.PropTypes.object),
303
321
  loadOptions: defaultTheme.PropTypes.func,
@@ -312,6 +330,7 @@ MultiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
312
330
  showMoreText: defaultTheme.PropTypes.string,
313
331
  displayTotalOnShowMore: defaultTheme.PropTypes.bool,
314
332
  readOnly: defaultTheme.PropTypes.bool,
333
+ hidden: defaultTheme.PropTypes.bool,
315
334
  disabled: defaultTheme.PropTypes.bool,
316
335
  error: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
317
336
  warning: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string])
@@ -331,7 +350,8 @@ MultiSelect.defaultProps = {
331
350
  creatable: false,
332
351
  error: false,
333
352
  warning: false,
334
- showMoreText: 'Show more'
353
+ showMoreText: 'Show more',
354
+ hidden: false
335
355
  };
336
356
 
337
357
  var _MultiValueRemove = function _MultiValueRemove(innerProps) {