@clianta/sdk 1.1.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * Clianta SDK v1.1.1
2
+ * Clianta SDK v1.3.0
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={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})});
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.3.0",i={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"],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},n="mb_vid",s="mb_sid",r="mb_st",o="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 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",i=e;const n=e=>!!i&&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 i},set enabled(e){i=e},debug(...e){n("debug")&&"undefined"!=typeof console&&console.log(...s("debug",e))},info(...e){n("info")&&"undefined"!=typeof console&&console.info(...s("info",e))},warn(...e){n("warn")&&"undefined"!=typeof console&&console.warn(...s("warn",e))},error(...e){n("error")&&"undefined"!=typeof console&&console.error(...s("error",e))},setLevel(e){t=e}}}(!1);class g{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`,i=JSON.stringify({events:e});return this.send(t,i)}async sendIdentify(e){const t=`${this.config.apiEndpoint}/api/public/track/identify`,i=JSON.stringify(e);return this.send(t,i)}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`,i=JSON.stringify({events:e}),n=new Blob([i],{type:"application/json"});try{const i=navigator.sendBeacon(t,n);return i?p.debug(`Beacon sent ${e.length} events`):p.warn("sendBeacon returned false"),i}catch(e){return p.error("sendBeacon error:",e),!1}}async send(e,t,i=1){try{const n=await this.fetchWithTimeout(e,{method:"POST",headers:{"Content-Type":"application/json"},body:t,keepalive:!0});return n.ok?(p.debug("Request successful:",e),{success:!0,status:n.status}):n.status>=500&&i<this.config.maxRetries?(p.warn(`Server error (${n.status}), retrying...`),await this.delay(this.config.retryDelay*i),this.send(e,t,i+1)):(p.error(`Request failed with status ${n.status}`),{success:!1,status:n.status})}catch(n){return i<this.config.maxRetries?(p.warn(`Network error, retrying (${i}/${this.config.maxRetries})...`),await this.delay(this.config.retryDelay*i),this.send(e,t,i+1)):(p.error("Request failed after retries:",n),{success:!1,error:n})}}async fetchWithTimeout(e,t){const i=new AbortController,n=setTimeout(()=>i.abort(),this.config.timeout);try{return await fetch(e,{...t,signal:i.signal})}finally{clearTimeout(n)}}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 f(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,i){if("undefined"==typeof document)return null;if(void 0===t){const t=document.cookie.match(new RegExp("(^| )"+e+"=([^;]+)"));return t?t[2]:null}let n="";if(i){const e=new Date;e.setTime(e.getTime()+24*i*60*60*1e3),n="; expires="+e.toUTCString()}return document.cookie=e+"="+t+n+"; path=/; SameSite=Lax",t}function k(e=!1){const t=n;let i=null;return i=e?v(t):f(t),i||(i=m(),e?v(t,i,365):y(t,i)),i}function S(e=!1){const t=n;if(e)v(t,"",-1);else try{localStorage.removeItem(t)}catch{}try{sessionStorage.removeItem(s),sessionStorage.removeItem(r)}catch{}}function T(){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 E(e){try{return e.split("/").pop()?.split("?")[0]||"unknown"}catch{return"unknown"}}function I(e){const t=E(e).split(".");return t.length>1&&t.pop()||"unknown"}function x(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.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.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(){this.queue=[],this.persistQueue([])}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){try{y(this.config.storageKey,JSON.stringify(e))}catch{}}restoreQueue(){try{const e=f(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,i){this.tracker&&this.tracker.track(e,t,i)}}class q extends ${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()},history.replaceState=function(...t){e.originalReplaceState.apply(history,t),e.trackPageView()},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 ${constructor(){super(...arguments),this.name="scroll",this.milestonesReached=new Set,this.maxScrollDepth=0,this.pageLoadTime=0,this.scrollTimeout=null,this.boundHandler=null,this.originalPushState=null,this.originalReplaceState=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.setupNavigationReset())}destroy(){this.boundHandler&&"undefined"!=typeof window&&window.removeEventListener("scroll",this.boundHandler),this.scrollTimeout&&clearTimeout(this.scrollTimeout),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()}resetForNavigation(){this.milestonesReached.clear(),this.maxScrollDepth=0,this.pageLoadTime=Date.now()}setupNavigationReset(){if("undefined"==typeof window)return;this.originalPushState=history.pushState,this.originalReplaceState=history.replaceState;const e=this;history.pushState=function(...t){e.originalPushState.apply(history,t),e.resetForNavigation()},history.replaceState=function(...t){e.originalReplaceState.apply(history,t),e.resetForNavigation()},this.popstateHandler=()=>this.resetForNavigation(),window.addEventListener("popstate",this.popstateHandler)}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,i=window.pageYOffset||document.documentElement.scrollTop,n=t-e;if(n<=0)return;const s=Math.floor(i/n*100),r=Math.max(0,Math.min(100,s));r>this.maxScrollDepth&&(this.maxScrollDepth=r);for(const e of c)r>=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 P extends ${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:i}of this.listeners)e.removeEventListener(t,i);this.listeners=[],super.destroy()}addListener(e,t,i){e.addEventListener(t,i),this.listeners.push({element:e,event:t,handler:i})}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(i=>{this.addListener(e,i,()=>{const n=`${t}-${e.name}-${i}`;this.formInteractions.has(n)||(this.formInteractions.add(n),this.track("form_interaction","Form Field Interaction",{formId:t,fieldName:e.name,fieldType:e.type,interactionType:i}))})})}});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 i=t.value,n={},s=e.querySelector('[name*="first"], [name*="fname"]'),r=e.querySelector('[name*="last"], [name*="lname"]'),o=e.querySelector('[name*="company"], [name*="organization"]'),a=e.querySelector('[type="tel"], [name*="phone"]');s?.value&&(n.firstName=s.value),r?.value&&(n.lastName=r.value),o?.value&&(n.company=o.value),a?.value&&(n.phone=a.value),this.tracker.identify(i,n)}}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&&(i=t,["BUTTON","A","INPUT"].includes(i.tagName)||i.hasAttribute("data-track-click")||i.classList.contains("track-click"))))return;var i;const n=x(t,100),s=function(e){return{tag:e.tagName?.toLowerCase()||"unknown",id:e.id||"",className:e.className||"",text:x(e,50)}}(t);this.track("button_click","Button Clicked",{buttonText:n,elementType:t.tagName.toLowerCase(),elementId:s.id,elementClass:s.className,href:t.href||void 0})}}class F 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,this.boundVisibilityHandler=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))}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.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 O extends ${constructor(){super(...arguments),this.name="downloads",this.trackedDownloads=new Set,this.boundHandler=null,this.originalPushState=null,this.originalReplaceState=null,this.popstateHandler=null}init(e){super.init(e),"undefined"!=typeof document&&(this.boundHandler=this.handleClick.bind(this),document.addEventListener("click",this.boundHandler,!0),this.setupNavigationReset())}destroy(){this.boundHandler&&"undefined"!=typeof document&&document.removeEventListener("click",this.boundHandler,!0),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()}resetForNavigation(){this.trackedDownloads.clear()}setupNavigationReset(){if("undefined"==typeof window)return;this.originalPushState=history.pushState,this.originalReplaceState=history.replaceState;const e=this;history.pushState=function(...t){e.originalPushState.apply(history,t),e.resetForNavigation()},history.replaceState=function(...t){e.originalReplaceState.apply(history,t),e.resetForNavigation()},this.popstateHandler=()=>this.resetForNavigation(),window.addEventListener("popstate",this.popstateHandler)}handleClick(e){const t=e.target.closest("a");if(!t||!t.href)return;const i=t.href;(function(e){const t=e.toLowerCase();return d.some(e=>t.includes(e))})(i)&&(this.trackedDownloads.has(i)||(this.trackedDownloads.add(i),this.track("download","File Download",{url:i,filename:E(i),fileType:I(i),linkText:x(t,100)})))}}class N 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 R 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 D extends ${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],i=Math.round(t.loadEventEnd-t.startTime),n=Math.round(t.domContentLoadedEventEnd-t.startTime),s=Math.round(t.responseStart-t.requestStart),r=Math.round(t.domInteractive-t.startTime);this.track("performance","Page Performance",{loadTime:i,domReady:n,ttfb:s,domInteractive:r,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,i=e.domContentLoadedEventEnd-e.navigationStart,n=e.responseStart-e.navigationStart,s=e.domInteractive-e.navigationStart;this.track("performance","Page Performance",{loadTime:t,domReady:i,ttfb:n,domInteractive:s})}this.trackWebVitals()}trackWebVitals(){if("PerformanceObserver"in window){try{const e=new PerformanceObserver(e=>{const t=e.getEntries(),i=t[t.length-1];i&&this.track("performance","Web Vital - LCP",{metric:"LCP",value:Math.round(i.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 ${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(),i=e.apiEndpoint||"https://api.clianta.online";try{const e=encodeURIComponent(window.location.href),n=await fetch(`${i}/api/public/lead-forms/${t}?url=${e}`);if(!n.ok)return;const s=await n.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 i=document.createElement("div");i.id=`clianta-form-${e._id}`;const n=e.style||{};i.style.cssText=`\n background: ${n.backgroundColor||"#FFFFFF"};\n border-radius: ${n.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,i),t.appendChild(i),document.body.appendChild(t),requestAnimationFrame(()=>{t.style.opacity="1",i.style.transform="translateY(0)",i.style.opacity="1"}),this.setupFormEvents(e,t,i)}escapeHTML(e){const t=document.createElement("div");return t.textContent=e,t.innerHTML}buildFormDOM(e,t){const i=e.style||{},n=i.primaryColor||"#10B981",s=i.textColor||"#18181B",r=document.createElement("button");r.id="clianta-form-close",r.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 ",r.textContent="×",t.appendChild(r);const o=document.createElement("h2");o.style.cssText=`font-size: 20px; font-weight: 700; margin-bottom: 8px; color: ${this.escapeHTML(s)};`,o.textContent=e.headline||"Stay in touch",t.appendChild(o);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 c=document.createElement("form");c.id="clianta-form-element",e.fields.forEach(e=>{const t=document.createElement("div");if(t.style.marginBottom="12px","checkbox"===e.type){const i=document.createElement("label");i.style.cssText=`display: flex; align-items: center; gap: 8px; font-size: 14px; color: ${this.escapeHTML(s)}; cursor: pointer;`;const n=document.createElement("input");n.type="checkbox",n.name=e.name,e.required&&(n.required=!0),n.style.cssText="width: 16px; height: 16px;",i.appendChild(n);const r=document.createTextNode(e.label+" ");if(i.appendChild(r),e.required){const e=document.createElement("span");e.style.color="#EF4444",e.textContent="*",i.appendChild(e)}t.appendChild(i)}else{const i=document.createElement("label");if(i.style.cssText=`display: block; font-size: 14px; font-weight: 500; margin-bottom: 4px; color: ${this.escapeHTML(s)};`,i.textContent=e.label+" ",e.required){const e=document.createElement("span");e.style.color="#EF4444",e.textContent="*",i.appendChild(e)}if(t.appendChild(i),"textarea"===e.type){const i=document.createElement("textarea");i.name=e.name,e.placeholder&&(i.placeholder=e.placeholder),e.required&&(i.required=!0),i.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(i)}else if("select"===e.type){const i=document.createElement("select");if(i.name=e.name,e.required&&(i.required=!0),i.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,i.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),i.appendChild(t)}),t.appendChild(i)}else{const i=document.createElement("input");i.type=e.type,i.name=e.name,e.placeholder&&(i.placeholder=e.placeholder),e.required&&(i.required=!0),i.style.cssText="width: 100%; padding: 8px 12px; border: 1px solid #E4E4E7; border-radius: 6px; font-size: 14px; box-sizing: border-box;",t.appendChild(i)}}c.appendChild(t)});const d=document.createElement("button");d.type="submit",d.style.cssText=`\n width: 100%;\n padding: 10px 16px;\n background: ${this.escapeHTML(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 `,d.textContent=e.submitButtonText||"Subscribe",c.appendChild(d),t.appendChild(c)}setupFormEvents(e,t,i){const n=i.querySelector("#clianta-form-close");n&&n.addEventListener("click",()=>this.closeForm(e._id,t,i)),t.addEventListener("click",n=>{n.target===t&&this.closeForm(e._id,t,i)});const s=i.querySelector("#clianta-form-element");s&&s.addEventListener("submit",async t=>{t.preventDefault(),await this.handleSubmit(e,s,i)})}closeForm(e,t,i){i.style.transform="translateY(20px)",i.style.opacity="0",t.style.opacity="0",setTimeout(()=>{t.remove()},300)}async handleSubmit(e,t,i){if(!this.tracker)return;const n=this.tracker.getConfig().apiEndpoint||"https://api.clianta.online",s=this.tracker.getVisitorId(),r=new FormData(t),o={};r.forEach((e,t)=>{o[t]=e});const a=t.querySelector('button[type="submit"]');a&&(a.disabled=!0,a.innerHTML="Submitting...");try{const t=await fetch(`${n}/api/public/lead-forms/${e._id}/submit`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({visitorId:s,data:o,url:window.location.href})});if((await t.json()).success){i.innerHTML="";const t=document.createElement("div");t.style.cssText="text-align: center; padding: 20px;";const n=document.createElement("div");n.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 r=document.createElementNS("http://www.w3.org/2000/svg","polyline");r.setAttribute("points","20 6 9 17 4 12"),s.appendChild(r),n.appendChild(s);const a=document.createElement("p");a.style.cssText="font-size: 16px; font-weight: 500; color: #18181B;",a.textContent=e.successMessage||"Thank you!",t.appendChild(n),t.appendChild(a),i.appendChild(t),o.email&&this.tracker?.identify(o.email,o),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,i)},2e3)}}catch(t){console.error("[Clianta] Form submit error:",t),a&&(a.disabled=!1,a.innerHTML=e.submitButtonText||"Subscribe")}}}function M(e){switch(e){case"pageView":return new q;case"scroll":return new L;case"forms":return new P;case"clicks":return new H;case"engagement":return new F;case"downloads":return new O;case"exitIntent":return new N;case"errors":return new R;case"performance":return new D;case"popupForms":return new _;default:throw new Error(`Unknown plugin: ${e}`)}}function A(e){try{if("undefined"==typeof localStorage)return!1;const t={state:e,timestamp:Date.now(),version:1};return localStorage.setItem(o,JSON.stringify(t)),!0}catch{return!1}}function V(){try{if("undefined"==typeof localStorage)return null;const e=localStorage.getItem(o);if(!e)return null;const t=JSON.parse(e);return 1!==t.version?(U(),null):t}catch{return null}}function U(){try{return"undefined"!=typeof localStorage&&(localStorage.removeItem(o),!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=V();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,A(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,A(this.state),p.info("Consent revoked:",e),this.notifyChange(t)}update(e){const t={...this.state};this.state={...e},this.hasExplicitConsent=!0,A(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=[],U(),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!==V()}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 B{constructor(e,n={}){if(this.plugins=[],this.isInitialized=!1,this.pendingIdentify=null,!e)throw new Error("[Clianta] Workspace ID is required");this.workspaceId=e,this.config=function(e={}){return{...i,...e,consent:{...i.consent,...e.consent}}}(n),p.enabled=this.config.debug,p.info(`Initializing SDK v${t}`,{workspaceId:e}),this.consentManager=new z({...this.config.consent,onConsentChange:(e,t)=>{this.onConsentChange(e,t)}}),this.transport=new g({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=n+"_anon";let t=w(e);return t||(t="anon_"+m(),b(e,t)),t}if(this.config.cookielessMode){let e=w(n);return e||(e=m(),b(n,e)),e}return k(this.config.useCookies)}createSessionId(){return function(e){const t=s,i=r;let n=w(t);const o=parseInt(w(i)||"0",10),a=Date.now();return(!n||a-o>e)&&(n=m(),b(t,n)),b(i,a.toString()),n}(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=M(e),i=t.init(this);i instanceof Promise&&i.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,i,n={}){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:i,url:"undefined"!=typeof window?window.location.href:"",referrer:"undefined"!=typeof document&&document.referrer||void 0,properties:n,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"},...T(),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):",i);this.queue.push(s),p.debug("Event tracked:",i,n)}page(e,t={}){const i=e||("undefined"!=typeof document?document.title:"Page View");this.track("page_view",i,{...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 i=await this.transport.sendIdentify({workspaceId:this.workspaceId,visitorId:this.visitorId,email:e,properties:t});i.success?(p.info("Visitor identified successfully"),this.pendingIdentify=null):(p.error("Failed to identify visitor:",i.error),this.pendingIdentify={email:e,traits:t})}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"))}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"),S(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(),S(this.config.useCookies),"undefined"!=typeof sessionStorage)try{sessionStorage.removeItem(n),sessionStorage.removeItem(n+"_anon"),sessionStorage.removeItem(s),sessionStorage.removeItem(r)}catch{}if("undefined"!=typeof localStorage)try{localStorage.removeItem(n),localStorage.removeItem(o),localStorage.removeItem(a)}catch{}this.visitorId=this.createVisitorId(),this.sessionId=this.createSessionId(),p.info("All user data deleted")}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}}class j{constructor(e,t,i){this.triggers=new Map,this.listeners=new Map,this.apiEndpoint=e,this.workspaceId=t,this.authToken=i}setAuthToken(e){this.authToken=e}async request(e,t={}){const i=`${this.apiEndpoint}${e}`,n={"Content-Type":"application/json",...t.headers||{}};this.authToken&&(n.Authorization=`Bearer ${this.authToken}`);try{const e=await fetch(i,{...t,headers:n}),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 getTriggers(){return this.request(`/api/workspaces/${this.workspaceId}/triggers`)}async getTrigger(e){return this.request(`/api/workspaces/${this.workspaceId}/triggers/${e}`)}async createTrigger(e){const t=await this.request(`/api/workspaces/${this.workspaceId}/triggers`,{method:"POST",body:JSON.stringify(e)});return t.success&&t.data?._id&&this.triggers.set(t.data._id,t.data),t}async updateTrigger(e,t){const i=await this.request(`/api/workspaces/${this.workspaceId}/triggers/${e}`,{method:"PUT",body:JSON.stringify(t)});return i.success&&i.data?._id&&this.triggers.set(i.data._id,i.data),i}async deleteTrigger(e){const t=await this.request(`/api/workspaces/${this.workspaceId}/triggers/${e}`,{method:"DELETE"});return t.success&&this.triggers.delete(e),t}async activateTrigger(e){return this.updateTrigger(e,{isActive:!0})}async deactivateTrigger(e){return this.updateTrigger(e,{isActive:!1})}on(e,t){this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t),p.debug(`Event listener registered: ${e}`)}off(e,t){const i=this.listeners.get(e);i&&i.delete(t)}emit(e,t){p.debug(`Event emitted: ${e}`,t);const i=this.listeners.get(e);i&&i.forEach(i=>{try{i(t)}catch(t){p.error(`Error in event listener for ${e}:`,t)}})}evaluateConditions(e,t){return!e||0===e.length||e.every(e=>{const i=e.field.includes(".")?this.getNestedValue(t,e.field):t[e.field],n=e.value;switch(e.operator){case"equals":return i===n;case"not_equals":return i!==n;case"contains":return String(i).includes(String(n));case"greater_than":return Number(i)>Number(n);case"less_than":return Number(i)<Number(n);case"in":return Array.isArray(n)&&n.includes(i);case"not_in":return Array.isArray(n)&&!n.includes(i);default:return!1}})}async executeActions(e,t){p.info(`Executing actions for trigger: ${e.name}`);for(const i of e.actions)try{await this.executeAction(i,t)}catch(e){p.error("Failed to execute action:",e)}}async executeAction(e,t){switch(e.type){case"send_email":await this.executeSendEmail(e,t);break;case"webhook":await this.executeWebhook(e,t);break;case"create_task":await this.executeCreateTask(e,t);break;case"update_contact":await this.executeUpdateContact(e,t);break;default:p.warn("Unknown action type:",e)}}async executeSendEmail(e,t){p.debug("Sending email:",e);const i={to:this.replaceVariables(e.to,t),subject:e.subject?this.replaceVariables(e.subject,t):void 0,body:e.body?this.replaceVariables(e.body,t):void 0,templateId:e.templateId,cc:e.cc,bcc:e.bcc,from:e.from,delayMinutes:e.delayMinutes};await this.request(`/api/workspaces/${this.workspaceId}/emails/send`,{method:"POST",body:JSON.stringify(i)})}async executeWebhook(e,t){p.debug("Calling webhook:",e.url);const i=e.body?this.replaceVariables(e.body,t):JSON.stringify(t);await fetch(e.url,{method:e.method,headers:{"Content-Type":"application/json",...e.headers},body:i})}async executeCreateTask(e,t){p.debug("Creating task:",e.title);const i=e.dueDays?new Date(Date.now()+24*e.dueDays*60*60*1e3).toISOString():void 0;await this.request(`/api/workspaces/${this.workspaceId}/tasks`,{method:"POST",body:JSON.stringify({title:this.replaceVariables(e.title,t),description:e.description?this.replaceVariables(e.description,t):void 0,priority:e.priority,dueDate:i,assignedTo:e.assignedTo,relatedContactId:"string"==typeof t.contactId?t.contactId:void 0})})}async executeUpdateContact(e,t){const i=t.contactId||t._id;i?(p.debug("Updating contact:",i),await this.request(`/api/workspaces/${this.workspaceId}/contacts/${i}`,{method:"PUT",body:JSON.stringify(e.updates)})):p.warn("Cannot update contact: no contactId in data")}replaceVariables(e,t){return e.replace(/\{\{([^}]+)\}\}/g,(e,i)=>{const n=this.getNestedValue(t,i.trim());return void 0!==n?String(n):e})}getNestedValue(e,t){return t.split(".").reduce((e,t)=>null!=e&&"object"==typeof e?e[t]:void 0,e)}extractAvailableFields(e,t="",i=3){if(i<=0)return[];const n=[];for(const s in e){if(!e.hasOwnProperty(s))continue;const r=e[s],o=t?`${t}.${s}`:s;if(n.push(o),null!==r&&"object"==typeof r&&!Array.isArray(r)){const e=this.extractAvailableFields(r,o,i-1);n.push(...e)}}return n}getAvailableFields(e){return this.extractAvailableFields(e)}async createEmailTrigger(e){return this.createTrigger({name:e.name,eventType:e.eventType,conditions:e.conditions,actions:[{type:"send_email",to:e.to,subject:e.subject,body:e.body}],isActive:!0})}async createTaskTrigger(e){return this.createTrigger({name:e.name,eventType:e.eventType,conditions:e.conditions,actions:[{type:"create_task",title:e.taskTitle,description:e.taskDescription,priority:e.priority,dueDays:e.dueDays}],isActive:!0})}async createWebhookTrigger(e){return this.createTrigger({name:e.name,eventType:e.eventType,conditions:e.conditions,actions:[{type:"webhook",url:e.webhookUrl,method:e.method||"POST"}],isActive:!0})}}class J{constructor(e,t,i){this.apiEndpoint=e,this.workspaceId=t,this.authToken=i,this.triggers=new j(e,t,i)}setAuthToken(e){this.authToken=e,this.triggers.setAuthToken(e)}validateRequired(e,t,i){if(null==t||""===t)throw new Error(`[CRMClient.${i}] ${e} is required`)}async request(e,t={}){const i=`${this.apiEndpoint}${e}`,n={"Content-Type":"application/json",...t.headers||{}};this.authToken&&(n.Authorization=`Bearer ${this.authToken}`);try{const e=await fetch(i,{...t,headers:n}),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 i=t.toString(),n=`/api/workspaces/${this.workspaceId}/contacts${i?`?${i}`:""}`;return this.request(n)}async getContact(e){return this.validateRequired("contactId",e,"getContact"),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.validateRequired("contactId",e,"updateContact"),this.request(`/api/workspaces/${this.workspaceId}/contacts/${e}`,{method:"PUT",body:JSON.stringify(t)})}async deleteContact(e){return this.validateRequired("contactId",e,"deleteContact"),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 i=t.toString(),n=`/api/workspaces/${this.workspaceId}/opportunities${i?`?${i}`:""}`;return this.request(n)}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})})}async getCompanies(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),e?.industry&&t.set("industry",e.industry);const i=t.toString(),n=`/api/workspaces/${this.workspaceId}/companies${i?`?${i}`:""}`;return this.request(n)}async getCompany(e){return this.request(`/api/workspaces/${this.workspaceId}/companies/${e}`)}async createCompany(e){return this.request(`/api/workspaces/${this.workspaceId}/companies`,{method:"POST",body:JSON.stringify(e)})}async updateCompany(e,t){return this.request(`/api/workspaces/${this.workspaceId}/companies/${e}`,{method:"PUT",body:JSON.stringify(t)})}async deleteCompany(e){return this.request(`/api/workspaces/${this.workspaceId}/companies/${e}`,{method:"DELETE"})}async getCompanyContacts(e,t){const i=new URLSearchParams;t?.page&&i.set("page",t.page.toString()),t?.limit&&i.set("limit",t.limit.toString());const n=i.toString(),s=`/api/workspaces/${this.workspaceId}/companies/${e}/contacts${n?`?${n}`:""}`;return this.request(s)}async getCompanyDeals(e,t){const i=new URLSearchParams;t?.page&&i.set("page",t.page.toString()),t?.limit&&i.set("limit",t.limit.toString());const n=i.toString(),s=`/api/workspaces/${this.workspaceId}/companies/${e}/deals${n?`?${n}`:""}`;return this.request(s)}async getPipelines(){return this.request(`/api/workspaces/${this.workspaceId}/pipelines`)}async getPipeline(e){return this.request(`/api/workspaces/${this.workspaceId}/pipelines/${e}`)}async createPipeline(e){return this.request(`/api/workspaces/${this.workspaceId}/pipelines`,{method:"POST",body:JSON.stringify(e)})}async updatePipeline(e,t){return this.request(`/api/workspaces/${this.workspaceId}/pipelines/${e}`,{method:"PUT",body:JSON.stringify(t)})}async deletePipeline(e){return this.request(`/api/workspaces/${this.workspaceId}/pipelines/${e}`,{method:"DELETE"})}async getTasks(e){const t=new URLSearchParams;e?.page&&t.set("page",e.page.toString()),e?.limit&&t.set("limit",e.limit.toString()),e?.status&&t.set("status",e.status),e?.priority&&t.set("priority",e.priority),e?.contactId&&t.set("contactId",e.contactId),e?.companyId&&t.set("companyId",e.companyId),e?.opportunityId&&t.set("opportunityId",e.opportunityId);const i=t.toString(),n=`/api/workspaces/${this.workspaceId}/tasks${i?`?${i}`:""}`;return this.request(n)}async getTask(e){return this.request(`/api/workspaces/${this.workspaceId}/tasks/${e}`)}async createTask(e){return this.request(`/api/workspaces/${this.workspaceId}/tasks`,{method:"POST",body:JSON.stringify(e)})}async updateTask(e,t){return this.request(`/api/workspaces/${this.workspaceId}/tasks/${e}`,{method:"PUT",body:JSON.stringify(t)})}async completeTask(e){return this.request(`/api/workspaces/${this.workspaceId}/tasks/${e}/complete`,{method:"PATCH"})}async deleteTask(e){return this.request(`/api/workspaces/${this.workspaceId}/tasks/${e}`,{method:"DELETE"})}async getContactActivities(e,t){const i=new URLSearchParams;t?.page&&i.set("page",t.page.toString()),t?.limit&&i.set("limit",t.limit.toString()),t?.type&&i.set("type",t.type);const n=i.toString(),s=`/api/workspaces/${this.workspaceId}/contacts/${e}/activities${n?`?${n}`:""}`;return this.request(s)}async getOpportunityActivities(e,t){const i=new URLSearchParams;t?.page&&i.set("page",t.page.toString()),t?.limit&&i.set("limit",t.limit.toString()),t?.type&&i.set("type",t.type);const n=i.toString(),s=`/api/workspaces/${this.workspaceId}/opportunities/${e}/activities${n?`?${n}`:""}`;return this.request(s)}async createActivity(e){let t;return t=e.opportunityId?`/api/workspaces/${this.workspaceId}/opportunities/${e.opportunityId}/activities`:e.contactId?`/api/workspaces/${this.workspaceId}/contacts/${e.contactId}/activities`:`/api/workspaces/${this.workspaceId}/activities`,this.request(t,{method:"POST",body:JSON.stringify(e)})}async updateActivity(e,t){return this.request(`/api/workspaces/${this.workspaceId}/activities/${e}`,{method:"PATCH",body:JSON.stringify(t)})}async deleteActivity(e){return this.request(`/api/workspaces/${this.workspaceId}/activities/${e}`,{method:"DELETE"})}async logCall(e){return this.createActivity({type:"call",title:("inbound"===e.direction?"Inbound":"Outbound")+" Call",direction:e.direction,duration:e.duration,outcome:e.outcome,description:e.notes,contactId:e.contactId,opportunityId:e.opportunityId})}async logMeeting(e){return this.createActivity({type:"meeting",title:e.title,duration:e.duration,outcome:e.outcome,description:e.notes,contactId:e.contactId,opportunityId:e.opportunityId})}async addNote(e){return this.createActivity({type:"note",title:"Note",description:e.content,contactId:e.contactId,opportunityId:e.opportunityId})}async getEmailTemplates(e){const t=new URLSearchParams;e?.page&&t.set("page",e.page.toString()),e?.limit&&t.set("limit",e.limit.toString());const i=t.toString(),n=`/api/workspaces/${this.workspaceId}/email-templates${i?`?${i}`:""}`;return this.request(n)}async getEmailTemplate(e){return this.request(`/api/workspaces/${this.workspaceId}/email-templates/${e}`)}async createEmailTemplate(e){return this.request(`/api/workspaces/${this.workspaceId}/email-templates`,{method:"POST",body:JSON.stringify(e)})}async updateEmailTemplate(e,t){return this.request(`/api/workspaces/${this.workspaceId}/email-templates/${e}`,{method:"PUT",body:JSON.stringify(t)})}async deleteEmailTemplate(e){return this.request(`/api/workspaces/${this.workspaceId}/email-templates/${e}`,{method:"DELETE"})}async sendEmail(e){return this.request(`/api/workspaces/${this.workspaceId}/emails/send`,{method:"POST",body:JSON.stringify(e)})}async getEventTriggers(){return this.triggers.getTriggers()}async createEventTrigger(e){return this.triggers.createTrigger(e)}async updateEventTrigger(e,t){return this.triggers.updateTrigger(e,t)}async deleteEventTrigger(e){return this.triggers.deleteTrigger(e)}}let W=null;function Q(e,t){return W&&W.getWorkspaceId()===e||(W&&W.destroy(),W=new B(e,t)),W}"undefined"!=typeof window&&(window.clianta=Q,window.Clianta={clianta:Q,Tracker:B,CRMClient:J,ConsentManager:z,EventTriggersManager:j}),e.CRMClient=J,e.ConsentManager=z,e.EventTriggersManager=j,e.SDK_VERSION=t,e.Tracker=B,e.clianta=Q,e.default=Q,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","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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"}
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/triggers.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,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","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","stored","parse","Array","isArray","BasePlugin","tracker","init","track","eventType","properties","PageViewPlugin","originalPushState","originalReplaceState","popstateHandler","super","trackPageView","history","pushState","replaceState","self","apply","title","path","pathname","hash","referrer","viewport","innerWidth","innerHeight","ScrollPlugin","milestonesReached","Set","maxScrollDepth","pageLoadTime","scrollTimeout","boundHandler","handleScroll","bind","passive","setupNavigationReset","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","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","boundVisibilityHandler","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","boundLoadHandler","observers","boundClsVisibilityHandler","trackPerformance","performance","entries","getEntriesByType","navTiming","loadTime","round","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","loadShownForms","fetchForms","setupTriggers","removeTriggers","saveShownForms","timestamp","getConfig","workspaceId","getWorkspaceId","encodeURIComponent","json","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","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","pendingIdentify","mergeConfig","consentManager","createVisitorId","sessionId","createSessionId","initPlugins","anonId","sidKey","tsKey","lastActivity","parseInt","getOrCreateSessionId","to","pluginsToLoad","filteredPlugins","p","pluginName","plugin","result","catch","device","screen","language","timezone","width","height","Intl","DateTimeFormat","resolvedOptions","timeZone","toISOString","sdkVersion","page","pageName","retryPendingIdentify","getConsentState","getSessionId","deleteData","EventTriggersManager","triggers","Map","setAuthToken","token","request","endpoint","getTriggers","getTrigger","triggerId","createTrigger","set","updateTrigger","updates","deleteTrigger","delete","activateTrigger","isActive","deactivateTrigger","on","off","emit","evaluateConditions","conditions","every","condition","fieldValue","getNestedValue","targetValue","operator","Number","executeActions","actions","executeAction","executeSendEmail","executeWebhook","executeCreateTask","executeUpdateContact","replaceVariables","subject","templateId","cc","bcc","delayMinutes","dueDate","dueDays","description","priority","assignedTo","relatedContactId","contactId","template","obj","reduce","current","extractAvailableFields","prefix","hasOwnProperty","fieldPath","nestedFields","getAvailableFields","sampleData","createEmailTrigger","createTaskTrigger","taskTitle","taskDescription","createWebhookTrigger","webhookUrl","CRMClient","validateRequired","param","methodName","getContacts","queryParams","limit","query","getContact","createContact","contact","updateContact","deleteContact","getOpportunities","pipelineId","stageId","getOpportunity","opportunityId","createOpportunity","opportunity","updateOpportunity","deleteOpportunity","moveOpportunity","getCompanies","industry","getCompany","companyId","createCompany","updateCompany","deleteCompany","getCompanyContacts","getCompanyDeals","getPipelines","getPipeline","createPipeline","pipeline","updatePipeline","deletePipeline","getTasks","getTask","taskId","createTask","task","updateTask","completeTask","deleteTask","getContactActivities","getOpportunityActivities","createActivity","activity","updateActivity","activityId","deleteActivity","logCall","direction","duration","outcome","notes","logMeeting","addNote","content","getEmailTemplates","getEmailTemplate","createEmailTemplate","updateEmailTemplate","deleteEmailTemplate","sendEmail","getEventTriggers","createEventTrigger","updateEventTrigger","deleteEventTrigger","globalInstance","clianta","Clianta"],"mappings":"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"}