@jetbrains/ring-ui 5.0.156 → 5.0.157

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 (295) hide show
  1. package/dist/_helpers/_rollupPluginBabelHelpers.js +642 -1
  2. package/dist/_helpers/anchor.js +6 -7
  3. package/dist/_helpers/button__classes.js +16 -28
  4. package/dist/_helpers/card.js +107 -95
  5. package/dist/_helpers/dialog__body-scroll-preventer.js +20 -11
  6. package/dist/_helpers/footer.js +29 -34
  7. package/dist/_helpers/query-assist__suggestions.js +91 -74
  8. package/dist/_helpers/select__filter.js +71 -48
  9. package/dist/_helpers/services-link.js +41 -29
  10. package/dist/_helpers/sidebar.js +103 -99
  11. package/dist/_helpers/theme.js +42 -35
  12. package/dist/_helpers/title.js +71 -57
  13. package/dist/alert/alert.js +199 -158
  14. package/dist/alert/container.js +43 -32
  15. package/dist/alert-service/alert-service.js +172 -104
  16. package/dist/analytics/analytics.js +92 -68
  17. package/dist/analytics/analytics__custom-plugin.js +84 -60
  18. package/dist/analytics/analytics__fus-plugin.js +28 -15
  19. package/dist/analytics/analytics__ga-plugin.js +60 -43
  20. package/dist/analytics/analytics__plugin-utils.js +28 -22
  21. package/dist/auth/auth.js +36 -4
  22. package/dist/auth/auth__core.js +1458 -732
  23. package/dist/auth/background-flow.js +129 -87
  24. package/dist/auth/down-notification.js +75 -30
  25. package/dist/auth/iframe-flow.js +136 -75
  26. package/dist/auth/landing.js +90 -30
  27. package/dist/auth/request-builder.js +82 -46
  28. package/dist/auth/response-parser.js +119 -86
  29. package/dist/auth/storage.js +333 -171
  30. package/dist/auth/token-validator.js +244 -137
  31. package/dist/auth/window-flow.js +136 -92
  32. package/dist/auth-dialog/auth-dialog.js +176 -114
  33. package/dist/auth-dialog-service/auth-dialog-service.js +32 -7
  34. package/dist/auth-ng/auth-ng.js +70 -34
  35. package/dist/auth-ng/auth-ng.mock.js +6 -6
  36. package/dist/autofocus-ng/autofocus-ng.js +23 -8
  37. package/dist/avatar/avatar-example-datauri.js +1 -23
  38. package/dist/avatar/avatar.js +155 -119
  39. package/dist/avatar/fallback-avatar.js +41 -22
  40. package/dist/avatar-editor-ng/avatar-editor-ng.js +56 -23
  41. package/dist/avatar-editor-ng/avatar-editor-ng__template.js +1 -28
  42. package/dist/avatar-ng/avatar-ng.js +23 -1
  43. package/dist/badge/badge.js +43 -35
  44. package/dist/badge-ng/badge-ng.js +13 -1
  45. package/dist/breadcrumb-ng/breadcrumb-ng.js +15 -29
  46. package/dist/button/button.js +111 -87
  47. package/dist/button/button__classes.js +1 -0
  48. package/dist/button-group/button-group.js +35 -19
  49. package/dist/button-group/caption.js +22 -14
  50. package/dist/button-group-ng/button-group-ng.js +13 -7
  51. package/dist/button-ng/button-ng.js +154 -133
  52. package/dist/button-set/button-set.js +34 -20
  53. package/dist/button-set-ng/button-set-ng.js +2 -2
  54. package/dist/button-toolbar/button-toolbar.js +33 -19
  55. package/dist/button-toolbar-ng/button-toolbar-ng.js +5 -3
  56. package/dist/caret/caret.js +225 -188
  57. package/dist/checkbox/checkbox.js +104 -76
  58. package/dist/checkbox-ng/checkbox-ng.js +18 -27
  59. package/dist/clipboard/clipboard-fallback.js +10 -10
  60. package/dist/clipboard/clipboard.js +131 -34
  61. package/dist/code/code.js +168 -92
  62. package/dist/compiler-ng/compiler-ng.js +18 -15
  63. package/dist/confirm/confirm.js +108 -66
  64. package/dist/confirm-ng/confirm-ng.js +33 -4
  65. package/dist/confirm-service/confirm-service.js +66 -42
  66. package/dist/content-layout/content-layout.js +64 -43
  67. package/dist/content-layout/sidebar.js +1 -0
  68. package/dist/contenteditable/contenteditable.js +61 -50
  69. package/dist/control-label/control-label.js +11 -15
  70. package/dist/data-list/data-list.js +184 -128
  71. package/dist/data-list/data-list.mock.js +11 -2
  72. package/dist/data-list/item.js +174 -143
  73. package/dist/data-list/selection.js +139 -76
  74. package/dist/data-list/title.js +13 -1
  75. package/dist/data-list-ng/data-list-ng.js +31 -1
  76. package/dist/date-picker/consts.js +18 -15
  77. package/dist/date-picker/date-input.js +147 -115
  78. package/dist/date-picker/date-picker.js +285 -228
  79. package/dist/date-picker/date-popup.js +397 -356
  80. package/dist/date-picker/day.js +98 -84
  81. package/dist/date-picker/month-names.js +64 -43
  82. package/dist/date-picker/month-slider.js +74 -51
  83. package/dist/date-picker/month.js +21 -15
  84. package/dist/date-picker/months.js +48 -43
  85. package/dist/date-picker/weekdays.js +18 -12
  86. package/dist/date-picker/years.js +109 -84
  87. package/dist/dialog/dialog.js +189 -141
  88. package/dist/dialog/dialog__body-scroll-preventer.js +5 -0
  89. package/dist/dialog-ng/dialog-ng.js +401 -287
  90. package/dist/dialog-ng/dialog-ng__template.js +1 -70
  91. package/dist/docked-panel-ng/docked-panel-ng.js +33 -18
  92. package/dist/dropdown/anchor.js +10 -0
  93. package/dist/dropdown/dropdown.js +214 -182
  94. package/dist/dropdown-menu/dropdown-menu.js +102 -72
  95. package/dist/editable-heading/editable-heading.js +100 -58
  96. package/dist/error-bubble/error-bubble.js +64 -31
  97. package/dist/error-message/error-message.js +61 -38
  98. package/dist/error-message-ng/error-message-ng.js +11 -22
  99. package/dist/footer/footer.js +11 -1
  100. package/dist/footer-ng/footer-ng.js +64 -36
  101. package/dist/form-ng/form-ng.js +66 -56
  102. package/dist/global/angular-component-factory.js +76 -53
  103. package/dist/global/compose.js +10 -1
  104. package/dist/global/composeRefs.js +12 -7
  105. package/dist/global/controls-height.js +2 -2
  106. package/dist/global/create-stateful-context.js +19 -19
  107. package/dist/global/data-tests.js +15 -7
  108. package/dist/global/dom.js +95 -53
  109. package/dist/global/focus-sensor-hoc.js +134 -122
  110. package/dist/global/fuzzy-highlight.js +41 -27
  111. package/dist/global/get-event-key.js +8 -8
  112. package/dist/global/get-uid.js +8 -4
  113. package/dist/global/inject-styles.js +15 -10
  114. package/dist/global/linear-function.js +2 -2
  115. package/dist/global/listeners.js +53 -27
  116. package/dist/global/memoize.js +13 -6
  117. package/dist/global/normalize-indent.js +51 -19
  118. package/dist/global/promise-with-timeout.js +8 -6
  119. package/dist/global/prop-types.js +5 -3
  120. package/dist/global/react-dom-renderer.js +47 -28
  121. package/dist/global/react-render-adapter.js +19 -13
  122. package/dist/global/rerender-hoc.js +41 -16
  123. package/dist/global/ring-angular-component.js +20 -10
  124. package/dist/global/schedule-raf.js +6 -5
  125. package/dist/global/sniffer.js +1 -1
  126. package/dist/global/theme.js +24 -0
  127. package/dist/global/trivial-template-tag.js +10 -3
  128. package/dist/global/typescript-utils.js +6 -2
  129. package/dist/global/url.js +27 -21
  130. package/dist/global/use-event-callback.js +4 -6
  131. package/dist/grid/col.js +55 -35
  132. package/dist/grid/grid.js +36 -17
  133. package/dist/grid/row.js +48 -35
  134. package/dist/group/group.js +27 -17
  135. package/dist/group-ng/group-ng.js +2 -2
  136. package/dist/header/header.js +80 -33
  137. package/dist/header/logo.js +39 -20
  138. package/dist/header/profile.js +188 -150
  139. package/dist/header/services-link.js +9 -0
  140. package/dist/header/services.js +118 -73
  141. package/dist/header/smart-profile.js +207 -111
  142. package/dist/header/smart-services.js +115 -62
  143. package/dist/header/tray-icon.js +38 -21
  144. package/dist/header/tray.js +34 -21
  145. package/dist/heading/heading.js +25 -26
  146. package/dist/heading-ng/heading-ng.js +11 -1
  147. package/dist/http/http.js +368 -215
  148. package/dist/http/http.mock.js +104 -49
  149. package/dist/hub-source/hub-source.js +191 -83
  150. package/dist/hub-source/hub-source__user.js +45 -11
  151. package/dist/hub-source/hub-source__users-groups.js +67 -37
  152. package/dist/i18n/i18n-context.js +14 -10
  153. package/dist/i18n/i18n.js +11 -7
  154. package/dist/icon/icon.js +94 -76
  155. package/dist/icon/icon__svg.js +31 -24
  156. package/dist/icon/index.js +9 -0
  157. package/dist/icon-ng/icon-ng.js +27 -15
  158. package/dist/input/input.js +184 -145
  159. package/dist/input-ng/input-ng.js +96 -118
  160. package/dist/island/adaptive-island-hoc.js +45 -30
  161. package/dist/island/content.js +130 -115
  162. package/dist/island/header.js +69 -56
  163. package/dist/island/island.js +40 -28
  164. package/dist/island-legacy/content-legacy.js +27 -17
  165. package/dist/island-legacy/header-legacy.js +29 -19
  166. package/dist/island-legacy/island-legacy.js +27 -17
  167. package/dist/island-ng/island-content-ng.js +17 -26
  168. package/dist/island-ng/island-header-ng.js +9 -12
  169. package/dist/island-ng/island-ng-class-fixer.js +3 -0
  170. package/dist/island-ng/island-ng.js +6 -10
  171. package/dist/link/clickableLink.js +61 -44
  172. package/dist/link/link.js +85 -74
  173. package/dist/link-ng/link-ng.js +3 -5
  174. package/dist/list/consts.js +1 -1
  175. package/dist/list/list.js +696 -602
  176. package/dist/list/list__custom.js +61 -44
  177. package/dist/list/list__hint.js +21 -10
  178. package/dist/list/list__item.js +167 -129
  179. package/dist/list/list__link.js +54 -37
  180. package/dist/list/list__separator.js +24 -14
  181. package/dist/list/list__title.js +32 -22
  182. package/dist/list/list__users-groups-source.js +131 -54
  183. package/dist/loader/loader.js +78 -43
  184. package/dist/loader/loader__core.js +257 -189
  185. package/dist/loader-inline/loader-inline.js +37 -23
  186. package/dist/loader-inline-ng/loader-inline-ng.js +2 -2
  187. package/dist/loader-ng/loader-ng.js +46 -19
  188. package/dist/loader-screen/loader-screen.js +48 -25
  189. package/dist/loader-screen-ng/loader-screen-ng.js +46 -30
  190. package/dist/login-dialog/login-dialog.js +162 -111
  191. package/dist/login-dialog/service.js +35 -7
  192. package/dist/markdown/code.js +31 -9
  193. package/dist/markdown/heading.js +3 -5
  194. package/dist/markdown/link.js +13 -6
  195. package/dist/markdown/markdown.js +66 -33
  196. package/dist/message/message.js +157 -125
  197. package/dist/message-bundle-ng/message-bundle-ng.js +128 -44
  198. package/dist/old-browsers-message/old-browsers-message.js +19 -11
  199. package/dist/old-browsers-message/old-browsers-message__stop.js +8 -0
  200. package/dist/old-browsers-message/white-list.js +16 -9
  201. package/dist/pager/pager.js +275 -210
  202. package/dist/pager-ng/pager-ng.js +36 -1
  203. package/dist/panel/panel.js +27 -17
  204. package/dist/panel-ng/panel-ng.js +14 -1
  205. package/dist/permissions/permissions.js +173 -127
  206. package/dist/permissions/permissions__cache.js +225 -194
  207. package/dist/permissions-ng/permissions-ng.js +86 -35
  208. package/dist/place-under-ng/place-under-ng.js +68 -45
  209. package/dist/popup/popup.consts.js +1 -1
  210. package/dist/popup/popup.js +342 -280
  211. package/dist/popup/popup.target.js +8 -9
  212. package/dist/popup/position.js +153 -153
  213. package/dist/popup-menu/popup-menu.js +86 -44
  214. package/dist/progress-bar/progress-bar.js +97 -80
  215. package/dist/progress-bar-ng/progress-bar-ng.js +11 -1
  216. package/dist/promised-click-ng/promised-click-ng.js +92 -58
  217. package/dist/proxy-attrs/proxy-attrs.js +18 -9
  218. package/dist/query-assist/query-assist.js +903 -832
  219. package/dist/query-assist/query-assist__suggestions.js +33 -1
  220. package/dist/query-assist-ng/query-assist-ng.js +38 -1
  221. package/dist/radio/radio.js +36 -19
  222. package/dist/radio/radio__item.js +71 -52
  223. package/dist/radio-ng/radio-ng.js +14 -25
  224. package/dist/save-field-ng/save-field-ng.js +86 -52
  225. package/dist/save-field-ng/save-field-ng__template.js +1 -32
  226. package/dist/select/select.js +937 -835
  227. package/dist/select/select__filter.js +33 -0
  228. package/dist/select/select__popup.js +472 -359
  229. package/dist/select-ng/select-ng.js +125 -74
  230. package/dist/select-ng/select-ng__lazy.js +101 -50
  231. package/dist/select-ng/select-ng__options.js +107 -81
  232. package/dist/shortcuts/core.js +218 -166
  233. package/dist/shortcuts/shortcut-title.js +11 -6
  234. package/dist/shortcuts/shortcuts-hoc.js +47 -19
  235. package/dist/shortcuts/shortcuts.js +77 -50
  236. package/dist/shortcuts-hint-ng/shortcuts-hint-ng.js +104 -53
  237. package/dist/shortcuts-hint-ng/shortcuts-hint-ng__template.js +1 -48
  238. package/dist/shortcuts-ng/shortcuts-ng.js +86 -51
  239. package/dist/sidebar-ng/sidebar-ng.js +53 -22
  240. package/dist/sidebar-ng/sidebar-ng__button-template.js +1 -18
  241. package/dist/sidebar-ng/sidebar-ng__template.js +1 -10
  242. package/dist/storage/storage.js +35 -4
  243. package/dist/storage/storage__fallback.js +224 -149
  244. package/dist/storage/storage__local.js +156 -90
  245. package/dist/tab-trap/tab-trap.js +157 -122
  246. package/dist/table/cell.js +28 -14
  247. package/dist/table/disable-hover-hoc.js +53 -33
  248. package/dist/table/header-cell.js +87 -64
  249. package/dist/table/header.js +126 -98
  250. package/dist/table/multitable.js +127 -107
  251. package/dist/table/row-with-focus-sensor.js +73 -25
  252. package/dist/table/row.js +208 -170
  253. package/dist/table/selection-adapter.js +3 -1
  254. package/dist/table/selection-shortcuts-hoc.js +184 -181
  255. package/dist/table/selection.js +228 -156
  256. package/dist/table/smart-table.js +93 -51
  257. package/dist/table/table.js +348 -281
  258. package/dist/table-legacy-ng/table-legacy-ng.js +117 -102
  259. package/dist/table-legacy-ng/table-legacy-ng__pager.js +42 -10
  260. package/dist/table-legacy-ng/table-legacy-ng__selection-navigate-actions.js +92 -69
  261. package/dist/table-legacy-ng/table-legacy-ng__selection.js +169 -119
  262. package/dist/table-legacy-ng/table-legacy-ng__toolbar.js +36 -21
  263. package/dist/table-ng/smart-table-ng.js +31 -1
  264. package/dist/table-ng/table-ng.js +31 -1
  265. package/dist/tabs/collapsible-more.js +87 -50
  266. package/dist/tabs/collapsible-tab.js +45 -38
  267. package/dist/tabs/collapsible-tabs.js +161 -94
  268. package/dist/tabs/custom-item.js +2 -4
  269. package/dist/tabs/dumb-tabs.js +122 -75
  270. package/dist/tabs/smart-tabs.js +75 -29
  271. package/dist/tabs/tab-link.js +29 -19
  272. package/dist/tabs/tab.js +33 -19
  273. package/dist/tabs/tabs.js +35 -0
  274. package/dist/tabs-ng/tabs-ng.js +38 -24
  275. package/dist/tabs-ng/tabs-ng__template.js +1 -38
  276. package/dist/tag/tag.js +170 -133
  277. package/dist/tags-input/tags-input.js +428 -327
  278. package/dist/tags-input-ng/tags-input-ng.js +37 -1
  279. package/dist/tags-list/tags-list.js +80 -56
  280. package/dist/template-ng/template-ng.js +50 -39
  281. package/dist/text/text.js +38 -28
  282. package/dist/title-ng/title-ng.js +28 -23
  283. package/dist/toggle/toggle.js +72 -56
  284. package/dist/toggle-ng/toggle-ng.js +14 -1
  285. package/dist/tooltip/tooltip.js +192 -146
  286. package/dist/tooltip-ng/tooltip-ng.js +51 -25
  287. package/dist/user-agreement/service.js +374 -227
  288. package/dist/user-agreement/toolbox.eula.js +1 -160
  289. package/dist/user-agreement/user-agreement.js +128 -86
  290. package/dist/user-card/card.js +32 -0
  291. package/dist/user-card/smart-user-card-tooltip.js +116 -51
  292. package/dist/user-card/tooltip.js +90 -48
  293. package/dist/user-card/user-card.js +32 -0
  294. package/dist/user-card-ng/user-card-ng.js +34 -2
  295. package/package.json +2 -2
