@jetbrains/ring-ui 5.0.0-beta.2 → 5.0.0-beta.20

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 (622) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/babel.config.js +1 -12
  3. package/components/alert/alert.css +5 -15
  4. package/components/alert/alert.d.ts +3 -0
  5. package/components/alert/{alert.jsx → alert.js} +8 -7
  6. package/components/alert/container.css +0 -2
  7. package/components/alert/{container.jsx → container.js} +0 -0
  8. package/components/alert-service/alert-service.examples.css +5 -3
  9. package/components/alert-service/{alert-service.jsx → alert-service.js} +1 -1
  10. package/components/analytics/analytics__ga-plugin.d.ts +1 -1
  11. package/components/analytics/analytics__ga-plugin.js +11 -3
  12. package/components/auth/auth__core.d.ts +3 -1
  13. package/components/auth/auth__core.js +47 -16
  14. package/components/auth/down-notification.css +1 -1
  15. package/components/auth/{down-notification.jsx → down-notification.js} +0 -0
  16. package/components/auth/{iframe-flow.jsx → iframe-flow.js} +0 -0
  17. package/components/auth-dialog/auth-dialog.d.ts +11 -0
  18. package/components/auth-dialog/{auth-dialog.jsx → auth-dialog.js} +33 -2
  19. package/components/auth-dialog-service/{auth-dialog-service.jsx → auth-dialog-service.js} +1 -1
  20. package/components/autofocus-ng/autofocus-ng.js +1 -1
  21. package/components/autofocus-ng/autofocus-ng.test.js +1 -1
  22. package/components/avatar/{avatar-example-datauri.jsx → avatar-example-datauri.js} +0 -0
  23. package/components/avatar/{avatar.jsx → avatar.js} +0 -0
  24. package/components/avatar/{fallback-avatar.jsx → fallback-avatar.js} +2 -2
  25. package/components/badge/{badge.jsx → badge.js} +0 -0
  26. package/components/button/button.css +95 -206
  27. package/components/button/button.d.ts +8 -8
  28. package/components/button/{button.jsx → button.js} +6 -8
  29. package/components/button/button__classes.d.ts +1 -1
  30. package/components/button/button__classes.js +4 -7
  31. package/components/button-group/button-group.css +138 -19
  32. package/components/button-group/button-group.d.ts +4 -1
  33. package/components/button-group/{button-group.jsx → button-group.js} +3 -3
  34. package/components/button-group/{caption.jsx → caption.js} +0 -0
  35. package/components/button-group-ng/button-group-ng.css +1 -0
  36. package/components/button-group-ng/button-group-ng.examples.js +1 -1
  37. package/components/button-ng/button-ng.examples.js +6 -7
  38. package/components/button-ng/button-ng.js +6 -25
  39. package/components/button-set/button-set.css +1 -0
  40. package/components/button-set/{button-set.jsx → button-set.js} +0 -0
  41. package/components/button-toolbar/button-toolbar.css +2 -0
  42. package/components/button-toolbar/{button-toolbar.jsx → button-toolbar.js} +0 -0
  43. package/components/checkbox/checkbox.css +16 -13
  44. package/components/checkbox/{checkbox.jsx → checkbox.js} +1 -1
  45. package/components/checkbox-ng/checkbox-ng.js +1 -1
  46. package/components/code/{code.jsx → code.js} +0 -0
  47. package/components/confirm/{confirm.jsx → confirm.js} +0 -0
  48. package/components/confirm-service/{confirm-service.jsx → confirm-service.js} +1 -1
  49. package/components/content-layout/{content-layout.jsx → content-layout.js} +0 -0
  50. package/components/content-layout/{sidebar.jsx → sidebar.js} +0 -0
  51. package/components/contenteditable/{contenteditable.jsx → contenteditable.js} +0 -0
  52. package/components/data-list/data-list.d.ts +4 -8
  53. package/components/data-list/{data-list.jsx → data-list.js} +0 -0
  54. package/components/data-list/{data-list.mock.jsx → data-list.mock.js} +0 -0
  55. package/components/data-list/{item.jsx → item.js} +0 -0
  56. package/components/data-list/{title.jsx → title.js} +0 -0
  57. package/components/date-picker/{date-input.jsx → date-input.js} +2 -1
  58. package/components/date-picker/date-picker.css +3 -1
  59. package/components/date-picker/{date-picker.jsx → date-picker.js} +0 -0
  60. package/components/date-picker/{date-popup.jsx → date-popup.js} +0 -1
  61. package/components/date-picker/{day.jsx → day.js} +0 -0
  62. package/components/date-picker/{month-names.jsx → month-names.js} +0 -0
  63. package/components/date-picker/{month-slider.jsx → month-slider.js} +0 -0
  64. package/components/date-picker/{month.jsx → month.js} +0 -0
  65. package/components/date-picker/{months.jsx → months.js} +0 -0
  66. package/components/date-picker/{weekdays.jsx → weekdays.js} +0 -0
  67. package/components/date-picker/{years.jsx → years.js} +0 -0
  68. package/components/dialog/dialog.css +10 -3
  69. package/components/dialog/dialog.d.ts +1 -1
  70. package/components/dialog/{dialog.jsx → dialog.js} +0 -0
  71. package/components/dialog-ng/dialog-ng__template.js +1 -0
  72. package/components/dropdown/{anchor.jsx → anchor.js} +0 -0
  73. package/components/dropdown/dropdown.d.ts +2 -2
  74. package/components/dropdown/{dropdown.jsx → dropdown.js} +0 -0
  75. package/components/dropdown-menu/{dropdown-menu.jsx → dropdown-menu.js} +0 -0
  76. package/components/error-bubble/error-bubble-legacy.css +1 -1
  77. package/components/error-bubble/error-bubble.css +1 -1
  78. package/components/error-bubble/{error-bubble.jsx → error-bubble.js} +0 -0
  79. package/components/error-message/{error-message.jsx → error-message.js} +0 -0
  80. package/components/footer/{footer.jsx → footer.js} +0 -0
  81. package/components/global/angular-component-factory.js +1 -1
  82. package/components/global/controls-height.d.ts +7 -0
  83. package/components/global/controls-height.js +8 -0
  84. package/components/global/{create-stateful-context.jsx → create-stateful-context.js} +0 -0
  85. package/components/global/{focus-sensor-hoc.jsx → focus-sensor-hoc.js} +0 -0
  86. package/components/global/promise-with-timeout.d.ts +2 -1
  87. package/components/global/promise-with-timeout.js +5 -2
  88. package/components/global/{react-dom-renderer.jsx → react-dom-renderer.js} +0 -0
  89. package/components/global/react-render-adapter.d.ts +29 -0
  90. package/components/global/react-render-adapter.js +36 -0
  91. package/components/global/rerender-hoc.d.ts +5 -9
  92. package/components/global/rerender-hoc.js +4 -2
  93. package/components/global/theme.d.ts +7 -20
  94. package/components/global/theme.js +40 -0
  95. package/components/global/variables.css +30 -26
  96. package/components/global/variables.d.ts +10 -9
  97. package/components/global/variables_dark.css +67 -0
  98. package/components/grid/{col.jsx → col.js} +0 -0
  99. package/components/grid/{grid.jsx → grid.js} +0 -0
  100. package/components/grid/{row.jsx → row.js} +0 -0
  101. package/components/group/{group.jsx → group.js} +0 -0
  102. package/components/header/header.css +19 -10
  103. package/components/header/header.d.ts +7 -69
  104. package/components/header/{header.jsx → header.js} +10 -9
  105. package/components/header/{logo.jsx → logo.js} +0 -0
  106. package/components/header/profile.d.ts +3 -3
  107. package/components/header/{profile.jsx → profile.js} +0 -0
  108. package/components/header/{services-link.jsx → services-link.js} +0 -0
  109. package/components/header/services.css +3 -3
  110. package/components/header/services.d.ts +5 -0
  111. package/components/header/{services.jsx → services.js} +8 -2
  112. package/components/header/{smart-profile.jsx → smart-profile.js} +0 -0
  113. package/components/header/{smart-services.jsx → smart-services.js} +0 -0
  114. package/components/header/tray-icon.d.ts +18 -575
  115. package/components/header/{tray-icon.jsx → tray-icon.js} +0 -0
  116. package/components/header/{tray.jsx → tray.js} +0 -0
  117. package/components/heading/heading.css +4 -1
  118. package/components/heading/{heading.jsx → heading.js} +0 -0
  119. package/components/icon/icon.css +1 -1
  120. package/components/icon/{icon.jsx → icon.js} +0 -0
  121. package/components/icon/{icon__svg.jsx → icon__svg.js} +0 -0
  122. package/components/input/input.css +86 -149
  123. package/components/input/input.d.ts +13 -17
  124. package/components/input/{input.jsx → input.js} +29 -33
  125. package/components/input-ng/input-ng.examples.js +1 -1
  126. package/components/input-ng/input-ng.js +45 -49
  127. package/components/island/adaptive-island-hoc.d.ts +6 -10
  128. package/components/island/{adaptive-island-hoc.jsx → adaptive-island-hoc.js} +2 -2
  129. package/components/island/content.d.ts +33 -2
  130. package/components/island/{content.jsx → content.js} +7 -11
  131. package/components/island/{header.jsx → header.js} +7 -4
  132. package/components/island/island.css +8 -5
  133. package/components/island/island.d.ts +6 -10
  134. package/components/island/{island.jsx → island.js} +0 -0
  135. package/components/island-legacy/{content-legacy.jsx → content-legacy.js} +0 -0
  136. package/components/island-legacy/{header-legacy.jsx → header-legacy.js} +0 -0
  137. package/components/island-legacy/island-legacy.css +1 -1
  138. package/components/island-legacy/{island-legacy.jsx → island-legacy.js} +0 -0
  139. package/components/link/clickableLink.d.ts +1 -1
  140. package/components/link/{clickableLink.jsx → clickableLink.js} +0 -0
  141. package/components/link/link.css +0 -2
  142. package/components/link/link.d.ts +14 -22
  143. package/components/link/{link.jsx → link.js} +0 -0
  144. package/components/list/consts.d.ts +3 -1
  145. package/components/list/list.css +1 -0
  146. package/components/list/list.d.ts +3 -1
  147. package/components/list/{list.jsx → list.js} +12 -13
  148. package/components/list/{list__custom.jsx → list__custom.js} +0 -0
  149. package/components/list/{list__hint.jsx → list__hint.js} +0 -0
  150. package/components/list/{list__item.jsx → list__item.js} +0 -0
  151. package/components/list/{list__link.jsx → list__link.js} +0 -0
  152. package/components/list/{list__separator.jsx → list__separator.js} +0 -0
  153. package/components/list/{list__title.jsx → list__title.js} +0 -0
  154. package/components/loader/{loader.jsx → loader.js} +0 -0
  155. package/components/loader-inline/loader-inline.css +14 -0
  156. package/components/loader-inline/loader-inline.d.ts +4 -41
  157. package/components/loader-inline/{loader-inline.jsx → loader-inline.js} +3 -11
  158. package/components/loader-inline-ng/loader-inline-ng.js +1 -17
  159. package/components/loader-inline-ng/loader-inline-ng.test.js +0 -11
  160. package/components/loader-screen/{loader-screen.jsx → loader-screen.js} +0 -0
  161. package/components/login-dialog/{login-dialog.jsx → login-dialog.js} +0 -0
  162. package/components/login-dialog/{service.jsx → service.js} +1 -1
  163. package/components/markdown/code.d.ts +6 -13
  164. package/components/markdown/{code.jsx → code.js} +2 -2
  165. package/components/markdown/heading.d.ts +5 -9
  166. package/components/markdown/{heading.jsx → heading.js} +2 -2
  167. package/components/markdown/link.d.ts +4 -8
  168. package/components/markdown/{link.jsx → link.js} +1 -1
  169. package/components/markdown/markdown.d.ts +2 -3
  170. package/components/markdown/{markdown.jsx → markdown.js} +14 -11
  171. package/components/message/message.css +18 -28
  172. package/components/message/message.d.ts +3 -0
  173. package/components/message/{message.jsx → message.js} +42 -22
  174. package/components/pager/{pager.jsx → pager.js} +2 -8
  175. package/components/panel/{panel.jsx → panel.js} +0 -0
  176. package/components/popup/popup.css +1 -1
  177. package/components/popup/popup.d.ts +6 -1
  178. package/components/popup/{popup.jsx → popup.js} +4 -2
  179. package/components/popup/popup.target.d.ts +1 -0
  180. package/components/popup/{popup.target.jsx → popup.target.js} +0 -0
  181. package/components/popup/position.d.ts +1 -1
  182. package/components/popup/position.js +2 -2
  183. package/components/popup-menu/popup-menu.d.ts +1 -0
  184. package/components/popup-menu/{popup-menu.jsx → popup-menu.js} +0 -0
  185. package/components/progress-bar/progress-bar.css +8 -12
  186. package/components/progress-bar/progress-bar.d.ts +0 -4
  187. package/components/progress-bar/{progress-bar.jsx → progress-bar.js} +1 -6
  188. package/components/progress-bar-ng/progress-bar-ng.examples.js +3 -2
  189. package/components/query-assist/query-assist.css +48 -64
  190. package/components/query-assist/query-assist.d.ts +4 -13
  191. package/components/query-assist/{query-assist.jsx → query-assist.js} +6 -12
  192. package/components/query-assist/{query-assist__suggestions.jsx → query-assist__suggestions.js} +0 -0
  193. package/components/radio/radio.css +10 -4
  194. package/components/radio/radio.d.ts +1 -1
  195. package/components/radio/{radio.jsx → radio.js} +0 -0
  196. package/components/radio/{radio__item.jsx → radio__item.js} +0 -0
  197. package/components/select/select-popup.css +5 -1
  198. package/components/select/select.css +23 -38
  199. package/components/select/select.d.ts +13 -18
  200. package/components/select/{select.jsx → select.js} +37 -47
  201. package/components/select/{select__filter.jsx → select__filter.js} +2 -1
  202. package/components/select/{select__popup.jsx → select__popup.js} +1 -2
  203. package/components/select-ng/select-ng.examples.js +1 -0
  204. package/components/select-ng/select-ng.js +19 -6
  205. package/components/select-ng/select-ng.test.js +1 -1
  206. package/components/select-ng/select-ng__lazy.js +13 -9
  207. package/components/select-ng/select-ng__lazy.test.js +3 -1
  208. package/components/shortcuts/shortcuts-hoc.d.ts +4 -8
  209. package/components/shortcuts/{shortcuts-hoc.jsx → shortcuts-hoc.js} +0 -0
  210. package/components/shortcuts/shortcuts.d.ts +1 -1
  211. package/components/shortcuts-hint-ng/shortcuts-hint-ng.css +1 -1
  212. package/components/shortcuts-hint-ng/shortcuts-hint-ng.examples.js +1 -1
  213. package/components/tab-trap/tab-trap.d.ts +1 -1
  214. package/components/tab-trap/{tab-trap.jsx → tab-trap.js} +0 -0
  215. package/components/table/{cell.jsx → cell.js} +0 -0
  216. package/components/table/disable-hover-hoc.d.ts +4 -8
  217. package/components/table/{disable-hover-hoc.jsx → disable-hover-hoc.js} +0 -0
  218. package/components/table/{header-cell.jsx → header-cell.js} +0 -0
  219. package/components/table/header.d.ts +8 -1
  220. package/components/table/{header.jsx → header.js} +0 -0
  221. package/components/table/{multitable.jsx → multitable.js} +0 -0
  222. package/components/table/{row-with-focus-sensor.jsx → row-with-focus-sensor.js} +0 -0
  223. package/components/table/{row.jsx → row.js} +0 -0
  224. package/components/table/{selection-shortcuts-hoc.jsx → selection-shortcuts-hoc.js} +0 -0
  225. package/components/table/smart-table.d.ts +1 -0
  226. package/components/table/{smart-table.jsx → smart-table.js} +7 -3
  227. package/components/table/table.d.ts +4 -8
  228. package/components/table/{table.jsx → table.js} +0 -0
  229. package/components/tabs/{collapsible-more.jsx → collapsible-more.js} +2 -2
  230. package/components/tabs/{collapsible-tab.jsx → collapsible-tab.js} +2 -2
  231. package/components/tabs/collapsible-tabs.d.ts +2 -2
  232. package/components/tabs/{collapsible-tabs.jsx → collapsible-tabs.js} +1 -1
  233. package/components/tabs/custom-item.d.ts +1 -1
  234. package/components/tabs/{custom-item.jsx → custom-item.js} +0 -0
  235. package/components/tabs/dumb-tabs.d.ts +5 -108
  236. package/components/tabs/{dumb-tabs.jsx → dumb-tabs.js} +5 -9
  237. package/components/tabs/{smart-tabs.jsx → smart-tabs.js} +0 -0
  238. package/components/tabs/tab-link.d.ts +1 -1
  239. package/components/tabs/{tab-link.jsx → tab-link.js} +0 -0
  240. package/components/tabs/tab.d.ts +3 -1
  241. package/components/tabs/{tab.jsx → tab.js} +0 -0
  242. package/components/tabs/tabs.css +17 -28
  243. package/components/tabs-ng/tabs-ng.examples.js +11 -3
  244. package/components/tabs-ng/tabs-ng.js +1 -4
  245. package/components/tabs-ng/tabs-ng__template.js +1 -1
  246. package/components/tag/tag.css +31 -8
  247. package/components/tag/tag.d.ts +1 -0
  248. package/components/tag/{tag.jsx → tag.js} +2 -2
  249. package/components/tags-input/tags-input.css +10 -4
  250. package/components/tags-input/tags-input.d.ts +4 -8
  251. package/components/tags-input/{tags-input.jsx → tags-input.js} +0 -0
  252. package/components/tags-list/tags-list.d.ts +1 -1
  253. package/components/tags-list/{tags-list.jsx → tags-list.js} +0 -0
  254. package/components/text/{text.jsx → text.js} +0 -0
  255. package/components/toggle/toggle.css +61 -35
  256. package/components/toggle/toggle.d.ts +9 -89
  257. package/components/toggle/{toggle.jsx → toggle.js} +7 -7
  258. package/components/tooltip/tooltip.css +7 -0
  259. package/components/tooltip/tooltip.d.ts +1 -0
  260. package/components/tooltip/{tooltip.jsx → tooltip.js} +3 -2
  261. package/components/tooltip-ng/tooltip-ng.js +13 -10
  262. package/components/user-agreement/service.d.ts +14 -62
  263. package/components/user-agreement/{service.jsx → service.js} +1 -1
  264. package/components/user-agreement/{user-agreement.jsx → user-agreement.js} +1 -1
  265. package/components/user-card/{card.jsx → card.js} +0 -0
  266. package/components/user-card/{smart-user-card-tooltip.jsx → smart-user-card-tooltip.js} +0 -0
  267. package/components/user-card/{tooltip.jsx → tooltip.js} +0 -0
  268. package/dist/_helpers/anchor.js +3 -3
  269. package/dist/_helpers/badge.js +1 -1
  270. package/dist/_helpers/button-group.js +1 -1
  271. package/dist/_helpers/button-set.js +1 -1
  272. package/dist/_helpers/button-toolbar.js +1 -1
  273. package/dist/_helpers/button__classes.js +5 -8
  274. package/dist/_helpers/card.js +1 -1
  275. package/dist/_helpers/checkbox.js +1 -1
  276. package/dist/_helpers/date-picker.js +1 -1
  277. package/dist/_helpers/dialog__body-scroll-preventer.js +3 -2
  278. package/dist/_helpers/error-message.js +1 -1
  279. package/dist/_helpers/footer.js +1 -1
  280. package/dist/_helpers/grid.js +1 -1
  281. package/dist/_helpers/group.js +1 -1
  282. package/dist/_helpers/header.js +1 -1
  283. package/dist/_helpers/icon.js +1 -1
  284. package/dist/_helpers/input.js +1 -1
  285. package/dist/_helpers/island.js +1 -1
  286. package/dist/_helpers/link.js +1 -1
  287. package/dist/_helpers/list.js +1 -1
  288. package/dist/_helpers/loader-inline.js +3 -0
  289. package/dist/_helpers/loader-screen.js +1 -1
  290. package/dist/_helpers/panel.js +1 -1
  291. package/dist/_helpers/query-assist__suggestions.js +1 -1
  292. package/dist/_helpers/radio.js +1 -1
  293. package/dist/_helpers/select__filter.js +6 -3
  294. package/dist/_helpers/services-link.js +2 -2
  295. package/dist/_helpers/sidebar.js +3 -2
  296. package/dist/_helpers/table.js +1 -1
  297. package/dist/_helpers/tabs.js +1 -1
  298. package/dist/_helpers/theme.js +55 -0
  299. package/dist/_helpers/title.js +2 -1
  300. package/dist/alert/alert.d.ts +3 -0
  301. package/dist/alert/alert.js +35 -21
  302. package/dist/alert/container.js +1 -1
  303. package/dist/alert-service/alert-service.js +23 -8
  304. package/dist/analytics/analytics.js +4 -3
  305. package/dist/analytics/analytics__custom-plugin.js +2 -1
  306. package/dist/analytics/analytics__fus-plugin.js +1 -0
  307. package/dist/analytics/analytics__ga-plugin.d.ts +1 -1
  308. package/dist/analytics/analytics__ga-plugin.js +15 -7
  309. package/dist/analytics/analytics__plugin-utils.js +4 -3
  310. package/dist/analytics-ng/analytics-ng.js +3 -2
  311. package/dist/auth/auth.js +22 -9
  312. package/dist/auth/auth__core.d.ts +3 -1
  313. package/dist/auth/auth__core.js +87 -38
  314. package/dist/auth/background-flow.js +2 -1
  315. package/dist/auth/down-notification.js +21 -8
  316. package/dist/auth/iframe-flow.js +4 -1
  317. package/dist/auth/landing.js +26 -13
  318. package/dist/auth/request-builder.js +1 -0
  319. package/dist/auth/response-parser.js +1 -0
  320. package/dist/auth/storage.js +22 -7
  321. package/dist/auth/token-validator.js +2 -0
  322. package/dist/auth/window-flow.js +2 -1
  323. package/dist/auth-dialog/auth-dialog.d.ts +11 -0
  324. package/dist/auth-dialog/auth-dialog.js +55 -8
  325. package/dist/auth-dialog-service/auth-dialog-service.js +5 -2
  326. package/dist/auth-ng/auth-ng.js +23 -10
  327. package/dist/autofocus-ng/autofocus-ng.js +2 -1
  328. package/dist/avatar/avatar-example-datauri.js +1 -23
  329. package/dist/avatar/avatar.js +5 -3
  330. package/dist/avatar/fallback-avatar.js +6 -5
  331. package/dist/avatar-editor-ng/avatar-editor-ng.js +22 -7
  332. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +1 -28
  333. package/dist/avatar-ng/avatar-ng.js +3 -0
  334. package/dist/badge/badge.js +1 -0
  335. package/dist/badge-ng/badge-ng.js +2 -0
  336. package/dist/breadcrumb-ng/breadcrumb-ng.js +4 -28
  337. package/dist/button/button.d.ts +8 -8
  338. package/dist/button/button.js +8 -8
  339. package/dist/button/button__classes.d.ts +1 -1
  340. package/dist/button/button__classes.js +0 -3
  341. package/dist/button-group/button-group.d.ts +4 -1
  342. package/dist/button-group/button-group.js +5 -3
  343. package/dist/button-group-ng/button-group-ng.js +2 -1
  344. package/dist/button-ng/button-ng.js +9 -40
  345. package/dist/button-set-ng/button-set-ng.js +1 -1
  346. package/dist/button-toolbar-ng/button-toolbar-ng.js +1 -0
  347. package/dist/caret/caret.js +2 -0
  348. package/dist/checkbox/checkbox.js +3 -1
  349. package/dist/checkbox-ng/checkbox-ng.js +4 -21
  350. package/dist/code/code.js +4 -3
  351. package/dist/confirm/confirm.js +7 -5
  352. package/dist/confirm-ng/confirm-ng.js +4 -1
  353. package/dist/confirm-service/confirm-service.js +5 -2
  354. package/dist/content-layout/content-layout.js +1 -0
  355. package/dist/content-layout/sidebar.js +1 -0
  356. package/dist/data-list/data-list.d.ts +4 -8
  357. package/dist/data-list/data-list.js +5 -8
  358. package/dist/data-list/data-list.mock.js +1 -0
  359. package/dist/data-list/item.js +11 -14
  360. package/dist/data-list/selection.js +1 -0
  361. package/dist/data-list/title.js +3 -1
  362. package/dist/data-list-ng/data-list-ng.js +6 -8
  363. package/dist/date-picker/consts.js +1 -1
  364. package/dist/date-picker/date-input.js +8 -5
  365. package/dist/date-picker/date-picker.js +11 -9
  366. package/dist/date-picker/date-popup.js +5 -4
  367. package/dist/date-picker/day.js +1 -0
  368. package/dist/date-picker/month-names.js +1 -0
  369. package/dist/date-picker/month-slider.js +1 -0
  370. package/dist/date-picker/month.js +1 -0
  371. package/dist/date-picker/months.js +1 -0
  372. package/dist/date-picker/years.js +1 -0
  373. package/dist/dialog/dialog.d.ts +1 -1
  374. package/dist/dialog/dialog.js +5 -3
  375. package/dist/dialog/dialog__body-scroll-preventer.js +1 -0
  376. package/dist/dialog-ng/dialog-ng.js +9 -6
  377. package/dist/dialog-ng/dialog-ng__template.js +1 -69
  378. package/dist/docked-panel-ng/docked-panel-ng.js +2 -1
  379. package/dist/dropdown/anchor.js +3 -1
  380. package/dist/dropdown/dropdown.d.ts +2 -2
  381. package/dist/dropdown/dropdown.js +3 -1
  382. package/dist/dropdown-menu/dropdown-menu.js +5 -3
  383. package/dist/error-bubble/error-bubble.js +3 -1
  384. package/dist/error-message/error-message.js +3 -1
  385. package/dist/error-message-ng/error-message-ng.js +3 -21
  386. package/dist/footer/footer.js +1 -0
  387. package/dist/footer-ng/footer-ng.js +3 -14
  388. package/dist/form-ng/form-ng.js +2 -4
  389. package/dist/global/angular-component-factory.js +8 -6
  390. package/dist/global/controls-height.d.ts +7 -0
  391. package/dist/global/controls-height.js +13 -0
  392. package/dist/global/create-stateful-context.js +3 -2
  393. package/dist/global/data-tests.js +2 -0
  394. package/dist/global/dom.js +1 -0
  395. package/dist/global/focus-sensor-hoc.js +1 -0
  396. package/dist/global/fuzzy-highlight.js +1 -1
  397. package/dist/global/inject-styles.js +5 -7
  398. package/dist/global/listeners.js +1 -0
  399. package/dist/global/memoize.js +2 -0
  400. package/dist/global/normalize-indent.js +2 -0
  401. package/dist/global/promise-with-timeout.d.ts +2 -1
  402. package/dist/global/promise-with-timeout.js +6 -2
  403. package/dist/global/react-dom-renderer.js +1 -0
  404. package/dist/global/react-render-adapter.d.ts +29 -0
  405. package/dist/global/react-render-adapter.js +41 -0
  406. package/dist/global/rerender-hoc.d.ts +5 -9
  407. package/dist/global/rerender-hoc.js +7 -3
  408. package/dist/global/theme.d.ts +7 -20
  409. package/dist/global/theme.js +22 -62
  410. package/dist/global/trivial-template-tag.js +2 -0
  411. package/dist/global/url.js +3 -1
  412. package/dist/global/variables.d.ts +10 -9
  413. package/dist/grid/col.js +2 -1
  414. package/dist/grid/grid.js +1 -0
  415. package/dist/grid/row.js +1 -1
  416. package/dist/group-ng/group-ng.js +1 -1
  417. package/dist/header/header.d.ts +7 -69
  418. package/dist/header/header.js +31 -31
  419. package/dist/header/logo.js +2 -0
  420. package/dist/header/profile.d.ts +3 -3
  421. package/dist/header/profile.js +6 -4
  422. package/dist/header/services-link.js +1 -0
  423. package/dist/header/services.d.ts +5 -0
  424. package/dist/header/services.js +13 -3
  425. package/dist/header/smart-profile.js +27 -27
  426. package/dist/header/smart-services.js +23 -24
  427. package/dist/header/tray-icon.d.ts +18 -575
  428. package/dist/header/tray-icon.js +6 -4
  429. package/dist/heading/heading.js +3 -3
  430. package/dist/http/http.js +4 -2
  431. package/dist/http/http.mock.js +2 -0
  432. package/dist/hub-source/hub-source.js +1 -1
  433. package/dist/hub-source/hub-source__user.js +4 -2
  434. package/dist/hub-source/hub-source__users-groups.js +3 -2
  435. package/dist/icon/icon.js +3 -3
  436. package/dist/icon/icon__svg.js +2 -0
  437. package/dist/icon/index.js +2 -0
  438. package/dist/icon-ng/icon-ng.js +7 -5
  439. package/dist/input/input.d.ts +13 -17
  440. package/dist/input/input.js +35 -42
  441. package/dist/input-ng/input-ng.js +8 -64
  442. package/dist/island/adaptive-island-hoc.d.ts +6 -10
  443. package/dist/island/adaptive-island-hoc.js +8 -5
  444. package/dist/island/content.d.ts +33 -2
  445. package/dist/island/content.js +10 -13
  446. package/dist/island/header.js +10 -6
  447. package/dist/island/island.d.ts +6 -10
  448. package/dist/island/island.js +1 -0
  449. package/dist/island-ng/island-content-ng.js +2 -16
  450. package/dist/island-ng/island-header-ng.js +2 -8
  451. package/dist/island-ng/island-ng-class-fixer.js +2 -0
  452. package/dist/island-ng/island-ng.js +2 -8
  453. package/dist/link/clickableLink.d.ts +1 -1
  454. package/dist/link/clickableLink.js +1 -0
  455. package/dist/link/link.d.ts +14 -22
  456. package/dist/link/link.js +4 -3
  457. package/dist/link-ng/link-ng.js +1 -4
  458. package/dist/list/consts.d.ts +3 -1
  459. package/dist/list/list.d.ts +3 -1
  460. package/dist/list/list.js +30 -23
  461. package/dist/list/list__custom.js +1 -0
  462. package/dist/list/list__item.js +6 -4
  463. package/dist/list/list__link.js +1 -0
  464. package/dist/list/list__users-groups-source.js +4 -2
  465. package/dist/loader/loader.js +1 -0
  466. package/dist/loader/loader__core.js +5 -4
  467. package/dist/loader-inline/loader-inline.d.ts +4 -41
  468. package/dist/loader-inline/loader-inline.js +4 -21
  469. package/dist/loader-inline-ng/loader-inline-ng.js +2 -30
  470. package/dist/loader-ng/loader-ng.js +1 -0
  471. package/dist/loader-screen/loader-screen.js +1 -0
  472. package/dist/loader-screen-ng/loader-screen-ng.js +2 -6
  473. package/dist/login-dialog/login-dialog.js +4 -2
  474. package/dist/login-dialog/service.js +5 -2
  475. package/dist/markdown/code.d.ts +6 -13
  476. package/dist/markdown/code.js +4 -3
  477. package/dist/markdown/heading.d.ts +5 -9
  478. package/dist/markdown/heading.js +2 -2
  479. package/dist/markdown/link.d.ts +4 -8
  480. package/dist/markdown/link.js +2 -1
  481. package/dist/markdown/markdown.d.ts +2 -3
  482. package/dist/markdown/markdown.js +17 -16
  483. package/dist/message/message.d.ts +3 -0
  484. package/dist/message/message.js +56 -42
  485. package/dist/old-browsers-message/old-browsers-message.js +2 -1
  486. package/dist/old-browsers-message/old-browsers-message__stop.js +1 -0
  487. package/dist/old-browsers-message/white-list.js +1 -0
  488. package/dist/pager/pager.js +14 -15
  489. package/dist/pager-ng/pager-ng.js +8 -9
  490. package/dist/panel-ng/panel-ng.js +1 -0
  491. package/dist/permissions/permissions.js +1 -1
  492. package/dist/permissions-ng/permissions-ng.js +23 -10
  493. package/dist/place-under-ng/place-under-ng.js +3 -2
  494. package/dist/popup/popup.d.ts +6 -1
  495. package/dist/popup/popup.js +11 -5
  496. package/dist/popup/popup.target.d.ts +1 -0
  497. package/dist/popup/position.d.ts +1 -1
  498. package/dist/popup/position.js +3 -2
  499. package/dist/popup-menu/popup-menu.d.ts +1 -0
  500. package/dist/popup-menu/popup-menu.js +3 -1
  501. package/dist/progress-bar/progress-bar.d.ts +0 -4
  502. package/dist/progress-bar/progress-bar.js +3 -8
  503. package/dist/progress-bar-ng/progress-bar-ng.js +2 -1
  504. package/dist/promised-click-ng/promised-click-ng.js +4 -2
  505. package/dist/proxy-attrs/proxy-attrs.js +5 -3
  506. package/dist/query-assist/query-assist.d.ts +4 -13
  507. package/dist/query-assist/query-assist.js +19 -31
  508. package/dist/query-assist/query-assist__suggestions.js +3 -1
  509. package/dist/query-assist-ng/query-assist-ng.js +9 -10
  510. package/dist/radio/radio.d.ts +1 -1
  511. package/dist/radio/radio.js +1 -0
  512. package/dist/radio/radio__item.js +1 -0
  513. package/dist/radio-ng/radio-ng.js +2 -18
  514. package/dist/save-field-ng/save-field-ng.js +5 -10
  515. package/dist/save-field-ng/save-field-ng__template.js +1 -32
  516. package/dist/select/select.d.ts +13 -18
  517. package/dist/select/select.js +65 -77
  518. package/dist/select/select__filter.js +5 -3
  519. package/dist/select/select__popup.js +12 -16
  520. package/dist/select-ng/select-ng.js +28 -17
  521. package/dist/select-ng/select-ng__lazy.js +24 -20
  522. package/dist/select-ng/select-ng__options.js +2 -2
  523. package/dist/shortcuts/shortcuts-hoc.d.ts +4 -8
  524. package/dist/shortcuts/shortcuts-hoc.js +4 -3
  525. package/dist/shortcuts/shortcuts.d.ts +1 -1
  526. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +5 -2
  527. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +1 -48
  528. package/dist/shortcuts-ng/shortcuts-ng.js +4 -3
  529. package/dist/sidebar-ng/sidebar-ng.js +4 -2
  530. package/dist/sidebar-ng/sidebar-ng__button-template.js +1 -18
  531. package/dist/sidebar-ng/sidebar-ng__template.js +1 -10
  532. package/dist/storage/storage.js +22 -7
  533. package/dist/storage/storage__fallback.js +4 -3
  534. package/dist/storage/storage__local.js +22 -7
  535. package/dist/style.css +1 -1
  536. package/dist/tab-trap/tab-trap.d.ts +1 -1
  537. package/dist/tab-trap/tab-trap.js +2 -1
  538. package/dist/table/cell.js +1 -0
  539. package/dist/table/disable-hover-hoc.d.ts +4 -8
  540. package/dist/table/disable-hover-hoc.js +4 -3
  541. package/dist/table/header-cell.js +2 -0
  542. package/dist/table/header.d.ts +8 -1
  543. package/dist/table/header.js +3 -1
  544. package/dist/table/multitable.js +1 -0
  545. package/dist/table/row-with-focus-sensor.js +4 -2
  546. package/dist/table/row.js +9 -7
  547. package/dist/table/selection-adapter.js +2 -0
  548. package/dist/table/selection-shortcuts-hoc.js +1 -0
  549. package/dist/table/selection.js +1 -0
  550. package/dist/table/smart-table.d.ts +1 -0
  551. package/dist/table/smart-table.js +14 -8
  552. package/dist/table/table.d.ts +4 -8
  553. package/dist/table/table.js +4 -2
  554. package/dist/table-legacy-ng/table-legacy-ng.js +16 -54
  555. package/dist/table-legacy-ng/table-legacy-ng__pager.js +9 -16
  556. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +2 -1
  557. package/dist/table-ng/smart-table-ng.js +5 -2
  558. package/dist/table-ng/table-ng.js +5 -2
  559. package/dist/tabs/collapsible-more.js +5 -3
  560. package/dist/tabs/collapsible-tab.js +4 -2
  561. package/dist/tabs/collapsible-tabs.d.ts +2 -2
  562. package/dist/tabs/collapsible-tabs.js +4 -2
  563. package/dist/tabs/custom-item.d.ts +1 -1
  564. package/dist/tabs/dumb-tabs.d.ts +5 -108
  565. package/dist/tabs/dumb-tabs.js +9 -13
  566. package/dist/tabs/smart-tabs.js +6 -4
  567. package/dist/tabs/tab-link.d.ts +1 -1
  568. package/dist/tabs/tab-link.js +1 -0
  569. package/dist/tabs/tab.d.ts +3 -1
  570. package/dist/tabs/tab.js +1 -0
  571. package/dist/tabs/tabs.js +4 -2
  572. package/dist/tabs-ng/tabs-ng.js +2 -6
  573. package/dist/tabs-ng/tabs-ng__template.js +1 -38
  574. package/dist/tag/tag.d.ts +1 -0
  575. package/dist/tag/tag.js +8 -6
  576. package/dist/tags-input/tags-input.d.ts +4 -8
  577. package/dist/tags-input/tags-input.js +10 -11
  578. package/dist/tags-input-ng/tags-input-ng.js +9 -10
  579. package/dist/tags-list/tags-list.d.ts +1 -1
  580. package/dist/tags-list/tags-list.js +4 -2
  581. package/dist/template-ng/template-ng.js +1 -0
  582. package/dist/text/text.js +1 -1
  583. package/dist/theme-ng/theme-ng.js +1 -0
  584. package/dist/toggle/toggle.d.ts +9 -89
  585. package/dist/toggle/toggle.js +8 -8
  586. package/dist/toggle-ng/toggle-ng.js +4 -3
  587. package/dist/tooltip/tooltip.d.ts +1 -0
  588. package/dist/tooltip/tooltip.js +8 -3
  589. package/dist/tooltip-ng/tooltip-ng.js +12 -6
  590. package/dist/user-agreement/service.d.ts +14 -62
  591. package/dist/user-agreement/service.js +23 -21
  592. package/dist/user-agreement/toolbox.eula.js +1 -160
  593. package/dist/user-agreement/user-agreement.js +10 -10
  594. package/dist/user-card/card.js +2 -0
  595. package/dist/user-card/smart-user-card-tooltip.js +8 -11
  596. package/dist/user-card/tooltip.js +3 -1
  597. package/dist/user-card/user-card.js +4 -7
  598. package/dist/user-card-ng/user-card-ng.js +7 -9
  599. package/package.json +78 -69
  600. package/webpack.config.js +0 -11
  601. package/components/global/conic-gradient.d.ts +0 -796
  602. package/components/global/conic-gradient.js +0 -21
  603. package/components/global/radial-gradient-mask.d.ts +0 -9
  604. package/components/global/radial-gradient-mask.js +0 -39
  605. package/components/global/supports-css.d.ts +0 -2
  606. package/components/global/supports-css.js +0 -14
  607. package/components/global/theme.jsx +0 -39
  608. package/components/global/variables_dark.d.ts +0 -3
  609. package/components/global/variables_dark.js +0 -53
  610. package/components/loader-inline/inject-styles.d.ts +0 -2
  611. package/components/loader-inline/inject-styles.js +0 -17
  612. package/dist/_helpers/inject-styles.js +0 -22
  613. package/dist/global/conic-gradient.d.ts +0 -796
  614. package/dist/global/conic-gradient.js +0 -35
  615. package/dist/global/radial-gradient-mask.d.ts +0 -9
  616. package/dist/global/radial-gradient-mask.js +0 -49
  617. package/dist/global/supports-css.d.ts +0 -2
  618. package/dist/global/supports-css.js +0 -20
  619. package/dist/global/variables_dark.d.ts +0 -3
  620. package/dist/global/variables_dark.js +0 -57
  621. package/dist/loader-inline/inject-styles.d.ts +0 -2
  622. package/dist/loader-inline/inject-styles.js +0 -11
