@crossmint/client-sdk-react-ui 0.2.8-alpha.2 → 1.0.0-alpha.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/README.md CHANGED
@@ -16,7 +16,7 @@ yarn add @crossmint/client-sdk-react-ui
16
16
 
17
17
  ### Add payment button to your site
18
18
 
19
- The next steps depend on which chain you're using for your project. For detailed integration instructions, visit our documentation for [Solana](https://docs.crossmint.com/accept-credit-cards/integration-guides/solana-candy-machine/b-i-have-an-existing-candy-machine-website/add-crossmint-for-solana-react.js-next.js), [Polygon](https://docs.crossmint.com/accept-credit-cards/integration-guides/polygon), or [Ethereum](https://docs.crossmint.com/accept-credit-cards/integration-guides/ethereum/add-crossmint-for-ethereum-react.js-next.js).
19
+ Check our dedicated section for payments [in the docs](https://docs.crossmint.com/docs/integration-guide).
20
20
 
21
21
  ---
22
22
 
package/lib/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var ct=Object.create;var B=Object.defineProperty;var lt=Object.getOwnPropertyDescriptor;var ut=Object.getOwnPropertyNames;var pt=Object.getPrototypeOf,ft=Object.prototype.hasOwnProperty;var gt=(t,e)=>{for(var o in e)B(t,o,{get:e[o],enumerable:!0})},j=(t,e,o,u)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of ut(e))!ft.call(t,r)&&r!==o&&B(t,r,{get:()=>e[r],enumerable:!(u=lt(e,r))||u.enumerable});return t};var x=(t,e,o)=>(o=t!=null?ct(pt(t)):{},j(e||!t||!t.__esModule?B(o,"default",{value:t,enumerable:!0}):o,t)),dt=t=>j(B({},"__esModule",{value:!0}),t);var Et={};gt(Et,{CheckoutEvents:()=>R.CheckoutEvents,CrossmintNFTCollectionView:()=>vt,CrossmintNFTDetail:()=>bt,CrossmintPayButton:()=>Ct,CrossmintPaymentElement:()=>xt,CrossmintStatusButton:()=>yt,useCrossmintEvents:()=>R.useCrossmintEvents});module.exports=dt(Et);var i=x(require("react"),1),W=require("react"),n=require("@crossmint/client-sdk-base");var Q=require("react-jss"),ht="#1e1e1e",K=t=>t==="light",T=t=>({buttonBgColor:K(t)?"white":ht,paragraphColor:K(t)?"black":"white"}),k=(0,Q.createUseStyles)({"@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"}});var V=require("react");function E(){let[t,e]=(0,V.useState)(!0);return(0,V.useEffect)(()=>{e(!1)},[]),{isServerSideRendering:t}}var c="0.2.8-alpha.2";var St={type:n.mintingContractTypes.CANDY_MACHINE};function Ct({className:t,disabled:e,onClick:o,style:u,tabIndex:r,theme:S="dark",mintTo:C,emailTo:y,listingId:m,clientId:p,auctionId:f,hideMintOnInactiveClient:h=!1,showOverlay:_=!0,mintConfig:d=St,whPassThroughArgs:L,environment:N,paymentMethod:I,preferredSigninMethod:P,dismissOverlayOnClick:O,prepay:A,locale:w="en-US",currency:D="usd",successCallbackURL:v="",failureCallbackURL:H="",loginEmail:b="",...J}){let[$,X]=(0,W.useState)(!1),[q,Z]=(0,W.useState)(n.onboardingRequestStatusResponse.WAITING_SUBMISSION),{isServerSideRendering:tt}=E(),{fetchClientIntegration:et}=(0,n.crossmintStatusService)({libVersion:c,clientId:p,environment:N,auctionId:f,mintConfig:d,setStatus:Z,clientName:n.clientNames.reactUi}),{connect:ot}=(0,n.crossmintModalService)({clientId:p,showOverlay:_,dismissOverlayOnClick:O,setConnecting:X,libVersion:c,environment:N,clientName:n.clientNames.reactUi,locale:w,currency:D,successCallbackURL:v,failureCallbackURL:H,loginEmail:b}),{getButtonText:nt,shouldHideButton:st,handleClick:rt}=(0,n.crossmintPayButtonService)({onClick:o,connecting:$,paymentMethod:I,locale:w});(0,i.useEffect)(()=>{h&&et()},[q]);let it=mt=>rt(mt,()=>{ot(d,C,y,m,L,I,P,A)}),G=k(T(S)),at=(0,i.useMemo)(()=>i.default.createElement("span",{className:G.crossmintParagraph,role:"button-paragraph"},nt($)),[$]);return st({hideMintOnInactiveClient:h,status:q})?null:i.default.createElement(i.default.Fragment,null,!tt&&i.default.createElement("button",{className:`${G.crossmintButton} ${t||""}`,disabled:e,onClick:it,style:{...u},tabIndex:r,...J},i.default.createElement("img",{className:G.crossmintImg,src:"https://www.crossmint.io/assets/crossmint/logo.svg",alt:"Crossmint logo"}),at))}var s=x(require("react"),1),a=require("@crossmint/client-sdk-base");function yt({className:t,disabled:e,onClick:o,style:u,tabIndex:r,theme:S="dark",clientId:C,auctionId:y,platformId:m,mintConfig:p,environment:f,locale:h="en-US",..._}){let[d,L]=(0,s.useState)(a.onboardingRequestStatusResponse.WAITING_SUBMISSION),{isServerSideRendering:N}=E(),{goToOnboarding:I,fetchClientIntegration:P}=(0,a.crossmintStatusService)({libVersion:c,clientId:C,environment:f,platformId:m,auctionId:y,mintConfig:p,setStatus:L,clientName:a.clientNames.reactUi}),{getButtonText:O,isButtonDisabled:A,handleClick:w}=(0,a.crossmintStatusButtonService)({onClick:o,locale:h}),D=b=>w(b,d,I);(0,s.useEffect)(()=>{P();let b=setInterval(()=>{P()},60*1e3);return()=>clearInterval(b)},[]);let v=k(T(S)),H=(0,s.useMemo)(()=>s.default.createElement("span",{className:v.crossmintParagraph},O(d)),[d]);return s.default.createElement(s.default.Fragment,null,!N&&s.default.createElement("button",{className:`${v.crossmintButton} ${t||""}`,disabled:A(d),onClick:D,style:{...u},tabIndex:r,..._},s.default.createElement("img",{className:v.crossmintImg,src:`${a.baseUrls.prod}/assets/crossmint/logo.svg`,alt:"Crossmint logo"}),H))}var Y=x(require("react"),1),M=require("@crossmint/client-sdk-base");function vt(t){(0,M.assertValidNFTCollectionViewProps)(t);let e=(0,M.getNFTCollectionViewSrc)(t,c);return Y.createElement("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-collection-view"})}var z=x(require("react"),1),U=require("@crossmint/client-sdk-base");function bt(t){(0,U.assertValidValidateNFTDetailProps)(t);let e=(0,U.getNFTDetailSrc)(t,c);return z.createElement("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-details"})}var l=x(require("react"),1),F=require("@crossmint/client-sdk-base");function xt(t){let[e,o]=(0,l.useState)(0),{getIframeUrl:u,listenToEvents:r,emitQueryParams:S}=(0,F.crossmintPaymentService)(t),{listenToEvents:C}=(0,F.crossmintUiService)({environment:t.environment}),[y]=(0,l.useState)(u());return(0,l.useEffect)(()=>{let m=r(p=>{var f;return(f=t.onEvent)==null?void 0:f.call(t,p.data)});return()=>{m&&m()}},[]),(0,l.useEffect)(()=>{let m=C(p=>{let{type:f,payload:h}=p.data;switch(f){case"ui:height.changed":o(h.height);break;default:return}});return()=>{m&&m()}},[]),(0,l.useEffect)(()=>{S({recipient:t.recipient,mintConfig:t.mintConfig,locale:t.locale,whPassThroughArgs:t.whPassThroughArgs})},[t.recipient,t.mintConfig,t.locale,t.whPassThroughArgs]),l.default.createElement("iframe",{src:y,id:"iframe-crossmint-payment-element",role:"iframe-crossmint-payment-element",allow:"payment *",style:{border:"none !important",padding:"0px !important",width:"100% !important",minWidth:"100% !important",overflow:"hidden !important",display:"block !important",userSelect:"none",transform:"translate(0px) !important",opacity:"1",transition:"ease 0s, opacity 0.4s ease 0.1s",height:`${e}px`}})}var R=require("@crossmint/client-sdk-base");0&&(module.exports={CheckoutEvents,CrossmintNFTCollectionView,CrossmintNFTDetail,CrossmintPayButton,CrossmintPaymentElement,CrossmintStatusButton,useCrossmintEvents});
1
+ "use strict";var rt=Object.create;var f=Object.defineProperty;var it=Object.getOwnPropertyDescriptor;var st=Object.getOwnPropertyNames;var at=Object.getPrototypeOf,mt=Object.prototype.hasOwnProperty;var ct=(t,e)=>{for(var n in e)f(t,n,{get:e[n],enumerable:!0})},B=(t,e,n,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of st(e))!mt.call(t,o)&&o!==n&&f(t,o,{get:()=>e[o],enumerable:!(c=it(e,o))||c.enumerable});return t};var d=(t,e,n)=>(n=t!=null?rt(at(t)):{},B(e||!t||!t.__esModule?f(n,"default",{value:t,enumerable:!0}):n,t)),lt=t=>B(f({},"__esModule",{value:!0}),t);var yt={};ct(yt,{CheckoutEvents:()=>S.CheckoutEvents,CrossmintNFTCollectionView:()=>ft,CrossmintNFTDetail:()=>dt,CrossmintPayButton:()=>ut,CrossmintPaymentElement:()=>ht,useCrossmintEvents:()=>S.useCrossmintEvents});module.exports=lt(yt);var i=d(require("react"),1),L=require("react"),s=require("@crossmint/client-sdk-base");var V=require("react-jss"),pt="#1e1e1e",M=t=>t==="light",F=t=>({buttonBgColor:M(t)?"white":pt,paragraphColor:M(t)?"black":"white"}),R=(0,V.createUseStyles)({"@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"}});var h=require("react");function N(){let[t,e]=(0,h.useState)(!0);return(0,h.useEffect)(()=>{e(!1)},[]),{isServerSideRendering:t}}var l="1.0.0-alpha.0";var gt={type:s.mintingContractTypes.CANDY_MACHINE};function ut(t){let{className:e,disabled:n,onClick:c,style:o,tabIndex:x,theme:w="dark",mintTo:b,emailTo:a,listingId:p,auctionId:g,showOverlay:E=!0,mintConfig:A=gt,whPassThroughArgs:D,environment:_,paymentMethod:T,preferredSigninMethod:H,dismissOverlayOnClick:G,prepay:$,locale:k="en-US",currency:j="usd",successCallbackURL:K="",failureCallbackURL:Q="",loginEmail:W="",projectId:Y,...u}=t,q="clientId"in u?u.clientId:u.collectionId,[P,z]=(0,L.useState)(!1),{isServerSideRendering:J}=N(),{connect:X}=(0,s.crossmintModalService)({clientId:q,projectId:Y,showOverlay:E,dismissOverlayOnClick:G,setConnecting:z,libVersion:l,environment:_,clientName:s.clientNames.reactUi,locale:k,currency:j,successCallbackURL:K,failureCallbackURL:Q,loginEmail:W}),{getButtonText:Z,handleClick:tt}=(0,s.crossmintPayButtonService)({onClick:c,connecting:P,paymentMethod:T,locale:k}),et=ot=>tt(ot,()=>{X(A,b,a,p,D,T,H,$)}),I=R(F(w)),nt=(0,i.useMemo)(()=>i.default.createElement("span",{className:I.crossmintParagraph,role:"button-paragraph"},Z(P)),[P]);return i.default.createElement(i.default.Fragment,null,!J&&i.default.createElement("button",{className:`${I.crossmintButton} ${e||""}`,disabled:n,onClick:et,style:{...o},tabIndex:x,...u},i.default.createElement("img",{className:I.crossmintImg,src:"https://www.crossmint.io/assets/crossmint/logo.svg",alt:"Crossmint logo"}),nt))}var U=d(require("react"),1),y=require("@crossmint/client-sdk-base");function ft(t){(0,y.assertValidNFTCollectionViewProps)(t);let e=(0,y.getNFTCollectionViewSrc)(t,l);return U.createElement("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-collection-view"})}var O=d(require("react"),1),C=require("@crossmint/client-sdk-base");function dt(t){(0,C.assertValidValidateNFTDetailProps)(t);let e=(0,C.getNFTDetailSrc)(t,l);return O.createElement("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-details"})}var r=d(require("react"),1),v=require("@crossmint/client-sdk-base");function ht(t){let[e,n]=(0,r.useState)(0),{getIframeUrl:c,listenToEvents:o,emitQueryParams:x}=(0,v.crossmintPaymentService)(t),{listenToEvents:w}=(0,v.crossmintUiService)({environment:t.environment}),[b]=(0,r.useState)(c());return(0,r.useEffect)(()=>{let a=o(p=>{var g;return(g=t.onEvent)==null?void 0:g.call(t,p.data)});return()=>{a&&a()}},[]),(0,r.useEffect)(()=>{let a=w(p=>{let{type:g,payload:E}=p.data;switch(g){case"ui:height.changed":n(E.height);break;default:return}});return()=>{a&&a()}},[]),(0,r.useEffect)(()=>{x({recipient:t.recipient,mintConfig:t.mintConfig,locale:t.locale,whPassThroughArgs:t.whPassThroughArgs})},[t.recipient,t.mintConfig,t.locale,t.whPassThroughArgs]),r.default.createElement("iframe",{src:b,id:"iframe-crossmint-payment-element",role:"iframe-crossmint-payment-element",allow:"payment *",style:{border:"none !important",padding:"0px !important",width:"100% !important",minWidth:"100% !important",overflow:"hidden !important",display:"block !important",userSelect:"none",transform:"translate(0px) !important",opacity:"1",transition:"ease 0s, opacity 0.4s ease 0.1s",height:`${e}px`}})}var S=require("@crossmint/client-sdk-base");0&&(module.exports={CheckoutEvents,CrossmintNFTCollectionView,CrossmintNFTDetail,CrossmintPayButton,CrossmintPaymentElement,useCrossmintEvents});
package/lib/index.d.ts CHANGED
@@ -1,19 +1,13 @@
1
1
  import { MouseEvent, CSSProperties } from 'react';
