@koine/browser 2.0.0-beta.77 → 2.0.0-beta.79

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 (156) hide show
  1. package/README.md +1 -0
  2. package/createStorage.cjs.d.ts +2 -0
  3. package/createStorage.cjs.default.js +1 -0
  4. package/createStorage.cjs.js +101 -0
  5. package/createStorage.cjs.mjs +2 -0
  6. package/createStorage.esm.js +96 -0
  7. package/getZonedDate.cjs.d.ts +2 -0
  8. package/getZonedDate.cjs.default.js +1 -0
  9. package/getZonedDate.cjs.js +29 -0
  10. package/getZonedDate.cjs.mjs +2 -0
  11. package/getZonedDate.esm.js +24 -0
  12. package/gtag.cjs.d.ts +2 -0
  13. package/gtag.cjs.default.js +1 -0
  14. package/gtag.cjs.js +15 -0
  15. package/gtag.cjs.mjs +2 -0
  16. package/gtag.esm.js +10 -0
  17. package/gtagPageview.cjs.d.ts +2 -0
  18. package/gtagPageview.cjs.default.js +1 -0
  19. package/gtagPageview.cjs.js +15 -0
  20. package/gtagPageview.cjs.mjs +2 -0
  21. package/gtagPageview.esm.js +10 -0
  22. package/index.cjs.d.ts +1 -0
  23. package/index.cjs.default.js +1 -0
  24. package/index.cjs.js +45 -0
  25. package/index.cjs.mjs +2 -0
  26. package/index.d.ts +1 -1
  27. package/index.esm.js +20 -0
  28. package/isIE.cjs.d.ts +2 -0
  29. package/isIE.cjs.default.js +1 -0
  30. package/isIE.cjs.js +19 -0
  31. package/isIE.cjs.mjs +2 -0
  32. package/isIE.esm.js +14 -0
  33. package/isMobile.cjs.d.ts +2 -0
  34. package/isMobile.cjs.default.js +1 -0
  35. package/isMobile.cjs.js +13 -0
  36. package/isMobile.cjs.mjs +2 -0
  37. package/isMobile.esm.js +8 -0
  38. package/listenUrlSearch.cjs.d.ts +2 -0
  39. package/listenUrlSearch.cjs.default.js +1 -0
  40. package/listenUrlSearch.cjs.js +46 -0
  41. package/listenUrlSearch.cjs.mjs +2 -0
  42. package/listenUrlSearch.esm.js +41 -0
  43. package/listenUrlSearchParams.cjs.d.ts +2 -0
  44. package/listenUrlSearchParams.cjs.default.js +1 -0
  45. package/listenUrlSearchParams.cjs.js +19 -0
  46. package/listenUrlSearchParams.cjs.mjs +2 -0
  47. package/listenUrlSearchParams.esm.js +14 -0
  48. package/navigateToHash.cjs.d.ts +2 -0
  49. package/navigateToHash.cjs.default.js +1 -0
  50. package/navigateToHash.cjs.js +13 -0
  51. package/navigateToHash.cjs.mjs +2 -0
  52. package/navigateToHash.esm.js +8 -0
  53. package/navigateToHashParams.cjs.d.ts +2 -0
  54. package/navigateToHashParams.cjs.default.js +1 -0
  55. package/navigateToHashParams.cjs.js +20 -0
  56. package/navigateToHashParams.cjs.mjs +2 -0
  57. package/navigateToHashParams.esm.js +15 -0
  58. package/navigateToMergedHashParams.cjs.d.ts +2 -0
  59. package/navigateToMergedHashParams.cjs.default.js +1 -0
  60. package/navigateToMergedHashParams.cjs.js +11 -0
  61. package/navigateToMergedHashParams.cjs.mjs +2 -0
  62. package/navigateToMergedHashParams.esm.js +6 -0
  63. package/navigateToMergedParams.cjs.d.ts +2 -0
  64. package/navigateToMergedParams.cjs.default.js +1 -0
  65. package/navigateToMergedParams.cjs.js +12 -0
  66. package/navigateToMergedParams.cjs.mjs +2 -0
  67. package/navigateToMergedParams.esm.js +7 -0
  68. package/navigateToParams.cjs.d.ts +2 -0
  69. package/navigateToParams.cjs.default.js +1 -0
  70. package/navigateToParams.cjs.js +17 -0
  71. package/navigateToParams.cjs.mjs +2 -0
  72. package/navigateToParams.esm.js +12 -0
  73. package/navigateToUrl.cjs.d.ts +2 -0
  74. package/navigateToUrl.cjs.default.js +1 -0
  75. package/navigateToUrl.cjs.js +12 -0
  76. package/navigateToUrl.cjs.mjs +2 -0
  77. package/navigateToUrl.esm.js +7 -0
  78. package/navigateWithoutUrlParam.cjs.d.ts +2 -0
  79. package/navigateWithoutUrlParam.cjs.default.js +1 -0
  80. package/navigateWithoutUrlParam.cjs.js +21 -0
  81. package/navigateWithoutUrlParam.cjs.mjs +2 -0
  82. package/navigateWithoutUrlParam.esm.js +16 -0
  83. package/package.json +63 -44
  84. package/redirectTo.cjs.d.ts +2 -0
  85. package/redirectTo.cjs.default.js +1 -0
  86. package/redirectTo.cjs.js +15 -0
  87. package/redirectTo.cjs.mjs +2 -0
  88. package/redirectTo.esm.js +10 -0
  89. package/storage.cjs.d.ts +2 -0
  90. package/storage.cjs.default.js +1 -0
  91. package/storage.cjs.js +14 -0
  92. package/storage.cjs.mjs +2 -0
  93. package/storage.esm.js +9 -0
  94. package/storageClient.cjs.d.ts +2 -0
  95. package/storageClient.cjs.default.js +1 -0
  96. package/storageClient.cjs.js +98 -0
  97. package/storageClient.cjs.mjs +2 -0
  98. package/storageClient.esm.js +93 -0
  99. package/cjs/browser/createStorage.js +0 -1
  100. package/cjs/browser/getZonedDate.js +0 -1
  101. package/cjs/browser/gtag.js +0 -1
  102. package/cjs/browser/gtagPageview.js +0 -1
  103. package/cjs/browser/index.js +0 -1
  104. package/cjs/browser/isIE.js +0 -1
  105. package/cjs/browser/isMobile.js +0 -1
  106. package/cjs/browser/listenUrlSearch.js +0 -1
  107. package/cjs/browser/listenUrlSearchParams.js +0 -1
  108. package/cjs/browser/navigateToHash.js +0 -1
  109. package/cjs/browser/navigateToHashParams.js +0 -1
  110. package/cjs/browser/navigateToMergedHashParams.js +0 -1
  111. package/cjs/browser/navigateToMergedParams.js +0 -1
  112. package/cjs/browser/navigateToParams.js +0 -1
  113. package/cjs/browser/navigateToUrl.js +0 -1
  114. package/cjs/browser/navigateWithoutUrlParam.js +0 -1
  115. package/cjs/browser/redirectTo.js +0 -1
  116. package/cjs/browser/storage.js +0 -1
  117. package/cjs/browser/storageClient.js +0 -1
  118. package/cjs/createStorage.d.ts +0 -12
  119. package/cjs/getZonedDate.d.ts +0 -2
  120. package/cjs/gtag.d.ts +0 -2
  121. package/cjs/gtagPageview.d.ts +0 -7
  122. package/cjs/index.d.ts +0 -18
  123. package/cjs/isIE.d.ts +0 -2
  124. package/cjs/isMobile.d.ts +0 -2
  125. package/cjs/listenUrlSearch.d.ts +0 -3
  126. package/cjs/listenUrlSearchParams.d.ts +0 -2
  127. package/cjs/navigateToHash.d.ts +0 -2
  128. package/cjs/navigateToHashParams.d.ts +0 -3
  129. package/cjs/navigateToMergedHashParams.d.ts +0 -3
  130. package/cjs/navigateToMergedParams.d.ts +0 -3
  131. package/cjs/navigateToParams.d.ts +0 -3
  132. package/cjs/navigateToUrl.d.ts +0 -2
  133. package/cjs/navigateWithoutUrlParam.d.ts +0 -2
  134. package/cjs/package.json +0 -16
  135. package/cjs/redirectTo.d.ts +0 -3
  136. package/cjs/storage.d.ts +0 -15
  137. package/cjs/storageClient.d.ts +0 -8
  138. package/createStorage.js +0 -1
  139. package/getZonedDate.js +0 -1
  140. package/gtag.js +0 -1
  141. package/gtagPageview.js +0 -1
  142. package/index.js +0 -1
  143. package/isIE.js +0 -1
  144. package/isMobile.js +0 -1
  145. package/listenUrlSearch.js +0 -1
  146. package/listenUrlSearchParams.js +0 -1
  147. package/navigateToHash.js +0 -1
  148. package/navigateToHashParams.js +0 -1
  149. package/navigateToMergedHashParams.js +0 -1
  150. package/navigateToMergedParams.js +0 -1
  151. package/navigateToParams.js +0 -1
  152. package/navigateToUrl.js +0 -1
  153. package/navigateWithoutUrlParam.js +0 -1
  154. package/redirectTo.js +0 -1
  155. package/storage.js +0 -1
  156. package/storageClient.js +0 -1
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # @koine/i18n
@@ -0,0 +1,2 @@
1
+ export * from "./createStorage";
2
+ export { default } from "./createStorage";
@@ -0,0 +1 @@
1
+ exports._default = require('./createStorage.cjs.js').default;
@@ -0,0 +1,101 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils = require('@koine/utils');
6
+ var dom = require('@koine/dom');
7
+ var storage = require('./storage.cjs.js');
8
+ require('./storageClient.cjs.js');
9
+
10
+ let createStorage = (config, useSessionStorage) => {
11
+ const client = useSessionStorage ? storage.storage.s : storage.storage.l;
12
+ const keys = Object.keys(config).reduce((map, key) => ({ ...map, [key]: utils.encode(key) }), {});
13
+ return {
14
+ get(key, defaultValue) {
15
+ return client.get(keys[key], utils.decode, defaultValue);
16
+ },
17
+ getAll(defaultValues) {
18
+ if (!utils.isBrowser) {
19
+ if (process.env["NODE_ENV"] === "development") {
20
+ console.log(`[@koine/utils:createStorage] attempt to use 'getAll' outside of browser.`);
21
+ }
22
+ return {};
23
+ }
24
+ const all = {};
25
+ for (const key in keys) {
26
+ const value = this.get(key);
27
+ const defaultValue = defaultValues?.[key];
28
+ if (!utils.isNullOrUndefined(value)) {
29
+ all[key] = value;
30
+ }
31
+ else if (defaultValue) {
32
+ all[key] = defaultValue;
33
+ }
34
+ }
35
+ return all;
36
+ },
37
+ set(key, value) {
38
+ client.set(keys[key], value, utils.encode);
39
+ },
40
+ setMany(newValues) {
41
+ if (process.env["NODE_ENV"] === "development") {
42
+ if (!utils.isBrowser) {
43
+ console.log(`[@koine/utils:createStorage] attempt to use 'setMany' outside of browser.`);
44
+ }
45
+ }
46
+ if (utils.isBrowser) {
47
+ for (const key in newValues) {
48
+ const value = newValues[key];
49
+ if (!utils.isNullOrUndefined(value)) {
50
+ this.set(key, value);
51
+ }
52
+ else {
53
+ this.remove(key);
54
+ }
55
+ }
56
+ }
57
+ },
58
+ has(key) {
59
+ return client.has(keys[key]);
60
+ },
61
+ remove(key) {
62
+ client.remove(keys[key]);
63
+ },
64
+ clear() {
65
+ if (process.env["NODE_ENV"] === "development") {
66
+ if (!utils.isBrowser) {
67
+ console.log(`[@koine/utils:createStorage] attempt to use 'clear' outside of browser.`);
68
+ }
69
+ }
70
+ if (utils.isBrowser) {
71
+ for (const key in keys) {
72
+ client.remove(keys[key]);
73
+ }
74
+ }
75
+ },
76
+ watch: (keyToWatch, onRemoved, onAdded) => {
77
+ if (!utils.isBrowser) {
78
+ if (process.env["NODE_ENV"] === "development") {
79
+ console.log(`[@koine/utils:createStorage] attempt to use 'watch' outside of browser.`);
80
+ }
81
+ return utils.noop;
82
+ }
83
+ const handler = (event) => {
84
+ const { key, oldValue, newValue } = event;
85
+ if (key === keys[keyToWatch]) {
86
+ if (oldValue && !newValue) {
87
+ onRemoved?.();
88
+ }
89
+ else if (!oldValue && newValue) {
90
+ onAdded?.();
91
+ }
92
+ }
93
+ };
94
+ const listener = dom.on(window, "storage", handler);
95
+ return listener;
96
+ },
97
+ };
98
+ };
99
+
100
+ exports.createStorage = createStorage;
101
+ exports["default"] = createStorage;
@@ -0,0 +1,2 @@
1
+ export * from './createStorage.cjs.js';
2
+ export { _default as default } from './createStorage.cjs.default.js';
@@ -0,0 +1,96 @@
1
+ import { encode, decode, isBrowser, isNullOrUndefined, noop } from '@koine/utils';
2
+ import { on } from '@koine/dom';
3
+ import { storage } from './storage.esm.js';
4
+ import './storageClient.esm.js';
5
+
6
+ let createStorage = (config, useSessionStorage) => {
7
+ const client = useSessionStorage ? storage.s : storage.l;
8
+ const keys = Object.keys(config).reduce((map, key) => ({ ...map, [key]: encode(key) }), {});
9
+ return {
10
+ get(key, defaultValue) {
11
+ return client.get(keys[key], decode, defaultValue);
12
+ },
13
+ getAll(defaultValues) {
14
+ if (!isBrowser) {
15
+ if (process.env["NODE_ENV"] === "development") {
16
+ console.log(`[@koine/utils:createStorage] attempt to use 'getAll' outside of browser.`);
17
+ }
18
+ return {};
19
+ }
20
+ const all = {};
21
+ for (const key in keys) {
22
+ const value = this.get(key);
23
+ const defaultValue = defaultValues?.[key];
24
+ if (!isNullOrUndefined(value)) {
25
+ all[key] = value;
26
+ }
27
+ else if (defaultValue) {
28
+ all[key] = defaultValue;
29
+ }
30
+ }
31
+ return all;
32
+ },
33
+ set(key, value) {
34
+ client.set(keys[key], value, encode);
35
+ },
36
+ setMany(newValues) {
37
+ if (process.env["NODE_ENV"] === "development") {
38
+ if (!isBrowser) {
39
+ console.log(`[@koine/utils:createStorage] attempt to use 'setMany' outside of browser.`);
40
+ }
41
+ }
42
+ if (isBrowser) {
43
+ for (const key in newValues) {
44
+ const value = newValues[key];
45
+ if (!isNullOrUndefined(value)) {
46
+ this.set(key, value);
47
+ }
48
+ else {
49
+ this.remove(key);
50
+ }
51
+ }
52
+ }
53
+ },
54
+ has(key) {
55
+ return client.has(keys[key]);
56
+ },
57
+ remove(key) {
58
+ client.remove(keys[key]);
59
+ },
60
+ clear() {
61
+ if (process.env["NODE_ENV"] === "development") {
62
+ if (!isBrowser) {
63
+ console.log(`[@koine/utils:createStorage] attempt to use 'clear' outside of browser.`);
64
+ }
65
+ }
66
+ if (isBrowser) {
67
+ for (const key in keys) {
68
+ client.remove(keys[key]);
69
+ }
70
+ }
71
+ },
72
+ watch: (keyToWatch, onRemoved, onAdded) => {
73
+ if (!isBrowser) {
74
+ if (process.env["NODE_ENV"] === "development") {
75
+ console.log(`[@koine/utils:createStorage] attempt to use 'watch' outside of browser.`);
76
+ }
77
+ return noop;
78
+ }
79
+ const handler = (event) => {
80
+ const { key, oldValue, newValue } = event;
81
+ if (key === keys[keyToWatch]) {
82
+ if (oldValue && !newValue) {
83
+ onRemoved?.();
84
+ }
85
+ else if (!oldValue && newValue) {
86
+ onAdded?.();
87
+ }
88
+ }
89
+ };
90
+ const listener = on(window, "storage", handler);
91
+ return listener;
92
+ },
93
+ };
94
+ };
95
+
96
+ export { createStorage, createStorage as default };
@@ -0,0 +1,2 @@
1
+ export * from "./getZonedDate";
2
+ export { default } from "./getZonedDate";
@@ -0,0 +1 @@
1
+ exports._default = require('./getZonedDate.cjs.js').default;
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils = require('@koine/utils');
6
+
7
+ const utcToZonedTime = (date, _tz) => {
8
+ return date;
9
+ };
10
+ let getZonedDate = (dateString = "", timeZone) => {
11
+ if (!dateString.endsWith("Z"))
12
+ dateString += "Z";
13
+ if (!timeZone && utils.isBrowser) {
14
+ try {
15
+ timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
16
+ }
17
+ catch (e) {
18
+ if (process.env["NODE_ENV"] === "development") {
19
+ console.warn("[@koine/browser:getZonedDate] failed reading timeZone, error", e);
20
+ }
21
+ }
22
+ }
23
+ return timeZone
24
+ ? utcToZonedTime(new Date(dateString))
25
+ : new Date(dateString);
26
+ };
27
+
28
+ exports["default"] = getZonedDate;
29
+ exports.getZonedDate = getZonedDate;
@@ -0,0 +1,2 @@
1
+ export * from './getZonedDate.cjs.js';
2
+ export { _default as default } from './getZonedDate.cjs.default.js';
@@ -0,0 +1,24 @@
1
+ import { isBrowser } from '@koine/utils';
2
+
3
+ const utcToZonedTime = (date, _tz) => {
4
+ return date;
5
+ };
6
+ let getZonedDate = (dateString = "", timeZone) => {
7
+ if (!dateString.endsWith("Z"))
8
+ dateString += "Z";
9
+ if (!timeZone && isBrowser) {
10
+ try {
11
+ timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
12
+ }
13
+ catch (e) {
14
+ if (process.env["NODE_ENV"] === "development") {
15
+ console.warn("[@koine/browser:getZonedDate] failed reading timeZone, error", e);
16
+ }
17
+ }
18
+ }
19
+ return timeZone
20
+ ? utcToZonedTime(new Date(dateString))
21
+ : new Date(dateString);
22
+ };
23
+
24
+ export { getZonedDate as default, getZonedDate };
package/gtag.cjs.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./gtag";
2
+ export { default } from "./gtag";
@@ -0,0 +1 @@
1
+ exports._default = require('./gtag.cjs.js').default;
package/gtag.cjs.js ADDED
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils = require('@koine/utils');
6
+
7
+ let gtag = (...args) => {
8
+ !utils.isUndefined(window) && !utils.isUndefined(window.gtag)
9
+ ?
10
+ window.gtag(...args)
11
+ : utils.noop();
12
+ };
13
+
14
+ exports["default"] = gtag;
15
+ exports.gtag = gtag;
package/gtag.cjs.mjs ADDED
@@ -0,0 +1,2 @@
1
+ export * from './gtag.cjs.js';
2
+ export { _default as default } from './gtag.cjs.default.js';
package/gtag.esm.js ADDED
@@ -0,0 +1,10 @@
1
+ import { isUndefined, noop } from '@koine/utils';
2
+
3
+ let gtag = (...args) => {
4
+ !isUndefined(window) && !isUndefined(window.gtag)
5
+ ?
6
+ window.gtag(...args)
7
+ : noop();
8
+ };
9
+
10
+ export { gtag as default, gtag };
@@ -0,0 +1,2 @@
1
+ export * from "./gtagPageview";
2
+ export { default } from "./gtagPageview";
@@ -0,0 +1 @@
1
+ exports._default = require('./gtagPageview.cjs.js').default;
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var gtag = require('./gtag.cjs.js');
6
+ require('@koine/utils');
7
+
8
+ let gtagPageview = (...args) => gtag.gtag("event", "page_view", {
9
+ page_path: args[0] || location.pathname,
10
+ page_title: args[1] || document.title,
11
+ page_location: args[2] || location.href,
12
+ });
13
+
14
+ exports["default"] = gtagPageview;
15
+ exports.gtagPageview = gtagPageview;
@@ -0,0 +1,2 @@
1
+ export * from './gtagPageview.cjs.js';
2
+ export { _default as default } from './gtagPageview.cjs.default.js';
@@ -0,0 +1,10 @@
1
+ import { gtag } from './gtag.esm.js';
2
+ import '@koine/utils';
3
+
4
+ let gtagPageview = (...args) => gtag("event", "page_view", {
5
+ page_path: args[0] || location.pathname,
6
+ page_title: args[1] || document.title,
7
+ page_location: args[2] || location.href,
8
+ });
9
+
10
+ export { gtagPageview as default, gtagPageview };
package/index.cjs.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "./index";
@@ -0,0 +1 @@
1
+ exports._default = require('./index.cjs.js').default;
package/index.cjs.js ADDED
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var createStorage = require('./createStorage.cjs.js');
6
+ var getZonedDate = require('./getZonedDate.cjs.js');
7
+ var gtag = require('./gtag.cjs.js');
8
+ var gtagPageview = require('./gtagPageview.cjs.js');
9
+ var isIE = require('./isIE.cjs.js');
10
+ var isMobile = require('./isMobile.cjs.js');
11
+ var listenUrlSearch = require('./listenUrlSearch.cjs.js');
12
+ var listenUrlSearchParams = require('./listenUrlSearchParams.cjs.js');
13
+ var navigateToHash = require('./navigateToHash.cjs.js');
14
+ var navigateToHashParams = require('./navigateToHashParams.cjs.js');
15
+ var navigateToMergedHashParams = require('./navigateToMergedHashParams.cjs.js');
16
+ var navigateToMergedParams = require('./navigateToMergedParams.cjs.js');
17
+ var navigateToParams = require('./navigateToParams.cjs.js');
18
+ var navigateToUrl = require('./navigateToUrl.cjs.js');
19
+ var navigateWithoutUrlParam = require('./navigateWithoutUrlParam.cjs.js');
20
+ var storage = require('./storage.cjs.js');
21
+ var redirectTo = require('./redirectTo.cjs.js');
22
+ var storageClient = require('./storageClient.cjs.js');
23
+ require('@koine/utils');
24
+ require('@koine/dom');
25
+
26
+
27
+
28
+ exports.createStorage = createStorage.createStorage;
29
+ exports.getZonedDate = getZonedDate.getZonedDate;
30
+ exports.gtag = gtag.gtag;
31
+ exports.gtagPageview = gtagPageview.gtagPageview;
32
+ exports.isIE = isIE.isIE;
33
+ exports.isMobile = isMobile.isMobile;
34
+ exports.listenUrlSearch = listenUrlSearch.listenUrlSearch;
35
+ exports.listenUrlSearchParams = listenUrlSearchParams.listenUrlSearchParams;
36
+ exports.navigateToHash = navigateToHash.navigateToHash;
37
+ exports.navigateToHashParams = navigateToHashParams.navigateToHashParams;
38
+ exports.navigateToMergedHashParams = navigateToMergedHashParams.navigateToMergedHashParams;
39
+ exports.navigateToMergedParams = navigateToMergedParams.navigateToMergedParams;
40
+ exports.navigateToParams = navigateToParams.navigateToParams;
41
+ exports.navigateToUrl = navigateToUrl.navigateToUrl;
42
+ exports.navigateWithoutUrlParam = navigateWithoutUrlParam.navigateWithoutUrlParam;
43
+ exports.storage = storage.storage;
44
+ exports.redirectTo = redirectTo.redirectTo;
45
+ exports.storageClient = storageClient.storageClient;
package/index.cjs.mjs ADDED
@@ -0,0 +1,2 @@
1
+ export * from './index.cjs.js';
2
+ export { _default as default } from './index.cjs.default.js';
package/index.d.ts CHANGED
@@ -13,6 +13,6 @@ export { navigateToMergedParams } from "./navigateToMergedParams";
13
13
  export { navigateToParams } from "./navigateToParams";
