@jetbrains/ring-ui 5.0.156 → 5.0.157

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 (295) hide show
  1. package/dist/_helpers/_rollupPluginBabelHelpers.js +642 -1
  2. package/dist/_helpers/anchor.js +6 -7
  3. package/dist/_helpers/button__classes.js +16 -28
  4. package/dist/_helpers/card.js +107 -95
  5. package/dist/_helpers/dialog__body-scroll-preventer.js +20 -11
  6. package/dist/_helpers/footer.js +29 -34
  7. package/dist/_helpers/query-assist__suggestions.js +91 -74
  8. package/dist/_helpers/select__filter.js +71 -48
  9. package/dist/_helpers/services-link.js +41 -29
  10. package/dist/_helpers/sidebar.js +103 -99
  11. package/dist/_helpers/theme.js +42 -35
  12. package/dist/_helpers/title.js +71 -57
  13. package/dist/alert/alert.js +199 -158
  14. package/dist/alert/container.js +43 -32
  15. package/dist/alert-service/alert-service.js +172 -104
  16. package/dist/analytics/analytics.js +92 -68
  17. package/dist/analytics/analytics__custom-plugin.js +84 -60
  18. package/dist/analytics/analytics__fus-plugin.js +28 -15
  19. package/dist/analytics/analytics__ga-plugin.js +60 -43
  20. package/dist/analytics/analytics__plugin-utils.js +28 -22
  21. package/dist/auth/auth.js +36 -4
  22. package/dist/auth/auth__core.js +1458 -732
  23. package/dist/auth/background-flow.js +129 -87
  24. package/dist/auth/down-notification.js +75 -30
  25. package/dist/auth/iframe-flow.js +136 -75
  26. package/dist/auth/landing.js +90 -30
  27. package/dist/auth/request-builder.js +82 -46
  28. package/dist/auth/response-parser.js +119 -86
  29. package/dist/auth/storage.js +333 -171
  30. package/dist/auth/token-validator.js +244 -137
  31. package/dist/auth/window-flow.js +136 -92
  32. package/dist/auth-dialog/auth-dialog.js +176 -114
  33. package/dist/auth-dialog-service/auth-dialog-service.js +32 -7
  34. package/dist/auth-ng/auth-ng.js +70 -34
  35. package/dist/auth-ng/auth-ng.mock.js +6 -6
  36. package/dist/autofocus-ng/autofocus-ng.js +23 -8
  37. package/dist/avatar/avatar-example-datauri.js +1 -23
  38. package/dist/avatar/avatar.js +155 -119
  39. package/dist/avatar/fallback-avatar.js +41 -22
  40. package/dist/avatar-editor-ng/avatar-editor-ng.js +56 -23
  41. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +1 -28
  42. package/dist/avatar-ng/avatar-ng.js +23 -1
  43. package/dist/badge/badge.js +43 -35
  44. package/dist/badge-ng/badge-ng.js +13 -1
  45. package/dist/breadcrumb-ng/breadcrumb-ng.js +15 -29
  46. package/dist/button/button.js +111 -87
  47. package/dist/button/button__classes.js +1 -0
  48. package/dist/button-group/button-group.js +35 -19
  49. package/dist/button-group/caption.js +22 -14
  50. package/dist/button-group-ng/button-group-ng.js +13 -7
  51. package/dist/button-ng/button-ng.js +154 -133
  52. package/dist/button-set/button-set.js +34 -20
  53. package/dist/button-set-ng/button-set-ng.js +2 -2
  54. package/dist/button-toolbar/button-toolbar.js +33 -19
  55. package/dist/button-toolbar-ng/button-toolbar-ng.js +5 -3
  56. package/dist/caret/caret.js +225 -188
  57. package/dist/checkbox/checkbox.js +104 -76
  58. package/dist/checkbox-ng/checkbox-ng.js +18 -27
  59. package/dist/clipboard/clipboard-fallback.js +10 -10
  60. package/dist/clipboard/clipboard.js +131 -34
  61. package/dist/code/code.js +168 -92
  62. package/dist/compiler-ng/compiler-ng.js +18 -15
  63. package/dist/confirm/confirm.js +108 -66
  64. package/dist/confirm-ng/confirm-ng.js +33 -4
  65. package/dist/confirm-service/confirm-service.js +66 -42
  66. package/dist/content-layout/content-layout.js +64 -43
  67. package/dist/content-layout/sidebar.js +1 -0
  68. package/dist/contenteditable/contenteditable.js +61 -50
  69. package/dist/control-label/control-label.js +11 -15
  70. package/dist/data-list/data-list.js +184 -128
  71. package/dist/data-list/data-list.mock.js +11 -2
  72. package/dist/data-list/item.js +174 -143
  73. package/dist/data-list/selection.js +139 -76
  74. package/dist/data-list/title.js +13 -1
  75. package/dist/data-list-ng/data-list-ng.js +31 -1
  76. package/dist/date-picker/consts.js +18 -15
  77. package/dist/date-picker/date-input.js +147 -115
  78. package/dist/date-picker/date-picker.js +285 -228
  79. package/dist/date-picker/date-popup.js +397 -356
  80. package/dist/date-picker/day.js +98 -84
  81. package/dist/date-picker/month-names.js +64 -43
  82. package/dist/date-picker/month-slider.js +74 -51
  83. package/dist/date-picker/month.js +21 -15
  84. package/dist/date-picker/months.js +48 -43
  85. package/dist/date-picker/weekdays.js +18 -12
  86. package/dist/date-picker/years.js +109 -84
  87. package/dist/dialog/dialog.js +189 -141
  88. package/dist/dialog/dialog__body-scroll-preventer.js +5 -0
  89. package/dist/dialog-ng/dialog-ng.js +401 -287
  90. package/dist/dialog-ng/dialog-ng__template.js +1 -70
  91. package/dist/docked-panel-ng/docked-panel-ng.js +33 -18
  92. package/dist/dropdown/anchor.js +10 -0
  93. package/dist/dropdown/dropdown.js +214 -182
  94. package/dist/dropdown-menu/dropdown-menu.js +102 -72
  95. package/dist/editable-heading/editable-heading.js +100 -58
  96. package/dist/error-bubble/error-bubble.js +64 -31
  97. package/dist/error-message/error-message.js +61 -38
  98. package/dist/error-message-ng/error-message-ng.js +11 -22
  99. package/dist/footer/footer.js +11 -1
  100. package/dist/footer-ng/footer-ng.js +64 -36
  101. package/dist/form-ng/form-ng.js +66 -56
  102. package/dist/global/angular-component-factory.js +76 -53
  103. package/dist/global/compose.js +10 -1
  104. package/dist/global/composeRefs.js +12 -7
  105. package/dist/global/controls-height.js +2 -2
  106. package/dist/global/create-stateful-context.js +19 -19
  107. package/dist/global/data-tests.js +15 -7
  108. package/dist/global/dom.js +95 -53
  109. package/dist/global/focus-sensor-hoc.js +134 -122
  110. package/dist/global/fuzzy-highlight.js +41 -27
  111. package/dist/global/get-event-key.js +8 -8
  112. package/dist/global/get-uid.js +8 -4
  113. package/dist/global/inject-styles.js +15 -10
  114. package/dist/global/linear-function.js +2 -2
  115. package/dist/global/listeners.js +53 -27
  116. package/dist/global/memoize.js +13 -6
  117. package/dist/global/normalize-indent.js +51 -19
  118. package/dist/global/promise-with-timeout.js +8 -6
  119. package/dist/global/prop-types.js +5 -3
  120. package/dist/global/react-dom-renderer.js +47 -28
  121. package/dist/global/react-render-adapter.js +19 -13
  122. package/dist/global/rerender-hoc.js +41 -16
  123. package/dist/global/ring-angular-component.js +20 -10
  124. package/dist/global/schedule-raf.js +6 -5
  125. package/dist/global/sniffer.js +1 -1
  126. package/dist/global/theme.js +24 -0
  127. package/dist/global/trivial-template-tag.js +10 -3
  128. package/dist/global/typescript-utils.js +6 -2
  129. package/dist/global/url.js +27 -21
  130. package/dist/global/use-event-callback.js +4 -6
  131. package/dist/grid/col.js +55 -35
  132. package/dist/grid/grid.js +36 -17
  133. package/dist/grid/row.js +48 -35
  134. package/dist/group/group.js +27 -17
  135. package/dist/group-ng/group-ng.js +2 -2
  136. package/dist/header/header.js +80 -33
  137. package/dist/header/logo.js +39 -20
  138. package/dist/header/profile.js +188 -150
  139. package/dist/header/services-link.js +9 -0
  140. package/dist/header/services.js +118 -73
  141. package/dist/header/smart-profile.js +207 -111
  142. package/dist/header/smart-services.js +115 -62
  143. package/dist/header/tray-icon.js +38 -21
  144. package/dist/header/tray.js +34 -21
  145. package/dist/heading/heading.js +25 -26
  146. package/dist/heading-ng/heading-ng.js +11 -1
  147. package/dist/http/http.js +368 -215
  148. package/dist/http/http.mock.js +104 -49
  149. package/dist/hub-source/hub-source.js +191 -83
  150. package/dist/hub-source/hub-source__user.js +45 -11
  151. package/dist/hub-source/hub-source__users-groups.js +67 -37
  152. package/dist/i18n/i18n-context.js +14 -10
  153. package/dist/i18n/i18n.js +11 -7
  154. package/dist/icon/icon.js +94 -76
  155. package/dist/icon/icon__svg.js +31 -24
  156. package/dist/icon/index.js +9 -0
  157. package/dist/icon-ng/icon-ng.js +27 -15
  158. package/dist/input/input.js +184 -145
  159. package/dist/input-ng/input-ng.js +96 -118
  160. package/dist/island/adaptive-island-hoc.js +45 -30
  161. package/dist/island/content.js +130 -115
  162. package/dist/island/header.js +69 -56
  163. package/dist/island/island.js +40 -28
  164. package/dist/island-legacy/content-legacy.js +27 -17
  165. package/dist/island-legacy/header-legacy.js +29 -19
  166. package/dist/island-legacy/island-legacy.js +27 -17
  167. package/dist/island-ng/island-content-ng.js +17 -26
  168. package/dist/island-ng/island-header-ng.js +9 -12
  169. package/dist/island-ng/island-ng-class-fixer.js +3 -0
  170. package/dist/island-ng/island-ng.js +6 -10
  171. package/dist/link/clickableLink.js +61 -44
  172. package/dist/link/link.js +85 -74
  173. package/dist/link-ng/link-ng.js +3 -5
  174. package/dist/list/consts.js +1 -1
  175. package/dist/list/list.js +696 -602
  176. package/dist/list/list__custom.js +61 -44
  177. package/dist/list/list__hint.js +21 -10
  178. package/dist/list/list__item.js +167 -129
  179. package/dist/list/list__link.js +54 -37
  180. package/dist/list/list__separator.js +24 -14
  181. package/dist/list/list__title.js +32 -22
  182. package/dist/list/list__users-groups-source.js +131 -54
  183. package/dist/loader/loader.js +78 -43
  184. package/dist/loader/loader__core.js +257 -189
  185. package/dist/loader-inline/loader-inline.js +37 -23
  186. package/dist/loader-inline-ng/loader-inline-ng.js +2 -2
  187. package/dist/loader-ng/loader-ng.js +46 -19
  188. package/dist/loader-screen/loader-screen.js +48 -25
  189. package/dist/loader-screen-ng/loader-screen-ng.js +46 -30
  190. package/dist/login-dialog/login-dialog.js +162 -111
  191. package/dist/login-dialog/service.js +35 -7
  192. package/dist/markdown/code.js +31 -9
  193. package/dist/markdown/heading.js +3 -5
  194. package/dist/markdown/link.js +13 -6
  195. package/dist/markdown/markdown.js +66 -33
  196. package/dist/message/message.js +157 -125
  197. package/dist/message-bundle-ng/message-bundle-ng.js +128 -44
  198. package/dist/old-browsers-message/old-browsers-message.js +19 -11
  199. package/dist/old-browsers-message/old-browsers-message__stop.js +8 -0
  200. package/dist/old-browsers-message/white-list.js +16 -9
  201. package/dist/pager/pager.js +275 -210
  202. package/dist/pager-ng/pager-ng.js +36 -1
  203. package/dist/panel/panel.js +27 -17
  204. package/dist/panel-ng/panel-ng.js +14 -1
  205. package/dist/permissions/permissions.js +173 -127
  206. package/dist/permissions/permissions__cache.js +225 -194
  207. package/dist/permissions-ng/permissions-ng.js +86 -35
  208. package/dist/place-under-ng/place-under-ng.js +68 -45
  209. package/dist/popup/popup.consts.js +1 -1
  210. package/dist/popup/popup.js +342 -280
  211. package/dist/popup/popup.target.js +8 -9
  212. package/dist/popup/position.js +153 -153
  213. package/dist/popup-menu/popup-menu.js +86 -44
  214. package/dist/progress-bar/progress-bar.js +97 -80
  215. package/dist/progress-bar-ng/progress-bar-ng.js +11 -1
  216. package/dist/promised-click-ng/promised-click-ng.js +92 -58
  217. package/dist/proxy-attrs/proxy-attrs.js +18 -9
  218. package/dist/query-assist/query-assist.js +903 -832
  219. package/dist/query-assist/query-assist__suggestions.js +33 -1
  220. package/dist/query-assist-ng/query-assist-ng.js +38 -1
  221. package/dist/radio/radio.js +36 -19
  222. package/dist/radio/radio__item.js +71 -52
  223. package/dist/radio-ng/radio-ng.js +14 -25
  224. package/dist/save-field-ng/save-field-ng.js +86 -52
  225. package/dist/save-field-ng/save-field-ng__template.js +1 -32
  226. package/dist/select/select.js +937 -835
  227. package/dist/select/select__filter.js +33 -0
  228. package/dist/select/select__popup.js +472 -359
  229. package/dist/select-ng/select-ng.js +125 -74
  230. package/dist/select-ng/select-ng__lazy.js +101 -50
  231. package/dist/select-ng/select-ng__options.js +107 -81
  232. package/dist/shortcuts/core.js +218 -166
  233. package/dist/shortcuts/shortcut-title.js +11 -6
  234. package/dist/shortcuts/shortcuts-hoc.js +47 -19
  235. package/dist/shortcuts/shortcuts.js +77 -50
  236. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +104 -53
  237. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +1 -48
  238. package/dist/shortcuts-ng/shortcuts-ng.js +86 -51
  239. package/dist/sidebar-ng/sidebar-ng.js +53 -22
  240. package/dist/sidebar-ng/sidebar-ng__button-template.js +1 -18
  241. package/dist/sidebar-ng/sidebar-ng__template.js +1 -10
  242. package/dist/storage/storage.js +35 -4
  243. package/dist/storage/storage__fallback.js +224 -149
  244. package/dist/storage/storage__local.js +156 -90
  245. package/dist/tab-trap/tab-trap.js +157 -122
  246. package/dist/table/cell.js +28 -14
  247. package/dist/table/disable-hover-hoc.js +53 -33
  248. package/dist/table/header-cell.js +87 -64
  249. package/dist/table/header.js +126 -98
  250. package/dist/table/multitable.js +127 -107
  251. package/dist/table/row-with-focus-sensor.js +73 -25
  252. package/dist/table/row.js +208 -170
  253. package/dist/table/selection-adapter.js +3 -1
  254. package/dist/table/selection-shortcuts-hoc.js +184 -181
  255. package/dist/table/selection.js +228 -156
  256. package/dist/table/smart-table.js +93 -51
  257. package/dist/table/table.js +348 -281
  258. package/dist/table-legacy-ng/table-legacy-ng.js +117 -102
  259. package/dist/table-legacy-ng/table-legacy-ng__pager.js +42 -10
  260. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +92 -69
  261. package/dist/table-legacy-ng/table-legacy-ng__selection.js +169 -119
  262. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +36 -21
  263. package/dist/table-ng/smart-table-ng.js +31 -1
  264. package/dist/table-ng/table-ng.js +31 -1
  265. package/dist/tabs/collapsible-more.js +87 -50
  266. package/dist/tabs/collapsible-tab.js +45 -38
  267. package/dist/tabs/collapsible-tabs.js +161 -94
  268. package/dist/tabs/custom-item.js +2 -4
  269. package/dist/tabs/dumb-tabs.js +122 -75
  270. package/dist/tabs/smart-tabs.js +75 -29
  271. package/dist/tabs/tab-link.js +29 -19
  272. package/dist/tabs/tab.js +33 -19
  273. package/dist/tabs/tabs.js +35 -0
  274. package/dist/tabs-ng/tabs-ng.js +38 -24
  275. package/dist/tabs-ng/tabs-ng__template.js +1 -38
  276. package/dist/tag/tag.js +170 -133
  277. package/dist/tags-input/tags-input.js +428 -327
  278. package/dist/tags-input-ng/tags-input-ng.js +37 -1
  279. package/dist/tags-list/tags-list.js +80 -56
  280. package/dist/template-ng/template-ng.js +50 -39
  281. package/dist/text/text.js +38 -28
  282. package/dist/title-ng/title-ng.js +28 -23
  283. package/dist/toggle/toggle.js +72 -56
  284. package/dist/toggle-ng/toggle-ng.js +14 -1
  285. package/dist/tooltip/tooltip.js +192 -146
  286. package/dist/tooltip-ng/tooltip-ng.js +51 -25
  287. package/dist/user-agreement/service.js +374 -227
  288. package/dist/user-agreement/toolbox.eula.js +1 -160
  289. package/dist/user-agreement/user-agreement.js +128 -86
  290. package/dist/user-card/card.js +32 -0
  291. package/dist/user-card/smart-user-card-tooltip.js +116 -51
  292. package/dist/user-card/tooltip.js +90 -48
  293. package/dist/user-card/user-card.js +32 -0
  294. package/dist/user-card-ng/user-card-ng.js +34 -2
  295. package/package.json +2 -2
