@ntbjs/react-components 1.3.0-rc.5 → 1.3.0-rc.51

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 (68) hide show
  1. package/.eslintrc +7 -8
  2. package/{ActionButton-46735b89.js → ActionButton-f84f83eb.js} +22 -19
  3. package/{Alert-13b75102.js → Alert-1b2ff6dd.js} +28 -34
  4. package/{AssetGallery-88391ccb.js → AssetAction-f2805c53.js} +621 -673
  5. package/AssetPreviewTopBar-08ca770d.js +103 -0
  6. package/{Badge-757b0a39.js → Badge-e055db69.js} +35 -58
  7. package/{Button-49f82b31.js → Button-eafd62c9.js} +71 -74
  8. package/{Checkbox-68dc38a8.js → Checkbox-acd15d02.js} +33 -40
  9. package/{CompactAutocompleteSelect-755b1869.js → CompactAutocompleteSelect-e292eb05.js} +96 -132
  10. package/{CompactStarRating-bcfb78ac.js → CompactStarRating-71e54f17.js} +83 -102
  11. package/{CompactTextInput-9e507306.js → CompactTextInput-a7f53772.js} +120 -120
  12. package/{ContextMenu-4ec3d9f3.js → ContextMenu-1b7b7cec.js} +6 -7
  13. package/ContextMenuItem-50de2150.js +115 -0
  14. package/{InputGroup-49fbc423.js → InputGroup-08332f2d.js} +6 -7
  15. package/{Instructions-e267c2a7.js → Instructions-f4db12e3.js} +109 -95
  16. package/{MultiLevelCheckboxSelect-b897d605.js → MultiLevelCheckboxSelect-a42d6f02.js} +106 -172
  17. package/{MultiSelect-efd60232.js → MultiSelect-e8c76d36.js} +87 -119
  18. package/{Popover-569cd272.js → Popover-c1a29454.js} +30 -36
  19. package/{Radio-32d0513a.js → Radio-abb11971.js} +22 -25
  20. package/{SectionSeparator-259a22ed.js → SectionSeparator-aeccca17.js} +8 -10
  21. package/{Switch-4a41585f.js → Switch-66cd66ab.js} +27 -31
  22. package/{Tab-f499ecbc.js → Tab-124fef45.js} +8 -10
  23. package/{Tabs-a8c77f71.js → Tabs-62bdcdfa.js} +39 -45
  24. package/{TextArea-d566c7bc.js → TextArea-5bff1145.js} +122 -151
  25. package/{TextInput-0d109708.js → TextInput-4391304e.js} +43 -52
  26. package/{Tooltip-66daf6e3.js → Tooltip-4111dfdd.js} +18 -20
  27. package/{VerificationStatusIcon-d5bfb67a.js → VerificationStatusIcon-3a74c2ab.js} +22 -34
  28. package/{close-ebf2f3cf.js → close-1751121a.js} +8 -12
  29. package/data/Alert/index.js +2 -2
  30. package/data/Badge/index.js +2 -2
  31. package/data/Popover/index.js +3 -3
  32. package/data/Tab/index.js +2 -2
  33. package/data/Tabs/index.js +3 -3
  34. package/data/Tooltip/index.js +3 -3
  35. package/data/index.js +9 -9
  36. package/{defaultTheme-ea44e34a.js → defaultTheme-cd01e6c2.js} +212 -260
  37. package/edit-note-cefe2215.js +37 -0
  38. package/{expand-more-94585605.js → expand-more-d74e2bd2.js} +8 -12
  39. package/inputs/ActionButton/index.js +2 -2
  40. package/inputs/Button/index.js +6 -6
  41. package/inputs/Checkbox/index.js +2 -2
  42. package/inputs/CompactAutocompleteSelect/index.js +13 -13
  43. package/inputs/CompactStarRating/index.js +10 -10
  44. package/inputs/CompactTextInput/index.js +11 -11
  45. package/inputs/MultiSelect/index.js +4 -4
  46. package/inputs/Radio/index.js +2 -2
  47. package/inputs/Switch/index.js +2 -2
  48. package/inputs/TextArea/index.js +11 -11
  49. package/inputs/TextInput/index.js +3 -3
  50. package/inputs/index.js +28 -28
  51. package/layout/InputGroup/index.js +2 -2
  52. package/layout/SectionSeparator/index.js +2 -2
  53. package/layout/index.js +3 -3
  54. package/package.json +2 -1
  55. package/{react-select-creatable.esm-2f23d6c6.js → react-select-creatable.esm-b7c87391.js} +1507 -1288
  56. package/{shift-away-subtle-0bed9a3c.js → shift-away-subtle-631cd794.js} +1 -1
  57. package/ssr/index.js +1 -3
  58. package/widgets/AssetGallery/index.js +34 -32
  59. package/widgets/AssetPreview/AssetPreviewTopBar/index.js +3 -3
  60. package/widgets/ContextMenu/ContextMenuItem/index.js +2 -2
  61. package/widgets/ContextMenu/ContextMenuItemsGroup/index.js +6 -7
  62. package/widgets/ContextMenu/index.js +2 -2
  63. package/widgets/Instructions/index.js +16 -17
  64. package/widgets/index.js +37 -35
  65. package/AssetPreviewTopBar-912c3469.js +0 -99
  66. package/ContextMenuItem-ba2b697e.js +0 -110
  67. package/edit-note-c47d292e.js +0 -41
  68. package/warning-circle-24522402.js +0 -41
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var defaultTheme = require('./defaultTheme-ea44e34a.js');
3
+ var defaultTheme = require('./defaultTheme-cd01e6c2.js');
4
4
  var React = require('react');
