@varity-labs/ui-kit 2.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (495) hide show
  1. package/LICENSE +31 -0
  2. package/README.md +248 -0
  3. package/dist/components/AI/ChatbotWidget.d.ts +53 -0
  4. package/dist/components/AI/ChatbotWidget.d.ts.map +1 -0
  5. package/dist/components/AI/ChatbotWidget.js +126 -0
  6. package/dist/components/AI/ChatbotWidget.js.map +1 -0
  7. package/dist/components/AI/InputBar.d.ts +25 -0
  8. package/dist/components/AI/InputBar.d.ts.map +1 -0
  9. package/dist/components/AI/InputBar.js +126 -0
  10. package/dist/components/AI/InputBar.js.map +1 -0
  11. package/dist/components/AI/MessageBubble.d.ts +37 -0
  12. package/dist/components/AI/MessageBubble.d.ts.map +1 -0
  13. package/dist/components/AI/MessageBubble.js +124 -0
  14. package/dist/components/AI/MessageBubble.js.map +1 -0
  15. package/dist/components/AI/index.d.ts +12 -0
  16. package/dist/components/AI/index.d.ts.map +1 -0
  17. package/dist/components/AI/index.js +9 -0
  18. package/dist/components/AI/index.js.map +1 -0
  19. package/dist/components/Analytics/AnalyticsCard.d.ts +48 -0
  20. package/dist/components/Analytics/AnalyticsCard.d.ts.map +1 -0
  21. package/dist/components/Analytics/AnalyticsCard.js +156 -0
  22. package/dist/components/Analytics/AnalyticsCard.js.map +1 -0
  23. package/dist/components/Analytics/ChartContainer.d.ts +53 -0
  24. package/dist/components/Analytics/ChartContainer.d.ts.map +1 -0
  25. package/dist/components/Analytics/ChartContainer.js +128 -0
  26. package/dist/components/Analytics/ChartContainer.js.map +1 -0
  27. package/dist/components/Analytics/DataTable.d.ts +62 -0
  28. package/dist/components/Analytics/DataTable.d.ts.map +1 -0
  29. package/dist/components/Analytics/DataTable.js +165 -0
  30. package/dist/components/Analytics/DataTable.js.map +1 -0
  31. package/dist/components/Analytics/MetricDisplay.d.ts +42 -0
  32. package/dist/components/Analytics/MetricDisplay.d.ts.map +1 -0
  33. package/dist/components/Analytics/MetricDisplay.js +110 -0
  34. package/dist/components/Analytics/MetricDisplay.js.map +1 -0
  35. package/dist/components/Analytics/index.d.ts +14 -0
  36. package/dist/components/Analytics/index.d.ts.map +1 -0
  37. package/dist/components/Analytics/index.js +10 -0
  38. package/dist/components/Analytics/index.js.map +1 -0
  39. package/dist/components/Branding/Attribution.d.ts +39 -0
  40. package/dist/components/Branding/Attribution.d.ts.map +1 -0
  41. package/dist/components/Branding/Attribution.js +124 -0
  42. package/dist/components/Branding/Attribution.js.map +1 -0
  43. package/dist/components/Branding/Logo.d.ts +39 -0
  44. package/dist/components/Branding/Logo.d.ts.map +1 -0
  45. package/dist/components/Branding/Logo.js +67 -0
  46. package/dist/components/Branding/Logo.js.map +1 -0
  47. package/dist/components/Branding/ThemeProvider.d.ts +85 -0
  48. package/dist/components/Branding/ThemeProvider.d.ts.map +1 -0
  49. package/dist/components/Branding/ThemeProvider.js +186 -0
  50. package/dist/components/Branding/ThemeProvider.js.map +1 -0
  51. package/dist/components/Branding/index.d.ts +12 -0
  52. package/dist/components/Branding/index.d.ts.map +1 -0
  53. package/dist/components/Branding/index.js +9 -0
  54. package/dist/components/Branding/index.js.map +1 -0
  55. package/dist/components/Dashboard/DashboardFooter.d.ts +30 -0
  56. package/dist/components/Dashboard/DashboardFooter.d.ts.map +1 -0
  57. package/dist/components/Dashboard/DashboardFooter.js +68 -0
  58. package/dist/components/Dashboard/DashboardFooter.js.map +1 -0
  59. package/dist/components/Dashboard/DashboardHeader.d.ts +24 -0
  60. package/dist/components/Dashboard/DashboardHeader.d.ts.map +1 -0
  61. package/dist/components/Dashboard/DashboardHeader.js +87 -0
  62. package/dist/components/Dashboard/DashboardHeader.js.map +1 -0
  63. package/dist/components/Dashboard/DashboardLayout.d.ts +71 -0
  64. package/dist/components/Dashboard/DashboardLayout.d.ts.map +1 -0
  65. package/dist/components/Dashboard/DashboardLayout.js +52 -0
  66. package/dist/components/Dashboard/DashboardLayout.js.map +1 -0
  67. package/dist/components/Dashboard/DashboardSidebar.d.ts +26 -0
  68. package/dist/components/Dashboard/DashboardSidebar.d.ts.map +1 -0
  69. package/dist/components/Dashboard/DashboardSidebar.js +146 -0
  70. package/dist/components/Dashboard/DashboardSidebar.js.map +1 -0
  71. package/dist/components/Dashboard/EmptyState.d.ts +84 -0
  72. package/dist/components/Dashboard/EmptyState.d.ts.map +1 -0
  73. package/dist/components/Dashboard/EmptyState.js +99 -0
  74. package/dist/components/Dashboard/EmptyState.js.map +1 -0
  75. package/dist/components/Dashboard/KPICard.d.ts +58 -0
  76. package/dist/components/Dashboard/KPICard.d.ts.map +1 -0
  77. package/dist/components/Dashboard/KPICard.js +82 -0
  78. package/dist/components/Dashboard/KPICard.js.map +1 -0
  79. package/dist/components/Dashboard/LoadingSkeleton.d.ts +58 -0
  80. package/dist/components/Dashboard/LoadingSkeleton.d.ts.map +1 -0
  81. package/dist/components/Dashboard/LoadingSkeleton.js +105 -0
  82. package/dist/components/Dashboard/LoadingSkeleton.js.map +1 -0
  83. package/dist/components/Dashboard/StatusBadge.d.ts +57 -0
  84. package/dist/components/Dashboard/StatusBadge.d.ts.map +1 -0
  85. package/dist/components/Dashboard/StatusBadge.js +149 -0
  86. package/dist/components/Dashboard/StatusBadge.js.map +1 -0
  87. package/dist/components/Dashboard/index.d.ts +19 -0
  88. package/dist/components/Dashboard/index.d.ts.map +1 -0
  89. package/dist/components/Dashboard/index.js +18 -0
  90. package/dist/components/Dashboard/index.js.map +1 -0
  91. package/dist/components/InAppWallet/EmailLoginButton.d.ts +27 -0
  92. package/dist/components/InAppWallet/EmailLoginButton.d.ts.map +1 -0
  93. package/dist/components/InAppWallet/EmailLoginButton.js +84 -0
  94. package/dist/components/InAppWallet/EmailLoginButton.js.map +1 -0
  95. package/dist/components/InAppWallet/InAppWalletProvider.d.ts +54 -0
  96. package/dist/components/InAppWallet/InAppWalletProvider.d.ts.map +1 -0
  97. package/dist/components/InAppWallet/InAppWalletProvider.js +238 -0
  98. package/dist/components/InAppWallet/InAppWalletProvider.js.map +1 -0
  99. package/dist/components/InAppWallet/OnboardingFlow.d.ts +25 -0
  100. package/dist/components/InAppWallet/OnboardingFlow.d.ts.map +1 -0
  101. package/dist/components/InAppWallet/OnboardingFlow.js +159 -0
  102. package/dist/components/InAppWallet/OnboardingFlow.js.map +1 -0
  103. package/dist/components/InAppWallet/SocialLoginButtons.d.ts +28 -0
  104. package/dist/components/InAppWallet/SocialLoginButtons.d.ts.map +1 -0
  105. package/dist/components/InAppWallet/SocialLoginButtons.js +128 -0
  106. package/dist/components/InAppWallet/SocialLoginButtons.js.map +1 -0
  107. package/dist/components/InAppWallet/index.d.ts +15 -0
  108. package/dist/components/InAppWallet/index.d.ts.map +1 -0
  109. package/dist/components/InAppWallet/index.js +14 -0
  110. package/dist/components/InAppWallet/index.js.map +1 -0
  111. package/dist/components/Onramp/BuyUSDCButton.d.ts +27 -0
  112. package/dist/components/Onramp/BuyUSDCButton.d.ts.map +1 -0
  113. package/dist/components/Onramp/BuyUSDCButton.js +70 -0
  114. package/dist/components/Onramp/BuyUSDCButton.js.map +1 -0
  115. package/dist/components/Onramp/OnrampWidget.d.ts +38 -0
  116. package/dist/components/Onramp/OnrampWidget.d.ts.map +1 -0
  117. package/dist/components/Onramp/OnrampWidget.js +105 -0
  118. package/dist/components/Onramp/OnrampWidget.js.map +1 -0
  119. package/dist/components/Onramp/index.d.ts +14 -0
  120. package/dist/components/Onramp/index.d.ts.map +1 -0
  121. package/dist/components/Onramp/index.js +12 -0
  122. package/dist/components/Onramp/index.js.map +1 -0
  123. package/dist/components/Payments/CheckoutModal.d.ts +19 -0
  124. package/dist/components/Payments/CheckoutModal.d.ts.map +1 -0
  125. package/dist/components/Payments/CheckoutModal.js +183 -0
  126. package/dist/components/Payments/CheckoutModal.js.map +1 -0
  127. package/dist/components/Payments/SubscriptionWidget.d.ts +17 -0
  128. package/dist/components/Payments/SubscriptionWidget.d.ts.map +1 -0
  129. package/dist/components/Payments/SubscriptionWidget.js +89 -0
  130. package/dist/components/Payments/SubscriptionWidget.js.map +1 -0
  131. package/dist/components/Payments/constants.d.ts +59 -0
  132. package/dist/components/Payments/constants.d.ts.map +1 -0
  133. package/dist/components/Payments/constants.js +145 -0
  134. package/dist/components/Payments/constants.js.map +1 -0
  135. package/dist/components/Payments/index.d.ts +10 -0
  136. package/dist/components/Payments/index.d.ts.map +1 -0
  137. package/dist/components/Payments/index.js +12 -0
  138. package/dist/components/Payments/index.js.map +1 -0
  139. package/dist/components/Payments/types.d.ts +119 -0
  140. package/dist/components/Payments/types.d.ts.map +1 -0
  141. package/dist/components/Payments/types.js +27 -0
  142. package/dist/components/Payments/types.js.map +1 -0
  143. package/dist/components/Payments/usePayments.d.ts +33 -0
  144. package/dist/components/Payments/usePayments.d.ts.map +1 -0
  145. package/dist/components/Payments/usePayments.js +249 -0
  146. package/dist/components/Payments/usePayments.js.map +1 -0
  147. package/dist/components/Privy/InitTimeoutScreen.d.ts +62 -0
  148. package/dist/components/Privy/InitTimeoutScreen.d.ts.map +1 -0
  149. package/dist/components/Privy/InitTimeoutScreen.js +64 -0
  150. package/dist/components/Privy/InitTimeoutScreen.js.map +1 -0
  151. package/dist/components/Privy/InitializingScreen.d.ts +56 -0
  152. package/dist/components/Privy/InitializingScreen.d.ts.map +1 -0
  153. package/dist/components/Privy/InitializingScreen.js +60 -0
  154. package/dist/components/Privy/InitializingScreen.js.map +1 -0
  155. package/dist/components/Privy/PrivyLoginButton.d.ts +27 -0
  156. package/dist/components/Privy/PrivyLoginButton.d.ts.map +1 -0
  157. package/dist/components/Privy/PrivyLoginButton.js +48 -0
  158. package/dist/components/Privy/PrivyLoginButton.js.map +1 -0
  159. package/dist/components/Privy/PrivyProtectedRoute.d.ts +22 -0
  160. package/dist/components/Privy/PrivyProtectedRoute.d.ts.map +1 -0
  161. package/dist/components/Privy/PrivyProtectedRoute.js +46 -0
  162. package/dist/components/Privy/PrivyProtectedRoute.js.map +1 -0
  163. package/dist/components/Privy/PrivyReadyGate.d.ts +69 -0
  164. package/dist/components/Privy/PrivyReadyGate.d.ts.map +1 -0
  165. package/dist/components/Privy/PrivyReadyGate.js +83 -0
  166. package/dist/components/Privy/PrivyReadyGate.js.map +1 -0
  167. package/dist/components/Privy/PrivyUserProfile.d.ts +25 -0
  168. package/dist/components/Privy/PrivyUserProfile.d.ts.map +1 -0
  169. package/dist/components/Privy/PrivyUserProfile.js +98 -0
  170. package/dist/components/Privy/PrivyUserProfile.js.map +1 -0
  171. package/dist/components/Privy/index.d.ts +21 -0
  172. package/dist/components/Privy/index.d.ts.map +1 -0
  173. package/dist/components/Privy/index.js +16 -0
  174. package/dist/components/Privy/index.js.map +1 -0
  175. package/dist/components/SIWE/AuthStatus.d.ts +15 -0
  176. package/dist/components/SIWE/AuthStatus.d.ts.map +1 -0
  177. package/dist/components/SIWE/AuthStatus.js +47 -0
  178. package/dist/components/SIWE/AuthStatus.js.map +1 -0
  179. package/dist/components/SIWE/ProtectedRoute.d.ts +17 -0
  180. package/dist/components/SIWE/ProtectedRoute.d.ts.map +1 -0
  181. package/dist/components/SIWE/ProtectedRoute.js +52 -0
  182. package/dist/components/SIWE/ProtectedRoute.js.map +1 -0
  183. package/dist/components/SIWE/SIWEButton.d.ts +22 -0
  184. package/dist/components/SIWE/SIWEButton.d.ts.map +1 -0
  185. package/dist/components/SIWE/SIWEButton.js +106 -0
  186. package/dist/components/SIWE/SIWEButton.js.map +1 -0
  187. package/dist/components/SIWE/SIWEModal.d.ts +19 -0
  188. package/dist/components/SIWE/SIWEModal.d.ts.map +1 -0
  189. package/dist/components/SIWE/SIWEModal.js +75 -0
  190. package/dist/components/SIWE/SIWEModal.js.map +1 -0
  191. package/dist/components/SIWE/SIWEProvider.d.ts +38 -0
  192. package/dist/components/SIWE/SIWEProvider.d.ts.map +1 -0
  193. package/dist/components/SIWE/SIWEProvider.js +227 -0
  194. package/dist/components/SIWE/SIWEProvider.js.map +1 -0
  195. package/dist/components/SIWE/index.d.ts +15 -0
  196. package/dist/components/SIWE/index.d.ts.map +1 -0
  197. package/dist/components/SIWE/index.js +10 -0
  198. package/dist/components/SIWE/index.js.map +1 -0
  199. package/dist/components/index.d.ts +11 -0
  200. package/dist/components/index.d.ts.map +1 -0
  201. package/dist/components/index.js +16 -0
  202. package/dist/components/index.js.map +1 -0
  203. package/dist/components/templates/Finance/FinanceDashboard.d.ts +15 -0
  204. package/dist/components/templates/Finance/FinanceDashboard.d.ts.map +1 -0
  205. package/dist/components/templates/Finance/FinanceDashboard.js +112 -0
  206. package/dist/components/templates/Finance/FinanceDashboard.js.map +1 -0
  207. package/dist/components/templates/Healthcare/HealthcareDashboard.d.ts +15 -0
  208. package/dist/components/templates/Healthcare/HealthcareDashboard.d.ts.map +1 -0
  209. package/dist/components/templates/Healthcare/HealthcareDashboard.js +121 -0
  210. package/dist/components/templates/Healthcare/HealthcareDashboard.js.map +1 -0
  211. package/dist/components/templates/ISO/ISODashboard.d.ts +15 -0
  212. package/dist/components/templates/ISO/ISODashboard.d.ts.map +1 -0
  213. package/dist/components/templates/ISO/ISODashboard.js +184 -0
  214. package/dist/components/templates/ISO/ISODashboard.js.map +1 -0
  215. package/dist/components/templates/Retail/RetailDashboard.d.ts +15 -0
  216. package/dist/components/templates/Retail/RetailDashboard.d.ts.map +1 -0
  217. package/dist/components/templates/Retail/RetailDashboard.js +151 -0
  218. package/dist/components/templates/Retail/RetailDashboard.js.map +1 -0
  219. package/dist/components/templates/index.d.ts +14 -0
  220. package/dist/components/templates/index.d.ts.map +1 -0
  221. package/dist/components/templates/index.js +14 -0
  222. package/dist/components/templates/index.js.map +1 -0
  223. package/dist/config/chains.d.ts +23 -0
  224. package/dist/config/chains.d.ts.map +1 -0
  225. package/dist/config/chains.js +55 -0
  226. package/dist/config/chains.js.map +1 -0
  227. package/dist/core/VarityClient.d.ts +76 -0
  228. package/dist/core/VarityClient.d.ts.map +1 -0
  229. package/dist/core/VarityClient.js +99 -0
  230. package/dist/core/VarityClient.js.map +1 -0
  231. package/dist/core/config.d.ts +136 -0
  232. package/dist/core/config.d.ts.map +1 -0
  233. package/dist/core/config.js +156 -0
  234. package/dist/core/config.js.map +1 -0
  235. package/dist/hooks/index.d.ts +17 -0
  236. package/dist/hooks/index.d.ts.map +1 -0
  237. package/dist/hooks/index.js +18 -0
  238. package/dist/hooks/index.js.map +1 -0
  239. package/dist/hooks/useAnalytics.d.ts +94 -0
  240. package/dist/hooks/useAnalytics.d.ts.map +1 -0
  241. package/dist/hooks/useAnalytics.js +116 -0
  242. package/dist/hooks/useAnalytics.js.map +1 -0
  243. package/dist/hooks/useAuth.d.ts +71 -0
  244. package/dist/hooks/useAuth.d.ts.map +1 -0
  245. package/dist/hooks/useAuth.js +198 -0
  246. package/dist/hooks/useAuth.js.map +1 -0
  247. package/dist/hooks/useDashboard.d.ts +110 -0
  248. package/dist/hooks/useDashboard.d.ts.map +1 -0
  249. package/dist/hooks/useDashboard.js +201 -0
  250. package/dist/hooks/useDashboard.js.map +1 -0
  251. package/dist/hooks/useVarityAPI.d.ts +88 -0
  252. package/dist/hooks/useVarityAPI.d.ts.map +1 -0
  253. package/dist/hooks/useVarityAPI.js +138 -0
  254. package/dist/hooks/useVarityAPI.js.map +1 -0
  255. package/dist/hooks/useWalletAuth.d.ts +108 -0
  256. package/dist/hooks/useWalletAuth.d.ts.map +1 -0
  257. package/dist/hooks/useWalletAuth.js +415 -0
  258. package/dist/hooks/useWalletAuth.js.map +1 -0
  259. package/dist/hooks/web3/index.d.ts +5 -0
  260. package/dist/hooks/web3/index.d.ts.map +1 -0
  261. package/dist/hooks/web3/index.js +6 -0
  262. package/dist/hooks/web3/index.js.map +1 -0
  263. package/dist/hooks/web3/useAddressValidation.d.ts +37 -0
  264. package/dist/hooks/web3/useAddressValidation.d.ts.map +1 -0
  265. package/dist/hooks/web3/useAddressValidation.js +59 -0
  266. package/dist/hooks/web3/useAddressValidation.js.map +1 -0
  267. package/dist/hooks/web3/useBlockExplorer.d.ts +37 -0
  268. package/dist/hooks/web3/useBlockExplorer.d.ts.map +1 -0
  269. package/dist/hooks/web3/useBlockExplorer.js +59 -0
  270. package/dist/hooks/web3/useBlockExplorer.js.map +1 -0
  271. package/dist/hooks/web3/useUSDCFormat.d.ts +34 -0
  272. package/dist/hooks/web3/useUSDCFormat.d.ts.map +1 -0
  273. package/dist/hooks/web3/useUSDCFormat.js +43 -0
  274. package/dist/hooks/web3/useUSDCFormat.js.map +1 -0
  275. package/dist/hooks/web3/useVarityWallet.d.ts +48 -0
  276. package/dist/hooks/web3/useVarityWallet.d.ts.map +1 -0
  277. package/dist/hooks/web3/useVarityWallet.js +70 -0
  278. package/dist/hooks/web3/useVarityWallet.js.map +1 -0
  279. package/dist/index.d.ts +55 -0
  280. package/dist/index.d.ts.map +1 -0
  281. package/dist/index.js +68 -0
  282. package/dist/index.js.map +1 -0
  283. package/dist/modules/analytics/AnalyticsClient.d.ts +72 -0
  284. package/dist/modules/analytics/AnalyticsClient.d.ts.map +1 -0
  285. package/dist/modules/analytics/AnalyticsClient.js +56 -0
  286. package/dist/modules/analytics/AnalyticsClient.js.map +1 -0
  287. package/dist/modules/analytics/index.d.ts +2 -0
  288. package/dist/modules/analytics/index.d.ts.map +1 -0
  289. package/dist/modules/analytics/index.js +2 -0
  290. package/dist/modules/analytics/index.js.map +1 -0
  291. package/dist/modules/auth/AuthClient.d.ts +41 -0
  292. package/dist/modules/auth/AuthClient.d.ts.map +1 -0
  293. package/dist/modules/auth/AuthClient.js +36 -0
  294. package/dist/modules/auth/AuthClient.js.map +1 -0
  295. package/dist/modules/auth/index.d.ts +2 -0
  296. package/dist/modules/auth/index.d.ts.map +1 -0
  297. package/dist/modules/auth/index.js +2 -0
  298. package/dist/modules/auth/index.js.map +1 -0
  299. package/dist/modules/cache/CacheClient.d.ts +48 -0
  300. package/dist/modules/cache/CacheClient.d.ts.map +1 -0
  301. package/dist/modules/cache/CacheClient.js +59 -0
  302. package/dist/modules/cache/CacheClient.js.map +1 -0
  303. package/dist/modules/cache/index.d.ts +2 -0
  304. package/dist/modules/cache/index.d.ts.map +1 -0
  305. package/dist/modules/cache/index.js +2 -0
  306. package/dist/modules/cache/index.js.map +1 -0
  307. package/dist/modules/compute/ComputeClient.d.ts +54 -0
  308. package/dist/modules/compute/ComputeClient.d.ts.map +1 -0
  309. package/dist/modules/compute/ComputeClient.js +39 -0
  310. package/dist/modules/compute/ComputeClient.js.map +1 -0
  311. package/dist/modules/compute/index.d.ts +2 -0
  312. package/dist/modules/compute/index.d.ts.map +1 -0
  313. package/dist/modules/compute/index.js +2 -0
  314. package/dist/modules/compute/index.js.map +1 -0
  315. package/dist/modules/export/ExportClient.d.ts +56 -0
  316. package/dist/modules/export/ExportClient.d.ts.map +1 -0
  317. package/dist/modules/export/ExportClient.js +42 -0
  318. package/dist/modules/export/ExportClient.js.map +1 -0
  319. package/dist/modules/export/index.d.ts +2 -0
  320. package/dist/modules/export/index.d.ts.map +1 -0
  321. package/dist/modules/export/index.js +2 -0
  322. package/dist/modules/export/index.js.map +1 -0
  323. package/dist/modules/forecasting/ForecastingClient.d.ts +112 -0
  324. package/dist/modules/forecasting/ForecastingClient.d.ts.map +1 -0
  325. package/dist/modules/forecasting/ForecastingClient.js +48 -0
  326. package/dist/modules/forecasting/ForecastingClient.js.map +1 -0
  327. package/dist/modules/forecasting/index.d.ts +2 -0
  328. package/dist/modules/forecasting/index.d.ts.map +1 -0
  329. package/dist/modules/forecasting/index.js +2 -0
  330. package/dist/modules/forecasting/index.js.map +1 -0
  331. package/dist/modules/monitoring/MonitoringClient.d.ts +67 -0
  332. package/dist/modules/monitoring/MonitoringClient.d.ts.map +1 -0
  333. package/dist/modules/monitoring/MonitoringClient.js +48 -0
  334. package/dist/modules/monitoring/MonitoringClient.js.map +1 -0
  335. package/dist/modules/monitoring/index.d.ts +2 -0
  336. package/dist/modules/monitoring/index.d.ts.map +1 -0
  337. package/dist/modules/monitoring/index.js +2 -0
  338. package/dist/modules/monitoring/index.js.map +1 -0
  339. package/dist/modules/notifications/NotificationsClient.d.ts +68 -0
  340. package/dist/modules/notifications/NotificationsClient.d.ts.map +1 -0
  341. package/dist/modules/notifications/NotificationsClient.js +50 -0
  342. package/dist/modules/notifications/NotificationsClient.js.map +1 -0
  343. package/dist/modules/notifications/index.d.ts +2 -0
  344. package/dist/modules/notifications/index.d.ts.map +1 -0
  345. package/dist/modules/notifications/index.js +2 -0
  346. package/dist/modules/notifications/index.js.map +1 -0
  347. package/dist/modules/oracle/OracleClient.d.ts +48 -0
  348. package/dist/modules/oracle/OracleClient.d.ts.map +1 -0
  349. package/dist/modules/oracle/OracleClient.js +34 -0
  350. package/dist/modules/oracle/OracleClient.js.map +1 -0
  351. package/dist/modules/oracle/index.d.ts +2 -0
  352. package/dist/modules/oracle/index.d.ts.map +1 -0
  353. package/dist/modules/oracle/index.js +2 -0
  354. package/dist/modules/oracle/index.js.map +1 -0
  355. package/dist/modules/storage/StorageClient.d.ts +44 -0
  356. package/dist/modules/storage/StorageClient.d.ts.map +1 -0
  357. package/dist/modules/storage/StorageClient.js +43 -0
  358. package/dist/modules/storage/StorageClient.js.map +1 -0
  359. package/dist/modules/storage/index.d.ts +2 -0
  360. package/dist/modules/storage/index.d.ts.map +1 -0
  361. package/dist/modules/storage/index.js +2 -0
  362. package/dist/modules/storage/index.js.map +1 -0
  363. package/dist/modules/templates/TemplateDeploymentClient.d.ts +208 -0
  364. package/dist/modules/templates/TemplateDeploymentClient.d.ts.map +1 -0
  365. package/dist/modules/templates/TemplateDeploymentClient.js +101 -0
  366. package/dist/modules/templates/TemplateDeploymentClient.js.map +1 -0
  367. package/dist/modules/templates/index.d.ts +8 -0
  368. package/dist/modules/templates/index.d.ts.map +1 -0
  369. package/dist/modules/templates/index.js +7 -0
  370. package/dist/modules/templates/index.js.map +1 -0
  371. package/dist/modules/webhooks/WebhooksClient.d.ts +85 -0
  372. package/dist/modules/webhooks/WebhooksClient.d.ts.map +1 -0
  373. package/dist/modules/webhooks/WebhooksClient.js +68 -0
  374. package/dist/modules/webhooks/WebhooksClient.js.map +1 -0
  375. package/dist/modules/webhooks/index.d.ts +2 -0
  376. package/dist/modules/webhooks/index.d.ts.map +1 -0
  377. package/dist/modules/webhooks/index.js +2 -0
  378. package/dist/modules/webhooks/index.js.map +1 -0
  379. package/dist/modules/zk/ZKClient.d.ts +67 -0
  380. package/dist/modules/zk/ZKClient.d.ts.map +1 -0
  381. package/dist/modules/zk/ZKClient.js +36 -0
  382. package/dist/modules/zk/ZKClient.js.map +1 -0
  383. package/dist/modules/zk/index.d.ts +2 -0
  384. package/dist/modules/zk/index.d.ts.map +1 -0
  385. package/dist/modules/zk/index.js +2 -0
  386. package/dist/modules/zk/index.js.map +1 -0
  387. package/dist/providers/ChainContext.d.ts +65 -0
  388. package/dist/providers/ChainContext.d.ts.map +1 -0
  389. package/dist/providers/ChainContext.js +92 -0
  390. package/dist/providers/ChainContext.js.map +1 -0
  391. package/dist/providers/PrivyProvider.d.ts +42 -0
  392. package/dist/providers/PrivyProvider.d.ts.map +1 -0
  393. package/dist/providers/PrivyProvider.js +131 -0
  394. package/dist/providers/PrivyProvider.js.map +1 -0
  395. package/dist/providers/PrivyStack.d.ts +165 -0
  396. package/dist/providers/PrivyStack.d.ts.map +1 -0
  397. package/dist/providers/PrivyStack.js +295 -0
  398. package/dist/providers/PrivyStack.js.map +1 -0
  399. package/dist/providers/VarityDashboardProvider.d.ts +90 -0
  400. package/dist/providers/VarityDashboardProvider.d.ts.map +1 -0
  401. package/dist/providers/VarityDashboardProvider.js +242 -0
  402. package/dist/providers/VarityDashboardProvider.js.map +1 -0
  403. package/dist/providers/VarityProvider.d.ts +32 -0
  404. package/dist/providers/VarityProvider.d.ts.map +1 -0
  405. package/dist/providers/VarityProvider.js +56 -0
  406. package/dist/providers/VarityProvider.js.map +1 -0
  407. package/dist/providers/WalletContext.d.ts +68 -0
  408. package/dist/providers/WalletContext.d.ts.map +1 -0
  409. package/dist/providers/WalletContext.js +98 -0
  410. package/dist/providers/WalletContext.js.map +1 -0
  411. package/dist/providers/WalletSyncProvider.d.ts +84 -0
  412. package/dist/providers/WalletSyncProvider.d.ts.map +1 -0
  413. package/dist/providers/WalletSyncProvider.js +132 -0
  414. package/dist/providers/WalletSyncProvider.js.map +1 -0
  415. package/dist/providers/index.d.ts +47 -0
  416. package/dist/providers/index.d.ts.map +1 -0
  417. package/dist/providers/index.js +51 -0
  418. package/dist/providers/index.js.map +1 -0
  419. package/dist/tests/mocks/httpClient.mock.d.ts +62 -0
  420. package/dist/tests/mocks/httpClient.mock.d.ts.map +1 -0
  421. package/dist/tests/mocks/httpClient.mock.js +108 -0
  422. package/dist/tests/mocks/httpClient.mock.js.map +1 -0
  423. package/dist/tests/setup.d.ts +6 -0
  424. package/dist/tests/setup.d.ts.map +1 -0
  425. package/dist/tests/setup.js +51 -0
  426. package/dist/tests/setup.js.map +1 -0
  427. package/dist/types/api-extensions.d.ts +92 -0
  428. package/dist/types/api-extensions.d.ts.map +1 -0
  429. package/dist/types/api-extensions.js +7 -0
  430. package/dist/types/api-extensions.js.map +1 -0
  431. package/dist/utils/http.d.ts +51 -0
  432. package/dist/utils/http.d.ts.map +1 -0
  433. package/dist/utils/http.js +104 -0
  434. package/dist/utils/http.js.map +1 -0
  435. package/dist/wallets/SimpleSmartWallet.d.ts +68 -0
  436. package/dist/wallets/SimpleSmartWallet.d.ts.map +1 -0
  437. package/dist/wallets/SimpleSmartWallet.js +74 -0
  438. package/dist/wallets/SimpleSmartWallet.js.map +1 -0
  439. package/dist/wallets/SmartWalletProvider.d.ts +217 -0
  440. package/dist/wallets/SmartWalletProvider.d.ts.map +1 -0
  441. package/dist/wallets/SmartWalletProvider.js +366 -0
  442. package/dist/wallets/SmartWalletProvider.js.map +1 -0
  443. package/dist/wallets/config.d.ts +199 -0
  444. package/dist/wallets/config.d.ts.map +1 -0
  445. package/dist/wallets/config.js +183 -0
  446. package/dist/wallets/config.js.map +1 -0
  447. package/dist/wallets/index.d.ts +9 -0
  448. package/dist/wallets/index.d.ts.map +1 -0
  449. package/dist/wallets/index.js +9 -0
  450. package/dist/wallets/index.js.map +1 -0
  451. package/dist/web3/AddressDisplay/AddressDisplay.d.ts +33 -0
  452. package/dist/web3/AddressDisplay/AddressDisplay.d.ts.map +1 -0
  453. package/dist/web3/AddressDisplay/AddressDisplay.js +42 -0
  454. package/dist/web3/AddressDisplay/AddressDisplay.js.map +1 -0
  455. package/dist/web3/AddressInput/AddressInput.d.ts +36 -0
  456. package/dist/web3/AddressInput/AddressInput.d.ts.map +1 -0
  457. package/dist/web3/AddressInput/AddressInput.js +54 -0
  458. package/dist/web3/AddressInput/AddressInput.js.map +1 -0
  459. package/dist/web3/AmountInput/AmountInput.d.ts +41 -0
  460. package/dist/web3/AmountInput/AmountInput.d.ts.map +1 -0
  461. package/dist/web3/AmountInput/AmountInput.js +74 -0
  462. package/dist/web3/AmountInput/AmountInput.js.map +1 -0
  463. package/dist/web3/BalanceDisplay/BalanceDisplay.d.ts +30 -0
  464. package/dist/web3/BalanceDisplay/BalanceDisplay.d.ts.map +1 -0
  465. package/dist/web3/BalanceDisplay/BalanceDisplay.js +35 -0
  466. package/dist/web3/BalanceDisplay/BalanceDisplay.js.map +1 -0
  467. package/dist/web3/BlockExplorerLink/BlockExplorerLink.d.ts +41 -0
  468. package/dist/web3/BlockExplorerLink/BlockExplorerLink.d.ts.map +1 -0
  469. package/dist/web3/BlockExplorerLink/BlockExplorerLink.js +46 -0
  470. package/dist/web3/BlockExplorerLink/BlockExplorerLink.js.map +1 -0
  471. package/dist/web3/ConnectWallet/ConnectWallet.d.ts +35 -0
  472. package/dist/web3/ConnectWallet/ConnectWallet.d.ts.map +1 -0
  473. package/dist/web3/ConnectWallet/ConnectWallet.js +58 -0
  474. package/dist/web3/ConnectWallet/ConnectWallet.js.map +1 -0
  475. package/dist/web3/DisconnectButton/DisconnectButton.d.ts +30 -0
  476. package/dist/web3/DisconnectButton/DisconnectButton.d.ts.map +1 -0
  477. package/dist/web3/DisconnectButton/DisconnectButton.js +48 -0
  478. package/dist/web3/DisconnectButton/DisconnectButton.js.map +1 -0
  479. package/dist/web3/WalletBalance/WalletBalance.d.ts +27 -0
  480. package/dist/web3/WalletBalance/WalletBalance.d.ts.map +1 -0
  481. package/dist/web3/WalletBalance/WalletBalance.js +49 -0
  482. package/dist/web3/WalletBalance/WalletBalance.js.map +1 -0
  483. package/dist/web3/WalletDropdown/WalletDropdown.d.ts +29 -0
  484. package/dist/web3/WalletDropdown/WalletDropdown.d.ts.map +1 -0
  485. package/dist/web3/WalletDropdown/WalletDropdown.js +93 -0
  486. package/dist/web3/WalletDropdown/WalletDropdown.js.map +1 -0
  487. package/dist/web3/WalletInfo/WalletInfo.d.ts +31 -0
  488. package/dist/web3/WalletInfo/WalletInfo.d.ts.map +1 -0
  489. package/dist/web3/WalletInfo/WalletInfo.js +41 -0
  490. package/dist/web3/WalletInfo/WalletInfo.js.map +1 -0
  491. package/dist/web3/index.d.ts +11 -0
  492. package/dist/web3/index.d.ts.map +1 -0
  493. package/dist/web3/index.js +14 -0
  494. package/dist/web3/index.js.map +1 -0
  495. package/package.json +105 -0
