@crossmint/client-sdk-react-ui 1.7.1 → 1.8.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/dist/index.js CHANGED
@@ -1 +1 @@
1
- var mt=Object.defineProperty,ct=Object.defineProperties;var Ct=Object.getOwnPropertyDescriptors;var K=Object.getOwnPropertySymbols;var P1=Object.prototype.hasOwnProperty,E1=Object.prototype.propertyIsEnumerable;var v1=(t,e,o)=>e in t?mt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,k=(t,e)=>{for(var o in e||(e={}))P1.call(e,o)&&v1(t,o,e[o]);if(K)for(var o of K(e))E1.call(e,o)&&v1(t,o,e[o]);return t},G=(t,e)=>ct(t,Ct(e));var Y=(t,e)=>{var o={};for(var n in t)P1.call(t,n)&&e.indexOf(n)<0&&(o[n]=t[n]);if(t!=null&&K)for(var n of K(t))e.indexOf(n)<0&&E1.call(t,n)&&(o[n]=t[n]);return o};var E=(t,e,o)=>new Promise((n,r)=>{var l=a=>{try{d(o.next(a))}catch(s){r(s)}},i=a=>{try{d(o.throw(a))}catch(s){r(s)}},d=a=>a.done?n(a.value):Promise.resolve(a.value).then(l,i);d((o=o.apply(t,e)).next())});import{install as je}from"@twind/core";import{defineConfig as ut}from"@twind/core";import ft from"@twind/preset-tailwind";var b1=ut({presets:[ft()]});import{assertValidNFTCollectionViewProps as gt,getNFTCollectionViewSrc as pt}from"@crossmint/client-sdk-base";var x1="1.7.1";var W=x1;import{jsx as yt}from"react/jsx-runtime";function o5(t){gt(t);let e=pt(t,W);return yt("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-collection-view"})}import{assertValidValidateNFTDetailProps as kt,getNFTDetailSrc as wt}from"@crossmint/client-sdk-base";import{jsx as vt}from"react/jsx-runtime";function a5(t){kt(t);let e=wt(t,W);return vt("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-details"})}import{isCryptoEmbeddedCheckoutProps as Ut,isFiatEmbeddedCheckoutProps as Ot}from"@crossmint/client-sdk-base";import{isCryptoEmbeddedCheckoutPropsWithSigner as Ft}from"@crossmint/client-sdk-base";import Tt from"bs58";import{IncomingInternalEvents as T1,OutgoingInternalEvents as L1,crossmintIFrameService as Lt,embeddedCheckoutPropsToUpdatableParamsPayload as It}from"@crossmint/client-sdk-base";import Pt from"lodash.isequal";import{useEffect as Et,useRef as bt}from"react";function N(t,e){let o=bt(e);Et(()=>{if(e.some((r,l)=>!Pt(r,o.current[l])))return o.current=e,t()},[e])}import{useEffect as S1,useState as M1}from"react";import{IncomingInternalEvents as xt,crossmintIFrameService as St}from"@crossmint/client-sdk-base";import{jsx as Mt}from"react/jsx-runtime";function _(o){var n=o,{onInternalEvent:t}=n,e=Y(n,["onInternalEvent"]);let{getUrl:r,listenToEvents:l,listenToInternalEvents:i}=St(e),[d,a]=M1(0),[s]=M1(r(e));return S1(()=>{let f=l(c=>{var h;return(h=e.onEvent)==null?void 0:h.call(e,c.data)});return()=>{f()}},[]),S1(()=>{let f=i(c=>{let{type:h,payload:v}=c.data;h===xt.UI_HEIGHT_CHANGED&&a(v.height),t==null||t(c.data)});return()=>{f()}},[]),Mt("iframe",{src:s,id:"crossmint-embedded-checkout.iframe",role:"crossmint-embedded-checkout.iframe",allow:"payment *",style:{boxShadow:"none",border:"none",padding:"0px",width:"100%",minWidth:"100%",overflow:"hidden",display:"block",userSelect:"none",transform:"translate(0px)",opacity:"1",transition:"ease 0s, opacity 0.4s ease 0.1s",height:`${d}px`}})}import{jsx as At}from"react/jsx-runtime";function o1(t){let{emitInternalEvent:e}=Lt(t),{signer:o,paymentMethod:n}=t;function r(a){let{type:s,payload:f}=a;if(s===T1.CRYPTO_PAYMENT_INCOMING_TRANSACTION){let{serializedTransaction:c}=f;console.log("[Crossmint] Received incoming transaction",c),l(c)}if(s===T1.CRYPTO_CHAIN_SWITCH){let{chain:c}=f;console.log("[Crossmint] Received change of chain",c);let h=o.handleChainSwitch;if(h==null)throw new Error("switchNetwork function should have been defined");h(c)}}function l(a){return E(this,null,function*(){try{let s;switch(n){case"SOL":s=yield i(o,a);break;case"ETH":s=yield d(o,a);break;default:throw new Error(`Unsupported payment method ${n}`)}console.log("[Crossmint] Signed and sent transaction",s),e({type:L1.CRYPTO_PAYMENT_USER_ACCEPTED,payload:{txId:s}})}catch(s){console.error("[Crossmint] Failed to sign and send transaction",s),e({type:L1.CRYPTO_PAYMENT_USER_REJECTED,payload:{}})}})}function i(a,s){return E(this,null,function*(){let{Transaction:f}=yield import("@solana/web3.js"),c=f.from(Tt.decode(s));return console.log("[Crossmint] Deserialized SOL transaction",c),yield a.signAndSendTransaction(c)})}function d(a,s){return E(this,null,function*(){let{parse:f}=yield import("@ethersproject/transactions"),c=f(s);return console.log("[Crossmint] Deserialized ETH transaction",c),yield a.signAndSendTransaction(c)})}return N(()=>{e({type:"params-update",payload:It(t)})},[t.signer.address,t.recipient,t.mintConfig,t.locale,t.currency,t.whPassThroughArgs,..."chain"in t.signer?[t.signer.chain]:[]]),At(_,k({onInternalEvent:r},t))}import{jsx as Wt}from"react/jsx-runtime";function I1(t){if(!Ft(t))throw new Error("Invalid parameters: signer is required in versions < 2.0.0");return Wt(o1,k({},t))}import{crossmintIFrameService as Rt,embeddedCheckoutPropsToUpdatableParamsPayload as Nt}from"@crossmint/client-sdk-base";import{jsx as _t}from"react/jsx-runtime";function r1(t){let{emitInternalEvent:e}=Rt(t);return N(()=>{e({type:"params-update",payload:Nt(t)})},[t.recipient,t.mintConfig,t.locale,t.currency,t.whPassThroughArgs]),_t(_,k({},t))}import{jsx as Bt}from"react/jsx-runtime";function A1(t){return Bt(r1,k({},t))}import{jsx as F1}from"react/jsx-runtime";function J5(t){if(Ot(t))return F1(A1,k({},t));if(Ut(t))return F1(I1,k({},t));throw new Error("Unsupported: Fiat is the only supported payment method.")}import{useMemo as Kt}from"react";import{useState as Gt}from"react";import{clientNames as Yt,crossmintModalService as zt,crossmintPayButtonService as $t}from"@crossmint/client-sdk-base";import{useEffect as Dt,useState as Zt}from"react";function s1(){let[t,e]=Zt(!0);return Dt(()=>{e(!1)},[]),{isServerSideRendering:t}}import{createUseStyles as Vt}from"react-jss";var Ht="#1e1e1e",W1=t=>t==="light",R1=t=>({buttonBgColor:W1(t)?"white":Ht,paragraphColor:W1(t)?"black":"white"}),jt={"@global":{"@import":"url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap')"},crossmintButton:{display:"flex","flex-direction":"row","align-items":"center",padding:"0.875rem 0.875rem","font-weight":"900",transition:"opacity ease-in-out 0.25s","border-radius":"0.5rem","font-family":'"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif',outline:"none",border:"none","box-shadow":"0px 8px 15px rgba(0, 0, 0, 0.1)","justify-content":"center",background:({buttonBgColor:t})=>t,"&:hover:enabled":{opacity:"0.6",cursor:"pointer"}},crossmintImg:{width:"21px",height:"21px","margin-right":"0.875rem"},crossmintParagraph:{color:({paragraphColor:t})=>t,margin:"0"}},N1=Vt(jt);import{Fragment as Jt,jsx as n1,jsxs as Xt}from"react/jsx-runtime";function f0(t){let w1=t,{className:e,disabled:o,onClick:n,style:r,tabIndex:l,theme:i="dark",mintTo:d,emailTo:a,listingId:s,auctionId:f,showOverlay:c=!0,mintConfig:h,whPassThroughArgs:v,environment:p,paymentMethod:w,preferredSigninMethod:P,dismissOverlayOnClick:S,prepay:M,locale:y="en-US",currency:F="usd",successCallbackURL:Z="",failureCallbackURL:V="",loginEmail:H="",projectId:x,getButtonText:T,checkoutProps:k1={experimental:!1,display:"same-tab",paymentMethods:["fiat","ETH","SOL"]}}=w1,t1=Y(w1,["className","disabled","onClick","style","tabIndex","theme","mintTo","emailTo","listingId","auctionId","showOverlay","mintConfig","whPassThroughArgs","environment","paymentMethod","preferredSigninMethod","dismissOverlayOnClick","prepay","locale","currency","successCallbackURL","failureCallbackURL","loginEmail","projectId","getButtonText","checkoutProps"]),et="clientId"in t1?t1.clientId:t1.collectionId,[j,ot]=Gt(!1),{isServerSideRendering:rt}=s1(),{connect:st}=zt({clientId:et,projectId:x,showOverlay:c,dismissOverlayOnClick:S,setConnecting:ot,libVersion:W,environment:p,clientName:Yt.reactUi,locale:y,currency:F,successCallbackURL:Z,failureCallbackURL:V,loginEmail:H}),{getButtonText:nt,handleClick:it}=$t({onClick:n,connecting:j,paymentMethod:w,locale:y,checkoutProps:k1}),lt=dt=>it(dt,()=>{st(h,d,a,s,v,w,P,M,k1)}),e1=N1(R1(i)),at=Kt(()=>n1("span",{className:e1.crossmintParagraph,role:"button-paragraph",children:T!=null?T(j,w||"fiat"):nt(j)}),[j,T,w]);return n1(Jt,{children:!rt&&Xt("button",{className:`${e1.crossmintButton} ${e||""}`,disabled:o,onClick:lt,style:k({},r),tabIndex:l,children:[n1("img",{className:e1.crossmintImg,src:"https://www.crossmint.io/assets/crossmint/logo.svg",alt:"Crossmint logo"}),at]})})}import{createContext as qt,useCallback as _1,useContext as Qt,useMemo as te,useRef as ee,useState as oe}from"react";import{createCrossmint as re}from"@crossmint/common-sdk-base";import{jsx as se}from"react/jsx-runtime";var B1=qt(null);function v0({children:t,apiKey:e,overrideBaseUrl:o}){let[n,r]=oe(0),l=ee(new Proxy(re({apiKey:e,overrideBaseUrl:o}),{set(s,f,c){return f==="jwt"&&s.jwt!==c&&r(h=>h+1),f==="refreshToken"&&s.refreshToken!==c&&r(h=>h+1),Reflect.set(s,f,c)}})),i=_1(s=>{s!==l.current.jwt&&(l.current.jwt=s)},[]),d=_1(s=>{s!==l.current.refreshToken&&(l.current.refreshToken=s)},[]),a=te(()=>({get crossmint(){return l.current},setJwt:i,setRefreshToken:d}),[i,d,n]);return se(B1.Provider,{value:a,children:t})}function z(t){let e=Qt(B1);if(e==null)throw new Error(t!=null?t:"useCrossmint must be used within a CrossmintProvider");return e}import{useContext as we}from"react";import{createContext as ue,useMemo as fe,useState as K1}from"react";import{createPortal as he}from"react-dom";import{SmartWalletError as G1,SmartWalletSDK as ge}from"@crossmint/client-sdk-smart-wallet";import{Button as B,Dialog as de,Transition as me}from"@headlessui/react";import{Fragment as ce}from"react";import{jsx as L,jsxs as ne}from"react/jsx-runtime";function $(){return ne("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[L("path",{d:"M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4"}),L("path",{d:"M14 13.12c0 2.38 0 6.38-1 8.88"}),L("path",{d:"M17.29 21.02c.12-.6.43-2.3.5-3.02"}),L("path",{d:"M2 12a10 10 0 0 1 18-6"}),L("path",{d:"M2 16h.01"}),L("path",{d:"M21.8 16c.2-2 .131-5.354 0-6"}),L("path",{d:"M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2"}),L("path",{d:"M8.65 22c.21-.66.45-1.32.57-2"}),L("path",{d:"M9 6.8a6 6 0 0 1 9 5.2v2"})]})}import{jsx as U1,jsxs as ie}from"react/jsx-runtime";function i1(){return ie("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[U1("path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"}),U1("circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor"})]})}import{jsx as g,jsxs as O1}from"react/jsx-runtime";function l1({appearance:t}){var e,o,n,r,l,i,d,a,s,f,c,h,v,p,w,P,S,M;return O1("svg",{width:"121",height:"118",viewBox:"0 0 121 118",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[g("mask",{id:"mask0_1_1167",maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"96",height:"96",children:g("path",{d:"M96 48C96 74.5097 74.5097 96 48 96C21.4903 96 0 74.5097 0 48C0 21.4903 21.4903 0 48 0C74.5097 0 96 21.4903 96 48Z",fill:(o=(e=t==null?void 0:t.colors)==null?void 0:e.background)!=null?o:"#D9D9D9"})}),g("g",{mask:"url(#mask0_1_1167)",children:g("circle",{cx:"48",cy:"48",r:"48",fill:(r=(n=t==null?void 0:t.colors)==null?void 0:n.inputBackground)!=null?r:"#F2F3F7"})}),g("path",{d:"M39.8333 29.625H39.425C35.9947 29.625 34.2795 29.625 32.9693 30.2926C31.8168 30.8798 30.8798 31.8168 30.2926 32.9693C29.625 34.2795 29.625 35.9947 29.625 39.425V39.8333M39.8333 66.375H39.425C35.9947 66.375 34.2795 66.375 32.9693 65.7074C31.8168 65.1202 30.8798 64.1832 30.2926 63.0307C29.625 61.7205 29.625 60.0053 29.625 56.575V56.1667M66.375 39.8333V39.425C66.375 35.9947 66.375 34.2795 65.7074 32.9693C65.1202 31.8168 64.1832 30.8798 63.0307 30.2926C61.7205 29.625 60.0053 29.625 56.575 29.625H56.1667M66.375 56.1667V56.575C66.375 60.0053 66.375 61.7205 65.7074 63.0307C65.1202 64.1832 64.1832 65.1202 63.0307 65.7074C61.7205 66.375 60.0053 66.375 56.575 66.375H56.1667M38.8125 39.8333V42.8958M57.1875 39.8333V42.8958M45.9583 49.2252C47.5917 49.2252 49.0208 47.796 49.0208 46.1627V39.8333M54.5337 54.5332C50.8587 58.2082 44.9379 58.2082 41.2629 54.5332",stroke:(i=(l=t==null?void 0:t.colors)==null?void 0:l.accent)!=null?i:"#04AA6D",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round"}),g("g",{mask:"url(#mask1_1_1167)",children:g("circle",{cx:"48",cy:"48",r:"48",fill:(a=(d=t==null?void 0:t.colors)==null?void 0:d.inputBackground)!=null?a:"#F2F3F7"})}),g("path",{d:"M28.2 35.3494C29.5789 34.3137 31.2928 33.7 33.15 33.7H62.85C64.7073 33.7 66.4212 34.3137 67.8 35.3494C67.7997 32.6159 65.5836 30.4 62.85 30.4H33.15C30.4164 30.4 28.2003 32.6159 28.2 35.3494Z",fill:(f=(s=t==null?void 0:t.colors)==null?void 0:s.accent)!=null?f:"#04AA6D"}),g("path",{d:"M28.2 41.9494C29.5789 40.9137 31.2928 40.3 33.15 40.3H62.85C64.7073 40.3 66.4212 40.9137 67.8 41.9494C67.7997 39.2159 65.5836 37 62.85 37H33.15C30.4164 37 28.2003 39.2159 28.2 41.9494Z",fill:(h=(c=t==null?void 0:t.colors)==null?void 0:c.accent)!=null?h:"#04AA6D"}),g("path",{d:"M41.4 43.6C42.615 43.6 43.6 44.585 43.6 45.8C43.6 48.2301 45.57 50.2 48 50.2C50.4301 50.2 52.4 48.2301 52.4 45.8C52.4 44.585 53.385 43.6 54.6 43.6H62.85C65.5838 43.6 67.8 45.8162 67.8 48.55V60.65C67.8 63.3838 65.5838 65.6 62.85 65.6H33.15C30.4162 65.6 28.2 63.3838 28.2 60.65V48.55C28.2 45.8162 30.4162 43.6 33.15 43.6H41.4Z",fill:(p=(v=t==null?void 0:t.colors)==null?void 0:v.accent)!=null?p:"#04AA6D"}),g("g",{filter:"url(#filter0_d_1_1167)",children:g("circle",{cx:"86.5625",cy:"84",r:"20",fill:(P=(w=t==null?void 0:t.colors)==null?void 0:w.inputBackground)!=null?P:"#FFFFFF"})}),g("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M86.5625 74.375C84.9562 74.375 83.4646 74.855 82.2202 75.6792C81.8173 75.946 81.2744 75.8358 81.0076 75.4329C80.7407 75.03 80.851 74.487 81.2539 74.2202C82.776 73.2121 84.602 72.625 86.5625 72.625C91.8782 72.625 96.1875 76.9343 96.1875 82.25C96.1875 85.7678 95.5178 89.1313 94.2974 92.2183C94.1197 92.6677 93.6114 92.8879 93.1619 92.7103C92.7125 92.5326 92.4923 92.0243 92.6699 91.5749C93.8106 88.6895 94.4375 85.5441 94.4375 82.25C94.4375 77.9008 90.9117 74.375 86.5625 74.375ZM79.7454 76.6951C80.1482 76.9619 80.2585 77.5048 79.9917 77.9077C79.1675 79.1521 78.6875 80.6437 78.6875 82.25C78.6875 84.132 78.1468 85.8905 77.2112 87.3751C76.9536 87.784 76.4133 87.9065 76.0044 87.6489C75.5956 87.3913 75.473 86.851 75.7307 86.4421C76.4953 85.2288 76.9375 83.7925 76.9375 82.25C76.9375 80.2895 77.5246 78.4635 78.5327 76.9414C78.7995 76.5385 79.3425 76.4282 79.7454 76.6951ZM86.5625 78.75C84.6295 78.75 83.0625 80.317 83.0625 82.25C83.0625 85.8664 81.6905 89.1643 79.4396 91.6482C79.1151 92.0063 78.5617 92.0335 78.2036 91.709C77.8455 91.3845 77.8183 90.8312 78.1428 90.4731C80.1134 88.2986 81.3125 85.4154 81.3125 82.25C81.3125 79.3505 83.663 77 86.5625 77C89.462 77 91.8125 79.3505 91.8125 82.25C91.8125 82.8884 91.7865 83.5213 91.7348 84.1475C91.695 84.6291 91.2723 84.9872 90.7907 84.9474C90.3091 84.9077 89.951 84.485 89.9908 84.0034C90.0385 83.4258 90.0625 82.841 90.0625 82.25C90.0625 80.317 88.4955 78.75 86.5625 78.75ZM86.5629 81.375C87.0461 81.375 87.4379 81.7668 87.4379 82.25C87.4379 86.8095 85.7761 90.9831 83.0262 94.1948C82.7119 94.5619 82.1595 94.6047 81.7924 94.2904C81.4254 93.9761 81.3826 93.4237 81.6969 93.0566C84.1855 90.15 85.6879 86.3766 85.6879 82.25C85.6879 81.7668 86.0796 81.375 86.5629 81.375ZM90.341 87.4219C90.8057 87.5545 91.075 88.0387 90.9424 88.5034C90.2775 90.8339 89.2506 93.0112 87.9267 94.9707C87.6562 95.3712 87.1123 95.4765 86.7119 95.2059C86.3114 94.9354 86.2061 94.3915 86.4767 93.991C87.6989 92.182 88.6463 90.1729 89.2595 88.0233C89.3921 87.5586 89.8763 87.2893 90.341 87.4219Z",fill:(M=(S=t==null?void 0:t.colors)==null?void 0:S.accent)!=null?M:"#04AA6D"}),g("defs",{children:O1("filter",{id:"filter0_d_1_1167",x:"52.5625",y:"50",width:"68",height:"68",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[g("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),g("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),g("feOffset",{}),g("feGaussianBlur",{stdDeviation:"7"}),g("feComposite",{in2:"hardAlpha",operator:"out"}),g("feColorMatrix",{type:"matrix",values:"0 0 0 0 0.0362847 0 0 0 0 0.0869733 0 0 0 0 0.0916667 0 0 0 0.12 0"}),g("feBlend",{mode:"normal",in2:"BackgroundImageFix",result:"effect1_dropShadow_1_1167"}),g("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow_1_1167",result:"shape"})]})})]})}import{jsx as b,jsxs as R}from"react/jsx-runtime";var D1=({color:t,size:e="16"})=>R("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[R("mask",{id:"mask0_794_7000",className:"mask-type:alpha",maskUnits:"userSpaceOnUse",x:"0",y:"0",width:e,height:e,children:[b("mask",{id:"path-1-inside-1_794_7000",fill:"white",children:b("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.93305 2.1844C11.7533 0.10829 15.9222 0.568901 15.9222 0.568901C15.9222 0.568901 16.0057 4.96897 14.2683 6.27064C13.1587 7.63127 10.5073 8.00011 9.1514 8.1001C10.1475 8.17355 11.8426 8.39208 13.1121 9.04226C13.9798 9.48668 14.7297 10.2076 15.1404 11.0918C15.9743 12.887 15.9222 15.6313 15.9222 15.6313C15.9222 15.6313 11.7533 16.0919 9.93305 14.0158C8.80036 12.8878 8.44965 10.9282 8.34864 9.5668C8.24764 10.9282 7.89692 12.8878 6.76423 14.0158C4.94398 16.0919 0.775056 15.6313 0.775056 15.6313C0.775056 15.6313 0.72298 12.887 1.55684 11.0918C1.96755 10.2076 2.71747 9.48668 3.5852 9.04226C4.85413 8.39237 6.54831 8.17374 7.54455 8.1002C6.54829 8.02664 4.85418 7.80801 3.5853 7.15814C2.71756 6.71372 1.96765 5.99276 1.55694 5.10857C0.723074 3.31341 0.77515 0.569103 0.77515 0.569103C0.77515 0.569103 4.94407 0.108492 6.76431 2.1846C7.89682 3.31239 8.2476 5.27155 8.34868 6.6329C8.44973 5.27155 8.80049 3.31224 9.93305 2.1844Z"})}),b("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.93305 2.1844C11.7533 0.10829 15.9222 0.568901 15.9222 0.568901C15.9222 0.568901 16.0057 4.96897 14.2683 6.27064C13.1587 7.63127 10.5073 8.00011 9.1514 8.1001C10.1475 8.17355 11.8426 8.39208 13.1121 9.04226C13.9798 9.48668 14.7297 10.2076 15.1404 11.0918C15.9743 12.887 15.9222 15.6313 15.9222 15.6313C15.9222 15.6313 11.7533 16.0919 9.93305 14.0158C8.80036 12.8878 8.44965 10.9282 8.34864 9.5668C8.24764 10.9282 7.89692 12.8878 6.76423 14.0158C4.94398 16.0919 0.775056 15.6313 0.775056 15.6313C0.775056 15.6313 0.72298 12.887 1.55684 11.0918C1.96755 10.2076 2.71747 9.48668 3.5852 9.04226C4.85413 8.39237 6.54831 8.17374 7.54455 8.1002C6.54829 8.02664 4.85418 7.80801 3.5853 7.15814C2.71756 6.71372 1.96765 5.99276 1.55694 5.10857C0.723074 3.31341 0.77515 0.569103 0.77515 0.569103C0.77515 0.569103 4.94407 0.108492 6.76431 2.1846C7.89682 3.31239 8.2476 5.27155 8.34868 6.6329C8.44973 5.27155 8.80049 3.31224 9.93305 2.1844Z",fill:"white"}),b("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.93305 2.1844C11.7533 0.10829 15.9222 0.568901 15.9222 0.568901C15.9222 0.568901 16.0057 4.96897 14.2683 6.27064C13.1587 7.63127 10.5073 8.00011 9.1514 8.1001C10.1475 8.17355 11.8426 8.39208 13.1121 9.04226C13.9798 9.48668 14.7297 10.2076 15.1404 11.0918C15.9743 12.887 15.9222 15.6313 15.9222 15.6313C15.9222 15.6313 11.7533 16.0919 9.93305 14.0158C8.80036 12.8878 8.44965 10.9282 8.34864 9.5668C8.24764 10.9282 7.89692 12.8878 6.76423 14.0158C4.94398 16.0919 0.775056 15.6313 0.775056 15.6313C0.775056 15.6313 0.72298 12.887 1.55684 11.0918C1.96755 10.2076 2.71747 9.48668 3.5852 9.04226C4.85413 8.39237 6.54831 8.17374 7.54455 8.1002C6.54829 8.02664 4.85418 7.80801 3.5853 7.15814C2.71756 6.71372 1.96765 5.99276 1.55694 5.10857C0.723074 3.31341 0.77515 0.569103 0.77515 0.569103C0.77515 0.569103 4.94407 0.108492 6.76431 2.1846C7.89682 3.31239 8.2476 5.27155 8.34868 6.6329C8.44973 5.27155 8.80049 3.31224 9.93305 2.1844Z",fill:"url(#paint0_linear_794_7000)"}),b("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.93305 2.1844C11.7533 0.10829 15.9222 0.568901 15.9222 0.568901C15.9222 0.568901 16.0057 4.96897 14.2683 6.27064C13.1587 7.63127 10.5073 8.00011 9.1514 8.1001C10.1475 8.17355 11.8426 8.39208 13.1121 9.04226C13.9798 9.48668 14.7297 10.2076 15.1404 11.0918C15.9743 12.887 15.9222 15.6313 15.9222 15.6313C15.9222 15.6313 11.7533 16.0919 9.93305 14.0158C8.80036 12.8878 8.44965 10.9282 8.34864 9.5668C8.24764 10.9282 7.89692 12.8878 6.76423 14.0158C4.94398 16.0919 0.775056 15.6313 0.775056 15.6313C0.775056 15.6313 0.72298 12.887 1.55684 11.0918C1.96755 10.2076 2.71747 9.48668 3.5852 9.04226C4.85413 8.39237 6.54831 8.17374 7.54455 8.1002C6.54829 8.02664 4.85418 7.80801 3.5853 7.15814C2.71756 6.71372 1.96765 5.99276 1.55694 5.10857C0.723074 3.31341 0.77515 0.569103 0.77515 0.569103C0.77515 0.569103 4.94407 0.108492 6.76431 2.1846C7.89682 3.31239 8.2476 5.27155 8.34868 6.6329C8.44973 5.27155 8.80049 3.31224 9.93305 2.1844Z",fill:"url(#paint1_linear_794_7000)"}),b("path",{d:"M15.9222 0.568901L16.0702 0.566093L16.0677 0.436075L15.9385 0.421794L15.9222 0.568901ZM9.93305 2.1844L10.0377 2.28951L10.0443 2.28197L9.93305 2.1844ZM14.2683 6.27064L14.1796 6.15219L14.1651 6.16306L14.1536 6.1771L14.2683 6.27064ZM9.1514 8.1001L9.14051 7.9525V8.2477L9.1514 8.1001ZM13.1121 9.04226L13.1795 8.91053L13.1121 9.04226ZM15.1404 11.0918L15.0062 11.1542L15.1404 11.0918ZM15.9222 15.6313L15.9385 15.7784L16.0677 15.7641L16.0702 15.6341L15.9222 15.6313ZM9.93305 14.0158L10.0446 13.918L10.0375 13.9109L9.93305 14.0158ZM8.34864 9.5668L8.49624 9.55585H8.20104L8.34864 9.5668ZM6.76423 14.0158L6.65955 13.9107L6.65294 13.9182L6.76423 14.0158ZM0.775056 15.6313L0.627081 15.6341L0.629548 15.7641L0.758803 15.7784L0.775056 15.6313ZM1.55684 11.0918L1.42262 11.0295L1.55684 11.0918ZM3.5852 9.04226L3.51774 8.91053L3.5852 9.04226ZM7.54455 8.1002L7.55545 8.2478L7.55545 7.9526L7.54455 8.1002ZM3.5853 7.15814L3.65276 7.02641L3.5853 7.15814ZM1.55694 5.10857L1.42271 5.17092L1.55694 5.10857ZM0.77515 0.569103L0.758897 0.421997L0.629642 0.436277L0.627175 0.566295L0.77515 0.569103ZM6.76431 2.1846L6.65277 2.2824L6.65988 2.28948L6.76431 2.1846ZM8.34868 6.6329L8.20108 6.64386L8.49627 6.64386L8.34868 6.6329ZM15.9222 0.568901C15.9385 0.421794 15.9384 0.421788 15.9383 0.421781C15.9383 0.421776 15.9382 0.421766 15.9381 0.421756C15.9379 0.421737 15.9377 0.42171 15.9374 0.421677C15.9368 0.421611 15.9359 0.421518 15.9348 0.4214C15.9326 0.421164 15.9294 0.420828 15.9252 0.420401C15.9168 0.419549 15.9045 0.418339 15.8886 0.416863C15.8567 0.413911 15.8101 0.409896 15.7503 0.405551C15.6307 0.396864 15.4584 0.386854 15.2462 0.381417C14.822 0.370549 14.2369 0.377905 13.5935 0.451055C12.3149 0.596427 10.7698 1.00557 9.82177 2.08683L10.0443 2.28197C10.9166 1.28713 12.3661 0.888514 13.6269 0.745164C14.2533 0.673953 14.8242 0.666705 15.2386 0.677323C15.4457 0.682628 15.6133 0.692384 15.7288 0.700777C15.7866 0.704972 15.8313 0.708825 15.8613 0.711607C15.8763 0.712998 15.8877 0.714121 15.8952 0.714885C15.899 0.715267 15.9018 0.715559 15.9036 0.71575C15.9045 0.715845 15.9051 0.715915 15.9055 0.715959C15.9057 0.71598 15.9059 0.715996 15.9059 0.716004C15.906 0.716008 15.906 0.716009 15.906 0.716011C15.906 0.71601 15.906 0.716008 15.9222 0.568901ZM14.3571 6.38909C14.8224 6.04044 15.156 5.49285 15.3973 4.88522C15.6393 4.27569 15.7939 3.59185 15.893 2.95438C15.9923 2.31617 16.0365 1.71984 16.056 1.28335C16.0657 1.06496 16.0693 0.88623 16.0704 0.761846C16.071 0.699646 16.0709 0.651013 16.0707 0.617781C16.0706 0.601165 16.0705 0.588397 16.0704 0.579706C16.0703 0.575361 16.0703 0.572034 16.0703 0.569756C16.0702 0.568617 16.0702 0.56774 16.0702 0.567128C16.0702 0.566822 16.0702 0.566583 16.0702 0.56641C16.0702 0.566324 16.0702 0.566244 16.0702 0.566201C16.0702 0.566139 16.0702 0.566093 15.9222 0.568901C15.7742 0.571709 15.7742 0.571697 15.7742 0.571701C15.7742 0.571725 15.7742 0.571746 15.7742 0.571794C15.7742 0.571889 15.7742 0.57205 15.7743 0.572278C15.7743 0.572733 15.7743 0.573453 15.7743 0.574434C15.7743 0.576395 15.7744 0.5794 15.7744 0.58342C15.7745 0.591459 15.7746 0.603557 15.7747 0.619486C15.7749 0.651343 15.775 0.698514 15.7744 0.759171C15.7733 0.880501 15.7698 1.0557 15.7603 1.27015C15.7411 1.69935 15.6976 2.28439 15.6005 2.90891C15.5033 3.53416 15.3531 4.19441 15.1222 4.77598C14.8905 5.35946 14.5829 5.85 14.1796 6.15219L14.3571 6.38909ZM9.16228 8.2477C9.8452 8.19734 10.858 8.07912 11.8426 7.80052C12.8222 7.52329 13.7989 7.08045 14.383 6.36418L14.1536 6.1771C13.6282 6.82146 12.7244 7.24336 11.762 7.5157C10.8044 7.78668 9.81355 7.90287 9.14051 7.9525L9.16228 8.2477ZM9.14051 8.2477C10.1336 8.32093 11.8032 8.5382 13.0446 9.17399L13.1795 8.91053C11.882 8.24595 10.1613 8.02617 9.16228 7.9525L9.14051 8.2477ZM13.0446 9.17399C13.8869 9.60539 14.6112 10.3037 15.0062 11.1542L15.2747 11.0295C14.8483 10.1116 14.0727 9.36797 13.1795 8.91053L13.0446 9.17399ZM15.0062 11.1542C15.4125 12.029 15.606 13.144 15.6968 14.0495C15.7419 14.5005 15.7613 14.896 15.7694 15.1787C15.7734 15.3199 15.7746 15.4329 15.7748 15.5103C15.7749 15.5489 15.7748 15.5787 15.7746 15.5988C15.7745 15.6088 15.7744 15.6163 15.7744 15.6213C15.7743 15.6238 15.7743 15.6257 15.7743 15.6269C15.7743 15.6275 15.7743 15.6279 15.7743 15.6282C15.7743 15.6283 15.7742 15.6284 15.7742 15.6284C15.7742 15.6285 15.7742 15.6285 15.7742 15.6285C15.7742 15.6285 15.7742 15.6285 15.9222 15.6313C16.0702 15.6341 16.0702 15.6341 16.0702 15.634C16.0702 15.634 16.0702 15.6339 16.0702 15.6339C16.0702 15.6338 16.0702 15.6336 16.0702 15.6334C16.0702 15.633 16.0702 15.6325 16.0702 15.6317C16.0703 15.6303 16.0703 15.6282 16.0703 15.6254C16.0704 15.6199 16.0705 15.6118 16.0706 15.6013C16.0708 15.5802 16.0709 15.5493 16.0708 15.5095C16.0706 15.4298 16.0694 15.3143 16.0653 15.1702C16.057 14.8822 16.0373 14.4795 15.9913 14.02C15.8996 13.1045 15.7022 11.9499 15.2747 11.0295L15.0062 11.1542ZM15.9222 15.6313C15.906 15.4842 15.906 15.4842 15.906 15.4842C15.906 15.4842 15.906 15.4842 15.9059 15.4842C15.9059 15.4842 15.9057 15.4842 15.9055 15.4842C15.9051 15.4843 15.9045 15.4843 15.9036 15.4844C15.9018 15.4846 15.899 15.4849 15.8952 15.4853C15.8877 15.4861 15.8764 15.4872 15.8613 15.4886C15.8313 15.4914 15.7866 15.4952 15.7288 15.4994C15.6133 15.5078 15.4457 15.5176 15.2386 15.5229C14.8242 15.5335 14.2533 15.5262 13.627 15.455C12.3661 15.3117 10.9166 14.9131 10.0443 13.9182L9.82177 14.1134C10.7698 15.1946 12.3149 15.6038 13.5935 15.7491C14.2369 15.8223 14.822 15.8296 15.2462 15.8188C15.4584 15.8133 15.6307 15.8033 15.7503 15.7946C15.8101 15.7903 15.8567 15.7863 15.8886 15.7833C15.9045 15.7819 15.9168 15.7806 15.9252 15.7798C15.9294 15.7794 15.9326 15.779 15.9348 15.7788C15.9359 15.7787 15.9368 15.7786 15.9374 15.7785C15.9377 15.7785 15.938 15.7785 15.9381 15.7784C15.9382 15.7784 15.9383 15.7784 15.9384 15.7784C15.9384 15.7784 15.9385 15.7784 15.9222 15.6313ZM10.0375 13.9109C9.49509 13.3708 9.13374 12.6245 8.89565 11.836C8.65794 11.0488 8.54626 10.2301 8.49624 9.55585L8.20104 9.57775C8.25202 10.2649 8.36621 11.1067 8.61228 11.9216C8.85797 12.7353 9.23832 13.5328 9.82862 14.1207L10.0375 13.9109ZM8.20104 9.55585C8.15102 10.2301 8.03934 11.0488 7.80163 11.836C7.56354 12.6245 7.20219 13.3708 6.65979 13.9109L6.86866 14.1207C7.45896 13.5328 7.83931 12.7353 8.085 11.9216C8.33107 11.1067 8.44526 10.2649 8.49624 9.57775L8.20104 9.55585ZM6.65294 13.9182C5.7807 14.9131 4.3312 15.3117 3.07033 15.455C2.44398 15.5262 1.8731 15.5335 1.45868 15.5229C1.25162 15.5176 1.08399 15.5078 0.968469 15.4994C0.910718 15.4952 0.866019 15.4914 0.835957 15.4886C0.820927 15.4872 0.809559 15.4861 0.802051 15.4853C0.798297 15.4849 0.795508 15.4846 0.79371 15.4844C0.79281 15.4843 0.792159 15.4843 0.791758 15.4842C0.791557 15.4842 0.791419 15.4842 0.791344 15.4842C0.791307 15.4842 0.791298 15.4842 0.791279 15.4842C0.791287 15.4842 0.791309 15.4842 0.775056 15.6313C0.758803 15.7784 0.758857 15.7784 0.758928 15.7784C0.758973 15.7784 0.759059 15.7784 0.759149 15.7784C0.759328 15.7785 0.75957 15.7785 0.759875 15.7785C0.760486 15.7786 0.761348 15.7787 0.76246 15.7788C0.764682 15.779 0.767901 15.7794 0.772091 15.7798C0.78047 15.7806 0.792733 15.7819 0.808682 15.7833C0.840577 15.7863 0.887222 15.7903 0.947021 15.7946C1.0666 15.8033 1.23889 15.8133 1.4511 15.8188C1.87524 15.8296 2.46036 15.8223 3.10377 15.7491C4.38242 15.6038 5.9275 15.1946 6.87551 14.1134L6.65294 13.9182ZM0.775056 15.6313C0.923031 15.6285 0.923031 15.6285 0.923031 15.6285C0.923031 15.6285 0.923031 15.6285 0.923031 15.6284C0.92303 15.6284 0.923028 15.6283 0.923025 15.6282C0.923021 15.6279 0.923013 15.6275 0.923003 15.6269C0.922983 15.6257 0.922954 15.6238 0.92292 15.6213C0.92285 15.6163 0.922758 15.6088 0.922671 15.5988C0.922498 15.5787 0.922347 15.5489 0.922448 15.5103C0.92265 15.4329 0.923856 15.3199 0.92789 15.1787C0.93596 14.896 0.955332 14.5005 1.00052 14.0495C1.09123 13.144 1.28473 12.029 1.69107 11.1542L1.42262 11.0295C0.995094 11.9499 0.797698 13.1045 0.705986 14.02C0.659956 14.4795 0.640231 14.8822 0.632007 15.1702C0.627893 15.3143 0.626654 15.4298 0.626446 15.5095C0.626342 15.5493 0.626496 15.5802 0.626679 15.6013C0.62677 15.6118 0.626868 15.6199 0.626945 15.6254C0.626983 15.6282 0.627016 15.6303 0.62704 15.6317C0.627052 15.6325 0.627062 15.633 0.627069 15.6334C0.627072 15.6336 0.627075 15.6338 0.627077 15.6339C0.627078 15.6339 0.627079 15.634 0.62708 15.634C0.62708 15.6341 0.627081 15.6341 0.775056 15.6313ZM1.69107 11.1542C2.08612 10.3037 2.81035 9.60539 3.65267 9.17399L3.51774 8.91053C2.62458 9.36797 1.84899 10.1116 1.42262 11.0295L1.69107 11.1542ZM3.65267 9.17399C4.8935 8.53848 6.56218 8.32112 7.55545 8.2478L7.53366 7.9526C6.53443 8.02636 4.81475 8.24625 3.51774 8.91053L3.65267 9.17399ZM7.55545 7.9526C6.56217 7.87926 4.89355 7.6619 3.65276 7.02641L3.51783 7.28987C4.8148 7.95413 6.53442 8.17402 7.53366 8.2478L7.55545 7.9526ZM3.65276 7.02641C2.81044 6.59501 2.08622 5.89671 1.69116 5.04622L1.42271 5.17092C1.84908 6.08882 2.62468 6.83243 3.51783 7.28987L3.65276 7.02641ZM1.69116 5.04622C1.28482 4.17144 1.09133 3.0564 1.00061 2.1509C0.955427 1.69989 0.936054 1.30436 0.927984 1.02173C0.92395 0.880461 0.922744 0.767535 0.922543 0.690143C0.922442 0.651451 0.922592 0.62165 0.922765 0.601643C0.922852 0.591639 0.922944 0.584085 0.923014 0.579092C0.923049 0.576595 0.923078 0.574739 0.923097 0.573538C0.923107 0.572937 0.923115 0.5725 0.92312 0.572228C0.923122 0.572092 0.923124 0.571998 0.923125 0.571945C0.923125 0.571918 0.923125 0.57191 0.923126 0.571897C0.923126 0.571899 0.923125 0.571911 0.77515 0.569103C0.627175 0.566295 0.627175 0.566328 0.627174 0.566372C0.627173 0.566401 0.627172 0.566455 0.627171 0.566512C0.627169 0.566626 0.627166 0.566782 0.627163 0.56698C0.627156 0.567374 0.627146 0.567935 0.627134 0.56866C0.62711 0.570111 0.627077 0.572218 0.627039 0.574969C0.626962 0.580471 0.626864 0.588545 0.626773 0.59908C0.62659 0.620148 0.626436 0.651061 0.62654 0.690914C0.626748 0.770614 0.627988 0.886112 0.632101 1.03017C0.640325 1.3182 0.66005 1.72094 0.70608 2.18041C0.797792 3.09585 0.995188 4.25054 1.42271 5.17092L1.69116 5.04622ZM0.77515 0.569103C0.791404 0.71621 0.791381 0.716212 0.791374 0.716213C0.791392 0.716211 0.791401 0.71621 0.791439 0.716206C0.791513 0.716198 0.791651 0.716183 0.791852 0.716161C0.792253 0.716117 0.792905 0.716047 0.793804 0.715952C0.795602 0.715761 0.798391 0.715469 0.802145 0.715087C0.809653 0.714323 0.821021 0.7132 0.836051 0.711809C0.866113 0.709027 0.910812 0.705174 0.968563 0.700979C1.08408 0.692586 1.25171 0.682831 1.45878 0.677525C1.87319 0.666907 2.44407 0.674155 3.07042 0.745366C4.33129 0.888717 5.78079 1.28733 6.65303 2.28217L6.8756 2.08703C5.92759 1.00577 4.38251 0.596629 3.10386 0.451257C2.46045 0.378107 1.87534 0.370751 1.45119 0.381619C1.23898 0.387056 1.06669 0.397066 0.947115 0.405753C0.887316 0.410098 0.840671 0.414113 0.808776 0.417065C0.792827 0.418541 0.780564 0.419751 0.772185 0.420603C0.767995 0.42103 0.764777 0.421367 0.762554 0.421603C0.761442 0.421721 0.76058 0.421813 0.759969 0.42188C0.759664 0.421913 0.759422 0.421939 0.759243 0.421959C0.759154 0.421968 0.759067 0.421978 0.759022 0.421983C0.758952 0.421991 0.758897 0.421997 0.77515 0.569103ZM6.65988 2.28948C7.20219 2.82952 7.56351 3.57559 7.8016 4.36396C8.03931 5.15104 8.15102 5.96962 8.20108 6.64386L8.49627 6.62194C8.44526 5.93484 8.33104 5.09316 8.08496 4.27838C7.83927 3.46487 7.45895 2.66747 6.86875 2.07973L6.65988 2.28948ZM9.82862 2.07953C9.23839 2.6673 8.85806 3.46475 8.61237 4.27829C8.36629 5.09312 8.25208 5.93484 8.20108 6.62195L8.49627 6.64386C8.54632 5.96961 8.65802 5.151 8.89573 4.36387C9.13383 3.57547 9.49515 2.82934 10.0375 2.28927L9.82862 2.07953Z",fill:"white",mask:"url(#path-1-inside-1_794_7000)"})]}),R("g",{mask:"url(#mask0_794_7000)",children:[b("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.93528 2.18471C11.7555 0.108595 15.9244 0.569206 15.9244 0.569206C15.9244 0.569206 16.0079 4.96927 14.2706 6.27095C13.1619 7.63046 10.5139 7.99981 9.15694 8.10016C10.1535 8.17385 11.8462 8.39261 13.1143 9.04207C13.982 9.4865 14.7319 10.2074 15.1427 11.0916C15.9765 12.8868 15.9244 15.6311 15.9244 15.6311C15.9244 15.6311 11.7555 16.0917 9.93528 14.0156C8.79837 12.8834 8.44927 10.9134 8.34975 9.55144C8.25023 10.9134 7.90113 12.8834 6.76422 14.0156C4.94397 16.0917 0.775056 15.6311 0.775056 15.6311C0.775056 15.6311 0.72298 12.8868 1.55684 11.0916C1.96755 10.2074 2.71747 9.4865 3.5852 9.04207C4.85328 8.39261 6.54604 8.17385 7.54256 8.10016C6.54605 8.02647 4.85328 7.8077 3.5852 7.15824C2.71747 6.71382 1.96755 5.99287 1.55684 5.10868C0.72298 3.31351 0.775056 0.569206 0.775056 0.569206C0.775056 0.569206 4.94397 0.108595 6.76422 2.18471C7.90113 3.31688 8.25023 5.28692 8.34975 6.64887C8.44927 5.28692 8.79837 3.31688 9.93528 2.18471Z",fill:t}),b("path",{d:"M3.69043 12.6953C3.69043 12.6953 6.75864 9.28222 8.29495 8.30401C9.1246 9.78129 12.139 12.638 13.0052 12.7762C13.0052 12.7762 9.478 9.79445 8.56104 8.14912C10.0352 7.30769 12.8672 4.29295 13.0044 3.42521C13.0044 3.42521 10.0582 6.93929 8.41574 7.87685C7.50345 6.25536 4.8679 3.86566 3.77333 3.42365C3.77333 3.42365 7.14486 6.47956 8.1346 8.02836C6.51967 8.93948 4.13153 11.5942 3.69043 12.6953Z",fill:"white",stroke:"white",strokeWidth:"0.180625"})]}),R("defs",{children:[R("linearGradient",{id:"paint0_linear_794_7000",x1:"0.986628",y1:"0.698447",x2:"15.8218",y2:"15.4711",gradientUnits:"userSpaceOnUse",children:[b("stop",{offset:"0.2",stopColor:"#00FF85"}),b("stop",{offset:"1",stopColor:"#00E0FF"})]}),R("linearGradient",{id:"paint1_linear_794_7000",x1:"0.774413",y1:"4.20734",x2:"15.8069",y2:"15.7558",gradientUnits:"userSpaceOnUse",children:[b("stop",{stopColor:"#60FA97"}),b("stop",{offset:"1",stopColor:"#59DEF6"})]})]})]});import{jsx as Z1,jsxs as V1}from"react/jsx-runtime";function H1({color:t}){return V1("p",{style:{display:"flex",fontSize:"0.75rem",fontWeight:"400",letterSpacing:"-0.2px",padding:"0.5rem",color:t||"#67797F"},children:["Powered by",V1("span",{className:"flex self-center pl-1 gap-1 items-center font-semibold",children:[Z1(D1,{color:t!=null?t:"#67797F",size:"12"}),Z1("span",{children:"crossmint"})]})]})}import{clsx as le}from"clsx";import{twMerge as ae}from"tailwind-merge";function a1(...t){return ae(le(t))}import{Fragment as Ce,jsx as m,jsxs as I}from"react/jsx-runtime";function U({title:t,content:e,primaryButton:o,secondaryAction:n,appearance:r}){var l,i,d,a,s;return I(de,{open:!0,onClose:()=>{},className:a1("fixed inset-0 z-20 flex items-center justify-center overflow-y-auto"),children:[m(me.Child,{as:ce,enter:"ease-out duration-400",enterFrom:"opacity-0",enterTo:"opacity-100",leave:"ease-in duration-400",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:m("div",{className:a1("fixed inset-0 bg-[rgba(139,151,151,0.2)] backdrop-blur-[2px] transition-opacity duration-300 ease-in-out -z-10")})}),m("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",width:"100%",maxWidth:"28rem",borderRadius:"1rem",boxShadow:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",zIndex:30,border:"1px solid",backgroundColor:((l=r==null?void 0:r.colors)==null?void 0:l.background)||"white",borderColor:((i=r==null?void 0:r.colors)==null?void 0:i.border)||"#D0D5DD"},onClick:f=>f.stopPropagation(),children:I("div",{className:"pt-12 pb-10 px-8",children:[m("div",{className:"flex justify-center left-1.5 relative",children:m(l1,{appearance:r})}),m("div",{className:"flex justify-center",children:m("p",{style:{fontSize:"1.125rem",lineHeight:"1.75rem",fontWeight:"bold",color:((d=r==null?void 0:r.colors)==null?void 0:d.textPrimary)||"#20343E"},children:t})}),m("div",{className:"mt-4 mb-9",children:m("div",{style:{fontWeight:"normal",color:((a=r==null?void 0:r.colors)==null?void 0:a.textSecondary)||"#67797F"},children:e})}),I("div",{className:"flex flex-col gap-4 justify-center",children:[o,n]}),m("div",{className:"flex justify-center pt-4",children:m(H1,{color:(s=r==null?void 0:r.colors)==null?void 0:s.textSecondary})})]})})]})}function j1({state:t,appearance:e}){var o,n;switch(t.type){case"create-wallet":return m(U,{title:"Create Your Wallet",appearance:e,content:I(Ce,{children:[m("div",{className:"mb-4",children:"You're about to create a wallet."}),I("div",{className:"flex flex-col gap-2",children:[I("div",{className:"flex gap-2",children:[m("div",{children:m(i1,{})}),"Your wallet will be secured with a passkey"]}),I("div",{className:"flex gap-2",children:[m("div",{children:m($,{})}),"Your device will ask you for your fingerprint, face, or screen lock to set it up"]})]})]}),primaryButton:m(B,{style:O(e),onClick:t.primaryActionOnClick,children:"Create Wallet"})});case"create-wallet-error":return m(U,{title:"Wallet Creation Failed",appearance:e,content:m("div",{className:"mb-6",children:"We couldn't create your wallet. This could be due to rejecting the request, a timeout, or not having access to your passkey on this device."}),primaryButton:m(B,{style:O(e),onClick:t.primaryActionOnClick,children:"Try again"})});case"transaction":return m(U,{title:"First Time Using Your Wallet",appearance:e,content:m("div",{className:"flex flex-col gap-2",children:I("div",{className:"flex gap-2",children:[m("div",{children:m($,{})}),m("span",{children:"Your device will ask you for your fingerprint, face, or screen lock to authorize this action."})]})}),primaryButton:m(B,{style:O(e),onClick:t.primaryActionOnClick,children:"Use Wallet"})});case"transaction-error":return m(U,{title:"Wallet Access Failed",appearance:e,content:m("div",{className:"mb-6",children:"We couldn't access your wallet. This could be due to rejecting the request, a timeout, or not having access to your passkey on this device."}),primaryButton:m(B,{style:O(e),onClick:t.primaryActionOnClick,children:"Try again"}),secondaryAction:m("a",{href:"https://docs.crossmint.com/wallets/smart-wallets/users/troubleshoot",rel:"noopener noreferrer",target:"_blank",style:{padding:"0.875rem",width:"100%",textAlign:"center",textDecoration:"none",borderRadius:"0.5rem",fontWeight:"bold",backgroundColor:((o=e==null?void 0:e.colors)==null?void 0:o.inputBackground)||"#F0F2F4",color:((n=e==null?void 0:e.colors)==null?void 0:n.textSecondary)||"#00150D"},children:"Troubleshoot"})});case"not-supported":return m(U,{title:"Passkeys Not Supported on This Device",appearance:e,content:m("div",{className:"mb-6",children:"To access your wallet with a passkey, switch to a device or browser that supports passkeys, such as Chrome or Safari on a smartphone, tablet, or modern computer"}),primaryButton:m(B,{style:O(e),onClick:t.primaryActionOnClick,children:"Understood"})});default:return null}}var O=t=>{var e,o,n,r,l,i,d;return{padding:"0.875rem",width:"100%",backgroundColor:(o=(e=t==null?void 0:t.colors)==null?void 0:e.buttonBackground)!=null?o:"#04AA6D",color:(r=(n=t==null?void 0:t.colors)==null?void 0:n.textPrimary)!=null?r:"white",borderRadius:(l=t==null?void 0:t.borderRadius)!=null?l:"8px",borderColor:(d=(i=t==null?void 0:t.colors)==null?void 0:i.border)!=null?d:"#04AA6D",borderWidth:"1px",fontWeight:"bold"}};import{jsx as ye,jsxs as ke}from"react/jsx-runtime";var d1=ue({status:"not-loaded",getOrCreateWallet:()=>Promise.resolve({startedCreation:!1}),clearWallet:()=>{}});function Y1({children:t,defaultChain:e,showWalletModals:o=!0,appearance:n}){let{crossmint:r}=z("CrossmintWalletProvider must be used within CrossmintProvider"),l=fe(()=>ge.init({clientApiKey:r.apiKey}),[r.apiKey]),[i,d]=K1({status:"not-loaded"}),[a,s]=K1({open:!1}),f=(...w)=>E(this,[...w],function*(p={type:"evm-smart-wallet",signer:{type:"PASSKEY"}}){if(i.status=="in-progress")return console.log("Wallet already loading"),{startedCreation:!1,reason:"Wallet is already loading."};if(r.jwt==null)return{startedCreation:!1,reason:'Jwt not set in "CrossmintProvider".'};try{d({status:"in-progress"});let P=yield l.getOrCreateWallet({jwt:r.jwt},e,c(p));d({status:"loaded",wallet:P})}catch(P){console.error("There was an error creating a wallet ",P),d(pe(P))}return{startedCreation:!0}}),c=p=>o&&p.signer.type==="PASSKEY"?G(k({},p),{signer:G(k({},p.signer),{onPrePasskeyRegistration:h("create-wallet"),onPasskeyRegistrationError:h("create-wallet-error"),onFirstTimePasskeySigning:h("transaction"),onFirstTimePasskeySigningError:h("transaction-error")})}):p,h=p=>()=>new Promise(w=>{s({type:p,open:!0,primaryActionOnClick:()=>{s({open:!1}),w()},secondaryActionOnClick:()=>{s({open:!1}),w()}})}),v=()=>{d({status:"not-loaded"})};return ke(d1.Provider,{value:G(k({},i),{getOrCreateWallet:f,clearWallet:v}),children:[t,a.open?he(ye(j1,{state:a,appearance:n}),document.body):null]})}function pe(t){if(t instanceof G1)return{status:"loading-error",error:t};let e=t instanceof Error?t.message:String(t),o=t instanceof Error?t.stack:void 0;return{status:"loading-error",error:new G1(`Unknown Wallet Error: ${e}`,o)}}function z1(){let t=we(d1);if(!t)throw new Error("useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider");return t}import{useContext as Be}from"react";var X="crossmint-jwt",D="crossmint-refresh-token";function J(t){let e=document.cookie.split("; ").find(o=>o.startsWith(t));return e?e.split("=")[1]:void 0}function m1(t,e,o){let n=o?new Date(o).toUTCString():"";document.cookie=`${t}=${e}; ${o?`expires=${n};`:""} path=/; SameSite=Lax;`}function c1(t){document.cookie=`${t}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`}import{createContext as Le,useEffect as p1,useState as Q1}from"react";import{createPortal as Ie}from"react-dom";import{CrossmintAuthService as Ae}from"@crossmint/client-sdk-auth";import{validateApiKeyAndGetCrossmintBaseUrl as Fe}from"@crossmint/common-sdk-base";import{Dialog as Pe,Transition as u1}from"@headlessui/react";import{Fragment as f1,useEffect as Ee,useRef as X1,useState as be}from"react";import{z as J1}from"zod";import{IFrameWindow as xe}from"@crossmint/client-sdk-window";import{CrossmintInternalEvents as Se}from"@crossmint/client-sdk-base";import{jsx as $1,jsxs as ve}from"react/jsx-runtime";function C1({className:t}){return ve("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t,children:[$1("path",{d:"M18 6 6 18"}),$1("path",{d:"m6 6 12 12"})]})}import{jsx as A,jsxs as q1}from"react/jsx-runtime";var Me=J1.object({oneTimeSecret:J1.string()}),Te={authMaterialFromAuthFrame:Me};function g1({setModalOpen:t,apiKey:e,fetchAuthMaterial:o,baseUrl:n,appearance:r,loginMethods:l}){var S,M,y,F,Z,V,H;let i=`${n}sdk/2024-09-26/auth/frame?apiKey=${e}`;r!=null&&(i+=`&uiConfig=${encodeURIComponent(JSON.stringify(r))}`),l!=null&&(i+=`&loginMethods=${l.join(",")}`);let d=X1(null),a=X1(null),[s,f]=be(0),c=48,h=32,v=c+h,p=l!=null&&l.includes("farcaster")?500:300,w=()=>{a.current!=null&&a.current.on("authMaterialFromAuthFrame",x=>{var T;o(x.oneTimeSecret),(T=a.current)==null||T.off("authMaterialFromAuthFrame"),t(!1)})},P=()=>E(this,null,function*(){if(d.current==null){console.error("Something wrong happened, please try again");return}if(a.current==null){let x=yield xe.init(d.current,{incomingEvents:Te,outgoingEvents:{}});a.current=x,w()}});return Ee(()=>{function x(T){T.data.type===Se.UI_HEIGHT_CHANGED&&f(T.data.payload.height)}return window.addEventListener("message",x),()=>{window.removeEventListener("message",x)}},[]),A(u1.Root,{show:!0,as:f1,children:q1(Pe,{as:"div",style:h1.dialog,onClose:()=>t(!1),children:[A(u1.Child,{as:f1,enter:"ease-out duration-400",enterFrom:"opacity-0",enterTo:"opacity-100",leave:"ease-in duration-400",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:A("div",{style:h1.transitionBegin})}),A(u1.Child,{as:f1,enter:"ease-out duration-400",enterFrom:"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95",enterTo:"opacity-100 translate-y-0 sm:scale-100",leave:"ease-in duration-400",leaveFrom:"opacity-100 translate-y-0 sm:scale-100",leaveTo:"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95",children:q1("div",{style:h1.transitionEnd,onClick:x=>x.stopPropagation(),children:[A("div",{style:{position:"relative",width:"100%"},children:A("button",{type:"button","aria-label":"Close",style:{width:"1.5rem",position:"absolute",right:"1.5rem",top:"1.5rem",cursor:"pointer",color:(M=(S=r==null?void 0:r.colors)==null?void 0:S.border)!=null?M:"#909ca3",outlineOffset:"4px",borderRadius:"100%"},onClick:()=>t(!1),children:A(C1,{})})}),A("iframe",{ref:d,src:i,onLoad:P,title:"Authentication Modal",style:{width:"100%",minHeight:p,border:"1px solid",borderColor:(F=(y=r==null?void 0:r.colors)==null?void 0:y.border)!=null?F:"#D0D5DD",borderRadius:(Z=r==null?void 0:r.borderRadius)!=null?Z:"1rem",backgroundColor:(H=(V=r==null?void 0:r.colors)==null?void 0:V.background)!=null?H:"white",height:s+v,paddingTop:c,paddingBottom:h}})]})})]})})}var h1={dialog:{display:"flex",justifyContent:"center",alignItems:"center",overflowY:"auto",position:"fixed",top:0,right:0,bottom:0,left:0,zIndex:20},transitionBegin:{background:"rgba(139, 151, 151, 0.2)",backdropFilter:"blur(2px)",position:"fixed",top:0,right:0,bottom:0,left:0,transitionProperty:"opacity",transitionTimingFunction:"cubic-bezier(0.4, 0, 0.2, 1)",transitionDuration:"300ms",zIndex:-10},transitionEnd:{display:"flex",flexDirection:"column",alignItems:"center",width:"100%",maxWidth:"448px",borderRadius:"0.75rem",boxShadow:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",zIndex:30}};import{Fragment as _e,jsx as q,jsxs as Ne}from"react/jsx-runtime";var y1=Le({login:()=>{},logout:()=>{},status:"logged-out",getUser:()=>{}}),We={defaultChain:"base-sepolia",createOnLogin:"off",type:"evm-smart-wallet"};function Uo({embeddedWallets:t=We,children:e,appearance:o,loginMethods:n=["email","google"]}){let[r,l]=Q1(void 0),{crossmint:i,setJwt:d,setRefreshToken:a}=z("CrossmintAuthProvider must be used within CrossmintProvider"),s=new Ae(i.apiKey),f=Fe(i.apiKey),[c,h]=Q1(!1),v=y=>{m1(X,y.jwtToken),m1(D,y.refreshToken.secret,y.refreshToken.expiresAt),d(y.jwtToken),a(y.refreshToken.secret),l(y.user)},p=()=>{c1(X),c1(D),d(void 0),a(void 0),l(void 0)};tt({crossmintAuthService:s,setAuthMaterial:v,logout:p}),p1(()=>{if(i.jwt==null){let y=J(X);d(y)}},[]),p1(()=>{i.jwt!=null&&h(!1)},[i.jwt]);let w=()=>{if(i.jwt!=null){console.log("User already logged in");return}h(!0)},P=()=>i.jwt!=null?"logged-in":c?"in-progress":"logged-out",S=y=>E(this,null,function*(){let F=yield s.refreshAuthMaterial(y);return v(F),F}),M=()=>E(this,null,function*(){if(i.jwt==null){console.log("User not logged in");return}let y=yield s.getUserFromClient(i.jwt);l(y)});return q(y1.Provider,{value:{login:w,logout:p,jwt:i.jwt,refreshToken:i.refreshToken,user:r,status:P(),getUser:M},children:Ne(Y1,{defaultChain:t.defaultChain,showWalletModals:t.showWalletModals,appearance:o,children:[q(Re,{embeddedWallets:t,accessToken:i.jwt,children:e}),c?Ie(q(g1,{baseUrl:f,setModalOpen:h,fetchAuthMaterial:S,apiKey:i.apiKey,appearance:o,loginMethods:n}),document.body):null]})})}function Re({embeddedWallets:t,children:e,accessToken:o}){let{getOrCreateWallet:n,clearWallet:r,status:l}=z1();return p1(()=>{t.createOnLogin==="all-users"&&l==="not-loaded"&&o!=null&&n({type:t.type,signer:{type:"PASSKEY"}}),l==="loaded"&&o==null&&r()},[o,l]),q(_e,{children:e})}function Ko(){let t=Be(y1);if(t===void 0)throw new Error("useAuth must be used within an AuthProvider");return t}import{useCallback as Ue,useEffect as Oe,useRef as De}from"react";import{getJWTExpiration as Ze}from"@crossmint/client-sdk-auth";import{queueTask as Ve}from"@crossmint/client-sdk-base";var He=120,Q=null;function tt({crossmintAuthService:t,setAuthMaterial:e,logout:o}){let n=De(null),r=Ue(()=>{if(Q!=null)return Q;let l=J(D);l!=null&&(Q=E(this,null,function*(){try{let i=yield t.refreshAuthMaterial(l);e(i);let d=Ze(i.jwtToken);if(d==null)throw new Error("Invalid JWT");let a=Date.now()/1e3,s=d-a-He;if(s>0){let f=Date.now()+s*1e3;n.current=Ve(r,f)}}catch(i){o(),console.error(i)}finally{Q=null}}))},[]);Oe(()=>(r(),()=>{n.current&&n.current.cancel()}),[])}import{CrossmintEvents as dr,useCrossmintEvents as mr}from"@crossmint/client-sdk-base";import{Chain as Cr,SmartWalletError as ur,UserWalletAlreadyCreatedError as fr,AdminAlreadyUsedError as hr,AdminMismatchError as gr,PasskeyMismatchError as pr,PasskeyPromptError as yr,PasskeyRegistrationError as kr,PasskeyIncompatibleAuthenticatorError as wr,ConfigError as vr,SmartWalletsNotEnabledError as Pr,EVMSendTransactionError as Er,EVMSendTransactionExecutionRevertedError as br}from"@crossmint/client-sdk-smart-wallet";je(b1);export{hr as AdminAlreadyUsedError,gr as AdminMismatchError,y1 as AuthContext,Cr as Chain,vr as ConfigError,Uo as CrossmintAuthProvider,dr as CrossmintEvents,o5 as CrossmintNFTCollectionView,a5 as CrossmintNFTDetail,f0 as CrossmintPayButton,J5 as CrossmintPaymentElement,v0 as CrossmintProvider,Y1 as CrossmintWalletProvider,Er as EVMSendTransactionError,br as EVMSendTransactionExecutionRevertedError,wr as PasskeyIncompatibleAuthenticatorError,pr as PasskeyMismatchError,yr as PasskeyPromptError,kr as PasskeyRegistrationError,ur as SmartWalletError,Pr as SmartWalletsNotEnabledError,fr as UserWalletAlreadyCreatedError,d1 as WalletContext,Ko as useAuth,z as useCrossmint,mr as useCrossmintEvents,tt as useRefreshToken,z1 as useWallet};
1
+ var Pe=Object.defineProperty,xe=Object.defineProperties;var Se=Object.getOwnPropertyDescriptors;var j=Object.getOwnPropertySymbols;var bt=Object.prototype.hasOwnProperty,Pt=Object.prototype.propertyIsEnumerable;var Et=(t,e,o)=>e in t?Pe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,p=(t,e)=>{for(var o in e||(e={}))bt.call(e,o)&&Et(t,o,e[o]);if(j)for(var o of j(e))Pt.call(e,o)&&Et(t,o,e[o]);return t},N=(t,e)=>xe(t,Se(e));var G=(t,e)=>{var o={};for(var n in t)bt.call(t,n)&&e.indexOf(n)<0&&(o[n]=t[n]);if(t!=null&&j)for(var n of j(t))e.indexOf(n)<0&&Pt.call(t,n)&&(o[n]=t[n]);return o};var y=(t,e,o)=>new Promise((n,r)=>{var i=d=>{try{a(o.next(d))}catch(l){r(l)}},s=d=>{try{a(o.throw(d))}catch(l){r(l)}},a=d=>d.done?n(d.value):Promise.resolve(d.value).then(i,s);a((o=o.apply(t,e)).next())});import{install as M1}from"@twind/core";import{defineConfig as Ie}from"@twind/core";import Te from"@twind/preset-tailwind";var xt=Ie({presets:[Te()]});import{assertValidNFTCollectionViewProps as Me,getNFTCollectionViewSrc as Le}from"@crossmint/client-sdk-base";var St="1.8.0";var M=St;import{jsx as Ae}from"react/jsx-runtime";function H1(t){Me(t);let e=Le(t,M);return Ae("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-collection-view"})}import{assertValidValidateNFTDetailProps as Fe,getNFTDetailSrc as Re}from"@crossmint/client-sdk-base";import{jsx as Ne}from"react/jsx-runtime";function Y1(t){Fe(t);let e=Re(t,M);return Ne("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-details"})}import{isCryptoEmbeddedCheckoutProps as qe,isFiatEmbeddedCheckoutProps as Qe}from"@crossmint/client-sdk-base";import{isCryptoEmbeddedCheckoutPropsWithSigner as je}from"@crossmint/client-sdk-base";import He from"bs58";import{IncomingInternalEvents as Wt,OutgoingInternalEvents as Mt,crossmintIFrameService as Ze,embeddedCheckoutPropsToUpdatableParamsPayload as ze}from"@crossmint/client-sdk-base";import Be from"lodash.isequal";import{useEffect as Ue,useRef as _e}from"react";function U(t,e){let o=_e(e);Ue(()=>{if(e.some((r,i)=>!Be(r,o.current[i])))return o.current=e,t()},[e])}import{useEffect as It,useState as Tt}from"react";import{IncomingInternalEvents as De,crossmintIFrameService as Ve}from"@crossmint/client-sdk-base";import{jsx as Oe}from"react/jsx-runtime";function _(o){var n=o,{onInternalEvent:t}=n,e=G(n,["onInternalEvent"]);let{getUrl:r,listenToEvents:i,listenToInternalEvents:s}=Ve(e),[a,d]=Tt(0),[l]=Tt(r(e));return It(()=>{let f=i(u=>{var h;return(h=e.onEvent)==null?void 0:h.call(e,u.data)});return()=>{f()}},[]),It(()=>{let f=s(u=>{let{type:h,payload:E}=u.data;h===De.UI_HEIGHT_CHANGED&&d(E.height),t==null||t(u.data)});return()=>{f()}},[]),Oe("iframe",{src:l,id:"crossmint-embedded-checkout.iframe",role:"crossmint-embedded-checkout.iframe",allow:"payment *",style:{boxShadow:"none",border:"none",padding:"0px",width:"100%",minWidth:"100%",overflow:"hidden",display:"block",userSelect:"none",transform:"translate(0px)",opacity:"1",transition:"ease 0s, opacity 0.4s ease 0.1s",height:`${a}px`}})}import{jsx as Ke}from"react/jsx-runtime";function et(t){let{emitInternalEvent:e}=Ze(t),{signer:o,paymentMethod:n}=t;function r(d){let{type:l,payload:f}=d;if(l===Wt.CRYPTO_PAYMENT_INCOMING_TRANSACTION){let{serializedTransaction:u}=f;console.log("[Crossmint] Received incoming transaction",u),i(u)}if(l===Wt.CRYPTO_CHAIN_SWITCH){let{chain:u}=f;console.log("[Crossmint] Received change of chain",u);let h=o.handleChainSwitch;if(h==null)throw new Error("switchNetwork function should have been defined");h(u)}}function i(d){return y(this,null,function*(){try{let l;switch(n){case"SOL":l=yield s(o,d);break;case"ETH":l=yield a(o,d);break;default:throw new Error(`Unsupported payment method ${n}`)}console.log("[Crossmint] Signed and sent transaction",l),e({type:Mt.CRYPTO_PAYMENT_USER_ACCEPTED,payload:{txId:l}})}catch(l){console.error("[Crossmint] Failed to sign and send transaction",l),e({type:Mt.CRYPTO_PAYMENT_USER_REJECTED,payload:{}})}})}function s(d,l){return y(this,null,function*(){let{Transaction:f}=yield import("@solana/web3.js"),u=f.from(He.decode(l));return console.log("[Crossmint] Deserialized SOL transaction",u),yield d.signAndSendTransaction(u)})}function a(d,l){return y(this,null,function*(){let{parse:f}=yield import("@ethersproject/transactions"),u=f(l);return console.log("[Crossmint] Deserialized ETH transaction",u),yield d.signAndSendTransaction(u)})}return U(()=>{e({type:"params-update",payload:ze(t)})},[t.signer.address,t.recipient,t.mintConfig,t.locale,t.currency,t.whPassThroughArgs,..."chain"in t.signer?[t.signer.chain]:[]]),Ke(_,p({onInternalEvent:r},t))}import{jsx as Ge}from"react/jsx-runtime";function Lt(t){if(!je(t))throw new Error("Invalid parameters: signer is required in versions < 2.0.0");return Ge(et,p({},t))}import{crossmintIFrameService as Ye,embeddedCheckoutPropsToUpdatableParamsPayload as $e}from"@crossmint/client-sdk-base";import{jsx as Je}from"react/jsx-runtime";function ot(t){let{emitInternalEvent:e}=Ye(t);return U(()=>{e({type:"params-update",payload:$e(t)})},[t.recipient,t.mintConfig,t.locale,t.currency,t.whPassThroughArgs]),Je(_,p({},t))}import{jsx as Xe}from"react/jsx-runtime";function At(t){return Xe(ot,p({},t))}import{jsx as Ft}from"react/jsx-runtime";function Ur(t){if(Qe(t))return Ft(At,p({},t));if(qe(t))return Ft(Lt,p({},t));throw new Error("Unsupported: Fiat is the only supported payment method.")}import{useMemo as so}from"react";import{useState as io}from"react";import{clientNames as ao,crossmintModalService as lo,crossmintPayButtonService as co}from"@crossmint/client-sdk-base";import{useEffect as to,useState as eo}from"react";function rt(){let[t,e]=eo(!0);return to(()=>{e(!1)},[]),{isServerSideRendering:t}}import{createUseStyles as oo}from"react-jss";var ro="#1e1e1e",Rt=t=>t==="light",Nt=t=>({buttonBgColor:Rt(t)?"white":ro,paragraphColor:Rt(t)?"black":"white"}),no={"@global":{"@import":"url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap')"},crossmintButton:{display:"flex","flex-direction":"row","align-items":"center",padding:"0.875rem 0.875rem","font-weight":"900",transition:"opacity ease-in-out 0.25s","border-radius":"0.5rem","font-family":'"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif',outline:"none",border:"none","box-shadow":"0px 8px 15px rgba(0, 0, 0, 0.1)","justify-content":"center",background:({buttonBgColor:t})=>t,"&:hover:enabled":{opacity:"0.6",cursor:"pointer"}},crossmintImg:{width:"21px",height:"21px","margin-right":"0.875rem"},crossmintParagraph:{color:({paragraphColor:t})=>t,margin:"0"}},Bt=oo(no);import{Fragment as Co,jsx as nt,jsxs as mo}from"react/jsx-runtime";function tn(t){let vt=t,{className:e,disabled:o,onClick:n,style:r,tabIndex:i,theme:s="dark",mintTo:a,emailTo:d,listingId:l,auctionId:f,showOverlay:u=!0,mintConfig:h,whPassThroughArgs:E,environment:k,paymentMethod:v,preferredSigninMethod:b,dismissOverlayOnClick:S,prepay:I,locale:w="en-US",currency:R="usd",successCallbackURL:H="",failureCallbackURL:Z="",loginEmail:z="",projectId:x,getButtonText:T,checkoutProps:wt={experimental:!1,display:"same-tab",paymentMethods:["fiat","ETH","SOL"]}}=vt,Q=G(vt,["className","disabled","onClick","style","tabIndex","theme","mintTo","emailTo","listingId","auctionId","showOverlay","mintConfig","whPassThroughArgs","environment","paymentMethod","preferredSigninMethod","dismissOverlayOnClick","prepay","locale","currency","successCallbackURL","failureCallbackURL","loginEmail","projectId","getButtonText","checkoutProps"]),he="clientId"in Q?Q.clientId:Q.collectionId,[K,pe]=io(!1),{isServerSideRendering:ye}=rt(),{connect:ge}=lo({clientId:he,projectId:x,showOverlay:u,dismissOverlayOnClick:S,setConnecting:pe,libVersion:M,environment:k,clientName:ao.reactUi,locale:w,currency:R,successCallbackURL:H,failureCallbackURL:Z,loginEmail:z}),{getButtonText:ke,handleClick:we}=co({onClick:n,connecting:K,paymentMethod:v,locale:w,checkoutProps:wt}),ve=be=>we(be,()=>{ge(h,a,d,l,E,v,b,I,wt)}),tt=Bt(Nt(s)),Ee=so(()=>nt("span",{className:tt.crossmintParagraph,role:"button-paragraph",children:T!=null?T(K,v||"fiat"):ke(K)}),[K,T,v]);return nt(Co,{children:!ye&&mo("button",{className:`${tt.crossmintButton} ${e||""}`,disabled:o,onClick:ve,style:p({},r),tabIndex:i,children:[nt("img",{className:tt.crossmintImg,src:"https://www.crossmint.io/assets/crossmint/logo.svg",alt:"Crossmint logo"}),Ee]})})}import{createContext as uo,useCallback as Ut,useContext as fo,useMemo as ho,useRef as po,useState as yo}from"react";import{createCrossmint as go}from"@crossmint/common-sdk-base";import{jsx as ko}from"react/jsx-runtime";var _t=uo(null);function ln({children:t,apiKey:e,overrideBaseUrl:o}){let[n,r]=yo(0),i=po(new Proxy(go({apiKey:e,overrideBaseUrl:o}),{set(l,f,u){return f==="jwt"&&l.jwt!==u&&r(h=>h+1),f==="refreshToken"&&l.refreshToken!==u&&r(h=>h+1),Reflect.set(l,f,u)}})),s=Ut(l=>{l!==i.current.jwt&&(i.current.jwt=l)},[]),a=Ut(l=>{l!==i.current.refreshToken&&(i.current.refreshToken=l)},[]),d=ho(()=>({get crossmint(){return i.current},setJwt:s,setRefreshToken:a}),[s,a,n]);return ko(_t.Provider,{value:d,children:t})}function L(t){let e=fo(_t);if(e==null)throw new Error(t!=null?t:"useCrossmint must be used within a CrossmintProvider");return e}import{createContext as vo,useContext as Eo,useEffect as bo,useState as Dt}from"react";import{CrossmintApiClient as wo}from"@crossmint/common-sdk-base";function Y(t,e){return new wo(t,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-ui",version:M},apiKeyExpectations:e}})}import{jsx as Po}from"react/jsx-runtime";var Vt=vo(void 0);function kn({children:t}){let[e,o]=Dt(),[n,r]=Dt(),{crossmint:i}=L(),s=Y(i);return bo(()=>{let a=d=>{if(d.origin!==new URL(s.baseUrl).origin||d.data.event!=="order:updated")return;let{order:l,orderClientSecret:f}=d.data.data;o(l),r(f)};return window.addEventListener("message",a),()=>{window.removeEventListener("message",a)}},[e]),Po(Vt.Provider,{value:{order:e,orderClientSecret:n},children:t})}function wn(){let t=Eo(Vt);if(!t)throw new Error("useCrossmintCheckout must be used within a CrossmintCheckoutProvider");return t}import{useContext as Vo}from"react";import{createContext as Fo,useMemo as Ro,useState as Yt}from"react";import{createPortal as No}from"react-dom";import{SmartWalletError as $t,SmartWalletSDK as Bo}from"@crossmint/client-sdk-smart-wallet";import{Button as D,Dialog as Wo,Transition as Mo}from"@headlessui/react";import{Fragment as Lo}from"react";import{jsx as W,jsxs as xo}from"react/jsx-runtime";function $(){return xo("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[W("path",{d:"M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4"}),W("path",{d:"M14 13.12c0 2.38 0 6.38-1 8.88"}),W("path",{d:"M17.29 21.02c.12-.6.43-2.3.5-3.02"}),W("path",{d:"M2 12a10 10 0 0 1 18-6"}),W("path",{d:"M2 16h.01"}),W("path",{d:"M21.8 16c.2-2 .131-5.354 0-6"}),W("path",{d:"M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2"}),W("path",{d:"M8.65 22c.21-.66.45-1.32.57-2"}),W("path",{d:"M9 6.8a6 6 0 0 1 9 5.2v2"})]})}import{jsx as Ot,jsxs as So}from"react/jsx-runtime";function st(){return So("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[Ot("path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"}),Ot("circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor"})]})}import{jsx as g,jsxs as Ht}from"react/jsx-runtime";function it({appearance:t}){var e,o,n,r,i,s,a,d,l,f,u,h,E,k,v,b,S,I;return Ht("svg",{width:"121",height:"118",viewBox:"0 0 121 118",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[g("mask",{id:"mask0_1_1167",maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"96",height:"96",children:g("path",{d:"M96 48C96 74.5097 74.5097 96 48 96C21.4903 96 0 74.5097 0 48C0 21.4903 21.4903 0 48 0C74.5097 0 96 21.4903 96 48Z",fill:(o=(e=t==null?void 0:t.colors)==null?void 0:e.background)!=null?o:"#D9D9D9"})}),g("g",{mask:"url(#mask0_1_1167)",children:g("circle",{cx:"48",cy:"48",r:"48",fill:(r=(n=t==null?void 0:t.colors)==null?void 0:n.inputBackground)!=null?r:"#F2F3F7"})}),g("path",{d:"M39.8333 29.625H39.425C35.9947 29.625 34.2795 29.625 32.9693 30.2926C31.8168 30.8798 30.8798 31.8168 30.2926 32.9693C29.625 34.2795 29.625 35.9947 29.625 39.425V39.8333M39.8333 66.375H39.425C35.9947 66.375 34.2795 66.375 32.9693 65.7074C31.8168 65.1202 30.8798 64.1832 30.2926 63.0307C29.625 61.7205 29.625 60.0053 29.625 56.575V56.1667M66.375 39.8333V39.425C66.375 35.9947 66.375 34.2795 65.7074 32.9693C65.1202 31.8168 64.1832 30.8798 63.0307 30.2926C61.7205 29.625 60.0053 29.625 56.575 29.625H56.1667M66.375 56.1667V56.575C66.375 60.0053 66.375 61.7205 65.7074 63.0307C65.1202 64.1832 64.1832 65.1202 63.0307 65.7074C61.7205 66.375 60.0053 66.375 56.575 66.375H56.1667M38.8125 39.8333V42.8958M57.1875 39.8333V42.8958M45.9583 49.2252C47.5917 49.2252 49.0208 47.796 49.0208 46.1627V39.8333M54.5337 54.5332C50.8587 58.2082 44.9379 58.2082 41.2629 54.5332",stroke:(s=(i=t==null?void 0:t.colors)==null?void 0:i.accent)!=null?s:"#04AA6D",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round"}),g("g",{mask:"url(#mask1_1_1167)",children:g("circle",{cx:"48",cy:"48",r:"48",fill:(d=(a=t==null?void 0:t.colors)==null?void 0:a.inputBackground)!=null?d:"#F2F3F7"})}),g("path",{d:"M28.2 35.3494C29.5789 34.3137 31.2928 33.7 33.15 33.7H62.85C64.7073 33.7 66.4212 34.3137 67.8 35.3494C67.7997 32.6159 65.5836 30.4 62.85 30.4H33.15C30.4164 30.4 28.2003 32.6159 28.2 35.3494Z",fill:(f=(l=t==null?void 0:t.colors)==null?void 0:l.accent)!=null?f:"#04AA6D"}),g("path",{d:"M28.2 41.9494C29.5789 40.9137 31.2928 40.3 33.15 40.3H62.85C64.7073 40.3 66.4212 40.9137 67.8 41.9494C67.7997 39.2159 65.5836 37 62.85 37H33.15C30.4164 37 28.2003 39.2159 28.2 41.9494Z",fill:(h=(u=t==null?void 0:t.colors)==null?void 0:u.accent)!=null?h:"#04AA6D"}),g("path",{d:"M41.4 43.6C42.615 43.6 43.6 44.585 43.6 45.8C43.6 48.2301 45.57 50.2 48 50.2C50.4301 50.2 52.4 48.2301 52.4 45.8C52.4 44.585 53.385 43.6 54.6 43.6H62.85C65.5838 43.6 67.8 45.8162 67.8 48.55V60.65C67.8 63.3838 65.5838 65.6 62.85 65.6H33.15C30.4162 65.6 28.2 63.3838 28.2 60.65V48.55C28.2 45.8162 30.4162 43.6 33.15 43.6H41.4Z",fill:(k=(E=t==null?void 0:t.colors)==null?void 0:E.accent)!=null?k:"#04AA6D"}),g("g",{filter:"url(#filter0_d_1_1167)",children:g("circle",{cx:"86.5625",cy:"84",r:"20",fill:(b=(v=t==null?void 0:t.colors)==null?void 0:v.inputBackground)!=null?b:"#FFFFFF"})}),g("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M86.5625 74.375C84.9562 74.375 83.4646 74.855 82.2202 75.6792C81.8173 75.946 81.2744 75.8358 81.0076 75.4329C80.7407 75.03 80.851 74.487 81.2539 74.2202C82.776 73.2121 84.602 72.625 86.5625 72.625C91.8782 72.625 96.1875 76.9343 96.1875 82.25C96.1875 85.7678 95.5178 89.1313 94.2974 92.2183C94.1197 92.6677 93.6114 92.8879 93.1619 92.7103C92.7125 92.5326 92.4923 92.0243 92.6699 91.5749C93.8106 88.6895 94.4375 85.5441 94.4375 82.25C94.4375 77.9008 90.9117 74.375 86.5625 74.375ZM79.7454 76.6951C80.1482 76.9619 80.2585 77.5048 79.9917 77.9077C79.1675 79.1521 78.6875 80.6437 78.6875 82.25C78.6875 84.132 78.1468 85.8905 77.2112 87.3751C76.9536 87.784 76.4133 87.9065 76.0044 87.6489C75.5956 87.3913 75.473 86.851 75.7307 86.4421C76.4953 85.2288 76.9375 83.7925 76.9375 82.25C76.9375 80.2895 77.5246 78.4635 78.5327 76.9414C78.7995 76.5385 79.3425 76.4282 79.7454 76.6951ZM86.5625 78.75C84.6295 78.75 83.0625 80.317 83.0625 82.25C83.0625 85.8664 81.6905 89.1643 79.4396 91.6482C79.1151 92.0063 78.5617 92.0335 78.2036 91.709C77.8455 91.3845 77.8183 90.8312 78.1428 90.4731C80.1134 88.2986 81.3125 85.4154 81.3125 82.25C81.3125 79.3505 83.663 77 86.5625 77C89.462 77 91.8125 79.3505 91.8125 82.25C91.8125 82.8884 91.7865 83.5213 91.7348 84.1475C91.695 84.6291 91.2723 84.9872 90.7907 84.9474C90.3091 84.9077 89.951 84.485 89.9908 84.0034C90.0385 83.4258 90.0625 82.841 90.0625 82.25C90.0625 80.317 88.4955 78.75 86.5625 78.75ZM86.5629 81.375C87.0461 81.375 87.4379 81.7668 87.4379 82.25C87.4379 86.8095 85.7761 90.9831 83.0262 94.1948C82.7119 94.5619 82.1595 94.6047 81.7924 94.2904C81.4254 93.9761 81.3826 93.4237 81.6969 93.0566C84.1855 90.15 85.6879 86.3766 85.6879 82.25C85.6879 81.7668 86.0796 81.375 86.5629 81.375ZM90.341 87.4219C90.8057 87.5545 91.075 88.0387 90.9424 88.5034C90.2775 90.8339 89.2506 93.0112 87.9267 94.9707C87.6562 95.3712 87.1123 95.4765 86.7119 95.2059C86.3114 94.9354 86.2061 94.3915 86.4767 93.991C87.6989 92.182 88.6463 90.1729 89.2595 88.0233C89.3921 87.5586 89.8763 87.2893 90.341 87.4219Z",fill:(I=(S=t==null?void 0:t.colors)==null?void 0:S.accent)!=null?I:"#04AA6D"}),g("defs",{children:Ht("filter",{id:"filter0_d_1_1167",x:"52.5625",y:"50",width:"68",height:"68",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[g("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),g("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),g("feOffset",{}),g("feGaussianBlur",{stdDeviation:"7"}),g("feComposite",{in2:"hardAlpha",operator:"out"}),g("feColorMatrix",{type:"matrix",values:"0 0 0 0 0.0362847 0 0 0 0 0.0869733 0 0 0 0 0.0916667 0 0 0 0.12 0"}),g("feBlend",{mode:"normal",in2:"BackgroundImageFix",result:"effect1_dropShadow_1_1167"}),g("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow_1_1167",result:"shape"})]})})]})}import{jsx as P,jsxs as B}from"react/jsx-runtime";var Zt=({color:t,size:e="16"})=>B("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[B("mask",{id:"mask0_794_7000",className:"mask-type:alpha",maskUnits:"userSpaceOnUse",x:"0",y:"0",width:e,height:e,children:[P("mask",{id:"path-1-inside-1_794_7000",fill:"white",children:P("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.93305 2.1844C11.7533 0.10829 15.9222 0.568901 15.9222 0.568901C15.9222 0.568901 16.0057 4.96897 14.2683 6.27064C13.1587 7.63127 10.5073 8.00011 9.1514 8.1001C10.1475 8.17355 11.8426 8.39208 13.1121 9.04226C13.9798 9.48668 14.7297 10.2076 15.1404 11.0918C15.9743 12.887 15.9222 15.6313 15.9222 15.6313C15.9222 15.6313 11.7533 16.0919 9.93305 14.0158C8.80036 12.8878 8.44965 10.9282 8.34864 9.5668C8.24764 10.9282 7.89692 12.8878 6.76423 14.0158C4.94398 16.0919 0.775056 15.6313 0.775056 15.6313C0.775056 15.6313 0.72298 12.887 1.55684 11.0918C1.96755 10.2076 2.71747 9.48668 3.5852 9.04226C4.85413 8.39237 6.54831 8.17374 7.54455 8.1002C6.54829 8.02664 4.85418 7.80801 3.5853 7.15814C2.71756 6.71372 1.96765 5.99276 1.55694 5.10857C0.723074 3.31341 0.77515 0.569103 0.77515 0.569103C0.77515 0.569103 4.94407 0.108492 6.76431 2.1846C7.89682 3.31239 8.2476 5.27155 8.34868 6.6329C8.44973 5.27155 8.80049 3.31224 9.93305 2.1844Z"})}),P("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.93305 2.1844C11.7533 0.10829 15.9222 0.568901 15.9222 0.568901C15.9222 0.568901 16.0057 4.96897 14.2683 6.27064C13.1587 7.63127 10.5073 8.00011 9.1514 8.1001C10.1475 8.17355 11.8426 8.39208 13.1121 9.04226C13.9798 9.48668 14.7297 10.2076 15.1404 11.0918C15.9743 12.887 15.9222 15.6313 15.9222 15.6313C15.9222 15.6313 11.7533 16.0919 9.93305 14.0158C8.80036 12.8878 8.44965 10.9282 8.34864 9.5668C8.24764 10.9282 7.89692 12.8878 6.76423 14.0158C4.94398 16.0919 0.775056 15.6313 0.775056 15.6313C0.775056 15.6313 0.72298 12.887 1.55684 11.0918C1.96755 10.2076 2.71747 9.48668 3.5852 9.04226C4.85413 8.39237 6.54831 8.17374 7.54455 8.1002C6.54829 8.02664 4.85418 7.80801 3.5853 7.15814C2.71756 6.71372 1.96765 5.99276 1.55694 5.10857C0.723074 3.31341 0.77515 0.569103 0.77515 0.569103C0.77515 0.569103 4.94407 0.108492 6.76431 2.1846C7.89682 3.31239 8.2476 5.27155 8.34868 6.6329C8.44973 5.27155 8.80049 3.31224 9.93305 2.1844Z",fill:"white"}),P("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.93305 2.1844C11.7533 0.10829 15.9222 0.568901 15.9222 0.568901C15.9222 0.568901 16.0057 4.96897 14.2683 6.27064C13.1587 7.63127 10.5073 8.00011 9.1514 8.1001C10.1475 8.17355 11.8426 8.39208 13.1121 9.04226C13.9798 9.48668 14.7297 10.2076 15.1404 11.0918C15.9743 12.887 15.9222 15.6313 15.9222 15.6313C15.9222 15.6313 11.7533 16.0919 9.93305 14.0158C8.80036 12.8878 8.44965 10.9282 8.34864 9.5668C8.24764 10.9282 7.89692 12.8878 6.76423 14.0158C4.94398 16.0919 0.775056 15.6313 0.775056 15.6313C0.775056 15.6313 0.72298 12.887 1.55684 11.0918C1.96755 10.2076 2.71747 9.48668 3.5852 9.04226C4.85413 8.39237 6.54831 8.17374 7.54455 8.1002C6.54829 8.02664 4.85418 7.80801 3.5853 7.15814C2.71756 6.71372 1.96765 5.99276 1.55694 5.10857C0.723074 3.31341 0.77515 0.569103 0.77515 0.569103C0.77515 0.569103 4.94407 0.108492 6.76431 2.1846C7.89682 3.31239 8.2476 5.27155 8.34868 6.6329C8.44973 5.27155 8.80049 3.31224 9.93305 2.1844Z",fill:"url(#paint0_linear_794_7000)"}),P("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.93305 2.1844C11.7533 0.10829 15.9222 0.568901 15.9222 0.568901C15.9222 0.568901 16.0057 4.96897 14.2683 6.27064C13.1587 7.63127 10.5073 8.00011 9.1514 8.1001C10.1475 8.17355 11.8426 8.39208 13.1121 9.04226C13.9798 9.48668 14.7297 10.2076 15.1404 11.0918C15.9743 12.887 15.9222 15.6313 15.9222 15.6313C15.9222 15.6313 11.7533 16.0919 9.93305 14.0158C8.80036 12.8878 8.44965 10.9282 8.34864 9.5668C8.24764 10.9282 7.89692 12.8878 6.76423 14.0158C4.94398 16.0919 0.775056 15.6313 0.775056 15.6313C0.775056 15.6313 0.72298 12.887 1.55684 11.0918C1.96755 10.2076 2.71747 9.48668 3.5852 9.04226C4.85413 8.39237 6.54831 8.17374 7.54455 8.1002C6.54829 8.02664 4.85418 7.80801 3.5853 7.15814C2.71756 6.71372 1.96765 5.99276 1.55694 5.10857C0.723074 3.31341 0.77515 0.569103 0.77515 0.569103C0.77515 0.569103 4.94407 0.108492 6.76431 2.1846C7.89682 3.31239 8.2476 5.27155 8.34868 6.6329C8.44973 5.27155 8.80049 3.31224 9.93305 2.1844Z",fill:"url(#paint1_linear_794_7000)"}),P("path",{d:"M15.9222 0.568901L16.0702 0.566093L16.0677 0.436075L15.9385 0.421794L15.9222 0.568901ZM9.93305 2.1844L10.0377 2.28951L10.0443 2.28197L9.93305 2.1844ZM14.2683 6.27064L14.1796 6.15219L14.1651 6.16306L14.1536 6.1771L14.2683 6.27064ZM9.1514 8.1001L9.14051 7.9525V8.2477L9.1514 8.1001ZM13.1121 9.04226L13.1795 8.91053L13.1121 9.04226ZM15.1404 11.0918L15.0062 11.1542L15.1404 11.0918ZM15.9222 15.6313L15.9385 15.7784L16.0677 15.7641L16.0702 15.6341L15.9222 15.6313ZM9.93305 14.0158L10.0446 13.918L10.0375 13.9109L9.93305 14.0158ZM8.34864 9.5668L8.49624 9.55585H8.20104L8.34864 9.5668ZM6.76423 14.0158L6.65955 13.9107L6.65294 13.9182L6.76423 14.0158ZM0.775056 15.6313L0.627081 15.6341L0.629548 15.7641L0.758803 15.7784L0.775056 15.6313ZM1.55684 11.0918L1.42262 11.0295L1.55684 11.0918ZM3.5852 9.04226L3.51774 8.91053L3.5852 9.04226ZM7.54455 8.1002L7.55545 8.2478L7.55545 7.9526L7.54455 8.1002ZM3.5853 7.15814L3.65276 7.02641L3.5853 7.15814ZM1.55694 5.10857L1.42271 5.17092L1.55694 5.10857ZM0.77515 0.569103L0.758897 0.421997L0.629642 0.436277L0.627175 0.566295L0.77515 0.569103ZM6.76431 2.1846L6.65277 2.2824L6.65988 2.28948L6.76431 2.1846ZM8.34868 6.6329L8.20108 6.64386L8.49627 6.64386L8.34868 6.6329ZM15.9222 0.568901C15.9385 0.421794 15.9384 0.421788 15.9383 0.421781C15.9383 0.421776 15.9382 0.421766 15.9381 0.421756C15.9379 0.421737 15.9377 0.42171 15.9374 0.421677C15.9368 0.421611 15.9359 0.421518 15.9348 0.4214C15.9326 0.421164 15.9294 0.420828 15.9252 0.420401C15.9168 0.419549 15.9045 0.418339 15.8886 0.416863C15.8567 0.413911 15.8101 0.409896 15.7503 0.405551C15.6307 0.396864 15.4584 0.386854 15.2462 0.381417C14.822 0.370549 14.2369 0.377905 13.5935 0.451055C12.3149 0.596427 10.7698 1.00557 9.82177 2.08683L10.0443 2.28197C10.9166 1.28713 12.3661 0.888514 13.6269 0.745164C14.2533 0.673953 14.8242 0.666705 15.2386 0.677323C15.4457 0.682628 15.6133 0.692384 15.7288 0.700777C15.7866 0.704972 15.8313 0.708825 15.8613 0.711607C15.8763 0.712998 15.8877 0.714121 15.8952 0.714885C15.899 0.715267 15.9018 0.715559 15.9036 0.71575C15.9045 0.715845 15.9051 0.715915 15.9055 0.715959C15.9057 0.71598 15.9059 0.715996 15.9059 0.716004C15.906 0.716008 15.906 0.716009 15.906 0.716011C15.906 0.71601 15.906 0.716008 15.9222 0.568901ZM14.3571 6.38909C14.8224 6.04044 15.156 5.49285 15.3973 4.88522C15.6393 4.27569 15.7939 3.59185 15.893 2.95438C15.9923 2.31617 16.0365 1.71984 16.056 1.28335C16.0657 1.06496 16.0693 0.88623 16.0704 0.761846C16.071 0.699646 16.0709 0.651013 16.0707 0.617781C16.0706 0.601165 16.0705 0.588397 16.0704 0.579706C16.0703 0.575361 16.0703 0.572034 16.0703 0.569756C16.0702 0.568617 16.0702 0.56774 16.0702 0.567128C16.0702 0.566822 16.0702 0.566583 16.0702 0.56641C16.0702 0.566324 16.0702 0.566244 16.0702 0.566201C16.0702 0.566139 16.0702 0.566093 15.9222 0.568901C15.7742 0.571709 15.7742 0.571697 15.7742 0.571701C15.7742 0.571725 15.7742 0.571746 15.7742 0.571794C15.7742 0.571889 15.7742 0.57205 15.7743 0.572278C15.7743 0.572733 15.7743 0.573453 15.7743 0.574434C15.7743 0.576395 15.7744 0.5794 15.7744 0.58342C15.7745 0.591459 15.7746 0.603557 15.7747 0.619486C15.7749 0.651343 15.775 0.698514 15.7744 0.759171C15.7733 0.880501 15.7698 1.0557 15.7603 1.27015C15.7411 1.69935 15.6976 2.28439 15.6005 2.90891C15.5033 3.53416 15.3531 4.19441 15.1222 4.77598C14.8905 5.35946 14.5829 5.85 14.1796 6.15219L14.3571 6.38909ZM9.16228 8.2477C9.8452 8.19734 10.858 8.07912 11.8426 7.80052C12.8222 7.52329 13.7989 7.08045 14.383 6.36418L14.1536 6.1771C13.6282 6.82146 12.7244 7.24336 11.762 7.5157C10.8044 7.78668 9.81355 7.90287 9.14051 7.9525L9.16228 8.2477ZM9.14051 8.2477C10.1336 8.32093 11.8032 8.5382 13.0446 9.17399L13.1795 8.91053C11.882 8.24595 10.1613 8.02617 9.16228 7.9525L9.14051 8.2477ZM13.0446 9.17399C13.8869 9.60539 14.6112 10.3037 15.0062 11.1542L15.2747 11.0295C14.8483 10.1116 14.0727 9.36797 13.1795 8.91053L13.0446 9.17399ZM15.0062 11.1542C15.4125 12.029 15.606 13.144 15.6968 14.0495C15.7419 14.5005 15.7613 14.896 15.7694 15.1787C15.7734 15.3199 15.7746 15.4329 15.7748 15.5103C15.7749 15.5489 15.7748 15.5787 15.7746 15.5988C15.7745 15.6088 15.7744 15.6163 15.7744 15.6213C15.7743 15.6238 15.7743 15.6257 15.7743 15.6269C15.7743 15.6275 15.7743 15.6279 15.7743 15.6282C15.7743 15.6283 15.7742 15.6284 15.7742 15.6284C15.7742 15.6285 15.7742 15.6285 15.7742 15.6285C15.7742 15.6285 15.7742 15.6285 15.9222 15.6313C16.0702 15.6341 16.0702 15.6341 16.0702 15.634C16.0702 15.634 16.0702 15.6339 16.0702 15.6339C16.0702 15.6338 16.0702 15.6336 16.0702 15.6334C16.0702 15.633 16.0702 15.6325 16.0702 15.6317C16.0703 15.6303 16.0703 15.6282 16.0703 15.6254C16.0704 15.6199 16.0705 15.6118 16.0706 15.6013C16.0708 15.5802 16.0709 15.5493 16.0708 15.5095C16.0706 15.4298 16.0694 15.3143 16.0653 15.1702C16.057 14.8822 16.0373 14.4795 15.9913 14.02C15.8996 13.1045 15.7022 11.9499 15.2747 11.0295L15.0062 11.1542ZM15.9222 15.6313C15.906 15.4842 15.906 15.4842 15.906 15.4842C15.906 15.4842 15.906 15.4842 15.9059 15.4842C15.9059 15.4842 15.9057 15.4842 15.9055 15.4842C15.9051 15.4843 15.9045 15.4843 15.9036 15.4844C15.9018 15.4846 15.899 15.4849 15.8952 15.4853C15.8877 15.4861 15.8764 15.4872 15.8613 15.4886C15.8313 15.4914 15.7866 15.4952 15.7288 15.4994C15.6133 15.5078 15.4457 15.5176 15.2386 15.5229C14.8242 15.5335 14.2533 15.5262 13.627 15.455C12.3661 15.3117 10.9166 14.9131 10.0443 13.9182L9.82177 14.1134C10.7698 15.1946 12.3149 15.6038 13.5935 15.7491C14.2369 15.8223 14.822 15.8296 15.2462 15.8188C15.4584 15.8133 15.6307 15.8033 15.7503 15.7946C15.8101 15.7903 15.8567 15.7863 15.8886 15.7833C15.9045 15.7819 15.9168 15.7806 15.9252 15.7798C15.9294 15.7794 15.9326 15.779 15.9348 15.7788C15.9359 15.7787 15.9368 15.7786 15.9374 15.7785C15.9377 15.7785 15.938 15.7785 15.9381 15.7784C15.9382 15.7784 15.9383 15.7784 15.9384 15.7784C15.9384 15.7784 15.9385 15.7784 15.9222 15.6313ZM10.0375 13.9109C9.49509 13.3708 9.13374 12.6245 8.89565 11.836C8.65794 11.0488 8.54626 10.2301 8.49624 9.55585L8.20104 9.57775C8.25202 10.2649 8.36621 11.1067 8.61228 11.9216C8.85797 12.7353 9.23832 13.5328 9.82862 14.1207L10.0375 13.9109ZM8.20104 9.55585C8.15102 10.2301 8.03934 11.0488 7.80163 11.836C7.56354 12.6245 7.20219 13.3708 6.65979 13.9109L6.86866 14.1207C7.45896 13.5328 7.83931 12.7353 8.085 11.9216C8.33107 11.1067 8.44526 10.2649 8.49624 9.57775L8.20104 9.55585ZM6.65294 13.9182C5.7807 14.9131 4.3312 15.3117 3.07033 15.455C2.44398 15.5262 1.8731 15.5335 1.45868 15.5229C1.25162 15.5176 1.08399 15.5078 0.968469 15.4994C0.910718 15.4952 0.866019 15.4914 0.835957 15.4886C0.820927 15.4872 0.809559 15.4861 0.802051 15.4853C0.798297 15.4849 0.795508 15.4846 0.79371 15.4844C0.79281 15.4843 0.792159 15.4843 0.791758 15.4842C0.791557 15.4842 0.791419 15.4842 0.791344 15.4842C0.791307 15.4842 0.791298 15.4842 0.791279 15.4842C0.791287 15.4842 0.791309 15.4842 0.775056 15.6313C0.758803 15.7784 0.758857 15.7784 0.758928 15.7784C0.758973 15.7784 0.759059 15.7784 0.759149 15.7784C0.759328 15.7785 0.75957 15.7785 0.759875 15.7785C0.760486 15.7786 0.761348 15.7787 0.76246 15.7788C0.764682 15.779 0.767901 15.7794 0.772091 15.7798C0.78047 15.7806 0.792733 15.7819 0.808682 15.7833C0.840577 15.7863 0.887222 15.7903 0.947021 15.7946C1.0666 15.8033 1.23889 15.8133 1.4511 15.8188C1.87524 15.8296 2.46036 15.8223 3.10377 15.7491C4.38242 15.6038 5.9275 15.1946 6.87551 14.1134L6.65294 13.9182ZM0.775056 15.6313C0.923031 15.6285 0.923031 15.6285 0.923031 15.6285C0.923031 15.6285 0.923031 15.6285 0.923031 15.6284C0.92303 15.6284 0.923028 15.6283 0.923025 15.6282C0.923021 15.6279 0.923013 15.6275 0.923003 15.6269C0.922983 15.6257 0.922954 15.6238 0.92292 15.6213C0.92285 15.6163 0.922758 15.6088 0.922671 15.5988C0.922498 15.5787 0.922347 15.5489 0.922448 15.5103C0.92265 15.4329 0.923856 15.3199 0.92789 15.1787C0.93596 14.896 0.955332 14.5005 1.00052 14.0495C1.09123 13.144 1.28473 12.029 1.69107 11.1542L1.42262 11.0295C0.995094 11.9499 0.797698 13.1045 0.705986 14.02C0.659956 14.4795 0.640231 14.8822 0.632007 15.1702C0.627893 15.3143 0.626654 15.4298 0.626446 15.5095C0.626342 15.5493 0.626496 15.5802 0.626679 15.6013C0.62677 15.6118 0.626868 15.6199 0.626945 15.6254C0.626983 15.6282 0.627016 15.6303 0.62704 15.6317C0.627052 15.6325 0.627062 15.633 0.627069 15.6334C0.627072 15.6336 0.627075 15.6338 0.627077 15.6339C0.627078 15.6339 0.627079 15.634 0.62708 15.634C0.62708 15.6341 0.627081 15.6341 0.775056 15.6313ZM1.69107 11.1542C2.08612 10.3037 2.81035 9.60539 3.65267 9.17399L3.51774 8.91053C2.62458 9.36797 1.84899 10.1116 1.42262 11.0295L1.69107 11.1542ZM3.65267 9.17399C4.8935 8.53848 6.56218 8.32112 7.55545 8.2478L7.53366 7.9526C6.53443 8.02636 4.81475 8.24625 3.51774 8.91053L3.65267 9.17399ZM7.55545 7.9526C6.56217 7.87926 4.89355 7.6619 3.65276 7.02641L3.51783 7.28987C4.8148 7.95413 6.53442 8.17402 7.53366 8.2478L7.55545 7.9526ZM3.65276 7.02641C2.81044 6.59501 2.08622 5.89671 1.69116 5.04622L1.42271 5.17092C1.84908 6.08882 2.62468 6.83243 3.51783 7.28987L3.65276 7.02641ZM1.69116 5.04622C1.28482 4.17144 1.09133 3.0564 1.00061 2.1509C0.955427 1.69989 0.936054 1.30436 0.927984 1.02173C0.92395 0.880461 0.922744 0.767535 0.922543 0.690143C0.922442 0.651451 0.922592 0.62165 0.922765 0.601643C0.922852 0.591639 0.922944 0.584085 0.923014 0.579092C0.923049 0.576595 0.923078 0.574739 0.923097 0.573538C0.923107 0.572937 0.923115 0.5725 0.92312 0.572228C0.923122 0.572092 0.923124 0.571998 0.923125 0.571945C0.923125 0.571918 0.923125 0.57191 0.923126 0.571897C0.923126 0.571899 0.923125 0.571911 0.77515 0.569103C0.627175 0.566295 0.627175 0.566328 0.627174 0.566372C0.627173 0.566401 0.627172 0.566455 0.627171 0.566512C0.627169 0.566626 0.627166 0.566782 0.627163 0.56698C0.627156 0.567374 0.627146 0.567935 0.627134 0.56866C0.62711 0.570111 0.627077 0.572218 0.627039 0.574969C0.626962 0.580471 0.626864 0.588545 0.626773 0.59908C0.62659 0.620148 0.626436 0.651061 0.62654 0.690914C0.626748 0.770614 0.627988 0.886112 0.632101 1.03017C0.640325 1.3182 0.66005 1.72094 0.70608 2.18041C0.797792 3.09585 0.995188 4.25054 1.42271 5.17092L1.69116 5.04622ZM0.77515 0.569103C0.791404 0.71621 0.791381 0.716212 0.791374 0.716213C0.791392 0.716211 0.791401 0.71621 0.791439 0.716206C0.791513 0.716198 0.791651 0.716183 0.791852 0.716161C0.792253 0.716117 0.792905 0.716047 0.793804 0.715952C0.795602 0.715761 0.798391 0.715469 0.802145 0.715087C0.809653 0.714323 0.821021 0.7132 0.836051 0.711809C0.866113 0.709027 0.910812 0.705174 0.968563 0.700979C1.08408 0.692586 1.25171 0.682831 1.45878 0.677525C1.87319 0.666907 2.44407 0.674155 3.07042 0.745366C4.33129 0.888717 5.78079 1.28733 6.65303 2.28217L6.8756 2.08703C5.92759 1.00577 4.38251 0.596629 3.10386 0.451257C2.46045 0.378107 1.87534 0.370751 1.45119 0.381619C1.23898 0.387056 1.06669 0.397066 0.947115 0.405753C0.887316 0.410098 0.840671 0.414113 0.808776 0.417065C0.792827 0.418541 0.780564 0.419751 0.772185 0.420603C0.767995 0.42103 0.764777 0.421367 0.762554 0.421603C0.761442 0.421721 0.76058 0.421813 0.759969 0.42188C0.759664 0.421913 0.759422 0.421939 0.759243 0.421959C0.759154 0.421968 0.759067 0.421978 0.759022 0.421983C0.758952 0.421991 0.758897 0.421997 0.77515 0.569103ZM6.65988 2.28948C7.20219 2.82952 7.56351 3.57559 7.8016 4.36396C8.03931 5.15104 8.15102 5.96962 8.20108 6.64386L8.49627 6.62194C8.44526 5.93484 8.33104 5.09316 8.08496 4.27838C7.83927 3.46487 7.45895 2.66747 6.86875 2.07973L6.65988 2.28948ZM9.82862 2.07953C9.23839 2.6673 8.85806 3.46475 8.61237 4.27829C8.36629 5.09312 8.25208 5.93484 8.20108 6.62195L8.49627 6.64386C8.54632 5.96961 8.65802 5.151 8.89573 4.36387C9.13383 3.57547 9.49515 2.82934 10.0375 2.28927L9.82862 2.07953Z",fill:"white",mask:"url(#path-1-inside-1_794_7000)"})]}),B("g",{mask:"url(#mask0_794_7000)",children:[P("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.93528 2.18471C11.7555 0.108595 15.9244 0.569206 15.9244 0.569206C15.9244 0.569206 16.0079 4.96927 14.2706 6.27095C13.1619 7.63046 10.5139 7.99981 9.15694 8.10016C10.1535 8.17385 11.8462 8.39261 13.1143 9.04207C13.982 9.4865 14.7319 10.2074 15.1427 11.0916C15.9765 12.8868 15.9244 15.6311 15.9244 15.6311C15.9244 15.6311 11.7555 16.0917 9.93528 14.0156C8.79837 12.8834 8.44927 10.9134 8.34975 9.55144C8.25023 10.9134 7.90113 12.8834 6.76422 14.0156C4.94397 16.0917 0.775056 15.6311 0.775056 15.6311C0.775056 15.6311 0.72298 12.8868 1.55684 11.0916C1.96755 10.2074 2.71747 9.4865 3.5852 9.04207C4.85328 8.39261 6.54604 8.17385 7.54256 8.10016C6.54605 8.02647 4.85328 7.8077 3.5852 7.15824C2.71747 6.71382 1.96755 5.99287 1.55684 5.10868C0.72298 3.31351 0.775056 0.569206 0.775056 0.569206C0.775056 0.569206 4.94397 0.108595 6.76422 2.18471C7.90113 3.31688 8.25023 5.28692 8.34975 6.64887C8.44927 5.28692 8.79837 3.31688 9.93528 2.18471Z",fill:t}),P("path",{d:"M3.69043 12.6953C3.69043 12.6953 6.75864 9.28222 8.29495 8.30401C9.1246 9.78129 12.139 12.638 13.0052 12.7762C13.0052 12.7762 9.478 9.79445 8.56104 8.14912C10.0352 7.30769 12.8672 4.29295 13.0044 3.42521C13.0044 3.42521 10.0582 6.93929 8.41574 7.87685C7.50345 6.25536 4.8679 3.86566 3.77333 3.42365C3.77333 3.42365 7.14486 6.47956 8.1346 8.02836C6.51967 8.93948 4.13153 11.5942 3.69043 12.6953Z",fill:"white",stroke:"white",strokeWidth:"0.180625"})]}),B("defs",{children:[B("linearGradient",{id:"paint0_linear_794_7000",x1:"0.986628",y1:"0.698447",x2:"15.8218",y2:"15.4711",gradientUnits:"userSpaceOnUse",children:[P("stop",{offset:"0.2",stopColor:"#00FF85"}),P("stop",{offset:"1",stopColor:"#00E0FF"})]}),B("linearGradient",{id:"paint1_linear_794_7000",x1:"0.774413",y1:"4.20734",x2:"15.8069",y2:"15.7558",gradientUnits:"userSpaceOnUse",children:[P("stop",{stopColor:"#60FA97"}),P("stop",{offset:"1",stopColor:"#59DEF6"})]})]})]});import{jsx as zt,jsxs as Kt}from"react/jsx-runtime";function jt({color:t}){return Kt("p",{style:{display:"flex",fontSize:"0.75rem",fontWeight:"400",letterSpacing:"-0.2px",padding:"0.5rem",color:t||"#67797F"},children:["Powered by",Kt("span",{className:"flex self-center pl-1 gap-1 items-center font-semibold",children:[zt(Zt,{color:t!=null?t:"#67797F",size:"12"}),zt("span",{children:"crossmint"})]})]})}import{clsx as Io}from"clsx";import{twMerge as To}from"tailwind-merge";function at(...t){return To(Io(t))}import{Fragment as Ao,jsx as C,jsxs as A}from"react/jsx-runtime";function V({title:t,content:e,primaryButton:o,secondaryAction:n,appearance:r}){var i,s,a,d,l;return A(Wo,{open:!0,onClose:()=>{},className:at("fixed inset-0 z-20 flex items-center justify-center overflow-y-auto"),children:[C(Mo.Child,{as:Lo,enter:"ease-out duration-400",enterFrom:"opacity-0",enterTo:"opacity-100",leave:"ease-in duration-400",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:C("div",{className:at("fixed inset-0 bg-[rgba(139,151,151,0.2)] backdrop-blur-[2px] transition-opacity duration-300 ease-in-out -z-10")})}),C("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",width:"100%",maxWidth:"28rem",borderRadius:"1rem",boxShadow:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",zIndex:30,border:"1px solid",backgroundColor:((i=r==null?void 0:r.colors)==null?void 0:i.background)||"white",borderColor:((s=r==null?void 0:r.colors)==null?void 0:s.border)||"#D0D5DD"},onClick:f=>f.stopPropagation(),children:A("div",{className:"pt-12 pb-10 px-8",children:[C("div",{className:"flex justify-center left-1.5 relative",children:C(it,{appearance:r})}),C("div",{className:"flex justify-center",children:C("p",{style:{fontSize:"1.125rem",lineHeight:"1.75rem",fontWeight:"bold",color:((a=r==null?void 0:r.colors)==null?void 0:a.textPrimary)||"#20343E"},children:t})}),C("div",{className:"mt-4 mb-9",children:C("div",{style:{fontWeight:"normal",color:((d=r==null?void 0:r.colors)==null?void 0:d.textSecondary)||"#67797F"},children:e})}),A("div",{className:"flex flex-col gap-4 justify-center",children:[o,n]}),C("div",{className:"flex justify-center pt-4",children:C(jt,{color:(l=r==null?void 0:r.colors)==null?void 0:l.textSecondary})})]})})]})}function Gt({state:t,appearance:e}){var o,n;switch(t.type){case"create-wallet":return C(V,{title:"Create Your Wallet",appearance:e,content:A(Ao,{children:[C("div",{className:"mb-4",children:"You're about to create a wallet."}),A("div",{className:"flex flex-col gap-2",children:[A("div",{className:"flex gap-2",children:[C("div",{children:C(st,{})}),"Your wallet will be secured with a passkey"]}),A("div",{className:"flex gap-2",children:[C("div",{children:C($,{})}),"Your device will ask you for your fingerprint, face, or screen lock to set it up"]})]})]}),primaryButton:C(D,{style:O(e),onClick:t.primaryActionOnClick,children:"Create Wallet"})});case"create-wallet-error":return C(V,{title:"Wallet Creation Failed",appearance:e,content:C("div",{className:"mb-6",children:"We couldn't create your wallet. This could be due to rejecting the request, a timeout, or not having access to your passkey on this device."}),primaryButton:C(D,{style:O(e),onClick:t.primaryActionOnClick,children:"Try again"})});case"transaction":return C(V,{title:"First Time Using Your Wallet",appearance:e,content:C("div",{className:"flex flex-col gap-2",children:A("div",{className:"flex gap-2",children:[C("div",{children:C($,{})}),C("span",{children:"Your device will ask you for your fingerprint, face, or screen lock to authorize this action."})]})}),primaryButton:C(D,{style:O(e),onClick:t.primaryActionOnClick,children:"Use Wallet"})});case"transaction-error":return C(V,{title:"Wallet Access Failed",appearance:e,content:C("div",{className:"mb-6",children:"We couldn't access your wallet. This could be due to rejecting the request, a timeout, or not having access to your passkey on this device."}),primaryButton:C(D,{style:O(e),onClick:t.primaryActionOnClick,children:"Try again"}),secondaryAction:C("a",{href:"https://docs.crossmint.com/wallets/smart-wallets/users/troubleshoot",rel:"noopener noreferrer",target:"_blank",style:{padding:"0.875rem",width:"100%",textAlign:"center",textDecoration:"none",borderRadius:"0.5rem",fontWeight:"bold",backgroundColor:((o=e==null?void 0:e.colors)==null?void 0:o.inputBackground)||"#F0F2F4",color:((n=e==null?void 0:e.colors)==null?void 0:n.textSecondary)||"#00150D"},children:"Troubleshoot"})});case"not-supported":return C(V,{title:"Passkeys Not Supported on This Device",appearance:e,content:C("div",{className:"mb-6",children:"To access your wallet with a passkey, switch to a device or browser that supports passkeys, such as Chrome or Safari on a smartphone, tablet, or modern computer"}),primaryButton:C(D,{style:O(e),onClick:t.primaryActionOnClick,children:"Understood"})});default:return null}}var O=t=>{var e,o,n,r,i,s,a;return{padding:"0.875rem",width:"100%",backgroundColor:(o=(e=t==null?void 0:t.colors)==null?void 0:e.buttonBackground)!=null?o:"#04AA6D",color:(r=(n=t==null?void 0:t.colors)==null?void 0:n.textPrimary)!=null?r:"white",borderRadius:(i=t==null?void 0:t.borderRadius)!=null?i:"8px",borderColor:(a=(s=t==null?void 0:t.colors)==null?void 0:s.border)!=null?a:"#04AA6D",borderWidth:"1px",fontWeight:"bold"}};import{jsx as _o,jsxs as Do}from"react/jsx-runtime";var lt=Fo({status:"not-loaded",getOrCreateWallet:()=>Promise.resolve({startedCreation:!1}),clearWallet:()=>{}});function Jt({children:t,defaultChain:e,showWalletModals:o=!0,appearance:n}){let{crossmint:r}=L("CrossmintWalletProvider must be used within CrossmintProvider"),i=Ro(()=>Bo.init({clientApiKey:r.apiKey}),[r.apiKey]),[s,a]=Yt({status:"not-loaded"}),[d,l]=Yt({open:!1}),f=(...v)=>y(this,[...v],function*(k={type:"evm-smart-wallet",signer:{type:"PASSKEY"}}){if(s.status=="in-progress")return console.log("Wallet already loading"),{startedCreation:!1,reason:"Wallet is already loading."};if(r.jwt==null)return{startedCreation:!1,reason:'Jwt not set in "CrossmintProvider".'};try{a({status:"in-progress"});let b=yield i.getOrCreateWallet({jwt:r.jwt},e,u(k));a({status:"loaded",wallet:b})}catch(b){console.error("There was an error creating a wallet ",b),a(Uo(b))}return{startedCreation:!0}}),u=k=>o&&k.signer.type==="PASSKEY"?N(p({},k),{signer:N(p({},k.signer),{onPrePasskeyRegistration:h("create-wallet"),onPasskeyRegistrationError:h("create-wallet-error"),onFirstTimePasskeySigning:h("transaction"),onFirstTimePasskeySigningError:h("transaction-error")})}):k,h=k=>()=>new Promise(v=>{l({type:k,open:!0,primaryActionOnClick:()=>{l({open:!1}),v()},secondaryActionOnClick:()=>{l({open:!1}),v()}})}),E=()=>{a({status:"not-loaded"})};return Do(lt.Provider,{value:N(p({},s),{getOrCreateWallet:f,clearWallet:E}),children:[t,d.open?No(_o(Gt,{state:d,appearance:n}),document.body):null]})}function Uo(t){if(t instanceof $t)return{status:"loading-error",error:t};let e=t instanceof Error?t.message:String(t),o=t instanceof Error?t.stack:void 0;return{status:"loading-error",error:new $t(`Unknown Wallet Error: ${e}`,o)}}function Xt(){let t=Vo(lt);if(!t)throw new Error("useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider");return t}import{useContext as r1}from"react";import{createContext as $o,useEffect as yt,useState as oe}from"react";import{createPortal as Jo}from"react-dom";import{CrossmintAuthService as Xo}from"@crossmint/client-sdk-auth";import{validateApiKeyAndGetCrossmintBaseUrl as qo}from"@crossmint/common-sdk-base";import{SESSION_PREFIX as pt,REFRESH_TOKEN_PREFIX as re}from"@crossmint/common-sdk-auth";import{Dialog as Ho,Transition as ct}from"@headlessui/react";import{Fragment as mt,useEffect as Zo,useRef as Qt,useState as zo}from"react";import{z as te}from"zod";import{IFrameWindow as Ko}from"@crossmint/client-sdk-window";import{CrossmintInternalEvents as jo}from"@crossmint/client-sdk-base";import{jsx as qt,jsxs as Oo}from"react/jsx-runtime";function dt({className:t}){return Oo("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t,children:[qt("path",{d:"M18 6 6 18"}),qt("path",{d:"m6 6 12 12"})]})}import{jsx as F,jsxs as ee}from"react/jsx-runtime";var Go=te.object({oneTimeSecret:te.string()}),Yo={authMaterialFromAuthFrame:Go};function ut({setModalOpen:t,apiKey:e,fetchAuthMaterial:o,baseUrl:n,appearance:r,loginMethods:i}){var S,I,w,R,H,Z,z;let s=`${n}sdk/2024-09-26/auth/frame?apiKey=${e}`;r!=null&&(s+=`&uiConfig=${encodeURIComponent(JSON.stringify(r))}`),i!=null&&(s+=`&loginMethods=${i.join(",")}`);let a=Qt(null),d=Qt(null),[l,f]=zo(0),u=48,h=32,E=u+h,k=i!=null&&i.includes("farcaster")?500:300,v=()=>{d.current!=null&&d.current.on("authMaterialFromAuthFrame",x=>{var T;o(x.oneTimeSecret),(T=d.current)==null||T.off("authMaterialFromAuthFrame"),t(!1)})},b=()=>y(this,null,function*(){if(a.current==null){console.error("Something wrong happened, please try again");return}if(d.current==null){let x=yield Ko.init(a.current,{incomingEvents:Yo,outgoingEvents:{}});d.current=x,v()}});return Zo(()=>{function x(T){T.data.type===jo.UI_HEIGHT_CHANGED&&f(T.data.payload.height)}return window.addEventListener("message",x),()=>{window.removeEventListener("message",x)}},[]),F(ct.Root,{show:!0,as:mt,children:ee(Ho,{as:"div",style:Ct.dialog,onClose:()=>t(!1),children:[F(ct.Child,{as:mt,enter:"ease-out duration-400",enterFrom:"opacity-0",enterTo:"opacity-100",leave:"ease-in duration-400",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:F("div",{style:Ct.transitionBegin})}),F(ct.Child,{as:mt,enter:"ease-out duration-400",enterFrom:"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95",enterTo:"opacity-100 translate-y-0 sm:scale-100",leave:"ease-in duration-400",leaveFrom:"opacity-100 translate-y-0 sm:scale-100",leaveTo:"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95",children:ee("div",{style:Ct.transitionEnd,onClick:x=>x.stopPropagation(),children:[F("div",{style:{position:"relative",width:"100%"},children:F("button",{type:"button","aria-label":"Close",style:{width:"1.5rem",position:"absolute",right:"1.5rem",top:"1.5rem",cursor:"pointer",color:(I=(S=r==null?void 0:r.colors)==null?void 0:S.border)!=null?I:"#909ca3",outlineOffset:"4px",borderRadius:"100%"},onClick:()=>t(!1),children:F(dt,{})})}),F("iframe",{ref:a,src:s,onLoad:b,title:"Authentication Modal",style:{width:"100%",minHeight:k,border:"1px solid",borderColor:(R=(w=r==null?void 0:r.colors)==null?void 0:w.border)!=null?R:"#D0D5DD",borderRadius:(H=r==null?void 0:r.borderRadius)!=null?H:"1rem",backgroundColor:(z=(Z=r==null?void 0:r.colors)==null?void 0:Z.background)!=null?z:"white",height:l+E,paddingTop:u,paddingBottom:h}})]})})]})})}var Ct={dialog:{display:"flex",justifyContent:"center",alignItems:"center",overflowY:"auto",position:"fixed",top:0,right:0,bottom:0,left:0,zIndex:20},transitionBegin:{background:"rgba(139, 151, 151, 0.2)",backdropFilter:"blur(2px)",position:"fixed",top:0,right:0,bottom:0,left:0,transitionProperty:"opacity",transitionTimingFunction:"cubic-bezier(0.4, 0, 0.2, 1)",transitionDuration:"300ms",zIndex:-10},transitionEnd:{display:"flex",flexDirection:"column",alignItems:"center",width:"100%",maxWidth:"448px",borderRadius:"0.75rem",boxShadow:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",zIndex:30}};function J(t){let e=document.cookie.split("; ").find(o=>o.startsWith(t));return e?e.split("=")[1]:void 0}function ft(t,e,o){let n=o?new Date(o).toUTCString():"";document.cookie=`${t}=${e}; ${o?`expires=${n};`:""} path=/; SameSite=Lax;`}function ht(t){document.cookie=`${t}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`}import{Fragment as o1,jsx as X,jsxs as e1}from"react/jsx-runtime";var gt=$o({login:()=>{},logout:()=>{},status:"logged-out",getUser:()=>{}}),Qo={defaultChain:"base-sepolia",createOnLogin:"off",type:"evm-smart-wallet"};function U5({embeddedWallets:t=Qo,children:e,appearance:o,loginMethods:n=["email","google"]}){let[r,i]=oe(void 0),{crossmint:s,setJwt:a,setRefreshToken:d}=L("CrossmintAuthProvider must be used within CrossmintProvider"),l=new Xo(s.apiKey),f=qo(s.apiKey),[u,h]=oe(!1),E=w=>{ft(pt,w.jwt),ft(re,w.refreshToken.secret,w.refreshToken.expiresAt),a(w.jwt),d(w.refreshToken.secret),i(w.user)},k=()=>{ht(pt),ht(re),a(void 0),d(void 0),i(void 0)};ne({crossmintAuthService:l,setAuthMaterial:E,logout:k}),yt(()=>{if(s.jwt==null){let w=J(pt);a(w)}},[]),yt(()=>{s.jwt!=null&&h(!1)},[s.jwt]);let v=()=>{if(s.jwt!=null){console.log("User already logged in");return}h(!0)},b=()=>s.jwt!=null?"logged-in":u?"in-progress":"logged-out",S=w=>y(this,null,function*(){let R=yield l.refreshAuthMaterial(w);return E(R),R}),I=()=>y(this,null,function*(){if(s.jwt==null){console.log("User not logged in");return}let w=yield l.getUserFromClient(s.jwt);i(w)});return X(gt.Provider,{value:{login:v,logout:k,jwt:s.jwt,refreshToken:s.refreshToken,user:r,status:b(),getUser:I},children:e1(Jt,{defaultChain:t.defaultChain,showWalletModals:t.showWalletModals,appearance:o,children:[X(t1,{embeddedWallets:t,accessToken:s.jwt,children:e}),u?Jo(X(ut,{baseUrl:f,setModalOpen:h,fetchAuthMaterial:S,apiKey:s.apiKey,appearance:o,loginMethods:n}),document.body):null]})})}function t1({embeddedWallets:t,children:e,accessToken:o}){let{getOrCreateWallet:n,clearWallet:r,status:i}=Xt();return yt(()=>{t.createOnLogin==="all-users"&&i==="not-loaded"&&o!=null&&n({type:t.type,signer:{type:"PASSKEY"}}),i==="loaded"&&o==null&&r()},[o,i]),X(o1,{children:e})}function z5(){let t=r1(gt);if(t===void 0)throw new Error("useAuth must be used within an AuthProvider");return t}import{useCallback as n1,useEffect as s1,useRef as i1}from"react";import{getJWTExpiration as a1}from"@crossmint/client-sdk-auth";import{queueTask as l1}from"@crossmint/client-sdk-base";import{REFRESH_TOKEN_PREFIX as d1}from"@crossmint/common-sdk-auth";var c1=120,q=null;function ne({crossmintAuthService:t,setAuthMaterial:e,logout:o}){let n=i1(null),r=n1(()=>{if(q!=null)return q;let i=J(d1);i!=null&&(q=y(this,null,function*(){try{let s=yield t.refreshAuthMaterial(i);e(s);let a=a1(s.jwt);if(a==null)throw new Error("Invalid JWT");let d=Date.now()/1e3,l=a-d-c1;if(l>0){let f=Date.now()+l*1e3;n.current=l1(r,f)}}catch(s){o(),console.error(s)}finally{q=null}}))},[]);s1(()=>(r(),()=>{n.current&&n.current.cancel()}),[])}import{useEffect as me,useRef as x1,useState as Ce}from"react";import{crossmintEmbeddedCheckoutV3Service as S1}from"@crossmint/client-sdk-base";import{DynamicContextProvider as m1}from"@dynamic-labs/sdk-react-core";import{jsx as C1}from"react/jsx-runtime";function kt({children:t,settings:e}){return C1(m1,{settings:p({initialAuthenticationMode:"connect-only",environmentId:"cd53135a-b32b-4704-bfca-324b665e9329"},e),children:t})}import{chainIdToBlockchain as k1}from"@crossmint/common-sdk-base";import{EthereumWalletConnectors as w1}from"@dynamic-labs/ethereum";import{useDynamicContext as v1}from"@dynamic-labs/sdk-react-core";import{SolanaWalletConnectors as E1}from"@dynamic-labs/solana";import{useEffect as le}from"react";import{blockchainToChainId as u1}from"@crossmint/common-sdk-base";import{parseTransaction as f1}from"viem";function se(r){return y(this,arguments,function*({primaryWallet:t,chain:e,serializedTransaction:o,iframeClient:n}){try{yield t.switchNetwork(u1(e))}catch(a){console.error("[CryptoWalletConnectionHandler] failed to switch network",a),n.send("crypto:send-transaction:failed",{error:a.message});return}let i;try{i=yield t.getWalletClient()}catch(a){console.error("[CryptoWalletConnectionHandler] failed to get wallet client",a),n.send("crypto:send-transaction:failed",{error:a.message});return}let s;try{s=f1(o)}catch(a){console.error("[CryptoWalletConnectionHandler] failed to parse transaction",a),n.send("crypto:send-transaction:failed",{error:a.message});return}try{let a=yield i.sendTransaction(s);console.log("[CryptoWalletConnectionHandler] txId",a),n.send("crypto:send-transaction:success",{txId:a})}catch(a){console.error("[CryptoWalletConnectionHandler] failed to send transaction",a),n.send("crypto:send-transaction:failed",{error:a.message})}})}import{isSolanaWallet as y1}from"@dynamic-labs/solana";import{Transaction as h1}from"@solana/web3.js";import p1 from"bs58";function ie(n){return y(this,arguments,function*({primaryWallet:t,serializedTransaction:e,iframeClient:o}){let r;try{r=yield t.getSigner()}catch(s){console.error("[CryptoWalletConnectionHandler] failed to get signer",s),o.send("crypto:send-transaction:failed",{error:"Failed to get signer"});return}let i;try{i=h1.from(p1.decode(e))}catch(s){console.error("[CryptoWalletConnectionHandler] failed to deserialize transaction",s),o.send("crypto:send-transaction:failed",{error:"Failed to deserialize transaction"});return}try{let{signature:s}=yield r.signAndSendTransaction(i);console.log("[CryptoWalletConnectionHandler] txId",s),o.send("crypto:send-transaction:success",{txId:s})}catch(s){console.error("[CryptoWalletConnectionHandler] failed to send transaction",s),o.send("crypto:send-transaction:failed",{error:s.message})}})}import{isEthereumWallet as g1}from"@dynamic-labs/ethereum";function ae(t,e,o,n){return y(this,null,function*(){let r={chain:e,serializedTransaction:o,iframeClient:n};if(y1(t))return yield ie(N(p({},r),{primaryWallet:t}));if(g1(t))return yield se(N(p({},r),{primaryWallet:t}))})}import{jsx as de}from"react/jsx-runtime";function ce(t){let{iframeClient:e}=t;return de(kt,{settings:{walletConnectors:[w1,E1],events:{onAuthFlowCancel(){console.log("[CryptoWalletConnectionHandler] onAuthFlowCancel"),e==null||e.send("crypto:connect-wallet.failed",{error:"cancelled"})},onAuthFlowClose(){console.log("[CryptoWalletConnectionHandler] onAuthFlowClose")},onAuthFailure(o,n){console.error("[CryptoWalletConnectionHandler] onAuthFailure",o,n)},onAuthSuccess(o){console.log("[CryptoWalletConnectionHandler] onAuthSuccess",o)}},handlers:{handleConnectedWallet:o=>y(this,null,function*(){var i;console.log("[CryptoWalletConnectionHandler] handleConnectedWallet",o);let n=o.address;if(!n)return console.error("[CryptoWalletConnectionHandler] handleConnectedWallet: address is missing"),e==null||e.send("crypto:connect-wallet.failed",{error:"address is missing"}),!1;let r=yield P1(o);return e==null||e.send("crypto:connect-wallet.success",{address:n,chain:r,walletProviderKey:(i=o.connector)==null?void 0:i.key}),!0})}},children:de(b1,p({},t))})}function b1({iframeClient:t}){let{setShowAuthFlow:e,primaryWallet:o,handleLogOut:n}=v1();return le(()=>{if(t==null)return;let r=t.on("crypto:connect-wallet.show",s=>y(this,[s],function*({show:i}){yield n(),e(i)}));return()=>{t.off(r)}},[t,n,e]),le(()=>{if(t==null)return;let r=t.on("crypto:send-transaction",a=>y(this,[a],function*({chain:i,serializedTransaction:s}){if(o==null){console.error("[CryptoWalletConnectionHandler] signTransaction: primaryWallet is missing"),t.send("crypto:send-transaction:failed",{error:"primaryWallet is missing"});return}yield ae(o,i,s,t)}));return()=>{t.off(r)}},[t,o]),null}function P1(t){return y(this,null,function*(){var r;if(t.chain==="SOL")return"solana";let o=yield(r=t.connector)==null?void 0:r.getNetwork();if(typeof o!="number")throw new Error("chainId is not a number");let n=k1(o);if(!n)throw new Error(`ChainId ${o} is not supported`);return n})}import{Fragment as I1,jsx as ue,jsxs as T1}from"react/jsx-runtime";function fe(t){let[e,o]=Ce(null),[n,r]=Ce(0),{crossmint:i}=L(),s=Y(i),a=S1({apiClient:s}),d=x1(null);return me(()=>{let l=d.current;!l||e||o(a.iframe.createClient(l))},[d.current,e]),me(()=>{if(e!=null)return e.on("ui:height.changed",l=>r(l.height)),()=>{e.off("ui:height.changed")}},[e]),T1(I1,{children:[ue("iframe",{ref:d,src:a.iframe.getUrl(t),id:"crossmint-embedded-checkout.iframe",role:"crossmint-embedded-checkout.iframe",allow:"payment *",style:{boxShadow:"none",border:"none",padding:"0px",width:"100%",minWidth:"100%",overflow:"hidden",display:"block",userSelect:"none",transform:"translate(0px)",opacity:"1",transition:"ease 0s, opacity 0.4s ease 0.1s",height:`${n}px`,backgroundColor:"transparent"}}),t.payment.crypto.enabled?ue(ce,{iframeClient:e}):null]})}import{jsx as W1}from"react/jsx-runtime";function Z0(t){return W1(fe,p({},t))}import{CrossmintEvents as os,useCrossmintEvents as rs}from"@crossmint/client-sdk-base";import{Chain as ss,SmartWalletError as is,UserWalletAlreadyCreatedError as as,AdminAlreadyUsedError as ls,AdminMismatchError as ds,PasskeyMismatchError as cs,PasskeyPromptError as ms,PasskeyRegistrationError as Cs,PasskeyIncompatibleAuthenticatorError as us,ConfigError as fs,SmartWalletsNotEnabledError as hs,EVMSendTransactionError as ps,EVMSendTransactionExecutionRevertedError as ys}from"@crossmint/client-sdk-smart-wallet";M1(xt);export{ls as AdminAlreadyUsedError,ds as AdminMismatchError,gt as AuthContext,ss as Chain,fs as ConfigError,U5 as CrossmintAuthProvider,kn as CrossmintCheckoutProvider,Z0 as CrossmintEmbeddedCheckout_Alpha,os as CrossmintEvents,H1 as CrossmintNFTCollectionView,Y1 as CrossmintNFTDetail,tn as CrossmintPayButton,Ur as CrossmintPaymentElement,ln as CrossmintProvider,Jt as CrossmintWalletProvider,ps as EVMSendTransactionError,ys as EVMSendTransactionExecutionRevertedError,us as PasskeyIncompatibleAuthenticatorError,cs as PasskeyMismatchError,ms as PasskeyPromptError,Cs as PasskeyRegistrationError,is as SmartWalletError,hs as SmartWalletsNotEnabledError,as as UserWalletAlreadyCreatedError,lt as WalletContext,z5 as useAuth,L as useCrossmint,wn as useCrossmintCheckout,rs as useCrossmintEvents,ne as useRefreshToken,Xt as useWallet};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/client-sdk-react-ui",
3
- "version": "1.7.1",
3
+ "version": "1.8.0",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -19,6 +19,11 @@
19
19
  "LICENSE"
20
20
  ],
21
21
  "dependencies": {
22
+ "@dynamic-labs/ethereum": "3.3.0",
23
+ "@dynamic-labs/ethereum-core": "3.3.0",
24
+ "@dynamic-labs/sdk-react-core": "3.3.0",
25
+ "@dynamic-labs/solana": "3.3.0",
26
+ "@dynamic-labs/solana-core": "3.3.0",
22
27
  "@ethersproject/transactions": "5.7.0",
23
28
  "@headlessui/react": "2.1.5",
24
29
  "@solana/web3.js": "1.95.1",
@@ -30,13 +35,14 @@
30
35
  "react-jss": "10.10.0",
31
36
  "tailwind-merge": "2.4.0",
32
37
  "tailwindcss": "3.4.10",
38
+ "viem": "2.17.5",
33
39
  "zod": "3.22.4",
34
- "@crossmint/client-sdk-auth": "0.2.0",
35
- "@crossmint/client-sdk-smart-wallet": "0.1.19",
36
- "@crossmint/client-sdk-window": "0.0.10",
37
- "@crossmint/client-sdk-base": "1.2.8",
40
+ "@crossmint/client-sdk-auth": "0.2.1",
41
+ "@crossmint/client-sdk-base": "1.3.0",
42
+ "@crossmint/client-sdk-smart-wallet": "0.1.20",
43
+ "@crossmint/client-sdk-window": "0.1.0",
38
44
  "@crossmint/common-sdk-base": "0.2.0",
39
- "@crossmint/common-sdk-auth": "0.2.0"
45
+ "@crossmint/common-sdk-auth": "0.2.1"
40
46
  },
41
47
  "devDependencies": {
42
48
  "@types/lodash.isequal": "4.5.6",
@@ -5,7 +5,7 @@ import { z } from "zod";
5
5
  import { IFrameWindow } from "@crossmint/client-sdk-window";
6
6
  import type { UIConfig } from "@crossmint/common-sdk-base";
7
7
  import { CrossmintInternalEvents } from "@crossmint/client-sdk-base";
8
- import type { AuthMaterial } from "@crossmint/common-sdk-auth";
8
+ import type { AuthMaterialWithUser } from "@crossmint/common-sdk-auth";
9
9
  import type { LoginMethod } from "@/providers";
10
10
 
11
11
  import X from "../../icons/x";
@@ -25,7 +25,7 @@ type IncomingModalIframeEventsType = {
25
25
  type AuthModalProps = {
26
26
  setModalOpen: (open: boolean) => void;
27
27
  apiKey: string;
28
- fetchAuthMaterial: (refreshToken: string) => Promise<AuthMaterial>;
28
+ fetchAuthMaterial: (refreshToken: string) => Promise<AuthMaterialWithUser>;
29
29
  baseUrl: string;
30
30
  appearance?: UIConfig;
31
31
  loginMethods?: LoginMethod[];
@@ -0,0 +1,21 @@
1
+ import { type DynamicContextProps, DynamicContextProvider } from "@dynamic-labs/sdk-react-core";
2
+ import type { ReactNode } from "react";
3
+
4
+ export interface DynamicContextProviderWrapperProps {
5
+ children?: ReactNode;
6
+ settings: Omit<DynamicContextProps["settings"], "initialAuthenticationMode" | "environmentId">;
7
+ }
8
+
9
+ export default function DynamicContextProviderWrapper({ children, settings }: DynamicContextProviderWrapperProps) {
10
+ return (
11
+ <DynamicContextProvider
12
+ settings={{
13
+ initialAuthenticationMode: "connect-only",
14
+ environmentId: "cd53135a-b32b-4704-bfca-324b665e9329", // TODO: Key per env
15
+ ...settings,
16
+ }}
17
+ >
18
+ {children}
19
+ </DynamicContextProvider>
20
+ );
21
+ }
@@ -0,0 +1,7 @@
1
+ import type { CrossmintEmbeddedCheckoutV3Props } from "@crossmint/client-sdk-base";
2
+
3
+ import { EmbeddedCheckoutV3IFrame } from "./EmbeddedCheckoutV3IFrame";
4
+
5
+ export function CrossmintEmbeddedCheckout_Alpha(props: CrossmintEmbeddedCheckoutV3Props) {
6
+ return <EmbeddedCheckoutV3IFrame {...props} />;
7
+ }
@@ -0,0 +1,69 @@
1
+ import { useCrossmint } from "@/hooks";
2
+ import { useEffect, useRef, useState } from "react";
3
+
4
+ import {
5
+ type CrossmintEmbeddedCheckoutV3Props,
6
+ type EmbeddedCheckoutV3IFrameEmitter,
7
+ crossmintEmbeddedCheckoutV3Service,
8
+ } from "@crossmint/client-sdk-base";
9
+
10
+ import { CryptoWalletConnectionHandler } from "./crypto/CryptoWalletConnectionHandler";
11
+ import { createCrossmintApiClient } from "@/utils/createCrossmintApiClient";
12
+
13
+ export function EmbeddedCheckoutV3IFrame(props: CrossmintEmbeddedCheckoutV3Props) {
14
+ const [iframeClient, setIframeClient] = useState<EmbeddedCheckoutV3IFrameEmitter | null>(null);
15
+ const [height, setHeight] = useState(0);
16
+
17
+ const { crossmint } = useCrossmint();
18
+ const apiClient = createCrossmintApiClient(crossmint);
19
+ const embedV3Service = crossmintEmbeddedCheckoutV3Service({ apiClient });
20
+
21
+ const ref = useRef<HTMLIFrameElement>(null);
22
+
23
+ useEffect(() => {
24
+ const iframe = ref.current;
25
+ if (!iframe || iframeClient) {
26
+ return;
27
+ }
28
+ setIframeClient(embedV3Service.iframe.createClient(iframe));
29
+ }, [ref.current, iframeClient]);
30
+
31
+ useEffect(() => {
32
+ if (iframeClient == null) {
33
+ return;
34
+ }
35
+ iframeClient.on("ui:height.changed", (data) => setHeight(data.height));
36
+
37
+ return () => {
38
+ iframeClient.off("ui:height.changed");
39
+ };
40
+ }, [iframeClient]);
41
+
42
+ return (
43
+ <>
44
+ <iframe
45
+ ref={ref}
46
+ src={embedV3Service.iframe.getUrl(props)}
47
+ id="crossmint-embedded-checkout.iframe"
48
+ role="crossmint-embedded-checkout.iframe"
49
+ allow="payment *"
50
+ style={{
51
+ boxShadow: "none",
52
+ border: "none",
53
+ padding: "0px",
54
+ width: "100%",
55
+ minWidth: "100%",
56
+ overflow: "hidden",
57
+ display: "block",
58
+ userSelect: "none",
59
+ transform: "translate(0px)",
60
+ opacity: "1",
61
+ transition: "ease 0s, opacity 0.4s ease 0.1s",
62
+ height: `${height}px`,
63
+ backgroundColor: "transparent",
64
+ }}
65
+ />
66
+ {props.payment.crypto.enabled ? <CryptoWalletConnectionHandler iframeClient={iframeClient} /> : null}
67
+ </>
68
+ );
69
+ }
@@ -0,0 +1,130 @@
1
+ import DynamicContextProviderWrapper from "@/components/dynamic-xyz/DynamicContextProviderWrapper";
2
+ import type { EmbeddedCheckoutV3IFrameEmitter } from "@crossmint/client-sdk-base";
3
+ import { type BlockchainIncludingTestnet, chainIdToBlockchain } from "@crossmint/common-sdk-base";
4
+ import { EthereumWalletConnectors } from "@dynamic-labs/ethereum";
5
+ import { type HandleConnectedWallet, useDynamicContext } from "@dynamic-labs/sdk-react-core";
6
+ import { SolanaWalletConnectors } from "@dynamic-labs/solana";
7
+ import { useEffect } from "react";
8
+ import { handleSendTransaction } from "./utils/handleSendTransaction";
9
+
10
+ export function CryptoWalletConnectionHandler(props: { iframeClient: EmbeddedCheckoutV3IFrameEmitter | null }) {
11
+ const { iframeClient } = props;
12
+
13
+ return (
14
+ <DynamicContextProviderWrapper
15
+ settings={{
16
+ walletConnectors: [EthereumWalletConnectors, SolanaWalletConnectors],
17
+ events: {
18
+ onAuthFlowCancel() {
19
+ console.log("[CryptoWalletConnectionHandler] onAuthFlowCancel");
20
+ iframeClient?.send("crypto:connect-wallet.failed", {
21
+ error: "cancelled",
22
+ });
23
+ },
24
+ onAuthFlowClose() {
25
+ console.log("[CryptoWalletConnectionHandler] onAuthFlowClose");
26
+ },
27
+ onAuthFailure(data, reason) {
28
+ console.error("[CryptoWalletConnectionHandler] onAuthFailure", data, reason);
29
+ },
30
+ onAuthSuccess(data) {
31
+ console.log("[CryptoWalletConnectionHandler] onAuthSuccess", data);
32
+ },
33
+ },
34
+ handlers: {
35
+ handleConnectedWallet: async (wallet) => {
36
+ console.log("[CryptoWalletConnectionHandler] handleConnectedWallet", wallet);
37
+
38
+ const address = wallet.address;
39
+ if (!address) {
40
+ console.error("[CryptoWalletConnectionHandler] handleConnectedWallet: address is missing");
41
+ iframeClient?.send("crypto:connect-wallet.failed", {
42
+ error: "address is missing",
43
+ });
44
+ return false;
45
+ }
46
+
47
+ const chain = await dynamicChainToCrossmintChain(wallet);
48
+
49
+ iframeClient?.send("crypto:connect-wallet.success", {
50
+ address,
51
+ chain,
52
+ walletProviderKey: wallet.connector?.key,
53
+ });
54
+
55
+ return true;
56
+ },
57
+ },
58
+ }}
59
+ >
60
+ <_CryptoWalletConnectionHandler {...props} />
61
+ </DynamicContextProviderWrapper>
62
+ );
63
+ }
64
+
65
+ function _CryptoWalletConnectionHandler({ iframeClient }: Parameters<typeof CryptoWalletConnectionHandler>[0]) {
66
+ const { setShowAuthFlow, primaryWallet, handleLogOut } = useDynamicContext();
67
+
68
+ useEffect(() => {
69
+ if (iframeClient == null) {
70
+ return;
71
+ }
72
+ const showAuthFlowListener = iframeClient.on("crypto:connect-wallet.show", async ({ show }) => {
73
+ await handleLogOut();
74
+ setShowAuthFlow(show);
75
+ });
76
+
77
+ return () => {
78
+ iframeClient.off(showAuthFlowListener);
79
+ };
80
+ }, [iframeClient, handleLogOut, setShowAuthFlow]);
81
+
82
+ useEffect(() => {
83
+ if (iframeClient == null) {
84
+ return;
85
+ }
86
+ const signTransactionListener = iframeClient.on(
87
+ "crypto:send-transaction",
88
+ async ({ chain, serializedTransaction }) => {
89
+ if (primaryWallet == null) {
90
+ console.error("[CryptoWalletConnectionHandler] signTransaction: primaryWallet is missing");
91
+ iframeClient.send("crypto:send-transaction:failed", {
92
+ error: "primaryWallet is missing",
93
+ });
94
+ return;
95
+ }
96
+
97
+ await handleSendTransaction(
98
+ primaryWallet,
99
+ chain as BlockchainIncludingTestnet,
100
+ serializedTransaction,
101
+ iframeClient
102
+ );
103
+ }
104
+ );
105
+
106
+ return () => {
107
+ iframeClient.off(signTransactionListener);
108
+ };
109
+ }, [iframeClient, primaryWallet]);
110
+
111
+ return null;
112
+ }
113
+
114
+ async function dynamicChainToCrossmintChain(
115
+ wallet: Parameters<HandleConnectedWallet>[0]
116
+ ): Promise<BlockchainIncludingTestnet> {
117
+ const chain = wallet.chain;
118
+ if (chain === "SOL") {
119
+ return "solana";
120
+ }
121
+ const chainId = await wallet.connector?.getNetwork();
122
+ if (typeof chainId !== "number") {
123
+ throw new Error("chainId is not a number");
124
+ }
125
+ const chainFromChainId = chainIdToBlockchain(chainId);
126
+ if (!chainFromChainId) {
127
+ throw new Error(`ChainId ${chainId} is not supported`);
128
+ }
129
+ return chainFromChainId as BlockchainIncludingTestnet;
130
+ }