@renown/sdk 6.0.0-dev.23 → 6.0.0-dev.230

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 (197) hide show
  1. package/README.md +47 -437
  2. package/dist/index.d.ts +77 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +173 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/node.d.ts +136 -0
  7. package/dist/node.d.ts.map +1 -0
  8. package/dist/node.js +305 -0
  9. package/dist/node.js.map +1 -0
  10. package/dist/renown-builder-EmbIygby.js +819 -0
  11. package/dist/renown-builder-EmbIygby.js.map +1 -0
  12. package/dist/utils-BGF8Qb5f.d.ts +689 -0
  13. package/dist/utils-BGF8Qb5f.d.ts.map +1 -0
  14. package/package.json +15 -38
  15. package/dist/e2e/fixtures/main.d.ts +0 -2
  16. package/dist/e2e/fixtures/main.d.ts.map +0 -1
  17. package/dist/e2e/fixtures/main.js +0 -97
  18. package/dist/e2e/fixtures/main.js.map +0 -1
  19. package/dist/e2e/fixtures/vite.config.d.ts +0 -3
  20. package/dist/e2e/fixtures/vite.config.d.ts.map +0 -1
  21. package/dist/e2e/fixtures/vite.config.js +0 -10
  22. package/dist/e2e/fixtures/vite.config.js.map +0 -1
  23. package/dist/e2e/renown-components.spec.d.ts +0 -2
  24. package/dist/e2e/renown-components.spec.d.ts.map +0 -1
  25. package/dist/e2e/renown-components.spec.js +0 -155
  26. package/dist/e2e/renown-components.spec.js.map +0 -1
  27. package/dist/playwright.config.d.ts +0 -3
  28. package/dist/playwright.config.d.ts.map +0 -1
  29. package/dist/playwright.config.js +0 -25
  30. package/dist/playwright.config.js.map +0 -1
  31. package/dist/src/assets/assets.d.ts +0 -19
  32. package/dist/src/assets/renown-hover.svg +0 -17
  33. package/dist/src/assets/renown-light.svg +0 -15
  34. package/dist/src/assets/renown-short-hover.png +0 -0
  35. package/dist/src/assets/renown-short.png +0 -0
  36. package/dist/src/assets/renown.svg +0 -16
  37. package/dist/src/common.d.ts +0 -15
  38. package/dist/src/common.d.ts.map +0 -1
  39. package/dist/src/common.js +0 -105
  40. package/dist/src/common.js.map +0 -1
  41. package/dist/src/components/RenownAuthButton.d.ts +0 -62
  42. package/dist/src/components/RenownAuthButton.d.ts.map +0 -1
  43. package/dist/src/components/RenownAuthButton.js +0 -82
  44. package/dist/src/components/RenownAuthButton.js.map +0 -1
  45. package/dist/src/components/RenownLoginButton.d.ts +0 -48
  46. package/dist/src/components/RenownLoginButton.d.ts.map +0 -1
  47. package/dist/src/components/RenownLoginButton.js +0 -175
  48. package/dist/src/components/RenownLoginButton.js.map +0 -1
  49. package/dist/src/components/RenownUserButton.d.ts +0 -66
  50. package/dist/src/components/RenownUserButton.d.ts.map +0 -1
  51. package/dist/src/components/RenownUserButton.js +0 -216
  52. package/dist/src/components/RenownUserButton.js.map +0 -1
  53. package/dist/src/components/icons.d.ts +0 -25
  54. package/dist/src/components/icons.d.ts.map +0 -1
  55. package/dist/src/components/icons.js +0 -24
  56. package/dist/src/components/icons.js.map +0 -1
  57. package/dist/src/components/image-data.d.ts +0 -3
  58. package/dist/src/components/image-data.d.ts.map +0 -1
  59. package/dist/src/components/image-data.js +0 -4
  60. package/dist/src/components/image-data.js.map +0 -1
  61. package/dist/src/components/index.d.ts +0 -8
  62. package/dist/src/components/index.d.ts.map +0 -1
  63. package/dist/src/components/index.js +0 -5
  64. package/dist/src/components/index.js.map +0 -1
  65. package/dist/src/constants.d.ts +0 -130
  66. package/dist/src/constants.d.ts.map +0 -1
  67. package/dist/src/constants.js +0 -40
  68. package/dist/src/constants.js.map +0 -1
  69. package/dist/src/crypto/browser-key-storage.d.ts +0 -8
  70. package/dist/src/crypto/browser-key-storage.d.ts.map +0 -1
  71. package/dist/src/crypto/browser-key-storage.js +0 -73
  72. package/dist/src/crypto/browser-key-storage.js.map +0 -1
  73. package/dist/src/crypto/index.d.ts +0 -36
  74. package/dist/src/crypto/index.d.ts.map +0 -1
  75. package/dist/src/crypto/index.js +0 -130
  76. package/dist/src/crypto/index.js.map +0 -1
  77. package/dist/src/crypto/node-key-storage.d.ts +0 -8
  78. package/dist/src/crypto/node-key-storage.d.ts.map +0 -1
  79. package/dist/src/crypto/node-key-storage.js +0 -67
  80. package/dist/src/crypto/node-key-storage.js.map +0 -1
  81. package/dist/src/crypto/node.d.ts +0 -2
  82. package/dist/src/crypto/node.d.ts.map +0 -1
  83. package/dist/src/crypto/node.js +0 -3
  84. package/dist/src/crypto/node.js.map +0 -1
  85. package/dist/src/crypto/signer.d.ts +0 -21
  86. package/dist/src/crypto/signer.d.ts.map +0 -1
  87. package/dist/src/crypto/signer.js +0 -236
  88. package/dist/src/crypto/signer.js.map +0 -1
  89. package/dist/src/event/event.browser.d.ts +0 -10
  90. package/dist/src/event/event.browser.d.ts.map +0 -1
  91. package/dist/src/event/event.browser.js +0 -24
  92. package/dist/src/event/event.browser.js.map +0 -1
  93. package/dist/src/event/event.node.d.ts +0 -8
  94. package/dist/src/event/event.node.d.ts.map +0 -1
  95. package/dist/src/event/event.node.js +0 -17
  96. package/dist/src/event/event.node.js.map +0 -1
  97. package/dist/src/event/types.d.ts +0 -16
  98. package/dist/src/event/types.d.ts.map +0 -1
  99. package/dist/src/event/types.js +0 -2
  100. package/dist/src/event/types.js.map +0 -1
  101. package/dist/src/hooks/index.d.ts +0 -2
  102. package/dist/src/hooks/index.d.ts.map +0 -1
  103. package/dist/src/hooks/index.js +0 -2
  104. package/dist/src/hooks/index.js.map +0 -1
  105. package/dist/src/hooks/use-user.d.ts +0 -21
  106. package/dist/src/hooks/use-user.d.ts.map +0 -1
  107. package/dist/src/hooks/use-user.js +0 -30
  108. package/dist/src/hooks/use-user.js.map +0 -1
  109. package/dist/src/index.browser.d.ts +0 -4
  110. package/dist/src/index.browser.d.ts.map +0 -1
  111. package/dist/src/index.browser.js +0 -4
  112. package/dist/src/index.browser.js.map +0 -1
  113. package/dist/src/index.d.ts +0 -13
  114. package/dist/src/index.d.ts.map +0 -1
  115. package/dist/src/index.js +0 -13
  116. package/dist/src/index.js.map +0 -1
  117. package/dist/src/index.node.d.ts +0 -4
  118. package/dist/src/index.node.d.ts.map +0 -1
  119. package/dist/src/index.node.js +0 -4
  120. package/dist/src/index.node.js.map +0 -1
  121. package/dist/src/init.browser.d.ts +0 -3
  122. package/dist/src/init.browser.d.ts.map +0 -1
  123. package/dist/src/init.browser.js +0 -7
  124. package/dist/src/init.browser.js.map +0 -1
  125. package/dist/src/init.node.d.ts +0 -3
  126. package/dist/src/init.node.d.ts.map +0 -1
  127. package/dist/src/init.node.js +0 -8
  128. package/dist/src/init.node.js.map +0 -1
  129. package/dist/src/lib/crypto/browser.d.ts +0 -8
  130. package/dist/src/lib/crypto/browser.d.ts.map +0 -1
  131. package/dist/src/lib/crypto/browser.js +0 -73
  132. package/dist/src/lib/crypto/browser.js.map +0 -1
  133. package/dist/src/lib/crypto/index.d.ts +0 -36
  134. package/dist/src/lib/crypto/index.d.ts.map +0 -1
  135. package/dist/src/lib/crypto/index.js +0 -150
  136. package/dist/src/lib/crypto/index.js.map +0 -1
  137. package/dist/src/lib/crypto/node.d.ts +0 -8
  138. package/dist/src/lib/crypto/node.d.ts.map +0 -1
  139. package/dist/src/lib/crypto/node.js +0 -67
  140. package/dist/src/lib/crypto/node.js.map +0 -1
  141. package/dist/src/lib/renown/constants.d.ts +0 -130
  142. package/dist/src/lib/renown/constants.d.ts.map +0 -1
  143. package/dist/src/lib/renown/constants.js +0 -40
  144. package/dist/src/lib/renown/constants.js.map +0 -1
  145. package/dist/src/lib/renown/did-parser.d.ts +0 -28
  146. package/dist/src/lib/renown/did-parser.d.ts.map +0 -1
  147. package/dist/src/lib/renown/did-parser.js +0 -57
  148. package/dist/src/lib/renown/did-parser.js.map +0 -1
  149. package/dist/src/lib/renown/index.d.ts +0 -4
  150. package/dist/src/lib/renown/index.d.ts.map +0 -1
  151. package/dist/src/lib/renown/index.js +0 -4
  152. package/dist/src/lib/renown/index.js.map +0 -1
  153. package/dist/src/lib/renown/utils.d.ts +0 -33
  154. package/dist/src/lib/renown/utils.d.ts.map +0 -1
  155. package/dist/src/lib/renown/utils.js +0 -207
  156. package/dist/src/lib/renown/utils.js.map +0 -1
  157. package/dist/src/lib/session-storage.d.ts +0 -40
  158. package/dist/src/lib/session-storage.d.ts.map +0 -1
  159. package/dist/src/lib/session-storage.js +0 -107
  160. package/dist/src/lib/session-storage.js.map +0 -1
  161. package/dist/src/node.d.ts +0 -6
  162. package/dist/src/node.d.ts.map +0 -1
  163. package/dist/src/node.js +0 -6
  164. package/dist/src/node.js.map +0 -1
  165. package/dist/src/providers/index.d.ts +0 -3
  166. package/dist/src/providers/index.d.ts.map +0 -1
  167. package/dist/src/providers/index.js +0 -2
  168. package/dist/src/providers/index.js.map +0 -1
  169. package/dist/src/providers/renown-user-provider.d.ts +0 -72
  170. package/dist/src/providers/renown-user-provider.d.ts.map +0 -1
  171. package/dist/src/providers/renown-user-provider.js +0 -171
  172. package/dist/src/providers/renown-user-provider.js.map +0 -1
  173. package/dist/src/storage/common.d.ts +0 -13
  174. package/dist/src/storage/common.d.ts.map +0 -1
  175. package/dist/src/storage/common.js +0 -7
  176. package/dist/src/storage/common.js.map +0 -1
  177. package/dist/src/storage/storage.browser.d.ts +0 -9
  178. package/dist/src/storage/storage.browser.d.ts.map +0 -1
  179. package/dist/src/storage/storage.browser.js +0 -25
  180. package/dist/src/storage/storage.browser.js.map +0 -1
  181. package/dist/src/storage/storage.node.d.ts +0 -11
  182. package/dist/src/storage/storage.node.d.ts.map +0 -1
  183. package/dist/src/storage/storage.node.js +0 -40
  184. package/dist/src/storage/storage.node.js.map +0 -1
  185. package/dist/src/types.d.ts +0 -80
  186. package/dist/src/types.d.ts.map +0 -1
  187. package/dist/src/types.js +0 -2
  188. package/dist/src/types.js.map +0 -1
  189. package/dist/src/utils.d.ts +0 -17
  190. package/dist/src/utils.d.ts.map +0 -1
  191. package/dist/src/utils.js +0 -80
  192. package/dist/src/utils.js.map +0 -1
  193. package/dist/tests/auth.test.d.ts +0 -2
  194. package/dist/tests/auth.test.d.ts.map +0 -1
  195. package/dist/tests/auth.test.js +0 -13
  196. package/dist/tests/auth.test.js.map +0 -1
  197. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,105 +0,0 @@