@@ -3,8 +3,8 @@ import PropTypes from 'prop-types';
3
3
  import debounce from 'just-debounce-it';
4
4
  import classNames from 'classnames';
5
5
  import deepEqual from 'deep-equal';
6
- import searchIcon from '@jetbrains/icons/search';
7
- import closeIcon from '@jetbrains/icons/close';
6
+ import searchIcon from '@jetbrains/icons/search-12px';
7
+ import closeIcon from '@jetbrains/icons/close-12px';
8
8
  import getUID from '../global/get-uid';
9
9
  import dataTests from '../global/data-tests';
10
10
  import { getRect, preventDefault } from '../global/dom';
@@ -14,7 +14,6 @@ import PopupMenu from '../popup-menu/popup-menu';
14
14
  import LoaderInline from '../loader-inline/loader-inline';
15
15
  import Shortcuts from '../shortcuts/shortcuts';
16
16
  import rerenderHOC from '../global/rerender-hoc';
17
- import Theme from '../global/theme';
18
17
  import Button from '../button/button';
19
18
  import QueryAssistSuggestions from './query-assist__suggestions';
20
19
  import styles from './query-assist.css';
@@ -66,7 +65,6 @@ function cleanText(text) {
66
65
  */
67
66
  export default class QueryAssist extends Component {
68
67
  static propTypes = {
69
- theme: PropTypes.string,
70
68
  /**
71
69
  * Open suggestions popup during the initial render
72
70
  */
@@ -153,7 +151,6 @@ export default class QueryAssist extends Component {
153
151
  'data-test': PropTypes.string
154
152
  };
155
153
  static defaultProps = {
156
- theme: Theme.LIGHT,
157
154
  onApply: noop,
158
155
  onChange: noop,
159
156
  onApplySuggestion: noop,
@@ -247,7 +244,6 @@ export default class QueryAssist extends Component {
247
244
  }
248
245
  }
249
246
  static ngModelStateField = ngModelStateField;
250
- static Theme = Theme;
251
247
  immediateState;
252
248
  requestData;
253
249
  ngModelStateField = ngModelStateField;
@@ -756,11 +752,10 @@ export default class QueryAssist extends Component {
756
752
  return actions;
757
753
  }
758
754
  render() {
759
- const { theme, glass, 'data-test': dataTest, className, useCustomItemRender } = this.props;
755
+ const { glass, 'data-test': dataTest, className, useCustomItemRender } = this.props;
760
756
  const renderPlaceholder = !!this.props.placeholder && this.state.placeholderEnabled;
761
757
  const renderLoader = this.props.loader !== false && this.state.loading;
762
758
  const renderGlass = glass && !renderLoader;
763
- const renderUnderline = theme === Theme.DARK;
764
759
  const actions = this.renderActions();
765
760
  const inputClasses = classNames({
766
761
  [`${styles.input} ring-js-shortcuts`]: true,
@@ -769,7 +764,7 @@ export default class QueryAssist extends Component {
769
764
  [styles.inputLeftGap]: this.isRenderingGlassOrLoader() && glass,
770
765
  [styles.inputDisabled]: this.props.disabled
771
766
  });
772
- return (<div data-test={dataTests('ring-query-assist', dataTest)} className={classNames(className, styles.queryAssist, styles[theme])} role="presentation" ref={this.nodeRef}>
767
+ return (<div data-test={dataTests('ring-query-assist', dataTest)} className={classNames(className, styles.queryAssist)} role="presentation" ref={this.nodeRef}>
773
768
  {this.state.shortcuts &&
774
769
  (<Shortcuts map={this.shortcutsMap} scope={this.shortcutsScope}/>)}
775
770
 
@@ -777,7 +772,7 @@ export default class QueryAssist extends Component {
777
772
  {renderLoader && (<div className={classNames(styles.icon, styles.loader, {
778
773
  [styles.loaderOnTheRight]: !glass
779
774
  })} ref={this.loaderRef}>
780
- <LoaderInline theme={theme}/>
775
+ <LoaderInline />
781
776
  </div>)}
782
777
 
783
778
  <ContentEditable aria-label={this.props.translations.searchTitle} className={inputClasses} data-test="ring-query-assist-input" inputRef={this.inputRef} disabled={this.props.disabled} onComponentUpdate={() => this.setCaretPosition({ fromContentEditable: true })} onBlur={this.handleFocusChange} onClick={this.handleCaretMove} onCompositionStart={this.trackCompositionState} onCompositionEnd={this.trackCompositionState} onFocus={this.handleFocusChange} onInput={this.handleInput} // To support IE use the same method
@@ -789,10 +784,9 @@ export default class QueryAssist extends Component {
789
784
  })} ref={this.placeholderRef} onClick={this.handleCaretMove} data-test="query-assist-placeholder">
790
785
  {this.props.placeholder}
791
786
  </button>)}
792
- {renderUnderline && <div className={styles.focusUnderline}/>}
793
787
  {actions &&
794
788
  <div data-test="ring-query-assist-actions" className={styles.actions}>{actions}</div>}
795
- <PopupMenu hidden={!this.state.showPopup} onCloseAttempt={this.closePopup} ref={this.popupRef} anchorElement={this.node} keepMounted attached className={classNames(styles[theme], this.props.popupClassName)} directions={[PopupMenu.PopupProps.Directions.BOTTOM_RIGHT]} data={useCustomItemRender ? this.state.suggestions : this.renderSuggestions()} data-test="ring-query-assist-popup" hint={this.props.hint} hintOnSelection={this.props.hintOnSelection} left={this.getPopupOffset(this.state.suggestions)} maxHeight={PopupMenu.PopupProps.MaxHeight.SCREEN} onMouseDown={this.trackPopupMouseState} onMouseUp={this.trackPopupMouseState} onSelect={item => this.handleComplete(item)}/>
789
+ <PopupMenu hidden={!this.state.showPopup} onCloseAttempt={this.closePopup} ref={this.popupRef} anchorElement={this.node} keepMounted attached className={this.props.popupClassName} directions={[PopupMenu.PopupProps.Directions.BOTTOM_RIGHT]} data={useCustomItemRender ? this.state.suggestions : this.renderSuggestions()} data-test="ring-query-assist-popup" hint={this.props.hint} hintOnSelection={this.props.hintOnSelection} left={this.getPopupOffset(this.state.suggestions)} maxHeight={PopupMenu.PopupProps.MaxHeight.SCREEN} onMouseDown={this.trackPopupMouseState} onMouseUp={this.trackPopupMouseState} onSelect={item => this.handleComplete(item)}/>
796
790
  </div>);
797
791
  }
798
792
  }
@@ -74,11 +74,12 @@
74
74
  opacity: 0;
75
75
 
76
76
  &[disabled] + .circle {
77
- border-color: var(--ring-borders-color);
77
+ border-color: var(--ring-border-unselected-disabled-color);
78
+ background-color: var(--ring-disabled-background-color);
78
79
  }
79
80
 
80
81
  &:checked + .circle {
81
- border-color: var(--ring-border-hover-color);
82
+ border-color: var(--ring-main-color);
82
83
 
83
84
  /* stylelint-disable-next-line selector-max-specificity */
84
85
  &::after {
@@ -101,8 +102,13 @@
101
102
  }
102
103
 
103
104
  /* stylelint-disable-next-line selector-max-specificity */
104
- &[disabled]:checked + .circle::after {
105
- opacity: 0.5;
105
+ &[disabled]:checked + .circle {
106
+ border-color: var(--ring-border-disabled-color);
107
+
108
+ /* stylelint-disable-next-line selector-max-specificity */
109
+ &::after {
110
+ background-color: var(--ring-border-disabled-color);
111
+ }
106
112
  }
107
113
 
108
114
  &[disabled] ~ .label {
@@ -10,7 +10,7 @@ export default class Radio extends Component<RadioProps> {
10
10
  disabled: PropTypes.Requireable<boolean>;
11
11
  value: PropTypes.Requireable<string | number | boolean>;
12
12
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
13
- children: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
13
+ children: PropTypes.Validator<string | number | boolean | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
14
14
  };
15
15
  static Item: React.ForwardRefExoticComponent<import("./radio__item").RadioItemProps & React.RefAttributes<import("./radio__item").Radio>>;
16
16
  uid: string;
File without changes
@@ -22,7 +22,9 @@
22
22
  }
23
23
 
24
24
  .filter {
25
- width: 100%;
25
+ flex-grow: 1;
26
+
27
+ width: 0;
26
28
 
27
29
  & input {
28
30
  font-weight: 200;
@@ -32,6 +34,8 @@
32
34
  .filterWrapper {
33
35
  position: relative;
34
36
 
37
+ display: flex;
38
+
35
39
  margin: 0;
36
40
  padding-right: unit;
37
41
  padding-left: calc(unit * 5.5);
@@ -1,6 +1,7 @@
1
1
  @import "../global/variables.css";
2
2
 
3
3
  @value unit from "../global/global.css";
4
+ @value button-shadow from "../button/button.css";
4
5
 
5
6
  .select {
6
7
  position: relative;
@@ -39,8 +40,8 @@
39
40
 
40
41
  .icons {
41
42
  position: absolute;
42
- top: -2px;
43
- right: 0;
43
+ top: -3px;
44
+ right: calc(unit * 1.5);
44
45
 
45
46
  transition: color var(--ring-ease);
46
47
 
@@ -55,20 +56,16 @@
55
56
  }
56
57
 
57
58
  @nest .inputMode & {
58
- top: 12px;
59
-
60
59
  font-size: var(--ring-font-size);
61
60
  }
62
-
63
- @nest .buttonMode & {
64
- top: -4px;
65
- right: unit;
66
- }
67
61
  }
68
62
 
69
63
  .selectedIcon {
70
64
  composes: resetButton from "../global/global.css";
71
65
 
66
+ position: relative;
67
+ top: 3px;
68
+
72
69
  display: inline-block;
73
70
 
74
71
  width: calc(2 * unit);
@@ -84,11 +81,7 @@
84
81
  .clearIcon {
85
82
  padding: 0 3px;
86
83
 
87
- vertical-align: -1px;
88
- }
89
-
90
- .clearIcon.clearIcon > span > span {
91
- color: var(--ring-icon-secondary-color);
84
+ vertical-align: -2px;
92
85
  }
93
86
 
94
87
  .sizeS {
@@ -111,8 +104,7 @@
111
104
  max-width: 100%;
112
105
  }
113
106
 
114
- .buttonMode,
115
- .materialMode {
107
+ .buttonMode {
116
108
  position: relative;
117
109
 
118
110
  cursor: pointer;
@@ -168,14 +160,18 @@
168
160
  display: block;
169
161
 
170
162
  width: 100%;
163
+ padding-left: unit;
171
164
 
172
165
  text-align: left;
173
166
  vertical-align: calc(0 - unit);
174
167
  }
175
168
 
176
- .buttonValueOpen {
177
- border-color: var(--ring-selected-background-color);
178
- background-color: var(--ring-selected-background-color);
169
+ .buttonValue:global(.focus-visible) {
170
+ box-shadow: button-shadow var(--ring-main-color);
171
+ }
172
+
173
+ .buttonValueOpen.buttonValueOpen {
174
+ box-shadow: button-shadow var(--ring-main-color);
179
175
  }
180
176
 
181
177
  .label {
@@ -186,6 +182,7 @@
186
182
 
187
183
  .select:hover .value,
188
184
  .select:hover .icons,
185
+ :global(.focus-visible) + .icons,
189
186
  .value:focus,
190
187
  .value:focus + .icons,
191
188
  .open,
@@ -207,23 +204,6 @@
207
204
  }
208
205
  }
209
206
 
210
- .selectedLabel {
211
- position: absolute;
212
- top: calc(unit * -1.5);
213
- left: 0;
214
-
215
- overflow: hidden;
216
-
217
- max-width: 100%;
218
-
219
- text-overflow: ellipsis;
220
-
221
- color: var(--ring-secondary-color);
222
-
223
- font-size: var(--ring-font-size-smaller);
224
- line-height: var(--ring-line-height-lowest);
225
- }
226
-
227
207
  .avatar {
228
208
  margin-right: 4px;
229
209
 
@@ -236,9 +216,10 @@
236
216
  }
237
217
 
238
218
  .chevron.chevron {
239
- padding: 0;
219
+ padding: 0 3px;
240
220
 
241
221
  transition: none;
222
+ vertical-align: -1px;
242
223
 
243
224
  color: inherit;
244
225
  }
@@ -249,6 +230,10 @@
249
230
  color: inherit;
250
231
  }
251
232
 
252
- .avatar {
233
+ .heightS .avatar {
253
234
  vertical-align: -6px;
254
235
  }
236
+
237
+ .heightS .icons {
238
+ top: -5px;
239
+ }
@@ -1,9 +1,9 @@
1
1
  import React, { ButtonHTMLAttributes, Component, CSSProperties, HTMLAttributes, ReactNode, RefCallback, SyntheticEvent } from 'react';
2
2
  import { SelectHandlerParams } from '../list/list';
3
3
  import { Size } from '../input/input';
4
- import Theme from '../global/theme';
5
4
  import { ListDataItem } from '../list/consts';
6
5
  import { Directions } from '../popup/popup.consts';
6
+ import { ControlsHeight } from '../global/controls-height';
7
7
  import SelectPopup, { Filter, FilterFn, Multiple, Tags } from './select__popup';
8
8
  /**
9
9
  * @name Select
@@ -17,7 +17,6 @@ declare enum Type {
17
17
  INPUT = "INPUT",
18
18
  CUSTOM = "CUSTOM",
19
19
  INLINE = "INLINE",
20
- MATERIAL = "MATERIAL",
21
20
  INPUT_WITHOUT_CONTROLS = "INPUT_WITHOUT_CONTROLS"
22
21
  }
23
22
  declare type SelectItemData<T> = T & {
@@ -61,7 +60,7 @@ export interface BaseSelectProps<T = unknown> {
61
60
  maxHeight: number;
62
61
  hideArrow: boolean;
63
62
  directions: readonly Directions[];
64
- label: string;
63
+ label: string | null;
65
64
  selectedLabel: ReactNode;
66
65
  inputPlaceholder: string;
67
66
  shortcutsEnabled: boolean;
@@ -69,7 +68,7 @@ export interface BaseSelectProps<T = unknown> {
69
68
  onLoadMore: () => void;
70
69
  onOpen: () => void;
71
70
  onFilter: (value: string) => void;
72
- onFocus: () => void;
71
+ onFocus: (e: React.FocusEvent<HTMLInputElement>) => void;
73
72
  onBlur: () => void;
74
73
  onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
75
74
  onSelect: (selected: SelectItem<T> | null, event?: Event | SyntheticEvent) => void;
@@ -78,6 +77,8 @@ export interface BaseSelectProps<T = unknown> {
78
77
  onDone: () => void;
79
78
  onReset: () => void;
80
79
  dir: 'ltr' | 'rtl';
80
+ renderBottomToolbar?: () => ReactNode;
81
+ height?: ControlsHeight | undefined;
81
82
  targetElement?: HTMLElement | null | undefined;
82
83
  className?: string | null | undefined;
83
84
  buttonClassName?: string | null | undefined;
@@ -93,7 +94,6 @@ export interface BaseSelectProps<T = unknown> {
93
94
  hint?: ReactNode;
94
95
  add?: Add | null | undefined;
95
96
  compact?: boolean | null | undefined;
96
- theme?: string | null | undefined;
97
97
  customAnchor?: ((props: CustomAnchorProps) => ReactNode) | null | undefined;
98
98
  disableMoveOverflow?: boolean | null | undefined;
99
99
  disableScrollToActive?: boolean | null | undefined;
@@ -162,8 +162,8 @@ export default class Select<T = unknown> extends Component<SelectProps<T>, Selec
162
162
  maxHeight: number;
163
163
  directions: Directions[];
164
164
  selected: null;
165
- label: string;
166
- selectedLabel: string;
165
+ label: null;
166
+ selectedLabel: null;
167
167
  inputPlaceholder: string;
168
168
  hint: null;
169
169
  shortcutsEnabled: boolean;
@@ -188,9 +188,9 @@ export default class Select<T = unknown> extends Component<SelectProps<T>, Selec
188
188
  static getDerivedStateFromProps<T = unknown>(nextProps: SelectProps<T>, prevState: SelectState<T>): Partial<SelectState<T>>;
189
189
  state: SelectState<T>;
190
190
  componentDidUpdate(prevProps: SelectProps<T>, prevState: SelectState<T>): void;
191
+ static contextType: React.Context<ControlsHeight>;
191
192
  static Type: typeof Type;
192
193
  static Size: typeof Size;
193
- static Theme: typeof Theme;
194
194
  id: string;
195
195
  shortcutsScope: string;
196
196
  listId: string;
@@ -221,6 +221,7 @@ export default class Select<T = unknown> extends Component<SelectProps<T>, Selec
221
221
  filterValue(setValue: string): void;
222
222
  isInputMode(): boolean;
223
223
  _clickHandler: () => void;
224
+ _openPopupIfClosed: () => void;
224
225
  _filterChangeHandler: (e: React.ChangeEvent<HTMLInputElement>) => void;
225
226
  private _setFilter;
226
227
  private _rebuildMultipleMap;
@@ -235,8 +236,6 @@ export default class Select<T = unknown> extends Component<SelectProps<T>, Selec
235
236
  _getSelectedString(): string | null;
236
237
  private _getIcons;
237
238
  private _getAvatar;
238
- button?: HTMLElement | null;
239
- buttonRef: (el: HTMLElement | null) => void;
240
239
  filter?: HTMLInputElement | null;
241
240
  filterRef: (el: HTMLInputElement | null) => void;
242
241
  getShortcutsMap(): {
@@ -258,18 +257,14 @@ export declare type MultipleSelectAttrs<T = unknown> = JSX.LibraryManagedAttribu
258
257
  export declare type SelectAttrs<T = unknown> = JSX.LibraryManagedAttributes<typeof Select, SelectProps<T>>;
259
258
  export declare const RerenderableSelect: {
260
259
  new (props: SelectProps<unknown>): {
261
- _propsCache: Readonly<SelectProps<unknown>> & Readonly<{
262
- children?: React.ReactNode;
263
- }>;
264
- rerender(props?: Partial<SelectProps<unknown>>, callback?: (() => void) | undefined): void | Element | React.Component<SelectProps<unknown>, any, any>;
260
+ _propsCache: SelectProps<unknown> & React.RefAttributes<unknown>;
261
+ rerender(props?: Partial<SelectProps<unknown>>, callback?: (() => void) | undefined): void;
265
262
  node?: HTMLElement | null | undefined;
266
- context: any;
263
+ context: unknown;
267
264
  setState<K extends keyof SelectState<unknown>>(state: SelectState<unknown> | ((prevState: Readonly<SelectState<unknown>>, props: Readonly<SelectProps<unknown>>) => SelectState<unknown> | Pick<SelectState<unknown>, K> | null) | Pick<SelectState<unknown>, K> | null, callback?: (() => void) | undefined): void;
268
265
  forceUpdate(callback?: (() => void) | undefined): void;
269
266
  render(): React.ReactNode;
270
- readonly props: Readonly<SelectProps<unknown>> & Readonly<{
271
- children?: React.ReactNode;
272
- }>;
267
+ readonly props: Readonly<SelectProps<unknown>>;
273
268
  state: Readonly<SelectState<unknown>>;
274
269
  refs: {
275
270
  [key: string]: React.ReactInstance;
@@ -1,8 +1,8 @@
1
1
  import React, { Component, Fragment } from 'react';
2
2
  import classNames from 'classnames';
3
3
  import PropTypes from 'prop-types';
4
- import chevronDownIcon from '@jetbrains/icons/chevron-10px';
5
- import closeIcon from '@jetbrains/icons/close';
4
+ import chevronDownIcon from '@jetbrains/icons/chevron-down';
5
+ import closeIcon from '@jetbrains/icons/close-12px';
6
6
  import deepEqual from 'deep-equal';
7
7
  import { Anchor } from '../dropdown/dropdown';
8
8
  import Avatar, { Size as AvatarSize } from '../avatar/avatar';
@@ -15,9 +15,9 @@ import dataTests from '../global/data-tests';
15
15
  import getUID from '../global/get-uid';
16
16
  import rerenderHOC from '../global/rerender-hoc';
17
17
  import fuzzyHighlight from '../global/fuzzy-highlight';
18
- import Theme from '../global/theme';
19
18
  import memoize from '../global/memoize';
20
19
  import { isArray } from '../global/typescript-utils';
20
+ import { ControlsHeightContext } from '../global/controls-height';
21
21
  import SelectPopup from './select__popup';
22
22
  import styles from './select.css';
23
23
  /**
@@ -33,12 +33,12 @@ var Type;
33
33
  Type["INPUT"] = "INPUT";
34
34
  Type["CUSTOM"] = "CUSTOM";
35
35
  Type["INLINE"] = "INLINE";
36
- Type["MATERIAL"] = "MATERIAL";
37
36
  Type["INPUT_WITHOUT_CONTROLS"] = "INPUT_WITHOUT_CONTROLS";
38
37
  })(Type || (Type = {}));
38
+ const ICONS_OFFSET = 12;
39
39
  const ICON_WIDTH = 20;
40
40
  const getStyle = memoize((iconsLength) => ({
41
- paddingRight: iconsLength * ICON_WIDTH
41
+ paddingRight: ICONS_OFFSET + iconsLength * ICON_WIDTH
42
42
  }));
43
43
  const isInputMode = (type) => type === Type.INPUT || type === Type.INPUT_WITHOUT_CONTROLS;
44
44
  function getLowerCaseLabel(item) {
@@ -75,8 +75,8 @@ function buildMultipleMap(selected) {
75
75
  }
76
76
  function getListItems(props, state, rawFilterString, data = props.data) {
77
77
  let filterString = rawFilterString.trim();
78
- if (isInputMode(props.type) && state.selected && !Array.isArray(state.selected) &&
79
- filterString === state.selected.label) {
78
+ if (isInputMode(props.type) && !props.allowAny && state.selected &&
79
+ !Array.isArray(state.selected) && filterString === state.selected.label) {
80
80
  filterString = ''; // ignore multiple if it is exactly the selected item
81
81
  }
82
82
  const lowerCaseString = filterString.toLowerCase();
@@ -183,7 +183,7 @@ export default class Select extends Component {
183
183
  disabled: false,
184
184
  loadingMessage: 'Loading...',
185
185
  notFoundMessage: 'No options found',
186
- type: Type.MATERIAL,
186
+ type: Type.BUTTON,
187
187
  size: Size.M,
188
188
  targetElement: null,
189
189
  hideSelected: false,
@@ -197,8 +197,8 @@ export default class Select extends Component {
197
197
  Popup.PopupProps.Directions.TOP_RIGHT
198
198
  ],
199
199
  selected: null,
200
- label: '',
201
- selectedLabel: '',
200
+ label: null,
201
+ selectedLabel: null,
202
202
  inputPlaceholder: '',
203
203
  hint: null,
204
204
  shortcutsEnabled: false,
@@ -253,6 +253,9 @@ export default class Select extends Component {
253
253
  if (prevMultiple !== multiple && !deepEqual(prevMultiple, multiple)) {
254
254
  nextState.selected = multiple ? [] : null;
255
255
  }
256
+ if (multiple && !nextState.selected) {
257
+ nextState.selected = prevState.selected;
258
+ }
256
259
  const { selected } = { ...prevState, ...nextState };
257
260
  if (selected && Array.isArray(selected)) {
258
261
  nextState.multipleMap = buildMultipleMap(selected);
@@ -290,14 +293,14 @@ export default class Select extends Component {
290
293
  onChange(selected);
291
294
  }
292
295
  }
296
+ static contextType = ControlsHeightContext;
293
297
  static Type = Type;
294
298
  static Size = Size;
295
- static Theme = Theme;
296
299
  id = getUID('select-');
297
300
  shortcutsScope = this.id;
298
301
  listId = `${this.id}:list`;
299
- _focusHandler = () => {
300
- this.props.onFocus();
302
+ _focusHandler = (e) => {
303
+ this.props.onFocus(e);
301
304
  this.setState({
302
305
  shortcutsEnabled: true,
303
306
  focused: true
@@ -441,13 +444,14 @@ export default class Select extends Component {
441
444
  }
442
445
  _hidePopup(tryFocusAnchor) {
443
446
  if (this.node && this.state.showPopup) {
444
- this.setState({
447
+ this.setState(prevState => ({
445
448
  showPopup: false,
446
- filterValue: ''
447
- });
449
+ filterValue: this.props.allowAny ? prevState.filterValue : ''
450
+ }));
448
451
  if (tryFocusAnchor) {
449
- const restoreFocusNode = this.props.targetElement ||
452
+ const focusableSelectExists = this.node &&
450
453
  this.node.querySelector('[data-test~=ring-select__focus]');
454
+ const restoreFocusNode = this.props.targetElement || focusableSelectExists;
451
455
  if (restoreFocusNode) {
452
456
  restoreFocusNode.focus();
453
457
  }
@@ -460,15 +464,16 @@ export default class Select extends Component {
460
464
  this.props.onAdd(value);
461
465
  };
462
466
  getToolbar() {
463
- const { hint } = this.props;
467
+ const { hint, renderBottomToolbar } = this.props;
464
468
  const { prefix, label, delayed } = this.state.addButton || {};
465
- const isToolbarHasElements = this.state.addButton || hint;
469
+ const isToolbarHasElements = this.state.addButton || hint || renderBottomToolbar;
466
470
  if (!isToolbarHasElements) {
467
471
  return null;
468
472
  }
469
473
  return (<div className={classNames({
470
- [styles.toolbar]: !!this.state.addButton
474
+ [styles.toolbar]: Boolean(this.state.addButton || renderBottomToolbar)
471
475
  })} data-test="ring-select-toolbar">
476
+ {renderBottomToolbar && renderBottomToolbar()}
472
477
  {this.state.addButton && (<Button text delayed={delayed} className={classNames(styles.button, styles.buttonSpaced)} onClick={this.addHandler} data-test="ring-select-toolbar-button">
473
478
  {prefix ? `${prefix} ${label}` : label}
474
479
  </Button>)}
@@ -508,6 +513,13 @@ export default class Select extends Component {
508
513
  }
509
514
  }
510
515
  };
516
+ _openPopupIfClosed = () => {
517
+ if (this.props.disabled || this.state.showPopup) {
518
+ return;
519
+ }
520
+ this.props.onBeforeOpen();
521
+ this._showPopup();
522
+ };
511
523
  _filterChangeHandler = (e) => {
512
524
  this._setFilter(e.currentTarget.value, e);
513
525
  };
@@ -703,9 +715,7 @@ export default class Select extends Component {
703
715
  !this.state.selected;
704
716
  }
705
717
  _getLabel() {
706
- return this.props.label ||
707
- (typeof this.props.selectedLabel === 'string' ? this.props.selectedLabel : null) ||
708
- 'Select an option';
718
+ return this.props.label ?? this.props.selectedLabel ?? 'Select an option';
709
719
  }
710
720
  _getSelectedString() {
711
721
  if (Array.isArray(this.state.selected)) {
@@ -738,10 +748,6 @@ export default class Select extends Component {
738
748
  return !Array.isArray(this.state.selected) &&
739
749
  (this.state.selected?.avatar || this.state.selected?.showGeneratedAvatar) && (<Avatar className={styles.avatar} url={this.state.selected.avatar} username={this.state.selected.username} size={AvatarSize.Size20}/>);
740
750
  }
741
- button;
742
- buttonRef = (el) => {
743
- this.button = el;
744
- };
745
751
  filter;
746
752
  filterRef = (el) => {
747
753
  this.filter = el;
@@ -762,7 +768,7 @@ export default class Select extends Component {
762
768
  renderSelect(activeItemId) {
763
769
  const dataTest = this.props['data-test'];
764
770
  const { shortcutsEnabled } = this.state;
765
- const classes = classNames(styles.select, 'ring-js-shortcuts', this.props.className, {
771
+ const classes = classNames(styles.select, 'ring-js-shortcuts', this.props.className, styles[`height${this.props.height || this.context}`], {
766
772
  [styles[`size${this.props.size}`]]: this.props.type !== Type.INLINE,
767
773
  [styles.disabled]: this.props.disabled
768
774
  });
@@ -779,20 +785,19 @@ export default class Select extends Component {
779
785
  case Type.INPUT_WITHOUT_CONTROLS:
780
786
  case Type.INPUT: return (<div ref={this.nodeRef} className={classNames(classes, styles.inputMode)} data-test={dataTests('ring-select', dataTest)}>
781
787
  {shortcutsEnabled && (<Shortcuts map={this.getShortcutsMap()} scope={this.shortcutsScope}/>)}
782
- <Input {...ariaProps} autoComplete="off" id={this.props.id} onClick={this._clickHandler} inputRef={this.filterRef} disabled={this.props.disabled} value={this.state.filterValue} borderless={this.props.type === Type.INPUT_WITHOUT_CONTROLS} style={style} size={Size.FULL} onChange={this._filterChangeHandler} onFocus={this._focusHandler} onBlur={this._blurHandler} label={this.props.type === Type.INPUT ? this._getLabel() : null} placeholder={this.props.inputPlaceholder} onKeyDown={this.props.onKeyDown} data-test="ring-select__focus" enableShortcuts={shortcutsEnabled
788
+ <Input {...ariaProps} height={this.props.height} autoComplete="off" id={this.props.id} onClick={this._clickHandler} inputRef={this.filterRef} disabled={this.props.disabled} value={this.state.filterValue} borderless={this.props.type === Type.INPUT_WITHOUT_CONTROLS} style={style} size={Size.FULL} onChange={this._filterChangeHandler} onFocus={this._focusHandler} onBlur={this._blurHandler} label={this.props.type === Type.INPUT ? this._getLabel() : null} placeholder={this.props.inputPlaceholder} onKeyDown={this.props.onKeyDown} data-test="ring-select__focus" enableShortcuts={shortcutsEnabled
783
789
  ? Object.keys({
784
790
  ...this.getShortcutsMap(),
785
791
  ...this._popup?.list?.shortcutsMap
786
792
  })
787
- : undefined}/>
788
- {this.props.type === Type.INPUT && iconsNode}
793
+ : undefined} afterInput={this.props.type === Type.INPUT && iconsNode}/>
789
794
  {this._renderPopup()}
790
795
  </div>);
791
796
  case Type.BUTTON:
792
797
  return (<div ref={this.nodeRef} className={classNames(classes, styles.buttonMode)} data-test={dataTests('ring-select', dataTest)}>
793
798
  {shortcutsEnabled && (<Shortcuts map={this.getShortcutsMap()} scope={this.shortcutsScope}/>)}
794
799
  <div className={styles.buttonContainer}>
795
- <Button {...ariaProps} id={this.props.id} onClick={this._clickHandler} className={classNames(this.props.buttonClassName, styles.buttonValue, {
800
+ <Button {...ariaProps} height={this.props.height} id={this.props.id} onClick={this._clickHandler} className={classNames(this.props.buttonClassName, styles.buttonValue, {
796
801
  [styles.buttonValueOpen]: this.state.showPopup
797
802
  })} disabled={this.props.disabled} style={style} data-test="ring-select__button ring-select__focus">
798
803
  {this._getAvatar()}
@@ -801,20 +806,6 @@ export default class Select extends Component {
801
806
  {iconsNode}
802
807
  </div>
803
808
  {this._renderPopup()}
804
- </div>);
805
- case Type.MATERIAL:
806
- return (<div ref={this.nodeRef} className={classNames(classes, styles.materialMode)} data-test={dataTests('ring-select', dataTest)}>
807
- {shortcutsEnabled && (<Shortcuts map={this.getShortcutsMap()} scope={this.shortcutsScope}/>)}
808
- {!this._selectionIsEmpty() && this.props.selectedLabel && (<span className={styles.selectedLabel}>{this.props.selectedLabel}</span>)}
809
- <button {...ariaProps} id={this.props.id} onClick={this._clickHandler} type="button" disabled={this.props.disabled} className={classNames(this.props.buttonClassName, styles.value, {
810
- [styles.open]: this.state.showPopup,
811
- [styles.label]: this._selectionIsEmpty()
812
- })} aria-label={this._getLabel()} style={style} data-test="ring-select__focus" ref={this.buttonRef}>
813
- {this._getAvatar()}
814
- {this._selectionIsEmpty() ? this._getLabel() : this._getSelectedString()}
815
- </button>
816
- {iconsNode}
817
- {this._renderPopup()}
818
809
  </div>);
819
810
  case Type.INLINE:
820
811
  return (<div className={classes} ref={this.nodeRef} data-test={dataTests('ring-select', dataTest)}>
@@ -912,7 +903,6 @@ Select.propTypes = {
912
903
  hideArrow: PropTypes.bool,
913
904
  compact: PropTypes.bool,
914
905
  size: PropTypes.oneOf(Object.values(Size)),
915
- theme: PropTypes.string,
916
906
  customAnchor: PropTypes.func,
917
907
  disableMoveOverflow: PropTypes.bool,
918
908
  disableScrollToActive: PropTypes.bool,
@@ -4,6 +4,7 @@ import classNames from 'classnames';
4
4
  import Input from '../input/input';
5
5
  import sniffr from '../global/sniffer';
6
6
  import { ActiveItemContext } from '../list/list';
7
+ import { ControlsHeight } from '../global/controls-height';
7
8
  import styles from './select-popup.css';
8
9
  function noop() { }
9
10
  export default class SelectFilter extends Component {
@@ -34,7 +35,7 @@ export default class SelectFilter extends Component {
34
35
  const { className, listId, ...restProps } = this.props;
35
36
  const classes = classNames(styles.filter, className);
36
37
  return (<ActiveItemContext.ValueContext.Consumer>
37
- {activeItemId => (<Input {...restProps} aria-owns={listId} aria-activedescendant={activeItemId} autoComplete="off" autoFocus borderless inputRef={this.inputRef} className={classes}/>)}
38
+ {activeItemId => (<Input {...restProps} aria-owns={listId} aria-activedescendant={activeItemId} autoComplete="off" autoFocus borderless height={ControlsHeight.L} inputRef={this.inputRef} className={classes}/>)}
38
39
  </ActiveItemContext.ValueContext.Consumer>);
39
40
  }
40
41
  }