2
- import { CrossmintPayButtonProps, BaseButtonProps, NFTCollectionViewProps, NFTDetailProps, PaymentElement } from '@crossmint/client-sdk-base';
2
+ import { CrossmintPayButtonProps, NFTCollectionViewProps, NFTDetailProps, PaymentElement } from '@crossmint/client-sdk-base';
3
3
  export { CheckoutEventMap, CheckoutEvents, CrossmintCheckoutEvent, useCrossmintEvents } from '@crossmint/client-sdk-base';
4
4
 
5
- interface CrossmintPayButtonReactProps extends CrossmintPayButtonProps {
5
+ type CrossmintPayButtonReactProps = CrossmintPayButtonProps & {
6
6
  onClick?: (e: MouseEvent<HTMLButtonElement>) => void;
7
7
  style?: CSSProperties;
8
- }
9
- interface CrossmintStatusButtonReactProps extends BaseButtonProps {
10
- onClick?: (e: MouseEvent<HTMLButtonElement>) => void;
11
- style?: CSSProperties;
12
- }
13
-
14
- declare function CrossmintPayButton({ className, disabled, onClick, style, tabIndex, theme, mintTo, emailTo, listingId, clientId, auctionId, hideMintOnInactiveClient, showOverlay, mintConfig, whPassThroughArgs, environment, paymentMethod, preferredSigninMethod, dismissOverlayOnClick, prepay, locale, currency, successCallbackURL, failureCallbackURL, loginEmail, ...props }: CrossmintPayButtonReactProps): JSX.Element | null;
8
+ };
15
9
 
