@varity-labs/ui-kit 2.0.0-beta.8 → 2.0.0-beta.9

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 (194) hide show
  1. package/dist/components/Dashboard/DashboardHeader.js +4 -4
  2. package/dist/components/Dashboard/DashboardHeader.js.map +1 -1
  3. package/dist/components/Dashboard/DashboardLayout.d.ts +3 -3
  4. package/dist/components/Dashboard/DashboardLayout.d.ts.map +1 -1
  5. package/dist/components/Dashboard/DashboardLayout.js +1 -1
  6. package/dist/components/InAppWallet/EmailLoginButton.d.ts +27 -0
  7. package/dist/components/InAppWallet/EmailLoginButton.d.ts.map +1 -0
  8. package/dist/components/InAppWallet/EmailLoginButton.js +84 -0
  9. package/dist/components/InAppWallet/EmailLoginButton.js.map +1 -0
  10. package/dist/components/InAppWallet/InAppWalletProvider.d.ts +54 -0
  11. package/dist/components/InAppWallet/InAppWalletProvider.d.ts.map +1 -0
  12. package/dist/components/InAppWallet/InAppWalletProvider.js +225 -0
  13. package/dist/components/InAppWallet/InAppWalletProvider.js.map +1 -0
  14. package/dist/components/InAppWallet/OnboardingFlow.d.ts +25 -0
  15. package/dist/components/InAppWallet/OnboardingFlow.d.ts.map +1 -0
  16. package/dist/components/InAppWallet/OnboardingFlow.js +159 -0
  17. package/dist/components/InAppWallet/OnboardingFlow.js.map +1 -0
  18. package/dist/components/InAppWallet/SocialLoginButtons.d.ts +28 -0
  19. package/dist/components/InAppWallet/SocialLoginButtons.d.ts.map +1 -0
  20. package/dist/components/InAppWallet/SocialLoginButtons.js +128 -0
  21. package/dist/components/InAppWallet/SocialLoginButtons.js.map +1 -0
  22. package/dist/components/InAppWallet/index.d.ts +15 -0
  23. package/dist/components/InAppWallet/index.d.ts.map +1 -0
  24. package/dist/components/InAppWallet/index.js +14 -0
  25. package/dist/components/InAppWallet/index.js.map +1 -0
  26. package/dist/components/PaymentWidget/PaymentWidget.d.ts +19 -7
  27. package/dist/components/PaymentWidget/PaymentWidget.d.ts.map +1 -1
  28. package/dist/components/PaymentWidget/PaymentWidget.js +176 -10
  29. package/dist/components/PaymentWidget/PaymentWidget.js.map +1 -1
  30. package/dist/components/PaymentWidget/useSeamlessPayment.d.ts +34 -8
  31. package/dist/components/PaymentWidget/useSeamlessPayment.d.ts.map +1 -1
  32. package/dist/components/PaymentWidget/useSeamlessPayment.js +158 -12
  33. package/dist/components/PaymentWidget/useSeamlessPayment.js.map +1 -1
  34. package/dist/components/PaymentWidget/useVarityPayment.d.ts +6 -5
  35. package/dist/components/PaymentWidget/useVarityPayment.d.ts.map +1 -1
  36. package/dist/components/PaymentWidget/useVarityPayment.js +147 -11
  37. package/dist/components/PaymentWidget/useVarityPayment.js.map +1 -1
  38. package/dist/components/Payments/CheckoutModal.d.ts +19 -0
  39. package/dist/components/Payments/CheckoutModal.d.ts.map +1 -0
  40. package/dist/components/Payments/CheckoutModal.js +194 -0
  41. package/dist/components/Payments/CheckoutModal.js.map +1 -0
  42. package/dist/components/Payments/SubscriptionWidget.d.ts +17 -0
  43. package/dist/components/Payments/SubscriptionWidget.d.ts.map +1 -0
  44. package/dist/components/Payments/SubscriptionWidget.js +89 -0
  45. package/dist/components/Payments/SubscriptionWidget.js.map +1 -0
  46. package/dist/components/Payments/constants.d.ts +59 -0
  47. package/dist/components/Payments/constants.d.ts.map +1 -0
  48. package/dist/components/Payments/constants.js +145 -0
  49. package/dist/components/Payments/constants.js.map +1 -0
  50. package/dist/components/Payments/index.d.ts +10 -0
  51. package/dist/components/Payments/index.d.ts.map +1 -0
  52. package/dist/components/Payments/index.js +12 -0
  53. package/dist/components/Payments/index.js.map +1 -0
  54. package/dist/components/Payments/types.d.ts +119 -0
  55. package/dist/components/Payments/types.d.ts.map +1 -0
  56. package/dist/components/Payments/types.js +27 -0
  57. package/dist/components/Payments/types.js.map +1 -0
  58. package/dist/components/Payments/usePayments.d.ts +33 -0
  59. package/dist/components/Payments/usePayments.d.ts.map +1 -0
  60. package/dist/components/Payments/usePayments.js +249 -0
  61. package/dist/components/Payments/usePayments.js.map +1 -0
  62. package/dist/components/SIWE/AuthStatus.d.ts +15 -0
  63. package/dist/components/SIWE/AuthStatus.d.ts.map +1 -0
  64. package/dist/components/SIWE/AuthStatus.js +47 -0
  65. package/dist/components/SIWE/AuthStatus.js.map +1 -0
  66. package/dist/components/SIWE/ProtectedRoute.d.ts +17 -0
  67. package/dist/components/SIWE/ProtectedRoute.d.ts.map +1 -0
  68. package/dist/components/SIWE/ProtectedRoute.js +52 -0
  69. package/dist/components/SIWE/ProtectedRoute.js.map +1 -0
  70. package/dist/components/SIWE/SIWEButton.d.ts +22 -0
  71. package/dist/components/SIWE/SIWEButton.d.ts.map +1 -0
  72. package/dist/components/SIWE/SIWEButton.js +106 -0
  73. package/dist/components/SIWE/SIWEButton.js.map +1 -0
  74. package/dist/components/SIWE/SIWEModal.d.ts +19 -0
  75. package/dist/components/SIWE/SIWEModal.d.ts.map +1 -0
  76. package/dist/components/SIWE/SIWEModal.js +75 -0
  77. package/dist/components/SIWE/SIWEModal.js.map +1 -0
  78. package/dist/components/SIWE/SIWEProvider.d.ts +38 -0
  79. package/dist/components/SIWE/SIWEProvider.d.ts.map +1 -0
  80. package/dist/components/SIWE/SIWEProvider.js +227 -0
  81. package/dist/components/SIWE/SIWEProvider.js.map +1 -0
  82. package/dist/components/SIWE/index.d.ts +15 -0
  83. package/dist/components/SIWE/index.d.ts.map +1 -0
  84. package/dist/components/SIWE/index.js +10 -0
  85. package/dist/components/SIWE/index.js.map +1 -0
  86. package/dist/hooks/web3/index.d.ts +5 -0
  87. package/dist/hooks/web3/index.d.ts.map +1 -0
  88. package/dist/hooks/web3/index.js +6 -0
  89. package/dist/hooks/web3/index.js.map +1 -0
  90. package/dist/hooks/web3/useAddressValidation.d.ts +37 -0
  91. package/dist/hooks/web3/useAddressValidation.d.ts.map +1 -0
  92. package/dist/hooks/web3/useAddressValidation.js +59 -0
  93. package/dist/hooks/web3/useAddressValidation.js.map +1 -0
  94. package/dist/hooks/web3/useBlockExplorer.d.ts +37 -0
  95. package/dist/hooks/web3/useBlockExplorer.d.ts.map +1 -0
  96. package/dist/hooks/web3/useBlockExplorer.js +59 -0
  97. package/dist/hooks/web3/useBlockExplorer.js.map +1 -0
  98. package/dist/hooks/web3/useUSDCFormat.d.ts +34 -0
  99. package/dist/hooks/web3/useUSDCFormat.d.ts.map +1 -0
  100. package/dist/hooks/web3/useUSDCFormat.js +43 -0
  101. package/dist/hooks/web3/useUSDCFormat.js.map +1 -0
  102. package/dist/hooks/web3/useVarityWallet.d.ts +48 -0
  103. package/dist/hooks/web3/useVarityWallet.d.ts.map +1 -0
  104. package/dist/hooks/web3/useVarityWallet.js +70 -0
  105. package/dist/hooks/web3/useVarityWallet.js.map +1 -0
  106. package/dist/providers/ChainContext.d.ts +65 -0
  107. package/dist/providers/ChainContext.d.ts.map +1 -0
  108. package/dist/providers/ChainContext.js +92 -0
  109. package/dist/providers/ChainContext.js.map +1 -0
  110. package/dist/providers/PrivyStack.d.ts +17 -50
  111. package/dist/providers/PrivyStack.d.ts.map +1 -1
  112. package/dist/providers/PrivyStack.js +15 -43
  113. package/dist/providers/PrivyStack.js.map +1 -1
  114. package/dist/providers/VarityDashboardProvider.d.ts +2 -2
  115. package/dist/providers/VarityDashboardProvider.d.ts.map +1 -1
  116. package/dist/providers/VarityDashboardProvider.js +26 -3
  117. package/dist/providers/VarityDashboardProvider.js.map +1 -1
  118. package/dist/providers/VarityProvider.d.ts +32 -0
  119. package/dist/providers/VarityProvider.d.ts.map +1 -0
  120. package/dist/providers/VarityProvider.js +56 -0
  121. package/dist/providers/VarityProvider.js.map +1 -0
  122. package/dist/providers/WalletContext.d.ts +68 -0
  123. package/dist/providers/WalletContext.d.ts.map +1 -0
  124. package/dist/providers/WalletContext.js +98 -0
  125. package/dist/providers/WalletContext.js.map +1 -0
  126. package/dist/providers/WalletSyncProvider.d.ts +15 -18
  127. package/dist/providers/WalletSyncProvider.d.ts.map +1 -1
  128. package/dist/providers/WalletSyncProvider.js +12 -15
  129. package/dist/providers/WalletSyncProvider.js.map +1 -1
  130. package/dist/providers/index.d.ts +48 -0
  131. package/dist/providers/index.d.ts.map +1 -0
  132. package/dist/providers/index.js +53 -0
  133. package/dist/providers/index.js.map +1 -0
  134. package/dist/wallets/SimpleSmartWallet.d.ts +68 -0
  135. package/dist/wallets/SimpleSmartWallet.d.ts.map +1 -0
  136. package/dist/wallets/SimpleSmartWallet.js +74 -0
  137. package/dist/wallets/SimpleSmartWallet.js.map +1 -0
  138. package/dist/wallets/SmartWalletProvider.d.ts +217 -0
  139. package/dist/wallets/SmartWalletProvider.d.ts.map +1 -0
  140. package/dist/wallets/SmartWalletProvider.js +366 -0
  141. package/dist/wallets/SmartWalletProvider.js.map +1 -0
  142. package/dist/wallets/config.d.ts +222 -0
  143. package/dist/wallets/config.d.ts.map +1 -0
  144. package/dist/wallets/config.js +206 -0
  145. package/dist/wallets/config.js.map +1 -0
  146. package/dist/wallets/index.d.ts +9 -0
  147. package/dist/wallets/index.d.ts.map +1 -0
  148. package/dist/wallets/index.js +9 -0
  149. package/dist/wallets/index.js.map +1 -0
  150. package/dist/web3/AddressDisplay/AddressDisplay.d.ts +33 -0
  151. package/dist/web3/AddressDisplay/AddressDisplay.d.ts.map +1 -0
  152. package/dist/web3/AddressDisplay/AddressDisplay.js +42 -0
  153. package/dist/web3/AddressDisplay/AddressDisplay.js.map +1 -0
  154. package/dist/web3/AddressInput/AddressInput.d.ts +36 -0
  155. package/dist/web3/AddressInput/AddressInput.d.ts.map +1 -0
  156. package/dist/web3/AddressInput/AddressInput.js +54 -0
  157. package/dist/web3/AddressInput/AddressInput.js.map +1 -0
  158. package/dist/web3/AmountInput/AmountInput.d.ts +41 -0
  159. package/dist/web3/AmountInput/AmountInput.d.ts.map +1 -0
  160. package/dist/web3/AmountInput/AmountInput.js +74 -0
  161. package/dist/web3/AmountInput/AmountInput.js.map +1 -0
  162. package/dist/web3/BalanceDisplay/BalanceDisplay.d.ts +30 -0
  163. package/dist/web3/BalanceDisplay/BalanceDisplay.d.ts.map +1 -0
  164. package/dist/web3/BalanceDisplay/BalanceDisplay.js +35 -0
  165. package/dist/web3/BalanceDisplay/BalanceDisplay.js.map +1 -0
  166. package/dist/web3/BlockExplorerLink/BlockExplorerLink.d.ts +41 -0
  167. package/dist/web3/BlockExplorerLink/BlockExplorerLink.d.ts.map +1 -0
  168. package/dist/web3/BlockExplorerLink/BlockExplorerLink.js +46 -0
  169. package/dist/web3/BlockExplorerLink/BlockExplorerLink.js.map +1 -0
  170. package/dist/web3/ConnectWallet/ConnectWallet.d.ts +35 -0
  171. package/dist/web3/ConnectWallet/ConnectWallet.d.ts.map +1 -0
  172. package/dist/web3/ConnectWallet/ConnectWallet.js +58 -0
  173. package/dist/web3/ConnectWallet/ConnectWallet.js.map +1 -0
  174. package/dist/web3/DisconnectButton/DisconnectButton.d.ts +30 -0
  175. package/dist/web3/DisconnectButton/DisconnectButton.d.ts.map +1 -0
  176. package/dist/web3/DisconnectButton/DisconnectButton.js +48 -0
  177. package/dist/web3/DisconnectButton/DisconnectButton.js.map +1 -0
  178. package/dist/web3/WalletBalance/WalletBalance.d.ts +27 -0
  179. package/dist/web3/WalletBalance/WalletBalance.d.ts.map +1 -0
  180. package/dist/web3/WalletBalance/WalletBalance.js +49 -0
  181. package/dist/web3/WalletBalance/WalletBalance.js.map +1 -0
  182. package/dist/web3/WalletDropdown/WalletDropdown.d.ts +29 -0
  183. package/dist/web3/WalletDropdown/WalletDropdown.d.ts.map +1 -0
  184. package/dist/web3/WalletDropdown/WalletDropdown.js +93 -0
  185. package/dist/web3/WalletDropdown/WalletDropdown.js.map +1 -0
  186. package/dist/web3/WalletInfo/WalletInfo.d.ts +31 -0
  187. package/dist/web3/WalletInfo/WalletInfo.d.ts.map +1 -0
  188. package/dist/web3/WalletInfo/WalletInfo.js +41 -0
  189. package/dist/web3/WalletInfo/WalletInfo.js.map +1 -0
  190. package/dist/web3/index.d.ts +11 -0
  191. package/dist/web3/index.d.ts.map +1 -0
  192. package/dist/web3/index.js +14 -0
  193. package/dist/web3/index.js.map +1 -0
  194. package/package.json +4 -3
