@ntbjs/react-components 1.2.0-rc.7 → 1.2.0-rc.71

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 (77) hide show
  1. package/ActionButton-46735b89.js +61 -0
  2. package/Alert-13b75102.js +117 -0
  3. package/AssetGallery-12ff227b.js +1923 -0
  4. package/{AssetPreviewTopBar-d4e976ab.js → AssetPreviewTopBar-c28715f7.js} +15 -15
  5. package/Badge-aec841c8.js +221 -0
  6. package/{Button-f1f783e2.js → Button-49f82b31.js} +3 -3
  7. package/{Checkbox-0cb45351.js → Checkbox-68dc38a8.js} +1 -1
  8. package/{CompactAutocompleteSelect-ad337fac.js → CompactAutocompleteSelect-5982dcf2.js} +110 -79
  9. package/{CompactStarRating-147445be.js → CompactStarRating-a754fc6f.js} +77 -44
  10. package/{CompactTextInput-88e90e94.js → CompactTextInput-baf13d5c.js} +73 -46
  11. package/{ContextMenu-8c9d90a1.js → ContextMenu-4ec3d9f3.js} +1 -1
  12. package/ContextMenuItem-ba2b697e.js +110 -0
  13. package/{InputGroup-53a44ae6.js → InputGroup-49fbc423.js} +1 -1
  14. package/{Instructions-580e2b8a.js → Instructions-ae40a489.js} +23 -10
  15. package/{MultiLevelCheckboxSelect-26a0024b.js → MultiLevelCheckboxSelect-24c88aaa.js} +58 -87
  16. package/{MultiSelect-7e865f37.js → MultiSelect-4b8d3d0d.js} +2 -2
  17. package/{Popover-209357df.js → Popover-569cd272.js} +33 -7
  18. package/{Radio-a6ba38ed.js → Radio-32d0513a.js} +1 -1
  19. package/{SectionSeparator-961ec4de.js → SectionSeparator-259a22ed.js} +1 -1
  20. package/{Switch-9e68deb2.js → Switch-4a41585f.js} +1 -1
  21. package/{Tab-3580786b.js → Tab-f499ecbc.js} +1 -1
  22. package/{Tabs-511523e0.js → Tabs-ea48ce3e.js} +48 -44
  23. package/TextArea-1c89fe55.js +490 -0
  24. package/{TextInput-97f7da4d.js → TextInput-0d109708.js} +1 -1
  25. package/{Tooltip-5ccdfe34.js → Tooltip-66daf6e3.js} +4 -4
  26. package/VerificationStatusIcon-6fe95a92.js +118 -0
  27. package/data/Alert/index.js +3 -2
  28. package/data/Badge/index.js +2 -2
  29. package/data/Popover/index.js +4 -3
  30. package/data/Tab/index.js +2 -2
  31. package/data/Tabs/index.js +3 -3
  32. package/data/Tooltip/index.js +3 -3
  33. package/data/index.js +11 -8
  34. package/{defaultTheme-0dd58df6.js → defaultTheme-ea44e34a.js} +1 -1
  35. package/icons/add.svg +3 -0
  36. package/icons/album.svg +3 -0
  37. package/icons/check-rectangle-filled.svg +3 -0
  38. package/icons/corporate.svg +3 -0
  39. package/icons/download.svg +3 -3
  40. package/icons/index.js +77 -0
  41. package/icons/layers.svg +3 -0
  42. package/icons/play.svg +3 -3
  43. package/icons/shopping_cart_add.svg +3 -0
  44. package/icons/verification.svg +3 -0
  45. package/inputs/ActionButton/index.js +3 -2
  46. package/inputs/Button/index.js +6 -5
  47. package/inputs/Checkbox/index.js +2 -2
  48. package/inputs/CompactAutocompleteSelect/index.js +14 -4
  49. package/inputs/CompactStarRating/index.js +14 -3
  50. package/inputs/CompactTextInput/index.js +11 -10
  51. package/inputs/MultiSelect/index.js +3 -3
  52. package/inputs/Radio/index.js +2 -2
  53. package/inputs/Switch/index.js +2 -2
  54. package/inputs/TextArea/index.js +14 -3
  55. package/inputs/TextInput/index.js +2 -2
  56. package/inputs/index.js +27 -26
  57. package/layout/InputGroup/index.js +2 -2
  58. package/layout/SectionSeparator/index.js +2 -2
  59. package/layout/index.js +3 -3
  60. package/package.json +2 -1
  61. package/{react-select-creatable.esm-4c3da560.js → react-select-creatable.esm-2f23d6c6.js} +3 -3
  62. package/shift-away-subtle-0bed9a3c.js +9 -0
  63. package/styles/config.scss +3 -1
  64. package/widgets/AssetGallery/index.js +32 -30
  65. package/widgets/AssetPreview/AssetPreviewTopBar/index.js +2 -2
  66. package/widgets/ContextMenu/ContextMenuItem/index.js +5 -105
  67. package/widgets/ContextMenu/ContextMenuItemsGroup/index.js +1 -1
  68. package/widgets/ContextMenu/index.js +2 -2
  69. package/widgets/Instructions/index.js +16 -6
  70. package/widgets/index.js +35 -32
  71. package/ActionButton-f150aedb.js +0 -43
  72. package/Alert-d7863c58.js +0 -62
  73. package/AssetGallery-8ad205c8.js +0 -1396
  74. package/Badge-fa8f327e.js +0 -154
  75. package/TextArea-4fe22aee.js +0 -348
  76. package/check-555d831b.js +0 -213
  77. package/shift-away-subtle-3cede45b.js +0 -9
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var defaultTheme = require('./defaultTheme-0dd58df6.js');
3
+ var defaultTheme = require('./defaultTheme-ea44e34a.js');
4
4
  var lodash = require('lodash');
