@jetbrains/ring-ui-built 6.1.1-beta.0 → 7.0.0-beta.10

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 (351) hide show
  1. package/components/_helpers/_rollupPluginBabelHelpers.js +1 -504
  2. package/components/_helpers/anchor.js +7 -10
  3. package/components/_helpers/button__classes.js +23 -20
  4. package/components/_helpers/caption.js +11 -21
  5. package/components/_helpers/card.js +91 -123
  6. package/components/_helpers/dialog__body-scroll-preventer.js +10 -17
  7. package/components/_helpers/header.js +1 -1
  8. package/components/_helpers/icon__svg.js +27 -29
  9. package/components/_helpers/input.js +151 -193
  10. package/components/_helpers/query-assist__suggestions.js +79 -94
  11. package/components/_helpers/select__filter.js +56 -75
  12. package/components/_helpers/services-link.js +23 -39
  13. package/components/_helpers/sidebar.js +91 -102
  14. package/components/_helpers/tab-link.js +8 -12
  15. package/components/_helpers/table.js +1 -1
  16. package/components/_helpers/theme.js +61 -51
  17. package/components/_helpers/title.js +59 -84
  18. package/components/alert/alert.d.ts +7 -24
  19. package/components/alert/alert.js +111 -179
  20. package/components/alert/container.d.ts +0 -5
  21. package/components/alert/container.js +32 -44
  22. package/components/alert-service/alert-service.js +104 -162
  23. package/components/analytics/analytics.js +12 -20
  24. package/components/analytics/analytics__custom-plugin.js +52 -68
  25. package/components/auth/auth.js +2 -31
  26. package/components/auth/auth__core.d.ts +1 -1
  27. package/components/auth/auth__core.js +754 -1440
  28. package/components/auth/background-flow.js +84 -121
  29. package/components/auth/down-notification.js +32 -79
  30. package/components/auth/iframe-flow.js +71 -125
  31. package/components/auth/request-builder.js +46 -77
  32. package/components/auth/response-parser.js +84 -112
  33. package/components/auth/storage.js +162 -324
  34. package/components/auth/token-validator.js +132 -227
  35. package/components/auth/window-flow.js +84 -121
  36. package/components/auth-dialog/auth-dialog.d.ts +0 -18
  37. package/components/auth-dialog/auth-dialog.js +107 -176
  38. package/components/auth-dialog-service/auth-dialog-service.js +12 -33
  39. package/components/avatar/avatar-example-datauri.js +1 -1
  40. package/components/avatar/avatar.d.ts +0 -13
  41. package/components/avatar/avatar.js +94 -136
  42. package/components/avatar/fallback-avatar.d.ts +1 -10
  43. package/components/avatar/fallback-avatar.js +20 -40
  44. package/components/badge/badge.d.ts +0 -10
  45. package/components/badge/badge.js +32 -48
  46. package/components/breadcrumbs/breadcrumbs.js +13 -17
  47. package/components/button/button.d.ts +0 -21
  48. package/components/button/button.js +68 -104
  49. package/components/button/button__classes.d.ts +1 -1
  50. package/components/button-group/button-group.d.ts +0 -5
  51. package/components/button-group/button-group.js +27 -41
  52. package/components/button-group/caption.d.ts +0 -4
  53. package/components/button-group/caption.js +0 -1
  54. package/components/button-set/button-set.d.ts +0 -6
  55. package/components/button-set/button-set.js +19 -33
  56. package/components/button-toolbar/button-toolbar.d.ts +0 -6
  57. package/components/button-toolbar/button-toolbar.js +17 -31
  58. package/components/caret/caret.js +184 -211
  59. package/components/checkbox/checkbox.d.ts +0 -19
  60. package/components/checkbox/checkbox.js +69 -104
  61. package/components/clipboard/clipboard-fallback.js +7 -7
  62. package/components/clipboard/clipboard.js +36 -129
  63. package/components/code/code.d.ts +0 -12
  64. package/components/code/code.js +83 -163
  65. package/components/collapse/collapse-content.js +42 -60
  66. package/components/collapse/collapse-context.js +2 -2
  67. package/components/collapse/collapse-control.js +12 -12
  68. package/components/collapse/collapse.js +12 -17
  69. package/components/collapse/consts.js +4 -4
  70. package/components/collapse/utils.js +1 -3
  71. package/components/confirm/confirm.d.ts +0 -14
  72. package/components/confirm/confirm.js +68 -112
  73. package/components/confirm-service/confirm-service.js +25 -47
  74. package/components/content-layout/content-layout.d.ts +0 -7
  75. package/components/content-layout/content-layout.js +41 -63
  76. package/components/content-layout/sidebar.d.ts +0 -9
  77. package/components/content-layout/sidebar.js +1 -2
  78. package/components/contenteditable/contenteditable.d.ts +1 -22
  79. package/components/contenteditable/contenteditable.js +37 -60
  80. package/components/control-help/control-help.js +5 -3
  81. package/components/control-label/control-label.js +9 -14
  82. package/components/data-list/data-list.d.ts +4 -6
  83. package/components/data-list/data-list.js +115 -179
  84. package/components/data-list/data-list.mock.js +3 -6
  85. package/components/data-list/item.js +119 -165
  86. package/components/data-list/selection.js +77 -135
  87. package/components/data-list/title.d.ts +2 -2
  88. package/components/data-list/title.js +2 -12
  89. package/components/date-picker/consts.d.ts +0 -2
  90. package/components/date-picker/consts.js +16 -24
  91. package/components/date-picker/date-input.d.ts +0 -20
  92. package/components/date-picker/date-input.js +100 -148
  93. package/components/date-picker/date-picker.d.ts +0 -29
  94. package/components/date-picker/date-picker.js +143 -224
  95. package/components/date-picker/date-popup.d.ts +0 -22
  96. package/components/date-picker/date-popup.js +282 -352
  97. package/components/date-picker/day.d.ts +0 -14
  98. package/components/date-picker/day.js +72 -109
  99. package/components/date-picker/month-names.d.ts +1 -11
  100. package/components/date-picker/month-names.js +42 -72
  101. package/components/date-picker/month-slider.d.ts +0 -9
  102. package/components/date-picker/month-slider.js +43 -71
  103. package/components/date-picker/month.d.ts +1 -9
  104. package/components/date-picker/month.js +18 -30
  105. package/components/date-picker/months.d.ts +1 -9
  106. package/components/date-picker/months.js +45 -55
  107. package/components/date-picker/weekdays.d.ts +2 -8
  108. package/components/date-picker/weekdays.js +12 -25
  109. package/components/date-picker/years.d.ts +0 -6
  110. package/components/date-picker/years.js +77 -104
  111. package/components/dialog/dialog.d.ts +0 -20
  112. package/components/dialog/dialog.js +153 -210
  113. package/components/dialog/dialog__body-scroll-preventer.js +0 -3
  114. package/components/dropdown/anchor.d.ts +1 -8
  115. package/components/dropdown/anchor.js +0 -7
  116. package/components/dropdown/dropdown.d.ts +4 -22
  117. package/components/dropdown/dropdown.js +134 -176
  118. package/components/dropdown-menu/dropdown-menu.js +51 -103
  119. package/components/editable-heading/editable-heading.js +69 -118
  120. package/components/error-bubble/error-bubble.d.ts +0 -6
  121. package/components/error-bubble/error-bubble.js +30 -60
  122. package/components/error-message/error-message.d.ts +0 -10
  123. package/components/error-message/error-message.js +34 -59
  124. package/components/footer/footer.js +28 -44
  125. package/components/form/form.js +1 -1
  126. package/components/global/compose.js +1 -8
  127. package/components/global/composeRefs.d.ts +0 -3
  128. package/components/global/composeRefs.js +8 -15
  129. package/components/global/controls-height.js +2 -2
  130. package/components/global/create-stateful-context.d.ts +0 -4
  131. package/components/global/create-stateful-context.js +14 -17
  132. package/components/global/data-tests.js +7 -12
  133. package/components/global/dom.js +49 -82
  134. package/components/global/focus-sensor-hoc.js +95 -122
  135. package/components/global/fuzzy-highlight.js +23 -34
  136. package/components/global/get-event-key.js +8 -8
  137. package/components/global/get-uid.js +3 -7
  138. package/components/global/inject-styles.js +7 -14
  139. package/components/global/listeners.js +28 -47
  140. package/components/global/memoize.js +6 -10
  141. package/components/global/normalize-indent.js +19 -46
  142. package/components/global/promise-with-timeout.js +6 -8
  143. package/components/global/react-dom-renderer.d.ts +0 -5
  144. package/components/global/react-dom-renderer.js +29 -45
  145. package/components/global/rerender-hoc.d.ts +2 -2
  146. package/components/global/rerender-hoc.js +16 -32
  147. package/components/global/schedule-raf.js +4 -4
  148. package/components/global/sniffer.js +1 -1
  149. package/components/global/theme.d.ts +8 -2
  150. package/components/global/theme.js +2 -20
  151. package/components/global/trivial-template-tag.js +4 -9
  152. package/components/global/typescript-utils.js +2 -6
  153. package/components/global/url.js +20 -23
  154. package/components/global/use-event-callback.js +7 -4
  155. package/components/grid/col.d.ts +0 -14
  156. package/components/grid/col.js +27 -53
  157. package/components/grid/grid.d.ts +0 -5
  158. package/components/grid/grid.js +20 -32
  159. package/components/grid/row.d.ts +0 -18
  160. package/components/grid/row.js +23 -47
  161. package/components/group/group.d.ts +0 -5
  162. package/components/group/group.js +18 -27
  163. package/components/header/header-icon.d.ts +10 -0
  164. package/components/header/header-icon.js +39 -0
  165. package/components/header/header.d.ts +3 -7
  166. package/components/header/header.js +32 -74
  167. package/components/header/links.d.ts +2 -0
  168. package/components/header/links.js +20 -0
  169. package/components/header/logo.d.ts +0 -4
  170. package/components/header/logo.js +15 -30
  171. package/components/header/profile.d.ts +1 -39
  172. package/components/header/profile.js +126 -190
  173. package/components/header/services-link.d.ts +0 -10
  174. package/components/header/services-link.js +1 -4
  175. package/components/header/services.d.ts +0 -14
  176. package/components/header/services.js +67 -112
  177. package/components/header/smart-profile.d.ts +0 -9
  178. package/components/header/smart-profile.js +116 -205
  179. package/components/header/smart-services.d.ts +0 -4
  180. package/components/header/smart-services.js +73 -142
  181. package/components/header/tray.d.ts +0 -5
  182. package/components/header/tray.js +21 -35
  183. package/components/heading/heading.d.ts +1 -4
  184. package/components/heading/heading.js +25 -42
  185. package/components/http/http.js +162 -319
  186. package/components/http/http.mock.js +50 -98
  187. package/components/hub-source/hub-source.js +77 -182
  188. package/components/hub-source/hub-source__user.js +9 -37
  189. package/components/hub-source/hub-source__users-groups.js +34 -60
  190. package/components/i18n/i18n-context.js +7 -8
  191. package/components/i18n/i18n.js +3 -6
  192. package/components/icon/icon.d.ts +0 -11
  193. package/components/icon/icon.js +60 -85
  194. package/components/icon/icon__svg.d.ts +0 -8
  195. package/components/icon/icon__svg.js +0 -6
  196. package/components/icon/index.js +0 -6
  197. package/components/input/input-legacy.js +1 -1
  198. package/components/input/input.js +2 -14
  199. package/components/input-size/input-size.js +1 -1
  200. package/components/island/adaptive-island-hoc.d.ts +4 -5
  201. package/components/island/adaptive-island-hoc.js +30 -39
  202. package/components/island/content.d.ts +0 -10
  203. package/components/island/content.js +99 -119
  204. package/components/island/header.js +55 -73
  205. package/components/island/island.d.ts +4 -13
  206. package/components/island/island.js +25 -41
  207. package/components/island-legacy/content-legacy.d.ts +0 -5
  208. package/components/island-legacy/content-legacy.js +16 -27
  209. package/components/island-legacy/header-legacy.d.ts +0 -5
  210. package/components/island-legacy/header-legacy.js +19 -30
  211. package/components/island-legacy/island-legacy.d.ts +0 -5
  212. package/components/island-legacy/island-legacy.js +16 -27
  213. package/components/link/clickableLink.d.ts +0 -9
  214. package/components/link/clickableLink.js +33 -51
  215. package/components/link/link.d.ts +8 -33
  216. package/components/link/link.js +47 -68
  217. package/components/list/consts.js +2 -2
  218. package/components/list/list.d.ts +0 -32
  219. package/components/list/list.js +399 -516
  220. package/components/list/list__custom.js +51 -78
  221. package/components/list/list__hint.d.ts +0 -4
  222. package/components/list/list__hint.js +8 -21
  223. package/components/list/list__item.js +147 -211
  224. package/components/list/list__link.js +39 -59
  225. package/components/list/list__separator.js +15 -30
  226. package/components/list/list__title.js +25 -41
  227. package/components/list/list__users-groups-source.js +55 -123
  228. package/components/loader/loader.d.ts +0 -10
  229. package/components/loader/loader.js +38 -70
  230. package/components/loader/loader__core.js +123 -184
  231. package/components/loader-inline/loader-inline.d.ts +0 -6
  232. package/components/loader-inline/loader-inline.js +24 -38
  233. package/components/loader-screen/loader-screen.d.ts +0 -6
  234. package/components/loader-screen/loader-screen.js +24 -46
  235. package/components/login-dialog/login-dialog.d.ts +0 -11
  236. package/components/login-dialog/login-dialog.js +94 -145
  237. package/components/login-dialog/service.js +11 -33
  238. package/components/markdown/markdown.js +16 -29
  239. package/components/message/message.js +171 -218
  240. package/components/old-browsers-message/old-browsers-message.js +11 -14
  241. package/components/old-browsers-message/old-browsers-message__stop.js +1 -4
  242. package/components/old-browsers-message/white-list.js +8 -13
  243. package/components/pager/pager.d.ts +1 -0
  244. package/components/pager/pager.js +211 -275
  245. package/components/panel/panel.d.ts +0 -5
  246. package/components/panel/panel.js +16 -27
  247. package/components/permissions/permissions.js +118 -161
  248. package/components/permissions/permissions__cache.js +191 -218
  249. package/components/popup/popup.consts.js +1 -1
  250. package/components/popup/popup.js +237 -329
  251. package/components/popup/popup.target.js +9 -12
  252. package/components/popup/position.js +94 -101
  253. package/components/popup-menu/popup-menu.js +31 -76
  254. package/components/progress-bar/progress-bar.d.ts +19 -33
  255. package/components/progress-bar/progress-bar.js +55 -99
  256. package/components/query-assist/query-assist.d.ts +63 -93
  257. package/components/query-assist/query-assist.js +585 -748
  258. package/components/query-assist/query-assist__suggestions.js +2 -28
  259. package/components/radio/radio.d.ts +0 -8
  260. package/components/radio/radio.js +15 -35
  261. package/components/radio/radio__item.d.ts +0 -9
  262. package/components/radio/radio__item.js +52 -72
  263. package/components/scrollable-section/scrollable-section.d.ts +2 -0
  264. package/components/scrollable-section/scrollable-section.js +53 -0
  265. package/components/select/select.d.ts +3 -0
  266. package/components/select/select.js +714 -863
  267. package/components/select/select__filter.js +2 -29
  268. package/components/select/select__popup.js +317 -465
  269. package/components/shortcuts/core.js +147 -195
  270. package/components/shortcuts/shortcut-title.js +6 -10
  271. package/components/shortcuts/shortcuts-hoc.d.ts +4 -9
  272. package/components/shortcuts/shortcuts-hoc.js +23 -46
  273. package/components/shortcuts/shortcuts.d.ts +0 -8
  274. package/components/shortcuts/shortcuts.js +41 -72
  275. package/components/slider/slider.js +93 -113
  276. package/components/slider/slider.utils.js +16 -23
  277. package/components/storage/storage.d.ts +2 -3
  278. package/components/storage/storage.js +2 -46
  279. package/components/storage/storage__local.js +89 -148
  280. package/components/style.css +1 -1
  281. package/components/tab-trap/tab-trap.js +35 -61
  282. package/components/table/cell.d.ts +0 -6
  283. package/components/table/cell.js +11 -27
  284. package/components/table/disable-hover-hoc.d.ts +4 -5
  285. package/components/table/disable-hover-hoc.js +27 -42
  286. package/components/table/header-cell.d.ts +0 -10
  287. package/components/table/header-cell.js +59 -85
  288. package/components/table/header.d.ts +1 -23
  289. package/components/table/header.js +89 -126
  290. package/components/table/multitable.d.ts +0 -4
  291. package/components/table/multitable.js +83 -93
  292. package/components/table/row-with-focus-sensor.d.ts +2 -2
  293. package/components/table/row-with-focus-sensor.js +26 -60
  294. package/components/table/row.js +170 -235
  295. package/components/table/selection-adapter.js +2 -2
  296. package/components/table/selection-shortcuts-hoc.js +102 -126
  297. package/components/table/selection.js +150 -217
  298. package/components/table/simple-table.d.ts +17 -0
  299. package/components/table/simple-table.js +83 -0
  300. package/components/table/smart-table.d.ts +0 -46
  301. package/components/table/smart-table.js +41 -83
  302. package/components/table/table.d.ts +9 -6
  303. package/components/table/table.js +270 -372
  304. package/components/tabs/collapsible-more.d.ts +1 -9
  305. package/components/tabs/collapsible-more.js +47 -97
  306. package/components/tabs/collapsible-tab.js +32 -44
  307. package/components/tabs/collapsible-tabs.d.ts +2 -29
  308. package/components/tabs/collapsible-tabs.js +89 -161
  309. package/components/tabs/custom-item.d.ts +1 -7
  310. package/components/tabs/custom-item.js +4 -7
  311. package/components/tabs/dumb-tabs.d.ts +0 -11
  312. package/components/tabs/dumb-tabs.js +60 -104
  313. package/components/tabs/smart-tabs.d.ts +0 -6
  314. package/components/tabs/smart-tabs.js +29 -68
  315. package/components/tabs/tab-link.d.ts +0 -8
  316. package/components/tabs/tab-link.js +1 -4
  317. package/components/tabs/tab.d.ts +0 -8
  318. package/components/tabs/tab.js +14 -32
  319. package/components/tabs/tabs.js +1 -28
  320. package/components/tag/tag.d.ts +0 -19
  321. package/components/tag/tag.js +120 -179
  322. package/components/tags-input/tags-input.d.ts +7 -33
  323. package/components/tags-input/tags-input.js +224 -339
  324. package/components/tags-list/tags-list.d.ts +0 -13
  325. package/components/tags-list/tags-list.js +45 -74
  326. package/components/text/text.d.ts +0 -7
  327. package/components/text/text.js +27 -43
  328. package/components/toggle/toggle.d.ts +0 -15
  329. package/components/toggle/toggle.js +53 -78
  330. package/components/tooltip/tooltip.d.ts +4 -10
  331. package/components/tooltip/tooltip.js +105 -137
  332. package/components/user-agreement/service.d.ts +2 -1
  333. package/components/user-agreement/service.js +260 -405
  334. package/components/user-agreement/user-agreement.d.ts +0 -18
  335. package/components/user-agreement/user-agreement.js +92 -138
  336. package/components/user-card/card.d.ts +0 -35
  337. package/components/user-card/card.js +2 -27
  338. package/components/user-card/smart-user-card-tooltip.d.ts +0 -5
  339. package/components/user-card/smart-user-card-tooltip.js +52 -108
  340. package/components/user-card/tooltip.d.ts +0 -9
  341. package/components/user-card/tooltip.js +35 -74
  342. package/components/user-card/user-card.js +1 -26
  343. package/package.json +5 -7
  344. package/components/global/prop-types.d.ts +0 -4
  345. package/components/global/prop-types.js +0 -9
  346. package/components/global/react-render-adapter.d.ts +0 -1
  347. package/components/global/react-render-adapter.js +0 -6
  348. package/components/header/tray-icon.d.ts +0 -32
  349. package/components/header/tray-icon.js +0 -56
  350. package/components/storage/storage__fallback.d.ts +0 -79
  351. package/components/storage/storage__fallback.js +0 -253
