@coinbase/cdp-react 0.0.58 → 0.0.60

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 (116) hide show
  1. package/dist/assets/Banner.css +1 -0
  2. package/dist/assets/CopyAddress.css +1 -0
  3. package/dist/assets/ExportWallet.css +1 -0
  4. package/dist/assets/ExportWalletModal.css +1 -0
  5. package/dist/assets/IframeButton.css +1 -0
  6. package/dist/assets/Input.css +1 -1
  7. package/dist/assets/LinkAuth.css +1 -0
  8. package/dist/assets/LinkAuthFlow.css +1 -0
  9. package/dist/assets/LinkAuthFlowBackButton.css +1 -0
  10. package/dist/assets/LinkAuthItem.css +1 -0
  11. package/dist/assets/LinkAuthItems.css +1 -0
  12. package/dist/assets/LinkAuthModal.css +1 -0
  13. package/dist/assets/LinkAuthTitle.css +1 -0
  14. package/dist/assets/SwitchSlideTransition.css +1 -1
  15. package/dist/chunks/LinkAuthFlow.BZtyaLN-.js +111 -0
  16. package/dist/components/CDPReactProvider/index.js +68 -55
  17. package/dist/components/CopyAddress/index.d.ts +8 -0
  18. package/dist/components/CopyAddress/index.js +61 -0
  19. package/dist/components/CopyEvmKeyButton/index.d.ts +13 -0
  20. package/dist/components/CopyEvmKeyButton/index.js +62 -0
  21. package/dist/components/CopySolanaKeyButton/index.d.ts +13 -0
  22. package/dist/components/CopySolanaKeyButton/index.js +62 -0
  23. package/dist/components/ExportWallet/index.d.ts +21 -0
  24. package/dist/components/ExportWallet/index.js +110 -0
  25. package/dist/components/ExportWalletModal/index.d.ts +18 -0
  26. package/dist/components/ExportWalletModal/index.js +96 -0
  27. package/dist/components/LinkAuth/LinkAuthFlow.d.ts +13 -0
  28. package/dist/components/LinkAuth/LinkAuthFlow.js +19 -0
  29. package/dist/components/LinkAuth/LinkAuthFlowBackButton.d.ts +9 -0
  30. package/dist/components/LinkAuth/LinkAuthFlowBackButton.js +40 -0
  31. package/dist/components/LinkAuth/LinkAuthFlowProvider.d.ts +33 -0
  32. package/dist/components/LinkAuth/LinkAuthFlowProvider.js +9 -0
  33. package/dist/components/LinkAuth/LinkAuthItem.d.ts +13 -0
  34. package/dist/components/LinkAuth/LinkAuthItem.js +48 -0
  35. package/dist/components/LinkAuth/LinkAuthItems.d.ts +9 -0
  36. package/dist/components/LinkAuth/LinkAuthItems.js +47 -0
  37. package/dist/components/LinkAuth/LinkAuthProvider.d.ts +12 -0
  38. package/dist/components/LinkAuth/LinkAuthProvider.js +108 -0
  39. package/dist/components/LinkAuth/LinkAuthTitle.d.ts +9 -0
  40. package/dist/components/LinkAuth/LinkAuthTitle.js +19 -0
  41. package/dist/components/LinkAuth/index.d.ts +17 -0
  42. package/dist/components/LinkAuth/index.js +93 -0
  43. package/dist/components/LinkAuth/types.d.ts +32 -0
  44. package/dist/components/LinkAuth/types.js +5 -0
  45. package/dist/components/LinkAuth/utils.d.ts +4 -0
  46. package/dist/components/LinkAuth/utils.js +7 -0
  47. package/dist/components/LinkAuthModal/index.d.ts +21 -0
  48. package/dist/components/LinkAuthModal/index.js +69 -0
  49. package/dist/components/OAuthStatusModal/index.d.ts +7 -1
  50. package/dist/components/OAuthStatusModal/index.js +115 -93
  51. package/dist/components/SignIn/SignInAuthMethodButtons.js +36 -34
  52. package/dist/components/SignIn/SignInForm.d.ts +2 -1
  53. package/dist/components/SignIn/SignInForm.js +19 -18
  54. package/dist/components/SignIn/SignInProvider.d.ts +2 -1
  55. package/dist/components/SignIn/SignInProvider.js +22 -17
  56. package/dist/components/SignIn/flows/SignInWithEmail.d.ts +1 -1
  57. package/dist/components/SignIn/flows/SignInWithEmail.js +66 -61
  58. package/dist/components/SignIn/flows/SignInWithSms.d.ts +1 -1
  59. package/dist/components/SignIn/flows/SignInWithSms.js +90 -2987
  60. package/dist/components/SignIn/hooks/useSignInWithOAuth.d.ts +0 -1
  61. package/dist/components/SignIn/hooks/useSignInWithOAuth.js +19 -20
  62. package/dist/components/SignIn/index.d.ts +3 -1
  63. package/dist/components/SignIn/index.js +16 -11
  64. package/dist/components/SignIn/types.d.ts +2 -0
  65. package/dist/components/SignIn/useSignInReducer.js +1 -0
  66. package/dist/components/SignInModal/index.d.ts +3 -1
  67. package/dist/components/SignInModal/index.js +72 -65
  68. package/dist/components/forms/Label/index.d.ts +2 -2
  69. package/dist/components/forms/PhoneNumberInput/index.js +24 -22
  70. package/dist/components/ui/Banner/index.d.ts +7 -0
  71. package/dist/components/ui/Banner/index.js +27 -0
  72. package/dist/components/ui/IframeButton/index.d.ts +11 -0
  73. package/dist/components/ui/IframeButton/index.js +50 -0
  74. package/dist/components/ui/Modal/index.js +22 -22
  75. package/dist/components/ui/SwitchTransition/index.d.ts +3 -1
  76. package/dist/components/ui/SwitchTransition/index.js +1 -1
  77. package/dist/hooks/useKeyExportPostMessage.d.ts +37 -0
  78. package/dist/hooks/useKeyExportPostMessage.js +86 -0
  79. package/dist/hooks/useTransitionMap.d.ts +50 -0
  80. package/dist/hooks/useTransitionMap.js +92 -0
  81. package/dist/icons/IconCopy.d.ts +2 -0
  82. package/dist/icons/IconCopy.js +10 -0
  83. package/dist/icons/index.d.ts +1 -0
  84. package/dist/icons/index.js +20 -18
  85. package/dist/index.d.ts +2 -2
  86. package/dist/index.js +122 -107
  87. package/dist/theme/theme.d.ts +33 -4
  88. package/dist/theme/tokens.d.ts +99 -12
  89. package/dist/theme/tokens.js +29 -12
  90. package/dist/types/secureIframe.d.ts +30 -0
  91. package/dist/types/secureIframe.js +13 -0
  92. package/dist/utils/childrenHasComponent.d.ts +1 -1
  93. package/dist/utils/formatPhoneNumber.d.ts +1 -0
  94. package/dist/utils/formatPhoneNumber.js +2910 -0
  95. package/dist/utils/index.d.ts +1 -0
  96. package/dist/utils/index.js +8 -6
  97. package/dist/utils/sendIframeMessage.d.ts +1 -0
  98. package/dist/utils/sendIframeMessage.js +13 -0
  99. package/dist/utils/transition.d.ts +30 -0
  100. package/dist/utils/transition.js +43 -0
  101. package/dist/version.d.ts +1 -1
  102. package/dist/version.js +1 -1
  103. package/package.json +8 -9
  104. package/dist/assets/ManageAuth.css +0 -1
  105. package/dist/assets/ManageAuthItem.css +0 -1
  106. package/dist/assets/ManageAuthModal.css +0 -1
  107. package/dist/components/ManageAuth/ManageAuthItem.d.ts +0 -9
  108. package/dist/components/ManageAuth/ManageAuthItem.js +0 -77
  109. package/dist/components/ManageAuth/ManageAuthProvider.d.ts +0 -8
  110. package/dist/components/ManageAuth/ManageAuthProvider.js +0 -64
  111. package/dist/components/ManageAuth/index.d.ts +0 -9
  112. package/dist/components/ManageAuth/index.js +0 -51
  113. package/dist/components/ManageAuth/types.d.ts +0 -13
  114. package/dist/components/ManageAuth/types.js +0 -1
  115. package/dist/components/ManageAuthModal/index.d.ts +0 -20
  116. package/dist/components/ManageAuthModal/index.js +0 -53
