@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
@@ -0,0 +1,357 @@
1
+ 'use strict';
2
+
3
+ var defaultTheme = require('./defaultTheme-870f7df1.js');
4
+ var React = require('react');
5
+ var styled = require('styled-components');
6
+ var close = require('./close-ebf2f3cf.js');
7
+ var Select = require('react-select');
8
+ var reactSelectCreatable_esm = require('./react-select-creatable.esm-efe1e1ae.js');
9
+ var reactSelectAsyncPaginate = require('react-select-async-paginate');
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
+ var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
16
+
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 AsyncCreatableSelectPaginate = reactSelectAsyncPaginate.withAsyncPaginate(reactSelectCreatable_esm.CreatableSelect$1);
19
+ var showMoreHeight = 114;
20
+ 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
+ return props.theme.primaryFontFamily;
22
+ });
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) {
29
+ return !props.isDisabled && props.focused || props.readOnly ? 'default' : 'pointer';
30
+ });
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) {
32
+ return props.showMore ? props.error || props.warning ? '100%' : showMoreHeight + 16 + 'px' : '100%';
33
+ }, 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) {
35
+ return props.error ? props.theme.getColor('red-500') : props.warning ? props.theme.getColor('orange-500') : 'inherit';
36
+ });
37
+ });
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) {
40
+ return props.theme.themeProp('background-color', props.theme.getColor('gray-600'), props.theme.getColor('gray-800'));
41
+ }, function (props) {
42
+ return props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-100'));
43
+ }, function (props) {
44
+ return props.isDisabled || props.readOnly ? '0 8px' : '0 3px 0 8px';
45
+ }, function (props) {
46
+ return props.theme.getColor('red-500');
47
+ });
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) {
50
+ return props.$focused ? '14px' : '12px';
51
+ }, function (props) {
52
+ return props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'));
53
+ }, 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) {
55
+ return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
56
+ }, function (props) {
57
+ return props.edittext;
58
+ });
59
+ });
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) {
61
+ return props.theme.themeProp('background-color', props.theme.getColor('gray-600'), props.theme.getColor('white'));
62
+ }, function (props) {
63
+ return props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'));
64
+ });
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')));
67
+ }, 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')));
69
+ }, 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')));
71
+ });
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) {
75
+ return props.theme.themeProp('stroke', props.theme.getColor('gray-100'), props.theme.getColor('gray-900'));
76
+ });
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) {
78
+ return props.theme.themeProp('color', props.theme.getColor('gray-100'), props.theme.getColor('emerald-500'));
79
+ });
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) {
81
+ 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
+ });
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) {
84
+ return props.theme.themeProp('background-color', '#121212', '#fefefe');
85
+ });
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) {
87
+ return props.error ? props.theme.getColor('red-500') : props.warning ? props.theme.getColor('orange-500') : 'inherit';
88
+ });
89
+
90
+ var MultiSelect = React__default['default'].forwardRef(function MultiSelect(_ref, forwardedRef) {
91
+ var selectedOptions = _ref.selectedOptions,
92
+ availableOptions = _ref.availableOptions,
93
+ loadOptions = _ref.loadOptions,
94
+ loadingMessageFunc = _ref.loadingMessageFunc,
95
+ onUpdateCallback = _ref.onUpdateCallback,
96
+ editText = _ref.editText,
97
+ createNewOptionMessageFunc = _ref.createNewOptionMessageFunc,
98
+ noOptionsMessageFunc = _ref.noOptionsMessageFunc,
99
+ onMultiValueClick = _ref.onMultiValueClick,
100
+ showMore = _ref.showMore,
101
+ showMoreText = _ref.showMoreText,
102
+ displayTotalOnShowMore = _ref.displayTotalOnShowMore,
103
+ creatable = _ref.creatable,
104
+ readOnly = _ref.readOnly,
105
+ disabled = _ref.disabled,
106
+ error = _ref.error,
107
+ 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"]);
109
+
110
+ var _useState = React.useState(selectedOptions),
111
+ _useState2 = defaultTheme._slicedToArray(_useState, 2),
112
+ selected = _useState2[0],
113
+ setSelected = _useState2[1];
114
+
115
+ var _useState3 = React.useState(false),
116
+ _useState4 = defaultTheme._slicedToArray(_useState3, 2),
117
+ focused = _useState4[0],
118
+ setFocused = _useState4[1];
119
+
120
+ var _useState5 = React.useState(error || warning ? false : showMore),
121
+ _useState6 = defaultTheme._slicedToArray(_useState5, 2),
122
+ displayShowMore = _useState6[0],
123
+ setDisplayShowMore = _useState6[1];
124
+
125
+ var _useState7 = React.useState(0),
126
+ _useState8 = defaultTheme._slicedToArray(_useState7, 2),
127
+ cacheUnique = _useState8[0],
128
+ setCacheUnique = _useState8[1];
129
+
130
+ var handleShowMoreClick = function handleShowMoreClick() {
131
+ setDisplayShowMore(false);
132
+ };
133
+
134
+ var Control$1 = React.useMemo(function () {
135
+ var ControlWrapper = function ControlWrapper(innerProps) {
136
+ return React__default['default'].createElement(Control, defaultTheme._extends({
137
+ className: "multi-select-control",
138
+ readOnly: readOnly
139
+ }, innerProps));
140
+ };
141
+
142
+ ControlWrapper.displayName = 'ControlWrapper';
143
+ return ControlWrapper;
144
+ }, []);
145
+ var ValueContainer$1 = React.useMemo(function () {
146
+ var ValueContainerWrapper = function ValueContainerWrapper(innerProps) {
147
+ return React__default['default'].createElement(ValueContainer, defaultTheme._extends({
148
+ showMore: displayShowMore,
149
+ error: error,
150
+ warning: warning,
151
+ className: "multi-select-values-container"
152
+ }, innerProps));
153
+ };
154
+
155
+ ValueContainerWrapper.displayName = 'ValueContainerWrapper';
156
+ return ValueContainerWrapper;
157
+ }, [displayShowMore, error, warning]);
158
+
159
+ var MultiValue$1 = function MultiValue$1(innerProps) {
160
+ return React__default['default'].createElement(MultiValueWrapper, {
161
+ className: "multi-value-wrapper",
162
+ onMouseDown: function onMouseDown(e) {
163
+ e.stopPropagation();
164
+
165
+ if (onMultiValueClick && innerProps.data && !(e.target.role === 'button' || e.target instanceof SVGElement)) {
166
+ onMultiValueClick(innerProps.data);
167
+ }
168
+ }
169
+ }, React__default['default'].createElement(MultiValue, defaultTheme._extends({
170
+ className: "multi-value",
171
+ readOnly: readOnly
172
+ }, innerProps)));
173
+ };
174
+
175
+ var Input$1 = React.useMemo(function () {
176
+ var InputWrapper = function InputWrapper(innerProps) {
177
+ return React__default['default'].createElement(Input, defaultTheme._extends({
178
+ className: "multi-select-input",
179
+ $focused: focused,
180
+ edittext: editText
181
+ }, innerProps, {
182
+ isDisabled: readOnly || disabled
183
+ }));
184
+ };
185
+
186
+ InputWrapper.displayName = 'InputWrapper';
187
+ return InputWrapper;
188
+ }, [focused]);
189
+ var innerComponents = {
190
+ DropdownIndicator: null,
191
+ Control: Control$1,
192
+ MultiValue: MultiValue$1,
193
+ MultiValueRemove: function MultiValueRemove(innerProps) {
194
+ return readOnly || disabled ? false : _MultiValueRemove(innerProps);
195
+ },
196
+ ValueContainer: ValueContainer$1,
197
+ Input: Input$1,
198
+ Menu: Menu,
199
+ Option: function Option(innerProps) {
200
+ return innerProps.isSelected ? SelectedOption(innerProps) : _Option(innerProps);
201
+ }
202
+ };
203
+ var sharedSelectProps = {
204
+ ref: forwardedRef,
205
+ value: selected,
206
+ options: loadOptions ? undefined : availableOptions,
207
+ loadOptions: loadOptions,
208
+ loadingMessage: loadingMessageFunc,
209
+ editText: editText,
210
+ formatCreateLabel: createNewOptionMessageFunc,
211
+ showMore: displayShowMore,
212
+ readOnly: readOnly,
213
+ isDisabled: disabled,
214
+ components: innerComponents,
215
+ focused: focused,
216
+ isMulti: true,
217
+ isClearable: false,
218
+ placeholder: null,
219
+ closeMenuOnSelect: false,
220
+ hideSelectedOptions: false,
221
+ cacheUniqs: loadOptions ? [cacheUnique] : undefined,
222
+ onFocus: function onFocus() {
223
+ return setFocused(true);
224
+ },
225
+ onBlur: function onBlur() {
226
+ return setFocused(false);
227
+ },
228
+ noOptionsMessage: function noOptionsMessage(input) {
229
+ return noOptionsMessageFunc(input.inputValue);
230
+ },
231
+ onChange: function onChange(selectedOptions, actionMeta) {
232
+ switch (actionMeta.action) {
233
+ case 'create-option':
234
+ if (onUpdateCallback) {
235
+ onUpdateCallback(actionMeta.action, actionMeta.option);
236
+ }
237
+
238
+ if (loadOptions) {
239
+ setCacheUnique(cacheUnique + 1);
240
+ }
241
+
242
+ setSelected(selectedOptions);
243
+ break;
244
+
245
+ case 'select-option':
246
+ if (onUpdateCallback) {
247
+ onUpdateCallback(actionMeta.action, actionMeta.option);
248
+ }
249
+
250
+ setSelected(selectedOptions);
251
+ break;
252
+
253
+ case 'remove-value':
254
+ if (onUpdateCallback) {
255
+ onUpdateCallback(actionMeta.action, actionMeta.removedValue);
256
+ }
257
+
258
+ setSelected(selectedOptions);
259
+ break;
260
+
261
+ case 'pop-value':
262
+ if (onUpdateCallback) {
263
+ onUpdateCallback(actionMeta.action, actionMeta.removedValue);
264
+ }
265
+
266
+ setSelected(selectedOptions);
267
+ break;
268
+
269
+ case 'deselect-option':
270
+ if (onUpdateCallback) {
271
+ onUpdateCallback(actionMeta.action, actionMeta.option);
272
+ }
273
+
274
+ setSelected(selectedOptions);
275
+ break;
276
+
277
+ case 'clear':
278
+ break;
279
+
280
+ default:
281
+ if (onUpdateCallback) {
282
+ onUpdateCallback(actionMeta.action, actionMeta.option);
283
+ }
284
+
285
+ setSelected(selectedOptions);
286
+ break;
287
+ }
288
+ }
289
+ };
290
+ return React__default['default'].createElement(MultiSelectWrapper, {
291
+ error: error,
292
+ warning: warning
293
+ }, loadOptions ? creatable ? React__default['default'].createElement(AsyncCreatableMultiSelect, defaultTheme._extends({}, sharedSelectProps, props)) : React__default['default'].createElement(AsyncMultiSelect, defaultTheme._extends({}, sharedSelectProps, props)) : creatable ? React__default['default'].createElement(CreatableMultiSelect, defaultTheme._extends({}, sharedSelectProps, props)) : React__default['default'].createElement(MultiSelect$1, defaultTheme._extends({}, sharedSelectProps, props)), displayShowMore && !(error || warning) && React__default['default'].createElement(ShowMoreWrapper, {
294
+ onClick: handleShowMoreClick
295
+ }, React__default['default'].createElement(ShowMoreOverlay, null), React__default['default'].createElement(ShowMoreText, null, showMoreText, " ", displayTotalOnShowMore && '(' + selected.length + ')')), (typeof error === 'string' || typeof warning === 'string') && React__default['default'].createElement(ErrorMessage, {
296
+ error: error,
297
+ warning: warning
298
+ }, error ? error : warning));
299
+ });
300
+ MultiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
301
+ availableOptions: defaultTheme.PropTypes.arrayOf(defaultTheme.PropTypes.object),
302
+ selectedOptions: defaultTheme.PropTypes.arrayOf(defaultTheme.PropTypes.object),
303
+ loadOptions: defaultTheme.PropTypes.func,
304
+ loadingMessageFunc: defaultTheme.PropTypes.func,
305
+ onUpdateCallback: defaultTheme.PropTypes.func,
306
+ editText: defaultTheme.PropTypes.string.isRequired,
307
+ creatable: defaultTheme.PropTypes.bool,
308
+ createNewOptionMessageFunc: defaultTheme.PropTypes.func,
309
+ noOptionsMessageFunc: defaultTheme.PropTypes.func,
310
+ onMultiValueClick: defaultTheme.PropTypes.func,
311
+ showMore: defaultTheme.PropTypes.bool,
312
+ showMoreText: defaultTheme.PropTypes.string,
313
+ displayTotalOnShowMore: defaultTheme.PropTypes.bool,
314
+ readOnly: defaultTheme.PropTypes.bool,
315
+ disabled: defaultTheme.PropTypes.bool,
316
+ error: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string]),
317
+ warning: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.bool, defaultTheme.PropTypes.string])
318
+ } : {};
319
+ MultiSelect.defaultProps = {
320
+ noOptionsMessageFunc: function noOptionsMessageFunc(inputValue) {
321
+ if (inputValue) {
322
+ return "No matches for \"".concat(inputValue, "\"");
323
+ } else {
324
+ return 'No available options';
325
+ }
326
+ },
327
+ showMore: false,
328
+ displayTotalOnShowMore: true,
329
+ readOnly: false,
330
+ disabled: false,
331
+ creatable: false,
332
+ error: false,
333
+ warning: false,
334
+ showMoreText: 'Show more'
335
+ };
336
+
337
+ var _MultiValueRemove = function _MultiValueRemove(innerProps) {
338
+ return React__default['default'].createElement(MultiValueRemove, innerProps, React__default['default'].createElement(close.SvgClose, {
339
+ className: "multi-value-remove-icon"
340
+ }));
341
+ };
342
+
343
+ var Menu = function Menu(innerProps) {
344
+ return React__default['default'].createElement(DropdownMenu, innerProps);
345
+ };
346
+
347
+ var _Option = function _Option(innerProps) {
348
+ return React__default['default'].createElement(Option, defaultTheme._extends({
349
+ className: "multi-select-dropdown-item"
350
+ }, innerProps));
351
+ };
352
+
353
+ var SelectedOption = function SelectedOption(innerProps) {
354
+ return React__default['default'].createElement(SelectedOption$1, innerProps, innerProps.label, React__default['default'].createElement(DropdownOptionDeleteIcon, null));
355
+ };
356
+
357
+ exports.MultiSelect = MultiSelect;
@@ -19,15 +19,23 @@ defaultTheme.styleInject(css_248z$1);
19
19
  var css_248z = ".tippy-box[data-animation=shift-away-subtle][data-state=hidden]{opacity:0}.tippy-box[data-animation=shift-away-subtle][data-state=hidden][data-placement^=top]{transform:translateY(5px)}.tippy-box[data-animation=shift-away-subtle][data-state=hidden][data-placement^=bottom]{transform:translateY(-5px)}.tippy-box[data-animation=shift-away-subtle][data-state=hidden][data-placement^=left]{transform:translateX(5px)}.tippy-box[data-animation=shift-away-subtle][data-state=hidden][data-placement^=right]{transform:translateX(-5px)}";