16
- declare function CrossmintStatusButton({ className, disabled, onClick, style, tabIndex, theme, clientId, auctionId, platformId, mintConfig, environment, locale, ...props }: CrossmintStatusButtonReactProps): JSX.Element;
10
+ declare function CrossmintPayButton(buttonProps: CrossmintPayButtonReactProps): JSX.Element;
17
11
 
18
12
  declare function CrossmintNFTCollectionView(props: NFTCollectionViewProps): JSX.Element;
19
13
 
@@ -21,4 +15,4 @@ declare function CrossmintNFTDetail(props: NFTDetailProps): JSX.Element;
21
15
 
22
16
  declare function CrossmintPaymentElement(props: PaymentElement): JSX.Element;
23
17
 
24
- export { CrossmintNFTCollectionView, CrossmintNFTDetail, CrossmintPayButton, CrossmintPaymentElement, CrossmintStatusButton };
18
+ export { CrossmintNFTCollectionView, CrossmintNFTDetail, CrossmintPayButton, CrossmintPaymentElement };
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- import y,{useEffect as rt,useMemo as it}from"react";import{useState as O}from"react";import{clientNames as A,crossmintModalService as at,crossmintPayButtonService as mt,crossmintStatusService as ct,mintingContractTypes as lt,onboardingRequestStatusResponse as ut}from"@crossmint/client-sdk-base";import{createUseStyles as et}from"react-jss";var ot="#1e1e1e",L=t=>t==="light",I=t=>({buttonBgColor:L(t)?"white":ot,paragraphColor:L(t)?"black":"white"}),P=et({"@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"}});import{useEffect as nt,useState as st}from"react";function C(){let[t,e]=st(!0);return nt(()=>{e(!1)},[]),{isServerSideRendering:t}}var n="0.2.8-alpha.2";var pt={type:lt.CANDY_MACHINE};function Ht({className:t,disabled:e,onClick:l,style:u,tabIndex:p,theme:f="dark",mintTo:g,emailTo:d,listingId:o,clientId:s,auctionId:r,hideMintOnInactiveClient:c=!1,showOverlay:w=!0,mintConfig:m=pt,whPassThroughArgs:B,environment:b,paymentMethod:x,preferredSigninMethod:E,dismissOverlayOnClick:T,prepay:k,locale:N="en-US",currency:V="usd",successCallbackURL:h="",failureCallbackURL:M="",loginEmail:S="",...G}){let[U,W]=O(!1),[_,q]=O(ut.WAITING_SUBMISSION),{isServerSideRendering:j}=C(),{fetchClientIntegration:K}=ct({libVersion:n,clientId:s,environment:b,auctionId:r,mintConfig:m,setStatus:q,clientName:A.reactUi}),{connect:Q}=at({clientId:s,showOverlay:w,dismissOverlayOnClick:T,setConnecting:W,libVersion:n,environment:b,clientName:A.reactUi,locale:N,currency:V,successCallbackURL:h,failureCallbackURL:M,loginEmail:S}),{getButtonText:Y,shouldHideButton:z,handleClick:J}=mt({onClick:l,connecting:U,paymentMethod:x,locale:N});rt(()=>{c&&K()},[_]);let X=tt=>J(tt,()=>{Q(m,g,d,o,B,x,E,k)}),F=P(I(f)),Z=it(()=>y.createElement("span",{className:F.crossmintParagraph,role:"button-paragraph"},Y(U)),[U]);return z({hideMintOnInactiveClient:c,status:_})?null:y.createElement(y.Fragment,null,!j&&y.createElement("button",{className:`${F.crossmintButton} ${t||""}`,disabled:e,onClick:X,style:{...u},tabIndex:p,...G},y.createElement("img",{className:F.crossmintImg,src:"https://www.crossmint.io/assets/crossmint/logo.svg",alt:"Crossmint logo"}),Z))}import v,{useEffect as ft,useMemo as gt,useState as dt}from"react";import{baseUrls as ht,clientNames as St,crossmintStatusButtonService as Ct,crossmintStatusService as yt,onboardingRequestStatusResponse as vt}from"@crossmint/client-sdk-base";function zt({className:t,disabled:e,onClick:l,style:u,tabIndex:p,theme:f="dark",clientId:g,auctionId:d,platformId:o,mintConfig:s,environment:r,locale:c="en-US",...w}){let[m,B]=dt(vt.WAITING_SUBMISSION),{isServerSideRendering:b}=C(),{goToOnboarding:x,fetchClientIntegration:E}=yt({libVersion:n,clientId:g,environment:r,platformId:o,auctionId:d,mintConfig:s,setStatus:B,clientName:St.reactUi}),{getButtonText:T,isButtonDisabled:k,handleClick:N}=Ct({onClick:l,locale:c}),V=S=>N(S,m,x);ft(()=>{E();let S=setInterval(()=>{E()},60*1e3);return()=>clearInterval(S)},[]);let h=P(I(f)),M=gt(()=>v.createElement("span",{className:h.crossmintParagraph},T(m)),[m]);return v.createElement(v.Fragment,null,!b&&v.createElement("button",{className:`${h.crossmintButton} ${t||""}`,disabled:k(m),onClick:V,style:{...u},tabIndex:p,...w},v.createElement("img",{className:h.crossmintImg,src:`${ht.prod}/assets/crossmint/logo.svg`,alt:"Crossmint logo"}),M))}import*as D from"react";import{assertValidNFTCollectionViewProps as bt,getNFTCollectionViewSrc as xt}from"@crossmint/client-sdk-base";function ee(t){bt(t);let e=xt(t,n);return D.createElement("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-collection-view"})}import*as H from"react";import{assertValidValidateNFTDetailProps as Et,getNFTDetailSrc as Nt}from"@crossmint/client-sdk-base";function ie(t){Et(t);let e=Nt(t,n);return H.createElement("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-details"})}import It,{useEffect as R,useState as $}from"react";import{crossmintPaymentService as Pt,crossmintUiService as wt}from"@crossmint/client-sdk-base";function le(t){let[e,l]=$(0),{getIframeUrl:u,listenToEvents:p,emitQueryParams:f}=Pt(t),{listenToEvents:g}=wt({environment:t.environment}),[d]=$(u());return R(()=>{let o=p(s=>{var r;return(r=t.onEvent)==null?void 0:r.call(t,s.data)});return()=>{o&&o()}},[]),R(()=>{let o=g(s=>{let{type:r,payload:c}=s.data;switch(r){case"ui:height.changed":l(c.height);break;default:return}});return()=>{o&&o()}},[]),R(()=>{f({recipient:t.recipient,mintConfig:t.mintConfig,locale:t.locale,whPassThroughArgs:t.whPassThroughArgs})},[t.recipient,t.mintConfig,t.locale,t.whPassThroughArgs]),It.createElement("iframe",{src:d,id:"iframe-crossmint-payment-element",role:"iframe-crossmint-payment-element",allow:"payment *",style:{border:"none !important",padding:"0px !important",width:"100% !important",minWidth:"100% !important",overflow:"hidden !important",display:"block !important",userSelect:"none",transform:"translate(0px) !important",opacity:"1",transition:"ease 0s, opacity 0.4s ease 0.1s",height:`${e}px`}})}import{CheckoutEvents as ye,useCrossmintEvents as ve}from"@crossmint/client-sdk-base";export{ye as CheckoutEvents,ee as CrossmintNFTCollectionView,ie as CrossmintNFTDetail,Ht as CrossmintPayButton,le as CrossmintPaymentElement,zt as CrossmintStatusButton,ve as useCrossmintEvents};
1
+ import m,{useMemo as Z}from"react";import{useState as tt}from"react";import{clientNames as et,crossmintModalService as nt,crossmintPayButtonService as ot,mintingContractTypes as rt}from"@crossmint/client-sdk-base";import{createUseStyles as q}from"react-jss";var z="#1e1e1e",b=t=>t==="light",E=t=>({buttonBgColor:b(t)?"white":z,paragraphColor:b(t)?"black":"white"}),P=q({"@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"}});import{useEffect as J,useState as X}from"react";function v(){let[t,e]=X(!0);return J(()=>{e(!1)},[]),{isServerSideRendering:t}}var i="1.0.0-alpha.0";var it={type:rt.CANDY_MACHINE};function It(t){let{className:e,disabled:l,onClick:p,style:g,tabIndex:u,theme:f="dark",mintTo:d,emailTo:n,listingId:s,auctionId:a,showOverlay:h=!0,mintConfig:k=it,whPassThroughArgs:B,environment:M,paymentMethod:x,preferredSigninMethod:V,dismissOverlayOnClick:F,prepay:R,locale:w="en-US",currency:L="usd",successCallbackURL:U="",failureCallbackURL:O="",loginEmail:A="",projectId:D,...c}=t,_="clientId"in c?c.clientId:c.collectionId,[y,H]=tt(!1),{isServerSideRendering:G}=v(),{connect:$}=nt({clientId:_,projectId:D,showOverlay:h,dismissOverlayOnClick:F,setConnecting:H,libVersion:i,environment:M,clientName:et.reactUi,locale:w,currency:L,successCallbackURL:U,failureCallbackURL:O,loginEmail:A}),{getButtonText:j,handleClick:K}=ot({onClick:p,connecting:y,paymentMethod:x,locale:w}),Q=Y=>K(Y,()=>{$(k,d,n,s,B,x,V,R)}),C=P(E(f)),W=Z(()=>m.createElement("span",{className:C.crossmintParagraph,role:"button-paragraph"},j(y)),[y]);return m.createElement(m.Fragment,null,!G&&m.createElement("button",{className:`${C.crossmintButton} ${e||""}`,disabled:l,onClick:Q,style:{...g},tabIndex:u,...c},m.createElement("img",{className:C.crossmintImg,src:"https://www.crossmint.io/assets/crossmint/logo.svg",alt:"Crossmint logo"}),W))}import*as I from"react";import{assertValidNFTCollectionViewProps as st,getNFTCollectionViewSrc as at}from"@crossmint/client-sdk-base";function Mt(t){st(t);let e=at(t,i);return I.createElement("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-collection-view"})}import*as N from"react";import{assertValidValidateNFTDetailProps as mt,getNFTDetailSrc as ct}from"@crossmint/client-sdk-base";function Ut(t){mt(t);let e=ct(t,i);return N.createElement("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-details"})}import lt,{useEffect as S,useState as T}from"react";import{crossmintPaymentService as pt,crossmintUiService as gt}from"@crossmint/client-sdk-base";function _t(t){let[e,l]=T(0),{getIframeUrl:p,listenToEvents:g,emitQueryParams:u}=pt(t),{listenToEvents:f}=gt({environment:t.environment}),[d]=T(p());return S(()=>{let n=g(s=>{var a;return(a=t.onEvent)==null?void 0:a.call(t,s.data)});return()=>{n&&n()}},[]),S(()=>{let n=f(s=>{let{type:a,payload:h}=s.data;switch(a){case"ui:height.changed":l(h.height);break;default:return}});return()=>{n&&n()}},[]),S(()=>{u({recipient:t.recipient,mintConfig:t.mintConfig,locale:t.locale,whPassThroughArgs:t.whPassThroughArgs})},[t.recipient,t.mintConfig,t.locale,t.whPassThroughArgs]),lt.createElement("iframe",{src:d,id:"iframe-crossmint-payment-element",role:"iframe-crossmint-payment-element",allow:"payment *",style:{border:"none !important",padding:"0px !important",width:"100% !important",minWidth:"100% !important",overflow:"hidden !important",display:"block !important",userSelect:"none",transform:"translate(0px) !important",opacity:"1",transition:"ease 0s, opacity 0.4s ease 0.1s",height:`${e}px`}})}import{CheckoutEvents as Yt,useCrossmintEvents as qt}from"@crossmint/client-sdk-base";export{Yt as CheckoutEvents,Mt as CrossmintNFTCollectionView,Ut as CrossmintNFTDetail,It as CrossmintPayButton,_t as CrossmintPaymentElement,qt as useCrossmintEvents};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/client-sdk-react-ui",
3
- "version": "0.2.8-alpha.2",
3
+ "version": "1.0.0-alpha.0",
4
4
  "author": "Paella Labs Inc",