@@ -0,0 +1,32 @@
1
+ import { ReactNode } from 'react';
2
+ import { DEFAULT_CHAIN, SUPPORTED_CHAINS } from '../config/chains';
3
+ export interface VarityProviderProps {
4
+ children: ReactNode;
5
+ clientId?: string;
6
+ activeChain?: typeof DEFAULT_CHAIN;
7
+ supportedChains?: typeof SUPPORTED_CHAINS;
8
+ theme?: 'light' | 'dark' | 'system';
9
+ }
10
+ /**
11
+ * Main provider wrapper for Varity applications
12
+ *
13
+ * This component wraps your application with all necessary Web3 providers:
14
+ * - Thirdweb client for wallet connections
15
+ * - Chain configuration for Varity L3
16
+ * - Theme management (light/dark mode)
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * import { VarityProvider } from '@varity-labs/ui-kit';
21
+ *
22
+ * function App() {
23
+ * return (
24
+ * <VarityProvider>
25
+ * <YourApp />
26
+ * </VarityProvider>
27
+ * );
28
+ * }
29
+ * ```
30
+ */
31
+ export declare function VarityProvider({ children, clientId, activeChain, supportedChains, theme, }: VarityProviderProps): JSX.Element;
32
+ //# sourceMappingURL=VarityProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VarityProvider.d.ts","sourceRoot":"","sources":["../../src/providers/VarityProvider.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,OAAO,EAAsB,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIvF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,aAAa,CAAC;IACnC,eAAe,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC1C,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,QAA6B,EAC7B,WAA2B,EAC3B,eAAkC,EAClC,KAAgB,GACjB,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAsCnC"}
@@ -0,0 +1,56 @@
1
+ import React from 'react';
2
+ import { ThirdwebProvider } from 'thirdweb/react';
3
+ import { createThirdwebClient } from 'thirdweb';
4
+ import { THIRDWEB_CLIENT_ID, DEFAULT_CHAIN, SUPPORTED_CHAINS } from '../config/chains';
5
+ /**
6
+ * Main provider wrapper for Varity applications
7
+ *
8
+ * This component wraps your application with all necessary Web3 providers:
9
+ * - Thirdweb client for wallet connections
10
+ * - Chain configuration for Varity L3
11
+ * - Theme management (light/dark mode)
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * import { VarityProvider } from '@varity-labs/ui-kit';
16
+ *
17
+ * function App() {
18
+ * return (
19
+ * <VarityProvider>
20
+ * <YourApp />
21
+ * </VarityProvider>
22
+ * );
23
+ * }
24
+ * ```
25
+ */
26
+ export function VarityProvider({ children, clientId = THIRDWEB_CLIENT_ID, activeChain = DEFAULT_CHAIN, supportedChains = SUPPORTED_CHAINS, theme = 'system', }) {
27
+ // Create Thirdweb client
28
+ const client = React.useMemo(() => createThirdwebClient({ clientId }), [clientId]);
29
+ // Apply theme to document
30
+ React.useEffect(() => {
31
+ const root = document.documentElement;
32
+ if (theme === 'dark') {
33
+ root.classList.add('dark');
34
+ }
35
+ else if (theme === 'light') {
36
+ root.classList.remove('dark');
37
+ }
38
+ else {
39
+ // System theme
40
+ const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)');
41
+ const updateTheme = () => {
42
+ if (mediaQuery.matches) {
43
+ root.classList.add('dark');
44
+ }
45
+ else {
46
+ root.classList.remove('dark');
47
+ }
48
+ };
49
+ updateTheme();
50
+ mediaQuery.addEventListener('change', updateTheme);
51
+ return () => mediaQuery.removeEventListener('change', updateTheme);
52
+ }
53
+ }, [theme]);
54
+ return (React.createElement(ThirdwebProvider, null, children));
55
+ }
56
+ //# sourceMappingURL=VarityProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VarityProvider.js","sourceRoot":"","sources":["../../src/providers/VarityProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAYvF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,QAAQ,EACR,QAAQ,GAAG,kBAAkB,EAC7B,WAAW,GAAG,aAAa,EAC3B,eAAe,GAAG,gBAAgB,EAClC,KAAK,GAAG,QAAQ,GACI;IACpB,yBAAyB;IACzB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAC1B,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,QAAQ,EAAE,CAAC,EACxC,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,0BAA0B;IAC1B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;QAEtC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,eAAe;YACf,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC;YACrE,MAAM,WAAW,GAAG,GAAG,EAAE;gBACvB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC,CAAC;YAEF,WAAW,EAAE,CAAC;YACd,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAEnD,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL,oBAAC,gBAAgB,QACd,QAAQ,CACQ,CACpB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { ReactNode } from 'react';
2
+ import type { Account } from 'thirdweb/wallets';
3
+ export interface WalletContextValue {
4
+ address: string | null;
5
+ account: Account | null;
6
+ isConnected: boolean;
7
+ isConnecting: boolean;
8
+ disconnect: () => Promise<void>;
9
+ }
10
+ export interface WalletProviderProps {
11
+ children: ReactNode;
12
+ onConnect?: (address: string) => void;
13
+ onDisconnect?: () => void;
14
+ }
15
+ /**
16
+ * Wallet state management provider
17
+ *
18
+ * Manages wallet connection state and provides utilities for:
19
+ * - Accessing current wallet address
20
+ * - Checking connection status
21
+ * - Disconnecting wallet
22
+ * - Event callbacks for connection changes
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * import { WalletProvider } from '@varity-labs/ui-kit';
27
+ *
28
+ * function App() {
29
+ * return (
30
+ * <WalletProvider
31
+ * onConnect={(address) => console.log('Connected:', address)}
32
+ * onDisconnect={() => console.log('Disconnected')}
33
+ * >
34
+ * <YourApp />
35
+ * </WalletProvider>
36
+ * );
37
+ * }
38
+ * ```
39
+ */
40
+ export declare function WalletProvider({ children, onConnect, onDisconnect }: WalletProviderProps): JSX.Element;
41
+ /**
42
+ * Hook to access wallet context
43
+ *
44
+ * @returns {WalletContextValue} Wallet state and utilities
45
+ * @throws {Error} If used outside WalletProvider
46
+ *
47
+ * @example
48
+ * ```tsx
49
+ * import { useWallet } from '@varity-labs/ui-kit';
50
+ *
51
+ * function MyComponent() {
52
+ * const { address, isConnected, disconnect } = useWallet();
53
+ *
54
+ * if (!isConnected) {
55
+ * return <p>Please connect your wallet</p>;
56
+ * }
57
+ *
58
+ * return (
59
+ * <div>
60
+ * <p>Connected: {address}</p>
61
+ * <button onClick={disconnect}>Disconnect</button>
62
+ * </div>
63
+ * );
64
+ * }
65
+ * ```
66
+ */
67
+ export declare function useWallet(): WalletContextValue;
68
+ //# sourceMappingURL=WalletContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletContext.d.ts","sourceRoot":"","sources":["../../src/providers/WalletContext.tsx"],"names":[],"mappings":"AAAA,OAAc,EAA0C,SAAS,EAAa,MAAM,OAAO,CAAC;AAE5F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAID,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAwCtG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,SAAS,IAAI,kBAAkB,CAM9C"}
@@ -0,0 +1,98 @@
1
+ import React, { createContext, useContext, useCallback, useEffect } from 'react';
2
+ import { useActiveAccount, useDisconnect, useActiveWallet } from 'thirdweb/react';
3
+ const WalletContext = createContext(null);
4
+ /**
5
+ * Wallet state management provider
6
+ *
7
+ * Manages wallet connection state and provides utilities for:
8
+ * - Accessing current wallet address
9
+ * - Checking connection status
10
+ * - Disconnecting wallet
11
+ * - Event callbacks for connection changes
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * import { WalletProvider } from '@varity-labs/ui-kit';
16
+ *
17
+ * function App() {
18
+ * return (
19
+ * <WalletProvider
20
+ * onConnect={(address) => console.log('Connected:', address)}
21
+ * onDisconnect={() => console.log('Disconnected')}
22
+ * >
23
+ * <YourApp />
24
+ * </WalletProvider>
25
+ * );
26
+ * }
27
+ * ```
28
+ */
29
+ export function WalletProvider({ children, onConnect, onDisconnect }) {
30
+ const account = useActiveAccount();
31
+ const wallet = useActiveWallet();
32
+ const { disconnect: thirdwebDisconnect } = useDisconnect();
33
+ // Note: Connection state is managed by thirdweb hooks
34
+ const isConnecting = false;
35
+ const address = account?.address || null;
36
+ const isConnected = !!address;
37
+ // Handle connection events
38
+ useEffect(() => {
39
+ if (isConnected && address && onConnect) {
40
+ onConnect(address);
41
+ }
42
+ }, [isConnected, address, onConnect]);
43
+ const disconnect = useCallback(async () => {
44
+ try {
45
+ if (wallet) {
46
+ await thirdwebDisconnect(wallet);
47
+ }
48
+ if (onDisconnect) {
49
+ onDisconnect();
50
+ }
51
+ }
52
+ catch (error) {
53
+ console.error('Error disconnecting wallet:', error);
54
+ }
55
+ }, [wallet, thirdwebDisconnect, onDisconnect]);
56
+ const value = {
57
+ address,
58
+ account: account || null,
59
+ isConnected,
60
+ isConnecting,
61
+ disconnect,
62
+ };
63
+ return React.createElement(WalletContext.Provider, { value: value }, children);
64
+ }
65
+ /**
66
+ * Hook to access wallet context
67
+ *
68
+ * @returns {WalletContextValue} Wallet state and utilities
69
+ * @throws {Error} If used outside WalletProvider
70
+ *
71
+ * @example
72
+ * ```tsx
73
+ * import { useWallet } from '@varity-labs/ui-kit';
74
+ *
75
+ * function MyComponent() {
76
+ * const { address, isConnected, disconnect } = useWallet();
77
+ *
78
+ * if (!isConnected) {
79
+ * return <p>Please connect your wallet</p>;
80
+ * }
81
+ *
82
+ * return (
83
+ * <div>
84
+ * <p>Connected: {address}</p>
85
+ * <button onClick={disconnect}>Disconnect</button>
86
+ * </div>
87
+ * );
88
+ * }
89
+ * ```
90
+ */
91
+ export function useWallet() {
92
+ const context = useContext(WalletContext);
93
+ if (!context) {
94
+ throw new Error('useWallet must be used within WalletProvider');
95
+ }
96
+ return context;
97
+ }
98
+ //# sourceMappingURL=WalletContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletContext.js","sourceRoot":"","sources":["../../src/providers/WalletContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAWlF,MAAM,aAAa,GAAG,aAAa,CAA4B,IAAI,CAAC,CAAC;AAQrE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAuB;IACvF,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,aAAa,EAAE,CAAC;IAE3D,sDAAsD;IACtD,MAAM,YAAY,GAAG,KAAK,CAAC;IAE3B,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;IACzC,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC;IAE9B,2BAA2B;IAC3B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;YACxC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAEtC,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACxC,IAAI,CAAC;YACH,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC,CAAC;IAE/C,MAAM,KAAK,GAAuB;QAChC,OAAO;QACP,OAAO,EAAE,OAAO,IAAI,IAAI;QACxB,WAAW;QACX,YAAY;QACZ,UAAU;KACX,CAAC;IAEF,OAAO,oBAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,IAAG,QAAQ,CAA0B,CAAC;AACnF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,SAAS;IACvB,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,25 +1,22 @@
1
1
  import React, { ReactNode } from 'react';
