@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.
Files changed (200) hide show
  1. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  2. package/cjs/components/Range/Range.css +63 -0
  3. package/cjs/components/Range/Range.js +146 -0
  4. package/cjs/components/Range/Range.js.map +1 -0
  5. package/cjs/components/Range/Range.styles.js +63 -0
  6. package/cjs/components/Range/Range.styles.js.map +1 -0
  7. package/cjs/components/Range/Range.styles_mc4w65.css +8 -0
  8. package/cjs/components/Range/Range.tokens.js +106 -0
  9. package/cjs/components/Range/Range.tokens.js.map +1 -0
  10. package/cjs/components/Range/utils/index.js +24 -0
  11. package/cjs/components/Range/utils/index.js.map +1 -0
  12. package/cjs/components/Range/variations/_disabled/base.js +9 -0
  13. package/cjs/components/Range/variations/_disabled/base.js.map +1 -0
  14. package/cjs/components/Range/variations/_disabled/base_1ufizo4.css +1 -0
  15. package/cjs/components/Range/variations/_readonly/base.js +9 -0
  16. package/cjs/components/Range/variations/_readonly/base.js.map +1 -0
  17. package/cjs/components/Range/variations/_readonly/base_tzdxy8.css +1 -0
  18. package/cjs/components/Range/variations/_size/base.js +9 -0
  19. package/cjs/components/Range/variations/_size/base.js.map +1 -0
  20. package/cjs/components/Range/variations/_size/base_16xiubi.css +1 -0
  21. package/cjs/components/Range/variations/_view/base.js +9 -0
  22. package/cjs/components/Range/variations/_view/base.js.map +1 -0
  23. package/cjs/components/Range/variations/_view/base_5iz3nr.css +1 -0
  24. package/cjs/components/Slider/Slider.css +11 -9
  25. package/cjs/components/Slider/components/Double/Double.css +11 -9
  26. package/cjs/components/TextField/TextField.js +10 -10
  27. package/cjs/components/TextField/TextField.js.map +1 -1
  28. package/cjs/components/TextField/TextField.styles.js +13 -1
  29. package/cjs/components/TextField/TextField.styles.js.map +1 -1
  30. package/cjs/components/TextField/{TextField.styles_1b1mddp.css → TextField.styles_aqmut.css} +2 -0
  31. package/cjs/components/TextField/TextField.tokens.js +5 -0
  32. package/cjs/components/TextField/TextField.tokens.js.map +1 -1
  33. package/cjs/components/TextField/variations/_label-placement/inner.js +1 -1
  34. package/cjs/components/TextField/variations/_label-placement/inner.js.map +1 -1
  35. package/cjs/components/TextField/variations/_label-placement/inner_7c08qb.css +1 -0
  36. package/cjs/components/TextField/variations/_size/base.js +1 -1
  37. package/cjs/components/TextField/variations/_size/base.js.map +1 -1
  38. package/{es/components/TextField/variations/_size/base_1khzr9t.css → cjs/components/TextField/variations/_size/base_ntoddv.css} +1 -1
  39. package/cjs/components/TextField/variations/_view/base.js +1 -1
  40. package/cjs/components/TextField/variations/_view/base.js.map +1 -1
  41. package/{es/components/TextField/variations/_view/base_1qd77x6.css → cjs/components/TextField/variations/_view/base_19gxyva.css} +1 -1
  42. package/cjs/index.css +28 -9
  43. package/cjs/index.js +5 -0
  44. package/cjs/index.js.map +1 -1
  45. package/es/components/Checkbox/Checkbox.styles.js.map +1 -1
  46. package/es/components/Range/Range.css +63 -0
  47. package/es/components/Range/Range.js +141 -0
  48. package/es/components/Range/Range.js.map +1 -0
  49. package/es/components/Range/Range.styles.js +52 -0
  50. package/es/components/Range/Range.styles.js.map +1 -0
  51. package/es/components/Range/Range.styles_mc4w65.css +8 -0
  52. package/es/components/Range/Range.tokens.js +101 -0
  53. package/es/components/Range/Range.tokens.js.map +1 -0
  54. package/es/components/Range/utils/index.js +19 -0
  55. package/es/components/Range/utils/index.js.map +1 -0
  56. package/es/components/Range/variations/_disabled/base.js +5 -0
  57. package/es/components/Range/variations/_disabled/base.js.map +1 -0
  58. package/es/components/Range/variations/_disabled/base_1ufizo4.css +1 -0
  59. package/es/components/Range/variations/_readonly/base.js +5 -0
  60. package/es/components/Range/variations/_readonly/base.js.map +1 -0
  61. package/es/components/Range/variations/_readonly/base_tzdxy8.css +1 -0
  62. package/es/components/Range/variations/_size/base.js +5 -0
  63. package/es/components/Range/variations/_size/base.js.map +1 -0
  64. package/es/components/Range/variations/_size/base_16xiubi.css +1 -0
  65. package/es/components/Range/variations/_view/base.js +5 -0
  66. package/es/components/Range/variations/_view/base.js.map +1 -0
  67. package/es/components/Range/variations/_view/base_5iz3nr.css +1 -0
  68. package/es/components/Slider/Slider.css +11 -9
  69. package/es/components/Slider/components/Double/Double.css +11 -9
  70. package/es/components/TextField/TextField.js +11 -11
  71. package/es/components/TextField/TextField.js.map +1 -1
  72. package/es/components/TextField/TextField.styles.js +12 -2
  73. package/es/components/TextField/TextField.styles.js.map +1 -1
  74. package/es/components/TextField/{TextField.styles_1b1mddp.css → TextField.styles_aqmut.css} +2 -0
  75. package/es/components/TextField/TextField.tokens.js +5 -0
  76. package/es/components/TextField/TextField.tokens.js.map +1 -1
  77. package/es/components/TextField/variations/_label-placement/inner.js +1 -1
  78. package/es/components/TextField/variations/_label-placement/inner.js.map +1 -1
  79. package/es/components/TextField/variations/_label-placement/inner_7c08qb.css +1 -0
  80. package/es/components/TextField/variations/_size/base.js +1 -1
  81. package/es/components/TextField/variations/_size/base.js.map +1 -1
  82. package/{cjs/components/TextField/variations/_size/base_1khzr9t.css → es/components/TextField/variations/_size/base_ntoddv.css} +1 -1
  83. package/es/components/TextField/variations/_view/base.js +1 -1
  84. package/es/components/TextField/variations/_view/base.js.map +1 -1
  85. package/{cjs/components/TextField/variations/_view/base_1qd77x6.css → es/components/TextField/variations/_view/base_19gxyva.css} +1 -1
  86. package/es/index.css +28 -9
  87. package/es/index.js +2 -0
  88. package/es/index.js.map +1 -1
  89. package/package.json +2 -2
  90. package/styled-components/cjs/components/Range/Range.js +148 -0
  91. package/styled-components/cjs/components/Range/Range.styles.js +39 -0
  92. package/styled-components/cjs/components/Range/Range.template-doc.mdx +323 -0
  93. package/styled-components/cjs/components/Range/Range.tokens.js +104 -0
  94. package/styled-components/cjs/components/Range/Range.types.js +5 -0
  95. package/styled-components/cjs/components/Range/index.js +25 -0
  96. package/styled-components/cjs/components/Range/utils/index.js +22 -0
  97. package/styled-components/cjs/components/Range/variations/_disabled/base.js +9 -0
  98. package/styled-components/cjs/components/Range/variations/_disabled/tokens.json +4 -0
  99. package/styled-components/cjs/components/Range/variations/_readonly/base.js +10 -0
  100. package/styled-components/cjs/components/Range/variations/_readonly/tokens.json +4 -0
  101. package/styled-components/cjs/components/Range/variations/_size/base.js +10 -0
  102. package/styled-components/cjs/components/Range/variations/_size/tokens.json +26 -0
  103. package/styled-components/cjs/components/Range/variations/_view/base.js +10 -0
  104. package/styled-components/cjs/components/Range/variations/_view/tokens.json +6 -0
  105. package/styled-components/cjs/components/TextField/TextField.js +10 -10
  106. package/styled-components/cjs/components/TextField/TextField.styles.js +7 -1
  107. package/styled-components/cjs/components/TextField/TextField.tokens.js +5 -0
  108. package/styled-components/cjs/components/TextField/variations/_label-placement/inner.js +1 -1
  109. package/styled-components/cjs/components/TextField/variations/_size/base.js +1 -1
  110. package/styled-components/cjs/components/TextField/variations/_view/base.js +1 -1
  111. package/styled-components/cjs/examples/plasma_b2c/components/Range/Range.config.js +31 -0
  112. package/styled-components/cjs/examples/plasma_b2c/components/Range/Range.js +11 -0
  113. package/styled-components/cjs/examples/plasma_b2c/components/Range/Range.stories.tsx +312 -0
  114. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.config.js +8 -8
  115. package/styled-components/cjs/examples/plasma_b2c/components/TextField/TextField.stories.tsx +2 -0
  116. package/styled-components/cjs/examples/plasma_web/components/Range/Range.config.js +31 -0
  117. package/styled-components/cjs/examples/plasma_web/components/Range/Range.js +11 -0
  118. package/styled-components/cjs/examples/plasma_web/components/Range/Range.stories.tsx +312 -0
  119. package/styled-components/cjs/index.js +11 -0
  120. package/styled-components/es/components/Range/Range.js +139 -0
  121. package/styled-components/es/components/Range/Range.styles.js +31 -0
  122. package/styled-components/es/components/Range/Range.template-doc.mdx +323 -0
  123. package/styled-components/es/components/Range/Range.tokens.js +98 -0
  124. package/styled-components/es/components/Range/Range.types.js +1 -0
  125. package/styled-components/es/components/Range/index.js +2 -0
  126. package/styled-components/es/components/Range/utils/index.js +16 -0
  127. package/styled-components/es/components/Range/variations/_disabled/base.js +3 -0
  128. package/styled-components/es/components/Range/variations/_disabled/tokens.json +4 -0
  129. package/styled-components/es/components/Range/variations/_readonly/base.js +4 -0
  130. package/styled-components/es/components/Range/variations/_readonly/tokens.json +4 -0
  131. package/styled-components/es/components/Range/variations/_size/base.js +4 -0
  132. package/styled-components/es/components/Range/variations/_size/tokens.json +26 -0
  133. package/styled-components/es/components/Range/variations/_view/base.js +4 -0
  134. package/styled-components/es/components/Range/variations/_view/tokens.json +6 -0
  135. package/styled-components/es/components/TextField/TextField.js +11 -11
  136. package/styled-components/es/components/TextField/TextField.styles.js +6 -0
  137. package/styled-components/es/components/TextField/TextField.tokens.js +5 -0
  138. package/styled-components/es/components/TextField/variations/_label-placement/inner.js +2 -2
  139. package/styled-components/es/components/TextField/variations/_size/base.js +2 -2
  140. package/styled-components/es/components/TextField/variations/_view/base.js +2 -2
  141. package/styled-components/es/examples/plasma_b2c/components/Range/Range.config.js +25 -0
  142. package/styled-components/es/examples/plasma_b2c/components/Range/Range.js +5 -0
  143. package/styled-components/es/examples/plasma_b2c/components/Range/Range.stories.tsx +312 -0
  144. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.config.js +8 -8
  145. package/styled-components/es/examples/plasma_b2c/components/TextField/TextField.stories.tsx +2 -0
  146. package/styled-components/es/examples/plasma_web/components/Range/Range.config.js +25 -0
  147. package/styled-components/es/examples/plasma_web/components/Range/Range.js +5 -0
  148. package/styled-components/es/examples/plasma_web/components/Range/Range.stories.tsx +312 -0
  149. package/styled-components/es/index.js +2 -1
  150. package/types/components/Range/Range.d.ts +31 -0
  151. package/types/components/Range/Range.d.ts.map +1 -0
  152. package/types/components/Range/Range.styles.d.ts +48 -0
  153. package/types/components/Range/Range.styles.d.ts.map +1 -0
  154. package/types/components/Range/Range.tokens.d.ts +99 -0
  155. package/types/components/Range/Range.tokens.d.ts.map +1 -0
  156. package/types/components/Range/Range.types.d.ts +143 -0
  157. package/types/components/Range/Range.types.d.ts.map +1 -0
  158. package/types/components/Range/index.d.ts +4 -0
  159. package/types/components/Range/index.d.ts.map +1 -0
  160. package/types/components/Range/utils/index.d.ts +5 -0
  161. package/types/components/Range/utils/index.d.ts.map +1 -0
  162. package/types/components/Range/variations/_disabled/base.d.ts +2 -0
  163. package/types/components/Range/variations/_disabled/base.d.ts.map +1 -0
  164. package/types/components/Range/variations/_readonly/base.d.ts +2 -0
  165. package/types/components/Range/variations/_readonly/base.d.ts.map +1 -0
  166. package/types/components/Range/variations/_size/base.d.ts +2 -0
  167. package/types/components/Range/variations/_size/base.d.ts.map +1 -0
  168. package/types/components/Range/variations/_view/base.d.ts +2 -0
  169. package/types/components/Range/variations/_view/base.d.ts.map +1 -0
  170. package/types/components/Slider/components/Double/Double.styles.d.ts +4 -0
  171. package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
  172. package/types/components/TextField/TextField.d.ts.map +1 -1
  173. package/types/components/TextField/TextField.styles.d.ts +2 -0
  174. package/types/components/TextField/TextField.styles.d.ts.map +1 -1
  175. package/types/components/TextField/TextField.tokens.d.ts +5 -0
  176. package/types/components/TextField/TextField.tokens.d.ts.map +1 -1
  177. package/types/components/TextField/TextField.types.d.ts +8 -0
  178. package/types/components/TextField/TextField.types.d.ts.map +1 -1
  179. package/types/components/TextField/variations/_label-placement/inner.d.ts.map +1 -1
  180. package/types/components/TextField/variations/_size/base.d.ts.map +1 -1
  181. package/types/components/TextField/variations/_view/base.d.ts.map +1 -1
  182. package/types/examples/plasma_b2c/components/Range/Range.config.d.ts +24 -0
  183. package/types/examples/plasma_b2c/components/Range/Range.config.d.ts.map +1 -0
  184. package/types/examples/plasma_b2c/components/Range/Range.d.ts +127 -0
  185. package/types/examples/plasma_b2c/components/Range/Range.d.ts.map +1 -0
  186. package/types/examples/plasma_b2c/components/TextField/TextField.config.d.ts.map +1 -1
  187. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts +4 -0
  188. package/types/examples/plasma_b2c/components/TextField/TextField.d.ts.map +1 -1
  189. package/types/examples/plasma_web/components/Range/Range.config.d.ts +24 -0
  190. package/types/examples/plasma_web/components/Range/Range.config.d.ts.map +1 -0
  191. package/types/examples/plasma_web/components/Range/Range.d.ts +127 -0
  192. package/types/examples/plasma_web/components/Range/Range.d.ts.map +1 -0
  193. package/types/examples/plasma_web/components/TextField/TextField.d.ts +4 -0
  194. package/types/examples/plasma_web/components/TextField/TextField.d.ts.map +1 -1
  195. package/types/examples/sds_engineer/components/TextField/TextField.d.ts +4 -0
  196. package/types/examples/sds_engineer/components/TextField/TextField.d.ts.map +1 -1
  197. package/types/index.d.ts +1 -0
  198. package/types/index.d.ts.map +1 -1
  199. package/cjs/components/TextField/variations/_label-placement/inner_gqlcj2.css +0 -1
  200. 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,4 @@
1
+ export { rangeRoot, rangeConfig } from './Range';
2
+ export { tokens as rangeTokens } from './Range.tokens';
3
+ export type { RangeProps } from './Range.types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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