@cleartrip/talos-use-intersection-observer 1.3.0 → 2.0.0-beta-260929-rn-v1.0

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.
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react");exports.useIntersectionObserver=function(r,n){var t=e.useState(function(){return function(e){return void 0===e}(r)}),o=t[0],i=t[1],s=null!=n?n:{},u=s.root,c=s.rootMargin,f=s.threshold;return e.useEffect(function(){if(void 0!==r)if(r){if("undefined"!=typeof IntersectionObserver){var e=new IntersectionObserver(function(e){var r,n=e[0];i(null!==(r=null==n?void 0:n.isIntersecting)&&void 0!==r&&r)},{root:u,rootMargin:c,threshold:f});return e.observe(r),function(){return e.disconnect()}}i(!0)}else i(!1);else i(!0)},[r,u,c,f]),o};
1
+ "use strict";var e=require("react");exports.useIntersectionObserver=function(n,r){var t=e.useState(function(){return function(e){return void 0===e}(n)}),o=t[0],i=t[1],s=null!=r?r:{},u=s.root,f=s.rootMargin,c=s.threshold;return e.useEffect(function(){if(void 0!==n)if(n)if("undefined"!=typeof IntersectionObserver){if("undefined"!=typeof Element&&n instanceof Element){var e=new IntersectionObserver(function(e){var n,r=e[0];i(null!==(n=null==r?void 0:r.isIntersecting)&&void 0!==n&&n)},{root:u,rootMargin:f,threshold:c});return e.observe(n),function(){return e.disconnect()}}i(!0)}else i(!0);else i(!1);else i(!0)},[n,u,f,c]),o};
2
2
  //# sourceMappingURL=talos-use-intersection-observer.browser.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"talos-use-intersection-observer.browser.cjs.js","sources":["../packages/hooks/use-intersection-observer/src/useIntersectionObserver.ts"],"sourcesContent":[null],"names":["element","options","_a","useState","undefined","initialIntersecting","isIntersecting","setIsIntersecting","_b","root","rootMargin","threshold","useEffect","IntersectionObserver","observer","entry","observe","disconnect"],"mappings":"oEAWgB,SACdA,EACAC,GAEM,IAAAC,EAAsCC,EAAAA,SAAS,WACnD,OAdJ,SAA6BH,GAC3B,YAAgBI,IAAZJ,CAEN,CAWIK,CAAoBL,EAApB,GADKM,OAAgBC,OAIjBC,EAAkCP,QAAAA,EAAW,CAAE,EAA7CQ,SAAMC,eAAYC,cA6B1B,OA3BAC,EAAAA,UAAU,WACR,QAAgBR,IAAZJ,EAKJ,GAAKA,EAAL,CAKA,GAAoC,oBAAzBa,qBAAX,CAKA,IAAMC,EAAW,IAAID,qBACnB,SAACX,SAACa,EAAKb,EAAA,GACLK,EAAuC,QAArBC,EAAAO,aAAK,EAALA,EAAOT,sBAAc,IAAAE,GAAAA,EACzC,EACA,CAAEC,KAAIA,EAAEC,WAAUA,EAAEC,UAASA,IAI/B,OADAG,EAASE,QAAQhB,GACV,WAAM,OAAAc,EAASG,YAAY,CAVjC,CAFCV,GAAkB,EAHnB,MAFCA,GAAkB,QALlBA,GAAkB,EAuBrB,EAAE,CAACP,EAASS,EAAMC,EAAYC,IAExBL,CACT"}
