@jetbrains/ring-ui 5.0.156 → 5.0.158

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 (304) hide show
  1. package/components/control-label/control-label.css +1 -1
  2. package/components/control-label/control-label.d.ts +1 -1
  3. package/components/control-label/control-label.js +2 -2
  4. package/components/select/select__popup.d.ts +36 -0
  5. package/components/select/select__popup.js +7 -1
  6. package/dist/_helpers/_rollupPluginBabelHelpers.js +642 -1
  7. package/dist/_helpers/anchor.js +6 -7
  8. package/dist/_helpers/button__classes.js +16 -28
  9. package/dist/_helpers/card.js +107 -95
  10. package/dist/_helpers/control-label.js +1 -1
  11. package/dist/_helpers/dialog__body-scroll-preventer.js +20 -11
  12. package/dist/_helpers/footer.js +29 -34
  13. package/dist/_helpers/query-assist__suggestions.js +91 -74
  14. package/dist/_helpers/select__filter.js +71 -48
  15. package/dist/_helpers/services-link.js +41 -29
  16. package/dist/_helpers/sidebar.js +103 -99
  17. package/dist/_helpers/theme.js +42 -35
  18. package/dist/_helpers/title.js +71 -57
  19. package/dist/alert/alert.js +199 -158
  20. package/dist/alert/container.js +43 -32
  21. package/dist/alert-service/alert-service.js +172 -104
  22. package/dist/analytics/analytics.js +92 -68
  23. package/dist/analytics/analytics__custom-plugin.js +84 -60
  24. package/dist/analytics/analytics__fus-plugin.js +28 -15
  25. package/dist/analytics/analytics__ga-plugin.js +60 -43
  26. package/dist/analytics/analytics__plugin-utils.js +28 -22
  27. package/dist/auth/auth.js +36 -4
  28. package/dist/auth/auth__core.js +1458 -732
  29. package/dist/auth/background-flow.js +129 -87
  30. package/dist/auth/down-notification.js +75 -30
  31. package/dist/auth/iframe-flow.js +136 -75
  32. package/dist/auth/landing.js +90 -30
  33. package/dist/auth/request-builder.js +82 -46
  34. package/dist/auth/response-parser.js +119 -86
  35. package/dist/auth/storage.js +333 -171
  36. package/dist/auth/token-validator.js +244 -137
  37. package/dist/auth/window-flow.js +136 -92
  38. package/dist/auth-dialog/auth-dialog.js +176 -114
  39. package/dist/auth-dialog-service/auth-dialog-service.js +32 -7
  40. package/dist/auth-ng/auth-ng.js +70 -34
  41. package/dist/auth-ng/auth-ng.mock.js +6 -6
  42. package/dist/autofocus-ng/autofocus-ng.js +23 -8
  43. package/dist/avatar/avatar-example-datauri.js +1 -23
  44. package/dist/avatar/avatar.js +155 -119
  45. package/dist/avatar/fallback-avatar.js +41 -22
  46. package/dist/avatar-editor-ng/avatar-editor-ng.js +56 -23
  47. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +1 -28
  48. package/dist/avatar-ng/avatar-ng.js +23 -1
  49. package/dist/badge/badge.js +43 -35
  50. package/dist/badge-ng/badge-ng.js +13 -1
  51. package/dist/breadcrumb-ng/breadcrumb-ng.js +15 -29
  52. package/dist/button/button.js +111 -87
  53. package/dist/button/button__classes.js +1 -0
  54. package/dist/button-group/button-group.js +35 -19
  55. package/dist/button-group/caption.js +22 -14
  56. package/dist/button-group-ng/button-group-ng.js +13 -7
  57. package/dist/button-ng/button-ng.js +154 -133
  58. package/dist/button-set/button-set.js +34 -20
  59. package/dist/button-set-ng/button-set-ng.js +2 -2
  60. package/dist/button-toolbar/button-toolbar.js +33 -19
  61. package/dist/button-toolbar-ng/button-toolbar-ng.js +5 -3
  62. package/dist/caret/caret.js +225 -188
  63. package/dist/checkbox/checkbox.js +104 -76
  64. package/dist/checkbox-ng/checkbox-ng.js +18 -27
  65. package/dist/clipboard/clipboard-fallback.js +10 -10
  66. package/dist/clipboard/clipboard.js +131 -34
  67. package/dist/code/code.js +168 -92
  68. package/dist/compiler-ng/compiler-ng.js +18 -15
  69. package/dist/confirm/confirm.js +108 -66
  70. package/dist/confirm-ng/confirm-ng.js +33 -4
  71. package/dist/confirm-service/confirm-service.js +66 -42
  72. package/dist/content-layout/content-layout.js +64 -43
  73. package/dist/content-layout/sidebar.js +1 -0
  74. package/dist/contenteditable/contenteditable.js +61 -50
  75. package/dist/control-label/control-label.d.ts +1 -1
  76. package/dist/control-label/control-label.js +12 -16
  77. package/dist/data-list/data-list.js +184 -128
  78. package/dist/data-list/data-list.mock.js +11 -2
  79. package/dist/data-list/item.js +174 -143
  80. package/dist/data-list/selection.js +139 -76
  81. package/dist/data-list/title.js +13 -1
  82. package/dist/data-list-ng/data-list-ng.js +31 -1
  83. package/dist/date-picker/consts.js +18 -15
  84. package/dist/date-picker/date-input.js +147 -115
  85. package/dist/date-picker/date-picker.js +285 -228
  86. package/dist/date-picker/date-popup.js +397 -356
  87. package/dist/date-picker/day.js +98 -84
  88. package/dist/date-picker/month-names.js +64 -43
  89. package/dist/date-picker/month-slider.js +74 -51
  90. package/dist/date-picker/month.js +21 -15
  91. package/dist/date-picker/months.js +48 -43
  92. package/dist/date-picker/weekdays.js +18 -12
  93. package/dist/date-picker/years.js +109 -84
  94. package/dist/dialog/dialog.js +189 -141
  95. package/dist/dialog/dialog__body-scroll-preventer.js +5 -0
  96. package/dist/dialog-ng/dialog-ng.js +401 -287
  97. package/dist/dialog-ng/dialog-ng__template.js +1 -70
  98. package/dist/docked-panel-ng/docked-panel-ng.js +33 -18
  99. package/dist/dropdown/anchor.js +10 -0
  100. package/dist/dropdown/dropdown.js +214 -182
  101. package/dist/dropdown-menu/dropdown-menu.js +102 -72
  102. package/dist/editable-heading/editable-heading.js +100 -58
  103. package/dist/error-bubble/error-bubble.js +64 -31
  104. package/dist/error-message/error-message.js +61 -38
  105. package/dist/error-message-ng/error-message-ng.js +11 -22
  106. package/dist/footer/footer.js +11 -1
  107. package/dist/footer-ng/footer-ng.js +64 -36
  108. package/dist/form-ng/form-ng.js +66 -56
  109. package/dist/global/angular-component-factory.js +76 -53
  110. package/dist/global/compose.js +10 -1
  111. package/dist/global/composeRefs.js +12 -7
  112. package/dist/global/controls-height.js +2 -2
  113. package/dist/global/create-stateful-context.js +19 -19
  114. package/dist/global/data-tests.js +15 -7
  115. package/dist/global/dom.js +95 -53
  116. package/dist/global/focus-sensor-hoc.js +134 -122
  117. package/dist/global/fuzzy-highlight.js +41 -27
  118. package/dist/global/get-event-key.js +8 -8
  119. package/dist/global/get-uid.js +8 -4
  120. package/dist/global/inject-styles.js +15 -10
  121. package/dist/global/linear-function.js +2 -2
  122. package/dist/global/listeners.js +53 -27
  123. package/dist/global/memoize.js +13 -6
  124. package/dist/global/normalize-indent.js +51 -19
  125. package/dist/global/promise-with-timeout.js +8 -6
  126. package/dist/global/prop-types.js +5 -3
  127. package/dist/global/react-dom-renderer.js +47 -28
  128. package/dist/global/react-render-adapter.js +19 -13
  129. package/dist/global/rerender-hoc.js +41 -16
  130. package/dist/global/ring-angular-component.js +20 -10
  131. package/dist/global/schedule-raf.js +6 -5
  132. package/dist/global/sniffer.js +1 -1
  133. package/dist/global/theme.js +24 -0
  134. package/dist/global/trivial-template-tag.js +10 -3
  135. package/dist/global/typescript-utils.js +6 -2
  136. package/dist/global/url.js +27 -21
  137. package/dist/global/use-event-callback.js +4 -6
  138. package/dist/grid/col.js +55 -35
  139. package/dist/grid/grid.js +36 -17
  140. package/dist/grid/row.js +48 -35
  141. package/dist/group/group.js +27 -17
  142. package/dist/group-ng/group-ng.js +2 -2
  143. package/dist/header/header.js +80 -33
  144. package/dist/header/logo.js +39 -20
  145. package/dist/header/profile.js +188 -150
  146. package/dist/header/services-link.js +9 -0
  147. package/dist/header/services.js +118 -73
  148. package/dist/header/smart-profile.js +207 -111
  149. package/dist/header/smart-services.js +115 -62
  150. package/dist/header/tray-icon.js +38 -21
  151. package/dist/header/tray.js +34 -21
  152. package/dist/heading/heading.js +25 -26
  153. package/dist/heading-ng/heading-ng.js +11 -1
  154. package/dist/http/http.js +368 -215
  155. package/dist/http/http.mock.js +104 -49
  156. package/dist/hub-source/hub-source.js +191 -83
  157. package/dist/hub-source/hub-source__user.js +45 -11
  158. package/dist/hub-source/hub-source__users-groups.js +67 -37
  159. package/dist/i18n/i18n-context.js +14 -10
  160. package/dist/i18n/i18n.js +11 -7
  161. package/dist/icon/icon.js +94 -76
  162. package/dist/icon/icon__svg.js +31 -24
  163. package/dist/icon/index.js +9 -0
  164. package/dist/icon-ng/icon-ng.js +27 -15
  165. package/dist/input/input.js +184 -145
  166. package/dist/input-ng/input-ng.js +96 -118
  167. package/dist/island/adaptive-island-hoc.js +45 -30
  168. package/dist/island/content.js +130 -115
  169. package/dist/island/header.js +69 -56
  170. package/dist/island/island.js +40 -28
  171. package/dist/island-legacy/content-legacy.js +27 -17
  172. package/dist/island-legacy/header-legacy.js +29 -19
  173. package/dist/island-legacy/island-legacy.js +27 -17
  174. package/dist/island-ng/island-content-ng.js +17 -26
  175. package/dist/island-ng/island-header-ng.js +9 -12
  176. package/dist/island-ng/island-ng-class-fixer.js +3 -0
  177. package/dist/island-ng/island-ng.js +6 -10
  178. package/dist/link/clickableLink.js +61 -44
  179. package/dist/link/link.js +85 -74
  180. package/dist/link-ng/link-ng.js +3 -5
  181. package/dist/list/consts.js +1 -1
  182. package/dist/list/list.js +696 -602
  183. package/dist/list/list__custom.js +61 -44
  184. package/dist/list/list__hint.js +21 -10
  185. package/dist/list/list__item.js +167 -129
  186. package/dist/list/list__link.js +54 -37
  187. package/dist/list/list__separator.js +24 -14
  188. package/dist/list/list__title.js +32 -22
  189. package/dist/list/list__users-groups-source.js +131 -54
  190. package/dist/loader/loader.js +78 -43
  191. package/dist/loader/loader__core.js +257 -189
  192. package/dist/loader-inline/loader-inline.js +37 -23
  193. package/dist/loader-inline-ng/loader-inline-ng.js +2 -2
  194. package/dist/loader-ng/loader-ng.js +46 -19
  195. package/dist/loader-screen/loader-screen.js +48 -25
  196. package/dist/loader-screen-ng/loader-screen-ng.js +46 -30
  197. package/dist/login-dialog/login-dialog.js +162 -111
  198. package/dist/login-dialog/service.js +35 -7
  199. package/dist/markdown/code.js +31 -9
  200. package/dist/markdown/heading.js +3 -5
  201. package/dist/markdown/link.js +13 -6
  202. package/dist/markdown/markdown.js +66 -33
  203. package/dist/message/message.js +157 -125
  204. package/dist/message-bundle-ng/message-bundle-ng.js +128 -44
  205. package/dist/old-browsers-message/old-browsers-message.js +19 -11
  206. package/dist/old-browsers-message/old-browsers-message__stop.js +8 -0
  207. package/dist/old-browsers-message/white-list.js +16 -9
  208. package/dist/pager/pager.js +275 -210
  209. package/dist/pager-ng/pager-ng.js +36 -1
  210. package/dist/panel/panel.js +27 -17
  211. package/dist/panel-ng/panel-ng.js +14 -1
  212. package/dist/permissions/permissions.js +173 -127
  213. package/dist/permissions/permissions__cache.js +225 -194
  214. package/dist/permissions-ng/permissions-ng.js +86 -35
  215. package/dist/place-under-ng/place-under-ng.js +68 -45
  216. package/dist/popup/popup.consts.js +1 -1
  217. package/dist/popup/popup.js +342 -280
  218. package/dist/popup/popup.target.js +8 -9
  219. package/dist/popup/position.js +153 -153
  220. package/dist/popup-menu/popup-menu.js +86 -44
  221. package/dist/progress-bar/progress-bar.js +97 -80
  222. package/dist/progress-bar-ng/progress-bar-ng.js +11 -1
  223. package/dist/promised-click-ng/promised-click-ng.js +92 -58
  224. package/dist/proxy-attrs/proxy-attrs.js +18 -9
  225. package/dist/query-assist/query-assist.js +903 -832
  226. package/dist/query-assist/query-assist__suggestions.js +33 -1
  227. package/dist/query-assist-ng/query-assist-ng.js +38 -1
  228. package/dist/radio/radio.js +36 -19
  229. package/dist/radio/radio__item.js +71 -52
  230. package/dist/radio-ng/radio-ng.js +14 -25
  231. package/dist/save-field-ng/save-field-ng.js +86 -52
  232. package/dist/save-field-ng/save-field-ng__template.js +1 -32
  233. package/dist/select/select.js +937 -835
  234. package/dist/select/select__filter.js +33 -0
  235. package/dist/select/select__popup.d.ts +36 -0
  236. package/dist/select/select__popup.js +480 -358
  237. package/dist/select-ng/select-ng.js +125 -74
  238. package/dist/select-ng/select-ng__lazy.js +101 -50
  239. package/dist/select-ng/select-ng__options.js +107 -81
  240. package/dist/shortcuts/core.js +218 -166
  241. package/dist/shortcuts/shortcut-title.js +11 -6
  242. package/dist/shortcuts/shortcuts-hoc.js +47 -19
  243. package/dist/shortcuts/shortcuts.js +77 -50
  244. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +104 -53
  245. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +1 -48
  246. package/dist/shortcuts-ng/shortcuts-ng.js +86 -51
  247. package/dist/sidebar-ng/sidebar-ng.js +53 -22
  248. package/dist/sidebar-ng/sidebar-ng__button-template.js +1 -18
  249. package/dist/sidebar-ng/sidebar-ng__template.js +1 -10
  250. package/dist/storage/storage.js +35 -4
  251. package/dist/storage/storage__fallback.js +224 -149
  252. package/dist/storage/storage__local.js +156 -90
  253. package/dist/style.css +1 -1
  254. package/dist/tab-trap/tab-trap.js +157 -122
  255. package/dist/table/cell.js +28 -14
  256. package/dist/table/disable-hover-hoc.js +53 -33
  257. package/dist/table/header-cell.js +87 -64
  258. package/dist/table/header.js +126 -98
  259. package/dist/table/multitable.js +127 -107
  260. package/dist/table/row-with-focus-sensor.js +73 -25
  261. package/dist/table/row.js +208 -170
  262. package/dist/table/selection-adapter.js +3 -1
  263. package/dist/table/selection-shortcuts-hoc.js +184 -181
  264. package/dist/table/selection.js +228 -156
  265. package/dist/table/smart-table.js +93 -51
  266. package/dist/table/table.js +348 -281
  267. package/dist/table-legacy-ng/table-legacy-ng.js +117 -102
  268. package/dist/table-legacy-ng/table-legacy-ng__pager.js +42 -10
  269. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +92 -69
  270. package/dist/table-legacy-ng/table-legacy-ng__selection.js +169 -119
  271. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +36 -21
  272. package/dist/table-ng/smart-table-ng.js +31 -1
  273. package/dist/table-ng/table-ng.js +31 -1
  274. package/dist/tabs/collapsible-more.js +87 -50
  275. package/dist/tabs/collapsible-tab.js +45 -38
  276. package/dist/tabs/collapsible-tabs.js +161 -94
  277. package/dist/tabs/custom-item.js +2 -4
  278. package/dist/tabs/dumb-tabs.js +122 -75
  279. package/dist/tabs/smart-tabs.js +75 -29
  280. package/dist/tabs/tab-link.js +29 -19
  281. package/dist/tabs/tab.js +33 -19
  282. package/dist/tabs/tabs.js +35 -0
  283. package/dist/tabs-ng/tabs-ng.js +38 -24
  284. package/dist/tabs-ng/tabs-ng__template.js +1 -38
  285. package/dist/tag/tag.js +170 -133
  286. package/dist/tags-input/tags-input.js +428 -327
  287. package/dist/tags-input-ng/tags-input-ng.js +37 -1
  288. package/dist/tags-list/tags-list.js +80 -56
  289. package/dist/template-ng/template-ng.js +50 -39
  290. package/dist/text/text.js +38 -28
  291. package/dist/title-ng/title-ng.js +28 -23
  292. package/dist/toggle/toggle.js +72 -56
  293. package/dist/toggle-ng/toggle-ng.js +14 -1
  294. package/dist/tooltip/tooltip.js +192 -146
  295. package/dist/tooltip-ng/tooltip-ng.js +51 -25
  296. package/dist/user-agreement/service.js +374 -227
  297. package/dist/user-agreement/toolbox.eula.js +1 -160
  298. package/dist/user-agreement/user-agreement.js +128 -86
  299. package/dist/user-card/card.js +32 -0
  300. package/dist/user-card/smart-user-card-tooltip.js +116 -51
  301. package/dist/user-card/tooltip.js +90 -48
  302. package/dist/user-card/user-card.js +32 -0
  303. package/dist/user-card-ng/user-card-ng.js +34 -2
  304. package/package.json +8 -8
