@coinbase/cdp-react 0.0.6 → 0.0.8

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/README.md CHANGED
@@ -32,6 +32,13 @@ npm install @coinbase/cdp-react @coinbase/cdp-core @coinbase/cdp-hooks
32
32
  1. Sign in or create an account on the [CDP Portal](https://portal.cdp.coinbase.com)
33
33
  2. On your dashboard, select a project from the dropdown at the at the top, and copy the Project ID
34
34
 
35
+ ### Allowlist your local app
36
+
37
+ 1. Navigate to the [Embedded Wallet Configuration](https://portal.cdp.coinbase.com/products/embedded-wallets/cors)
38
+ in CDP Portal, and click Add origin to include your local app
39
+ 2. Enter the origin of your locally running app - e.g., `http://localhost:3000`
40
+ 3. Click Add origin again to save your changes
41
+
35
42
  ### Setup Provider
36
43
 
37
44
  Next, you need to wrap your application with the `CDPReactProvider`.
@@ -4,15 +4,15 @@ import { Form as R, FormSubmit as C } from "@radix-ui/react-form";
4
4
  import { useState as I, useEffect as T, useRef as F } from "react";
5
5
  import { Button as O } from "../Button/index.js";
6
6
  import { Field as B } from "../Field/index.js";
7
- import { withValidityState as x } from "../Input/index.js";
8
- import { OTP as V } from "../OTP/index.js";
7
+ import { OTP as x } from "../OTP/index.js";
9
8
  import { ServerError as b } from "../ServerError/index.js";
10
- import { IconCoinbaseWordmark as k } from "../../icons/IconCoinbaseWordmark.js";
9
+ import { IconCoinbaseWordmark as V } from "../../icons/IconCoinbaseWordmark.js";
11
10
  import { IconLock as W } from "../../icons/IconLock.js";
12
11
  import { isApiError as P } from "../../utils/isApiError.js";
13
- import { isEmailInvalid as D } from "../../utils/isEmailInvalid.js";
12
+ import { isEmailInvalid as k } from "../../utils/isEmailInvalid.js";
14
13
  import { s } from "../../chunks/SignIn.module.Dl3CqKQ_.js";
15
14
  import { useSignInContext as g } from "./SignInProvider.js";
15
+ import { withValidityState as D } from "../Input/index.js";
16
16
  import { LoadingSpinner as $ } from "../LoadingSpinner/index.js";
17
17
  import { VisuallyHidden as j } from "../VisuallyHidden/index.js";
18
18
  const q = ({ submit: u }) => {
@@ -32,9 +32,9 @@ const q = ({ submit: u }) => {
32
32
  validators: [
33
33
  ["valueMissing", "Email is required"],
34
34
  ["typeMismatch", "Use a valid email address"],
35
- [D, "Use a valid email address"]
35
+ [k, "Use a valid email address"]
36
36
  ],
37
- children: x({
37
+ children: D({
38
38
  type: "email",
39
39
  placeholder: "name@example.com",
40
40
  required: !0,
@@ -68,7 +68,7 @@ const q = ({ submit: u }) => {
68
68
  onSubmit: h,
69
69
  children: [
70
70
  /* @__PURE__ */ t(
71
- V,
71
+ x,
72
72
  {
73
73
  ref: c,
74
74
  name: "otp",
@@ -121,7 +121,7 @@ const q = ({ submit: u }) => {
121
121
  onSuccess: d,
122
122
  ...e
123
123
  }) => {
124
- const c = "An error occurred while signing in. Please try again.", [h, E] = I(0), [m, y] = I(!1), _ = U(), w = A(), { state: i, dispatch: l } = g(), L = (a) => {
124
+ const c = "An error occurred while signing in. Please try again.", [h, E] = I(0), [m, y] = I(!1), _ = U(), L = A(), { state: i, dispatch: l } = g(), N = (a) => {
125
125
  E(a), y(!0);
126
126
  };
127
127
  T(() => {
@@ -141,13 +141,13 @@ const q = ({ submit: u }) => {
141
141
  const { flowId: r } = await _({
142
142
  email: a
143
143
  });
144
- l({ type: "SUBMIT_EMAIL_SUCCESS", payload: { flowId: r } }), L(60);
144
+ l({ type: "SUBMIT_EMAIL_SUCCESS", payload: { flowId: r } }), N(60);
145
145
  } catch (r) {
146
146
  const S = P(r) ? r : r instanceof Error && r.message || c;
147
147
  l({ type: "SUBMIT_EMAIL_FAILURE", payload: { error: S } }), console.error(r);
148
148
  }
149
149
  }
150
- }, N = async (a) => {
150
+ }, w = async (a) => {
151
151
  if (!i.isPending) {
152
152
  if (a.length !== 6) {
153
153
  l({ type: "SET_OTP", payload: { otp: a } });
@@ -155,7 +155,7 @@ const q = ({ submit: u }) => {
155
155
  }
156
156
  l({ type: "SUBMIT_OTP", payload: { otp: a } });
157
157
  try {
158
- await w({
158
+ await L({
159
159
  flowId: i.flowId,
160
160
  otp: a
161
161
  }), l({ type: "SUBMIT_OTP_SUCCESS", payload: { otp: a } }), d?.();
@@ -169,14 +169,13 @@ const q = ({ submit: u }) => {
169
169
  };
170
170
  return /* @__PURE__ */ o(u, { className: `${s.form} ${n}`, ...e, children: [
171
171
  i.step === "email" && /* @__PURE__ */ t(q, { submit: v }),
172
- i.step === "otp" && /* @__PURE__ */ t(H, { submit: N, reset: M, resetCountdown: h }),
172
+ i.step === "otp" && /* @__PURE__ */ t(H, { submit: w, reset: M, resetCountdown: h }),
173
173
  /* @__PURE__ */ t("hr", { className: s.hr }),
174
174
  /* @__PURE__ */ o("div", { className: s.footer, children: [
175
175
  /* @__PURE__ */ t(W, { className: s.icon }),
176
176
  /* @__PURE__ */ o("p", { children: [
177
- "Secured by",
178
- " ",
179
- /* @__PURE__ */ t("a", { href: "https://www.coinbase.com/security", target: "_blank", rel: "noreferrer", children: /* @__PURE__ */ t(k, { className: s.coinbaseIcon, "aria-label": "Coinbase" }) })
177
+ "Secured by ",
178
+ /* @__PURE__ */ t(V, { className: s.coinbaseIcon, "aria-label": "Coinbase" })
180
179
  ] })
181
180
  ] })
182
181
  ] });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cdp-react",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "type": "module",
5
5
  "dependencies": {
6
6
  "@radix-ui/react-dialog": "^1.1.14",
@@ -9,8 +9,8 @@
9
9
  },
10
10
  "peerDependencies": {
11
11
  "react": ">=18.2.0",
12
- "@coinbase/cdp-hooks": "^0.0.6",
13
- "@coinbase/cdp-core": "^0.0.6"
12
+ "@coinbase/cdp-core": "^0.0.8",
13
+ "@coinbase/cdp-hooks": "^0.0.8"
14
14
  },
15
15
  "devDependencies": {
16
16
  "@size-limit/preset-big-lib": "^11.2.0",
@@ -34,20 +34,22 @@
34
34
  "vite": "^7.0.4",
35
35
  "vite-plugin-dts": "^4.5.4",
36
36
  "vite-plugin-lib-inject-css": "^2.2.2",
37
- "@coinbase/cdp-core": "^0.0.6",
38
- "@coinbase/cdp-hooks": "^0.0.6"
37
+ "@coinbase/cdp-hooks": "^0.0.8",
38
+ "@coinbase/cdp-core": "^0.0.8"
39
39
  },
40
40
  "size-limit": [
41
41
  {
42
42
  "name": "full-package",
43
43
  "path": "./dist/index.js",
44
44
  "import": "*",
45
+ "running": false,
45
46
  "limit": "65 KB"
46
47
  },
47
48
  {
48
49
  "name": "single-component",
49
50
  "path": "./dist/components/SignIn/index.js",
50
51
  "import": "{ SignIn }",
52
+ "running": false,
51
53
  "limit": "65 KB"
52
54
  }
53
55
  ],