@cleartrip/talos-use-impression-tracking 1.0.0-beta-260610-0.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/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/talos-use-impression-tracking.browser.cjs.js +2 -0
- package/dist/talos-use-impression-tracking.browser.cjs.js.map +1 -0
- package/dist/talos-use-impression-tracking.browser.esm.js +2 -0
- package/dist/talos-use-impression-tracking.browser.esm.js.map +1 -0
- package/dist/talos-use-impression-tracking.cjs.js +44 -0
- package/dist/talos-use-impression-tracking.cjs.js.map +1 -0
- package/dist/talos-use-impression-tracking.esm.js +42 -0
- package/dist/talos-use-impression-tracking.esm.js.map +1 -0
- package/dist/talos-use-impression-tracking.umd.js +48 -0
- package/dist/talos-use-impression-tracking.umd.js.map +1 -0
- package/dist/useImpressionTracking.d.ts +9 -0
- package/dist/useImpressionTracking.d.ts.map +1 -0
- package/package.json +32 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../packages/hooks/use-impression-tracking/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,KAAK,4BAA4B,GAClC,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("react");exports.useImpressionTracking=function(n,r){var t=r.onImpression,i=r.durationMs,u=void 0===i?500:i,o=r.threshold,c=void 0===o?1:o,s=r.enabled,l=void 0===s||s,f=e.useRef(t);e.useEffect(function(){f.current=t},[t]),e.useEffect(function(){if(l){var e=n.current;if(e){var r=null,t=new IntersectionObserver(function(e){var n=e[0];if(n){var t=n.intersectionRatio>=c;t&&null===r?r=setTimeout(function(){r=null,f.current()},u):t||null===r||(clearTimeout(r),r=null)}},{threshold:c});return t.observe(e),function(){t.disconnect(),null!==r&&clearTimeout(r)}}}},[n,u,c,l])};
|
|
2
|
+
//# sourceMappingURL=talos-use-impression-tracking.browser.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"talos-use-impression-tracking.browser.cjs.js","sources":["../packages/hooks/use-impression-tracking/src/useImpressionTracking.ts"],"sourcesContent":[null],"names":["ref","_a","onImpression","_b","durationMs","_c","threshold","_d","enabled","onImpressionRef","useRef","useEffect","current","element","timerId","observer","IntersectionObserver","entry","visible","intersectionRatio","setTimeout","clearTimeout","observe","disconnect"],"mappings":"kEASgB,SACdA,EACAC,OACEC,EAAYD,EAAAC,aACZC,EAAgBF,EAAAG,WAAhBA,OAAa,IAAAD,EAAA,MACbE,EAAAJ,EAAAK,UAAAA,OAAS,IAAAD,EAAG,EAACA,EACbE,YAAAC,OAAU,IAAAD,GAAIA,EAGVE,EAAkBC,SAAOR,GAE/BS,EAAAA,UAAU,WACRF,EAAgBG,QAAUV,CAC5B,EAAG,CAACA,IAEJS,EAAAA,UAAU,WACR,GAAKH,EAAL,CAEA,IAAMK,EAAUb,EAAIY,QACpB,GAAKC,EAAL,CAEA,IAAIC,EAAgD,KAE9CC,EAAW,IAAIC,qBACnB,SAACf,GAAC,IAAAgB,EAAKhB,EAAA,GACL,GAAKgB,EAAL,CAEA,IAAMC,EAAUD,EAAME,mBAAqBb,EAEvCY,GAAuB,OAAZJ,EACbA,EAAUM,WAAW,WACnBN,EAAU,KACVL,EAAgBG,SACjB,EAAER,GACOc,GAAuB,OAAZJ,IACrBO,aAAaP,GACbA,EAAU,KAXO,CAarB,EACA,CAAER,UAASA,IAKb,OAFAS,EAASO,QAAQT,GAEV,WACLE,EAASQ,aACO,OAAZT,GAAkBO,aAAaP,EACrC,CA5BqB,CAHA,CAgCtB,EAAE,CAACd,EAAKI,EAAYE,EAAWE,GAClC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useRef as n,useEffect as r}from"react";function e(e,t){var o=t.onImpression,i=t.durationMs,u=void 0===i?500:i,l=t.threshold,c=void 0===l?1:l,a=t.enabled,s=void 0===a||a,f=n(o);r(function(){f.current=o},[o]),r(function(){if(s){var n=e.current;if(n){var r=null,t=new IntersectionObserver(function(n){var e=n[0];if(e){var t=e.intersectionRatio>=c;t&&null===r?r=setTimeout(function(){r=null,f.current()},u):t||null===r||(clearTimeout(r),r=null)}},{threshold:c});return t.observe(n),function(){t.disconnect(),null!==r&&clearTimeout(r)}}}},[e,u,c,s])}export{e as useImpressionTracking};
|
|
2
|
+
//# sourceMappingURL=talos-use-impression-tracking.browser.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"talos-use-impression-tracking.browser.esm.js","sources":["../packages/hooks/use-impression-tracking/src/useImpressionTracking.ts"],"sourcesContent":[null],"names":["useImpressionTracking","ref","_a","onImpression","_b","durationMs","_c","threshold","_d","enabled","onImpressionRef","useRef","useEffect","current","element","timerId","observer","IntersectionObserver","entry","visible","intersectionRatio","setTimeout","clearTimeout","observe","disconnect"],"mappings":"8CASgB,SAAAA,EACdC,EACAC,OACEC,EAAYD,EAAAC,aACZC,EAAgBF,EAAAG,WAAhBA,OAAa,IAAAD,EAAA,MACbE,EAAAJ,EAAAK,UAAAA,OAAS,IAAAD,EAAG,EAACA,EACbE,YAAAC,OAAU,IAAAD,GAAIA,EAGVE,EAAkBC,EAAOR,GAE/BS,EAAU,WACRF,EAAgBG,QAAUV,CAC5B,EAAG,CAACA,IAEJS,EAAU,WACR,GAAKH,EAAL,CAEA,IAAMK,EAAUb,EAAIY,QACpB,GAAKC,EAAL,CAEA,IAAIC,EAAgD,KAE9CC,EAAW,IAAIC,qBACnB,SAACf,GAAC,IAAAgB,EAAKhB,EAAA,GACL,GAAKgB,EAAL,CAEA,IAAMC,EAAUD,EAAME,mBAAqBb,EAEvCY,GAAuB,OAAZJ,EACbA,EAAUM,WAAW,WACnBN,EAAU,KACVL,EAAgBG,SACjB,EAAER,GACOc,GAAuB,OAAZJ,IACrBO,aAAaP,GACbA,EAAU,KAXO,CAarB,EACA,CAAER,UAASA,IAKb,OAFAS,EAASO,QAAQT,GAEV,WACLE,EAASQ,aACO,OAAZT,GAAkBO,aAAaP,EACrC,CA5BqB,CAHA,CAgCtB,EAAE,CAACd,EAAKI,EAAYE,EAAWE,GAClC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
|
|
5
|
+
function useImpressionTracking(ref, _a) {
|
|
6
|
+
var onImpression = _a.onImpression, _b = _a.durationMs, durationMs = _b === void 0 ? 500 : _b, _c = _a.threshold, threshold = _c === void 0 ? 1 : _c, _d = _a.enabled, enabled = _d === void 0 ? true : _d;
|
|
7
|
+
var onImpressionRef = react.useRef(onImpression);
|
|
8
|
+
react.useEffect(function () {
|
|
9
|
+
onImpressionRef.current = onImpression;
|
|
10
|
+
}, [onImpression]);
|
|
11
|
+
react.useEffect(function () {
|
|
12
|
+
if (!enabled)
|
|
13
|
+
return;
|
|
14
|
+
var element = ref.current;
|
|
15
|
+
if (!element)
|
|
16
|
+
return;
|
|
17
|
+
var timerId = null;
|
|
18
|
+
var observer = new IntersectionObserver(function (_a) {
|
|
19
|
+
var entry = _a[0];
|
|
20
|
+
if (!entry)
|
|
21
|
+
return;
|
|
22
|
+
var visible = entry.intersectionRatio >= threshold;
|
|
23
|
+
if (visible && timerId === null) {
|
|
24
|
+
timerId = setTimeout(function () {
|
|
25
|
+
timerId = null;
|
|
26
|
+
onImpressionRef.current();
|
|
27
|
+
}, durationMs);
|
|
28
|
+
}
|
|
29
|
+
else if (!visible && timerId !== null) {
|
|
30
|
+
clearTimeout(timerId);
|
|
31
|
+
timerId = null;
|
|
32
|
+
}
|
|
33
|
+
}, { threshold: threshold });
|
|
34
|
+
observer.observe(element);
|
|
35
|
+
return function () {
|
|
36
|
+
observer.disconnect();
|
|
37
|
+
if (timerId !== null)
|
|
38
|
+
clearTimeout(timerId);
|
|
39
|
+
};
|
|
40
|
+
}, [ref, durationMs, threshold, enabled]);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
exports.useImpressionTracking = useImpressionTracking;
|
|
44
|
+
//# sourceMappingURL=talos-use-impression-tracking.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"talos-use-impression-tracking.cjs.js","sources":["../packages/hooks/use-impression-tracking/src/useImpressionTracking.ts"],"sourcesContent":[null],"names":["useRef","useEffect"],"mappings":";;;;AASgB,SAAA,qBAAqB,CACnC,GAAiB,EACjB,EAK+B,EAAA;QAJ7B,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,EAAgB,GAAA,EAAA,CAAA,UAAA,EAAhB,UAAU,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,GAAG,KAAA,EAChB,EAAA,GAAA,EAAA,CAAA,SAAa,EAAb,SAAS,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EACb,eAAc,EAAd,OAAO,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,IAAI,GAAA,EAAA,CAAA;AAGhB,IAAA,IAAM,eAAe,GAAGA,YAAM,CAAC,YAAY,CAAC,CAAC;AAE7C,IAAAC,eAAS,CAAC,YAAA;AACR,QAAA,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC;AACzC,KAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AAEnB,IAAAA,eAAS,CAAC,YAAA;AACR,QAAA,IAAI,CAAC,OAAO;YAAE,OAAO;AAErB,QAAA,IAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AAC5B,QAAA,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,OAAO,GAAyC,IAAI,CAAC;AAEzD,QAAA,IAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,UAAC,EAAO,EAAA;AAAN,YAAA,IAAA,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AACL,YAAA,IAAI,CAAC,KAAK;gBAAE,OAAO;AAEnB,YAAA,IAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB,IAAI,SAAS,CAAC;AAErD,YAAA,IAAI,OAAO,IAAI,OAAO,KAAK,IAAI,EAAE;gBAC/B,OAAO,GAAG,UAAU,CAAC,YAAA;oBACnB,OAAO,GAAG,IAAI,CAAC;oBACf,eAAe,CAAC,OAAO,EAAE,CAAC;iBAC3B,EAAE,UAAU,CAAC,CAAC;AAChB,aAAA;AAAM,iBAAA,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,IAAI,EAAE;gBACvC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,GAAG,IAAI,CAAC;AAChB,aAAA;AACH,SAAC,EACD,EAAE,SAAS,EAAA,SAAA,EAAE,CACd,CAAC;AAEF,QAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE1B,OAAO,YAAA;YACL,QAAQ,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,OAAO,KAAK,IAAI;gBAAE,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9C,SAAC,CAAC;KACH,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5C;;;;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { useRef, useEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
function useImpressionTracking(ref, _a) {
|
|
4
|
+
var onImpression = _a.onImpression, _b = _a.durationMs, durationMs = _b === void 0 ? 500 : _b, _c = _a.threshold, threshold = _c === void 0 ? 1 : _c, _d = _a.enabled, enabled = _d === void 0 ? true : _d;
|
|
5
|
+
var onImpressionRef = useRef(onImpression);
|
|
6
|
+
useEffect(function () {
|
|
7
|
+
onImpressionRef.current = onImpression;
|
|
8
|
+
}, [onImpression]);
|
|
9
|
+
useEffect(function () {
|
|
10
|
+
if (!enabled)
|
|
11
|
+
return;
|
|
12
|
+
var element = ref.current;
|
|
13
|
+
if (!element)
|
|
14
|
+
return;
|
|
15
|
+
var timerId = null;
|
|
16
|
+
var observer = new IntersectionObserver(function (_a) {
|
|
17
|
+
var entry = _a[0];
|
|
18
|
+
if (!entry)
|
|
19
|
+
return;
|
|
20
|
+
var visible = entry.intersectionRatio >= threshold;
|
|
21
|
+
if (visible && timerId === null) {
|
|
22
|
+
timerId = setTimeout(function () {
|
|
23
|
+
timerId = null;
|
|
24
|
+
onImpressionRef.current();
|
|
25
|
+
}, durationMs);
|
|
26
|
+
}
|
|
27
|
+
else if (!visible && timerId !== null) {
|
|
28
|
+
clearTimeout(timerId);
|
|
29
|
+
timerId = null;
|
|
30
|
+
}
|
|
31
|
+
}, { threshold: threshold });
|
|
32
|
+
observer.observe(element);
|
|
33
|
+
return function () {
|
|
34
|
+
observer.disconnect();
|
|
35
|
+
if (timerId !== null)
|
|
36
|
+
clearTimeout(timerId);
|
|
37
|
+
};
|
|
38
|
+
}, [ref, durationMs, threshold, enabled]);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export { useImpressionTracking };
|
|
42
|
+
//# sourceMappingURL=talos-use-impression-tracking.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"talos-use-impression-tracking.esm.js","sources":["../packages/hooks/use-impression-tracking/src/useImpressionTracking.ts"],"sourcesContent":[null],"names":[],"mappings":";;AASgB,SAAA,qBAAqB,CACnC,GAAiB,EACjB,EAK+B,EAAA;QAJ7B,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,EAAgB,GAAA,EAAA,CAAA,UAAA,EAAhB,UAAU,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,GAAG,KAAA,EAChB,EAAA,GAAA,EAAA,CAAA,SAAa,EAAb,SAAS,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EACb,eAAc,EAAd,OAAO,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,IAAI,GAAA,EAAA,CAAA;AAGhB,IAAA,IAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAE7C,IAAA,SAAS,CAAC,YAAA;AACR,QAAA,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC;AACzC,KAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AAEnB,IAAA,SAAS,CAAC,YAAA;AACR,QAAA,IAAI,CAAC,OAAO;YAAE,OAAO;AAErB,QAAA,IAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AAC5B,QAAA,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,OAAO,GAAyC,IAAI,CAAC;AAEzD,QAAA,IAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,UAAC,EAAO,EAAA;AAAN,YAAA,IAAA,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AACL,YAAA,IAAI,CAAC,KAAK;gBAAE,OAAO;AAEnB,YAAA,IAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB,IAAI,SAAS,CAAC;AAErD,YAAA,IAAI,OAAO,IAAI,OAAO,KAAK,IAAI,EAAE;gBAC/B,OAAO,GAAG,UAAU,CAAC,YAAA;oBACnB,OAAO,GAAG,IAAI,CAAC;oBACf,eAAe,CAAC,OAAO,EAAE,CAAC;iBAC3B,EAAE,UAAU,CAAC,CAAC;AAChB,aAAA;AAAM,iBAAA,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,IAAI,EAAE;gBACvC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,GAAG,IAAI,CAAC;AAChB,aAAA;AACH,SAAC,EACD,EAAE,SAAS,EAAA,SAAA,EAAE,CACd,CAAC;AAEF,QAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE1B,OAAO,YAAA;YACL,QAAQ,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,OAAO,KAAK,IAAI;gBAAE,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9C,SAAC,CAAC;KACH,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5C;;;;"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
(function (global, factory) {
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.TalosUseImpressionTracking = {}, global.React));
|
|
5
|
+
})(this, (function (exports, react) { 'use strict';
|
|
6
|
+
|
|
7
|
+
function useImpressionTracking(ref, _a) {
|
|
8
|
+
var onImpression = _a.onImpression, _b = _a.durationMs, durationMs = _b === void 0 ? 500 : _b, _c = _a.threshold, threshold = _c === void 0 ? 1 : _c, _d = _a.enabled, enabled = _d === void 0 ? true : _d;
|
|
9
|
+
var onImpressionRef = react.useRef(onImpression);
|
|
10
|
+
react.useEffect(function () {
|
|
11
|
+
onImpressionRef.current = onImpression;
|
|
12
|
+
}, [onImpression]);
|
|
13
|
+
react.useEffect(function () {
|
|
14
|
+
if (!enabled)
|
|
15
|
+
return;
|
|
16
|
+
var element = ref.current;
|
|
17
|
+
if (!element)
|
|
18
|
+
return;
|
|
19
|
+
var timerId = null;
|
|
20
|
+
var observer = new IntersectionObserver(function (_a) {
|
|
21
|
+
var entry = _a[0];
|
|
22
|
+
if (!entry)
|
|
23
|
+
return;
|
|
24
|
+
var visible = entry.intersectionRatio >= threshold;
|
|
25
|
+
if (visible && timerId === null) {
|
|
26
|
+
timerId = setTimeout(function () {
|
|
27
|
+
timerId = null;
|
|
28
|
+
onImpressionRef.current();
|
|
29
|
+
}, durationMs);
|
|
30
|
+
}
|
|
31
|
+
else if (!visible && timerId !== null) {
|
|
32
|
+
clearTimeout(timerId);
|
|
33
|
+
timerId = null;
|
|
34
|
+
}
|
|
35
|
+
}, { threshold: threshold });
|
|
36
|
+
observer.observe(element);
|
|
37
|
+
return function () {
|
|
38
|
+
observer.disconnect();
|
|
39
|
+
if (timerId !== null)
|
|
40
|
+
clearTimeout(timerId);
|
|
41
|
+
};
|
|
42
|
+
}, [ref, durationMs, threshold, enabled]);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
exports.useImpressionTracking = useImpressionTracking;
|
|
46
|
+
|
|
47
|
+
}));
|
|
48
|
+
//# sourceMappingURL=talos-use-impression-tracking.umd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"talos-use-impression-tracking.umd.js","sources":["../packages/hooks/use-impression-tracking/src/useImpressionTracking.ts"],"sourcesContent":[null],"names":["useRef","useEffect"],"mappings":";;;;;;IASgB,SAAA,qBAAqB,CACnC,GAAiB,EACjB,EAK+B,EAAA;YAJ7B,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,EAAgB,GAAA,EAAA,CAAA,UAAA,EAAhB,UAAU,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,GAAG,KAAA,EAChB,EAAA,GAAA,EAAA,CAAA,SAAa,EAAb,SAAS,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,CAAC,GAAA,EAAA,EACb,eAAc,EAAd,OAAO,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,IAAI,GAAA,EAAA,CAAA;IAGhB,IAAA,IAAM,eAAe,GAAGA,YAAM,CAAC,YAAY,CAAC,CAAC;IAE7C,IAAAC,eAAS,CAAC,YAAA;IACR,QAAA,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC;IACzC,KAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,IAAAA,eAAS,CAAC,YAAA;IACR,QAAA,IAAI,CAAC,OAAO;gBAAE,OAAO;IAErB,QAAA,IAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,QAAA,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,IAAI,OAAO,GAAyC,IAAI,CAAC;IAEzD,QAAA,IAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,UAAC,EAAO,EAAA;IAAN,YAAA,IAAA,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;IACL,YAAA,IAAI,CAAC,KAAK;oBAAE,OAAO;IAEnB,YAAA,IAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB,IAAI,SAAS,CAAC;IAErD,YAAA,IAAI,OAAO,IAAI,OAAO,KAAK,IAAI,EAAE;oBAC/B,OAAO,GAAG,UAAU,CAAC,YAAA;wBACnB,OAAO,GAAG,IAAI,CAAC;wBACf,eAAe,CAAC,OAAO,EAAE,CAAC;qBAC3B,EAAE,UAAU,CAAC,CAAC;IAChB,aAAA;IAAM,iBAAA,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,IAAI,EAAE;oBACvC,YAAY,CAAC,OAAO,CAAC,CAAC;oBACtB,OAAO,GAAG,IAAI,CAAC;IAChB,aAAA;IACH,SAAC,EACD,EAAE,SAAS,EAAA,SAAA,EAAE,CACd,CAAC;IAEF,QAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAE1B,OAAO,YAAA;gBACL,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACtB,IAAI,OAAO,KAAK,IAAI;oBAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9C,SAAC,CAAC;SACH,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5C;;;;;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RefObject } from "react";
|
|
2
|
+
export interface UseImpressionTrackingOptions {
|
|
3
|
+
onImpression: () => void;
|
|
4
|
+
durationMs?: number;
|
|
5
|
+
threshold?: number;
|
|
6
|
+
enabled?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function useImpressionTracking<T extends Element>(ref: RefObject<T>, { onImpression, durationMs, threshold, enabled, }: UseImpressionTrackingOptions): void;
|
|
9
|
+
//# sourceMappingURL=useImpressionTracking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useImpressionTracking.d.ts","sourceRoot":"","sources":["../packages/hooks/use-impression-tracking/src/useImpressionTracking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,OAAO,CAAC;AAErD,MAAM,WAAW,4BAA4B;IAC3C,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,OAAO,EACrD,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EACjB,EACE,YAAY,EACZ,UAAgB,EAChB,SAAa,EACb,OAAc,GACf,EAAE,4BAA4B,GAC9B,IAAI,CAyCN"}
|
package/package.json
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cleartrip/talos-use-impression-tracking",
|
|
3
|
+
"version": "1.0.0-beta-260610-0.1",
|
|
4
|
+
"description": "Hook for tracking element impressions via IntersectionObserver",
|
|
5
|
+
"types": "dist/index.d.ts",
|
|
6
|
+
"main": "dist/talos-use-impression-tracking.cjs.js",
|
|
7
|
+
"jsnext:main": "dist/talos-use-impression-tracking.esm.js",
|
|
8
|
+
"module": "dist/talos-use-impression-tracking.esm.js",
|
|
9
|
+
"sideEffects": false,
|
|
10
|
+
"browser": {
|
|
11
|
+
"./dist/talos-use-impression-tracking.esm.js": "./dist/talos-use-impression-tracking.browser.esm.js",
|
|
12
|
+
"./dist/talos-use-impression-tracking.cjs.js": "./dist/talos-use-impression-tracking.browser.cjs.js"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist"
|
|
16
|
+
],
|
|
17
|
+
"peerDependencies": {
|
|
18
|
+
"react": ">=16.8.0",
|
|
19
|
+
"react-dom": ">=16.8.0"
|
|
20
|
+
},
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"access": "public"
|
|
23
|
+
},
|
|
24
|
+
"author": "Cleartrip",
|
|
25
|
+
"license": "ISC",
|
|
26
|
+
"scripts": {
|
|
27
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
28
|
+
"watch-package": "rollup -c -w",
|
|
29
|
+
"build-package": "rollup -c",
|
|
30
|
+
"build-package:clean": "rm -rf dist && rollup -c"
|
|
31
|
+
}
|
|
32
|
+
}
|