@clianta/sdk 1.6.2 → 1.6.4
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/README.md +185 -63
- package/dist/angular.cjs.js +16 -5
- package/dist/angular.cjs.js.map +1 -1
- package/dist/angular.esm.js +15 -5
- package/dist/angular.esm.js.map +1 -1
- package/dist/clianta.cjs.js +16 -5
- package/dist/clianta.cjs.js.map +1 -1
- package/dist/clianta.esm.js +15 -5
- package/dist/clianta.esm.js.map +1 -1
- package/dist/clianta.umd.js +16 -5
- package/dist/clianta.umd.js.map +1 -1
- package/dist/clianta.umd.min.js +2 -2
- package/dist/clianta.umd.min.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/react.cjs.js +22 -8
- package/dist/react.cjs.js.map +1 -1
- package/dist/react.d.ts +8 -4
- package/dist/react.esm.js +21 -8
- package/dist/react.esm.js.map +1 -1
- package/dist/svelte.cjs.js +16 -5
- package/dist/svelte.cjs.js.map +1 -1
- package/dist/svelte.esm.js +15 -5
- package/dist/svelte.esm.js.map +1 -1
- package/dist/vue.cjs.js +16 -5
- package/dist/vue.cjs.js.map +1 -1
- package/dist/vue.esm.js +15 -5
- package/dist/vue.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/clianta.umd.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Clianta SDK v1.6.
|
|
2
|
+
* Clianta SDK v1.6.4
|
|
3
3
|
* (c) 2026 Clianta
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Clianta={})}(this,function(e){"use strict";const t="1.6.2",n={projectId:"",apiEndpoint:"undefined"!=typeof process&&process.env?.NEXT_PUBLIC_CLIANTA_API_ENDPOINT?process.env.NEXT_PUBLIC_CLIANTA_API_ENDPOINT:"undefined"!=typeof process&&process.env?.VITE_CLIANTA_API_ENDPOINT?process.env.VITE_CLIANTA_API_ENDPOINT:"undefined"!=typeof process&&process.env?.REACT_APP_CLIANTA_API_ENDPOINT?process.env.REACT_APP_CLIANTA_API_ENDPOINT:"undefined"!=typeof process&&process.env?.CLIANTA_API_ENDPOINT?process.env.CLIANTA_API_ENDPOINT:"http://localhost:5000",debug:!1,autoPageView:!0,plugins:["pageView","forms","scroll","clicks","engagement","downloads","exitIntent","errors","performance"],sessionTimeout:18e5,batchSize:10,flushInterval:5e3,consent:{defaultConsent:{analytics:!0,marketing:!1,personalization:!1},waitForConsent:!1,storageKey:"mb_consent",anonymousMode:!1},cookieDomain:"",useCookies:!1,cookielessMode:!1,persistMode:"session"},i="mb_vid",s="mb_sid",o="mb_st",r="mb_consent",a="mb_queue",d=[25,50,75,100],c=[".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".zip",".rar",".tar",".gz",".7z",".csv",".txt",".json",".xml",".mp3",".mp4",".wav",".avi",".mov"];const l="[Clianta]",u={debug:"color: #6b7280; font-weight: normal;",info:"color: #3b82f6; font-weight: normal;",warn:"color: #f59e0b; font-weight: bold;",error:"color: #ef4444; font-weight: bold;"},h={debug:0,info:1,warn:2,error:3};const p=function(e=!1){let t="debug",n=e;const i=e=>!!n&&h[e]>=h[t],s=(e,t)=>"undefined"!=typeof console&&"undefined"!=typeof window?[`%c${l}`,u[e],...t]:[`${l} [${e.toUpperCase()}]`,...t];return{get enabled(){return n},set enabled(e){n=e},debug(...e){i("debug")&&"undefined"!=typeof console&&console.log(...s("debug",e))},info(...e){i("info")&&"undefined"!=typeof console&&console.info(...s("info",e))},warn(...e){i("warn")&&"undefined"!=typeof console&&console.warn(...s("warn",e))},error(...e){i("error")&&"undefined"!=typeof console&&console.error(...s("error",e))},setLevel(e){t=e}}}(!1);class f{constructor(e){this.config={apiEndpoint:e.apiEndpoint,maxRetries:e.maxRetries??3,retryDelay:e.retryDelay??1e3,timeout:e.timeout??1e4}}async sendEvents(e){const t=`${this.config.apiEndpoint}/api/public/track/event`,n=JSON.stringify({events:e});return this.send(t,n)}async sendIdentify(e){const t=`${this.config.apiEndpoint}/api/public/track/identify`;try{const n=await this.fetchWithTimeout(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),keepalive:!0}),i=await n.json().catch(()=>({}));return n.ok?(p.debug("Identify successful, contactId:",i.contactId),{success:!0,status:n.status,contactId:i.contactId??void 0}):(n.status>=500?p.warn(`Identify server error (${n.status})`):p.error(`Identify failed with status ${n.status}:`,i.message),{success:!1,status:n.status})}catch(e){return p.error("Identify request failed:",e),{success:!1,error:e}}}sendBeacon(e){if("undefined"==typeof navigator||!navigator.sendBeacon)return p.warn("sendBeacon not available, events may be lost"),!1;const t=`${this.config.apiEndpoint}/api/public/track/event`,n=JSON.stringify({events:e}),i=new Blob([n],{type:"application/json"});try{const n=navigator.sendBeacon(t,i);return n?p.debug(`Beacon sent ${e.length} events`):p.warn("sendBeacon returned false"),n}catch(e){return p.error("sendBeacon error:",e),!1}}async fetchData(e,t){const n=new URL(`${this.config.apiEndpoint}${e}`);t&&Object.entries(t).forEach(([e,t])=>{null!=t&&n.searchParams.set(e,t)});try{const t=await this.fetchWithTimeout(n.toString(),{method:"GET",headers:{Accept:"application/json"}});if(t.ok){const n=await t.json();return p.debug("Fetch successful:",e),{success:!0,data:n.data??n,status:t.status}}return p.error(`Fetch failed with status ${t.status}`),{success:!1,status:t.status}}catch(e){return p.error("Fetch request failed:",e),{success:!1,error:e}}}async send(e,t,n=1){try{const i=await this.fetchWithTimeout(e,{method:"POST",headers:{"Content-Type":"application/json"},body:t,keepalive:!0});return i.ok?(p.debug("Request successful:",e),{success:!0,status:i.status}):i.status>=500&&n<this.config.maxRetries?(p.warn(`Server error (${i.status}), retrying...`),await this.delay(this.config.retryDelay*n),this.send(e,t,n+1)):(p.error(`Request failed with status ${i.status}`),{success:!1,status:i.status})}catch(i){return n<this.config.maxRetries?(p.warn(`Network error, retrying (${n}/${this.config.maxRetries})...`),await this.delay(this.config.retryDelay*n),this.send(e,t,n+1)):(p.error("Request failed after retries:",i),{success:!1,error:i})}}async fetchWithTimeout(e,t){const n=new AbortController,i=setTimeout(()=>n.abort(),this.config.timeout);try{return await fetch(e,{...t,signal:n.signal})}finally{clearTimeout(i)}}delay(e){return new Promise(t=>setTimeout(t,e))}}function m(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}function g(e){try{if("undefined"!=typeof sessionStorage)return sessionStorage.getItem(e)}catch{}return null}function w(e,t){try{if("undefined"!=typeof sessionStorage)return sessionStorage.setItem(e,t),!0}catch{}return!1}function y(e,t,n){if("undefined"==typeof document)return null;if(void 0===t){const t=document.cookie.match(new RegExp("(^| )"+e+"=([^;]+)"));return t?t[2]:null}let i="";if(n){const e=new Date;e.setTime(e.getTime()+24*n*60*60*1e3),i="; expires="+e.toUTCString()}const s="undefined"!=typeof location&&"https:"===location.protocol?"; Secure":"";return document.cookie=e+"="+t+i+"; path=/; SameSite=Lax"+s,t}function v(e=!1){const t=i;let n=null;return n=e?y(t):function(e){try{if("undefined"!=typeof localStorage)return localStorage.getItem(e)}catch{}return null}(t),n||(n=m(),e?y(t,n,365):function(e,t){try{if("undefined"!=typeof localStorage)return localStorage.setItem(e,t),!0}catch{}}(t,n)),n}function b(e=!1){const t=i;if(e)y(t,"",-1);else try{localStorage.removeItem(t)}catch{}try{sessionStorage.removeItem(s),sessionStorage.removeItem(o)}catch{}}function E(){if("undefined"==typeof window)return{};try{const e=new URLSearchParams(window.location.search);return{utmSource:e.get("utm_source")||void 0,utmMedium:e.get("utm_medium")||void 0,utmCampaign:e.get("utm_campaign")||void 0,utmTerm:e.get("utm_term")||void 0,utmContent:e.get("utm_content")||void 0}}catch{return{}}}function k(e){try{return e.split("/").pop()?.split("?")[0]||"unknown"}catch{return"unknown"}}function x(e){const t=k(e).split(".");return t.length>1&&t.pop()||"unknown"}function I(e,t=100){return(e.innerText||e.textContent||e.value||"").trim().substring(0,t)}class T{constructor(e,t={}){this.queue=[],this.flushTimer=null,this.isFlushing=!1,this.eventTimestamps=[],this.boundBeforeUnload=null,this.boundVisibilityChange=null,this.boundPageHide=null,this.transport=e,this.config={batchSize:t.batchSize??10,flushInterval:t.flushInterval??5e3,maxQueueSize:t.maxQueueSize??1e3,storageKey:t.storageKey??a},this.persistMode=t.persistMode||"session",this.restoreQueue(),this.startFlushTimer(),this.setupUnloadHandlers()}push(e){this.checkRateLimit()?(this.queue.length>=this.config.maxQueueSize&&(p.warn("Queue full, dropping oldest event"),this.queue.shift()),this.queue.push(e),p.debug("Event queued:",e.eventName,`(${this.queue.length} in queue)`),this.queue.length>=this.config.batchSize&&this.flush()):p.warn("Rate limit exceeded, event dropped:",e.eventName)}checkRateLimit(){const e=Date.now();return this.eventTimestamps=this.eventTimestamps.filter(t=>e-t<6e4),!(this.eventTimestamps.length>=100)&&(this.eventTimestamps.push(e),!0)}async flush(){if(this.isFlushing||0===this.queue.length)return;this.isFlushing=!0;const e=this.queue.length,t=this.queue.splice(0,e);try{p.debug(`Flushing ${t.length} events`),this.persistQueue([]);(await this.transport.sendEvents(t)).success?p.debug("Flush successful"):(p.warn("Flush failed, re-queuing events"),this.queue.unshift(...t),this.persistQueue(this.queue))}catch(e){p.error("Flush error:",e)}finally{this.isFlushing=!1}}flushSync(){if(0===this.queue.length)return;const e=this.queue.splice(0,this.queue.length);p.debug(`Sync flushing ${e.length} events via beacon`);this.transport.sendBeacon(e)||(this.queue.unshift(...e),this.persistQueue(this.queue))}get length(){return this.queue.length}clear(){if(this.queue=[],this.persistQueue([]),"local"===this.persistMode&&"undefined"!=typeof localStorage)try{localStorage.removeItem(this.config.storageKey)}catch{}}destroy(){this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=null),"undefined"!=typeof window&&(this.boundBeforeUnload&&window.removeEventListener("beforeunload",this.boundBeforeUnload),this.boundVisibilityChange&&window.removeEventListener("visibilitychange",this.boundVisibilityChange),this.boundPageHide&&window.removeEventListener("pagehide",this.boundPageHide))}startFlushTimer(){this.flushTimer&&clearInterval(this.flushTimer),this.flushTimer=setInterval(()=>{this.flush()},this.config.flushInterval)}setupUnloadHandlers(){"undefined"!=typeof window&&(this.boundBeforeUnload=()=>this.flushSync(),window.addEventListener("beforeunload",this.boundBeforeUnload),this.boundVisibilityChange=()=>{"hidden"===document.visibilityState&&this.flushSync()},window.addEventListener("visibilitychange",this.boundVisibilityChange),this.boundPageHide=()=>this.flushSync(),window.addEventListener("pagehide",this.boundPageHide))}persistQueue(e){if("none"!==this.persistMode)try{const t=JSON.stringify(e);if("local"===this.persistMode&&"undefined"!=typeof localStorage)try{localStorage.setItem(this.config.storageKey,t)}catch{w(this.config.storageKey,t)}else w(this.config.storageKey,t)}catch{}}restoreQueue(){try{let e=null;if("local"===this.persistMode&&"undefined"!=typeof localStorage&&(e=localStorage.getItem(this.config.storageKey)),e||(e=g(this.config.storageKey)),e){const t=JSON.parse(e);Array.isArray(t)&&t.length>0&&(this.queue=t,p.debug(`Restored ${t.length} events from storage`))}}catch{}}}class S{constructor(){this.tracker=null}init(e){this.tracker=e}destroy(){this.tracker=null}track(e,t,n){this.tracker&&this.tracker.track(e,t,n)}}class C extends S{constructor(){super(...arguments),this.name="pageView",this.originalPushState=null,this.originalReplaceState=null,this.popstateHandler=null}init(e){if(super.init(e),this.trackPageView(),"undefined"!=typeof window){this.originalPushState=history.pushState,this.originalReplaceState=history.replaceState;const e=this;history.pushState=function(...t){e.originalPushState.apply(history,t),e.trackPageView(),window.dispatchEvent(new Event("clianta:navigation"))},history.replaceState=function(...t){e.originalReplaceState.apply(history,t),e.trackPageView(),window.dispatchEvent(new Event("clianta:navigation"))},this.popstateHandler=()=>this.trackPageView(),window.addEventListener("popstate",this.popstateHandler)}}destroy(){this.originalPushState&&(history.pushState=this.originalPushState,this.originalPushState=null),this.originalReplaceState&&(history.replaceState=this.originalReplaceState,this.originalReplaceState=null),this.popstateHandler&&"undefined"!=typeof window&&(window.removeEventListener("popstate",this.popstateHandler),this.popstateHandler=null),super.destroy()}trackPageView(){"undefined"!=typeof window&&"undefined"!=typeof document&&this.track("page_view","Page Viewed",{title:document.title,path:window.location.pathname,search:window.location.search,hash:window.location.hash,referrer:document.referrer||"direct",viewport:`${window.innerWidth}x${window.innerHeight}`})}}class H extends S{constructor(){super(...arguments),this.name="scroll",this.milestonesReached=new Set,this.maxScrollDepth=0,this.pageLoadTime=0,this.scrollTimeout=null,this.boundHandler=null,this.navigationHandler=null,this.popstateHandler=null}init(e){super.init(e),this.pageLoadTime=Date.now(),"undefined"!=typeof window&&(this.boundHandler=this.handleScroll.bind(this),window.addEventListener("scroll",this.boundHandler,{passive:!0}),this.navigationHandler=()=>this.resetForNavigation(),window.addEventListener("clianta:navigation",this.navigationHandler),this.popstateHandler=()=>this.resetForNavigation(),window.addEventListener("popstate",this.popstateHandler))}destroy(){this.boundHandler&&"undefined"!=typeof window&&window.removeEventListener("scroll",this.boundHandler),this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.navigationHandler&&"undefined"!=typeof window&&(window.removeEventListener("clianta:navigation",this.navigationHandler),this.navigationHandler=null),this.popstateHandler&&"undefined"!=typeof window&&(window.removeEventListener("popstate",this.popstateHandler),this.popstateHandler=null),super.destroy()}resetForNavigation(){this.milestonesReached.clear(),this.maxScrollDepth=0,this.pageLoadTime=Date.now()}handleScroll(){this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.scrollTimeout=setTimeout(()=>this.trackScrollDepth(),150)}trackScrollDepth(){if("undefined"==typeof window||"undefined"==typeof document)return;const e=window.innerHeight,t=document.documentElement.scrollHeight,n=window.pageYOffset||document.documentElement.scrollTop,i=t-e;if(i<=0)return;const s=Math.floor(n/i*100),o=Math.max(0,Math.min(100,s));o>this.maxScrollDepth&&(this.maxScrollDepth=o);for(const e of d)o>=e&&!this.milestonesReached.has(e)&&(this.milestonesReached.add(e),this.track("scroll_depth",`Scrolled ${e}%`,{depth:e,maxDepth:this.maxScrollDepth,timeToReach:Date.now()-this.pageLoadTime}))}}class L extends S{constructor(){super(...arguments),this.name="forms",this.trackedForms=new WeakSet,this.formInteractions=new Set,this.observer=null,this.listeners=[]}init(e){super.init(e),"undefined"!=typeof document&&(this.trackAllForms(),"undefined"!=typeof MutationObserver&&(this.observer=new MutationObserver(()=>this.trackAllForms()),this.observer.observe(document.body,{childList:!0,subtree:!0})))}destroy(){this.observer&&(this.observer.disconnect(),this.observer=null);for(const{element:e,event:t,handler:n}of this.listeners)e.removeEventListener(t,n);this.listeners=[],super.destroy()}addListener(e,t,n){e.addEventListener(t,n),this.listeners.push({element:e,event:t,handler:n})}trackAllForms(){document.querySelectorAll("form").forEach(e=>{this.setupFormTracking(e)})}setupFormTracking(e){if(this.trackedForms.has(e))return;this.trackedForms.add(e);const t=e.id||e.name||`form-${Math.random().toString(36).substr(2,9)}`;this.track("form_view","Form Viewed",{formId:t,action:e.action,method:e.method,fieldCount:e.elements.length}),Array.from(e.elements).forEach(e=>{if(e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement){if(!e.name||"submit"===e.type||"button"===e.type)return;["focus","blur","change"].forEach(n=>{this.addListener(e,n,()=>{const i=`${t}-${e.name}-${n}`;this.formInteractions.has(i)||(this.formInteractions.add(i),this.track("form_interaction","Form Field Interaction",{formId:t,fieldName:e.name,fieldType:e.type,interactionType:n}))})})}});this.addListener(e,"submit",()=>{this.track("form_submit","Form Submitted",{formId:t,action:e.action,method:e.method}),this.autoIdentify(e)})}autoIdentify(e){const t=e.querySelector('input[type="email"], input[name*="email"]');if(!t?.value||!this.tracker)return;const n=t.value,i={},s=e.querySelector('[name*="first"], [name*="fname"]'),o=e.querySelector('[name*="last"], [name*="lname"]'),r=e.querySelector('[name*="company"], [name*="organization"]'),a=e.querySelector('[type="tel"], [name*="phone"]');s?.value&&(i.firstName=s.value),o?.value&&(i.lastName=o.value),r?.value&&(i.company=r.value),a?.value&&(i.phone=a.value),this.tracker.identify(n,i)}}class F extends S{constructor(){super(...arguments),this.name="clicks",this.boundHandler=null}init(e){super.init(e),"undefined"!=typeof document&&(this.boundHandler=this.handleClick.bind(this),document.addEventListener("click",this.boundHandler,!0))}destroy(){this.boundHandler&&"undefined"!=typeof document&&document.removeEventListener("click",this.boundHandler,!0),super.destroy()}handleClick(e){const t=e.target;if(!(t&&(n=t,["BUTTON","A","INPUT"].includes(n.tagName)||n.hasAttribute("data-track-click")||n.classList.contains("track-click"))))return;var n;const i=I(t,100),s=function(e){return{tag:e.tagName?.toLowerCase()||"unknown",id:e.id||"",className:e.className||"",text:I(e,50)}}(t);this.track("button_click","Button Clicked",{buttonText:i,elementType:t.tagName.toLowerCase(),elementId:s.id,elementClass:s.className,href:t.href||void 0,x:Math.round(e.clientX/window.innerWidth*100),y:Math.round(e.clientY/window.innerHeight*100),viewportWidth:window.innerWidth,viewportHeight:window.innerHeight})}}class P extends S{constructor(){super(...arguments),this.name="engagement",this.pageLoadTime=0,this.engagementStartTime=0,this.isEngaged=!1,this.engagementTimeout=null,this.boundMarkEngaged=null,this.boundTrackTimeOnPage=null,this.boundVisibilityHandler=null,this.navigationHandler=null,this.popstateHandler=null}init(e){super.init(e),this.pageLoadTime=Date.now(),this.engagementStartTime=Date.now(),"undefined"!=typeof document&&"undefined"!=typeof window&&(this.boundMarkEngaged=this.markEngaged.bind(this),this.boundTrackTimeOnPage=this.trackTimeOnPage.bind(this),this.boundVisibilityHandler=()=>{"hidden"===document.visibilityState?this.trackTimeOnPage():this.engagementStartTime=Date.now()},["mousemove","keydown","touchstart","scroll"].forEach(e=>{document.addEventListener(e,this.boundMarkEngaged,{passive:!0})}),window.addEventListener("beforeunload",this.boundTrackTimeOnPage),document.addEventListener("visibilitychange",this.boundVisibilityHandler),this.navigationHandler=()=>this.resetForNavigation(),window.addEventListener("clianta:navigation",this.navigationHandler),this.popstateHandler=()=>this.resetForNavigation(),window.addEventListener("popstate",this.popstateHandler))}destroy(){this.boundMarkEngaged&&"undefined"!=typeof document&&["mousemove","keydown","touchstart","scroll"].forEach(e=>{document.removeEventListener(e,this.boundMarkEngaged)}),this.boundTrackTimeOnPage&&"undefined"!=typeof window&&window.removeEventListener("beforeunload",this.boundTrackTimeOnPage),this.boundVisibilityHandler&&"undefined"!=typeof document&&document.removeEventListener("visibilitychange",this.boundVisibilityHandler),this.navigationHandler&&"undefined"!=typeof window&&(window.removeEventListener("clianta:navigation",this.navigationHandler),this.navigationHandler=null),this.popstateHandler&&"undefined"!=typeof window&&(window.removeEventListener("popstate",this.popstateHandler),this.popstateHandler=null),this.engagementTimeout&&clearTimeout(this.engagementTimeout),super.destroy()}resetForNavigation(){this.pageLoadTime=Date.now(),this.engagementStartTime=Date.now(),this.isEngaged=!1,this.engagementTimeout&&(clearTimeout(this.engagementTimeout),this.engagementTimeout=null)}markEngaged(){this.isEngaged||(this.isEngaged=!0,this.track("engagement","User Engaged",{timeToEngage:Date.now()-this.pageLoadTime})),this.engagementTimeout&&clearTimeout(this.engagementTimeout),this.engagementTimeout=setTimeout(()=>{this.isEngaged=!1},3e4)}trackTimeOnPage(){const e=Math.floor((Date.now()-this.engagementStartTime)/1e3);e>0&&this.track("time_on_page","Time Spent",{seconds:e,engaged:this.isEngaged})}}class _ extends S{constructor(){super(...arguments),this.name="downloads",this.trackedDownloads=new Set,this.boundHandler=null,this.navigationHandler=null,this.popstateHandler=null}init(e){super.init(e),"undefined"!=typeof document&&(this.boundHandler=this.handleClick.bind(this),document.addEventListener("click",this.boundHandler,!0)),"undefined"!=typeof window&&(this.navigationHandler=()=>this.resetForNavigation(),window.addEventListener("clianta:navigation",this.navigationHandler),this.popstateHandler=()=>this.resetForNavigation(),window.addEventListener("popstate",this.popstateHandler))}destroy(){this.boundHandler&&"undefined"!=typeof document&&document.removeEventListener("click",this.boundHandler,!0),this.navigationHandler&&"undefined"!=typeof window&&(window.removeEventListener("clianta:navigation",this.navigationHandler),this.navigationHandler=null),this.popstateHandler&&"undefined"!=typeof window&&(window.removeEventListener("popstate",this.popstateHandler),this.popstateHandler=null),super.destroy()}resetForNavigation(){this.trackedDownloads.clear()}handleClick(e){const t=e.target.closest("a");if(!t||!t.href)return;const n=t.href;(function(e){const t=e.toLowerCase();return c.some(e=>t.includes(e))})(n)&&(this.trackedDownloads.has(n)||(this.trackedDownloads.add(n),this.track("download","File Download",{url:n,filename:k(n),fileType:x(n),linkText:I(t,100)})))}}class M extends S{constructor(){super(...arguments),this.name="exitIntent",this.exitIntentShown=!1,this.pageLoadTime=0,this.boundHandler=null,this.navigationHandler=null,this.popstateHandler=null}init(e){super.init(e),this.pageLoadTime=Date.now(),"undefined"!=typeof navigator&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||("undefined"!=typeof document&&(this.boundHandler=this.handleMouseLeave.bind(this),document.addEventListener("mouseleave",this.boundHandler)),"undefined"!=typeof window&&(this.navigationHandler=()=>this.resetForNavigation(),window.addEventListener("clianta:navigation",this.navigationHandler),this.popstateHandler=()=>this.resetForNavigation(),window.addEventListener("popstate",this.popstateHandler)))}destroy(){this.boundHandler&&"undefined"!=typeof document&&document.removeEventListener("mouseleave",this.boundHandler),this.navigationHandler&&"undefined"!=typeof window&&(window.removeEventListener("clianta:navigation",this.navigationHandler),this.navigationHandler=null),this.popstateHandler&&"undefined"!=typeof window&&(window.removeEventListener("popstate",this.popstateHandler),this.popstateHandler=null),super.destroy()}resetForNavigation(){this.exitIntentShown=!1,this.pageLoadTime=Date.now()}handleMouseLeave(e){e.clientY>0||this.exitIntentShown||(this.exitIntentShown=!0,this.track("exit_intent","Exit Intent Detected",{timeOnPage:Date.now()-this.pageLoadTime}))}}class A extends S{constructor(){super(...arguments),this.name="errors",this.boundErrorHandler=null,this.boundRejectionHandler=null}init(e){super.init(e),"undefined"!=typeof window&&(this.boundErrorHandler=this.handleError.bind(this),this.boundRejectionHandler=this.handleRejection.bind(this),window.addEventListener("error",this.boundErrorHandler),window.addEventListener("unhandledrejection",this.boundRejectionHandler))}destroy(){"undefined"!=typeof window&&(this.boundErrorHandler&&window.removeEventListener("error",this.boundErrorHandler),this.boundRejectionHandler&&window.removeEventListener("unhandledrejection",this.boundRejectionHandler)),super.destroy()}handleError(e){this.track("error","JavaScript Error",{message:e.message,filename:e.filename,line:e.lineno,column:e.colno,stack:e.error?.stack?.substring(0,500)})}handleRejection(e){this.track("error","Unhandled Promise Rejection",{reason:String(e.reason).substring(0,200)})}}class q extends S{constructor(){super(...arguments),this.name="performance",this.boundLoadHandler=null,this.observers=[],this.boundClsVisibilityHandler=null}init(e){super.init(e),"undefined"!=typeof window&&(this.boundLoadHandler=()=>{setTimeout(()=>this.trackPerformance(),100)},window.addEventListener("load",this.boundLoadHandler))}destroy(){this.boundLoadHandler&&"undefined"!=typeof window&&window.removeEventListener("load",this.boundLoadHandler);for(const e of this.observers)e.disconnect();this.observers=[],this.boundClsVisibilityHandler&&"undefined"!=typeof window&&window.removeEventListener("visibilitychange",this.boundClsVisibilityHandler),super.destroy()}trackPerformance(){if("undefined"==typeof performance)return;const e=performance.getEntriesByType("navigation");if(e.length>0){const t=e[0],n=Math.round(t.loadEventEnd-t.startTime),i=Math.round(t.domContentLoadedEventEnd-t.startTime),s=Math.round(t.responseStart-t.requestStart),o=Math.round(t.domInteractive-t.startTime);this.track("performance","Page Performance",{loadTime:n,domReady:i,ttfb:s,domInteractive:o,dns:Math.round(t.domainLookupEnd-t.domainLookupStart),connection:Math.round(t.connectEnd-t.connectStart),transferSize:t.transferSize})}else{const e=performance.timing;if(!e)return;const t=e.loadEventEnd-e.navigationStart,n=e.domContentLoadedEventEnd-e.navigationStart,i=e.responseStart-e.navigationStart,s=e.domInteractive-e.navigationStart;this.track("performance","Page Performance",{loadTime:t,domReady:n,ttfb:i,domInteractive:s})}this.trackWebVitals()}trackWebVitals(){if("PerformanceObserver"in window){try{const e=new PerformanceObserver(e=>{const t=e.getEntries(),n=t[t.length-1];n&&this.track("performance","Web Vital - LCP",{metric:"LCP",value:Math.round(n.startTime)})});e.observe({type:"largest-contentful-paint",buffered:!0}),this.observers.push(e)}catch{}try{const e=new PerformanceObserver(e=>{const t=e.getEntries()[0];t&&this.track("performance","Web Vital - FID",{metric:"FID",value:Math.round(t.processingStart-t.startTime)})});e.observe({type:"first-input",buffered:!0}),this.observers.push(e)}catch{}try{let e=0;const t=new PerformanceObserver(t=>{t.getEntries().forEach(t=>{t.hadRecentInput||(e+=t.value||0)})});t.observe({type:"layout-shift",buffered:!0}),this.observers.push(t),this.boundClsVisibilityHandler=()=>{"hidden"===document.visibilityState&&e>0&&this.track("performance","Web Vital - CLS",{metric:"CLS",value:Math.round(1e3*e)/1e3})},window.addEventListener("visibilitychange",this.boundClsVisibilityHandler,{once:!0})}catch{}}}}class $ extends S{constructor(){super(...arguments),this.name="popupForms",this.forms=[],this.shownForms=new Set,this.scrollHandler=null,this.exitHandler=null,this.delayTimers=[],this.clickTriggerListeners=[]}async init(e){super.init(e),"undefined"!=typeof window&&(this.loadShownForms(),await this.fetchForms(),this.setupTriggers())}destroy(){this.removeTriggers();for(const e of this.delayTimers)clearTimeout(e);this.delayTimers=[];for(const{element:e,handler:t}of this.clickTriggerListeners)e.removeEventListener("click",t);this.clickTriggerListeners=[],super.destroy()}loadShownForms(){try{const e=localStorage.getItem("clianta_shown_forms");if(e){const t=JSON.parse(e);this.shownForms=new Set(t.forms||[])}}catch(e){}}saveShownForms(){try{localStorage.setItem("clianta_shown_forms",JSON.stringify({forms:Array.from(this.shownForms),timestamp:Date.now()}))}catch(e){}}async fetchForms(){if(!this.tracker)return;const e=this.tracker.getConfig(),t=this.tracker.getWorkspaceId(),n=e.apiEndpoint||"http://localhost:5000";try{const e=encodeURIComponent(window.location.href),i=await fetch(`${n}/api/public/lead-forms/${t}?url=${e}`);if(!i.ok)return;const s=await i.json();s.success&&Array.isArray(s.data)&&(this.forms=s.data.filter(e=>this.shouldShowForm(e)))}catch(e){console.error("[Clianta] Failed to fetch forms:",e)}}shouldShowForm(e){if("once_per_visitor"===e.showFrequency){if(this.shownForms.has(e._id))return!1}else if("once_per_session"===e.showFrequency){const t=`clianta_form_${e._id}_shown`;if(sessionStorage.getItem(t))return!1}return!0}setupTriggers(){this.forms.forEach(e=>{switch(e.trigger.type){case"delay":this.delayTimers.push(setTimeout(()=>this.showForm(e),1e3*(e.trigger.value||5)));break;case"scroll":this.setupScrollTrigger(e);break;case"exit_intent":this.setupExitIntentTrigger(e);break;case"click":this.setupClickTrigger(e)}})}setupScrollTrigger(e){const t=e.trigger.value||50;this.scrollHandler=()=>{window.scrollY/(document.documentElement.scrollHeight-window.innerHeight)*100>=t&&(this.showForm(e),this.scrollHandler&&window.removeEventListener("scroll",this.scrollHandler))},window.addEventListener("scroll",this.scrollHandler,{passive:!0})}setupExitIntentTrigger(e){this.exitHandler=t=>{t.clientY<=0&&(this.showForm(e),this.exitHandler&&document.removeEventListener("mouseout",this.exitHandler))},document.addEventListener("mouseout",this.exitHandler)}setupClickTrigger(e){if(!e.trigger.selector)return;document.querySelectorAll(e.trigger.selector).forEach(t=>{const n=()=>this.showForm(e);t.addEventListener("click",n),this.clickTriggerListeners.push({element:t,handler:n})})}removeTriggers(){this.scrollHandler&&window.removeEventListener("scroll",this.scrollHandler),this.exitHandler&&document.removeEventListener("mouseout",this.exitHandler)}async showForm(e){this.shouldShowForm(e)&&(this.shownForms.add(e._id),this.saveShownForms(),sessionStorage.setItem(`clianta_form_${e._id}_shown`,"true"),await this.trackFormView(e._id),this.renderForm(e))}async trackFormView(e){if(!this.tracker)return;const t=this.tracker.getConfig().apiEndpoint||"http://localhost:5000";try{await fetch(`${t}/api/public/lead-forms/${e}/view`,{method:"POST",headers:{"Content-Type":"application/json"}})}catch(e){}}renderForm(e){const t=document.createElement("div");t.id=`clianta-form-overlay-${e._id}`,t.style.cssText="\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: 999998;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n transition: opacity 0.3s ease;\n ";const n=document.createElement("div");n.id=`clianta-form-${e._id}`;const i=e.style||{};n.style.cssText=`\n background: ${i.backgroundColor||"#FFFFFF"};\n border-radius: ${i.borderRadius||12}px;\n padding: 24px;\n max-width: 400px;\n width: 90%;\n box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);\n transform: translateY(20px);\n opacity: 0;\n transition: all 0.3s ease;\n `,this.buildFormDOM(e,n),t.appendChild(n),document.body.appendChild(t),requestAnimationFrame(()=>{t.style.opacity="1",n.style.transform="translateY(0)",n.style.opacity="1"}),this.setupFormEvents(e,t,n)}escapeHTML(e){const t=document.createElement("div");return t.textContent=e,t.innerHTML}buildFormDOM(e,t){const n=e.style||{},i=n.primaryColor||"#10B981",s=n.textColor||"#18181B",o=document.createElement("button");o.id="clianta-form-close",o.style.cssText="\n position: absolute;\n top: 12px;\n right: 12px;\n background: none;\n border: none;\n font-size: 20px;\n cursor: pointer;\n color: #71717A;\n padding: 4px;\n ",o.textContent="×",t.appendChild(o);const r=document.createElement("h2");r.style.cssText=`font-size: 20px; font-weight: 700; margin-bottom: 8px; color: ${this.escapeHTML(s)};`,r.textContent=e.headline||"Stay in touch",t.appendChild(r);const a=document.createElement("p");a.style.cssText="font-size: 14px; color: #71717A; margin-bottom: 16px;",a.textContent=e.subheadline||"Get the latest updates",t.appendChild(a);const d=document.createElement("form");d.id="clianta-form-element",e.fields.forEach(e=>{const t=document.createElement("div");if(t.style.marginBottom="12px","checkbox"===e.type){const n=document.createElement("label");n.style.cssText=`display: flex; align-items: center; gap: 8px; font-size: 14px; color: ${this.escapeHTML(s)}; cursor: pointer;`;const i=document.createElement("input");i.type="checkbox",i.name=e.name,e.required&&(i.required=!0),i.style.cssText="width: 16px; height: 16px;",n.appendChild(i);const o=document.createTextNode(e.label+" ");if(n.appendChild(o),e.required){const e=document.createElement("span");e.style.color="#EF4444",e.textContent="*",n.appendChild(e)}t.appendChild(n)}else{const n=document.createElement("label");if(n.style.cssText=`display: block; font-size: 14px; font-weight: 500; margin-bottom: 4px; color: ${this.escapeHTML(s)};`,n.textContent=e.label+" ",e.required){const e=document.createElement("span");e.style.color="#EF4444",e.textContent="*",n.appendChild(e)}if(t.appendChild(n),"textarea"===e.type){const n=document.createElement("textarea");n.name=e.name,e.placeholder&&(n.placeholder=e.placeholder),e.required&&(n.required=!0),n.style.cssText="width: 100%; padding: 8px 12px; border: 1px solid #E4E4E7; border-radius: 6px; font-size: 14px; resize: vertical; min-height: 80px; box-sizing: border-box;",t.appendChild(n)}else if("select"===e.type){const n=document.createElement("select");if(n.name=e.name,e.required&&(n.required=!0),n.style.cssText="width: 100%; padding: 8px 12px; border: 1px solid #E4E4E7; border-radius: 6px; font-size: 14px; box-sizing: border-box; background: white; cursor: pointer;",e.placeholder){const t=document.createElement("option");t.value="",t.textContent=e.placeholder,t.disabled=!0,t.selected=!0,n.appendChild(t)}e.options&&Array.isArray(e.options)&&e.options.forEach(e=>{const t=document.createElement("option");"string"==typeof e?(t.value=e,t.textContent=e):(t.value=e.value,t.textContent=e.label),n.appendChild(t)}),t.appendChild(n)}else{const n=document.createElement("input");n.type=e.type,n.name=e.name,e.placeholder&&(n.placeholder=e.placeholder),e.required&&(n.required=!0),n.style.cssText="width: 100%; padding: 8px 12px; border: 1px solid #E4E4E7; border-radius: 6px; font-size: 14px; box-sizing: border-box;",t.appendChild(n)}}d.appendChild(t)});const c=document.createElement("button");c.type="submit",c.style.cssText=`\n width: 100%;\n padding: 10px 16px;\n background: ${this.escapeHTML(i)};\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n margin-top: 8px;\n `,c.textContent=e.submitButtonText||"Subscribe",d.appendChild(c),t.appendChild(d)}setupFormEvents(e,t,n){const i=n.querySelector("#clianta-form-close");i&&i.addEventListener("click",()=>this.closeForm(e._id,t,n)),t.addEventListener("click",i=>{i.target===t&&this.closeForm(e._id,t,n)});const s=n.querySelector("#clianta-form-element");s&&s.addEventListener("submit",async t=>{t.preventDefault(),await this.handleSubmit(e,s,n)})}closeForm(e,t,n){n.style.transform="translateY(20px)",n.style.opacity="0",t.style.opacity="0",setTimeout(()=>{t.remove()},300)}async handleSubmit(e,t,n){if(!this.tracker)return;const i=this.tracker.getConfig().apiEndpoint||"http://localhost:5000",s=this.tracker.getVisitorId(),o=new FormData(t),r={};o.forEach((e,t)=>{r[t]=e});const a=t.querySelector('button[type="submit"]');a&&(a.disabled=!0,a.textContent="Submitting...");try{const t=await fetch(`${i}/api/public/lead-forms/${e._id}/submit`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({visitorId:s,data:r,url:window.location.href})});if((await t.json()).success){n.innerHTML="";const t=document.createElement("div");t.style.cssText="text-align: center; padding: 20px;";const i=document.createElement("div");i.style.cssText="width: 48px; height: 48px; background: #10B981; border-radius: 50%; margin: 0 auto 16px; display: flex; align-items: center; justify-content: center;";const s=document.createElementNS("http://www.w3.org/2000/svg","svg");s.setAttribute("width","24"),s.setAttribute("height","24"),s.setAttribute("viewBox","0 0 24 24"),s.setAttribute("fill","none"),s.setAttribute("stroke","white"),s.setAttribute("stroke-width","2");const o=document.createElementNS("http://www.w3.org/2000/svg","polyline");o.setAttribute("points","20 6 9 17 4 12"),s.appendChild(o),i.appendChild(s);const a=document.createElement("p");if(a.style.cssText="font-size: 16px; font-weight: 500; color: #18181B;",a.textContent=e.successMessage||"Thank you!",t.appendChild(i),t.appendChild(a),n.appendChild(t),r.email&&this.tracker?.identify(r.email,r),e.redirectUrl)try{const t=new URL(e.redirectUrl,window.location.origin),n=t.origin===window.location.origin,i="https:"===t.protocol||"http:"===t.protocol;n||i?setTimeout(()=>{window.location.href=t.href},1500):console.warn("[Clianta] Blocked unsafe redirect URL:",e.redirectUrl)}catch{console.warn("[Clianta] Invalid redirect URL:",e.redirectUrl)}setTimeout(()=>{const t=document.getElementById(`clianta-form-overlay-${e._id}`);t&&this.closeForm(e._id,t,n)},2e3)}}catch(t){console.error("[Clianta] Form submit error:",t),a&&(a.disabled=!1,a.textContent=e.submitButtonText||"Subscribe")}}}function N(e){switch(e){case"pageView":return new C;case"scroll":return new H;case"forms":return new L;case"clicks":return new F;case"engagement":return new P;case"downloads":return new _;case"exitIntent":return new M;case"errors":return new A;case"performance":return new q;case"popupForms":return new $;default:throw new Error(`Unknown plugin: ${e}`)}}function D(e){try{if("undefined"==typeof localStorage)return!1;const t={state:e,timestamp:Date.now(),version:1};return localStorage.setItem(r,JSON.stringify(t)),!0}catch{return!1}}function R(){try{if("undefined"==typeof localStorage)return null;const e=localStorage.getItem(r);if(!e)return null;const t=JSON.parse(e);return 1!==t.version?(O(),null):t}catch{return null}}function O(){try{return"undefined"!=typeof localStorage&&(localStorage.removeItem(r),!0)}catch{return!1}}class V{constructor(e={}){this.eventBuffer=[],this.callbacks=[],this.hasExplicitConsent=!1,this.config={defaultConsent:{analytics:!0,marketing:!1,personalization:!1},waitForConsent:!1,storageKey:"mb_consent",...e};const t=R();t?(this.state=t.state,this.hasExplicitConsent=!0,p.debug("Loaded stored consent:",this.state)):(this.state=this.config.defaultConsent||{analytics:!0},this.hasExplicitConsent=!1,p.debug("Using default consent:",this.state)),e.onConsentChange&&this.callbacks.push(e.onConsentChange)}grant(e){const t={...this.state};this.state={...this.state,...e},this.hasExplicitConsent=!0,D(this.state),p.info("Consent granted:",e),this.notifyChange(t)}revoke(e){const t={...this.state};for(const t of e)this.state[t]=!1;this.hasExplicitConsent=!0,D(this.state),p.info("Consent revoked:",e),this.notifyChange(t)}update(e){const t={...this.state};this.state={...e},this.hasExplicitConsent=!0,D(this.state),p.info("Consent updated:",this.state),this.notifyChange(t)}reset(){const e={...this.state};this.state=this.config.defaultConsent||{analytics:!0},this.hasExplicitConsent=!1,this.eventBuffer=[],O(),p.info("Consent reset to defaults"),this.notifyChange(e)}getState(){return{...this.state}}hasConsent(e){return!0===this.state[e]}canTrack(){return!(this.config.waitForConsent&&!this.hasExplicitConsent)&&!0===this.state.analytics}hasExplicit(){return this.hasExplicitConsent}hasStored(){return null!==R()}bufferEvent(e){this.eventBuffer.length>=100&&(p.warn("Consent event buffer full, dropping oldest event"),this.eventBuffer.shift()),this.eventBuffer.push(e),p.debug("Event buffered (waiting for consent):",e.eventName)}flushBuffer(){const e=[...this.eventBuffer];return this.eventBuffer=[],e.length>0&&p.debug(`Flushing ${e.length} buffered events`),e}getBufferSize(){return this.eventBuffer.length}onChange(e){return this.callbacks.push(e),()=>{const t=this.callbacks.indexOf(e);t>-1&&this.callbacks.splice(t,1)}}notifyChange(e){for(const t of this.callbacks)try{t(this.state,e)}catch(e){p.error("Consent change callback error:",e)}}}class z{constructor(e,i={}){if(this.plugins=[],this.isInitialized=!1,this.contactId=null,this.groupId=null,this.pendingIdentify=null,this.eventSchemas=new Map,this.middlewares=[],this.readyCallbacks=[],!e)throw new Error("[Clianta] Workspace ID is required");this.workspaceId=e,this.config=function(e={}){return{...n,...e,consent:{...n.consent,...e.consent}}}(i),p.enabled=this.config.debug,p.info(`Initializing SDK v${t}`,{workspaceId:e}),this.consentManager=new V({...this.config.consent,onConsentChange:(e,t)=>{this.onConsentChange(e,t)}}),this.transport=new f({apiEndpoint:this.config.apiEndpoint}),this.queue=new T(this.transport,{batchSize:this.config.batchSize,flushInterval:this.config.flushInterval}),this.visitorId=this.createVisitorId(),this.sessionId=this.createSessionId(),p.debug("IDs created",{visitorId:this.visitorId,sessionId:this.sessionId}),!this.config.apiEndpoint.startsWith("http://")||"undefined"==typeof window||window.location.hostname.includes("localhost")||window.location.hostname.includes("127.0.0.1")||p.warn("apiEndpoint uses HTTP — events will be sent unencrypted. Use HTTPS in production."),this.initPlugins(),this.isInitialized=!0,p.info("SDK initialized successfully");for(const e of this.readyCallbacks)try{e()}catch(e){p.error("onReady callback error:",e)}this.readyCallbacks=[]}createVisitorId(){if(this.config.consent.anonymousMode&&!this.consentManager.hasExplicit()){const e=i+"_anon";let t=g(e);return t||(t="anon_"+m(),w(e,t)),t}if(this.config.cookielessMode){let e=g(i);return e||(e=m(),w(i,e)),e}return v(this.config.useCookies)}createSessionId(){return function(e){const t=s,n=o;let i=g(t);const r=parseInt(g(n)||"0",10),a=Date.now();return(!i||a-r>e)&&(i=m(),w(t,i)),w(n,a.toString()),i}(this.config.sessionTimeout)}onConsentChange(e,t){if(p.debug("Consent changed:",{from:t,to:e}),e.analytics&&!t.analytics){this.config.consent.anonymousMode&&(this.visitorId=v(this.config.useCookies),p.info("Upgraded from anonymous to persistent visitor ID"));const e=this.consentManager.flushBuffer();for(const t of e)t.visitorId=this.visitorId,this.queue.push(t)}}initPlugins(){const e=this.config.plugins,t=this.config.autoPageView?e:e.filter(e=>"pageView"!==e);for(const e of t)try{const t=N(e),n=t.init(this);n instanceof Promise&&n.catch(t=>{p.error(`Async plugin init failed: ${e}`,t)}),this.plugins.push(t),p.debug(`Plugin loaded: ${e}`)}catch(t){p.error(`Failed to load plugin: ${e}`,t)}}track(e,n,i={}){if(!this.isInitialized)return void p.warn("SDK not initialized, event dropped");const s={workspaceId:this.workspaceId,visitorId:this.visitorId,sessionId:this.sessionId,eventType:e,eventName:n,url:"undefined"!=typeof window?window.location.href:"",referrer:"undefined"!=typeof document&&document.referrer||void 0,properties:{...i,eventId:m(),websiteDomain:"undefined"!=typeof window?window.location.hostname:void 0},device:"undefined"==typeof window||"undefined"==typeof navigator?{userAgent:"unknown",screen:"unknown",language:"unknown",timezone:"unknown"}:{userAgent:navigator.userAgent,screen:`${screen.width}x${screen.height}`,language:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||"unknown"},...E(),timestamp:(new Date).toISOString(),sdkVersion:t};if(this.contactId&&(s.contactId=this.contactId),this.groupId&&(s.groupId=this.groupId),this.validateEventSchema(e,i),!this.consentManager.canTrack())return this.config.consent.waitForConsent?void this.consentManager.bufferEvent(s):void p.debug("Event dropped (no consent):",n);this.runMiddleware(s,()=>{this.queue.push(s),p.debug("Event tracked:",n,i)})}page(e,t={}){const n=e||("undefined"!=typeof document?document.title:"Page View");this.track("page_view",n,{...t,path:"undefined"!=typeof window?window.location.pathname:""})}async identify(e,t={}){if(!e)return p.warn("Email is required for identification"),null;if(!function(e){return!("string"!=typeof e||!e)&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}(e))return p.warn("Invalid email format, identification skipped:",e),null;p.info("Identifying visitor:",e);const n=await this.transport.sendIdentify({workspaceId:this.workspaceId,visitorId:this.visitorId,email:e,properties:t});return n.success?(p.info("Visitor identified successfully, contactId:",n.contactId),this.contactId=n.contactId??null,this.pendingIdentify=null,this.contactId):(p.error("Failed to identify visitor:",n.error),this.pendingIdentify={email:e,traits:t},null)}async retryPendingIdentify(){if(!this.pendingIdentify)return;const{email:e,traits:t}=this.pendingIdentify;this.pendingIdentify=null,await this.identify(e,t)}consent(e){this.consentManager.update(e)}getConsentState(){return this.consentManager.getState()}debug(e){p.enabled=e,p.info("Debug mode "+(e?"enabled":"disabled"))}group(e,t={}){e?(this.groupId=e,p.info("Visitor grouped:",e),this.track("group","Group Identified",{groupId:e,...t})):p.warn("groupId is required for group()")}async alias(e,t){if(!e)return p.warn("newId is required for alias()"),!1;const n=t||this.visitorId;p.info("Aliasing visitor:",{from:n,to:e});try{const t=`${this.config.apiEndpoint}/api/public/track/alias`,i=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspaceId:this.workspaceId,previousId:n,newId:e})});return i.ok?(p.info("Alias successful"),!0):(p.error("Alias failed:",i.status),!1)}catch(e){return p.error("Alias request failed:",e),!1}}screen(e,t={}){this.track("screen_view",e,{...t,screenName:e})}use(e){this.middlewares.push(e),p.debug("Middleware registered")}runMiddleware(e,t){if(0===this.middlewares.length)return void t();let n=0;const i=this.middlewares,s=()=>{if(n++,n<i.length)try{i[n](e,s)}catch(e){p.error("Middleware error:",e),t()}else t()};try{i[0](e,s)}catch(e){p.error("Middleware error:",e),t()}}onReady(e){if(this.isInitialized)try{e()}catch(e){p.error("onReady callback error:",e)}else this.readyCallbacks.push(e)}isReady(){return this.isInitialized}registerEventSchema(e,t){this.eventSchemas.set(e,t),p.debug("Event schema registered:",e)}validateEventSchema(e,t){if(!this.config.debug)return;const n=this.eventSchemas.get(e);if(n)for(const[i,s]of Object.entries(n)){const n=t[i];if(void 0===n){p.warn(`[Schema] Missing property "${i}" for event type "${e}"`);continue}let o=!1;switch(s){case"string":o="string"==typeof n;break;case"number":o="number"==typeof n;break;case"boolean":o="boolean"==typeof n;break;case"object":o="object"==typeof n&&!Array.isArray(n);break;case"array":o=Array.isArray(n)}o||p.warn(`[Schema] Property "${i}" for event "${e}" expected ${s}, got ${typeof n}`)}}getVisitorId(){return this.visitorId}getSessionId(){return this.sessionId}getWorkspaceId(){return this.workspaceId}getConfig(){return{...this.config}}async flush(){await this.retryPendingIdentify(),await this.queue.flush()}reset(){p.info("Resetting visitor data"),b(this.config.useCookies),this.visitorId=this.createVisitorId(),this.sessionId=this.createSessionId(),this.contactId=null,this.pendingIdentify=null,this.queue.clear()}deleteData(){if(p.info("Deleting all user data (GDPR request)"),this.queue.clear(),this.consentManager.reset(),b(this.config.useCookies),"undefined"!=typeof sessionStorage)try{sessionStorage.removeItem(i),sessionStorage.removeItem(i+"_anon"),sessionStorage.removeItem(s),sessionStorage.removeItem(o)}catch{}if("undefined"!=typeof localStorage)try{localStorage.removeItem(i),localStorage.removeItem(r),localStorage.removeItem(a)}catch{}this.visitorId=this.createVisitorId(),this.sessionId=this.createSessionId(),p.info("All user data deleted")}async createContact(e){return this.publicCrmRequest("/api/public/crm/contacts","POST",{workspaceId:this.workspaceId,...e})}async updateContact(e,t){return this.publicCrmRequest(`/api/public/crm/contacts/${e}`,"PUT",{workspaceId:this.workspaceId,...t})}async submitForm(e,t){const n={...t,metadata:{...t.metadata,visitorId:this.visitorId,sessionId:this.sessionId,pageUrl:"undefined"!=typeof window?window.location.href:void 0,referrer:"undefined"!=typeof document&&document.referrer||void 0}};return this.publicCrmRequest(`/api/public/crm/forms/${e}/submit`,"POST",n)}async logActivity(e){return this.publicCrmRequest("/api/public/crm/activities","POST",{workspaceId:this.workspaceId,...e})}async createOpportunity(e){return this.publicCrmRequest("/api/public/crm/opportunities","POST",{workspaceId:this.workspaceId,...e})}async publicCrmRequest(e,t,n){const i=`${this.config.apiEndpoint}${e}`;try{const s=await fetch(i,{method:t,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}),o=await s.json().catch(()=>({}));return s.ok?(p.debug(`Public CRM ${t} ${e} succeeded`),{success:!0,data:o.data??o,status:s.status}):(p.error(`Public CRM ${t} ${e} failed (${s.status}):`,o.message),{success:!1,error:o.message,status:s.status})}catch(n){return p.error(`Public CRM ${t} ${e} error:`,n),{success:!1,error:n.message}}}async destroy(){p.info("Destroying tracker"),await this.queue.flush();for(const e of this.plugins)e.destroy&&e.destroy();this.plugins=[],this.queue.destroy(),this.isInitialized=!1}}let B=null;function j(e,t){return B&&B.getWorkspaceId()===e||(B&&B.destroy(),B=new z(e,t)),B}if("undefined"!=typeof window){window.clianta=j,window.Clianta={clianta:j,Tracker:z,ConsentManager:V};const e=()=>{const e=document.querySelectorAll("script[data-project-id]"),t=e[e.length-1];if(!t)return;const n=t.getAttribute("data-project-id");if(!n)return;const i=j(n,{debug:t.hasAttribute("data-debug")});window.__clianta=i};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}e.ConsentManager=V,e.SDK_VERSION=t,e.Tracker=z,e.clianta=j,e.default=j,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
6
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Clianta={})}(this,function(e){"use strict";var t="undefined"!=typeof document?document.currentScript:null;const n="1.6.4",i={projectId:"",apiEndpoint:(()=>{if("undefined"!=typeof process&&process.env?.NEXT_PUBLIC_CLIANTA_API_ENDPOINT)return process.env.NEXT_PUBLIC_CLIANTA_API_ENDPOINT;try{"undefined"==typeof document&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:"undefined"==typeof document?location.href:t&&"SCRIPT"===t.tagName.toUpperCase()&&t.src||new URL("clianta.umd.min.js",document.baseURI).href,0}catch{}return"undefined"!=typeof process&&process.env?.REACT_APP_CLIANTA_API_ENDPOINT?process.env.REACT_APP_CLIANTA_API_ENDPOINT:"undefined"!=typeof process&&process.env?.CLIANTA_API_ENDPOINT?process.env.CLIANTA_API_ENDPOINT:"http://localhost:5000"})(),debug:!1,autoPageView:!0,plugins:["pageView","forms","scroll","clicks","engagement","downloads","exitIntent","errors","performance"],sessionTimeout:18e5,batchSize:10,flushInterval:5e3,consent:{defaultConsent:{analytics:!0,marketing:!1,personalization:!1},waitForConsent:!1,storageKey:"mb_consent",anonymousMode:!1},cookieDomain:"",useCookies:!1,cookielessMode:!1,persistMode:"session"},s="mb_vid",o="mb_sid",r="mb_st",a="mb_consent",d="mb_queue",c=[25,50,75,100],l=[".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".zip",".rar",".tar",".gz",".7z",".csv",".txt",".json",".xml",".mp3",".mp4",".wav",".avi",".mov"];const u="[Clianta]",h={debug:"color: #6b7280; font-weight: normal;",info:"color: #3b82f6; font-weight: normal;",warn:"color: #f59e0b; font-weight: bold;",error:"color: #ef4444; font-weight: bold;"},p={debug:0,info:1,warn:2,error:3};const f=function(e=!1){let t="debug",n=e;const i=e=>!!n&&p[e]>=p[t],s=(e,t)=>"undefined"!=typeof console&&"undefined"!=typeof window?[`%c${u}`,h[e],...t]:[`${u} [${e.toUpperCase()}]`,...t];return{get enabled(){return n},set enabled(e){n=e},debug(...e){i("debug")&&"undefined"!=typeof console&&console.log(...s("debug",e))},info(...e){i("info")&&"undefined"!=typeof console&&console.info(...s("info",e))},warn(...e){i("warn")&&"undefined"!=typeof console&&console.warn(...s("warn",e))},error(...e){i("error")&&"undefined"!=typeof console&&console.error(...s("error",e))},setLevel(e){t=e}}}(!1);class m{constructor(e){this.config={apiEndpoint:e.apiEndpoint,maxRetries:e.maxRetries??3,retryDelay:e.retryDelay??1e3,timeout:e.timeout??1e4}}async sendEvents(e){const t=`${this.config.apiEndpoint}/api/public/track/event`,n=JSON.stringify({events:e});return this.send(t,n)}async sendIdentify(e){const t=`${this.config.apiEndpoint}/api/public/track/identify`;try{const n=await this.fetchWithTimeout(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),keepalive:!0}),i=await n.json().catch(()=>({}));return n.ok?(f.debug("Identify successful, contactId:",i.contactId),{success:!0,status:n.status,contactId:i.contactId??void 0}):(n.status>=500?f.warn(`Identify server error (${n.status})`):f.error(`Identify failed with status ${n.status}:`,i.message),{success:!1,status:n.status})}catch(e){return f.error("Identify request failed:",e),{success:!1,error:e}}}sendBeacon(e){if("undefined"==typeof navigator||!navigator.sendBeacon)return f.warn("sendBeacon not available, events may be lost"),!1;const t=`${this.config.apiEndpoint}/api/public/track/event`,n=JSON.stringify({events:e}),i=new Blob([n],{type:"application/json"});try{const n=navigator.sendBeacon(t,i);return n?f.debug(`Beacon sent ${e.length} events`):f.warn("sendBeacon returned false"),n}catch(e){return f.error("sendBeacon error:",e),!1}}async fetchData(e,t){const n=new URL(`${this.config.apiEndpoint}${e}`);t&&Object.entries(t).forEach(([e,t])=>{null!=t&&n.searchParams.set(e,t)});try{const t=await this.fetchWithTimeout(n.toString(),{method:"GET",headers:{Accept:"application/json"}});if(t.ok){const n=await t.json();return f.debug("Fetch successful:",e),{success:!0,data:n.data??n,status:t.status}}return f.error(`Fetch failed with status ${t.status}`),{success:!1,status:t.status}}catch(e){return f.error("Fetch request failed:",e),{success:!1,error:e}}}async send(e,t,n=1){try{const i=await this.fetchWithTimeout(e,{method:"POST",headers:{"Content-Type":"application/json"},body:t,keepalive:!0});return i.ok?(f.debug("Request successful:",e),{success:!0,status:i.status}):i.status>=500&&n<this.config.maxRetries?(f.warn(`Server error (${i.status}), retrying...`),await this.delay(this.config.retryDelay*n),this.send(e,t,n+1)):(f.error(`Request failed with status ${i.status}`),{success:!1,status:i.status})}catch(i){return n<this.config.maxRetries?(f.warn(`Network error, retrying (${n}/${this.config.maxRetries})...`),await this.delay(this.config.retryDelay*n),this.send(e,t,n+1)):(f.error("Request failed after retries:",i),{success:!1,error:i})}}async fetchWithTimeout(e,t){const n=new AbortController,i=setTimeout(()=>n.abort(),this.config.timeout);try{return await fetch(e,{...t,signal:n.signal})}finally{clearTimeout(i)}}delay(e){return new Promise(t=>setTimeout(t,e))}}function g(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}function w(e){try{if("undefined"!=typeof sessionStorage)return sessionStorage.getItem(e)}catch{}return null}function y(e,t){try{if("undefined"!=typeof sessionStorage)return sessionStorage.setItem(e,t),!0}catch{}return!1}function v(e,t,n){if("undefined"==typeof document)return null;if(void 0===t){const t=document.cookie.match(new RegExp("(^| )"+e+"=([^;]+)"));return t?t[2]:null}let i="";if(n){const e=new Date;e.setTime(e.getTime()+24*n*60*60*1e3),i="; expires="+e.toUTCString()}const s="undefined"!=typeof location&&"https:"===location.protocol?"; Secure":"";return document.cookie=e+"="+t+i+"; path=/; SameSite=Lax"+s,t}function b(e=!1){const t=s;let n=null;return n=e?v(t):function(e){try{if("undefined"!=typeof localStorage)return localStorage.getItem(e)}catch{}return null}(t),n||(n=g(),e?v(t,n,365):function(e,t){try{if("undefined"!=typeof localStorage)return localStorage.setItem(e,t),!0}catch{}}(t,n)),n}function k(e=!1){const t=s;if(e)v(t,"",-1);else try{localStorage.removeItem(t)}catch{}try{sessionStorage.removeItem(o),sessionStorage.removeItem(r)}catch{}}function E(){if("undefined"==typeof window)return{};try{const e=new URLSearchParams(window.location.search);return{utmSource:e.get("utm_source")||void 0,utmMedium:e.get("utm_medium")||void 0,utmCampaign:e.get("utm_campaign")||void 0,utmTerm:e.get("utm_term")||void 0,utmContent:e.get("utm_content")||void 0}}catch{return{}}}function x(e){try{return e.split("/").pop()?.split("?")[0]||"unknown"}catch{return"unknown"}}function I(e){const t=x(e).split(".");return t.length>1&&t.pop()||"unknown"}function S(e,t=100){return(e.innerText||e.textContent||e.value||"").trim().substring(0,t)}class T{constructor(e,t={}){this.queue=[],this.flushTimer=null,this.isFlushing=!1,this.eventTimestamps=[],this.boundBeforeUnload=null,this.boundVisibilityChange=null,this.boundPageHide=null,this.transport=e,this.config={batchSize:t.batchSize??10,flushInterval:t.flushInterval??5e3,maxQueueSize:t.maxQueueSize??1e3,storageKey:t.storageKey??d},this.persistMode=t.persistMode||"session",this.restoreQueue(),this.startFlushTimer(),this.setupUnloadHandlers()}push(e){this.checkRateLimit()?(this.queue.length>=this.config.maxQueueSize&&(f.warn("Queue full, dropping oldest event"),this.queue.shift()),this.queue.push(e),f.debug("Event queued:",e.eventName,`(${this.queue.length} in queue)`),this.queue.length>=this.config.batchSize&&this.flush()):f.warn("Rate limit exceeded, event dropped:",e.eventName)}checkRateLimit(){const e=Date.now();return this.eventTimestamps=this.eventTimestamps.filter(t=>e-t<6e4),!(this.eventTimestamps.length>=100)&&(this.eventTimestamps.push(e),!0)}async flush(){if(this.isFlushing||0===this.queue.length)return;this.isFlushing=!0;const e=this.queue.length,t=this.queue.splice(0,e);try{f.debug(`Flushing ${t.length} events`),this.persistQueue([]);(await this.transport.sendEvents(t)).success?f.debug("Flush successful"):(f.warn("Flush failed, re-queuing events"),this.queue.unshift(...t),this.persistQueue(this.queue))}catch(e){f.error("Flush error:",e)}finally{this.isFlushing=!1}}flushSync(){if(0===this.queue.length)return;const e=this.queue.splice(0,this.queue.length);f.debug(`Sync flushing ${e.length} events via beacon`);this.transport.sendBeacon(e)||(this.queue.unshift(...e),this.persistQueue(this.queue))}get length(){return this.queue.length}clear(){if(this.queue=[],this.persistQueue([]),"local"===this.persistMode&&"undefined"!=typeof localStorage)try{localStorage.removeItem(this.config.storageKey)}catch{}}destroy(){this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=null),"undefined"!=typeof window&&(this.boundBeforeUnload&&window.removeEventListener("beforeunload",this.boundBeforeUnload),this.boundVisibilityChange&&window.removeEventListener("visibilitychange",this.boundVisibilityChange),this.boundPageHide&&window.removeEventListener("pagehide",this.boundPageHide))}startFlushTimer(){this.flushTimer&&clearInterval(this.flushTimer),this.flushTimer=setInterval(()=>{this.flush()},this.config.flushInterval)}setupUnloadHandlers(){"undefined"!=typeof window&&(this.boundBeforeUnload=()=>this.flushSync(),window.addEventListener("beforeunload",this.boundBeforeUnload),this.boundVisibilityChange=()=>{"hidden"===document.visibilityState&&this.flushSync()},window.addEventListener("visibilitychange",this.boundVisibilityChange),this.boundPageHide=()=>this.flushSync(),window.addEventListener("pagehide",this.boundPageHide))}persistQueue(e){if("none"!==this.persistMode)try{const t=JSON.stringify(e);if("local"===this.persistMode&&"undefined"!=typeof localStorage)try{localStorage.setItem(this.config.storageKey,t)}catch{y(this.config.storageKey,t)}else y(this.config.storageKey,t)}catch{}}restoreQueue(){try{let e=null;if("local"===this.persistMode&&"undefined"!=typeof localStorage&&(e=localStorage.getItem(this.config.storageKey)),e||(e=w(this.config.storageKey)),e){const t=JSON.parse(e);Array.isArray(t)&&t.length>0&&(this.queue=t,f.debug(`Restored ${t.length} events from storage`))}}catch{}}}class C{constructor(){this.tracker=null}init(e){this.tracker=e}destroy(){this.tracker=null}track(e,t,n){this.tracker&&this.tracker.track(e,t,n)}}class H extends C{constructor(){super(...arguments),this.name="pageView",this.originalPushState=null,this.originalReplaceState=null,this.popstateHandler=null}init(e){if(super.init(e),this.trackPageView(),"undefined"!=typeof window){this.originalPushState=history.pushState,this.originalReplaceState=history.replaceState;const e=this;history.pushState=function(...t){e.originalPushState.apply(history,t),e.trackPageView(),window.dispatchEvent(new Event("clianta:navigation"))},history.replaceState=function(...t){e.originalReplaceState.apply(history,t),e.trackPageView(),window.dispatchEvent(new Event("clianta:navigation"))},this.popstateHandler=()=>this.trackPageView(),window.addEventListener("popstate",this.popstateHandler)}}destroy(){this.originalPushState&&(history.pushState=this.originalPushState,this.originalPushState=null),this.originalReplaceState&&(history.replaceState=this.originalReplaceState,this.originalReplaceState=null),this.popstateHandler&&"undefined"!=typeof window&&(window.removeEventListener("popstate",this.popstateHandler),this.popstateHandler=null),super.destroy()}trackPageView(){"undefined"!=typeof window&&"undefined"!=typeof document&&this.track("page_view","Page Viewed",{title:document.title,path:window.location.pathname,search:window.location.search,hash:window.location.hash,referrer:document.referrer||"direct",viewport:`${window.innerWidth}x${window.innerHeight}`})}}class L extends C{constructor(){super(...arguments),this.name="scroll",this.milestonesReached=new Set,this.maxScrollDepth=0,this.pageLoadTime=0,this.scrollTimeout=null,this.boundHandler=null,this.navigationHandler=null,this.popstateHandler=null}init(e){super.init(e),this.pageLoadTime=Date.now(),"undefined"!=typeof window&&(this.boundHandler=this.handleScroll.bind(this),window.addEventListener("scroll",this.boundHandler,{passive:!0}),this.navigationHandler=()=>this.resetForNavigation(),window.addEventListener("clianta:navigation",this.navigationHandler),this.popstateHandler=()=>this.resetForNavigation(),window.addEventListener("popstate",this.popstateHandler))}destroy(){this.boundHandler&&"undefined"!=typeof window&&window.removeEventListener("scroll",this.boundHandler),this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.navigationHandler&&"undefined"!=typeof window&&(window.removeEventListener("clianta:navigation",this.navigationHandler),this.navigationHandler=null),this.popstateHandler&&"undefined"!=typeof window&&(window.removeEventListener("popstate",this.popstateHandler),this.popstateHandler=null),super.destroy()}resetForNavigation(){this.milestonesReached.clear(),this.maxScrollDepth=0,this.pageLoadTime=Date.now()}handleScroll(){this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.scrollTimeout=setTimeout(()=>this.trackScrollDepth(),150)}trackScrollDepth(){if("undefined"==typeof window||"undefined"==typeof document)return;const e=window.innerHeight,t=document.documentElement.scrollHeight,n=window.pageYOffset||document.documentElement.scrollTop,i=t-e;if(i<=0)return;const s=Math.floor(n/i*100),o=Math.max(0,Math.min(100,s));o>this.maxScrollDepth&&(this.maxScrollDepth=o);for(const e of c)o>=e&&!this.milestonesReached.has(e)&&(this.milestonesReached.add(e),this.track("scroll_depth",`Scrolled ${e}%`,{depth:e,maxDepth:this.maxScrollDepth,timeToReach:Date.now()-this.pageLoadTime}))}}class F extends C{constructor(){super(...arguments),this.name="forms",this.trackedForms=new WeakSet,this.formInteractions=new Set,this.observer=null,this.listeners=[]}init(e){super.init(e),"undefined"!=typeof document&&(this.trackAllForms(),"undefined"!=typeof MutationObserver&&(this.observer=new MutationObserver(()=>this.trackAllForms()),this.observer.observe(document.body,{childList:!0,subtree:!0})))}destroy(){this.observer&&(this.observer.disconnect(),this.observer=null);for(const{element:e,event:t,handler:n}of this.listeners)e.removeEventListener(t,n);this.listeners=[],super.destroy()}addListener(e,t,n){e.addEventListener(t,n),this.listeners.push({element:e,event:t,handler:n})}trackAllForms(){document.querySelectorAll("form").forEach(e=>{this.setupFormTracking(e)})}setupFormTracking(e){if(this.trackedForms.has(e))return;this.trackedForms.add(e);const t=e.id||e.name||`form-${Math.random().toString(36).substr(2,9)}`;this.track("form_view","Form Viewed",{formId:t,action:e.action,method:e.method,fieldCount:e.elements.length}),Array.from(e.elements).forEach(e=>{if(e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement){if(!e.name||"submit"===e.type||"button"===e.type)return;["focus","blur","change"].forEach(n=>{this.addListener(e,n,()=>{const i=`${t}-${e.name}-${n}`;this.formInteractions.has(i)||(this.formInteractions.add(i),this.track("form_interaction","Form Field Interaction",{formId:t,fieldName:e.name,fieldType:e.type,interactionType:n}))})})}});this.addListener(e,"submit",()=>{this.track("form_submit","Form Submitted",{formId:t,action:e.action,method:e.method}),this.autoIdentify(e)})}autoIdentify(e){const t=e.querySelector('input[type="email"], input[name*="email"]');if(!t?.value||!this.tracker)return;const n=t.value,i={},s=e.querySelector('[name*="first"], [name*="fname"]'),o=e.querySelector('[name*="last"], [name*="lname"]'),r=e.querySelector('[name*="company"], [name*="organization"]'),a=e.querySelector('[type="tel"], [name*="phone"]');s?.value&&(i.firstName=s.value),o?.value&&(i.lastName=o.value),r?.value&&(i.company=r.value),a?.value&&(i.phone=a.value),this.tracker.identify(n,i)}}class P extends C{constructor(){super(...arguments),this.name="clicks",this.boundHandler=null}init(e){super.init(e),"undefined"!=typeof document&&(this.boundHandler=this.handleClick.bind(this),document.addEventListener("click",this.boundHandler,!0))}destroy(){this.boundHandler&&"undefined"!=typeof document&&document.removeEventListener("click",this.boundHandler,!0),super.destroy()}handleClick(e){const t=e.target;if(!(t&&(n=t,["BUTTON","A","INPUT"].includes(n.tagName)||n.hasAttribute("data-track-click")||n.classList.contains("track-click"))))return;var n;const i=S(t,100),s=function(e){return{tag:e.tagName?.toLowerCase()||"unknown",id:e.id||"",className:e.className||"",text:S(e,50)}}(t);this.track("button_click","Button Clicked",{buttonText:i,elementType:t.tagName.toLowerCase(),elementId:s.id,elementClass:s.className,href:t.href||void 0,x:Math.round(e.clientX/window.innerWidth*100),y:Math.round(e.clientY/window.innerHeight*100),viewportWidth:window.innerWidth,viewportHeight:window.innerHeight})}}class _ extends C{constructor(){super(...arguments),this.name="engagement",this.pageLoadTime=0,this.engagementStartTime=0,this.isEngaged=!1,this.engagementTimeout=null,this.boundMarkEngaged=null,this.boundTrackTimeOnPage=null,this.boundVisibilityHandler=null,this.navigationHandler=null,this.popstateHandler=null}init(e){super.init(e),this.pageLoadTime=Date.now(),this.engagementStartTime=Date.now(),"undefined"!=typeof document&&"undefined"!=typeof window&&(this.boundMarkEngaged=this.markEngaged.bind(this),this.boundTrackTimeOnPage=this.trackTimeOnPage.bind(this),this.boundVisibilityHandler=()=>{"hidden"===document.visibilityState?this.trackTimeOnPage():this.engagementStartTime=Date.now()},["mousemove","keydown","touchstart","scroll"].forEach(e=>{document.addEventListener(e,this.boundMarkEngaged,{passive:!0})}),window.addEventListener("beforeunload",this.boundTrackTimeOnPage),document.addEventListener("visibilitychange",this.boundVisibilityHandler),this.navigationHandler=()=>this.resetForNavigation(),window.addEventListener("clianta:navigation",this.navigationHandler),this.popstateHandler=()=>this.resetForNavigation(),window.addEventListener("popstate",this.popstateHandler))}destroy(){this.boundMarkEngaged&&"undefined"!=typeof document&&["mousemove","keydown","touchstart","scroll"].forEach(e=>{document.removeEventListener(e,this.boundMarkEngaged)}),this.boundTrackTimeOnPage&&"undefined"!=typeof window&&window.removeEventListener("beforeunload",this.boundTrackTimeOnPage),this.boundVisibilityHandler&&"undefined"!=typeof document&&document.removeEventListener("visibilitychange",this.boundVisibilityHandler),this.navigationHandler&&"undefined"!=typeof window&&(window.removeEventListener("clianta:navigation",this.navigationHandler),this.navigationHandler=null),this.popstateHandler&&"undefined"!=typeof window&&(window.removeEventListener("popstate",this.popstateHandler),this.popstateHandler=null),this.engagementTimeout&&clearTimeout(this.engagementTimeout),super.destroy()}resetForNavigation(){this.pageLoadTime=Date.now(),this.engagementStartTime=Date.now(),this.isEngaged=!1,this.engagementTimeout&&(clearTimeout(this.engagementTimeout),this.engagementTimeout=null)}markEngaged(){this.isEngaged||(this.isEngaged=!0,this.track("engagement","User Engaged",{timeToEngage:Date.now()-this.pageLoadTime})),this.engagementTimeout&&clearTimeout(this.engagementTimeout),this.engagementTimeout=setTimeout(()=>{this.isEngaged=!1},3e4)}trackTimeOnPage(){const e=Math.floor((Date.now()-this.engagementStartTime)/1e3);e>0&&this.track("time_on_page","Time Spent",{seconds:e,engaged:this.isEngaged})}}class M extends C{constructor(){super(...arguments),this.name="downloads",this.trackedDownloads=new Set,this.boundHandler=null,this.navigationHandler=null,this.popstateHandler=null}init(e){super.init(e),"undefined"!=typeof document&&(this.boundHandler=this.handleClick.bind(this),document.addEventListener("click",this.boundHandler,!0)),"undefined"!=typeof window&&(this.navigationHandler=()=>this.resetForNavigation(),window.addEventListener("clianta:navigation",this.navigationHandler),this.popstateHandler=()=>this.resetForNavigation(),window.addEventListener("popstate",this.popstateHandler))}destroy(){this.boundHandler&&"undefined"!=typeof document&&document.removeEventListener("click",this.boundHandler,!0),this.navigationHandler&&"undefined"!=typeof window&&(window.removeEventListener("clianta:navigation",this.navigationHandler),this.navigationHandler=null),this.popstateHandler&&"undefined"!=typeof window&&(window.removeEventListener("popstate",this.popstateHandler),this.popstateHandler=null),super.destroy()}resetForNavigation(){this.trackedDownloads.clear()}handleClick(e){const t=e.target.closest("a");if(!t||!t.href)return;const n=t.href;(function(e){const t=e.toLowerCase();return l.some(e=>t.includes(e))})(n)&&(this.trackedDownloads.has(n)||(this.trackedDownloads.add(n),this.track("download","File Download",{url:n,filename:x(n),fileType:I(n),linkText:S(t,100)})))}}class q extends C{constructor(){super(...arguments),this.name="exitIntent",this.exitIntentShown=!1,this.pageLoadTime=0,this.boundHandler=null,this.navigationHandler=null,this.popstateHandler=null}init(e){super.init(e),this.pageLoadTime=Date.now(),"undefined"!=typeof navigator&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||("undefined"!=typeof document&&(this.boundHandler=this.handleMouseLeave.bind(this),document.addEventListener("mouseleave",this.boundHandler)),"undefined"!=typeof window&&(this.navigationHandler=()=>this.resetForNavigation(),window.addEventListener("clianta:navigation",this.navigationHandler),this.popstateHandler=()=>this.resetForNavigation(),window.addEventListener("popstate",this.popstateHandler)))}destroy(){this.boundHandler&&"undefined"!=typeof document&&document.removeEventListener("mouseleave",this.boundHandler),this.navigationHandler&&"undefined"!=typeof window&&(window.removeEventListener("clianta:navigation",this.navigationHandler),this.navigationHandler=null),this.popstateHandler&&"undefined"!=typeof window&&(window.removeEventListener("popstate",this.popstateHandler),this.popstateHandler=null),super.destroy()}resetForNavigation(){this.exitIntentShown=!1,this.pageLoadTime=Date.now()}handleMouseLeave(e){e.clientY>0||this.exitIntentShown||(this.exitIntentShown=!0,this.track("exit_intent","Exit Intent Detected",{timeOnPage:Date.now()-this.pageLoadTime}))}}class $ extends C{constructor(){super(...arguments),this.name="errors",this.boundErrorHandler=null,this.boundRejectionHandler=null}init(e){super.init(e),"undefined"!=typeof window&&(this.boundErrorHandler=this.handleError.bind(this),this.boundRejectionHandler=this.handleRejection.bind(this),window.addEventListener("error",this.boundErrorHandler),window.addEventListener("unhandledrejection",this.boundRejectionHandler))}destroy(){"undefined"!=typeof window&&(this.boundErrorHandler&&window.removeEventListener("error",this.boundErrorHandler),this.boundRejectionHandler&&window.removeEventListener("unhandledrejection",this.boundRejectionHandler)),super.destroy()}handleError(e){this.track("error","JavaScript Error",{message:e.message,filename:e.filename,line:e.lineno,column:e.colno,stack:e.error?.stack?.substring(0,500)})}handleRejection(e){this.track("error","Unhandled Promise Rejection",{reason:String(e.reason).substring(0,200)})}}class A extends C{constructor(){super(...arguments),this.name="performance",this.boundLoadHandler=null,this.observers=[],this.boundClsVisibilityHandler=null}init(e){super.init(e),"undefined"!=typeof window&&(this.boundLoadHandler=()=>{setTimeout(()=>this.trackPerformance(),100)},window.addEventListener("load",this.boundLoadHandler))}destroy(){this.boundLoadHandler&&"undefined"!=typeof window&&window.removeEventListener("load",this.boundLoadHandler);for(const e of this.observers)e.disconnect();this.observers=[],this.boundClsVisibilityHandler&&"undefined"!=typeof window&&window.removeEventListener("visibilitychange",this.boundClsVisibilityHandler),super.destroy()}trackPerformance(){if("undefined"==typeof performance)return;const e=performance.getEntriesByType("navigation");if(e.length>0){const t=e[0],n=Math.round(t.loadEventEnd-t.startTime),i=Math.round(t.domContentLoadedEventEnd-t.startTime),s=Math.round(t.responseStart-t.requestStart),o=Math.round(t.domInteractive-t.startTime);this.track("performance","Page Performance",{loadTime:n,domReady:i,ttfb:s,domInteractive:o,dns:Math.round(t.domainLookupEnd-t.domainLookupStart),connection:Math.round(t.connectEnd-t.connectStart),transferSize:t.transferSize})}else{const e=performance.timing;if(!e)return;const t=e.loadEventEnd-e.navigationStart,n=e.domContentLoadedEventEnd-e.navigationStart,i=e.responseStart-e.navigationStart,s=e.domInteractive-e.navigationStart;this.track("performance","Page Performance",{loadTime:t,domReady:n,ttfb:i,domInteractive:s})}this.trackWebVitals()}trackWebVitals(){if("PerformanceObserver"in window){try{const e=new PerformanceObserver(e=>{const t=e.getEntries(),n=t[t.length-1];n&&this.track("performance","Web Vital - LCP",{metric:"LCP",value:Math.round(n.startTime)})});e.observe({type:"largest-contentful-paint",buffered:!0}),this.observers.push(e)}catch{}try{const e=new PerformanceObserver(e=>{const t=e.getEntries()[0];t&&this.track("performance","Web Vital - FID",{metric:"FID",value:Math.round(t.processingStart-t.startTime)})});e.observe({type:"first-input",buffered:!0}),this.observers.push(e)}catch{}try{let e=0;const t=new PerformanceObserver(t=>{t.getEntries().forEach(t=>{t.hadRecentInput||(e+=t.value||0)})});t.observe({type:"layout-shift",buffered:!0}),this.observers.push(t),this.boundClsVisibilityHandler=()=>{"hidden"===document.visibilityState&&e>0&&this.track("performance","Web Vital - CLS",{metric:"CLS",value:Math.round(1e3*e)/1e3})},window.addEventListener("visibilitychange",this.boundClsVisibilityHandler,{once:!0})}catch{}}}}class D extends C{constructor(){super(...arguments),this.name="popupForms",this.forms=[],this.shownForms=new Set,this.scrollHandler=null,this.exitHandler=null,this.delayTimers=[],this.clickTriggerListeners=[]}async init(e){super.init(e),"undefined"!=typeof window&&(this.loadShownForms(),await this.fetchForms(),this.setupTriggers())}destroy(){this.removeTriggers();for(const e of this.delayTimers)clearTimeout(e);this.delayTimers=[];for(const{element:e,handler:t}of this.clickTriggerListeners)e.removeEventListener("click",t);this.clickTriggerListeners=[],super.destroy()}loadShownForms(){try{const e=localStorage.getItem("clianta_shown_forms");if(e){const t=JSON.parse(e);this.shownForms=new Set(t.forms||[])}}catch(e){}}saveShownForms(){try{localStorage.setItem("clianta_shown_forms",JSON.stringify({forms:Array.from(this.shownForms),timestamp:Date.now()}))}catch(e){}}async fetchForms(){if(!this.tracker)return;const e=this.tracker.getConfig(),t=this.tracker.getWorkspaceId(),n=e.apiEndpoint||"http://localhost:5000";try{const e=encodeURIComponent(window.location.href),i=await fetch(`${n}/api/public/lead-forms/${t}?url=${e}`);if(!i.ok)return;const s=await i.json();s.success&&Array.isArray(s.data)&&(this.forms=s.data.filter(e=>this.shouldShowForm(e)))}catch(e){console.error("[Clianta] Failed to fetch forms:",e)}}shouldShowForm(e){if("once_per_visitor"===e.showFrequency){if(this.shownForms.has(e._id))return!1}else if("once_per_session"===e.showFrequency){const t=`clianta_form_${e._id}_shown`;if(sessionStorage.getItem(t))return!1}return!0}setupTriggers(){this.forms.forEach(e=>{switch(e.trigger.type){case"delay":this.delayTimers.push(setTimeout(()=>this.showForm(e),1e3*(e.trigger.value||5)));break;case"scroll":this.setupScrollTrigger(e);break;case"exit_intent":this.setupExitIntentTrigger(e);break;case"click":this.setupClickTrigger(e)}})}setupScrollTrigger(e){const t=e.trigger.value||50;this.scrollHandler=()=>{window.scrollY/(document.documentElement.scrollHeight-window.innerHeight)*100>=t&&(this.showForm(e),this.scrollHandler&&window.removeEventListener("scroll",this.scrollHandler))},window.addEventListener("scroll",this.scrollHandler,{passive:!0})}setupExitIntentTrigger(e){this.exitHandler=t=>{t.clientY<=0&&(this.showForm(e),this.exitHandler&&document.removeEventListener("mouseout",this.exitHandler))},document.addEventListener("mouseout",this.exitHandler)}setupClickTrigger(e){if(!e.trigger.selector)return;document.querySelectorAll(e.trigger.selector).forEach(t=>{const n=()=>this.showForm(e);t.addEventListener("click",n),this.clickTriggerListeners.push({element:t,handler:n})})}removeTriggers(){this.scrollHandler&&window.removeEventListener("scroll",this.scrollHandler),this.exitHandler&&document.removeEventListener("mouseout",this.exitHandler)}async showForm(e){this.shouldShowForm(e)&&(this.shownForms.add(e._id),this.saveShownForms(),sessionStorage.setItem(`clianta_form_${e._id}_shown`,"true"),await this.trackFormView(e._id),this.renderForm(e))}async trackFormView(e){if(!this.tracker)return;const t=this.tracker.getConfig().apiEndpoint||"http://localhost:5000";try{await fetch(`${t}/api/public/lead-forms/${e}/view`,{method:"POST",headers:{"Content-Type":"application/json"}})}catch(e){}}renderForm(e){const t=document.createElement("div");t.id=`clianta-form-overlay-${e._id}`,t.style.cssText="\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: 999998;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n transition: opacity 0.3s ease;\n ";const n=document.createElement("div");n.id=`clianta-form-${e._id}`;const i=e.style||{};n.style.cssText=`\n background: ${i.backgroundColor||"#FFFFFF"};\n border-radius: ${i.borderRadius||12}px;\n padding: 24px;\n max-width: 400px;\n width: 90%;\n box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);\n transform: translateY(20px);\n opacity: 0;\n transition: all 0.3s ease;\n `,this.buildFormDOM(e,n),t.appendChild(n),document.body.appendChild(t),requestAnimationFrame(()=>{t.style.opacity="1",n.style.transform="translateY(0)",n.style.opacity="1"}),this.setupFormEvents(e,t,n)}escapeHTML(e){const t=document.createElement("div");return t.textContent=e,t.innerHTML}buildFormDOM(e,t){const n=e.style||{},i=n.primaryColor||"#10B981",s=n.textColor||"#18181B",o=document.createElement("button");o.id="clianta-form-close",o.style.cssText="\n position: absolute;\n top: 12px;\n right: 12px;\n background: none;\n border: none;\n font-size: 20px;\n cursor: pointer;\n color: #71717A;\n padding: 4px;\n ",o.textContent="×",t.appendChild(o);const r=document.createElement("h2");r.style.cssText=`font-size: 20px; font-weight: 700; margin-bottom: 8px; color: ${this.escapeHTML(s)};`,r.textContent=e.headline||"Stay in touch",t.appendChild(r);const a=document.createElement("p");a.style.cssText="font-size: 14px; color: #71717A; margin-bottom: 16px;",a.textContent=e.subheadline||"Get the latest updates",t.appendChild(a);const d=document.createElement("form");d.id="clianta-form-element",e.fields.forEach(e=>{const t=document.createElement("div");if(t.style.marginBottom="12px","checkbox"===e.type){const n=document.createElement("label");n.style.cssText=`display: flex; align-items: center; gap: 8px; font-size: 14px; color: ${this.escapeHTML(s)}; cursor: pointer;`;const i=document.createElement("input");i.type="checkbox",i.name=e.name,e.required&&(i.required=!0),i.style.cssText="width: 16px; height: 16px;",n.appendChild(i);const o=document.createTextNode(e.label+" ");if(n.appendChild(o),e.required){const e=document.createElement("span");e.style.color="#EF4444",e.textContent="*",n.appendChild(e)}t.appendChild(n)}else{const n=document.createElement("label");if(n.style.cssText=`display: block; font-size: 14px; font-weight: 500; margin-bottom: 4px; color: ${this.escapeHTML(s)};`,n.textContent=e.label+" ",e.required){const e=document.createElement("span");e.style.color="#EF4444",e.textContent="*",n.appendChild(e)}if(t.appendChild(n),"textarea"===e.type){const n=document.createElement("textarea");n.name=e.name,e.placeholder&&(n.placeholder=e.placeholder),e.required&&(n.required=!0),n.style.cssText="width: 100%; padding: 8px 12px; border: 1px solid #E4E4E7; border-radius: 6px; font-size: 14px; resize: vertical; min-height: 80px; box-sizing: border-box;",t.appendChild(n)}else if("select"===e.type){const n=document.createElement("select");if(n.name=e.name,e.required&&(n.required=!0),n.style.cssText="width: 100%; padding: 8px 12px; border: 1px solid #E4E4E7; border-radius: 6px; font-size: 14px; box-sizing: border-box; background: white; cursor: pointer;",e.placeholder){const t=document.createElement("option");t.value="",t.textContent=e.placeholder,t.disabled=!0,t.selected=!0,n.appendChild(t)}e.options&&Array.isArray(e.options)&&e.options.forEach(e=>{const t=document.createElement("option");"string"==typeof e?(t.value=e,t.textContent=e):(t.value=e.value,t.textContent=e.label),n.appendChild(t)}),t.appendChild(n)}else{const n=document.createElement("input");n.type=e.type,n.name=e.name,e.placeholder&&(n.placeholder=e.placeholder),e.required&&(n.required=!0),n.style.cssText="width: 100%; padding: 8px 12px; border: 1px solid #E4E4E7; border-radius: 6px; font-size: 14px; box-sizing: border-box;",t.appendChild(n)}}d.appendChild(t)});const c=document.createElement("button");c.type="submit",c.style.cssText=`\n width: 100%;\n padding: 10px 16px;\n background: ${this.escapeHTML(i)};\n color: white;\n border: none;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n margin-top: 8px;\n `,c.textContent=e.submitButtonText||"Subscribe",d.appendChild(c),t.appendChild(d)}setupFormEvents(e,t,n){const i=n.querySelector("#clianta-form-close");i&&i.addEventListener("click",()=>this.closeForm(e._id,t,n)),t.addEventListener("click",i=>{i.target===t&&this.closeForm(e._id,t,n)});const s=n.querySelector("#clianta-form-element");s&&s.addEventListener("submit",async t=>{t.preventDefault(),await this.handleSubmit(e,s,n)})}closeForm(e,t,n){n.style.transform="translateY(20px)",n.style.opacity="0",t.style.opacity="0",setTimeout(()=>{t.remove()},300)}async handleSubmit(e,t,n){if(!this.tracker)return;const i=this.tracker.getConfig().apiEndpoint||"http://localhost:5000",s=this.tracker.getVisitorId(),o=new FormData(t),r={};o.forEach((e,t)=>{r[t]=e});const a=t.querySelector('button[type="submit"]');a&&(a.disabled=!0,a.textContent="Submitting...");try{const t=await fetch(`${i}/api/public/lead-forms/${e._id}/submit`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({visitorId:s,data:r,url:window.location.href})});if((await t.json()).success){n.innerHTML="";const t=document.createElement("div");t.style.cssText="text-align: center; padding: 20px;";const i=document.createElement("div");i.style.cssText="width: 48px; height: 48px; background: #10B981; border-radius: 50%; margin: 0 auto 16px; display: flex; align-items: center; justify-content: center;";const s=document.createElementNS("http://www.w3.org/2000/svg","svg");s.setAttribute("width","24"),s.setAttribute("height","24"),s.setAttribute("viewBox","0 0 24 24"),s.setAttribute("fill","none"),s.setAttribute("stroke","white"),s.setAttribute("stroke-width","2");const o=document.createElementNS("http://www.w3.org/2000/svg","polyline");o.setAttribute("points","20 6 9 17 4 12"),s.appendChild(o),i.appendChild(s);const a=document.createElement("p");if(a.style.cssText="font-size: 16px; font-weight: 500; color: #18181B;",a.textContent=e.successMessage||"Thank you!",t.appendChild(i),t.appendChild(a),n.appendChild(t),r.email&&this.tracker?.identify(r.email,r),e.redirectUrl)try{const t=new URL(e.redirectUrl,window.location.origin),n=t.origin===window.location.origin,i="https:"===t.protocol||"http:"===t.protocol;n||i?setTimeout(()=>{window.location.href=t.href},1500):console.warn("[Clianta] Blocked unsafe redirect URL:",e.redirectUrl)}catch{console.warn("[Clianta] Invalid redirect URL:",e.redirectUrl)}setTimeout(()=>{const t=document.getElementById(`clianta-form-overlay-${e._id}`);t&&this.closeForm(e._id,t,n)},2e3)}}catch(t){console.error("[Clianta] Form submit error:",t),a&&(a.disabled=!1,a.textContent=e.submitButtonText||"Subscribe")}}}function N(e){switch(e){case"pageView":return new H;case"scroll":return new L;case"forms":return new F;case"clicks":return new P;case"engagement":return new _;case"downloads":return new M;case"exitIntent":return new q;case"errors":return new $;case"performance":return new A;case"popupForms":return new D;default:throw new Error(`Unknown plugin: ${e}`)}}function R(e){try{if("undefined"==typeof localStorage)return!1;const t={state:e,timestamp:Date.now(),version:1};return localStorage.setItem(a,JSON.stringify(t)),!0}catch{return!1}}function O(){try{if("undefined"==typeof localStorage)return null;const e=localStorage.getItem(a);if(!e)return null;const t=JSON.parse(e);return 1!==t.version?(V(),null):t}catch{return null}}function V(){try{return"undefined"!=typeof localStorage&&(localStorage.removeItem(a),!0)}catch{return!1}}class z{constructor(e={}){this.eventBuffer=[],this.callbacks=[],this.hasExplicitConsent=!1,this.config={defaultConsent:{analytics:!0,marketing:!1,personalization:!1},waitForConsent:!1,storageKey:"mb_consent",...e};const t=O();t?(this.state=t.state,this.hasExplicitConsent=!0,f.debug("Loaded stored consent:",this.state)):(this.state=this.config.defaultConsent||{analytics:!0},this.hasExplicitConsent=!1,f.debug("Using default consent:",this.state)),e.onConsentChange&&this.callbacks.push(e.onConsentChange)}grant(e){const t={...this.state};this.state={...this.state,...e},this.hasExplicitConsent=!0,R(this.state),f.info("Consent granted:",e),this.notifyChange(t)}revoke(e){const t={...this.state};for(const t of e)this.state[t]=!1;this.hasExplicitConsent=!0,R(this.state),f.info("Consent revoked:",e),this.notifyChange(t)}update(e){const t={...this.state};this.state={...e},this.hasExplicitConsent=!0,R(this.state),f.info("Consent updated:",this.state),this.notifyChange(t)}reset(){const e={...this.state};this.state=this.config.defaultConsent||{analytics:!0},this.hasExplicitConsent=!1,this.eventBuffer=[],V(),f.info("Consent reset to defaults"),this.notifyChange(e)}getState(){return{...this.state}}hasConsent(e){return!0===this.state[e]}canTrack(){return!(this.config.waitForConsent&&!this.hasExplicitConsent)&&!0===this.state.analytics}hasExplicit(){return this.hasExplicitConsent}hasStored(){return null!==O()}bufferEvent(e){this.eventBuffer.length>=100&&(f.warn("Consent event buffer full, dropping oldest event"),this.eventBuffer.shift()),this.eventBuffer.push(e),f.debug("Event buffered (waiting for consent):",e.eventName)}flushBuffer(){const e=[...this.eventBuffer];return this.eventBuffer=[],e.length>0&&f.debug(`Flushing ${e.length} buffered events`),e}getBufferSize(){return this.eventBuffer.length}onChange(e){return this.callbacks.push(e),()=>{const t=this.callbacks.indexOf(e);t>-1&&this.callbacks.splice(t,1)}}notifyChange(e){for(const t of this.callbacks)try{t(this.state,e)}catch(e){f.error("Consent change callback error:",e)}}}class B{constructor(e,t={}){if(this.plugins=[],this.isInitialized=!1,this.contactId=null,this.groupId=null,this.pendingIdentify=null,this.eventSchemas=new Map,this.middlewares=[],this.readyCallbacks=[],!e)throw new Error("[Clianta] Workspace ID is required");this.workspaceId=e,this.config=function(e={}){return{...i,...e,consent:{...i.consent,...e.consent}}}(t),f.enabled=this.config.debug,f.info(`Initializing SDK v${n}`,{workspaceId:e}),this.consentManager=new z({...this.config.consent,onConsentChange:(e,t)=>{this.onConsentChange(e,t)}}),this.transport=new m({apiEndpoint:this.config.apiEndpoint}),this.queue=new T(this.transport,{batchSize:this.config.batchSize,flushInterval:this.config.flushInterval}),this.visitorId=this.createVisitorId(),this.sessionId=this.createSessionId(),f.debug("IDs created",{visitorId:this.visitorId,sessionId:this.sessionId}),!this.config.apiEndpoint.startsWith("http://")||"undefined"==typeof window||window.location.hostname.includes("localhost")||window.location.hostname.includes("127.0.0.1")||f.warn("apiEndpoint uses HTTP — events will be sent unencrypted. Use HTTPS in production."),this.initPlugins(),this.isInitialized=!0,f.info("SDK initialized successfully");for(const e of this.readyCallbacks)try{e()}catch(e){f.error("onReady callback error:",e)}this.readyCallbacks=[]}createVisitorId(){if(this.config.consent.anonymousMode&&!this.consentManager.hasExplicit()){const e=s+"_anon";let t=w(e);return t||(t="anon_"+g(),y(e,t)),t}if(this.config.cookielessMode){let e=w(s);return e||(e=g(),y(s,e)),e}return b(this.config.useCookies)}createSessionId(){return function(e){const t=o,n=r;let i=w(t);const s=parseInt(w(n)||"0",10),a=Date.now();return(!i||a-s>e)&&(i=g(),y(t,i)),y(n,a.toString()),i}(this.config.sessionTimeout)}onConsentChange(e,t){if(f.debug("Consent changed:",{from:t,to:e}),e.analytics&&!t.analytics){this.config.consent.anonymousMode&&(this.visitorId=b(this.config.useCookies),f.info("Upgraded from anonymous to persistent visitor ID"));const e=this.consentManager.flushBuffer();for(const t of e)t.visitorId=this.visitorId,this.queue.push(t)}}initPlugins(){const e=this.config.plugins,t=this.config.autoPageView?e:e.filter(e=>"pageView"!==e);for(const e of t)try{const t=N(e),n=t.init(this);n instanceof Promise&&n.catch(t=>{f.error(`Async plugin init failed: ${e}`,t)}),this.plugins.push(t),f.debug(`Plugin loaded: ${e}`)}catch(t){f.error(`Failed to load plugin: ${e}`,t)}}track(e,t,i={}){if(!this.isInitialized)return void f.warn("SDK not initialized, event dropped");const s={workspaceId:this.workspaceId,visitorId:this.visitorId,sessionId:this.sessionId,eventType:e,eventName:t,url:"undefined"!=typeof window?window.location.href:"",referrer:"undefined"!=typeof document&&document.referrer||void 0,properties:{...i,eventId:g(),websiteDomain:"undefined"!=typeof window?window.location.hostname:void 0},device:"undefined"==typeof window||"undefined"==typeof navigator?{userAgent:"unknown",screen:"unknown",language:"unknown",timezone:"unknown"}:{userAgent:navigator.userAgent,screen:`${screen.width}x${screen.height}`,language:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||"unknown"},...E(),timestamp:(new Date).toISOString(),sdkVersion:n};if(this.contactId&&(s.contactId=this.contactId),this.groupId&&(s.groupId=this.groupId),this.validateEventSchema(e,i),!this.consentManager.canTrack())return this.config.consent.waitForConsent?void this.consentManager.bufferEvent(s):void f.debug("Event dropped (no consent):",t);this.runMiddleware(s,()=>{this.queue.push(s),f.debug("Event tracked:",t,i)})}page(e,t={}){const n=e||("undefined"!=typeof document?document.title:"Page View");this.track("page_view",n,{...t,path:"undefined"!=typeof window?window.location.pathname:""})}async identify(e,t={}){if(!e)return f.warn("Email is required for identification"),null;if(!function(e){return!("string"!=typeof e||!e)&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}(e))return f.warn("Invalid email format, identification skipped:",e),null;f.info("Identifying visitor:",e);const n=await this.transport.sendIdentify({workspaceId:this.workspaceId,visitorId:this.visitorId,email:e,properties:t});return n.success?(f.info("Visitor identified successfully, contactId:",n.contactId),this.contactId=n.contactId??null,this.pendingIdentify=null,this.contactId):(f.error("Failed to identify visitor:",n.error),this.pendingIdentify={email:e,traits:t},null)}async retryPendingIdentify(){if(!this.pendingIdentify)return;const{email:e,traits:t}=this.pendingIdentify;this.pendingIdentify=null,await this.identify(e,t)}consent(e){this.consentManager.update(e)}getConsentState(){return this.consentManager.getState()}debug(e){f.enabled=e,f.info("Debug mode "+(e?"enabled":"disabled"))}group(e,t={}){e?(this.groupId=e,f.info("Visitor grouped:",e),this.track("group","Group Identified",{groupId:e,...t})):f.warn("groupId is required for group()")}async alias(e,t){if(!e)return f.warn("newId is required for alias()"),!1;const n=t||this.visitorId;f.info("Aliasing visitor:",{from:n,to:e});try{const t=`${this.config.apiEndpoint}/api/public/track/alias`,i=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspaceId:this.workspaceId,previousId:n,newId:e})});return i.ok?(f.info("Alias successful"),!0):(f.error("Alias failed:",i.status),!1)}catch(e){return f.error("Alias request failed:",e),!1}}screen(e,t={}){this.track("screen_view",e,{...t,screenName:e})}use(e){this.middlewares.push(e),f.debug("Middleware registered")}runMiddleware(e,t){if(0===this.middlewares.length)return void t();let n=0;const i=this.middlewares,s=()=>{if(n++,n<i.length)try{i[n](e,s)}catch(e){f.error("Middleware error:",e),t()}else t()};try{i[0](e,s)}catch(e){f.error("Middleware error:",e),t()}}onReady(e){if(this.isInitialized)try{e()}catch(e){f.error("onReady callback error:",e)}else this.readyCallbacks.push(e)}isReady(){return this.isInitialized}registerEventSchema(e,t){this.eventSchemas.set(e,t),f.debug("Event schema registered:",e)}validateEventSchema(e,t){if(!this.config.debug)return;const n=this.eventSchemas.get(e);if(n)for(const[i,s]of Object.entries(n)){const n=t[i];if(void 0===n){f.warn(`[Schema] Missing property "${i}" for event type "${e}"`);continue}let o=!1;switch(s){case"string":o="string"==typeof n;break;case"number":o="number"==typeof n;break;case"boolean":o="boolean"==typeof n;break;case"object":o="object"==typeof n&&!Array.isArray(n);break;case"array":o=Array.isArray(n)}o||f.warn(`[Schema] Property "${i}" for event "${e}" expected ${s}, got ${typeof n}`)}}getVisitorId(){return this.visitorId}getSessionId(){return this.sessionId}getWorkspaceId(){return this.workspaceId}getConfig(){return{...this.config}}async flush(){await this.retryPendingIdentify(),await this.queue.flush()}reset(){f.info("Resetting visitor data"),k(this.config.useCookies),this.visitorId=this.createVisitorId(),this.sessionId=this.createSessionId(),this.contactId=null,this.pendingIdentify=null,this.queue.clear()}deleteData(){if(f.info("Deleting all user data (GDPR request)"),this.queue.clear(),this.consentManager.reset(),k(this.config.useCookies),"undefined"!=typeof sessionStorage)try{sessionStorage.removeItem(s),sessionStorage.removeItem(s+"_anon"),sessionStorage.removeItem(o),sessionStorage.removeItem(r)}catch{}if("undefined"!=typeof localStorage)try{localStorage.removeItem(s),localStorage.removeItem(a),localStorage.removeItem(d)}catch{}this.visitorId=this.createVisitorId(),this.sessionId=this.createSessionId(),f.info("All user data deleted")}async createContact(e){return this.publicCrmRequest("/api/public/crm/contacts","POST",{workspaceId:this.workspaceId,...e})}async updateContact(e,t){return this.publicCrmRequest(`/api/public/crm/contacts/${e}`,"PUT",{workspaceId:this.workspaceId,...t})}async submitForm(e,t){const n={...t,metadata:{...t.metadata,visitorId:this.visitorId,sessionId:this.sessionId,pageUrl:"undefined"!=typeof window?window.location.href:void 0,referrer:"undefined"!=typeof document&&document.referrer||void 0}};return this.publicCrmRequest(`/api/public/crm/forms/${e}/submit`,"POST",n)}async logActivity(e){return this.publicCrmRequest("/api/public/crm/activities","POST",{workspaceId:this.workspaceId,...e})}async createOpportunity(e){return this.publicCrmRequest("/api/public/crm/opportunities","POST",{workspaceId:this.workspaceId,...e})}async publicCrmRequest(e,t,n){const i=`${this.config.apiEndpoint}${e}`;try{const s=await fetch(i,{method:t,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}),o=await s.json().catch(()=>({}));return s.ok?(f.debug(`Public CRM ${t} ${e} succeeded`),{success:!0,data:o.data??o,status:s.status}):(f.error(`Public CRM ${t} ${e} failed (${s.status}):`,o.message),{success:!1,error:o.message,status:s.status})}catch(n){return f.error(`Public CRM ${t} ${e} error:`,n),{success:!1,error:n.message}}}async destroy(){f.info("Destroying tracker"),await this.queue.flush();for(const e of this.plugins)e.destroy&&e.destroy();this.plugins=[],this.queue.destroy(),this.isInitialized=!1}}let U=null;function j(e,t){return U&&U.getWorkspaceId()===e||(U&&U.destroy(),U=new B(e,t)),U}if("undefined"!=typeof window){window.clianta=j,window.Clianta={clianta:j,Tracker:B,ConsentManager:z};const e=()=>{const e=document.querySelectorAll("script[data-project-id]"),t=e[e.length-1];if(!t)return;const n=t.getAttribute("data-project-id");if(!n)return;const i=j(n,{debug:t.hasAttribute("data-debug")});window.__clianta=i};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}e.ConsentManager=z,e.SDK_VERSION=n,e.Tracker=B,e.clianta=j,e.default=j,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
7
7
|
//# sourceMappingURL=clianta.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clianta.umd.min.js","sources":["../src/core/config.ts","../src/core/logger.ts","../src/core/transport.ts","../src/utils/index.ts","../src/core/queue.ts","../src/plugins/base.ts","../src/plugins/pageView.ts","../src/plugins/scroll.ts","../src/plugins/forms.ts","../src/plugins/clicks.ts","../src/plugins/engagement.ts","../src/plugins/downloads.ts","../src/plugins/exitIntent.ts","../src/plugins/errors.ts","../src/plugins/performance.ts","../src/plugins/popupForms.ts","../src/plugins/index.ts","../src/consent/storage.ts","../src/consent/manager.ts","../src/core/tracker.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["SDK_VERSION","DEFAULT_CONFIG","projectId","apiEndpoint","process","env","NEXT_PUBLIC_CLIANTA_API_ENDPOINT","VITE_CLIANTA_API_ENDPOINT","REACT_APP_CLIANTA_API_ENDPOINT","CLIANTA_API_ENDPOINT","debug","autoPageView","plugins","sessionTimeout","batchSize","flushInterval","consent","defaultConsent","analytics","marketing","personalization","waitForConsent","storageKey","anonymousMode","cookieDomain","useCookies","cookielessMode","persistMode","STORAGE_KEYS","SCROLL_MILESTONES","DOWNLOAD_EXTENSIONS","LOG_PREFIX","LOG_STYLES","info","warn","error","LOG_LEVELS","logger","enabled","currentLevel","isEnabled","shouldLog","level","formatArgs","args","console","window","toUpperCase","value","log","setLevel","createLogger","Transport","constructor","config","this","maxRetries","retryDelay","timeout","sendEvents","events","url","payload","JSON","stringify","send","sendIdentify","data","response","fetchWithTimeout","method","headers","body","keepalive","json","catch","ok","contactId","success","status","undefined","message","sendBeacon","navigator","blob","Blob","type","length","fetchData","path","params","URL","Object","entries","forEach","key","searchParams","set","toString","Accept","attempt","delay","options","controller","AbortController","setTimeout","abort","fetch","signal","clearTimeout","ms","Promise","resolve","generateUUID","crypto","randomUUID","replace","c","r","Math","random","getSessionStorage","sessionStorage","getItem","setSessionStorage","setItem","cookie","name","days","document","match","RegExp","expires","date","Date","setTime","getTime","toUTCString","secure","location","protocol","getOrCreateVisitorId","visitorId","localStorage","getLocalStorage","setLocalStorage","resetIds","visitorKey","removeItem","getUTMParams","URLSearchParams","search","utmSource","get","utmMedium","utmCampaign","utmTerm","utmContent","getFilenameFromUrl","split","pop","getFileExtension","parts","getElementText","element","maxLength","innerText","textContent","trim","substring","EventQueue","transport","queue","flushTimer","isFlushing","eventTimestamps","boundBeforeUnload","boundVisibilityChange","boundPageHide","maxQueueSize","restoreQueue","startFlushTimer","setupUnloadHandlers","push","event","checkRateLimit","shift","eventName","flush","now","filter","ts","count","splice","persistQueue","unshift","flushSync","clear","destroy","clearInterval","removeEventListener","setInterval","addEventListener","visibilityState","serialized","stored","parse","Array","isArray","BasePlugin","tracker","init","track","eventType","properties","PageViewPlugin","originalPushState","originalReplaceState","popstateHandler","super","trackPageView","history","pushState","replaceState","self","apply","dispatchEvent","Event","title","pathname","hash","referrer","viewport","innerWidth","innerHeight","ScrollPlugin","milestonesReached","Set","maxScrollDepth","pageLoadTime","scrollTimeout","boundHandler","navigationHandler","handleScroll","bind","passive","resetForNavigation","trackScrollDepth","windowHeight","documentHeight","documentElement","scrollHeight","scrollTop","pageYOffset","scrollableHeight","scrollPercent","floor","clampedPercent","max","min","milestone","has","add","depth","maxDepth","timeToReach","FormsPlugin","trackedForms","WeakSet","formInteractions","observer","listeners","trackAllForms","MutationObserver","observe","childList","subtree","disconnect","handler","addListener","querySelectorAll","form","setupFormTracking","formId","id","substr","action","fieldCount","elements","from","field","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","fieldName","fieldType","interactionType","autoIdentify","emailField","querySelector","email","traits","firstNameField","lastNameField","companyField","phoneField","firstName","lastName","company","phone","identify","ClicksPlugin","handleClick","e","target","includes","tagName","hasAttribute","classList","contains","buttonText","elementInfo","tag","toLowerCase","className","text","getElementInfo","elementType","elementId","elementClass","href","x","round","clientX","y","clientY","viewportWidth","viewportHeight","EngagementPlugin","engagementStartTime","isEngaged","engagementTimeout","boundMarkEngaged","boundTrackTimeOnPage","boundVisibilityHandler","markEngaged","trackTimeOnPage","timeToEngage","timeSpent","seconds","engaged","DownloadsPlugin","trackedDownloads","link","closest","lowerUrl","some","ext","isDownloadUrl","filename","fileType","linkText","ExitIntentPlugin","exitIntentShown","test","userAgent","handleMouseLeave","timeOnPage","ErrorsPlugin","boundErrorHandler","boundRejectionHandler","handleError","handleRejection","line","lineno","column","colno","stack","reason","String","PerformancePlugin","boundLoadHandler","observers","boundClsVisibilityHandler","trackPerformance","performance","getEntriesByType","navTiming","loadTime","loadEventEnd","startTime","domReady","domContentLoadedEventEnd","ttfb","responseStart","requestStart","domInteractive","dns","domainLookupEnd","domainLookupStart","connection","connectEnd","connectStart","transferSize","timing","navigationStart","trackWebVitals","lcpObserver","PerformanceObserver","entryList","getEntries","lastEntry","metric","buffered","fidObserver","firstEntry","processingStart","clsValue","clsObserver","entry","hadRecentInput","once","PopupFormsPlugin","forms","shownForms","scrollHandler","exitHandler","delayTimers","clickTriggerListeners","loadShownForms","fetchForms","setupTriggers","removeTriggers","timer","saveShownForms","timestamp","getConfig","workspaceId","getWorkspaceId","encodeURIComponent","shouldShowForm","showFrequency","_id","sessionKey","trigger","showForm","setupScrollTrigger","setupExitIntentTrigger","setupClickTrigger","threshold","scrollY","selector","el","trackFormView","renderForm","overlay","createElement","style","cssText","container","backgroundColor","borderRadius","buildFormDOM","appendChild","requestAnimationFrame","opacity","transform","setupFormEvents","escapeHTML","str","div","innerHTML","primaryColor","textColor","closeBtn","headline","subheadline","formElement","fields","fieldWrapper","marginBottom","label","input","required","labelText","createTextNode","requiredMark","color","textarea","placeholder","select","placeholderOption","disabled","selected","opt","option","submitBtn","submitButtonText","closeForm","async","preventDefault","handleSubmit","remove","getVisitorId","formData","FormData","successWrapper","iconWrapper","svg","createElementNS","setAttribute","polyline","successMessage","redirectUrl","redirect","origin","isSameOrigin","isSafeProtocol","getElementById","getPlugin","Error","saveConsent","state","version","loadConsent","parsed","clearConsent","ConsentManager","eventBuffer","callbacks","hasExplicitConsent","onConsentChange","grant","categories","previous","notifyChange","revoke","category","update","reset","getState","hasConsent","canTrack","hasExplicit","hasStored","bufferEvent","flushBuffer","getBufferSize","onChange","callback","index","indexOf","Tracker","userConfig","isInitialized","groupId","pendingIdentify","eventSchemas","Map","middlewares","readyCallbacks","mergeConfig","consentManager","createVisitorId","sessionId","createSessionId","startsWith","hostname","initPlugins","cb","anonId","sidKey","tsKey","lastActivity","parseInt","getOrCreateSessionId","to","pluginsToLoad","filteredPlugins","p","pluginName","plugin","result","eventId","websiteDomain","device","screen","language","timezone","width","height","Intl","DateTimeFormat","resolvedOptions","timeZone","toISOString","sdkVersion","validateEventSchema","runMiddleware","page","pageName","isValidEmail","retryPendingIdentify","getConsentState","group","alias","newId","previousId","prevId","screenName","use","middleware","finalCallback","next","onReady","isReady","registerEventSchema","schema","expectedType","valid","getSessionId","deleteData","createContact","publicCrmRequest","updateContact","submitForm","metadata","pageUrl","logActivity","createOpportunity","globalInstance","clianta","Clianta","autoInit","scripts","script","getAttribute","instance","__clianta","readyState"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"clianta.umd.min.js","sources":["../src/core/config.ts","../src/core/logger.ts","../src/core/transport.ts","../src/utils/index.ts","../src/core/queue.ts","../src/plugins/base.ts","../src/plugins/pageView.ts","../src/plugins/scroll.ts","../src/plugins/forms.ts","../src/plugins/clicks.ts","../src/plugins/engagement.ts","../src/plugins/downloads.ts","../src/plugins/exitIntent.ts","../src/plugins/errors.ts","../src/plugins/performance.ts","../src/plugins/popupForms.ts","../src/plugins/index.ts","../src/consent/storage.ts","../src/consent/manager.ts","../src/core/tracker.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["SDK_VERSION","DEFAULT_CONFIG","projectId","apiEndpoint","process","env","NEXT_PUBLIC_CLIANTA_API_ENDPOINT","document","location","require","pathToFileURL","__filename","href","_documentCurrentScript","tagName","toUpperCase","src","URL","baseURI","REACT_APP_CLIANTA_API_ENDPOINT","CLIANTA_API_ENDPOINT","getDefaultApiEndpoint","debug","autoPageView","plugins","sessionTimeout","batchSize","flushInterval","consent","defaultConsent","analytics","marketing","personalization","waitForConsent","storageKey","anonymousMode","cookieDomain","useCookies","cookielessMode","persistMode","STORAGE_KEYS","SCROLL_MILESTONES","DOWNLOAD_EXTENSIONS","LOG_PREFIX","LOG_STYLES","info","warn","error","LOG_LEVELS","logger","enabled","currentLevel","isEnabled","shouldLog","level","formatArgs","args","console","window","value","log","setLevel","createLogger","Transport","constructor","config","this","maxRetries","retryDelay","timeout","sendEvents","events","url","payload","JSON","stringify","send","sendIdentify","data","response","fetchWithTimeout","method","headers","body","keepalive","json","catch","ok","contactId","success","status","undefined","message","sendBeacon","navigator","blob","Blob","type","length","fetchData","path","params","Object","entries","forEach","key","searchParams","set","toString","Accept","attempt","delay","options","controller","AbortController","setTimeout","abort","fetch","signal","clearTimeout","ms","Promise","resolve","generateUUID","crypto","randomUUID","replace","c","r","Math","random","getSessionStorage","sessionStorage","getItem","setSessionStorage","setItem","cookie","name","days","match","RegExp","expires","date","Date","setTime","getTime","toUTCString","secure","protocol","getOrCreateVisitorId","visitorId","localStorage","getLocalStorage","setLocalStorage","resetIds","visitorKey","removeItem","getUTMParams","URLSearchParams","search","utmSource","get","utmMedium","utmCampaign","utmTerm","utmContent","getFilenameFromUrl","split","pop","getFileExtension","parts","getElementText","element","maxLength","innerText","textContent","trim","substring","EventQueue","transport","queue","flushTimer","isFlushing","eventTimestamps","boundBeforeUnload","boundVisibilityChange","boundPageHide","maxQueueSize","restoreQueue","startFlushTimer","setupUnloadHandlers","push","event","checkRateLimit","shift","eventName","flush","now","filter","ts","count","splice","persistQueue","unshift","flushSync","clear","destroy","clearInterval","removeEventListener","setInterval","addEventListener","visibilityState","serialized","stored","parse","Array","isArray","BasePlugin","tracker","init","track","eventType","properties","PageViewPlugin","originalPushState","originalReplaceState","popstateHandler","super","trackPageView","history","pushState","replaceState","self","apply","dispatchEvent","Event","title","pathname","hash","referrer","viewport","innerWidth","innerHeight","ScrollPlugin","milestonesReached","Set","maxScrollDepth","pageLoadTime","scrollTimeout","boundHandler","navigationHandler","handleScroll","bind","passive","resetForNavigation","trackScrollDepth","windowHeight","documentHeight","documentElement","scrollHeight","scrollTop","pageYOffset","scrollableHeight","scrollPercent","floor","clampedPercent","max","min","milestone","has","add","depth","maxDepth","timeToReach","FormsPlugin","trackedForms","WeakSet","formInteractions","observer","listeners","trackAllForms","MutationObserver","observe","childList","subtree","disconnect","handler","addListener","querySelectorAll","form","setupFormTracking","formId","id","substr","action","fieldCount","elements","from","field","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","fieldName","fieldType","interactionType","autoIdentify","emailField","querySelector","email","traits","firstNameField","lastNameField","companyField","phoneField","firstName","lastName","company","phone","identify","ClicksPlugin","handleClick","e","target","includes","hasAttribute","classList","contains","buttonText","elementInfo","tag","toLowerCase","className","text","getElementInfo","elementType","elementId","elementClass","x","round","clientX","y","clientY","viewportWidth","viewportHeight","EngagementPlugin","engagementStartTime","isEngaged","engagementTimeout","boundMarkEngaged","boundTrackTimeOnPage","boundVisibilityHandler","markEngaged","trackTimeOnPage","timeToEngage","timeSpent","seconds","engaged","DownloadsPlugin","trackedDownloads","link","closest","lowerUrl","some","ext","isDownloadUrl","filename","fileType","linkText","ExitIntentPlugin","exitIntentShown","test","userAgent","handleMouseLeave","timeOnPage","ErrorsPlugin","boundErrorHandler","boundRejectionHandler","handleError","handleRejection","line","lineno","column","colno","stack","reason","String","PerformancePlugin","boundLoadHandler","observers","boundClsVisibilityHandler","trackPerformance","performance","getEntriesByType","navTiming","loadTime","loadEventEnd","startTime","domReady","domContentLoadedEventEnd","ttfb","responseStart","requestStart","domInteractive","dns","domainLookupEnd","domainLookupStart","connection","connectEnd","connectStart","transferSize","timing","navigationStart","trackWebVitals","lcpObserver","PerformanceObserver","entryList","getEntries","lastEntry","metric","buffered","fidObserver","firstEntry","processingStart","clsValue","clsObserver","entry","hadRecentInput","once","PopupFormsPlugin","forms","shownForms","scrollHandler","exitHandler","delayTimers","clickTriggerListeners","loadShownForms","fetchForms","setupTriggers","removeTriggers","timer","saveShownForms","timestamp","getConfig","workspaceId","getWorkspaceId","encodeURIComponent","shouldShowForm","showFrequency","_id","sessionKey","trigger","showForm","setupScrollTrigger","setupExitIntentTrigger","setupClickTrigger","threshold","scrollY","selector","el","trackFormView","renderForm","overlay","createElement","style","cssText","container","backgroundColor","borderRadius","buildFormDOM","appendChild","requestAnimationFrame","opacity","transform","setupFormEvents","escapeHTML","str","div","innerHTML","primaryColor","textColor","closeBtn","headline","subheadline","formElement","fields","fieldWrapper","marginBottom","label","input","required","labelText","createTextNode","requiredMark","color","textarea","placeholder","select","placeholderOption","disabled","selected","opt","option","submitBtn","submitButtonText","closeForm","async","preventDefault","handleSubmit","remove","getVisitorId","formData","FormData","successWrapper","iconWrapper","svg","createElementNS","setAttribute","polyline","successMessage","redirectUrl","redirect","origin","isSameOrigin","isSafeProtocol","getElementById","getPlugin","Error","saveConsent","state","version","loadConsent","parsed","clearConsent","ConsentManager","eventBuffer","callbacks","hasExplicitConsent","onConsentChange","grant","categories","previous","notifyChange","revoke","category","update","reset","getState","hasConsent","canTrack","hasExplicit","hasStored","bufferEvent","flushBuffer","getBufferSize","onChange","callback","index","indexOf","Tracker","userConfig","isInitialized","groupId","pendingIdentify","eventSchemas","Map","middlewares","readyCallbacks","mergeConfig","consentManager","createVisitorId","sessionId","createSessionId","startsWith","hostname","initPlugins","cb","anonId","sidKey","tsKey","lastActivity","parseInt","getOrCreateSessionId","to","pluginsToLoad","filteredPlugins","p","pluginName","plugin","result","eventId","websiteDomain","device","screen","language","timezone","width","height","Intl","DateTimeFormat","resolvedOptions","timeZone","toISOString","sdkVersion","validateEventSchema","runMiddleware","page","pageName","isValidEmail","retryPendingIdentify","getConsentState","group","alias","newId","previousId","prevId","screenName","use","middleware","finalCallback","next","onReady","isReady","registerEventSchema","schema","expectedType","valid","getSessionId","deleteData","createContact","publicCrmRequest","updateContact","submitForm","metadata","pageUrl","logActivity","createOpportunity","globalInstance","clianta","Clianta","autoInit","scripts","script","getAttribute","instance","__clianta","readyState"],"mappings":"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"}
|