@salutejs/plasma-new-hope 0.171.0-dev.0 → 0.172.0-canary.1493.11404929441.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Tabs/createTabsController.js.map +1 -1
- package/cjs/components/Tabs/ui/header/HeaderTabItem/HeaderTabItem.css +13 -0
- package/cjs/components/Tabs/ui/header/HeaderTabItem/HeaderTabItem.js +37 -0
- package/cjs/components/Tabs/ui/header/HeaderTabItem/HeaderTabItem.js.map +1 -0
- package/cjs/components/Tabs/ui/header/HeaderTabs/HeaderTabs.css +16 -0
- package/cjs/components/Tabs/ui/header/HeaderTabs/HeaderTabs.js +37 -0
- package/cjs/components/Tabs/ui/header/HeaderTabs/HeaderTabs.js.map +1 -0
- package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +2 -2
- package/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js.map +1 -1
- package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -2
- package/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
- package/cjs/index.js +6 -0
- package/cjs/index.js.map +1 -1
- package/emotion/cjs/components/Tabs/Tabs.template-doc.mdx +22 -4
- package/emotion/cjs/components/Tabs/index.js +26 -0
- package/emotion/cjs/components/Tabs/ui/header/HeaderTabItem/HeaderTabItem.js +34 -0
- package/emotion/cjs/components/Tabs/ui/header/HeaderTabs/HeaderTabs.js +34 -0
- package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +3 -2
- package/emotion/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -2
- package/emotion/cjs/examples/plasma_b2c/components/Tabs/TabItem.js +6 -0
- package/emotion/cjs/examples/plasma_b2c/components/Tabs/Tabs.js +7 -1
- package/emotion/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +64 -22
- package/emotion/cjs/examples/plasma_b2c/components/Tabs/header/HeaderTabItem.config.js +29 -0
- package/emotion/cjs/examples/plasma_b2c/components/Tabs/header/HeaderTabs.config.js +30 -0
- package/emotion/cjs/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +19 -15
- package/emotion/cjs/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.js +19 -15
- package/emotion/cjs/examples/plasma_web/components/Tabs/Tabs.stories.tsx +64 -22
- package/emotion/cjs/examples/plasma_web/components/Tabs/header/HeaderTabItem.config.js +29 -0
- package/emotion/cjs/examples/plasma_web/components/Tabs/header/HeaderTabs.config.js +30 -0
- package/emotion/cjs/examples/plasma_web/components/Tabs/horizontal/HorizontalTabItem.config.js +19 -15
- package/emotion/cjs/examples/plasma_web/components/Tabs/horizontal/HorizontalTabs.config.js +19 -15
- package/emotion/es/components/Tabs/Tabs.template-doc.mdx +22 -4
- package/emotion/es/components/Tabs/index.js +2 -0
- package/emotion/es/components/Tabs/ui/header/HeaderTabItem/HeaderTabItem.js +28 -0
- package/emotion/es/components/Tabs/ui/header/HeaderTabs/HeaderTabs.js +28 -0
- package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +3 -2
- package/emotion/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -2
- package/emotion/es/examples/plasma_b2c/components/Tabs/TabItem.js +7 -1
- package/emotion/es/examples/plasma_b2c/components/Tabs/Tabs.js +8 -2
- package/emotion/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +64 -22
- package/emotion/es/examples/plasma_b2c/components/Tabs/header/HeaderTabItem.config.js +23 -0
- package/emotion/es/examples/plasma_b2c/components/Tabs/header/HeaderTabs.config.js +24 -0
- package/emotion/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +19 -15
- package/emotion/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.js +19 -15
- package/emotion/es/examples/plasma_web/components/Tabs/Tabs.stories.tsx +64 -22
- package/emotion/es/examples/plasma_web/components/Tabs/header/HeaderTabItem.config.js +23 -0
- package/emotion/es/examples/plasma_web/components/Tabs/header/HeaderTabs.config.js +24 -0
- package/emotion/es/examples/plasma_web/components/Tabs/horizontal/HorizontalTabItem.config.js +19 -15
- package/emotion/es/examples/plasma_web/components/Tabs/horizontal/HorizontalTabs.config.js +19 -15
- package/es/components/Tabs/createTabsController.js.map +1 -1
- package/es/components/Tabs/ui/header/HeaderTabItem/HeaderTabItem.css +13 -0
- package/es/components/Tabs/ui/header/HeaderTabItem/HeaderTabItem.js +32 -0
- package/es/components/Tabs/ui/header/HeaderTabItem/HeaderTabItem.js.map +1 -0
- package/es/components/Tabs/ui/header/HeaderTabs/HeaderTabs.css +16 -0
- package/es/components/Tabs/ui/header/HeaderTabs/HeaderTabs.js +32 -0
- package/es/components/Tabs/ui/header/HeaderTabs/HeaderTabs.js.map +1 -0
- package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +2 -2
- package/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js.map +1 -1
- package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +2 -2
- package/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js.map +1 -1
- package/es/index.js +2 -0
- package/es/index.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Tabs/Tabs.template-doc.mdx +22 -4
- package/styled-components/cjs/components/Tabs/index.js +26 -0
- package/styled-components/cjs/components/Tabs/ui/header/HeaderTabItem/HeaderTabItem.js +34 -0
- package/styled-components/cjs/components/Tabs/ui/header/HeaderTabs/HeaderTabs.js +34 -0
- package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +3 -2
- package/styled-components/cjs/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -2
- package/styled-components/cjs/examples/plasma_b2c/components/Tabs/TabItem.js +6 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Tabs/Tabs.js +7 -1
- package/styled-components/cjs/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +64 -22
- package/styled-components/cjs/examples/plasma_b2c/components/Tabs/header/HeaderTabItem.config.js +29 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Tabs/header/HeaderTabs.config.js +30 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +4 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.js +4 -0
- package/styled-components/cjs/examples/plasma_web/components/Tabs/Tabs.stories.tsx +64 -22
- package/styled-components/cjs/examples/plasma_web/components/Tabs/header/HeaderTabItem.config.js +29 -0
- package/styled-components/cjs/examples/plasma_web/components/Tabs/header/HeaderTabs.config.js +30 -0
- package/styled-components/cjs/examples/plasma_web/components/Tabs/horizontal/HorizontalTabItem.config.js +4 -0
- package/styled-components/cjs/examples/plasma_web/components/Tabs/horizontal/HorizontalTabs.config.js +4 -0
- package/styled-components/es/components/Tabs/Tabs.template-doc.mdx +22 -4
- package/styled-components/es/components/Tabs/index.js +2 -0
- package/styled-components/es/components/Tabs/ui/header/HeaderTabItem/HeaderTabItem.js +28 -0
- package/styled-components/es/components/Tabs/ui/header/HeaderTabs/HeaderTabs.js +28 -0
- package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js +3 -2
- package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.js +3 -2
- package/styled-components/es/examples/plasma_b2c/components/Tabs/TabItem.js +7 -1
- package/styled-components/es/examples/plasma_b2c/components/Tabs/Tabs.js +8 -2
- package/styled-components/es/examples/plasma_b2c/components/Tabs/Tabs.stories.tsx +64 -22
- package/styled-components/es/examples/plasma_b2c/components/Tabs/header/HeaderTabItem.config.js +23 -0
- package/styled-components/es/examples/plasma_b2c/components/Tabs/header/HeaderTabs.config.js +24 -0
- package/styled-components/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.js +4 -0
- package/styled-components/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.js +4 -0
- package/styled-components/es/examples/plasma_web/components/Tabs/Tabs.stories.tsx +64 -22
- package/styled-components/es/examples/plasma_web/components/Tabs/header/HeaderTabItem.config.js +23 -0
- package/styled-components/es/examples/plasma_web/components/Tabs/header/HeaderTabs.config.js +24 -0
- package/styled-components/es/examples/plasma_web/components/Tabs/horizontal/HorizontalTabItem.config.js +4 -0
- package/styled-components/es/examples/plasma_web/components/Tabs/horizontal/HorizontalTabs.config.js +4 -0
- package/types/components/Tabs/TabItem.types.d.ts +52 -10
- package/types/components/Tabs/TabItem.types.d.ts.map +1 -1
- package/types/components/Tabs/Tabs.types.d.ts +39 -2
- package/types/components/Tabs/Tabs.types.d.ts.map +1 -1
- package/types/components/Tabs/createTabsController.d.ts +3 -3
- package/types/components/Tabs/createTabsController.d.ts.map +1 -1
- package/types/components/Tabs/index.d.ts +3 -1
- package/types/components/Tabs/index.d.ts.map +1 -1
- package/types/components/Tabs/ui/header/HeaderTabItem/HeaderTabItem.d.ts +25 -0
- package/types/components/Tabs/ui/header/HeaderTabItem/HeaderTabItem.d.ts.map +1 -0
- package/types/components/Tabs/ui/header/HeaderTabs/HeaderTabs.d.ts +25 -0
- package/types/components/Tabs/ui/header/HeaderTabs/HeaderTabs.d.ts.map +1 -0
- package/types/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.d.ts.map +1 -1
- package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts +2 -2
- package/types/components/Tabs/ui/horizontal/HorizontalTabs/HorizontalTabs.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Tabs/TabItem.d.ts +74 -1
- package/types/examples/plasma_b2c/components/Tabs/TabItem.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Tabs/Tabs.d.ts +22 -2
- package/types/examples/plasma_b2c/components/Tabs/Tabs.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Tabs/header/HeaderTabItem.config.d.ts +22 -0
- package/types/examples/plasma_b2c/components/Tabs/header/HeaderTabItem.config.d.ts.map +1 -0
- package/types/examples/plasma_b2c/components/Tabs/header/HeaderTabs.config.d.ts +23 -0
- package/types/examples/plasma_b2c/components/Tabs/header/HeaderTabs.config.d.ts.map +1 -0
- package/types/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.d.ts +4 -0
- package/types/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabItem.config.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.d.ts +4 -0
- package/types/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Tabs/TabItem.d.ts +18 -0
- package/types/examples/plasma_web/components/Tabs/TabItem.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Tabs/Tabs.d.ts +1 -1
- package/types/examples/plasma_web/components/Tabs/Tabs.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Tabs/header/HeaderTabItem.config.d.ts +22 -0
- package/types/examples/plasma_web/components/Tabs/header/HeaderTabItem.config.d.ts.map +1 -0
- package/types/examples/plasma_web/components/Tabs/header/HeaderTabs.config.d.ts +23 -0
- package/types/examples/plasma_web/components/Tabs/header/HeaderTabs.config.d.ts.map +1 -0
- package/types/examples/plasma_web/components/Tabs/horizontal/HorizontalTabItem.config.d.ts +4 -0
- package/types/examples/plasma_web/components/Tabs/horizontal/HorizontalTabItem.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Tabs/horizontal/HorizontalTabs.config.d.ts +4 -0
- package/types/examples/plasma_web/components/Tabs/horizontal/HorizontalTabs.config.d.ts.map +1 -1
@@ -0,0 +1,28 @@
|
|
1
|
+
import { horizontalTabItemRoot } from '../../horizontal/HorizontalTabItem/HorizontalTabItem';
|
2
|
+
import { base as sizeCSS } from '../../horizontal/HorizontalTabItem/variations/_size/base';
|
3
|
+
import { base } from '../../horizontal/HorizontalTabItem/HorizontalTabItem.styles';
|
4
|
+
import { base as viewCSS } from '../../horizontal/HorizontalTabItem/variations/_view/base';
|
5
|
+
import { base as disabledCSS } from '../../horizontal/HorizontalTabItem/variations/_disabled/base';
|
6
|
+
export var headerTabItemRoot = horizontalTabItemRoot;
|
7
|
+
export var headerTabItemConfig = {
|
8
|
+
name: 'HeaderTabItem',
|
9
|
+
tag: 'button',
|
10
|
+
layout: headerTabItemRoot,
|
11
|
+
base: base,
|
12
|
+
variations: {
|
13
|
+
size: {
|
14
|
+
css: sizeCSS
|
15
|
+
},
|
16
|
+
view: {
|
17
|
+
css: viewCSS
|
18
|
+
},
|
19
|
+
disabled: {
|
20
|
+
css: disabledCSS,
|
21
|
+
attrs: true
|
22
|
+
}
|
23
|
+
},
|
24
|
+
defaults: {
|
25
|
+
view: 'divider',
|
26
|
+
size: 'h5'
|
27
|
+
}
|
28
|
+
};
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { horizontalTabsRoot } from '../../horizontal/HorizontalTabs/HorizontalTabs';
|
2
|
+
import { base as sizeCSS } from '../../horizontal/HorizontalTabs/variations/_size/base';
|
3
|
+
import { base } from '../../horizontal/HorizontalTabs/HorizontalTabs.styles';
|
4
|
+
import { base as viewCSS } from '../../horizontal/HorizontalTabs/variations/_view/base';
|
5
|
+
import { base as disabledCSS } from '../../horizontal/HorizontalTabs/variations/_disabled/base';
|
6
|
+
export var headerTabsRoot = horizontalTabsRoot;
|
7
|
+
export var headerTabsConfig = {
|
8
|
+
name: 'HeaderTabs',
|
9
|
+
tag: 'div',
|
10
|
+
layout: horizontalTabsRoot,
|
11
|
+
base: base,
|
12
|
+
variations: {
|
13
|
+
size: {
|
14
|
+
css: sizeCSS
|
15
|
+
},
|
16
|
+
view: {
|
17
|
+
css: viewCSS
|
18
|
+
},
|
19
|
+
disabled: {
|
20
|
+
css: disabledCSS,
|
21
|
+
attrs: true
|
22
|
+
}
|
23
|
+
},
|
24
|
+
defaults: {
|
25
|
+
view: 'divider',
|
26
|
+
size: 'h5'
|
27
|
+
}
|
28
|
+
};
|
package/styled-components/es/components/Tabs/ui/horizontal/HorizontalTabItem/HorizontalTabItem.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
var _excluded = ["size", "view", "isActive", "selected", "disabled", "pilled", "children", "value", "contentLeft", "contentRight", "animated", "onIndexChange", "itemIndex", "tabIndex", "className", "onClick"];
|
1
|
+
var _excluded = ["size", "view", "isActive", "selected", "disabled", "pilled", "children", "value", "contentLeft", "contentRight", "animated", "onIndexChange", "itemIndex", "tabIndex", "className", "onClick", "header"];
|
2
2
|
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); }
|
3
3
|
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; }
|
4
4
|
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; }
|
@@ -33,6 +33,7 @@ export var horizontalTabItemRoot = function horizontalTabItemRoot(Root) {
|
|
33
33
|
tabIndex = props.tabIndex,
|
34
34
|
className = props.className,
|
35
35
|
onClick = props.onClick,
|
36
|
+
_header = props.header,
|
36
37
|
rest = _objectWithoutProperties(props, _excluded);
|
37
38
|
var innerRef = useRef(null);
|
38
39
|
var ref = useForkRef(outerRef, innerRef);
|
@@ -90,10 +91,10 @@ export var horizontalTabItemRoot = function horizontalTabItemRoot(Root) {
|
|
90
91
|
return /*#__PURE__*/React.createElement(Root, _extends({
|
91
92
|
ref: ref,
|
92
93
|
disabled: disabled,
|
93
|
-
pilled: pilled,
|
94
94
|
role: role,
|
95
95
|
view: view,
|
96
96
|
size: size,
|
97
|
+
pilled: pilled,
|
97
98
|
onFocus: onItemFocus,
|
98
99
|
tabIndex: hasKeyNavigation ? navigationTabIndex : tabIndex,
|
99
100
|
className: cx(pilledClass, selectedClass, animatedClass, className),
|
@@ -1,4 +1,4 @@
|
|
1
|
-
var _excluded = ["id", "stretch", "disabled", "clip", "size", "view", "children", "pilled", "index", "className"];
|
1
|
+
var _excluded = ["id", "stretch", "disabled", "clip", "size", "view", "children", "pilled", "index", "className", "header"];
|
2
2
|
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); }
|
3
3
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
4
4
|
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."); }
|
@@ -43,6 +43,7 @@ export var horizontalTabsRoot = function horizontalTabsRoot(Root) {
|
|
43
43
|
pilled = _props$pilled === void 0 ? false : _props$pilled,
|
44
44
|
index = props.index,
|
45
45
|
className = props.className,
|
46
|
+
_header = props.header,
|
46
47
|
rest = _objectWithoutProperties(props, _excluded);
|
47
48
|
var _useState = useState(true),
|
48
49
|
_useState2 = _slicedToArray(_useState, 2),
|
@@ -191,8 +192,8 @@ export var horizontalTabsRoot = function horizontalTabsRoot(Root) {
|
|
191
192
|
view: view,
|
192
193
|
role: "tablist",
|
193
194
|
size: size,
|
194
|
-
pilled: pilled,
|
195
195
|
id: tabsId,
|
196
|
+
pilled: pilled,
|
196
197
|
ref: outerRef,
|
197
198
|
disabled: disabled,
|
198
199
|
className: cx(pilledClass, stretchClass, hasLeftArrowClass, hasRightArrowClass, className),
|
@@ -1,15 +1,21 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import { horizontalTabItemConfig, verticalTabItemConfig } from '../../../../components/Tabs';
|
2
|
+
import { headerTabItemConfig, horizontalTabItemConfig, verticalTabItemConfig } from '../../../../components/Tabs';
|
3
3
|
import { component, mergeConfig } from '../../../../engines';
|
4
4
|
import { config as horizontalConfig } from './horizontal/HorizontalTabItem.config';
|
5
5
|
import { config as verticalConfig } from './vertical/VerticalTabItem.config';
|
6
|
+
import { config as headerConfig } from './header/HeaderTabItem.config';
|
6
7
|
var mergedHorizontalTabItemConfig = /*#__PURE__*/mergeConfig(horizontalTabItemConfig, horizontalConfig);
|
7
8
|
var HorizontalTabItem = /*#__PURE__*/component(mergedHorizontalTabItemConfig);
|
8
9
|
var mergedVerticalTabItemConfig = /*#__PURE__*/mergeConfig(verticalTabItemConfig, verticalConfig);
|
9
10
|
var VerticalTabItem = /*#__PURE__*/component(mergedVerticalTabItemConfig);
|
11
|
+
var mergedHeaderTabItemConfig = /*#__PURE__*/mergeConfig(headerTabItemConfig, headerConfig);
|
12
|
+
var HeaderTabItem = /*#__PURE__*/component(mergedHeaderTabItemConfig);
|
10
13
|
export var TabItem = function TabItem(props) {
|
11
14
|
if (props.orientation === 'vertical') {
|
12
15
|
return /*#__PURE__*/React.createElement(VerticalTabItem, props);
|
13
16
|
}
|
17
|
+
if (props.header) {
|
18
|
+
return /*#__PURE__*/React.createElement(HeaderTabItem, props);
|
19
|
+
}
|
14
20
|
return /*#__PURE__*/React.createElement(HorizontalTabItem, props);
|
15
21
|
};
|
@@ -1,15 +1,21 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import { horizontalTabsConfig, verticalTabsConfig } from '../../../../components/Tabs';
|
2
|
+
import { horizontalTabsConfig, verticalTabsConfig, headerTabsConfig } from '../../../../components/Tabs';
|
3
3
|
import { component, mergeConfig } from '../../../../engines';
|
4
4
|
import { config as horizontalConfig } from './horizontal/HorizontalTabs.config';
|
5
5
|
import { config as verticalConfig } from './vertical/VerticalTabs.config';
|
6
|
+
import { config as headerConfig } from './header/HeaderTabs.config';
|
6
7
|
var mergedHorizontalTabsConfig = /*#__PURE__*/mergeConfig(horizontalTabsConfig, horizontalConfig);
|
7
|
-
var mergedVerticalTabsConfig = /*#__PURE__*/mergeConfig(verticalTabsConfig, verticalConfig);
|
8
8
|
var HorizontalTabs = /*#__PURE__*/component(mergedHorizontalTabsConfig);
|
9
|
+
var mergedVerticalTabsConfig = /*#__PURE__*/mergeConfig(verticalTabsConfig, verticalConfig);
|
9
10
|
var VerticalTabs = /*#__PURE__*/component(mergedVerticalTabsConfig);
|
11
|
+
var mergedHeaderTabsConfig = /*#__PURE__*/mergeConfig(headerTabsConfig, headerConfig);
|
12
|
+
var HeaderTabs = /*#__PURE__*/component(mergedHeaderTabsConfig);
|
10
13
|
export var Tabs = function Tabs(props) {
|
11
14
|
if (props.orientation === 'vertical') {
|
12
15
|
return /*#__PURE__*/React.createElement(VerticalTabs, props);
|
13
16
|
}
|
17
|
+
if (props.header) {
|
18
|
+
return /*#__PURE__*/React.createElement(HeaderTabs, props);
|
19
|
+
}
|
14
20
|
return /*#__PURE__*/React.createElement(HorizontalTabs, props);
|
15
21
|
};
|
@@ -12,6 +12,7 @@ import { Tabs } from './Tabs';
|
|
12
12
|
import { TabItem } from './TabItem';
|
13
13
|
|
14
14
|
const clips = ['none', 'scroll', 'showAll'];
|
15
|
+
const headerClips = ['none', 'scroll'];
|
15
16
|
const sizes = ['xs', 's', 'm', 'l'] as const;
|
16
17
|
const headerSizes = ['h5', 'h4', 'h3', 'h2', 'h1'] as const;
|
17
18
|
|
@@ -52,6 +53,7 @@ const getContentRight = (contentRightOption: string, size: Size) => {
|
|
52
53
|
type StoryTabsProps = ComponentProps<typeof Tabs> & CustomStoryTabsProps;
|
53
54
|
type HorizontalStoryTabsProps = StoryTabsProps & { width: string };
|
54
55
|
type VerticalStoryTabsProps = StoryTabsProps & { height: string };
|
56
|
+
type HeaderStoryTabsProps = StoryTabsProps & { width: string };
|
55
57
|
|
56
58
|
const meta: Meta<StoryTabsProps> = {
|
57
59
|
title: 'plasma_b2c/Tabs',
|
@@ -68,6 +70,7 @@ const meta: Meta<StoryTabsProps> = {
|
|
68
70
|
'forwardedAs',
|
69
71
|
'outsideScroll',
|
70
72
|
'index',
|
73
|
+
'header',
|
71
74
|
]),
|
72
75
|
contentRight: {
|
73
76
|
options: contentRightOptions,
|
@@ -603,31 +606,23 @@ export const VerticalTabs: StoryObj<VerticalStoryTabsProps> = {
|
|
603
606
|
},
|
604
607
|
};
|
605
608
|
|
606
|
-
const
|
607
|
-
const {
|
608
|
-
disabled,
|
609
|
-
itemQuantity,
|
610
|
-
size,
|
611
|
-
contentLeft: contentLeftOption,
|
612
|
-
contentRight: contentRightOption,
|
613
|
-
hasDivider,
|
614
|
-
stretch,
|
615
|
-
} = props;
|
609
|
+
const StoryHeaderDefault = (props: HeaderStoryTabsProps) => {
|
610
|
+
const { disabled, itemQuantity, size, hasDivider, helperText } = props;
|
616
611
|
const items = Array(itemQuantity).fill(0);
|
617
612
|
const [index, setIndex] = useState(0);
|
618
613
|
|
619
614
|
return (
|
620
|
-
<Tabs view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size
|
615
|
+
<Tabs header view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size as HeaderSize}>
|
621
616
|
{items.map((_, i) => (
|
622
617
|
<TabItem
|
618
|
+
header
|
623
619
|
key={`item:${i}`}
|
624
620
|
view="divider"
|
625
621
|
selected={i === index}
|
626
622
|
onClick={() => !disabled && setIndex(i)}
|
627
623
|
tabIndex={!disabled ? 0 : -1}
|
628
624
|
disabled={disabled}
|
629
|
-
|
630
|
-
contentRight={getContentRight(contentRightOption, size as Size)}
|
625
|
+
value={helperText}
|
631
626
|
size={size as HeaderSize}
|
632
627
|
>
|
633
628
|
{`Label${i + 1}`}
|
@@ -637,12 +632,46 @@ const StoryHeaderTabs = (props: StoryTabsProps) => {
|
|
637
632
|
);
|
638
633
|
};
|
639
634
|
|
640
|
-
|
635
|
+
const StoryHeaderScroll = (props: HeaderStoryTabsProps) => {
|
636
|
+
const { disabled, itemQuantity, size, hasDivider, helperText, width } = props;
|
637
|
+
const items = Array(itemQuantity).fill(0);
|
638
|
+
const [index, setIndex] = useState(0);
|
639
|
+
|
640
|
+
return (
|
641
|
+
<Tabs
|
642
|
+
header
|
643
|
+
view={hasDivider ? 'divider' : 'clear'}
|
644
|
+
disabled={disabled}
|
645
|
+
size={size as HeaderSize}
|
646
|
+
style={{ width }}
|
647
|
+
>
|
648
|
+
{items.map((_, i) => (
|
649
|
+
<TabItem
|
650
|
+
header
|
651
|
+
key={`item:${i}`}
|
652
|
+
view="divider"
|
653
|
+
selected={i === index}
|
654
|
+
onClick={() => !disabled && setIndex(i)}
|
655
|
+
tabIndex={!disabled ? 0 : -1}
|
656
|
+
disabled={disabled}
|
657
|
+
value={helperText}
|
658
|
+
size={size as HeaderSize}
|
659
|
+
>
|
660
|
+
{`Label${i + 1}`}
|
661
|
+
</TabItem>
|
662
|
+
))}
|
663
|
+
</Tabs>
|
664
|
+
);
|
665
|
+
};
|
666
|
+
|
667
|
+
export const HeaderTabs: StoryObj<HeaderStoryTabsProps> = {
|
641
668
|
args: {
|
642
669
|
size: 'h5',
|
643
670
|
disabled: false,
|
644
671
|
hasDivider: true,
|
645
|
-
|
672
|
+
helperText: '',
|
673
|
+
itemQuantity: 6,
|
674
|
+
width: '12rem',
|
646
675
|
},
|
647
676
|
argTypes: {
|
648
677
|
size: {
|
@@ -651,23 +680,36 @@ export const HeaderTabs: StoryObj<StoryTabsProps> = {
|
|
651
680
|
type: 'select',
|
652
681
|
},
|
653
682
|
},
|
654
|
-
|
655
|
-
options:
|
683
|
+
clip: {
|
684
|
+
options: headerClips,
|
656
685
|
control: {
|
657
686
|
type: 'select',
|
658
687
|
},
|
688
|
+
if: { arg: 'stretch', truthy: false },
|
659
689
|
},
|
660
|
-
|
661
|
-
options: contentRightOptions,
|
690
|
+
width: {
|
662
691
|
control: {
|
663
|
-
type: '
|
692
|
+
type: 'text',
|
664
693
|
},
|
694
|
+
if: { arg: 'clip', eq: 'scroll' },
|
665
695
|
},
|
666
|
-
|
696
|
+
stretch: {
|
697
|
+
table: {
|
698
|
+
disable: true,
|
699
|
+
},
|
700
|
+
},
|
701
|
+
contentRight: {
|
667
702
|
table: {
|
668
703
|
disable: true,
|
669
704
|
},
|
670
705
|
},
|
671
706
|
},
|
672
|
-
render: (args) =>
|
707
|
+
render: (args) => {
|
708
|
+
switch (args.clip) {
|
709
|
+
case 'scroll':
|
710
|
+
return <StoryHeaderScroll {...args} />;
|
711
|
+
default:
|
712
|
+
return <StoryHeaderDefault {...args} />;
|
713
|
+
}
|
714
|
+
},
|
673
715
|
};
|
package/styled-components/es/examples/plasma_b2c/components/Tabs/header/HeaderTabItem.config.js
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
import { css } from 'styled-components';
|
2
|
+
import { tabsTokens } from '../../../../../components/Tabs';
|
3
|
+
export var config = {
|
4
|
+
defaults: {
|
5
|
+
view: 'divider',
|
6
|
+
size: 'h5'
|
7
|
+
},
|
8
|
+
variations: {
|
9
|
+
view: {
|
10
|
+
divider: /*#__PURE__*/css(["", ":var(--text-secondary);", ":var(--text-tertiary);", ":transparent;", ":var(--text-secondary-hover);", ":var(--text-secondary);", ":var(--text-secondary-active);", ":var(--text-secondary);", ":transparent;", ":var(--text-primary);", ":var(--text-secondary);", ":transparent;", ":var(--text-primary);", ":var(--text-secondary);", ":transparent;", ":background-color 0.3s ease-in-out;", ":0;", ":0;", ":var(--surface-accent);", ":0.125rem;", ":var(--text-primary);", ":var(--text-primary);"], tabsTokens.itemColor, tabsTokens.itemValueColor, tabsTokens.itemBackgroundColor, tabsTokens.itemColorHover, tabsTokens.itemValueColorHover, tabsTokens.itemColorActive, tabsTokens.itemValueColorActive, tabsTokens.itemBackgroundColorHover, tabsTokens.itemSelectedColor, tabsTokens.itemSelectedValueColor, tabsTokens.itemSelectedBackgroundColor, tabsTokens.itemSelectedColorHover, tabsTokens.itemSelectedValueColorHover, tabsTokens.itemSelectedBackgroundColorHover, tabsTokens.itemBackgroundTransition, tabsTokens.itemPaddingClear, tabsTokens.itemContentPaddingClear, tabsTokens.outlineFocusColor, tabsTokens.itemSelectedDividerHeight, tabsTokens.itemSelectedDividerColor, tabsTokens.itemSelectedDividerColorHover)
|
11
|
+
},
|
12
|
+
size: {
|
13
|
+
h5: /*#__PURE__*/css(["", ":0.375rem;", ":auto;", ":3rem;", ":0rem;", ":1.75rem;", ":0.625rem;", ":var(--plasma-typo-h5-font-family);", ":var(--plasma-typo-h5-font-size);", ":var(--plasma-typo-h5-font-style);", ":var(--plasma-typo-h5-font-weight);", ":var(--plasma-typo-h5-letter-spacing);", ":var(--plasma-typo-h5-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
14
|
+
h4: /*#__PURE__*/css(["", ":0.375rem;", ":auto;", ":3.25rem;", ":0rem;", ":2rem;", ":0.625rem;", ":var(--plasma-typo-h4-font-family);", ":var(--plasma-typo-h4-font-size);", ":var(--plasma-typo-h4-font-style);", ":var(--plasma-typo-h4-font-weight);", ":var(--plasma-typo-h4-letter-spacing);", ":var(--plasma-typo-h4-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
15
|
+
h3: /*#__PURE__*/css(["", ":0.5rem;", ":auto;", ":3.875rem;", ":0rem;", ":2.25rem;", ":0.75rem;", ":var(--plasma-typo-h3-font-family);", ":var(--plasma-typo-h3-font-size);", ":var(--plasma-typo-h3-font-style);", ":var(--plasma-typo-h3-font-weight);", ":var(--plasma-typo-h3-letter-spacing);", ":var(--plasma-typo-h3-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
16
|
+
h2: /*#__PURE__*/css(["", ":0.625rem;", ":auto;", ":4.5rem;", ":0rem;", ":2.5rem;", ":1rem;", ":var(--plasma-typo-h2-font-family);", ":var(--plasma-typo-h2-font-size);", ":var(--plasma-typo-h2-font-style);", ":var(--plasma-typo-h2-font-weight);", ":var(--plasma-typo-h2-letter-spacing);", ":var(--plasma-typo-h2-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
17
|
+
h1: /*#__PURE__*/css(["", ":0.75rem;", ":auto;", ":5.75rem;", ":0rem;", ":3.5rem;", ":0.5rem;", ":var(--plasma-typo-h1-font-family);", ":var(--plasma-typo-h1-font-size);", ":var(--plasma-typo-h1-font-style);", ":var(--plasma-typo-h1-font-weight);", ":var(--plasma-typo-h1-letter-spacing);", ":var(--plasma-typo-h1-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight)
|
18
|
+
},
|
19
|
+
disabled: {
|
20
|
+
"true": /*#__PURE__*/css(["", ":0.4;"], tabsTokens.disabledOpacity)
|
21
|
+
}
|
22
|
+
}
|
23
|
+
};
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { css } from 'styled-components';
|
2
|
+
import { tabsTokens } from '../../../../../components/Tabs';
|
3
|
+
export var config = {
|
4
|
+
defaults: {
|
5
|
+
view: 'divider',
|
6
|
+
size: 'h5'
|
7
|
+
},
|
8
|
+
variations: {
|
9
|
+
view: {
|
10
|
+
clear: /*#__PURE__*/css(["", ":var(--text-secondary);", ":transparent;", ":var(--surface-accent);", ":0rem;", ":transparent;", ":0rem;"], tabsTokens.arrowColor, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius),
|
11
|
+
divider: /*#__PURE__*/css(["", ":var(--text-secondary);", ":transparent;", ":var(--surface-accent);", ":0.0625rem;", ":var(--surface-transparent-tertiary);", ":0.0625rem;"], tabsTokens.arrowColor, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius)
|
12
|
+
},
|
13
|
+
size: {
|
14
|
+
h5: /*#__PURE__*/css(["", ":0.5rem;", ":fit-content;", ":auto;", ":0.25rem;", ":0rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding),
|
15
|
+
h4: /*#__PURE__*/css(["", ":0.5rem;", ":fit-content;", ":auto;", ":0.25rem;", ":0rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding),
|
16
|
+
h3: /*#__PURE__*/css(["", ":0.625rem;", ":fit-content;", ":auto;", ":0.375rem;", ":0rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding),
|
17
|
+
h2: /*#__PURE__*/css(["", ":0.75rem;", ":fit-content;", ":auto;", ":0.5rem;", ":0rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding),
|
18
|
+
h1: /*#__PURE__*/css(["", ":0.75rem;", ":fit-content;", ":auto;", ":1rem;", ":0rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding)
|
19
|
+
},
|
20
|
+
disabled: {
|
21
|
+
"true": /*#__PURE__*/css(["", ":0.4;"], tabsTokens.disabledOpacity)
|
22
|
+
}
|
23
|
+
}
|
24
|
+
};
|
@@ -17,6 +17,10 @@ export var config = {
|
|
17
17
|
s: /*#__PURE__*/css(["", ":0.5rem;", ":auto;", ":2.5rem;", ":0 0.625rem;", ":0 0.5rem;", ":1.75rem;", ":0.25rem;", ":0.125rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemPaddingPilled, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.itemContentPadding, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
18
18
|
m: /*#__PURE__*/css(["", ":0.625rem;", ":auto;", ":3rem;", ":0 0.625rem;", ":0 0.5rem;", ":1.75rem;", ":0.375rem;", ":0.125rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemPaddingPilled, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.itemContentPadding, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
19
19
|
l: /*#__PURE__*/css(["", ":0.75rem;", ":auto;", ":3.5rem;", ":0 0.875rem;", ":0 0.75rem;", ":1.75rem;", ":0.5rem;", ":0.125rem;", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemPaddingPilled, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.itemContentPadding, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
20
|
+
/**
|
21
|
+
* @deprecated
|
22
|
+
* вместо h1-h5 использовать HorizontalTabItem со свойством header
|
23
|
+
*/
|
20
24
|
h5: /*#__PURE__*/css(["", ":0.375rem;", ":auto;", ":3rem;", ":0rem;", ":1.75rem;", ":0.625rem;", ":var(--plasma-typo-h5-font-family);", ":var(--plasma-typo-h5-font-size);", ":var(--plasma-typo-h5-font-style);", ":var(--plasma-typo-h5-font-weight);", ":var(--plasma-typo-h5-letter-spacing);", ":var(--plasma-typo-h5-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
21
25
|
h4: /*#__PURE__*/css(["", ":0.375rem;", ":auto;", ":3.25rem;", ":0rem;", ":2rem;", ":0.625rem;", ":var(--plasma-typo-h4-font-family);", ":var(--plasma-typo-h4-font-size);", ":var(--plasma-typo-h4-font-style);", ":var(--plasma-typo-h4-font-weight);", ":var(--plasma-typo-h4-letter-spacing);", ":var(--plasma-typo-h4-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
22
26
|
h3: /*#__PURE__*/css(["", ":0.5rem;", ":auto;", ":3.875rem;", ":0rem;", ":2.25rem;", ":0.75rem;", ":var(--plasma-typo-h3-font-family);", ":var(--plasma-typo-h3-font-size);", ":var(--plasma-typo-h3-font-style);", ":var(--plasma-typo-h3-font-weight);", ":var(--plasma-typo-h3-letter-spacing);", ":var(--plasma-typo-h3-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
package/styled-components/es/examples/plasma_b2c/components/Tabs/horizontal/HorizontalTabs.config.js
CHANGED
@@ -16,6 +16,10 @@ export var config = {
|
|
16
16
|
s: /*#__PURE__*/css(["", ":0.625rem;", ":fit-content;", ":auto;", ":0rem;", ":0.25rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding),
|
17
17
|
m: /*#__PURE__*/css(["", ":0.75rem;", ":fit-content;", ":auto;", ":0rem;", ":0.625rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding),
|
18
18
|
l: /*#__PURE__*/css(["", ":0.75rem;", ":fit-content;", ":auto;", ":0rem;", ":0.75rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding),
|
19
|
+
/**
|
20
|
+
* @deprecated
|
21
|
+
* вместо h1-h5 использовать HorizontalTabs со свойством header
|
22
|
+
*/
|
19
23
|
h5: /*#__PURE__*/css(["", ":0.5rem;", ":fit-content;", ":auto;", ":0.25rem;", ":0rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding),
|
20
24
|
h4: /*#__PURE__*/css(["", ":0.5rem;", ":fit-content;", ":auto;", ":0.25rem;", ":0rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding),
|
21
25
|
h3: /*#__PURE__*/css(["", ":0.625rem;", ":fit-content;", ":auto;", ":0.375rem;", ":0rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding),
|
@@ -12,6 +12,7 @@ import { Tabs } from './Tabs';
|
|
12
12
|
import { TabItem } from './TabItem';
|
13
13
|
|
14
14
|
const clips = ['none', 'scroll', 'showAll'];
|
15
|
+
const headerClips = ['none', 'scroll'];
|
15
16
|
const sizes = ['xs', 's', 'm', 'l'] as const;
|
16
17
|
const headerSizes = ['h5', 'h4', 'h3', 'h2', 'h1'] as const;
|
17
18
|
|
@@ -52,6 +53,7 @@ const getContentRight = (contentRightOption: string, size: Size) => {
|
|
52
53
|
type StoryTabsProps = ComponentProps<typeof Tabs> & CustomStoryTabsProps;
|
53
54
|
type HorizontalStoryTabsProps = StoryTabsProps & { width: string };
|
54
55
|
type VerticalStoryTabsProps = StoryTabsProps & { height: string };
|
56
|
+
type HeaderStoryTabsProps = StoryTabsProps & { width: string };
|
55
57
|
|
56
58
|
const meta: Meta<StoryTabsProps> = {
|
57
59
|
title: 'plasma_web/Tabs',
|
@@ -68,6 +70,7 @@ const meta: Meta<StoryTabsProps> = {
|
|
68
70
|
'forwardedAs',
|
69
71
|
'outsideScroll',
|
70
72
|
'index',
|
73
|
+
'header',
|
71
74
|
]),
|
72
75
|
contentRight: {
|
73
76
|
options: contentRightOptions,
|
@@ -603,31 +606,23 @@ export const VerticalTabs: StoryObj<VerticalStoryTabsProps> = {
|
|
603
606
|
},
|
604
607
|
};
|
605
608
|
|
606
|
-
const
|
607
|
-
const {
|
608
|
-
disabled,
|
609
|
-
itemQuantity,
|
610
|
-
size,
|
611
|
-
contentLeft: contentLeftOption,
|
612
|
-
contentRight: contentRightOption,
|
613
|
-
hasDivider,
|
614
|
-
stretch,
|
615
|
-
} = props;
|
609
|
+
const StoryHeaderDefault = (props: HeaderStoryTabsProps) => {
|
610
|
+
const { disabled, itemQuantity, size, hasDivider, helperText } = props;
|
616
611
|
const items = Array(itemQuantity).fill(0);
|
617
612
|
const [index, setIndex] = useState(0);
|
618
613
|
|
619
614
|
return (
|
620
|
-
<Tabs view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size
|
615
|
+
<Tabs header view={hasDivider ? 'divider' : 'clear'} disabled={disabled} size={size as HeaderSize}>
|
621
616
|
{items.map((_, i) => (
|
622
617
|
<TabItem
|
618
|
+
header
|
623
619
|
key={`item:${i}`}
|
624
620
|
view="divider"
|
625
621
|
selected={i === index}
|
626
622
|
onClick={() => !disabled && setIndex(i)}
|
627
623
|
tabIndex={!disabled ? 0 : -1}
|
628
624
|
disabled={disabled}
|
629
|
-
|
630
|
-
contentRight={getContentRight(contentRightOption, size as Size)}
|
625
|
+
value={helperText}
|
631
626
|
size={size as HeaderSize}
|
632
627
|
>
|
633
628
|
{`Label${i + 1}`}
|
@@ -637,12 +632,46 @@ const StoryHeaderTabs = (props: StoryTabsProps) => {
|
|
637
632
|
);
|
638
633
|
};
|
639
634
|
|
640
|
-
|
635
|
+
const StoryHeaderScroll = (props: HeaderStoryTabsProps) => {
|
636
|
+
const { disabled, itemQuantity, size, hasDivider, helperText, width } = props;
|
637
|
+
const items = Array(itemQuantity).fill(0);
|
638
|
+
const [index, setIndex] = useState(0);
|
639
|
+
|
640
|
+
return (
|
641
|
+
<Tabs
|
642
|
+
header
|
643
|
+
view={hasDivider ? 'divider' : 'clear'}
|
644
|
+
disabled={disabled}
|
645
|
+
size={size as HeaderSize}
|
646
|
+
style={{ width }}
|
647
|
+
>
|
648
|
+
{items.map((_, i) => (
|
649
|
+
<TabItem
|
650
|
+
header
|
651
|
+
key={`item:${i}`}
|
652
|
+
view="divider"
|
653
|
+
selected={i === index}
|
654
|
+
onClick={() => !disabled && setIndex(i)}
|
655
|
+
tabIndex={!disabled ? 0 : -1}
|
656
|
+
disabled={disabled}
|
657
|
+
value={helperText}
|
658
|
+
size={size as HeaderSize}
|
659
|
+
>
|
660
|
+
{`Label${i + 1}`}
|
661
|
+
</TabItem>
|
662
|
+
))}
|
663
|
+
</Tabs>
|
664
|
+
);
|
665
|
+
};
|
666
|
+
|
667
|
+
export const HeaderTabs: StoryObj<HeaderStoryTabsProps> = {
|
641
668
|
args: {
|
642
669
|
size: 'h5',
|
643
670
|
disabled: false,
|
644
671
|
hasDivider: true,
|
645
|
-
|
672
|
+
helperText: '',
|
673
|
+
itemQuantity: 6,
|
674
|
+
width: '12rem',
|
646
675
|
},
|
647
676
|
argTypes: {
|
648
677
|
size: {
|
@@ -651,23 +680,36 @@ export const HeaderTabs: StoryObj<StoryTabsProps> = {
|
|
651
680
|
type: 'select',
|
652
681
|
},
|
653
682
|
},
|
654
|
-
|
655
|
-
options:
|
683
|
+
clip: {
|
684
|
+
options: headerClips,
|
656
685
|
control: {
|
657
686
|
type: 'select',
|
658
687
|
},
|
688
|
+
if: { arg: 'stretch', truthy: false },
|
659
689
|
},
|
660
|
-
|
661
|
-
options: contentRightOptions,
|
690
|
+
width: {
|
662
691
|
control: {
|
663
|
-
type: '
|
692
|
+
type: 'text',
|
664
693
|
},
|
694
|
+
if: { arg: 'clip', eq: 'scroll' },
|
665
695
|
},
|
666
|
-
|
696
|
+
stretch: {
|
697
|
+
table: {
|
698
|
+
disable: true,
|
699
|
+
},
|
700
|
+
},
|
701
|
+
contentRight: {
|
667
702
|
table: {
|
668
703
|
disable: true,
|
669
704
|
},
|
670
705
|
},
|
671
706
|
},
|
672
|
-
render: (args) =>
|
707
|
+
render: (args) => {
|
708
|
+
switch (args.clip) {
|
709
|
+
case 'scroll':
|
710
|
+
return <StoryHeaderScroll {...args} />;
|
711
|
+
default:
|
712
|
+
return <StoryHeaderDefault {...args} />;
|
713
|
+
}
|
714
|
+
},
|
673
715
|
};
|
package/styled-components/es/examples/plasma_web/components/Tabs/header/HeaderTabItem.config.js
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
import { css } from 'styled-components';
|
2
|
+
import { tabsTokens } from '../../../../../components/Tabs';
|
3
|
+
export var config = {
|
4
|
+
defaults: {
|
5
|
+
view: 'divider',
|
6
|
+
size: 'h5'
|
7
|
+
},
|
8
|
+
variations: {
|
9
|
+
view: {
|
10
|
+
divider: /*#__PURE__*/css(["", ":var(--text-secondary);", ":var(--text-tertiary);", ":transparent;", ":var(--text-secondary-hover);", ":var(--text-secondary);", ":var(--text-secondary-active);", ":var(--text-secondary);", ":transparent;", ":var(--text-primary);", ":var(--text-secondary);", ":transparent;", ":var(--text-primary);", ":var(--text-secondary);", ":transparent;", ":background-color 0.3s ease-in-out;", ":0;", ":0;", ":var(--surface-accent);", ":0.125rem;", ":var(--text-primary);", ":var(--text-primary);"], tabsTokens.itemColor, tabsTokens.itemValueColor, tabsTokens.itemBackgroundColor, tabsTokens.itemColorHover, tabsTokens.itemValueColorHover, tabsTokens.itemColorActive, tabsTokens.itemValueColorActive, tabsTokens.itemBackgroundColorHover, tabsTokens.itemSelectedColor, tabsTokens.itemSelectedValueColor, tabsTokens.itemSelectedBackgroundColor, tabsTokens.itemSelectedColorHover, tabsTokens.itemSelectedValueColorHover, tabsTokens.itemSelectedBackgroundColorHover, tabsTokens.itemBackgroundTransition, tabsTokens.itemPaddingClear, tabsTokens.itemContentPaddingClear, tabsTokens.outlineFocusColor, tabsTokens.itemSelectedDividerHeight, tabsTokens.itemSelectedDividerColor, tabsTokens.itemSelectedDividerColorHover)
|
11
|
+
},
|
12
|
+
size: {
|
13
|
+
h5: /*#__PURE__*/css(["", ":0.375rem;", ":auto;", ":3rem;", ":0rem;", ":1.75rem;", ":0.625rem;", ":var(--plasma-typo-h5-font-family);", ":var(--plasma-typo-h5-font-size);", ":var(--plasma-typo-h5-font-style);", ":var(--plasma-typo-h5-font-weight);", ":var(--plasma-typo-h5-letter-spacing);", ":var(--plasma-typo-h5-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
14
|
+
h4: /*#__PURE__*/css(["", ":0.375rem;", ":auto;", ":3.25rem;", ":0rem;", ":2rem;", ":0.625rem;", ":var(--plasma-typo-h4-font-family);", ":var(--plasma-typo-h4-font-size);", ":var(--plasma-typo-h4-font-style);", ":var(--plasma-typo-h4-font-weight);", ":var(--plasma-typo-h4-letter-spacing);", ":var(--plasma-typo-h4-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
15
|
+
h3: /*#__PURE__*/css(["", ":0.5rem;", ":auto;", ":3.875rem;", ":0rem;", ":2.25rem;", ":0.75rem;", ":var(--plasma-typo-h3-font-family);", ":var(--plasma-typo-h3-font-size);", ":var(--plasma-typo-h3-font-style);", ":var(--plasma-typo-h3-font-weight);", ":var(--plasma-typo-h3-letter-spacing);", ":var(--plasma-typo-h3-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
16
|
+
h2: /*#__PURE__*/css(["", ":0.625rem;", ":auto;", ":4.5rem;", ":0rem;", ":2.5rem;", ":1rem;", ":var(--plasma-typo-h2-font-family);", ":var(--plasma-typo-h2-font-size);", ":var(--plasma-typo-h2-font-style);", ":var(--plasma-typo-h2-font-weight);", ":var(--plasma-typo-h2-letter-spacing);", ":var(--plasma-typo-h2-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
17
|
+
h1: /*#__PURE__*/css(["", ":0.75rem;", ":auto;", ":5.75rem;", ":0rem;", ":3.5rem;", ":0.5rem;", ":var(--plasma-typo-h1-font-family);", ":var(--plasma-typo-h1-font-size);", ":var(--plasma-typo-h1-font-style);", ":var(--plasma-typo-h1-font-weight);", ":var(--plasma-typo-h1-letter-spacing);", ":var(--plasma-typo-h1-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight)
|
18
|
+
},
|
19
|
+
disabled: {
|
20
|
+
"true": /*#__PURE__*/css(["", ":0.4;"], tabsTokens.disabledOpacity)
|
21
|
+
}
|
22
|
+
}
|
23
|
+
};
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { css } from 'styled-components';
|
2
|
+
import { tabsTokens } from '../../../../../components/Tabs';
|
3
|
+
export var config = {
|
4
|
+
defaults: {
|
5
|
+
view: 'divider',
|
6
|
+
size: 'h5'
|
7
|
+
},
|
8
|
+
variations: {
|
9
|
+
view: {
|
10
|
+
clear: /*#__PURE__*/css(["", ":var(--text-secondary);", ":transparent;", ":var(--surface-accent);", ":0rem;", ":transparent;", ":0rem;"], tabsTokens.arrowColor, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius),
|
11
|
+
divider: /*#__PURE__*/css(["", ":var(--text-secondary);", ":transparent;", ":var(--surface-accent);", ":0.0625rem;", ":var(--surface-transparent-tertiary);", ":0.0625rem;"], tabsTokens.arrowColor, tabsTokens.tabsBackgroundColor, tabsTokens.outlineFocusColor, tabsTokens.tabsDividerHeight, tabsTokens.tabsDividerColor, tabsTokens.tabsDividerBorderRadius)
|
12
|
+
},
|
13
|
+
size: {
|
14
|
+
h5: /*#__PURE__*/css(["", ":0.5rem;", ":fit-content;", ":auto;", ":0.25rem;", ":0rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding),
|
15
|
+
h4: /*#__PURE__*/css(["", ":0.5rem;", ":fit-content;", ":auto;", ":0.25rem;", ":0rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding),
|
16
|
+
h3: /*#__PURE__*/css(["", ":0.625rem;", ":fit-content;", ":auto;", ":0.375rem;", ":0rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding),
|
17
|
+
h2: /*#__PURE__*/css(["", ":0.75rem;", ":fit-content;", ":auto;", ":0.5rem;", ":0rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding),
|
18
|
+
h1: /*#__PURE__*/css(["", ":0.75rem;", ":fit-content;", ":auto;", ":1rem;", ":0rem;"], tabsTokens.tabsBorderRadius, tabsTokens.tabsWidth, tabsTokens.tabsHeight, tabsTokens.arrowInnerPadding, tabsTokens.arrowOuterPadding)
|
19
|
+
},
|
20
|
+
disabled: {
|
21
|
+
"true": /*#__PURE__*/css(["", ":0.4;"], tabsTokens.disabledOpacity)
|
22
|
+
}
|
23
|
+
}
|
24
|
+
};
|
@@ -17,6 +17,10 @@ export var config = {
|
|
17
17
|
s: /*#__PURE__*/css(["", ":0.5rem;", ":auto;", ":2.5rem;", ":0 0.625rem;", ":0 0.5rem;", ":1.75rem;", ":0.25rem;", ":0.125rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemPaddingPilled, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.itemContentPadding, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
18
18
|
m: /*#__PURE__*/css(["", ":0.625rem;", ":auto;", ":3rem;", ":0 0.625rem;", ":0 0.5rem;", ":1.75rem;", ":0.375rem;", ":0.125rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemPaddingPilled, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.itemContentPadding, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
19
19
|
l: /*#__PURE__*/css(["", ":0.75rem;", ":auto;", ":3.5rem;", ":0 0.875rem;", ":0 0.75rem;", ":1.75rem;", ":0.5rem;", ":0.125rem;", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemPaddingPilled, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.itemContentPadding, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
20
|
+
/**
|
21
|
+
* @deprecated
|
22
|
+
* вместо h1-h5 использовать HorizontalTabItem со свойством header
|
23
|
+
*/
|
20
24
|
h5: /*#__PURE__*/css(["", ":0.375rem;", ":auto;", ":3rem;", ":0rem;", ":1.75rem;", ":0.625rem;", ":var(--plasma-typo-h5-font-family);", ":var(--plasma-typo-h5-font-size);", ":var(--plasma-typo-h5-font-style);", ":var(--plasma-typo-h5-font-weight);", ":var(--plasma-typo-h5-letter-spacing);", ":var(--plasma-typo-h5-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
21
25
|
h4: /*#__PURE__*/css(["", ":0.375rem;", ":auto;", ":3.25rem;", ":0rem;", ":2rem;", ":0.625rem;", ":var(--plasma-typo-h4-font-family);", ":var(--plasma-typo-h4-font-size);", ":var(--plasma-typo-h4-font-style);", ":var(--plasma-typo-h4-font-weight);", ":var(--plasma-typo-h4-letter-spacing);", ":var(--plasma-typo-h4-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|
22
26
|
h3: /*#__PURE__*/css(["", ":0.5rem;", ":auto;", ":3.875rem;", ":0rem;", ":2.25rem;", ":0.75rem;", ":var(--plasma-typo-h3-font-family);", ":var(--plasma-typo-h3-font-size);", ":var(--plasma-typo-h3-font-style);", ":var(--plasma-typo-h3-font-weight);", ":var(--plasma-typo-h3-letter-spacing);", ":var(--plasma-typo-h3-line-height);"], tabsTokens.itemBorderRadius, tabsTokens.itemWidth, tabsTokens.itemHeight, tabsTokens.itemPadding, tabsTokens.itemMarginLeft, tabsTokens.itemContentGap, tabsTokens.fontFamily, tabsTokens.fontSize, tabsTokens.fontStyle, tabsTokens.fontWeight, tabsTokens.letterSpacing, tabsTokens.lineHeight),
|