5
5
  var styled = require('styled-components');
6
6
 
@@ -10,7 +10,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
10
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
11
11
 
12
12
  var _templateObject;
13
- var SectionSeparator$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n height: ", ";\n width: ", ";\n\n ", "\n"])), function (props) {
13
+ var SectionSeparator$1 = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n height: ", ";\n width: ", ";\n\n ", "\n"])), function (props) {
14
14
  return props.vertical ? '100%' : '1px';
15
15
  }, function (props) {
16
16
  return props.vertical ? '1px' : '100%';
@@ -18,11 +18,12 @@ var SectionSeparator$1 = styled__default['default'].div.attrs(defaultTheme.apply
18
18
  return props.theme.themeProp('background-color', props.theme.getColor('gray-800'), props.theme.getColor('gray-200'));
19
19
  });
20
20
 
21
- var SectionSeparator = React__default['default'].forwardRef(function SectionSeparator(_ref, forwardedRef) {
22
- var vertical = _ref.vertical,
23
- props = defaultTheme._objectWithoutProperties(_ref, ["vertical"]);
24
-
25
- return React__default['default'].createElement(SectionSeparator$1, defaultTheme._extends({
21
+ var _excluded = ["vertical"];
22
+ var SectionSeparator = React__default["default"].forwardRef(function SectionSeparator(_ref, forwardedRef) {
23
+ var _ref$vertical = _ref.vertical,
24
+ vertical = _ref$vertical === void 0 ? false : _ref$vertical,
25
+ props = defaultTheme._objectWithoutProperties(_ref, _excluded);
26
+ return React__default["default"].createElement(SectionSeparator$1, defaultTheme._extends({
26
27
  vertical: vertical,
27
28
  ref: forwardedRef
28
29
  }, props));
@@ -30,8 +31,5 @@ var SectionSeparator = React__default['default'].forwardRef(function SectionSepa
30
31
  SectionSeparator.propTypes = process.env.NODE_ENV !== "production" ? {
31
32
  vertical: defaultTheme.PropTypes.bool
32
33
  } : {};
33
- SectionSeparator.defaultProps = {
34
- vertical: false
35
- };
36
34
 
37
35
  exports.SectionSeparator = SectionSeparator;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var defaultTheme = require('./defaultTheme-ea44e34a.js');
3
+ var defaultTheme = require('./defaultTheme-cd01e6c2.js');
4
4
  var React = require('react');
5
5
  var nanoid = require('nanoid');
6
6
  var polished = require('polished');
@@ -13,63 +13,63 @@ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
13
13
 
14
14
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
15
15
  var switchButtonSize = '16px';
16
- var Switch$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n * {\n box-sizing: border-box;\n }\n\n display: flex;\n flex-direction: column;\n\n ", "\n\n ", "\n"])), function (props) {
16
+ var Switch$1 = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n * {\n box-sizing: border-box;\n }\n\n display: flex;\n flex-direction: column;\n\n ", "\n\n ", "\n"])), function (props) {
17
17
  return props.readOnly && styled.css(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n opacity: 0.5;\n > * {\n pointer-events: none;\n user-select: text;\n }\n "])));
18
18
  }, function (props) {
19
19
  return props.disabled && styled.css(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n opacity: 0.5;\n cursor: not-allowed;\n * {\n pointer-events: none;\n user-select: text;\n }\n "])));
20
20
  });
21
- var SwitchIndicator = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n display: inline-block;\n position: relative;\n ", "\n height: ", ";\n width: 32px;\n border-radius: 20px;\n border: 1px solid;\n ", "\n transition: background 200ms;\n"])), function (props) {
21
+ var SwitchIndicator = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n display: inline-block;\n position: relative;\n ", "\n height: ", ";\n width: 32px;\n border-radius: 20px;\n border: 1px solid;\n ", "\n transition: background 200ms;\n"])), function (props) {
22
22
  return props.theme.themeProp('background', props.theme.getColor('gray-900'), props.theme.getColor('gray-200'));
23
23
  }, polished.math("".concat(switchButtonSize, " + 2px")), function (props) {
24
24
  return props.theme.themeProp('border-color', props.theme.getColor('gray-500'), props.theme.getColor('gray-300'));
25
25
  });
26
- var SwitchIndicatorButton = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n ", "\n height: ", ";\n width: ", ";\n border-radius: 50%;\n box-shadow: ", " 0 0px 2px 0px;\n transition: left 200ms;\n"])), function (props) {
26
+ var SwitchIndicatorButton = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n position: absolute;\n ", "\n height: ", ";\n width: ", ";\n border-radius: 50%;\n box-shadow: ", " 0 0px 2px 0px;\n transition: left 200ms;\n"])), function (props) {
27
27
  return props.theme.themeProp('background', props.theme.getColor('gray-200'), props.theme.getColor('white'));
28
28
  }, switchButtonSize, switchButtonSize, function (props) {
29
29
  return props.theme.getColor('gray-500');
30
30
  });
31
- var SwitchIndicatorLabelText = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n padding-left: 10px;\n font-weight: 400;\n font-size: 0.875rem;\n line-height: 18px;\n\n ", ";\n"])), function (props) {
31
+ var SwitchIndicatorLabelText = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n padding-left: 10px;\n font-weight: 400;\n font-size: 0.875rem;\n line-height: 18px;\n\n ", ";\n"])), function (props) {
32
32
  return props.theme.themeProp('color', props.theme.getColor('gray-300'), props.theme.getColor('gray-600'));
33
33
  });
34
- var SwitchLabel = styled__default['default'].label.attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n display: inline-flex;\n margin-right: auto;\n cursor: pointer;\n\n input[type='checkbox'] {\n position: absolute;\n opacity: 0;\n }\n\n &:has(input[type='checkbox']:not(:checked)) {\n ", " {\n left: 0;\n }\n }\n\n &:has(input[type='checkbox']:checked) {\n ", " {\n left: calc(100% - ", ");\n }\n\n ", " {\n background: ", ";\n\n ", "\n }\n }\n\n &:has(input[type='checkbox']:focus-visible) {\n ", " {\n ", "\n }\n }\n"])), SwitchIndicatorButton, SwitchIndicatorButton, switchButtonSize, SwitchIndicator, function (props) {
34
+ var SwitchLabel = styled__default["default"].label.attrs(defaultTheme.applyDefaultTheme)(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n display: inline-flex;\n margin-right: auto;\n cursor: pointer;\n\n input[type='checkbox'] {\n position: absolute;\n opacity: 0;\n }\n\n &:has(input[type='checkbox']:not(:checked)) {\n ", " {\n left: 0;\n }\n }\n\n &:has(input[type='checkbox']:checked) {\n ", " {\n left: calc(100% - ", ");\n }\n\n ", " {\n background: ", ";\n\n ", "\n }\n }\n\n &:has(input[type='checkbox']:focus-visible) {\n ", " {\n ", "\n }\n }\n"])), SwitchIndicatorButton, SwitchIndicatorButton, switchButtonSize, SwitchIndicator, function (props) {
35
35
  return props.theme.getColor('emerald-500');
36
36
  }, function (props) {
37
37
  return props.theme.themeProp('border-color', props.theme.getColor('gray-400'), props.theme.getColor('gray-300'), 1);
38
38
  }, SwitchIndicatorButton, function (props) {
39
39
  return props.theme.themeProp('outline', "8px solid ".concat(polished.rgba(props.theme.getColor('emerald-500'), 0.5)), "8px solid ".concat(polished.rgba(props.theme.getColor('emerald-500'), 0.3)), 1);
40
40
  });
41
- var Description = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n margin: ", " 0 0 0;\n font-size: 0.75rem;\n line-height: 1.333;\n\n ", ";\n"])), function (props) {
41
+ var Description = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n margin: ", " 0 0 0;\n font-size: 0.75rem;\n line-height: 1.333;\n\n ", ";\n"])), function (props) {
42
42
  return props.spaciousDescription ? '16px' : '6px';
43
43
  }, function (props) {
44
44
  return props.theme.themeProp('color', props.theme.getColor('gray-400'), props.theme.getColor('gray-500'));
45
45
  });
