@frak-labs/components 1.0.4 → 1.0.5-beta.53162c2d
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/cdn/Banner.CcOWT4lZ.js +178 -0
- package/cdn/ButtonShare._hjtruGc.js +1 -0
- package/cdn/ButtonWallet.L8LRS_pt.js +40 -0
- package/cdn/PostPurchase.DECOqME5.js +89 -0
- package/cdn/components.js +1 -1
- package/cdn/embeddedWallet.CDUxjdX2.js +1 -0
- package/cdn/loader.js +1 -1
- package/cdn/replay-V6FXES7X.CNozpSRg.js +1 -0
- package/cdn/useReward.BtBpuMwt.js +1 -0
- package/dist/banner.d.ts +17 -1
- package/dist/banner.js +7 -5
- package/dist/buttonShare.js +3 -3
- package/dist/buttonWallet.js +17 -1
- package/dist/embeddedWallet-By3_p5Xc.js +18 -0
- package/dist/openInApp.js +2 -2
- package/dist/postPurchase.js +3 -74
- package/dist/{useLightDomStyles-DVe5UDg6.js → useLightDomStyles-C8giLInY.js} +1 -1
- package/dist/{usePlacement-DzEuVg_u.js → usePlacement-5kbU3BKj.js} +144 -30
- package/package.json +3 -3
- package/cdn/Banner.B1y3jwHv.js +0 -178
- package/cdn/ButtonShare.elMtdxF3.js +0 -1
- package/cdn/ButtonWallet.BUUPX0gO.js +0 -40
- package/cdn/PostPurchase.Cy7-FrRh.js +0 -89
- package/cdn/replay-V6FXES7X.BoL9fAjx.js +0 -1
- package/cdn/sharingPage.BYsqcN9O.js +0 -1
- package/cdn/useReward.B530suzR.js +0 -1
- package/dist/sharingPage-D6fQEXV9.js +0 -15
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import{S as e,T as t,a as n,b as r,l as i,s as a,x as o}from"./loader.js";import{a as s,c,d as l,i as ee,l as u,o as d,s as f,t as p,u as m}from"./usePlacement.BgMXY5CX.js";import{r as h,t as g}from"./GiftIcon.eRNTGQ_r.js";import{t as _}from"./useGlobalComponents.TG9kIYSc.js";import{t as v}from"./useLightDomStyles.tjNBKcOr.js";import{n as te,t as y}from"./formatReward.B1ZyoceC.js";import{t as b}from"./sharingPage.BYsqcN9O.js";var ne=`PostPurchase_card__5fv5lh0`,re=`PostPurchase_cardLayout__5fv5lh1`,ie=`PostPurchase_cardLeft__5fv5lh2`,ae=`PostPurchase_cardRight__5fv5lh3`,oe=`PostPurchase_cta__5fv5lh6 sharedBaseCss_buttonReset__7cswil0`,se=`PostPurchase_customImage__5fv5lha`,ce=`PostPurchase_frakLogo__5fv5lhb`,le=`PostPurchase_giftIcon__5fv5lh8`,ue=`PostPurchase_icon__5fv5lh7`,de=`PostPurchase_imageWrapper__5fv5lh9`,fe=`PostPurchase_message__5fv5lh5`;function x(e){try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function pe(e){if(!e)return null;if(Array.isArray(e))return e;if(typeof e!=`string`)return null;try{let t=JSON.parse(e);return Array.isArray(t)?t:null}catch{return null}}function S(e){if(!e||typeof e!=`object`)return null;let t=e,n=typeof t.title==`string`?t.title.trim():``;if(n===``)return null;let r={title:n};return typeof t.imageUrl==`string`&&x(t.imageUrl)&&(r.imageUrl=t.imageUrl),typeof t.link==`string`&&x(t.link)&&(r.link=t.link),typeof t.utmContent==`string`&&t.utmContent!==``&&(r.utmContent=t.utmContent),r}function C(e,t){let n=t.rewards.find(e=>e.interactionTypeKey===`purchase`&&(e.referrer||e.referee));if(!n)return null;let r=e?.isReferred&&n.referee?`referee`:`referrer`;return{variant:r,reward:r===`referee`?n.referee:n.referrer,merchantDomain:t.onChainMetadata.domain}}function w({customerId:l,orderId:x,token:w,sharingUrl:T,merchantId:E,placement:D,classname:O=``,variant:k,badgeText:A,referrerText:j,refereeText:M,ctaText:N,preview:P,previewVariant:F,products:I,imageUrl:L}){let R=!!P,{shouldRender:z,isHidden:B,isClientReady:V}=ee(),H=p(D);v(`frak-post-purchase`,D,H?.components?.postPurchase?.css,`.PostPurchase_card__5fv5lh0 {
|
|
2
|
-
padding: 16px;
|
|
3
|
-
border-radius: 12px;
|
|
4
|
-
background-color: var(--surface-background__pbq4akc);
|
|
5
|
-
border: 1px solid var(--border-default__pbq4akv);
|
|
6
|
-
}
|
|
7
|
-
.PostPurchase_cardLayout__5fv5lh1 {
|
|
8
|
-
display: flex;
|
|
9
|
-
flex-direction: row;
|
|
10
|
-
align-items: center;
|
|
11
|
-
gap: 32px;
|
|
12
|
-
}
|
|
13
|
-
.PostPurchase_cardLeft__5fv5lh2 {
|
|
14
|
-
flex-grow: 1;
|
|
15
|
-
min-width: 0;
|
|
16
|
-
display: flex;
|
|
17
|
-
flex-direction: column;
|
|
18
|
-
gap: 8px;
|
|
19
|
-
}
|
|
20
|
-
.PostPurchase_cardRight__5fv5lh3 {
|
|
21
|
-
flex-shrink: 0;
|
|
22
|
-
display: flex;
|
|
23
|
-
flex-direction: column;
|
|
24
|
-
align-items: flex-end;
|
|
25
|
-
gap: 8px;
|
|
26
|
-
text-align: right;
|
|
27
|
-
}
|
|
28
|
-
.PostPurchase_badge__5fv5lh4 {
|
|
29
|
-
align-self: flex-start;
|
|
30
|
-
background-color: #FFF534;
|
|
31
|
-
border-radius: 4px;
|
|
32
|
-
padding: 4px 8px;
|
|
33
|
-
font-size: 12px;
|
|
34
|
-
font-weight: 600;
|
|
35
|
-
line-height: 12px;
|
|
36
|
-
color: var(--text-primary__pbq4ak0);
|
|
37
|
-
}
|
|
38
|
-
.PostPurchase_message__5fv5lh5 {
|
|
39
|
-
margin: 0;
|
|
40
|
-
font-size: 16px;
|
|
41
|
-
line-height: 22px;
|
|
42
|
-
color: var(--text-primary__pbq4ak0);
|
|
43
|
-
font-weight: 600;
|
|
44
|
-
}
|
|
45
|
-
.PostPurchase_cta__5fv5lh6 {
|
|
46
|
-
display: inline-flex;
|
|
47
|
-
align-items: center;
|
|
48
|
-
justify-content: center;
|
|
49
|
-
gap: 4px;
|
|
50
|
-
padding: 12px 16px;
|
|
51
|
-
border-radius: 9999px;
|
|
52
|
-
background-color: var(--text-primary__pbq4ak0);
|
|
53
|
-
color: var(--text-onAction__pbq4ak6);
|
|
54
|
-
font-size: 12px;
|
|
55
|
-
font-weight: bold;
|
|
56
|
-
text-transform: uppercase;
|
|
57
|
-
}
|
|
58
|
-
.PostPurchase_cta__5fv5lh6:disabled {
|
|
59
|
-
opacity: 0.7;
|
|
60
|
-
cursor: default;
|
|
61
|
-
}
|
|
62
|
-
.PostPurchase_icon__5fv5lh7 {
|
|
63
|
-
margin: -2px 0;
|
|
64
|
-
}
|
|
65
|
-
.PostPurchase_giftIcon__5fv5lh8 {
|
|
66
|
-
display: block;
|
|
67
|
-
flex-shrink: 0;
|
|
68
|
-
}
|
|
69
|
-
.PostPurchase_imageWrapper__5fv5lh9 {
|
|
70
|
-
flex-shrink: 0;
|
|
71
|
-
display: flex;
|
|
72
|
-
align-items: center;
|
|
73
|
-
justify-content: center;
|
|
74
|
-
width: 80px;
|
|
75
|
-
height: 80px;
|
|
76
|
-
overflow: hidden;
|
|
77
|
-
}
|
|
78
|
-
.PostPurchase_customImage__5fv5lha {
|
|
79
|
-
max-width: 100%;
|
|
80
|
-
max-height: 100%;
|
|
81
|
-
width: auto;
|
|
82
|
-
height: auto;
|
|
83
|
-
object-fit: contain;
|
|
84
|
-
display: block;
|
|
85
|
-
}
|
|
86
|
-
.PostPurchase_frakLogo__5fv5lhb {
|
|
87
|
-
display: block;
|
|
88
|
-
margin-left: auto;
|
|
89
|
-
}`,t);let[U,me]=f(null),[W,G]=f(!1);u(()=>{R||!V||!l||!x||!w||n({customerId:l,orderId:x,token:w,merchantId:E}).catch(()=>{})},[R,V,l,x,w,E]),u(()=>{if(R||!V||W)return;let t=window.FrakSetup?.client;t&&Promise.all([a(t),i(t)]).then(([e,t])=>{G(!0),me(C(e,t))}).catch(t=>{if(t instanceof e&&t.code===o.configError){G(!0);return}})},[R,V,W]);let K=s(null),q=k??U?.variant??(R?F??`referrer`:void 0),J=T??U?.merchantDomain,Y=d(()=>{if(!U?.reward)return;let e=window.FrakSetup?.client?.config?.metadata?.currency;return te(U.reward,e)},[U?.reward]),he=_(),X=H?.components?.postPurchase??he?.postPurchase,Z=A??X?.badgeText,Q=d(()=>({message:q===`referee`?Y?y(M??X?.refereeText??`You just earned {REWARD}! Share with friends to earn even more.`,Y):M??X?.refereeNoRewardText??`You just earned a reward! Share with friends to earn even more.`:Y?y(j??X?.referrerText??`Earn {REWARD} by sharing this with your friends!`,Y):j??X?.referrerNoRewardText??`Share this with your friends and earn rewards!`,cta:Y?y(N??X?.ctaText??`Share & earn {REWARD}`,Y):N??X?.ctaNoRewardText??`Share & earn`}),[q,Y,X,j,M,N]);u(()=>{q&&K.current!==q&&(!R&&(!z||B||!V)||(r(window.FrakSetup?.client,`post_purchase_impression`,{placement:D,variant:q,has_reward:!!U?.reward}),K.current=q))},[q,z,B,V,R,D,U?.reward]);let $=d(()=>{let e=pe(I);if(!e)return;let t=[];for(let n of e){let e=S(n);e&&t.push(e)}return t.length>0?t:void 0},[I]),ge=c(()=>{q&&(r(window.FrakSetup?.client,`post_purchase_clicked`,{placement:D,variant:q}),b(void 0,D,{link:J,products:$}))},[q,D,J,$]);return!q||!R&&(!z||B||!U)?null:m(`div`,{className:[ne,O].filter(Boolean).join(` `),children:m(`div`,{class:re,children:[m(`div`,{class:ie,children:[Z&&m(`span`,{class:`PostPurchase_badge__5fv5lh4`,children:Z}),m(`p`,{class:fe,children:Q.message}),m(`button`,{type:`button`,className:`${oe} button`,disabled:!R&&!V,onClick:R?void 0:ge,children:[Q.cta,m(`svg`,{width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`,className:`${ue} button`,children:m(`path`,{d:`M13.8984 11.144C13.9864 11.052 14.1543 11.1114 14.1543 11.2388V11.644C14.1543 13.0509 12.6288 14.1918 10.7471 14.1919C8.86523 14.1919 7.33984 13.051 7.33984 11.644V11.2388C7.33984 11.1114 7.50675 11.052 7.59473 11.144C8.3452 11.9295 9.47906 12.4292 10.7471 12.4292C12.0149 12.4291 13.148 11.9293 13.8984 11.144ZM1.8457 9.64795C1.8457 9.51169 2.01094 9.44452 2.10254 9.54053C2.85304 10.3238 3.98586 10.8247 5.25293 10.8247C5.52246 10.8247 5.78608 10.8026 6.04102 10.7593C6.25744 10.7225 6.46582 10.8816 6.46582 11.1011V12.1704C6.46564 12.319 6.36769 12.4507 6.22266 12.4829C5.91535 12.5512 5.58981 12.5874 5.25293 12.5874C3.3711 12.5874 1.8457 11.4469 1.8457 10.0396V9.64795ZM10.7471 6.20654C12.6288 6.20666 14.1543 7.3475 14.1543 8.75439C14.1541 10.1612 12.6287 11.3012 10.7471 11.3013C8.86535 11.3013 7.34004 10.1612 7.33984 8.75439C7.33984 7.34743 8.86523 6.20654 10.7471 6.20654ZM1.8457 6.8501C1.84597 6.71385 2.01208 6.64848 2.10352 6.74365C2.85393 7.52827 3.98602 8.0278 5.25293 8.02783C5.52282 8.02783 5.78667 8.00448 6.04199 7.96143C6.258 7.92499 6.46582 8.08514 6.46582 8.3042V9.37256C6.46582 9.52127 6.36783 9.65378 6.22266 9.68604C5.91537 9.75429 5.58979 9.79053 5.25293 9.79053C3.3711 9.79048 1.8457 8.64863 1.8457 7.24268V6.8501ZM5.25293 1.80811C7.13481 1.80811 8.66016 2.94856 8.66016 4.35596C8.66008 5.76331 7.13476 6.90381 5.25293 6.90381C3.37115 6.90376 1.84578 5.76328 1.8457 4.35596C1.8457 2.94858 3.3711 1.80815 5.25293 1.80811Z`,fill:`currentColor`})})]})]}),m(`div`,{class:ae,children:[L?m(`span`,{class:de,children:m(`img`,{src:L,alt:``,class:se})}):m(g,{className:le,width:80,height:80}),m(h,{className:ce,width:42,height:24})]})]})})}l(w,`frak-post-purchase`,[`customerId`,`orderId`,`token`,`sharingUrl`,`merchantId`,`placement`,`classname`,`variant`,`badgeText`,`referrerText`,`refereeText`,`ctaText`,`products`,`preview`,`previewVariant`,`imageUrl`],{shadow:!1});export{w as PostPurchase};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function e(){return()=>{}}var t=null;function n(n,r){if(typeof document>`u`||typeof window>`u`)return;t&&t();let i=n.maxEventsPerChunk??200,a=n.flushIntervalMs??1e4,o=n.maxPayloadBytes??1048576,s=[],c=0,l=null;function u(e){if(s.length===0)return;let t=JSON.stringify(s);if(new TextEncoder().encode(t).length>o){if(s.length>1){let t=Math.floor(s.length/2),n=s.slice(0,t),r=s.slice(t),i=e&&n.some(e=>e.type===2);s=n,u(i),s=r,u(!1);return}s=[];return}let n=s[0].timestamp,i=s[s.length-1].timestamp;try{r({chunk_index:c,events_count:s.length,is_full_snapshot:e,started_at:new Date(n).toISOString(),ended_at:new Date(i).toISOString(),payload:t}),c+=1,s=[]}catch(e){throw e}}function d(e){let t=e||s.some(e=>e.type===2);s.length>=i?u(t):e&&s.length>0&&u(!0)}let f=n.maskAllText!==!1,p=n.unmaskTextSelector,m=e({emit(e,t){s.push(e),d(!!t)},checkoutEveryNms:a,maskAllInputs:n.maskAllInputs??!0,maskTextSelector:f?`*`:`[data-openpanel-replay-mask]`,maskTextFn:f&&p?(e,t)=>t?.closest(p)?e:e.replace(/\S/g,`*`):void 0,blockSelector:n.blockSelector??`[data-openpanel-replay-block]`,blockClass:n.blockClass,ignoreSelector:n.ignoreSelector});l=setInterval(()=>{s.length>0&&u(s.some(e=>e.type===2))},a);function h(){document.visibilityState===`hidden`&&s.length>0&&u(s.some(e=>e.type===2))}function g(){s.length>0&&u(s.some(e=>e.type===2))}document.addEventListener(`visibilitychange`,h),window.addEventListener(`pagehide`,g),t=()=>{s.length>0&&u(s.some(e=>e.type===2)),l&&=(clearInterval(l),null),document.removeEventListener(`visibilitychange`,h),window.removeEventListener(`pagehide`,g),m?.(),t=null}}function r(){t&&t()}export{n as startReplayRecorder,r as stopReplayRecorder};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./loader.js";async function t(t,n,r){window.FrakSetup?.client&&await e(window.FrakSetup.client,{...r?.link&&{link:r.link},...r?.products?.length&&{products:r.products},...t&&{metadata:{targetInteraction:t}}},n)}export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as e,l as t,p as n}from"./loader.js";import{l as r,s as i}from"./usePlacement.BgMXY5CX.js";import{n as a}from"./formatReward.B1ZyoceC.js";function o(e,t){switch(e.payoutType){case`fixed`:return e.amount[t];case`tiered`:return e.tiers.reduce((e,n)=>Math.max(e,n.amount[t]),0);case`percentage`:return 0}}function s({rewards:t},r,i){let s=(i?t.filter(e=>e.interactionTypeKey===i):t).map(e=>e.referrer).filter(e=>e!==void 0);if(s.length===0)return;let c=n(e(r)),l=s[0],u=o(l,c);for(let e=1;e<s.length;e++){let t=o(s[e],c);t>u&&(l=s[e],u=t)}if(u<=0){let e=s.find(e=>e.payoutType===`percentage`);if(!e)return;l=e}return a(l,r)}function c(e,n){let[a,o]=i(void 0);return r(()=>{if(!e)return;let r=window.FrakSetup?.client;r&&t(r).then(e=>{let t=r.config.metadata?.currency,i=s(e,t,n);i&&o(i)}).catch(()=>{})},[e,n]),{reward:a}}export{c as t};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { displaySharingPage } from "@frak-labs/core-sdk/actions";
|
|
2
|
-
//#region src/actions/sharingPage.ts
|
|
3
|
-
async function openSharingPage(targetInteraction, placement, options) {
|
|
4
|
-
if (!window.FrakSetup?.client) {
|
|
5
|
-
console.error("Frak client not found");
|
|
6
|
-
return;
|
|
7
|
-
}
|
|
8
|
-
await displaySharingPage(window.FrakSetup.client, {
|
|
9
|
-
...options?.link && { link: options.link },
|
|
10
|
-
...options?.products?.length && { products: options.products },
|
|
11
|
-
...targetInteraction && { metadata: { targetInteraction } }
|
|
12
|
-
}, placement);
|
|
13
|
-
}
|
|
14
|
-
//#endregion
|
|
15
|
-
export { openSharingPage as t };
|