@@ -0,0 +1,37 @@
1
+ import { RefObject } from 'react';
2
+ import { ButtonProps } from '../components/ui/Button';
3
+ import { SecureIframeStatus, SecureIframeEventType, SecureIframeIncomingMessage, SecureIframeOutgoingMessage } from '../types/secureIframe';
4
+ export declare const SECURE_IFRAME_KEY_EXPORT_EVENT_TYPE: Readonly<{
5
+ GET_PRIVATE_KEY: "CDP_WEB_SECURE_IFRAME_GET_PRIVATE_KEY";
6
+ INIT: "CDP_WEB_SECURE_IFRAME_INIT";
7
+ LISTENING: "CDP_WEB_SECURE_IFRAME_LISTENING";
8
+ STATUS: "CDP_WEB_SECURE_IFRAME_STATUS";
9
+ }>;
10
+ export type SecureIframeKeyExportEventType = SecureIframeEventType & typeof SECURE_IFRAME_KEY_EXPORT_EVENT_TYPE;
11
+ export type SecureIframeGetPrivateKeyMessage = {
12
+ type: SecureIframeKeyExportEventType["GET_PRIVATE_KEY"];
13
+ payload: {
14
+ address: string;
15
+ type: "evm" | "solana";
16
+ };
17
+ };
18
+ export type SecureIframeKeyExportIncomingMessage = SecureIframeIncomingMessage | SecureIframeGetPrivateKeyMessage;
19
+ export type SecureIframeKeyExportOutgoingMessage = SecureIframeOutgoingMessage;
20
+ export interface UseKeyExportPostMessageProps extends Pick<ButtonProps, "variant" | "size"> {
21
+ address: string;
22
+ type: "evm" | "solana";
23
+ basePath?: string;
24
+ projectId: string;
25
+ label?: string;
26
+ copiedLabel?: string;
27
+ icon: boolean;
28
+ iframeRef: RefObject<HTMLIFrameElement | null>;
29
+ onStatusUpdate?: (status: SecureIframeStatus, message?: string) => void;
30
+ }
31
+ export declare const sendKeyExportMessage: (el: HTMLIFrameElement | null, message: SecureIframeKeyExportIncomingMessage) => void;
32
+ export declare const isKeyExportMessage: (message: unknown) => message is SecureIframeKeyExportIncomingMessage | SecureIframeKeyExportOutgoingMessage;
33
+ export declare const useKeyExportPostMessage: ({ address, basePath, copiedLabel, icon, iframeRef, label, onStatusUpdate, projectId, size, type, variant, }: UseKeyExportPostMessageProps) => {
34
+ iframeUrl: string;
35
+ onLoad: () => Promise<void>;
36
+ isPending: boolean;
37
+ };
@@ -0,0 +1,86 @@
1
+ import { getAccessToken as k, getAccessTokenExpiration as w } from "@coinbase/cdp-core";
2
+ import { useCurrentUser as K } from "@coinbase/cdp-hooks";
3
+ import { useState as $, useMemo as x, useCallback as T, useEffect as C } from "react";
4
+ import { useTheme as Y } from "../components/ThemeProvider/index.js";
5
+ import "../components/ui/Button/index.js";
6
+ import { SECURE_IFRAME_EVENT_TYPE_PREFIX as h, SECURE_IFRAME_EVENT_TYPE as N } from "../types/secureIframe.js";
7
+ import "libphonenumber-js";
8
+ import { sendIframeMessage as V } from "../utils/sendIframeMessage.js";
9
+ const I = "https://secure.cdp.coinbase.com", i = Object.freeze({
10
+ ...N,
11
+ GET_PRIVATE_KEY: `${h}GET_PRIVATE_KEY`
12
+ }), A = (t, o) => {
13
+ V(t, o);
14
+ }, F = (t) => typeof t == "object" && t !== null && "type" in t && typeof t.type == "string" && !!i[t.type.replace(
15
+ h,
16
+ ""
17
+ )], D = ({
18
+ address: t,
19
+ basePath: o = I,
20
+ copiedLabel: c,
21
+ icon: d,
22
+ iframeRef: n,
23
+ label: E,
24
+ onStatusUpdate: _,
25
+ projectId: a,
26
+ size: p,
27
+ type: f,
28
+ variant: u
29
+ }) => {
30
+ const { currentUser: s } = K(), { theme: y } = Y(), [U, P] = $(!0), R = x(() => {
31
+ const e = ["fullWidth"];
32
+ return a && e.push(`projectId=${a.trim()}`), u && e.push(`variant=${u.trim()}`), p && e.push(`size=${p.trim()}`), E && e.push(`label=${encodeURIComponent(E.trim())}`), c && e.push(`copiedLabel=${encodeURIComponent(c.trim())}`), d && e.push("icon"), `${o}?${e.join("&")}`;
33
+ }, [a, u, p, E, c, d, o]), M = T(async () => {
34
+ if (!s || !n.current) return;
35
+ const e = await k(), r = await w();
36
+ A(n.current, {
37
+ type: i.INIT,
38
+ payload: {
39
+ authState: {
40
+ accessToken: e || "",
41
+ expiresAt: r || 0,
42
+ user: s
43
+ },
44
+ theme: y
45
+ }
46
+ });
47
+ }, [s, y, n]), g = T(() => {
48
+ s && A(n.current, {
49
+ type: i.GET_PRIVATE_KEY,
50
+ payload: { address: t, type: f }
51
+ });
52
+ }, [s, t, f, n]), l = T(
53
+ (e, r) => {
54
+ _?.(e, r), e !== "pending" && P(!1);
55
+ },
56
+ [_]
57
+ );
58
+ return C(() => {
59
+ const e = (r) => {
60
+ let m = "";
61
+ try {
62
+ m = new URL(o || I).origin;
63
+ } catch (S) {
64
+ console.error("Error parsing iframe origin", S);
65
+ }
66
+ if (!(!m || r.origin !== m) && F(r.data))
67
+ switch (r.data?.type) {
68
+ case i.LISTENING:
69
+ g();
70
+ break;
71
+ case i.STATUS:
72
+ l(r.data.payload.status, r.data.payload.message);
73
+ break;
74
+ }
75
+ };
76
+ return window.addEventListener("message", e), () => {
77
+ window.removeEventListener("message", e);
78
+ };
79
+ }, [g, l, o]), { iframeUrl: R, onLoad: M, isPending: U };
80
+ };
81
+ export {
82
+ i as SECURE_IFRAME_KEY_EXPORT_EVENT_TYPE,
83
+ F as isKeyExportMessage,
84
+ A as sendKeyExportMessage,
85
+ D as useKeyExportPostMessage
86
+ };
@@ -0,0 +1,50 @@
1
+ import { TransitionState } from '../utils/transition';
2
+ export interface TransitionOptions {
3
+ initialEntered?: boolean;
4
+ mountOnEnter?: boolean;
5
+ unmountOnExit?: boolean;
6
+ preEnter?: boolean;
7
+ preExit?: boolean;
8
+ enter?: boolean;
9
+ exit?: boolean;
10
+ timeout?: number | {
11
+ enter: number;
12
+ exit: number;
13
+ };
14
+ onStateChange?: (event: {
15
+ current: TransitionState;
16
+ }) => void;
17
+ }
18
+ export interface TransitionItemOptions {
19
+ initialEntered?: boolean;
20
+ }
21
+ export interface TransitionMapOptions<K> extends Omit<TransitionOptions, "onStateChange"> {
22
+ allowMultiple?: boolean;
23
+ onStateChange?: (event: {
24
+ key: K;
25
+ current: TransitionState;
26
+ }) => void;
27
+ }
28
+ export interface TransitionMapResult<K> {
29
+ stateMap: ReadonlyMap<K, TransitionState>;
30
+ toggle: (key: K, toEnter?: boolean) => void;
31
+ toggleAll: (toEnter?: boolean) => void;
32
+ endTransition: (key: K) => void;
33
+ setItem: (key: K, options?: TransitionItemOptions) => void;
34
+ deleteItem: (key: K) => boolean;
35
+ }
36
+ declare const useTransitionMap: <K>(options?: TransitionMapOptions<K>) => {
37
+ stateMap: Map<K, Readonly<{
38
+ _s: number;
39
+ status: import('../utils/transition').TransitionStatus;
40
+ isMounted: boolean;
41
+ isEnter: boolean;
42
+ isResolved: boolean;
43
+ }>>;
44
+ toggle: (key: K, toEnter?: boolean) => void;
45
+ toggleAll: (toEnter?: boolean) => void;
46
+ endTransition: (key: K) => void;
47
+ setItem: (key: K, config?: TransitionItemOptions) => void;
48
+ deleteItem: (key: K) => boolean;
49
+ };
50
+ export { useTransitionMap };
@@ -0,0 +1,92 @@
1
+ import { useState as F, useRef as h, useCallback as u } from "react";
2
+ import { getTimeout as q, getEndStatus as z, getState as B, PRE_EXIT as D, nextTick as H, PRE_ENTER as C, EXITING as V, ENTERING as j, ENTERED as A, startOrEnd as G } from "../utils/transition.js";
3
+ const w = (f, s, l, c, o, E) => {
4
+ o && (clearTimeout(o), cancelAnimationFrame(o));
5
+ const p = B(s), a = new Map(c.current);
6
+ a.set(f, p), l(a), c.current = a, E?.({ key: f, current: p });
7
+ }, L = (f = {}) => {
8
+ const {
9
+ allowMultiple: s,
10
+ enter: l = !0,
11
+ exit: c = !0,
12
+ preEnter: o,
13
+ preExit: E,
14
+ timeout: p = 200,
15
+ initialEntered: a,
16
+ mountOnEnter: _,
17
+ unmountOnExit: m,
18
+ onStateChange: d
19
+ } = f, [x, g] = F(/* @__PURE__ */ new Map()), n = h(x), T = h(/* @__PURE__ */ new Map()), [I, O] = q(p), P = u(
20
+ (t, e) => {
21
+ const { initialEntered: i = a } = e || {}, r = i ? A : G(_ ?? !1);
22
+ w(t, r, g, n), T.current.set(t, {});
23
+ },
24
+ [a, _]
25
+ ), X = u((t) => {
26
+ const e = new Map(n.current);
27
+ return e.delete(t) ? (g(e), n.current = e, T.current.delete(t), !0) : !1;
28
+ }, []), M = u(
29
+ (t) => {
30
+ const e = n.current.get(t);
31
+ if (!e) {
32
+ process.env.NODE_ENV !== "production" && process.env.NODE_ENV !== "test" && console.error(`[React-Transition-State] invalid key: ${t}`);
33
+ return;
34
+ }
35
+ const { timerId: i } = T.current.get(t) ?? {}, r = z(e._s, m ?? !1);
36
+ r && w(t, r, g, n, i, d);
37
+ },
38
+ [d, m]
39
+ ), N = u(
40
+ (t, e) => {
41
+ const i = n.current.get(t);
42
+ if (!i) {
43
+ process.env.NODE_ENV !== "production" && console.error(`[React-Transition-State] invalid key: ${t}`);
44
+ return;
45
+ }
46
+ const r = T.current.get(t), R = (S) => {
47
+ switch (w(t, S, g, n, r.timerId, d), S) {
48
+ case j:
49
+ I >= 0 && (r.timerId = setTimeout(() => M(t), I));
50
+ break;
51
+ case V:
52
+ O >= 0 && (r.timerId = setTimeout(() => M(t), O));
53
+ break;
54
+ case C:
55
+ case D:
56
+ r.timerId = H(R, S);
57
+ break;
58
+ }
59
+ }, b = i.isEnter;
60
+ typeof e != "boolean" && (e = !b), e ? b || (R(l ? o ? C : j : A), s || n.current.forEach((S, v) => v !== t && N(v, !1))) : b && R(c ? E ? D : V : G(m ?? !1));
61
+ },
62
+ [
63
+ d,
64
+ M,
65
+ s,
66
+ l,
67
+ c,
68
+ o,
69
+ E,
70
+ I,
71
+ O,
72
+ m
73
+ ]
74
+ ), $ = u(
75
+ (t) => {
76
+ if (!(!s && t !== !1))
77
+ for (const e of n.current.keys()) N(e, t);
78
+ },
79
+ [s, N]
80
+ );
81
+ return {
82
+ stateMap: x,
83
+ toggle: N,
84
+ toggleAll: $,
85
+ endTransition: M,
86
+ setItem: P,
87
+ deleteItem: X
88
+ };
89
+ };
90
+ export {
91
+ L as useTransitionMap
92
+ };
@@ -0,0 +1,2 @@
1
+ import { SVGProps } from 'react';
2
+ export declare const IconCopy: (props: Omit<SVGProps<SVGSVGElement>, "viewBox">) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { jsxs as t, jsx as o } from "react/jsx-runtime";
2
+ import "react";
3
+ import { SvgIcon as i } from "./SvgIcon.js";
4
+ const e = (r) => /* @__PURE__ */ t(i, { width: "14", height: "14", viewBox: "0 0 14 14", fill: "currentColor", ...r, children: [
5
+ /* @__PURE__ */ o("path", { d: "M0 11V0H11V11H0ZM1.6 1.6V9.4H9.4V1.6H1.6Z" }),
6
+ /* @__PURE__ */ o("path", { d: "M3 14V12.4H12.4V3H14V14H3Z" })
7
+ ] });
8
+ export {
9
+ e as IconCopy
10
+ };
@@ -4,6 +4,7 @@ export * from './IconArrowsUpDown';
4
4
  export * from './IconCheck';
