@jetbrains/ring-ui-built 7.0.0-beta.2 → 7.0.0-beta.3

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 (236) hide show
  1. package/components/_helpers/_rollupPluginBabelHelpers.js +1 -504
  2. package/components/_helpers/anchor.js +7 -5
  3. package/components/_helpers/button__classes.js +15 -13
  4. package/components/_helpers/caption.js +11 -17
  5. package/components/_helpers/card.js +92 -96
  6. package/components/_helpers/dialog__body-scroll-preventer.js +10 -17
  7. package/components/_helpers/icon__svg.js +27 -23
  8. package/components/_helpers/input.js +150 -171
  9. package/components/_helpers/query-assist__suggestions.js +78 -93
  10. package/components/_helpers/select__filter.js +56 -67
  11. package/components/_helpers/services-link.js +23 -29
  12. package/components/_helpers/sidebar.js +91 -93
  13. package/components/_helpers/tab-link.js +8 -6
  14. package/components/_helpers/theme.js +41 -50
  15. package/components/_helpers/title.js +59 -69
  16. package/components/alert/alert.js +112 -156
  17. package/components/alert/container.js +32 -39
  18. package/components/alert-service/alert-service.js +104 -161
  19. package/components/analytics/analytics.js +12 -20
  20. package/components/analytics/analytics__custom-plugin.js +52 -68
  21. package/components/auth/auth.js +2 -27
  22. package/components/auth/auth__core.d.ts +1 -1
  23. package/components/auth/auth__core.js +742 -1428
  24. package/components/auth/background-flow.js +84 -121
  25. package/components/auth/down-notification.js +31 -69
  26. package/components/auth/iframe-flow.js +70 -123
  27. package/components/auth/request-builder.js +46 -77
  28. package/components/auth/response-parser.js +84 -112
  29. package/components/auth/storage.js +160 -318
  30. package/components/auth/token-validator.js +132 -227
  31. package/components/auth/window-flow.js +84 -121
  32. package/components/auth-dialog/auth-dialog.js +99 -150
  33. package/components/auth-dialog-service/auth-dialog-service.js +6 -26
  34. package/components/avatar/avatar-example-datauri.js +1 -1
  35. package/components/avatar/avatar.js +94 -123
  36. package/components/avatar/fallback-avatar.js +20 -34
  37. package/components/badge/badge.js +32 -38
  38. package/components/breadcrumbs/breadcrumbs.js +13 -17
  39. package/components/button/button.js +67 -80
  40. package/components/button-group/button-group.js +27 -36
  41. package/components/button-set/button-set.js +19 -27
  42. package/components/button-toolbar/button-toolbar.js +17 -25
  43. package/components/caret/caret.js +184 -211
  44. package/components/checkbox/checkbox.js +69 -86
  45. package/components/clipboard/clipboard-fallback.js +7 -7
  46. package/components/clipboard/clipboard.js +36 -128
  47. package/components/code/code.js +83 -151
  48. package/components/collapse/collapse-content.js +42 -60
  49. package/components/collapse/collapse-context.js +2 -2
  50. package/components/collapse/collapse-control.js +12 -12
  51. package/components/collapse/collapse.js +12 -17
  52. package/components/collapse/consts.js +4 -4
  53. package/components/collapse/utils.js +1 -3
  54. package/components/confirm/confirm.js +57 -87
  55. package/components/confirm-service/confirm-service.js +23 -44
  56. package/components/content-layout/content-layout.js +41 -56
  57. package/components/content-layout/sidebar.js +1 -1
  58. package/components/contenteditable/contenteditable.js +38 -46
  59. package/components/control-help/control-help.js +5 -3
  60. package/components/control-label/control-label.js +9 -8
  61. package/components/data-list/data-list.js +113 -156
  62. package/components/data-list/data-list.mock.js +3 -5
  63. package/components/data-list/item.js +120 -140
  64. package/components/data-list/selection.js +77 -135
  65. package/components/data-list/title.js +2 -10
  66. package/components/date-picker/consts.js +16 -22
  67. package/components/date-picker/date-input.js +99 -124
  68. package/components/date-picker/date-picker.js +140 -184
  69. package/components/date-picker/date-popup.js +280 -327
  70. package/components/date-picker/day.js +71 -94
  71. package/components/date-picker/month-names.js +41 -59
  72. package/components/date-picker/month-slider.js +42 -61
  73. package/components/date-picker/month.js +17 -24
  74. package/components/date-picker/months.js +44 -49
  75. package/components/date-picker/weekdays.js +12 -21
  76. package/components/date-picker/years.js +77 -98
  77. package/components/dialog/dialog.js +151 -187
  78. package/components/dialog/dialog__body-scroll-preventer.js +0 -3
  79. package/components/dropdown/anchor.js +0 -6
  80. package/components/dropdown/dropdown.js +134 -154
  81. package/components/dropdown-menu/dropdown-menu.js +59 -87
  82. package/components/editable-heading/editable-heading.js +69 -116
  83. package/components/error-bubble/error-bubble.js +29 -54
  84. package/components/error-message/error-message.js +34 -49
  85. package/components/footer/footer.js +27 -28
  86. package/components/global/compose.js +1 -8
  87. package/components/global/composeRefs.d.ts +0 -3
  88. package/components/global/composeRefs.js +8 -15
  89. package/components/global/controls-height.js +2 -2
  90. package/components/global/create-stateful-context.js +14 -13
  91. package/components/global/data-tests.js +7 -12
  92. package/components/global/dom.js +49 -82
  93. package/components/global/focus-sensor-hoc.js +99 -106
  94. package/components/global/fuzzy-highlight.js +23 -34
  95. package/components/global/get-event-key.js +8 -8
  96. package/components/global/get-uid.js +3 -7
  97. package/components/global/inject-styles.js +7 -14
  98. package/components/global/listeners.js +28 -47
  99. package/components/global/memoize.js +6 -10
  100. package/components/global/normalize-indent.js +19 -46
  101. package/components/global/promise-with-timeout.js +6 -8
  102. package/components/global/prop-types.js +3 -5
  103. package/components/global/react-dom-renderer.js +29 -40
  104. package/components/global/rerender-hoc.js +16 -32
  105. package/components/global/schedule-raf.js +4 -4
  106. package/components/global/sniffer.js +1 -1
  107. package/components/global/theme.js +1 -18
  108. package/components/global/trivial-template-tag.js +4 -9
  109. package/components/global/typescript-utils.js +2 -6
  110. package/components/global/url.js +20 -23
  111. package/components/global/use-event-callback.js +7 -4
  112. package/components/grid/col.js +27 -39
  113. package/components/grid/grid.js +18 -27
  114. package/components/grid/row.js +23 -30
  115. package/components/group/group.js +16 -22
  116. package/components/header/header-icon.js +19 -31
  117. package/components/header/header.d.ts +0 -1
  118. package/components/header/header.js +30 -64
  119. package/components/header/links.js +6 -3
  120. package/components/header/logo.js +15 -26
  121. package/components/header/profile.js +124 -150
  122. package/components/header/services-link.js +1 -3
  123. package/components/header/services.js +64 -97
  124. package/components/header/smart-profile.js +101 -178
  125. package/components/header/smart-services.js +55 -90
  126. package/components/header/tray.js +21 -30
  127. package/components/heading/heading.js +21 -20
  128. package/components/http/http.js +162 -319
  129. package/components/http/http.mock.js +50 -98
  130. package/components/hub-source/hub-source.js +77 -182
  131. package/components/hub-source/hub-source__user.js +9 -37
  132. package/components/hub-source/hub-source__users-groups.js +34 -60
  133. package/components/i18n/i18n-context.js +7 -8
  134. package/components/i18n/i18n.js +3 -6
  135. package/components/icon/icon.js +60 -74
  136. package/components/icon/icon__svg.js +0 -5
  137. package/components/icon/index.js +0 -5
  138. package/components/input/input.js +1 -11
  139. package/components/island/adaptive-island-hoc.js +29 -37
  140. package/components/island/content.js +100 -110
  141. package/components/island/header.js +56 -66
  142. package/components/island/island.js +25 -33
  143. package/components/island-legacy/content-legacy.js +16 -22
  144. package/components/island-legacy/header-legacy.js +19 -25
  145. package/components/island-legacy/island-legacy.js +16 -22
  146. package/components/link/clickableLink.js +33 -42
  147. package/components/link/link.js +47 -55
  148. package/components/list/consts.js +2 -2
  149. package/components/list/list.js +399 -486
  150. package/components/list/list__custom.js +51 -61
  151. package/components/list/list__hint.js +9 -17
  152. package/components/list/list__item.js +147 -178
  153. package/components/list/list__link.js +38 -47
  154. package/components/list/list__separator.js +15 -24
  155. package/components/list/list__title.js +25 -34
  156. package/components/list/list__users-groups-source.js +55 -121
  157. package/components/loader/loader.js +38 -60
  158. package/components/loader/loader__core.js +123 -184
  159. package/components/loader-inline/loader-inline.js +24 -32
  160. package/components/loader-screen/loader-screen.js +24 -40
  161. package/components/login-dialog/login-dialog.js +81 -121
  162. package/components/login-dialog/service.js +6 -29
  163. package/components/markdown/markdown.js +16 -24
  164. package/components/message/message.js +170 -201
  165. package/components/old-browsers-message/old-browsers-message.js +11 -14
  166. package/components/old-browsers-message/old-browsers-message__stop.js +1 -4
  167. package/components/old-browsers-message/white-list.js +8 -13
  168. package/components/pager/pager.js +212 -257
  169. package/components/panel/panel.js +16 -22
  170. package/components/permissions/permissions.js +118 -161
  171. package/components/permissions/permissions__cache.js +191 -218
  172. package/components/popup/popup.consts.js +1 -1
  173. package/components/popup/popup.js +237 -288
  174. package/components/popup/popup.target.js +9 -7
  175. package/components/popup/position.js +94 -101
  176. package/components/popup-menu/popup-menu.js +33 -67
  177. package/components/progress-bar/progress-bar.js +57 -68
  178. package/components/query-assist/query-assist.js +583 -652
  179. package/components/query-assist/query-assist__suggestions.js +2 -26
  180. package/components/radio/radio.js +15 -27
  181. package/components/radio/radio__item.js +52 -62
  182. package/components/scrollable-section/scrollable-section.js +22 -32
  183. package/components/select/select.js +693 -793
  184. package/components/select/select__filter.js +1 -26
  185. package/components/select/select__popup.js +316 -413
  186. package/components/shortcuts/core.js +147 -195
  187. package/components/shortcuts/shortcut-title.js +6 -10
  188. package/components/shortcuts/shortcuts-hoc.js +23 -41
  189. package/components/shortcuts/shortcuts.js +41 -64
  190. package/components/slider/slider.js +93 -112
  191. package/components/slider/slider.utils.js +16 -23
  192. package/components/storage/storage.js +3 -27
  193. package/components/storage/storage__fallback.js +137 -210
  194. package/components/storage/storage__local.js +89 -147
  195. package/components/style.css +1 -1
  196. package/components/tab-trap/tab-trap.js +35 -53
  197. package/components/table/cell.js +11 -21
  198. package/components/table/disable-hover-hoc.js +27 -42
  199. package/components/table/header-cell.js +59 -75
  200. package/components/table/header.js +89 -110
  201. package/components/table/multitable.js +83 -89
  202. package/components/table/row-with-focus-sensor.js +25 -57
  203. package/components/table/row.js +169 -200
  204. package/components/table/selection-adapter.js +2 -2
  205. package/components/table/selection-shortcuts-hoc.js +108 -113
  206. package/components/table/selection.js +150 -217
  207. package/components/table/simple-table.js +19 -55
  208. package/components/table/smart-table.js +42 -76
  209. package/components/table/table.js +267 -327
  210. package/components/tabs/collapsible-more.js +47 -73
  211. package/components/tabs/collapsible-tab.js +32 -36
  212. package/components/tabs/collapsible-tabs.js +89 -148
  213. package/components/tabs/custom-item.js +4 -2
  214. package/components/tabs/dumb-tabs.js +60 -92
  215. package/components/tabs/smart-tabs.js +29 -61
  216. package/components/tabs/tab-link.js +1 -3
  217. package/components/tabs/tab.js +15 -24
  218. package/components/tabs/tabs.js +1 -26
  219. package/components/tag/tag.d.ts +0 -2
  220. package/components/tag/tag.js +120 -162
  221. package/components/tags-input/tags-input.js +222 -304
  222. package/components/tags-list/tags-list.js +45 -61
  223. package/components/text/text.js +28 -37
  224. package/components/toggle/toggle.js +51 -61
  225. package/components/tooltip/tooltip.js +109 -141
  226. package/components/user-agreement/service.js +259 -400
  227. package/components/user-agreement/user-agreement.js +80 -108
  228. package/components/user-card/card.js +1 -25
  229. package/components/user-card/smart-user-card-tooltip.js +52 -103
  230. package/components/user-card/tooltip.js +35 -65
  231. package/components/user-card/user-card.js +1 -25
  232. package/package.json +1 -1
  233. package/components/global/react-render-adapter.d.ts +0 -1
  234. package/components/global/react-render-adapter.js +0 -6
  235. package/components/header/tray-icon.d.ts +0 -1
  236. package/components/header/tray-icon.js +0 -26
