@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
package/README.md CHANGED
@@ -2,22 +2,13 @@
2
2
 
3
3
  ## Components
4
4
 
5
- ### `CrossMintProvider` _required_
5
+ ### `CrossmintPayButton` _required_
6
6
 
7
- CrossMintProvider is a react context that is used to provide your app with our popup, and modal overlay functionality.
8
-
9
- | propName | default | required | description |
10
- | --------- | ----------- | -------- | ------------------------------------------------------------------------------- |
11
- | clientId | `undefined` | `true` | Your client integration identifier |
12
- | className | `undefined` | `false` | Use this to add a custom classname/s to the modal overlay |
13
- | container | `body` | `false` | Use this to specify the container in which the modal overlay should be rendered |
14
-
15
- ### `CrossMintButton` _required_
16
-
17
- CrossMintButton is a button component that is used to trigger the opening of the CrossMint popup and modal overlay.
7
+ CrossmintPayButton is a button component that is used to trigger the opening of the CrossMint popup and modal overlay.
18
8
 
19
9
  | propName | default | required | description |
20
10
  | --------------------- | ----------- | -------- | -------------------------------------------------------------------------------------------- |
11
+ | clientId | `undefined` | `true` | Your client integration identifier |
21
12
  | collectionTitle | `undefined` | `false` | This will be shown to the user during the checkout process. Max length: 120 |
22
13
  | collectionDescription | `undefined` | `false` | This will be shown to the user during the checkout process. Max length: 24 |
23
14
  | collectionPhoto | `undefined` | `false` | This will be shown to the user during the checkout process. Preferred resolution: 200x200 px |
@@ -28,3 +19,18 @@ CrossMintButton is a button component that is used to trigger the opening of the
28
19
  | tabIndex | `undefined` | `false` | Use this to add a custom tabIndex to the button |
29
20
  | theme | `dark` | `false` | Use this to specify one of our default themes. Can be `light`, `dark` |
30
21
  | ...props | `undefined` | `false` | All valid html button props can be added to the button |
