@clianta/sdk 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * Clianta SDK v1.1.0
2
+ * Clianta SDK v1.1.1
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.1.0",n={apiEndpoint:(()=>{if("undefined"==typeof window)return"https://api.clianta.online";const e=window.location.hostname;return e.includes("localhost")||e.includes("127.0.0.1")?"http://localhost:5000":"https://api.clianta.online"})(),debug:!1,autoPageView:!0,plugins:["pageView","forms","scroll","clicks","engagement","downloads","exitIntent","popupForms"],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},i="mb_vid",s="mb_sid",o="mb_st",r="mb_consent",a="mb_queue",c=[25,50,75,100],d=[".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".zip",".rar",".tar",".gz",".7z",".csv",".txt",".json",".xml",".mp3",".mp4",".wav",".avi",".mov"];const u="[Clianta]",l={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${u}`,l[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`,n=JSON.stringify(e);return this.send(t,n)}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 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 f(){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 localStorage)return localStorage.getItem(e)}catch{}return null}function y(e,t){try{if("undefined"!=typeof localStorage)return localStorage.setItem(e,t),!0}catch{}return!1}function w(e){try{if("undefined"!=typeof sessionStorage)return sessionStorage.getItem(e)}catch{}return null}function b(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()}return document.cookie=e+"="+t+i+"; path=/; SameSite=Lax",t}function k(e=!1){const t=i;let n=null;return n=e?v(t):g(t),n||(n=f(),e?v(t,n,365):y(t,n)),n}function x(e=!1){const t=i;if(e)v(t,"",-1);else try{localStorage.removeItem(t)}catch{}try{sessionStorage.removeItem(s),sessionStorage.removeItem(o)}catch{}}function S(){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 T(e){try{return e.split("/").pop()?.split("?")[0]||"unknown"}catch{return"unknown"}}function E(e){const t=T(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 C{constructor(e,t={}){this.queue=[],this.flushTimer=null,this.isFlushing=!1,this.transport=e,this.config={batchSize:t.batchSize??10,flushInterval:t.flushInterval??5e3,maxQueueSize:t.maxQueueSize??1e3,storageKey:t.storageKey??a},this.restoreQueue(),this.startFlushTimer(),this.setupUnloadHandlers()}push(e){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()}async flush(){if(!this.isFlushing&&0!==this.queue.length){this.isFlushing=!0;try{const e=this.queue.splice(0,this.queue.length);p.debug(`Flushing ${e.length} events`),this.persistQueue([]);(await this.transport.sendEvents(e)).success?p.debug("Flush successful"):(p.warn("Flush failed, re-queuing events"),this.queue.unshift(...e),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(){this.queue=[],this.persistQueue([])}destroy(){this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=null)}startFlushTimer(){this.flushTimer&&clearInterval(this.flushTimer),this.flushTimer=setInterval(()=>{this.flush()},this.config.flushInterval)}setupUnloadHandlers(){"undefined"!=typeof window&&(window.addEventListener("beforeunload",()=>{this.flushSync()}),window.addEventListener("visibilitychange",()=>{"hidden"===document.visibilityState&&this.flushSync()}),window.addEventListener("pagehide",()=>{this.flushSync()}))}persistQueue(e){try{y(this.config.storageKey,JSON.stringify(e))}catch{}}restoreQueue(){try{const e=g(this.config.storageKey);if(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 ${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 F extends ${constructor(){super(...arguments),this.name="pageView"}init(e){if(super.init(e),this.trackPageView(),"undefined"!=typeof window){const e=history.pushState,t=history.replaceState;history.pushState=(...t)=>{e.apply(history,t),this.trackPageView()},history.replaceState=(...e)=>{t.apply(history,e),this.trackPageView()},window.addEventListener("popstate",()=>{this.trackPageView()})}}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 ${constructor(){super(...arguments),this.name="scroll",this.milestonesReached=new Set,this.maxScrollDepth=0,this.pageLoadTime=0,this.scrollTimeout=null,this.boundHandler=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}))}destroy(){this.boundHandler&&"undefined"!=typeof window&&window.removeEventListener("scroll",this.boundHandler),this.scrollTimeout&&clearTimeout(this.scrollTimeout),super.destroy()}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=Math.floor(n/(t-e)*100),s=Math.max(0,Math.min(100,i));s>this.maxScrollDepth&&(this.maxScrollDepth=s);for(const e of c)s>=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 q extends ${constructor(){super(...arguments),this.name="forms",this.trackedForms=new WeakSet,this.formInteractions=new Set,this.observer=null}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),super.destroy()}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=>{e.addEventListener(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}))})})}}),e.addEventListener("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 H extends ${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})}}class _ extends ${constructor(){super(...arguments),this.name="engagement",this.pageLoadTime=0,this.engagementStartTime=0,this.isEngaged=!1,this.engagementTimeout=null,this.boundMarkEngaged=null,this.boundTrackTimeOnPage=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),["mousemove","keydown","touchstart","scroll"].forEach(e=>{document.addEventListener(e,this.boundMarkEngaged,{passive:!0})}),window.addEventListener("beforeunload",this.boundTrackTimeOnPage),window.addEventListener("visibilitychange",()=>{"hidden"===document.visibilityState?this.trackTimeOnPage():this.engagementStartTime=Date.now()}))}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.engagementTimeout&&clearTimeout(this.engagementTimeout),super.destroy()}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 D extends ${constructor(){super(...arguments),this.name="downloads",this.trackedDownloads=new Set,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.closest("a");if(!t||!t.href)return;const n=t.href;(function(e){const t=e.toLowerCase();return d.some(e=>t.includes(e))})(n)&&(this.trackedDownloads.has(n)||(this.trackedDownloads.add(n),this.track("download","File Download",{url:n,filename:T(n),fileType:E(n),linkText:I(t,100)})))}}class O extends ${constructor(){super(...arguments),this.name="exitIntent",this.exitIntentShown=!1,this.pageLoadTime=0,this.boundHandler=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))}destroy(){this.boundHandler&&"undefined"!=typeof document&&document.removeEventListener("mouseleave",this.boundHandler),super.destroy()}handleMouseLeave(e){e.clientY>0||this.exitIntentShown||(this.exitIntentShown=!0,this.track("exit_intent","Exit Intent Detected",{timeOnPage:Date.now()-this.pageLoadTime}))}}class P extends ${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 M extends ${constructor(){super(...arguments),this.name="performance"}init(e){super.init(e),"undefined"!=typeof window&&window.addEventListener("load",()=>{setTimeout(()=>this.trackPerformance(),100)})}trackPerformance(){if("undefined"==typeof performance)return;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{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)})}).observe({type:"largest-contentful-paint",buffered:!0})}catch{}try{new PerformanceObserver(e=>{const t=e.getEntries()[0];t&&this.track("performance","Web Vital - FID",{metric:"FID",value:Math.round(t.processingStart-t.startTime)})}).observe({type:"first-input",buffered:!0})}catch{}try{let e=0;new PerformanceObserver(t=>{t.getEntries().forEach(t=>{t.hadRecentInput||(e+=t.value||0)})}).observe({type:"layout-shift",buffered:!0}),window.addEventListener("visibilitychange",()=>{"hidden"===document.visibilityState&&e>0&&this.track("performance","Web Vital - CLS",{metric:"CLS",value:Math.round(1e3*e)/1e3})},{once:!0})}catch{}}}}class z extends ${constructor(){super(...arguments),this.name="popupForms",this.forms=[],this.shownForms=new Set,this.scrollHandler=null,this.exitHandler=null}async init(e){super.init(e),"undefined"!=typeof window&&(this.loadShownForms(),await this.fetchForms(),this.setupTriggers())}destroy(){this.removeTriggers(),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||"https://api.clianta.online";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":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=>{t.addEventListener("click",()=>this.showForm(e))})}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||"https://api.clianta.online";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 `,n.innerHTML=this.buildFormHTML(e),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)}buildFormHTML(e){const t=e.style||{},n=t.primaryColor||"#10B981",i=t.textColor||"#18181B";let s=e.fields.map(e=>{const t=e.required?'<span style="color: #EF4444;">*</span>':"";return"textarea"===e.type?`\n <div style="margin-bottom: 12px;">\n <label style="display: block; font-size: 14px; font-weight: 500; margin-bottom: 4px; color: ${i};">\n ${e.label} ${t}\n </label>\n <textarea\n name="${e.name}"\n placeholder="${e.placeholder||""}"\n ${e.required?"required":""}\n style="width: 100%; padding: 8px 12px; border: 1px solid #E4E4E7; border-radius: 6px; font-size: 14px; resize: vertical; min-height: 80px;"\n ></textarea>\n </div>\n `:"checkbox"===e.type?`\n <div style="margin-bottom: 12px;">\n <label style="display: flex; align-items: center; gap: 8px; font-size: 14px; color: ${i}; cursor: pointer;">\n <input\n type="checkbox"\n name="${e.name}"\n ${e.required?"required":""}\n style="width: 16px; height: 16px;"\n />\n ${e.label} ${t}\n </label>\n </div>\n `:`\n <div style="margin-bottom: 12px;">\n <label style="display: block; font-size: 14px; font-weight: 500; margin-bottom: 4px; color: ${i};">\n ${e.label} ${t}\n </label>\n <input\n type="${e.type}"\n name="${e.name}"\n placeholder="${e.placeholder||""}"\n ${e.required?"required":""}\n style="width: 100%; padding: 8px 12px; border: 1px solid #E4E4E7; border-radius: 6px; font-size: 14px; box-sizing: border-box;"\n />\n </div>\n `}).join("");return`\n <button id="clianta-form-close" style="\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 ">&times;</button>\n <h2 style="font-size: 20px; font-weight: 700; margin-bottom: 8px; color: ${i};">\n ${e.headline||"Stay in touch"}\n </h2>\n <p style="font-size: 14px; color: #71717A; margin-bottom: 16px;">\n ${e.subheadline||"Get the latest updates"}\n </p>\n <form id="clianta-form-element">\n ${s}\n <button type="submit" style="\n width: 100%;\n padding: 10px 16px;\n background: ${n};\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 ">\n ${e.submitButtonText||"Subscribe"}\n </button>\n </form>\n `}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||"https://api.clianta.online",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.innerHTML="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})});(await t.json()).success&&(n.innerHTML=`\n <div style="text-align: center; padding: 20px;">\n <div style="width: 48px; height: 48px; background: #10B981; border-radius: 50%; margin: 0 auto 16px; display: flex; align-items: center; justify-content: center;">\n <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2">\n <polyline points="20 6 9 17 4 12"></polyline>\n </svg>\n </div>\n <p style="font-size: 16px; font-weight: 500; color: #18181B;">\n ${e.successMessage||"Thank you!"}\n </p>\n </div>\n `,r.email&&this.tracker?.identify(r.email,r),e.redirectUrl&&setTimeout(()=>{window.location.href=e.redirectUrl},1500),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.innerHTML=e.submitButtonText||"Subscribe")}}}function R(e){switch(e){case"pageView":return new F;case"scroll":return new L;case"forms":return new q;case"clicks":return new H;case"engagement":return new _;case"downloads":return new D;case"exitIntent":return new O;case"errors":return new P;case"performance":return new M;case"popupForms":return new z;default:throw new Error(`Unknown plugin: ${e}`)}}function N(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 B(){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?(V(),null):t}catch{return null}}function V(){try{return"undefined"!=typeof localStorage&&(localStorage.removeItem(r),!0)}catch{return!1}}class A{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=B();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,N(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,N(this.state),p.info("Consent revoked:",e),this.notifyChange(t)}update(e){const t={...this.state};this.state={...e},this.hasExplicitConsent=!0,N(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=[],V(),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!==B()}bufferEvent(e){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 j{constructor(e,i={}){if(this.plugins=[],this.isInitialized=!1,!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 A({...this.config.consent,onConsentChange:(e,t)=>{this.onConsentChange(e,t)}}),this.transport=new m({apiEndpoint:this.config.apiEndpoint}),this.queue=new C(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.initPlugins(),this.isInitialized=!0,p.info("SDK initialized successfully")}createVisitorId(){if(this.config.consent.anonymousMode&&!this.consentManager.hasExplicit()){const e=i+"_anon";let t=w(e);return t||(t="anon_"+f(),b(e,t)),t}if(this.config.cookielessMode){let e=w(i);return e||(e=f(),b(i,e)),e}return k(this.config.useCookies)}createSessionId(){return function(e){const t=s,n=o;let i=w(t);const r=parseInt(w(n)||"0",10),a=Date.now();return(!i||a-r>e)&&(i=f(),b(t,i)),b(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=k(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=R(e);t.init(this),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,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"},utm:S(),timestamp:(new Date).toISOString(),sdkVersion:t};if(!this.consentManager.canTrack())return this.config.consent.waitForConsent?void this.consentManager.bufferEvent(s):void p.debug("Event dropped (no consent):",n);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 void p.warn("Email is required for identification");p.info("Identifying visitor:",e);const n=await this.transport.sendIdentify({workspaceId:this.workspaceId,visitorId:this.visitorId,email:e,properties:t});n.success?p.info("Visitor identified successfully"):p.error("Failed to identify visitor:",n.error)}consent(e){this.consentManager.update(e)}getConsentState(){return this.consentManager.getState()}debug(e){p.enabled=e,p.info("Debug mode "+(e?"enabled":"disabled"))}getVisitorId(){return this.visitorId}getSessionId(){return this.sessionId}getWorkspaceId(){return this.workspaceId}getConfig(){return{...this.config}}async flush(){await this.queue.flush()}reset(){p.info("Resetting visitor data"),x(this.config.useCookies),this.visitorId=this.createVisitorId(),this.sessionId=this.createSessionId(),this.queue.clear()}deleteData(){if(p.info("Deleting all user data (GDPR request)"),this.queue.clear(),this.consentManager.reset(),x(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")}destroy(){p.info("Destroying tracker"),this.queue.flush();for(const e of this.plugins)e.destroy&&e.destroy();this.plugins=[],this.queue.destroy(),this.isInitialized=!1}}class U{constructor(e,t,n){this.apiEndpoint=e,this.workspaceId=t,this.authToken=n}setAuthToken(e){this.authToken=e}async request(e,t={}){const n=`${this.apiEndpoint}${e}`,i={"Content-Type":"application/json",...t.headers||{}};this.authToken&&(i.Authorization=`Bearer ${this.authToken}`);try{const e=await fetch(n,{...t,headers:i}),s=await e.json();return e.ok?{success:!0,data:s.data||s,status:e.status}:{success:!1,error:s.message||"Request failed",status:e.status}}catch(e){return{success:!1,error:e instanceof Error?e.message:"Network error",status:0}}}async getContacts(e){const t=new URLSearchParams;e?.page&&t.set("page",e.page.toString()),e?.limit&&t.set("limit",e.limit.toString()),e?.search&&t.set("search",e.search),e?.status&&t.set("status",e.status);const n=t.toString(),i=`/api/workspaces/${this.workspaceId}/contacts${n?`?${n}`:""}`;return this.request(i)}async getContact(e){return this.request(`/api/workspaces/${this.workspaceId}/contacts/${e}`)}async createContact(e){return this.request(`/api/workspaces/${this.workspaceId}/contacts`,{method:"POST",body:JSON.stringify(e)})}async updateContact(e,t){return this.request(`/api/workspaces/${this.workspaceId}/contacts/${e}`,{method:"PUT",body:JSON.stringify(t)})}async deleteContact(e){return this.request(`/api/workspaces/${this.workspaceId}/contacts/${e}`,{method:"DELETE"})}async getOpportunities(e){const t=new URLSearchParams;e?.page&&t.set("page",e.page.toString()),e?.limit&&t.set("limit",e.limit.toString()),e?.pipelineId&&t.set("pipelineId",e.pipelineId),e?.stageId&&t.set("stageId",e.stageId);const n=t.toString(),i=`/api/workspaces/${this.workspaceId}/opportunities${n?`?${n}`:""}`;return this.request(i)}async getOpportunity(e){return this.request(`/api/workspaces/${this.workspaceId}/opportunities/${e}`)}async createOpportunity(e){return this.request(`/api/workspaces/${this.workspaceId}/opportunities`,{method:"POST",body:JSON.stringify(e)})}async updateOpportunity(e,t){return this.request(`/api/workspaces/${this.workspaceId}/opportunities/${e}`,{method:"PUT",body:JSON.stringify(t)})}async deleteOpportunity(e){return this.request(`/api/workspaces/${this.workspaceId}/opportunities/${e}`,{method:"DELETE"})}async moveOpportunity(e,t){return this.request(`/api/workspaces/${this.workspaceId}/opportunities/${e}/move`,{method:"POST",body:JSON.stringify({stageId:t})})}}let J=null;function W(e,t){return J&&J.getWorkspaceId()===e||(J&&J.destroy(),J=new j(e,t)),J}"undefined"!=typeof window&&(window.clianta=W,window.Clianta={clianta:W,Tracker:j,CRMClient:U,ConsentManager:A}),e.CRMClient=U,e.ConsentManager=A,e.SDK_VERSION=t,e.Tracker=j,e.clianta=W,e.default=W,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";const t="1.1.0",n={projectId:"",apiEndpoint:(()=>{if("undefined"==typeof window)return"https://api.clianta.online";const e=window.location.hostname;return e.includes("localhost")||e.includes("127.0.0.1")?"http://localhost:5000":"https://api.clianta.online"})(),authToken:"",debug:!1,autoPageView:!0,plugins:["pageView","forms","scroll","clicks","engagement","downloads","exitIntent","popupForms"],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},i="mb_vid",s="mb_sid",o="mb_st",r="mb_consent",a="mb_queue",c=[25,50,75,100],d=[".pdf",".doc",".docx",".xls",".xlsx",".ppt",".pptx",".zip",".rar",".tar",".gz",".7z",".csv",".txt",".json",".xml",".mp3",".mp4",".wav",".avi",".mov"];const u="[Clianta]",l={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${u}`,l[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`,n=JSON.stringify(e);return this.send(t,n)}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 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 f(){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 localStorage)return localStorage.getItem(e)}catch{}return null}function y(e,t){try{if("undefined"!=typeof localStorage)return localStorage.setItem(e,t),!0}catch{}return!1}function w(e){try{if("undefined"!=typeof sessionStorage)return sessionStorage.getItem(e)}catch{}return null}function b(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()}return document.cookie=e+"="+t+i+"; path=/; SameSite=Lax",t}function k(e=!1){const t=i;let n=null;return n=e?v(t):g(t),n||(n=f(),e?v(t,n,365):y(t,n)),n}function x(e=!1){const t=i;if(e)v(t,"",-1);else try{localStorage.removeItem(t)}catch{}try{sessionStorage.removeItem(s),sessionStorage.removeItem(o)}catch{}}function S(){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 T(e){try{return e.split("/").pop()?.split("?")[0]||"unknown"}catch{return"unknown"}}function E(e){const t=T(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 C{constructor(e,t={}){this.queue=[],this.flushTimer=null,this.isFlushing=!1,this.transport=e,this.config={batchSize:t.batchSize??10,flushInterval:t.flushInterval??5e3,maxQueueSize:t.maxQueueSize??1e3,storageKey:t.storageKey??a},this.restoreQueue(),this.startFlushTimer(),this.setupUnloadHandlers()}push(e){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()}async flush(){if(!this.isFlushing&&0!==this.queue.length){this.isFlushing=!0;try{const e=this.queue.splice(0,this.queue.length);p.debug(`Flushing ${e.length} events`),this.persistQueue([]);(await this.transport.sendEvents(e)).success?p.debug("Flush successful"):(p.warn("Flush failed, re-queuing events"),this.queue.unshift(...e),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(){this.queue=[],this.persistQueue([])}destroy(){this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=null)}startFlushTimer(){this.flushTimer&&clearInterval(this.flushTimer),this.flushTimer=setInterval(()=>{this.flush()},this.config.flushInterval)}setupUnloadHandlers(){"undefined"!=typeof window&&(window.addEventListener("beforeunload",()=>{this.flushSync()}),window.addEventListener("visibilitychange",()=>{"hidden"===document.visibilityState&&this.flushSync()}),window.addEventListener("pagehide",()=>{this.flushSync()}))}persistQueue(e){try{y(this.config.storageKey,JSON.stringify(e))}catch{}}restoreQueue(){try{const e=g(this.config.storageKey);if(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 ${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 F extends ${constructor(){super(...arguments),this.name="pageView"}init(e){if(super.init(e),this.trackPageView(),"undefined"!=typeof window){const e=history.pushState,t=history.replaceState;history.pushState=(...t)=>{e.apply(history,t),this.trackPageView()},history.replaceState=(...e)=>{t.apply(history,e),this.trackPageView()},window.addEventListener("popstate",()=>{this.trackPageView()})}}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 ${constructor(){super(...arguments),this.name="scroll",this.milestonesReached=new Set,this.maxScrollDepth=0,this.pageLoadTime=0,this.scrollTimeout=null,this.boundHandler=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}))}destroy(){this.boundHandler&&"undefined"!=typeof window&&window.removeEventListener("scroll",this.boundHandler),this.scrollTimeout&&clearTimeout(this.scrollTimeout),super.destroy()}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=Math.floor(n/(t-e)*100),s=Math.max(0,Math.min(100,i));s>this.maxScrollDepth&&(this.maxScrollDepth=s);for(const e of c)s>=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 q extends ${constructor(){super(...arguments),this.name="forms",this.trackedForms=new WeakSet,this.formInteractions=new Set,this.observer=null}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),super.destroy()}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=>{e.addEventListener(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}))})})}}),e.addEventListener("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 H extends ${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})}}class _ extends ${constructor(){super(...arguments),this.name="engagement",this.pageLoadTime=0,this.engagementStartTime=0,this.isEngaged=!1,this.engagementTimeout=null,this.boundMarkEngaged=null,this.boundTrackTimeOnPage=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),["mousemove","keydown","touchstart","scroll"].forEach(e=>{document.addEventListener(e,this.boundMarkEngaged,{passive:!0})}),window.addEventListener("beforeunload",this.boundTrackTimeOnPage),window.addEventListener("visibilitychange",()=>{"hidden"===document.visibilityState?this.trackTimeOnPage():this.engagementStartTime=Date.now()}))}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.engagementTimeout&&clearTimeout(this.engagementTimeout),super.destroy()}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 D extends ${constructor(){super(...arguments),this.name="downloads",this.trackedDownloads=new Set,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.closest("a");if(!t||!t.href)return;const n=t.href;(function(e){const t=e.toLowerCase();return d.some(e=>t.includes(e))})(n)&&(this.trackedDownloads.has(n)||(this.trackedDownloads.add(n),this.track("download","File Download",{url:n,filename:T(n),fileType:E(n),linkText:I(t,100)})))}}class O extends ${constructor(){super(...arguments),this.name="exitIntent",this.exitIntentShown=!1,this.pageLoadTime=0,this.boundHandler=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))}destroy(){this.boundHandler&&"undefined"!=typeof document&&document.removeEventListener("mouseleave",this.boundHandler),super.destroy()}handleMouseLeave(e){e.clientY>0||this.exitIntentShown||(this.exitIntentShown=!0,this.track("exit_intent","Exit Intent Detected",{timeOnPage:Date.now()-this.pageLoadTime}))}}class P extends ${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 M extends ${constructor(){super(...arguments),this.name="performance"}init(e){super.init(e),"undefined"!=typeof window&&window.addEventListener("load",()=>{setTimeout(()=>this.trackPerformance(),100)})}trackPerformance(){if("undefined"==typeof performance)return;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{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)})}).observe({type:"largest-contentful-paint",buffered:!0})}catch{}try{new PerformanceObserver(e=>{const t=e.getEntries()[0];t&&this.track("performance","Web Vital - FID",{metric:"FID",value:Math.round(t.processingStart-t.startTime)})}).observe({type:"first-input",buffered:!0})}catch{}try{let e=0;new PerformanceObserver(t=>{t.getEntries().forEach(t=>{t.hadRecentInput||(e+=t.value||0)})}).observe({type:"layout-shift",buffered:!0}),window.addEventListener("visibilitychange",()=>{"hidden"===document.visibilityState&&e>0&&this.track("performance","Web Vital - CLS",{metric:"CLS",value:Math.round(1e3*e)/1e3})},{once:!0})}catch{}}}}class z extends ${constructor(){super(...arguments),this.name="popupForms",this.forms=[],this.shownForms=new Set,this.scrollHandler=null,this.exitHandler=null}async init(e){super.init(e),"undefined"!=typeof window&&(this.loadShownForms(),await this.fetchForms(),this.setupTriggers())}destroy(){this.removeTriggers(),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||"https://api.clianta.online";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":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=>{t.addEventListener("click",()=>this.showForm(e))})}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||"https://api.clianta.online";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 `,n.innerHTML=this.buildFormHTML(e),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)}buildFormHTML(e){const t=e.style||{},n=t.primaryColor||"#10B981",i=t.textColor||"#18181B";let s=e.fields.map(e=>{const t=e.required?'<span style="color: #EF4444;">*</span>':"";return"textarea"===e.type?`\n <div style="margin-bottom: 12px;">\n <label style="display: block; font-size: 14px; font-weight: 500; margin-bottom: 4px; color: ${i};">\n ${e.label} ${t}\n </label>\n <textarea\n name="${e.name}"\n placeholder="${e.placeholder||""}"\n ${e.required?"required":""}\n style="width: 100%; padding: 8px 12px; border: 1px solid #E4E4E7; border-radius: 6px; font-size: 14px; resize: vertical; min-height: 80px;"\n ></textarea>\n </div>\n `:"checkbox"===e.type?`\n <div style="margin-bottom: 12px;">\n <label style="display: flex; align-items: center; gap: 8px; font-size: 14px; color: ${i}; cursor: pointer;">\n <input\n type="checkbox"\n name="${e.name}"\n ${e.required?"required":""}\n style="width: 16px; height: 16px;"\n />\n ${e.label} ${t}\n </label>\n </div>\n `:`\n <div style="margin-bottom: 12px;">\n <label style="display: block; font-size: 14px; font-weight: 500; margin-bottom: 4px; color: ${i};">\n ${e.label} ${t}\n </label>\n <input\n type="${e.type}"\n name="${e.name}"\n placeholder="${e.placeholder||""}"\n ${e.required?"required":""}\n style="width: 100%; padding: 8px 12px; border: 1px solid #E4E4E7; border-radius: 6px; font-size: 14px; box-sizing: border-box;"\n />\n </div>\n `}).join("");return`\n <button id="clianta-form-close" style="\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 ">&times;</button>\n <h2 style="font-size: 20px; font-weight: 700; margin-bottom: 8px; color: ${i};">\n ${e.headline||"Stay in touch"}\n </h2>\n <p style="font-size: 14px; color: #71717A; margin-bottom: 16px;">\n ${e.subheadline||"Get the latest updates"}\n </p>\n <form id="clianta-form-element">\n ${s}\n <button type="submit" style="\n width: 100%;\n padding: 10px 16px;\n background: ${n};\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 ">\n ${e.submitButtonText||"Subscribe"}\n </button>\n </form>\n `}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||"https://api.clianta.online",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.innerHTML="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})});(await t.json()).success&&(n.innerHTML=`\n <div style="text-align: center; padding: 20px;">\n <div style="width: 48px; height: 48px; background: #10B981; border-radius: 50%; margin: 0 auto 16px; display: flex; align-items: center; justify-content: center;">\n <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2">\n <polyline points="20 6 9 17 4 12"></polyline>\n </svg>\n </div>\n <p style="font-size: 16px; font-weight: 500; color: #18181B;">\n ${e.successMessage||"Thank you!"}\n </p>\n </div>\n `,r.email&&this.tracker?.identify(r.email,r),e.redirectUrl&&setTimeout(()=>{window.location.href=e.redirectUrl},1500),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.innerHTML=e.submitButtonText||"Subscribe")}}}function R(e){switch(e){case"pageView":return new F;case"scroll":return new L;case"forms":return new q;case"clicks":return new H;case"engagement":return new _;case"downloads":return new D;case"exitIntent":return new O;case"errors":return new P;case"performance":return new M;case"popupForms":return new z;default:throw new Error(`Unknown plugin: ${e}`)}}function N(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 B(){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?(V(),null):t}catch{return null}}function V(){try{return"undefined"!=typeof localStorage&&(localStorage.removeItem(r),!0)}catch{return!1}}class A{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=B();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,N(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,N(this.state),p.info("Consent revoked:",e),this.notifyChange(t)}update(e){const t={...this.state};this.state={...e},this.hasExplicitConsent=!0,N(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=[],V(),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!==B()}bufferEvent(e){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 j{constructor(e,i={}){if(this.plugins=[],this.isInitialized=!1,!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 A({...this.config.consent,onConsentChange:(e,t)=>{this.onConsentChange(e,t)}}),this.transport=new m({apiEndpoint:this.config.apiEndpoint}),this.queue=new C(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.initPlugins(),this.isInitialized=!0,p.info("SDK initialized successfully")}createVisitorId(){if(this.config.consent.anonymousMode&&!this.consentManager.hasExplicit()){const e=i+"_anon";let t=w(e);return t||(t="anon_"+f(),b(e,t)),t}if(this.config.cookielessMode){let e=w(i);return e||(e=f(),b(i,e)),e}return k(this.config.useCookies)}createSessionId(){return function(e){const t=s,n=o;let i=w(t);const r=parseInt(w(n)||"0",10),a=Date.now();return(!i||a-r>e)&&(i=f(),b(t,i)),b(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=k(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=R(e);t.init(this),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,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"},utm:S(),timestamp:(new Date).toISOString(),sdkVersion:t};if(!this.consentManager.canTrack())return this.config.consent.waitForConsent?void this.consentManager.bufferEvent(s):void p.debug("Event dropped (no consent):",n);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 void p.warn("Email is required for identification");p.info("Identifying visitor:",e);const n=await this.transport.sendIdentify({workspaceId:this.workspaceId,visitorId:this.visitorId,email:e,properties:t});n.success?p.info("Visitor identified successfully"):p.error("Failed to identify visitor:",n.error)}consent(e){this.consentManager.update(e)}getConsentState(){return this.consentManager.getState()}debug(e){p.enabled=e,p.info("Debug mode "+(e?"enabled":"disabled"))}getVisitorId(){return this.visitorId}getSessionId(){return this.sessionId}getWorkspaceId(){return this.workspaceId}getConfig(){return{...this.config}}async flush(){await this.queue.flush()}reset(){p.info("Resetting visitor data"),x(this.config.useCookies),this.visitorId=this.createVisitorId(),this.sessionId=this.createSessionId(),this.queue.clear()}deleteData(){if(p.info("Deleting all user data (GDPR request)"),this.queue.clear(),this.consentManager.reset(),x(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")}destroy(){p.info("Destroying tracker"),this.queue.flush();for(const e of this.plugins)e.destroy&&e.destroy();this.plugins=[],this.queue.destroy(),this.isInitialized=!1}}class U{constructor(e,t,n){this.apiEndpoint=e,this.workspaceId=t,this.authToken=n}setAuthToken(e){this.authToken=e}async request(e,t={}){const n=`${this.apiEndpoint}${e}`,i={"Content-Type":"application/json",...t.headers||{}};this.authToken&&(i.Authorization=`Bearer ${this.authToken}`);try{const e=await fetch(n,{...t,headers:i}),s=await e.json();return e.ok?{success:!0,data:s.data||s,status:e.status}:{success:!1,error:s.message||"Request failed",status:e.status}}catch(e){return{success:!1,error:e instanceof Error?e.message:"Network error",status:0}}}async getContacts(e){const t=new URLSearchParams;e?.page&&t.set("page",e.page.toString()),e?.limit&&t.set("limit",e.limit.toString()),e?.search&&t.set("search",e.search),e?.status&&t.set("status",e.status);const n=t.toString(),i=`/api/workspaces/${this.workspaceId}/contacts${n?`?${n}`:""}`;return this.request(i)}async getContact(e){return this.request(`/api/workspaces/${this.workspaceId}/contacts/${e}`)}async createContact(e){return this.request(`/api/workspaces/${this.workspaceId}/contacts`,{method:"POST",body:JSON.stringify(e)})}async updateContact(e,t){return this.request(`/api/workspaces/${this.workspaceId}/contacts/${e}`,{method:"PUT",body:JSON.stringify(t)})}async deleteContact(e){return this.request(`/api/workspaces/${this.workspaceId}/contacts/${e}`,{method:"DELETE"})}async getOpportunities(e){const t=new URLSearchParams;e?.page&&t.set("page",e.page.toString()),e?.limit&&t.set("limit",e.limit.toString()),e?.pipelineId&&t.set("pipelineId",e.pipelineId),e?.stageId&&t.set("stageId",e.stageId);const n=t.toString(),i=`/api/workspaces/${this.workspaceId}/opportunities${n?`?${n}`:""}`;return this.request(i)}async getOpportunity(e){return this.request(`/api/workspaces/${this.workspaceId}/opportunities/${e}`)}async createOpportunity(e){return this.request(`/api/workspaces/${this.workspaceId}/opportunities`,{method:"POST",body:JSON.stringify(e)})}async updateOpportunity(e,t){return this.request(`/api/workspaces/${this.workspaceId}/opportunities/${e}`,{method:"PUT",body:JSON.stringify(t)})}async deleteOpportunity(e){return this.request(`/api/workspaces/${this.workspaceId}/opportunities/${e}`,{method:"DELETE"})}async moveOpportunity(e,t){return this.request(`/api/workspaces/${this.workspaceId}/opportunities/${e}/move`,{method:"POST",body:JSON.stringify({stageId:t})})}}let J=null;function W(e,t){return J&&J.getWorkspaceId()===e||(J&&J.destroy(),J=new j(e,t)),J}"undefined"!=typeof window&&(window.clianta=W,window.Clianta={clianta:W,Tracker:j,CRMClient:U,ConsentManager:A}),e.CRMClient=U,e.ConsentManager=A,e.SDK_VERSION=t,e.Tracker=j,e.clianta=W,e.default=W,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/core/crm.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,null],"names":["SDK_VERSION","DEFAULT_CONFIG","apiEndpoint","window","hostname","location","includes","getDefaultApiEndpoint","debug","autoPageView","plugins","sessionTimeout","batchSize","flushInterval","consent","defaultConsent","analytics","marketing","personalization","waitForConsent","storageKey","anonymousMode","cookieDomain","useCookies","cookielessMode","STORAGE_KEYS","SCROLL_MILESTONES","DOWNLOAD_EXTENSIONS","LOG_PREFIX","LOG_STYLES","info","warn","error","LOG_LEVELS","logger","enabled","currentLevel","isEnabled","shouldLog","level","formatArgs","args","console","toUpperCase","value","log","setLevel","createLogger","Transport","constructor","config","this","maxRetries","retryDelay","timeout","sendEvents","events","url","payload","JSON","stringify","send","sendIdentify","data","sendBeacon","navigator","blob","Blob","type","success","length","attempt","response","fetchWithTimeout","method","headers","body","keepalive","ok","status","delay","options","controller","AbortController","setTimeout","abort","fetch","signal","clearTimeout","ms","Promise","resolve","generateUUID","crypto","randomUUID","replace","c","r","Math","random","toString","getLocalStorage","key","localStorage","getItem","setLocalStorage","setItem","getSessionStorage","sessionStorage","setSessionStorage","cookie","name","days","document","undefined","match","RegExp","expires","date","Date","setTime","getTime","toUTCString","getOrCreateVisitorId","visitorId","resetIds","visitorKey","removeItem","getUTMParams","params","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","maxQueueSize","restoreQueue","startFlushTimer","setupUnloadHandlers","push","event","shift","eventName","flush","splice","persistQueue","unshift","flushSync","clear","destroy","clearInterval","setInterval","addEventListener","visibilityState","stored","parse","Array","isArray","BasePlugin","tracker","init","track","eventType","properties","PageViewPlugin","super","trackPageView","originalPushState","history","pushState","originalReplaceState","replaceState","apply","title","path","pathname","hash","referrer","viewport","innerWidth","innerHeight","ScrollPlugin","milestonesReached","Set","maxScrollDepth","pageLoadTime","scrollTimeout","boundHandler","now","handleScroll","bind","passive","removeEventListener","trackScrollDepth","windowHeight","documentHeight","documentElement","scrollHeight","scrollTop","pageYOffset","scrollPercent","floor","clampedPercent","max","min","milestone","has","add","depth","maxDepth","timeToReach","FormsPlugin","trackedForms","WeakSet","formInteractions","observer","trackAllForms","MutationObserver","observe","childList","subtree","disconnect","querySelectorAll","forEach","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","tagName","hasAttribute","classList","contains","buttonText","elementInfo","tag","toLowerCase","className","text","getElementInfo","elementType","elementId","elementClass","href","EngagementPlugin","engagementStartTime","isEngaged","engagementTimeout","boundMarkEngaged","boundTrackTimeOnPage","markEngaged","trackTimeOnPage","timeToEngage","timeSpent","seconds","engaged","DownloadsPlugin","trackedDownloads","link","closest","lowerUrl","some","ext","isDownloadUrl","filename","fileType","linkText","ExitIntentPlugin","exitIntentShown","test","userAgent","handleMouseLeave","clientY","timeOnPage","ErrorsPlugin","boundErrorHandler","boundRejectionHandler","handleError","handleRejection","message","line","lineno","column","colno","stack","reason","String","PerformancePlugin","trackPerformance","performance","timing","loadTime","loadEventEnd","navigationStart","domReady","domContentLoadedEventEnd","ttfb","responseStart","domInteractive","trackWebVitals","PerformanceObserver","entryList","entries","getEntries","lastEntry","metric","round","startTime","buffered","firstEntry","processingStart","clsValue","entry","hadRecentInput","once","PopupFormsPlugin","forms","shownForms","scrollHandler","exitHandler","loadShownForms","fetchForms","setupTriggers","removeTriggers","saveShownForms","timestamp","getConfig","workspaceId","getWorkspaceId","encodeURIComponent","json","filter","shouldShowForm","showFrequency","_id","sessionKey","trigger","showForm","setupScrollTrigger","setupExitIntentTrigger","setupClickTrigger","threshold","scrollY","selector","el","trackFormView","renderForm","overlay","createElement","style","cssText","container","backgroundColor","borderRadius","innerHTML","buildFormHTML","appendChild","requestAnimationFrame","opacity","transform","setupFormEvents","primaryColor","textColor","fieldsHTML","fields","map","requiredMark","required","label","placeholder","join","headline","subheadline","submitButtonText","closeBtn","closeForm","formElement","async","preventDefault","handleSubmit","remove","getVisitorId","formData","FormData","submitBtn","disabled","successMessage","redirectUrl","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","mergeConfig","consentManager","createVisitorId","sessionId","createSessionId","initPlugins","anonId","sidKey","tsKey","lastActivity","parseInt","getOrCreateSessionId","to","pluginsToLoad","filteredPlugins","p","pluginName","plugin","device","screen","language","timezone","width","height","Intl","DateTimeFormat","resolvedOptions","timeZone","utm","toISOString","sdkVersion","page","pageName","result","getConsentState","getSessionId","deleteData","CRMClient","authToken","setAuthToken","token","request","endpoint","getContacts","queryParams","set","limit","query","getContact","contactId","createContact","contact","updateContact","updates","deleteContact","getOpportunities","pipelineId","stageId","getOpportunity","opportunityId","createOpportunity","opportunity","updateOpportunity","deleteOpportunity","moveOpportunity","globalInstance","clianta","Clianta"],"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/core/crm.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,null],"names":["SDK_VERSION","DEFAULT_CONFIG","projectId","apiEndpoint","window","hostname","location","includes","getDefaultApiEndpoint","authToken","debug","autoPageView","plugins","sessionTimeout","batchSize","flushInterval","consent","defaultConsent","analytics","marketing","personalization","waitForConsent","storageKey","anonymousMode","cookieDomain","useCookies","cookielessMode","STORAGE_KEYS","SCROLL_MILESTONES","DOWNLOAD_EXTENSIONS","LOG_PREFIX","LOG_STYLES","info","warn","error","LOG_LEVELS","logger","enabled","currentLevel","isEnabled","shouldLog","level","formatArgs","args","console","toUpperCase","value","log","setLevel","createLogger","Transport","constructor","config","this","maxRetries","retryDelay","timeout","sendEvents","events","url","payload","JSON","stringify","send","sendIdentify","data","sendBeacon","navigator","blob","Blob","type","success","length","attempt","response","fetchWithTimeout","method","headers","body","keepalive","ok","status","delay","options","controller","AbortController","setTimeout","abort","fetch","signal","clearTimeout","ms","Promise","resolve","generateUUID","crypto","randomUUID","replace","c","r","Math","random","toString","getLocalStorage","key","localStorage","getItem","setLocalStorage","setItem","getSessionStorage","sessionStorage","setSessionStorage","cookie","name","days","document","undefined","match","RegExp","expires","date","Date","setTime","getTime","toUTCString","getOrCreateVisitorId","visitorId","resetIds","visitorKey","removeItem","getUTMParams","params","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","maxQueueSize","restoreQueue","startFlushTimer","setupUnloadHandlers","push","event","shift","eventName","flush","splice","persistQueue","unshift","flushSync","clear","destroy","clearInterval","setInterval","addEventListener","visibilityState","stored","parse","Array","isArray","BasePlugin","tracker","init","track","eventType","properties","PageViewPlugin","super","trackPageView","originalPushState","history","pushState","originalReplaceState","replaceState","apply","title","path","pathname","hash","referrer","viewport","innerWidth","innerHeight","ScrollPlugin","milestonesReached","Set","maxScrollDepth","pageLoadTime","scrollTimeout","boundHandler","now","handleScroll","bind","passive","removeEventListener","trackScrollDepth","windowHeight","documentHeight","documentElement","scrollHeight","scrollTop","pageYOffset","scrollPercent","floor","clampedPercent","max","min","milestone","has","add","depth","maxDepth","timeToReach","FormsPlugin","trackedForms","WeakSet","formInteractions","observer","trackAllForms","MutationObserver","observe","childList","subtree","disconnect","querySelectorAll","forEach","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","tagName","hasAttribute","classList","contains","buttonText","elementInfo","tag","toLowerCase","className","text","getElementInfo","elementType","elementId","elementClass","href","EngagementPlugin","engagementStartTime","isEngaged","engagementTimeout","boundMarkEngaged","boundTrackTimeOnPage","markEngaged","trackTimeOnPage","timeToEngage","timeSpent","seconds","engaged","DownloadsPlugin","trackedDownloads","link","closest","lowerUrl","some","ext","isDownloadUrl","filename","fileType","linkText","ExitIntentPlugin","exitIntentShown","test","userAgent","handleMouseLeave","clientY","timeOnPage","ErrorsPlugin","boundErrorHandler","boundRejectionHandler","handleError","handleRejection","message","line","lineno","column","colno","stack","reason","String","PerformancePlugin","trackPerformance","performance","timing","loadTime","loadEventEnd","navigationStart","domReady","domContentLoadedEventEnd","ttfb","responseStart","domInteractive","trackWebVitals","PerformanceObserver","entryList","entries","getEntries","lastEntry","metric","round","startTime","buffered","firstEntry","processingStart","clsValue","entry","hadRecentInput","once","PopupFormsPlugin","forms","shownForms","scrollHandler","exitHandler","loadShownForms","fetchForms","setupTriggers","removeTriggers","saveShownForms","timestamp","getConfig","workspaceId","getWorkspaceId","encodeURIComponent","json","filter","shouldShowForm","showFrequency","_id","sessionKey","trigger","showForm","setupScrollTrigger","setupExitIntentTrigger","setupClickTrigger","threshold","scrollY","selector","el","trackFormView","renderForm","overlay","createElement","style","cssText","container","backgroundColor","borderRadius","innerHTML","buildFormHTML","appendChild","requestAnimationFrame","opacity","transform","setupFormEvents","primaryColor","textColor","fieldsHTML","fields","map","requiredMark","required","label","placeholder","join","headline","subheadline","submitButtonText","closeBtn","closeForm","formElement","async","preventDefault","handleSubmit","remove","getVisitorId","formData","FormData","submitBtn","disabled","successMessage","redirectUrl","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","mergeConfig","consentManager","createVisitorId","sessionId","createSessionId","initPlugins","anonId","sidKey","tsKey","lastActivity","parseInt","getOrCreateSessionId","to","pluginsToLoad","filteredPlugins","p","pluginName","plugin","device","screen","language","timezone","width","height","Intl","DateTimeFormat","resolvedOptions","timeZone","utm","toISOString","sdkVersion","page","pageName","result","getConsentState","getSessionId","deleteData","CRMClient","setAuthToken","token","request","endpoint","getContacts","queryParams","set","limit","query","getContact","contactId","createContact","contact","updateContact","updates","deleteContact","getOpportunities","pipelineId","stageId","getOpportunity","opportunityId","createOpportunity","opportunity","updateOpportunity","deleteOpportunity","moveOpportunity","globalInstance","clianta","Clianta"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,8 +3,12 @@
3
3
  * @see SDK_VERSION in core/config.ts
4
4
  */
5
5
  interface CliantaConfig {
6
+ /** Project ID (required for config file pattern) */
7
+ projectId?: string;
6
8
  /** Backend API endpoint URL */
7
9
  apiEndpoint?: string;
10
+ /** Auth token for server-side API access */
11
+ authToken?: string;
8
12
  /** Enable debug mode with verbose logging */
9
13
  debug?: boolean;
10
14
  /** Automatically track page views on load and navigation */