@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,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,17 +1,9 @@
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
9
  import 'prop-types';
@@ -25,20 +17,12 @@ import '../icon/icon__constants.js';
25
17
  import '../_helpers/icon__svg.js';
26
18
  import 'core-js/modules/es.regexp.exec.js';
27
19
  import 'core-js/modules/es.string.replace.js';
28
- import 'core-js/modules/es.string.starts-with.js';
29
20
  import '../global/memoize.js';
30
- import 'core-js/modules/es.map.js';
31
- import 'core-js/modules/es.weak-map.js';
32
21
  import 'react/jsx-runtime';
33
22
  import '../loader-inline/loader-inline.js';
34
23
  import '../global/data-tests.js';
35
24
  import 'core-js/modules/es.array.reduce.js';
36
- import 'core-js/modules/es.object.entries.js';
37
25
  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
26
  import '../button/button.js';
43
27
  import '@jetbrains/icons/chevron-down';
44
28
  import '../link/clickableLink.js';
@@ -51,12 +35,6 @@ import '../popup/popup.js';
51
35
  import '../global/schedule-raf.js';
52
36
  import '../shortcuts/shortcuts.js';
53
37
  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
38
  import 'combokeys';
61
39
  import '../global/sniffer.js';
62
40
  import 'sniffr';
@@ -71,10 +49,19 @@ import '../alert/container.js';
71
49
  * @param {{type: string}} config Set to "session" to use sessionStorage
72
50
  * @constructor
73
51
  */
74
- var LocalStorage = /*#__PURE__*/function () {
75
- function LocalStorage() {
76
- var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
77
- _classCallCheck(this, LocalStorage);
52
+ class LocalStorage {
53
+ static async safePromise(resolver) {
54
+ try {
55
+ return await new Promise(resolver);
56
+ } catch (e) {
57
+ if (e instanceof Error && e.name === 'NS_ERROR_FILE_CORRUPTED') {
58
+ 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.');
59
+ }
60
+ throw e;
61
+ }
62
+ }
63
+ constructor() {
64
+ let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
78
65
  _defineProperty(this, "storageType", void 0);
79
66
  this.storageType = config.type === 'session' ? 'sessionStorage' : 'localStorage';
80
67
  }
@@ -82,136 +69,91 @@ var LocalStorage = /*#__PURE__*/function () {
82
69
  * @param {string} name
83
70
  * @return {Promise}
84
71
  */
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 {
72
+ get(name) {
73
+ return LocalStorage.safePromise(resolve => {
74
+ const value = window[this.storageType].getItem(name);
75
+ if (value != null) {
76
+ try {
77
+ resolve(JSON.parse(value));
78
+ } catch (e) {
98
79
  resolve(value);
99
80
  }
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));
81
+ } else {
113
82
  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
- }
83
+ }
84
+ });
85
+ }
86
+ /**
87
+ * @param {string} name
88
+ * @param {object} value
89
+ * @return {Promise}
90
+ */
91
+ set(name, value) {
92
+ return LocalStorage.safePromise(resolve => {
93
+ window[this.storageType].setItem(name, JSON.stringify(value));
94
+ resolve(value);
95
+ });
96
+ }
97
+ /**
98
+ * @param {string} name
99
+ * @return {Promise}
100
+ */
101
+ remove(name) {
102
+ const storageType = this.storageType;
103
+ return LocalStorage.safePromise(resolve => {
104
+ if (window[storageType].hasOwnProperty(name)) {
105
+ window[storageType].removeItem(name);
106
+ }
107
+ resolve();
108
+ });
109
+ }
110
+ /**
111
+ * @param callback
112
+ * @return {Promise}s
113
+ */
114
+ each(callback) {
115
+ const storageType = this.storageType;
116
+ return LocalStorage.safePromise(resolve => {
117
+ const promises = [];
118
+ for (const item in window[storageType]) {
119
+ if (window[storageType].hasOwnProperty(item)) {
120
+ const value = window[storageType].getItem(item);
121
+ let resolvedValue = null;
122
+ if (value != null) {
123
+ try {
124
+ resolvedValue = JSON.parse(value);
125
+ } catch (e) {
126
+ resolvedValue = value;
151
127
  }
152
- promises.push(Promise.resolve(callback(item, resolvedValue)));
153
128
  }
129
+ promises.push(Promise.resolve(callback(item, resolvedValue)));
154
130
  }
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 {
131
+ }
132
+ resolve(Promise.all(promises));
133
+ });
134
+ }
135
+ /**
136
+ * @param {string} name
137
+ * @param {Function} callback
138
+ * @return {Function}
139
+ */
140
+ on(name, callback) {
141
+ function handleStorage(e) {
142
+ if (e.key === name) {
143
+ if (e.newValue != null) {
144
+ try {
145
+ callback(JSON.parse(e.newValue));
146
+ } catch (err) {
175
147
  callback(e.newValue);
176
148
  }
149
+ } else {
150
+ callback(e.newValue);
177
151
  }
178
152
  }
179
- window.addEventListener('storage', handleStorage, false);
180
- return function () {
181
- return window.removeEventListener('storage', handleStorage, false);
182
- };
183
153
  }
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
- }();
154
+ window.addEventListener('storage', handleStorage, false);
155
+ return () => window.removeEventListener('storage', handleStorage, false);
156
+ }
157
+ }
216
158
 
217
159
  export { LocalStorage as default };