2
2
  /**
3
- * Wallet Sync State
4
- * Provides unified wallet state from Privy and Thirdweb
3
+ * Auth Sync State
4
+ * Provides unified auth state from Privy
5
5
  */
6
6
  export interface WalletSyncState {
7
- /** The connected wallet address (from Privy embedded wallet or external wallet) */
7
+ /** The user's account address (from Privy embedded wallet) */
8
8
  address: string | null;
9
- /** Whether wallet state is still loading */
9
+ /** Whether auth state is still loading */
10
10
  isLoading: boolean;
11
- /** Whether Privy and Thirdweb wallets are in sync */
11
+ /** Whether the user account is ready */
12
12
  isSynced: boolean;
13
- /** Whether the user is authenticated via Privy */
13
+ /** Whether the user is authenticated */
14
14
  isAuthenticated: boolean;
15
- /** The authentication method used (email, google, wallet, etc.) */
15
+ /** The authentication method used (email, google, etc.) */
16
16
  authMethod: string | null;
17
17
  }
18
18
  /**
19
- * WalletSyncContext - Provides unified wallet state across Privy and Thirdweb
20
- *
21
- * This context synchronizes embedded wallets (created by Privy for email/social users)
22
- * with Thirdweb's wallet context, ensuring a consistent experience.
19
+ * WalletSyncContext - Provides unified auth state via Privy
23
20
  */
