@crossmint/client-sdk-react-ui 0.0.8-alpha.4 → 0.1.1

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.
Files changed (136) hide show
  1. package/README.md +18 -12
  2. package/lib/cjs/CrossmintPayButton.d.ts +3 -0
  3. package/lib/cjs/CrossmintPayButton.js +91 -0
  4. package/lib/cjs/CrossmintPayButton.js.map +1 -0
  5. package/lib/cjs/CrossmintStatusButton.d.ts +3 -0
  6. package/lib/cjs/CrossmintStatusButton.js +75 -0
  7. package/lib/cjs/CrossmintStatusButton.js.map +1 -0
  8. package/lib/cjs/hooks/useCrossmintModal.d.ts +12 -0
  9. package/lib/cjs/hooks/useCrossmintModal.js +90 -0
  10. package/lib/cjs/hooks/useCrossmintModal.js.map +1 -0
  11. package/lib/cjs/{useCrossMintStatus.d.ts → hooks/useCrossmintStatus.d.ts} +6 -3
  12. package/lib/cjs/hooks/useCrossmintStatus.js +75 -0
  13. package/lib/cjs/hooks/useCrossmintStatus.js.map +1 -0
  14. package/lib/cjs/index.d.ts +2 -7
  15. package/lib/cjs/index.js +7 -8
  16. package/lib/cjs/index.js.map +1 -1
  17. package/lib/cjs/package.json +3 -1
  18. package/lib/cjs/styles/index.d.ts +9 -0
  19. package/lib/cjs/styles/index.js +45 -0
  20. package/lib/cjs/styles/index.js.map +1 -0
  21. package/lib/cjs/types.d.ts +48 -0
  22. package/lib/cjs/types.js +29 -0
  23. package/lib/cjs/types.js.map +1 -0
  24. package/lib/cjs/utils.d.ts +1 -0
  25. package/lib/cjs/utils.js +5 -0
  26. package/lib/cjs/utils.js.map +1 -0
  27. package/lib/cjs/version.d.ts +1 -0
  28. package/lib/cjs/version.js +5 -0
  29. package/lib/cjs/version.js.map +1 -0
  30. package/lib/esm/CrossmintPayButton.d.ts +3 -0
  31. package/lib/esm/CrossmintPayButton.js +49 -0
  32. package/lib/esm/CrossmintPayButton.js.map +1 -0
  33. package/lib/esm/CrossmintStatusButton.d.ts +3 -0
  34. package/lib/esm/CrossmintStatusButton.js +36 -0
  35. package/lib/esm/CrossmintStatusButton.js.map +1 -0
  36. package/lib/esm/hooks/useCrossmintModal.d.ts +12 -0
  37. package/lib/esm/hooks/useCrossmintModal.js +87 -0
  38. package/lib/esm/hooks/useCrossmintModal.js.map +1 -0
  39. package/lib/esm/{useCrossMintStatus.d.ts → hooks/useCrossmintStatus.d.ts} +6 -3
  40. package/lib/esm/hooks/useCrossmintStatus.js +60 -0
  41. package/lib/esm/hooks/useCrossmintStatus.js.map +1 -0
  42. package/lib/esm/index.d.ts +2 -7
  43. package/lib/esm/index.js +2 -7
  44. package/lib/esm/index.js.map +1 -1
  45. package/lib/esm/package.json +3 -0
  46. package/lib/esm/styles/index.d.ts +9 -0
  47. package/lib/esm/styles/index.js +41 -0
  48. package/lib/esm/styles/index.js.map +1 -0
  49. package/lib/esm/types.d.ts +48 -0
  50. package/lib/esm/types.js +26 -0
  51. package/lib/esm/types.js.map +1 -0
  52. package/lib/esm/utils.d.ts +1 -0
  53. package/lib/esm/utils.js +2 -0
  54. package/lib/esm/utils.js.map +1 -0
  55. package/lib/esm/version.d.ts +1 -0
  56. package/lib/esm/version.js +2 -0
  57. package/lib/esm/version.js.map +1 -0
  58. package/package.json +21 -11
  59. package/src/CrossmintPayButton.tsx +108 -0
  60. package/src/CrossmintStatusButton.tsx +77 -0
  61. package/src/hooks/useCrossmintModal.ts +142 -0
  62. package/src/hooks/useCrossmintStatus.ts +85 -0
  63. package/src/index.ts +2 -7
  64. package/src/styles/index.ts +50 -0
  65. package/src/types.ts +56 -0
  66. package/src/utils.ts +1 -0
  67. package/src/version.ts +1 -0
  68. package/lib/cjs/CrossMintButton.d.ts +0 -16
  69. package/lib/cjs/CrossMintButton.js +0 -60
  70. package/lib/cjs/CrossMintButton.js.map +0 -1
  71. package/lib/cjs/CrossMintModal.d.ts +0 -6
  72. package/lib/cjs/CrossMintModal.js +0 -55
  73. package/lib/cjs/CrossMintModal.js.map +0 -1
  74. package/lib/cjs/CrossMintModalProvider.d.ts +0 -6
  75. package/lib/cjs/CrossMintModalProvider.js +0 -48
  76. package/lib/cjs/CrossMintModalProvider.js.map +0 -1
  77. package/lib/cjs/CrossMintPopupProvider.d.ts +0 -6
  78. package/lib/cjs/CrossMintPopupProvider.js +0 -70
  79. package/lib/cjs/CrossMintPopupProvider.js.map +0 -1
  80. package/lib/cjs/CrossMintProvider.d.ts +0 -10
  81. package/lib/cjs/CrossMintProvider.js +0 -52
  82. package/lib/cjs/CrossMintProvider.js.map +0 -1
  83. package/lib/cjs/CrossMintStatusButton.d.ts +0 -10
  84. package/lib/cjs/CrossMintStatusButton.js +0 -66
  85. package/lib/cjs/CrossMintStatusButton.js.map +0 -1
  86. package/lib/cjs/CrossMintStatusProvider.d.ts +0 -8
  87. package/lib/cjs/CrossMintStatusProvider.js +0 -70
  88. package/lib/cjs/CrossMintStatusProvider.js.map +0 -1
  89. package/lib/cjs/useCrossMintModal.d.ts +0 -7
  90. package/lib/cjs/useCrossMintModal.js +0 -10
  91. package/lib/cjs/useCrossMintModal.js.map +0 -1
  92. package/lib/cjs/useCrossMintPopup.d.ts +0 -8
  93. package/lib/cjs/useCrossMintPopup.js +0 -10
  94. package/lib/cjs/useCrossMintPopup.js.map +0 -1
  95. package/lib/cjs/useCrossMintStatus.js +0 -18
  96. package/lib/cjs/useCrossMintStatus.js.map +0 -1
  97. package/lib/esm/CrossMintButton.d.ts +0 -16
  98. package/lib/esm/CrossMintButton.js +0 -25
  99. package/lib/esm/CrossMintButton.js.map +0 -1
  100. package/lib/esm/CrossMintModal.d.ts +0 -6
  101. package/lib/esm/CrossMintModal.js +0 -32
  102. package/lib/esm/CrossMintModal.js.map +0 -1
  103. package/lib/esm/CrossMintModalProvider.d.ts +0 -6
  104. package/lib/esm/CrossMintModalProvider.js +0 -13
  105. package/lib/esm/CrossMintModalProvider.js.map +0 -1
  106. package/lib/esm/CrossMintPopupProvider.d.ts +0 -6
  107. package/lib/esm/CrossMintPopupProvider.js +0 -47
  108. package/lib/esm/CrossMintPopupProvider.js.map +0 -1
  109. package/lib/esm/CrossMintProvider.d.ts +0 -10
  110. package/lib/esm/CrossMintProvider.js +0 -17
  111. package/lib/esm/CrossMintProvider.js.map +0 -1
  112. package/lib/esm/CrossMintStatusButton.d.ts +0 -10
  113. package/lib/esm/CrossMintStatusButton.js +0 -31
  114. package/lib/esm/CrossMintStatusButton.js.map +0 -1
  115. package/lib/esm/CrossMintStatusProvider.d.ts +0 -8
  116. package/lib/esm/CrossMintStatusProvider.js +0 -36
  117. package/lib/esm/CrossMintStatusProvider.js.map +0 -1
  118. package/lib/esm/useCrossMintModal.d.ts +0 -7
  119. package/lib/esm/useCrossMintModal.js +0 -6
  120. package/lib/esm/useCrossMintModal.js.map +0 -1
  121. package/lib/esm/useCrossMintPopup.d.ts +0 -8
  122. package/lib/esm/useCrossMintPopup.js +0 -6
  123. package/lib/esm/useCrossMintPopup.js.map +0 -1
  124. package/lib/esm/useCrossMintStatus.js +0 -14
  125. package/lib/esm/useCrossMintStatus.js.map +0 -1
  126. package/src/CrossMintButton.tsx +0 -75
  127. package/src/CrossMintModal.tsx +0 -54
  128. package/src/CrossMintModalProvider.tsx +0 -23
  129. package/src/CrossMintPopupProvider.tsx +0 -94
  130. package/src/CrossMintProvider.tsx +0 -44
  131. package/src/CrossMintStatusButton.tsx +0 -73
  132. package/src/CrossMintStatusProvider.tsx +0 -63
  133. package/src/useCrossMintModal.tsx +0 -12
  134. package/src/useCrossMintPopup.tsx +0 -21
  135. package/src/useCrossMintStatus.tsx +0 -22
  136. package/styles.css +0 -119