5
5
  "license": "Apache-2.0",
6
6
  "repository": "https://github.com/CrossMint/crossmint-client-sdk",
@@ -32,7 +32,7 @@
32
32
  "test": "jest"
33
33
  },
34
34
  "dependencies": {
35
- "@crossmint/client-sdk-base": "^0.2.8-alpha.2",
35
+ "@crossmint/client-sdk-base": "^1.0.0-alpha.0",
36
36
  "react-jss": "10.9.2",
37
37
  "uuid": "^8.3.2"
38
38
  },
@@ -50,5 +50,5 @@
50
50
  "ts-jest": "^27.1.3",
51
51
  "ts-node-dev": "^1.1.8"
52
52
  },
53
- "gitHead": "92bff3f34f737306ee3800a5d0786d83fb095de2"
53
+ "gitHead": "1c57e1315f8881b0878ee48bee8b7d6e61b81fd4"
54
54
  }
@@ -1,13 +1,11 @@
1
- import React, { FC, MouseEvent, useEffect, useMemo } from "react";
1
+ import React, { MouseEvent, useEffect, useMemo } from "react";
2
2
  import { useState } from "react";
3
3
 
4
4
  import {
5
5
  clientNames,
6
6
  crossmintModalService,
7
7
  crossmintPayButtonService,
8
- crossmintStatusService,
9
8
  mintingContractTypes,
10
- onboardingRequestStatusResponse,
11
9
  } from "@crossmint/client-sdk-base";