20
20
  defaultTheme.styleInject(css_248z);
21
21
 
22
- var _templateObject;
23
- var Popover$1 = styled__default['default'](TippyTooltip__default['default']).attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n font-family: ", ";\n font-size: 1rem;\n font-weight: 400;\n color: inherit;\n border-radius: 0;\n ", "\n ", "\n line-height: inherit;\n\n ", "\n .tippy-content {\n padding: 0;\n }\n\n .tippy-arrow {\n ", "\n }\n\n && > .tippy-arrow::before {\n position: absolute;\n border-color: transparent;\n border-style: solid;\n }\n\n & > .tippy-arrow::after {\n content: '';\n position: absolute;\n border-color: transparent;\n border-style: solid;\n }\n\n &[data-placement^='top'] {\n & > .tippy-arrow:before {\n bottom: -16px;\n left: -5px;\n border-width: 15px 13px 0;\n ", "\n }\n\n & > .tippy-arrow:after {\n bottom: -15px;\n left: -5px;\n border-width: 15px 13px 0;\n border-top-color: initial;\n transform-origin: center top;\n }\n }\n\n &[data-placement^='right'] {\n & > .tippy-arrow:before {\n bottom: -5px;\n left: -16px;\n border-width: 13px 15px 13px 0;\n ", "\n }\n\n & > .tippy-arrow:after {\n bottom: -5px;\n left: -15px;\n border-width: 13px 15px 13px 0;\n border-right-color: initial;\n transform-origin: center top;\n }\n }\n\n &[data-placement^='bottom'] {\n & > .tippy-arrow:before {\n top: -16px;\n left: -5px;\n border-width: 0 13px 15px 13px;\n ", "\n }\n\n & > .tippy-arrow:after {\n top: -15px;\n left: -5px;\n border-width: 0 13px 15px 13px;\n border-bottom-color: initial;\n transform-origin: center top;\n }\n }\n\n &[data-placement^='left'] {\n & > .tippy-arrow::before {\n bottom: -5px;\n right: -16px;\n border-width: 13px 0 13px 15px;\n ", "\n }\n\n & > .tippy-arrow::after {\n bottom: -5px;\n right: -15px;\n border-width: 13px 0 13px 15px;\n border-left-color: initial;\n transform-origin: center top;\n }\n }\n"])), function (props) {
22
+ var _templateObject, _templateObject2, _templateObject3;
23
+ var Popover$1 = styled__default['default'](TippyTooltip__default['default']).attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n font-family: ", ";\n font-size: 1rem;\n font-weight: 400;\n color: inherit;\n border-radius: 0;\n line-height: inherit;\n\n ", "\n\n ", "\n\n ", "\n\n ", "\n\n ", "\n\n .tippy-content {\n padding: 0;\n }\n\n .tippy-arrow {\n ", "\n }\n\n && > .tippy-arrow::before {\n position: absolute;\n border-color: transparent;\n border-style: solid;\n }\n\n & > .tippy-arrow::after {\n content: '';\n position: absolute;\n border-color: transparent;\n border-style: solid;\n }\n\n &[data-placement^='top'] {\n & > .tippy-arrow:before {\n bottom: -16px;\n left: -5px;\n border-width: 15px 13px 0;\n ", "\n }\n\n & > .tippy-arrow:after {\n bottom: -15px;\n left: -5px;\n border-width: 15px 13px 0;\n border-top-color: initial;\n transform-origin: center top;\n }\n }\n\n &[data-placement^='right'] {\n & > .tippy-arrow:before {\n bottom: -5px;\n left: -16px;\n border-width: 13px 15px 13px 0;\n ", "\n }\n\n & > .tippy-arrow:after {\n bottom: -5px;\n left: -15px;\n border-width: 13px 15px 13px 0;\n border-right-color: initial;\n transform-origin: center top;\n }\n }\n\n &[data-placement^='bottom'] {\n & > .tippy-arrow:before {\n top: -16px;\n left: -5px;\n border-width: 0 13px 15px 13px;\n ", "\n }\n\n & > .tippy-arrow:after {\n top: -15px;\n left: -5px;\n border-width: 0 13px 15px 13px;\n border-bottom-color: initial;\n transform-origin: center top;\n }\n }\n\n &[data-placement^='left'] {\n & > .tippy-arrow::before {\n bottom: -5px;\n right: -16px;\n border-width: 13px 0 13px 15px;\n ", "\n }\n\n & > .tippy-arrow::after {\n bottom: -5px;\n right: -15px;\n border-width: 13px 0 13px 15px;\n border-left-color: initial;\n transform-origin: center top;\n }\n }\n"])), function (props) {
24
24
  return props.theme.primaryFontFamily;