@@ -1,47 +0,0 @@
1
- import React, { useState } from "react";
2
- import { useCrossMintModal, useCrossMintStatus } from ".";
3
- import { PopupContext } from "./useCrossMintPopup";
4
- const PROD_URL = "https://www.crossmint.io";
5
- const DEV_URL = "http://localhost:3001";
6
- export const CrossMintPopupProvider = ({ development, children }) => {
7
- const [connecting, setConnecting] = useState(false);
8
- const [popup, setPopup] = useState(null);
9
- const { clientId } = useCrossMintStatus();
10
- const { setVisible } = useCrossMintModal();
11
- const createPopup = (collectionTitle, collectionDescription, collectionPhoto, mintTo, emailTo, listingId) => {
12
- const pop = window.open(`${development ? DEV_URL : PROD_URL}/signin?callbackUrl=${encodeURIComponent(`${development ? DEV_URL : PROD_URL}/checkout/mint?clientId=${encodeURIComponent(clientId)}&closeOnSuccess=false&${collectionTitle ? `collectionTitle=${encodeURIComponent(collectionTitle)}` : ""}${collectionDescription ? `&collectionDescription=${encodeURIComponent(collectionDescription)}` : ""}${collectionPhoto ? `&collectionPhoto=${encodeURIComponent(collectionPhoto)}` : ""}${mintTo ? `&mintTo=${encodeURIComponent(mintTo)}` : ""}${emailTo ? `&emailTo=${encodeURIComponent(emailTo)}` : ""}${listingId ? `&listingId=${encodeURIComponent(listingId)}` : ""}`)}`, "popUpWindow", createPopupString());
13
- if (pop) {
14
- setVisible(true);
15
- setPopup(pop);
16
- registerListeners(pop);
17
- }
18
- else {
19
- setConnecting(false);
20
- console.log("Failed to open popup window");
21
- }
22
- };
23
- const connect = (collectionTitle, collectionDescription, collectionPhoto, mintTo, emailTo, listingId) => {
24
- if (connecting)
25
- return;
26
- setConnecting(true);
27
- createPopup(collectionTitle, collectionDescription, collectionPhoto, mintTo, emailTo, listingId);
28
- };
29
- function registerListeners(pop) {
30
- const timer = setInterval(function () {
31
- if (pop.closed) {
32
- clearInterval(timer);
33
- setConnecting(false);
34
- setVisible(false);
35
- }
36
- }, 500);
37
- }
38
- function createPopupString() {
39
- return `height=750,width=400,left=${window.innerWidth / 2 - 200},top=${window.innerHeight / 2 - 375},resizable=yes,scrollbars=yes,toolbar=yes,menubar=true,location=no,directories=no, status=yes`;
40
- }
41
- return (React.createElement(PopupContext.Provider, { value: {
42
- connecting,
43
- popup,
44
- connect,
45
- } }, children));
46
- };
47
- //# sourceMappingURL=CrossMintPopupProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CrossMintPopupProvider.js","sourceRoot":"","sources":["../../src/CrossMintPopupProvider.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { FC, ReactNode } from "react";
2
- import { CrossMintModalProps } from "./CrossMintModal";
3
- export interface CrossMintProviderProps extends CrossMintModalProps {
4
- clientId: string;
5
- auctionId?: string;
6
- hideMintOnInactiveClient?: boolean;
7
- development?: boolean;
8
- children: ReactNode;
9
- }
10
- export declare const CrossMintProvider: FC<CrossMintProviderProps>;
@@ -1,17 +0,0 @@
1
- import React, { useState } from "react";
2
- import { CrossMintModal } from "./CrossMintModal";
3
- import { CrossMintPopupProvider } from "./CrossMintPopupProvider";
4
- import { CrossMintStatusProvider } from "./CrossMintStatusProvider";
5
- import { CrossMintModalContext } from "./useCrossMintModal";
6
- export const CrossMintProvider = ({ clientId, auctionId, hideMintOnInactiveClient = false, development = false, children, ...props }) => {
7
- const [visible, setVisible] = useState(false);
8
- return (React.createElement(CrossMintStatusProvider, { clientId: clientId, hideMintOnInactiveClient: hideMintOnInactiveClient, auctionId: auctionId },
9
- React.createElement(CrossMintModalContext.Provider, { value: {
10
- visible,
11
- setVisible,
12
- } },
13
- React.createElement(CrossMintPopupProvider, { development: development },
14
- children,
15
- visible && React.createElement(CrossMintModal, { ...props })))));
16
- };
17
- //# sourceMappingURL=CrossMintProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CrossMintProvider.js","sourceRoot":"","sources":["../../src/CrossMintProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAiB,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,cAAc,EAAuB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAU5D,MAAM,CAAC,MAAM,iBAAiB,GAA+B,CAAC,EAC1D,QAAQ,EACR,SAAS,EACT,wBAAwB,GAAG,KAAK,EAChC,WAAW,GAAG,KAAK,EACnB,QAAQ,EACR,GAAG,KAAK,EACX,EAAE,EAAE;IACD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,OAAO,CACH,oBAAC,uBAAuB,IACpB,QAAQ,EAAE,QAAQ,EAClB,wBAAwB,EAAE,wBAAwB,EAClD,SAAS,EAAE,SAAS;QAEpB,oBAAC,qBAAqB,CAAC,QAAQ,IAC3B,KAAK,EAAE;gBACH,OAAO;gBACP,UAAU;aACb;YAED,oBAAC,sBAAsB,IAAC,WAAW,EAAE,WAAW;gBAC3C,QAAQ;gBACR,OAAO,IAAI,oBAAC,cAAc,OAAK,KAAK,GAAI,CACpB,CACI,CACX,CAC7B,CAAC;AACN,CAAC,CAAC"}
@@ -1,10 +0,0 @@
1
- import { CSSProperties, FC, MouseEvent } from "react";
2
- export interface StatusButtonProps {
3
- className?: string;
4
- disabled?: boolean;
5
- onClick?: (e: MouseEvent<HTMLButtonElement>) => void;
6
- style?: CSSProperties;
7
- tabIndex?: number;
8
- theme?: "light" | "dark";
9
- }
10
- export declare const CrossMintStatusButton: FC<StatusButtonProps>;
@@ -1,31 +0,0 @@
1
- import React, { useMemo, useCallback } from "react";
2
- import { OnboardingRequestStatusResponse, useCrossMintStatus } from "./useCrossMintStatus";
3
- export const CrossMintStatusButton = ({ className, disabled, onClick, style, tabIndex, theme = "dark", ...props }) => {
4
- const { status, clientId, auctionId } = useCrossMintStatus();
5
- const handleClick = useCallback((event) => {
6
- if (onClick)
7
- onClick(event);
8
- if (status === OnboardingRequestStatusResponse.WAITING_SUBMISSION) {
9
- window.open(`https://crossmint.io/developers/onboarding${clientId ? `?clientId=${clientId}` : ""}${auctionId ? `&auctionId=${auctionId}` : ""}`, "_blank");
10
- return;
11
- }
12
- }, [status]);
13
- const content = useMemo(() => {
14
- switch (status) {
15
- case OnboardingRequestStatusResponse.INVALID:
16
- return React.createElement("p", null, "Invalid clientId");
17
- case OnboardingRequestStatusResponse.WAITING_SUBMISSION:
18
- return React.createElement("p", null, "Click here to setup CrossMint");
19
- case OnboardingRequestStatusResponse.PENDING:
20
- return React.createElement("p", null, "Your application is under review");
21
- case OnboardingRequestStatusResponse.ACCEPTED:
22
- return React.createElement("p", null, "You're good to go!");
23
- case OnboardingRequestStatusResponse.REJECTED:
24
- return React.createElement("p", null, "You're application was rejected");
25
- }
26
- }, [status]);
27
- return (React.createElement("button", { className: `client-sdk-button-trigger client-sdk-button-trigger-${theme}`, disabled: status !== OnboardingRequestStatusResponse.WAITING_SUBMISSION, onClick: handleClick, style: { ...style }, tabIndex: tabIndex, ...props },
28
- React.createElement("img", { className: "client-sdk-button-icon", src: "https://www.crossmint.io/assets/crossmint/logo.png", alt: "Crossmint logo" }),
29
- content));
30
- };
31
- //# sourceMappingURL=CrossMintStatusButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CrossMintStatusButton.js","sourceRoot":"","sources":["../../src/CrossMintStatusButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAoD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACtG,OAAO,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAW3F,MAAM,CAAC,MAAM,qBAAqB,GAA0B,CAAC,EACzD,SAAS,EACT,QAAQ,EACR,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,GAAG,MAAM,EACd,GAAG,KAAK,EACX,EAAE,EAAE;IACD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE7D,MAAM,WAAW,GAAyC,WAAW,CACjE,CAAC,KAAK,EAAE,EAAE;QACN,IAAI,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAE5B,IAAI,MAAM,KAAK,+BAA+B,CAAC,kBAAkB,EAAE;YAC/D,MAAM,CAAC,IAAI,CACP,6CAA6C,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAChF,SAAS,CAAC,CAAC,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC,CAAC,EAC5C,EAAE,EACF,QAAQ,CACX,CAAC;YACF,OAAO;SACV;IACL,CAAC,EACD,CAAC,MAAM,CAAC,CACX,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,QAAQ,MAAM,EAAE;YACZ,KAAK,+BAA+B,CAAC,OAAO;gBACxC,OAAO,kDAAuB,CAAC;YACnC,KAAK,+BAA+B,CAAC,kBAAkB;gBACnD,OAAO,+DAAoC,CAAC;YAChD,KAAK,+BAA+B,CAAC,OAAO;gBACxC,OAAO,kEAAuC,CAAC;YACnD,KAAK,+BAA+B,CAAC,QAAQ;gBACzC,OAAO,oDAAyB,CAAC;YACrC,KAAK,+BAA+B,CAAC,QAAQ;gBACzC,OAAO,iEAAsC,CAAC;SACrD;IACL,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,CACH,gCACI,SAAS,EAAE,uDAAuD,KAAK,EAAE,EACzE,QAAQ,EAAE,MAAM,KAAK,+BAA+B,CAAC,kBAAkB,EACvE,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,EACnB,QAAQ,EAAE,QAAQ,KACd,KAAK;QAET,6BACI,SAAS,EAAC,wBAAwB,EAClC,GAAG,EAAC,oDAAoD,EACxD,GAAG,EAAC,gBAAgB,GACtB;QACD,OAAO,CACH,CACZ,CAAC;AACN,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- import { FC, ReactNode } from "react";
2
- export interface CrossMintStatusProviderProps {
3
- clientId: string;
4
- auctionId?: string;
5
- hideMintOnInactiveClient: boolean;
6
- children: ReactNode;
7
- }
8
- export declare const CrossMintStatusProvider: FC<CrossMintStatusProviderProps>;
@@ -1,36 +0,0 @@
1
- import React, { useEffect, useState } from "react";
2
- import { OnboardingRequestStatusResponse, CrossMintStatusContext } from "./useCrossMintStatus";
3
- export const CrossMintStatusProvider = ({ clientId, auctionId, hideMintOnInactiveClient, children, }) => {
4
- const [status, setStatus] = useState(OnboardingRequestStatusResponse.WAITING_SUBMISSION);
5
- async function fetchClientIntegration() {
6
- if (!clientId || clientId === "" || clientId === "<YOUR_CLIENT_ID>") {
7
- console.warn("You must enter your own CrossMint client ID in <CrossMintProvider clientId=XXX>");
8
- return;
9
- }
10
- const res = await fetch(`https://www.crossmint.io/api/crossmint/onboardingRequests/${clientId}/status`);
11
- if (res.status === 200) {
12
- const resData = await res.json();
13
- console.log("resData", resData);
14
- setStatus(resData.status);
15
- }
16
- else {
17
- if (status !== OnboardingRequestStatusResponse.INVALID) {
18
- setStatus(OnboardingRequestStatusResponse.INVALID);
19
- }
20
- }
21
- }
22
- useEffect(() => {
23
- fetchClientIntegration();
24
- const interval = setInterval(() => {
25
- fetchClientIntegration();
26
- }, 60 * 1000);
27
- return () => clearInterval(interval);
28
- }, []);
29
- return (React.createElement(CrossMintStatusContext.Provider, { value: {
30
- status,
31
- clientId,
32
- auctionId,
33
- hideMintOnInactiveClient,
34
- } }, children));
35
- };
36
- //# sourceMappingURL=CrossMintStatusProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CrossMintStatusProvider.js","sourceRoot":"","sources":["../../src/CrossMintStatusProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAiB,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAS/F,MAAM,CAAC,MAAM,uBAAuB,GAAqC,CAAC,EACtE,QAAQ,EACR,SAAS,EACT,wBAAwB,EACxB,QAAQ,GACX,EAAE,EAAE;IACD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAChC,+BAA+B,CAAC,kBAAkB,CACrD,CAAC;IAEF,KAAK,UAAU,sBAAsB;QACjC,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,KAAK,kBAAkB,EAAE;YACjE,OAAO,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;YAChG,OAAO;SACV;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,6DAA6D,QAAQ,SAAS,CAAC,CAAC;QAExG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;YACpB,MAAM,OAAO,GAAkE,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAEhG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAChC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAC7B;aAAM;YACH,IAAI,MAAM,KAAK,+BAA+B,CAAC,OAAO,EAAE;gBACpD,SAAS,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC;aACtD;SACJ;IACL,CAAC;IAED,SAAS,CAAC,GAAG,EAAE;QACX,sBAAsB,EAAE,CAAC;QAEzB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC9B,sBAAsB,EAAE,CAAC;QAC7B,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QAEd,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,oBAAC,sBAAsB,CAAC,QAAQ,IAC5B,KAAK,EAAE;YACH,MAAM;YACN,QAAQ;YACR,SAAS;YACT,wBAAwB;SAC3B,IAEA,QAAQ,CACqB,CACrC,CAAC;AACN,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- /// <reference types="react" />
2
- export interface CrossMintModalContextState {
3
- visible: boolean;
4
- setVisible: (open: boolean) => void;
5
- }
6
- export declare const CrossMintModalContext: import("react").Context<CrossMintModalContextState>;
7
- export declare function useCrossMintModal(): CrossMintModalContextState;
@@ -1,6 +0,0 @@
1
- import { createContext, useContext } from "react";
2
- export const CrossMintModalContext = createContext({});
3
- export function useCrossMintModal() {
4
- return useContext(CrossMintModalContext);
5
- }
6
- //# sourceMappingURL=useCrossMintModal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCrossMintModal.js","sourceRoot":"","sources":["../../src/useCrossMintModal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAOlD,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAA6B,EAAgC,CAAC,CAAC;AAEjH,MAAM,UAAU,iBAAiB;IAC7B,OAAO,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,8 +0,0 @@
1
- /// <reference types="react" />
2
- export interface PopupContextState {
3
- connecting: boolean;
4
- connect: (collectionTitle?: string, collectionDescription?: string, collectionPhoto?: string, mintTo?: string, emailTo?: string, listingId?: string) => void;
5
- popup: Window | null;
6
- }
7
- export declare const PopupContext: import("react").Context<PopupContextState>;
8
- export declare function useCrossMintPopup(): PopupContextState;
@@ -1,6 +0,0 @@
1
- import { createContext, useContext } from "react";
2
- export const PopupContext = createContext({});
3
- export function useCrossMintPopup() {
4
- return useContext(PopupContext);
5
- }
6
- //# sourceMappingURL=useCrossMintPopup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCrossMintPopup.js","sourceRoot":"","sources":["../../src/useCrossMintPopup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAgBlD,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAoB,EAAuB,CAAC,CAAC;AAEtF,MAAM,UAAU,iBAAiB;IAC7B,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC"}
@@ -1,14 +0,0 @@
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
- //# sourceMappingURL=useCrossMintStatus.js.map
@@ -1 +0,0 @@
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"}
@@ -1,75 +0,0 @@
1
- import React, { CSSProperties, FC, MouseEvent, MouseEventHandler, useMemo, useCallback } from "react";
2
- import { OnboardingRequestStatusResponse, useCrossMintStatus } from ".";
3
- import { useCrossMintPopup } from "./useCrossMintPopup";
4
-
5
- export interface ButtonProps {
6
- className?: string;
7
- disabled?: boolean;
8
- onClick?: (e: MouseEvent<HTMLButtonElement>) => void;
9
- style?: CSSProperties;
10
- tabIndex?: number;
11
- theme?: "light" | "dark";
12
- collectionTitle?: string;
13
- collectionDescription?: string;
14
- collectionPhoto?: string;
15
- mintTo?: string;
16
- emailTo?: string;
17
- listingId?: string;
18
- }
19
-
20
- export const CrossMintButton: FC<ButtonProps> = ({
21
- className,
22
- disabled,
23
- onClick,
24
- style,
25
- tabIndex,
26
- theme = "dark",
27
- collectionTitle,
28
- collectionDescription,
29
- collectionPhoto,
30
- mintTo,
31
- emailTo,
32
- listingId,
33
- ...props
34
- }) => {
35
- const { hideMintOnInactiveClient, status } = useCrossMintStatus();
36
-
37
- const { connecting, connect } = useCrossMintPopup();
38
-
39
- const handleClick: MouseEventHandler<HTMLButtonElement> = useCallback(
40
- (event) => {
41
- if (onClick) onClick(event);
42
-
43
- if (!event.defaultPrevented)
44
- connect(collectionTitle, collectionDescription, collectionPhoto, mintTo, emailTo, listingId);
45
- },
46
- [onClick]
47
- );
48
-
49
- const content = useMemo(() => {
50
- if (connecting) return <p>Connecting ...</p>;
51
- return <p>Buy with credit card</p>;
52
- }, [connecting]);
53
-
54
- if (hideMintOnInactiveClient && status !== OnboardingRequestStatusResponse.ACCEPTED) {
55
- return null;
56
- }
57
-
58
- return (
59
- <button
60
- className={`client-sdk-button-trigger client-sdk-button-trigger-${theme}`}
61
- disabled={disabled}
62
- onClick={handleClick}
63
- style={{ ...style }}
64
- tabIndex={tabIndex}
65
- {...props}
66
- >
67
- <img
68
- className="client-sdk-button-icon"
69
- src="https://www.crossmint.io/assets/crossmint/logo.png"
70
- alt="Crossmint logo"
71
- />
72
- {content}
73
- </button>
74
- );
75
- };
@@ -1,54 +0,0 @@
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
- };
@@ -1,23 +0,0 @@
1
- import React, { FC, ReactNode, useState } from "react";
2
- import { CrossMintModal, CrossMintModalProps } from "./CrossMintModal";
3
- import { CrossMintModalContext } from "./useCrossMintModal";
4
-
5
- export interface CrossMintModalProviderProps extends CrossMintModalProps {
6
- children: ReactNode;
7
- }
8
-
9
- export const CrossMintModalProvider: FC<CrossMintModalProviderProps> = ({ children, ...props }) => {
10
- const [visible, setVisible] = useState(false);
11
-
12
- return (
13
- <CrossMintModalContext.Provider
14
- value={{
15
- visible,
16
- setVisible,
17
- }}
18
- >
19
- {children}
20
- {visible && <CrossMintModal {...props} />}
21
- </CrossMintModalContext.Provider>
22
- );
23
- };
@@ -1,94 +0,0 @@
1
- import React, { FC, ReactNode, useState } from "react";
2
- import { useCrossMintModal, useCrossMintStatus } from ".";
3
- import { PopupContext } from "./useCrossMintPopup";
4
-
5
- export interface PopupProviderProps {
6
- development: boolean;
7
- children: ReactNode;
8
- }
9
-
10
- const PROD_URL = "https://www.crossmint.io";
11
- const DEV_URL = "http://localhost:3001";
12
-
13
- export const CrossMintPopupProvider: FC<PopupProviderProps> = ({ development, children }) => {
14
- const [connecting, setConnecting] = useState(false);
15
- const [popup, setPopup] = useState<Window | null>(null);
16
-
17
- const { clientId } = useCrossMintStatus();
18
-
19
- const { setVisible } = useCrossMintModal();
20
-
21
- const createPopup = (
22
- collectionTitle?: string,
23
- collectionDescription?: string,
24
- collectionPhoto?: string,
25
- mintTo?: string,
26
- emailTo?: string,
27
- listingId?: string
28
- ) => {
29
- const pop = window.open(
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
- "popUpWindow",
40
- createPopupString()
41
- );
42
- if (pop) {
43
- setVisible(true);
44
- setPopup(pop);
45
- registerListeners(pop);
46
- } else {
47
- setConnecting(false);
48
- console.log("Failed to open popup window");
49
- }
50
- };
51
-
52
- const connect = (
53
- collectionTitle?: string,
54
- collectionDescription?: string,
55
- collectionPhoto?: string,
56
- mintTo?: string,
57
- emailTo?: string,
58
- listingId?: string
59
- ) => {
60
- if (connecting) return;
61
-
62
- setConnecting(true);
63
-
64
- createPopup(collectionTitle, collectionDescription, collectionPhoto, mintTo, emailTo, listingId);
65
- };
66
-
67
- function registerListeners(pop: Window) {
68
- const timer = setInterval(function () {
69
- if (pop.closed) {
70
- clearInterval(timer);
71
- setConnecting(false);
72
- setVisible(false);
73
- }
74
- }, 500);
75
- }
76
-
77
- function createPopupString() {
78
- return `height=750,width=400,left=${window.innerWidth / 2 - 200},top=${
79
- window.innerHeight / 2 - 375
80
- },resizable=yes,scrollbars=yes,toolbar=yes,menubar=true,location=no,directories=no, status=yes`;
81
- }
82
-
83
- return (
84
- <PopupContext.Provider
85
- value={{
86
- connecting,
87
- popup,
88
- connect,
89
- }}
90
- >
91
- {children}
92
- </PopupContext.Provider>
93
- );
94
- };
@@ -1,44 +0,0 @@
1
- import React, { FC, ReactNode, useState } from "react";
2
- import { CrossMintModal, CrossMintModalProps } from "./CrossMintModal";
3
- import { CrossMintPopupProvider } from "./CrossMintPopupProvider";
4
- import { CrossMintStatusProvider } from "./CrossMintStatusProvider";
5
- import { CrossMintModalContext } from "./useCrossMintModal";
6
-
7
- export interface CrossMintProviderProps extends CrossMintModalProps {
8
- clientId: string;
9
- auctionId?: string;
10
- hideMintOnInactiveClient?: boolean;
11
- development?: boolean;
12
- children: ReactNode;
13
- }
14
-
15
- export const CrossMintProvider: FC<CrossMintProviderProps> = ({
16
- clientId,
17
- auctionId,
18
- hideMintOnInactiveClient = false,
19
- development = false,
20
- children,
21
- ...props
22
- }) => {
23
- const [visible, setVisible] = useState(false);
24
-
25
- return (
26
- <CrossMintStatusProvider
27
- clientId={clientId}
28
- hideMintOnInactiveClient={hideMintOnInactiveClient}
29
- auctionId={auctionId}
30
- >
31
- <CrossMintModalContext.Provider
32
- value={{
33
- visible,
34
- setVisible,
35
- }}
36
- >
37
- <CrossMintPopupProvider development={development}>
38
- {children}
39
- {visible && <CrossMintModal {...props} />}
40
- </CrossMintPopupProvider>
41
- </CrossMintModalContext.Provider>
42
- </CrossMintStatusProvider>
43
- );
44
- };
@@ -1,73 +0,0 @@
1
- import React, { CSSProperties, FC, MouseEvent, MouseEventHandler, useMemo, useCallback } from "react";
2
- import { OnboardingRequestStatusResponse, useCrossMintStatus } from "./useCrossMintStatus";
3
-
4
- export interface StatusButtonProps {
5
- className?: string;
6
- disabled?: boolean;
7
- onClick?: (e: MouseEvent<HTMLButtonElement>) => void;
8
- style?: CSSProperties;
9
- tabIndex?: number;
10
- theme?: "light" | "dark";
11
- }
12
-
13
- export const CrossMintStatusButton: FC<StatusButtonProps> = ({
14
- className,
15
- disabled,
16
- onClick,
17
- style,
18
- tabIndex,
19
- theme = "dark",
20
- ...props
21
- }) => {
22
- const { status, clientId, auctionId } = useCrossMintStatus();
23
-
24
- const handleClick: MouseEventHandler<HTMLButtonElement> = useCallback(
25
- (event) => {
26
- if (onClick) onClick(event);
27
-
28
- if (status === OnboardingRequestStatusResponse.WAITING_SUBMISSION) {
29
- window.open(
30
- `https://crossmint.io/developers/onboarding${clientId ? `?clientId=${clientId}` : ""}${
31
- auctionId ? `&auctionId=${auctionId}` : ""
32
- }`,
33
- "_blank"
34
- );
35
- return;
36
- }
37
- },
38
- [status]
39
- );
40
-
41
- const content = useMemo(() => {
42
- switch (status) {
43
- case OnboardingRequestStatusResponse.INVALID:
44
- return <p>Invalid clientId</p>;
45
- case OnboardingRequestStatusResponse.WAITING_SUBMISSION:
46
- return <p>Click here to setup CrossMint</p>;
47
- case OnboardingRequestStatusResponse.PENDING:
48
- return <p>Your application is under review</p>;
49
- case OnboardingRequestStatusResponse.ACCEPTED:
50
- return <p>You're good to go!</p>;
51
- case OnboardingRequestStatusResponse.REJECTED:
52
- return <p>You're application was rejected</p>;
53
- }
54
- }, [status]);
55
-
56
- return (
57
- <button
58
- className={`client-sdk-button-trigger client-sdk-button-trigger-${theme}`}
59
- disabled={status !== OnboardingRequestStatusResponse.WAITING_SUBMISSION}
60
- onClick={handleClick}
61
- style={{ ...style }}
62
- tabIndex={tabIndex}
63
- {...props}
64
- >
65
- <img
66
- className="client-sdk-button-icon"
67
- src="https://www.crossmint.io/assets/crossmint/logo.png"
68
- alt="Crossmint logo"
69
- />
70
- {content}
71
- </button>
72
- );
73
- };