@crossmint/client-sdk-react-ui 0.0.8-alpha.0 → 0.0.8-alpha.4
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/LICENSE +201 -201
- package/lib/cjs/CrossMintButton.d.ts +16 -16
- package/lib/cjs/CrossMintButton.js +59 -59
- package/lib/cjs/CrossMintModal.d.ts +6 -6
- package/lib/cjs/CrossMintModal.js +54 -54
- package/lib/cjs/CrossMintModal.js.map +1 -1
- package/lib/cjs/CrossMintModalProvider.d.ts +6 -6
- package/lib/cjs/CrossMintModalProvider.js +47 -47
- package/lib/cjs/CrossMintPopupProvider.d.ts +6 -6
- package/lib/cjs/CrossMintPopupProvider.js +69 -69
- package/lib/cjs/CrossMintPopupProvider.js.map +1 -1
- package/lib/cjs/CrossMintProvider.d.ts +10 -9
- package/lib/cjs/CrossMintProvider.js +51 -51
- package/lib/cjs/CrossMintProvider.js.map +1 -1
- package/lib/cjs/CrossMintStatusButton.d.ts +10 -10
- package/lib/cjs/CrossMintStatusButton.js +65 -65
- package/lib/cjs/CrossMintStatusButton.js.map +1 -1
- package/lib/cjs/CrossMintStatusProvider.d.ts +8 -7
- package/lib/cjs/CrossMintStatusProvider.js +69 -64
- package/lib/cjs/CrossMintStatusProvider.js.map +1 -1
- package/lib/cjs/index.d.ts +7 -7
- package/lib/cjs/index.js +19 -19
- package/lib/cjs/package.json +1 -3
- package/lib/cjs/useCrossMintModal.d.ts +7 -7
- package/lib/cjs/useCrossMintModal.js +9 -9
- package/lib/cjs/useCrossMintPopup.d.ts +8 -8
- package/lib/cjs/useCrossMintPopup.js +9 -9
- package/lib/cjs/useCrossMintStatus.d.ts +16 -15
- package/lib/cjs/useCrossMintStatus.js +17 -17
- package/lib/cjs/useCrossMintStatus.js.map +1 -1
- package/lib/esm/CrossMintButton.d.ts +16 -16
- package/lib/esm/CrossMintButton.js +24 -24
- package/lib/esm/CrossMintModal.d.ts +6 -6
- package/lib/esm/CrossMintModal.js +31 -31
- package/lib/esm/CrossMintModal.js.map +1 -1
- package/lib/esm/CrossMintModalProvider.d.ts +6 -6
- package/lib/esm/CrossMintModalProvider.js +12 -12
- package/lib/esm/CrossMintPopupProvider.d.ts +6 -6
- package/lib/esm/CrossMintPopupProvider.js +46 -46
- package/lib/esm/CrossMintPopupProvider.js.map +1 -1
- package/lib/esm/CrossMintProvider.d.ts +10 -9
- package/lib/esm/CrossMintProvider.js +16 -16
- package/lib/esm/CrossMintProvider.js.map +1 -1
- package/lib/esm/CrossMintStatusButton.d.ts +10 -10
- package/lib/esm/CrossMintStatusButton.js +30 -30
- package/lib/esm/CrossMintStatusButton.js.map +1 -1
- package/lib/esm/CrossMintStatusProvider.d.ts +8 -7
- package/lib/esm/CrossMintStatusProvider.js +35 -30
- package/lib/esm/CrossMintStatusProvider.js.map +1 -1
- package/lib/esm/index.d.ts +7 -7
- package/lib/esm/index.js +7 -7
- package/lib/esm/useCrossMintModal.d.ts +7 -7
- package/lib/esm/useCrossMintModal.js +5 -5
- package/lib/esm/useCrossMintPopup.d.ts +8 -8
- package/lib/esm/useCrossMintPopup.js +5 -5
- package/lib/esm/useCrossMintStatus.d.ts +16 -15
- package/lib/esm/useCrossMintStatus.js +13 -13
- package/lib/esm/useCrossMintStatus.js.map +1 -1
- package/package.json +2 -3
- package/src/CrossMintModal.tsx +54 -54
- package/src/CrossMintPopupProvider.tsx +9 -9
- package/src/CrossMintStatusButton.tsx +2 -2
- package/src/CrossMintStatusProvider.tsx +5 -0
- package/src/useCrossMintModal.tsx +12 -12
- package/lib/esm/package.json +0 -3
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
export declare enum OnboardingRequestStatusResponse {
|
|
3
|
-
WAITING_SUBMISSION = "waiting-submission",
|
|
4
|
-
PENDING = "pending",
|
|
5
|
-
REJECTED = "rejected",
|
|
6
|
-
ACCEPTED = "accepted",
|
|
7
|
-
INVALID = "invalid"
|
|
8
|
-
}
|
|
9
|
-
export interface CrossMintStatusContextState {
|
|
10
|
-
status: OnboardingRequestStatusResponse;
|
|
11
|
-
clientId: string;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export declare
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare enum OnboardingRequestStatusResponse {
|
|
3
|
+
WAITING_SUBMISSION = "waiting-submission",
|
|
4
|
+
PENDING = "pending",
|
|
5
|
+
REJECTED = "rejected",
|
|
6
|
+
ACCEPTED = "accepted",
|
|
7
|
+
INVALID = "invalid"
|
|
8
|
+
}
|
|
9
|
+
export interface CrossMintStatusContextState {
|
|
10
|
+
status: OnboardingRequestStatusResponse;
|
|
11
|
+
clientId: string;
|
|
12
|
+
auctionId?: string;
|
|
13
|
+
hideMintOnInactiveClient: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare const CrossMintStatusContext: import("react").Context<CrossMintStatusContextState>;
|
|
16
|
+
export declare function useCrossMintStatus(): CrossMintStatusContextState;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { createContext, useContext } from "react";
|
|
2
|
-
export var OnboardingRequestStatusResponse;
|
|
3
|
-
(function (OnboardingRequestStatusResponse) {
|
|
4
|
-
OnboardingRequestStatusResponse["WAITING_SUBMISSION"] = "waiting-submission";
|
|
5
|
-
OnboardingRequestStatusResponse["PENDING"] = "pending";
|
|
6
|
-
OnboardingRequestStatusResponse["REJECTED"] = "rejected";
|
|
7
|
-
OnboardingRequestStatusResponse["ACCEPTED"] = "accepted";
|
|
8
|
-
OnboardingRequestStatusResponse["INVALID"] = "invalid";
|
|
9
|
-
})(OnboardingRequestStatusResponse || (OnboardingRequestStatusResponse = {}));
|
|
10
|
-
export const CrossMintStatusContext = createContext({});
|
|
11
|
-
export function useCrossMintStatus() {
|
|
12
|
-
return useContext(CrossMintStatusContext);
|
|
13
|
-
}
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
export var OnboardingRequestStatusResponse;
|
|
3
|
+
(function (OnboardingRequestStatusResponse) {
|
|
4
|
+
OnboardingRequestStatusResponse["WAITING_SUBMISSION"] = "waiting-submission";
|
|
5
|
+
OnboardingRequestStatusResponse["PENDING"] = "pending";
|
|
6
|
+
OnboardingRequestStatusResponse["REJECTED"] = "rejected";
|
|
7
|
+
OnboardingRequestStatusResponse["ACCEPTED"] = "accepted";
|
|
8
|
+
OnboardingRequestStatusResponse["INVALID"] = "invalid";
|
|
9
|
+
})(OnboardingRequestStatusResponse || (OnboardingRequestStatusResponse = {}));
|
|
10
|
+
export const CrossMintStatusContext = createContext({});
|
|
11
|
+
export function useCrossMintStatus() {
|
|
12
|
+
return useContext(CrossMintStatusContext);
|
|
13
|
+
}
|
|
14
14
|
//# sourceMappingURL=useCrossMintStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCrossMintStatus.js","sourceRoot":"","sources":["../../src/useCrossMintStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElD,MAAM,CAAN,IAAY,+BAMX;AAND,WAAY,+BAA+B;IACvC,4EAAyC,CAAA;IACzC,sDAAmB,CAAA;IACnB,wDAAqB,CAAA;IACrB,wDAAqB,CAAA;IACrB,sDAAmB,CAAA;AACvB,CAAC,EANW,+BAA+B,KAA/B,+BAA+B,QAM1C;
|
|
1
|
+
{"version":3,"file":"useCrossMintStatus.js","sourceRoot":"","sources":["../../src/useCrossMintStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElD,MAAM,CAAN,IAAY,+BAMX;AAND,WAAY,+BAA+B;IACvC,4EAAyC,CAAA;IACzC,sDAAmB,CAAA;IACnB,wDAAqB,CAAA;IACrB,wDAAqB,CAAA;IACrB,sDAAmB,CAAA;AACvB,CAAC,EANW,+BAA+B,KAA/B,+BAA+B,QAM1C;AASD,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAA8B,EAAiC,CAAC,CAAC;AAEpH,MAAM,UAAU,kBAAkB;IAC9B,OAAO,UAAU,CAAC,sBAAsB,CAAC,CAAC;AAC9C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crossmint/client-sdk-react-ui",
|
|
3
|
-
"version": "0.0.8-alpha.
|
|
3
|
+
"version": "0.0.8-alpha.4",
|
|
4
4
|
"author": "Paella Labs Inc",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": "https://github.com/CrossMint/crossmint-client-sdk",
|
|
@@ -39,6 +39,5 @@
|
|
|
39
39
|
"@types/react-dom": "^17.0.11",
|
|
40
40
|
"react": "^17.0.2",
|
|
41
41
|
"react-dom": "^17.0.2"
|
|
42
|
-
}
|
|
43
|
-
"gitHead": "de01d9a883021d03c2cf37f9442144abb8fae9b9"
|
|
42
|
+
}
|
|
44
43
|
}
|
package/src/CrossMintModal.tsx
CHANGED
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import React, { FC, useCallback, useLayoutEffect, useRef, useState } from "react";
|
|
2
|
-
import { createPortal } from "react-dom";
|
|
3
|
-
import { useCrossMintModal } from "./useCrossMintModal";
|
|
4
|
-
|
|
5
|
-
export interface CrossMintModalProps {
|
|
6
|
-
className?: string;
|
|
7
|
-
container?: string;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export const CrossMintModal: FC<CrossMintModalProps> = ({ className = "", container = "body" }) => {
|
|
11
|
-
const ref = useRef<HTMLDivElement>(null);
|
|
12
|
-
const { setVisible } = useCrossMintModal();
|
|
13
|
-
|
|
14
|
-
const [fadeIn, setFadeIn] = useState(false);
|
|
15
|
-
const [portal, setPortal] = useState<Element | null>(null);
|
|
16
|
-
|
|
17
|
-
const hideModal = useCallback(() => {
|
|
18
|
-
setFadeIn(false);
|
|
19
|
-
setTimeout(() => setVisible(false), 150);
|
|
20
|
-
}, [setFadeIn, setVisible]);
|
|
21
|
-
|
|
22
|
-
useLayoutEffect(() => {
|
|
23
|
-
// Get original overflow
|
|
24
|
-
const { overflow } = window.getComputedStyle(document.body);
|
|
25
|
-
// Hack to enable fade in animation after mount
|
|
26
|
-
setTimeout(() => setFadeIn(true), 0);
|
|
27
|
-
// Prevent scrolling on mount
|
|
28
|
-
document.body.style.overflow = "hidden";
|
|
29
|
-
|
|
30
|
-
return () => {
|
|
31
|
-
// Re-enable scrolling when component unmounts
|
|
32
|
-
document.body.style.overflow = overflow;
|
|
33
|
-
};
|
|
34
|
-
}, [hideModal]);
|
|
35
|
-
|
|
36
|
-
useLayoutEffect(() => setPortal(document.querySelector(container)), [setPortal, container]);
|
|
37
|
-
|
|
38
|
-
return (
|
|
39
|
-
portal &&
|
|
40
|
-
createPortal(
|
|
41
|
-
<div
|
|
42
|
-
aria-modal="true"
|
|
43
|
-
className={`client-sdk-modal ${fadeIn
|
|
44
|
-
ref={ref}
|
|
45
|
-
>
|
|
46
|
-
<div className="client-sdk-modal-container">
|
|
47
|
-
<span className="client-sdk-modal-loader" />
|
|
48
|
-
</div>
|
|
49
|
-
<div className="client-sdk-modal-overlay" />
|
|
50
|
-
</div>,
|
|
51
|
-
portal
|
|
52
|
-
)
|
|
53
|
-
);
|
|
54
|
-
};
|
|
1
|
+
import React, { FC, useCallback, useLayoutEffect, useRef, useState } from "react";
|
|
2
|
+
import { createPortal } from "react-dom";
|
|
3
|
+
import { useCrossMintModal } from "./useCrossMintModal";
|
|
4
|
+
|
|
5
|
+
export interface CrossMintModalProps {
|
|
6
|
+
className?: string;
|
|
7
|
+
container?: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const CrossMintModal: FC<CrossMintModalProps> = ({ className = "", container = "body" }) => {
|
|
11
|
+
const ref = useRef<HTMLDivElement>(null);
|
|
12
|
+
const { setVisible } = useCrossMintModal();
|
|
13
|
+
|
|
14
|
+
const [fadeIn, setFadeIn] = useState(false);
|
|
15
|
+
const [portal, setPortal] = useState<Element | null>(null);
|
|
16
|
+
|
|
17
|
+
const hideModal = useCallback(() => {
|
|
18
|
+
setFadeIn(false);
|
|
19
|
+
setTimeout(() => setVisible(false), 150);
|
|
20
|
+
}, [setFadeIn, setVisible]);
|
|
21
|
+
|
|
22
|
+
useLayoutEffect(() => {
|
|
23
|
+
// Get original overflow
|
|
24
|
+
const { overflow } = window.getComputedStyle(document.body);
|
|
25
|
+
// Hack to enable fade in animation after mount
|
|
26
|
+
setTimeout(() => setFadeIn(true), 0);
|
|
27
|
+
// Prevent scrolling on mount
|
|
28
|
+
document.body.style.overflow = "hidden";
|
|
29
|
+
|
|
30
|
+
return () => {
|
|
31
|
+
// Re-enable scrolling when component unmounts
|
|
32
|
+
document.body.style.overflow = overflow;
|
|
33
|
+
};
|
|
34
|
+
}, [hideModal]);
|
|
35
|
+
|
|
36
|
+
useLayoutEffect(() => setPortal(document.querySelector(container)), [setPortal, container]);
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
portal &&
|
|
40
|
+
createPortal(
|
|
41
|
+
<div
|
|
42
|
+
aria-modal="true"
|
|
43
|
+
className={`client-sdk-modal ${fadeIn ? "client-sdk-modal-fade-in" : ""} ${className}`}
|
|
44
|
+
ref={ref}
|
|
45
|
+
>
|
|
46
|
+
<div className="client-sdk-modal-container">
|
|
47
|
+
<span className="client-sdk-modal-loader" />
|
|
48
|
+
</div>
|
|
49
|
+
<div className="client-sdk-modal-overlay" />
|
|
50
|
+
</div>,
|
|
51
|
+
portal
|
|
52
|
+
)
|
|
53
|
+
);
|
|
54
|
+
};
|
|
@@ -27,15 +27,15 @@ export const CrossMintPopupProvider: FC<PopupProviderProps> = ({ development, ch
|
|
|
27
27
|
listingId?: string
|
|
28
28
|
) => {
|
|
29
29
|
const pop = window.open(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
30
|
+
`${development ? DEV_URL : PROD_URL}/signin?callbackUrl=${encodeURIComponent(
|
|
31
|
+
`${development ? DEV_URL : PROD_URL}/checkout/mint?clientId=${encodeURIComponent(clientId)}&closeOnSuccess=false&${
|
|
32
|
+
collectionTitle ? `collectionTitle=${encodeURIComponent(collectionTitle)}` : ""
|
|
33
|
+
}${collectionDescription ? `&collectionDescription=${encodeURIComponent(collectionDescription)}` : ""}${
|
|
34
|
+
collectionPhoto ? `&collectionPhoto=${encodeURIComponent(collectionPhoto)}` : ""
|
|
35
|
+
}${mintTo ? `&mintTo=${encodeURIComponent(mintTo)}` : ""}${emailTo ? `&emailTo=${encodeURIComponent(emailTo)}` : ""}${
|
|
36
|
+
listingId ? `&listingId=${encodeURIComponent(listingId)}` : ""
|
|
37
|
+
}`
|
|
38
|
+
)}`,
|
|
39
39
|
"popUpWindow",
|
|
40
40
|
createPopupString()
|
|
41
41
|
);
|
|
@@ -27,8 +27,8 @@ export const CrossMintStatusButton: FC<StatusButtonProps> = ({
|
|
|
27
27
|
|
|
28
28
|
if (status === OnboardingRequestStatusResponse.WAITING_SUBMISSION) {
|
|
29
29
|
window.open(
|
|
30
|
-
`https://crossmint.io/developers/onboarding${
|
|
31
|
-
|
|
30
|
+
`https://crossmint.io/developers/onboarding${clientId ? `?clientId=${clientId}` : ""}${
|
|
31
|
+
auctionId ? `&auctionId=${auctionId}` : ""
|
|
32
32
|
}`,
|
|
33
33
|
"_blank"
|
|
34
34
|
);
|
|
@@ -19,6 +19,11 @@ export const CrossMintStatusProvider: FC<CrossMintStatusProviderProps> = ({
|
|
|
19
19
|
);
|
|
20
20
|
|
|
21
21
|
async function fetchClientIntegration() {
|
|
22
|
+
if (!clientId || clientId === "" || clientId === "<YOUR_CLIENT_ID>") {
|
|
23
|
+
console.warn("You must enter your own CrossMint client ID in <CrossMintProvider clientId=XXX>");
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
|
|
22
27
|
const res = await fetch(`https://www.crossmint.io/api/crossmint/onboardingRequests/${clientId}/status`);
|
|
23
28
|
|
|
24
29
|
if (res.status === 200) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { createContext, useContext } from "react";
|
|
2
|
-
|
|
3
|
-
export interface CrossMintModalContextState {
|
|
4
|
-
visible: boolean;
|
|
5
|
-
setVisible: (open: boolean) => void;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export const CrossMintModalContext = createContext<CrossMintModalContextState>({} as CrossMintModalContextState);
|
|
9
|
-
|
|
10
|
-
export function useCrossMintModal(): CrossMintModalContextState {
|
|
11
|
-
return useContext(CrossMintModalContext);
|
|
12
|
-
}
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
|
|
3
|
+
export interface CrossMintModalContextState {
|
|
4
|
+
visible: boolean;
|
|
5
|
+
setVisible: (open: boolean) => void;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export const CrossMintModalContext = createContext<CrossMintModalContextState>({} as CrossMintModalContextState);
|
|
9
|
+
|
|
10
|
+
export function useCrossMintModal(): CrossMintModalContextState {
|
|
11
|
+
return useContext(CrossMintModalContext);
|
|
12
|
+
}
|
package/lib/esm/package.json
DELETED