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

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 (632) 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.d.ts +1 -0
  24. package/components/avatar/{avatar.jsx → avatar.js} +0 -0
  25. package/components/avatar/{fallback-avatar.jsx → fallback-avatar.js} +2 -2
  26. package/components/badge/{badge.jsx → badge.js} +0 -0
  27. package/components/button/button.css +95 -206
  28. package/components/button/button.d.ts +8 -8
  29. package/components/button/{button.jsx → button.js} +6 -8
  30. package/components/button/button__classes.d.ts +1 -1
  31. package/components/button/button__classes.js +4 -7
  32. package/components/button-group/button-group.css +138 -19
  33. package/components/button-group/button-group.d.ts +4 -1
  34. package/components/button-group/{button-group.jsx → button-group.js} +3 -3
  35. package/components/button-group/{caption.jsx → caption.js} +0 -0
  36. package/components/button-group-ng/button-group-ng.css +1 -0
  37. package/components/button-group-ng/button-group-ng.examples.js +1 -1
  38. package/components/button-ng/button-ng.examples.js +6 -7
  39. package/components/button-ng/button-ng.js +6 -25
  40. package/components/button-set/button-set.css +1 -0
  41. package/components/button-set/{button-set.jsx → button-set.js} +0 -0
  42. package/components/button-toolbar/button-toolbar.css +2 -0
  43. package/components/button-toolbar/{button-toolbar.jsx → button-toolbar.js} +0 -0
  44. package/components/checkbox/checkbox.css +16 -13
  45. package/components/checkbox/{checkbox.jsx → checkbox.js} +1 -1
  46. package/components/checkbox-ng/checkbox-ng.js +1 -1
  47. package/components/code/{code.jsx → code.js} +0 -0
  48. package/components/confirm/{confirm.jsx → confirm.js} +0 -0
  49. package/components/confirm-service/{confirm-service.jsx → confirm-service.js} +1 -1
  50. package/components/content-layout/{content-layout.jsx → content-layout.js} +0 -0
  51. package/components/content-layout/{sidebar.jsx → sidebar.js} +0 -0
  52. package/components/contenteditable/{contenteditable.jsx → contenteditable.js} +0 -0
  53. package/components/data-list/data-list.d.ts +4 -8
  54. package/components/data-list/{data-list.jsx → data-list.js} +0 -0
  55. package/components/data-list/{data-list.mock.jsx → data-list.mock.js} +0 -0
  56. package/components/data-list/{item.jsx → item.js} +0 -0
  57. package/components/data-list/{title.jsx → title.js} +0 -0
  58. package/components/date-picker/{date-input.jsx → date-input.js} +2 -1
  59. package/components/date-picker/date-picker.css +3 -1
  60. package/components/date-picker/{date-picker.jsx → date-picker.js} +0 -0
  61. package/components/date-picker/{date-popup.jsx → date-popup.js} +0 -1
  62. package/components/date-picker/{day.jsx → day.js} +0 -0
  63. package/components/date-picker/{month-names.jsx → month-names.js} +0 -0
  64. package/components/date-picker/{month-slider.jsx → month-slider.js} +0 -0
  65. package/components/date-picker/{month.jsx → month.js} +0 -0
  66. package/components/date-picker/{months.jsx → months.js} +0 -0
  67. package/components/date-picker/{weekdays.jsx → weekdays.js} +0 -0
  68. package/components/date-picker/{years.jsx → years.js} +0 -0
  69. package/components/dialog/dialog.css +10 -3
  70. package/components/dialog/dialog.d.ts +1 -1
  71. package/components/dialog/{dialog.jsx → dialog.js} +0 -0
  72. package/components/dialog-ng/dialog-ng__template.js +1 -0
  73. package/components/dropdown/{anchor.jsx → anchor.js} +0 -0
  74. package/components/dropdown/dropdown.d.ts +2 -2
  75. package/components/dropdown/{dropdown.jsx → dropdown.js} +0 -0
  76. package/components/dropdown-menu/{dropdown-menu.jsx → dropdown-menu.js} +0 -0
  77. package/components/error-bubble/error-bubble-legacy.css +1 -1
  78. package/components/error-bubble/error-bubble.css +1 -1
  79. package/components/error-bubble/{error-bubble.jsx → error-bubble.js} +0 -0
  80. package/components/error-message/{error-message.jsx → error-message.js} +0 -0
  81. package/components/footer/{footer.jsx → footer.js} +0 -0
  82. package/components/global/angular-component-factory.js +1 -1
  83. package/components/global/controls-height.d.ts +7 -0
  84. package/components/global/controls-height.js +8 -0
  85. package/components/global/{create-stateful-context.jsx → create-stateful-context.js} +0 -0
  86. package/components/global/{focus-sensor-hoc.jsx → focus-sensor-hoc.js} +0 -0
  87. package/components/global/promise-with-timeout.d.ts +2 -1
  88. package/components/global/promise-with-timeout.js +5 -2
  89. package/components/global/{react-dom-renderer.jsx → react-dom-renderer.js} +0 -0
  90. package/components/global/react-render-adapter.d.ts +29 -0
  91. package/components/global/react-render-adapter.js +36 -0
  92. package/components/global/rerender-hoc.d.ts +5 -9
  93. package/components/global/rerender-hoc.js +4 -2
  94. package/components/global/theme.d.ts +7 -20
  95. package/components/global/theme.js +40 -0
  96. package/components/global/variables.css +30 -26
  97. package/components/global/variables.d.ts +10 -9
  98. package/components/global/variables_dark.css +67 -0
  99. package/components/grid/{col.jsx → col.js} +0 -0
  100. package/components/grid/{grid.jsx → grid.js} +0 -0
  101. package/components/grid/{row.jsx → row.js} +0 -0
  102. package/components/group/{group.jsx → group.js} +0 -0
  103. package/components/header/header.css +19 -10
  104. package/components/header/header.d.ts +7 -69
  105. package/components/header/{header.jsx → header.js} +10 -9
  106. package/components/header/{logo.jsx → logo.js} +0 -0
  107. package/components/header/profile.d.ts +3 -3
  108. package/components/header/{profile.jsx → profile.js} +0 -0
  109. package/components/header/{services-link.jsx → services-link.js} +0 -0
  110. package/components/header/services.css +3 -3
  111. package/components/header/services.d.ts +5 -0
  112. package/components/header/{services.jsx → services.js} +8 -2
  113. package/components/header/{smart-profile.jsx → smart-profile.js} +0 -0
  114. package/components/header/{smart-services.jsx → smart-services.js} +0 -0
  115. package/components/header/tray-icon.d.ts +18 -575
  116. package/components/header/{tray-icon.jsx → tray-icon.js} +0 -0
  117. package/components/header/{tray.jsx → tray.js} +0 -0
  118. package/components/heading/heading.css +4 -1
  119. package/components/heading/{heading.jsx → heading.js} +0 -0
  120. package/components/icon/icon.css +1 -1
  121. package/components/icon/{icon.jsx → icon.js} +0 -0
  122. package/components/icon/{icon__svg.jsx → icon__svg.js} +0 -0
  123. package/components/input/input.css +86 -149
  124. package/components/input/input.d.ts +15 -17
  125. package/components/input/{input.jsx → input.js} +29 -33
  126. package/components/input-ng/input-ng.examples.js +1 -1
  127. package/components/input-ng/input-ng.js +45 -49
  128. package/components/island/adaptive-island-hoc.d.ts +6 -10
  129. package/components/island/{adaptive-island-hoc.jsx → adaptive-island-hoc.js} +2 -2
  130. package/components/island/content.d.ts +33 -2
  131. package/components/island/{content.jsx → content.js} +7 -11
  132. package/components/island/{header.jsx → header.js} +7 -4
  133. package/components/island/island.css +8 -5
  134. package/components/island/island.d.ts +6 -10
  135. package/components/island/{island.jsx → island.js} +0 -0
  136. package/components/island-legacy/{content-legacy.jsx → content-legacy.js} +0 -0
  137. package/components/island-legacy/{header-legacy.jsx → header-legacy.js} +0 -0
  138. package/components/island-legacy/island-legacy.css +1 -1
  139. package/components/island-legacy/{island-legacy.jsx → island-legacy.js} +0 -0
  140. package/components/link/clickableLink.d.ts +1 -1
  141. package/components/link/{clickableLink.jsx → clickableLink.js} +0 -0
  142. package/components/link/link.css +0 -2
  143. package/components/link/link.d.ts +14 -22
  144. package/components/link/{link.jsx → link.js} +0 -0
  145. package/components/list/consts.d.ts +3 -1
  146. package/components/list/list.css +1 -0
  147. package/components/list/list.d.ts +3 -1
  148. package/components/list/{list.jsx → list.js} +12 -13
  149. package/components/list/{list__custom.jsx → list__custom.js} +0 -0
  150. package/components/list/{list__hint.jsx → list__hint.js} +0 -0
  151. package/components/list/{list__item.jsx → list__item.js} +0 -0
  152. package/components/list/{list__link.jsx → list__link.js} +2 -2
  153. package/components/list/{list__separator.jsx → list__separator.js} +0 -0
  154. package/components/list/{list__title.jsx → list__title.js} +0 -0
  155. package/components/loader/{loader.jsx → loader.js} +0 -0
  156. package/components/loader-inline/loader-inline.css +14 -0
  157. package/components/loader-inline/loader-inline.d.ts +4 -41
  158. package/components/loader-inline/{loader-inline.jsx → loader-inline.js} +3 -11
  159. package/components/loader-inline-ng/loader-inline-ng.js +1 -17
  160. package/components/loader-inline-ng/loader-inline-ng.test.js +0 -11
  161. package/components/loader-screen/{loader-screen.jsx → loader-screen.js} +0 -0
  162. package/components/login-dialog/{login-dialog.jsx → login-dialog.js} +0 -0
  163. package/components/login-dialog/{service.jsx → service.js} +1 -1
  164. package/components/markdown/code.d.ts +6 -13
  165. package/components/markdown/{code.jsx → code.js} +2 -2
  166. package/components/markdown/heading.d.ts +5 -9
  167. package/components/markdown/{heading.jsx → heading.js} +2 -2
  168. package/components/markdown/link.d.ts +4 -8
  169. package/components/markdown/{link.jsx → link.js} +1 -1
  170. package/components/markdown/markdown.d.ts +2 -3
  171. package/components/markdown/{markdown.jsx → markdown.js} +14 -11
  172. package/components/message/message.css +18 -28
  173. package/components/message/message.d.ts +3 -0
  174. package/components/message/{message.jsx → message.js} +42 -22
  175. package/components/pager/{pager.jsx → pager.js} +2 -8
  176. package/components/panel/{panel.jsx → panel.js} +0 -0
  177. package/components/popup/popup.css +1 -1
  178. package/components/popup/popup.d.ts +7 -1
  179. package/components/popup/{popup.jsx → popup.js} +4 -2
  180. package/components/popup/popup.target.d.ts +2 -1
  181. package/components/popup/{popup.target.jsx → popup.target.js} +0 -0
  182. package/components/popup/position.d.ts +1 -1
  183. package/components/popup/position.js +2 -2
  184. package/components/popup-menu/popup-menu.d.ts +1 -0
  185. package/components/popup-menu/{popup-menu.jsx → popup-menu.js} +0 -0
  186. package/components/progress-bar/progress-bar.css +8 -12
  187. package/components/progress-bar/progress-bar.d.ts +0 -4
  188. package/components/progress-bar/{progress-bar.jsx → progress-bar.js} +1 -6
  189. package/components/progress-bar-ng/progress-bar-ng.examples.js +3 -2
  190. package/components/query-assist/query-assist.css +48 -64
  191. package/components/query-assist/query-assist.d.ts +5 -14
  192. package/components/query-assist/{query-assist.jsx → query-assist.js} +6 -12
  193. package/components/query-assist/{query-assist__suggestions.jsx → query-assist__suggestions.js} +0 -0
  194. package/components/radio/radio.css +10 -4
  195. package/components/radio/radio.d.ts +1 -1
  196. package/components/radio/{radio.jsx → radio.js} +0 -0
  197. package/components/radio/{radio__item.jsx → radio__item.js} +0 -0
  198. package/components/select/select-popup.css +5 -1
  199. package/components/select/select.css +23 -38
  200. package/components/select/select.d.ts +16 -20
  201. package/components/select/{select.jsx → select.js} +37 -47
  202. package/components/select/{select__filter.jsx → select__filter.js} +2 -1
  203. package/components/select/select__popup.d.ts +1 -1
  204. package/components/select/{select__popup.jsx → select__popup.js} +1 -2
  205. package/components/select-ng/select-ng.examples.js +1 -0
  206. package/components/select-ng/select-ng.js +19 -6
  207. package/components/select-ng/select-ng.test.js +1 -1
  208. package/components/select-ng/select-ng__lazy.js +13 -9
  209. package/components/select-ng/select-ng__lazy.test.js +3 -1
  210. package/components/shortcuts/shortcuts-hoc.d.ts +4 -8
  211. package/components/shortcuts/{shortcuts-hoc.jsx → shortcuts-hoc.js} +0 -0
  212. package/components/shortcuts/shortcuts.d.ts +1 -1
  213. package/components/shortcuts-hint-ng/shortcuts-hint-ng.css +1 -1
  214. package/components/shortcuts-hint-ng/shortcuts-hint-ng.examples.js +1 -1
  215. package/components/tab-trap/tab-trap.d.ts +1 -1
  216. package/components/tab-trap/{tab-trap.jsx → tab-trap.js} +0 -0
  217. package/components/table/{cell.jsx → cell.js} +0 -0
  218. package/components/table/disable-hover-hoc.d.ts +4 -8
  219. package/components/table/{disable-hover-hoc.jsx → disable-hover-hoc.js} +0 -0
  220. package/components/table/{header-cell.jsx → header-cell.js} +0 -0
  221. package/components/table/header.d.ts +8 -1
  222. package/components/table/{header.jsx → header.js} +0 -0
  223. package/components/table/{multitable.jsx → multitable.js} +0 -0
  224. package/components/table/row-with-focus-sensor.d.ts +4 -4
  225. package/components/table/{row-with-focus-sensor.jsx → row-with-focus-sensor.js} +4 -4
  226. package/components/table/row.d.ts +1 -0
  227. package/components/table/{row.jsx → row.js} +0 -0
  228. package/components/table/{selection-shortcuts-hoc.jsx → selection-shortcuts-hoc.js} +0 -0
  229. package/components/table/smart-table.d.ts +1 -0
  230. package/components/table/{smart-table.jsx → smart-table.js} +7 -3
  231. package/components/table/table.d.ts +4 -8
  232. package/components/table/{table.jsx → table.js} +0 -0
  233. package/components/tabs/{collapsible-more.jsx → collapsible-more.js} +2 -2
  234. package/components/tabs/{collapsible-tab.jsx → collapsible-tab.js} +2 -2
  235. package/components/tabs/collapsible-tabs.d.ts +2 -2
  236. package/components/tabs/{collapsible-tabs.jsx → collapsible-tabs.js} +1 -1
  237. package/components/tabs/custom-item.d.ts +1 -1
  238. package/components/tabs/{custom-item.jsx → custom-item.js} +0 -0
  239. package/components/tabs/dumb-tabs.d.ts +6 -109
  240. package/components/tabs/{dumb-tabs.jsx → dumb-tabs.js} +5 -9
  241. package/components/tabs/smart-tabs.d.ts +4 -4
  242. package/components/tabs/{smart-tabs.jsx → smart-tabs.js} +9 -3
  243. package/components/tabs/tab-link.d.ts +1 -1
  244. package/components/tabs/{tab-link.jsx → tab-link.js} +0 -0
  245. package/components/tabs/tab.d.ts +3 -1
  246. package/components/tabs/{tab.jsx → tab.js} +0 -0
  247. package/components/tabs/tabs.css +17 -28
  248. package/components/tabs-ng/tabs-ng.examples.js +11 -3
  249. package/components/tabs-ng/tabs-ng.js +1 -4
  250. package/components/tabs-ng/tabs-ng__template.js +1 -1
  251. package/components/tag/tag.css +31 -8
  252. package/components/tag/tag.d.ts +1 -0
  253. package/components/tag/{tag.jsx → tag.js} +2 -2
  254. package/components/tags-input/tags-input.css +10 -4
  255. package/components/tags-input/tags-input.d.ts +4 -8
  256. package/components/tags-input/{tags-input.jsx → tags-input.js} +0 -0
  257. package/components/tags-list/tags-list.d.ts +1 -1
  258. package/components/tags-list/{tags-list.jsx → tags-list.js} +0 -0
  259. package/components/text/{text.jsx → text.js} +0 -0
  260. package/components/toggle/toggle.css +61 -35
  261. package/components/toggle/toggle.d.ts +9 -89
  262. package/components/toggle/{toggle.jsx → toggle.js} +7 -7
  263. package/components/tooltip/tooltip.css +7 -0
  264. package/components/tooltip/tooltip.d.ts +1 -0
  265. package/components/tooltip/{tooltip.jsx → tooltip.js} +3 -2
  266. package/components/tooltip-ng/tooltip-ng.js +13 -10
  267. package/components/user-agreement/service.d.ts +14 -62
  268. package/components/user-agreement/{service.jsx → service.js} +1 -1
  269. package/components/user-agreement/{user-agreement.jsx → user-agreement.js} +1 -1
  270. package/components/user-card/{card.jsx → card.js} +0 -0
  271. package/components/user-card/{smart-user-card-tooltip.jsx → smart-user-card-tooltip.js} +0 -0
  272. package/components/user-card/{tooltip.jsx → tooltip.js} +0 -0
  273. package/dist/_helpers/anchor.js +3 -3
  274. package/dist/_helpers/badge.js +1 -1
  275. package/dist/_helpers/button-group.js +1 -1
  276. package/dist/_helpers/button-set.js +1 -1
  277. package/dist/_helpers/button-toolbar.js +1 -1
  278. package/dist/_helpers/button__classes.js +5 -8
  279. package/dist/_helpers/card.js +1 -1
  280. package/dist/_helpers/checkbox.js +1 -1
  281. package/dist/_helpers/date-picker.js +1 -1
  282. package/dist/_helpers/dialog__body-scroll-preventer.js +3 -2
  283. package/dist/_helpers/error-message.js +1 -1
  284. package/dist/_helpers/footer.js +1 -1
  285. package/dist/_helpers/grid.js +1 -1
  286. package/dist/_helpers/group.js +1 -1
  287. package/dist/_helpers/header.js +1 -1
  288. package/dist/_helpers/icon.js +1 -1
  289. package/dist/_helpers/input.js +1 -1
  290. package/dist/_helpers/island.js +1 -1
  291. package/dist/_helpers/link.js +1 -1
  292. package/dist/_helpers/list.js +1 -1
  293. package/dist/_helpers/loader-inline.js +3 -0
  294. package/dist/_helpers/loader-screen.js +1 -1
  295. package/dist/_helpers/panel.js +1 -1
  296. package/dist/_helpers/query-assist__suggestions.js +1 -1
  297. package/dist/_helpers/radio.js +1 -1
  298. package/dist/_helpers/select__filter.js +6 -3
  299. package/dist/_helpers/services-link.js +2 -2
  300. package/dist/_helpers/sidebar.js +3 -2
  301. package/dist/_helpers/table.js +1 -1
  302. package/dist/_helpers/tabs.js +1 -1
  303. package/dist/_helpers/theme.js +55 -0
  304. package/dist/_helpers/title.js +2 -1
  305. package/dist/alert/alert.d.ts +3 -0
  306. package/dist/alert/alert.js +35 -21
  307. package/dist/alert/container.js +1 -1
  308. package/dist/alert-service/alert-service.js +23 -8
  309. package/dist/analytics/analytics.js +4 -3
  310. package/dist/analytics/analytics__custom-plugin.js +2 -1
  311. package/dist/analytics/analytics__fus-plugin.js +1 -0
  312. package/dist/analytics/analytics__ga-plugin.d.ts +1 -1
  313. package/dist/analytics/analytics__ga-plugin.js +15 -7
  314. package/dist/analytics/analytics__plugin-utils.js +4 -3
  315. package/dist/analytics-ng/analytics-ng.js +3 -2
  316. package/dist/auth/auth.js +22 -9
  317. package/dist/auth/auth__core.d.ts +3 -1
  318. package/dist/auth/auth__core.js +87 -38
  319. package/dist/auth/background-flow.js +2 -1
  320. package/dist/auth/down-notification.js +21 -8
  321. package/dist/auth/iframe-flow.js +4 -1
  322. package/dist/auth/landing.js +26 -13
  323. package/dist/auth/request-builder.js +1 -0
  324. package/dist/auth/response-parser.js +1 -0
  325. package/dist/auth/storage.js +22 -7
  326. package/dist/auth/token-validator.js +2 -0
  327. package/dist/auth/window-flow.js +2 -1
  328. package/dist/auth-dialog/auth-dialog.d.ts +11 -0
  329. package/dist/auth-dialog/auth-dialog.js +55 -8
  330. package/dist/auth-dialog-service/auth-dialog-service.js +5 -2
  331. package/dist/auth-ng/auth-ng.js +23 -10
  332. package/dist/autofocus-ng/autofocus-ng.js +2 -1
  333. package/dist/avatar/avatar-example-datauri.js +1 -23
  334. package/dist/avatar/avatar.d.ts +1 -0
  335. package/dist/avatar/avatar.js +5 -3
  336. package/dist/avatar/fallback-avatar.js +6 -5
  337. package/dist/avatar-editor-ng/avatar-editor-ng.js +22 -7
  338. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +1 -28
  339. package/dist/avatar-ng/avatar-ng.js +3 -0
  340. package/dist/badge/badge.js +1 -0
  341. package/dist/badge-ng/badge-ng.js +2 -0
  342. package/dist/breadcrumb-ng/breadcrumb-ng.js +4 -28
  343. package/dist/button/button.d.ts +8 -8
  344. package/dist/button/button.js +8 -8
  345. package/dist/button/button__classes.d.ts +1 -1
  346. package/dist/button/button__classes.js +0 -3
  347. package/dist/button-group/button-group.d.ts +4 -1
  348. package/dist/button-group/button-group.js +5 -3
  349. package/dist/button-group-ng/button-group-ng.js +2 -1
  350. package/dist/button-ng/button-ng.js +9 -40
  351. package/dist/button-set-ng/button-set-ng.js +1 -1
  352. package/dist/button-toolbar-ng/button-toolbar-ng.js +1 -0
  353. package/dist/caret/caret.js +2 -0
  354. package/dist/checkbox/checkbox.js +3 -1
  355. package/dist/checkbox-ng/checkbox-ng.js +4 -21
  356. package/dist/code/code.js +4 -3
  357. package/dist/confirm/confirm.js +7 -5
  358. package/dist/confirm-ng/confirm-ng.js +4 -1
  359. package/dist/confirm-service/confirm-service.js +5 -2
  360. package/dist/content-layout/content-layout.js +1 -0
  361. package/dist/content-layout/sidebar.js +1 -0
  362. package/dist/data-list/data-list.d.ts +4 -8
  363. package/dist/data-list/data-list.js +5 -8
  364. package/dist/data-list/data-list.mock.js +1 -0
  365. package/dist/data-list/item.js +11 -14
  366. package/dist/data-list/selection.js +1 -0
  367. package/dist/data-list/title.js +3 -1
  368. package/dist/data-list-ng/data-list-ng.js +6 -8
  369. package/dist/date-picker/consts.js +1 -1
  370. package/dist/date-picker/date-input.js +8 -5
  371. package/dist/date-picker/date-picker.js +11 -9
  372. package/dist/date-picker/date-popup.js +5 -4
  373. package/dist/date-picker/day.js +1 -0
  374. package/dist/date-picker/month-names.js +1 -0
  375. package/dist/date-picker/month-slider.js +1 -0
  376. package/dist/date-picker/month.js +1 -0
  377. package/dist/date-picker/months.js +1 -0
  378. package/dist/date-picker/years.js +1 -0
  379. package/dist/dialog/dialog.d.ts +1 -1
  380. package/dist/dialog/dialog.js +5 -3
  381. package/dist/dialog/dialog__body-scroll-preventer.js +1 -0
  382. package/dist/dialog-ng/dialog-ng.js +9 -6
  383. package/dist/dialog-ng/dialog-ng__template.js +1 -69
  384. package/dist/docked-panel-ng/docked-panel-ng.js +2 -1
  385. package/dist/dropdown/anchor.js +3 -1
  386. package/dist/dropdown/dropdown.d.ts +2 -2
  387. package/dist/dropdown/dropdown.js +3 -1
  388. package/dist/dropdown-menu/dropdown-menu.js +5 -3
  389. package/dist/error-bubble/error-bubble.js +3 -1
  390. package/dist/error-message/error-message.js +3 -1
  391. package/dist/error-message-ng/error-message-ng.js +3 -21
  392. package/dist/footer/footer.js +1 -0
  393. package/dist/footer-ng/footer-ng.js +3 -14
  394. package/dist/form-ng/form-ng.js +2 -4
  395. package/dist/global/angular-component-factory.js +8 -6
  396. package/dist/global/controls-height.d.ts +7 -0
  397. package/dist/global/controls-height.js +13 -0
  398. package/dist/global/create-stateful-context.js +3 -2
  399. package/dist/global/data-tests.js +2 -0
  400. package/dist/global/dom.js +1 -0
  401. package/dist/global/focus-sensor-hoc.js +1 -0
  402. package/dist/global/fuzzy-highlight.js +1 -1
  403. package/dist/global/inject-styles.js +5 -7
  404. package/dist/global/listeners.js +1 -0
  405. package/dist/global/memoize.js +2 -0
  406. package/dist/global/normalize-indent.js +2 -0
  407. package/dist/global/promise-with-timeout.d.ts +2 -1
  408. package/dist/global/promise-with-timeout.js +6 -2
  409. package/dist/global/react-dom-renderer.js +1 -0
  410. package/dist/global/react-render-adapter.d.ts +29 -0
  411. package/dist/global/react-render-adapter.js +41 -0
  412. package/dist/global/rerender-hoc.d.ts +5 -9
  413. package/dist/global/rerender-hoc.js +7 -3
  414. package/dist/global/theme.d.ts +7 -20
  415. package/dist/global/theme.js +22 -62
  416. package/dist/global/trivial-template-tag.js +2 -0
  417. package/dist/global/url.js +3 -1
  418. package/dist/global/variables.d.ts +10 -9
  419. package/dist/grid/col.js +2 -1
  420. package/dist/grid/grid.js +1 -0
  421. package/dist/grid/row.js +1 -1
  422. package/dist/group-ng/group-ng.js +1 -1
  423. package/dist/header/header.d.ts +7 -69
  424. package/dist/header/header.js +31 -31
  425. package/dist/header/logo.js +2 -0
  426. package/dist/header/profile.d.ts +3 -3
  427. package/dist/header/profile.js +6 -4
  428. package/dist/header/services-link.js +1 -0
  429. package/dist/header/services.d.ts +5 -0
  430. package/dist/header/services.js +13 -3
  431. package/dist/header/smart-profile.js +27 -27
  432. package/dist/header/smart-services.js +23 -24
  433. package/dist/header/tray-icon.d.ts +18 -575
  434. package/dist/header/tray-icon.js +6 -4
  435. package/dist/heading/heading.js +3 -3
  436. package/dist/http/http.js +4 -2
  437. package/dist/http/http.mock.js +2 -0
  438. package/dist/hub-source/hub-source.js +1 -1
  439. package/dist/hub-source/hub-source__user.js +4 -2
  440. package/dist/hub-source/hub-source__users-groups.js +3 -2
  441. package/dist/icon/icon.js +3 -3
  442. package/dist/icon/icon__svg.js +2 -0
  443. package/dist/icon/index.js +2 -0
  444. package/dist/icon-ng/icon-ng.js +7 -5
  445. package/dist/input/input.d.ts +15 -17
  446. package/dist/input/input.js +35 -42
  447. package/dist/input-ng/input-ng.js +8 -64
  448. package/dist/island/adaptive-island-hoc.d.ts +6 -10
  449. package/dist/island/adaptive-island-hoc.js +8 -5
  450. package/dist/island/content.d.ts +33 -2
  451. package/dist/island/content.js +10 -13
  452. package/dist/island/header.js +10 -6
  453. package/dist/island/island.d.ts +6 -10
  454. package/dist/island/island.js +1 -0
  455. package/dist/island-ng/island-content-ng.js +2 -16
  456. package/dist/island-ng/island-header-ng.js +2 -8
  457. package/dist/island-ng/island-ng-class-fixer.js +2 -0
  458. package/dist/island-ng/island-ng.js +2 -8
  459. package/dist/link/clickableLink.d.ts +1 -1
  460. package/dist/link/clickableLink.js +1 -0
  461. package/dist/link/link.d.ts +14 -22
  462. package/dist/link/link.js +4 -3
  463. package/dist/link-ng/link-ng.js +1 -4
  464. package/dist/list/consts.d.ts +3 -1
  465. package/dist/list/list.d.ts +3 -1
  466. package/dist/list/list.js +30 -23
  467. package/dist/list/list__custom.js +1 -0
  468. package/dist/list/list__item.js +6 -4
  469. package/dist/list/list__link.js +3 -1
  470. package/dist/list/list__users-groups-source.js +4 -2
  471. package/dist/loader/loader.js +1 -0
  472. package/dist/loader/loader__core.js +5 -4
  473. package/dist/loader-inline/loader-inline.d.ts +4 -41
  474. package/dist/loader-inline/loader-inline.js +4 -21
  475. package/dist/loader-inline-ng/loader-inline-ng.js +2 -30
  476. package/dist/loader-ng/loader-ng.js +1 -0
  477. package/dist/loader-screen/loader-screen.js +1 -0
  478. package/dist/loader-screen-ng/loader-screen-ng.js +2 -6
  479. package/dist/login-dialog/login-dialog.js +4 -2
  480. package/dist/login-dialog/service.js +5 -2
  481. package/dist/markdown/code.d.ts +6 -13
  482. package/dist/markdown/code.js +4 -3
  483. package/dist/markdown/heading.d.ts +5 -9
  484. package/dist/markdown/heading.js +2 -2
  485. package/dist/markdown/link.d.ts +4 -8
  486. package/dist/markdown/link.js +2 -1
  487. package/dist/markdown/markdown.d.ts +2 -3
  488. package/dist/markdown/markdown.js +17 -16
  489. package/dist/message/message.d.ts +3 -0
  490. package/dist/message/message.js +56 -42
  491. package/dist/old-browsers-message/old-browsers-message.js +2 -1
  492. package/dist/old-browsers-message/old-browsers-message__stop.js +1 -0
  493. package/dist/old-browsers-message/white-list.js +1 -0
  494. package/dist/pager/pager.js +14 -15
  495. package/dist/pager-ng/pager-ng.js +8 -9
  496. package/dist/panel-ng/panel-ng.js +1 -0
  497. package/dist/permissions/permissions.js +1 -1
  498. package/dist/permissions-ng/permissions-ng.js +23 -10
  499. package/dist/place-under-ng/place-under-ng.js +3 -2
  500. package/dist/popup/popup.d.ts +7 -1
  501. package/dist/popup/popup.js +11 -5
  502. package/dist/popup/popup.target.d.ts +2 -1
  503. package/dist/popup/position.d.ts +1 -1
  504. package/dist/popup/position.js +3 -2
  505. package/dist/popup-menu/popup-menu.d.ts +1 -0
  506. package/dist/popup-menu/popup-menu.js +3 -1
  507. package/dist/progress-bar/progress-bar.d.ts +0 -4
  508. package/dist/progress-bar/progress-bar.js +3 -8
  509. package/dist/progress-bar-ng/progress-bar-ng.js +2 -1
  510. package/dist/promised-click-ng/promised-click-ng.js +4 -2
  511. package/dist/proxy-attrs/proxy-attrs.js +5 -3
  512. package/dist/query-assist/query-assist.d.ts +5 -14
  513. package/dist/query-assist/query-assist.js +19 -31
  514. package/dist/query-assist/query-assist__suggestions.js +3 -1
  515. package/dist/query-assist-ng/query-assist-ng.js +9 -10
  516. package/dist/radio/radio.d.ts +1 -1
  517. package/dist/radio/radio.js +1 -0
  518. package/dist/radio/radio__item.js +1 -0
  519. package/dist/radio-ng/radio-ng.js +2 -18
  520. package/dist/save-field-ng/save-field-ng.js +5 -10
  521. package/dist/save-field-ng/save-field-ng__template.js +1 -32
  522. package/dist/select/select.d.ts +16 -20
  523. package/dist/select/select.js +65 -77
  524. package/dist/select/select__filter.js +5 -3
  525. package/dist/select/select__popup.d.ts +1 -1
  526. package/dist/select/select__popup.js +12 -16
  527. package/dist/select-ng/select-ng.js +28 -17
  528. package/dist/select-ng/select-ng__lazy.js +24 -20
  529. package/dist/select-ng/select-ng__options.js +2 -2
  530. package/dist/shortcuts/shortcuts-hoc.d.ts +4 -8
  531. package/dist/shortcuts/shortcuts-hoc.js +4 -3
  532. package/dist/shortcuts/shortcuts.d.ts +1 -1
  533. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +5 -2
  534. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +1 -48
  535. package/dist/shortcuts-ng/shortcuts-ng.js +4 -3
  536. package/dist/sidebar-ng/sidebar-ng.js +4 -2
  537. package/dist/sidebar-ng/sidebar-ng__button-template.js +1 -18
  538. package/dist/sidebar-ng/sidebar-ng__template.js +1 -10
  539. package/dist/storage/storage.js +22 -7
  540. package/dist/storage/storage__fallback.js +4 -3
  541. package/dist/storage/storage__local.js +22 -7
  542. package/dist/style.css +1 -1
  543. package/dist/tab-trap/tab-trap.d.ts +1 -1
  544. package/dist/tab-trap/tab-trap.js +2 -1
  545. package/dist/table/cell.js +1 -0
  546. package/dist/table/disable-hover-hoc.d.ts +4 -8
  547. package/dist/table/disable-hover-hoc.js +4 -3
  548. package/dist/table/header-cell.js +2 -0
  549. package/dist/table/header.d.ts +8 -1
  550. package/dist/table/header.js +3 -1
  551. package/dist/table/multitable.js +1 -0
  552. package/dist/table/row-with-focus-sensor.d.ts +4 -4
  553. package/dist/table/row-with-focus-sensor.js +16 -6
  554. package/dist/table/row.d.ts +1 -0
  555. package/dist/table/row.js +9 -7
  556. package/dist/table/selection-adapter.js +2 -0
  557. package/dist/table/selection-shortcuts-hoc.js +1 -0
  558. package/dist/table/selection.js +1 -0
  559. package/dist/table/smart-table.d.ts +1 -0
  560. package/dist/table/smart-table.js +14 -8
  561. package/dist/table/table.d.ts +4 -8
  562. package/dist/table/table.js +4 -2
  563. package/dist/table-legacy-ng/table-legacy-ng.js +16 -54
  564. package/dist/table-legacy-ng/table-legacy-ng__pager.js +9 -16
  565. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +2 -1
  566. package/dist/table-ng/smart-table-ng.js +5 -2
  567. package/dist/table-ng/table-ng.js +5 -2
  568. package/dist/tabs/collapsible-more.js +5 -3
  569. package/dist/tabs/collapsible-tab.js +4 -2
  570. package/dist/tabs/collapsible-tabs.d.ts +2 -2
  571. package/dist/tabs/collapsible-tabs.js +4 -2
  572. package/dist/tabs/custom-item.d.ts +1 -1
  573. package/dist/tabs/dumb-tabs.d.ts +6 -109
  574. package/dist/tabs/dumb-tabs.js +9 -13
  575. package/dist/tabs/smart-tabs.d.ts +4 -4
  576. package/dist/tabs/smart-tabs.js +13 -9
  577. package/dist/tabs/tab-link.d.ts +1 -1
  578. package/dist/tabs/tab-link.js +1 -0
  579. package/dist/tabs/tab.d.ts +3 -1
  580. package/dist/tabs/tab.js +1 -0
  581. package/dist/tabs/tabs.js +4 -2
  582. package/dist/tabs-ng/tabs-ng.js +2 -6
  583. package/dist/tabs-ng/tabs-ng__template.js +1 -38
  584. package/dist/tag/tag.d.ts +1 -0
  585. package/dist/tag/tag.js +8 -6
  586. package/dist/tags-input/tags-input.d.ts +4 -8
  587. package/dist/tags-input/tags-input.js +10 -11
  588. package/dist/tags-input-ng/tags-input-ng.js +9 -10
  589. package/dist/tags-list/tags-list.d.ts +1 -1
  590. package/dist/tags-list/tags-list.js +4 -2
  591. package/dist/template-ng/template-ng.js +1 -0
  592. package/dist/text/text.js +1 -1
  593. package/dist/theme-ng/theme-ng.js +1 -0
  594. package/dist/toggle/toggle.d.ts +9 -89
  595. package/dist/toggle/toggle.js +8 -8
  596. package/dist/toggle-ng/toggle-ng.js +4 -3
  597. package/dist/tooltip/tooltip.d.ts +1 -0
  598. package/dist/tooltip/tooltip.js +8 -3
  599. package/dist/tooltip-ng/tooltip-ng.js +12 -6
  600. package/dist/user-agreement/service.d.ts +14 -62
  601. package/dist/user-agreement/service.js +23 -21
  602. package/dist/user-agreement/toolbox.eula.js +1 -160
  603. package/dist/user-agreement/user-agreement.js +10 -10
  604. package/dist/user-card/card.js +2 -0
  605. package/dist/user-card/smart-user-card-tooltip.js +8 -11
  606. package/dist/user-card/tooltip.js +3 -1
  607. package/dist/user-card/user-card.js +4 -7
  608. package/dist/user-card-ng/user-card-ng.js +7 -9
  609. package/package.json +78 -69
  610. package/webpack.config.js +0 -11
  611. package/components/global/conic-gradient.d.ts +0 -796
  612. package/components/global/conic-gradient.js +0 -21
  613. package/components/global/radial-gradient-mask.d.ts +0 -9
  614. package/components/global/radial-gradient-mask.js +0 -39
  615. package/components/global/supports-css.d.ts +0 -2
  616. package/components/global/supports-css.js +0 -14
  617. package/components/global/theme.jsx +0 -39
  618. package/components/global/variables_dark.d.ts +0 -3
  619. package/components/global/variables_dark.js +0 -53
  620. package/components/loader-inline/inject-styles.d.ts +0 -2
  621. package/components/loader-inline/inject-styles.js +0 -17
  622. package/dist/_helpers/inject-styles.js +0 -22
  623. package/dist/global/conic-gradient.d.ts +0 -796
  624. package/dist/global/conic-gradient.js +0 -35
  625. package/dist/global/radial-gradient-mask.d.ts +0 -9
  626. package/dist/global/radial-gradient-mask.js +0 -49
  627. package/dist/global/supports-css.d.ts +0 -2
  628. package/dist/global/supports-css.js +0 -20
  629. package/dist/global/variables_dark.d.ts +0 -3
  630. package/dist/global/variables_dark.js +0 -57
  631. package/dist/loader-inline/inject-styles.d.ts +0 -2
  632. package/dist/loader-inline/inject-styles.js +0 -11
