@jetbrains/ring-ui-built 7.0.0-beta.1 → 7.0.0-beta.11

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