5
5
  var React = require('react');
6
6
  var warningCircle = require('./warning-circle-24522402.js');
7
- var CompactAutocompleteSelect = require('./CompactAutocompleteSelect-ad337fac.js');
8
- var TextArea = require('./TextArea-4fe22aee.js');
7
+ var CompactAutocompleteSelect = require('./CompactAutocompleteSelect-5982dcf2.js');
8
+ var TextArea = require('./TextArea-1c89fe55.js');
9
9
  var styled = require('styled-components');
10
10
 
11
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -45,13 +45,17 @@ var Instructions = React__default['default'].forwardRef(function Instructions(_r
45
45
  loadingMessageFunc = _ref.loadingMessageFunc,
46
46
  placeholder = _ref.placeholder,
47
47
  type = _ref.type,
48
+ selectType = _ref.selectType,
48
49
  edit = _ref.edit,
49
50
  rows = _ref.rows,
50
51
  showMore = _ref.showMore,
51
52
  showMoreText = _ref.showMoreText,
52
53
  showLessText = _ref.showLessText,
53
54
  isExpanded = _ref.isExpanded,
54
- props = defaultTheme._objectWithoutProperties(_ref, ["clickToAdd", "customAddMessage", "selectedOption", "loadOptions", "readOnly", "disabled", "hidden", "name", "lightBackground", "autoSelect", "subscribeCurrentValue", "onChange", "onFocus", "onBlur", "onUpdateCallback", "availableOptions", "loadingMessageFunc", "placeholder", "type", "edit", "rows", "showMore", "showMoreText", "showLessText", "isExpanded"]);
55
+ loadingIcon = _ref.loadingIcon,
56
+ successIcon = _ref.successIcon,
57
+ padding = _ref.padding,
58
+ props = defaultTheme._objectWithoutProperties(_ref, ["clickToAdd", "customAddMessage", "selectedOption", "loadOptions", "readOnly", "disabled", "hidden", "name", "lightBackground", "autoSelect", "subscribeCurrentValue", "onChange", "onFocus", "onBlur", "onUpdateCallback", "availableOptions", "loadingMessageFunc", "placeholder", "type", "selectType", "edit", "rows", "showMore", "showMoreText", "showLessText", "isExpanded", "loadingIcon", "successIcon", "padding"]);
55
59
 
56
60
  var _useState = React.useState(false),
57
61
  _useState2 = defaultTheme._slicedToArray(_useState, 2),
@@ -133,7 +137,7 @@ var Instructions = React__default['default'].forwardRef(function Instructions(_r
133
137
  }
134
138
  }, [onBlurProp]);
135
139
 
136
- var handleMouseEnter = function handleMouseEnter() {
140
+ var handleMouseOver = function handleMouseOver() {
137
141
  setIsHovered(true);
138
142
  };
139
143
 
@@ -174,13 +178,13 @@ var Instructions = React__default['default'].forwardRef(function Instructions(_r
174
178
  return React__default['default'].createElement(Instructions$1, defaultTheme._extends({
175
179
  ref: forwardedRef,
176
180
  initialHover: initialHover,
177
- onMouseEnter: handleMouseEnter,
181
+ onMouseDown: handleMouseOver,
178
182
  onMouseLeave: handleMouseLeave
179
183
  }, props), !readOnly && !disabled && React__default['default'].createElement(TopBarContainer, {
180
184
  initialHover: initialHover,
181
185
  className: isHovered && !readOnly && !disabled && 'slide-in'
182
186
  }, React__default['default'].createElement(SelectContainer, null, React__default['default'].createElement(CompactAutocompleteSelect.CompactAutocompleteSelect, defaultTheme._extends({
183
- type: type,
187
+ type: selectType,
184
188
  value: selectedOption,
185
189
  creatable: false,
186
190
  onChange: handleChange
@@ -204,7 +208,10 @@ var Instructions = React__default['default'].forwardRef(function Instructions(_r
204
208
  showMore: showMore,
205
209
  showMoreText: showMoreText,
206
210
  showLessText: showLessText,
207
- icon: React__default['default'].createElement(warningCircle.SvgWarningCircle, null)
211
+ icon: React__default['default'].createElement(warningCircle.SvgWarningCircle, null),
212
+ loadingIcon: loadingIcon,
213
+ successIcon: successIcon,
214
+ padding: padding
208
215
  })));
209
216
  });
210
217
  Instructions.defaultProps = {
@@ -216,6 +223,8 @@ Instructions.defaultProps = {
216
223
  disabled: false,
217
224
  readOnly: false,
218
225
  type: '',
226
+ selectType: '',
227
+ padding: 'medium',
219
228
  onUpdateCallback: function onUpdateCallback() {}
220
229
  };
221
230
  Instructions.propTypes = process.env.NODE_ENV !== "production" ? {
@@ -243,8 +252,12 @@ Instructions.propTypes = process.env.NODE_ENV !== "production" ? {
243
252
  onFocus: defaultTheme.PropTypes.func,
244
253
  onBlur: defaultTheme.PropTypes.func,
245
254
  onUpdateCallback: defaultTheme.PropTypes.func,
246
- type: defaultTheme.PropTypes.oneOf(['', 'error', 'error-border', 'warning', 'loading', 'success']),
247
- isExpanded: defaultTheme.PropTypes.func
255
+ type: defaultTheme.PropTypes.oneOf(['', 'error', 'error-border', 'warning', 'instructions-warning', 'loading', 'success']),
256
+ selectType: defaultTheme.PropTypes.oneOf(['', 'error', 'warning', 'instructions-warning', 'loading', 'success']),
257
+ isExpanded: defaultTheme.PropTypes.func,
258
+ loadingIcon: defaultTheme.PropTypes.element,
259
+ successIcon: defaultTheme.PropTypes.element,
260
+ padding: defaultTheme.PropTypes.oneOf(['', 'small', 'medium', 'large'])
248
261
  } : {};
249
262
 
250
263
  exports.Instructions = Instructions;
@@ -1,19 +1,20 @@
1
1
  'use strict';
2
2
 
3
- var defaultTheme = require('./defaultTheme-0dd58df6.js');
3
+ var defaultTheme = require('./defaultTheme-ea44e34a.js');
4
4
  var React = require('react');
5
5
  var styled = require('styled-components');
6
- require('./Alert-d7863c58.js');
7
- require('./Badge-fa8f327e.js');
8
- var Popover = require('./Popover-209357df.js');
9
- require('./Tab-3580786b.js');
10
- require('./Tabs-511523e0.js');
11
- require('./Tooltip-5ccdfe34.js');
12
- var Checkbox = require('./Checkbox-0cb45351.js');
6
+ require('./Alert-13b75102.js');
7
+ require('./Badge-aec841c8.js');
8
+ var Popover = require('./Popover-569cd272.js');
9
+ require('./Tab-f499ecbc.js');
10
+ require('./Tabs-ea48ce3e.js');
11
+ require('./Tooltip-66daf6e3.js');
12
+ require('./VerificationStatusIcon-6fe95a92.js');
13
+ var Checkbox = require('./Checkbox-68dc38a8.js');
13
14
  var lodash = require('lodash');
14
- var TextInput = require('./TextInput-97f7da4d.js');
15
- require('./InputGroup-53a44ae6.js');
16
- var SectionSeparator = require('./SectionSeparator-961ec4de.js');
15
+ var TextInput = require('./TextInput-0d109708.js');
16
+ require('./InputGroup-49fbc423.js');
17
+ var SectionSeparator = require('./SectionSeparator-259a22ed.js');
17
18
  var close = require('./close-ebf2f3cf.js');
18
19
 
19
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -38,10 +39,24 @@ function _interopNamespace(e) {
38
39
  return Object.freeze(n);
39
40
  }
40
41
 
41
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
42
42
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
43
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
43
44
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
44
45
 
46
+ 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); }
47
+
48
+ var _ref = /*#__PURE__*/React__namespace.createElement("path", {
49
+ fill: "currentColor",
50
+ d: "M17.153 15.094h-1.084l-.385-.37a8.933 8.933 0 10-.96.96l.37.385v1.084L21.955 24 24 21.955zm-8.234 0a6.175 6.175 0 116.175-6.175 6.167 6.167 0 01-6.175 6.175z"
51
+ });
52
+
53
+ function SvgSearch(props) {
54
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends({
55
+ xmlns: "http://www.w3.org/2000/svg",
56
+ viewBox: "0 0 24 24"
57
+ }, props), _ref);
58
+ }
59
+
45
60
  var _templateObject$1, _templateObject2$1, _templateObject3$1, _templateObject4$1, _templateObject5$1, _templateObject6$1, _templateObject7$1, _templateObject8$1, _templateObject9$1;
46
61
  var MultiLevelCheckbox$1 = styled__default['default'].fieldset.attrs(defaultTheme.applyDefaultTheme)(_templateObject$1 || (_templateObject$1 = defaultTheme._taggedTemplateLiteral(["\n padding: 0;\n border: 0;\n margin: 0;\n"])));
47
62
  var MultiLevelCheckboxLegend = styled__default['default'].legend.attrs(defaultTheme.applyDefaultTheme)(_templateObject2$1 || (_templateObject2$1 = defaultTheme._taggedTemplateLiteral(["\n line-height: 1.2;\n font-size: 0.75rem;\n padding: 0 0 4px;\n letter-spacing: 0.03em;\n ", "\n"])), function (props) {
@@ -201,10 +216,10 @@ var MultiLevelCheckbox = React__default['default'].forwardRef(function MultiLeve
201
216
  });
202
217
  }, [options]);
203
218
  React.useEffect(function () {
204
- onChange(internalChecked.sort());
219
+ onChange(defaultTheme._toConsumableArray(internalChecked).sort());
205
220
  }, [internalChecked, onChange]);
206
221
  React.useEffect(function () {
207
- if (!lodash.isEqual(checked.sort(), internalChecked.sort())) {
222
+ if (!lodash.isEqual(defaultTheme._toConsumableArray(checked).sort(), defaultTheme._toConsumableArray(internalChecked).sort())) {
208
223
  setInternalChecked(includeAllChildren(checked, options));
209
224
  }
210
225
  }, [checked, options]);
@@ -306,6 +321,7 @@ var CheckboxTree = React__default['default'].memo(function CheckboxTree(_ref2) {
306
321
 
307
322
  return React__default['default'].createElement(CheckboxTree$1, null, React__default['default'].createElement(CheckboxTreeCheckboxContainer, null, lodash.isArray(node.children) && node.children.length > 0 && React__default['default'].createElement(ExpandTreeButton, {
308
323
  $expanded: expanded || expandedBySearch,
324
+ type: "button",
309
325
  onClick: function onClick() {
310
326
  setExpandedBySearch(function (current) {
311
327
  if (current) {
@@ -356,20 +372,20 @@ CheckboxTree.propTypes = process.env.NODE_ENV !== "production" ? {
356
372
  node: defaultTheme.PropTypes.shape({
357
373
  label: defaultTheme.PropTypes.string.isRequired,
358
374
  value: defaultTheme.PropTypes.any.isRequired,
359
- children: defaultTheme.PropTypes.shape({
375
+ children: defaultTheme.PropTypes.arrayOf(defaultTheme.PropTypes.shape({
360
376
  label: defaultTheme.PropTypes.string.isRequired,
361
377
  value: defaultTheme.PropTypes.any.isRequired,
362
378
  children: defaultTheme.PropTypes.arrayOf(defaultTheme.PropTypes.any)
363
- })
379
+ }))
364
380
  }),
365
381
  nodes: defaultTheme.PropTypes.arrayOf(defaultTheme.PropTypes.shape({
366
382
  label: defaultTheme.PropTypes.string.isRequired,
367
383
  value: defaultTheme.PropTypes.any.isRequired,
368
- children: defaultTheme.PropTypes.shape({
384
+ children: defaultTheme.PropTypes.arrayOf(defaultTheme.PropTypes.shape({
369
385
  label: defaultTheme.PropTypes.string.isRequired,
370
386
  value: defaultTheme.PropTypes.any.isRequired,
371
387
  children: defaultTheme.PropTypes.arrayOf(defaultTheme.PropTypes.any)
372
- })
388
+ }))
373
389
  })),
374
390
  checked: defaultTheme.PropTypes.array.isRequired,
375
391
  search: defaultTheme.PropTypes.string,
@@ -377,7 +393,7 @@ CheckboxTree.propTypes = process.env.NODE_ENV !== "production" ? {
377
393
  onRemove: defaultTheme.PropTypes.func.isRequired
378
394
  } : {};
379
395
 
380
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
396
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
381
397
  var MultiLevelCheckboxSelect$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n font-family: ", ";\n"])), function (props) {
382
398
  return props.theme.primaryFontFamily;
383
399
  });
@@ -397,22 +413,12 @@ var Label = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)
397
413
  return props.theme.themeProp('background', "linear-gradient(0deg, ".concat(props.theme.getColor('gray-900'), " calc(50% + 1px), transparent 50%)"), "linear-gradient(0deg, ".concat(props.theme.getColor('white'), " calc(50% + 1px), transparent 50%)"));
398
414
  });
399
415
  var Placeholder = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n font-size: 0.875rem;\n line-height: 26px;\n padding-left: 4px;\n opacity: 0.4;\n"])));
400
- var SearchContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n padding: 12px 8px;\n"])));
401
- var OptionsContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject9 || (_templateObject9 = defaultTheme._taggedTemplateLiteral(["\n padding: 12px 8px;\n overflow: auto;\n max-height: 400px;\n"])));
402
-
403
- 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); }
404
-
405
- var _ref = /*#__PURE__*/React__namespace.createElement("path", {
406
- fill: "currentColor",
407
- d: "M17.153 15.094h-1.084l-.385-.37a8.933 8.933 0 10-.96.96l.37.385v1.084L21.955 24 24 21.955zm-8.234 0a6.175 6.175 0 116.175-6.175 6.167 6.167 0 01-6.175 6.175z"
416
+ var PopoverContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n max-height: inherit;\n display: flex;\n flex-direction: column;\n"])));
417
+ var PopoverHeader = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject9 || (_templateObject9 = defaultTheme._taggedTemplateLiteral(["\n ", "\n"])), function (props) {
418
+ return props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('white'));
408
419
  });
409
-
410
- function SvgSearch(props) {
411
- return /*#__PURE__*/React__namespace.createElement("svg", _extends({
412
- xmlns: "http://www.w3.org/2000/svg",
413
- viewBox: "0 0 24 24"
414
- }, props), _ref);
415
- }
420
+ var SearchContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject10 || (_templateObject10 = defaultTheme._taggedTemplateLiteral(["\n padding: 12px 8px;\n"])));
421
+ var OptionsContainer = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject11 || (_templateObject11 = defaultTheme._taggedTemplateLiteral(["\n padding: 12px 8px;\n overflow: auto;\n box-sizing: border-box;\n"])));
416
422
 
417
423
  var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
418
424
 
@@ -438,49 +444,6 @@ function useEventListener(eventName, handler, element, options) {
438
444
  }, [eventName, element, options]);
439
445
  }
440
446
 
441
- function useElementSize(ref) {
442
- var delayWindowResizeUpdate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
443
-
444
- var _useState = React.useState({
445
- width: 0,
446
- height: 0
447
- }),
448
- _useState2 = defaultTheme._slicedToArray(_useState, 2),
449
- size = _useState2[0],
450
- setSize = _useState2[1];
451
-
452
- var handleSize = function handleSize() {
453
- var _ref$current, _ref$current2;
454
-
455
- var newWidth = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.offsetWidth;
456
- var newHeight = (_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : _ref$current2.offsetHeight;
457
- if (size.width !== newWidth || size.height !== newHeight) setSize({
458
- width: newWidth !== null && newWidth !== void 0 ? newWidth : 0,
459
- height: newHeight !== null && newHeight !== void 0 ? newHeight : 0
460
- });
461
- };
462
-
463
- useEventListener('resize', debounce(handleSize, delayWindowResizeUpdate));
464
- React.useEffect(function () {
465
- handleSize();
466
- });
467
- return size;
468
- }
469
-
470
- function debounce(fn, delay) {
471
- var timer = null;
472
- return function () {
473
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
474
- args[_key] = arguments[_key];
475
- }
476
-
477
- if (timer) clearTimeout(timer);
478
- timer = setTimeout(function () {
479
- fn.apply(void 0, args);
480
- }, delay);
481
- };
482
- }
483
-
484
447
  function useOnClickOutside(ref, handler) {
485
448
  var mouseEvent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'mousedown';
486
449
  useEventListener(mouseEvent, function (event) {
@@ -551,9 +514,6 @@ var MultiLevelCheckboxSelect = React__default['default'].forwardRef(function Mul
551
514
  open = _useState4[0],
552
515
  setOpen = _useState4[1];
553
516
 
554
- var _useElementSize = useElementSize(inputRef),
555
- width = _useElementSize.width;
556
-
557
517
  var handleClickInside = React.useCallback(function () {
558
518
  var _searchInputRef$curre;
559
519
 
@@ -599,7 +559,7 @@ var MultiLevelCheckboxSelect = React__default['default'].forwardRef(function Mul
599
559
 
600
560
  iterate(options);
601
561
  return checkedParents.sort();
602
- }, [options, checkedProp]);
562
+ }, [JSON.stringify(options), JSON.stringify(checkedProp)]);
603
563
  var getLabelByValue = React.useCallback(function (targetValue) {
604
564
  var nodes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : options;
605
565
 
@@ -668,12 +628,23 @@ var MultiLevelCheckboxSelect = React__default['default'].forwardRef(function Mul
668
628
  arrow: false,
669
629
  placement: 'bottom',
670
630
  offset: [0, 6],
671
- content: React__default['default'].createElement("div", {
672
- ref: popoverContentRef,
673
- style: {
674
- minWidth: width - 2
631
+ modifiers: [{
632
+ name: 'sameWidth',
633
+ enabled: true,
634
+ phase: 'beforeWrite',
635
+ requires: ['computeStyles'],
636
+ fn: function fn(_ref2) {
637
+ var state = _ref2.state;
638
+ state.styles.popper.width = "".concat(state.rects.reference.width, "px");
639
+ },
640
+ effect: function effect(_ref3) {
641
+ var state = _ref3.state;
642
+ state.elements.popper.style.width = "".concat(state.elements.reference.offsetWidth, "px");
675
643
  }
676
- }, React__default['default'].createElement(SearchContainer, null, React__default['default'].createElement(TextInput.TextInput, {
644
+ }],
645
+ content: React__default['default'].createElement(PopoverContainer, {
646
+ ref: popoverContentRef
647
+ }, React__default['default'].createElement(PopoverHeader, null, React__default['default'].createElement(SearchContainer, null, React__default['default'].createElement(TextInput.TextInput, {
677
648
  ref: searchInputRef,
678
649
  onBlur: function onBlur(e) {
679
650
  if (open) {
@@ -685,7 +656,7 @@ var MultiLevelCheckboxSelect = React__default['default'].forwardRef(function Mul
685
656
  onChange: function onChange(e) {
686
657
  return setSearchString(e.target.value);
687
658
  }
688
- })), React__default['default'].createElement(SectionSeparator.SectionSeparator, null), React__default['default'].createElement(OptionsContainer, null, React__default['default'].createElement(MultiLevelCheckbox, {
659
+ })), React__default['default'].createElement(SectionSeparator.SectionSeparator, null)), React__default['default'].createElement(OptionsContainer, null, React__default['default'].createElement(MultiLevelCheckbox, {
689
660
  options: options,
690
661
  checked: checkedProp,
691
662
  search: searchString,
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var defaultTheme = require('./defaultTheme-0dd58df6.js');
3
+ var defaultTheme = require('./defaultTheme-ea44e34a.js');
4
4
  var React = require('react');
5
5
  var nanoid = require('nanoid');
6
6
  var styled = require('styled-components');
7
7
  var close = require('./close-ebf2f3cf.js');
8
8
  var Select = require('react-select');
9
- var reactSelectCreatable_esm = require('./react-select-creatable.esm-4c3da560.js');
9
+ var reactSelectCreatable_esm = require('./react-select-creatable.esm-2f23d6c6.js');
10
10
  var reactSelectAsyncPaginate = require('react-select-async-paginate');
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -1,21 +1,23 @@
1
1
  'use strict';
2
2
 
3
- var defaultTheme = require('./defaultTheme-0dd58df6.js');
3
+ var defaultTheme = require('./defaultTheme-ea44e34a.js');
4
4
  var lodash = require('lodash');
5
5
  var React = require('react');
6
6
  var styled = require('styled-components');
7
7
  var polished = require('polished');
8
8
  var TippyTooltip = require('@tippyjs/react');
9
- require('./shift-away-subtle-3cede45b.js');
9
+ require('./shift-away-subtle-0bed9a3c.js');
10
+ var maxSize = require('popper-max-size-modifier');
10
11
 
11
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
13
 
13
14
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
15
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
15
16
  var TippyTooltip__default = /*#__PURE__*/_interopDefaultLegacy(TippyTooltip);
17
+ var maxSize__default = /*#__PURE__*/_interopDefaultLegacy(maxSize);
16
18
 
17
19
  var _templateObject, _templateObject2, _templateObject3;
18
- 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: -14.5px;\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) {
20
+ 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 max-height: inherit;\n\n ", "\n\n ", "\n\n ", "\n\n ", "\n\n ", "\n\n .tippy-content {\n padding: 0;\n max-height: inherit;\n\n > div {\n max-height: inherit;\n }\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: -14.5px;\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) {
19
21
  return props.theme.primaryFontFamily;
20
22
  }, function (props) {
21
23
  return props.theme.themeProp('background', props.theme.getColor('gray-700'), props.theme.getColor('white'));
@@ -55,7 +57,8 @@ var Popover = React__default['default'].forwardRef(function Popover(_ref, ref) {
55
57
  contextMenu = _ref.contextMenu,
56
58
  contextMenuSublevel = _ref.contextMenuSublevel,
57
59
  children = _ref.children,
58
- props = defaultTheme._objectWithoutProperties(_ref, ["content", "interactive", "placement", "duration", "trigger", "offset", "arrow", "visible", "contextMenu", "contextMenuSublevel", "children"]);
60
+ modifiers = _ref.modifiers,
61
+ props = defaultTheme._objectWithoutProperties(_ref, ["content", "interactive", "placement", "duration", "trigger", "offset", "arrow", "visible", "contextMenu", "contextMenuSublevel", "children", "modifiers"]);
59
62
 
60
63
  var errorOffset = React.useMemo(function () {
61
64
  return arrow ? 15 : 0;
@@ -76,7 +79,7 @@ var Popover = React__default['default'].forwardRef(function Popover(_ref, ref) {
76
79
  });
77
80
  };
78
81
 
79
- return React__default['default'].createElement(Popover$1, defaultTheme._extends({
82
+ return React__default['default'].createElement("div", null, React__default['default'].createElement(Popover$1, defaultTheme._extends({
80
83
  ref: ref,
81
84
  content: content,
82
85
  interactive: interactive,
@@ -87,8 +90,29 @@ var Popover = React__default['default'].forwardRef(function Popover(_ref, ref) {
87
90
  offset: [offset[0], offset[1] + errorOffset],
88
91
  arrow: contextMenu ? false : arrow,
89
92
  visible: visible,
93
+ popperOptions: {
94
+ modifiers: [defaultTheme._objectSpread2(defaultTheme._objectSpread2({}, maxSize__default['default']), {}, {
95
+ options: {
96
+ boundary: 'viewport',
97
+ rootBoundary: 'viewport',
98
+ padding: 10
99
+ }
100
+ }), {
101
+ name: 'applyMaxSize',
102
+ enabled: true,
103
+ phase: 'beforeWrite',
104
+ requires: ['maxSize'],
105
+ fn: function fn(_ref2) {
106
+ var state = _ref2.state;
107
+ var height = state.modifiersData.maxSize.height;
108
+ state.styles.popper = defaultTheme._objectSpread2(defaultTheme._objectSpread2({}, state.styles.popper), {}, {
109
+ maxHeight: "".concat(height, "px")
110
+ });
111
+ }
112
+ }].concat(defaultTheme._toConsumableArray(modifiers))
113
+ },
90
114
  onShown: contextMenu ? handleContextMenuItemClick : undefined
91
- }, props), children);
115
+ }, props), children));
92
116
  });
93
117
  Popover.propTypes = process.env.NODE_ENV !== "production" ? {
94
118
  content: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.string, defaultTheme.PropTypes.element]).isRequired,
@@ -99,6 +123,7 @@ Popover.propTypes = process.env.NODE_ENV !== "production" ? {
99
123
  offset: defaultTheme.PropTypes.arrayOf(defaultTheme.PropTypes.number),
100
124
  arrow: defaultTheme.PropTypes.bool,
101
125
  visible: defaultTheme.PropTypes.bool,
126
+ modifiers: defaultTheme.PropTypes.array,
102
127
  contextMenu: defaultTheme.PropTypes.bool,
103
128
  contextMenuSublevel: defaultTheme.PropTypes.bool,
104
129
  children: defaultTheme.PropTypes.node.isRequired
@@ -114,7 +139,8 @@ Popover.defaultProps = {
114
139
  arrow: true,
115
140
  visible: undefined,
116
141
  contextMenu: false,
117
- contextMenuSublevel: false
142
+ contextMenuSublevel: false,
143
+ modifiers: []
118
144
  };
119
145
 
120
146
  exports.Popover = Popover;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var defaultTheme = require('./defaultTheme-0dd58df6.js');
3
+ var defaultTheme = require('./defaultTheme-ea44e34a.js');
4
4
  var React = require('react');
5
5
  var nanoid = require('nanoid');
6
6
  var polished = require('polished');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var defaultTheme = require('./defaultTheme-0dd58df6.js');
3
+ var defaultTheme = require('./defaultTheme-ea44e34a.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-0dd58df6.js');
3
+ var defaultTheme = require('./defaultTheme-ea44e34a.js');
4
4
  var React = require('react');
5
5
  var nanoid = require('nanoid');
6
6
  var polished = require('polished');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var defaultTheme = require('./defaultTheme-0dd58df6.js');
3
+ var defaultTheme = require('./defaultTheme-ea44e34a.js');
4
4
  var React = require('react');
5
5
  var styled = require('styled-components');
6
6
 
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var defaultTheme = require('./defaultTheme-0dd58df6.js');
3
+ var defaultTheme = require('./defaultTheme-ea44e34a.js');
4
4
  var lodash = require('lodash');
5
5
  var React = require('react');
6
- var Tab = require('./Tab-3580786b.js');
6
+ var Tab = require('./Tab-f499ecbc.js');
7
7
  var styled = require('styled-components');
8
8
 
9
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -43,9 +43,9 @@ var TabContent = styled__default['default'].div.attrs(defaultTheme.applyDefaultT
43
43
 
44
44
  var Tabs = React__default['default'].forwardRef(function Tabs(_ref, forwardedRef) {
45
45
  var children = _ref.children,
46
- minHeight = _ref.minHeight,
47
46
  defaultMinHeight = _ref.defaultMinHeight,
48
- props = defaultTheme._objectWithoutProperties(_ref, ["children", "minHeight", "defaultMinHeight"]);
47
+ onChangeTabCallback = _ref.onChangeTabCallback,
48
+ props = defaultTheme._objectWithoutProperties(_ref, ["children", "defaultMinHeight", "onChangeTabCallback"]);
49
49
 
50
50
  var _useState = React.useState(0),
51
51
  _useState2 = defaultTheme._slicedToArray(_useState, 2),
@@ -54,66 +54,70 @@ var Tabs = React__default['default'].forwardRef(function Tabs(_ref, forwardedRef
54
54
 
55
55
  var _useState3 = React.useState(),
56
56
  _useState4 = defaultTheme._slicedToArray(_useState3, 2),
57
- firstTab = _useState4[0],
58
- setFirstTab = _useState4[1];
59
-
60
- var _useState5 = React.useState(),
61
- _useState6 = defaultTheme._slicedToArray(_useState5, 2),
62
- minTabHeight = _useState6[0],
63
- setMinTabHeight = _useState6[1];
64
-
65
- var _useState7 = React.useState(),
66
- _useState8 = defaultTheme._slicedToArray(_useState7, 2),
67
- defaultHeight = _useState8[0],
68
- setDefaultHeight = _useState8[1];
57
+ defaultHeight = _useState4[0],
58
+ setDefaultHeight = _useState4[1];
69
59
 
70
60
  var contentRef = React.useRef(null);
71
- var visibleTabs = [];
72
- React.useEffect(function () {
73
- if ((visibleTabs === null || visibleTabs === void 0 ? void 0 : visibleTabs.length) > 0) {
74
- setActiveTab(visibleTabs[0].key);
75
- setFirstTab(visibleTabs[0]);
76
- }
77
- }, []);
78
- React.useLayoutEffect(function () {
79
- if (contentRef.current) {
80
- var height = contentRef.current.offsetHeight;
81
- setMinTabHeight(height);
82
- }
83
- }, [firstTab]);
84
61
  React.useEffect(function () {
85
62
  setDefaultHeight(defaultMinHeight);
86
63
  }, []);
64
+ React.useEffect(function () {
65
+ onChangeTabCallback(activeTab);
66
+ }, [activeTab]);
87
67
  var tabs = React.useMemo(function () {
88
68
  var tabs = [];
89
69
 
90
70
  function extractChildren(children) {
91
71
  React.Children.forEach(children, function (child, index) {
72
+ var _child$props2;
73
+
74
+ if (lodash.isNil(child)) {
75
+ return null;
76
+ }
77
+
92
78
  if (child.type === React.Fragment) {
93
- extractChildren(child.props.children);
79
+ var _child$props;
80
+
81
+ extractChildren((_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.children);
94
82
  }
95
83
 
96
- if (child.props.hidden) {
84
+ if ((_child$props2 = child.props) !== null && _child$props2 !== void 0 && _child$props2.hidden) {
97
85
  return null;
98
86
  }
99
87
 
100
- if (child.type === Tab.Tab && !lodash.isEmpty(child.props.trigger)) {
101
- visibleTabs.push({
102
- key: index,
103
- content: child.props.children
104
- });
88
+ if (child.type === Tab.Tab) {
89
+ var _child$props3, _child$props4;
90
+
105
91
  tabs.push({
106
92
  key: index,
107
- trigger: child.props.trigger,
108
- content: child.props.children
93
+ trigger: (_child$props3 = child.props) === null || _child$props3 === void 0 ? void 0 : _child$props3.trigger,
94
+ content: (_child$props4 = child.props) === null || _child$props4 === void 0 ? void 0 : _child$props4.children
109
95
  });
110
96
  }
111
97
  });
112
98
  }
113
99
 
114
100
  extractChildren(children);
101
+
102
+ if (!tabs.some(function (tab) {
103
+ return (tab === null || tab === void 0 ? void 0 : tab.key) === activeTab;
104
+ })) {
105
+ var _tabs$;
106
+
107
+ setActiveTab((_tabs$ = tabs[0]) === null || _tabs$ === void 0 ? void 0 : _tabs$.key);
108
+ }
109
+
115
110
  return tabs;
116
111
  }, [children]);
112
+ React.useEffect(function () {
113
+ if (!tabs.some(function (tab) {
114
+ return tab.key === activeTab;
115
+ })) {
116
+ var _tabs$2;
117
+
118
+ setActiveTab(((_tabs$2 = tabs[0]) === null || _tabs$2 === void 0 ? void 0 : _tabs$2.key) || 0);
119
+ }
120
+ }, [tabs, activeTab]);
117
121
  return React__default['default'].createElement(Tabs$1, defaultTheme._extends({
118
122
  ref: forwardedRef
119
123
  }, props, {
@@ -130,25 +134,25 @@ var Tabs = React__default['default'].forwardRef(function Tabs(_ref, forwardedRef
130
134
  }, tab.trigger);
131
135
  })), React__default['default'].createElement(TabContent, null, tabs.map(function (tab) {
132
136
  return React__default['default'].createElement("div", {
133
- ref: tab.key === (firstTab === null || firstTab === void 0 ? void 0 : firstTab.key) ? contentRef : null,
137
+ ref: tab.key === (activeTab === null || activeTab === void 0 ? void 0 : activeTab.key) ? contentRef : null,
134
138
  key: tab.key,
135
139
  role: "tabpanel",
136
140
  hidden: tab.key !== activeTab,
137
141
  style: {
138
- minHeight: minHeight ? minTabHeight : !lodash.isEmpty(defaultHeight) ? defaultHeight : ''
142
+ minHeight: !lodash.isEmpty(defaultHeight) ? defaultHeight : ''
139
143
  }
140
144
  }, tab.content);
141
145
  })));
142
146
  });
143
147
  Tabs.defaultProps = {
144
- minHeight: false,
145
- defaultMinHeight: ''
148
+ defaultMinHeight: '',
149
+ onChangeTabCallback: function onChangeTabCallback() {}
146
150
  };
147
151
  Tabs.propTypes = process.env.NODE_ENV !== "production" ? {
148
152
  children: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.array, defaultTheme.PropTypes.object]),
149
153
  backgroundColor: defaultTheme.PropTypes.string,
150
- minHeight: defaultTheme.PropTypes.bool,
151
- defaultMinHeight: defaultTheme.PropTypes.string
154
+ defaultMinHeight: defaultTheme.PropTypes.string,
155
+ onChangeTabCallback: defaultTheme.PropTypes.func
152
156
  } : {};
153
157
 
154
158
  exports.Tabs = Tabs;