@@ -1,18 +1,27 @@
1
+ import { _ as _createClass, b as _classCallCheck, c as _defineProperty, e as _asyncToGenerator, f 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
4
  import React from 'react';
2
5
  import showAuthDialog from '../login-dialog/service.js';
3
6
  import Link from '../link/link.js';
4
7
  import AuthResponseParser from './response-parser.js';
5
8
  import '../global/react-render-adapter.js';
9
+ import 'core-js/modules/es.array.iterator.js';
10
+ import 'core-js/modules/es.string.iterator.js';
11
+ import 'core-js/modules/es.weak-map.js';
12
+ import 'core-js/modules/web.dom-collections.iterator.js';
6
13
  import 'react-dom';
7
14
  import '../global/controls-height.js';
8
15
  import '../login-dialog/login-dialog.js';
16
+ import 'core-js/modules/es.array.concat.js';
9
17
  import 'prop-types';
10
18
  import '../dialog/dialog.js';
11
- import '../_helpers/_rollupPluginBabelHelpers.js';
12
19
  import 'classnames';
13
20
  import '@jetbrains/icons/close';
14
21
  import '../island/island.js';
15
22
  import '../global/data-tests.js';
23
+ import 'core-js/modules/es.array.reduce.js';
24
+ import 'core-js/modules/es.object.entries.js';
16
25
  import '../island/adaptive-island-hoc.js';
17
26
  import '../global/linear-function.js';
18
27
  import '../_helpers/island.js';
@@ -21,13 +30,28 @@ import '../island/content.js';
21
30
  import 'element-resize-detector';
22
31
  import '../global/schedule-raf.js';
23
32
  import '../global/get-uid.js';
33
+ import 'core-js/modules/es.regexp.to-string.js';
24
34
  import '../shortcuts/shortcuts.js';
35
+ import 'core-js/modules/es.array.map.js';
25
36
  import '../shortcuts/core.js';
37
+ import 'core-js/modules/es.array.includes.js';
38
+ import 'core-js/modules/es.string.includes.js';
39
+ import 'core-js/modules/es.object.assign.js';
40
+ import 'core-js/modules/es.array.slice.js';
41
+ import 'core-js/modules/es.array.splice.js';
42
+ import 'core-js/modules/es.regexp.exec.js';
43
+ import 'core-js/modules/es.string.match.js';
44
+ import 'core-js/modules/es.array.find-index.js';
26
45
  import 'combokeys';
27
46
  import '../global/sniffer.js';
28
47
  import 'sniffr';
29
48
  import '../tab-trap/tab-trap.js';
49
+ import 'core-js/modules/es.array.filter.js';
30
50
  import '../global/dom.js';
51
+ import 'core-js/modules/web.dom-collections.for-each.js';
52
+ import 'core-js/modules/es.string.split.js';
53
+ import 'core-js/modules/es.object.keys.js';
54
+ import 'core-js/modules/es.set.js';
31
55
  import '../button/button.js';
32
56
  import '@jetbrains/icons/chevron-10px';
33
57
  import '../icon/icon.js';
@@ -35,7 +59,10 @@ import 'util-deprecate';
35
59
  import '../icon/icon__constants.js';
36
60
  import '../_helpers/icon.js';
37
61
  import '../icon/icon__svg.js';
62
+ import 'core-js/modules/es.string.replace.js';
63
+ import 'core-js/modules/es.string.starts-with.js';
38
64
  import '../global/memoize.js';
65
+ import 'core-js/modules/es.map.js';
39
66
  import '../link/clickableLink.js';
40
67
  import '../_helpers/button__classes.js';
41
68
  import '../popup/popup.target.js';
@@ -44,21 +71,29 @@ import 'scrollbar-width';
44
71
  import '../loader-screen/loader-screen.js';
45
72
  import '../loader/loader.js';
46
73
  import '../loader/loader__core.js';
74
+ import 'core-js/modules/es.array.fill.js';
47
75
  import '../_helpers/loader-screen.js';
48
76
  import './background-flow.js';
49
77
  import '../_helpers/link.js';
78
+ import 'core-js/modules/es.array.index-of.js';
50
79
  import 'es6-error';
51
80
  import '../global/url.js';
52
81
 
53
- class IFrameFlow {
54
- hideDialog = null;
55
- _requestBuilder;
56
- _storage;
57
- _translations;
58
- reject;
59
- _promise;
60
- _loginWindow;
61
- constructor(requestBuilder, storage, translations) {
82
+ var IFrameFlow = /*#__PURE__*/function () {
83
+ function IFrameFlow(requestBuilder, storage, translations) {
84
+ var _this = this;
85
+ _classCallCheck(this, IFrameFlow);
86
+ _defineProperty(this, "hideDialog", null);
87
+ _defineProperty(this, "_requestBuilder", void 0);
88
+ _defineProperty(this, "_storage", void 0);
89
+ _defineProperty(this, "_translations", void 0);
90
+ _defineProperty(this, "reject", void 0);
91
+ _defineProperty(this, "_promise", void 0);
92
+ _defineProperty(this, "_loginWindow", void 0);
93
+ _defineProperty(this, "_reset", function () {
94
+ _this._promise = null;
95
+ _this.hideDialog = null;
96
+ });
62
97
  this._requestBuilder = requestBuilder;
63
98
  this._storage = storage;
64
99
  this._translations = translations;
@@ -67,73 +102,99 @@ class IFrameFlow {
67
102
  /**
68
103
  * Initiates authorization in window
69
104
  */
70
- async _load() {
71
- const authRequest = await this._requestBuilder.prepareAuthRequest(
72
- // eslint-disable-next-line camelcase
73
- {
74
- request_credentials: 'required',
75
- auth_mode: 'bypass_to_login'
76
- }, {
77
- nonRedirect: false
78
- });
79
- const renderFallbackLink = () => /*#__PURE__*/React.createElement(Link, {
80
- href: authRequest.url,
81
- target: "_self"
82
- }, this._translations.nothingHappensLink);
83
- return new Promise((resolve, reject) => {
84
- this.hideDialog = showAuthDialog({
85
- url: authRequest.url,
86
- loader: true,
87
- onCancel: () => {
88
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
89
- cleanUp();
90
- this.stop();
91
- },
92
- renderFallbackLink
93
- });
94
- this.reject = reject;
95
- const removeTokenListener = this._storage.onTokenChange(token => {
96
- if (token) {
97
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
98
- cleanUp();
99
- resolve(token.accessToken);
100
- }
101
- });
102
- const removeStateListener = this._storage.onStateChange(authRequest.stateId, state => {
103
- if (state && state.error) {
104
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
105
- cleanUp();
106
- reject(new AuthResponseParser.AuthError(state));
107
- }
108
- });
109
- const cleanUp = () => {
110
- this.hideDialog?.();
111
- removeStateListener();
112
- removeTokenListener();
113
- };
114
- });
115
- }
116
- _reset = () => {
117
- this._promise = null;
118
- this.hideDialog = null;
119
- };
120
- stop() {
121
- if (this.hideDialog) {
122
- this.hideDialog();
105
+ _createClass(IFrameFlow, [{
106
+ key: "_load",
107
+ value: function () {
108
+ var _load2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
109
+ var _this2 = this;
110
+ var authRequest, renderFallbackLink;
111
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
112
+ while (1) switch (_context.prev = _context.next) {
113
+ case 0:
114
+ _context.next = 2;
115
+ return this._requestBuilder.prepareAuthRequest(
116
+ // eslint-disable-next-line camelcase
117
+ {
118
+ request_credentials: 'required',
119
+ auth_mode: 'bypass_to_login'
120
+ }, {
121
+ nonRedirect: false
122
+ });
123
+ case 2:
124
+ authRequest = _context.sent;
125
+ renderFallbackLink = function renderFallbackLink() {
126
+ return /*#__PURE__*/React.createElement(Link, {
127
+ href: authRequest.url,
128
+ target: "_self"
129
+ }, _this2._translations.nothingHappensLink);
130
+ };
131
+ return _context.abrupt("return", new Promise(function (resolve, reject) {
132
+ _this2.hideDialog = showAuthDialog({
133
+ url: authRequest.url,
134
+ loader: true,
135
+ onCancel: function onCancel() {
136
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
137
+ cleanUp();
138
+ _this2.stop();
139
+ },
140
+ renderFallbackLink: renderFallbackLink
141
+ });
142
+ _this2.reject = reject;
143
+ var removeTokenListener = _this2._storage.onTokenChange(function (token) {
144
+ if (token) {
145
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
146
+ cleanUp();
147
+ resolve(token.accessToken);
148
+ }
149
+ });
150
+ var removeStateListener = _this2._storage.onStateChange(authRequest.stateId, function (state) {
151
+ if (state && state.error) {
152
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
153
+ cleanUp();
154
+ reject(new AuthResponseParser.AuthError(state));
155
+ }
156
+ });
157
+ var cleanUp = function cleanUp() {
158
+ var _this2$hideDialog;
159
+ (_this2$hideDialog = _this2.hideDialog) === null || _this2$hideDialog === void 0 ? void 0 : _this2$hideDialog.call(_this2);
160
+ removeStateListener();
161
+ removeTokenListener();
162
+ };
163
+ }));
164
+ case 5:
165
+ case "end":
166
+ return _context.stop();
167
+ }
168
+ }, _callee, this);
169
+ }));
170
+ function _load() {
171
+ return _load2.apply(this, arguments);
172
+ }
173
+ return _load;
174
+ }()
175
+ }, {
176
+ key: "stop",
177
+ value: function stop() {
178
+ if (this.hideDialog) {
179
+ this.hideDialog();
180
+ }
181
+ if (this.reject) {
182
+ this.reject('Login form closed');
183
+ }
184
+ this._reset();
123
185
  }
124
- if (this.reject) {
125
- this.reject('Login form closed');
126
- }
127
- this._reset();
128
- }
129
- authorize() {
130
- if (this._promise != null && this._loginWindow != null && !this._loginWindow.closed) {
186
+ }, {
187
+ key: "authorize",
188
+ value: function authorize() {
189
+ if (this._promise != null && this._loginWindow != null && !this._loginWindow.closed) {
190
+ return this._promise;
191
+ }
192
+ this._promise = this._load();
193
+ this._promise.then(this._reset, this._reset);
131
194
  return this._promise;
132
195
  }
133
- this._promise = this._load();
134
- this._promise.then(this._reset, this._reset);
135
- return this._promise;
136
- }
137
- }
196
+ }]);
197
+ return IFrameFlow;
198
+ }();
138
199
 
139
200
  export { IFrameFlow as default };
@@ -1,21 +1,43 @@
1
+ import { e as _asyncToGenerator, f as _regeneratorRuntime } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.parse-int.js';
1
3
  import TokenValidator from './token-validator.js';
2
4
  import AuthResponseParser from './response-parser.js';
3
5
  import './auth.js';
4
6
  import AuthStorage from './storage.js';
5
7
  import { DEFAULT_EXPIRES_TIMEOUT } from './auth__core.js';
8
+ import 'core-js/modules/es.array.filter.js';
9
+ import 'core-js/modules/es.object.to-string.js';
10
+ import 'core-js/modules/es.array.includes.js';
11
+ import 'core-js/modules/es.string.includes.js';
6
12
  import 'es6-error';
7
13
  import '../http/http.js';
14
+ import 'core-js/modules/es.array.concat.js';
15
+ import 'core-js/modules/es.array.iterator.js';
16
+ import 'core-js/modules/es.string.iterator.js';
17
+ import 'core-js/modules/es.weak-map.js';
18
+ import 'core-js/modules/web.dom-collections.iterator.js';
19
+ import 'core-js/modules/es.promise.js';
20
+ import 'core-js/modules/web.dom-collections.for-each.js';
21
+ import 'core-js/modules/es.object.entries.js';
22
+ import 'core-js/modules/es.reflect.delete-property.js';
23
+ import 'core-js/modules/es.array.index-of.js';
8
24
  import '../global/url.js';
25
+ import 'core-js/modules/es.regexp.exec.js';
26
+ import 'core-js/modules/es.string.match.js';
27
+ import 'core-js/modules/es.string.replace.js';
28
+ import 'core-js/modules/es.object.keys.js';
29
+ import 'core-js/modules/es.regexp.to-string.js';
9
30
  import './window-flow.js';
10
31
  import './down-notification.js';
11
32
  import 'react';
12
33
  import 'prop-types';
13
34
  import '../alert-service/alert-service.js';
14
- import '../_helpers/_rollupPluginBabelHelpers.js';
35
+ import 'core-js/modules/es.array.map.js';
15
36
  import '../global/react-render-adapter.js';
16
37
  import 'react-dom';
17
38
  import '../global/get-uid.js';
18
39
  import '../alert/alert.js';
40
+ import 'core-js/modules/es.object.values.js';
19
41
  import 'classnames';
20
42
  import '@jetbrains/icons/exception';
21
43
  import '@jetbrains/icons/checkmark';
@@ -26,11 +48,17 @@ import 'util-deprecate';
26
48
  import '../icon/icon__constants.js';
27
49
  import '../_helpers/icon.js';
28
50
  import '../icon/icon__svg.js';
51
+ import 'core-js/modules/es.string.starts-with.js';
29
52
  import '../global/memoize.js';
53
+ import 'core-js/modules/es.map.js';
30
54
  import '../loader-inline/loader-inline.js';
31
55
  import '../global/data-tests.js';
56
+ import 'core-js/modules/es.array.reduce.js';
32
57
  import '../_helpers/loader-inline.js';
33
58
  import '../global/dom.js';
59
+ import 'core-js/modules/es.object.assign.js';
60
+ import 'core-js/modules/es.string.split.js';
61
+ import 'core-js/modules/es.set.js';
34
62
  import '../button/button.js';
35
63
  import '@jetbrains/icons/chevron-10px';
36
64
  import '../link/clickableLink.js';
@@ -42,11 +70,15 @@ import '../popup/popup.js';
42
70
  import '../global/schedule-raf.js';
43
71
  import '../shortcuts/shortcuts.js';
44
72
  import '../shortcuts/core.js';
73
+ import 'core-js/modules/es.array.slice.js';
74
+ import 'core-js/modules/es.array.splice.js';
75
+ import 'core-js/modules/es.array.find-index.js';
45
76
  import 'combokeys';
46
77
  import '../global/sniffer.js';
47
78
  import 'sniffr';
48
79
  import '../tab-trap/tab-trap.js';
49
80
  import '../popup/position.js';
81
+ import 'core-js/modules/es.array.sort.js';
50
82
  import '../popup/popup.consts.js';
51
83
  import '../alert/container.js';
52
84
  import '../link/link.js';
@@ -57,6 +89,7 @@ import '../storage/storage.js';
57
89
  import '../storage/storage__local.js';
58
90
  import '../storage/storage__fallback.js';
59
91
  import 'deep-equal';
92
+ import 'core-js/modules/es.string.search.js';
60
93
  import '../global/listeners.js';
61
94
  import '../global/promise-with-timeout.js';
62
95
  import '../i18n/i18n.js';
@@ -64,36 +97,63 @@ import './request-builder.js';
64
97
  import 'simply-uuid';
65
98
  import './background-flow.js';
66
99
 
67
- const parser = new AuthResponseParser();
68
- const authResponse = parser.getAuthResponseFromURL();
100
+ var parser = new AuthResponseParser();
101
+ var authResponse = parser.getAuthResponseFromURL();
69
102
  // eslint-disable-next-line consistent-this
70
- async function parseAndStoreResponse(clientId) {
71
- const storage = new AuthStorage({
72
- messagePrefix: `${clientId}-message-`,
73
- stateKeyPrefix: `${clientId}-states-`,
74
- tokenKey: `${clientId}-token`,
75
- userKey: `${clientId}-user-`
76
- });
77
- if (!authResponse) {
78
- return;
79
- }
80
- const {
81
- state: stateId,
82
- scope,
83
- expiresIn,
84
- accessToken
85
- } = authResponse;
86
- const newState = (await (stateId && this._storage?.getState(stateId))) || {};
87
- const scopes = scope ? scope.split(' ') : newState.scopes || [];
88
- const effectiveExpiresIn = expiresIn ? parseInt(expiresIn, 10) : DEFAULT_EXPIRES_TIMEOUT;
89
- const expires = TokenValidator._epoch() + effectiveExpiresIn;
90
- if (accessToken != null) {
91
- await storage.saveToken({
92
- accessToken,
93
- scopes,
94
- expires
95
- });
96
- }
103
+ function parseAndStoreResponse(_x) {
104
+ return _parseAndStoreResponse.apply(this, arguments);
105
+ }
106
+ function _parseAndStoreResponse() {
107
+ _parseAndStoreResponse = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(clientId) {
108
+ var _this$_storage;
109
+ var storage, stateId, scope, expiresIn, accessToken, newState, scopes, effectiveExpiresIn, expires;
110
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
111
+ while (1) switch (_context.prev = _context.next) {
112
+ case 0:
113
+ storage = new AuthStorage({
114
+ messagePrefix: "".concat(clientId, "-message-"),
115
+ stateKeyPrefix: "".concat(clientId, "-states-"),
116
+ tokenKey: "".concat(clientId, "-token"),
117
+ userKey: "".concat(clientId, "-user-")
118
+ });
119
+ if (authResponse) {
120
+ _context.next = 3;
121
+ break;
122
+ }
123
+ return _context.abrupt("return");
124
+ case 3:
125
+ stateId = authResponse.state, scope = authResponse.scope, expiresIn = authResponse.expiresIn, accessToken = authResponse.accessToken;
126
+ _context.next = 6;
127
+ return stateId && ((_this$_storage = this._storage) === null || _this$_storage === void 0 ? void 0 : _this$_storage.getState(stateId));
128
+ case 6:
129
+ _context.t0 = _context.sent;
130
+ if (_context.t0) {
131
+ _context.next = 9;
132
+ break;
133
+ }
134
+ _context.t0 = {};
135
+ case 9:
136
+ newState = _context.t0;
137
+ scopes = scope ? scope.split(' ') : newState.scopes || [];
138
+ effectiveExpiresIn = expiresIn ? parseInt(expiresIn, 10) : DEFAULT_EXPIRES_TIMEOUT;
139
+ expires = TokenValidator._epoch() + effectiveExpiresIn;
140
+ if (!(accessToken != null)) {
141
+ _context.next = 16;
142
+ break;
143
+ }
144
+ _context.next = 16;
145
+ return storage.saveToken({
146
+ accessToken: accessToken,
147
+ scopes: scopes,
148
+ expires: expires
149
+ });
150
+ case 16:
151
+ case "end":
152
+ return _context.stop();
153
+ }
154
+ }, _callee, this);
155
+ }));
156
+ return _parseAndStoreResponse.apply(this, arguments);
97
157
  }
