userlens-analytics-sdk 0.1.82 → 0.1.83
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/main.cjs.js +1 -1
- package/dist/main.esm.js +1 -1
- package/dist/react.cjs.js +1 -1
- package/dist/react.cjs.js.map +1 -1
- package/dist/react.esm.js +1 -1
- package/dist/react.esm.js.map +1 -1
- package/dist/types/react.d.ts +2 -0
- package/dist/userlens.umd.js +1 -1
- package/package.json +1 -1
package/dist/main.cjs.js
CHANGED
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* MIT License | (c) Dustin Diaz 2012-2015
|
|
6
6
|
* MIT License | (c) Denis Demchenko 2015-2019
|
|
7
7
|
*/class Iw{static getParser(e,t=!1){if("string"!=typeof e)throw new Error("UserAgent should be a string");return new Cw(e,t)}static parse(e){return new Cw(e).getResult()}static get BROWSER_MAP(){return pw}static get ENGINE_MAP(){return mw}static get OS_MAP(){return fw}static get PLATFORMS_MAP(){return dw}}var xw="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function kw(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ow,Mw={exports:{}},Aw=Mw.exports;
|
|
8
|
-
/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */function Ew(){return Ow||(Ow=1,e=Mw,function(t){e.exports=function(e){if(e.CSS&&e.CSS.escape)return e.CSS.escape;var t=function(e){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var t,r=String(e),s=r.length,n=-1,i="",o=r.charCodeAt(0);++n<s;)0!=(t=r.charCodeAt(n))?i+=t>=1&&t<=31||127==t||0==n&&t>=48&&t<=57||1==n&&t>=48&&t<=57&&45==o?"\\"+t.toString(16)+" ":0==n&&1==s&&45==t||!(t>=128||45==t||95==t||t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122)?"\\"+r.charAt(n):r.charAt(n):i+="�";return i};return e.CSS||(e.CSS={}),e.CSS.escape=t,t}(t)}(void 0!==xw?xw:Aw)),Mw.exports;var e}var Rw,Nw,Tw,Pw={};var Fw,Dw,Lw,Bw,_w,Uw,jw,zw,Ww,Vw,Gw,Zw,Yw,Jw,$w,Xw,Hw,Kw,Qw,qw=function(){if(Tw)return Nw;Tw=1,Ew();const{ShadowRootTypes:e,nodeNameInCorrectCase:t,NodeType:r}=(Rw||(Rw=1,Pw.nodeNameInCorrectCase=function(e){const t=e.shadowRoot&&e.shadowRoot.mode;return t?"#shadow-root ("+t+")":e.localName?e.localName.length!==e.nodeName.length?e.nodeName:e.localName:e.nodeName},Pw.shadowRootType=function(e){const t=e.ancestorShadowRoot();return t?t.mode:null},Pw.NodeType={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9},Pw.ShadowRootTypes={UserAgent:"user-agent",Open:"open",Closed:"closed"}),Pw);let s={DOMPath:{}};return s.DOMPath.fullQualifiedSelector=function(e,t){try{return e.nodeType!==r.ELEMENT_NODE?e.localName||e.nodeName.toLowerCase():s.DOMPath.cssPath(e,t)}catch(e){return null}},s.DOMPath.cssPath=function(e,t){if(e.nodeType!==r.ELEMENT_NODE)return"";const n=[];let i=e;for(;i;){const r=s.DOMPath._cssPathStep(i,!!t,i===e);if(!r)break;if(n.push(r),r.optimized)break;i=i.parentNode}return n.reverse(),n.join(" > ")},s.DOMPath.canGetJSPath=function(t){let r=t;for(;r;){if(r.shadowRoot&&r.shadowRoot.mode!==e.Open)return!1;r=r.shadowRoot&&r.shadowRoot.host}return!0},s.DOMPath.jsPath=function(e,t){if(e.nodeType!==r.ELEMENT_NODE)return"";const n=[];let i=e;for(;i;)n.push(s.DOMPath.cssPath(i,t)),i=i.shadowRoot&&i.shadowRoot.host;n.reverse();let o="";for(let e=0;e<n.length;++e){const t=JSON.stringify(n[e]);o+=e?`.shadowRoot.querySelector(${t})`:`document.querySelector(${t})`}return o},s.DOMPath._cssPathStep=function(e,n,i){if(e.nodeType!==r.ELEMENT_NODE)return null;const o=e.getAttribute("id");if(n){if(o)return new s.DOMPath.Step(h(o),!0);const r=e.nodeName.toLowerCase();if("body"===r||"head"===r||"html"===r)return new s.DOMPath.Step(t(e),!0)}const a=t(e);if(o)return new s.DOMPath.Step(a+h(o),!0);const l=e.parentNode;if(!l||l.nodeType===r.DOCUMENT_NODE)return new s.DOMPath.Step(a,!0);function c(e){const t=e.getAttribute("class");return t?t.split(/\s+/g).filter(Boolean).map(function(e){return"$"+e}):[]}function h(e){return"#"+CSS.escape(e)}const u=c(e);let p=!1,d=!1,f=-1,m=-1;const g=l.children;for(let s=0;(-1===f||!d)&&s<g.length;++s){const n=g[s];if(n.nodeType!==r.ELEMENT_NODE)continue;if(m+=1,n===e){f=m;continue}if(d)continue;if(t(n)!==a)continue;p=!0;const i=new Set(u);if(!i.size){d=!0;continue}const o=c(n);for(let e=0;e<o.length;++e){const t=o[e];if(i.has(t)&&(i.delete(t),!i.size)){d=!0;break}}}let y=a;if(i&&"input"===a.toLowerCase()&&e.getAttribute("type")&&!e.getAttribute("id")&&!e.getAttribute("class")&&(y+="[type="+CSS.escape(e.getAttribute("type"))+"]"),d)y+=":nth-child("+(f+1)+")";else if(p)for(const e of u)y+="."+CSS.escape(e.slice(1));return new s.DOMPath.Step(y,!1)},s.DOMPath.xPath=function(e,t){if(e.nodeType===r.DOCUMENT_NODE)return"/";const n=[];let i=e;for(;i;){const e=s.DOMPath._xPathValue(i,t);if(!e)break;if(n.push(e),e.optimized)break;i=i.parentNode}return n.reverse(),(n.length&&n[0].optimized?"":"/")+n.join("/")},s.DOMPath._xPathValue=function(e,t){let n;const i=s.DOMPath._xPathIndex(e);if(-1===i)return null;switch(e.nodeType){case r.ELEMENT_NODE:if(t&&e.getAttribute("id"))return new s.DOMPath.Step('//*[@id="'+e.getAttribute("id")+'"]',!0);n=e.localName;break;case r.ATTRIBUTE_NODE:n="@"+e.nodeName;break;case r.TEXT_NODE:case r.CDATA_SECTION_NODE:n="text()";break;case r.PROCESSING_INSTRUCTION_NODE:n="processing-instruction()";break;case r.COMMENT_NODE:n="comment()";break;case r.DOCUMENT_NODE:default:n=""}return i>0&&(n+="["+i+"]"),new s.DOMPath.Step(n,e.nodeType===r.DOCUMENT_NODE)},s.DOMPath._xPathIndex=function(e){function t(e,t){if(e===t)return!0;if(e.nodeType===r.ELEMENT_NODE&&t.nodeType===r.ELEMENT_NODE)return e.localName===t.localName;if(e.nodeType===t.nodeType)return!0;return(e.nodeType===r.CDATA_SECTION_NODE?r.TEXT_NODE:e.nodeType)===(t.nodeType===r.CDATA_SECTION_NODE?r.TEXT_NODE:t.nodeType)}const s=e.parentNode?e.parentNode.children:null;if(!s)return 0;let n;for(let r=0;r<s.length;++r)if(t(e,s[r])&&s[r]!==e){n=!0;break}if(!n)return 0;let i=1;for(let r=0;r<s.length;++r)if(t(e,s[r])){if(s[r]===e)return i;++i}return-1},s.DOMPath.Step=class{constructor(e,t){this.value=e,this.optimized=t||!1}toString(){return this.value}},Nw=s.DOMPath}(),eb=kw(qw);Dw=new WeakMap,Lw=new WeakMap,Bw=new WeakMap,_w=new WeakMap,Uw=new WeakMap,$w=new WeakMap,Fw=new WeakSet,jw=function(){document.addEventListener("click",e(this,_w,"f"),!0)},zw=function(t){try{const r=t.target;if(!(r instanceof HTMLElement))return;const s=eb.xPath(r,!0),n=this.useLighterSnapshot?e(this,Fw,"m",Ww).call(this,r):e(this,Fw,"m",Vw).call(this,r),i={event:s,is_raw:!0,snapshot:n?[n]:[],properties:{...this.getUserContext(),...this.getPageMetadata()}};this.userId&&(i.userId=this.userId),this.events.push(i),this.events.length>100&&(this.events=this.events.slice(-100))}catch(e){}},Ww=function(t){if(!(t instanceof HTMLElement))return null;const r=document.body;if(!r)return null;const s=[];let n=t;for(;n&&1===n.nodeType&&n!==r;)s.unshift(n),n=n.parentElement;const i=[r,...s.filter(e=>e!==r)];let o=null,a=null;for(let t=0;t<i.length;t++){const r=i[t],s=t===i.length-1,n=e(this,Fw,"m",Gw).call(this,r,{isTarget:s,leadsToTarget:!s});o||(o=n),a&&(a.children||(a.children=[]),a.children.push(n)),a=n}const l=a;return l&&t.children.length>0&&(l.children=Array.from(t.children).filter(e=>e instanceof HTMLElement).map(t=>e(this,Fw,"m",Gw).call(this,t,{includeChildren:!0})).filter(Boolean)),o},Vw=function(t){if(!(t instanceof HTMLElement))return null;const r=[];let s=t;for(;s&&1===s.nodeType;)r.unshift(s),s=s.parentElement;let n=null,i=null;for(let t=0;t<r.length;t++){const s=r[t],o=t>=r.length-3,a=t===r.length-1,l=e(this,Fw,"m",Gw).call(this,s,{isTarget:a,leadsToTarget:!0});let c=[l];if(o&&s.parentElement){c=[l,...Array.from(s.parentElement.children).filter(e=>e!==s&&e instanceof HTMLElement).map(t=>e(this,Fw,"m",Gw).call(this,t,{includeChildren:!0})).filter(Boolean)]}n||(n=l),i&&(i.children||(i.children=[]),i.children.push(...c)),i=l}return n},Gw=function t(r,{isTarget:s=!1,includeChildren:n=!1,leadsToTarget:i=!1}={}){var o,a;const l=r.tagName.toLowerCase(),c=r.classList.length?Array.from(r.classList):null,h=r.id||null,u=r.getAttribute("href")||null,p=Array.from((null===(o=r.parentNode)||void 0===o?void 0:o.children)||[]).indexOf(r)+1,d=Array.from((null===(a=r.parentNode)||void 0===a?void 0:a.children)||[]).filter(e=>e instanceof HTMLElement&&e.tagName===r.tagName).indexOf(r)+1,f={};for(let e of Array.from(r.attributes))f[`attr__${e.name}`]=e.value;const m=Array.from(r.childNodes).filter(e=>e.nodeType===Node.TEXT_NODE),g=m.map(e=>{var t;return null===(t=e.textContent)||void 0===t?void 0:t.trim()}).filter(Boolean).join(" ")||null,y={tag_name:l,nth_child:p,nth_of_type:d,attributes:f,...c?{attr_class:c}:{},...h?{attr_id:h}:{},...u?{href:u}:{},...g?{text:g}:{},...s?{is_target:!0}:{},...i&&!s?{leads_to_target:!0}:{}};return(n&&r.children.length>0||s)&&(y.children=Array.from(r.children).filter(e=>e instanceof HTMLElement).map(r=>e(this,Fw,"m",t).call(this,r,{includeChildren:!0})).filter(Boolean)),y},Zw=function(){t(this,Dw,setInterval(()=>{e(this,$w,"f").call(this)},this.intervalTime),"f")},Yw=function(){t(this,Lw,history.pushState,"f"),t(this,Bw,history.replaceState,"f"),history.pushState=(...t)=>{e(this,Lw,"f").apply(history,t),e(this,Fw,"m",Jw).call(this)},history.replaceState=(...t)=>{e(this,Bw,"f").apply(history,t),e(this,Fw,"m",Jw).call(this)},window.addEventListener("popstate",e(this,Uw,"f"))},Jw=function(){if(function(){if("undefined"==typeof window)return!1;const e=window.location.hostname;return"localhost"===e||"127.0.0.1"===e||"::1"===e||e.endsWith(".localhost")}())return;const e={event:"$ul_pageview",properties:this.getPageMetadata()};this.userId&&(e.userId=this.userId),this.events.push(e)},Xw=function(){this.events=[]},Hw=function(){document.removeEventListener("click",e(this,_w,"f"),!0)},Kw=function(){e(this,$w,"f").call(this),clearInterval(e(this,Dw,"f")),e(this,Fw,"m",Xw).call(this)},Qw=function(){history.pushState=e(this,Lw,"f"),history.replaceState=e(this,Bw,"f"),window.removeEventListener("popstate",e(this,Uw,"f"))},exports.EventCollector=class{constructor(t){if(Fw.add(this),this.useLighterSnapshot=!1,this.userContext=null,Dw.set(this,void 0),Lw.set(this,void 0),Bw.set(this,void 0),_w.set(this,e(this,Fw,"m",zw).bind(this)),Uw.set(this,e(this,Fw,"m",Jw).bind(this)),$w.set(this,()=>{if(0===this.events.length)return;const t=[...this.events];if(this.callback){try{this.callback(t)}catch(e){}e(this,Fw,"m",Xw).call(this)}else Promise.allSettled([this.userId&&this.userTraits?Xy({userId:this.userId,traits:this.userTraits}):null,this.groupId?Hy({groupId:this.groupId,traits:this.groupTraits,userId:this.userId}):null,Ky(t)]),e(this,Fw,"m",Xw).call(this)}),"undefined"==typeof window)return;const{userId:r,WRITE_CODE:s,callback:n,intervalTime:i=5e3,skipRawEvents:o=!1,useLighterSnapshot:a=!1}=t,l=t.userTraits,c=t.groupId,h=t.groupTraits;this.autoUploadModeEnabled=!n,this.autoUploadModeEnabled&&!(null==r?void 0:r.length)||this.autoUploadModeEnabled&&!(null==s?void 0:s.length)||(this.autoUploadModeEnabled&&Qy(s),(this.autoUploadModeEnabled||"function"==typeof n)&&(this.userId=r,this.userTraits="object"==typeof l&&null!==l?l:{},this.callback=n,this.intervalTime=i,this.events=[],c&&(this.groupId=c,this.groupTraits="object"==typeof h&&null!==h?h:{}),o||(this.useLighterSnapshot=a,e(this,Fw,"m",jw).call(this),e(this,Fw,"m",Yw).call(this)),e(this,Fw,"m",Zw).call(this),this.userContext=this.getUserContext()))}pushEvent(e){const t={is_raw:!1,...e,properties:{...null==e?void 0:e.properties,...this.getUserContext(),...this.getPageMetadata()}};this.userId&&(t.userId=this.userId),this.events.push(t)}identify(e,t){return Xy({userId:e,traits:t})}group(e,t){return Hy({groupId:e,traits:t,userId:this.userId})}updateUserTraits(e){this.userTraits=e}updateGroupTraits(e){this.groupTraits=e}stop(){e(this,Fw,"m",Hw).call(this),e(this,Fw,"m",Kw).call(this),e(this,Fw,"m",Qw).call(this)}getUserContext(){var e,t,r,s,n,i,o;if(this.userContext)return this.userContext;const a=Iw.getParser(window.navigator.userAgent),l=a.getBrowser(),c=a.getOS(),h={$ul_browser:null!==(e=l.name)&&void 0!==e?e:"Unknown",$ul_browser_version:null!==(t=l.version)&&void 0!==t?t:"Unknown",$ul_os:null!==(r=c.name)&&void 0!==r?r:"Unknown",$ul_os_version:null!==(s=c.versionName)&&void 0!==s?s:"Unknown",$ul_browser_language:null!==(n=navigator.language)&&void 0!==n?n:"en-US",$ul_browser_language_prefix:null!==(o=null===(i=navigator.language)||void 0===i?void 0:i.split("-")[0])&&void 0!==o?o:"en",$ul_screen_width:window.screen.width,$ul_screen_height:window.screen.height,$ul_viewport_width:window.innerWidth,$ul_viewport_height:window.innerHeight,$ul_lib:"userlens.js",$ul_lib_version:"0.1.82",$ul_device_type:/Mobi|Android/i.test(navigator.userAgent)?"Mobile":"Desktop",$ul_timezone:Intl.DateTimeFormat().resolvedOptions().timeZone};return this.userContext=h,h}getPageMetadata(){try{const e=new URL(window.location.href);let t=document.referrer||"$direct",r="$direct";try{t&&/^https?:\/\//.test(t)&&(r=new URL(t).hostname)}catch(e){}const s=e.search.slice(1);return{$ul_page:e.origin+e.pathname,$ul_pathname:e.pathname,$ul_host:e.host,$ul_referrer:t,$ul_referring_domain:r,$ul_query:s}}catch(e){return{$ul_page:"",$ul_pathname:"",$ul_host:"",$ul_referrer:"",$ul_referring_domain:"",$ul_query:""}}}},exports.SessionRecorder=class{constructor({WRITE_CODE:r,userId:s,recordingOptions:n={}}){if(qy.add(this),this.sessionEvents=[],this.rrwebStop=null,ew.set(this,void 0),iw.set(this,()=>{document.visibilityState&&gc()}),"undefined"==typeof window&&console.error("Userlens SDK error: unavailable outside of browser environment."),!(null==r?void 0:r.trim()))throw new Error("Userlens SDK Error: WRITE_CODE is required and must be a string");(null==s?void 0:s.trim())||console.error("Userlens SDK Error: userId is required to identify session user.");const{TIMEOUT:i=18e5,BUFFER_SIZE:o=10,maskingOptions:a=["passwords"]}=n;if("string"!=typeof r)throw new Error("WRITE_CODE must be a string to base64 encode it");Qy(r),this.userId=s,this.TIMEOUT=i,this.BUFFER_SIZE=o,this.maskingOptions=a,this.sessionEvents=[],t(this,ew,e(this,qy,"m",aw).call(this,()=>{e(this,qy,"m",lw).call(this)},5e3),"f"),e(this,qy,"m",tw).call(this)}stop(){this.rrwebStop&&(this.rrwebStop(),this.rrwebStop=null,e(this,qy,"m",cw).call(this),e(this,qy,"m",hw).call(this),window.removeEventListener("visibilitychange",e(this,iw,"f")))}};
|
|
8
|
+
/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */function Ew(){return Ow||(Ow=1,e=Mw,function(t){e.exports=function(e){if(e.CSS&&e.CSS.escape)return e.CSS.escape;var t=function(e){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var t,r=String(e),s=r.length,n=-1,i="",o=r.charCodeAt(0);++n<s;)0!=(t=r.charCodeAt(n))?i+=t>=1&&t<=31||127==t||0==n&&t>=48&&t<=57||1==n&&t>=48&&t<=57&&45==o?"\\"+t.toString(16)+" ":0==n&&1==s&&45==t||!(t>=128||45==t||95==t||t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122)?"\\"+r.charAt(n):r.charAt(n):i+="�";return i};return e.CSS||(e.CSS={}),e.CSS.escape=t,t}(t)}(void 0!==xw?xw:Aw)),Mw.exports;var e}var Rw,Nw,Tw,Pw={};var Fw,Dw,Lw,Bw,_w,Uw,jw,zw,Ww,Vw,Gw,Zw,Yw,Jw,$w,Xw,Hw,Kw,Qw,qw=function(){if(Tw)return Nw;Tw=1,Ew();const{ShadowRootTypes:e,nodeNameInCorrectCase:t,NodeType:r}=(Rw||(Rw=1,Pw.nodeNameInCorrectCase=function(e){const t=e.shadowRoot&&e.shadowRoot.mode;return t?"#shadow-root ("+t+")":e.localName?e.localName.length!==e.nodeName.length?e.nodeName:e.localName:e.nodeName},Pw.shadowRootType=function(e){const t=e.ancestorShadowRoot();return t?t.mode:null},Pw.NodeType={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9},Pw.ShadowRootTypes={UserAgent:"user-agent",Open:"open",Closed:"closed"}),Pw);let s={DOMPath:{}};return s.DOMPath.fullQualifiedSelector=function(e,t){try{return e.nodeType!==r.ELEMENT_NODE?e.localName||e.nodeName.toLowerCase():s.DOMPath.cssPath(e,t)}catch(e){return null}},s.DOMPath.cssPath=function(e,t){if(e.nodeType!==r.ELEMENT_NODE)return"";const n=[];let i=e;for(;i;){const r=s.DOMPath._cssPathStep(i,!!t,i===e);if(!r)break;if(n.push(r),r.optimized)break;i=i.parentNode}return n.reverse(),n.join(" > ")},s.DOMPath.canGetJSPath=function(t){let r=t;for(;r;){if(r.shadowRoot&&r.shadowRoot.mode!==e.Open)return!1;r=r.shadowRoot&&r.shadowRoot.host}return!0},s.DOMPath.jsPath=function(e,t){if(e.nodeType!==r.ELEMENT_NODE)return"";const n=[];let i=e;for(;i;)n.push(s.DOMPath.cssPath(i,t)),i=i.shadowRoot&&i.shadowRoot.host;n.reverse();let o="";for(let e=0;e<n.length;++e){const t=JSON.stringify(n[e]);o+=e?`.shadowRoot.querySelector(${t})`:`document.querySelector(${t})`}return o},s.DOMPath._cssPathStep=function(e,n,i){if(e.nodeType!==r.ELEMENT_NODE)return null;const o=e.getAttribute("id");if(n){if(o)return new s.DOMPath.Step(h(o),!0);const r=e.nodeName.toLowerCase();if("body"===r||"head"===r||"html"===r)return new s.DOMPath.Step(t(e),!0)}const a=t(e);if(o)return new s.DOMPath.Step(a+h(o),!0);const l=e.parentNode;if(!l||l.nodeType===r.DOCUMENT_NODE)return new s.DOMPath.Step(a,!0);function c(e){const t=e.getAttribute("class");return t?t.split(/\s+/g).filter(Boolean).map(function(e){return"$"+e}):[]}function h(e){return"#"+CSS.escape(e)}const u=c(e);let p=!1,d=!1,f=-1,m=-1;const g=l.children;for(let s=0;(-1===f||!d)&&s<g.length;++s){const n=g[s];if(n.nodeType!==r.ELEMENT_NODE)continue;if(m+=1,n===e){f=m;continue}if(d)continue;if(t(n)!==a)continue;p=!0;const i=new Set(u);if(!i.size){d=!0;continue}const o=c(n);for(let e=0;e<o.length;++e){const t=o[e];if(i.has(t)&&(i.delete(t),!i.size)){d=!0;break}}}let y=a;if(i&&"input"===a.toLowerCase()&&e.getAttribute("type")&&!e.getAttribute("id")&&!e.getAttribute("class")&&(y+="[type="+CSS.escape(e.getAttribute("type"))+"]"),d)y+=":nth-child("+(f+1)+")";else if(p)for(const e of u)y+="."+CSS.escape(e.slice(1));return new s.DOMPath.Step(y,!1)},s.DOMPath.xPath=function(e,t){if(e.nodeType===r.DOCUMENT_NODE)return"/";const n=[];let i=e;for(;i;){const e=s.DOMPath._xPathValue(i,t);if(!e)break;if(n.push(e),e.optimized)break;i=i.parentNode}return n.reverse(),(n.length&&n[0].optimized?"":"/")+n.join("/")},s.DOMPath._xPathValue=function(e,t){let n;const i=s.DOMPath._xPathIndex(e);if(-1===i)return null;switch(e.nodeType){case r.ELEMENT_NODE:if(t&&e.getAttribute("id"))return new s.DOMPath.Step('//*[@id="'+e.getAttribute("id")+'"]',!0);n=e.localName;break;case r.ATTRIBUTE_NODE:n="@"+e.nodeName;break;case r.TEXT_NODE:case r.CDATA_SECTION_NODE:n="text()";break;case r.PROCESSING_INSTRUCTION_NODE:n="processing-instruction()";break;case r.COMMENT_NODE:n="comment()";break;case r.DOCUMENT_NODE:default:n=""}return i>0&&(n+="["+i+"]"),new s.DOMPath.Step(n,e.nodeType===r.DOCUMENT_NODE)},s.DOMPath._xPathIndex=function(e){function t(e,t){if(e===t)return!0;if(e.nodeType===r.ELEMENT_NODE&&t.nodeType===r.ELEMENT_NODE)return e.localName===t.localName;if(e.nodeType===t.nodeType)return!0;return(e.nodeType===r.CDATA_SECTION_NODE?r.TEXT_NODE:e.nodeType)===(t.nodeType===r.CDATA_SECTION_NODE?r.TEXT_NODE:t.nodeType)}const s=e.parentNode?e.parentNode.children:null;if(!s)return 0;let n;for(let r=0;r<s.length;++r)if(t(e,s[r])&&s[r]!==e){n=!0;break}if(!n)return 0;let i=1;for(let r=0;r<s.length;++r)if(t(e,s[r])){if(s[r]===e)return i;++i}return-1},s.DOMPath.Step=class{constructor(e,t){this.value=e,this.optimized=t||!1}toString(){return this.value}},Nw=s.DOMPath}(),eb=kw(qw);Dw=new WeakMap,Lw=new WeakMap,Bw=new WeakMap,_w=new WeakMap,Uw=new WeakMap,$w=new WeakMap,Fw=new WeakSet,jw=function(){document.addEventListener("click",e(this,_w,"f"),!0)},zw=function(t){try{const r=t.target;if(!(r instanceof HTMLElement))return;const s=eb.xPath(r,!0),n=this.useLighterSnapshot?e(this,Fw,"m",Ww).call(this,r):e(this,Fw,"m",Vw).call(this,r),i={event:s,is_raw:!0,snapshot:n?[n]:[],properties:{...this.getUserContext(),...this.getPageMetadata()}};this.userId&&(i.userId=this.userId),this.events.push(i),this.events.length>100&&(this.events=this.events.slice(-100))}catch(e){}},Ww=function(t){if(!(t instanceof HTMLElement))return null;const r=document.body;if(!r)return null;const s=[];let n=t;for(;n&&1===n.nodeType&&n!==r;)s.unshift(n),n=n.parentElement;const i=[r,...s.filter(e=>e!==r)];let o=null,a=null;for(let t=0;t<i.length;t++){const r=i[t],s=t===i.length-1,n=e(this,Fw,"m",Gw).call(this,r,{isTarget:s,leadsToTarget:!s});o||(o=n),a&&(a.children||(a.children=[]),a.children.push(n)),a=n}const l=a;return l&&t.children.length>0&&(l.children=Array.from(t.children).filter(e=>e instanceof HTMLElement).map(t=>e(this,Fw,"m",Gw).call(this,t,{includeChildren:!0})).filter(Boolean)),o},Vw=function(t){if(!(t instanceof HTMLElement))return null;const r=[];let s=t;for(;s&&1===s.nodeType;)r.unshift(s),s=s.parentElement;let n=null,i=null;for(let t=0;t<r.length;t++){const s=r[t],o=t>=r.length-3,a=t===r.length-1,l=e(this,Fw,"m",Gw).call(this,s,{isTarget:a,leadsToTarget:!0});let c=[l];if(o&&s.parentElement){c=[l,...Array.from(s.parentElement.children).filter(e=>e!==s&&e instanceof HTMLElement).map(t=>e(this,Fw,"m",Gw).call(this,t,{includeChildren:!0})).filter(Boolean)]}n||(n=l),i&&(i.children||(i.children=[]),i.children.push(...c)),i=l}return n},Gw=function t(r,{isTarget:s=!1,includeChildren:n=!1,leadsToTarget:i=!1}={}){var o,a;const l=r.tagName.toLowerCase(),c=r.classList.length?Array.from(r.classList):null,h=r.id||null,u=r.getAttribute("href")||null,p=Array.from((null===(o=r.parentNode)||void 0===o?void 0:o.children)||[]).indexOf(r)+1,d=Array.from((null===(a=r.parentNode)||void 0===a?void 0:a.children)||[]).filter(e=>e instanceof HTMLElement&&e.tagName===r.tagName).indexOf(r)+1,f={};for(let e of Array.from(r.attributes))f[`attr__${e.name}`]=e.value;const m=Array.from(r.childNodes).filter(e=>e.nodeType===Node.TEXT_NODE),g=m.map(e=>{var t;return null===(t=e.textContent)||void 0===t?void 0:t.trim()}).filter(Boolean).join(" ")||null,y={tag_name:l,nth_child:p,nth_of_type:d,attributes:f,...c?{attr_class:c}:{},...h?{attr_id:h}:{},...u?{href:u}:{},...g?{text:g}:{},...s?{is_target:!0}:{},...i&&!s?{leads_to_target:!0}:{}};return(n&&r.children.length>0||s)&&(y.children=Array.from(r.children).filter(e=>e instanceof HTMLElement).map(r=>e(this,Fw,"m",t).call(this,r,{includeChildren:!0})).filter(Boolean)),y},Zw=function(){t(this,Dw,setInterval(()=>{e(this,$w,"f").call(this)},this.intervalTime),"f")},Yw=function(){t(this,Lw,history.pushState,"f"),t(this,Bw,history.replaceState,"f"),history.pushState=(...t)=>{e(this,Lw,"f").apply(history,t),e(this,Fw,"m",Jw).call(this)},history.replaceState=(...t)=>{e(this,Bw,"f").apply(history,t),e(this,Fw,"m",Jw).call(this)},window.addEventListener("popstate",e(this,Uw,"f"))},Jw=function(){if(function(){if("undefined"==typeof window)return!1;const e=window.location.hostname;return"localhost"===e||"127.0.0.1"===e||"::1"===e||e.endsWith(".localhost")}())return;const e={event:"$ul_pageview",properties:this.getPageMetadata()};this.userId&&(e.userId=this.userId),this.events.push(e)},Xw=function(){this.events=[]},Hw=function(){document.removeEventListener("click",e(this,_w,"f"),!0)},Kw=function(){e(this,$w,"f").call(this),clearInterval(e(this,Dw,"f")),e(this,Fw,"m",Xw).call(this)},Qw=function(){history.pushState=e(this,Lw,"f"),history.replaceState=e(this,Bw,"f"),window.removeEventListener("popstate",e(this,Uw,"f"))},exports.EventCollector=class{constructor(t){if(Fw.add(this),this.useLighterSnapshot=!1,this.userContext=null,Dw.set(this,void 0),Lw.set(this,void 0),Bw.set(this,void 0),_w.set(this,e(this,Fw,"m",zw).bind(this)),Uw.set(this,e(this,Fw,"m",Jw).bind(this)),$w.set(this,()=>{if(0===this.events.length)return;const t=[...this.events];if(this.callback){try{this.callback(t)}catch(e){}e(this,Fw,"m",Xw).call(this)}else Promise.allSettled([this.userId&&this.userTraits?Xy({userId:this.userId,traits:this.userTraits}):null,this.groupId?Hy({groupId:this.groupId,traits:this.groupTraits,userId:this.userId}):null,Ky(t)]),e(this,Fw,"m",Xw).call(this)}),"undefined"==typeof window)return;const{userId:r,WRITE_CODE:s,callback:n,intervalTime:i=5e3,skipRawEvents:o=!1,useLighterSnapshot:a=!1}=t,l=t.userTraits,c=t.groupId,h=t.groupTraits;this.autoUploadModeEnabled=!n,this.autoUploadModeEnabled&&!(null==r?void 0:r.length)||this.autoUploadModeEnabled&&!(null==s?void 0:s.length)||(this.autoUploadModeEnabled&&Qy(s),(this.autoUploadModeEnabled||"function"==typeof n)&&(this.userId=r,this.userTraits="object"==typeof l&&null!==l?l:{},this.callback=n,this.intervalTime=i,this.events=[],c&&(this.groupId=c,this.groupTraits="object"==typeof h&&null!==h?h:{}),o||(this.useLighterSnapshot=a,e(this,Fw,"m",jw).call(this),e(this,Fw,"m",Yw).call(this)),e(this,Fw,"m",Zw).call(this),this.userContext=this.getUserContext()))}pushEvent(e){const t={is_raw:!1,...e,properties:{...null==e?void 0:e.properties,...this.getUserContext(),...this.getPageMetadata()}};this.userId&&(t.userId=this.userId),this.events.push(t)}identify(e,t){return Xy({userId:e,traits:t})}group(e,t){return Hy({groupId:e,traits:t,userId:this.userId})}updateUserTraits(e){this.userTraits=e}updateGroupTraits(e){this.groupTraits=e}stop(){e(this,Fw,"m",Hw).call(this),e(this,Fw,"m",Kw).call(this),e(this,Fw,"m",Qw).call(this)}getUserContext(){var e,t,r,s,n,i,o;if(this.userContext)return this.userContext;const a=Iw.getParser(window.navigator.userAgent),l=a.getBrowser(),c=a.getOS(),h={$ul_browser:null!==(e=l.name)&&void 0!==e?e:"Unknown",$ul_browser_version:null!==(t=l.version)&&void 0!==t?t:"Unknown",$ul_os:null!==(r=c.name)&&void 0!==r?r:"Unknown",$ul_os_version:null!==(s=c.versionName)&&void 0!==s?s:"Unknown",$ul_browser_language:null!==(n=navigator.language)&&void 0!==n?n:"en-US",$ul_browser_language_prefix:null!==(o=null===(i=navigator.language)||void 0===i?void 0:i.split("-")[0])&&void 0!==o?o:"en",$ul_screen_width:window.screen.width,$ul_screen_height:window.screen.height,$ul_viewport_width:window.innerWidth,$ul_viewport_height:window.innerHeight,$ul_lib:"userlens.js",$ul_lib_version:"0.1.83",$ul_device_type:/Mobi|Android/i.test(navigator.userAgent)?"Mobile":"Desktop",$ul_timezone:Intl.DateTimeFormat().resolvedOptions().timeZone};return this.userContext=h,h}getPageMetadata(){try{const e=new URL(window.location.href);let t=document.referrer||"$direct",r="$direct";try{t&&/^https?:\/\//.test(t)&&(r=new URL(t).hostname)}catch(e){}const s=e.search.slice(1);return{$ul_page:e.origin+e.pathname,$ul_pathname:e.pathname,$ul_host:e.host,$ul_referrer:t,$ul_referring_domain:r,$ul_query:s}}catch(e){return{$ul_page:"",$ul_pathname:"",$ul_host:"",$ul_referrer:"",$ul_referring_domain:"",$ul_query:""}}}},exports.SessionRecorder=class{constructor({WRITE_CODE:r,userId:s,recordingOptions:n={}}){if(qy.add(this),this.sessionEvents=[],this.rrwebStop=null,ew.set(this,void 0),iw.set(this,()=>{document.visibilityState&&gc()}),"undefined"==typeof window&&console.error("Userlens SDK error: unavailable outside of browser environment."),!(null==r?void 0:r.trim()))throw new Error("Userlens SDK Error: WRITE_CODE is required and must be a string");(null==s?void 0:s.trim())||console.error("Userlens SDK Error: userId is required to identify session user.");const{TIMEOUT:i=18e5,BUFFER_SIZE:o=10,maskingOptions:a=["passwords"]}=n;if("string"!=typeof r)throw new Error("WRITE_CODE must be a string to base64 encode it");Qy(r),this.userId=s,this.TIMEOUT=i,this.BUFFER_SIZE=o,this.maskingOptions=a,this.sessionEvents=[],t(this,ew,e(this,qy,"m",aw).call(this,()=>{e(this,qy,"m",lw).call(this)},5e3),"f"),e(this,qy,"m",tw).call(this)}stop(){this.rrwebStop&&(this.rrwebStop(),this.rrwebStop=null,e(this,qy,"m",cw).call(this),e(this,qy,"m",hw).call(this),window.removeEventListener("visibilitychange",e(this,iw,"f")))}};
|
|
9
9
|
//# sourceMappingURL=main.cjs.js.map
|
package/dist/main.esm.js
CHANGED
|
@@ -5,5 +5,5 @@ function e(e,t,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was def
|
|
|
5
5
|
* MIT License | (c) Dustin Diaz 2012-2015
|
|
6
6
|
* MIT License | (c) Denis Demchenko 2015-2019
|
|
7
7
|
*/class xw{static getParser(e,t=!1){if("string"!=typeof e)throw new Error("UserAgent should be a string");return new Iw(e,t)}static parse(e){return new Iw(e).getResult()}static get BROWSER_MAP(){return dw}static get ENGINE_MAP(){return gw}static get OS_MAP(){return mw}static get PLATFORMS_MAP(){return fw}}var kw="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Ow(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Mw,Aw={exports:{}},Ew=Aw.exports;
|
|
8
|
-
/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */function Rw(){return Mw||(Mw=1,e=Aw,function(t){e.exports=function(e){if(e.CSS&&e.CSS.escape)return e.CSS.escape;var t=function(e){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var t,r=String(e),s=r.length,n=-1,i="",o=r.charCodeAt(0);++n<s;)0!=(t=r.charCodeAt(n))?i+=t>=1&&t<=31||127==t||0==n&&t>=48&&t<=57||1==n&&t>=48&&t<=57&&45==o?"\\"+t.toString(16)+" ":0==n&&1==s&&45==t||!(t>=128||45==t||95==t||t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122)?"\\"+r.charAt(n):r.charAt(n):i+="�";return i};return e.CSS||(e.CSS={}),e.CSS.escape=t,t}(t)}(void 0!==kw?kw:Ew)),Aw.exports;var e}var Nw,Tw,Pw,Fw={};var Dw,Lw,Bw,_w,Uw,jw,zw,Ww,Vw,Gw,Zw,Yw,Jw,$w,Xw,Hw,Kw,Qw,qw,eb=function(){if(Pw)return Tw;Pw=1,Rw();const{ShadowRootTypes:e,nodeNameInCorrectCase:t,NodeType:r}=(Nw||(Nw=1,Fw.nodeNameInCorrectCase=function(e){const t=e.shadowRoot&&e.shadowRoot.mode;return t?"#shadow-root ("+t+")":e.localName?e.localName.length!==e.nodeName.length?e.nodeName:e.localName:e.nodeName},Fw.shadowRootType=function(e){const t=e.ancestorShadowRoot();return t?t.mode:null},Fw.NodeType={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9},Fw.ShadowRootTypes={UserAgent:"user-agent",Open:"open",Closed:"closed"}),Fw);let s={DOMPath:{}};return s.DOMPath.fullQualifiedSelector=function(e,t){try{return e.nodeType!==r.ELEMENT_NODE?e.localName||e.nodeName.toLowerCase():s.DOMPath.cssPath(e,t)}catch(e){return null}},s.DOMPath.cssPath=function(e,t){if(e.nodeType!==r.ELEMENT_NODE)return"";const n=[];let i=e;for(;i;){const r=s.DOMPath._cssPathStep(i,!!t,i===e);if(!r)break;if(n.push(r),r.optimized)break;i=i.parentNode}return n.reverse(),n.join(" > ")},s.DOMPath.canGetJSPath=function(t){let r=t;for(;r;){if(r.shadowRoot&&r.shadowRoot.mode!==e.Open)return!1;r=r.shadowRoot&&r.shadowRoot.host}return!0},s.DOMPath.jsPath=function(e,t){if(e.nodeType!==r.ELEMENT_NODE)return"";const n=[];let i=e;for(;i;)n.push(s.DOMPath.cssPath(i,t)),i=i.shadowRoot&&i.shadowRoot.host;n.reverse();let o="";for(let e=0;e<n.length;++e){const t=JSON.stringify(n[e]);o+=e?`.shadowRoot.querySelector(${t})`:`document.querySelector(${t})`}return o},s.DOMPath._cssPathStep=function(e,n,i){if(e.nodeType!==r.ELEMENT_NODE)return null;const o=e.getAttribute("id");if(n){if(o)return new s.DOMPath.Step(h(o),!0);const r=e.nodeName.toLowerCase();if("body"===r||"head"===r||"html"===r)return new s.DOMPath.Step(t(e),!0)}const a=t(e);if(o)return new s.DOMPath.Step(a+h(o),!0);const l=e.parentNode;if(!l||l.nodeType===r.DOCUMENT_NODE)return new s.DOMPath.Step(a,!0);function c(e){const t=e.getAttribute("class");return t?t.split(/\s+/g).filter(Boolean).map(function(e){return"$"+e}):[]}function h(e){return"#"+CSS.escape(e)}const u=c(e);let p=!1,d=!1,f=-1,m=-1;const g=l.children;for(let s=0;(-1===f||!d)&&s<g.length;++s){const n=g[s];if(n.nodeType!==r.ELEMENT_NODE)continue;if(m+=1,n===e){f=m;continue}if(d)continue;if(t(n)!==a)continue;p=!0;const i=new Set(u);if(!i.size){d=!0;continue}const o=c(n);for(let e=0;e<o.length;++e){const t=o[e];if(i.has(t)&&(i.delete(t),!i.size)){d=!0;break}}}let y=a;if(i&&"input"===a.toLowerCase()&&e.getAttribute("type")&&!e.getAttribute("id")&&!e.getAttribute("class")&&(y+="[type="+CSS.escape(e.getAttribute("type"))+"]"),d)y+=":nth-child("+(f+1)+")";else if(p)for(const e of u)y+="."+CSS.escape(e.slice(1));return new s.DOMPath.Step(y,!1)},s.DOMPath.xPath=function(e,t){if(e.nodeType===r.DOCUMENT_NODE)return"/";const n=[];let i=e;for(;i;){const e=s.DOMPath._xPathValue(i,t);if(!e)break;if(n.push(e),e.optimized)break;i=i.parentNode}return n.reverse(),(n.length&&n[0].optimized?"":"/")+n.join("/")},s.DOMPath._xPathValue=function(e,t){let n;const i=s.DOMPath._xPathIndex(e);if(-1===i)return null;switch(e.nodeType){case r.ELEMENT_NODE:if(t&&e.getAttribute("id"))return new s.DOMPath.Step('//*[@id="'+e.getAttribute("id")+'"]',!0);n=e.localName;break;case r.ATTRIBUTE_NODE:n="@"+e.nodeName;break;case r.TEXT_NODE:case r.CDATA_SECTION_NODE:n="text()";break;case r.PROCESSING_INSTRUCTION_NODE:n="processing-instruction()";break;case r.COMMENT_NODE:n="comment()";break;case r.DOCUMENT_NODE:default:n=""}return i>0&&(n+="["+i+"]"),new s.DOMPath.Step(n,e.nodeType===r.DOCUMENT_NODE)},s.DOMPath._xPathIndex=function(e){function t(e,t){if(e===t)return!0;if(e.nodeType===r.ELEMENT_NODE&&t.nodeType===r.ELEMENT_NODE)return e.localName===t.localName;if(e.nodeType===t.nodeType)return!0;return(e.nodeType===r.CDATA_SECTION_NODE?r.TEXT_NODE:e.nodeType)===(t.nodeType===r.CDATA_SECTION_NODE?r.TEXT_NODE:t.nodeType)}const s=e.parentNode?e.parentNode.children:null;if(!s)return 0;let n;for(let r=0;r<s.length;++r)if(t(e,s[r])&&s[r]!==e){n=!0;break}if(!n)return 0;let i=1;for(let r=0;r<s.length;++r)if(t(e,s[r])){if(s[r]===e)return i;++i}return-1},s.DOMPath.Step=class{constructor(e,t){this.value=e,this.optimized=t||!1}toString(){return this.value}},Tw=s.DOMPath}(),tb=Ow(eb);class rb{constructor(t){if(Dw.add(this),this.useLighterSnapshot=!1,this.userContext=null,Lw.set(this,void 0),Bw.set(this,void 0),_w.set(this,void 0),Uw.set(this,e(this,Dw,"m",Ww).bind(this)),jw.set(this,e(this,Dw,"m",$w).bind(this)),Xw.set(this,()=>{if(0===this.events.length)return;const t=[...this.events];if(this.callback){try{this.callback(t)}catch(e){}e(this,Dw,"m",Hw).call(this)}else Promise.allSettled([this.userId&&this.userTraits?Xy({userId:this.userId,traits:this.userTraits}):null,this.groupId?Hy({groupId:this.groupId,traits:this.groupTraits,userId:this.userId}):null,Ky(t)]),e(this,Dw,"m",Hw).call(this)}),"undefined"==typeof window)return;const{userId:r,WRITE_CODE:s,callback:n,intervalTime:i=5e3,skipRawEvents:o=!1,useLighterSnapshot:a=!1}=t,l=t.userTraits,c=t.groupId,h=t.groupTraits;this.autoUploadModeEnabled=!n,this.autoUploadModeEnabled&&!(null==r?void 0:r.length)||this.autoUploadModeEnabled&&!(null==s?void 0:s.length)||(this.autoUploadModeEnabled&&Qy(s),(this.autoUploadModeEnabled||"function"==typeof n)&&(this.userId=r,this.userTraits="object"==typeof l&&null!==l?l:{},this.callback=n,this.intervalTime=i,this.events=[],c&&(this.groupId=c,this.groupTraits="object"==typeof h&&null!==h?h:{}),o||(this.useLighterSnapshot=a,e(this,Dw,"m",zw).call(this),e(this,Dw,"m",Jw).call(this)),e(this,Dw,"m",Yw).call(this),this.userContext=this.getUserContext()))}pushEvent(e){const t={is_raw:!1,...e,properties:{...null==e?void 0:e.properties,...this.getUserContext(),...this.getPageMetadata()}};this.userId&&(t.userId=this.userId),this.events.push(t)}identify(e,t){return Xy({userId:e,traits:t})}group(e,t){return Hy({groupId:e,traits:t,userId:this.userId})}updateUserTraits(e){this.userTraits=e}updateGroupTraits(e){this.groupTraits=e}stop(){e(this,Dw,"m",Kw).call(this),e(this,Dw,"m",Qw).call(this),e(this,Dw,"m",qw).call(this)}getUserContext(){var e,t,r,s,n,i,o;if(this.userContext)return this.userContext;const a=xw.getParser(window.navigator.userAgent),l=a.getBrowser(),c=a.getOS(),h={$ul_browser:null!==(e=l.name)&&void 0!==e?e:"Unknown",$ul_browser_version:null!==(t=l.version)&&void 0!==t?t:"Unknown",$ul_os:null!==(r=c.name)&&void 0!==r?r:"Unknown",$ul_os_version:null!==(s=c.versionName)&&void 0!==s?s:"Unknown",$ul_browser_language:null!==(n=navigator.language)&&void 0!==n?n:"en-US",$ul_browser_language_prefix:null!==(o=null===(i=navigator.language)||void 0===i?void 0:i.split("-")[0])&&void 0!==o?o:"en",$ul_screen_width:window.screen.width,$ul_screen_height:window.screen.height,$ul_viewport_width:window.innerWidth,$ul_viewport_height:window.innerHeight,$ul_lib:"userlens.js",$ul_lib_version:"0.1.82",$ul_device_type:/Mobi|Android/i.test(navigator.userAgent)?"Mobile":"Desktop",$ul_timezone:Intl.DateTimeFormat().resolvedOptions().timeZone};return this.userContext=h,h}getPageMetadata(){try{const e=new URL(window.location.href);let t=document.referrer||"$direct",r="$direct";try{t&&/^https?:\/\//.test(t)&&(r=new URL(t).hostname)}catch(e){}const s=e.search.slice(1);return{$ul_page:e.origin+e.pathname,$ul_pathname:e.pathname,$ul_host:e.host,$ul_referrer:t,$ul_referring_domain:r,$ul_query:s}}catch(e){return{$ul_page:"",$ul_pathname:"",$ul_host:"",$ul_referrer:"",$ul_referring_domain:"",$ul_query:""}}}}Lw=new WeakMap,Bw=new WeakMap,_w=new WeakMap,Uw=new WeakMap,jw=new WeakMap,Xw=new WeakMap,Dw=new WeakSet,zw=function(){document.addEventListener("click",e(this,Uw,"f"),!0)},Ww=function(t){try{const r=t.target;if(!(r instanceof HTMLElement))return;const s=tb.xPath(r,!0),n=this.useLighterSnapshot?e(this,Dw,"m",Vw).call(this,r):e(this,Dw,"m",Gw).call(this,r),i={event:s,is_raw:!0,snapshot:n?[n]:[],properties:{...this.getUserContext(),...this.getPageMetadata()}};this.userId&&(i.userId=this.userId),this.events.push(i),this.events.length>100&&(this.events=this.events.slice(-100))}catch(e){}},Vw=function(t){if(!(t instanceof HTMLElement))return null;const r=document.body;if(!r)return null;const s=[];let n=t;for(;n&&1===n.nodeType&&n!==r;)s.unshift(n),n=n.parentElement;const i=[r,...s.filter(e=>e!==r)];let o=null,a=null;for(let t=0;t<i.length;t++){const r=i[t],s=t===i.length-1,n=e(this,Dw,"m",Zw).call(this,r,{isTarget:s,leadsToTarget:!s});o||(o=n),a&&(a.children||(a.children=[]),a.children.push(n)),a=n}const l=a;return l&&t.children.length>0&&(l.children=Array.from(t.children).filter(e=>e instanceof HTMLElement).map(t=>e(this,Dw,"m",Zw).call(this,t,{includeChildren:!0})).filter(Boolean)),o},Gw=function(t){if(!(t instanceof HTMLElement))return null;const r=[];let s=t;for(;s&&1===s.nodeType;)r.unshift(s),s=s.parentElement;let n=null,i=null;for(let t=0;t<r.length;t++){const s=r[t],o=t>=r.length-3,a=t===r.length-1,l=e(this,Dw,"m",Zw).call(this,s,{isTarget:a,leadsToTarget:!0});let c=[l];if(o&&s.parentElement){c=[l,...Array.from(s.parentElement.children).filter(e=>e!==s&&e instanceof HTMLElement).map(t=>e(this,Dw,"m",Zw).call(this,t,{includeChildren:!0})).filter(Boolean)]}n||(n=l),i&&(i.children||(i.children=[]),i.children.push(...c)),i=l}return n},Zw=function t(r,{isTarget:s=!1,includeChildren:n=!1,leadsToTarget:i=!1}={}){var o,a;const l=r.tagName.toLowerCase(),c=r.classList.length?Array.from(r.classList):null,h=r.id||null,u=r.getAttribute("href")||null,p=Array.from((null===(o=r.parentNode)||void 0===o?void 0:o.children)||[]).indexOf(r)+1,d=Array.from((null===(a=r.parentNode)||void 0===a?void 0:a.children)||[]).filter(e=>e instanceof HTMLElement&&e.tagName===r.tagName).indexOf(r)+1,f={};for(let e of Array.from(r.attributes))f[`attr__${e.name}`]=e.value;const m=Array.from(r.childNodes).filter(e=>e.nodeType===Node.TEXT_NODE),g=m.map(e=>{var t;return null===(t=e.textContent)||void 0===t?void 0:t.trim()}).filter(Boolean).join(" ")||null,y={tag_name:l,nth_child:p,nth_of_type:d,attributes:f,...c?{attr_class:c}:{},...h?{attr_id:h}:{},...u?{href:u}:{},...g?{text:g}:{},...s?{is_target:!0}:{},...i&&!s?{leads_to_target:!0}:{}};return(n&&r.children.length>0||s)&&(y.children=Array.from(r.children).filter(e=>e instanceof HTMLElement).map(r=>e(this,Dw,"m",t).call(this,r,{includeChildren:!0})).filter(Boolean)),y},Yw=function(){t(this,Lw,setInterval(()=>{e(this,Xw,"f").call(this)},this.intervalTime),"f")},Jw=function(){t(this,Bw,history.pushState,"f"),t(this,_w,history.replaceState,"f"),history.pushState=(...t)=>{e(this,Bw,"f").apply(history,t),e(this,Dw,"m",$w).call(this)},history.replaceState=(...t)=>{e(this,_w,"f").apply(history,t),e(this,Dw,"m",$w).call(this)},window.addEventListener("popstate",e(this,jw,"f"))},$w=function(){if(function(){if("undefined"==typeof window)return!1;const e=window.location.hostname;return"localhost"===e||"127.0.0.1"===e||"::1"===e||e.endsWith(".localhost")}())return;const e={event:"$ul_pageview",properties:this.getPageMetadata()};this.userId&&(e.userId=this.userId),this.events.push(e)},Hw=function(){this.events=[]},Kw=function(){document.removeEventListener("click",e(this,Uw,"f"),!0)},Qw=function(){e(this,Xw,"f").call(this),clearInterval(e(this,Lw,"f")),e(this,Dw,"m",Hw).call(this)},qw=function(){history.pushState=e(this,Bw,"f"),history.replaceState=e(this,_w,"f"),window.removeEventListener("popstate",e(this,jw,"f"))};export{rb as EventCollector,uw as SessionRecorder};
|
|
8
|
+
/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */function Rw(){return Mw||(Mw=1,e=Aw,function(t){e.exports=function(e){if(e.CSS&&e.CSS.escape)return e.CSS.escape;var t=function(e){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var t,r=String(e),s=r.length,n=-1,i="",o=r.charCodeAt(0);++n<s;)0!=(t=r.charCodeAt(n))?i+=t>=1&&t<=31||127==t||0==n&&t>=48&&t<=57||1==n&&t>=48&&t<=57&&45==o?"\\"+t.toString(16)+" ":0==n&&1==s&&45==t||!(t>=128||45==t||95==t||t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122)?"\\"+r.charAt(n):r.charAt(n):i+="�";return i};return e.CSS||(e.CSS={}),e.CSS.escape=t,t}(t)}(void 0!==kw?kw:Ew)),Aw.exports;var e}var Nw,Tw,Pw,Fw={};var Dw,Lw,Bw,_w,Uw,jw,zw,Ww,Vw,Gw,Zw,Yw,Jw,$w,Xw,Hw,Kw,Qw,qw,eb=function(){if(Pw)return Tw;Pw=1,Rw();const{ShadowRootTypes:e,nodeNameInCorrectCase:t,NodeType:r}=(Nw||(Nw=1,Fw.nodeNameInCorrectCase=function(e){const t=e.shadowRoot&&e.shadowRoot.mode;return t?"#shadow-root ("+t+")":e.localName?e.localName.length!==e.nodeName.length?e.nodeName:e.localName:e.nodeName},Fw.shadowRootType=function(e){const t=e.ancestorShadowRoot();return t?t.mode:null},Fw.NodeType={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9},Fw.ShadowRootTypes={UserAgent:"user-agent",Open:"open",Closed:"closed"}),Fw);let s={DOMPath:{}};return s.DOMPath.fullQualifiedSelector=function(e,t){try{return e.nodeType!==r.ELEMENT_NODE?e.localName||e.nodeName.toLowerCase():s.DOMPath.cssPath(e,t)}catch(e){return null}},s.DOMPath.cssPath=function(e,t){if(e.nodeType!==r.ELEMENT_NODE)return"";const n=[];let i=e;for(;i;){const r=s.DOMPath._cssPathStep(i,!!t,i===e);if(!r)break;if(n.push(r),r.optimized)break;i=i.parentNode}return n.reverse(),n.join(" > ")},s.DOMPath.canGetJSPath=function(t){let r=t;for(;r;){if(r.shadowRoot&&r.shadowRoot.mode!==e.Open)return!1;r=r.shadowRoot&&r.shadowRoot.host}return!0},s.DOMPath.jsPath=function(e,t){if(e.nodeType!==r.ELEMENT_NODE)return"";const n=[];let i=e;for(;i;)n.push(s.DOMPath.cssPath(i,t)),i=i.shadowRoot&&i.shadowRoot.host;n.reverse();let o="";for(let e=0;e<n.length;++e){const t=JSON.stringify(n[e]);o+=e?`.shadowRoot.querySelector(${t})`:`document.querySelector(${t})`}return o},s.DOMPath._cssPathStep=function(e,n,i){if(e.nodeType!==r.ELEMENT_NODE)return null;const o=e.getAttribute("id");if(n){if(o)return new s.DOMPath.Step(h(o),!0);const r=e.nodeName.toLowerCase();if("body"===r||"head"===r||"html"===r)return new s.DOMPath.Step(t(e),!0)}const a=t(e);if(o)return new s.DOMPath.Step(a+h(o),!0);const l=e.parentNode;if(!l||l.nodeType===r.DOCUMENT_NODE)return new s.DOMPath.Step(a,!0);function c(e){const t=e.getAttribute("class");return t?t.split(/\s+/g).filter(Boolean).map(function(e){return"$"+e}):[]}function h(e){return"#"+CSS.escape(e)}const u=c(e);let p=!1,d=!1,f=-1,m=-1;const g=l.children;for(let s=0;(-1===f||!d)&&s<g.length;++s){const n=g[s];if(n.nodeType!==r.ELEMENT_NODE)continue;if(m+=1,n===e){f=m;continue}if(d)continue;if(t(n)!==a)continue;p=!0;const i=new Set(u);if(!i.size){d=!0;continue}const o=c(n);for(let e=0;e<o.length;++e){const t=o[e];if(i.has(t)&&(i.delete(t),!i.size)){d=!0;break}}}let y=a;if(i&&"input"===a.toLowerCase()&&e.getAttribute("type")&&!e.getAttribute("id")&&!e.getAttribute("class")&&(y+="[type="+CSS.escape(e.getAttribute("type"))+"]"),d)y+=":nth-child("+(f+1)+")";else if(p)for(const e of u)y+="."+CSS.escape(e.slice(1));return new s.DOMPath.Step(y,!1)},s.DOMPath.xPath=function(e,t){if(e.nodeType===r.DOCUMENT_NODE)return"/";const n=[];let i=e;for(;i;){const e=s.DOMPath._xPathValue(i,t);if(!e)break;if(n.push(e),e.optimized)break;i=i.parentNode}return n.reverse(),(n.length&&n[0].optimized?"":"/")+n.join("/")},s.DOMPath._xPathValue=function(e,t){let n;const i=s.DOMPath._xPathIndex(e);if(-1===i)return null;switch(e.nodeType){case r.ELEMENT_NODE:if(t&&e.getAttribute("id"))return new s.DOMPath.Step('//*[@id="'+e.getAttribute("id")+'"]',!0);n=e.localName;break;case r.ATTRIBUTE_NODE:n="@"+e.nodeName;break;case r.TEXT_NODE:case r.CDATA_SECTION_NODE:n="text()";break;case r.PROCESSING_INSTRUCTION_NODE:n="processing-instruction()";break;case r.COMMENT_NODE:n="comment()";break;case r.DOCUMENT_NODE:default:n=""}return i>0&&(n+="["+i+"]"),new s.DOMPath.Step(n,e.nodeType===r.DOCUMENT_NODE)},s.DOMPath._xPathIndex=function(e){function t(e,t){if(e===t)return!0;if(e.nodeType===r.ELEMENT_NODE&&t.nodeType===r.ELEMENT_NODE)return e.localName===t.localName;if(e.nodeType===t.nodeType)return!0;return(e.nodeType===r.CDATA_SECTION_NODE?r.TEXT_NODE:e.nodeType)===(t.nodeType===r.CDATA_SECTION_NODE?r.TEXT_NODE:t.nodeType)}const s=e.parentNode?e.parentNode.children:null;if(!s)return 0;let n;for(let r=0;r<s.length;++r)if(t(e,s[r])&&s[r]!==e){n=!0;break}if(!n)return 0;let i=1;for(let r=0;r<s.length;++r)if(t(e,s[r])){if(s[r]===e)return i;++i}return-1},s.DOMPath.Step=class{constructor(e,t){this.value=e,this.optimized=t||!1}toString(){return this.value}},Tw=s.DOMPath}(),tb=Ow(eb);class rb{constructor(t){if(Dw.add(this),this.useLighterSnapshot=!1,this.userContext=null,Lw.set(this,void 0),Bw.set(this,void 0),_w.set(this,void 0),Uw.set(this,e(this,Dw,"m",Ww).bind(this)),jw.set(this,e(this,Dw,"m",$w).bind(this)),Xw.set(this,()=>{if(0===this.events.length)return;const t=[...this.events];if(this.callback){try{this.callback(t)}catch(e){}e(this,Dw,"m",Hw).call(this)}else Promise.allSettled([this.userId&&this.userTraits?Xy({userId:this.userId,traits:this.userTraits}):null,this.groupId?Hy({groupId:this.groupId,traits:this.groupTraits,userId:this.userId}):null,Ky(t)]),e(this,Dw,"m",Hw).call(this)}),"undefined"==typeof window)return;const{userId:r,WRITE_CODE:s,callback:n,intervalTime:i=5e3,skipRawEvents:o=!1,useLighterSnapshot:a=!1}=t,l=t.userTraits,c=t.groupId,h=t.groupTraits;this.autoUploadModeEnabled=!n,this.autoUploadModeEnabled&&!(null==r?void 0:r.length)||this.autoUploadModeEnabled&&!(null==s?void 0:s.length)||(this.autoUploadModeEnabled&&Qy(s),(this.autoUploadModeEnabled||"function"==typeof n)&&(this.userId=r,this.userTraits="object"==typeof l&&null!==l?l:{},this.callback=n,this.intervalTime=i,this.events=[],c&&(this.groupId=c,this.groupTraits="object"==typeof h&&null!==h?h:{}),o||(this.useLighterSnapshot=a,e(this,Dw,"m",zw).call(this),e(this,Dw,"m",Jw).call(this)),e(this,Dw,"m",Yw).call(this),this.userContext=this.getUserContext()))}pushEvent(e){const t={is_raw:!1,...e,properties:{...null==e?void 0:e.properties,...this.getUserContext(),...this.getPageMetadata()}};this.userId&&(t.userId=this.userId),this.events.push(t)}identify(e,t){return Xy({userId:e,traits:t})}group(e,t){return Hy({groupId:e,traits:t,userId:this.userId})}updateUserTraits(e){this.userTraits=e}updateGroupTraits(e){this.groupTraits=e}stop(){e(this,Dw,"m",Kw).call(this),e(this,Dw,"m",Qw).call(this),e(this,Dw,"m",qw).call(this)}getUserContext(){var e,t,r,s,n,i,o;if(this.userContext)return this.userContext;const a=xw.getParser(window.navigator.userAgent),l=a.getBrowser(),c=a.getOS(),h={$ul_browser:null!==(e=l.name)&&void 0!==e?e:"Unknown",$ul_browser_version:null!==(t=l.version)&&void 0!==t?t:"Unknown",$ul_os:null!==(r=c.name)&&void 0!==r?r:"Unknown",$ul_os_version:null!==(s=c.versionName)&&void 0!==s?s:"Unknown",$ul_browser_language:null!==(n=navigator.language)&&void 0!==n?n:"en-US",$ul_browser_language_prefix:null!==(o=null===(i=navigator.language)||void 0===i?void 0:i.split("-")[0])&&void 0!==o?o:"en",$ul_screen_width:window.screen.width,$ul_screen_height:window.screen.height,$ul_viewport_width:window.innerWidth,$ul_viewport_height:window.innerHeight,$ul_lib:"userlens.js",$ul_lib_version:"0.1.83",$ul_device_type:/Mobi|Android/i.test(navigator.userAgent)?"Mobile":"Desktop",$ul_timezone:Intl.DateTimeFormat().resolvedOptions().timeZone};return this.userContext=h,h}getPageMetadata(){try{const e=new URL(window.location.href);let t=document.referrer||"$direct",r="$direct";try{t&&/^https?:\/\//.test(t)&&(r=new URL(t).hostname)}catch(e){}const s=e.search.slice(1);return{$ul_page:e.origin+e.pathname,$ul_pathname:e.pathname,$ul_host:e.host,$ul_referrer:t,$ul_referring_domain:r,$ul_query:s}}catch(e){return{$ul_page:"",$ul_pathname:"",$ul_host:"",$ul_referrer:"",$ul_referring_domain:"",$ul_query:""}}}}Lw=new WeakMap,Bw=new WeakMap,_w=new WeakMap,Uw=new WeakMap,jw=new WeakMap,Xw=new WeakMap,Dw=new WeakSet,zw=function(){document.addEventListener("click",e(this,Uw,"f"),!0)},Ww=function(t){try{const r=t.target;if(!(r instanceof HTMLElement))return;const s=tb.xPath(r,!0),n=this.useLighterSnapshot?e(this,Dw,"m",Vw).call(this,r):e(this,Dw,"m",Gw).call(this,r),i={event:s,is_raw:!0,snapshot:n?[n]:[],properties:{...this.getUserContext(),...this.getPageMetadata()}};this.userId&&(i.userId=this.userId),this.events.push(i),this.events.length>100&&(this.events=this.events.slice(-100))}catch(e){}},Vw=function(t){if(!(t instanceof HTMLElement))return null;const r=document.body;if(!r)return null;const s=[];let n=t;for(;n&&1===n.nodeType&&n!==r;)s.unshift(n),n=n.parentElement;const i=[r,...s.filter(e=>e!==r)];let o=null,a=null;for(let t=0;t<i.length;t++){const r=i[t],s=t===i.length-1,n=e(this,Dw,"m",Zw).call(this,r,{isTarget:s,leadsToTarget:!s});o||(o=n),a&&(a.children||(a.children=[]),a.children.push(n)),a=n}const l=a;return l&&t.children.length>0&&(l.children=Array.from(t.children).filter(e=>e instanceof HTMLElement).map(t=>e(this,Dw,"m",Zw).call(this,t,{includeChildren:!0})).filter(Boolean)),o},Gw=function(t){if(!(t instanceof HTMLElement))return null;const r=[];let s=t;for(;s&&1===s.nodeType;)r.unshift(s),s=s.parentElement;let n=null,i=null;for(let t=0;t<r.length;t++){const s=r[t],o=t>=r.length-3,a=t===r.length-1,l=e(this,Dw,"m",Zw).call(this,s,{isTarget:a,leadsToTarget:!0});let c=[l];if(o&&s.parentElement){c=[l,...Array.from(s.parentElement.children).filter(e=>e!==s&&e instanceof HTMLElement).map(t=>e(this,Dw,"m",Zw).call(this,t,{includeChildren:!0})).filter(Boolean)]}n||(n=l),i&&(i.children||(i.children=[]),i.children.push(...c)),i=l}return n},Zw=function t(r,{isTarget:s=!1,includeChildren:n=!1,leadsToTarget:i=!1}={}){var o,a;const l=r.tagName.toLowerCase(),c=r.classList.length?Array.from(r.classList):null,h=r.id||null,u=r.getAttribute("href")||null,p=Array.from((null===(o=r.parentNode)||void 0===o?void 0:o.children)||[]).indexOf(r)+1,d=Array.from((null===(a=r.parentNode)||void 0===a?void 0:a.children)||[]).filter(e=>e instanceof HTMLElement&&e.tagName===r.tagName).indexOf(r)+1,f={};for(let e of Array.from(r.attributes))f[`attr__${e.name}`]=e.value;const m=Array.from(r.childNodes).filter(e=>e.nodeType===Node.TEXT_NODE),g=m.map(e=>{var t;return null===(t=e.textContent)||void 0===t?void 0:t.trim()}).filter(Boolean).join(" ")||null,y={tag_name:l,nth_child:p,nth_of_type:d,attributes:f,...c?{attr_class:c}:{},...h?{attr_id:h}:{},...u?{href:u}:{},...g?{text:g}:{},...s?{is_target:!0}:{},...i&&!s?{leads_to_target:!0}:{}};return(n&&r.children.length>0||s)&&(y.children=Array.from(r.children).filter(e=>e instanceof HTMLElement).map(r=>e(this,Dw,"m",t).call(this,r,{includeChildren:!0})).filter(Boolean)),y},Yw=function(){t(this,Lw,setInterval(()=>{e(this,Xw,"f").call(this)},this.intervalTime),"f")},Jw=function(){t(this,Bw,history.pushState,"f"),t(this,_w,history.replaceState,"f"),history.pushState=(...t)=>{e(this,Bw,"f").apply(history,t),e(this,Dw,"m",$w).call(this)},history.replaceState=(...t)=>{e(this,_w,"f").apply(history,t),e(this,Dw,"m",$w).call(this)},window.addEventListener("popstate",e(this,jw,"f"))},$w=function(){if(function(){if("undefined"==typeof window)return!1;const e=window.location.hostname;return"localhost"===e||"127.0.0.1"===e||"::1"===e||e.endsWith(".localhost")}())return;const e={event:"$ul_pageview",properties:this.getPageMetadata()};this.userId&&(e.userId=this.userId),this.events.push(e)},Hw=function(){this.events=[]},Kw=function(){document.removeEventListener("click",e(this,Uw,"f"),!0)},Qw=function(){e(this,Xw,"f").call(this),clearInterval(e(this,Lw,"f")),e(this,Dw,"m",Hw).call(this)},qw=function(){history.pushState=e(this,Bw,"f"),history.replaceState=e(this,_w,"f"),window.removeEventListener("popstate",e(this,jw,"f"))};export{rb as EventCollector,uw as SessionRecorder};
|
|
9
9
|
//# sourceMappingURL=main.esm.js.map
|
package/dist/react.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),l=require("./main.cjs.js");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),l=require("./main.cjs.js");const o=r.createContext({collector:null,sessionRecorder:null});exports.default=({children:n,config:i})=>{const[u,s]=r.useState(null),[t,d]=r.useState(null),v=r.useRef(null),c=r.useRef(null),a=r.useRef(void 0);r.useEffect(()=>{var e,r,o,n,u,t,d,c;if("undefined"==typeof window)return void console.error("UserlensProvider: unavailable outside of browser environment.");if(!i)return void console.error("UserlensProvider: config is required.");if((null==a?void 0:a.current)===(null==i?void 0:i.userId))return;if(a.current=null==i?void 0:i.userId,v.current)return void console.warn("UserlensProvider: EventCollector already initialized.");let f;f="function"==typeof(null===(e=null==i?void 0:i.eventCollector)||void 0===e?void 0:e.callback)?{callback:null===(r=null==i?void 0:i.eventCollector)||void 0===r?void 0:r.callback,intervalTime:null===(o=null==i?void 0:i.eventCollector)||void 0===o?void 0:o.intervalTime,skipRawEvents:null===(n=null==i?void 0:i.eventCollector)||void 0===n?void 0:n.skipRawEvents,useLighterSnapshot:null===(u=null==i?void 0:i.eventCollector)||void 0===u?void 0:u.useLighterSnapshot}:{userId:null==i?void 0:i.userId,groupId:null==i?void 0:i.groupId,groupTraits:null==i?void 0:i.groupTraits,WRITE_CODE:null==i?void 0:i.WRITE_CODE,userTraits:null==i?void 0:i.userTraits,intervalTime:null===(t=null==i?void 0:i.eventCollector)||void 0===t?void 0:t.intervalTime,skipRawEvents:null===(d=null==i?void 0:i.eventCollector)||void 0===d?void 0:d.skipRawEvents,useLighterSnapshot:null===(c=null==i?void 0:i.eventCollector)||void 0===c?void 0:c.useLighterSnapshot};const p=new l.EventCollector(f);v.current=p,s(p)},[null==i?void 0:i.userId]),r.useEffect(()=>{(null==i?void 0:i.userTraits)&&u&&(null==u||u.updateUserTraits(null==i?void 0:i.userTraits))},[null==i?void 0:i.userTraits]);const f=r.useRef(void 0);return r.useEffect(()=>{if(!i)return void console.error("UserlensProvider: config is required.");if(!1===(null==i?void 0:i.enableSessionReplay))return;if(!(null==i?void 0:i.WRITE_CODE)||!(null==i?void 0:i.userId))return void console.error("UserlensProvider: WRITE_CODE and userId are required for session recording.");if((null==f?void 0:f.current)===(null==i?void 0:i.userId))return;if(null==c?void 0:c.current)return void console.warn("UserlensProvider: SessionRecorder already initialized.");f.current=null==i?void 0:i.userId;const e=new l.SessionRecorder({WRITE_CODE:null==i?void 0:i.WRITE_CODE,userId:null==i?void 0:i.userId,recordingOptions:null==i?void 0:i.sessionRecorder});return c.current=e,d(e),()=>{null==e||e.stop()}},[null==i?void 0:i.userId,null==i?void 0:i.enableSessionReplay]),e.jsx(o.Provider,{value:{collector:u,sessionRecorder:t},children:n})},exports.useUserlens=()=>{const e=r.useContext(o);if(!e)throw new Error("useUserlens must be used within a <UserlensProvider>");return e};
|
|
2
2
|
//# sourceMappingURL=react.cjs.js.map
|
package/dist/react.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.cjs.js","sources":["../src/react/index.tsx"],"sourcesContent":null,"names":["UserlensContext","createContext","collector","sessionRecorder","children","config","eventCollector","setEventCollector","useState","setSessionRecorder","collectorRef","useRef","sessionRecorderRef","lastUserIdRefEc","undefined","useEffect","window","console","error","current","userId","warn","ecConfig","_a","callback","_b","intervalTime","_c","skipRawEvents","_d","useLighterSnapshot","_e","WRITE_CODE","userTraits","_f","_g","_h","EventCollector","updateUserTraits","lastUserIdRefSr","enableSessionReplay","sr","SessionRecorder","recordingOptions","stop","_jsx","Provider","value","ctx","useContext","Error"],"mappings":"qJAWA,MAAMA,EAAkBC,EAAAA,cAAmC,CACzDC,UAAW,KACXC,gBAAiB,uBAMd,EAAGC,WAAUC,aAChB,MAAOC,EAAgBC,GAAqBC,EAAAA,SAC1C,OAEKL,EAAiBM,GACtBD,EAAAA,SAAiC,MAE7BE,EAAeC,EAAAA,OAA8B,MAC7CC,EAAqBD,EAAAA,OAA+B,MAEpDE,EAAkBF,EAAAA,YAA2BG,GACnDC,EAAAA,UAAU,yBACR,GAAsB,oBAAXC,OAIT,YAHAC,QAAQC,MACN,iEAKJ,IAAKb,EAEH,YADAY,QAAQC,MAAM,yCAIhB,IAAIL,aAAe,EAAfA,EAAiBM,YAAYd,aAAM,EAANA,EAAQe,QACvC,OAKF,GAHAP,EAAgBM,QAAUd,aAAM,EAANA,EAAQe,OAG9BV,EAAaS,QAEf,YADAF,QAAQI,KAAK,yDAIf,IAAIC,EAEFA,EAD8C,2BAArCC,EAAAlB,aAAM,EAANA,EAAQC,qCAAgBkB,UACtB,CACTA,SAAgC,QAAtBC,EAAApB,eAAAA,EAAQC,sBAAc,IAAAmB,OAAA,EAAAA,EAAED,SAClCE,aAAoC,QAAtBC,EAAAtB,eAAAA,EAAQC,sBAAc,IAAAqB,OAAA,EAAAA,EAAED,aACtCE,cAAqC,QAAtBC,EAAAxB,eAAAA,EAAQC,sBAAc,IAAAuB,OAAA,EAAAA,EAAED,cACvCE,mBAA0C,QAAtBC,EAAA1B,eAAAA,EAAQC,sBAAc,IAAAyB,OAAA,EAAAA,EAAED,oBAGnC,CACTV,OAAQf,aAAM,EAANA,EAAQe,OAChBY,
|
|
1
|
+
{"version":3,"file":"react.cjs.js","sources":["../src/react/index.tsx"],"sourcesContent":null,"names":["UserlensContext","createContext","collector","sessionRecorder","children","config","eventCollector","setEventCollector","useState","setSessionRecorder","collectorRef","useRef","sessionRecorderRef","lastUserIdRefEc","undefined","useEffect","window","console","error","current","userId","warn","ecConfig","_a","callback","_b","intervalTime","_c","skipRawEvents","_d","useLighterSnapshot","_e","groupId","groupTraits","WRITE_CODE","userTraits","_f","_g","_h","EventCollector","updateUserTraits","lastUserIdRefSr","enableSessionReplay","sr","SessionRecorder","recordingOptions","stop","_jsx","Provider","value","ctx","useContext","Error"],"mappings":"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"}
|
package/dist/react.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{createContext as r,useContext as l,useState as o,useRef as n,useEffect as i}from"react";import{EventCollector as u,SessionRecorder as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{createContext as r,useContext as l,useState as o,useRef as n,useEffect as i}from"react";import{EventCollector as u,SessionRecorder as d}from"./main.esm.js";const s=r({collector:null,sessionRecorder:null}),t=({children:r,config:l})=>{const[t,v]=o(null),[c,a]=o(null),f=n(null),p=n(null),I=n(void 0);i(()=>{var e,r,o,n,i,d,s,t;if("undefined"==typeof window)return void console.error("UserlensProvider: unavailable outside of browser environment.");if(!l)return void console.error("UserlensProvider: config is required.");if((null==I?void 0:I.current)===(null==l?void 0:l.userId))return;if(I.current=null==l?void 0:l.userId,f.current)return void console.warn("UserlensProvider: EventCollector already initialized.");let c;c="function"==typeof(null===(e=null==l?void 0:l.eventCollector)||void 0===e?void 0:e.callback)?{callback:null===(r=null==l?void 0:l.eventCollector)||void 0===r?void 0:r.callback,intervalTime:null===(o=null==l?void 0:l.eventCollector)||void 0===o?void 0:o.intervalTime,skipRawEvents:null===(n=null==l?void 0:l.eventCollector)||void 0===n?void 0:n.skipRawEvents,useLighterSnapshot:null===(i=null==l?void 0:l.eventCollector)||void 0===i?void 0:i.useLighterSnapshot}:{userId:null==l?void 0:l.userId,groupId:null==l?void 0:l.groupId,groupTraits:null==l?void 0:l.groupTraits,WRITE_CODE:null==l?void 0:l.WRITE_CODE,userTraits:null==l?void 0:l.userTraits,intervalTime:null===(d=null==l?void 0:l.eventCollector)||void 0===d?void 0:d.intervalTime,skipRawEvents:null===(s=null==l?void 0:l.eventCollector)||void 0===s?void 0:s.skipRawEvents,useLighterSnapshot:null===(t=null==l?void 0:l.eventCollector)||void 0===t?void 0:t.useLighterSnapshot};const a=new u(c);f.current=a,v(a)},[null==l?void 0:l.userId]),i(()=>{(null==l?void 0:l.userTraits)&&t&&(null==t||t.updateUserTraits(null==l?void 0:l.userTraits))},[null==l?void 0:l.userTraits]);const E=n(void 0);return i(()=>{if(!l)return void console.error("UserlensProvider: config is required.");if(!1===(null==l?void 0:l.enableSessionReplay))return;if(!(null==l?void 0:l.WRITE_CODE)||!(null==l?void 0:l.userId))return void console.error("UserlensProvider: WRITE_CODE and userId are required for session recording.");if((null==E?void 0:E.current)===(null==l?void 0:l.userId))return;if(null==p?void 0:p.current)return void console.warn("UserlensProvider: SessionRecorder already initialized.");E.current=null==l?void 0:l.userId;const e=new d({WRITE_CODE:null==l?void 0:l.WRITE_CODE,userId:null==l?void 0:l.userId,recordingOptions:null==l?void 0:l.sessionRecorder});return p.current=e,a(e),()=>{null==e||e.stop()}},[null==l?void 0:l.userId,null==l?void 0:l.enableSessionReplay]),e(s.Provider,{value:{collector:t,sessionRecorder:c},children:r})},v=()=>{const e=l(s);if(!e)throw new Error("useUserlens must be used within a <UserlensProvider>");return e};export{t as default,v as useUserlens};
|
|
2
2
|
//# sourceMappingURL=react.esm.js.map
|
package/dist/react.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.esm.js","sources":["../src/react/index.tsx"],"sourcesContent":null,"names":["UserlensContext","createContext","collector","sessionRecorder","UserlensProvider","children","config","eventCollector","setEventCollector","useState","setSessionRecorder","collectorRef","useRef","sessionRecorderRef","lastUserIdRefEc","undefined","useEffect","window","console","error","current","userId","warn","ecConfig","_a","callback","_b","intervalTime","_c","skipRawEvents","_d","useLighterSnapshot","_e","WRITE_CODE","userTraits","_f","_g","_h","EventCollector","updateUserTraits","lastUserIdRefSr","enableSessionReplay","sr","SessionRecorder","recordingOptions","stop","_jsx","Provider","value","useUserlens","ctx","useContext","Error"],"mappings":"2MAWA,MAAMA,EAAkBC,EAAmC,CACzDC,UAAW,KACXC,gBAAiB,OAGbC,EAGD,EAAGC,WAAUC,aAChB,MAAOC,EAAgBC,GAAqBC,EAC1C,OAEKN,EAAiBO,GACtBD,EAAiC,MAE7BE,EAAeC,EAA8B,MAC7CC,EAAqBD,EAA+B,MAEpDE,EAAkBF,OAA2BG,GACnDC,EAAU,yBACR,GAAsB,oBAAXC,OAIT,YAHAC,QAAQC,MACN,iEAKJ,IAAKb,EAEH,YADAY,QAAQC,MAAM,yCAIhB,IAAIL,aAAe,EAAfA,EAAiBM,YAAYd,aAAM,EAANA,EAAQe,QACvC,OAKF,GAHAP,EAAgBM,QAAUd,aAAM,EAANA,EAAQe,OAG9BV,EAAaS,QAEf,YADAF,QAAQI,KAAK,yDAIf,IAAIC,EAEFA,EAD8C,2BAArCC,EAAAlB,aAAM,EAANA,EAAQC,qCAAgBkB,UACtB,CACTA,SAAgC,QAAtBC,EAAApB,eAAAA,EAAQC,sBAAc,IAAAmB,OAAA,EAAAA,EAAED,SAClCE,aAAoC,QAAtBC,EAAAtB,eAAAA,EAAQC,sBAAc,IAAAqB,OAAA,EAAAA,EAAED,aACtCE,cAAqC,QAAtBC,EAAAxB,eAAAA,EAAQC,sBAAc,IAAAuB,OAAA,EAAAA,EAAED,cACvCE,mBAA0C,QAAtBC,EAAA1B,eAAAA,EAAQC,sBAAc,IAAAyB,OAAA,EAAAA,EAAED,oBAGnC,CACTV,OAAQf,aAAM,EAANA,EAAQe,OAChBY,
|
|
1
|
+
{"version":3,"file":"react.esm.js","sources":["../src/react/index.tsx"],"sourcesContent":null,"names":["UserlensContext","createContext","collector","sessionRecorder","UserlensProvider","children","config","eventCollector","setEventCollector","useState","setSessionRecorder","collectorRef","useRef","sessionRecorderRef","lastUserIdRefEc","undefined","useEffect","window","console","error","current","userId","warn","ecConfig","_a","callback","_b","intervalTime","_c","skipRawEvents","_d","useLighterSnapshot","_e","groupId","groupTraits","WRITE_CODE","userTraits","_f","_g","_h","EventCollector","updateUserTraits","lastUserIdRefSr","enableSessionReplay","sr","SessionRecorder","recordingOptions","stop","_jsx","Provider","value","useUserlens","ctx","useContext","Error"],"mappings":"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"}
|
package/dist/types/react.d.ts
CHANGED
|
@@ -88,6 +88,8 @@ type UserlensProviderConfig = {
|
|
|
88
88
|
WRITE_CODE: string;
|
|
89
89
|
userId: string;
|
|
90
90
|
userTraits: Record<string, any>;
|
|
91
|
+
groupTraits?: Record<string, any>;
|
|
92
|
+
groupId?: string;
|
|
91
93
|
eventCollector: EventCollectorConfig;
|
|
92
94
|
enableSessionReplay?: boolean;
|
|
93
95
|
sessionRecorder?: SessionRecordingOptions;
|
package/dist/userlens.umd.js
CHANGED
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* MIT License | (c) Dustin Diaz 2012-2015
|
|
6
6
|
* MIT License | (c) Denis Demchenko 2015-2019
|
|
7
7
|
*/class xw{static getParser(e,t=!1){if("string"!=typeof e)throw new Error("UserAgent should be a string");return new Iw(e,t)}static parse(e){return new Iw(e).getResult()}static get BROWSER_MAP(){return dw}static get ENGINE_MAP(){return gw}static get OS_MAP(){return mw}static get PLATFORMS_MAP(){return fw}}var kw="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Ow(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Mw,Aw={exports:{}},Ew=Aw.exports;
|
|
8
|
-
/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */function Rw(){return Mw||(Mw=1,function(e){!function(t){e.exports=function(e){if(e.CSS&&e.CSS.escape)return e.CSS.escape;var t=function(e){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var t,r=String(e),s=r.length,n=-1,i="",o=r.charCodeAt(0);++n<s;)0!=(t=r.charCodeAt(n))?i+=t>=1&&t<=31||127==t||0==n&&t>=48&&t<=57||1==n&&t>=48&&t<=57&&45==o?"\\"+t.toString(16)+" ":(0!=n||1!=s||45!=t)&&(t>=128||45==t||95==t||t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122)?r.charAt(n):"\\"+r.charAt(n):i+="�";return i};e.CSS||(e.CSS={});return e.CSS.escape=t,t}(t)}(void 0!==kw?kw:Ew)}(Aw)),Aw.exports}var Nw,Tw,Pw,Fw={};var Dw,Lw,Bw,_w,Uw,jw,zw,Ww,Vw,Gw,Zw,Yw,Jw,$w,Xw,Hw,Kw,Qw,qw,eb=function(){if(Pw)return Tw;Pw=1,Rw();const{ShadowRootTypes:e,nodeNameInCorrectCase:t,NodeType:r}=(Nw||(Nw=1,Fw.nodeNameInCorrectCase=function(e){const t=e.shadowRoot&&e.shadowRoot.mode;return t?"#shadow-root ("+t+")":e.localName?e.localName.length!==e.nodeName.length?e.nodeName:e.localName:e.nodeName},Fw.shadowRootType=function(e){const t=e.ancestorShadowRoot();return t?t.mode:null},Fw.NodeType={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9},Fw.ShadowRootTypes={UserAgent:"user-agent",Open:"open",Closed:"closed"}),Fw);let s={DOMPath:{}};return s.DOMPath.fullQualifiedSelector=function(e,t){try{return e.nodeType!==r.ELEMENT_NODE?e.localName||e.nodeName.toLowerCase():s.DOMPath.cssPath(e,t)}catch(e){return null}},s.DOMPath.cssPath=function(e,t){if(e.nodeType!==r.ELEMENT_NODE)return"";const n=[];let i=e;for(;i;){const r=s.DOMPath._cssPathStep(i,!!t,i===e);if(!r)break;if(n.push(r),r.optimized)break;i=i.parentNode}return n.reverse(),n.join(" > ")},s.DOMPath.canGetJSPath=function(t){let r=t;for(;r;){if(r.shadowRoot&&r.shadowRoot.mode!==e.Open)return!1;r=r.shadowRoot&&r.shadowRoot.host}return!0},s.DOMPath.jsPath=function(e,t){if(e.nodeType!==r.ELEMENT_NODE)return"";const n=[];let i=e;for(;i;)n.push(s.DOMPath.cssPath(i,t)),i=i.shadowRoot&&i.shadowRoot.host;n.reverse();let o="";for(let e=0;e<n.length;++e){const t=JSON.stringify(n[e]);o+=e?`.shadowRoot.querySelector(${t})`:`document.querySelector(${t})`}return o},s.DOMPath._cssPathStep=function(e,n,i){if(e.nodeType!==r.ELEMENT_NODE)return null;const o=e.getAttribute("id");if(n){if(o)return new s.DOMPath.Step(h(o),!0);const r=e.nodeName.toLowerCase();if("body"===r||"head"===r||"html"===r)return new s.DOMPath.Step(t(e),!0)}const a=t(e);if(o)return new s.DOMPath.Step(a+h(o),!0);const l=e.parentNode;if(!l||l.nodeType===r.DOCUMENT_NODE)return new s.DOMPath.Step(a,!0);function c(e){const t=e.getAttribute("class");return t?t.split(/\s+/g).filter(Boolean).map(function(e){return"$"+e}):[]}function h(e){return"#"+CSS.escape(e)}const u=c(e);let p=!1,d=!1,f=-1,m=-1;const g=l.children;for(let s=0;(-1===f||!d)&&s<g.length;++s){const n=g[s];if(n.nodeType!==r.ELEMENT_NODE)continue;if(m+=1,n===e){f=m;continue}if(d)continue;if(t(n)!==a)continue;p=!0;const i=new Set(u);if(!i.size){d=!0;continue}const o=c(n);for(let e=0;e<o.length;++e){const t=o[e];if(i.has(t)&&(i.delete(t),!i.size)){d=!0;break}}}let y=a;if(i&&"input"===a.toLowerCase()&&e.getAttribute("type")&&!e.getAttribute("id")&&!e.getAttribute("class")&&(y+="[type="+CSS.escape(e.getAttribute("type"))+"]"),d)y+=":nth-child("+(f+1)+")";else if(p)for(const e of u)y+="."+CSS.escape(e.slice(1));return new s.DOMPath.Step(y,!1)},s.DOMPath.xPath=function(e,t){if(e.nodeType===r.DOCUMENT_NODE)return"/";const n=[];let i=e;for(;i;){const e=s.DOMPath._xPathValue(i,t);if(!e)break;if(n.push(e),e.optimized)break;i=i.parentNode}return n.reverse(),(n.length&&n[0].optimized?"":"/")+n.join("/")},s.DOMPath._xPathValue=function(e,t){let n;const i=s.DOMPath._xPathIndex(e);if(-1===i)return null;switch(e.nodeType){case r.ELEMENT_NODE:if(t&&e.getAttribute("id"))return new s.DOMPath.Step('//*[@id="'+e.getAttribute("id")+'"]',!0);n=e.localName;break;case r.ATTRIBUTE_NODE:n="@"+e.nodeName;break;case r.TEXT_NODE:case r.CDATA_SECTION_NODE:n="text()";break;case r.PROCESSING_INSTRUCTION_NODE:n="processing-instruction()";break;case r.COMMENT_NODE:n="comment()";break;case r.DOCUMENT_NODE:default:n=""}return i>0&&(n+="["+i+"]"),new s.DOMPath.Step(n,e.nodeType===r.DOCUMENT_NODE)},s.DOMPath._xPathIndex=function(e){function t(e,t){if(e===t)return!0;if(e.nodeType===r.ELEMENT_NODE&&t.nodeType===r.ELEMENT_NODE)return e.localName===t.localName;if(e.nodeType===t.nodeType)return!0;return(e.nodeType===r.CDATA_SECTION_NODE?r.TEXT_NODE:e.nodeType)===(t.nodeType===r.CDATA_SECTION_NODE?r.TEXT_NODE:t.nodeType)}const s=e.parentNode?e.parentNode.children:null;if(!s)return 0;let n;for(let r=0;r<s.length;++r)if(t(e,s[r])&&s[r]!==e){n=!0;break}if(!n)return 0;let i=1;for(let r=0;r<s.length;++r)if(t(e,s[r])){if(s[r]===e)return i;++i}return-1},s.DOMPath.Step=class{constructor(e,t){this.value=e,this.optimized=t||!1}toString(){return this.value}},Tw=s.DOMPath}(),tb=Ow(eb);Lw=new WeakMap,Bw=new WeakMap,_w=new WeakMap,Uw=new WeakMap,jw=new WeakMap,Xw=new WeakMap,Dw=new WeakSet,zw=function(){document.addEventListener("click",t(this,Uw,"f"),!0)},Ww=function(e){try{const r=e.target;if(!(r instanceof HTMLElement))return;const s=tb.xPath(r,!0),n=this.useLighterSnapshot?t(this,Dw,"m",Vw).call(this,r):t(this,Dw,"m",Gw).call(this,r),i={event:s,is_raw:!0,snapshot:n?[n]:[],properties:{...this.getUserContext(),...this.getPageMetadata()}};this.userId&&(i.userId=this.userId),this.events.push(i),this.events.length>100&&(this.events=this.events.slice(-100))}catch(e){}},Vw=function(e){if(!(e instanceof HTMLElement))return null;const r=document.body;if(!r)return null;const s=[];let n=e;for(;n&&1===n.nodeType&&n!==r;)s.unshift(n),n=n.parentElement;const i=[r,...s.filter(e=>e!==r)];let o=null,a=null;for(let e=0;e<i.length;e++){const r=i[e],s=e===i.length-1,n=t(this,Dw,"m",Zw).call(this,r,{isTarget:s,leadsToTarget:!s});o||(o=n),a&&(a.children||(a.children=[]),a.children.push(n)),a=n}const l=a;return l&&e.children.length>0&&(l.children=Array.from(e.children).filter(e=>e instanceof HTMLElement).map(e=>t(this,Dw,"m",Zw).call(this,e,{includeChildren:!0})).filter(Boolean)),o},Gw=function(e){if(!(e instanceof HTMLElement))return null;const r=[];let s=e;for(;s&&1===s.nodeType;)r.unshift(s),s=s.parentElement;let n=null,i=null;for(let e=0;e<r.length;e++){const s=r[e],o=e>=r.length-3,a=e===r.length-1,l=t(this,Dw,"m",Zw).call(this,s,{isTarget:a,leadsToTarget:!0});let c=[l];if(o&&s.parentElement){c=[l,...Array.from(s.parentElement.children).filter(e=>e!==s&&e instanceof HTMLElement).map(e=>t(this,Dw,"m",Zw).call(this,e,{includeChildren:!0})).filter(Boolean)]}n||(n=l),i&&(i.children||(i.children=[]),i.children.push(...c)),i=l}return n},Zw=function e(r,{isTarget:s=!1,includeChildren:n=!1,leadsToTarget:i=!1}={}){var o,a;const l=r.tagName.toLowerCase(),c=r.classList.length?Array.from(r.classList):null,h=r.id||null,u=r.getAttribute("href")||null,p=Array.from((null===(o=r.parentNode)||void 0===o?void 0:o.children)||[]).indexOf(r)+1,d=Array.from((null===(a=r.parentNode)||void 0===a?void 0:a.children)||[]).filter(e=>e instanceof HTMLElement&&e.tagName===r.tagName).indexOf(r)+1,f={};for(let e of Array.from(r.attributes))f[`attr__${e.name}`]=e.value;const m=Array.from(r.childNodes).filter(e=>e.nodeType===Node.TEXT_NODE),g=m.map(e=>{var t;return null===(t=e.textContent)||void 0===t?void 0:t.trim()}).filter(Boolean).join(" ")||null,y={tag_name:l,nth_child:p,nth_of_type:d,attributes:f,...c?{attr_class:c}:{},...h?{attr_id:h}:{},...u?{href:u}:{},...g?{text:g}:{},...s?{is_target:!0}:{},...i&&!s?{leads_to_target:!0}:{}};return(n&&r.children.length>0||s)&&(y.children=Array.from(r.children).filter(e=>e instanceof HTMLElement).map(r=>t(this,Dw,"m",e).call(this,r,{includeChildren:!0})).filter(Boolean)),y},Yw=function(){r(this,Lw,setInterval(()=>{t(this,Xw,"f").call(this)},this.intervalTime),"f")},Jw=function(){r(this,Bw,history.pushState,"f"),r(this,_w,history.replaceState,"f"),history.pushState=(...e)=>{t(this,Bw,"f").apply(history,e),t(this,Dw,"m",$w).call(this)},history.replaceState=(...e)=>{t(this,_w,"f").apply(history,e),t(this,Dw,"m",$w).call(this)},window.addEventListener("popstate",t(this,jw,"f"))},$w=function(){if(function(){if("undefined"==typeof window)return!1;const e=window.location.hostname;return"localhost"===e||"127.0.0.1"===e||"::1"===e||e.endsWith(".localhost")}())return;const e={event:"$ul_pageview",properties:this.getPageMetadata()};this.userId&&(e.userId=this.userId),this.events.push(e)},Hw=function(){this.events=[]},Kw=function(){document.removeEventListener("click",t(this,Uw,"f"),!0)},Qw=function(){t(this,Xw,"f").call(this),clearInterval(t(this,Lw,"f")),t(this,Dw,"m",Hw).call(this)},qw=function(){history.pushState=t(this,Bw,"f"),history.replaceState=t(this,_w,"f"),window.removeEventListener("popstate",t(this,jw,"f"))},e.EventCollector=class{constructor(e){if(Dw.add(this),this.useLighterSnapshot=!1,this.userContext=null,Lw.set(this,void 0),Bw.set(this,void 0),_w.set(this,void 0),Uw.set(this,t(this,Dw,"m",Ww).bind(this)),jw.set(this,t(this,Dw,"m",$w).bind(this)),Xw.set(this,()=>{if(0===this.events.length)return;const e=[...this.events];if(this.callback){try{this.callback(e)}catch(e){}t(this,Dw,"m",Hw).call(this)}else Promise.allSettled([this.userId&&this.userTraits?Hy({userId:this.userId,traits:this.userTraits}):null,this.groupId?Ky({groupId:this.groupId,traits:this.groupTraits,userId:this.userId}):null,Qy(e)]),t(this,Dw,"m",Hw).call(this)}),"undefined"==typeof window)return;const{userId:r,WRITE_CODE:s,callback:n,intervalTime:i=5e3,skipRawEvents:o=!1,useLighterSnapshot:a=!1}=e,l=e.userTraits,c=e.groupId,h=e.groupTraits;this.autoUploadModeEnabled=!n,this.autoUploadModeEnabled&&!(null==r?void 0:r.length)||this.autoUploadModeEnabled&&!(null==s?void 0:s.length)||(this.autoUploadModeEnabled&&qy(s),(this.autoUploadModeEnabled||"function"==typeof n)&&(this.userId=r,this.userTraits="object"==typeof l&&null!==l?l:{},this.callback=n,this.intervalTime=i,this.events=[],c&&(this.groupId=c,this.groupTraits="object"==typeof h&&null!==h?h:{}),o||(this.useLighterSnapshot=a,t(this,Dw,"m",zw).call(this),t(this,Dw,"m",Jw).call(this)),t(this,Dw,"m",Yw).call(this),this.userContext=this.getUserContext()))}pushEvent(e){const t={is_raw:!1,...e,properties:{...null==e?void 0:e.properties,...this.getUserContext(),...this.getPageMetadata()}};this.userId&&(t.userId=this.userId),this.events.push(t)}identify(e,t){return Hy({userId:e,traits:t})}group(e,t){return Ky({groupId:e,traits:t,userId:this.userId})}updateUserTraits(e){this.userTraits=e}updateGroupTraits(e){this.groupTraits=e}stop(){t(this,Dw,"m",Kw).call(this),t(this,Dw,"m",Qw).call(this),t(this,Dw,"m",qw).call(this)}getUserContext(){var e,t,r,s,n,i,o;if(this.userContext)return this.userContext;const a=xw.getParser(window.navigator.userAgent),l=a.getBrowser(),c=a.getOS(),h={$ul_browser:null!==(e=l.name)&&void 0!==e?e:"Unknown",$ul_browser_version:null!==(t=l.version)&&void 0!==t?t:"Unknown",$ul_os:null!==(r=c.name)&&void 0!==r?r:"Unknown",$ul_os_version:null!==(s=c.versionName)&&void 0!==s?s:"Unknown",$ul_browser_language:null!==(n=navigator.language)&&void 0!==n?n:"en-US",$ul_browser_language_prefix:null!==(o=null===(i=navigator.language)||void 0===i?void 0:i.split("-")[0])&&void 0!==o?o:"en",$ul_screen_width:window.screen.width,$ul_screen_height:window.screen.height,$ul_viewport_width:window.innerWidth,$ul_viewport_height:window.innerHeight,$ul_lib:"userlens.js",$ul_lib_version:"0.1.82",$ul_device_type:/Mobi|Android/i.test(navigator.userAgent)?"Mobile":"Desktop",$ul_timezone:Intl.DateTimeFormat().resolvedOptions().timeZone};return this.userContext=h,h}getPageMetadata(){try{const e=new URL(window.location.href);let t=document.referrer||"$direct",r="$direct";try{t&&/^https?:\/\//.test(t)&&(r=new URL(t).hostname)}catch(e){}const s=e.search.slice(1);return{$ul_page:e.origin+e.pathname,$ul_pathname:e.pathname,$ul_host:e.host,$ul_referrer:t,$ul_referring_domain:r,$ul_query:s}}catch(e){return{$ul_page:"",$ul_pathname:"",$ul_host:"",$ul_referrer:"",$ul_referring_domain:"",$ul_query:""}}}},e.SessionRecorder=class{constructor({WRITE_CODE:e,userId:s,recordingOptions:n={}}){if(ew.add(this),this.sessionEvents=[],this.rrwebStop=null,tw.set(this,void 0),ow.set(this,()=>{document.visibilityState&&yc()}),"undefined"==typeof window&&console.error("Userlens SDK error: unavailable outside of browser environment."),!(null==e?void 0:e.trim()))throw new Error("Userlens SDK Error: WRITE_CODE is required and must be a string");(null==s?void 0:s.trim())||console.error("Userlens SDK Error: userId is required to identify session user.");const{TIMEOUT:i=18e5,BUFFER_SIZE:o=10,maskingOptions:a=["passwords"]}=n;if("string"!=typeof e)throw new Error("WRITE_CODE must be a string to base64 encode it");qy(e),this.userId=s,this.TIMEOUT=i,this.BUFFER_SIZE=o,this.maskingOptions=a,this.sessionEvents=[],r(this,tw,t(this,ew,"m",lw).call(this,()=>{t(this,ew,"m",cw).call(this)},5e3),"f"),t(this,ew,"m",rw).call(this)}stop(){this.rrwebStop&&(this.rrwebStop(),this.rrwebStop=null,t(this,ew,"m",hw).call(this),t(this,ew,"m",uw).call(this),window.removeEventListener("visibilitychange",t(this,ow,"f")))}}});
|
|
8
|
+
/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */function Rw(){return Mw||(Mw=1,function(e){!function(t){e.exports=function(e){if(e.CSS&&e.CSS.escape)return e.CSS.escape;var t=function(e){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var t,r=String(e),s=r.length,n=-1,i="",o=r.charCodeAt(0);++n<s;)0!=(t=r.charCodeAt(n))?i+=t>=1&&t<=31||127==t||0==n&&t>=48&&t<=57||1==n&&t>=48&&t<=57&&45==o?"\\"+t.toString(16)+" ":(0!=n||1!=s||45!=t)&&(t>=128||45==t||95==t||t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122)?r.charAt(n):"\\"+r.charAt(n):i+="�";return i};e.CSS||(e.CSS={});return e.CSS.escape=t,t}(t)}(void 0!==kw?kw:Ew)}(Aw)),Aw.exports}var Nw,Tw,Pw,Fw={};var Dw,Lw,Bw,_w,Uw,jw,zw,Ww,Vw,Gw,Zw,Yw,Jw,$w,Xw,Hw,Kw,Qw,qw,eb=function(){if(Pw)return Tw;Pw=1,Rw();const{ShadowRootTypes:e,nodeNameInCorrectCase:t,NodeType:r}=(Nw||(Nw=1,Fw.nodeNameInCorrectCase=function(e){const t=e.shadowRoot&&e.shadowRoot.mode;return t?"#shadow-root ("+t+")":e.localName?e.localName.length!==e.nodeName.length?e.nodeName:e.localName:e.nodeName},Fw.shadowRootType=function(e){const t=e.ancestorShadowRoot();return t?t.mode:null},Fw.NodeType={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9},Fw.ShadowRootTypes={UserAgent:"user-agent",Open:"open",Closed:"closed"}),Fw);let s={DOMPath:{}};return s.DOMPath.fullQualifiedSelector=function(e,t){try{return e.nodeType!==r.ELEMENT_NODE?e.localName||e.nodeName.toLowerCase():s.DOMPath.cssPath(e,t)}catch(e){return null}},s.DOMPath.cssPath=function(e,t){if(e.nodeType!==r.ELEMENT_NODE)return"";const n=[];let i=e;for(;i;){const r=s.DOMPath._cssPathStep(i,!!t,i===e);if(!r)break;if(n.push(r),r.optimized)break;i=i.parentNode}return n.reverse(),n.join(" > ")},s.DOMPath.canGetJSPath=function(t){let r=t;for(;r;){if(r.shadowRoot&&r.shadowRoot.mode!==e.Open)return!1;r=r.shadowRoot&&r.shadowRoot.host}return!0},s.DOMPath.jsPath=function(e,t){if(e.nodeType!==r.ELEMENT_NODE)return"";const n=[];let i=e;for(;i;)n.push(s.DOMPath.cssPath(i,t)),i=i.shadowRoot&&i.shadowRoot.host;n.reverse();let o="";for(let e=0;e<n.length;++e){const t=JSON.stringify(n[e]);o+=e?`.shadowRoot.querySelector(${t})`:`document.querySelector(${t})`}return o},s.DOMPath._cssPathStep=function(e,n,i){if(e.nodeType!==r.ELEMENT_NODE)return null;const o=e.getAttribute("id");if(n){if(o)return new s.DOMPath.Step(h(o),!0);const r=e.nodeName.toLowerCase();if("body"===r||"head"===r||"html"===r)return new s.DOMPath.Step(t(e),!0)}const a=t(e);if(o)return new s.DOMPath.Step(a+h(o),!0);const l=e.parentNode;if(!l||l.nodeType===r.DOCUMENT_NODE)return new s.DOMPath.Step(a,!0);function c(e){const t=e.getAttribute("class");return t?t.split(/\s+/g).filter(Boolean).map(function(e){return"$"+e}):[]}function h(e){return"#"+CSS.escape(e)}const u=c(e);let p=!1,d=!1,f=-1,m=-1;const g=l.children;for(let s=0;(-1===f||!d)&&s<g.length;++s){const n=g[s];if(n.nodeType!==r.ELEMENT_NODE)continue;if(m+=1,n===e){f=m;continue}if(d)continue;if(t(n)!==a)continue;p=!0;const i=new Set(u);if(!i.size){d=!0;continue}const o=c(n);for(let e=0;e<o.length;++e){const t=o[e];if(i.has(t)&&(i.delete(t),!i.size)){d=!0;break}}}let y=a;if(i&&"input"===a.toLowerCase()&&e.getAttribute("type")&&!e.getAttribute("id")&&!e.getAttribute("class")&&(y+="[type="+CSS.escape(e.getAttribute("type"))+"]"),d)y+=":nth-child("+(f+1)+")";else if(p)for(const e of u)y+="."+CSS.escape(e.slice(1));return new s.DOMPath.Step(y,!1)},s.DOMPath.xPath=function(e,t){if(e.nodeType===r.DOCUMENT_NODE)return"/";const n=[];let i=e;for(;i;){const e=s.DOMPath._xPathValue(i,t);if(!e)break;if(n.push(e),e.optimized)break;i=i.parentNode}return n.reverse(),(n.length&&n[0].optimized?"":"/")+n.join("/")},s.DOMPath._xPathValue=function(e,t){let n;const i=s.DOMPath._xPathIndex(e);if(-1===i)return null;switch(e.nodeType){case r.ELEMENT_NODE:if(t&&e.getAttribute("id"))return new s.DOMPath.Step('//*[@id="'+e.getAttribute("id")+'"]',!0);n=e.localName;break;case r.ATTRIBUTE_NODE:n="@"+e.nodeName;break;case r.TEXT_NODE:case r.CDATA_SECTION_NODE:n="text()";break;case r.PROCESSING_INSTRUCTION_NODE:n="processing-instruction()";break;case r.COMMENT_NODE:n="comment()";break;case r.DOCUMENT_NODE:default:n=""}return i>0&&(n+="["+i+"]"),new s.DOMPath.Step(n,e.nodeType===r.DOCUMENT_NODE)},s.DOMPath._xPathIndex=function(e){function t(e,t){if(e===t)return!0;if(e.nodeType===r.ELEMENT_NODE&&t.nodeType===r.ELEMENT_NODE)return e.localName===t.localName;if(e.nodeType===t.nodeType)return!0;return(e.nodeType===r.CDATA_SECTION_NODE?r.TEXT_NODE:e.nodeType)===(t.nodeType===r.CDATA_SECTION_NODE?r.TEXT_NODE:t.nodeType)}const s=e.parentNode?e.parentNode.children:null;if(!s)return 0;let n;for(let r=0;r<s.length;++r)if(t(e,s[r])&&s[r]!==e){n=!0;break}if(!n)return 0;let i=1;for(let r=0;r<s.length;++r)if(t(e,s[r])){if(s[r]===e)return i;++i}return-1},s.DOMPath.Step=class{constructor(e,t){this.value=e,this.optimized=t||!1}toString(){return this.value}},Tw=s.DOMPath}(),tb=Ow(eb);Lw=new WeakMap,Bw=new WeakMap,_w=new WeakMap,Uw=new WeakMap,jw=new WeakMap,Xw=new WeakMap,Dw=new WeakSet,zw=function(){document.addEventListener("click",t(this,Uw,"f"),!0)},Ww=function(e){try{const r=e.target;if(!(r instanceof HTMLElement))return;const s=tb.xPath(r,!0),n=this.useLighterSnapshot?t(this,Dw,"m",Vw).call(this,r):t(this,Dw,"m",Gw).call(this,r),i={event:s,is_raw:!0,snapshot:n?[n]:[],properties:{...this.getUserContext(),...this.getPageMetadata()}};this.userId&&(i.userId=this.userId),this.events.push(i),this.events.length>100&&(this.events=this.events.slice(-100))}catch(e){}},Vw=function(e){if(!(e instanceof HTMLElement))return null;const r=document.body;if(!r)return null;const s=[];let n=e;for(;n&&1===n.nodeType&&n!==r;)s.unshift(n),n=n.parentElement;const i=[r,...s.filter(e=>e!==r)];let o=null,a=null;for(let e=0;e<i.length;e++){const r=i[e],s=e===i.length-1,n=t(this,Dw,"m",Zw).call(this,r,{isTarget:s,leadsToTarget:!s});o||(o=n),a&&(a.children||(a.children=[]),a.children.push(n)),a=n}const l=a;return l&&e.children.length>0&&(l.children=Array.from(e.children).filter(e=>e instanceof HTMLElement).map(e=>t(this,Dw,"m",Zw).call(this,e,{includeChildren:!0})).filter(Boolean)),o},Gw=function(e){if(!(e instanceof HTMLElement))return null;const r=[];let s=e;for(;s&&1===s.nodeType;)r.unshift(s),s=s.parentElement;let n=null,i=null;for(let e=0;e<r.length;e++){const s=r[e],o=e>=r.length-3,a=e===r.length-1,l=t(this,Dw,"m",Zw).call(this,s,{isTarget:a,leadsToTarget:!0});let c=[l];if(o&&s.parentElement){c=[l,...Array.from(s.parentElement.children).filter(e=>e!==s&&e instanceof HTMLElement).map(e=>t(this,Dw,"m",Zw).call(this,e,{includeChildren:!0})).filter(Boolean)]}n||(n=l),i&&(i.children||(i.children=[]),i.children.push(...c)),i=l}return n},Zw=function e(r,{isTarget:s=!1,includeChildren:n=!1,leadsToTarget:i=!1}={}){var o,a;const l=r.tagName.toLowerCase(),c=r.classList.length?Array.from(r.classList):null,h=r.id||null,u=r.getAttribute("href")||null,p=Array.from((null===(o=r.parentNode)||void 0===o?void 0:o.children)||[]).indexOf(r)+1,d=Array.from((null===(a=r.parentNode)||void 0===a?void 0:a.children)||[]).filter(e=>e instanceof HTMLElement&&e.tagName===r.tagName).indexOf(r)+1,f={};for(let e of Array.from(r.attributes))f[`attr__${e.name}`]=e.value;const m=Array.from(r.childNodes).filter(e=>e.nodeType===Node.TEXT_NODE),g=m.map(e=>{var t;return null===(t=e.textContent)||void 0===t?void 0:t.trim()}).filter(Boolean).join(" ")||null,y={tag_name:l,nth_child:p,nth_of_type:d,attributes:f,...c?{attr_class:c}:{},...h?{attr_id:h}:{},...u?{href:u}:{},...g?{text:g}:{},...s?{is_target:!0}:{},...i&&!s?{leads_to_target:!0}:{}};return(n&&r.children.length>0||s)&&(y.children=Array.from(r.children).filter(e=>e instanceof HTMLElement).map(r=>t(this,Dw,"m",e).call(this,r,{includeChildren:!0})).filter(Boolean)),y},Yw=function(){r(this,Lw,setInterval(()=>{t(this,Xw,"f").call(this)},this.intervalTime),"f")},Jw=function(){r(this,Bw,history.pushState,"f"),r(this,_w,history.replaceState,"f"),history.pushState=(...e)=>{t(this,Bw,"f").apply(history,e),t(this,Dw,"m",$w).call(this)},history.replaceState=(...e)=>{t(this,_w,"f").apply(history,e),t(this,Dw,"m",$w).call(this)},window.addEventListener("popstate",t(this,jw,"f"))},$w=function(){if(function(){if("undefined"==typeof window)return!1;const e=window.location.hostname;return"localhost"===e||"127.0.0.1"===e||"::1"===e||e.endsWith(".localhost")}())return;const e={event:"$ul_pageview",properties:this.getPageMetadata()};this.userId&&(e.userId=this.userId),this.events.push(e)},Hw=function(){this.events=[]},Kw=function(){document.removeEventListener("click",t(this,Uw,"f"),!0)},Qw=function(){t(this,Xw,"f").call(this),clearInterval(t(this,Lw,"f")),t(this,Dw,"m",Hw).call(this)},qw=function(){history.pushState=t(this,Bw,"f"),history.replaceState=t(this,_w,"f"),window.removeEventListener("popstate",t(this,jw,"f"))},e.EventCollector=class{constructor(e){if(Dw.add(this),this.useLighterSnapshot=!1,this.userContext=null,Lw.set(this,void 0),Bw.set(this,void 0),_w.set(this,void 0),Uw.set(this,t(this,Dw,"m",Ww).bind(this)),jw.set(this,t(this,Dw,"m",$w).bind(this)),Xw.set(this,()=>{if(0===this.events.length)return;const e=[...this.events];if(this.callback){try{this.callback(e)}catch(e){}t(this,Dw,"m",Hw).call(this)}else Promise.allSettled([this.userId&&this.userTraits?Hy({userId:this.userId,traits:this.userTraits}):null,this.groupId?Ky({groupId:this.groupId,traits:this.groupTraits,userId:this.userId}):null,Qy(e)]),t(this,Dw,"m",Hw).call(this)}),"undefined"==typeof window)return;const{userId:r,WRITE_CODE:s,callback:n,intervalTime:i=5e3,skipRawEvents:o=!1,useLighterSnapshot:a=!1}=e,l=e.userTraits,c=e.groupId,h=e.groupTraits;this.autoUploadModeEnabled=!n,this.autoUploadModeEnabled&&!(null==r?void 0:r.length)||this.autoUploadModeEnabled&&!(null==s?void 0:s.length)||(this.autoUploadModeEnabled&&qy(s),(this.autoUploadModeEnabled||"function"==typeof n)&&(this.userId=r,this.userTraits="object"==typeof l&&null!==l?l:{},this.callback=n,this.intervalTime=i,this.events=[],c&&(this.groupId=c,this.groupTraits="object"==typeof h&&null!==h?h:{}),o||(this.useLighterSnapshot=a,t(this,Dw,"m",zw).call(this),t(this,Dw,"m",Jw).call(this)),t(this,Dw,"m",Yw).call(this),this.userContext=this.getUserContext()))}pushEvent(e){const t={is_raw:!1,...e,properties:{...null==e?void 0:e.properties,...this.getUserContext(),...this.getPageMetadata()}};this.userId&&(t.userId=this.userId),this.events.push(t)}identify(e,t){return Hy({userId:e,traits:t})}group(e,t){return Ky({groupId:e,traits:t,userId:this.userId})}updateUserTraits(e){this.userTraits=e}updateGroupTraits(e){this.groupTraits=e}stop(){t(this,Dw,"m",Kw).call(this),t(this,Dw,"m",Qw).call(this),t(this,Dw,"m",qw).call(this)}getUserContext(){var e,t,r,s,n,i,o;if(this.userContext)return this.userContext;const a=xw.getParser(window.navigator.userAgent),l=a.getBrowser(),c=a.getOS(),h={$ul_browser:null!==(e=l.name)&&void 0!==e?e:"Unknown",$ul_browser_version:null!==(t=l.version)&&void 0!==t?t:"Unknown",$ul_os:null!==(r=c.name)&&void 0!==r?r:"Unknown",$ul_os_version:null!==(s=c.versionName)&&void 0!==s?s:"Unknown",$ul_browser_language:null!==(n=navigator.language)&&void 0!==n?n:"en-US",$ul_browser_language_prefix:null!==(o=null===(i=navigator.language)||void 0===i?void 0:i.split("-")[0])&&void 0!==o?o:"en",$ul_screen_width:window.screen.width,$ul_screen_height:window.screen.height,$ul_viewport_width:window.innerWidth,$ul_viewport_height:window.innerHeight,$ul_lib:"userlens.js",$ul_lib_version:"0.1.83",$ul_device_type:/Mobi|Android/i.test(navigator.userAgent)?"Mobile":"Desktop",$ul_timezone:Intl.DateTimeFormat().resolvedOptions().timeZone};return this.userContext=h,h}getPageMetadata(){try{const e=new URL(window.location.href);let t=document.referrer||"$direct",r="$direct";try{t&&/^https?:\/\//.test(t)&&(r=new URL(t).hostname)}catch(e){}const s=e.search.slice(1);return{$ul_page:e.origin+e.pathname,$ul_pathname:e.pathname,$ul_host:e.host,$ul_referrer:t,$ul_referring_domain:r,$ul_query:s}}catch(e){return{$ul_page:"",$ul_pathname:"",$ul_host:"",$ul_referrer:"",$ul_referring_domain:"",$ul_query:""}}}},e.SessionRecorder=class{constructor({WRITE_CODE:e,userId:s,recordingOptions:n={}}){if(ew.add(this),this.sessionEvents=[],this.rrwebStop=null,tw.set(this,void 0),ow.set(this,()=>{document.visibilityState&&yc()}),"undefined"==typeof window&&console.error("Userlens SDK error: unavailable outside of browser environment."),!(null==e?void 0:e.trim()))throw new Error("Userlens SDK Error: WRITE_CODE is required and must be a string");(null==s?void 0:s.trim())||console.error("Userlens SDK Error: userId is required to identify session user.");const{TIMEOUT:i=18e5,BUFFER_SIZE:o=10,maskingOptions:a=["passwords"]}=n;if("string"!=typeof e)throw new Error("WRITE_CODE must be a string to base64 encode it");qy(e),this.userId=s,this.TIMEOUT=i,this.BUFFER_SIZE=o,this.maskingOptions=a,this.sessionEvents=[],r(this,tw,t(this,ew,"m",lw).call(this,()=>{t(this,ew,"m",cw).call(this)},5e3),"f"),t(this,ew,"m",rw).call(this)}stop(){this.rrwebStop&&(this.rrwebStop(),this.rrwebStop=null,t(this,ew,"m",hw).call(this),t(this,ew,"m",uw).call(this),window.removeEventListener("visibilitychange",t(this,ow,"f")))}}});
|
|
9
9
|
//# sourceMappingURL=userlens.umd.js.map
|