@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,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 };