@@ -1,19 +1,35 @@
1
+ import { c as _defineProperty, j as _inherits, k as _createSuper, b as _classCallCheck, m as _assertThisInitialized, _ as _createClass, a as _objectSpread2 } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.object.to-string.js';
3
+ import 'core-js/modules/web.dom-collections.for-each.js';
4
+ import 'core-js/modules/es.object.keys.js';
5
+ import 'core-js/modules/es.array.index-of.js';
6
+ import 'core-js/modules/es.regexp.exec.js';
7
+ import 'core-js/modules/es.string.replace.js';
8
+ import 'core-js/modules/es.regexp.to-string.js';
1
9
  import ExtendableError from 'es6-error';
2
10
  import { parseQueryString } from '../global/url.js';
11
+ import 'core-js/modules/es.array.concat.js';
12
+ import 'core-js/modules/es.string.match.js';
3
13
 
4
- class AuthError extends ExtendableError {
5
- code;
6
- uri;
7
- stateId;
14
+ var AuthError = /*#__PURE__*/function (_ExtendableError) {
15
+ _inherits(AuthError, _ExtendableError);
16
+ var _super = _createSuper(AuthError);
8
17
  // Supports weird IE 11 failing test issue
9
- constructor() {
10
- let authResponse = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
11
- super(authResponse.errorDescription);
12
- this.code = authResponse.error;
13
- this.uri = authResponse.errorUri;
14
- this.stateId = authResponse.state;
18
+ function AuthError() {
19
+ var _this;
20
+ var authResponse = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
21
+ _classCallCheck(this, AuthError);
22
+ _this = _super.call(this, authResponse.errorDescription);
23
+ _defineProperty(_assertThisInitialized(_this), "code", void 0);
24
+ _defineProperty(_assertThisInitialized(_this), "uri", void 0);
25
+ _defineProperty(_assertThisInitialized(_this), "stateId", void 0);
26
+ _this.code = authResponse.error;
27
+ _this.uri = authResponse.errorUri;
28
+ _this.stateId = authResponse.state;
29
+ return _this;
15
30
  }
16
- }
31
+ return _createClass(AuthError);
32
+ }(ExtendableError);
17
33
  /**
18
34
  * @typedef {Object} AuthResponse
19
35
  * @property {?string} accessToken
@@ -23,84 +39,101 @@ class AuthError extends ExtendableError {
23
39
  * @property {?string} scope
24
40
  * @property {?string} error
25
41
  */
26
- class AuthResponseParser {
27
- _authResponse;
28
- constructor() {
42
+ var AuthResponseParser = /*#__PURE__*/function () {
43
+ function AuthResponseParser() {
44
+ _classCallCheck(this, AuthResponseParser);
45
+ _defineProperty(this, "_authResponse", void 0);
29
46
  this._authResponse = this.readAuthResponseFromURL();
30
47
  }
31
- static AuthError = AuthError;
32
- static convertKey(key) {
33
- return key.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
34
- }
35
- /**
36
- * Check if the hash contains an access token.
37
- * If it does, return auth response. Otherwise return undefined.
38
- * Always clears the hash part of the URL.
39
- *
40
- * @throws {Error} if the auth server returned an error
41
- * @return {?AuthResponse}
42
- */
43
- getAuthResponseFromURL() {
44
- return this.validateAuthResponse(this._authResponse);
45
- }
46
- /**
47
- * Validates given authResponse.
48
- * If it contains a token - returns the token, if an error is found - throws the error,
49
- * otherwise - null
50
- * Always clears the hash part of the URL.
51
- *
52
- * @param authResponse {AuthResponse} parsed authResponse
53
- * @throws {Error} if the auth server returned an error
54
- * @return {?AuthResponse}
55
- */
56
- validateAuthResponse(authResponse) {
57
- // Check for errors
58
- if (authResponse.error) {
59
- throw new AuthResponseParser.AuthError(authResponse);
48
+ _createClass(AuthResponseParser, [{
49
+ key: "getAuthResponseFromURL",
50
+ value:
51
+ /**
52
+ * Check if the hash contains an access token.
53
+ * If it does, return auth response. Otherwise return undefined.
54
+ * Always clears the hash part of the URL.
55
+ *
56
+ * @throws {Error} if the auth server returned an error
57
+ * @return {?AuthResponse}
58
+ */
59
+ function getAuthResponseFromURL() {
60
+ return this.validateAuthResponse(this._authResponse);
60
61
  }
61
- // If there is no token in the hash
62
- if (!authResponse.accessToken) {
63
- return null;
64
- }
65
- return {
66
- ...authResponse,
67
- accessToken: authResponse.accessToken
68
- };
69
- }
70
- /**
71
- * Reads the current accessToken from the URL.
72
- * Doesn't modify URL
73
- *
74
- * @return {AuthResponse}
75
- */
76
- readAuthResponseFromURL() {
77
- const authResponse = {};
78
- const rawAuthResponse = parseQueryString(this.getHash());
79
- Object.keys(rawAuthResponse).forEach(key => {
80
- if (key.indexOf('_') !== -1) {
81
- authResponse[AuthResponseParser.convertKey(key)] = rawAuthResponse[key];
82
- return;
62
+ /**
63
+ * Validates given authResponse.
64
+ * If it contains a token - returns the token, if an error is found - throws the error,
65
+ * otherwise - null
66
+ * Always clears the hash part of the URL.
67
+ *
68
+ * @param authResponse {AuthResponse} parsed authResponse
69
+ * @throws {Error} if the auth server returned an error
70
+ * @return {?AuthResponse}
71
+ */
72
+ }, {
73
+ key: "validateAuthResponse",
74
+ value: function validateAuthResponse(authResponse) {
75
+ // Check for errors
76
+ if (authResponse.error) {
77
+ throw new AuthResponseParser.AuthError(authResponse);
83
78
  }
84
- authResponse[key] = rawAuthResponse[key];
85
- });
86
- return authResponse;
87
- }
88
- /**
89
- * @return {string} part of the URL after # sign.
90
- * @private
91
- */
92
- getHash() {
93
- // Because of stupid Firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=483304
94
- const location = this.getLocation();
95
- return location && location.replace(/^[^#]*#?/, '');
96
- }
97
- /**
98
- * Current page location.
99
- * @return {string}
100
- */
101
- getLocation() {
102
- return window.location.toString();
103
- }
104
- }
79
+ // If there is no token in the hash
80
+ if (!authResponse.accessToken) {
81
+ return null;
82
+ }
83
+ return _objectSpread2(_objectSpread2({}, authResponse), {}, {
84
+ accessToken: authResponse.accessToken
85
+ });
86
+ }
87
+ /**
88
+ * Reads the current accessToken from the URL.
89
+ * Doesn't modify URL
90
+ *
91
+ * @return {AuthResponse}
92
+ */
93
+ }, {
94
+ key: "readAuthResponseFromURL",
95
+ value: function readAuthResponseFromURL() {
96
+ var authResponse = {};
97
+ var rawAuthResponse = parseQueryString(this.getHash());
98
+ Object.keys(rawAuthResponse).forEach(function (key) {
99
+ if (key.indexOf('_') !== -1) {
100
+ authResponse[AuthResponseParser.convertKey(key)] = rawAuthResponse[key];
101
+ return;
102
+ }
103
+ authResponse[key] = rawAuthResponse[key];
104
+ });
105
+ return authResponse;
106
+ }
107
+ /**
108
+ * @return {string} part of the URL after # sign.
109
+ * @private
110
+ */
111
+ }, {
112
+ key: "getHash",
113
+ value: function getHash() {
114
+ // Because of stupid Firefox bug — https://bugzilla.mozilla.org/show_bug.cgi?id=483304
115
+ var location = this.getLocation();
116
+ return location && location.replace(/^[^#]*#?/, '');
117
+ }
118
+ /**
119
+ * Current page location.
120
+ * @return {string}
121
+ */
122
+ }, {
123
+ key: "getLocation",
124
+ value: function getLocation() {
125
+ return window.location.toString();
126
+ }
127
+ }], [{
128
+ key: "convertKey",
129
+ value: function convertKey(key) {
130
+ return key.replace(/_([a-z])/g, function (_, letter) {
131
+ return letter.toUpperCase();
132
+ });
133
+ }
134
+ }]);
135
+ return AuthResponseParser;
136
+ }();
137
+ _defineProperty(AuthResponseParser, "AuthError", AuthError);
105
138
 
106
139
  export { AuthError, AuthResponseParser as default };