@jetbrains/ring-ui 4.1.0-beta.8 → 4.1.3

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 (440) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +22 -16
  3. package/babel.config.js +3 -2
  4. package/components/alert/alert.js +9 -3
  5. package/components/alert/container.css +1 -1
  6. package/components/alert-service/alert-service.examples.css +18 -0
  7. package/components/alert-service/alert-service.examples.js +21 -0
  8. package/components/alert-service/alert-service.js +10 -3
  9. package/components/analytics/analytics__fus-plugin.js +3 -3
  10. package/components/analytics/analytics__ga-plugin.js +2 -2
  11. package/components/auth/auth.test.js +14 -7
  12. package/components/auth/auth__core.js +64 -33
  13. package/components/auth-dialog/auth-dialog.js +1 -0
  14. package/components/avatar/avatar.css +4 -1
  15. package/components/avatar/avatar.examples.js +3 -2
  16. package/components/avatar/avatar.js +31 -6
  17. package/components/avatar/fallback-avatar.js +136 -0
  18. package/components/avatar-editor-ng/avatar-editor-ng.css +2 -2
  19. package/components/avatar-editor-ng/avatar-editor-ng.js +2 -1
  20. package/components/avatar-editor-ng/{avatar-editor-ng.html → avatar-editor-ng__template.js} +2 -2
  21. package/components/button/button.css +2 -2
  22. package/components/button/button.js +4 -1
  23. package/components/button-group/button-group.js +1 -1
  24. package/components/button-group/caption.js +1 -1
  25. package/components/button-ng/button-ng.js +1 -1
  26. package/components/button-set-ng/button-set-ng.js +3 -1
  27. package/components/checkbox/checkbox.css +1 -1
  28. package/components/code/code.js +2 -5
  29. package/components/confirm/confirm.js +1 -0
  30. package/components/confirm-service/confirm-service.js +5 -5
  31. package/components/content-layout/content-layout.css +1 -1
  32. package/components/data-list/data-list.css +1 -1
  33. package/components/date-picker/date-input.js +5 -4
  34. package/components/date-picker/date-picker.css +34 -22
  35. package/components/date-picker/date-picker.js +16 -14
  36. package/components/date-picker/date-popup.js +22 -7
  37. package/components/date-picker/month-names.js +8 -5
  38. package/components/date-picker/month.js +6 -2
  39. package/components/date-picker/weekdays.js +10 -2
  40. package/components/dialog/dialog.examples.js +3 -1
  41. package/components/dialog/dialog.js +10 -5
  42. package/components/dialog/dialog.test.js +1 -1
  43. package/components/dialog/dialog__body-scroll-preventer.js +51 -31
  44. package/components/dialog-ng/dialog-ng.js +10 -10
  45. package/components/dialog-ng/{dialog-ng.html → dialog-ng__template.js} +2 -2
  46. package/components/dropdown/dropdown.examples.js +36 -1
  47. package/components/dropdown-menu/dropdown-menu.examples.js +47 -0
  48. package/components/dropdown-menu/dropdown-menu.js +117 -0
  49. package/components/dropdown-menu/dropdown-menu.test.js +76 -0
  50. package/components/error-bubble/error-bubble-legacy.css +1 -1
  51. package/components/error-bubble/error-bubble.css +1 -1
  52. package/components/error-bubble/error-bubble.examples.js +1 -1
  53. package/components/error-page/error-page.css +2 -2
  54. package/components/footer-ng/footer-ng.js +13 -3
  55. package/components/form/form.css +2 -2
  56. package/components/form-ng/form-ng.js +3 -1
  57. package/components/global/global.css +1 -1
  58. package/components/global/theme.js +1 -1
  59. package/components/global/variables.css +8 -1
  60. package/components/grid/grid.css +10 -9
  61. package/components/header/header.css +1 -1
  62. package/components/header/header.examples.js +7 -8
  63. package/components/header/profile.js +10 -11
  64. package/components/http/http.js +1 -1
  65. package/components/icon/icon.css +5 -4
  66. package/components/input/input-legacy.css +7 -7
  67. package/components/island/header.js +2 -2
  68. package/components/island/island.css +8 -3
  69. package/components/island-legacy/island-legacy.css +3 -1
  70. package/components/list/list.js +6 -1
  71. package/components/list/list__custom.js +9 -3
  72. package/components/list/list__item.js +8 -2
  73. package/components/list/list__link.js +2 -1
  74. package/components/loader-inline/loader-inline.css +1 -1
  75. package/components/loader-screen/loader-screen.css +1 -1
  76. package/components/message/message.css +1 -1
  77. package/components/message/message.examples.js +8 -7
  78. package/components/pager/pager.js +5 -3
  79. package/components/permissions/permissions.js +1 -1
  80. package/components/progress-bar/progress-bar.css +1 -1
  81. package/components/progress-bar/progress-bar.examples.js +3 -3
  82. package/components/progress-bar/progress-bar.js +5 -2
  83. package/components/progress-bar/progress-bar.test.js +12 -13
  84. package/components/progress-bar-ng/progress-bar-ng.examples.js +3 -3
  85. package/components/query-assist/query-assist.css +13 -3
  86. package/components/query-assist/query-assist.examples.js +3 -4
  87. package/components/query-assist/query-assist.js +56 -12
  88. package/components/query-assist/query-assist.test.js +37 -5
  89. package/components/save-field-ng/save-field-ng.css +0 -3
  90. package/components/save-field-ng/save-field-ng.js +3 -1
  91. package/components/save-field-ng/{save-field-ng.html → save-field-ng__template.js} +2 -2
  92. package/components/select/select.css +12 -7
  93. package/components/select/select.examples.js +13 -0
  94. package/components/select/select.js +30 -43
  95. package/components/select/select.test.js +4 -5
  96. package/components/shortcuts-hint-ng/shortcuts-hint-ng.css +1 -1
  97. package/components/shortcuts-hint-ng/shortcuts-hint-ng.js +1 -1
  98. package/components/shortcuts-hint-ng/{shortcuts-hint-ng.html → shortcuts-hint-ng__template.js} +2 -2
  99. package/components/sidebar/sidebar.css +1 -0
  100. package/components/sidebar-ng/sidebar-ng.js +6 -2
  101. package/components/sidebar-ng/{sidebar-ng__button.html → sidebar-ng__button-template.js} +2 -2
  102. package/components/sidebar-ng/{sidebar-ng.html → sidebar-ng__template.js} +2 -2
  103. package/components/table/header.js +9 -1
  104. package/components/table/row.js +2 -1
  105. package/components/table/table.css +2 -1
  106. package/components/table-legacy/table-legacy.css +2 -2
  107. package/components/table-legacy/table-legacy__toolbar.css +2 -2
  108. package/components/table-legacy-ng/table-legacy-ng.js +38 -5
  109. package/components/table-legacy-ng/table-legacy-ng__pager.js +7 -1
  110. package/components/tabs/collapsible-tab.js +2 -2
  111. package/components/tabs/collapsible-tabs.js +5 -9
  112. package/components/tabs/dumb-tabs.js +1 -0
  113. package/components/tabs/tab-link.js +4 -2
  114. package/components/tabs/tabs.css +32 -5
  115. package/components/tabs-ng/tabs-ng.js +4 -2
  116. package/components/tabs-ng/{tabs-ng.html → tabs-ng__template.js} +6 -2
  117. package/components/tag/tag.css +5 -2
  118. package/components/tag/tag.examples.js +3 -0
  119. package/components/tag/tag.js +19 -16
  120. package/components/tags-input/tag-input.examples.js +1 -1
  121. package/components/tags-input/tags-input.js +5 -2
  122. package/components/template-ng/template-ng.js +1 -1
  123. package/components/tooltip/tooltip.js +7 -2
  124. package/components/user-agreement/user-agreement.css +1 -5
  125. package/components/user-agreement/user-agreement.examples.js +7 -6
  126. package/components/user-agreement/user-agreement.js +11 -3
  127. package/dist/_helpers/_rollupPluginBabelHelpers.js +1 -94
  128. package/dist/_helpers/anchor.js +5 -6
  129. package/dist/_helpers/badge.js +1 -1
  130. package/dist/_helpers/button-group.js +3 -0
  131. package/dist/_helpers/button-set.js +3 -0
  132. package/dist/_helpers/button-toolbar.js +3 -0
  133. package/dist/_helpers/button__classes.js +1 -1
  134. package/dist/_helpers/card.js +6 -8
  135. package/dist/_helpers/checkbox.js +3 -0
  136. package/dist/_helpers/date-picker.js +1 -1
  137. package/dist/_helpers/dialog__body-scroll-preventer.js +49 -32
  138. package/dist/_helpers/error-message.js +3 -0
  139. package/dist/_helpers/footer.js +121 -0
  140. package/dist/_helpers/grid.js +1 -1
  141. package/dist/_helpers/group.js +3 -0
  142. package/dist/_helpers/header.js +1 -1
  143. package/dist/_helpers/icon.js +3 -0
  144. package/dist/_helpers/inject-styles.js +1 -1
  145. package/dist/_helpers/input.js +3 -0
  146. package/dist/_helpers/island.js +1 -1
  147. package/dist/_helpers/link.js +3 -0
  148. package/dist/_helpers/list.js +1 -1
  149. package/dist/_helpers/loader-screen.js +3 -0
  150. package/dist/_helpers/panel.js +3 -0
  151. package/dist/_helpers/query-assist__suggestions.js +1 -1
  152. package/dist/_helpers/radio.js +3 -0
  153. package/dist/_helpers/select__filter.js +6 -8
  154. package/dist/_helpers/services-link.js +6 -8
  155. package/dist/_helpers/sidebar.js +6 -8
  156. package/dist/_helpers/table.js +1 -1
  157. package/dist/_helpers/tabs.js +1 -1
  158. package/dist/_helpers/title.js +1 -1
  159. package/dist/alert/alert.js +15 -9
  160. package/dist/alert/container.js +7 -9
  161. package/dist/alert-service/alert-service.js +24 -13
  162. package/dist/analytics/analytics.js +2 -2
  163. package/dist/analytics/analytics__custom-plugin.js +1 -1
  164. package/dist/analytics/analytics__fus-plugin.js +4 -4
  165. package/dist/analytics/analytics__ga-plugin.js +3 -3
  166. package/dist/analytics/analytics__plugin-utils.js +1 -1
  167. package/dist/analytics-ng/analytics-ng.js +94 -0
  168. package/dist/auth/auth.js +7 -4
  169. package/dist/auth/auth__core.js +86 -48
  170. package/dist/auth/background-flow.js +1 -2
  171. package/dist/auth/down-notification.js +6 -3
  172. package/dist/auth/iframe-flow.js +5 -2
  173. package/dist/auth/landing-entry.js +1 -1
  174. package/dist/auth/landing.js +5 -2
  175. package/dist/auth/request-builder.js +1 -1
  176. package/dist/auth/response-parser.js +1 -1
  177. package/dist/auth/storage.js +3 -2
  178. package/dist/auth/token-validator.js +1 -1
  179. package/dist/auth/window-flow.js +1 -1
  180. package/dist/auth-dialog/auth-dialog.js +5 -3
  181. package/dist/auth-dialog-service/auth-dialog-service.js +6 -5
  182. package/dist/auth-ng/auth-ng.js +203 -0
  183. package/dist/auth-ng/auth-ng.mock.js +33 -0
  184. package/dist/autofocus-ng/autofocus-ng.js +50 -0
  185. package/dist/avatar/avatar.js +36 -30
  186. package/dist/avatar/fallback-avatar.js +141 -0
  187. package/dist/avatar-editor-ng/avatar-editor-ng.js +164 -0
  188. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +30 -0
  189. package/dist/avatar-ng/avatar-ng.js +18 -0
  190. package/dist/badge/badge.js +6 -8
  191. package/dist/badge-ng/badge-ng.js +16 -0
  192. package/dist/breadcrumb-ng/breadcrumb-ng.js +61 -0
  193. package/dist/button/button.js +16 -10
  194. package/dist/button-group/button-group.js +4 -4
  195. package/dist/button-group/caption.js +24 -5
  196. package/dist/button-group-ng/button-group-ng.js +38 -0
  197. package/dist/button-ng/button-ng.js +223 -0
  198. package/dist/button-set/button-set.js +3 -4
  199. package/dist/button-set-ng/button-set-ng.js +19 -0
  200. package/dist/button-toolbar/button-toolbar.js +3 -4
  201. package/dist/button-toolbar-ng/button-toolbar-ng.js +23 -0
  202. package/dist/caret/caret.js +1 -1
  203. package/dist/checkbox/checkbox.js +9 -11
  204. package/dist/checkbox-ng/checkbox-ng.js +55 -0
  205. package/dist/code/code.js +136 -0
  206. package/dist/compiler-ng/compiler-ng.js +53 -0
  207. package/dist/confirm/confirm.js +6 -3
  208. package/dist/confirm-ng/confirm-ng.js +66 -0
  209. package/dist/confirm-service/confirm-service.js +12 -10
  210. package/dist/content-layout/content-layout.js +6 -8
  211. package/dist/contenteditable/contenteditable.js +13 -16
  212. package/dist/data-list/data-list.js +10 -7
  213. package/dist/data-list/data-list.mock.js +2 -2
  214. package/dist/data-list/item.js +5 -3
  215. package/dist/data-list/selection.js +1 -1
  216. package/dist/data-list/title.js +3 -1
  217. package/dist/data-list-ng/data-list-ng.js +59 -0
  218. package/dist/date-picker/consts.js +1 -2
  219. package/dist/date-picker/date-input.js +10 -6
  220. package/dist/date-picker/date-picker.js +38 -29
  221. package/dist/date-picker/date-popup.js +51 -28
  222. package/dist/date-picker/day.js +2 -2
  223. package/dist/date-picker/formats.js +1 -1
  224. package/dist/date-picker/month-names.js +16 -9
  225. package/dist/date-picker/month-slider.js +2 -2
  226. package/dist/date-picker/month.js +13 -7
  227. package/dist/date-picker/months.js +3 -3
  228. package/dist/date-picker/weekdays.js +12 -4
  229. package/dist/date-picker/years.js +2 -2
  230. package/dist/dialog/dialog.js +19 -14
  231. package/dist/dialog/dialog__body-scroll-preventer.js +1 -1
  232. package/dist/dialog-ng/dialog-ng.js +601 -0
  233. package/dist/dialog-ng/dialog-ng__template.js +71 -0
  234. package/dist/docked-panel-ng/docked-panel-ng.js +170 -0
  235. package/dist/dropdown/anchor.js +2 -1
  236. package/dist/dropdown/dropdown.js +8 -10
  237. package/dist/dropdown-menu/dropdown-menu.js +175 -0
  238. package/dist/error-bubble/error-bubble.js +7 -9
  239. package/dist/error-message/error-message.js +4 -4
  240. package/dist/error-message-ng/error-message-ng.js +53 -0
  241. package/dist/footer/footer.js +6 -122
  242. package/dist/footer-ng/footer-ng.js +75 -0
  243. package/dist/form-ng/form-ng.js +169 -0
  244. package/dist/global/angular-component-factory.js +1 -2
  245. package/dist/global/compose.js +1 -1
  246. package/dist/global/composeRefs.js +1 -1
  247. package/dist/global/conic-gradient.js +3 -5
  248. package/dist/global/create-stateful-context.js +1 -1
  249. package/dist/global/data-tests.js +1 -1
  250. package/dist/global/focus-sensor-hoc.js +9 -11
  251. package/dist/global/fuzzy-highlight.js +1 -1
  252. package/dist/global/get-event-key.js +1 -1
  253. package/dist/global/get-uid.js +1 -1
  254. package/dist/global/linear-function.js +1 -2
  255. package/dist/global/listeners.js +1 -1
  256. package/dist/global/memoize.js +1 -1
  257. package/dist/global/normalize-indent.js +1 -1
  258. package/dist/global/promise-with-timeout.js +1 -1
  259. package/dist/global/radial-gradient-mask.js +1 -1
  260. package/dist/global/react-dom-renderer.js +1 -1
  261. package/dist/global/rerender-hoc.js +3 -5
  262. package/dist/global/ring-angular-component.js +1 -1
  263. package/dist/global/schedule-raf.js +1 -1
  264. package/dist/global/sniffer.js +1 -1
  265. package/dist/global/supports-css.js +1 -1
  266. package/dist/global/theme.js +6 -8
  267. package/dist/global/trivial-template-tag.js +1 -1
  268. package/dist/global/variables_dark.js +1 -1
  269. package/dist/grid/col.js +6 -8
  270. package/dist/grid/grid.js +5 -7
  271. package/dist/grid/row.js +6 -8
  272. package/dist/group/group.js +7 -10
  273. package/dist/group-ng/group-ng.js +11 -0
  274. package/dist/header/header.js +29 -26
  275. package/dist/header/logo.js +8 -9
  276. package/dist/header/profile.js +37 -32
  277. package/dist/header/services-link.js +1 -0
  278. package/dist/header/services.js +10 -9
  279. package/dist/header/smart-profile.js +27 -24
  280. package/dist/header/smart-services.js +10 -9
  281. package/dist/header/tray-icon.js +12 -12
  282. package/dist/header/tray.js +6 -8
  283. package/dist/heading/heading.js +9 -12
  284. package/dist/http/http.js +37 -37
  285. package/dist/http/http.mock.js +4 -4
  286. package/dist/hub-source/hub-source.js +1 -1
  287. package/dist/hub-source/hub-source__users-groups.js +1 -1
  288. package/dist/icon/icon.js +8 -8
  289. package/dist/icon/icon__svg.js +81 -6
  290. package/dist/icon/index.js +2 -1
  291. package/dist/icon-ng/icon-ng.js +89 -0
  292. package/dist/input/input.js +9 -12
  293. package/dist/input-ng/input-ng.js +166 -0
  294. package/dist/island/adaptive-island-hoc.js +1 -2
  295. package/dist/island/content.js +6 -8
  296. package/dist/island/header.js +7 -9
  297. package/dist/island/island.js +6 -9
  298. package/dist/island-legacy/content-legacy.js +6 -8
  299. package/dist/island-legacy/header-legacy.js +6 -8
  300. package/dist/island-legacy/island-legacy.js +6 -8
  301. package/dist/island-ng/island-content-ng.js +56 -0
  302. package/dist/island-ng/island-header-ng.js +32 -0
  303. package/dist/island-ng/island-ng-class-fixer.js +9 -0
  304. package/dist/island-ng/island-ng.js +31 -0
  305. package/dist/link/clickableLink.js +6 -8
  306. package/dist/link/link.js +7 -11
  307. package/dist/link-ng/link-ng.js +25 -0
  308. package/dist/list/list.js +25 -13
  309. package/dist/list/list__custom.js +13 -10
  310. package/dist/list/list__hint.js +1 -1
  311. package/dist/list/list__item.js +20 -13
  312. package/dist/list/list__link.js +11 -12
  313. package/dist/list/list__separator.js +1 -1
  314. package/dist/list/list__title.js +1 -1
  315. package/dist/list/list__users-groups-source.js +11 -7
  316. package/dist/loader/loader.js +6 -8
  317. package/dist/loader/loader__core.js +2 -2
  318. package/dist/loader-inline/inject-styles.js +1 -1
  319. package/dist/loader-inline/loader-inline.js +6 -8
  320. package/dist/loader-inline-ng/loader-inline-ng.js +42 -0
  321. package/dist/loader-ng/loader-ng.js +43 -0
  322. package/dist/loader-screen/loader-screen.js +7 -10
  323. package/dist/loader-screen-ng/loader-screen-ng.js +99 -0
  324. package/dist/login-dialog/login-dialog.js +5 -3
  325. package/dist/login-dialog/service.js +7 -5
  326. package/dist/markdown/code.js +30 -0
  327. package/dist/markdown/heading.js +23 -0
  328. package/dist/markdown/link.js +30 -0
  329. package/dist/markdown/markdown.js +73 -0
  330. package/dist/message/message.js +5 -4
  331. package/dist/message-bundle-ng/message-bundle-ng.js +111 -0
  332. package/dist/old-browsers-message/old-browsers-message.js +0 -1
  333. package/dist/old-browsers-message/old-browsers-message__stop.js +0 -1
  334. package/dist/old-browsers-message/white-list.js +4 -5
  335. package/dist/pager/pager.js +18 -9
  336. package/dist/pager-ng/pager-ng.js +96 -0
  337. package/dist/panel/panel.js +7 -10
  338. package/dist/panel-ng/panel-ng.js +16 -0
  339. package/dist/permissions/permissions.js +1 -1
  340. package/dist/permissions/permissions__cache.js +1 -1
  341. package/dist/permissions-ng/permissions-ng.js +274 -0
  342. package/dist/place-under-ng/place-under-ng.js +157 -0
  343. package/dist/popup/popup.js +8 -8
  344. package/dist/popup/popup.target.js +4 -5
  345. package/dist/popup/position.js +1 -2
  346. package/dist/popup-menu/popup-menu.js +21 -14
  347. package/dist/progress-bar/progress-bar.js +12 -10
  348. package/dist/progress-bar-ng/progress-bar-ng.js +15 -0
  349. package/dist/promised-click-ng/promised-click-ng.js +126 -0
  350. package/dist/proxy-attrs/proxy-attrs.js +1 -1
  351. package/dist/query-assist/query-assist.js +97 -28
  352. package/dist/query-assist/query-assist__suggestions.js +5 -1
  353. package/dist/query-assist-ng/query-assist-ng.js +82 -0
  354. package/dist/radio/radio.js +7 -5
  355. package/dist/radio/radio__item.js +10 -15
  356. package/dist/radio-ng/radio-ng.js +63 -0
  357. package/dist/save-field-ng/save-field-ng.js +335 -0
  358. package/dist/save-field-ng/save-field-ng__template.js +34 -0
  359. package/dist/select/select.js +50 -49
  360. package/dist/select/select__filter.js +6 -1
  361. package/dist/select/select__popup.js +8 -3
  362. package/dist/select-ng/select-ng.js +621 -0
  363. package/dist/select-ng/select-ng__lazy.js +150 -0
  364. package/dist/select-ng/select-ng__options.js +145 -0
  365. package/dist/shortcuts/core.js +2 -2
  366. package/dist/shortcuts/shortcuts-hoc.js +6 -8
  367. package/dist/shortcuts/shortcuts.js +6 -6
  368. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +120 -0
  369. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +50 -0
  370. package/dist/shortcuts-ng/shortcuts-ng.js +261 -0
  371. package/dist/sidebar-ng/sidebar-ng.js +111 -0
  372. package/dist/sidebar-ng/sidebar-ng__button-template.js +20 -0
  373. package/dist/sidebar-ng/sidebar-ng__template.js +12 -0
  374. package/dist/storage/storage.js +3 -2
  375. package/dist/storage/storage__fallback.js +1 -1
  376. package/dist/storage/storage__local.js +3 -2
  377. package/dist/style.css +1 -1
  378. package/dist/tab-trap/tab-trap.js +7 -9
  379. package/dist/table/cell.js +2 -2
  380. package/dist/table/disable-hover-hoc.js +2 -2
  381. package/dist/table/header-cell.js +8 -9
  382. package/dist/table/header.js +10 -6
  383. package/dist/table/multitable.js +1 -1
  384. package/dist/table/row-with-focus-sensor.js +5 -3
  385. package/dist/table/row.js +11 -10
  386. package/dist/table/selection-adapter.js +1 -1
  387. package/dist/table/selection-shortcuts-hoc.js +8 -6
  388. package/dist/table/selection.js +1 -1
  389. package/dist/table/smart-table.js +14 -8
  390. package/dist/table/table.js +10 -11
  391. package/dist/table-legacy-ng/table-legacy-ng.js +501 -0
  392. package/dist/table-legacy-ng/table-legacy-ng__pager.js +122 -0
  393. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +123 -0
  394. package/dist/table-legacy-ng/table-legacy-ng__selection.js +179 -0
  395. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +56 -0
  396. package/dist/table-ng/smart-table-ng.js +65 -0
  397. package/dist/table-ng/table-ng.js +64 -0
  398. package/dist/tabs/collapsible-more.js +9 -6
  399. package/dist/tabs/collapsible-tab.js +7 -7
  400. package/dist/tabs/collapsible-tabs.js +19 -20
  401. package/dist/tabs/dumb-tabs.js +12 -9
  402. package/dist/tabs/smart-tabs.js +11 -9
  403. package/dist/tabs/tab-link.js +13 -7
  404. package/dist/tabs/tab.js +1 -1
  405. package/dist/tabs/tabs.js +5 -1
  406. package/dist/tabs-ng/tabs-ng.js +193 -0
  407. package/dist/tabs-ng/tabs-ng__template.js +40 -0
  408. package/dist/tag/tag.js +20 -14
  409. package/dist/tags-input/tags-input.js +14 -10
  410. package/dist/tags-input-ng/tags-input-ng.js +89 -0
  411. package/dist/tags-list/tags-list.js +8 -9
  412. package/dist/template-ng/template-ng.js +70 -0
  413. package/dist/text/text.js +7 -9
  414. package/dist/theme-ng/theme-ng.js +44 -0
  415. package/dist/title-ng/title-ng.js +114 -0
  416. package/dist/toggle/toggle.js +8 -11
  417. package/dist/toggle-ng/toggle-ng.js +16 -0
  418. package/dist/tooltip/tooltip.js +14 -12
  419. package/dist/tooltip-ng/tooltip-ng.js +98 -0
  420. package/dist/user-agreement/service.js +409 -0
  421. package/dist/user-agreement/toolbox.eula.js +162 -0
  422. package/dist/user-agreement/user-agreement.js +167 -0
  423. package/dist/user-card/card.js +3 -0
  424. package/dist/user-card/smart-user-card-tooltip.js +14 -14
  425. package/dist/user-card/tooltip.js +9 -7
  426. package/dist/user-card/user-card.js +5 -2
  427. package/dist/user-card-ng/user-card-ng.js +59 -0
  428. package/package.json +84 -82
  429. package/webpack.config.js +14 -10
  430. package/components/button-set-ng/button-set-ng.html +0 -1
  431. package/components/footer-ng/footer-ng.html +0 -13
  432. package/components/form-ng/form-ng__error-bubble.html +0 -3
  433. package/components/table-legacy-ng/table-legacy-ng.html +0 -4
  434. package/components/table-legacy-ng/table-legacy-ng__column.html +0 -12
  435. package/components/table-legacy-ng/table-legacy-ng__header.html +0 -4
  436. package/components/table-legacy-ng/table-legacy-ng__pager.html +0 -7
  437. package/components/table-legacy-ng/table-legacy-ng__row.html +0 -12
  438. package/components/table-legacy-ng/table-legacy-ng__title.html +0 -9
  439. package/dist/_helpers/caption.js +0 -25
  440. package/dist/_helpers/icon__svg.js +0 -83
