@jetbrains/ring-ui-built 6.1.1-beta.0 → 7.0.0-beta.10

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 (351) hide show
  1. package/components/_helpers/_rollupPluginBabelHelpers.js +1 -504
  2. package/components/_helpers/anchor.js +7 -10
  3. package/components/_helpers/button__classes.js +23 -20
  4. package/components/_helpers/caption.js +11 -21
  5. package/components/_helpers/card.js +91 -123
  6. package/components/_helpers/dialog__body-scroll-preventer.js +10 -17
  7. package/components/_helpers/header.js +1 -1
  8. package/components/_helpers/icon__svg.js +27 -29
  9. package/components/_helpers/input.js +151 -193
  10. package/components/_helpers/query-assist__suggestions.js +79 -94
  11. package/components/_helpers/select__filter.js +56 -75
  12. package/components/_helpers/services-link.js +23 -39
  13. package/components/_helpers/sidebar.js +91 -102
  14. package/components/_helpers/tab-link.js +8 -12
  15. package/components/_helpers/table.js +1 -1
  16. package/components/_helpers/theme.js +61 -51
  17. package/components/_helpers/title.js +59 -84
  18. package/components/alert/alert.d.ts +7 -24
  19. package/components/alert/alert.js +111 -179
  20. package/components/alert/container.d.ts +0 -5
  21. package/components/alert/container.js +32 -44
  22. package/components/alert-service/alert-service.js +104 -162
  23. package/components/analytics/analytics.js +12 -20
  24. package/components/analytics/analytics__custom-plugin.js +52 -68
  25. package/components/auth/auth.js +2 -31
  26. package/components/auth/auth__core.d.ts +1 -1
  27. package/components/auth/auth__core.js +754 -1440
  28. package/components/auth/background-flow.js +84 -121
  29. package/components/auth/down-notification.js +32 -79
  30. package/components/auth/iframe-flow.js +71 -125
  31. package/components/auth/request-builder.js +46 -77
  32. package/components/auth/response-parser.js +84 -112
  33. package/components/auth/storage.js +162 -324
  34. package/components/auth/token-validator.js +132 -227
  35. package/components/auth/window-flow.js +84 -121
  36. package/components/auth-dialog/auth-dialog.d.ts +0 -18
  37. package/components/auth-dialog/auth-dialog.js +107 -176
  38. package/components/auth-dialog-service/auth-dialog-service.js +12 -33
  39. package/components/avatar/avatar-example-datauri.js +1 -1
  40. package/components/avatar/avatar.d.ts +0 -13
  41. package/components/avatar/avatar.js +94 -136
  42. package/components/avatar/fallback-avatar.d.ts +1 -10
  43. package/components/avatar/fallback-avatar.js +20 -40
  44. package/components/badge/badge.d.ts +0 -10
  45. package/components/badge/badge.js +32 -48
  46. package/components/breadcrumbs/breadcrumbs.js +13 -17
  47. package/components/button/button.d.ts +0 -21
  48. package/components/button/button.js +68 -104
  49. package/components/button/button__classes.d.ts +1 -1
  50. package/components/button-group/button-group.d.ts +0 -5
  51. package/components/button-group/button-group.js +27 -41
  52. package/components/button-group/caption.d.ts +0 -4
  53. package/components/button-group/caption.js +0 -1
  54. package/components/button-set/button-set.d.ts +0 -6
  55. package/components/button-set/button-set.js +19 -33
  56. package/components/button-toolbar/button-toolbar.d.ts +0 -6
  57. package/components/button-toolbar/button-toolbar.js +17 -31
  58. package/components/caret/caret.js +184 -211
  59. package/components/checkbox/checkbox.d.ts +0 -19
  60. package/components/checkbox/checkbox.js +69 -104
  61. package/components/clipboard/clipboard-fallback.js +7 -7
  62. package/components/clipboard/clipboard.js +36 -129
  63. package/components/code/code.d.ts +0 -12
  64. package/components/code/code.js +83 -163
  65. package/components/collapse/collapse-content.js +42 -60
  66. package/components/collapse/collapse-context.js +2 -2
  67. package/components/collapse/collapse-control.js +12 -12
  68. package/components/collapse/collapse.js +12 -17
  69. package/components/collapse/consts.js +4 -4
  70. package/components/collapse/utils.js +1 -3
  71. package/components/confirm/confirm.d.ts +0 -14
  72. package/components/confirm/confirm.js +68 -112
  73. package/components/confirm-service/confirm-service.js +25 -47
  74. package/components/content-layout/content-layout.d.ts +0 -7
  75. package/components/content-layout/content-layout.js +41 -63
  76. package/components/content-layout/sidebar.d.ts +0 -9
  77. package/components/content-layout/sidebar.js +1 -2
  78. package/components/contenteditable/contenteditable.d.ts +1 -22
  79. package/components/contenteditable/contenteditable.js +37 -60
  80. package/components/control-help/control-help.js +5 -3
  81. package/components/control-label/control-label.js +9 -14
  82. package/components/data-list/data-list.d.ts +4 -6
  83. package/components/data-list/data-list.js +115 -179
  84. package/components/data-list/data-list.mock.js +3 -6
  85. package/components/data-list/item.js +119 -165
  86. package/components/data-list/selection.js +77 -135
  87. package/components/data-list/title.d.ts +2 -2
  88. package/components/data-list/title.js +2 -12
  89. package/components/date-picker/consts.d.ts +0 -2
  90. package/components/date-picker/consts.js +16 -24
  91. package/components/date-picker/date-input.d.ts +0 -20
  92. package/components/date-picker/date-input.js +100 -148
  93. package/components/date-picker/date-picker.d.ts +0 -29
  94. package/components/date-picker/date-picker.js +143 -224
  95. package/components/date-picker/date-popup.d.ts +0 -22
  96. package/components/date-picker/date-popup.js +282 -352
  97. package/components/date-picker/day.d.ts +0 -14
  98. package/components/date-picker/day.js +72 -109
  99. package/components/date-picker/month-names.d.ts +1 -11
  100. package/components/date-picker/month-names.js +42 -72
  101. package/components/date-picker/month-slider.d.ts +0 -9
  102. package/components/date-picker/month-slider.js +43 -71
  103. package/components/date-picker/month.d.ts +1 -9
  104. package/components/date-picker/month.js +18 -30
  105. package/components/date-picker/months.d.ts +1 -9
  106. package/components/date-picker/months.js +45 -55
  107. package/components/date-picker/weekdays.d.ts +2 -8
  108. package/components/date-picker/weekdays.js +12 -25
  109. package/components/date-picker/years.d.ts +0 -6
  110. package/components/date-picker/years.js +77 -104
  111. package/components/dialog/dialog.d.ts +0 -20
  112. package/components/dialog/dialog.js +153 -210
  113. package/components/dialog/dialog__body-scroll-preventer.js +0 -3
  114. package/components/dropdown/anchor.d.ts +1 -8
  115. package/components/dropdown/anchor.js +0 -7
  116. package/components/dropdown/dropdown.d.ts +4 -22
  117. package/components/dropdown/dropdown.js +134 -176
  118. package/components/dropdown-menu/dropdown-menu.js +51 -103
  119. package/components/editable-heading/editable-heading.js +69 -118
  120. package/components/error-bubble/error-bubble.d.ts +0 -6
  121. package/components/error-bubble/error-bubble.js +30 -60
  122. package/components/error-message/error-message.d.ts +0 -10
  123. package/components/error-message/error-message.js +34 -59
  124. package/components/footer/footer.js +28 -44
  125. package/components/form/form.js +1 -1
  126. package/components/global/compose.js +1 -8
  127. package/components/global/composeRefs.d.ts +0 -3
  128. package/components/global/composeRefs.js +8 -15
  129. package/components/global/controls-height.js +2 -2
  130. package/components/global/create-stateful-context.d.ts +0 -4
  131. package/components/global/create-stateful-context.js +14 -17
  132. package/components/global/data-tests.js +7 -12
  133. package/components/global/dom.js +49 -82
  134. package/components/global/focus-sensor-hoc.js +95 -122
  135. package/components/global/fuzzy-highlight.js +23 -34
  136. package/components/global/get-event-key.js +8 -8
  137. package/components/global/get-uid.js +3 -7
  138. package/components/global/inject-styles.js +7 -14
  139. package/components/global/listeners.js +28 -47
  140. package/components/global/memoize.js +6 -10
  141. package/components/global/normalize-indent.js +19 -46
  142. package/components/global/promise-with-timeout.js +6 -8
  143. package/components/global/react-dom-renderer.d.ts +0 -5
  144. package/components/global/react-dom-renderer.js +29 -45
  145. package/components/global/rerender-hoc.d.ts +2 -2
  146. package/components/global/rerender-hoc.js +16 -32
  147. package/components/global/schedule-raf.js +4 -4
  148. package/components/global/sniffer.js +1 -1
  149. package/components/global/theme.d.ts +8 -2
  150. package/components/global/theme.js +2 -20
  151. package/components/global/trivial-template-tag.js +4 -9
  152. package/components/global/typescript-utils.js +2 -6
  153. package/components/global/url.js +20 -23
  154. package/components/global/use-event-callback.js +7 -4
  155. package/components/grid/col.d.ts +0 -14
  156. package/components/grid/col.js +27 -53
  157. package/components/grid/grid.d.ts +0 -5
  158. package/components/grid/grid.js +20 -32
  159. package/components/grid/row.d.ts +0 -18
  160. package/components/grid/row.js +23 -47
  161. package/components/group/group.d.ts +0 -5
  162. package/components/group/group.js +18 -27
  163. package/components/header/header-icon.d.ts +10 -0
  164. package/components/header/header-icon.js +39 -0
  165. package/components/header/header.d.ts +3 -7
  166. package/components/header/header.js +32 -74
  167. package/components/header/links.d.ts +2 -0
  168. package/components/header/links.js +20 -0
  169. package/components/header/logo.d.ts +0 -4
  170. package/components/header/logo.js +15 -30
  171. package/components/header/profile.d.ts +1 -39
  172. package/components/header/profile.js +126 -190
  173. package/components/header/services-link.d.ts +0 -10
  174. package/components/header/services-link.js +1 -4
  175. package/components/header/services.d.ts +0 -14
  176. package/components/header/services.js +67 -112
  177. package/components/header/smart-profile.d.ts +0 -9
  178. package/components/header/smart-profile.js +116 -205
  179. package/components/header/smart-services.d.ts +0 -4
  180. package/components/header/smart-services.js +73 -142
  181. package/components/header/tray.d.ts +0 -5
  182. package/components/header/tray.js +21 -35
  183. package/components/heading/heading.d.ts +1 -4
  184. package/components/heading/heading.js +25 -42
  185. package/components/http/http.js +162 -319
  186. package/components/http/http.mock.js +50 -98
  187. package/components/hub-source/hub-source.js +77 -182
  188. package/components/hub-source/hub-source__user.js +9 -37
  189. package/components/hub-source/hub-source__users-groups.js +34 -60
  190. package/components/i18n/i18n-context.js +7 -8
  191. package/components/i18n/i18n.js +3 -6
  192. package/components/icon/icon.d.ts +0 -11
  193. package/components/icon/icon.js +60 -85
  194. package/components/icon/icon__svg.d.ts +0 -8
  195. package/components/icon/icon__svg.js +0 -6
  196. package/components/icon/index.js +0 -6
  197. package/components/input/input-legacy.js +1 -1
  198. package/components/input/input.js +2 -14
  199. package/components/input-size/input-size.js +1 -1
  200. package/components/island/adaptive-island-hoc.d.ts +4 -5
  201. package/components/island/adaptive-island-hoc.js +30 -39
  202. package/components/island/content.d.ts +0 -10
  203. package/components/island/content.js +99 -119
  204. package/components/island/header.js +55 -73
  205. package/components/island/island.d.ts +4 -13
  206. package/components/island/island.js +25 -41
  207. package/components/island-legacy/content-legacy.d.ts +0 -5
  208. package/components/island-legacy/content-legacy.js +16 -27
  209. package/components/island-legacy/header-legacy.d.ts +0 -5
  210. package/components/island-legacy/header-legacy.js +19 -30
  211. package/components/island-legacy/island-legacy.d.ts +0 -5
  212. package/components/island-legacy/island-legacy.js +16 -27
  213. package/components/link/clickableLink.d.ts +0 -9
  214. package/components/link/clickableLink.js +33 -51
  215. package/components/link/link.d.ts +8 -33
  216. package/components/link/link.js +47 -68
  217. package/components/list/consts.js +2 -2
  218. package/components/list/list.d.ts +0 -32
  219. package/components/list/list.js +399 -516
  220. package/components/list/list__custom.js +51 -78
  221. package/components/list/list__hint.d.ts +0 -4
  222. package/components/list/list__hint.js +8 -21
  223. package/components/list/list__item.js +147 -211
  224. package/components/list/list__link.js +39 -59
  225. package/components/list/list__separator.js +15 -30
  226. package/components/list/list__title.js +25 -41
  227. package/components/list/list__users-groups-source.js +55 -123
  228. package/components/loader/loader.d.ts +0 -10
  229. package/components/loader/loader.js +38 -70
  230. package/components/loader/loader__core.js +123 -184
  231. package/components/loader-inline/loader-inline.d.ts +0 -6
  232. package/components/loader-inline/loader-inline.js +24 -38
  233. package/components/loader-screen/loader-screen.d.ts +0 -6
  234. package/components/loader-screen/loader-screen.js +24 -46
  235. package/components/login-dialog/login-dialog.d.ts +0 -11
  236. package/components/login-dialog/login-dialog.js +94 -145
  237. package/components/login-dialog/service.js +11 -33
  238. package/components/markdown/markdown.js +16 -29
  239. package/components/message/message.js +171 -218
  240. package/components/old-browsers-message/old-browsers-message.js +11 -14
  241. package/components/old-browsers-message/old-browsers-message__stop.js +1 -4
  242. package/components/old-browsers-message/white-list.js +8 -13
  243. package/components/pager/pager.d.ts +1 -0
  244. package/components/pager/pager.js +211 -275
  245. package/components/panel/panel.d.ts +0 -5
  246. package/components/panel/panel.js +16 -27
  247. package/components/permissions/permissions.js +118 -161
  248. package/components/permissions/permissions__cache.js +191 -218
  249. package/components/popup/popup.consts.js +1 -1
  250. package/components/popup/popup.js +237 -329
  251. package/components/popup/popup.target.js +9 -12
  252. package/components/popup/position.js +94 -101
  253. package/components/popup-menu/popup-menu.js +31 -76
  254. package/components/progress-bar/progress-bar.d.ts +19 -33
  255. package/components/progress-bar/progress-bar.js +55 -99
  256. package/components/query-assist/query-assist.d.ts +63 -93
  257. package/components/query-assist/query-assist.js +585 -748
  258. package/components/query-assist/query-assist__suggestions.js +2 -28
  259. package/components/radio/radio.d.ts +0 -8
  260. package/components/radio/radio.js +15 -35
  261. package/components/radio/radio__item.d.ts +0 -9
  262. package/components/radio/radio__item.js +52 -72
  263. package/components/scrollable-section/scrollable-section.d.ts +2 -0
  264. package/components/scrollable-section/scrollable-section.js +53 -0
  265. package/components/select/select.d.ts +3 -0
  266. package/components/select/select.js +714 -863
  267. package/components/select/select__filter.js +2 -29
  268. package/components/select/select__popup.js +317 -465
  269. package/components/shortcuts/core.js +147 -195
  270. package/components/shortcuts/shortcut-title.js +6 -10
  271. package/components/shortcuts/shortcuts-hoc.d.ts +4 -9
  272. package/components/shortcuts/shortcuts-hoc.js +23 -46
  273. package/components/shortcuts/shortcuts.d.ts +0 -8
  274. package/components/shortcuts/shortcuts.js +41 -72
  275. package/components/slider/slider.js +93 -113
  276. package/components/slider/slider.utils.js +16 -23
  277. package/components/storage/storage.d.ts +2 -3
  278. package/components/storage/storage.js +2 -46
  279. package/components/storage/storage__local.js +89 -148
  280. package/components/style.css +1 -1
  281. package/components/tab-trap/tab-trap.js +35 -61
  282. package/components/table/cell.d.ts +0 -6
  283. package/components/table/cell.js +11 -27
  284. package/components/table/disable-hover-hoc.d.ts +4 -5
  285. package/components/table/disable-hover-hoc.js +27 -42
  286. package/components/table/header-cell.d.ts +0 -10
  287. package/components/table/header-cell.js +59 -85
  288. package/components/table/header.d.ts +1 -23
  289. package/components/table/header.js +89 -126
  290. package/components/table/multitable.d.ts +0 -4
  291. package/components/table/multitable.js +83 -93
  292. package/components/table/row-with-focus-sensor.d.ts +2 -2
  293. package/components/table/row-with-focus-sensor.js +26 -60
  294. package/components/table/row.js +170 -235
  295. package/components/table/selection-adapter.js +2 -2
  296. package/components/table/selection-shortcuts-hoc.js +102 -126
  297. package/components/table/selection.js +150 -217
  298. package/components/table/simple-table.d.ts +17 -0
  299. package/components/table/simple-table.js +83 -0
  300. package/components/table/smart-table.d.ts +0 -46
  301. package/components/table/smart-table.js +41 -83
  302. package/components/table/table.d.ts +9 -6
  303. package/components/table/table.js +270 -372
  304. package/components/tabs/collapsible-more.d.ts +1 -9
  305. package/components/tabs/collapsible-more.js +47 -97
  306. package/components/tabs/collapsible-tab.js +32 -44
  307. package/components/tabs/collapsible-tabs.d.ts +2 -29
  308. package/components/tabs/collapsible-tabs.js +89 -161
  309. package/components/tabs/custom-item.d.ts +1 -7
  310. package/components/tabs/custom-item.js +4 -7
  311. package/components/tabs/dumb-tabs.d.ts +0 -11
  312. package/components/tabs/dumb-tabs.js +60 -104
  313. package/components/tabs/smart-tabs.d.ts +0 -6
  314. package/components/tabs/smart-tabs.js +29 -68
  315. package/components/tabs/tab-link.d.ts +0 -8
  316. package/components/tabs/tab-link.js +1 -4
  317. package/components/tabs/tab.d.ts +0 -8
  318. package/components/tabs/tab.js +14 -32
  319. package/components/tabs/tabs.js +1 -28
  320. package/components/tag/tag.d.ts +0 -19
  321. package/components/tag/tag.js +120 -179
  322. package/components/tags-input/tags-input.d.ts +7 -33
  323. package/components/tags-input/tags-input.js +224 -339
  324. package/components/tags-list/tags-list.d.ts +0 -13
  325. package/components/tags-list/tags-list.js +45 -74
  326. package/components/text/text.d.ts +0 -7
  327. package/components/text/text.js +27 -43
  328. package/components/toggle/toggle.d.ts +0 -15
  329. package/components/toggle/toggle.js +53 -78
  330. package/components/tooltip/tooltip.d.ts +4 -10
  331. package/components/tooltip/tooltip.js +105 -137
  332. package/components/user-agreement/service.d.ts +2 -1
  333. package/components/user-agreement/service.js +260 -405
  334. package/components/user-agreement/user-agreement.d.ts +0 -18
  335. package/components/user-agreement/user-agreement.js +92 -138
  336. package/components/user-card/card.d.ts +0 -35
  337. package/components/user-card/card.js +2 -27
  338. package/components/user-card/smart-user-card-tooltip.d.ts +0 -5
  339. package/components/user-card/smart-user-card-tooltip.js +52 -108
  340. package/components/user-card/tooltip.d.ts +0 -9
  341. package/components/user-card/tooltip.js +35 -74
  342. package/components/user-card/user-card.js +1 -26
  343. package/package.json +5 -7
  344. package/components/global/prop-types.d.ts +0 -4
  345. package/components/global/prop-types.js +0 -9
  346. package/components/global/react-render-adapter.d.ts +0 -1
  347. package/components/global/react-render-adapter.js +0 -6
  348. package/components/header/tray-icon.d.ts +0 -32
  349. package/components/header/tray-icon.js +0 -56
  350. package/components/storage/storage__fallback.d.ts +0 -79
  351. package/components/storage/storage__fallback.js +0 -253