14
14
  export { navigateToUrl } from "./navigateToUrl";
15
15
  export { navigateWithoutUrlParam } from "./navigateWithoutUrlParam";
16
- export { redirectTo } from "./redirectTo";
17
16
  export { storage } from "./storage";
17
+ export { redirectTo } from "./redirectTo";
18
18
  export { storageClient, type StorageClientConfig } from "./storageClient";
package/index.esm.js ADDED
@@ -0,0 +1,20 @@
1
+ export { createStorage } from './createStorage.esm.js';
2
+ export { getZonedDate } from './getZonedDate.esm.js';
3
+ export { gtag } from './gtag.esm.js';
4
+ export { gtagPageview } from './gtagPageview.esm.js';
5
+ export { isIE } from './isIE.esm.js';
6
+ export { isMobile } from './isMobile.esm.js';
7
+ export { listenUrlSearch } from './listenUrlSearch.esm.js';
8
+ export { listenUrlSearchParams } from './listenUrlSearchParams.esm.js';
9
+ export { navigateToHash } from './navigateToHash.esm.js';
10
+ export { navigateToHashParams } from './navigateToHashParams.esm.js';
11
+ export { navigateToMergedHashParams } from './navigateToMergedHashParams.esm.js';
12
+ export { navigateToMergedParams } from './navigateToMergedParams.esm.js';
13
+ export { navigateToParams } from './navigateToParams.esm.js';
14
+ export { navigateToUrl } from './navigateToUrl.esm.js';
15
+ export { navigateWithoutUrlParam } from './navigateWithoutUrlParam.esm.js';
16
+ export { storage } from './storage.esm.js';
17
+ export { redirectTo } from './redirectTo.esm.js';
18
+ export { storageClient } from './storageClient.esm.js';
19
+ import '@koine/utils';
20
+ import '@koine/dom';
package/isIE.cjs.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./isIE";
2
+ export { default } from "./isIE";
@@ -0,0 +1 @@
1
+ exports._default = require('./isIE.cjs.js').default;
package/isIE.cjs.js ADDED
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils = require('@koine/utils');
6
+
7
+ let isIE = (ssrValue = true) => {
8
+ if (utils.isServer) {
9
+ return ssrValue;
10
+ }
11
+ const ua = window.navigator.userAgent;
12
+ if (ua.indexOf("MSIE ") > 0 || ua.indexOf("Trident/") > 0) {
13
+ return true;
14
+ }
15
+ return false;
16
+ };
17
+
18
+ exports["default"] = isIE;
19
+ exports.isIE = isIE;
package/isIE.cjs.mjs ADDED
@@ -0,0 +1,2 @@
1
+ export * from './isIE.cjs.js';
2
+ export { _default as default } from './isIE.cjs.default.js';
package/isIE.esm.js ADDED
@@ -0,0 +1,14 @@
1
+ import { isServer } from '@koine/utils';
2
+
3
+ let isIE = (ssrValue = true) => {
4
+ if (isServer) {
5
+ return ssrValue;
6
+ }
7
+ const ua = window.navigator.userAgent;
8
+ if (ua.indexOf("MSIE ") > 0 || ua.indexOf("Trident/") > 0) {
9
+ return true;
10
+ }
11
+ return false;
12
+ };
13
+
14
+ export { isIE as default, isIE };
@@ -0,0 +1,2 @@
1
+ export * from "./isMobile";
2
+ export { default } from "./isMobile";
@@ -0,0 +1 @@
1
+ exports._default = require('./isMobile.cjs.js').default;
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils = require('@koine/utils');
6
+
7
+ let isMobile = (ssrValue = true) => utils.isServer
8
+ ? ssrValue
9
+ :
10
+ /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(window.navigator.userAgent);
11
+
12
+ exports["default"] = isMobile;
13
+ exports.isMobile = isMobile;
@@ -0,0 +1,2 @@
1
+ export * from './isMobile.cjs.js';
2
+ export { _default as default } from './isMobile.cjs.default.js';
@@ -0,0 +1,8 @@
1
+ import { isServer } from '@koine/utils';
2
+
3
+ let isMobile = (ssrValue = true) => isServer
4
+ ? ssrValue
5
+ :
6
+ /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(window.navigator.userAgent);
7
+
8
+ export { isMobile as default, isMobile };
@@ -0,0 +1,2 @@
1
+ export * from "./listenUrlSearch";
2
+ export { default } from "./listenUrlSearch";
@@ -0,0 +1 @@
1
+ exports._default = require('./listenUrlSearch.cjs.js').default;
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils = require('@koine/utils');
6
+ var dom = require('@koine/dom');
7
+
8
+ let extendHistoryMethod = (fn, runHandlers, before) => {
9
+ return function interceptor(...args) {
10
+ if (before) {
11
+ runHandlers();
12
+ return fn.apply(this, args);
13
+ }
14
+ const result = fn.apply(this, args);
15
+ runHandlers();
16
+ return result;
17
+ };
18
+ };
19
+ let prevSearch = utils.isBrowser ? location.search : "";
20
+ let runHandlers = () => {
21
+ const newSearch = location.search;
22
+ if (newSearch !== prevSearch) {
23
+ const listeners = history.__.h.values();
24
+ for (const listener of listeners) {
25
+ listener(prevSearch, newSearch);
26
+ }
27
+ }
28
+ prevSearch = newSearch;
29
+ };
30
+ let listenUrlSearch = (handler) => {
31
+ if (!history.__) {
32
+ history.pushState = extendHistoryMethod(history.pushState, runHandlers);
33
+ history.replaceState = extendHistoryMethod(history.replaceState, runHandlers);
34
+ dom.on(window, "popstate", runHandlers);
35
+ history.__ = { h: new Set() };
36
+ }
37
+ if (!history.__.h.has(handler)) {
38
+ history.__.h.add(handler);
39
+ }
40
+ return () => {
41
+ history.__.h.delete(handler);
42
+ };
43
+ };
44
+
45
+ exports["default"] = listenUrlSearch;
46
+ exports.listenUrlSearch = listenUrlSearch;
@@ -0,0 +1,2 @@
1
+ export * from './listenUrlSearch.cjs.js';
2
+ export { _default as default } from './listenUrlSearch.cjs.default.js';
@@ -0,0 +1,41 @@
1
+ import { isBrowser } from '@koine/utils';
2
+ import { on } from '@koine/dom';
3
+
4
+ let extendHistoryMethod = (fn, runHandlers, before) => {
5
+ return function interceptor(...args) {
6
+ if (before) {
7
+ runHandlers();
8
+ return fn.apply(this, args);
9
+ }
10
+ const result = fn.apply(this, args);
11
+ runHandlers();
12
+ return result;
13
+ };
14
+ };
15
+ let prevSearch = isBrowser ? location.search : "";
16
+ let runHandlers = () => {
17
+ const newSearch = location.search;
18
+ if (newSearch !== prevSearch) {
19
+ const listeners = history.__.h.values();
20
+ for (const listener of listeners) {
21
+ listener(prevSearch, newSearch);
22
+ }
23
+ }
24
+ prevSearch = newSearch;
25
+ };
26
+ let listenUrlSearch = (handler) => {
27
+ if (!history.__) {
28
+ history.pushState = extendHistoryMethod(history.pushState, runHandlers);
29
+ history.replaceState = extendHistoryMethod(history.replaceState, runHandlers);
30
+ on(window, "popstate", runHandlers);
31
+ history.__ = { h: new Set() };
32
+ }
33
+ if (!history.__.h.has(handler)) {
34
+ history.__.h.add(handler);
35
+ }
36
+ return () => {
37
+ history.__.h.delete(handler);
38
+ };
39
+ };
40
+
41
+ export { listenUrlSearch as default, listenUrlSearch };
@@ -0,0 +1,2 @@
1
+ export * from "./listenUrlSearchParams";
2
+ export { default } from "./listenUrlSearchParams";
@@ -0,0 +1 @@
1
+ exports._default = require('./listenUrlSearchParams.cjs.js').default;
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var listenUrlSearch = require('./listenUrlSearch.cjs.js');
6
+ require('@koine/utils');
7
+ require('@koine/dom');
8
+
9
+ let listenUrlSearchParams = (paramName, handler) => listenUrlSearch.listenUrlSearch((prevSearch, newSearch) => {
10
+ const prevParams = new URLSearchParams(prevSearch);
11
+ const newParams = new URLSearchParams(newSearch);
12
+ const newValue = newParams.get(paramName);
13
+ if (prevParams.get(paramName) !== newValue) {
14
+ handler(newValue);
15
+ }
16
+ });
17
+
18
+ exports["default"] = listenUrlSearchParams;
19
+ exports.listenUrlSearchParams = listenUrlSearchParams;