@cleartrip/ct-design-intersection-observer 5.19.0-SNAPSHOT-rn-final-elite-v5.0 → 5.19.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 +1 @@
1
- {"version":3,"file":"IntersectionObserver.d.ts","sourceRoot":"","sources":["../packages/components/InterSectionObserver/src/IntersectionObserver.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AAEnD,QAAA,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAgFhE,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"IntersectionObserver.d.ts","sourceRoot":"","sources":["../packages/components/InterSectionObserver/src/IntersectionObserver.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AAEnD,QAAA,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA8FhE,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("@cleartrip/ct-design-scroll-container"),n=require("@cleartrip/ct-design-list"),u=require("@cleartrip/ct-design-common-utils");exports.IntersectionObserver=({children:t,onIntersection:n,onTimedObservationComplete:u,threshold:s=[.01,.5],wrapped:c})=>{const l=r.useRef(!1),i=r.useRef(!1),o=r.useRef(null),a=r.useRef(null),d=r.useCallback(e=>{o.current&&e.unobserve(o.current)},[o]),m=r.useCallback((e,r)=>{const t=e[0];if(null==t?void 0:t.isIntersecting){i.current||(n(),i.current=!0);const{intersectionRatio:e}=t;e>=.5?(a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{l.current||(d(r),l.current=!0,null==u||u())},1e3)):a.current&&clearTimeout(a.current)}else a.current&&clearTimeout(a.current)},[n,u,d]);return r.useEffect(()=>{const e=new IntersectionObserver(m,{threshold:s});return o.current&&e.observe(o.current),()=>{d(e)}},[m,s,d]),c?e.jsx("div",{ref:o,children:t}):e.jsxs(e.Fragment,{children:[e.jsx("div",{ref:o}),t]})},exports.useInView=({onChange:e,onIntersectionComplete:s,onTimedObservationComplete:c,observeOnScroll:l=!1,onUnmount:i})=>{const o=r.useRef(null),a=r.useRef(0),d=r.useRef(!1),m=r.useRef({start:0,end:0}),f=r.useRef(!1),{listId:v}=n.useListItem(),b=r.useCallback((r,t)=>{if(l||!t){if(r){const t=null==r?void 0:r.has(v);return t&&(null==c||c()),t&&0===a.current?(a.current=1,void(null==e||e(!0))):t||1!==a.current?void 0:(a.current=0,void(null==s||s()))}u.promiseHandler.add(()=>new Promise(e=>{o.current||e()}),o.current)}},[v,l,e,s,c]),p=r.useCallback(()=>({observe:b,layout:{X:0,Y:0}}),[b]);t.useAddObservableChild(p);const h=r.useCallback(()=>{null==i||i(),u.promiseHandler.clear(),a.current=0,d.current=!1,m.current.end=0,m.current.start=0,f.current=!1},[]);return r.useEffect(()=>(setTimeout(()=>{b()},400),()=>{h()}),[h]),o};
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("@cleartrip/ct-design-scroll-container"),n=require("@cleartrip/ct-design-list"),u=require("@cleartrip/ct-design-common-utils");exports.IntersectionObserver=({children:t,onIntersection:n,onTimedObservationComplete:u,threshold:c=[.01,.5],timedThreshold:s=1e3,wrapped:l,triggerOnce:i=!1})=>{const o=r.useRef(!1),a=r.useRef(!1),d=r.useRef(null),m=r.useRef(null),f=r.useCallback(e=>{d.current&&e.unobserve(d.current)},[d]),v=r.useCallback((e,r)=>{const t=e[0];if(null==t?void 0:t.isIntersecting){a.current||(n(),a.current=!0);const{intersectionRatio:e}=t;e>=.5?(m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{o.current||(o.current=!0,null==u||u(),i&&f(r))},s)):m.current&&clearTimeout(m.current)}else m.current&&clearTimeout(m.current),i||(a.current=!1,o.current=!1)},[n,u,s,i,f]);return r.useEffect(()=>{const e=new IntersectionObserver(v,{threshold:c});return d.current&&e.observe(d.current),()=>{m.current&&clearTimeout(m.current),f(e)}},[v,c,f]),l?e.jsx("div",{ref:d,children:t}):e.jsxs(e.Fragment,{children:[e.jsx("div",{ref:d}),t]})},exports.useInView=({onChange:e,onIntersectionComplete:c,onTimedObservationComplete:s,observeOnScroll:l=!1,onUnmount:i})=>{const o=r.useRef(null),a=r.useRef(0),d=r.useRef(!1),m=r.useRef({start:0,end:0}),f=r.useRef(!1),{listId:v}=n.useListItem(),b=r.useCallback((r,t)=>{if(l||!t){if(r){const t=null==r?void 0:r.has(v);return t&&(null==s||s()),t&&0===a.current?(a.current=1,void(null==e||e(!0))):t||1!==a.current?void 0:(a.current=0,void(null==c||c()))}u.promiseHandler.add(()=>new Promise(e=>{o.current||e()}),o.current)}},[v,l,e,c,s]),h=r.useCallback(()=>({observe:b,layout:{X:0,Y:0}}),[b]);t.useAddObservableChild(h);const p=r.useCallback(()=>{null==i||i(),u.promiseHandler.clear(),a.current=0,d.current=!1,m.current.end=0,m.current.start=0,f.current=!1},[]);return r.useEffect(()=>(setTimeout(()=>{b()},400),()=>{p()}),[p]),o};
2
2
  //# sourceMappingURL=ct-design-intersection-observer.browser.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ct-design-intersection-observer.browser.cjs.js","sources":["../packages/components/InterSectionObserver/src/IntersectionObserver.tsx","../packages/components/InterSectionObserver/src/useinView.ts"],"sourcesContent":[null,null],"names":["children","onIntersection","onTimedObservationComplete","threshold","wrapped","viewed","useRef","intersected","intersectionRef","timeoutInstance","unobserve","useCallback","observer","current","handleIO","entries","entry","isIntersecting","intersectionRatio","clearTimeout","setTimeout","useEffect","IntersectionObserver","observe","_jsx","ref","_jsxs","jsxs","_Fragment","Fragment","onChange","onIntersectionComplete","observeOnScroll","onUnmount","visibleRef","timeoutVisibleRef","timeoutVisibleStartRef","start","end","triggerOnceValue","listId","useListItem","observerMethod","visibleItems","isScrolling","visibleItem","has","promiseHandler","add","Promise","resolve","addObservable","layout","X","Y","useAddObservableChild","handleUnmount","clear"],"mappings":"yOAIqE,EACnEA,WACAC,iBACAC,6BACAC,YAAY,CAAC,IAAM,IACnBC,cAEA,MAAMC,EAASC,UAAgB,GACzBC,EAAcD,UAAgB,GAC9BE,EAAkBF,SAA8B,MAChDG,EAAkBH,SAA8B,MAEhDI,EAAYC,cACfC,IACKJ,EAAgBK,SAClBD,EAASF,UAAUF,EAAgBK,UAGvC,CAACL,IAGGM,EAAWH,EAAAA,YACf,CAACI,EAAsCH,KACrC,MAAMI,EAAQD,EAAQ,GAEtB,GAAIC,aAAK,EAALA,EAAOC,eAAgB,CACpBV,EAAYM,UACfZ,IACAM,EAAYM,SAAU,GAGxB,MAAMK,kBAAEA,GAAsBF,EAE1BE,GAAqB,IACnBT,EAAgBI,SAClBM,aAAaV,EAAgBI,SAE/BJ,EAAgBI,QAAUO,WAAW,KAC9Bf,EAAOQ,UACVH,EAAUE,GACVP,EAAOQ,SAAU,EACjBX,SAAAA,MAED,MACMO,EAAgBI,SACzBM,aAAaV,EAAgBI,QAEhC,MACKJ,EAAgBI,SAClBM,aAAaV,EAAgBI,UAInC,CAACZ,EAAgBC,EAA4BQ,IAiB/C,OAdAW,EAAAA,UAAU,KACR,MAAMT,EAAW,IAAIU,qBAAqBR,EAAU,CAClDX,cAOF,OAJIK,EAAgBK,SAClBD,EAASW,QAAQf,EAAgBK,SAG5B,KACLH,EAAUE,KAEX,CAACE,EAAUX,EAAWO,IAErBN,EACKoB,EAAAA,WAAKC,IAAKjB,EAAkBR,SAAAA,IAInC0B,EACEC,KAAAC,EAAAC,SAAA,CAAA7B,SAAA,CAAAwB,EAAAA,IAAA,MAAA,CAAKC,IAAKjB,IACTR,wBCzEW,EAChB8B,WACAC,yBACA7B,6BACA8B,mBAAkB,EAClBC,gBAEA,MAAMR,EAAMnB,SAAuB,MAC7B4B,EAAa5B,SAAO,GACpB6B,EAAoB7B,UAAO,GAC3B8B,EAAyB9B,EAAAA,OAAO,CAAE+B,MAAO,EAAGC,IAAK,IACjDC,EAAmBjC,UAAO,IAC1BkC,OAAEA,GAAWC,EAAAA,cAEbC,EAAiB/B,EAAAA,YACrB,CAACgC,EAA4BC,KAC3B,GAAKZ,IAAmBY,EAAxB,CAGA,GAAID,EAAc,CAChB,MAAME,EAAcF,aAAY,EAAZA,EAAcG,IAAIN,GAMtC,OAJIK,IACF3C,SAAAA,KAGE2C,GAAsC,IAAvBX,EAAWrB,SAC5BqB,EAAWrB,QAAU,OACrBiB,SAAAA,GAAW,KAEDe,GAAsC,IAAvBX,EAAWrB,aAKtC,GAJEqB,EAAWrB,QAAU,OACrBkB,SAAAA,KAIH,CAEDgB,EAAcA,eAACC,IAAI,IACV,IAAIC,QAAeC,IACnBzB,EAAIZ,SACPqC,MAIHzB,EAAIZ,QA3BN,GA6BH,CAAC2B,EAAQR,EAAiBF,EAAUC,EAAwB7B,IAGxDiD,EAAgBxC,EAAAA,YAAY,KACzB,CAAEY,QAASmB,EAAgBU,OAAQ,CAAEC,EAAG,EAAGC,EAAG,KACpD,CAACZ,IAEJa,EAAqBA,sBAACJ,GAEtB,MAAMK,EAAgB7C,EAAAA,YAAY,KAChCsB,SAAAA,IACAc,EAAcA,eAACU,QACfvB,EAAWrB,QAAU,EACrBsB,EAAkBtB,SAAU,EAC5BuB,EAAuBvB,QAAQyB,IAAM,EACrCF,EAAuBvB,QAAQwB,MAAQ,EACvCE,EAAiB1B,SAAU,GAE1B,IAYH,OAVAQ,EAAAA,UAAU,KACRD,WAAW,KACTsB,KACC,KACI,KACLc,MAGD,CAACA,IAEG/B"}