1
- import { DEFAULT_RENOWN_URL } from "./constants.js";
2
- import { createAuthBearerToken, parsePkhDid, verifyAuthBearerToken, } from "./utils.js";
3
- export class Renown {
4
- #baseUrl;
5
- #store;
6
- #connectId;
7
- #eventEmitter;
8
- constructor(store, eventEmitter, connectId, baseUrl = DEFAULT_RENOWN_URL) {
9
- this.#store = store;
10
- this.#eventEmitter = eventEmitter;
11
- this.#connectId = connectId;
12
- this.#baseUrl = baseUrl;
13
- if (this.user) {
14
- this.login(this.user.did).catch(() => void 0);
15
- }
16
- }
17
- get user() {
18
- return this.#store.get("user");
19
- }
20
- #updateUser(user) {
21
- if (user) {
22
- this.#store.set("user", user);
23
- }
24
- else {
25
- this.#store.delete("user");
26
- }
27
- this.#eventEmitter.emit("user", user);
28
- }
29
- set connectId(connectId) {
30
- this.#connectId = connectId;
31
- const user = this.user;
32
- this.#updateUser(undefined);
33
- // tries to login with new connectId
34
- if (user) {
35
- this.login(user.did).catch((e) => {
36
- console.log("User no longer authenticated:", e);
37
- });
38
- }
39
- }
40
- async login(did) {
41
- try {
42
- const result = parsePkhDid(did);
43
- const credential = await this.#getCredential(result.address, result.chainId, this.#connectId);
44
- if (!credential) {
45
- this.#updateUser(undefined);
46
- throw new Error("Credential not found");
47
- }
48
- const user = {
49
- ...result,
50
- did,
51
- credential,
52
- };
53
- // TODO
54
- // getEnsInfo(user.address, user.chainId)
55
- // .then((ens) => {
56
- // if (
57
- // this.user?.address === user.address &&
58
- // this.user.chainId === user.chainId
59
- // ) {
60
- // this.#updateUser({ ...this.user, ens });
61
- // }
62
- // })
63
- // .catch(logger.error);
64
- this.#updateUser(user);
65
- return user;
66
- }
67
- catch (error) {
68
- this.#updateUser(undefined);
69
- throw error;
70
- }
71
- }
72
- logout() {
73
- this.#updateUser(undefined);
74
- return Promise.resolve();
75
- }
76
- on(event, listener) {
77
- return this.#eventEmitter.on(event, listener);
78
- }
79
- async #getCredential(address, chainId, connectId) {
80
- if (!this.#baseUrl) {
81
- throw new Error("RENOWN_URL is not set");
82
- }
83
- const url = new URL(`/api/auth/credential?address=${encodeURIComponent(address)}&chainId=${encodeURIComponent(chainId)}&connectId=${encodeURIComponent(connectId)}`, this.#baseUrl);
84
- const response = await fetch(url, {
85
- method: "GET",
86
- });
87
- if (response.ok) {
88
- const result = (await response.json());
89
- return result.credential;
90
- }
91
- else {
92
- throw new Error("Failed to get credential");
93
- }
94
- }
95
- async verifyBearerToken(token) {
96
- return verifyAuthBearerToken(token);
97
- }
98
- async createBearerToken(address, chainId, issuer, options) {
99
- if (!this.user) {
100
- throw new Error("User not found");
101
- }
102
- return createAuthBearerToken(chainId, this.#connectId, address, issuer, options);
103
- }
104
- }
105
- //# sourceMappingURL=common.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":"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"}
@@ -1,62 +0,0 @@
1
- import React from "react";
2
- import type { User } from "../lib/renown/index.js";
3
- export interface RenownAuthButtonRenderProps {
4
- user: User;
5
- logout: () => Promise<void>;
6
- openProfile: () => void;
7
- }
8
- export interface RenownAuthButtonProps {
9
- /**
10
- * Custom class name for the container
11
- */
12
- className?: string;
13
- /**
14
- * Custom render function when user is authenticated
15
- * Receives user data, logout function, and openProfile function
16
- */
17
- renderAuthenticated?: (props: RenownAuthButtonRenderProps) => React.ReactNode;
18
- /**
19
- * Custom render function when user is not authenticated
20
- * Receives openRenown function
21
- */
22
- renderUnauthenticated?: (props: {
23
- openRenown: () => void;
24
- isLoading: boolean;
25
- }) => React.ReactNode;
26
- /**
27
- * Custom render function for loading state
28
- */
29
- renderLoading?: () => React.ReactNode;
30
- }
31
- /**
32
- * Smart authentication button that adapts based on auth state.
33
- * Shows RenownLoginButton when not authenticated, and RenownUserButton when authenticated.
34
- *
35
- * @example
36
- * Basic usage:
37
- * ```tsx
38
- * import { RenownAuthButton } from '@renown/sdk'
39
- *
40
- * function Header() {
41
- * return <RenownAuthButton />
42
- * }
43
- * ```
44
- *
45
- * @example
46
- * Custom rendering:
47
- * ```tsx
48
- * <RenownAuthButton
49
- * renderAuthenticated={({ user, logout }) => (
50
- * <div>
51
- * <span>{user.name}</span>
52
- * <button onClick={logout}>Sign out</button>
53
- * </div>
54
- * )}
55
- * renderUnauthenticated={({ openRenown }) => (
56
- * <button onClick={openRenown}>Sign In</button>
57
- * )}
58
- * />
59
- * ```
60
- */
61
- export declare function RenownAuthButton({ className, renderAuthenticated, renderUnauthenticated, renderLoading, }: RenownAuthButtonProps): import("react/jsx-runtime").JSX.Element;
62
- //# sourceMappingURL=RenownAuthButton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RenownAuthButton.d.ts","sourceRoot":"","sources":["../../../src/components/RenownAuthButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAKnD,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,KAAK,CAAC,SAAS,CAAC;IAC9E;;;OAGG;IACH,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC9B,UAAU,EAAE,MAAM,IAAI,CAAC;QACvB,SAAS,EAAE,OAAO,CAAC;KACpB,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,SAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,GACd,EAAE,qBAAqB,2CAyFvB"}
@@ -1,82 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import React from "react";
4
- import { useUser } from "../hooks/use-user.js";
5
- import { openRenown as openRenownUtil } from "../lib/renown/utils.js";
6
- import { RenownLoginButton } from "./RenownLoginButton.js";
7
- import { RenownUserButton } from "./RenownUserButton.js";
8
- /**
9
- * Smart authentication button that adapts based on auth state.
10
- * Shows RenownLoginButton when not authenticated, and RenownUserButton when authenticated.
11
- *
12
- * @example
13
- * Basic usage:
14
- * ```tsx
15
- * import { RenownAuthButton } from '@renown/sdk'
16
- *
17
- * function Header() {
18
- * return <RenownAuthButton />
19
- * }
20
- * ```
21
- *
22
- * @example
23
- * Custom rendering:
24
- * ```tsx
25
- * <RenownAuthButton
26
- * renderAuthenticated={({ user, logout }) => (
27
- * <div>
28
- * <span>{user.name}</span>
29
- * <button onClick={logout}>Sign out</button>
30
- * </div>
31
- * )}
32
- * renderUnauthenticated={({ openRenown }) => (
33
- * <button onClick={openRenown}>Sign In</button>
34
- * )}
35
- * />
36
- * ```
37
- */
38
- export function RenownAuthButton({ className = "", renderAuthenticated, renderUnauthenticated, renderLoading, }) {
39
- const { user, loginStatus, isLoading, openRenown, logout } = useUser();
40
- const openProfile = () => {
41
- if (!user)
42
- return;
43
- openRenownUtil(user.documentId);
44
- };
45
- // Loading state
46
- if (isLoading && loginStatus === "initial") {
47
- if (renderLoading) {
48
- return _jsx("div", { className: className, children: renderLoading() });
49
- }
50
- return (_jsxs("div", { className: className, children: [_jsx("div", { style: {
51
- width: "40px",
52
- height: "40px",
53
- borderRadius: "50%",
54
- backgroundColor: "#e5e7eb",
55
- animation: "pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite",
56
- } }), _jsx("style", { children: `@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }` })] }));
57
- }
58
- // Authenticated state
59
- if (loginStatus === "authorized" && user) {
60
- if (renderAuthenticated) {
61
- return (_jsx("div", { className: className, children: renderAuthenticated({ user, logout, openProfile }) }));
62
- }
63
- const address = (user.ethAddress || user.address);
64
- if (!address) {
65
- // Fallback if no address available
66
- return (_jsx("div", { className: className, children: _jsxs("button", { onClick: logout, style: {
67
- fontSize: "14px",
68
- color: "#4b5563",
69
- background: "none",
70
- border: "none",
71
- cursor: "pointer",
72
- }, children: [user.name || "Connected", " (Logout)"] }) }));
73
- }
74
- return (_jsx("div", { className: className, children: _jsx(RenownUserButton, { address: address, username: user.name, userId: user.documentId, avatarUrl: user.avatar, onDisconnect: logout }) }));
75
- }
76
- // Unauthenticated state
77
- if (renderUnauthenticated) {
78
- return (_jsx("div", { className: className, children: renderUnauthenticated({ openRenown, isLoading }) }));
79
- }
80
- return (_jsx("div", { className: className, children: _jsx(RenownLoginButton, { onLogin: openRenown }) }));
81
- }
82
- //# sourceMappingURL=RenownAuthButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RenownAuthButton.js","sourceRoot":"","sources":["../../../src/components/RenownAuthButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAgCzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,SAAS,GAAG,EAAE,EACd,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,GACS;IACtB,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IAEvE,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,gBAAgB;IAChB,IAAI,SAAS,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC3C,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,cAAK,SAAS,EAAE,SAAS,YAAG,aAAa,EAAE,GAAO,CAAC;QAC5D,CAAC;QAED,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,aACvB,cACE,KAAK,EAAE;wBACL,KAAK,EAAE,MAAM;wBACb,MAAM,EAAE,MAAM;wBACd,YAAY,EAAE,KAAK;wBACnB,eAAe,EAAE,SAAS;wBAC1B,SAAS,EAAE,gDAAgD;qBAC5D,GACD,EACF,0BAAQ,qEAAqE,GAAS,IAClF,CACP,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,IAAI,WAAW,KAAK,YAAY,IAAI,IAAI,EAAE,CAAC;QACzC,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO,CACL,cAAK,SAAS,EAAE,SAAS,YACtB,mBAAmB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,GAC/C,CACP,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAuB,CAAC;QAExE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,mCAAmC;YACnC,OAAO,CACL,cAAK,SAAS,EAAE,SAAS,YACvB,kBACE,OAAO,EAAE,MAAM,EACf,KAAK,EAAE;wBACL,QAAQ,EAAE,MAAM;wBAChB,KAAK,EAAE,SAAS;wBAChB,UAAU,EAAE,MAAM;wBAClB,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,SAAS;qBAClB,aAEA,IAAI,CAAC,IAAI,IAAI,WAAW,iBAClB,GACL,CACP,CAAC;QACJ,CAAC;QAED,OAAO,CACL,cAAK,SAAS,EAAE,SAAS,YACvB,KAAC,gBAAgB,IACf,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,IAAI,CAAC,IAAI,EACnB,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,SAAS,EAAE,IAAI,CAAC,MAAM,EACtB,YAAY,EAAE,MAAM,GACpB,GACE,CACP,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO,CACL,cAAK,SAAS,EAAE,SAAS,YACtB,qBAAqB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,GAC7C,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAE,SAAS,YACvB,KAAC,iBAAiB,IAAC,OAAO,EAAE,UAAU,GAAI,GACtC,CACP,CAAC;AACJ,CAAC"}
@@ -1,48 +0,0 @@
1
- import type { CSSProperties, ReactNode } from "react";
2
- export interface RenownLoginButtonProps {
3
- /**
4
- * Callback when login is requested
5
- */
6
- onLogin: (() => void) | undefined;
7
- /**
8
- * Enable dark mode styling
9
- */
10
- darkMode?: boolean;
11
- /**
12
- * Custom styles for the button
13
- */
14
- style?: CSSProperties;
15
- /**
16
- * Custom class name
17
- */
18
- className?: string;
19
- /**
20
- * Custom render function for the trigger button
21
- */
22
- renderTrigger?: (props: {
23
- onMouseEnter: () => void;
24
- onMouseLeave: () => void;
25
- isLoading: boolean;
26
- }) => ReactNode;
27
- /**
28
- * Show a popover with connect option instead of triggering login directly
29
- */
30
- showPopover?: boolean;
31
- }
32
- /**
33
- * A login button with Renown branding that shows a popover with connect option.
34
- *
35
- * @example
36
- * ```tsx
37
- * import { RenownLoginButton } from '@renown/sdk'
38
- *
39
- * function LoginArea() {
40
- * const handleLogin = () => {
41
- * // Your login logic
42
- * }
43
- * return <RenownLoginButton onLogin={handleLogin} />
44
- * }
45
- * ```
46
- */
47
- export declare function RenownLoginButton({ onLogin, darkMode, style, className, renderTrigger, showPopover, }: RenownLoginButtonProps): import("react/jsx-runtime").JSX.Element;
48
- //# sourceMappingURL=RenownLoginButton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RenownLoginButton.d.ts","sourceRoot":"","sources":["../../../src/components/RenownLoginButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKtD,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QACtB,YAAY,EAAE,MAAM,IAAI,CAAC;QACzB,YAAY,EAAE,MAAM,IAAI,CAAC;QACzB,SAAS,EAAE,OAAO,CAAC;KACpB,KAAK,SAAS,CAAC;IAChB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA+ED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,QAAgB,EAChB,KAAK,EACL,SAAS,EACT,aAAa,EACb,WAAmB,GACpB,EAAE,sBAAsB,2CA2IxB"}
@@ -1,175 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useCallback, useEffect, useRef, useState } from "react";
4
- import { RenownLogo, SpinnerIcon } from "./icons.js";
5
- import { renownShortDataUrl, renownShortHoverDataUrl } from "./image-data.js";
6
- const POPOVER_GAP = 8;
7
- const POPOVER_HEIGHT = 120; // approximate height of popover
8
- const styles = {
9
- trigger: {
10
- display: "flex",
11
- alignItems: "center",
12
- justifyContent: "center",
13
- padding: 0,
14
- border: "none",
15
- background: "transparent",
16
- cursor: "pointer",
17
- },
18
- popoverBase: {
19
- position: "absolute",
20
- left: 0,
21
- borderRadius: "8px",
22
- width: "208px",
23
- zIndex: 1000,
24
- },
25
- popoverLight: {
26
- backgroundColor: "white",
27
- boxShadow: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
28
- },
29
- popoverDark: {
30
- backgroundColor: "#1f2937",
31
- boxShadow: "0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2)",
32
- },
33
- popoverContent: {
34
- padding: "16px",
35
- },
36
- logoContainer: {
37
- display: "flex",
38
- justifyContent: "center",
39
- height: "22px",
40
- width: "83px",
41
- margin: "0 auto 16px",
42
- overflow: "hidden",
43
- },
44
- connectButtonBase: {
45
- display: "flex",
46
- alignItems: "center",
47
- justifyContent: "center",
48
- width: "100%",
49
- height: "28px",
50
- borderRadius: "8px",
51
- backgroundColor: "transparent",
52
- fontSize: "14px",
53
- cursor: "pointer",
54
- marginTop: "16px",
55
- },
56
- connectButtonLight: {
57
- border: "1px solid #d1d5db",
58
- color: "#111827",
59
- },
60
- connectButtonDark: {
61
- border: "1px solid #4b5563",
62
- color: "#f9fafb",
63
- },
64
- connectButtonActive: {
65
- opacity: 0.7,
66
- },
67
- wrapper: {
68
- position: "relative",
69
- display: "inline-block",
70
- },
71
- triggerImageLight: {
72
- display: "block",
73
- },
74
- triggerImageDark: {
75
- display: "block",
76
- filter: "invert(1)",
77
- },
78
- };
79
- /**
80
- * A login button with Renown branding that shows a popover with connect option.
81
- *
82
- * @example
83
- * ```tsx
84
- * import { RenownLoginButton } from '@renown/sdk'
85
- *
86
- * function LoginArea() {
87
- * const handleLogin = () => {
88
- * // Your login logic
89
- * }
90
- * return <RenownLoginButton onLogin={handleLogin} />
91
- * }
92
- * ```
93
- */
94
- export function RenownLoginButton({ onLogin, darkMode = false, style, className, renderTrigger, showPopover = false, }) {
95
- const [isOpen, setIsOpen] = useState(false);
96
- const [isLoading, setIsLoading] = useState(false);
97
- const [isHovered, setIsHovered] = useState(false);
98
- const [showAbove, setShowAbove] = useState(true);
99
- const popoverRef = useRef(null);
100
- const wrapperRef = useRef(null);
101
- const closeTimeoutRef = useRef(null);
102
- const calculatePosition = useCallback(() => {
103
- if (!wrapperRef.current)
104
- return;
105
- const rect = wrapperRef.current.getBoundingClientRect();
106
- const spaceAbove = rect.top;
107
- const hasSpaceAbove = spaceAbove >= POPOVER_HEIGHT + POPOVER_GAP;
108
- setShowAbove(hasSpaceAbove);
109
- }, []);
110
- const handleMouseEnter = useCallback(() => {
111
- setIsHovered(true);
112
- if (!showPopover) {
113
- return;
114
- }
115
- if (closeTimeoutRef.current) {
116
- clearTimeout(closeTimeoutRef.current);
117
- closeTimeoutRef.current = null;
118
- }
119
- calculatePosition();
120
- setIsOpen(true);
121
- }, [calculatePosition, showPopover]);
122
- const handleMouseLeave = useCallback(() => {
123
- closeTimeoutRef.current = setTimeout(() => {
124
- setIsOpen(false);
125
- setIsHovered(false);
126
- }, 150);
127
- }, []);
128
- useEffect(() => {
129
- return () => {
130
- if (closeTimeoutRef.current) {
131
- clearTimeout(closeTimeoutRef.current);
132
- }
133
- };
134
- }, []);
135
- const handleConnect = () => {
136
- if (onLogin) {
137
- setIsLoading(true);
138
- onLogin();
139
- }
140
- };
141
- const handleDirectClick = () => {
142
- if (!showPopover && onLogin && !isLoading) {
143
- setIsLoading(true);
144
- onLogin();
145
- }
146
- };
147
- const triggerStyle = {
148
- ...styles.trigger,
149
- cursor: onLogin ? "pointer" : "wait",
150
- ...style,
151
- };
152
- const allowLogin = !isLoading && !!onLogin;
153
- const connectButtonStyle = {
154
- ...styles.connectButtonBase,
155
- ...(darkMode ? styles.connectButtonDark : styles.connectButtonLight),
156
- cursor: allowLogin ? "pointer" : "wait",
157
- };
158
- const popoverStyle = {
159
- ...styles.popoverBase,
160
- ...(darkMode ? styles.popoverDark : styles.popoverLight),
161
- ...(showAbove
162
- ? { bottom: `calc(100% + ${POPOVER_GAP}px)` }
163
- : { top: `calc(100% + ${POPOVER_GAP}px)` }),
164
- };
165
- const triggerImageStyle = darkMode
166
- ? styles.triggerImageDark
167
- : styles.triggerImageLight;
168
- const logoColor = darkMode ? "#f9fafb" : "#374151";
169
- return (_jsxs("div", { ref: wrapperRef, style: styles.wrapper, className: className, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, children: [renderTrigger ? (renderTrigger({
170
- onMouseEnter: handleMouseEnter,
171
- onMouseLeave: handleMouseLeave,
172
- isLoading,
173
- })) : (_jsx("button", { type: "button", style: triggerStyle, "aria-label": showPopover ? "Open Renown Login" : "Login with Renown", onClick: showPopover ? undefined : handleDirectClick, children: isLoading ? (_jsx(SpinnerIcon, { size: 42 })) : (_jsx("img", { width: 42, height: 42, src: isHovered ? renownShortHoverDataUrl : renownShortDataUrl, alt: "Renown Login", style: triggerImageStyle })) })), isOpen && showPopover && (_jsx("div", { ref: popoverRef, style: popoverStyle, children: _jsxs("div", { style: styles.popoverContent, children: [_jsx("div", { style: styles.logoContainer, children: _jsx(RenownLogo, { width: 83, height: 22, color: logoColor }) }), _jsx("button", { type: "button", onClick: allowLogin ? handleConnect : undefined, style: connectButtonStyle, children: isLoading ? _jsx(SpinnerIcon, { size: 14 }) : "Connect" })] }) }))] }));
174
- }
175
- //# sourceMappingURL=RenownLoginButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RenownLoginButton.js","sourceRoot":"","sources":["../../../src/components/RenownLoginButton.tsx"],"names":[],"mappings":"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"}
@@ -1,66 +0,0 @@
1
- import type { CSSProperties, ReactNode } from "react";
2
- export interface RenownUserButtonProps {
3
- /**
4
- * The user's wallet address
5
- */
6
- address: string;
7
- /**
8
- * Optional ENS name or username to display
9
- */
10
- username?: string;
11
- /**
12
- * Optional avatar URL
13
- */
14
- avatarUrl?: string;
15
- /**
16
- * User ID to view the profile on Renown
17
- */
18
- userId?: string;
19
- /**
20
- * Callback when disconnect is requested
21
- */
22
- onDisconnect: (() => void) | undefined;
23
- /**
24
- * Custom styles for the button
25
- */
26
- style?: CSSProperties;
27
- /**
28
- * Custom class name
29
- */
30
- className?: string;
31
- /**
32
- * Custom render function for the trigger button
33
- */
34
- renderTrigger?: (props: {
35
- onMouseEnter: () => void;
36
- onMouseLeave: () => void;
37
- address: string;
38
- username?: string;
39
- avatarUrl?: string;
40
- }) => ReactNode;
41
- }
42
- /**
43
- * A user button that shows account info in a popover with options to copy address,
44
- * view profile, and disconnect.
45
- *
46
- * @example
47
- * ```tsx
48
- * import { RenownUserButton } from '@renown/sdk'
49
- *
50
- * function UserArea() {
51
- * const handleDisconnect = () => {
52
- * // Your disconnect logic
53
- * }
54
- * return (
55
- * <RenownUserButton
56
- * address="0x1234...5678"
57
- * username="vitalik.eth"
58
- * userId="abc123"
59
- * onDisconnect={handleDisconnect}
60
- * />
61
- * )
62
- * }
63
- * ```
64
- */
65
- export declare function RenownUserButton({ address, username, avatarUrl, userId, onDisconnect, style, className, renderTrigger, }: RenownUserButtonProps): import("react/jsx-runtime").JSX.Element;
66
- //# sourceMappingURL=RenownUserButton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RenownUserButton.d.ts","sourceRoot":"","sources":["../../../src/components/RenownUserButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAatD,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACvC;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QACtB,YAAY,EAAE,MAAM,IAAI,CAAC;QACzB,YAAY,EAAE,MAAM,IAAI,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,KAAK,SAAS,CAAC;CACjB;AAyHD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,QAAQ,EACR,SAAS,EACT,MAAM,EACN,YAAY,EACZ,KAAK,EACL,SAAS,EACT,aAAa,GACd,EAAE,qBAAqB,2CAuJvB"}