1
+ {"version":3,"file":"talos-use-intersection-observer.browser.cjs.js","sources":["../packages/hooks/use-intersection-observer/src/useIntersectionObserver.ts"],"sourcesContent":[null],"names":["element","options","_a","useState","undefined","initialIntersecting","isIntersecting","setIsIntersecting","_b","root","rootMargin","threshold","useEffect","IntersectionObserver","Element","observer","entry","observe","disconnect"],"mappings":"oEAWgB,SACdA,EACAC,GAEM,IAAAC,EAAsCC,EAAAA,SAAS,WACnD,OAdJ,SAA6BH,GAC3B,YAAgBI,IAAZJ,CAEN,CAWIK,CAAoBL,EAApB,GADKM,OAAgBC,OAIjBC,EAAkCP,QAAAA,EAAW,CAAE,EAA7CQ,SAAMC,eAAYC,cAqC1B,OAnCAC,EAAAA,UAAU,WACR,QAAgBR,IAAZJ,EAKJ,GAAKA,EAKL,GAAoC,oBAAzBa,qBAAX,CAQA,GAAuB,oBAAZC,SAA6Bd,aAAmBc,QAA3D,CAKA,IAAMC,EAAW,IAAIF,qBACnB,SAACX,SAACc,EAAKd,EAAA,GACLK,EAAuC,QAArBC,EAAAQ,aAAK,EAALA,EAAOV,sBAAc,IAAAE,GAAAA,EACzC,EACA,CAAEC,KAAIA,EAAEC,WAAUA,EAAEC,UAASA,IAI/B,OADAI,EAASE,QAAQjB,GACV,WAAM,OAAAe,EAASG,YAAY,CAVjC,CAFCX,GAAkB,EANnB,MAFCA,GAAkB,QALlBA,GAAkB,QALlBA,GAAkB,EA+BrB,EAAE,CAACP,EAASS,EAAMC,EAAYC,IAExBL,CACT"}
@@ -1,2 +1,2 @@
1
- import{useState as n,useEffect as r}from"react";function e(e,o){var t=n(function(){return function(n){return void 0===n}(e)}),i=t[0],u=t[1],c=null!=o?o:{},f=c.root,s=c.rootMargin,l=c.threshold;return r(function(){if(void 0!==e)if(e){if("undefined"!=typeof IntersectionObserver){var n=new IntersectionObserver(function(n){var r,e=n[0];u(null!==(r=null==e?void 0:e.isIntersecting)&&void 0!==r&&r)},{root:f,rootMargin:s,threshold:l});return n.observe(e),function(){return n.disconnect()}}u(!0)}else u(!1);else u(!0)},[e,f,s,l]),i}export{e as useIntersectionObserver};
1
+ import{useState as e,useEffect as n}from"react";function r(r,t){var o=e(function(){return function(e){return void 0===e}(r)}),i=o[0],f=o[1],u=null!=t?t:{},s=u.root,c=u.rootMargin,l=u.threshold;return n(function(){if(void 0!==r)if(r)if("undefined"!=typeof IntersectionObserver){if("undefined"!=typeof Element&&r instanceof Element){var e=new IntersectionObserver(function(e){var n,r=e[0];f(null!==(n=null==r?void 0:r.isIntersecting)&&void 0!==n&&n)},{root:s,rootMargin:c,threshold:l});return e.observe(r),function(){return e.disconnect()}}f(!0)}else f(!0);else f(!1);else f(!0)},[r,s,c,l]),i}export{r as useIntersectionObserver};
2
2
  //# sourceMappingURL=talos-use-intersection-observer.browser.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"talos-use-intersection-observer.browser.esm.js","sources":["../packages/hooks/use-intersection-observer/src/useIntersectionObserver.ts"],"sourcesContent":[null],"names":["useIntersectionObserver","element","options","_a","useState","undefined","initialIntersecting","isIntersecting","setIsIntersecting","_b","root","rootMargin","threshold","useEffect","IntersectionObserver","observer","entry","observe","disconnect"],"mappings":"gDAWgB,SAAAA,EACdC,EACAC,GAEM,IAAAC,EAAsCC,EAAS,WACnD,OAdJ,SAA6BH,GAC3B,YAAgBI,IAAZJ,CAEN,CAWIK,CAAoBL,EAApB,GADKM,OAAgBC,OAIjBC,EAAkCP,QAAAA,EAAW,CAAE,EAA7CQ,SAAMC,eAAYC,cA6B1B,OA3BAC,EAAU,WACR,QAAgBR,IAAZJ,EAKJ,GAAKA,EAAL,CAKA,GAAoC,oBAAzBa,qBAAX,CAKA,IAAMC,EAAW,IAAID,qBACnB,SAACX,SAACa,EAAKb,EAAA,GACLK,EAAuC,QAArBC,EAAAO,aAAK,EAALA,EAAOT,sBAAc,IAAAE,GAAAA,EACzC,EACA,CAAEC,KAAIA,EAAEC,WAAUA,EAAEC,UAASA,IAI/B,OADAG,EAASE,QAAQhB,GACV,WAAM,OAAAc,EAASG,YAAY,CAVjC,CAFCV,GAAkB,EAHnB,MAFCA,GAAkB,QALlBA,GAAkB,EAuBrB,EAAE,CAACP,EAASS,EAAMC,EAAYC,IAExBL,CACT"}
