react-atom-trigger 1.1.0 → 1.1.1
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/lib/index.d.ts +1 -1
- package/lib/index.es.js +1 -1
- package/lib/index.js +1 -1
- package/package.json +6 -2
package/lib/index.d.ts
CHANGED
|
@@ -41,7 +41,7 @@ declare function useContainerScroll({
|
|
|
41
41
|
containerRef,
|
|
42
42
|
options
|
|
43
43
|
}: {
|
|
44
|
-
containerRef?: React.RefObject<
|
|
44
|
+
containerRef?: React.RefObject<HTMLElement | null>;
|
|
45
45
|
options?: Options;
|
|
46
46
|
}): ScrollEvent;
|
|
47
47
|
declare function useWindowScroll(options?: Options): ScrollEvent;
|
package/lib/index.es.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"react";const t=({scrollEvent:
|
|
1
|
+
import e from"react";const t=typeof window>`u`?e.useEffect:e.useLayoutEffect,n=({scrollEvent:n,callback:r,getDebugInfo:i,triggerOnce:a=!1,className:o,behavior:s=`default`,dimensions:c,offset:l=[0,0,0,0]})=>{let u=e.useRef(null),[d,f]=e.useState(void 0),p=e.useRef(void 0),[m,h]=e.useState({leftViewport:0,enteredViewport:0});return t(()=>{if(u.current){let e=u.current.getBoundingClientRect(),[t,n,r,i]=l;e.top>t&&e.bottom<c.height-r&&e.left>i&&e.right<c.width-n?f(`inViewport`):e.top>c.height-r?f(`bottom`):f(`top`)}},[u,n,c,l]),t(()=>{if(p.current===void 0&&d!==void 0&&(p.current=d),d===`inViewport`&&(p.current===`bottom`||p.current===`top`)){if(s===`enter`&&(!a||a&&m.enteredViewport===0)||s===`default`&&(!a||a&&(m.enteredViewport<1||m.leftViewport<1))){r&&r();let e={...m,enteredViewport:m.enteredViewport+1};i&&i({timesTriggered:e,trigger:`entered`}),h(e)}p.current=d}if((d===`top`||d===`bottom`)&&p.current===`inViewport`&&(p.current=d,s===`leave`&&(!a||a&&m.leftViewport===0)||s===`default`&&(!a||a&&(m.leftViewport<1||m.enteredViewport<1)))){r&&r();let e={...m,leftViewport:m.leftViewport+1};i&&i({timesTriggered:e,trigger:`left`}),h(e)}},[d,r,a,s,i]),e.createElement(`div`,{ref:u,style:{display:`table`},className:o})},r={scrollX:0,scrollY:0},i={width:0,height:0},a=typeof window<`u`;function o(e,t){}function s(){if(!a)return r;let{scrollX:e,scrollY:t}=window;return{scrollX:e,scrollY:t}}function c(){if(!a)return i;let{innerWidth:e,innerHeight:t}=window;return{width:e,height:t}}function l(e){return e?{scrollX:e.scrollLeft,scrollY:e.scrollTop}:r}function u(t){let[n,r]=e.useState(()=>c()),i=e.useRef(null),o=t?.eventListenerTimeoutMs||15;return e.useEffect(()=>{if(!a)return;r(c());function e(){i.current&&clearTimeout(i.current),i.current=setTimeout(()=>r(c()),o)}return window.addEventListener(`resize`,e,{passive:t?.passiveEventListener}),()=>{i.current&&clearTimeout(i.current),window.removeEventListener(`resize`,e)}},[t?.eventListenerTimeoutMs,t?.passiveEventListener]),n}function d({containerRef:t,options:n}){let[i,a]=e.useState(()=>l(t?.current)),o=e.useRef(null),s=t?.current;return e.useEffect(()=>{if(!s){a(r);return}let e=e=>{let t=e.target;o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{a({scrollX:t.scrollLeft,scrollY:t.scrollTop})},n?.eventListenerTimeoutMs||15)};return a(l(s)),s.addEventListener(`scroll`,e,{passive:n?.passiveEventListener}),()=>{o.current&&clearTimeout(o.current),s.removeEventListener(`scroll`,e)}},[s,n?.eventListenerTimeoutMs,n?.passiveEventListener]),i}function f(t){let[n,r]=e.useState(()=>s()),i=e.useRef(null);return e.useEffect(()=>{if(!a)return;let e=()=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{let{scrollX:e,scrollY:t}=s();r({scrollX:e,scrollY:t})},t?.eventListenerTimeoutMs||20)};return window.addEventListener(`scroll`,e,{passive:t?.passiveEventListener}),()=>{i.current&&clearTimeout(i.current),window.removeEventListener(`scroll`,e)}},[t?.eventListenerTimeoutMs,t?.passiveEventListener]),n}export{n as AtomTrigger,o as log,d as useContainerScroll,u as useWindowDimensions,f as useWindowScroll};
|
package/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`react`)):typeof define==`function`&&define.amd?define([`exports`,`react`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.reactAtomTrigger={},e.React))})(this,function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n=Object.create,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t,n,o)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=a(t),l=0,u=c.length,d;l<u;l++)d=c[l],!s.call(e,d)&&d!==n&&r(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(o=i(t,d))||o.enumerable});return e};t=((e,t,i)=>(i=e==null?{}:n(o(e)),c(t||!e||!e.__esModule?r(i,`default`,{value:e,enumerable:!0}):i,e)))(t);let l=({scrollEvent:e,callback:n,getDebugInfo:r,triggerOnce:i=!1,className:a,behavior:o=`default`,dimensions:s,offset:c=[0,0,0,0]})=>{let
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`react`)):typeof define==`function`&&define.amd?define([`exports`,`react`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.reactAtomTrigger={},e.React))})(this,function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n=Object.create,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t,n,o)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=a(t),l=0,u=c.length,d;l<u;l++)d=c[l],!s.call(e,d)&&d!==n&&r(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(o=i(t,d))||o.enumerable});return e};t=((e,t,i)=>(i=e==null?{}:n(o(e)),c(t||!e||!e.__esModule?r(i,`default`,{value:e,enumerable:!0}):i,e)))(t);let l=typeof window>`u`?t.default.useEffect:t.default.useLayoutEffect,u=({scrollEvent:e,callback:n,getDebugInfo:r,triggerOnce:i=!1,className:a,behavior:o=`default`,dimensions:s,offset:c=[0,0,0,0]})=>{let u=t.default.useRef(null),[d,f]=t.default.useState(void 0),p=t.default.useRef(void 0),[m,h]=t.default.useState({leftViewport:0,enteredViewport:0});return l(()=>{if(u.current){let e=u.current.getBoundingClientRect(),[t,n,r,i]=c;e.top>t&&e.bottom<s.height-r&&e.left>i&&e.right<s.width-n?f(`inViewport`):e.top>s.height-r?f(`bottom`):f(`top`)}},[u,e,s,c]),l(()=>{if(p.current===void 0&&d!==void 0&&(p.current=d),d===`inViewport`&&(p.current===`bottom`||p.current===`top`)){if(o===`enter`&&(!i||i&&m.enteredViewport===0)||o===`default`&&(!i||i&&(m.enteredViewport<1||m.leftViewport<1))){n&&n();let e={...m,enteredViewport:m.enteredViewport+1};r&&r({timesTriggered:e,trigger:`entered`}),h(e)}p.current=d}if((d===`top`||d===`bottom`)&&p.current===`inViewport`&&(p.current=d,o===`leave`&&(!i||i&&m.leftViewport===0)||o===`default`&&(!i||i&&(m.leftViewport<1||m.enteredViewport<1)))){n&&n();let e={...m,leftViewport:m.leftViewport+1};r&&r({timesTriggered:e,trigger:`left`}),h(e)}},[d,n,i,o,r]),t.default.createElement(`div`,{ref:u,style:{display:`table`},className:a})},d={scrollX:0,scrollY:0},f={width:0,height:0},p=typeof window<`u`;function m(e,t){}function h(){if(!p)return d;let{scrollX:e,scrollY:t}=window;return{scrollX:e,scrollY:t}}function g(){if(!p)return f;let{innerWidth:e,innerHeight:t}=window;return{width:e,height:t}}function _(e){return e?{scrollX:e.scrollLeft,scrollY:e.scrollTop}:d}function v(e){let[n,r]=t.default.useState(()=>g()),i=t.default.useRef(null),a=e?.eventListenerTimeoutMs||15;return t.default.useEffect(()=>{if(!p)return;r(g());function t(){i.current&&clearTimeout(i.current),i.current=setTimeout(()=>r(g()),a)}return window.addEventListener(`resize`,t,{passive:e?.passiveEventListener}),()=>{i.current&&clearTimeout(i.current),window.removeEventListener(`resize`,t)}},[e?.eventListenerTimeoutMs,e?.passiveEventListener]),n}function y({containerRef:e,options:n}){let[r,i]=t.default.useState(()=>_(e?.current)),a=t.default.useRef(null),o=e?.current;return t.default.useEffect(()=>{if(!o){i(d);return}let e=e=>{let t=e.target;a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{i({scrollX:t.scrollLeft,scrollY:t.scrollTop})},n?.eventListenerTimeoutMs||15)};return i(_(o)),o.addEventListener(`scroll`,e,{passive:n?.passiveEventListener}),()=>{a.current&&clearTimeout(a.current),o.removeEventListener(`scroll`,e)}},[o,n?.eventListenerTimeoutMs,n?.passiveEventListener]),r}function b(e){let[n,r]=t.default.useState(()=>h()),i=t.default.useRef(null);return t.default.useEffect(()=>{if(!p)return;let t=()=>{i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{let{scrollX:e,scrollY:t}=h();r({scrollX:e,scrollY:t})},e?.eventListenerTimeoutMs||20)};return window.addEventListener(`scroll`,t,{passive:e?.passiveEventListener}),()=>{i.current&&clearTimeout(i.current),window.removeEventListener(`scroll`,t)}},[e?.eventListenerTimeoutMs,e?.passiveEventListener]),n}e.AtomTrigger=u,e.log=m,e.useContainerScroll=y,e.useWindowDimensions=v,e.useWindowScroll=b});
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/index.es.js",
|
|
7
7
|
"typings": "lib/index.d.ts",
|
|
8
|
-
"version": "1.1.
|
|
8
|
+
"version": "1.1.1",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"author": "innrVoice <innrvoice@icloud.com>",
|
|
11
11
|
"repository": {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"@types/react": "^19.0.12",
|
|
28
28
|
"oxlint": "^1.50.0",
|
|
29
29
|
"prettier": "^3.4.2",
|
|
30
|
-
"tsdown": "^0.21.
|
|
30
|
+
"tsdown": "^0.21.7",
|
|
31
31
|
"tslib": "^2.8.0",
|
|
32
32
|
"typescript": "^5.6.3"
|
|
33
33
|
},
|
|
@@ -41,6 +41,10 @@
|
|
|
41
41
|
"files": [
|
|
42
42
|
"lib"
|
|
43
43
|
],
|
|
44
|
+
"resolutions": {
|
|
45
|
+
"**/defu": "6.1.6",
|
|
46
|
+
"**/picomatch": "4.0.4"
|
|
47
|
+
},
|
|
44
48
|
"engines": {
|
|
45
49
|
"node": ">=20.19.0"
|
|
46
50
|
}
|