1
+ {"version":3,"file":"ct-design-intersection-observer.browser.cjs.js","sources":["../packages/components/InterSectionObserver/src/IntersectionObserver.tsx","../packages/components/InterSectionObserver/src/useinView.ts"],"sourcesContent":[null,null],"names":["children","onIntersection","onTimedObservationComplete","threshold","timedThreshold","wrapped","triggerOnce","viewed","useRef","intersected","intersectionRef","timeoutInstance","unobserve","useCallback","observer","current","handleIO","entries","entry","isIntersecting","intersectionRatio","clearTimeout","setTimeout","useEffect","IntersectionObserver","observe","_jsx","ref","_jsxs","jsxs","_Fragment","Fragment","onChange","onIntersectionComplete","observeOnScroll","onUnmount","visibleRef","timeoutVisibleRef","timeoutVisibleStartRef","start","end","triggerOnceValue","listId","useListItem","observerMethod","visibleItems","isScrolling","visibleItem","has","promiseHandler","add","Promise","resolve","addObservable","layout","X","Y","useAddObservableChild","handleUnmount","clear"],"mappings":"yOAIqE,EACnEA,WACAC,iBACAC,6BACAC,YAAY,CAAC,IAAM,IACnBC,iBAAiB,IACjBC,UACAC,eAAc,MAEd,MAAMC,EAASC,UAAgB,GACzBC,EAAcD,UAAgB,GAC9BE,EAAkBF,SAA8B,MAChDG,EAAkBH,SAA8B,MAEhDI,EAAYC,cACfC,IACKJ,EAAgBK,SAClBD,EAASF,UAAUF,EAAgBK,UAGvC,CAACL,IAGGM,EAAWH,EAAAA,YACf,CAACI,EAAsCH,KACrC,MAAMI,EAAQD,EAAQ,GAEtB,GAAIC,aAAK,EAALA,EAAOC,eAAgB,CACpBV,EAAYM,UACfd,IACAQ,EAAYM,SAAU,GAGxB,MAAMK,kBAAEA,GAAsBF,EAE1BE,GAAqB,IACnBT,EAAgBI,SAClBM,aAAaV,EAAgBI,SAE/BJ,EAAgBI,QAAUO,WAAW,KAC9Bf,EAAOQ,UACVR,EAAOQ,SAAU,EACjBb,SAAAA,IAGII,GACFM,EAAUE,KAGbV,IACMO,EAAgBI,SACzBM,aAAaV,EAAgBI,QAEhC,MACKJ,EAAgBI,SAClBM,aAAaV,EAAgBI,SAG1BT,IACHG,EAAYM,SAAU,EACtBR,EAAOQ,SAAU,IAIvB,CAACd,EAAgBC,EAA4BE,EAAgBE,EAAaM,IAoB5E,OAjBAW,EAAAA,UAAU,KACR,MAAMT,EAAW,IAAIU,qBAAqBR,EAAU,CAClDb,cAOF,OAJIO,EAAgBK,SAClBD,EAASW,QAAQf,EAAgBK,SAG5B,KACDJ,EAAgBI,SAClBM,aAAaV,EAAgBI,SAE/BH,EAAUE,KAEX,CAACE,EAAUb,EAAWS,IAErBP,EACKqB,EAAAA,WAAKC,IAAKjB,EAAkBV,SAAAA,IAInC4B,EACEC,KAAAC,EAAAC,SAAA,CAAA/B,SAAA,CAAA0B,EAAAA,IAAA,MAAA,CAAKC,IAAKjB,IACTV,wBCvFW,EAChBgC,WACAC,yBACA/B,6BACAgC,mBAAkB,EAClBC,gBAEA,MAAMR,EAAMnB,SAAuB,MAC7B4B,EAAa5B,SAAO,GACpB6B,EAAoB7B,UAAO,GAC3B8B,EAAyB9B,EAAAA,OAAO,CAAE+B,MAAO,EAAGC,IAAK,IACjDC,EAAmBjC,UAAO,IAC1BkC,OAAEA,GAAWC,EAAAA,cAEbC,EAAiB/B,EAAAA,YACrB,CAACgC,EAA4BC,KAC3B,GAAKZ,IAAmBY,EAAxB,CAGA,GAAID,EAAc,CAChB,MAAME,EAAcF,aAAY,EAAZA,EAAcG,IAAIN,GAMtC,OAJIK,IACF7C,SAAAA,KAGE6C,GAAsC,IAAvBX,EAAWrB,SAC5BqB,EAAWrB,QAAU,OACrBiB,SAAAA,GAAW,KAEDe,GAAsC,IAAvBX,EAAWrB,aAKtC,GAJEqB,EAAWrB,QAAU,OACrBkB,SAAAA,KAIH,CAEDgB,EAAcA,eAACC,IAAI,IACV,IAAIC,QAAeC,IACnBzB,EAAIZ,SACPqC,MAIHzB,EAAIZ,QA3BN,GA6BH,CAAC2B,EAAQR,EAAiBF,EAAUC,EAAwB/B,IAGxDmD,EAAgBxC,EAAAA,YAAY,KACzB,CAAEY,QAASmB,EAAgBU,OAAQ,CAAEC,EAAG,EAAGC,EAAG,KACpD,CAACZ,IAEJa,EAAqBA,sBAACJ,GAEtB,MAAMK,EAAgB7C,EAAAA,YAAY,KAChCsB,SAAAA,IACAc,EAAcA,eAACU,QACfvB,EAAWrB,QAAU,EACrBsB,EAAkBtB,SAAU,EAC5BuB,EAAuBvB,QAAQyB,IAAM,EACrCF,EAAuBvB,QAAQwB,MAAQ,EACvCE,EAAiB1B,SAAU,GAE1B,IAYH,OAVAQ,EAAAA,UAAU,KACRD,WAAW,KACTsB,KACC,KACI,KACLc,MAGD,CAACA,IAEG/B"}
@@ -1,2 +1,2 @@
1
- import{jsx as r,jsxs as e,Fragment as t}from"react/jsx-runtime";import{useRef as n,useCallback as o,useEffect as c}from"react";import{useAddObservableChild as u}from"@cleartrip/ct-design-scroll-container";import{useListItem as i}from"@cleartrip/ct-design-list";import{promiseHandler as l}from"@cleartrip/ct-design-common-utils";const s=({children:u,onIntersection:i,onTimedObservationComplete:l,threshold:s=[.01,.5],wrapped:m})=>{const d=n(!1),a=n(!1),v=n(null),p=n(null),f=o(r=>{v.current&&r.unobserve(v.current)},[v]),h=o((r,e)=>{const t=r[0];if(null==t?void 0:t.isIntersecting){a.current||(i(),a.current=!0);const{intersectionRatio:r}=t;r>=.5?(p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{d.current||(f(e),d.current=!0,null==l||l())},1e3)):p.current&&clearTimeout(p.current)}else p.current&&clearTimeout(p.current)},[i,l,f]);return c(()=>{const r=new IntersectionObserver(h,{threshold:s});return v.current&&r.observe(v.current),()=>{f(r)}},[h,s,f]),m?r("div",{ref:v,children:u}):e(t,{children:[r("div",{ref:v}),u]})},m=({onChange:r,onIntersectionComplete:e,onTimedObservationComplete:t,observeOnScroll:s=!1,onUnmount:m})=>{const d=n(null),a=n(0),v=n(!1),p=n({start:0,end:0}),f=n(!1),{listId:h}=i(),b=o((n,o)=>{if(s||!o){if(n){const o=null==n?void 0:n.has(h);return o&&(null==t||t()),o&&0===a.current?(a.current=1,void(null==r||r(!0))):o||1!==a.current?void 0:(a.current=0,void(null==e||e()))}l.add(()=>new Promise(r=>{d.current||r()}),d.current)}},[h,s,r,e,t]),T=o(()=>({observe:b,layout:{X:0,Y:0}}),[b]);u(T);const I=o(()=>{null==m||m(),l.clear(),a.current=0,v.current=!1,p.current.end=0,p.current.start=0,f.current=!1},[]);return c(()=>(setTimeout(()=>{b()},400),()=>{I()}),[I]),d};export{s as IntersectionObserver,m as useInView};
1
+ import{jsx as r,jsxs as e,Fragment as t}from"react/jsx-runtime";import{useRef as n,useCallback as c,useEffect as o}from"react";import{useAddObservableChild as u}from"@cleartrip/ct-design-scroll-container";import{useListItem as i}from"@cleartrip/ct-design-list";import{promiseHandler as l}from"@cleartrip/ct-design-common-utils";const s=({children:u,onIntersection:i,onTimedObservationComplete:l,threshold:s=[.01,.5],timedThreshold:m=1e3,wrapped:d,triggerOnce:a=!1})=>{const v=n(!1),p=n(!1),h=n(null),f=n(null),T=c(r=>{h.current&&r.unobserve(h.current)},[h]),b=c((r,e)=>{const t=r[0];if(null==t?void 0:t.isIntersecting){p.current||(i(),p.current=!0);const{intersectionRatio:r}=t;r>=.5?(f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{v.current||(v.current=!0,null==l||l(),a&&T(e))},m)):f.current&&clearTimeout(f.current)}else f.current&&clearTimeout(f.current),a||(p.current=!1,v.current=!1)},[i,l,m,a,T]);return o(()=>{const r=new IntersectionObserver(b,{threshold:s});return h.current&&r.observe(h.current),()=>{f.current&&clearTimeout(f.current),T(r)}},[b,s,T]),d?r("div",{ref:h,children:u}):e(t,{children:[r("div",{ref:h}),u]})},m=({onChange:r,onIntersectionComplete:e,onTimedObservationComplete:t,observeOnScroll:s=!1,onUnmount:m})=>{const d=n(null),a=n(0),v=n(!1),p=n({start:0,end:0}),h=n(!1),{listId:f}=i(),T=c((n,c)=>{if(s||!c){if(n){const c=null==n?void 0:n.has(f);return c&&(null==t||t()),c&&0===a.current?(a.current=1,void(null==r||r(!0))):c||1!==a.current?void 0:(a.current=0,void(null==e||e()))}l.add(()=>new Promise(r=>{d.current||r()}),d.current)}},[f,s,r,e,t]),b=c(()=>({observe:T,layout:{X:0,Y:0}}),[T]);u(b);const g=c(()=>{null==m||m(),l.clear(),a.current=0,v.current=!1,p.current.end=0,p.current.start=0,h.current=!1},[]);return o(()=>(setTimeout(()=>{T()},400),()=>{g()}),[g]),d};export{s as IntersectionObserver,m as useInView};
2
2
  //# sourceMappingURL=ct-design-intersection-observer.browser.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ct-design-intersection-observer.browser.esm.js","sources":["../packages/components/InterSectionObserver/src/IntersectionObserver.tsx","../packages/components/InterSectionObserver/src/useinView.ts"],"sourcesContent":[null,null],"names":["WebIntersectionObserver","children","onIntersection","onTimedObservationComplete","threshold","wrapped","viewed","useRef","intersected","intersectionRef","timeoutInstance","unobserve","useCallback","observer","current","handleIO","entries","entry","isIntersecting","intersectionRatio","clearTimeout","setTimeout","useEffect","IntersectionObserver","observe","_jsx","ref","_jsxs","_Fragment","useInView","onChange","onIntersectionComplete","observeOnScroll","onUnmount","visibleRef","timeoutVisibleRef","timeoutVisibleStartRef","start","end","triggerOnceValue","listId","useListItem","observerMethod","visibleItems","isScrolling","visibleItem","has","promiseHandler","add","Promise","resolve","addObservable","layout","X","Y","useAddObservableChild","handleUnmount","clear"],"mappings":"wUAIM,MAAAA,EAA+D,EACnEC,WACAC,iBACAC,6BACAC,YAAY,CAAC,IAAM,IACnBC,cAEA,MAAMC,EAASC,GAAgB,GACzBC,EAAcD,GAAgB,GAC9BE,EAAkBF,EAA8B,MAChDG,EAAkBH,EAA8B,MAEhDI,EAAYC,EACfC,IACKJ,EAAgBK,SAClBD,EAASF,UAAUF,EAAgBK,UAGvC,CAACL,IAGGM,EAAWH,EACf,CAACI,EAAsCH,KACrC,MAAMI,EAAQD,EAAQ,GAEtB,GAAIC,aAAK,EAALA,EAAOC,eAAgB,CACpBV,EAAYM,UACfZ,IACAM,EAAYM,SAAU,GAGxB,MAAMK,kBAAEA,GAAsBF,EAE1BE,GAAqB,IACnBT,EAAgBI,SAClBM,aAAaV,EAAgBI,SAE/BJ,EAAgBI,QAAUO,WAAW,KAC9Bf,EAAOQ,UACVH,EAAUE,GACVP,EAAOQ,SAAU,EACjBX,SAAAA,MAED,MACMO,EAAgBI,SACzBM,aAAaV,EAAgBI,QAEhC,MACKJ,EAAgBI,SAClBM,aAAaV,EAAgBI,UAInC,CAACZ,EAAgBC,EAA4BQ,IAiB/C,OAdAW,EAAU,KACR,MAAMT,EAAW,IAAIU,qBAAqBR,EAAU,CAClDX,cAOF,OAJIK,EAAgBK,SAClBD,EAASW,QAAQf,EAAgBK,SAG5B,KACLH,EAAUE,KAEX,CAACE,EAAUX,EAAWO,IAErBN,EACKoB,SAAKC,IAAKjB,EAAkBR,SAAAA,IAInC0B,EACEC,EAAA,CAAA3B,SAAA,CAAAwB,EAAA,MAAA,CAAKC,IAAKjB,IACTR,MCzED4B,EAAY,EAChBC,WACAC,yBACA5B,6BACA6B,mBAAkB,EAClBC,gBAEA,MAAMP,EAAMnB,EAAuB,MAC7B2B,EAAa3B,EAAO,GACpB4B,EAAoB5B,GAAO,GAC3B6B,EAAyB7B,EAAO,CAAE8B,MAAO,EAAGC,IAAK,IACjDC,EAAmBhC,GAAO,IAC1BiC,OAAEA,GAAWC,IAEbC,EAAiB9B,EACrB,CAAC+B,EAA4BC,KAC3B,GAAKZ,IAAmBY,EAAxB,CAGA,GAAID,EAAc,CAChB,MAAME,EAAcF,aAAY,EAAZA,EAAcG,IAAIN,GAMtC,OAJIK,IACF1C,SAAAA,KAGE0C,GAAsC,IAAvBX,EAAWpB,SAC5BoB,EAAWpB,QAAU,OACrBgB,SAAAA,GAAW,KAEDe,GAAsC,IAAvBX,EAAWpB,aAKtC,GAJEoB,EAAWpB,QAAU,OACrBiB,SAAAA,KAIH,CAEDgB,EAAeC,IAAI,IACV,IAAIC,QAAeC,IACnBxB,EAAIZ,SACPoC,MAIHxB,EAAIZ,QA3BN,GA6BH,CAAC0B,EAAQR,EAAiBF,EAAUC,EAAwB5B,IAGxDgD,EAAgBvC,EAAY,KACzB,CAAEY,QAASkB,EAAgBU,OAAQ,CAAEC,EAAG,EAAGC,EAAG,KACpD,CAACZ,IAEJa,EAAsBJ,GAEtB,MAAMK,EAAgB5C,EAAY,KAChCqB,SAAAA,IACAc,EAAeU,QACfvB,EAAWpB,QAAU,EACrBqB,EAAkBrB,SAAU,EAC5BsB,EAAuBtB,QAAQwB,IAAM,EACrCF,EAAuBtB,QAAQuB,MAAQ,EACvCE,EAAiBzB,SAAU,GAE1B,IAYH,OAVAQ,EAAU,KACRD,WAAW,KACTqB,KACC,KACI,KACLc,MAGD,CAACA,IAEG9B"}
