@blossu/ui 0.12.14 → 0.14.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.
- package/README.md +3 -3
- package/dist/cdn/react.d.ts +3 -3
- package/dist/cdn/react.d.ts.map +1 -1
- package/dist/react.d.ts +3 -3
- package/dist/react.d.ts.map +1 -1
- package/dist/react.esm.js +1 -1
- package/dist/react.esm.js.map +1 -1
- package/dist/react.js +1 -1
- package/dist/react.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -227,18 +227,18 @@ function CustomReferralUI() {
|
|
|
227
227
|
}
|
|
228
228
|
```
|
|
229
229
|
|
|
230
|
-
### Option 4:
|
|
230
|
+
### Option 4: ReferralTracker Wrapper
|
|
231
231
|
|
|
232
232
|
For tracking only (no UI):
|
|
233
233
|
|
|
234
234
|
```tsx
|
|
235
|
-
import {
|
|
235
|
+
import { ReferralTracker } from '@blossu/ui/react';
|
|
236
236
|
|
|
237
237
|
export default function RootLayout({ children }) {
|
|
238
238
|
return (
|
|
239
239
|
<html>
|
|
240
240
|
<body>
|
|
241
|
-
<
|
|
241
|
+
<ReferralTracker publishableKey={process.env.NEXT_PUBLIC_BLOSSU_KEY!}>{children}</ReferralTracker>
|
|
242
242
|
</body>
|
|
243
243
|
</html>
|
|
244
244
|
);
|
package/dist/cdn/react.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export interface ReferralWidgetProps {
|
|
|
23
23
|
email: string;
|
|
24
24
|
signature: string;
|
|
25
25
|
apiUrl?: string;
|
|
26
|
-
theme?:
|
|
26
|
+
theme?: 'light' | 'dark';
|
|
27
27
|
primaryColor?: string;
|
|
28
28
|
}
|
|
29
29
|
export interface ReferralLinkProps {
|
|
@@ -39,7 +39,7 @@ export interface ReferralStatsProps {
|
|
|
39
39
|
revenue: number;
|
|
40
40
|
currency?: string;
|
|
41
41
|
}
|
|
42
|
-
export interface
|
|
42
|
+
export interface ReferralTrackerProps {
|
|
43
43
|
publishableKey: string;
|
|
44
44
|
programId?: string;
|
|
45
45
|
apiUrl?: string;
|
|
@@ -54,7 +54,7 @@ export interface LoaderProps {
|
|
|
54
54
|
className?: string;
|
|
55
55
|
}
|
|
56
56
|
export declare function usePartner(config: UsePartnerConfig): UsePartnerReturn;
|
|
57
|
-
export declare function
|
|
57
|
+
export declare function ReferralTracker({ publishableKey, programId, apiUrl, trackingParam, cookieExpiryDays, debug, children, }: ReferralTrackerProps): JSX.Element | null;
|
|
58
58
|
export declare const Loader: React.FC<LoaderProps>;
|
|
59
59
|
export declare function ReferralLink({ code, destinationUrl, label, showCopyButton, onCopy, }: ReferralLinkProps): React.JSX.Element;
|
|
60
60
|
export declare function ReferralStats({ clicks, conversions, revenue, currency, }: ReferralStatsProps): React.JSX.Element;
|
package/dist/cdn/react.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGnE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnE,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACjF,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"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"}
|
package/dist/react.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export interface ReferralWidgetProps {
|
|
|
23
23
|
email: string;
|
|
24
24
|
signature: string;
|
|
25
25
|
apiUrl?: string;
|
|
26
|
-
theme?:
|
|
26
|
+
theme?: 'light' | 'dark';
|
|
27
27
|
primaryColor?: string;
|
|
28
28
|
}
|
|
29
29
|
export interface ReferralLinkProps {
|
|
@@ -39,7 +39,7 @@ export interface ReferralStatsProps {
|
|
|
39
39
|
revenue: number;
|
|
40
40
|
currency?: string;
|
|
41
41
|
}
|
|
42
|
-
export interface
|
|
42
|
+
export interface ReferralTrackerProps {
|
|
43
43
|
publishableKey: string;
|
|
44
44
|
programId?: string;
|
|
45
45
|
apiUrl?: string;
|
|
@@ -54,7 +54,7 @@ export interface LoaderProps {
|
|
|
54
54
|
className?: string;
|
|
55
55
|
}
|
|
56
56
|
export declare function usePartner(config: UsePartnerConfig): UsePartnerReturn;
|
|
57
|
-
export declare function
|
|
57
|
+
export declare function ReferralTracker({ publishableKey, programId, apiUrl, trackingParam, cookieExpiryDays, debug, children, }: ReferralTrackerProps): JSX.Element | null;
|
|
58
58
|
export declare const Loader: React.FC<LoaderProps>;
|
|
59
59
|
export declare function ReferralLink({ code, destinationUrl, label, showCopyButton, onCopy, }: ReferralLinkProps): React.JSX.Element;
|
|
60
60
|
export declare function ReferralStats({ clicks, conversions, revenue, currency, }: ReferralStatsProps): React.JSX.Element;
|
package/dist/react.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGnE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnE,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACjF,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"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"}
|
package/dist/react.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e,{useState as t,useCallback as r,useEffect as o}from"react";const n="https://api.blossu.com",i="blossu_ref";function a(e,t=i,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 s(e=i){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 l(e=i){var t;t=e,"undefined"!=typeof document&&(document.cookie=`${t}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}class c{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,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 d{constructor(e){this.config={apiUrl:e.apiUrl||n,publishableKey:e.publishableKey,programSlug:e.programSlug,debug:e.debug||!1,maxRetries:e.maxRetries},this.retryQueue=new c({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 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 u{constructor(e=!1){this.refId=null,this.initialized=!1,this.debug=e}log(...e){this.debug&&console.log("[Blossu:Shopify]",...e)}setRefId(e){this.refId=e,this.updateCartAttributes(),this.initialized||(this.interceptAddToCart(),this.initialized=!0)}async updateCartAttributes(){if(this.refId)try{const e=await fetch("/cart/update.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({attributes:{blossu_ref_id:this.refId}})});e.ok?this.log("Updated cart attributes with refId:",this.refId):this.log("Failed to update cart attributes:",e.status)}catch(e){this.log("Failed to update cart attributes:",e)}}interceptAddToCart(){this.interceptFetch(),this.interceptFormSubmissions(),this.interceptXHR(),this.log("Interceptors initialized")}interceptFetch(){const e=window.fetch,t=()=>this.refId,r=(...e)=>this.log(...e);window.fetch=function(o,n){const i="string"==typeof o?o:o instanceof URL?o.href:o.url,a=t();if(i.includes("/cart/add")&&a&&n?.body)try{const e="string"==typeof n.body?n.body:null;if(e){const t=JSON.parse(e);t.items&&Array.isArray(t.items)?t.items=t.items.map((e=>({...e,properties:{...e.properties||{},blossu_ref_id:a}}))):t.id&&(t.properties={...t.properties||{},blossu_ref_id:a}),n.body=JSON.stringify(t),r("Injected refId into add-to-cart fetch request")}}catch{r("Could not parse add-to-cart body, skipping injection")}return e.call(window,o,n)}}interceptFormSubmissions(){const e=()=>this.refId,t=(...e)=>this.log(...e);document.addEventListener("submit",(r=>{const o=r.target,n=e();if(!o.action?.includes("/cart/add")||!n)return;let i=o.querySelector('input[name="properties[blossu_ref_id]"]');i||(i=document.createElement("input"),i.type="hidden",i.name="properties[blossu_ref_id]",o.appendChild(i)),i.value=n,t("Injected refId into form submission")}),!0)}interceptXHR(){const e=()=>this.refId,t=(...e)=>this.log(...e),r=XMLHttpRequest.prototype.open,o=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.open=function(e,t,o,n,i){return this._blossu_url="string"==typeof t?t:t.href,r.call(this,e,t,o??!0,n??null,i??null)},XMLHttpRequest.prototype.send=function(r){const n=e();if(this._blossu_url?.includes("/cart/add")&&n&&"string"==typeof r)try{const e=JSON.parse(r);e.items&&Array.isArray(e.items)?e.items=e.items.map((e=>({...e,properties:{...e.properties||{},blossu_ref_id:n}}))):e.id&&(e.properties={...e.properties||{},blossu_ref_id:n}),r=JSON.stringify(e),t("Injected refId into XHR add-to-cart request")}catch{t("Could not parse XHR body, skipping injection")}return o.call(this,r)}}async ensureCartHasRefId(){if(this.refId)try{const e=await fetch("/cart.js"),t=await e.json();t.attributes?.blossu_ref_id!==this.refId&&await this.updateCartAttributes()}catch(e){this.log("Failed to check cart:",e)}}getCartAttributes(){return this.refId?{blossu_ref_id:this.refId}:{}}getLineItemProperties(){return this.refId?{blossu_ref_id:this.refId}:{}}}class f{constructor(e){this.initialized=!1,this.referralInfo=null,this.shopify=null,this.config={publishableKey:e.publishableKey,programSlug:e.programSlug||"",apiUrl:e.apiUrl||n,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||i,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack,platform:e.platform||"default"},this.tracker=new d({apiUrl:this.config.apiUrl,publishableKey:this.config.publishableKey,programSlug:this.config.programSlug,debug:this.config.debug}),"shopify"===this.config.platform&&(this.shopify=new u(this.config.debug),this.log("Shopify platform integration enabled")),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=s(this.config.cookieName),this.referralInfo&&(this.log("Loaded referral info from cookie:",this.referralInfo),this.shopify&&this.shopify.setRefId(this.referralInfo.refId))}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(){l(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=a(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.shopify&&this.shopify.setRefId(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}getPlatform(){return this.config.platform}getShopifyCartAttributes(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId}:{}}getShopifyLineItemProperties(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId}:{}}async ensureShopifyCartHasRefId(){this.shopify&&this.referralInfo&&await this.shopify.ensureCartHasRefId()}}let p=null;const g="https://api.blossu.com";function h(e){const{workspaceId:n,email:i,signature:a,apiUrl:s=g}=e,[l,c]=t(null),[d,u]=t([]),[f,p]=t(null),[h,m]=t(!0),[y,b]=t(null),x={"Content-Type":"application/json","X-Blossu-Workspace":n,"X-Blossu-Email":i,"X-Blossu-Signature":a},w=r((async()=>{try{const e=await fetch(`${s}/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}}),[s,n,i,a]),k=r((async()=>{try{const e=await fetch(`${s}/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),[]}}),[s,n,i,a]),S=r((async()=>{try{const e=await fetch(`${s}/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}}),[s,n,i,a]),I=r((async()=>{m(!0),b(null);try{const[e,t,r]=await Promise.all([w(),k(),S()]);c(e),u(t),p(r)}catch(e){b(e instanceof Error?e.message:"Failed to load data")}finally{m(!1)}}),[w,k,S]);o((()=>{I()}),[I]);const v=r((e=>{const t=l?.id?"https://example.com":"",r=d.find((t=>t.code===e));return`${r?.destinationUrl||t}?ref=${e}`}),[l,d]),E=r((async e=>{const t=v(e);try{await navigator.clipboard.writeText(t)}catch(e){throw console.error("Failed to copy link:",e),e}}),[v]),C=r((async(e,t)=>{try{const r=await fetch(`${s}/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 u((e=>[...e,o])),o}catch(e){return console.error("Error creating code:",e),null}}),[s,n,i,a]);return{partner:l,codes:d,stats:f,isLoading:h,error:y,referralLink:v,copyLink:E,createCode:C,refresh:I}}function m({publishableKey:t,programId:r,apiUrl:n,trackingParam:i,cookieExpiryDays:a,debug:s=!1,children:l}){return o((()=>{"undefined"!=typeof window&&(p=new f({publishableKey:t,programSlug:r,apiUrl:n,trackingParam:i,cookieExpiryDays:a,debug:s,autoTrack:!0}))}),[t,r,n,i,a,s]),l?e.createElement(e.Fragment,null,l):null}const y=({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"}}));function b({code:r,destinationUrl:o,label:n,showCopyButton:i=!0,onCopy:a}){const[s,l]=t(!1),c=`${o}?ref=${r}`;return e.createElement("div",{style:x.container},n&&e.createElement("label",{style:x.label},n),e.createElement("div",{style:x.inputGroup},e.createElement("input",{type:"text",value:c,readOnly:!0,style:x.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:x.button},s?"✓ Copied!":"Copy")))}const x={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"}};function w({clicks:t,conversions:r,revenue:o,currency:n="USD"}){const i=[{label:"Clicks",value:t.toLocaleString()},{label:"Conversions",value:r.toLocaleString()},{label:"Revenue",value:(a=o,new Intl.NumberFormat("en-US",{style:"currency",currency:n}).format(a/100))}];var a;return e.createElement("div",{style:k.container},i.map((t=>e.createElement("div",{key:t.label,style:k.card},e.createElement("div",{style:k.label},t.label),e.createElement("div",{style:k.value},t.value)))))}const k={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 S({workspaceId:r,email:o,signature:n,apiUrl:i,theme:a="light",primaryColor:s="#3b82f6"}){const{partner:l,codes:c,stats:d,isLoading:u,error:f,copyLink:p,createCode:g}=h({workspaceId:r,email:o,signature:n,apiUrl:i}),[m,y]=t(!1),[b,x]=t(""),[k,S]=t(""),[v,E]=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"===a);if(u)return e.createElement("div",{style:{...I.container,...C.container}},e.createElement("div",{style:I.loading},"Loading..."));if(f)return e.createElement("div",{style:{...I.container,...C.container}},e.createElement("div",{style:I.error},"Error: ",f));if(!l)return e.createElement("div",{style:{...I.container,...C.container}},e.createElement("div",{style:I.error},"Partner not found"));const R=e=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(e/100);return e.createElement("div",{style:{...I.container,...C.container}},e.createElement("div",{style:I.header},e.createElement("div",{style:I.headerIcon},"🎁"),e.createElement("h2",{style:{...I.title,...C.title}},"Refer to earn rewards"),e.createElement("p",{style:{...I.subtitle,...C.subtitle}},"Share your referral link and earn commissions from every sale")),e.createElement("div",{style:{...I.earning,...C.earning}},e.createElement("div",{style:I.earningLabel},"Total Earned"),e.createElement("div",{style:I.earningValue},R(l.totalEarned)),l.pendingBalance>0&&e.createElement("div",{style:I.earningPending},R(l.pendingBalance)," pending")),e.createElement("div",{style:I.section},e.createElement("h3",{style:{...I.sectionTitle,...C.text}},"Stats"),e.createElement(w,{clicks:d?.clicks||0,conversions:d?.conversions||0,revenue:l.totalRevenue})),e.createElement("div",{style:I.section},e.createElement("div",{style:I.sectionHeader},e.createElement("h3",{style:{...I.sectionTitle,...C.text}},"Your Referral Links"),e.createElement("button",{onClick:()=>y(!m),style:{...I.createButton,backgroundColor:s}},"+ Create Link")),m&&e.createElement("div",{style:{...I.createForm,...C.card}},e.createElement("input",{type:"text",placeholder:"Code (e.g., FRIEND10)",value:b,onChange:e=>x(e.target.value),style:{...I.input,...C.input}}),e.createElement("input",{type:"text",placeholder:"Display name (optional)",value:k,onChange:e=>S(e.target.value),style:{...I.input,...C.input}}),e.createElement("div",{style:I.createActions},e.createElement("button",{onClick:()=>y(!1),style:I.cancelButton},"Cancel"),e.createElement("button",{onClick:async()=>{if(b.trim()){E(!0);try{await g(b,k||void 0),x(""),S(""),y(!1)}catch(e){console.error("Failed to create code:",e)}finally{E(!1)}}},disabled:!b.trim()||v,style:{...I.primaryButton,backgroundColor:s}},v?"Creating...":"Create"))),e.createElement("div",{style:I.codesList},0===c.length?e.createElement("div",{style:{...I.emptyState,...C.subtitle}},"No referral codes yet. Create your first one!"):c.map((t=>e.createElement("div",{key:t.id,style:{...I.codeCard,...C.card}},e.createElement("div",{style:I.codeHeader},e.createElement("div",null,e.createElement("div",{style:{...I.codeName,...C.text}},t.code,t.isDefault&&e.createElement("span",{style:I.defaultBadge},"Default")),t.displayName&&e.createElement("div",{style:{...I.codeDisplayName,...C.subtitle}},t.displayName)),e.createElement("button",{onClick:()=>p(t.code),style:{...I.copyButton,backgroundColor:s}},"Copy")),e.createElement("div",{style:I.codeStats},e.createElement("div",{style:I.codeStat},e.createElement("div",{style:{...I.codeStatValue,...C.text}},t.clicks),e.createElement("div",{style:I.codeStatLabel},"Clicks")),e.createElement("div",{style:I.codeStat},e.createElement("div",{style:{...I.codeStatValue,...C.text}},t.conversions),e.createElement("div",{style:I.codeStatLabel},"Conversions")),e.createElement("div",{style:I.codeStat},e.createElement("div",{style:{...I.codeStatValue,...C.text}},R(t.revenue)),e.createElement("div",{style:I.codeStatLabel},"Revenue")))))))),e.createElement("div",{style:I.footer},e.createElement("a",{href:"https://blossu.com",target:"_blank",rel:"noopener noreferrer",style:{...I.footerLink,...C.subtitle}},"Powered by Blossu")))}const I={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"}};export{m as Analytics,y as Loader,b as ReferralLink,w as ReferralStats,S as ReferralWidget,h as usePartner};
|
|
1
|
+
import e,{useState as t,useCallback as r,useEffect as o}from"react";const n="https://api.blossu.com",i="blossu_ref";function a(e,t=i,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 s(e=i){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 l(e=i){var t;t=e,"undefined"!=typeof document&&(document.cookie=`${t}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}class c{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,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 d{constructor(e){this.config={apiUrl:e.apiUrl||n,publishableKey:e.publishableKey,programSlug:e.programSlug,debug:e.debug||!1,maxRetries:e.maxRetries},this.retryQueue=new c({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 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 u{constructor(e=!1){this.refId=null,this.initialized=!1,this.debug=e}log(...e){this.debug&&console.log("[Blossu:Shopify]",...e)}setRefId(e){this.refId=e,this.updateCartAttributes(),this.initialized||(this.interceptAddToCart(),this.initialized=!0)}async updateCartAttributes(){if(this.refId)try{const e=await fetch("/cart/update.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({attributes:{blossu_ref_id:this.refId}})});e.ok?this.log("Updated cart attributes with refId:",this.refId):this.log("Failed to update cart attributes:",e.status)}catch(e){this.log("Failed to update cart attributes:",e)}}interceptAddToCart(){this.interceptFetch(),this.interceptFormSubmissions(),this.interceptXHR(),this.log("Interceptors initialized")}interceptFetch(){const e=window.fetch,t=()=>this.refId,r=(...e)=>this.log(...e);window.fetch=function(o,n){const i="string"==typeof o?o:o instanceof URL?o.href:o.url,a=t();if(i.includes("/cart/add")&&a&&n?.body)try{const e="string"==typeof n.body?n.body:null;if(e){const t=JSON.parse(e);t.items&&Array.isArray(t.items)?t.items=t.items.map((e=>({...e,properties:{...e.properties||{},blossu_ref_id:a}}))):t.id&&(t.properties={...t.properties||{},blossu_ref_id:a}),n.body=JSON.stringify(t),r("Injected refId into add-to-cart fetch request")}}catch{r("Could not parse add-to-cart body, skipping injection")}return e.call(window,o,n)}}interceptFormSubmissions(){const e=()=>this.refId,t=(...e)=>this.log(...e);document.addEventListener("submit",(r=>{const o=r.target,n=e();if(!o.action?.includes("/cart/add")||!n)return;let i=o.querySelector('input[name="properties[blossu_ref_id]"]');i||(i=document.createElement("input"),i.type="hidden",i.name="properties[blossu_ref_id]",o.appendChild(i)),i.value=n,t("Injected refId into form submission")}),!0)}interceptXHR(){const e=()=>this.refId,t=(...e)=>this.log(...e),r=XMLHttpRequest.prototype.open,o=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.open=function(e,t,o,n,i){return this._blossu_url="string"==typeof t?t:t.href,r.call(this,e,t,o??!0,n??null,i??null)},XMLHttpRequest.prototype.send=function(r){const n=e();if(this._blossu_url?.includes("/cart/add")&&n&&"string"==typeof r)try{const e=JSON.parse(r);e.items&&Array.isArray(e.items)?e.items=e.items.map((e=>({...e,properties:{...e.properties||{},blossu_ref_id:n}}))):e.id&&(e.properties={...e.properties||{},blossu_ref_id:n}),r=JSON.stringify(e),t("Injected refId into XHR add-to-cart request")}catch{t("Could not parse XHR body, skipping injection")}return o.call(this,r)}}async ensureCartHasRefId(){if(this.refId)try{const e=await fetch("/cart.js"),t=await e.json();t.attributes?.blossu_ref_id!==this.refId&&await this.updateCartAttributes()}catch(e){this.log("Failed to check cart:",e)}}getCartAttributes(){return this.refId?{blossu_ref_id:this.refId}:{}}getLineItemProperties(){return this.refId?{blossu_ref_id:this.refId}:{}}}class f{constructor(e){this.initialized=!1,this.referralInfo=null,this.shopify=null,this.config={publishableKey:e.publishableKey,programSlug:e.programSlug||"",apiUrl:e.apiUrl||n,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||i,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack,platform:e.platform||"default"},this.tracker=new d({apiUrl:this.config.apiUrl,publishableKey:this.config.publishableKey,programSlug:this.config.programSlug,debug:this.config.debug}),"shopify"===this.config.platform&&(this.shopify=new u(this.config.debug),this.log("Shopify platform integration enabled")),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=s(this.config.cookieName),this.referralInfo&&(this.log("Loaded referral info from cookie:",this.referralInfo),this.shopify&&this.shopify.setRefId(this.referralInfo.refId))}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(){l(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=a(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.shopify&&this.shopify.setRefId(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}getPlatform(){return this.config.platform}getShopifyCartAttributes(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId}:{}}getShopifyLineItemProperties(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId}:{}}async ensureShopifyCartHasRefId(){this.shopify&&this.referralInfo&&await this.shopify.ensureCartHasRefId()}}let p=null;const g="https://api.blossu.com";function h(e){const{workspaceId:n,email:i,signature:a,apiUrl:s=g}=e,[l,c]=t(null),[d,u]=t([]),[f,p]=t(null),[h,m]=t(!0),[y,b]=t(null),x={"Content-Type":"application/json","X-Blossu-Workspace":n,"X-Blossu-Email":i,"X-Blossu-Signature":a},w=r((async()=>{try{const e=await fetch(`${s}/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}}),[s,n,i,a]),k=r((async()=>{try{const e=await fetch(`${s}/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),[]}}),[s,n,i,a]),S=r((async()=>{try{const e=await fetch(`${s}/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}}),[s,n,i,a]),I=r((async()=>{m(!0),b(null);try{const[e,t,r]=await Promise.all([w(),k(),S()]);c(e),u(t),p(r)}catch(e){b(e instanceof Error?e.message:"Failed to load data")}finally{m(!1)}}),[w,k,S]);o((()=>{I()}),[I]);const v=r((e=>{const t=l?.id?"https://example.com":"",r=d.find((t=>t.code===e));return`${r?.destinationUrl||t}?ref=${e}`}),[l,d]),E=r((async e=>{const t=v(e);try{await navigator.clipboard.writeText(t)}catch(e){throw console.error("Failed to copy link:",e),e}}),[v]),C=r((async(e,t)=>{try{const r=await fetch(`${s}/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 u((e=>[...e,o])),o}catch(e){return console.error("Error creating code:",e),null}}),[s,n,i,a]);return{partner:l,codes:d,stats:f,isLoading:h,error:y,referralLink:v,copyLink:E,createCode:C,refresh:I}}function m({publishableKey:t,programId:r,apiUrl:n,trackingParam:i,cookieExpiryDays:a,debug:s=!1,children:l}){return o((()=>{"undefined"!=typeof window&&(p=new f({publishableKey:t,programSlug:r,apiUrl:n,trackingParam:i,cookieExpiryDays:a,debug:s,autoTrack:!0}))}),[t,r,n,i,a,s]),l?e.createElement(e.Fragment,null,l):null}const y=({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"}}));function b({code:r,destinationUrl:o,label:n,showCopyButton:i=!0,onCopy:a}){const[s,l]=t(!1),c=`${o}?ref=${r}`;return e.createElement("div",{style:x.container},n&&e.createElement("label",{style:x.label},n),e.createElement("div",{style:x.inputGroup},e.createElement("input",{type:"text",value:c,readOnly:!0,style:x.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:x.button},s?"✓ Copied!":"Copy")))}const x={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"}};function w({clicks:t,conversions:r,revenue:o,currency:n="USD"}){const i=[{label:"Clicks",value:t.toLocaleString()},{label:"Conversions",value:r.toLocaleString()},{label:"Revenue",value:(a=o,new Intl.NumberFormat("en-US",{style:"currency",currency:n}).format(a/100))}];var a;return e.createElement("div",{style:k.container},i.map((t=>e.createElement("div",{key:t.label,style:k.card},e.createElement("div",{style:k.label},t.label),e.createElement("div",{style:k.value},t.value)))))}const k={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 S({workspaceId:r,email:o,signature:n,apiUrl:i,theme:a="light",primaryColor:s="#3b82f6"}){const{partner:l,codes:c,stats:d,isLoading:u,error:f,copyLink:p,createCode:g}=h({workspaceId:r,email:o,signature:n,apiUrl:i}),[m,y]=t(!1),[b,x]=t(""),[k,S]=t(""),[v,E]=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"===a);if(u)return e.createElement("div",{style:{...I.container,...C.container}},e.createElement("div",{style:I.loading},"Loading..."));if(f)return e.createElement("div",{style:{...I.container,...C.container}},e.createElement("div",{style:I.error},"Error: ",f));if(!l)return e.createElement("div",{style:{...I.container,...C.container}},e.createElement("div",{style:I.error},"Partner not found"));const R=e=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(e/100);return e.createElement("div",{style:{...I.container,...C.container}},e.createElement("div",{style:I.header},e.createElement("div",{style:I.headerIcon},"🎁"),e.createElement("h2",{style:{...I.title,...C.title}},"Refer to earn rewards"),e.createElement("p",{style:{...I.subtitle,...C.subtitle}},"Share your referral link and earn commissions from every sale")),e.createElement("div",{style:{...I.earning,...C.earning}},e.createElement("div",{style:I.earningLabel},"Total Earned"),e.createElement("div",{style:I.earningValue},R(l.totalEarned)),l.pendingBalance>0&&e.createElement("div",{style:I.earningPending},R(l.pendingBalance)," pending")),e.createElement("div",{style:I.section},e.createElement("h3",{style:{...I.sectionTitle,...C.text}},"Stats"),e.createElement(w,{clicks:d?.clicks||0,conversions:d?.conversions||0,revenue:l.totalRevenue})),e.createElement("div",{style:I.section},e.createElement("div",{style:I.sectionHeader},e.createElement("h3",{style:{...I.sectionTitle,...C.text}},"Your Referral Links"),e.createElement("button",{onClick:()=>y(!m),style:{...I.createButton,backgroundColor:s}},"+ Create Link")),m&&e.createElement("div",{style:{...I.createForm,...C.card}},e.createElement("input",{type:"text",placeholder:"Code (e.g., FRIEND10)",value:b,onChange:e=>x(e.target.value),style:{...I.input,...C.input}}),e.createElement("input",{type:"text",placeholder:"Display name (optional)",value:k,onChange:e=>S(e.target.value),style:{...I.input,...C.input}}),e.createElement("div",{style:I.createActions},e.createElement("button",{onClick:()=>y(!1),style:I.cancelButton},"Cancel"),e.createElement("button",{onClick:async()=>{if(b.trim()){E(!0);try{await g(b,k||void 0),x(""),S(""),y(!1)}catch(e){console.error("Failed to create code:",e)}finally{E(!1)}}},disabled:!b.trim()||v,style:{...I.primaryButton,backgroundColor:s}},v?"Creating...":"Create"))),e.createElement("div",{style:I.codesList},0===c.length?e.createElement("div",{style:{...I.emptyState,...C.subtitle}},"No referral codes yet. Create your first one!"):c.map((t=>e.createElement("div",{key:t.id,style:{...I.codeCard,...C.card}},e.createElement("div",{style:I.codeHeader},e.createElement("div",null,e.createElement("div",{style:{...I.codeName,...C.text}},t.code,t.isDefault&&e.createElement("span",{style:I.defaultBadge},"Default")),t.displayName&&e.createElement("div",{style:{...I.codeDisplayName,...C.subtitle}},t.displayName)),e.createElement("button",{onClick:()=>p(t.code),style:{...I.copyButton,backgroundColor:s}},"Copy")),e.createElement("div",{style:I.codeStats},e.createElement("div",{style:I.codeStat},e.createElement("div",{style:{...I.codeStatValue,...C.text}},t.clicks),e.createElement("div",{style:I.codeStatLabel},"Clicks")),e.createElement("div",{style:I.codeStat},e.createElement("div",{style:{...I.codeStatValue,...C.text}},t.conversions),e.createElement("div",{style:I.codeStatLabel},"Conversions")),e.createElement("div",{style:I.codeStat},e.createElement("div",{style:{...I.codeStatValue,...C.text}},R(t.revenue)),e.createElement("div",{style:I.codeStatLabel},"Revenue")))))))),e.createElement("div",{style:I.footer},e.createElement("a",{href:"https://blossu.com",target:"_blank",rel:"noopener noreferrer",style:{...I.footerLink,...C.subtitle}},"Powered by Blossu")))}const I={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"}};export{y as Loader,b as ReferralLink,w as ReferralStats,m as ReferralTracker,S as ReferralWidget,h as usePartner};
|
|
2
2
|
//# sourceMappingURL=react.esm.js.map
|
package/dist/react.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.esm.js","sources":["../src/constants.ts","../src/utils.ts","../src/retry-queue.ts","../src/tracker.ts","../src/shopify.ts","../src/blossu.ts","../src/react.tsx"],"sourcesContent":[null,null,null,null,null,null,null],"names":["DEFAULT_API_URL","COOKIE_NAME","saveReferralInfo","code","cookieName","expiryDays","refId","Date","now","toString","Math","random","substring","info","toLowerCase","timestamp","name","value","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","setCookie","JSON","stringify","getReferralInfo","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","getCookie","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","URLSearchParams","search","get","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","ShopifyIntegration","initialized","setRefId","updateCartAttributes","interceptAddToCart","attributes","blossu_ref_id","interceptFetch","interceptFormSubmissions","interceptXHR","originalFetch","getRefId","logMessage","input","init","URL","currentRefId","includes","bodyString","items","Array","isArray","map","properties","call","e","form","target","action","querySelector","createElement","appendChild","originalOpen","XMLHttpRequest","prototype","open","originalSend","async","username","password","_blossu_url","parsed","ensureCartHasRefId","cart","json","getCartAttributes","getLineItemProperties","BlossuClient","referralInfo","shopify","trackingParam","cookieExpiryDays","autoTrack","platform","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","param","getCode","hasReferral","clearReferral","signup","email","customerExternalId","metadata","sale","amount","currency","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","programPath","Authorization","Error","getProgramSlug","getPlatform","getShopifyCartAttributes","getShopifyLineItemProperties","ensureShopifyCartHasRefId","defaultClient","usePartner","workspaceId","signature","partner","setPartner","useState","codes","setCodes","stats","setStats","isLoading","setIsLoading","setError","fetchPartner","useCallback","err","fetchCodes","fetchStats","refresh","partnerData","codesData","statsData","Promise","all","message","useEffect","referralLink","defaultUrl","codeData","find","c","destinationUrl","copyLink","link","clipboard","writeText","createCode","displayName","newCode","prev","Analytics","programId","children","React","Fragment","Loader","size","color","className","viewBox","xmlns","style","animation","cx","cy","r","stroke","strokeWidth","fill","strokeLinecap","strokeDasharray","opacity","strokeDashoffset","ReferralLink","label","showCopyButton","onCopy","copied","setCopied","referralLinkStyles","container","inputGroup","readOnly","onClick","select","button","fontFamily","display","marginBottom","fontSize","fontWeight","gap","flex","padding","border","borderRadius","backgroundColor","outline","cursor","whiteSpace","transition","ReferralStats","clicks","conversions","revenue","statsItems","toLocaleString","cents","NumberFormat","format","referralStatsStyles","stat","key","card","gridTemplateColumns","textAlign","textTransform","letterSpacing","ReferralWidget","theme","primaryColor","showCreateCode","setShowCreateCode","setNewCode","newDisplayName","setNewDisplayName","isCreating","setIsCreating","themeStyles","isDark","borderColor","title","text","subtitle","earning","getThemeStyles","widgetStyles","loading","formatCurrency","header","headerIcon","earningLabel","earningValue","totalEarned","pendingBalance","earningPending","section","sectionTitle","totalRevenue","sectionHeader","createButton","createForm","placeholder","onChange","createActions","cancelButton","trim","undefined","disabled","primaryButton","codesList","emptyState","codeItem","codeCard","codeHeader","codeName","isDefault","defaultBadge","codeDisplayName","copyButton","codeStats","codeStat","codeStatValue","codeStatLabel","footer","rel","footerLink","maxWidth","margin","marginTop","justifyContent","alignItems","flexDirection","paddingTop","borderTop","textDecoration"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react.esm.js","sources":["../src/constants.ts","../src/utils.ts","../src/retry-queue.ts","../src/tracker.ts","../src/shopify.ts","../src/blossu.ts","../src/react.tsx"],"sourcesContent":[null,null,null,null,null,null,null],"names":["DEFAULT_API_URL","COOKIE_NAME","saveReferralInfo","code","cookieName","expiryDays","refId","Date","now","toString","Math","random","substring","info","toLowerCase","timestamp","name","value","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","setCookie","JSON","stringify","getReferralInfo","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","getCookie","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","URLSearchParams","search","get","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","ShopifyIntegration","initialized","setRefId","updateCartAttributes","interceptAddToCart","attributes","blossu_ref_id","interceptFetch","interceptFormSubmissions","interceptXHR","originalFetch","getRefId","logMessage","input","init","URL","currentRefId","includes","bodyString","items","Array","isArray","map","properties","call","e","form","target","action","querySelector","createElement","appendChild","originalOpen","XMLHttpRequest","prototype","open","originalSend","async","username","password","_blossu_url","parsed","ensureCartHasRefId","cart","json","getCartAttributes","getLineItemProperties","BlossuClient","referralInfo","shopify","trackingParam","cookieExpiryDays","autoTrack","platform","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","param","getCode","hasReferral","clearReferral","signup","email","customerExternalId","metadata","sale","amount","currency","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","programPath","Authorization","Error","getProgramSlug","getPlatform","getShopifyCartAttributes","getShopifyLineItemProperties","ensureShopifyCartHasRefId","defaultClient","usePartner","workspaceId","signature","partner","setPartner","useState","codes","setCodes","stats","setStats","isLoading","setIsLoading","setError","fetchPartner","useCallback","err","fetchCodes","fetchStats","refresh","partnerData","codesData","statsData","Promise","all","message","useEffect","referralLink","defaultUrl","codeData","find","c","destinationUrl","copyLink","link","clipboard","writeText","createCode","displayName","newCode","prev","ReferralTracker","programId","children","React","Fragment","Loader","size","color","className","viewBox","xmlns","style","animation","cx","cy","r","stroke","strokeWidth","fill","strokeLinecap","strokeDasharray","opacity","strokeDashoffset","ReferralLink","label","showCopyButton","onCopy","copied","setCopied","referralLinkStyles","container","inputGroup","readOnly","onClick","select","button","fontFamily","display","marginBottom","fontSize","fontWeight","gap","flex","padding","border","borderRadius","backgroundColor","outline","cursor","whiteSpace","transition","ReferralStats","clicks","conversions","revenue","statsItems","toLocaleString","cents","NumberFormat","format","referralStatsStyles","stat","key","card","gridTemplateColumns","textAlign","textTransform","letterSpacing","ReferralWidget","theme","primaryColor","showCreateCode","setShowCreateCode","setNewCode","newDisplayName","setNewDisplayName","isCreating","setIsCreating","themeStyles","isDark","borderColor","title","text","subtitle","earning","getThemeStyles","widgetStyles","loading","formatCurrency","header","headerIcon","earningLabel","earningValue","totalEarned","pendingBalance","earningPending","section","sectionTitle","totalRevenue","sectionHeader","createButton","createForm","placeholder","onChange","createActions","cancelButton","trim","undefined","disabled","primaryButton","codesList","emptyState","codeItem","codeCard","codeHeader","codeName","isDefault","defaultBadge","codeDisplayName","copyButton","codeStats","codeStat","codeStatValue","codeStatLabel","footer","rel","footerLink","maxWidth","margin","marginTop","justifyContent","alignItems","flexDirection","paddingTop","borderTop","textDecoration"],"mappings":"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"}
|
package/dist/react.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react");const t="https://api.blossu.com",r="blossu_ref";function o(e,t=r,o=30){const n=`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`,i={code:e.toLowerCase(),refId:n,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(i),o),i}function n(e=r){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 i(e=r){var t;t=e,"undefined"!=typeof document&&(document.cookie=`${t}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}class a{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,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 s{constructor(e){this.config={apiUrl:e.apiUrl||t,publishableKey:e.publishableKey,programSlug:e.programSlug,debug:e.debug||!1,maxRetries:e.maxRetries},this.retryQueue=new a({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 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 l{constructor(e=!1){this.refId=null,this.initialized=!1,this.debug=e}log(...e){this.debug&&console.log("[Blossu:Shopify]",...e)}setRefId(e){this.refId=e,this.updateCartAttributes(),this.initialized||(this.interceptAddToCart(),this.initialized=!0)}async updateCartAttributes(){if(this.refId)try{const e=await fetch("/cart/update.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({attributes:{blossu_ref_id:this.refId}})});e.ok?this.log("Updated cart attributes with refId:",this.refId):this.log("Failed to update cart attributes:",e.status)}catch(e){this.log("Failed to update cart attributes:",e)}}interceptAddToCart(){this.interceptFetch(),this.interceptFormSubmissions(),this.interceptXHR(),this.log("Interceptors initialized")}interceptFetch(){const e=window.fetch,t=()=>this.refId,r=(...e)=>this.log(...e);window.fetch=function(o,n){const i="string"==typeof o?o:o instanceof URL?o.href:o.url,a=t();if(i.includes("/cart/add")&&a&&n?.body)try{const e="string"==typeof n.body?n.body:null;if(e){const t=JSON.parse(e);t.items&&Array.isArray(t.items)?t.items=t.items.map((e=>({...e,properties:{...e.properties||{},blossu_ref_id:a}}))):t.id&&(t.properties={...t.properties||{},blossu_ref_id:a}),n.body=JSON.stringify(t),r("Injected refId into add-to-cart fetch request")}}catch{r("Could not parse add-to-cart body, skipping injection")}return e.call(window,o,n)}}interceptFormSubmissions(){const e=()=>this.refId,t=(...e)=>this.log(...e);document.addEventListener("submit",(r=>{const o=r.target,n=e();if(!o.action?.includes("/cart/add")||!n)return;let i=o.querySelector('input[name="properties[blossu_ref_id]"]');i||(i=document.createElement("input"),i.type="hidden",i.name="properties[blossu_ref_id]",o.appendChild(i)),i.value=n,t("Injected refId into form submission")}),!0)}interceptXHR(){const e=()=>this.refId,t=(...e)=>this.log(...e),r=XMLHttpRequest.prototype.open,o=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.open=function(e,t,o,n,i){return this._blossu_url="string"==typeof t?t:t.href,r.call(this,e,t,o??!0,n??null,i??null)},XMLHttpRequest.prototype.send=function(r){const n=e();if(this._blossu_url?.includes("/cart/add")&&n&&"string"==typeof r)try{const e=JSON.parse(r);e.items&&Array.isArray(e.items)?e.items=e.items.map((e=>({...e,properties:{...e.properties||{},blossu_ref_id:n}}))):e.id&&(e.properties={...e.properties||{},blossu_ref_id:n}),r=JSON.stringify(e),t("Injected refId into XHR add-to-cart request")}catch{t("Could not parse XHR body, skipping injection")}return o.call(this,r)}}async ensureCartHasRefId(){if(this.refId)try{const e=await fetch("/cart.js"),t=await e.json();t.attributes?.blossu_ref_id!==this.refId&&await this.updateCartAttributes()}catch(e){this.log("Failed to check cart:",e)}}getCartAttributes(){return this.refId?{blossu_ref_id:this.refId}:{}}getLineItemProperties(){return this.refId?{blossu_ref_id:this.refId}:{}}}class c{constructor(e){this.initialized=!1,this.referralInfo=null,this.shopify=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,platform:e.platform||"default"},this.tracker=new s({apiUrl:this.config.apiUrl,publishableKey:this.config.publishableKey,programSlug:this.config.programSlug,debug:this.config.debug}),"shopify"===this.config.platform&&(this.shopify=new l(this.config.debug),this.log("Shopify platform integration enabled")),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=n(this.config.cookieName),this.referralInfo&&(this.log("Loaded referral info from cookie:",this.referralInfo),this.shopify&&this.shopify.setRefId(this.referralInfo.refId))}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(){i(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=o(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.shopify&&this.shopify.setRefId(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}getPlatform(){return this.config.platform}getShopifyCartAttributes(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId}:{}}getShopifyLineItemProperties(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId}:{}}async ensureShopifyCartHasRefId(){this.shopify&&this.referralInfo&&await this.shopify.ensureCartHasRefId()}}let d=null;const u="https://api.blossu.com";function f(t){const{workspaceId:r,email:o,signature:n,apiUrl:i=u}=t,[a,s]=e.useState(null),[l,c]=e.useState([]),[d,f]=e.useState(null),[p,g]=e.useState(!0),[h,m]=e.useState(null),y={"Content-Type":"application/json","X-Blossu-Workspace":r,"X-Blossu-Email":o,"X-Blossu-Signature":n},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,r,o,n]),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,r,o,n]),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,r,o,n]),w=e.useCallback((async()=>{g(!0),m(null);try{const[e,t,r]=await Promise.all([b(),x(),k()]);s(e),c(t),f(r)}catch(e){m(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=a?.id?"https://example.com":"",r=l.find((t=>t.code===e));return`${r?.destinationUrl||t}?ref=${e}`}),[a,l]),I=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]),v=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 c((e=>[...e,o])),o}catch(e){return console.error("Error creating code:",e),null}}),[i,r,o,n]);return{partner:a,codes:l,stats:d,isLoading:p,error:h,referralLink:S,copyLink:I,createCode:v,refresh:w}}const p={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"}};function g({clicks:t,conversions:r,revenue:o,currency:n="USD"}){const i=[{label:"Clicks",value:t.toLocaleString()},{label:"Conversions",value:r.toLocaleString()},{label:"Revenue",value:(a=o,new Intl.NumberFormat("en-US",{style:"currency",currency:n}).format(a/100))}];var a;return e.createElement("div",{style:h.container},i.map((t=>e.createElement("div",{key:t.label,style:h.card},e.createElement("div",{style:h.label},t.label),e.createElement("div",{style:h.value},t.value)))))}const h={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 m={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"}};exports.Analytics=function({publishableKey:t,programId:r,apiUrl:o,trackingParam:n,cookieExpiryDays:i,debug:a=!1,children:s}){return e.useEffect((()=>{"undefined"!=typeof window&&(d=new c({publishableKey:t,programSlug:r,apiUrl:o,trackingParam:n,cookieExpiryDays:i,debug:a,autoTrack:!0}))}),[t,r,o,n,i,a]),s?e.createElement(e.Fragment,null,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:i}){const[a,s]=e.useState(!1),l=`${r}?ref=${t}`;return e.createElement("div",{style:p.container},o&&e.createElement("label",{style:p.label},o),e.createElement("div",{style:p.inputGroup},e.createElement("input",{type:"text",value:l,readOnly:!0,style:p.input,onClick:e=>e.target.select()}),n&&e.createElement("button",{onClick:async()=>{try{await navigator.clipboard.writeText(l),s(!0),i?.(),setTimeout((()=>s(!1)),2e3)}catch(e){console.error("Failed to copy:",e)}},style:p.button},a?"✓ Copied!":"Copy")))},exports.ReferralStats=g,exports.ReferralWidget=function({workspaceId:t,email:r,signature:o,apiUrl:n,theme:i="light",primaryColor:a="#3b82f6"}){const{partner:s,codes:l,stats:c,isLoading:d,error:u,copyLink:p,createCode:h}=f({workspaceId:t,email:r,signature:o,apiUrl:n}),[y,b]=e.useState(!1),[x,k]=e.useState(""),[w,S]=e.useState(""),[I,v]=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"===i);if(d)return e.createElement("div",{style:{...m.container,...C.container}},e.createElement("div",{style:m.loading},"Loading..."));if(u)return e.createElement("div",{style:{...m.container,...C.container}},e.createElement("div",{style:m.error},"Error: ",u));if(!s)return e.createElement("div",{style:{...m.container,...C.container}},e.createElement("div",{style:m.error},"Partner not found"));const E=e=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(e/100);return e.createElement("div",{style:{...m.container,...C.container}},e.createElement("div",{style:m.header},e.createElement("div",{style:m.headerIcon},"🎁"),e.createElement("h2",{style:{...m.title,...C.title}},"Refer to earn rewards"),e.createElement("p",{style:{...m.subtitle,...C.subtitle}},"Share your referral link and earn commissions from every sale")),e.createElement("div",{style:{...m.earning,...C.earning}},e.createElement("div",{style:m.earningLabel},"Total Earned"),e.createElement("div",{style:m.earningValue},E(s.totalEarned)),s.pendingBalance>0&&e.createElement("div",{style:m.earningPending},E(s.pendingBalance)," pending")),e.createElement("div",{style:m.section},e.createElement("h3",{style:{...m.sectionTitle,...C.text}},"Stats"),e.createElement(g,{clicks:c?.clicks||0,conversions:c?.conversions||0,revenue:s.totalRevenue})),e.createElement("div",{style:m.section},e.createElement("div",{style:m.sectionHeader},e.createElement("h3",{style:{...m.sectionTitle,...C.text}},"Your Referral Links"),e.createElement("button",{onClick:()=>b(!y),style:{...m.createButton,backgroundColor:a}},"+ Create Link")),y&&e.createElement("div",{style:{...m.createForm,...C.card}},e.createElement("input",{type:"text",placeholder:"Code (e.g., FRIEND10)",value:x,onChange:e=>k(e.target.value),style:{...m.input,...C.input}}),e.createElement("input",{type:"text",placeholder:"Display name (optional)",value:w,onChange:e=>S(e.target.value),style:{...m.input,...C.input}}),e.createElement("div",{style:m.createActions},e.createElement("button",{onClick:()=>b(!1),style:m.cancelButton},"Cancel"),e.createElement("button",{onClick:async()=>{if(x.trim()){v(!0);try{await h(x,w||void 0),k(""),S(""),b(!1)}catch(e){console.error("Failed to create code:",e)}finally{v(!1)}}},disabled:!x.trim()||I,style:{...m.primaryButton,backgroundColor:a}},I?"Creating...":"Create"))),e.createElement("div",{style:m.codesList},0===l.length?e.createElement("div",{style:{...m.emptyState,...C.subtitle}},"No referral codes yet. Create your first one!"):l.map((t=>e.createElement("div",{key:t.id,style:{...m.codeCard,...C.card}},e.createElement("div",{style:m.codeHeader},e.createElement("div",null,e.createElement("div",{style:{...m.codeName,...C.text}},t.code,t.isDefault&&e.createElement("span",{style:m.defaultBadge},"Default")),t.displayName&&e.createElement("div",{style:{...m.codeDisplayName,...C.subtitle}},t.displayName)),e.createElement("button",{onClick:()=>p(t.code),style:{...m.copyButton,backgroundColor:a}},"Copy")),e.createElement("div",{style:m.codeStats},e.createElement("div",{style:m.codeStat},e.createElement("div",{style:{...m.codeStatValue,...C.text}},t.clicks),e.createElement("div",{style:m.codeStatLabel},"Clicks")),e.createElement("div",{style:m.codeStat},e.createElement("div",{style:{...m.codeStatValue,...C.text}},t.conversions),e.createElement("div",{style:m.codeStatLabel},"Conversions")),e.createElement("div",{style:m.codeStat},e.createElement("div",{style:{...m.codeStatValue,...C.text}},E(t.revenue)),e.createElement("div",{style:m.codeStatLabel},"Revenue")))))))),e.createElement("div",{style:m.footer},e.createElement("a",{href:"https://blossu.com",target:"_blank",rel:"noopener noreferrer",style:{...m.footerLink,...C.subtitle}},"Powered by Blossu")))},exports.usePartner=f;
|
|
1
|
+
"use strict";var e=require("react");const t="https://api.blossu.com",r="blossu_ref";function o(e,t=r,o=30){const n=`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`,i={code:e.toLowerCase(),refId:n,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(i),o),i}function n(e=r){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 i(e=r){var t;t=e,"undefined"!=typeof document&&(document.cookie=`${t}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}class a{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,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 s{constructor(e){this.config={apiUrl:e.apiUrl||t,publishableKey:e.publishableKey,programSlug:e.programSlug,debug:e.debug||!1,maxRetries:e.maxRetries},this.retryQueue=new a({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 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 l{constructor(e=!1){this.refId=null,this.initialized=!1,this.debug=e}log(...e){this.debug&&console.log("[Blossu:Shopify]",...e)}setRefId(e){this.refId=e,this.updateCartAttributes(),this.initialized||(this.interceptAddToCart(),this.initialized=!0)}async updateCartAttributes(){if(this.refId)try{const e=await fetch("/cart/update.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({attributes:{blossu_ref_id:this.refId}})});e.ok?this.log("Updated cart attributes with refId:",this.refId):this.log("Failed to update cart attributes:",e.status)}catch(e){this.log("Failed to update cart attributes:",e)}}interceptAddToCart(){this.interceptFetch(),this.interceptFormSubmissions(),this.interceptXHR(),this.log("Interceptors initialized")}interceptFetch(){const e=window.fetch,t=()=>this.refId,r=(...e)=>this.log(...e);window.fetch=function(o,n){const i="string"==typeof o?o:o instanceof URL?o.href:o.url,a=t();if(i.includes("/cart/add")&&a&&n?.body)try{const e="string"==typeof n.body?n.body:null;if(e){const t=JSON.parse(e);t.items&&Array.isArray(t.items)?t.items=t.items.map((e=>({...e,properties:{...e.properties||{},blossu_ref_id:a}}))):t.id&&(t.properties={...t.properties||{},blossu_ref_id:a}),n.body=JSON.stringify(t),r("Injected refId into add-to-cart fetch request")}}catch{r("Could not parse add-to-cart body, skipping injection")}return e.call(window,o,n)}}interceptFormSubmissions(){const e=()=>this.refId,t=(...e)=>this.log(...e);document.addEventListener("submit",(r=>{const o=r.target,n=e();if(!o.action?.includes("/cart/add")||!n)return;let i=o.querySelector('input[name="properties[blossu_ref_id]"]');i||(i=document.createElement("input"),i.type="hidden",i.name="properties[blossu_ref_id]",o.appendChild(i)),i.value=n,t("Injected refId into form submission")}),!0)}interceptXHR(){const e=()=>this.refId,t=(...e)=>this.log(...e),r=XMLHttpRequest.prototype.open,o=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.open=function(e,t,o,n,i){return this._blossu_url="string"==typeof t?t:t.href,r.call(this,e,t,o??!0,n??null,i??null)},XMLHttpRequest.prototype.send=function(r){const n=e();if(this._blossu_url?.includes("/cart/add")&&n&&"string"==typeof r)try{const e=JSON.parse(r);e.items&&Array.isArray(e.items)?e.items=e.items.map((e=>({...e,properties:{...e.properties||{},blossu_ref_id:n}}))):e.id&&(e.properties={...e.properties||{},blossu_ref_id:n}),r=JSON.stringify(e),t("Injected refId into XHR add-to-cart request")}catch{t("Could not parse XHR body, skipping injection")}return o.call(this,r)}}async ensureCartHasRefId(){if(this.refId)try{const e=await fetch("/cart.js"),t=await e.json();t.attributes?.blossu_ref_id!==this.refId&&await this.updateCartAttributes()}catch(e){this.log("Failed to check cart:",e)}}getCartAttributes(){return this.refId?{blossu_ref_id:this.refId}:{}}getLineItemProperties(){return this.refId?{blossu_ref_id:this.refId}:{}}}class c{constructor(e){this.initialized=!1,this.referralInfo=null,this.shopify=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,platform:e.platform||"default"},this.tracker=new s({apiUrl:this.config.apiUrl,publishableKey:this.config.publishableKey,programSlug:this.config.programSlug,debug:this.config.debug}),"shopify"===this.config.platform&&(this.shopify=new l(this.config.debug),this.log("Shopify platform integration enabled")),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=n(this.config.cookieName),this.referralInfo&&(this.log("Loaded referral info from cookie:",this.referralInfo),this.shopify&&this.shopify.setRefId(this.referralInfo.refId))}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(){i(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=o(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.shopify&&this.shopify.setRefId(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}getPlatform(){return this.config.platform}getShopifyCartAttributes(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId}:{}}getShopifyLineItemProperties(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId}:{}}async ensureShopifyCartHasRefId(){this.shopify&&this.referralInfo&&await this.shopify.ensureCartHasRefId()}}let d=null;const u="https://api.blossu.com";function f(t){const{workspaceId:r,email:o,signature:n,apiUrl:i=u}=t,[a,s]=e.useState(null),[l,c]=e.useState([]),[d,f]=e.useState(null),[p,g]=e.useState(!0),[h,m]=e.useState(null),y={"Content-Type":"application/json","X-Blossu-Workspace":r,"X-Blossu-Email":o,"X-Blossu-Signature":n},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,r,o,n]),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,r,o,n]),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,r,o,n]),w=e.useCallback((async()=>{g(!0),m(null);try{const[e,t,r]=await Promise.all([b(),x(),k()]);s(e),c(t),f(r)}catch(e){m(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=a?.id?"https://example.com":"",r=l.find((t=>t.code===e));return`${r?.destinationUrl||t}?ref=${e}`}),[a,l]),I=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]),v=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 c((e=>[...e,o])),o}catch(e){return console.error("Error creating code:",e),null}}),[i,r,o,n]);return{partner:a,codes:l,stats:d,isLoading:p,error:h,referralLink:S,copyLink:I,createCode:v,refresh:w}}const p={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"}};function g({clicks:t,conversions:r,revenue:o,currency:n="USD"}){const i=[{label:"Clicks",value:t.toLocaleString()},{label:"Conversions",value:r.toLocaleString()},{label:"Revenue",value:(a=o,new Intl.NumberFormat("en-US",{style:"currency",currency:n}).format(a/100))}];var a;return e.createElement("div",{style:h.container},i.map((t=>e.createElement("div",{key:t.label,style:h.card},e.createElement("div",{style:h.label},t.label),e.createElement("div",{style:h.value},t.value)))))}const h={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 m={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"}};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:i}){const[a,s]=e.useState(!1),l=`${r}?ref=${t}`;return e.createElement("div",{style:p.container},o&&e.createElement("label",{style:p.label},o),e.createElement("div",{style:p.inputGroup},e.createElement("input",{type:"text",value:l,readOnly:!0,style:p.input,onClick:e=>e.target.select()}),n&&e.createElement("button",{onClick:async()=>{try{await navigator.clipboard.writeText(l),s(!0),i?.(),setTimeout((()=>s(!1)),2e3)}catch(e){console.error("Failed to copy:",e)}},style:p.button},a?"✓ Copied!":"Copy")))},exports.ReferralStats=g,exports.ReferralTracker=function({publishableKey:t,programId:r,apiUrl:o,trackingParam:n,cookieExpiryDays:i,debug:a=!1,children:s}){return e.useEffect((()=>{"undefined"!=typeof window&&(d=new c({publishableKey:t,programSlug:r,apiUrl:o,trackingParam:n,cookieExpiryDays:i,debug:a,autoTrack:!0}))}),[t,r,o,n,i,a]),s?e.createElement(e.Fragment,null,s):null},exports.ReferralWidget=function({workspaceId:t,email:r,signature:o,apiUrl:n,theme:i="light",primaryColor:a="#3b82f6"}){const{partner:s,codes:l,stats:c,isLoading:d,error:u,copyLink:p,createCode:h}=f({workspaceId:t,email:r,signature:o,apiUrl:n}),[y,b]=e.useState(!1),[x,k]=e.useState(""),[w,S]=e.useState(""),[I,v]=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"===i);if(d)return e.createElement("div",{style:{...m.container,...C.container}},e.createElement("div",{style:m.loading},"Loading..."));if(u)return e.createElement("div",{style:{...m.container,...C.container}},e.createElement("div",{style:m.error},"Error: ",u));if(!s)return e.createElement("div",{style:{...m.container,...C.container}},e.createElement("div",{style:m.error},"Partner not found"));const E=e=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(e/100);return e.createElement("div",{style:{...m.container,...C.container}},e.createElement("div",{style:m.header},e.createElement("div",{style:m.headerIcon},"🎁"),e.createElement("h2",{style:{...m.title,...C.title}},"Refer to earn rewards"),e.createElement("p",{style:{...m.subtitle,...C.subtitle}},"Share your referral link and earn commissions from every sale")),e.createElement("div",{style:{...m.earning,...C.earning}},e.createElement("div",{style:m.earningLabel},"Total Earned"),e.createElement("div",{style:m.earningValue},E(s.totalEarned)),s.pendingBalance>0&&e.createElement("div",{style:m.earningPending},E(s.pendingBalance)," pending")),e.createElement("div",{style:m.section},e.createElement("h3",{style:{...m.sectionTitle,...C.text}},"Stats"),e.createElement(g,{clicks:c?.clicks||0,conversions:c?.conversions||0,revenue:s.totalRevenue})),e.createElement("div",{style:m.section},e.createElement("div",{style:m.sectionHeader},e.createElement("h3",{style:{...m.sectionTitle,...C.text}},"Your Referral Links"),e.createElement("button",{onClick:()=>b(!y),style:{...m.createButton,backgroundColor:a}},"+ Create Link")),y&&e.createElement("div",{style:{...m.createForm,...C.card}},e.createElement("input",{type:"text",placeholder:"Code (e.g., FRIEND10)",value:x,onChange:e=>k(e.target.value),style:{...m.input,...C.input}}),e.createElement("input",{type:"text",placeholder:"Display name (optional)",value:w,onChange:e=>S(e.target.value),style:{...m.input,...C.input}}),e.createElement("div",{style:m.createActions},e.createElement("button",{onClick:()=>b(!1),style:m.cancelButton},"Cancel"),e.createElement("button",{onClick:async()=>{if(x.trim()){v(!0);try{await h(x,w||void 0),k(""),S(""),b(!1)}catch(e){console.error("Failed to create code:",e)}finally{v(!1)}}},disabled:!x.trim()||I,style:{...m.primaryButton,backgroundColor:a}},I?"Creating...":"Create"))),e.createElement("div",{style:m.codesList},0===l.length?e.createElement("div",{style:{...m.emptyState,...C.subtitle}},"No referral codes yet. Create your first one!"):l.map((t=>e.createElement("div",{key:t.id,style:{...m.codeCard,...C.card}},e.createElement("div",{style:m.codeHeader},e.createElement("div",null,e.createElement("div",{style:{...m.codeName,...C.text}},t.code,t.isDefault&&e.createElement("span",{style:m.defaultBadge},"Default")),t.displayName&&e.createElement("div",{style:{...m.codeDisplayName,...C.subtitle}},t.displayName)),e.createElement("button",{onClick:()=>p(t.code),style:{...m.copyButton,backgroundColor:a}},"Copy")),e.createElement("div",{style:m.codeStats},e.createElement("div",{style:m.codeStat},e.createElement("div",{style:{...m.codeStatValue,...C.text}},t.clicks),e.createElement("div",{style:m.codeStatLabel},"Clicks")),e.createElement("div",{style:m.codeStat},e.createElement("div",{style:{...m.codeStatValue,...C.text}},t.conversions),e.createElement("div",{style:m.codeStatLabel},"Conversions")),e.createElement("div",{style:m.codeStat},e.createElement("div",{style:{...m.codeStatValue,...C.text}},E(t.revenue)),e.createElement("div",{style:m.codeStatLabel},"Revenue")))))))),e.createElement("div",{style:m.footer},e.createElement("a",{href:"https://blossu.com",target:"_blank",rel:"noopener noreferrer",style:{...m.footerLink,...C.subtitle}},"Powered by Blossu")))},exports.usePartner=f;
|
|
2
2
|
//# sourceMappingURL=react.js.map
|
package/dist/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sources":["../src/constants.ts","../src/utils.ts","../src/retry-queue.ts","../src/tracker.ts","../src/shopify.ts","../src/blossu.ts","../src/react.tsx"],"sourcesContent":[null,null,null,null,null,null,null],"names":["DEFAULT_API_URL","COOKIE_NAME","saveReferralInfo","code","cookieName","expiryDays","refId","Date","now","toString","Math","random","substring","info","toLowerCase","timestamp","name","value","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","setCookie","JSON","stringify","getReferralInfo","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","getCookie","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","URLSearchParams","search","get","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","ShopifyIntegration","initialized","setRefId","updateCartAttributes","interceptAddToCart","attributes","blossu_ref_id","interceptFetch","interceptFormSubmissions","interceptXHR","originalFetch","getRefId","logMessage","input","init","URL","currentRefId","includes","bodyString","items","Array","isArray","map","properties","call","e","form","target","action","querySelector","createElement","appendChild","originalOpen","XMLHttpRequest","prototype","open","originalSend","async","username","password","_blossu_url","parsed","ensureCartHasRefId","cart","json","getCartAttributes","getLineItemProperties","BlossuClient","referralInfo","shopify","trackingParam","cookieExpiryDays","autoTrack","platform","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","param","getCode","hasReferral","clearReferral","signup","email","customerExternalId","metadata","sale","amount","currency","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","programPath","Authorization","Error","getProgramSlug","getPlatform","getShopifyCartAttributes","getShopifyLineItemProperties","ensureShopifyCartHasRefId","defaultClient","usePartner","workspaceId","signature","partner","setPartner","useState","codes","setCodes","stats","setStats","isLoading","setIsLoading","setError","fetchPartner","useCallback","err","fetchCodes","fetchStats","refresh","partnerData","codesData","statsData","Promise","all","message","useEffect","referralLink","defaultUrl","codeData","find","c","destinationUrl","copyLink","link","clipboard","writeText","createCode","displayName","newCode","prev","referralLinkStyles","container","fontFamily","label","display","marginBottom","fontSize","fontWeight","color","inputGroup","gap","flex","padding","border","borderRadius","backgroundColor","outline","button","cursor","whiteSpace","transition","ReferralStats","clicks","conversions","revenue","statsItems","toLocaleString","cents","NumberFormat","style","format","React","referralStatsStyles","stat","key","card","gridTemplateColumns","textAlign","textTransform","letterSpacing","widgetStyles","maxWidth","margin","loading","header","headerIcon","title","subtitle","earning","earningLabel","earningValue","earningPending","marginTop","section","sectionHeader","justifyContent","alignItems","sectionTitle","createButton","createForm","flexDirection","createActions","cancelButton","primaryButton","codesList","emptyState","codeCard","codeHeader","codeName","defaultBadge","codeDisplayName","copyButton","codeStats","paddingTop","borderTop","codeStat","codeStatValue","codeStatLabel","footer","footerLink","textDecoration","programId","children","Fragment","size","className","viewBox","xmlns","animation","cx","cy","r","stroke","strokeWidth","fill","strokeLinecap","strokeDasharray","opacity","strokeDashoffset","showCopyButton","onCopy","copied","setCopied","readOnly","onClick","select","theme","primaryColor","showCreateCode","setShowCreateCode","setNewCode","newDisplayName","setNewDisplayName","isCreating","setIsCreating","themeStyles","isDark","borderColor","text","getThemeStyles","formatCurrency","totalEarned","pendingBalance","totalRevenue","placeholder","onChange","trim","undefined","disabled","codeItem","isDefault","rel"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react.js","sources":["../src/constants.ts","../src/utils.ts","../src/retry-queue.ts","../src/tracker.ts","../src/shopify.ts","../src/blossu.ts","../src/react.tsx"],"sourcesContent":[null,null,null,null,null,null,null],"names":["DEFAULT_API_URL","COOKIE_NAME","saveReferralInfo","code","cookieName","expiryDays","refId","Date","now","toString","Math","random","substring","info","toLowerCase","timestamp","name","value","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","setCookie","JSON","stringify","getReferralInfo","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","getCookie","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","URLSearchParams","search","get","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","ShopifyIntegration","initialized","setRefId","updateCartAttributes","interceptAddToCart","attributes","blossu_ref_id","interceptFetch","interceptFormSubmissions","interceptXHR","originalFetch","getRefId","logMessage","input","init","URL","currentRefId","includes","bodyString","items","Array","isArray","map","properties","call","e","form","target","action","querySelector","createElement","appendChild","originalOpen","XMLHttpRequest","prototype","open","originalSend","async","username","password","_blossu_url","parsed","ensureCartHasRefId","cart","json","getCartAttributes","getLineItemProperties","BlossuClient","referralInfo","shopify","trackingParam","cookieExpiryDays","autoTrack","platform","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","param","getCode","hasReferral","clearReferral","signup","email","customerExternalId","metadata","sale","amount","currency","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","programPath","Authorization","Error","getProgramSlug","getPlatform","getShopifyCartAttributes","getShopifyLineItemProperties","ensureShopifyCartHasRefId","defaultClient","usePartner","workspaceId","signature","partner","setPartner","useState","codes","setCodes","stats","setStats","isLoading","setIsLoading","setError","fetchPartner","useCallback","err","fetchCodes","fetchStats","refresh","partnerData","codesData","statsData","Promise","all","message","useEffect","referralLink","defaultUrl","codeData","find","c","destinationUrl","copyLink","link","clipboard","writeText","createCode","displayName","newCode","prev","referralLinkStyles","container","fontFamily","label","display","marginBottom","fontSize","fontWeight","color","inputGroup","gap","flex","padding","border","borderRadius","backgroundColor","outline","button","cursor","whiteSpace","transition","ReferralStats","clicks","conversions","revenue","statsItems","toLocaleString","cents","NumberFormat","style","format","React","referralStatsStyles","stat","key","card","gridTemplateColumns","textAlign","textTransform","letterSpacing","widgetStyles","maxWidth","margin","loading","header","headerIcon","title","subtitle","earning","earningLabel","earningValue","earningPending","marginTop","section","sectionHeader","justifyContent","alignItems","sectionTitle","createButton","createForm","flexDirection","createActions","cancelButton","primaryButton","codesList","emptyState","codeCard","codeHeader","codeName","defaultBadge","codeDisplayName","copyButton","codeStats","paddingTop","borderTop","codeStat","codeStatValue","codeStatLabel","footer","footerLink","textDecoration","size","className","viewBox","xmlns","animation","cx","cy","r","stroke","strokeWidth","fill","strokeLinecap","strokeDasharray","opacity","strokeDashoffset","showCopyButton","onCopy","copied","setCopied","readOnly","onClick","select","programId","children","Fragment","theme","primaryColor","showCreateCode","setShowCreateCode","setNewCode","newDisplayName","setNewDisplayName","isCreating","setIsCreating","themeStyles","isDark","borderColor","text","getThemeStyles","formatCurrency","totalEarned","pendingBalance","totalRevenue","placeholder","onChange","trim","undefined","disabled","codeItem","isDefault","rel"],"mappings":"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"}
|