@salutejs/plasma-new-hope 0.178.1-dev.0 → 0.179.0-canary.1514.11588573893.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Counter/Counter.css +1 -1
- package/cjs/components/Counter/Counter.js +13 -3
- package/cjs/components/Counter/Counter.js.map +1 -1
- package/cjs/components/Counter/Counter.tokens.js +4 -0
- package/cjs/components/Counter/Counter.tokens.js.map +1 -1
- package/cjs/components/Counter/variations/_size/base.js +1 -1
- package/cjs/components/Counter/variations/_size/base.js.map +1 -1
- package/cjs/components/Counter/variations/_size/{base_1z0ohiy.css → base_4mz17d.css} +1 -1
- package/cjs/index.css +1 -1
- package/emotion/cjs/components/Counter/Counter.js +13 -3
- package/emotion/cjs/components/Counter/Counter.template-doc.mdx +2 -2
- package/emotion/cjs/components/Counter/Counter.tokens.js +4 -1
- package/emotion/cjs/components/Counter/variations/_size/base.js +1 -1
- package/emotion/cjs/examples/plasma_b2c/components/Counter/Counter.config.js +12 -9
- package/emotion/cjs/examples/plasma_b2c/components/Counter/Counter.stories.tsx +7 -5
- package/emotion/cjs/examples/plasma_web/components/Counter/Counter.config.js +12 -9
- package/emotion/cjs/examples/plasma_web/components/Counter/Counter.stories.tsx +7 -5
- package/emotion/es/components/Counter/Counter.js +13 -3
- package/emotion/es/components/Counter/Counter.template-doc.mdx +2 -2
- package/emotion/es/components/Counter/Counter.tokens.js +3 -0
- package/emotion/es/components/Counter/variations/_size/base.js +2 -2
- package/emotion/es/examples/plasma_b2c/components/Counter/Counter.config.js +12 -9
- package/emotion/es/examples/plasma_b2c/components/Counter/Counter.stories.tsx +7 -5
- package/emotion/es/examples/plasma_web/components/Counter/Counter.config.js +12 -9
- package/emotion/es/examples/plasma_web/components/Counter/Counter.stories.tsx +7 -5
- package/es/components/Counter/Counter.css +1 -1
- package/es/components/Counter/Counter.js +13 -3
- package/es/components/Counter/Counter.js.map +1 -1
- package/es/components/Counter/Counter.tokens.js +4 -1
- package/es/components/Counter/Counter.tokens.js.map +1 -1
- package/es/components/Counter/variations/_size/base.js +1 -1
- package/es/components/Counter/variations/_size/base.js.map +1 -1
- package/es/components/Counter/variations/_size/{base_1z0ohiy.css → base_4mz17d.css} +1 -1
- package/es/index.css +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Counter/Counter.js +13 -3
- package/styled-components/cjs/components/Counter/Counter.template-doc.mdx +2 -2
- package/styled-components/cjs/components/Counter/Counter.tokens.js +4 -1
- package/styled-components/cjs/components/Counter/variations/_size/base.js +1 -1
- package/styled-components/cjs/examples/plasma_b2c/components/Counter/Counter.config.js +5 -2
- package/styled-components/cjs/examples/plasma_b2c/components/Counter/Counter.stories.tsx +7 -5
- package/styled-components/cjs/examples/plasma_web/components/Counter/Counter.config.js +5 -2
- package/styled-components/cjs/examples/plasma_web/components/Counter/Counter.stories.tsx +7 -5
- package/styled-components/es/components/Counter/Counter.js +13 -3
- package/styled-components/es/components/Counter/Counter.template-doc.mdx +2 -2
- package/styled-components/es/components/Counter/Counter.tokens.js +3 -0
- package/styled-components/es/components/Counter/variations/_size/base.js +2 -2
- package/styled-components/es/examples/plasma_b2c/components/Counter/Counter.config.js +5 -2
- package/styled-components/es/examples/plasma_b2c/components/Counter/Counter.stories.tsx +7 -5
- package/styled-components/es/examples/plasma_web/components/Counter/Counter.config.js +5 -2
- package/styled-components/es/examples/plasma_web/components/Counter/Counter.stories.tsx +7 -5
- package/types/components/Counter/Counter.d.ts.map +1 -1
- package/types/components/Counter/Counter.tokens.d.ts +3 -0
- package/types/components/Counter/Counter.tokens.d.ts.map +1 -1
- package/types/components/Counter/Counter.types.d.ts +2 -2
- package/types/components/Counter/variations/_size/base.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Counter/Counter.config.d.ts +3 -0
- package/types/examples/plasma_b2c/components/Counter/Counter.config.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Counter/Counter.d.ts +3 -0
- package/types/examples/plasma_b2c/components/Counter/Counter.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Counter/Counter.config.d.ts +3 -0
- package/types/examples/plasma_web/components/Counter/Counter.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Counter/Counter.d.ts +3 -0
- package/types/examples/plasma_web/components/Counter/Counter.d.ts.map +1 -1
@@ -12,7 +12,7 @@ import { PropsTable, Description } from '@site/src/components';
|
|
12
12
|
## Примеры
|
13
13
|
|
14
14
|
### Максимальное значение числового badge
|
15
|
-
Задается с помощью свойства `maxCount`.
|
15
|
+
Задается с помощью свойства `maxCount`. Как и `count`, не может быть меньше 1.
|
16
16
|
|
17
17
|
```tsx live
|
18
18
|
import React from 'react';
|
@@ -29,7 +29,7 @@ export function App() {
|
|
29
29
|
```
|
30
30
|
|
31
31
|
### Размер числового badge
|
32
|
-
Размер задается с помощью свойства `size`. Возможные значения свойства: `
|
32
|
+
Размер задается с помощью свойства `size`. Возможные значения свойства: `xxs`, `xs`, `s`, `m`, `l`.
|
33
33
|
|
34
34
|
```tsx live
|
35
35
|
import React from 'react';
|
@@ -3,7 +3,10 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.tokens = void 0;
|
6
|
+
exports.tokens = exports.classes = void 0;
|
7
|
+
var classes = exports.classes = {
|
8
|
+
round: '--plasma-counter-round'
|
9
|
+
};
|
7
10
|
var tokens = exports.tokens = {
|
8
11
|
background: '--plasma-counter-background',
|
9
12
|
color: '--plasma-counter-color',
|
@@ -6,4 +6,4 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
exports.base = void 0;
|
7
7
|
var _styledComponents = /*#__PURE__*/require("styled-components");
|
8
8
|
var _Counter = /*#__PURE__*/require("../../Counter.tokens");
|
9
|
-
var base = exports.base = /*#__PURE__*/(0, _styledComponents.css)(["font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");border-radius:var(", ");height:var(", ");padding-top:var(", ");padding-right:var(", ");padding-bottom:var(", ");padding-left:var(", ");"], _Counter.tokens.fontFamily, _Counter.tokens.fontSize, _Counter.tokens.fontStyle, _Counter.tokens.fontWeight, _Counter.tokens.letterSpacing, _Counter.tokens.lineHeight, _Counter.tokens.borderRadius, _Counter.tokens.height, _Counter.tokens.paddingTop, _Counter.tokens.paddingRight, _Counter.tokens.paddingBottom, _Counter.tokens.paddingLeft);
|
9
|
+
var base = exports.base = /*#__PURE__*/(0, _styledComponents.css)(["font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");border-radius:var(", ");height:var(", ");padding-top:var(", ");padding-right:var(", ");padding-bottom:var(", ");padding-left:var(", ");&.", "{width:var(", ");}"], _Counter.tokens.fontFamily, _Counter.tokens.fontSize, _Counter.tokens.fontStyle, _Counter.tokens.fontWeight, _Counter.tokens.letterSpacing, _Counter.tokens.lineHeight, _Counter.tokens.borderRadius, _Counter.tokens.height, _Counter.tokens.paddingTop, _Counter.tokens.paddingRight, _Counter.tokens.paddingBottom, _Counter.tokens.paddingLeft, _Counter.classes.round, _Counter.tokens.height);
|
@@ -22,8 +22,11 @@ var config = exports.config = {
|
|
22
22
|
light: /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--on-light-text-primary);", ":var(--on-dark-surface-solid-default);"], _Counter.counterTokens.color, _Counter.counterTokens.background)
|
23
23
|
},
|
24
24
|
size: {
|
25
|
-
|
26
|
-
|
25
|
+
l: /*#__PURE__*/(0, _styledComponents.css)(["", ":1rem;", ":1.75rem;", ":0.625rem;", ":0.625rem;", ":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);"], _Counter.counterTokens.borderRadius, _Counter.counterTokens.height, _Counter.counterTokens.paddingRight, _Counter.counterTokens.paddingLeft, _Counter.counterTokens.fontFamily, _Counter.counterTokens.fontSize, _Counter.counterTokens.fontStyle, _Counter.counterTokens.fontWeight, _Counter.counterTokens.letterSpacing, _Counter.counterTokens.lineHeight),
|
26
|
+
m: /*#__PURE__*/(0, _styledComponents.css)(["", ":1rem;", ":1.5rem;", ":0.5rem;", ":0.5rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);"], _Counter.counterTokens.borderRadius, _Counter.counterTokens.height, _Counter.counterTokens.paddingRight, _Counter.counterTokens.paddingLeft, _Counter.counterTokens.fontFamily, _Counter.counterTokens.fontSize, _Counter.counterTokens.fontStyle, _Counter.counterTokens.fontWeight, _Counter.counterTokens.letterSpacing, _Counter.counterTokens.lineHeight),
|
27
|
+
s: /*#__PURE__*/(0, _styledComponents.css)(["", ":1rem;", ":1.25rem;", ":0.375rem;", ":0.375rem;", ":var(--plasma-typo-body-xxs-font-family);", ":var(--plasma-typo-body-xxs-font-size);", ":var(--plasma-typo-body-xxs-font-style);", ":var(--plasma-typo-body-xxs-font-weight);", ":var(--plasma-typo-body-xxs-letter-spacing);", ":var(--plasma-typo-body-xxs-line-height);"], _Counter.counterTokens.borderRadius, _Counter.counterTokens.height, _Counter.counterTokens.paddingRight, _Counter.counterTokens.paddingLeft, _Counter.counterTokens.fontFamily, _Counter.counterTokens.fontSize, _Counter.counterTokens.fontStyle, _Counter.counterTokens.fontWeight, _Counter.counterTokens.letterSpacing, _Counter.counterTokens.lineHeight),
|
28
|
+
xs: /*#__PURE__*/(0, _styledComponents.css)(["", ":1rem;", ":1rem;", ":0.25rem;", ":0.25rem;", ":var(--plasma-typo-body-xxs-font-family);", ":var(--plasma-typo-body-xxs-font-size);", ":var(--plasma-typo-body-xxs-font-style);", ":var(--plasma-typo-body-xxs-font-weight);", ":var(--plasma-typo-body-xxs-letter-spacing);", ":var(--plasma-typo-body-xxs-line-height);"], _Counter.counterTokens.borderRadius, _Counter.counterTokens.height, _Counter.counterTokens.paddingRight, _Counter.counterTokens.paddingLeft, _Counter.counterTokens.fontFamily, _Counter.counterTokens.fontSize, _Counter.counterTokens.fontStyle, _Counter.counterTokens.fontWeight, _Counter.counterTokens.letterSpacing, _Counter.counterTokens.lineHeight),
|
29
|
+
xxs: /*#__PURE__*/(0, _styledComponents.css)(["", ":1rem;", ":0.75rem;", ":0.125rem;", ":0.125rem;", ":var(--plasma-typo-body-xxs-font-family);", ":var(--plasma-typo-body-xxs-font-size);", ":var(--plasma-typo-body-xxs-font-style);", ":var(--plasma-typo-body-xxs-font-weight);", ":var(--plasma-typo-body-xxs-letter-spacing);", ":var(--plasma-typo-body-xxs-line-height);"], _Counter.counterTokens.borderRadius, _Counter.counterTokens.height, _Counter.counterTokens.paddingRight, _Counter.counterTokens.paddingLeft, _Counter.counterTokens.fontFamily, _Counter.counterTokens.fontSize, _Counter.counterTokens.fontStyle, _Counter.counterTokens.fontWeight, _Counter.counterTokens.letterSpacing, _Counter.counterTokens.lineHeight)
|
27
30
|
}
|
28
31
|
}
|
29
32
|
};
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import React from 'react';
|
2
1
|
import { disableProps } from '@salutejs/plasma-sb-utils';
|
3
2
|
import type { StoryObj, Meta } from '@storybook/react';
|
4
3
|
|
@@ -6,19 +5,22 @@ import { WithTheme } from '../../../_helpers';
|
|
6
5
|
|
7
6
|
import { Counter } from './Counter';
|
8
7
|
|
8
|
+
const sizes = ['l', 'm', 's', 'xs', 'xxs'];
|
9
|
+
const views = ['default', 'accent', 'positive', 'warning', 'negative', 'dark', 'light'];
|
10
|
+
|
9
11
|
const meta: Meta<typeof Counter> = {
|
10
12
|
title: 'plasma_b2c/Counter',
|
11
13
|
component: Counter,
|
12
14
|
decorators: [WithTheme],
|
13
15
|
argTypes: {
|
14
16
|
size: {
|
15
|
-
options:
|
17
|
+
options: sizes,
|
16
18
|
control: {
|
17
19
|
type: 'select',
|
18
20
|
},
|
19
21
|
},
|
20
22
|
view: {
|
21
|
-
options:
|
23
|
+
options: views,
|
22
24
|
control: {
|
23
25
|
type: 'select',
|
24
26
|
},
|
@@ -33,8 +35,8 @@ type Story = StoryObj<typeof Counter>;
|
|
33
35
|
|
34
36
|
export const Default: Story = {
|
35
37
|
args: {
|
36
|
-
count:
|
37
|
-
maxCount:
|
38
|
+
count: 123,
|
39
|
+
maxCount: 200,
|
38
40
|
view: 'default',
|
39
41
|
size: 'xs',
|
40
42
|
},
|
@@ -22,8 +22,11 @@ var config = exports.config = {
|
|
22
22
|
light: /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--on-light-text-primary);", ":var(--on-dark-surface-solid-default);"], _Counter.counterTokens.color, _Counter.counterTokens.background)
|
23
23
|
},
|
24
24
|
size: {
|
25
|
-
|
26
|
-
|
25
|
+
l: /*#__PURE__*/(0, _styledComponents.css)(["", ":1rem;", ":1.75rem;", ":0.625rem;", ":0.625rem;", ":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);"], _Counter.counterTokens.borderRadius, _Counter.counterTokens.height, _Counter.counterTokens.paddingRight, _Counter.counterTokens.paddingLeft, _Counter.counterTokens.fontFamily, _Counter.counterTokens.fontSize, _Counter.counterTokens.fontStyle, _Counter.counterTokens.fontWeight, _Counter.counterTokens.letterSpacing, _Counter.counterTokens.lineHeight),
|
26
|
+
m: /*#__PURE__*/(0, _styledComponents.css)(["", ":1rem;", ":1.5rem;", ":0.5rem;", ":0.5rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);"], _Counter.counterTokens.borderRadius, _Counter.counterTokens.height, _Counter.counterTokens.paddingRight, _Counter.counterTokens.paddingLeft, _Counter.counterTokens.fontFamily, _Counter.counterTokens.fontSize, _Counter.counterTokens.fontStyle, _Counter.counterTokens.fontWeight, _Counter.counterTokens.letterSpacing, _Counter.counterTokens.lineHeight),
|
27
|
+
s: /*#__PURE__*/(0, _styledComponents.css)(["", ":1rem;", ":1.25rem;", ":0.375rem;", ":0.375rem;", ":var(--plasma-typo-body-xxs-font-family);", ":var(--plasma-typo-body-xxs-font-size);", ":var(--plasma-typo-body-xxs-font-style);", ":var(--plasma-typo-body-xxs-font-weight);", ":var(--plasma-typo-body-xxs-letter-spacing);", ":var(--plasma-typo-body-xxs-line-height);"], _Counter.counterTokens.borderRadius, _Counter.counterTokens.height, _Counter.counterTokens.paddingRight, _Counter.counterTokens.paddingLeft, _Counter.counterTokens.fontFamily, _Counter.counterTokens.fontSize, _Counter.counterTokens.fontStyle, _Counter.counterTokens.fontWeight, _Counter.counterTokens.letterSpacing, _Counter.counterTokens.lineHeight),
|
28
|
+
xs: /*#__PURE__*/(0, _styledComponents.css)(["", ":1rem;", ":1rem;", ":0.25rem;", ":0.25rem;", ":var(--plasma-typo-body-xxs-font-family);", ":var(--plasma-typo-body-xxs-font-size);", ":var(--plasma-typo-body-xxs-font-style);", ":var(--plasma-typo-body-xxs-font-weight);", ":var(--plasma-typo-body-xxs-letter-spacing);", ":var(--plasma-typo-body-xxs-line-height);"], _Counter.counterTokens.borderRadius, _Counter.counterTokens.height, _Counter.counterTokens.paddingRight, _Counter.counterTokens.paddingLeft, _Counter.counterTokens.fontFamily, _Counter.counterTokens.fontSize, _Counter.counterTokens.fontStyle, _Counter.counterTokens.fontWeight, _Counter.counterTokens.letterSpacing, _Counter.counterTokens.lineHeight),
|
29
|
+
xxs: /*#__PURE__*/(0, _styledComponents.css)(["", ":1rem;", ":0.75rem;", ":0.125rem;", ":0.125rem;", ":var(--plasma-typo-body-xxs-font-family);", ":var(--plasma-typo-body-xxs-font-size);", ":var(--plasma-typo-body-xxs-font-style);", ":var(--plasma-typo-body-xxs-font-weight);", ":var(--plasma-typo-body-xxs-letter-spacing);", ":var(--plasma-typo-body-xxs-line-height);"], _Counter.counterTokens.borderRadius, _Counter.counterTokens.height, _Counter.counterTokens.paddingRight, _Counter.counterTokens.paddingLeft, _Counter.counterTokens.fontFamily, _Counter.counterTokens.fontSize, _Counter.counterTokens.fontStyle, _Counter.counterTokens.fontWeight, _Counter.counterTokens.letterSpacing, _Counter.counterTokens.lineHeight)
|
27
30
|
}
|
28
31
|
}
|
29
32
|
};
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import React from 'react';
|
2
1
|
import { disableProps } from '@salutejs/plasma-sb-utils';
|
3
2
|
import type { StoryObj, Meta } from '@storybook/react';
|
4
3
|
|
@@ -6,19 +5,22 @@ import { WithTheme } from '../../../_helpers';
|
|
6
5
|
|
7
6
|
import { Counter } from './Counter';
|
8
7
|
|
8
|
+
const sizes = ['l', 'm', 's', 'xs', 'xxs'];
|
9
|
+
const views = ['default', 'accent', 'positive', 'warning', 'negative', 'dark', 'light'];
|
10
|
+
|
9
11
|
const meta: Meta<typeof Counter> = {
|
10
12
|
title: 'plasma_web/Counter',
|
11
13
|
component: Counter,
|
12
14
|
decorators: [WithTheme],
|
13
15
|
argTypes: {
|
14
16
|
size: {
|
15
|
-
options:
|
17
|
+
options: sizes,
|
16
18
|
control: {
|
17
19
|
type: 'select',
|
18
20
|
},
|
19
21
|
},
|
20
22
|
view: {
|
21
|
-
options:
|
23
|
+
options: views,
|
22
24
|
control: {
|
23
25
|
type: 'select',
|
24
26
|
},
|
@@ -33,8 +35,8 @@ type Story = StoryObj<typeof Counter>;
|
|
33
35
|
|
34
36
|
export const Default: Story = {
|
35
37
|
args: {
|
36
|
-
count:
|
37
|
-
maxCount:
|
38
|
+
count: 123,
|
39
|
+
maxCount: 200,
|
38
40
|
view: 'default',
|
39
41
|
size: 'xs',
|
40
42
|
},
|
@@ -1,24 +1,34 @@
|
|
1
|
-
var _excluded = ["count", "maxCount", "size", "view"];
|
1
|
+
var _excluded = ["count", "maxCount", "size", "view", "className"];
|
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; }
|
5
5
|
import React, { forwardRef } from 'react';
|
6
|
+
import { cx } from '../../utils';
|
6
7
|
import { base as viewCSS } from './variations/_view/base';
|
7
8
|
import { base as sizeCSS } from './variations/_size/base';
|
8
9
|
import { base } from './Counter.styles';
|
10
|
+
import { classes } from './Counter.tokens';
|
11
|
+
var MIN_COUNT = 1;
|
9
12
|
export var counterRoot = function counterRoot(Root) {
|
10
13
|
return /*#__PURE__*/forwardRef(function (props, ref) {
|
11
14
|
var count = props.count,
|
12
15
|
maxCount = props.maxCount,
|
13
16
|
size = props.size,
|
14
17
|
view = props.view,
|
18
|
+
className = props.className,
|
15
19
|
rest = _objectWithoutProperties(props, _excluded);
|
16
|
-
var
|
20
|
+
var currentCount = count < MIN_COUNT ? MIN_COUNT : count;
|
21
|
+
var currentMaxCount = maxCount && maxCount < MIN_COUNT ? MIN_COUNT : maxCount;
|
22
|
+
var isCurrentCountOneDigit = currentCount >= 0 && currentCount < 10;
|
23
|
+
var isCurrentMaxCountExceeded = currentMaxCount && currentCount > currentMaxCount;
|
24
|
+
var content = isCurrentMaxCountExceeded ? "".concat(currentMaxCount, "+") : currentCount;
|
25
|
+
var roundClass = !isCurrentMaxCountExceeded && isCurrentCountOneDigit ? classes.round : undefined;
|
17
26
|
return /*#__PURE__*/React.createElement(Root, _extends({
|
18
27
|
ref: ref,
|
19
28
|
view: view,
|
20
29
|
size: size,
|
21
|
-
count: count
|
30
|
+
count: count,
|
31
|
+
className: cx(roundClass, className)
|
22
32
|
}, rest), content);
|
23
33
|
});
|
24
34
|
};
|
@@ -12,7 +12,7 @@ import { PropsTable, Description } from '@site/src/components';
|
|
12
12
|
## Примеры
|
13
13
|
|
14
14
|
### Максимальное значение числового badge
|
15
|
-
Задается с помощью свойства `maxCount`.
|
15
|
+
Задается с помощью свойства `maxCount`. Как и `count`, не может быть меньше 1.
|
16
16
|
|
17
17
|
```tsx live
|
18
18
|
import React from 'react';
|
@@ -29,7 +29,7 @@ export function App() {
|
|
29
29
|
```
|
30
30
|
|
31
31
|
### Размер числового badge
|
32
|
-
Размер задается с помощью свойства `size`. Возможные значения свойства: `
|
32
|
+
Размер задается с помощью свойства `size`. Возможные значения свойства: `xxs`, `xs`, `s`, `m`, `l`.
|
33
33
|
|
34
34
|
```tsx live
|
35
35
|
import React from 'react';
|
@@ -1,3 +1,3 @@
|
|
1
1
|
import { css } from 'styled-components';
|
2
|
-
import { tokens } from '../../Counter.tokens';
|
3
|
-
export var base = /*#__PURE__*/css(["font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");border-radius:var(", ");height:var(", ");padding-top:var(", ");padding-right:var(", ");padding-bottom:var(", ");padding-left:var(", ");"], tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.borderRadius, tokens.height, tokens.paddingTop, tokens.paddingRight, tokens.paddingBottom, tokens.paddingLeft);
|
2
|
+
import { classes, tokens } from '../../Counter.tokens';
|
3
|
+
export var base = /*#__PURE__*/css(["font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");border-radius:var(", ");height:var(", ");padding-top:var(", ");padding-right:var(", ");padding-bottom:var(", ");padding-left:var(", ");&.", "{width:var(", ");}"], tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.borderRadius, tokens.height, tokens.paddingTop, tokens.paddingRight, tokens.paddingBottom, tokens.paddingLeft, classes.round, tokens.height);
|
@@ -16,8 +16,11 @@ export var config = {
|
|
16
16
|
light: /*#__PURE__*/css(["", ":var(--on-light-text-primary);", ":var(--on-dark-surface-solid-default);"], counterTokens.color, counterTokens.background)
|
17
17
|
},
|
18
18
|
size: {
|
19
|
-
|
20
|
-
|
19
|
+
l: /*#__PURE__*/css(["", ":1rem;", ":1.75rem;", ":0.625rem;", ":0.625rem;", ":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);"], counterTokens.borderRadius, counterTokens.height, counterTokens.paddingRight, counterTokens.paddingLeft, counterTokens.fontFamily, counterTokens.fontSize, counterTokens.fontStyle, counterTokens.fontWeight, counterTokens.letterSpacing, counterTokens.lineHeight),
|
20
|
+
m: /*#__PURE__*/css(["", ":1rem;", ":1.5rem;", ":0.5rem;", ":0.5rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);"], counterTokens.borderRadius, counterTokens.height, counterTokens.paddingRight, counterTokens.paddingLeft, counterTokens.fontFamily, counterTokens.fontSize, counterTokens.fontStyle, counterTokens.fontWeight, counterTokens.letterSpacing, counterTokens.lineHeight),
|
21
|
+
s: /*#__PURE__*/css(["", ":1rem;", ":1.25rem;", ":0.375rem;", ":0.375rem;", ":var(--plasma-typo-body-xxs-font-family);", ":var(--plasma-typo-body-xxs-font-size);", ":var(--plasma-typo-body-xxs-font-style);", ":var(--plasma-typo-body-xxs-font-weight);", ":var(--plasma-typo-body-xxs-letter-spacing);", ":var(--plasma-typo-body-xxs-line-height);"], counterTokens.borderRadius, counterTokens.height, counterTokens.paddingRight, counterTokens.paddingLeft, counterTokens.fontFamily, counterTokens.fontSize, counterTokens.fontStyle, counterTokens.fontWeight, counterTokens.letterSpacing, counterTokens.lineHeight),
|
22
|
+
xs: /*#__PURE__*/css(["", ":1rem;", ":1rem;", ":0.25rem;", ":0.25rem;", ":var(--plasma-typo-body-xxs-font-family);", ":var(--plasma-typo-body-xxs-font-size);", ":var(--plasma-typo-body-xxs-font-style);", ":var(--plasma-typo-body-xxs-font-weight);", ":var(--plasma-typo-body-xxs-letter-spacing);", ":var(--plasma-typo-body-xxs-line-height);"], counterTokens.borderRadius, counterTokens.height, counterTokens.paddingRight, counterTokens.paddingLeft, counterTokens.fontFamily, counterTokens.fontSize, counterTokens.fontStyle, counterTokens.fontWeight, counterTokens.letterSpacing, counterTokens.lineHeight),
|
23
|
+
xxs: /*#__PURE__*/css(["", ":1rem;", ":0.75rem;", ":0.125rem;", ":0.125rem;", ":var(--plasma-typo-body-xxs-font-family);", ":var(--plasma-typo-body-xxs-font-size);", ":var(--plasma-typo-body-xxs-font-style);", ":var(--plasma-typo-body-xxs-font-weight);", ":var(--plasma-typo-body-xxs-letter-spacing);", ":var(--plasma-typo-body-xxs-line-height);"], counterTokens.borderRadius, counterTokens.height, counterTokens.paddingRight, counterTokens.paddingLeft, counterTokens.fontFamily, counterTokens.fontSize, counterTokens.fontStyle, counterTokens.fontWeight, counterTokens.letterSpacing, counterTokens.lineHeight)
|
21
24
|
}
|
22
25
|
}
|
23
26
|
};
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import React from 'react';
|
2
1
|
import { disableProps } from '@salutejs/plasma-sb-utils';
|
3
2
|
import type { StoryObj, Meta } from '@storybook/react';
|
4
3
|
|
@@ -6,19 +5,22 @@ import { WithTheme } from '../../../_helpers';
|
|
6
5
|
|
7
6
|
import { Counter } from './Counter';
|
8
7
|
|
8
|
+
const sizes = ['l', 'm', 's', 'xs', 'xxs'];
|
9
|
+
const views = ['default', 'accent', 'positive', 'warning', 'negative', 'dark', 'light'];
|
10
|
+
|
9
11
|
const meta: Meta<typeof Counter> = {
|
10
12
|
title: 'plasma_b2c/Counter',
|
11
13
|
component: Counter,
|
12
14
|
decorators: [WithTheme],
|
13
15
|
argTypes: {
|
14
16
|
size: {
|
15
|
-
options:
|
17
|
+
options: sizes,
|
16
18
|
control: {
|
17
19
|
type: 'select',
|
18
20
|
},
|
19
21
|
},
|
20
22
|
view: {
|
21
|
-
options:
|
23
|
+
options: views,
|
22
24
|
control: {
|
23
25
|
type: 'select',
|
24
26
|
},
|
@@ -33,8 +35,8 @@ type Story = StoryObj<typeof Counter>;
|
|
33
35
|
|
34
36
|
export const Default: Story = {
|
35
37
|
args: {
|
36
|
-
count:
|
37
|
-
maxCount:
|
38
|
+
count: 123,
|
39
|
+
maxCount: 200,
|
38
40
|
view: 'default',
|
39
41
|
size: 'xs',
|
40
42
|
},
|
@@ -16,8 +16,11 @@ export var config = {
|
|
16
16
|
light: /*#__PURE__*/css(["", ":var(--on-light-text-primary);", ":var(--on-dark-surface-solid-default);"], counterTokens.color, counterTokens.background)
|
17
17
|
},
|
18
18
|
size: {
|
19
|
-
|
20
|
-
|
19
|
+
l: /*#__PURE__*/css(["", ":1rem;", ":1.75rem;", ":0.625rem;", ":0.625rem;", ":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);"], counterTokens.borderRadius, counterTokens.height, counterTokens.paddingRight, counterTokens.paddingLeft, counterTokens.fontFamily, counterTokens.fontSize, counterTokens.fontStyle, counterTokens.fontWeight, counterTokens.letterSpacing, counterTokens.lineHeight),
|
20
|
+
m: /*#__PURE__*/css(["", ":1rem;", ":1.5rem;", ":0.5rem;", ":0.5rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);"], counterTokens.borderRadius, counterTokens.height, counterTokens.paddingRight, counterTokens.paddingLeft, counterTokens.fontFamily, counterTokens.fontSize, counterTokens.fontStyle, counterTokens.fontWeight, counterTokens.letterSpacing, counterTokens.lineHeight),
|
21
|
+
s: /*#__PURE__*/css(["", ":1rem;", ":1.25rem;", ":0.375rem;", ":0.375rem;", ":var(--plasma-typo-body-xxs-font-family);", ":var(--plasma-typo-body-xxs-font-size);", ":var(--plasma-typo-body-xxs-font-style);", ":var(--plasma-typo-body-xxs-font-weight);", ":var(--plasma-typo-body-xxs-letter-spacing);", ":var(--plasma-typo-body-xxs-line-height);"], counterTokens.borderRadius, counterTokens.height, counterTokens.paddingRight, counterTokens.paddingLeft, counterTokens.fontFamily, counterTokens.fontSize, counterTokens.fontStyle, counterTokens.fontWeight, counterTokens.letterSpacing, counterTokens.lineHeight),
|
22
|
+
xs: /*#__PURE__*/css(["", ":1rem;", ":1rem;", ":0.25rem;", ":0.25rem;", ":var(--plasma-typo-body-xxs-font-family);", ":var(--plasma-typo-body-xxs-font-size);", ":var(--plasma-typo-body-xxs-font-style);", ":var(--plasma-typo-body-xxs-font-weight);", ":var(--plasma-typo-body-xxs-letter-spacing);", ":var(--plasma-typo-body-xxs-line-height);"], counterTokens.borderRadius, counterTokens.height, counterTokens.paddingRight, counterTokens.paddingLeft, counterTokens.fontFamily, counterTokens.fontSize, counterTokens.fontStyle, counterTokens.fontWeight, counterTokens.letterSpacing, counterTokens.lineHeight),
|
23
|
+
xxs: /*#__PURE__*/css(["", ":1rem;", ":0.75rem;", ":0.125rem;", ":0.125rem;", ":var(--plasma-typo-body-xxs-font-family);", ":var(--plasma-typo-body-xxs-font-size);", ":var(--plasma-typo-body-xxs-font-style);", ":var(--plasma-typo-body-xxs-font-weight);", ":var(--plasma-typo-body-xxs-letter-spacing);", ":var(--plasma-typo-body-xxs-line-height);"], counterTokens.borderRadius, counterTokens.height, counterTokens.paddingRight, counterTokens.paddingLeft, counterTokens.fontFamily, counterTokens.fontSize, counterTokens.fontStyle, counterTokens.fontWeight, counterTokens.letterSpacing, counterTokens.lineHeight)
|
21
24
|
}
|
22
25
|
}
|
23
26
|
};
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import React from 'react';
|
2
1
|
import { disableProps } from '@salutejs/plasma-sb-utils';
|
3
2
|
import type { StoryObj, Meta } from '@storybook/react';
|
4
3
|
|
@@ -6,19 +5,22 @@ import { WithTheme } from '../../../_helpers';
|
|
6
5
|
|
7
6
|
import { Counter } from './Counter';
|
8
7
|
|
8
|
+
const sizes = ['l', 'm', 's', 'xs', 'xxs'];
|
9
|
+
const views = ['default', 'accent', 'positive', 'warning', 'negative', 'dark', 'light'];
|
10
|
+
|
9
11
|
const meta: Meta<typeof Counter> = {
|
10
12
|
title: 'plasma_web/Counter',
|
11
13
|
component: Counter,
|
12
14
|
decorators: [WithTheme],
|
13
15
|
argTypes: {
|
14
16
|
size: {
|
15
|
-
options:
|
17
|
+
options: sizes,
|
16
18
|
control: {
|
17
19
|
type: 'select',
|
18
20
|
},
|
19
21
|
},
|
20
22
|
view: {
|
21
|
-
options:
|
23
|
+
options: views,
|
22
24
|
control: {
|
23
25
|
type: 'select',
|
24
26
|
},
|
@@ -33,8 +35,8 @@ type Story = StoryObj<typeof Counter>;
|
|
33
35
|
|
34
36
|
export const Default: Story = {
|
35
37
|
args: {
|
36
|
-
count:
|
37
|
-
maxCount:
|
38
|
+
count: 123,
|
39
|
+
maxCount: 200,
|
38
40
|
view: 'default',
|
39
41
|
size: 'xs',
|
40
42
|
},
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Counter.d.ts","sourceRoot":"","sources":["../../../src/components/Counter/Counter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
1
|
+
{"version":3,"file":"Counter.d.ts","sourceRoot":"","sources":["../../../src/components/Counter/Counter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAK/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAMpD,eAAO,MAAM,WAAW,SAAU,UAAU,cAAc,EAAE,YAAY,CAAC;;;;;wCAmBnE,CAAC;AAEP,eAAO,MAAM,aAAa;;;mBArBQ,UAAU,cAAc,EAAE,YAAY,CAAC;;;;;;;;;;;;;;;;;;;CAsCxE,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Counter.tokens.d.ts","sourceRoot":"","sources":["../../../src/components/Counter/Counter.tokens.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;CAiBlB,CAAC"}
|
1
|
+
{"version":3,"file":"Counter.tokens.d.ts","sourceRoot":"","sources":["../../../src/components/Counter/Counter.tokens.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;CAEnB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;CAiBlB,CAAC"}
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import type { HTMLAttributes } from 'react';
|
2
2
|
declare type CustomCounterProps = {
|
3
3
|
/**
|
4
|
-
* Отображаемое
|
4
|
+
* Отображаемое число. Не может быть меньше 1.
|
5
5
|
*/
|
6
6
|
count: number;
|
7
7
|
/**
|
8
|
-
* Максимальное отображаемое
|
8
|
+
* Максимальное отображаемое число. Не может быть меньше 1.
|
9
9
|
*/
|
10
10
|
maxCount?: number;
|
11
11
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/components/Counter/variations/_size/base.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,IAAI,
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/components/Counter/variations/_size/base.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,IAAI,0CAoBhB,CAAC"}
|
@@ -14,6 +14,9 @@ export declare const config: {
|
|
14
14
|
light: import("@linaria/core").LinariaClassName;
|
15
15
|
};
|
16
16
|
size: {
|
17
|
+
l: import("@linaria/core").LinariaClassName;
|
18
|
+
m: import("@linaria/core").LinariaClassName;
|
19
|
+
s: import("@linaria/core").LinariaClassName;
|
17
20
|
xs: import("@linaria/core").LinariaClassName;
|
18
21
|
xxs: import("@linaria/core").LinariaClassName;
|
19
22
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Counter.config.d.ts","sourceRoot":"","sources":["../../../../../src/examples/plasma_b2c/components/Counter/Counter.config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM
|
1
|
+
{"version":3,"file":"Counter.config.d.ts","sourceRoot":"","sources":["../../../../../src/examples/plasma_b2c/components/Counter/Counter.config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;CAmGlB,CAAC"}
|
@@ -10,6 +10,9 @@ export declare const Counter: import("react").FunctionComponent<import("../../..
|
|
10
10
|
light: import("@linaria/core").LinariaClassName;
|
11
11
|
};
|
12
12
|
size: {
|
13
|
+
l: import("@linaria/core").LinariaClassName;
|
14
|
+
m: import("@linaria/core").LinariaClassName;
|
15
|
+
s: import("@linaria/core").LinariaClassName;
|
13
16
|
xs: import("@linaria/core").LinariaClassName;
|
14
17
|
xxs: import("@linaria/core").LinariaClassName;
|
15
18
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Counter.d.ts","sourceRoot":"","sources":["../../../../../src/examples/plasma_b2c/components/Counter/Counter.ts"],"names":[],"mappings":";AAOA,eAAO,MAAM,OAAO
|
1
|
+
{"version":3,"file":"Counter.d.ts","sourceRoot":"","sources":["../../../../../src/examples/plasma_b2c/components/Counter/Counter.ts"],"names":[],"mappings":";AAOA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;kDAA0B,CAAC"}
|
@@ -14,6 +14,9 @@ export declare const config: {
|
|
14
14
|
light: import("@linaria/core").LinariaClassName;
|
15
15
|
};
|
16
16
|
size: {
|
17
|
+
l: import("@linaria/core").LinariaClassName;
|
18
|
+
m: import("@linaria/core").LinariaClassName;
|
19
|
+
s: import("@linaria/core").LinariaClassName;
|
17
20
|
xs: import("@linaria/core").LinariaClassName;
|
18
21
|
xxs: import("@linaria/core").LinariaClassName;
|
19
22
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Counter.config.d.ts","sourceRoot":"","sources":["../../../../../src/examples/plasma_web/components/Counter/Counter.config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM
|
1
|
+
{"version":3,"file":"Counter.config.d.ts","sourceRoot":"","sources":["../../../../../src/examples/plasma_web/components/Counter/Counter.config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;CAmGlB,CAAC"}
|
@@ -10,6 +10,9 @@ export declare const Counter: import("react").FunctionComponent<import("../../..
|
|
10
10
|
light: import("@linaria/core").LinariaClassName;
|
11
11
|
};
|
12
12
|
size: {
|
13
|
+
l: import("@linaria/core").LinariaClassName;
|
14
|
+
m: import("@linaria/core").LinariaClassName;
|
15
|
+
s: import("@linaria/core").LinariaClassName;
|
13
16
|
xs: import("@linaria/core").LinariaClassName;
|
14
17
|
xxs: import("@linaria/core").LinariaClassName;
|
15
18
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Counter.d.ts","sourceRoot":"","sources":["../../../../../src/examples/plasma_web/components/Counter/Counter.ts"],"names":[],"mappings":";AAOA,eAAO,MAAM,OAAO
|
1
|
+
{"version":3,"file":"Counter.d.ts","sourceRoot":"","sources":["../../../../../src/examples/plasma_web/components/Counter/Counter.ts"],"names":[],"mappings":";AAOA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;kDAA0B,CAAC"}
|