@salutejs/plasma-new-hope 0.79.0-dev.0 → 0.80.0-canary.1194.9058672177.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Combobox/hooks/useFocusController.js +1 -0
- package/cjs/components/Combobox/hooks/useFocusController.js.map +1 -1
- package/cjs/components/Slider/Slider.css +69 -0
- package/cjs/components/Slider/Slider.js +53 -0
- package/cjs/components/Slider/Slider.js.map +1 -0
- package/cjs/components/Slider/Slider.tokens.js +79 -0
- package/cjs/components/Slider/Slider.tokens.js.map +1 -0
- package/cjs/components/Slider/components/Double/Double.css +62 -0
- package/cjs/components/Slider/components/Double/Double.js +274 -0
- package/cjs/components/Slider/components/Double/Double.js.map +1 -0
- package/cjs/components/Slider/components/Double/Double.styles.js +61 -0
- package/cjs/components/Slider/components/Double/Double.styles.js.map +1 -0
- package/cjs/components/Slider/components/Double/Double.styles_1jhda4u.css +7 -0
- package/cjs/components/Slider/components/Single/Single.css +16 -0
- package/cjs/components/Slider/components/Single/Single.js +160 -0
- package/cjs/components/Slider/components/Single/Single.js.map +1 -0
- package/cjs/components/Slider/components/Single/Single.styles.js +45 -0
- package/cjs/components/Slider/components/Single/Single.styles.js.map +1 -0
- package/cjs/components/Slider/components/Single/Single.styles_1r9f1e0.css +6 -0
- package/cjs/components/Slider/components/SliderBase/SliderBase.css +4 -0
- package/cjs/components/Slider/components/SliderBase/SliderBase.js +82 -0
- package/cjs/components/Slider/components/SliderBase/SliderBase.js.map +1 -0
- package/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +33 -0
- package/cjs/components/Slider/components/SliderBase/SliderBase.styles.js.map +1 -0
- package/cjs/components/Slider/components/SliderBase/SliderBase.styles_7is2ll.css +4 -0
- package/cjs/components/Slider/ui/Handle/Handle.css +4 -0
- package/cjs/components/Slider/ui/Handle/Handle.js +174 -0
- package/cjs/components/Slider/ui/Handle/Handle.js.map +1 -0
- package/cjs/components/Slider/ui/Handle/Handle.styles.js +21 -0
- package/cjs/components/Slider/ui/Handle/Handle.styles.js.map +1 -0
- package/cjs/components/Slider/ui/Handle/Handle.styles_9m0x33.css +2 -0
- package/cjs/components/Slider/ui/Thumb/Thumb.css +1 -0
- package/cjs/components/Slider/ui/Thumb/Thumb.js +31 -0
- package/cjs/components/Slider/ui/Thumb/Thumb.js.map +1 -0
- package/cjs/components/Slider/ui/Thumb/Thumb.styles.js +15 -0
- package/cjs/components/Slider/ui/Thumb/Thumb.styles.js.map +1 -0
- package/cjs/components/Slider/ui/Thumb/Thumb.styles_4w4gzn.css +1 -0
- package/cjs/components/Slider/utils/index.js +56 -0
- package/cjs/components/Slider/utils/index.js.map +1 -0
- package/cjs/components/Slider/variations/_disabled/base.js +9 -0
- package/cjs/components/Slider/variations/_disabled/base.js.map +1 -0
- package/cjs/components/Slider/variations/_disabled/base_x642ct.css +1 -0
- package/cjs/components/Slider/variations/_size/base.js +9 -0
- package/cjs/components/Slider/variations/_size/base.js.map +1 -0
- package/cjs/components/Slider/variations/_size/base_x642ct.css +1 -0
- package/cjs/components/Slider/variations/_view/base.js +9 -0
- package/cjs/components/Slider/variations/_view/base.js.map +1 -0
- package/cjs/components/Slider/variations/_view/base_x642ct.css +1 -0
- package/cjs/components/TextField/TextField.js +12 -3
- package/cjs/components/TextField/TextField.js.map +1 -1
- package/cjs/engines/common.js +4 -0
- package/cjs/engines/common.js.map +1 -1
- package/cjs/engines/index.js.map +1 -1
- package/cjs/hooks/useIsomorphicLayoutEffect.js +15 -0
- package/cjs/hooks/useIsomorphicLayoutEffect.js.map +1 -0
- package/cjs/index.css +25 -0
- package/cjs/index.js +14 -0
- package/cjs/index.js.map +1 -1
- package/cjs/utils/canUseDOM.js +12 -0
- package/cjs/utils/canUseDOM.js.map +1 -0
- package/cjs/utils/index.js.map +1 -1
- package/es/components/Combobox/hooks/useFocusController.js +1 -0
- package/es/components/Combobox/hooks/useFocusController.js.map +1 -1
- package/es/components/Slider/Slider.css +69 -0
- package/es/components/Slider/Slider.js +48 -0
- package/es/components/Slider/Slider.js.map +1 -0
- package/es/components/Slider/Slider.tokens.js +74 -0
- package/es/components/Slider/Slider.tokens.js.map +1 -0
- package/es/components/Slider/components/Double/Double.css +62 -0
- package/es/components/Slider/components/Double/Double.js +270 -0
- package/es/components/Slider/components/Double/Double.js.map +1 -0
- package/es/components/Slider/components/Double/Double.styles.js +51 -0
- package/es/components/Slider/components/Double/Double.styles.js.map +1 -0
- package/es/components/Slider/components/Double/Double.styles_1jhda4u.css +7 -0
- package/es/components/Slider/components/Single/Single.css +16 -0
- package/es/components/Slider/components/Single/Single.js +156 -0
- package/es/components/Slider/components/Single/Single.js.map +1 -0
- package/es/components/Slider/components/Single/Single.styles.js +36 -0
- package/es/components/Slider/components/Single/Single.styles.js.map +1 -0
- package/es/components/Slider/components/Single/Single.styles_1r9f1e0.css +6 -0
- package/es/components/Slider/components/SliderBase/SliderBase.css +4 -0
- package/es/components/Slider/components/SliderBase/SliderBase.js +78 -0
- package/es/components/Slider/components/SliderBase/SliderBase.js.map +1 -0
- package/es/components/Slider/components/SliderBase/SliderBase.styles.js +26 -0
- package/es/components/Slider/components/SliderBase/SliderBase.styles.js.map +1 -0
- package/es/components/Slider/components/SliderBase/SliderBase.styles_7is2ll.css +4 -0
- package/es/components/Slider/ui/Handle/Handle.css +4 -0
- package/es/components/Slider/ui/Handle/Handle.js +170 -0
- package/es/components/Slider/ui/Handle/Handle.js.map +1 -0
- package/es/components/Slider/ui/Handle/Handle.styles.js +16 -0
- package/es/components/Slider/ui/Handle/Handle.styles.js.map +1 -0
- package/es/components/Slider/ui/Handle/Handle.styles_9m0x33.css +2 -0
- package/es/components/Slider/ui/Thumb/Thumb.css +1 -0
- package/es/components/Slider/ui/Thumb/Thumb.js +27 -0
- package/es/components/Slider/ui/Thumb/Thumb.js.map +1 -0
- package/es/components/Slider/ui/Thumb/Thumb.styles.js +11 -0
- package/es/components/Slider/ui/Thumb/Thumb.styles.js.map +1 -0
- package/es/components/Slider/ui/Thumb/Thumb.styles_4w4gzn.css +1 -0
- package/es/components/Slider/utils/index.js +50 -0
- package/es/components/Slider/utils/index.js.map +1 -0
- package/es/components/Slider/variations/_disabled/base.js +5 -0
- package/es/components/Slider/variations/_disabled/base.js.map +1 -0
- package/es/components/Slider/variations/_disabled/base_x642ct.css +1 -0
- package/es/components/Slider/variations/_size/base.js +5 -0
- package/es/components/Slider/variations/_size/base.js.map +1 -0
- package/es/components/Slider/variations/_size/base_x642ct.css +1 -0
- package/es/components/Slider/variations/_view/base.js +5 -0
- package/es/components/Slider/variations/_view/base.js.map +1 -0
- package/es/components/Slider/variations/_view/base_x642ct.css +1 -0
- package/es/components/TextField/TextField.js +12 -3
- package/es/components/TextField/TextField.js.map +1 -1
- package/es/engines/common.js +4 -0
- package/es/engines/common.js.map +1 -1
- package/es/engines/index.js.map +1 -1
- package/es/hooks/useIsomorphicLayoutEffect.js +11 -0
- package/es/hooks/useIsomorphicLayoutEffect.js.map +1 -0
- package/es/index.css +25 -0
- package/es/index.js +8 -0
- package/es/index.js.map +1 -1
- package/es/utils/canUseDOM.js +8 -0
- package/es/utils/canUseDOM.js.map +1 -0
- package/es/utils/index.js.map +1 -1
- package/package.json +3 -2
- package/styled-components/cjs/components/Slider/Slider.js +52 -0
- package/styled-components/cjs/components/Slider/Slider.tokens.js +77 -0
- package/styled-components/cjs/components/Slider/Slider.types.js +5 -0
- package/styled-components/cjs/components/Slider/components/Double/Double.js +286 -0
- package/styled-components/cjs/components/Slider/components/Double/Double.styles.js +36 -0
- package/styled-components/cjs/components/Slider/components/Double/Double.types.js +5 -0
- package/styled-components/cjs/components/Slider/components/Single/Single.js +172 -0
- package/styled-components/cjs/components/Slider/components/Single/Single.styles.js +27 -0
- package/styled-components/cjs/components/Slider/components/Single/Single.types.js +5 -0
- package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.js +83 -0
- package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +21 -0
- package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.types.js +5 -0
- package/styled-components/cjs/components/Slider/components/index.js +27 -0
- package/styled-components/cjs/components/Slider/index.js +32 -0
- package/styled-components/cjs/components/Slider/ui/Handle/Handle.js +183 -0
- package/styled-components/cjs/components/Slider/ui/Handle/Handle.styles.js +15 -0
- package/styled-components/cjs/components/Slider/ui/Handle/Handle.types.js +5 -0
- package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.js +32 -0
- package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.styles.js +18 -0
- package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.types.js +5 -0
- package/styled-components/cjs/components/Slider/ui/index.js +63 -0
- package/styled-components/cjs/components/Slider/utils/index.js +55 -0
- package/styled-components/cjs/components/Slider/variations/_disabled/base.js +8 -0
- package/styled-components/cjs/components/Slider/variations/_disabled/tokens.json +4 -0
- package/styled-components/cjs/components/Slider/variations/_size/base.js +8 -0
- package/styled-components/cjs/components/Slider/variations/_size/tokens.json +0 -0
- package/styled-components/cjs/components/Slider/variations/_view/base.js +8 -0
- package/styled-components/cjs/components/Slider/variations/_view/tokens.json +0 -0
- package/styled-components/cjs/components/TextField/TextField.js +12 -3
- package/styled-components/cjs/engines/common.js +4 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.config.js +29 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.js +16 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.stories.tsx +150 -0
- package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.config.js +29 -0
- package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.js +16 -0
- package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.stories.tsx +150 -0
- package/styled-components/cjs/hooks/index.js +8 -1
- package/styled-components/cjs/hooks/useIsomorphicLayoutEffect.js +12 -0
- package/styled-components/cjs/index.js +11 -0
- package/styled-components/cjs/utils/canUseDOM.js +11 -0
- package/styled-components/cjs/utils/index.js +7 -0
- package/styled-components/es/components/Slider/Slider.js +43 -0
- package/styled-components/es/components/Slider/Slider.tokens.js +71 -0
- package/styled-components/es/components/Slider/Slider.types.js +1 -0
- package/styled-components/es/components/Slider/components/Double/Double.js +278 -0
- package/styled-components/es/components/Slider/components/Double/Double.styles.js +29 -0
- package/styled-components/es/components/Slider/components/Double/Double.types.js +1 -0
- package/styled-components/es/components/Slider/components/Single/Single.js +164 -0
- package/styled-components/es/components/Slider/components/Single/Single.styles.js +20 -0
- package/styled-components/es/components/Slider/components/Single/Single.types.js +1 -0
- package/styled-components/es/components/Slider/components/SliderBase/SliderBase.js +74 -0
- package/styled-components/es/components/Slider/components/SliderBase/SliderBase.styles.js +14 -0
- package/styled-components/es/components/Slider/components/SliderBase/SliderBase.types.js +1 -0
- package/styled-components/es/components/Slider/components/index.js +3 -0
- package/styled-components/es/components/Slider/index.js +3 -0
- package/styled-components/es/components/Slider/ui/Handle/Handle.js +174 -0
- package/styled-components/es/components/Slider/ui/Handle/Handle.styles.js +8 -0
- package/styled-components/es/components/Slider/ui/Handle/Handle.types.js +1 -0
- package/styled-components/es/components/Slider/ui/Thumb/Thumb.js +25 -0
- package/styled-components/es/components/Slider/ui/Thumb/Thumb.styles.js +11 -0
- package/styled-components/es/components/Slider/ui/Thumb/Thumb.types.js +1 -0
- package/styled-components/es/components/Slider/ui/index.js +5 -0
- package/styled-components/es/components/Slider/utils/index.js +47 -0
- package/styled-components/es/components/Slider/variations/_disabled/base.js +2 -0
- package/styled-components/es/components/Slider/variations/_disabled/tokens.json +4 -0
- package/styled-components/es/components/Slider/variations/_size/base.js +2 -0
- package/styled-components/es/components/Slider/variations/_size/tokens.json +0 -0
- package/styled-components/es/components/Slider/variations/_view/base.js +2 -0
- package/styled-components/es/components/Slider/variations/_view/tokens.json +0 -0
- package/styled-components/es/components/TextField/TextField.js +12 -3
- package/styled-components/es/engines/common.js +4 -0
- package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.config.js +23 -0
- package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.js +10 -0
- package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.stories.tsx +150 -0
- package/styled-components/es/examples/plasma_web/components/Slider/Slider.config.js +23 -0
- package/styled-components/es/examples/plasma_web/components/Slider/Slider.js +10 -0
- package/styled-components/es/examples/plasma_web/components/Slider/Slider.stories.tsx +150 -0
- package/styled-components/es/hooks/index.js +2 -1
- package/styled-components/es/hooks/useIsomorphicLayoutEffect.js +7 -0
- package/styled-components/es/index.js +2 -1
- package/styled-components/es/utils/canUseDOM.js +5 -0
- package/styled-components/es/utils/index.js +1 -0
- package/types/components/Slider/Slider.d.ts +27 -0
- package/types/components/Slider/Slider.d.ts.map +1 -0
- package/types/components/Slider/Slider.tokens.d.ts +72 -0
- package/types/components/Slider/Slider.tokens.d.ts.map +1 -0
- package/types/components/Slider/Slider.types.d.ts +3 -0
- package/types/components/Slider/Slider.types.d.ts.map +1 -0
- package/types/components/Slider/components/Double/Double.d.ts +4 -0
- package/types/components/Slider/components/Double/Double.d.ts.map +1 -0
- package/types/components/Slider/components/Double/Double.styles.d.ts +43 -0
- package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -0
- package/types/components/Slider/components/Double/Double.types.d.ts +65 -0
- package/types/components/Slider/components/Double/Double.types.d.ts.map +1 -0
- package/types/components/Slider/components/Single/Single.d.ts +4 -0
- package/types/components/Slider/components/Single/Single.d.ts.map +1 -0
- package/types/components/Slider/components/Single/Single.styles.d.ts +8 -0
- package/types/components/Slider/components/Single/Single.styles.d.ts.map +1 -0
- package/types/components/Slider/components/Single/Single.types.d.ts +55 -0
- package/types/components/Slider/components/Single/Single.types.d.ts.map +1 -0
- package/types/components/Slider/components/SliderBase/SliderBase.d.ts +4 -0
- package/types/components/Slider/components/SliderBase/SliderBase.d.ts.map +1 -0
- package/types/components/Slider/components/SliderBase/SliderBase.styles.d.ts +6 -0
- package/types/components/Slider/components/SliderBase/SliderBase.styles.d.ts.map +1 -0
- package/types/components/Slider/components/SliderBase/SliderBase.types.d.ts +45 -0
- package/types/components/Slider/components/SliderBase/SliderBase.types.d.ts.map +1 -0
- package/types/components/Slider/components/index.d.ts +6 -0
- package/types/components/Slider/components/index.d.ts.map +1 -0
- package/types/components/Slider/index.d.ts +6 -0
- package/types/components/Slider/index.d.ts.map +1 -0
- package/types/components/Slider/ui/Handle/Handle.d.ts +9 -0
- package/types/components/Slider/ui/Handle/Handle.d.ts.map +1 -0
- package/types/components/Slider/ui/Handle/Handle.styles.d.ts +4 -0
- package/types/components/Slider/ui/Handle/Handle.styles.d.ts.map +1 -0
- package/types/components/Slider/ui/Handle/Handle.types.d.ts +24 -0
- package/types/components/Slider/ui/Handle/Handle.types.d.ts.map +1 -0
- package/types/components/Slider/ui/Thumb/Thumb.d.ts +4 -0
- package/types/components/Slider/ui/Thumb/Thumb.d.ts.map +1 -0
- package/types/components/Slider/ui/Thumb/Thumb.styles.d.ts +5 -0
- package/types/components/Slider/ui/Thumb/Thumb.styles.d.ts.map +1 -0
- package/types/components/Slider/ui/Thumb/Thumb.types.d.ts +12 -0
- package/types/components/Slider/ui/Thumb/Thumb.types.d.ts.map +1 -0
- package/types/components/Slider/ui/index.d.ts +6 -0
- package/types/components/Slider/ui/index.d.ts.map +1 -0
- package/types/components/Slider/utils/index.d.ts +33 -0
- package/types/components/Slider/utils/index.d.ts.map +1 -0
- package/types/components/Slider/variations/_disabled/base.d.ts +2 -0
- package/types/components/Slider/variations/_disabled/base.d.ts.map +1 -0
- package/types/components/Slider/variations/_size/base.d.ts +2 -0
- package/types/components/Slider/variations/_size/base.d.ts.map +1 -0
- package/types/components/Slider/variations/_view/base.d.ts +2 -0
- package/types/components/Slider/variations/_view/base.d.ts.map +1 -0
- package/types/components/TextField/TextField.d.ts.map +1 -1
- package/types/engines/common.d.ts +3 -3
- package/types/engines/common.d.ts.map +1 -1
- package/types/engines/index.d.ts +1 -1
- package/types/engines/index.d.ts.map +1 -1
- package/types/engines/types.d.ts +4 -0
- package/types/engines/types.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Slider/Slider.config.d.ts +22 -0
- package/types/examples/plasma_b2c/components/Slider/Slider.config.d.ts.map +1 -0
- package/types/examples/plasma_b2c/components/Slider/Slider.d.ts +21 -0
- package/types/examples/plasma_b2c/components/Slider/Slider.d.ts.map +1 -0
- package/types/examples/plasma_web/components/Slider/Slider.config.d.ts +22 -0
- package/types/examples/plasma_web/components/Slider/Slider.config.d.ts.map +1 -0
- package/types/examples/plasma_web/components/Slider/Slider.d.ts +21 -0
- package/types/examples/plasma_web/components/Slider/Slider.d.ts.map +1 -0
- package/types/hooks/index.d.ts +1 -0
- package/types/hooks/index.d.ts.map +1 -1
- package/types/hooks/useIsomorphicLayoutEffect.d.ts +6 -0
- package/types/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/utils/canUseDOM.d.ts +6 -0
- package/types/utils/canUseDOM.d.ts.map +1 -0
- package/types/utils/index.d.ts +1 -0
- package/types/utils/index.d.ts.map +1 -1
@@ -0,0 +1,16 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.Slider = void 0;
|
7
|
+
var _Slider = /*#__PURE__*/require("../../../../components/Slider");
|
8
|
+
var _engines = /*#__PURE__*/require("../../../../engines");
|
9
|
+
var _Slider2 = /*#__PURE__*/require("./Slider.config");
|
10
|
+
var mergedConfig = /*#__PURE__*/(0, _engines.mergeConfig)(_Slider.sliderConfig, _Slider2.config);
|
11
|
+
var Slider = exports.Slider = /*#__PURE__*/(0, _engines.component)(mergedConfig);
|
12
|
+
|
13
|
+
/**
|
14
|
+
* Слайдер позволяет определить числовое значение в пределах указанного промежутка.
|
15
|
+
* Можно указать два значения.
|
16
|
+
*/
|
@@ -0,0 +1,150 @@
|
|
1
|
+
import React, { useState } from 'react';
|
2
|
+
import type { ComponentProps } from 'react';
|
3
|
+
import styled from 'styled-components';
|
4
|
+
import { disableProps } from '@salutejs/plasma-sb-utils';
|
5
|
+
import type { StoryObj, Meta } from '@storybook/react';
|
6
|
+
import { action } from '@storybook/addon-actions';
|
7
|
+
|
8
|
+
import { WithTheme } from '../../../_helpers';
|
9
|
+
|
10
|
+
import { Slider } from './Slider';
|
11
|
+
|
12
|
+
const sizes = ['l', 'm', 's'];
|
13
|
+
const views = ['default', 'accent', 'gradient'];
|
14
|
+
const labelPlacements = ['outer', 'inner'];
|
15
|
+
const rangeValuesPlacement = ['outer', 'inner'];
|
16
|
+
|
17
|
+
const meta: Meta<typeof Slider> = {
|
18
|
+
title: 'plasma_b2c/Slider',
|
19
|
+
component: Slider,
|
20
|
+
decorators: [WithTheme],
|
21
|
+
argTypes: {
|
22
|
+
view: {
|
23
|
+
options: views,
|
24
|
+
control: {
|
25
|
+
type: 'select',
|
26
|
+
},
|
27
|
+
},
|
28
|
+
size: {
|
29
|
+
options: sizes,
|
30
|
+
control: {
|
31
|
+
type: 'inline-radio',
|
32
|
+
},
|
33
|
+
},
|
34
|
+
...disableProps([
|
35
|
+
'value',
|
36
|
+
'onChangeCommitted',
|
37
|
+
'ariaLabel',
|
38
|
+
'onChange',
|
39
|
+
'fontSizeMultiplier',
|
40
|
+
'gap',
|
41
|
+
'settings',
|
42
|
+
'hasHoverAnimation',
|
43
|
+
]),
|
44
|
+
},
|
45
|
+
};
|
46
|
+
|
47
|
+
export default meta;
|
48
|
+
|
49
|
+
type StoryProps = Omit<ComponentProps<typeof Slider>, 'value' | 'onChangeCommitted'>;
|
50
|
+
type StorySingleProps = StoryProps;
|
51
|
+
|
52
|
+
type StorySingle = StoryObj<StorySingleProps>;
|
53
|
+
type StoryDouble = StoryObj<StoryProps>;
|
54
|
+
|
55
|
+
const SliderWrapper = styled.div`
|
56
|
+
width: 25rem;
|
57
|
+
`;
|
58
|
+
|
59
|
+
const StoryDefault = (args: StorySingleProps) => {
|
60
|
+
const [value, setValue] = useState(30);
|
61
|
+
|
62
|
+
const onChangeCommittedHandle = (values) => {
|
63
|
+
setValue(values);
|
64
|
+
};
|
65
|
+
|
66
|
+
return (
|
67
|
+
<SliderWrapper>
|
68
|
+
<Slider value={value} onChangeCommitted={onChangeCommittedHandle} onChange={action('onChange')} {...args} />
|
69
|
+
</SliderWrapper>
|
70
|
+
);
|
71
|
+
};
|
72
|
+
|
73
|
+
export const Default: StorySingle = {
|
74
|
+
argTypes: {
|
75
|
+
labelPlacement: {
|
76
|
+
options: labelPlacements,
|
77
|
+
control: {
|
78
|
+
type: 'inline-radio',
|
79
|
+
},
|
80
|
+
},
|
81
|
+
rangeValuesPlacement: {
|
82
|
+
options: rangeValuesPlacement,
|
83
|
+
control: {
|
84
|
+
type: 'inline-radio',
|
85
|
+
},
|
86
|
+
},
|
87
|
+
},
|
88
|
+
args: {
|
89
|
+
view: 'default',
|
90
|
+
size: 'm',
|
91
|
+
min: 0,
|
92
|
+
max: 100,
|
93
|
+
disabled: false,
|
94
|
+
ariaLabel: 'Цена товара',
|
95
|
+
multipleStepSize: 10,
|
96
|
+
label: 'Цена товара',
|
97
|
+
labelPlacement: 'outer',
|
98
|
+
rangeValuesPlacement: 'outer',
|
99
|
+
showRangeValues: true,
|
100
|
+
showCurrentValue: false,
|
101
|
+
},
|
102
|
+
render: (args) => <StoryDefault {...args} />,
|
103
|
+
};
|
104
|
+
|
105
|
+
const StoryMultipleValues = (args: StoryProps) => {
|
106
|
+
const [value, setValue] = useState([10, 80]);
|
107
|
+
const sortValues = (values) => {
|
108
|
+
return values.sort((a, b) => a - b);
|
109
|
+
};
|
110
|
+
|
111
|
+
const onChangeHandle = (values) => {
|
112
|
+
setValue(sortValues(values));
|
113
|
+
};
|
114
|
+
|
115
|
+
const onBlurTextField = (values) => {
|
116
|
+
setValue(sortValues(values));
|
117
|
+
};
|
118
|
+
|
119
|
+
const onKeyDownTextField = (values, event) => {
|
120
|
+
if (event.key === 'Enter') {
|
121
|
+
setValue(sortValues(values));
|
122
|
+
}
|
123
|
+
};
|
124
|
+
|
125
|
+
return (
|
126
|
+
<SliderWrapper>
|
127
|
+
<Slider
|
128
|
+
value={value}
|
129
|
+
onKeyDownTextField={onKeyDownTextField}
|
130
|
+
onBlurTextField={onBlurTextField}
|
131
|
+
onChange={onChangeHandle}
|
132
|
+
{...args}
|
133
|
+
/>
|
134
|
+
</SliderWrapper>
|
135
|
+
);
|
136
|
+
};
|
137
|
+
|
138
|
+
export const MultipleValues: StoryDouble = {
|
139
|
+
args: {
|
140
|
+
view: 'default',
|
141
|
+
size: 'm',
|
142
|
+
min: 0,
|
143
|
+
max: 100,
|
144
|
+
disabled: false,
|
145
|
+
label: 'Цена товара',
|
146
|
+
ariaLabel: ['Минимальная цена товара', 'Максимальная цена товара'],
|
147
|
+
multipleStepSize: 10,
|
148
|
+
},
|
149
|
+
render: (args) => <StoryMultipleValues {...args} />,
|
150
|
+
};
|
@@ -0,0 +1,29 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.config = void 0;
|
7
|
+
var _styledComponents = /*#__PURE__*/require("styled-components");
|
8
|
+
var _Slider = /*#__PURE__*/require("../../../../components/Slider");
|
9
|
+
var config = exports.config = {
|
10
|
+
defaults: {
|
11
|
+
view: 'default',
|
12
|
+
size: 'm'
|
13
|
+
},
|
14
|
+
variations: {
|
15
|
+
view: {
|
16
|
+
"default": /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--text-primary);", ":var(--text-secondary);", ":var(--surface-solid-tertiary);", ":var(--on-light-surface-solid-card);", ":var(--surface-solid-default);", ":var(--surface-solid-tertiary);", ":var(--surface-solid-default);", ":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),
|
17
|
+
accent: /*#__PURE__*/(0, _styledComponents.css)(["", ":var(--text-primary);", ":var(--text-secondary);", ":var(--surface-solid-tertiary);", ":var(--on-light-surface-solid-card);", ":var(--surface-accent);", ":var(--surface-solid-tertiary);", ":var(--surface-accent);", ":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),
|
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
|
+
},
|
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.75rem;", ":-1.25rem;", ":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);", ":1.5rem;", ":0.125rem solid;", ":1.625rem;", ":var(--plasma-typo-text-s-font-family);", ":var(--plasma-typo-text-s-font-size);", ":var(--plasma-typo-text-s-font-style);", ":var(--plasma-typo-text-s-font-weight);", ":var(--plasma-typo-text-s-letter-spacing);", ":var(--plasma-typo-text-s-line-height);", ":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.height, _Slider.sliderTokens.doubleWrapperGap, _Slider.sliderTokens.labelWrapperGap, _Slider.sliderTokens.labelWrapperMarginBottom, _Slider.sliderTokens.labelWrapperMarginRight, _Slider.sliderTokens.labelFontFamily, _Slider.sliderTokens.labelFontSize, _Slider.sliderTokens.labelFontStyle, _Slider.sliderTokens.labelFontWeight, _Slider.sliderTokens.labelLetterSpacing, _Slider.sliderTokens.labelLineHeight, _Slider.sliderTokens.rangeMinValueMargin, _Slider.sliderTokens.rangeMaxValueMargin, _Slider.sliderTokens.rangeValueBottomOffset, _Slider.sliderTokens.rangeValueFontFamily, _Slider.sliderTokens.rangeValueFontSize, _Slider.sliderTokens.rangeValueFontStyle, _Slider.sliderTokens.rangeValueFontWeight, _Slider.sliderTokens.rangeValueLetterSpacing, _Slider.sliderTokens.rangeValueLineHeight, _Slider.sliderTokens.thumbSize, _Slider.sliderTokens.thumbBorder, _Slider.sliderTokens.currentValueTopOffset, _Slider.sliderTokens.currentValueFontFamily, _Slider.sliderTokens.currentValueFontSize, _Slider.sliderTokens.currentValueFontStyle, _Slider.sliderTokens.currentValueFontWeight, _Slider.sliderTokens.currentValueLetterSpacing, _Slider.sliderTokens.currentValueLineHeight, _Slider.sliderTokens.railHeight, _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;", ":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;", ":-1.25rem;", ":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);", ":1.5rem;", ":0.125rem solid;", ":1.75rem;", ":var(--plasma-typo-text-xs-font-family);", ":var(--plasma-typo-text-xs-font-size);", ":var(--plasma-typo-text-xs-font-style);", ":var(--plasma-typo-text-xs-font-weight);", ":var(--plasma-typo-text-xs-letter-spacing);", ":var(--plasma-typo-text-xs-line-height);", ":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.height, _Slider.sliderTokens.doubleWrapperGap, _Slider.sliderTokens.labelWrapperGap, _Slider.sliderTokens.labelWrapperMarginBottom, _Slider.sliderTokens.labelWrapperMarginRight, _Slider.sliderTokens.labelFontFamily, _Slider.sliderTokens.labelFontSize, _Slider.sliderTokens.labelFontStyle, _Slider.sliderTokens.labelFontWeight, _Slider.sliderTokens.labelLetterSpacing, _Slider.sliderTokens.labelLineHeight, _Slider.sliderTokens.rangeMinValueMargin, _Slider.sliderTokens.rangeMaxValueMargin, _Slider.sliderTokens.rangeValueBottomOffset, _Slider.sliderTokens.rangeValueFontFamily, _Slider.sliderTokens.rangeValueFontSize, _Slider.sliderTokens.rangeValueFontStyle, _Slider.sliderTokens.rangeValueFontWeight, _Slider.sliderTokens.rangeValueLetterSpacing, _Slider.sliderTokens.rangeValueLineHeight, _Slider.sliderTokens.thumbSize, _Slider.sliderTokens.thumbBorder, _Slider.sliderTokens.currentValueTopOffset, _Slider.sliderTokens.currentValueFontFamily, _Slider.sliderTokens.currentValueFontSize, _Slider.sliderTokens.currentValueFontStyle, _Slider.sliderTokens.currentValueFontWeight, _Slider.sliderTokens.currentValueLetterSpacing, _Slider.sliderTokens.currentValueLineHeight, _Slider.sliderTokens.railHeight, _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;", ":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.5rem;", ":-1.25rem;", ":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;", ":0.125rem solid;", ":1.25rem;", ":var(--plasma-typo-text-xs-font-family);", ":var(--plasma-typo-text-xs-font-size);", ":var(--plasma-typo-text-xs-font-style);", ":var(--plasma-typo-text-xs-font-weight);", ":var(--plasma-typo-text-xs-letter-spacing);", ":var(--plasma-typo-text-xs-line-height);", ":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.height, _Slider.sliderTokens.doubleWrapperGap, _Slider.sliderTokens.labelWrapperGap, _Slider.sliderTokens.labelWrapperMarginBottom, _Slider.sliderTokens.labelWrapperMarginRight, _Slider.sliderTokens.labelFontFamily, _Slider.sliderTokens.labelFontSize, _Slider.sliderTokens.labelFontStyle, _Slider.sliderTokens.labelFontWeight, _Slider.sliderTokens.labelLetterSpacing, _Slider.sliderTokens.labelLineHeight, _Slider.sliderTokens.rangeMinValueMargin, _Slider.sliderTokens.rangeMaxValueMargin, _Slider.sliderTokens.rangeValueBottomOffset, _Slider.sliderTokens.rangeValueFontFamily, _Slider.sliderTokens.rangeValueFontSize, _Slider.sliderTokens.rangeValueFontStyle, _Slider.sliderTokens.rangeValueFontWeight, _Slider.sliderTokens.rangeValueLetterSpacing, _Slider.sliderTokens.rangeValueLineHeight, _Slider.sliderTokens.thumbSize, _Slider.sliderTokens.thumbBorder, _Slider.sliderTokens.currentValueTopOffset, _Slider.sliderTokens.currentValueFontFamily, _Slider.sliderTokens.currentValueFontSize, _Slider.sliderTokens.currentValueFontStyle, _Slider.sliderTokens.currentValueFontWeight, _Slider.sliderTokens.currentValueLetterSpacing, _Slider.sliderTokens.currentValueLineHeight, _Slider.sliderTokens.railHeight, _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
|
+
},
|
25
|
+
disabled: {
|
26
|
+
"true": /*#__PURE__*/(0, _styledComponents.css)(["", ":0.4;"], _Slider.sliderTokens.disabledOpacity)
|
27
|
+
}
|
28
|
+
}
|
29
|
+
};
|
@@ -0,0 +1,16 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.Slider = void 0;
|
7
|
+
var _Slider = /*#__PURE__*/require("../../../../components/Slider");
|
8
|
+
var _engines = /*#__PURE__*/require("../../../../engines");
|
9
|
+
var _Slider2 = /*#__PURE__*/require("./Slider.config");
|
10
|
+
var mergedConfig = /*#__PURE__*/(0, _engines.mergeConfig)(_Slider.sliderConfig, _Slider2.config);
|
11
|
+
var Slider = exports.Slider = /*#__PURE__*/(0, _engines.component)(mergedConfig);
|
12
|
+
|
13
|
+
/**
|
14
|
+
* Слайдер позволяет определить числовое значение в пределах указанного промежутка.
|
15
|
+
* Можно указать два значения.
|
16
|
+
*/
|
@@ -0,0 +1,150 @@
|
|
1
|
+
import React, { useState } from 'react';
|
2
|
+
import type { ComponentProps } from 'react';
|
3
|
+
import styled from 'styled-components';
|
4
|
+
import { disableProps } from '@salutejs/plasma-sb-utils';
|
5
|
+
import type { StoryObj, Meta } from '@storybook/react';
|
6
|
+
import { action } from '@storybook/addon-actions';
|
7
|
+
|
8
|
+
import { WithTheme } from '../../../_helpers';
|
9
|
+
|
10
|
+
import { Slider } from './Slider';
|
11
|
+
|
12
|
+
const sizes = ['l', 'm', 's'];
|
13
|
+
const views = ['default', 'accent', 'gradient'];
|
14
|
+
const labelPlacements = ['outer', 'inner'];
|
15
|
+
const rangeValuesPlacement = ['outer', 'inner'];
|
16
|
+
|
17
|
+
const meta: Meta<typeof Slider> = {
|
18
|
+
title: 'plasma_web/Slider',
|
19
|
+
component: Slider,
|
20
|
+
decorators: [WithTheme],
|
21
|
+
argTypes: {
|
22
|
+
view: {
|
23
|
+
options: views,
|
24
|
+
control: {
|
25
|
+
type: 'select',
|
26
|
+
},
|
27
|
+
},
|
28
|
+
size: {
|
29
|
+
options: sizes,
|
30
|
+
control: {
|
31
|
+
type: 'inline-radio',
|
32
|
+
},
|
33
|
+
},
|
34
|
+
...disableProps([
|
35
|
+
'value',
|
36
|
+
'onChangeCommitted',
|
37
|
+
'ariaLabel',
|
38
|
+
'onChange',
|
39
|
+
'fontSizeMultiplier',
|
40
|
+
'gap',
|
41
|
+
'settings',
|
42
|
+
'hasHoverAnimation',
|
43
|
+
]),
|
44
|
+
},
|
45
|
+
};
|
46
|
+
|
47
|
+
export default meta;
|
48
|
+
|
49
|
+
type StoryProps = Omit<ComponentProps<typeof Slider>, 'value' | 'onChangeCommitted'>;
|
50
|
+
type StorySingleProps = StoryProps;
|
51
|
+
|
52
|
+
type StorySingle = StoryObj<StorySingleProps>;
|
53
|
+
type StoryDouble = StoryObj<StoryProps>;
|
54
|
+
|
55
|
+
const SliderWrapper = styled.div`
|
56
|
+
width: 25rem;
|
57
|
+
`;
|
58
|
+
|
59
|
+
const StoryDefault = (args: StorySingleProps) => {
|
60
|
+
const [value, setValue] = useState(30);
|
61
|
+
|
62
|
+
const onChangeCommittedHandle = (values) => {
|
63
|
+
setValue(values);
|
64
|
+
};
|
65
|
+
|
66
|
+
return (
|
67
|
+
<SliderWrapper>
|
68
|
+
<Slider value={value} onChangeCommitted={onChangeCommittedHandle} onChange={action('onChange')} {...args} />
|
69
|
+
</SliderWrapper>
|
70
|
+
);
|
71
|
+
};
|
72
|
+
|
73
|
+
export const Default: StorySingle = {
|
74
|
+
argTypes: {
|
75
|
+
labelPlacement: {
|
76
|
+
options: labelPlacements,
|
77
|
+
control: {
|
78
|
+
type: 'inline-radio',
|
79
|
+
},
|
80
|
+
},
|
81
|
+
rangeValuesPlacement: {
|
82
|
+
options: rangeValuesPlacement,
|
83
|
+
control: {
|
84
|
+
type: 'inline-radio',
|
85
|
+
},
|
86
|
+
},
|
87
|
+
},
|
88
|
+
args: {
|
89
|
+
view: 'default',
|
90
|
+
size: 'm',
|
91
|
+
min: 0,
|
92
|
+
max: 100,
|
93
|
+
disabled: false,
|
94
|
+
ariaLabel: 'Цена товара',
|
95
|
+
multipleStepSize: 10,
|
96
|
+
label: 'Цена товара',
|
97
|
+
labelPlacement: 'outer',
|
98
|
+
rangeValuesPlacement: 'outer',
|
99
|
+
showRangeValues: true,
|
100
|
+
showCurrentValue: false,
|
101
|
+
},
|
102
|
+
render: (args) => <StoryDefault {...args} />,
|
103
|
+
};
|
104
|
+
|
105
|
+
const StoryMultipleValues = (args: StoryProps) => {
|
106
|
+
const [value, setValue] = useState([10, 80]);
|
107
|
+
const sortValues = (values) => {
|
108
|
+
return values.sort((a, b) => a - b);
|
109
|
+
};
|
110
|
+
|
111
|
+
const onChangeHandle = (values) => {
|
112
|
+
setValue(sortValues(values));
|
113
|
+
};
|
114
|
+
|
115
|
+
const onBlurTextField = (values) => {
|
116
|
+
setValue(sortValues(values));
|
117
|
+
};
|
118
|
+
|
119
|
+
const onKeyDownTextField = (values, event) => {
|
120
|
+
if (event.key === 'Enter') {
|
121
|
+
setValue(sortValues(values));
|
122
|
+
}
|
123
|
+
};
|
124
|
+
|
125
|
+
return (
|
126
|
+
<SliderWrapper>
|
127
|
+
<Slider
|
128
|
+
value={value}
|
129
|
+
onKeyDownTextField={onKeyDownTextField}
|
130
|
+
onBlurTextField={onBlurTextField}
|
131
|
+
onChange={onChangeHandle}
|
132
|
+
{...args}
|
133
|
+
/>
|
134
|
+
</SliderWrapper>
|
135
|
+
);
|
136
|
+
};
|
137
|
+
|
138
|
+
export const MultipleValues: StoryDouble = {
|
139
|
+
args: {
|
140
|
+
view: 'default',
|
141
|
+
size: 'm',
|
142
|
+
min: 0,
|
143
|
+
max: 100,
|
144
|
+
disabled: false,
|
145
|
+
label: 'Цена товара',
|
146
|
+
ariaLabel: ['Минимальная цена товара', 'Максимальная цена товара'],
|
147
|
+
multipleStepSize: 10,
|
148
|
+
},
|
149
|
+
render: (args) => <StoryMultipleValues {...args} />,
|
150
|
+
};
|
@@ -15,6 +15,12 @@ Object.defineProperty(exports, "useForceUpdate", {
|
|
15
15
|
return _useForceUpdate.useForceUpdate;
|
16
16
|
}
|
17
17
|
});
|
18
|
+
Object.defineProperty(exports, "useIsomorphicLayoutEffect", {
|
19
|
+
enumerable: true,
|
20
|
+
get: function get() {
|
21
|
+
return _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect;
|
22
|
+
}
|
23
|
+
});
|
18
24
|
Object.defineProperty(exports, "usePreviousValue", {
|
19
25
|
enumerable: true,
|
20
26
|
get: function get() {
|
@@ -30,4 +36,5 @@ Object.defineProperty(exports, "useUniqId", {
|
|
30
36
|
var _useUniqId = /*#__PURE__*/require("./useUniqId");
|
31
37
|
var _usePreviousValue = /*#__PURE__*/require("./usePreviousValue");
|
32
38
|
var _useForceUpdate = /*#__PURE__*/require("./useForceUpdate");
|
33
|
-
var _useDidMountEffect = /*#__PURE__*/require("./useDidMountEffect");
|
39
|
+
var _useDidMountEffect = /*#__PURE__*/require("./useDidMountEffect");
|
40
|
+
var _useIsomorphicLayoutEffect = /*#__PURE__*/require("./useIsomorphicLayoutEffect");
|
@@ -0,0 +1,12 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.useIsomorphicLayoutEffect = void 0;
|
7
|
+
var _react = /*#__PURE__*/require("react");
|
8
|
+
var _utils = /*#__PURE__*/require("../utils");
|
9
|
+
/**
|
10
|
+
* Runs effect safely on server.
|
11
|
+
*/
|
12
|
+
var useIsomorphicLayoutEffect = exports.useIsomorphicLayoutEffect = _utils.canUseDOM ? _react.useLayoutEffect : _react.useEffect;
|
@@ -508,4 +508,15 @@ Object.keys(_Toolbar).forEach(function (key) {
|
|
508
508
|
return _Toolbar[key];
|
509
509
|
}
|
510
510
|
});
|
511
|
+
});
|
512
|
+
var _Slider = /*#__PURE__*/require("./components/Slider");
|
513
|
+
Object.keys(_Slider).forEach(function (key) {
|
514
|
+
if (key === "default" || key === "__esModule") return;
|
515
|
+
if (key in exports && exports[key] === _Slider[key]) return;
|
516
|
+
Object.defineProperty(exports, key, {
|
517
|
+
enumerable: true,
|
518
|
+
get: function get() {
|
519
|
+
return _Slider[key];
|
520
|
+
}
|
521
|
+
});
|
511
522
|
});
|
@@ -0,0 +1,11 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.canUseDOM = void 0;
|
7
|
+
/**
|
8
|
+
* This constant tells you whether can DOM be used.
|
9
|
+
* https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js
|
10
|
+
*/
|
11
|
+
var canUseDOM = exports.canUseDOM = /*#__PURE__*/Boolean(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');
|
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "IS_REACT_18", {
|
|
9
9
|
return _react.IS_REACT_18;
|
10
10
|
}
|
11
11
|
});
|
12
|
+
Object.defineProperty(exports, "canUseDOM", {
|
13
|
+
enumerable: true,
|
14
|
+
get: function get() {
|
15
|
+
return _canUseDOM.canUseDOM;
|
16
|
+
}
|
17
|
+
});
|
12
18
|
exports.cx = exports.composableStyle = void 0;
|
13
19
|
Object.defineProperty(exports, "extractTextFrom", {
|
14
20
|
enumerable: true,
|
@@ -34,6 +40,7 @@ Object.defineProperty(exports, "safeUseId", {
|
|
34
40
|
return _react.safeUseId;
|
35
41
|
}
|
36
42
|
});
|
43
|
+
var _canUseDOM = /*#__PURE__*/require("./canUseDOM");
|
37
44
|
var _extractTextFrom = /*#__PURE__*/require("./extractTextFrom");
|
38
45
|
var _getSizeValueFromProp = /*#__PURE__*/require("./getSizeValueFromProp");
|
39
46
|
var _react = /*#__PURE__*/require("./react");
|
@@ -0,0 +1,43 @@
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
2
|
+
import React, { forwardRef } from 'react';
|
3
|
+
import { base as viewCSS } from './variations/_view/base';
|
4
|
+
import { base as sizeCSS } from './variations/_size/base';
|
5
|
+
import { base as disabledCSS } from './variations/_disabled/base';
|
6
|
+
import { SingleSlider, DoubleSlider } from './components';
|
7
|
+
var isSingleValueProps = function isSingleValueProps(props) {
|
8
|
+
return typeof props.value === 'number';
|
9
|
+
};
|
10
|
+
export var sliderRoot = function sliderRoot(Root) {
|
11
|
+
return /*#__PURE__*/forwardRef(function (props, ref) {
|
12
|
+
if (isSingleValueProps(props)) {
|
13
|
+
return /*#__PURE__*/React.createElement(Root, _extends({
|
14
|
+
ref: ref
|
15
|
+
}, props), /*#__PURE__*/React.createElement(SingleSlider, props));
|
16
|
+
}
|
17
|
+
return /*#__PURE__*/React.createElement(Root, _extends({
|
18
|
+
ref: ref
|
19
|
+
}, props), /*#__PURE__*/React.createElement(DoubleSlider, props));
|
20
|
+
});
|
21
|
+
};
|
22
|
+
export var sliderConfig = {
|
23
|
+
name: 'Slider',
|
24
|
+
tag: 'div',
|
25
|
+
layout: sliderRoot,
|
26
|
+
base: '',
|
27
|
+
variations: {
|
28
|
+
view: {
|
29
|
+
css: viewCSS
|
30
|
+
},
|
31
|
+
size: {
|
32
|
+
css: sizeCSS
|
33
|
+
},
|
34
|
+
disabled: {
|
35
|
+
css: disabledCSS,
|
36
|
+
attrs: true
|
37
|
+
}
|
38
|
+
},
|
39
|
+
defaults: {
|
40
|
+
view: 'default',
|
41
|
+
size: 'm'
|
42
|
+
}
|
43
|
+
};
|
@@ -0,0 +1,71 @@
|
|
1
|
+
export var classes = {
|
2
|
+
labelPlacementOuter: 'slider-label-placement-outer',
|
3
|
+
labelPlacementInner: 'slider-label-placement-inner',
|
4
|
+
rangeValuesPlacementOuter: 'slider-range-values-placement-outer',
|
5
|
+
rangeValuesPlacementInner: 'slider-range-values-placement-inner',
|
6
|
+
maxRangeValue: 'slider-max-range-value',
|
7
|
+
hideMinValue: 'slider-hide-min-value',
|
8
|
+
hideMaxValue: 'slider-hide-max-value',
|
9
|
+
textFieldActive: 'slider-text-field-active',
|
10
|
+
firstTextField: 'slider-first-text-field',
|
11
|
+
secondTextField: 'slider-second-text-field',
|
12
|
+
activeRangeValue: 'slider-active-range-value'
|
13
|
+
};
|
14
|
+
export var tokens = {
|
15
|
+
height: '--plasma-slider-height',
|
16
|
+
labelWrapperGap: '--plasma-slider-label-wrapper-gap',
|
17
|
+
labelWrapperMarginBottom: '--plasma-slider-label-wrapper-margin-bottom',
|
18
|
+
labelWrapperMarginRight: '--plasma-slider-label-wrapper-margin-right',
|
19
|
+
labelColor: '--plasma-slider-label-color',
|
20
|
+
labelFontFamily: '--plasma-slider-label-font-family',
|
21
|
+
labelFontSize: '--plasma-slider-label-font-size',
|
22
|
+
labelFontStyle: '--plasma-slider-label-font-style',
|
23
|
+
labelFontWeight: '--plasma-slider-label-font-weight',
|
24
|
+
labelLetterSpacing: '--plasma-slider-label-letter-spacing',
|
25
|
+
labelLineHeight: '--plasma-slider-label-line-height',
|
26
|
+
rangeMinValueMargin: '--plasma-slider-range-min-value-margin',
|
27
|
+
rangeMaxValueMargin: '--plasma-slider-range-max-value-margin',
|
28
|
+
rangeValueBottomOffset: '--plasma-slider-range-value-bottom-offset',
|
29
|
+
rangeValueColor: '--plasma-slider-range-value-color',
|
30
|
+
rangeValueFontFamily: '--plasma-slider-range-value-font-family',
|
31
|
+
rangeValueFontSize: '--plasma-slider-range-value-font-size',
|
32
|
+
rangeValueFontStyle: '--plasma-slider-range-value-font-style',
|
33
|
+
rangeValueFontWeight: '--plasma-slider-range-value-font-weight',
|
34
|
+
rangeValueLetterSpacing: '--plasma-slider-range-value-letter-spacing',
|
35
|
+
rangeValueLineHeight: '--plasma-slider-range-value-line-height',
|
36
|
+
doubleWrapperGap: '--plasma-slider-double-wrapper-gap',
|
37
|
+
thumbSize: '--plasma-slider-thumb-size',
|
38
|
+
thumbBorder: '--plasma-slider-thumb-border',
|
39
|
+
thumbBorderColor: '--plasma-slider-thumb-border-color',
|
40
|
+
thumbBackgroundColor: '--plasma-slider-thumb-background-color',
|
41
|
+
thumbFocusBorderColor: '--plasma-slider-thumb-focus-border-color',
|
42
|
+
currentValueTopOffset: '--plasma-slider-current-value-top-offset',
|
43
|
+
currentValueFontFamily: '--plasma-slider-current-value-font-family',
|
44
|
+
currentValueFontSize: '--plasma-slider-current-value-font-size',
|
45
|
+
currentValueFontStyle: '--plasma-slider-current-value-font-style',
|
46
|
+
currentValueFontWeight: '--plasma-slider-current-value-font-weight',
|
47
|
+
currentValueLetterSpacing: '--plasma-slider-current-value-letter-spacing',
|
48
|
+
currentValueLineHeight: '--plasma-slider-current-value-line-height',
|
49
|
+
railBackgroundColor: '--plasma-slider-rail-background-color',
|
50
|
+
railHeight: '--plasma-slider-rail-height',
|
51
|
+
railBorderRadius: '--plasma-slider-rail-border-radius',
|
52
|
+
railIndent: '--plasma-slider-rail-indent',
|
53
|
+
fillColor: '--plasma-slider-fill-color',
|
54
|
+
textFieldWrapperGap: '--plasma-slider-text-field-wrapper-gap',
|
55
|
+
textFieldFontFamily: '--plasma-slider-text-field-font-family',
|
56
|
+
textFieldFontSize: '--plasma-slider-text-field-font-size',
|
57
|
+
textFieldFontStyle: '--plasma-slider-text-field-font-style',
|
58
|
+
textFieldFontWeight: '--plasma-slider-text-field-font-weight',
|
59
|
+
textFieldLetterSpacing: '--plasma-slider-text-field-letter-spacing',
|
60
|
+
textFieldLineHeight: '--plasma-slider-text-field-line-height',
|
61
|
+
textFieldHeight: '--plasma-slider-text-field-height',
|
62
|
+
textFieldPadding: '--plasma-slider-text-field-padding',
|
63
|
+
textFieldBorderRadius: '--plasma-slider-text-field-border-radius',
|
64
|
+
textFieldColor: '--plasma-slider-text-field-color',
|
65
|
+
textFieldActiveColor: '--plasma-slider-text-field-active-color',
|
66
|
+
textFieldBackgroundColor: '--plasma-slider-text-field-background-color',
|
67
|
+
textFieldCaretColor: '--plasma-slider-text-field-caret-color',
|
68
|
+
textFieldPlaceholderColor: '--plasma-slider-text-field-placeholder-color',
|
69
|
+
textFiledFocusColor: '--plasma-slider-text-field-focus-color',
|
70
|
+
disabledOpacity: '--plasma-slider-disabled-opacity'
|
71
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|