@jetbrains/ring-ui 4.1.0-beta.13 → 4.1.0-beta.17

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 (382) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +14 -13
  3. package/components/alert/container.css +1 -1
  4. package/components/auth/auth.test.js +14 -7
  5. package/components/auth/auth__core.js +12 -6
  6. package/components/avatar/avatar.css +4 -1
  7. package/components/avatar/avatar.examples.js +3 -2
  8. package/components/avatar/avatar.js +31 -6
  9. package/components/avatar/fallback-avatar.js +136 -0
  10. package/components/avatar-editor-ng/avatar-editor-ng.css +2 -2
  11. package/components/avatar-editor-ng/avatar-editor-ng.js +2 -1
  12. package/components/avatar-editor-ng/{avatar-editor-ng.html → avatar-editor-ng__template.js} +2 -2
  13. package/components/button/button.css +2 -2
  14. package/components/button-group/button-group.js +1 -1
  15. package/components/button-group/caption.js +1 -1
  16. package/components/button-ng/button-ng.js +1 -1
  17. package/components/button-set-ng/button-set-ng.js +3 -1
  18. package/components/checkbox/checkbox.css +1 -1
  19. package/components/code/code.js +1 -1
  20. package/components/content-layout/content-layout.css +1 -1
  21. package/components/data-list/data-list.css +1 -1
  22. package/components/date-picker/date-input.js +5 -4
  23. package/components/date-picker/date-picker.css +10 -6
  24. package/components/date-picker/date-picker.js +16 -14
  25. package/components/date-picker/date-popup.js +8 -4
  26. package/components/date-picker/month-names.js +8 -5
  27. package/components/date-picker/month.js +6 -2
  28. package/components/date-picker/weekdays.js +10 -2
  29. package/components/dialog-ng/dialog-ng.js +6 -7
  30. package/components/dialog-ng/{dialog-ng.html → dialog-ng__template.js} +2 -2
  31. package/components/dropdown/dropdown.examples.js +36 -1
  32. package/components/dropdown-menu/dropdown-menu.examples.js +47 -0
  33. package/components/dropdown-menu/dropdown-menu.js +117 -0
  34. package/components/dropdown-menu/dropdown-menu.test.js +76 -0
  35. package/components/error-bubble/error-bubble-legacy.css +1 -1
  36. package/components/error-bubble/error-bubble.css +1 -1
  37. package/components/error-page/error-page.css +2 -2
  38. package/components/footer-ng/footer-ng.js +13 -3
  39. package/components/form/form.css +2 -2
  40. package/components/form-ng/form-ng.js +3 -1
  41. package/components/global/global.css +1 -1
  42. package/components/global/variables.css +8 -1
  43. package/components/grid/grid.css +10 -9
  44. package/components/header/header.css +1 -1
  45. package/components/header/header.examples.js +7 -8
  46. package/components/header/profile.js +10 -11
  47. package/components/http/http.js +1 -1
  48. package/components/icon/icon.css +5 -4
  49. package/components/island/island.css +4 -3
  50. package/components/island-legacy/island-legacy.css +3 -1
  51. package/components/list/list.js +6 -1
  52. package/components/list/list__custom.js +9 -3
  53. package/components/list/list__item.js +8 -2
  54. package/components/loader-inline/loader-inline.css +1 -1
  55. package/components/loader-screen/loader-screen.css +1 -1
  56. package/components/message/message.css +1 -1
  57. package/components/pager/pager.js +5 -3
  58. package/components/permissions/permissions.js +1 -1
  59. package/components/progress-bar/progress-bar.css +1 -1
  60. package/components/query-assist/query-assist.css +1 -1
  61. package/components/save-field-ng/save-field-ng.js +3 -1
  62. package/components/save-field-ng/{save-field-ng.html → save-field-ng__template.js} +2 -2
  63. package/components/select/select.css +4 -0
  64. package/components/select/select.examples.js +13 -0
  65. package/components/select/select.js +6 -6
  66. package/components/shortcuts-hint-ng/shortcuts-hint-ng.css +1 -1
  67. package/components/shortcuts-hint-ng/shortcuts-hint-ng.js +1 -1
  68. package/components/shortcuts-hint-ng/{shortcuts-hint-ng.html → shortcuts-hint-ng__template.js} +2 -2
  69. package/components/sidebar/sidebar.css +1 -0
  70. package/components/sidebar-ng/sidebar-ng.js +6 -2
  71. package/components/sidebar-ng/{sidebar-ng__button.html → sidebar-ng__button-template.js} +2 -2
  72. package/components/sidebar-ng/{sidebar-ng.html → sidebar-ng__template.js} +2 -2
  73. package/components/table/table.css +2 -1
  74. package/components/table-legacy/table-legacy.css +2 -2
  75. package/components/table-legacy-ng/table-legacy-ng.js +38 -5
  76. package/components/table-legacy-ng/table-legacy-ng__pager.js +7 -1
  77. package/components/tabs-ng/tabs-ng.js +3 -1
  78. package/components/tabs-ng/{tabs-ng.html → tabs-ng__template.js} +2 -2
  79. package/components/tag/tag.css +5 -2
  80. package/components/tags-input/tags-input.js +5 -2
  81. package/components/template-ng/template-ng.js +1 -1
  82. package/components/tooltip/tooltip.js +7 -2
  83. package/components/user-agreement/user-agreement.css +1 -1
  84. package/dist/_helpers/button-group.js +3 -0
  85. package/dist/_helpers/button-set.js +3 -0
  86. package/dist/_helpers/button-toolbar.js +3 -0
  87. package/dist/_helpers/button__classes.js +1 -1
  88. package/dist/_helpers/checkbox.js +3 -0
  89. package/dist/_helpers/date-picker.js +1 -1
  90. package/dist/_helpers/error-message.js +3 -0
  91. package/dist/_helpers/footer.js +121 -0
  92. package/dist/_helpers/grid.js +1 -1
  93. package/dist/_helpers/group.js +3 -0
  94. package/dist/_helpers/header.js +1 -1
  95. package/dist/_helpers/icon.js +3 -0
  96. package/dist/_helpers/inject-styles.js +1 -1
  97. package/dist/_helpers/input.js +3 -0
  98. package/dist/_helpers/island.js +1 -1
  99. package/dist/_helpers/link.js +3 -0
  100. package/dist/_helpers/loader-screen.js +3 -0
  101. package/dist/_helpers/panel.js +3 -0
  102. package/dist/_helpers/query-assist__suggestions.js +1 -1
  103. package/dist/_helpers/radio.js +3 -0
  104. package/dist/_helpers/sidebar.js +1 -1
  105. package/dist/_helpers/table.js +1 -1
  106. package/dist/_helpers/tabs.js +1 -1
  107. package/dist/_helpers/title.js +1 -1
  108. package/dist/alert/alert.js +3 -3
  109. package/dist/alert/container.js +2 -2
  110. package/dist/alert-service/alert-service.js +3 -2
  111. package/dist/analytics/analytics.js +2 -2
  112. package/dist/analytics/analytics__custom-plugin.js +1 -1
  113. package/dist/analytics/analytics__fus-plugin.js +1 -1
  114. package/dist/analytics/analytics__ga-plugin.js +1 -1
  115. package/dist/analytics/analytics__plugin-utils.js +1 -1
  116. package/dist/analytics-ng/analytics-ng.js +94 -0
  117. package/dist/auth/auth.js +4 -1
  118. package/dist/auth/auth__core.js +15 -9
  119. package/dist/auth/background-flow.js +1 -2
  120. package/dist/auth/down-notification.js +5 -2
  121. package/dist/auth/iframe-flow.js +5 -2
  122. package/dist/auth/landing-entry.js +1 -1
  123. package/dist/auth/landing.js +5 -2
  124. package/dist/auth/request-builder.js +1 -1
  125. package/dist/auth/response-parser.js +1 -1
  126. package/dist/auth/storage.js +3 -2
  127. package/dist/auth/token-validator.js +1 -1
  128. package/dist/auth/window-flow.js +1 -1
  129. package/dist/auth-dialog/auth-dialog.js +4 -3
  130. package/dist/auth-dialog-service/auth-dialog-service.js +3 -2
  131. package/dist/auth-ng/auth-ng.js +203 -0
  132. package/dist/auth-ng/auth-ng.mock.js +33 -0
  133. package/dist/autofocus-ng/autofocus-ng.js +50 -0
  134. package/dist/avatar/avatar.js +19 -7
  135. package/dist/avatar/fallback-avatar.js +141 -0
  136. package/dist/avatar-editor-ng/avatar-editor-ng.js +164 -0
  137. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +30 -0
  138. package/dist/avatar-ng/avatar-ng.js +18 -0
  139. package/dist/badge/badge.js +1 -1
  140. package/dist/badge-ng/badge-ng.js +16 -0
  141. package/dist/breadcrumb-ng/breadcrumb-ng.js +61 -0
  142. package/dist/button/button.js +3 -2
  143. package/dist/button-group/button-group.js +3 -3
  144. package/dist/button-group/caption.js +24 -5
  145. package/dist/button-group-ng/button-group-ng.js +38 -0
  146. package/dist/button-ng/button-ng.js +223 -0
  147. package/dist/button-set/button-set.js +2 -3
  148. package/dist/button-set-ng/button-set-ng.js +19 -0
  149. package/dist/button-toolbar/button-toolbar.js +2 -3
  150. package/dist/button-toolbar-ng/button-toolbar-ng.js +23 -0
  151. package/dist/caret/caret.js +1 -1
  152. package/dist/checkbox/checkbox.js +4 -4
  153. package/dist/checkbox-ng/checkbox-ng.js +55 -0
  154. package/dist/code/code.js +136 -0
  155. package/dist/compiler-ng/compiler-ng.js +53 -0
  156. package/dist/confirm/confirm.js +4 -2
  157. package/dist/confirm-ng/confirm-ng.js +66 -0
  158. package/dist/confirm-service/confirm-service.js +4 -3
  159. package/dist/content-layout/content-layout.js +1 -1
  160. package/dist/contenteditable/contenteditable.js +1 -1
  161. package/dist/data-list/data-list.js +6 -3
  162. package/dist/data-list/data-list.mock.js +2 -2
  163. package/dist/data-list/item.js +5 -3
  164. package/dist/data-list/selection.js +1 -1
  165. package/dist/data-list/title.js +3 -1
  166. package/dist/data-list-ng/data-list-ng.js +59 -0
  167. package/dist/date-picker/consts.js +1 -2
  168. package/dist/date-picker/date-input.js +10 -6
  169. package/dist/date-picker/date-picker.js +28 -16
  170. package/dist/date-picker/date-popup.js +20 -9
  171. package/dist/date-picker/day.js +1 -1
  172. package/dist/date-picker/formats.js +1 -1
  173. package/dist/date-picker/month-names.js +14 -7
  174. package/dist/date-picker/month-slider.js +1 -1
  175. package/dist/date-picker/month.js +12 -6
  176. package/dist/date-picker/months.js +1 -1
  177. package/dist/date-picker/weekdays.js +12 -4
  178. package/dist/date-picker/years.js +1 -1
  179. package/dist/dialog/dialog.js +3 -2
  180. package/dist/dialog-ng/dialog-ng.js +601 -0
  181. package/dist/dialog-ng/dialog-ng__template.js +71 -0
  182. package/dist/docked-panel-ng/docked-panel-ng.js +170 -0
  183. package/dist/dropdown/anchor.js +2 -1
  184. package/dist/dropdown/dropdown.js +3 -2
  185. package/dist/dropdown-menu/dropdown-menu.js +175 -0
  186. package/dist/error-bubble/error-bubble.js +2 -2
  187. package/dist/error-message/error-message.js +4 -4
  188. package/dist/error-message-ng/error-message-ng.js +53 -0
  189. package/dist/footer/footer.js +6 -122
  190. package/dist/footer-ng/footer-ng.js +75 -0
  191. package/dist/form-ng/form-ng.js +169 -0
  192. package/dist/global/angular-component-factory.js +1 -2
  193. package/dist/global/compose.js +1 -1
  194. package/dist/global/composeRefs.js +1 -1
  195. package/dist/global/conic-gradient.js +1 -2
  196. package/dist/global/create-stateful-context.js +1 -1
  197. package/dist/global/data-tests.js +1 -1
  198. package/dist/global/focus-sensor-hoc.js +1 -1
  199. package/dist/global/fuzzy-highlight.js +1 -1
  200. package/dist/global/get-event-key.js +1 -1
  201. package/dist/global/get-uid.js +1 -1
  202. package/dist/global/linear-function.js +1 -2
  203. package/dist/global/listeners.js +1 -1
  204. package/dist/global/memoize.js +1 -1
  205. package/dist/global/normalize-indent.js +1 -1
  206. package/dist/global/promise-with-timeout.js +1 -1
  207. package/dist/global/radial-gradient-mask.js +1 -1
  208. package/dist/global/react-dom-renderer.js +1 -1
  209. package/dist/global/rerender-hoc.js +1 -1
  210. package/dist/global/ring-angular-component.js +1 -1
  211. package/dist/global/schedule-raf.js +1 -1
  212. package/dist/global/sniffer.js +1 -1
  213. package/dist/global/supports-css.js +1 -1
  214. package/dist/global/theme.js +1 -2
  215. package/dist/global/trivial-template-tag.js +1 -1
  216. package/dist/global/variables_dark.js +1 -1
  217. package/dist/grid/col.js +1 -1
  218. package/dist/grid/row.js +1 -1
  219. package/dist/group/group.js +2 -3
  220. package/dist/group-ng/group-ng.js +11 -0
  221. package/dist/header/header.js +24 -19
  222. package/dist/header/logo.js +3 -2
  223. package/dist/header/profile.js +31 -25
  224. package/dist/header/services-link.js +1 -0
  225. package/dist/header/services.js +4 -2
  226. package/dist/header/smart-profile.js +22 -16
  227. package/dist/header/smart-services.js +5 -2
  228. package/dist/header/tray-icon.js +3 -2
  229. package/dist/header/tray.js +1 -1
  230. package/dist/heading/heading.js +2 -3
  231. package/dist/http/http.js +1 -2
  232. package/dist/http/http.mock.js +1 -1
  233. package/dist/hub-source/hub-source.js +1 -1
  234. package/dist/hub-source/hub-source__users-groups.js +1 -1
  235. package/dist/icon/icon.js +3 -2
  236. package/dist/icon/icon__svg.js +81 -6
  237. package/dist/icon/index.js +2 -1
  238. package/dist/icon-ng/icon-ng.js +89 -0
  239. package/dist/input/input.js +4 -5
  240. package/dist/input-ng/input-ng.js +166 -0
  241. package/dist/island/adaptive-island-hoc.js +1 -2
  242. package/dist/island/content.js +1 -1
  243. package/dist/island/header.js +1 -1
  244. package/dist/island/island.js +1 -2
  245. package/dist/island-legacy/content-legacy.js +1 -1
  246. package/dist/island-legacy/header-legacy.js +1 -1
  247. package/dist/island-legacy/island-legacy.js +1 -1
  248. package/dist/island-ng/island-content-ng.js +56 -0
  249. package/dist/island-ng/island-header-ng.js +32 -0
  250. package/dist/island-ng/island-ng-class-fixer.js +9 -0
  251. package/dist/island-ng/island-ng.js +31 -0
  252. package/dist/link/clickableLink.js +1 -1
  253. package/dist/link/link.js +2 -4
  254. package/dist/link-ng/link-ng.js +25 -0
  255. package/dist/list/list.js +13 -5
  256. package/dist/list/list__custom.js +8 -3
  257. package/dist/list/list__hint.js +1 -1
  258. package/dist/list/list__item.js +15 -6
  259. package/dist/list/list__link.js +2 -1
  260. package/dist/list/list__separator.js +1 -1
  261. package/dist/list/list__title.js +1 -1
  262. package/dist/list/list__users-groups-source.js +6 -2
  263. package/dist/loader/loader.js +1 -1
  264. package/dist/loader/loader__core.js +1 -1
  265. package/dist/loader-inline/loader-inline.js +1 -1
  266. package/dist/loader-inline-ng/loader-inline-ng.js +42 -0
  267. package/dist/loader-ng/loader-ng.js +43 -0
  268. package/dist/loader-screen/loader-screen.js +2 -3
  269. package/dist/loader-screen-ng/loader-screen-ng.js +99 -0
  270. package/dist/login-dialog/login-dialog.js +4 -2
  271. package/dist/login-dialog/service.js +4 -2
  272. package/dist/markdown/code.js +30 -0
  273. package/dist/markdown/heading.js +23 -0
  274. package/dist/markdown/link.js +30 -0
  275. package/dist/markdown/markdown.js +73 -0
  276. package/dist/message/message.js +4 -3
  277. package/dist/message-bundle-ng/message-bundle-ng.js +111 -0
  278. package/dist/pager/pager.js +16 -7
  279. package/dist/pager-ng/pager-ng.js +96 -0
  280. package/dist/panel/panel.js +2 -3
  281. package/dist/panel-ng/panel-ng.js +16 -0
  282. package/dist/permissions/permissions.js +1 -1
  283. package/dist/permissions/permissions__cache.js +1 -1
  284. package/dist/permissions-ng/permissions-ng.js +274 -0
  285. package/dist/place-under-ng/place-under-ng.js +157 -0
  286. package/dist/popup/popup.js +2 -3
  287. package/dist/popup/position.js +1 -2
  288. package/dist/popup-menu/popup-menu.js +6 -3
  289. package/dist/progress-bar/progress-bar.js +2 -2
  290. package/dist/progress-bar-ng/progress-bar-ng.js +15 -0
  291. package/dist/promised-click-ng/promised-click-ng.js +126 -0
  292. package/dist/proxy-attrs/proxy-attrs.js +1 -1
  293. package/dist/query-assist/query-assist.js +6 -3
  294. package/dist/query-assist/query-assist__suggestions.js +5 -1
  295. package/dist/query-assist-ng/query-assist-ng.js +82 -0
  296. package/dist/radio/radio.js +2 -1
  297. package/dist/radio/radio__item.js +2 -4
  298. package/dist/radio-ng/radio-ng.js +63 -0
  299. package/dist/save-field-ng/save-field-ng.js +335 -0
  300. package/dist/save-field-ng/save-field-ng__template.js +34 -0
  301. package/dist/select/select.js +13 -11
  302. package/dist/select/select__filter.js +6 -1
  303. package/dist/select/select__popup.js +7 -2
  304. package/dist/select-ng/select-ng.js +621 -0
  305. package/dist/select-ng/select-ng__lazy.js +150 -0
  306. package/dist/select-ng/select-ng__options.js +145 -0
  307. package/dist/shortcuts/core.js +2 -2
  308. package/dist/shortcuts/shortcuts-hoc.js +1 -1
  309. package/dist/shortcuts/shortcuts.js +6 -6
  310. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +120 -0
  311. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +50 -0
  312. package/dist/shortcuts-ng/shortcuts-ng.js +261 -0
  313. package/dist/sidebar-ng/sidebar-ng.js +111 -0
  314. package/dist/sidebar-ng/sidebar-ng__button-template.js +20 -0
  315. package/dist/sidebar-ng/sidebar-ng__template.js +12 -0
  316. package/dist/storage/storage.js +3 -2
  317. package/dist/storage/storage__fallback.js +1 -1
  318. package/dist/storage/storage__local.js +3 -2
  319. package/dist/style.css +1 -1
  320. package/dist/tab-trap/tab-trap.js +1 -2
  321. package/dist/table/cell.js +1 -1
  322. package/dist/table/disable-hover-hoc.js +1 -1
  323. package/dist/table/header-cell.js +3 -2
  324. package/dist/table/header.js +4 -2
  325. package/dist/table/multitable.js +1 -1
  326. package/dist/table/row-with-focus-sensor.js +4 -2
  327. package/dist/table/row.js +4 -2
  328. package/dist/table/selection-adapter.js +1 -1
  329. package/dist/table/selection-shortcuts-hoc.js +1 -1
  330. package/dist/table/selection.js +1 -1
  331. package/dist/table/smart-table.js +4 -2
  332. package/dist/table/table.js +4 -3
  333. package/dist/table-legacy-ng/table-legacy-ng.js +501 -0
  334. package/dist/table-legacy-ng/table-legacy-ng__pager.js +122 -0
  335. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +123 -0
  336. package/dist/table-legacy-ng/table-legacy-ng__selection.js +179 -0
  337. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +56 -0
  338. package/dist/table-ng/smart-table-ng.js +65 -0
  339. package/dist/table-ng/table-ng.js +64 -0
  340. package/dist/tabs/collapsible-more.js +5 -1
  341. package/dist/tabs/collapsible-tab.js +2 -1
  342. package/dist/tabs/collapsible-tabs.js +6 -3
  343. package/dist/tabs/dumb-tabs.js +6 -2
  344. package/dist/tabs/smart-tabs.js +6 -2
  345. package/dist/tabs/tab-link.js +2 -1
  346. package/dist/tabs/tab.js +1 -1
  347. package/dist/tabs/tabs.js +5 -1
  348. package/dist/tabs-ng/tabs-ng.js +193 -0
  349. package/dist/tabs-ng/tabs-ng__template.js +40 -0
  350. package/dist/tag/tag.js +4 -3
  351. package/dist/tags-input/tags-input.js +12 -8
  352. package/dist/tags-input-ng/tags-input-ng.js +89 -0
  353. package/dist/tags-list/tags-list.js +3 -2
  354. package/dist/template-ng/template-ng.js +70 -0
  355. package/dist/text/text.js +1 -1
  356. package/dist/theme-ng/theme-ng.js +44 -0
  357. package/dist/title-ng/title-ng.js +114 -0
  358. package/dist/toggle/toggle.js +2 -3
  359. package/dist/toggle-ng/toggle-ng.js +16 -0
  360. package/dist/tooltip/tooltip.js +8 -4
  361. package/dist/tooltip-ng/tooltip-ng.js +98 -0
  362. package/dist/user-agreement/service.js +409 -0
  363. package/dist/user-agreement/toolbox.eula.js +162 -0
  364. package/dist/user-agreement/user-agreement.js +167 -0
  365. package/dist/user-card/card.js +3 -0
  366. package/dist/user-card/smart-user-card-tooltip.js +5 -2
  367. package/dist/user-card/tooltip.js +5 -2
  368. package/dist/user-card/user-card.js +5 -2
  369. package/dist/user-card-ng/user-card-ng.js +59 -0
  370. package/package.json +62 -64
  371. package/webpack.config.js +10 -8
  372. package/components/button-set-ng/button-set-ng.html +0 -1
  373. package/components/footer-ng/footer-ng.html +0 -13
  374. package/components/form-ng/form-ng__error-bubble.html +0 -3
  375. package/components/table-legacy-ng/table-legacy-ng.html +0 -4
  376. package/components/table-legacy-ng/table-legacy-ng__column.html +0 -12
  377. package/components/table-legacy-ng/table-legacy-ng__header.html +0 -4
  378. package/components/table-legacy-ng/table-legacy-ng__pager.html +0 -7
  379. package/components/table-legacy-ng/table-legacy-ng__row.html +0 -12
  380. package/components/table-legacy-ng/table-legacy-ng__title.html +0 -9
  381. package/dist/_helpers/caption.js +0 -25
  382. package/dist/_helpers/icon__svg.js +0 -82
