skillgrid 0.0.36-dev-40511-42085-40506-alert-placeholder-modal-fix.1241652 → 0.0.38

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.
Files changed (42) hide show
  1. package/dist/components/Alert/Alert.type.d.ts +5 -10
  2. package/dist/components/Dialog/Dialog.d.ts +3 -12
  3. package/dist/components/Dialog/Dialog.type.d.ts +12 -44
  4. package/dist/components/Dialog/lib/index.d.ts +0 -1
  5. package/dist/components/Dialog/lib/use-dialog.d.ts +9 -17
  6. package/dist/components/Modal/Modal.d.ts +1 -1
  7. package/dist/components/Modal/Modal.type.d.ts +12 -28
  8. package/dist/components/Placeholder/Placeholder.type.d.ts +5 -8
  9. package/dist/components/Snackbar/Provider/SnackbarProvider.d.ts +9 -0
  10. package/dist/components/Snackbar/Provider/SnackbarProvider.type.d.ts +69 -0
  11. package/dist/components/Snackbar/Provider/index.d.ts +2 -0
  12. package/dist/components/Snackbar/Snackbar.d.ts +2 -0
  13. package/dist/components/Snackbar/Snackbar.type.d.ts +74 -0
  14. package/dist/components/Snackbar/assets/close.d.ts +1 -0
  15. package/dist/components/Snackbar/assets/error.d.ts +3 -0
  16. package/dist/components/Snackbar/assets/index.d.ts +4 -0
  17. package/dist/components/Snackbar/assets/info.d.ts +3 -0
  18. package/dist/components/Snackbar/assets/success.d.ts +3 -0
  19. package/dist/components/Snackbar/index.d.ts +2 -0
  20. package/dist/components/Snackbar/lib/constants.d.ts +6 -0
  21. package/dist/components/Snackbar/lib/index.d.ts +4 -0
  22. package/dist/components/Snackbar/lib/snackbarReducer/index.d.ts +1 -0
  23. package/dist/components/Snackbar/lib/snackbarReducer/snackbarReducer.d.ts +2 -0
  24. package/dist/components/Snackbar/lib/useSnackbar.d.ts +3 -0
  25. package/dist/components/Snackbar/lib/useSwipe.d.ts +52 -0
  26. package/dist/components/Tabs/Tabs.type.d.ts +1 -1
  27. package/dist/components/Trigger/Trigger.d.ts +5 -0
  28. package/dist/components/Trigger/Trigger.type.d.ts +98 -0
  29. package/dist/components/Trigger/assets/ChevronIcon.d.ts +16 -0
  30. package/dist/components/Trigger/assets/index.d.ts +1 -0
  31. package/dist/components/Trigger/index.d.ts +1 -0
  32. package/dist/components/Trigger/lib/utils.d.ts +29 -0
  33. package/dist/components/Trigger/lib/utils.test.d.ts +1 -0
  34. package/dist/index.cjs.js +11 -11
  35. package/dist/index.css +1 -1
  36. package/dist/index.d.ts +2 -0
  37. package/dist/index.es.js +2745 -2353
  38. package/package.json +2 -2
  39. package/dist/components/Dialog/lib/use-dialog-draggable.d.ts +0 -42
  40. package/dist/components/Modal/assets/CrossIcon.d.ts +0 -2
  41. package/dist/components/Modal/assets/LeftChevronIcon.d.ts +0 -2
  42. package/dist/components/Modal/assets/index.d.ts +0 -2
