kamotive_ui 1.2.2 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Icons/IconClose/IconClose10.d.ts +2 -1
- package/dist/Icons/IconClose/IconClose10.js +2 -2
- package/dist/Icons/IconFile/IconFile.d.ts +6 -0
- package/dist/Icons/IconFile/IconFile.js +5 -0
- package/dist/Icons/IconUpload/IconUpload.d.ts +6 -0
- package/dist/Icons/IconUpload/IconUpload.js +5 -0
- package/dist/Icons/index.d.ts +2 -0
- package/dist/Icons/index.js +2 -0
- package/dist/colors.css +5 -1
- package/dist/components/Button/Button.d.ts +1 -1
- package/dist/components/Button/Button.js +87 -35
- package/dist/components/Button/Button.module.css +101 -49
- package/dist/components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.js +5 -3
- package/dist/components/Checkbox/Checkbox.module.css +0 -11
- package/dist/components/ColorPicker/ColorPicker.d.ts +1 -1
- package/dist/components/ColorPicker/ColorPicker.js +89 -44
- package/dist/components/ColorPicker/ColorPicker.module.css +25 -42
- package/dist/components/Dropdown/Dropdown.d.ts +12 -8
- package/dist/components/Dropdown/Dropdown.js +239 -77
- package/dist/components/Dropdown/Dropdown.module.css +152 -89
- package/dist/components/FileAttach/FileAttach.d.ts +3 -0
- package/dist/components/FileAttach/FileAttach.js +79 -0
- package/dist/components/FileAttach/FileAttach.module.css +36 -0
- package/dist/components/Input/Input.d.ts +1 -1
- package/dist/components/Input/Input.js +36 -25
- package/dist/components/Input/Input.module.css +92 -45
- package/dist/components/Loader/Loader.d.ts +3 -0
- package/dist/components/Loader/Loader.js +18 -0
- package/dist/components/Loader/Loader.module.css +75 -0
- package/dist/components/ProgressBar/ProgressBar.d.ts +1 -1
- package/dist/components/ProgressBar/ProgressBar.js +5 -4
- package/dist/components/ProgressBar/ProgressBar.module.css +4 -11
- package/dist/components/ProgressLoader/ProgressLoader.d.ts +1 -1
- package/dist/components/ProgressLoader/ProgressLoader.js +3 -2
- package/dist/components/ProgressLoader/ProgressLoader.module.css +2 -11
- package/dist/components/RadioButton/RadioButton.d.ts +1 -1
- package/dist/components/RadioButton/RadioButton.js +5 -3
- package/dist/components/RadioButton/RadioButton.module.css +2 -15
- package/dist/components/SettingTag/SettingTag.d.ts +1 -1
- package/dist/components/SettingTag/SettingTag.js +7 -6
- package/dist/components/SettingTag/SettingTag.module.css +0 -9
- package/dist/components/Snackbar/Snackbar.d.ts +1 -1
- package/dist/components/Snackbar/Snackbar.js +3 -2
- package/dist/components/Snackbar/Snackbar.module.css +1 -9
- package/dist/components/Spinner/Spinner.d.ts +3 -0
- package/dist/components/Spinner/Spinner.js +30 -0
- package/dist/components/Spinner/Spinner.module.css +20 -0
- package/dist/components/Tab/Tab.d.ts +1 -1
- package/dist/components/Tab/Tab.js +7 -4
- package/dist/components/Tab/Tab.module.css +4 -17
- package/dist/components/Tabs/Tabs.d.ts +1 -1
- package/dist/components/Tabs/Tabs.js +2 -1
- package/dist/components/Tabs/Tabs.module.css +0 -6
- package/dist/components/Tag/Tag.d.ts +1 -1
- package/dist/components/Tag/Tag.js +74 -13
- package/dist/components/Tag/Tag.module.css +89 -74
- package/dist/components/ToggleButton/ToggleButton.d.ts +1 -1
- package/dist/components/ToggleButton/ToggleButton.js +6 -4
- package/dist/components/ToggleButton/ToggleButton.module.css +0 -5
- package/dist/components/Typography/Typography.d.ts +1 -1
- package/dist/components/Typography/Typography.js +3 -2
- package/dist/components/Typography/Typography.module.css +8 -13
- package/dist/components/Typography/enums.d.ts +2 -0
- package/dist/components/Typography/enums.js +2 -0
- package/dist/index.d.ts +11 -7
- package/dist/index.js +10 -7
- package/dist/types/index.d.ts +310 -0
- package/dist/types/index.js +1 -0
- package/package.json +4 -2
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ChangeEventHandler, CSSProperties, ReactNode } from 'react';
|
|
3
|
+
import { ETypographyVariants } from '../components/Typography/enums';
|
|
4
|
+
import { Accept } from 'react-dropzone/.';
|
|
5
|
+
/** @internal */
|
|
6
|
+
export interface ButtonProps {
|
|
7
|
+
/** Тест кнопки */
|
|
8
|
+
label?: string;
|
|
9
|
+
/** Вид кнопки (заполненный/обводка/ссылка) */
|
|
10
|
+
variant?: 'fill' | 'outline' | 'link';
|
|
11
|
+
/** Размер кнопки */
|
|
12
|
+
size?: 'sm' | 'md' | 'lg';
|
|
13
|
+
/** Стиль кнопки(текст+иконка, текст, иконка) */
|
|
14
|
+
style?: 'default' | 'text' | 'icon';
|
|
15
|
+
/** Состояние кнопки */
|
|
16
|
+
condition?: 'default' | 'error' | 'success' | 'warning' | 'info';
|
|
17
|
+
/** Иконка кнопки */
|
|
18
|
+
icon?: React.ReactNode;
|
|
19
|
+
/** Заблокированная кнопка */
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
/** Callback, который будет вызван при клике по кнопке */
|
|
22
|
+
onClick?: () => void;
|
|
23
|
+
/** Дочерние элементы */
|
|
24
|
+
children?: ReactNode;
|
|
25
|
+
/** Указатель на ошибку для установки condition */
|
|
26
|
+
error?: boolean;
|
|
27
|
+
/** Дополнительный цвет кнопки*/
|
|
28
|
+
color?: string;
|
|
29
|
+
/** Имя поля */
|
|
30
|
+
name?: string;
|
|
31
|
+
/** Тип кнопки */
|
|
32
|
+
type?: 'button' | 'submit' | 'reset';
|
|
33
|
+
/** Указатель на форму */
|
|
34
|
+
form?: string;
|
|
35
|
+
}
|
|
36
|
+
/** @internal */
|
|
37
|
+
export interface InputProps {
|
|
38
|
+
/** Идентификатор элемента */
|
|
39
|
+
id?: string;
|
|
40
|
+
/** Лейбл */
|
|
41
|
+
label?: string;
|
|
42
|
+
/** Подсказка */
|
|
43
|
+
placeholder?: string;
|
|
44
|
+
/** Размер */
|
|
45
|
+
size?: 'sm' | 'md' | 'lg';
|
|
46
|
+
/** Знчение */
|
|
47
|
+
value?: string;
|
|
48
|
+
/** Дополнительный класс */
|
|
49
|
+
className?: string;
|
|
50
|
+
/** Многострочное поле */
|
|
51
|
+
multiline?: boolean;
|
|
52
|
+
/** Количество строк в многострочном поле */
|
|
53
|
+
rows?: number;
|
|
54
|
+
/** Изменение размера многострочного поля */
|
|
55
|
+
resize?: boolean;
|
|
56
|
+
/** Заблокированное поле */
|
|
57
|
+
disabled?: boolean;
|
|
58
|
+
/** Только для чтения */
|
|
59
|
+
readOnly?: boolean;
|
|
60
|
+
/** Метка слева */
|
|
61
|
+
isLeftLabel?: boolean;
|
|
62
|
+
/** Иконка слева */
|
|
63
|
+
icon?: React.ReactNode;
|
|
64
|
+
/** Ошибка */
|
|
65
|
+
error?: boolean;
|
|
66
|
+
/** Текст ошибки */
|
|
67
|
+
helperText?: string;
|
|
68
|
+
/** Callback при изменении значения */
|
|
69
|
+
onChange?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement>;
|
|
70
|
+
/** Обязательное поле */
|
|
71
|
+
required?: boolean;
|
|
72
|
+
}
|
|
73
|
+
/** @internal */
|
|
74
|
+
export interface TagProps {
|
|
75
|
+
/** Лейбл */
|
|
76
|
+
label: string;
|
|
77
|
+
/** Цвет */
|
|
78
|
+
color?: string;
|
|
79
|
+
/**Наличие кнопки закрытия */
|
|
80
|
+
closeButton?: boolean;
|
|
81
|
+
/** Возможность изменить лейбл */
|
|
82
|
+
editable?: boolean;
|
|
83
|
+
/** Callback при изменении значения */
|
|
84
|
+
onChange?: (label: string) => void;
|
|
85
|
+
/** Callback при нажатии на кнопку закрытия */
|
|
86
|
+
onClick?: () => void;
|
|
87
|
+
}
|
|
88
|
+
export interface SettingTagProps {
|
|
89
|
+
/** Лейбл */
|
|
90
|
+
label: string;
|
|
91
|
+
/** Цвет */
|
|
92
|
+
color?: string;
|
|
93
|
+
/** Callback при изменении значения/цвета */
|
|
94
|
+
onChange?: (data: string) => void;
|
|
95
|
+
}
|
|
96
|
+
export interface ToggleButtonProps {
|
|
97
|
+
/** Знчение */
|
|
98
|
+
value?: boolean;
|
|
99
|
+
/** Callback при изменении значения */
|
|
100
|
+
onChange?: React.ChangeEventHandler<HTMLInputElement>;
|
|
101
|
+
/** Заблокированная кнопка */
|
|
102
|
+
disabled?: boolean;
|
|
103
|
+
/** Размер кнопки */
|
|
104
|
+
size?: 'sm' | 'md';
|
|
105
|
+
/** Текст кнопки */
|
|
106
|
+
label?: string;
|
|
107
|
+
}
|
|
108
|
+
export type BaseOptions = {
|
|
109
|
+
id?: string;
|
|
110
|
+
key?: string | number;
|
|
111
|
+
name?: string;
|
|
112
|
+
description?: string;
|
|
113
|
+
value?: string | number;
|
|
114
|
+
icon?: React.JSX.Element;
|
|
115
|
+
disabled?: boolean;
|
|
116
|
+
isDivider?: boolean;
|
|
117
|
+
children?: TOptions[];
|
|
118
|
+
};
|
|
119
|
+
export type TOptions<T = {}> = BaseOptions & T;
|
|
120
|
+
export interface DropdownProps {
|
|
121
|
+
/** Идентификатор */
|
|
122
|
+
id?: string;
|
|
123
|
+
/** Лейбл */
|
|
124
|
+
label?: string;
|
|
125
|
+
/** Подсказик заполнения */
|
|
126
|
+
placeholder?: string;
|
|
127
|
+
/** Размер */
|
|
128
|
+
size?: 'md' | 'lg';
|
|
129
|
+
/** Массив элементов для выпадающего списка */
|
|
130
|
+
options: Array<string | number | TOptions>;
|
|
131
|
+
/** Функция для получения текста опции */
|
|
132
|
+
getOptionLabel?: (option: TOptions) => keyof TOptions;
|
|
133
|
+
/** Значение */
|
|
134
|
+
value?: string | number | TOptions | null;
|
|
135
|
+
/** Значение по умолчанию */
|
|
136
|
+
defaultValue?: string | number | TOptions | null;
|
|
137
|
+
/** Стиль выпадающего списка(текст+иконка, текст) */
|
|
138
|
+
style?: 'icons' | 'text';
|
|
139
|
+
/**Дополнительный класс */
|
|
140
|
+
className?: string;
|
|
141
|
+
/** Заблокированный */
|
|
142
|
+
disabled?: boolean;
|
|
143
|
+
/** Только для чтения */
|
|
144
|
+
readOnly?: boolean;
|
|
145
|
+
/** Открытый */
|
|
146
|
+
isOpened?: boolean;
|
|
147
|
+
/** Текст при отсутствии опций */
|
|
148
|
+
noOptionsText?: string;
|
|
149
|
+
/** Отображение левой метки */
|
|
150
|
+
isLeftLabel?: boolean;
|
|
151
|
+
/** Ошибка */
|
|
152
|
+
error?: boolean;
|
|
153
|
+
/** Текст ошибки */
|
|
154
|
+
helperText?: string;
|
|
155
|
+
/** Callback, который будет вызван при изменении значения */
|
|
156
|
+
onChange?: (event: any, value: string | number | TOptions | null) => void;
|
|
157
|
+
/** Callback, который будет вызван при закрытии выпадающего списка */
|
|
158
|
+
onClose?: (event: any) => void;
|
|
159
|
+
/** Возможность сброса значения до первоначального */
|
|
160
|
+
clearable?: boolean;
|
|
161
|
+
/** Обязательное поле */
|
|
162
|
+
required?: boolean;
|
|
163
|
+
/** Отображение разделителя */
|
|
164
|
+
isDivider?: boolean;
|
|
165
|
+
}
|
|
166
|
+
/** @internal */
|
|
167
|
+
export interface TypographyProps {
|
|
168
|
+
/** Вариант шрифта */
|
|
169
|
+
variant?: `${ETypographyVariants}`;
|
|
170
|
+
/** Текст */
|
|
171
|
+
children: ReactNode;
|
|
172
|
+
/** Дополнительный класс */
|
|
173
|
+
className?: string;
|
|
174
|
+
/** Цвет текста */
|
|
175
|
+
color?: CSSProperties['color'];
|
|
176
|
+
/** Стиль текста */
|
|
177
|
+
style?: CSSProperties;
|
|
178
|
+
}
|
|
179
|
+
export interface ProgressBarProps {
|
|
180
|
+
/** Значение */
|
|
181
|
+
value?: number;
|
|
182
|
+
/** Максимальное значение */
|
|
183
|
+
max?: number;
|
|
184
|
+
/** Размер */
|
|
185
|
+
size?: 'sm' | 'md' | 'lg';
|
|
186
|
+
/** Показывать значение */
|
|
187
|
+
showValue?: boolean;
|
|
188
|
+
/** Анимация */
|
|
189
|
+
animated?: boolean;
|
|
190
|
+
}
|
|
191
|
+
export interface ProgressLoaderProps {
|
|
192
|
+
/** Значение */
|
|
193
|
+
value: number;
|
|
194
|
+
/** Размер */
|
|
195
|
+
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
196
|
+
/** Показывать значение */
|
|
197
|
+
showValue?: boolean;
|
|
198
|
+
/** Анимация */
|
|
199
|
+
animated?: boolean;
|
|
200
|
+
}
|
|
201
|
+
export interface SpinnerProps {
|
|
202
|
+
/** Размер */
|
|
203
|
+
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
204
|
+
}
|
|
205
|
+
export interface CheckboxProps {
|
|
206
|
+
/** Идентификатор */
|
|
207
|
+
checked?: boolean;
|
|
208
|
+
/** Обработчик изменения состояния */
|
|
209
|
+
onChange?: ChangeEventHandler<HTMLInputElement>;
|
|
210
|
+
/** Заблокированный чекбокс */
|
|
211
|
+
disabled?: boolean;
|
|
212
|
+
/** Размер чекбокса */
|
|
213
|
+
size?: 'sm' | 'md';
|
|
214
|
+
/** Текст лейбла */
|
|
215
|
+
label?: string;
|
|
216
|
+
}
|
|
217
|
+
export interface RadioProps {
|
|
218
|
+
/** Значение */
|
|
219
|
+
value?: string;
|
|
220
|
+
/** Лейбл */
|
|
221
|
+
label?: string;
|
|
222
|
+
/** Выбраный */
|
|
223
|
+
checked?: boolean;
|
|
224
|
+
/** Обработчик изменения состояния */
|
|
225
|
+
onChange?: ChangeEventHandler<HTMLInputElement>;
|
|
226
|
+
/** Заблокированный чекбокс */
|
|
227
|
+
disabled?: boolean;
|
|
228
|
+
/** Размер чекбокса */
|
|
229
|
+
size?: 'sm' | 'md';
|
|
230
|
+
}
|
|
231
|
+
export interface TabProps {
|
|
232
|
+
/** Значение */
|
|
233
|
+
value?: string;
|
|
234
|
+
/** Обработчик клика */
|
|
235
|
+
onClick?: (value: string) => void;
|
|
236
|
+
/** Текст лейбла */
|
|
237
|
+
label?: string;
|
|
238
|
+
/** Размер */
|
|
239
|
+
selected?: boolean;
|
|
240
|
+
/** Заблокированный */
|
|
241
|
+
disabled?: boolean;
|
|
242
|
+
/** Табы */
|
|
243
|
+
children?: React.ReactNode;
|
|
244
|
+
}
|
|
245
|
+
export interface TabsProps {
|
|
246
|
+
/** Табы */
|
|
247
|
+
children: React.ReactElement<TabProps>[];
|
|
248
|
+
/** Значение */
|
|
249
|
+
value?: string;
|
|
250
|
+
/** Обработчик изменения значения */
|
|
251
|
+
onChange?: (value: string) => void;
|
|
252
|
+
}
|
|
253
|
+
export interface ColorPickerProps {
|
|
254
|
+
/** Цвет выбранный пользователем */
|
|
255
|
+
color?: string;
|
|
256
|
+
/** Основной цвет */
|
|
257
|
+
mainColor?: string;
|
|
258
|
+
/** Последние использованные цвета*/
|
|
259
|
+
recentColors?: string[];
|
|
260
|
+
/** Флаг наведения на меню*/
|
|
261
|
+
setIsHovered: (isHover: boolean) => void;
|
|
262
|
+
/** Ширина ColorPicker */
|
|
263
|
+
width?: number;
|
|
264
|
+
/** Высота ColorPicker*/
|
|
265
|
+
height?: number;
|
|
266
|
+
/** Автофокус ColorPicker*/
|
|
267
|
+
autoOpen?: boolean;
|
|
268
|
+
/** Callback функция при изменении цвета */
|
|
269
|
+
onChange?: (color: string) => void;
|
|
270
|
+
/** Функция обработки изменения цвета */
|
|
271
|
+
onColorChange: (color: string) => void;
|
|
272
|
+
}
|
|
273
|
+
export type SnackbarProps = {
|
|
274
|
+
/** Сообщение */
|
|
275
|
+
children: ReactNode;
|
|
276
|
+
/** Тип сообщения */
|
|
277
|
+
type: 'success' | 'error' | 'warning' | 'info';
|
|
278
|
+
/** Иконка */
|
|
279
|
+
icon?: boolean;
|
|
280
|
+
/** Длительность показа сообщения */
|
|
281
|
+
duration: number;
|
|
282
|
+
/** Функция обработки закрытия сообщения */
|
|
283
|
+
onClose?: () => void;
|
|
284
|
+
};
|
|
285
|
+
export interface LoaderProps {
|
|
286
|
+
/** Название файла */
|
|
287
|
+
name?: string;
|
|
288
|
+
/** Размер файла */
|
|
289
|
+
size?: number;
|
|
290
|
+
/** Флаг загрузки файла */
|
|
291
|
+
loading?: boolean;
|
|
292
|
+
/** Текст ошибки загрузки файла */
|
|
293
|
+
error?: string;
|
|
294
|
+
/** Функция обработки */
|
|
295
|
+
onClick?: () => void;
|
|
296
|
+
}
|
|
297
|
+
export interface FileAttachProps {
|
|
298
|
+
/** Максимальный размер файла */
|
|
299
|
+
maxFileSize?: number;
|
|
300
|
+
/** Максимальное количество файлов */
|
|
301
|
+
maxFileCount?: number;
|
|
302
|
+
/**Поддерживаемые форматы файлов */
|
|
303
|
+
acceptedFormats?: Accept;
|
|
304
|
+
/**Добавленные файлы */
|
|
305
|
+
addedFiles: File[];
|
|
306
|
+
/**Сосотояние для добавления файлов */
|
|
307
|
+
setAddedFiles: (addedFiles: File[]) => void;
|
|
308
|
+
/**Заблокировано добавление файлов*/
|
|
309
|
+
disabled?: boolean;
|
|
310
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kamotive_ui",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.4",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
|
+
"types": "dist/index.d.ts",
|
|
5
6
|
"files": [
|
|
6
7
|
"dist"
|
|
7
8
|
],
|
|
@@ -23,7 +24,8 @@
|
|
|
23
24
|
"classnames": "^2.5.1",
|
|
24
25
|
"clsx": "^2.1.1",
|
|
25
26
|
"react": "^18.3.1",
|
|
26
|
-
"react-dom": "^18.3.1"
|
|
27
|
+
"react-dom": "^18.3.1",
|
|
28
|
+
"react-dropzone": "^14.3.5"
|
|
27
29
|
},
|
|
28
30
|
"devDependencies": {
|
|
29
31
|
"@chromatic-com/storybook": "^3.2.2",
|