@@ -1,10 +1,19 @@
1
+ import { c as _defineProperty, _ as _createClass, b as _classCallCheck, e as _asyncToGenerator, f as _regeneratorRuntime } from '../_helpers/_rollupPluginBabelHelpers.js';
2
+ import 'core-js/modules/es.object.to-string.js';
3
+ import 'core-js/modules/es.promise.js';
4
+ import 'core-js/modules/es.reflect.delete-property.js';
5
+ import 'core-js/modules/es.array.iterator.js';
6
+ import 'core-js/modules/es.string.iterator.js';
7
+ import 'core-js/modules/web.dom-collections.iterator.js';
8
+ import 'core-js/modules/es.array.concat.js';
9
+ import 'core-js/modules/es.array.index-of.js';
1
10
  import deepEqual from 'deep-equal';
2
11
 
3
- const DEFAULT_CHECK_DELAY = 3000;
4
- const COOKIE_EXPIRES = 365;
5
- const QUOTA = 4093;
12
+ var DEFAULT_CHECK_DELAY = 3000;
13
+ var COOKIE_EXPIRES = 365;
14
+ var QUOTA = 4093;
6
15
  // eslint-disable-next-line @typescript-eslint/no-magic-numbers
7
- const SECONDS_IN_DAY = 24 * 60 * 60 * 1000;
16
+ var SECONDS_IN_DAY = 24 * 60 * 60 * 1000;
8
17
  /**
9
18
  * @prop {string} cookieName
10
19
  *
@@ -14,62 +23,14 @@ const SECONDS_IN_DAY = 24 * 60 * 60 * 1000;
14
23
  * @return {FallbackStorage}
15
24
  * @constructor
16
25
  */