12
10
 
13
11
  import { formatProps, useStyles } from "./styles";
@@ -19,50 +17,43 @@ const defaultMintConfig: any = {
19
17
  type: mintingContractTypes.CANDY_MACHINE,
20
18
  };
21
19
 
22
- export function CrossmintPayButton({
23
- className,
24
- disabled,
25
- onClick,
26
- style,
27
- tabIndex,
28
- theme = "dark",
29
- mintTo,
30
- emailTo,
31
- listingId,
32
- clientId,
33
- auctionId,
34
- hideMintOnInactiveClient = false,
35
- showOverlay = true,
36
- mintConfig = defaultMintConfig,
37
- whPassThroughArgs,
38
- environment,
39
- paymentMethod,
40
- preferredSigninMethod,
41
- dismissOverlayOnClick,
42
- prepay,
43
- locale = "en-US",
44
- currency = "usd",
45
- successCallbackURL = "",
46
- failureCallbackURL = "",
47
- loginEmail = "",
48
- ...props
49
- }: CrossmintPayButtonReactProps) {
20
+ export function CrossmintPayButton(buttonProps: CrossmintPayButtonReactProps) {
21
+ const {
22
+ className,
23
+ disabled,
24
+ onClick,
25
+ style,
26
+ tabIndex,
27
+ theme = "dark",
28
+ mintTo,
29
+ emailTo,
30
+ listingId,
31
+ auctionId,
32
+ showOverlay = true,
33
+ mintConfig = defaultMintConfig,
34
+ whPassThroughArgs,
35
+ environment,
36
+ paymentMethod,
37
+ preferredSigninMethod,
38
+ dismissOverlayOnClick,
39
+ prepay,
40
+ locale = "en-US",
41
+ currency = "usd",
42
+ successCallbackURL = "",
43
+ failureCallbackURL = "",
44
+ loginEmail = "",
45
+ projectId,
46
+ ...props
47
+ } = buttonProps;
48
+
49
+ const collectionId = "clientId" in props ? props.clientId : props.collectionId;
50
+
50
51
  const [connecting, setConnecting] = useState(false);
51
- const [status, setStatus] = useState(onboardingRequestStatusResponse.WAITING_SUBMISSION);
52
52
  const { isServerSideRendering } = useEnvironment();
53
53
 
54
- const { fetchClientIntegration } = crossmintStatusService({
55
- libVersion: LIB_VERSION,
56
- clientId,
57
- environment,
58
- auctionId,
59
- mintConfig,
60
- setStatus,
61
- clientName: clientNames.reactUi,
62
- });
63
-
64
54
  const { connect } = crossmintModalService({
65
- clientId,
55
+ clientId: collectionId,
56
+ projectId,
66
57
  showOverlay,
67
58
  dismissOverlayOnClick,
68
59
  setConnecting,
@@ -73,22 +64,16 @@ export function CrossmintPayButton({
73
64
  currency,
74
65
  successCallbackURL,
75
66
  failureCallbackURL,
76
- loginEmail
67
+ loginEmail,
77
68
  });
78
69
 
79
- const { getButtonText, shouldHideButton, handleClick } = crossmintPayButtonService({
70
+ const { getButtonText, handleClick } = crossmintPayButtonService({
80
71
  onClick,
81
72
  connecting,
82
73
  paymentMethod,
83
74
  locale,
84
75
  });
85
76
 
86
- useEffect(() => {
87
- if (hideMintOnInactiveClient) {
88
- fetchClientIntegration();
89
- }
90
- }, [status]);
91
-
92
77
  const _handleClick = (event: MouseEvent<HTMLButtonElement>) =>
93
78
  handleClick(event, () => {
94
79
  connect(
@@ -113,10 +98,6 @@ export function CrossmintPayButton({
113
98
  );
114
99
  }, [connecting]);
115
100
 
116
- if (shouldHideButton({ hideMintOnInactiveClient, status })) {
117
- return null;
118
- }
119
-
120
101
  return (
121
102
  <>
122
103
  {!isServerSideRendering && (
package/src/index.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export * from "./CrossmintPayButton";
2
- export * from "./CrossmintStatusButton";
3
2
  export * from "./CrossmintNFTCollectionView";
4
3
  export * from "./CrossmintNFTDetail";
5
4
  export * from "./CrossmintPaymentElement";
package/src/types.ts CHANGED
@@ -1,12 +1,8 @@
1
1
  import { CSSProperties, MouseEvent } from "react";
2
- import { CrossmintPayButtonProps, BaseButtonProps } from "@crossmint/client-sdk-base";
3
2
 
4
- export interface CrossmintPayButtonReactProps extends CrossmintPayButtonProps {
5
- onClick?: (e: MouseEvent<HTMLButtonElement>) => void;
6
- style?: CSSProperties;
7
- }
3
+ import { CrossmintPayButtonProps } from "@crossmint/client-sdk-base";
8
4
 
9
- export interface CrossmintStatusButtonReactProps extends BaseButtonProps {
5
+ export type CrossmintPayButtonReactProps = CrossmintPayButtonProps & {
10
6
  onClick?: (e: MouseEvent<HTMLButtonElement>) => void;
11
7
  style?: CSSProperties;
12
- }
8
+ };
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const LIB_VERSION = "0.2.8-alpha.2";
1
+ export const LIB_VERSION = "1.0.0-alpha.0";
@@ -1,85 +0,0 @@
1
- import React, { FC, MouseEventHandler, useEffect, useMemo, useState } from "react";
2
-
3
- import {
4
- baseUrls,
5
- clientNames,
6
- crossmintStatusButtonService,
7
- crossmintStatusService,
8
- onboardingRequestStatusResponse,
9
- } from "@crossmint/client-sdk-base";
10
-
11
- import { formatProps, useStyles } from "./styles";
12
- import { CrossmintStatusButtonReactProps } from "./types";
13
- import useEnvironment from "./useEnvironment";
14
- import { LIB_VERSION } from "./version";
15
-
16
- export function CrossmintStatusButton({
17
- className,
18
- disabled,
19
- onClick,
20
- style,
21
- tabIndex,
22
- theme = "dark",
23
- clientId,
24
- auctionId,
25
- platformId,
26
- mintConfig,
27
- environment,
28
- locale = "en-US",
29
- ...props
30
- }: CrossmintStatusButtonReactProps) {
31
- const [status, setStatus] = useState(onboardingRequestStatusResponse.WAITING_SUBMISSION);
32
- const { isServerSideRendering } = useEnvironment();
33
-
34
- const { goToOnboarding, fetchClientIntegration } = crossmintStatusService({
35
- libVersion: LIB_VERSION,
36
- clientId,
37
- environment,
38
- platformId,
39
- auctionId,
40
- mintConfig,
41
- setStatus,
42
- clientName: clientNames.reactUi,
43
- });
44
- const { getButtonText, isButtonDisabled, handleClick } = crossmintStatusButtonService({ onClick, locale });
45
-
46
- const _handleClick: MouseEventHandler<HTMLButtonElement> = (e) => handleClick(e, status, goToOnboarding);
47
-
48
- useEffect(() => {
49
- fetchClientIntegration();
50
-
51
- const interval = setInterval(() => {
52
- fetchClientIntegration();
53
- }, 60 * 1000);
54
-
55
- return () => clearInterval(interval);
56
- }, []);
57
-
58
- const classes = useStyles(formatProps(theme));
59
-
60
- const content = useMemo(() => {
61
- return <span className={classes.crossmintParagraph}>{getButtonText(status)}</span>;
62
- }, [status]);
63
-
64
- return (
65
- <>
66
- {!isServerSideRendering && (
67
- <button
68
- className={`${classes.crossmintButton} ${className || ""}`}
69
- disabled={isButtonDisabled(status)}
70
- onClick={_handleClick}
71
- style={{ ...style }}
72
- tabIndex={tabIndex}
73
- {...props}
74
- >
75
- <img
76
- className={classes.crossmintImg}
77
- src={`${baseUrls.prod}/assets/crossmint/logo.svg`}
78
- alt="Crossmint logo"
79
- />
80
- {content}
81
- </button>
82
- )}
83
- </>
84
- );
85
- }