@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.
Files changed (246) hide show
  1. package/CHANGELOG.md +0 -30
  2. package/cjs/components/Autocomplete/Autocomplete.md +113 -0
  3. package/cjs/components/Button/Button.md +261 -0
  4. package/cjs/components/Calendar/Calendar.md +276 -0
  5. package/cjs/components/Calendar/CalendarDay.md +70 -0
  6. package/cjs/components/Center/Center.md +26 -0
  7. package/cjs/components/Checkbox/Checkbox.md +171 -0
  8. package/cjs/components/ComboBox/ComboBox.d.ts +11 -5
  9. package/cjs/components/ComboBox/ComboBox.js +10 -1
  10. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  11. package/cjs/components/ComboBox/ComboBox.md +574 -0
  12. package/cjs/components/CurrencyInput/CurrencyInput.md +39 -0
  13. package/cjs/components/CurrencyLabel/CurrencyLabel.js +2 -2
  14. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  15. package/cjs/components/CurrencyLabel/CurrencyLabel.md +29 -0
  16. package/cjs/components/DateInput/DateInput.md +111 -0
  17. package/cjs/components/DatePicker/DatePicker.md +368 -0
  18. package/cjs/components/Dropdown/Dropdown.md +45 -0
  19. package/cjs/components/DropdownMenu/DropdownMenu.md +290 -0
  20. package/cjs/components/FileUploader/FileUploader.md +131 -0
  21. package/cjs/components/FxInput/FxInput.md +31 -0
  22. package/cjs/components/Gapped/Gapped.md +44 -0
  23. package/cjs/components/GlobalLoader/GlobalLoader.md +97 -0
  24. package/cjs/components/Group/Group.md +19 -0
  25. package/cjs/components/Hint/Hint.md +86 -0
  26. package/cjs/components/Input/Input.md +86 -0
  27. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
  28. package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
  29. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  30. package/cjs/components/Kebab/Kebab.md +306 -0
  31. package/cjs/components/Link/Link.md +182 -0
  32. package/cjs/components/Loader/Loader.md +33 -0
  33. package/cjs/components/MaskedInput/MaskedInput.d.ts +0 -8
  34. package/cjs/components/MaskedInput/MaskedInput.js +2 -23
  35. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  36. package/cjs/components/MaskedInput/MaskedInput.md +114 -0
  37. package/cjs/components/MenuFooter/MenuFooter.md +27 -0
  38. package/cjs/components/MenuHeader/MenuHeader.md +35 -0
  39. package/cjs/components/MenuItem/MenuItem.md +139 -0
  40. package/cjs/components/MenuSeparator/MenuSeparator.md +14 -0
  41. package/cjs/components/MiniModal/MiniModal.md +231 -0
  42. package/cjs/components/Modal/Modal.md +56 -0
  43. package/cjs/components/Paging/Paging.md +57 -0
  44. package/cjs/components/PasswordInput/PasswordInput.md +29 -0
  45. package/cjs/components/Radio/Radio.md +57 -0
  46. package/cjs/components/RadioGroup/RadioGroup.md +44 -0
  47. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +75 -0
  48. package/cjs/components/ScrollContainer/ScrollContainer.md +224 -0
  49. package/cjs/components/Select/Select.md +113 -0
  50. package/cjs/components/SidePage/SidePage.md +65 -0
  51. package/cjs/components/SingleToast/SingleToast.md +36 -0
  52. package/cjs/components/Spinner/Spinner.md +36 -0
  53. package/cjs/components/Sticky/Sticky.md +28 -0
  54. package/cjs/components/Switcher/Switcher.md +111 -0
  55. package/cjs/components/Tabs/Tab.md +73 -0
  56. package/cjs/components/Tabs/Tabs.md +54 -0
  57. package/cjs/components/Textarea/Textarea.d.ts +6 -1
  58. package/cjs/components/Textarea/Textarea.js +16 -3
  59. package/cjs/components/Textarea/Textarea.js.map +1 -1
  60. package/cjs/components/Textarea/Textarea.md +58 -0
  61. package/cjs/components/Textarea/Textarea.styles.js +2 -1
  62. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  63. package/cjs/components/Toast/Toast.md +69 -0
  64. package/cjs/components/Toggle/Toggle.md +110 -0
  65. package/cjs/components/Token/Token.md +48 -0
  66. package/cjs/components/TokenInput/TokenInput.md +277 -0
  67. package/cjs/components/Tooltip/Tooltip.d.ts +1 -1
  68. package/cjs/components/Tooltip/Tooltip.js +6 -8
  69. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  70. package/cjs/components/Tooltip/Tooltip.md +322 -0
  71. package/cjs/components/TooltipMenu/TooltipMenu.md +241 -0
  72. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  73. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
  74. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  75. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  76. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
  77. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  78. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +7 -6
  79. package/cjs/internal/CustomComboBox/ComboBoxView.js +2 -7
  80. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  81. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +6 -5
  82. package/cjs/internal/CustomComboBox/CustomComboBox.js +1 -3
  83. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  84. package/cjs/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
  85. package/cjs/internal/CustomComboBox/getComboBoxTheme.js +10 -7
  86. package/cjs/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
  87. package/cjs/internal/DataTids/DATATIDS.md +12 -0
  88. package/cjs/internal/DataTids/DataTids.d.ts +12 -0
  89. package/cjs/internal/DataTids/DataTids.js +50 -0
  90. package/cjs/internal/DataTids/DataTids.js.map +1 -0
  91. package/cjs/internal/DataTids/DataTids.styles.d.ts +7 -0
  92. package/cjs/internal/DataTids/DataTids.styles.js +42 -0
  93. package/cjs/internal/DataTids/DataTids.styles.js.map +1 -0
  94. package/cjs/internal/DataTids/componentsDataTids.d.ts +5 -0
  95. package/cjs/internal/DataTids/componentsDataTids.js +15 -0
  96. package/cjs/internal/DataTids/componentsDataTids.js.map +1 -0
  97. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  98. package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
  99. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  100. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  101. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +235 -0
  102. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  103. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  104. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
  105. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
  106. package/cjs/internal/ThemePlayground/Playground.md +7 -0
  107. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  108. package/cjs/internal/themes/BasicTheme.d.ts +2 -0
  109. package/cjs/internal/themes/BasicTheme.js +11 -6
  110. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  111. package/cjs/internal/themes/DarkTheme5_4.js +10 -3
  112. package/cjs/internal/themes/DarkTheme5_4.js.map +1 -1
  113. package/cjs/internal/themes/LightTheme5_4.js +10 -3
  114. package/cjs/internal/themes/LightTheme5_4.js.map +1 -1
  115. package/cjs/internal/themes/consts.d.ts +7 -0
  116. package/cjs/internal/themes/consts.js +7 -0
  117. package/cjs/internal/themes/consts.js.map +1 -0
  118. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +64 -0
  119. package/cjs/lib/locale/LOCALECONTEXT.md +222 -0
  120. package/cjs/lib/theming/ThemeContext.md +265 -0
  121. package/components/Autocomplete/Autocomplete.md +113 -0
  122. package/components/Button/Button.md +261 -0
  123. package/components/Calendar/Calendar.md +276 -0
  124. package/components/Calendar/CalendarDay.md +70 -0
  125. package/components/Center/Center.md +26 -0
  126. package/components/Checkbox/Checkbox.md +171 -0
  127. package/components/ComboBox/ComboBox/ComboBox.js +2 -1
  128. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  129. package/components/ComboBox/ComboBox.d.ts +11 -5
  130. package/components/ComboBox/ComboBox.md +574 -0
  131. package/components/CurrencyInput/CurrencyInput.md +39 -0
  132. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +1 -1
  133. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  134. package/components/CurrencyLabel/CurrencyLabel.md +29 -0
  135. package/components/DateInput/DateInput.md +111 -0
  136. package/components/DatePicker/DatePicker.md +368 -0
  137. package/components/Dropdown/Dropdown.md +45 -0
  138. package/components/DropdownMenu/DropdownMenu.md +290 -0
  139. package/components/FileUploader/FileUploader.md +131 -0
  140. package/components/FxInput/FxInput.md +31 -0
  141. package/components/Gapped/Gapped.md +44 -0
  142. package/components/GlobalLoader/GlobalLoader.md +97 -0
  143. package/components/Group/Group.md +19 -0
  144. package/components/Hint/Hint.md +86 -0
  145. package/components/Input/Input.md +86 -0
  146. package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
  147. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
  148. package/components/Input/InputLayout/InputLayout.d.ts +1 -0
  149. package/components/Kebab/Kebab.md +306 -0
  150. package/components/Link/Link.md +182 -0
  151. package/components/Loader/Loader.md +33 -0
  152. package/components/MaskedInput/MaskedInput/MaskedInput.js +1 -11
  153. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  154. package/components/MaskedInput/MaskedInput.d.ts +0 -8
  155. package/components/MaskedInput/MaskedInput.md +114 -0
  156. package/components/MenuFooter/MenuFooter.md +27 -0
  157. package/components/MenuHeader/MenuHeader.md +35 -0
  158. package/components/MenuItem/MenuItem.md +139 -0
  159. package/components/MenuSeparator/MenuSeparator.md +14 -0
  160. package/components/MiniModal/MiniModal.md +231 -0
  161. package/components/Modal/Modal.md +56 -0
  162. package/components/Paging/Paging.md +57 -0
  163. package/components/PasswordInput/PasswordInput.md +29 -0
  164. package/components/Radio/Radio.md +57 -0
  165. package/components/RadioGroup/RadioGroup.md +44 -0
  166. package/components/ResponsiveLayout/ResponsiveLayout.md +75 -0
  167. package/components/ScrollContainer/ScrollContainer.md +224 -0
  168. package/components/Select/Select.md +113 -0
  169. package/components/SidePage/SidePage.md +65 -0
  170. package/components/SingleToast/SingleToast.md +36 -0
  171. package/components/Spinner/Spinner.md +36 -0
  172. package/components/Sticky/Sticky.md +28 -0
  173. package/components/Switcher/Switcher.md +111 -0
  174. package/components/Tabs/Tab.md +73 -0
  175. package/components/Tabs/Tabs.md +54 -0
  176. package/components/Textarea/Textarea/Textarea.js +11 -2
  177. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  178. package/components/Textarea/Textarea.d.ts +6 -1
  179. package/components/Textarea/Textarea.md +58 -0
  180. package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
  181. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  182. package/components/Toast/Toast.md +69 -0
  183. package/components/Toggle/Toggle.md +110 -0
  184. package/components/Token/Token.md +48 -0
  185. package/components/TokenInput/TokenInput.md +277 -0
  186. package/components/Tooltip/Tooltip/Tooltip.js +4 -7
  187. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  188. package/components/Tooltip/Tooltip.d.ts +1 -1
  189. package/components/Tooltip/Tooltip.md +322 -0
  190. package/components/TooltipMenu/TooltipMenu.md +241 -0
  191. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
  192. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  193. package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  194. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
  195. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
  196. package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  197. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +44 -51
  198. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  199. package/internal/CustomComboBox/ComboBoxView.d.ts +7 -6
  200. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +3 -5
  201. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  202. package/internal/CustomComboBox/CustomComboBox.d.ts +6 -5
  203. package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js +5 -3
  204. package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js.map +1 -1
  205. package/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
  206. package/internal/DataTids/DATATIDS.md +12 -0
  207. package/internal/DataTids/DataTids/DataTids.js +69 -0
  208. package/internal/DataTids/DataTids/DataTids.js.map +1 -0
  209. package/internal/DataTids/DataTids/package.json +6 -0
  210. package/internal/DataTids/DataTids.d.ts +12 -0
  211. package/internal/DataTids/DataTids.styles/DataTids.styles.js +20 -0
  212. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +1 -0
  213. package/internal/DataTids/DataTids.styles/package.json +6 -0
  214. package/internal/DataTids/DataTids.styles.d.ts +7 -0
  215. package/internal/DataTids/componentsDataTids/componentsDataTids.js +12 -0
  216. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +1 -0
  217. package/internal/DataTids/componentsDataTids/package.json +6 -0
  218. package/internal/DataTids/componentsDataTids.d.ts +5 -0
  219. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
  220. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  221. package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  222. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +249 -0
  223. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  224. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
  225. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  226. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
  227. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
  228. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
  229. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  230. package/internal/ThemePlayground/Playground.md +7 -0
  231. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  232. package/internal/themes/BasicTheme/BasicTheme.js +4 -4
  233. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  234. package/internal/themes/BasicTheme.d.ts +2 -0
  235. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js +4 -2
  236. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js.map +1 -1
  237. package/internal/themes/LightTheme5_4/LightTheme5_4.js +4 -2
  238. package/internal/themes/LightTheme5_4/LightTheme5_4.js.map +1 -1
  239. package/internal/themes/consts/consts.js +7 -0
  240. package/internal/themes/consts/consts.js.map +1 -0
  241. package/internal/themes/consts/package.json +6 -0
  242. package/internal/themes/consts.d.ts +7 -0
  243. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +64 -0
  244. package/lib/locale/LOCALECONTEXT.md +222 -0
  245. package/lib/theming/ThemeContext.md +265 -0
  246. 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