@@ -1,4 +1,4 @@
1
- import { _ as _defineProperty, b as _extends, a as _objectWithoutProperties } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _defineProperty, a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React, { Component } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import classNames from 'classnames';
@@ -27,16 +27,14 @@ class Header extends Component {
27
27
  }
28
28
 
29
29
  render() {
30
- const _this$props = this.props,
31
- {
30
+ const {
32
31
  children,
33
32
  className,
34
33
  wrapWithTitle,
35
34
  border,
36
- phase
37
- } = _this$props,
38
- restProps = _objectWithoutProperties(_this$props, ["children", "className", "wrapWithTitle", "border", "phase"]);
39
-
35
+ phase,
36
+ ...restProps
37
+ } = this.props;
40
38
  const classes = classNames(modules_e6a056e1.header, className, {
41
39
  [modules_e6a056e1.withBottomBorder]: border || phase >= BORDER_APPEAR_PHASE
42
40
  });
@@ -55,7 +53,7 @@ class Header extends Component {
55
53
  "data-test": "ring-island-header",
56
54
  className: classes,
57
55
  style: headerStyle
58
- }), wrapWithTitle && /*#__PURE__*/React.createElement("div", {
56
+ }), wrapWithTitle && /*#__PURE__*/React.createElement("h2", {
59
57
  className: modules_e6a056e1.title,
60
58
  style: titleStyle
61
59
  }, children), !wrapWithTitle && children);
