@koine/browser 2.0.0-beta.2 → 2.0.0-beta.200
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.
- package/README.md +1 -1
- package/createStorage.cjs.default.js +1 -0
- package/createStorage.cjs.js +12 -0
- package/createStorage.cjs.mjs +2 -0
- package/createStorage.d.ts +12 -7
- package/createStorage.esm.js +7 -0
- package/getZonedDate.cjs.default.js +1 -0
- package/getZonedDate.cjs.js +11 -0
- package/getZonedDate.cjs.mjs +2 -0
- package/getZonedDate.d.ts +1 -1
- package/getZonedDate.esm.js +6 -0
- package/gtag.cjs.default.js +1 -0
- package/gtag.cjs.js +10 -0
- package/gtag.cjs.mjs +2 -0
- package/gtag.d.ts +13 -0
- package/gtag.esm.js +5 -0
- package/gtagPageview.cjs.default.js +1 -0
- package/gtagPageview.cjs.js +10 -0
- package/gtagPageview.cjs.mjs +2 -0
- package/gtagPageview.d.ts +1 -1
- package/gtagPageview.esm.js +5 -0
- package/index.cjs.default.js +1 -0
- package/index.cjs.js +43 -0
- package/index.cjs.mjs +2 -0
- package/index.d.ts +5 -1
- package/index.esm.js +19 -0
- package/isIE.cjs.default.js +1 -0
- package/isIE.cjs.js +10 -0
- package/isIE.cjs.mjs +2 -0
- package/isIE.d.ts +1 -1
- package/isIE.esm.js +5 -0
- package/isMobile.cjs.default.js +1 -0
- package/isMobile.cjs.js +10 -0
- package/isMobile.cjs.mjs +2 -0
- package/isMobile.d.ts +1 -1
- package/isMobile.esm.js +5 -0
- package/isWindowInsideIframe.cjs.default.js +1 -0
- package/isWindowInsideIframe.cjs.js +8 -0
- package/isWindowInsideIframe.cjs.mjs +2 -0
- package/isWindowInsideIframe.d.ts +5 -0
- package/isWindowInsideIframe.esm.js +3 -0
- package/listenUrlSearch.cjs.default.js +1 -0
- package/listenUrlSearch.cjs.js +11 -0
- package/listenUrlSearch.cjs.mjs +2 -0
- package/listenUrlSearch.d.ts +30 -0
- package/listenUrlSearch.esm.js +6 -0
- package/listenUrlSearchParams.cjs.default.js +1 -0
- package/listenUrlSearchParams.cjs.js +10 -0
- package/listenUrlSearchParams.cjs.mjs +2 -0
- package/listenUrlSearchParams.d.ts +7 -0
- package/listenUrlSearchParams.esm.js +5 -0
- package/navigateToHash.cjs.default.js +1 -0
- package/navigateToHash.cjs.js +10 -0
- package/navigateToHash.cjs.mjs +2 -0
- package/navigateToHash.d.ts +1 -1
- package/navigateToHash.esm.js +5 -0
- package/navigateToHashParams.cjs.default.js +1 -0
- package/navigateToHashParams.cjs.js +10 -0
- package/navigateToHashParams.cjs.mjs +2 -0
- package/navigateToHashParams.d.ts +2 -2
- package/navigateToHashParams.esm.js +5 -0
- package/navigateToMergedHashParams.cjs.default.js +1 -0
- package/navigateToMergedHashParams.cjs.js +11 -0
- package/navigateToMergedHashParams.cjs.mjs +2 -0
- package/navigateToMergedHashParams.d.ts +2 -2
- package/navigateToMergedHashParams.esm.js +6 -0
- package/navigateToMergedParams.cjs.default.js +1 -0
- package/navigateToMergedParams.cjs.js +11 -0
- package/navigateToMergedParams.cjs.mjs +2 -0
- package/navigateToMergedParams.d.ts +2 -2
- package/navigateToMergedParams.esm.js +6 -0
- package/navigateToParams.cjs.default.js +1 -0
- package/navigateToParams.cjs.js +11 -0
- package/navigateToParams.cjs.mjs +2 -0
- package/navigateToParams.d.ts +2 -2
- package/navigateToParams.esm.js +6 -0
- package/navigateToUrl.cjs.default.js +1 -0
- package/navigateToUrl.cjs.js +8 -0
- package/navigateToUrl.cjs.mjs +2 -0
- package/navigateToUrl.d.ts +1 -1
- package/navigateToUrl.esm.js +3 -0
- package/navigateWithoutUrlParam.cjs.default.js +1 -0
- package/navigateWithoutUrlParam.cjs.js +11 -0
- package/navigateWithoutUrlParam.cjs.mjs +2 -0
- package/navigateWithoutUrlParam.d.ts +1 -1
- package/navigateWithoutUrlParam.esm.js +6 -0
- package/package.json +133 -11
- package/redirectTo.cjs.default.js +1 -0
- package/redirectTo.cjs.js +10 -0
- package/redirectTo.cjs.mjs +2 -0
- package/redirectTo.d.ts +2 -2
- package/redirectTo.esm.js +5 -0
- package/storage.cjs.default.js +1 -0
- package/storage.cjs.js +10 -0
- package/storage.cjs.mjs +2 -0
- package/storage.d.ts +9 -7
- package/storage.esm.js +5 -0
- package/storageClient.cjs.default.js +1 -0
- package/storageClient.cjs.js +10 -0
- package/storageClient.cjs.mjs +2 -0
- package/storageClient.d.ts +10 -5
- package/storageClient.esm.js +5 -0
- package/vite.config.d.ts +2 -0
- package/createStorage.js +0 -147
- package/createStorage.mjs +0 -143
- package/getZonedDate.js +0 -42
- package/getZonedDate.mjs +0 -37
- package/gtagPageview.js +0 -35
- package/gtagPageview.mjs +0 -30
- package/index.js +0 -33
- package/index.mjs +0 -15
- package/isIE.js +0 -23
- package/isIE.mjs +0 -18
- package/isMobile.js +0 -21
- package/isMobile.mjs +0 -16
- package/navigateToHash.js +0 -18
- package/navigateToHash.mjs +0 -13
- package/navigateToHashParams.js +0 -27
- package/navigateToHashParams.mjs +0 -22
- package/navigateToMergedHashParams.js +0 -19
- package/navigateToMergedHashParams.mjs +0 -14
- package/navigateToMergedParams.js +0 -19
- package/navigateToMergedParams.mjs +0 -14
- package/navigateToParams.js +0 -24
- package/navigateToParams.mjs +0 -19
- package/navigateToUrl.js +0 -16
- package/navigateToUrl.mjs +0 -12
- package/navigateWithoutUrlParam.js +0 -24
- package/navigateWithoutUrlParam.mjs +0 -19
- package/redirectTo.js +0 -20
- package/redirectTo.mjs +0 -15
- package/storage.js +0 -13
- package/storage.mjs +0 -9
- package/storageClient.js +0 -108
- package/storageClient.mjs +0 -103
- package/typings.d.ts +0 -12
package/README.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
# @koine/
|
|
1
|
+
# @koine/i18n
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./createStorage.cjs.js').default;
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
|
|
9
|
+
let createStorage=(a,n)=>{let c=n?storage.storage.s:storage.storage.l,m=Object.keys(a).reduce((e,o)=>({...e,[o]:utils.encode(o)}),{});return {get:(t,o)=>c.get(m[t],utils.decode,o),getAll(e){if(!utils.isBrowser)return "development"===process.env.NODE_ENV&&console.log("[@koine/utils:createStorage] attempt to use 'getAll' outside of browser."),{};let t={};for(let o in m){let s=this.get(o),l=e?.[o];utils.isNullOrUndefined(s)?l&&(t[o]=l):t[o]=s;}return t},set(e,o){c.set(m[e],o,utils.encode);},setMany(e){if("development"!==process.env.NODE_ENV||utils.isBrowser||console.log("[@koine/utils:createStorage] attempt to use 'setMany' outside of browser."),utils.isBrowser)for(let t in e){let o=e[t];utils.isNullOrUndefined(o)?this.remove(t):this.set(t,o);}},has:e=>c.has(m[e]),remove(e){c.remove(m[e]);},clear(){if("development"!==process.env.NODE_ENV||utils.isBrowser||console.log("[@koine/utils:createStorage] attempt to use 'clear' outside of browser."),utils.isBrowser)for(let e in m)c.remove(m[e]);},watch:(e,t,r)=>utils.isBrowser?dom.on(window,"storage",o=>{let{key:s,oldValue:l,newValue:i}=o;s===m[e]&&(l&&!i?t?.():!l&&i&&r?.());}):("development"===process.env.NODE_ENV&&console.log("[@koine/utils:createStorage] attempt to use 'watch' outside of browser."),utils.noop)}};
|
|
10
|
+
|
|
11
|
+
exports.createStorage = createStorage;
|
|
12
|
+
exports.default = createStorage;
|
package/createStorage.d.ts
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @category storage
|
|
3
|
+
*/
|
|
1
4
|
export type CreateStorageConfig = Record<string, any>;
|
|
2
5
|
/**
|
|
3
6
|
* Utility to create a storage instance to interact with `localStorage` using
|
|
4
7
|
* encrypted (encoded) key/values.
|
|
8
|
+
*
|
|
9
|
+
* @category storage
|
|
5
10
|
*/
|
|
6
|
-
export declare
|
|
11
|
+
export declare let createStorage: <T extends CreateStorageConfig>(config: Partial<T>, useSessionStorage?: boolean) => {
|
|
7
12
|
/**
|
|
8
13
|
* Get all storage value (it uses `localStorage.get()`).
|
|
9
14
|
*
|
|
@@ -11,19 +16,19 @@ export declare const createStorage: <T extends CreateStorageConfig>(config: Part
|
|
|
11
16
|
* On ssr or if the given `key` argument is not found `defaultValue` is
|
|
12
17
|
* returned, otherwise `null`.
|
|
13
18
|
*/
|
|
14
|
-
get<TKey extends Extract<keyof T, string>>(key: TKey, defaultValue?: T[TKey]
|
|
19
|
+
get<TKey extends Extract<keyof T, string>>(key: TKey, defaultValue?: null | T[TKey]): T[TKey] | null;
|
|
15
20
|
/**
|
|
16
21
|
* Get all storage values (it uses `localStorage.get()`).
|
|
17
22
|
*
|
|
18
23
|
* `undefined` and `null` values are not returned.
|
|
19
24
|
*/
|
|
20
|
-
getAll(defaultValues?: Partial<T>
|
|
25
|
+
getAll(defaultValues?: Partial<T>): T;
|
|
21
26
|
/**
|
|
22
27
|
* Set a storage value (it uses `localStorage.set()`).
|
|
23
28
|
*
|
|
24
29
|
* Non-string values are stringified with `JSON.stringify()`
|
|
25
30
|
*/
|
|
26
|
-
set<
|
|
31
|
+
set<TKey extends Extract<keyof T, string>>(key: TKey, value?: T[TKey]): void;
|
|
27
32
|
/**
|
|
28
33
|
* Set all given storage values (it uses `localStorage.set()`).
|
|
29
34
|
*
|
|
@@ -34,11 +39,11 @@ export declare const createStorage: <T extends CreateStorageConfig>(config: Part
|
|
|
34
39
|
/**
|
|
35
40
|
* Check if a storage value is _truthy_ (it uses `localStorage.get()`).
|
|
36
41
|
*/
|
|
37
|
-
has<
|
|
42
|
+
has<TKey extends Extract<keyof T, string>>(key: TKey): any;
|
|
38
43
|
/**
|
|
39
44
|
* Remove a storage value (it uses `localStorage.remove()`).
|
|
40
45
|
*/
|
|
41
|
-
remove<
|
|
46
|
+
remove<TKey extends Extract<keyof T, string>>(key: TKey): void;
|
|
42
47
|
/**
|
|
43
48
|
* Clear all storage values (it uses `localStorage.remove()`).
|
|
44
49
|
*/
|
|
@@ -49,6 +54,6 @@ export declare const createStorage: <T extends CreateStorageConfig>(config: Part
|
|
|
49
54
|
*
|
|
50
55
|
* Inspiration from [Multi Tab Logout in React — Redux](https://medium.com/front-end-weekly/multi-tab-logout-in-react-redux-4715f071c7fa)
|
|
51
56
|
*/
|
|
52
|
-
watch: <
|
|
57
|
+
watch: <TKey extends keyof T>(keyToWatch: TKey, onRemoved?: () => void, onAdded?: () => void) => () => void | undefined;
|
|
53
58
|
};
|
|
54
59
|
export default createStorage;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { encode, noop, isBrowser, isNullOrUndefined, decode } from '@koine/utils';
|
|
2
|
+
import { on } from '@koine/dom';
|
|
3
|
+
import { storage } from './storage.esm.js';
|
|
4
|
+
|
|
5
|
+
let createStorage=(a,n)=>{let c=n?storage.s:storage.l,m=Object.keys(a).reduce((e,o)=>({...e,[o]:encode(o)}),{});return {get:(t,o)=>c.get(m[t],decode,o),getAll(e){if(!isBrowser)return "development"===process.env.NODE_ENV&&console.log("[@koine/utils:createStorage] attempt to use 'getAll' outside of browser."),{};let t={};for(let o in m){let s=this.get(o),l=e?.[o];isNullOrUndefined(s)?l&&(t[o]=l):t[o]=s;}return t},set(e,o){c.set(m[e],o,encode);},setMany(e){if("development"!==process.env.NODE_ENV||isBrowser||console.log("[@koine/utils:createStorage] attempt to use 'setMany' outside of browser."),isBrowser)for(let t in e){let o=e[t];isNullOrUndefined(o)?this.remove(t):this.set(t,o);}},has:e=>c.has(m[e]),remove(e){c.remove(m[e]);},clear(){if("development"!==process.env.NODE_ENV||isBrowser||console.log("[@koine/utils:createStorage] attempt to use 'clear' outside of browser."),isBrowser)for(let e in m)c.remove(m[e]);},watch:(e,t,r)=>isBrowser?on(window,"storage",o=>{let{key:s,oldValue:l,newValue:i}=o;s===m[e]&&(l&&!i?t?.():!l&&i&&r?.());}):("development"===process.env.NODE_ENV&&console.log("[@koine/utils:createStorage] attempt to use 'watch' outside of browser."),noop)}};
|
|
6
|
+
|
|
7
|
+
export { createStorage, createStorage as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./getZonedDate.cjs.js').default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var dateFnsTz = require('date-fns-tz');
|
|
6
|
+
var utils = require('@koine/utils');
|
|
7
|
+
|
|
8
|
+
let getZonedDate=(o="",n)=>{if(o.endsWith("Z")||(o+="Z"),!n&&utils.isBrowser)try{n=Intl.DateTimeFormat().resolvedOptions().timeZone;}catch(e){"development"===process.env.NODE_ENV&&console.warn("[@koine/browser:getZonedDate] failed reading timeZone, error",e);}return n?dateFnsTz.toZonedTime(new Date(o),n):new Date(o)};
|
|
9
|
+
|
|
10
|
+
exports.default = getZonedDate;
|
|
11
|
+
exports.getZonedDate = getZonedDate;
|
package/getZonedDate.d.ts
CHANGED
|
@@ -12,5 +12,5 @@
|
|
|
12
12
|
* @param dateString A parseable date as string, `Z` is automatically suffixed if not present to correctly get time zone based time from a UTC date.
|
|
13
13
|
* @param timeZone Optionally pass a timeZone (e.g. from user preference or from the server), it falls back trying to read it from the `Intl` browwser native API.
|
|
14
14
|
*/
|
|
15
|
-
export declare
|
|
15
|
+
export declare let getZonedDate: (dateString?: string, timeZone?: string) => Date;
|
|
16
16
|
export default getZonedDate;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { toZonedTime } from 'date-fns-tz';
|
|
2
|
+
import { isBrowser } from '@koine/utils';
|
|
3
|
+
|
|
4
|
+
let getZonedDate=(o="",n)=>{if(o.endsWith("Z")||(o+="Z"),!n&&isBrowser)try{n=Intl.DateTimeFormat().resolvedOptions().timeZone;}catch(e){"development"===process.env.NODE_ENV&&console.warn("[@koine/browser:getZonedDate] failed reading timeZone, error",e);}return n?toZonedTime(new Date(o),n):new Date(o)};
|
|
5
|
+
|
|
6
|
+
export { getZonedDate as default, getZonedDate };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./gtag.cjs.js').default;
|
package/gtag.cjs.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils = require('@koine/utils');
|
|
6
|
+
|
|
7
|
+
let gtag=(...o)=>{utils.isUndefined(window)||utils.isUndefined(window.gtag)?utils.noop():window.gtag(...o);};
|
|
8
|
+
|
|
9
|
+
exports.default = gtag;
|
|
10
|
+
exports.gtag = gtag;
|
package/gtag.cjs.mjs
ADDED
package/gtag.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @category analytics-google
|
|
3
|
+
*
|
|
4
|
+
* If you like you could add to your globals `.d.ts` types:
|
|
5
|
+
*
|
|
6
|
+
* ```ts
|
|
7
|
+
* declare interface Window {
|
|
8
|
+
* gtag: <T extends unknown[]>(...args: T) => void;
|
|
9
|
+
* }
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export declare let gtag: <T extends unknown[]>(...args: T) => void;
|
|
13
|
+
export default gtag;
|
package/gtag.esm.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./gtagPageview.cjs.js').default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var gtag = require('./gtag.cjs.js');
|
|
6
|
+
|
|
7
|
+
let gtagPageview=(...t)=>gtag.gtag("event","page_view",{page_path:t[0]||location.pathname,page_title:t[1]||document.title,page_location:t[2]||location.href});
|
|
8
|
+
|
|
9
|
+
exports.default = gtagPageview;
|
|
10
|
+
exports.gtagPageview = gtagPageview;
|
package/gtagPageview.d.ts
CHANGED
|
@@ -6,5 +6,5 @@ export type GtmPageviewArgs = [
|
|
|
6
6
|
/**
|
|
7
7
|
* @category analytics-google
|
|
8
8
|
*/
|
|
9
|
-
export declare
|
|
9
|
+
export declare let gtagPageview: (...args: GtmPageviewArgs) => void;
|
|
10
10
|
export default gtagPageview;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./index.cjs.js').default;
|
package/index.cjs.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var createStorage = require('./createStorage.cjs.js');
|
|
4
|
+
var getZonedDate = require('./getZonedDate.cjs.js');
|
|
5
|
+
var gtag = require('./gtag.cjs.js');
|
|
6
|
+
var gtagPageview = require('./gtagPageview.cjs.js');
|
|
7
|
+
var isIE = require('./isIE.cjs.js');
|
|
8
|
+
var isMobile = require('./isMobile.cjs.js');
|
|
9
|
+
var isWindowInsideIframe = require('./isWindowInsideIframe.cjs.js');
|
|
10
|
+
var listenUrlSearch = require('./listenUrlSearch.cjs.js');
|
|
11
|
+
var listenUrlSearchParams = require('./listenUrlSearchParams.cjs.js');
|
|
12
|
+
var navigateToHash = require('./navigateToHash.cjs.js');
|
|
13
|
+
var navigateToHashParams = require('./navigateToHashParams.cjs.js');
|
|
14
|
+
var navigateToMergedHashParams = require('./navigateToMergedHashParams.cjs.js');
|
|
15
|
+
var navigateToMergedParams = require('./navigateToMergedParams.cjs.js');
|
|
16
|
+
var navigateToParams = require('./navigateToParams.cjs.js');
|
|
17
|
+
var navigateToUrl = require('./navigateToUrl.cjs.js');
|
|
18
|
+
var navigateWithoutUrlParam = require('./navigateWithoutUrlParam.cjs.js');
|
|
19
|
+
var storage = require('./storage.cjs.js');
|
|
20
|
+
var redirectTo = require('./redirectTo.cjs.js');
|
|
21
|
+
var storageClient = require('./storageClient.cjs.js');
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
exports.createStorage = createStorage.createStorage;
|
|
26
|
+
exports.getZonedDate = getZonedDate.getZonedDate;
|
|
27
|
+
exports.gtag = gtag.gtag;
|
|
28
|
+
exports.gtagPageview = gtagPageview.gtagPageview;
|
|
29
|
+
exports.isIE = isIE.isIE;
|
|
30
|
+
exports.isMobile = isMobile.isMobile;
|
|
31
|
+
exports.isWindowInsideIframe = isWindowInsideIframe.isWindowInsideIframe;
|
|
32
|
+
exports.listenUrlSearch = listenUrlSearch.listenUrlSearch;
|
|
33
|
+
exports.listenUrlSearchParams = listenUrlSearchParams.listenUrlSearchParams;
|
|
34
|
+
exports.navigateToHash = navigateToHash.navigateToHash;
|
|
35
|
+
exports.navigateToHashParams = navigateToHashParams.navigateToHashParams;
|
|
36
|
+
exports.navigateToMergedHashParams = navigateToMergedHashParams.navigateToMergedHashParams;
|
|
37
|
+
exports.navigateToMergedParams = navigateToMergedParams.navigateToMergedParams;
|
|
38
|
+
exports.navigateToParams = navigateToParams.navigateToParams;
|
|
39
|
+
exports.navigateToUrl = navigateToUrl.navigateToUrl;
|
|
40
|
+
exports.navigateWithoutUrlParam = navigateWithoutUrlParam.navigateWithoutUrlParam;
|
|
41
|
+
exports.storage = storage.storage;
|
|
42
|
+
exports.redirectTo = redirectTo.redirectTo;
|
|
43
|
+
exports.storageClient = storageClient.storageClient;
|
package/index.cjs.mjs
ADDED
package/index.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
export { createStorage, type CreateStorageConfig } from "./createStorage";
|
|
2
2
|
export { getZonedDate } from "./getZonedDate";
|
|
3
|
+
export { gtag } from "./gtag";
|
|
3
4
|
export { gtagPageview, type GtmPageviewArgs } from "./gtagPageview";
|
|
4
5
|
export { isIE } from "./isIE";
|
|
5
6
|
export { isMobile } from "./isMobile";
|
|
7
|
+
export { isWindowInsideIframe } from "./isWindowInsideIframe";
|
|
8
|
+
export { listenUrlSearch } from "./listenUrlSearch";
|
|
9
|
+
export { listenUrlSearchParams } from "./listenUrlSearchParams";
|
|
6
10
|
export { navigateToHash } from "./navigateToHash";
|
|
7
11
|
export { navigateToHashParams } from "./navigateToHashParams";
|
|
8
12
|
export { navigateToMergedHashParams } from "./navigateToMergedHashParams";
|
|
@@ -10,6 +14,6 @@ export { navigateToMergedParams } from "./navigateToMergedParams";
|
|
|
10
14
|
export { navigateToParams } from "./navigateToParams";
|
|
11
15
|
export { navigateToUrl } from "./navigateToUrl";
|
|
12
16
|
export { navigateWithoutUrlParam } from "./navigateWithoutUrlParam";
|
|
13
|
-
export { redirectTo } from "./redirectTo";
|
|
14
17
|
export { storage } from "./storage";
|
|
18
|
+
export { redirectTo } from "./redirectTo";
|
|
15
19
|
export { storageClient, type StorageClientConfig } from "./storageClient";
|
package/index.esm.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
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 { isWindowInsideIframe } from './isWindowInsideIframe.esm.js';
|
|
8
|
+
export { listenUrlSearch } from './listenUrlSearch.esm.js';
|
|
9
|
+
export { listenUrlSearchParams } from './listenUrlSearchParams.esm.js';
|
|
10
|
+
export { navigateToHash } from './navigateToHash.esm.js';
|
|
11
|
+
export { navigateToHashParams } from './navigateToHashParams.esm.js';
|
|
12
|
+
export { navigateToMergedHashParams } from './navigateToMergedHashParams.esm.js';
|
|
13
|
+
export { navigateToMergedParams } from './navigateToMergedParams.esm.js';
|
|
14
|
+
export { navigateToParams } from './navigateToParams.esm.js';
|
|
15
|
+
export { navigateToUrl } from './navigateToUrl.esm.js';
|
|
16
|
+
export { navigateWithoutUrlParam } from './navigateWithoutUrlParam.esm.js';
|
|
17
|
+
export { storage } from './storage.esm.js';
|
|
18
|
+
export { redirectTo } from './redirectTo.esm.js';
|
|
19
|
+
export { storageClient } from './storageClient.esm.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./isIE.cjs.js').default;
|
package/isIE.cjs.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils = require('@koine/utils');
|
|
6
|
+
|
|
7
|
+
let isIE=(t=true)=>{if(utils.isServer)return t;let i=window.navigator.userAgent;return !!(i.indexOf("MSIE ")>0||i.indexOf("Trident/")>0)};
|
|
8
|
+
|
|
9
|
+
exports.default = isIE;
|
|
10
|
+
exports.isIE = isIE;
|
package/isIE.cjs.mjs
ADDED
package/isIE.d.ts
CHANGED
package/isIE.esm.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./isMobile.cjs.js').default;
|
package/isMobile.cjs.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils = require('@koine/utils');
|
|
6
|
+
|
|
7
|
+
let isMobile=(e=true)=>utils.isServer?e:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(window.navigator.userAgent);
|
|
8
|
+
|
|
9
|
+
exports.default = isMobile;
|
|
10
|
+
exports.isMobile = isMobile;
|
package/isMobile.cjs.mjs
ADDED
package/isMobile.d.ts
CHANGED
package/isMobile.esm.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./isWindowInsideIframe.cjs.js').default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./listenUrlSearch.cjs.js').default;
|
|
@@ -0,0 +1,11 @@
|
|
|
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 r=(t,e,r)=>function(...o){let i=t.apply(this,o);return e(),i},o=utils.isBrowser?location.search:"",i=()=>{let t=location.search;if(t!==o)for(let e of history.__.h.values())e(o,t);o=t;};let listenUrlSearch=t=>(history.__||(history.pushState=r(history.pushState,i),history.replaceState=r(history.replaceState,i),dom.on(window,"popstate",i),history.__={h:new Set}),history.__.h.has(t)||history.__.h.add(t),()=>{history.__.h.delete(t);});
|
|
9
|
+
|
|
10
|
+
exports.default = listenUrlSearch;
|
|
11
|
+
exports.listenUrlSearch = listenUrlSearch;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
type Extension = {
|
|
2
|
+
/**
|
|
3
|
+
* Flag that tells if `history` methods have been replaced
|
|
4
|
+
*/
|
|
5
|
+
r?: boolean;
|
|
6
|
+
h: Set<Handler>;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* @param prevLocationSearch The previous URL search query e.g. `?myparam=mvalue`
|
|
10
|
+
* @param newLocationSearch The previous URL search query e.g. `?myparam=mvalue`
|
|
11
|
+
*/
|
|
12
|
+
type Handler = (prevLocationSearch: string, newLocationSearch: string) => void;
|
|
13
|
+
export type HistoryExtended = History & {
|
|
14
|
+
__: Extension;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Here we extend and mutate the native `window.history` object so that multiple
|
|
18
|
+
* scripts can add url change handlers without interfering each other and using
|
|
19
|
+
* the same single listener.
|
|
20
|
+
*
|
|
21
|
+
* @borrows [SO answer](https://stackoverflow.com/a/42727249/1938970)
|
|
22
|
+
*
|
|
23
|
+
* @category location
|
|
24
|
+
* @category navigation
|
|
25
|
+
* @category events
|
|
26
|
+
*
|
|
27
|
+
* @returns A de-register function to remove the handler
|
|
28
|
+
*/
|
|
29
|
+
export declare let listenUrlSearch: (handler: Handler) => () => void;
|
|
30
|
+
export default listenUrlSearch;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { isBrowser } from '@koine/utils';
|
|
2
|
+
import { on } from '@koine/dom';
|
|
3
|
+
|
|
4
|
+
let r=(t,e,r)=>function(...o){let i=t.apply(this,o);return e(),i},o=isBrowser?location.search:"",i=()=>{let t=location.search;if(t!==o)for(let e of history.__.h.values())e(o,t);o=t;};let listenUrlSearch=t=>(history.__||(history.pushState=r(history.pushState,i),history.replaceState=r(history.replaceState,i),on(window,"popstate",i),history.__={h:new Set}),history.__.h.has(t)||history.__.h.add(t),()=>{history.__.h.delete(t);});
|
|
5
|
+
|
|
6
|
+
export { listenUrlSearch as default, listenUrlSearch };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./listenUrlSearchParams.cjs.js').default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var listenUrlSearch = require('./listenUrlSearch.cjs.js');
|
|
6
|
+
|
|
7
|
+
let listenUrlSearchParams=(r,a)=>listenUrlSearch.listenUrlSearch((e,t)=>{let l=new URLSearchParams(e),s=new URLSearchParams(t).get(r);l.get(r)!==s&&a(s);});
|
|
8
|
+
|
|
9
|
+
exports.default = listenUrlSearchParams;
|
|
10
|
+
exports.listenUrlSearchParams = listenUrlSearchParams;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { listenUrlSearch } from './listenUrlSearch.esm.js';
|
|
2
|
+
|
|
3
|
+
let listenUrlSearchParams=(r,a)=>listenUrlSearch((e,t)=>{let l=new URLSearchParams(e),s=new URLSearchParams(t).get(r);l.get(r)!==s&&a(s);});
|
|
4
|
+
|
|
5
|
+
export { listenUrlSearchParams as default, listenUrlSearchParams };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./navigateToHash.cjs.js').default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var navigateToUrl = require('./navigateToUrl.cjs.js');
|
|
6
|
+
|
|
7
|
+
let navigateToHash=(t="")=>{let{pathname:o,search:e}=location;navigateToUrl.navigateToUrl(o+(e?"?"+e:"")+(t?"#"+t:""),true);};
|
|
8
|
+
|
|
9
|
+
exports.default = navigateToHash;
|
|
10
|
+
exports.navigateToHash = navigateToHash;
|
package/navigateToHash.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./navigateToHashParams.cjs.js').default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils = require('@koine/utils');
|
|
6
|
+
|
|
7
|
+
let navigateToHashParams=(o={},e="")=>{let r=!e,i="#/"+utils.getUrlHashPathname(e=e||location.hash)+("string"==typeof o?o:utils.buildUrlQueryString(o));return r&&(location.hash=i),i};
|
|
8
|
+
|
|
9
|
+
exports.default = navigateToHashParams;
|
|
10
|
+
exports.navigateToHashParams = navigateToHashParams;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AnyQueryParams } from "@koine/utils";
|
|
2
2
|
/**
|
|
3
3
|
* It updates the `location.hash` with the given query params, it uses `location.hash`
|
|
4
4
|
* if a second argument `hash` is not provded
|
|
5
5
|
*
|
|
6
6
|
* @category location
|
|
7
7
|
*/
|
|
8
|
-
export declare
|
|
8
|
+
export declare let navigateToHashParams: (params?: string | AnyQueryParams, hash?: string) => string;
|
|
9
9
|
export default navigateToHashParams;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { getUrlHashPathname, buildUrlQueryString } from '@koine/utils';
|
|
2
|
+
|
|
3
|
+
let navigateToHashParams=(o={},e="")=>{let r=!e,i="#/"+getUrlHashPathname(e=e||location.hash)+("string"==typeof o?o:buildUrlQueryString(o));return r&&(location.hash=i),i};
|
|
4
|
+
|
|
5
|
+
export { navigateToHashParams as default, navigateToHashParams };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./navigateToMergedHashParams.cjs.js').default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils = require('@koine/utils');
|
|
6
|
+
var navigateToHashParams = require('./navigateToHashParams.cjs.js');
|
|
7
|
+
|
|
8
|
+
let navigateToMergedHashParams=(o={},t="")=>navigateToHashParams.navigateToHashParams(utils.mergeUrlQueryParams(utils.getUrlHashParams(t),o),t);
|
|
9
|
+
|
|
10
|
+
exports.default = navigateToMergedHashParams;
|
|
11
|
+
exports.navigateToMergedHashParams = navigateToMergedHashParams;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AnyQueryParams } from "@koine/utils";
|
|
2
2
|
/**
|
|
3
3
|
* It updates the "query params" within the `location.hash`, it uses `location`
|
|
4
4
|
*
|
|
5
5
|
* @category location
|
|
6
6
|
*/
|
|
7
|
-
export declare
|
|
7
|
+
export declare let navigateToMergedHashParams: (params?: NonNullable<AnyQueryParams>, hash?: string) => string;
|
|
8
8
|
export default navigateToMergedHashParams;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { mergeUrlQueryParams, getUrlHashParams } from '@koine/utils';
|
|
2
|
+
import { navigateToHashParams } from './navigateToHashParams.esm.js';
|
|
3
|
+
|
|
4
|
+
let navigateToMergedHashParams=(o={},t="")=>navigateToHashParams(mergeUrlQueryParams(getUrlHashParams(t),o),t);
|
|
5
|
+
|
|
6
|
+
export { navigateToMergedHashParams as default, navigateToMergedHashParams };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./navigateToMergedParams.cjs.js').default;
|