@salutejs/plasma-new-hope 0.84.2-canary.1217.9223107446.0 → 0.85.0-canary.1208.9245279695.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/components/Range/Range.css +63 -0
- package/cjs/components/Range/Range.js +146 -0
- package/cjs/components/Range/Range.js.map +1 -0
- package/cjs/components/Range/Range.styles.js +63 -0
- package/cjs/components/Range/Range.styles.js.map +1 -0
- package/cjs/components/Range/Range.styles_mc4w65.css +8 -0
- package/cjs/components/Range/Range.tokens.js +106 -0
- package/cjs/components/Range/Range.tokens.js.map +1 -0
- package/cjs/components/Range/utils/index.js +24 -0
- package/cjs/components/Range/utils/index.js.map +1 -0
- package/cjs/components/Range/variations/_disabled/base.js +9 -0
- package/cjs/components/Range/variations/_disabled/base.js.map +1 -0
- package/cjs/components/Range/variations/_disabled/base_1ufizo4.css +1 -0
- package/cjs/components/Range/variations/_readonly/base.js +9 -0
- package/cjs/components/Range/variations/_readonly/base.js.map +1 -0
- package/cjs/components/Range/variations/_readonly/base_tzdxy8.css +1 -0
- package/cjs/components/Range/variations/_size/base.js +9 -0
- package/cjs/components/Range/variations/_size/base.js.map +1 -0
- package/cjs/components/Range/variations/_size/base_16xiubi.css +1 -0
- package/cjs/components/Range/variations/_view/base.js +9 -0
- package/cjs/components/Range/variations/_view/base.js.map +1 -0
- package/cjs/components/Range/variations/_view/base_5iz3nr.css +1 -0
- package/cjs/components/Slider/Slider.css +11 -9
- package/cjs/components/Slider/components/Double/Double.css +11 -9
- package/cjs/components/TextField/TextField.js +10 -10
- package/cjs/components/TextField/TextField.js.map +1 -1
- package/cjs/components/TextField/TextField.styles.js +13 -1
- package/cjs/components/TextField/TextField.styles.js.map +1 -1
- package/cjs/components/TextField/{TextField.styles_1b1mddp.css → TextField.styles_aqmut.css} +2 -0
- package/cjs/components/TextField/TextField.tokens.js +5 -0
- package/cjs/components/TextField/TextField.tokens.js.map +1 -1
- package/cjs/components/TextField/variations/_label-placement/inner.js +1 -1
- package/cjs/components/TextField/variations/_label-placement/inner.js.map +1 -1
- package/cjs/components/TextField/variations/_label-placement/inner_7c08qb.css +1 -0
- package/cjs/components/TextField/variations/_size/base.js +1 -1
- package/cjs/components/TextField/variations/_size/base.js.map +1 -1
- package/{es/components/TextField/variations/_size/base_1khzr9t.css → cjs/components/TextField/variations/_size/base_ntoddv.css} +1 -1
- package/cjs/components/TextField/variations/_view/base.js +1 -1
- package/cjs/components/TextField/variations/_view/base.js.map +1 -1
- package/{es/components/TextField/variations/_view/base_1qd77x6.css → cjs/components/TextField/variations/_view/base_19gxyva.css} +1 -1
- package/cjs/index.css +28 -9
- package/cjs/index.js +5 -0
- package/cjs/index.js.map +1 -1
- package/es/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/es/components/Range/Range.css +63 -0
- package/es/components/Range/Range.js +141 -0
- package/es/components/Range/Range.js.map +1 -0
- package/es/components/Range/Range.styles.js +52 -0
- package/es/components/Range/Range.styles.js.map +1 -0
- package/es/components/Range/Range.styles_mc4w65.css +8 -0
- package/es/components/Range/Range.tokens.js +101 -0
- package/es/components/Range/Range.tokens.js.map +1 -0
- package/es/components/Range/utils/index.js +19 -0
- package/es/components/Range/utils/index.js.map +1 -0
- package/es/components/Range/variations/_disabled/base.js +5 -0
- package/es/components/Range/variations/_disabled/base.js.map +1 -0
- package/es/components/Range/variations/_disabled/base_1ufizo4.css +1 -0
- package/es/components/Range/variations/_readonly/base.js +5 -0
- package/es/components/Range/variations/_readonly/base.js.map +1 -0
- package/es/components/Range/variations/_readonly/base_tzdxy8.css +1 -0
- package/es/components/Range/variations/_size/base.js +5 -0
- package/es/components/Range/variations/_size/base.js.map +1 -0
- package/es/components/Range/variations/_size/base_16xiubi.css +1 -0
- package/es/components/Range/variations/_view/base.js +5 -0
- package/es/components/Range/variations/_view/base.js.map +1 -0
- package/es/components/Range/variations/_view/base_5iz3nr.css +1 -0
- package/es/components/Slider/Slider.css +11 -9
- package/es/components/Slider/components/Double/Double.css +11 -9
- package/es/components/TextField/TextField.js +11 -11
- package/es/components/TextField/TextField.js.map +1 -1
- package/es/components/TextField/TextField.styles.js +12 -2
- package/es/components/TextField/TextField.styles.js.map +1 -1
- package/es/components/TextField/{TextField.styles_1b1mddp.css → TextField.styles_aqmut.css} +2 -0
- package/es/components/TextField/TextField.tokens.js +5 -0
- package/es/components/TextField/TextField.tokens.js.map +1 -1
- package/es/components/TextField/variations/_label-placement/inner.js +1 -1
- package/es/components/TextField/variations/_label-placement/inner.js.map +1 -1
- package/es/components/TextField/variations/_label-placement/inner_7c08qb.css +1 -0
- package/es/components/TextField/variations/_size/base.js +1 -1
- package/es/components/TextField/variations/_size/base.js.map +1 -1
- package/{cjs/components/TextField/variations/_size/base_1khzr9t.css → es/components/TextField/variations/_size/base_ntoddv.css} +1 -1
- package/es/components/TextField/variations/_view/base.js +1 -1
- package/es/components/TextField/variations/_view/base.js.map +1 -1
- package/{cjs/components/TextField/variations/_view/base_1qd77x6.css → es/components/TextField/variations/_view/base_19gxyva.css} +1 -1
- package/es/index.css +28 -9
- package/es/index.js +2 -0
- package/es/index.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Range/Range.js +148 -0
- package/styled-components/cjs/components/Range/Range.styles.js +39 -0
- package/styled-components/cjs/components/Range/Range.template-doc.mdx +323 -0
- package/styled-components/cjs/components/Range/Range.tokens.js +104 -0
- package/styled-components/cjs/components/Range/Range.types.js +5 -0
- package/styled-components/cjs/components/Range/index.js +25 -0
- package/styled-components/cjs/components/Range/utils/index.js +22 -0
- package/styled-components/cjs/components/Range/variations/_disabled/base.js +9 -0
- package/styled-components/cjs/components/Range/variations/_disabled/tokens.json +4 -0
- package/styled-components/cjs/components/Range/variations/_readonly/base.js +10 -0
- package/styled-components/cjs/components/Range/variations/_readonly/tokens.json +4 -0
- package/styled-components/cjs/components/Range/variations/_size/base.js +10 -0
- package/styled-components/cjs/components/Range/variations/_size/tokens.json +26 -0
- package/styled-components/cjs/components/Range/variations/_view/base.js +10 -0
- package/styled-components/cjs/components/Range/variations/_view/tokens.json +6 -0
- package/styled-components/cjs/components/TextField/TextField.js +10 -10
- package/styled-components/cjs/components/TextField/TextField.styles.js +7 -1
- package/styled-components/cjs/components/TextField/TextField.tokens.js +5 -0
- package/styled-components/cjs/components/TextField/variations/_label-placement/inner.js +1 -1
- package/styled-components/cjs/components/TextField/variations/_size/base.js +1 -1
- package/styled-components/cjs/components/TextField/variations/_view/base.js +1 -1
- package/styled-components/cjs/examples/plasma_b2c/components/Range/Range.config.js +31 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Range/Range.js +11 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Range/Range.stories.tsx +312 -0
- package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +8 -8
- package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +2 -0
- package/styled-components/cjs/examples/plasma_web/components/Range/Range.config.js +31 -0
- package/styled-components/cjs/examples/plasma_web/components/Range/Range.js +11 -0
- package/styled-components/cjs/examples/plasma_web/components/Range/Range.stories.tsx +312 -0
- package/styled-components/cjs/index.js +11 -0
- package/styled-components/es/components/Range/Range.js +139 -0
- package/styled-components/es/components/Range/Range.styles.js +31 -0
- package/styled-components/es/components/Range/Range.template-doc.mdx +323 -0
- package/styled-components/es/components/Range/Range.tokens.js +98 -0
- package/styled-components/es/components/Range/Range.types.js +1 -0
- package/styled-components/es/components/Range/index.js +2 -0
- package/styled-components/es/components/Range/utils/index.js +16 -0
- package/styled-components/es/components/Range/variations/_disabled/base.js +3 -0
- package/styled-components/es/components/Range/variations/_disabled/tokens.json +4 -0
- package/styled-components/es/components/Range/variations/_readonly/base.js +4 -0
- package/styled-components/es/components/Range/variations/_readonly/tokens.json +4 -0
- package/styled-components/es/components/Range/variations/_size/base.js +4 -0
- package/styled-components/es/components/Range/variations/_size/tokens.json +26 -0
- package/styled-components/es/components/Range/variations/_view/base.js +4 -0
- package/styled-components/es/components/Range/variations/_view/tokens.json +6 -0
- package/styled-components/es/components/TextField/TextField.js +11 -11
- package/styled-components/es/components/TextField/TextField.styles.js +6 -0
- package/styled-components/es/components/TextField/TextField.tokens.js +5 -0
- package/styled-components/es/components/TextField/variations/_label-placement/inner.js +2 -2
- package/styled-components/es/components/TextField/variations/_size/base.js +2 -2
- package/styled-components/es/components/TextField/variations/_view/base.js +2 -2
- package/styled-components/es/examples/plasma_b2c/components/Range/Range.config.js +25 -0
- package/styled-components/es/examples/plasma_b2c/components/Range/Range.js +5 -0
- package/styled-components/es/examples/plasma_b2c/components/Range/Range.stories.tsx +312 -0
- package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.config.js +8 -8
- package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +2 -0
- package/styled-components/es/examples/plasma_web/components/Range/Range.config.js +25 -0
- package/styled-components/es/examples/plasma_web/components/Range/Range.js +5 -0
- package/styled-components/es/examples/plasma_web/components/Range/Range.stories.tsx +312 -0
- package/styled-components/es/index.js +2 -1
- package/types/components/Range/Range.d.ts +31 -0
- package/types/components/Range/Range.d.ts.map +1 -0
- package/types/components/Range/Range.styles.d.ts +48 -0
- package/types/components/Range/Range.styles.d.ts.map +1 -0
- package/types/components/Range/Range.tokens.d.ts +99 -0
- package/types/components/Range/Range.tokens.d.ts.map +1 -0
- package/types/components/Range/Range.types.d.ts +143 -0
- package/types/components/Range/Range.types.d.ts.map +1 -0
- package/types/components/Range/index.d.ts +4 -0
- package/types/components/Range/index.d.ts.map +1 -0
- package/types/components/Range/utils/index.d.ts +5 -0
- package/types/components/Range/utils/index.d.ts.map +1 -0
- package/types/components/Range/variations/_disabled/base.d.ts +2 -0
- package/types/components/Range/variations/_disabled/base.d.ts.map +1 -0
- package/types/components/Range/variations/_readonly/base.d.ts +2 -0
- package/types/components/Range/variations/_readonly/base.d.ts.map +1 -0
- package/types/components/Range/variations/_size/base.d.ts +2 -0
- package/types/components/Range/variations/_size/base.d.ts.map +1 -0
- package/types/components/Range/variations/_view/base.d.ts +2 -0
- package/types/components/Range/variations/_view/base.d.ts.map +1 -0
- package/types/components/Slider/components/Double/Double.styles.d.ts +4 -0
- package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
- package/types/components/TextField/TextField.d.ts.map +1 -1
- package/types/components/TextField/TextField.styles.d.ts +2 -0
- package/types/components/TextField/TextField.styles.d.ts.map +1 -1
- package/types/components/TextField/TextField.tokens.d.ts +5 -0
- package/types/components/TextField/TextField.tokens.d.ts.map +1 -1
- package/types/components/TextField/TextField.types.d.ts +8 -0
- package/types/components/TextField/TextField.types.d.ts.map +1 -1
- package/types/components/TextField/variations/_label-placement/inner.d.ts.map +1 -1
- package/types/components/TextField/variations/_size/base.d.ts.map +1 -1
- package/types/components/TextField/variations/_view/base.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Range/Range.config.d.ts +24 -0
- package/types/examples/plasma_b2c/components/Range/Range.config.d.ts.map +1 -0
- package/types/examples/plasma_b2c/components/Range/Range.d.ts +127 -0
- package/types/examples/plasma_b2c/components/Range/Range.d.ts.map +1 -0
- package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/TextField/TextField.d.ts +4 -0
- package/types/examples/plasma_b2c/components/TextField/TextField.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Range/Range.config.d.ts +24 -0
- package/types/examples/plasma_web/components/Range/Range.config.d.ts.map +1 -0
- package/types/examples/plasma_web/components/Range/Range.d.ts +127 -0
- package/types/examples/plasma_web/components/Range/Range.d.ts.map +1 -0
- package/types/examples/plasma_web/components/TextField/TextField.d.ts +4 -0
- package/types/examples/plasma_web/components/TextField/TextField.d.ts.map +1 -1
- package/types/examples/sds_engineer/components/TextField/TextField.d.ts +4 -0
- package/types/examples/sds_engineer/components/TextField/TextField.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/cjs/components/TextField/variations/_label-placement/inner_gqlcj2.css +0 -1
- package/es/components/TextField/variations/_label-placement/inner_gqlcj2.css +0 -1
@@ -0,0 +1,312 @@
|
|
1
|
+
import React, { ChangeEvent, ComponentProps, Dispatch, SetStateAction, useState } from 'react';
|
2
|
+
import type { StoryObj, Meta } from '@storybook/react';
|
3
|
+
import { action } from '@storybook/addon-actions';
|
4
|
+
import { IconPlaceholder } from '@salutejs/plasma-sb-utils';
|
5
|
+
|
6
|
+
import { WithTheme } from '../../../_helpers';
|
7
|
+
import { IconChevronLeft } from '../../../../components/_Icon';
|
8
|
+
import { IconButton } from '../IconButton/IconButton';
|
9
|
+
|
10
|
+
import { Range } from './Range';
|
11
|
+
|
12
|
+
const onChangeFirstValue = action('onChangeFirstValue');
|
13
|
+
const onChangeSecondValue = action('onChangeSecondValue');
|
14
|
+
const onSearchFirstValue = action('onSearchFirstValue');
|
15
|
+
const onSearchSecondValue = action('onSearchSecondValue');
|
16
|
+
const onFocusFirstTextfield = action('onFocusFirstTextfield');
|
17
|
+
const onFocusSecondTextfield = action('onFocusSecondTextfield');
|
18
|
+
const onBlurFirstTextfield = action('onBlurFirstTextfield');
|
19
|
+
const onBlurSecondTextfield = action('onBlurSecondTextfield');
|
20
|
+
|
21
|
+
const sizes = ['l', 'm', 's', 'xs'];
|
22
|
+
const views = ['default'];
|
23
|
+
const dividers = ['none', 'dash', 'icon'];
|
24
|
+
|
25
|
+
const meta: Meta<typeof Range> = {
|
26
|
+
title: 'plasma_web/Range',
|
27
|
+
component: Range,
|
28
|
+
decorators: [WithTheme],
|
29
|
+
argTypes: {
|
30
|
+
view: {
|
31
|
+
options: views,
|
32
|
+
control: {
|
33
|
+
type: 'inline-radio',
|
34
|
+
},
|
35
|
+
},
|
36
|
+
size: {
|
37
|
+
options: sizes,
|
38
|
+
control: {
|
39
|
+
type: 'inline-radio',
|
40
|
+
},
|
41
|
+
},
|
42
|
+
},
|
43
|
+
};
|
44
|
+
|
45
|
+
export default meta;
|
46
|
+
|
47
|
+
type StoryPropsDefault = ComponentProps<typeof Range> & {
|
48
|
+
enableContentLeft: boolean;
|
49
|
+
enableContentRight: boolean;
|
50
|
+
enableFirstTextfieldContentLeft: boolean;
|
51
|
+
enableSecondTextfieldContentLeft: boolean;
|
52
|
+
enableFirstTextfieldContentRight: boolean;
|
53
|
+
enableSecondTextfieldContentRight: boolean;
|
54
|
+
};
|
55
|
+
|
56
|
+
const getSizeForIcon = (size) => {
|
57
|
+
const map = {
|
58
|
+
m: 's',
|
59
|
+
l: 's',
|
60
|
+
s: 's',
|
61
|
+
xs: 'xs',
|
62
|
+
};
|
63
|
+
if (map[size]) {
|
64
|
+
return map[size];
|
65
|
+
}
|
66
|
+
|
67
|
+
return size;
|
68
|
+
};
|
69
|
+
|
70
|
+
const ActionButton = ({ size }) => {
|
71
|
+
return (
|
72
|
+
<IconButton view="clear" size={size}>
|
73
|
+
<IconChevronLeft size={getSizeForIcon(size)} />
|
74
|
+
</IconButton>
|
75
|
+
);
|
76
|
+
};
|
77
|
+
|
78
|
+
const StoryDefault = ({
|
79
|
+
dividerVariant,
|
80
|
+
enableContentLeft,
|
81
|
+
enableContentRight,
|
82
|
+
firstTextfieldTextBefore,
|
83
|
+
secondTextfieldTextBefore,
|
84
|
+
enableFirstTextfieldContentLeft,
|
85
|
+
enableSecondTextfieldContentLeft,
|
86
|
+
enableFirstTextfieldContentRight,
|
87
|
+
enableSecondTextfieldContentRight,
|
88
|
+
size,
|
89
|
+
...rest
|
90
|
+
}: StoryPropsDefault) => {
|
91
|
+
const [firstValue, setFirstValue] = useState('');
|
92
|
+
const [secondValue, setSecondValue] = useState('');
|
93
|
+
|
94
|
+
const iconSize = size === 'xs' ? 'xs' : 's';
|
95
|
+
const showDividerIcon = dividerVariant === 'icon';
|
96
|
+
const showDefaultTextBefore = dividerVariant === 'none';
|
97
|
+
|
98
|
+
const dividerIconProps = {
|
99
|
+
dividerIcon: showDividerIcon ? <IconPlaceholder size="s" /> : null,
|
100
|
+
dividerVariant,
|
101
|
+
};
|
102
|
+
|
103
|
+
return (
|
104
|
+
<Range
|
105
|
+
size={size}
|
106
|
+
firstValue={firstValue}
|
107
|
+
secondValue={secondValue}
|
108
|
+
contentLeft={enableContentLeft ? <IconPlaceholder size={iconSize} /> : undefined}
|
109
|
+
contentRight={enableContentRight ? <ActionButton size={size} /> : undefined}
|
110
|
+
firstTextfieldContentLeft={
|
111
|
+
enableFirstTextfieldContentLeft ? <IconPlaceholder size={iconSize} /> : undefined
|
112
|
+
}
|
113
|
+
firstTextfieldContentRight={
|
114
|
+
enableFirstTextfieldContentRight ? <IconPlaceholder size={iconSize} /> : undefined
|
115
|
+
}
|
116
|
+
secondTextfieldContentLeft={
|
117
|
+
enableSecondTextfieldContentLeft ? <IconPlaceholder size={iconSize} /> : undefined
|
118
|
+
}
|
119
|
+
secondTextfieldContentRight={
|
120
|
+
enableSecondTextfieldContentRight ? <IconPlaceholder size={iconSize} /> : undefined
|
121
|
+
}
|
122
|
+
firstTextfieldTextBefore={
|
123
|
+
showDefaultTextBefore ? firstTextfieldTextBefore || 'С' : firstTextfieldTextBefore
|
124
|
+
}
|
125
|
+
secondTextfieldTextBefore={
|
126
|
+
showDefaultTextBefore ? secondTextfieldTextBefore || 'ПО' : secondTextfieldTextBefore
|
127
|
+
}
|
128
|
+
onChangeFirstValue={(e) => {
|
129
|
+
setFirstValue(e.target.value);
|
130
|
+
onChangeFirstValue(e, e.target.value);
|
131
|
+
}}
|
132
|
+
onChangeSecondValue={(e) => {
|
133
|
+
setSecondValue(e.target.value);
|
134
|
+
onChangeSecondValue(e, e.target.value);
|
135
|
+
}}
|
136
|
+
onSearchFirstValue={onSearchFirstValue}
|
137
|
+
onSearchSecondValue={onSearchSecondValue}
|
138
|
+
onFocusFirstTextfield={onFocusFirstTextfield}
|
139
|
+
onFocusSecondTextfield={onFocusSecondTextfield}
|
140
|
+
onBlurFirstTextfield={onBlurFirstTextfield}
|
141
|
+
onBlurSecondTextfield={onBlurSecondTextfield}
|
142
|
+
{...dividerIconProps}
|
143
|
+
{...rest}
|
144
|
+
/>
|
145
|
+
);
|
146
|
+
};
|
147
|
+
|
148
|
+
export const Default: StoryObj<StoryPropsDefault> = {
|
149
|
+
argTypes: {
|
150
|
+
dividerVariant: {
|
151
|
+
options: dividers,
|
152
|
+
control: {
|
153
|
+
type: 'inline-radio',
|
154
|
+
},
|
155
|
+
},
|
156
|
+
},
|
157
|
+
args: {
|
158
|
+
label: 'Лейбл',
|
159
|
+
leftHelper: 'Подсказка к полю',
|
160
|
+
firstPlaceholder: 'Заполните поле 1',
|
161
|
+
secondPlaceholder: 'Заполните поле 2',
|
162
|
+
size: 'l',
|
163
|
+
view: 'default',
|
164
|
+
disabled: false,
|
165
|
+
readOnly: false,
|
166
|
+
firstTextfieldTextBefore: 'С',
|
167
|
+
secondTextfieldTextBefore: 'ПО',
|
168
|
+
enableContentLeft: true,
|
169
|
+
enableContentRight: true,
|
170
|
+
dividerVariant: 'dash',
|
171
|
+
enableFirstTextfieldContentLeft: false,
|
172
|
+
enableFirstTextfieldContentRight: false,
|
173
|
+
enableSecondTextfieldContentLeft: false,
|
174
|
+
enableSecondTextfieldContentRight: false,
|
175
|
+
firstValueError: false,
|
176
|
+
secondValueError: false,
|
177
|
+
firstValueSuccess: false,
|
178
|
+
secondValueSuccess: false,
|
179
|
+
},
|
180
|
+
render: (args) => <StoryDefault {...args} />,
|
181
|
+
};
|
182
|
+
|
183
|
+
const StoryDemo = ({ enableContentLeft, enableContentRight, size, ...rest }: StoryPropsDefault) => {
|
184
|
+
const [firstValue, setFirstValue] = useState('');
|
185
|
+
const [secondValue, setSecondValue] = useState('');
|
186
|
+
|
187
|
+
const [firstValueError, setFirstValueError] = useState(false);
|
188
|
+
const [secondValueError, setSecondValueError] = useState(false);
|
189
|
+
|
190
|
+
const [firstValueSuccess, setFirstValueSuccess] = useState(false);
|
191
|
+
const [secondValueSuccess, setSecondValueSuccess] = useState(false);
|
192
|
+
|
193
|
+
const checkValue = (value: string) => /^([1-9][0-9]*|)$/.test(value);
|
194
|
+
|
195
|
+
const handleChangeValue = (
|
196
|
+
e: ChangeEvent<HTMLInputElement>,
|
197
|
+
setter: Dispatch<SetStateAction<string>>,
|
198
|
+
error: boolean,
|
199
|
+
errorSetter: Dispatch<SetStateAction<boolean>>,
|
200
|
+
success: boolean,
|
201
|
+
successSetter: Dispatch<SetStateAction<boolean>>,
|
202
|
+
) => {
|
203
|
+
const { value } = e.target;
|
204
|
+
if (!checkValue(value)) {
|
205
|
+
return;
|
206
|
+
}
|
207
|
+
|
208
|
+
if (error) {
|
209
|
+
errorSetter(false);
|
210
|
+
}
|
211
|
+
|
212
|
+
if (success) {
|
213
|
+
successSetter(false);
|
214
|
+
}
|
215
|
+
|
216
|
+
setter(value);
|
217
|
+
};
|
218
|
+
|
219
|
+
const firstValueConstraint = (value: number) =>
|
220
|
+
value <= 0 || value >= 9 || (secondValue && value >= Number(secondValue) && !secondValueError);
|
221
|
+
const secondValueConstraint = (value: number) =>
|
222
|
+
value <= 0 || value > 10 || (firstValue && value <= Number(firstValue) && !firstValueError);
|
223
|
+
|
224
|
+
const handleCommitValue = (
|
225
|
+
value: string,
|
226
|
+
constraint: (currentValue: number) => boolean,
|
227
|
+
errorSetter: Dispatch<SetStateAction<boolean>>,
|
228
|
+
successSetter: Dispatch<SetStateAction<boolean>>,
|
229
|
+
) => {
|
230
|
+
if (!value) {
|
231
|
+
return;
|
232
|
+
}
|
233
|
+
|
234
|
+
if (!checkValue(value)) {
|
235
|
+
return errorSetter(true);
|
236
|
+
}
|
237
|
+
|
238
|
+
if (constraint(Number(value))) {
|
239
|
+
return errorSetter(true);
|
240
|
+
}
|
241
|
+
|
242
|
+
successSetter(true);
|
243
|
+
};
|
244
|
+
|
245
|
+
const iconSize = size === 'xs' ? 'xs' : 's';
|
246
|
+
|
247
|
+
return (
|
248
|
+
<Range
|
249
|
+
dividerVariant="dash"
|
250
|
+
size={size}
|
251
|
+
firstValue={firstValue}
|
252
|
+
secondValue={secondValue}
|
253
|
+
firstValueError={firstValueError}
|
254
|
+
secondValueError={secondValueError}
|
255
|
+
firstValueSuccess={firstValueSuccess}
|
256
|
+
secondValueSuccess={secondValueSuccess}
|
257
|
+
contentLeft={enableContentLeft ? <IconPlaceholder size={iconSize} /> : undefined}
|
258
|
+
contentRight={enableContentRight ? <ActionButton size={size} /> : undefined}
|
259
|
+
onChangeFirstValue={(e) => {
|
260
|
+
handleChangeValue(
|
261
|
+
e,
|
262
|
+
setFirstValue,
|
263
|
+
firstValueError,
|
264
|
+
setFirstValueError,
|
265
|
+
firstValueSuccess,
|
266
|
+
setFirstValueSuccess,
|
267
|
+
);
|
268
|
+
}}
|
269
|
+
onChangeSecondValue={(e) => {
|
270
|
+
handleChangeValue(
|
271
|
+
e,
|
272
|
+
setSecondValue,
|
273
|
+
secondValueError,
|
274
|
+
setSecondValueError,
|
275
|
+
secondValueSuccess,
|
276
|
+
setSecondValueSuccess,
|
277
|
+
);
|
278
|
+
}}
|
279
|
+
onSearchFirstValue={(e) => {
|
280
|
+
const { value } = e.target as HTMLInputElement;
|
281
|
+
handleCommitValue(value, firstValueConstraint, setFirstValueError, setFirstValueSuccess);
|
282
|
+
}}
|
283
|
+
onSearchSecondValue={(e) => {
|
284
|
+
const { value } = e.target as HTMLInputElement;
|
285
|
+
handleCommitValue(value, secondValueConstraint, setSecondValueError, setSecondValueSuccess);
|
286
|
+
}}
|
287
|
+
onFocusFirstTextfield={onFocusFirstTextfield}
|
288
|
+
onFocusSecondTextfield={onFocusSecondTextfield}
|
289
|
+
onBlurFirstTextfield={onBlurFirstTextfield}
|
290
|
+
onBlurSecondTextfield={onBlurSecondTextfield}
|
291
|
+
{...rest}
|
292
|
+
/>
|
293
|
+
);
|
294
|
+
};
|
295
|
+
|
296
|
+
export const Demo: StoryObj<StoryPropsDefault> = {
|
297
|
+
args: {
|
298
|
+
label: 'Введите кол-во товара',
|
299
|
+
leftHelper: 'Кол-во товара не может быть меньше 1 и превышать 10',
|
300
|
+
firstPlaceholder: '1',
|
301
|
+
secondPlaceholder: '5',
|
302
|
+
size: 'l',
|
303
|
+
view: 'default',
|
304
|
+
disabled: false,
|
305
|
+
readOnly: false,
|
306
|
+
firstTextfieldTextBefore: '',
|
307
|
+
secondTextfieldTextBefore: '',
|
308
|
+
enableContentLeft: true,
|
309
|
+
enableContentRight: true,
|
310
|
+
},
|
311
|
+
render: (args) => <StoryDemo {...args} />,
|
312
|
+
};
|
@@ -46,4 +46,5 @@ export * from './components/Progress';
|
|
46
46
|
export * from './components/Select';
|
47
47
|
export * from './components/Divider';
|
48
48
|
export * from './components/Toolbar';
|
49
|
-
export * from './components/Slider';
|
49
|
+
export * from './components/Slider';
|
50
|
+
export * from './components/Range';
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import type { RootProps } from '../../engines';
|
3
|
+
import type { RangeProps } from './Range.types';
|
4
|
+
export declare const rangeRoot: (Root: RootProps<HTMLDivElement, RangeProps>) => React.ForwardRefExoticComponent<RangeProps & React.RefAttributes<HTMLInputElement>>;
|
5
|
+
export declare const rangeConfig: {
|
6
|
+
name: string;
|
7
|
+
tag: string;
|
8
|
+
layout: (Root: RootProps<HTMLDivElement, RangeProps>) => React.ForwardRefExoticComponent<RangeProps & React.RefAttributes<HTMLInputElement>>;
|
9
|
+
base: import("@linaria/core").LinariaClassName;
|
10
|
+
variations: {
|
11
|
+
view: {
|
12
|
+
css: import("@linaria/core").LinariaClassName;
|
13
|
+
};
|
14
|
+
size: {
|
15
|
+
css: import("@linaria/core").LinariaClassName;
|
16
|
+
};
|
17
|
+
disabled: {
|
18
|
+
css: import("@linaria/core").LinariaClassName;
|
19
|
+
attrs: boolean;
|
20
|
+
};
|
21
|
+
readOnly: {
|
22
|
+
css: import("@linaria/core").LinariaClassName;
|
23
|
+
attrs: boolean;
|
24
|
+
};
|
25
|
+
};
|
26
|
+
defaults: {
|
27
|
+
size: string;
|
28
|
+
view: string;
|
29
|
+
};
|
30
|
+
};
|
31
|
+
//# sourceMappingURL=Range.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Range.d.ts","sourceRoot":"","sources":["../../../src/components/Range/Range.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAkBhD,eAAO,MAAM,SAAS,SAAU,UAAU,cAAc,EAAE,UAAU,CAAC,wFAqIhE,CAAC;AAEN,eAAO,MAAM,WAAW;;;mBAvIQ,UAAU,cAAc,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;CAgKpE,CAAC"}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
export declare const StyledInput: import("@linaria/react").StyledMeta & import("react").FunctionComponent<import("../../engines/types").PropsType<import("../../engines/types").Variants> & (({
|
3
|
+
size?: string | undefined;
|
4
|
+
view?: string | undefined;
|
5
|
+
readOnly?: boolean | undefined;
|
6
|
+
disabled?: boolean | undefined;
|
7
|
+
} & {
|
8
|
+
label?: string | undefined;
|
9
|
+
labelPlacement?: "inner" | "outer" | undefined;
|
10
|
+
leftHelper?: string | undefined;
|
11
|
+
contentLeft?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
|
12
|
+
contentRight?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
|
13
|
+
textBefore?: string | undefined;
|
14
|
+
textAfter?: string | undefined;
|
15
|
+
onSearch?: ((value: string, event?: import("react").KeyboardEvent<HTMLInputElement> | undefined) => void) | undefined;
|
16
|
+
} & {
|
17
|
+
chips?: undefined;
|
18
|
+
onChangeChips?: undefined;
|
19
|
+
enumerationType?: "plain" | undefined;
|
20
|
+
onSearch?: ((value: string, event?: import("react").KeyboardEvent<HTMLInputElement> | undefined) => void) | undefined;
|
21
|
+
} & Omit<import("react").InputHTMLAttributes<HTMLInputElement>, "size"> & import("react").RefAttributes<HTMLInputElement>) | ({
|
22
|
+
size?: string | undefined;
|
23
|
+
view?: string | undefined;
|
24
|
+
readOnly?: boolean | undefined;
|
25
|
+
disabled?: boolean | undefined;
|
26
|
+
} & {
|
27
|
+
label?: string | undefined;
|
28
|
+
labelPlacement?: "inner" | "outer" | undefined;
|
29
|
+
leftHelper?: string | undefined;
|
30
|
+
contentLeft?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
|
31
|
+
contentRight?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | undefined;
|
32
|
+
textBefore?: string | undefined;
|
33
|
+
textAfter?: string | undefined;
|
34
|
+
onSearch?: ((value: string, event?: import("react").KeyboardEvent<HTMLInputElement> | undefined) => void) | undefined;
|
35
|
+
} & {
|
36
|
+
enumerationType: "chip";
|
37
|
+
onSearch?: undefined;
|
38
|
+
chips?: import("../TextField/TextField.types").TextFieldPrimitiveValue[] | undefined;
|
39
|
+
onChangeChips?: ((value: import("../TextField/TextField.types").TextFieldPrimitiveValue[]) => void) | undefined;
|
40
|
+
} & Omit<import("react").InputHTMLAttributes<HTMLInputElement>, "size"> & import("react").RefAttributes<HTMLInputElement>))>;
|
41
|
+
export declare const base: import("@linaria/core").LinariaClassName;
|
42
|
+
export declare const StyledLabel: import("@linaria/react").StyledComponent<import("react").ClassAttributes<HTMLLabelElement> & import("react").LabelHTMLAttributes<HTMLLabelElement> & Record<never, unknown>>;
|
43
|
+
export declare const LeftHelper: import("@linaria/react").StyledComponent<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
|
44
|
+
export declare const ContentWrapper: import("@linaria/react").StyledComponent<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
|
45
|
+
export declare const StyledDivider: import("@linaria/react").StyledComponent<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
|
46
|
+
export declare const StyledContentLeft: import("@linaria/react").StyledComponent<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
|
47
|
+
export declare const StyledContentRight: import("@linaria/react").StyledComponent<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
|
48
|
+
//# sourceMappingURL=Range.styles.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Range.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Range/Range.styles.ts"],"names":[],"mappings":";AAYA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4HA+DvB,CAAC;AAEF,eAAO,MAAM,IAAI,0CAAQ,CAAC;AAE1B,eAAO,MAAM,WAAW,8KAAiB,CAAC;AAE1C,eAAO,MAAM,UAAU,qKAAe,CAAC;AAEvC,eAAO,MAAM,cAAc,qKAG1B,CAAC;AAEF,eAAO,MAAM,aAAa,qKAAe,CAAC;AAE1C,eAAO,MAAM,iBAAiB,qKAAe,CAAC;AAE9C,eAAO,MAAM,kBAAkB,qKAAe,CAAC"}
|
@@ -0,0 +1,99 @@
|
|
1
|
+
export declare const classes: {
|
2
|
+
rangeError: string;
|
3
|
+
rangeValueError: string;
|
4
|
+
rangeSuccess: string;
|
5
|
+
rangeValueSuccess: string;
|
6
|
+
};
|
7
|
+
export declare const tokens: {
|
8
|
+
background: string;
|
9
|
+
backgroundError: string;
|
10
|
+
backgroundSuccess: string;
|
11
|
+
backgroundReadOnly: string;
|
12
|
+
borderRadius: string;
|
13
|
+
borderWidth: string;
|
14
|
+
borderColor: string;
|
15
|
+
borderColorError: string;
|
16
|
+
borderColorSuccess: string;
|
17
|
+
borderColorReadOnly: string;
|
18
|
+
/** Токены разделителя */
|
19
|
+
dividerColor: string;
|
20
|
+
dividerColorReadOnly: string;
|
21
|
+
dividerPadding: string;
|
22
|
+
dividerFontFamily: string;
|
23
|
+
dividerFontStyle: string;
|
24
|
+
dividerFontSize: string;
|
25
|
+
dividerFontWeight: string;
|
26
|
+
dividerLetterSpacing: string;
|
27
|
+
dividerLineHeight: string;
|
28
|
+
/** Токены слотов для контента */
|
29
|
+
leftContentMargin: string;
|
30
|
+
rightContentMargin: string;
|
31
|
+
/** Токены лейбла */
|
32
|
+
labelColor: string;
|
33
|
+
labelColorReadOnly: string;
|
34
|
+
labelOffset: string;
|
35
|
+
labelFontFamily: string;
|
36
|
+
labelFontStyle: string;
|
37
|
+
labelFontSize: string;
|
38
|
+
labelFontWeight: string;
|
39
|
+
labelLetterSpacing: string;
|
40
|
+
labelLineHeight: string;
|
41
|
+
/** Токены вспомогательного текста */
|
42
|
+
leftHelperColor: string;
|
43
|
+
leftHelperColorReadOnly: string;
|
44
|
+
leftHelperOffset: string;
|
45
|
+
leftHelperFontFamily: string;
|
46
|
+
leftHelperFontStyle: string;
|
47
|
+
leftHelperFontSize: string;
|
48
|
+
leftHelperFontWeight: string;
|
49
|
+
leftHelperLetterSpacing: string;
|
50
|
+
leftHelperLineHeight: string;
|
51
|
+
/** Прозрачность для всего компонента в состоянии disabled */
|
52
|
+
disabledOpacity: string;
|
53
|
+
/** Цвет обводки поля ввода при фокусе */
|
54
|
+
focusColor: string;
|
55
|
+
/** Токены полей ввода */
|
56
|
+
textFieldColor: string;
|
57
|
+
textFieldFocusColor: string;
|
58
|
+
textFieldPlaceholderColor: string;
|
59
|
+
textFieldCaretColor: string;
|
60
|
+
textFieldBackgroundColor: string;
|
61
|
+
textFieldBackgroundColorHover: string;
|
62
|
+
textFieldBackgroundColorFocus: string;
|
63
|
+
textFieldBackgroundErrorColor: string;
|
64
|
+
textFieldBackgroundErrorColorHover: string;
|
65
|
+
textFieldBackgroundErrorColorFocus: string;
|
66
|
+
textFieldBackgroundSuccessColor: string;
|
67
|
+
textFieldBackgroundSuccessColorHover: string;
|
68
|
+
textFieldBackgroundSuccessColorFocus: string;
|
69
|
+
textFieldBorderColor: string;
|
70
|
+
textFieldBorderColorHover: string;
|
71
|
+
textFieldBorderColorFocus: string;
|
72
|
+
textFieldBorderColorError: string;
|
73
|
+
textFieldBorderColorErrorHover: string;
|
74
|
+
textFieldBorderColorErrorFocus: string;
|
75
|
+
textFieldBorderColorSuccess: string;
|
76
|
+
textFieldBorderColorSuccessHover: string;
|
77
|
+
textFieldBorderColorSuccessFocus: string;
|
78
|
+
textFieldColorReadOnly: string;
|
79
|
+
textFieldBackgroundColorReadOnly: string;
|
80
|
+
textFieldBorderColorReadOnly: string;
|
81
|
+
textFieldPlaceholderColorReadOnly: string;
|
82
|
+
textFieldHeight: string;
|
83
|
+
textFieldBorderWidth: string;
|
84
|
+
textFieldBorderRadius: string;
|
85
|
+
textFieldPadding: string;
|
86
|
+
textFieldLeftContentMargin: string;
|
87
|
+
textFieldRightContentMargin: string;
|
88
|
+
textFieldFontFamily: string;
|
89
|
+
textFieldFontStyle: string;
|
90
|
+
textFieldFontSize: string;
|
91
|
+
textFieldFontWeight: string;
|
92
|
+
textFieldLetterSpacing: string;
|
93
|
+
textFieldLineHeight: string;
|
94
|
+
textFieldTextBeforeColor: string;
|
95
|
+
textFieldTextAfterColor: string;
|
96
|
+
textFieldTextBeforeMargin: string;
|
97
|
+
textFieldTextAfterMargin: string;
|
98
|
+
};
|
99
|
+
//# sourceMappingURL=Range.tokens.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Range.tokens.d.ts","sourceRoot":"","sources":["../../../src/components/Range/Range.tokens.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;CAKnB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;IAYf,yBAAyB;;;;;;;;;;IAWzB,iCAAiC;;;IAIjC,oBAAoB;;;;;;;;;;IAYpB,qCAAqC;;;;;;;;;;IAYrC,6DAA6D;;IAG7D,yCAAyC;;IAGzC,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgD5B,CAAC"}
|
@@ -0,0 +1,143 @@
|
|
1
|
+
import type { KeyboardEvent, ChangeEvent, ReactNode, HTMLAttributes, ReactElement } from 'react';
|
2
|
+
export declare type TextfieldPrimitiveValue = string | number;
|
3
|
+
export declare type RangeDividerVariants = {
|
4
|
+
firstTextfieldTextBefore: string;
|
5
|
+
secondTextfieldTextBefore: string;
|
6
|
+
dividerVariant?: 'none';
|
7
|
+
dividerIcon?: never;
|
8
|
+
} | {
|
9
|
+
dividerVariant?: 'dash';
|
10
|
+
dividerIcon?: never;
|
11
|
+
firstTextfieldTextBefore?: string;
|
12
|
+
secondTextfieldTextBefore?: string;
|
13
|
+
} | {
|
14
|
+
dividerIcon?: ReactNode;
|
15
|
+
dividerVariant?: 'icon';
|
16
|
+
firstTextfieldTextBefore?: string;
|
17
|
+
secondTextfieldTextBefore?: string;
|
18
|
+
};
|
19
|
+
export declare type BaseCallbackChangeInstance = (event: ChangeEvent<HTMLInputElement>, value?: TextfieldPrimitiveValue) => void;
|
20
|
+
export declare type BaseCallbackKeyboardInstance = (event: KeyboardEvent<HTMLInputElement>, value?: TextfieldPrimitiveValue) => void;
|
21
|
+
export declare type RangeProps = {
|
22
|
+
/**
|
23
|
+
* Метка-подпись к элементу
|
24
|
+
*/
|
25
|
+
label?: string;
|
26
|
+
/**
|
27
|
+
* Вспомогательный текст снизу слева для поля ввода.
|
28
|
+
*/
|
29
|
+
leftHelper?: string;
|
30
|
+
/**
|
31
|
+
* Слот для контента слева
|
32
|
+
*/
|
33
|
+
contentLeft?: ReactNode;
|
34
|
+
/**
|
35
|
+
* Слот для контента справа
|
36
|
+
*/
|
37
|
+
contentRight?: ReactNode;
|
38
|
+
/**
|
39
|
+
* Значение первого поля ввода
|
40
|
+
*/
|
41
|
+
firstValue?: TextfieldPrimitiveValue;
|
42
|
+
/**
|
43
|
+
* Значение второго поля ввода
|
44
|
+
*/
|
45
|
+
secondValue?: TextfieldPrimitiveValue;
|
46
|
+
/**
|
47
|
+
* Некорректное значение первого поля ввода
|
48
|
+
*/
|
49
|
+
firstValueError?: boolean;
|
50
|
+
/**
|
51
|
+
* Некорректное значение второго поля ввода
|
52
|
+
*/
|
53
|
+
secondValueError?: boolean;
|
54
|
+
/**
|
55
|
+
* Корректное значение первого поля ввода
|
56
|
+
*/
|
57
|
+
firstValueSuccess?: boolean;
|
58
|
+
/**
|
59
|
+
* Корректное значение второго поля ввода
|
60
|
+
*/
|
61
|
+
secondValueSuccess?: boolean;
|
62
|
+
/**
|
63
|
+
* Значение первого поля ввода
|
64
|
+
*/
|
65
|
+
firstPlaceholder?: string;
|
66
|
+
/**
|
67
|
+
* Значение второго поля ввода
|
68
|
+
*/
|
69
|
+
secondPlaceholder?: string;
|
70
|
+
/**
|
71
|
+
* Слот для контента слева для первого поля ввода
|
72
|
+
*/
|
73
|
+
firstTextfieldContentLeft?: ReactElement;
|
74
|
+
/**
|
75
|
+
* Слот для контента справа для второго поля ввода
|
76
|
+
*/
|
77
|
+
firstTextfieldContentRight?: ReactElement;
|
78
|
+
/**
|
79
|
+
* Слот для контента слева для первого поля ввода
|
80
|
+
*/
|
81
|
+
secondTextfieldContentLeft?: ReactElement;
|
82
|
+
/**
|
83
|
+
* Слот для контента справа для второго поля ввода
|
84
|
+
*/
|
85
|
+
secondTextfieldContentRight?: ReactElement;
|
86
|
+
/**
|
87
|
+
* Слот для вспомогательного текста справа для первого поля ввода
|
88
|
+
*/
|
89
|
+
firstTextfieldTextAfter?: string;
|
90
|
+
/**
|
91
|
+
* Слот для вспомогательного текста справа для второго поля ввода
|
92
|
+
*/
|
93
|
+
secondTextfieldTextAfter?: string;
|
94
|
+
/**
|
95
|
+
* Вариант отображения
|
96
|
+
*/
|
97
|
+
view?: string;
|
98
|
+
/**
|
99
|
+
* Размер компонента
|
100
|
+
*/
|
101
|
+
size?: string;
|
102
|
+
/**
|
103
|
+
* Компонент доступен только для чтения
|
104
|
+
*/
|
105
|
+
readOnly?: boolean;
|
106
|
+
/**
|
107
|
+
* Компонент неактивен
|
108
|
+
*/
|
109
|
+
disabled?: boolean;
|
110
|
+
/**
|
111
|
+
* Коллбэк, вызываемый при изменении первого поля ввода
|
112
|
+
*/
|
113
|
+
onChangeFirstValue?: BaseCallbackChangeInstance;
|
114
|
+
/**
|
115
|
+
* Коллбэк, вызываемый при изменении второго поля ввода
|
116
|
+
*/
|
117
|
+
onChangeSecondValue?: BaseCallbackChangeInstance;
|
118
|
+
/**
|
119
|
+
* Коллбэк, вызываемый при нажатии `Enter` в первом поле ввода
|
120
|
+
*/
|
121
|
+
onSearchFirstValue?: BaseCallbackKeyboardInstance;
|
122
|
+
/**
|
123
|
+
* Коллбэк, вызываемый при нажатии `Enter` во втором поле ввода
|
124
|
+
*/
|
125
|
+
onSearchSecondValue?: BaseCallbackKeyboardInstance;
|
126
|
+
/**
|
127
|
+
* Коллбэк, вызываемый при фокусе на первое поле ввода
|
128
|
+
*/
|
129
|
+
onFocusFirstTextfield?: (event: ChangeEvent<HTMLInputElement>) => void;
|
130
|
+
/**
|
131
|
+
* Коллбэк, вызываемый при фокусе на второе поле ввода
|
132
|
+
*/
|
133
|
+
onFocusSecondTextfield?: (event: ChangeEvent<HTMLInputElement>) => void;
|
134
|
+
/**
|
135
|
+
* Коллбэк, вызываемый при потере фокуса первым полем ввода
|
136
|
+
*/
|
137
|
+
onBlurFirstTextfield?: (event: ChangeEvent<HTMLInputElement>) => void;
|
138
|
+
/**
|
139
|
+
* Коллбэк, вызываемый при потере фокуса вторым полем ввода
|
140
|
+
*/
|
141
|
+
onBlurSecondTextfield?: (event: ChangeEvent<HTMLInputElement>) => void;
|
142
|
+
} & RangeDividerVariants & HTMLAttributes<HTMLDivElement>;
|
143
|
+
//# sourceMappingURL=Range.types.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Range.types.d.ts","sourceRoot":"","sources":["../../../src/components/Range/Range.types.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Range/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import type { ChangeEvent, KeyboardEvent } from 'react';
|
2
|
+
import type { BaseCallbackChangeInstance, BaseCallbackKeyboardInstance } from '../Range.types';
|
3
|
+
export declare const getChangeHandler: (changeHandler?: BaseCallbackChangeInstance | undefined, disabled?: boolean | undefined, readOnly?: boolean | undefined) => (event: ChangeEvent<HTMLInputElement>) => void;
|
4
|
+
export declare const getSearchHandler: (searchHandler?: BaseCallbackKeyboardInstance | undefined, disabled?: boolean | undefined, readOnly?: boolean | undefined) => (value: string, event?: KeyboardEvent<HTMLInputElement> | undefined) => void;
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|