@crossmint/client-sdk-react-ui 0.2.7-alpha.2 → 0.2.7-alpha.21

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/lib/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var nt=Object.create;var I=Object.defineProperty;var it=Object.getOwnPropertyDescriptor;var at=Object.getOwnPropertyNames;var mt=Object.getPrototypeOf,lt=Object.prototype.hasOwnProperty;var ct=(t,o)=>{for(var s in o)I(t,s,{get:o[s],enumerable:!0})},$=(t,o,s,u)=>{if(o&&typeof o=="object"||typeof o=="function")for(let a of at(o))!lt.call(t,a)&&a!==s&&I(t,a,{get:()=>o[a],enumerable:!(u=it(o,a))||u.enumerable});return t};var y=(t,o,s)=>(s=t!=null?nt(mt(t)):{},$(o||!t||!t.__esModule?I(s,"default",{value:t,enumerable:!0}):s,t)),ut=t=>$(I({},"__esModule",{value:!0}),t);var Nt={};ct(Nt,{CrossmintNFTCollectionView:()=>St,CrossmintNFTDetail:()=>Ct,CrossmintPayButton:()=>ft,CrossmintStatusButton:()=>dt});module.exports=ut(Nt);var n=y(require("react"),1),A=require("react"),e=require("@crossmint/client-sdk-base");var W=require("react-jss"),pt="#1e1e1e",q=t=>t==="light",B=t=>({buttonBgColor:q(t)?"white":pt,paragraphColor:q(t)?"black":"white"}),x=(0,W.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 P=require("react");function f(){let[t,o]=(0,P.useState)(!0);return(0,P.useEffect)(()=>{o(!1)},[]),{isServerSideRendering:t}}var m="0.2.7-alpha.2";var gt={type:e.mintingContractTypes.CANDY_MACHINE};function ft({className:t,disabled:o,onClick:s,style:u,tabIndex:a,theme:E="dark",mintTo:T,emailTo:V,listingId:F,clientId:d,auctionId:R,hideMintOnInactiveClient:S=!1,showOverlay:M=!0,mintConfig:l=gt,whPassThroughArgs:U,environment:C,paymentMethod:N,preferredSigninMethod:b,dismissOverlayOnClick:k,prepay:_,locale:h="en-US",currency:D="USD",successCallbackURL:p="",failureCallbackURL:O="",...g}){let[L,Y]=(0,A.useState)(!1),[G,z]=(0,A.useState)(e.onboardingRequestStatusResponse.WAITING_SUBMISSION),{isServerSideRendering:J}=f(),{fetchClientIntegration:Q}=(0,e.crossmintStatusService)({libVersion:m,clientId:d,environment:C,auctionId:R,mintConfig:l,setStatus:z,clientName:e.clientNames.reactUi}),{connect:X}=(0,e.crossmintModalService)({clientId:d,showOverlay:M,dismissOverlayOnClick:k,setConnecting:Y,libVersion:m,environment:C,clientName:e.clientNames.reactUi,locale:h,currency:D,successCallbackURL:p,failureCallbackURL:O}),{getButtonText:Z,shouldHideButton:tt,handleClick:ot}=(0,e.crossmintPayButtonService)({onClick:s,connecting:L,paymentMethod:N,locale:h});(0,n.useEffect)(()=>{S&&Q()},[G]);let et=rt=>ot(rt,()=>{X(l,T,V,F,U,N,b,_)}),H=x(B(E)),st=(0,n.useMemo)(()=>n.default.createElement("span",{className:H.crossmintParagraph,role:"button-paragraph"},Z(L)),[L]);return tt({hideMintOnInactiveClient:S,status:G})?null:n.default.createElement(n.default.Fragment,null,!J&&n.default.createElement("button",{className:`${H.crossmintButton} ${t||""}`,disabled:o,onClick:et,style:{...u},tabIndex:a,...g},n.default.createElement("img",{className:H.crossmintImg,src:"https://www.crossmint.io/assets/crossmint/logo.svg",alt:"Crossmint logo"}),st))}var r=y(require("react"),1),i=require("@crossmint/client-sdk-base");function dt({className:t,disabled:o,onClick:s,style:u,tabIndex:a,theme:E="dark",clientId:T,auctionId:V,platformId:F,mintConfig:d,environment:R,locale:S="en-US",...M}){let[l,U]=(0,r.useState)(i.onboardingRequestStatusResponse.WAITING_SUBMISSION),{isServerSideRendering:C}=f(),{goToOnboarding:N,fetchClientIntegration:b}=(0,i.crossmintStatusService)({libVersion:m,clientId:T,environment:R,platformId:F,auctionId:V,mintConfig:d,setStatus:U,clientName:i.clientNames.reactUi}),{getButtonText:k,isButtonDisabled:_,handleClick:h}=(0,i.crossmintStatusButtonService)({onClick:s,locale:S}),D=g=>h(g,l,N);(0,r.useEffect)(()=>{b();let g=setInterval(()=>{b()},60*1e3);return()=>clearInterval(g)},[]);let p=x(B(E)),O=(0,r.useMemo)(()=>r.default.createElement("span",{className:p.crossmintParagraph},k(l)),[l]);return r.default.createElement(r.default.Fragment,null,!C&&r.default.createElement("button",{className:`${p.crossmintButton} ${t||""}`,disabled:_(l),onClick:D,style:{...u},tabIndex:a,...M},r.default.createElement("img",{className:p.crossmintImg,src:`${i.baseUrls.prod}/assets/crossmint/logo.svg`,alt:"Crossmint logo"}),O))}var j=y(require("react"),1),v=require("@crossmint/client-sdk-base");function St(t){(0,v.assertValidNFTCollectionViewProps)(t);let o=(0,v.getNFTCollectionViewSrc)(t,m);return j.createElement("iframe",{src:o,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-collection-view"})}var K=y(require("react"),1),w=require("@crossmint/client-sdk-base");function Ct(t){(0,w.assertValidValidateNFTDetailProps)(t);let o=(0,w.getNFTDetailSrc)(t,m);return K.createElement("iframe",{src:o,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-details"})}0&&(module.exports={CrossmintNFTCollectionView,CrossmintNFTDetail,CrossmintPayButton,CrossmintStatusButton});
1
+ "use strict";var mt=Object.create;var w=Object.defineProperty;var ct=Object.getOwnPropertyDescriptor;var lt=Object.getOwnPropertyNames;var ut=Object.getPrototypeOf,pt=Object.prototype.hasOwnProperty;var ft=(t,e)=>{for(var o in e)w(t,o,{get:e[o],enumerable:!0})},j=(t,e,o,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of lt(e))!pt.call(t,s)&&s!==o&&w(t,s,{get:()=>e[s],enumerable:!(l=ct(e,s))||l.enumerable});return t};var b=(t,e,o)=>(o=t!=null?mt(ut(t)):{},j(e||!t||!t.__esModule?w(o,"default",{value:t,enumerable:!0}):o,t)),gt=t=>j(w({},"__esModule",{value:!0}),t);var Et={};ft(Et,{CheckoutEvents:()=>R.CheckoutEvents,CrossmintNFTCollectionView:()=>yt,CrossmintNFTDetail:()=>vt,CrossmintPayButton:()=>ht,CrossmintPaymentElement:()=>bt,CrossmintStatusButton:()=>Ct,useCrossmintEvents:()=>R.useCrossmintEvents});module.exports=gt(Et);var i=b(require("react"),1),W=require("react"),n=require("@crossmint/client-sdk-base");var Q=require("react-jss"),dt="#1e1e1e",K=t=>t==="light",T=t=>({buttonBgColor:K(t)?"white":dt,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 U=require("react");function E(){let[t,e]=(0,U.useState)(!0);return(0,U.useEffect)(()=>{e(!1)},[]),{isServerSideRendering:t}}var c="0.2.7-alpha.21";var St={type:n.mintingContractTypes.CANDY_MACHINE};function ht({className:t,disabled:e,onClick:o,style:l,tabIndex:s,theme:d="dark",mintTo:S,emailTo:h,listingId:f,clientId:m,auctionId:C,hideMintOnInactiveClient:x=!1,showOverlay:_=!0,mintConfig:g=St,whPassThroughArgs:D,environment:N,paymentMethod:I,preferredSigninMethod:P,dismissOverlayOnClick:O,prepay:H,locale:B="en-US",currency:L="USD",successCallbackURL:y="",failureCallbackURL:$="",...v}){let[A,J]=(0,W.useState)(!1),[q,X]=(0,W.useState)(n.onboardingRequestStatusResponse.WAITING_SUBMISSION),{isServerSideRendering:Z}=E(),{fetchClientIntegration:tt}=(0,n.crossmintStatusService)({libVersion:c,clientId:m,environment:N,auctionId:C,mintConfig:g,setStatus:X,clientName:n.clientNames.reactUi}),{connect:et}=(0,n.crossmintModalService)({clientId:m,showOverlay:_,dismissOverlayOnClick:O,setConnecting:J,libVersion:c,environment:N,clientName:n.clientNames.reactUi,locale:B,currency:L,successCallbackURL:y,failureCallbackURL:$}),{getButtonText:ot,shouldHideButton:nt,handleClick:st}=(0,n.crossmintPayButtonService)({onClick:o,connecting:A,paymentMethod:I,locale:B});(0,i.useEffect)(()=>{x&&tt()},[q]);let rt=at=>st(at,()=>{et(g,S,h,f,D,I,P,H)}),G=k(T(d)),it=(0,i.useMemo)(()=>i.default.createElement("span",{className:G.crossmintParagraph,role:"button-paragraph"},ot(A)),[A]);return nt({hideMintOnInactiveClient:x,status:q})?null:i.default.createElement(i.default.Fragment,null,!Z&&i.default.createElement("button",{className:`${G.crossmintButton} ${t||""}`,disabled:e,onClick:rt,style:{...l},tabIndex:s,...v},i.default.createElement("img",{className:G.crossmintImg,src:"https://www.crossmint.io/assets/crossmint/logo.svg",alt:"Crossmint logo"}),it))}var r=b(require("react"),1),a=require("@crossmint/client-sdk-base");function Ct({className:t,disabled:e,onClick:o,style:l,tabIndex:s,theme:d="dark",clientId:S,auctionId:h,platformId:f,mintConfig:m,environment:C,locale:x="en-US",..._}){let[g,D]=(0,r.useState)(a.onboardingRequestStatusResponse.WAITING_SUBMISSION),{isServerSideRendering:N}=E(),{goToOnboarding:I,fetchClientIntegration:P}=(0,a.crossmintStatusService)({libVersion:c,clientId:S,environment:C,platformId:f,auctionId:h,mintConfig:m,setStatus:D,clientName:a.clientNames.reactUi}),{getButtonText:O,isButtonDisabled:H,handleClick:B}=(0,a.crossmintStatusButtonService)({onClick:o,locale:x}),L=v=>B(v,g,I);(0,r.useEffect)(()=>{P();let v=setInterval(()=>{P()},60*1e3);return()=>clearInterval(v)},[]);let y=k(T(d)),$=(0,r.useMemo)(()=>r.default.createElement("span",{className:y.crossmintParagraph},O(g)),[g]);return r.default.createElement(r.default.Fragment,null,!N&&r.default.createElement("button",{className:`${y.crossmintButton} ${t||""}`,disabled:H(g),onClick:L,style:{...l},tabIndex:s,..._},r.default.createElement("img",{className:y.crossmintImg,src:`${a.baseUrls.prod}/assets/crossmint/logo.svg`,alt:"Crossmint logo"}),$))}var Y=b(require("react"),1),V=require("@crossmint/client-sdk-base");function yt(t){(0,V.assertValidNFTCollectionViewProps)(t);let e=(0,V.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=b(require("react"),1),M=require("@crossmint/client-sdk-base");function vt(t){(0,M.assertValidValidateNFTDetailProps)(t);let e=(0,M.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 p=b(require("react"),1),F=require("@crossmint/client-sdk-base");function bt(t){let[e,o]=(0,p.useState)(0),{getIframeUrl:l,listenToEvents:s,emitQueryParams:d}=(0,F.crossmintPaymentService)(t),{listenToEvents:S}=(0,F.crossmintUiService)({environment:t.environment});(0,p.useEffect)(()=>{s(f=>{var m;return(m=t.onEvent)==null?void 0:m.call(t,f.data)})},[s,t.onEvent]),(0,p.useEffect)(()=>{S(f=>{let{type:m,payload:C}=f.data;switch(m){case"ui:height.changed":o(C.height);break;default:return}})},[]),(0,p.useEffect)(()=>{d({recipient:t.recipient,mintConfig:t.mintConfig,locale:t.locale})},[d,t.recipient,t.mintConfig,t.locale]);let h=l();return p.default.createElement("iframe",{src:h,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});
package/lib/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { MouseEvent, CSSProperties } from 'react';
2
- import { CrossmintPayButtonProps, BaseButtonProps, NFTCollectionViewProps, NFTDetailProps } from '@crossmint/client-sdk-base';
2
+ import { CrossmintPayButtonProps, BaseButtonProps, NFTCollectionViewProps, NFTDetailProps, PaymentElement } from '@crossmint/client-sdk-base';
3
+ export { CheckoutEventMap, CheckoutEvents, CrossmintCheckoutEvent, useCrossmintEvents } from '@crossmint/client-sdk-base';
3
4
 
4
5
  interface CrossmintPayButtonReactProps extends CrossmintPayButtonProps {
5
6
  onClick?: (e: MouseEvent<HTMLButtonElement>) => void;
@@ -18,4 +19,6 @@ declare function CrossmintNFTCollectionView(props: NFTCollectionViewProps): JSX.
18
19
 
19
20
  declare function CrossmintNFTDetail(props: NFTDetailProps): JSX.Element;
20
21
 
21
- export { CrossmintNFTCollectionView, CrossmintNFTDetail, CrossmintPayButton, CrossmintStatusButton };
22
+ declare function CrossmintPaymentElement(props: PaymentElement): JSX.Element;
23
+
24
+ export { CrossmintNFTCollectionView, CrossmintNFTDetail, CrossmintPayButton, CrossmintPaymentElement, CrossmintStatusButton };
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- import l,{useEffect as et,useMemo as st}from"react";import{useState as D}from"react";import{clientNames as O,crossmintModalService as rt,crossmintPayButtonService as nt,crossmintStatusService as it,mintingContractTypes as at,onboardingRequestStatusResponse as mt}from"@crossmint/client-sdk-base";import{createUseStyles as X}from"react-jss";var Z="#1e1e1e",_=t=>t==="light",C=t=>({buttonBgColor:_(t)?"white":Z,paragraphColor:_(t)?"black":"white"}),N=X({"@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 tt,useState as ot}from"react";function m(){let[t,e]=ot(!0);return tt(()=>{e(!1)},[]),{isServerSideRendering:t}}var o="0.2.7-alpha.2";var lt={type:at.CANDY_MACHINE};function kt({className:t,disabled:e,onClick:b,style:h,tabIndex:I,theme:y="dark",mintTo:B,emailTo:x,listingId:P,clientId:u,auctionId:v,hideMintOnInactiveClient:p=!1,showOverlay:w=!0,mintConfig:s=lt,whPassThroughArgs:E,environment:g,paymentMethod:f,preferredSigninMethod:d,dismissOverlayOnClick:T,prepay:V,locale:S="en-US",currency:F="USD",successCallbackURL:i="",failureCallbackURL:R="",...a}){let[M,A]=D(!1),[k,G]=D(mt.WAITING_SUBMISSION),{isServerSideRendering:$}=m(),{fetchClientIntegration:q}=it({libVersion:o,clientId:u,environment:g,auctionId:v,mintConfig:s,setStatus:G,clientName:O.reactUi}),{connect:W}=rt({clientId:u,showOverlay:w,dismissOverlayOnClick:T,setConnecting:A,libVersion:o,environment:g,clientName:O.reactUi,locale:S,currency:F,successCallbackURL:i,failureCallbackURL:R}),{getButtonText:j,shouldHideButton:K,handleClick:Y}=nt({onClick:b,connecting:M,paymentMethod:f,locale:S});et(()=>{p&&q()},[k]);let z=Q=>Y(Q,()=>{W(s,B,x,P,E,f,d,V)}),U=N(C(y)),J=st(()=>l.createElement("span",{className:U.crossmintParagraph,role:"button-paragraph"},j(M)),[M]);return K({hideMintOnInactiveClient:p,status:k})?null:l.createElement(l.Fragment,null,!$&&l.createElement("button",{className:`${U.crossmintButton} ${t||""}`,disabled:e,onClick:z,style:{...h},tabIndex:I,...a},l.createElement("img",{className:U.crossmintImg,src:"https://www.crossmint.io/assets/crossmint/logo.svg",alt:"Crossmint logo"}),J))}import c,{useEffect as ct,useMemo as ut,useState as pt}from"react";import{baseUrls as gt,clientNames as ft,crossmintStatusButtonService as dt,crossmintStatusService as St,onboardingRequestStatusResponse as Ct}from"@crossmint/client-sdk-base";function qt({className:t,disabled:e,onClick:b,style:h,tabIndex:I,theme:y="dark",clientId:B,auctionId:x,platformId:P,mintConfig:u,environment:v,locale:p="en-US",...w}){let[s,E]=pt(Ct.WAITING_SUBMISSION),{isServerSideRendering:g}=m(),{goToOnboarding:f,fetchClientIntegration:d}=St({libVersion:o,clientId:B,environment:v,platformId:P,auctionId:x,mintConfig:u,setStatus:E,clientName:ft.reactUi}),{getButtonText:T,isButtonDisabled:V,handleClick:S}=dt({onClick:b,locale:p}),F=a=>S(a,s,f);ct(()=>{d();let a=setInterval(()=>{d()},60*1e3);return()=>clearInterval(a)},[]);let i=N(C(y)),R=ut(()=>c.createElement("span",{className:i.crossmintParagraph},T(s)),[s]);return c.createElement(c.Fragment,null,!g&&c.createElement("button",{className:`${i.crossmintButton} ${t||""}`,disabled:V(s),onClick:F,style:{...h},tabIndex:I,...w},c.createElement("img",{className:i.crossmintImg,src:`${gt.prod}/assets/crossmint/logo.svg`,alt:"Crossmint logo"}),R))}import*as L from"react";import{assertValidNFTCollectionViewProps as Nt,getNFTCollectionViewSrc as bt}from"@crossmint/client-sdk-base";function zt(t){Nt(t);let e=bt(t,o);return L.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 ht,getNFTDetailSrc as It}from"@crossmint/client-sdk-base";function to(t){ht(t);let e=It(t,o);return H.createElement("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-details"})}export{zt as CrossmintNFTCollectionView,to as CrossmintNFTDetail,kt as CrossmintPayButton,qt as CrossmintStatusButton};
1
+ import C,{useEffect as nt,useMemo as st}from"react";import{useState as O}from"react";import{clientNames as H,crossmintModalService as rt,crossmintPayButtonService as it,crossmintStatusService as at,mintingContractTypes as mt,onboardingRequestStatusResponse as ct}from"@crossmint/client-sdk-base";import{createUseStyles as Z}from"react-jss";var tt="#1e1e1e",D=t=>t==="light",I=t=>({buttonBgColor:D(t)?"white":tt,paragraphColor:D(t)?"black":"white"}),P=Z({"@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 et,useState as ot}from"react";function h(){let[t,e]=ot(!0);return et(()=>{e(!1)},[]),{isServerSideRendering:t}}var n="0.2.7-alpha.21";var lt={type:mt.CANDY_MACHINE};function Lt({className:t,disabled:e,onClick:l,style:u,tabIndex:m,theme:c="dark",mintTo:p,emailTo:f,listingId:i,clientId:o,auctionId:g,hideMintOnInactiveClient:v=!1,showOverlay:B=!0,mintConfig:a=lt,whPassThroughArgs:w,environment:b,paymentMethod:E,preferredSigninMethod:x,dismissOverlayOnClick:T,prepay:k,locale:N="en-US",currency:U="USD",successCallbackURL:d="",failureCallbackURL:V="",...S}){let[M,A]=O(!1),[_,G]=O(ct.WAITING_SUBMISSION),{isServerSideRendering:W}=h(),{fetchClientIntegration:q}=at({libVersion:n,clientId:o,environment:b,auctionId:g,mintConfig:a,setStatus:G,clientName:H.reactUi}),{connect:j}=rt({clientId:o,showOverlay:B,dismissOverlayOnClick:T,setConnecting:A,libVersion:n,environment:b,clientName:H.reactUi,locale:N,currency:U,successCallbackURL:d,failureCallbackURL:V}),{getButtonText:K,shouldHideButton:Q,handleClick:Y}=it({onClick:l,connecting:M,paymentMethod:E,locale:N});nt(()=>{v&&q()},[_]);let z=X=>Y(X,()=>{j(a,p,f,i,w,E,x,k)}),F=P(I(c)),J=st(()=>C.createElement("span",{className:F.crossmintParagraph,role:"button-paragraph"},K(M)),[M]);return Q({hideMintOnInactiveClient:v,status:_})?null:C.createElement(C.Fragment,null,!W&&C.createElement("button",{className:`${F.crossmintButton} ${t||""}`,disabled:e,onClick:z,style:{...u},tabIndex:m,...S},C.createElement("img",{className:F.crossmintImg,src:"https://www.crossmint.io/assets/crossmint/logo.svg",alt:"Crossmint logo"}),J))}import y,{useEffect as ut,useMemo as pt,useState as ft}from"react";import{baseUrls as gt,clientNames as dt,crossmintStatusButtonService as St,crossmintStatusService as ht,onboardingRequestStatusResponse as Ct}from"@crossmint/client-sdk-base";function Yt({className:t,disabled:e,onClick:l,style:u,tabIndex:m,theme:c="dark",clientId:p,auctionId:f,platformId:i,mintConfig:o,environment:g,locale:v="en-US",...B}){let[a,w]=ft(Ct.WAITING_SUBMISSION),{isServerSideRendering:b}=h(),{goToOnboarding:E,fetchClientIntegration:x}=ht({libVersion:n,clientId:p,environment:g,platformId:i,auctionId:f,mintConfig:o,setStatus:w,clientName:dt.reactUi}),{getButtonText:T,isButtonDisabled:k,handleClick:N}=St({onClick:l,locale:v}),U=S=>N(S,a,E);ut(()=>{x();let S=setInterval(()=>{x()},60*1e3);return()=>clearInterval(S)},[]);let d=P(I(c)),V=pt(()=>y.createElement("span",{className:d.crossmintParagraph},T(a)),[a]);return y.createElement(y.Fragment,null,!b&&y.createElement("button",{className:`${d.crossmintButton} ${t||""}`,disabled:k(a),onClick:U,style:{...u},tabIndex:m,...B},y.createElement("img",{className:d.crossmintImg,src:`${gt.prod}/assets/crossmint/logo.svg`,alt:"Crossmint logo"}),V))}import*as L from"react";import{assertValidNFTCollectionViewProps as yt,getNFTCollectionViewSrc as vt}from"@crossmint/client-sdk-base";function te(t){yt(t);let e=vt(t,n);return L.createElement("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-collection-view"})}import*as $ from"react";import{assertValidValidateNFTDetailProps as bt,getNFTDetailSrc as Et}from"@crossmint/client-sdk-base";function re(t){bt(t);let e=Et(t,n);return $.createElement("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-details"})}import xt,{useEffect as R,useState as Nt}from"react";import{crossmintPaymentService as It,crossmintUiService as Pt}from"@crossmint/client-sdk-base";function ce(t){let[e,l]=Nt(0),{getIframeUrl:u,listenToEvents:m,emitQueryParams:c}=It(t),{listenToEvents:p}=Pt({environment:t.environment});R(()=>{m(i=>{var o;return(o=t.onEvent)==null?void 0:o.call(t,i.data)})},[m,t.onEvent]),R(()=>{p(i=>{let{type:o,payload:g}=i.data;switch(o){case"ui:height.changed":l(g.height);break;default:return}})},[]),R(()=>{c({recipient:t.recipient,mintConfig:t.mintConfig,locale:t.locale})},[c,t.recipient,t.mintConfig,t.locale]);let f=u();return xt.createElement("iframe",{src:f,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 Ce,useCrossmintEvents as ye}from"@crossmint/client-sdk-base";export{Ce as CheckoutEvents,te as CrossmintNFTCollectionView,re as CrossmintNFTDetail,Lt as CrossmintPayButton,ce as CrossmintPaymentElement,Yt as CrossmintStatusButton,ye as useCrossmintEvents};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/client-sdk-react-ui",
3
- "version": "0.2.7-alpha.2",
3
+ "version": "0.2.7-alpha.21",
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.7-alpha.2",
35
+ "@crossmint/client-sdk-base": "^0.2.7-alpha.21",
36
36
  "react-jss": "10.9.2",
37
37
  "uuid": "^8.3.2"
38
38
  },
@@ -41,6 +41,7 @@
41
41
  "react-dom": ">=17.0.2"
42
42
  },
43
43
  "devDependencies": {
44
+ "@testing-library/jest-dom": "^5.16.5",
44
45
  "@types/jest": "^27.4.1",
45
46
  "@types/react": "17.0.34",
46
47
  "@types/react-dom": "^17.0.11",
@@ -49,5 +50,5 @@
49
50
  "ts-jest": "^27.1.3",
50
51
  "ts-node-dev": "^1.1.8"
51
52
  },
52
- "gitHead": "59f103d43107ca96320b184ba967fa9059d59626"
53
+ "gitHead": "5c09dceac94884d81a2e4892d0adbfce81230180"
53
54
  }
@@ -0,0 +1,60 @@
1
+ import React, { useEffect, useState } from "react";
2
+
3
+ import { crossmintPaymentService, crossmintUiService } from "@crossmint/client-sdk-base";
4
+ import type { CrossmintCheckoutEvent, PaymentElement } from "@crossmint/client-sdk-base";
5
+
6
+ export function CrossmintPaymentElement(props: PaymentElement) {
7
+ const [height, setHeight] = useState(0);
8
+ const { getIframeUrl, listenToEvents, emitQueryParams } = crossmintPaymentService(props);
9
+ const { listenToEvents: listenToUiEvents } = crossmintUiService({ environment: props.environment });
10
+
11
+ useEffect(() => {
12
+ listenToEvents((event: MessageEvent<CrossmintCheckoutEvent>) => props.onEvent?.(event.data));
13
+ }, [listenToEvents, props.onEvent]);
14
+
15
+ useEffect(() => {
16
+ listenToUiEvents((event: MessageEvent<any>) => {
17
+ const { type, payload } = event.data;
18
+
19
+ switch (type) {
20
+ case "ui:height.changed":
21
+ setHeight(payload.height);
22
+ break;
23
+ default:
24
+ return;
25
+ }
26
+ });
27
+ }, []);
28
+
29
+ useEffect(() => {
30
+ emitQueryParams({
31
+ recipient: props.recipient,
32
+ mintConfig: props.mintConfig,
33
+ locale: props.locale,
34
+ });
35
+ }, [emitQueryParams, props.recipient, props.mintConfig, props.locale]);
36
+
37
+ const iframeUrl = getIframeUrl();
38
+
39
+ return (
40
+ <iframe
41
+ src={iframeUrl}
42
+ id="iframe-crossmint-payment-element"
43
+ role="iframe-crossmint-payment-element"
44
+ allow="payment *"
45
+ style={{
46
+ border: "none !important",
47
+ padding: "0px !important",
48
+ width: "100% !important",
49
+ minWidth: "100% !important",
50
+ overflow: "hidden !important",
51
+ display: "block !important",
52
+ userSelect: "none",
53
+ transform: "translate(0px) !important",
54
+ opacity: "1",
55
+ transition: "ease 0s, opacity 0.4s ease 0.1s",
56
+ height: `${height}px`,
57
+ }}
58
+ ></iframe>
59
+ );
60
+ }
package/src/index.ts CHANGED
@@ -2,3 +2,6 @@ export * from "./CrossmintPayButton";
2
2
  export * from "./CrossmintStatusButton";
3
3
  export * from "./CrossmintNFTCollectionView";
4
4
  export * from "./CrossmintNFTDetail";
5
+ export * from "./CrossmintPaymentElement";
6
+ export { CheckoutEvents, useCrossmintEvents } from "@crossmint/client-sdk-base";
7
+ export type { CrossmintCheckoutEvent, CheckoutEventMap } from "@crossmint/client-sdk-base";
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const LIB_VERSION = "0.2.7-alpha.2";
1
+ export const LIB_VERSION = "0.2.7-alpha.21";