@@ -0,0 +1,98 @@
1
+ import { ReactNode, CSSProperties } from 'react';
2
+ export type TriggerSize = 'XL' | 'L' | 'M' | 'S' | 'XS';
3
+ /**
4
+ * Состояния отображения label в компоненте Trigger
5
+ */
6
+ export declare enum LabelState {
7
+ /** Обычное отображение label */
8
+ NORMAL = "normal",
9
+ /** Floating label (для XL размера с контентом) */
10
+ FLOATING = "floating",
11
+ /** Скрытый label (для не-XL размеров с контентом) */
12
+ HIDDEN = "hidden"
13
+ }
14
+ /**
15
+ * Основные пропсы компонента Trigger
16
+ */
17
+ export type TriggerCommonProps = {
18
+ /** Состояние триггера */
19
+ open: boolean;
20
+ /** Контент, отображаемый в триггере */
21
+ content?: string;
22
+ /** Заголовок label */
23
+ label?: string;
24
+ /** Размер компонента */
25
+ size?: TriggerSize;
26
+ /** Описание под компонентом */
27
+ description?: string;
28
+ /** Растянуть компонент на всю ширину */
29
+ stretched?: boolean;
30
+ /** Стиль выделения: 'selected' - обычное состояние, 'applied' - применённое с возможностью очистки */
31
+ selectionStyle?: 'selected' | 'applied';
32
+ /** Показывать ли иконку очистки (XIcon) при selectionStyle = 'selected' */
33
+ clearable?: boolean;
34
+ /** Иконка перед контентом */
35
+ prefixIcon?: ReactNode;
36
+ /** Текст после контента */
37
+ postfixTitle?: string;
38
+ /** Текст ошибки */
39
+ error?: string;
40
+ /** Дизейбл компонент */
41
+ disabled?: boolean;
42
+ /** Обработчик очистки поля (вызывается при клике на X-иконку в режиме 'applied') */
43
+ onClear?: () => void;
44
+ /**
45
+ * Дополнительные классы для:
46
+ * @wrapper для обертки
47
+ * @triggerContainer для контейнера триггера
48
+ * @chevronIcon для иконки состояния открытия
49
+ * @prefixIconContainer для контейнера префиксной иконки
50
+ * @clearIcon для иконки очистки
51
+ * @triggerContent для контейнера контента
52
+ * @content для контента
53
+ * @label для лейбла
54
+ * @postfixTitle для постфикса
55
+ * @description для описания
56
+ * @error для ошибки
57
+ */
58
+ classNames?: {
59
+ wrapper?: string;
60
+ triggerContainer?: string;
61
+ chevronIcon?: string;
62
+ prefixIconContainer?: string;
63
+ clearIcon?: string;
64
+ triggerContent?: string;
65
+ content?: string;
66
+ label?: string;
67
+ postfixTitle?: string;
68
+ description?: string;
69
+ error?: string;
70
+ };
71
+ /**
72
+ * Дополнительные стили для:
73
+ * @wrapper для обертки
74
+ * @triggerContainer для контейнера триггера
75
+ * @chevronIcon для иконки состояния открытия
76
+ * @prefixIconContainer для контейнера префиксной иконки
77
+ * @clearIcon для иконки очистки
78
+ * @triggerContent для контейнера контента
79
+ * @content для контента
80
+ * @label для лейбла
81
+ * @postfixTitle для постфикса
82
+ * @description для описания
83
+ * @error для ошибки
84
+ */
85
+ styles?: {
86
+ wrapper?: CSSProperties;
87
+ triggerContainer?: CSSProperties;
88
+ chevronIcon?: CSSProperties;
89
+ prefixIconContainer?: CSSProperties;
90
+ clearIcon?: CSSProperties;
91
+ triggerContent?: CSSProperties;
92
+ content?: CSSProperties;
93
+ label?: CSSProperties;
94
+ postfixTitle?: CSSProperties;
95
+ description?: CSSProperties;
96
+ error?: CSSProperties;
97
+ };
98
+ };
@@ -0,0 +1,16 @@
1
+ export interface ChevronIconProps {
2
+ /** Дополнительные CSS классы */
3
+ className?: string;
4
+ /** Инлайн стили */
5
+ style?: React.CSSProperties;
6
+ /** Размер иконки */
7
+ size?: 'xxxs' | 'xxs' | 'xs' | 'sm' | 'md' | 'lg';
8
+ /** Цвет иконки */
9
+ color?: string;
10
+ /** Дополнительные пропсы */
11
+ [key: string]: unknown;
12
+ }
13
+ /**
14
+ * Компонент иконки ^
15
+ */
16
+ export declare const ChevronIcon: React.FC<ChevronIconProps>;
@@ -0,0 +1 @@
1
+ export { ChevronIcon } from './ChevronIcon';
@@ -0,0 +1 @@
1
+ export { Trigger } from './Trigger';
@@ -0,0 +1,29 @@
1
+ import { TypographySize } from '../../Typography/Typography.type';
2
+ import { LabelState, TriggerSize } from '../Trigger.type';
3
+ /**
4
+ * Определяет состояние label на основе параметров компонента
5
+ *
6
+ * @param size - размер компонента
7
+ * @param hasContent - есть ли контент в триггере
8
+ * @returns состояние label
9
+ */
10
+ export declare const getLabelState: (size: TriggerSize, hasContent: boolean) => LabelState;
11
+ /**
12
+ * Определяет размер типографики для label в зависимости от размера компонента
13
+ */
14
+ export declare const getLabelTypographySize: (size: TriggerSize, isFloating: boolean) => TypographySize;
15
+ /**
16
+ * Определяет размер типографики для контента в зависимости от размера компонента
17
+ */
18
+ export declare const getContentTypographySize: (size: TriggerSize) => TypographySize;
19
+ /**
20
+ * Определяет размер иконки в зависимости от размера компонента
21
+ */
22
+ export declare const getIconSize: (size: TriggerSize) => "xs" | "sm";
23
+ /**
24
+ * Обрезает текст content если он превышает 30 символов
25
+ *
26
+ * @param content - текст для обрезки
27
+ * @returns обрезанный текст с многоточием или исходный текст
28
+ */
29
+ export declare const truncateContent: (content: string) => string;
@@ -0,0 +1 @@
1
+ export {};