1
+ {"version":3,"file":"ct-design-intersection-observer.browser.esm.js","sources":["../packages/components/InterSectionObserver/src/IntersectionObserver.tsx","../packages/components/InterSectionObserver/src/useinView.ts"],"sourcesContent":[null,null],"names":["WebIntersectionObserver","children","onIntersection","onTimedObservationComplete","threshold","timedThreshold","wrapped","triggerOnce","viewed","useRef","intersected","intersectionRef","timeoutInstance","unobserve","useCallback","observer","current","handleIO","entries","entry","isIntersecting","intersectionRatio","clearTimeout","setTimeout","useEffect","IntersectionObserver","observe","_jsx","ref","_jsxs","_Fragment","useInView","onChange","onIntersectionComplete","observeOnScroll","onUnmount","visibleRef","timeoutVisibleRef","timeoutVisibleStartRef","start","end","triggerOnceValue","listId","useListItem","observerMethod","visibleItems","isScrolling","visibleItem","has","promiseHandler","add","Promise","resolve","addObservable","layout","X","Y","useAddObservableChild","handleUnmount","clear"],"mappings":"wUAIA,MAAMA,EAA+D,EACnEC,WACAC,iBACAC,6BACAC,YAAY,CAAC,IAAM,IACnBC,iBAAiB,IACjBC,UACAC,eAAc,MAEd,MAAMC,EAASC,GAAgB,GACzBC,EAAcD,GAAgB,GAC9BE,EAAkBF,EAA8B,MAChDG,EAAkBH,EAA8B,MAEhDI,EAAYC,EACfC,IACKJ,EAAgBK,SAClBD,EAASF,UAAUF,EAAgBK,UAGvC,CAACL,IAGGM,EAAWH,EACf,CAACI,EAAsCH,KACrC,MAAMI,EAAQD,EAAQ,GAEtB,GAAIC,aAAK,EAALA,EAAOC,eAAgB,CACpBV,EAAYM,UACfd,IACAQ,EAAYM,SAAU,GAGxB,MAAMK,kBAAEA,GAAsBF,EAE1BE,GAAqB,IACnBT,EAAgBI,SAClBM,aAAaV,EAAgBI,SAE/BJ,EAAgBI,QAAUO,WAAW,KAC9Bf,EAAOQ,UACVR,EAAOQ,SAAU,EACjBb,SAAAA,IAGII,GACFM,EAAUE,KAGbV,IACMO,EAAgBI,SACzBM,aAAaV,EAAgBI,QAEhC,MACKJ,EAAgBI,SAClBM,aAAaV,EAAgBI,SAG1BT,IACHG,EAAYM,SAAU,EACtBR,EAAOQ,SAAU,IAIvB,CAACd,EAAgBC,EAA4BE,EAAgBE,EAAaM,IAoB5E,OAjBAW,EAAU,KACR,MAAMT,EAAW,IAAIU,qBAAqBR,EAAU,CAClDb,cAOF,OAJIO,EAAgBK,SAClBD,EAASW,QAAQf,EAAgBK,SAG5B,KACDJ,EAAgBI,SAClBM,aAAaV,EAAgBI,SAE/BH,EAAUE,KAEX,CAACE,EAAUb,EAAWS,IAErBP,EACKqB,SAAKC,IAAKjB,EAAkBV,SAAAA,IAInC4B,EACEC,EAAA,CAAA7B,SAAA,CAAA0B,EAAA,MAAA,CAAKC,IAAKjB,IACTV,MCvFD8B,EAAY,EAChBC,WACAC,yBACA9B,6BACA+B,mBAAkB,EAClBC,gBAEA,MAAMP,EAAMnB,EAAuB,MAC7B2B,EAAa3B,EAAO,GACpB4B,EAAoB5B,GAAO,GAC3B6B,EAAyB7B,EAAO,CAAE8B,MAAO,EAAGC,IAAK,IACjDC,EAAmBhC,GAAO,IAC1BiC,OAAEA,GAAWC,IAEbC,EAAiB9B,EACrB,CAAC+B,EAA4BC,KAC3B,GAAKZ,IAAmBY,EAAxB,CAGA,GAAID,EAAc,CAChB,MAAME,EAAcF,aAAY,EAAZA,EAAcG,IAAIN,GAMtC,OAJIK,IACF5C,SAAAA,KAGE4C,GAAsC,IAAvBX,EAAWpB,SAC5BoB,EAAWpB,QAAU,OACrBgB,SAAAA,GAAW,KAEDe,GAAsC,IAAvBX,EAAWpB,aAKtC,GAJEoB,EAAWpB,QAAU,OACrBiB,SAAAA,KAIH,CAEDgB,EAAeC,IAAI,IACV,IAAIC,QAAeC,IACnBxB,EAAIZ,SACPoC,MAIHxB,EAAIZ,QA3BN,GA6BH,CAAC0B,EAAQR,EAAiBF,EAAUC,EAAwB9B,IAGxDkD,EAAgBvC,EAAY,KACzB,CAAEY,QAASkB,EAAgBU,OAAQ,CAAEC,EAAG,EAAGC,EAAG,KACpD,CAACZ,IAEJa,EAAsBJ,GAEtB,MAAMK,EAAgB5C,EAAY,KAChCqB,SAAAA,IACAc,EAAeU,QACfvB,EAAWpB,QAAU,EACrBqB,EAAkBrB,SAAU,EAC5BsB,EAAuBtB,QAAQwB,IAAM,EACrCF,EAAuBtB,QAAQuB,MAAQ,EACvCE,EAAiBzB,SAAU,GAE1B,IAYH,OAVAQ,EAAU,KACRD,WAAW,KACTqB,KACC,KACI,KACLc,MAGD,CAACA,IAEG9B"}
@@ -6,7 +6,7 @@ var ctDesignScrollContainer = require('@cleartrip/ct-design-scroll-container');
6
6
  var ctDesignList = require('@cleartrip/ct-design-list');