5
5
  export * from './IconCheckCircle';
6
6
  export * from './IconChevronDown';
7
+ export * from './IconCopy';
7
8
  export * from './IconEnvelope';
8
9
  export * from './IconExclamationCircle';
9
10
  export * from './IconExclamationTriangle';
@@ -4,15 +4,16 @@ import { IconArrowsUpDown as t } from "./IconArrowsUpDown.js";
4
4
  import { IconCheck as x } from "./IconCheck.js";
5
5
  import { IconCheckCircle as I } from "./IconCheckCircle.js";
6
6
  import { IconChevronDown as a } from "./IconChevronDown.js";
7
- import { IconEnvelope as C } from "./IconEnvelope.js";
8
- import { IconExclamationCircle as h } from "./IconExclamationCircle.js";
9
- import { IconExclamationTriangle as w } from "./IconExclamationTriangle.js";
10
- import { IconGoogleLogo as s } from "./IconGoogleLogo.js";
11
- import { IconLock as E } from "./IconLock.js";
12
- import { IconPhone as v } from "./IconPhone.js";
13
- import { IconXMark as M } from "./IconXMark.js";
14
- import { IconMinus as G } from "./IconMinus.js";
15
- import { IconPlus as U } from "./IconPlus.js";
7
+ import { IconCopy as C } from "./IconCopy.js";
8
+ import { IconEnvelope as h } from "./IconEnvelope.js";
9
+ import { IconExclamationCircle as w } from "./IconExclamationCircle.js";
10
+ import { IconExclamationTriangle as s } from "./IconExclamationTriangle.js";
11
+ import { IconGoogleLogo as E } from "./IconGoogleLogo.js";
12
+ import { IconLock as v } from "./IconLock.js";
13
+ import { IconPhone as M } from "./IconPhone.js";
14
+ import { IconXMark as y } from "./IconXMark.js";
15
+ import { IconMinus as T } from "./IconMinus.js";
16
+ import { IconPlus as X } from "./IconPlus.js";
16
17
  export {
17
18
  e as IconAppleLogo,
18
19
  c as IconArrowLeft,
@@ -20,13 +21,14 @@ export {
20
21
  x as IconCheck,
21
22
  I as IconCheckCircle,
22
23
  a as IconChevronDown,
23
- C as IconEnvelope,
24
- h as IconExclamationCircle,
25
- w as IconExclamationTriangle,
26
- s as IconGoogleLogo,
27
- E as IconLock,
28
- G as IconMinus,
29
- v as IconPhone,
30
- U as IconPlus,
31
- M as IconXMark
24
+ C as IconCopy,
25
+ h as IconEnvelope,
26
+ w as IconExclamationCircle,
27
+ s as IconExclamationTriangle,
28
+ E as IconGoogleLogo,
29
+ v as IconLock,
30
+ T as IconMinus,
31
+ M as IconPhone,
32
+ X as IconPlus,
33
+ y as IconXMark
32
34
  };
package/dist/index.d.ts CHANGED
@@ -2,8 +2,8 @@ export * from './components/AuthButton';
2
2
  export * from './components/CDPReactProvider';
3
3
  export * from './components/Fund';
4
4
  export * from './components/FundModal';
5
- export * from './components/ManageAuth';
6
- export * from './components/ManageAuthModal';
5
+ export * from './components/LinkAuth';
6
+ export * from './components/LinkAuthModal';
7
7
  export * from './components/SendEvmTransactionButton';
8
8
  export * from './components/SendSolanaTransactionButton';
9
9
  export * from './components/SignIn';
package/dist/index.js CHANGED
@@ -1,36 +1,36 @@
1
1
  import { A as o } from "./chunks/useSendComponentCallOnce.BHZMuo6E.js";
2
2
  import "react";
3
3
  import { VERSION as r } from "./version.js";
4
- import { AuthButton as p } from "./components/AuthButton/index.js";
5
- import { ALL_AUTH_METHODS as i, AUTH_METHODS as x, CDPReactProvider as s, OAUTH_METHODS as l, useAppConfig as u, useProviderName as c } from "./components/CDPReactProvider/index.js";
6
- import { Fund as d, FundFooter as I } from "./components/Fund/index.js";
7
- import { FundModal as S, FundModalContent as T, FundModalTrigger as A } from "./components/FundModal/index.js";
8
- import { unstable_ManageAuth as h, unstable_ManageAuthContent as F } from "./components/ManageAuth/index.js";
9
- import { unstable_ManageAuthItem as E } from "./components/ManageAuth/ManageAuthItem.js";
10
- import { unstable_ManageAuthModal as k, unstable_ManageAuthModalContent as B, unstable_ManageAuthModalTrigger as D } from "./components/ManageAuthModal/index.js";
11
- import { SendEvmTransactionButton as v } from "./components/SendEvmTransactionButton/index.js";
12
- import { SendSolanaTransactionButton as H } from "./components/SendSolanaTransactionButton/index.js";
13
- import { SignIn as R } from "./components/SignIn/index.js";
14
- import { useSignInReducer as U } from "./components/SignIn/useSignInReducer.js";
15
- import { SignInModal as N, SignInModalContent as j, SignInModalTrigger as y } from "./components/SignInModal/index.js";
16
- import { SignOutButton as X } from "./components/SignOutButton/index.js";
17
- import { ThemeProvider as z, useTheme as J } from "./components/ThemeProvider/index.js";
18
- import { Button as Q } from "./components/ui/Button/index.js";
19
- import { Modal as Y, ModalClose as Z, ModalContent as $, ModalDescription as oo, ModalTitle as ro, ModalTrigger as eo } from "./components/ui/Modal/index.js";
20
- import { cssVariables as no } from "./theme/cssVariables.js";
21
- import { theme as ao } from "./theme/theme.js";
22
- import { borderRadius as fo, borderRadiusComponents as io, borderRadiusSemantic as xo, colors as so, colorsBase as lo, colorsComponents as uo, colorsSemantic as co, font as go, fontComponents as Io, fontSemantic as Mo, tokens as So } from "./theme/tokens.js";
23
- import { flattenTokensObject as Ao, themeToCssVariables as Co } from "./theme/utils.js";
24
- import { IconAppleLogo as Fo } from "./icons/IconAppleLogo.js";
25
- import { IconArrowLeft as Eo } from "./icons/IconArrowLeft.js";
26
- import { IconArrowsUpDown as ko } from "./icons/IconArrowsUpDown.js";
27
- import { IconCheck as Do } from "./icons/IconCheck.js";
28
- import { IconCheckCircle as vo } from "./icons/IconCheckCircle.js";
29
- import { IconChevronDown as Ho } from "./icons/IconChevronDown.js";
4
+ import { AuthButton as i } from "./components/AuthButton/index.js";
5
+ import { ALL_AUTH_METHODS as x, AUTH_METHODS as a, CDPReactProvider as s, OAUTH_METHODS as u, useAppConfig as l, useProviderName as c } from "./components/CDPReactProvider/index.js";
6
+ import { Fund as I, FundFooter as g } from "./components/Fund/index.js";
7
+ import { FundModal as h, FundModalContent as S, FundModalTrigger as M } from "./components/FundModal/index.js";
8
+ import { LinkAuth as T, LinkAuthError as C } from "./components/LinkAuth/index.js";
9
+ import { LinkAuthModal as F, LinkAuthModalContent as E, LinkAuthModalTrigger as B } from "./components/LinkAuthModal/index.js";
10
+ import { SendEvmTransactionButton as D } from "./components/SendEvmTransactionButton/index.js";
11
+ import { SendSolanaTransactionButton as b } from "./components/SendSolanaTransactionButton/index.js";
12
+ import { SignIn as O } from "./components/SignIn/index.js";
13
+ import { useSignInReducer as R } from "./components/SignIn/useSignInReducer.js";
14
+ import { SignInModal as V, SignInModalContent as _, SignInModalTrigger as N } from "./components/SignInModal/index.js";
15
+ import { SignOutButton as j } from "./components/SignOutButton/index.js";
16
+ import { ThemeProvider as X, useTheme as q } from "./components/ThemeProvider/index.js";
17
+ import { Button as J } from "./components/ui/Button/index.js";
18
+ import { Modal as Q, ModalClose as W, ModalContent as Y, ModalDescription as Z, ModalTitle as $, ModalTrigger as oo } from "./components/ui/Modal/index.js";
19
+ import { cssVariables as eo } from "./theme/cssVariables.js";
20
+ import { theme as no } from "./theme/theme.js";
21
+ import { borderRadius as po, borderRadiusComponents as io, borderRadiusSemantic as fo, colors as xo, colorsBase as ao, colorsComponents as so, colorsSemantic as uo, font as lo, fontComponents as co, fontSemantic as Io, tokens as go } from "./theme/tokens.js";
22
+ import { flattenTokensObject as ho, themeToCssVariables as So } from "./theme/utils.js";
23
+ import { IconAppleLogo as ko } from "./icons/IconAppleLogo.js";
24
+ import { IconArrowLeft as Co } from "./icons/IconArrowLeft.js";
25
+ import { IconArrowsUpDown as Fo } from "./icons/IconArrowsUpDown.js";
26
+ import { IconCheck as Bo } from "./icons/IconCheck.js";
27
+ import { IconCheckCircle as Do } from "./icons/IconCheckCircle.js";
28
+ import { IconChevronDown as bo } from "./icons/IconChevronDown.js";
29
+ import { IconCopy as Oo } from "./icons/IconCopy.js";
30
30
  import { IconEnvelope as Ro } from "./icons/IconEnvelope.js";
31
- import { IconExclamationCircle as Uo } from "./icons/IconExclamationCircle.js";
31
+ import { IconExclamationCircle as Vo } from "./icons/IconExclamationCircle.js";
32
32
  import { IconExclamationTriangle as No } from "./icons/IconExclamationTriangle.js";
33
- import { IconGoogleLogo as yo } from "./icons/IconGoogleLogo.js";
33
+ import { IconGoogleLogo as jo } from "./icons/IconGoogleLogo.js";
34
34
  import { IconLock as Xo } from "./icons/IconLock.js";
35
35
  import { IconPhone as zo } from "./icons/IconPhone.js";
36
36
  import { IconXMark as Ko } from "./icons/IconXMark.js";
@@ -39,100 +39,115 @@ import { IconPlus as Zo } from "./icons/IconPlus.js";
39
39
  import { clamp as or } from "./utils/clamp.js";
40
40
  import { getMessageFromUnknownError as er } from "./utils/getMessageFromUnknownError.js";
41
41
  import { isApiError as nr } from "./utils/isApiError.js";
42
- import { isEmailInvalid as ar } from "./utils/isEmailInvalid.js";
42
+ import { isEmailInvalid as pr } from "./utils/isEmailInvalid.js";
43
43
  import { parseValuesFromPhoneNumber as fr } from "./utils/parseValuesFromPhoneNumber.js";
44
- import { FundForm as xr } from "./components/Fund/FundForm.js";
45
- import { FundTitle as lr } from "./components/Fund/FundTitle.js";
46
- import { useFundContext as cr } from "./components/Fund/FundProvider.js";
47
- import { SignInAuthMethodButtons as dr } from "./components/SignIn/SignInAuthMethodButtons.js";
48
- import { SignInBackButton as Mr } from "./components/SignIn/SignInBackButton.js";
49
- import { SignInDescription as Tr } from "./components/SignIn/SignInDescription.js";
50
- import { SignInFooter as Cr } from "./components/SignIn/SignInFooter.js";
51
- import { SignInForm as Fr } from "./components/SignIn/SignInForm.js";
52
- import { SignInImage as Er } from "./components/SignIn/SignInImage.js";
53
- import { SignInTitle as kr } from "./components/SignIn/SignInTitle.js";
54
- import { useSignInContext as Dr } from "./components/SignIn/SignInProvider.js";
44
+ import { sendIframeMessage as ar } from "./utils/sendIframeMessage.js";
45
+ import { FundForm as ur } from "./components/Fund/FundForm.js";
46
+ import { FundTitle as cr } from "./components/Fund/FundTitle.js";
47
+ import { useFundContext as Ir } from "./components/Fund/FundProvider.js";
48
+ import { L as Ar, u as hr } from "./chunks/LinkAuthFlow.BZtyaLN-.js";
49
+ import { LinkAuthFlowBackButton as Mr } from "./components/LinkAuth/LinkAuthFlowBackButton.js";
50
+ import { LinkAuthItem as Tr } from "./components/LinkAuth/LinkAuthItem.js";
51
+ import { LinkAuthItems as Lr } from "./components/LinkAuth/LinkAuthItems.js";
52
+ import { LinkAuthTitle as Er } from "./components/LinkAuth/LinkAuthTitle.js";
53
+ import { useLinkAuthContext as wr } from "./components/LinkAuth/LinkAuthProvider.js";
54
+ import { SignInAuthMethodButtons as Pr } from "./components/SignIn/SignInAuthMethodButtons.js";
55
+ import { SignInBackButton as vr } from "./components/SignIn/SignInBackButton.js";
56
+ import { SignInDescription as Hr } from "./components/SignIn/SignInDescription.js";
57
+ import { SignInFooter as Ur } from "./components/SignIn/SignInFooter.js";
58
+ import { SignInForm as _r } from "./components/SignIn/SignInForm.js";
59
+ import { SignInImage as yr } from "./components/SignIn/SignInImage.js";
60
+ import { SignInTitle as Gr } from "./components/SignIn/SignInTitle.js";
61
+ import { useSignInContext as qr } from "./components/SignIn/SignInProvider.js";
55
62
  o.registerPackageVersion("react", r);
56
63
  export {
57
- i as ALL_AUTH_METHODS,
58
- x as AUTH_METHODS,
59
- p as AuthButton,
60
- Q as Button,
64
+ x as ALL_AUTH_METHODS,
65
+ a as AUTH_METHODS,
66
+ i as AuthButton,
67
+ J as Button,
61
68
  s as CDPReactProvider,
62
- d as Fund,
63
- I as FundFooter,
64
- xr as FundForm,
65
- S as FundModal,
66
- T as FundModalContent,
67
- A as FundModalTrigger,
68
- lr as FundTitle,
69
- Fo as IconAppleLogo,
70
- Eo as IconArrowLeft,
71
- ko as IconArrowsUpDown,
72
- Do as IconCheck,
73
- vo as IconCheckCircle,
74
- Ho as IconChevronDown,
69
+ I as Fund,
70
+ g as FundFooter,
71
+ ur as FundForm,
72
+ h as FundModal,
73
+ S as FundModalContent,
74
+ M as FundModalTrigger,
75
+ cr as FundTitle,
76
+ ko as IconAppleLogo,
77
+ Co as IconArrowLeft,
78
+ Fo as IconArrowsUpDown,
79
+ Bo as IconCheck,
80
+ Do as IconCheckCircle,
81
+ bo as IconChevronDown,
82
+ Oo as IconCopy,
75
83
  Ro as IconEnvelope,
76
- Uo as IconExclamationCircle,
84
+ Vo as IconExclamationCircle,
77
85
  No as IconExclamationTriangle,
78
- yo as IconGoogleLogo,
86
+ jo as IconGoogleLogo,
79
87
  Xo as IconLock,
80
88
  Wo as IconMinus,
81
89
  zo as IconPhone,
82
90
  Zo as IconPlus,
83
91
  Ko as IconXMark,
84
- Y as Modal,
85
- Z as ModalClose,
86
- $ as ModalContent,
87
- oo as ModalDescription,
88
- ro as ModalTitle,
89
- eo as ModalTrigger,
90
- l as OAUTH_METHODS,
91
- v as SendEvmTransactionButton,
92
- H as SendSolanaTransactionButton,
93
- R as SignIn,
94
- dr as SignInAuthMethodButtons,
95
- Mr as SignInBackButton,
96
- Tr as SignInDescription,
97
- Cr as SignInFooter,
98
- Fr as SignInForm,
99
- Er as SignInImage,
100
- N as SignInModal,
101
- j as SignInModalContent,
102
- y as SignInModalTrigger,
103
- kr as SignInTitle,
104
- X as SignOutButton,
105
- z as ThemeProvider,
106
- fo as borderRadius,
92
+ T as LinkAuth,
93
+ C as LinkAuthError,
94
+ Ar as LinkAuthFlow,
95
+ Mr as LinkAuthFlowBackButton,
96
+ Tr as LinkAuthItem,
97
+ Lr as LinkAuthItems,
98
+ F as LinkAuthModal,
99
+ E as LinkAuthModalContent,
100
+ B as LinkAuthModalTrigger,
101
+ Er as LinkAuthTitle,
102
+ Q as Modal,
103
+ W as ModalClose,
104
+ Y as ModalContent,
105
+ Z as ModalDescription,
106
+ $ as ModalTitle,
107
+ oo as ModalTrigger,
108
+ u as OAUTH_METHODS,
109
+ D as SendEvmTransactionButton,
110
+ b as SendSolanaTransactionButton,
111
+ O as SignIn,
112
+ Pr as SignInAuthMethodButtons,
113
+ vr as SignInBackButton,
114
+ Hr as SignInDescription,
115
+ Ur as SignInFooter,
116
+ _r as SignInForm,
117
+ yr as SignInImage,
118
+ V as SignInModal,
119
+ _ as SignInModalContent,
120
+ N as SignInModalTrigger,
121
+ Gr as SignInTitle,
122
+ j as SignOutButton,
123
+ X as ThemeProvider,
124
+ po as borderRadius,
107
125
  io as borderRadiusComponents,
108
- xo as borderRadiusSemantic,
126
+ fo as borderRadiusSemantic,
109
127
  or as clamp,
110
- so as colors,
111
- lo as colorsBase,
112
- uo as colorsComponents,
113
- co as colorsSemantic,
114
- no as cssVariables,
115
- Ao as flattenTokensObject,
116
- go as font,
117
- Io as fontComponents,
118
- Mo as fontSemantic,
128
+ xo as colors,
129
+ ao as colorsBase,
130
+ so as colorsComponents,
131
+ uo as colorsSemantic,
132
+ eo as cssVariables,
133
+ ho as flattenTokensObject,
134
+ lo as font,
135
+ co as fontComponents,
136
+ Io as fontSemantic,
119
137
  er as getMessageFromUnknownError,
120
138
  nr as isApiError,
121
- ar as isEmailInvalid,
139
+ pr as isEmailInvalid,
122
140
  fr as parseValuesFromPhoneNumber,
123
- ao as theme,
124
- Co as themeToCssVariables,
125
- So as tokens,
126
- h as unstable_ManageAuth,
127
- F as unstable_ManageAuthContent,
128
- E as unstable_ManageAuthItem,
129
- k as unstable_ManageAuthModal,
130
- B as unstable_ManageAuthModalContent,
131
- D as unstable_ManageAuthModalTrigger,
132
- u as useAppConfig,
133
- cr as useFundContext,
141
+ ar as sendIframeMessage,
142
+ no as theme,
143
+ So as themeToCssVariables,
144
+ go as tokens,
145
+ l as useAppConfig,
146
+ Ir as useFundContext,
147
+ wr as useLinkAuthContext,
148
+ hr as useLinkAuthFlow,
134
149
  c as useProviderName,
135
- Dr as useSignInContext,
136
- U as useSignInReducer,
137
- J as useTheme
150
+ qr as useSignInContext,
151
+ R as useSignInReducer,
152
+ q as useTheme
138
153
  };