@@ -1,4 +1,4 @@
1
- import { d as _objectSpread2, c as _objectWithoutProperties } from '../_helpers/_rollupPluginBabelHelpers.js';
1
+ import { b as _objectSpread2, a as _objectWithoutProperties } from '../_helpers/_rollupPluginBabelHelpers.js';
2
2
  import { memo } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import classNames from 'classnames';
@@ -6,7 +6,7 @@ import deprecate from 'util-deprecate';
6
6
  import { m as modules_901b77ec } from '../_helpers/heading.js';
7
7
  import { jsx } from 'react/jsx-runtime';
8
8
 
9
- var _excluded = ["children", "className", "level"],
9
+ const _excluded = ["children", "className", "level"],
10
10
  _excluded2 = ["className", "bold"];
11
11
  var Levels;
12
12
  (function (Levels) {
@@ -15,49 +15,50 @@ var Levels;
15
15
  Levels[Levels["H3"] = 3] = "H3";
16
16
  Levels[Levels["H4"] = 4] = "H4";
17
17
  })(Levels || (Levels = {}));
18
- var fallbackHeading = deprecate(function () {
19
- return 'h3';
20
- }, 'Headings of level 5 and higher are replaced with h3');
21
- var HeadingMemo = /*#__PURE__*/memo(function Heading(_ref) {
22
- var children = _ref.children,
23
- className = _ref.className,
24
- _ref$level = _ref.level,
25
- level = _ref$level === void 0 ? Levels.H1 : _ref$level,
18
+ const fallbackHeading = deprecate(() => 'h3', 'Headings of level 5 and higher are replaced with h3');
19
+ const HeadingMemo = /*#__PURE__*/memo(function Heading(_ref) {
20
+ let {
21
+ children,
22
+ className,
23
+ level = Levels.H1
24
+ } = _ref,
26
25
  restProps = _objectWithoutProperties(_ref, _excluded);
27
- var classes = classNames(modules_901b77ec.heading, className);
28
- var Tag = level <= Levels.H4 ? "h".concat(level) : fallbackHeading();
26
+ const classes = classNames(modules_901b77ec.heading, className);
27
+ const Tag = level <= Levels.H4 ? "h".concat(level) : fallbackHeading();
29
28
  return /*#__PURE__*/jsx(Tag, _objectSpread2(_objectSpread2({}, restProps), {}, {
30
29
  className: classes,
31
30
  children: children
32
31
  }));
33
32
  });
34
- var Heading = HeadingMemo;
33
+ const Heading = HeadingMemo;
35
34
  Heading.propTypes = {
36
35
  children: PropTypes.node,
37
36
  className: PropTypes.string,
38
37
  level: PropTypes.oneOf([Levels.H1, Levels.H2, Levels.H3, Levels.H4])
39
38
  };
40
39
  Heading.Levels = Levels;
41
- var H1 = /*#__PURE__*/memo(function H1(props) {
40
+ const H1 = /*#__PURE__*/memo(function H1(props) {
42
41
  return /*#__PURE__*/jsx(Heading, _objectSpread2(_objectSpread2({}, props), {}, {
43
42
  level: Levels.H1
44
43
  }));
45
44
  });
46
- var H2 = /*#__PURE__*/memo(function H2(props) {
45
+ const H2 = /*#__PURE__*/memo(function H2(props) {
47
46
  return /*#__PURE__*/jsx(Heading, _objectSpread2(_objectSpread2({}, props), {}, {
48
47
  level: Levels.H2
49
48
  }));
50
49
  });
51
- var H3 = /*#__PURE__*/memo(function H3(props) {
50
+ const H3 = /*#__PURE__*/memo(function H3(props) {
52
51
  return /*#__PURE__*/jsx(Heading, _objectSpread2(_objectSpread2({}, props), {}, {
53
52
  level: Levels.H3
54
53
  }));
55
54
  });
56
- var H4 = /*#__PURE__*/memo(function H4(_ref2) {
57
- var className = _ref2.className,
58
- bold = _ref2.bold,
55
+ const H4 = /*#__PURE__*/memo(function H4(_ref2) {
56
+ let {
57
+ className,
58
+ bold
59
+ } = _ref2,
59
60
  restProps = _objectWithoutProperties(_ref2, _excluded2);
60
- var classes = classNames(className, {
61
+ const classes = classNames(className, {
61
62
  [modules_901b77ec.bold]: bold
62
63
  });
63
64
  return /*#__PURE__*/jsx(Heading, _objectSpread2(_objectSpread2({}, restProps), {}, {
@@ -1,376 +1,219 @@
1
- import { a as _inherits, b as _createClass, c as _objectWithoutProperties, d as _objectSpread2, i as _slicedToArray, e as _classCallCheck, f as _callSuper, _ as _defineProperty, g as _asyncToGenerator, h as _regeneratorRuntime } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.concat.js';
3
- import 'core-js/modules/es.array.index-of.js';
4
- import 'core-js/modules/es.array.iterator.js';
5
- import 'core-js/modules/es.object.entries.js';
6
- import 'core-js/modules/es.object.to-string.js';
7
- import 'core-js/modules/es.promise.js';
8
- import 'core-js/modules/es.reflect.delete-property.js';
9
- import 'core-js/modules/es.weak-map.js';
10
- import 'core-js/modules/web.dom-collections.for-each.js';
1
+ import { _ as _defineProperty, a as _objectWithoutProperties, b as _objectSpread2 } from '../_helpers/_rollupPluginBabelHelpers.js';
11
2
  import 'core-js/modules/web.dom-collections.iterator.js';
12
3
  import ExtendableError from 'es6-error';
13
4
  import { encodeURL, joinBaseURLAndPath } from '../global/url.js';
14
5
  import 'core-js/modules/es.regexp.exec.js';
15
- import 'core-js/modules/es.string.match.js';
16
6
  import 'core-js/modules/es.string.replace.js';
17
7
 
18
- var _excluded = ["body", "query"],
8
+ const _excluded = ["body", "query"],
19
9
  _excluded2 = ["headers"],
20
10
  _excluded3 = ["headers", "body", "query", "sendRawBody"];
21
11
  /**
22
12
  * @name HTTP
23
13
  */
24
- var TOKEN_TYPE = 'Bearer';
25
- var defaultFetchConfig = {
14
+ const TOKEN_TYPE = 'Bearer';
15
+ const defaultFetchConfig = {
26
16
  headers: {
27
17
  'Content-Type': 'application/json',
28
18
  Accept: 'application/json'
29
19
  },
30
20
  credentials: 'same-origin'
31
21
  };
32
- var HTTPError = /*#__PURE__*/function (_ExtendableError) {
33
- function HTTPError(response) {
34
- var _this;
35
- var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
36
- _classCallCheck(this, HTTPError);
37
- _this = _callSuper(this, HTTPError, ["".concat(response.status, " ").concat(response.statusText || '')]);
38
- _defineProperty(_this, "data", void 0);
39
- _defineProperty(_this, "status", void 0);
40
- _this.data = data;
41
- _this.status = response.status;
42
- return _this;
22
+ class HTTPError extends ExtendableError {
23
+ constructor(response) {
24
+ let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
25
+ super("".concat(response.status, " ").concat(response.statusText || ''));
26
+ _defineProperty(this, "data", void 0);
27
+ _defineProperty(this, "status", void 0);
28
+ this.data = data;
29
+ this.status = response.status;
43
30
  }
44
- _inherits(HTTPError, _ExtendableError);
45
- return _createClass(HTTPError);
46
- }(ExtendableError);
47
- var CODE = {
31
+ }
32
+ const CODE = {
48
33
  UNAUTHORIZED: 401
49
34
  };
50
35
  function isRawBody(params) {
51
36
  return params.sendRawBody === true;
52
37
  }
53
- var HTTP = /*#__PURE__*/function () {
54
- function HTTP(_auth, _baseUrl) {
55
- var _this2 = this;
56
- var _fetchConfig = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
57
- _classCallCheck(this, HTTP);
38
+ class HTTP {
39
+ constructor(_auth, _baseUrl) {
40
+ var _this = this;
41
+ let _fetchConfig = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
58
42
  _defineProperty(this, "baseUrl", null);
59
43
  _defineProperty(this, "_requestsMeta", new WeakMap());
60
44
  _defineProperty(this, "fetchConfig", void 0);
61
45
  _defineProperty(this, "requestToken", void 0);
62
46
  _defineProperty(this, "shouldRefreshToken", void 0);
63
47
  _defineProperty(this, "forceTokenUpdate", void 0);
64
- _defineProperty(this, "setAuth", function (auth) {
65
- _this2.requestToken = function () {
66
- return auth.requestToken();
67
- };
68
- _this2.shouldRefreshToken = auth.constructor.shouldRefreshToken;
69
- _this2.forceTokenUpdate = function () {
70
- return auth.forceTokenUpdate();
71
- };
48
+ _defineProperty(this, "setAuth", auth => {
49
+ this.requestToken = () => auth.requestToken();
50
+ this.shouldRefreshToken = auth.constructor.shouldRefreshToken;
51
+ this.forceTokenUpdate = () => auth.forceTokenUpdate();
72
52
  });
73
- _defineProperty(this, "setBaseUrl", function (baseUrl) {
74
- _this2.baseUrl = baseUrl;
53
+ _defineProperty(this, "setBaseUrl", baseUrl => {
54
+ this.baseUrl = baseUrl;
75
55
  });
76
- _defineProperty(this, "fetch", /*#__PURE__*/function () {
77
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(url) {
78
- var params,
56
+ _defineProperty(this, "fetch", async function (url) {
57
+ let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
58
+ const {
79
59
  body,
80
- _params$query,
81
- query,
82
- fetchConfig,
83
- response,
84
- _args = arguments;
85
- return _regeneratorRuntime().wrap(function _callee$(_context) {
86
- while (1) switch (_context.prev = _context.next) {
87
- case 0:
88
- params = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
89
- body = params.body, _params$query = params.query, query = _params$query === void 0 ? {} : _params$query, fetchConfig = _objectWithoutProperties(params, _excluded);
90
- _context.next = 4;
91
- return _this2._fetch(_this2._makeRequestUrl(url, query), _objectSpread2(_objectSpread2({}, fetchConfig), {}, {
92
- headers: fetchConfig.headers,
93
- body: body !== null && body !== undefined && body !== '' ? JSON.stringify(body) : body
94
- }));
95
- case 4:
96
- response = _context.sent;
97
- return _context.abrupt("return", _this2._processResponse(response));
98
- case 6:
99
- case "end":
100
- return _context.stop();
101
- }
102
- }, _callee);
103
- }));
104
- return function (_x) {
105
- return _ref.apply(this, arguments);
106
- };
107
- }());
108
- _defineProperty(this, "request", /*#__PURE__*/function () {
109
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(url, params) {
110
- var _this2$requestToken;
111
- var token, response, _this2$shouldRefreshT, shouldRefreshToken, _this2$forceTokenUpda;
112
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
113
- while (1) switch (_context2.prev = _context2.next) {
114
- case 0:
115
- _context2.next = 2;
116
- return (_this2$requestToken = _this2.requestToken) === null || _this2$requestToken === void 0 ? void 0 : _this2$requestToken.call(_this2);
117
- case 2:
118
- token = _context2.sent;
119
- _context2.next = 5;
120
- return _this2._performRequest(url, token, params);
121
- case 5:
122
- response = _context2.sent;
123
- _context2.prev = 6;
124
- _context2.next = 9;
125
- return _this2._processResponse(response);
126
- case 9:
127
- return _context2.abrupt("return", _context2.sent);
128
- case 12:
129
- _context2.prev = 12;
130
- _context2.t0 = _context2["catch"](6);
131
- if (_context2.t0 instanceof HTTPError) {
132
- _context2.next = 16;
133
- break;
134
- }
135
- throw _context2.t0;
136
- case 16:
137
- shouldRefreshToken = typeof _context2.t0.data.error === 'string' ? (_this2$shouldRefreshT = _this2.shouldRefreshToken) === null || _this2$shouldRefreshT === void 0 ? void 0 : _this2$shouldRefreshT.call(_this2, _context2.t0.data.error) : false;
138
- if (!shouldRefreshToken) {
139
- _context2.next = 25;
140
- break;
141
- }
142
- _context2.next = 20;
143
- return (_this2$forceTokenUpda = _this2.forceTokenUpdate) === null || _this2$forceTokenUpda === void 0 ? void 0 : _this2$forceTokenUpda.call(_this2);
144
- case 20:
145
- token = _context2.sent;
146
- _context2.next = 23;
147
- return _this2._performRequest(url, token, params);
148
- case 23:
149
- response = _context2.sent;
150
- return _context2.abrupt("return", _this2._processResponse(response));
151
- case 25:
152
- throw _context2.t0;
153
- case 26:
154
- case "end":
155
- return _context2.stop();
156
- }
157
- }, _callee2, null, [[6, 12]]);
158
- }));
159
- return function (_x2, _x3) {
160
- return _ref2.apply(this, arguments);
161
- };
162
- }());
163
- _defineProperty(this, "getMetaForResponse", function (response) {
164
- return _this2._requestsMeta.get(response);
165
- });
166
- _defineProperty(this, "get", function (url, params) {
167
- return _this2.request(url, _objectSpread2(_objectSpread2({}, params), {}, {
168
- method: 'GET'
169
- }));
170
- });
171
- _defineProperty(this, "post", function (url, params) {
172
- return _this2.request(url, _objectSpread2(_objectSpread2({}, params), {}, {
173
- method: 'POST'
60
+ query = {}
61
+ } = params,
62
+ fetchConfig = _objectWithoutProperties(params, _excluded);
63
+ const response = await _this._fetch(_this._makeRequestUrl(url, query), _objectSpread2(_objectSpread2({}, fetchConfig), {}, {
64
+ headers: fetchConfig.headers,
65
+ body: body !== null && body !== undefined && body !== '' ? JSON.stringify(body) : body
174
66
  }));
67
+ return _this._processResponse(response);
175
68
  });
176
- _defineProperty(this, "delete", function (url, params) {
177
- return _this2.request(url, _objectSpread2(_objectSpread2({}, params), {}, {
178
- method: 'DELETE'
179
- }));
180
- });
181
- _defineProperty(this, "put", function (url, params) {
182
- return _this2.request(url, _objectSpread2(_objectSpread2({}, params), {}, {
183
- method: 'PUT'
184
- }));
69
+ _defineProperty(this, "request", async (url, params) => {
70
+ var _this$requestToken;
71
+ let token = await ((_this$requestToken = this.requestToken) === null || _this$requestToken === void 0 ? void 0 : _this$requestToken.call(this));
72
+ let response = await this._performRequest(url, token, params);
73
+ try {
74
+ // Wait for result to catch an HTTP error
75
+ return await this._processResponse(response);
76
+ } catch (error) {
77
+ var _this$shouldRefreshTo;
78
+ if (!(error instanceof HTTPError)) {
79
+ throw error;
80
+ }
81
+ const shouldRefreshToken = typeof error.data.error === 'string' ? (_this$shouldRefreshTo = this.shouldRefreshToken) === null || _this$shouldRefreshTo === void 0 ? void 0 : _this$shouldRefreshTo.call(this, error.data.error) : false;
82
+ if (shouldRefreshToken) {
83
+ var _this$forceTokenUpdat;
84
+ token = await ((_this$forceTokenUpdat = this.forceTokenUpdate) === null || _this$forceTokenUpdat === void 0 ? void 0 : _this$forceTokenUpdat.call(this));
85
+ response = await this._performRequest(url, token, params);
86
+ return this._processResponse(response);
87
+ }
88
+ throw error;
89
+ }
185
90
  });
91
+ _defineProperty(this, "getMetaForResponse", response => this._requestsMeta.get(response));
92
+ _defineProperty(this, "get", (url, params) => this.request(url, _objectSpread2(_objectSpread2({}, params), {}, {
93
+ method: 'GET'
94
+ })));
95
+ _defineProperty(this, "post", (url, params) => this.request(url, _objectSpread2(_objectSpread2({}, params), {}, {
96
+ method: 'POST'
97
+ })));
98
+ _defineProperty(this, "delete", (url, params) => this.request(url, _objectSpread2(_objectSpread2({}, params), {}, {
99
+ method: 'DELETE'
100
+ })));
101
+ _defineProperty(this, "put", (url, params) => this.request(url, _objectSpread2(_objectSpread2({}, params), {}, {
102
+ method: 'PUT'
103
+ })));
186
104
  /**
187
105
  * Usage: const {promise, abort} = http.abortify(http.get<{id: string}>)('http://test.com');
188
106
  * @param method
189
107
  */
190
- _defineProperty(this, "abortify", function (method) {
191
- return function () {
192
- for (var _len = arguments.length, _ref3 = new Array(_len), _key = 0; _key < _len; _key++) {
193
- _ref3[_key] = arguments[_key];
194
- }
195
- var url = _ref3[0],
196
- params = _ref3[1];
197
- var ctrl = new AbortController();
198
- if (params && !('signal' in params)) {
199
- params.signal = ctrl.signal;
200
- }
201
- return {
202
- promise: method.call(_this2, url, params),
203
- abort: function abort() {
204
- return ctrl.abort();
205
- }
206
- };
108
+ _defineProperty(this, "abortify", method => function () {
109
+ for (var _len = arguments.length, _ref = new Array(_len), _key = 0; _key < _len; _key++) {
110
+ _ref[_key] = arguments[_key];
111
+ }
112
+ let [url, params] = _ref;
113
+ const ctrl = new AbortController();
114
+ if (params && !('signal' in params)) {
115
+ params.signal = ctrl.signal;
116
+ }
117
+ return {
118
+ promise: method.call(_this, url, params),
119
+ abort: () => ctrl.abort()
207
120
  };
208
121
  });
209
122
  if (_auth) {
210
123
  this.setAuth(_auth);
211
124
  }
212
125
  this.setBaseUrl(_baseUrl);
213
- var headers = defaultFetchConfig.headers,
126
+ const {
127
+ headers
128
+ } = defaultFetchConfig,
214
129
  defaultConfig = _objectWithoutProperties(defaultFetchConfig, _excluded2);
215
130
  this.fetchConfig = _objectSpread2(_objectSpread2(_objectSpread2({}, defaultConfig), _fetchConfig), {}, {
216
131
  headers: _objectSpread2(_objectSpread2({}, headers), _fetchConfig.headers)
217
132
  });
218
133
  }
219
- return _createClass(HTTP, [{
220
- key: "_fetch",
221
- value: function _fetch() {
222
- return fetch.apply(void 0, arguments);
223
- }
224
- }, {
225
- key: "_makeRequestUrl",
226
- value: function _makeRequestUrl(url, queryObject) {
227
- var urlWithQuery = encodeURL(url, queryObject);
228
- return joinBaseURLAndPath(this.baseUrl, urlWithQuery);
134
+ _fetch() {
135
+ return fetch(...arguments);
136
+ }
137
+ _makeRequestUrl(url, queryObject) {
138
+ const urlWithQuery = encodeURL(url, queryObject);
139
+ return joinBaseURLAndPath(this.baseUrl, urlWithQuery);
140
+ }
141
+ _performRequest(url, token) {
142
+ let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
143
+ const {
144
+ headers,
145
+ body,
146
+ query = {},
147
+ sendRawBody
148
+ } = params,
149
+ fetchConfig = _objectWithoutProperties(params, _excluded3);
150
+ const combinedHeaders = _objectSpread2(_objectSpread2(_objectSpread2({}, this.fetchConfig.headers), token ? {
151
+ Authorization: "".concat(TOKEN_TYPE, " ").concat(token)
152
+ } : {}), headers);
153
+ Object.entries(combinedHeaders).forEach(_ref2 => {
154
+ let [key, header] = _ref2;
155
+ if (header === null || header === undefined) {
156
+ Reflect.deleteProperty(combinedHeaders, key);
157
+ }
158
+ });
159
+ let bodyToSend;
160
+ if (isRawBody(params)) {
161
+ bodyToSend = params.body;
162
+ } else {
163
+ bodyToSend = params.body === null || params.body === undefined || params.body === '' ? params.body : JSON.stringify(body);
229
164
  }
230
- }, {
231
- key: "_performRequest",
232
- value: function _performRequest(url, token) {
233
- var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
234
- var headers = params.headers,
235
- body = params.body,
236
- _params$query2 = params.query,
237
- query = _params$query2 === void 0 ? {} : _params$query2;
238
- params.sendRawBody;
239
- var fetchConfig = _objectWithoutProperties(params, _excluded3);
240
- var combinedHeaders = _objectSpread2(_objectSpread2(_objectSpread2({}, this.fetchConfig.headers), token ? {
241
- Authorization: "".concat(TOKEN_TYPE, " ").concat(token)
242
- } : {}), headers);
243
- Object.entries(combinedHeaders).forEach(function (_ref4) {
244
- var _ref5 = _slicedToArray(_ref4, 2),
245
- key = _ref5[0],
246
- header = _ref5[1];
247
- if (header === null || header === undefined) {
248
- Reflect.deleteProperty(combinedHeaders, key);
249
- }
250
- });
251
- var bodyToSend;
252
- if (isRawBody(params)) {
253
- bodyToSend = params.body;
254
- } else {
255
- bodyToSend = params.body === null || params.body === undefined || params.body === '' ? params.body : JSON.stringify(body);
165
+ return this._fetch(this._makeRequestUrl(url, query), _objectSpread2(_objectSpread2(_objectSpread2({}, this.fetchConfig), {}, {
166
+ headers: combinedHeaders
167
+ }, fetchConfig), {}, {
168
+ body: bodyToSend
169
+ }));
170
+ }
171
+ _storeRequestMeta(parsedResponse, rawResponse) {
172
+ const {
173
+ headers,
174
+ ok,
175
+ redirected,
176
+ status,
177
+ statusText,
178
+ type,
179
+ url
180
+ } = rawResponse;
181
+ this._requestsMeta.set(parsedResponse, {
182
+ headers,
183
+ ok,
184
+ redirected,
185
+ status,
186
+ statusText,
187
+ type,
188
+ url
189
+ });
190
+ }
191
+ async _processResponse(response) {
192
+ const contentType = response.headers.get('content-type');
193
+ const isJson = contentType && contentType.indexOf('application/json') !== -1;
194
+ if (!response.ok) {
195
+ let resJson;
196
+ try {
197
+ resJson = await (isJson ? response.json() : response.text());
198
+ } catch (err) {
199
+ // noop
256
200
  }
257
- return this._fetch(this._makeRequestUrl(url, query), _objectSpread2(_objectSpread2(_objectSpread2({}, this.fetchConfig), {}, {
258
- headers: combinedHeaders
259
- }, fetchConfig), {}, {
260
- body: bodyToSend
261
- }));
201
+ throw new HTTPError(response, resJson);
262
202
  }
263
- }, {
264
- key: "_storeRequestMeta",
265
- value: function _storeRequestMeta(parsedResponse, rawResponse) {
266
- var headers = rawResponse.headers,
267
- ok = rawResponse.ok,
268
- redirected = rawResponse.redirected,
269
- status = rawResponse.status,
270
- statusText = rawResponse.statusText,
271
- type = rawResponse.type,
272
- url = rawResponse.url;
273
- this._requestsMeta.set(parsedResponse, {
274
- headers,
275
- ok,
276
- redirected,
277
- status,
278
- statusText,
279
- type,
280
- url
203
+ try {
204
+ const parsedResponse = await (isJson ? response.json() : {
205
+ data: await response.text()
281
206
  });
207
+ this._storeRequestMeta(parsedResponse, response);
208
+ return parsedResponse;
209
+ } catch (err) {
210
+ return response;
282
211
  }
283
- }, {
284
- key: "_processResponse",
285
- value: function () {
286
- var _processResponse2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(response) {
287
- var contentType, isJson, resJson, parsedResponse;
288
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
289
- while (1) switch (_context3.prev = _context3.next) {
290
- case 0:
291
- contentType = response.headers.get('content-type');
292
- isJson = contentType && contentType.indexOf('application/json') !== -1;
293
- if (response.ok) {
294
- _context3.next = 12;
295
- break;
296
- }
297
- _context3.prev = 3;
298
- _context3.next = 6;
299
- return isJson ? response.json() : response.text();
300
- case 6:
301
- resJson = _context3.sent;
302
- _context3.next = 11;
303
- break;
304
- case 9:
305
- _context3.prev = 9;
306
- _context3.t0 = _context3["catch"](3);
307
- case 11:
308
- throw new HTTPError(response, resJson);
309
- case 12:
310
- _context3.prev = 12;
311
- if (!isJson) {
312
- _context3.next = 17;
313
- break;
314
- }
315
- _context3.t1 = response.json();
316
- _context3.next = 21;
317
- break;
318
- case 17:
319
- _context3.next = 19;
320
- return response.text();
321
- case 19:
322
- _context3.t2 = _context3.sent;
323
- _context3.t1 = {
324
- data: _context3.t2
325
- };
326
- case 21:
327
- _context3.next = 23;
328
- return _context3.t1;
329
- case 23:
330
- parsedResponse = _context3.sent;
331
- this._storeRequestMeta(parsedResponse, response);
332
- return _context3.abrupt("return", parsedResponse);
333
- case 28:
334
- _context3.prev = 28;
335
- _context3.t3 = _context3["catch"](12);
336
- return _context3.abrupt("return", response);
337
- case 31:
338
- case "end":
339
- return _context3.stop();
340
- }
341
- }, _callee3, this, [[3, 9], [12, 28]]);
342
- }));
343
- function _processResponse(_x4) {
344
- return _processResponse2.apply(this, arguments);
345
- }
346
- return _processResponse;
347
- }()
348
- }, {
349
- key: "authorizedFetch",
350
- value: function () {
351
- var _authorizedFetch = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
352
- var response,
353
- _args4 = arguments;
354
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
355
- while (1) switch (_context4.prev = _context4.next) {
356
- case 0:
357
- _context4.next = 2;
358
- return this._performRequest.apply(this, _args4);
359
- case 2:
360
- response = _context4.sent;
361
- return _context4.abrupt("return", this._processResponse(response));
362
- case 4:
363
- case "end":
364
- return _context4.stop();
365
- }
366
- }, _callee4, this);
367
- }));
368
- function authorizedFetch() {
369
- return _authorizedFetch.apply(this, arguments);
370
- }
371
- return authorizedFetch;
372
- }()
373
- }]);
374
- }();
212
+ }
213
+ async authorizedFetch() {
214
+ const response = await this._performRequest(...arguments);
215
+ return this._processResponse(response);
216
+ }
217
+ }
375
218
 
376
219
  export { CODE, HTTPError, HTTP as default, defaultFetchConfig };