- var ClearCrossIcon = exports.ClearCrossIcon = function ClearCrossIcon(_ref) {var _ref$size = _ref.size,size = _ref$size === void 0 ? 'small' : _ref$size,style = _ref.style,rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
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 getSizeClassName = function getSizeClassName(size) {
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
- getSizeClassName(size)
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","getSizeClassName","styles","clearCrossLarge","clearCrossMedium","clearCrossSmall","_React$useState","useState","focusedByTab","setFocusedByTab","handleFocus","globalObject","requestAnimationFrame","keyListener","isTabPressed","handleBlur","createElement","CommonWrapper","_extends2","type","tabIndex","className","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}\n\nexport const ClearCrossIcon: React.FunctionComponent<ClearCrossIconProps> = ({ size = 'small', style, ...rest }) => {\n const theme = React.useContext(ThemeContext);\n const getSizeClassName = (size: TokenSize) => {\n switch (size) {\n case 'large':\n return styles.clearCrossLarge(theme);\n case 'medium':\n return styles.clearCrossMedium(theme);\n case 'small':\n default:\n return styles.clearCrossSmall(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 <button\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 getSizeClassName(size),\n )}\n style={style}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...rest}\n >\n <CrossIcon size={size} focusable />\n </button>\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;;;;;;;;;;;AAWjC,IAAMC,cAA4D,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAA/DA,cAA4DA,CAAAE,IAAA,EAA2C,KAAAC,SAAA,GAAAD,IAAA,CAArCE,IAAI,CAAJA,IAAI,GAAAD,SAAA,cAAG,OAAO,GAAAA,SAAA,CAAEE,KAAK,GAAAH,IAAA,CAALG,KAAK,CAAKC,IAAI,OAAAC,8BAAA,CAAAC,OAAA,EAAAN,IAAA,EAAAH,SAAA;EAC3G,IAAMU,KAAK,GAAGC,cAAK,CAACC,UAAU,CAACC,0BAAY,CAAC;EAC5C,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIT,IAAe,EAAK;IAC5C,QAAQA,IAAI;MACV,KAAK,OAAO;QACV,OAAOU,sBAAM,CAACC,eAAe,CAACN,KAAK,CAAC;MACtC,KAAK,QAAQ;QACX,OAAOK,sBAAM,CAACE,gBAAgB,CAACP,KAAK,CAAC;MACvC,KAAK,OAAO;MACZ;QACE,OAAOK,sBAAM,CAACG,eAAe,CAACR,KAAK,CAAC;IACxC;EACF,CAAC;;EAED,IAAAS,eAAA,GAAwCR,cAAK,CAACS,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;IACEhC,MAAA,CAAAmB,OAAA,CAAAoB,aAAA,CAAChC,cAAA,CAAAiC,aAAa,EAAKvB,IAAI;IACrBjB,MAAA,CAAAmB,OAAA,CAAAoB,aAAA,eAAAE,SAAA,CAAAtB,OAAA;MACEuB,IAAI,EAAC,QAAQ;MACbC,QAAQ,EAAE,CAAC,CAAE;MACbC,SAAS,EAAE,IAAAC,WAAE;QACXpB,sBAAM,CAACqB,IAAI,CAAC1B,KAAK,CAAC;QAClB;QACAW,YAAY,IAAIN,sBAAM,CAACsB,KAAK,CAAC3B,KAAK,CAAC;QACnCI,gBAAgB,CAACT,IAAI;MACvB,CAAE;MACFC,KAAK,EAAEA,KAAM;MACbgC,OAAO,EAAEf,WAAY;MACrBgB,MAAM,EAAEX,UAAW;IACfrB,IAAI;;IAERjB,MAAA,CAAAmB,OAAA,CAAAoB,aAAA,CAAC9B,UAAA,CAAAyC,SAAS,IAACnC,IAAI,EAAEA,IAAK,EAACoC,SAAS,QAAE;IAC5B;IACK,CAAC;;AAEpB,CAAC;;AAEDxC,cAAc,CAACyC,mBAAmB,GAAG,gBAAgB;AACrDzC,cAAc,CAAC0C,WAAW,GAAG,gBAAgB","ignoreList":[]}
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: center;\n align-items: center;\n "])),
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 margin-right: ", ";\n border-radius: ", ";\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 margin-right: ", ";\n border-radius: ", ";\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 margin-right: ", ";\n border-radius: ", ";\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","clearCrossIconRightMarginSmall","clearCrossIconBorderRadiusSmall","clearCrossMedium","clearCrossIconWidthMedium","clearCrossIconHeightMedium","clearCrossIconRightMarginMedium","clearCrossIconBorderRadiusMedium","clearCrossLarge","clearCrossIconWidthLarge","clearCrossIconHeightLarge","clearCrossIconRightMarginLarge","clearCrossIconBorderRadiusLarge"],"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: center;\n align-items: center;\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 margin-right: ${t.clearCrossIconRightMarginSmall};\n border-radius: ${t.clearCrossIconBorderRadiusSmall};\n `;\n },\n clearCrossMedium(t: Theme) {\n return css`\n width: ${t.clearCrossIconWidthMedium};\n height: ${t.clearCrossIconHeightMedium};\n margin-right: ${t.clearCrossIconRightMarginMedium};\n border-radius: ${t.clearCrossIconBorderRadiusMedium};\n `;\n },\n clearCrossLarge(t: Theme) {\n return css`\n width: ${t.clearCrossIconWidthLarge};\n height: ${t.clearCrossIconHeightLarge};\n margin-right: ${t.clearCrossIconRightMarginLarge};\n border-radius: ${t.clearCrossIconBorderRadiusLarge};\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;;AAE/C,IAAMC,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAE,qBAAY,EAAC;EACjCC,IAAI,WAAAA,KAACC,CAAQ,EAAE;IACb,WAAOC,YAAG,EAAAV,eAAA,KAAAA,eAAA,OAAAW,4BAAA,CAAAC,OAAA;IACN,IAAAC,mBAAW,EAAC,CAAC;IACNJ,CAAC,CAACK,mBAAmB;;IAEVL,CAAC,CAACM,kBAAkB,EAAIN,CAAC,CAACO,wBAAwB;;IAE3DP,CAAC,CAACQ,wBAAwB;;;;;;EAMzC,CAAC;;EAEDC,KAAK,WAAAA,MAACT,CAAQ,EAAE;IACd,WAAOC,YAAG,EAAAT,gBAAA,KAAAA,gBAAA,OAAAU,4BAAA,CAAAC,OAAA;IACCH,CAAC,CAACQ,wBAAwB;;EAEvC,CAAC;;EAEDE,eAAe,WAAAA,gBAACV,CAAQ,EAAE;IACxB,WAAOC,YAAG,EAAAR,gBAAA,KAAAA,gBAAA,OAAAS,4BAAA,CAAAC,OAAA;IACCH,CAAC,CAACW,wBAAwB;IACzBX,CAAC,CAACY,yBAAyB;IACrBZ,CAAC,CAACa,8BAA8B;IAC/Bb,CAAC,CAACc,+BAA+B;;EAEtD,CAAC;EACDC,gBAAgB,WAAAA,iBAACf,CAAQ,EAAE;IACzB,WAAOC,YAAG,EAAAP,gBAAA,KAAAA,gBAAA,OAAAQ,4BAAA,CAAAC,OAAA;IACCH,CAAC,CAACgB,yBAAyB;IAC1BhB,CAAC,CAACiB,0BAA0B;IACtBjB,CAAC,CAACkB,+BAA+B;IAChClB,CAAC,CAACmB,gCAAgC;;EAEvD,CAAC;EACDC,eAAe,WAAAA,gBAACpB,CAAQ,EAAE;IACxB,WAAOC,YAAG,EAAAN,gBAAA,KAAAA,gBAAA,OAAAO,4BAAA,CAAAC,OAAA;IACCH,CAAC,CAACqB,wBAAwB;IACzBrB,CAAC,CAACsB,yBAAyB;IACrBtB,CAAC,CAACuB,8BAA8B;IAC/BvB,CAAC,CAACwB,+BAA+B;;EAEtD;AACF,CAAC,CAAC","ignoreList":[]}
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 type { MaskedInputOnBeforePasteValue, MaskedInputProps } from '../../components/MaskedInput';
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, Partial<Pick<MaskedInputProps, 'mask' | 'maskChar' | 'formatChars'>> {
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,mask = _this$props5.mask,maskChar = _this$props5.maskChar,formatChars = _this$props5.formatChars,maskOnBeforePaste = _this$props5.maskOnBeforePaste;var rightIcon = this.getRightIcon();if (editing) {var inputProps = { id: id, align: align, borderless: borderless, disabled: disabled, error: error, 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, warning: warning, inputMode: inputMode, autoComplete: 'off', 'aria-describedby': ariaDescribedby, 'aria-controls': this.menuId, 'aria-label': ariaLabel, showClearIcon: showClearIcon };if (mask) {return /*#__PURE__*/_react.default.createElement(_MaskedInput.MaskedInput, (0, _extends2.default)({ ref: this.refInput }, inputProps, { type: "text", mask: mask, maskChar: maskChar, formatChars: formatChars, onBeforePasteValue: maskOnBeforePaste }));}return /*#__PURE__*/_react.default.createElement(_Input.Input, (0, _extends2.default)({ ref: this.refInput, maxLength: this.props.maxLength }, inputProps));}var _this$getProps4 = this.getProps(),renderValue = _this$getProps4.renderValue;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, className: (0, _Emotion.cx)(mask && _MaskedInput2.styles.root(this.theme)), 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;
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;