@truxl/javascript-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truxl.esm.js","sources":["../src/core/config.ts","../src/core/queue.ts","../src/security/hmac.ts","../src/transport/http.ts","../src/transport/websocket.ts","../src/utils/browser.ts","../src/utils/referrer.ts","../src/tracking/events.ts","../src/tracking/forms.ts","../src/tracking/autocapture.ts","../src/core/client.ts","../src/transport/beacon.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["SENSITIVE_NAME_PATTERNS"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).truxl={})}(this,function(t){"use strict";const e={pageview:"full-url",click:!0,dead_click:!0,input:!0,rage_click:!0,scroll:!0,submit:!0,capture_text_content:!1},n={apiEndpoint:"https://ingestion.api.stage.truxl.com",batchSize:20,flushInterval:5e3,autocapture:!1,track_pageview:!0,debug:!1,maxQueueSize:1e4,retryAttempts:5,retryBaseDelay:1e3,transport:"http"};class i{constructor(t,e){this.queue=[],this.timer=null,this.sending=!1,this.config=t,this.transport=e,this.loadFromStorage(),this.startTimer(),"undefined"!=typeof window&&window.addEventListener("beforeunload",()=>this.flush())}enqueue(t){this.queue.length>=this.config.maxQueueSize&&this.queue.shift(),this.queue.push(t),this.saveToStorage(),this.queue.length>=this.config.batchSize&&this.flush()}async flush(){if(this.sending||0===this.queue.length)return;this.sending=!0;const t=this.queue.splice(0,this.config.batchSize);try{const e=await this.transport.send({events:t});if(!e.ok){(0===e.status||e.status>=500)&&this.queue.unshift(...t)}this.saveToStorage()}catch{this.queue.unshift(...t),this.saveToStorage()}finally{this.sending=!1}}destroy(){this.timer&&(clearInterval(this.timer),this.timer=null),this.transport.destroy?.()}startTimer(){this.timer=setInterval(()=>this.flush(),this.config.flushInterval)}saveToStorage(){"function"==typeof requestIdleCallback?requestIdleCallback(()=>{try{localStorage.setItem("truxl_queue",JSON.stringify(this.queue))}catch{}}):setTimeout(()=>{try{localStorage.setItem("truxl_queue",JSON.stringify(this.queue))}catch{}},0)}loadFromStorage(){try{const t=localStorage.getItem("truxl_queue");t&&(this.queue=JSON.parse(t))}catch{}}}async function r(t,e){const n=new TextEncoder,i=await crypto.subtle.importKey("raw",n.encode(e),{name:"HMAC",hash:"SHA-256"},!1,["sign"]),r=await crypto.subtle.sign("HMAC",i,n.encode(t));return Array.from(new Uint8Array(r)).map(t=>t.toString(16).padStart(2,"0")).join("")}class o{constructor(t){this.config=t.config}async send(t){const e=JSON.stringify(t);return this.sendWithRetry(e,0)}async sendWithRetry(t,e){try{const n=await r(t,this.config.clientSecret),i=await fetch(`${this.config.apiEndpoint}/v1/batch`,{method:"POST",headers:{"Content-Type":"application/json","X-Project-Token":this.config.projectToken,"X-Signature":n},body:t});return i.ok?{ok:!0,status:i.status,retries:e}:i.status>=500&&e<this.config.retryAttempts?(await this.wait(e),this.sendWithRetry(t,e+1)):{ok:!1,status:i.status,retries:e}}catch{return e<this.config.retryAttempts?(await this.wait(e),this.sendWithRetry(t,e+1)):{ok:!1,status:0,retries:e}}}wait(t){const e=Math.min(this.config.retryBaseDelay*Math.pow(2,t),6e4);return new Promise(t=>setTimeout(t,e))}}class s{constructor(t){this.ws=null,this.reconnectAttempt=0,this.reconnectTimer=null,this.pendingMessages=[],this.connected=!1,this.destroyed=!1,this.config=t.config,this.connect()}async send(t){const e=JSON.stringify(t),n=await r(e,this.config.clientSecret),i=JSON.stringify({token:this.config.projectToken,signature:n,payload:e});return this.connected&&this.ws?.readyState===WebSocket.OPEN?(this.ws.send(i),{ok:!0,status:200,retries:0}):new Promise((t,e)=>{this.pendingMessages.push({data:i,resolve:t,reject:e})})}destroy(){this.destroyed=!0,this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.ws&&(this.ws.onclose=null,this.ws.close(),this.ws=null);for(const t of this.pendingMessages)t.reject(new Error("Transport destroyed"));this.pendingMessages=[]}connect(){if(this.destroyed)return;const t=this.config.apiEndpoint.replace(/^http/,"ws")+"/ws/events";this.ws=new WebSocket(t),this.ws.onopen=()=>{this.connected=!0,this.reconnectAttempt=0;for(const t of this.pendingMessages)this.ws.send(t.data),t.resolve({ok:!0,status:200,retries:0});this.pendingMessages=[]},this.ws.onclose=()=>{this.connected=!1,this.scheduleReconnect()},this.ws.onerror=()=>{}}scheduleReconnect(){if(this.destroyed)return;const t=Math.min(1e3*Math.pow(2,this.reconnectAttempt),3e4);this.reconnectAttempt++,this.reconnectTimer=setTimeout(()=>this.connect(),t)}}function c(){return{userAgent:a(),language:u(),languages:d(),screenWidth:h(),screenHeight:l(),viewportWidth:g(),viewportHeight:f(),devicePixelRatio:m(),referrer:p(),url:w(),path:y(),title:v(),hostname:_(),timezone:S(),timezoneOffset:$(),online:b(),cookiesEnabled:T()}}function a(){try{return navigator.userAgent}catch{return""}}function u(){try{return navigator.language||""}catch{return""}}function d(){try{return navigator.languages??[u()]}catch{return[]}}function h(){try{return screen.width}catch{return 0}}function l(){try{return screen.height}catch{return 0}}function g(){try{return window.innerWidth}catch{return 0}}function f(){try{return window.innerHeight}catch{return 0}}function m(){try{return window.devicePixelRatio??1}catch{return 1}}function p(){try{return document.referrer}catch{return""}}function w(){try{return window.location.href}catch{return""}}function y(){try{return window.location.pathname}catch{return""}}function v(){try{return document.title}catch{return""}}function _(){try{return window.location.hostname}catch{return""}}function S(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return""}}function $(){try{return(new Date).getTimezoneOffset()}catch{return 0}}function b(){try{return navigator.onLine}catch{return!0}}function T(){try{return navigator.cookieEnabled}catch{return!1}}function k(t){const e=t||a();return e?e.includes("Edg/")||e.includes("Edge/")?"Edge":e.includes("OPR/")||e.includes("Opera")?"Opera":e.includes("Firefox/")?"Firefox":e.includes("Chrome/")&&e.includes("Safari/")?"Chrome":e.includes("Safari/")&&!e.includes("Chrome/")?"Safari":"Other":""}function x(t){const e=t||a();if(!e)return"";const n=[[/Edg\/(\d+[\d.]*)/,1],[/OPR\/(\d+[\d.]*)/,1],[/Firefox\/(\d+[\d.]*)/,1],[/Chrome\/(\d+[\d.]*)/,1],[/Version\/(\d+[\d.]*).*Safari/,1]];for(const[t,i]of n){const n=e.match(t);if(n)return n[i]}return""}function I(t){const e=t||a();return e?e.includes("Windows")?"Windows":e.includes("Mac OS")||e.includes("Macintosh")?"macOS":e.includes("iPhone")||e.includes("iPad")||e.includes("iPod")?"iOS":e.includes("Android")?"Android":e.includes("CrOS")?"Chrome OS":e.includes("Linux")?"Linux":"Other":""}function C(t){const e=t||a();if(!e)return"";const n=[[/Windows NT ([\d.]+)/,1],[/Mac OS X ([\d_.]+)/,1],[/iPhone OS ([\d_]+)/,1],[/iPad.*? OS ([\d_]+)/,1],[/Android ([\d.]+)/,1],[/CrOS [^\s]+ ([\d.]+)/,1]];for(const[t,i]of n){const n=e.match(t);if(n)return n[i].replace(/_/g,".")}return""}function O(t){const e=t||a();return e?/Mobi|Android.*Mobile|iPhone|iPod/.test(e)?"mobile":/Tablet|iPad/.test(e)?"tablet":"desktop":"desktop"}const E={google:"google","bing.com":"bing","yahoo.com":"yahoo","duckduckgo.com":"duckduckgo","baidu.com":"baidu","yandex.com":"yandex","yandex.ru":"yandex"},L="truxl_initial_referrer";function q(t){if(!t||"$direct"===t)return"";const e=t.toLowerCase();for(const[t,n]of Object.entries(E))if(e===t||e.endsWith("."+t))return n;return e.match(/^(www\.)?google\.[a-z.]+$/)?"google":""}function M(t,e,n){const i=c();t.track(e,{...n,$browser_info:{user_agent:i.userAgent,language:i.language,screen_width:i.screenWidth,screen_height:i.screenHeight,viewport_width:i.viewportWidth,viewport_height:i.viewportHeight},$url:i.url,$path:i.path,$referrer:i.referrer,$title:i.title,$hostname:i.hostname})}function P(t,e){const n=c();t.track("$pageview",{...e,$url:n.url,$path:n.path,$referrer:n.referrer,$title:n.title,$hostname:n.hostname,$screen_width:n.screenWidth,$screen_height:n.screenHeight,$viewport_width:n.viewportWidth,$viewport_height:n.viewportHeight,$device_pixel_ratio:n.devicePixelRatio,$language:n.language,$timezone:n.timezone,$online:n.online})}let R=null;const A=new Set(["password","hidden","file"]),N=["password","passwd","secret","token","credit","card","cvv","cvc","ssn","social"];function H(t){const e=[],n=t.elements;for(let t=0;t<n.length;t++){const i=n[t],r=i.tagName.toLowerCase();if(!["input","select","textarea"].includes(r))continue;const o=i.type?.toLowerCase()??"",s=i.name||void 0,c=i.id||void 0,a=W(o,s),u={tag:r,type:o||void 0,name:s,id:c,redacted:a};a||(u.value=j(i.value)),e.push(u)}return e}function W(t,e){if(A.has(t))return!0;if(e){const t=e.toLowerCase();return N.some(e=>t.includes(e))}return!1}function j(t,e=512){return t.length<=e?t:t.slice(0,e)+"..."}let D=[];const U=new Set(["password","hidden","file"]),z=["password","passwd","secret","token","credit","card","cvv","cvc","ssn","social"];function B(t,e){if("undefined"==typeof window||"undefined"==typeof document)return;if(D.length>0)return;const n=e.capture_text_content;if(e.click||e.dead_click||e.rage_click){const i=[],r=r=>{const o=r.target;if(!o)return;const s=function(t){let e=t;const n=5;for(let t=0;t<n&&e;t++){const t=e.tagName.toLowerCase();if("a"===t||"button"===t||"button"===e.getAttribute("role"))return e;e=e.parentElement}return null}(o);if(e.click&&s){const e=s.tagName.toLowerCase(),i={$element_tag:e,$element_classes:s.className||void 0,$element_id:s.id||void 0};n&&(i.$element_text=J(s.textContent?.trim()??"",256)),"a"===e&&(i.$element_href=s.href),s.dataset.truxlEvent&&(i.$custom_event_name=s.dataset.truxlEvent),M(t,"$autocapture_click",i)}if(e.rage_click&&s){const e=Date.now();for(i.push({target:s,timestamp:e});i.length>0&&e-i[0].timestamp>1e3;)i.shift();const r=i.filter(t=>t.target===s);if(r.length>=3){const e=s.tagName.toLowerCase();M(t,"$rage_click",{$element_tag:e,$element_classes:s.className||void 0,$element_id:s.id||void 0,$element_text:n?J(s.textContent?.trim()??"",256):void 0,$click_count:r.length}),i.length=0}}if(e.dead_click){!function(t,e,n){let i=!1;const r=new MutationObserver(()=>{i=!0,r.disconnect()});r.observe(document.body,{childList:!0,subtree:!0,attributes:!0,characterData:!0}),setTimeout(()=>{if(r.disconnect(),!i){const i=e.tagName.toLowerCase();M(t,"$dead_click",{$element_tag:i,$element_classes:e.className||void 0,$element_id:e.id||void 0,$element_text:n?J(e.textContent?.trim()??"",256):void 0})}},1e3)}(t,s||o,n)}};document.addEventListener("click",r,!0),D.push(()=>document.removeEventListener("click",r,!0))}if(e.input){const e=e=>{const i=e.target;if(!i)return;const r=i.tagName.toLowerCase();if(!["input","select","textarea"].includes(r))return;const o=function(t){const e=t.type?.toLowerCase()??"";if(U.has(e))return!0;const n=(t.name||t.id||"").toLowerCase();return z.some(t=>n.includes(t))}(i),s={$element_tag:r,$element_type:(i.type?.toLowerCase()??"")||void 0,$element_name:i.name||void 0,$element_id:i.id||void 0,$value_redacted:o};!o&&n&&(s.$element_value=J(i.value,256)),o||n||(s.$value_length=i.value.length),M(t,"$autocapture_input",s)};document.addEventListener("change",e,!0),D.push(()=>document.removeEventListener("change",e,!0))}if(e.scroll){const e=[25,50,75,100],n=new Set;let i=window.location.pathname;const r=()=>{window.location.pathname!==i&&(n.clear(),i=window.location.pathname);const r=window.scrollY||document.documentElement.scrollTop,o=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),s=window.innerHeight;if(o<=s)return;const c=Math.round((r+s)/o*100);for(const i of e)c>=i&&!n.has(i)&&(n.add(i),M(t,"$autocapture_scroll",{$scroll_depth:i,$scroll_depth_pixels:r+s,$document_height:o,$url:window.location.href,$path:window.location.pathname}))};let o=null;const s=()=>{o||(o=setTimeout(()=>{o=null,r()},200))};window.addEventListener("scroll",s,{passive:!0}),D.push(()=>window.removeEventListener("scroll",s))}if(e.submit&&(!function(t){if("undefined"==typeof document)return;if(R)return;const e=e=>{const n=e.target;if(!n||"form"!==n.tagName.toLowerCase())return;const i={$form_id:n.id||void 0,$form_name:n.getAttribute("name")||void 0,$form_action:n.action||void 0,$form_method:(n.method||"GET").toUpperCase(),$form_fields:H(n)};M(t,"$form_submit",i)};document.addEventListener("submit",e,!0),R=()=>{document.removeEventListener("submit",e,!0)}}(t),D.push(()=>{R&&(R(),R=null)})),e.pageview){let n=window.location.href;const i=()=>{const i=window.location.href;i!==n&&(n=i,P(t,F(e.pageview)))};P(t,F(e.pageview));const r=history.pushState.bind(history),o=history.replaceState.bind(history);history.pushState=function(...t){r(...t),i()},history.replaceState=function(...t){o(...t),i()},D.push(()=>{history.pushState=r,history.replaceState=o});const s=()=>i();window.addEventListener("popstate",s),D.push(()=>window.removeEventListener("popstate",s))}}function F(t){if("path-only"===t)return{$pageview_mode:"path-only"}}function J(t,e){return t.length<=e?t:t.slice(0,e)+"..."}t.BeaconTransport=class{constructor(t){this.config=t.config}async send(t){const e=JSON.stringify(t),n=await r(e,this.config.clientSecret),i=`${this.config.apiEndpoint}/v1/batch`;return this.isBeaconAvailable()?this.sendViaBeacon(i,e,n):this.sendViaXHR(i,e,n)}sendSync(t,e){const n=JSON.stringify(t),i=`${this.config.apiEndpoint}/v1/batch`;return this.isBeaconAvailable()?this.sendViaBeacon(i,n,e):this.sendViaXHR(i,n,e)}isBeaconAvailable(){return"undefined"!=typeof navigator&&"function"==typeof navigator.sendBeacon}sendViaBeacon(t,e,n){const i=`${t}?token=${encodeURIComponent(this.config.projectToken)}&sig=${encodeURIComponent(n)}`,r=new Blob([e],{type:"application/json"});return navigator.sendBeacon(i,r)}sendViaXHR(t,e,n){try{const i=new XMLHttpRequest;return i.open("POST",t,!1),i.setRequestHeader("Content-Type","application/json"),i.setRequestHeader("X-Project-Token",this.config.projectToken),i.setRequestHeader("X-Signature",n),i.send(e),i.status>=200&&i.status<300}catch{return!1}}},t.HttpTransport=o,t.TruxlClient=class{constructor(t){this.distinctId=null,this.pageviewTeardownFns=[],this.config={...n,...t},this.deviceId=this.getOrCreateDeviceId(),this.distinctId=this.loadDistinctId(),this.initialReferrer=function(){try{let t=localStorage.getItem(L);return null===t&&(t=document.referrer||"$direct",localStorage.setItem(L,t)),t}catch{return document.referrer||"$direct"}}(),this.transport="websocket"===this.config.transport?new s({config:this.config}):new o({config:this.config}),this.queue=new i(this.config,this.transport);const r=(c=this.config.autocapture)?!0===c?{...e}:{...e,...c}:null;var c;r&&B(this,r),!this.config.track_pageview||r&&r.pageview||this.startPageviewTracking(),this.config.debug&&console.log("[Truxl] Initialized with config:",this.config)}track(t,e){const n=p(),i=function(t){if(!t)return"$direct";try{return new URL(t).hostname}catch{return"$direct"}}(n),r={...e||{}},o=function(){const t="truxl_utm";try{const e=sessionStorage.getItem(t);if(e)return JSON.parse(e)}catch{}const e={utmSource:"",utmMedium:"",utmCampaign:"",utmTerm:"",utmContent:""};try{const n=new URLSearchParams(window.location.search),i={utmSource:n.get("utm_source")||"",utmMedium:n.get("utm_medium")||"",utmCampaign:n.get("utm_campaign")||"",utmTerm:n.get("utm_term")||"",utmContent:n.get("utm_content")||""},r=Object.values(i).some(t=>""!==t);if(r)try{sessionStorage.setItem(t,JSON.stringify(i))}catch{}return r?i:e}catch{return e}}(),s={eventName:t,distinctId:this.distinctId||this.deviceId,deviceId:this.deviceId,timestamp:Date.now(),properties:r,sessionId:this.getSessionId(),sdk:"web",sdkVersion:"0.1.0",screenWidth:String(h()),screenHeight:String(l()),browser:k(),browserVersion:x(),os:I(),osVersion:C(),deviceType:O(),referrer:n,userTimezone:S(),initialReferrer:this.initialReferrer,searchEngine:q(i),utmSource:o.utmSource,utmMedium:o.utmMedium,utmCampaign:o.utmCampaign,utmTerm:o.utmTerm,utmContent:o.utmContent};this.queue.enqueue(s),this.config.debug&&console.log("[Truxl] Track:",t,e)}identify(t,e){this.distinctId=t;try{localStorage.setItem("truxl_distinct_id",t)}catch{}e&&this.track("$identify",{$set:e}),this.config.debug&&console.log("[Truxl] Identify:",t,e)}reset(){this.distinctId=null;try{localStorage.removeItem("truxl_distinct_id")}catch{}}flush(){this.queue.flush()}destroy(){!function(){for(const t of D)t();D=[]}(),this.stopPageviewTracking(),this.queue.destroy()}startPageviewTracking(){if("undefined"==typeof window)return;let t=window.location.href;const e=()=>{const e=window.location.href;e!==t&&(t=e,P(this))};P(this);const n=history.pushState.bind(history),i=history.replaceState.bind(history);history.pushState=function(...t){n(...t),e()},history.replaceState=function(...t){i(...t),e()},this.pageviewTeardownFns.push(()=>{history.pushState=n,history.replaceState=i});const r=()=>e();window.addEventListener("popstate",r),this.pageviewTeardownFns.push(()=>window.removeEventListener("popstate",r))}stopPageviewTracking(){for(const t of this.pageviewTeardownFns)t();this.pageviewTeardownFns=[]}loadDistinctId(){try{return localStorage.getItem("truxl_distinct_id")}catch{return null}}getOrCreateDeviceId(){const t="truxl_device_id";try{let e=localStorage.getItem(t);return e||(e=crypto.randomUUID(),localStorage.setItem(t,e)),e}catch{return crypto.randomUUID()}}getSessionId(){const t="truxl_session_id";try{let e=sessionStorage.getItem(t);return e||(e=crypto.randomUUID(),sessionStorage.setItem(t,e)),e}catch{return crypto.randomUUID()}}},t.WebSocketTransport=s,Object.defineProperty(t,"__esModule",{value:!0})});
2
+ //# sourceMappingURL=truxl.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truxl.umd.js","sources":["../src/core/config.ts","../src/core/queue.ts","../src/security/hmac.ts","../src/transport/http.ts","../src/transport/websocket.ts","../src/utils/browser.ts","../src/utils/referrer.ts","../src/tracking/events.ts","../src/tracking/forms.ts","../src/tracking/autocapture.ts","../src/transport/beacon.ts","../src/core/client.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["DEFAULT_AUTOCAPTURE_CONFIG","pageview","click","dead_click","input","rage_click","scroll","submit","capture_text_content","DEFAULT_CONFIG","apiEndpoint","batchSize","flushInterval","autocapture","track_pageview","debug","maxQueueSize","retryAttempts","retryBaseDelay","transport","EventQueue","constructor","config","this","queue","timer","sending","loadFromStorage","startTimer","window","addEventListener","flush","enqueue","event","length","shift","push","saveToStorage","batch","splice","result","send","events","ok","status","unshift","destroy","clearInterval","setInterval","requestIdleCallback","localStorage","setItem","JSON","stringify","setTimeout","stored","getItem","parse","async","signPayload","payload","secret","encoder","TextEncoder","key","crypto","subtle","importKey","encode","name","hash","signature","sign","Array","from","Uint8Array","map","b","toString","padStart","join","HttpTransport","options","body","sendWithRetry","attempt","clientSecret","response","fetch","method","headers","projectToken","retries","wait","delay","Math","min","pow","Promise","resolve","WebSocketTransport","ws","reconnectAttempt","reconnectTimer","pendingMessages","connected","destroyed","connect","message","token","readyState","WebSocket","OPEN","reject","data","clearTimeout","onclose","close","msg","Error","wsEndpoint","replace","onopen","scheduleReconnect","onerror","getBrowserInfo","userAgent","getUserAgent","language","getLanguage","languages","getLanguages","screenWidth","getScreenWidth","screenHeight","getScreenHeight","viewportWidth","getViewportWidth","viewportHeight","getViewportHeight","devicePixelRatio","getDevicePixelRatio","referrer","getReferrer","url","getCurrentUrl","path","getCurrentPath","title","getPageTitle","hostname","getHostname","timezone","getTimezone","timezoneOffset","getTimezoneOffset","online","getOnlineStatus","cookiesEnabled","getCookiesEnabled","navigator","screen","width","height","innerWidth","innerHeight","document","location","href","pathname","Intl","DateTimeFormat","resolvedOptions","timeZone","Date","onLine","cookieEnabled","parseBrowserName","ua","s","includes","parseBrowserVersion","patterns","re","group","m","match","parseOsName","parseOsVersion","parseDeviceType","test","SEARCH_ENGINE_DOMAINS","google","INITIAL_REFERRER_KEY","parseSearchEngine","referrerDomain","domain","toLowerCase","pattern","engine","Object","entries","endsWith","trackEvent","client","eventName","properties","browser","track","$browser_info","user_agent","screen_width","screen_height","viewport_width","viewport_height","$url","$path","$referrer","$title","$hostname","trackPageView","$screen_width","$screen_height","$viewport_width","$viewport_height","$device_pixel_ratio","$language","$timezone","$online","teardownFn","SENSITIVE_TYPES","Set","SENSITIVE_NAME_PATTERNS","collectFieldMetadata","form","fields","elements","i","el","tag","tagName","type","undefined","id","isSensitive","isSensitiveField","meta","redacted","value","truncateValue","has","lower","some","maxLength","slice","teardownFns","SENSITIVE_INPUT_TYPES","startAutocapture","captureText","recentClicks","handleClick","target","element","current","maxDepth","getAttribute","parentElement","findTrackableAncestor","$element_tag","$element_classes","className","$element_id","$element_text","truncate","textContent","trim","$element_href","dataset","truxlEvent","$custom_event_name","now","timestamp","sameTargetClicks","filter","c","$click_count","mutated","observer","MutationObserver","disconnect","observe","childList","subtree","attributes","characterData","detectDeadClick","removeEventListener","handleChange","sensitive","p","isSensitiveInput","$element_type","$element_name","$value_redacted","$element_value","$value_length","milestones","reachedMilestones","scrollPath","handleScroll","clear","scrollTop","scrollY","documentElement","docHeight","max","scrollHeight","scrollPercent","round","milestone","add","$scroll_depth","$scroll_depth_pixels","$document_height","scrollTimeout","throttledScroll","passive","handleSubmit","$form_id","$form_name","$form_action","action","$form_method","toUpperCase","$form_fields","startFormTracking","lastUrl","checkUrlChange","currentUrl","buildPageviewProperties","originalPushState","history","pushState","bind","originalReplaceState","replaceState","args","handlePopState","pageviewMode","$pageview_mode","isBeaconAvailable","sendViaBeacon","sendViaXHR","sendSync","precomputedSignature","sendBeacon","beaconUrl","encodeURIComponent","blob","Blob","xhr","XMLHttpRequest","open","setRequestHeader","distinctId","pageviewTeardownFns","deviceId","getOrCreateDeviceId","loadDistinctId","initialReferrer","getInitialReferrer","autocaptureConfig","startPageviewTracking","console","log","URL","extractDomain","mergedProperties","utm","STORAGE_KEY","cached","sessionStorage","empty","utmSource","utmMedium","utmCampaign","utmTerm","utmContent","params","URLSearchParams","search","get","hasAny","values","v","getUtmParams","sessionId","getSessionId","sdk","sdkVersion","String","browserVersion","os","osVersion","deviceType","userTimezone","searchEngine","identify","userProperties","$set","reset","removeItem","fn","stopAutocapture","stopPageviewTracking","randomUUID"],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Browser environment utilities.
3
+ * Gathers user-agent, screen size, referrer, viewport, language, and other
4
+ * contextual information that is attached to tracked events.
5
+ */
6
+ export interface BrowserInfo {
7
+ userAgent: string;
8
+ language: string;
9
+ languages: readonly string[];
10
+ screenWidth: number;
11
+ screenHeight: number;
12
+ viewportWidth: number;
13
+ viewportHeight: number;
14
+ devicePixelRatio: number;
15
+ referrer: string;
16
+ url: string;
17
+ path: string;
18
+ title: string;
19
+ hostname: string;
20
+ timezone: string;
21
+ timezoneOffset: number;
22
+ online: boolean;
23
+ cookiesEnabled: boolean;
24
+ }
25
+ /**
26
+ * Collect a snapshot of the current browser/page context.
27
+ * Every property access is wrapped so this function never throws, even in
28
+ * non-browser environments.
29
+ */
30
+ export declare function getBrowserInfo(): BrowserInfo;
31
+ export declare function getUserAgent(): string;
32
+ export declare function getLanguage(): string;
33
+ export declare function getLanguages(): readonly string[];
34
+ export declare function getScreenWidth(): number;
35
+ export declare function getScreenHeight(): number;
36
+ export declare function getViewportWidth(): number;
37
+ export declare function getViewportHeight(): number;
38
+ export declare function getDevicePixelRatio(): number;
39
+ export declare function getReferrer(): string;
40
+ export declare function getCurrentUrl(): string;
41
+ export declare function getCurrentPath(): string;
42
+ export declare function getPageTitle(): string;
43
+ export declare function getHostname(): string;
44
+ export declare function getTimezone(): string;
45
+ export declare function getTimezoneOffset(): number;
46
+ export declare function getOnlineStatus(): boolean;
47
+ export declare function getCookiesEnabled(): boolean;
48
+ /**
49
+ * Detect the browser name from the user-agent string.
50
+ */
51
+ export declare function parseBrowserName(ua?: string): string;
52
+ /**
53
+ * Detect the browser version from the user-agent string.
54
+ */
55
+ export declare function parseBrowserVersion(ua?: string): string;
56
+ /**
57
+ * Detect the OS name from the user-agent string.
58
+ */
59
+ export declare function parseOsName(ua?: string): string;
60
+ /**
61
+ * Detect the OS version from the user-agent string.
62
+ */
63
+ export declare function parseOsVersion(ua?: string): string;
64
+ /**
65
+ * Detect device type from user-agent string.
66
+ */
67
+ export declare function parseDeviceType(ua?: string): string;
68
+ export interface UtmParams {
69
+ utmSource: string;
70
+ utmMedium: string;
71
+ utmCampaign: string;
72
+ utmTerm: string;
73
+ utmContent: string;
74
+ }
75
+ /**
76
+ * Extract UTM parameters from the current page URL.
77
+ * Once captured on the landing page they are cached in sessionStorage
78
+ * so subsequent page navigations within the same session retain them.
79
+ */
80
+ export declare function getUtmParams(): UtmParams;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * GeoIP utilities.
3
+ * Fetches the user's country and city from a free IP geolocation API.
4
+ * The result is cached in memory — geo location doesn't change mid-session.
5
+ */
6
+ export interface GeoInfo {
7
+ country: string;
8
+ city: string;
9
+ region: string;
10
+ }
11
+ /**
12
+ * Fetch the user's country and city from an IP geolocation service.
13
+ * - Calls `https://ip-api.com/json/?fields=country,city` (free, no key required)
14
+ * - Caches the result for the lifetime of the page
15
+ * - Times out after 2 seconds and returns empty strings on failure
16
+ * - Non-blocking: never throws
17
+ */
18
+ export declare function fetchGeoInfo(): Promise<GeoInfo>;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Referrer parsing utilities.
3
+ * Extracts domain, detects search engines, and persists the initial referrer
4
+ * for attribution tracking across the user's first visit.
5
+ */
6
+ /**
7
+ * Extract the hostname from a URL string.
8
+ * Returns `$direct` if the URL is empty or invalid.
9
+ */
10
+ export declare function extractDomain(url: string): string;
11
+ /**
12
+ * Detect if a referrer domain is a known search engine.
13
+ * Returns the search engine name (e.g., 'google', 'bing') or empty string.
14
+ */
15
+ export declare function parseSearchEngine(referrerDomain: string): string;
16
+ /**
17
+ * Get the initial referrer for this user.
18
+ * On the first visit, persists `document.referrer` (or `$direct`) to localStorage.
19
+ * Returns the stored value on subsequent visits.
20
+ */
21
+ export declare function getInitialReferrer(): string;
22
+ /**
23
+ * Get the domain of the initial referrer.
24
+ * Returns `$direct` if the user arrived directly (no referrer).
25
+ */
26
+ export declare function getInitialReferringDomain(): string;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Storage helpers with safe fallbacks for Safari private browsing
3
+ * and environments where localStorage/sessionStorage/cookies are unavailable.
4
+ */
5
+ export declare function getLocalStorageItem(key: string): string | null;
6
+ export declare function setLocalStorageItem(key: string, value: string): boolean;
7
+ export declare function removeLocalStorageItem(key: string): boolean;
8
+ export declare function getSessionStorageItem(key: string): string | null;
9
+ export declare function setSessionStorageItem(key: string, value: string): boolean;
10
+ export declare function removeSessionStorageItem(key: string): boolean;
11
+ export interface CookieOptions {
12
+ maxAge?: number;
13
+ path?: string;
14
+ domain?: string;
15
+ secure?: boolean;
16
+ sameSite?: 'Strict' | 'Lax' | 'None';
17
+ }
18
+ export declare function getCookie(name: string): string | null;
19
+ export declare function setCookie(name: string, value: string, options?: CookieOptions): boolean;
20
+ export declare function removeCookie(name: string, path?: string): boolean;
21
+ export declare function isLocalStorageAvailable(): boolean;
22
+ export declare function isSessionStorageAvailable(): boolean;
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@truxl/javascript-sdk",
3
+ "version": "1.0.0",
4
+ "description": "Truxl analytics JavaScript SDK for browser event tracking",
5
+ "main": "dist/truxl.umd.js",
6
+ "module": "dist/truxl.esm.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "scripts": {
12
+ "build": "rollup -c",
13
+ "dev": "rollup -c -w",
14
+ "test": "echo \"No tests yet\" && exit 0"
15
+ },
16
+ "keywords": [
17
+ "analytics",
18
+ "tracking",
19
+ "events"
20
+ ],
21
+ "author": "Truxl",
22
+ "license": "MIT",
23
+ "devDependencies": {
24
+ "@rollup/plugin-commonjs": "^29.0.0",
25
+ "@rollup/plugin-node-resolve": "^16.0.3",
26
+ "@rollup/plugin-typescript": "^12.3.0",
27
+ "rollup": "^2.80.0",
28
+ "rollup-plugin-terser": "^7.0.2",
29
+ "tslib": "^2.8.1",
30
+ "typescript": "^5.9.3"
31
+ }
32
+ }