7
7
  var ctDesignCommonUtils = require('@cleartrip/ct-design-common-utils');
8
8
 
9
- const WebIntersectionObserver = ({ children, onIntersection, onTimedObservationComplete, threshold = [0.01, 0.5], wrapped, }) => {
9
+ const WebIntersectionObserver = ({ children, onIntersection, onTimedObservationComplete, threshold = [0.01, 0.5], timedThreshold = 1000, wrapped, triggerOnce = false, }) => {
10
10
  const viewed = react.useRef(false);
11
11
  const intersected = react.useRef(false);
12
12
  const intersectionRef = react.useRef(null);
@@ -30,11 +30,13 @@ const WebIntersectionObserver = ({ children, onIntersection, onTimedObservationC
30
30
  }
31
31
  timeoutInstance.current = setTimeout(() => {
32
32
  if (!viewed.current) {
33
- unobserve(observer);
34
33
  viewed.current = true;
35
34
  onTimedObservationComplete === null || onTimedObservationComplete === void 0 ? void 0 : onTimedObservationComplete();
35
+ if (triggerOnce) {
36
+ unobserve(observer);
37
+ }
36
38
  }
37
- }, 1000);
39
+ }, timedThreshold);
38
40
  }
39
41
  else if (timeoutInstance.current) {
40
42
  clearTimeout(timeoutInstance.current);
@@ -44,8 +46,12 @@ const WebIntersectionObserver = ({ children, onIntersection, onTimedObservationC
44
46
  if (timeoutInstance.current) {
45
47
  clearTimeout(timeoutInstance.current);
46
48
  }
49
+ if (!triggerOnce) {
50
+ intersected.current = false;
51
+ viewed.current = false;
52
+ }
47
53
  }
48
- }, [onIntersection, onTimedObservationComplete, unobserve]);
54
+ }, [onIntersection, onTimedObservationComplete, timedThreshold, triggerOnce, unobserve]);
49
55
  react.useEffect(() => {
50
56
  const observer = new IntersectionObserver(handleIO, {
51
57
  threshold,
@@ -54,6 +60,9 @@ const WebIntersectionObserver = ({ children, onIntersection, onTimedObservationC
54
60
  observer.observe(intersectionRef.current);
55
61
  }
56
62
  return () => {
63
+ if (timeoutInstance.current) {
64
+ clearTimeout(timeoutInstance.current);
65
+ }
57
66
  unobserve(observer);
58
67
  };
59
68
  }, [handleIO, threshold, unobserve]);
@@ -1 +1 @@
1
- {"version":3,"file":"ct-design-intersection-observer.cjs.js","sources":["../packages/components/InterSectionObserver/src/IntersectionObserver.tsx","../packages/components/InterSectionObserver/src/useinView.ts"],"sourcesContent":[null,null],"names":["useRef","useCallback","useEffect","_jsx","_jsxs","_Fragment","useListItem","promiseHandler","useAddObservableChild"],"mappings":"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"}
1
+ {"version":3,"file":"ct-design-intersection-observer.cjs.js","sources":["../packages/components/InterSectionObserver/src/IntersectionObserver.tsx","../packages/components/InterSectionObserver/src/useinView.ts"],"sourcesContent":[null,null],"names":["useRef","useCallback","useEffect","_jsx","_jsxs","_Fragment","useListItem","promiseHandler","useAddObservableChild"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { useAddObservableChild } from '@cleartrip/ct-design-scroll-container';
4
4
  import { useListItem } from '@cleartrip/ct-design-list';
5
5
  import { promiseHandler } from '@cleartrip/ct-design-common-utils';
6
6
 
7
- const WebIntersectionObserver = ({ children, onIntersection, onTimedObservationComplete, threshold = [0.01, 0.5], wrapped, }) => {
7
+ const WebIntersectionObserver = ({ children, onIntersection, onTimedObservationComplete, threshold = [0.01, 0.5], timedThreshold = 1000, wrapped, triggerOnce = false, }) => {
8
8
  const viewed = useRef(false);
9
9
  const intersected = useRef(false);
10
10
  const intersectionRef = useRef(null);
@@ -28,11 +28,13 @@ const WebIntersectionObserver = ({ children, onIntersection, onTimedObservationC
28
28
  }
29
29
  timeoutInstance.current = setTimeout(() => {
30
30
  if (!viewed.current) {
31
- unobserve(observer);
32
31
  viewed.current = true;
33
32
  onTimedObservationComplete === null || onTimedObservationComplete === void 0 ? void 0 : onTimedObservationComplete();
33
+ if (triggerOnce) {
34
+ unobserve(observer);
35
+ }
34
36
  }
35
- }, 1000);
37
+ }, timedThreshold);
36
38
  }
37
39
  else if (timeoutInstance.current) {
38
40
  clearTimeout(timeoutInstance.current);
@@ -42,8 +44,12 @@ const WebIntersectionObserver = ({ children, onIntersection, onTimedObservationC
42
44
  if (timeoutInstance.current) {
43
45
  clearTimeout(timeoutInstance.current);
44
46
  }
47
+ if (!triggerOnce) {
48
+ intersected.current = false;
49
+ viewed.current = false;
50
+ }
45
51
  }
46
- }, [onIntersection, onTimedObservationComplete, unobserve]);
52
+ }, [onIntersection, onTimedObservationComplete, timedThreshold, triggerOnce, unobserve]);
47
53
  useEffect(() => {
48
54
  const observer = new IntersectionObserver(handleIO, {
49
55
  threshold,
@@ -52,6 +58,9 @@ const WebIntersectionObserver = ({ children, onIntersection, onTimedObservationC
52
58
  observer.observe(intersectionRef.current);
53
59
  }
54
60
  return () => {
61
+ if (timeoutInstance.current) {
62
+ clearTimeout(timeoutInstance.current);
63
+ }
55
64
  unobserve(observer);
56
65
  };
57
66
  }, [handleIO, threshold, unobserve]);
@@ -1 +1 @@
1
- {"version":3,"file":"ct-design-intersection-observer.esm.js","sources":["../packages/components/InterSectionObserver/src/IntersectionObserver.tsx","../packages/components/InterSectionObserver/src/useinView.ts"],"sourcesContent":[null,null],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"ct-design-intersection-observer.esm.js","sources":["../packages/components/InterSectionObserver/src/IntersectionObserver.tsx","../packages/components/InterSectionObserver/src/useinView.ts"],"sourcesContent":[null,null],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.CTDesignSystemIntersectionObserver = {}, global.jsxRuntime, global.React, global.ctDesignScrollContainer, global.ctDesignList, global.ctDesignCommonUtils));
5
5
  })(this, (function (exports, jsxRuntime, react, ctDesignScrollContainer, ctDesignList, ctDesignCommonUtils) { 'use strict';
6
6
 
7
- const WebIntersectionObserver = ({ children, onIntersection, onTimedObservationComplete, threshold = [0.01, 0.5], wrapped, }) => {
7
+ const WebIntersectionObserver = ({ children, onIntersection, onTimedObservationComplete, threshold = [0.01, 0.5], timedThreshold = 1000, wrapped, triggerOnce = false, }) => {
8
8
  const viewed = react.useRef(false);
9
9
  const intersected = react.useRef(false);
10
10
  const intersectionRef = react.useRef(null);
@@ -28,11 +28,13 @@
28
28
  }
29
29
  timeoutInstance.current = setTimeout(() => {
30
30
  if (!viewed.current) {
31
- unobserve(observer);
32
31
  viewed.current = true;
33
32
  onTimedObservationComplete === null || onTimedObservationComplete === void 0 ? void 0 : onTimedObservationComplete();
33
+ if (triggerOnce) {
34
+ unobserve(observer);
35
+ }
34
36
  }
35
- }, 1000);
37
+ }, timedThreshold);
36
38
  }
37
39
  else if (timeoutInstance.current) {
38
40
  clearTimeout(timeoutInstance.current);
@@ -42,8 +44,12 @@
42
44
  if (timeoutInstance.current) {
43
45
  clearTimeout(timeoutInstance.current);
44
46
  }
47
+ if (!triggerOnce) {
48
+ intersected.current = false;
49
+ viewed.current = false;
50
+ }
45
51
  }
46
- }, [onIntersection, onTimedObservationComplete, unobserve]);
52
+ }, [onIntersection, onTimedObservationComplete, timedThreshold, triggerOnce, unobserve]);
47
53
  react.useEffect(() => {
48
54
  const observer = new IntersectionObserver(handleIO, {
49
55
  threshold,
@@ -52,6 +58,9 @@
52
58
  observer.observe(intersectionRef.current);
53
59
  }
54
60
  return () => {
61
+ if (timeoutInstance.current) {
62
+ clearTimeout(timeoutInstance.current);
63
+ }
55
64
  unobserve(observer);
56
65
  };
57
66
  }, [handleIO, threshold, unobserve]);
@@ -1 +1 @@
1
- {"version":3,"file":"ct-design-intersection-observer.umd.js","sources":["../packages/components/InterSectionObserver/src/IntersectionObserver.tsx","../packages/components/InterSectionObserver/src/useinView.ts"],"sourcesContent":[null,null],"names":["useRef","useCallback","useEffect","_jsx","_jsxs","_Fragment","useListItem","promiseHandler","useAddObservableChild"],"mappings":"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"}
1
+ {"version":3,"file":"ct-design-intersection-observer.umd.js","sources":["../packages/components/InterSectionObserver/src/IntersectionObserver.tsx","../packages/components/InterSectionObserver/src/useinView.ts"],"sourcesContent":[null,null],"names":["useRef","useCallback","useEffect","_jsx","_jsxs","_Fragment","useListItem","promiseHandler","useAddObservableChild"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cleartrip/ct-design-intersection-observer",
3
- "version": "5.19.0-SNAPSHOT-rn-final-elite-v5.0",
3
+ "version": "5.19.0",
4
4
  "description": "Intersection Observer Component",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "./dist/ct-design-intersection-observer.cjs.js",
@@ -24,15 +24,15 @@
24
24
  "src"
25
25
  ],
26
26
  "dependencies": {
27
- "@cleartrip/ct-design-scroll-container": "5.18.0-SNAPSHOT-rn-final-elite-v5.0",
28
- "@cleartrip/ct-design-container": "5.19.0-SNAPSHOT-rn-final-elite-v5.0",
29
- "@cleartrip/ct-design-theme": "5.18.0-SNAPSHOT-rn-final-elite-v5.0",
30
- "@cleartrip/ct-design-style-manager": "5.17.1-SNAPSHOT-rn-final-elite-v5.0",
31
- "@cleartrip/ct-design-list": "5.19.0-SNAPSHOT-rn-final-elite-v5.0",
32
- "@cleartrip/ct-design-common-utils": "5.17.1-SNAPSHOT-rn-final-elite-v5.0"
27
+ "@cleartrip/ct-design-scroll-container": "5.18.0",
28
+ "@cleartrip/ct-design-style-manager": "5.18.0",
29
+ "@cleartrip/ct-design-container": "5.19.0",
30
+ "@cleartrip/ct-design-theme": "5.18.0",
31
+ "@cleartrip/ct-design-list": "5.19.0",
32
+ "@cleartrip/ct-design-common-utils": "5.18.0"
33
33
  },
34
34
  "devDependencies": {
35
- "@cleartrip/ct-design-types": "5.18.0-SNAPSHOT-rn-final-elite-v5.0"
35
+ "@cleartrip/ct-design-types": "5.18.0"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "react": ">=16.8.0",
@@ -7,7 +7,9 @@ const WebIntersectionObserver: React.FC<IntersectionObserverProps> = ({
7
7
  onIntersection,
8
8
  onTimedObservationComplete,
9
9
  threshold = [0.01, 0.5],
10
+ timedThreshold = 1000,
10
11
  wrapped,
12
+ triggerOnce = false,
11
13
  }) => {
12
14
  const viewed = useRef<boolean>(false);
13
15
  const intersected = useRef<boolean>(false);
@@ -41,11 +43,15 @@ const WebIntersectionObserver: React.FC<IntersectionObserverProps> = ({
41
43
  }
42
44
  timeoutInstance.current = setTimeout(() => {
43
45
  if (!viewed.current) {
44
- unobserve(observer);
45
46
  viewed.current = true;
46
47
  onTimedObservationComplete?.();
48
+ // Only stop observing for one-shot usage; otherwise keep
49
+ // observing so leave/re-enter can re-fire onIntersection.
50
+ if (triggerOnce) {
51
+ unobserve(observer);
52
+ }
47
53
  }
48
- }, 1000);
54
+ }, timedThreshold);
49
55
  } else if (timeoutInstance.current) {
50
56
  clearTimeout(timeoutInstance.current);
51
57
  }
@@ -53,9 +59,14 @@ const WebIntersectionObserver: React.FC<IntersectionObserverProps> = ({
53
59
  if (timeoutInstance.current) {
54
60
  clearTimeout(timeoutInstance.current);
55
61
  }
62
+ // Allow re-fire on scroll-back unless caller opted into triggerOnce.
63
+ if (!triggerOnce) {
64
+ intersected.current = false;
65
+ viewed.current = false;
66
+ }
56
67
  }
57
68
  },
58
- [onIntersection, onTimedObservationComplete, unobserve],
69
+ [onIntersection, onTimedObservationComplete, timedThreshold, triggerOnce, unobserve],
59
70
  );
60
71
 
61
72
  useEffect(() => {
@@ -68,6 +79,9 @@ const WebIntersectionObserver: React.FC<IntersectionObserverProps> = ({
68
79
  }
69
80
 
70
81
  return () => {
82
+ if (timeoutInstance.current) {
83
+ clearTimeout(timeoutInstance.current);
84
+ }
71
85
  unobserve(observer);
72
86
  };
73
87
  }, [handleIO, threshold, unobserve]);