@jetbrains/ring-ui-built 6.1.1-beta.0 → 7.0.0-beta.10

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