@@ -1,21 +1,13 @@
1
- import { b as _createClass, e as _classCallCheck, _ as _defineProperty, g as _asyncToGenerator, h as _regeneratorRuntime } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
3
- import 'core-js/modules/es.object.to-string.js';
4
- import 'core-js/modules/es.promise.js';
1
+ import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
5
2
  import AuthResponseParser from './response-parser.js';
6
- import 'core-js/modules/es.array.index-of.js';
7
3
  import 'core-js/modules/es.regexp.exec.js';
8
- import 'core-js/modules/es.regexp.to-string.js';
9
4
  import 'core-js/modules/es.string.replace.js';
10
- import 'core-js/modules/web.dom-collections.for-each.js';
11
5
  import 'es6-error';
12
6
  import '../global/url.js';
13
- import 'core-js/modules/es.string.match.js';
14
7
 
15
- var HUB_AUTH_PAGE_OPENED = 'HUB_AUTH_PAGE_OPENED';
16
- var BackgroundFlow = /*#__PURE__*/function () {
17
- function BackgroundFlow(requestBuilder, storage, timeout) {
18
- _classCallCheck(this, BackgroundFlow);
8
+ const HUB_AUTH_PAGE_OPENED = 'HUB_AUTH_PAGE_OPENED';
9
+ class BackgroundFlow {
10
+ constructor(requestBuilder, storage, timeout) {
19
11
  _defineProperty(this, "_requestBuilder", void 0);
20
12
  _defineProperty(this, "_storage", void 0);
21
13
  _defineProperty(this, "_timeout", void 0);
@@ -29,118 +21,89 @@ var BackgroundFlow = /*#__PURE__*/function () {
29
21
  * @return {HTMLIFrameElement}
30
22
  * @private
31
23
  */
32
- return _createClass(BackgroundFlow, [{
33
- key: "_createHiddenFrame",
34
- value: function _createHiddenFrame() {
35
- var iframe = document.createElement('iframe');
36
- iframe.style.border = iframe.style.width = iframe.style.height = '0px';
37
- iframe.style.visibility = 'hidden';
38
- iframe.style.position = 'fixed';
39
- iframe.style.left = '-10000px';
40
- window.document.body.appendChild(iframe);
41
- return iframe;
42
- }
43
- /**
44
- * Redirects the given iframe to the given URL
45
- * @param {HTMLIFrameElement} iframe
46
- * @param {string} url
47
- * @private
48
- */
49
- }, {
50
- key: "_redirectFrame",
51
- value: function _redirectFrame(iframe, url) {
52
- iframe.src = "".concat(url, "&rnd=").concat(Math.random());
53
- }
54
- /**
55
- * Refreshes the access token in an iframe.
56
- *
57
- * @return {Promise.<string>} promise that is resolved to access the token when it is loaded in a background iframe. The
58
- * promise is rejected if no token was received after {@link BackgroundToken.BACKGROUND_TIMEOUT} ms.
59
- */
60
- }, {
61
- key: "_load",
62
- value: (function () {
63
- var _load2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
64
- var _this = this;
65
- var authRequest;
66
- return _regeneratorRuntime().wrap(function _callee$(_context) {
67
- while (1) switch (_context.prev = _context.next) {
68
- case 0:
69
- _context.next = 2;
70
- return this._requestBuilder.
71
- // eslint-disable-next-line camelcase
72
- prepareAuthRequest({
73
- request_credentials: 'silent'
74
- }, {
75
- nonRedirect: true
76
- });
77
- case 2:
78
- authRequest = _context.sent;
79
- return _context.abrupt("return", new Promise(function (resolve, reject) {
80
- function onMessage(e) {
81
- if (e.data === HUB_AUTH_PAGE_OPENED) {
82
- reject(new Error('Failed to obtain/refresh token in background'));
83
- cleanUp();
84
- }
85
- }
86
- window.addEventListener('message', onMessage);
87
- var iframe = _this._createHiddenFrame();
88
- var cleanRun;
89
- var timeout = setTimeout(function () {
90
- reject(new Error('Failed to refresh authorization'));
91
- cleanUp();
92
- }, _this._timeout);
93
- var removeTokenListener = _this._storage.onTokenChange(function (token) {
94
- if (token) {
95
- cleanUp();
96
- resolve(token.accessToken);
97
- }
98
- });
99
- var removeStateListener = _this._storage.onStateChange(authRequest.stateId, function (state) {
100
- if (state && state.error) {
101
- cleanUp();
102
- reject(new AuthResponseParser.AuthError(state));
103
- }
104
- });
105
- function cleanUp() {
106
- if (cleanRun) {
107
- return;
108
- }
109
- cleanRun = true;
110
- clearTimeout(timeout);
111
- removeStateListener();
112
- removeTokenListener();
113
- window.removeEventListener('message', onMessage);
114
- window.document.body.removeChild(iframe);
115
- }
116
- _this._redirectFrame(iframe, authRequest.url);
117
- }));
118
- case 4:
119
- case "end":
120
- return _context.stop();
121
- }
122
- }, _callee, this);
123
- }));
124
- function _load() {
125
- return _load2.apply(this, arguments);
24
+ _createHiddenFrame() {
25
+ const iframe = document.createElement('iframe');
26
+ iframe.style.border = iframe.style.width = iframe.style.height = '0px';
27
+ iframe.style.visibility = 'hidden';
28
+ iframe.style.position = 'fixed';
29
+ iframe.style.left = '-10000px';
30
+ window.document.body.appendChild(iframe);
31
+ return iframe;
32
+ }
33
+ /**
34
+ * Redirects the given iframe to the given URL
35
+ * @param {HTMLIFrameElement} iframe
36
+ * @param {string} url
37
+ * @private
38
+ */
39
+ _redirectFrame(iframe, url) {
40
+ iframe.src = "".concat(url, "&rnd=").concat(Math.random());
41
+ }
42
+ /**
43
+ * Refreshes the access token in an iframe.
44
+ *
45
+ * @return {Promise.<string>} promise that is resolved to access the token when it is loaded in a background iframe. The
46
+ * promise is rejected if no token was received after {@link BackgroundToken.BACKGROUND_TIMEOUT} ms.
47
+ */
48
+ async _load() {
49
+ const authRequest = await this._requestBuilder.
50
+ // eslint-disable-next-line camelcase
51
+ prepareAuthRequest({
52
+ request_credentials: 'silent'
53
+ }, {
54
+ nonRedirect: true
55
+ });
56
+ return new Promise((resolve, reject) => {
57
+ function onMessage(e) {
58
+ if (e.data === HUB_AUTH_PAGE_OPENED) {
59
+ reject(new Error('Failed to obtain/refresh token in background'));
60
+ cleanUp();
61
+ }
126
62
  }
127
- return _load;
128
- }())
129
- }, {
130
- key: "authorize",
131
- value: function authorize() {
132
- var _this2 = this;
133
- if (this._promise) {
134
- return this._promise;
63
+ window.addEventListener('message', onMessage);
64
+ const iframe = this._createHiddenFrame();
65
+ let cleanRun;
66
+ const timeout = setTimeout(() => {
67
+ reject(new Error('Failed to refresh authorization'));
68
+ cleanUp();
69
+ }, this._timeout);
70
+ const removeTokenListener = this._storage.onTokenChange(token => {
71
+ if (token) {
72
+ cleanUp();
73
+ resolve(token.accessToken);
74
+ }
75
+ });
76
+ const removeStateListener = this._storage.onStateChange(authRequest.stateId, state => {
77
+ if (state && state.error) {
78
+ cleanUp();
79
+ reject(new AuthResponseParser.AuthError(state));
80
+ }
81
+ });
82
+ function cleanUp() {
83
+ if (cleanRun) {
84
+ return;
85
+ }
86
+ cleanRun = true;
87
+ clearTimeout(timeout);
88
+ removeStateListener();
89
+ removeTokenListener();
90
+ window.removeEventListener('message', onMessage);
91
+ window.document.body.removeChild(iframe);
135
92
  }
136
- var resetPromise = function resetPromise() {
137
- _this2._promise = null;
138
- };
139
- this._promise = this._load();
140
- this._promise.then(resetPromise, resetPromise);
93
+ this._redirectFrame(iframe, authRequest.url);
94
+ });
95
+ }
96
+ authorize() {
97
+ if (this._promise) {
141
98
  return this._promise;
142
99
  }
143
- }]);
144
- }();
100
+ const resetPromise = () => {
101
+ this._promise = null;
102
+ };
103
+ this._promise = this._load();
104
+ this._promise.then(resetPromise, resetPromise);
105
+ return this._promise;
106
+ }
107
+ }
145
108
 
146
109
  export { HUB_AUTH_PAGE_OPENED, BackgroundFlow as default };
@@ -1,22 +1,16 @@
1
- import { g as _asyncToGenerator, h as _regeneratorRuntime } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.filter.js';
3
- import 'core-js/modules/es.object.to-string.js';
4
1
  import 'react';
5
- import PropTypes from 'prop-types';
6
2
  import alertService from '../alert-service/alert-service.js';
7
3
  import Alert from '../alert/alert.js';
8
4
  import Link from '../link/link.js';
9
5
  import Group from '../group/group.js';
10
6
  import { jsx, jsxs } from 'react/jsx-runtime';
11
- import 'core-js/modules/es.array.concat.js';
12
- import 'core-js/modules/es.array.map.js';
7
+ import '../_helpers/_rollupPluginBabelHelpers.js';
8
+ import 'core-js/modules/web.dom-collections.iterator.js';
13
9
  import 'react-dom/client';
14
10
  import '../global/get-uid.js';
15
- import 'core-js/modules/es.regexp.to-string.js';
16
11
  import '../alert/container.js';
17
12
  import 'react-dom';
18
13
  import 'classnames';
19
- import 'core-js/modules/es.object.values.js';
20
14
  import '@jetbrains/icons/exception';
21
15
  import '@jetbrains/icons/checkmark';
22
16
  import '@jetbrains/icons/warning';
@@ -27,21 +21,11 @@ import '../icon/icon__constants.js';
27
21
  import '../_helpers/icon__svg.js';
28
22
  import 'core-js/modules/es.regexp.exec.js';
29
23
  import 'core-js/modules/es.string.replace.js';
30
- import 'core-js/modules/es.string.starts-with.js';
31
24
  import '../global/memoize.js';
32
- import 'core-js/modules/es.array.iterator.js';
33
- import 'core-js/modules/es.map.js';
34
- import 'core-js/modules/es.weak-map.js';
35
- import 'core-js/modules/web.dom-collections.iterator.js';
36
25
  import '../loader-inline/loader-inline.js';
37
26
  import '../global/data-tests.js';
38
27
  import 'core-js/modules/es.array.reduce.js';
39
- import 'core-js/modules/es.object.entries.js';
40
28
  import '../global/dom.js';
41
- import 'core-js/modules/es.object.assign.js';
42
- import 'core-js/modules/es.set.js';
43
- import 'core-js/modules/es.string.split.js';
44
- import 'core-js/modules/web.dom-collections.for-each.js';
45
29
  import '../button/button.js';
46
30
  import '@jetbrains/icons/chevron-down';
47
31
  import '../link/clickableLink.js';
@@ -53,12 +37,6 @@ import '../popup/popup.js';
53
37
  import '../global/schedule-raf.js';
54
38
  import '../shortcuts/shortcuts.js';
55
39
  import '../shortcuts/core.js';
56
- import 'core-js/modules/es.array.find-index.js';
57
- import 'core-js/modules/es.array.includes.js';
58
- import 'core-js/modules/es.array.slice.js';
59
- import 'core-js/modules/es.array.splice.js';
60
- import 'core-js/modules/es.string.includes.js';
61
- import 'core-js/modules/es.string.match.js';
62
40
  import 'combokeys';
63
41
  import '../global/sniffer.js';
64
42
  import 'sniffr';
@@ -70,12 +48,10 @@ import '../_helpers/link.js';
70
48
 
71
49
  var modules_c87dd562 = {"light":"light_rui_2ac4","title":"title_rui_7659","error":"error_rui_7659"};
72
50
 
73
- var key = null;
51
+ let key = null;
74
52
  function renderAlert(message) {
75
- var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Alert.Type.WARNING;
76
- var existingAlert = alertService.showingAlerts.filter(function (alert) {
77
- return alert.key === key;
78
- })[0];
53
+ let type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Alert.Type.WARNING;
54
+ const existingAlert = alertService.showingAlerts.filter(alert => alert.key === key)[0];
79
55
  if (!existingAlert) {
80
56
  key = alertService.addAlert(message, type, 0, {
81
57
  closeable: false
@@ -87,11 +63,15 @@ function renderAlert(message) {
87
63
  }
88
64
  }
89
65
  function Message(_ref) {
90
- var translations = _ref.translations,
91
- onCheckAgain = _ref.onCheckAgain;
92
- var backendIsNotAvailable = translations.backendIsNotAvailable,
93
- checkAgain = translations.checkAgain,
94
- errorMessage = translations.errorMessage;
66
+ let {
67
+ translations,
68
+ onCheckAgain
69
+ } = _ref;
70
+ const {
71
+ backendIsNotAvailable,
72
+ checkAgain,
73
+ errorMessage
74
+ } = translations;
95
75
  return /*#__PURE__*/jsxs("div", {
96
76
  "data-test": "ring-backend-down-notification",
97
77
  children: [/*#__PURE__*/jsx(Group, {
@@ -109,56 +89,29 @@ function Message(_ref) {
109
89
  })]
110
90
  });
111
91
  }
112
- Message.propTypes = {
113
- translations: PropTypes.shape({
114
- backendIsNotAvailable: PropTypes.string,
115
- checkAgain: PropTypes.string,
116
- errorMessage: PropTypes.string
117
- }),
118
- onCheckAgain: PropTypes.func
119
- };
120
92
  function onBackendDown(_ref2) {
121
- var onCheckAgain = _ref2.onCheckAgain,
122
- translations = _ref2.translations;
123
- function checkAgainWithoutClosing(_x) {
124
- return _checkAgainWithoutClosing.apply(this, arguments);
125
- }
126
- function _checkAgainWithoutClosing() {
127
- _checkAgainWithoutClosing = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(e) {
128
- return _regeneratorRuntime().wrap(function _callee$(_context) {
129
- while (1) switch (_context.prev = _context.next) {
130
- case 0:
131
- // Alert has weird behaviour of handling clicks by "a" tags
132
- e.stopPropagation();
133
- _context.prev = 1;
134
- renderAlert('Connecting...', Alert.Type.LOADING);
135
- _context.next = 5;
136
- return onCheckAgain();
137
- case 5:
138
- _context.next = 10;
139
- break;
140
- case 7:
141
- _context.prev = 7;
142
- _context.t0 = _context["catch"](1);
143
- renderAlert( /*#__PURE__*/jsx(Message, {
144
- translations: translations,
145
- onCheckAgain: checkAgainWithoutClosing
146
- }));
147
- case 10:
148
- case "end":
149
- return _context.stop();
150
- }
151
- }, _callee, null, [[1, 7]]);
152
- }));
153
- return _checkAgainWithoutClosing.apply(this, arguments);
93
+ let {
94
+ onCheckAgain,
95
+ translations
96
+ } = _ref2;
97
+ async function checkAgainWithoutClosing(e) {
98
+ // Alert has weird behaviour of handling clicks by "a" tags
99
+ e.stopPropagation();
100
+ try {
101
+ renderAlert('Connecting...', Alert.Type.LOADING);
102
+ await onCheckAgain();
103
+ } catch (err) {
104
+ renderAlert(/*#__PURE__*/jsx(Message, {
105
+ translations: translations,
106
+ onCheckAgain: checkAgainWithoutClosing
107
+ }));
108
+ }
154
109
  }
155
- renderAlert( /*#__PURE__*/jsx(Message, {
110
+ renderAlert(/*#__PURE__*/jsx(Message, {
156
111
  translations: translations,
157
112
  onCheckAgain: checkAgainWithoutClosing
158
113
  }));
159
- return function () {
160
- return alertService.remove(key);
161
- };
114
+ return () => alertService.remove(key);
162
115
  }
163
116
 
164
117
  export { onBackendDown as default };
@@ -1,6 +1,4 @@
1
- import { b as _createClass, e as _classCallCheck, _ as _defineProperty, g as _asyncToGenerator, h as _regeneratorRuntime } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.object.to-string.js';
3
- import 'core-js/modules/es.promise.js';
1
+ import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
4
2
  import showAuthDialog from '../login-dialog/service.js';
5
3
  import Link from '../link/link.js';
6
4
  import AuthResponseParser from './response-parser.js';
@@ -9,8 +7,7 @@ import 'react-dom/client';
9
7
  import '../global/controls-height.js';
10
8
  import 'react';
11
9
  import '../login-dialog/login-dialog.js';
12
- import 'core-js/modules/es.array.concat.js';
13
- import 'prop-types';
10
+ import 'core-js/modules/web.dom-collections.iterator.js';
14
11
  import '../dialog/dialog.js';
15
12
  import 'react-dom';
16
13
  import 'classnames';
@@ -18,7 +15,6 @@ import '@jetbrains/icons/close';
18
15
  import '../island/island.js';
19
16
  import '../global/data-tests.js';
20
17
  import 'core-js/modules/es.array.reduce.js';
21
- import 'core-js/modules/es.object.entries.js';
22
18
  import '../island/adaptive-island-hoc.js';
23
19
  import '../global/linear-function.js';
24
20
  import '../_helpers/island.js';
@@ -27,40 +23,22 @@ import '../island/content.js';
27
23
  import 'element-resize-detector';
28
24
  import '../global/schedule-raf.js';
29
25
  import '../global/get-uid.js';
30
- import 'core-js/modules/es.regexp.to-string.js';
31
26
  import '../shortcuts/shortcuts.js';
32
- import 'core-js/modules/es.array.map.js';
33
27
  import '../shortcuts/core.js';
34
- import 'core-js/modules/es.array.find-index.js';
35
- import 'core-js/modules/es.array.includes.js';
36
- import 'core-js/modules/es.array.slice.js';
37
- import 'core-js/modules/es.array.splice.js';
38
- import 'core-js/modules/es.object.assign.js';
39
28
  import 'core-js/modules/es.regexp.exec.js';
40
- import 'core-js/modules/es.string.includes.js';
41
- import 'core-js/modules/es.string.match.js';
42
29
  import 'combokeys';
43
30
  import '../global/sniffer.js';
44
31
  import 'sniffr';
45
32
  import '../tab-trap/tab-trap.js';
46
- import 'core-js/modules/es.array.filter.js';
47
33
  import '../global/dom.js';
48
- import 'core-js/modules/es.array.iterator.js';
49
- import 'core-js/modules/es.set.js';
50
- import 'core-js/modules/es.string.split.js';
51
- import 'core-js/modules/web.dom-collections.for-each.js';
52
- import 'core-js/modules/web.dom-collections.iterator.js';
53
34
  import '../button/button.js';
54
35
  import '@jetbrains/icons/chevron-down';
55
- import '../icon/icon.js';
56
36
  import 'util-deprecate';
37
+ import '../icon/icon.js';
57
38
  import '../icon/icon__constants.js';
58
39
  import '../_helpers/icon__svg.js';
59
40
  import 'core-js/modules/es.string.replace.js';
60
- import 'core-js/modules/es.string.starts-with.js';
61
41
  import '../global/memoize.js';
62
- import 'core-js/modules/es.map.js';
63
- import 'core-js/modules/es.weak-map.js';
64
42
  import '../link/clickableLink.js';
65
43
  import '../_helpers/button__classes.js';
66
44
  import '../popup/popup.target.js';
@@ -69,17 +47,13 @@ import 'scrollbar-width';
69
47
  import '../loader-screen/loader-screen.js';
70
48
  import '../loader/loader.js';
71
49
  import '../loader/loader__core.js';
72
- import 'core-js/modules/es.array.fill.js';
73
50
  import './background-flow.js';
74
- import 'core-js/modules/es.array.index-of.js';
75
51
  import 'es6-error';
76
52
  import '../global/url.js';
77
53
  import '../_helpers/link.js';
78
54
 
79
- var IFrameFlow = /*#__PURE__*/function () {
80
- function IFrameFlow(requestBuilder, storage, translations) {
81
- var _this = this;
82
- _classCallCheck(this, IFrameFlow);
55
+ class IFrameFlow {
56
+ constructor(requestBuilder, storage, translations) {
83
57
  _defineProperty(this, "hideDialog", null);
84
58
  _defineProperty(this, "_requestBuilder", void 0);
85
59
  _defineProperty(this, "_storage", void 0);
@@ -87,9 +61,9 @@ var IFrameFlow = /*#__PURE__*/function () {
87
61
  _defineProperty(this, "reject", void 0);
88
62
  _defineProperty(this, "_promise", void 0);
89
63
  _defineProperty(this, "_loginWindow", void 0);
90
- _defineProperty(this, "_reset", function () {
91
- _this._promise = null;
92
- _this.hideDialog = null;
64
+ _defineProperty(this, "_reset", () => {
65
+ this._promise = null;
66
+ this.hideDialog = null;
93
67
  });
94
68
  this._requestBuilder = requestBuilder;
95
69
  this._storage = storage;
@@ -99,99 +73,71 @@ var IFrameFlow = /*#__PURE__*/function () {
99
73
  /**
100
74
  * Initiates authorization in window
101
75
  */
102
- return _createClass(IFrameFlow, [{
103
- key: "_load",
104
- value: (function () {
105
- var _load2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
106
- var _this2 = this;
107
- var authRequest, renderFallbackLink;
108
- return _regeneratorRuntime().wrap(function _callee$(_context) {
109
- while (1) switch (_context.prev = _context.next) {
110
- case 0:
111
- _context.next = 2;
112
- return this._requestBuilder.prepareAuthRequest(
113
- // eslint-disable-next-line camelcase
114
- {
115
- request_credentials: 'required',
116
- auth_mode: 'bypass_to_login'
117
- }, {
118
- nonRedirect: false
119
- });
120
- case 2:
121
- authRequest = _context.sent;
122
- renderFallbackLink = function renderFallbackLink() {
123
- return /*#__PURE__*/jsx(Link, {
124
- href: authRequest.url,
125
- target: "_self",
126
- children: _this2._translations.nothingHappensLink
127
- });
128
- };
129
- return _context.abrupt("return", new Promise(function (resolve, reject) {
130
- _this2.hideDialog = showAuthDialog({
131
- url: authRequest.url,
132
- loader: true,
133
- onCancel: function onCancel() {
134
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
135
- cleanUp();
136
- _this2.stop();
137
- },
138
- renderFallbackLink
139
- });
140
- _this2.reject = reject;
141
- var removeTokenListener = _this2._storage.onTokenChange(function (token) {
142
- if (token) {
143
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
144
- cleanUp();
145
- resolve(token.accessToken);
146
- }
147
- });
148
- var removeStateListener = _this2._storage.onStateChange(authRequest.stateId, function (state) {
149
- if (state && state.error) {
150
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
151
- cleanUp();
152
- reject(new AuthResponseParser.AuthError(state));
153
- }
154
- });
155
- var cleanUp = function cleanUp() {
156
- var _this2$hideDialog;
157
- (_this2$hideDialog = _this2.hideDialog) === null || _this2$hideDialog === void 0 || _this2$hideDialog.call(_this2);
158
- removeStateListener();
159
- removeTokenListener();
160
- };
161
- }));
162
- case 5:
163
- case "end":
164
- return _context.stop();
165
- }
166
- }, _callee, this);
167
- }));
168
- function _load() {
169
- return _load2.apply(this, arguments);
170
- }
171
- return _load;
172
- }())
173
- }, {
174
- key: "stop",
175
- value: function stop() {
176
- if (this.hideDialog) {
177
- this.hideDialog();
178
- }
179
- if (this.reject) {
180
- this.reject('Login form closed');
181
- }
182
- this._reset();
76
+ async _load() {
77
+ const authRequest = await this._requestBuilder.prepareAuthRequest(
78
+ // eslint-disable-next-line camelcase
79
+ {
80
+ request_credentials: 'required',
81
+ auth_mode: 'bypass_to_login'
82
+ }, {
83
+ nonRedirect: false
84
+ });
85
+ const renderFallbackLink = () => /*#__PURE__*/jsx(Link, {
86
+ href: authRequest.url,
87
+ target: "_self",
88
+ children: this._translations.nothingHappensLink
89
+ });
90
+ return new Promise((resolve, reject) => {
91
+ this.hideDialog = showAuthDialog({
92
+ url: authRequest.url,
93
+ loader: true,
94
+ onCancel: () => {
95
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
96
+ cleanUp();
97
+ this.stop();
98
+ },
99
+ renderFallbackLink
100
+ });
101
+ this.reject = reject;
102
+ const removeTokenListener = this._storage.onTokenChange(token => {
103
+ if (token) {
104
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
105
+ cleanUp();
106
+ resolve(token.accessToken);
107
+ }
108
+ });
109
+ const removeStateListener = this._storage.onStateChange(authRequest.stateId, state => {
110
+ if (state && state.error) {
111
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
112
+ cleanUp();
113
+ reject(new AuthResponseParser.AuthError(state));
114
+ }
115
+ });
116
+ const cleanUp = () => {
117
+ var _this$hideDialog;
118
+ (_this$hideDialog = this.hideDialog) === null || _this$hideDialog === void 0 || _this$hideDialog.call(this);
119
+ removeStateListener();
120
+ removeTokenListener();
121
+ };
122
+ });
123
+ }
124
+ stop() {
125
+ if (this.hideDialog) {
126
+ this.hideDialog();
127
+ }
128
+ if (this.reject) {
129
+ this.reject('Login form closed');
183
130
  }
184
- }, {
185
- key: "authorize",
186
- value: function authorize() {
187
- if (this._promise != null && this._loginWindow != null && !this._loginWindow.closed) {
188
- return this._promise;
189
- }
190
- this._promise = this._load();
191
- this._promise.then(this._reset, this._reset);
131
+ this._reset();
132
+ }
133
+ authorize() {
134
+ if (this._promise != null && this._loginWindow != null && !this._loginWindow.closed) {
192
135
  return this._promise;
193
136
  }
194
- }]);
195
- }();
137
+ this._promise = this._load();
138
+ this._promise.then(this._reset, this._reset);
139
+ return this._promise;
140
+ }
141
+ }
196
142
 
197
143
  export { IFrameFlow as default };