@blossu/ui 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +460 -0
- package/dist/blossu.d.ts +34 -0
- package/dist/blossu.d.ts.map +1 -0
- package/dist/blossu.esm.js +2 -0
- package/dist/blossu.esm.js.map +1 -0
- package/dist/blossu.js +2 -0
- package/dist/blossu.js.map +1 -0
- package/dist/blossu.min.js +2 -0
- package/dist/blossu.min.js.map +1 -0
- package/dist/constants.d.ts +6 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.react.d.ts +4 -0
- package/dist/index.react.d.ts.map +1 -0
- package/dist/react/Analytics.d.ts +3 -0
- package/dist/react/Analytics.d.ts.map +1 -0
- package/dist/react/Loader.d.ts +8 -0
- package/dist/react/Loader.d.ts.map +1 -0
- package/dist/react/ReferralLink.d.ts +4 -0
- package/dist/react/ReferralLink.d.ts.map +1 -0
- package/dist/react/ReferralStats.d.ts +4 -0
- package/dist/react/ReferralStats.d.ts.map +1 -0
- package/dist/react/ReferralWidget.d.ts +4 -0
- package/dist/react/ReferralWidget.d.ts.map +1 -0
- package/dist/react/blossu.d.ts +34 -0
- package/dist/react/blossu.d.ts.map +1 -0
- package/dist/react/constants.d.ts +6 -0
- package/dist/react/constants.d.ts.map +1 -0
- package/dist/react/index.d.ts +8 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.esm.js +2 -0
- package/dist/react/index.esm.js.map +1 -0
- package/dist/react/index.js +2 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/index.react.d.ts +4 -0
- package/dist/react/index.react.d.ts.map +1 -0
- package/dist/react/react/Analytics.d.ts +3 -0
- package/dist/react/react/Analytics.d.ts.map +1 -0
- package/dist/react/react/Loader.d.ts +8 -0
- package/dist/react/react/Loader.d.ts.map +1 -0
- package/dist/react/react/ReferralLink.d.ts +4 -0
- package/dist/react/react/ReferralLink.d.ts.map +1 -0
- package/dist/react/react/ReferralStats.d.ts +4 -0
- package/dist/react/react/ReferralStats.d.ts.map +1 -0
- package/dist/react/react/ReferralWidget.d.ts +4 -0
- package/dist/react/react/ReferralWidget.d.ts.map +1 -0
- package/dist/react/react/index.d.ts +9 -0
- package/dist/react/react/index.d.ts.map +1 -0
- package/dist/react/react/types.d.ts +76 -0
- package/dist/react/react/types.d.ts.map +1 -0
- package/dist/react/react/usePartner.d.ts +3 -0
- package/dist/react/react/usePartner.d.ts.map +1 -0
- package/dist/react/tracker.d.ts +53 -0
- package/dist/react/tracker.d.ts.map +1 -0
- package/dist/react/types.d.ts +51 -0
- package/dist/react/types.d.ts.map +1 -0
- package/dist/react/usePartner.d.ts +3 -0
- package/dist/react/usePartner.d.ts.map +1 -0
- package/dist/react/utils.d.ts +20 -0
- package/dist/react/utils.d.ts.map +1 -0
- package/dist/tracker.d.ts +53 -0
- package/dist/tracker.d.ts.map +1 -0
- package/dist/types.d.ts +51 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils.d.ts +20 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +97 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ReferralWidgetProps, ReferralLinkProps, ReferralStatsProps, AnalyticsProps, UsePartnerConfig, UsePartnerReturn, Partner, ReferralCode, PartnerStats } from './react';
|
|
2
|
+
export { ReferralWidget, ReferralLink, ReferralStats, Analytics, usePartner } from './react';
|
|
3
|
+
export type { ReferralWidgetProps, ReferralLinkProps, ReferralStatsProps, AnalyticsProps, UsePartnerConfig, UsePartnerReturn, Partner, ReferralCode, PartnerStats };
|
|
4
|
+
//# sourceMappingURL=index.react.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.react.d.ts","sourceRoot":"","sources":["../src/index.react.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnL,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7F,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
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;
|
|
3
|
+
//# sourceMappingURL=Analytics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Analytics.d.ts","sourceRoot":"","sources":["../../src/react/Analytics.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,KAAa,EACb,QAAQ,GACT,EAAE,cAAc,gKAehB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Loader.d.ts","sourceRoot":"","sources":["../../src/react/Loader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAmDxC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReferralLink.d.ts","sourceRoot":"","sources":["../../src/react/ReferralLink.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,cAAc,EACd,KAAK,EACL,cAAqB,EACrB,MAAM,GACP,EAAE,iBAAiB,qBAkCnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReferralStats.d.ts","sourceRoot":"","sources":["../../src/react/ReferralStats.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,WAAW,EACX,OAAO,EACP,QAAgB,GACjB,EAAE,kBAAkB,qBAwBpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReferralWidget.d.ts","sourceRoot":"","sources":["../../src/react/ReferralWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAI9C,wBAAgB,cAAc,CAAC,EAC7B,WAAW,EACX,KAAK,EACL,SAAS,EACT,MAAM,EACN,KAAe,EACf,YAAwB,GACzB,EAAE,mBAAmB,qBAqNrB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { BlossuConfig, ReferralInfo, TrackSignupData, TrackSaleData, PublicReferralInfo } from './types';
|
|
2
|
+
declare global {
|
|
3
|
+
interface Window {
|
|
4
|
+
blossu: BlossuClient;
|
|
5
|
+
blossu_ref_id?: string;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export declare class BlossuClient {
|
|
9
|
+
private config;
|
|
10
|
+
private tracker;
|
|
11
|
+
private initialized;
|
|
12
|
+
private referralInfo;
|
|
13
|
+
constructor(config: BlossuConfig);
|
|
14
|
+
private log;
|
|
15
|
+
private exposeToWindow;
|
|
16
|
+
private loadReferralInfo;
|
|
17
|
+
private autoTrackReferral;
|
|
18
|
+
getRefId(): string | null;
|
|
19
|
+
getCode(): string | null;
|
|
20
|
+
getReferralInfo(): ReferralInfo | null;
|
|
21
|
+
hasReferral(): boolean;
|
|
22
|
+
clearReferral(): void;
|
|
23
|
+
trackClick(code: string): Promise<boolean>;
|
|
24
|
+
signup(data?: TrackSignupData): Promise<boolean>;
|
|
25
|
+
sale(data: TrackSaleData): Promise<boolean>;
|
|
26
|
+
pageview(): Promise<boolean>;
|
|
27
|
+
getStripeClientReferenceId(): string | null;
|
|
28
|
+
getStripeMetadata(): Record<string, string>;
|
|
29
|
+
getPartnerInfo(code: string): Promise<PublicReferralInfo | null>;
|
|
30
|
+
getProgramSlug(): string;
|
|
31
|
+
}
|
|
32
|
+
export declare function init(config: BlossuConfig): BlossuClient;
|
|
33
|
+
export declare function getClient(): BlossuClient | null;
|
|
34
|
+
//# sourceMappingURL=blossu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blossu.d.ts","sourceRoot":"","sources":["../../src/blossu.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,aAAa,EACb,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAKjB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,EAAE,YAAY,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB;CACF;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,YAAY,CAA6B;gBAErC,MAAM,EAAE,YAAY;IA0BhC,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,iBAAiB;IAUzB,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB,eAAe,IAAI,YAAY,GAAG,IAAI;IAItC,WAAW,IAAI,OAAO;IAItB,aAAa,IAAI,IAAI;IASf,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB1C,MAAM,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBpD,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB3C,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAWlC,0BAA0B,IAAI,MAAM,GAAG,IAAI;IAI3C,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAWrC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAuBtE,cAAc,IAAI,MAAM;CAGzB;AAID,wBAAgB,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAGvD;AAED,wBAAgB,SAAS,IAAI,YAAY,GAAG,IAAI,CAE/C"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const VERSION = "0.1.0";
|
|
2
|
+
export declare const DEFAULT_API_URL = "https://api.blossu.com";
|
|
3
|
+
export declare const COOKIE_NAME = "blossu_ref";
|
|
4
|
+
export declare const COOKIE_EXPIRY_DAYS = 30;
|
|
5
|
+
export declare const TRACKING_PARAM = "ref";
|
|
6
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,eAAe,2BAA2B,CAAC;AACxD,eAAO,MAAM,WAAW,eAAe,CAAC;AACxC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { BlossuClient, init, getClient } from './blossu';
|
|
2
|
+
export { Tracker } from './tracker';
|
|
3
|
+
export type { BlossuConfig, TrackClickData, TrackSignupData, TrackSaleData, ReferralInfo, PublicPartnerInfo, PublicReferralInfo, PartnerBrand, } from './types';
|
|
4
|
+
export { generateRefId, setCookie, getCookie, deleteCookie, getUrlParam, saveReferralInfo, getReferralInfo, clearReferralInfo, getBrowserInfo, getPageInfo, } from './utils';
|
|
5
|
+
export { VERSION, DEFAULT_API_URL, COOKIE_NAME, COOKIE_EXPIRY_DAYS, TRACKING_PARAM, } from './constants';
|
|
6
|
+
import { BlossuClient } from './blossu';
|
|
7
|
+
export default BlossuClient;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,aAAa,EACb,SAAS,EACT,SAAS,EACT,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,OAAO,EACP,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e,{useState as t,useCallback as r,useEffect as o}from"react";const n="https://api.blossu.com";function a(e){const{workspaceId:a,email:i,signature:l,apiUrl:s=n}=e,[c,d]=t(null),[f,p]=t([]),[u,g]=t(null),[m,y]=t(!0),[h,x]=t(null),b={"Content-Type":"application/json","X-Blossu-Workspace":a,"X-Blossu-Email":i,"X-Blossu-Signature":l},k=r((async()=>{try{const e=await fetch(`${s}/v1/partner/me`,{headers:b});if(!e.ok)throw new Error("Failed to fetch partner");return(await e.json()).partner}catch(e){return console.error("Error fetching partner:",e),null}}),[s,a,i,l]),v=r((async()=>{try{const e=await fetch(`${s}/v1/partner/codes`,{headers:b});if(!e.ok)throw new Error("Failed to fetch codes");return(await e.json()).codes||[]}catch(e){return console.error("Error fetching codes:",e),[]}}),[s,a,i,l]),w=r((async()=>{try{const e=await fetch(`${s}/v1/partner/stats`,{headers:b});if(!e.ok)throw new Error("Failed to fetch stats");return(await e.json()).stats}catch(e){return console.error("Error fetching stats:",e),null}}),[s,a,i,l]),S=r((async()=>{y(!0),x(null);try{const[e,t,r]=await Promise.all([k(),v(),w()]);d(e),p(t),g(r)}catch(e){x(e instanceof Error?e.message:"Failed to load data")}finally{y(!1)}}),[k,v,w]);o((()=>{S()}),[S]);const E=r((e=>{const t=c?.id?"https://example.com":"",r=f.find((t=>t.code===e));return`${r?.destinationUrl||t}?ref=${e}`}),[c,f]),I=r((async e=>{const t=E(e);try{await navigator.clipboard.writeText(t)}catch(e){throw console.error("Failed to copy link:",e),e}}),[E]),C=r((async(e,t)=>{try{const r=await fetch(`${s}/v1/partner/codes`,{method:"POST",headers:b,body:JSON.stringify({code:e,displayName:t})});if(!r.ok)throw new Error("Failed to create code");const o=(await r.json()).code;return p((e=>[...e,o])),o}catch(e){return console.error("Error creating code:",e),null}}),[s,a,i,l]);return{partner:c,codes:f,stats:u,isLoading:m,error:h,referralLink:E,copyLink:I,createCode:C,refresh:S}}function i({clicks:t,conversions:r,revenue:o,currency:n="USD"}){const a=[{label:"Clicks",value:t.toLocaleString()},{label:"Conversions",value:r.toLocaleString()},{label:"Revenue",value:(i=o,new Intl.NumberFormat("en-US",{style:"currency",currency:n}).format(i/100))}];var i;return e.createElement("div",{style:l.container},a.map((t=>e.createElement("div",{key:t.label,style:l.card},e.createElement("div",{style:l.label},t.label),e.createElement("div",{style:l.value},t.value)))))}const l={container:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(150px, 1fr))",gap:"16px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},card:{padding:"20px",backgroundColor:"#ffffff",border:"1px solid #e5e7eb",borderRadius:"8px",textAlign:"center"},label:{fontSize:"12px",fontWeight:600,color:"#6b7280",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"},value:{fontSize:"24px",fontWeight:700,color:"#111827"}};function s({workspaceId:r,email:o,signature:n,apiUrl:l,theme:s="light",primaryColor:d="#3b82f6"}){const{partner:f,codes:p,stats:u,isLoading:g,error:m,copyLink:y,createCode:h}=a({workspaceId:r,email:o,signature:n,apiUrl:l}),[x,b]=t(!1),[k,v]=t(""),[w,S]=t(""),[E,I]=t(!1),C=function(e){return{container:{backgroundColor:e?"#1f2937":"#ffffff",color:e?"#f9fafb":"#111827"},card:{backgroundColor:e?"#374151":"#f9fafb",borderColor:e?"#4b5563":"#e5e7eb"},title:{color:e?"#f9fafb":"#111827"},text:{color:e?"#f9fafb":"#111827"},subtitle:{color:e?"#d1d5db":"#6b7280"},earning:{backgroundColor:e?"#374151":"#f0fdf4",borderColor:e?"#4b5563":"#bbf7d0"},input:{backgroundColor:e?"#1f2937":"#ffffff",borderColor:e?"#4b5563":"#d1d5db",color:e?"#f9fafb":"#111827"}}}("dark"===s);if(g)return e.createElement("div",{style:{...c.container,...C.container}},e.createElement("div",{style:c.loading},"Loading..."));if(m)return e.createElement("div",{style:{...c.container,...C.container}},e.createElement("div",{style:c.error},"Error: ",m));if(!f)return e.createElement("div",{style:{...c.container,...C.container}},e.createElement("div",{style:c.error},"Partner not found"));const T=e=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(e/100);return e.createElement("div",{style:{...c.container,...C.container}},e.createElement("div",{style:c.header},e.createElement("div",{style:c.headerIcon},"🎁"),e.createElement("h2",{style:{...c.title,...C.title}},"Refer to earn rewards"),e.createElement("p",{style:{...c.subtitle,...C.subtitle}},"Share your referral link and earn commissions from every sale")),e.createElement("div",{style:{...c.earning,...C.earning}},e.createElement("div",{style:c.earningLabel},"Total Earned"),e.createElement("div",{style:c.earningValue},T(f.totalEarned)),f.pendingBalance>0&&e.createElement("div",{style:c.earningPending},T(f.pendingBalance)," pending")),e.createElement("div",{style:c.section},e.createElement("h3",{style:{...c.sectionTitle,...C.text}},"Stats"),e.createElement(i,{clicks:u?.clicks||0,conversions:u?.conversions||0,revenue:f.totalRevenue})),e.createElement("div",{style:c.section},e.createElement("div",{style:c.sectionHeader},e.createElement("h3",{style:{...c.sectionTitle,...C.text}},"Your Referral Links"),e.createElement("button",{onClick:()=>b(!x),style:{...c.createButton,backgroundColor:d}},"+ Create Link")),x&&e.createElement("div",{style:{...c.createForm,...C.card}},e.createElement("input",{type:"text",placeholder:"Code (e.g., FRIEND10)",value:k,onChange:e=>v(e.target.value),style:{...c.input,...C.input}}),e.createElement("input",{type:"text",placeholder:"Display name (optional)",value:w,onChange:e=>S(e.target.value),style:{...c.input,...C.input}}),e.createElement("div",{style:c.createActions},e.createElement("button",{onClick:()=>b(!1),style:c.cancelButton},"Cancel"),e.createElement("button",{onClick:async()=>{if(k.trim()){I(!0);try{await h(k,w||void 0),v(""),S(""),b(!1)}catch(e){console.error("Failed to create code:",e)}finally{I(!1)}}},disabled:!k.trim()||E,style:{...c.primaryButton,backgroundColor:d}},E?"Creating...":"Create"))),e.createElement("div",{style:c.codesList},0===p.length?e.createElement("div",{style:{...c.emptyState,...C.subtitle}},"No referral codes yet. Create your first one!"):p.map((t=>e.createElement("div",{key:t.id,style:{...c.codeCard,...C.card}},e.createElement("div",{style:c.codeHeader},e.createElement("div",null,e.createElement("div",{style:{...c.codeName,...C.text}},t.code,t.isDefault&&e.createElement("span",{style:c.defaultBadge},"Default")),t.displayName&&e.createElement("div",{style:{...c.codeDisplayName,...C.subtitle}},t.displayName)),e.createElement("button",{onClick:()=>y(t.code),style:{...c.copyButton,backgroundColor:d}},"Copy")),e.createElement("div",{style:c.codeStats},e.createElement("div",{style:c.codeStat},e.createElement("div",{style:{...c.codeStatValue,...C.text}},t.clicks),e.createElement("div",{style:c.codeStatLabel},"Clicks")),e.createElement("div",{style:c.codeStat},e.createElement("div",{style:{...c.codeStatValue,...C.text}},t.conversions),e.createElement("div",{style:c.codeStatLabel},"Conversions")),e.createElement("div",{style:c.codeStat},e.createElement("div",{style:{...c.codeStatValue,...C.text}},T(t.revenue)),e.createElement("div",{style:c.codeStatLabel},"Revenue")))))))),e.createElement("div",{style:c.footer},e.createElement("a",{href:"https://blossu.com",target:"_blank",rel:"noopener noreferrer",style:{...c.footerLink,...C.subtitle}},"Powered by Blossu")))}const c={container:{maxWidth:"600px",margin:"0 auto",padding:"24px",borderRadius:"12px",border:"1px solid #e5e7eb",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},loading:{textAlign:"center",padding:"40px",color:"#6b7280"},error:{padding:"16px",backgroundColor:"#fee2e2",color:"#dc2626",borderRadius:"8px",textAlign:"center"},header:{textAlign:"center",marginBottom:"24px"},headerIcon:{fontSize:"48px",marginBottom:"12px"},title:{margin:"0 0 8px",fontSize:"24px",fontWeight:700},subtitle:{margin:0,fontSize:"14px"},earning:{padding:"24px",borderRadius:"12px",border:"1px solid",textAlign:"center",marginBottom:"24px"},earningLabel:{fontSize:"12px",fontWeight:600,color:"#6b7280",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"},earningValue:{fontSize:"32px",fontWeight:700,color:"#16a34a"},earningPending:{fontSize:"14px",color:"#6b7280",marginTop:"8px"},section:{marginBottom:"32px"},sectionHeader:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"16px"},sectionTitle:{margin:0,fontSize:"16px",fontWeight:600},createButton:{padding:"8px 12px",fontSize:"14px",fontWeight:500,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer",transition:"opacity 0.2s"},createForm:{padding:"16px",borderRadius:"8px",marginBottom:"16px",display:"flex",flexDirection:"column",gap:"12px"},input:{padding:"10px 12px",fontSize:"14px",border:"1px solid",borderRadius:"6px",outline:"none"},createActions:{display:"flex",gap:"8px",justifyContent:"flex-end"},cancelButton:{padding:"8px 16px",fontSize:"14px",fontWeight:500,color:"#6b7280",backgroundColor:"transparent",border:"1px solid #d1d5db",borderRadius:"6px",cursor:"pointer"},primaryButton:{padding:"8px 16px",fontSize:"14px",fontWeight:500,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer"},codesList:{display:"flex",flexDirection:"column",gap:"12px"},emptyState:{padding:"32px",textAlign:"center",fontSize:"14px"},codeCard:{padding:"16px",borderRadius:"8px",border:"1px solid"},codeHeader:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",marginBottom:"12px"},codeName:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",gap:"8px"},defaultBadge:{fontSize:"10px",fontWeight:600,color:"#3b82f6",backgroundColor:"#dbeafe",padding:"2px 6px",borderRadius:"4px"},codeDisplayName:{fontSize:"14px",marginTop:"4px"},copyButton:{padding:"8px 12px",fontSize:"12px",fontWeight:500,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer"},codeStats:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"12px",paddingTop:"12px",borderTop:"1px solid #e5e7eb"},codeStat:{textAlign:"center"},codeStatValue:{fontSize:"18px",fontWeight:600},codeStatLabel:{fontSize:"12px",color:"#6b7280",marginTop:"4px"},footer:{textAlign:"center",paddingTop:"16px",borderTop:"1px solid #e5e7eb"},footerLink:{fontSize:"12px",textDecoration:"none"}};function d({code:r,destinationUrl:o,label:n,showCopyButton:a=!0,onCopy:i}){const[l,s]=t(!1),c=`${o}?ref=${r}`;return e.createElement("div",{style:f.container},n&&e.createElement("label",{style:f.label},n),e.createElement("div",{style:f.inputGroup},e.createElement("input",{type:"text",value:c,readOnly:!0,style:f.input,onClick:e=>e.target.select()}),a&&e.createElement("button",{onClick:async()=>{try{await navigator.clipboard.writeText(c),s(!0),i?.(),setTimeout((()=>s(!1)),2e3)}catch(e){console.error("Failed to copy:",e)}},style:f.button},l?"✓ Copied!":"Copy")))}const f={container:{width:"100%",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},label:{display:"block",marginBottom:"8px",fontSize:"14px",fontWeight:500,color:"#374151"},inputGroup:{display:"flex",gap:"8px"},input:{flex:1,padding:"10px 12px",fontSize:"14px",border:"1px solid #d1d5db",borderRadius:"6px",backgroundColor:"#f9fafb",color:"#111827",outline:"none"},button:{padding:"10px 16px",fontSize:"14px",fontWeight:500,color:"#ffffff",backgroundColor:"#3b82f6",border:"none",borderRadius:"6px",cursor:"pointer",whiteSpace:"nowrap",transition:"background-color 0.2s"}},p="https://api.blossu.com",u="blossu_ref";function g(e,t=u,r=30){const o=`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`,n={code:e.toLowerCase(),refId:o,timestamp:Date.now()};return function(e,t,r){if("undefined"==typeof document)return;const o=new Date;o.setTime(o.getTime()+24*r*60*60*1e3);const n="https:"===window.location.protocol?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}; expires=${o.toUTCString()}; path=/; SameSite=Lax${n}`}(t,JSON.stringify(n),r),n}function m(e=u){const t=function(e){if("undefined"==typeof document)return null;const t=`${e}=`,r=document.cookie.split(";");for(let e=0;e<r.length;e++){let o=r[e];for(;" "===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return decodeURIComponent(o.substring(t.length,o.length))}return null}(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function y(e=u){var t;t=e,"undefined"!=typeof document&&(document.cookie=`${t}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}class h{constructor(e){this.config={apiUrl:e.apiUrl||p,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:"0.1.0"}}async send(e,t){const r={event:e,data:t,meta:this.getMeta()};this.log("Sending event:",e,r);const o=this.getEndpoint(e),n=JSON.stringify(r);if("undefined"!=typeof navigator&&navigator.sendBeacon){const e=new Blob([n],{type:"application/json"});try{const t=navigator.sendBeacon(o,e);return this.log("sendBeacon result:",t),t}catch(e){this.log("sendBeacon failed, falling back to fetch:",e)}}try{const e=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:n,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 x{constructor(e){this.initialized=!1,this.referralInfo=null,this.config={programSlug:e.programSlug,apiUrl:e.apiUrl||p,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||u,cookieExpiryDays:e.cookieExpiryDays||30,debug:e.debug||!1,autoTrack:!1!==e.autoTrack},this.tracker=new h({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=m(this.config.cookieName),this.referralInfo&&this.log("Loaded referral info from cookie:",this.referralInfo)}autoTrackReferral(){if("undefined"==typeof window)return;const e=(t=this.config.trackingParam,"undefined"==typeof window?null:new URLSearchParams(window.location.search).get(t));var t;e&&e!==this.referralInfo?.code&&(this.log("Detected referral code in URL:",e),this.trackClick(e))}getRefId(){return this.referralInfo?.refId||null}getCode(){return this.referralInfo?.code||null}getReferralInfo(){return this.referralInfo}hasReferral(){return null!==this.referralInfo}clearReferral(){y(this.config.cookieName),this.referralInfo=null,"undefined"!=typeof window&&delete window.blossu_ref_id,this.log("Cleared referral info")}async trackClick(e){return this.referralInfo=g(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.log("Tracking click for code:",e,"refId:",this.referralInfo.refId),this.tracker.trackClick({code:this.referralInfo.code,refId:this.referralInfo.refId})}async signup(e={}){return this.referralInfo?(this.log("Tracking signup:",e),this.tracker.trackSignup({code:this.referralInfo.code,refId:this.referralInfo.refId,email:e.email,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 t=`${this.config.apiUrl}/v1/public/programs/${this.config.programSlug}/referral/${encodeURIComponent(e)}`;try{const r=await fetch(t);if(!r.ok){if(404===r.status)return this.log("Partner info not found for code:",e),null;throw new Error(`HTTP error! status: ${r.status}`)}const o=await r.json();return this.log("Fetched partner info:",o),o}catch(e){return this.log("Error fetching partner info:",e),null}}getProgramSlug(){return this.config.programSlug}}let b=null;function k({publicKey:e,apiUrl:t,trackingParam:r,cookieExpiryDays:n,debug:a=!1,children:i}){return o((()=>{"undefined"!=typeof window&&(b=new x({programSlug:e,apiUrl:t,trackingParam:r,cookieExpiryDays:n,debug:a,autoTrack:!0}))}),[e,t,r,n,a]),i||null}const v=({size:t=24,color:r="currentColor",className:o})=>e.createElement("svg",{className:o,width:t,height:t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",style:{animation:"blossu-spin 1s linear infinite"}},e.createElement("style",null,"\n @keyframes blossu-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n "),e.createElement("circle",{cx:"12",cy:"12",r:"10",stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeDasharray:"31.4 31.4",opacity:"0.25"}),e.createElement("circle",{cx:"12",cy:"12",r:"10",stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeDasharray:"31.4 31.4",strokeDashoffset:"62.8",style:{animation:"blossu-spin 1s linear infinite"}}));export{k as Analytics,v as Loader,d as ReferralLink,i as ReferralStats,s as ReferralWidget,a as usePartner};
|
|
2
|
+
//# sourceMappingURL=index.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../src/react/usePartner.ts","../../src/react/ReferralStats.tsx","../../src/react/ReferralWidget.tsx","../../src/react/ReferralLink.tsx","../../src/constants.ts","../../src/utils.ts","../../src/tracker.ts","../../src/blossu.ts","../../src/react/Analytics.tsx","../../src/react/Loader.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["DEFAULT_API_URL","usePartner","config","workspaceId","email","signature","apiUrl","partner","setPartner","useState","codes","setCodes","stats","setStats","isLoading","setIsLoading","error","setError","headers","fetchPartner","useCallback","async","response","fetch","ok","Error","json","err","console","fetchCodes","fetchStats","refresh","partnerData","codesData","statsData","Promise","all","message","useEffect","referralLink","code","defaultUrl","id","codeData","find","c","destinationUrl","copyLink","link","navigator","clipboard","writeText","createCode","displayName","method","body","JSON","stringify","newCode","prev","ReferralStats","clicks","conversions","revenue","currency","label","value","toLocaleString","cents","Intl","NumberFormat","style","format","React","createElement","styles","container","map","stat","key","card","display","gridTemplateColumns","gap","fontFamily","padding","backgroundColor","border","borderRadius","textAlign","fontSize","fontWeight","color","textTransform","letterSpacing","marginBottom","ReferralWidget","theme","primaryColor","showCreateCode","setShowCreateCode","setNewCode","newDisplayName","setNewDisplayName","isCreating","setIsCreating","themeStyles","isDark","borderColor","title","text","subtitle","earning","input","getThemeStyles","loading","formatCurrency","header","headerIcon","earningLabel","earningValue","totalEarned","pendingBalance","earningPending","section","sectionTitle","totalRevenue","sectionHeader","onClick","createButton","createForm","type","placeholder","onChange","e","target","createActions","cancelButton","trim","undefined","disabled","primaryButton","codesList","length","emptyState","codeCard","codeHeader","codeName","isDefault","defaultBadge","codeDisplayName","copyButton","codeStats","codeStat","codeStatValue","codeStatLabel","footer","href","rel","footerLink","maxWidth","margin","marginTop","justifyContent","alignItems","cursor","transition","flexDirection","outline","paddingTop","borderTop","textDecoration","ReferralLink","showCopyButton","onCopy","copied","setCopied","inputGroup","readOnly","select","setTimeout","button","width","flex","whiteSpace","COOKIE_NAME","saveReferralInfo","cookieName","expiryDays","refId","Date","now","toString","Math","random","substring","info","toLowerCase","timestamp","name","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","setCookie","getReferralInfo","nameEQ","cookies","split","i","charAt","indexOf","decodeURIComponent","getCookie","parse","clearReferralInfo","Tracker","constructor","this","programSlug","debug","log","args","getEndpoint","event","getMeta","isBrowser","url","referrer","userAgent","language","timezone","DateTimeFormat","resolvedOptions","timeZone","sdkVersion","send","data","payload","meta","endpoint","sendBeacon","blob","Blob","success","keepalive","status","trackClick","trackSignup","trackSale","trackPageview","BlossuClient","initialized","referralInfo","trackingParam","cookieExpiryDays","autoTrack","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","blossu_ref_id","param","URLSearchParams","search","get","getRefId","getCode","hasReferral","clearReferral","signup","externalCustomerId","metadata","sale","amount","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","getProgramSlug","defaultClient","Analytics","publicKey","children","Loader","size","className","height","viewBox","xmlns","animation","cx","cy","r","stroke","strokeWidth","fill","strokeLinecap","strokeDasharray","opacity","strokeDashoffset"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("react");const t="https://api.blossu.com";function r(r){const{workspaceId:o,email:n,signature:a,apiUrl:i=t}=r,[l,s]=e.useState(null),[c,d]=e.useState([]),[f,p]=e.useState(null),[u,g]=e.useState(!0),[m,y]=e.useState(null),h={"Content-Type":"application/json","X-Blossu-Workspace":o,"X-Blossu-Email":n,"X-Blossu-Signature":a},b=e.useCallback((async()=>{try{const e=await fetch(`${i}/v1/partner/me`,{headers:h});if(!e.ok)throw new Error("Failed to fetch partner");return(await e.json()).partner}catch(e){return console.error("Error fetching partner:",e),null}}),[i,o,n,a]),x=e.useCallback((async()=>{try{const e=await fetch(`${i}/v1/partner/codes`,{headers:h});if(!e.ok)throw new Error("Failed to fetch codes");return(await e.json()).codes||[]}catch(e){return console.error("Error fetching codes:",e),[]}}),[i,o,n,a]),k=e.useCallback((async()=>{try{const e=await fetch(`${i}/v1/partner/stats`,{headers:h});if(!e.ok)throw new Error("Failed to fetch stats");return(await e.json()).stats}catch(e){return console.error("Error fetching stats:",e),null}}),[i,o,n,a]),S=e.useCallback((async()=>{g(!0),y(null);try{const[e,t,r]=await Promise.all([b(),x(),k()]);s(e),d(t),p(r)}catch(e){y(e instanceof Error?e.message:"Failed to load data")}finally{g(!1)}}),[b,x,k]);e.useEffect((()=>{S()}),[S]);const v=e.useCallback((e=>{const t=l?.id?"https://example.com":"",r=c.find((t=>t.code===e));return`${r?.destinationUrl||t}?ref=${e}`}),[l,c]),w=e.useCallback((async e=>{const t=v(e);try{await navigator.clipboard.writeText(t)}catch(e){throw console.error("Failed to copy link:",e),e}}),[v]),E=e.useCallback((async(e,t)=>{try{const r=await fetch(`${i}/v1/partner/codes`,{method:"POST",headers:h,body:JSON.stringify({code:e,displayName:t})});if(!r.ok)throw new Error("Failed to create code");const o=(await r.json()).code;return d((e=>[...e,o])),o}catch(e){return console.error("Error creating code:",e),null}}),[i,o,n,a]);return{partner:l,codes:c,stats:f,isLoading:u,error:m,referralLink:v,copyLink:w,createCode:E,refresh:S}}function o({clicks:t,conversions:r,revenue:o,currency:a="USD"}){const i=[{label:"Clicks",value:t.toLocaleString()},{label:"Conversions",value:r.toLocaleString()},{label:"Revenue",value:(l=o,new Intl.NumberFormat("en-US",{style:"currency",currency:a}).format(l/100))}];var l;return e.createElement("div",{style:n.container},i.map((t=>e.createElement("div",{key:t.label,style:n.card},e.createElement("div",{style:n.label},t.label),e.createElement("div",{style:n.value},t.value)))))}const n={container:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(150px, 1fr))",gap:"16px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},card:{padding:"20px",backgroundColor:"#ffffff",border:"1px solid #e5e7eb",borderRadius:"8px",textAlign:"center"},label:{fontSize:"12px",fontWeight:600,color:"#6b7280",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"},value:{fontSize:"24px",fontWeight:700,color:"#111827"}};const a={container:{maxWidth:"600px",margin:"0 auto",padding:"24px",borderRadius:"12px",border:"1px solid #e5e7eb",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},loading:{textAlign:"center",padding:"40px",color:"#6b7280"},error:{padding:"16px",backgroundColor:"#fee2e2",color:"#dc2626",borderRadius:"8px",textAlign:"center"},header:{textAlign:"center",marginBottom:"24px"},headerIcon:{fontSize:"48px",marginBottom:"12px"},title:{margin:"0 0 8px",fontSize:"24px",fontWeight:700},subtitle:{margin:0,fontSize:"14px"},earning:{padding:"24px",borderRadius:"12px",border:"1px solid",textAlign:"center",marginBottom:"24px"},earningLabel:{fontSize:"12px",fontWeight:600,color:"#6b7280",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"},earningValue:{fontSize:"32px",fontWeight:700,color:"#16a34a"},earningPending:{fontSize:"14px",color:"#6b7280",marginTop:"8px"},section:{marginBottom:"32px"},sectionHeader:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"16px"},sectionTitle:{margin:0,fontSize:"16px",fontWeight:600},createButton:{padding:"8px 12px",fontSize:"14px",fontWeight:500,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer",transition:"opacity 0.2s"},createForm:{padding:"16px",borderRadius:"8px",marginBottom:"16px",display:"flex",flexDirection:"column",gap:"12px"},input:{padding:"10px 12px",fontSize:"14px",border:"1px solid",borderRadius:"6px",outline:"none"},createActions:{display:"flex",gap:"8px",justifyContent:"flex-end"},cancelButton:{padding:"8px 16px",fontSize:"14px",fontWeight:500,color:"#6b7280",backgroundColor:"transparent",border:"1px solid #d1d5db",borderRadius:"6px",cursor:"pointer"},primaryButton:{padding:"8px 16px",fontSize:"14px",fontWeight:500,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer"},codesList:{display:"flex",flexDirection:"column",gap:"12px"},emptyState:{padding:"32px",textAlign:"center",fontSize:"14px"},codeCard:{padding:"16px",borderRadius:"8px",border:"1px solid"},codeHeader:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",marginBottom:"12px"},codeName:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",gap:"8px"},defaultBadge:{fontSize:"10px",fontWeight:600,color:"#3b82f6",backgroundColor:"#dbeafe",padding:"2px 6px",borderRadius:"4px"},codeDisplayName:{fontSize:"14px",marginTop:"4px"},copyButton:{padding:"8px 12px",fontSize:"12px",fontWeight:500,color:"#ffffff",border:"none",borderRadius:"6px",cursor:"pointer"},codeStats:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"12px",paddingTop:"12px",borderTop:"1px solid #e5e7eb"},codeStat:{textAlign:"center"},codeStatValue:{fontSize:"18px",fontWeight:600},codeStatLabel:{fontSize:"12px",color:"#6b7280",marginTop:"4px"},footer:{textAlign:"center",paddingTop:"16px",borderTop:"1px solid #e5e7eb"},footerLink:{fontSize:"12px",textDecoration:"none"}};const i={container:{width:"100%",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},label:{display:"block",marginBottom:"8px",fontSize:"14px",fontWeight:500,color:"#374151"},inputGroup:{display:"flex",gap:"8px"},input:{flex:1,padding:"10px 12px",fontSize:"14px",border:"1px solid #d1d5db",borderRadius:"6px",backgroundColor:"#f9fafb",color:"#111827",outline:"none"},button:{padding:"10px 16px",fontSize:"14px",fontWeight:500,color:"#ffffff",backgroundColor:"#3b82f6",border:"none",borderRadius:"6px",cursor:"pointer",whiteSpace:"nowrap",transition:"background-color 0.2s"}},l="https://api.blossu.com",s="blossu_ref";function c(e,t=s,r=30){const o=`bls_${Date.now().toString(36)}_${Math.random().toString(36).substring(2,10)}`,n={code:e.toLowerCase(),refId:o,timestamp:Date.now()};return function(e,t,r){if("undefined"==typeof document)return;const o=new Date;o.setTime(o.getTime()+24*r*60*60*1e3);const n="https:"===window.location.protocol?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}; expires=${o.toUTCString()}; path=/; SameSite=Lax${n}`}(t,JSON.stringify(n),r),n}function d(e=s){const t=function(e){if("undefined"==typeof document)return null;const t=`${e}=`,r=document.cookie.split(";");for(let e=0;e<r.length;e++){let o=r[e];for(;" "===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return decodeURIComponent(o.substring(t.length,o.length))}return null}(e);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function f(e=s){var t;t=e,"undefined"!=typeof document&&(document.cookie=`${t}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`)}class p{constructor(e){this.config={apiUrl:e.apiUrl||l,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:"0.1.0"}}async send(e,t){const r={event:e,data:t,meta:this.getMeta()};this.log("Sending event:",e,r);const o=this.getEndpoint(e),n=JSON.stringify(r);if("undefined"!=typeof navigator&&navigator.sendBeacon){const e=new Blob([n],{type:"application/json"});try{const t=navigator.sendBeacon(o,e);return this.log("sendBeacon result:",t),t}catch(e){this.log("sendBeacon failed, falling back to fetch:",e)}}try{const e=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:n,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 u{constructor(e){this.initialized=!1,this.referralInfo=null,this.config={programSlug:e.programSlug,apiUrl:e.apiUrl||l,trackingParam:e.trackingParam||"ref",cookieName:e.cookieName||s,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=d(this.config.cookieName),this.referralInfo&&this.log("Loaded referral info from cookie:",this.referralInfo)}autoTrackReferral(){if("undefined"==typeof window)return;const e=(t=this.config.trackingParam,"undefined"==typeof window?null:new URLSearchParams(window.location.search).get(t));var t;e&&e!==this.referralInfo?.code&&(this.log("Detected referral code in URL:",e),this.trackClick(e))}getRefId(){return this.referralInfo?.refId||null}getCode(){return this.referralInfo?.code||null}getReferralInfo(){return this.referralInfo}hasReferral(){return null!==this.referralInfo}clearReferral(){f(this.config.cookieName),this.referralInfo=null,"undefined"!=typeof window&&delete window.blossu_ref_id,this.log("Cleared referral info")}async trackClick(e){return this.referralInfo=c(e,this.config.cookieName,this.config.cookieExpiryDays),"undefined"!=typeof window&&(window.blossu_ref_id=this.referralInfo.refId),this.log("Tracking click for code:",e,"refId:",this.referralInfo.refId),this.tracker.trackClick({code:this.referralInfo.code,refId:this.referralInfo.refId})}async signup(e={}){return this.referralInfo?(this.log("Tracking signup:",e),this.tracker.trackSignup({code:this.referralInfo.code,refId:this.referralInfo.refId,email:e.email,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 t=`${this.config.apiUrl}/v1/public/programs/${this.config.programSlug}/referral/${encodeURIComponent(e)}`;try{const r=await fetch(t);if(!r.ok){if(404===r.status)return this.log("Partner info not found for code:",e),null;throw new Error(`HTTP error! status: ${r.status}`)}const o=await r.json();return this.log("Fetched partner info:",o),o}catch(e){return this.log("Error fetching partner info:",e),null}}getProgramSlug(){return this.config.programSlug}}let g=null;exports.Analytics=function({publicKey:t,apiUrl:r,trackingParam:o,cookieExpiryDays:n,debug:a=!1,children:i}){return e.useEffect((()=>{"undefined"!=typeof window&&(g=new u({programSlug:t,apiUrl:r,trackingParam:o,cookieExpiryDays:n,debug:a,autoTrack:!0}))}),[t,r,o,n,a]),i||null},exports.Loader=({size:t=24,color:r="currentColor",className:o})=>e.createElement("svg",{className:o,width:t,height:t,viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",style:{animation:"blossu-spin 1s linear infinite"}},e.createElement("style",null,"\n @keyframes blossu-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n "),e.createElement("circle",{cx:"12",cy:"12",r:"10",stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeDasharray:"31.4 31.4",opacity:"0.25"}),e.createElement("circle",{cx:"12",cy:"12",r:"10",stroke:r,strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeDasharray:"31.4 31.4",strokeDashoffset:"62.8",style:{animation:"blossu-spin 1s linear infinite"}})),exports.ReferralLink=function({code:t,destinationUrl:r,label:o,showCopyButton:n=!0,onCopy:a}){const[l,s]=e.useState(!1),c=`${r}?ref=${t}`;return e.createElement("div",{style:i.container},o&&e.createElement("label",{style:i.label},o),e.createElement("div",{style:i.inputGroup},e.createElement("input",{type:"text",value:c,readOnly:!0,style:i.input,onClick:e=>e.target.select()}),n&&e.createElement("button",{onClick:async()=>{try{await navigator.clipboard.writeText(c),s(!0),a?.(),setTimeout((()=>s(!1)),2e3)}catch(e){console.error("Failed to copy:",e)}},style:i.button},l?"✓ Copied!":"Copy")))},exports.ReferralStats=o,exports.ReferralWidget=function({workspaceId:t,email:n,signature:i,apiUrl:l,theme:s="light",primaryColor:c="#3b82f6"}){const{partner:d,codes:f,stats:p,isLoading:u,error:g,copyLink:m,createCode:y}=r({workspaceId:t,email:n,signature:i,apiUrl:l}),[h,b]=e.useState(!1),[x,k]=e.useState(""),[S,v]=e.useState(""),[w,E]=e.useState(!1),C=function(e){return{container:{backgroundColor:e?"#1f2937":"#ffffff",color:e?"#f9fafb":"#111827"},card:{backgroundColor:e?"#374151":"#f9fafb",borderColor:e?"#4b5563":"#e5e7eb"},title:{color:e?"#f9fafb":"#111827"},text:{color:e?"#f9fafb":"#111827"},subtitle:{color:e?"#d1d5db":"#6b7280"},earning:{backgroundColor:e?"#374151":"#f0fdf4",borderColor:e?"#4b5563":"#bbf7d0"},input:{backgroundColor:e?"#1f2937":"#ffffff",borderColor:e?"#4b5563":"#d1d5db",color:e?"#f9fafb":"#111827"}}}("dark"===s);if(u)return e.createElement("div",{style:{...a.container,...C.container}},e.createElement("div",{style:a.loading},"Loading..."));if(g)return e.createElement("div",{style:{...a.container,...C.container}},e.createElement("div",{style:a.error},"Error: ",g));if(!d)return e.createElement("div",{style:{...a.container,...C.container}},e.createElement("div",{style:a.error},"Partner not found"));const I=e=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(e/100);return e.createElement("div",{style:{...a.container,...C.container}},e.createElement("div",{style:a.header},e.createElement("div",{style:a.headerIcon},"🎁"),e.createElement("h2",{style:{...a.title,...C.title}},"Refer to earn rewards"),e.createElement("p",{style:{...a.subtitle,...C.subtitle}},"Share your referral link and earn commissions from every sale")),e.createElement("div",{style:{...a.earning,...C.earning}},e.createElement("div",{style:a.earningLabel},"Total Earned"),e.createElement("div",{style:a.earningValue},I(d.totalEarned)),d.pendingBalance>0&&e.createElement("div",{style:a.earningPending},I(d.pendingBalance)," pending")),e.createElement("div",{style:a.section},e.createElement("h3",{style:{...a.sectionTitle,...C.text}},"Stats"),e.createElement(o,{clicks:p?.clicks||0,conversions:p?.conversions||0,revenue:d.totalRevenue})),e.createElement("div",{style:a.section},e.createElement("div",{style:a.sectionHeader},e.createElement("h3",{style:{...a.sectionTitle,...C.text}},"Your Referral Links"),e.createElement("button",{onClick:()=>b(!h),style:{...a.createButton,backgroundColor:c}},"+ Create Link")),h&&e.createElement("div",{style:{...a.createForm,...C.card}},e.createElement("input",{type:"text",placeholder:"Code (e.g., FRIEND10)",value:x,onChange:e=>k(e.target.value),style:{...a.input,...C.input}}),e.createElement("input",{type:"text",placeholder:"Display name (optional)",value:S,onChange:e=>v(e.target.value),style:{...a.input,...C.input}}),e.createElement("div",{style:a.createActions},e.createElement("button",{onClick:()=>b(!1),style:a.cancelButton},"Cancel"),e.createElement("button",{onClick:async()=>{if(x.trim()){E(!0);try{await y(x,S||void 0),k(""),v(""),b(!1)}catch(e){console.error("Failed to create code:",e)}finally{E(!1)}}},disabled:!x.trim()||w,style:{...a.primaryButton,backgroundColor:c}},w?"Creating...":"Create"))),e.createElement("div",{style:a.codesList},0===f.length?e.createElement("div",{style:{...a.emptyState,...C.subtitle}},"No referral codes yet. Create your first one!"):f.map((t=>e.createElement("div",{key:t.id,style:{...a.codeCard,...C.card}},e.createElement("div",{style:a.codeHeader},e.createElement("div",null,e.createElement("div",{style:{...a.codeName,...C.text}},t.code,t.isDefault&&e.createElement("span",{style:a.defaultBadge},"Default")),t.displayName&&e.createElement("div",{style:{...a.codeDisplayName,...C.subtitle}},t.displayName)),e.createElement("button",{onClick:()=>m(t.code),style:{...a.copyButton,backgroundColor:c}},"Copy")),e.createElement("div",{style:a.codeStats},e.createElement("div",{style:a.codeStat},e.createElement("div",{style:{...a.codeStatValue,...C.text}},t.clicks),e.createElement("div",{style:a.codeStatLabel},"Clicks")),e.createElement("div",{style:a.codeStat},e.createElement("div",{style:{...a.codeStatValue,...C.text}},t.conversions),e.createElement("div",{style:a.codeStatLabel},"Conversions")),e.createElement("div",{style:a.codeStat},e.createElement("div",{style:{...a.codeStatValue,...C.text}},I(t.revenue)),e.createElement("div",{style:a.codeStatLabel},"Revenue")))))))),e.createElement("div",{style:a.footer},e.createElement("a",{href:"https://blossu.com",target:"_blank",rel:"noopener noreferrer",style:{...a.footerLink,...C.subtitle}},"Powered by Blossu")))},exports.usePartner=r;
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/react/usePartner.ts","../../src/react/ReferralStats.tsx","../../src/react/ReferralWidget.tsx","../../src/react/ReferralLink.tsx","../../src/constants.ts","../../src/utils.ts","../../src/tracker.ts","../../src/blossu.ts","../../src/react/Analytics.tsx","../../src/react/Loader.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["DEFAULT_API_URL","usePartner","config","workspaceId","email","signature","apiUrl","partner","setPartner","useState","codes","setCodes","stats","setStats","isLoading","setIsLoading","error","setError","headers","fetchPartner","useCallback","async","response","fetch","ok","Error","json","err","console","fetchCodes","fetchStats","refresh","partnerData","codesData","statsData","Promise","all","message","useEffect","referralLink","code","defaultUrl","id","codeData","find","c","destinationUrl","copyLink","link","navigator","clipboard","writeText","createCode","displayName","method","body","JSON","stringify","newCode","prev","ReferralStats","clicks","conversions","revenue","currency","label","value","toLocaleString","cents","Intl","NumberFormat","style","format","React","createElement","styles","container","map","stat","key","card","display","gridTemplateColumns","gap","fontFamily","padding","backgroundColor","border","borderRadius","textAlign","fontSize","fontWeight","color","textTransform","letterSpacing","marginBottom","maxWidth","margin","loading","header","headerIcon","title","subtitle","earning","earningLabel","earningValue","earningPending","marginTop","section","sectionHeader","justifyContent","alignItems","sectionTitle","createButton","cursor","transition","createForm","flexDirection","input","outline","createActions","cancelButton","primaryButton","codesList","emptyState","codeCard","codeHeader","codeName","defaultBadge","codeDisplayName","copyButton","codeStats","paddingTop","borderTop","codeStat","codeStatValue","codeStatLabel","footer","footerLink","textDecoration","width","inputGroup","flex","button","whiteSpace","COOKIE_NAME","saveReferralInfo","cookieName","expiryDays","refId","Date","now","toString","Math","random","substring","info","toLowerCase","timestamp","name","days","document","expires","setTime","getTime","secure","window","location","protocol","cookie","encodeURIComponent","toUTCString","setCookie","getReferralInfo","nameEQ","cookies","split","i","length","charAt","indexOf","decodeURIComponent","getCookie","parse","clearReferralInfo","Tracker","constructor","this","programSlug","debug","log","args","getEndpoint","event","getMeta","isBrowser","url","href","referrer","userAgent","language","timezone","DateTimeFormat","resolvedOptions","timeZone","sdkVersion","send","data","payload","meta","endpoint","sendBeacon","blob","Blob","type","success","keepalive","status","trackClick","trackSignup","trackSale","trackPageview","BlossuClient","initialized","referralInfo","trackingParam","cookieExpiryDays","autoTrack","tracker","loadReferralInfo","autoTrackReferral","exposeToWindow","blossu","blossu_ref_id","param","URLSearchParams","search","get","getRefId","getCode","hasReferral","clearReferral","signup","externalCustomerId","metadata","sale","amount","provider","pageview","getStripeClientReferenceId","getStripeMetadata","blossu_code","getPartnerInfo","getProgramSlug","defaultClient","publicKey","children","size","className","height","viewBox","xmlns","animation","cx","cy","r","stroke","strokeWidth","fill","strokeLinecap","strokeDasharray","opacity","strokeDashoffset","showCopyButton","onCopy","copied","setCopied","readOnly","onClick","e","target","select","setTimeout","theme","primaryColor","showCreateCode","setShowCreateCode","setNewCode","newDisplayName","setNewDisplayName","isCreating","setIsCreating","themeStyles","isDark","borderColor","text","getThemeStyles","formatCurrency","totalEarned","pendingBalance","totalRevenue","placeholder","onChange","trim","undefined","disabled","isDefault","rel"],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ReferralWidgetProps, ReferralLinkProps, ReferralStatsProps, AnalyticsProps, UsePartnerConfig, UsePartnerReturn, Partner, ReferralCode, PartnerStats } from './react';
|
|
2
|
+
export { ReferralWidget, ReferralLink, ReferralStats, Analytics, usePartner } from './react';
|
|
3
|
+
export type { ReferralWidgetProps, ReferralLinkProps, ReferralStatsProps, AnalyticsProps, UsePartnerConfig, UsePartnerReturn, Partner, ReferralCode, PartnerStats };
|
|
4
|
+
//# sourceMappingURL=index.react.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.react.d.ts","sourceRoot":"","sources":["../../src/index.react.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnL,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7F,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
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;
|
|
3
|
+
//# sourceMappingURL=Analytics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Analytics.d.ts","sourceRoot":"","sources":["../../../src/react/Analytics.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,KAAa,EACb,QAAQ,GACT,EAAE,cAAc,gKAehB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Loader.d.ts","sourceRoot":"","sources":["../../../src/react/Loader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAmDxC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReferralLink.d.ts","sourceRoot":"","sources":["../../../src/react/ReferralLink.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,cAAc,EACd,KAAK,EACL,cAAqB,EACrB,MAAM,GACP,EAAE,iBAAiB,qBAkCnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReferralStats.d.ts","sourceRoot":"","sources":["../../../src/react/ReferralStats.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,WAAW,EACX,OAAO,EACP,QAAgB,GACjB,EAAE,kBAAkB,qBAwBpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReferralWidget.d.ts","sourceRoot":"","sources":["../../../src/react/ReferralWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAI9C,wBAAgB,cAAc,CAAC,EAC7B,WAAW,EACX,KAAK,EACL,SAAS,EACT,MAAM,EACN,KAAe,EACf,YAAwB,GACzB,EAAE,mBAAmB,qBAqNrB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { ReferralWidget } from './ReferralWidget';
|
|
2
|
+
export { ReferralLink } from './ReferralLink';
|
|
3
|
+
export { ReferralStats } from './ReferralStats';
|
|
4
|
+
export { Analytics } from './Analytics';
|
|
5
|
+
export { Loader } from './Loader';
|
|
6
|
+
export { usePartner } from './usePartner';
|
|
7
|
+
export type { Partner, ReferralCode, PartnerStats, UsePartnerConfig, UsePartnerReturn, ReferralWidgetProps, ReferralLinkProps, ReferralStatsProps, AnalyticsProps, } from './types';
|
|
8
|
+
export type { LoaderProps } from './Loader';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,YAAY,EACV,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
export interface Partner {
|
|
2
|
+
id: string;
|
|
3
|
+
email: string;
|
|
4
|
+
firstName?: string;
|
|
5
|
+
lastName?: string;
|
|
6
|
+
company?: string;
|
|
7
|
+
status: string;
|
|
8
|
+
totalClicks: number;
|
|
9
|
+
totalConversions: number;
|
|
10
|
+
totalRevenue: number;
|
|
11
|
+
totalEarned: number;
|
|
12
|
+
pendingBalance: number;
|
|
13
|
+
}
|
|
14
|
+
export interface ReferralCode {
|
|
15
|
+
id: string;
|
|
16
|
+
code: string;
|
|
17
|
+
displayName?: string;
|
|
18
|
+
destinationUrl?: string;
|
|
19
|
+
isDefault: boolean;
|
|
20
|
+
clicks: number;
|
|
21
|
+
conversions: number;
|
|
22
|
+
revenue: number;
|
|
23
|
+
createdAt: string;
|
|
24
|
+
}
|
|
25
|
+
export interface PartnerStats {
|
|
26
|
+
clicks: number;
|
|
27
|
+
signups: number;
|
|
28
|
+
conversions: number;
|
|
29
|
+
}
|
|
30
|
+
export interface UsePartnerConfig {
|
|
31
|
+
workspaceId: string;
|
|
32
|
+
email: string;
|
|
33
|
+
signature: string;
|
|
34
|
+
apiUrl?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface UsePartnerReturn {
|
|
37
|
+
partner: Partner | null;
|
|
38
|
+
codes: ReferralCode[];
|
|
39
|
+
stats: PartnerStats | null;
|
|
40
|
+
isLoading: boolean;
|
|
41
|
+
error: string | null;
|
|
42
|
+
referralLink: (code: string) => string;
|
|
43
|
+
copyLink: (code: string) => Promise<void>;
|
|
44
|
+
createCode: (code: string, displayName?: string) => Promise<ReferralCode | null>;
|
|
45
|
+
refresh: () => Promise<void>;
|
|
46
|
+
}
|
|
47
|
+
export interface ReferralWidgetProps {
|
|
48
|
+
workspaceId: string;
|
|
49
|
+
email: string;
|
|
50
|
+
signature: string;
|
|
51
|
+
apiUrl?: string;
|
|
52
|
+
theme?: "light" | "dark";
|
|
53
|
+
primaryColor?: string;
|
|
54
|
+
}
|
|
55
|
+
export interface ReferralLinkProps {
|
|
56
|
+
code: string;
|
|
57
|
+
destinationUrl: string;
|
|
58
|
+
label?: string;
|
|
59
|
+
showCopyButton?: boolean;
|
|
60
|
+
onCopy?: () => void;
|
|
61
|
+
}
|
|
62
|
+
export interface ReferralStatsProps {
|
|
63
|
+
clicks: number;
|
|
64
|
+
conversions: number;
|
|
65
|
+
revenue: number;
|
|
66
|
+
currency?: string;
|
|
67
|
+
}
|
|
68
|
+
export interface AnalyticsProps {
|
|
69
|
+
publicKey: string;
|
|
70
|
+
apiUrl?: string;
|
|
71
|
+
trackingParam?: string;
|
|
72
|
+
cookieExpiryDays?: number;
|
|
73
|
+
debug?: boolean;
|
|
74
|
+
children?: React.ReactNode;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/react/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePartner.d.ts","sourceRoot":"","sources":["../../../src/react/usePartner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAuC,MAAM,SAAS,CAAC;AAIlG,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAmIrE"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export interface TrackerConfig {
|
|
2
|
+
apiUrl: string;
|
|
3
|
+
programSlug: string;
|
|
4
|
+
debug: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface TrackPayload {
|
|
7
|
+
event: "click" | "signup" | "sale" | "pageview";
|
|
8
|
+
data: Record<string, any>;
|
|
9
|
+
meta: {
|
|
10
|
+
url: string;
|
|
11
|
+
referrer: string;
|
|
12
|
+
userAgent: string;
|
|
13
|
+
language: string;
|
|
14
|
+
timezone: string;
|
|
15
|
+
timestamp: number;
|
|
16
|
+
sdkVersion: string;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export declare class Tracker {
|
|
20
|
+
private config;
|
|
21
|
+
constructor(config: Partial<TrackerConfig> & {
|
|
22
|
+
programSlug: string;
|
|
23
|
+
});
|
|
24
|
+
private log;
|
|
25
|
+
private getEndpoint;
|
|
26
|
+
private getMeta;
|
|
27
|
+
send(event: "click" | "signup" | "sale" | "pageview", data: Record<string, any>): Promise<boolean>;
|
|
28
|
+
trackClick(data: {
|
|
29
|
+
code: string;
|
|
30
|
+
refId: string;
|
|
31
|
+
}): Promise<boolean>;
|
|
32
|
+
trackSignup(data: {
|
|
33
|
+
code: string;
|
|
34
|
+
refId: string;
|
|
35
|
+
email?: string;
|
|
36
|
+
externalCustomerId?: string;
|
|
37
|
+
metadata?: Record<string, any>;
|
|
38
|
+
}): Promise<boolean>;
|
|
39
|
+
trackSale(data: {
|
|
40
|
+
code: string;
|
|
41
|
+
refId: string;
|
|
42
|
+
externalCustomerId: string;
|
|
43
|
+
amount: number;
|
|
44
|
+
currency: string;
|
|
45
|
+
provider?: string;
|
|
46
|
+
metadata?: Record<string, any>;
|
|
47
|
+
}): Promise<boolean>;
|
|
48
|
+
trackPageview(data: {
|
|
49
|
+
code: string;
|
|
50
|
+
refId: string;
|
|
51
|
+
}): Promise<boolean>;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../src/tracker.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;IAQpE,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,OAAO;IAgBT,IAAI,CACR,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,EAC/C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,OAAO,CAAC;IA0CnB,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE,WAAW,CAAC,IAAI,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpB,SAAS,CAAC,IAAI,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,EAAE,MAAM,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpB,aAAa,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAGvE"}
|