46
46
 
47
- var Switch = React__default['default'].forwardRef(function Switch(_ref, forwardedRef) {
47
+ var Switch = React__default["default"].forwardRef(function Switch(_ref, forwardedRef) {
48
48
  var name = _ref.name,
49
- checked = _ref.checked,
50
- defaultChecked = _ref.defaultChecked,
51
- label = _ref.label,
52
- disabled = _ref.disabled,
53
- readOnly = _ref.readOnly,
54
- description = _ref.description,
55
- spaciousDescription = _ref.spaciousDescription,
56
- className = _ref.className,
57
- style = _ref.style,
58
- onChange = _ref.onChange,
59
- onBlur = _ref.onBlur;
60
-
49
+ checked = _ref.checked,
50
+ defaultChecked = _ref.defaultChecked,
51
+ label = _ref.label,
52
+ _ref$disabled = _ref.disabled,
53
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
54
+ _ref$readOnly = _ref.readOnly,
55
+ readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
56
+ description = _ref.description,
57
+ spaciousDescription = _ref.spaciousDescription,
58
+ className = _ref.className,
59
+ style = _ref.style,
60
+ onChange = _ref.onChange,
61
+ onBlur = _ref.onBlur;
61
62
  var _useState = React.useState(nanoid.nanoid()),
62
- _useState2 = defaultTheme._slicedToArray(_useState, 1),
63
- uniqueId = _useState2[0];
64
-
65
- return React__default['default'].createElement(Switch$1, {
63
+ _useState2 = defaultTheme._slicedToArray(_useState, 1),
64
+ uniqueId = _useState2[0];
65
+ return React__default["default"].createElement(Switch$1, {
66
66
  disabled: disabled,
67
67
  readOnly: readOnly,
68
68
  className: className,
69
69
  style: style
70
- }, React__default['default'].createElement(SwitchLabel, {
70
+ }, React__default["default"].createElement(SwitchLabel, {
71
71
  htmlFor: uniqueId
72
- }, React__default['default'].createElement("input", {
72
+ }, React__default["default"].createElement("input", {
73
73
  ref: forwardedRef,
74
74
  checked: checked,
75
75
  defaultChecked: defaultChecked,
@@ -80,7 +80,7 @@ var Switch = React__default['default'].forwardRef(function Switch(_ref, forwarde
80
80
  type: "checkbox",
81
81
  onBlur: onBlur,
82
82
  onChange: onChange
83
- }), React__default['default'].createElement(SwitchIndicator, null, React__default['default'].createElement(SwitchIndicatorButton, null)), typeof label === 'string' && label.length > 0 && React__default['default'].createElement(SwitchIndicatorLabelText, null, label)), typeof description === 'string' && description.length > 0 && React__default['default'].createElement(Description, {
83
+ }), React__default["default"].createElement(SwitchIndicator, null, React__default["default"].createElement(SwitchIndicatorButton, null)), typeof label === 'string' && label.length > 0 && React__default["default"].createElement(SwitchIndicatorLabelText, null, label)), typeof description === 'string' && description.length > 0 && React__default["default"].createElement(Description, {
84
84
  spaciousDescription: spaciousDescription
85
85
  }, description));
86
86
  });
@@ -99,9 +99,5 @@ Switch.propTypes = process.env.NODE_ENV !== "production" ? {
99
99
  onChange: defaultTheme.PropTypes.func,
100
100
  onBlur: defaultTheme.PropTypes.func
101
101
  } : {};
102
- Switch.defaultProps = {
103
- disabled: false,
104
- readOnly: false
105
- };
106
102
 
107
103
  exports.Switch = Switch;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var defaultTheme = require('./defaultTheme-ea44e34a.js');
3
+ var defaultTheme = require('./defaultTheme-cd01e6c2.js');
4
4
  var React = require('react');
5
5
  var styled = require('styled-components');
6
6
 
@@ -10,17 +10,18 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
10
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
11
11
 
12
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"])), function (props) {
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"])), function (props) {
14
14
  return props.theme.primaryFontFamily;
15
15
  });
16
16
 
17
- var Tab = React__default['default'].forwardRef(function Tab(_ref, forwardedRef) {
17
+ var _excluded = ["children", "hidden"];
18
+ var Tab = React__default["default"].forwardRef(function Tab(_ref, forwardedRef) {
18
19
  var children = _ref.children,
19
- hidden = _ref.hidden,
20
- props = defaultTheme._objectWithoutProperties(_ref, ["children", "hidden"]);
21
-
20
+ _ref$hidden = _ref.hidden,
21
+ hidden = _ref$hidden === void 0 ? false : _ref$hidden,
22
+ props = defaultTheme._objectWithoutProperties(_ref, _excluded);
22
23
  if (hidden) return null;
23
- return React__default['default'].createElement(Tab$1, defaultTheme._extends({
24
+ return React__default["default"].createElement(Tab$1, defaultTheme._extends({
24
25
  ref: forwardedRef
25
26
  }, props), children);
26
27
  });
@@ -28,8 +29,5 @@ Tab.propTypes = process.env.NODE_ENV !== "production" ? {
28
29
  children: defaultTheme.PropTypes.any,
29
30
  hidden: defaultTheme.PropTypes.bool
30
31
  } : {};
31
- Tab.defaultProps = {
32
- hidden: false
33
- };
34
32
 
35
33
  exports.Tab = Tab;
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var defaultTheme = require('./defaultTheme-ea44e34a.js');
3
+ var defaultTheme = require('./defaultTheme-cd01e6c2.js');
4
4
  var lodash = require('lodash');
5
5
  var React = require('react');
6
- var Tab = require('./Tab-f499ecbc.js');
6
+ var Tab = require('./Tab-124fef45.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 }; }
@@ -11,15 +11,19 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
11
11
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
12
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
13
13
 
14
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
15
- var Tabs$1 = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n display: block;\n position: relative;\n ", ";\n"])), function (props) {
14
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
15
+ var Tabs$1 = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject || (_templateObject = defaultTheme._taggedTemplateLiteral(["\n display: block;\n position: relative;\n ", ";\n"])), function (props) {
16
16
  return props.backgroundColor && styled.css(_templateObject2 || (_templateObject2 = defaultTheme._taggedTemplateLiteral(["\n background-color: ", ";\n "])), props.backgroundColor);
17
17
  });
18
- var TabHeaders = styled__default['default'].ul.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = 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"])));
19
- var TabHeader = styled__default['default'].li.attrs(defaultTheme.applyDefaultTheme)(_templateObject4 || (_templateObject4 = 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 ", ";\n &&:hover:not(:focus) {\n ", ";\n }\n"])), function (props) {
18
+ var TabHeaders = styled__default["default"].ul.attrs(defaultTheme.applyDefaultTheme)(_templateObject3 || (_templateObject3 = defaultTheme._taggedTemplateLiteral(["\n display: flex;\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n gap: 24px;\n\n margin: 0;\n ", ";\n ", ";\n"])), function (props) {
19
+ return !props.customPadding && styled.css(_templateObject4 || (_templateObject4 = defaultTheme._taggedTemplateLiteral(["\n padding: 0;\n "])));
20
+ }, function (props) {
21
+ return props.customPadding && styled.css(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n padding: 0 ", ";\n "])), props.customPadding);
22
+ });
23
+ var TabHeader = styled__default["default"].li.attrs(defaultTheme.applyDefaultTheme)(_templateObject6 || (_templateObject6 = 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 ", ";\n &&:hover:not(:focus) {\n ", ";\n }\n"])), function (props) {
20
24
  return props.theme.secondaryFontFamily;
21
25
  }, function (props) {
22
- return props.active && styled.css(_templateObject5 || (_templateObject5 = defaultTheme._taggedTemplateLiteral(["\n ", "\n "])), function (props) {
26
+ return props.active && styled.css(_templateObject7 || (_templateObject7 = defaultTheme._taggedTemplateLiteral(["\n ", "\n "])), function (props) {
23
27
  return props.theme.themeProp('border-color', props.theme.getColor('gray-400'), props.theme.getColor('gray-700'));
24
28
  });
25
29
  }, function (props) {
@@ -37,53 +41,45 @@ var TabHeader = styled__default['default'].li.attrs(defaultTheme.applyDefaultThe
37
41
  }
38
42
  });
39
43
  });
40
- var TabContent = styled__default['default'].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject6 || (_templateObject6 = defaultTheme._taggedTemplateLiteral(["\n border-top: 1px solid;\n margin-top: -2px;\n display: block;\n ", ";\n"])), function (props) {
44
+ var TabContent = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject8 || (_templateObject8 = defaultTheme._taggedTemplateLiteral(["\n display: block;\n"])));
45
+ var TabHeaderBorder = styled__default["default"].div.attrs(defaultTheme.applyDefaultTheme)(_templateObject9 || (_templateObject9 = defaultTheme._taggedTemplateLiteral(["\n border-top: 1px solid;\n\n ", ";\n ", ";\n ", ";\n"])), function (props) {
41
46
  return props.theme.themeProp('border-color', props.theme.getColor('gray-600'), '#F0F2F5');
47
+ }, function (props) {
48
+ return !props.customPadding && styled.css(_templateObject10 || (_templateObject10 = defaultTheme._taggedTemplateLiteral(["\n margin: -2px 0;\n "])));
49
+ }, function (props) {
50
+ return props.customPadding && styled.css(_templateObject11 || (_templateObject11 = defaultTheme._taggedTemplateLiteral(["\n margin: -2px ", ";\n "])), props.customPadding);
42
51
  });
43
52
 
44
- var Tabs = React__default['default'].forwardRef(function Tabs(_ref, forwardedRef) {
53
+ var _excluded = ["children", "defaultMinHeight", "customPadding"];
54
+ var Tabs = React__default["default"].forwardRef(function Tabs(_ref, forwardedRef) {
45
55
  var children = _ref.children,
46
- defaultMinHeight = _ref.defaultMinHeight,
47
- props = defaultTheme._objectWithoutProperties(_ref, ["children", "defaultMinHeight"]);
48
-
56
+ _ref$defaultMinHeight = _ref.defaultMinHeight,
57
+ defaultMinHeight = _ref$defaultMinHeight === void 0 ? '' : _ref$defaultMinHeight,
58
+ _ref$customPadding = _ref.customPadding,
59
+ customPadding = _ref$customPadding === void 0 ? '0' : _ref$customPadding,
60
+ props = defaultTheme._objectWithoutProperties(_ref, _excluded);
49
61
  var _useState = React.useState(0),
50
- _useState2 = defaultTheme._slicedToArray(_useState, 2),
51
- activeTab = _useState2[0],
52
- setActiveTab = _useState2[1];
53
-
54
- var _useState3 = React.useState(),
55
- _useState4 = defaultTheme._slicedToArray(_useState3, 2),
56
- defaultHeight = _useState4[0],
57
- setDefaultHeight = _useState4[1];
58
-
62
+ _useState2 = defaultTheme._slicedToArray(_useState, 2),
63
+ activeTab = _useState2[0],
64
+ setActiveTab = _useState2[1];
59
65
  var contentRef = React.useRef(null);
60
- React.useEffect(function () {
61
- setDefaultHeight(defaultMinHeight);
62
- }, []);
63
66
  var tabs = React.useMemo(function () {
64
67
  var tabs = [];
65
-
66
68
  function extractChildren(children) {
67
69
  React.Children.forEach(children, function (child, index) {
68
70
  var _child$props2;
69
-
70
71
  if (lodash.isNil(child)) {
71
72
  return null;
72
73
  }
73
-
74
74
  if (child.type === React.Fragment) {
75
75
  var _child$props;
76
-
77
76
  extractChildren((_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.children);
78
77
  }
79
-
80
78
  if ((_child$props2 = child.props) !== null && _child$props2 !== void 0 && _child$props2.hidden) {
81
79
  return null;
82
80
  }
83
-
84
81
  if (child.type === Tab.Tab) {
85
82
  var _child$props3, _child$props4;
86
-
87
83
  tabs.push({
88
84
  key: index,
89
85
  trigger: (_child$props3 = child.props) === null || _child$props3 === void 0 ? void 0 : _child$props3.trigger,
@@ -92,25 +88,23 @@ var Tabs = React__default['default'].forwardRef(function Tabs(_ref, forwardedRef
92
88
  }
93
89
  });
94
90
  }
95
-
96
91
  extractChildren(children);
97
-
98
92
  if (!tabs.some(function (tab) {
99
93
  return (tab === null || tab === void 0 ? void 0 : tab.key) === activeTab;
100
94
  })) {
101
95
  var _tabs$;
102
-
103
96
  setActiveTab((_tabs$ = tabs[0]) === null || _tabs$ === void 0 ? void 0 : _tabs$.key);
104
97
  }
105
-
106
98
  return tabs;
107
99
  }, [children]);
108
- return React__default['default'].createElement(Tabs$1, defaultTheme._extends({
100
+ return React__default["default"].createElement(Tabs$1, defaultTheme._extends({
109
101
  ref: forwardedRef
110
102
  }, props, {
111
103
  role: "tablist"
112
- }), React__default['default'].createElement(TabHeaders, null, tabs.map(function (tab) {
113
- return React__default['default'].createElement(TabHeader, {
104
+ }), React__default["default"].createElement(TabHeaders, {
105
+ customPadding: customPadding
106
+ }, tabs.map(function (tab) {
107
+ return React__default["default"].createElement(TabHeader, {
114
108
  key: tab.key,
115
109
  hidden: tab.hidden,
116
110
  active: tab.key === activeTab,
@@ -119,25 +113,25 @@ var Tabs = React__default['default'].forwardRef(function Tabs(_ref, forwardedRef
119
113
  },
120
114
  role: "tab"
121
115
  }, tab.trigger);
122
- })), React__default['default'].createElement(TabContent, null, tabs.map(function (tab) {
123
- return React__default['default'].createElement("div", {
116
+ })), React__default["default"].createElement(TabHeaderBorder, {
117
+ customPadding: customPadding
118
+ }), React__default["default"].createElement(TabContent, null, tabs.map(function (tab) {
119
+ return React__default["default"].createElement("div", {
124
120
  ref: tab.key === (activeTab === null || activeTab === void 0 ? void 0 : activeTab.key) ? contentRef : null,
125
121
  key: tab.key,
126
122
  role: "tabpanel",
127
123
  hidden: tab.key !== activeTab,
128
124
  style: {
129
- minHeight: !lodash.isEmpty(defaultHeight) ? defaultHeight : ''
125
+ minHeight: !lodash.isEmpty(defaultMinHeight) ? defaultMinHeight : ''
130
126
  }
131
127
  }, tab.content);
132
128
  })));
133
129
  });
134
- Tabs.defaultProps = {
135
- defaultMinHeight: ''
136
- };
137
130
  Tabs.propTypes = process.env.NODE_ENV !== "production" ? {
138
131
  children: defaultTheme.PropTypes.oneOfType([defaultTheme.PropTypes.array, defaultTheme.PropTypes.object]),
139
132
  backgroundColor: defaultTheme.PropTypes.string,
140
- defaultMinHeight: defaultTheme.PropTypes.string
133
+ defaultMinHeight: defaultTheme.PropTypes.string,
134
+ customPadding: defaultTheme.PropTypes.string
141
135
  } : {};
142
136
 
143
137
  exports.Tabs = Tabs;