@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,15 +1,10 @@
1
- import { _ as _defineProperty, b as _createClass, e as _classCallCheck, g as _asyncToGenerator, h 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
+ import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
4
2
  import uuid from 'simply-uuid';
5
3
  import { encodeURL } from '../global/url.js';
6
- import 'core-js/modules/es.array.concat.js';
7
- import 'core-js/modules/es.array.index-of.js';
8
4
  import 'core-js/modules/es.regexp.exec.js';
9
- import 'core-js/modules/es.string.match.js';
10
5
  import 'core-js/modules/es.string.replace.js';
11
6
 
12
- var AuthRequestBuilder = /*#__PURE__*/function () {
7
+ class AuthRequestBuilder {
13
8
  /**
14
9
  * @param {{
15
10
  * authorization: string,
@@ -20,8 +15,7 @@ var AuthRequestBuilder = /*#__PURE__*/function () {
20
15
  * }} config
21
16
  * @param {AuthStorage} storage
22
17
  */
23
- function AuthRequestBuilder(config, storage) {
24
- _classCallCheck(this, AuthRequestBuilder);
18
+ constructor(config, storage) {
25
19
  _defineProperty(this, "config", void 0);
26
20
  _defineProperty(this, "storage", void 0);
27
21
  this.config = config;
@@ -30,74 +24,49 @@ var AuthRequestBuilder = /*#__PURE__*/function () {
30
24
  /**
31
25
  * @return {string} random string used for state
32
26
  */
33
- return _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
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
- }, {
94
- key: "_saveState",
95
- value: function _saveState(id, storedState) {
96
- var _this$storage;
97
- return (_this$storage = this.storage) === null || _this$storage === void 0 ? void 0 : _this$storage.saveState(id, storedState);
98
- }
99
- }]);
100
- }();
27
+
28
+ /**
29
+ * Save state and build an auth server redirect URL.
30
+ *
31
+ * @param {object=} extraParams additional query parameters for auth request
32
+ * @param {object=} extraState additional state parameters to save
33
+ * @return {Promise.<string>} promise that is resolved to authURL
34
+ */
35
+ async prepareAuthRequest(extraParams, extraState) {
36
+ const stateId = AuthRequestBuilder._uuid();
37
+ const scopes = this.config.scopes.map(scope => encodeURIComponent(scope));
38
+ /* eslint-disable camelcase */
39
+ const request = Object.assign({
40
+ response_type: 'token',
41
+ state: stateId,
42
+ redirect_uri: this.config.redirectUri,
43
+ request_credentials: this.config.requestCredentials,
44
+ client_id: this.config.clientId,
45
+ scope: scopes.join(' ')
46
+ }, extraParams || {});
47
+ /* eslint-enable camelcase */
48
+ const authURL = encodeURL(this.config.authorization, request);
49
+ const state = Object.assign({
50
+ restoreLocation: window.location.href,
51
+ scopes: this.config.scopes
52
+ }, extraState || {});
53
+ await this._saveState(stateId, state);
54
+ return {
55
+ url: authURL,
56
+ stateId
57
+ };
58
+ }
59
+ /**
60
+ * @param {string} id
61
+ * @param {StoredState} storedState
62
+ * @return {Promise}
63
+ * @private
64
+ */
65
+ _saveState(id, storedState) {
66
+ var _this$storage;
67
+ return (_this$storage = this.storage) === null || _this$storage === void 0 ? void 0 : _this$storage.saveState(id, storedState);
68
+ }
69
+ }
101
70
  _defineProperty(AuthRequestBuilder, "_uuid", uuid.generate);
102
71
 
103
72
  export { AuthRequestBuilder as default };
@@ -1,33 +1,22 @@
1
- import { _ as _defineProperty, a as _inherits, b as _createClass, d as _objectSpread2, e as _classCallCheck, f as _callSuper } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.index-of.js';
3
- import 'core-js/modules/es.object.to-string.js';
1
+ import { _ as _defineProperty, b as _objectSpread2 } from '../_helpers/_rollupPluginBabelHelpers.js';
4
2
  import 'core-js/modules/es.regexp.exec.js';
