@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,63 +0,0 @@
1
- import React, { FC, ReactNode, useEffect, useState } from "react";
2
- import { OnboardingRequestStatusResponse, CrossMintStatusContext } from "./useCrossMintStatus";
3
-
4
- export interface CrossMintStatusProviderProps {
5
- clientId: string;
6
- auctionId?: string;
7
- hideMintOnInactiveClient: boolean;
8
- children: ReactNode;
9
- }
10
-
11
- export const CrossMintStatusProvider: FC<CrossMintStatusProviderProps> = ({
12
- clientId,
13
- auctionId,
14
- hideMintOnInactiveClient,
15
- children,
16
- }) => {
17
- const [status, setStatus] = useState<OnboardingRequestStatusResponse>(
18
- OnboardingRequestStatusResponse.WAITING_SUBMISSION
19
- );
20
-
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
-
27
- const res = await fetch(`https://www.crossmint.io/api/crossmint/onboardingRequests/${clientId}/status`);
28
-
29
- if (res.status === 200) {
30
- const resData: { clientId: string; status: OnboardingRequestStatusResponse } = await res.json();
31
-
32
- console.log("resData", resData);
33
- setStatus(resData.status);
34
- } else {
35
- if (status !== OnboardingRequestStatusResponse.INVALID) {
36
- setStatus(OnboardingRequestStatusResponse.INVALID);
37
- }
38
- }
39
- }
40
-
41
- useEffect(() => {
42
- fetchClientIntegration();
43
-
44
- const interval = setInterval(() => {
45
- fetchClientIntegration();
46
- }, 60 * 1000);
47
-
48
- return () => clearInterval(interval);
49
- }, []);
50
-
51
- return (
52
- <CrossMintStatusContext.Provider
53
- value={{
54
- status,
55
- clientId,
56
- auctionId,
57
- hideMintOnInactiveClient,
58
- }}
59
- >
60
- {children}
61
- </CrossMintStatusContext.Provider>
62
- );
63
- };
@@ -1,12 +0,0 @@
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,21 +0,0 @@
1
- import { createContext, useContext } from "react";
2
-
3
- export interface PopupContextState {
4
- connecting: boolean;
5
- connect: (
6
- collectionTitle?: string,
7
- collectionDescription?: string,
8
- collectionPhoto?: string,
9
- mintTo?: string,
10
- emailTo?: string,
11
- listingId?: string
12
- ) => void;
13
-
14
- popup: Window | null;
15
- }
16
-
17
- export const PopupContext = createContext<PopupContextState>({} as PopupContextState);
18
-
19
- export function useCrossMintPopup(): PopupContextState {
20
- return useContext(PopupContext);
21
- }
@@ -1,22 +0,0 @@
1
- import { createContext, useContext } from "react";
2
-
3
- export enum OnboardingRequestStatusResponse {
4
- WAITING_SUBMISSION = "waiting-submission",
5
- PENDING = "pending",
6
- REJECTED = "rejected",
7
- ACCEPTED = "accepted",
8
- INVALID = "invalid",
9
- }
10
-
11
- export interface CrossMintStatusContextState {
12
- status: OnboardingRequestStatusResponse;
13
- clientId: string;
14
- auctionId?: string;
15
- hideMintOnInactiveClient: boolean;
16
- }
17
-
18
- export const CrossMintStatusContext = createContext<CrossMintStatusContextState>({} as CrossMintStatusContextState);
19
-
20
- export function useCrossMintStatus(): CrossMintStatusContextState {
21
- return useContext(CrossMintStatusContext);
22
- }
package/styles.css DELETED
@@ -1,119 +0,0 @@
1
- @import url("https://cdn.rawgit.com/mfd/09b70eb47474836f25a21660282ce0fd/raw/e06a670afcb2b861ed2ac4a1ef752d062ef6b46b/Gilroy.css");
2
-
3
- :root {
4
- --crossmint-main-green: #00ff85;
5
- --crossmint-main-blue: #00e0ff;
6
- --crossmint-main-dark-bg: #1e1e1e;
7
- }
8
-
9
- /* Mint Button */
10
-
11
- .client-sdk-button-trigger {
12
- display: flex;
13
- flex-direction: row;
14
- align-items: center;
15
- padding: 0.875rem 0.875rem;
16
- font-weight: 900;
17
- transition: opacity ease-in-out 0.25s;
18
- border-radius: 0.5rem;
19
- font-family: "Gilroy", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans",
20
- "Helvetica Neue", sans-serif;
21
- outline: none;
22
- border: none;
23
- box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.1);
24
- justify-content: center;
25
- }
26
-
27
- .client-sdk-button-trigger p {
28
- margin: 0;
29
- }
30
-
31
- .client-sdk-button-trigger:hover:enabled {
32
- opacity: 0.6;
33
- cursor: pointer;
34
- }
35
-
36
- .client-sdk-button-trigger-dark {
37
- background: var(--crossmint-main-dark-bg);
38
- }
39
-
40
- .client-sdk-button-trigger-light {
41
- background: white;
42
- }
43
-
44
- .client-sdk-button-trigger-light p {
45
- color: black;
46
- }
47
-
48
- .client-sdk-button-trigger-dark p {
49
- color: white;
50
- }
51
-
52
- .client-sdk-button-trigger-colored {
53
- background-image: linear-gradient(to bottom right, var(--crossmint-main-green), var(--crossmint-main-blue));
54
- color: white;
55
- }
56
-
57
- .client-sdk-button-icon {
58
- width: 21px;
59
- height: 21px;
60
- margin-right: 0.875rem;
61
- }
62
-
63
- /* Modal */
64
- .client-sdk-modal {
65
- position: fixed;
66
- top: 0;
67
- left: 0;
68
- right: 0;
69
- bottom: 0;
70
- opacity: 0;
71
- transition: opacity linear 150ms;
72
- background: rgba(0, 0, 0, 0.5);
73
- z-index: 1040;
74
- }
75
-
76
- .client-sdk-modal.client-sdk-modal-fade-in {
77
- opacity: 1;
78
- }
79
-
80
- .client-sdk-modal-overlay {
81
- background: rgba(0, 0, 0, 0.5);
82
- position: fixed;
83
- top: 0;
84
- left: 0;
85
- bottom: 0;
86
- right: 0;
87
- }
88
-
89
- .client-sdk-modal-container {
90
- position: absolute;
91
- top: 0;
92
- left: 0;
93
- bottom: 0;
94
- right: 0;
95
- width: 100%;
96
- height: 100%;
97
- display: flex;
98
- justify-content: center;
99
- align-items: center;
100
- z-index: 1041;
101
- }
102
-
103
- .client-sdk-modal-loader {
104
- border: 3px solid transparent; /* Light grey */
105
- border-top: 3px solid white; /* Blue */
106
- border-radius: 50%;
107
- width: 35px;
108
- height: 35px;
109
- animation: crossmintSpin 1s linear infinite;
110
- }
111
-
112
- @keyframes crossmintSpin {
113
- 0% {
114
- transform: rotate(0deg);
115
- }
116
- 100% {
117
- transform: rotate(360deg);
118
- }
119
- }