@blossu/ui 0.5.0 → 0.7.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,2 +1,2 @@
1
- const e="0.1.0",t="https://api.blossu.com",r="blossu_ref",n=30,i="ref";function o(){return`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}function s(e,t,r){if("undefined"==typeof document)return;const n=new Date;n.setTime(n.getTime()+24*r*60*60*1e3);const i="https:"===window.location.protocol?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}; expires=${n.toUTCString()}; path=/; SameSite=Lax${i}`}function a(e){if("undefined"==typeof document)return null;const t=`${e}=`,r=document.cookie.split(";");for(let e=0;e<r.length;e++){let n=r[e];for(;" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(t))return decodeURIComponent(n.substring(t.length,n.length))}return null}function u(e){"undefined"!=typeof document&&(document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}function l(e){if("undefined"==typeof window)return null;return new URLSearchParams(window.location.search).get(e)}function c(e,t=r,n=30){const i=o(),a={code:e.toLowerCase(),refId:i,timestamp:Date.now()};return s(t,JSON.stringify(a),n),a}function f(e=r){const t=a(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function g(e=r){u(e)}function h(){return"undefined"==typeof navigator?{userAgent:"",language:"",timezone:""}:{userAgent:navigator.userAgent||"",language:navigator.language||"",timezone:Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||""}}function d(){return"undefined"==typeof window||"undefined"==typeof document?{url:"",referrer:"",title:""}:{url:window.location.href,referrer:document.referrer||"",title:document.title||""}}class p{constructor(e){this.processing=!1,this.timer=null,this.name=`blossu_queue_${e.name}`,this.maxAttempts=e.maxAttempts||10,this.baseDelay=e.baseDelay||1e3,this.maxDelay=e.maxDelay||3e4,this.debug=e.debug||!1,this.startProcessing(),"undefined"!=typeof window&&(window.addEventListener("online",(()=>this.startProcessing())),document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&this.startProcessing()})))}log(...e){this.debug&&console.log("[Blossu:Queue]",...e)}getStorageKey(){return this.name}generateId(){return`${Date.now()}_${Math.random().toString(36).substring(2,9)}`}getQueue(){if("undefined"==typeof localStorage)return[];try{const e=localStorage.getItem(this.getStorageKey());return e?JSON.parse(e):[]}catch(e){return this.log("Error reading queue:",e),[]}}saveQueue(e){if("undefined"!=typeof localStorage)try{0===e.length?localStorage.removeItem(this.getStorageKey()):localStorage.setItem(this.getStorageKey(),JSON.stringify(e))}catch(e){this.log("Error saving queue:",e)}}calculateBackoff(e){const t=this.baseDelay*Math.pow(2,e-1),r=.3*Math.random()*t,n=Math.min(t+r,this.maxDelay);return Math.round(n)}push(e,t,r){const n=this.getQueue(),i={id:this.generateId(),event:e,endpoint:t,payload:r,attemptNumber:0,maxAttempts:this.maxAttempts,createdAt:Date.now(),nextRetryAt:Date.now()};n.push(i),this.saveQueue(n),this.log("Added to queue:",i.id,e),this.startProcessing()}async processItem(e){this.log("Processing item:",e.id,"attempt:",e.attemptNumber+1);try{const t=await fetch(e.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:e.payload,keepalive:!0});return t.ok?(this.log("Successfully sent:",e.id),!0):t.status>=400&&t.status<500&&408!==t.status&&429!==t.status?(this.log("Client error, not retrying:",e.id,t.status),!0):(this.log("Server error, will retry:",e.id,t.status),!1)}catch(t){return this.log("Network error, will retry:",e.id,t),!1}}async processQueue(){if(!this.processing)if("undefined"==typeof navigator||navigator.onLine){this.processing=!0;try{const e=this.getQueue();if(0===e.length)return void(this.processing=!1);const t=Date.now(),r=e.filter((e=>e.nextRetryAt<=t));if(0===r.length){const r=e.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),n=Math.max(0,r.nextRetryAt-t);return this.scheduleProcessing(n),void(this.processing=!1)}for(const e of r){e.attemptNumber++;const t=await this.processItem(e),r=this.getQueue(),n=r.findIndex((t=>t.id===e.id));if(-1!==n)if(t)r.splice(n,1),this.saveQueue(r);else if(e.attemptNumber>=e.maxAttempts)this.log("Max attempts reached, dropping:",e.id),r.splice(n,1),this.saveQueue(r);else{const t=this.calculateBackoff(e.attemptNumber);r[n].attemptNumber=e.attemptNumber,r[n].nextRetryAt=Date.now()+t,this.saveQueue(r),this.log("Scheduled retry in",t,"ms for:",e.id)}}const n=this.getQueue();if(n.length>0){const e=n.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),t=Math.max(0,e.nextRetryAt-Date.now());this.scheduleProcessing(t)}}finally{this.processing=!1}}else this.log("Offline, skipping processing")}scheduleProcessing(e){this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>this.processQueue()),e)}startProcessing(){this.scheduleProcessing(0)}getQueueLength(){return this.getQueue().length}clear(){this.saveQueue([]),this.timer&&(clearTimeout(this.timer),this.timer=null)}}class m{constructor(e){this.config={apiUrl:e.apiUrl||t,publishableKey:e.publishableKey,programSlug:e.programSlug,debug:e.debug||!1,maxRetries:e.maxRetries},this.retryQueue=new p({name:e.programSlug,maxAttempts:e.maxRetries||10,debug:e.debug||!1})}log(...e){this.config.debug&&console.log("[Blossu]",...e)}getEndpoint(e){return`${this.config.apiUrl}/v1/track/${e}`}getMeta(){const t="undefined"!=typeof window;return{url:t?window.location.href:"",referrer:t?document.referrer:"",userAgent:t?navigator.userAgent:"",language:t?navigator.language:"",timezone:t&&Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||"",timestamp:Date.now(),sdkVersion:e}}queueForRetry(e,t,r){this.log("Queueing for retry:",e),this.retryQueue.push(e,t,r)}async send(e,t){const r={event:e,data:t,meta:this.getMeta(),publishableKey:this.config.publishableKey};this.log("Sending event:",e,r);const n=this.getEndpoint(e),i=JSON.stringify(r);if("undefined"!=typeof navigator&&navigator.sendBeacon){const e=new Blob([i],{type:"application/json"});try{if(navigator.sendBeacon(n,e))return this.log("sendBeacon success"),!0;this.log("sendBeacon returned false (queue full), falling back to fetch")}catch(e){this.log("sendBeacon threw error, falling back to fetch:",e)}}try{const t=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:i,keepalive:!0});return t.ok?(this.log("fetch success:",t.status),!0):t.status>=500||408===t.status||429===t.status?(this.log("Server error, queueing for retry:",t.status),this.queueForRetry(e,n,i),!1):(this.log("Client error, not retrying:",t.status),!1)}catch(t){return this.log("fetch error, queueing for retry:",t),this.queueForRetry(e,n,i),!1}}trackClick(e){return this.send("click",e)}trackSignup(e){return this.send("signup",e)}trackSale(e){return this.send("sale",e)}trackPageview(e){return this.send("pageview",e)}getQueueLength(){return this.retryQueue.getQueueLength()}clearQueue(){this.retryQueue.clear()}}class y{constructor(e){this.initialized=!1,this.referralInfo=null,this.config={publishableKey:e.publishableKey,programSlug:e.programSlug||"",apiUrl:e.apiUrl||t,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||r,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack},this.tracker=new m({apiUrl:this.config.apiUrl,publishableKey:this.config.publishableKey,programSlug:this.config.programSlug,debug:this.config.debug}),this.loadReferralInfo(),this.config.autoTrack&&this.autoTrackReferral(),this.exposeToWindow()}log(...e){this.config.debug&&console.log("[Blossu]",...e)}exposeToWindow(){"undefined"!=typeof window&&(window.blossu=this,this.referralInfo&&(window.blossu_ref_id=this.referralInfo.refId))}loadReferralInfo(){this.referralInfo=f(this.config.cookieName),this.referralInfo&&this.log("Loaded referral info from cookie:",this.referralInfo)}autoTrackReferral(){if("undefined"==typeof window)return;const e=l(this.config.trackingParam);e&&e!==this.referralInfo?.code&&(this.log("Detected referral code in URL:",e),this.trackClick(e))}getRefId(){return this.referralInfo?.refId||null}getCode(){return this.referralInfo?.code||null}getReferralInfo(){return this.referralInfo}hasReferral(){return null!==this.referralInfo}clearReferral(){g(this.config.cookieName),this.referralInfo=null,"undefined"!=typeof window&&delete window.blossu_ref_id,this.log("Cleared referral info")}async trackClick(e){return this.referralInfo=c(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.log("Tracking click for code:",e,"refId:",this.referralInfo.refId),this.tracker.trackClick({code:this.referralInfo.code,refId:this.referralInfo.refId})}async signup(e={}){return this.referralInfo?(this.log("Tracking signup:",e),this.tracker.trackSignup({code:this.referralInfo.code,refId:this.referralInfo.refId,email:e.email,customerExternalId:e.customerExternalId,metadata:e.metadata})):(this.log("No referral info, skipping signup tracking"),!1)}async sale(e){return this.referralInfo?(this.log("Tracking sale:",e),this.tracker.trackSale({code:this.referralInfo.code,refId:this.referralInfo.refId,customerExternalId:e.customerExternalId,amount:e.amount,currency:e.currency,provider:e.provider||"custom",metadata:e.metadata})):(this.log("No referral info, skipping sale tracking"),!1)}async pageview(){return!!this.referralInfo&&this.tracker.trackPageview({code:this.referralInfo.code,refId:this.referralInfo.refId})}getStripeClientReferenceId(){return this.referralInfo?.refId||null}getStripeMetadata(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId,blossu_code:this.referralInfo.code}:{}}async getPartnerInfo(e){const t=this.config.programSlug?`/v1/public/programs/${this.config.programSlug}/referral/${encodeURIComponent(e)}`:`/v1/public/referral/${encodeURIComponent(e)}`,r=`${this.config.apiUrl}${t}`;try{const t=await fetch(r,{headers:{Authorization:`Bearer ${this.config.publishableKey}`}});if(!t.ok){if(404===t.status)return this.log("Partner info not found for code:",e),null;throw new Error(`HTTP error! status: ${t.status}`)}const n=await t.json();return this.log("Fetched partner info:",n),n}catch(e){return this.log("Error fetching partner info:",e),null}}getProgramSlug(){return this.config.programSlug}}let I=null;function w(e){return I=new y(e),I}function b(){return I}export{y as BlossuClient,n as COOKIE_EXPIRY_DAYS,r as COOKIE_NAME,t as DEFAULT_API_URL,i as TRACKING_PARAM,m as Tracker,e as VERSION,g as clearReferralInfo,y as default,u as deleteCookie,o as generateRefId,h as getBrowserInfo,b as getClient,a as getCookie,d as getPageInfo,f as getReferralInfo,l as getUrlParam,w as init,c as saveReferralInfo,s as setCookie};
1
+ const e="0.1.0",t="https://api.blossu.com",r="blossu_ref",n=30,i="ref";function o(){return`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}function s(e,t,r){if("undefined"==typeof document)return;const n=new Date;n.setTime(n.getTime()+24*r*60*60*1e3);const i="https:"===window.location.protocol?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}; expires=${n.toUTCString()}; path=/; SameSite=Lax${i}`}function a(e){if("undefined"==typeof document)return null;const t=`${e}=`,r=document.cookie.split(";");for(let e=0;e<r.length;e++){let n=r[e];for(;" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(t))return decodeURIComponent(n.substring(t.length,n.length))}return null}function u(e){"undefined"!=typeof document&&(document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}function l(e){if("undefined"==typeof window)return null;return new URLSearchParams(window.location.search).get(e)}function c(e,t=r,n=30){const i=o(),a={code:e.toLowerCase(),refId:i,timestamp:Date.now()};return s(t,JSON.stringify(a),n),a}function g(e=r){const t=a(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function f(e=r){u(e)}function h(){return"undefined"==typeof navigator?{userAgent:"",language:"",timezone:""}:{userAgent:navigator.userAgent||"",language:navigator.language||"",timezone:Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||""}}function d(){return"undefined"==typeof window||"undefined"==typeof document?{url:"",referrer:"",title:""}:{url:window.location.href,referrer:document.referrer||"",title:document.title||""}}class m{constructor(e){this.processing=!1,this.timer=null,this.name=`blossu_queue_${e.name||"default"}`,this.maxAttempts=e.maxAttempts||10,this.baseDelay=e.baseDelay||1e3,this.maxDelay=e.maxDelay||3e4,this.debug=e.debug||!1,this.startProcessing(),"undefined"!=typeof window&&(window.addEventListener("online",(()=>this.startProcessing())),document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&this.startProcessing()})))}log(...e){this.debug&&console.log("[Blossu:Queue]",...e)}getStorageKey(){return this.name}generateId(){return`${Date.now()}_${Math.random().toString(36).substring(2,9)}`}getQueue(){if("undefined"==typeof localStorage)return[];try{const e=localStorage.getItem(this.getStorageKey());return e?JSON.parse(e):[]}catch(e){return this.log("Error reading queue:",e),[]}}saveQueue(e){if("undefined"!=typeof localStorage)try{0===e.length?localStorage.removeItem(this.getStorageKey()):localStorage.setItem(this.getStorageKey(),JSON.stringify(e))}catch(e){this.log("Error saving queue:",e)}}calculateBackoff(e){const t=this.baseDelay*Math.pow(2,e-1),r=.3*Math.random()*t,n=Math.min(t+r,this.maxDelay);return Math.round(n)}push(e,t,r){const n=this.getQueue(),i={id:this.generateId(),event:e,endpoint:t,payload:r,attemptNumber:0,maxAttempts:this.maxAttempts,createdAt:Date.now(),nextRetryAt:Date.now()};n.push(i),this.saveQueue(n),this.log("Added to queue:",i.id,e),this.startProcessing()}async processItem(e){this.log("Processing item:",e.id,"attempt:",e.attemptNumber+1);try{const t=await fetch(e.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:e.payload,keepalive:!0});return t.ok?(this.log("Successfully sent:",e.id),!0):t.status>=400&&t.status<500&&408!==t.status&&429!==t.status?(this.log("Client error, not retrying:",e.id,t.status),!0):(this.log("Server error, will retry:",e.id,t.status),!1)}catch(t){return this.log("Network error, will retry:",e.id,t),!1}}async processQueue(){if(!this.processing)if("undefined"==typeof navigator||navigator.onLine){this.processing=!0;try{const e=this.getQueue();if(0===e.length)return void(this.processing=!1);const t=Date.now(),r=e.filter((e=>e.nextRetryAt<=t));if(0===r.length){const r=e.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),n=Math.max(0,r.nextRetryAt-t);return this.scheduleProcessing(n),void(this.processing=!1)}for(const e of r){e.attemptNumber++;const t=await this.processItem(e),r=this.getQueue(),n=r.findIndex((t=>t.id===e.id));if(-1!==n)if(t)r.splice(n,1),this.saveQueue(r);else if(e.attemptNumber>=e.maxAttempts)this.log("Max attempts reached, dropping:",e.id),r.splice(n,1),this.saveQueue(r);else{const t=this.calculateBackoff(e.attemptNumber);r[n].attemptNumber=e.attemptNumber,r[n].nextRetryAt=Date.now()+t,this.saveQueue(r),this.log("Scheduled retry in",t,"ms for:",e.id)}}const n=this.getQueue();if(n.length>0){const e=n.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),t=Math.max(0,e.nextRetryAt-Date.now());this.scheduleProcessing(t)}}finally{this.processing=!1}}else this.log("Offline, skipping processing")}scheduleProcessing(e){this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>this.processQueue()),e)}startProcessing(){this.scheduleProcessing(0)}getQueueLength(){return this.getQueue().length}clear(){this.saveQueue([]),this.timer&&(clearTimeout(this.timer),this.timer=null)}}class p{constructor(e){this.config={apiUrl:e.apiUrl||t,publishableKey:e.publishableKey,programSlug:e.programSlug,debug:e.debug||!1,maxRetries:e.maxRetries},this.retryQueue=new m({name:e.programSlug,maxAttempts:e.maxRetries||10,debug:e.debug||!1})}log(...e){this.config.debug&&console.log("[Blossu]",...e)}getEndpoint(e){return`${this.config.apiUrl}/v1/track/${e}`}getUtmParams(){if("undefined"==typeof window)return{utmSource:"",utmMedium:"",utmCampaign:"",utmTerm:"",utmContent:""};try{const e=new URLSearchParams(window.location.search);return{utmSource:e.get("utm_source")||"",utmMedium:e.get("utm_medium")||"",utmCampaign:e.get("utm_campaign")||"",utmTerm:e.get("utm_term")||"",utmContent:e.get("utm_content")||""}}catch{return{utmSource:"",utmMedium:"",utmCampaign:"",utmTerm:"",utmContent:""}}}getMeta(){const t="undefined"!=typeof window,r=this.getUtmParams();return{url:t?window.location.href:"",referrer:t?document.referrer:"",userAgent:t?navigator.userAgent:"",language:t?navigator.language:"",timezone:t&&Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||"",timestamp:Date.now(),sdkVersion:e,utmSource:r.utmSource,utmMedium:r.utmMedium,utmCampaign:r.utmCampaign,utmTerm:r.utmTerm,utmContent:r.utmContent,windowWidth:t?window.innerWidth:0,windowHeight:t?window.innerHeight:0,screenWidth:t&&window.screen?.width||0,screenHeight:t&&window.screen?.height||0}}queueForRetry(e,t,r){this.log("Queueing for retry:",e),this.retryQueue.push(e,t,r)}async send(e,t){const r={event:e,data:t,meta:this.getMeta(),publishableKey:this.config.publishableKey};this.log("Sending event:",e,r);const n=this.getEndpoint(e),i=JSON.stringify(r);if("undefined"!=typeof navigator&&navigator.sendBeacon){const e=new Blob([i],{type:"application/json"});try{if(navigator.sendBeacon(n,e))return this.log("sendBeacon success"),!0;this.log("sendBeacon returned false (queue full), falling back to fetch")}catch(e){this.log("sendBeacon threw error, falling back to fetch:",e)}}try{const t=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:i,keepalive:!0});return t.ok?(this.log("fetch success:",t.status),!0):t.status>=500||408===t.status||429===t.status?(this.log("Server error, queueing for retry:",t.status),this.queueForRetry(e,n,i),!1):(this.log("Client error, not retrying:",t.status),!1)}catch(t){return this.log("fetch error, queueing for retry:",t),this.queueForRetry(e,n,i),!1}}trackClick(e){return this.send("click",e)}trackSignup(e){return this.send("signup",e)}trackSale(e){return this.send("sale",e)}trackPageview(e){return this.send("pageview",e)}getQueueLength(){return this.retryQueue.getQueueLength()}clearQueue(){this.retryQueue.clear()}}class y{constructor(e){this.initialized=!1,this.referralInfo=null,this.config={publishableKey:e.publishableKey,programSlug:e.programSlug||"",apiUrl:e.apiUrl||t,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||r,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack},this.tracker=new p({apiUrl:this.config.apiUrl,publishableKey:this.config.publishableKey,programSlug:this.config.programSlug,debug:this.config.debug}),this.loadReferralInfo(),this.config.autoTrack&&this.autoTrackReferral(),this.exposeToWindow()}log(...e){this.config.debug&&console.log("[Blossu]",...e)}exposeToWindow(){"undefined"!=typeof window&&(window.blossu=this,this.referralInfo&&(window.blossu_ref_id=this.referralInfo.refId))}loadReferralInfo(){this.referralInfo=g(this.config.cookieName),this.referralInfo&&this.log("Loaded referral info from cookie:",this.referralInfo)}autoTrackReferral(){if("undefined"==typeof window)return;const e=l(this.config.trackingParam);e&&e!==this.referralInfo?.code&&(this.log("Detected referral code in URL:",e),this.trackClick(e))}getRefId(){return this.referralInfo?.refId||null}getCode(){return this.referralInfo?.code||null}getReferralInfo(){return this.referralInfo}hasReferral(){return null!==this.referralInfo}clearReferral(){f(this.config.cookieName),this.referralInfo=null,"undefined"!=typeof window&&delete window.blossu_ref_id,this.log("Cleared referral info")}async trackClick(e){return this.referralInfo=c(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.log("Tracking click for code:",e,"refId:",this.referralInfo.refId),this.tracker.trackClick({code:this.referralInfo.code,refId:this.referralInfo.refId})}async signup(e={}){return this.referralInfo?(this.log("Tracking signup:",e),this.tracker.trackSignup({code:this.referralInfo.code,refId:this.referralInfo.refId,email:e.email,customerExternalId:e.customerExternalId,metadata:e.metadata})):(this.log("No referral info, skipping signup tracking"),!1)}async sale(e){return this.referralInfo?(this.log("Tracking sale:",e),this.tracker.trackSale({code:this.referralInfo.code,refId:this.referralInfo.refId,customerExternalId:e.customerExternalId,amount:e.amount,currency:e.currency,provider:e.provider||"custom",metadata:e.metadata})):(this.log("No referral info, skipping sale tracking"),!1)}async pageview(){return!!this.referralInfo&&this.tracker.trackPageview({code:this.referralInfo.code,refId:this.referralInfo.refId})}getStripeClientReferenceId(){return this.referralInfo?.refId||null}getStripeMetadata(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId,blossu_code:this.referralInfo.code}:{}}async getPartnerInfo(e){const t=this.config.programSlug?`/v1/public/programs/${this.config.programSlug}/referral/${encodeURIComponent(e)}`:`/v1/public/referral/${encodeURIComponent(e)}`,r=`${this.config.apiUrl}${t}`;try{const t=await fetch(r,{headers:{Authorization:`Bearer ${this.config.publishableKey}`}});if(!t.ok){if(404===t.status)return this.log("Partner info not found for code:",e),null;throw new Error(`HTTP error! status: ${t.status}`)}const n=await t.json();return this.log("Fetched partner info:",n),n}catch(e){return this.log("Error fetching partner info:",e),null}}getProgramSlug(){return this.config.programSlug}}let w=null;function I(e){return w=new y(e),w}function b(){return w}export{y as BlossuClient,n as COOKIE_EXPIRY_DAYS,r as COOKIE_NAME,t as DEFAULT_API_URL,i as TRACKING_PARAM,p as Tracker,e as VERSION,f as clearReferralInfo,y as default,u as deleteCookie,o as generateRefId,h as getBrowserInfo,b as getClient,a as getCookie,d as getPageInfo,g as getReferralInfo,l as getUrlParam,I as init,c as saveReferralInfo,s as setCookie};
2
2
  //# sourceMappingURL=blossu.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blossu.esm.js","sources":["../src/constants.ts","../src/utils.ts","../src/retry-queue.ts","../src/tracker.ts","../src/blossu.ts"],"sourcesContent":[null,null,null,null,null],"names":["VERSION","DEFAULT_API_URL","COOKIE_NAME","COOKIE_EXPIRY_DAYS","TRACKING_PARAM","generateRefId","Date","now","toString","Math","random","substring","setCookie","name","value","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","getCookie","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","deleteCookie","getUrlParam","param","URLSearchParams","search","get","saveReferralInfo","code","cookieName","expiryDays","refId","info","toLowerCase","timestamp","JSON","stringify","getReferralInfo","parse","clearReferralInfo","getBrowserInfo","navigator","userAgent","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","getPageInfo","url","referrer","title","href","RetryQueue","constructor","config","this","processing","timer","maxAttempts","baseDelay","maxDelay","debug","startProcessing","addEventListener","visibilityState","log","args","console","getStorageKey","generateId","getQueue","localStorage","data","getItem","error","saveQueue","queue","removeItem","setItem","calculateBackoff","attemptNumber","exponentialDelay","pow","jitter","delay","min","round","push","event","endpoint","payload","item","id","createdAt","nextRetryAt","processItem","response","fetch","method","headers","body","keepalive","ok","status","processQueue","onLine","readyItems","filter","nextItem","reduce","max","scheduleProcessing","success","currentQueue","index","findIndex","q","splice","backoff","remainingQueue","clearTimeout","setTimeout","getQueueLength","clear","Tracker","apiUrl","publishableKey","programSlug","maxRetries","retryQueue","getEndpoint","getMeta","isBrowser","sdkVersion","queueForRetry","send","meta","sendBeacon","blob","Blob","type","trackClick","trackSignup","trackSale","trackPageview","clearQueue","BlossuClient","initialized","referralInfo","trackingParam","cookieExpiryDays","autoTrack","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","blossu_ref_id","getRefId","getCode","hasReferral","clearReferral","signup","email","customerExternalId","metadata","sale","amount","currency","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","programPath","Authorization","Error","json","getProgramSlug","defaultClient","init","getClient"],"mappings":"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"}
1
+ {"version":3,"file":"blossu.esm.js","sources":["../src/constants.ts","../src/utils.ts","../src/retry-queue.ts","../src/tracker.ts","../src/blossu.ts"],"sourcesContent":[null,null,null,null,null],"names":["VERSION","DEFAULT_API_URL","COOKIE_NAME","COOKIE_EXPIRY_DAYS","TRACKING_PARAM","generateRefId","Date","now","toString","Math","random","substring","setCookie","name","value","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","getCookie","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","deleteCookie","getUrlParam","param","URLSearchParams","search","get","saveReferralInfo","code","cookieName","expiryDays","refId","info","toLowerCase","timestamp","JSON","stringify","getReferralInfo","parse","clearReferralInfo","getBrowserInfo","navigator","userAgent","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","getPageInfo","url","referrer","title","href","RetryQueue","constructor","config","this","processing","timer","maxAttempts","baseDelay","maxDelay","debug","startProcessing","addEventListener","visibilityState","log","args","console","getStorageKey","generateId","getQueue","localStorage","data","getItem","error","saveQueue","queue","removeItem","setItem","calculateBackoff","attemptNumber","exponentialDelay","pow","jitter","delay","min","round","push","event","endpoint","payload","item","id","createdAt","nextRetryAt","processItem","response","fetch","method","headers","body","keepalive","ok","status","processQueue","onLine","readyItems","filter","nextItem","reduce","max","scheduleProcessing","success","currentQueue","index","findIndex","q","splice","backoff","remainingQueue","clearTimeout","setTimeout","getQueueLength","clear","Tracker","apiUrl","publishableKey","programSlug","maxRetries","retryQueue","getEndpoint","getUtmParams","utmSource","utmMedium","utmCampaign","utmTerm","utmContent","params","getMeta","isBrowser","utmParams","sdkVersion","windowWidth","innerWidth","windowHeight","innerHeight","screenWidth","screen","width","screenHeight","height","queueForRetry","send","meta","sendBeacon","blob","Blob","type","trackClick","trackSignup","trackSale","trackPageview","clearQueue","BlossuClient","initialized","referralInfo","trackingParam","cookieExpiryDays","autoTrack","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","blossu_ref_id","getRefId","getCode","hasReferral","clearReferral","signup","email","customerExternalId","metadata","sale","amount","currency","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","programPath","Authorization","Error","json","getProgramSlug","defaultClient","init","getClient"],"mappings":"AAAO,MAAMA,EAAU,QACVC,EAAkB,yBAClBC,EAAc,aACdC,EAAqB,GACrBC,EAAiB,eCDdC,IAGd,MAAO,OAFWC,KAAKC,MAAMC,SAAS,OACnBC,KAAKC,SAASF,SAAS,IAAIG,UAAU,EAAG,KAE7D,UAEgBC,EAAUC,EAAcC,EAAeC,GACrD,GAAwB,oBAAbC,SAA0B,OAErC,MAAMC,EAAU,IAAIX,KACpBW,EAAQC,QAAQD,EAAQE,UAAmB,GAAPJ,EAAY,GAAK,GAAK,KAE1D,MACMK,EAAsC,WAA7BC,OAAOC,SAASC,SAAwB,WAAa,GAEpEP,SAASQ,OAAS,GAAGX,KAAQY,mBAAmBX,eAAmBG,EAAQS,sCAA8CN,GAC3H,CAEM,SAAUO,EAAUd,GACxB,GAAwB,oBAAbG,SAA0B,OAAO,KAE5C,MAAMY,EAAS,GAAGf,KACZgB,EAAUb,SAASQ,OAAOM,MAAM,KAEtC,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAQG,OAAQD,IAAK,CACvC,IAAIP,EAASK,EAAQE,GACrB,KAA4B,MAArBP,EAAOS,OAAO,IACnBT,EAASA,EAAOb,UAAU,EAAGa,EAAOQ,QAEtC,GAA+B,IAA3BR,EAAOU,QAAQN,GACjB,OAAOO,mBAAmBX,EAAOb,UAAUiB,EAAOI,OAAQR,EAAOQ,QAEpE,CACD,OAAO,IACT,CAEM,SAAUI,EAAavB,GACH,oBAAbG,WACXA,SAASQ,OAAS,GAAGX,qDACvB,CAEM,SAAUwB,EAAYC,GAC1B,GAAsB,oBAAXjB,OAAwB,OAAO,KAG1C,OADkB,IAAIkB,gBAAgBlB,OAAOC,SAASkB,QACrCC,IAAIH,EACvB,CAEM,SAAUI,EACdC,EACAC,EAAqB1C,EACrB2C,EDnDgC,ICqDhC,MAAMC,EAAQzC,IACR0C,EAAqB,CACzBJ,KAAMA,EAAKK,cACXF,QACAG,UAAW3C,KAAKC,OAKlB,OAFAK,EAAUgC,EAAYM,KAAKC,UAAUJ,GAAOF,GAErCE,CACT,CAEgB,SAAAK,EACdR,EAAqB1C,GAErB,MAAMsB,EAASG,EAAUiB,GACzB,IAAKpB,EAAQ,OAAO,KAEpB,IACE,OAAO0B,KAAKG,MAAM7B,EACnB,CAAC,MACA,OAAO,IACR,CACH,CAEgB,SAAA8B,EAAkBV,EAAqB1C,GACrDkC,EAAaQ,EACf,UAEgBW,IAKd,MAAyB,oBAAdC,UACF,CAAEC,UAAW,GAAIC,SAAU,GAAIC,SAAU,IAG3C,CACLF,UAAWD,UAAUC,WAAa,GAClCC,SAAUF,UAAUE,UAAY,GAChCC,SAAUC,MAAMC,oBAAoBC,qBAAqBC,UAAY,GAEzE,UAEgBC,IAKd,MAAsB,oBAAX3C,QAA8C,oBAAbL,SACnC,CAAEiD,IAAK,GAAIC,SAAU,GAAIC,MAAO,IAGlC,CACLF,IAAK5C,OAAOC,SAAS8C,KACrBF,SAAUlD,SAASkD,UAAY,GAC/BC,MAAOnD,SAASmD,OAAS,GAE7B,OC5FaE,EASX,WAAAC,CAAYC,GAHJC,KAAUC,YAAY,EACtBD,KAAKE,MAAyC,KAGpDF,KAAK3D,KAAO,gBAAgB0D,EAAO1D,MAAQ,YAC3C2D,KAAKG,YAAcJ,EAAOI,aAfD,GAgBzBH,KAAKI,UAAYL,EAAOK,WAfD,IAgBvBJ,KAAKK,SAAWN,EAAOM,UAfD,IAgBtBL,KAAKM,MAAQP,EAAOO,QAAS,EAE7BN,KAAKO,kBAEiB,oBAAX1D,SACTA,OAAO2D,iBAAiB,UAAU,IAAMR,KAAKO,oBAC7C/D,SAASgE,iBAAiB,oBAAoB,KACX,YAA7BhE,SAASiE,iBACXT,KAAKO,iBACN,IAGN,CAEO,GAAAG,IAAOC,GACTX,KAAKM,OACPM,QAAQF,IAAI,oBAAqBC,EAEpC,CAEO,aAAAE,GACN,OAAOb,KAAK3D,IACb,CAEO,UAAAyE,GACN,MAAO,GAAGhF,KAAKC,SAASE,KAAKC,SAASF,SAAS,IAAIG,UAAU,EAAG,IACjE,CAEO,QAAA4E,GACN,GAA4B,oBAAjBC,aACT,MAAO,GAGT,IACE,MAAMC,EAAOD,aAAaE,QAAQlB,KAAKa,iBACvC,OAAKI,EACEvC,KAAKG,MAAMoC,GADA,EAEnB,CAAC,MAAOE,GAEP,OADAnB,KAAKU,IAAI,uBAAwBS,GAC1B,EACR,CACF,CAEO,SAAAC,CAAUC,GAChB,GAA4B,oBAAjBL,aAIX,IACuB,IAAjBK,EAAM7D,OACRwD,aAAaM,WAAWtB,KAAKa,iBAE7BG,aAAaO,QAAQvB,KAAKa,gBAAiBnC,KAAKC,UAAU0C,GAE7D,CAAC,MAAOF,GACPnB,KAAKU,IAAI,sBAAuBS,EACjC,CACF,CAEO,gBAAAK,CAAiBC,GACvB,MAAMC,EAAmB1B,KAAKI,UAAYnE,KAAK0F,IAAI,EAAGF,EAAgB,GAChEG,EAAyB,GAAhB3F,KAAKC,SAAiBwF,EAC/BG,EAAQ5F,KAAK6F,IAAIJ,EAAmBE,EAAQ5B,KAAKK,UACvD,OAAOpE,KAAK8F,MAAMF,EACnB,CAED,IAAAG,CAAKC,EAAeC,EAAkBC,GACpC,MAAMd,EAAQrB,KAAKe,WAEbqB,EAAkB,CACtBC,GAAIrC,KAAKc,aACTmB,QACAC,WACAC,UACAV,cAAe,EACftB,YAAaH,KAAKG,YAClBmC,UAAWxG,KAAKC,MAChBwG,YAAazG,KAAKC,OAGpBsF,EAAMW,KAAKI,GACXpC,KAAKoB,UAAUC,GACfrB,KAAKU,IAAI,kBAAmB0B,EAAKC,GAAIJ,GAErCjC,KAAKO,iBACN,CAEO,iBAAMiC,CAAYJ,GACxBpC,KAAKU,IAAI,mBAAoB0B,EAAKC,GAAI,WAAYD,EAAKX,cAAgB,GAEvE,IACE,MAAMgB,QAAiBC,MAAMN,EAAKF,SAAU,CAC1CS,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMT,EAAKD,QACXW,WAAW,IAGb,OAAIL,EAASM,IACX/C,KAAKU,IAAI,qBAAsB0B,EAAKC,KAC7B,GAGLI,EAASO,QAAU,KAAOP,EAASO,OAAS,KAA2B,MAApBP,EAASO,QAAsC,MAApBP,EAASO,QACzFhD,KAAKU,IAAI,8BAA+B0B,EAAKC,GAAII,EAASO,SACnD,IAGThD,KAAKU,IAAI,4BAA6B0B,EAAKC,GAAII,EAASO,SACjD,EACR,CAAC,MAAO7B,GAEP,OADAnB,KAAKU,IAAI,6BAA8B0B,EAAKC,GAAIlB,IACzC,CACR,CACF,CAEO,kBAAM8B,GACZ,IAAIjD,KAAKC,WAIT,GAAyB,oBAAdjB,WAA8BA,UAAUkE,OAAnD,CAKAlD,KAAKC,YAAa,EAElB,IACE,MAAMoB,EAAQrB,KAAKe,WACnB,GAAqB,IAAjBM,EAAM7D,OAER,YADAwC,KAAKC,YAAa,GAIpB,MAAMlE,EAAMD,KAAKC,MACXoH,EAAa9B,EAAM+B,QAAQhB,GAASA,EAAKG,aAAexG,IAE9D,GAA0B,IAAtBoH,EAAW3F,OAAc,CAC3B,MAAM6F,EAAWhC,EAAMiC,QAAO,CAACxB,EAAKM,IAClCA,EAAKG,YAAcT,EAAIS,YAAcH,EAAON,IAExCD,EAAQ5F,KAAKsH,IAAI,EAAGF,EAASd,YAAcxG,GAGjD,OAFAiE,KAAKwD,mBAAmB3B,QACxB7B,KAAKC,YAAa,EAEnB,CAED,IAAK,MAAMmC,KAAQe,EAAY,CAC7Bf,EAAKX,gBACL,MAAMgC,QAAgBzD,KAAKwC,YAAYJ,GAEjCsB,EAAe1D,KAAKe,WACpB4C,EAAQD,EAAaE,WAAWC,GAAMA,EAAExB,KAAOD,EAAKC,KAE1D,IAAe,IAAXsB,EAIJ,GAAIF,EACFC,EAAaI,OAAOH,EAAO,GAC3B3D,KAAKoB,UAAUsC,QACV,GAAItB,EAAKX,eAAiBW,EAAKjC,YACpCH,KAAKU,IAAI,kCAAmC0B,EAAKC,IACjDqB,EAAaI,OAAOH,EAAO,GAC3B3D,KAAKoB,UAAUsC,OACV,CACL,MAAMK,EAAU/D,KAAKwB,iBAAiBY,EAAKX,eAC3CiC,EAAaC,GAAOlC,cAAgBW,EAAKX,cACzCiC,EAAaC,GAAOpB,YAAczG,KAAKC,MAAQgI,EAC/C/D,KAAKoB,UAAUsC,GACf1D,KAAKU,IAAI,qBAAsBqD,EAAS,UAAW3B,EAAKC,GACzD,CACF,CAED,MAAM2B,EAAiBhE,KAAKe,WAC5B,GAAIiD,EAAexG,OAAS,EAAG,CAC7B,MAAM6F,EAAWW,EAAeV,QAAO,CAACxB,EAAKM,IAC3CA,EAAKG,YAAcT,EAAIS,YAAcH,EAAON,IAExCD,EAAQ5F,KAAKsH,IAAI,EAAGF,EAASd,YAAczG,KAAKC,OACtDiE,KAAKwD,mBAAmB3B,EACzB,CACF,CAAS,QACR7B,KAAKC,YAAa,CACnB,CA7DA,MAFCD,KAAKU,IAAI,+BAgEZ,CAEO,kBAAA8C,CAAmB3B,GACrB7B,KAAKE,OACP+D,aAAajE,KAAKE,OAEpBF,KAAKE,MAAQgE,YAAW,IAAMlE,KAAKiD,gBAAgBpB,EACpD,CAEO,eAAAtB,GACNP,KAAKwD,mBAAmB,EACzB,CAED,cAAAW,GACE,OAAOnE,KAAKe,WAAWvD,MACxB,CAED,KAAA4G,GACEpE,KAAKoB,UAAU,IACXpB,KAAKE,QACP+D,aAAajE,KAAKE,OAClBF,KAAKE,MAAQ,KAEhB,QCtNUmE,EAIX,WAAAvE,CAAYC,GACVC,KAAKD,OAAS,CACZuE,OAAQvE,EAAOuE,QAAU7I,EACzB8I,eAAgBxE,EAAOwE,eACvBC,YAAazE,EAAOyE,YACpBlE,MAAOP,EAAOO,QAAS,EACvBmE,WAAY1E,EAAO0E,YAGrBzE,KAAK0E,WAAa,IAAI7E,EAAW,CAC/BxD,KAAM0D,EAAOyE,YACbrE,YAAaJ,EAAO0E,YAAc,GAClCnE,MAAOP,EAAOO,QAAS,GAE1B,CAEO,GAAAI,IAAOC,GACTX,KAAKD,OAAOO,OACdM,QAAQF,IAAI,cAAeC,EAE9B,CAEO,WAAAgE,CAAY1C,GAClB,MAAO,GAAGjC,KAAKD,OAAOuE,mBAAmBrC,GAC1C,CAEO,YAAA2C,GACN,GAAsB,oBAAX/H,OACT,MAAO,CAAEgI,UAAW,GAAIC,UAAW,GAAIC,YAAa,GAAIC,QAAS,GAAIC,WAAY,IAGnF,IACE,MAAMC,EAAS,IAAInH,gBAAgBlB,OAAOC,SAASkB,QACnD,MAAO,CACL6G,UAAWK,EAAOjH,IAAI,eAAiB,GACvC6G,UAAWI,EAAOjH,IAAI,eAAiB,GACvC8G,YAAaG,EAAOjH,IAAI,iBAAmB,GAC3C+G,QAASE,EAAOjH,IAAI,aAAe,GACnCgH,WAAYC,EAAOjH,IAAI,gBAAkB,GAE5C,CAAC,MACA,MAAO,CAAE4G,UAAW,GAAIC,UAAW,GAAIC,YAAa,GAAIC,QAAS,GAAIC,WAAY,GAClF,CACF,CAEO,OAAAE,GACN,MAAMC,EAA8B,oBAAXvI,OACnBwI,EAAYrF,KAAK4E,eAEvB,MAAO,CACLnF,IAAK2F,EAAYvI,OAAOC,SAAS8C,KAAO,GACxCF,SAAU0F,EAAY5I,SAASkD,SAAW,GAC1CT,UAAWmG,EAAYpG,UAAUC,UAAY,GAC7CC,SAAUkG,EAAYpG,UAAUE,SAAW,GAC3CC,SAAUiG,GAAYhG,MAAMC,oBAAoBC,qBAAqBC,UAAiB,GACtFd,UAAW3C,KAAKC,MAChBuJ,WAAY9J,EACZqJ,UAAWQ,EAAUR,UACrBC,UAAWO,EAAUP,UACrBC,YAAaM,EAAUN,YACvBC,QAASK,EAAUL,QACnBC,WAAYI,EAAUJ,WACtBM,YAAaH,EAAYvI,OAAO2I,WAAa,EAC7CC,aAAcL,EAAYvI,OAAO6I,YAAc,EAC/CC,YAAaP,GAAYvI,OAAO+I,QAAQC,OAAa,EACrDC,aAAcV,GAAYvI,OAAO+I,QAAQG,QAAc,EAE1D,CAEO,aAAAC,CAAc/D,EAAeC,EAAkBW,GACrD7C,KAAKU,IAAI,sBAAuBuB,GAChCjC,KAAK0E,WAAW1C,KAAKC,EAAOC,EAAUW,EACvC,CAED,UAAMoD,CACJhE,EACAhB,GAEA,MAAMkB,EAAqD,CACzDF,QACAhB,OACAiF,KAAMlG,KAAKmF,UACXZ,eAAgBvE,KAAKD,OAAOwE,gBAG9BvE,KAAKU,IAAI,iBAAkBuB,EAAOE,GAElC,MAAMD,EAAWlC,KAAK2E,YAAY1C,GAC5BY,EAAOnE,KAAKC,UAAUwD,GAE5B,GAAyB,oBAAdnD,WAA6BA,UAAUmH,WAAY,CAC5D,MAAMC,EAAO,IAAIC,KAAK,CAACxD,GAAO,CAAEyD,KAAM,qBAEtC,IAEE,GADgBtH,UAAUmH,WAAWjE,EAAUkE,GAG7C,OADApG,KAAKU,IAAI,uBACF,EAETV,KAAKU,IAAI,gEACV,CAAC,MAAOS,GACPnB,KAAKU,IAAI,iDAAkDS,EAC5D,CACF,CAED,IACE,MAAMsB,QAAiBC,MAAMR,EAAU,CACrCS,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,OACAC,WAAW,IAGb,OAAIL,EAASM,IACX/C,KAAKU,IAAI,iBAAkB+B,EAASO,SAC7B,GAGLP,EAASO,QAAU,KAA2B,MAApBP,EAASO,QAAsC,MAApBP,EAASO,QAChEhD,KAAKU,IAAI,oCAAqC+B,EAASO,QACvDhD,KAAKgG,cAAc/D,EAAOC,EAAUW,IAC7B,IAGT7C,KAAKU,IAAI,8BAA+B+B,EAASO,SAC1C,EACR,CAAC,MAAO7B,GAGP,OAFAnB,KAAKU,IAAI,mCAAoCS,GAC7CnB,KAAKgG,cAAc/D,EAAOC,EAAUW,IAC7B,CACR,CACF,CAED,UAAA0D,CAAWtF,GACT,OAAOjB,KAAKiG,KAAK,QAAShF,EAC3B,CAED,WAAAuF,CAAYvF,GAOV,OAAOjB,KAAKiG,KAAK,SAAUhF,EAC5B,CAED,SAAAwF,CAAUxF,GASR,OAAOjB,KAAKiG,KAAK,OAAQhF,EAC1B,CAED,aAAAyF,CAAczF,GACZ,OAAOjB,KAAKiG,KAAK,WAAYhF,EAC9B,CAED,cAAAkD,GACE,OAAOnE,KAAK0E,WAAWP,gBACxB,CAED,UAAAwC,GACE3G,KAAK0E,WAAWN,OACjB,QC/LUwC,EAMX,WAAA9G,CAAYC,GAHJC,KAAW6G,aAAY,EACvB7G,KAAY8G,aAAwB,KAG1C9G,KAAKD,OAAS,CACZwE,eAAgBxE,EAAOwE,eACvBC,YAAazE,EAAOyE,aAAe,GACnCF,OAAQvE,EAAOuE,QAAU7I,EACzBsL,cAAehH,EAAOgH,eJzBE,MI0BxB3I,WAAY2B,EAAO3B,YAAc1C,EACjCsL,iBAAkBjH,EAAOiH,kBJ5BG,GI6B5B1G,MAAOP,EAAOO,QAAS,EACvB2G,WAAgC,IAArBlH,EAAOkH,WAGpBjH,KAAKkH,QAAU,IAAI7C,EAAQ,CACzBC,OAAQtE,KAAKD,OAAOuE,OACpBC,eAAgBvE,KAAKD,OAAOwE,eAC5BC,YAAaxE,KAAKD,OAAOyE,YACzBlE,MAAON,KAAKD,OAAOO,QAGrBN,KAAKmH,mBAEDnH,KAAKD,OAAOkH,WACdjH,KAAKoH,oBAGPpH,KAAKqH,gBACN,CAEO,GAAA3G,IAAOC,GACTX,KAAKD,OAAOO,OACdM,QAAQF,IAAI,cAAeC,EAE9B,CAEO,cAAA0G,GACgB,oBAAXxK,SACTA,OAAOyK,OAAStH,KACZA,KAAK8G,eACPjK,OAAO0K,cAAgBvH,KAAK8G,aAAaxI,OAG9C,CAEO,gBAAA6I,GACNnH,KAAK8G,aAAelI,EAAgBoB,KAAKD,OAAO3B,YAC5C4B,KAAK8G,cACP9G,KAAKU,IAAI,oCAAqCV,KAAK8G,aAEtD,CAEO,iBAAAM,GACN,GAAsB,oBAAXvK,OAAwB,OAEnC,MAAMsB,EAAON,EAAYmC,KAAKD,OAAOgH,eACjC5I,GAAQA,IAAS6B,KAAK8G,cAAc3I,OACtC6B,KAAKU,IAAI,iCAAkCvC,GAC3C6B,KAAKuG,WAAWpI,GAEnB,CAED,QAAAqJ,GACE,OAAOxH,KAAK8G,cAAcxI,OAAS,IACpC,CAED,OAAAmJ,GACE,OAAOzH,KAAK8G,cAAc3I,MAAQ,IACnC,CAED,eAAAS,GACE,OAAOoB,KAAK8G,YACb,CAED,WAAAY,GACE,OAA6B,OAAtB1H,KAAK8G,YACb,CAED,aAAAa,GACE7I,EAAkBkB,KAAKD,OAAO3B,YAC9B4B,KAAK8G,aAAe,KACE,oBAAXjK,eACFA,OAAO0K,cAEhBvH,KAAKU,IAAI,wBACV,CAED,gBAAM6F,CAAWpI,GAaf,OAZA6B,KAAK8G,aAAe5I,EAClBC,EACA6B,KAAKD,OAAO3B,WACZ4B,KAAKD,OAAOiH,kBAGQ,oBAAXnK,SACTA,OAAO0K,cAAgBvH,KAAK8G,aAAaxI,OAG3C0B,KAAKU,IAAI,2BAA4BvC,EAAM,SAAU6B,KAAK8G,aAAaxI,OAEhE0B,KAAKkH,QAAQX,WAAW,CAC7BpI,KAAM6B,KAAK8G,aAAa3I,KACxBG,MAAO0B,KAAK8G,aAAaxI,OAE5B,CAED,YAAMsJ,CAAO3G,EAAwB,IACnC,OAAKjB,KAAK8G,cAKV9G,KAAKU,IAAI,mBAAoBO,GAEtBjB,KAAKkH,QAAQV,YAAY,CAC9BrI,KAAM6B,KAAK8G,aAAa3I,KACxBG,MAAO0B,KAAK8G,aAAaxI,MACzBuJ,MAAO5G,EAAK4G,MACZC,mBAAoB7G,EAAK6G,mBACzBC,SAAU9G,EAAK8G,aAXf/H,KAAKU,IAAI,+CACF,EAYV,CAED,UAAMsH,CAAK/G,GACT,OAAKjB,KAAK8G,cAKV9G,KAAKU,IAAI,iBAAkBO,GAEpBjB,KAAKkH,QAAQT,UAAU,CAC5BtI,KAAM6B,KAAK8G,aAAa3I,KACxBG,MAAO0B,KAAK8G,aAAaxI,MACzBwJ,mBAAoB7G,EAAK6G,mBACzBG,OAAQhH,EAAKgH,OACbC,SAAUjH,EAAKiH,SACfC,SAAUlH,EAAKkH,UAAY,SAC3BJ,SAAU9G,EAAK8G,aAbf/H,KAAKU,IAAI,6CACF,EAcV,CAED,cAAM0H,GACJ,QAAKpI,KAAK8G,cAIH9G,KAAKkH,QAAQR,cAAc,CAChCvI,KAAM6B,KAAK8G,aAAa3I,KACxBG,MAAO0B,KAAK8G,aAAaxI,OAE5B,CAED,0BAAA+J,GACE,OAAOrI,KAAK8G,cAAcxI,OAAS,IACpC,CAED,iBAAAgK,GACE,OAAKtI,KAAK8G,aAIH,CACLS,cAAevH,KAAK8G,aAAaxI,MACjCiK,YAAavI,KAAK8G,aAAa3I,MALxB,EAOV,CAED,oBAAMqK,CAAerK,GACnB,MAAMsK,EAAczI,KAAKD,OAAOyE,YAC5B,uBAAuBxE,KAAKD,OAAOyE,wBAAwBvH,mBAAmBkB,KAC9E,uBAAuBlB,mBAAmBkB,KACxCsB,EAAM,GAAGO,KAAKD,OAAOuE,SAASmE,IAEpC,IACE,MAAMhG,QAAiBC,MAAMjD,EAAK,CAChCmD,QAAS,CACP8F,cAAe,UAAU1I,KAAKD,OAAOwE,oBAIzC,IAAK9B,EAASM,GAAI,CAChB,GAAwB,MAApBN,EAASO,OAEX,OADAhD,KAAKU,IAAI,mCAAoCvC,GACtC,KAET,MAAM,IAAIwK,MAAM,uBAAuBlG,EAASO,SACjD,CAED,MAAM/B,QAAawB,EAASmG,OAE5B,OADA5I,KAAKU,IAAI,wBAAyBO,GAC3BA,CACR,CAAC,MAAOE,GAEP,OADAnB,KAAKU,IAAI,+BAAgCS,GAClC,IACR,CACF,CAED,cAAA0H,GACE,OAAO7I,KAAKD,OAAOyE,WACpB,EAGH,IAAIsE,EAAqC,KAEnC,SAAUC,EAAKhJ,GAEnB,OADA+I,EAAgB,IAAIlC,EAAa7G,GAC1B+I,CACT,UAEgBE,IACd,OAAOF,CACT"}
package/dist/blossu.js CHANGED
@@ -1,2 +1,2 @@
1
- !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).Blossu={})}(this,(function(e){"use strict";const t="0.1.0",r="https://api.blossu.com",n="blossu_ref";function i(){return`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}function o(e,t,r){if("undefined"==typeof document)return;const n=new Date;n.setTime(n.getTime()+24*r*60*60*1e3);const i="https:"===window.location.protocol?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}; expires=${n.toUTCString()}; path=/; SameSite=Lax${i}`}function s(e){if("undefined"==typeof document)return null;const t=`${e}=`,r=document.cookie.split(";");for(let e=0;e<r.length;e++){let n=r[e];for(;" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(t))return decodeURIComponent(n.substring(t.length,n.length))}return null}function a(e){"undefined"!=typeof document&&(document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}function u(e){if("undefined"==typeof window)return null;return new URLSearchParams(window.location.search).get(e)}function l(e,t=n,r=30){const s=i(),a={code:e.toLowerCase(),refId:s,timestamp:Date.now()};return o(t,JSON.stringify(a),r),a}function c(e=n){const t=s(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function f(e=n){a(e)}class g{constructor(e){this.processing=!1,this.timer=null,this.name=`blossu_queue_${e.name}`,this.maxAttempts=e.maxAttempts||10,this.baseDelay=e.baseDelay||1e3,this.maxDelay=e.maxDelay||3e4,this.debug=e.debug||!1,this.startProcessing(),"undefined"!=typeof window&&(window.addEventListener("online",(()=>this.startProcessing())),document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&this.startProcessing()})))}log(...e){this.debug&&console.log("[Blossu:Queue]",...e)}getStorageKey(){return this.name}generateId(){return`${Date.now()}_${Math.random().toString(36).substring(2,9)}`}getQueue(){if("undefined"==typeof localStorage)return[];try{const e=localStorage.getItem(this.getStorageKey());return e?JSON.parse(e):[]}catch(e){return this.log("Error reading queue:",e),[]}}saveQueue(e){if("undefined"!=typeof localStorage)try{0===e.length?localStorage.removeItem(this.getStorageKey()):localStorage.setItem(this.getStorageKey(),JSON.stringify(e))}catch(e){this.log("Error saving queue:",e)}}calculateBackoff(e){const t=this.baseDelay*Math.pow(2,e-1),r=.3*Math.random()*t,n=Math.min(t+r,this.maxDelay);return Math.round(n)}push(e,t,r){const n=this.getQueue(),i={id:this.generateId(),event:e,endpoint:t,payload:r,attemptNumber:0,maxAttempts:this.maxAttempts,createdAt:Date.now(),nextRetryAt:Date.now()};n.push(i),this.saveQueue(n),this.log("Added to queue:",i.id,e),this.startProcessing()}async processItem(e){this.log("Processing item:",e.id,"attempt:",e.attemptNumber+1);try{const t=await fetch(e.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:e.payload,keepalive:!0});return t.ok?(this.log("Successfully sent:",e.id),!0):t.status>=400&&t.status<500&&408!==t.status&&429!==t.status?(this.log("Client error, not retrying:",e.id,t.status),!0):(this.log("Server error, will retry:",e.id,t.status),!1)}catch(t){return this.log("Network error, will retry:",e.id,t),!1}}async processQueue(){if(!this.processing)if("undefined"==typeof navigator||navigator.onLine){this.processing=!0;try{const e=this.getQueue();if(0===e.length)return void(this.processing=!1);const t=Date.now(),r=e.filter((e=>e.nextRetryAt<=t));if(0===r.length){const r=e.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),n=Math.max(0,r.nextRetryAt-t);return this.scheduleProcessing(n),void(this.processing=!1)}for(const e of r){e.attemptNumber++;const t=await this.processItem(e),r=this.getQueue(),n=r.findIndex((t=>t.id===e.id));if(-1!==n)if(t)r.splice(n,1),this.saveQueue(r);else if(e.attemptNumber>=e.maxAttempts)this.log("Max attempts reached, dropping:",e.id),r.splice(n,1),this.saveQueue(r);else{const t=this.calculateBackoff(e.attemptNumber);r[n].attemptNumber=e.attemptNumber,r[n].nextRetryAt=Date.now()+t,this.saveQueue(r),this.log("Scheduled retry in",t,"ms for:",e.id)}}const n=this.getQueue();if(n.length>0){const e=n.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),t=Math.max(0,e.nextRetryAt-Date.now());this.scheduleProcessing(t)}}finally{this.processing=!1}}else this.log("Offline, skipping processing")}scheduleProcessing(e){this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>this.processQueue()),e)}startProcessing(){this.scheduleProcessing(0)}getQueueLength(){return this.getQueue().length}clear(){this.saveQueue([]),this.timer&&(clearTimeout(this.timer),this.timer=null)}}class h{constructor(e){this.config={apiUrl:e.apiUrl||r,publishableKey:e.publishableKey,programSlug:e.programSlug,debug:e.debug||!1,maxRetries:e.maxRetries},this.retryQueue=new g({name:e.programSlug,maxAttempts:e.maxRetries||10,debug:e.debug||!1})}log(...e){this.config.debug&&console.log("[Blossu]",...e)}getEndpoint(e){return`${this.config.apiUrl}/v1/track/${e}`}getMeta(){const e="undefined"!=typeof window;return{url:e?window.location.href:"",referrer:e?document.referrer:"",userAgent:e?navigator.userAgent:"",language:e?navigator.language:"",timezone:e&&Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||"",timestamp:Date.now(),sdkVersion:t}}queueForRetry(e,t,r){this.log("Queueing for retry:",e),this.retryQueue.push(e,t,r)}async send(e,t){const r={event:e,data:t,meta:this.getMeta(),publishableKey:this.config.publishableKey};this.log("Sending event:",e,r);const n=this.getEndpoint(e),i=JSON.stringify(r);if("undefined"!=typeof navigator&&navigator.sendBeacon){const e=new Blob([i],{type:"application/json"});try{if(navigator.sendBeacon(n,e))return this.log("sendBeacon success"),!0;this.log("sendBeacon returned false (queue full), falling back to fetch")}catch(e){this.log("sendBeacon threw error, falling back to fetch:",e)}}try{const t=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:i,keepalive:!0});return t.ok?(this.log("fetch success:",t.status),!0):t.status>=500||408===t.status||429===t.status?(this.log("Server error, queueing for retry:",t.status),this.queueForRetry(e,n,i),!1):(this.log("Client error, not retrying:",t.status),!1)}catch(t){return this.log("fetch error, queueing for retry:",t),this.queueForRetry(e,n,i),!1}}trackClick(e){return this.send("click",e)}trackSignup(e){return this.send("signup",e)}trackSale(e){return this.send("sale",e)}trackPageview(e){return this.send("pageview",e)}getQueueLength(){return this.retryQueue.getQueueLength()}clearQueue(){this.retryQueue.clear()}}class d{constructor(e){this.initialized=!1,this.referralInfo=null,this.config={publishableKey:e.publishableKey,programSlug:e.programSlug||"",apiUrl:e.apiUrl||r,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||n,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack},this.tracker=new h({apiUrl:this.config.apiUrl,publishableKey:this.config.publishableKey,programSlug:this.config.programSlug,debug:this.config.debug}),this.loadReferralInfo(),this.config.autoTrack&&this.autoTrackReferral(),this.exposeToWindow()}log(...e){this.config.debug&&console.log("[Blossu]",...e)}exposeToWindow(){"undefined"!=typeof window&&(window.blossu=this,this.referralInfo&&(window.blossu_ref_id=this.referralInfo.refId))}loadReferralInfo(){this.referralInfo=c(this.config.cookieName),this.referralInfo&&this.log("Loaded referral info from cookie:",this.referralInfo)}autoTrackReferral(){if("undefined"==typeof window)return;const e=u(this.config.trackingParam);e&&e!==this.referralInfo?.code&&(this.log("Detected referral code in URL:",e),this.trackClick(e))}getRefId(){return this.referralInfo?.refId||null}getCode(){return this.referralInfo?.code||null}getReferralInfo(){return this.referralInfo}hasReferral(){return null!==this.referralInfo}clearReferral(){f(this.config.cookieName),this.referralInfo=null,"undefined"!=typeof window&&delete window.blossu_ref_id,this.log("Cleared referral info")}async trackClick(e){return this.referralInfo=l(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.log("Tracking click for code:",e,"refId:",this.referralInfo.refId),this.tracker.trackClick({code:this.referralInfo.code,refId:this.referralInfo.refId})}async signup(e={}){return this.referralInfo?(this.log("Tracking signup:",e),this.tracker.trackSignup({code:this.referralInfo.code,refId:this.referralInfo.refId,email:e.email,customerExternalId:e.customerExternalId,metadata:e.metadata})):(this.log("No referral info, skipping signup tracking"),!1)}async sale(e){return this.referralInfo?(this.log("Tracking sale:",e),this.tracker.trackSale({code:this.referralInfo.code,refId:this.referralInfo.refId,customerExternalId:e.customerExternalId,amount:e.amount,currency:e.currency,provider:e.provider||"custom",metadata:e.metadata})):(this.log("No referral info, skipping sale tracking"),!1)}async pageview(){return!!this.referralInfo&&this.tracker.trackPageview({code:this.referralInfo.code,refId:this.referralInfo.refId})}getStripeClientReferenceId(){return this.referralInfo?.refId||null}getStripeMetadata(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId,blossu_code:this.referralInfo.code}:{}}async getPartnerInfo(e){const t=this.config.programSlug?`/v1/public/programs/${this.config.programSlug}/referral/${encodeURIComponent(e)}`:`/v1/public/referral/${encodeURIComponent(e)}`,r=`${this.config.apiUrl}${t}`;try{const t=await fetch(r,{headers:{Authorization:`Bearer ${this.config.publishableKey}`}});if(!t.ok){if(404===t.status)return this.log("Partner info not found for code:",e),null;throw new Error(`HTTP error! status: ${t.status}`)}const n=await t.json();return this.log("Fetched partner info:",n),n}catch(e){return this.log("Error fetching partner info:",e),null}}getProgramSlug(){return this.config.programSlug}}let p=null;e.BlossuClient=d,e.COOKIE_EXPIRY_DAYS=30,e.COOKIE_NAME=n,e.DEFAULT_API_URL=r,e.TRACKING_PARAM="ref",e.Tracker=h,e.VERSION=t,e.clearReferralInfo=f,e.default=d,e.deleteCookie=a,e.generateRefId=i,e.getBrowserInfo=function(){return"undefined"==typeof navigator?{userAgent:"",language:"",timezone:""}:{userAgent:navigator.userAgent||"",language:navigator.language||"",timezone:Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||""}},e.getClient=function(){return p},e.getCookie=s,e.getPageInfo=function(){return"undefined"==typeof window||"undefined"==typeof document?{url:"",referrer:"",title:""}:{url:window.location.href,referrer:document.referrer||"",title:document.title||""}},e.getReferralInfo=c,e.getUrlParam=u,e.init=function(e){return p=new d(e),p},e.saveReferralInfo=l,e.setCookie=o,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !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).Blossu={})}(this,(function(e){"use strict";const t="0.1.0",r="https://api.blossu.com",n="blossu_ref";function i(){return`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}function o(e,t,r){if("undefined"==typeof document)return;const n=new Date;n.setTime(n.getTime()+24*r*60*60*1e3);const i="https:"===window.location.protocol?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}; expires=${n.toUTCString()}; path=/; SameSite=Lax${i}`}function s(e){if("undefined"==typeof document)return null;const t=`${e}=`,r=document.cookie.split(";");for(let e=0;e<r.length;e++){let n=r[e];for(;" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(t))return decodeURIComponent(n.substring(t.length,n.length))}return null}function a(e){"undefined"!=typeof document&&(document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}function u(e){if("undefined"==typeof window)return null;return new URLSearchParams(window.location.search).get(e)}function l(e,t=n,r=30){const s=i(),a={code:e.toLowerCase(),refId:s,timestamp:Date.now()};return o(t,JSON.stringify(a),r),a}function c(e=n){const t=s(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function f(e=n){a(e)}class g{constructor(e){this.processing=!1,this.timer=null,this.name=`blossu_queue_${e.name||"default"}`,this.maxAttempts=e.maxAttempts||10,this.baseDelay=e.baseDelay||1e3,this.maxDelay=e.maxDelay||3e4,this.debug=e.debug||!1,this.startProcessing(),"undefined"!=typeof window&&(window.addEventListener("online",(()=>this.startProcessing())),document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&this.startProcessing()})))}log(...e){this.debug&&console.log("[Blossu:Queue]",...e)}getStorageKey(){return this.name}generateId(){return`${Date.now()}_${Math.random().toString(36).substring(2,9)}`}getQueue(){if("undefined"==typeof localStorage)return[];try{const e=localStorage.getItem(this.getStorageKey());return e?JSON.parse(e):[]}catch(e){return this.log("Error reading queue:",e),[]}}saveQueue(e){if("undefined"!=typeof localStorage)try{0===e.length?localStorage.removeItem(this.getStorageKey()):localStorage.setItem(this.getStorageKey(),JSON.stringify(e))}catch(e){this.log("Error saving queue:",e)}}calculateBackoff(e){const t=this.baseDelay*Math.pow(2,e-1),r=.3*Math.random()*t,n=Math.min(t+r,this.maxDelay);return Math.round(n)}push(e,t,r){const n=this.getQueue(),i={id:this.generateId(),event:e,endpoint:t,payload:r,attemptNumber:0,maxAttempts:this.maxAttempts,createdAt:Date.now(),nextRetryAt:Date.now()};n.push(i),this.saveQueue(n),this.log("Added to queue:",i.id,e),this.startProcessing()}async processItem(e){this.log("Processing item:",e.id,"attempt:",e.attemptNumber+1);try{const t=await fetch(e.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:e.payload,keepalive:!0});return t.ok?(this.log("Successfully sent:",e.id),!0):t.status>=400&&t.status<500&&408!==t.status&&429!==t.status?(this.log("Client error, not retrying:",e.id,t.status),!0):(this.log("Server error, will retry:",e.id,t.status),!1)}catch(t){return this.log("Network error, will retry:",e.id,t),!1}}async processQueue(){if(!this.processing)if("undefined"==typeof navigator||navigator.onLine){this.processing=!0;try{const e=this.getQueue();if(0===e.length)return void(this.processing=!1);const t=Date.now(),r=e.filter((e=>e.nextRetryAt<=t));if(0===r.length){const r=e.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),n=Math.max(0,r.nextRetryAt-t);return this.scheduleProcessing(n),void(this.processing=!1)}for(const e of r){e.attemptNumber++;const t=await this.processItem(e),r=this.getQueue(),n=r.findIndex((t=>t.id===e.id));if(-1!==n)if(t)r.splice(n,1),this.saveQueue(r);else if(e.attemptNumber>=e.maxAttempts)this.log("Max attempts reached, dropping:",e.id),r.splice(n,1),this.saveQueue(r);else{const t=this.calculateBackoff(e.attemptNumber);r[n].attemptNumber=e.attemptNumber,r[n].nextRetryAt=Date.now()+t,this.saveQueue(r),this.log("Scheduled retry in",t,"ms for:",e.id)}}const n=this.getQueue();if(n.length>0){const e=n.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),t=Math.max(0,e.nextRetryAt-Date.now());this.scheduleProcessing(t)}}finally{this.processing=!1}}else this.log("Offline, skipping processing")}scheduleProcessing(e){this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>this.processQueue()),e)}startProcessing(){this.scheduleProcessing(0)}getQueueLength(){return this.getQueue().length}clear(){this.saveQueue([]),this.timer&&(clearTimeout(this.timer),this.timer=null)}}class d{constructor(e){this.config={apiUrl:e.apiUrl||r,publishableKey:e.publishableKey,programSlug:e.programSlug,debug:e.debug||!1,maxRetries:e.maxRetries},this.retryQueue=new g({name:e.programSlug,maxAttempts:e.maxRetries||10,debug:e.debug||!1})}log(...e){this.config.debug&&console.log("[Blossu]",...e)}getEndpoint(e){return`${this.config.apiUrl}/v1/track/${e}`}getUtmParams(){if("undefined"==typeof window)return{utmSource:"",utmMedium:"",utmCampaign:"",utmTerm:"",utmContent:""};try{const e=new URLSearchParams(window.location.search);return{utmSource:e.get("utm_source")||"",utmMedium:e.get("utm_medium")||"",utmCampaign:e.get("utm_campaign")||"",utmTerm:e.get("utm_term")||"",utmContent:e.get("utm_content")||""}}catch{return{utmSource:"",utmMedium:"",utmCampaign:"",utmTerm:"",utmContent:""}}}getMeta(){const e="undefined"!=typeof window,r=this.getUtmParams();return{url:e?window.location.href:"",referrer:e?document.referrer:"",userAgent:e?navigator.userAgent:"",language:e?navigator.language:"",timezone:e&&Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||"",timestamp:Date.now(),sdkVersion:t,utmSource:r.utmSource,utmMedium:r.utmMedium,utmCampaign:r.utmCampaign,utmTerm:r.utmTerm,utmContent:r.utmContent,windowWidth:e?window.innerWidth:0,windowHeight:e?window.innerHeight:0,screenWidth:e&&window.screen?.width||0,screenHeight:e&&window.screen?.height||0}}queueForRetry(e,t,r){this.log("Queueing for retry:",e),this.retryQueue.push(e,t,r)}async send(e,t){const r={event:e,data:t,meta:this.getMeta(),publishableKey:this.config.publishableKey};this.log("Sending event:",e,r);const n=this.getEndpoint(e),i=JSON.stringify(r);if("undefined"!=typeof navigator&&navigator.sendBeacon){const e=new Blob([i],{type:"application/json"});try{if(navigator.sendBeacon(n,e))return this.log("sendBeacon success"),!0;this.log("sendBeacon returned false (queue full), falling back to fetch")}catch(e){this.log("sendBeacon threw error, falling back to fetch:",e)}}try{const t=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:i,keepalive:!0});return t.ok?(this.log("fetch success:",t.status),!0):t.status>=500||408===t.status||429===t.status?(this.log("Server error, queueing for retry:",t.status),this.queueForRetry(e,n,i),!1):(this.log("Client error, not retrying:",t.status),!1)}catch(t){return this.log("fetch error, queueing for retry:",t),this.queueForRetry(e,n,i),!1}}trackClick(e){return this.send("click",e)}trackSignup(e){return this.send("signup",e)}trackSale(e){return this.send("sale",e)}trackPageview(e){return this.send("pageview",e)}getQueueLength(){return this.retryQueue.getQueueLength()}clearQueue(){this.retryQueue.clear()}}class h{constructor(e){this.initialized=!1,this.referralInfo=null,this.config={publishableKey:e.publishableKey,programSlug:e.programSlug||"",apiUrl:e.apiUrl||r,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||n,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack},this.tracker=new d({apiUrl:this.config.apiUrl,publishableKey:this.config.publishableKey,programSlug:this.config.programSlug,debug:this.config.debug}),this.loadReferralInfo(),this.config.autoTrack&&this.autoTrackReferral(),this.exposeToWindow()}log(...e){this.config.debug&&console.log("[Blossu]",...e)}exposeToWindow(){"undefined"!=typeof window&&(window.blossu=this,this.referralInfo&&(window.blossu_ref_id=this.referralInfo.refId))}loadReferralInfo(){this.referralInfo=c(this.config.cookieName),this.referralInfo&&this.log("Loaded referral info from cookie:",this.referralInfo)}autoTrackReferral(){if("undefined"==typeof window)return;const e=u(this.config.trackingParam);e&&e!==this.referralInfo?.code&&(this.log("Detected referral code in URL:",e),this.trackClick(e))}getRefId(){return this.referralInfo?.refId||null}getCode(){return this.referralInfo?.code||null}getReferralInfo(){return this.referralInfo}hasReferral(){return null!==this.referralInfo}clearReferral(){f(this.config.cookieName),this.referralInfo=null,"undefined"!=typeof window&&delete window.blossu_ref_id,this.log("Cleared referral info")}async trackClick(e){return this.referralInfo=l(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.log("Tracking click for code:",e,"refId:",this.referralInfo.refId),this.tracker.trackClick({code:this.referralInfo.code,refId:this.referralInfo.refId})}async signup(e={}){return this.referralInfo?(this.log("Tracking signup:",e),this.tracker.trackSignup({code:this.referralInfo.code,refId:this.referralInfo.refId,email:e.email,customerExternalId:e.customerExternalId,metadata:e.metadata})):(this.log("No referral info, skipping signup tracking"),!1)}async sale(e){return this.referralInfo?(this.log("Tracking sale:",e),this.tracker.trackSale({code:this.referralInfo.code,refId:this.referralInfo.refId,customerExternalId:e.customerExternalId,amount:e.amount,currency:e.currency,provider:e.provider||"custom",metadata:e.metadata})):(this.log("No referral info, skipping sale tracking"),!1)}async pageview(){return!!this.referralInfo&&this.tracker.trackPageview({code:this.referralInfo.code,refId:this.referralInfo.refId})}getStripeClientReferenceId(){return this.referralInfo?.refId||null}getStripeMetadata(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId,blossu_code:this.referralInfo.code}:{}}async getPartnerInfo(e){const t=this.config.programSlug?`/v1/public/programs/${this.config.programSlug}/referral/${encodeURIComponent(e)}`:`/v1/public/referral/${encodeURIComponent(e)}`,r=`${this.config.apiUrl}${t}`;try{const t=await fetch(r,{headers:{Authorization:`Bearer ${this.config.publishableKey}`}});if(!t.ok){if(404===t.status)return this.log("Partner info not found for code:",e),null;throw new Error(`HTTP error! status: ${t.status}`)}const n=await t.json();return this.log("Fetched partner info:",n),n}catch(e){return this.log("Error fetching partner info:",e),null}}getProgramSlug(){return this.config.programSlug}}let m=null;e.BlossuClient=h,e.COOKIE_EXPIRY_DAYS=30,e.COOKIE_NAME=n,e.DEFAULT_API_URL=r,e.TRACKING_PARAM="ref",e.Tracker=d,e.VERSION=t,e.clearReferralInfo=f,e.default=h,e.deleteCookie=a,e.generateRefId=i,e.getBrowserInfo=function(){return"undefined"==typeof navigator?{userAgent:"",language:"",timezone:""}:{userAgent:navigator.userAgent||"",language:navigator.language||"",timezone:Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||""}},e.getClient=function(){return m},e.getCookie=s,e.getPageInfo=function(){return"undefined"==typeof window||"undefined"==typeof document?{url:"",referrer:"",title:""}:{url:window.location.href,referrer:document.referrer||"",title:document.title||""}},e.getReferralInfo=c,e.getUrlParam=u,e.init=function(e){return m=new h(e),m},e.saveReferralInfo=l,e.setCookie=o,Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=blossu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blossu.js","sources":["../src/constants.ts","../src/utils.ts","../src/retry-queue.ts","../src/tracker.ts","../src/blossu.ts"],"sourcesContent":[null,null,null,null,null],"names":["VERSION","DEFAULT_API_URL","COOKIE_NAME","generateRefId","Date","now","toString","Math","random","substring","setCookie","name","value","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","getCookie","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","deleteCookie","getUrlParam","param","URLSearchParams","search","get","saveReferralInfo","code","cookieName","expiryDays","refId","info","toLowerCase","timestamp","JSON","stringify","getReferralInfo","parse","clearReferralInfo","RetryQueue","constructor","config","this","processing","timer","maxAttempts","baseDelay","maxDelay","debug","startProcessing","addEventListener","visibilityState","log","args","console","getStorageKey","generateId","getQueue","localStorage","data","getItem","error","saveQueue","queue","removeItem","setItem","calculateBackoff","attemptNumber","exponentialDelay","pow","jitter","delay","min","round","push","event","endpoint","payload","item","id","createdAt","nextRetryAt","processItem","response","fetch","method","headers","body","keepalive","ok","status","processQueue","navigator","onLine","readyItems","filter","nextItem","reduce","max","scheduleProcessing","success","currentQueue","index","findIndex","q","splice","backoff","remainingQueue","clearTimeout","setTimeout","getQueueLength","clear","Tracker","apiUrl","publishableKey","programSlug","maxRetries","retryQueue","getEndpoint","getMeta","isBrowser","url","href","referrer","userAgent","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","sdkVersion","queueForRetry","send","meta","sendBeacon","blob","Blob","type","trackClick","trackSignup","trackSale","trackPageview","clearQueue","BlossuClient","initialized","referralInfo","trackingParam","cookieExpiryDays","autoTrack","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","blossu_ref_id","getRefId","getCode","hasReferral","clearReferral","signup","email","customerExternalId","metadata","sale","amount","currency","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","programPath","Authorization","Error","json","getProgramSlug","defaultClient","title"],"mappings":"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"}
1
+ {"version":3,"file":"blossu.js","sources":["../src/constants.ts","../src/utils.ts","../src/retry-queue.ts","../src/tracker.ts","../src/blossu.ts"],"sourcesContent":[null,null,null,null,null],"names":["VERSION","DEFAULT_API_URL","COOKIE_NAME","generateRefId","Date","now","toString","Math","random","substring","setCookie","name","value","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","getCookie","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","deleteCookie","getUrlParam","param","URLSearchParams","search","get","saveReferralInfo","code","cookieName","expiryDays","refId","info","toLowerCase","timestamp","JSON","stringify","getReferralInfo","parse","clearReferralInfo","RetryQueue","constructor","config","this","processing","timer","maxAttempts","baseDelay","maxDelay","debug","startProcessing","addEventListener","visibilityState","log","args","console","getStorageKey","generateId","getQueue","localStorage","data","getItem","error","saveQueue","queue","removeItem","setItem","calculateBackoff","attemptNumber","exponentialDelay","pow","jitter","delay","min","round","push","event","endpoint","payload","item","id","createdAt","nextRetryAt","processItem","response","fetch","method","headers","body","keepalive","ok","status","processQueue","navigator","onLine","readyItems","filter","nextItem","reduce","max","scheduleProcessing","success","currentQueue","index","findIndex","q","splice","backoff","remainingQueue","clearTimeout","setTimeout","getQueueLength","clear","Tracker","apiUrl","publishableKey","programSlug","maxRetries","retryQueue","getEndpoint","getUtmParams","utmSource","utmMedium","utmCampaign","utmTerm","utmContent","params","getMeta","isBrowser","utmParams","url","href","referrer","userAgent","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","sdkVersion","windowWidth","innerWidth","windowHeight","innerHeight","screenWidth","screen","width","screenHeight","height","queueForRetry","send","meta","sendBeacon","blob","Blob","type","trackClick","trackSignup","trackSale","trackPageview","clearQueue","BlossuClient","initialized","referralInfo","trackingParam","cookieExpiryDays","autoTrack","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","blossu_ref_id","getRefId","getCode","hasReferral","clearReferral","signup","email","customerExternalId","metadata","sale","amount","currency","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","programPath","Authorization","Error","json","getProgramSlug","defaultClient","title"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- var Blossu=function(e){"use strict";const t="0.1.0",r="https://api.blossu.com",n="blossu_ref";function i(){return`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}function o(e,t,r){if("undefined"==typeof document)return;const n=new Date;n.setTime(n.getTime()+24*r*60*60*1e3);const i="https:"===window.location.protocol?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}; expires=${n.toUTCString()}; path=/; SameSite=Lax${i}`}function s(e){if("undefined"==typeof document)return null;const t=`${e}=`,r=document.cookie.split(";");for(let e=0;e<r.length;e++){let n=r[e];for(;" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(t))return decodeURIComponent(n.substring(t.length,n.length))}return null}function a(e){"undefined"!=typeof document&&(document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}function u(e){if("undefined"==typeof window)return null;return new URLSearchParams(window.location.search).get(e)}function l(e,t=n,r=30){const s=i(),a={code:e.toLowerCase(),refId:s,timestamp:Date.now()};return o(t,JSON.stringify(a),r),a}function c(e=n){const t=s(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function f(e=n){a(e)}class g{constructor(e){this.processing=!1,this.timer=null,this.name=`blossu_queue_${e.name}`,this.maxAttempts=e.maxAttempts||10,this.baseDelay=e.baseDelay||1e3,this.maxDelay=e.maxDelay||3e4,this.debug=e.debug||!1,this.startProcessing(),"undefined"!=typeof window&&(window.addEventListener("online",(()=>this.startProcessing())),document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&this.startProcessing()})))}log(...e){this.debug&&console.log("[Blossu:Queue]",...e)}getStorageKey(){return this.name}generateId(){return`${Date.now()}_${Math.random().toString(36).substring(2,9)}`}getQueue(){if("undefined"==typeof localStorage)return[];try{const e=localStorage.getItem(this.getStorageKey());return e?JSON.parse(e):[]}catch(e){return this.log("Error reading queue:",e),[]}}saveQueue(e){if("undefined"!=typeof localStorage)try{0===e.length?localStorage.removeItem(this.getStorageKey()):localStorage.setItem(this.getStorageKey(),JSON.stringify(e))}catch(e){this.log("Error saving queue:",e)}}calculateBackoff(e){const t=this.baseDelay*Math.pow(2,e-1),r=.3*Math.random()*t,n=Math.min(t+r,this.maxDelay);return Math.round(n)}push(e,t,r){const n=this.getQueue(),i={id:this.generateId(),event:e,endpoint:t,payload:r,attemptNumber:0,maxAttempts:this.maxAttempts,createdAt:Date.now(),nextRetryAt:Date.now()};n.push(i),this.saveQueue(n),this.log("Added to queue:",i.id,e),this.startProcessing()}async processItem(e){this.log("Processing item:",e.id,"attempt:",e.attemptNumber+1);try{const t=await fetch(e.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:e.payload,keepalive:!0});return t.ok?(this.log("Successfully sent:",e.id),!0):t.status>=400&&t.status<500&&408!==t.status&&429!==t.status?(this.log("Client error, not retrying:",e.id,t.status),!0):(this.log("Server error, will retry:",e.id,t.status),!1)}catch(t){return this.log("Network error, will retry:",e.id,t),!1}}async processQueue(){if(!this.processing)if("undefined"==typeof navigator||navigator.onLine){this.processing=!0;try{const e=this.getQueue();if(0===e.length)return void(this.processing=!1);const t=Date.now(),r=e.filter((e=>e.nextRetryAt<=t));if(0===r.length){const r=e.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),n=Math.max(0,r.nextRetryAt-t);return this.scheduleProcessing(n),void(this.processing=!1)}for(const e of r){e.attemptNumber++;const t=await this.processItem(e),r=this.getQueue(),n=r.findIndex((t=>t.id===e.id));if(-1!==n)if(t)r.splice(n,1),this.saveQueue(r);else if(e.attemptNumber>=e.maxAttempts)this.log("Max attempts reached, dropping:",e.id),r.splice(n,1),this.saveQueue(r);else{const t=this.calculateBackoff(e.attemptNumber);r[n].attemptNumber=e.attemptNumber,r[n].nextRetryAt=Date.now()+t,this.saveQueue(r),this.log("Scheduled retry in",t,"ms for:",e.id)}}const n=this.getQueue();if(n.length>0){const e=n.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),t=Math.max(0,e.nextRetryAt-Date.now());this.scheduleProcessing(t)}}finally{this.processing=!1}}else this.log("Offline, skipping processing")}scheduleProcessing(e){this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>this.processQueue()),e)}startProcessing(){this.scheduleProcessing(0)}getQueueLength(){return this.getQueue().length}clear(){this.saveQueue([]),this.timer&&(clearTimeout(this.timer),this.timer=null)}}class h{constructor(e){this.config={apiUrl:e.apiUrl||r,publishableKey:e.publishableKey,programSlug:e.programSlug,debug:e.debug||!1,maxRetries:e.maxRetries},this.retryQueue=new g({name:e.programSlug,maxAttempts:e.maxRetries||10,debug:e.debug||!1})}log(...e){this.config.debug&&console.log("[Blossu]",...e)}getEndpoint(e){return`${this.config.apiUrl}/v1/track/${e}`}getMeta(){const e="undefined"!=typeof window;return{url:e?window.location.href:"",referrer:e?document.referrer:"",userAgent:e?navigator.userAgent:"",language:e?navigator.language:"",timezone:e&&Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||"",timestamp:Date.now(),sdkVersion:t}}queueForRetry(e,t,r){this.log("Queueing for retry:",e),this.retryQueue.push(e,t,r)}async send(e,t){const r={event:e,data:t,meta:this.getMeta(),publishableKey:this.config.publishableKey};this.log("Sending event:",e,r);const n=this.getEndpoint(e),i=JSON.stringify(r);if("undefined"!=typeof navigator&&navigator.sendBeacon){const e=new Blob([i],{type:"application/json"});try{if(navigator.sendBeacon(n,e))return this.log("sendBeacon success"),!0;this.log("sendBeacon returned false (queue full), falling back to fetch")}catch(e){this.log("sendBeacon threw error, falling back to fetch:",e)}}try{const t=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:i,keepalive:!0});return t.ok?(this.log("fetch success:",t.status),!0):t.status>=500||408===t.status||429===t.status?(this.log("Server error, queueing for retry:",t.status),this.queueForRetry(e,n,i),!1):(this.log("Client error, not retrying:",t.status),!1)}catch(t){return this.log("fetch error, queueing for retry:",t),this.queueForRetry(e,n,i),!1}}trackClick(e){return this.send("click",e)}trackSignup(e){return this.send("signup",e)}trackSale(e){return this.send("sale",e)}trackPageview(e){return this.send("pageview",e)}getQueueLength(){return this.retryQueue.getQueueLength()}clearQueue(){this.retryQueue.clear()}}class d{constructor(e){this.initialized=!1,this.referralInfo=null,this.config={publishableKey:e.publishableKey,programSlug:e.programSlug||"",apiUrl:e.apiUrl||r,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||n,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack},this.tracker=new h({apiUrl:this.config.apiUrl,publishableKey:this.config.publishableKey,programSlug:this.config.programSlug,debug:this.config.debug}),this.loadReferralInfo(),this.config.autoTrack&&this.autoTrackReferral(),this.exposeToWindow()}log(...e){this.config.debug&&console.log("[Blossu]",...e)}exposeToWindow(){"undefined"!=typeof window&&(window.blossu=this,this.referralInfo&&(window.blossu_ref_id=this.referralInfo.refId))}loadReferralInfo(){this.referralInfo=c(this.config.cookieName),this.referralInfo&&this.log("Loaded referral info from cookie:",this.referralInfo)}autoTrackReferral(){if("undefined"==typeof window)return;const e=u(this.config.trackingParam);e&&e!==this.referralInfo?.code&&(this.log("Detected referral code in URL:",e),this.trackClick(e))}getRefId(){return this.referralInfo?.refId||null}getCode(){return this.referralInfo?.code||null}getReferralInfo(){return this.referralInfo}hasReferral(){return null!==this.referralInfo}clearReferral(){f(this.config.cookieName),this.referralInfo=null,"undefined"!=typeof window&&delete window.blossu_ref_id,this.log("Cleared referral info")}async trackClick(e){return this.referralInfo=l(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.log("Tracking click for code:",e,"refId:",this.referralInfo.refId),this.tracker.trackClick({code:this.referralInfo.code,refId:this.referralInfo.refId})}async signup(e={}){return this.referralInfo?(this.log("Tracking signup:",e),this.tracker.trackSignup({code:this.referralInfo.code,refId:this.referralInfo.refId,email:e.email,customerExternalId:e.customerExternalId,metadata:e.metadata})):(this.log("No referral info, skipping signup tracking"),!1)}async sale(e){return this.referralInfo?(this.log("Tracking sale:",e),this.tracker.trackSale({code:this.referralInfo.code,refId:this.referralInfo.refId,customerExternalId:e.customerExternalId,amount:e.amount,currency:e.currency,provider:e.provider||"custom",metadata:e.metadata})):(this.log("No referral info, skipping sale tracking"),!1)}async pageview(){return!!this.referralInfo&&this.tracker.trackPageview({code:this.referralInfo.code,refId:this.referralInfo.refId})}getStripeClientReferenceId(){return this.referralInfo?.refId||null}getStripeMetadata(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId,blossu_code:this.referralInfo.code}:{}}async getPartnerInfo(e){const t=this.config.programSlug?`/v1/public/programs/${this.config.programSlug}/referral/${encodeURIComponent(e)}`:`/v1/public/referral/${encodeURIComponent(e)}`,r=`${this.config.apiUrl}${t}`;try{const t=await fetch(r,{headers:{Authorization:`Bearer ${this.config.publishableKey}`}});if(!t.ok){if(404===t.status)return this.log("Partner info not found for code:",e),null;throw new Error(`HTTP error! status: ${t.status}`)}const n=await t.json();return this.log("Fetched partner info:",n),n}catch(e){return this.log("Error fetching partner info:",e),null}}getProgramSlug(){return this.config.programSlug}}let p=null;return e.BlossuClient=d,e.COOKIE_EXPIRY_DAYS=30,e.COOKIE_NAME=n,e.DEFAULT_API_URL=r,e.TRACKING_PARAM="ref",e.Tracker=h,e.VERSION=t,e.clearReferralInfo=f,e.default=d,e.deleteCookie=a,e.generateRefId=i,e.getBrowserInfo=function(){return"undefined"==typeof navigator?{userAgent:"",language:"",timezone:""}:{userAgent:navigator.userAgent||"",language:navigator.language||"",timezone:Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||""}},e.getClient=function(){return p},e.getCookie=s,e.getPageInfo=function(){return"undefined"==typeof window||"undefined"==typeof document?{url:"",referrer:"",title:""}:{url:window.location.href,referrer:document.referrer||"",title:document.title||""}},e.getReferralInfo=c,e.getUrlParam=u,e.init=function(e){return p=new d(e),p},e.saveReferralInfo=l,e.setCookie=o,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
1
+ var Blossu=function(e){"use strict";const t="0.1.0",r="https://api.blossu.com",n="blossu_ref";function i(){return`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}function o(e,t,r){if("undefined"==typeof document)return;const n=new Date;n.setTime(n.getTime()+24*r*60*60*1e3);const i="https:"===window.location.protocol?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}; expires=${n.toUTCString()}; path=/; SameSite=Lax${i}`}function s(e){if("undefined"==typeof document)return null;const t=`${e}=`,r=document.cookie.split(";");for(let e=0;e<r.length;e++){let n=r[e];for(;" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(t))return decodeURIComponent(n.substring(t.length,n.length))}return null}function a(e){"undefined"!=typeof document&&(document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}function u(e){if("undefined"==typeof window)return null;return new URLSearchParams(window.location.search).get(e)}function l(e,t=n,r=30){const s=i(),a={code:e.toLowerCase(),refId:s,timestamp:Date.now()};return o(t,JSON.stringify(a),r),a}function c(e=n){const t=s(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function f(e=n){a(e)}class g{constructor(e){this.processing=!1,this.timer=null,this.name=`blossu_queue_${e.name||"default"}`,this.maxAttempts=e.maxAttempts||10,this.baseDelay=e.baseDelay||1e3,this.maxDelay=e.maxDelay||3e4,this.debug=e.debug||!1,this.startProcessing(),"undefined"!=typeof window&&(window.addEventListener("online",(()=>this.startProcessing())),document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&this.startProcessing()})))}log(...e){this.debug&&console.log("[Blossu:Queue]",...e)}getStorageKey(){return this.name}generateId(){return`${Date.now()}_${Math.random().toString(36).substring(2,9)}`}getQueue(){if("undefined"==typeof localStorage)return[];try{const e=localStorage.getItem(this.getStorageKey());return e?JSON.parse(e):[]}catch(e){return this.log("Error reading queue:",e),[]}}saveQueue(e){if("undefined"!=typeof localStorage)try{0===e.length?localStorage.removeItem(this.getStorageKey()):localStorage.setItem(this.getStorageKey(),JSON.stringify(e))}catch(e){this.log("Error saving queue:",e)}}calculateBackoff(e){const t=this.baseDelay*Math.pow(2,e-1),r=.3*Math.random()*t,n=Math.min(t+r,this.maxDelay);return Math.round(n)}push(e,t,r){const n=this.getQueue(),i={id:this.generateId(),event:e,endpoint:t,payload:r,attemptNumber:0,maxAttempts:this.maxAttempts,createdAt:Date.now(),nextRetryAt:Date.now()};n.push(i),this.saveQueue(n),this.log("Added to queue:",i.id,e),this.startProcessing()}async processItem(e){this.log("Processing item:",e.id,"attempt:",e.attemptNumber+1);try{const t=await fetch(e.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:e.payload,keepalive:!0});return t.ok?(this.log("Successfully sent:",e.id),!0):t.status>=400&&t.status<500&&408!==t.status&&429!==t.status?(this.log("Client error, not retrying:",e.id,t.status),!0):(this.log("Server error, will retry:",e.id,t.status),!1)}catch(t){return this.log("Network error, will retry:",e.id,t),!1}}async processQueue(){if(!this.processing)if("undefined"==typeof navigator||navigator.onLine){this.processing=!0;try{const e=this.getQueue();if(0===e.length)return void(this.processing=!1);const t=Date.now(),r=e.filter((e=>e.nextRetryAt<=t));if(0===r.length){const r=e.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),n=Math.max(0,r.nextRetryAt-t);return this.scheduleProcessing(n),void(this.processing=!1)}for(const e of r){e.attemptNumber++;const t=await this.processItem(e),r=this.getQueue(),n=r.findIndex((t=>t.id===e.id));if(-1!==n)if(t)r.splice(n,1),this.saveQueue(r);else if(e.attemptNumber>=e.maxAttempts)this.log("Max attempts reached, dropping:",e.id),r.splice(n,1),this.saveQueue(r);else{const t=this.calculateBackoff(e.attemptNumber);r[n].attemptNumber=e.attemptNumber,r[n].nextRetryAt=Date.now()+t,this.saveQueue(r),this.log("Scheduled retry in",t,"ms for:",e.id)}}const n=this.getQueue();if(n.length>0){const e=n.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),t=Math.max(0,e.nextRetryAt-Date.now());this.scheduleProcessing(t)}}finally{this.processing=!1}}else this.log("Offline, skipping processing")}scheduleProcessing(e){this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>this.processQueue()),e)}startProcessing(){this.scheduleProcessing(0)}getQueueLength(){return this.getQueue().length}clear(){this.saveQueue([]),this.timer&&(clearTimeout(this.timer),this.timer=null)}}class d{constructor(e){this.config={apiUrl:e.apiUrl||r,publishableKey:e.publishableKey,programSlug:e.programSlug,debug:e.debug||!1,maxRetries:e.maxRetries},this.retryQueue=new g({name:e.programSlug,maxAttempts:e.maxRetries||10,debug:e.debug||!1})}log(...e){this.config.debug&&console.log("[Blossu]",...e)}getEndpoint(e){return`${this.config.apiUrl}/v1/track/${e}`}getUtmParams(){if("undefined"==typeof window)return{utmSource:"",utmMedium:"",utmCampaign:"",utmTerm:"",utmContent:""};try{const e=new URLSearchParams(window.location.search);return{utmSource:e.get("utm_source")||"",utmMedium:e.get("utm_medium")||"",utmCampaign:e.get("utm_campaign")||"",utmTerm:e.get("utm_term")||"",utmContent:e.get("utm_content")||""}}catch{return{utmSource:"",utmMedium:"",utmCampaign:"",utmTerm:"",utmContent:""}}}getMeta(){const e="undefined"!=typeof window,r=this.getUtmParams();return{url:e?window.location.href:"",referrer:e?document.referrer:"",userAgent:e?navigator.userAgent:"",language:e?navigator.language:"",timezone:e&&Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||"",timestamp:Date.now(),sdkVersion:t,utmSource:r.utmSource,utmMedium:r.utmMedium,utmCampaign:r.utmCampaign,utmTerm:r.utmTerm,utmContent:r.utmContent,windowWidth:e?window.innerWidth:0,windowHeight:e?window.innerHeight:0,screenWidth:e&&window.screen?.width||0,screenHeight:e&&window.screen?.height||0}}queueForRetry(e,t,r){this.log("Queueing for retry:",e),this.retryQueue.push(e,t,r)}async send(e,t){const r={event:e,data:t,meta:this.getMeta(),publishableKey:this.config.publishableKey};this.log("Sending event:",e,r);const n=this.getEndpoint(e),i=JSON.stringify(r);if("undefined"!=typeof navigator&&navigator.sendBeacon){const e=new Blob([i],{type:"application/json"});try{if(navigator.sendBeacon(n,e))return this.log("sendBeacon success"),!0;this.log("sendBeacon returned false (queue full), falling back to fetch")}catch(e){this.log("sendBeacon threw error, falling back to fetch:",e)}}try{const t=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:i,keepalive:!0});return t.ok?(this.log("fetch success:",t.status),!0):t.status>=500||408===t.status||429===t.status?(this.log("Server error, queueing for retry:",t.status),this.queueForRetry(e,n,i),!1):(this.log("Client error, not retrying:",t.status),!1)}catch(t){return this.log("fetch error, queueing for retry:",t),this.queueForRetry(e,n,i),!1}}trackClick(e){return this.send("click",e)}trackSignup(e){return this.send("signup",e)}trackSale(e){return this.send("sale",e)}trackPageview(e){return this.send("pageview",e)}getQueueLength(){return this.retryQueue.getQueueLength()}clearQueue(){this.retryQueue.clear()}}class h{constructor(e){this.initialized=!1,this.referralInfo=null,this.config={publishableKey:e.publishableKey,programSlug:e.programSlug||"",apiUrl:e.apiUrl||r,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||n,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack},this.tracker=new d({apiUrl:this.config.apiUrl,publishableKey:this.config.publishableKey,programSlug:this.config.programSlug,debug:this.config.debug}),this.loadReferralInfo(),this.config.autoTrack&&this.autoTrackReferral(),this.exposeToWindow()}log(...e){this.config.debug&&console.log("[Blossu]",...e)}exposeToWindow(){"undefined"!=typeof window&&(window.blossu=this,this.referralInfo&&(window.blossu_ref_id=this.referralInfo.refId))}loadReferralInfo(){this.referralInfo=c(this.config.cookieName),this.referralInfo&&this.log("Loaded referral info from cookie:",this.referralInfo)}autoTrackReferral(){if("undefined"==typeof window)return;const e=u(this.config.trackingParam);e&&e!==this.referralInfo?.code&&(this.log("Detected referral code in URL:",e),this.trackClick(e))}getRefId(){return this.referralInfo?.refId||null}getCode(){return this.referralInfo?.code||null}getReferralInfo(){return this.referralInfo}hasReferral(){return null!==this.referralInfo}clearReferral(){f(this.config.cookieName),this.referralInfo=null,"undefined"!=typeof window&&delete window.blossu_ref_id,this.log("Cleared referral info")}async trackClick(e){return this.referralInfo=l(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.log("Tracking click for code:",e,"refId:",this.referralInfo.refId),this.tracker.trackClick({code:this.referralInfo.code,refId:this.referralInfo.refId})}async signup(e={}){return this.referralInfo?(this.log("Tracking signup:",e),this.tracker.trackSignup({code:this.referralInfo.code,refId:this.referralInfo.refId,email:e.email,customerExternalId:e.customerExternalId,metadata:e.metadata})):(this.log("No referral info, skipping signup tracking"),!1)}async sale(e){return this.referralInfo?(this.log("Tracking sale:",e),this.tracker.trackSale({code:this.referralInfo.code,refId:this.referralInfo.refId,customerExternalId:e.customerExternalId,amount:e.amount,currency:e.currency,provider:e.provider||"custom",metadata:e.metadata})):(this.log("No referral info, skipping sale tracking"),!1)}async pageview(){return!!this.referralInfo&&this.tracker.trackPageview({code:this.referralInfo.code,refId:this.referralInfo.refId})}getStripeClientReferenceId(){return this.referralInfo?.refId||null}getStripeMetadata(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId,blossu_code:this.referralInfo.code}:{}}async getPartnerInfo(e){const t=this.config.programSlug?`/v1/public/programs/${this.config.programSlug}/referral/${encodeURIComponent(e)}`:`/v1/public/referral/${encodeURIComponent(e)}`,r=`${this.config.apiUrl}${t}`;try{const t=await fetch(r,{headers:{Authorization:`Bearer ${this.config.publishableKey}`}});if(!t.ok){if(404===t.status)return this.log("Partner info not found for code:",e),null;throw new Error(`HTTP error! status: ${t.status}`)}const n=await t.json();return this.log("Fetched partner info:",n),n}catch(e){return this.log("Error fetching partner info:",e),null}}getProgramSlug(){return this.config.programSlug}}let m=null;return e.BlossuClient=h,e.COOKIE_EXPIRY_DAYS=30,e.COOKIE_NAME=n,e.DEFAULT_API_URL=r,e.TRACKING_PARAM="ref",e.Tracker=d,e.VERSION=t,e.clearReferralInfo=f,e.default=h,e.deleteCookie=a,e.generateRefId=i,e.getBrowserInfo=function(){return"undefined"==typeof navigator?{userAgent:"",language:"",timezone:""}:{userAgent:navigator.userAgent||"",language:navigator.language||"",timezone:Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||""}},e.getClient=function(){return m},e.getCookie=s,e.getPageInfo=function(){return"undefined"==typeof window||"undefined"==typeof document?{url:"",referrer:"",title:""}:{url:window.location.href,referrer:document.referrer||"",title:document.title||""}},e.getReferralInfo=c,e.getUrlParam=u,e.init=function(e){return m=new h(e),m},e.saveReferralInfo=l,e.setCookie=o,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
2
2
  //# sourceMappingURL=blossu.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blossu.min.js","sources":["../src/constants.ts","../src/utils.ts","../src/retry-queue.ts","../src/tracker.ts","../src/blossu.ts"],"sourcesContent":[null,null,null,null,null],"names":["VERSION","DEFAULT_API_URL","COOKIE_NAME","generateRefId","Date","now","toString","Math","random","substring","setCookie","name","value","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","getCookie","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","deleteCookie","getUrlParam","param","URLSearchParams","search","get","saveReferralInfo","code","cookieName","expiryDays","refId","info","toLowerCase","timestamp","JSON","stringify","getReferralInfo","parse","clearReferralInfo","RetryQueue","constructor","config","this","processing","timer","maxAttempts","baseDelay","maxDelay","debug","startProcessing","addEventListener","visibilityState","log","args","console","getStorageKey","generateId","getQueue","localStorage","data","getItem","error","saveQueue","queue","removeItem","setItem","calculateBackoff","attemptNumber","exponentialDelay","pow","jitter","delay","min","round","push","event","endpoint","payload","item","id","createdAt","nextRetryAt","processItem","response","fetch","method","headers","body","keepalive","ok","status","processQueue","navigator","onLine","readyItems","filter","nextItem","reduce","max","scheduleProcessing","success","currentQueue","index","findIndex","q","splice","backoff","remainingQueue","clearTimeout","setTimeout","getQueueLength","clear","Tracker","apiUrl","publishableKey","programSlug","maxRetries","retryQueue","getEndpoint","getMeta","isBrowser","url","href","referrer","userAgent","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","sdkVersion","queueForRetry","send","meta","sendBeacon","blob","Blob","type","trackClick","trackSignup","trackSale","trackPageview","clearQueue","BlossuClient","initialized","referralInfo","trackingParam","cookieExpiryDays","autoTrack","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","blossu_ref_id","getRefId","getCode","hasReferral","clearReferral","signup","email","customerExternalId","metadata","sale","amount","currency","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","programPath","Authorization","Error","json","getProgramSlug","defaultClient","title"],"mappings":"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"}
1
+ {"version":3,"file":"blossu.min.js","sources":["../src/constants.ts","../src/utils.ts","../src/retry-queue.ts","../src/tracker.ts","../src/blossu.ts"],"sourcesContent":[null,null,null,null,null],"names":["VERSION","DEFAULT_API_URL","COOKIE_NAME","generateRefId","Date","now","toString","Math","random","substring","setCookie","name","value","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","getCookie","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","deleteCookie","getUrlParam","param","URLSearchParams","search","get","saveReferralInfo","code","cookieName","expiryDays","refId","info","toLowerCase","timestamp","JSON","stringify","getReferralInfo","parse","clearReferralInfo","RetryQueue","constructor","config","this","processing","timer","maxAttempts","baseDelay","maxDelay","debug","startProcessing","addEventListener","visibilityState","log","args","console","getStorageKey","generateId","getQueue","localStorage","data","getItem","error","saveQueue","queue","removeItem","setItem","calculateBackoff","attemptNumber","exponentialDelay","pow","jitter","delay","min","round","push","event","endpoint","payload","item","id","createdAt","nextRetryAt","processItem","response","fetch","method","headers","body","keepalive","ok","status","processQueue","navigator","onLine","readyItems","filter","nextItem","reduce","max","scheduleProcessing","success","currentQueue","index","findIndex","q","splice","backoff","remainingQueue","clearTimeout","setTimeout","getQueueLength","clear","Tracker","apiUrl","publishableKey","programSlug","maxRetries","retryQueue","getEndpoint","getUtmParams","utmSource","utmMedium","utmCampaign","utmTerm","utmContent","params","getMeta","isBrowser","utmParams","url","href","referrer","userAgent","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","sdkVersion","windowWidth","innerWidth","windowHeight","innerHeight","screenWidth","screen","width","screenHeight","height","queueForRetry","send","meta","sendBeacon","blob","Blob","type","trackClick","trackSignup","trackSale","trackPageview","clearQueue","BlossuClient","initialized","referralInfo","trackingParam","cookieExpiryDays","autoTrack","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","blossu_ref_id","getRefId","getCode","hasReferral","clearReferral","signup","email","customerExternalId","metadata","sale","amount","currency","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","programPath","Authorization","Error","json","getProgramSlug","defaultClient","title"],"mappings":"oCAAa,MAAAA,EAAU,QACVC,EAAkB,yBAClBC,EAAc,sBCCXC,IAGd,MAAO,OAFWC,KAAKC,MAAMC,SAAS,OACnBC,KAAKC,SAASF,SAAS,IAAIG,UAAU,EAAG,KAE7D,UAEgBC,EAAUC,EAAcC,EAAeC,GACrD,GAAwB,oBAAbC,SAA0B,OAErC,MAAMC,EAAU,IAAIX,KACpBW,EAAQC,QAAQD,EAAQE,UAAmB,GAAPJ,EAAY,GAAK,GAAK,KAE1D,MACMK,EAAsC,WAA7BC,OAAOC,SAASC,SAAwB,WAAa,GAEpEP,SAASQ,OAAS,GAAGX,KAAQY,mBAAmBX,eAAmBG,EAAQS,sCAA8CN,GAC3H,CAEM,SAAUO,EAAUd,GACxB,GAAwB,oBAAbG,SAA0B,OAAO,KAE5C,MAAMY,EAAS,GAAGf,KACZgB,EAAUb,SAASQ,OAAOM,MAAM,KAEtC,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAQG,OAAQD,IAAK,CACvC,IAAIP,EAASK,EAAQE,GACrB,KAA4B,MAArBP,EAAOS,OAAO,IACnBT,EAASA,EAAOb,UAAU,EAAGa,EAAOQ,QAEtC,GAA+B,IAA3BR,EAAOU,QAAQN,GACjB,OAAOO,mBAAmBX,EAAOb,UAAUiB,EAAOI,OAAQR,EAAOQ,QAEpE,CACD,OAAO,IACT,CAEM,SAAUI,EAAavB,GACH,oBAAbG,WACXA,SAASQ,OAAS,GAAGX,qDACvB,CAEM,SAAUwB,EAAYC,GAC1B,GAAsB,oBAAXjB,OAAwB,OAAO,KAG1C,OADkB,IAAIkB,gBAAgBlB,OAAOC,SAASkB,QACrCC,IAAIH,EACvB,CAEM,SAAUI,EACdC,EACAC,EAAqBxC,EACrByC,EDnDgC,ICqDhC,MAAMC,EAAQzC,IACR0C,EAAqB,CACzBJ,KAAMA,EAAKK,cACXF,QACAG,UAAW3C,KAAKC,OAKlB,OAFAK,EAAUgC,EAAYM,KAAKC,UAAUJ,GAAOF,GAErCE,CACT,CAEgB,SAAAK,EACdR,EAAqBxC,GAErB,MAAMoB,EAASG,EAAUiB,GACzB,IAAKpB,EAAQ,OAAO,KAEpB,IACE,OAAO0B,KAAKG,MAAM7B,EACnB,CAAC,MACA,OAAO,IACR,CACH,CAEgB,SAAA8B,EAAkBV,EAAqBxC,GACrDgC,EAAaQ,EACf,OC5DaW,EASX,WAAAC,CAAYC,GAHJC,KAAUC,YAAY,EACtBD,KAAKE,MAAyC,KAGpDF,KAAK7C,KAAO,gBAAgB4C,EAAO5C,MAAQ,YAC3C6C,KAAKG,YAAcJ,EAAOI,aAfD,GAgBzBH,KAAKI,UAAYL,EAAOK,WAfD,IAgBvBJ,KAAKK,SAAWN,EAAOM,UAfD,IAgBtBL,KAAKM,MAAQP,EAAOO,QAAS,EAE7BN,KAAKO,kBAEiB,oBAAX5C,SACTA,OAAO6C,iBAAiB,UAAU,IAAMR,KAAKO,oBAC7CjD,SAASkD,iBAAiB,oBAAoB,KACX,YAA7BlD,SAASmD,iBACXT,KAAKO,iBACN,IAGN,CAEO,GAAAG,IAAOC,GACTX,KAAKM,OACPM,QAAQF,IAAI,oBAAqBC,EAEpC,CAEO,aAAAE,GACN,OAAOb,KAAK7C,IACb,CAEO,UAAA2D,GACN,MAAO,GAAGlE,KAAKC,SAASE,KAAKC,SAASF,SAAS,IAAIG,UAAU,EAAG,IACjE,CAEO,QAAA8D,GACN,GAA4B,oBAAjBC,aACT,MAAO,GAGT,IACE,MAAMC,EAAOD,aAAaE,QAAQlB,KAAKa,iBACvC,OAAKI,EACEzB,KAAKG,MAAMsB,GADA,EAEnB,CAAC,MAAOE,GAEP,OADAnB,KAAKU,IAAI,uBAAwBS,GAC1B,EACR,CACF,CAEO,SAAAC,CAAUC,GAChB,GAA4B,oBAAjBL,aAIX,IACuB,IAAjBK,EAAM/C,OACR0C,aAAaM,WAAWtB,KAAKa,iBAE7BG,aAAaO,QAAQvB,KAAKa,gBAAiBrB,KAAKC,UAAU4B,GAE7D,CAAC,MAAOF,GACPnB,KAAKU,IAAI,sBAAuBS,EACjC,CACF,CAEO,gBAAAK,CAAiBC,GACvB,MAAMC,EAAmB1B,KAAKI,UAAYrD,KAAK4E,IAAI,EAAGF,EAAgB,GAChEG,EAAyB,GAAhB7E,KAAKC,SAAiB0E,EAC/BG,EAAQ9E,KAAK+E,IAAIJ,EAAmBE,EAAQ5B,KAAKK,UACvD,OAAOtD,KAAKgF,MAAMF,EACnB,CAED,IAAAG,CAAKC,EAAeC,EAAkBC,GACpC,MAAMd,EAAQrB,KAAKe,WAEbqB,EAAkB,CACtBC,GAAIrC,KAAKc,aACTmB,QACAC,WACAC,UACAV,cAAe,EACftB,YAAaH,KAAKG,YAClBmC,UAAW1F,KAAKC,MAChB0F,YAAa3F,KAAKC,OAGpBwE,EAAMW,KAAKI,GACXpC,KAAKoB,UAAUC,GACfrB,KAAKU,IAAI,kBAAmB0B,EAAKC,GAAIJ,GAErCjC,KAAKO,iBACN,CAEO,iBAAMiC,CAAYJ,GACxBpC,KAAKU,IAAI,mBAAoB0B,EAAKC,GAAI,WAAYD,EAAKX,cAAgB,GAEvE,IACE,MAAMgB,QAAiBC,MAAMN,EAAKF,SAAU,CAC1CS,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMT,EAAKD,QACXW,WAAW,IAGb,OAAIL,EAASM,IACX/C,KAAKU,IAAI,qBAAsB0B,EAAKC,KAC7B,GAGLI,EAASO,QAAU,KAAOP,EAASO,OAAS,KAA2B,MAApBP,EAASO,QAAsC,MAApBP,EAASO,QACzFhD,KAAKU,IAAI,8BAA+B0B,EAAKC,GAAII,EAASO,SACnD,IAGThD,KAAKU,IAAI,4BAA6B0B,EAAKC,GAAII,EAASO,SACjD,EACR,CAAC,MAAO7B,GAEP,OADAnB,KAAKU,IAAI,6BAA8B0B,EAAKC,GAAIlB,IACzC,CACR,CACF,CAEO,kBAAM8B,GACZ,IAAIjD,KAAKC,WAIT,GAAyB,oBAAdiD,WAA8BA,UAAUC,OAAnD,CAKAnD,KAAKC,YAAa,EAElB,IACE,MAAMoB,EAAQrB,KAAKe,WACnB,GAAqB,IAAjBM,EAAM/C,OAER,YADA0B,KAAKC,YAAa,GAIpB,MAAMpD,EAAMD,KAAKC,MACXuG,EAAa/B,EAAMgC,QAAQjB,GAASA,EAAKG,aAAe1F,IAE9D,GAA0B,IAAtBuG,EAAW9E,OAAc,CAC3B,MAAMgF,EAAWjC,EAAMkC,QAAO,CAACzB,EAAKM,IAClCA,EAAKG,YAAcT,EAAIS,YAAcH,EAAON,IAExCD,EAAQ9E,KAAKyG,IAAI,EAAGF,EAASf,YAAc1F,GAGjD,OAFAmD,KAAKyD,mBAAmB5B,QACxB7B,KAAKC,YAAa,EAEnB,CAED,IAAK,MAAMmC,KAAQgB,EAAY,CAC7BhB,EAAKX,gBACL,MAAMiC,QAAgB1D,KAAKwC,YAAYJ,GAEjCuB,EAAe3D,KAAKe,WACpB6C,EAAQD,EAAaE,WAAWC,GAAMA,EAAEzB,KAAOD,EAAKC,KAE1D,IAAe,IAAXuB,EAIJ,GAAIF,EACFC,EAAaI,OAAOH,EAAO,GAC3B5D,KAAKoB,UAAUuC,QACV,GAAIvB,EAAKX,eAAiBW,EAAKjC,YACpCH,KAAKU,IAAI,kCAAmC0B,EAAKC,IACjDsB,EAAaI,OAAOH,EAAO,GAC3B5D,KAAKoB,UAAUuC,OACV,CACL,MAAMK,EAAUhE,KAAKwB,iBAAiBY,EAAKX,eAC3CkC,EAAaC,GAAOnC,cAAgBW,EAAKX,cACzCkC,EAAaC,GAAOrB,YAAc3F,KAAKC,MAAQmH,EAC/ChE,KAAKoB,UAAUuC,GACf3D,KAAKU,IAAI,qBAAsBsD,EAAS,UAAW5B,EAAKC,GACzD,CACF,CAED,MAAM4B,EAAiBjE,KAAKe,WAC5B,GAAIkD,EAAe3F,OAAS,EAAG,CAC7B,MAAMgF,EAAWW,EAAeV,QAAO,CAACzB,EAAKM,IAC3CA,EAAKG,YAAcT,EAAIS,YAAcH,EAAON,IAExCD,EAAQ9E,KAAKyG,IAAI,EAAGF,EAASf,YAAc3F,KAAKC,OACtDmD,KAAKyD,mBAAmB5B,EACzB,CACF,CAAS,QACR7B,KAAKC,YAAa,CACnB,CA7DA,MAFCD,KAAKU,IAAI,+BAgEZ,CAEO,kBAAA+C,CAAmB5B,GACrB7B,KAAKE,OACPgE,aAAalE,KAAKE,OAEpBF,KAAKE,MAAQiE,YAAW,IAAMnE,KAAKiD,gBAAgBpB,EACpD,CAEO,eAAAtB,GACNP,KAAKyD,mBAAmB,EACzB,CAED,cAAAW,GACE,OAAOpE,KAAKe,WAAWzC,MACxB,CAED,KAAA+F,GACErE,KAAKoB,UAAU,IACXpB,KAAKE,QACPgE,aAAalE,KAAKE,OAClBF,KAAKE,MAAQ,KAEhB,QCtNUoE,EAIX,WAAAxE,CAAYC,GACVC,KAAKD,OAAS,CACZwE,OAAQxE,EAAOwE,QAAU9H,EACzB+H,eAAgBzE,EAAOyE,eACvBC,YAAa1E,EAAO0E,YACpBnE,MAAOP,EAAOO,QAAS,EACvBoE,WAAY3E,EAAO2E,YAGrB1E,KAAK2E,WAAa,IAAI9E,EAAW,CAC/B1C,KAAM4C,EAAO0E,YACbtE,YAAaJ,EAAO2E,YAAc,GAClCpE,MAAOP,EAAOO,QAAS,GAE1B,CAEO,GAAAI,IAAOC,GACTX,KAAKD,OAAOO,OACdM,QAAQF,IAAI,cAAeC,EAE9B,CAEO,WAAAiE,CAAY3C,GAClB,MAAO,GAAGjC,KAAKD,OAAOwE,mBAAmBtC,GAC1C,CAEO,YAAA4C,GACN,GAAsB,oBAAXlH,OACT,MAAO,CAAEmH,UAAW,GAAIC,UAAW,GAAIC,YAAa,GAAIC,QAAS,GAAIC,WAAY,IAGnF,IACE,MAAMC,EAAS,IAAItG,gBAAgBlB,OAAOC,SAASkB,QACnD,MAAO,CACLgG,UAAWK,EAAOpG,IAAI,eAAiB,GACvCgG,UAAWI,EAAOpG,IAAI,eAAiB,GACvCiG,YAAaG,EAAOpG,IAAI,iBAAmB,GAC3CkG,QAASE,EAAOpG,IAAI,aAAe,GACnCmG,WAAYC,EAAOpG,IAAI,gBAAkB,GAE5C,CAAC,MACA,MAAO,CAAE+F,UAAW,GAAIC,UAAW,GAAIC,YAAa,GAAIC,QAAS,GAAIC,WAAY,GAClF,CACF,CAEO,OAAAE,GACN,MAAMC,EAA8B,oBAAX1H,OACnB2H,EAAYtF,KAAK6E,eAEvB,MAAO,CACLU,IAAKF,EAAY1H,OAAOC,SAAS4H,KAAO,GACxCC,SAAUJ,EAAY/H,SAASmI,SAAW,GAC1CC,UAAWL,EAAYnC,UAAUwC,UAAY,GAC7CC,SAAUN,EAAYnC,UAAUyC,SAAW,GAC3CC,SAAUP,GAAYQ,MAAMC,oBAAoBC,qBAAqBC,UAAiB,GACtFzG,UAAW3C,KAAKC,MAChBoJ,WAAYzJ,EACZsI,UAAWQ,EAAUR,UACrBC,UAAWO,EAAUP,UACrBC,YAAaM,EAAUN,YACvBC,QAASK,EAAUL,QACnBC,WAAYI,EAAUJ,WACtBgB,YAAab,EAAY1H,OAAOwI,WAAa,EAC7CC,aAAcf,EAAY1H,OAAO0I,YAAc,EAC/CC,YAAajB,GAAY1H,OAAO4I,QAAQC,OAAa,EACrDC,aAAcpB,GAAY1H,OAAO4I,QAAQG,QAAc,EAE1D,CAEO,aAAAC,CAAc1E,EAAeC,EAAkBW,GACrD7C,KAAKU,IAAI,sBAAuBuB,GAChCjC,KAAK2E,WAAW3C,KAAKC,EAAOC,EAAUW,EACvC,CAED,UAAM+D,CACJ3E,EACAhB,GAEA,MAAMkB,EAAqD,CACzDF,QACAhB,OACA4F,KAAM7G,KAAKoF,UACXZ,eAAgBxE,KAAKD,OAAOyE,gBAG9BxE,KAAKU,IAAI,iBAAkBuB,EAAOE,GAElC,MAAMD,EAAWlC,KAAK4E,YAAY3C,GAC5BY,EAAOrD,KAAKC,UAAU0C,GAE5B,GAAyB,oBAAde,WAA6BA,UAAU4D,WAAY,CAC5D,MAAMC,EAAO,IAAIC,KAAK,CAACnE,GAAO,CAAEoE,KAAM,qBAEtC,IAEE,GADgB/D,UAAU4D,WAAW5E,EAAU6E,GAG7C,OADA/G,KAAKU,IAAI,uBACF,EAETV,KAAKU,IAAI,gEACV,CAAC,MAAOS,GACPnB,KAAKU,IAAI,iDAAkDS,EAC5D,CACF,CAED,IACE,MAAMsB,QAAiBC,MAAMR,EAAU,CACrCS,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,OACAC,WAAW,IAGb,OAAIL,EAASM,IACX/C,KAAKU,IAAI,iBAAkB+B,EAASO,SAC7B,GAGLP,EAASO,QAAU,KAA2B,MAApBP,EAASO,QAAsC,MAApBP,EAASO,QAChEhD,KAAKU,IAAI,oCAAqC+B,EAASO,QACvDhD,KAAK2G,cAAc1E,EAAOC,EAAUW,IAC7B,IAGT7C,KAAKU,IAAI,8BAA+B+B,EAASO,SAC1C,EACR,CAAC,MAAO7B,GAGP,OAFAnB,KAAKU,IAAI,mCAAoCS,GAC7CnB,KAAK2G,cAAc1E,EAAOC,EAAUW,IAC7B,CACR,CACF,CAED,UAAAqE,CAAWjG,GACT,OAAOjB,KAAK4G,KAAK,QAAS3F,EAC3B,CAED,WAAAkG,CAAYlG,GAOV,OAAOjB,KAAK4G,KAAK,SAAU3F,EAC5B,CAED,SAAAmG,CAAUnG,GASR,OAAOjB,KAAK4G,KAAK,OAAQ3F,EAC1B,CAED,aAAAoG,CAAcpG,GACZ,OAAOjB,KAAK4G,KAAK,WAAY3F,EAC9B,CAED,cAAAmD,GACE,OAAOpE,KAAK2E,WAAWP,gBACxB,CAED,UAAAkD,GACEtH,KAAK2E,WAAWN,OACjB,QC/LUkD,EAMX,WAAAzH,CAAYC,GAHJC,KAAWwH,aAAY,EACvBxH,KAAYyH,aAAwB,KAG1CzH,KAAKD,OAAS,CACZyE,eAAgBzE,EAAOyE,eACvBC,YAAa1E,EAAO0E,aAAe,GACnCF,OAAQxE,EAAOwE,QAAU9H,EACzBiL,cAAe3H,EAAO2H,eJzBE,MI0BxBxI,WAAYa,EAAOb,YAAcxC,EACjCiL,iBAAkB5H,EAAO4H,kBJ5BG,GI6B5BrH,MAAOP,EAAOO,QAAS,EACvBsH,WAAgC,IAArB7H,EAAO6H,WAGpB5H,KAAK6H,QAAU,IAAIvD,EAAQ,CACzBC,OAAQvE,KAAKD,OAAOwE,OACpBC,eAAgBxE,KAAKD,OAAOyE,eAC5BC,YAAazE,KAAKD,OAAO0E,YACzBnE,MAAON,KAAKD,OAAOO,QAGrBN,KAAK8H,mBAED9H,KAAKD,OAAO6H,WACd5H,KAAK+H,oBAGP/H,KAAKgI,gBACN,CAEO,GAAAtH,IAAOC,GACTX,KAAKD,OAAOO,OACdM,QAAQF,IAAI,cAAeC,EAE9B,CAEO,cAAAqH,GACgB,oBAAXrK,SACTA,OAAOsK,OAASjI,KACZA,KAAKyH,eACP9J,OAAOuK,cAAgBlI,KAAKyH,aAAarI,OAG9C,CAEO,gBAAA0I,GACN9H,KAAKyH,aAAe/H,EAAgBM,KAAKD,OAAOb,YAC5Cc,KAAKyH,cACPzH,KAAKU,IAAI,oCAAqCV,KAAKyH,aAEtD,CAEO,iBAAAM,GACN,GAAsB,oBAAXpK,OAAwB,OAEnC,MAAMsB,EAAON,EAAYqB,KAAKD,OAAO2H,eACjCzI,GAAQA,IAASe,KAAKyH,cAAcxI,OACtCe,KAAKU,IAAI,iCAAkCzB,GAC3Ce,KAAKkH,WAAWjI,GAEnB,CAED,QAAAkJ,GACE,OAAOnI,KAAKyH,cAAcrI,OAAS,IACpC,CAED,OAAAgJ,GACE,OAAOpI,KAAKyH,cAAcxI,MAAQ,IACnC,CAED,eAAAS,GACE,OAAOM,KAAKyH,YACb,CAED,WAAAY,GACE,OAA6B,OAAtBrI,KAAKyH,YACb,CAED,aAAAa,GACE1I,EAAkBI,KAAKD,OAAOb,YAC9Bc,KAAKyH,aAAe,KACE,oBAAX9J,eACFA,OAAOuK,cAEhBlI,KAAKU,IAAI,wBACV,CAED,gBAAMwG,CAAWjI,GAaf,OAZAe,KAAKyH,aAAezI,EAClBC,EACAe,KAAKD,OAAOb,WACZc,KAAKD,OAAO4H,kBAGQ,oBAAXhK,SACTA,OAAOuK,cAAgBlI,KAAKyH,aAAarI,OAG3CY,KAAKU,IAAI,2BAA4BzB,EAAM,SAAUe,KAAKyH,aAAarI,OAEhEY,KAAK6H,QAAQX,WAAW,CAC7BjI,KAAMe,KAAKyH,aAAaxI,KACxBG,MAAOY,KAAKyH,aAAarI,OAE5B,CAED,YAAMmJ,CAAOtH,EAAwB,IACnC,OAAKjB,KAAKyH,cAKVzH,KAAKU,IAAI,mBAAoBO,GAEtBjB,KAAK6H,QAAQV,YAAY,CAC9BlI,KAAMe,KAAKyH,aAAaxI,KACxBG,MAAOY,KAAKyH,aAAarI,MACzBoJ,MAAOvH,EAAKuH,MACZC,mBAAoBxH,EAAKwH,mBACzBC,SAAUzH,EAAKyH,aAXf1I,KAAKU,IAAI,+CACF,EAYV,CAED,UAAMiI,CAAK1H,GACT,OAAKjB,KAAKyH,cAKVzH,KAAKU,IAAI,iBAAkBO,GAEpBjB,KAAK6H,QAAQT,UAAU,CAC5BnI,KAAMe,KAAKyH,aAAaxI,KACxBG,MAAOY,KAAKyH,aAAarI,MACzBqJ,mBAAoBxH,EAAKwH,mBACzBG,OAAQ3H,EAAK2H,OACbC,SAAU5H,EAAK4H,SACfC,SAAU7H,EAAK6H,UAAY,SAC3BJ,SAAUzH,EAAKyH,aAbf1I,KAAKU,IAAI,6CACF,EAcV,CAED,cAAMqI,GACJ,QAAK/I,KAAKyH,cAIHzH,KAAK6H,QAAQR,cAAc,CAChCpI,KAAMe,KAAKyH,aAAaxI,KACxBG,MAAOY,KAAKyH,aAAarI,OAE5B,CAED,0BAAA4J,GACE,OAAOhJ,KAAKyH,cAAcrI,OAAS,IACpC,CAED,iBAAA6J,GACE,OAAKjJ,KAAKyH,aAIH,CACLS,cAAelI,KAAKyH,aAAarI,MACjC8J,YAAalJ,KAAKyH,aAAaxI,MALxB,EAOV,CAED,oBAAMkK,CAAelK,GACnB,MAAMmK,EAAcpJ,KAAKD,OAAO0E,YAC5B,uBAAuBzE,KAAKD,OAAO0E,wBAAwB1G,mBAAmBkB,KAC9E,uBAAuBlB,mBAAmBkB,KACxCsG,EAAM,GAAGvF,KAAKD,OAAOwE,SAAS6E,IAEpC,IACE,MAAM3G,QAAiBC,MAAM6C,EAAK,CAChC3C,QAAS,CACPyG,cAAe,UAAUrJ,KAAKD,OAAOyE,oBAIzC,IAAK/B,EAASM,GAAI,CAChB,GAAwB,MAApBN,EAASO,OAEX,OADAhD,KAAKU,IAAI,mCAAoCzB,GACtC,KAET,MAAM,IAAIqK,MAAM,uBAAuB7G,EAASO,SACjD,CAED,MAAM/B,QAAawB,EAAS8G,OAE5B,OADAvJ,KAAKU,IAAI,wBAAyBO,GAC3BA,CACR,CAAC,MAAOE,GAEP,OADAnB,KAAKU,IAAI,+BAAgCS,GAClC,IACR,CACF,CAED,cAAAqI,GACE,OAAOxJ,KAAKD,OAAO0E,WACpB,EAGH,IAAIgF,EAAqC,kDJ9NP,wDACJ,+HCsF5B,MAAyB,oBAAdvG,UACF,CAAEwC,UAAW,GAAIC,SAAU,GAAIC,SAAU,IAG3C,CACLF,UAAWxC,UAAUwC,WAAa,GAClCC,SAAUzC,UAAUyC,UAAY,GAChCC,SAAUC,MAAMC,oBAAoBC,qBAAqBC,UAAY,GAEzE,yBGsIE,OAAOyD,CACT,yCHhIE,MAAsB,oBAAX9L,QAA8C,oBAAbL,SACnC,CAAEiI,IAAK,GAAIE,SAAU,GAAIiE,MAAO,IAGlC,CACLnE,IAAK5H,OAAOC,SAAS4H,KACrBC,SAAUnI,SAASmI,UAAY,GAC/BiE,MAAOpM,SAASoM,OAAS,GAE7B,6CGgHM,SAAe3J,GAEnB,OADA0J,EAAgB,IAAIlC,EAAaxH,GAC1B0J,CACT"}
@@ -1,2 +1,2 @@
1
- import e,{useState as t,useCallback as r,useEffect as o}from"react";const n="https://api.blossu.com";function a(e){const{workspaceId:a,email:i,signature:s,apiUrl:l=n}=e,[c,d]=t(null),[u,f]=t([]),[p,g]=t(null),[h,m]=t(!0),[y,b]=t(null),x={"Content-Type":"application/json","X-Blossu-Workspace":a,"X-Blossu-Email":i,"X-Blossu-Signature":s},k=r((async()=>{try{const e=await fetch(`${l}/v1/partner/me`,{headers:x});if(!e.ok)throw new Error("Failed to fetch partner");return(await e.json()).partner}catch(e){return console.error("Error fetching partner:",e),null}}),[l,a,i,s]),v=r((async()=>{try{const e=await fetch(`${l}/v1/partner/codes`,{headers:x});if(!e.ok)throw new Error("Failed to fetch codes");return(await e.json()).codes||[]}catch(e){return console.error("Error fetching codes:",e),[]}}),[l,a,i,s]),S=r((async()=>{try{const e=await fetch(`${l}/v1/partner/stats`,{headers:x});if(!e.ok)throw new Error("Failed to fetch stats");return(await e.json()).stats}catch(e){return console.error("Error fetching stats:",e),null}}),[l,a,i,s]),w=r((async()=>{m(!0),b(null);try{const[e,t,r]=await Promise.all([k(),v(),S()]);d(e),f(t),g(r)}catch(e){b(e instanceof Error?e.message:"Failed to load data")}finally{m(!1)}}),[k,v,S]);o((()=>{w()}),[w]);const E=r((e=>{const t=c?.id?"https://example.com":"",r=u.find((t=>t.code===e));return`${r?.destinationUrl||t}?ref=${e}`}),[c,u]),I=r((async e=>{const t=E(e);try{await navigator.clipboard.writeText(t)}catch(e){throw console.error("Failed to copy link:",e),e}}),[E]),C=r((async(e,t)=>{try{const r=await fetch(`${l}/v1/partner/codes`,{method:"POST",headers:x,body:JSON.stringify({code:e,displayName:t})});if(!r.ok)throw new Error("Failed to create code");const o=(await r.json()).code;return f((e=>[...e,o])),o}catch(e){return console.error("Error creating code:",e),null}}),[l,a,i,s]);return{partner:c,codes:u,stats:p,isLoading:h,error:y,referralLink:E,copyLink:I,createCode:C,refresh:w}}function i({clicks:t,conversions:r,revenue:o,currency:n="USD"}){const a=[{label:"Clicks",value:t.toLocaleString()},{label:"Conversions",value:r.toLocaleString()},{label:"Revenue",value:(i=o,new Intl.NumberFormat("en-US",{style:"currency",currency:n}).format(i/100))}];var i;return e.createElement("div",{style:s.container},a.map((t=>e.createElement("div",{key:t.label,style:s.card},e.createElement("div",{style:s.label},t.label),e.createElement("div",{style:s.value},t.value)))))}const s={container:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(150px, 1fr))",gap:"16px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},card:{padding:"20px",backgroundColor:"#ffffff",border:"1px solid #e5e7eb",borderRadius:"8px",textAlign:"center"},label:{fontSize:"12px",fontWeight:600,color:"#6b7280",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"},value:{fontSize:"24px",fontWeight:700,color:"#111827"}};function l({workspaceId:r,email:o,signature:n,apiUrl:s,theme:l="light",primaryColor:d="#3b82f6"}){const{partner:u,codes:f,stats:p,isLoading:g,error:h,copyLink:m,createCode:y}=a({workspaceId:r,email:o,signature:n,apiUrl:s}),[b,x]=t(!1),[k,v]=t(""),[S,w]=t(""),[E,I]=t(!1),C=function(e){return{container:{backgroundColor:e?"#1f2937":"#ffffff",color:e?"#f9fafb":"#111827"},card:{backgroundColor:e?"#374151":"#f9fafb",borderColor:e?"#4b5563":"#e5e7eb"},title:{color:e?"#f9fafb":"#111827"},text:{color:e?"#f9fafb":"#111827"},subtitle:{color:e?"#d1d5db":"#6b7280"},earning:{backgroundColor:e?"#374151":"#f0fdf4",borderColor:e?"#4b5563":"#bbf7d0"},input:{backgroundColor:e?"#1f2937":"#ffffff",borderColor:e?"#4b5563":"#d1d5db",color:e?"#f9fafb":"#111827"}}}("dark"===l);if(g)return e.createElement("div",{style:{...c.container,...C.container}},e.createElement("div",{style:c.loading},"Loading..."));if(h)return e.createElement("div",{style:{...c.container,...C.container}},e.createElement("div",{style:c.error},"Error: ",h));if(!u)return e.createElement("div",{style:{...c.container,...C.container}},e.createElement("div",{style:c.error},"Partner not found"));const R=e=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(e/100);return e.createElement("div",{style:{...c.container,...C.container}},e.createElement("div",{style:c.header},e.createElement("div",{style:c.headerIcon},"🎁"),e.createElement("h2",{style:{...c.title,...C.title}},"Refer to earn rewards"),e.createElement("p",{style:{...c.subtitle,...C.subtitle}},"Share your referral link and earn commissions from every sale")),e.createElement("div",{style:{...c.earning,...C.earning}},e.createElement("div",{style:c.earningLabel},"Total Earned"),e.createElement("div",{style:c.earningValue},R(u.totalEarned)),u.pendingBalance>0&&e.createElement("div",{style:c.earningPending},R(u.pendingBalance)," pending")),e.createElement("div",{style:c.section},e.createElement("h3",{style:{...c.sectionTitle,...C.text}},"Stats"),e.createElement(i,{clicks:p?.clicks||0,conversions:p?.conversions||0,revenue:u.totalRevenue})),e.createElement("div",{style:c.section},e.createElement("div",{style:c.sectionHeader},e.createElement("h3",{style:{...c.sectionTitle,...C.text}},"Your Referral Links"),e.createElement("button",{onClick:()=>x(!b),style:{...c.createButton,backgroundColor:d}},"+ Create Link")),b&&e.createElement("div",{style:{...c.createForm,...C.card}},e.createElement("input",{type:"text",placeholder:"Code (e.g., FRIEND10)",value:k,onChange:e=>v(e.target.value),style:{...c.input,...C.input}}),e.createElement("input",{type:"text",placeholder:"Display name (optional)",value:S,onChange:e=>w(e.target.value),style:{...c.input,...C.input}}),e.createElement("div",{style:c.createActions},e.createElement("button",{onClick:()=>x(!1),style:c.cancelButton},"Cancel"),e.createElement("button",{onClick:async()=>{if(k.trim()){I(!0);try{await y(k,S||void 0),v(""),w(""),x(!1)}catch(e){console.error("Failed to create code:",e)}finally{I(!1)}}},disabled:!k.trim()||E,style:{...c.primaryButton,backgroundColor:d}},E?"Creating...":"Create"))),e.createElement("div",{style:c.codesList},0===f.length?e.createElement("div",{style:{...c.emptyState,...C.subtitle}},"No referral codes yet. Create your first one!"):f.map((t=>e.createElement("div",{key:t.id,style:{...c.codeCard,...C.card}},e.createElement("div",{style:c.codeHeader},e.createElement("div",null,e.createElement("div",{style:{...c.codeName,...C.text}},t.code,t.isDefault&&e.createElement("span",{style:c.defaultBadge},"Default")),t.displayName&&e.createElement("div",{style:{...c.codeDisplayName,...C.subtitle}},t.displayName)),e.createElement("button",{onClick:()=>m(t.code),style:{...c.copyButton,backgroundColor:d}},"Copy")),e.createElement("div",{style:c.codeStats},e.createElement("div",{style:c.codeStat},e.createElement("div",{style:{...c.codeStatValue,...C.text}},t.clicks),e.createElement("div",{style:c.codeStatLabel},"Clicks")),e.createElement("div",{style:c.codeStat},e.createElement("div",{style:{...c.codeStatValue,...C.text}},t.conversions),e.createElement("div",{style:c.codeStatLabel},"Conversions")),e.createElement("div",{style:c.codeStat},e.createElement("div",{style:{...c.codeStatValue,...C.text}},R(t.revenue)),e.createElement("div",{style:c.codeStatLabel},"Revenue")))))))),e.createElement("div",{style:c.footer},e.createElement("a",{href:"https://blossu.com",target:"_blank",rel:"noopener noreferrer",style:{...c.footerLink,...C.subtitle}},"Powered by Blossu")))}const c={container:{maxWidth:"600px",margin:"0 auto",padding:"24px",borderRadius:"12px",border:"1px solid #e5e7eb",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},loading:{textAlign:"center",padding:"40px",color:"#6b7280"},error:{padding:"16px",backgroundColor:"#fee2e2",color:"#dc2626",borderRadius:"8px",textAlign:"center"},header:{textAlign:"center",marginBottom:"24px"},headerIcon:{fontSize:"48px",marginBottom:"12px"},title:{margin:"0 0 8px",fontSize:"24px",fontWeight:700},subtitle:{margin:0,fontSize:"14px"},earning:{padding:"24px",borderRadius:"12px",border:"1px solid",textAlign:"center",marginBottom:"24px"},earningLabel:{fontSize:"12px",fontWeight:600,color:"#6b7280",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"},earningValue:{fontSize:"32px",fontWeight:700,color:"#16a34a"},earningPending:{fontSize:"14px",color:"#6b7280",marginTop:"8px"},section:{marginBottom:"32px"},sectionHeader:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"16px"},sectionTitle:{margin:0,fontSize:"16px",fontWeight:600},createButton:{padding:"8px 12px",fontSize:"14px",fontWeight:500,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer",transition:"opacity 0.2s"},createForm:{padding:"16px",borderRadius:"8px",marginBottom:"16px",display:"flex",flexDirection:"column",gap:"12px"},input:{padding:"10px 12px",fontSize:"14px",border:"1px solid",borderRadius:"6px",outline:"none"},createActions:{display:"flex",gap:"8px",justifyContent:"flex-end"},cancelButton:{padding:"8px 16px",fontSize:"14px",fontWeight:500,color:"#6b7280",backgroundColor:"transparent",border:"1px solid #d1d5db",borderRadius:"6px",cursor:"pointer"},primaryButton:{padding:"8px 16px",fontSize:"14px",fontWeight:500,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer"},codesList:{display:"flex",flexDirection:"column",gap:"12px"},emptyState:{padding:"32px",textAlign:"center",fontSize:"14px"},codeCard:{padding:"16px",borderRadius:"8px",border:"1px solid"},codeHeader:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",marginBottom:"12px"},codeName:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",gap:"8px"},defaultBadge:{fontSize:"10px",fontWeight:600,color:"#3b82f6",backgroundColor:"#dbeafe",padding:"2px 6px",borderRadius:"4px"},codeDisplayName:{fontSize:"14px",marginTop:"4px"},copyButton:{padding:"8px 12px",fontSize:"12px",fontWeight:500,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer"},codeStats:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"12px",paddingTop:"12px",borderTop:"1px solid #e5e7eb"},codeStat:{textAlign:"center"},codeStatValue:{fontSize:"18px",fontWeight:600},codeStatLabel:{fontSize:"12px",color:"#6b7280",marginTop:"4px"},footer:{textAlign:"center",paddingTop:"16px",borderTop:"1px solid #e5e7eb"},footerLink:{fontSize:"12px",textDecoration:"none"}};function d({code:r,destinationUrl:o,label:n,showCopyButton:a=!0,onCopy:i}){const[s,l]=t(!1),c=`${o}?ref=${r}`;return e.createElement("div",{style:u.container},n&&e.createElement("label",{style:u.label},n),e.createElement("div",{style:u.inputGroup},e.createElement("input",{type:"text",value:c,readOnly:!0,style:u.input,onClick:e=>e.target.select()}),a&&e.createElement("button",{onClick:async()=>{try{await navigator.clipboard.writeText(c),l(!0),i?.(),setTimeout((()=>l(!1)),2e3)}catch(e){console.error("Failed to copy:",e)}},style:u.button},s?"✓ Copied!":"Copy")))}const u={container:{width:"100%",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},label:{display:"block",marginBottom:"8px",fontSize:"14px",fontWeight:500,color:"#374151"},inputGroup:{display:"flex",gap:"8px"},input:{flex:1,padding:"10px 12px",fontSize:"14px",border:"1px solid #d1d5db",borderRadius:"6px",backgroundColor:"#f9fafb",color:"#111827",outline:"none"},button:{padding:"10px 16px",fontSize:"14px",fontWeight:500,color:"#ffffff",backgroundColor:"#3b82f6",border:"none",borderRadius:"6px",cursor:"pointer",whiteSpace:"nowrap",transition:"background-color 0.2s"}},f="https://api.blossu.com",p="blossu_ref";function g(e,t=p,r=30){const o=`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`,n={code:e.toLowerCase(),refId:o,timestamp:Date.now()};return function(e,t,r){if("undefined"==typeof document)return;const o=new Date;o.setTime(o.getTime()+24*r*60*60*1e3);const n="https:"===window.location.protocol?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}; expires=${o.toUTCString()}; path=/; SameSite=Lax${n}`}(t,JSON.stringify(n),r),n}function h(e=p){const t=function(e){if("undefined"==typeof document)return null;const t=`${e}=`,r=document.cookie.split(";");for(let e=0;e<r.length;e++){let o=r[e];for(;" "===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return decodeURIComponent(o.substring(t.length,o.length))}return null}(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function m(e=p){var t;t=e,"undefined"!=typeof document&&(document.cookie=`${t}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}class y{constructor(e){this.processing=!1,this.timer=null,this.name=`blossu_queue_${e.name}`,this.maxAttempts=e.maxAttempts||10,this.baseDelay=e.baseDelay||1e3,this.maxDelay=e.maxDelay||3e4,this.debug=e.debug||!1,this.startProcessing(),"undefined"!=typeof window&&(window.addEventListener("online",(()=>this.startProcessing())),document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&this.startProcessing()})))}log(...e){this.debug&&console.log("[Blossu:Queue]",...e)}getStorageKey(){return this.name}generateId(){return`${Date.now()}_${Math.random().toString(36).substring(2,9)}`}getQueue(){if("undefined"==typeof localStorage)return[];try{const e=localStorage.getItem(this.getStorageKey());return e?JSON.parse(e):[]}catch(e){return this.log("Error reading queue:",e),[]}}saveQueue(e){if("undefined"!=typeof localStorage)try{0===e.length?localStorage.removeItem(this.getStorageKey()):localStorage.setItem(this.getStorageKey(),JSON.stringify(e))}catch(e){this.log("Error saving queue:",e)}}calculateBackoff(e){const t=this.baseDelay*Math.pow(2,e-1),r=.3*Math.random()*t,o=Math.min(t+r,this.maxDelay);return Math.round(o)}push(e,t,r){const o=this.getQueue(),n={id:this.generateId(),event:e,endpoint:t,payload:r,attemptNumber:0,maxAttempts:this.maxAttempts,createdAt:Date.now(),nextRetryAt:Date.now()};o.push(n),this.saveQueue(o),this.log("Added to queue:",n.id,e),this.startProcessing()}async processItem(e){this.log("Processing item:",e.id,"attempt:",e.attemptNumber+1);try{const t=await fetch(e.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:e.payload,keepalive:!0});return t.ok?(this.log("Successfully sent:",e.id),!0):t.status>=400&&t.status<500&&408!==t.status&&429!==t.status?(this.log("Client error, not retrying:",e.id,t.status),!0):(this.log("Server error, will retry:",e.id,t.status),!1)}catch(t){return this.log("Network error, will retry:",e.id,t),!1}}async processQueue(){if(!this.processing)if("undefined"==typeof navigator||navigator.onLine){this.processing=!0;try{const e=this.getQueue();if(0===e.length)return void(this.processing=!1);const t=Date.now(),r=e.filter((e=>e.nextRetryAt<=t));if(0===r.length){const r=e.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),o=Math.max(0,r.nextRetryAt-t);return this.scheduleProcessing(o),void(this.processing=!1)}for(const e of r){e.attemptNumber++;const t=await this.processItem(e),r=this.getQueue(),o=r.findIndex((t=>t.id===e.id));if(-1!==o)if(t)r.splice(o,1),this.saveQueue(r);else if(e.attemptNumber>=e.maxAttempts)this.log("Max attempts reached, dropping:",e.id),r.splice(o,1),this.saveQueue(r);else{const t=this.calculateBackoff(e.attemptNumber);r[o].attemptNumber=e.attemptNumber,r[o].nextRetryAt=Date.now()+t,this.saveQueue(r),this.log("Scheduled retry in",t,"ms for:",e.id)}}const o=this.getQueue();if(o.length>0){const e=o.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),t=Math.max(0,e.nextRetryAt-Date.now());this.scheduleProcessing(t)}}finally{this.processing=!1}}else this.log("Offline, skipping processing")}scheduleProcessing(e){this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>this.processQueue()),e)}startProcessing(){this.scheduleProcessing(0)}getQueueLength(){return this.getQueue().length}clear(){this.saveQueue([]),this.timer&&(clearTimeout(this.timer),this.timer=null)}}class b{constructor(e){this.config={apiUrl:e.apiUrl||f,publishableKey:e.publishableKey,programSlug:e.programSlug,debug:e.debug||!1,maxRetries:e.maxRetries},this.retryQueue=new y({name:e.programSlug,maxAttempts:e.maxRetries||10,debug:e.debug||!1})}log(...e){this.config.debug&&console.log("[Blossu]",...e)}getEndpoint(e){return`${this.config.apiUrl}/v1/track/${e}`}getMeta(){const e="undefined"!=typeof window;return{url:e?window.location.href:"",referrer:e?document.referrer:"",userAgent:e?navigator.userAgent:"",language:e?navigator.language:"",timezone:e&&Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||"",timestamp:Date.now(),sdkVersion:"0.1.0"}}queueForRetry(e,t,r){this.log("Queueing for retry:",e),this.retryQueue.push(e,t,r)}async send(e,t){const r={event:e,data:t,meta:this.getMeta(),publishableKey:this.config.publishableKey};this.log("Sending event:",e,r);const o=this.getEndpoint(e),n=JSON.stringify(r);if("undefined"!=typeof navigator&&navigator.sendBeacon){const e=new Blob([n],{type:"application/json"});try{if(navigator.sendBeacon(o,e))return this.log("sendBeacon success"),!0;this.log("sendBeacon returned false (queue full), falling back to fetch")}catch(e){this.log("sendBeacon threw error, falling back to fetch:",e)}}try{const t=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:n,keepalive:!0});return t.ok?(this.log("fetch success:",t.status),!0):t.status>=500||408===t.status||429===t.status?(this.log("Server error, queueing for retry:",t.status),this.queueForRetry(e,o,n),!1):(this.log("Client error, not retrying:",t.status),!1)}catch(t){return this.log("fetch error, queueing for retry:",t),this.queueForRetry(e,o,n),!1}}trackClick(e){return this.send("click",e)}trackSignup(e){return this.send("signup",e)}trackSale(e){return this.send("sale",e)}trackPageview(e){return this.send("pageview",e)}getQueueLength(){return this.retryQueue.getQueueLength()}clearQueue(){this.retryQueue.clear()}}class x{constructor(e){this.initialized=!1,this.referralInfo=null,this.config={publishableKey:e.publishableKey,programSlug:e.programSlug||"",apiUrl:e.apiUrl||f,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||p,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack},this.tracker=new b({apiUrl:this.config.apiUrl,publishableKey:this.config.publishableKey,programSlug:this.config.programSlug,debug:this.config.debug}),this.loadReferralInfo(),this.config.autoTrack&&this.autoTrackReferral(),this.exposeToWindow()}log(...e){this.config.debug&&console.log("[Blossu]",...e)}exposeToWindow(){"undefined"!=typeof window&&(window.blossu=this,this.referralInfo&&(window.blossu_ref_id=this.referralInfo.refId))}loadReferralInfo(){this.referralInfo=h(this.config.cookieName),this.referralInfo&&this.log("Loaded referral info from cookie:",this.referralInfo)}autoTrackReferral(){if("undefined"==typeof window)return;const e=(t=this.config.trackingParam,"undefined"==typeof window?null:new URLSearchParams(window.location.search).get(t));var t;e&&e!==this.referralInfo?.code&&(this.log("Detected referral code in URL:",e),this.trackClick(e))}getRefId(){return this.referralInfo?.refId||null}getCode(){return this.referralInfo?.code||null}getReferralInfo(){return this.referralInfo}hasReferral(){return null!==this.referralInfo}clearReferral(){m(this.config.cookieName),this.referralInfo=null,"undefined"!=typeof window&&delete window.blossu_ref_id,this.log("Cleared referral info")}async trackClick(e){return this.referralInfo=g(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.log("Tracking click for code:",e,"refId:",this.referralInfo.refId),this.tracker.trackClick({code:this.referralInfo.code,refId:this.referralInfo.refId})}async signup(e={}){return this.referralInfo?(this.log("Tracking signup:",e),this.tracker.trackSignup({code:this.referralInfo.code,refId:this.referralInfo.refId,email:e.email,customerExternalId:e.customerExternalId,metadata:e.metadata})):(this.log("No referral info, skipping signup tracking"),!1)}async sale(e){return this.referralInfo?(this.log("Tracking sale:",e),this.tracker.trackSale({code:this.referralInfo.code,refId:this.referralInfo.refId,customerExternalId:e.customerExternalId,amount:e.amount,currency:e.currency,provider:e.provider||"custom",metadata:e.metadata})):(this.log("No referral info, skipping sale tracking"),!1)}async pageview(){return!!this.referralInfo&&this.tracker.trackPageview({code:this.referralInfo.code,refId:this.referralInfo.refId})}getStripeClientReferenceId(){return this.referralInfo?.refId||null}getStripeMetadata(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId,blossu_code:this.referralInfo.code}:{}}async getPartnerInfo(e){const t=this.config.programSlug?`/v1/public/programs/${this.config.programSlug}/referral/${encodeURIComponent(e)}`:`/v1/public/referral/${encodeURIComponent(e)}`,r=`${this.config.apiUrl}${t}`;try{const t=await fetch(r,{headers:{Authorization:`Bearer ${this.config.publishableKey}`}});if(!t.ok){if(404===t.status)return this.log("Partner info not found for code:",e),null;throw new Error(`HTTP error! status: ${t.status}`)}const o=await t.json();return this.log("Fetched partner info:",o),o}catch(e){return this.log("Error fetching partner info:",e),null}}getProgramSlug(){return this.config.programSlug}}let k=null;function v({publicKey:e,programSlug:t,apiUrl:r,trackingParam:n,cookieExpiryDays:a,debug:i=!1,children:s}){return o((()=>{"undefined"!=typeof window&&(k=new x({publishableKey:e,programSlug:t,apiUrl:r,trackingParam:n,cookieExpiryDays:a,debug:i,autoTrack:!0}))}),[e,t,r,n,a,i]),s||null}const S=({size:t=24,color:r="currentColor",className:o})=>e.createElement("svg",{className:o,width:t,height:t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",style:{animation:"blossu-spin 1s linear infinite"}},e.createElement("style",null,"\n @keyframes blossu-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n "),e.createElement("circle",{cx:"12",cy:"12",r:"10",stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeDasharray:"31.4 31.4",opacity:"0.25"}),e.createElement("circle",{cx:"12",cy:"12",r:"10",stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeDasharray:"31.4 31.4",strokeDashoffset:"62.8",style:{animation:"blossu-spin 1s linear infinite"}}));export{v as Analytics,S as Loader,d as ReferralLink,i as ReferralStats,l as ReferralWidget,a as usePartner};
1
+ import e,{useState as t,useCallback as r,useEffect as n}from"react";const o="https://api.blossu.com";function i(e){const{workspaceId:i,email:a,signature:s,apiUrl:l=o}=e,[c,d]=t(null),[u,f]=t([]),[p,g]=t(null),[m,h]=t(!0),[y,b]=t(null),x={"Content-Type":"application/json","X-Blossu-Workspace":i,"X-Blossu-Email":a,"X-Blossu-Signature":s},k=r((async()=>{try{const e=await fetch(`${l}/v1/partner/me`,{headers:x});if(!e.ok)throw new Error("Failed to fetch partner");return(await e.json()).partner}catch(e){return console.error("Error fetching partner:",e),null}}),[l,i,a,s]),w=r((async()=>{try{const e=await fetch(`${l}/v1/partner/codes`,{headers:x});if(!e.ok)throw new Error("Failed to fetch codes");return(await e.json()).codes||[]}catch(e){return console.error("Error fetching codes:",e),[]}}),[l,i,a,s]),v=r((async()=>{try{const e=await fetch(`${l}/v1/partner/stats`,{headers:x});if(!e.ok)throw new Error("Failed to fetch stats");return(await e.json()).stats}catch(e){return console.error("Error fetching stats:",e),null}}),[l,i,a,s]),S=r((async()=>{h(!0),b(null);try{const[e,t,r]=await Promise.all([k(),w(),v()]);d(e),f(t),g(r)}catch(e){b(e instanceof Error?e.message:"Failed to load data")}finally{h(!1)}}),[k,w,v]);n((()=>{S()}),[S]);const E=r((e=>{const t=c?.id?"https://example.com":"",r=u.find((t=>t.code===e));return`${r?.destinationUrl||t}?ref=${e}`}),[c,u]),I=r((async e=>{const t=E(e);try{await navigator.clipboard.writeText(t)}catch(e){throw console.error("Failed to copy link:",e),e}}),[E]),C=r((async(e,t)=>{try{const r=await fetch(`${l}/v1/partner/codes`,{method:"POST",headers:x,body:JSON.stringify({code:e,displayName:t})});if(!r.ok)throw new Error("Failed to create code");const n=(await r.json()).code;return f((e=>[...e,n])),n}catch(e){return console.error("Error creating code:",e),null}}),[l,i,a,s]);return{partner:c,codes:u,stats:p,isLoading:m,error:y,referralLink:E,copyLink:I,createCode:C,refresh:S}}function a({clicks:t,conversions:r,revenue:n,currency:o="USD"}){const i=[{label:"Clicks",value:t.toLocaleString()},{label:"Conversions",value:r.toLocaleString()},{label:"Revenue",value:(a=n,new Intl.NumberFormat("en-US",{style:"currency",currency:o}).format(a/100))}];var a;return e.createElement("div",{style:s.container},i.map((t=>e.createElement("div",{key:t.label,style:s.card},e.createElement("div",{style:s.label},t.label),e.createElement("div",{style:s.value},t.value)))))}const s={container:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(150px, 1fr))",gap:"16px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},card:{padding:"20px",backgroundColor:"#ffffff",border:"1px solid #e5e7eb",borderRadius:"8px",textAlign:"center"},label:{fontSize:"12px",fontWeight:600,color:"#6b7280",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"},value:{fontSize:"24px",fontWeight:700,color:"#111827"}};function l({workspaceId:r,email:n,signature:o,apiUrl:s,theme:l="light",primaryColor:d="#3b82f6"}){const{partner:u,codes:f,stats:p,isLoading:g,error:m,copyLink:h,createCode:y}=i({workspaceId:r,email:n,signature:o,apiUrl:s}),[b,x]=t(!1),[k,w]=t(""),[v,S]=t(""),[E,I]=t(!1),C=function(e){return{container:{backgroundColor:e?"#1f2937":"#ffffff",color:e?"#f9fafb":"#111827"},card:{backgroundColor:e?"#374151":"#f9fafb",borderColor:e?"#4b5563":"#e5e7eb"},title:{color:e?"#f9fafb":"#111827"},text:{color:e?"#f9fafb":"#111827"},subtitle:{color:e?"#d1d5db":"#6b7280"},earning:{backgroundColor:e?"#374151":"#f0fdf4",borderColor:e?"#4b5563":"#bbf7d0"},input:{backgroundColor:e?"#1f2937":"#ffffff",borderColor:e?"#4b5563":"#d1d5db",color:e?"#f9fafb":"#111827"}}}("dark"===l);if(g)return e.createElement("div",{style:{...c.container,...C.container}},e.createElement("div",{style:c.loading},"Loading..."));if(m)return e.createElement("div",{style:{...c.container,...C.container}},e.createElement("div",{style:c.error},"Error: ",m));if(!u)return e.createElement("div",{style:{...c.container,...C.container}},e.createElement("div",{style:c.error},"Partner not found"));const R=e=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(e/100);return e.createElement("div",{style:{...c.container,...C.container}},e.createElement("div",{style:c.header},e.createElement("div",{style:c.headerIcon},"🎁"),e.createElement("h2",{style:{...c.title,...C.title}},"Refer to earn rewards"),e.createElement("p",{style:{...c.subtitle,...C.subtitle}},"Share your referral link and earn commissions from every sale")),e.createElement("div",{style:{...c.earning,...C.earning}},e.createElement("div",{style:c.earningLabel},"Total Earned"),e.createElement("div",{style:c.earningValue},R(u.totalEarned)),u.pendingBalance>0&&e.createElement("div",{style:c.earningPending},R(u.pendingBalance)," pending")),e.createElement("div",{style:c.section},e.createElement("h3",{style:{...c.sectionTitle,...C.text}},"Stats"),e.createElement(a,{clicks:p?.clicks||0,conversions:p?.conversions||0,revenue:u.totalRevenue})),e.createElement("div",{style:c.section},e.createElement("div",{style:c.sectionHeader},e.createElement("h3",{style:{...c.sectionTitle,...C.text}},"Your Referral Links"),e.createElement("button",{onClick:()=>x(!b),style:{...c.createButton,backgroundColor:d}},"+ Create Link")),b&&e.createElement("div",{style:{...c.createForm,...C.card}},e.createElement("input",{type:"text",placeholder:"Code (e.g., FRIEND10)",value:k,onChange:e=>w(e.target.value),style:{...c.input,...C.input}}),e.createElement("input",{type:"text",placeholder:"Display name (optional)",value:v,onChange:e=>S(e.target.value),style:{...c.input,...C.input}}),e.createElement("div",{style:c.createActions},e.createElement("button",{onClick:()=>x(!1),style:c.cancelButton},"Cancel"),e.createElement("button",{onClick:async()=>{if(k.trim()){I(!0);try{await y(k,v||void 0),w(""),S(""),x(!1)}catch(e){console.error("Failed to create code:",e)}finally{I(!1)}}},disabled:!k.trim()||E,style:{...c.primaryButton,backgroundColor:d}},E?"Creating...":"Create"))),e.createElement("div",{style:c.codesList},0===f.length?e.createElement("div",{style:{...c.emptyState,...C.subtitle}},"No referral codes yet. Create your first one!"):f.map((t=>e.createElement("div",{key:t.id,style:{...c.codeCard,...C.card}},e.createElement("div",{style:c.codeHeader},e.createElement("div",null,e.createElement("div",{style:{...c.codeName,...C.text}},t.code,t.isDefault&&e.createElement("span",{style:c.defaultBadge},"Default")),t.displayName&&e.createElement("div",{style:{...c.codeDisplayName,...C.subtitle}},t.displayName)),e.createElement("button",{onClick:()=>h(t.code),style:{...c.copyButton,backgroundColor:d}},"Copy")),e.createElement("div",{style:c.codeStats},e.createElement("div",{style:c.codeStat},e.createElement("div",{style:{...c.codeStatValue,...C.text}},t.clicks),e.createElement("div",{style:c.codeStatLabel},"Clicks")),e.createElement("div",{style:c.codeStat},e.createElement("div",{style:{...c.codeStatValue,...C.text}},t.conversions),e.createElement("div",{style:c.codeStatLabel},"Conversions")),e.createElement("div",{style:c.codeStat},e.createElement("div",{style:{...c.codeStatValue,...C.text}},R(t.revenue)),e.createElement("div",{style:c.codeStatLabel},"Revenue")))))))),e.createElement("div",{style:c.footer},e.createElement("a",{href:"https://blossu.com",target:"_blank",rel:"noopener noreferrer",style:{...c.footerLink,...C.subtitle}},"Powered by Blossu")))}const c={container:{maxWidth:"600px",margin:"0 auto",padding:"24px",borderRadius:"12px",border:"1px solid #e5e7eb",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},loading:{textAlign:"center",padding:"40px",color:"#6b7280"},error:{padding:"16px",backgroundColor:"#fee2e2",color:"#dc2626",borderRadius:"8px",textAlign:"center"},header:{textAlign:"center",marginBottom:"24px"},headerIcon:{fontSize:"48px",marginBottom:"12px"},title:{margin:"0 0 8px",fontSize:"24px",fontWeight:700},subtitle:{margin:0,fontSize:"14px"},earning:{padding:"24px",borderRadius:"12px",border:"1px solid",textAlign:"center",marginBottom:"24px"},earningLabel:{fontSize:"12px",fontWeight:600,color:"#6b7280",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"},earningValue:{fontSize:"32px",fontWeight:700,color:"#16a34a"},earningPending:{fontSize:"14px",color:"#6b7280",marginTop:"8px"},section:{marginBottom:"32px"},sectionHeader:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"16px"},sectionTitle:{margin:0,fontSize:"16px",fontWeight:600},createButton:{padding:"8px 12px",fontSize:"14px",fontWeight:500,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer",transition:"opacity 0.2s"},createForm:{padding:"16px",borderRadius:"8px",marginBottom:"16px",display:"flex",flexDirection:"column",gap:"12px"},input:{padding:"10px 12px",fontSize:"14px",border:"1px solid",borderRadius:"6px",outline:"none"},createActions:{display:"flex",gap:"8px",justifyContent:"flex-end"},cancelButton:{padding:"8px 16px",fontSize:"14px",fontWeight:500,color:"#6b7280",backgroundColor:"transparent",border:"1px solid #d1d5db",borderRadius:"6px",cursor:"pointer"},primaryButton:{padding:"8px 16px",fontSize:"14px",fontWeight:500,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer"},codesList:{display:"flex",flexDirection:"column",gap:"12px"},emptyState:{padding:"32px",textAlign:"center",fontSize:"14px"},codeCard:{padding:"16px",borderRadius:"8px",border:"1px solid"},codeHeader:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",marginBottom:"12px"},codeName:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",gap:"8px"},defaultBadge:{fontSize:"10px",fontWeight:600,color:"#3b82f6",backgroundColor:"#dbeafe",padding:"2px 6px",borderRadius:"4px"},codeDisplayName:{fontSize:"14px",marginTop:"4px"},copyButton:{padding:"8px 12px",fontSize:"12px",fontWeight:500,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer"},codeStats:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"12px",paddingTop:"12px",borderTop:"1px solid #e5e7eb"},codeStat:{textAlign:"center"},codeStatValue:{fontSize:"18px",fontWeight:600},codeStatLabel:{fontSize:"12px",color:"#6b7280",marginTop:"4px"},footer:{textAlign:"center",paddingTop:"16px",borderTop:"1px solid #e5e7eb"},footerLink:{fontSize:"12px",textDecoration:"none"}};function d({code:r,destinationUrl:n,label:o,showCopyButton:i=!0,onCopy:a}){const[s,l]=t(!1),c=`${n}?ref=${r}`;return e.createElement("div",{style:u.container},o&&e.createElement("label",{style:u.label},o),e.createElement("div",{style:u.inputGroup},e.createElement("input",{type:"text",value:c,readOnly:!0,style:u.input,onClick:e=>e.target.select()}),i&&e.createElement("button",{onClick:async()=>{try{await navigator.clipboard.writeText(c),l(!0),a?.(),setTimeout((()=>l(!1)),2e3)}catch(e){console.error("Failed to copy:",e)}},style:u.button},s?"✓ Copied!":"Copy")))}const u={container:{width:"100%",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},label:{display:"block",marginBottom:"8px",fontSize:"14px",fontWeight:500,color:"#374151"},inputGroup:{display:"flex",gap:"8px"},input:{flex:1,padding:"10px 12px",fontSize:"14px",border:"1px solid #d1d5db",borderRadius:"6px",backgroundColor:"#f9fafb",color:"#111827",outline:"none"},button:{padding:"10px 16px",fontSize:"14px",fontWeight:500,color:"#ffffff",backgroundColor:"#3b82f6",border:"none",borderRadius:"6px",cursor:"pointer",whiteSpace:"nowrap",transition:"background-color 0.2s"}},f="https://api.blossu.com",p="blossu_ref";function g(e,t=p,r=30){const n=`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`,o={code:e.toLowerCase(),refId:n,timestamp:Date.now()};return function(e,t,r){if("undefined"==typeof document)return;const n=new Date;n.setTime(n.getTime()+24*r*60*60*1e3);const o="https:"===window.location.protocol?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}; expires=${n.toUTCString()}; path=/; SameSite=Lax${o}`}(t,JSON.stringify(o),r),o}function m(e=p){const t=function(e){if("undefined"==typeof document)return null;const t=`${e}=`,r=document.cookie.split(";");for(let e=0;e<r.length;e++){let n=r[e];for(;" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(t))return decodeURIComponent(n.substring(t.length,n.length))}return null}(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function h(e=p){var t;t=e,"undefined"!=typeof document&&(document.cookie=`${t}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}class y{constructor(e){this.processing=!1,this.timer=null,this.name=`blossu_queue_${e.name||"default"}`,this.maxAttempts=e.maxAttempts||10,this.baseDelay=e.baseDelay||1e3,this.maxDelay=e.maxDelay||3e4,this.debug=e.debug||!1,this.startProcessing(),"undefined"!=typeof window&&(window.addEventListener("online",(()=>this.startProcessing())),document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&this.startProcessing()})))}log(...e){this.debug&&console.log("[Blossu:Queue]",...e)}getStorageKey(){return this.name}generateId(){return`${Date.now()}_${Math.random().toString(36).substring(2,9)}`}getQueue(){if("undefined"==typeof localStorage)return[];try{const e=localStorage.getItem(this.getStorageKey());return e?JSON.parse(e):[]}catch(e){return this.log("Error reading queue:",e),[]}}saveQueue(e){if("undefined"!=typeof localStorage)try{0===e.length?localStorage.removeItem(this.getStorageKey()):localStorage.setItem(this.getStorageKey(),JSON.stringify(e))}catch(e){this.log("Error saving queue:",e)}}calculateBackoff(e){const t=this.baseDelay*Math.pow(2,e-1),r=.3*Math.random()*t,n=Math.min(t+r,this.maxDelay);return Math.round(n)}push(e,t,r){const n=this.getQueue(),o={id:this.generateId(),event:e,endpoint:t,payload:r,attemptNumber:0,maxAttempts:this.maxAttempts,createdAt:Date.now(),nextRetryAt:Date.now()};n.push(o),this.saveQueue(n),this.log("Added to queue:",o.id,e),this.startProcessing()}async processItem(e){this.log("Processing item:",e.id,"attempt:",e.attemptNumber+1);try{const t=await fetch(e.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:e.payload,keepalive:!0});return t.ok?(this.log("Successfully sent:",e.id),!0):t.status>=400&&t.status<500&&408!==t.status&&429!==t.status?(this.log("Client error, not retrying:",e.id,t.status),!0):(this.log("Server error, will retry:",e.id,t.status),!1)}catch(t){return this.log("Network error, will retry:",e.id,t),!1}}async processQueue(){if(!this.processing)if("undefined"==typeof navigator||navigator.onLine){this.processing=!0;try{const e=this.getQueue();if(0===e.length)return void(this.processing=!1);const t=Date.now(),r=e.filter((e=>e.nextRetryAt<=t));if(0===r.length){const r=e.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),n=Math.max(0,r.nextRetryAt-t);return this.scheduleProcessing(n),void(this.processing=!1)}for(const e of r){e.attemptNumber++;const t=await this.processItem(e),r=this.getQueue(),n=r.findIndex((t=>t.id===e.id));if(-1!==n)if(t)r.splice(n,1),this.saveQueue(r);else if(e.attemptNumber>=e.maxAttempts)this.log("Max attempts reached, dropping:",e.id),r.splice(n,1),this.saveQueue(r);else{const t=this.calculateBackoff(e.attemptNumber);r[n].attemptNumber=e.attemptNumber,r[n].nextRetryAt=Date.now()+t,this.saveQueue(r),this.log("Scheduled retry in",t,"ms for:",e.id)}}const n=this.getQueue();if(n.length>0){const e=n.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),t=Math.max(0,e.nextRetryAt-Date.now());this.scheduleProcessing(t)}}finally{this.processing=!1}}else this.log("Offline, skipping processing")}scheduleProcessing(e){this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>this.processQueue()),e)}startProcessing(){this.scheduleProcessing(0)}getQueueLength(){return this.getQueue().length}clear(){this.saveQueue([]),this.timer&&(clearTimeout(this.timer),this.timer=null)}}class b{constructor(e){this.config={apiUrl:e.apiUrl||f,publishableKey:e.publishableKey,programSlug:e.programSlug,debug:e.debug||!1,maxRetries:e.maxRetries},this.retryQueue=new y({name:e.programSlug,maxAttempts:e.maxRetries||10,debug:e.debug||!1})}log(...e){this.config.debug&&console.log("[Blossu]",...e)}getEndpoint(e){return`${this.config.apiUrl}/v1/track/${e}`}getUtmParams(){if("undefined"==typeof window)return{utmSource:"",utmMedium:"",utmCampaign:"",utmTerm:"",utmContent:""};try{const e=new URLSearchParams(window.location.search);return{utmSource:e.get("utm_source")||"",utmMedium:e.get("utm_medium")||"",utmCampaign:e.get("utm_campaign")||"",utmTerm:e.get("utm_term")||"",utmContent:e.get("utm_content")||""}}catch{return{utmSource:"",utmMedium:"",utmCampaign:"",utmTerm:"",utmContent:""}}}getMeta(){const e="undefined"!=typeof window,t=this.getUtmParams();return{url:e?window.location.href:"",referrer:e?document.referrer:"",userAgent:e?navigator.userAgent:"",language:e?navigator.language:"",timezone:e&&Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||"",timestamp:Date.now(),sdkVersion:"0.1.0",utmSource:t.utmSource,utmMedium:t.utmMedium,utmCampaign:t.utmCampaign,utmTerm:t.utmTerm,utmContent:t.utmContent,windowWidth:e?window.innerWidth:0,windowHeight:e?window.innerHeight:0,screenWidth:e&&window.screen?.width||0,screenHeight:e&&window.screen?.height||0}}queueForRetry(e,t,r){this.log("Queueing for retry:",e),this.retryQueue.push(e,t,r)}async send(e,t){const r={event:e,data:t,meta:this.getMeta(),publishableKey:this.config.publishableKey};this.log("Sending event:",e,r);const n=this.getEndpoint(e),o=JSON.stringify(r);if("undefined"!=typeof navigator&&navigator.sendBeacon){const e=new Blob([o],{type:"application/json"});try{if(navigator.sendBeacon(n,e))return this.log("sendBeacon success"),!0;this.log("sendBeacon returned false (queue full), falling back to fetch")}catch(e){this.log("sendBeacon threw error, falling back to fetch:",e)}}try{const t=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:o,keepalive:!0});return t.ok?(this.log("fetch success:",t.status),!0):t.status>=500||408===t.status||429===t.status?(this.log("Server error, queueing for retry:",t.status),this.queueForRetry(e,n,o),!1):(this.log("Client error, not retrying:",t.status),!1)}catch(t){return this.log("fetch error, queueing for retry:",t),this.queueForRetry(e,n,o),!1}}trackClick(e){return this.send("click",e)}trackSignup(e){return this.send("signup",e)}trackSale(e){return this.send("sale",e)}trackPageview(e){return this.send("pageview",e)}getQueueLength(){return this.retryQueue.getQueueLength()}clearQueue(){this.retryQueue.clear()}}class x{constructor(e){this.initialized=!1,this.referralInfo=null,this.config={publishableKey:e.publishableKey,programSlug:e.programSlug||"",apiUrl:e.apiUrl||f,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||p,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack},this.tracker=new b({apiUrl:this.config.apiUrl,publishableKey:this.config.publishableKey,programSlug:this.config.programSlug,debug:this.config.debug}),this.loadReferralInfo(),this.config.autoTrack&&this.autoTrackReferral(),this.exposeToWindow()}log(...e){this.config.debug&&console.log("[Blossu]",...e)}exposeToWindow(){"undefined"!=typeof window&&(window.blossu=this,this.referralInfo&&(window.blossu_ref_id=this.referralInfo.refId))}loadReferralInfo(){this.referralInfo=m(this.config.cookieName),this.referralInfo&&this.log("Loaded referral info from cookie:",this.referralInfo)}autoTrackReferral(){if("undefined"==typeof window)return;const e=(t=this.config.trackingParam,"undefined"==typeof window?null:new URLSearchParams(window.location.search).get(t));var t;e&&e!==this.referralInfo?.code&&(this.log("Detected referral code in URL:",e),this.trackClick(e))}getRefId(){return this.referralInfo?.refId||null}getCode(){return this.referralInfo?.code||null}getReferralInfo(){return this.referralInfo}hasReferral(){return null!==this.referralInfo}clearReferral(){h(this.config.cookieName),this.referralInfo=null,"undefined"!=typeof window&&delete window.blossu_ref_id,this.log("Cleared referral info")}async trackClick(e){return this.referralInfo=g(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.log("Tracking click for code:",e,"refId:",this.referralInfo.refId),this.tracker.trackClick({code:this.referralInfo.code,refId:this.referralInfo.refId})}async signup(e={}){return this.referralInfo?(this.log("Tracking signup:",e),this.tracker.trackSignup({code:this.referralInfo.code,refId:this.referralInfo.refId,email:e.email,customerExternalId:e.customerExternalId,metadata:e.metadata})):(this.log("No referral info, skipping signup tracking"),!1)}async sale(e){return this.referralInfo?(this.log("Tracking sale:",e),this.tracker.trackSale({code:this.referralInfo.code,refId:this.referralInfo.refId,customerExternalId:e.customerExternalId,amount:e.amount,currency:e.currency,provider:e.provider||"custom",metadata:e.metadata})):(this.log("No referral info, skipping sale tracking"),!1)}async pageview(){return!!this.referralInfo&&this.tracker.trackPageview({code:this.referralInfo.code,refId:this.referralInfo.refId})}getStripeClientReferenceId(){return this.referralInfo?.refId||null}getStripeMetadata(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId,blossu_code:this.referralInfo.code}:{}}async getPartnerInfo(e){const t=this.config.programSlug?`/v1/public/programs/${this.config.programSlug}/referral/${encodeURIComponent(e)}`:`/v1/public/referral/${encodeURIComponent(e)}`,r=`${this.config.apiUrl}${t}`;try{const t=await fetch(r,{headers:{Authorization:`Bearer ${this.config.publishableKey}`}});if(!t.ok){if(404===t.status)return this.log("Partner info not found for code:",e),null;throw new Error(`HTTP error! status: ${t.status}`)}const n=await t.json();return this.log("Fetched partner info:",n),n}catch(e){return this.log("Error fetching partner info:",e),null}}getProgramSlug(){return this.config.programSlug}}let k=null;function w({publicKey:e,programSlug:t,apiUrl:r,trackingParam:o,cookieExpiryDays:i,debug:a=!1,children:s}){return n((()=>{"undefined"!=typeof window&&(k=new x({publishableKey:e,programSlug:t,apiUrl:r,trackingParam:o,cookieExpiryDays:i,debug:a,autoTrack:!0}))}),[e,t,r,o,i,a]),s||null}const v=({size:t=24,color:r="currentColor",className:n})=>e.createElement("svg",{className:n,width:t,height:t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",style:{animation:"blossu-spin 1s linear infinite"}},e.createElement("style",null,"\n @keyframes blossu-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n "),e.createElement("circle",{cx:"12",cy:"12",r:"10",stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeDasharray:"31.4 31.4",opacity:"0.25"}),e.createElement("circle",{cx:"12",cy:"12",r:"10",stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeDasharray:"31.4 31.4",strokeDashoffset:"62.8",style:{animation:"blossu-spin 1s linear infinite"}}));export{w as Analytics,v as Loader,d as ReferralLink,a as ReferralStats,l as ReferralWidget,i as usePartner};
2
2
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../src/react/usePartner.ts","../../src/react/ReferralStats.tsx","../../src/react/ReferralWidget.tsx","../../src/react/ReferralLink.tsx","../../src/constants.ts","../../src/utils.ts","../../src/retry-queue.ts","../../src/tracker.ts","../../src/blossu.ts","../../src/react/Analytics.tsx","../../src/react/Loader.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["DEFAULT_API_URL","usePartner","config","workspaceId","email","signature","apiUrl","partner","setPartner","useState","codes","setCodes","stats","setStats","isLoading","setIsLoading","error","setError","headers","fetchPartner","useCallback","async","response","fetch","ok","Error","json","err","console","fetchCodes","fetchStats","refresh","partnerData","codesData","statsData","Promise","all","message","useEffect","referralLink","code","defaultUrl","id","codeData","find","c","destinationUrl","copyLink","link","navigator","clipboard","writeText","createCode","displayName","method","body","JSON","stringify","newCode","prev","ReferralStats","clicks","conversions","revenue","currency","label","value","toLocaleString","cents","Intl","NumberFormat","style","format","React","createElement","styles","container","map","stat","key","card","display","gridTemplateColumns","gap","fontFamily","padding","backgroundColor","border","borderRadius","textAlign","fontSize","fontWeight","color","textTransform","letterSpacing","marginBottom","ReferralWidget","theme","primaryColor","showCreateCode","setShowCreateCode","setNewCode","newDisplayName","setNewDisplayName","isCreating","setIsCreating","themeStyles","isDark","borderColor","title","text","subtitle","earning","input","getThemeStyles","loading","formatCurrency","header","headerIcon","earningLabel","earningValue","totalEarned","pendingBalance","earningPending","section","sectionTitle","totalRevenue","sectionHeader","onClick","createButton","createForm","type","placeholder","onChange","e","target","createActions","cancelButton","trim","undefined","disabled","primaryButton","codesList","length","emptyState","codeCard","codeHeader","codeName","isDefault","defaultBadge","codeDisplayName","copyButton","codeStats","codeStat","codeStatValue","codeStatLabel","footer","href","rel","footerLink","maxWidth","margin","marginTop","justifyContent","alignItems","cursor","transition","flexDirection","outline","paddingTop","borderTop","textDecoration","ReferralLink","showCopyButton","onCopy","copied","setCopied","inputGroup","readOnly","select","setTimeout","button","width","flex","whiteSpace","COOKIE_NAME","saveReferralInfo","cookieName","expiryDays","refId","Date","now","toString","Math","random","substring","info","toLowerCase","timestamp","name","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","setCookie","getReferralInfo","nameEQ","cookies","split","i","charAt","indexOf","decodeURIComponent","getCookie","parse","clearReferralInfo","RetryQueue","constructor","this","processing","timer","maxAttempts","baseDelay","maxDelay","debug","startProcessing","addEventListener","visibilityState","log","args","getStorageKey","generateId","getQueue","localStorage","data","getItem","saveQueue","queue","removeItem","setItem","calculateBackoff","attemptNumber","exponentialDelay","pow","jitter","delay","min","round","push","event","endpoint","payload","item","createdAt","nextRetryAt","processItem","keepalive","status","processQueue","onLine","readyItems","filter","nextItem","reduce","max","scheduleProcessing","success","currentQueue","index","findIndex","q","splice","backoff","remainingQueue","clearTimeout","getQueueLength","clear","Tracker","publishableKey","programSlug","maxRetries","retryQueue","getEndpoint","getMeta","isBrowser","url","referrer","userAgent","language","timezone","DateTimeFormat","resolvedOptions","timeZone","sdkVersion","queueForRetry","send","meta","sendBeacon","blob","Blob","trackClick","trackSignup","trackSale","trackPageview","clearQueue","BlossuClient","initialized","referralInfo","trackingParam","cookieExpiryDays","autoTrack","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","blossu_ref_id","param","URLSearchParams","search","get","getRefId","getCode","hasReferral","clearReferral","signup","customerExternalId","metadata","sale","amount","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","programPath","Authorization","getProgramSlug","defaultClient","Analytics","publicKey","children","Loader","size","className","height","viewBox","xmlns","animation","cx","cy","r","stroke","strokeWidth","fill","strokeLinecap","strokeDasharray","opacity","strokeDashoffset"],"mappings":"oEAGA,MAAMA,EAAkB,yBAElB,SAAUC,EAAWC,GACzB,MAAMC,YAAEA,EAAWC,MAAEA,EAAKC,UAAEA,EAASC,OAAEA,EAASN,GAAoBE,GAE7DK,EAASC,GAAcC,EAAyB,OAChDC,EAAOC,GAAYF,EAAyB,KAC5CG,EAAOC,GAAYJ,EAA8B,OACjDK,EAAWC,GAAgBN,GAAS,IACpCO,EAAOC,GAAYR,EAAwB,MAE5CS,EAAU,CACd,eAAgB,mBAChB,qBAAsBf,EACtB,iBAAkBC,EAClB,qBAAsBC,GAGlBc,EAAeC,GAAYC,UAC/B,IACE,MAAMC,QAAiBC,MAAM,GAAGjB,kBAAwB,CAAEY,YAC1D,IAAKI,EAASE,GAAI,MAAM,IAAIC,MAAM,2BAElC,aADmBH,EAASI,QAChBnB,OACb,CAAC,MAAOoB,GAEP,OADAC,QAAQZ,MAAM,0BAA2BW,GAClC,IACR,IACA,CAACrB,EAAQH,EAAaC,EAAOC,IAE1BwB,EAAaT,GAAYC,UAC7B,IACE,MAAMC,QAAiBC,MAAM,GAAGjB,qBAA2B,CAAEY,YAC7D,IAAKI,EAASE,GAAI,MAAM,IAAIC,MAAM,yBAElC,aADmBH,EAASI,QAChBhB,OAAS,EACtB,CAAC,MAAOiB,GAEP,OADAC,QAAQZ,MAAM,wBAAyBW,GAChC,EACR,IACA,CAACrB,EAAQH,EAAaC,EAAOC,IAE1ByB,EAAaV,GAAYC,UAC7B,IACE,MAAMC,QAAiBC,MAAM,GAAGjB,qBAA2B,CAAEY,YAC7D,IAAKI,EAASE,GAAI,MAAM,IAAIC,MAAM,yBAElC,aADmBH,EAASI,QAChBd,KACb,CAAC,MAAOe,GAEP,OADAC,QAAQZ,MAAM,wBAAyBW,GAChC,IACR,IACA,CAACrB,EAAQH,EAAaC,EAAOC,IAE1B0B,EAAUX,GAAYC,UAC1BN,GAAa,GACbE,EAAS,MAET,IACE,MAAOe,EAAaC,EAAWC,SAAmBC,QAAQC,IAAI,CAC5DjB,IACAU,IACAC,MAGFtB,EAAWwB,GACXrB,EAASsB,GACTpB,EAASqB,EACV,CAAC,MAAOP,GACPV,EAASU,aAAeF,MAAQE,EAAIU,QAAU,sBAC/C,CAAS,QACRtB,GAAa,EACd,IACA,CAACI,EAAcU,EAAYC,IAE9BQ,GAAU,KACRP,GAAS,GACR,CAACA,IAEJ,MAAMQ,EAAenB,GAAaoB,IAChC,MAAMC,EAAalC,GAASmC,GAAK,sBAAwB,GACnDC,EAAWjC,EAAMkC,MAAMC,GAAMA,EAAEL,OAASA,IAE9C,MAAO,GADSG,GAAUG,gBAAkBL,SACnBD,GAAM,GAC9B,CAACjC,EAASG,IAEPqC,EAAW3B,GAAYC,MAAOmB,IAClC,MAAMQ,EAAOT,EAAaC,GAC1B,UACQS,UAAUC,UAAUC,UAAUH,EACrC,CAAC,MAAOrB,GAEP,MADAC,QAAQZ,MAAM,uBAAwBW,GAChCA,CACP,IACA,CAACY,IAEEa,EAAahC,GAAYC,MAC7BmB,EACAa,KAEA,IACE,MAAM/B,QAAiBC,MAAM,GAAGjB,qBAA2B,CACzDgD,OAAQ,OACRpC,UACAqC,KAAMC,KAAKC,UAAU,CAAEjB,OAAMa,kBAG/B,IAAK/B,EAASE,GACZ,MAAM,IAAIC,MAAM,yBAGlB,MACMiC,SADapC,EAASI,QACPc,KAGrB,OADA7B,GAAUgD,GAAS,IAAIA,EAAMD,KACtBA,CACR,CAAC,MAAO/B,GAEP,OADAC,QAAQZ,MAAM,uBAAwBW,GAC/B,IACR,IACA,CAACrB,EAAQH,EAAaC,EAAOC,IAEhC,MAAO,CACLE,UACAG,QACAE,QACAE,YACAE,QACAuB,eACAQ,WACAK,aACArB,UAEJ,CCrIgB,SAAA6B,GAAcC,OAC5BA,EAAMC,YACNA,EAAWC,QACXA,EAAOC,SACPA,EAAW,QAEX,MAOMpD,EAAQ,CACZ,CAAEqD,MAAO,SAAUC,MAAOL,EAAOM,kBACjC,CAAEF,MAAO,cAAeC,MAAOJ,EAAYK,kBAC3C,CAAEF,MAAO,UAAWC,OAVEE,EAUoBL,EATnC,IAAIM,KAAKC,aAAa,QAAS,CACpCC,MAAO,WACPP,aACCQ,OAAOJ,EAAQ,QAJG,IAACA,EAaxB,OACEK,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOC,WAChBhE,EAAMiE,KAAKC,GACVL,EAAKC,cAAA,MAAA,CAAAK,IAAKD,EAAKb,MAAOM,MAAOI,EAAOK,MAClCP,EAAKC,cAAA,MAAA,CAAAH,MAAOI,EAAOV,OAAQa,EAAKb,OAChCQ,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOT,OAAQY,EAAKZ,UAK1C,CAEA,MAAMS,EAA8C,CAClDC,UAAW,CACTK,QAAS,OACTC,oBAAqB,uCACrBC,IAAK,OACLC,WAAY,qEAEdJ,KAAM,CACJK,QAAS,OACTC,gBAAiB,UACjBC,OAAQ,oBACRC,aAAc,MACdC,UAAW,UAEbxB,MAAO,CACLyB,SAAU,OACVC,WAAY,IACZC,MAAO,UACPC,cAAe,YACfC,cAAe,SACfC,aAAc,OAEhB7B,MAAO,CACLwB,SAAU,OACVC,WAAY,IACZC,MAAO,qBCtDKI,GAAe7F,YAC7BA,EAAWC,MACXA,EAAKC,UACLA,EAASC,OACTA,EAAM2F,MACNA,EAAQ,QAAOC,aACfA,EAAe,YAEf,MAAM3F,QACJA,EAAOG,MACPA,EAAKE,MACLA,EAAKE,UACLA,EAASE,MACTA,EAAK+B,SACLA,EAAQK,WACRA,GACEnD,EAAW,CAAEE,cAAaC,QAAOC,YAAWC,YAEzC6F,EAAgBC,GAAqB3F,GAAS,IAC9CiD,EAAS2C,GAAc5F,EAAS,KAChC6F,EAAgBC,GAAqB9F,EAAS,KAC9C+F,EAAYC,GAAiBhG,GAAS,GAGvCiG,EAsMR,SAAwBC,GACtB,MAAO,CACL/B,UAAW,CACTU,gBAAiBqB,EAAS,UAAY,UACtCf,MAAOe,EAAS,UAAY,WAE9B3B,KAAM,CACJM,gBAAiBqB,EAAS,UAAY,UACtCC,YAAaD,EAAS,UAAY,WAEpCE,MAAO,CACLjB,MAAOe,EAAS,UAAY,WAE9BG,KAAM,CACJlB,MAAOe,EAAS,UAAY,WAE9BI,SAAU,CACRnB,MAAOe,EAAS,UAAY,WAE9BK,QAAS,CACP1B,gBAAiBqB,EAAS,UAAY,UACtCC,YAAaD,EAAS,UAAY,WAEpCM,MAAO,CACL3B,gBAAiBqB,EAAS,UAAY,UACtCC,YAAaD,EAAS,UAAY,UAClCf,MAAOe,EAAS,UAAY,WAGlC,CAnOsBO,CADK,SAAVjB,GAmBf,GAAInF,EACF,OACE2D,EAAAC,cAAA,MAAA,CAAKH,MAAO,IAAKI,EAAOC,aAAc8B,EAAY9B,YAChDH,EAAKC,cAAA,MAAA,CAAAH,MAAOI,EAAOwC,SAAyB,eAKlD,GAAInG,EACF,OACEyD,EAAAC,cAAA,MAAA,CAAKH,MAAO,IAAKI,EAAOC,aAAc8B,EAAY9B,YAChDH,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO3D,iBAAeA,IAKxC,IAAKT,EACH,OACEkE,EAAAC,cAAA,MAAA,CAAKH,MAAO,IAAKI,EAAOC,aAAc8B,EAAY9B,YAChDH,EAAKC,cAAA,MAAA,CAAAH,MAAOI,EAAO3D,OAA8B,sBAKvD,MAAMoG,EAAkBhD,GACf,IAAIC,KAAKC,aAAa,QAAS,CACpCC,MAAO,WACPP,SAAU,QACTQ,OAAOJ,EAAQ,KAGpB,OACEK,EAAAC,cAAA,MAAA,CAAKH,MAAO,IAAKI,EAAOC,aAAc8B,EAAY9B,YAChDH,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO0C,QACjB5C,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO2C,YAAoB,MACvC7C,EAAAC,cAAA,KAAA,CAAIH,MAAO,IAAKI,EAAOkC,SAAUH,EAAYG,QAExC,yBACLpC,EAAAC,cAAA,IAAA,CAAGH,MAAO,IAAKI,EAAOoC,YAAaL,EAAYK,6EAKjDtC,EAAAC,cAAA,MAAA,CAAKH,MAAO,IAAKI,EAAOqC,WAAYN,EAAYM,UAC9CvC,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO4C,cAAgC,gBACnD9C,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO6C,cAChBJ,EAAe7G,EAAQkH,cAEzBlH,EAAQmH,eAAiB,GACxBjD,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOgD,gBAChBP,EAAe7G,EAAQmH,gBACpB,aAIVjD,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOiD,SACjBnD,EAAAC,cAAA,KAAA,CAAIH,MAAO,IAAKI,EAAOkD,gBAAiBnB,EAAYI,OAAkB,SACtErC,EAACC,cAAAd,EACC,CAAAC,OAAQjD,GAAOiD,QAAU,EACzBC,YAAalD,GAAOkD,aAAe,EACnCC,QAASxD,EAAQuH,gBAIrBrD,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOiD,SACjBnD,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOoD,eACjBtD,EAAAC,cAAA,KAAA,CAAIH,MAAO,IAAKI,EAAOkD,gBAAiBnB,EAAYI,OAE/C,uBACLrC,EACEC,cAAA,SAAA,CAAAsD,QAAS,IAAM5B,GAAmBD,GAClC5B,MAAO,IAAKI,EAAOsD,aAAc3C,gBAAiBY,IAAc,kBAMnEC,GACC1B,EAAKC,cAAA,MAAA,CAAAH,MAAO,IAAKI,EAAOuD,cAAexB,EAAY1B,OACjDP,EAAAC,cAAA,QAAA,CACEyD,KAAK,OACLC,YAAY,wBACZlE,MAAOR,EACP2E,SAAWC,GAAMjC,EAAWiC,EAAEC,OAAOrE,OACrCK,MAAO,IAAKI,EAAOsC,SAAUP,EAAYO,SAE3CxC,EAAAC,cAAA,QAAA,CACEyD,KAAK,OACLC,YAAY,0BACZlE,MAAOoC,EACP+B,SAAWC,GAAM/B,EAAkB+B,EAAEC,OAAOrE,OAC5CK,MAAO,IAAKI,EAAOsC,SAAUP,EAAYO,SAE3CxC,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO6D,eACjB/D,EAAAC,cAAA,SAAA,CACEsD,QAAS,IAAM5B,GAAkB,GACjC7B,MAAOI,EAAO8D,cAGP,UACThE,EAAAC,cAAA,SAAA,CACEsD,QArHW3G,UACvB,GAAKqC,EAAQgF,OAAb,CAEAjC,GAAc,GACd,UACQrD,EAAWM,EAAS4C,QAAkBqC,GAC5CtC,EAAW,IACXE,EAAkB,IAClBH,GAAkB,EACnB,CAAC,MAAOzE,GACPC,QAAQZ,MAAM,yBAA0BW,EACzC,CAAS,QACR8E,GAAc,EACf,CAZ2B,CAY3B,EAyGWmC,UAAWlF,EAAQgF,QAAUlC,EAC7BjC,MAAO,IAAKI,EAAOkE,cAAevD,gBAAiBY,IAElDM,EAAa,cAAgB,YAMtC/B,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOmE,WACC,IAAjBpI,EAAMqI,OACLtE,EAAKC,cAAA,MAAA,CAAAH,MAAO,IAAKI,EAAOqE,cAAetC,EAAYK,4DAInDrG,EAAMmE,KAAKrC,GACTiC,EAAAC,cAAA,MAAA,CAAKK,IAAKvC,EAAKE,GAAI6B,MAAO,IAAKI,EAAOsE,YAAavC,EAAY1B,OAC7DP,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOuE,YACjBzE,EAAAC,cAAA,MAAA,KACED,EAAAC,cAAA,MAAA,CAAKH,MAAO,IAAKI,EAAOwE,YAAazC,EAAYI,OAC9CtE,EAAKA,KACLA,EAAK4G,WACJ3E,EAAMC,cAAA,OAAA,CAAAH,MAAOI,EAAO0E,cAA4B,YAGnD7G,EAAKa,aACJoB,EAAAC,cAAA,MAAA,CAAKH,MAAO,IAAKI,EAAO2E,mBAAoB5C,EAAYK,WACrDvE,EAAKa,cAIZoB,EACEC,cAAA,SAAA,CAAAsD,QAAS,IAAMjF,EAASP,EAAKA,MAC7B+B,MAAO,IAAKI,EAAO4E,WAAYjE,gBAAiBY,IAAc,SAKlEzB,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO6E,WACjB/E,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO8E,UACjBhF,EAAAC,cAAA,MAAA,CAAKH,MAAO,IAAKI,EAAO+E,iBAAkBhD,EAAYI,OACnDtE,EAAKqB,QAERY,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOgF,0BAErBlF,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO8E,UACjBhF,EAAAC,cAAA,MAAA,CAAKH,MAAO,IAAKI,EAAO+E,iBAAkBhD,EAAYI,OACnDtE,EAAKsB,aAERW,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOgF,+BAErBlF,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO8E,UACjBhF,EAAKC,cAAA,MAAA,CAAAH,MAAO,IAAKI,EAAO+E,iBAAkBhD,EAAYI,OACnDM,EAAe5E,EAAKuB,UAEvBU,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOgF,eAAa,kBAS9ClF,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOiF,QACjBnF,EAAAC,cAAA,IAAA,CACEmF,KAAK,qBACLtB,OAAO,SACPuB,IAAI,sBACJvF,MAAO,IAAKI,EAAOoF,cAAerD,EAAYK,WAAU,sBAOlE,CAiCA,MAAMpC,EAA8C,CAClDC,UAAW,CACToF,SAAU,QACVC,OAAQ,SACR5E,QAAS,OACTG,aAAc,OACdD,OAAQ,oBACRH,WAAY,qEAEd+B,QAAS,CACP1B,UAAW,SACXJ,QAAS,OACTO,MAAO,WAET5E,MAAO,CACLqE,QAAS,OACTC,gBAAiB,UACjBM,MAAO,UACPJ,aAAc,MACdC,UAAW,UAEb4B,OAAQ,CACN5B,UAAW,SACXM,aAAc,QAEhBuB,WAAY,CACV5B,SAAU,OACVK,aAAc,QAEhBc,MAAO,CACLoD,OAAQ,UACRvE,SAAU,OACVC,WAAY,KAEdoB,SAAU,CACRkD,OAAQ,EACRvE,SAAU,QAEZsB,QAAS,CACP3B,QAAS,OACTG,aAAc,OACdD,OAAQ,YACRE,UAAW,SACXM,aAAc,QAEhBwB,aAAc,CACZ7B,SAAU,OACVC,WAAY,IACZC,MAAO,UACPC,cAAe,YACfC,cAAe,SACfC,aAAc,OAEhByB,aAAc,CACZ9B,SAAU,OACVC,WAAY,IACZC,MAAO,WAET+B,eAAgB,CACdjC,SAAU,OACVE,MAAO,UACPsE,UAAW,OAEbtC,QAAS,CACP7B,aAAc,QAEhBgC,cAAe,CACb9C,QAAS,OACTkF,eAAgB,gBAChBC,WAAY,SACZrE,aAAc,QAEhB8B,aAAc,CACZoC,OAAQ,EACRvE,SAAU,OACVC,WAAY,KAEdsC,aAAc,CACZ5C,QAAS,WACTK,SAAU,OACVC,WAAY,IACZC,MAAO,UACPL,OAAQ,OACRC,aAAc,MACd6E,OAAQ,UACRC,WAAY,gBAEdpC,WAAY,CACV7C,QAAS,OACTG,aAAc,MACdO,aAAc,OACdd,QAAS,OACTsF,cAAe,SACfpF,IAAK,QAEP8B,MAAO,CACL5B,QAAS,YACTK,SAAU,OACVH,OAAQ,YACRC,aAAc,MACdgF,QAAS,QAEXhC,cAAe,CACbvD,QAAS,OACTE,IAAK,MACLgF,eAAgB,YAElB1B,aAAc,CACZpD,QAAS,WACTK,SAAU,OACVC,WAAY,IACZC,MAAO,UACPN,gBAAiB,cACjBC,OAAQ,oBACRC,aAAc,MACd6E,OAAQ,WAEVxB,cAAe,CACbxD,QAAS,WACTK,SAAU,OACVC,WAAY,IACZC,MAAO,UACPL,OAAQ,OACRC,aAAc,MACd6E,OAAQ,WAEVvB,UAAW,CACT7D,QAAS,OACTsF,cAAe,SACfpF,IAAK,QAEP6D,WAAY,CACV3D,QAAS,OACTI,UAAW,SACXC,SAAU,QAEZuD,SAAU,CACR5D,QAAS,OACTG,aAAc,MACdD,OAAQ,aAEV2D,WAAY,CACVjE,QAAS,OACTkF,eAAgB,gBAChBC,WAAY,aACZrE,aAAc,QAEhBoD,SAAU,CACRzD,SAAU,OACVC,WAAY,IACZV,QAAS,OACTmF,WAAY,SACZjF,IAAK,OAEPkE,aAAc,CACZ3D,SAAU,OACVC,WAAY,IACZC,MAAO,UACPN,gBAAiB,UACjBD,QAAS,UACTG,aAAc,OAEhB8D,gBAAiB,CACf5D,SAAU,OACVwE,UAAW,OAEbX,WAAY,CACVlE,QAAS,WACTK,SAAU,OACVC,WAAY,IACZC,MAAO,UACPL,OAAQ,OACRC,aAAc,MACd6E,OAAQ,WAEVb,UAAW,CACTvE,QAAS,OACTC,oBAAqB,iBACrBC,IAAK,OACLsF,WAAY,OACZC,UAAW,qBAEbjB,SAAU,CACRhE,UAAW,UAEbiE,cAAe,CACbhE,SAAU,OACVC,WAAY,KAEdgE,cAAe,CACbjE,SAAU,OACVE,MAAO,UACPsE,UAAW,OAEbN,OAAQ,CACNnE,UAAW,SACXgF,WAAY,OACZC,UAAW,qBAEbX,WAAY,CACVrE,SAAU,OACViF,eAAgB,SCxcJ,SAAAC,GAAapI,KAC3BA,EAAIM,eACJA,EAAcmB,MACdA,EAAK4G,eACLA,GAAiB,EAAIC,OACrBA,IAEA,MAAOC,EAAQC,GAAavK,GAAS,GAC/BuC,EAAO,GAAGF,SAAsBN,IAatC,OACEiC,EAAKC,cAAA,MAAA,CAAAH,MAAOI,EAAOC,WAChBX,GAASQ,yBAAOF,MAAOI,EAAOV,OAAQA,GACvCQ,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOsG,YACjBxG,EAAAC,cAAA,QAAA,CACEyD,KAAK,OACLjE,MAAOlB,EACPkI,UAAQ,EACR3G,MAAOI,EAAOsC,MACde,QAAUM,GAAOA,EAAEC,OAA4B4C,WAEhDN,GACCpG,EAAAC,cAAA,SAAA,CAAQsD,QAvBG3G,UACjB,UACQ4B,UAAUC,UAAUC,UAAUH,GACpCgI,GAAU,GACVF,MACAM,YAAW,IAAMJ,GAAU,IAAQ,IACpC,CAAC,MAAOrJ,GACPC,QAAQZ,MAAM,kBAAmBW,EAClC,GAekC4C,MAAOI,EAAO0G,QACxCN,EAAS,YAAc,SAMpC,CAEA,MAAMpG,EAA8C,CAClDC,UAAW,CACT0G,MAAO,OACPlG,WAAY,qEAEdnB,MAAO,CACLgB,QAAS,QACTc,aAAc,MACdL,SAAU,OACVC,WAAY,IACZC,MAAO,WAETqF,WAAY,CACVhG,QAAS,OACTE,IAAK,OAEP8B,MAAO,CACLsE,KAAM,EACNlG,QAAS,YACTK,SAAU,OACVH,OAAQ,oBACRC,aAAc,MACdF,gBAAiB,UACjBM,MAAO,UACP4E,QAAS,QAEXa,OAAQ,CACNhG,QAAS,YACTK,SAAU,OACVC,WAAY,IACZC,MAAO,UACPN,gBAAiB,UACjBC,OAAQ,OACRC,aAAc,MACd6E,OAAQ,UACRmB,WAAY,SACZlB,WAAY,0BChFHtK,EAAkB,yBAClByL,EAAc,aCiDrB,SAAUC,EACdlJ,EACAmJ,EAAqBF,EACrBG,EDnDgC,ICqDhC,MAAMC,EAlDC,OAFWC,KAAKC,MAAMC,SAAS,OACnBC,KAAKC,SAASF,SAAS,IAAIG,UAAU,EAAG,MAoDrDC,EAAqB,CACzB5J,KAAMA,EAAK6J,cACXR,QACAS,UAAWR,KAAKC,OAKlB,gBAxDwBQ,EAAcrI,EAAesI,GACrD,GAAwB,oBAAbC,SAA0B,OAErC,MAAMC,EAAU,IAAIZ,KACpBY,EAAQC,QAAQD,EAAQE,UAAmB,GAAPJ,EAAY,GAAK,GAAK,KAE1D,MACMK,EAAsC,WAA7BC,OAAOC,SAASC,SAAwB,WAAa,GAEpEP,SAASQ,OAAS,GAAGV,KAAQW,mBAAmBhJ,eAAmBwI,EAAQS,sCAA8CN,GAC3H,CA4CEO,CAAUzB,EAAYnI,KAAKC,UAAU2I,GAAOR,GAErCQ,CACT,CAEgB,SAAAiB,EACd1B,EAAqBF,GAErB,MAAMwB,EAlDF,SAAoBV,GACxB,GAAwB,oBAAbE,SAA0B,OAAO,KAE5C,MAAMa,EAAS,GAAGf,KACZgB,EAAUd,SAASQ,OAAOO,MAAM,KAEtC,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAQxE,OAAQ0E,IAAK,CACvC,IAAIR,EAASM,EAAQE,GACrB,KAA4B,MAArBR,EAAOS,OAAO,IACnBT,EAASA,EAAOd,UAAU,EAAGc,EAAOlE,QAEtC,GAA+B,IAA3BkE,EAAOU,QAAQL,GACjB,OAAOM,mBAAmBX,EAAOd,UAAUmB,EAAOvE,OAAQkE,EAAOlE,QAEpE,CACD,OAAO,IACT,CAkCiB8E,CAAUlC,GACzB,IAAKsB,EAAQ,OAAO,KAEpB,IACE,OAAOzJ,KAAKsK,MAAMb,EACnB,CAAC,MACA,OAAO,IACR,CACH,CAEgB,SAAAc,EAAkBpC,EAAqBF,GA1CjD,IAAuBc,IA2CdZ,EA1CW,oBAAbc,WACXA,SAASQ,OAAS,GAAGV,qDA0CvB,OC5DayB,EASX,WAAAC,CAAY/N,GAHJgO,KAAUC,YAAY,EACtBD,KAAKE,MAAyC,KAGpDF,KAAK3B,KAAO,gBAAgBrM,EAAOqM,OACnC2B,KAAKG,YAAcnO,EAAOmO,aAfD,GAgBzBH,KAAKI,UAAYpO,EAAOoO,WAfD,IAgBvBJ,KAAKK,SAAWrO,EAAOqO,UAfD,IAgBtBL,KAAKM,MAAQtO,EAAOsO,QAAS,EAE7BN,KAAKO,kBAEiB,oBAAX3B,SACTA,OAAO4B,iBAAiB,UAAU,IAAMR,KAAKO,oBAC7ChC,SAASiC,iBAAiB,oBAAoB,KACX,YAA7BjC,SAASkC,iBACXT,KAAKO,iBACN,IAGN,CAEO,GAAAG,IAAOC,GACTX,KAAKM,OACP5M,QAAQgN,IAAI,oBAAqBC,EAEpC,CAEO,aAAAC,GACN,OAAOZ,KAAK3B,IACb,CAEO,UAAAwC,GACN,MAAO,GAAGjD,KAAKC,SAASE,KAAKC,SAASF,SAAS,IAAIG,UAAU,EAAG,IACjE,CAEO,QAAA6C,GACN,GAA4B,oBAAjBC,aACT,MAAO,GAGT,IACE,MAAMC,EAAOD,aAAaE,QAAQjB,KAAKY,iBACvC,OAAKI,EACE1L,KAAKsK,MAAMoB,GADA,EAEnB,CAAC,MAAOlO,GAEP,OADAkN,KAAKU,IAAI,uBAAwB5N,GAC1B,EACR,CACF,CAEO,SAAAoO,CAAUC,GAChB,GAA4B,oBAAjBJ,aAIX,IACuB,IAAjBI,EAAMtG,OACRkG,aAAaK,WAAWpB,KAAKY,iBAE7BG,aAAaM,QAAQrB,KAAKY,gBAAiBtL,KAAKC,UAAU4L,GAE7D,CAAC,MAAOrO,GACPkN,KAAKU,IAAI,sBAAuB5N,EACjC,CACF,CAEO,gBAAAwO,CAAiBC,GACvB,MAAMC,EAAmBxB,KAAKI,UAAYrC,KAAK0D,IAAI,EAAGF,EAAgB,GAChEG,EAAyB,GAAhB3D,KAAKC,SAAiBwD,EAC/BG,EAAQ5D,KAAK6D,IAAIJ,EAAmBE,EAAQ1B,KAAKK,UACvD,OAAOtC,KAAK8D,MAAMF,EACnB,CAED,IAAAG,CAAKC,EAAeC,EAAkBC,GACpC,MAAMd,EAAQnB,KAAKc,WAEboB,EAAkB,CACtB1N,GAAIwL,KAAKa,aACTkB,QACAC,WACAC,UACAV,cAAe,EACfpB,YAAaH,KAAKG,YAClBgC,UAAWvE,KAAKC,MAChBuE,YAAaxE,KAAKC,OAGpBsD,EAAMW,KAAKI,GACXlC,KAAKkB,UAAUC,GACfnB,KAAKU,IAAI,kBAAmBwB,EAAK1N,GAAIuN,GAErC/B,KAAKO,iBACN,CAEO,iBAAM8B,CAAYH,GACxBlC,KAAKU,IAAI,mBAAoBwB,EAAK1N,GAAI,WAAY0N,EAAKX,cAAgB,GAEvE,IACE,MAAMnO,QAAiBC,MAAM6O,EAAKF,SAAU,CAC1C5M,OAAQ,OACRpC,QAAS,CACP,eAAgB,oBAElBqC,KAAM6M,EAAKD,QACXK,WAAW,IAGb,OAAIlP,EAASE,IACX0M,KAAKU,IAAI,qBAAsBwB,EAAK1N,KAC7B,GAGLpB,EAASmP,QAAU,KAAOnP,EAASmP,OAAS,KAA2B,MAApBnP,EAASmP,QAAsC,MAApBnP,EAASmP,QACzFvC,KAAKU,IAAI,8BAA+BwB,EAAK1N,GAAIpB,EAASmP,SACnD,IAGTvC,KAAKU,IAAI,4BAA6BwB,EAAK1N,GAAIpB,EAASmP,SACjD,EACR,CAAC,MAAOzP,GAEP,OADAkN,KAAKU,IAAI,6BAA8BwB,EAAK1N,GAAI1B,IACzC,CACR,CACF,CAEO,kBAAM0P,GACZ,IAAIxC,KAAKC,WAIT,GAAyB,oBAAdlL,WAA8BA,UAAU0N,OAAnD,CAKAzC,KAAKC,YAAa,EAElB,IACE,MAAMkB,EAAQnB,KAAKc,WACnB,GAAqB,IAAjBK,EAAMtG,OAER,YADAmF,KAAKC,YAAa,GAIpB,MAAMpC,EAAMD,KAAKC,MACX6E,EAAavB,EAAMwB,QAAQT,GAASA,EAAKE,aAAevE,IAE9D,GAA0B,IAAtB6E,EAAW7H,OAAc,CAC3B,MAAM+H,EAAWzB,EAAM0B,QAAO,CAACjB,EAAKM,IAClCA,EAAKE,YAAcR,EAAIQ,YAAcF,EAAON,IAExCD,EAAQ5D,KAAK+E,IAAI,EAAGF,EAASR,YAAcvE,GAGjD,OAFAmC,KAAK+C,mBAAmBpB,QACxB3B,KAAKC,YAAa,EAEnB,CAED,IAAK,MAAMiC,KAAQQ,EAAY,CAC7BR,EAAKX,gBACL,MAAMyB,QAAgBhD,KAAKqC,YAAYH,GAEjCe,EAAejD,KAAKc,WACpBoC,EAAQD,EAAaE,WAAWC,GAAMA,EAAE5O,KAAO0N,EAAK1N,KAE1D,IAAe,IAAX0O,EAIJ,GAAIF,EACFC,EAAaI,OAAOH,EAAO,GAC3BlD,KAAKkB,UAAU+B,QACV,GAAIf,EAAKX,eAAiBW,EAAK/B,YACpCH,KAAKU,IAAI,kCAAmCwB,EAAK1N,IACjDyO,EAAaI,OAAOH,EAAO,GAC3BlD,KAAKkB,UAAU+B,OACV,CACL,MAAMK,EAAUtD,KAAKsB,iBAAiBY,EAAKX,eAC3C0B,EAAaC,GAAO3B,cAAgBW,EAAKX,cACzC0B,EAAaC,GAAOd,YAAcxE,KAAKC,MAAQyF,EAC/CtD,KAAKkB,UAAU+B,GACfjD,KAAKU,IAAI,qBAAsB4C,EAAS,UAAWpB,EAAK1N,GACzD,CACF,CAED,MAAM+O,EAAiBvD,KAAKc,WAC5B,GAAIyC,EAAe1I,OAAS,EAAG,CAC7B,MAAM+H,EAAWW,EAAeV,QAAO,CAACjB,EAAKM,IAC3CA,EAAKE,YAAcR,EAAIQ,YAAcF,EAAON,IAExCD,EAAQ5D,KAAK+E,IAAI,EAAGF,EAASR,YAAcxE,KAAKC,OACtDmC,KAAK+C,mBAAmBpB,EACzB,CACF,CAAS,QACR3B,KAAKC,YAAa,CACnB,CA7DA,MAFCD,KAAKU,IAAI,+BAgEZ,CAEO,kBAAAqC,CAAmBpB,GACrB3B,KAAKE,OACPsD,aAAaxD,KAAKE,OAEpBF,KAAKE,MAAQhD,YAAW,IAAM8C,KAAKwC,gBAAgBb,EACpD,CAEO,eAAApB,GACNP,KAAK+C,mBAAmB,EACzB,CAED,cAAAU,GACE,OAAOzD,KAAKc,WAAWjG,MACxB,CAED,KAAA6I,GACE1D,KAAKkB,UAAU,IACXlB,KAAKE,QACPsD,aAAaxD,KAAKE,OAClBF,KAAKE,MAAQ,KAEhB,QC/NUyD,EAIX,WAAA5D,CAAY/N,GACVgO,KAAKhO,OAAS,CACZI,OAAQJ,EAAOI,QAAUN,EACzB8R,eAAgB5R,EAAO4R,eACvBC,YAAa7R,EAAO6R,YACpBvD,MAAOtO,EAAOsO,QAAS,EACvBwD,WAAY9R,EAAO8R,YAGrB9D,KAAK+D,WAAa,IAAIjE,EAAW,CAC/BzB,KAAMrM,EAAO6R,YACb1D,YAAanO,EAAO8R,YAAc,GAClCxD,MAAOtO,EAAOsO,QAAS,GAE1B,CAEO,GAAAI,IAAOC,GACTX,KAAKhO,OAAOsO,OACd5M,QAAQgN,IAAI,cAAeC,EAE9B,CAEO,WAAAqD,CAAYjC,GAClB,MAAO,GAAG/B,KAAKhO,OAAOI,mBAAmB2P,GAC1C,CAEO,OAAAkC,GACN,MAAMC,EAA8B,oBAAXtF,OAEzB,MAAO,CACLuF,IAAKD,EAAYtF,OAAOC,SAASlD,KAAO,GACxCyI,SAAUF,EAAY3F,SAAS6F,SAAW,GAC1CC,UAAWH,EAAYnP,UAAUsP,UAAY,GAC7CC,SAAUJ,EAAYnP,UAAUuP,SAAW,GAC3CC,SAAUL,GAAY/N,MAAMqO,oBAAoBC,qBAAqBC,UAAiB,GACtFtG,UAAWR,KAAKC,MAChB8G,WHjEiB,QGmEpB,CAEO,aAAAC,CAAc7C,EAAeC,EAAkB3M,GACrD2K,KAAKU,IAAI,sBAAuBqB,GAChC/B,KAAK+D,WAAWjC,KAAKC,EAAOC,EAAU3M,EACvC,CAED,UAAMwP,CACJ9C,EACAf,GAEA,MAAMiB,EAAqD,CACzDF,QACAf,OACA8D,KAAM9E,KAAKiE,UACXL,eAAgB5D,KAAKhO,OAAO4R,gBAG9B5D,KAAKU,IAAI,iBAAkBqB,EAAOE,GAElC,MAAMD,EAAWhC,KAAKgE,YAAYjC,GAC5B1M,EAAOC,KAAKC,UAAU0M,GAE5B,GAAyB,oBAAdlN,WAA6BA,UAAUgQ,WAAY,CAC5D,MAAMC,EAAO,IAAIC,KAAK,CAAC5P,GAAO,CAAE4E,KAAM,qBAEtC,IAEE,GADgBlF,UAAUgQ,WAAW/C,EAAUgD,GAG7C,OADAhF,KAAKU,IAAI,uBACF,EAETV,KAAKU,IAAI,gEACV,CAAC,MAAO5N,GACPkN,KAAKU,IAAI,iDAAkD5N,EAC5D,CACF,CAED,IACE,MAAMM,QAAiBC,MAAM2O,EAAU,CACrC5M,OAAQ,OACRpC,QAAS,CACP,eAAgB,oBAElBqC,OACAiN,WAAW,IAGb,OAAIlP,EAASE,IACX0M,KAAKU,IAAI,iBAAkBtN,EAASmP,SAC7B,GAGLnP,EAASmP,QAAU,KAA2B,MAApBnP,EAASmP,QAAsC,MAApBnP,EAASmP,QAChEvC,KAAKU,IAAI,oCAAqCtN,EAASmP,QACvDvC,KAAK4E,cAAc7C,EAAOC,EAAU3M,IAC7B,IAGT2K,KAAKU,IAAI,8BAA+BtN,EAASmP,SAC1C,EACR,CAAC,MAAOzP,GAGP,OAFAkN,KAAKU,IAAI,mCAAoC5N,GAC7CkN,KAAK4E,cAAc7C,EAAOC,EAAU3M,IAC7B,CACR,CACF,CAED,UAAA6P,CAAWlE,GACT,OAAOhB,KAAK6E,KAAK,QAAS7D,EAC3B,CAED,WAAAmE,CAAYnE,GAOV,OAAOhB,KAAK6E,KAAK,SAAU7D,EAC5B,CAED,SAAAoE,CAAUpE,GASR,OAAOhB,KAAK6E,KAAK,OAAQ7D,EAC1B,CAED,aAAAqE,CAAcrE,GACZ,OAAOhB,KAAK6E,KAAK,WAAY7D,EAC9B,CAED,cAAAyC,GACE,OAAOzD,KAAK+D,WAAWN,gBACxB,CAED,UAAA6B,GACEtF,KAAK+D,WAAWL,OACjB,QCzJU6B,EAMX,WAAAxF,CAAY/N,GAHJgO,KAAWwF,aAAY,EACvBxF,KAAYyF,aAAwB,KAG1CzF,KAAKhO,OAAS,CACZ4R,eAAgB5R,EAAO4R,eACvBC,YAAa7R,EAAO6R,aAAe,GACnCzR,OAAQJ,EAAOI,QAAUN,EACzB4T,cAAe1T,EAAO0T,eJzBE,MI0BxBjI,WAAYzL,EAAOyL,YAAcF,EACjCoI,iBAAkB3T,EAAO2T,kBJ5BG,GI6B5BrF,MAAOtO,EAAOsO,QAAS,EACvBsF,WAAgC,IAArB5T,EAAO4T,WAGpB5F,KAAK6F,QAAU,IAAIlC,EAAQ,CACzBvR,OAAQ4N,KAAKhO,OAAOI,OACpBwR,eAAgB5D,KAAKhO,OAAO4R,eAC5BC,YAAa7D,KAAKhO,OAAO6R,YACzBvD,MAAON,KAAKhO,OAAOsO,QAGrBN,KAAK8F,mBAED9F,KAAKhO,OAAO4T,WACd5F,KAAK+F,oBAGP/F,KAAKgG,gBACN,CAEO,GAAAtF,IAAOC,GACTX,KAAKhO,OAAOsO,OACd5M,QAAQgN,IAAI,cAAeC,EAE9B,CAEO,cAAAqF,GACgB,oBAAXpH,SACTA,OAAOqH,OAASjG,KACZA,KAAKyF,eACP7G,OAAOsH,cAAgBlG,KAAKyF,aAAa9H,OAG9C,CAEO,gBAAAmI,GACN9F,KAAKyF,aAAetG,EAAgBa,KAAKhO,OAAOyL,YAC5CuC,KAAKyF,cACPzF,KAAKU,IAAI,oCAAqCV,KAAKyF,aAEtD,CAEO,iBAAAM,GACN,GAAsB,oBAAXnH,OAAwB,OAEnC,MAAMtK,GHjCkB6R,EGiCCnG,KAAKhO,OAAO0T,cHhCjB,oBAAX9G,OAA+B,KAExB,IAAIwH,gBAAgBxH,OAAOC,SAASwH,QACrCC,IAAIH,IAJjB,IAAsBA,EGkCpB7R,GAAQA,IAAS0L,KAAKyF,cAAcnR,OACtC0L,KAAKU,IAAI,iCAAkCpM,GAC3C0L,KAAKkF,WAAW5Q,GAEnB,CAED,QAAAiS,GACE,OAAOvG,KAAKyF,cAAc9H,OAAS,IACpC,CAED,OAAA6I,GACE,OAAOxG,KAAKyF,cAAcnR,MAAQ,IACnC,CAED,eAAA6K,GACE,OAAOa,KAAKyF,YACb,CAED,WAAAgB,GACE,OAA6B,OAAtBzG,KAAKyF,YACb,CAED,aAAAiB,GACE7G,EAAkBG,KAAKhO,OAAOyL,YAC9BuC,KAAKyF,aAAe,KACE,oBAAX7G,eACFA,OAAOsH,cAEhBlG,KAAKU,IAAI,wBACV,CAED,gBAAMwE,CAAW5Q,GAaf,OAZA0L,KAAKyF,aAAejI,EAClBlJ,EACA0L,KAAKhO,OAAOyL,WACZuC,KAAKhO,OAAO2T,kBAGQ,oBAAX/G,SACTA,OAAOsH,cAAgBlG,KAAKyF,aAAa9H,OAG3CqC,KAAKU,IAAI,2BAA4BpM,EAAM,SAAU0L,KAAKyF,aAAa9H,OAEhEqC,KAAK6F,QAAQX,WAAW,CAC7B5Q,KAAM0L,KAAKyF,aAAanR,KACxBqJ,MAAOqC,KAAKyF,aAAa9H,OAE5B,CAED,YAAMgJ,CAAO3F,EAAwB,IACnC,OAAKhB,KAAKyF,cAKVzF,KAAKU,IAAI,mBAAoBM,GAEtBhB,KAAK6F,QAAQV,YAAY,CAC9B7Q,KAAM0L,KAAKyF,aAAanR,KACxBqJ,MAAOqC,KAAKyF,aAAa9H,MACzBzL,MAAO8O,EAAK9O,MACZ0U,mBAAoB5F,EAAK4F,mBACzBC,SAAU7F,EAAK6F,aAXf7G,KAAKU,IAAI,+CACF,EAYV,CAED,UAAMoG,CAAK9F,GACT,OAAKhB,KAAKyF,cAKVzF,KAAKU,IAAI,iBAAkBM,GAEpBhB,KAAK6F,QAAQT,UAAU,CAC5B9Q,KAAM0L,KAAKyF,aAAanR,KACxBqJ,MAAOqC,KAAKyF,aAAa9H,MACzBiJ,mBAAoB5F,EAAK4F,mBACzBG,OAAQ/F,EAAK+F,OACbjR,SAAUkL,EAAKlL,SACfkR,SAAUhG,EAAKgG,UAAY,SAC3BH,SAAU7F,EAAK6F,aAbf7G,KAAKU,IAAI,6CACF,EAcV,CAED,cAAMuG,GACJ,QAAKjH,KAAKyF,cAIHzF,KAAK6F,QAAQR,cAAc,CAChC/Q,KAAM0L,KAAKyF,aAAanR,KACxBqJ,MAAOqC,KAAKyF,aAAa9H,OAE5B,CAED,0BAAAuJ,GACE,OAAOlH,KAAKyF,cAAc9H,OAAS,IACpC,CAED,iBAAAwJ,GACE,OAAKnH,KAAKyF,aAIH,CACLS,cAAelG,KAAKyF,aAAa9H,MACjCyJ,YAAapH,KAAKyF,aAAanR,MALxB,EAOV,CAED,oBAAM+S,CAAe/S,GACnB,MAAMgT,EAActH,KAAKhO,OAAO6R,YAC5B,uBAAuB7D,KAAKhO,OAAO6R,wBAAwB7E,mBAAmB1K,KAC9E,uBAAuB0K,mBAAmB1K,KACxC6P,EAAM,GAAGnE,KAAKhO,OAAOI,SAASkV,IAEpC,IACE,MAAMlU,QAAiBC,MAAM8Q,EAAK,CAChCnR,QAAS,CACPuU,cAAe,UAAUvH,KAAKhO,OAAO4R,oBAIzC,IAAKxQ,EAASE,GAAI,CAChB,GAAwB,MAApBF,EAASmP,OAEX,OADAvC,KAAKU,IAAI,mCAAoCpM,GACtC,KAET,MAAM,IAAIf,MAAM,uBAAuBH,EAASmP,SACjD,CAED,MAAMvB,QAAa5N,EAASI,OAE5B,OADAwM,KAAKU,IAAI,wBAAyBM,GAC3BA,CACR,CAAC,MAAOlO,GAEP,OADAkN,KAAKU,IAAI,+BAAgC5N,GAClC,IACR,CACF,CAED,cAAA0U,GACE,OAAOxH,KAAKhO,OAAO6R,WACpB,EAGH,IAAI4D,EAAqC,cC7NzBC,GAAUC,UACxBA,EAAS9D,YACTA,EAAWzR,OACXA,EAAMsT,cACNA,EAAaC,iBACbA,EAAgBrF,MAChBA,GAAQ,EAAKsH,SACbA,IAgBA,OAdAxT,GAAU,KACc,oBAAXwK,SDsNb6I,EAAgB,IAAIlC,ECpNb,CACH3B,eAAgB+D,EAChB9D,cACAzR,SACAsT,gBACAC,mBACArF,QACAsF,WAAW,IACX,GACD,CAAC+B,EAAW9D,EAAazR,EAAQsT,EAAeC,EAAkBrF,IAE9DsH,GAAY,IACrB,CCpBa,MAAAC,EAAgC,EAC3CC,OAAO,GACPpQ,QAAQ,eACRqQ,eAGExR,uBACEwR,UAAWA,EACX3K,MAAO0K,EACPE,OAAQF,EACRG,QAAQ,YACRC,MAAM,6BACN7R,MAAO,CACL8R,UAAW,mCAGb5R,EACGC,cAAA,QAAA,KAAA,6JAOHD,EAAAC,cAAA,SAAA,CACE4R,GAAG,KACHC,GAAG,KACHC,EAAE,KACFC,OAAQ7Q,EACR8Q,YAAY,IACZC,KAAK,OACLC,cAAc,QACdC,gBAAgB,YAChBC,QAAQ,SAEVrS,EAAAC,cAAA,SAAA,CACE4R,GAAG,KACHC,GAAG,KACHC,EAAE,KACFC,OAAQ7Q,EACR8Q,YAAY,IACZC,KAAK,OACLC,cAAc,QACdC,gBAAgB,YAChBE,iBAAiB,OACjBxS,MAAO,CACL8R,UAAW"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../src/react/usePartner.ts","../../src/react/ReferralStats.tsx","../../src/react/ReferralWidget.tsx","../../src/react/ReferralLink.tsx","../../src/constants.ts","../../src/utils.ts","../../src/retry-queue.ts","../../src/tracker.ts","../../src/blossu.ts","../../src/react/Analytics.tsx","../../src/react/Loader.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["DEFAULT_API_URL","usePartner","config","workspaceId","email","signature","apiUrl","partner","setPartner","useState","codes","setCodes","stats","setStats","isLoading","setIsLoading","error","setError","headers","fetchPartner","useCallback","async","response","fetch","ok","Error","json","err","console","fetchCodes","fetchStats","refresh","partnerData","codesData","statsData","Promise","all","message","useEffect","referralLink","code","defaultUrl","id","codeData","find","c","destinationUrl","copyLink","link","navigator","clipboard","writeText","createCode","displayName","method","body","JSON","stringify","newCode","prev","ReferralStats","clicks","conversions","revenue","currency","label","value","toLocaleString","cents","Intl","NumberFormat","style","format","React","createElement","styles","container","map","stat","key","card","display","gridTemplateColumns","gap","fontFamily","padding","backgroundColor","border","borderRadius","textAlign","fontSize","fontWeight","color","textTransform","letterSpacing","marginBottom","ReferralWidget","theme","primaryColor","showCreateCode","setShowCreateCode","setNewCode","newDisplayName","setNewDisplayName","isCreating","setIsCreating","themeStyles","isDark","borderColor","title","text","subtitle","earning","input","getThemeStyles","loading","formatCurrency","header","headerIcon","earningLabel","earningValue","totalEarned","pendingBalance","earningPending","section","sectionTitle","totalRevenue","sectionHeader","onClick","createButton","createForm","type","placeholder","onChange","e","target","createActions","cancelButton","trim","undefined","disabled","primaryButton","codesList","length","emptyState","codeCard","codeHeader","codeName","isDefault","defaultBadge","codeDisplayName","copyButton","codeStats","codeStat","codeStatValue","codeStatLabel","footer","href","rel","footerLink","maxWidth","margin","marginTop","justifyContent","alignItems","cursor","transition","flexDirection","outline","paddingTop","borderTop","textDecoration","ReferralLink","showCopyButton","onCopy","copied","setCopied","inputGroup","readOnly","select","setTimeout","button","width","flex","whiteSpace","COOKIE_NAME","saveReferralInfo","cookieName","expiryDays","refId","Date","now","toString","Math","random","substring","info","toLowerCase","timestamp","name","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","setCookie","getReferralInfo","nameEQ","cookies","split","i","charAt","indexOf","decodeURIComponent","getCookie","parse","clearReferralInfo","RetryQueue","constructor","this","processing","timer","maxAttempts","baseDelay","maxDelay","debug","startProcessing","addEventListener","visibilityState","log","args","getStorageKey","generateId","getQueue","localStorage","data","getItem","saveQueue","queue","removeItem","setItem","calculateBackoff","attemptNumber","exponentialDelay","pow","jitter","delay","min","round","push","event","endpoint","payload","item","createdAt","nextRetryAt","processItem","keepalive","status","processQueue","onLine","readyItems","filter","nextItem","reduce","max","scheduleProcessing","success","currentQueue","index","findIndex","q","splice","backoff","remainingQueue","clearTimeout","getQueueLength","clear","Tracker","publishableKey","programSlug","maxRetries","retryQueue","getEndpoint","getUtmParams","utmSource","utmMedium","utmCampaign","utmTerm","utmContent","params","URLSearchParams","search","get","getMeta","isBrowser","utmParams","url","referrer","userAgent","language","timezone","DateTimeFormat","resolvedOptions","timeZone","sdkVersion","windowWidth","innerWidth","windowHeight","innerHeight","screenWidth","screen","screenHeight","height","queueForRetry","send","meta","sendBeacon","blob","Blob","trackClick","trackSignup","trackSale","trackPageview","clearQueue","BlossuClient","initialized","referralInfo","trackingParam","cookieExpiryDays","autoTrack","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","blossu_ref_id","param","getRefId","getCode","hasReferral","clearReferral","signup","customerExternalId","metadata","sale","amount","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","programPath","Authorization","getProgramSlug","defaultClient","Analytics","publicKey","children","Loader","size","className","viewBox","xmlns","animation","cx","cy","r","stroke","strokeWidth","fill","strokeLinecap","strokeDasharray","opacity","strokeDashoffset"],"mappings":"oEAGA,MAAMA,EAAkB,yBAElB,SAAUC,EAAWC,GACzB,MAAMC,YAAEA,EAAWC,MAAEA,EAAKC,UAAEA,EAASC,OAAEA,EAASN,GAAoBE,GAE7DK,EAASC,GAAcC,EAAyB,OAChDC,EAAOC,GAAYF,EAAyB,KAC5CG,EAAOC,GAAYJ,EAA8B,OACjDK,EAAWC,GAAgBN,GAAS,IACpCO,EAAOC,GAAYR,EAAwB,MAE5CS,EAAU,CACd,eAAgB,mBAChB,qBAAsBf,EACtB,iBAAkBC,EAClB,qBAAsBC,GAGlBc,EAAeC,GAAYC,UAC/B,IACE,MAAMC,QAAiBC,MAAM,GAAGjB,kBAAwB,CAAEY,YAC1D,IAAKI,EAASE,GAAI,MAAM,IAAIC,MAAM,2BAElC,aADmBH,EAASI,QAChBnB,OACb,CAAC,MAAOoB,GAEP,OADAC,QAAQZ,MAAM,0BAA2BW,GAClC,IACR,IACA,CAACrB,EAAQH,EAAaC,EAAOC,IAE1BwB,EAAaT,GAAYC,UAC7B,IACE,MAAMC,QAAiBC,MAAM,GAAGjB,qBAA2B,CAAEY,YAC7D,IAAKI,EAASE,GAAI,MAAM,IAAIC,MAAM,yBAElC,aADmBH,EAASI,QAChBhB,OAAS,EACtB,CAAC,MAAOiB,GAEP,OADAC,QAAQZ,MAAM,wBAAyBW,GAChC,EACR,IACA,CAACrB,EAAQH,EAAaC,EAAOC,IAE1ByB,EAAaV,GAAYC,UAC7B,IACE,MAAMC,QAAiBC,MAAM,GAAGjB,qBAA2B,CAAEY,YAC7D,IAAKI,EAASE,GAAI,MAAM,IAAIC,MAAM,yBAElC,aADmBH,EAASI,QAChBd,KACb,CAAC,MAAOe,GAEP,OADAC,QAAQZ,MAAM,wBAAyBW,GAChC,IACR,IACA,CAACrB,EAAQH,EAAaC,EAAOC,IAE1B0B,EAAUX,GAAYC,UAC1BN,GAAa,GACbE,EAAS,MAET,IACE,MAAOe,EAAaC,EAAWC,SAAmBC,QAAQC,IAAI,CAC5DjB,IACAU,IACAC,MAGFtB,EAAWwB,GACXrB,EAASsB,GACTpB,EAASqB,EACV,CAAC,MAAOP,GACPV,EAASU,aAAeF,MAAQE,EAAIU,QAAU,sBAC/C,CAAS,QACRtB,GAAa,EACd,IACA,CAACI,EAAcU,EAAYC,IAE9BQ,GAAU,KACRP,GAAS,GACR,CAACA,IAEJ,MAAMQ,EAAenB,GAAaoB,IAChC,MAAMC,EAAalC,GAASmC,GAAK,sBAAwB,GACnDC,EAAWjC,EAAMkC,MAAMC,GAAMA,EAAEL,OAASA,IAE9C,MAAO,GADSG,GAAUG,gBAAkBL,SACnBD,GAAM,GAC9B,CAACjC,EAASG,IAEPqC,EAAW3B,GAAYC,MAAOmB,IAClC,MAAMQ,EAAOT,EAAaC,GAC1B,UACQS,UAAUC,UAAUC,UAAUH,EACrC,CAAC,MAAOrB,GAEP,MADAC,QAAQZ,MAAM,uBAAwBW,GAChCA,CACP,IACA,CAACY,IAEEa,EAAahC,GAAYC,MAC7BmB,EACAa,KAEA,IACE,MAAM/B,QAAiBC,MAAM,GAAGjB,qBAA2B,CACzDgD,OAAQ,OACRpC,UACAqC,KAAMC,KAAKC,UAAU,CAAEjB,OAAMa,kBAG/B,IAAK/B,EAASE,GACZ,MAAM,IAAIC,MAAM,yBAGlB,MACMiC,SADapC,EAASI,QACPc,KAGrB,OADA7B,GAAUgD,GAAS,IAAIA,EAAMD,KACtBA,CACR,CAAC,MAAO/B,GAEP,OADAC,QAAQZ,MAAM,uBAAwBW,GAC/B,IACR,IACA,CAACrB,EAAQH,EAAaC,EAAOC,IAEhC,MAAO,CACLE,UACAG,QACAE,QACAE,YACAE,QACAuB,eACAQ,WACAK,aACArB,UAEJ,CCrIgB,SAAA6B,GAAcC,OAC5BA,EAAMC,YACNA,EAAWC,QACXA,EAAOC,SACPA,EAAW,QAEX,MAOMpD,EAAQ,CACZ,CAAEqD,MAAO,SAAUC,MAAOL,EAAOM,kBACjC,CAAEF,MAAO,cAAeC,MAAOJ,EAAYK,kBAC3C,CAAEF,MAAO,UAAWC,OAVEE,EAUoBL,EATnC,IAAIM,KAAKC,aAAa,QAAS,CACpCC,MAAO,WACPP,aACCQ,OAAOJ,EAAQ,QAJG,IAACA,EAaxB,OACEK,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOC,WAChBhE,EAAMiE,KAAKC,GACVL,EAAKC,cAAA,MAAA,CAAAK,IAAKD,EAAKb,MAAOM,MAAOI,EAAOK,MAClCP,EAAKC,cAAA,MAAA,CAAAH,MAAOI,EAAOV,OAAQa,EAAKb,OAChCQ,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOT,OAAQY,EAAKZ,UAK1C,CAEA,MAAMS,EAA8C,CAClDC,UAAW,CACTK,QAAS,OACTC,oBAAqB,uCACrBC,IAAK,OACLC,WAAY,qEAEdJ,KAAM,CACJK,QAAS,OACTC,gBAAiB,UACjBC,OAAQ,oBACRC,aAAc,MACdC,UAAW,UAEbxB,MAAO,CACLyB,SAAU,OACVC,WAAY,IACZC,MAAO,UACPC,cAAe,YACfC,cAAe,SACfC,aAAc,OAEhB7B,MAAO,CACLwB,SAAU,OACVC,WAAY,IACZC,MAAO,qBCtDKI,GAAe7F,YAC7BA,EAAWC,MACXA,EAAKC,UACLA,EAASC,OACTA,EAAM2F,MACNA,EAAQ,QAAOC,aACfA,EAAe,YAEf,MAAM3F,QACJA,EAAOG,MACPA,EAAKE,MACLA,EAAKE,UACLA,EAASE,MACTA,EAAK+B,SACLA,EAAQK,WACRA,GACEnD,EAAW,CAAEE,cAAaC,QAAOC,YAAWC,YAEzC6F,EAAgBC,GAAqB3F,GAAS,IAC9CiD,EAAS2C,GAAc5F,EAAS,KAChC6F,EAAgBC,GAAqB9F,EAAS,KAC9C+F,EAAYC,GAAiBhG,GAAS,GAGvCiG,EAsMR,SAAwBC,GACtB,MAAO,CACL/B,UAAW,CACTU,gBAAiBqB,EAAS,UAAY,UACtCf,MAAOe,EAAS,UAAY,WAE9B3B,KAAM,CACJM,gBAAiBqB,EAAS,UAAY,UACtCC,YAAaD,EAAS,UAAY,WAEpCE,MAAO,CACLjB,MAAOe,EAAS,UAAY,WAE9BG,KAAM,CACJlB,MAAOe,EAAS,UAAY,WAE9BI,SAAU,CACRnB,MAAOe,EAAS,UAAY,WAE9BK,QAAS,CACP1B,gBAAiBqB,EAAS,UAAY,UACtCC,YAAaD,EAAS,UAAY,WAEpCM,MAAO,CACL3B,gBAAiBqB,EAAS,UAAY,UACtCC,YAAaD,EAAS,UAAY,UAClCf,MAAOe,EAAS,UAAY,WAGlC,CAnOsBO,CADK,SAAVjB,GAmBf,GAAInF,EACF,OACE2D,EAAAC,cAAA,MAAA,CAAKH,MAAO,IAAKI,EAAOC,aAAc8B,EAAY9B,YAChDH,EAAKC,cAAA,MAAA,CAAAH,MAAOI,EAAOwC,SAAyB,eAKlD,GAAInG,EACF,OACEyD,EAAAC,cAAA,MAAA,CAAKH,MAAO,IAAKI,EAAOC,aAAc8B,EAAY9B,YAChDH,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO3D,iBAAeA,IAKxC,IAAKT,EACH,OACEkE,EAAAC,cAAA,MAAA,CAAKH,MAAO,IAAKI,EAAOC,aAAc8B,EAAY9B,YAChDH,EAAKC,cAAA,MAAA,CAAAH,MAAOI,EAAO3D,OAA8B,sBAKvD,MAAMoG,EAAkBhD,GACf,IAAIC,KAAKC,aAAa,QAAS,CACpCC,MAAO,WACPP,SAAU,QACTQ,OAAOJ,EAAQ,KAGpB,OACEK,EAAAC,cAAA,MAAA,CAAKH,MAAO,IAAKI,EAAOC,aAAc8B,EAAY9B,YAChDH,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO0C,QACjB5C,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO2C,YAAoB,MACvC7C,EAAAC,cAAA,KAAA,CAAIH,MAAO,IAAKI,EAAOkC,SAAUH,EAAYG,QAExC,yBACLpC,EAAAC,cAAA,IAAA,CAAGH,MAAO,IAAKI,EAAOoC,YAAaL,EAAYK,6EAKjDtC,EAAAC,cAAA,MAAA,CAAKH,MAAO,IAAKI,EAAOqC,WAAYN,EAAYM,UAC9CvC,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO4C,cAAgC,gBACnD9C,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO6C,cAChBJ,EAAe7G,EAAQkH,cAEzBlH,EAAQmH,eAAiB,GACxBjD,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOgD,gBAChBP,EAAe7G,EAAQmH,gBACpB,aAIVjD,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOiD,SACjBnD,EAAAC,cAAA,KAAA,CAAIH,MAAO,IAAKI,EAAOkD,gBAAiBnB,EAAYI,OAAkB,SACtErC,EAACC,cAAAd,EACC,CAAAC,OAAQjD,GAAOiD,QAAU,EACzBC,YAAalD,GAAOkD,aAAe,EACnCC,QAASxD,EAAQuH,gBAIrBrD,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOiD,SACjBnD,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOoD,eACjBtD,EAAAC,cAAA,KAAA,CAAIH,MAAO,IAAKI,EAAOkD,gBAAiBnB,EAAYI,OAE/C,uBACLrC,EACEC,cAAA,SAAA,CAAAsD,QAAS,IAAM5B,GAAmBD,GAClC5B,MAAO,IAAKI,EAAOsD,aAAc3C,gBAAiBY,IAAc,kBAMnEC,GACC1B,EAAKC,cAAA,MAAA,CAAAH,MAAO,IAAKI,EAAOuD,cAAexB,EAAY1B,OACjDP,EAAAC,cAAA,QAAA,CACEyD,KAAK,OACLC,YAAY,wBACZlE,MAAOR,EACP2E,SAAWC,GAAMjC,EAAWiC,EAAEC,OAAOrE,OACrCK,MAAO,IAAKI,EAAOsC,SAAUP,EAAYO,SAE3CxC,EAAAC,cAAA,QAAA,CACEyD,KAAK,OACLC,YAAY,0BACZlE,MAAOoC,EACP+B,SAAWC,GAAM/B,EAAkB+B,EAAEC,OAAOrE,OAC5CK,MAAO,IAAKI,EAAOsC,SAAUP,EAAYO,SAE3CxC,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO6D,eACjB/D,EAAAC,cAAA,SAAA,CACEsD,QAAS,IAAM5B,GAAkB,GACjC7B,MAAOI,EAAO8D,cAGP,UACThE,EAAAC,cAAA,SAAA,CACEsD,QArHW3G,UACvB,GAAKqC,EAAQgF,OAAb,CAEAjC,GAAc,GACd,UACQrD,EAAWM,EAAS4C,QAAkBqC,GAC5CtC,EAAW,IACXE,EAAkB,IAClBH,GAAkB,EACnB,CAAC,MAAOzE,GACPC,QAAQZ,MAAM,yBAA0BW,EACzC,CAAS,QACR8E,GAAc,EACf,CAZ2B,CAY3B,EAyGWmC,UAAWlF,EAAQgF,QAAUlC,EAC7BjC,MAAO,IAAKI,EAAOkE,cAAevD,gBAAiBY,IAElDM,EAAa,cAAgB,YAMtC/B,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOmE,WACC,IAAjBpI,EAAMqI,OACLtE,EAAKC,cAAA,MAAA,CAAAH,MAAO,IAAKI,EAAOqE,cAAetC,EAAYK,4DAInDrG,EAAMmE,KAAKrC,GACTiC,EAAAC,cAAA,MAAA,CAAKK,IAAKvC,EAAKE,GAAI6B,MAAO,IAAKI,EAAOsE,YAAavC,EAAY1B,OAC7DP,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOuE,YACjBzE,EAAAC,cAAA,MAAA,KACED,EAAAC,cAAA,MAAA,CAAKH,MAAO,IAAKI,EAAOwE,YAAazC,EAAYI,OAC9CtE,EAAKA,KACLA,EAAK4G,WACJ3E,EAAMC,cAAA,OAAA,CAAAH,MAAOI,EAAO0E,cAA4B,YAGnD7G,EAAKa,aACJoB,EAAAC,cAAA,MAAA,CAAKH,MAAO,IAAKI,EAAO2E,mBAAoB5C,EAAYK,WACrDvE,EAAKa,cAIZoB,EACEC,cAAA,SAAA,CAAAsD,QAAS,IAAMjF,EAASP,EAAKA,MAC7B+B,MAAO,IAAKI,EAAO4E,WAAYjE,gBAAiBY,IAAc,SAKlEzB,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO6E,WACjB/E,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO8E,UACjBhF,EAAAC,cAAA,MAAA,CAAKH,MAAO,IAAKI,EAAO+E,iBAAkBhD,EAAYI,OACnDtE,EAAKqB,QAERY,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOgF,0BAErBlF,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO8E,UACjBhF,EAAAC,cAAA,MAAA,CAAKH,MAAO,IAAKI,EAAO+E,iBAAkBhD,EAAYI,OACnDtE,EAAKsB,aAERW,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOgF,+BAErBlF,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAO8E,UACjBhF,EAAKC,cAAA,MAAA,CAAAH,MAAO,IAAKI,EAAO+E,iBAAkBhD,EAAYI,OACnDM,EAAe5E,EAAKuB,UAEvBU,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOgF,eAAa,kBAS9ClF,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOiF,QACjBnF,EAAAC,cAAA,IAAA,CACEmF,KAAK,qBACLtB,OAAO,SACPuB,IAAI,sBACJvF,MAAO,IAAKI,EAAOoF,cAAerD,EAAYK,WAAU,sBAOlE,CAiCA,MAAMpC,EAA8C,CAClDC,UAAW,CACToF,SAAU,QACVC,OAAQ,SACR5E,QAAS,OACTG,aAAc,OACdD,OAAQ,oBACRH,WAAY,qEAEd+B,QAAS,CACP1B,UAAW,SACXJ,QAAS,OACTO,MAAO,WAET5E,MAAO,CACLqE,QAAS,OACTC,gBAAiB,UACjBM,MAAO,UACPJ,aAAc,MACdC,UAAW,UAEb4B,OAAQ,CACN5B,UAAW,SACXM,aAAc,QAEhBuB,WAAY,CACV5B,SAAU,OACVK,aAAc,QAEhBc,MAAO,CACLoD,OAAQ,UACRvE,SAAU,OACVC,WAAY,KAEdoB,SAAU,CACRkD,OAAQ,EACRvE,SAAU,QAEZsB,QAAS,CACP3B,QAAS,OACTG,aAAc,OACdD,OAAQ,YACRE,UAAW,SACXM,aAAc,QAEhBwB,aAAc,CACZ7B,SAAU,OACVC,WAAY,IACZC,MAAO,UACPC,cAAe,YACfC,cAAe,SACfC,aAAc,OAEhByB,aAAc,CACZ9B,SAAU,OACVC,WAAY,IACZC,MAAO,WAET+B,eAAgB,CACdjC,SAAU,OACVE,MAAO,UACPsE,UAAW,OAEbtC,QAAS,CACP7B,aAAc,QAEhBgC,cAAe,CACb9C,QAAS,OACTkF,eAAgB,gBAChBC,WAAY,SACZrE,aAAc,QAEhB8B,aAAc,CACZoC,OAAQ,EACRvE,SAAU,OACVC,WAAY,KAEdsC,aAAc,CACZ5C,QAAS,WACTK,SAAU,OACVC,WAAY,IACZC,MAAO,UACPL,OAAQ,OACRC,aAAc,MACd6E,OAAQ,UACRC,WAAY,gBAEdpC,WAAY,CACV7C,QAAS,OACTG,aAAc,MACdO,aAAc,OACdd,QAAS,OACTsF,cAAe,SACfpF,IAAK,QAEP8B,MAAO,CACL5B,QAAS,YACTK,SAAU,OACVH,OAAQ,YACRC,aAAc,MACdgF,QAAS,QAEXhC,cAAe,CACbvD,QAAS,OACTE,IAAK,MACLgF,eAAgB,YAElB1B,aAAc,CACZpD,QAAS,WACTK,SAAU,OACVC,WAAY,IACZC,MAAO,UACPN,gBAAiB,cACjBC,OAAQ,oBACRC,aAAc,MACd6E,OAAQ,WAEVxB,cAAe,CACbxD,QAAS,WACTK,SAAU,OACVC,WAAY,IACZC,MAAO,UACPL,OAAQ,OACRC,aAAc,MACd6E,OAAQ,WAEVvB,UAAW,CACT7D,QAAS,OACTsF,cAAe,SACfpF,IAAK,QAEP6D,WAAY,CACV3D,QAAS,OACTI,UAAW,SACXC,SAAU,QAEZuD,SAAU,CACR5D,QAAS,OACTG,aAAc,MACdD,OAAQ,aAEV2D,WAAY,CACVjE,QAAS,OACTkF,eAAgB,gBAChBC,WAAY,aACZrE,aAAc,QAEhBoD,SAAU,CACRzD,SAAU,OACVC,WAAY,IACZV,QAAS,OACTmF,WAAY,SACZjF,IAAK,OAEPkE,aAAc,CACZ3D,SAAU,OACVC,WAAY,IACZC,MAAO,UACPN,gBAAiB,UACjBD,QAAS,UACTG,aAAc,OAEhB8D,gBAAiB,CACf5D,SAAU,OACVwE,UAAW,OAEbX,WAAY,CACVlE,QAAS,WACTK,SAAU,OACVC,WAAY,IACZC,MAAO,UACPL,OAAQ,OACRC,aAAc,MACd6E,OAAQ,WAEVb,UAAW,CACTvE,QAAS,OACTC,oBAAqB,iBACrBC,IAAK,OACLsF,WAAY,OACZC,UAAW,qBAEbjB,SAAU,CACRhE,UAAW,UAEbiE,cAAe,CACbhE,SAAU,OACVC,WAAY,KAEdgE,cAAe,CACbjE,SAAU,OACVE,MAAO,UACPsE,UAAW,OAEbN,OAAQ,CACNnE,UAAW,SACXgF,WAAY,OACZC,UAAW,qBAEbX,WAAY,CACVrE,SAAU,OACViF,eAAgB,SCxcJ,SAAAC,GAAapI,KAC3BA,EAAIM,eACJA,EAAcmB,MACdA,EAAK4G,eACLA,GAAiB,EAAIC,OACrBA,IAEA,MAAOC,EAAQC,GAAavK,GAAS,GAC/BuC,EAAO,GAAGF,SAAsBN,IAatC,OACEiC,EAAKC,cAAA,MAAA,CAAAH,MAAOI,EAAOC,WAChBX,GAASQ,yBAAOF,MAAOI,EAAOV,OAAQA,GACvCQ,EAAAC,cAAA,MAAA,CAAKH,MAAOI,EAAOsG,YACjBxG,EAAAC,cAAA,QAAA,CACEyD,KAAK,OACLjE,MAAOlB,EACPkI,UAAQ,EACR3G,MAAOI,EAAOsC,MACde,QAAUM,GAAOA,EAAEC,OAA4B4C,WAEhDN,GACCpG,EAAAC,cAAA,SAAA,CAAQsD,QAvBG3G,UACjB,UACQ4B,UAAUC,UAAUC,UAAUH,GACpCgI,GAAU,GACVF,MACAM,YAAW,IAAMJ,GAAU,IAAQ,IACpC,CAAC,MAAOrJ,GACPC,QAAQZ,MAAM,kBAAmBW,EAClC,GAekC4C,MAAOI,EAAO0G,QACxCN,EAAS,YAAc,SAMpC,CAEA,MAAMpG,EAA8C,CAClDC,UAAW,CACT0G,MAAO,OACPlG,WAAY,qEAEdnB,MAAO,CACLgB,QAAS,QACTc,aAAc,MACdL,SAAU,OACVC,WAAY,IACZC,MAAO,WAETqF,WAAY,CACVhG,QAAS,OACTE,IAAK,OAEP8B,MAAO,CACLsE,KAAM,EACNlG,QAAS,YACTK,SAAU,OACVH,OAAQ,oBACRC,aAAc,MACdF,gBAAiB,UACjBM,MAAO,UACP4E,QAAS,QAEXa,OAAQ,CACNhG,QAAS,YACTK,SAAU,OACVC,WAAY,IACZC,MAAO,UACPN,gBAAiB,UACjBC,OAAQ,OACRC,aAAc,MACd6E,OAAQ,UACRmB,WAAY,SACZlB,WAAY,0BChFHtK,EAAkB,yBAClByL,EAAc,aCiDrB,SAAUC,EACdlJ,EACAmJ,EAAqBF,EACrBG,EDnDgC,ICqDhC,MAAMC,EAlDC,OAFWC,KAAKC,MAAMC,SAAS,OACnBC,KAAKC,SAASF,SAAS,IAAIG,UAAU,EAAG,MAoDrDC,EAAqB,CACzB5J,KAAMA,EAAK6J,cACXR,QACAS,UAAWR,KAAKC,OAKlB,gBAxDwBQ,EAAcrI,EAAesI,GACrD,GAAwB,oBAAbC,SAA0B,OAErC,MAAMC,EAAU,IAAIZ,KACpBY,EAAQC,QAAQD,EAAQE,UAAmB,GAAPJ,EAAY,GAAK,GAAK,KAE1D,MACMK,EAAsC,WAA7BC,OAAOC,SAASC,SAAwB,WAAa,GAEpEP,SAASQ,OAAS,GAAGV,KAAQW,mBAAmBhJ,eAAmBwI,EAAQS,sCAA8CN,GAC3H,CA4CEO,CAAUzB,EAAYnI,KAAKC,UAAU2I,GAAOR,GAErCQ,CACT,CAEgB,SAAAiB,EACd1B,EAAqBF,GAErB,MAAMwB,EAlDF,SAAoBV,GACxB,GAAwB,oBAAbE,SAA0B,OAAO,KAE5C,MAAMa,EAAS,GAAGf,KACZgB,EAAUd,SAASQ,OAAOO,MAAM,KAEtC,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAQxE,OAAQ0E,IAAK,CACvC,IAAIR,EAASM,EAAQE,GACrB,KAA4B,MAArBR,EAAOS,OAAO,IACnBT,EAASA,EAAOd,UAAU,EAAGc,EAAOlE,QAEtC,GAA+B,IAA3BkE,EAAOU,QAAQL,GACjB,OAAOM,mBAAmBX,EAAOd,UAAUmB,EAAOvE,OAAQkE,EAAOlE,QAEpE,CACD,OAAO,IACT,CAkCiB8E,CAAUlC,GACzB,IAAKsB,EAAQ,OAAO,KAEpB,IACE,OAAOzJ,KAAKsK,MAAMb,EACnB,CAAC,MACA,OAAO,IACR,CACH,CAEgB,SAAAc,EAAkBpC,EAAqBF,GA1CjD,IAAuBc,IA2CdZ,EA1CW,oBAAbc,WACXA,SAASQ,OAAS,GAAGV,qDA0CvB,OC5DayB,EASX,WAAAC,CAAY/N,GAHJgO,KAAUC,YAAY,EACtBD,KAAKE,MAAyC,KAGpDF,KAAK3B,KAAO,gBAAgBrM,EAAOqM,MAAQ,YAC3C2B,KAAKG,YAAcnO,EAAOmO,aAfD,GAgBzBH,KAAKI,UAAYpO,EAAOoO,WAfD,IAgBvBJ,KAAKK,SAAWrO,EAAOqO,UAfD,IAgBtBL,KAAKM,MAAQtO,EAAOsO,QAAS,EAE7BN,KAAKO,kBAEiB,oBAAX3B,SACTA,OAAO4B,iBAAiB,UAAU,IAAMR,KAAKO,oBAC7ChC,SAASiC,iBAAiB,oBAAoB,KACX,YAA7BjC,SAASkC,iBACXT,KAAKO,iBACN,IAGN,CAEO,GAAAG,IAAOC,GACTX,KAAKM,OACP5M,QAAQgN,IAAI,oBAAqBC,EAEpC,CAEO,aAAAC,GACN,OAAOZ,KAAK3B,IACb,CAEO,UAAAwC,GACN,MAAO,GAAGjD,KAAKC,SAASE,KAAKC,SAASF,SAAS,IAAIG,UAAU,EAAG,IACjE,CAEO,QAAA6C,GACN,GAA4B,oBAAjBC,aACT,MAAO,GAGT,IACE,MAAMC,EAAOD,aAAaE,QAAQjB,KAAKY,iBACvC,OAAKI,EACE1L,KAAKsK,MAAMoB,GADA,EAEnB,CAAC,MAAOlO,GAEP,OADAkN,KAAKU,IAAI,uBAAwB5N,GAC1B,EACR,CACF,CAEO,SAAAoO,CAAUC,GAChB,GAA4B,oBAAjBJ,aAIX,IACuB,IAAjBI,EAAMtG,OACRkG,aAAaK,WAAWpB,KAAKY,iBAE7BG,aAAaM,QAAQrB,KAAKY,gBAAiBtL,KAAKC,UAAU4L,GAE7D,CAAC,MAAOrO,GACPkN,KAAKU,IAAI,sBAAuB5N,EACjC,CACF,CAEO,gBAAAwO,CAAiBC,GACvB,MAAMC,EAAmBxB,KAAKI,UAAYrC,KAAK0D,IAAI,EAAGF,EAAgB,GAChEG,EAAyB,GAAhB3D,KAAKC,SAAiBwD,EAC/BG,EAAQ5D,KAAK6D,IAAIJ,EAAmBE,EAAQ1B,KAAKK,UACvD,OAAOtC,KAAK8D,MAAMF,EACnB,CAED,IAAAG,CAAKC,EAAeC,EAAkBC,GACpC,MAAMd,EAAQnB,KAAKc,WAEboB,EAAkB,CACtB1N,GAAIwL,KAAKa,aACTkB,QACAC,WACAC,UACAV,cAAe,EACfpB,YAAaH,KAAKG,YAClBgC,UAAWvE,KAAKC,MAChBuE,YAAaxE,KAAKC,OAGpBsD,EAAMW,KAAKI,GACXlC,KAAKkB,UAAUC,GACfnB,KAAKU,IAAI,kBAAmBwB,EAAK1N,GAAIuN,GAErC/B,KAAKO,iBACN,CAEO,iBAAM8B,CAAYH,GACxBlC,KAAKU,IAAI,mBAAoBwB,EAAK1N,GAAI,WAAY0N,EAAKX,cAAgB,GAEvE,IACE,MAAMnO,QAAiBC,MAAM6O,EAAKF,SAAU,CAC1C5M,OAAQ,OACRpC,QAAS,CACP,eAAgB,oBAElBqC,KAAM6M,EAAKD,QACXK,WAAW,IAGb,OAAIlP,EAASE,IACX0M,KAAKU,IAAI,qBAAsBwB,EAAK1N,KAC7B,GAGLpB,EAASmP,QAAU,KAAOnP,EAASmP,OAAS,KAA2B,MAApBnP,EAASmP,QAAsC,MAApBnP,EAASmP,QACzFvC,KAAKU,IAAI,8BAA+BwB,EAAK1N,GAAIpB,EAASmP,SACnD,IAGTvC,KAAKU,IAAI,4BAA6BwB,EAAK1N,GAAIpB,EAASmP,SACjD,EACR,CAAC,MAAOzP,GAEP,OADAkN,KAAKU,IAAI,6BAA8BwB,EAAK1N,GAAI1B,IACzC,CACR,CACF,CAEO,kBAAM0P,GACZ,IAAIxC,KAAKC,WAIT,GAAyB,oBAAdlL,WAA8BA,UAAU0N,OAAnD,CAKAzC,KAAKC,YAAa,EAElB,IACE,MAAMkB,EAAQnB,KAAKc,WACnB,GAAqB,IAAjBK,EAAMtG,OAER,YADAmF,KAAKC,YAAa,GAIpB,MAAMpC,EAAMD,KAAKC,MACX6E,EAAavB,EAAMwB,QAAQT,GAASA,EAAKE,aAAevE,IAE9D,GAA0B,IAAtB6E,EAAW7H,OAAc,CAC3B,MAAM+H,EAAWzB,EAAM0B,QAAO,CAACjB,EAAKM,IAClCA,EAAKE,YAAcR,EAAIQ,YAAcF,EAAON,IAExCD,EAAQ5D,KAAK+E,IAAI,EAAGF,EAASR,YAAcvE,GAGjD,OAFAmC,KAAK+C,mBAAmBpB,QACxB3B,KAAKC,YAAa,EAEnB,CAED,IAAK,MAAMiC,KAAQQ,EAAY,CAC7BR,EAAKX,gBACL,MAAMyB,QAAgBhD,KAAKqC,YAAYH,GAEjCe,EAAejD,KAAKc,WACpBoC,EAAQD,EAAaE,WAAWC,GAAMA,EAAE5O,KAAO0N,EAAK1N,KAE1D,IAAe,IAAX0O,EAIJ,GAAIF,EACFC,EAAaI,OAAOH,EAAO,GAC3BlD,KAAKkB,UAAU+B,QACV,GAAIf,EAAKX,eAAiBW,EAAK/B,YACpCH,KAAKU,IAAI,kCAAmCwB,EAAK1N,IACjDyO,EAAaI,OAAOH,EAAO,GAC3BlD,KAAKkB,UAAU+B,OACV,CACL,MAAMK,EAAUtD,KAAKsB,iBAAiBY,EAAKX,eAC3C0B,EAAaC,GAAO3B,cAAgBW,EAAKX,cACzC0B,EAAaC,GAAOd,YAAcxE,KAAKC,MAAQyF,EAC/CtD,KAAKkB,UAAU+B,GACfjD,KAAKU,IAAI,qBAAsB4C,EAAS,UAAWpB,EAAK1N,GACzD,CACF,CAED,MAAM+O,EAAiBvD,KAAKc,WAC5B,GAAIyC,EAAe1I,OAAS,EAAG,CAC7B,MAAM+H,EAAWW,EAAeV,QAAO,CAACjB,EAAKM,IAC3CA,EAAKE,YAAcR,EAAIQ,YAAcF,EAAON,IAExCD,EAAQ5D,KAAK+E,IAAI,EAAGF,EAASR,YAAcxE,KAAKC,OACtDmC,KAAK+C,mBAAmBpB,EACzB,CACF,CAAS,QACR3B,KAAKC,YAAa,CACnB,CA7DA,MAFCD,KAAKU,IAAI,+BAgEZ,CAEO,kBAAAqC,CAAmBpB,GACrB3B,KAAKE,OACPsD,aAAaxD,KAAKE,OAEpBF,KAAKE,MAAQhD,YAAW,IAAM8C,KAAKwC,gBAAgBb,EACpD,CAEO,eAAApB,GACNP,KAAK+C,mBAAmB,EACzB,CAED,cAAAU,GACE,OAAOzD,KAAKc,WAAWjG,MACxB,CAED,KAAA6I,GACE1D,KAAKkB,UAAU,IACXlB,KAAKE,QACPsD,aAAaxD,KAAKE,OAClBF,KAAKE,MAAQ,KAEhB,QCtNUyD,EAIX,WAAA5D,CAAY/N,GACVgO,KAAKhO,OAAS,CACZI,OAAQJ,EAAOI,QAAUN,EACzB8R,eAAgB5R,EAAO4R,eACvBC,YAAa7R,EAAO6R,YACpBvD,MAAOtO,EAAOsO,QAAS,EACvBwD,WAAY9R,EAAO8R,YAGrB9D,KAAK+D,WAAa,IAAIjE,EAAW,CAC/BzB,KAAMrM,EAAO6R,YACb1D,YAAanO,EAAO8R,YAAc,GAClCxD,MAAOtO,EAAOsO,QAAS,GAE1B,CAEO,GAAAI,IAAOC,GACTX,KAAKhO,OAAOsO,OACd5M,QAAQgN,IAAI,cAAeC,EAE9B,CAEO,WAAAqD,CAAYjC,GAClB,MAAO,GAAG/B,KAAKhO,OAAOI,mBAAmB2P,GAC1C,CAEO,YAAAkC,GACN,GAAsB,oBAAXrF,OACT,MAAO,CAAEsF,UAAW,GAAIC,UAAW,GAAIC,YAAa,GAAIC,QAAS,GAAIC,WAAY,IAGnF,IACE,MAAMC,EAAS,IAAIC,gBAAgB5F,OAAOC,SAAS4F,QACnD,MAAO,CACLP,UAAWK,EAAOG,IAAI,eAAiB,GACvCP,UAAWI,EAAOG,IAAI,eAAiB,GACvCN,YAAaG,EAAOG,IAAI,iBAAmB,GAC3CL,QAASE,EAAOG,IAAI,aAAe,GACnCJ,WAAYC,EAAOG,IAAI,gBAAkB,GAE5C,CAAC,MACA,MAAO,CAAER,UAAW,GAAIC,UAAW,GAAIC,YAAa,GAAIC,QAAS,GAAIC,WAAY,GAClF,CACF,CAEO,OAAAK,GACN,MAAMC,EAA8B,oBAAXhG,OACnBiG,EAAY7E,KAAKiE,eAEvB,MAAO,CACLa,IAAKF,EAAYhG,OAAOC,SAASlD,KAAO,GACxCoJ,SAAUH,EAAYrG,SAASwG,SAAW,GAC1CC,UAAWJ,EAAY7P,UAAUiQ,UAAY,GAC7CC,SAAUL,EAAY7P,UAAUkQ,SAAW,GAC3CC,SAAUN,GAAYzO,MAAMgP,oBAAoBC,qBAAqBC,UAAiB,GACtFjH,UAAWR,KAAKC,MAChByH,WH9FiB,QG+FjBpB,UAAWW,EAAUX,UACrBC,UAAWU,EAAUV,UACrBC,YAAaS,EAAUT,YACvBC,QAASQ,EAAUR,QACnBC,WAAYO,EAAUP,WACtBiB,YAAaX,EAAYhG,OAAO4G,WAAa,EAC7CC,aAAcb,EAAYhG,OAAO8G,YAAc,EAC/CC,YAAaf,GAAYhG,OAAOgH,QAAQxI,OAAa,EACrDyI,aAAcjB,GAAYhG,OAAOgH,QAAQE,QAAc,EAE1D,CAEO,aAAAC,CAAchE,EAAeC,EAAkB3M,GACrD2K,KAAKU,IAAI,sBAAuBqB,GAChC/B,KAAK+D,WAAWjC,KAAKC,EAAOC,EAAU3M,EACvC,CAED,UAAM2Q,CACJjE,EACAf,GAEA,MAAMiB,EAAqD,CACzDF,QACAf,OACAiF,KAAMjG,KAAK2E,UACXf,eAAgB5D,KAAKhO,OAAO4R,gBAG9B5D,KAAKU,IAAI,iBAAkBqB,EAAOE,GAElC,MAAMD,EAAWhC,KAAKgE,YAAYjC,GAC5B1M,EAAOC,KAAKC,UAAU0M,GAE5B,GAAyB,oBAAdlN,WAA6BA,UAAUmR,WAAY,CAC5D,MAAMC,EAAO,IAAIC,KAAK,CAAC/Q,GAAO,CAAE4E,KAAM,qBAEtC,IAEE,GADgBlF,UAAUmR,WAAWlE,EAAUmE,GAG7C,OADAnG,KAAKU,IAAI,uBACF,EAETV,KAAKU,IAAI,gEACV,CAAC,MAAO5N,GACPkN,KAAKU,IAAI,iDAAkD5N,EAC5D,CACF,CAED,IACE,MAAMM,QAAiBC,MAAM2O,EAAU,CACrC5M,OAAQ,OACRpC,QAAS,CACP,eAAgB,oBAElBqC,OACAiN,WAAW,IAGb,OAAIlP,EAASE,IACX0M,KAAKU,IAAI,iBAAkBtN,EAASmP,SAC7B,GAGLnP,EAASmP,QAAU,KAA2B,MAApBnP,EAASmP,QAAsC,MAApBnP,EAASmP,QAChEvC,KAAKU,IAAI,oCAAqCtN,EAASmP,QACvDvC,KAAK+F,cAAchE,EAAOC,EAAU3M,IAC7B,IAGT2K,KAAKU,IAAI,8BAA+BtN,EAASmP,SAC1C,EACR,CAAC,MAAOzP,GAGP,OAFAkN,KAAKU,IAAI,mCAAoC5N,GAC7CkN,KAAK+F,cAAchE,EAAOC,EAAU3M,IAC7B,CACR,CACF,CAED,UAAAgR,CAAWrF,GACT,OAAOhB,KAAKgG,KAAK,QAAShF,EAC3B,CAED,WAAAsF,CAAYtF,GAOV,OAAOhB,KAAKgG,KAAK,SAAUhF,EAC5B,CAED,SAAAuF,CAAUvF,GASR,OAAOhB,KAAKgG,KAAK,OAAQhF,EAC1B,CAED,aAAAwF,CAAcxF,GACZ,OAAOhB,KAAKgG,KAAK,WAAYhF,EAC9B,CAED,cAAAyC,GACE,OAAOzD,KAAK+D,WAAWN,gBACxB,CAED,UAAAgD,GACEzG,KAAK+D,WAAWL,OACjB,QC/LUgD,EAMX,WAAA3G,CAAY/N,GAHJgO,KAAW2G,aAAY,EACvB3G,KAAY4G,aAAwB,KAG1C5G,KAAKhO,OAAS,CACZ4R,eAAgB5R,EAAO4R,eACvBC,YAAa7R,EAAO6R,aAAe,GACnCzR,OAAQJ,EAAOI,QAAUN,EACzB+U,cAAe7U,EAAO6U,eJzBE,MI0BxBpJ,WAAYzL,EAAOyL,YAAcF,EACjCuJ,iBAAkB9U,EAAO8U,kBJ5BG,GI6B5BxG,MAAOtO,EAAOsO,QAAS,EACvByG,WAAgC,IAArB/U,EAAO+U,WAGpB/G,KAAKgH,QAAU,IAAIrD,EAAQ,CACzBvR,OAAQ4N,KAAKhO,OAAOI,OACpBwR,eAAgB5D,KAAKhO,OAAO4R,eAC5BC,YAAa7D,KAAKhO,OAAO6R,YACzBvD,MAAON,KAAKhO,OAAOsO,QAGrBN,KAAKiH,mBAEDjH,KAAKhO,OAAO+U,WACd/G,KAAKkH,oBAGPlH,KAAKmH,gBACN,CAEO,GAAAzG,IAAOC,GACTX,KAAKhO,OAAOsO,OACd5M,QAAQgN,IAAI,cAAeC,EAE9B,CAEO,cAAAwG,GACgB,oBAAXvI,SACTA,OAAOwI,OAASpH,KACZA,KAAK4G,eACPhI,OAAOyI,cAAgBrH,KAAK4G,aAAajJ,OAG9C,CAEO,gBAAAsJ,GACNjH,KAAK4G,aAAezH,EAAgBa,KAAKhO,OAAOyL,YAC5CuC,KAAK4G,cACP5G,KAAKU,IAAI,oCAAqCV,KAAK4G,aAEtD,CAEO,iBAAAM,GACN,GAAsB,oBAAXtI,OAAwB,OAEnC,MAAMtK,GHjCkBgT,EGiCCtH,KAAKhO,OAAO6U,cHhCjB,oBAAXjI,OAA+B,KAExB,IAAI4F,gBAAgB5F,OAAOC,SAAS4F,QACrCC,IAAI4C,IAJjB,IAAsBA,EGkCpBhT,GAAQA,IAAS0L,KAAK4G,cAActS,OACtC0L,KAAKU,IAAI,iCAAkCpM,GAC3C0L,KAAKqG,WAAW/R,GAEnB,CAED,QAAAiT,GACE,OAAOvH,KAAK4G,cAAcjJ,OAAS,IACpC,CAED,OAAA6J,GACE,OAAOxH,KAAK4G,cAActS,MAAQ,IACnC,CAED,eAAA6K,GACE,OAAOa,KAAK4G,YACb,CAED,WAAAa,GACE,OAA6B,OAAtBzH,KAAK4G,YACb,CAED,aAAAc,GACE7H,EAAkBG,KAAKhO,OAAOyL,YAC9BuC,KAAK4G,aAAe,KACE,oBAAXhI,eACFA,OAAOyI,cAEhBrH,KAAKU,IAAI,wBACV,CAED,gBAAM2F,CAAW/R,GAaf,OAZA0L,KAAK4G,aAAepJ,EAClBlJ,EACA0L,KAAKhO,OAAOyL,WACZuC,KAAKhO,OAAO8U,kBAGQ,oBAAXlI,SACTA,OAAOyI,cAAgBrH,KAAK4G,aAAajJ,OAG3CqC,KAAKU,IAAI,2BAA4BpM,EAAM,SAAU0L,KAAK4G,aAAajJ,OAEhEqC,KAAKgH,QAAQX,WAAW,CAC7B/R,KAAM0L,KAAK4G,aAAatS,KACxBqJ,MAAOqC,KAAK4G,aAAajJ,OAE5B,CAED,YAAMgK,CAAO3G,EAAwB,IACnC,OAAKhB,KAAK4G,cAKV5G,KAAKU,IAAI,mBAAoBM,GAEtBhB,KAAKgH,QAAQV,YAAY,CAC9BhS,KAAM0L,KAAK4G,aAAatS,KACxBqJ,MAAOqC,KAAK4G,aAAajJ,MACzBzL,MAAO8O,EAAK9O,MACZ0V,mBAAoB5G,EAAK4G,mBACzBC,SAAU7G,EAAK6G,aAXf7H,KAAKU,IAAI,+CACF,EAYV,CAED,UAAMoH,CAAK9G,GACT,OAAKhB,KAAK4G,cAKV5G,KAAKU,IAAI,iBAAkBM,GAEpBhB,KAAKgH,QAAQT,UAAU,CAC5BjS,KAAM0L,KAAK4G,aAAatS,KACxBqJ,MAAOqC,KAAK4G,aAAajJ,MACzBiK,mBAAoB5G,EAAK4G,mBACzBG,OAAQ/G,EAAK+G,OACbjS,SAAUkL,EAAKlL,SACfkS,SAAUhH,EAAKgH,UAAY,SAC3BH,SAAU7G,EAAK6G,aAbf7H,KAAKU,IAAI,6CACF,EAcV,CAED,cAAMuH,GACJ,QAAKjI,KAAK4G,cAIH5G,KAAKgH,QAAQR,cAAc,CAChClS,KAAM0L,KAAK4G,aAAatS,KACxBqJ,MAAOqC,KAAK4G,aAAajJ,OAE5B,CAED,0BAAAuK,GACE,OAAOlI,KAAK4G,cAAcjJ,OAAS,IACpC,CAED,iBAAAwK,GACE,OAAKnI,KAAK4G,aAIH,CACLS,cAAerH,KAAK4G,aAAajJ,MACjCyK,YAAapI,KAAK4G,aAAatS,MALxB,EAOV,CAED,oBAAM+T,CAAe/T,GACnB,MAAMgU,EAActI,KAAKhO,OAAO6R,YAC5B,uBAAuB7D,KAAKhO,OAAO6R,wBAAwB7E,mBAAmB1K,KAC9E,uBAAuB0K,mBAAmB1K,KACxCwQ,EAAM,GAAG9E,KAAKhO,OAAOI,SAASkW,IAEpC,IACE,MAAMlV,QAAiBC,MAAMyR,EAAK,CAChC9R,QAAS,CACPuV,cAAe,UAAUvI,KAAKhO,OAAO4R,oBAIzC,IAAKxQ,EAASE,GAAI,CAChB,GAAwB,MAApBF,EAASmP,OAEX,OADAvC,KAAKU,IAAI,mCAAoCpM,GACtC,KAET,MAAM,IAAIf,MAAM,uBAAuBH,EAASmP,SACjD,CAED,MAAMvB,QAAa5N,EAASI,OAE5B,OADAwM,KAAKU,IAAI,wBAAyBM,GAC3BA,CACR,CAAC,MAAOlO,GAEP,OADAkN,KAAKU,IAAI,+BAAgC5N,GAClC,IACR,CACF,CAED,cAAA0V,GACE,OAAOxI,KAAKhO,OAAO6R,WACpB,EAGH,IAAI4E,EAAqC,cC7NzBC,GAAUC,UACxBA,EAAS9E,YACTA,EAAWzR,OACXA,EAAMyU,cACNA,EAAaC,iBACbA,EAAgBxG,MAChBA,GAAQ,EAAKsI,SACbA,IAgBA,OAdAxU,GAAU,KACc,oBAAXwK,SDsNb6J,EAAgB,IAAI/B,ECpNb,CACH9C,eAAgB+E,EAChB9E,cACAzR,SACAyU,gBACAC,mBACAxG,QACAyG,WAAW,IACX,GACD,CAAC4B,EAAW9E,EAAazR,EAAQyU,EAAeC,EAAkBxG,IAE9DsI,GAAY,IACrB,CCpBa,MAAAC,EAAgC,EAC3CC,OAAO,GACPpR,QAAQ,eACRqR,eAGExS,uBACEwS,UAAWA,EACX3L,MAAO0L,EACPhD,OAAQgD,EACRE,QAAQ,YACRC,MAAM,6BACN5S,MAAO,CACL6S,UAAW,mCAGb3S,EACGC,cAAA,QAAA,KAAA,6JAOHD,EAAAC,cAAA,SAAA,CACE2S,GAAG,KACHC,GAAG,KACHC,EAAE,KACFC,OAAQ5R,EACR6R,YAAY,IACZC,KAAK,OACLC,cAAc,QACdC,gBAAgB,YAChBC,QAAQ,SAEVpT,EAAAC,cAAA,SAAA,CACE2S,GAAG,KACHC,GAAG,KACHC,EAAE,KACFC,OAAQ5R,EACR6R,YAAY,IACZC,KAAK,OACLC,cAAc,QACdC,gBAAgB,YAChBE,iBAAiB,OACjBvT,MAAO,CACL6S,UAAW"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react");const t="https://api.blossu.com";function r(r){const{workspaceId:o,email:n,signature:a,apiUrl:i=t}=r,[s,l]=e.useState(null),[c,d]=e.useState([]),[u,f]=e.useState(null),[p,g]=e.useState(!0),[h,m]=e.useState(null),y={"Content-Type":"application/json","X-Blossu-Workspace":o,"X-Blossu-Email":n,"X-Blossu-Signature":a},b=e.useCallback((async()=>{try{const e=await fetch(`${i}/v1/partner/me`,{headers:y});if(!e.ok)throw new Error("Failed to fetch partner");return(await e.json()).partner}catch(e){return console.error("Error fetching partner:",e),null}}),[i,o,n,a]),x=e.useCallback((async()=>{try{const e=await fetch(`${i}/v1/partner/codes`,{headers:y});if(!e.ok)throw new Error("Failed to fetch codes");return(await e.json()).codes||[]}catch(e){return console.error("Error fetching codes:",e),[]}}),[i,o,n,a]),k=e.useCallback((async()=>{try{const e=await fetch(`${i}/v1/partner/stats`,{headers:y});if(!e.ok)throw new Error("Failed to fetch stats");return(await e.json()).stats}catch(e){return console.error("Error fetching stats:",e),null}}),[i,o,n,a]),S=e.useCallback((async()=>{g(!0),m(null);try{const[e,t,r]=await Promise.all([b(),x(),k()]);l(e),d(t),f(r)}catch(e){m(e instanceof Error?e.message:"Failed to load data")}finally{g(!1)}}),[b,x,k]);e.useEffect((()=>{S()}),[S]);const v=e.useCallback((e=>{const t=s?.id?"https://example.com":"",r=c.find((t=>t.code===e));return`${r?.destinationUrl||t}?ref=${e}`}),[s,c]),w=e.useCallback((async e=>{const t=v(e);try{await navigator.clipboard.writeText(t)}catch(e){throw console.error("Failed to copy link:",e),e}}),[v]),E=e.useCallback((async(e,t)=>{try{const r=await fetch(`${i}/v1/partner/codes`,{method:"POST",headers:y,body:JSON.stringify({code:e,displayName:t})});if(!r.ok)throw new Error("Failed to create code");const o=(await r.json()).code;return d((e=>[...e,o])),o}catch(e){return console.error("Error creating code:",e),null}}),[i,o,n,a]);return{partner:s,codes:c,stats:u,isLoading:p,error:h,referralLink:v,copyLink:w,createCode:E,refresh:S}}function o({clicks:t,conversions:r,revenue:o,currency:a="USD"}){const i=[{label:"Clicks",value:t.toLocaleString()},{label:"Conversions",value:r.toLocaleString()},{label:"Revenue",value:(s=o,new Intl.NumberFormat("en-US",{style:"currency",currency:a}).format(s/100))}];var s;return e.createElement("div",{style:n.container},i.map((t=>e.createElement("div",{key:t.label,style:n.card},e.createElement("div",{style:n.label},t.label),e.createElement("div",{style:n.value},t.value)))))}const n={container:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(150px, 1fr))",gap:"16px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},card:{padding:"20px",backgroundColor:"#ffffff",border:"1px solid #e5e7eb",borderRadius:"8px",textAlign:"center"},label:{fontSize:"12px",fontWeight:600,color:"#6b7280",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"},value:{fontSize:"24px",fontWeight:700,color:"#111827"}};const a={container:{maxWidth:"600px",margin:"0 auto",padding:"24px",borderRadius:"12px",border:"1px solid #e5e7eb",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},loading:{textAlign:"center",padding:"40px",color:"#6b7280"},error:{padding:"16px",backgroundColor:"#fee2e2",color:"#dc2626",borderRadius:"8px",textAlign:"center"},header:{textAlign:"center",marginBottom:"24px"},headerIcon:{fontSize:"48px",marginBottom:"12px"},title:{margin:"0 0 8px",fontSize:"24px",fontWeight:700},subtitle:{margin:0,fontSize:"14px"},earning:{padding:"24px",borderRadius:"12px",border:"1px solid",textAlign:"center",marginBottom:"24px"},earningLabel:{fontSize:"12px",fontWeight:600,color:"#6b7280",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"},earningValue:{fontSize:"32px",fontWeight:700,color:"#16a34a"},earningPending:{fontSize:"14px",color:"#6b7280",marginTop:"8px"},section:{marginBottom:"32px"},sectionHeader:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"16px"},sectionTitle:{margin:0,fontSize:"16px",fontWeight:600},createButton:{padding:"8px 12px",fontSize:"14px",fontWeight:500,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer",transition:"opacity 0.2s"},createForm:{padding:"16px",borderRadius:"8px",marginBottom:"16px",display:"flex",flexDirection:"column",gap:"12px"},input:{padding:"10px 12px",fontSize:"14px",border:"1px solid",borderRadius:"6px",outline:"none"},createActions:{display:"flex",gap:"8px",justifyContent:"flex-end"},cancelButton:{padding:"8px 16px",fontSize:"14px",fontWeight:500,color:"#6b7280",backgroundColor:"transparent",border:"1px solid #d1d5db",borderRadius:"6px",cursor:"pointer"},primaryButton:{padding:"8px 16px",fontSize:"14px",fontWeight:500,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer"},codesList:{display:"flex",flexDirection:"column",gap:"12px"},emptyState:{padding:"32px",textAlign:"center",fontSize:"14px"},codeCard:{padding:"16px",borderRadius:"8px",border:"1px solid"},codeHeader:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",marginBottom:"12px"},codeName:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",gap:"8px"},defaultBadge:{fontSize:"10px",fontWeight:600,color:"#3b82f6",backgroundColor:"#dbeafe",padding:"2px 6px",borderRadius:"4px"},codeDisplayName:{fontSize:"14px",marginTop:"4px"},copyButton:{padding:"8px 12px",fontSize:"12px",fontWeight:500,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer"},codeStats:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"12px",paddingTop:"12px",borderTop:"1px solid #e5e7eb"},codeStat:{textAlign:"center"},codeStatValue:{fontSize:"18px",fontWeight:600},codeStatLabel:{fontSize:"12px",color:"#6b7280",marginTop:"4px"},footer:{textAlign:"center",paddingTop:"16px",borderTop:"1px solid #e5e7eb"},footerLink:{fontSize:"12px",textDecoration:"none"}};const i={container:{width:"100%",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},label:{display:"block",marginBottom:"8px",fontSize:"14px",fontWeight:500,color:"#374151"},inputGroup:{display:"flex",gap:"8px"},input:{flex:1,padding:"10px 12px",fontSize:"14px",border:"1px solid #d1d5db",borderRadius:"6px",backgroundColor:"#f9fafb",color:"#111827",outline:"none"},button:{padding:"10px 16px",fontSize:"14px",fontWeight:500,color:"#ffffff",backgroundColor:"#3b82f6",border:"none",borderRadius:"6px",cursor:"pointer",whiteSpace:"nowrap",transition:"background-color 0.2s"}},s="https://api.blossu.com",l="blossu_ref";function c(e,t=l,r=30){const o=`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`,n={code:e.toLowerCase(),refId:o,timestamp:Date.now()};return function(e,t,r){if("undefined"==typeof document)return;const o=new Date;o.setTime(o.getTime()+24*r*60*60*1e3);const n="https:"===window.location.protocol?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}; expires=${o.toUTCString()}; path=/; SameSite=Lax${n}`}(t,JSON.stringify(n),r),n}function d(e=l){const t=function(e){if("undefined"==typeof document)return null;const t=`${e}=`,r=document.cookie.split(";");for(let e=0;e<r.length;e++){let o=r[e];for(;" "===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return decodeURIComponent(o.substring(t.length,o.length))}return null}(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function u(e=l){var t;t=e,"undefined"!=typeof document&&(document.cookie=`${t}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}class f{constructor(e){this.processing=!1,this.timer=null,this.name=`blossu_queue_${e.name}`,this.maxAttempts=e.maxAttempts||10,this.baseDelay=e.baseDelay||1e3,this.maxDelay=e.maxDelay||3e4,this.debug=e.debug||!1,this.startProcessing(),"undefined"!=typeof window&&(window.addEventListener("online",(()=>this.startProcessing())),document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&this.startProcessing()})))}log(...e){this.debug&&console.log("[Blossu:Queue]",...e)}getStorageKey(){return this.name}generateId(){return`${Date.now()}_${Math.random().toString(36).substring(2,9)}`}getQueue(){if("undefined"==typeof localStorage)return[];try{const e=localStorage.getItem(this.getStorageKey());return e?JSON.parse(e):[]}catch(e){return this.log("Error reading queue:",e),[]}}saveQueue(e){if("undefined"!=typeof localStorage)try{0===e.length?localStorage.removeItem(this.getStorageKey()):localStorage.setItem(this.getStorageKey(),JSON.stringify(e))}catch(e){this.log("Error saving queue:",e)}}calculateBackoff(e){const t=this.baseDelay*Math.pow(2,e-1),r=.3*Math.random()*t,o=Math.min(t+r,this.maxDelay);return Math.round(o)}push(e,t,r){const o=this.getQueue(),n={id:this.generateId(),event:e,endpoint:t,payload:r,attemptNumber:0,maxAttempts:this.maxAttempts,createdAt:Date.now(),nextRetryAt:Date.now()};o.push(n),this.saveQueue(o),this.log("Added to queue:",n.id,e),this.startProcessing()}async processItem(e){this.log("Processing item:",e.id,"attempt:",e.attemptNumber+1);try{const t=await fetch(e.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:e.payload,keepalive:!0});return t.ok?(this.log("Successfully sent:",e.id),!0):t.status>=400&&t.status<500&&408!==t.status&&429!==t.status?(this.log("Client error, not retrying:",e.id,t.status),!0):(this.log("Server error, will retry:",e.id,t.status),!1)}catch(t){return this.log("Network error, will retry:",e.id,t),!1}}async processQueue(){if(!this.processing)if("undefined"==typeof navigator||navigator.onLine){this.processing=!0;try{const e=this.getQueue();if(0===e.length)return void(this.processing=!1);const t=Date.now(),r=e.filter((e=>e.nextRetryAt<=t));if(0===r.length){const r=e.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),o=Math.max(0,r.nextRetryAt-t);return this.scheduleProcessing(o),void(this.processing=!1)}for(const e of r){e.attemptNumber++;const t=await this.processItem(e),r=this.getQueue(),o=r.findIndex((t=>t.id===e.id));if(-1!==o)if(t)r.splice(o,1),this.saveQueue(r);else if(e.attemptNumber>=e.maxAttempts)this.log("Max attempts reached, dropping:",e.id),r.splice(o,1),this.saveQueue(r);else{const t=this.calculateBackoff(e.attemptNumber);r[o].attemptNumber=e.attemptNumber,r[o].nextRetryAt=Date.now()+t,this.saveQueue(r),this.log("Scheduled retry in",t,"ms for:",e.id)}}const o=this.getQueue();if(o.length>0){const e=o.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),t=Math.max(0,e.nextRetryAt-Date.now());this.scheduleProcessing(t)}}finally{this.processing=!1}}else this.log("Offline, skipping processing")}scheduleProcessing(e){this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>this.processQueue()),e)}startProcessing(){this.scheduleProcessing(0)}getQueueLength(){return this.getQueue().length}clear(){this.saveQueue([]),this.timer&&(clearTimeout(this.timer),this.timer=null)}}class p{constructor(e){this.config={apiUrl:e.apiUrl||s,publishableKey:e.publishableKey,programSlug:e.programSlug,debug:e.debug||!1,maxRetries:e.maxRetries},this.retryQueue=new f({name:e.programSlug,maxAttempts:e.maxRetries||10,debug:e.debug||!1})}log(...e){this.config.debug&&console.log("[Blossu]",...e)}getEndpoint(e){return`${this.config.apiUrl}/v1/track/${e}`}getMeta(){const e="undefined"!=typeof window;return{url:e?window.location.href:"",referrer:e?document.referrer:"",userAgent:e?navigator.userAgent:"",language:e?navigator.language:"",timezone:e&&Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||"",timestamp:Date.now(),sdkVersion:"0.1.0"}}queueForRetry(e,t,r){this.log("Queueing for retry:",e),this.retryQueue.push(e,t,r)}async send(e,t){const r={event:e,data:t,meta:this.getMeta(),publishableKey:this.config.publishableKey};this.log("Sending event:",e,r);const o=this.getEndpoint(e),n=JSON.stringify(r);if("undefined"!=typeof navigator&&navigator.sendBeacon){const e=new Blob([n],{type:"application/json"});try{if(navigator.sendBeacon(o,e))return this.log("sendBeacon success"),!0;this.log("sendBeacon returned false (queue full), falling back to fetch")}catch(e){this.log("sendBeacon threw error, falling back to fetch:",e)}}try{const t=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:n,keepalive:!0});return t.ok?(this.log("fetch success:",t.status),!0):t.status>=500||408===t.status||429===t.status?(this.log("Server error, queueing for retry:",t.status),this.queueForRetry(e,o,n),!1):(this.log("Client error, not retrying:",t.status),!1)}catch(t){return this.log("fetch error, queueing for retry:",t),this.queueForRetry(e,o,n),!1}}trackClick(e){return this.send("click",e)}trackSignup(e){return this.send("signup",e)}trackSale(e){return this.send("sale",e)}trackPageview(e){return this.send("pageview",e)}getQueueLength(){return this.retryQueue.getQueueLength()}clearQueue(){this.retryQueue.clear()}}class g{constructor(e){this.initialized=!1,this.referralInfo=null,this.config={publishableKey:e.publishableKey,programSlug:e.programSlug||"",apiUrl:e.apiUrl||s,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||l,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack},this.tracker=new p({apiUrl:this.config.apiUrl,publishableKey:this.config.publishableKey,programSlug:this.config.programSlug,debug:this.config.debug}),this.loadReferralInfo(),this.config.autoTrack&&this.autoTrackReferral(),this.exposeToWindow()}log(...e){this.config.debug&&console.log("[Blossu]",...e)}exposeToWindow(){"undefined"!=typeof window&&(window.blossu=this,this.referralInfo&&(window.blossu_ref_id=this.referralInfo.refId))}loadReferralInfo(){this.referralInfo=d(this.config.cookieName),this.referralInfo&&this.log("Loaded referral info from cookie:",this.referralInfo)}autoTrackReferral(){if("undefined"==typeof window)return;const e=(t=this.config.trackingParam,"undefined"==typeof window?null:new URLSearchParams(window.location.search).get(t));var t;e&&e!==this.referralInfo?.code&&(this.log("Detected referral code in URL:",e),this.trackClick(e))}getRefId(){return this.referralInfo?.refId||null}getCode(){return this.referralInfo?.code||null}getReferralInfo(){return this.referralInfo}hasReferral(){return null!==this.referralInfo}clearReferral(){u(this.config.cookieName),this.referralInfo=null,"undefined"!=typeof window&&delete window.blossu_ref_id,this.log("Cleared referral info")}async trackClick(e){return this.referralInfo=c(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.log("Tracking click for code:",e,"refId:",this.referralInfo.refId),this.tracker.trackClick({code:this.referralInfo.code,refId:this.referralInfo.refId})}async signup(e={}){return this.referralInfo?(this.log("Tracking signup:",e),this.tracker.trackSignup({code:this.referralInfo.code,refId:this.referralInfo.refId,email:e.email,customerExternalId:e.customerExternalId,metadata:e.metadata})):(this.log("No referral info, skipping signup tracking"),!1)}async sale(e){return this.referralInfo?(this.log("Tracking sale:",e),this.tracker.trackSale({code:this.referralInfo.code,refId:this.referralInfo.refId,customerExternalId:e.customerExternalId,amount:e.amount,currency:e.currency,provider:e.provider||"custom",metadata:e.metadata})):(this.log("No referral info, skipping sale tracking"),!1)}async pageview(){return!!this.referralInfo&&this.tracker.trackPageview({code:this.referralInfo.code,refId:this.referralInfo.refId})}getStripeClientReferenceId(){return this.referralInfo?.refId||null}getStripeMetadata(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId,blossu_code:this.referralInfo.code}:{}}async getPartnerInfo(e){const t=this.config.programSlug?`/v1/public/programs/${this.config.programSlug}/referral/${encodeURIComponent(e)}`:`/v1/public/referral/${encodeURIComponent(e)}`,r=`${this.config.apiUrl}${t}`;try{const t=await fetch(r,{headers:{Authorization:`Bearer ${this.config.publishableKey}`}});if(!t.ok){if(404===t.status)return this.log("Partner info not found for code:",e),null;throw new Error(`HTTP error! status: ${t.status}`)}const o=await t.json();return this.log("Fetched partner info:",o),o}catch(e){return this.log("Error fetching partner info:",e),null}}getProgramSlug(){return this.config.programSlug}}let h=null;exports.Analytics=function({publicKey:t,programSlug:r,apiUrl:o,trackingParam:n,cookieExpiryDays:a,debug:i=!1,children:s}){return e.useEffect((()=>{"undefined"!=typeof window&&(h=new g({publishableKey:t,programSlug:r,apiUrl:o,trackingParam:n,cookieExpiryDays:a,debug:i,autoTrack:!0}))}),[t,r,o,n,a,i]),s||null},exports.Loader=({size:t=24,color:r="currentColor",className:o})=>e.createElement("svg",{className:o,width:t,height:t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",style:{animation:"blossu-spin 1s linear infinite"}},e.createElement("style",null,"\n @keyframes blossu-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n "),e.createElement("circle",{cx:"12",cy:"12",r:"10",stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeDasharray:"31.4 31.4",opacity:"0.25"}),e.createElement("circle",{cx:"12",cy:"12",r:"10",stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeDasharray:"31.4 31.4",strokeDashoffset:"62.8",style:{animation:"blossu-spin 1s linear infinite"}})),exports.ReferralLink=function({code:t,destinationUrl:r,label:o,showCopyButton:n=!0,onCopy:a}){const[s,l]=e.useState(!1),c=`${r}?ref=${t}`;return e.createElement("div",{style:i.container},o&&e.createElement("label",{style:i.label},o),e.createElement("div",{style:i.inputGroup},e.createElement("input",{type:"text",value:c,readOnly:!0,style:i.input,onClick:e=>e.target.select()}),n&&e.createElement("button",{onClick:async()=>{try{await navigator.clipboard.writeText(c),l(!0),a?.(),setTimeout((()=>l(!1)),2e3)}catch(e){console.error("Failed to copy:",e)}},style:i.button},s?"✓ Copied!":"Copy")))},exports.ReferralStats=o,exports.ReferralWidget=function({workspaceId:t,email:n,signature:i,apiUrl:s,theme:l="light",primaryColor:c="#3b82f6"}){const{partner:d,codes:u,stats:f,isLoading:p,error:g,copyLink:h,createCode:m}=r({workspaceId:t,email:n,signature:i,apiUrl:s}),[y,b]=e.useState(!1),[x,k]=e.useState(""),[S,v]=e.useState(""),[w,E]=e.useState(!1),I=function(e){return{container:{backgroundColor:e?"#1f2937":"#ffffff",color:e?"#f9fafb":"#111827"},card:{backgroundColor:e?"#374151":"#f9fafb",borderColor:e?"#4b5563":"#e5e7eb"},title:{color:e?"#f9fafb":"#111827"},text:{color:e?"#f9fafb":"#111827"},subtitle:{color:e?"#d1d5db":"#6b7280"},earning:{backgroundColor:e?"#374151":"#f0fdf4",borderColor:e?"#4b5563":"#bbf7d0"},input:{backgroundColor:e?"#1f2937":"#ffffff",borderColor:e?"#4b5563":"#d1d5db",color:e?"#f9fafb":"#111827"}}}("dark"===l);if(p)return e.createElement("div",{style:{...a.container,...I.container}},e.createElement("div",{style:a.loading},"Loading..."));if(g)return e.createElement("div",{style:{...a.container,...I.container}},e.createElement("div",{style:a.error},"Error: ",g));if(!d)return e.createElement("div",{style:{...a.container,...I.container}},e.createElement("div",{style:a.error},"Partner not found"));const C=e=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(e/100);return e.createElement("div",{style:{...a.container,...I.container}},e.createElement("div",{style:a.header},e.createElement("div",{style:a.headerIcon},"🎁"),e.createElement("h2",{style:{...a.title,...I.title}},"Refer to earn rewards"),e.createElement("p",{style:{...a.subtitle,...I.subtitle}},"Share your referral link and earn commissions from every sale")),e.createElement("div",{style:{...a.earning,...I.earning}},e.createElement("div",{style:a.earningLabel},"Total Earned"),e.createElement("div",{style:a.earningValue},C(d.totalEarned)),d.pendingBalance>0&&e.createElement("div",{style:a.earningPending},C(d.pendingBalance)," pending")),e.createElement("div",{style:a.section},e.createElement("h3",{style:{...a.sectionTitle,...I.text}},"Stats"),e.createElement(o,{clicks:f?.clicks||0,conversions:f?.conversions||0,revenue:d.totalRevenue})),e.createElement("div",{style:a.section},e.createElement("div",{style:a.sectionHeader},e.createElement("h3",{style:{...a.sectionTitle,...I.text}},"Your Referral Links"),e.createElement("button",{onClick:()=>b(!y),style:{...a.createButton,backgroundColor:c}},"+ Create Link")),y&&e.createElement("div",{style:{...a.createForm,...I.card}},e.createElement("input",{type:"text",placeholder:"Code (e.g., FRIEND10)",value:x,onChange:e=>k(e.target.value),style:{...a.input,...I.input}}),e.createElement("input",{type:"text",placeholder:"Display name (optional)",value:S,onChange:e=>v(e.target.value),style:{...a.input,...I.input}}),e.createElement("div",{style:a.createActions},e.createElement("button",{onClick:()=>b(!1),style:a.cancelButton},"Cancel"),e.createElement("button",{onClick:async()=>{if(x.trim()){E(!0);try{await m(x,S||void 0),k(""),v(""),b(!1)}catch(e){console.error("Failed to create code:",e)}finally{E(!1)}}},disabled:!x.trim()||w,style:{...a.primaryButton,backgroundColor:c}},w?"Creating...":"Create"))),e.createElement("div",{style:a.codesList},0===u.length?e.createElement("div",{style:{...a.emptyState,...I.subtitle}},"No referral codes yet. Create your first one!"):u.map((t=>e.createElement("div",{key:t.id,style:{...a.codeCard,...I.card}},e.createElement("div",{style:a.codeHeader},e.createElement("div",null,e.createElement("div",{style:{...a.codeName,...I.text}},t.code,t.isDefault&&e.createElement("span",{style:a.defaultBadge},"Default")),t.displayName&&e.createElement("div",{style:{...a.codeDisplayName,...I.subtitle}},t.displayName)),e.createElement("button",{onClick:()=>h(t.code),style:{...a.copyButton,backgroundColor:c}},"Copy")),e.createElement("div",{style:a.codeStats},e.createElement("div",{style:a.codeStat},e.createElement("div",{style:{...a.codeStatValue,...I.text}},t.clicks),e.createElement("div",{style:a.codeStatLabel},"Clicks")),e.createElement("div",{style:a.codeStat},e.createElement("div",{style:{...a.codeStatValue,...I.text}},t.conversions),e.createElement("div",{style:a.codeStatLabel},"Conversions")),e.createElement("div",{style:a.codeStat},e.createElement("div",{style:{...a.codeStatValue,...I.text}},C(t.revenue)),e.createElement("div",{style:a.codeStatLabel},"Revenue")))))))),e.createElement("div",{style:a.footer},e.createElement("a",{href:"https://blossu.com",target:"_blank",rel:"noopener noreferrer",style:{...a.footerLink,...I.subtitle}},"Powered by Blossu")))},exports.usePartner=r;
1
+ "use strict";var e=require("react");const t="https://api.blossu.com";function r(r){const{workspaceId:n,email:o,signature:a,apiUrl:i=t}=r,[s,l]=e.useState(null),[c,u]=e.useState([]),[d,f]=e.useState(null),[p,g]=e.useState(!0),[m,h]=e.useState(null),y={"Content-Type":"application/json","X-Blossu-Workspace":n,"X-Blossu-Email":o,"X-Blossu-Signature":a},b=e.useCallback((async()=>{try{const e=await fetch(`${i}/v1/partner/me`,{headers:y});if(!e.ok)throw new Error("Failed to fetch partner");return(await e.json()).partner}catch(e){return console.error("Error fetching partner:",e),null}}),[i,n,o,a]),x=e.useCallback((async()=>{try{const e=await fetch(`${i}/v1/partner/codes`,{headers:y});if(!e.ok)throw new Error("Failed to fetch codes");return(await e.json()).codes||[]}catch(e){return console.error("Error fetching codes:",e),[]}}),[i,n,o,a]),k=e.useCallback((async()=>{try{const e=await fetch(`${i}/v1/partner/stats`,{headers:y});if(!e.ok)throw new Error("Failed to fetch stats");return(await e.json()).stats}catch(e){return console.error("Error fetching stats:",e),null}}),[i,n,o,a]),w=e.useCallback((async()=>{g(!0),h(null);try{const[e,t,r]=await Promise.all([b(),x(),k()]);l(e),u(t),f(r)}catch(e){h(e instanceof Error?e.message:"Failed to load data")}finally{g(!1)}}),[b,x,k]);e.useEffect((()=>{w()}),[w]);const S=e.useCallback((e=>{const t=s?.id?"https://example.com":"",r=c.find((t=>t.code===e));return`${r?.destinationUrl||t}?ref=${e}`}),[s,c]),v=e.useCallback((async e=>{const t=S(e);try{await navigator.clipboard.writeText(t)}catch(e){throw console.error("Failed to copy link:",e),e}}),[S]),E=e.useCallback((async(e,t)=>{try{const r=await fetch(`${i}/v1/partner/codes`,{method:"POST",headers:y,body:JSON.stringify({code:e,displayName:t})});if(!r.ok)throw new Error("Failed to create code");const n=(await r.json()).code;return u((e=>[...e,n])),n}catch(e){return console.error("Error creating code:",e),null}}),[i,n,o,a]);return{partner:s,codes:c,stats:d,isLoading:p,error:m,referralLink:S,copyLink:v,createCode:E,refresh:w}}function n({clicks:t,conversions:r,revenue:n,currency:a="USD"}){const i=[{label:"Clicks",value:t.toLocaleString()},{label:"Conversions",value:r.toLocaleString()},{label:"Revenue",value:(s=n,new Intl.NumberFormat("en-US",{style:"currency",currency:a}).format(s/100))}];var s;return e.createElement("div",{style:o.container},i.map((t=>e.createElement("div",{key:t.label,style:o.card},e.createElement("div",{style:o.label},t.label),e.createElement("div",{style:o.value},t.value)))))}const o={container:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(150px, 1fr))",gap:"16px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},card:{padding:"20px",backgroundColor:"#ffffff",border:"1px solid #e5e7eb",borderRadius:"8px",textAlign:"center"},label:{fontSize:"12px",fontWeight:600,color:"#6b7280",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"},value:{fontSize:"24px",fontWeight:700,color:"#111827"}};const a={container:{maxWidth:"600px",margin:"0 auto",padding:"24px",borderRadius:"12px",border:"1px solid #e5e7eb",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},loading:{textAlign:"center",padding:"40px",color:"#6b7280"},error:{padding:"16px",backgroundColor:"#fee2e2",color:"#dc2626",borderRadius:"8px",textAlign:"center"},header:{textAlign:"center",marginBottom:"24px"},headerIcon:{fontSize:"48px",marginBottom:"12px"},title:{margin:"0 0 8px",fontSize:"24px",fontWeight:700},subtitle:{margin:0,fontSize:"14px"},earning:{padding:"24px",borderRadius:"12px",border:"1px solid",textAlign:"center",marginBottom:"24px"},earningLabel:{fontSize:"12px",fontWeight:600,color:"#6b7280",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"},earningValue:{fontSize:"32px",fontWeight:700,color:"#16a34a"},earningPending:{fontSize:"14px",color:"#6b7280",marginTop:"8px"},section:{marginBottom:"32px"},sectionHeader:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"16px"},sectionTitle:{margin:0,fontSize:"16px",fontWeight:600},createButton:{padding:"8px 12px",fontSize:"14px",fontWeight:500,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer",transition:"opacity 0.2s"},createForm:{padding:"16px",borderRadius:"8px",marginBottom:"16px",display:"flex",flexDirection:"column",gap:"12px"},input:{padding:"10px 12px",fontSize:"14px",border:"1px solid",borderRadius:"6px",outline:"none"},createActions:{display:"flex",gap:"8px",justifyContent:"flex-end"},cancelButton:{padding:"8px 16px",fontSize:"14px",fontWeight:500,color:"#6b7280",backgroundColor:"transparent",border:"1px solid #d1d5db",borderRadius:"6px",cursor:"pointer"},primaryButton:{padding:"8px 16px",fontSize:"14px",fontWeight:500,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer"},codesList:{display:"flex",flexDirection:"column",gap:"12px"},emptyState:{padding:"32px",textAlign:"center",fontSize:"14px"},codeCard:{padding:"16px",borderRadius:"8px",border:"1px solid"},codeHeader:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",marginBottom:"12px"},codeName:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",gap:"8px"},defaultBadge:{fontSize:"10px",fontWeight:600,color:"#3b82f6",backgroundColor:"#dbeafe",padding:"2px 6px",borderRadius:"4px"},codeDisplayName:{fontSize:"14px",marginTop:"4px"},copyButton:{padding:"8px 12px",fontSize:"12px",fontWeight:500,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer"},codeStats:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"12px",paddingTop:"12px",borderTop:"1px solid #e5e7eb"},codeStat:{textAlign:"center"},codeStatValue:{fontSize:"18px",fontWeight:600},codeStatLabel:{fontSize:"12px",color:"#6b7280",marginTop:"4px"},footer:{textAlign:"center",paddingTop:"16px",borderTop:"1px solid #e5e7eb"},footerLink:{fontSize:"12px",textDecoration:"none"}};const i={container:{width:"100%",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},label:{display:"block",marginBottom:"8px",fontSize:"14px",fontWeight:500,color:"#374151"},inputGroup:{display:"flex",gap:"8px"},input:{flex:1,padding:"10px 12px",fontSize:"14px",border:"1px solid #d1d5db",borderRadius:"6px",backgroundColor:"#f9fafb",color:"#111827",outline:"none"},button:{padding:"10px 16px",fontSize:"14px",fontWeight:500,color:"#ffffff",backgroundColor:"#3b82f6",border:"none",borderRadius:"6px",cursor:"pointer",whiteSpace:"nowrap",transition:"background-color 0.2s"}},s="https://api.blossu.com",l="blossu_ref";function c(e,t=l,r=30){const n=`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`,o={code:e.toLowerCase(),refId:n,timestamp:Date.now()};return function(e,t,r){if("undefined"==typeof document)return;const n=new Date;n.setTime(n.getTime()+24*r*60*60*1e3);const o="https:"===window.location.protocol?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}; expires=${n.toUTCString()}; path=/; SameSite=Lax${o}`}(t,JSON.stringify(o),r),o}function u(e=l){const t=function(e){if("undefined"==typeof document)return null;const t=`${e}=`,r=document.cookie.split(";");for(let e=0;e<r.length;e++){let n=r[e];for(;" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(t))return decodeURIComponent(n.substring(t.length,n.length))}return null}(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function d(e=l){var t;t=e,"undefined"!=typeof document&&(document.cookie=`${t}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}class f{constructor(e){this.processing=!1,this.timer=null,this.name=`blossu_queue_${e.name||"default"}`,this.maxAttempts=e.maxAttempts||10,this.baseDelay=e.baseDelay||1e3,this.maxDelay=e.maxDelay||3e4,this.debug=e.debug||!1,this.startProcessing(),"undefined"!=typeof window&&(window.addEventListener("online",(()=>this.startProcessing())),document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&this.startProcessing()})))}log(...e){this.debug&&console.log("[Blossu:Queue]",...e)}getStorageKey(){return this.name}generateId(){return`${Date.now()}_${Math.random().toString(36).substring(2,9)}`}getQueue(){if("undefined"==typeof localStorage)return[];try{const e=localStorage.getItem(this.getStorageKey());return e?JSON.parse(e):[]}catch(e){return this.log("Error reading queue:",e),[]}}saveQueue(e){if("undefined"!=typeof localStorage)try{0===e.length?localStorage.removeItem(this.getStorageKey()):localStorage.setItem(this.getStorageKey(),JSON.stringify(e))}catch(e){this.log("Error saving queue:",e)}}calculateBackoff(e){const t=this.baseDelay*Math.pow(2,e-1),r=.3*Math.random()*t,n=Math.min(t+r,this.maxDelay);return Math.round(n)}push(e,t,r){const n=this.getQueue(),o={id:this.generateId(),event:e,endpoint:t,payload:r,attemptNumber:0,maxAttempts:this.maxAttempts,createdAt:Date.now(),nextRetryAt:Date.now()};n.push(o),this.saveQueue(n),this.log("Added to queue:",o.id,e),this.startProcessing()}async processItem(e){this.log("Processing item:",e.id,"attempt:",e.attemptNumber+1);try{const t=await fetch(e.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:e.payload,keepalive:!0});return t.ok?(this.log("Successfully sent:",e.id),!0):t.status>=400&&t.status<500&&408!==t.status&&429!==t.status?(this.log("Client error, not retrying:",e.id,t.status),!0):(this.log("Server error, will retry:",e.id,t.status),!1)}catch(t){return this.log("Network error, will retry:",e.id,t),!1}}async processQueue(){if(!this.processing)if("undefined"==typeof navigator||navigator.onLine){this.processing=!0;try{const e=this.getQueue();if(0===e.length)return void(this.processing=!1);const t=Date.now(),r=e.filter((e=>e.nextRetryAt<=t));if(0===r.length){const r=e.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),n=Math.max(0,r.nextRetryAt-t);return this.scheduleProcessing(n),void(this.processing=!1)}for(const e of r){e.attemptNumber++;const t=await this.processItem(e),r=this.getQueue(),n=r.findIndex((t=>t.id===e.id));if(-1!==n)if(t)r.splice(n,1),this.saveQueue(r);else if(e.attemptNumber>=e.maxAttempts)this.log("Max attempts reached, dropping:",e.id),r.splice(n,1),this.saveQueue(r);else{const t=this.calculateBackoff(e.attemptNumber);r[n].attemptNumber=e.attemptNumber,r[n].nextRetryAt=Date.now()+t,this.saveQueue(r),this.log("Scheduled retry in",t,"ms for:",e.id)}}const n=this.getQueue();if(n.length>0){const e=n.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),t=Math.max(0,e.nextRetryAt-Date.now());this.scheduleProcessing(t)}}finally{this.processing=!1}}else this.log("Offline, skipping processing")}scheduleProcessing(e){this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>this.processQueue()),e)}startProcessing(){this.scheduleProcessing(0)}getQueueLength(){return this.getQueue().length}clear(){this.saveQueue([]),this.timer&&(clearTimeout(this.timer),this.timer=null)}}class p{constructor(e){this.config={apiUrl:e.apiUrl||s,publishableKey:e.publishableKey,programSlug:e.programSlug,debug:e.debug||!1,maxRetries:e.maxRetries},this.retryQueue=new f({name:e.programSlug,maxAttempts:e.maxRetries||10,debug:e.debug||!1})}log(...e){this.config.debug&&console.log("[Blossu]",...e)}getEndpoint(e){return`${this.config.apiUrl}/v1/track/${e}`}getUtmParams(){if("undefined"==typeof window)return{utmSource:"",utmMedium:"",utmCampaign:"",utmTerm:"",utmContent:""};try{const e=new URLSearchParams(window.location.search);return{utmSource:e.get("utm_source")||"",utmMedium:e.get("utm_medium")||"",utmCampaign:e.get("utm_campaign")||"",utmTerm:e.get("utm_term")||"",utmContent:e.get("utm_content")||""}}catch{return{utmSource:"",utmMedium:"",utmCampaign:"",utmTerm:"",utmContent:""}}}getMeta(){const e="undefined"!=typeof window,t=this.getUtmParams();return{url:e?window.location.href:"",referrer:e?document.referrer:"",userAgent:e?navigator.userAgent:"",language:e?navigator.language:"",timezone:e&&Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||"",timestamp:Date.now(),sdkVersion:"0.1.0",utmSource:t.utmSource,utmMedium:t.utmMedium,utmCampaign:t.utmCampaign,utmTerm:t.utmTerm,utmContent:t.utmContent,windowWidth:e?window.innerWidth:0,windowHeight:e?window.innerHeight:0,screenWidth:e&&window.screen?.width||0,screenHeight:e&&window.screen?.height||0}}queueForRetry(e,t,r){this.log("Queueing for retry:",e),this.retryQueue.push(e,t,r)}async send(e,t){const r={event:e,data:t,meta:this.getMeta(),publishableKey:this.config.publishableKey};this.log("Sending event:",e,r);const n=this.getEndpoint(e),o=JSON.stringify(r);if("undefined"!=typeof navigator&&navigator.sendBeacon){const e=new Blob([o],{type:"application/json"});try{if(navigator.sendBeacon(n,e))return this.log("sendBeacon success"),!0;this.log("sendBeacon returned false (queue full), falling back to fetch")}catch(e){this.log("sendBeacon threw error, falling back to fetch:",e)}}try{const t=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:o,keepalive:!0});return t.ok?(this.log("fetch success:",t.status),!0):t.status>=500||408===t.status||429===t.status?(this.log("Server error, queueing for retry:",t.status),this.queueForRetry(e,n,o),!1):(this.log("Client error, not retrying:",t.status),!1)}catch(t){return this.log("fetch error, queueing for retry:",t),this.queueForRetry(e,n,o),!1}}trackClick(e){return this.send("click",e)}trackSignup(e){return this.send("signup",e)}trackSale(e){return this.send("sale",e)}trackPageview(e){return this.send("pageview",e)}getQueueLength(){return this.retryQueue.getQueueLength()}clearQueue(){this.retryQueue.clear()}}class g{constructor(e){this.initialized=!1,this.referralInfo=null,this.config={publishableKey:e.publishableKey,programSlug:e.programSlug||"",apiUrl:e.apiUrl||s,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||l,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack},this.tracker=new p({apiUrl:this.config.apiUrl,publishableKey:this.config.publishableKey,programSlug:this.config.programSlug,debug:this.config.debug}),this.loadReferralInfo(),this.config.autoTrack&&this.autoTrackReferral(),this.exposeToWindow()}log(...e){this.config.debug&&console.log("[Blossu]",...e)}exposeToWindow(){"undefined"!=typeof window&&(window.blossu=this,this.referralInfo&&(window.blossu_ref_id=this.referralInfo.refId))}loadReferralInfo(){this.referralInfo=u(this.config.cookieName),this.referralInfo&&this.log("Loaded referral info from cookie:",this.referralInfo)}autoTrackReferral(){if("undefined"==typeof window)return;const e=(t=this.config.trackingParam,"undefined"==typeof window?null:new URLSearchParams(window.location.search).get(t));var t;e&&e!==this.referralInfo?.code&&(this.log("Detected referral code in URL:",e),this.trackClick(e))}getRefId(){return this.referralInfo?.refId||null}getCode(){return this.referralInfo?.code||null}getReferralInfo(){return this.referralInfo}hasReferral(){return null!==this.referralInfo}clearReferral(){d(this.config.cookieName),this.referralInfo=null,"undefined"!=typeof window&&delete window.blossu_ref_id,this.log("Cleared referral info")}async trackClick(e){return this.referralInfo=c(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.log("Tracking click for code:",e,"refId:",this.referralInfo.refId),this.tracker.trackClick({code:this.referralInfo.code,refId:this.referralInfo.refId})}async signup(e={}){return this.referralInfo?(this.log("Tracking signup:",e),this.tracker.trackSignup({code:this.referralInfo.code,refId:this.referralInfo.refId,email:e.email,customerExternalId:e.customerExternalId,metadata:e.metadata})):(this.log("No referral info, skipping signup tracking"),!1)}async sale(e){return this.referralInfo?(this.log("Tracking sale:",e),this.tracker.trackSale({code:this.referralInfo.code,refId:this.referralInfo.refId,customerExternalId:e.customerExternalId,amount:e.amount,currency:e.currency,provider:e.provider||"custom",metadata:e.metadata})):(this.log("No referral info, skipping sale tracking"),!1)}async pageview(){return!!this.referralInfo&&this.tracker.trackPageview({code:this.referralInfo.code,refId:this.referralInfo.refId})}getStripeClientReferenceId(){return this.referralInfo?.refId||null}getStripeMetadata(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId,blossu_code:this.referralInfo.code}:{}}async getPartnerInfo(e){const t=this.config.programSlug?`/v1/public/programs/${this.config.programSlug}/referral/${encodeURIComponent(e)}`:`/v1/public/referral/${encodeURIComponent(e)}`,r=`${this.config.apiUrl}${t}`;try{const t=await fetch(r,{headers:{Authorization:`Bearer ${this.config.publishableKey}`}});if(!t.ok){if(404===t.status)return this.log("Partner info not found for code:",e),null;throw new Error(`HTTP error! status: ${t.status}`)}const n=await t.json();return this.log("Fetched partner info:",n),n}catch(e){return this.log("Error fetching partner info:",e),null}}getProgramSlug(){return this.config.programSlug}}let m=null;exports.Analytics=function({publicKey:t,programSlug:r,apiUrl:n,trackingParam:o,cookieExpiryDays:a,debug:i=!1,children:s}){return e.useEffect((()=>{"undefined"!=typeof window&&(m=new g({publishableKey:t,programSlug:r,apiUrl:n,trackingParam:o,cookieExpiryDays:a,debug:i,autoTrack:!0}))}),[t,r,n,o,a,i]),s||null},exports.Loader=({size:t=24,color:r="currentColor",className:n})=>e.createElement("svg",{className:n,width:t,height:t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",style:{animation:"blossu-spin 1s linear infinite"}},e.createElement("style",null,"\n @keyframes blossu-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n "),e.createElement("circle",{cx:"12",cy:"12",r:"10",stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeDasharray:"31.4 31.4",opacity:"0.25"}),e.createElement("circle",{cx:"12",cy:"12",r:"10",stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeDasharray:"31.4 31.4",strokeDashoffset:"62.8",style:{animation:"blossu-spin 1s linear infinite"}})),exports.ReferralLink=function({code:t,destinationUrl:r,label:n,showCopyButton:o=!0,onCopy:a}){const[s,l]=e.useState(!1),c=`${r}?ref=${t}`;return e.createElement("div",{style:i.container},n&&e.createElement("label",{style:i.label},n),e.createElement("div",{style:i.inputGroup},e.createElement("input",{type:"text",value:c,readOnly:!0,style:i.input,onClick:e=>e.target.select()}),o&&e.createElement("button",{onClick:async()=>{try{await navigator.clipboard.writeText(c),l(!0),a?.(),setTimeout((()=>l(!1)),2e3)}catch(e){console.error("Failed to copy:",e)}},style:i.button},s?"✓ Copied!":"Copy")))},exports.ReferralStats=n,exports.ReferralWidget=function({workspaceId:t,email:o,signature:i,apiUrl:s,theme:l="light",primaryColor:c="#3b82f6"}){const{partner:u,codes:d,stats:f,isLoading:p,error:g,copyLink:m,createCode:h}=r({workspaceId:t,email:o,signature:i,apiUrl:s}),[y,b]=e.useState(!1),[x,k]=e.useState(""),[w,S]=e.useState(""),[v,E]=e.useState(!1),C=function(e){return{container:{backgroundColor:e?"#1f2937":"#ffffff",color:e?"#f9fafb":"#111827"},card:{backgroundColor:e?"#374151":"#f9fafb",borderColor:e?"#4b5563":"#e5e7eb"},title:{color:e?"#f9fafb":"#111827"},text:{color:e?"#f9fafb":"#111827"},subtitle:{color:e?"#d1d5db":"#6b7280"},earning:{backgroundColor:e?"#374151":"#f0fdf4",borderColor:e?"#4b5563":"#bbf7d0"},input:{backgroundColor:e?"#1f2937":"#ffffff",borderColor:e?"#4b5563":"#d1d5db",color:e?"#f9fafb":"#111827"}}}("dark"===l);if(p)return e.createElement("div",{style:{...a.container,...C.container}},e.createElement("div",{style:a.loading},"Loading..."));if(g)return e.createElement("div",{style:{...a.container,...C.container}},e.createElement("div",{style:a.error},"Error: ",g));if(!u)return e.createElement("div",{style:{...a.container,...C.container}},e.createElement("div",{style:a.error},"Partner not found"));const I=e=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(e/100);return e.createElement("div",{style:{...a.container,...C.container}},e.createElement("div",{style:a.header},e.createElement("div",{style:a.headerIcon},"🎁"),e.createElement("h2",{style:{...a.title,...C.title}},"Refer to earn rewards"),e.createElement("p",{style:{...a.subtitle,...C.subtitle}},"Share your referral link and earn commissions from every sale")),e.createElement("div",{style:{...a.earning,...C.earning}},e.createElement("div",{style:a.earningLabel},"Total Earned"),e.createElement("div",{style:a.earningValue},I(u.totalEarned)),u.pendingBalance>0&&e.createElement("div",{style:a.earningPending},I(u.pendingBalance)," pending")),e.createElement("div",{style:a.section},e.createElement("h3",{style:{...a.sectionTitle,...C.text}},"Stats"),e.createElement(n,{clicks:f?.clicks||0,conversions:f?.conversions||0,revenue:u.totalRevenue})),e.createElement("div",{style:a.section},e.createElement("div",{style:a.sectionHeader},e.createElement("h3",{style:{...a.sectionTitle,...C.text}},"Your Referral Links"),e.createElement("button",{onClick:()=>b(!y),style:{...a.createButton,backgroundColor:c}},"+ Create Link")),y&&e.createElement("div",{style:{...a.createForm,...C.card}},e.createElement("input",{type:"text",placeholder:"Code (e.g., FRIEND10)",value:x,onChange:e=>k(e.target.value),style:{...a.input,...C.input}}),e.createElement("input",{type:"text",placeholder:"Display name (optional)",value:w,onChange:e=>S(e.target.value),style:{...a.input,...C.input}}),e.createElement("div",{style:a.createActions},e.createElement("button",{onClick:()=>b(!1),style:a.cancelButton},"Cancel"),e.createElement("button",{onClick:async()=>{if(x.trim()){E(!0);try{await h(x,w||void 0),k(""),S(""),b(!1)}catch(e){console.error("Failed to create code:",e)}finally{E(!1)}}},disabled:!x.trim()||v,style:{...a.primaryButton,backgroundColor:c}},v?"Creating...":"Create"))),e.createElement("div",{style:a.codesList},0===d.length?e.createElement("div",{style:{...a.emptyState,...C.subtitle}},"No referral codes yet. Create your first one!"):d.map((t=>e.createElement("div",{key:t.id,style:{...a.codeCard,...C.card}},e.createElement("div",{style:a.codeHeader},e.createElement("div",null,e.createElement("div",{style:{...a.codeName,...C.text}},t.code,t.isDefault&&e.createElement("span",{style:a.defaultBadge},"Default")),t.displayName&&e.createElement("div",{style:{...a.codeDisplayName,...C.subtitle}},t.displayName)),e.createElement("button",{onClick:()=>m(t.code),style:{...a.copyButton,backgroundColor:c}},"Copy")),e.createElement("div",{style:a.codeStats},e.createElement("div",{style:a.codeStat},e.createElement("div",{style:{...a.codeStatValue,...C.text}},t.clicks),e.createElement("div",{style:a.codeStatLabel},"Clicks")),e.createElement("div",{style:a.codeStat},e.createElement("div",{style:{...a.codeStatValue,...C.text}},t.conversions),e.createElement("div",{style:a.codeStatLabel},"Conversions")),e.createElement("div",{style:a.codeStat},e.createElement("div",{style:{...a.codeStatValue,...C.text}},I(t.revenue)),e.createElement("div",{style:a.codeStatLabel},"Revenue")))))))),e.createElement("div",{style:a.footer},e.createElement("a",{href:"https://blossu.com",target:"_blank",rel:"noopener noreferrer",style:{...a.footerLink,...C.subtitle}},"Powered by Blossu")))},exports.usePartner=r;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/react/usePartner.ts","../../src/react/ReferralStats.tsx","../../src/react/ReferralWidget.tsx","../../src/react/ReferralLink.tsx","../../src/constants.ts","../../src/utils.ts","../../src/retry-queue.ts","../../src/tracker.ts","../../src/blossu.ts","../../src/react/Analytics.tsx","../../src/react/Loader.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["DEFAULT_API_URL","usePartner","config","workspaceId","email","signature","apiUrl","partner","setPartner","useState","codes","setCodes","stats","setStats","isLoading","setIsLoading","error","setError","headers","fetchPartner","useCallback","async","response","fetch","ok","Error","json","err","console","fetchCodes","fetchStats","refresh","partnerData","codesData","statsData","Promise","all","message","useEffect","referralLink","code","defaultUrl","id","codeData","find","c","destinationUrl","copyLink","link","navigator","clipboard","writeText","createCode","displayName","method","body","JSON","stringify","newCode","prev","ReferralStats","clicks","conversions","revenue","currency","label","value","toLocaleString","cents","Intl","NumberFormat","style","format","React","createElement","styles","container","map","stat","key","card","display","gridTemplateColumns","gap","fontFamily","padding","backgroundColor","border","borderRadius","textAlign","fontSize","fontWeight","color","textTransform","letterSpacing","marginBottom","maxWidth","margin","loading","header","headerIcon","title","subtitle","earning","earningLabel","earningValue","earningPending","marginTop","section","sectionHeader","justifyContent","alignItems","sectionTitle","createButton","cursor","transition","createForm","flexDirection","input","outline","createActions","cancelButton","primaryButton","codesList","emptyState","codeCard","codeHeader","codeName","defaultBadge","codeDisplayName","copyButton","codeStats","paddingTop","borderTop","codeStat","codeStatValue","codeStatLabel","footer","footerLink","textDecoration","width","inputGroup","flex","button","whiteSpace","COOKIE_NAME","saveReferralInfo","cookieName","expiryDays","refId","Date","now","toString","Math","random","substring","info","toLowerCase","timestamp","name","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","setCookie","getReferralInfo","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","getCookie","parse","clearReferralInfo","RetryQueue","constructor","this","processing","timer","maxAttempts","baseDelay","maxDelay","debug","startProcessing","addEventListener","visibilityState","log","args","getStorageKey","generateId","getQueue","localStorage","data","getItem","saveQueue","queue","removeItem","setItem","calculateBackoff","attemptNumber","exponentialDelay","pow","jitter","delay","min","round","push","event","endpoint","payload","item","createdAt","nextRetryAt","processItem","keepalive","status","processQueue","onLine","readyItems","filter","nextItem","reduce","max","scheduleProcessing","success","currentQueue","index","findIndex","q","splice","backoff","remainingQueue","clearTimeout","setTimeout","getQueueLength","clear","Tracker","publishableKey","programSlug","maxRetries","retryQueue","getEndpoint","getMeta","isBrowser","url","href","referrer","userAgent","language","timezone","DateTimeFormat","resolvedOptions","timeZone","sdkVersion","queueForRetry","send","meta","sendBeacon","blob","Blob","type","trackClick","trackSignup","trackSale","trackPageview","clearQueue","BlossuClient","initialized","referralInfo","trackingParam","cookieExpiryDays","autoTrack","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","blossu_ref_id","param","URLSearchParams","search","get","getRefId","getCode","hasReferral","clearReferral","signup","customerExternalId","metadata","sale","amount","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","programPath","Authorization","getProgramSlug","defaultClient","publicKey","children","size","className","height","viewBox","xmlns","animation","cx","cy","r","stroke","strokeWidth","fill","strokeLinecap","strokeDasharray","opacity","strokeDashoffset","showCopyButton","onCopy","copied","setCopied","readOnly","onClick","e","target","select","theme","primaryColor","showCreateCode","setShowCreateCode","setNewCode","newDisplayName","setNewDisplayName","isCreating","setIsCreating","themeStyles","isDark","borderColor","text","getThemeStyles","formatCurrency","totalEarned","pendingBalance","totalRevenue","placeholder","onChange","trim","undefined","disabled","isDefault","rel"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/react/usePartner.ts","../../src/react/ReferralStats.tsx","../../src/react/ReferralWidget.tsx","../../src/react/ReferralLink.tsx","../../src/constants.ts","../../src/utils.ts","../../src/retry-queue.ts","../../src/tracker.ts","../../src/blossu.ts","../../src/react/Analytics.tsx","../../src/react/Loader.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["DEFAULT_API_URL","usePartner","config","workspaceId","email","signature","apiUrl","partner","setPartner","useState","codes","setCodes","stats","setStats","isLoading","setIsLoading","error","setError","headers","fetchPartner","useCallback","async","response","fetch","ok","Error","json","err","console","fetchCodes","fetchStats","refresh","partnerData","codesData","statsData","Promise","all","message","useEffect","referralLink","code","defaultUrl","id","codeData","find","c","destinationUrl","copyLink","link","navigator","clipboard","writeText","createCode","displayName","method","body","JSON","stringify","newCode","prev","ReferralStats","clicks","conversions","revenue","currency","label","value","toLocaleString","cents","Intl","NumberFormat","style","format","React","createElement","styles","container","map","stat","key","card","display","gridTemplateColumns","gap","fontFamily","padding","backgroundColor","border","borderRadius","textAlign","fontSize","fontWeight","color","textTransform","letterSpacing","marginBottom","maxWidth","margin","loading","header","headerIcon","title","subtitle","earning","earningLabel","earningValue","earningPending","marginTop","section","sectionHeader","justifyContent","alignItems","sectionTitle","createButton","cursor","transition","createForm","flexDirection","input","outline","createActions","cancelButton","primaryButton","codesList","emptyState","codeCard","codeHeader","codeName","defaultBadge","codeDisplayName","copyButton","codeStats","paddingTop","borderTop","codeStat","codeStatValue","codeStatLabel","footer","footerLink","textDecoration","width","inputGroup","flex","button","whiteSpace","COOKIE_NAME","saveReferralInfo","cookieName","expiryDays","refId","Date","now","toString","Math","random","substring","info","toLowerCase","timestamp","name","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","setCookie","getReferralInfo","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","getCookie","parse","clearReferralInfo","RetryQueue","constructor","this","processing","timer","maxAttempts","baseDelay","maxDelay","debug","startProcessing","addEventListener","visibilityState","log","args","getStorageKey","generateId","getQueue","localStorage","data","getItem","saveQueue","queue","removeItem","setItem","calculateBackoff","attemptNumber","exponentialDelay","pow","jitter","delay","min","round","push","event","endpoint","payload","item","createdAt","nextRetryAt","processItem","keepalive","status","processQueue","onLine","readyItems","filter","nextItem","reduce","max","scheduleProcessing","success","currentQueue","index","findIndex","q","splice","backoff","remainingQueue","clearTimeout","setTimeout","getQueueLength","clear","Tracker","publishableKey","programSlug","maxRetries","retryQueue","getEndpoint","getUtmParams","utmSource","utmMedium","utmCampaign","utmTerm","utmContent","params","URLSearchParams","search","get","getMeta","isBrowser","utmParams","url","href","referrer","userAgent","language","timezone","DateTimeFormat","resolvedOptions","timeZone","sdkVersion","windowWidth","innerWidth","windowHeight","innerHeight","screenWidth","screen","screenHeight","height","queueForRetry","send","meta","sendBeacon","blob","Blob","type","trackClick","trackSignup","trackSale","trackPageview","clearQueue","BlossuClient","initialized","referralInfo","trackingParam","cookieExpiryDays","autoTrack","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","blossu_ref_id","param","getRefId","getCode","hasReferral","clearReferral","signup","customerExternalId","metadata","sale","amount","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","programPath","Authorization","getProgramSlug","defaultClient","publicKey","children","size","className","viewBox","xmlns","animation","cx","cy","r","stroke","strokeWidth","fill","strokeLinecap","strokeDasharray","opacity","strokeDashoffset","showCopyButton","onCopy","copied","setCopied","readOnly","onClick","e","target","select","theme","primaryColor","showCreateCode","setShowCreateCode","setNewCode","newDisplayName","setNewDisplayName","isCreating","setIsCreating","themeStyles","isDark","borderColor","text","getThemeStyles","formatCurrency","totalEarned","pendingBalance","totalRevenue","placeholder","onChange","trim","undefined","disabled","isDefault","rel"],"mappings":"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"}
@@ -9,7 +9,7 @@ export interface QueueItem {
9
9
  nextRetryAt: number;
10
10
  }
11
11
  export interface RetryQueueConfig {
12
- name: string;
12
+ name?: string;
13
13
  maxAttempts?: number;
14
14
  baseDelay?: number;
15
15
  maxDelay?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"retry-queue.d.ts","sourceRoot":"","sources":["../../src/retry-queue.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAMD,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,KAAK,CAA8C;gBAE/C,MAAM,EAAE,gBAAgB;IAmBpC,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,gBAAgB;IAOxB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;YAqB9C,WAAW;YA+BX,YAAY;IAwE1B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,eAAe;IAIvB,cAAc,IAAI,MAAM;IAIxB,KAAK,IAAI,IAAI;CAOd"}
1
+ {"version":3,"file":"retry-queue.d.ts","sourceRoot":"","sources":["../../src/retry-queue.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAMD,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,KAAK,CAA8C;gBAE/C,MAAM,EAAE,gBAAgB;IAmBpC,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,gBAAgB;IAOxB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;YAqB9C,WAAW;YA+BX,YAAY;IAwE1B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,eAAe;IAIvB,cAAc,IAAI,MAAM;IAIxB,KAAK,IAAI,IAAI;CAOd"}
@@ -16,6 +16,15 @@ export interface TrackPayload {
16
16
  timezone: string;
17
17
  timestamp: number;
18
18
  sdkVersion: string;
19
+ utmSource: string;
20
+ utmMedium: string;
21
+ utmCampaign: string;
22
+ utmTerm: string;
23
+ utmContent: string;
24
+ windowWidth: number;
25
+ windowHeight: number;
26
+ screenWidth: number;
27
+ screenHeight: number;
19
28
  };
20
29
  }
21
30
  export declare class Tracker {
@@ -26,6 +35,7 @@ export declare class Tracker {
26
35
  });
27
36
  private log;
28
37
  private getEndpoint;
38
+ private getUtmParams;
29
39
  private getMeta;
30
40
  private queueForRetry;
31
41
  send(event: 'click' | 'signup' | 'sale' | 'pageview', data: Record<string, any>): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../src/tracker.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAa;gBAEnB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE;IAgBvE,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,aAAa;IAKf,IAAI,CACR,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,EAC/C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,OAAO,CAAC;IA0DnB,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE,WAAW,CAAC,IAAI,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpB,SAAS,CAAC,IAAI,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,EAAE,MAAM,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpB,aAAa,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAItE,cAAc,IAAI,MAAM;IAIxB,UAAU,IAAI,IAAI;CAGnB"}
1
+ {"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../src/tracker.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAa;gBAEnB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE;IAgBvE,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,OAAO;IAwBf,OAAO,CAAC,aAAa;IAKf,IAAI,CACR,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,EAC/C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,OAAO,CAAC;IA0DnB,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE,WAAW,CAAC,IAAI,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpB,SAAS,CAAC,IAAI,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,EAAE,MAAM,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpB,aAAa,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAItE,cAAc,IAAI,MAAM;IAIxB,UAAU,IAAI,IAAI;CAGnB"}
@@ -9,7 +9,7 @@ export interface QueueItem {
9
9
  nextRetryAt: number;
10
10
  }
11
11
  export interface RetryQueueConfig {
12
- name: string;
12
+ name?: string;
13
13
  maxAttempts?: number;
14
14
  baseDelay?: number;
15
15
  maxDelay?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"retry-queue.d.ts","sourceRoot":"","sources":["../src/retry-queue.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAMD,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,KAAK,CAA8C;gBAE/C,MAAM,EAAE,gBAAgB;IAmBpC,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,gBAAgB;IAOxB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;YAqB9C,WAAW;YA+BX,YAAY;IAwE1B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,eAAe;IAIvB,cAAc,IAAI,MAAM;IAIxB,KAAK,IAAI,IAAI;CAOd"}
1
+ {"version":3,"file":"retry-queue.d.ts","sourceRoot":"","sources":["../src/retry-queue.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAMD,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAU;IACvB,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,KAAK,CAA8C;gBAE/C,MAAM,EAAE,gBAAgB;IAmBpC,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,gBAAgB;IAOxB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;YAqB9C,WAAW;YA+BX,YAAY;IAwE1B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,eAAe;IAIvB,cAAc,IAAI,MAAM;IAIxB,KAAK,IAAI,IAAI;CAOd"}
package/dist/tracker.d.ts CHANGED
@@ -16,6 +16,15 @@ export interface TrackPayload {
16
16
  timezone: string;
17
17
  timestamp: number;
18
18
  sdkVersion: string;
19
+ utmSource: string;
20
+ utmMedium: string;
21
+ utmCampaign: string;
22
+ utmTerm: string;
23
+ utmContent: string;
24
+ windowWidth: number;
25
+ windowHeight: number;
26
+ screenWidth: number;
27
+ screenHeight: number;
19
28
  };
20
29
  }
21
30
  export declare class Tracker {
@@ -26,6 +35,7 @@ export declare class Tracker {
26
35
  });
27
36
  private log;
28
37
  private getEndpoint;
38
+ private getUtmParams;
29
39
  private getMeta;
30
40
  private queueForRetry;
31
41
  send(event: 'click' | 'signup' | 'sale' | 'pageview', data: Record<string, any>): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../src/tracker.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAa;gBAEnB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE;IAgBvE,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,aAAa;IAKf,IAAI,CACR,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,EAC/C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,OAAO,CAAC;IA0DnB,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE,WAAW,CAAC,IAAI,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpB,SAAS,CAAC,IAAI,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,EAAE,MAAM,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpB,aAAa,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAItE,cAAc,IAAI,MAAM;IAIxB,UAAU,IAAI,IAAI;CAGnB"}
1
+ {"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../src/tracker.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAa;gBAEnB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE;IAgBvE,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,OAAO;IAwBf,OAAO,CAAC,aAAa;IAKf,IAAI,CACR,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,EAC/C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,OAAO,CAAC;IA0DnB,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE,WAAW,CAAC,IAAI,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpB,SAAS,CAAC,IAAI,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,EAAE,MAAM,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpB,aAAa,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAItE,cAAc,IAAI,MAAM;IAIxB,UAAU,IAAI,IAAI;CAGnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blossu/ui",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "Blossu UI SDK - Client-side tracking for affiliate/referral programs",
5
5
  "main": "dist/blossu.js",
6
6
  "module": "dist/blossu.esm.js",