@@ -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 };
@@ -60,4 +60,4 @@ _defineProperty(ClickableLink, "propTypes", {
60
60
  children: PropTypes.node.isRequired
61
61
  });
62
62
 
63
- export default ClickableLink;
63
+ export { ClickableLink as default };
package/dist/link/link.js CHANGED
@@ -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
@@ -112,5 +111,4 @@ function linkHOC(ComposedComponent) {
112
111
  }
113
112
  var Link = linkHOC(ClickableLink);
114
113
 
115
- export default Link;
116
- 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
@@ -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();
@@ -432,9 +436,13 @@ class List extends Component {
432
436
  }, /*#__PURE__*/React.createElement("div", {
433
437
  role: "cell"
434
438
  }, el));
435
- }) : /*#__PURE__*/cloneElement(el, {
439
+ }) : /*#__PURE__*/React.createElement("div", {
440
+ role: "row",
441
+ id: itemId,
436
442
  key: itemKey
437
- });
443
+ }, /*#__PURE__*/React.createElement("div", {
444
+ role: "cell"
445
+ }, /*#__PURE__*/cloneElement(el)));
438
446
  });
439
447
 
440
448
  _defineProperty(this, "addItemDataTestToProp", props => {
@@ -707,6 +715,7 @@ class List extends Component {
707
715
  onMouseMove: this.mouseHandler
708
716
  }, /*#__PURE__*/React.createElement("div", {
709
717
  "aria-label": this.props.ariaLabel,
718
+ role: "grid",
710
719
  style: maxHeight ? {
711
720
  maxHeight: this.getVisibleListHeight(this.props)
712
721
  } : null
@@ -800,5 +809,4 @@ _defineProperty(List, "ListProps", {
800
809
  Dimension
801
810
  });
802
811
 
803
- export default List;
804
- export { ActiveItemContext };
812
+ export { ActiveItemContext, List as default };
@@ -32,6 +32,8 @@ class ListCustom extends PureComponent {
32
32
  onCheckboxChange,
33
33
  onMouseOver,
34
34
  onMouseUp,
35
+ role,
36
+ tagName,
35
37
  ...restProps
36
38
  } = this.props;
37
39
  const classes = classNames(modules_3b67a421.item, className, {
@@ -43,8 +45,9 @@ class ListCustom extends PureComponent {
43
45
  'ring-list-item-action': !disabled
44
46
  }, restProps['data-test']);
45
47
  const content = typeof template === 'function' ? template(this.props) : template;
46
- return /*#__PURE__*/React.createElement("span", {
47
- role: "button",
48
+ const TagName = tagName || 'span';
49
+ return /*#__PURE__*/React.createElement(TagName, {
50
+ role: role || 'button',
48
51
  tabIndex: tabIndex,
49
52
  onClick: onClick,
50
53
  onKeyPress: this.handleKeyPress,
@@ -70,6 +73,8 @@ _defineProperty(ListCustom, "propTypes", {
70
73
  onMouseOver: PropTypes.func,
71
74
  onMouseUp: PropTypes.func,
72
75
  onCheckboxChange: PropTypes.func,
76
+ role: PropTypes.string,
77
+ tagName: PropTypes.string,
73
78
  'data-test': PropTypes.string
74
79
  });
75
80
 
@@ -77,4 +82,4 @@ _defineProperty(ListCustom, "defaultProps", {
77
82
  hover: false
78
83
  });
79
84
 
80
- 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 };
@@ -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":"global_clearfix__750f6947","font":"global_font__750f6947","font-lower":"global_fontLower__750f6947 global_font__750f6947","font-smaller":"global_fontSmaller__750f6947 global_fontLower__750f6947 global_font__750f6947","font-smaller-lower":"global_fontSmallerLower__750f6947 global_fontSmaller__750f6947 global_fontLower__750f6947 global_font__750f6947","font-larger-lower":"global_fontLargerLower__750f6947 global_fontLower__750f6947 global_font__750f6947","font-larger":"global_fontLarger__750f6947 global_fontLargerLower__750f6947 global_fontLower__750f6947 global_font__750f6947","thin-font":"global_thinFont__750f6947","monospace-font":"global_monospaceFont__750f6947","ellipsis":"global_ellipsis__750f6947","resetButton":"global_resetButton__750f6947"};
21
24
 
22
25
  /**
23
26
  * @constructor
@@ -65,10 +68,13 @@ class ListItem extends PureComponent {
65
68
  onMouseUp,
66
69
  rightNodes,
67
70
  leftNodes,
71
+ showGeneratedAvatar,
72
+ username,
68
73
  ...restProps
69
74
  } = this.props;
70
75
  const checkable = checkbox !== undefined;
71
- const hasLeftNodes = leftNodes || glyph || avatar;
76
+ const shouldShowGeneratedAvatar = showGeneratedAvatar && username != null;
77
+ const hasLeftNodes = leftNodes || glyph || avatar || shouldShowGeneratedAvatar;
72
78
  const showCheckbox = checkable && (checkbox || !hasLeftNodes || hover && !disabled);
73
79
  const classes = classNames(modules_3b67a421.item, modules_5b0fb3e8.resetButton, className, {
74
80
  [modules_3b67a421.action]: !disabled,
@@ -132,11 +138,12 @@ class ListItem extends PureComponent {
132
138
  className: modules_3b67a421.glyph,
133
139
  glyph: glyph,
134
140
  size: this.props.iconSize
135
- }), avatar && /*#__PURE__*/React.createElement(Avatar, {
141
+ }), (avatar || shouldShowGeneratedAvatar) && /*#__PURE__*/React.createElement(Avatar, {
136
142
  className: modules_3b67a421.avatar,
137
143
  url: avatar,
138
144
  size: Size.Size20,
139
- subavatar: subavatar
145
+ subavatar: subavatar,
146
+ username: username
140
147
  })), /*#__PURE__*/React.createElement("span", {
141
148
  className: modules_3b67a421.label,
142
149
  title: computedTitle,
@@ -171,6 +178,8 @@ _defineProperty(ListItem, "propTypes", {
171
178
  tabIndex: PropTypes.number,
172
179
  checkbox: PropTypes.bool,
173
180
  description: PropTypes.oneOfType([PropTypes.string, PropTypes.element, PropTypes.array]),
181
+ showGeneratedAvatar: PropTypes.bool,
182
+ username: PropTypes.string,
174
183
  avatar: PropTypes.string,
175
184
  subavatar: PropTypes.string,
176
185
  glyph: PropTypes.oneOfType([PropTypes.string, PropTypes.elementType]),
@@ -192,4 +201,4 @@ _defineProperty(ListItem, "propTypes", {
192
201
  'data-test': PropTypes.string
193
202
  });
194
203
 
195
- export default ListItem;
204
+ export { ListItem as default };
@@ -8,6 +8,7 @@ import { m as modules_3b67a421 } from '../_helpers/list.js';
8
8
  import 'focus-visible';
9
9
  import '../global/memoize.js';
10
10
  import '../link/clickableLink.js';
11
+ import '../_helpers/link.js';
11
12
 
12
13
  /**
13
14
  * @constructor
@@ -60,4 +61,4 @@ _defineProperty(ListLink, "propTypes", { ...Link.propTypes,
60
61
  compact: PropTypes.bool
61
62
  });
62
63
 
63
- export default ListLink;
64
+ export { ListLink as default };
@@ -27,4 +27,4 @@ _defineProperty(ListSeparator, "propTypes", {
27
27
  isFirst: PropTypes.bool
28
28
  });
29
29
 
30
- export default ListSeparator;
30
+ export { ListSeparator as default };
@@ -36,4 +36,4 @@ _defineProperty(ListTitle, "propTypes", {
36
36
  isFirst: PropTypes.bool
37
37
  });
38
38
 
39
- export default ListTitle;
39
+ export { ListTitle as default };
@@ -27,16 +27,20 @@ import './list__link.js';
27
27
  import '../link/link.js';
28
28
  import 'focus-visible';
29
29
  import '../link/clickableLink.js';
30
+ import '../_helpers/link.js';
30
31
  import '../_helpers/list.js';
31
32
  import './list__item.js';
32
33
  import '../avatar/avatar.js';
33
34
  import '../global/url.js';
35
+ import '../avatar/fallback-avatar.js';
34
36
  import '../checkbox/checkbox.js';
35
37
  import '@jetbrains/icons/checkmark';
36
38
  import '@jetbrains/icons/remove-10px';
37
39
  import '../icon/icon.js';
38
40
  import '../icon/icon__constants.js';
39
- import '../_helpers/icon__svg.js';
41
+ import '../_helpers/icon.js';
42
+ import '../icon/icon__svg.js';
43
+ import '../_helpers/checkbox.js';
40
44
  import './list__custom.js';
41
45
  import '../global/get-event-key.js';
42
46
  import './list__title.js';
@@ -121,4 +125,4 @@ class ListUsersGroupsSource extends HubSourceUsersGroups {
121
125
 
122
126
  _defineProperty(ListUsersGroupsSource, "Filter", Filter);
123
127
 
124
- export default ListUsersGroupsSource;
128
+ export { ListUsersGroupsSource as default };
@@ -67,4 +67,4 @@ _defineProperty(Loader, "propTypes", {
67
67
  deterministic: PropTypes.bool
68
68
  });
69
69
 
70
- export default Loader;
70
+ export { Loader as default };
@@ -269,4 +269,4 @@ _defineProperty(LoaderCore, "defaultProps", {
269
269
  ]
270
270
  });
271
271
 
272
- export default LoaderCore;
272
+ export { LoaderCore as default };
@@ -53,4 +53,4 @@ _defineProperty(LoaderInline, "Theme", Theme);
53
53
 
54
54
  var LoaderInline$1 = withTheme()(LoaderInline);
55
55
 
56
- export default LoaderInline$1;
56
+ export { LoaderInline$1 as default };
@@ -0,0 +1,42 @@
1
+ import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import angular from 'angular';
3
+ import { m as modules_e49a3529, i as injectStyles } from '../_helpers/inject-styles.js';
4
+ import Theme from '../global/theme.js';
5
+ import '../global/conic-gradient.js';
6
+ import 'conic-gradient';
7
+ import '../global/memoize.js';
8
+ import '../global/supports-css.js';
9
+ import '../global/inject-styles.js';
10
+ import '../global/radial-gradient-mask.js';
11
+ import '../global/get-uid.js';
12
+ import 'react';
13
+
14
+ /**
15
+ * @name Loader Inline Ng
16
+ */
17
+
18
+ const angularModule = angular.module('Ring.loader-inline', []);
19
+
20
+ class LoaderController {
21
+ constructor() {
22
+ _defineProperty(this, "getThemeClass", () => `${modules_e49a3529.loader}_${this.theme}`);
23
+ }
24
+
25
+ $onInit() {
26
+ injectStyles();
27
+ this.theme = this.theme || Theme.LIGHT;
28
+ }
29
+
30
+ }
31
+
32
+ LoaderController.$inject = [];
33
+ angularModule.component('rgLoaderInline', {
34
+ bindings: {
35
+ theme: '@?'
36
+ },
37
+ template: `<div data-test="ring-loader-inline-ng" class="${modules_e49a3529.loader}" ng-class="$ctrl.getThemeClass()"></div>`,
38
+ controller: LoaderController
39
+ });
40
+ var loaderInlineNg = angularModule.name;
41
+
42
+ export { loaderInlineNg as default };
@@ -0,0 +1,43 @@
1
+ import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import angular from 'angular';
3
+ import RingAngularComponent from '../global/ring-angular-component.js';
4
+ import LoaderCore from '../loader/loader__core.js';
5
+ import '../global/dom.js';
6
+
7
+ /**
8
+ * @name Loader Ng
9
+ */
10
+
11
+ const angularModule = angular.module('Ring.loader', []);
12
+
13
+ class RgLoaderComponent extends RingAngularComponent {
14
+ constructor() {
15
+ super(...arguments);
16
+ const {
17
+ $element
18
+ } = this.$inject;
19
+ this.loader = new LoaderCore($element[0], {
20
+ message: this.message
21
+ });
22
+ }
23
+
24
+ $onDestroy() {
25
+ this.loader.destroy();
26
+ }
27
+
28
+ $onChanges(changes) {
29
+ this.loader.updateMessage(changes.message.currentValue);
30
+ }
31
+
32
+ }
33
+
34
+ _defineProperty(RgLoaderComponent, "$inject", ['$element']);
35
+
36
+ _defineProperty(RgLoaderComponent, "bindings", {
37
+ message: '@'
38
+ });
39
+
40
+ angularModule.component('rgLoader', RgLoaderComponent);
41
+ var loaderNg = angularModule.name;
42
+
43
+ export { loaderNg as default };
@@ -3,12 +3,11 @@ import React, { PureComponent } from 'react';
3
3
  import classNames from 'classnames';
4
4
  import PropTypes from 'prop-types';
5
5
  import Loader from '../loader/loader.js';
6
+ import { m as modules_122a82e9 } from '../_helpers/loader-screen.js';
6
7
  import '../global/data-tests.js';
7
8
  import '../loader/loader__core.js';
8
9
  import '../global/dom.js';
9
10
 
10
- var modules_122a82e9 = {"loaderScreen":"loaderScreen_loaderScreen__58811ca6","loader":"loaderScreen_loader__58811ca6","loaderWithoutSpacing":"loaderScreen_loaderWithoutSpacing__58811ca6"};
11
-
12
11
  /**
13
12
  * @name Loader Screen
14
13
  */
@@ -41,4 +40,4 @@ _defineProperty(LoaderScreen, "propTypes", {
41
40
  message: PropTypes.string
42
41
  });
43
42
 
44
- export default LoaderScreen;
43
+ export { LoaderScreen as default };
@@ -0,0 +1,99 @@
1
+ import angular from 'angular';
2
+ import loaderNg from '../loader-ng/loader-ng.js';
3
+ import { m as modules_122a82e9 } from '../_helpers/loader-screen.js';
4
+ import '../_helpers/_rollupPluginBabelHelpers.js';
5
+ import '../global/ring-angular-component.js';
6
+ import '../loader/loader__core.js';
7
+ import '../global/dom.js';
8
+
9
+ /**
10
+ * @name Loader Screen Ng
11
+ */
12
+
13
+ const angularModule = angular.module('Ring.loader-screen', [loaderNg]);
14
+ angularModule.service('loaderScreen', ["$timeout", "$rootScope", function service($timeout, $rootScope) {
15
+ var _this = this;
16
+
17
+ // TODO in CSS Modules version put constant to global.css
18
+ const ordinaryLoadingTTL = 100;
19
+ let initialLoading = false;
20
+ let loadingFailed = false;
21
+ let showLoader;
22
+ let showLoaderPromise;
23
+
24
+ this.startLoading = function () {
25
+ let ttl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ordinaryLoadingTTL;
26
+
27
+ if (showLoaderPromise) {
28
+ return; // already scheduled to show
29
+ }
30
+
31
+ showLoaderPromise = $timeout(() => {
32
+ _this.setVisible(true);
33
+ }, ttl);
34
+ };
35
+
36
+ this.stopLoading = () => {
37
+ if (showLoaderPromise) {
38
+ $timeout.cancel(showLoaderPromise);
39
+ showLoaderPromise = null;
40
+ }
41
+
42
+ this.setVisible(false);
43
+ };
44
+
45
+ this.startInitialLoading = () => {
46
+ initialLoading = true;
47
+ this.setVisible(true);
48
+ };
49
+
50
+ this.stopInitialLoading = () => {
51
+ initialLoading = false;
52
+ this.setVisible(false);
53
+ };
54
+
55
+ $rootScope.isInitialLoading = () => initialLoading;
56
+
57
+ $rootScope.isLoaderVisible = () => showLoader;
58
+
59
+ $rootScope.isLoadingFailed = () => loadingFailed;
60
+
61
+ this.failInitialLoading = error => {
62
+ this.stopInitialLoading();
63
+ loadingFailed = true;
64
+ $rootScope.error = error;
65
+ };
66
+
67
+ this.setVisible = visible => {
68
+ showLoader = visible;
69
+ };
70
+ /* eslint-disable angular/on-watch */
71
+
72
+
73
+ $rootScope.$on('$routeChangeSuccess', () => {
74
+ this.stopInitialLoading();
75
+ });
76
+ $rootScope.$on('$routeChangeError', (event, current, previous, rejection) => {
77
+ if (!rejection || !(rejection.silent || rejection.authRedirect)) {
78
+ this.failInitialLoading(rejection);
79
+ }
80
+ });
81
+ /* eslint-enable angular/on-watch */
82
+ }]);
83
+ angularModule.directive('rgLoaderScreen', function rgLoaderScreenDirective() {
84
+ return {
85
+ restrict: 'A',
86
+ scope: {
87
+ message: '@rgLoaderScreen'
88
+ },
89
+ template: `
90
+ <div class="${modules_122a82e9.loaderScreen}" ng-if="$root.isLoaderVisible()">
91
+ <rg-loader class="${modules_122a82e9.loader}"
92
+ message="{{$root.isInitialLoading() ? message : ''}}"></rg-loader>
93
+ </div>
94
+ `
95
+ };
96
+ });
97
+ var loaderScreenNg = angularModule.name;
98
+
99
+ export { loaderScreenNg as default };
@@ -24,7 +24,8 @@ import '@jetbrains/icons/chevron-10px';
24
24
  import '../icon/icon.js';
25
25
  import 'util-deprecate';
26
26
  import '../icon/icon__constants.js';
27
- import '../_helpers/icon__svg.js';
27
+ import '../_helpers/icon.js';
28
+ import '../icon/icon__svg.js';
28
29
  import '../global/memoize.js';
29
30
  import '../global/theme.js';
30
31
  import '../link/clickableLink.js';
@@ -40,6 +41,7 @@ import 'element-resize-detector';
40
41
  import '../global/schedule-raf.js';
41
42
  import '../loader/loader.js';
42
43
  import '../loader/loader__core.js';
44
+ import '../_helpers/loader-screen.js';
43
45
  import '../auth/response-parser.js';
44
46
  import 'es6-error';
45
47
  import '../global/url.js';
@@ -181,4 +183,4 @@ _defineProperty(LoginDialog, "defaultProps", {
181
183
  showFallbackTimeout: DEFAULT_SHOW_FALLBACK_TIMEOUT
182
184
  });
183
185
 
184
- export default LoginDialog;
186
+ export { LoginDialog as default };