@salutejs/plasma-new-hope 0.176.0-canary.1514.11559014063.0 → 0.176.0-dev.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 +3 -12
- package/cjs/components/Counter/Counter.js.map +1 -1
- package/cjs/components/Counter/Counter.tokens.js +0 -4
- 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_4mz17d.css → base_1z0ohiy.css} +1 -1
- package/cjs/components/Slider/Slider.css +15 -13
- package/cjs/components/Slider/Slider.js +11 -2
- package/cjs/components/Slider/Slider.js.map +1 -1
- package/cjs/components/Slider/Slider.tokens.js +23 -17
- package/cjs/components/Slider/Slider.tokens.js.map +1 -1
- package/cjs/components/Slider/components/Double/Double.css +8 -8
- package/cjs/components/Slider/components/Double/Double.js +58 -23
- package/cjs/components/Slider/components/Double/Double.js.map +1 -1
- package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +98 -0
- package/cjs/components/Slider/components/Single/Single.css +14 -14
- package/cjs/components/Slider/components/Single/Single.js +64 -33
- package/cjs/components/Slider/components/Single/Single.js.map +1 -1
- package/cjs/components/Slider/components/Single/Single.styles.js +4 -4
- package/cjs/components/Slider/components/Single/Single.styles.js.map +1 -1
- package/cjs/components/Slider/components/Single/Single.styles_1h7n2s2.css +6 -0
- package/cjs/components/Slider/components/SliderBase/SliderBase.css +5 -5
- package/cjs/components/Slider/components/SliderBase/SliderBase.js +31 -12
- package/cjs/components/Slider/components/SliderBase/SliderBase.js.map +1 -1
- package/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +7 -7
- package/cjs/components/Slider/components/SliderBase/SliderBase.styles.js.map +1 -1
- package/cjs/components/Slider/components/SliderBase/SliderBase.styles_1qt1224.css +5 -0
- package/cjs/components/Slider/ui/Handler/Handler.css +3 -3
- package/cjs/components/Slider/ui/Handler/Handler.js +49 -88
- package/cjs/components/Slider/ui/Handler/Handler.js.map +1 -1
- package/cjs/components/Slider/ui/Handler/Handler.styles.js +17 -7
- package/cjs/components/Slider/ui/Handler/Handler.styles.js.map +1 -1
- package/cjs/components/Slider/ui/Handler/Handler.styles_irtcgm.css +2 -0
- package/cjs/components/Slider/ui/Handler/computeKeyPressData.js +122 -0
- package/cjs/components/Slider/ui/Handler/computeKeyPressData.js.map +1 -0
- package/cjs/components/Slider/ui/Thumb/Thumb.css +1 -1
- package/cjs/components/Slider/ui/Thumb/Thumb.js +3 -2
- package/cjs/components/Slider/ui/Thumb/Thumb.js.map +1 -1
- package/cjs/components/Slider/ui/Thumb/Thumb.styles.js +1 -1
- package/cjs/components/Slider/ui/Thumb/Thumb.styles.js.map +1 -1
- package/cjs/components/Slider/ui/Thumb/Thumb.styles_uyn20e.css +1 -0
- package/cjs/components/Slider/utils/index.js +28 -10
- package/cjs/components/Slider/utils/index.js.map +1 -1
- package/cjs/components/Slider/variations/_view/base.js +1 -1
- package/cjs/components/Slider/variations/_view/base.js.map +1 -1
- package/cjs/components/Slider/variations/_view/base_1s3f6q8.css +1 -0
- package/cjs/index.css +16 -14
- package/cjs/utils/index.js.map +1 -1
- package/emotion/cjs/components/Counter/Counter.js +3 -12
- package/emotion/cjs/components/Counter/Counter.template-doc.mdx +2 -2
- package/emotion/cjs/components/Counter/Counter.tokens.js +1 -4
- package/emotion/cjs/components/Counter/variations/_size/base.js +1 -1
- package/emotion/cjs/components/Slider/Slider.js +10 -2
- package/emotion/cjs/components/Slider/Slider.template-doc.mdx +26 -0
- package/emotion/cjs/components/Slider/Slider.tokens.js +23 -17
- package/emotion/cjs/components/Slider/components/Double/Double.js +54 -19
- package/emotion/cjs/components/Slider/components/Single/Single.js +64 -33
- package/emotion/cjs/components/Slider/components/Single/Single.styles.js +18 -9
- package/emotion/cjs/components/Slider/components/SliderBase/SliderBase.js +31 -12
- package/emotion/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +10 -10
- package/emotion/cjs/components/Slider/ui/Handler/Handler.js +52 -88
- package/emotion/cjs/components/Slider/ui/Handler/Handler.styles.js +9 -15
- package/emotion/cjs/components/Slider/ui/Handler/computeKeyPressData.js +121 -0
- package/emotion/cjs/components/Slider/ui/Thumb/Thumb.js +3 -2
- package/emotion/cjs/components/Slider/ui/Thumb/Thumb.styles.js +3 -3
- package/emotion/cjs/components/Slider/utils/index.js +28 -10
- package/emotion/cjs/components/Slider/variations/_view/base.js +2 -1
- package/emotion/cjs/examples/plasma_b2c/components/Counter/Counter.config.js +9 -12
- package/emotion/cjs/examples/plasma_b2c/components/Counter/Counter.stories.tsx +5 -7
- package/emotion/cjs/examples/plasma_b2c/components/Slider/Slider.config.js +7 -7
- package/emotion/cjs/examples/plasma_b2c/components/Slider/Slider.stories.tsx +98 -16
- package/emotion/cjs/examples/plasma_web/components/Counter/Counter.config.js +9 -12
- package/emotion/cjs/examples/plasma_web/components/Counter/Counter.stories.tsx +5 -7
- package/emotion/cjs/examples/plasma_web/components/Slider/Slider.config.js +7 -7
- package/emotion/cjs/examples/plasma_web/components/Slider/Slider.stories.tsx +98 -15
- package/emotion/es/components/Counter/Counter.js +3 -12
- package/emotion/es/components/Counter/Counter.template-doc.mdx +2 -2
- package/emotion/es/components/Counter/Counter.tokens.js +0 -3
- package/emotion/es/components/Counter/variations/_size/base.js +2 -2
- package/emotion/es/components/Slider/Slider.js +11 -2
- package/emotion/es/components/Slider/Slider.template-doc.mdx +26 -0
- package/emotion/es/components/Slider/Slider.tokens.js +23 -17
- package/emotion/es/components/Slider/components/Double/Double.js +54 -19
- package/emotion/es/components/Slider/components/Single/Single.js +65 -34
- package/emotion/es/components/Slider/components/Single/Single.styles.js +17 -8
- package/emotion/es/components/Slider/components/SliderBase/SliderBase.js +31 -12
- package/emotion/es/components/Slider/components/SliderBase/SliderBase.styles.js +11 -11
- package/emotion/es/components/Slider/ui/Handler/Handler.js +51 -86
- package/emotion/es/components/Slider/ui/Handler/Handler.styles.js +10 -16
- package/emotion/es/components/Slider/ui/Handler/computeKeyPressData.js +115 -0
- package/emotion/es/components/Slider/ui/Thumb/Thumb.js +3 -2
- package/emotion/es/components/Slider/ui/Thumb/Thumb.styles.js +3 -3
- package/emotion/es/components/Slider/utils/index.js +28 -10
- package/emotion/es/components/Slider/variations/_view/base.js +2 -1
- package/emotion/es/examples/plasma_b2c/components/Counter/Counter.config.js +9 -12
- package/emotion/es/examples/plasma_b2c/components/Counter/Counter.stories.tsx +5 -7
- package/emotion/es/examples/plasma_b2c/components/Slider/Slider.config.js +7 -7
- package/emotion/es/examples/plasma_b2c/components/Slider/Slider.stories.tsx +98 -16
- package/emotion/es/examples/plasma_web/components/Counter/Counter.config.js +9 -12
- package/emotion/es/examples/plasma_web/components/Counter/Counter.stories.tsx +5 -7
- package/emotion/es/examples/plasma_web/components/Slider/Slider.config.js +7 -7
- package/emotion/es/examples/plasma_web/components/Slider/Slider.stories.tsx +98 -15
- package/es/components/Counter/Counter.css +1 -1
- package/es/components/Counter/Counter.js +3 -12
- package/es/components/Counter/Counter.js.map +1 -1
- package/es/components/Counter/Counter.tokens.js +1 -4
- 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_4mz17d.css → base_1z0ohiy.css} +1 -1
- package/es/components/Slider/Slider.css +15 -13
- package/es/components/Slider/Slider.js +11 -2
- package/es/components/Slider/Slider.js.map +1 -1
- package/es/components/Slider/Slider.tokens.js +23 -17
- package/es/components/Slider/Slider.tokens.js.map +1 -1
- package/es/components/Slider/components/Double/Double.css +8 -8
- package/es/components/Slider/components/Double/Double.js +54 -19
- package/es/components/Slider/components/Double/Double.js.map +1 -1
- package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +98 -0
- package/es/components/Slider/components/Single/Single.css +14 -14
- package/es/components/Slider/components/Single/Single.js +65 -34
- package/es/components/Slider/components/Single/Single.js.map +1 -1
- package/es/components/Slider/components/Single/Single.styles.js +4 -4
- package/es/components/Slider/components/Single/Single.styles.js.map +1 -1
- package/es/components/Slider/components/Single/Single.styles_1h7n2s2.css +6 -0
- package/es/components/Slider/components/SliderBase/SliderBase.css +5 -5
- package/es/components/Slider/components/SliderBase/SliderBase.js +31 -12
- package/es/components/Slider/components/SliderBase/SliderBase.js.map +1 -1
- package/es/components/Slider/components/SliderBase/SliderBase.styles.js +7 -7
- package/es/components/Slider/components/SliderBase/SliderBase.styles.js.map +1 -1
- package/es/components/Slider/components/SliderBase/SliderBase.styles_1qt1224.css +5 -0
- package/es/components/Slider/ui/Handler/Handler.css +3 -3
- package/es/components/Slider/ui/Handler/Handler.js +48 -87
- package/es/components/Slider/ui/Handler/Handler.js.map +1 -1
- package/es/components/Slider/ui/Handler/Handler.styles.js +17 -7
- package/es/components/Slider/ui/Handler/Handler.styles.js.map +1 -1
- package/es/components/Slider/ui/Handler/Handler.styles_irtcgm.css +2 -0
- package/es/components/Slider/ui/Handler/computeKeyPressData.js +118 -0
- package/es/components/Slider/ui/Handler/computeKeyPressData.js.map +1 -0
- package/es/components/Slider/ui/Thumb/Thumb.css +1 -1
- package/es/components/Slider/ui/Thumb/Thumb.js +3 -2
- package/es/components/Slider/ui/Thumb/Thumb.js.map +1 -1
- package/es/components/Slider/ui/Thumb/Thumb.styles.js +1 -1
- package/es/components/Slider/ui/Thumb/Thumb.styles.js.map +1 -1
- package/es/components/Slider/ui/Thumb/Thumb.styles_uyn20e.css +1 -0
- package/es/components/Slider/utils/index.js +28 -10
- package/es/components/Slider/utils/index.js.map +1 -1
- package/es/components/Slider/variations/_view/base.js +1 -1
- package/es/components/Slider/variations/_view/base.js.map +1 -1
- package/es/components/Slider/variations/_view/base_1s3f6q8.css +1 -0
- package/es/index.css +16 -14
- package/es/utils/index.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Counter/Counter.js +3 -12
- package/styled-components/cjs/components/Counter/Counter.template-doc.mdx +2 -2
- package/styled-components/cjs/components/Counter/Counter.tokens.js +1 -4
- package/styled-components/cjs/components/Counter/variations/_size/base.js +1 -1
- package/styled-components/cjs/components/Slider/Slider.js +10 -2
- package/styled-components/cjs/components/Slider/Slider.template-doc.mdx +26 -0
- package/styled-components/cjs/components/Slider/Slider.tokens.js +23 -17
- package/styled-components/cjs/components/Slider/components/Double/Double.js +54 -19
- package/styled-components/cjs/components/Slider/components/Single/Single.js +64 -33
- package/styled-components/cjs/components/Slider/components/Single/Single.styles.js +6 -6
- package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.js +31 -12
- package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +6 -6
- package/styled-components/cjs/components/Slider/ui/Handler/Handler.js +52 -88
- package/styled-components/cjs/components/Slider/ui/Handler/Handler.styles.js +7 -4
- package/styled-components/cjs/components/Slider/ui/Handler/computeKeyPressData.js +121 -0
- package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.js +3 -2
- package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.styles.js +2 -2
- package/styled-components/cjs/components/Slider/utils/index.js +28 -10
- package/styled-components/cjs/components/Slider/variations/_view/base.js +2 -1
- package/styled-components/cjs/examples/plasma_b2c/components/Counter/Counter.config.js +2 -5
- package/styled-components/cjs/examples/plasma_b2c/components/Counter/Counter.stories.tsx +5 -7
- package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.config.js +3 -3
- package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.stories.tsx +98 -16
- package/styled-components/cjs/examples/plasma_web/components/Counter/Counter.config.js +2 -5
- package/styled-components/cjs/examples/plasma_web/components/Counter/Counter.stories.tsx +5 -7
- package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.config.js +3 -3
- package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.stories.tsx +98 -15
- package/styled-components/es/components/Counter/Counter.js +3 -12
- package/styled-components/es/components/Counter/Counter.template-doc.mdx +2 -2
- package/styled-components/es/components/Counter/Counter.tokens.js +0 -3
- package/styled-components/es/components/Counter/variations/_size/base.js +2 -2
- package/styled-components/es/components/Slider/Slider.js +11 -2
- package/styled-components/es/components/Slider/Slider.template-doc.mdx +26 -0
- package/styled-components/es/components/Slider/Slider.tokens.js +23 -17
- package/styled-components/es/components/Slider/components/Double/Double.js +54 -19
- package/styled-components/es/components/Slider/components/Single/Single.js +65 -34
- package/styled-components/es/components/Slider/components/Single/Single.styles.js +5 -5
- package/styled-components/es/components/Slider/components/SliderBase/SliderBase.js +31 -12
- package/styled-components/es/components/Slider/components/SliderBase/SliderBase.styles.js +7 -7
- package/styled-components/es/components/Slider/ui/Handler/Handler.js +51 -86
- package/styled-components/es/components/Slider/ui/Handler/Handler.styles.js +8 -5
- package/styled-components/es/components/Slider/ui/Handler/computeKeyPressData.js +115 -0
- package/styled-components/es/components/Slider/ui/Thumb/Thumb.js +3 -2
- package/styled-components/es/components/Slider/ui/Thumb/Thumb.styles.js +2 -2
- package/styled-components/es/components/Slider/utils/index.js +28 -10
- package/styled-components/es/components/Slider/variations/_view/base.js +2 -1
- package/styled-components/es/examples/plasma_b2c/components/Counter/Counter.config.js +2 -5
- package/styled-components/es/examples/plasma_b2c/components/Counter/Counter.stories.tsx +5 -7
- package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.config.js +3 -3
- package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.stories.tsx +98 -16
- package/styled-components/es/examples/plasma_web/components/Counter/Counter.config.js +2 -5
- package/styled-components/es/examples/plasma_web/components/Counter/Counter.stories.tsx +5 -7
- package/styled-components/es/examples/plasma_web/components/Slider/Slider.config.js +3 -3
- package/styled-components/es/examples/plasma_web/components/Slider/Slider.stories.tsx +98 -15
- package/types/components/Counter/Counter.d.ts.map +1 -1
- package/types/components/Counter/Counter.tokens.d.ts +0 -3
- 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/components/Slider/Slider.d.ts.map +1 -1
- package/types/components/Slider/Slider.tokens.d.ts +22 -16
- package/types/components/Slider/Slider.tokens.d.ts.map +1 -1
- package/types/components/Slider/components/Double/Double.d.ts.map +1 -1
- package/types/components/Slider/components/Double/Double.types.d.ts +1 -0
- package/types/components/Slider/components/Double/Double.types.d.ts.map +1 -1
- package/types/components/Slider/components/Single/Single.d.ts.map +1 -1
- package/types/components/Slider/components/Single/Single.styles.d.ts +1 -1
- package/types/components/Slider/components/Single/Single.styles.d.ts.map +1 -1
- package/types/components/Slider/components/Single/Single.types.d.ts +79 -7
- package/types/components/Slider/components/Single/Single.types.d.ts.map +1 -1
- package/types/components/Slider/components/SliderBase/SliderBase.d.ts.map +1 -1
- package/types/components/Slider/components/SliderBase/SliderBase.styles.d.ts +1 -1
- package/types/components/Slider/components/SliderBase/SliderBase.styles.d.ts.map +1 -1
- package/types/components/Slider/components/SliderBase/SliderBase.types.d.ts +6 -0
- package/types/components/Slider/components/SliderBase/SliderBase.types.d.ts.map +1 -1
- package/types/components/Slider/ui/Handler/Handler.d.ts.map +1 -1
- package/types/components/Slider/ui/Handler/Handler.styles.d.ts +6 -2
- package/types/components/Slider/ui/Handler/Handler.styles.d.ts.map +1 -1
- package/types/components/Slider/ui/Handler/Handler.types.d.ts +5 -1
- package/types/components/Slider/ui/Handler/Handler.types.d.ts.map +1 -1
- package/types/components/Slider/ui/Handler/computeKeyPressData.d.ts +12 -0
- package/types/components/Slider/ui/Handler/computeKeyPressData.d.ts.map +1 -0
- package/types/components/Slider/ui/Thumb/Thumb.d.ts +1 -1
- package/types/components/Slider/ui/Thumb/Thumb.d.ts.map +1 -1
- package/types/components/Slider/ui/Thumb/Thumb.styles.d.ts.map +1 -1
- package/types/components/Slider/ui/Thumb/Thumb.types.d.ts +1 -0
- package/types/components/Slider/ui/Thumb/Thumb.types.d.ts.map +1 -1
- package/types/components/Slider/utils/index.d.ts +26 -8
- package/types/components/Slider/utils/index.d.ts.map +1 -1
- package/types/components/Slider/variations/_view/base.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Counter/Counter.config.d.ts +0 -3
- package/types/examples/plasma_b2c/components/Counter/Counter.config.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Counter/Counter.d.ts +0 -3
- package/types/examples/plasma_b2c/components/Counter/Counter.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Slider/Slider.config.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Slider/Slider.d.ts +80 -2
- package/types/examples/plasma_b2c/components/Slider/Slider.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Counter/Counter.config.d.ts +0 -3
- package/types/examples/plasma_web/components/Counter/Counter.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Counter/Counter.d.ts +0 -3
- package/types/examples/plasma_web/components/Counter/Counter.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Slider/Slider.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Slider/Slider.d.ts +80 -2
- package/types/examples/plasma_web/components/Slider/Slider.d.ts.map +1 -1
- package/types/utils/index.d.ts +1 -1
- package/types/utils/index.d.ts.map +1 -1
- package/cjs/components/Slider/components/Single/Single.styles_1r9f1e0.css +0 -6
- package/cjs/components/Slider/components/SliderBase/SliderBase.styles_9s4eb3.css +0 -5
- package/cjs/components/Slider/ui/Handler/Handler.styles_8crx5z.css +0 -2
- package/cjs/components/Slider/ui/Thumb/Thumb.styles_4w4gzn.css +0 -1
- package/cjs/components/Slider/variations/_view/base_x642ct.css +0 -1
- package/es/components/Slider/components/Single/Single.styles_1r9f1e0.css +0 -6
- package/es/components/Slider/components/SliderBase/SliderBase.styles_9s4eb3.css +0 -5
- package/es/components/Slider/ui/Handler/Handler.styles_8crx5z.css +0 -2
- package/es/components/Slider/ui/Thumb/Thumb.styles_4w4gzn.css +0 -1
- package/es/components/Slider/variations/_view/base_x642ct.css +0 -1
@@ -3,16 +3,19 @@ import type { ComponentProps } from 'react';
|
|
3
3
|
import styled from 'styled-components';
|
4
4
|
import { disableProps } from '@salutejs/plasma-sb-utils';
|
5
5
|
import type { StoryObj, Meta } from '@storybook/react';
|
6
|
-
import { action } from '@storybook/addon-actions';
|
7
6
|
|
7
|
+
import { IconMic } from '../../../../components/_Icon';
|
8
8
|
import { WithTheme } from '../../../_helpers';
|
9
9
|
|
10
10
|
import { Slider } from './Slider';
|
11
11
|
|
12
12
|
const sizes = ['l', 'm', 's'];
|
13
|
+
const pointerSizes = ['small', 'large', 'none'];
|
13
14
|
const views = ['default', 'accent', 'gradient'];
|
14
|
-
const
|
15
|
-
const
|
15
|
+
const sliderAligns = ['center', 'left', 'right', 'none'];
|
16
|
+
const labelPlacements = ['top', 'left'];
|
17
|
+
const scaleAligns = ['side', 'bottom'];
|
18
|
+
const orientations: Array<string> = ['vertical', 'horizontal'];
|
16
19
|
|
17
20
|
const meta: Meta<typeof Slider> = {
|
18
21
|
title: 'plasma_b2c/Slider',
|
@@ -31,9 +34,24 @@ const meta: Meta<typeof Slider> = {
|
|
31
34
|
type: 'inline-radio',
|
32
35
|
},
|
33
36
|
},
|
37
|
+
pointerSize: {
|
38
|
+
options: pointerSizes,
|
39
|
+
control: {
|
40
|
+
type: 'inline-radio',
|
41
|
+
},
|
42
|
+
},
|
43
|
+
orientation: {
|
44
|
+
options: orientations,
|
45
|
+
control: {
|
46
|
+
type: 'select',
|
47
|
+
},
|
48
|
+
},
|
34
49
|
...disableProps([
|
35
50
|
'value',
|
36
51
|
'onChangeCommitted',
|
52
|
+
'onChangeTextField',
|
53
|
+
'onBlurTextField',
|
54
|
+
'onKeyDownTextField',
|
37
55
|
'ariaLabel',
|
38
56
|
'onChange',
|
39
57
|
'fontSizeMultiplier',
|
@@ -41,6 +59,14 @@ const meta: Meta<typeof Slider> = {
|
|
41
59
|
'settings',
|
42
60
|
'hasHoverAnimation',
|
43
61
|
'type',
|
62
|
+
'labelContentLeft',
|
63
|
+
'rangeValuesPlacement',
|
64
|
+
'name',
|
65
|
+
'defaultValue',
|
66
|
+
'labelContent',
|
67
|
+
'showRangeValues',
|
68
|
+
'hideMinValueDiff',
|
69
|
+
'hideMaxValueDiff',
|
44
70
|
]),
|
45
71
|
},
|
46
72
|
};
|
@@ -53,8 +79,9 @@ type StorySingleProps = StoryProps;
|
|
53
79
|
type StorySingle = StoryObj<StorySingleProps>;
|
54
80
|
type StoryDouble = StoryObj<StoryProps>;
|
55
81
|
|
56
|
-
const SliderWrapper = styled.div
|
57
|
-
width: 25rem;
|
82
|
+
const SliderWrapper = styled.div<{ isVertical?: boolean }>`
|
83
|
+
width: ${({ isVertical }) => (isVertical ? 'auto' : '25rem')};
|
84
|
+
height: ${({ isVertical }) => (isVertical ? '25rem' : 'auto')};
|
58
85
|
`;
|
59
86
|
|
60
87
|
const StoryDefault = (args: StorySingleProps) => {
|
@@ -68,41 +95,86 @@ const StoryDefault = (args: StorySingleProps) => {
|
|
68
95
|
setValue(values);
|
69
96
|
};
|
70
97
|
|
98
|
+
const { hasIcon, showIcon, orientation, labelPlacement, labelVerticalPlacement, ...rest } = args;
|
99
|
+
const isVertical = orientation === 'vertical';
|
100
|
+
|
71
101
|
return (
|
72
|
-
<SliderWrapper>
|
73
|
-
<Slider
|
102
|
+
<SliderWrapper isVertical={isVertical}>
|
103
|
+
<Slider
|
104
|
+
value={value}
|
105
|
+
orientation={orientation}
|
106
|
+
labelPlacement={labelPlacement}
|
107
|
+
labelContent={showIcon ? <IconMic size={rest.size === 's' ? 'xs' : 's'} /> : null}
|
108
|
+
onChangeCommitted={onChangeCommittedHandle}
|
109
|
+
onChange={onChangeHandle}
|
110
|
+
{...rest}
|
111
|
+
/>
|
74
112
|
</SliderWrapper>
|
75
113
|
);
|
76
114
|
};
|
77
115
|
|
78
116
|
export const Default: StorySingle = {
|
79
117
|
argTypes: {
|
118
|
+
sliderAlign: {
|
119
|
+
options: sliderAligns,
|
120
|
+
control: {
|
121
|
+
type: 'inline-radio',
|
122
|
+
},
|
123
|
+
if: { arg: 'orientation', eq: 'vertical' },
|
124
|
+
},
|
80
125
|
labelPlacement: {
|
81
126
|
options: labelPlacements,
|
82
127
|
control: {
|
83
128
|
type: 'inline-radio',
|
84
129
|
},
|
130
|
+
if: { arg: 'orientation', eq: 'horizontal' },
|
131
|
+
},
|
132
|
+
labelReversed: {
|
133
|
+
control: {
|
134
|
+
type: 'boolean',
|
135
|
+
expanded: true,
|
136
|
+
},
|
137
|
+
if: { arg: 'orientation', eq: 'vertical' },
|
138
|
+
},
|
139
|
+
scaleAlign: {
|
140
|
+
options: scaleAligns,
|
141
|
+
control: {
|
142
|
+
type: 'inline-radio',
|
143
|
+
},
|
144
|
+
if: { arg: 'orientation', eq: 'horizontal' },
|
85
145
|
},
|
86
|
-
|
87
|
-
options:
|
146
|
+
orientation: {
|
147
|
+
options: orientations,
|
88
148
|
control: {
|
89
149
|
type: 'inline-radio',
|
90
150
|
},
|
91
151
|
},
|
152
|
+
reversed: {
|
153
|
+
control: {
|
154
|
+
type: 'boolean',
|
155
|
+
},
|
156
|
+
if: { arg: 'orientation', eq: 'vertical' },
|
157
|
+
},
|
92
158
|
},
|
93
159
|
args: {
|
94
160
|
view: 'default',
|
95
161
|
size: 'm',
|
162
|
+
pointerSize: 'small',
|
96
163
|
min: 0,
|
97
164
|
max: 100,
|
98
|
-
|
99
|
-
ariaLabel: 'Цена
|
165
|
+
orientation: 'horizontal',
|
166
|
+
ariaLabel: 'Цена микрофона',
|
100
167
|
multipleStepSize: 10,
|
101
|
-
label: 'Цена
|
102
|
-
labelPlacement: '
|
103
|
-
|
104
|
-
|
168
|
+
label: 'Цена микрофона',
|
169
|
+
labelPlacement: 'top',
|
170
|
+
sliderAlign: 'center',
|
171
|
+
scaleAlign: 'bottom',
|
172
|
+
showScale: true,
|
105
173
|
showCurrentValue: false,
|
174
|
+
showIcon: true,
|
175
|
+
reversed: false,
|
176
|
+
labelReversed: false,
|
177
|
+
disabled: false,
|
106
178
|
},
|
107
179
|
render: (args) => <StoryDefault {...args} />,
|
108
180
|
};
|
@@ -142,7 +214,7 @@ const StoryMultipleValues = (args: StoryProps) => {
|
|
142
214
|
};
|
143
215
|
|
144
216
|
return (
|
145
|
-
<SliderWrapper>
|
217
|
+
<SliderWrapper isVertical={args.orientation === 'vertical'}>
|
146
218
|
<Slider
|
147
219
|
value={value}
|
148
220
|
onKeyDownTextField={onKeyDownTextField}
|
@@ -159,6 +231,7 @@ export const MultipleValues: StoryDouble = {
|
|
159
231
|
args: {
|
160
232
|
view: 'default',
|
161
233
|
size: 'm',
|
234
|
+
pointerSize: 'small',
|
162
235
|
min: 0,
|
163
236
|
max: 100,
|
164
237
|
disabled: false,
|
@@ -166,5 +239,14 @@ export const MultipleValues: StoryDouble = {
|
|
166
239
|
ariaLabel: ['Минимальная цена товара', 'Максимальная цена товара'],
|
167
240
|
multipleStepSize: 10,
|
168
241
|
},
|
242
|
+
argTypes: {
|
243
|
+
pointerSize: {
|
244
|
+
options: ['small', 'large'],
|
245
|
+
control: {
|
246
|
+
type: 'inline-radio',
|
247
|
+
},
|
248
|
+
},
|
249
|
+
...disableProps(['orientation']),
|
250
|
+
},
|
169
251
|
render: (args) => <StoryMultipleValues {...args} />,
|
170
252
|
};
|
@@ -22,11 +22,8 @@ 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
|
-
|
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)
|
25
|
+
xs: /*#__PURE__*/(0, _styledComponents.css)(["", ":0.5rem;", ":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),
|
26
|
+
xxs: /*#__PURE__*/(0, _styledComponents.css)(["", ":0.5rem;", ":0.75rem;", ":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)
|
30
27
|
}
|
31
28
|
}
|
32
29
|
};
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import React from 'react';
|
1
2
|
import { disableProps } from '@salutejs/plasma-sb-utils';
|
2
3
|
import type { StoryObj, Meta } from '@storybook/react';
|
3
4
|
|
@@ -5,22 +6,19 @@ import { WithTheme } from '../../../_helpers';
|
|
5
6
|
|
6
7
|
import { Counter } from './Counter';
|
7
8
|
|
8
|
-
const sizes = ['l', 'm', 's', 'xs', 'xxs'];
|
9
|
-
const views = ['default', 'accent', 'positive', 'warning', 'negative', 'dark', 'light'];
|
10
|
-
|
11
9
|
const meta: Meta<typeof Counter> = {
|
12
10
|
title: 'plasma_web/Counter',
|
13
11
|
component: Counter,
|
14
12
|
decorators: [WithTheme],
|
15
13
|
argTypes: {
|
16
14
|
size: {
|
17
|
-
options:
|
15
|
+
options: ['xs', 'xxs'],
|
18
16
|
control: {
|
19
17
|
type: 'select',
|
20
18
|
},
|
21
19
|
},
|
22
20
|
view: {
|
23
|
-
options:
|
21
|
+
options: ['default', 'accent', 'positive', 'warning', 'negative', 'dark', 'light'],
|
24
22
|
control: {
|
25
23
|
type: 'select',
|
26
24
|
},
|
@@ -35,8 +33,8 @@ type Story = StoryObj<typeof Counter>;
|
|
35
33
|
|
36
34
|
export const Default: Story = {
|
37
35
|
args: {
|
38
|
-
count:
|
39
|
-
maxCount:
|
36
|
+
count: 25,
|
37
|
+
maxCount: 100,
|
40
38
|
view: 'default',
|
41
39
|
size: 'xs',
|
42
40
|
},
|
@@ -18,9 +18,9 @@ var config = exports.config = {
|
|
18
18
|
gradient: /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--text-primary);", ":var(--text-secondary);", ":var(--surface-solid-tertiary);", ":var(--on-light-surface-solid-card);", ":var(--surface-accent-gradient);", ":var(--surface-solid-tertiary);", ":var(--surface-accent-gradient);", ":var(--text-secondary);", ":var(--surface-transparent-primary);", ":var(--text-primary);", ":var(--text-secondary);", ":var(--text-primary);", ":var(--text-primary);"], _Slider.sliderTokens.labelColor, _Slider.sliderTokens.rangeValueColor, _Slider.sliderTokens.thumbBorderColor, _Slider.sliderTokens.thumbBackgroundColor, _Slider.sliderTokens.thumbFocusBorderColor, _Slider.sliderTokens.railBackgroundColor, _Slider.sliderTokens.fillColor, _Slider.sliderTokens.textFieldColor, _Slider.sliderTokens.textFieldBackgroundColor, _Slider.sliderTokens.textFieldCaretColor, _Slider.sliderTokens.textFieldPlaceholderColor, _Slider.sliderTokens.textFiledFocusColor, _Slider.sliderTokens.textFieldActiveColor)
|
19
19
|
},
|
20
20
|
size: {
|
21
|
-
l: /*#__PURE__*/(0, _styledComponents.css)(["", ":1.5rem;", ":0.375rem;", ":0.25rem;", ":0.25rem;", ":0.875rem;", ":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);", ":0.75rem;", ":0.
|
22
|
-
m: /*#__PURE__*/(0, _styledComponents.css)(["", ":1.5rem;", ":0.375rem;", ":0.25rem;", ":0.25rem;", ":0.875rem;", ":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);", ":0.75rem;", ":0.75rem;", "
|
23
|
-
s: /*#__PURE__*/(0, _styledComponents.css)(["", ":1rem;", ":0.375rem;", ":0.25rem;", ":0.25rem;", ":0.875rem;", ":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);", ":0.5rem;", ":0.
|
21
|
+
l: /*#__PURE__*/(0, _styledComponents.css)(["", ":1.5rem;", ":0.375rem;", ":0.25rem;", ":0.25rem;", ":0.875rem;", ":1rem;", ":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);", ":0.75rem;", ":0.875rem;", ":0.875rem;", ":0.75rem;", ":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);", ":1rem;", ":1.25rem;", ":0.0625rem solid;", ":1.625rem;", ":0.25rem;", ":0.125rem;", ":0.75rem;", ":0.125rem;", ":3.5rem;", ":1.25rem 1rem 1.25rem 1rem;", ":0.75rem;", ":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);"], _Slider.sliderTokens.size, _Slider.sliderTokens.doubleWrapperGap, _Slider.sliderTokens.labelWrapperGap, _Slider.sliderTokens.labelWrapperMarginBottom, _Slider.sliderTokens.labelWrapperMarginRight, _Slider.sliderTokens.labelWrapperVerticalMargin, _Slider.sliderTokens.labelFontFamily, _Slider.sliderTokens.labelFontSize, _Slider.sliderTokens.labelFontStyle, _Slider.sliderTokens.labelFontWeight, _Slider.sliderTokens.labelLetterSpacing, _Slider.sliderTokens.labelLineHeight, _Slider.sliderTokens.rangeValueHorizontalMargin, _Slider.sliderTokens.rangeValueBottomOffset, _Slider.sliderTokens.rangeValueHorizontalOffset, _Slider.sliderTokens.rangeValueVerticalMargin, _Slider.sliderTokens.valueFontFamily, _Slider.sliderTokens.valueFontSize, _Slider.sliderTokens.valueFontStyle, _Slider.sliderTokens.valueFontWeight, _Slider.sliderTokens.valueLetterSpacing, _Slider.sliderTokens.valueLineHeight, _Slider.sliderTokens.thumbSize, _Slider.sliderTokens.thumbSizeLarge, _Slider.sliderTokens.thumbBorder, _Slider.sliderTokens.currentValueTopOffset, _Slider.sliderTokens.railThickness, _Slider.sliderTokens.railBorderRadius, _Slider.sliderTokens.railIndent, _Slider.sliderTokens.textFieldWrapperGap, _Slider.sliderTokens.textFieldHeight, _Slider.sliderTokens.textFieldPadding, _Slider.sliderTokens.textFieldBorderRadius, _Slider.sliderTokens.textFieldFontFamily, _Slider.sliderTokens.textFieldFontSize, _Slider.sliderTokens.textFieldFontStyle, _Slider.sliderTokens.textFieldFontWeight, _Slider.sliderTokens.textFieldLetterSpacing, _Slider.sliderTokens.textFieldLineHeight),
|
22
|
+
m: /*#__PURE__*/(0, _styledComponents.css)(["", ":1.5rem;", ":0.375rem;", ":0.25rem;", ":0.25rem;", ":0.875rem;", ":0.75rem;", ":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);", ":0.75rem;", ":0.75rem;", ":0.875rem;", ":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);", ":1rem;", ":1.25rem;", ":0.0625rem solid;", ":1.75rem;", ":0.25rem;", ":0.125rem;", ":0.75rem;", ":0.125rem;", ":3rem;", ":0.875rem 1rem 0.875rem 1rem;", ":0.75rem;", ":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);"], _Slider.sliderTokens.size, _Slider.sliderTokens.doubleWrapperGap, _Slider.sliderTokens.labelWrapperGap, _Slider.sliderTokens.labelWrapperMarginBottom, _Slider.sliderTokens.labelWrapperMarginRight, _Slider.sliderTokens.labelWrapperVerticalMargin, _Slider.sliderTokens.labelFontFamily, _Slider.sliderTokens.labelFontSize, _Slider.sliderTokens.labelFontStyle, _Slider.sliderTokens.labelFontWeight, _Slider.sliderTokens.labelLetterSpacing, _Slider.sliderTokens.labelLineHeight, _Slider.sliderTokens.rangeValueHorizontalMargin, _Slider.sliderTokens.rangeValueBottomOffset, _Slider.sliderTokens.rangeValueHorizontalOffset, _Slider.sliderTokens.rangeValueVerticalMargin, _Slider.sliderTokens.valueFontFamily, _Slider.sliderTokens.valueFontSize, _Slider.sliderTokens.valueFontStyle, _Slider.sliderTokens.valueFontWeight, _Slider.sliderTokens.valueLetterSpacing, _Slider.sliderTokens.valueLineHeight, _Slider.sliderTokens.thumbSize, _Slider.sliderTokens.thumbSizeLarge, _Slider.sliderTokens.thumbBorder, _Slider.sliderTokens.currentValueTopOffset, _Slider.sliderTokens.railThickness, _Slider.sliderTokens.railBorderRadius, _Slider.sliderTokens.railIndent, _Slider.sliderTokens.textFieldWrapperGap, _Slider.sliderTokens.textFieldHeight, _Slider.sliderTokens.textFieldPadding, _Slider.sliderTokens.textFieldBorderRadius, _Slider.sliderTokens.textFieldFontFamily, _Slider.sliderTokens.textFieldFontSize, _Slider.sliderTokens.textFieldFontStyle, _Slider.sliderTokens.textFieldFontWeight, _Slider.sliderTokens.textFieldLetterSpacing, _Slider.sliderTokens.textFieldLineHeight),
|
23
|
+
s: /*#__PURE__*/(0, _styledComponents.css)(["", ":1rem;", ":0.375rem;", ":0.25rem;", ":0.25rem;", ":0.875rem;", ":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);", ":0.5rem;", ":0.625rem;", ":0.625rem;", ":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);", ":1rem;", ":1.25rem;", ":0.0625rem solid;", ":1.25rem;", ":0.25rem;", ":0.125rem;", ":0.75rem;", ":0.125rem;", ":2.5rem;", ":0.5rem 1rem 0.5rem 1rem;", ":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);"], _Slider.sliderTokens.size, _Slider.sliderTokens.doubleWrapperGap, _Slider.sliderTokens.labelWrapperGap, _Slider.sliderTokens.labelWrapperMarginBottom, _Slider.sliderTokens.labelWrapperMarginRight, _Slider.sliderTokens.labelWrapperVerticalMargin, _Slider.sliderTokens.labelFontFamily, _Slider.sliderTokens.labelFontSize, _Slider.sliderTokens.labelFontStyle, _Slider.sliderTokens.labelFontWeight, _Slider.sliderTokens.labelLetterSpacing, _Slider.sliderTokens.labelLineHeight, _Slider.sliderTokens.rangeValueHorizontalMargin, _Slider.sliderTokens.rangeValueBottomOffset, _Slider.sliderTokens.rangeValueHorizontalOffset, _Slider.sliderTokens.rangeValueVerticalMargin, _Slider.sliderTokens.valueFontFamily, _Slider.sliderTokens.valueFontSize, _Slider.sliderTokens.valueFontStyle, _Slider.sliderTokens.valueFontWeight, _Slider.sliderTokens.valueLetterSpacing, _Slider.sliderTokens.valueLineHeight, _Slider.sliderTokens.thumbSize, _Slider.sliderTokens.thumbSizeLarge, _Slider.sliderTokens.thumbBorder, _Slider.sliderTokens.currentValueTopOffset, _Slider.sliderTokens.railThickness, _Slider.sliderTokens.railBorderRadius, _Slider.sliderTokens.railIndent, _Slider.sliderTokens.textFieldWrapperGap, _Slider.sliderTokens.textFieldHeight, _Slider.sliderTokens.textFieldPadding, _Slider.sliderTokens.textFieldBorderRadius, _Slider.sliderTokens.textFieldFontFamily, _Slider.sliderTokens.textFieldFontSize, _Slider.sliderTokens.textFieldFontStyle, _Slider.sliderTokens.textFieldFontWeight, _Slider.sliderTokens.textFieldLetterSpacing, _Slider.sliderTokens.textFieldLineHeight)
|
24
24
|
},
|
25
25
|
disabled: {
|
26
26
|
"true": /*#__PURE__*/(0, _styledComponents.css)(["", ":0.4;"], _Slider.sliderTokens.disabledOpacity)
|
@@ -4,14 +4,18 @@ import styled from 'styled-components';
|
|
4
4
|
import { disableProps } from '@salutejs/plasma-sb-utils';
|
5
5
|
import type { StoryObj, Meta } from '@storybook/react';
|
6
6
|
|
7
|
+
import { IconMic } from '../../../../components/_Icon';
|
7
8
|
import { WithTheme } from '../../../_helpers';
|
8
9
|
|
9
10
|
import { Slider } from './Slider';
|
10
11
|
|
11
12
|
const sizes = ['l', 'm', 's'];
|
13
|
+
const pointerSizes = ['small', 'large', 'none'];
|
12
14
|
const views = ['default', 'accent', 'gradient'];
|
13
|
-
const
|
14
|
-
const
|
15
|
+
const sliderAligns = ['center', 'left', 'right', 'none'];
|
16
|
+
const labelPlacements = ['top', 'left'];
|
17
|
+
const scaleAligns = ['side', 'bottom'];
|
18
|
+
const orientations: Array<string> = ['vertical', 'horizontal'];
|
15
19
|
|
16
20
|
const meta: Meta<typeof Slider> = {
|
17
21
|
title: 'plasma_web/Slider',
|
@@ -30,9 +34,24 @@ const meta: Meta<typeof Slider> = {
|
|
30
34
|
type: 'inline-radio',
|
31
35
|
},
|
32
36
|
},
|
37
|
+
pointerSize: {
|
38
|
+
options: pointerSizes,
|
39
|
+
control: {
|
40
|
+
type: 'inline-radio',
|
41
|
+
},
|
42
|
+
},
|
43
|
+
orientation: {
|
44
|
+
options: orientations,
|
45
|
+
control: {
|
46
|
+
type: 'select',
|
47
|
+
},
|
48
|
+
},
|
33
49
|
...disableProps([
|
34
50
|
'value',
|
35
51
|
'onChangeCommitted',
|
52
|
+
'onChangeTextField',
|
53
|
+
'onBlurTextField',
|
54
|
+
'onKeyDownTextField',
|
36
55
|
'ariaLabel',
|
37
56
|
'onChange',
|
38
57
|
'fontSizeMultiplier',
|
@@ -40,6 +59,14 @@ const meta: Meta<typeof Slider> = {
|
|
40
59
|
'settings',
|
41
60
|
'hasHoverAnimation',
|
42
61
|
'type',
|
62
|
+
'labelContentLeft',
|
63
|
+
'rangeValuesPlacement',
|
64
|
+
'name',
|
65
|
+
'defaultValue',
|
66
|
+
'labelContent',
|
67
|
+
'showRangeValues',
|
68
|
+
'hideMinValueDiff',
|
69
|
+
'hideMaxValueDiff',
|
43
70
|
]),
|
44
71
|
},
|
45
72
|
};
|
@@ -52,8 +79,9 @@ type StorySingleProps = StoryProps;
|
|
52
79
|
type StorySingle = StoryObj<StorySingleProps>;
|
53
80
|
type StoryDouble = StoryObj<StoryProps>;
|
54
81
|
|
55
|
-
const SliderWrapper = styled.div
|
56
|
-
width: 25rem;
|
82
|
+
const SliderWrapper = styled.div<{ isVertical?: boolean }>`
|
83
|
+
width: ${({ isVertical }) => (isVertical ? 'auto' : '25rem')};
|
84
|
+
height: ${({ isVertical }) => (isVertical ? '25rem' : 'auto')};
|
57
85
|
`;
|
58
86
|
|
59
87
|
const StoryDefault = (args: StorySingleProps) => {
|
@@ -67,41 +95,86 @@ const StoryDefault = (args: StorySingleProps) => {
|
|
67
95
|
setValue(values);
|
68
96
|
};
|
69
97
|
|
98
|
+
const { hasIcon, showIcon, orientation, labelPlacement, labelVerticalPlacement, ...rest } = args;
|
99
|
+
const isVertical = orientation === 'vertical';
|
100
|
+
|
70
101
|
return (
|
71
|
-
<SliderWrapper>
|
72
|
-
<Slider
|
102
|
+
<SliderWrapper isVertical={isVertical}>
|
103
|
+
<Slider
|
104
|
+
value={value}
|
105
|
+
orientation={orientation}
|
106
|
+
labelPlacement={labelPlacement}
|
107
|
+
labelContent={showIcon ? <IconMic size={rest.size === 's' ? 'xs' : 's'} /> : null}
|
108
|
+
onChangeCommitted={onChangeCommittedHandle}
|
109
|
+
onChange={onChangeHandle}
|
110
|
+
{...rest}
|
111
|
+
/>
|
73
112
|
</SliderWrapper>
|
74
113
|
);
|
75
114
|
};
|
76
115
|
|
77
116
|
export const Default: StorySingle = {
|
78
117
|
argTypes: {
|
118
|
+
sliderAlign: {
|
119
|
+
options: sliderAligns,
|
120
|
+
control: {
|
121
|
+
type: 'inline-radio',
|
122
|
+
},
|
123
|
+
if: { arg: 'orientation', eq: 'vertical' },
|
124
|
+
},
|
79
125
|
labelPlacement: {
|
80
126
|
options: labelPlacements,
|
81
127
|
control: {
|
82
128
|
type: 'inline-radio',
|
83
129
|
},
|
130
|
+
if: { arg: 'orientation', eq: 'horizontal' },
|
131
|
+
},
|
132
|
+
labelReversed: {
|
133
|
+
control: {
|
134
|
+
type: 'boolean',
|
135
|
+
expanded: true,
|
136
|
+
},
|
137
|
+
if: { arg: 'orientation', eq: 'vertical' },
|
138
|
+
},
|
139
|
+
scaleAlign: {
|
140
|
+
options: scaleAligns,
|
141
|
+
control: {
|
142
|
+
type: 'inline-radio',
|
143
|
+
},
|
144
|
+
if: { arg: 'orientation', eq: 'horizontal' },
|
84
145
|
},
|
85
|
-
|
86
|
-
options:
|
146
|
+
orientation: {
|
147
|
+
options: orientations,
|
87
148
|
control: {
|
88
149
|
type: 'inline-radio',
|
89
150
|
},
|
90
151
|
},
|
152
|
+
reversed: {
|
153
|
+
control: {
|
154
|
+
type: 'boolean',
|
155
|
+
},
|
156
|
+
if: { arg: 'orientation', eq: 'vertical' },
|
157
|
+
},
|
91
158
|
},
|
92
159
|
args: {
|
93
160
|
view: 'default',
|
94
161
|
size: 'm',
|
162
|
+
pointerSize: 'small',
|
95
163
|
min: 0,
|
96
164
|
max: 100,
|
97
|
-
|
98
|
-
ariaLabel: 'Цена
|
165
|
+
orientation: 'horizontal',
|
166
|
+
ariaLabel: 'Цена микрофона',
|
99
167
|
multipleStepSize: 10,
|
100
|
-
label: 'Цена
|
101
|
-
labelPlacement: '
|
102
|
-
|
103
|
-
|
168
|
+
label: 'Цена микрофона',
|
169
|
+
labelPlacement: 'top',
|
170
|
+
sliderAlign: 'center',
|
171
|
+
scaleAlign: 'bottom',
|
172
|
+
showScale: true,
|
104
173
|
showCurrentValue: false,
|
174
|
+
showIcon: true,
|
175
|
+
reversed: false,
|
176
|
+
labelReversed: false,
|
177
|
+
disabled: false,
|
105
178
|
},
|
106
179
|
render: (args) => <StoryDefault {...args} />,
|
107
180
|
};
|
@@ -141,7 +214,7 @@ const StoryMultipleValues = (args: StoryProps) => {
|
|
141
214
|
};
|
142
215
|
|
143
216
|
return (
|
144
|
-
<SliderWrapper>
|
217
|
+
<SliderWrapper isVertical={args.orientation === 'vertical'}>
|
145
218
|
<Slider
|
146
219
|
value={value}
|
147
220
|
onKeyDownTextField={onKeyDownTextField}
|
@@ -158,6 +231,7 @@ export const MultipleValues: StoryDouble = {
|
|
158
231
|
args: {
|
159
232
|
view: 'default',
|
160
233
|
size: 'm',
|
234
|
+
pointerSize: 'small',
|
161
235
|
min: 0,
|
162
236
|
max: 100,
|
163
237
|
disabled: false,
|
@@ -165,5 +239,14 @@ export const MultipleValues: StoryDouble = {
|
|
165
239
|
ariaLabel: ['Минимальная цена товара', 'Максимальная цена товара'],
|
166
240
|
multipleStepSize: 10,
|
167
241
|
},
|
242
|
+
argTypes: {
|
243
|
+
pointerSize: {
|
244
|
+
options: ['small', 'large'],
|
245
|
+
control: {
|
246
|
+
type: 'inline-radio',
|
247
|
+
},
|
248
|
+
},
|
249
|
+
...disableProps(['orientation']),
|
250
|
+
},
|
168
251
|
render: (args) => <StoryMultipleValues {...args} />,
|
169
252
|
};
|
@@ -1,33 +1,24 @@
|
|
1
|
-
var _excluded = ["count", "maxCount", "size", "view"
|
1
|
+
var _excluded = ["count", "maxCount", "size", "view"];
|
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';
|
7
6
|
import { base as viewCSS } from './variations/_view/base';
|
8
7
|
import { base as sizeCSS } from './variations/_size/base';
|
9
8
|
import { base } from './Counter.styles';
|
10
|
-
import { classes } from './Counter.tokens';
|
11
|
-
var MIN_COUNT = 1;
|
12
9
|
export var counterRoot = function counterRoot(Root) {
|
13
10
|
return /*#__PURE__*/forwardRef(function (props, ref) {
|
14
11
|
var count = props.count,
|
15
12
|
maxCount = props.maxCount,
|
16
13
|
size = props.size,
|
17
14
|
view = props.view,
|
18
|
-
className = props.className,
|
19
15
|
rest = _objectWithoutProperties(props, _excluded);
|
20
|
-
var
|
21
|
-
var currMaxCount = maxCount && maxCount < MIN_COUNT ? MIN_COUNT : maxCount;
|
22
|
-
var currMaxCountExceeded = currMaxCount && currCount > currMaxCount;
|
23
|
-
var content = currMaxCountExceeded ? "".concat(currMaxCount, "+") : currCount;
|
24
|
-
var roundClass = !currMaxCountExceeded && currCount >= 0 && currCount < 10 ? classes.round : undefined;
|
16
|
+
var content = maxCount && count > maxCount ? "".concat(maxCount, "+") : count;
|
25
17
|
return /*#__PURE__*/React.createElement(Root, _extends({
|
26
18
|
ref: ref,
|
27
19
|
view: view,
|
28
20
|
size: size,
|
29
|
-
count: count
|
30
|
-
className: cx(roundClass, className)
|
21
|
+
count: count
|
31
22
|
}, rest), content);
|
32
23
|
});
|
33
24
|
};
|
@@ -12,7 +12,7 @@ import { PropsTable, Description } from '@site/src/components';
|
|
12
12
|
## Примеры
|
13
13
|
|
14
14
|
### Максимальное значение числового badge
|
15
|
-
Задается с помощью свойства `maxCount`.
|
15
|
+
Задается с помощью свойства `maxCount`.
|
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`. Возможные значения свойства: `"xs"` или `"xxs"`.
|
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 {
|
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(", ")
|
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);
|
@@ -4,10 +4,13 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
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
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
6
6
|
import React, { forwardRef } from 'react';
|
7
|
+
import { cx } from '../../utils';
|
7
8
|
import { base as viewCSS } from './variations/_view/base';
|
8
9
|
import { base as sizeCSS } from './variations/_size/base';
|
9
10
|
import { base as disabledCSS } from './variations/_disabled/base';
|
10
11
|
import { SingleSlider, DoubleUncontrolled } from './components';
|
12
|
+
import { classes } from './Slider.tokens';
|
13
|
+
|
11
14
|
// TODO: проверить, можно ли обойтись без каста типов
|
12
15
|
|
13
16
|
var isSingleValueProps = function isSingleValueProps(props, type) {
|
@@ -21,9 +24,15 @@ export var sliderRoot = function sliderRoot(Root) {
|
|
21
24
|
var _ref$type = _ref.type,
|
22
25
|
type = _ref$type === void 0 ? 'single' : _ref$type,
|
23
26
|
props = _objectWithoutProperties(_ref, _excluded);
|
24
|
-
|
27
|
+
if (isSingleValueProps(props, type)) {
|
28
|
+
return /*#__PURE__*/React.createElement(Root, _extends({}, props, {
|
29
|
+
className: cx(props.orientation === 'vertical' && classes.verticalOrientation, props.className),
|
30
|
+
ref: ref
|
31
|
+
}), /*#__PURE__*/React.createElement(SingleSlider, props));
|
32
|
+
}
|
33
|
+
return /*#__PURE__*/React.createElement(Root, _extends({
|
25
34
|
ref: ref
|
26
|
-
}
|
35
|
+
}, props), isDoubleValueProps(props, type) && /*#__PURE__*/React.createElement(DoubleUncontrolled, props));
|
27
36
|
});
|
28
37
|
};
|
29
38
|
export var sliderConfig = {
|