File without changes
@@ -13,13 +13,16 @@
13
13
  margin-bottom: 8px;
14
14
 
15
15
  color: var(--ring-heading-color);
16
+ }
16
17
 
18
+ @nest h1& {
17
19
  font-size: 24px;
18
20
  line-height: 28px;
19
21
  }
20
22
 
21
23
  @nest h2& {
22
- font-weight: 200;
24
+ font-size: 20px;
25
+ line-height: 24px;
23
26
  }
24
27
 
25
28
  @nest h3& {
File without changes
@@ -76,7 +76,7 @@
76
76
  }
77
77
 
78
78
  .white {
79
- color: var(--ring-dark-text-color);
79
+ color: var(--ring-white-text-color);
80
80
  }
81
81
 
82
82
  .loading {
File without changes
File without changes
@@ -2,62 +2,79 @@
2
2
  @import "../button/button.css";
3
3
 
4
4
  @value unit from "../global/global.css";
5
- @value iconOffset: calc(unit * 3 - 2px);
6
5
 
7
- .container {
8
- composes: font-lower from "../global/global.css";
6
+ .outerContainer {
7
+ --ring-input-icon-offset: calc(unit * 2.5);
8
+ --ring-input-padding-inline: unit;
9
+ }
9
10
 
11
+ .borderless {
12
+ /* stylelint-disable-next-line length-zero-no-unit */
13
+ --ring-input-padding-inline: 0px;
14
+ }
15
+
16
+ .container {
10
17
  position: relative;
11
18
 
12
19
  box-sizing: border-box;
13
- min-height: calc(unit * 8);
14
- padding-top: calc(unit * 2);
20
+
21
+ font-size: var(--ring-font-size);
22
+ line-height: var(--ring-line-height);
15
23
 
16
24
  & * {
17
25
  box-sizing: border-box;
18
26
  }
19
27
  }
20
28
 
21
- .compact {
22
- min-height: calc(unit * 4);
23
- padding: 0;
24
- }
25
-
26
29
  .input {
30
+ --ring-input-padding-start: var(--ring-input-padding-inline);
31
+ --ring-input-padding-end: var(--ring-input-padding-inline);
32
+
27
33
  width: 100%;
28
- min-height: calc(unit * 4);
29
- padding: 0;
30
34
 
31
- border: none;
35
+ margin: 0;
36
+ padding-top: var(--ring-input-padding-block);
37
+ padding-right: var(--ring-input-padding-end);
38
+ padding-bottom: var(--ring-input-padding-block);
39
+ padding-left: var(--ring-input-padding-start);
40
+
41
+ transition: border-color var(--ring-ease);
42
+
43
+ color: var(--ring-text-color);
44
+ border: 1px solid var(--ring-borders-color);
45
+ border-radius: var(--ring-border-radius);
32
46
  outline: none;
33
47
  background: transparent;
34
48
 
35
49
  font: inherit;
36
- caret-color: var(--ring-main-color);
37
50
 
38
- @nest .clearable & {
39
- padding-right: calc(unit * 3);
51
+ caret-color: var(--ring-main-color);
40
52
 
41
- @nest [dir=rtl] & {
42
- padding-right: 0;
43
- padding-left: calc(unit * 3);
44
- }
53
+ @nest [dir=rtl] & {
54
+ padding-right: var(--ring-input-padding-start);
55
+ padding-left: var(--ring-input-padding-end);
45
56
  }
46
57
 
47
- @nest .light & {
48
- color: var(--ring-text-color);
58
+ &:hover {
59
+ transition: none;
60
+
61
+ border-color: var(--ring-border-hover-color);
49
62
  }
50
63
 
51
- @nest .dark & {
52
- color: var(--ring-dark-text-color);
64
+ @nest .error & {
65
+ border-color: var(--ring-icon-error-color);
53
66
  }
54
67
 
55
- &::placeholder {
56
- color: transparent;
68
+ &:focus {
69
+ transition: none;
70
+
71
+ border-color: var(--ring-main-color);
57
72
  }
58
73
 
59
74
  &[disabled] {
60
75
  color: var(--ring-disabled-color);
76
+ border-color: var(--ring-border-disabled-color);
77
+ background-color: var(--ring-disabled-background-color);
61
78
 
62
79
  -webkit-text-fill-color: var(--ring-disabled-color); /* Required for Safari, see RG-2063 for details */
63
80
  }
@@ -73,59 +90,51 @@
73
90
  transition: background-color 50000s ease-in-out 0s;
74
91
  }
75
92
  }
76
-
77
- /* if you need a cross, pass onClear prop */
78
- &::-ms-clear {
79
- display: none;
80
- }
81
93
  }
82
94
 
83
- .withIcon .input,
84
- .withIcon .label {
85
- padding-left: iconOffset;
86
-
87
- @nest [dir=rtl] & {
88
- padding-right: iconOffset;
89
- padding-left: 0;
90
- }
95
+ .borderless .input {
96
+ border-color: transparent;
91
97
  }
92
98
 
93
- .icon,
94
- /* override Button */
95
- .clear.clear {
96
- position: absolute;
97
- top: 17px;
98
-
99
- line-height: calc(unit * 4);
99
+ .withIcon .input {
100
+ --ring-input-padding-start: calc(var(--ring-input-padding-inline) + var(--ring-input-icon-offset));
101
+ }
100
102
 
101
- @nest .compact & {
102
- top: 1px;
103
- }
103
+ .clearable .input {
104
+ --ring-input-padding-end: calc(var(--ring-input-padding-inline) + var(--ring-input-icon-offset));
104
105
  }
105
106
 
106
107
  .icon {
107
- left: 0;
108
+ position: absolute;
109
+ top: calc(var(--ring-input-padding-block) + 1px);
110
+ left: var(--ring-input-padding-inline);
108
111
 
109
- color: var(--ring-icon-color);
112
+ color: var(--ring-icon-secondary-color);
110
113
 
111
114
  @nest [dir=rtl] & {
112
- right: 0;
115
+ right: unit;
113
116
  left: auto;
114
117
  }
115
118
  }
116
119
 
117
120
  .clear {
118
- right: 0;
121
+ position: absolute;
122
+ top: calc(var(--ring-input-padding-block) + 2px);
123
+ right: var(--ring-input-padding-inline);
124
+
125
+ height: auto;
119
126
 
120
127
  padding-right: 0;
121
128
 
129
+ line-height: inherit;
130
+
122
131
  @nest .empty & {
123
132
  display: none;
124
133
  }
125
134
 
126
135
  @nest [dir=rtl] & {
127
136
  right: auto;
128
- left: 0;
137
+ left: unit;
129
138
  }
130
139
  }
131
140
 
@@ -133,119 +142,35 @@ textarea.input {
133
142
  overflow: hidden;
134
143
 
135
144
  box-sizing: border-box;
136
- padding-top: unit;
137
145
 
138
146
  resize: none;
139
147
  }
140
148
 
141
149
  .label {
142
- position: absolute;
143
- top: calc(unit * 3 - 1px);
144
- left: 0;
145
-
146
- transition: transform var(--ring-fast-ease), color var(--ring-fast-ease);
147
- transform-origin: top left;
148
- pointer-events: none;
149
-
150
- @nest .light & {
151
- color: var(--ring-secondary-color);
152
- }
150
+ display: block;
153
151
 
154
- @nest .dark & {
155
- color: var(--ring-dark-secondary-color);
156
- }
157
- }
152
+ margin-bottom: calc(unit / 2);
158
153
 
159
- .input:focus ~ .label,
160
- .container.active > .label,
161
- .container:not(.empty) > .label {
162
- transform: translateY(calc(unit * -2.5)) scale(calc(12 / 13));
163
- }
164
-
165
- .noLabel ::placeholder,
166
- .input:focus::placeholder {
167
- transition: color var(--ring-fast-ease);
168
- }
169
-
170
- .light.noLabel ::placeholder,
171
- .light :focus::placeholder {
172
- color: var(--ring-disabled-color);
173
- }
174
-
175
- /* stylelint-disable-next-line selector-max-specificity */
176
- .dark.noLabel ::placeholder,
177
- /* stylelint-disable-next-line selector-max-specificity */
178
- .dark :focus::placeholder {
179
154
  color: var(--ring-secondary-color);
180
- }
181
-
182
- .input:focus ~ .label {
183
- color: var(--ring-main-color);
184
- }
185
-
186
- .error > :focus ~ .label {
187
- color: var(--ring-error-color);
188
- }
189
155
 
190
- .underline {
191
- height: 1px;
192
-
193
- border-bottom-width: 1px;
194
- border-bottom-style: solid;
195
-
196
- @nest .light & {
197
- border-color: var(--ring-borders-color);
198
- }
199
-
200
- @nest .dark & {
201
- border-color: var(--ring-dark-borders-color);
202
- }
203
- }
204
-
205
- .input[disabled] ~ .underline {
206
- border-bottom-style: dashed;
207
- }
208
-
209
- .focusUnderline,
210
- .errorUnderline {
211
- width: 100%;
212
- height: 2px;
213
-
214
- transform: scaleX(0);
215
- transform-origin: top left;
156
+ font-size: var(--ring-font-size-smaller);
157
+ line-height: var(--ring-line-height-lowest);
216
158
  }
217
159
 
218
- .focusUnderline {
219
- margin-top: -1px;
220
-
221
- background: var(--ring-main-color);
160
+ .disabledLabel {
161
+ color: var(--ring-disabled-color);
222
162
  }
223
163
 
224
- .errorUnderline {
225
- margin-top: -2px;
226
-
227
- background: var(--ring-icon-error-color);
228
-
229
- @nest .dark & {
230
- background: var(--ring-error-color);
231
- }
164
+ .input::placeholder {
165
+ color: var(--ring-disabled-color);
232
166
  }
233
167
 
234
- .input:focus ~ .focusUnderline,
235
- .container.active > .focusUnderline,
236
- .error > .errorUnderline {
237
- transition: transform 0.15s ease-out;
238
- transform: scaleX(1);
168
+ .input::-webkit-search-cancel-button {
169
+ -webkit-appearance: none;
239
170
  }
240
171
 
241
172
  .errorText {
242
- overflow: hidden;
243
-
244
- box-sizing: border-box;
245
- height: 0;
246
- padding: calc(unit / 2) 0 unit;
247
-
248
- transition: height 0.3s ease-out;
173
+ margin-top: calc(unit / 2);
249
174
 
250
175
  color: var(--ring-error-color);
251
176
 
@@ -268,3 +193,15 @@ textarea.input {
268
193
  .sizeFULL {
269
194
  width: 100%;
270
195
  }
196
+
197
+ .heightS {
198
+ --ring-input-padding-block: 1px;
199
+ }
200
+
201
+ .heightM {
202
+ --ring-input-padding-block: 3px;
203
+ }
204
+
205
+ .heightL {
206
+ --ring-input-padding-block: 5px;
207
+ }
@@ -1,5 +1,5 @@
1
- import React, { PureComponent, Ref, ComponentType, InputHTMLAttributes, TextareaHTMLAttributes, ReactNode, ExoticComponent, PropsWithoutRef, RefAttributes, ComponentProps } from 'react';
2
- import Theme, { ThemeOuterProps, ThemeProps } from '../global/theme';
1
+ import React, { PureComponent, Ref, ComponentType, InputHTMLAttributes, TextareaHTMLAttributes, ReactNode } from 'react';
2
+ import { ControlsHeight } from '../global/controls-height';
3
3
  declare function noop(): void;
4
4
  /**
5
5
  * @name Input
@@ -11,20 +11,20 @@ declare enum Size {
11
11
  L = "L",
12
12
  FULL = "FULL"
13
13
  }
14
- export interface InputBaseProps extends ThemeProps {
14
+ export interface InputBaseProps {
15
15
  size: Size;
16
16
  enableShortcuts: boolean | string[];
17
- renderUnderline: (underlineRef: Ref<HTMLDivElement>, errorText: ReactNode) => ReactNode;
18
17
  children?: string | undefined;
19
18
  inputClassName?: string | null | undefined;
20
19
  label?: ReactNode;
21
20
  active?: boolean | null | undefined;
22
- compact?: boolean | null | undefined;
23
- error?: string | null | undefined;
21
+ error?: ReactNode | null | undefined;
24
22
  borderless?: boolean | null | undefined;
25
23
  onClear?: ((e: React.MouseEvent<HTMLButtonElement>) => void) | null | undefined;
26
24
  loading?: boolean | null | undefined;
27
25
  icon?: string | ComponentType | null | undefined;
26
+ height?: ControlsHeight | undefined;
27
+ afterInput?: ReactNode;
28
28
  }
29
29
  declare type Override<D, S> = Omit<D, keyof S> & S;
30
30
  export declare type InputSpecificProps = Override<InputHTMLAttributes<HTMLInputElement>, InputBaseProps> & {
@@ -42,32 +42,30 @@ export declare class Input extends PureComponent<InputProps> {
42
42
  onChange: typeof noop;
43
43
  inputRef: typeof noop;
44
44
  enableShortcuts: string[];
45
- renderUnderline: (underlineRef: Ref<HTMLDivElement>, errorText: ReactNode) => JSX.Element;
46
45
  };
47
46
  state: {
48
47
  empty: boolean;
49
48
  };
50
49
  componentDidMount(): void;
51
50
  componentDidUpdate(): void;
51
+ componentWillUnmount(): void;
52
+ static contextType: React.Context<ControlsHeight>;
53
+ frame?: number;
52
54
  input?: HTMLInputElement | HTMLTextAreaElement | null;
53
- underlineNode?: HTMLElement | null;
54
55
  id: string;
55
56
  getId(): string;
56
57
  checkValue(): void;
57
58
  stretch(el: HTMLElement | null | undefined): void;
58
59
  adapt(): void;
59
- underlineRef: (el: HTMLDivElement | null) => void;
60
60
  inputRef: (el: HTMLInputElement | HTMLTextAreaElement | null) => void;
61
61
  clear: (e: React.MouseEvent<HTMLButtonElement>) => void;
62
62
  handleInputChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
63
63
  handleTextareaChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;
64
64
  render(): JSX.Element;
65
65
  }
66
- export declare type ContainerProps<P> = PropsWithoutRef<Omit<JSX.LibraryManagedAttributes<typeof Input, P>, keyof ThemeProps> & ThemeOuterProps> & RefAttributes<Input>;
67
- declare type Container = ExoticComponent<ContainerProps<InputSpecificProps> | ContainerProps<TextAreaSpecificProps>>;
68
- declare const ThemedInput: Container & {
69
- type: Container;
70
- };
71
- export declare type InputAttrs = ComponentProps<typeof ThemedInput>;
72
- export default ThemedInput;
73
- export { Size, Theme };
66
+ export declare type ContainerProps<P extends InputProps> = JSX.LibraryManagedAttributes<typeof Input, P>;
67
+ export declare type InputSpecificAttrs = ContainerProps<InputSpecificProps>;
68
+ export declare type TextAreaSpecificAttrs = ContainerProps<TextAreaSpecificProps>;
69
+ export declare type InputAttrs = InputSpecificAttrs | TextAreaSpecificAttrs;
70
+ export default Input;
71
+ export { Size };
@@ -1,13 +1,13 @@
1
1
  import React, { PureComponent } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import classNames from 'classnames';
4
- import closeIcon from '@jetbrains/icons/close';
5
- import Theme, { withTheme } from '../global/theme';
4
+ import closeIcon from '@jetbrains/icons/close-12px';
6
5
  import { refObject } from '../global/prop-types';
7
6
  import Button from '../button/button';
8
7
  import getUID from '../global/get-uid';
9
8
  import Icon from '../icon/icon';
10
9
  import composeRefs from '../global/composeRefs';
10
+ import { ControlsHeightContext } from '../global/controls-height';
11
11
  import styles from './input.css';
12
12
  function noop() { }
13
13
  /**
@@ -26,20 +26,25 @@ export class Input extends PureComponent {
26
26
  size: Size.M,
27
27
  onChange: noop,
28
28
  inputRef: noop,
29
- enableShortcuts: ['esc'],
30
- renderUnderline: (underlineRef, errorText) => (<div className={styles.errorText} ref={underlineRef}>{errorText}</div>)
29
+ enableShortcuts: ['esc']
31
30
  };
32
31
  state = {
33
32
  empty: true
34
33
  };
35
34
  componentDidMount() {
36
- this.adapt();
35
+ this.frame = requestAnimationFrame(() => this.adapt());
37
36
  }
38
37
  componentDidUpdate() {
39
38
  this.adapt();
40
39
  }
40
+ componentWillUnmount() {
41
+ if (this.frame != null) {
42
+ cancelAnimationFrame(this.frame);
43
+ }
44
+ }
45
+ static contextType = ControlsHeightContext;
46
+ frame;
41
47
  input;
42
- underlineNode;
43
48
  id = getUID('ring-input-');
44
49
  getId() {
45
50
  return this.props.id || this.id;
@@ -57,15 +62,11 @@ export class Input extends PureComponent {
57
62
  if (!el || !el.style) {
58
63
  return;
59
64
  }
60
- el.style.height = `${el.scrollHeight}px`;
65
+ el.style.height = `${el.scrollHeight + 2}px`;
61
66
  }
62
67
  adapt() {
63
68
  this.checkValue();
64
- this.stretch(this.underlineNode);
65
69
  }
66
- underlineRef = (el) => {
67
- this.underlineNode = el;
68
- };
69
70
  inputRef = (el) => {
70
71
  this.input = el;
71
72
  };
@@ -87,13 +88,12 @@ export class Input extends PureComponent {
87
88
  render() {
88
89
  const {
89
90
  // Modifiers
90
- theme, size, active, multiline, borderless, compact,
91
+ size, active, multiline, borderless,
91
92
  // Props
92
- label, error, className, inputClassName, children, value, onClear, disabled, inputRef, onChange, enableShortcuts, id, placeholder, icon, renderUnderline, ...restProps } = this.props;
93
- const minimizeMargins = compact || borderless;
93
+ label, error, className, inputClassName, children, value, onClear, disabled, inputRef, onChange, enableShortcuts, id, placeholder, icon, height = this.context, afterInput, ...restProps } = this.props;
94
94
  const { empty } = this.state;
95
95
  const clearable = !!onClear;
96
- const classes = classNames(styles.container, className, theme && styles[theme], [styles[`size${size}`]], {
96
+ const classes = classNames(className, styles.outerContainer, [styles[`size${size}`]], [styles[`height${height}`]], {
97
97
  'ring-js-shortcuts': enableShortcuts === true,
98
98
  [styles.active]: active,
99
99
  [styles.error]: error != null,
@@ -101,7 +101,7 @@ export class Input extends PureComponent {
101
101
  [styles.noLabel]: !this.props.label,
102
102
  [styles.withIcon]: icon != null,
103
103
  [styles.clearable]: clearable,
104
- [styles.compact]: minimizeMargins
104
+ [styles.borderless]: borderless
105
105
  });
106
106
  const inputClasses = classNames(styles.input, inputClassName);
107
107
  const text = value != null ? value : children;
@@ -116,23 +116,23 @@ export class Input extends PureComponent {
116
116
  'data-enabled-shortcuts': Array.isArray(enableShortcuts) ? enableShortcuts.join(',') : null
117
117
  };
118
118
  return (<div className={classes} data-test="ring-input">
119
- {icon && <Icon glyph={icon} className={styles.icon}/>}
120
- {multiline
119
+ {label && (<label htmlFor={this.getId()} className={classNames(styles.label, {
120
+ [styles.disabledLabel]: disabled
121
+ })}>{label}</label>)}
122
+ <div className={styles.container}>
123
+ {icon && <Icon glyph={icon} className={styles.icon}/>}
124
+ {multiline
121
125
  ? (<textarea onChange={this.handleTextareaChange} rows={1} {...commonProps} {...restProps}/>)
122
126
  : (<input onChange={this.handleInputChange} {...commonProps} {...restProps}/>)}
123
- {clearable && !disabled && (<Button title="Clear input" data-test="ring-input-clear" className={styles.clear} icon={closeIcon} onClick={this.clear}/>)}
124
-
125
- {!minimizeMargins && <label htmlFor={this.getId()} className={styles.label}>{label}</label>}
126
- {!borderless && <div className={styles.underline}/>}
127
- {!borderless && <div className={styles.focusUnderline}/>}
128
- {!minimizeMargins && <div className={styles.errorUnderline}/>}
129
- {!minimizeMargins && renderUnderline(this.underlineRef, error)}
127
+ {clearable && !disabled && (<Button title="Clear input" data-test="ring-input-clear" className={styles.clear} icon={closeIcon} onClick={this.clear}/>)}
128
+ {afterInput}
129
+ </div>
130
+ {error && <div className={styles.errorText}>{error}</div>}
130
131
  </div>);
131
132
  }
132
133
  }
133
134
  Input.propTypes = {
134
135
  value: PropTypes.string,
135
- theme: PropTypes.oneOf(Object.values(Theme)),
136
136
  className: PropTypes.string,
137
137
  inputClassName: PropTypes.string,
138
138
  size: PropTypes.oneOf(Object.values(Size)).isRequired,
@@ -140,8 +140,6 @@ Input.propTypes = {
140
140
  active: PropTypes.bool,
141
141
  error: PropTypes.string,
142
142
  multiline: PropTypes.bool,
143
- borderless: PropTypes.bool,
144
- compact: PropTypes.bool,
145
143
  onChange: PropTypes.func,
146
144
  onClear: PropTypes.func,
147
145
  inputRef: PropTypes.oneOfType([
@@ -157,9 +155,7 @@ Input.propTypes = {
157
155
  disabled: PropTypes.bool,
158
156
  id: PropTypes.string,
159
157
  placeholder: PropTypes.string,
160
- icon: PropTypes.oneOfType([PropTypes.string, PropTypes.elementType]),
161
- renderUnderline: PropTypes.func
158
+ icon: PropTypes.oneOfType([PropTypes.string, PropTypes.elementType])
162
159
  };
163
- const ThemedInput = withTheme()(Input);
164
- export default ThemedInput;
165
- export { Size, Theme };
160
+ export default Input;
161
+ export { Size };
@@ -113,7 +113,7 @@ basic.parameters = {
113
113
  }
114
114
 
115
115
  .inputs rg-input {
116
- margin: 0 16px;
116
+ margin: 4px 16px;
117
117
  }
118
118
 
119
119
  .dark {