@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 +44 -66
- package/dist/blossu.d.ts.map +1 -1
- package/dist/blossu.esm.js +1 -1
- package/dist/blossu.esm.js.map +1 -1
- package/dist/blossu.js +1 -1
- package/dist/blossu.js.map +1 -1
- package/dist/blossu.min.js +1 -1
- package/dist/blossu.min.js.map +1 -1
- package/dist/react/Analytics.d.ts +1 -1
- package/dist/react/Analytics.d.ts.map +1 -1
- package/dist/react/blossu.d.ts.map +1 -1
- package/dist/react/index.esm.js +1 -1
- package/dist/react/index.esm.js.map +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react/react/Analytics.d.ts +1 -1
- package/dist/react/react/Analytics.d.ts.map +1 -1
- package/dist/react/react/types.d.ts +1 -0
- package/dist/react/react/types.d.ts.map +1 -1
- package/dist/react/retry-queue.d.ts +41 -0
- package/dist/react/retry-queue.d.ts.map +1 -0
- package/dist/react/tracker.d.ts +12 -6
- package/dist/react/tracker.d.ts.map +1 -1
- package/dist/react/types.d.ts +4 -3
- package/dist/react/types.d.ts.map +1 -1
- package/dist/retry-queue.d.ts +41 -0
- package/dist/retry-queue.d.ts.map +1 -0
- package/dist/tracker.d.ts +12 -6
- package/dist/tracker.d.ts.map +1 -1
- package/dist/types.d.ts +4 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
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
|
|
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
|
-
|
|
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
|
|
40
|
+
import { init } from '@blossu/ui';
|
|
41
41
|
|
|
42
42
|
init({
|
|
43
|
-
|
|
44
|
-
trackingParam:
|
|
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
|
|
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:
|
|
61
|
-
|
|
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
|
-
|
|
71
|
+
customerExternalId: 'user_123',
|
|
72
72
|
amount: 9900, // $99.00 in cents
|
|
73
|
-
currency:
|
|
74
|
-
provider:
|
|
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
|
|
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
|
|
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(
|
|
105
|
-
console.log(
|
|
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(
|
|
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
|
|
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
|
|
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
|
|
190
|
+
import { usePartner } from '@blossu/ui/react';
|
|
191
191
|
|
|
192
192
|
function CustomReferralUI() {
|
|
193
|
-
const {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
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(
|
|
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
|
|
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
|
|
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
|
|
288
|
-
import { NextResponse } from
|
|
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(
|
|
282
|
+
.createHmac('sha256', process.env.BLOSSU_SECRET_KEY!)
|
|
295
283
|
.update(user.email)
|
|
296
|
-
.digest(
|
|
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(
|
|
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:
|
|
356
|
+
apiKey: 'your-api-key',
|
|
375
357
|
});
|
|
376
358
|
|
|
377
359
|
// Later...
|
|
378
360
|
if (window.blossu.hasReferral()) {
|
|
379
|
-
console.log(
|
|
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
|
-
|
|
371
|
+
publishableKey: 'pk_your_publishable_key', // Get from Blossu dashboard
|
|
390
372
|
|
|
391
373
|
// Optional
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
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
|
package/dist/blossu.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/blossu.esm.js
CHANGED
|
@@ -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
|
package/dist/blossu.esm.js.map
CHANGED
|
@@ -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
|
package/dist/blossu.js.map
CHANGED
|
@@ -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":"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,OC7DaW,EAGX,WAAAC,CAAYC,GACVC,KAAKD,OAAS,CACZE,OAAQF,EAAOE,QAAUxD,EACzByD,YAAaH,EAAOG,YACpBC,MAAOJ,EAAOI,QAAS,EAE1B,CAEO,GAAAC,IAAOC,GACTL,KAAKD,OAAOI,OACdG,QAAQF,IAAI,cAAeC,EAE9B,CAEO,WAAAE,CAAYC,GAClB,MAAO,GAAGR,KAAKD,OAAOE,mBAAmBO,GAC1C,CAEO,OAAAC,GACN,MAAMC,EAA8B,oBAAX/C,OAEzB,MAAO,CACLgD,IAAKD,EAAY/C,OAAOC,SAASgD,KAAO,GACxCC,SAAUH,EAAYpD,SAASuD,SAAW,GAC1CC,UAAWJ,EAAYK,UAAUD,UAAY,GAC7CE,SAAUN,EAAYK,UAAUC,SAAW,GAC3CC,SAAUP,GACNQ,MAAMC,oBAAoBC,qBAAqBC,UAC/C,GACJ9B,UAAW3C,KAAKC,MAChByE,WAAY9E,EAEf,CAED,UAAM+E,CACJf,EACAgB,GAEA,MAAMC,EAAwB,CAC5BjB,QACAgB,OACAE,KAAM1B,KAAKS,WAGbT,KAAKI,IAAI,iBAAkBI,EAAOiB,GAElC,MAAME,EAAW3B,KAAKO,YAAYC,GAC5BoB,EAAOpC,KAAKC,UAAUgC,GAE5B,GAAyB,oBAAdV,WAA6BA,UAAUc,WAAY,CAC5D,MAAMC,EAAO,IAAIC,KAAK,CAACH,GAAO,CAAEI,KAAM,qBAEtC,IACE,MAAMC,EAAUlB,UAAUc,WAAWF,EAAUG,GAE/C,OADA9B,KAAKI,IAAI,qBAAsB6B,GACxBA,CACR,CAAC,MAAOC,GACPlC,KAAKI,IAAI,4CAA6C8B,EACvD,CACF,CAED,IACE,MAAMC,QAAiBC,MAAMT,EAAU,CACrCU,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBV,OACAW,WAAW,IAIb,OADAvC,KAAKI,IAAI,kBAAmB+B,EAASK,QAC9BL,EAASM,EACjB,CAAC,MAAOP,GAEP,OADAlC,KAAKI,IAAI,eAAgB8B,IAClB,CACR,CACF,CAED,UAAAQ,CAAWlB,GACT,OAAOxB,KAAKuB,KAAK,QAASC,EAC3B,CAED,WAAAmB,CAAYnB,GAOV,OAAOxB,KAAKuB,KAAK,SAAUC,EAC5B,CAED,SAAAoB,CAAUpB,GASR,OAAOxB,KAAKuB,KAAK,OAAQC,EAC1B,CAED,aAAAqB,CAAcrB,GACZ,OAAOxB,KAAKuB,KAAK,WAAYC,EAC9B,QClHUsB,EAMX,WAAAhD,CAAYC,GAHJC,KAAW+C,aAAY,EACvB/C,KAAYgD,aAAwB,KAG1ChD,KAAKD,OAAS,CACZG,YAAaH,EAAOG,YACpBD,OAAQF,EAAOE,QAAUxD,EACzBwG,cAAelD,EAAOkD,eHxBE,MGyBxB/D,WAAYa,EAAOb,YAAcxC,EACjCwG,iBAAkBnD,EAAOmD,kBH3BG,GG4B5B/C,MAAOJ,EAAOI,QAAS,EACvBgD,WAAgC,IAArBpD,EAAOoD,WAGpBnD,KAAKoD,QAAU,IAAIvD,EAAQ,CACzBI,OAAQD,KAAKD,OAAOE,OACpBC,YAAaF,KAAKD,OAAOG,YACzBC,MAAOH,KAAKD,OAAOI,QAGrBH,KAAKqD,mBAEDrD,KAAKD,OAAOoD,WACdnD,KAAKsD,oBAGPtD,KAAKuD,gBACN,CAEO,GAAAnD,IAAOC,GACTL,KAAKD,OAAOI,OACdG,QAAQF,IAAI,cAAeC,EAE9B,CAEO,cAAAkD,GACgB,oBAAX5F,SACTA,OAAO6F,OAASxD,KACZA,KAAKgD,eACPrF,OAAO8F,cAAgBzD,KAAKgD,aAAa5D,OAG9C,CAEO,gBAAAiE,GACNrD,KAAKgD,aAAetD,EAAgBM,KAAKD,OAAOb,YAC5Cc,KAAKgD,cACPhD,KAAKI,IAAI,oCAAqCJ,KAAKgD,aAEtD,CAEO,iBAAAM,GACN,GAAsB,oBAAX3F,OAAwB,OAEnC,MAAMsB,EAAON,EAAYqB,KAAKD,OAAOkD,eACjChE,GAAQA,IAASe,KAAKgD,cAAc/D,OACtCe,KAAKI,IAAI,iCAAkCnB,GAC3Ce,KAAK0C,WAAWzD,GAEnB,CAED,QAAAyE,GACE,OAAO1D,KAAKgD,cAAc5D,OAAS,IACpC,CAED,OAAAuE,GACE,OAAO3D,KAAKgD,cAAc/D,MAAQ,IACnC,CAED,eAAAS,GACE,OAAOM,KAAKgD,YACb,CAED,WAAAY,GACE,OAA6B,OAAtB5D,KAAKgD,YACb,CAED,aAAAa,GACEjE,EAAkBI,KAAKD,OAAOb,YAC9Bc,KAAKgD,aAAe,KACE,oBAAXrF,eACFA,OAAO8F,cAEhBzD,KAAKI,IAAI,wBACV,CAED,gBAAMsC,CAAWzD,GAaf,OAZAe,KAAKgD,aAAehE,EAClBC,EACAe,KAAKD,OAAOb,WACZc,KAAKD,OAAOmD,kBAGQ,oBAAXvF,SACTA,OAAO8F,cAAgBzD,KAAKgD,aAAa5D,OAG3CY,KAAKI,IAAI,2BAA4BnB,EAAM,SAAUe,KAAKgD,aAAa5D,OAEhEY,KAAKoD,QAAQV,WAAW,CAC7BzD,KAAMe,KAAKgD,aAAa/D,KACxBG,MAAOY,KAAKgD,aAAa5D,OAE5B,CAED,YAAM0E,CAAOtC,EAAwB,IACnC,OAAKxB,KAAKgD,cAKVhD,KAAKI,IAAI,mBAAoBoB,GAEtBxB,KAAKoD,QAAQT,YAAY,CAC9B1D,KAAMe,KAAKgD,aAAa/D,KACxBG,MAAOY,KAAKgD,aAAa5D,MACzB2E,MAAOvC,EAAKuC,MACZC,mBAAoBxC,EAAKwC,mBACzBC,SAAUzC,EAAKyC,aAXfjE,KAAKI,IAAI,+CACF,EAYV,CAED,UAAM8D,CAAK1C,GACT,OAAKxB,KAAKgD,cAKVhD,KAAKI,IAAI,iBAAkBoB,GAEpBxB,KAAKoD,QAAQR,UAAU,CAC5B3D,KAAMe,KAAKgD,aAAa/D,KACxBG,MAAOY,KAAKgD,aAAa5D,MACzB4E,mBAAoBxC,EAAKwC,mBACzBG,OAAQ3C,EAAK2C,OACbC,SAAU5C,EAAK4C,SACfC,SAAU7C,EAAK6C,UAAY,SAC3BJ,SAAUzC,EAAKyC,aAbfjE,KAAKI,IAAI,6CACF,EAcV,CAED,cAAMkE,GACJ,QAAKtE,KAAKgD,cAIHhD,KAAKoD,QAAQP,cAAc,CAChC5D,KAAMe,KAAKgD,aAAa/D,KACxBG,MAAOY,KAAKgD,aAAa5D,OAE5B,CAED,0BAAAmF,GACE,OAAOvE,KAAKgD,cAAc5D,OAAS,IACpC,CAED,iBAAAoF,GACE,OAAKxE,KAAKgD,aAIH,CACLS,cAAezD,KAAKgD,aAAa5D,MACjCqF,YAAazE,KAAKgD,aAAa/D,MALxB,EAOV,CAED,oBAAMyF,CAAezF,GACnB,MAAM0B,EAAM,GAAGX,KAAKD,OAAOE,6BAA6BD,KAAKD,OAAOG,wBAAwBnC,mBAAmBkB,KAE/G,IACE,MAAMkD,QAAiBC,MAAMzB,GAE7B,IAAKwB,EAASM,GAAI,CAChB,GAAwB,MAApBN,EAASK,OAEX,OADAxC,KAAKI,IAAI,mCAAoCnB,GACtC,KAET,MAAM,IAAI0F,MAAM,uBAAuBxC,EAASK,SACjD,CAED,MAAMhB,QAAaW,EAASyC,OAE5B,OADA5E,KAAKI,IAAI,wBAAyBoB,GAC3BA,CACR,CAAC,MAAOU,GAEP,OADAlC,KAAKI,IAAI,+BAAgC8B,GAClC,IACR,CACF,CAED,cAAA2C,GACE,OAAO7E,KAAKD,OAAOG,WACpB,EAGH,IAAI4E,EAAqC,2CHrNP,wDACJ,+HCsF5B,MAAyB,oBAAd/D,UACF,CAAED,UAAW,GAAIE,SAAU,GAAIC,SAAU,IAG3C,CACLH,UAAWC,UAAUD,WAAa,GAClCE,SAAUD,UAAUC,UAAY,GAChCC,SAAUC,MAAMC,oBAAoBC,qBAAqBC,UAAY,GAEzE,yBE6HE,OAAOyD,CACT,yCFvHE,MAAsB,oBAAXnH,QAA8C,oBAAbL,SACnC,CAAEqD,IAAK,GAAIE,SAAU,GAAIkE,MAAO,IAGlC,CACLpE,IAAKhD,OAAOC,SAASgD,KACrBC,SAAUvD,SAASuD,UAAY,GAC/BkE,MAAOzH,SAASyH,OAAS,GAE7B,6CEuGM,SAAehF,GAEnB,OADA+E,EAAgB,IAAIhC,EAAa/C,GAC1B+E,CACT"}
|
|
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"}
|
package/dist/blossu.min.js
CHANGED
|
@@ -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
|
package/dist/blossu.min.js.map
CHANGED
|
@@ -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,
|
|
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;
|
|
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"}
|