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

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 (336) 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 +15 -13
  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/icon__svg.js +27 -29
  8. package/components/_helpers/input.js +150 -192
  9. package/components/_helpers/query-assist__suggestions.js +78 -93
  10. package/components/_helpers/select__filter.js +56 -75
  11. package/components/_helpers/services-link.js +23 -39
  12. package/components/_helpers/sidebar.js +91 -102
  13. package/components/_helpers/tab-link.js +8 -12
  14. package/components/_helpers/theme.js +42 -51
  15. package/components/_helpers/title.js +59 -84
  16. package/components/alert/alert.d.ts +7 -24
  17. package/components/alert/alert.js +111 -179
  18. package/components/alert/container.d.ts +0 -5
  19. package/components/alert/container.js +32 -44
  20. package/components/alert-service/alert-service.js +104 -162
  21. package/components/analytics/analytics.js +12 -20
  22. package/components/analytics/analytics__custom-plugin.js +52 -68
  23. package/components/auth/auth.js +2 -28
  24. package/components/auth/auth__core.d.ts +4 -4
  25. package/components/auth/auth__core.js +753 -1431
  26. package/components/auth/background-flow.js +84 -121
  27. package/components/auth/down-notification.js +31 -78
  28. package/components/auth/iframe-flow.js +70 -124
  29. package/components/auth/request-builder.js +46 -77
  30. package/components/auth/response-parser.js +84 -112
  31. package/components/auth/storage.js +160 -319
  32. package/components/auth/token-validator.js +132 -227
  33. package/components/auth/window-flow.js +84 -121
  34. package/components/auth-dialog/auth-dialog.d.ts +0 -18
  35. package/components/auth-dialog/auth-dialog.js +106 -175
  36. package/components/auth-dialog-service/auth-dialog-service.js +10 -31
  37. package/components/avatar/avatar-example-datauri.js +1 -1
  38. package/components/avatar/avatar.d.ts +0 -13
  39. package/components/avatar/avatar.js +94 -136
  40. package/components/avatar/fallback-avatar.d.ts +1 -10
  41. package/components/avatar/fallback-avatar.js +20 -40
  42. package/components/badge/badge.d.ts +0 -10
  43. package/components/badge/badge.js +32 -48
  44. package/components/breadcrumbs/breadcrumbs.js +13 -17
  45. package/components/button/button.d.ts +0 -21
  46. package/components/button/button.js +67 -101
  47. package/components/button-group/button-group.d.ts +0 -5
  48. package/components/button-group/button-group.js +27 -41
  49. package/components/button-group/caption.d.ts +0 -4
  50. package/components/button-group/caption.js +0 -1
  51. package/components/button-set/button-set.d.ts +0 -6
  52. package/components/button-set/button-set.js +19 -33
  53. package/components/button-toolbar/button-toolbar.d.ts +0 -6
  54. package/components/button-toolbar/button-toolbar.js +17 -31
  55. package/components/caret/caret.js +184 -211
  56. package/components/checkbox/checkbox.d.ts +0 -19
  57. package/components/checkbox/checkbox.js +69 -104
  58. package/components/clipboard/clipboard-fallback.js +7 -7
  59. package/components/clipboard/clipboard.js +36 -129
  60. package/components/code/code.d.ts +0 -12
  61. package/components/code/code.js +83 -163
  62. package/components/collapse/collapse-content.js +42 -60
  63. package/components/collapse/collapse-context.js +2 -2
  64. package/components/collapse/collapse-control.js +12 -12
  65. package/components/collapse/collapse.js +12 -17
  66. package/components/collapse/consts.js +4 -4
  67. package/components/collapse/utils.js +1 -3
  68. package/components/confirm/confirm.d.ts +0 -14
  69. package/components/confirm/confirm.js +67 -111
  70. package/components/confirm-service/confirm-service.js +23 -45
  71. package/components/content-layout/content-layout.d.ts +0 -7
  72. package/components/content-layout/content-layout.js +41 -63
  73. package/components/content-layout/sidebar.d.ts +0 -9
  74. package/components/content-layout/sidebar.js +1 -2
  75. package/components/contenteditable/contenteditable.d.ts +1 -22
  76. package/components/contenteditable/contenteditable.js +37 -60
  77. package/components/control-help/control-help.js +5 -3
  78. package/components/control-label/control-label.js +9 -14
  79. package/components/data-list/data-list.d.ts +0 -2
  80. package/components/data-list/data-list.js +115 -179
  81. package/components/data-list/data-list.mock.js +3 -6
  82. package/components/data-list/item.js +118 -164
  83. package/components/data-list/selection.js +77 -135
  84. package/components/data-list/title.d.ts +2 -2
  85. package/components/data-list/title.js +2 -12
  86. package/components/date-picker/consts.d.ts +0 -2
  87. package/components/date-picker/consts.js +16 -24
  88. package/components/date-picker/date-input.d.ts +0 -20
  89. package/components/date-picker/date-input.js +99 -147
  90. package/components/date-picker/date-picker.d.ts +0 -29
  91. package/components/date-picker/date-picker.js +143 -224
  92. package/components/date-picker/date-popup.d.ts +0 -22
  93. package/components/date-picker/date-popup.js +281 -351
  94. package/components/date-picker/day.d.ts +0 -14
  95. package/components/date-picker/day.js +72 -109
  96. package/components/date-picker/month-names.d.ts +1 -11
  97. package/components/date-picker/month-names.js +42 -72
  98. package/components/date-picker/month-slider.d.ts +0 -9
  99. package/components/date-picker/month-slider.js +43 -71
  100. package/components/date-picker/month.d.ts +1 -9
  101. package/components/date-picker/month.js +18 -30
  102. package/components/date-picker/months.d.ts +1 -9
  103. package/components/date-picker/months.js +45 -55
  104. package/components/date-picker/weekdays.d.ts +2 -8
  105. package/components/date-picker/weekdays.js +12 -25
  106. package/components/date-picker/years.d.ts +0 -6
  107. package/components/date-picker/years.js +77 -104
  108. package/components/dialog/dialog.d.ts +0 -20
  109. package/components/dialog/dialog.js +152 -210
  110. package/components/dialog/dialog__body-scroll-preventer.js +0 -3
  111. package/components/dropdown/anchor.d.ts +1 -8
  112. package/components/dropdown/anchor.js +0 -7
  113. package/components/dropdown/dropdown.d.ts +4 -22
  114. package/components/dropdown/dropdown.js +134 -176
  115. package/components/dropdown-menu/dropdown-menu.js +51 -103
  116. package/components/editable-heading/editable-heading.js +69 -118
  117. package/components/error-bubble/error-bubble.d.ts +0 -6
  118. package/components/error-bubble/error-bubble.js +29 -60
  119. package/components/error-message/error-message.d.ts +0 -10
  120. package/components/error-message/error-message.js +34 -59
  121. package/components/footer/footer.js +27 -43
  122. package/components/global/compose.js +1 -8
  123. package/components/global/composeRefs.d.ts +0 -3
  124. package/components/global/composeRefs.js +8 -15
  125. package/components/global/controls-height.js +2 -2
  126. package/components/global/create-stateful-context.d.ts +0 -4
  127. package/components/global/create-stateful-context.js +14 -17
  128. package/components/global/data-tests.js +7 -12
  129. package/components/global/dom.js +49 -82
  130. package/components/global/focus-sensor-hoc.js +95 -122
  131. package/components/global/fuzzy-highlight.js +23 -34
  132. package/components/global/get-event-key.js +8 -8
  133. package/components/global/get-uid.js +3 -7
  134. package/components/global/inject-styles.js +7 -14
  135. package/components/global/listeners.js +28 -47
  136. package/components/global/memoize.js +6 -10
  137. package/components/global/normalize-indent.js +19 -46
  138. package/components/global/promise-with-timeout.js +6 -8
  139. package/components/global/react-dom-renderer.d.ts +0 -5
  140. package/components/global/react-dom-renderer.js +29 -45
  141. package/components/global/rerender-hoc.js +16 -32
  142. package/components/global/schedule-raf.js +4 -4
  143. package/components/global/sniffer.js +1 -1
  144. package/components/global/theme.d.ts +1 -0
  145. package/components/global/theme.js +2 -20
  146. package/components/global/trivial-template-tag.js +4 -9
  147. package/components/global/typescript-utils.js +2 -6
  148. package/components/global/url.js +20 -23
  149. package/components/global/use-event-callback.js +7 -4
  150. package/components/grid/col.d.ts +0 -14
  151. package/components/grid/col.js +26 -53
  152. package/components/grid/grid.d.ts +0 -5
  153. package/components/grid/grid.js +18 -32
  154. package/components/grid/row.d.ts +0 -18
  155. package/components/grid/row.js +22 -47
  156. package/components/group/group.d.ts +0 -5
  157. package/components/group/group.js +16 -27
  158. package/components/header/header-icon.d.ts +0 -22
  159. package/components/header/header-icon.js +19 -36
  160. package/components/header/header.d.ts +0 -7
  161. package/components/header/header.js +30 -71
  162. package/components/header/links.js +6 -3
  163. package/components/header/logo.d.ts +0 -4
  164. package/components/header/logo.js +15 -30
  165. package/components/header/profile.d.ts +1 -39
  166. package/components/header/profile.js +125 -190
  167. package/components/header/services-link.d.ts +0 -10
  168. package/components/header/services-link.js +1 -4
  169. package/components/header/services.d.ts +0 -14
  170. package/components/header/services.js +65 -110
  171. package/components/header/smart-profile.d.ts +0 -9
  172. package/components/header/smart-profile.js +119 -205
  173. package/components/header/smart-services.d.ts +0 -4
  174. package/components/header/smart-services.js +72 -141
  175. package/components/header/tray.d.ts +0 -5
  176. package/components/header/tray.js +21 -35
  177. package/components/heading/heading.js +21 -26
  178. package/components/http/http.js +162 -319
  179. package/components/http/http.mock.js +50 -98
  180. package/components/hub-source/hub-source.js +77 -182
  181. package/components/hub-source/hub-source__user.js +9 -37
  182. package/components/hub-source/hub-source__users-groups.js +34 -60
  183. package/components/i18n/i18n-context.js +7 -8
  184. package/components/i18n/i18n.js +3 -6
  185. package/components/icon/icon.d.ts +0 -11
  186. package/components/icon/icon.js +60 -85
  187. package/components/icon/icon__svg.d.ts +0 -8
  188. package/components/icon/icon__svg.js +0 -6
  189. package/components/icon/index.js +0 -6
  190. package/components/input/input.js +1 -13
  191. package/components/island/adaptive-island-hoc.d.ts +0 -1
  192. package/components/island/adaptive-island-hoc.js +30 -39
  193. package/components/island/content.d.ts +0 -10
  194. package/components/island/content.js +99 -119
  195. package/components/island/header.js +55 -73
  196. package/components/island/island.d.ts +0 -9
  197. package/components/island/island.js +25 -41
  198. package/components/island-legacy/content-legacy.d.ts +0 -5
  199. package/components/island-legacy/content-legacy.js +16 -27
  200. package/components/island-legacy/header-legacy.d.ts +0 -5
  201. package/components/island-legacy/header-legacy.js +19 -30
  202. package/components/island-legacy/island-legacy.d.ts +0 -5
  203. package/components/island-legacy/island-legacy.js +16 -27
  204. package/components/link/clickableLink.d.ts +0 -9
  205. package/components/link/clickableLink.js +33 -51
  206. package/components/link/link.d.ts +0 -25
  207. package/components/link/link.js +47 -68
  208. package/components/list/consts.js +2 -2
  209. package/components/list/list.d.ts +0 -32
  210. package/components/list/list.js +399 -516
  211. package/components/list/list__custom.js +51 -78
  212. package/components/list/list__hint.d.ts +0 -4
  213. package/components/list/list__hint.js +8 -21
  214. package/components/list/list__item.js +147 -211
  215. package/components/list/list__link.js +39 -59
  216. package/components/list/list__separator.js +15 -30
  217. package/components/list/list__title.js +25 -41
  218. package/components/list/list__users-groups-source.js +55 -123
  219. package/components/loader/loader.d.ts +0 -10
  220. package/components/loader/loader.js +38 -70
  221. package/components/loader/loader__core.js +123 -184
  222. package/components/loader-inline/loader-inline.d.ts +0 -6
  223. package/components/loader-inline/loader-inline.js +24 -38
  224. package/components/loader-screen/loader-screen.d.ts +0 -6
  225. package/components/loader-screen/loader-screen.js +24 -46
  226. package/components/login-dialog/login-dialog.d.ts +0 -11
  227. package/components/login-dialog/login-dialog.js +93 -144
  228. package/components/login-dialog/service.js +9 -31
  229. package/components/markdown/markdown.js +16 -29
  230. package/components/message/message.js +170 -217
  231. package/components/old-browsers-message/old-browsers-message.js +11 -14
  232. package/components/old-browsers-message/old-browsers-message__stop.js +1 -4
  233. package/components/old-browsers-message/white-list.js +8 -13
  234. package/components/pager/pager.js +212 -277
  235. package/components/panel/panel.d.ts +0 -5
  236. package/components/panel/panel.js +16 -27
  237. package/components/permissions/permissions.js +118 -161
  238. package/components/permissions/permissions__cache.js +191 -218
  239. package/components/popup/popup.consts.js +1 -1
  240. package/components/popup/popup.js +237 -329
  241. package/components/popup/popup.target.js +9 -12
  242. package/components/popup/position.js +94 -101
  243. package/components/popup-menu/popup-menu.js +31 -76
  244. package/components/progress-bar/progress-bar.d.ts +19 -33
  245. package/components/progress-bar/progress-bar.js +55 -99
  246. package/components/query-assist/query-assist.d.ts +63 -93
  247. package/components/query-assist/query-assist.js +583 -746
  248. package/components/query-assist/query-assist__suggestions.js +2 -28
  249. package/components/radio/radio.d.ts +0 -8
  250. package/components/radio/radio.js +15 -35
  251. package/components/radio/radio__item.d.ts +0 -9
  252. package/components/radio/radio__item.js +52 -72
  253. package/components/scrollable-section/scrollable-section.js +22 -32
  254. package/components/select/select.js +693 -858
  255. package/components/select/select__filter.js +1 -28
  256. package/components/select/select__popup.js +317 -465
  257. package/components/shortcuts/core.js +147 -195
  258. package/components/shortcuts/shortcut-title.js +6 -10
  259. package/components/shortcuts/shortcuts-hoc.d.ts +0 -5
  260. package/components/shortcuts/shortcuts-hoc.js +23 -46
  261. package/components/shortcuts/shortcuts.d.ts +0 -8
  262. package/components/shortcuts/shortcuts.js +41 -72
  263. package/components/slider/slider.js +93 -113
  264. package/components/slider/slider.utils.js +16 -23
  265. package/components/storage/storage.js +3 -28
  266. package/components/storage/storage__fallback.js +137 -210
  267. package/components/storage/storage__local.js +89 -148
  268. package/components/style.css +1 -1
  269. package/components/tab-trap/tab-trap.js +35 -61
  270. package/components/table/cell.d.ts +0 -6
  271. package/components/table/cell.js +11 -27
  272. package/components/table/disable-hover-hoc.d.ts +0 -1
  273. package/components/table/disable-hover-hoc.js +27 -42
  274. package/components/table/header-cell.d.ts +0 -10
  275. package/components/table/header-cell.js +59 -85
  276. package/components/table/header.d.ts +0 -15
  277. package/components/table/header.js +89 -126
  278. package/components/table/multitable.d.ts +0 -4
  279. package/components/table/multitable.js +83 -93
  280. package/components/table/row-with-focus-sensor.d.ts +2 -2
  281. package/components/table/row-with-focus-sensor.js +25 -60
  282. package/components/table/row.js +169 -235
  283. package/components/table/selection-adapter.js +2 -2
  284. package/components/table/selection-shortcuts-hoc.js +102 -126
  285. package/components/table/selection.js +150 -217
  286. package/components/table/simple-table.d.ts +0 -44
  287. package/components/table/simple-table.js +17 -59
  288. package/components/table/smart-table.d.ts +0 -48
  289. package/components/table/smart-table.js +40 -83
  290. package/components/table/table.d.ts +0 -2
  291. package/components/table/table.js +268 -377
  292. package/components/tabs/collapsible-more.d.ts +1 -9
  293. package/components/tabs/collapsible-more.js +47 -97
  294. package/components/tabs/collapsible-tab.js +32 -44
  295. package/components/tabs/collapsible-tabs.d.ts +2 -29
  296. package/components/tabs/collapsible-tabs.js +89 -161
  297. package/components/tabs/custom-item.d.ts +1 -7
  298. package/components/tabs/custom-item.js +4 -7
  299. package/components/tabs/dumb-tabs.d.ts +0 -11
  300. package/components/tabs/dumb-tabs.js +60 -104
  301. package/components/tabs/smart-tabs.d.ts +0 -6
  302. package/components/tabs/smart-tabs.js +29 -68
  303. package/components/tabs/tab-link.d.ts +0 -8
  304. package/components/tabs/tab-link.js +1 -4
  305. package/components/tabs/tab.d.ts +0 -8
  306. package/components/tabs/tab.js +14 -32
  307. package/components/tabs/tabs.js +1 -28
  308. package/components/tag/tag.d.ts +0 -19
  309. package/components/tag/tag.js +120 -179
  310. package/components/tags-input/tags-input.d.ts +7 -33
  311. package/components/tags-input/tags-input.js +223 -338
  312. package/components/tags-list/tags-list.d.ts +0 -13
  313. package/components/tags-list/tags-list.js +45 -74
  314. package/components/text/text.d.ts +0 -7
  315. package/components/text/text.js +27 -43
  316. package/components/toggle/toggle.d.ts +0 -15
  317. package/components/toggle/toggle.js +51 -76
  318. package/components/tooltip/tooltip.d.ts +0 -9
  319. package/components/tooltip/tooltip.js +109 -150
  320. package/components/user-agreement/service.js +259 -401
  321. package/components/user-agreement/user-agreement.d.ts +0 -18
  322. package/components/user-agreement/user-agreement.js +91 -137
  323. package/components/user-card/card.d.ts +0 -35
  324. package/components/user-card/card.js +1 -26
  325. package/components/user-card/smart-user-card-tooltip.d.ts +0 -5
  326. package/components/user-card/smart-user-card-tooltip.js +52 -108
  327. package/components/user-card/tooltip.d.ts +0 -9
  328. package/components/user-card/tooltip.js +35 -74
  329. package/components/user-card/user-card.js +1 -26
  330. package/package.json +1 -2
  331. package/components/global/prop-types.d.ts +0 -4
  332. package/components/global/prop-types.js +0 -9
  333. package/components/global/react-render-adapter.d.ts +0 -1
  334. package/components/global/react-render-adapter.js +0 -6
  335. package/components/header/tray-icon.d.ts +0 -1
  336. package/components/header/tray-icon.js +0 -26
