@jetbrains/ring-ui-built 7.0.0-beta.2 → 7.0.0-beta.4

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 (336) 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 +15 -13
  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/icon__svg.js +27 -29
  8. package/components/_helpers/input.js +150 -192
  9. package/components/_helpers/query-assist__suggestions.js +78 -93
  10. package/components/_helpers/select__filter.js +56 -75
  11. package/components/_helpers/services-link.js +23 -39
  12. package/components/_helpers/sidebar.js +91 -102
  13. package/components/_helpers/tab-link.js +8 -12
  14. package/components/_helpers/theme.js +42 -51
  15. package/components/_helpers/title.js +59 -84
  16. package/components/alert/alert.d.ts +7 -24
  17. package/components/alert/alert.js +111 -179
  18. package/components/alert/container.d.ts +0 -5
  19. package/components/alert/container.js +32 -44
  20. package/components/alert-service/alert-service.js +104 -162
  21. package/components/analytics/analytics.js +12 -20
  22. package/components/analytics/analytics__custom-plugin.js +52 -68
  23. package/components/auth/auth.js +2 -28
  24. package/components/auth/auth__core.d.ts +4 -4
  25. package/components/auth/auth__core.js +753 -1431
  26. package/components/auth/background-flow.js +84 -121
  27. package/components/auth/down-notification.js +31 -78
  28. package/components/auth/iframe-flow.js +70 -124
  29. package/components/auth/request-builder.js +46 -77
  30. package/components/auth/response-parser.js +84 -112
  31. package/components/auth/storage.js +160 -319
  32. package/components/auth/token-validator.js +132 -227
  33. package/components/auth/window-flow.js +84 -121
  34. package/components/auth-dialog/auth-dialog.d.ts +0 -18
  35. package/components/auth-dialog/auth-dialog.js +106 -175
  36. package/components/auth-dialog-service/auth-dialog-service.js +10 -31
  37. package/components/avatar/avatar-example-datauri.js +1 -1
  38. package/components/avatar/avatar.d.ts +0 -13
  39. package/components/avatar/avatar.js +94 -136
  40. package/components/avatar/fallback-avatar.d.ts +1 -10
  41. package/components/avatar/fallback-avatar.js +20 -40
  42. package/components/badge/badge.d.ts +0 -10
  43. package/components/badge/badge.js +32 -48
  44. package/components/breadcrumbs/breadcrumbs.js +13 -17
  45. package/components/button/button.d.ts +0 -21
  46. package/components/button/button.js +67 -101
  47. package/components/button-group/button-group.d.ts +0 -5
  48. package/components/button-group/button-group.js +27 -41
  49. package/components/button-group/caption.d.ts +0 -4
  50. package/components/button-group/caption.js +0 -1
  51. package/components/button-set/button-set.d.ts +0 -6
  52. package/components/button-set/button-set.js +19 -33
  53. package/components/button-toolbar/button-toolbar.d.ts +0 -6
  54. package/components/button-toolbar/button-toolbar.js +17 -31
  55. package/components/caret/caret.js +184 -211
  56. package/components/checkbox/checkbox.d.ts +0 -19
  57. package/components/checkbox/checkbox.js +69 -104
  58. package/components/clipboard/clipboard-fallback.js +7 -7
  59. package/components/clipboard/clipboard.js +36 -129
  60. package/components/code/code.d.ts +0 -12
  61. package/components/code/code.js +83 -163
  62. package/components/collapse/collapse-content.js +42 -60
  63. package/components/collapse/collapse-context.js +2 -2
  64. package/components/collapse/collapse-control.js +12 -12
  65. package/components/collapse/collapse.js +12 -17
  66. package/components/collapse/consts.js +4 -4
  67. package/components/collapse/utils.js +1 -3
  68. package/components/confirm/confirm.d.ts +0 -14
  69. package/components/confirm/confirm.js +67 -111
  70. package/components/confirm-service/confirm-service.js +23 -45
  71. package/components/content-layout/content-layout.d.ts +0 -7
  72. package/components/content-layout/content-layout.js +41 -63
  73. package/components/content-layout/sidebar.d.ts +0 -9
  74. package/components/content-layout/sidebar.js +1 -2
  75. package/components/contenteditable/contenteditable.d.ts +1 -22
  76. package/components/contenteditable/contenteditable.js +37 -60
  77. package/components/control-help/control-help.js +5 -3
  78. package/components/control-label/control-label.js +9 -14
  79. package/components/data-list/data-list.d.ts +0 -2
  80. package/components/data-list/data-list.js +115 -179
  81. package/components/data-list/data-list.mock.js +3 -6
  82. package/components/data-list/item.js +118 -164
  83. package/components/data-list/selection.js +77 -135
  84. package/components/data-list/title.d.ts +2 -2
  85. package/components/data-list/title.js +2 -12
  86. package/components/date-picker/consts.d.ts +0 -2
  87. package/components/date-picker/consts.js +16 -24
  88. package/components/date-picker/date-input.d.ts +0 -20
  89. package/components/date-picker/date-input.js +99 -147
  90. package/components/date-picker/date-picker.d.ts +0 -29
  91. package/components/date-picker/date-picker.js +143 -224
  92. package/components/date-picker/date-popup.d.ts +0 -22
  93. package/components/date-picker/date-popup.js +281 -351
  94. package/components/date-picker/day.d.ts +0 -14
  95. package/components/date-picker/day.js +72 -109
  96. package/components/date-picker/month-names.d.ts +1 -11
  97. package/components/date-picker/month-names.js +42 -72
  98. package/components/date-picker/month-slider.d.ts +0 -9
  99. package/components/date-picker/month-slider.js +43 -71
  100. package/components/date-picker/month.d.ts +1 -9
  101. package/components/date-picker/month.js +18 -30
  102. package/components/date-picker/months.d.ts +1 -9
  103. package/components/date-picker/months.js +45 -55
  104. package/components/date-picker/weekdays.d.ts +2 -8
  105. package/components/date-picker/weekdays.js +12 -25
  106. package/components/date-picker/years.d.ts +0 -6
  107. package/components/date-picker/years.js +77 -104
  108. package/components/dialog/dialog.d.ts +0 -20
  109. package/components/dialog/dialog.js +152 -210
  110. package/components/dialog/dialog__body-scroll-preventer.js +0 -3
  111. package/components/dropdown/anchor.d.ts +1 -8
  112. package/components/dropdown/anchor.js +0 -7
  113. package/components/dropdown/dropdown.d.ts +4 -22
  114. package/components/dropdown/dropdown.js +134 -176
  115. package/components/dropdown-menu/dropdown-menu.js +51 -103
  116. package/components/editable-heading/editable-heading.js +69 -118
  117. package/components/error-bubble/error-bubble.d.ts +0 -6
  118. package/components/error-bubble/error-bubble.js +29 -60
  119. package/components/error-message/error-message.d.ts +0 -10
  120. package/components/error-message/error-message.js +34 -59
  121. package/components/footer/footer.js +27 -43
  122. package/components/global/compose.js +1 -8
  123. package/components/global/composeRefs.d.ts +0 -3
  124. package/components/global/composeRefs.js +8 -15
  125. package/components/global/controls-height.js +2 -2
  126. package/components/global/create-stateful-context.d.ts +0 -4
  127. package/components/global/create-stateful-context.js +14 -17
  128. package/components/global/data-tests.js +7 -12
  129. package/components/global/dom.js +49 -82
  130. package/components/global/focus-sensor-hoc.js +95 -122
  131. package/components/global/fuzzy-highlight.js +23 -34
  132. package/components/global/get-event-key.js +8 -8
  133. package/components/global/get-uid.js +3 -7
  134. package/components/global/inject-styles.js +7 -14
  135. package/components/global/listeners.js +28 -47
  136. package/components/global/memoize.js +6 -10
  137. package/components/global/normalize-indent.js +19 -46
  138. package/components/global/promise-with-timeout.js +6 -8
  139. package/components/global/react-dom-renderer.d.ts +0 -5
  140. package/components/global/react-dom-renderer.js +29 -45
  141. package/components/global/rerender-hoc.js +16 -32
  142. package/components/global/schedule-raf.js +4 -4
  143. package/components/global/sniffer.js +1 -1
  144. package/components/global/theme.d.ts +1 -0
  145. package/components/global/theme.js +2 -20
  146. package/components/global/trivial-template-tag.js +4 -9
  147. package/components/global/typescript-utils.js +2 -6
  148. package/components/global/url.js +20 -23
  149. package/components/global/use-event-callback.js +7 -4
  150. package/components/grid/col.d.ts +0 -14
  151. package/components/grid/col.js +26 -53
  152. package/components/grid/grid.d.ts +0 -5
  153. package/components/grid/grid.js +18 -32
  154. package/components/grid/row.d.ts +0 -18
  155. package/components/grid/row.js +22 -47
  156. package/components/group/group.d.ts +0 -5
  157. package/components/group/group.js +16 -27
  158. package/components/header/header-icon.d.ts +0 -22
  159. package/components/header/header-icon.js +19 -36
  160. package/components/header/header.d.ts +0 -7
  161. package/components/header/header.js +30 -71
  162. package/components/header/links.js +6 -3
  163. package/components/header/logo.d.ts +0 -4
  164. package/components/header/logo.js +15 -30
  165. package/components/header/profile.d.ts +1 -39
  166. package/components/header/profile.js +125 -190
  167. package/components/header/services-link.d.ts +0 -10
  168. package/components/header/services-link.js +1 -4
  169. package/components/header/services.d.ts +0 -14
  170. package/components/header/services.js +65 -110
  171. package/components/header/smart-profile.d.ts +0 -9
  172. package/components/header/smart-profile.js +119 -205
  173. package/components/header/smart-services.d.ts +0 -4
  174. package/components/header/smart-services.js +72 -141
  175. package/components/header/tray.d.ts +0 -5
  176. package/components/header/tray.js +21 -35
  177. package/components/heading/heading.js +21 -26
  178. package/components/http/http.js +162 -319
  179. package/components/http/http.mock.js +50 -98
  180. package/components/hub-source/hub-source.js +77 -182
  181. package/components/hub-source/hub-source__user.js +9 -37
  182. package/components/hub-source/hub-source__users-groups.js +34 -60
  183. package/components/i18n/i18n-context.js +7 -8
  184. package/components/i18n/i18n.js +3 -6
  185. package/components/icon/icon.d.ts +0 -11
  186. package/components/icon/icon.js +60 -85
  187. package/components/icon/icon__svg.d.ts +0 -8
  188. package/components/icon/icon__svg.js +0 -6
  189. package/components/icon/index.js +0 -6
  190. package/components/input/input.js +1 -13
  191. package/components/island/adaptive-island-hoc.d.ts +0 -1
  192. package/components/island/adaptive-island-hoc.js +30 -39
  193. package/components/island/content.d.ts +0 -10
  194. package/components/island/content.js +99 -119
  195. package/components/island/header.js +55 -73
  196. package/components/island/island.d.ts +0 -9
  197. package/components/island/island.js +25 -41
  198. package/components/island-legacy/content-legacy.d.ts +0 -5
  199. package/components/island-legacy/content-legacy.js +16 -27
  200. package/components/island-legacy/header-legacy.d.ts +0 -5
  201. package/components/island-legacy/header-legacy.js +19 -30
  202. package/components/island-legacy/island-legacy.d.ts +0 -5
  203. package/components/island-legacy/island-legacy.js +16 -27
  204. package/components/link/clickableLink.d.ts +0 -9
  205. package/components/link/clickableLink.js +33 -51
  206. package/components/link/link.d.ts +0 -25
  207. package/components/link/link.js +47 -68
  208. package/components/list/consts.js +2 -2
  209. package/components/list/list.d.ts +0 -32
  210. package/components/list/list.js +399 -516
  211. package/components/list/list__custom.js +51 -78
  212. package/components/list/list__hint.d.ts +0 -4
  213. package/components/list/list__hint.js +8 -21
  214. package/components/list/list__item.js +147 -211
  215. package/components/list/list__link.js +39 -59
  216. package/components/list/list__separator.js +15 -30
  217. package/components/list/list__title.js +25 -41
  218. package/components/list/list__users-groups-source.js +55 -123
  219. package/components/loader/loader.d.ts +0 -10
  220. package/components/loader/loader.js +38 -70
  221. package/components/loader/loader__core.js +123 -184
  222. package/components/loader-inline/loader-inline.d.ts +0 -6
  223. package/components/loader-inline/loader-inline.js +24 -38
  224. package/components/loader-screen/loader-screen.d.ts +0 -6
  225. package/components/loader-screen/loader-screen.js +24 -46
  226. package/components/login-dialog/login-dialog.d.ts +0 -11
  227. package/components/login-dialog/login-dialog.js +93 -144
  228. package/components/login-dialog/service.js +9 -31
  229. package/components/markdown/markdown.js +16 -29
  230. package/components/message/message.js +170 -217
  231. package/components/old-browsers-message/old-browsers-message.js +11 -14
  232. package/components/old-browsers-message/old-browsers-message__stop.js +1 -4
  233. package/components/old-browsers-message/white-list.js +8 -13
  234. package/components/pager/pager.js +212 -277
  235. package/components/panel/panel.d.ts +0 -5
  236. package/components/panel/panel.js +16 -27
  237. package/components/permissions/permissions.js +118 -161
  238. package/components/permissions/permissions__cache.js +191 -218
  239. package/components/popup/popup.consts.js +1 -1
  240. package/components/popup/popup.js +237 -329
  241. package/components/popup/popup.target.js +9 -12
  242. package/components/popup/position.js +94 -101
  243. package/components/popup-menu/popup-menu.js +31 -76
  244. package/components/progress-bar/progress-bar.d.ts +19 -33
  245. package/components/progress-bar/progress-bar.js +55 -99
  246. package/components/query-assist/query-assist.d.ts +63 -93
  247. package/components/query-assist/query-assist.js +583 -746
  248. package/components/query-assist/query-assist__suggestions.js +2 -28
  249. package/components/radio/radio.d.ts +0 -8
  250. package/components/radio/radio.js +15 -35
  251. package/components/radio/radio__item.d.ts +0 -9
  252. package/components/radio/radio__item.js +52 -72
  253. package/components/scrollable-section/scrollable-section.js +22 -32
  254. package/components/select/select.js +693 -858
  255. package/components/select/select__filter.js +1 -28
  256. package/components/select/select__popup.js +317 -465
  257. package/components/shortcuts/core.js +147 -195
  258. package/components/shortcuts/shortcut-title.js +6 -10
  259. package/components/shortcuts/shortcuts-hoc.d.ts +0 -5
  260. package/components/shortcuts/shortcuts-hoc.js +23 -46
  261. package/components/shortcuts/shortcuts.d.ts +0 -8
  262. package/components/shortcuts/shortcuts.js +41 -72
  263. package/components/slider/slider.js +93 -113
  264. package/components/slider/slider.utils.js +16 -23
  265. package/components/storage/storage.js +3 -28
  266. package/components/storage/storage__fallback.js +137 -210
  267. package/components/storage/storage__local.js +89 -148
  268. package/components/style.css +1 -1
  269. package/components/tab-trap/tab-trap.js +35 -61
  270. package/components/table/cell.d.ts +0 -6
  271. package/components/table/cell.js +11 -27
  272. package/components/table/disable-hover-hoc.d.ts +0 -1
  273. package/components/table/disable-hover-hoc.js +27 -42
  274. package/components/table/header-cell.d.ts +0 -10
  275. package/components/table/header-cell.js +59 -85
  276. package/components/table/header.d.ts +0 -15
  277. package/components/table/header.js +89 -126
  278. package/components/table/multitable.d.ts +0 -4
  279. package/components/table/multitable.js +83 -93
  280. package/components/table/row-with-focus-sensor.d.ts +2 -2
  281. package/components/table/row-with-focus-sensor.js +25 -60
  282. package/components/table/row.js +169 -235
  283. package/components/table/selection-adapter.js +2 -2
  284. package/components/table/selection-shortcuts-hoc.js +102 -126
  285. package/components/table/selection.js +150 -217
  286. package/components/table/simple-table.d.ts +0 -44
  287. package/components/table/simple-table.js +17 -59
  288. package/components/table/smart-table.d.ts +0 -48
  289. package/components/table/smart-table.js +40 -83
  290. package/components/table/table.d.ts +0 -2
  291. package/components/table/table.js +268 -377
  292. package/components/tabs/collapsible-more.d.ts +1 -9
  293. package/components/tabs/collapsible-more.js +47 -97
  294. package/components/tabs/collapsible-tab.js +32 -44
  295. package/components/tabs/collapsible-tabs.d.ts +2 -29
  296. package/components/tabs/collapsible-tabs.js +89 -161
  297. package/components/tabs/custom-item.d.ts +1 -7
  298. package/components/tabs/custom-item.js +4 -7
  299. package/components/tabs/dumb-tabs.d.ts +0 -11
  300. package/components/tabs/dumb-tabs.js +60 -104
  301. package/components/tabs/smart-tabs.d.ts +0 -6
  302. package/components/tabs/smart-tabs.js +29 -68
  303. package/components/tabs/tab-link.d.ts +0 -8
  304. package/components/tabs/tab-link.js +1 -4
  305. package/components/tabs/tab.d.ts +0 -8
  306. package/components/tabs/tab.js +14 -32
  307. package/components/tabs/tabs.js +1 -28
  308. package/components/tag/tag.d.ts +0 -19
  309. package/components/tag/tag.js +120 -179
  310. package/components/tags-input/tags-input.d.ts +7 -33
  311. package/components/tags-input/tags-input.js +223 -338
  312. package/components/tags-list/tags-list.d.ts +0 -13
  313. package/components/tags-list/tags-list.js +45 -74
  314. package/components/text/text.d.ts +0 -7
  315. package/components/text/text.js +27 -43
  316. package/components/toggle/toggle.d.ts +0 -15
  317. package/components/toggle/toggle.js +51 -76
  318. package/components/tooltip/tooltip.d.ts +0 -9
  319. package/components/tooltip/tooltip.js +109 -150
  320. package/components/user-agreement/service.js +259 -401
  321. package/components/user-agreement/user-agreement.d.ts +0 -18
  322. package/components/user-agreement/user-agreement.js +91 -137
  323. package/components/user-card/card.d.ts +0 -35
  324. package/components/user-card/card.js +1 -26
  325. package/components/user-card/smart-user-card-tooltip.d.ts +0 -5
  326. package/components/user-card/smart-user-card-tooltip.js +52 -108
  327. package/components/user-card/tooltip.d.ts +0 -9
  328. package/components/user-card/tooltip.js +35 -74
  329. package/components/user-card/user-card.js +1 -26
  330. package/package.json +1 -2
  331. package/components/global/prop-types.d.ts +0 -4
  332. package/components/global/prop-types.js +0 -9
  333. package/components/global/react-render-adapter.d.ts +0 -1
  334. package/components/global/react-render-adapter.js +0 -6
  335. package/components/header/tray-icon.d.ts +0 -1
  336. package/components/header/tray-icon.js +0 -26
@@ -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
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,29 +23,14 @@ 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
36
  import '../icon/icon.js';
@@ -57,10 +38,7 @@ import 'util-deprecate';
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 };