@skbkontur/react-ui 0.0.0-a5ba2462c5 → 0.0.0-a6f09fbded
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/CHANGELOG.md +0 -30
- package/cjs/components/Autocomplete/Autocomplete.md +113 -0
- package/cjs/components/Button/Button.md +261 -0
- package/cjs/components/Calendar/Calendar.md +276 -0
- package/cjs/components/Calendar/CalendarDay.md +70 -0
- package/cjs/components/Center/Center.md +26 -0
- package/cjs/components/Checkbox/Checkbox.md +171 -0
- package/cjs/components/ComboBox/ComboBox.d.ts +11 -5
- package/cjs/components/ComboBox/ComboBox.js +10 -1
- package/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/cjs/components/ComboBox/ComboBox.md +574 -0
- package/cjs/components/CurrencyInput/CurrencyInput.md +39 -0
- package/cjs/components/CurrencyLabel/CurrencyLabel.js +2 -2
- package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/cjs/components/CurrencyLabel/CurrencyLabel.md +29 -0
- package/cjs/components/DateInput/DateInput.md +111 -0
- package/cjs/components/DatePicker/DatePicker.md +368 -0
- package/cjs/components/Dropdown/Dropdown.md +45 -0
- package/cjs/components/DropdownMenu/DropdownMenu.md +290 -0
- package/cjs/components/FileUploader/FileUploader.md +131 -0
- package/cjs/components/FxInput/FxInput.md +31 -0
- package/cjs/components/Gapped/Gapped.md +44 -0
- package/cjs/components/GlobalLoader/GlobalLoader.md +97 -0
- package/cjs/components/Group/Group.md +19 -0
- package/cjs/components/Hint/Hint.md +86 -0
- package/cjs/components/Input/Input.md +86 -0
- package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
- package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
- package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
- package/cjs/components/Kebab/Kebab.md +306 -0
- package/cjs/components/Link/Link.md +182 -0
- package/cjs/components/Loader/Loader.md +33 -0
- package/cjs/components/MaskedInput/MaskedInput.d.ts +0 -8
- package/cjs/components/MaskedInput/MaskedInput.js +2 -23
- package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/components/MaskedInput/MaskedInput.md +114 -0
- package/cjs/components/MenuFooter/MenuFooter.md +27 -0
- package/cjs/components/MenuHeader/MenuHeader.md +35 -0
- package/cjs/components/MenuItem/MenuItem.md +139 -0
- package/cjs/components/MenuSeparator/MenuSeparator.md +14 -0
- package/cjs/components/MiniModal/MiniModal.md +231 -0
- package/cjs/components/Modal/Modal.md +56 -0
- package/cjs/components/Paging/Paging.md +57 -0
- package/cjs/components/PasswordInput/PasswordInput.md +29 -0
- package/cjs/components/Radio/Radio.md +57 -0
- package/cjs/components/RadioGroup/RadioGroup.md +44 -0
- package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +75 -0
- package/cjs/components/ScrollContainer/ScrollContainer.md +224 -0
- package/cjs/components/Select/Select.md +113 -0
- package/cjs/components/SidePage/SidePage.md +65 -0
- package/cjs/components/SingleToast/SingleToast.md +36 -0
- package/cjs/components/Spinner/Spinner.md +36 -0
- package/cjs/components/Sticky/Sticky.md +28 -0
- package/cjs/components/Switcher/Switcher.md +111 -0
- package/cjs/components/Tabs/Tab.md +73 -0
- package/cjs/components/Tabs/Tabs.md +54 -0
- package/cjs/components/Textarea/Textarea.d.ts +6 -1
- package/cjs/components/Textarea/Textarea.js +16 -3
- package/cjs/components/Textarea/Textarea.js.map +1 -1
- package/cjs/components/Textarea/Textarea.md +58 -0
- package/cjs/components/Textarea/Textarea.styles.js +2 -1
- package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
- package/cjs/components/Toast/Toast.md +69 -0
- package/cjs/components/Toggle/Toggle.md +110 -0
- package/cjs/components/Token/Token.md +48 -0
- package/cjs/components/TokenInput/TokenInput.md +277 -0
- package/cjs/components/Tooltip/Tooltip.d.ts +1 -1
- package/cjs/components/Tooltip/Tooltip.js +6 -8
- package/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/cjs/components/Tooltip/Tooltip.md +322 -0
- package/cjs/components/TooltipMenu/TooltipMenu.md +241 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
- package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
- package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +7 -6
- package/cjs/internal/CustomComboBox/ComboBoxView.js +2 -7
- package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +6 -5
- package/cjs/internal/CustomComboBox/CustomComboBox.js +1 -3
- package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
- package/cjs/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
- package/cjs/internal/CustomComboBox/getComboBoxTheme.js +10 -7
- package/cjs/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
- package/cjs/internal/DataTids/DATATIDS.md +12 -0
- package/cjs/internal/DataTids/DataTids.d.ts +12 -0
- package/cjs/internal/DataTids/DataTids.js +50 -0
- package/cjs/internal/DataTids/DataTids.js.map +1 -0
- package/cjs/internal/DataTids/DataTids.styles.d.ts +7 -0
- package/cjs/internal/DataTids/DataTids.styles.js +42 -0
- package/cjs/internal/DataTids/DataTids.styles.js.map +1 -0
- package/cjs/internal/DataTids/componentsDataTids.d.ts +5 -0
- package/cjs/internal/DataTids/componentsDataTids.js +15 -0
- package/cjs/internal/DataTids/componentsDataTids.js.map +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
- package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
- package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +235 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
- package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
- package/cjs/internal/ThemePlayground/Playground.md +7 -0
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/themes/BasicTheme.d.ts +2 -0
- package/cjs/internal/themes/BasicTheme.js +11 -6
- package/cjs/internal/themes/BasicTheme.js.map +1 -1
- package/cjs/internal/themes/DarkTheme5_4.js +10 -3
- package/cjs/internal/themes/DarkTheme5_4.js.map +1 -1
- package/cjs/internal/themes/LightTheme5_4.js +10 -3
- package/cjs/internal/themes/LightTheme5_4.js.map +1 -1
- package/cjs/internal/themes/consts.d.ts +7 -0
- package/cjs/internal/themes/consts.js +7 -0
- package/cjs/internal/themes/consts.js.map +1 -0
- package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +64 -0
- package/cjs/lib/locale/LOCALECONTEXT.md +222 -0
- package/cjs/lib/theming/ThemeContext.md +265 -0
- package/components/Autocomplete/Autocomplete.md +113 -0
- package/components/Button/Button.md +261 -0
- package/components/Calendar/Calendar.md +276 -0
- package/components/Calendar/CalendarDay.md +70 -0
- package/components/Center/Center.md +26 -0
- package/components/Checkbox/Checkbox.md +171 -0
- package/components/ComboBox/ComboBox/ComboBox.js +2 -1
- package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
- package/components/ComboBox/ComboBox.d.ts +11 -5
- package/components/ComboBox/ComboBox.md +574 -0
- package/components/CurrencyInput/CurrencyInput.md +39 -0
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +1 -1
- package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
- package/components/CurrencyLabel/CurrencyLabel.md +29 -0
- package/components/DateInput/DateInput.md +111 -0
- package/components/DatePicker/DatePicker.md +368 -0
- package/components/Dropdown/Dropdown.md +45 -0
- package/components/DropdownMenu/DropdownMenu.md +290 -0
- package/components/FileUploader/FileUploader.md +131 -0
- package/components/FxInput/FxInput.md +31 -0
- package/components/Gapped/Gapped.md +44 -0
- package/components/GlobalLoader/GlobalLoader.md +97 -0
- package/components/Group/Group.md +19 -0
- package/components/Hint/Hint.md +86 -0
- package/components/Input/Input.md +86 -0
- package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
- package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
- package/components/Input/InputLayout/InputLayout.d.ts +1 -0
- package/components/Kebab/Kebab.md +306 -0
- package/components/Link/Link.md +182 -0
- package/components/Loader/Loader.md +33 -0
- package/components/MaskedInput/MaskedInput/MaskedInput.js +1 -11
- package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/components/MaskedInput/MaskedInput.d.ts +0 -8
- package/components/MaskedInput/MaskedInput.md +114 -0
- package/components/MenuFooter/MenuFooter.md +27 -0
- package/components/MenuHeader/MenuHeader.md +35 -0
- package/components/MenuItem/MenuItem.md +139 -0
- package/components/MenuSeparator/MenuSeparator.md +14 -0
- package/components/MiniModal/MiniModal.md +231 -0
- package/components/Modal/Modal.md +56 -0
- package/components/Paging/Paging.md +57 -0
- package/components/PasswordInput/PasswordInput.md +29 -0
- package/components/Radio/Radio.md +57 -0
- package/components/RadioGroup/RadioGroup.md +44 -0
- package/components/ResponsiveLayout/ResponsiveLayout.md +75 -0
- package/components/ScrollContainer/ScrollContainer.md +224 -0
- package/components/Select/Select.md +113 -0
- package/components/SidePage/SidePage.md +65 -0
- package/components/SingleToast/SingleToast.md +36 -0
- package/components/Spinner/Spinner.md +36 -0
- package/components/Sticky/Sticky.md +28 -0
- package/components/Switcher/Switcher.md +111 -0
- package/components/Tabs/Tab.md +73 -0
- package/components/Tabs/Tabs.md +54 -0
- package/components/Textarea/Textarea/Textarea.js +11 -2
- package/components/Textarea/Textarea/Textarea.js.map +1 -1
- package/components/Textarea/Textarea.d.ts +6 -1
- package/components/Textarea/Textarea.md +58 -0
- package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
- package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
- package/components/Toast/Toast.md +69 -0
- package/components/Toggle/Toggle.md +110 -0
- package/components/Token/Token.md +48 -0
- package/components/TokenInput/TokenInput.md +277 -0
- package/components/Tooltip/Tooltip/Tooltip.js +4 -7
- package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
- package/components/Tooltip/Tooltip.d.ts +1 -1
- package/components/Tooltip/Tooltip.md +322 -0
- package/components/TooltipMenu/TooltipMenu.md +241 -0
- package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
- package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
- package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
- package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
- package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +44 -51
- package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
- package/internal/CustomComboBox/ComboBoxView.d.ts +7 -6
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +3 -5
- package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
- package/internal/CustomComboBox/CustomComboBox.d.ts +6 -5
- package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js +5 -3
- package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js.map +1 -1
- package/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
- package/internal/DataTids/DATATIDS.md +12 -0
- package/internal/DataTids/DataTids/DataTids.js +69 -0
- package/internal/DataTids/DataTids/DataTids.js.map +1 -0
- package/internal/DataTids/DataTids/package.json +6 -0
- package/internal/DataTids/DataTids.d.ts +12 -0
- package/internal/DataTids/DataTids.styles/DataTids.styles.js +20 -0
- package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +1 -0
- package/internal/DataTids/DataTids.styles/package.json +6 -0
- package/internal/DataTids/DataTids.styles.d.ts +7 -0
- package/internal/DataTids/componentsDataTids/componentsDataTids.js +12 -0
- package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +1 -0
- package/internal/DataTids/componentsDataTids/package.json +6 -0
- package/internal/DataTids/componentsDataTids.d.ts +5 -0
- package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
- package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
- package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +249 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
- package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
- package/internal/ThemePlayground/Playground.md +7 -0
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/themes/BasicTheme/BasicTheme.js +4 -4
- package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
- package/internal/themes/BasicTheme.d.ts +2 -0
- package/internal/themes/DarkTheme5_4/DarkTheme5_4.js +4 -2
- package/internal/themes/DarkTheme5_4/DarkTheme5_4.js.map +1 -1
- package/internal/themes/LightTheme5_4/LightTheme5_4.js +4 -2
- package/internal/themes/LightTheme5_4/LightTheme5_4.js.map +1 -1
- package/internal/themes/consts/consts.js +7 -0
- package/internal/themes/consts/consts.js.map +1 -0
- package/internal/themes/consts/package.json +6 -0
- package/internal/themes/consts.d.ts +7 -0
- package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +64 -0
- package/lib/locale/LOCALECONTEXT.md +222 -0
- package/lib/theming/ThemeContext.md +265 -0
- package/package.json +6 -1
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
### Базовый пример
|
|
2
|
+
|
|
3
|
+
```jsx harmony
|
|
4
|
+
const [checked, setChecked] = React.useState(false);
|
|
5
|
+
|
|
6
|
+
<Toggle checked={checked} onValueChange={setChecked}>
|
|
7
|
+
{checked ? 'On' : 'Off'}
|
|
8
|
+
</Toggle>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
### Тогл включенный по умолчанию
|
|
12
|
+
|
|
13
|
+
```jsx harmony
|
|
14
|
+
<Toggle defaultChecked>
|
|
15
|
+
Включен по умолчанию
|
|
16
|
+
</Toggle>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Надпись слева от переключателя
|
|
20
|
+
|
|
21
|
+
```jsx harmony
|
|
22
|
+
const [checked, setChecked] = React.useState(false);
|
|
23
|
+
|
|
24
|
+
<Toggle checked={checked} onValueChange={setChecked} captionPosition="left">
|
|
25
|
+
Показывать уведомления
|
|
26
|
+
</Toggle>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Тогл с внешним `<label/>`
|
|
30
|
+
|
|
31
|
+
```jsx harmony
|
|
32
|
+
import { Gapped } from '@skbkontur/react-ui';
|
|
33
|
+
|
|
34
|
+
const [checked, setChecked] = React.useState(false);
|
|
35
|
+
|
|
36
|
+
<Gapped>
|
|
37
|
+
<Toggle id="toggle-1" checked={checked} onValueChange={setChecked}/>
|
|
38
|
+
<label htmlFor="toggle-1">Внешний label</label>
|
|
39
|
+
</Gapped>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Получение фокуса после загрузки страницы
|
|
43
|
+
|
|
44
|
+
```jsx harmony
|
|
45
|
+
<Toggle autoFocus>
|
|
46
|
+
Сразу с фокусом
|
|
47
|
+
</Toggle>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Стили
|
|
51
|
+
|
|
52
|
+
```jsx harmony
|
|
53
|
+
import { Gapped } from '@skbkontur/react-ui';
|
|
54
|
+
|
|
55
|
+
<Gapped gap="20px">
|
|
56
|
+
<Toggle warning>
|
|
57
|
+
Warning
|
|
58
|
+
</Toggle>
|
|
59
|
+
<Toggle error>
|
|
60
|
+
Error
|
|
61
|
+
</Toggle>
|
|
62
|
+
<Toggle loading>
|
|
63
|
+
Loading
|
|
64
|
+
</Toggle>
|
|
65
|
+
<Toggle disabled>
|
|
66
|
+
Disabled
|
|
67
|
+
</Toggle>
|
|
68
|
+
</Gapped>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Размер
|
|
72
|
+
|
|
73
|
+
```jsx harmony
|
|
74
|
+
import { Gapped } from '@skbkontur/react-ui';
|
|
75
|
+
|
|
76
|
+
<Gapped vertical>
|
|
77
|
+
<Toggle size="small">
|
|
78
|
+
Маленький
|
|
79
|
+
</Toggle>
|
|
80
|
+
<Toggle size="medium">
|
|
81
|
+
Средний
|
|
82
|
+
</Toggle>
|
|
83
|
+
<Toggle size="large">
|
|
84
|
+
Большой
|
|
85
|
+
</Toggle>
|
|
86
|
+
</Gapped>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Кастомное действие при получении и потере фокуса
|
|
90
|
+
|
|
91
|
+
```jsx harmony
|
|
92
|
+
import { Toast } from '@skbkontur/react-ui';
|
|
93
|
+
|
|
94
|
+
<Toggle
|
|
95
|
+
onFocus={() => Toast.push('Я получил фокус!')}
|
|
96
|
+
onBlur={() => Toast.push('И потерял его...')}
|
|
97
|
+
>
|
|
98
|
+
С кастомными действиями при фокусе и его потере
|
|
99
|
+
</Toggle>
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Кастомное действие при переключении
|
|
103
|
+
|
|
104
|
+
```jsx harmony
|
|
105
|
+
import { Toast } from '@skbkontur/react-ui';
|
|
106
|
+
|
|
107
|
+
<Toggle onChange={() => Toast.push("Запускаю кастомное действие")}>
|
|
108
|
+
Кастомное действие при переключении
|
|
109
|
+
</Toggle>
|
|
110
|
+
```
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
### Базовый пример
|
|
2
|
+
|
|
3
|
+
```jsx harmony
|
|
4
|
+
import { Token } from '@skbkontur/react-ui';
|
|
5
|
+
|
|
6
|
+
<Token>Example</Token>;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
### Состояние валидации
|
|
10
|
+
|
|
11
|
+
```jsx harmony
|
|
12
|
+
import { Gapped, Token } from '@skbkontur/react-ui';
|
|
13
|
+
|
|
14
|
+
<Gapped gap={20} vertical>
|
|
15
|
+
<Gapped gap={10}>
|
|
16
|
+
<Token>Correct</Token>
|
|
17
|
+
<Token warning>Warned</Token>
|
|
18
|
+
<Token error>Errored</Token>
|
|
19
|
+
</Gapped>
|
|
20
|
+
<Gapped gap={10}>
|
|
21
|
+
<Token isActive>Correct</Token>
|
|
22
|
+
<Token isActive warning>
|
|
23
|
+
Warned
|
|
24
|
+
</Token>
|
|
25
|
+
<Token isActive error>
|
|
26
|
+
Errored
|
|
27
|
+
</Token>
|
|
28
|
+
</Gapped>
|
|
29
|
+
</Gapped>;
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Размер
|
|
33
|
+
|
|
34
|
+
```jsx harmony
|
|
35
|
+
import { Gapped, Token } from '@skbkontur/react-ui';
|
|
36
|
+
|
|
37
|
+
<Gapped vertical>
|
|
38
|
+
<Token size="small">
|
|
39
|
+
Маленький
|
|
40
|
+
</Token>
|
|
41
|
+
<Token size="medium">
|
|
42
|
+
Средний
|
|
43
|
+
</Token>
|
|
44
|
+
<Token size="large">
|
|
45
|
+
Большой
|
|
46
|
+
</Token>
|
|
47
|
+
</Gapped>
|
|
48
|
+
```
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
### Базовый пример
|
|
2
|
+
```jsx harmony
|
|
3
|
+
import { Token } from '@skbkontur/react-ui';
|
|
4
|
+
import { TokenInputType } from '@skbkontur/react-ui/components/TokenInput';
|
|
5
|
+
|
|
6
|
+
const [selectedItems, setSelectedItems] = React.useState([]);
|
|
7
|
+
|
|
8
|
+
const delay = time => args => new Promise(resolve => setTimeout(resolve, time, args));
|
|
9
|
+
|
|
10
|
+
const getItems = q =>
|
|
11
|
+
Promise.resolve(
|
|
12
|
+
['First', 'Second', 'Third', 'Fourth', 'Fifth', 'Sixth'].filter(
|
|
13
|
+
x => x.toLowerCase().includes(q.toLowerCase()) || x.toString() === q,
|
|
14
|
+
),
|
|
15
|
+
).then(delay(500));
|
|
16
|
+
|
|
17
|
+
<div style={{ width: '300px' }}>
|
|
18
|
+
<TokenInput
|
|
19
|
+
type={TokenInputType.Combined}
|
|
20
|
+
getItems={getItems}
|
|
21
|
+
selectedItems={selectedItems}
|
|
22
|
+
onValueChange={setSelectedItems}
|
|
23
|
+
renderToken={(item, tokenProps) => (
|
|
24
|
+
<Token key={item.toString()} {...tokenProps}>
|
|
25
|
+
{item}
|
|
26
|
+
</Token>
|
|
27
|
+
)}
|
|
28
|
+
/>
|
|
29
|
+
</div>;
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Размер
|
|
33
|
+
|
|
34
|
+
```jsx harmony
|
|
35
|
+
import { Token } from '@skbkontur/react-ui';
|
|
36
|
+
import { TokenInputType } from '@skbkontur/react-ui/components/TokenInput';
|
|
37
|
+
|
|
38
|
+
const [selectedItems, setSelectedItems] = React.useState([]);
|
|
39
|
+
|
|
40
|
+
const delay = time => args => new Promise(resolve => setTimeout(resolve, time, args));
|
|
41
|
+
|
|
42
|
+
const getItems = q =>
|
|
43
|
+
Promise.resolve(
|
|
44
|
+
['First', 'Second', 'Third', 'Fourth', 'Fifth', 'Sixth'].filter(
|
|
45
|
+
x => x.toLowerCase().includes(q.toLowerCase()) || x.toString(10) === q,
|
|
46
|
+
),
|
|
47
|
+
).then(delay(500));
|
|
48
|
+
|
|
49
|
+
<div style={{ width: '300px' }}>
|
|
50
|
+
<TokenInput
|
|
51
|
+
size={'small'}
|
|
52
|
+
getItems={getItems}
|
|
53
|
+
selectedItems={selectedItems}
|
|
54
|
+
onValueChange={setSelectedItems}
|
|
55
|
+
/>
|
|
56
|
+
<TokenInput
|
|
57
|
+
size={'medium'}
|
|
58
|
+
getItems={getItems}
|
|
59
|
+
selectedItems={selectedItems}
|
|
60
|
+
onValueChange={setSelectedItems}
|
|
61
|
+
/>
|
|
62
|
+
<TokenInput
|
|
63
|
+
size={'large'}
|
|
64
|
+
getItems={getItems}
|
|
65
|
+
selectedItems={selectedItems}
|
|
66
|
+
onValueChange={setSelectedItems}
|
|
67
|
+
/>
|
|
68
|
+
</div>;
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Заблокированный TokenInput с кастомными Token
|
|
72
|
+
|
|
73
|
+
```jsx harmony
|
|
74
|
+
import { Token } from '@skbkontur/react-ui';
|
|
75
|
+
import { TokenInputType } from '@skbkontur/react-ui/components/TokenInput';
|
|
76
|
+
|
|
77
|
+
const [selectedItems, setSelectedItems] = React.useState(['aaa', 'bbb', 'ccc']);
|
|
78
|
+
|
|
79
|
+
async function getItems(query) {
|
|
80
|
+
return ['aaa', 'bbb', 'ccc'].filter((s) => s.includes(query));
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
<TokenInput
|
|
84
|
+
disabled
|
|
85
|
+
type={TokenInputType.Combined}
|
|
86
|
+
getItems={getItems}
|
|
87
|
+
selectedItems={selectedItems}
|
|
88
|
+
onValueChange={setSelectedItems}
|
|
89
|
+
renderToken={(item, tokenProps) => (
|
|
90
|
+
<Token key={item.toString()} {...tokenProps} disabled={item === 'bbb' || tokenProps.disabled} >
|
|
91
|
+
{item}
|
|
92
|
+
</Token>
|
|
93
|
+
)}
|
|
94
|
+
/>
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Ограничение количества токенов в выпадающем списке
|
|
98
|
+
|
|
99
|
+
```jsx harmony
|
|
100
|
+
import { Token } from '@skbkontur/react-ui';
|
|
101
|
+
import { TokenInputType } from '@skbkontur/react-ui/components/TokenInput';
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
const delay = time => args => new Promise(resolve => setTimeout(resolve, time, args));
|
|
105
|
+
const { cities } = require('../ComboBox/__mocks__/cities');
|
|
106
|
+
|
|
107
|
+
const maxItems = 5;
|
|
108
|
+
|
|
109
|
+
const [totalCount, setTotalCount] = React.useState(cities.length);
|
|
110
|
+
const [value, setValue] = React.useState([]);
|
|
111
|
+
|
|
112
|
+
const getItems = (query) => {
|
|
113
|
+
const items = cities
|
|
114
|
+
.map((x) => x.City)
|
|
115
|
+
.filter((x) => x.toLowerCase().includes(query.toLowerCase()) || x.toString() === query);
|
|
116
|
+
const result = items.slice(0, maxItems);
|
|
117
|
+
setTotalCount(items.length);
|
|
118
|
+
|
|
119
|
+
return Promise.resolve(result).then(delay(500));
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
const renderTotalCount = (foundCount, totalCount) => (
|
|
123
|
+
<span>
|
|
124
|
+
Показано {foundCount} из {totalCount} найденных городов
|
|
125
|
+
</span>
|
|
126
|
+
);
|
|
127
|
+
|
|
128
|
+
<div style={{ width: "300px" }}>
|
|
129
|
+
<TokenInput
|
|
130
|
+
type={TokenInputType.Combined}
|
|
131
|
+
selectedItems={value}
|
|
132
|
+
onValueChange={setValue}
|
|
133
|
+
getItems={getItems}
|
|
134
|
+
placeholder="Начните вводить название"
|
|
135
|
+
renderTotalCount={renderTotalCount}
|
|
136
|
+
totalCount={totalCount}
|
|
137
|
+
/>
|
|
138
|
+
</div>
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Кастомный тип элементов меню
|
|
142
|
+
```jsx harmony
|
|
143
|
+
import { Token } from '@skbkontur/react-ui';
|
|
144
|
+
import { TokenInputType } from '@skbkontur/react-ui/components/TokenInput';
|
|
145
|
+
|
|
146
|
+
const [selectedItems, setSelectedItems] = React.useState([]);
|
|
147
|
+
|
|
148
|
+
const delay = time => args => new Promise(resolve => setTimeout(resolve, time, args));
|
|
149
|
+
const getGenericItems = () => [
|
|
150
|
+
{ id: '111', value: 'aaa' },
|
|
151
|
+
{ id: '222', value: 'bbb' },
|
|
152
|
+
{ id: '333', value: 'ccc' },
|
|
153
|
+
{ id: '444', value: 'ddd' },
|
|
154
|
+
];
|
|
155
|
+
const renderItem = (item) => item.value;
|
|
156
|
+
const renderValue = (value) => value.value;
|
|
157
|
+
const valueToItem = (item) => ({
|
|
158
|
+
value: item,
|
|
159
|
+
});
|
|
160
|
+
const getModelItems = async (query) => {
|
|
161
|
+
await delay(400);
|
|
162
|
+
return getGenericItems().filter((s) => s.value.includes(query));
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
<div style={{ width: '300px' }}>
|
|
166
|
+
<TokenInput
|
|
167
|
+
selectedItems={selectedItems}
|
|
168
|
+
renderItem={renderItem}
|
|
169
|
+
renderValue={renderValue}
|
|
170
|
+
valueToItem={valueToItem}
|
|
171
|
+
valueToString={renderValue}
|
|
172
|
+
getItems={getModelItems}
|
|
173
|
+
onValueChange={setSelectedItems}
|
|
174
|
+
placeholder="placeholder"
|
|
175
|
+
type={TokenInputType.Combined}
|
|
176
|
+
renderToken={(item, tokenProps) => (
|
|
177
|
+
<Token
|
|
178
|
+
key={item.id}
|
|
179
|
+
{...tokenProps}
|
|
180
|
+
>
|
|
181
|
+
{item.value}
|
|
182
|
+
</Token>
|
|
183
|
+
)}
|
|
184
|
+
/>
|
|
185
|
+
</div>;
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Дебаунс функции getItems
|
|
189
|
+
|
|
190
|
+
Функция debounce из lodash некорректно работает с async/promise, поэтому лучше использовать кастомную функцию, как в примере ниже.
|
|
191
|
+
|
|
192
|
+
```jsx harmony
|
|
193
|
+
import { TokenInput } from "@skbkontur/react-ui";
|
|
194
|
+
import { TokenInputType } from "@skbkontur/react-ui/components/TokenInput";
|
|
195
|
+
|
|
196
|
+
const [value, setValue] = React.useState([]);
|
|
197
|
+
|
|
198
|
+
function debounceAsync(callback, wait) {
|
|
199
|
+
let timeoutId = null;
|
|
200
|
+
|
|
201
|
+
return (...args) => {
|
|
202
|
+
if (timeoutId) {
|
|
203
|
+
clearTimeout(timeoutId);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
return new Promise((resolve) => {
|
|
207
|
+
const timeoutPromise = new Promise((resolve) => {
|
|
208
|
+
timeoutId = setTimeout(resolve, wait);
|
|
209
|
+
});
|
|
210
|
+
timeoutPromise.then(async () => {
|
|
211
|
+
resolve(await callback(...args));
|
|
212
|
+
});
|
|
213
|
+
});
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
const items = ["kon", "kod", "kof", "kor", "kos"];
|
|
218
|
+
|
|
219
|
+
const getItems = async (query) => {
|
|
220
|
+
console.log("query: ", query);
|
|
221
|
+
return items.filter((item) => item.includes(query));
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
<TokenInput
|
|
225
|
+
style={{ width: "300px" }}
|
|
226
|
+
type={TokenInputType.Combined}
|
|
227
|
+
selectedItems={value}
|
|
228
|
+
onValueChange={setValue}
|
|
229
|
+
getItems={debounceAsync(getItems, 300)}
|
|
230
|
+
placeholder="Начните вводить название"
|
|
231
|
+
/>
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### Типизированная версия функции
|
|
235
|
+
|
|
236
|
+
```typescript static
|
|
237
|
+
function debounceAsync<T, Callback extends (...args: any[]) => Promise<T>>(
|
|
238
|
+
callback: Callback,
|
|
239
|
+
wait: number,
|
|
240
|
+
): (...args: Parameters<Callback>) => Promise<T> {
|
|
241
|
+
let timeoutId: number | null = null;
|
|
242
|
+
|
|
243
|
+
return (...args: any[]) => {
|
|
244
|
+
if (timeoutId) {
|
|
245
|
+
clearTimeout(timeoutId);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
return new Promise<T>((resolve) => {
|
|
249
|
+
const timeoutPromise = new Promise<void>((resolve) => {
|
|
250
|
+
timeoutId = setTimeout(resolve, wait);
|
|
251
|
+
});
|
|
252
|
+
timeoutPromise.then(async () => {
|
|
253
|
+
resolve(await callback(...args));
|
|
254
|
+
});
|
|
255
|
+
});
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
### Локали по умолчанию
|
|
261
|
+
|
|
262
|
+
```typescript static
|
|
263
|
+
interface TokenInputLocale {
|
|
264
|
+
addButtonComment?: string;
|
|
265
|
+
addButtonTitle?: string;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
const ru_RU = {
|
|
269
|
+
addButtonComment: 'Нажмите запятую',
|
|
270
|
+
addButtonTitle: 'Добавить',
|
|
271
|
+
};
|
|
272
|
+
|
|
273
|
+
const en_GB = {
|
|
274
|
+
addButtonComment: 'Type comma',
|
|
275
|
+
addButtonTitle: 'Add',
|
|
276
|
+
};
|
|
277
|
+
```
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { SizeProp } from '
|
|
2
|
+
import type { SizeProp } from 'react-ui/lib/types/props';
|
|
3
3
|
import type { PopupPositionsType, ShortPopupPositionsType } from '../../internal/Popup';
|
|
4
4
|
import type { Nullable } from '../../typings/utility-types';
|
|
5
5
|
import type { CommonProps } from '../../internal/CommonWrapper';
|
|
@@ -27,7 +27,6 @@ var _isInstanceOf = require("../../lib/isInstanceOf");
|
|
|
27
27
|
|
|
28
28
|
var _featureFlagsContext = require("../../lib/featureFlagsContext");
|
|
29
29
|
var _Emotion = require("../../lib/theming/Emotion");
|
|
30
|
-
var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
|
|
31
30
|
|
|
32
31
|
var _Tooltip2 = require("./Tooltip.styles");var _class, _Tooltip;
|
|
33
32
|
|
|
@@ -118,7 +117,7 @@ var TooltipDataTids = exports.TooltipDataTids = {
|
|
|
118
117
|
crossIcon: 'Tooltip__crossIcon'
|
|
119
118
|
};
|
|
120
119
|
|
|
121
|
-
var
|
|
120
|
+
var OldPositions = [
|
|
122
121
|
'right bottom',
|
|
123
122
|
'right middle',
|
|
124
123
|
'right top',
|
|
@@ -375,10 +374,9 @@ Tooltip = exports.Tooltip = (0, _rootNode.rootNode)(_class = (_Tooltip = /*#__PU
|
|
|
375
374
|
|
|
376
375
|
|
|
377
376
|
|
|
378
|
-
getPositions = function () {
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
DefaultPositions);};_this.
|
|
377
|
+
getPositions = function () {
|
|
378
|
+
return _this.props.allowedPositions;
|
|
379
|
+
};_this.
|
|
382
380
|
|
|
383
381
|
refContent = function (node) {
|
|
384
382
|
_this.contentElement = node;
|
|
@@ -611,7 +609,7 @@ Tooltip = exports.Tooltip = (0, _rootNode.rootNode)(_class = (_Tooltip = /*#__PU
|
|
|
611
609
|
margin: _this.theme.tooltipMarginSmall
|
|
612
610
|
};
|
|
613
611
|
}
|
|
614
|
-
};return _this;}(0, _inheritsLoose2.default)(Tooltip, _React$PureComponent);var _proto = Tooltip.prototype;_proto.validateProps = function validateProps(props) {(0, _warning.default)(props.children || props.anchorElement, "[Tooltip]: you must provide either 'children' or 'anchorElement' prop for Tooltip to work properly");};_proto.getAllowedPositions = function getAllowedPositions() {return this.props.allowedPositions ? this.props.allowedPositions :
|
|
612
|
+
};return _this;}(0, _inheritsLoose2.default)(Tooltip, _React$PureComponent);var _proto = Tooltip.prototype;_proto.validateProps = function validateProps(props) {(0, _warning.default)(props.children || props.anchorElement, "[Tooltip]: you must provide either 'children' or 'anchorElement' prop for Tooltip to work properly");};_proto.getAllowedPositions = function getAllowedPositions() {return this.props.allowedPositions ? this.props.allowedPositions : OldPositions;};_proto.componentDidMount = function componentDidMount() {this.validateProps(this.getProps());};_proto.componentDidUpdate = function componentDidUpdate() {var _this$getProps = this.getProps(),trigger = _this$getProps.trigger;this.validateProps(this.getProps());if (trigger === 'closed' && this.state.opened) {this.close();}};_proto.componentWillUnmount = function componentWillUnmount() {this.clearHoverTimeout();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_featureFlagsContext.ReactUIFeatureFlagsContext.Consumer, null, function (flags) {_this2.featureFlags = (0, _featureFlagsContext.getFullReactUIFlagsContext)(flags);return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;_this2.sizeVariables = _this2.getSizeVariables();return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ popupBackground: theme.tooltipBg, popupBorder: theme.tooltipBorder, popupBorderRadius: _this2.sizeVariables.borderRadius, popupPinSize: _this2.sizeVariables.pinSize, popupPinOffsetX: _this2.sizeVariables.pinOffsetX, popupPinOffsetY: _this2.sizeVariables.pinOffsetY, popupMargin: _this2.sizeVariables.margin }, theme) }, _this2.renderMain());});});};_proto.renderCloseButton = function renderCloseButton() {var hasCross = this.props.closeButton === undefined ? !Tooltip.triggersWithoutCloseButton.includes(this.getProps().trigger) : this.props.closeButton;if (!hasCross) {return null;}var icon = /*#__PURE__*/_react.default.createElement(_CloseButtonIcon.CloseButtonIcon, { tabbable: false, side: parseInt(this.theme.tooltipCloseBtnSide), color: this.theme.tooltipCloseBtnColor, colorHover: this.theme.tooltipCloseBtnHoverColor });return /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Tooltip2.styles.closeButton(this.theme), this.sizeVariables.closeButtonStyle), onClick: this.handleCloseButtonClick, "data-tid": TooltipDataTids.crossIcon }, icon);}; /**
|
|
615
613
|
* Программно открывает тултип.
|
|
616
614
|
* <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>
|
|
617
615
|
* @public
|
|
@@ -619,4 +617,4 @@ Tooltip = exports.Tooltip = (0, _rootNode.rootNode)(_class = (_Tooltip = /*#__PU
|
|
|
619
617
|
* Программно закрывает тултип.
|
|
620
618
|
* <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>
|
|
621
619
|
* @public
|
|
622
|
-
*/;_proto.hide = function hide() {var trigger = this.getProps().trigger;if (trigger === 'opened' || trigger === 'closed') {(0, _warning.default)(true, "Function 'hide' is not supported with trigger specified '" + trigger + "'");return;}this.close();};_proto.renderMain = function renderMain() {var props = this.props;var content = this.renderContent();var _this$getPopupAndLaye = this.getPopupAndLayerProps(),popupProps = _this$getPopupAndLaye.popupProps,_this$getPopupAndLaye2 = _this$getPopupAndLaye.layerProps,layerProps = _this$getPopupAndLaye2 === void 0 ? { active: false } : _this$getPopupAndLaye2;var anchorElement = props.children || props.anchorElement;var popup = this.renderPopup(anchorElement, popupProps, content);return /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, (0, _extends2.default)({}, layerProps, { getAnchorElement: this.getAnchorElement }), popup);};_proto.renderPopup = function renderPopup(anchorElement, popupProps, content) {var _this$getProps2 = this.getProps(),disableAnimations = _this$getProps2.disableAnimations,trigger = _this$getProps2.trigger;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_Popup.Popup, (0, _extends2.default)({ "data-tid": TooltipDataTids.root, anchorElement: anchorElement, hasPin: true, hasShadow: true, maxWidth: "none", opened: this.state.opened, disableAnimations: disableAnimations, positions:
|
|
620
|
+
*/;_proto.hide = function hide() {var trigger = this.getProps().trigger;if (trigger === 'opened' || trigger === 'closed') {(0, _warning.default)(true, "Function 'hide' is not supported with trigger specified '" + trigger + "'");return;}this.close();};_proto.renderMain = function renderMain() {var props = this.props;var content = this.renderContent();var _this$getPopupAndLaye = this.getPopupAndLayerProps(),popupProps = _this$getPopupAndLaye.popupProps,_this$getPopupAndLaye2 = _this$getPopupAndLaye.layerProps,layerProps = _this$getPopupAndLaye2 === void 0 ? { active: false } : _this$getPopupAndLaye2;var anchorElement = props.children || props.anchorElement;var popup = this.renderPopup(anchorElement, popupProps, content);return /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, (0, _extends2.default)({}, layerProps, { getAnchorElement: this.getAnchorElement }), popup);};_proto.renderPopup = function renderPopup(anchorElement, popupProps, content) {var _this$getProps2 = this.getProps(),disableAnimations = _this$getProps2.disableAnimations,trigger = _this$getProps2.trigger;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(_Popup.Popup, (0, _extends2.default)({ "data-tid": TooltipDataTids.root, anchorElement: anchorElement, hasPin: true, hasShadow: true, maxWidth: "none", opened: this.state.opened, disableAnimations: disableAnimations, positions: this.getPositions(), pos: this.props.pos, ignoreHover: trigger === 'hoverAnchor', onOpen: this.props.onOpen, onClose: this.props.onClose, tryPreserveFirstRenderedPosition: true, ref: this.popupRef, withoutMobile: true }, popupProps), content));};_proto.getPopupAndLayerProps = function getPopupAndLayerProps() {var props = this.props;var useWrapper = !!props.children && this.getProps().useWrapper;var trigger = this.getProps().trigger;switch (trigger) {case 'opened':return { layerProps: { active: true, onClickOutside: this.handleClickOutsideAnchor }, popupProps: { opened: true, useWrapper: useWrapper } };case 'closed':return { popupProps: { opened: false, useWrapper: useWrapper } };case 'hoverAnchor':case 'hover':return { popupProps: { onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, useWrapper: useWrapper } };case 'manual':return { popupProps: { useWrapper: useWrapper } };case 'click':return { layerProps: { active: this.state.opened, onClickOutside: this.handleClickOutsideAnchor }, popupProps: { onClick: this.handleClick, useWrapper: useWrapper } };case 'focus':return { popupProps: { onFocus: this.handleFocus, onBlur: this.handleBlur, useWrapper: useWrapper } };case 'hover&focus':return { layerProps: { active: this.state.opened, onClickOutside: this.handleClickOutsideAnchor }, popupProps: { onFocus: this.handleFocus, onBlur: this.handleBlur, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, useWrapper: useWrapper } };default:throw new Error('Unknown trigger specified: ' + trigger);}};_proto.clearHoverTimeout = function clearHoverTimeout() {if (this.hoverTimeout) {_globalObject.globalObject.clearTimeout(this.hoverTimeout);this.hoverTimeout = null;}};_proto.isClickOutsideContent = function isClickOutsideContent(event) {if (this.contentElement && (0, _isInstanceOf.isInstanceOf)(event.target, _globalObject.globalObject.Element)) {return !(0, _listenFocusOutside.containsTargetOrRenderContainer)(event.target)(this.contentElement);}return true;};return Tooltip;}(_react.default.PureComponent), _Tooltip.__KONTUR_REACT_UI__ = 'Tooltip', _Tooltip.displayName = 'Tooltip', _Tooltip.defaultProps = { size: 'small', trigger: 'hover', disableAnimations: _currentEnvironment.isTestEnv, useWrapper: false, delayBeforeShow: DEFAULT_DELAY }, _Tooltip.delay = DEFAULT_DELAY, _Tooltip.triggersWithoutCloseButton = ['hover', 'hoverAnchor', 'focus', 'hover&focus'], _Tooltip)) || _class;
|