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