@bundle-stats/ui 4.0.6 → 4.0.7-beta.0
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.
- package/lib/app/app.js +8 -4
- package/lib/layout/header/header.stories.js +2 -2
- package/lib/ui/tabs/tabs.js +30 -20
- package/lib/ui/tabs/tabs.stories.js +2 -2
- package/lib-esm/app/app.js +8 -4
- package/lib-esm/layout/header/header.stories.js +2 -2
- package/lib-esm/ui/tabs/tabs.js +27 -13
- package/lib-esm/ui/tabs/tabs.stories.js +2 -2
- package/package.json +16 -16
- package/src/app/app.jsx +8 -8
- package/src/ui/tabs/tabs.jsx +18 -14
package/lib/app/app.js
CHANGED
|
@@ -263,19 +263,23 @@ var AppComponent = function AppComponent(_ref3) {
|
|
|
263
263
|
className: _appModule["default"].tabsContainer
|
|
264
264
|
}, /*#__PURE__*/_react["default"].createElement(_tabs.Tabs, {
|
|
265
265
|
className: _appModule["default"].tabs
|
|
266
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
266
|
+
}, /*#__PURE__*/_react["default"].createElement(_tabs.Tabs.Item, {
|
|
267
|
+
as: _reactRouterDom.NavLink,
|
|
267
268
|
exact: true,
|
|
268
269
|
to: _constants.URLS.OVERVIEW,
|
|
269
270
|
activeClassName: _appModule["default"].tabActive
|
|
270
|
-
}, _i18n["default"].OVERVIEW), /*#__PURE__*/_react["default"].createElement(
|
|
271
|
+
}, _i18n["default"].OVERVIEW), /*#__PURE__*/_react["default"].createElement(_tabs.Tabs.Item, {
|
|
272
|
+
as: _reactRouterDom.NavLink,
|
|
271
273
|
exact: true,
|
|
272
274
|
to: _constants.URLS.ASSETS,
|
|
273
275
|
activeClassName: _appModule["default"].tabActive
|
|
274
|
-
}, _i18n["default"].ASSETS), /*#__PURE__*/_react["default"].createElement(
|
|
276
|
+
}, _i18n["default"].ASSETS), /*#__PURE__*/_react["default"].createElement(_tabs.Tabs.Item, {
|
|
277
|
+
as: _reactRouterDom.NavLink,
|
|
275
278
|
exact: true,
|
|
276
279
|
to: _constants.URLS.MODULES,
|
|
277
280
|
activeClassName: _appModule["default"].tabActive
|
|
278
|
-
}, _i18n["default"].MODULES), /*#__PURE__*/_react["default"].createElement(
|
|
281
|
+
}, _i18n["default"].MODULES), /*#__PURE__*/_react["default"].createElement(_tabs.Tabs.Item, {
|
|
282
|
+
as: _reactRouterDom.NavLink,
|
|
279
283
|
exact: true,
|
|
280
284
|
to: _constants.URLS.PACKAGES,
|
|
281
285
|
activeClassName: _appModule["default"].tabActive
|
|
@@ -28,7 +28,7 @@ stories.add('default', function () {
|
|
|
28
28
|
var className = _ref2.className;
|
|
29
29
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
30
30
|
className: className
|
|
31
|
-
}, /*#__PURE__*/_react["default"].createElement(_tabs.Tabs, null, /*#__PURE__*/_react["default"].createElement(
|
|
31
|
+
}, /*#__PURE__*/_react["default"].createElement(_tabs.Tabs, null, /*#__PURE__*/_react["default"].createElement(_tabs.Tabs.Item, null, "Totals"), /*#__PURE__*/_react["default"].createElement(_tabs.Tabs.Item, null, "Assets"), /*#__PURE__*/_react["default"].createElement(_tabs.Tabs.Item, null, "Modules")));
|
|
32
32
|
},
|
|
33
33
|
renderRight: function renderRight(_ref3) {
|
|
34
34
|
var className = _ref3.className;
|
|
@@ -55,7 +55,7 @@ stories.add('menu on the right', function () {
|
|
|
55
55
|
style: {
|
|
56
56
|
flexBasis: '100%'
|
|
57
57
|
}
|
|
58
|
-
}, /*#__PURE__*/_react["default"].createElement(_tabs.Tabs, null, /*#__PURE__*/_react["default"].createElement(
|
|
58
|
+
}, /*#__PURE__*/_react["default"].createElement(_tabs.Tabs, null, /*#__PURE__*/_react["default"].createElement(_tabs.Tabs.Item, null, "Totals"), /*#__PURE__*/_react["default"].createElement(_tabs.Tabs.Item, null, "Assets"), /*#__PURE__*/_react["default"].createElement(_tabs.Tabs.Item, null, "Modules")));
|
|
59
59
|
}
|
|
60
60
|
});
|
|
61
61
|
});
|
package/lib/ui/tabs/tabs.js
CHANGED
|
@@ -13,37 +13,46 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
13
13
|
|
|
14
14
|
var _tabsModule = _interopRequireDefault(require("./tabs.module.css"));
|
|
15
15
|
|
|
16
|
-
var _excluded = ["
|
|
16
|
+
var _excluded = ["isTabActive", "as", "className"],
|
|
17
|
+
_excluded2 = ["className"];
|
|
17
18
|
|
|
18
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
19
20
|
|
|
20
|
-
function
|
|
21
|
-
|
|
22
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
23
|
-
|
|
24
|
-
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
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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
22
|
|
|
26
23
|
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; }
|
|
27
24
|
|
|
28
25
|
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; }
|
|
29
26
|
|
|
30
|
-
var
|
|
31
|
-
var
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
restProps = _objectWithoutProperties(
|
|
27
|
+
var Item = function Item(_ref) {
|
|
28
|
+
var isTabActive = _ref.isTabActive,
|
|
29
|
+
Component = _ref.as,
|
|
30
|
+
className = _ref.className,
|
|
31
|
+
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
32
|
+
|
|
33
|
+
return /*#__PURE__*/_react["default"].createElement(Component, _extends({
|
|
34
|
+
className: (0, _classnames["default"])(_tabsModule["default"].item, className, isTabActive && _tabsModule["default"].itemActive)
|
|
35
|
+
}, restProps));
|
|
36
|
+
};
|
|
35
37
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
Item.defaultProps = {
|
|
39
|
+
isTabActive: false,
|
|
40
|
+
className: '',
|
|
41
|
+
as: 'span'
|
|
42
|
+
};
|
|
43
|
+
Item.propTypes = {
|
|
44
|
+
isTabActive: _propTypes["default"].bool,
|
|
45
|
+
className: _propTypes["default"].string,
|
|
46
|
+
as: _propTypes["default"].elementType
|
|
39
47
|
};
|
|
40
48
|
|
|
41
|
-
var Tabs = function Tabs(
|
|
42
|
-
var className =
|
|
43
|
-
|
|
44
|
-
|
|
49
|
+
var Tabs = function Tabs(_ref2) {
|
|
50
|
+
var className = _ref2.className,
|
|
51
|
+
restProps = _objectWithoutProperties(_ref2, _excluded2);
|
|
52
|
+
|
|
53
|
+
return /*#__PURE__*/_react["default"].createElement("nav", _extends({
|
|
45
54
|
className: (0, _classnames["default"])(_tabsModule["default"].root, className)
|
|
46
|
-
},
|
|
55
|
+
}, restProps));
|
|
47
56
|
};
|
|
48
57
|
|
|
49
58
|
exports.Tabs = Tabs;
|
|
@@ -56,4 +65,5 @@ Tabs.propTypes = {
|
|
|
56
65
|
|
|
57
66
|
/** Component children */
|
|
58
67
|
children: _propTypes["default"].node.isRequired
|
|
59
|
-
};
|
|
68
|
+
};
|
|
69
|
+
Tabs.Item = Item;
|
|
@@ -13,7 +13,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
|
|
|
13
13
|
var stories = (0, _react2.storiesOf)('UI/Tabs', module);
|
|
14
14
|
stories.addDecorator((0, _stories.getWrapperDecorator)());
|
|
15
15
|
stories.add('default', function () {
|
|
16
|
-
return /*#__PURE__*/_react["default"].createElement(_.Tabs, null, /*#__PURE__*/_react["default"].createElement(
|
|
16
|
+
return /*#__PURE__*/_react["default"].createElement(_.Tabs, null, /*#__PURE__*/_react["default"].createElement(_.Tabs.Item, {
|
|
17
17
|
isTabActive: true
|
|
18
|
-
}, "Option A"), /*#__PURE__*/_react["default"].createElement(
|
|
18
|
+
}, "Option A"), /*#__PURE__*/_react["default"].createElement(_.Tabs.Item, null, "Option B"), /*#__PURE__*/_react["default"].createElement(_.Tabs.Item, null, "Option C"));
|
|
19
19
|
});
|
package/lib-esm/app/app.js
CHANGED
|
@@ -199,19 +199,23 @@ const AppComponent = _ref3 => {
|
|
|
199
199
|
className: css.tabsContainer
|
|
200
200
|
}, /*#__PURE__*/React.createElement(Tabs, {
|
|
201
201
|
className: css.tabs
|
|
202
|
-
}, /*#__PURE__*/React.createElement(
|
|
202
|
+
}, /*#__PURE__*/React.createElement(Tabs.Item, {
|
|
203
|
+
as: NavLink,
|
|
203
204
|
exact: true,
|
|
204
205
|
to: URLS.OVERVIEW,
|
|
205
206
|
activeClassName: css.tabActive
|
|
206
|
-
}, I18N.OVERVIEW), /*#__PURE__*/React.createElement(
|
|
207
|
+
}, I18N.OVERVIEW), /*#__PURE__*/React.createElement(Tabs.Item, {
|
|
208
|
+
as: NavLink,
|
|
207
209
|
exact: true,
|
|
208
210
|
to: URLS.ASSETS,
|
|
209
211
|
activeClassName: css.tabActive
|
|
210
|
-
}, I18N.ASSETS), /*#__PURE__*/React.createElement(
|
|
212
|
+
}, I18N.ASSETS), /*#__PURE__*/React.createElement(Tabs.Item, {
|
|
213
|
+
as: NavLink,
|
|
211
214
|
exact: true,
|
|
212
215
|
to: URLS.MODULES,
|
|
213
216
|
activeClassName: css.tabActive
|
|
214
|
-
}, I18N.MODULES), /*#__PURE__*/React.createElement(
|
|
217
|
+
}, I18N.MODULES), /*#__PURE__*/React.createElement(Tabs.Item, {
|
|
218
|
+
as: NavLink,
|
|
215
219
|
exact: true,
|
|
216
220
|
to: URLS.PACKAGES,
|
|
217
221
|
activeClassName: css.tabActive
|
|
@@ -21,7 +21,7 @@ stories.add('default', () => /*#__PURE__*/React.createElement(Header, {
|
|
|
21
21
|
} = _ref2;
|
|
22
22
|
return /*#__PURE__*/React.createElement("div", {
|
|
23
23
|
className: className
|
|
24
|
-
}, /*#__PURE__*/React.createElement(Tabs, null, /*#__PURE__*/React.createElement(
|
|
24
|
+
}, /*#__PURE__*/React.createElement(Tabs, null, /*#__PURE__*/React.createElement(Tabs.Item, null, "Totals"), /*#__PURE__*/React.createElement(Tabs.Item, null, "Assets"), /*#__PURE__*/React.createElement(Tabs.Item, null, "Modules")));
|
|
25
25
|
},
|
|
26
26
|
renderRight: _ref3 => {
|
|
27
27
|
let {
|
|
@@ -52,6 +52,6 @@ stories.add('menu on the right', () => /*#__PURE__*/React.createElement(Header,
|
|
|
52
52
|
style: {
|
|
53
53
|
flexBasis: '100%'
|
|
54
54
|
}
|
|
55
|
-
}, /*#__PURE__*/React.createElement(Tabs, null, /*#__PURE__*/React.createElement(
|
|
55
|
+
}, /*#__PURE__*/React.createElement(Tabs, null, /*#__PURE__*/React.createElement(Tabs.Item, null, "Totals"), /*#__PURE__*/React.createElement(Tabs.Item, null, "Assets"), /*#__PURE__*/React.createElement(Tabs.Item, null, "Modules")));
|
|
56
56
|
}
|
|
57
57
|
}));
|
package/lib-esm/ui/tabs/tabs.js
CHANGED
|
@@ -1,27 +1,40 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
|
|
2
|
+
|
|
1
3
|
import React from 'react';
|
|
2
4
|
import PropTypes from 'prop-types';
|
|
3
5
|
import cx from 'classnames';
|
|
4
6
|
import css from './tabs.module.css';
|
|
5
7
|
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
className,
|
|
8
|
+
const Item = _ref => {
|
|
9
|
+
let {
|
|
9
10
|
isTabActive,
|
|
11
|
+
as: Component,
|
|
12
|
+
className,
|
|
10
13
|
...restProps
|
|
11
|
-
} =
|
|
12
|
-
return /*#__PURE__*/React.
|
|
13
|
-
className: cx(css.item, isTabActive && css.itemActive
|
|
14
|
-
});
|
|
14
|
+
} = _ref;
|
|
15
|
+
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
16
|
+
className: cx(css.item, className, isTabActive && css.itemActive)
|
|
17
|
+
}, restProps));
|
|
15
18
|
};
|
|
16
19
|
|
|
17
|
-
|
|
20
|
+
Item.defaultProps = {
|
|
21
|
+
isTabActive: false,
|
|
22
|
+
className: '',
|
|
23
|
+
as: 'span'
|
|
24
|
+
};
|
|
25
|
+
Item.propTypes = {
|
|
26
|
+
isTabActive: PropTypes.bool,
|
|
27
|
+
className: PropTypes.string,
|
|
28
|
+
as: PropTypes.elementType
|
|
29
|
+
};
|
|
30
|
+
export const Tabs = _ref2 => {
|
|
18
31
|
let {
|
|
19
32
|
className,
|
|
20
|
-
|
|
21
|
-
} =
|
|
22
|
-
return /*#__PURE__*/React.createElement("nav", {
|
|
33
|
+
...restProps
|
|
34
|
+
} = _ref2;
|
|
35
|
+
return /*#__PURE__*/React.createElement("nav", _extends({
|
|
23
36
|
className: cx(css.root, className)
|
|
24
|
-
},
|
|
37
|
+
}, restProps));
|
|
25
38
|
};
|
|
26
39
|
Tabs.defaultProps = {
|
|
27
40
|
className: ''
|
|
@@ -32,4 +45,5 @@ Tabs.propTypes = {
|
|
|
32
45
|
|
|
33
46
|
/** Component children */
|
|
34
47
|
children: PropTypes.node.isRequired
|
|
35
|
-
};
|
|
48
|
+
};
|
|
49
|
+
Tabs.Item = Item;
|
|
@@ -4,6 +4,6 @@ import { getWrapperDecorator } from '../../stories';
|
|
|
4
4
|
import { Tabs } from '.';
|
|
5
5
|
const stories = storiesOf('UI/Tabs', module);
|
|
6
6
|
stories.addDecorator(getWrapperDecorator());
|
|
7
|
-
stories.add('default', () => /*#__PURE__*/React.createElement(Tabs, null, /*#__PURE__*/React.createElement(
|
|
7
|
+
stories.add('default', () => /*#__PURE__*/React.createElement(Tabs, null, /*#__PURE__*/React.createElement(Tabs.Item, {
|
|
8
8
|
isTabActive: true
|
|
9
|
-
}, "Option A"), /*#__PURE__*/React.createElement(
|
|
9
|
+
}, "Option A"), /*#__PURE__*/React.createElement(Tabs.Item, null, "Option B"), /*#__PURE__*/React.createElement(Tabs.Item, null, "Option C")));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bundle-stats/ui",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.7-beta.0",
|
|
4
4
|
"description": "UI components for BundleStats projects.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-esm/index.js",
|
|
@@ -37,27 +37,27 @@
|
|
|
37
37
|
"homepage": "https://github.com/relative-ci/bundle-stats/blob/master/packages/ui#readme",
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@babel/cli": "7.18.10",
|
|
40
|
-
"@babel/core": "7.
|
|
40
|
+
"@babel/core": "7.19.1",
|
|
41
41
|
"@babel/plugin-proposal-class-properties": "7.18.6",
|
|
42
|
-
"@babel/preset-env": "7.
|
|
42
|
+
"@babel/preset-env": "7.19.1",
|
|
43
43
|
"@babel/preset-react": "7.18.6",
|
|
44
44
|
"@simplyianm/babel-plugin-inline-react-svg": "1.2.0",
|
|
45
|
-
"@storybook/addon-essentials": "6.5.
|
|
45
|
+
"@storybook/addon-essentials": "6.5.12",
|
|
46
46
|
"@storybook/addon-knobs": "6.4.0",
|
|
47
47
|
"@storybook/addon-postcss": "2.0.0",
|
|
48
|
-
"@storybook/addon-storyshots": "6.5.
|
|
49
|
-
"@storybook/addons": "6.5.
|
|
50
|
-
"@storybook/builder-webpack5": "6.5.
|
|
51
|
-
"@storybook/manager-webpack5": "6.5.
|
|
52
|
-
"@storybook/react": "6.5.
|
|
48
|
+
"@storybook/addon-storyshots": "6.5.12",
|
|
49
|
+
"@storybook/addons": "6.5.12",
|
|
50
|
+
"@storybook/builder-webpack5": "6.5.12",
|
|
51
|
+
"@storybook/manager-webpack5": "6.5.12",
|
|
52
|
+
"@storybook/react": "6.5.12",
|
|
53
53
|
"babel-core": "7.0.0-bridge.0",
|
|
54
|
-
"babel-jest": "29.0.
|
|
54
|
+
"babel-jest": "29.0.3",
|
|
55
55
|
"babel-plugin-lodash": "3.3.4",
|
|
56
56
|
"babel-plugin-require-context-hook": "1.0.0",
|
|
57
|
-
"chromatic": "6.
|
|
58
|
-
"classnames": "2.3.
|
|
57
|
+
"chromatic": "6.10.0",
|
|
58
|
+
"classnames": "2.3.2",
|
|
59
59
|
"colormap": "2.3.2",
|
|
60
|
-
"core-js": "3.25.
|
|
60
|
+
"core-js": "3.25.2",
|
|
61
61
|
"cross-env": "7.0.3",
|
|
62
62
|
"enzyme": "3.11.0",
|
|
63
63
|
"enzyme-adapter-react-16": "1.15.6",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"prop-types": "15.8.1",
|
|
72
72
|
"react": "16.14.0",
|
|
73
73
|
"react-dom": "16.14.0",
|
|
74
|
-
"react-router-dom": "5.3.
|
|
74
|
+
"react-router-dom": "5.3.3",
|
|
75
75
|
"react-test-renderer": "16.14.0",
|
|
76
76
|
"rimraf": "3.0.2"
|
|
77
77
|
},
|
|
@@ -85,12 +85,12 @@
|
|
|
85
85
|
"react-router-dom": "^5.0.0"
|
|
86
86
|
},
|
|
87
87
|
"dependencies": {
|
|
88
|
-
"@bundle-stats/utils": "^4.0.
|
|
88
|
+
"@bundle-stats/utils": "^4.0.7-beta.0",
|
|
89
89
|
"ariakit": "^2.0.0-next.33",
|
|
90
90
|
"date-fns": "^2.28.0",
|
|
91
91
|
"modern-css-reset": "^1.4.0",
|
|
92
92
|
"query-string": "^7.1.0",
|
|
93
93
|
"use-query-params": "^2.0.0"
|
|
94
94
|
},
|
|
95
|
-
"gitHead": "
|
|
95
|
+
"gitHead": "b5c30d5074ec4fc3bfceed4475e8d3c3e1f2dac5"
|
|
96
96
|
}
|
package/src/app/app.jsx
CHANGED
|
@@ -183,18 +183,18 @@ const AppComponent = ({ version, jobs }) => {
|
|
|
183
183
|
|
|
184
184
|
<Container className={css.tabsContainer}>
|
|
185
185
|
<Tabs className={css.tabs}>
|
|
186
|
-
<NavLink exact to={URLS.OVERVIEW} activeClassName={css.tabActive}>
|
|
186
|
+
<Tabs.Item as={NavLink} exact to={URLS.OVERVIEW} activeClassName={css.tabActive}>
|
|
187
187
|
{I18N.OVERVIEW}
|
|
188
|
-
</
|
|
189
|
-
<NavLink exact to={URLS.ASSETS} activeClassName={css.tabActive}>
|
|
188
|
+
</Tabs.Item>
|
|
189
|
+
<Tabs.Item as={NavLink} exact to={URLS.ASSETS} activeClassName={css.tabActive}>
|
|
190
190
|
{I18N.ASSETS}
|
|
191
|
-
</
|
|
192
|
-
<NavLink exact to={URLS.MODULES} activeClassName={css.tabActive}>
|
|
191
|
+
</Tabs.Item>
|
|
192
|
+
<Tabs.Item as={NavLink} exact to={URLS.MODULES} activeClassName={css.tabActive}>
|
|
193
193
|
{I18N.MODULES}
|
|
194
|
-
</
|
|
195
|
-
<NavLink exact to={URLS.PACKAGES} activeClassName={css.tabActive}>
|
|
194
|
+
</Tabs.Item>
|
|
195
|
+
<Tabs.Item as={NavLink} exact to={URLS.PACKAGES} activeClassName={css.tabActive}>
|
|
196
196
|
{I18N.PACKAGES}
|
|
197
|
-
</
|
|
197
|
+
</Tabs.Item>
|
|
198
198
|
</Tabs>
|
|
199
199
|
</Container>
|
|
200
200
|
|
package/src/ui/tabs/tabs.jsx
CHANGED
|
@@ -4,22 +4,24 @@ import cx from 'classnames';
|
|
|
4
4
|
|
|
5
5
|
import css from './tabs.module.css';
|
|
6
6
|
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
},
|
|
16
|
-
);
|
|
7
|
+
const Item = ({ isTabActive, as: Component, className,...restProps }) => (
|
|
8
|
+
<Component className={cx(css.item, className, isTabActive && css.itemActive)} {...restProps} />
|
|
9
|
+
);
|
|
10
|
+
|
|
11
|
+
Item.defaultProps = {
|
|
12
|
+
isTabActive: false,
|
|
13
|
+
className: '',
|
|
14
|
+
as: 'span',
|
|
17
15
|
};
|
|
18
16
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
Item.propTypes = {
|
|
18
|
+
isTabActive: PropTypes.bool,
|
|
19
|
+
className: PropTypes.string,
|
|
20
|
+
as: PropTypes.elementType,
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export const Tabs = ({ className, ...restProps }) => (
|
|
24
|
+
<nav className={cx(css.root, className)} {...restProps} />
|
|
23
25
|
);
|
|
24
26
|
|
|
25
27
|
Tabs.defaultProps = {
|
|
@@ -33,3 +35,5 @@ Tabs.propTypes = {
|
|
|
33
35
|
/** Component children */
|
|
34
36
|
children: PropTypes.node.isRequired,
|
|
35
37
|
};
|
|
38
|
+
|
|
39
|
+
Tabs.Item = Item;
|