skillgrid 0.0.26 → 0.0.28-dev-41308-avatar-group.1182116
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/components/Avatar/Avatar.type.d.ts +2 -0
- package/dist/components/Button/Button.type.d.ts +78 -78
- package/dist/components/SegmentedControl/SegmentedControl.d.ts +5 -0
- package/dist/components/SegmentedControl/SegmentedControl.type.d.ts +38 -0
- package/dist/components/SegmentedControl/index.d.ts +2 -0
- package/dist/components/Tabs/ScrollWrapper.d.ts +0 -4
- package/dist/components/Tabs/Tabs.d.ts +74 -2
- package/dist/components/Tabs/Tabs.type.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.constants.d.ts +8 -0
- package/dist/components/Tooltip/Tooltip.d.ts +5 -0
- package/dist/components/Tooltip/Tooltip.type.d.ts +92 -0
- package/dist/components/Tooltip/assets/index.d.ts +1 -0
- package/dist/components/Tooltip/assets/react-svg-icons.d.ts +3 -0
- package/dist/components/Tooltip/index.d.ts +2 -0
- package/dist/hooks/useWindowEvent.d.ts +1 -1
- package/dist/index.cjs.js +11 -11
- package/dist/index.css +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.es.js +2393 -1673
- package/dist/lib/get-int-in-range.d.ts +4 -0
- package/dist/lib/get-int-in-range.test.d.ts +1 -0
- package/package.json +4 -2
|
@@ -87,5 +87,7 @@ export interface AvatarGroupProps {
|
|
|
87
87
|
overflowProps?: Omit<AvatarProps, 'size' | 'name' | 'icon' | 'shape'>;
|
|
88
88
|
/** Степень перекрытия аватаров (0.25 | 0.3 | 0.5) */
|
|
89
89
|
overlap?: 0.5 | 0.4 | 0.3 | 0.25 | 0.2 | 0.1;
|
|
90
|
+
/** Цвет обводки аватаров (по умолчанию берется из фона контейнера) */
|
|
91
|
+
cutoutBackground?: CSSProperties['color'];
|
|
90
92
|
}
|
|
91
93
|
export {};
|
|
@@ -1,85 +1,12 @@
|
|
|
1
|
-
export type LinkSizeType = 'l' | 'm' | 's';
|
|
2
|
-
/**
|
|
3
|
-
* Link style variants - buttonStyle and mode combinations
|
|
4
|
-
*/
|
|
5
|
-
type LinkStyleProps = {
|
|
6
|
-
/**
|
|
7
|
-
* Button style type
|
|
8
|
-
* @default 'neutral'
|
|
9
|
-
*/
|
|
10
|
-
buttonStyle?: 'neutral';
|
|
11
|
-
/**
|
|
12
|
-
* Button variant
|
|
13
|
-
* @default 'primary'
|
|
14
|
-
*/
|
|
15
|
-
mode?: 'primary' | 'secondary' | 'tertiary';
|
|
16
|
-
} | {
|
|
17
|
-
/**
|
|
18
|
-
* Button style type
|
|
19
|
-
* @default 'accent'
|
|
20
|
-
*/
|
|
21
|
-
buttonStyle?: 'accent' | 'positive' | 'negative' | 'contrast' | 'warning';
|
|
22
|
-
/**
|
|
23
|
-
* Button variant
|
|
24
|
-
* @default 'primary'
|
|
25
|
-
*/
|
|
26
|
-
mode?: 'primary' | 'secondary';
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Link icon variants
|
|
30
|
-
* - With icons: size is required
|
|
31
|
-
* - Without icons: size is optional
|
|
32
|
-
*/
|
|
33
|
-
type LinkIconVariant = {
|
|
34
|
-
/**
|
|
35
|
-
* Icons render only when size is provided.
|
|
36
|
-
* @default 'm'
|
|
37
|
-
*/
|
|
38
|
-
size: LinkSizeType;
|
|
39
|
-
iconLeft?: React.ReactNode;
|
|
40
|
-
iconRight?: React.ReactNode;
|
|
41
|
-
} | {
|
|
42
|
-
/** No icons in this variant */
|
|
43
|
-
size?: LinkSizeType;
|
|
44
|
-
iconLeft?: never;
|
|
45
|
-
iconRight?: never;
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* Base properties common to all link variants
|
|
49
|
-
*/
|
|
50
|
-
type LinkBaseProps = Omit<ButtonBaseProps, 'mode' | 'iconRight'> & LinkStyleProps & {
|
|
51
|
-
/**
|
|
52
|
-
* Display variant
|
|
53
|
-
*/
|
|
54
|
-
displayAs: 'link';
|
|
55
|
-
/**
|
|
56
|
-
* Underline setting (only for displayAs='link')
|
|
57
|
-
* @default false
|
|
58
|
-
*/
|
|
59
|
-
showUnderline?: boolean;
|
|
60
|
-
postfix?: never;
|
|
61
|
-
subcaption?: never;
|
|
62
|
-
loading?: never;
|
|
63
|
-
stretched?: never;
|
|
64
|
-
};
|
|
65
1
|
/**
|
|
66
2
|
* Base properties common to all button variants
|
|
67
3
|
*/
|
|
68
|
-
type
|
|
69
|
-
/**
|
|
70
|
-
* Button variant
|
|
71
|
-
* @default 'primary'
|
|
72
|
-
*/
|
|
73
|
-
mode?: 'primary' | 'secondary' | 'tertiary';
|
|
4
|
+
type BaseProps = {
|
|
74
5
|
/**
|
|
75
6
|
* Disables the button
|
|
76
7
|
* @default false
|
|
77
8
|
*/
|
|
78
9
|
disabled?: boolean;
|
|
79
|
-
/**
|
|
80
|
-
* Button icon (right side)
|
|
81
|
-
*/
|
|
82
|
-
iconRight?: React.ReactNode;
|
|
83
10
|
/**
|
|
84
11
|
* Additional CSS class
|
|
85
12
|
*/
|
|
@@ -97,7 +24,16 @@ type ButtonBaseProps = {
|
|
|
97
24
|
*/
|
|
98
25
|
'data-testid'?: string;
|
|
99
26
|
};
|
|
100
|
-
type
|
|
27
|
+
type ButtonBaseProps = BaseProps & {
|
|
28
|
+
/**
|
|
29
|
+
* Button variant
|
|
30
|
+
* @default 'primary'
|
|
31
|
+
*/
|
|
32
|
+
mode?: 'primary' | 'secondary' | 'tertiary';
|
|
33
|
+
/**
|
|
34
|
+
* Button icon (right side)
|
|
35
|
+
*/
|
|
36
|
+
iconRight?: React.ReactNode;
|
|
101
37
|
/**
|
|
102
38
|
* Button style type
|
|
103
39
|
* @default 'neutral'
|
|
@@ -138,17 +74,81 @@ type CommonProps = (ButtonBaseProps & {
|
|
|
138
74
|
};
|
|
139
75
|
iconLeft?: never;
|
|
140
76
|
showUnderline?: never;
|
|
141
|
-
}
|
|
77
|
+
};
|
|
78
|
+
export type LinkSizeType = 'l' | 'm' | 's';
|
|
79
|
+
/**
|
|
80
|
+
* Link style variants - buttonStyle and mode combinations
|
|
81
|
+
*/
|
|
82
|
+
type LinkStyleProps = {
|
|
83
|
+
/**
|
|
84
|
+
* Button style type
|
|
85
|
+
* @default 'neutral'
|
|
86
|
+
*/
|
|
87
|
+
buttonStyle?: 'neutral';
|
|
88
|
+
/**
|
|
89
|
+
* Button variant
|
|
90
|
+
* @default 'primary'
|
|
91
|
+
*/
|
|
92
|
+
mode?: 'primary' | 'secondary' | 'tertiary';
|
|
93
|
+
} | {
|
|
94
|
+
/**
|
|
95
|
+
* Button style type
|
|
96
|
+
* @default 'accent'
|
|
97
|
+
*/
|
|
98
|
+
buttonStyle?: 'accent' | 'positive' | 'negative' | 'contrast' | 'warning';
|
|
99
|
+
/**
|
|
100
|
+
* Button variant
|
|
101
|
+
* @default 'primary'
|
|
102
|
+
*/
|
|
103
|
+
mode?: 'primary' | 'secondary';
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* Link icon variants
|
|
107
|
+
* - With icons: size is required
|
|
108
|
+
* - Without icons: size is optional
|
|
109
|
+
*/
|
|
110
|
+
type LinkIconVariant = {
|
|
111
|
+
/**
|
|
112
|
+
* Icons render only when size is provided.
|
|
113
|
+
* @default 'm'
|
|
114
|
+
*/
|
|
115
|
+
size: LinkSizeType;
|
|
116
|
+
iconLeft?: React.ReactNode;
|
|
117
|
+
iconRight?: React.ReactNode;
|
|
118
|
+
} | {
|
|
119
|
+
/** No icons in this variant */
|
|
120
|
+
size?: LinkSizeType;
|
|
121
|
+
iconLeft?: never;
|
|
122
|
+
iconRight?: never;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Base properties common to all link variants
|
|
126
|
+
*/
|
|
127
|
+
type LinkBaseProps = BaseProps & LinkStyleProps & {
|
|
128
|
+
/**
|
|
129
|
+
* Display variant
|
|
130
|
+
*/
|
|
131
|
+
displayAs: 'link';
|
|
132
|
+
/**
|
|
133
|
+
* Underline setting (only for displayAs='link')
|
|
134
|
+
* @default false
|
|
135
|
+
*/
|
|
136
|
+
showUnderline?: boolean;
|
|
137
|
+
postfix?: never;
|
|
138
|
+
subcaption?: never;
|
|
139
|
+
loading?: never;
|
|
140
|
+
stretched?: never;
|
|
141
|
+
};
|
|
142
142
|
/**
|
|
143
143
|
* Props when rendered as a native HTMLButtonElement (default behaviour).
|
|
144
144
|
*/
|
|
145
|
-
export type ButtonAsNativeButtonProps =
|
|
145
|
+
export type ButtonAsNativeButtonProps = ButtonBaseProps & React.ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
146
146
|
as?: 'button';
|
|
147
147
|
};
|
|
148
148
|
/**
|
|
149
149
|
* Props when rendered as an anchor (HTMLAnchorElement).
|
|
150
150
|
*/
|
|
151
|
-
export type ButtonAsAnchorProps =
|
|
151
|
+
export type ButtonAsAnchorProps = LinkBaseProps & LinkIconVariant & React.AnchorHTMLAttributes<HTMLAnchorElement> & {
|
|
152
152
|
as: 'a';
|
|
153
153
|
/**
|
|
154
154
|
* External link default. If target/rel are not provided, sets target="_blank"
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
type Segment<T> = {
|
|
3
|
+
value: T;
|
|
4
|
+
label?: ReactNode;
|
|
5
|
+
};
|
|
6
|
+
export interface SegmentedControlProps<T> {
|
|
7
|
+
className?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Размер компонента
|
|
10
|
+
*/
|
|
11
|
+
size?: 's' | 'm' | 'l';
|
|
12
|
+
/**
|
|
13
|
+
* Должен ли компонент растягиваться на всю ширину контейнера
|
|
14
|
+
*/
|
|
15
|
+
stretched?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Значение
|
|
18
|
+
*/
|
|
19
|
+
value?: T;
|
|
20
|
+
/**
|
|
21
|
+
* Массив сегментов
|
|
22
|
+
*/
|
|
23
|
+
segments: Array<Segment<T>>;
|
|
24
|
+
/**
|
|
25
|
+
* Значение по умолчанию
|
|
26
|
+
*/
|
|
27
|
+
defaultValue?: T;
|
|
28
|
+
/** Режим отображения сегментов
|
|
29
|
+
* * icon - только иконка
|
|
30
|
+
* * text - текстовый лейбл
|
|
31
|
+
*/
|
|
32
|
+
mode?: 'icon' | 'label';
|
|
33
|
+
/**
|
|
34
|
+
* Хэндлер изменения активного сегмента
|
|
35
|
+
*/
|
|
36
|
+
onChange?: (value: T) => void;
|
|
37
|
+
}
|
|
38
|
+
export {};
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import { FC, ReactNode } from 'react';
|
|
2
2
|
interface ScrollWrapperProps {
|
|
3
|
-
/** дочерние элементы внутри скролл-бара */
|
|
4
3
|
children: ReactNode;
|
|
5
|
-
/** size - размер компонента (элементов управления скроллом) */
|
|
6
4
|
size: 'sm' | 'md' | 'xs';
|
|
7
|
-
/** включить контролы/маски (обычно на десктопе) */
|
|
8
5
|
withControls?: boolean;
|
|
9
|
-
/** className для внешнего враппера (ячейка сетки) */
|
|
10
6
|
className?: string;
|
|
11
7
|
}
|
|
12
8
|
export declare const ScrollWrapper: FC<ScrollWrapperProps>;
|
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
import { default as React, FC } from 'react';
|
|
2
|
-
import { TabsBarProps, TabPanelProps, TabsContentProps, TabsProviderProps } from './Tabs.type';
|
|
2
|
+
import { TabsBarProps, TabPanelProps, TabsContentProps, TabsContextType, TabsProviderProps } from './Tabs.type';
|
|
3
|
+
/**
|
|
4
|
+
* useTabs - кастомный хук для доступа к контексту вкладок
|
|
5
|
+
*
|
|
6
|
+
* Должен использоваться внутри TabsProvider для доступа к активной вкладке и функции её изменения
|
|
7
|
+
* Бросает ошибку, если используется вне контекста TabsProvider
|
|
8
|
+
*
|
|
9
|
+
* @returns {TabsContextType} Объект контекста с activeTab и функцией setTab
|
|
10
|
+
* @throws {Error} Если хук используется вне TabsProvider
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* const { activeTab, setTab } = useTabs();
|
|
14
|
+
*/
|
|
15
|
+
export declare const useTabs: () => TabsContextType;
|
|
16
|
+
/**
|
|
17
|
+
* TabsProvider - провайдер контекста для управления состоянием вкладок.
|
|
18
|
+
*
|
|
19
|
+
* Хранит текущую активную вкладку и предоставляет метод (`setTab`)
|
|
20
|
+
* для её изменения, доступный всем дочерним компонентам через контекст.
|
|
21
|
+
*
|
|
22
|
+
* Поддерживает как контролируемый, так и неконтролируемый режим:
|
|
23
|
+
* - Неконтролируемый: использует `defaultActiveTab`
|
|
24
|
+
* - Контролируемый: использует `activeTab` и колбэк `onChange`
|
|
25
|
+
*
|
|
26
|
+
* @param defaultActiveTab - вкладка, выбранная по умолчанию (неконтролируемый режим)
|
|
27
|
+
* @param activeTab - текущая активная вкладка (контролируемый режим)
|
|
28
|
+
* @param onChange - колбэк, вызываемый при изменении активной вкладки
|
|
29
|
+
* @param children - дочерние компоненты, которые будут иметь доступ к TabsContext
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* <Tabs.Provider defaultActiveTab="tab1" onChange={(val) => console.log(val)}>
|
|
33
|
+
* <Tabs.Bar mode="primary" items={tabItems} />
|
|
34
|
+
* <Tabs.Content>
|
|
35
|
+
* <Tabs.Panel tabValue="tab1">Content 1</Tabs.Panel>
|
|
36
|
+
* <Tabs.Panel tabValue="tab2">Content 2</Tabs.Panel>
|
|
37
|
+
* </Tabs.Content>
|
|
38
|
+
* </Tabs.Provider>
|
|
39
|
+
*/
|
|
40
|
+
export declare const TabsProvider: FC<TabsProviderProps>;
|
|
3
41
|
/**
|
|
4
42
|
* Bar - компонент для отображения списка вкладок.
|
|
5
43
|
*
|
|
@@ -17,7 +55,41 @@ import { TabsBarProps, TabPanelProps, TabsContentProps, TabsProviderProps } from
|
|
|
17
55
|
* ]}/>
|
|
18
56
|
* </Tabs.Provider>
|
|
19
57
|
*/
|
|
20
|
-
declare const Bar: FC<TabsBarProps>;
|
|
58
|
+
export declare const Bar: FC<TabsBarProps>;
|
|
59
|
+
/** ====================== Секция контента ====================== */
|
|
60
|
+
/**
|
|
61
|
+
* TabPanel - рендерит контент для конкретной вкладки внутри TabsContent.
|
|
62
|
+
* Отображается только панель активной вкладки.
|
|
63
|
+
* @param tabValue - идентификатор панели вкладки
|
|
64
|
+
* @param children - содержимое панели вкладки
|
|
65
|
+
* @param restProps - дополнительные пропсы, передаваемые в контейнерный div
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* <TabPanel tabValue="tab1" className="p-4">
|
|
69
|
+
* Контент для Вкладки 1
|
|
70
|
+
* </TabPanel>
|
|
71
|
+
*/
|
|
72
|
+
export declare const TabPanel: FC<TabPanelProps>;
|
|
73
|
+
/**
|
|
74
|
+
* TabsContent - компонент для отображения панелей вкладок,
|
|
75
|
+
* связанных с активной вкладкой.
|
|
76
|
+
*
|
|
77
|
+
* Принимает дочерние элементы 'TabPanel' и отображает только тот,
|
|
78
|
+
* который соответствует текущей активной вкладке
|
|
79
|
+
*
|
|
80
|
+
* @param children - один или несколько компонентов 'TabPanel'.
|
|
81
|
+
* @param restProps - дополнительные пропсы, передаваемые в контейнерный div.
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* <TabsProvider defaultActiveTab="tab1">
|
|
85
|
+
* <TabsContent className="tab-content">
|
|
86
|
+
* <TabPanel tabValue="tab1">Контент для Вкладки 1</TabPanel>
|
|
87
|
+
* <TabPanel tabValue="tab2">Контент для Вкладки 2</TabPanel>
|
|
88
|
+
* </TabsContent>
|
|
89
|
+
* </TabsProvider>
|
|
90
|
+
*/
|
|
91
|
+
export declare const TabsContent: FC<TabsContentProps>;
|
|
92
|
+
/** ====================== Экспорт ====================== */
|
|
21
93
|
export declare const Tabs: {
|
|
22
94
|
Provider: React.FC<TabsProviderProps>;
|
|
23
95
|
Content: React.FC<TabsContentProps>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BuildInPlacements } from '@rc-component/trigger';
|
|
2
|
+
import { TooltipButtonConfig } from './Tooltip.type';
|
|
3
|
+
export declare const TOOLTIP_PLACEMENTS_M: BuildInPlacements;
|
|
4
|
+
export declare const TOOLTIP_PLACEMENTS_SMALL: BuildInPlacements;
|
|
5
|
+
/**
|
|
6
|
+
* Дефолтные пресеты кнопок для каждого варианта тултипа и количества кнопок
|
|
7
|
+
*/
|
|
8
|
+
export declare const BUTTON_PRESETS: Record<'neutral' | 'contrast' | 'accent', Record<number, TooltipButtonConfig[]>>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { TooltipProps } from './Tooltip.type';
|
|
2
|
+
/**
|
|
3
|
+
* Tooltip component to render tooltip
|
|
4
|
+
*/
|
|
5
|
+
export declare const Tooltip: ({ customContent, children, placement, contentClassNames, mouseEnterDelay, mouseLeaveDelay, showArrow, showClose, trigger, variant, size, text, title, media, buttons, buttonProps, onClose, ...props }: TooltipProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { default as RcTooltip } from 'rc-tooltip';
|
|
3
|
+
import { ButtonAsNativeButtonProps } from '../Button/Button.type';
|
|
4
|
+
export type TooltipVariant = 'neutral' | 'contrast' | 'accent';
|
|
5
|
+
export type TooltipSize = 'xs' | 's' | 'm';
|
|
6
|
+
type OneToThree<T> = [T] | [T, T] | [T, T, T];
|
|
7
|
+
export type TooltipContentClassNames = {
|
|
8
|
+
mediaWrapper?: string;
|
|
9
|
+
textWrapper?: string;
|
|
10
|
+
typography?: string;
|
|
11
|
+
title?: string;
|
|
12
|
+
text?: string;
|
|
13
|
+
closeButton?: string;
|
|
14
|
+
};
|
|
15
|
+
export type TooltipButtonConfig = ButtonAsNativeButtonProps & {
|
|
16
|
+
closeOnClick?: boolean;
|
|
17
|
+
};
|
|
18
|
+
export interface TooltipCommonProps {
|
|
19
|
+
/**
|
|
20
|
+
* Вариант цветовой схемы тултипа
|
|
21
|
+
* @default 'neutral'
|
|
22
|
+
*/
|
|
23
|
+
variant?: TooltipVariant;
|
|
24
|
+
/**
|
|
25
|
+
* Размер тултипа
|
|
26
|
+
* @default 's'
|
|
27
|
+
*/
|
|
28
|
+
size?: TooltipSize;
|
|
29
|
+
/**
|
|
30
|
+
* Основной текст тултипа
|
|
31
|
+
*/
|
|
32
|
+
text?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Дополнительные CSS классы для содержимого тултипа
|
|
35
|
+
*/
|
|
36
|
+
contentClassNames?: TooltipContentClassNames;
|
|
37
|
+
/**
|
|
38
|
+
* Функция закрытия тултипа
|
|
39
|
+
*/
|
|
40
|
+
onClose?: () => void;
|
|
41
|
+
}
|
|
42
|
+
export interface TooltipSmallProps extends TooltipCommonProps {
|
|
43
|
+
size?: 'xs' | 's';
|
|
44
|
+
title?: never;
|
|
45
|
+
media?: never;
|
|
46
|
+
buttons?: never;
|
|
47
|
+
buttonProps?: never;
|
|
48
|
+
showClose?: never;
|
|
49
|
+
}
|
|
50
|
+
export interface TooltipMediumProps extends TooltipCommonProps {
|
|
51
|
+
size: 'm';
|
|
52
|
+
/**
|
|
53
|
+
* Заголовок тултипа (для размера m)
|
|
54
|
+
*/
|
|
55
|
+
title?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Медиа контент тултипа (для размера m)
|
|
58
|
+
*/
|
|
59
|
+
media?: ReactNode;
|
|
60
|
+
/**
|
|
61
|
+
* Показывать кнопку закрытия тултипа (для размера m)
|
|
62
|
+
* Если выбран размер m и не переданы кнопки, то кнопка закрытия отображается по умолчанию.
|
|
63
|
+
* @default true
|
|
64
|
+
*/
|
|
65
|
+
showClose?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Конфигурация кнопок действия, можно передать от 1 до 3 кнопок (для размера m).
|
|
68
|
+
* Каждый элемент — полноценные пропсы `Button` с возможностью переопределить любые свойства.
|
|
69
|
+
* По умолчанию используются дефолтные пресеты кнопок для каждого варианта тултипа и количества кнопок в соответствии с дизайн-системой.
|
|
70
|
+
*/
|
|
71
|
+
buttons?: OneToThree<TooltipButtonConfig>;
|
|
72
|
+
/**
|
|
73
|
+
* Общие пропсы для всех кнопок (для размера m). Применяются ко всем элементам `buttons`
|
|
74
|
+
* и могут быть переопределены индивидуальными пропсами конкретной кнопки.
|
|
75
|
+
* Помогает избежать разрастания пропсов при необходимости сменить стиль у всех сразу.
|
|
76
|
+
*/
|
|
77
|
+
buttonProps?: Partial<TooltipButtonConfig>;
|
|
78
|
+
}
|
|
79
|
+
export type TooltipBaseProps = TooltipSmallProps | TooltipMediumProps;
|
|
80
|
+
export type TooltipProps = TooltipBaseProps & Omit<React.ComponentProps<typeof RcTooltip>, 'overlay'> & {
|
|
81
|
+
/**
|
|
82
|
+
* Кастомное содержимое тултипа (полностью заменяет все элементы внутри тултипа)
|
|
83
|
+
*/
|
|
84
|
+
customContent?: ReactNode;
|
|
85
|
+
};
|
|
86
|
+
export type TooltipContentProps = TooltipBaseProps & {
|
|
87
|
+
/**
|
|
88
|
+
* Дополнительные CSS классы для содержимого тултипа
|
|
89
|
+
*/
|
|
90
|
+
classNames?: TooltipContentClassNames;
|
|
91
|
+
};
|
|
92
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CrossOutlinedIcon, TooltipArrowIcon } from './react-svg-icons';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function useWindowEvent<K extends
|
|
1
|
+
export declare function useWindowEvent<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => void, options?: boolean | AddEventListenerOptions): void;
|