@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,241 @@
|
|
|
1
|
+
### Базовый пример
|
|
2
|
+
|
|
3
|
+
```jsx harmony
|
|
4
|
+
import { Button, MenuHeader, MenuItem, MenuSeparator } from '@skbkontur/react-ui';
|
|
5
|
+
|
|
6
|
+
<TooltipMenu caption={<Button use="primary">Открыть меню</Button>}>
|
|
7
|
+
<MenuHeader>Заголовок меню</MenuHeader>
|
|
8
|
+
<MenuSeparator />
|
|
9
|
+
<MenuItem>Раз</MenuItem>
|
|
10
|
+
<MenuItem>Два</MenuItem>
|
|
11
|
+
<MenuItem>Три</MenuItem>
|
|
12
|
+
<MenuSeparator />
|
|
13
|
+
<MenuItem>Раз</MenuItem>
|
|
14
|
+
<MenuItem>Два</MenuItem>
|
|
15
|
+
<MenuItem>Три</MenuItem>
|
|
16
|
+
</TooltipMenu>;
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Управление состоянием тултип-меню
|
|
20
|
+
В проп `caption` помимо компонента можно передать функцию, возвращающую компонент, с помощью которой можно управлять текущим состоянием тултип-меню.
|
|
21
|
+
|
|
22
|
+
```jsx harmony
|
|
23
|
+
import { Button, MenuHeader, MenuItem, MenuSeparator } from '@skbkontur/react-ui';
|
|
24
|
+
|
|
25
|
+
<TooltipMenu caption={({ opened, openMenu, closeMenu, toggleMenu }) => {
|
|
26
|
+
return (
|
|
27
|
+
<>
|
|
28
|
+
<p>Сейчас тултип-меню { opened ? 'окрыто' : 'закрыто' }</p>
|
|
29
|
+
<Button onClick={toggleMenu}>Переключить меню</Button>
|
|
30
|
+
<Button onClick={openMenu}>Открыть меню</Button>
|
|
31
|
+
<Button onClick={closeMenu}>Закрыть меню</Button>
|
|
32
|
+
</>
|
|
33
|
+
)
|
|
34
|
+
}}>
|
|
35
|
+
<MenuHeader>Заголовок меню</MenuHeader>
|
|
36
|
+
<MenuSeparator />
|
|
37
|
+
<MenuItem>Раз</MenuItem>
|
|
38
|
+
<MenuItem>Два</MenuItem>
|
|
39
|
+
<MenuItem>Три</MenuItem>
|
|
40
|
+
<MenuSeparator />
|
|
41
|
+
<MenuItem>Раз</MenuItem>
|
|
42
|
+
<MenuItem>Два</MenuItem>
|
|
43
|
+
<MenuItem>Три</MenuItem>
|
|
44
|
+
</TooltipMenu>;
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Ширина
|
|
48
|
+
|
|
49
|
+
```jsx harmony
|
|
50
|
+
import { Button, MenuHeader, MenuItem, MenuSeparator } from '@skbkontur/react-ui';
|
|
51
|
+
|
|
52
|
+
<TooltipMenu
|
|
53
|
+
caption={<Button use="primary">Открыть меню с заданной шириной</Button>}
|
|
54
|
+
menuWidth={350}
|
|
55
|
+
>
|
|
56
|
+
<MenuHeader>Заголовок меню</MenuHeader>
|
|
57
|
+
<MenuSeparator />
|
|
58
|
+
<MenuItem>Раз</MenuItem>
|
|
59
|
+
<MenuItem>Два</MenuItem>
|
|
60
|
+
<MenuItem>Три</MenuItem>
|
|
61
|
+
<MenuSeparator />
|
|
62
|
+
<MenuItem>Раз</MenuItem>
|
|
63
|
+
<MenuItem>Два</MenuItem>
|
|
64
|
+
<MenuItem>Три</MenuItem>
|
|
65
|
+
</TooltipMenu>;
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Максимальная высота
|
|
69
|
+
|
|
70
|
+
```jsx harmony
|
|
71
|
+
import { Button, MenuHeader, MenuItem, MenuSeparator } from '@skbkontur/react-ui';
|
|
72
|
+
|
|
73
|
+
<TooltipMenu
|
|
74
|
+
caption={<Button use="primary">Открыть меню с заданной высотой</Button>}
|
|
75
|
+
menuMaxHeight={150}
|
|
76
|
+
>
|
|
77
|
+
<MenuHeader>Заголовок меню</MenuHeader>
|
|
78
|
+
<MenuSeparator />
|
|
79
|
+
<MenuItem>Раз</MenuItem>
|
|
80
|
+
<MenuItem>Два</MenuItem>
|
|
81
|
+
<MenuItem>Три</MenuItem>
|
|
82
|
+
<MenuSeparator />
|
|
83
|
+
<MenuItem>Раз</MenuItem>
|
|
84
|
+
<MenuItem>Два</MenuItem>
|
|
85
|
+
<MenuItem>Три</MenuItem>
|
|
86
|
+
</TooltipMenu>;
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Отключенная анимация
|
|
90
|
+
|
|
91
|
+
```jsx harmony
|
|
92
|
+
import { Button, MenuHeader, MenuItem, MenuSeparator } from '@skbkontur/react-ui';
|
|
93
|
+
|
|
94
|
+
<TooltipMenu
|
|
95
|
+
disableAnimations
|
|
96
|
+
caption={<Button use="primary">Открыть меню без анимации</Button>}
|
|
97
|
+
>
|
|
98
|
+
<MenuHeader>Заголовок меню</MenuHeader>
|
|
99
|
+
<MenuSeparator />
|
|
100
|
+
<MenuItem>Раз</MenuItem>
|
|
101
|
+
<MenuItem>Два</MenuItem>
|
|
102
|
+
<MenuItem>Три</MenuItem>
|
|
103
|
+
</TooltipMenu>;
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Подпись
|
|
107
|
+
В `caption` можно передать любой элемент.
|
|
108
|
+
|
|
109
|
+
```jsx harmony
|
|
110
|
+
import { MenuItem } from '@skbkontur/react-ui';
|
|
111
|
+
import { UiMenuBars3HIcon16Regular } from '@skbkontur/icons/icons/UiMenuBars3HIcon/UiMenuBars3HIcon16Regular';
|
|
112
|
+
|
|
113
|
+
<TooltipMenu
|
|
114
|
+
caption={
|
|
115
|
+
<span style={{ display: 'inline-block' }} tabIndex="0">
|
|
116
|
+
<UiMenuBars3HIcon16Regular size={32} />
|
|
117
|
+
</span>
|
|
118
|
+
}
|
|
119
|
+
menuWidth="300px"
|
|
120
|
+
>
|
|
121
|
+
<MenuItem>Раз</MenuItem>
|
|
122
|
+
<MenuItem>Два</MenuItem>
|
|
123
|
+
<MenuItem>Три</MenuItem>
|
|
124
|
+
</TooltipMenu>;
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Тултип-меню всегда всплывающее справа от `caption`
|
|
128
|
+
|
|
129
|
+
```jsx harmony
|
|
130
|
+
import { MenuItem } from '@skbkontur/react-ui';
|
|
131
|
+
import { LightbulbIcon16Regular } from '@skbkontur/icons/icons/LightbulbIcon/LightbulbIcon16Regular';
|
|
132
|
+
|
|
133
|
+
<TooltipMenu
|
|
134
|
+
caption={
|
|
135
|
+
<span style={{ display: 'inline-block' }} tabIndex="0">
|
|
136
|
+
<LightbulbIcon16Regular size={32} />
|
|
137
|
+
</span>
|
|
138
|
+
}
|
|
139
|
+
menuWidth="300px"
|
|
140
|
+
positions={['right top', 'right middle', 'right bottom']}
|
|
141
|
+
>
|
|
142
|
+
<MenuItem>Раз</MenuItem>
|
|
143
|
+
<MenuItem>Два</MenuItem>
|
|
144
|
+
<MenuItem>Три</MenuItem>
|
|
145
|
+
</TooltipMenu>;
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Тултип-меню всегда всплывающее сверху от `caption` и выравненное по правому краю `caption`
|
|
149
|
+
|
|
150
|
+
```jsx harmony
|
|
151
|
+
import { MenuItem } from '@skbkontur/react-ui';
|
|
152
|
+
import { LightbulbIcon16Regular } from '@skbkontur/icons/icons/LightbulbIcon/LightbulbIcon16Regular';
|
|
153
|
+
|
|
154
|
+
<TooltipMenu
|
|
155
|
+
caption={
|
|
156
|
+
<span style={{ display: 'inline-block' }} tabIndex="0">
|
|
157
|
+
<LightbulbIcon16Regular size={32} />
|
|
158
|
+
</span>
|
|
159
|
+
}
|
|
160
|
+
menuWidth="300px"
|
|
161
|
+
positions={['top right']}
|
|
162
|
+
>
|
|
163
|
+
<MenuItem>Раз</MenuItem>
|
|
164
|
+
<MenuItem>Два</MenuItem>
|
|
165
|
+
<MenuItem>Три</MenuItem>
|
|
166
|
+
</TooltipMenu>;
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Тултип-меню c шапкой и подвалом
|
|
170
|
+
|
|
171
|
+
```jsx harmony
|
|
172
|
+
import { Button, MenuHeader, MenuItem, MenuSeparator } from '@skbkontur/react-ui';
|
|
173
|
+
|
|
174
|
+
<TooltipMenu
|
|
175
|
+
header={<p>Это шапка в виде обычного текста</p>}
|
|
176
|
+
footer={<Button>А это подвал в виде кнопки</Button>}
|
|
177
|
+
caption={<Button use="primary">Открыть меню</Button>}
|
|
178
|
+
>
|
|
179
|
+
<MenuItem>Раз</MenuItem>
|
|
180
|
+
<MenuItem>Два</MenuItem>
|
|
181
|
+
<MenuItem>Три</MenuItem>
|
|
182
|
+
</TooltipMenu>;
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Иконки и автовыравнивание
|
|
186
|
+
|
|
187
|
+
```jsx harmony
|
|
188
|
+
import { Button, MenuHeader, MenuItem, MenuSeparator, TooltipMenu } from '@skbkontur/react-ui';
|
|
189
|
+
import { PlusIcon16Regular } from '@skbkontur/icons/icons/PlusIcon/PlusIcon16Regular';
|
|
190
|
+
|
|
191
|
+
<TooltipMenu caption={<Button use="primary">Открыть меню</Button>}>
|
|
192
|
+
<MenuHeader>MenuHeader</MenuHeader>
|
|
193
|
+
<MenuItem icon={<PlusIcon16Regular />}>MenuItem1</MenuItem>
|
|
194
|
+
<MenuItem icon={<PlusIcon16Regular />}>MenuItem2</MenuItem>
|
|
195
|
+
<MenuItem>MenuItem3</MenuItem>
|
|
196
|
+
</TooltipMenu>;
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Иконки и автовыравнивание
|
|
200
|
+
|
|
201
|
+
```jsx harmony
|
|
202
|
+
import { Button, MenuHeader, MenuItem, MenuSeparator, TooltipMenu } from '@skbkontur/react-ui';
|
|
203
|
+
import { PlusIcon16Regular } from '@skbkontur/icons/icons/PlusIcon/PlusIcon16Regular';
|
|
204
|
+
|
|
205
|
+
<TooltipMenu preventIconsOffset caption={<Button use="primary">Открыть меню</Button>}>
|
|
206
|
+
<MenuHeader>MenuHeader</MenuHeader>
|
|
207
|
+
<MenuItem icon={<PlusIcon16Regular />}>MenuItem1</MenuItem>
|
|
208
|
+
<MenuItem icon={<PlusIcon16Regular />}>MenuItem2</MenuItem>
|
|
209
|
+
<MenuItem>MenuItem3</MenuItem>
|
|
210
|
+
</TooltipMenu>
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Условный рендер элементов тултип-меню
|
|
214
|
+
(с сохранением поведения [MenuItem](#/Components/MenuItem)).
|
|
215
|
+
|
|
216
|
+
```jsx harmony
|
|
217
|
+
import {Button, MenuItem, Gapped, MenuSeparator} from '@skbkontur/react-ui';
|
|
218
|
+
|
|
219
|
+
const [showItems, setShowItems] = React.useState(false);
|
|
220
|
+
|
|
221
|
+
const hiddenItems = [
|
|
222
|
+
<MenuSeparator />,
|
|
223
|
+
<MenuItem>А я скрываюсь</MenuItem>,
|
|
224
|
+
<MenuItem>И я</MenuItem>,
|
|
225
|
+
<MenuItem>Я с вами</MenuItem>,
|
|
226
|
+
];
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
<Gapped>
|
|
230
|
+
<Button onClick={() => setShowItems(!showItems)}>
|
|
231
|
+
{showItems ? 'Спрятать' : 'Показать'} элементы
|
|
232
|
+
</Button>
|
|
233
|
+
|
|
234
|
+
<TooltipMenu caption={<Button use="primary">Открыть меню</Button>}>
|
|
235
|
+
<MenuItem>Меня видно всегда</MenuItem>
|
|
236
|
+
<MenuItem>Меня тоже</MenuItem>
|
|
237
|
+
<MenuItem>Ага, и меня!</MenuItem>
|
|
238
|
+
{showItems && hiddenItems}
|
|
239
|
+
</TooltipMenu>
|
|
240
|
+
</Gapped>
|
|
241
|
+
```
|
|
@@ -6,5 +6,6 @@ export interface ClearCrossIconProps extends Pick<AriaAttributes, 'aria-label'>,
|
|
|
6
6
|
/** Ширина и высота иконки крестика
|
|
7
7
|
* @default small */
|
|
8
8
|
size?: SizeProp;
|
|
9
|
+
'data-tid'?: string;
|
|
9
10
|
}
|
|
10
11
|
export declare const ClearCrossIcon: React.FunctionComponent<ClearCrossIconProps>;
|
|
@@ -11,7 +11,7 @@ var _CommonWrapper = require("../CommonWrapper");
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
var _ClearCrossIcon = require("./ClearCrossIcon.styles");
|
|
14
|
-
var _CrossIcon = require("./CrossIcon");var _excluded = ["size", "style"];
|
|
14
|
+
var _CrossIcon = require("./CrossIcon");var _excluded = ["size", "style", "data-tid"];
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
@@ -22,17 +22,23 @@ var _CrossIcon = require("./CrossIcon");var _excluded = ["size", "style"];
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
|
|
26
|
+
var ClearCrossIcon = exports.ClearCrossIcon = function ClearCrossIcon(_ref)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
{var _ref$size = _ref.size,size = _ref$size === void 0 ? 'small' : _ref$size,style = _ref.style,dataTid = _ref['data-tid'],rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
26
32
|
var theme = _react.default.useContext(_ThemeContext.ThemeContext);
|
|
27
|
-
var
|
|
33
|
+
var getSizeClassNames = function getSizeClassNames(size) {
|
|
28
34
|
switch (size) {
|
|
29
35
|
case 'large':
|
|
30
|
-
return _ClearCrossIcon.styles.clearCrossLarge(theme);
|
|
36
|
+
return { button: _ClearCrossIcon.styles.clearCrossLarge(theme), span: _ClearCrossIcon.styles.relativeWidthLarge(theme) };
|
|
31
37
|
case 'medium':
|
|
32
|
-
return _ClearCrossIcon.styles.clearCrossMedium(theme);
|
|
38
|
+
return { button: _ClearCrossIcon.styles.clearCrossMedium(theme), span: _ClearCrossIcon.styles.relativeWidthMedium(theme) };
|
|
33
39
|
case 'small':
|
|
34
40
|
default:
|
|
35
|
-
return _ClearCrossIcon.styles.clearCrossSmall(theme);
|
|
41
|
+
return { button: _ClearCrossIcon.styles.clearCrossSmall(theme), span: _ClearCrossIcon.styles.relativeWidthSmall(theme) };
|
|
36
42
|
}
|
|
37
43
|
};
|
|
38
44
|
|
|
@@ -50,14 +56,16 @@ var ClearCrossIcon = exports.ClearCrossIcon = function ClearCrossIcon(_ref) {var
|
|
|
50
56
|
|
|
51
57
|
return /*#__PURE__*/(
|
|
52
58
|
_react.default.createElement(_CommonWrapper.CommonWrapper, rest, /*#__PURE__*/
|
|
59
|
+
_react.default.createElement("span", { className: getSizeClassNames(size).span }, /*#__PURE__*/
|
|
53
60
|
_react.default.createElement("button", (0, _extends2.default)({
|
|
61
|
+
"data-tid": dataTid,
|
|
54
62
|
type: "button",
|
|
55
63
|
tabIndex: -1,
|
|
56
64
|
className: (0, _Emotion.cx)(
|
|
57
65
|
_ClearCrossIcon.styles.root(theme),
|
|
58
66
|
// Todo: use &:focus-visible on root instead styles.focus. It supported on Chrome >= 86, Firefox >= 4, Safari >= 15.4
|
|
59
67
|
focusedByTab && _ClearCrossIcon.styles.focus(theme),
|
|
60
|
-
|
|
68
|
+
getSizeClassNames(size).button
|
|
61
69
|
),
|
|
62
70
|
style: style,
|
|
63
71
|
onFocus: handleFocus,
|
|
@@ -66,6 +74,7 @@ var ClearCrossIcon = exports.ClearCrossIcon = function ClearCrossIcon(_ref) {var
|
|
|
66
74
|
|
|
67
75
|
_react.default.createElement(_CrossIcon.CrossIcon, { size: size, focusable: true })
|
|
68
76
|
)
|
|
77
|
+
)
|
|
69
78
|
));
|
|
70
79
|
|
|
71
80
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_Emotion","_keyListener","_ThemeContext","_CommonWrapper","_ClearCrossIcon","_CrossIcon","_excluded","ClearCrossIcon","exports","_ref","_ref$size","size","style","rest","_objectWithoutPropertiesLoose2","default","theme","React","useContext","ThemeContext","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_Emotion","_keyListener","_ThemeContext","_CommonWrapper","_ClearCrossIcon","_CrossIcon","_excluded","ClearCrossIcon","exports","_ref","_ref$size","size","style","dataTid","rest","_objectWithoutPropertiesLoose2","default","theme","React","useContext","ThemeContext","getSizeClassNames","button","styles","clearCrossLarge","span","relativeWidthLarge","clearCrossMedium","relativeWidthMedium","clearCrossSmall","relativeWidthSmall","_React$useState","useState","focusedByTab","setFocusedByTab","handleFocus","globalObject","requestAnimationFrame","keyListener","isTabPressed","handleBlur","createElement","CommonWrapper","className","_extends2","type","tabIndex","cx","root","focus","onFocus","onBlur","CrossIcon","focusable","__KONTUR_REACT_UI__","displayName"],"sources":["ClearCrossIcon.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { cx } from '../../lib/theming/Emotion';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { TokenSize } from '../../components/Token';\n\nimport { styles } from './ClearCrossIcon.styles';\nimport { CrossIcon } from './CrossIcon';\n\nexport interface ClearCrossIconProps\n extends Pick<AriaAttributes, 'aria-label'>,\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n CommonProps {\n /** Ширина и высота иконки крестика\n * @default small */\n size?: SizeProp;\n 'data-tid'?: string;\n}\n\nexport const ClearCrossIcon: React.FunctionComponent<ClearCrossIconProps> = ({\n size = 'small',\n style,\n 'data-tid': dataTid,\n ...rest\n}) => {\n const theme = React.useContext(ThemeContext);\n const getSizeClassNames = (size: TokenSize) => {\n switch (size) {\n case 'large':\n return { button: styles.clearCrossLarge(theme), span: styles.relativeWidthLarge(theme) };\n case 'medium':\n return { button: styles.clearCrossMedium(theme), span: styles.relativeWidthMedium(theme) };\n case 'small':\n default:\n return { button: styles.clearCrossSmall(theme), span: styles.relativeWidthSmall(theme) };\n }\n };\n\n const [focusedByTab, setFocusedByTab] = React.useState<boolean>(false);\n\n const handleFocus = () => {\n // focus event fires before keyDown eventlistener so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n setFocusedByTab(true);\n }\n });\n };\n const handleBlur = () => setFocusedByTab(false);\n\n return (\n <CommonWrapper {...rest}>\n <span className={getSizeClassNames(size).span}>\n <button\n data-tid={dataTid}\n type=\"button\"\n tabIndex={-1}\n className={cx(\n styles.root(theme),\n // Todo: use &:focus-visible on root instead styles.focus. It supported on Chrome >= 86, Firefox >= 4, Safari >= 15.4\n focusedByTab && styles.focus(theme),\n getSizeClassNames(size).button,\n )}\n style={style}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...rest}\n >\n <CrossIcon size={size} focusable />\n </button>\n </span>\n </CommonWrapper>\n );\n};\n\nClearCrossIcon.__KONTUR_REACT_UI__ = 'ClearCrossIcon';\nClearCrossIcon.displayName = 'ClearCrossIcon';\n"],"mappings":";AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;;AAEA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;;AAEA,IAAAK,cAAA,GAAAL,OAAA;;;;AAIA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA,gBAAwC,IAAAQ,SAAA;;;;;;;;;;;;AAYjC,IAAMC,cAA4D,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAA/DA,cAA4DA,CAAAE,IAAA;;;;;AAKnE,KAAAC,SAAA,GAAAD,IAAA,CAJJE,IAAI,CAAJA,IAAI,GAAAD,SAAA,cAAG,OAAO,GAAAA,SAAA,CACdE,KAAK,GAAAH,IAAA,CAALG,KAAK,CACOC,OAAO,GAAAJ,IAAA,CAAnB,UAAU,EACPK,IAAI,OAAAC,8BAAA,CAAAC,OAAA,EAAAP,IAAA,EAAAH,SAAA;EAEP,IAAMW,KAAK,GAAGC,cAAK,CAACC,UAAU,CAACC,0BAAY,CAAC;EAC5C,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIV,IAAe,EAAK;IAC7C,QAAQA,IAAI;MACV,KAAK,OAAO;QACV,OAAO,EAAEW,MAAM,EAAEC,sBAAM,CAACC,eAAe,CAACP,KAAK,CAAC,EAAEQ,IAAI,EAAEF,sBAAM,CAACG,kBAAkB,CAACT,KAAK,CAAC,CAAC,CAAC;MAC1F,KAAK,QAAQ;QACX,OAAO,EAAEK,MAAM,EAAEC,sBAAM,CAACI,gBAAgB,CAACV,KAAK,CAAC,EAAEQ,IAAI,EAAEF,sBAAM,CAACK,mBAAmB,CAACX,KAAK,CAAC,CAAC,CAAC;MAC5F,KAAK,OAAO;MACZ;QACE,OAAO,EAAEK,MAAM,EAAEC,sBAAM,CAACM,eAAe,CAACZ,KAAK,CAAC,EAAEQ,IAAI,EAAEF,sBAAM,CAACO,kBAAkB,CAACb,KAAK,CAAC,CAAC,CAAC;IAC5F;EACF,CAAC;;EAED,IAAAc,eAAA,GAAwCb,cAAK,CAACc,QAAQ,CAAU,KAAK,CAAC,CAA/DC,YAAY,GAAAF,eAAA,IAAEG,eAAe,GAAAH,eAAA;;EAEpC,IAAMI,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAS;IACxB;IACAC,0BAAY,CAACC,qBAAqB,YAAlCD,0BAAY,CAACC,qBAAqB,CAAG,YAAM;MACzC,IAAIC,wBAAW,CAACC,YAAY,EAAE;QAC5BL,eAAe,CAAC,IAAI,CAAC;MACvB;IACF,CAAC,CAAC;EACJ,CAAC;EACD,IAAMM,UAAU,GAAG,SAAbA,UAAUA,CAAA,UAASN,eAAe,CAAC,KAAK,CAAC;;EAE/C;IACEtC,MAAA,CAAAoB,OAAA,CAAAyB,aAAA,CAACtC,cAAA,CAAAuC,aAAa,EAAK5B,IAAI;IACrBlB,MAAA,CAAAoB,OAAA,CAAAyB,aAAA,WAAME,SAAS,EAAEtB,iBAAiB,CAACV,IAAI,CAAC,CAACc,IAAK;IAC5C7B,MAAA,CAAAoB,OAAA,CAAAyB,aAAA,eAAAG,SAAA,CAAA5B,OAAA;MACE,YAAUH,OAAQ;MAClBgC,IAAI,EAAC,QAAQ;MACbC,QAAQ,EAAE,CAAC,CAAE;MACbH,SAAS,EAAE,IAAAI,WAAE;QACXxB,sBAAM,CAACyB,IAAI,CAAC/B,KAAK,CAAC;QAClB;QACAgB,YAAY,IAAIV,sBAAM,CAAC0B,KAAK,CAAChC,KAAK,CAAC;QACnCI,iBAAiB,CAACV,IAAI,CAAC,CAACW;MAC1B,CAAE;MACFV,KAAK,EAAEA,KAAM;MACbsC,OAAO,EAAEf,WAAY;MACrBgB,MAAM,EAAEX,UAAW;IACf1B,IAAI;;IAERlB,MAAA,CAAAoB,OAAA,CAAAyB,aAAA,CAACpC,UAAA,CAAA+C,SAAS,IAACzC,IAAI,EAAEA,IAAK,EAAC0C,SAAS,QAAE;IAC5B;IACJ;IACO,CAAC;;AAEpB,CAAC;;AAED9C,cAAc,CAAC+C,mBAAmB,GAAG,gBAAgB;AACrD/C,cAAc,CAACgD,WAAW,GAAG,gBAAgB","ignoreList":[]}
|
|
@@ -5,4 +5,7 @@ export declare const styles: {
|
|
|
5
5
|
clearCrossSmall(t: Theme): string;
|
|
6
6
|
clearCrossMedium(t: Theme): string;
|
|
7
7
|
clearCrossLarge(t: Theme): string;
|
|
8
|
+
relativeWidthSmall(t: Theme): string;
|
|
9
|
+
relativeWidthMedium(t: Theme): string;
|
|
10
|
+
relativeWidthLarge(t: Theme): string;
|
|
8
11
|
};
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");
|
|
2
2
|
|
|
3
|
-
var _Mixins = require("../../lib/styles/Mixins");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
3
|
+
var _Mixins = require("../../lib/styles/Mixins");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
4
4
|
|
|
5
5
|
var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
6
6
|
root: function root(t) {
|
|
7
|
-
return (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n ", "\n color: ", ";\n cursor: pointer;\n transition: color ", " ", ";\n &:hover {\n color: ", ";\n }\n display: flex;\n justify-content:
|
|
7
|
+
return (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n ", "\n color: ", ";\n cursor: pointer;\n transition: color ", " ", ";\n &:hover {\n color: ", ";\n }\n display: flex;\n justify-content: ", ";\n align-items: center;\n position: absolute;\n right: -", ";\n top: -", ";\n "])),
|
|
8
8
|
(0, _Mixins.resetButton)(),
|
|
9
9
|
t.clearCrossIconColor,
|
|
10
10
|
|
|
11
11
|
t.transitionDuration, t.transitionTimingFunction,
|
|
12
12
|
|
|
13
|
-
t.clearCrossIconHoverColor
|
|
13
|
+
t.clearCrossIconHoverColor,
|
|
14
14
|
|
|
15
15
|
|
|
16
|
+
t.clearCrossIconAlign,
|
|
16
17
|
|
|
17
18
|
|
|
19
|
+
t.inputBorderWidth,
|
|
20
|
+
t.inputBorderWidth);
|
|
18
21
|
|
|
19
22
|
},
|
|
20
23
|
|
|
@@ -25,27 +28,42 @@ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
|
|
|
25
28
|
},
|
|
26
29
|
|
|
27
30
|
clearCrossSmall: function clearCrossSmall(t) {
|
|
28
|
-
return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n width: ", ";\n height: ", ";\n
|
|
31
|
+
return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n width: ", ";\n height: ", ";\n border-radius: ", ";\n "])),
|
|
29
32
|
t.clearCrossIconWidthSmall,
|
|
30
33
|
t.clearCrossIconHeightSmall,
|
|
31
|
-
t.clearCrossIconRightMarginSmall,
|
|
32
34
|
t.clearCrossIconBorderRadiusSmall);
|
|
33
35
|
|
|
34
36
|
},
|
|
35
37
|
clearCrossMedium: function clearCrossMedium(t) {
|
|
36
|
-
return (0, _Emotion.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n width: ", ";\n height: ", ";\n
|
|
38
|
+
return (0, _Emotion.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n width: ", ";\n height: ", ";\n border-radius: ", ";\n "])),
|
|
37
39
|
t.clearCrossIconWidthMedium,
|
|
38
40
|
t.clearCrossIconHeightMedium,
|
|
39
|
-
t.clearCrossIconRightMarginMedium,
|
|
40
41
|
t.clearCrossIconBorderRadiusMedium);
|
|
41
42
|
|
|
42
43
|
},
|
|
43
44
|
clearCrossLarge: function clearCrossLarge(t) {
|
|
44
|
-
return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n width: ", ";\n height: ", ";\n
|
|
45
|
+
return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n width: ", ";\n height: ", ";\n border-radius: ", ";\n "])),
|
|
45
46
|
t.clearCrossIconWidthLarge,
|
|
46
47
|
t.clearCrossIconHeightLarge,
|
|
47
|
-
t.clearCrossIconRightMarginLarge,
|
|
48
48
|
t.clearCrossIconBorderRadiusLarge);
|
|
49
49
|
|
|
50
|
+
},
|
|
51
|
+
relativeWidthSmall: function relativeWidthSmall(t) {
|
|
52
|
+
return (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n width: ", ";\n "])),
|
|
53
|
+
|
|
54
|
+
t.inputIconSizeSmall);
|
|
55
|
+
|
|
56
|
+
},
|
|
57
|
+
relativeWidthMedium: function relativeWidthMedium(t) {
|
|
58
|
+
return (0, _Emotion.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n width: ", ";\n "])),
|
|
59
|
+
|
|
60
|
+
t.inputIconSizeMedium);
|
|
61
|
+
|
|
62
|
+
},
|
|
63
|
+
relativeWidthLarge: function relativeWidthLarge(t) {
|
|
64
|
+
return (0, _Emotion.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n width: ", ";\n "])),
|
|
65
|
+
|
|
66
|
+
t.inputIconSizeLarge);
|
|
67
|
+
|
|
50
68
|
}
|
|
51
69
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_Emotion","require","_Mixins","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","styles","exports","memoizeStyle","root","t","css","_taggedTemplateLiteralLoose2","default","resetButton","clearCrossIconColor","transitionDuration","transitionTimingFunction","clearCrossIconHoverColor","focus","clearCrossSmall","clearCrossIconWidthSmall","clearCrossIconHeightSmall","
|
|
1
|
+
{"version":3,"names":["_Emotion","require","_Mixins","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","styles","exports","memoizeStyle","root","t","css","_taggedTemplateLiteralLoose2","default","resetButton","clearCrossIconColor","transitionDuration","transitionTimingFunction","clearCrossIconHoverColor","clearCrossIconAlign","inputBorderWidth","focus","clearCrossSmall","clearCrossIconWidthSmall","clearCrossIconHeightSmall","clearCrossIconBorderRadiusSmall","clearCrossMedium","clearCrossIconWidthMedium","clearCrossIconHeightMedium","clearCrossIconBorderRadiusMedium","clearCrossLarge","clearCrossIconWidthLarge","clearCrossIconHeightLarge","clearCrossIconBorderRadiusLarge","relativeWidthSmall","inputIconSizeSmall","relativeWidthMedium","inputIconSizeMedium","relativeWidthLarge","inputIconSizeLarge"],"sources":["ClearCrossIcon.styles.tsx"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { resetButton } from '../../lib/styles/Mixins';\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n ${resetButton()}\n color: ${t.clearCrossIconColor};\n cursor: pointer;\n transition: color ${t.transitionDuration} ${t.transitionTimingFunction};\n &:hover {\n color: ${t.clearCrossIconHoverColor};\n }\n display: flex;\n justify-content: ${t.clearCrossIconAlign};\n align-items: center;\n position: absolute;\n right: -${t.inputBorderWidth};\n top: -${t.inputBorderWidth};\n `;\n },\n\n focus(t: Theme) {\n return css`\n color: ${t.clearCrossIconHoverColor};\n `;\n },\n\n clearCrossSmall(t: Theme) {\n return css`\n width: ${t.clearCrossIconWidthSmall};\n height: ${t.clearCrossIconHeightSmall};\n border-radius: ${t.clearCrossIconBorderRadiusSmall};\n `;\n },\n clearCrossMedium(t: Theme) {\n return css`\n width: ${t.clearCrossIconWidthMedium};\n height: ${t.clearCrossIconHeightMedium};\n border-radius: ${t.clearCrossIconBorderRadiusMedium};\n `;\n },\n clearCrossLarge(t: Theme) {\n return css`\n width: ${t.clearCrossIconWidthLarge};\n height: ${t.clearCrossIconHeightLarge};\n border-radius: ${t.clearCrossIconBorderRadiusLarge};\n `;\n },\n relativeWidthSmall(t: Theme) {\n return css`\n display: inline-block;\n width: ${t.inputIconSizeSmall};\n `;\n },\n relativeWidthMedium(t: Theme) {\n return css`\n display: inline-block;\n width: ${t.inputIconSizeMedium};\n `;\n },\n relativeWidthLarge(t: Theme) {\n return css`\n display: inline-block;\n width: ${t.inputIconSizeLarge};\n `;\n },\n});\n"],"mappings":"oRAAA,IAAAA,QAAA,GAAAC,OAAA;;AAEA,IAAAC,OAAA,GAAAD,OAAA,4BAAsD,IAAAE,eAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,gBAAA;;AAE/C,IAAMC,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAE,qBAAY,EAAC;EACjCC,IAAI,WAAAA,KAACC,CAAQ,EAAE;IACb,WAAOC,YAAG,EAAAb,eAAA,KAAAA,eAAA,OAAAc,4BAAA,CAAAC,OAAA;IACN,IAAAC,mBAAW,EAAC,CAAC;IACNJ,CAAC,CAACK,mBAAmB;;IAEVL,CAAC,CAACM,kBAAkB,EAAIN,CAAC,CAACO,wBAAwB;;IAE3DP,CAAC,CAACQ,wBAAwB;;;IAGlBR,CAAC,CAACS,mBAAmB;;;IAG9BT,CAAC,CAACU,gBAAgB;IACpBV,CAAC,CAACU,gBAAgB;;EAE9B,CAAC;;EAEDC,KAAK,WAAAA,MAACX,CAAQ,EAAE;IACd,WAAOC,YAAG,EAAAZ,gBAAA,KAAAA,gBAAA,OAAAa,4BAAA,CAAAC,OAAA;IACCH,CAAC,CAACQ,wBAAwB;;EAEvC,CAAC;;EAEDI,eAAe,WAAAA,gBAACZ,CAAQ,EAAE;IACxB,WAAOC,YAAG,EAAAX,gBAAA,KAAAA,gBAAA,OAAAY,4BAAA,CAAAC,OAAA;IACCH,CAAC,CAACa,wBAAwB;IACzBb,CAAC,CAACc,yBAAyB;IACpBd,CAAC,CAACe,+BAA+B;;EAEtD,CAAC;EACDC,gBAAgB,WAAAA,iBAAChB,CAAQ,EAAE;IACzB,WAAOC,YAAG,EAAAV,gBAAA,KAAAA,gBAAA,OAAAW,4BAAA,CAAAC,OAAA;IACCH,CAAC,CAACiB,yBAAyB;IAC1BjB,CAAC,CAACkB,0BAA0B;IACrBlB,CAAC,CAACmB,gCAAgC;;EAEvD,CAAC;EACDC,eAAe,WAAAA,gBAACpB,CAAQ,EAAE;IACxB,WAAOC,YAAG,EAAAT,gBAAA,KAAAA,gBAAA,OAAAU,4BAAA,CAAAC,OAAA;IACCH,CAAC,CAACqB,wBAAwB;IACzBrB,CAAC,CAACsB,yBAAyB;IACpBtB,CAAC,CAACuB,+BAA+B;;EAEtD,CAAC;EACDC,kBAAkB,WAAAA,mBAACxB,CAAQ,EAAE;IAC3B,WAAOC,YAAG,EAAAR,gBAAA,KAAAA,gBAAA,OAAAS,4BAAA,CAAAC,OAAA;;IAECH,CAAC,CAACyB,kBAAkB;;EAEjC,CAAC;EACDC,mBAAmB,WAAAA,oBAAC1B,CAAQ,EAAE;IAC5B,WAAOC,YAAG,EAAAP,gBAAA,KAAAA,gBAAA,OAAAQ,4BAAA,CAAAC,OAAA;;IAECH,CAAC,CAAC2B,mBAAmB;;EAElC,CAAC;EACDC,kBAAkB,WAAAA,mBAAC5B,CAAQ,EAAE;IAC3B,WAAOC,YAAG,EAAAN,gBAAA,KAAAA,gBAAA,OAAAO,4BAAA,CAAAC,OAAA;;IAECH,CAAC,CAAC6B,kBAAkB;;EAEjC;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -8,11 +8,11 @@ import type { MenuItemState } from '../../components/MenuItem';
|
|
|
8
8
|
import type { Nullable } from '../../typings/utility-types';
|
|
9
9
|
import type { CommonProps } from '../CommonWrapper';
|
|
10
10
|
import type { TGetRootNode } from '../../lib/rootNode';
|
|
11
|
-
import type { ComboBoxExtendedItem } from '../../components/ComboBox';
|
|
11
|
+
import type { ComboBoxExtendedItem, ComboBoxViewMode } from '../../components/ComboBox';
|
|
12
12
|
import type { SizeProp } from '../../lib/types/props';
|
|
13
|
-
import
|
|
13
|
+
import { InternalTextareaWithLayout } from '../InternalTextareaWithLayout/InternalTextareaWithLayout';
|
|
14
14
|
import { ComboBoxRequestStatus } from './CustomComboBoxTypes';
|
|
15
|
-
interface ComboBoxViewProps<T> extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>, Pick<HTMLAttributes<HTMLElement>, 'id'>, CommonProps
|
|
15
|
+
interface ComboBoxViewProps<T> extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>, Pick<HTMLAttributes<HTMLElement>, 'id'>, CommonProps {
|
|
16
16
|
align?: 'left' | 'center' | 'right';
|
|
17
17
|
autoFocus?: boolean;
|
|
18
18
|
borderless?: boolean;
|
|
@@ -48,7 +48,6 @@ interface ComboBoxViewProps<T> extends Pick<AriaAttributes, 'aria-describedby' |
|
|
|
48
48
|
leftIcon?: InputIconType;
|
|
49
49
|
rightIcon?: InputIconType;
|
|
50
50
|
inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];
|
|
51
|
-
maskOnBeforePaste?: MaskedInputOnBeforePasteValue;
|
|
52
51
|
onValueChange?: (value: T) => void;
|
|
53
52
|
onClickOutside?: (e: Event) => void;
|
|
54
53
|
onFocus?: () => void;
|
|
@@ -71,9 +70,11 @@ interface ComboBoxViewProps<T> extends Pick<AriaAttributes, 'aria-describedby' |
|
|
|
71
70
|
renderAddButton?: (query?: string) => React.ReactNode;
|
|
72
71
|
repeatRequest?: () => void;
|
|
73
72
|
requestStatus?: ComboBoxRequestStatus;
|
|
74
|
-
refInput?: (input: Nullable<Input>) => void;
|
|
73
|
+
refInput?: (input: Nullable<Input | InternalTextareaWithLayout>) => void;
|
|
75
74
|
refMenu?: (menu: Nullable<Menu>) => void;
|
|
76
75
|
refInputLikeText?: (inputLikeText: Nullable<InputLikeText>) => void;
|
|
76
|
+
viewMode?: ComboBoxViewMode;
|
|
77
|
+
maxRows?: number;
|
|
77
78
|
}
|
|
78
79
|
type DefaultProps<T> = Required<Pick<ComboBoxViewProps<T>, 'renderItem' | 'renderValue' | 'renderAddButton' | 'repeatRequest' | 'requestStatus' | 'onClickOutside' | 'onFocusOutside' | 'size' | 'width' | 'showClearIcon'>>;
|
|
79
80
|
export declare const ComboBoxViewIds: {
|
|
@@ -88,8 +89,8 @@ export declare class ComboBoxView<T> extends React.Component<ComboBoxViewProps<T
|
|
|
88
89
|
static displayName: string;
|
|
89
90
|
static defaultProps: DefaultProps<unknown>;
|
|
90
91
|
private getProps;
|
|
91
|
-
private input;
|
|
92
92
|
getRootNode: TGetRootNode;
|
|
93
|
+
private input;
|
|
93
94
|
private setRootNode;
|
|
94
95
|
private mobileInput;
|
|
95
96
|
private isMobileLayout;
|
|
@@ -25,10 +25,7 @@ var _LoadingIcon = require("../icons2022/LoadingIcon");
|
|
|
25
25
|
var _Popup = require("../Popup");
|
|
26
26
|
var _getMenuPositions = require("../../lib/getMenuPositions");
|
|
27
27
|
var _ZIndex = require("../ZIndex");
|
|
28
|
-
|
|
29
|
-
var _MaskedInput = require("../../components/MaskedInput");
|
|
30
|
-
var _MaskedInput2 = require("../../components/MaskedInput/MaskedInput.styles");
|
|
31
|
-
var _Emotion = require("../../lib/theming/Emotion");
|
|
28
|
+
var _InternalTextareaWithLayout = require("../InternalTextareaWithLayout/InternalTextareaWithLayout");
|
|
32
29
|
|
|
33
30
|
var _ArrowDownIcon = require("./ArrowDownIcon");
|
|
34
31
|
var _ComboBoxMenu = require("./ComboBoxMenu");
|
|
@@ -433,8 +430,6 @@ ComboBoxView = exports.ComboBoxView = (0, _decorator.responsiveLayout)(_class =
|
|
|
433
430
|
|
|
434
431
|
|
|
435
432
|
|
|
436
|
-
|
|
437
|
-
|
|
438
433
|
|
|
439
434
|
|
|
440
435
|
|
|
@@ -483,4 +478,4 @@ ComboBoxView = exports.ComboBoxView = (0, _decorator.responsiveLayout)(_class =
|
|
|
483
478
|
|
|
484
479
|
refMobileInput = function (input) {
|
|
485
480
|
_this.mobileInput = input;
|
|
486
|
-
};return _this;}(0, _inheritsLoose2.default)(ComboBoxView, _React$Component);var _proto = ComboBoxView.prototype;_proto.componentDidMount = function componentDidMount() {this.updateAnchorElement();if (this.props.autoFocus && this.props.onFocus) {this.props.onFocus();}};_proto.updateAnchorElement = function updateAnchorElement() {var parent = this.getParent();var anchorElement = this.state.anchorElement;if (anchorElement !== parent) {this.setState({ anchorElement: parent });}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var input = this.input,props = this.props;this.updateAnchorElement();if (props.editing && !prevProps.editing && input) {input.focus();}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = (0, _getComboBoxTheme.getComboBoxTheme)(theme);return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _this2.theme }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var _this$props4 = this.props,onMouseEnter = _this$props4.onMouseEnter,onMouseLeave = _this$props4.onMouseLeave,onMouseOver = _this$props4.onMouseOver,opened = _this$props4.opened;var _this$getProps3 = this.getProps(),onClickOutside = _this$getProps3.onClickOutside,onFocusOutside = _this$getProps3.onFocusOutside,width = _this$getProps3.width;var isMobile = this.isMobileLayout;var input = this.renderInput();return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: onClickOutside, onFocusOutside: onFocusOutside, active: opened }, /*#__PURE__*/_react.default.createElement("span", { "data-tid": _CustomComboBox2.CustomComboBoxDataTids.comboBoxView, style: { width: width }, className: _CustomComboBox.styles.root(), onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, onMouseOver: onMouseOver, ref: this.setRootNode }, input, isMobile ? this.renderMobileMenu() : this.renderMenu())));};_proto.renderInput = function renderInput() {var isMobile = this.isMobileLayout;var _this$props5 = this.props,id = _this$props5.id,align = _this$props5.align,borderless = _this$props5.borderless,disabled = _this$props5.disabled,editing = _this$props5.editing,error = _this$props5.error,onFocus = _this$props5.onFocus,onInputBlur = _this$props5.onInputBlur,onInputValueChange = _this$props5.onInputValueChange,onInputFocus = _this$props5.onInputFocus,onInputClick = _this$props5.onInputClick,onInputKeyDown = _this$props5.onInputKeyDown,placeholder = _this$props5.placeholder,textValue = _this$props5.textValue,value = _this$props5.value,warning = _this$props5.warning,refInputLikeText = _this$props5.refInputLikeText,leftIcon = _this$props5.leftIcon,inputMode = _this$props5.inputMode,size = _this$props5.size,ariaDescribedby = _this$props5['aria-describedby'],ariaLabel = _this$props5['aria-label'],showClearIcon = _this$props5.showClearIcon
|
|
481
|
+
};return _this;}(0, _inheritsLoose2.default)(ComboBoxView, _React$Component);var _proto = ComboBoxView.prototype;_proto.componentDidMount = function componentDidMount() {this.updateAnchorElement();if (this.props.autoFocus && this.props.onFocus) {this.props.onFocus();}};_proto.updateAnchorElement = function updateAnchorElement() {var parent = this.getParent();var anchorElement = this.state.anchorElement;if (anchorElement !== parent) {this.setState({ anchorElement: parent });}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var input = this.input,props = this.props;this.updateAnchorElement();if (props.editing && !prevProps.editing && input) {input.focus();}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = (0, _getComboBoxTheme.getComboBoxTheme)(theme, _this2.props.viewMode);return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _this2.theme }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var _this$props4 = this.props,onMouseEnter = _this$props4.onMouseEnter,onMouseLeave = _this$props4.onMouseLeave,onMouseOver = _this$props4.onMouseOver,opened = _this$props4.opened;var _this$getProps3 = this.getProps(),onClickOutside = _this$getProps3.onClickOutside,onFocusOutside = _this$getProps3.onFocusOutside,width = _this$getProps3.width;var isMobile = this.isMobileLayout;var input = this.renderInput();return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: onClickOutside, onFocusOutside: onFocusOutside, active: opened }, /*#__PURE__*/_react.default.createElement("span", { "data-tid": _CustomComboBox2.CustomComboBoxDataTids.comboBoxView, style: { width: width }, className: _CustomComboBox.styles.root(), onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, onMouseOver: onMouseOver, ref: this.setRootNode }, input, isMobile ? this.renderMobileMenu() : this.renderMenu())));};_proto.renderInput = function renderInput() {var isMobile = this.isMobileLayout;var _this$props5 = this.props,id = _this$props5.id,align = _this$props5.align,borderless = _this$props5.borderless,disabled = _this$props5.disabled,editing = _this$props5.editing,error = _this$props5.error,onFocus = _this$props5.onFocus,onInputBlur = _this$props5.onInputBlur,onInputValueChange = _this$props5.onInputValueChange,onInputFocus = _this$props5.onInputFocus,onInputClick = _this$props5.onInputClick,onInputKeyDown = _this$props5.onInputKeyDown,placeholder = _this$props5.placeholder,textValue = _this$props5.textValue,value = _this$props5.value,warning = _this$props5.warning,refInputLikeText = _this$props5.refInputLikeText,leftIcon = _this$props5.leftIcon,inputMode = _this$props5.inputMode,size = _this$props5.size,ariaDescribedby = _this$props5['aria-describedby'],ariaLabel = _this$props5['aria-label'],showClearIcon = _this$props5.showClearIcon;var _this$getProps4 = this.getProps(),renderValue = _this$getProps4.renderValue;var rightIcon = this.getRightIcon();var editingStateProps = { id: id, align: align, borderless: borderless, disabled: disabled, error: error, maxLength: this.props.maxLength, onBlur: isMobile ? undefined : onInputBlur, onValueChange: onInputValueChange, onFocus: onInputFocus, onClick: isMobile ? this.handleMobileFocus : onInputClick, leftIcon: leftIcon, rightIcon: rightIcon, value: textValue || '', onKeyDown: onInputKeyDown, placeholder: placeholder, width: '100%', size: size, ref: this.refInput, warning: warning, inputMode: inputMode, autoComplete: 'off', 'aria-describedby': ariaDescribedby, 'aria-controls': this.menuId, 'aria-label': ariaLabel, showClearIcon: showClearIcon };var multilineTextareaProps = { autoResize: true, rows: 1, extraRow: false, maxRows: this.props.maxRows };if (this.props.viewMode === 'multiline') {return /*#__PURE__*/_react.default.createElement(_InternalTextareaWithLayout.InternalTextareaWithLayout, (0, _extends2.default)({}, editingStateProps, multilineTextareaProps));}if (editing) {if (this.props.viewMode === 'multiline-editing') {return /*#__PURE__*/_react.default.createElement(_InternalTextareaWithLayout.InternalTextareaWithLayout, (0, _extends2.default)({}, editingStateProps, multilineTextareaProps));}return /*#__PURE__*/_react.default.createElement(_Input.Input, editingStateProps);}return /*#__PURE__*/_react.default.createElement(_InputLikeText.InputLikeText, { id: id, align: align, borderless: borderless, error: error, onFocus: onFocus, leftIcon: leftIcon, rightIcon: rightIcon, disabled: disabled, warning: warning, placeholder: placeholder, size: size, width: "100%", ref: refInputLikeText, "aria-describedby": ariaDescribedby, "aria-controls": this.menuId, showClearIcon: showClearIcon, onClearCrossClick: this.props.onClearCrossClick }, (0, _utils.isNonNullable)(value) && renderValue ? renderValue(value) : null);};return ComboBoxView;}(_react.default.Component), _ComboBoxView.__KONTUR_REACT_UI__ = 'ComboBoxView', _ComboBoxView.displayName = 'ComboBoxView', _ComboBoxView.defaultProps = { renderItem: function renderItem(item) {return item;}, renderValue: function renderValue(item) {return item;}, renderAddButton: function renderAddButton() {return null;}, repeatRequest: function repeatRequest() {return undefined;}, requestStatus: _CustomComboBoxTypes.ComboBoxRequestStatus.Unknown, onClickOutside: function onClickOutside() {/**/}, onFocusOutside: function onFocusOutside() {/**/}, size: 'small', width: 250, showClearIcon: 'never' }, _ComboBoxView)) || _class) || _class;
|