22
+
23
+ ### `CrossmintStatusButton`
24
+
25
+ DESCRIPTION TBD
26
+
27
+ | propName | default | required | description |
28
+ | --------- | ----------- | -------- | --------------------------------------------------------------------- |
29
+ | clientId | `undefined` | `true` | Your client integration identifier |
30
+ | className | `undefined` | `false` | Use this to add custom classNames to the button |
31
+ | disabled | `undefined` | `false` | Use this to specify when the button should be disabled |
32
+ | onClick | `undefined` | `false` | Use this to add a custom onClick handler to the button |
33
+ | style | `undefined` | `false` | Use this to add custom CSS styles to the button |
34
+ | tabIndex | `undefined` | `false` | Use this to add a custom tabIndex to the button |
35
+ | theme | `dark` | `false` | Use this to specify one of our default themes. Can be `light`, `dark` |
36
+ | ...props | `undefined` | `false` | All valid html button props can be added to the button |
@@ -0,0 +1,3 @@
1
+ import { FC } from "react";
2
+ import { CrossmintPayButtonProps } from "./types";
3
+ export declare const CrossmintPayButton: FC<CrossmintPayButtonProps>;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __rest = (this && this.__rest) || function (s, e) {
26
+ var t = {};
27
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
28
+ t[p] = s[p];
29
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
30
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
31
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32
+ t[p[i]] = s[p[i]];
33
+ }
34
+ return t;
35
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.CrossmintPayButton = void 0;
41
+ const react_1 = __importStar(require("react"));
42
+ const useCrossmintStatus_1 = __importStar(require("./hooks/useCrossmintStatus"));
43
+ const useCrossmintModal_1 = __importDefault(require("./hooks/useCrossmintModal"));
44
+ const styles_1 = require("./styles");
45
+ const utils_1 = require("./utils");
46
+ const types_1 = require("./types");
47
+ const defaultMintConfig = {
48
+ type: types_1.mintingContractTypes.CANDY_MACHINE,
49
+ };
50
+ const CrossmintPayButton = (_a) => {
51
+ var { className, disabled, onClick, style, tabIndex, theme = "dark", collectionTitle, collectionDescription, collectionPhoto, mintTo, emailTo, listingId, clientId, development = false, auctionId, hideMintOnInactiveClient = false, showOverlay = true, mintConfig = defaultMintConfig } = _a, props = __rest(_a, ["className", "disabled", "onClick", "style", "tabIndex", "theme", "collectionTitle", "collectionDescription", "collectionPhoto", "mintTo", "emailTo", "listingId", "clientId", "development", "auctionId", "hideMintOnInactiveClient", "showOverlay", "mintConfig"]);
52
+ const status = (0, useCrossmintStatus_1.default)({ clientId, development });
53
+ const { connecting, connect } = (0, useCrossmintModal_1.default)({
54
+ clientId,
55
+ development,
56
+ showOverlay,
57
+ });
58
+ if (collectionTitle === "<TITLE_FOR_YOUR_COLLECTION>") {
59
+ console.warn("No collection title specified. Please add a collection title to your <CrossmintPayButton />");
60
+ collectionTitle = "";
61
+ }
62
+ if (collectionDescription === "<DESCRIPTION_OF_YOUR_COLLECTION>") {
63
+ console.warn("No collection description specified. Please add a collection description to your <CrossmintPayButton />");
64
+ collectionDescription = "";
65
+ }
66
+ if (collectionPhoto === "<OPT_URL_TO_PHOTO_COVER>") {
67
+ console.warn("No collection photo specified. Please add a collection photo to your <CrossmintPayButton />");
68
+ collectionPhoto = "";
69
+ }
70
+ const handleClick = (0, react_1.useCallback)((event) => {
71
+ if (onClick)
72
+ onClick(event);
73
+ if (!event.defaultPrevented) {
74
+ connect(mintConfig, collectionTitle, collectionDescription, collectionPhoto, mintTo, emailTo, listingId);
75
+ }
76
+ }, [onClick]);
77
+ const classes = (0, styles_1.useStyles)((0, styles_1.formatProps)(theme));
78
+ const content = (0, react_1.useMemo)(() => {
79
+ if (connecting)
80
+ return react_1.default.createElement("p", { className: classes.crossmintParagraph }, "Connecting ...");
81
+ return react_1.default.createElement("p", { className: classes.crossmintParagraph }, "Buy with credit card");
82
+ }, [connecting]);
83
+ if (hideMintOnInactiveClient && status !== useCrossmintStatus_1.OnboardingRequestStatusResponse.ACCEPTED) {
84
+ return null;
85
+ }
86
+ return (react_1.default.createElement(react_1.default.Fragment, null, utils_1.isClientSide && (react_1.default.createElement("button", Object.assign({ className: `${classes.crossmintButton} ${className}`, disabled: disabled, onClick: handleClick, style: Object.assign({}, style), tabIndex: tabIndex }, props),
87
+ react_1.default.createElement("img", { className: classes.crossmintImg, src: "https://www.crossmint.io/assets/crossmint/logo.png", alt: "Crossmint logo" }),
88
+ content))));
89
+ };
90
+ exports.CrossmintPayButton = CrossmintPayButton;
91
+ //# sourceMappingURL=CrossmintPayButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrossmintPayButton.js","sourceRoot":"","sources":["../../src/CrossmintPayButton.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { FC } from "react";
2
+ import { BaseButtonProps } from "./types";
3
+ export declare const CrossmintStatusButton: FC<BaseButtonProps>;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __rest = (this && this.__rest) || function (s, e) {
26
+ var t = {};
27
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
28
+ t[p] = s[p];
29
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
30
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
31
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
32
+ t[p[i]] = s[p[i]];
33
+ }
34
+ return t;
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.CrossmintStatusButton = void 0;
38
+ const react_1 = __importStar(require("react"));
39
+ const useCrossmintStatus_1 = __importStar(require("./hooks/useCrossmintStatus"));
40
+ const styles_1 = require("./styles");
41
+ const types_1 = require("./types");
42
+ const utils_1 = require("./utils");
43
+ const CrossmintStatusButton = (_a) => {
44
+ var { className, disabled, onClick, style, tabIndex, theme = "dark", clientId, auctionId, development = false } = _a, props = __rest(_a, ["className", "disabled", "onClick", "style", "tabIndex", "theme", "clientId", "auctionId", "development"]);
45
+ const status = (0, useCrossmintStatus_1.default)({ clientId, development });
46
+ const handleClick = (0, react_1.useCallback)((event) => {
47
+ if (onClick)
48
+ onClick(event);
49
+ if (status === useCrossmintStatus_1.OnboardingRequestStatusResponse.WAITING_SUBMISSION) {
50
+ const baseUrl = development ? types_1.baseUrls.dev : types_1.baseUrls.prod;
51
+ window.open(`${baseUrl}/developers/onboarding${clientId ? `?clientId=${clientId}` : ""}${auctionId ? `&auctionId=${auctionId}` : ""}`, "_blank");
52
+ return;
53
+ }
54
+ }, [status]);
55
+ const classes = (0, styles_1.useStyles)((0, styles_1.formatProps)(theme));
56
+ const content = (0, react_1.useMemo)(() => {
57
+ switch (status) {
58
+ case useCrossmintStatus_1.OnboardingRequestStatusResponse.INVALID:
59
+ return react_1.default.createElement("p", { className: classes.crossmintParagraph }, "Invalid clientId");
60
+ case useCrossmintStatus_1.OnboardingRequestStatusResponse.WAITING_SUBMISSION:
61
+ return react_1.default.createElement("p", { className: classes.crossmintParagraph }, "Click here to setup CrossMint");
62
+ case useCrossmintStatus_1.OnboardingRequestStatusResponse.PENDING:
63
+ return react_1.default.createElement("p", { className: classes.crossmintParagraph }, "Your application is under review");
64
+ case useCrossmintStatus_1.OnboardingRequestStatusResponse.ACCEPTED:
65
+ return react_1.default.createElement("p", { className: classes.crossmintParagraph }, "You're good to go!");
66
+ case useCrossmintStatus_1.OnboardingRequestStatusResponse.REJECTED:
67
+ return react_1.default.createElement("p", { className: classes.crossmintParagraph }, "Your application was rejected");
68
+ }
69
+ }, [status]);
70
+ return (react_1.default.createElement(react_1.default.Fragment, null, utils_1.isClientSide && (react_1.default.createElement("button", Object.assign({ className: `${classes.crossmintButton} ${className}`, disabled: status !== useCrossmintStatus_1.OnboardingRequestStatusResponse.WAITING_SUBMISSION, onClick: handleClick, style: Object.assign({}, style), tabIndex: tabIndex }, props),
71
+ react_1.default.createElement("img", { className: classes.crossmintImg, src: `${types_1.baseUrls.prod}/assets/crossmint/logo.png`, alt: "Crossmint logo" }),
72
+ content))));
73
+ };
74
+ exports.CrossmintStatusButton = CrossmintStatusButton;
75
+ //# sourceMappingURL=CrossmintStatusButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrossmintStatusButton.js","sourceRoot":"","sources":["../../src/CrossmintStatusButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA2E;AAC3E,iFAAiG;AACjG,qCAAkD;AAClD,mCAAoD;AACpD,mCAAuC;AAEhC,MAAM,qBAAqB,GAAwB,CAAC,EAW1D,EAAE,EAAE;QAXsD,EACvD,SAAS,EACT,QAAQ,EACR,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,GAAG,MAAM,EACd,QAAQ,EACR,SAAS,EACT,WAAW,GAAG,KAAK,OAEtB,EADM,KAAK,cAV+C,0GAW1D,CADW;IAER,MAAM,MAAM,GAAG,IAAA,4BAAkB,EAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;IAE7D,MAAM,WAAW,GAAyC,IAAA,mBAAW,EACjE,CAAC,KAAK,EAAE,EAAE;QACN,IAAI,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAE5B,IAAI,MAAM,KAAK,oDAA+B,CAAC,kBAAkB,EAAE;YAC/D,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,gBAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAQ,CAAC,IAAI,CAAC;YAC3D,MAAM,CAAC,IAAI,CACP,GAAG,OAAO,yBAAyB,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GACtE,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,IAAA,kBAAS,EAAC,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC,CAAC;IAE9C,MAAM,OAAO,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACzB,QAAQ,MAAM,EAAE;YACZ,KAAK,oDAA+B,CAAC,OAAO;gBACxC,OAAO,qCAAG,SAAS,EAAE,OAAO,CAAC,kBAAkB,uBAAsB,CAAC;YAC1E,KAAK,oDAA+B,CAAC,kBAAkB;gBACnD,OAAO,qCAAG,SAAS,EAAE,OAAO,CAAC,kBAAkB,oCAAmC,CAAC;YACvF,KAAK,oDAA+B,CAAC,OAAO;gBACxC,OAAO,qCAAG,SAAS,EAAE,OAAO,CAAC,kBAAkB,uCAAsC,CAAC;YAC1F,KAAK,oDAA+B,CAAC,QAAQ;gBACzC,OAAO,qCAAG,SAAS,EAAE,OAAO,CAAC,kBAAkB,yBAAwB,CAAC;YAC5E,KAAK,oDAA+B,CAAC,QAAQ;gBACzC,OAAO,qCAAG,SAAS,EAAE,OAAO,CAAC,kBAAkB,oCAAmC,CAAC;SAC1F;IACL,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,CACH,8DACK,oBAAY,IAAI,CACb,wDACI,SAAS,EAAE,GAAG,OAAO,CAAC,eAAe,IAAI,SAAS,EAAE,EACpD,QAAQ,EAAE,MAAM,KAAK,oDAA+B,CAAC,kBAAkB,EACvE,OAAO,EAAE,WAAW,EACpB,KAAK,oBAAO,KAAK,GACjB,QAAQ,EAAE,QAAQ,IACd,KAAK;QAET,uCACI,SAAS,EAAE,OAAO,CAAC,YAAY,EAC/B,GAAG,EAAE,GAAG,gBAAQ,CAAC,IAAI,4BAA4B,EACjD,GAAG,EAAC,gBAAgB,GACtB;QACD,OAAO,CACH,CACZ,CACF,CACN,CAAC;AACN,CAAC,CAAC;AAtEW,QAAA,qBAAqB,yBAsEhC"}
@@ -0,0 +1,12 @@
1
+ import { PayButtonConfig } from "../types";
2
+ interface IProps {
3
+ development: boolean;
4
+ clientId: string;
5
+ showOverlay: boolean;
6
+ }
7
+ interface IReturn {
8
+ connecting: boolean;
9
+ connect: (mintConfig: PayButtonConfig, collectionTitle?: string, collectionDescription?: string, collectionPhoto?: string, mintTo?: string, emailTo?: string, listingId?: string) => void;
10
+ }
11
+ export default function useCrossMintModal({ development, clientId, showOverlay }: IProps): IReturn;
12
+ export {};
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const react_1 = require("react");
4
+ const version_1 = require("../version");
5
+ const types_1 = require("../types");
6
+ function createPopupString() {
7
+ 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`;
8
+ }
9
+ const overlayId = "__crossmint-overlay__";
10
+ const addLoadingOverlay = () => {
11
+ const overlayEl = document.createElement("div");
12
+ overlayEl.setAttribute("id", overlayId);
13
+ const overlayStyles = {
14
+ width: "100vw",
15
+ height: "100vh",
16
+ "background-color": "rgba(0, 0, 0, 0.5)",
17
+ position: "fixed",
18
+ "z-index": "99999999",
19
+ top: "0",
20
+ left: "0",
21
+ };
22
+ Object.assign(overlayEl.style, overlayStyles);
23
+ document.body.appendChild(overlayEl);
24
+ };
25
+ const removeLoadingOverlay = () => {
26
+ const overlayEl = document.getElementById(overlayId);
27
+ if (overlayEl)
28
+ overlayEl.remove();
29
+ };
30
+ function useCrossMintModal({ development, clientId, showOverlay }) {
31
+ const [connecting, setConnecting] = (0, react_1.useState)(false);
32
+ const createPopup = (mintConfig, collectionTitle, collectionDescription, collectionPhoto, mintTo, emailTo, listingId) => {
33
+ const urlOrigin = development ? types_1.baseUrls.dev : types_1.baseUrls.prod;
34
+ const getMintQueryParams = () => {
35
+ const mintQueryParams = {
36
+ clientId: clientId,
37
+ closeOnSuccess: "false",
38
+ clientName: types_1.clientNames.reactUi,
39
+ clientVersion: version_1.LIB_VERSION,
40
+ mintConfig: JSON.stringify(mintConfig),
41
+ };
42
+ if (collectionTitle)
43
+ mintQueryParams.collectionTitle = collectionTitle;
44
+ if (collectionDescription)
45
+ mintQueryParams.collectionDescription = collectionDescription;
46
+ if (collectionPhoto)
47
+ mintQueryParams.collectionPhoto = collectionPhoto;
48
+ if (mintTo)
49
+ mintQueryParams.mintTo = mintTo;
50
+ if (emailTo)
51
+ mintQueryParams.emailTo = emailTo;
52
+ if (listingId)
53
+ mintQueryParams.listingId = listingId;
54
+ return new URLSearchParams(mintQueryParams).toString();
55
+ };
56
+ const callbackUrl = encodeURIComponent(`${urlOrigin}/checkout/mint?${getMintQueryParams()}`);
57
+ const url = `${urlOrigin}/signin?callbackUrl=${callbackUrl}`;
58
+ const pop = window.open(url, "popUpWindow", createPopupString());
59
+ if (pop) {
60
+ registerListeners(pop);
61
+ if (showOverlay) {
62
+ addLoadingOverlay();
63
+ }
64
+ }
65
+ else {
66
+ setConnecting(false);
67
+ console.error("Failed to open popup window");
68
+ }
69
+ };
70
+ const connect = (mintConfig, collectionTitle, collectionDescription, collectionPhoto, mintTo, emailTo, listingId) => {
71
+ if (connecting)
72
+ return;
73
+ setConnecting(true);
74
+ createPopup(mintConfig, collectionTitle, collectionDescription, collectionPhoto, mintTo, emailTo, listingId);
75
+ };
76
+ function registerListeners(pop) {
77
+ const timer = setInterval(function () {
78
+ if (pop.closed) {
79
+ clearInterval(timer);
80
+ setConnecting(false);
81
+ if (showOverlay) {
82
+ removeLoadingOverlay();
83
+ }
84
+ }
85
+ }, 500);
86
+ }
87
+ return { connecting, connect };
88
+ }
89
+ exports.default = useCrossMintModal;
90
+ //# sourceMappingURL=useCrossmintModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCrossmintModal.js","sourceRoot":"","sources":["../../../src/hooks/useCrossmintModal.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare enum OnboardingRequestStatusResponse {
3
2
  WAITING_SUBMISSION = "waiting-submission",
4
3
  PENDING = "pending",
@@ -12,5 +11,9 @@ export interface CrossMintStatusContextState {
12
11
  auctionId?: string;
13
12
  hideMintOnInactiveClient: boolean;
14
13
  }
15
- export declare const CrossMintStatusContext: import("react").Context<CrossMintStatusContextState>;
16
- export declare function useCrossMintStatus(): CrossMintStatusContextState;
14
+ interface IProps {
15
+ clientId: string;
16
+ development: boolean;
17
+ }
18
+ export default function useCrossMintStatus({ clientId, development }: IProps): OnboardingRequestStatusResponse;
19
+ export {};
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.OnboardingRequestStatusResponse = void 0;
13
+ const react_1 = require("react");
14
+ const uuid_1 = require("uuid");
15
+ const version_1 = require("../version");
16
+ const types_1 = require("../types");
17
+ var OnboardingRequestStatusResponse;
18
+ (function (OnboardingRequestStatusResponse) {
19
+ OnboardingRequestStatusResponse["WAITING_SUBMISSION"] = "waiting-submission";
20
+ OnboardingRequestStatusResponse["PENDING"] = "pending";
21
+ OnboardingRequestStatusResponse["REJECTED"] = "rejected";
22
+ OnboardingRequestStatusResponse["ACCEPTED"] = "accepted";
23
+ OnboardingRequestStatusResponse["INVALID"] = "invalid";
24
+ })(OnboardingRequestStatusResponse = exports.OnboardingRequestStatusResponse || (exports.OnboardingRequestStatusResponse = {}));
25
+ const validateClientId = (clientId) => {
26
+ try {
27
+ const isValid = (0, uuid_1.validate)(clientId);
28
+ return !!isValid;
29
+ }
30
+ catch (e) {
31
+ console.error(e);
32
+ return false;
33
+ }
34
+ };
35
+ function useCrossMintStatus({ clientId, development }) {
36
+ const [status, setStatus] = (0, react_1.useState)(OnboardingRequestStatusResponse.WAITING_SUBMISSION);
37
+ function fetchClientIntegration() {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ if (!clientId || clientId === "" || clientId === "<YOUR_CLIENT_ID>") {
40
+ console.error("You must enter your own Crossmint client ID in <CrossmintPayButton clientId=XXX>");
41
+ return;
42
+ }
43
+ if (!validateClientId(clientId)) {
44
+ console.error("The clientId passed to is invalid. Make sure to pass the clientId obtained from the crossmint team, with format XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX");
45
+ return;
46
+ }
47
+ const baseUrl = development ? types_1.baseUrls.dev : types_1.baseUrls.prod;
48
+ const res = yield fetch(`${baseUrl}/api/crossmint/onboardingRequests/${clientId}/status`, {
49
+ headers: {
50
+ [types_1.customHeaders.clientVersion]: version_1.LIB_VERSION,
51
+ [types_1.customHeaders.clientName]: types_1.clientNames.reactUi,
52
+ },
53
+ });
54
+ if (res.status === 200) {
55
+ const resData = yield res.json();
56
+ setStatus(resData.status);
57
+ }
58
+ else {
59
+ if (status !== OnboardingRequestStatusResponse.INVALID) {
60
+ setStatus(OnboardingRequestStatusResponse.INVALID);
61
+ }
62
+ }
63
+ });
64
+ }
65
+ (0, react_1.useEffect)(() => {
66
+ fetchClientIntegration();
67
+ const interval = setInterval(() => {
68
+ fetchClientIntegration();
69
+ }, 60 * 1000);
70
+ return () => clearInterval(interval);
71
+ }, []);
72
+ return status;
73
+ }
74
+ exports.default = useCrossMintStatus;
75
+ //# sourceMappingURL=useCrossmintStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCrossmintStatus.js","sourceRoot":"","sources":["../../../src/hooks/useCrossmintStatus.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAA4C;AAC5C,+BAAgC;AAChC,wCAAyC;AACzC,oCAAgE;AAEhE,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,GAA/B,uCAA+B,KAA/B,uCAA+B,QAM1C;AAcD,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAW,EAAE;IACnD,IAAI;QACA,MAAM,OAAO,GAAG,IAAA,eAAQ,EAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC,OAAO,CAAC;KACpB;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,KAAK,CAAC;KAChB;AACL,CAAC,CAAC;AAEF,SAAwB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAU;IACxE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAChC,+BAA+B,CAAC,kBAAkB,CACrD,CAAC;IAEF,SAAe,sBAAsB;;YACjC,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,KAAK,kBAAkB,EAAE;gBACjE,OAAO,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAC;gBAClG,OAAO;aACV;YAED,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;gBAC7B,OAAO,CAAC,KAAK,CACT,kJAAkJ,CACrJ,CAAC;gBACF,OAAO;aACV;YAED,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,gBAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAQ,CAAC,IAAI,CAAC;YAE3D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,qCAAqC,QAAQ,SAAS,EAAE;gBACtF,OAAO,EAAE;oBACL,CAAC,qBAAa,CAAC,aAAa,CAAC,EAAE,qBAAW;oBAC1C,CAAC,qBAAa,CAAC,UAAU,CAAC,EAAE,mBAAW,CAAC,OAAO;iBAClD;aACJ,CAAC,CAAC;YAEH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACpB,MAAM,OAAO,GAAkE,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAEhG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;aAC7B;iBAAM;gBACH,IAAI,MAAM,KAAK,+BAA+B,CAAC,OAAO,EAAE;oBACpD,SAAS,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC;iBACtD;aACJ;QACL,CAAC;KAAA;IAED,IAAA,iBAAS,EAAC,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,MAAM,CAAC;AAClB,CAAC;AAjDD,qCAiDC"}
@@ -1,7 +1,2 @@
1
- export * from "./CrossMintButton";
2
- export * from "./CrossMintModal";
3
- export * from "./useCrossMintModal";
4
- export * from "./useCrossMintPopup";
5
- export * from "./CrossMintProvider";
6
- export * from "./useCrossMintStatus";
7
- export * from "./CrossMintStatusButton";
1
+ export * from "./CrossmintPayButton";
2
+ export * from "./CrossmintStatusButton";
package/lib/cjs/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -10,11 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./CrossMintButton"), exports);
14
- __exportStar(require("./CrossMintModal"), exports);
15
- __exportStar(require("./useCrossMintModal"), exports);
16
- __exportStar(require("./useCrossMintPopup"), exports);
17
- __exportStar(require("./CrossMintProvider"), exports);
18
- __exportStar(require("./useCrossMintStatus"), exports);
19
- __exportStar(require("./CrossMintStatusButton"), exports);
17
+ __exportStar(require("./CrossmintPayButton"), exports);
18
+ __exportStar(require("./CrossmintStatusButton"), exports);
20
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAkC;AAClC,mDAAiC;AACjC,sDAAoC;AACpC,sDAAoC;AACpC,sDAAoC;AACpC,uDAAqC;AACrC,0DAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,0DAAwC"}
@@ -1 +1,3 @@
1
- {type:commonjs}
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -0,0 +1,9 @@
1
+ interface CustomStylingProps {
2
+ buttonBgColor?: string;
3
+ paragraphColor?: string;
4
+ }
5
+ export declare const formatProps: (theme: string) => CustomStylingProps;
6
+ export declare const useStyles: (data?: (CustomStylingProps & {
7
+ theme?: Jss.Theme | undefined;
8
+ }) | undefined) => import("jss").Classes<"@global" | "crossmintButton" | "crossmintImg" | "crossmintParagraph">;
9
+ export {};
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useStyles = exports.formatProps = void 0;
4
+ const react_jss_1 = require("react-jss");
5
+ const DARK_BG = "#1e1e1e";
6
+ const themeIsLight = (theme) => theme === "light";
7
+ const formatProps = (theme) => ({
8
+ buttonBgColor: themeIsLight(theme) ? "white" : DARK_BG,
9
+ paragraphColor: themeIsLight(theme) ? "black" : "white",
10
+ });
11
+ exports.formatProps = formatProps;
12
+ exports.useStyles = (0, react_jss_1.createUseStyles)({
13
+ "@global": {
14
+ "@import": "url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap')",
15
+ },
16
+ crossmintButton: {
17
+ display: "flex",
18
+ "flex-direction": "row",
19
+ "align-items": "center",
20
+ padding: "0.875rem 0.875rem",
21
+ "font-weight": "900",
22
+ transition: "opacity ease-in-out 0.25s",
23
+ "border-radius": "0.5rem",
24
+ "font-family": `"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif`,
25
+ outline: "none",
26
+ border: "none",
27
+ "box-shadow": "0px 8px 15px rgba(0, 0, 0, 0.1)",
28
+ "justify-content": "center",
29
+ background: ({ buttonBgColor }) => buttonBgColor,
30
+ "&:hover:enabled": {
31
+ opacity: "0.6",
32
+ cursor: "pointer",
33
+ },
34
+ },
35
+ crossmintImg: {
36
+ width: "21px",
37
+ height: "21px",
38
+ "margin-right": "0.875rem",
39
+ },
40
+ crossmintParagraph: {
41
+ color: ({ paragraphColor }) => paragraphColor,
42
+ margin: "0",
43
+ },
44
+ });
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/styles/index.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAE5C,MAAM,OAAO,GAAG,SAAS,CAAC;AAO1B,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC;AACnD,MAAM,WAAW,GAAG,CAAC,KAAa,EAAsB,EAAE,CAAC,CAAC;IAC/D,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;IACtD,cAAc,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;CAC1D,CAAC,CAAC;AAHU,QAAA,WAAW,eAGrB;AAEU,QAAA,SAAS,GAAG,IAAA,2BAAe,EAAC;IACrC,SAAS,EAAE;QACP,SAAS,EACL,6GAA6G;KACpH;IACD,eAAe,EAAE;QACb,OAAO,EAAE,MAAM;QACf,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,QAAQ;QACvB,OAAO,EAAE,mBAAmB;QAC5B,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,2BAA2B;QACvC,eAAe,EAAE,QAAQ;QACzB,aAAa,EAAE,sIAAsI;QACrJ,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,iCAAiC;QAC/C,iBAAiB,EAAE,QAAQ;QAC3B,UAAU,EAAE,CAAC,EAAE,aAAa,EAAsB,EAAE,EAAE,CAAC,aAAa;QAEpE,iBAAiB,EAAE;YACf,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,SAAS;SACpB;KACJ;IACD,YAAY,EAAE;QACV,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,cAAc,EAAE,UAAU;KAC7B;IACD,kBAAkB,EAAE;QAChB,KAAK,EAAE,CAAC,EAAE,cAAc,EAAsB,EAAE,EAAE,CAAC,cAAc;QACjE,MAAM,EAAE,GAAG;KACd;CACJ,CAAC,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { CSSProperties, MouseEvent } from "react";
2
+ export declare enum clientNames {
3
+ reactUi = "client-sdk-react-ui"
4
+ }
5
+ export declare enum baseUrls {
6
+ prod = "https://www.crossmint.io",
7
+ dev = "http://localhost:3001"
8
+ }
9
+ export declare enum customHeaders {
10
+ clientVersion = "X-Client-Version",
11
+ clientName = "X-Client-Name"
12
+ }
13
+ declare enum theme {
14
+ light = "light",
15
+ dark = "dark"
16
+ }
17
+ export declare enum mintingContractTypes {
18
+ CANDY_MACHINE = "candy-machine",
19
+ SOLANA_AUCTION = "solana-auction",
20
+ ERC_721 = "erc-721"
21
+ }
22
+ export interface PayButtonConfig {
23
+ type: string;
24
+ [propName: string]: any;
25
+ }
26
+ export interface BaseButtonProps {
27
+ className?: string;
28
+ disabled?: boolean;
29
+ onClick?: (e: MouseEvent<HTMLButtonElement>) => void;
30
+ style?: CSSProperties;
31
+ tabIndex?: number;
32
+ clientId: string;
33
+ auctionId?: string;
34
+ theme?: theme;
35
+ development?: boolean;
36
+ }
37
+ export interface CrossmintPayButtonProps extends BaseButtonProps {
38
+ collectionTitle?: string;
39
+ collectionDescription?: string;
40
+ collectionPhoto?: string;
41
+ mintTo?: string;
42
+ emailTo?: string;
43
+ listingId?: string;
44
+ showOverlay?: boolean;
45
+ hideMintOnInactiveClient?: boolean;
46
+ mintConfig?: PayButtonConfig;
47
+ }
48
+ export {};
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mintingContractTypes = exports.customHeaders = exports.baseUrls = exports.clientNames = void 0;
4
+ var clientNames;
5
+ (function (clientNames) {
6
+ clientNames["reactUi"] = "client-sdk-react-ui";
7
+ })(clientNames = exports.clientNames || (exports.clientNames = {}));
8
+ var baseUrls;
9
+ (function (baseUrls) {
10
+ baseUrls["prod"] = "https://www.crossmint.io";
11
+ baseUrls["dev"] = "http://localhost:3001";
12
+ })(baseUrls = exports.baseUrls || (exports.baseUrls = {}));
13
+ var customHeaders;
14
+ (function (customHeaders) {
15
+ customHeaders["clientVersion"] = "X-Client-Version";
16
+ customHeaders["clientName"] = "X-Client-Name";
17
+ })(customHeaders = exports.customHeaders || (exports.customHeaders = {}));
18
+ var theme;
19
+ (function (theme) {
20
+ theme["light"] = "light";
21
+ theme["dark"] = "dark";
22
+ })(theme || (theme = {}));
23
+ var mintingContractTypes;
24
+ (function (mintingContractTypes) {
25
+ mintingContractTypes["CANDY_MACHINE"] = "candy-machine";
26
+ mintingContractTypes["SOLANA_AUCTION"] = "solana-auction";
27
+ mintingContractTypes["ERC_721"] = "erc-721";
28
+ })(mintingContractTypes = exports.mintingContractTypes || (exports.mintingContractTypes = {}));
29
+ //# sourceMappingURL=types.js.map