1
+ {"version":3,"file":"talos-use-intersection-observer.browser.esm.js","sources":["../packages/hooks/use-intersection-observer/src/useIntersectionObserver.ts"],"sourcesContent":[null],"names":["useIntersectionObserver","element","options","_a","useState","undefined","initialIntersecting","isIntersecting","setIsIntersecting","_b","root","rootMargin","threshold","useEffect","IntersectionObserver","Element","observer","entry","observe","disconnect"],"mappings":"gDAWgB,SAAAA,EACdC,EACAC,GAEM,IAAAC,EAAsCC,EAAS,WACnD,OAdJ,SAA6BH,GAC3B,YAAgBI,IAAZJ,CAEN,CAWIK,CAAoBL,EAApB,GADKM,OAAgBC,OAIjBC,EAAkCP,QAAAA,EAAW,CAAE,EAA7CQ,SAAMC,eAAYC,cAqC1B,OAnCAC,EAAU,WACR,QAAgBR,IAAZJ,EAKJ,GAAKA,EAKL,GAAoC,oBAAzBa,qBAAX,CAQA,GAAuB,oBAAZC,SAA6Bd,aAAmBc,QAA3D,CAKA,IAAMC,EAAW,IAAIF,qBACnB,SAACX,SAACc,EAAKd,EAAA,GACLK,EAAuC,QAArBC,EAAAQ,aAAK,EAALA,EAAOV,sBAAc,IAAAE,GAAAA,EACzC,EACA,CAAEC,KAAIA,EAAEC,WAAUA,EAAEC,UAASA,IAI/B,OADAI,EAASE,QAAQjB,GACV,WAAM,OAAAe,EAASG,YAAY,CAVjC,CAFCX,GAAkB,EANnB,MAFCA,GAAkB,QALlBA,GAAkB,QALlBA,GAAkB,EA+BrB,EAAE,CAACP,EAASS,EAAMC,EAAYC,IAExBL,CACT"}
@@ -25,6 +25,10 @@ function useIntersectionObserver(element, options) {
25
25
  setIsIntersecting(true);
26
26
  return;
27
27
  }