@@ -82,4 +80,4 @@ const HeaderWrapper = props => /*#__PURE__*/React.createElement(PhaseContext.Con
82
80
  return /*#__PURE__*/React.createElement(Header, _extends({}, props, addProps));
83
81
  });
84
82
 
85
- export default HeaderWrapper;
83
+ export { HeaderWrapper as default };
@@ -1,4 +1,4 @@
1
- import { a as _objectWithoutProperties, b as _extends, _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _defineProperty, a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React, { Component } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import classNames from 'classnames';
@@ -17,16 +17,14 @@ import '../global/schedule-raf.js';
17
17
 
18
18
  class Island extends Component {
19
19
  render() {
20
- const _this$props = this.props,
21
- {
20
+ const {
22
21
  children,
23
22
  className,
24
23
  narrow,
25
24
  withoutPaddings,
26
- 'data-test': dataTest
27
- } = _this$props,
28
- restProps = _objectWithoutProperties(_this$props, ["children", "className", "narrow", "withoutPaddings", "data-test"]);
29
-
25
+ 'data-test': dataTest,
26
+ ...restProps
27
+ } = this.props;
30
28
  const classes = classNames(modules_e6a056e1.island, className, {
31
29
  [modules_e6a056e1.narrowIsland]: narrow,
32
30
  [modules_e6a056e1.withoutPaddings]: withoutPaddings
@@ -49,5 +47,4 @@ _defineProperty(Island, "propTypes", {
49
47
 
50
48
  const AdaptiveIsland = adaptiveIslandHOC(Island);
51
49
 
52
- export default Island;
53
- export { AdaptiveIsland };
50
+ export { AdaptiveIsland, Island as default };
@@ -1,17 +1,15 @@
1
- import { a as _objectWithoutProperties, b as _extends, _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _defineProperty, a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React, { PureComponent } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import classNames from 'classnames';
5
5
 
6
6
  class Content extends PureComponent {
7
7
  render() {
8
- const _this$props = this.props,
9
- {
8
+ const {
10
9
  children,
11
- className
12
- } = _this$props,
13
- restProps = _objectWithoutProperties(_this$props, ["children", "className"]);
14
-
10
+ className,
11
+ ...restProps
12
+ } = this.props;
15
13
  const classes = classNames('ring-island__content', className);
16
14
  return /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
17
15
  className: classes
@@ -25,4 +23,4 @@ _defineProperty(Content, "propTypes", {
25
23
  children: PropTypes.node
26
24
  });
27
25
 
28
- export default Content;
26
+ export { Content as default };
@@ -1,17 +1,15 @@
1
- import { a as _objectWithoutProperties, b as _extends, _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _defineProperty, a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React, { PureComponent } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import classNames from 'classnames';
5
5
 
6
6
  class Header extends PureComponent {
7
7
  render() {
8
- const _this$props = this.props,
9
- {
8
+ const {
10
9
  children,
11
- className
12
- } = _this$props,
13
- restProps = _objectWithoutProperties(_this$props, ["children", "className"]);
14
-
10
+ className,
11
+ ...restProps
12
+ } = this.props;
15
13
  const classes = classNames('ring-island__header', className);
16
14
  return /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
17
15
  className: classes
@@ -27,4 +25,4 @@ _defineProperty(Header, "propTypes", {
27
25
  children: PropTypes.node
28
26
  });
29
27
 
30
- export default Header;
28
+ export { Header as default };
@@ -1,4 +1,4 @@
1
- import { a as _objectWithoutProperties, b as _extends, _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _defineProperty, a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React, { PureComponent } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import classNames from 'classnames';
@@ -7,13 +7,11 @@ export { default as Content } from './content-legacy.js';
7
7
 
8
8
  class Island extends PureComponent {
9
9
  render() {
10
- const _this$props = this.props,
11
- {
10
+ const {
12
11
  children,
13
- className
14
- } = _this$props,
15
- restProps = _objectWithoutProperties(_this$props, ["children", "className"]);
16
-
12
+ className,
13
+ ...restProps
14
+ } = this.props;
17
15
  const classes = classNames('ring-island', className);
18
16
  return /*#__PURE__*/React.createElement("div", _extends({}, restProps, {
19
17
  className: classes
@@ -27,4 +25,4 @@ _defineProperty(Island, "propTypes", {
27
25
  children: PropTypes.node
28
26
  });
29
27
 
30
- export default Island;
28
+ export { Island as default };
@@ -0,0 +1,56 @@
1
+ import angular from 'angular';
2
+ import { m as modules_e6a056e1 } from '../_helpers/island.js';
3
+ import scheduleRAF from '../global/schedule-raf.js';
4
+ import compile from './island-ng-class-fixer.js';
5
+
6
+ const scheduleScroll = scheduleRAF();
7
+ const angularModule = angular.module('Ring.island-ng.header', []);
8
+ angularModule.directive('rgIslandContent', function islandContentDirective() {
9
+ return {
10
+ transclude: true,
11
+ replace: true,
12
+ bindToController: {
13
+ fade: '=?',
14
+ onScroll: '&?'
15
+ },
16
+ compile,
17
+ template: `
18
+ <div
19
+ data-test="ring-island-content"
20
+ class=${modules_e6a056e1.content}
21
+ ng-class="{
22
+ '${modules_e6a056e1.contentWithTopFade}': contentCtrl.fade,
23
+ '${modules_e6a056e1.contentWithBottomFade}': contentCtrl.fade
24
+ }"
25
+ >
26
+ <div
27
+ tabindex="0"
28
+ class="${modules_e6a056e1.scrollableWrapper} js-scrollable-wrapper"
29
+ ng-transclude
30
+ ></div>
31
+ </div>
32
+ `,
33
+ controllerAs: 'contentCtrl',
34
+ controller: ["$scope", "$element", function controller($scope, $element) {
35
+ const el = $element[0];
36
+
37
+ if (this.onScroll) {
38
+ const scrollable = el.querySelector('.js-scrollable-wrapper');
39
+
40
+ const scrollCallback = evt => {
41
+ const $scrollTop = scrollable.scrollTop;
42
+ this.onScroll({
43
+ $event: evt,
44
+ $scrollTop
45
+ });
46
+ $scope.$apply();
47
+ };
48
+
49
+ scrollable.addEventListener('scroll', () => scheduleScroll(scrollCallback));
50
+ }
51
+ }]
52
+ };
53
+ });
54
+ var IslandContent = angularModule.name;
55
+
56
+ export { IslandContent as default };
@@ -0,0 +1,32 @@
1
+ import angular from 'angular';
2
+ import { m as modules_e6a056e1 } from '../_helpers/island.js';
3
+ import compile from './island-ng-class-fixer.js';
4
+
5
+ const angularModule = angular.module('Ring.island-ng.content', []);
6
+ angularModule.directive('rgIslandHeader', function islandHeaderDirective() {
7
+ return {
8
+ transclude: true,
9
+ replace: true,
10
+ bindToController: {
11
+ border: '=?'
12
+ },
13
+ compile,
14
+ template: `
15
+ <div
16
+ data-test="ring-island-header"
17
+ class="${modules_e6a056e1.header}"
18
+ ng-class="{'${modules_e6a056e1.withBottomBorder}': headerCtrl.border}"
19
+ ng-transclude
20
+ ></div>
21
+ `,
22
+ controllerAs: 'headerCtrl',
23
+ controller: function controller() {
24
+ this.$onInit = () => {
25
+ this.wrapWithTitle = this.wrapWithTitle !== undefined ? this.wrapWithTitle : true;
26
+ };
27
+ }
28
+ };
29
+ });
30
+ var IslandHeader = angularModule.name;
31
+
32
+ export { IslandHeader as default };
@@ -0,0 +1,9 @@
1
+ // Workaround fo Angular bug with ng-class & replace: true support
2
+ // See https://github.com/angular/angular.js/issues/5695#issuecomment-31898355
3
+ function compile(tElement, tAttrs) {
4
+ if (tAttrs.ngClass) {
5
+ tAttrs.ngClass = tAttrs.ngClass.replace(/}\s*{/g, ', ');
6
+ }
7
+ }
8
+
9
+ export { compile as default };
@@ -0,0 +1,31 @@
1
+ import angular from 'angular';
2
+ import { m as modules_e6a056e1 } from '../_helpers/island.js';
3
+ import IslandHeader from './island-header-ng.js';
4
+ import IslandContent from './island-content-ng.js';
5
+ import compile from './island-ng-class-fixer.js';
6
+ import '../global/schedule-raf.js';
7
+
8
+ const angularModule = angular.module('Ring.island-ng', [IslandHeader, IslandContent]);
9
+ angularModule.directive('rgIsland', function islandDirective() {
10
+ return {
11
+ transclude: true,
12
+ replace: true,
13
+ bindToController: {
14
+ narrow: '='
15
+ },
16
+ compile,
17
+ template: `
18
+ <div
19
+ data-test="ring-island"
20
+ class="${modules_e6a056e1.island}"
21
+ ng-class="{'${modules_e6a056e1.narrowIsland}': islandCtrl.narrow}"
22
+ ng-transclude
23
+ ></div>
24
+ `,
25
+ controllerAs: 'islandCtrl',
26
+ controller: angular.noop
27
+ };
28
+ });
29
+ var islandNg = angularModule.name;
30
+
31
+ export { islandNg as default };
@@ -1,4 +1,4 @@
1
- import { _ as _defineProperty, a as _objectWithoutProperties, b as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _defineProperty, a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React, { PureComponent } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
 
@@ -34,16 +34,14 @@ class ClickableLink extends PureComponent {
34
34
  }
35
35
 
36
36
  render() {
37
- const _this$props = this.props,
38
- {
37
+ const {
39
38
  onConditionalClick,
40
39
  onPlainLeftClick,
41
40
  activeClassName,
42
41
  href,
43
- children
44
- } = _this$props,
45
- restProps = _objectWithoutProperties(_this$props, ["onConditionalClick", "onPlainLeftClick", "activeClassName", "href", "children"]);
46
-
42
+ children,
43
+ ...restProps
44
+ } = this.props;
47
45
  return /*#__PURE__*/React.createElement("a", _extends({
48
46
  href: href
49
47
  }, restProps, {
@@ -62,4 +60,4 @@ _defineProperty(ClickableLink, "propTypes", {
62
60
  children: PropTypes.node.isRequired
63
61
  });
64
62
 
65
- export default ClickableLink;
63
+ export { ClickableLink as default };
package/dist/link/link.js CHANGED
@@ -1,4 +1,4 @@
1
- import { _ as _defineProperty, a as _objectWithoutProperties, b as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _defineProperty, a as _extends } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import 'focus-visible';
3
3
  import React, { Component, memo } from 'react';
4
4
  import PropTypes from 'prop-types';
@@ -6,8 +6,7 @@ import classNames from 'classnames';
6
6
  import memoize from '../global/memoize.js';
7
7
  import joinDataTestAttributes from '../global/data-tests.js';
8
8
  import ClickableLink from './clickableLink.js';
9
-
10
- var modules_607b0772 = {"link":"link_link__21bf811c alert_link__9b217ed4","hover":"link_hover__21bf811c","inner":"link_inner__21bf811c","active":"link_active__21bf811c","compatibilityUnderlineMode":"link_compatibilityUnderlineMode__21bf811c","pseudo":"link_pseudo__21bf811c","text":"link_text__21bf811c","inherit":"link_inherit__21bf811c"};
9
+ import { m as modules_607b0772 } from '../_helpers/link.js';
11
10
 
12
11
  /**
13
12
  * @name Link
@@ -49,8 +48,7 @@ function linkHOC(ComposedComponent) {
49
48
  }
50
49
 
51
50
  render() {
52
- const _this$props = this.props,
53
- {
51
+ const {
54
52
  active,
55
53
  inherit,
56
54
  pseudo,
@@ -61,10 +59,9 @@ function linkHOC(ComposedComponent) {
61
59
  innerClassName,
62
60
  children,
63
61
  onPlainLeftClick,
64
- onClick
65
- } = _this$props,
66
- props = _objectWithoutProperties(_this$props, ["active", "inherit", "pseudo", "hover", "className", "data-test", "href", "innerClassName", "children", "onPlainLeftClick", "onClick"]);
67
-
62
+ onClick,
63
+ ...props
64
+ } = this.props;
68
65
  const useButton = pseudo || !isCustom && href == null;
69
66
  const classes = classNames(modules_607b0772.link, className, {
70
67
  [modules_607b0772.active]: active,
@@ -114,5 +111,4 @@ function linkHOC(ComposedComponent) {
114
111
  }
115
112
  var Link = linkHOC(ClickableLink);
116
113
 
117
- export default Link;
118
- export { linkHOC, setCompatibilityMode };
114
+ export { Link as default, linkHOC, setCompatibilityMode };
@@ -0,0 +1,25 @@
1
+ import angular from 'angular';
2
+ import { m as modules_607b0772 } from '../_helpers/link.js';
3
+
4
+ /**
5
+ * @name Link Ng
6
+ */
7
+
8
+ const angularModule = angular.module('Ring.link', []);
9
+
10
+ function rgLinkDirective() {
11
+ return {
12
+ restrict: 'E',
13
+ transclude: true,
14
+ replace: true,
15
+ template: `
16
+ <a class="${modules_607b0772.link} ${modules_607b0772.compatibilityUnderlineMode}"
17
+ ><span class="${modules_607b0772.inner}" ng-transclude></span></a>
18
+ `
19
+ };
20
+ }
21
+
22
+ angularModule.directive('rgLink', rgLinkDirective);
23
+ var LinkNG = angularModule.name;
24
+
25
+ export { LinkNG as default };
package/dist/list/list.js CHANGED
@@ -1,4 +1,4 @@
1
- import { _ as _defineProperty, c as _objectSpread2, a as _objectWithoutProperties } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React, { Component, cloneElement } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import classNames from 'classnames';
@@ -30,14 +30,18 @@ import 'sniffr';
30
30
  import '../link/link.js';
31
31
  import 'focus-visible';
32
32
  import '../link/clickableLink.js';
33
+ import '../_helpers/link.js';
33
34
  import '../avatar/avatar.js';
34
35
  import '../global/url.js';
36
+ import '../avatar/fallback-avatar.js';
35
37
  import '../checkbox/checkbox.js';
36
38
  import '@jetbrains/icons/checkmark';
37
39
  import '@jetbrains/icons/remove-10px';
38
40
  import '../icon/icon.js';
39
41
  import '../icon/icon__constants.js';
40
- import '../_helpers/icon__svg.js';
42
+ import '../_helpers/icon.js';
43
+ import '../icon/icon__svg.js';
44
+ import '../_helpers/checkbox.js';
41
45
  import '../global/get-event-key.js';
42
46
 
43
47
  const scheduleScrollListener = scheduleRAF();
@@ -337,8 +341,11 @@ class List extends Component {
337
341
  });
338
342
  } else {
339
343
  // Hack around SelectNG implementation
340
- const cleanedProps = _objectWithoutProperties(item, ["selectedLabel", "originalModel"]);
341
-
344
+ const {
345
+ selectedLabel,
346
+ originalModel,
347
+ ...cleanedProps
348
+ } = item;
342
349
  const itemProps = Object.assign({
343
350
  rgItemType: DEFAULT_ITEM_TYPE
344
351
  }, cleanedProps);
@@ -429,9 +436,13 @@ class List extends Component {
429
436
  }, /*#__PURE__*/React.createElement("div", {
430
437
  role: "cell"
431
438
  }, el));
432
- }) : /*#__PURE__*/cloneElement(el, {
439
+ }) : /*#__PURE__*/React.createElement("div", {
440
+ role: "row",
441
+ id: itemId,
433
442
  key: itemKey
434
- });
443
+ }, /*#__PURE__*/React.createElement("div", {
444
+ role: "cell"
445
+ }, /*#__PURE__*/cloneElement(el)));
435
446
  });
436
447
 
437
448
  _defineProperty(this, "addItemDataTestToProp", props => {
@@ -644,10 +655,11 @@ class List extends Component {
644
655
  ref: this.virtualizedListRef,
645
656
  className: "ring-list__i",
646
657
  autoHeight: autoHeight,
647
- style: maxHeight ? _objectSpread2({
658
+ style: maxHeight ? {
648
659
  maxHeight,
649
- height: 'auto'
650
- }, dirOverride) : dirOverride,
660
+ height: 'auto',
661
+ ...dirOverride
662
+ } : dirOverride,
651
663
  autoContainerWidth: true,
652
664
  height: height,
653
665
  width: width,
@@ -681,10 +693,10 @@ class List extends Component {
681
693
  });
682
694
  }
683
695
 
684
- return /*#__PURE__*/React.createElement(WindowScroller, null, props => this.renderVirtualizedInner(_objectSpread2(_objectSpread2({}, props), {}, {
696
+ return /*#__PURE__*/React.createElement(WindowScroller, null, props => this.renderVirtualizedInner({ ...props,
685
697
  rowCount,
686
698
  autoHeight: true
687
- })));
699
+ }));
688
700
  }
689
701
 
690
702
  renderSimple(maxHeight, rowCount) {
@@ -703,6 +715,7 @@ class List extends Component {
703
715
  onMouseMove: this.mouseHandler
704
716
  }, /*#__PURE__*/React.createElement("div", {
705
717
  "aria-label": this.props.ariaLabel,
718
+ role: "grid",
706
719
  style: maxHeight ? {
707
720
  maxHeight: this.getVisibleListHeight(this.props)
708
721
  } : null
@@ -796,5 +809,4 @@ _defineProperty(List, "ListProps", {
796
809
  Dimension
797
810
  });
798
811
 
799
- export default List;
800
- export { ActiveItemContext };
812
+ export { ActiveItemContext, List as default };
@@ -1,4 +1,4 @@
1
- import { _ as _defineProperty, a as _objectWithoutProperties } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React, { PureComponent } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import classNames from 'classnames';
@@ -20,8 +20,7 @@ class ListCustom extends PureComponent {
20
20
  }
21
21
 
22
22
  render() {
23
- const _this$props = this.props,
24
- {
23
+ const {
25
24
  scrolling,
26
25
  hover,
27
26
  className,
@@ -32,10 +31,11 @@ class ListCustom extends PureComponent {
32
31
  onClick,
33
32
  onCheckboxChange,
34
33
  onMouseOver,
35
- onMouseUp
36
- } = _this$props,
37
- restProps = _objectWithoutProperties(_this$props, ["scrolling", "hover", "className", "disabled", "template", "rgItemType", "tabIndex", "onClick", "onCheckboxChange", "onMouseOver", "onMouseUp"]);
38
-
34
+ onMouseUp,
35
+ role,
36
+ tagName,
37
+ ...restProps
38
+ } = this.props;
39
39
  const classes = classNames(modules_3b67a421.item, className, {
40
40
  [modules_3b67a421.action]: !disabled,
41
41
  [modules_3b67a421.hover]: hover && !disabled,
@@ -45,8 +45,9 @@ class ListCustom extends PureComponent {
45
45
  'ring-list-item-action': !disabled
46
46
  }, restProps['data-test']);
47
47
  const content = typeof template === 'function' ? template(this.props) : template;
48
- return /*#__PURE__*/React.createElement("span", {
49
- role: "button",
48
+ const TagName = tagName || 'span';
49
+ return /*#__PURE__*/React.createElement(TagName, {
50
+ role: role || 'button',
50
51
  tabIndex: tabIndex,
51
52
  onClick: onClick,
52
53
  onKeyPress: this.handleKeyPress,
@@ -72,6 +73,8 @@ _defineProperty(ListCustom, "propTypes", {
72
73
  onMouseOver: PropTypes.func,
73
74
  onMouseUp: PropTypes.func,
74
75
  onCheckboxChange: PropTypes.func,
76
+ role: PropTypes.string,
77
+ tagName: PropTypes.string,
75
78
  'data-test': PropTypes.string
76
79
  });
77
80
 
@@ -79,4 +82,4 @@ _defineProperty(ListCustom, "defaultProps", {
79
82
  hover: false
80
83
  });
81
84
 
82
- export default ListCustom;
85
+ export { ListCustom as default };
@@ -23,4 +23,4 @@ _defineProperty(ListHint, "propTypes", {
23
23
  label: PropTypes.node
24
24
  });
25
25
 
26
- export default ListHint;
26
+ export { ListHint as default };
@@ -1,4 +1,4 @@
1
- import { _ as _defineProperty, a as _objectWithoutProperties } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import React, { PureComponent } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import classNames from 'classnames';
@@ -10,14 +10,17 @@ import getUID from '../global/get-uid.js';
10
10
  import { m as modules_3b67a421 } from '../_helpers/list.js';
11
11
  import '../global/url.js';
12
12
  import '../global/dom.js';
13
+ import '../avatar/fallback-avatar.js';
13
14
  import '@jetbrains/icons/checkmark';
14
15
  import '@jetbrains/icons/remove-10px';
16
+ import '../_helpers/checkbox.js';
15
17
  import 'util-deprecate';
16
18
  import '../icon/icon__constants.js';
17
- import '../_helpers/icon__svg.js';
19
+ import '../_helpers/icon.js';
20
+ import '../icon/icon__svg.js';
18
21
  import '../global/memoize.js';
19
22
 
20
- var modules_5b0fb3e8 = {"unit":"8px","footer-height":"64px","breakpoint-small":"640px","breakpoint-middle":"960px","breakpoint-large":"1200px","extra-small-screen-media":"(max-width:639px)","small-screen-media":"(min-width:640px) and (max-width:959px)","middle-screen-media":"(min-width:960px) and (max-width:1199px)","large-screen-media":"(min-width:1200px)","clearfix":"global_clearfix__0f8f4370","font":"global_font__0f8f4370","font-lower":"global_fontLower__0f8f4370 global_font__0f8f4370","font-smaller":"global_fontSmaller__0f8f4370 global_fontLower__0f8f4370 global_font__0f8f4370","font-smaller-lower":"global_fontSmallerLower__0f8f4370 global_fontSmaller__0f8f4370 global_fontLower__0f8f4370 global_font__0f8f4370","font-larger-lower":"global_fontLargerLower__0f8f4370 global_fontLower__0f8f4370 global_font__0f8f4370","font-larger":"global_fontLarger__0f8f4370 global_fontLargerLower__0f8f4370 global_fontLower__0f8f4370 global_font__0f8f4370","thin-font":"global_thinFont__0f8f4370","monospace-font":"global_monospaceFont__0f8f4370","ellipsis":"global_ellipsis__0f8f4370","resetButton":"global_resetButton__0f8f4370"};
23
+ var modules_5b0fb3e8 = {"unit":"8px","footer-height":"64px","breakpoint-small":"640px","breakpoint-middle":"960px","breakpoint-large":"1200px","extra-small-screen-media":"(max-width:639px)","small-screen-media":"(min-width:640px) and (max-width:959px)","middle-screen-media":"(min-width:960px) and (max-width:1199px)","large-screen-media":"(min-width:1200px)","clearfix":"clearfix_rui_750f","font":"font_rui_750f","font-lower":"fontLower_rui_750f font_rui_750f","font-smaller":"fontSmaller_rui_750f fontLower_rui_750f font_rui_750f","font-smaller-lower":"fontSmallerLower_rui_750f fontSmaller_rui_750f fontLower_rui_750f font_rui_750f","font-larger-lower":"fontLargerLower_rui_750f fontLower_rui_750f font_rui_750f","font-larger":"fontLarger_rui_750f fontLargerLower_rui_750f fontLower_rui_750f font_rui_750f","thin-font":"thinFont_rui_750f","monospace-font":"monospaceFont_rui_750f","ellipsis":"ellipsis_rui_750f","resetButton":"resetButton_rui_750f"};
21
24
 
22
25
  /**
23
26
  * @constructor
@@ -39,8 +42,7 @@ class ListItem extends PureComponent {
39
42
  }
40
43
 
41
44
  render() {
42
- const _this$props = this.props,
43
- {
45
+ const {
44
46
  scrolling,
45
47
  className,
46
48
  disabled,
@@ -65,12 +67,14 @@ class ListItem extends PureComponent {
65
67
  onMouseDown,
66
68
  onMouseUp,
67
69
  rightNodes,
68
- leftNodes
69
- } = _this$props,
70
- restProps = _objectWithoutProperties(_this$props, ["scrolling", "className", "disabled", "checkbox", "avatar", "subavatar", "glyph", "icon", "rightGlyph", "description", "label", "title", "details", "hover", "rgItemType", "level", "tabIndex", "compact", "onClick", "onCheckboxChange", "onMouseOver", "onMouseDown", "onMouseUp", "rightNodes", "leftNodes"]);
71
-
70
+ leftNodes,
71
+ showGeneratedAvatar,
72
+ username,
73
+ ...restProps
74
+ } = this.props;
72
75
  const checkable = checkbox !== undefined;
73
- const hasLeftNodes = leftNodes || glyph || avatar;
76
+ const shouldShowGeneratedAvatar = showGeneratedAvatar && username != null;
77
+ const hasLeftNodes = leftNodes || glyph || avatar || shouldShowGeneratedAvatar;
74
78
  const showCheckbox = checkable && (checkbox || !hasLeftNodes || hover && !disabled);
75
79
  const classes = classNames(modules_3b67a421.item, modules_5b0fb3e8.resetButton, className, {
76
80
  [modules_3b67a421.action]: !disabled,
@@ -134,11 +138,12 @@ class ListItem extends PureComponent {
134
138
  className: modules_3b67a421.glyph,
135
139
  glyph: glyph,
136
140
  size: this.props.iconSize
137
- }), avatar && /*#__PURE__*/React.createElement(Avatar, {
141
+ }), (avatar || shouldShowGeneratedAvatar) && /*#__PURE__*/React.createElement(Avatar, {
138
142
  className: modules_3b67a421.avatar,
139
143
  url: avatar,
140
144
  size: Size.Size20,
141
- subavatar: subavatar
145
+ subavatar: subavatar,
146
+ username: username
142
147
  })), /*#__PURE__*/React.createElement("span", {
143
148
  className: modules_3b67a421.label,
144
149
  title: computedTitle,
@@ -173,6 +178,8 @@ _defineProperty(ListItem, "propTypes", {
173
178
  tabIndex: PropTypes.number,
174
179
  checkbox: PropTypes.bool,
175
180
  description: PropTypes.oneOfType([PropTypes.string, PropTypes.element, PropTypes.array]),
181
+ showGeneratedAvatar: PropTypes.bool,
182
+ username: PropTypes.string,
176
183
  avatar: PropTypes.string,
177
184
  subavatar: PropTypes.string,
178
185
  glyph: PropTypes.oneOfType([PropTypes.string, PropTypes.elementType]),
@@ -194,4 +201,4 @@ _defineProperty(ListItem, "propTypes", {
194
201
  'data-test': PropTypes.string
195
202
  });
196
203
 
197
- export default ListItem;
204
+ export { ListItem as default };