@jetbrains/ring-ui-built 7.0.0-beta.1 → 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 (241) 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/header.js +1 -1
  8. package/components/_helpers/icon__svg.js +27 -23
  9. package/components/_helpers/input.js +150 -171
  10. package/components/_helpers/query-assist__suggestions.js +78 -93
  11. package/components/_helpers/select__filter.js +56 -67
  12. package/components/_helpers/services-link.js +23 -29
  13. package/components/_helpers/sidebar.js +91 -93
  14. package/components/_helpers/tab-link.js +8 -6
  15. package/components/_helpers/theme.js +55 -51
  16. package/components/_helpers/title.js +59 -69
  17. package/components/alert/alert.js +112 -156
  18. package/components/alert/container.js +32 -39
  19. package/components/alert-service/alert-service.js +104 -161
  20. package/components/analytics/analytics.js +12 -20
  21. package/components/analytics/analytics__custom-plugin.js +52 -68
  22. package/components/auth/auth.js +2 -27
  23. package/components/auth/auth__core.d.ts +1 -1
  24. package/components/auth/auth__core.js +742 -1428
  25. package/components/auth/background-flow.js +84 -121
  26. package/components/auth/down-notification.js +31 -69
  27. package/components/auth/iframe-flow.js +70 -123
  28. package/components/auth/request-builder.js +46 -77
  29. package/components/auth/response-parser.js +84 -112
  30. package/components/auth/storage.js +160 -318
  31. package/components/auth/token-validator.js +132 -227
  32. package/components/auth/window-flow.js +84 -121
  33. package/components/auth-dialog/auth-dialog.js +99 -150
  34. package/components/auth-dialog-service/auth-dialog-service.js +6 -26
  35. package/components/avatar/avatar-example-datauri.js +1 -1
  36. package/components/avatar/avatar.js +94 -123
  37. package/components/avatar/fallback-avatar.js +20 -34
  38. package/components/badge/badge.js +32 -38
  39. package/components/breadcrumbs/breadcrumbs.js +13 -17
  40. package/components/button/button.js +67 -80
  41. package/components/button-group/button-group.js +27 -36
  42. package/components/button-set/button-set.js +19 -27
  43. package/components/button-toolbar/button-toolbar.js +17 -25
  44. package/components/caret/caret.js +184 -211
  45. package/components/checkbox/checkbox.js +69 -86
  46. package/components/clipboard/clipboard-fallback.js +7 -7
  47. package/components/clipboard/clipboard.js +36 -128
  48. package/components/code/code.js +83 -151
  49. package/components/collapse/collapse-content.js +42 -60
  50. package/components/collapse/collapse-context.js +2 -2
  51. package/components/collapse/collapse-control.js +12 -12
  52. package/components/collapse/collapse.js +12 -17
  53. package/components/collapse/consts.js +4 -4
  54. package/components/collapse/utils.js +1 -3
  55. package/components/confirm/confirm.js +57 -87
  56. package/components/confirm-service/confirm-service.js +23 -44
  57. package/components/content-layout/content-layout.js +41 -56
  58. package/components/content-layout/sidebar.js +1 -1
  59. package/components/contenteditable/contenteditable.js +38 -46
  60. package/components/control-help/control-help.js +5 -3
  61. package/components/control-label/control-label.js +9 -8
  62. package/components/data-list/data-list.js +113 -156
  63. package/components/data-list/data-list.mock.js +3 -5
  64. package/components/data-list/item.js +120 -140
  65. package/components/data-list/selection.js +77 -135
  66. package/components/data-list/title.js +2 -10
  67. package/components/date-picker/consts.js +16 -22
  68. package/components/date-picker/date-input.js +99 -124
  69. package/components/date-picker/date-picker.js +140 -184
  70. package/components/date-picker/date-popup.js +280 -327
  71. package/components/date-picker/day.js +71 -94
  72. package/components/date-picker/month-names.js +41 -59
  73. package/components/date-picker/month-slider.js +42 -61
  74. package/components/date-picker/month.js +17 -24
  75. package/components/date-picker/months.js +44 -49
  76. package/components/date-picker/weekdays.js +12 -21
  77. package/components/date-picker/years.js +77 -98
  78. package/components/dialog/dialog.js +151 -187
  79. package/components/dialog/dialog__body-scroll-preventer.js +0 -3
  80. package/components/dropdown/anchor.js +0 -6
  81. package/components/dropdown/dropdown.js +134 -154
  82. package/components/dropdown-menu/dropdown-menu.js +59 -87
  83. package/components/editable-heading/editable-heading.js +69 -116
  84. package/components/error-bubble/error-bubble.js +29 -54
  85. package/components/error-message/error-message.js +34 -49
  86. package/components/footer/footer.js +27 -28
  87. package/components/global/compose.js +1 -8
  88. package/components/global/composeRefs.d.ts +0 -3
  89. package/components/global/composeRefs.js +8 -15
  90. package/components/global/controls-height.js +2 -2
  91. package/components/global/create-stateful-context.js +14 -13
  92. package/components/global/data-tests.js +7 -12
  93. package/components/global/dom.js +49 -82
  94. package/components/global/focus-sensor-hoc.js +99 -106
  95. package/components/global/fuzzy-highlight.js +23 -34
  96. package/components/global/get-event-key.js +8 -8
  97. package/components/global/get-uid.js +3 -7
  98. package/components/global/inject-styles.js +7 -14
  99. package/components/global/listeners.js +28 -47
  100. package/components/global/memoize.js +6 -10
  101. package/components/global/normalize-indent.js +19 -46
  102. package/components/global/promise-with-timeout.js +6 -8
  103. package/components/global/prop-types.js +3 -5
  104. package/components/global/react-dom-renderer.js +29 -40
  105. package/components/global/rerender-hoc.js +16 -32
  106. package/components/global/schedule-raf.js +4 -4
  107. package/components/global/sniffer.js +1 -1
  108. package/components/global/theme.d.ts +3 -0
  109. package/components/global/theme.js +2 -19
  110. package/components/global/trivial-template-tag.js +4 -9
  111. package/components/global/typescript-utils.js +2 -6
  112. package/components/global/url.js +20 -23
  113. package/components/global/use-event-callback.js +7 -4
  114. package/components/grid/col.js +27 -39
  115. package/components/grid/grid.js +18 -27
  116. package/components/grid/row.js +23 -30
  117. package/components/group/group.js +16 -22
  118. package/components/header/header-icon.js +19 -31
  119. package/components/header/header.d.ts +0 -1
  120. package/components/header/header.js +30 -64
  121. package/components/header/links.d.ts +2 -0
  122. package/components/header/links.js +20 -0
  123. package/components/header/logo.js +15 -26
  124. package/components/header/profile.js +124 -150
  125. package/components/header/services-link.js +1 -3
  126. package/components/header/services.js +64 -97
  127. package/components/header/smart-profile.js +101 -178
  128. package/components/header/smart-services.js +55 -90
  129. package/components/header/tray.js +21 -30
  130. package/components/heading/heading.js +21 -20
  131. package/components/http/http.js +162 -319
  132. package/components/http/http.mock.js +50 -98
  133. package/components/hub-source/hub-source.js +77 -182
  134. package/components/hub-source/hub-source__user.js +9 -37
  135. package/components/hub-source/hub-source__users-groups.js +34 -60
  136. package/components/i18n/i18n-context.js +7 -8
  137. package/components/i18n/i18n.js +3 -6
  138. package/components/icon/icon.js +60 -74
  139. package/components/icon/icon__svg.js +0 -5
  140. package/components/icon/index.js +0 -5
  141. package/components/input/input.js +1 -11
  142. package/components/island/adaptive-island-hoc.js +29 -37
  143. package/components/island/content.js +100 -110
  144. package/components/island/header.js +56 -66
  145. package/components/island/island.js +25 -33
  146. package/components/island-legacy/content-legacy.js +16 -22
  147. package/components/island-legacy/header-legacy.js +19 -25
  148. package/components/island-legacy/island-legacy.js +16 -22
  149. package/components/link/clickableLink.js +33 -42
  150. package/components/link/link.js +47 -55
  151. package/components/list/consts.js +2 -2
  152. package/components/list/list.js +399 -486
  153. package/components/list/list__custom.js +51 -61
  154. package/components/list/list__hint.js +9 -17
  155. package/components/list/list__item.js +147 -178
  156. package/components/list/list__link.js +38 -47
  157. package/components/list/list__separator.js +15 -24
  158. package/components/list/list__title.js +25 -34
  159. package/components/list/list__users-groups-source.js +55 -121
  160. package/components/loader/loader.js +38 -60
  161. package/components/loader/loader__core.js +123 -184
  162. package/components/loader-inline/loader-inline.js +24 -32
  163. package/components/loader-screen/loader-screen.js +24 -40
  164. package/components/login-dialog/login-dialog.js +81 -121
  165. package/components/login-dialog/service.js +6 -29
  166. package/components/markdown/markdown.js +16 -24
  167. package/components/message/message.js +170 -201
  168. package/components/old-browsers-message/old-browsers-message.js +11 -14
  169. package/components/old-browsers-message/old-browsers-message__stop.js +1 -4
  170. package/components/old-browsers-message/white-list.js +8 -13
  171. package/components/pager/pager.js +212 -257
  172. package/components/panel/panel.js +16 -22
  173. package/components/permissions/permissions.js +118 -161
  174. package/components/permissions/permissions__cache.js +191 -218
  175. package/components/popup/popup.consts.js +1 -1
  176. package/components/popup/popup.js +237 -288
  177. package/components/popup/popup.target.js +9 -7
  178. package/components/popup/position.js +94 -101
  179. package/components/popup-menu/popup-menu.js +33 -67
  180. package/components/progress-bar/progress-bar.js +57 -68
  181. package/components/query-assist/query-assist.js +583 -652
  182. package/components/query-assist/query-assist__suggestions.js +2 -26
  183. package/components/radio/radio.js +15 -27
  184. package/components/radio/radio__item.js +52 -62
  185. package/components/scrollable-section/scrollable-section.js +53 -0
  186. package/components/select/select.js +701 -796
  187. package/components/select/select__filter.js +1 -26
  188. package/components/select/select__popup.js +316 -413
  189. package/components/shortcuts/core.js +147 -195
  190. package/components/shortcuts/shortcut-title.js +6 -10
  191. package/components/shortcuts/shortcuts-hoc.js +23 -41
  192. package/components/shortcuts/shortcuts.js +41 -64
  193. package/components/slider/slider.js +93 -112
  194. package/components/slider/slider.utils.js +16 -23
  195. package/components/storage/storage.js +3 -27
  196. package/components/storage/storage__fallback.js +137 -210
  197. package/components/storage/storage__local.js +89 -147
  198. package/components/style.css +1 -1
  199. package/components/tab-trap/tab-trap.js +35 -53
  200. package/components/table/cell.js +11 -21
  201. package/components/table/disable-hover-hoc.js +27 -42
  202. package/components/table/header-cell.js +59 -75
  203. package/components/table/header.js +89 -110
  204. package/components/table/multitable.js +83 -89
  205. package/components/table/row-with-focus-sensor.js +25 -57
  206. package/components/table/row.js +169 -200
  207. package/components/table/selection-adapter.js +2 -2
  208. package/components/table/selection-shortcuts-hoc.js +108 -113
  209. package/components/table/selection.js +150 -217
  210. package/components/table/simple-table.js +19 -55
  211. package/components/table/smart-table.js +42 -76
  212. package/components/table/table.js +267 -327
  213. package/components/tabs/collapsible-more.js +47 -73
  214. package/components/tabs/collapsible-tab.js +32 -36
  215. package/components/tabs/collapsible-tabs.js +89 -148
  216. package/components/tabs/custom-item.js +4 -2
  217. package/components/tabs/dumb-tabs.js +60 -92
  218. package/components/tabs/smart-tabs.js +29 -61
  219. package/components/tabs/tab-link.js +1 -3
  220. package/components/tabs/tab.js +15 -24
  221. package/components/tabs/tabs.js +1 -26
  222. package/components/tag/tag.d.ts +0 -2
  223. package/components/tag/tag.js +120 -162
  224. package/components/tags-input/tags-input.js +222 -304
  225. package/components/tags-list/tags-list.js +45 -61
  226. package/components/text/text.js +28 -37
  227. package/components/toggle/toggle.js +51 -61
  228. package/components/tooltip/tooltip.js +109 -141
  229. package/components/user-agreement/service.js +259 -400
  230. package/components/user-agreement/user-agreement.js +80 -108
  231. package/components/user-card/card.js +1 -25
  232. package/components/user-card/smart-user-card-tooltip.js +52 -103
  233. package/components/user-card/tooltip.js +35 -65
  234. package/components/user-card/user-card.js +1 -25
  235. package/package.json +1 -1
  236. package/components/global/react-render-adapter.d.ts +0 -1
  237. package/components/global/react-render-adapter.js +0 -6
  238. package/components/header/scrollable-section.js +0 -47
  239. package/components/header/tray-icon.d.ts +0 -1
  240. package/components/header/tray-icon.js +0 -26
  241. /package/components/{header → scrollable-section}/scrollable-section.d.ts +0 -0
@@ -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 };