@@ -1,18 +1,12 @@
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.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.to-string.js';
6
- import 'core-js/modules/es.promise.js';
7
- import 'core-js/modules/es.reflect.delete-property.js';
1
+ import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
8
2
  import 'core-js/modules/web.dom-collections.iterator.js';
9
3
  import deepEqual from 'deep-equal';
10
4
 
11
- var DEFAULT_CHECK_DELAY = 3000;
12
- var COOKIE_EXPIRES = 365;
13
- var QUOTA = 4093;
5
+ const DEFAULT_CHECK_DELAY = 3000;
6
+ const COOKIE_EXPIRES = 365;
7
+ const QUOTA = 4093;
14
8
  // eslint-disable-next-line @typescript-eslint/no-magic-numbers
15
- var SECONDS_IN_DAY = 24 * 60 * 60 * 1000;
9
+ const SECONDS_IN_DAY = 24 * 60 * 60 * 1000;
16
10
  /**
17
11
  * @prop {string} cookieName
18
12
  *
@@ -22,14 +16,52 @@ var SECONDS_IN_DAY = 24 * 60 * 60 * 1000;
22
16
  * @return {FallbackStorage}
23
17
  * @constructor
24
18
  */
25
- var FallbackStorage = /*#__PURE__*/function () {
26
- function FallbackStorage() {
27
- var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
28
- _classCallCheck(this, FallbackStorage);
19
+ class FallbackStorage {
20
+ /**
21
+ * @param {string} name
22
+ * @param {string} value
23
+ * @param {number} days
24
+ * @private
25
+ */
26
+ static _createCookie(name, value, days) {
27
+ let date;
28
+ let expires;
29
+ if (days) {
30
+ date = new Date();
31
+ date.setTime(date.getTime() + days * SECONDS_IN_DAY);
32
+ expires = "; expires=".concat(date.toUTCString());
33
+ } else {
34
+ expires = ';';
35
+ }
36
+ document.cookie = "".concat(name, "=").concat(value).concat(expires, "; path=/");
37
+ }
38
+ /**
39
+ *
40
+ * @param {string} name
41
+ * @return {string}
42
+ * @private
43
+ */
44
+ static _readCookie(name) {
45
+ const nameEQ = "".concat(name, "=");
46
+ const cookies = document.cookie.split(';');
47
+ let cookie;
48
+ for (let i = 0; i < cookies.length; i++) {
49
+ cookie = cookies[i];
50
+ while (cookie.charAt(0) === ' ') {
51
+ cookie = cookie.substring(1, cookie.length);
52
+ }
53
+ if (cookie.indexOf(nameEQ) === 0) {
54
+ return cookie.substring(nameEQ.length, cookie.length);
55
+ }
56
+ }
57
+ return undefined;
58
+ }
59
+ constructor() {
60
+ let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
29
61
  _defineProperty(this, "cookieName", void 0);
30
62
  _defineProperty(this, "checkDelay", void 0);
31
63
  _defineProperty(this, "expires", void 0);
32
- var session = config.type === 'session';
64
+ const session = config.type === 'session';
33
65
  this.cookieName = config.cookieName || (session ? FallbackStorage.DEFAULT_SESSION_COOKIE_NAME : FallbackStorage.DEFAULT_COOKIE_NAME);
34
66
  this.checkDelay = config.checkDelay || FallbackStorage.DEFAULT_CHECK_DELAY;
35
67
  this.expires = session ? FallbackStorage.COOKIE_EXPIRES : null;
@@ -38,207 +70,102 @@ var FallbackStorage = /*#__PURE__*/function () {
38
70
  * @return {Promise}
39
71
  * @private
40
72
  */
41
- return _createClass(FallbackStorage, [{
42
- key: "_read",
43
- value: function _read() {
44
- var _this = this;
45
- return new Promise(function (resolve, reject) {
46
- var rawData = FallbackStorage._readCookie(_this.cookieName);
47
- if (rawData != null) {
48
- resolve(JSON.parse(decodeURIComponent(rawData)));
49
- } else {
50
- reject();
51
- }
52
- }).catch(function () {
53
- return {};
54
- });
55
- }
56
- /**
57
- * @param data
58
- * @return {Promise}
59
- * @private
60
- */
61
- }, {
62
- key: "_write",
63
- value: function _write(data) {
64
- var _this2 = this;
65
- return new Promise(function (resolve) {
66
- var stringData = encodeURIComponent(JSON.stringify(data));
67
- FallbackStorage._createCookie(_this2.cookieName, stringData === '{}' ? '' : stringData, _this2.expires);
68
- return resolve(data);
69
- });
70
- }
71
- /**
72
- * @param {string} key
73
- * @return {Promise}
74
- */
75
- }, {
76
- key: "get",
77
- value: function get(key) {
78
- return this._read().then(function (data) {
79
- return data[key] || null;
80
- });
81
- }
82
- /**
83
- * @param {string} key
84
- * @param {object} value
85
- * @return {Promise}
86
- */
87
- }, {
88
- key: "set",
89
- value: (function () {
90
- var _set = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(key, value) {
91
- var data;
92
- return _regeneratorRuntime().wrap(function _callee$(_context) {
93
- while (1) switch (_context.prev = _context.next) {
94
- case 0:
95
- _context.next = 2;
96
- return this._read();
97
- case 2:
98
- data = _context.sent;
99
- if (key) {
100
- if (value != null) {
101
- data[key] = value;
102
- } else {
103
- Reflect.deleteProperty(data, key);
104
- }
105
- }
106
- _context.next = 6;
107
- return this._write(data);
108
- case 6:
109
- return _context.abrupt("return", value);
110
- case 7:
111
- case "end":
112
- return _context.stop();
113
- }
114
- }, _callee, this);
115
- }));
116
- function set(_x, _x2) {
117
- return _set.apply(this, arguments);
118
- }
119
- return set;
120
- }()
121
- /**
122
- * @param {string} key
123
- * @return {Promise}
124
- */
125
- )
126
- }, {
127
- key: "remove",
128
- value: (function () {
129
- var _remove = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(key) {
130
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
131
- while (1) switch (_context2.prev = _context2.next) {
132
- case 0:
133
- _context2.next = 2;
134
- return this.set(key, null);
135
- case 2:
136
- case "end":
137
- return _context2.stop();
138
- }
139
- }, _callee2, this);
140
- }));
141
- function remove(_x3) {
142
- return _remove.apply(this, arguments);
73
+ _read() {
74
+ return new Promise((resolve, reject) => {
75
+ const rawData = FallbackStorage._readCookie(this.cookieName);
76
+ if (rawData != null) {
77
+ resolve(JSON.parse(decodeURIComponent(rawData)));
78
+ } else {
79
+ reject();
143
80
  }
144
- return remove;
145
- }()
146
- /**
147
- *
148
- * @param {function(string, value)} callback
149
- * @return {Promise}
150
- */
151
- )
152
- }, {
153
- key: "each",
154
- value: function each(callback) {
155
- if (typeof callback !== 'function') {
156
- return Promise.reject(new Error('Callback is not a function'));
81
+ }).catch(() => ({}));
82
+ }
83
+ /**
84
+ * @param data
85
+ * @return {Promise}
86
+ * @private
87
+ */
88
+ _write(data) {
89
+ return new Promise(resolve => {
90
+ const stringData = encodeURIComponent(JSON.stringify(data));
91
+ FallbackStorage._createCookie(this.cookieName, stringData === '{}' ? '' : stringData, this.expires);
92
+ return resolve(data);
93
+ });
94
+ }
95
+ /**
96
+ * @param {string} key
97
+ * @return {Promise}
98
+ */
99
+ get(key) {
100
+ return this._read().then(data => data[key] || null);
101
+ }
102
+ /**
103
+ * @param {string} key
104
+ * @param {object} value
105
+ * @return {Promise}
106
+ */
107
+ async set(key, value) {
108
+ const data = await this._read();
109
+ if (key) {
110
+ if (value != null) {
111
+ data[key] = value;
112
+ } else {
113
+ Reflect.deleteProperty(data, key);
157
114
  }
158
- return this._read().then(function (data) {
159
- var promises = [];
160
- for (var key in data) {
161
- if (data.hasOwnProperty(key)) {
162
- promises.push(callback(key, data[key]));
163
- }
164
- }
165
- return Promise.all(promises);
166
- });
167
115
  }
168
- /**
169
- * @param {string} key
170
- * @param {Function} callback
171
- * @return {Function}
172
- */
173
- }, {
174
- key: "on",
175
- value: function on(key, callback) {
176
- var _this3 = this;
177
- var stop = false;
178
- var checkForChange = function checkForChange(oldValue) {
179
- _this3.get(key).then(function (newValue) {
180
- if (stop) {
181
- return;
182
- }
183
- if (!deepEqual(oldValue, newValue)) {
184
- callback(newValue);
185
- }
186
- window.setTimeout(function () {
187
- return checkForChange(oldValue);
188
- }, _this3.checkDelay);
189
- });
190
- };
191
- this.get(key).then(checkForChange);
192
- return function () {
193
- stop = true;
194
- };
116
+ await this._write(data);
117
+ return value;
118
+ }
119
+ /**
120
+ * @param {string} key
121
+ * @return {Promise}
122
+ */
123
+ async remove(key) {
124
+ await this.set(key, null);
125
+ }
126
+ /**
127
+ *
128
+ * @param {function(string, value)} callback
129
+ * @return {Promise}
130
+ */
131
+ each(callback) {
132
+ if (typeof callback !== 'function') {
133
+ return Promise.reject(new Error('Callback is not a function'));
195
134
  }
196
- }], [{
197
- key: "_createCookie",
198
- value:
199
- /**
200
- * @param {string} name
201
- * @param {string} value
202
- * @param {number} days
203
- * @private
204
- */
205
- function _createCookie(name, value, days) {
206
- var date;
207
- var expires;
208
- if (days) {
209
- date = new Date();
210
- date.setTime(date.getTime() + days * SECONDS_IN_DAY);
211
- expires = "; expires=".concat(date.toUTCString());
212
- } else {
213
- expires = ';';
135
+ return this._read().then(data => {
136
+ const promises = [];
137
+ for (const key in data) {
138
+ if (data.hasOwnProperty(key)) {
139
+ promises.push(callback(key, data[key]));
140
+ }
214
141
  }
215
- document.cookie = "".concat(name, "=").concat(value).concat(expires, "; path=/");
216
- }
217
- /**
218
- *
219
- * @param {string} name
220
- * @return {string}
221
- * @private
222
- */
223
- }, {
224
- key: "_readCookie",
225
- value: function _readCookie(name) {
226
- var nameEQ = "".concat(name, "=");
227
- var cookies = document.cookie.split(';');
228
- var cookie;
229
- for (var i = 0; i < cookies.length; i++) {
230
- cookie = cookies[i];
231
- while (cookie.charAt(0) === ' ') {
232
- cookie = cookie.substring(1, cookie.length);
142
+ return Promise.all(promises);
143
+ });
144
+ }
145
+ /**
146
+ * @param {string} key
147
+ * @param {Function} callback
148
+ * @return {Function}
149
+ */
150
+ on(key, callback) {
151
+ let stop = false;
152
+ const checkForChange = oldValue => {
153
+ this.get(key).then(newValue => {
154
+ if (stop) {
155
+ return;
233
156
  }
234
- if (cookie.indexOf(nameEQ) === 0) {
235
- return cookie.substring(nameEQ.length, cookie.length);
157
+ if (!deepEqual(oldValue, newValue)) {
158
+ callback(newValue);
236
159
  }
237
- }
238
- return undefined;
239
- }
240
- }]);
241
- }();
160
+ window.setTimeout(() => checkForChange(oldValue), this.checkDelay);
161
+ });
162
+ };
163
+ this.get(key).then(checkForChange);
164
+ return () => {
165
+ stop = true;
166
+ };
167
+ }
168
+ }
242
169
  _defineProperty(FallbackStorage, "DEFAULT_COOKIE_NAME", 'localStorage');
243
170
  _defineProperty(FallbackStorage, "DEFAULT_SESSION_COOKIE_NAME", 'sessionStorage');
244
171
  _defineProperty(FallbackStorage, "DEFAULT_CHECK_DELAY", DEFAULT_CHECK_DELAY);
@@ -1,20 +1,11 @@
1
- import { b as _createClass, e as _classCallCheck, _ as _defineProperty, g as _asyncToGenerator, h as _regeneratorRuntime } from '../_helpers/_rollupPluginBabelHelpers.js';
2
- import 'core-js/modules/es.array.iterator.js';
3
- import 'core-js/modules/es.object.to-string.js';
4
- import 'core-js/modules/es.promise.js';
1
+ import { _ as _defineProperty } from '../_helpers/_rollupPluginBabelHelpers.js';
5
2
  import 'core-js/modules/web.dom-collections.iterator.js';
6
3
  import alertService from '../alert-service/alert-service.js';
7
- import 'core-js/modules/es.array.concat.js';
8
- import 'core-js/modules/es.array.filter.js';
9
- import 'core-js/modules/es.array.map.js';
10
4
  import 'react-dom/client';
11
5
  import '../global/get-uid.js';
12
- import 'core-js/modules/es.regexp.to-string.js';
13
6
  import '../alert/alert.js';
14
- import 'core-js/modules/es.object.values.js';
15
7
  import 'react';
16
8
  import 'classnames';
17
- import 'prop-types';
18
9
  import '@jetbrains/icons/exception';
19
10
  import '@jetbrains/icons/checkmark';
20
11
  import '@jetbrains/icons/warning';
@@ -25,20 +16,12 @@ import '../icon/icon__constants.js';
25
16
  import '../_helpers/icon__svg.js';
26
17
  import 'core-js/modules/es.regexp.exec.js';
27
18
  import 'core-js/modules/es.string.replace.js';
28
- import 'core-js/modules/es.string.starts-with.js';
29
19
  import '../global/memoize.js';
30
- import 'core-js/modules/es.map.js';
31
- import 'core-js/modules/es.weak-map.js';
32
20
  import 'react/jsx-runtime';
33
21
  import '../loader-inline/loader-inline.js';
34
22
  import '../global/data-tests.js';
35
23
  import 'core-js/modules/es.array.reduce.js';
36
- import 'core-js/modules/es.object.entries.js';
37
24
  import '../global/dom.js';
38
- import 'core-js/modules/es.object.assign.js';
39
- import 'core-js/modules/es.set.js';
40
- import 'core-js/modules/es.string.split.js';
41
- import 'core-js/modules/web.dom-collections.for-each.js';
42
25
  import '../button/button.js';
43
26
  import '@jetbrains/icons/chevron-down';
44
27
  import '../link/clickableLink.js';
@@ -51,12 +34,6 @@ import '../popup/popup.js';
51
34
  import '../global/schedule-raf.js';
52
35
  import '../shortcuts/shortcuts.js';
53
36
  import '../shortcuts/core.js';
54
- import 'core-js/modules/es.array.find-index.js';
55
- import 'core-js/modules/es.array.includes.js';
56
- import 'core-js/modules/es.array.slice.js';
57
- import 'core-js/modules/es.array.splice.js';
58
- import 'core-js/modules/es.string.includes.js';
59
- import 'core-js/modules/es.string.match.js';
60
37
  import 'combokeys';
61
38
  import '../global/sniffer.js';
62
39
  import 'sniffr';
@@ -71,10 +48,19 @@ import '../alert/container.js';
71
48
  * @param {{type: string}} config Set to "session" to use sessionStorage
72
49
  * @constructor
73
50
  */
74
- var LocalStorage = /*#__PURE__*/function () {
75
- function LocalStorage() {
76
- var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
77
- _classCallCheck(this, LocalStorage);
51
+ class LocalStorage {
52
+ static async safePromise(resolver) {
53
+ try {
54
+ return await new Promise(resolver);
55
+ } catch (e) {
56
+ if (e instanceof Error && e.name === 'NS_ERROR_FILE_CORRUPTED') {
57
+ alertService.error('Sorry, it looks like your browser storage is corrupted. ' + 'Please clear your storage by going to Tools -> Clear Recent History -> Cookies' + ' and setting time range to "Everything". This will remove the corrupted browser storage across all sites.');
58
+ }
59
+ throw e;
60
+ }
61
+ }
62
+ constructor() {
63
+ let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
78
64
  _defineProperty(this, "storageType", void 0);
79
65
  this.storageType = config.type === 'session' ? 'sessionStorage' : 'localStorage';
80
66
  }
@@ -82,136 +68,91 @@ var LocalStorage = /*#__PURE__*/function () {
82
68
  * @param {string} name
83
69
  * @return {Promise}
84
70
  */
85
- return _createClass(LocalStorage, [{
86
- key: "get",
87
- value: function get(name) {
88
- var _this = this;
89
- return LocalStorage.safePromise(function (resolve) {
90
- var value = window[_this.storageType].getItem(name);
91
- if (value != null) {
92
- try {
93
- resolve(JSON.parse(value));
94
- } catch (e) {
95
- resolve(value);
96
- }
97
- } else {
71
+ get(name) {
72
+ return LocalStorage.safePromise(resolve => {
73
+ const value = window[this.storageType].getItem(name);
74
+ if (value != null) {
75
+ try {
76
+ resolve(JSON.parse(value));
77
+ } catch (e) {
98
78
  resolve(value);
99
79
  }
100
- });
101
- }
102
- /**
103
- * @param {string} name
104
- * @param {object} value
105
- * @return {Promise}
106
- */
107
- }, {
108
- key: "set",
109
- value: function set(name, value) {
110
- var _this2 = this;
111
- return LocalStorage.safePromise(function (resolve) {
112
- window[_this2.storageType].setItem(name, JSON.stringify(value));
80
+ } else {
113
81
  resolve(value);
114
- });
115
- }
116
- /**
117
- * @param {string} name
118
- * @return {Promise}
119
- */
120
- }, {
121
- key: "remove",
122
- value: function remove(name) {
123
- var storageType = this.storageType;
124
- return LocalStorage.safePromise(function (resolve) {
125
- if (window[storageType].hasOwnProperty(name)) {
126
- window[storageType].removeItem(name);
127
- }
128
- resolve();
129
- });
130
- }
131
- /**
132
- * @param callback
133
- * @return {Promise}s
134
- */
135
- }, {
136
- key: "each",
137
- value: function each(callback) {
138
- var storageType = this.storageType;
139
- return LocalStorage.safePromise(function (resolve) {
140
- var promises = [];
141
- for (var item in window[storageType]) {
142
- if (window[storageType].hasOwnProperty(item)) {
143
- var value = window[storageType].getItem(item);
144
- var resolvedValue = null;
145
- if (value != null) {
146
- try {
147
- resolvedValue = JSON.parse(value);
148
- } catch (e) {
149
- resolvedValue = value;
150
- }
82
+ }
83
+ });
84
+ }
85
+ /**
86
+ * @param {string} name
87
+ * @param {object} value
88
+ * @return {Promise}
89
+ */
90
+ set(name, value) {
91
+ return LocalStorage.safePromise(resolve => {
92
+ window[this.storageType].setItem(name, JSON.stringify(value));
93
+ resolve(value);
94
+ });
95
+ }
96
+ /**
97
+ * @param {string} name
98
+ * @return {Promise}
99
+ */
100
+ remove(name) {
101
+ const storageType = this.storageType;
102
+ return LocalStorage.safePromise(resolve => {
103
+ if (window[storageType].hasOwnProperty(name)) {
104
+ window[storageType].removeItem(name);
105
+ }
106
+ resolve();
107
+ });
108
+ }
109
+ /**
110
+ * @param callback
111
+ * @return {Promise}s
112
+ */
113
+ each(callback) {
114
+ const storageType = this.storageType;
115
+ return LocalStorage.safePromise(resolve => {
116
+ const promises = [];
117
+ for (const item in window[storageType]) {
118
+ if (window[storageType].hasOwnProperty(item)) {
119
+ const value = window[storageType].getItem(item);
120
+ let resolvedValue = null;
121
+ if (value != null) {
122
+ try {
123
+ resolvedValue = JSON.parse(value);
124
+ } catch (e) {
125
+ resolvedValue = value;
151
126
  }
152
- promises.push(Promise.resolve(callback(item, resolvedValue)));
153
127
  }
128
+ promises.push(Promise.resolve(callback(item, resolvedValue)));
154
129
  }
155
- resolve(Promise.all(promises));
156
- });
157
- }
158
- /**
159
- * @param {string} name
160
- * @param {Function} callback
161
- * @return {Function}
162
- */
163
- }, {
164
- key: "on",
165
- value: function on(name, callback) {
166
- function handleStorage(e) {
167
- if (e.key === name) {
168
- if (e.newValue != null) {
169
- try {
170
- callback(JSON.parse(e.newValue));
171
- } catch (err) {
172
- callback(e.newValue);
173
- }
174
- } else {
130
+ }
131
+ resolve(Promise.all(promises));
132
+ });
133
+ }
134
+ /**
135
+ * @param {string} name
136
+ * @param {Function} callback
137
+ * @return {Function}
138
+ */
139
+ on(name, callback) {
140
+ function handleStorage(e) {
141
+ if (e.key === name) {
142
+ if (e.newValue != null) {
143
+ try {
144
+ callback(JSON.parse(e.newValue));
145
+ } catch (err) {
175
146
  callback(e.newValue);
176
147
  }
148
+ } else {
149
+ callback(e.newValue);
177
150
  }
178
151
  }
179
- window.addEventListener('storage', handleStorage, false);
180
- return function () {
181
- return window.removeEventListener('storage', handleStorage, false);
182
- };
183
152
  }
184
- }], [{
185
- key: "safePromise",
186
- value: function () {
187
- var _safePromise = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(resolver) {
188
- return _regeneratorRuntime().wrap(function _callee$(_context) {
189
- while (1) switch (_context.prev = _context.next) {
190
- case 0:
191
- _context.prev = 0;
192
- _context.next = 3;
193
- return new Promise(resolver);
194
- case 3:
195
- return _context.abrupt("return", _context.sent);
196
- case 6:
197
- _context.prev = 6;
198
- _context.t0 = _context["catch"](0);
199
- if (_context.t0 instanceof Error && _context.t0.name === 'NS_ERROR_FILE_CORRUPTED') {
200
- alertService.error('Sorry, it looks like your browser storage is corrupted. ' + 'Please clear your storage by going to Tools -> Clear Recent History -> Cookies' + ' and setting time range to "Everything". This will remove the corrupted browser storage across all sites.');
201
- }
202
- throw _context.t0;
203
- case 10:
204
- case "end":
205
- return _context.stop();
206
- }
207
- }, _callee, null, [[0, 6]]);
208
- }));
209
- function safePromise(_x) {
210
- return _safePromise.apply(this, arguments);
211
- }
212
- return safePromise;
213
- }()
214
- }]);
215
- }();
153
+ window.addEventListener('storage', handleStorage, false);
154
+ return () => window.removeEventListener('storage', handleStorage, false);
155
+ }
156
+ }
216
157
 
217
158
  export { LocalStorage as default };