25
25
  }, function (props) {
26
26
  return props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('white'));
27
27
  }, function (props) {
28
- return props.theme.themeProp('box-shadow', "0px 1px 6px -3px ".concat(polished.rgba(props.theme.getColor('black'), 0.7)), "0 1px 6px -4px ".concat(props.theme.getColor('black')));
28
+ return props.theme.themeProp('box-shadow', "0px 1px 6px -3px ".concat(polished.rgba(props.theme.getColor('black'), 0.7)), "0 1px 6px -4px ".concat(props.theme.getColor('black')));
29
29
  }, function (props) {
30
30
  return props.theme.themeProp('border', "1px solid ".concat(props.theme.getColor('gray-800')), "1px solid ".concat(props.theme.getColor('gray-300')));
31
+ }, function (props) {
32
+ return props.contextMenu && styled.css(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n border-radius: 4px;\n\n ", "\n\n ", "\n "])), function (props) {
33
+ return props.theme.themeProp('border', 'none', 'none');
34
+ }, function (props) {
35
+ return props.theme.themeProp('box-shadow', "none", "0 1px 6px ".concat(polished.rgba(props.theme.getColor('gray-900'), 0.3)));
36
+ });
37
+ }, function (props) {
38
+ return props.contextMenuSublevel && styled.css(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n &[data-placement^='right-start'],\n &[data-placement^='left-start'] {\n margin-top: -4px;\n }\n\n &[data-placement^='left'] {\n margin-right: -6px;\n }\n\n &[data-placement^='right'] {\n margin-left: -6px;\n }\n "])));
31
39
  }, function (props) {
32
40
  return props.theme.themeProp('color', props.theme.getColor('gray-700'), props.theme.getColor('white'));
33
41
  }, function (props) {
@@ -49,8 +57,10 @@ var Popover = React__default['default'].forwardRef(function Popover(_ref, ref) {
49
57
  offset = _ref.offset,
50
58
  arrow = _ref.arrow,
51
59
  visible = _ref.visible,
60
+ contextMenu = _ref.contextMenu,
61
+ contextMenuSublevel = _ref.contextMenuSublevel,
52
62
  children = _ref.children,
53
- props = defaultTheme._objectWithoutProperties(_ref, ["content", "interactive", "placement", "duration", "trigger", "offset", "arrow", "visible", "children"]);
63
+ props = defaultTheme._objectWithoutProperties(_ref, ["content", "interactive", "placement", "duration", "trigger", "offset", "arrow", "visible", "contextMenu", "contextMenuSublevel", "children"]);
54
64
 
55
65
  var errorOffset = React.useMemo(function () {
56
66
  return arrow ? 15 : 0;
@@ -58,17 +68,33 @@ var Popover = React__default['default'].forwardRef(function Popover(_ref, ref) {
58
68
  var isControlled = React.useMemo(function () {
59
69
  return lodash.isBoolean(visible);
60
70
  }, [visible]);
71
+
72
+ var handleContextMenuItemClick = function handleContextMenuItemClick() {
73
+ document.querySelectorAll('.context-menu-item:not(.opens-sublevel)').forEach(function (item) {
74
+ return item.addEventListener('click', function () {
75
+ document.querySelectorAll('[data-tippy-root]').forEach(function (node) {
76
+ if (node._tippy) {
77
+ node._tippy.hide();
78
+ }
79
+ });
80
+ });
81
+ });
82
+ };
83
+
61
84
  return React__default['default'].createElement(Popover$1, defaultTheme._extends({
62
85
  ref: ref,
63
86
  content: content,
64
87
  interactive: interactive,
65
- placement: placement,
88
+ placement: contextMenuSublevel ? 'right-start' : placement,
66
89
  duration: duration,
67
90
  animation: 'shift-away-subtle',
68
- trigger: isControlled ? undefined : trigger,
91
+ trigger: isControlled ? undefined : contextMenuSublevel ? 'mouseenter click focus' : trigger,
69
92
  offset: [offset[0], offset[1] + errorOffset],
70
- arrow: arrow,
71
- visible: visible
93
+ arrow: contextMenu ? false : arrow,
94
+ visible: visible,
95
+ contextMenu: contextMenu,
96
+ contextMenuSublevel: contextMenuSublevel,
97
+ onShown: contextMenu ? handleContextMenuItemClick : undefined
72
98
  }, props), children);
73
99
  });
74
100
  Popover.propTypes = process.env.NODE_ENV !== "production" ? {
@@ -80,6 +106,8 @@ Popover.propTypes = process.env.NODE_ENV !== "production" ? {
80
106
  offset: defaultTheme.PropTypes.arrayOf(defaultTheme.PropTypes.number),
81
107
  arrow: defaultTheme.PropTypes.bool,
82
108
  visible: defaultTheme.PropTypes.bool,
109
+ contextMenu: defaultTheme.PropTypes.bool,
110
+ contextMenuSublevel: defaultTheme.PropTypes.bool,
83
111
  children: defaultTheme.PropTypes.node.isRequired
84
112
  } : {};
85
113
  Popover.defaultProps = {
@@ -91,7 +119,9 @@ Popover.defaultProps = {
91
119
  maxWidth: 'none',
92
120
  trigger: 'click focus',
93
121
  arrow: true,
94
- visible: undefined
122
+ visible: undefined,
123
+ contextMenu: false,
124
+ contextMenuSublevel: false
95
125
  };
96
126
 
97
127
  exports.Popover = Popover;
@@ -0,0 +1,30 @@
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;
13
+ var Tab$1 = styled__default['default'].p.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n font-family: ", ";\n font-size: 1rem;\n font-weight: 500;\n border-bottom: 1px solid;\n min-height: 35px;\n\n"])), function (props) {
14
+ return props.theme.primaryFontFamily;
15
+ });
16
+
17
+ var Tab = React__default['default'].forwardRef(function Tab(_ref, forwardedRef) {
18
+ var children = _ref.children,
19
+ props = defaultTheme._objectWithoutProperties(_ref, ["children"]);
20
+
21
+ return React__default['default'].createElement(Tab$1, defaultTheme._extends({
22
+ ref: forwardedRef
23
+ }, props), children);
24
+ });
25
+ Tab.propTypes = process.env.NODE_ENV !== "production" ? {
26
+ children: defaultTheme.PropTypes.element
27
+ } : {};
28
+ Tab.defaultProps = {};
29
+
30
+ exports.Tab = Tab;
@@ -0,0 +1,99 @@
1
+ 'use strict';
2
+
3
+ var defaultTheme = require('./defaultTheme-870f7df1.js');
4
+ var React = require('react');
5
+ var styled = require('styled-components');
6
+ var Tab = require('./Tab-06b7a58d.js');
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;
15
+ var Tabs$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral([""])));
16
+ var TabHeaders = styled__default['default'].ul.attrs(defaultTheme.applyDefaultTheme)(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n display: flex;\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n gap: 24px;\n margin: 0;\n padding: 0;\n\n"])));
17
+ var TabHeader = styled__default['default'].li.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n font-family: ", ";\n text-transform: uppercase;\n font-weight: 600;\n font-size: 0.875rem;\n display: flex;\n padding-bottom: 8px;\n letter-spacing: 0.6px;\n cursor: pointer;\n border-bottom: 1px solid;\n border-color: transparent;\n margin-bottom: 1px;\n ", ";\n &&:hover:not(:focus) {\n ", ";\n"])), function (props) {
18
+ return props.theme.secondaryFontFamily;
19
+ }, function (props) {
20
+ return props.active && styled.css(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n ", "\n "])), function (props) {
21
+ return props.theme.themeProp('border-color', props.theme.getColor('gray-400'), props.theme.getColor('gray-700'));
22
+ });
23
+ }, function (props) {
24
+ return props.theme.themeProp('border-color', function () {
25
+ if (props.active) {
26
+ return props.theme.getColor('gray-400');
27
+ } else {
28
+ return props.theme.getColor('gray-400');
29
+ }
30
+ }, function () {
31
+ if (props.active) {
32
+ return props.theme.getColor('gray-700');
33
+ } else {
34
+ return props.theme.getColor('gray-700');
35
+ }
36
+ });
37
+ });
38
+ var TabContent = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n padding-top: 16px;\n border-top: 1px solid;\n margin-top: -2px;\n ", ";\n"])), function (props) {
39
+ return props.theme.themeProp('border-color', props.theme.getColor('gray-600'), '#F0F2F5');
40
+ });
41
+
42
+ var Tabs = React__default['default'].forwardRef(function Tabs(_ref, forwardedRef) {
43
+ var children = _ref.children,
44
+ props = defaultTheme._objectWithoutProperties(_ref, ["children"]);
45
+
46
+ var _useState = React.useState(0),
47
+ _useState2 = defaultTheme._slicedToArray(_useState, 2),
48
+ activeTab = _useState2[0],
49
+ setActiveTab = _useState2[1];
50
+
51
+ var tabs = React.useMemo(function () {
52
+ var tabs = [];
53
+
54
+ function extractChildren(children) {
55
+ React.Children.forEach(children, function (child, index) {
56
+ if (child.type === React.Fragment) {
57
+ extractChildren(child.props.children);
58
+ }
59
+
60
+ if (child.type === Tab.Tab && !lodash.isEmpty(child.props.trigger)) {
61
+ tabs.push({
62
+ key: index,
63
+ trigger: child.props.trigger,
64
+ content: child.props.children
65
+ });
66
+ }
67
+ });
68
+ }
69
+
70
+ extractChildren(children);
71
+ return tabs;
72
+ }, [children]);
73
+ return React__default['default'].createElement(Tabs$1, defaultTheme._extends({
74
+ ref: forwardedRef
75
+ }, props, {
76
+ role: "tablist"
77
+ }), React__default['default'].createElement(TabHeaders, null, tabs.map(function (tab) {
78
+ return React__default['default'].createElement(TabHeader, {
79
+ key: tab.key,
80
+ active: tab.key === activeTab,
81
+ onClick: function onClick() {
82
+ return setActiveTab(tab.key);
83
+ },
84
+ role: "tab"
85
+ }, tab.trigger);
86
+ })), React__default['default'].createElement(TabContent, null, tabs.map(function (tab) {
87
+ return React__default['default'].createElement("div", {
88
+ key: tab.key,
89
+ role: "tabpanel",
90
+ hidden: tab.key !== activeTab
91
+ }, tab.content);
92
+ })));
93
+ });
94
+ Tabs.propTypes = process.env.NODE_ENV !== "production" ? {
95
+ children: defaultTheme.PropTypes.element
96
+ } : {};
97
+ Tabs.defaultProps = {};
98
+
99
+ exports.Tabs = Tabs;