24
21
  export declare const WalletSyncContext: React.Context<WalletSyncState>;
25
22
  /**
@@ -50,23 +47,23 @@ export interface WalletSyncProviderProps {
50
47
  onSyncStateChange?: (state: WalletSyncState) => void;
51
48
  }
52
49
  /**
53
- * WalletSyncProvider - Synchronizes Privy embedded wallets with Thirdweb
50
+ * WalletSyncProvider - Provides unified auth state for Varity apps
54
51
  *
55
52
  * This provider ensures that when a user signs in with email/Google,
56
- * their embedded wallet is immediately available to all components using Thirdweb hooks.
53
+ * their account address is available to all components.
57
54
  *
58
55
  * Features:
59
- * - Syncs Privy wallets with Thirdweb context
60
- * - Supports embedded wallets (email/social login)
61
- * - Supports external wallets (MetaMask, WalletConnect, etc.)
62
- * - Provides unified wallet state across the app
56
+ * - Tracks user address from Privy embedded account
57
+ * - Supports email/social login (email, Google, etc.)
58
+ * - Provides unified auth state across the app
63
59
  *
64
60
  * @example
65
61
  * ```tsx
66
62
  * import { WalletSyncProvider, VarityPrivyProvider } from '@varity-labs/ui-kit';
63
+ *
67
64
  * function App() {
68
65
  * return (
69
- * <VarityPrivyProvider appId="your-privy-app-id">
66
+ * <VarityPrivyProvider appId="your-app-id">
70
67
  * <WalletSyncProvider>
71
68
  * <YourApp />
72
69
  * </WalletSyncProvider>
@@ -1 +1 @@
1
- {"version":3,"file":"WalletSyncProvider.d.ts","sourceRoot":"","sources":["../../src/providers/WalletSyncProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAkD,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzF;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,mFAAmF;IACnF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,4CAA4C;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,qDAAqD;IACrD,QAAQ,EAAE,OAAO,CAAC;IAClB,kDAAkD;IAClD,eAAe,EAAE,OAAO,CAAC;IACzB,mEAAmE;IACnE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,gCAM5B,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,uBAAsC,CAAC;AAEjE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CACtD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,eAAe,EACf,iBAAiB,GAClB,EAAE,uBAAuB,qBAwEzB;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"WalletSyncProvider.d.ts","sourceRoot":"","sources":["../../src/providers/WalletSyncProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAkD,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzF;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,0CAA0C;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,wCAAwC;IACxC,eAAe,EAAE,OAAO,CAAC;IACzB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,gCAM5B,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,uBAAsC,CAAC;AAEjE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CACtD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,eAAe,EACf,iBAAiB,GAClB,EAAE,uBAAuB,qBAwEzB;AAED,eAAe,kBAAkB,CAAC"}
@@ -1,10 +1,7 @@
1
1
  import React, { useState, useEffect, createContext, useContext } from 'react';
2
2
  import { usePrivy, useWallets } from '@privy-io/react-auth';
3
3
  /**
4
- * WalletSyncContext - Provides unified wallet state across Privy and Thirdweb
5
- *
6
- * This context synchronizes embedded wallets (created by Privy for email/social users)
7
- * with Thirdweb's wallet context, ensuring a consistent experience.
4
+ * WalletSyncContext - Provides unified auth state via Privy
8
5
  */