17
- class FallbackStorage {
18
- static DEFAULT_COOKIE_NAME = 'localStorage';
19
- static DEFAULT_SESSION_COOKIE_NAME = 'sessionStorage';
20
- static DEFAULT_CHECK_DELAY = DEFAULT_CHECK_DELAY;
21
- static COOKIE_EXPIRES = COOKIE_EXPIRES;
22
- /**
23
- * Maximum storage size
24
- * @see http://browsercookielimits.squawky.net/
25
- * @type {number}
26
- */
27
- static QUOTA = QUOTA;
28
- /**
29
- * @param {string} name
30
- * @param {string} value
31
- * @param {number} days
32
- * @private
33
- */
34
- static _createCookie(name, value, days) {
35
- let date;
36
- let expires;
37
- if (days) {
38
- date = new Date();
39
- date.setTime(date.getTime() + days * SECONDS_IN_DAY);
40
- expires = `; expires=${date.toUTCString()}`;
41
- } else {
42
- expires = ';';
43
- }
44
- document.cookie = `${name}=${value}${expires}; path=/`;
45
- }
46
- /**
47
- *
48
- * @param {string} name
49
- * @return {string}
50
- * @private
51
- */
52
- static _readCookie(name) {
53
- const nameEQ = `${name}=`;
54
- const cookies = document.cookie.split(';');
55
- let cookie;
56
- for (let i = 0; i < cookies.length; i++) {
57
- cookie = cookies[i];
58
- while (cookie.charAt(0) === ' ') {
59
- cookie = cookie.substring(1, cookie.length);
60
- }
61
- if (cookie.indexOf(nameEQ) === 0) {
62
- return cookie.substring(nameEQ.length, cookie.length);
63
- }
64
- }
65
- return undefined;
66
- }
67
- cookieName;
68
- checkDelay;
69
- expires;
70
- constructor() {
71
- let config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
72
- const session = config.type === 'session';
26
+ var FallbackStorage = /*#__PURE__*/function () {
27
+ function FallbackStorage() {
28
+ var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
29
+ _classCallCheck(this, FallbackStorage);
30
+ _defineProperty(this, "cookieName", void 0);
31
+ _defineProperty(this, "checkDelay", void 0);
32
+ _defineProperty(this, "expires", void 0);
33
+ var session = config.type === 'session';
73
34
  this.cookieName = config.cookieName || (session ? FallbackStorage.DEFAULT_SESSION_COOKIE_NAME : FallbackStorage.DEFAULT_COOKIE_NAME);
74
35
  this.checkDelay = config.checkDelay || FallbackStorage.DEFAULT_CHECK_DELAY;
75
36
  this.expires = session ? FallbackStorage.COOKIE_EXPIRES : null;
@@ -78,101 +39,215 @@ class FallbackStorage {
78
39
  * @return {Promise}
79
40
  * @private
80
41
  */
81
- _read() {
82
- return new Promise((resolve, reject) => {
83
- const rawData = FallbackStorage._readCookie(this.cookieName);
84
- if (rawData != null) {
85
- resolve(JSON.parse(decodeURIComponent(rawData)));
86
- } else {
87
- reject();
42
+ _createClass(FallbackStorage, [{
43
+ key: "_read",
44
+ value: function _read() {
45
+ var _this = this;
46
+ return new Promise(function (resolve, reject) {
47
+ var rawData = FallbackStorage._readCookie(_this.cookieName);
48
+ if (rawData != null) {
49
+ resolve(JSON.parse(decodeURIComponent(rawData)));
50
+ } else {
51
+ reject();
52
+ }
53
+ }).catch(function () {
54
+ return {};
55
+ });
56
+ }
57
+ /**
58
+ * @param data
59
+ * @return {Promise}
60
+ * @private
61
+ */
62
+ }, {
63
+ key: "_write",
64
+ value: function _write(data) {
65
+ var _this2 = this;
66
+ return new Promise(function (resolve) {
67
+ var stringData = encodeURIComponent(JSON.stringify(data));
68
+ FallbackStorage._createCookie(_this2.cookieName, stringData === '{}' ? '' : stringData, _this2.expires);
69
+ return resolve(data);
70
+ });
71
+ }
72
+ /**
73
+ * @param {string} key
74
+ * @return {Promise}
75
+ */
76
+ }, {
77
+ key: "get",
78
+ value: function get(key) {
79
+ return this._read().then(function (data) {
80
+ return data[key] || null;
81
+ });
82
+ }
83
+ /**
84
+ * @param {string} key
85
+ * @param {object} value
86
+ * @return {Promise}
87
+ */
88
+ }, {
89
+ key: "set",
90
+ value: function () {
91
+ var _set = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(key, value) {
92
+ var data;
93
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
94
+ while (1) switch (_context.prev = _context.next) {
95
+ case 0:
96
+ _context.next = 2;
97
+ return this._read();
98
+ case 2:
99
+ data = _context.sent;
100
+ if (key) {
101
+ if (value != null) {
102
+ data[key] = value;
103
+ } else {
104
+ Reflect.deleteProperty(data, key);
105
+ }
106
+ }
107
+ _context.next = 6;
108
+ return this._write(data);
109
+ case 6:
110
+ return _context.abrupt("return", value);
111
+ case 7:
112
+ case "end":
113
+ return _context.stop();
114
+ }
115
+ }, _callee, this);
116
+ }));
117
+ function set(_x, _x2) {
118
+ return _set.apply(this, arguments);
88
119
  }
89
- }).catch(() => ({}));
90
- }
91
- /**
92
- * @param data
93
- * @return {Promise}
94
- * @private
95
- */
96
- _write(data) {
97
- return new Promise(resolve => {
98
- const stringData = encodeURIComponent(JSON.stringify(data));
99
- FallbackStorage._createCookie(this.cookieName, stringData === '{}' ? '' : stringData, this.expires);
100
- return resolve(data);
101
- });
102
- }
103
- /**
104
- * @param {string} key
105
- * @return {Promise}
106
- */
107
- get(key) {
108
- return this._read().then(data => data[key] || null);
109
- }
110
- /**
111
- * @param {string} key
112
- * @param {object} value
113
- * @return {Promise}
114
- */
115
- async set(key, value) {
116
- const data = await this._read();
117
- if (key) {
118
- if (value != null) {
119
- data[key] = value;
120
- } else {
121
- Reflect.deleteProperty(data, key);
120
+ return set;
121
+ }()
122
+ /**
123
+ * @param {string} key
124
+ * @return {Promise}
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);
122
143
  }
144
+ return remove;
145
+ }()
146
+ /**
147
+ *
148
+ * @param {function(string, value)} callback
149
+ * @return {Promise}
150
+ */
151
+ }, {
152
+ key: "each",
153
+ value: function each(callback) {
154
+ if (typeof callback !== 'function') {
155
+ return Promise.reject(new Error('Callback is not a function'));
156
+ }
157
+ return this._read().then(function (data) {
158
+ var promises = [];
159
+ for (var key in data) {
160
+ if (data.hasOwnProperty(key)) {
161
+ promises.push(callback(key, data[key]));
162
+ }
163
+ }
164
+ return Promise.all(promises);
165
+ });
123
166
  }
124
- await this._write(data);
125
- return value;
126
- }
127
- /**
128
- * @param {string} key
129
- * @return {Promise}
130
- */
131
- async remove(key) {
132
- await this.set(key, null);
133
- }
134
- /**
135
- *
136
- * @param {function(string, value)} callback
137
- * @return {Promise}
138
- */
139
- each(callback) {
140
- if (typeof callback !== 'function') {
141
- return Promise.reject(new Error('Callback is not a function'));
167
+ /**
168
+ * @param {string} key
169
+ * @param {Function} callback
170
+ * @return {Function}
171
+ */
172
+ }, {
173
+ key: "on",
174
+ value: function on(key, callback) {
175
+ var _this3 = this;
176
+ var stop = false;
177
+ var checkForChange = function checkForChange(oldValue) {
178
+ _this3.get(key).then(function (newValue) {
179
+ if (stop) {
180
+ return;
181
+ }
182
+ if (!deepEqual(oldValue, newValue)) {
183
+ callback(newValue);
184
+ }
185
+ window.setTimeout(function () {
186
+ return checkForChange(oldValue);
187
+ }, _this3.checkDelay);
188
+ });
189
+ };
190
+ this.get(key).then(checkForChange);
191
+ return function () {
192
+ stop = true;
193
+ };
142
194
  }
143
- return this._read().then(data => {
144
- const promises = [];
145
- for (const key in data) {
146
- if (data.hasOwnProperty(key)) {
147
- promises.push(callback(key, data[key]));
148
- }
195
+ }], [{
196
+ key: "_createCookie",
197
+ value:
198
+ /**
199
+ * @param {string} name
200
+ * @param {string} value
201
+ * @param {number} days
202
+ * @private
203
+ */
204
+ function _createCookie(name, value, days) {
205
+ var date;
206
+ var expires;
207
+ if (days) {
208
+ date = new Date();
209
+ date.setTime(date.getTime() + days * SECONDS_IN_DAY);
210
+ expires = "; expires=".concat(date.toUTCString());
211
+ } else {
212
+ expires = ';';
149
213
  }
150
- return Promise.all(promises);
151
- });
152
- }
153
- /**
154
- * @param {string} key
155
- * @param {Function} callback
156
- * @return {Function}
157
- */
158
- on(key, callback) {
159
- let stop = false;
160
- const checkForChange = oldValue => {
161
- this.get(key).then(newValue => {
162
- if (stop) {
163
- return;
214
+ document.cookie = "".concat(name, "=").concat(value).concat(expires, "; path=/");
215
+ }
216
+ /**
217
+ *
218
+ * @param {string} name
219
+ * @return {string}
220
+ * @private
221
+ */
222
+ }, {
223
+ key: "_readCookie",
224
+ value: function _readCookie(name) {
225
+ var nameEQ = "".concat(name, "=");
226
+ var cookies = document.cookie.split(';');
227
+ var cookie;
228
+ for (var i = 0; i < cookies.length; i++) {
229
+ cookie = cookies[i];
230
+ while (cookie.charAt(0) === ' ') {
231
+ cookie = cookie.substring(1, cookie.length);
164
232
  }
165
- if (!deepEqual(oldValue, newValue)) {
166
- callback(newValue);
233
+ if (cookie.indexOf(nameEQ) === 0) {
234
+ return cookie.substring(nameEQ.length, cookie.length);
167
235
  }
168
- window.setTimeout(() => checkForChange(oldValue), this.checkDelay);
169
- });
170
- };
171
- this.get(key).then(checkForChange);
172
- return () => {
173
- stop = true;
174
- };
175
- }
176
- }
236
+ }
237
+ return undefined;
238
+ }
239
+ }]);
240
+ return FallbackStorage;
241
+ }();
242
+ _defineProperty(FallbackStorage, "DEFAULT_COOKIE_NAME", 'localStorage');
243
+ _defineProperty(FallbackStorage, "DEFAULT_SESSION_COOKIE_NAME", 'sessionStorage');
244
+ _defineProperty(FallbackStorage, "DEFAULT_CHECK_DELAY", DEFAULT_CHECK_DELAY);
245
+ _defineProperty(FallbackStorage, "COOKIE_EXPIRES", COOKIE_EXPIRES);
246
+ /**
247
+ * Maximum storage size
248
+ * @see http://browsercookielimits.squawky.net/
249
+ * @type {number}
250
+ */
251
+ _defineProperty(FallbackStorage, "QUOTA", QUOTA);
177
252
 
178
253
  export { FallbackStorage as default };