5
- import 'core-js/modules/es.regexp.to-string.js';
6
3
  import 'core-js/modules/es.string.replace.js';
7
- import 'core-js/modules/web.dom-collections.for-each.js';
8
4
  import ExtendableError from 'es6-error';
9
5
  import { parseQueryString } from '../global/url.js';
10
- import 'core-js/modules/es.array.concat.js';
11
- import 'core-js/modules/es.string.match.js';
12
6
 
13
- var AuthError = /*#__PURE__*/function (_ExtendableError) {
7
+ class AuthError extends ExtendableError {
14
8
  // Supports weird IE 11 failing test issue
15
- function AuthError() {
16
- var _this;
17
- var authResponse = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
18
- _classCallCheck(this, AuthError);
19
- _this = _callSuper(this, AuthError, [authResponse.errorDescription]);
20
- _defineProperty(_this, "code", void 0);
21
- _defineProperty(_this, "uri", void 0);
22
- _defineProperty(_this, "stateId", void 0);
23
- _this.code = authResponse.error;
24
- _this.uri = authResponse.errorUri;
25
- _this.stateId = authResponse.state;
26
- return _this;
9
+ constructor() {
10
+ let authResponse = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
11
+ super(authResponse.errorDescription);
12
+ _defineProperty(this, "code", void 0);
13
+ _defineProperty(this, "uri", void 0);
14
+ _defineProperty(this, "stateId", void 0);
15
+ this.code = authResponse.error;
16
+ this.uri = authResponse.errorUri;
17
+ this.stateId = authResponse.state;
27
18
  }
28
- _inherits(AuthError, _ExtendableError);
29
- return _createClass(AuthError);
30
- }(ExtendableError);
19
+ }
31
20
  /**
32
21
  * @typedef {Object} AuthResponse
33
22
  * @property {?string} accessToken
@@ -37,100 +26,83 @@ var AuthError = /*#__PURE__*/function (_ExtendableError) {
37
26
  * @property {?string} scope
38
27
  * @property {?string} error
39
28
  */
40
- var AuthResponseParser = /*#__PURE__*/function () {
41
- function AuthResponseParser() {
42
- _classCallCheck(this, AuthResponseParser);
29
+ class AuthResponseParser {
30
+ constructor() {
43
31
  _defineProperty(this, "_authResponse", void 0);
44
32
  this._authResponse = this.readAuthResponseFromURL();
45
33
  }
46
- return _createClass(AuthResponseParser, [{
47
- key: "getAuthResponseFromURL",
48
- value:
49
- /**
50
- * Check if the hash contains an access token.
51
- * If it does, return auth response. Otherwise return undefined.
52
- * Always clears the hash part of the URL.
53
- *
54
- * @throws {Error} if the auth server returned an error
55
- * @return {?AuthResponse}
56
- */
57
- function getAuthResponseFromURL() {
58
- return this.validateAuthResponse(this._authResponse);
59
- }
60
- /**
61
- * Validates given authResponse.
62
- * If it contains a token - returns the token, if an error is found - throws the error,
63
- * otherwise - null
64
- * Always clears the hash part of the URL.
65
- *
66
- * @param authResponse {AuthResponse} parsed authResponse
67
- * @throws {Error} if the auth server returned an error
68
- * @return {?AuthResponse}
69
- */
70
- }, {
71
- key: "validateAuthResponse",
72
- value: function validateAuthResponse(authResponse) {
73
- // Check for errors
74
- if (authResponse.error) {
75
- throw new AuthResponseParser.AuthError(authResponse);
76
- }
77
- // If there is no token in the hash
78
- if (!authResponse.accessToken) {
79
- return null;
80
- }
81
- return _objectSpread2(_objectSpread2({}, authResponse), {}, {
82
- accessToken: authResponse.accessToken
83
- });
84
- }
85
- /**
86
- * Reads the current accessToken from the URL.
87
- * Doesn't modify URL
88
- *
89
- * @return {AuthResponse}
90
- */
91
- }, {
92
- key: "readAuthResponseFromURL",
93
- value: function readAuthResponseFromURL() {
94
- var authResponse = {};
95
- var rawAuthResponse = parseQueryString(this.getHash());
96
- Object.keys(rawAuthResponse).forEach(function (key) {
97
- if (key.indexOf('_') !== -1) {
98
- authResponse[AuthResponseParser.convertKey(key)] = rawAuthResponse[key];
99
- return;
100
- }
101
- authResponse[key] = rawAuthResponse[key];
102
- });
103
- return authResponse;
104
- }
105
- /**
106
- * @return {string} part of the URL after # sign.
107
- * @private
108
- */
109
- }, {
110
- key: "getHash",
111
- value: function getHash() {
112
- // Because of stupid Firefox bug — https://bugzilla.mozilla.org/show_bug.cgi?id=483304
113
- var location = this.getLocation();
114
- return location && location.replace(/^[^#]*#?/, '');
115
- }
116
- /**
117
- * Current page location.
118
- * @return {string}
119
- */
120
- }, {
121
- key: "getLocation",
122
- value: function getLocation() {
123
- return window.location.toString();
34
+ static convertKey(key) {
35
+ return key.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
36
+ }
37
+ /**
38
+ * Check if the hash contains an access token.
39
+ * If it does, return auth response. Otherwise return undefined.
40
+ * Always clears the hash part of the URL.
41
+ *
42
+ * @throws {Error} if the auth server returned an error
43
+ * @return {?AuthResponse}
44
+ */
45
+ getAuthResponseFromURL() {
46
+ return this.validateAuthResponse(this._authResponse);
47
+ }
48
+ /**
49
+ * Validates given authResponse.
50
+ * If it contains a token - returns the token, if an error is found - throws the error,
51
+ * otherwise - null
52
+ * Always clears the hash part of the URL.
53
+ *
54
+ * @param authResponse {AuthResponse} parsed authResponse
55
+ * @throws {Error} if the auth server returned an error
56
+ * @return {?AuthResponse}
57
+ */
58
+ validateAuthResponse(authResponse) {
59
+ // Check for errors
60
+ if (authResponse.error) {
61
+ throw new AuthResponseParser.AuthError(authResponse);
124
62
  }
125
- }], [{
126
- key: "convertKey",
127
- value: function convertKey(key) {
128
- return key.replace(/_([a-z])/g, function (_, letter) {
129
- return letter.toUpperCase();
130
- });
63
+ // If there is no token in the hash
64
+ if (!authResponse.accessToken) {
65
+ return null;
131
66
  }
132
- }]);
133
- }();
67
+ return _objectSpread2(_objectSpread2({}, authResponse), {}, {
68
+ accessToken: authResponse.accessToken
69
+ });
70
+ }
71
+ /**
72
+ * Reads the current accessToken from the URL.
73
+ * Doesn't modify URL
74
+ *
75
+ * @return {AuthResponse}
76
+ */
77
+ readAuthResponseFromURL() {
78
+ const authResponse = {};
79
+ const rawAuthResponse = parseQueryString(this.getHash());
80
+ Object.keys(rawAuthResponse).forEach(key => {
81
+ if (key.indexOf('_') !== -1) {
82
+ authResponse[AuthResponseParser.convertKey(key)] = rawAuthResponse[key];
83
+ return;
84
+ }
85
+ authResponse[key] = rawAuthResponse[key];
86
+ });
87
+ return authResponse;
88
+ }
89
+ /**
90
+ * @return {string} part of the URL after # sign.
91
+ * @private
92
+ */
93
+ getHash() {
94
+ // Because of stupid Firefox bug — https://bugzilla.mozilla.org/show_bug.cgi?id=483304
95
+ const location = this.getLocation();
96
+ return location && location.replace(/^[^#]*#?/, '');
97
+ }
98
+ /**
99
+ * Current page location.
100
+ * @return {string}
101
+ */
102
+ getLocation() {
103
+ return window.location.toString();
104
+ }
105
+ }
134
106
  _defineProperty(AuthResponseParser, "AuthError", AuthError);
135
107
 
136
108
  export { AuthError, AuthResponseParser as default };