9
6
  export const WalletSyncContext = createContext({
10
7
  address: null,
@@ -30,23 +27,23 @@ export const WalletSyncContext = createContext({
30
27
  */
31
28
  export const useWalletSync = () => useContext(WalletSyncContext);
32
29
  /**
33
- * WalletSyncProvider - Synchronizes Privy embedded wallets with Thirdweb
30
+ * WalletSyncProvider - Provides unified auth state for Varity apps
34
31
  *
35
32
  * This provider ensures that when a user signs in with email/Google,
36
- * their embedded wallet is immediately available to all components using Thirdweb hooks.
33
+ * their account address is available to all components.
37
34
  *
38
35
  * Features:
39
- * - Syncs Privy wallets with Thirdweb context
40
- * - Supports embedded wallets (email/social login)
41
- * - Supports external wallets (MetaMask, WalletConnect, etc.)
42
- * - Provides unified wallet state across the app
36
+ * - Tracks user address from Privy embedded account
37
+ * - Supports email/social login (email, Google, etc.)
38
+ * - Provides unified auth state across the app
43
39
  *
44
40
  * @example
45
41
  * ```tsx
46
42
  * import { WalletSyncProvider, VarityPrivyProvider } from '@varity-labs/ui-kit';
43
+ *
47
44
  * function App() {
48
45
  * return (
49
- * <VarityPrivyProvider appId="your-privy-app-id">
46
+ * <VarityPrivyProvider appId="your-app-id">
50
47
  * <WalletSyncProvider>
51
48
  * <YourApp />
52
49
  * </WalletSyncProvider>
@@ -66,7 +63,7 @@ export function WalletSyncProvider({ children, onAddressChange, onSyncStateChang
66
63
  authMethod: null,
67
64
  });
68
65
  useEffect(() => {
69
- // Get the primary wallet address from Privy
66
+ // Get the primary user address (Privy embedded wallet)
70
67
  const privyWallet = wallets && wallets.length > 0 ? wallets[0] : null;
71
68
  const primaryAddress = privyWallet?.address || null;
72
69
  // Determine auth method
@@ -109,13 +106,13 @@ export function WalletSyncProvider({ children, onAddressChange, onSyncStateChang
109
106
  onSyncStateChange(newState);
110
107
  }
111
108
  }, [authenticated, user, wallets, walletsReady, privyReady, onAddressChange, onSyncStateChange, syncState.address]);
112
- // Store wallet address in localStorage for persistence across sessions
109
+ // Store user address in localStorage for persistence across sessions
113
110
  useEffect(() => {
114
111
  if (syncState.address) {
115
- localStorage.setItem('wallet_address', syncState.address);
112
+ localStorage.setItem('varity_user_address', syncState.address);
116
113
  }
117
114
  else if (!syncState.isLoading && !syncState.isAuthenticated) {
118
- localStorage.removeItem('wallet_address');
115
+ localStorage.removeItem('varity_user_address');
119
116
  }
120
117
  }, [syncState.address, syncState.isLoading, syncState.isAuthenticated]);
121
118
  return (React.createElement(WalletSyncContext.Provider, { value: syncState }, children));
@@ -1 +1 @@
1
- {"version":3,"file":"WalletSyncProvider.js","sourceRoot":"","sources":["../../src/providers/WalletSyncProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WalletSyncProvider.js","sourceRoot":"","sources":["../../src/providers/WalletSyncProvider.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ export { VarityProvider, type VarityProviderProps } from './VarityProvider';
2
+ export { WalletProvider, useWallet, type WalletProviderProps, type WalletContextValue } from './WalletContext';
3
+ export { ChainProvider, useChain, type ChainProviderProps, type ChainContextValue } from './ChainContext';
4
+ export { VarityPrivyProvider, type VarityPrivyProviderProps } from './PrivyProvider';
5
+ export { PrivyStack, type PrivyStackProps } from './PrivyStack';
6
+ export { ZeroDevProvider, useSmartAccount, useZeroDev, type ZeroDevContextType, type ZeroDevProviderProps } from './ZeroDevProvider';
7
+ export { WalletSyncProvider, WalletSyncContext, useWalletSync, type WalletSyncState, type WalletSyncProviderProps, } from './WalletSyncProvider';
8
+ export { VarityDashboardProvider, type VarityDashboardProviderProps, } from './VarityDashboardProvider';
9
+ /**
10
+ * Provider Setup Guide
11
+ *
12
+ * For simple Thirdweb-only apps:
13
+ * @example
14
+ * ```tsx
15
+ * import { VarityProvider, WalletProvider, ChainProvider } from '@varity-labs/ui-kit';
16
+ *
17
+ * function App() {
18
+ * return (
19
+ * <VarityProvider>
20
+ * <WalletProvider>
21
+ * <ChainProvider>
22
+ * <YourApp />
23
+ * </ChainProvider>
24
+ * </WalletProvider>
25
+ * </VarityProvider>
26
+ * );
27
+ * }
28
+ * ```
29
+ *
30
+ * For dashboards with Privy authentication (RECOMMENDED):
31
+ * @example
32
+ * ```tsx
33
+ * import { VarityDashboardProvider } from '@varity-labs/ui-kit';
34
+ *
35
+ * function App() {
36
+ * return (
37
+ * <VarityDashboardProvider
38
+ * privyAppId="your-privy-app-id"
39
+ * thirdwebClientId="your-thirdweb-client-id"
40
+ * appearance={{ theme: 'light', accentColor: '#2563EB' }}
41
+ * >
42
+ * <YourDashboard />
43
+ * </VarityDashboardProvider>
44
+ * );
45
+ * }
46
+ * ```
47
+ */
48
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC/G,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAG1G,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAGrF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGrI,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,KAAK,eAAe,EACpB,KAAK,uBAAuB,GAC7B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,uBAAuB,EACvB,KAAK,4BAA4B,GAClC,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG"}
@@ -0,0 +1,53 @@
1
+ export { VarityProvider } from './VarityProvider';
2
+ export { WalletProvider, useWallet } from './WalletContext';
3
+ export { ChainProvider, useChain } from './ChainContext';
4
+ // Privy Integration
5
+ export { VarityPrivyProvider } from './PrivyProvider';
6
+ // Privy Stack (All-in-one provider setup - PRODUCTION PATTERN)
7
+ export { PrivyStack } from './PrivyStack';
8
+ // ZeroDev Account Abstraction (gasless transactions)
9
+ export { ZeroDevProvider, useSmartAccount, useZeroDev } from './ZeroDevProvider';
10
+ // Wallet Sync (Privy + Thirdweb synchronization)
11
+ export { WalletSyncProvider, WalletSyncContext, useWalletSync, } from './WalletSyncProvider';
12
+ // Complete Dashboard Provider (Privy + Thirdweb + WalletSync + React Query)
13
+ export { VarityDashboardProvider, } from './VarityDashboardProvider';
14
+ /**
15
+ * Provider Setup Guide
16
+ *
17
+ * For simple Thirdweb-only apps:
18
+ * @example
19
+ * ```tsx
20
+ * import { VarityProvider, WalletProvider, ChainProvider } from '@varity-labs/ui-kit';
21
+ *
22
+ * function App() {
23
+ * return (
24
+ * <VarityProvider>
25
+ * <WalletProvider>
26
+ * <ChainProvider>
27
+ * <YourApp />
28
+ * </ChainProvider>
29
+ * </WalletProvider>
30
+ * </VarityProvider>
31
+ * );
32
+ * }
33
+ * ```
34
+ *
35
+ * For dashboards with Privy authentication (RECOMMENDED):
36
+ * @example
37
+ * ```tsx
38
+ * import { VarityDashboardProvider } from '@varity-labs/ui-kit';
39
+ *
40
+ * function App() {
41
+ * return (
42
+ * <VarityDashboardProvider
43
+ * privyAppId="your-privy-app-id"
44
+ * thirdwebClientId="your-thirdweb-client-id"
45
+ * appearance={{ theme: 'light', accentColor: '#2563EB' }}
46
+ * >
47
+ * <YourDashboard />
48
+ * </VarityDashboardProvider>
49
+ * );
50
+ * }
51
+ * ```
52
+ */
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA4B,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,SAAS,EAAqD,MAAM,iBAAiB,CAAC;AAC/G,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAmD,MAAM,gBAAgB,CAAC;AAE1G,oBAAoB;AACpB,OAAO,EAAE,mBAAmB,EAAiC,MAAM,iBAAiB,CAAC;AAErF,+DAA+D;AAC/D,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAEhE,qDAAqD;AACrD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAsD,MAAM,mBAAmB,CAAC;AAErI,iDAAiD;AACjD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,GAGd,MAAM,sBAAsB,CAAC;AAE9B,4EAA4E;AAC5E,OAAO,EACL,uBAAuB,GAExB,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * SimpleSmartWallet - Zero-config smart wallet with gasless transactions
3
+ *
4
+ * Perfect for getting started quickly. Advanced users should use SmartWalletProvider directly.
5
+ *
6
+ * @example Basic usage
7
+ * ```tsx
8
+ * import { SimpleSmartWallet } from '@varity-labs/ui-kit';
9
+ *
10
+ * <SimpleSmartWallet appId="your-app-id">
11
+ * <YourApp />
12
+ * </SimpleSmartWallet>
13
+ * ```
14
+ *
15
+ * @example With custom developer wallet
16
+ * ```tsx
17
+ * <SimpleSmartWallet
18
+ * appId="your-app-id"
19
+ * developerWallet="0x..."
20
+ * >
21
+ * <YourApp />
22
+ * </SimpleSmartWallet>
23
+ * ```
24
+ */
25
+ import React from 'react';
26
+ export interface SimpleSmartWalletProps {
27
+ /**
28
+ * Your app ID (for gas tracking and billing)
29
+ * Get this from Varity App Store dashboard
30
+ */
31
+ appId: string;
32
+ /**
33
+ * Developer wallet address for gas billing (optional)
34
+ * Defaults to connected wallet
35
+ */
36
+ developerWallet?: string;
37
+ /**
38
+ * Enable gasless transactions (default: true)
39
+ */
40
+ gasless?: boolean;
41
+ /**
42
+ * thirdweb client ID (optional)
43
+ * Uses shared dev credentials if not provided
44
+ */
45
+ thirdwebClientId?: string;
46
+ /**
47
+ * Enable gas tracking (default: true on production)
48
+ */
49
+ trackGas?: boolean;
50
+ children: React.ReactNode;
51
+ }
52
+ /**
53
+ * SimpleSmartWallet Component
54
+ *
55
+ * Zero-configuration smart wallet wrapper that "just works" for rapid prototyping.
56
+ * Uses shared development credentials by default - upgrade to custom credentials for production.
57
+ *
58
+ * Features:
59
+ * - Gasless transactions (Varity pays gas by default)
60
+ * - Smart wallet (ERC-4337)
61
+ * - Automatic gas tracking for billing
62
+ * - Zero configuration required
63
+ *
64
+ * @param props - SimpleSmartWallet configuration
65
+ * @returns React component
66
+ */
67
+ export declare function SimpleSmartWallet({ appId, developerWallet, gasless, thirdwebClientId, trackGas, children, }: SimpleSmartWalletProps): React.JSX.Element;
68
+ //# sourceMappingURL=SimpleSmartWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleSmartWallet.d.ts","sourceRoot":"","sources":["../../src/wallets/SimpleSmartWallet.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,eAAe,EACf,OAAc,EACd,gBAAgB,EAChB,QAAgD,EAChD,QAAQ,GACT,EAAE,sBAAsB,qBAoCxB"}