@frak-labs/components
Version:
Frak Wallet components, helping any person to interact with the Frak wallet.
1 lines • 1.44 kB
JavaScript
import{b as e,i as t}from"./loader.js";import{c as n,d as r,i,o as a,t as o,u as s}from"./usePlacement.BgMXY5CX.js";import{t as c}from"./useGlobalComponents.TG9kIYSc.js";import{t as l}from"./useLightDomStyles.tjNBKcOr.js";import{t as u}from"./formatReward.B1ZyoceC.js";import{t as d}from"./useReward.BtBpuMwt.js";import{t as f}from"./embeddedWallet.BS-9u4Be.js";function p({placement:r,text:p=`Share and earn!`,classname:m=``,noRewardText:h,targetInteraction:g,clickAction:_,preview:v}){let y=!!v,b=o(r),x=c(),S=b?.components?.buttonShare??x?.buttonShare;l(`frak-button-share`,r,S?.css);let C=a(()=>b?.targetInteraction===void 0?g:b.targetInteraction,[b?.targetInteraction,g]),w=S?.text??p,T=S?.noRewardText??h,E=a(()=>w.includes(`{REWARD}`),[w]),D=a(()=>S?.clickAction??_??`sharing-page`,[S?.clickAction,_]),{shouldRender:O,isHidden:k,isClientReady:A}=i(),{reward:j}=d(E&&A,C),M=a(()=>E?j?u(w,j):T??u(w,void 0):w,[E,w,T,j]),N=n(()=>{if(!y){if(e(window.FrakSetup.client,`share_button_clicked`,{placement:r,target_interaction:C,has_reward:!!j,click_action:D}),D===`embedded-wallet`){f(C,r);return}t(C,r)}},[y,D,C,r,j]);if(!y&&(!O||k))return null;let P=[`button`,`button__fadeIn`,m].filter(Boolean).join(` `);return s(`button`,{type:`button`,disabled:!y&&!A,class:P,onClick:N,children:M})}r(p,`frak-button-share`,[`text`,`placement`,`classname`,`clickAction`,`noRewardText`,`targetInteraction`,`preview`],{shadow:!1});export{p as ButtonShare};