98
158
 
99
159
  export { parseAndStoreResponse as default };
@@ -1,9 +1,15 @@
1
+ import { c as _defineProperty, _ as _createClass, b as _classCallCheck, e as _asyncToGenerator, f as _regeneratorRuntime } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.array.map.js';
3
+ import 'core-js/modules/es.object.assign.js';
1
4
  import uuid from 'simply-uuid';
2
5
  import { encodeURL } from '../global/url.js';
6
+ import 'core-js/modules/es.array.concat.js';
7
+ import 'core-js/modules/es.regexp.exec.js';
8
+ import 'core-js/modules/es.string.match.js';
9
+ import 'core-js/modules/es.array.index-of.js';
10
+ import 'core-js/modules/es.string.replace.js';
3
11
 
4
- class AuthRequestBuilder {
5
- config;
6
- storage;
12
+ var AuthRequestBuilder = /*#__PURE__*/function () {
7
13
  /**
8
14
  * @param {{
9
15
  * authorization: string,
@@ -14,54 +20,84 @@ class AuthRequestBuilder {
14
20
  * }} config
15
21
  * @param {AuthStorage} storage
16
22
  */
17
- constructor(config, storage) {
23
+ function AuthRequestBuilder(config, storage) {
24
+ _classCallCheck(this, AuthRequestBuilder);
25
+ _defineProperty(this, "config", void 0);
26
+ _defineProperty(this, "storage", void 0);
18
27
  this.config = config;
19
28
  this.storage = storage;
20
29
  }
21
30
  /**
22
31
  * @return {string} random string used for state
23
32
  */
24
- static _uuid = uuid.generate;
25
- /**
26
- * Save state and build an auth server redirect URL.
27
- *
28
- * @param {object=} extraParams additional query parameters for auth request
29
- * @param {object=} extraState additional state parameters to save
30
- * @return {Promise.<string>} promise that is resolved to authURL
31
- */
32
- async prepareAuthRequest(extraParams, extraState) {
33
- const stateId = AuthRequestBuilder._uuid();
34
- const scopes = this.config.scopes.map(scope => encodeURIComponent(scope));
35
- /* eslint-disable camelcase */
36
- const request = Object.assign({
37
- response_type: 'token',
38
- state: stateId,
39
- redirect_uri: this.config.redirectUri,
40
- request_credentials: this.config.requestCredentials,
41
- client_id: this.config.clientId,
42
- scope: scopes.join(' ')
43
- }, extraParams || {});
44
- /* eslint-enable camelcase */
45
- const authURL = encodeURL(this.config.authorization, request);
46
- const state = Object.assign({
47
- restoreLocation: window.location.href,
48
- scopes: this.config.scopes
49
- }, extraState || {});
50
- await this._saveState(stateId, state);
51
- return {
52
- url: authURL,
53
- stateId
54
- };
55
- }
56
- /**
57
- * @param {string} id
58
- * @param {StoredState} storedState
59
- * @return {Promise}
60
- * @private
61
- */
62
- _saveState(id, storedState) {
63
- return this.storage?.saveState(id, storedState);
64
- }
65
- }
33
+ _createClass(AuthRequestBuilder, [{
34
+ key: "prepareAuthRequest",
35
+ value:
36
+ /**
37
+ * Save state and build an auth server redirect URL.
38
+ *
39
+ * @param {object=} extraParams additional query parameters for auth request
40
+ * @param {object=} extraState additional state parameters to save
41
+ * @return {Promise.<string>} promise that is resolved to authURL
42
+ */
43
+ function () {
44
+ var _prepareAuthRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(extraParams, extraState) {
45
+ var stateId, scopes, request, authURL, state;
46
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
47
+ while (1) switch (_context.prev = _context.next) {
48
+ case 0:
49
+ stateId = AuthRequestBuilder._uuid();
50
+ scopes = this.config.scopes.map(function (scope) {
51
+ return encodeURIComponent(scope);
52
+ });
53
+ /* eslint-disable camelcase */
54
+ request = Object.assign({
55
+ response_type: 'token',
56
+ state: stateId,
57
+ redirect_uri: this.config.redirectUri,
58
+ request_credentials: this.config.requestCredentials,
59
+ client_id: this.config.clientId,
60
+ scope: scopes.join(' ')
61
+ }, extraParams || {});
62
+ /* eslint-enable camelcase */
63
+ authURL = encodeURL(this.config.authorization, request);
64
+ state = Object.assign({
65
+ restoreLocation: window.location.href,
66
+ scopes: this.config.scopes
67
+ }, extraState || {});
68
+ _context.next = 7;
69
+ return this._saveState(stateId, state);
70
+ case 7:
71
+ return _context.abrupt("return", {
72
+ url: authURL,
73
+ stateId: stateId
74
+ });
75
+ case 8:
76
+ case "end":
77
+ return _context.stop();
78
+ }
79
+ }, _callee, this);
80
+ }));
81
+ function prepareAuthRequest(_x, _x2) {
82
+ return _prepareAuthRequest.apply(this, arguments);
83
+ }
84
+ return prepareAuthRequest;
85
+ }()
86
+ /**
87
+ * @param {string} id
88
+ * @param {StoredState} storedState
89
+ * @return {Promise}
90
+ * @private
91
+ */
92
+ }, {
93
+ key: "_saveState",
94
+ value: function _saveState(id, storedState) {
95
+ var _this$storage;
96
+ return (_this$storage = this.storage) === null || _this$storage === void 0 ? void 0 : _this$storage.saveState(id, storedState);
97
+ }
98
+ }]);
99
+ return AuthRequestBuilder;
100
+ }();
101
+ _defineProperty(AuthRequestBuilder, "_uuid", uuid.generate);
66
102
 
67
103
  export { AuthRequestBuilder as default };