@@ -1,79 +0,0 @@
1
- import { StorageInterface, StorageConfig } from './storage';
2
- /**
3
- * @prop {string} cookieName
4
- *
5
- * @param {{cookieName: string}} config
6
- * @param {{checkDelay: number}} config
7
- * @param {{type: string}} config
8
- * @return {FallbackStorage}
9
- * @constructor
10
- */
11
- export default class FallbackStorage implements StorageInterface {
12
- static DEFAULT_COOKIE_NAME: string;
13
- static DEFAULT_SESSION_COOKIE_NAME: string;
14
- static DEFAULT_CHECK_DELAY: number;
15
- static COOKIE_EXPIRES: number;
16
- /**
17
- * Maximum storage size
18
- * @see http://browsercookielimits.squawky.net/
19
- * @type {number}
20
- */
21
- static QUOTA: number;
22
- /**
23
- * @param {string} name
24
- * @param {string} value
25
- * @param {number} days
26
- * @private
27
- */
28
- private static _createCookie;
29
- /**
30
- *
31
- * @param {string} name
32
- * @return {string}
33
- * @private
34
- */
35
- private static _readCookie;
36
- cookieName: string;
37
- checkDelay: number;
38
- expires: number | null;
39
- constructor(config?: StorageConfig);
40
- /**
41
- * @return {Promise}
42
- * @private
43
- */
44
- private _read;
45
- /**
46
- * @param data
47
- * @return {Promise}
48
- * @private
49
- */
50
- private _write;
51
- /**
52
- * @param {string} key
53
- * @return {Promise}
54
- */
55
- get(key: string): Promise<any>;
56
- /**
57
- * @param {string} key
58
- * @param {object} value
59
- * @return {Promise}
60
- */
61
- set<T>(key: string, value: T | null): Promise<T | null>;
62
- /**
63
- * @param {string} key
64
- * @return {Promise}
65
- */
66
- remove(key: string): Promise<void>;
67
- /**
68
- *
69
- * @param {function(string, value)} callback
70
- * @return {Promise}
71
- */
72
- each<R>(callback: (item: string, value: unknown) => R | Promise<R>): Promise<Awaited<R>[]>;
73
- /**
74
- * @param {string} key
75
- * @param {Function} callback
76
- * @return {Function}
77
- */
78
- on<T>(key: string, callback: (value: T | null) => void): () => void;
79
- }
@@ -1,253 +0,0 @@
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';
8
- import 'core-js/modules/web.dom-collections.iterator.js';
9
- import deepEqual from 'deep-equal';
10
-
11
- var DEFAULT_CHECK_DELAY = 3000;
12
- var COOKIE_EXPIRES = 365;
13
- var QUOTA = 4093;
14
- // eslint-disable-next-line @typescript-eslint/no-magic-numbers
15
- var SECONDS_IN_DAY = 24 * 60 * 60 * 1000;
16
- /**
17
- * @prop {string} cookieName
18
- *
19
- * @param {{cookieName: string}} config
20
- * @param {{checkDelay: number}} config
21
- * @param {{type: string}} config
22
- * @return {FallbackStorage}
23
- * @constructor
24
- */
25
- var FallbackStorage = /*#__PURE__*/function () {
26
- function FallbackStorage() {
27
- var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
28
- _classCallCheck(this, FallbackStorage);
29
- _defineProperty(this, "cookieName", void 0);
30
- _defineProperty(this, "checkDelay", void 0);
31
- _defineProperty(this, "expires", void 0);
32
- var session = config.type === 'session';
33
- this.cookieName = config.cookieName || (session ? FallbackStorage.DEFAULT_SESSION_COOKIE_NAME : FallbackStorage.DEFAULT_COOKIE_NAME);
34
- this.checkDelay = config.checkDelay || FallbackStorage.DEFAULT_CHECK_DELAY;
35
- this.expires = session ? FallbackStorage.COOKIE_EXPIRES : null;
36
- }
37
- /**
38
- * @return {Promise}
39
- * @private
40
- */
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);
143
- }
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'));
157
- }
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
- }
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
- };
195
- }
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 = ';';
214
- }
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);
233
- }
234
- if (cookie.indexOf(nameEQ) === 0) {
235
- return cookie.substring(nameEQ.length, cookie.length);
236
- }
237
- }
238
- return undefined;
239
- }
240
- }]);
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);
252
-
253
- export { FallbackStorage as default };