@wiggindev/hooks 0.2.2 → 0.2.7
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +44 -41
- package/dist/index.cjs +0 -2
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts +0 -6
- package/dist/index.modern.js +0 -52
- package/dist/index.modern.js.map +0 -1
- package/dist/index.module.js +0 -81
- package/dist/index.module.js.map +0 -1
- package/dist/index.umd.js +0 -88
- package/dist/index.umd.js.map +0 -1
- package/dist/useDocumentEventListener.d.ts +0 -7
- package/dist/useEvent.d.ts +0 -2
- package/dist/useEventListener.d.ts +0 -10
- package/dist/useIsomorphicLayoutEffect.d.ts +0 -2
- package/dist/usePrevious.d.ts +0 -1
- package/dist/useWindowDimensions.d.ts +0 -4
- package/dist/useWindowEventListener.d.ts +0 -7
package/package.json
CHANGED
@@ -1,42 +1,45 @@
|
|
1
1
|
{
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
"
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
"
|
23
|
-
"
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
"
|
30
|
-
|
31
|
-
|
32
|
-
"
|
33
|
-
|
34
|
-
|
35
|
-
"
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
2
|
+
"name": "@wiggindev/hooks",
|
3
|
+
"description": "Various hooks that I use in my projects",
|
4
|
+
"version": "0.2.7",
|
5
|
+
"author": {
|
6
|
+
"name": "Andrew Wiggin",
|
7
|
+
"email": "andrew@wiggin.dev",
|
8
|
+
"url": "https://wiggin.dev"
|
9
|
+
},
|
10
|
+
"repository": {
|
11
|
+
"type": "git",
|
12
|
+
"url": "https://github.com/wiggindev/-wiggindev.git",
|
13
|
+
"directory": "packages/hooks"
|
14
|
+
},
|
15
|
+
"type": "module",
|
16
|
+
"source": "src/index.ts",
|
17
|
+
"exports": {
|
18
|
+
"require": "./dist/index.cjs",
|
19
|
+
"default": "./dist/index.modern.js"
|
20
|
+
},
|
21
|
+
"main": "dist/index.cjs",
|
22
|
+
"module": "dist/index.module.js",
|
23
|
+
"unpkg": "dist/index.umd.js",
|
24
|
+
"types": "dist/index.d.ts",
|
25
|
+
"scripts": {
|
26
|
+
"build": "rm -rf dist && microbundle -f modern,esm,cjs",
|
27
|
+
"dev": "rm -rf dist && microbundle -f modern,esm,cjs watch"
|
28
|
+
},
|
29
|
+
"dependencies": {
|
30
|
+
"@wiggindev/utils": "*"
|
31
|
+
},
|
32
|
+
"peerDependencies": {
|
33
|
+
"react": ">= 18"
|
34
|
+
},
|
35
|
+
"devDependencies": {
|
36
|
+
"@types/react": "^18.0.9",
|
37
|
+
"eslint-plugin-react": "^7.29.4",
|
38
|
+
"microbundle": "^0.15.0",
|
39
|
+
"react": "^18.1.0"
|
40
|
+
},
|
41
|
+
"packageManager": "yarn@3.2.1",
|
42
|
+
"publishConfig": {
|
43
|
+
"access": "public"
|
44
|
+
}
|
45
|
+
}
|
package/dist/index.cjs
DELETED
@@ -1,2 +0,0 @@
|
|
1
|
-
var e=require("react"),t=require("@wiggindev/utils");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=/*#__PURE__*/n(e),r="undefined"!=typeof window?u.default.useLayoutEffect:u.default.useEffect,f=function(e){var t=u.default.useRef(e);return r(function(){t.current=e}),u.default.useMemo(function(){return t.current},[])};exports.useDocumentEventListener=function(e,n){var r=f(n);u.default.useEffect(function(){if(document&&document.addEventListener)return t.events.document.on(e,r),function(){return t.events.document.off(e,r)}},[e,r])},exports.useEvent=f,exports.useEventListener=function(e,n,r){var o=f(n);u.default.useEffect(function(){var n=r.current;if(n&&n.addEventListener)return t.events.element.on(n,e,o),function(){return t.events.element.off(n,e,o)}},[r,e,o])},exports.useIsomorphicLayoutEffect=r,exports.usePrevious=function(e){var t=u.default.useRef();return u.default.useEffect(function(){t.current=e},[e]),t.current},exports.useWindowEventListener=function(e,n){var r=f(n);u.default.useEffect(function(){if(window&&window.addEventListener)return t.events.window.on(e,r),function(){return t.events.window.off(e,r)}},[e,r])};
|
2
|
-
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/useIsomorphicLayoutEffect.ts","../src/useEvent.ts","../src/useDocumentEventListener.ts","../src/useEventListener.ts","../src/usePrevious.ts","../src/useWindowEventListener.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n","import React from 'react';\nimport { Callback } from '@wiggindev/utils';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n\nexport const useEvent = <C extends Callback>(callback: C): C => {\n const callbackRef = React.useRef(callback);\n useIsomorphicLayoutEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => callbackRef.current, []);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useDocumentEventListener = <K extends EventName<DocumentEventMap>>(\n eventName: K,\n listener: EventListener<DocumentEventMap, K>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n if (!document || !document.addEventListener) {\n return;\n }\n events.document.on(eventName, stableListener);\n return () => events.document.off(eventName, stableListener);\n }, [eventName, stableListener]);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useEventListener = <\n K extends EventName<HTMLElementEventMap>,\n E extends HTMLElement\n>(\n eventName: K,\n listener: EventListener<HTMLElementEventMap, K>,\n element: React.RefObject<E>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n const node = element.current;\n if (!node || !node.addEventListener) {\n return;\n }\n events.element.on(node, eventName, stableListener);\n return () => events.element.off(node, eventName, stableListener);\n }, [element, eventName, stableListener]);\n};\n","import React from 'react';\n\nexport const usePrevious = <T>(value: T) => {\n const stateRef = React.useRef<T>();\n React.useEffect(() => {\n stateRef.current = value;\n }, [value]);\n return stateRef.current;\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useWindowEventListener = <K extends EventName<WindowEventMap>>(\n eventName: K,\n listener: EventListener<WindowEventMap, K>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n if (!window || !window.addEventListener) {\n return;\n }\n events.window.on(eventName, stableListener);\n return () => events.window.off(eventName, stableListener);\n }, [eventName, stableListener]);\n};\n"],"names":["useIsomorphicLayoutEffect","window","React","useLayoutEffect","useEffect","useEvent","callback","callbackRef","useRef","current","useMemo","eventName","listener","stableListener","document","addEventListener","events","on","off","element","node","value","stateRef"],"mappings":"qJAEaA,EACS,oBAAXC,OAAyBC,EAAAA,QAAMC,gBAAkBD,EAAAA,QAAME,UCCrDC,EAAW,SAAqBC,GACzC,IAAMC,EAAcL,EAAK,QAACM,OAAOF,GAIjC,OAHAN,EAA0B,WACtBO,EAAYE,QAAUH,IAEnBJ,UAAMQ,QAAQ,WAAA,OAAMH,EAAYE,SAAS,sCCLZ,SACpCE,EACAC,GAEA,IAAMC,EAAiBR,EAASO,GAChCV,EAAK,QAACE,UAAU,WACZ,GAAKU,UAAaA,SAASC,iBAI3B,OADAC,EAAMA,OAACF,SAASG,GAAGN,EAAWE,GACjBG,WAAAA,OAAAA,EAAAA,OAAOF,SAASI,IAAIP,EAAWE,KAC7C,CAACF,EAAWE,iDCXa,SAI5BF,EACAC,EACAO,GAEA,IAAMN,EAAiBR,EAASO,GAChCV,EAAK,QAACE,UAAU,WACZ,IAAMgB,EAAOD,EAAQV,QACrB,GAAKW,GAASA,EAAKL,iBAInB,OADAC,EAAMA,OAACG,QAAQF,GAAGG,EAAMT,EAAWE,qBACtBG,EAAMA,OAACG,QAAQD,IAAIE,EAAMT,EAAWE,KAClD,CAACM,EAASR,EAAWE,6DClBD,SAAIQ,GAC3B,IAAMC,EAAWpB,EAAK,QAACM,SAIvB,OAHAN,EAAK,QAACE,UAAU,WACZkB,EAASb,QAAUY,GACpB,CAACA,IACGC,EAASb,wCCHkB,SAClCE,EACAC,GAEA,IAAMC,EAAiBR,EAASO,GAChCV,EAAK,QAACE,UAAU,WACZ,GAAKH,QAAWA,OAAOc,iBAIvB,OADAC,EAAMA,OAACf,OAAOgB,GAAGN,EAAWE,GACfG,WAAAA,OAAAA,EAAAA,OAAOf,OAAOiB,IAAIP,EAAWE,KAC3C,CAACF,EAAWE"}
|
package/dist/index.d.ts
DELETED
package/dist/index.modern.js
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
import e from 'react';
|
2
|
-
import { events as t } from '@wiggindev/utils';
|
3
|
-
const n = 'undefined' != typeof window ? e.useLayoutEffect : e.useEffect,
|
4
|
-
o = t => {
|
5
|
-
const o = e.useRef(t);
|
6
|
-
return (
|
7
|
-
n(() => {
|
8
|
-
o.current = t;
|
9
|
-
}),
|
10
|
-
e.useMemo(() => o.current, [])
|
11
|
-
);
|
12
|
-
},
|
13
|
-
r = (n, r, f) => {
|
14
|
-
const u = o(r);
|
15
|
-
e.useEffect(() => {
|
16
|
-
const e = f.current;
|
17
|
-
if (e && e.addEventListener)
|
18
|
-
return t.element.on(e, n, u), () => t.element.off(e, n, u);
|
19
|
-
}, [f, n, u]);
|
20
|
-
},
|
21
|
-
f = (n, r) => {
|
22
|
-
const f = o(r);
|
23
|
-
e.useEffect(() => {
|
24
|
-
if (document && document.addEventListener)
|
25
|
-
return t.document.on(n, f), () => t.document.off(n, f);
|
26
|
-
}, [n, f]);
|
27
|
-
},
|
28
|
-
u = (n, r) => {
|
29
|
-
const f = o(r);
|
30
|
-
e.useEffect(() => {
|
31
|
-
if (window && window.addEventListener)
|
32
|
-
return t.window.on(n, f), () => t.window.off(n, f);
|
33
|
-
}, [n, f]);
|
34
|
-
},
|
35
|
-
c = t => {
|
36
|
-
const n = e.useRef();
|
37
|
-
return (
|
38
|
-
e.useEffect(() => {
|
39
|
-
n.current = t;
|
40
|
-
}, [t]),
|
41
|
-
n.current
|
42
|
-
);
|
43
|
-
};
|
44
|
-
export {
|
45
|
-
f as useDocumentEventListener,
|
46
|
-
o as useEvent,
|
47
|
-
r as useEventListener,
|
48
|
-
n as useIsomorphicLayoutEffect,
|
49
|
-
c as usePrevious,
|
50
|
-
u as useWindowEventListener,
|
51
|
-
};
|
52
|
-
//# sourceMappingURL=index.modern.js.map
|
package/dist/index.modern.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.modern.js","sources":["../src/useIsomorphicLayoutEffect.ts","../src/useEvent.ts","../src/useEventListener.ts","../src/useDocumentEventListener.ts","../src/useWindowEventListener.ts","../src/usePrevious.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n","import React from 'react';\nimport { Callback } from '@wiggindev/utils';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n\nexport const useEvent = <C extends Callback>(callback: C): C => {\n const callbackRef = React.useRef(callback);\n useIsomorphicLayoutEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => callbackRef.current, []);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useEventListener = <\n K extends EventName<HTMLElementEventMap>,\n E extends HTMLElement\n>(\n eventName: K,\n listener: EventListener<HTMLElementEventMap, K>,\n element: React.RefObject<E>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n const node = element.current;\n if (!node || !node.addEventListener) {\n return;\n }\n events.element.on(node, eventName, stableListener);\n return () => events.element.off(node, eventName, stableListener);\n }, [element, eventName, stableListener]);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useDocumentEventListener = <K extends EventName<DocumentEventMap>>(\n eventName: K,\n listener: EventListener<DocumentEventMap, K>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n if (!document || !document.addEventListener) {\n return;\n }\n events.document.on(eventName, stableListener);\n return () => events.document.off(eventName, stableListener);\n }, [eventName, stableListener]);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useWindowEventListener = <K extends EventName<WindowEventMap>>(\n eventName: K,\n listener: EventListener<WindowEventMap, K>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n if (!window || !window.addEventListener) {\n return;\n }\n events.window.on(eventName, stableListener);\n return () => events.window.off(eventName, stableListener);\n }, [eventName, stableListener]);\n};\n","import React from 'react';\n\nexport const usePrevious = <T>(value: T) => {\n const stateRef = React.useRef<T>();\n React.useEffect(() => {\n stateRef.current = value;\n }, [value]);\n return stateRef.current;\n};\n"],"names":["useIsomorphicLayoutEffect","window","React","useLayoutEffect","useEffect","useEvent","callback","callbackRef","useRef","current","useMemo","useEventListener","eventName","listener","element","stableListener","node","addEventListener","events","on","off","useDocumentEventListener","document","useWindowEventListener","usePrevious","value","stateRef"],"mappings":"+DAEaA,MAAAA,EACS,oBAAXC,OAAyBC,EAAMC,gBAAkBD,EAAME,UCCrDC,EAAgCC,IACzC,MAAMC,EAAcL,EAAMM,OAAOF,GAIjC,OAHAN,EAA0B,KACtBO,EAAYE,QAAUH,IAEnBJ,EAAMQ,QAAQ,IAAMH,EAAYE,QAAS,KCLvCE,EAAmB,CAI5BC,EACAC,EACAC,KAEA,MAAMC,EAAiBV,EAASQ,GAChCX,EAAME,UAAU,KACZ,MAAMY,EAAOF,EAAQL,QACrB,GAAKO,GAASA,EAAKC,iBAInB,OADAC,EAAOJ,QAAQK,GAAGH,EAAMJ,EAAWG,GAC5B,IAAMG,EAAOJ,QAAQM,IAAIJ,EAAMJ,EAAWG,IAClD,CAACD,EAASF,EAAWG,KChBfM,EAA2B,CACpCT,EACAC,KAEA,MAAME,EAAiBV,EAASQ,GAChCX,EAAME,UAAU,KACZ,GAAKkB,UAAaA,SAASL,iBAI3B,OADAC,EAAOI,SAASH,GAAGP,EAAWG,GACvB,IAAMG,EAAOI,SAASF,IAAIR,EAAWG,IAC7C,CAACH,EAAWG,KCXNQ,EAAyB,CAClCX,EACAC,KAEA,MAAME,EAAiBV,EAASQ,GAChCX,EAAME,UAAU,KACZ,GAAKH,QAAWA,OAAOgB,iBAIvB,OADAC,EAAOjB,OAAOkB,GAAGP,EAAWG,GACrB,IAAMG,EAAOjB,OAAOmB,IAAIR,EAAWG,IAC3C,CAACH,EAAWG,KCbNS,EAAkBC,IAC3B,MAAMC,EAAWxB,EAAMM,SAIvB,OAHAN,EAAME,UAAU,KACZsB,EAASjB,QAAUgB,GACpB,CAACA,IACGC,EAASjB"}
|
package/dist/index.module.js
DELETED
@@ -1,81 +0,0 @@
|
|
1
|
-
import n from 'react';
|
2
|
-
import { events as e } from '@wiggindev/utils';
|
3
|
-
var t = 'undefined' != typeof window ? n.useLayoutEffect : n.useEffect,
|
4
|
-
r = function (e) {
|
5
|
-
var r = n.useRef(e);
|
6
|
-
return (
|
7
|
-
t(function () {
|
8
|
-
r.current = e;
|
9
|
-
}),
|
10
|
-
n.useMemo(function () {
|
11
|
-
return r.current;
|
12
|
-
}, [])
|
13
|
-
);
|
14
|
-
},
|
15
|
-
u = function (t, u, f) {
|
16
|
-
var o = r(u);
|
17
|
-
n.useEffect(
|
18
|
-
function () {
|
19
|
-
var n = f.current;
|
20
|
-
if (n && n.addEventListener)
|
21
|
-
return (
|
22
|
-
e.element.on(n, t, o),
|
23
|
-
function () {
|
24
|
-
return e.element.off(n, t, o);
|
25
|
-
}
|
26
|
-
);
|
27
|
-
},
|
28
|
-
[f, t, o]
|
29
|
-
);
|
30
|
-
},
|
31
|
-
f = function (t, u) {
|
32
|
-
var f = r(u);
|
33
|
-
n.useEffect(
|
34
|
-
function () {
|
35
|
-
if (document && document.addEventListener)
|
36
|
-
return (
|
37
|
-
e.document.on(t, f),
|
38
|
-
function () {
|
39
|
-
return e.document.off(t, f);
|
40
|
-
}
|
41
|
-
);
|
42
|
-
},
|
43
|
-
[t, f]
|
44
|
-
);
|
45
|
-
},
|
46
|
-
o = function (t, u) {
|
47
|
-
var f = r(u);
|
48
|
-
n.useEffect(
|
49
|
-
function () {
|
50
|
-
if (window && window.addEventListener)
|
51
|
-
return (
|
52
|
-
e.window.on(t, f),
|
53
|
-
function () {
|
54
|
-
return e.window.off(t, f);
|
55
|
-
}
|
56
|
-
);
|
57
|
-
},
|
58
|
-
[t, f]
|
59
|
-
);
|
60
|
-
},
|
61
|
-
i = function (e) {
|
62
|
-
var t = n.useRef();
|
63
|
-
return (
|
64
|
-
n.useEffect(
|
65
|
-
function () {
|
66
|
-
t.current = e;
|
67
|
-
},
|
68
|
-
[e]
|
69
|
-
),
|
70
|
-
t.current
|
71
|
-
);
|
72
|
-
};
|
73
|
-
export {
|
74
|
-
f as useDocumentEventListener,
|
75
|
-
r as useEvent,
|
76
|
-
u as useEventListener,
|
77
|
-
t as useIsomorphicLayoutEffect,
|
78
|
-
i as usePrevious,
|
79
|
-
o as useWindowEventListener,
|
80
|
-
};
|
81
|
-
//# sourceMappingURL=index.module.js.map
|
package/dist/index.module.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.module.js","sources":["../src/useIsomorphicLayoutEffect.ts","../src/useEvent.ts","../src/useEventListener.ts","../src/useDocumentEventListener.ts","../src/useWindowEventListener.ts","../src/usePrevious.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n","import React from 'react';\nimport { Callback } from '@wiggindev/utils';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n\nexport const useEvent = <C extends Callback>(callback: C): C => {\n const callbackRef = React.useRef(callback);\n useIsomorphicLayoutEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => callbackRef.current, []);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useEventListener = <\n K extends EventName<HTMLElementEventMap>,\n E extends HTMLElement\n>(\n eventName: K,\n listener: EventListener<HTMLElementEventMap, K>,\n element: React.RefObject<E>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n const node = element.current;\n if (!node || !node.addEventListener) {\n return;\n }\n events.element.on(node, eventName, stableListener);\n return () => events.element.off(node, eventName, stableListener);\n }, [element, eventName, stableListener]);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useDocumentEventListener = <K extends EventName<DocumentEventMap>>(\n eventName: K,\n listener: EventListener<DocumentEventMap, K>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n if (!document || !document.addEventListener) {\n return;\n }\n events.document.on(eventName, stableListener);\n return () => events.document.off(eventName, stableListener);\n }, [eventName, stableListener]);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useWindowEventListener = <K extends EventName<WindowEventMap>>(\n eventName: K,\n listener: EventListener<WindowEventMap, K>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n if (!window || !window.addEventListener) {\n return;\n }\n events.window.on(eventName, stableListener);\n return () => events.window.off(eventName, stableListener);\n }, [eventName, stableListener]);\n};\n","import React from 'react';\n\nexport const usePrevious = <T>(value: T) => {\n const stateRef = React.useRef<T>();\n React.useEffect(() => {\n stateRef.current = value;\n }, [value]);\n return stateRef.current;\n};\n"],"names":["useIsomorphicLayoutEffect","window","React","useLayoutEffect","useEffect","useEvent","callback","callbackRef","useRef","current","useMemo","useEventListener","eventName","listener","element","stableListener","node","addEventListener","events","on","off","useDocumentEventListener","document","useWindowEventListener","usePrevious","value","stateRef"],"mappings":"+DAEaA,IAAAA,EACS,oBAAXC,OAAyBC,EAAMC,gBAAkBD,EAAME,UCCrDC,EAAW,SAAqBC,GACzC,IAAMC,EAAcL,EAAMM,OAAOF,GAIjC,OAHAN,EAA0B,WACtBO,EAAYE,QAAUH,IAEnBJ,EAAMQ,QAAQ,WAAA,OAAMH,EAAYE,SAAS,KCLvCE,EAAmB,SAI5BC,EACAC,EACAC,GAEA,IAAMC,EAAiBV,EAASQ,GAChCX,EAAME,UAAU,WACZ,IAAMY,EAAOF,EAAQL,QACrB,GAAKO,GAASA,EAAKC,iBAInB,OADAC,EAAOJ,QAAQK,GAAGH,EAAMJ,EAAWG,qBACtBG,EAAOJ,QAAQM,IAAIJ,EAAMJ,EAAWG,KAClD,CAACD,EAASF,EAAWG,KChBfM,EAA2B,SACpCT,EACAC,GAEA,IAAME,EAAiBV,EAASQ,GAChCX,EAAME,UAAU,WACZ,GAAKkB,UAAaA,SAASL,iBAI3B,OADAC,EAAOI,SAASH,GAAGP,EAAWG,GACjBG,WAAAA,OAAAA,EAAOI,SAASF,IAAIR,EAAWG,KAC7C,CAACH,EAAWG,KCXNQ,EAAyB,SAClCX,EACAC,GAEA,IAAME,EAAiBV,EAASQ,GAChCX,EAAME,UAAU,WACZ,GAAKH,QAAWA,OAAOgB,iBAIvB,OADAC,EAAOjB,OAAOkB,GAAGP,EAAWG,GACfG,WAAAA,OAAAA,EAAOjB,OAAOmB,IAAIR,EAAWG,KAC3C,CAACH,EAAWG,KCbNS,EAAc,SAAIC,GAC3B,IAAMC,EAAWxB,EAAMM,SAIvB,OAHAN,EAAME,UAAU,WACZsB,EAASjB,QAAUgB,GACpB,CAACA,IACGC,EAASjB"}
|
package/dist/index.umd.js
DELETED
@@ -1,88 +0,0 @@
|
|
1
|
-
!(function (e, n) {
|
2
|
-
'object' == typeof exports && 'undefined' != typeof module
|
3
|
-
? n(exports, require('react'), require('@wiggindev/utils'))
|
4
|
-
: 'function' == typeof define && define.amd
|
5
|
-
? define(['exports', 'react', '@wiggindev/utils'], n)
|
6
|
-
: n(((e || self).hooks = {}), e.react, e.utils);
|
7
|
-
})(this, function (e, n, t) {
|
8
|
-
function u(e) {
|
9
|
-
return e && 'object' == typeof e && 'default' in e ? e : { default: e };
|
10
|
-
}
|
11
|
-
var f = /*#__PURE__*/ u(n),
|
12
|
-
o =
|
13
|
-
'undefined' != typeof window
|
14
|
-
? f.default.useLayoutEffect
|
15
|
-
: f.default.useEffect,
|
16
|
-
r = function (e) {
|
17
|
-
var n = f.default.useRef(e);
|
18
|
-
return (
|
19
|
-
o(function () {
|
20
|
-
n.current = e;
|
21
|
-
}),
|
22
|
-
f.default.useMemo(function () {
|
23
|
-
return n.current;
|
24
|
-
}, [])
|
25
|
-
);
|
26
|
-
};
|
27
|
-
(e.useDocumentEventListener = function (e, n) {
|
28
|
-
var u = r(n);
|
29
|
-
f.default.useEffect(
|
30
|
-
function () {
|
31
|
-
if (document && document.addEventListener)
|
32
|
-
return (
|
33
|
-
t.events.document.on(e, u),
|
34
|
-
function () {
|
35
|
-
return t.events.document.off(e, u);
|
36
|
-
}
|
37
|
-
);
|
38
|
-
},
|
39
|
-
[e, u]
|
40
|
-
);
|
41
|
-
}),
|
42
|
-
(e.useEvent = r),
|
43
|
-
(e.useEventListener = function (e, n, u) {
|
44
|
-
var o = r(n);
|
45
|
-
f.default.useEffect(
|
46
|
-
function () {
|
47
|
-
var n = u.current;
|
48
|
-
if (n && n.addEventListener)
|
49
|
-
return (
|
50
|
-
t.events.element.on(n, e, o),
|
51
|
-
function () {
|
52
|
-
return t.events.element.off(n, e, o);
|
53
|
-
}
|
54
|
-
);
|
55
|
-
},
|
56
|
-
[u, e, o]
|
57
|
-
);
|
58
|
-
}),
|
59
|
-
(e.useIsomorphicLayoutEffect = o),
|
60
|
-
(e.usePrevious = function (e) {
|
61
|
-
var n = f.default.useRef();
|
62
|
-
return (
|
63
|
-
f.default.useEffect(
|
64
|
-
function () {
|
65
|
-
n.current = e;
|
66
|
-
},
|
67
|
-
[e]
|
68
|
-
),
|
69
|
-
n.current
|
70
|
-
);
|
71
|
-
}),
|
72
|
-
(e.useWindowEventListener = function (e, n) {
|
73
|
-
var u = r(n);
|
74
|
-
f.default.useEffect(
|
75
|
-
function () {
|
76
|
-
if (window && window.addEventListener)
|
77
|
-
return (
|
78
|
-
t.events.window.on(e, u),
|
79
|
-
function () {
|
80
|
-
return t.events.window.off(e, u);
|
81
|
-
}
|
82
|
-
);
|
83
|
-
},
|
84
|
-
[e, u]
|
85
|
-
);
|
86
|
-
});
|
87
|
-
});
|
88
|
-
//# sourceMappingURL=index.umd.js.map
|
package/dist/index.umd.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../src/useIsomorphicLayoutEffect.ts","../src/useEvent.ts","../src/useDocumentEventListener.ts","../src/useEventListener.ts","../src/usePrevious.ts","../src/useWindowEventListener.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n","import React from 'react';\nimport { Callback } from '@wiggindev/utils';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n\nexport const useEvent = <C extends Callback>(callback: C): C => {\n const callbackRef = React.useRef(callback);\n useIsomorphicLayoutEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => callbackRef.current, []);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useDocumentEventListener = <K extends EventName<DocumentEventMap>>(\n eventName: K,\n listener: EventListener<DocumentEventMap, K>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n if (!document || !document.addEventListener) {\n return;\n }\n events.document.on(eventName, stableListener);\n return () => events.document.off(eventName, stableListener);\n }, [eventName, stableListener]);\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useEventListener = <\n K extends EventName<HTMLElementEventMap>,\n E extends HTMLElement\n>(\n eventName: K,\n listener: EventListener<HTMLElementEventMap, K>,\n element: React.RefObject<E>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n const node = element.current;\n if (!node || !node.addEventListener) {\n return;\n }\n events.element.on(node, eventName, stableListener);\n return () => events.element.off(node, eventName, stableListener);\n }, [element, eventName, stableListener]);\n};\n","import React from 'react';\n\nexport const usePrevious = <T>(value: T) => {\n const stateRef = React.useRef<T>();\n React.useEffect(() => {\n stateRef.current = value;\n }, [value]);\n return stateRef.current;\n};\n","import React from 'react';\nimport { events, EventName, EventListener } from '@wiggindev/utils';\nimport { useEvent } from './useEvent';\n\nexport const useWindowEventListener = <K extends EventName<WindowEventMap>>(\n eventName: K,\n listener: EventListener<WindowEventMap, K>\n) => {\n const stableListener = useEvent(listener);\n React.useEffect(() => {\n if (!window || !window.addEventListener) {\n return;\n }\n events.window.on(eventName, stableListener);\n return () => events.window.off(eventName, stableListener);\n }, [eventName, stableListener]);\n};\n"],"names":["useIsomorphicLayoutEffect","window","React","useLayoutEffect","useEffect","useEvent","callback","callbackRef","useRef","current","useMemo","eventName","listener","stableListener","document","addEventListener","events","on","off","element","node","value","stateRef"],"mappings":"2ZAEaA,EACS,oBAAXC,OAAyBC,EAAAA,QAAMC,gBAAkBD,EAAAA,QAAME,UCCrDC,EAAW,SAAqBC,GACzC,IAAMC,EAAcL,EAAK,QAACM,OAAOF,GAIjC,OAHAN,EAA0B,WACtBO,EAAYE,QAAUH,IAEnBJ,UAAMQ,QAAQ,WAAA,OAAMH,EAAYE,SAAS,gCCLZ,SACpCE,EACAC,GAEA,IAAMC,EAAiBR,EAASO,GAChCV,EAAK,QAACE,UAAU,WACZ,GAAKU,UAAaA,SAASC,iBAI3B,OADAC,EAAMA,OAACF,SAASG,GAAGN,EAAWE,GACjBG,WAAAA,OAAAA,EAAAA,OAAOF,SAASI,IAAIP,EAAWE,KAC7C,CAACF,EAAWE,qCCXa,SAI5BF,EACAC,EACAO,GAEA,IAAMN,EAAiBR,EAASO,GAChCV,EAAK,QAACE,UAAU,WACZ,IAAMgB,EAAOD,EAAQV,QACrB,GAAKW,GAASA,EAAKL,iBAInB,OADAC,EAAMA,OAACG,QAAQF,GAAGG,EAAMT,EAAWE,qBACtBG,EAAMA,OAACG,QAAQD,IAAIE,EAAMT,EAAWE,KAClD,CAACM,EAASR,EAAWE,iDClBD,SAAIQ,GAC3B,IAAMC,EAAWpB,EAAK,QAACM,SAIvB,OAHAN,EAAK,QAACE,UAAU,WACZkB,EAASb,QAAUY,GACpB,CAACA,IACGC,EAASb,kCCHkB,SAClCE,EACAC,GAEA,IAAMC,EAAiBR,EAASO,GAChCV,EAAK,QAACE,UAAU,WACZ,GAAKH,QAAWA,OAAOc,iBAIvB,OADAC,EAAMA,OAACf,OAAOgB,GAAGN,EAAWE,GACfG,WAAAA,OAAAA,EAAAA,OAAOf,OAAOiB,IAAIP,EAAWE,KAC3C,CAACF,EAAWE"}
|
package/dist/useEvent.d.ts
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import { EventName, EventListener } from '@wiggindev/utils';
|
3
|
-
export declare const useEventListener: <
|
4
|
-
K extends EventName<HTMLElementEventMap>,
|
5
|
-
E extends HTMLElement
|
6
|
-
>(
|
7
|
-
eventName: K,
|
8
|
-
listener: EventListener<HTMLElementEventMap, K>,
|
9
|
-
element: React.RefObject<E>
|
10
|
-
) => void;
|
package/dist/usePrevious.d.ts
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
export declare const usePrevious: <T>(value: T) => T | undefined;
|