@blossu/ui 0.4.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -15,11 +15,11 @@ pnpm add @blossu/ui
15
15
  ## Quick Start
16
16
 
17
17
  ```javascript
18
- import { init } from "@blossu/ui";
18
+ import { init } from '@blossu/ui';
19
19
 
20
- // Initialize the SDK
20
+ // Initialize the SDK with your publishable key (starts with pk_)
21
21
  const blossu = init({
22
- apiKey: "your-api-key",
22
+ publishableKey: 'pk_your_publishable_key',
23
23
  });
24
24
 
25
25
  // The SDK automatically tracks referral codes from the URL (e.g., ?ref=PARTNER123)
@@ -37,11 +37,11 @@ By default, the SDK automatically:
37
37
  3. Tracks the click event
38
38
 
39
39
  ```javascript
40
- import { init } from "@blossu/ui";
40
+ import { init } from '@blossu/ui';
41
41
 
42
42
  init({
43
- apiKey: "your-api-key",
44
- trackingParam: "ref", // URL parameter to look for (default: 'ref')
43
+ publishableKey: 'pk_your_publishable_key',
44
+ trackingParam: 'ref', // URL parameter to look for (default: 'ref')
45
45
  autoTrack: true, // Enable automatic tracking (default: true)
46
46
  });
47
47
  ```
@@ -51,14 +51,14 @@ init({
51
51
  Track when a user signs up after being referred:
52
52
 
53
53
  ```javascript
54
- import { getClient } from "@blossu/ui";
54
+ import { getClient } from '@blossu/ui';
55
55
 
56
56
  const blossu = getClient();
57
57
 
58
58
  // After user signs up
59
59
  await blossu.signup({
60
- email: "customer@example.com",
61
- externalCustomerId: "user_123",
60
+ email: 'customer@example.com',
61
+ customerExternalId: 'user_123',
62
62
  });
63
63
  ```
64
64
 
@@ -68,10 +68,10 @@ Track a purchase/conversion:
68
68
 
69
69
  ```javascript
70
70
  await blossu.sale({
71
- externalCustomerId: "user_123",
71
+ customerExternalId: 'user_123',
72
72
  amount: 9900, // $99.00 in cents
73
- currency: "USD",
74
- provider: "stripe",
73
+ currency: 'USD',
74
+ provider: 'stripe',
75
75
  });
76
76
  ```
77
77
 
@@ -80,7 +80,7 @@ await blossu.sale({
80
80
  Get the referral ID for Stripe Checkout:
81
81
 
82
82
  ```javascript
83
- import { getClient } from "@blossu/ui";
83
+ import { getClient } from '@blossu/ui';
84
84
 
85
85
  const blossu = getClient();
86
86
 
