skillgrid 0.0.58 → 0.0.59

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.
@@ -0,0 +1,18 @@
1
+ import { SwitchProps } from './Switch.type';
2
+ /**
3
+ * Switch компонент для переключения состояний
4
+ *
5
+ * @component
6
+ * @example
7
+ * ```tsx
8
+ * <Switch
9
+ * name="notifications"
10
+ * value={enabled}
11
+ * onChange={setEnabled}
12
+ * size="L"
13
+ * >
14
+ * Включить уведомления
15
+ * </Switch>
16
+ * ```
17
+ */
18
+ export declare const Switch: import('react').ForwardRefExoticComponent<SwitchProps & import('react').RefAttributes<HTMLLabelElement>>;
@@ -0,0 +1,97 @@
1
+ import { ChangeEvent, CSSProperties, ReactNode } from 'react';
2
+ /**
3
+ * Размеры для компонента Switch
4
+ */
5
+ export type SwitchSize = 'S' | 'M' | 'L';
6
+ /** Цветовая схема */
7
+ export declare const COLOR_SCHEME_CLASS_MAP: {
8
+ readonly primary: string;
9
+ readonly green: string;
10
+ readonly red: string;
11
+ readonly blue: string;
12
+ };
13
+ /**
14
+ * Пропсы для компонента Switch
15
+ */
16
+ export interface SwitchProps {
17
+ /**
18
+ * Уникальное имя переключателя, значение для id тэга input
19
+ */
20
+ name?: string;
21
+ /**
22
+ * Текущее значение переключателя
23
+ * - true - включен
24
+ * - false - выключен
25
+ * Если не передан, используется внутреннее состояние
26
+ */
27
+ value?: boolean;
28
+ /**
29
+ * Размер переключателя
30
+ * @default 'L'
31
+ */
32
+ size?: SwitchSize;
33
+ /**
34
+ * Состояние загрузки (переключатель становится неактивным)
35
+ * @default false
36
+ */
37
+ loading?: boolean;
38
+ /**
39
+ * Сообщение об ошибке
40
+ */
41
+ error?: string;
42
+ /**
43
+ * Отключенное состояние
44
+ * @default false
45
+ */
46
+ disabled?: boolean;
47
+ /**
48
+ * Дополнительные CSS классы для контейнера
49
+ */
50
+ containerClassName?: string;
51
+ /**
52
+ * Дополнительные CSS классы для переключателя
53
+ */
54
+ className?: string;
55
+ /**
56
+ * Дополнительные CSS стили для контейнера
57
+ */
58
+ containerStyle?: CSSProperties;
59
+ /**
60
+ * Дополнительные CSS стили для переключателя
61
+ */
62
+ style?: CSSProperties;
63
+ /**
64
+ * Цвет бэкграунда переключателя в состоянии checked=true
65
+ * @example '#FFC804' или 'var(--brand-primary-500)'
66
+ */
67
+ checkedColor?: string;
68
+ /**
69
+ * Цвет бэкграунда переключателя в состоянии checked=false
70
+ * @example '#ccd5df' или 'var(--base-graphite-85)'
71
+ */
72
+ uncheckedColor?: string;
73
+ /**
74
+ * Дефолтные цвета бэкграунда переключателя в состоянии checked=true
75
+ * @example 'primary' = 'var(--brand-primary-500)'
76
+ */
77
+ colorScheme?: 'primary' | 'green' | 'red' | 'blue';
78
+ /**
79
+ * Вложенный компонент справа от переключателя (label)
80
+ */
81
+ children?: ReactNode;
82
+ /**
83
+ * Делать ли весь элемент (включая label) кликабельным
84
+ * @default true
85
+ */
86
+ clickableLabel?: boolean;
87
+ /**
88
+ * Обработчик изменения состояния переключателя
89
+ * @param checked - boolean, текущее состояние переключателя
90
+ * @param e - ChangeEvent<HTMLInputElement>, ивент нажатия на инпут
91
+ */
92
+ onChange?: (checked: boolean, e?: ChangeEvent<HTMLInputElement>) => void;
93
+ /**
94
+ * Идентификатор для тестирования
95
+ */
96
+ 'data-testid'?: string;
97
+ }
@@ -0,0 +1,2 @@
1
+ export { Switch } from './Switch';
2
+ export type { SwitchProps, SwitchSize } from './Switch.type';
@@ -0,0 +1,9 @@
1
+ import { SwitchSize } from '../Switch.type';
2
+ /**
3
+ * Длительность анимации растягивания в мс
4
+ */
5
+ export declare const STRETCH_DURATION = 150;
6
+ /**
7
+ * Маппинг размеров Switch на размеры иконки
8
+ */
9
+ export declare const LOCK_ICON_SIZE_MAP: Record<SwitchSize, number>;
@@ -0,0 +1 @@
1
+ export * from './constants';