@occmundial/occ-atomic 3.0.0-beta.45 → 3.0.0-beta.47

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _context = require("../context");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
23
+
24
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
25
+
26
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
27
+
28
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
29
+
30
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
31
+
32
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
33
+
34
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
35
+
36
+ function useIsMounted() {
37
+ var isMounted = (0, _react.useRef)(false);
38
+ (0, _react.useEffect)(function () {
39
+ isMounted.current = true;
40
+ return function () {
41
+ isMounted.current = false;
42
+ };
43
+ }, []);
44
+ return isMounted;
45
+ }
46
+
47
+ function debouce(func) {
48
+ var timer;
49
+ return function () {
50
+ var _this = this;
51
+
52
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
53
+ args[_key] = arguments[_key];
54
+ }
55
+
56
+ clearTimeout(timer);
57
+ timer = setTimeout(function () {
58
+ return func.apply(_this, args);
59
+ }, 0);
60
+ };
61
+ }
62
+
63
+ function TabIndicator(_ref) {
64
+ var tabRef = _ref.tabRef,
65
+ indexValueMap = _ref.indexValueMap,
66
+ size = _ref.size,
67
+ classes = _ref.classes;
68
+ var isMounted = useIsMounted();
69
+
70
+ var _useTabsContext = (0, _context.useTabsContext)(),
71
+ currentValue = _useTabsContext.currentValue;
72
+
73
+ var _useState = (0, _react.useState)({
74
+ left: 0,
75
+ width: 0
76
+ }),
77
+ _useState2 = _slicedToArray(_useState, 2),
78
+ positionStyles = _useState2[0],
79
+ setPositionStyles = _useState2[1];
80
+
81
+ var updatePosition = (0, _react.useCallback)(function () {
82
+ var _tabRef$current;
83
+
84
+ var children = tabRef === null || tabRef === void 0 ? void 0 : (_tabRef$current = tabRef.current) === null || _tabRef$current === void 0 ? void 0 : _tabRef$current.children;
85
+
86
+ if (children && indexValueMap.size) {
87
+ var currentIndex = indexValueMap.get(currentValue);
88
+
89
+ if (currentIndex >= 0) {
90
+ var rect = children[currentIndex].getBoundingClientRect();
91
+ var rectContainer = tabRef.current.getBoundingClientRect();
92
+ setPositionStyles({
93
+ width: children[currentIndex].clientWidth,
94
+ left: rect.left - rectContainer.left
95
+ });
96
+ var left = children[currentIndex].offsetLeft > 0 ? children[currentIndex].offsetLeft - (tabRef === null || tabRef === void 0 ? void 0 : tabRef.current.parentElement.clientWidth) / 2 + children[currentIndex].clientWidth / 2 : 0;
97
+ if (tabRef.current.parentElement.scrollTo) tabRef.current.parentElement.scrollTo({
98
+ behavior: 'smooth',
99
+ left: left
100
+ });
101
+ }
102
+ }
103
+ }, [tabRef, currentValue, indexValueMap]);
104
+ (0, _react.useEffect)(function () {
105
+ if (isMounted.current) updatePosition();
106
+ }, [updatePosition, isMounted]);
107
+ (0, _react.useEffect)(function () {
108
+ var resizeObserver;
109
+
110
+ if (tabRef !== null && tabRef !== void 0 && tabRef.current && isMounted.current) {
111
+ resizeObserver = new ResizeObserver(debouce(function (entries) {
112
+ var element = entries[0];
113
+ var rectContainer = element.target.getBoundingClientRect();
114
+
115
+ var _iterator = _createForOfIteratorHelper(element.target.children),
116
+ _step;
117
+
118
+ try {
119
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
120
+ var child = _step.value;
121
+
122
+ if (child.className.includes('selected')) {
123
+ var rect = child.getBoundingClientRect();
124
+ if (isMounted.current) setPositionStyles({
125
+ width: child.clientWidth,
126
+ left: rect.left - rectContainer.left
127
+ });
128
+ }
129
+ }
130
+ } catch (err) {
131
+ _iterator.e(err);
132
+ } finally {
133
+ _iterator.f();
134
+ }
135
+ }));
136
+ resizeObserver.observe(tabRef.current);
137
+ }
138
+
139
+ return function () {
140
+ var _resizeObserver;
141
+
142
+ (_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 ? void 0 : _resizeObserver.disconnect();
143
+ };
144
+ }, [tabRef, isMounted]);
145
+ return /*#__PURE__*/_react["default"].createElement("div", {
146
+ className: "".concat(classes.container).concat(size === 'small' ? " ".concat(classes.small) : ''),
147
+ style: positionStyles
148
+ });
149
+ }
150
+
151
+ TabIndicator.propTypes = {
152
+ tabRef: _propTypes["default"].object,
153
+ classes: _propTypes["default"].object.isRequired,
154
+ indexValueMap: _propTypes["default"].object,
155
+ size: _propTypes["default"].oneOf(['large', 'medium', 'small'])
156
+ };
157
+ var _default = TabIndicator;
158
+ exports["default"] = _default;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _reactJss = _interopRequireDefault(require("react-jss"));
9
+
10
+ var _TabIndicator = _interopRequireDefault(require("./TabIndicator"));
11
+
12
+ var _styles = _interopRequireDefault(require("./styles"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
+
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
17
+
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
19
+
20
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
+
22
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
23
+
24
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
25
+
26
+ var StyledTabIndicator = (0, _reactJss["default"])(_styles["default"])(_TabIndicator["default"]); // eslint-disable-next-line
27
+
28
+ var _TabIndicator$propTyp = _TabIndicator["default"].propTypes,
29
+ classes = _TabIndicator$propTyp.classes,
30
+ propTypes = _objectWithoutProperties(_TabIndicator$propTyp, ["classes"]);
31
+
32
+ StyledTabIndicator.propTypes = _objectSpread(_objectSpread({}, propTypes), StyledTabIndicator.propTypes);
33
+ var _default = StyledTabIndicator;
34
+ exports["default"] = _default;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _colors = _interopRequireDefault(require("../../tokens/colors.json"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ var _default = {
13
+ container: {
14
+ position: 'absolute',
15
+ bottom: 0,
16
+ height: 4,
17
+ transition: 'all 300ms cubic-bezier(0.4, 0, 0.2, 1)',
18
+ backgroundColor: _colors["default"].border.brand["default"]
19
+ },
20
+ small: {
21
+ height: 2
22
+ }
23
+ };
24
+ exports["default"] = _default;
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ function getNextFocusElement(parentElement, activeElement) {
15
+ if (activeElement !== null && activeElement !== void 0 && activeElement.nextElementSibling) return activeElement.nextElementSibling;
16
+ return parentElement.firstChild;
17
+ }
18
+
19
+ function getPreviousFocusElement(parentElement, activeElement) {
20
+ if (activeElement !== null && activeElement !== void 0 && activeElement.previousElementSibling) return activeElement.previousElementSibling;
21
+ return parentElement.lastChild;
22
+ }
23
+
24
+ function TabList(_ref) {
25
+ var children = _ref.children,
26
+ tabRef = _ref.tabRef,
27
+ classes = _ref.classes;
28
+
29
+ var onKeyDownHandler = function onKeyDownHandler(e) {
30
+ switch (e.key) {
31
+ case 'ArrowRight':
32
+ {
33
+ e.preventDefault();
34
+ var parentElement = tabRef === null || tabRef === void 0 ? void 0 : tabRef.current;
35
+
36
+ if (parentElement.childElementCount > 1) {
37
+ var _document = document,
38
+ activeElement = _document.activeElement;
39
+ var nextFocusElement = getNextFocusElement(parentElement, activeElement);
40
+
41
+ while (nextFocusElement) {
42
+ if (nextFocusElement.getAttribute('disabled') === '') nextFocusElement = getNextFocusElement(parentElement, nextFocusElement);else {
43
+ nextFocusElement.focus();
44
+ var left = nextFocusElement.offsetLeft > 0 ? nextFocusElement.offsetLeft - (tabRef === null || tabRef === void 0 ? void 0 : tabRef.current.parentElement.clientWidth) / 2 + nextFocusElement.clientWidth / 2 : 0;
45
+ tabRef.current.parentElement.scrollTo({
46
+ behavior: 'smooth',
47
+ left: left
48
+ });
49
+ return;
50
+ }
51
+ }
52
+ }
53
+ }
54
+ break;
55
+
56
+ case 'ArrowLeft':
57
+ {
58
+ e.preventDefault();
59
+
60
+ var _parentElement = tabRef === null || tabRef === void 0 ? void 0 : tabRef.current;
61
+
62
+ if (_parentElement.childElementCount > 1) {
63
+ var _document2 = document,
64
+ _activeElement = _document2.activeElement;
65
+
66
+ var _nextFocusElement = getPreviousFocusElement(_parentElement, _activeElement);
67
+
68
+ while (_nextFocusElement) {
69
+ if (_nextFocusElement.getAttribute('disabled') === '') _nextFocusElement = getPreviousFocusElement(_parentElement, _nextFocusElement);else {
70
+ _nextFocusElement.focus();
71
+
72
+ var _left = _nextFocusElement.offsetLeft > 0 ? _nextFocusElement.offsetLeft - (tabRef === null || tabRef === void 0 ? void 0 : tabRef.current.parentElement.clientWidth) / 2 + _nextFocusElement.clientWidth / 2 : 0;
73
+
74
+ tabRef.current.parentElement.scrollTo({
75
+ behavior: 'smooth',
76
+ left: _left
77
+ });
78
+ return;
79
+ }
80
+ }
81
+ }
82
+ }
83
+ break;
84
+
85
+ default:
86
+ break;
87
+ }
88
+ };
89
+
90
+ return /*#__PURE__*/_react["default"].createElement("div", {
91
+ className: classes.container,
92
+ ref: tabRef,
93
+ onKeyDown: onKeyDownHandler,
94
+ role: "tablist"
95
+ }, children);
96
+ }
97
+
98
+ TabList.defaultProps = {
99
+ size: 'large'
100
+ };
101
+ TabList.propTypes = {
102
+ children: _propTypes["default"].node,
103
+ classes: _propTypes["default"].object.isRequired,
104
+ tabRef: _propTypes["default"].object,
105
+ indexValueMap: _propTypes["default"].object
106
+ };
107
+ var _default = TabList;
108
+ exports["default"] = _default;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _reactJss = _interopRequireDefault(require("react-jss"));
9
+
10
+ var _TabList = _interopRequireDefault(require("./TabList"));
11
+
12
+ var _styles = _interopRequireDefault(require("./styles"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
+
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
17
+
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
19
+
20
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
+
22
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
23
+
24
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
25
+
26
+ var StyledTabList = (0, _reactJss["default"])(_styles["default"])(_TabList["default"]); // eslint-disable-next-line
27
+
28
+ var _TabList$propTypes = _TabList["default"].propTypes,
29
+ classes = _TabList$propTypes.classes,
30
+ propTypes = _objectWithoutProperties(_TabList$propTypes, ["classes"]);
31
+
32
+ StyledTabList.propTypes = _objectSpread(_objectSpread({}, propTypes), StyledTabList.propTypes);
33
+ var _default = StyledTabList;
34
+ exports["default"] = _default;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _default = {
8
+ container: {
9
+ display: 'flex',
10
+ flexDirection: 'row'
11
+ }
12
+ };
13
+ exports["default"] = _default;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _TabIndicator = _interopRequireDefault(require("./TabIndicator"));
15
+
16
+ var _TabList = _interopRequireDefault(require("./TabList"));
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ 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); }
25
+
26
+ var TabListRef = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
27
+ // eslint-disable-next-line react/prop-types
28
+ var children = props.children;
29
+ return /*#__PURE__*/_react["default"].createElement(_TabList["default"], _extends({
30
+ tabRef: ref
31
+ }, props), children);
32
+ });
33
+ TabListRef.displayName = TabListRef;
34
+
35
+ function Tabs(props) {
36
+ var ref = (0, _react.useRef)(null);
37
+ var children = props.children,
38
+ size = props.size,
39
+ classes = props.classes;
40
+ var indexValueMap = new Map();
41
+
42
+ var renderTab = function renderTab() {
43
+ return _react.Children.map(children, function (child, index) {
44
+ if (! /*#__PURE__*/(0, _react.isValidElement)(child)) return null;
45
+ var childValue = child.props.value === undefined ? index : child.props.value;
46
+ indexValueMap.set(childValue, index);
47
+ return /*#__PURE__*/(0, _react.cloneElement)(child, {
48
+ value: childValue,
49
+ size: size
50
+ });
51
+ });
52
+ };
53
+
54
+ return /*#__PURE__*/_react["default"].createElement("div", {
55
+ className: classes.container
56
+ }, /*#__PURE__*/_react["default"].createElement(TabListRef, {
57
+ indexValueMap: indexValueMap,
58
+ ref: ref
59
+ }, renderTab()), /*#__PURE__*/_react["default"].createElement(_TabIndicator["default"], {
60
+ size: size,
61
+ tabRef: ref,
62
+ indexValueMap: indexValueMap
63
+ }));
64
+ }
65
+
66
+ Tabs.propTypes = {
67
+ size: _propTypes["default"].oneOf(['large', 'medium', 'small']).isRequired,
68
+ classes: _propTypes["default"].object.isRequired,
69
+ children: _propTypes["default"].node.isRequired,
70
+ value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
71
+ onChange: _propTypes["default"].func
72
+ };
73
+ var _default = Tabs;
74
+ exports["default"] = _default;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.TabsProviderUncontrolled = TabsProviderUncontrolled;
9
+ exports.TabsProviderControlled = TabsProviderControlled;
10
+ exports.useTabsContext = useTabsContext;
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
23
+
24
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
25
+
26
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
27
+
28
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
29
+
30
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
31
+
32
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
+
34
+ var initialContext = {
35
+ currentValue: 0,
36
+ setCurrentValue: function setCurrentValue() {},
37
+ initialize: false
38
+ };
39
+ var TabsContext = /*#__PURE__*/(0, _react.createContext)(initialContext);
40
+
41
+ function TabsProviderUncontrolled(props) {
42
+ var _useState = (0, _react.useState)(0),
43
+ _useState2 = _slicedToArray(_useState, 2),
44
+ currentTabIndex = _useState2[0],
45
+ setCurrentTabIndex = _useState2[1];
46
+
47
+ return /*#__PURE__*/_react["default"].createElement(TabsContext.Provider, {
48
+ value: {
49
+ currentValue: currentTabIndex,
50
+ setCurrentValue: setCurrentTabIndex,
51
+ initialize: true
52
+ }
53
+ }, /*#__PURE__*/_react["default"].createElement("div", {
54
+ style: {
55
+ display: 'flex',
56
+ flexDirection: 'column'
57
+ }
58
+ }, props.children));
59
+ }
60
+
61
+ TabsProviderUncontrolled.propTypes = {
62
+ children: _propTypes["default"].node
63
+ };
64
+
65
+ function TabsProviderControlled(props) {
66
+ return /*#__PURE__*/_react["default"].createElement(TabsContext.Provider, {
67
+ value: {
68
+ currentValue: props.value,
69
+ setCurrentValue: props.setCurrentValue,
70
+ initialize: true
71
+ }
72
+ }, /*#__PURE__*/_react["default"].createElement("div", {
73
+ style: {
74
+ display: 'flex',
75
+ flexDirection: 'column'
76
+ }
77
+ }, props.children));
78
+ }
79
+
80
+ TabsProviderControlled.propTypes = {
81
+ children: _propTypes["default"].node,
82
+ value: _propTypes["default"].oneOf([_propTypes["default"].number, _propTypes["default"].string]),
83
+ setCurrentValue: _propTypes["default"].func
84
+ };
85
+
86
+ function useTabsContext() {
87
+ var context = (0, _react.useContext)(TabsContext);
88
+
89
+ if (context.initialize === false) {
90
+ throw new Error('useTabsContext must be used within a TabsProvider');
91
+ }
92
+
93
+ return context;
94
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _reactJss = _interopRequireDefault(require("react-jss"));
9
+
10
+ var _Tabs = _interopRequireDefault(require("./Tabs"));
11
+
12
+ var _styles = _interopRequireDefault(require("./styles"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
+
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
17
+
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
19
+
20
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
+
22
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
23
+
24
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
25
+
26
+ var StyledTabs = (0, _reactJss["default"])(_styles["default"])(_Tabs["default"]); // eslint-disable-next-line
27
+
28
+ var _Tabs$propTypes = _Tabs["default"].propTypes,
29
+ classes = _Tabs$propTypes.classes,
30
+ propTypes = _objectWithoutProperties(_Tabs$propTypes, ["classes"]);
31
+
32
+ StyledTabs.propTypes = _objectSpread(_objectSpread({}, propTypes), StyledTabs.propTypes);
33
+ var _default = StyledTabs;
34
+ exports["default"] = _default;