28
+ if (typeof Element === "undefined" || !(element instanceof Element)) {
29
+ setIsIntersecting(true);
30
+ return;
31
+ }
28
32
  var observer = new IntersectionObserver(function (_a) {
29
33
  var _b;
30
34
  var entry = _a[0];
@@ -1 +1 @@
1
- {"version":3,"file":"talos-use-intersection-observer.cjs.js","sources":["../packages/hooks/use-intersection-observer/src/useIntersectionObserver.ts"],"sourcesContent":[null],"names":["useState","useEffect"],"mappings":";;;;AAEA,SAAS,mBAAmB,CAAC,OAAmC,EAAA;IAC9D,IAAI,OAAO,KAAK,SAAS;AAAE,QAAA,OAAO,IAAI,CAAC;AACvC,IAAA,OAAO,KAAK,CAAC;AACf,CAAC;AAMe,SAAA,uBAAuB,CACrC,OAAmC,EACnC,OAAkC,EAAA;IAE5B,IAAA,EAAA,GAAsCA,cAAQ,CAAC,YAAA;QACnD,OAAA,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAA5B,KAA4B,CAC7B,EAFM,cAAc,QAAA,EAAE,iBAAiB,QAEvC,CAAC;AAEI,IAAA,IAAA,KAAkC,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAP,OAAO,GAAI,EAAE,EAA7C,IAAI,UAAA,EAAE,UAAU,gBAAA,EAAE,SAAS,eAAkB,CAAC;AAEtD,IAAAC,eAAS,CAAC,YAAA;QACR,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO;AACR,SAAA;QAED,IAAI,CAAC,OAAO,EAAE;YACZ,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO;AACR,SAAA;AAED,QAAA,IAAI,OAAO,oBAAoB,KAAK,WAAW,EAAE;YAC/C,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO;AACR,SAAA;AAED,QAAA,IAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,UAAC,EAAO,EAAA;;AAAN,YAAA,IAAA,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AACL,YAAA,iBAAiB,CAAC,CAAA,EAAA,GAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,KAAK,CAAC,CAAC;AACpD,SAAC,EACD,EAAE,IAAI,EAAA,IAAA,EAAE,UAAU,EAAA,UAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAChC,CAAC;AAEF,QAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,YAAA,EAAM,OAAA,QAAQ,CAAC,UAAU,EAAE,CAAA,EAAA,CAAC;KACpC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAE3C,IAAA,OAAO,cAAc,CAAC;AACxB;;;;"}
1
+ {"version":3,"file":"talos-use-intersection-observer.cjs.js","sources":["../packages/hooks/use-intersection-observer/src/useIntersectionObserver.ts"],"sourcesContent":[null],"names":["useState","useEffect"],"mappings":";;;;AAEA,SAAS,mBAAmB,CAAC,OAAmC,EAAA;IAC9D,IAAI,OAAO,KAAK,SAAS;AAAE,QAAA,OAAO,IAAI,CAAC;AACvC,IAAA,OAAO,KAAK,CAAC;AACf,CAAC;AAMe,SAAA,uBAAuB,CACrC,OAAmC,EACnC,OAAkC,EAAA;IAE5B,IAAA,EAAA,GAAsCA,cAAQ,CAAC,YAAA;QACnD,OAAA,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAA5B,KAA4B,CAC7B,EAFM,cAAc,QAAA,EAAE,iBAAiB,QAEvC,CAAC;AAEI,IAAA,IAAA,KAAkC,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAP,OAAO,GAAI,EAAE,EAA7C,IAAI,UAAA,EAAE,UAAU,gBAAA,EAAE,SAAS,eAAkB,CAAC;AAEtD,IAAAC,eAAS,CAAC,YAAA;AACR,QAAA,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO;SACR;QAED,IAAI,CAAC,OAAO,EAAE;YACZ,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO;SACR;AAED,QAAA,IAAI,OAAO,oBAAoB,KAAK,WAAW,EAAE;YAC/C,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO;SACR;AAKD,QAAA,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,EAAE,OAAO,YAAY,OAAO,CAAC,EAAE;YACnE,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO;SACR;AAED,QAAA,IAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,UAAC,EAAO,EAAA;;AAAN,YAAA,IAAA,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AACL,YAAA,iBAAiB,CAAC,CAAA,EAAA,GAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,KAAK,CAAC,CAAC;AACpD,SAAC,EACD,EAAE,IAAI,EAAA,IAAA,EAAE,UAAU,EAAA,UAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAChC,CAAC;AAEF,QAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,YAAA,EAAM,OAAA,QAAQ,CAAC,UAAU,EAAE,CAAA,EAAA,CAAC;KACpC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAE3C,IAAA,OAAO,cAAc,CAAC;AACxB;;;;"}
@@ -23,6 +23,10 @@ function useIntersectionObserver(element, options) {
23
23
  setIsIntersecting(true);
24
24
  return;
25
25
  }
26
+ if (typeof Element === "undefined" || !(element instanceof Element)) {
27
+ setIsIntersecting(true);
28
+ return;
29
+ }
26
30
  var observer = new IntersectionObserver(function (_a) {
27
31
  var _b;
28
32
  var entry = _a[0];
@@ -1 +1 @@
1
- {"version":3,"file":"talos-use-intersection-observer.esm.js","sources":["../packages/hooks/use-intersection-observer/src/useIntersectionObserver.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA,SAAS,mBAAmB,CAAC,OAAmC,EAAA;IAC9D,IAAI,OAAO,KAAK,SAAS;AAAE,QAAA,OAAO,IAAI,CAAC;AACvC,IAAA,OAAO,KAAK,CAAC;AACf,CAAC;AAMe,SAAA,uBAAuB,CACrC,OAAmC,EACnC,OAAkC,EAAA;IAE5B,IAAA,EAAA,GAAsC,QAAQ,CAAC,YAAA;QACnD,OAAA,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAA5B,KAA4B,CAC7B,EAFM,cAAc,QAAA,EAAE,iBAAiB,QAEvC,CAAC;AAEI,IAAA,IAAA,KAAkC,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAP,OAAO,GAAI,EAAE,EAA7C,IAAI,UAAA,EAAE,UAAU,gBAAA,EAAE,SAAS,eAAkB,CAAC;AAEtD,IAAA,SAAS,CAAC,YAAA;QACR,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO;AACR,SAAA;QAED,IAAI,CAAC,OAAO,EAAE;YACZ,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO;AACR,SAAA;AAED,QAAA,IAAI,OAAO,oBAAoB,KAAK,WAAW,EAAE;YAC/C,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO;AACR,SAAA;AAED,QAAA,IAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,UAAC,EAAO,EAAA;;AAAN,YAAA,IAAA,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AACL,YAAA,iBAAiB,CAAC,CAAA,EAAA,GAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,KAAK,CAAC,CAAC;AACpD,SAAC,EACD,EAAE,IAAI,EAAA,IAAA,EAAE,UAAU,EAAA,UAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAChC,CAAC;AAEF,QAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,YAAA,EAAM,OAAA,QAAQ,CAAC,UAAU,EAAE,CAAA,EAAA,CAAC;KACpC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAE3C,IAAA,OAAO,cAAc,CAAC;AACxB;;;;"}
1
+ {"version":3,"file":"talos-use-intersection-observer.esm.js","sources":["../packages/hooks/use-intersection-observer/src/useIntersectionObserver.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA,SAAS,mBAAmB,CAAC,OAAmC,EAAA;IAC9D,IAAI,OAAO,KAAK,SAAS;AAAE,QAAA,OAAO,IAAI,CAAC;AACvC,IAAA,OAAO,KAAK,CAAC;AACf,CAAC;AAMe,SAAA,uBAAuB,CACrC,OAAmC,EACnC,OAAkC,EAAA;IAE5B,IAAA,EAAA,GAAsC,QAAQ,CAAC,YAAA;QACnD,OAAA,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAA5B,KAA4B,CAC7B,EAFM,cAAc,QAAA,EAAE,iBAAiB,QAEvC,CAAC;AAEI,IAAA,IAAA,KAAkC,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAP,OAAO,GAAI,EAAE,EAA7C,IAAI,UAAA,EAAE,UAAU,gBAAA,EAAE,SAAS,eAAkB,CAAC;AAEtD,IAAA,SAAS,CAAC,YAAA;AACR,QAAA,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO;SACR;QAED,IAAI,CAAC,OAAO,EAAE;YACZ,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO;SACR;AAED,QAAA,IAAI,OAAO,oBAAoB,KAAK,WAAW,EAAE;YAC/C,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO;SACR;AAKD,QAAA,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,EAAE,OAAO,YAAY,OAAO,CAAC,EAAE;YACnE,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO;SACR;AAED,QAAA,IAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,UAAC,EAAO,EAAA;;AAAN,YAAA,IAAA,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AACL,YAAA,iBAAiB,CAAC,CAAA,EAAA,GAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,KAAK,CAAC,CAAC;AACpD,SAAC,EACD,EAAE,IAAI,EAAA,IAAA,EAAE,UAAU,EAAA,UAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAChC,CAAC;AAEF,QAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,YAAA,EAAM,OAAA,QAAQ,CAAC,UAAU,EAAE,CAAA,EAAA,CAAC;KACpC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAE3C,IAAA,OAAO,cAAc,CAAC;AACxB;;;;"}
@@ -27,6 +27,10 @@
27
27
  setIsIntersecting(true);
28
28
  return;
29
29
  }
30
+ if (typeof Element === "undefined" || !(element instanceof Element)) {
31
+ setIsIntersecting(true);
32
+ return;
33
+ }
30
34
  var observer = new IntersectionObserver(function (_a) {
31
35
  var _b;
32
36
  var entry = _a[0];
@@ -1 +1 @@
1
- {"version":3,"file":"talos-use-intersection-observer.umd.js","sources":["../packages/hooks/use-intersection-observer/src/useIntersectionObserver.ts"],"sourcesContent":[null],"names":["useState","useEffect"],"mappings":";;;;;;IAEA,SAAS,mBAAmB,CAAC,OAAmC,EAAA;QAC9D,IAAI,OAAO,KAAK,SAAS;IAAE,QAAA,OAAO,IAAI,CAAC;IACvC,IAAA,OAAO,KAAK,CAAC;IACf,CAAC;IAMe,SAAA,uBAAuB,CACrC,OAAmC,EACnC,OAAkC,EAAA;QAE5B,IAAA,EAAA,GAAsCA,cAAQ,CAAC,YAAA;YACnD,OAAA,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAA5B,KAA4B,CAC7B,EAFM,cAAc,QAAA,EAAE,iBAAiB,QAEvC,CAAC;IAEI,IAAA,IAAA,KAAkC,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAP,OAAO,GAAI,EAAE,EAA7C,IAAI,UAAA,EAAE,UAAU,gBAAA,EAAE,SAAS,eAAkB,CAAC;IAEtD,IAAAC,eAAS,CAAC,YAAA;YACR,IAAI,OAAO,KAAK,SAAS,EAAE;gBACzB,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACxB,OAAO;IACR,SAAA;YAED,IAAI,CAAC,OAAO,EAAE;gBACZ,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACzB,OAAO;IACR,SAAA;IAED,QAAA,IAAI,OAAO,oBAAoB,KAAK,WAAW,EAAE;gBAC/C,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACxB,OAAO;IACR,SAAA;IAED,QAAA,IAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,UAAC,EAAO,EAAA;;IAAN,YAAA,IAAA,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;IACL,YAAA,iBAAiB,CAAC,CAAA,EAAA,GAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,KAAK,CAAC,CAAC;IACpD,SAAC,EACD,EAAE,IAAI,EAAA,IAAA,EAAE,UAAU,EAAA,UAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAChC,CAAC;IAEF,QAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO,YAAA,EAAM,OAAA,QAAQ,CAAC,UAAU,EAAE,CAAA,EAAA,CAAC;SACpC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IAE3C,IAAA,OAAO,cAAc,CAAC;IACxB;;;;;;;;"}
1
+ {"version":3,"file":"talos-use-intersection-observer.umd.js","sources":["../packages/hooks/use-intersection-observer/src/useIntersectionObserver.ts"],"sourcesContent":[null],"names":["useState","useEffect"],"mappings":";;;;;;IAEA,SAAS,mBAAmB,CAAC,OAAmC,EAAA;QAC9D,IAAI,OAAO,KAAK,SAAS;IAAE,QAAA,OAAO,IAAI,CAAC;IACvC,IAAA,OAAO,KAAK,CAAC;IACf,CAAC;IAMe,SAAA,uBAAuB,CACrC,OAAmC,EACnC,OAAkC,EAAA;QAE5B,IAAA,EAAA,GAAsCA,cAAQ,CAAC,YAAA;YACnD,OAAA,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAA5B,KAA4B,CAC7B,EAFM,cAAc,QAAA,EAAE,iBAAiB,QAEvC,CAAC;IAEI,IAAA,IAAA,KAAkC,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAP,OAAO,GAAI,EAAE,EAA7C,IAAI,UAAA,EAAE,UAAU,gBAAA,EAAE,SAAS,eAAkB,CAAC;IAEtD,IAAAC,eAAS,CAAC,YAAA;IACR,QAAA,IAAI,OAAO,KAAK,SAAS,EAAE;gBACzB,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACxB,OAAO;aACR;YAED,IAAI,CAAC,OAAO,EAAE;gBACZ,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACzB,OAAO;aACR;IAED,QAAA,IAAI,OAAO,oBAAoB,KAAK,WAAW,EAAE;gBAC/C,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACxB,OAAO;aACR;IAKD,QAAA,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,EAAE,OAAO,YAAY,OAAO,CAAC,EAAE;gBACnE,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACxB,OAAO;aACR;IAED,QAAA,IAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,UAAC,EAAO,EAAA;;IAAN,YAAA,IAAA,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;IACL,YAAA,iBAAiB,CAAC,CAAA,EAAA,GAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,KAAK,CAAC,CAAC;IACpD,SAAC,EACD,EAAE,IAAI,EAAA,IAAA,EAAE,UAAU,EAAA,UAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAChC,CAAC;IAEF,QAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1B,OAAO,YAAA,EAAM,OAAA,QAAQ,CAAC,UAAU,EAAE,CAAA,EAAA,CAAC;SACpC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IAE3C,IAAA,OAAO,cAAc,CAAC;IACxB;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIntersectionObserver.d.ts","sourceRoot":"","sources":["../packages/hooks/use-intersection-observer/src/useIntersectionObserver.ts"],"names":[],"mappings":"AAWA,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EACnC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAmCT"}
1
+ {"version":3,"file":"useIntersectionObserver.d.ts","sourceRoot":"","sources":["../packages/hooks/use-intersection-observer/src/useIntersectionObserver.ts"],"names":[],"mappings":"AAWA,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EACnC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CA2CT"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cleartrip/talos-use-intersection-observer",
3
- "version": "1.3.0",
3
+ "version": "2.0.0-beta-260929-rn-v1.0",
4
4
  "description": "Hook for tracking element viewport intersection via IntersectionObserver",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/talos-use-intersection-observer.cjs.js",
@@ -12,7 +12,8 @@
12
12
  "./dist/talos-use-intersection-observer.cjs.js": "./dist/talos-use-intersection-observer.browser.cjs.js"
13
13
  },
14
14
  "files": [
15
- "dist"
15
+ "dist",
16
+ "src"
16
17
  ],
17
18
  "peerDependencies": {
18
19
  "react": ">=16.8.0",
package/src/index.ts ADDED
@@ -0,0 +1 @@
1
+ export { useIntersectionObserver } from "./useIntersectionObserver";
@@ -0,0 +1,58 @@
1
+ import { useEffect, useState } from "react";
2
+
3
+ function initialIntersecting(element: Element | null | undefined): boolean {
4
+ if (element === undefined) return true;
5
+ return false;
6
+ }
7
+
8
+ /**
9
+ * Tracks whether `element` intersects the viewport (or `root`).
10
+ * Pass `undefined` to skip observing and treat visibility as always true.
11
+ */
12
+ export function useIntersectionObserver(
13
+ element: Element | null | undefined,
14
+ options?: IntersectionObserverInit
15
+ ): boolean {
16
+ const [isIntersecting, setIsIntersecting] = useState(() =>
17
+ initialIntersecting(element)
18
+ );
19
+
20
+ const { root, rootMargin, threshold } = options ?? {};
21
+
22
+ useEffect(() => {
23
+ if (element === undefined) {
24
+ setIsIntersecting(true);
25
+ return;
26
+ }
27
+
28
+ if (!element) {
29
+ setIsIntersecting(false);
30
+ return;
31
+ }
32
+
33
+ if (typeof IntersectionObserver === "undefined") {
34
+ setIsIntersecting(true);
35
+ return;
36
+ }
37
+
38
+ // Guard against non-Element inputs (e.g. a ct-design `ContainerRef`
39
+ // imperative handle) so `observe()` never receives a non-Element and throws.
40
+ // Nothing to observe → treat as visible rather than crashing.
41
+ if (typeof Element === "undefined" || !(element instanceof Element)) {
42
+ setIsIntersecting(true);
43
+ return;
44
+ }
45
+
46
+ const observer = new IntersectionObserver(
47
+ ([entry]) => {
48
+ setIsIntersecting(entry?.isIntersecting ?? false);
49
+ },
50
+ { root, rootMargin, threshold }
51
+ );
52
+
53
+ observer.observe(element);
54
+ return () => observer.disconnect();
55
+ }, [element, root, rootMargin, threshold]);
56
+
57
+ return isIntersecting;
58
+ }