@@ -0,0 +1,46 @@
1
+ import React from 'react';
2
+ import { usePrivy } from '@privy-io/react-auth';
3
+ /**
4
+ * Privy Protected Route Component
5
+ *
6
+ * Wraps content that requires authentication.
7
+ * Shows login prompt if user is not authenticated.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * <PrivyProtectedRoute>
12
+ * <DashboardContent />
13
+ * </PrivyProtectedRoute>
14
+ * ```
15
+ */
16
+ export function PrivyProtectedRoute({ children, fallback, loadingComponent, }) {
17
+ const { ready, authenticated, login } = usePrivy();
18
+ // Loading state
19
+ if (!ready) {
20
+ if (loadingComponent) {
21
+ return React.createElement(React.Fragment, null, loadingComponent);
22
+ }
23
+ return (React.createElement("div", { className: "flex items-center justify-center min-h-screen" },
24
+ React.createElement("div", { className: "text-center" },
25
+ React.createElement("div", { className: "animate-spin rounded-full h-12 w-12 border-b-2 border-indigo-600 mx-auto" }),
26
+ React.createElement("p", { className: "mt-4 text-gray-600" }, "Loading..."))));
27
+ }
28
+ // Not authenticated - show fallback or default login prompt
29
+ if (!authenticated) {
30
+ if (fallback) {
31
+ return React.createElement(React.Fragment, null, fallback);
32
+ }
33
+ return (React.createElement("div", { className: "flex items-center justify-center min-h-screen bg-gray-50" },
34
+ React.createElement("div", { className: "max-w-md w-full mx-auto p-8 bg-white rounded-xl shadow-lg text-center" },
35
+ React.createElement("div", { className: "mb-6" },
36
+ React.createElement("svg", { className: "mx-auto h-16 w-16 text-indigo-600", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" },
37
+ React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z" }))),
38
+ React.createElement("h2", { className: "text-2xl font-bold text-gray-900 mb-2" }, "Authentication Required"),
39
+ React.createElement("p", { className: "text-gray-600 mb-6" }, "Please sign in to access this content"),
40
+ React.createElement("button", { onClick: login, className: "w-full px-6 py-3 bg-indigo-600 hover:bg-indigo-700 text-white font-medium rounded-lg transition-all shadow-md hover:shadow-lg" }, "Sign In"))));
41
+ }
42
+ // Authenticated - show protected content
43
+ return React.createElement(React.Fragment, null, children);
44
+ }
45
+ export default PrivyProtectedRoute;
46
+ //# sourceMappingURL=PrivyProtectedRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrivyProtectedRoute.js","sourceRoot":"","sources":["../../../src/components/Privy/PrivyProtectedRoute.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAQhD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,QAAQ,EACR,QAAQ,EACR,gBAAgB,GACS;IACzB,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAEnD,gBAAgB;IAChB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,0CAAG,gBAAgB,CAAI,CAAC;QACjC,CAAC;QAED,OAAO,CACL,6BAAK,SAAS,EAAC,+CAA+C;YAC5D,6BAAK,SAAS,EAAC,aAAa;gBAC1B,6BAAK,SAAS,EAAC,0EAA0E,GAAO;gBAChG,2BAAG,SAAS,EAAC,oBAAoB,iBAAe,CAC5C,CACF,CACP,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,0CAAG,QAAQ,CAAI,CAAC;QACzB,CAAC;QAED,OAAO,CACL,6BAAK,SAAS,EAAC,0DAA0D;YACvE,6BAAK,SAAS,EAAC,uEAAuE;gBACpF,6BAAK,SAAS,EAAC,MAAM;oBACnB,6BACE,SAAS,EAAC,mCAAmC,EAC7C,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,EACnB,MAAM,EAAC,cAAc;wBAErB,8BACE,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,WAAW,EAAE,CAAC,EACd,CAAC,EAAC,sGAAsG,GACxG,CACE,CACF;gBAEN,4BAAI,SAAS,EAAC,uCAAuC,8BAEhD;gBACL,2BAAG,SAAS,EAAC,oBAAoB,4CAE7B;gBAEJ,gCACE,OAAO,EAAE,KAAK,EACd,SAAS,EAAC,+HAA+H,cAGlI,CACL,CACF,CACP,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,OAAO,0CAAG,QAAQ,CAAI,CAAC;AACzB,CAAC;AAED,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { ReactNode } from 'react';
2
+ export interface PrivyReadyGateProps {
3
+ /**
4
+ * The content to render once Privy is ready
5
+ */
6
+ children: ReactNode;
7
+ /**
8
+ * Timeout in milliseconds before showing the timeout screen
9
+ * @default 10000 (10 seconds)
10
+ */
11
+ timeout?: number;
12
+ /**
13
+ * Custom initializing screen component
14
+ */
15
+ initializingScreen?: ReactNode;
16
+ /**
17
+ * Custom timeout screen component
18
+ */
19
+ timeoutScreen?: ReactNode;
20
+ }
21
+ /**
22
+ * PrivyReadyGate - Waits for Privy to be ready before rendering children
23
+ *
24
+ * This component prevents the 15-second blank screen issue by showing a loading screen
25
+ * while Privy initializes. If initialization takes longer than the timeout (default 10s),
26
+ * it shows a timeout screen with retry options.
27
+ *
28
+ * **Production Pattern**: Extracted from generic-template-dashboard production deployment
29
+ *
30
+ * **Problem it solves**:
31
+ * - Without this gate, users see a blank screen for 5-15 seconds during Privy initialization
32
+ * - Reduces user confusion and abandonment during authentication setup
33
+ * - Provides clear feedback and recovery options if initialization hangs
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * import { PrivyReadyGate, VarityPrivyProvider } from '@varity-labs/ui-kit';
38
+ *
39
+ * function App() {
40
+ * return (
41
+ * <VarityPrivyProvider appId="your-privy-app-id">
42
+ * <PrivyReadyGate>
43
+ * <YourApp />
44
+ * </PrivyReadyGate>
45
+ * </VarityPrivyProvider>
46
+ * );
47
+ * }
48
+ * ```
49
+ *
50
+ * @example With custom timeout
51
+ * ```tsx
52
+ * <PrivyReadyGate timeout={5000}>
53
+ * <YourApp />
54
+ * </PrivyReadyGate>
55
+ * ```
56
+ *
57
+ * @example With custom screens
58
+ * ```tsx
59
+ * <PrivyReadyGate
60
+ * initializingScreen={<CustomLoadingScreen />}
61
+ * timeoutScreen={<CustomTimeoutScreen />}
62
+ * >
63
+ * <YourApp />
64
+ * </PrivyReadyGate>
65
+ * ```
66
+ */
67
+ export declare function PrivyReadyGate({ children, timeout, initializingScreen, timeoutScreen, }: PrivyReadyGateProps): JSX.Element;
68
+ export default PrivyReadyGate;
69
+ //# sourceMappingURL=PrivyReadyGate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrivyReadyGate.d.ts","sourceRoot":"","sources":["../../../src/components/Privy/PrivyReadyGate.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAuB,SAAS,EAAE,MAAM,OAAO,CAAC;AAK9D,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B;;OAEG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAe,EACf,kBAAkB,EAClB,aAAa,GACd,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAuCnC;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,83 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import { usePrivy } from '@privy-io/react-auth';
3
+ import { InitializingScreen } from './InitializingScreen';
4
+ import { InitTimeoutScreen } from './InitTimeoutScreen';
5
+ /**
6
+ * PrivyReadyGate - Waits for Privy to be ready before rendering children
7
+ *
8
+ * This component prevents the 15-second blank screen issue by showing a loading screen
9
+ * while Privy initializes. If initialization takes longer than the timeout (default 10s),
10
+ * it shows a timeout screen with retry options.
11
+ *
12
+ * **Production Pattern**: Extracted from generic-template-dashboard production deployment
13
+ *
14
+ * **Problem it solves**:
15
+ * - Without this gate, users see a blank screen for 5-15 seconds during Privy initialization
16
+ * - Reduces user confusion and abandonment during authentication setup
17
+ * - Provides clear feedback and recovery options if initialization hangs
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * import { PrivyReadyGate, VarityPrivyProvider } from '@varity-labs/ui-kit';
22
+ *
23
+ * function App() {
24
+ * return (
25
+ * <VarityPrivyProvider appId="your-privy-app-id">
26
+ * <PrivyReadyGate>
27
+ * <YourApp />
28
+ * </PrivyReadyGate>
29
+ * </VarityPrivyProvider>
30
+ * );
31
+ * }
32
+ * ```
33
+ *
34
+ * @example With custom timeout
35
+ * ```tsx
36
+ * <PrivyReadyGate timeout={5000}>
37
+ * <YourApp />
38
+ * </PrivyReadyGate>
39
+ * ```
40
+ *
41
+ * @example With custom screens
42
+ * ```tsx
43
+ * <PrivyReadyGate
44
+ * initializingScreen={<CustomLoadingScreen />}
45
+ * timeoutScreen={<CustomTimeoutScreen />}
46
+ * >
47
+ * <YourApp />
48
+ * </PrivyReadyGate>
49
+ * ```
50
+ */
51
+ export function PrivyReadyGate({ children, timeout = 10000, initializingScreen, timeoutScreen, }) {
52
+ const { ready } = usePrivy();
53
+ const [showTimeoutScreen, setShowTimeoutScreen] = useState(false);
54
+ useEffect(() => {
55
+ // Set timeout for specified duration
56
+ const timeoutId = setTimeout(() => {
57
+ if (!ready) {
58
+ setShowTimeoutScreen(true);
59
+ }
60
+ }, timeout);
61
+ return () => clearTimeout(timeoutId);
62
+ }, [ready, timeout]);
63
+ // If Privy is ready, render children immediately
64
+ if (ready) {
65
+ return React.createElement(React.Fragment, null, children);
66
+ }
67
+ // If timed out, show timeout screen (but continue waiting in background)
68
+ if (showTimeoutScreen) {
69
+ if (timeoutScreen) {
70
+ return React.createElement(React.Fragment, null, timeoutScreen);
71
+ }
72
+ return (React.createElement(InitTimeoutScreen, { onRetry: () => {
73
+ setShowTimeoutScreen(false);
74
+ } }));
75
+ }
76
+ // Show loading screen while waiting for Privy
77
+ if (initializingScreen) {
78
+ return React.createElement(React.Fragment, null, initializingScreen);
79
+ }
80
+ return React.createElement(InitializingScreen, null);
81
+ }
82
+ export default PrivyReadyGate;
83
+ //# sourceMappingURL=PrivyReadyGate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrivyReadyGate.js","sourceRoot":"","sources":["../../../src/components/Privy/PrivyReadyGate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAsBxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAO,GAAG,KAAK,EACf,kBAAkB,EAClB,aAAa,GACO;IACpB,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElE,SAAS,CAAC,GAAG,EAAE;QACb,qCAAqC;QACrC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAErB,iDAAiD;IACjD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,0CAAG,QAAQ,CAAI,CAAC;IACzB,CAAC;IAED,yEAAyE;IACzE,IAAI,iBAAiB,EAAE,CAAC;QACtB,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,0CAAG,aAAa,CAAI,CAAC;QAC9B,CAAC;QACD,OAAO,CACL,oBAAC,iBAAiB,IAChB,OAAO,EAAE,GAAG,EAAE;gBACZ,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,GACD,CACH,CAAC;IACJ,CAAC;IAED,8CAA8C;IAC9C,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,0CAAG,kBAAkB,CAAI,CAAC;IACnC,CAAC;IACD,OAAO,oBAAC,kBAAkB,OAAG,CAAC;AAChC,CAAC;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,25 @@
1
+ export interface PrivyUserProfileProps {
2
+ showLogoutButton?: boolean;
3
+ onLogout?: () => void;
4
+ className?: string;
5
+ }
6
+ /**
7
+ * Privy User Profile Component
8
+ *
9
+ * Displays authenticated user information including:
10
+ * - Email or social account
11
+ * - Embedded wallet address
12
+ * - Account type
13
+ * - Logout functionality
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * <PrivyUserProfile
18
+ * showLogoutButton={true}
19
+ * onLogout={() => console.log('User logged out')}
20
+ * />
21
+ * ```
22
+ */
23
+ export declare function PrivyUserProfile({ showLogoutButton, onLogout, className, }: PrivyUserProfileProps): JSX.Element | null;
24
+ export default PrivyUserProfile;
25
+ //# sourceMappingURL=PrivyUserProfile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrivyUserProfile.d.ts","sourceRoot":"","sources":["../../../src/components/Privy/PrivyUserProfile.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,gBAAuB,EACvB,QAAQ,EACR,SAAgE,GACjE,EAAE,qBAAqB,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CA6G5C;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,98 @@
1
+ import React from 'react';
2
+ import { usePrivy, useWallets } from '@privy-io/react-auth';
3
+ import toast from 'react-hot-toast';
4
+ import { getErrorMessage } from '@varity-labs/types';
5
+ /**
6
+ * Privy User Profile Component
7
+ *
8
+ * Displays authenticated user information including:
9
+ * - Email or social account
10
+ * - Embedded wallet address
11
+ * - Account type
12
+ * - Logout functionality
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * <PrivyUserProfile
17
+ * showLogoutButton={true}
18
+ * onLogout={() => console.log('User logged out')}
19
+ * />
20
+ * ```
21
+ */
22
+ export function PrivyUserProfile({ showLogoutButton = true, onLogout, className = 'max-w-md mx-auto p-6 bg-white rounded-xl shadow-lg', }) {
23
+ const { ready, authenticated, user, logout: privyLogout } = usePrivy();
24
+ const { wallets } = useWallets();
25
+ const handleLogout = async () => {
26
+ try {
27
+ await privyLogout();
28
+ toast.success('Successfully logged out');
29
+ onLogout?.();
30
+ }
31
+ catch (error) {
32
+ const errorMessage = getErrorMessage(error);
33
+ console.error('Logout error:', errorMessage);
34
+ toast.error('Logout failed');
35
+ }
36
+ };
37
+ if (!ready || !authenticated || !user) {
38
+ return null;
39
+ }
40
+ // Get primary login method
41
+ const email = user.email?.address;
42
+ const google = user.google?.email;
43
+ const twitter = user.twitter?.username;
44
+ const discord = user.discord?.username;
45
+ const github = user.github?.username;
46
+ // Get wallet address
47
+ const primaryWallet = wallets[0];
48
+ const walletAddress = primaryWallet?.address;
49
+ // Determine account type
50
+ let accountType = 'Wallet';
51
+ let accountIdentifier = walletAddress;
52
+ if (email) {
53
+ accountType = 'Email';
54
+ accountIdentifier = email;
55
+ }
56
+ else if (google) {
57
+ accountType = 'Google';
58
+ accountIdentifier = google;
59
+ }
60
+ else if (twitter) {
61
+ accountType = 'Twitter';
62
+ accountIdentifier = `@${twitter}`;
63
+ }
64
+ else if (discord) {
65
+ accountType = 'Discord';
66
+ accountIdentifier = discord;
67
+ }
68
+ else if (github) {
69
+ accountType = 'GitHub';
70
+ accountIdentifier = github;
71
+ }
72
+ return (React.createElement("div", { className: className },
73
+ React.createElement("h2", { className: "text-2xl font-bold mb-4" }, "Profile"),
74
+ React.createElement("div", { className: "space-y-3 bg-gray-50 p-4 rounded-lg" },
75
+ React.createElement("div", { className: "flex justify-between items-center" },
76
+ React.createElement("span", { className: "text-gray-600 font-medium" }, "Account Type:"),
77
+ React.createElement("span", { className: "px-3 py-1 bg-indigo-100 text-indigo-700 rounded-full text-sm font-medium" }, accountType)),
78
+ accountIdentifier && (React.createElement("div", { className: "flex justify-between items-start" },
79
+ React.createElement("span", { className: "text-gray-600 font-medium" }, "Account:"),
80
+ React.createElement("span", { className: "text-right font-medium text-gray-900 break-all max-w-xs" }, accountIdentifier))),
81
+ walletAddress && (React.createElement("div", { className: "flex justify-between items-start" },
82
+ React.createElement("span", { className: "text-gray-600 font-medium" }, "Wallet:"),
83
+ React.createElement("code", { className: "text-xs font-mono bg-white px-2 py-1 rounded border border-gray-200" },
84
+ walletAddress.slice(0, 6),
85
+ "...",
86
+ walletAddress.slice(-4)))),
87
+ React.createElement("div", { className: "flex justify-between items-center" },
88
+ React.createElement("span", { className: "text-gray-600 font-medium" }, "User ID:"),
89
+ React.createElement("code", { className: "text-xs font-mono bg-white px-2 py-1 rounded border border-gray-200" },
90
+ user.id.slice(0, 8),
91
+ "...")),
92
+ user.createdAt && (React.createElement("div", { className: "flex justify-between items-center" },
93
+ React.createElement("span", { className: "text-gray-600 font-medium" }, "Joined:"),
94
+ React.createElement("span", { className: "text-sm text-gray-700" }, new Date(user.createdAt).toLocaleDateString())))),
95
+ showLogoutButton && (React.createElement("button", { onClick: handleLogout, className: "w-full mt-4 px-6 py-3 bg-red-600 hover:bg-red-700 text-white font-medium rounded-lg transition-all shadow-md hover:shadow-lg" }, "Logout"))));
96
+ }
97
+ export default PrivyUserProfile;
98
+ //# sourceMappingURL=PrivyUserProfile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrivyUserProfile.js","sourceRoot":"","sources":["../../../src/components/Privy/PrivyUserProfile.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Privy Authentication Components
3
+ *
4
+ * Components for email/social authentication with Privy.
5
+ * Ideal for non-crypto native users who don't have wallets.
6
+ *
7
+ * Production Patterns: Extracted from generic-template-dashboard
8
+ */
9
+ export { PrivyLoginButton } from './PrivyLoginButton';
10
+ export type { PrivyLoginButtonProps } from './PrivyLoginButton';
11
+ export { PrivyUserProfile } from './PrivyUserProfile';
12
+ export type { PrivyUserProfileProps } from './PrivyUserProfile';
13
+ export { PrivyProtectedRoute } from './PrivyProtectedRoute';
14
+ export type { PrivyProtectedRouteProps } from './PrivyProtectedRoute';
15
+ export { PrivyReadyGate } from './PrivyReadyGate';
16
+ export type { PrivyReadyGateProps } from './PrivyReadyGate';
17
+ export { InitializingScreen } from './InitializingScreen';
18
+ export type { InitializingScreenProps } from './InitializingScreen';
19
+ export { InitTimeoutScreen } from './InitTimeoutScreen';
20
+ export type { InitTimeoutScreenProps } from './InitTimeoutScreen';
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Privy/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAGtE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Privy Authentication Components
3
+ *
4
+ * Components for email/social authentication with Privy.
5
+ * Ideal for non-crypto native users who don't have wallets.
6
+ *
7
+ * Production Patterns: Extracted from generic-template-dashboard
8
+ */
9
+ export { PrivyLoginButton } from './PrivyLoginButton';
10
+ export { PrivyUserProfile } from './PrivyUserProfile';
11
+ export { PrivyProtectedRoute } from './PrivyProtectedRoute';
12
+ // Production patterns for Privy initialization
13
+ export { PrivyReadyGate } from './PrivyReadyGate';
14
+ export { InitializingScreen } from './InitializingScreen';
15
+ export { InitTimeoutScreen } from './InitTimeoutScreen';
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Privy/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,+CAA+C;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ /**
3
+ * Auth Status Component
4
+ * Displays current authentication status and user information
5
+ */
6
+ interface AuthStatusProps {
7
+ className?: string;
8
+ theme?: 'light' | 'dark';
9
+ showAddress?: boolean;
10
+ showChainId?: boolean;
11
+ compact?: boolean;
12
+ }
13
+ export declare const AuthStatus: React.FC<AuthStatusProps>;
14
+ export default AuthStatus;
15
+ //# sourceMappingURL=AuthStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthStatus.d.ts","sourceRoot":"","sources":["../../../src/components/SIWE/AuthStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;;GAGG;AAEH,UAAU,eAAe;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAoFhD,CAAC;AAUF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,47 @@
1
+ import React from 'react';
2
+ import { useSIWE } from './SIWEProvider';
3
+ import { useActiveAccount } from 'thirdweb/react';
4
+ export const AuthStatus = ({ className = '', theme = 'dark', showAddress = true, showChainId = true, compact = false, }) => {
5
+ const { isAuthenticated, user, isLoading } = useSIWE();
6
+ const account = useActiveAccount();
7
+ if (isLoading) {
8
+ return (React.createElement("div", { className: `flex items-center gap-2 ${className}` },
9
+ React.createElement("div", { className: "animate-spin rounded-full h-4 w-4 border-b-2 border-blue-500" }),
10
+ React.createElement("span", { className: theme === 'dark' ? 'text-gray-400' : 'text-gray-600' }, "Checking authentication...")));
11
+ }
12
+ if (!account) {
13
+ return (React.createElement("div", { className: `flex items-center gap-2 ${className}` },
14
+ React.createElement("div", { className: `w-2 h-2 rounded-full ${theme === 'dark' ? 'bg-gray-500' : 'bg-gray-400'}` }),
15
+ React.createElement("span", { className: theme === 'dark' ? 'text-gray-400' : 'text-gray-600' }, "Wallet not connected")));
16
+ }
17
+ if (!isAuthenticated) {
18
+ return (React.createElement("div", { className: `flex items-center gap-2 ${className}` },
19
+ React.createElement("div", { className: "w-2 h-2 rounded-full bg-yellow-500 animate-pulse" }),
20
+ React.createElement("span", { className: theme === 'dark' ? 'text-gray-400' : 'text-gray-600' }, "Not authenticated")));
21
+ }
22
+ if (compact) {
23
+ return (React.createElement("div", { className: `flex items-center gap-2 ${className}` },
24
+ React.createElement("div", { className: "w-2 h-2 rounded-full bg-green-500" }),
25
+ React.createElement("span", { className: theme === 'dark' ? 'text-gray-300' : 'text-gray-700' }, formatAddress(user?.address || ''))));
26
+ }
27
+ return (React.createElement("div", { className: `flex flex-col gap-2 ${className}` },
28
+ React.createElement("div", { className: "flex items-center gap-2" },
29
+ React.createElement("div", { className: "w-2 h-2 rounded-full bg-green-500" }),
30
+ React.createElement("span", { className: `font-semibold ${theme === 'dark' ? 'text-white' : 'text-gray-900'}` }, "Authenticated")),
31
+ showAddress && user?.address && (React.createElement("div", { className: "flex items-center gap-2 text-sm" },
32
+ React.createElement("span", { className: theme === 'dark' ? 'text-gray-500' : 'text-gray-600' }, "Address:"),
33
+ React.createElement("code", { className: `px-2 py-1 rounded ${theme === 'dark' ? 'bg-gray-800 text-gray-300' : 'bg-gray-100 text-gray-700'}` }, formatAddress(user.address)))),
34
+ showChainId && user?.chainId && (React.createElement("div", { className: "flex items-center gap-2 text-sm" },
35
+ React.createElement("span", { className: theme === 'dark' ? 'text-gray-500' : 'text-gray-600' }, "Chain ID:"),
36
+ React.createElement("code", { className: `px-2 py-1 rounded ${theme === 'dark' ? 'bg-gray-800 text-gray-300' : 'bg-gray-100 text-gray-700'}` }, user.chainId)))));
37
+ };
38
+ /**
39
+ * Format Ethereum address for display
40
+ */
41
+ function formatAddress(address) {
42
+ if (!address)
43
+ return '';
44
+ return `${address.substring(0, 6)}...${address.substring(address.length - 4)}`;
45
+ }
46
+ export default AuthStatus;
47
+ //# sourceMappingURL=AuthStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthStatus.js","sourceRoot":"","sources":["../../../src/components/SIWE/AuthStatus.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ /**
3
+ * Protected Route Component
4
+ * Wrapper for routes that require authentication
5
+ */
6
+ interface ProtectedRouteProps {
7
+ children: React.ReactNode;
8
+ fallback?: React.ReactNode;
9
+ redirectTo?: string;
10
+ clientId: string;
11
+ onUnauthorized?: () => void;
12
+ requireAuth?: boolean;
13
+ loadingComponent?: React.ReactNode;
14
+ }
15
+ export declare const ProtectedRoute: React.FC<ProtectedRouteProps>;
16
+ export default ProtectedRoute;
17
+ //# sourceMappingURL=ProtectedRoute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtectedRoute.d.ts","sourceRoot":"","sources":["../../../src/components/SIWE/ProtectedRoute.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD;;;GAGG;AAEH,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAuDxD,CAAC;AAiDF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,52 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { useSIWE } from './SIWEProvider';
3
+ import { SIWEModal } from './SIWEModal';
4
+ export const ProtectedRoute = ({ children, fallback, redirectTo, clientId, onUnauthorized, requireAuth = true, loadingComponent, }) => {
5
+ const { isAuthenticated, isLoading } = useSIWE();
6
+ const [showAuthModal, setShowAuthModal] = useState(false);
7
+ useEffect(() => {
8
+ if (!isLoading && !isAuthenticated && requireAuth) {
9
+ if (redirectTo) {
10
+ window.location.href = redirectTo;
11
+ }
12
+ else if (onUnauthorized) {
13
+ onUnauthorized();
14
+ }
15
+ else {
16
+ setShowAuthModal(true);
17
+ }
18
+ }
19
+ }, [isAuthenticated, isLoading, requireAuth, redirectTo, onUnauthorized]);
20
+ // Show loading state
21
+ if (isLoading) {
22
+ return loadingComponent ? (React.createElement(React.Fragment, null, loadingComponent)) : (React.createElement(DefaultLoadingScreen, null));
23
+ }
24
+ // Show unauthorized fallback
25
+ if (!isAuthenticated && requireAuth) {
26
+ return (React.createElement(React.Fragment, null,
27
+ fallback || (React.createElement(DefaultUnauthorizedScreen, { onLogin: () => setShowAuthModal(true) })),
28
+ React.createElement(SIWEModal, { isOpen: showAuthModal, onClose: () => setShowAuthModal(false), clientId: clientId, requireAuth: requireAuth, onSuccess: () => setShowAuthModal(false) })));
29
+ }
30
+ // Render protected content
31
+ return React.createElement(React.Fragment, null, children);
32
+ };
33
+ /**
34
+ * Default Loading Screen
35
+ */
36
+ const DefaultLoadingScreen = () => (React.createElement("div", { className: "min-h-screen flex items-center justify-center bg-gray-900" },
37
+ React.createElement("div", { className: "text-center" },
38
+ React.createElement("div", { className: "inline-block animate-spin rounded-full h-12 w-12 border-b-2 border-blue-500 mb-4" }),
39
+ React.createElement("p", { className: "text-gray-400" }, "Loading..."))));
40
+ /**
41
+ * Default Unauthorized Screen
42
+ */
43
+ const DefaultUnauthorizedScreen = ({ onLogin }) => (React.createElement("div", { className: "min-h-screen flex items-center justify-center bg-gray-900" },
44
+ React.createElement("div", { className: "text-center max-w-md px-4" },
45
+ React.createElement("div", { className: "mb-8" },
46
+ React.createElement("svg", { className: "w-20 h-20 text-gray-600 mx-auto mb-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" },
47
+ React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z" }))),
48
+ React.createElement("h1", { className: "text-3xl font-bold text-white mb-4" }, "Authentication Required"),
49
+ React.createElement("p", { className: "text-gray-400 mb-8" }, "You need to sign in with your Ethereum wallet to access this page."),
50
+ React.createElement("button", { onClick: onLogin, className: "px-8 py-3 bg-blue-600 hover:bg-blue-700 text-white font-semibold rounded-lg transition-colors" }, "Sign In with Ethereum"))));
51
+ export default ProtectedRoute;
52
+ //# sourceMappingURL=ProtectedRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtectedRoute.js","sourceRoot":"","sources":["../../../src/components/SIWE/ProtectedRoute.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ /**
3
+ * SIWE Button Component
4
+ * Combines wallet connection with SIWE authentication
5
+ */
6
+ interface SIWEButtonProps {
7
+ clientId: string;
8
+ className?: string;
9
+ loginText?: string;
10
+ logoutText?: string;
11
+ connectWalletText?: string;
12
+ loadingText?: string;
13
+ onLoginStart?: () => void;
14
+ onLoginComplete?: () => void;
15
+ onLogoutComplete?: () => void;
16
+ theme?: 'light' | 'dark';
17
+ variant?: 'primary' | 'secondary' | 'outline';
18
+ size?: 'sm' | 'md' | 'lg';
19
+ }
20
+ export declare const SIWEButton: React.FC<SIWEButtonProps>;
21
+ export default SIWEButton;
22
+ //# sourceMappingURL=SIWEButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SIWEButton.d.ts","sourceRoot":"","sources":["../../../src/components/SIWE/SIWEButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC;;;GAGG;AAEH,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAC9C,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC3B;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAuIhD,CAAC;AAmEF,eAAe,UAAU,CAAC"}