@@ -95,14 +95,14 @@ const checkoutSession = await stripe.checkout.sessions.create({
95
95
  ### Access Referral Info
96
96
 
97
97
  ```javascript
98
- import { getClient } from "@blossu/ui";
98
+ import { getClient } from '@blossu/ui';
99
99
 
100
100
  const blossu = getClient();
101
101
 
102
102
  // Check if user was referred
103
103
  if (blossu.hasReferral()) {
104
- console.log("Referral code:", blossu.getCode());
105
- console.log("Referral ID:", blossu.getRefId());
104
+ console.log('Referral code:', blossu.getCode());
105
+ console.log('Referral ID:', blossu.getRefId());
106
106
  }
107
107
 
108
108
  // Get full referral info
@@ -118,7 +118,7 @@ console.log(window.blossu_ref_id);
118
118
  If you need to manually track a click:
119
119
 
120
120
  ```javascript
121
- await blossu.trackClick("PARTNER123");
121
+ await blossu.trackClick('PARTNER123');
122
122
  ```
123
123
 
124
124
  ### Clear Referral
@@ -136,7 +136,7 @@ blossu.clearReferral();
136
136
  The easiest way to add referral functionality to your React app:
137
137
 
138
138
  ```tsx
139
- import { ReferralWidget } from "@blossu/ui/react";
139
+ import { ReferralWidget } from '@blossu/ui/react';
140
140
 
141
141
  function MyApp() {
142
142
  const user = useUser(); // Your user hook
@@ -158,7 +158,7 @@ function MyApp() {
158
158
  Use individual components for more control:
159
159
 
160
160
  ```tsx
161
- import { ReferralLink, ReferralStats } from "@blossu/ui/react";
161
+ import { ReferralLink, ReferralStats } from '@blossu/ui/react';
162
162
 
163
163
  function MyReferralPage() {
164
164
  return (
@@ -187,23 +187,15 @@ function MyReferralPage() {
187
187
  Build completely custom UIs using the `usePartner` hook:
188
188
 
189
189
  ```tsx
190
- import { usePartner } from "@blossu/ui/react";
190
+ import { usePartner } from '@blossu/ui/react';
191
191
 
192
192
  function CustomReferralUI() {
193
- const {
194
- partner,
195
- codes,
196
- stats,
197
- isLoading,
198
- error,
199
- referralLink,
200
- copyLink,
201
- createCode,
202
- } = usePartner({
203
- workspaceId: "wks_xxx",
204
- email: user.email,
205
- signature: user.blossuSignature,
206
- });
193
+ const { partner, codes, stats, isLoading, error, referralLink, copyLink, createCode } =
194
+ usePartner({
195
+ workspaceId: 'wks_xxx',
196
+ email: user.email,
197
+ signature: user.blossuSignature,
198
+ });
207
199
 
208
200
  if (isLoading) return <div>Loading...</div>;
209
201
  if (error) return <div>Error: {error}</div>;
@@ -229,9 +221,7 @@ function CustomReferralUI() {
229
221
  ))}
230
222
  </div>
231
223
 
232
- <button onClick={() => createCode("newcode123", "My New Code")}>
233
- Create New Code
234
- </button>
224
+ <button onClick={() => createCode('newcode123', 'My New Code')}>Create New Code</button>
235
225
  </div>
236
226
  );
237
227
  }
@@ -242,15 +232,13 @@ function CustomReferralUI() {
242
232
  For tracking only (no UI):
243
233
 
244
234
  ```tsx
245
- import { Analytics } from "@blossu/ui/react";
235
+ import { Analytics } from '@blossu/ui/react';
246
236
 
247
237
  export default function RootLayout({ children }) {
248
238
  return (
249
239
  <html>
250
240
  <body>
251
- <Analytics publicKey={process.env.NEXT_PUBLIC_BLOSSU_KEY!}>
252
- {children}
253
- </Analytics>
241
+ <Analytics publicKey={process.env.NEXT_PUBLIC_BLOSSU_KEY!}>{children}</Analytics>
254
242
  </body>
255
243
  </html>
256
244
  );
@@ -260,7 +248,7 @@ export default function RootLayout({ children }) {
260
248
  Then in your components:
261
249
 
262
250
  ```tsx
263
- import { getClient } from "@blossu/ui";
251
+ import { getClient } from '@blossu/ui';
264
252
 
265
253
  function SignupForm() {
266
254
  const blossu = getClient();
@@ -284,16 +272,16 @@ For the widget and `usePartner` hook, you need to generate an HMAC signature on
284
272
 
285
273
  ```typescript
286
274
  // app/api/blossu-token/route.ts
287
- import crypto from "crypto";
288
- import { NextResponse } from "next/server";
275
+ import crypto from 'crypto';
276
+ import { NextResponse } from 'next/server';
289
277
 
290
278
  export async function GET(req: Request) {
291
279
  const user = await getCurrentUser(req); // Your auth logic
292
280
 
293
281
  const signature = crypto
294
- .createHmac("sha256", process.env.BLOSSU_SECRET_KEY!)
282
+ .createHmac('sha256', process.env.BLOSSU_SECRET_KEY!)
295
283
  .update(user.email)
296
- .digest("hex");
284
+ .digest('hex');
297
285
 
298
286
  return NextResponse.json({
299
287
  email: user.email,
@@ -309,20 +297,14 @@ function MyApp() {
309
297
  const [auth, setAuth] = useState(null);
310
298
 
311
299
  useEffect(() => {
312
- fetch("/api/blossu-token")
300
+ fetch('/api/blossu-token')
313
301
  .then((res) => res.json())
314
302
  .then(setAuth);
315
303
  }, []);
316
304
 
317
305
  if (!auth) return <div>Loading...</div>;
318
306
 
319
- return (
320
- <ReferralWidget
321
- workspaceId="wks_xxx"
322
- email={auth.email}
323
- signature={auth.signature}
324
- />
325
- );
307
+ return <ReferralWidget workspaceId="wks_xxx" email={auth.email} signature={auth.signature} />;
326
308
  }
327
309
  ```
328
310
 
@@ -371,12 +353,12 @@ You can also load the SDK via a script tag:
371
353
  <script src="https://cdn.blossu.com/blossu.min.js"></script>
372
354
  <script>
373
355
  Blossu.init({
374
- apiKey: "your-api-key",
356
+ apiKey: 'your-api-key',
375
357
  });
376
358
 
377
359
  // Later...
378
360
  if (window.blossu.hasReferral()) {
379
- console.log("Referred by:", window.blossu.getCode());
361
+ console.log('Referred by:', window.blossu.getCode());
380
362
  }
381
363
  </script>
382
364
  ```
@@ -386,12 +368,13 @@ You can also load the SDK via a script tag:
386
368
  ```javascript
387
369
  init({
388
370
  // Required
389
- apiKey: "your-api-key",
371
+ publishableKey: 'pk_your_publishable_key', // Get from Blossu dashboard
390
372
 
391
373
  // Optional
392
- apiUrl: "https://api.blossu.com", // API endpoint
393
- trackingParam: "ref", // URL parameter for referral codes
394
- cookieName: "blossu_ref", // Cookie name for storing referral info
374
+ programSlug: 'my-program', // Program slug (optional)
375
+ apiUrl: 'https://api.blossu.com', // API endpoint
376
+ trackingParam: 'ref', // URL parameter for referral codes
377
+ cookieName: 'blossu_ref', // Cookie name for storing referral info
395
378
  cookieExpiryDays: 30, // How long to remember the referral
396
379
  autoTrack: true, // Auto-track referral codes from URL
397
380
  debug: false, // Enable debug logging
@@ -447,12 +430,7 @@ Get the current `BlossuClient` instance (after calling `init`).
447
430
  This SDK is written in TypeScript and provides full type definitions:
448
431
 
449
432
  ```typescript
450
- import type {
451
- BlossuConfig,
452
- ReferralInfo,
453
- TrackSignupData,
454
- TrackSaleData,
455
- } from "@blossu/ui";
433
+ import type { BlossuConfig, ReferralInfo, TrackSignupData, TrackSaleData } from '@blossu/ui';
456
434
  ```
457
435
 
458
436
  ## License
@@ -1 +1 @@
1
- {"version":3,"file":"blossu.d.ts","sourceRoot":"","sources":["../src/blossu.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,aAAa,EACb,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAKjB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,YAAY,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB;CACF;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,YAAY,CAA6B;gBAErC,MAAM,EAAE,YAAY;IA0BhC,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,iBAAiB;IAUzB,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB,eAAe,IAAI,YAAY,GAAG,IAAI;IAItC,WAAW,IAAI,OAAO;IAItB,aAAa,IAAI,IAAI;IASf,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB1C,MAAM,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBpD,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB3C,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAWlC,0BAA0B,IAAI,MAAM,GAAG,IAAI;IAI3C,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAWrC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAuBtE,cAAc,IAAI,MAAM;CAGzB;AAID,wBAAgB,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAGvD;AAED,wBAAgB,SAAS,IAAI,YAAY,GAAG,IAAI,CAE/C"}
1
+ {"version":3,"file":"blossu.d.ts","sourceRoot":"","sources":["../src/blossu.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,aAAa,EACb,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAKjB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,YAAY,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB;CACF;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,YAAY,CAA6B;gBAErC,MAAM,EAAE,YAAY;IA4BhC,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,iBAAiB;IAUzB,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB,eAAe,IAAI,YAAY,GAAG,IAAI;IAItC,WAAW,IAAI,OAAO;IAItB,aAAa,IAAI,IAAI;IASf,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB1C,MAAM,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBpD,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB3C,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAWlC,0BAA0B,IAAI,MAAM,GAAG,IAAI;IAI3C,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAWrC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IA8BtE,cAAc,IAAI,MAAM;CAGzB;AAID,wBAAgB,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAGvD;AAED,wBAAgB,SAAS,IAAI,YAAY,GAAG,IAAI,CAE/C"}
@@ -1,2 +1,2 @@
1
- const e="0.1.0",r="https://api.blossu.com",t="blossu_ref",n=30,o="ref";function i(){return`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}function a(e,r,t){if("undefined"==typeof document)return;const n=new Date;n.setTime(n.getTime()+24*t*60*60*1e3);const o="https:"===window.location.protocol?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(r)}; expires=${n.toUTCString()}; path=/; SameSite=Lax${o}`}function s(e){if("undefined"==typeof document)return null;const r=`${e}=`,t=document.cookie.split(";");for(let e=0;e<t.length;e++){let n=t[e];for(;" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(r))return decodeURIComponent(n.substring(r.length,n.length))}return null}function f(e){"undefined"!=typeof document&&(document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}function l(e){if("undefined"==typeof window)return null;return new URLSearchParams(window.location.search).get(e)}function c(e,r=t,n=30){const o=i(),s={code:e.toLowerCase(),refId:o,timestamp:Date.now()};return a(r,JSON.stringify(s),n),s}function u(e=t){const r=s(e);if(!r)return null;try{return JSON.parse(r)}catch{return null}}function d(e=t){f(e)}function g(){return"undefined"==typeof navigator?{userAgent:"",language:"",timezone:""}:{userAgent:navigator.userAgent||"",language:navigator.language||"",timezone:Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||""}}function h(){return"undefined"==typeof window||"undefined"==typeof document?{url:"",referrer:"",title:""}:{url:window.location.href,referrer:document.referrer||"",title:document.title||""}}class p{constructor(e){this.config={apiUrl:e.apiUrl||r,programSlug:e.programSlug,debug:e.debug||!1}}log(...e){this.config.debug&&console.log("[Blossu]",...e)}getEndpoint(e){return`${this.config.apiUrl}/v1/track/${e}`}getMeta(){const r="undefined"!=typeof window;return{url:r?window.location.href:"",referrer:r?document.referrer:"",userAgent:r?navigator.userAgent:"",language:r?navigator.language:"",timezone:r&&Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||"",timestamp:Date.now(),sdkVersion:e}}async send(e,r){const t={event:e,data:r,meta:this.getMeta()};this.log("Sending event:",e,t);const n=this.getEndpoint(e),o=JSON.stringify(t);if("undefined"!=typeof navigator&&navigator.sendBeacon){const e=new Blob([o],{type:"application/json"});try{const r=navigator.sendBeacon(n,e);return this.log("sendBeacon result:",r),r}catch(e){this.log("sendBeacon failed, falling back to fetch:",e)}}try{const e=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:o,keepalive:!0});return this.log("fetch response:",e.status),e.ok}catch(e){return this.log("fetch error:",e),!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)}}class m{constructor(e){this.initialized=!1,this.referralInfo=null,this.config={programSlug:e.programSlug,apiUrl:e.apiUrl||r,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||t,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack},this.tracker=new p({apiUrl:this.config.apiUrl,programSlug:this.config.programSlug,debug:this.config.debug}),this.loadReferralInfo(),this.config.autoTrack&&this.autoTrackReferral(),this.exposeToWindow()}log(...e){this.config.debug&&console.log("[Blossu]",...e)}exposeToWindow(){"undefined"!=typeof window&&(window.blossu=this,this.referralInfo&&(window.blossu_ref_id=this.referralInfo.refId))}loadReferralInfo(){this.referralInfo=u(this.config.cookieName),this.referralInfo&&this.log("Loaded referral info from cookie:",this.referralInfo)}autoTrackReferral(){if("undefined"==typeof window)return;const e=l(this.config.trackingParam);e&&e!==this.referralInfo?.code&&(this.log("Detected referral code in URL:",e),this.trackClick(e))}getRefId(){return this.referralInfo?.refId||null}getCode(){return this.referralInfo?.code||null}getReferralInfo(){return this.referralInfo}hasReferral(){return null!==this.referralInfo}clearReferral(){d(this.config.cookieName),this.referralInfo=null,"undefined"!=typeof window&&delete window.blossu_ref_id,this.log("Cleared referral info")}async trackClick(e){return this.referralInfo=c(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.log("Tracking click for code:",e,"refId:",this.referralInfo.refId),this.tracker.trackClick({code:this.referralInfo.code,refId:this.referralInfo.refId})}async signup(e={}){return this.referralInfo?(this.log("Tracking signup:",e),this.tracker.trackSignup({code:this.referralInfo.code,refId:this.referralInfo.refId,email:e.email,externalCustomerId:e.externalCustomerId,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,externalCustomerId:e.externalCustomerId,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 r=`${this.config.apiUrl}/v1/public/programs/${this.config.programSlug}/referral/${encodeURIComponent(e)}`;try{const t=await fetch(r);if(!t.ok){if(404===t.status)return this.log("Partner info not found for code:",e),null;throw new Error(`HTTP error! status: ${t.status}`)}const n=await t.json();return this.log("Fetched partner info:",n),n}catch(e){return this.log("Error fetching partner info:",e),null}}getProgramSlug(){return this.config.programSlug}}let I=null;function k(e){return I=new m(e),I}function w(){return I}export{m as BlossuClient,n as COOKIE_EXPIRY_DAYS,t as COOKIE_NAME,r as DEFAULT_API_URL,o as TRACKING_PARAM,p as Tracker,e as VERSION,d as clearReferralInfo,m as default,f as deleteCookie,i as generateRefId,g as getBrowserInfo,w as getClient,s as getCookie,h as getPageInfo,u as getReferralInfo,l as getUrlParam,k as init,c as saveReferralInfo,a as setCookie};
1
+ const e="0.1.0",t="https://api.blossu.com",r="blossu_ref",n=30,i="ref";function o(){return`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}function s(e,t,r){if("undefined"==typeof document)return;const n=new Date;n.setTime(n.getTime()+24*r*60*60*1e3);const i="https:"===window.location.protocol?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}; expires=${n.toUTCString()}; path=/; SameSite=Lax${i}`}function a(e){if("undefined"==typeof document)return null;const t=`${e}=`,r=document.cookie.split(";");for(let e=0;e<r.length;e++){let n=r[e];for(;" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(t))return decodeURIComponent(n.substring(t.length,n.length))}return null}function u(e){"undefined"!=typeof document&&(document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}function l(e){if("undefined"==typeof window)return null;return new URLSearchParams(window.location.search).get(e)}function c(e,t=r,n=30){const i=o(),a={code:e.toLowerCase(),refId:i,timestamp:Date.now()};return s(t,JSON.stringify(a),n),a}function f(e=r){const t=a(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function g(e=r){u(e)}function h(){return"undefined"==typeof navigator?{userAgent:"",language:"",timezone:""}:{userAgent:navigator.userAgent||"",language:navigator.language||"",timezone:Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||""}}function d(){return"undefined"==typeof window||"undefined"==typeof document?{url:"",referrer:"",title:""}:{url:window.location.href,referrer:document.referrer||"",title:document.title||""}}class p{constructor(e){this.processing=!1,this.timer=null,this.name=`blossu_queue_${e.name||"default"}`,this.maxAttempts=e.maxAttempts||10,this.baseDelay=e.baseDelay||1e3,this.maxDelay=e.maxDelay||3e4,this.debug=e.debug||!1,this.startProcessing(),"undefined"!=typeof window&&(window.addEventListener("online",(()=>this.startProcessing())),document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&this.startProcessing()})))}log(...e){this.debug&&console.log("[Blossu:Queue]",...e)}getStorageKey(){return this.name}generateId(){return`${Date.now()}_${Math.random().toString(36).substring(2,9)}`}getQueue(){if("undefined"==typeof localStorage)return[];try{const e=localStorage.getItem(this.getStorageKey());return e?JSON.parse(e):[]}catch(e){return this.log("Error reading queue:",e),[]}}saveQueue(e){if("undefined"!=typeof localStorage)try{0===e.length?localStorage.removeItem(this.getStorageKey()):localStorage.setItem(this.getStorageKey(),JSON.stringify(e))}catch(e){this.log("Error saving queue:",e)}}calculateBackoff(e){const t=this.baseDelay*Math.pow(2,e-1),r=.3*Math.random()*t,n=Math.min(t+r,this.maxDelay);return Math.round(n)}push(e,t,r){const n=this.getQueue(),i={id:this.generateId(),event:e,endpoint:t,payload:r,attemptNumber:0,maxAttempts:this.maxAttempts,createdAt:Date.now(),nextRetryAt:Date.now()};n.push(i),this.saveQueue(n),this.log("Added to queue:",i.id,e),this.startProcessing()}async processItem(e){this.log("Processing item:",e.id,"attempt:",e.attemptNumber+1);try{const t=await fetch(e.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:e.payload,keepalive:!0});return t.ok?(this.log("Successfully sent:",e.id),!0):t.status>=400&&t.status<500&&408!==t.status&&429!==t.status?(this.log("Client error, not retrying:",e.id,t.status),!0):(this.log("Server error, will retry:",e.id,t.status),!1)}catch(t){return this.log("Network error, will retry:",e.id,t),!1}}async processQueue(){if(!this.processing)if("undefined"==typeof navigator||navigator.onLine){this.processing=!0;try{const e=this.getQueue();if(0===e.length)return void(this.processing=!1);const t=Date.now(),r=e.filter((e=>e.nextRetryAt<=t));if(0===r.length){const r=e.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),n=Math.max(0,r.nextRetryAt-t);return this.scheduleProcessing(n),void(this.processing=!1)}for(const e of r){e.attemptNumber++;const t=await this.processItem(e),r=this.getQueue(),n=r.findIndex((t=>t.id===e.id));if(-1!==n)if(t)r.splice(n,1),this.saveQueue(r);else if(e.attemptNumber>=e.maxAttempts)this.log("Max attempts reached, dropping:",e.id),r.splice(n,1),this.saveQueue(r);else{const t=this.calculateBackoff(e.attemptNumber);r[n].attemptNumber=e.attemptNumber,r[n].nextRetryAt=Date.now()+t,this.saveQueue(r),this.log("Scheduled retry in",t,"ms for:",e.id)}}const n=this.getQueue();if(n.length>0){const e=n.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),t=Math.max(0,e.nextRetryAt-Date.now());this.scheduleProcessing(t)}}finally{this.processing=!1}}else this.log("Offline, skipping processing")}scheduleProcessing(e){this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>this.processQueue()),e)}startProcessing(){this.scheduleProcessing(0)}getQueueLength(){return this.getQueue().length}clear(){this.saveQueue([]),this.timer&&(clearTimeout(this.timer),this.timer=null)}}class m{constructor(e){this.config={apiUrl:e.apiUrl||t,publishableKey:e.publishableKey,programSlug:e.programSlug,debug:e.debug||!1,maxRetries:e.maxRetries},this.retryQueue=new p({name:e.programSlug,maxAttempts:e.maxRetries||10,debug:e.debug||!1})}log(...e){this.config.debug&&console.log("[Blossu]",...e)}getEndpoint(e){return`${this.config.apiUrl}/v1/track/${e}`}getMeta(){const t="undefined"!=typeof window;return{url:t?window.location.href:"",referrer:t?document.referrer:"",userAgent:t?navigator.userAgent:"",language:t?navigator.language:"",timezone:t&&Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||"",timestamp:Date.now(),sdkVersion:e}}queueForRetry(e,t,r){this.log("Queueing for retry:",e),this.retryQueue.push(e,t,r)}async send(e,t){const r={event:e,data:t,meta:this.getMeta(),publishableKey:this.config.publishableKey};this.log("Sending event:",e,r);const n=this.getEndpoint(e),i=JSON.stringify(r);if("undefined"!=typeof navigator&&navigator.sendBeacon){const e=new Blob([i],{type:"application/json"});try{if(navigator.sendBeacon(n,e))return this.log("sendBeacon success"),!0;this.log("sendBeacon returned false (queue full), falling back to fetch")}catch(e){this.log("sendBeacon threw error, falling back to fetch:",e)}}try{const t=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:i,keepalive:!0});return t.ok?(this.log("fetch success:",t.status),!0):t.status>=500||408===t.status||429===t.status?(this.log("Server error, queueing for retry:",t.status),this.queueForRetry(e,n,i),!1):(this.log("Client error, not retrying:",t.status),!1)}catch(t){return this.log("fetch error, queueing for retry:",t),this.queueForRetry(e,n,i),!1}}trackClick(e){return this.send("click",e)}trackSignup(e){return this.send("signup",e)}trackSale(e){return this.send("sale",e)}trackPageview(e){return this.send("pageview",e)}getQueueLength(){return this.retryQueue.getQueueLength()}clearQueue(){this.retryQueue.clear()}}class y{constructor(e){this.initialized=!1,this.referralInfo=null,this.config={publishableKey:e.publishableKey,programSlug:e.programSlug||"",apiUrl:e.apiUrl||t,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||r,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack},this.tracker=new m({apiUrl:this.config.apiUrl,publishableKey:this.config.publishableKey,programSlug:this.config.programSlug,debug:this.config.debug}),this.loadReferralInfo(),this.config.autoTrack&&this.autoTrackReferral(),this.exposeToWindow()}log(...e){this.config.debug&&console.log("[Blossu]",...e)}exposeToWindow(){"undefined"!=typeof window&&(window.blossu=this,this.referralInfo&&(window.blossu_ref_id=this.referralInfo.refId))}loadReferralInfo(){this.referralInfo=f(this.config.cookieName),this.referralInfo&&this.log("Loaded referral info from cookie:",this.referralInfo)}autoTrackReferral(){if("undefined"==typeof window)return;const e=l(this.config.trackingParam);e&&e!==this.referralInfo?.code&&(this.log("Detected referral code in URL:",e),this.trackClick(e))}getRefId(){return this.referralInfo?.refId||null}getCode(){return this.referralInfo?.code||null}getReferralInfo(){return this.referralInfo}hasReferral(){return null!==this.referralInfo}clearReferral(){g(this.config.cookieName),this.referralInfo=null,"undefined"!=typeof window&&delete window.blossu_ref_id,this.log("Cleared referral info")}async trackClick(e){return this.referralInfo=c(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.log("Tracking click for code:",e,"refId:",this.referralInfo.refId),this.tracker.trackClick({code:this.referralInfo.code,refId:this.referralInfo.refId})}async signup(e={}){return this.referralInfo?(this.log("Tracking signup:",e),this.tracker.trackSignup({code:this.referralInfo.code,refId:this.referralInfo.refId,email:e.email,customerExternalId:e.customerExternalId,metadata:e.metadata})):(this.log("No referral info, skipping signup tracking"),!1)}async sale(e){return this.referralInfo?(this.log("Tracking sale:",e),this.tracker.trackSale({code:this.referralInfo.code,refId:this.referralInfo.refId,customerExternalId:e.customerExternalId,amount:e.amount,currency:e.currency,provider:e.provider||"custom",metadata:e.metadata})):(this.log("No referral info, skipping sale tracking"),!1)}async pageview(){return!!this.referralInfo&&this.tracker.trackPageview({code:this.referralInfo.code,refId:this.referralInfo.refId})}getStripeClientReferenceId(){return this.referralInfo?.refId||null}getStripeMetadata(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId,blossu_code:this.referralInfo.code}:{}}async getPartnerInfo(e){const t=this.config.programSlug?`/v1/public/programs/${this.config.programSlug}/referral/${encodeURIComponent(e)}`:`/v1/public/referral/${encodeURIComponent(e)}`,r=`${this.config.apiUrl}${t}`;try{const t=await fetch(r,{headers:{Authorization:`Bearer ${this.config.publishableKey}`}});if(!t.ok){if(404===t.status)return this.log("Partner info not found for code:",e),null;throw new Error(`HTTP error! status: ${t.status}`)}const n=await t.json();return this.log("Fetched partner info:",n),n}catch(e){return this.log("Error fetching partner info:",e),null}}getProgramSlug(){return this.config.programSlug}}let I=null;function w(e){return I=new y(e),I}function b(){return I}export{y as BlossuClient,n as COOKIE_EXPIRY_DAYS,r as COOKIE_NAME,t as DEFAULT_API_URL,i as TRACKING_PARAM,m as Tracker,e as VERSION,g as clearReferralInfo,y as default,u as deleteCookie,o as generateRefId,h as getBrowserInfo,b as getClient,a as getCookie,d as getPageInfo,f as getReferralInfo,l as getUrlParam,w as init,c as saveReferralInfo,s as setCookie};
2
2
  //# sourceMappingURL=blossu.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blossu.esm.js","sources":["../src/constants.ts","../src/utils.ts","../src/tracker.ts","../src/blossu.ts"],"sourcesContent":[null,null,null,null],"names":["VERSION","DEFAULT_API_URL","COOKIE_NAME","COOKIE_EXPIRY_DAYS","TRACKING_PARAM","generateRefId","Date","now","toString","Math","random","substring","setCookie","name","value","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","getCookie","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","deleteCookie","getUrlParam","param","URLSearchParams","search","get","saveReferralInfo","code","cookieName","expiryDays","refId","info","toLowerCase","timestamp","JSON","stringify","getReferralInfo","parse","clearReferralInfo","getBrowserInfo","navigator","userAgent","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","getPageInfo","url","referrer","title","href","Tracker","constructor","config","this","apiUrl","programSlug","debug","log","args","console","getEndpoint","event","getMeta","isBrowser","sdkVersion","send","data","payload","meta","endpoint","body","sendBeacon","blob","Blob","type","success","error","response","fetch","method","headers","keepalive","status","ok","trackClick","trackSignup","trackSale","trackPageview","BlossuClient","initialized","referralInfo","trackingParam","cookieExpiryDays","autoTrack","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","blossu_ref_id","getRefId","getCode","hasReferral","clearReferral","signup","email","externalCustomerId","metadata","sale","amount","currency","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","Error","json","getProgramSlug","defaultClient","init","getClient"],"mappings":"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"}
1
+ {"version":3,"file":"blossu.esm.js","sources":["../src/constants.ts","../src/utils.ts","../src/retry-queue.ts","../src/tracker.ts","../src/blossu.ts"],"sourcesContent":[null,null,null,null,null],"names":["VERSION","DEFAULT_API_URL","COOKIE_NAME","COOKIE_EXPIRY_DAYS","TRACKING_PARAM","generateRefId","Date","now","toString","Math","random","substring","setCookie","name","value","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","getCookie","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","deleteCookie","getUrlParam","param","URLSearchParams","search","get","saveReferralInfo","code","cookieName","expiryDays","refId","info","toLowerCase","timestamp","JSON","stringify","getReferralInfo","parse","clearReferralInfo","getBrowserInfo","navigator","userAgent","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","getPageInfo","url","referrer","title","href","RetryQueue","constructor","config","this","processing","timer","maxAttempts","baseDelay","maxDelay","debug","startProcessing","addEventListener","visibilityState","log","args","console","getStorageKey","generateId","getQueue","localStorage","data","getItem","error","saveQueue","queue","removeItem","setItem","calculateBackoff","attemptNumber","exponentialDelay","pow","jitter","delay","min","round","push","event","endpoint","payload","item","id","createdAt","nextRetryAt","processItem","response","fetch","method","headers","body","keepalive","ok","status","processQueue","onLine","readyItems","filter","nextItem","reduce","max","scheduleProcessing","success","currentQueue","index","findIndex","q","splice","backoff","remainingQueue","clearTimeout","setTimeout","getQueueLength","clear","Tracker","apiUrl","publishableKey","programSlug","maxRetries","retryQueue","getEndpoint","getMeta","isBrowser","sdkVersion","queueForRetry","send","meta","sendBeacon","blob","Blob","type","trackClick","trackSignup","trackSale","trackPageview","clearQueue","BlossuClient","initialized","referralInfo","trackingParam","cookieExpiryDays","autoTrack","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","blossu_ref_id","getRefId","getCode","hasReferral","clearReferral","signup","email","customerExternalId","metadata","sale","amount","currency","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","programPath","Authorization","Error","json","getProgramSlug","defaultClient","init","getClient"],"mappings":"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"}
package/dist/blossu.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).Blossu={})}(this,(function(e){"use strict";const r="0.1.0",t="https://api.blossu.com",n="blossu_ref";function o(){return`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}function i(e,r,t){if("undefined"==typeof document)return;const n=new Date;n.setTime(n.getTime()+24*t*60*60*1e3);const o="https:"===window.location.protocol?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(r)}; expires=${n.toUTCString()}; path=/; SameSite=Lax${o}`}function a(e){if("undefined"==typeof document)return null;const r=`${e}=`,t=document.cookie.split(";");for(let e=0;e<t.length;e++){let n=t[e];for(;" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(r))return decodeURIComponent(n.substring(r.length,n.length))}return null}function s(e){"undefined"!=typeof document&&(document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}function f(e){if("undefined"==typeof window)return null;return new URLSearchParams(window.location.search).get(e)}function l(e,r=n,t=30){const a=o(),s={code:e.toLowerCase(),refId:a,timestamp:Date.now()};return i(r,JSON.stringify(s),t),s}function c(e=n){const r=a(e);if(!r)return null;try{return JSON.parse(r)}catch{return null}}function u(e=n){s(e)}class d{constructor(e){this.config={apiUrl:e.apiUrl||t,programSlug:e.programSlug,debug:e.debug||!1}}log(...e){this.config.debug&&console.log("[Blossu]",...e)}getEndpoint(e){return`${this.config.apiUrl}/v1/track/${e}`}getMeta(){const e="undefined"!=typeof window;return{url:e?window.location.href:"",referrer:e?document.referrer:"",userAgent:e?navigator.userAgent:"",language:e?navigator.language:"",timezone:e&&Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||"",timestamp:Date.now(),sdkVersion:r}}async send(e,r){const t={event:e,data:r,meta:this.getMeta()};this.log("Sending event:",e,t);const n=this.getEndpoint(e),o=JSON.stringify(t);if("undefined"!=typeof navigator&&navigator.sendBeacon){const e=new Blob([o],{type:"application/json"});try{const r=navigator.sendBeacon(n,e);return this.log("sendBeacon result:",r),r}catch(e){this.log("sendBeacon failed, falling back to fetch:",e)}}try{const e=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:o,keepalive:!0});return this.log("fetch response:",e.status),e.ok}catch(e){return this.log("fetch error:",e),!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)}}class g{constructor(e){this.initialized=!1,this.referralInfo=null,this.config={programSlug:e.programSlug,apiUrl:e.apiUrl||t,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||n,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack},this.tracker=new d({apiUrl:this.config.apiUrl,programSlug:this.config.programSlug,debug:this.config.debug}),this.loadReferralInfo(),this.config.autoTrack&&this.autoTrackReferral(),this.exposeToWindow()}log(...e){this.config.debug&&console.log("[Blossu]",...e)}exposeToWindow(){"undefined"!=typeof window&&(window.blossu=this,this.referralInfo&&(window.blossu_ref_id=this.referralInfo.refId))}loadReferralInfo(){this.referralInfo=c(this.config.cookieName),this.referralInfo&&this.log("Loaded referral info from cookie:",this.referralInfo)}autoTrackReferral(){if("undefined"==typeof window)return;const e=f(this.config.trackingParam);e&&e!==this.referralInfo?.code&&(this.log("Detected referral code in URL:",e),this.trackClick(e))}getRefId(){return this.referralInfo?.refId||null}getCode(){return this.referralInfo?.code||null}getReferralInfo(){return this.referralInfo}hasReferral(){return null!==this.referralInfo}clearReferral(){u(this.config.cookieName),this.referralInfo=null,"undefined"!=typeof window&&delete window.blossu_ref_id,this.log("Cleared referral info")}async trackClick(e){return this.referralInfo=l(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.log("Tracking click for code:",e,"refId:",this.referralInfo.refId),this.tracker.trackClick({code:this.referralInfo.code,refId:this.referralInfo.refId})}async signup(e={}){return this.referralInfo?(this.log("Tracking signup:",e),this.tracker.trackSignup({code:this.referralInfo.code,refId:this.referralInfo.refId,email:e.email,externalCustomerId:e.externalCustomerId,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,externalCustomerId:e.externalCustomerId,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 r=`${this.config.apiUrl}/v1/public/programs/${this.config.programSlug}/referral/${encodeURIComponent(e)}`;try{const t=await fetch(r);if(!t.ok){if(404===t.status)return this.log("Partner info not found for code:",e),null;throw new Error(`HTTP error! status: ${t.status}`)}const n=await t.json();return this.log("Fetched partner info:",n),n}catch(e){return this.log("Error fetching partner info:",e),null}}getProgramSlug(){return this.config.programSlug}}let h=null;e.BlossuClient=g,e.COOKIE_EXPIRY_DAYS=30,e.COOKIE_NAME=n,e.DEFAULT_API_URL=t,e.TRACKING_PARAM="ref",e.Tracker=d,e.VERSION=r,e.clearReferralInfo=u,e.default=g,e.deleteCookie=s,e.generateRefId=o,e.getBrowserInfo=function(){return"undefined"==typeof navigator?{userAgent:"",language:"",timezone:""}:{userAgent:navigator.userAgent||"",language:navigator.language||"",timezone:Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||""}},e.getClient=function(){return h},e.getCookie=a,e.getPageInfo=function(){return"undefined"==typeof window||"undefined"==typeof document?{url:"",referrer:"",title:""}:{url:window.location.href,referrer:document.referrer||"",title:document.title||""}},e.getReferralInfo=c,e.getUrlParam=f,e.init=function(e){return h=new g(e),h},e.saveReferralInfo=l,e.setCookie=i,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Blossu={})}(this,(function(e){"use strict";const t="0.1.0",r="https://api.blossu.com",n="blossu_ref";function i(){return`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}function o(e,t,r){if("undefined"==typeof document)return;const n=new Date;n.setTime(n.getTime()+24*r*60*60*1e3);const i="https:"===window.location.protocol?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}; expires=${n.toUTCString()}; path=/; SameSite=Lax${i}`}function s(e){if("undefined"==typeof document)return null;const t=`${e}=`,r=document.cookie.split(";");for(let e=0;e<r.length;e++){let n=r[e];for(;" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(t))return decodeURIComponent(n.substring(t.length,n.length))}return null}function a(e){"undefined"!=typeof document&&(document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}function u(e){if("undefined"==typeof window)return null;return new URLSearchParams(window.location.search).get(e)}function l(e,t=n,r=30){const s=i(),a={code:e.toLowerCase(),refId:s,timestamp:Date.now()};return o(t,JSON.stringify(a),r),a}function c(e=n){const t=s(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function f(e=n){a(e)}class g{constructor(e){this.processing=!1,this.timer=null,this.name=`blossu_queue_${e.name||"default"}`,this.maxAttempts=e.maxAttempts||10,this.baseDelay=e.baseDelay||1e3,this.maxDelay=e.maxDelay||3e4,this.debug=e.debug||!1,this.startProcessing(),"undefined"!=typeof window&&(window.addEventListener("online",(()=>this.startProcessing())),document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&this.startProcessing()})))}log(...e){this.debug&&console.log("[Blossu:Queue]",...e)}getStorageKey(){return this.name}generateId(){return`${Date.now()}_${Math.random().toString(36).substring(2,9)}`}getQueue(){if("undefined"==typeof localStorage)return[];try{const e=localStorage.getItem(this.getStorageKey());return e?JSON.parse(e):[]}catch(e){return this.log("Error reading queue:",e),[]}}saveQueue(e){if("undefined"!=typeof localStorage)try{0===e.length?localStorage.removeItem(this.getStorageKey()):localStorage.setItem(this.getStorageKey(),JSON.stringify(e))}catch(e){this.log("Error saving queue:",e)}}calculateBackoff(e){const t=this.baseDelay*Math.pow(2,e-1),r=.3*Math.random()*t,n=Math.min(t+r,this.maxDelay);return Math.round(n)}push(e,t,r){const n=this.getQueue(),i={id:this.generateId(),event:e,endpoint:t,payload:r,attemptNumber:0,maxAttempts:this.maxAttempts,createdAt:Date.now(),nextRetryAt:Date.now()};n.push(i),this.saveQueue(n),this.log("Added to queue:",i.id,e),this.startProcessing()}async processItem(e){this.log("Processing item:",e.id,"attempt:",e.attemptNumber+1);try{const t=await fetch(e.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:e.payload,keepalive:!0});return t.ok?(this.log("Successfully sent:",e.id),!0):t.status>=400&&t.status<500&&408!==t.status&&429!==t.status?(this.log("Client error, not retrying:",e.id,t.status),!0):(this.log("Server error, will retry:",e.id,t.status),!1)}catch(t){return this.log("Network error, will retry:",e.id,t),!1}}async processQueue(){if(!this.processing)if("undefined"==typeof navigator||navigator.onLine){this.processing=!0;try{const e=this.getQueue();if(0===e.length)return void(this.processing=!1);const t=Date.now(),r=e.filter((e=>e.nextRetryAt<=t));if(0===r.length){const r=e.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),n=Math.max(0,r.nextRetryAt-t);return this.scheduleProcessing(n),void(this.processing=!1)}for(const e of r){e.attemptNumber++;const t=await this.processItem(e),r=this.getQueue(),n=r.findIndex((t=>t.id===e.id));if(-1!==n)if(t)r.splice(n,1),this.saveQueue(r);else if(e.attemptNumber>=e.maxAttempts)this.log("Max attempts reached, dropping:",e.id),r.splice(n,1),this.saveQueue(r);else{const t=this.calculateBackoff(e.attemptNumber);r[n].attemptNumber=e.attemptNumber,r[n].nextRetryAt=Date.now()+t,this.saveQueue(r),this.log("Scheduled retry in",t,"ms for:",e.id)}}const n=this.getQueue();if(n.length>0){const e=n.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),t=Math.max(0,e.nextRetryAt-Date.now());this.scheduleProcessing(t)}}finally{this.processing=!1}}else this.log("Offline, skipping processing")}scheduleProcessing(e){this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>this.processQueue()),e)}startProcessing(){this.scheduleProcessing(0)}getQueueLength(){return this.getQueue().length}clear(){this.saveQueue([]),this.timer&&(clearTimeout(this.timer),this.timer=null)}}class h{constructor(e){this.config={apiUrl:e.apiUrl||r,publishableKey:e.publishableKey,programSlug:e.programSlug,debug:e.debug||!1,maxRetries:e.maxRetries},this.retryQueue=new g({name:e.programSlug,maxAttempts:e.maxRetries||10,debug:e.debug||!1})}log(...e){this.config.debug&&console.log("[Blossu]",...e)}getEndpoint(e){return`${this.config.apiUrl}/v1/track/${e}`}getMeta(){const e="undefined"!=typeof window;return{url:e?window.location.href:"",referrer:e?document.referrer:"",userAgent:e?navigator.userAgent:"",language:e?navigator.language:"",timezone:e&&Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||"",timestamp:Date.now(),sdkVersion:t}}queueForRetry(e,t,r){this.log("Queueing for retry:",e),this.retryQueue.push(e,t,r)}async send(e,t){const r={event:e,data:t,meta:this.getMeta(),publishableKey:this.config.publishableKey};this.log("Sending event:",e,r);const n=this.getEndpoint(e),i=JSON.stringify(r);if("undefined"!=typeof navigator&&navigator.sendBeacon){const e=new Blob([i],{type:"application/json"});try{if(navigator.sendBeacon(n,e))return this.log("sendBeacon success"),!0;this.log("sendBeacon returned false (queue full), falling back to fetch")}catch(e){this.log("sendBeacon threw error, falling back to fetch:",e)}}try{const t=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:i,keepalive:!0});return t.ok?(this.log("fetch success:",t.status),!0):t.status>=500||408===t.status||429===t.status?(this.log("Server error, queueing for retry:",t.status),this.queueForRetry(e,n,i),!1):(this.log("Client error, not retrying:",t.status),!1)}catch(t){return this.log("fetch error, queueing for retry:",t),this.queueForRetry(e,n,i),!1}}trackClick(e){return this.send("click",e)}trackSignup(e){return this.send("signup",e)}trackSale(e){return this.send("sale",e)}trackPageview(e){return this.send("pageview",e)}getQueueLength(){return this.retryQueue.getQueueLength()}clearQueue(){this.retryQueue.clear()}}class d{constructor(e){this.initialized=!1,this.referralInfo=null,this.config={publishableKey:e.publishableKey,programSlug:e.programSlug||"",apiUrl:e.apiUrl||r,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||n,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack},this.tracker=new h({apiUrl:this.config.apiUrl,publishableKey:this.config.publishableKey,programSlug:this.config.programSlug,debug:this.config.debug}),this.loadReferralInfo(),this.config.autoTrack&&this.autoTrackReferral(),this.exposeToWindow()}log(...e){this.config.debug&&console.log("[Blossu]",...e)}exposeToWindow(){"undefined"!=typeof window&&(window.blossu=this,this.referralInfo&&(window.blossu_ref_id=this.referralInfo.refId))}loadReferralInfo(){this.referralInfo=c(this.config.cookieName),this.referralInfo&&this.log("Loaded referral info from cookie:",this.referralInfo)}autoTrackReferral(){if("undefined"==typeof window)return;const e=u(this.config.trackingParam);e&&e!==this.referralInfo?.code&&(this.log("Detected referral code in URL:",e),this.trackClick(e))}getRefId(){return this.referralInfo?.refId||null}getCode(){return this.referralInfo?.code||null}getReferralInfo(){return this.referralInfo}hasReferral(){return null!==this.referralInfo}clearReferral(){f(this.config.cookieName),this.referralInfo=null,"undefined"!=typeof window&&delete window.blossu_ref_id,this.log("Cleared referral info")}async trackClick(e){return this.referralInfo=l(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.log("Tracking click for code:",e,"refId:",this.referralInfo.refId),this.tracker.trackClick({code:this.referralInfo.code,refId:this.referralInfo.refId})}async signup(e={}){return this.referralInfo?(this.log("Tracking signup:",e),this.tracker.trackSignup({code:this.referralInfo.code,refId:this.referralInfo.refId,email:e.email,customerExternalId:e.customerExternalId,metadata:e.metadata})):(this.log("No referral info, skipping signup tracking"),!1)}async sale(e){return this.referralInfo?(this.log("Tracking sale:",e),this.tracker.trackSale({code:this.referralInfo.code,refId:this.referralInfo.refId,customerExternalId:e.customerExternalId,amount:e.amount,currency:e.currency,provider:e.provider||"custom",metadata:e.metadata})):(this.log("No referral info, skipping sale tracking"),!1)}async pageview(){return!!this.referralInfo&&this.tracker.trackPageview({code:this.referralInfo.code,refId:this.referralInfo.refId})}getStripeClientReferenceId(){return this.referralInfo?.refId||null}getStripeMetadata(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId,blossu_code:this.referralInfo.code}:{}}async getPartnerInfo(e){const t=this.config.programSlug?`/v1/public/programs/${this.config.programSlug}/referral/${encodeURIComponent(e)}`:`/v1/public/referral/${encodeURIComponent(e)}`,r=`${this.config.apiUrl}${t}`;try{const t=await fetch(r,{headers:{Authorization:`Bearer ${this.config.publishableKey}`}});if(!t.ok){if(404===t.status)return this.log("Partner info not found for code:",e),null;throw new Error(`HTTP error! status: ${t.status}`)}const n=await t.json();return this.log("Fetched partner info:",n),n}catch(e){return this.log("Error fetching partner info:",e),null}}getProgramSlug(){return this.config.programSlug}}let p=null;e.BlossuClient=d,e.COOKIE_EXPIRY_DAYS=30,e.COOKIE_NAME=n,e.DEFAULT_API_URL=r,e.TRACKING_PARAM="ref",e.Tracker=h,e.VERSION=t,e.clearReferralInfo=f,e.default=d,e.deleteCookie=a,e.generateRefId=i,e.getBrowserInfo=function(){return"undefined"==typeof navigator?{userAgent:"",language:"",timezone:""}:{userAgent:navigator.userAgent||"",language:navigator.language||"",timezone:Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||""}},e.getClient=function(){return p},e.getCookie=s,e.getPageInfo=function(){return"undefined"==typeof window||"undefined"==typeof document?{url:"",referrer:"",title:""}:{url:window.location.href,referrer:document.referrer||"",title:document.title||""}},e.getReferralInfo=c,e.getUrlParam=u,e.init=function(e){return p=new d(e),p},e.saveReferralInfo=l,e.setCookie=o,Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=blossu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blossu.js","sources":["../src/constants.ts","../src/utils.ts","../src/tracker.ts","../src/blossu.ts"],"sourcesContent":[null,null,null,null],"names":["VERSION","DEFAULT_API_URL","COOKIE_NAME","generateRefId","Date","now","toString","Math","random","substring","setCookie","name","value","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","getCookie","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","deleteCookie","getUrlParam","param","URLSearchParams","search","get","saveReferralInfo","code","cookieName","expiryDays","refId","info","toLowerCase","timestamp","JSON","stringify","getReferralInfo","parse","clearReferralInfo","Tracker","constructor","config","this","apiUrl","programSlug","debug","log","args","console","getEndpoint","event","getMeta","isBrowser","url","href","referrer","userAgent","navigator","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","sdkVersion","send","data","payload","meta","endpoint","body","sendBeacon","blob","Blob","type","success","error","response","fetch","method","headers","keepalive","status","ok","trackClick","trackSignup","trackSale","trackPageview","BlossuClient","initialized","referralInfo","trackingParam","cookieExpiryDays","autoTrack","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","blossu_ref_id","getRefId","getCode","hasReferral","clearReferral","signup","email","externalCustomerId","metadata","sale","amount","currency","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","Error","json","getProgramSlug","defaultClient","title"],"mappings":"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"}
1
+ {"version":3,"file":"blossu.js","sources":["../src/constants.ts","../src/utils.ts","../src/retry-queue.ts","../src/tracker.ts","../src/blossu.ts"],"sourcesContent":[null,null,null,null,null],"names":["VERSION","DEFAULT_API_URL","COOKIE_NAME","generateRefId","Date","now","toString","Math","random","substring","setCookie","name","value","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","getCookie","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","deleteCookie","getUrlParam","param","URLSearchParams","search","get","saveReferralInfo","code","cookieName","expiryDays","refId","info","toLowerCase","timestamp","JSON","stringify","getReferralInfo","parse","clearReferralInfo","RetryQueue","constructor","config","this","processing","timer","maxAttempts","baseDelay","maxDelay","debug","startProcessing","addEventListener","visibilityState","log","args","console","getStorageKey","generateId","getQueue","localStorage","data","getItem","error","saveQueue","queue","removeItem","setItem","calculateBackoff","attemptNumber","exponentialDelay","pow","jitter","delay","min","round","push","event","endpoint","payload","item","id","createdAt","nextRetryAt","processItem","response","fetch","method","headers","body","keepalive","ok","status","processQueue","navigator","onLine","readyItems","filter","nextItem","reduce","max","scheduleProcessing","success","currentQueue","index","findIndex","q","splice","backoff","remainingQueue","clearTimeout","setTimeout","getQueueLength","clear","Tracker","apiUrl","publishableKey","programSlug","maxRetries","retryQueue","getEndpoint","getMeta","isBrowser","url","href","referrer","userAgent","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","sdkVersion","queueForRetry","send","meta","sendBeacon","blob","Blob","type","trackClick","trackSignup","trackSale","trackPageview","clearQueue","BlossuClient","initialized","referralInfo","trackingParam","cookieExpiryDays","autoTrack","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","blossu_ref_id","getRefId","getCode","hasReferral","clearReferral","signup","email","customerExternalId","metadata","sale","amount","currency","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","programPath","Authorization","Error","json","getProgramSlug","defaultClient","title"],"mappings":"8OAAa,MAAAA,EAAU,QACVC,EAAkB,yBAClBC,EAAc,sBCCXC,IAGd,MAAO,OAFWC,KAAKC,MAAMC,SAAS,OACnBC,KAAKC,SAASF,SAAS,IAAIG,UAAU,EAAG,KAE7D,UAEgBC,EAAUC,EAAcC,EAAeC,GACrD,GAAwB,oBAAbC,SAA0B,OAErC,MAAMC,EAAU,IAAIX,KACpBW,EAAQC,QAAQD,EAAQE,UAAmB,GAAPJ,EAAY,GAAK,GAAK,KAE1D,MACMK,EAAsC,WAA7BC,OAAOC,SAASC,SAAwB,WAAa,GAEpEP,SAASQ,OAAS,GAAGX,KAAQY,mBAAmBX,eAAmBG,EAAQS,sCAA8CN,GAC3H,CAEM,SAAUO,EAAUd,GACxB,GAAwB,oBAAbG,SAA0B,OAAO,KAE5C,MAAMY,EAAS,GAAGf,KACZgB,EAAUb,SAASQ,OAAOM,MAAM,KAEtC,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAQG,OAAQD,IAAK,CACvC,IAAIP,EAASK,EAAQE,GACrB,KAA4B,MAArBP,EAAOS,OAAO,IACnBT,EAASA,EAAOb,UAAU,EAAGa,EAAOQ,QAEtC,GAA+B,IAA3BR,EAAOU,QAAQN,GACjB,OAAOO,mBAAmBX,EAAOb,UAAUiB,EAAOI,OAAQR,EAAOQ,QAEpE,CACD,OAAO,IACT,CAEM,SAAUI,EAAavB,GACH,oBAAbG,WACXA,SAASQ,OAAS,GAAGX,qDACvB,CAEM,SAAUwB,EAAYC,GAC1B,GAAsB,oBAAXjB,OAAwB,OAAO,KAG1C,OADkB,IAAIkB,gBAAgBlB,OAAOC,SAASkB,QACrCC,IAAIH,EACvB,CAEM,SAAUI,EACdC,EACAC,EAAqBxC,EACrByC,EDnDgC,ICqDhC,MAAMC,EAAQzC,IACR0C,EAAqB,CACzBJ,KAAMA,EAAKK,cACXF,QACAG,UAAW3C,KAAKC,OAKlB,OAFAK,EAAUgC,EAAYM,KAAKC,UAAUJ,GAAOF,GAErCE,CACT,CAEgB,SAAAK,EACdR,EAAqBxC,GAErB,MAAMoB,EAASG,EAAUiB,GACzB,IAAKpB,EAAQ,OAAO,KAEpB,IACE,OAAO0B,KAAKG,MAAM7B,EACnB,CAAC,MACA,OAAO,IACR,CACH,CAEgB,SAAA8B,EAAkBV,EAAqBxC,GACrDgC,EAAaQ,EACf,OC5DaW,EASX,WAAAC,CAAYC,GAHJC,KAAUC,YAAY,EACtBD,KAAKE,MAAyC,KAGpDF,KAAK7C,KAAO,gBAAgB4C,EAAO5C,MAAQ,YAC3C6C,KAAKG,YAAcJ,EAAOI,aAfD,GAgBzBH,KAAKI,UAAYL,EAAOK,WAfD,IAgBvBJ,KAAKK,SAAWN,EAAOM,UAfD,IAgBtBL,KAAKM,MAAQP,EAAOO,QAAS,EAE7BN,KAAKO,kBAEiB,oBAAX5C,SACTA,OAAO6C,iBAAiB,UAAU,IAAMR,KAAKO,oBAC7CjD,SAASkD,iBAAiB,oBAAoB,KACX,YAA7BlD,SAASmD,iBACXT,KAAKO,iBACN,IAGN,CAEO,GAAAG,IAAOC,GACTX,KAAKM,OACPM,QAAQF,IAAI,oBAAqBC,EAEpC,CAEO,aAAAE,GACN,OAAOb,KAAK7C,IACb,CAEO,UAAA2D,GACN,MAAO,GAAGlE,KAAKC,SAASE,KAAKC,SAASF,SAAS,IAAIG,UAAU,EAAG,IACjE,CAEO,QAAA8D,GACN,GAA4B,oBAAjBC,aACT,MAAO,GAGT,IACE,MAAMC,EAAOD,aAAaE,QAAQlB,KAAKa,iBACvC,OAAKI,EACEzB,KAAKG,MAAMsB,GADA,EAEnB,CAAC,MAAOE,GAEP,OADAnB,KAAKU,IAAI,uBAAwBS,GAC1B,EACR,CACF,CAEO,SAAAC,CAAUC,GAChB,GAA4B,oBAAjBL,aAIX,IACuB,IAAjBK,EAAM/C,OACR0C,aAAaM,WAAWtB,KAAKa,iBAE7BG,aAAaO,QAAQvB,KAAKa,gBAAiBrB,KAAKC,UAAU4B,GAE7D,CAAC,MAAOF,GACPnB,KAAKU,IAAI,sBAAuBS,EACjC,CACF,CAEO,gBAAAK,CAAiBC,GACvB,MAAMC,EAAmB1B,KAAKI,UAAYrD,KAAK4E,IAAI,EAAGF,EAAgB,GAChEG,EAAyB,GAAhB7E,KAAKC,SAAiB0E,EAC/BG,EAAQ9E,KAAK+E,IAAIJ,EAAmBE,EAAQ5B,KAAKK,UACvD,OAAOtD,KAAKgF,MAAMF,EACnB,CAED,IAAAG,CAAKC,EAAeC,EAAkBC,GACpC,MAAMd,EAAQrB,KAAKe,WAEbqB,EAAkB,CACtBC,GAAIrC,KAAKc,aACTmB,QACAC,WACAC,UACAV,cAAe,EACftB,YAAaH,KAAKG,YAClBmC,UAAW1F,KAAKC,MAChB0F,YAAa3F,KAAKC,OAGpBwE,EAAMW,KAAKI,GACXpC,KAAKoB,UAAUC,GACfrB,KAAKU,IAAI,kBAAmB0B,EAAKC,GAAIJ,GAErCjC,KAAKO,iBACN,CAEO,iBAAMiC,CAAYJ,GACxBpC,KAAKU,IAAI,mBAAoB0B,EAAKC,GAAI,WAAYD,EAAKX,cAAgB,GAEvE,IACE,MAAMgB,QAAiBC,MAAMN,EAAKF,SAAU,CAC1CS,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMT,EAAKD,QACXW,WAAW,IAGb,OAAIL,EAASM,IACX/C,KAAKU,IAAI,qBAAsB0B,EAAKC,KAC7B,GAGLI,EAASO,QAAU,KAAOP,EAASO,OAAS,KAA2B,MAApBP,EAASO,QAAsC,MAApBP,EAASO,QACzFhD,KAAKU,IAAI,8BAA+B0B,EAAKC,GAAII,EAASO,SACnD,IAGThD,KAAKU,IAAI,4BAA6B0B,EAAKC,GAAII,EAASO,SACjD,EACR,CAAC,MAAO7B,GAEP,OADAnB,KAAKU,IAAI,6BAA8B0B,EAAKC,GAAIlB,IACzC,CACR,CACF,CAEO,kBAAM8B,GACZ,IAAIjD,KAAKC,WAIT,GAAyB,oBAAdiD,WAA8BA,UAAUC,OAAnD,CAKAnD,KAAKC,YAAa,EAElB,IACE,MAAMoB,EAAQrB,KAAKe,WACnB,GAAqB,IAAjBM,EAAM/C,OAER,YADA0B,KAAKC,YAAa,GAIpB,MAAMpD,EAAMD,KAAKC,MACXuG,EAAa/B,EAAMgC,QAAQjB,GAASA,EAAKG,aAAe1F,IAE9D,GAA0B,IAAtBuG,EAAW9E,OAAc,CAC3B,MAAMgF,EAAWjC,EAAMkC,QAAO,CAACzB,EAAKM,IAClCA,EAAKG,YAAcT,EAAIS,YAAcH,EAAON,IAExCD,EAAQ9E,KAAKyG,IAAI,EAAGF,EAASf,YAAc1F,GAGjD,OAFAmD,KAAKyD,mBAAmB5B,QACxB7B,KAAKC,YAAa,EAEnB,CAED,IAAK,MAAMmC,KAAQgB,EAAY,CAC7BhB,EAAKX,gBACL,MAAMiC,QAAgB1D,KAAKwC,YAAYJ,GAEjCuB,EAAe3D,KAAKe,WACpB6C,EAAQD,EAAaE,WAAWC,GAAMA,EAAEzB,KAAOD,EAAKC,KAE1D,IAAe,IAAXuB,EAIJ,GAAIF,EACFC,EAAaI,OAAOH,EAAO,GAC3B5D,KAAKoB,UAAUuC,QACV,GAAIvB,EAAKX,eAAiBW,EAAKjC,YACpCH,KAAKU,IAAI,kCAAmC0B,EAAKC,IACjDsB,EAAaI,OAAOH,EAAO,GAC3B5D,KAAKoB,UAAUuC,OACV,CACL,MAAMK,EAAUhE,KAAKwB,iBAAiBY,EAAKX,eAC3CkC,EAAaC,GAAOnC,cAAgBW,EAAKX,cACzCkC,EAAaC,GAAOrB,YAAc3F,KAAKC,MAAQmH,EAC/ChE,KAAKoB,UAAUuC,GACf3D,KAAKU,IAAI,qBAAsBsD,EAAS,UAAW5B,EAAKC,GACzD,CACF,CAED,MAAM4B,EAAiBjE,KAAKe,WAC5B,GAAIkD,EAAe3F,OAAS,EAAG,CAC7B,MAAMgF,EAAWW,EAAeV,QAAO,CAACzB,EAAKM,IAC3CA,EAAKG,YAAcT,EAAIS,YAAcH,EAAON,IAExCD,EAAQ9E,KAAKyG,IAAI,EAAGF,EAASf,YAAc3F,KAAKC,OACtDmD,KAAKyD,mBAAmB5B,EACzB,CACF,CAAS,QACR7B,KAAKC,YAAa,CACnB,CA7DA,MAFCD,KAAKU,IAAI,+BAgEZ,CAEO,kBAAA+C,CAAmB5B,GACrB7B,KAAKE,OACPgE,aAAalE,KAAKE,OAEpBF,KAAKE,MAAQiE,YAAW,IAAMnE,KAAKiD,gBAAgBpB,EACpD,CAEO,eAAAtB,GACNP,KAAKyD,mBAAmB,EACzB,CAED,cAAAW,GACE,OAAOpE,KAAKe,WAAWzC,MACxB,CAED,KAAA+F,GACErE,KAAKoB,UAAU,IACXpB,KAAKE,QACPgE,aAAalE,KAAKE,OAClBF,KAAKE,MAAQ,KAEhB,QC/NUoE,EAIX,WAAAxE,CAAYC,GACVC,KAAKD,OAAS,CACZwE,OAAQxE,EAAOwE,QAAU9H,EACzB+H,eAAgBzE,EAAOyE,eACvBC,YAAa1E,EAAO0E,YACpBnE,MAAOP,EAAOO,QAAS,EACvBoE,WAAY3E,EAAO2E,YAGrB1E,KAAK2E,WAAa,IAAI9E,EAAW,CAC/B1C,KAAM4C,EAAO0E,YACbtE,YAAaJ,EAAO2E,YAAc,GAClCpE,MAAOP,EAAOO,QAAS,GAE1B,CAEO,GAAAI,IAAOC,GACTX,KAAKD,OAAOO,OACdM,QAAQF,IAAI,cAAeC,EAE9B,CAEO,WAAAiE,CAAY3C,GAClB,MAAO,GAAGjC,KAAKD,OAAOwE,mBAAmBtC,GAC1C,CAEO,OAAA4C,GACN,MAAMC,EAA8B,oBAAXnH,OAEzB,MAAO,CACLoH,IAAKD,EAAYnH,OAAOC,SAASoH,KAAO,GACxCC,SAAUH,EAAYxH,SAAS2H,SAAW,GAC1CC,UAAWJ,EAAY5B,UAAUgC,UAAY,GAC7CC,SAAUL,EAAY5B,UAAUiC,SAAW,GAC3CC,SAAUN,GAAYO,MAAMC,oBAAoBC,qBAAqBC,UAAiB,GACtFjG,UAAW3C,KAAKC,MAChB4I,WAAYjJ,EAEf,CAEO,aAAAkJ,CAAczD,EAAeC,EAAkBW,GACrD7C,KAAKU,IAAI,sBAAuBuB,GAChCjC,KAAK2E,WAAW3C,KAAKC,EAAOC,EAAUW,EACvC,CAED,UAAM8C,CACJ1D,EACAhB,GAEA,MAAMkB,EAAqD,CACzDF,QACAhB,OACA2E,KAAM5F,KAAK6E,UACXL,eAAgBxE,KAAKD,OAAOyE,gBAG9BxE,KAAKU,IAAI,iBAAkBuB,EAAOE,GAElC,MAAMD,EAAWlC,KAAK4E,YAAY3C,GAC5BY,EAAOrD,KAAKC,UAAU0C,GAE5B,GAAyB,oBAAde,WAA6BA,UAAU2C,WAAY,CAC5D,MAAMC,EAAO,IAAIC,KAAK,CAAClD,GAAO,CAAEmD,KAAM,qBAEtC,IAEE,GADgB9C,UAAU2C,WAAW3D,EAAU4D,GAG7C,OADA9F,KAAKU,IAAI,uBACF,EAETV,KAAKU,IAAI,gEACV,CAAC,MAAOS,GACPnB,KAAKU,IAAI,iDAAkDS,EAC5D,CACF,CAED,IACE,MAAMsB,QAAiBC,MAAMR,EAAU,CACrCS,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,OACAC,WAAW,IAGb,OAAIL,EAASM,IACX/C,KAAKU,IAAI,iBAAkB+B,EAASO,SAC7B,GAGLP,EAASO,QAAU,KAA2B,MAApBP,EAASO,QAAsC,MAApBP,EAASO,QAChEhD,KAAKU,IAAI,oCAAqC+B,EAASO,QACvDhD,KAAK0F,cAAczD,EAAOC,EAAUW,IAC7B,IAGT7C,KAAKU,IAAI,8BAA+B+B,EAASO,SAC1C,EACR,CAAC,MAAO7B,GAGP,OAFAnB,KAAKU,IAAI,mCAAoCS,GAC7CnB,KAAK0F,cAAczD,EAAOC,EAAUW,IAC7B,CACR,CACF,CAED,UAAAoD,CAAWhF,GACT,OAAOjB,KAAK2F,KAAK,QAAS1E,EAC3B,CAED,WAAAiF,CAAYjF,GAOV,OAAOjB,KAAK2F,KAAK,SAAU1E,EAC5B,CAED,SAAAkF,CAAUlF,GASR,OAAOjB,KAAK2F,KAAK,OAAQ1E,EAC1B,CAED,aAAAmF,CAAcnF,GACZ,OAAOjB,KAAK2F,KAAK,WAAY1E,EAC9B,CAED,cAAAmD,GACE,OAAOpE,KAAK2E,WAAWP,gBACxB,CAED,UAAAiC,GACErG,KAAK2E,WAAWN,OACjB,QCzJUiC,EAMX,WAAAxG,CAAYC,GAHJC,KAAWuG,aAAY,EACvBvG,KAAYwG,aAAwB,KAG1CxG,KAAKD,OAAS,CACZyE,eAAgBzE,EAAOyE,eACvBC,YAAa1E,EAAO0E,aAAe,GACnCF,OAAQxE,EAAOwE,QAAU9H,EACzBgK,cAAe1G,EAAO0G,eJzBE,MI0BxBvH,WAAYa,EAAOb,YAAcxC,EACjCgK,iBAAkB3G,EAAO2G,kBJ5BG,GI6B5BpG,MAAOP,EAAOO,QAAS,EACvBqG,WAAgC,IAArB5G,EAAO4G,WAGpB3G,KAAK4G,QAAU,IAAItC,EAAQ,CACzBC,OAAQvE,KAAKD,OAAOwE,OACpBC,eAAgBxE,KAAKD,OAAOyE,eAC5BC,YAAazE,KAAKD,OAAO0E,YACzBnE,MAAON,KAAKD,OAAOO,QAGrBN,KAAK6G,mBAED7G,KAAKD,OAAO4G,WACd3G,KAAK8G,oBAGP9G,KAAK+G,gBACN,CAEO,GAAArG,IAAOC,GACTX,KAAKD,OAAOO,OACdM,QAAQF,IAAI,cAAeC,EAE9B,CAEO,cAAAoG,GACgB,oBAAXpJ,SACTA,OAAOqJ,OAAShH,KACZA,KAAKwG,eACP7I,OAAOsJ,cAAgBjH,KAAKwG,aAAapH,OAG9C,CAEO,gBAAAyH,GACN7G,KAAKwG,aAAe9G,EAAgBM,KAAKD,OAAOb,YAC5Cc,KAAKwG,cACPxG,KAAKU,IAAI,oCAAqCV,KAAKwG,aAEtD,CAEO,iBAAAM,GACN,GAAsB,oBAAXnJ,OAAwB,OAEnC,MAAMsB,EAAON,EAAYqB,KAAKD,OAAO0G,eACjCxH,GAAQA,IAASe,KAAKwG,cAAcvH,OACtCe,KAAKU,IAAI,iCAAkCzB,GAC3Ce,KAAKiG,WAAWhH,GAEnB,CAED,QAAAiI,GACE,OAAOlH,KAAKwG,cAAcpH,OAAS,IACpC,CAED,OAAA+H,GACE,OAAOnH,KAAKwG,cAAcvH,MAAQ,IACnC,CAED,eAAAS,GACE,OAAOM,KAAKwG,YACb,CAED,WAAAY,GACE,OAA6B,OAAtBpH,KAAKwG,YACb,CAED,aAAAa,GACEzH,EAAkBI,KAAKD,OAAOb,YAC9Bc,KAAKwG,aAAe,KACE,oBAAX7I,eACFA,OAAOsJ,cAEhBjH,KAAKU,IAAI,wBACV,CAED,gBAAMuF,CAAWhH,GAaf,OAZAe,KAAKwG,aAAexH,EAClBC,EACAe,KAAKD,OAAOb,WACZc,KAAKD,OAAO2G,kBAGQ,oBAAX/I,SACTA,OAAOsJ,cAAgBjH,KAAKwG,aAAapH,OAG3CY,KAAKU,IAAI,2BAA4BzB,EAAM,SAAUe,KAAKwG,aAAapH,OAEhEY,KAAK4G,QAAQX,WAAW,CAC7BhH,KAAMe,KAAKwG,aAAavH,KACxBG,MAAOY,KAAKwG,aAAapH,OAE5B,CAED,YAAMkI,CAAOrG,EAAwB,IACnC,OAAKjB,KAAKwG,cAKVxG,KAAKU,IAAI,mBAAoBO,GAEtBjB,KAAK4G,QAAQV,YAAY,CAC9BjH,KAAMe,KAAKwG,aAAavH,KACxBG,MAAOY,KAAKwG,aAAapH,MACzBmI,MAAOtG,EAAKsG,MACZC,mBAAoBvG,EAAKuG,mBACzBC,SAAUxG,EAAKwG,aAXfzH,KAAKU,IAAI,+CACF,EAYV,CAED,UAAMgH,CAAKzG,GACT,OAAKjB,KAAKwG,cAKVxG,KAAKU,IAAI,iBAAkBO,GAEpBjB,KAAK4G,QAAQT,UAAU,CAC5BlH,KAAMe,KAAKwG,aAAavH,KACxBG,MAAOY,KAAKwG,aAAapH,MACzBoI,mBAAoBvG,EAAKuG,mBACzBG,OAAQ1G,EAAK0G,OACbC,SAAU3G,EAAK2G,SACfC,SAAU5G,EAAK4G,UAAY,SAC3BJ,SAAUxG,EAAKwG,aAbfzH,KAAKU,IAAI,6CACF,EAcV,CAED,cAAMoH,GACJ,QAAK9H,KAAKwG,cAIHxG,KAAK4G,QAAQR,cAAc,CAChCnH,KAAMe,KAAKwG,aAAavH,KACxBG,MAAOY,KAAKwG,aAAapH,OAE5B,CAED,0BAAA2I,GACE,OAAO/H,KAAKwG,cAAcpH,OAAS,IACpC,CAED,iBAAA4I,GACE,OAAKhI,KAAKwG,aAIH,CACLS,cAAejH,KAAKwG,aAAapH,MACjC6I,YAAajI,KAAKwG,aAAavH,MALxB,EAOV,CAED,oBAAMiJ,CAAejJ,GACnB,MAAMkJ,EAAcnI,KAAKD,OAAO0E,YAC5B,uBAAuBzE,KAAKD,OAAO0E,wBAAwB1G,mBAAmBkB,KAC9E,uBAAuBlB,mBAAmBkB,KACxC8F,EAAM,GAAG/E,KAAKD,OAAOwE,SAAS4D,IAEpC,IACE,MAAM1F,QAAiBC,MAAMqC,EAAK,CAChCnC,QAAS,CACPwF,cAAe,UAAUpI,KAAKD,OAAOyE,oBAIzC,IAAK/B,EAASM,GAAI,CAChB,GAAwB,MAApBN,EAASO,OAEX,OADAhD,KAAKU,IAAI,mCAAoCzB,GACtC,KAET,MAAM,IAAIoJ,MAAM,uBAAuB5F,EAASO,SACjD,CAED,MAAM/B,QAAawB,EAAS6F,OAE5B,OADAtI,KAAKU,IAAI,wBAAyBO,GAC3BA,CACR,CAAC,MAAOE,GAEP,OADAnB,KAAKU,IAAI,+BAAgCS,GAClC,IACR,CACF,CAED,cAAAoH,GACE,OAAOvI,KAAKD,OAAO0E,WACpB,EAGH,IAAI+D,EAAqC,2CJ9NP,wDACJ,+HCsF5B,MAAyB,oBAAdtF,UACF,CAAEgC,UAAW,GAAIC,SAAU,GAAIC,SAAU,IAG3C,CACLF,UAAWhC,UAAUgC,WAAa,GAClCC,SAAUjC,UAAUiC,UAAY,GAChCC,SAAUC,MAAMC,oBAAoBC,qBAAqBC,UAAY,GAEzE,yBGsIE,OAAOgD,CACT,yCHhIE,MAAsB,oBAAX7K,QAA8C,oBAAbL,SACnC,CAAEyH,IAAK,GAAIE,SAAU,GAAIwD,MAAO,IAGlC,CACL1D,IAAKpH,OAAOC,SAASoH,KACrBC,SAAU3H,SAAS2H,UAAY,GAC/BwD,MAAOnL,SAASmL,OAAS,GAE7B,6CGgHM,SAAe1I,GAEnB,OADAyI,EAAgB,IAAIlC,EAAavG,GAC1ByI,CACT"}
@@ -1,2 +1,2 @@
1
- var Blossu=function(e){"use strict";const r="0.1.0",t="https://api.blossu.com",n="blossu_ref";function o(){return`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}function i(e,r,t){if("undefined"==typeof document)return;const n=new Date;n.setTime(n.getTime()+24*t*60*60*1e3);const o="https:"===window.location.protocol?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(r)}; expires=${n.toUTCString()}; path=/; SameSite=Lax${o}`}function a(e){if("undefined"==typeof document)return null;const r=`${e}=`,t=document.cookie.split(";");for(let e=0;e<t.length;e++){let n=t[e];for(;" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(r))return decodeURIComponent(n.substring(r.length,n.length))}return null}function s(e){"undefined"!=typeof document&&(document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}function f(e){if("undefined"==typeof window)return null;return new URLSearchParams(window.location.search).get(e)}function l(e,r=n,t=30){const a=o(),s={code:e.toLowerCase(),refId:a,timestamp:Date.now()};return i(r,JSON.stringify(s),t),s}function c(e=n){const r=a(e);if(!r)return null;try{return JSON.parse(r)}catch{return null}}function u(e=n){s(e)}class d{constructor(e){this.config={apiUrl:e.apiUrl||t,programSlug:e.programSlug,debug:e.debug||!1}}log(...e){this.config.debug&&console.log("[Blossu]",...e)}getEndpoint(e){return`${this.config.apiUrl}/v1/track/${e}`}getMeta(){const e="undefined"!=typeof window;return{url:e?window.location.href:"",referrer:e?document.referrer:"",userAgent:e?navigator.userAgent:"",language:e?navigator.language:"",timezone:e&&Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||"",timestamp:Date.now(),sdkVersion:r}}async send(e,r){const t={event:e,data:r,meta:this.getMeta()};this.log("Sending event:",e,t);const n=this.getEndpoint(e),o=JSON.stringify(t);if("undefined"!=typeof navigator&&navigator.sendBeacon){const e=new Blob([o],{type:"application/json"});try{const r=navigator.sendBeacon(n,e);return this.log("sendBeacon result:",r),r}catch(e){this.log("sendBeacon failed, falling back to fetch:",e)}}try{const e=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:o,keepalive:!0});return this.log("fetch response:",e.status),e.ok}catch(e){return this.log("fetch error:",e),!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)}}class g{constructor(e){this.initialized=!1,this.referralInfo=null,this.config={programSlug:e.programSlug,apiUrl:e.apiUrl||t,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||n,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack},this.tracker=new d({apiUrl:this.config.apiUrl,programSlug:this.config.programSlug,debug:this.config.debug}),this.loadReferralInfo(),this.config.autoTrack&&this.autoTrackReferral(),this.exposeToWindow()}log(...e){this.config.debug&&console.log("[Blossu]",...e)}exposeToWindow(){"undefined"!=typeof window&&(window.blossu=this,this.referralInfo&&(window.blossu_ref_id=this.referralInfo.refId))}loadReferralInfo(){this.referralInfo=c(this.config.cookieName),this.referralInfo&&this.log("Loaded referral info from cookie:",this.referralInfo)}autoTrackReferral(){if("undefined"==typeof window)return;const e=f(this.config.trackingParam);e&&e!==this.referralInfo?.code&&(this.log("Detected referral code in URL:",e),this.trackClick(e))}getRefId(){return this.referralInfo?.refId||null}getCode(){return this.referralInfo?.code||null}getReferralInfo(){return this.referralInfo}hasReferral(){return null!==this.referralInfo}clearReferral(){u(this.config.cookieName),this.referralInfo=null,"undefined"!=typeof window&&delete window.blossu_ref_id,this.log("Cleared referral info")}async trackClick(e){return this.referralInfo=l(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.log("Tracking click for code:",e,"refId:",this.referralInfo.refId),this.tracker.trackClick({code:this.referralInfo.code,refId:this.referralInfo.refId})}async signup(e={}){return this.referralInfo?(this.log("Tracking signup:",e),this.tracker.trackSignup({code:this.referralInfo.code,refId:this.referralInfo.refId,email:e.email,externalCustomerId:e.externalCustomerId,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,externalCustomerId:e.externalCustomerId,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 r=`${this.config.apiUrl}/v1/public/programs/${this.config.programSlug}/referral/${encodeURIComponent(e)}`;try{const t=await fetch(r);if(!t.ok){if(404===t.status)return this.log("Partner info not found for code:",e),null;throw new Error(`HTTP error! status: ${t.status}`)}const n=await t.json();return this.log("Fetched partner info:",n),n}catch(e){return this.log("Error fetching partner info:",e),null}}getProgramSlug(){return this.config.programSlug}}let h=null;return e.BlossuClient=g,e.COOKIE_EXPIRY_DAYS=30,e.COOKIE_NAME=n,e.DEFAULT_API_URL=t,e.TRACKING_PARAM="ref",e.Tracker=d,e.VERSION=r,e.clearReferralInfo=u,e.default=g,e.deleteCookie=s,e.generateRefId=o,e.getBrowserInfo=function(){return"undefined"==typeof navigator?{userAgent:"",language:"",timezone:""}:{userAgent:navigator.userAgent||"",language:navigator.language||"",timezone:Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||""}},e.getClient=function(){return h},e.getCookie=a,e.getPageInfo=function(){return"undefined"==typeof window||"undefined"==typeof document?{url:"",referrer:"",title:""}:{url:window.location.href,referrer:document.referrer||"",title:document.title||""}},e.getReferralInfo=c,e.getUrlParam=f,e.init=function(e){return h=new g(e),h},e.saveReferralInfo=l,e.setCookie=i,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
1
+ var Blossu=function(e){"use strict";const t="0.1.0",r="https://api.blossu.com",n="blossu_ref";function i(){return`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`}function o(e,t,r){if("undefined"==typeof document)return;const n=new Date;n.setTime(n.getTime()+24*r*60*60*1e3);const i="https:"===window.location.protocol?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}; expires=${n.toUTCString()}; path=/; SameSite=Lax${i}`}function s(e){if("undefined"==typeof document)return null;const t=`${e}=`,r=document.cookie.split(";");for(let e=0;e<r.length;e++){let n=r[e];for(;" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(t))return decodeURIComponent(n.substring(t.length,n.length))}return null}function a(e){"undefined"!=typeof document&&(document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}function u(e){if("undefined"==typeof window)return null;return new URLSearchParams(window.location.search).get(e)}function l(e,t=n,r=30){const s=i(),a={code:e.toLowerCase(),refId:s,timestamp:Date.now()};return o(t,JSON.stringify(a),r),a}function c(e=n){const t=s(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function f(e=n){a(e)}class g{constructor(e){this.processing=!1,this.timer=null,this.name=`blossu_queue_${e.name||"default"}`,this.maxAttempts=e.maxAttempts||10,this.baseDelay=e.baseDelay||1e3,this.maxDelay=e.maxDelay||3e4,this.debug=e.debug||!1,this.startProcessing(),"undefined"!=typeof window&&(window.addEventListener("online",(()=>this.startProcessing())),document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&this.startProcessing()})))}log(...e){this.debug&&console.log("[Blossu:Queue]",...e)}getStorageKey(){return this.name}generateId(){return`${Date.now()}_${Math.random().toString(36).substring(2,9)}`}getQueue(){if("undefined"==typeof localStorage)return[];try{const e=localStorage.getItem(this.getStorageKey());return e?JSON.parse(e):[]}catch(e){return this.log("Error reading queue:",e),[]}}saveQueue(e){if("undefined"!=typeof localStorage)try{0===e.length?localStorage.removeItem(this.getStorageKey()):localStorage.setItem(this.getStorageKey(),JSON.stringify(e))}catch(e){this.log("Error saving queue:",e)}}calculateBackoff(e){const t=this.baseDelay*Math.pow(2,e-1),r=.3*Math.random()*t,n=Math.min(t+r,this.maxDelay);return Math.round(n)}push(e,t,r){const n=this.getQueue(),i={id:this.generateId(),event:e,endpoint:t,payload:r,attemptNumber:0,maxAttempts:this.maxAttempts,createdAt:Date.now(),nextRetryAt:Date.now()};n.push(i),this.saveQueue(n),this.log("Added to queue:",i.id,e),this.startProcessing()}async processItem(e){this.log("Processing item:",e.id,"attempt:",e.attemptNumber+1);try{const t=await fetch(e.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:e.payload,keepalive:!0});return t.ok?(this.log("Successfully sent:",e.id),!0):t.status>=400&&t.status<500&&408!==t.status&&429!==t.status?(this.log("Client error, not retrying:",e.id,t.status),!0):(this.log("Server error, will retry:",e.id,t.status),!1)}catch(t){return this.log("Network error, will retry:",e.id,t),!1}}async processQueue(){if(!this.processing)if("undefined"==typeof navigator||navigator.onLine){this.processing=!0;try{const e=this.getQueue();if(0===e.length)return void(this.processing=!1);const t=Date.now(),r=e.filter((e=>e.nextRetryAt<=t));if(0===r.length){const r=e.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),n=Math.max(0,r.nextRetryAt-t);return this.scheduleProcessing(n),void(this.processing=!1)}for(const e of r){e.attemptNumber++;const t=await this.processItem(e),r=this.getQueue(),n=r.findIndex((t=>t.id===e.id));if(-1!==n)if(t)r.splice(n,1),this.saveQueue(r);else if(e.attemptNumber>=e.maxAttempts)this.log("Max attempts reached, dropping:",e.id),r.splice(n,1),this.saveQueue(r);else{const t=this.calculateBackoff(e.attemptNumber);r[n].attemptNumber=e.attemptNumber,r[n].nextRetryAt=Date.now()+t,this.saveQueue(r),this.log("Scheduled retry in",t,"ms for:",e.id)}}const n=this.getQueue();if(n.length>0){const e=n.reduce(((e,t)=>t.nextRetryAt<e.nextRetryAt?t:e)),t=Math.max(0,e.nextRetryAt-Date.now());this.scheduleProcessing(t)}}finally{this.processing=!1}}else this.log("Offline, skipping processing")}scheduleProcessing(e){this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>this.processQueue()),e)}startProcessing(){this.scheduleProcessing(0)}getQueueLength(){return this.getQueue().length}clear(){this.saveQueue([]),this.timer&&(clearTimeout(this.timer),this.timer=null)}}class h{constructor(e){this.config={apiUrl:e.apiUrl||r,publishableKey:e.publishableKey,programSlug:e.programSlug,debug:e.debug||!1,maxRetries:e.maxRetries},this.retryQueue=new g({name:e.programSlug,maxAttempts:e.maxRetries||10,debug:e.debug||!1})}log(...e){this.config.debug&&console.log("[Blossu]",...e)}getEndpoint(e){return`${this.config.apiUrl}/v1/track/${e}`}getMeta(){const e="undefined"!=typeof window;return{url:e?window.location.href:"",referrer:e?document.referrer:"",userAgent:e?navigator.userAgent:"",language:e?navigator.language:"",timezone:e&&Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||"",timestamp:Date.now(),sdkVersion:t}}queueForRetry(e,t,r){this.log("Queueing for retry:",e),this.retryQueue.push(e,t,r)}async send(e,t){const r={event:e,data:t,meta:this.getMeta(),publishableKey:this.config.publishableKey};this.log("Sending event:",e,r);const n=this.getEndpoint(e),i=JSON.stringify(r);if("undefined"!=typeof navigator&&navigator.sendBeacon){const e=new Blob([i],{type:"application/json"});try{if(navigator.sendBeacon(n,e))return this.log("sendBeacon success"),!0;this.log("sendBeacon returned false (queue full), falling back to fetch")}catch(e){this.log("sendBeacon threw error, falling back to fetch:",e)}}try{const t=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:i,keepalive:!0});return t.ok?(this.log("fetch success:",t.status),!0):t.status>=500||408===t.status||429===t.status?(this.log("Server error, queueing for retry:",t.status),this.queueForRetry(e,n,i),!1):(this.log("Client error, not retrying:",t.status),!1)}catch(t){return this.log("fetch error, queueing for retry:",t),this.queueForRetry(e,n,i),!1}}trackClick(e){return this.send("click",e)}trackSignup(e){return this.send("signup",e)}trackSale(e){return this.send("sale",e)}trackPageview(e){return this.send("pageview",e)}getQueueLength(){return this.retryQueue.getQueueLength()}clearQueue(){this.retryQueue.clear()}}class d{constructor(e){this.initialized=!1,this.referralInfo=null,this.config={publishableKey:e.publishableKey,programSlug:e.programSlug||"",apiUrl:e.apiUrl||r,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||n,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack},this.tracker=new h({apiUrl:this.config.apiUrl,publishableKey:this.config.publishableKey,programSlug:this.config.programSlug,debug:this.config.debug}),this.loadReferralInfo(),this.config.autoTrack&&this.autoTrackReferral(),this.exposeToWindow()}log(...e){this.config.debug&&console.log("[Blossu]",...e)}exposeToWindow(){"undefined"!=typeof window&&(window.blossu=this,this.referralInfo&&(window.blossu_ref_id=this.referralInfo.refId))}loadReferralInfo(){this.referralInfo=c(this.config.cookieName),this.referralInfo&&this.log("Loaded referral info from cookie:",this.referralInfo)}autoTrackReferral(){if("undefined"==typeof window)return;const e=u(this.config.trackingParam);e&&e!==this.referralInfo?.code&&(this.log("Detected referral code in URL:",e),this.trackClick(e))}getRefId(){return this.referralInfo?.refId||null}getCode(){return this.referralInfo?.code||null}getReferralInfo(){return this.referralInfo}hasReferral(){return null!==this.referralInfo}clearReferral(){f(this.config.cookieName),this.referralInfo=null,"undefined"!=typeof window&&delete window.blossu_ref_id,this.log("Cleared referral info")}async trackClick(e){return this.referralInfo=l(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.log("Tracking click for code:",e,"refId:",this.referralInfo.refId),this.tracker.trackClick({code:this.referralInfo.code,refId:this.referralInfo.refId})}async signup(e={}){return this.referralInfo?(this.log("Tracking signup:",e),this.tracker.trackSignup({code:this.referralInfo.code,refId:this.referralInfo.refId,email:e.email,customerExternalId:e.customerExternalId,metadata:e.metadata})):(this.log("No referral info, skipping signup tracking"),!1)}async sale(e){return this.referralInfo?(this.log("Tracking sale:",e),this.tracker.trackSale({code:this.referralInfo.code,refId:this.referralInfo.refId,customerExternalId:e.customerExternalId,amount:e.amount,currency:e.currency,provider:e.provider||"custom",metadata:e.metadata})):(this.log("No referral info, skipping sale tracking"),!1)}async pageview(){return!!this.referralInfo&&this.tracker.trackPageview({code:this.referralInfo.code,refId:this.referralInfo.refId})}getStripeClientReferenceId(){return this.referralInfo?.refId||null}getStripeMetadata(){return this.referralInfo?{blossu_ref_id:this.referralInfo.refId,blossu_code:this.referralInfo.code}:{}}async getPartnerInfo(e){const t=this.config.programSlug?`/v1/public/programs/${this.config.programSlug}/referral/${encodeURIComponent(e)}`:`/v1/public/referral/${encodeURIComponent(e)}`,r=`${this.config.apiUrl}${t}`;try{const t=await fetch(r,{headers:{Authorization:`Bearer ${this.config.publishableKey}`}});if(!t.ok){if(404===t.status)return this.log("Partner info not found for code:",e),null;throw new Error(`HTTP error! status: ${t.status}`)}const n=await t.json();return this.log("Fetched partner info:",n),n}catch(e){return this.log("Error fetching partner info:",e),null}}getProgramSlug(){return this.config.programSlug}}let p=null;return e.BlossuClient=d,e.COOKIE_EXPIRY_DAYS=30,e.COOKIE_NAME=n,e.DEFAULT_API_URL=r,e.TRACKING_PARAM="ref",e.Tracker=h,e.VERSION=t,e.clearReferralInfo=f,e.default=d,e.deleteCookie=a,e.generateRefId=i,e.getBrowserInfo=function(){return"undefined"==typeof navigator?{userAgent:"",language:"",timezone:""}:{userAgent:navigator.userAgent||"",language:navigator.language||"",timezone:Intl?.DateTimeFormat?.()?.resolvedOptions?.()?.timeZone||""}},e.getClient=function(){return p},e.getCookie=s,e.getPageInfo=function(){return"undefined"==typeof window||"undefined"==typeof document?{url:"",referrer:"",title:""}:{url:window.location.href,referrer:document.referrer||"",title:document.title||""}},e.getReferralInfo=c,e.getUrlParam=u,e.init=function(e){return p=new d(e),p},e.saveReferralInfo=l,e.setCookie=o,Object.defineProperty(e,"__esModule",{value:!0}),e}({});
2
2
  //# sourceMappingURL=blossu.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blossu.min.js","sources":["../src/constants.ts","../src/utils.ts","../src/tracker.ts","../src/blossu.ts"],"sourcesContent":[null,null,null,null],"names":["VERSION","DEFAULT_API_URL","COOKIE_NAME","generateRefId","Date","now","toString","Math","random","substring","setCookie","name","value","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","getCookie","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","deleteCookie","getUrlParam","param","URLSearchParams","search","get","saveReferralInfo","code","cookieName","expiryDays","refId","info","toLowerCase","timestamp","JSON","stringify","getReferralInfo","parse","clearReferralInfo","Tracker","constructor","config","this","apiUrl","programSlug","debug","log","args","console","getEndpoint","event","getMeta","isBrowser","url","href","referrer","userAgent","navigator","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","sdkVersion","send","data","payload","meta","endpoint","body","sendBeacon","blob","Blob","type","success","error","response","fetch","method","headers","keepalive","status","ok","trackClick","trackSignup","trackSale","trackPageview","BlossuClient","initialized","referralInfo","trackingParam","cookieExpiryDays","autoTrack","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","blossu_ref_id","getRefId","getCode","hasReferral","clearReferral","signup","email","externalCustomerId","metadata","sale","amount","currency","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","Error","json","getProgramSlug","defaultClient","title"],"mappings":"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"}
1
+ {"version":3,"file":"blossu.min.js","sources":["../src/constants.ts","../src/utils.ts","../src/retry-queue.ts","../src/tracker.ts","../src/blossu.ts"],"sourcesContent":[null,null,null,null,null],"names":["VERSION","DEFAULT_API_URL","COOKIE_NAME","generateRefId","Date","now","toString","Math","random","substring","setCookie","name","value","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","getCookie","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","deleteCookie","getUrlParam","param","URLSearchParams","search","get","saveReferralInfo","code","cookieName","expiryDays","refId","info","toLowerCase","timestamp","JSON","stringify","getReferralInfo","parse","clearReferralInfo","RetryQueue","constructor","config","this","processing","timer","maxAttempts","baseDelay","maxDelay","debug","startProcessing","addEventListener","visibilityState","log","args","console","getStorageKey","generateId","getQueue","localStorage","data","getItem","error","saveQueue","queue","removeItem","setItem","calculateBackoff","attemptNumber","exponentialDelay","pow","jitter","delay","min","round","push","event","endpoint","payload","item","id","createdAt","nextRetryAt","processItem","response","fetch","method","headers","body","keepalive","ok","status","processQueue","navigator","onLine","readyItems","filter","nextItem","reduce","max","scheduleProcessing","success","currentQueue","index","findIndex","q","splice","backoff","remainingQueue","clearTimeout","setTimeout","getQueueLength","clear","Tracker","apiUrl","publishableKey","programSlug","maxRetries","retryQueue","getEndpoint","getMeta","isBrowser","url","href","referrer","userAgent","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","sdkVersion","queueForRetry","send","meta","sendBeacon","blob","Blob","type","trackClick","trackSignup","trackSale","trackPageview","clearQueue","BlossuClient","initialized","referralInfo","trackingParam","cookieExpiryDays","autoTrack","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","blossu_ref_id","getRefId","getCode","hasReferral","clearReferral","signup","email","customerExternalId","metadata","sale","amount","currency","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","programPath","Authorization","Error","json","getProgramSlug","defaultClient","title"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { AnalyticsProps } from './types';
2
- export declare function Analytics({ publicKey, apiUrl, trackingParam, cookieExpiryDays, debug, children, }: AnalyticsProps): string | number | true | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null;
2
+ export declare function Analytics({ publicKey, programSlug, apiUrl, trackingParam, cookieExpiryDays, debug, children, }: AnalyticsProps): string | number | true | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null;
3
3
  //# sourceMappingURL=Analytics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Analytics.d.ts","sourceRoot":"","sources":["../../src/react/Analytics.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,KAAa,EACb,QAAQ,GACT,EAAE,cAAc,gKAehB"}
1
+ {"version":3,"file":"Analytics.d.ts","sourceRoot":"","sources":["../../src/react/Analytics.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,WAAW,EACX,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,KAAa,EACb,QAAQ,GACT,EAAE,cAAc,gKAgBhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"blossu.d.ts","sourceRoot":"","sources":["../../src/blossu.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,aAAa,EACb,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAKjB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,YAAY,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB;CACF;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,YAAY,CAA6B;gBAErC,MAAM,EAAE,YAAY;IA0BhC,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,iBAAiB;IAUzB,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB,eAAe,IAAI,YAAY,GAAG,IAAI;IAItC,WAAW,IAAI,OAAO;IAItB,aAAa,IAAI,IAAI;IASf,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB1C,MAAM,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBpD,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB3C,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAWlC,0BAA0B,IAAI,MAAM,GAAG,IAAI;IAI3C,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAWrC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAuBtE,cAAc,IAAI,MAAM;CAGzB;AAID,wBAAgB,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAGvD;AAED,wBAAgB,SAAS,IAAI,YAAY,GAAG,IAAI,CAE/C"}
1
+ {"version":3,"file":"blossu.d.ts","sourceRoot":"","sources":["../../src/blossu.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,aAAa,EACb,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAKjB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,YAAY,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB;CACF;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,YAAY,CAA6B;gBAErC,MAAM,EAAE,YAAY;IA4BhC,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,iBAAiB;IAUzB,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB,eAAe,IAAI,YAAY,GAAG,IAAI;IAItC,WAAW,IAAI,OAAO;IAItB,aAAa,IAAI,IAAI;IASf,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB1C,MAAM,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBpD,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB3C,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAWlC,0BAA0B,IAAI,MAAM,GAAG,IAAI;IAI3C,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAWrC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IA8BtE,cAAc,IAAI,MAAM;CAGzB;AAID,wBAAgB,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAGvD;AAED,wBAAgB,SAAS,IAAI,YAAY,GAAG,IAAI,CAE/C"}