@varity-labs/ui-kit 2.0.0-alpha.1 → 2.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +227 -203
- package/dist/components/Analytics/DataTable.js +1 -1
- package/dist/components/Analytics/DataTable.js.map +1 -1
- package/dist/components/Analytics/EnhancedKPICard.d.ts +21 -0
- package/dist/components/Analytics/EnhancedKPICard.d.ts.map +1 -0
- package/dist/components/Analytics/EnhancedKPICard.js +135 -0
- package/dist/components/Analytics/EnhancedKPICard.js.map +1 -0
- package/dist/components/Analytics/Sparkline.d.ts +44 -0
- package/dist/components/Analytics/Sparkline.d.ts.map +1 -0
- package/dist/components/Analytics/Sparkline.js +90 -0
- package/dist/components/Analytics/Sparkline.js.map +1 -0
- package/dist/components/Analytics/index.d.ts +2 -0
- package/dist/components/Analytics/index.d.ts.map +1 -1
- package/dist/components/Analytics/index.js +2 -0
- package/dist/components/Analytics/index.js.map +1 -1
- package/dist/components/Dashboard/DashboardFooter.d.ts.map +1 -1
- package/dist/components/Dashboard/DashboardFooter.js +22 -6
- package/dist/components/Dashboard/DashboardFooter.js.map +1 -1
- package/dist/components/Dashboard/DashboardHeader.d.ts +10 -0
- package/dist/components/Dashboard/DashboardHeader.d.ts.map +1 -1
- package/dist/components/Dashboard/DashboardHeader.js +191 -58
- package/dist/components/Dashboard/DashboardHeader.js.map +1 -1
- package/dist/components/Dashboard/DashboardLayout.d.ts +13 -3
- package/dist/components/Dashboard/DashboardLayout.d.ts.map +1 -1
- package/dist/components/Dashboard/DashboardLayout.js +9 -4
- package/dist/components/Dashboard/DashboardLayout.js.map +1 -1
- package/dist/components/Dashboard/DashboardSidebar.d.ts.map +1 -1
- package/dist/components/Dashboard/DashboardSidebar.js +41 -12
- package/dist/components/Dashboard/DashboardSidebar.js.map +1 -1
- package/dist/components/Dashboard/EmptyState.js +5 -5
- package/dist/components/Dashboard/EmptyState.js.map +1 -1
- package/dist/components/Dashboard/KPICard.js +5 -5
- package/dist/components/Dashboard/KPICard.js.map +1 -1
- package/dist/components/Display/Avatar.d.ts +21 -0
- package/dist/components/Display/Avatar.d.ts.map +1 -0
- package/dist/components/Display/Avatar.js +71 -0
- package/dist/components/Display/Avatar.js.map +1 -0
- package/dist/components/Display/Badge.d.ts +22 -0
- package/dist/components/Display/Badge.d.ts.map +1 -0
- package/dist/components/Display/Badge.js +60 -0
- package/dist/components/Display/Badge.js.map +1 -0
- package/dist/components/Display/ProgressBar.d.ts +12 -0
- package/dist/components/Display/ProgressBar.d.ts.map +1 -0
- package/dist/components/Display/ProgressBar.js +33 -0
- package/dist/components/Display/ProgressBar.js.map +1 -0
- package/dist/components/Display/index.d.ts +9 -0
- package/dist/components/Display/index.d.ts.map +1 -0
- package/dist/components/Display/index.js +9 -0
- package/dist/components/Display/index.js.map +1 -0
- package/dist/components/Feedback/Skeleton.d.ts +10 -0
- package/dist/components/Feedback/Skeleton.d.ts.map +1 -0
- package/dist/components/Feedback/Skeleton.js +25 -0
- package/dist/components/Feedback/Skeleton.js.map +1 -0
- package/dist/components/Feedback/Toast.d.ts +18 -0
- package/dist/components/Feedback/Toast.d.ts.map +1 -0
- package/dist/components/Feedback/Toast.js +38 -0
- package/dist/components/Feedback/Toast.js.map +1 -0
- package/dist/components/Feedback/ToastProvider.d.ts +11 -0
- package/dist/components/Feedback/ToastProvider.d.ts.map +1 -0
- package/dist/components/Feedback/ToastProvider.js +36 -0
- package/dist/components/Feedback/ToastProvider.js.map +1 -0
- package/dist/components/Feedback/index.d.ts +11 -0
- package/dist/components/Feedback/index.d.ts.map +1 -0
- package/dist/components/Feedback/index.js +9 -0
- package/dist/components/Feedback/index.js.map +1 -0
- package/dist/components/Feedback/useToast.d.ts +3 -0
- package/dist/components/Feedback/useToast.d.ts.map +1 -0
- package/dist/components/Feedback/useToast.js +10 -0
- package/dist/components/Feedback/useToast.js.map +1 -0
- package/dist/components/Form/Button.d.ts +12 -0
- package/dist/components/Form/Button.d.ts.map +1 -0
- package/dist/components/Form/Button.js +22 -0
- package/dist/components/Form/Button.js.map +1 -0
- package/dist/components/Form/Checkbox.d.ts +13 -0
- package/dist/components/Form/Checkbox.d.ts.map +1 -0
- package/dist/components/Form/Checkbox.js +36 -0
- package/dist/components/Form/Checkbox.js.map +1 -0
- package/dist/components/Form/Input.d.ts +9 -0
- package/dist/components/Form/Input.d.ts.map +1 -0
- package/dist/components/Form/Input.js +16 -0
- package/dist/components/Form/Input.js.map +1 -0
- package/dist/components/Form/RadioGroup.d.ts +20 -0
- package/dist/components/Form/RadioGroup.d.ts.map +1 -0
- package/dist/components/Form/RadioGroup.js +43 -0
- package/dist/components/Form/RadioGroup.js.map +1 -0
- package/dist/components/Form/Select.d.ts +12 -0
- package/dist/components/Form/Select.d.ts.map +1 -0
- package/dist/components/Form/Select.js +13 -0
- package/dist/components/Form/Select.js.map +1 -0
- package/dist/components/Form/Textarea.d.ts +8 -0
- package/dist/components/Form/Textarea.d.ts.map +1 -0
- package/dist/components/Form/Textarea.js +13 -0
- package/dist/components/Form/Textarea.js.map +1 -0
- package/dist/components/Form/Toggle.d.ts +12 -0
- package/dist/components/Form/Toggle.d.ts.map +1 -0
- package/dist/components/Form/Toggle.js +48 -0
- package/dist/components/Form/Toggle.js.map +1 -0
- package/dist/components/Form/index.d.ts +13 -0
- package/dist/components/Form/index.d.ts.map +1 -0
- package/dist/components/Form/index.js +13 -0
- package/dist/components/Form/index.js.map +1 -0
- package/dist/components/InAppWallet/InAppWalletProvider.d.ts +4 -4
- package/dist/components/InAppWallet/InAppWalletProvider.d.ts.map +1 -1
- package/dist/components/InAppWallet/InAppWalletProvider.js +15 -28
- package/dist/components/InAppWallet/InAppWalletProvider.js.map +1 -1
- package/dist/components/Navigation/Breadcrumb.d.ts +15 -0
- package/dist/components/Navigation/Breadcrumb.d.ts.map +1 -0
- package/dist/components/Navigation/Breadcrumb.js +28 -0
- package/dist/components/Navigation/Breadcrumb.js.map +1 -0
- package/dist/components/Navigation/CommandPalette.d.ts +26 -0
- package/dist/components/Navigation/CommandPalette.d.ts.map +1 -0
- package/dist/components/Navigation/CommandPalette.js +172 -0
- package/dist/components/Navigation/CommandPalette.js.map +1 -0
- package/dist/components/Navigation/index.d.ts +8 -0
- package/dist/components/Navigation/index.d.ts.map +1 -0
- package/dist/components/Navigation/index.js +8 -0
- package/dist/components/Navigation/index.js.map +1 -0
- package/dist/components/Onramp/BuyUSDCButton.d.ts +9 -7
- package/dist/components/Onramp/BuyUSDCButton.d.ts.map +1 -1
- package/dist/components/Onramp/BuyUSDCButton.js +37 -47
- package/dist/components/Onramp/BuyUSDCButton.js.map +1 -1
- package/dist/components/Onramp/OnrampWidget.d.ts +7 -6
- package/dist/components/Onramp/OnrampWidget.d.ts.map +1 -1
- package/dist/components/Onramp/OnrampWidget.js +58 -37
- package/dist/components/Onramp/OnrampWidget.js.map +1 -1
- package/dist/components/Onramp/index.d.ts +3 -5
- package/dist/components/Onramp/index.d.ts.map +1 -1
- package/dist/components/Onramp/index.js +3 -5
- package/dist/components/Onramp/index.js.map +1 -1
- package/dist/components/Overlay/ConfirmDialog.d.ts +14 -0
- package/dist/components/Overlay/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/Overlay/ConfirmDialog.js +11 -0
- package/dist/components/Overlay/ConfirmDialog.js.map +1 -0
- package/dist/components/Overlay/Dialog.d.ts +11 -0
- package/dist/components/Overlay/Dialog.d.ts.map +1 -0
- package/dist/components/Overlay/Dialog.js +69 -0
- package/dist/components/Overlay/Dialog.js.map +1 -0
- package/dist/components/Overlay/DropdownMenu.d.ts +17 -0
- package/dist/components/Overlay/DropdownMenu.d.ts.map +1 -0
- package/dist/components/Overlay/DropdownMenu.js +123 -0
- package/dist/components/Overlay/DropdownMenu.js.map +1 -0
- package/dist/components/Overlay/index.d.ts +9 -0
- package/dist/components/Overlay/index.d.ts.map +1 -0
- package/dist/components/Overlay/index.js +9 -0
- package/dist/components/Overlay/index.js.map +1 -0
- package/dist/components/PaymentWidget/PaymentGate.d.ts +30 -0
- package/dist/components/PaymentWidget/PaymentGate.d.ts.map +1 -0
- package/dist/components/PaymentWidget/PaymentGate.js +54 -0
- package/dist/components/PaymentWidget/PaymentGate.js.map +1 -0
- package/dist/components/PaymentWidget/PaymentWidget.d.ts +40 -0
- package/dist/components/PaymentWidget/PaymentWidget.d.ts.map +1 -0
- package/dist/components/PaymentWidget/PaymentWidget.js +195 -0
- package/dist/components/PaymentWidget/PaymentWidget.js.map +1 -0
- package/dist/components/PaymentWidget/index.d.ts +30 -0
- package/dist/components/PaymentWidget/index.d.ts.map +1 -0
- package/dist/components/PaymentWidget/index.js +32 -0
- package/dist/components/PaymentWidget/index.js.map +1 -0
- package/dist/components/PaymentWidget/types.d.ts +200 -0
- package/dist/components/PaymentWidget/types.d.ts.map +1 -0
- package/dist/components/PaymentWidget/types.js +84 -0
- package/dist/components/PaymentWidget/types.js.map +1 -0
- package/dist/components/PaymentWidget/useSeamlessPayment.d.ts +51 -0
- package/dist/components/PaymentWidget/useSeamlessPayment.d.ts.map +1 -0
- package/dist/components/PaymentWidget/useSeamlessPayment.js +167 -0
- package/dist/components/PaymentWidget/useSeamlessPayment.js.map +1 -0
- package/dist/components/PaymentWidget/useVarityPayment.d.ts +20 -0
- package/dist/components/PaymentWidget/useVarityPayment.d.ts.map +1 -0
- package/dist/components/PaymentWidget/useVarityPayment.js +164 -0
- package/dist/components/PaymentWidget/useVarityPayment.js.map +1 -0
- package/dist/components/Payments/CheckoutModal.d.ts.map +1 -1
- package/dist/components/Payments/CheckoutModal.js +16 -5
- package/dist/components/Payments/CheckoutModal.js.map +1 -1
- package/dist/components/Payments/constants.js +1 -1
- package/dist/components/Payments/constants.js.map +1 -1
- package/dist/components/Privy/InitTimeoutScreen.d.ts.map +1 -1
- package/dist/components/Privy/InitTimeoutScreen.js +1 -1
- package/dist/components/Privy/InitTimeoutScreen.js.map +1 -1
- package/dist/components/Privy/InitializingScreen.d.ts +3 -3
- package/dist/components/Privy/InitializingScreen.d.ts.map +1 -1
- package/dist/components/Privy/InitializingScreen.js +6 -6
- package/dist/components/Privy/InitializingScreen.js.map +1 -1
- package/dist/components/index.d.ts +5 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +20 -4
- package/dist/components/index.js.map +1 -1
- package/dist/config/chains.d.ts +5 -5
- package/dist/config/chains.d.ts.map +1 -1
- package/dist/config/chains.js +8 -8
- package/dist/config/chains.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -11
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +54 -11
- package/dist/hooks/index.js.map +1 -1
- package/dist/index.d.ts +24 -42
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +180 -43
- package/dist/index.js.map +1 -1
- package/dist/providers/PrivyProvider.js +1 -1
- package/dist/providers/PrivyProvider.js.map +1 -1
- package/dist/providers/PrivyStack.d.ts +31 -73
- package/dist/providers/PrivyStack.d.ts.map +1 -1
- package/dist/providers/PrivyStack.js +32 -160
- package/dist/providers/PrivyStack.js.map +1 -1
- package/dist/providers/VarityDashboardProvider.d.ts +7 -10
- package/dist/providers/VarityDashboardProvider.d.ts.map +1 -1
- package/dist/providers/VarityDashboardProvider.js +12 -15
- package/dist/providers/VarityDashboardProvider.js.map +1 -1
- package/dist/providers/WalletSyncProvider.d.ts +17 -24
- package/dist/providers/WalletSyncProvider.d.ts.map +1 -1
- package/dist/providers/WalletSyncProvider.js +16 -27
- package/dist/providers/WalletSyncProvider.js.map +1 -1
- package/dist/providers/ZeroDevProvider.d.ts +69 -0
- package/dist/providers/ZeroDevProvider.d.ts.map +1 -0
- package/dist/providers/ZeroDevProvider.js +208 -0
- package/dist/providers/ZeroDevProvider.js.map +1 -0
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +2 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/wallets/SimpleSmartWallet.js +1 -1
- package/dist/wallets/SimpleSmartWallet.js.map +1 -1
- package/dist/wallets/SmartWalletProvider.js +1 -1
- package/dist/wallets/SmartWalletProvider.js.map +1 -1
- package/dist/wallets/config.d.ts +31 -8
- package/dist/wallets/config.d.ts.map +1 -1
- package/dist/wallets/config.js +33 -10
- package/dist/wallets/config.js.map +1 -1
- package/dist/wallets/index.d.ts +1 -1
- package/dist/wallets/index.d.ts.map +1 -1
- package/dist/wallets/index.js +1 -1
- package/dist/wallets/index.js.map +1 -1
- package/package.json +34 -26
- package/dist/core/VarityClient.d.ts +0 -76
- package/dist/core/VarityClient.d.ts.map +0 -1
- package/dist/core/VarityClient.js +0 -99
- package/dist/core/VarityClient.js.map +0 -1
- package/dist/core/config.d.ts +0 -136
- package/dist/core/config.d.ts.map +0 -1
- package/dist/core/config.js +0 -156
- package/dist/core/config.js.map +0 -1
- package/dist/hooks/useAnalytics.d.ts +0 -94
- package/dist/hooks/useAnalytics.d.ts.map +0 -1
- package/dist/hooks/useAnalytics.js +0 -116
- package/dist/hooks/useAnalytics.js.map +0 -1
- package/dist/hooks/useAuth.d.ts +0 -71
- package/dist/hooks/useAuth.d.ts.map +0 -1
- package/dist/hooks/useAuth.js +0 -198
- package/dist/hooks/useAuth.js.map +0 -1
- package/dist/hooks/useDashboard.d.ts +0 -110
- package/dist/hooks/useDashboard.d.ts.map +0 -1
- package/dist/hooks/useDashboard.js +0 -201
- package/dist/hooks/useDashboard.js.map +0 -1
- package/dist/hooks/useVarityAPI.d.ts +0 -88
- package/dist/hooks/useVarityAPI.d.ts.map +0 -1
- package/dist/hooks/useVarityAPI.js +0 -138
- package/dist/hooks/useVarityAPI.js.map +0 -1
- package/dist/hooks/useWalletAuth.d.ts +0 -108
- package/dist/hooks/useWalletAuth.d.ts.map +0 -1
- package/dist/hooks/useWalletAuth.js +0 -415
- package/dist/hooks/useWalletAuth.js.map +0 -1
- package/dist/modules/cache/index.d.ts +0 -2
- package/dist/modules/cache/index.d.ts.map +0 -1
- package/dist/modules/cache/index.js +0 -2
- package/dist/modules/cache/index.js.map +0 -1
- package/dist/types/api-extensions.d.ts +0 -92
- package/dist/types/api-extensions.d.ts.map +0 -1
- package/dist/types/api-extensions.js +0 -7
- package/dist/types/api-extensions.js.map +0 -1
|
@@ -1,39 +1,22 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Simple chain configuration type (Varity internal — no external dependency required)
|
|
4
|
+
*/
|
|
5
|
+
export interface Chain {
|
|
6
|
+
id: number;
|
|
7
|
+
rpc: string;
|
|
8
|
+
name?: string;
|
|
9
|
+
testnet?: boolean;
|
|
10
|
+
}
|
|
3
11
|
export interface PrivyStackProps {
|
|
4
12
|
/**
|
|
5
|
-
* Your
|
|
6
|
-
*
|
|
7
|
-
* Optional - defaults to secure server-side credentials via Varity Credential Proxy.
|
|
8
|
-
* For production, provide your own credentials OR use the proxy (recommended).
|
|
13
|
+
* Your Varity auth app ID.
|
|
9
14
|
*
|
|
10
|
-
*
|
|
15
|
+
* Optional — defaults to shared development credentials (VARITY_DEV_CREDENTIALS).
|
|
16
|
+
* For production, `varitykit deploy` injects the correct value automatically.
|
|
17
|
+
* You never need to sign up for any external service.
|
|
11
18
|
*/
|
|
12
19
|
appId?: string;
|
|
13
|
-
/**
|
|
14
|
-
* Your thirdweb client ID from https://thirdweb.com/dashboard
|
|
15
|
-
*
|
|
16
|
-
* Optional - defaults to secure server-side credentials via Varity Credential Proxy.
|
|
17
|
-
* For production, provide your own credentials OR use the proxy (recommended).
|
|
18
|
-
*
|
|
19
|
-
* @see https://thirdweb.com/dashboard
|
|
20
|
-
*/
|
|
21
|
-
thirdwebClientId?: string;
|
|
22
|
-
/**
|
|
23
|
-
* Enable secure credential proxy (server-side credentials)
|
|
24
|
-
*
|
|
25
|
-
* When true, credentials are fetched from Varity Credential Proxy service.
|
|
26
|
-
* This is the RECOMMENDED approach for production as credentials never reach client bundles.
|
|
27
|
-
*
|
|
28
|
-
* @default true
|
|
29
|
-
*/
|
|
30
|
-
useCredentialProxy?: boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Credential proxy URL (only used if useCredentialProxy is true)
|
|
33
|
-
*
|
|
34
|
-
* @default "https://api.varity.so/credentials"
|
|
35
|
-
*/
|
|
36
|
-
credentialProxyUrl?: string;
|
|
37
20
|
/**
|
|
38
21
|
* Chains to support
|
|
39
22
|
* @default [varityL3Testnet]
|
|
@@ -45,7 +28,7 @@ export interface PrivyStackProps {
|
|
|
45
28
|
children: ReactNode;
|
|
46
29
|
/**
|
|
47
30
|
* Login methods to enable
|
|
48
|
-
* @default ['email', 'google'
|
|
31
|
+
* @default ['email', 'google']
|
|
49
32
|
*/
|
|
50
33
|
loginMethods?: Array<'email' | 'wallet' | 'google' | 'twitter' | 'discord' | 'github' | 'apple' | 'linkedin' | 'sms'>;
|
|
51
34
|
/**
|
|
@@ -57,42 +40,36 @@ export interface PrivyStackProps {
|
|
|
57
40
|
logo?: string;
|
|
58
41
|
};
|
|
59
42
|
/**
|
|
60
|
-
* Callback when
|
|
43
|
+
* Callback when user address changes
|
|
61
44
|
*/
|
|
62
45
|
onAddressChange?: (address: string | null) => void;
|
|
63
46
|
}
|
|
64
47
|
/**
|
|
65
|
-
* PrivyStack - All-in-one
|
|
48
|
+
* PrivyStack - All-in-one authentication and provider setup for Varity apps
|
|
66
49
|
*
|
|
67
50
|
* This component combines all necessary providers in the correct order:
|
|
68
|
-
* 1. QueryClientProvider - For React Query (
|
|
69
|
-
* 2. PrivyProvider - Authentication (email, social
|
|
51
|
+
* 1. QueryClientProvider - For React Query (data fetching)
|
|
52
|
+
* 2. PrivyProvider - Authentication (email, social login)
|
|
70
53
|
* 3. PrivyReadyGate - Prevents blank screen during initialization
|
|
71
|
-
* 4. ThirdwebProvider - Wallet management and contracts
|
|
72
|
-
* 5. WalletSyncProvider - Syncs Privy embedded wallets with thirdweb
|
|
73
54
|
*
|
|
74
|
-
* **
|
|
75
|
-
* Real credentials NEVER reach client bundles.
|
|
55
|
+
* **Production Pattern**: Extracted from generic-template-dashboard production deployment
|
|
76
56
|
*
|
|
77
57
|
* **Key Features**:
|
|
78
|
-
* - Secure server-side credentials (via credential proxy)
|
|
79
58
|
* - No blank screen during initialization (PrivyReadyGate)
|
|
80
|
-
* -
|
|
81
|
-
* - Support for email/social login
|
|
82
|
-
* -
|
|
83
|
-
* - Optimized for Varity
|
|
59
|
+
* - Zero-config with shared development credentials
|
|
60
|
+
* - Support for email/social login
|
|
61
|
+
* - Professional loading and timeout screens
|
|
62
|
+
* - Optimized for Varity by default
|
|
84
63
|
*
|
|
85
64
|
* **Stack Order** (critical - do not change):
|
|
86
65
|
* ```
|
|
87
66
|
* QueryClientProvider # React Query for data fetching
|
|
88
67
|
* └─ PrivyProvider # Authentication layer
|
|
89
68
|
* └─ PrivyReadyGate # Loading state management
|
|
90
|
-
* └─
|
|
91
|
-
* └─ WalletSyncProvider # Wallet synchronization
|
|
92
|
-
* └─ YourApp # Your application
|
|
69
|
+
* └─ YourApp # Your application
|
|
93
70
|
* ```
|
|
94
71
|
*
|
|
95
|
-
* @example Zero-config setup (
|
|
72
|
+
* @example Zero-config setup (uses shared dev credentials)
|
|
96
73
|
* ```tsx
|
|
97
74
|
* import { PrivyStack } from '@varity-labs/ui-kit';
|
|
98
75
|
*
|
|
@@ -105,53 +82,34 @@ export interface PrivyStackProps {
|
|
|
105
82
|
* }
|
|
106
83
|
* ```
|
|
107
84
|
*
|
|
108
|
-
* @example Production
|
|
109
|
-
* ```tsx
|
|
110
|
-
* import { PrivyStack } from '@varity-labs/ui-kit';
|
|
111
|
-
*
|
|
112
|
-
* function App() {
|
|
113
|
-
* return (
|
|
114
|
-
* <PrivyStack useCredentialProxy={true}>
|
|
115
|
-
* <YourApp />
|
|
116
|
-
* </PrivyStack>
|
|
117
|
-
* );
|
|
118
|
-
* }
|
|
119
|
-
* ```
|
|
120
|
-
*
|
|
121
|
-
* @example Custom credentials (without proxy)
|
|
85
|
+
* @example Production setup (varitykit deploy injects appId automatically)
|
|
122
86
|
* ```tsx
|
|
123
87
|
* import { PrivyStack } from '@varity-labs/ui-kit';
|
|
124
88
|
*
|
|
125
89
|
* function App() {
|
|
126
90
|
* return (
|
|
127
|
-
* <PrivyStack
|
|
128
|
-
* useCredentialProxy={false}
|
|
129
|
-
* appId={process.env.PRIVY_APP_ID}
|
|
130
|
-
* thirdwebClientId={process.env.THIRDWEB_CLIENT_ID}
|
|
131
|
-
* >
|
|
91
|
+
* <PrivyStack appId={process.env.NEXT_PUBLIC_VARITY_AUTH_ID}>
|
|
132
92
|
* <YourApp />
|
|
133
93
|
* </PrivyStack>
|
|
134
94
|
* );
|
|
135
95
|
* }
|
|
136
96
|
* ```
|
|
137
97
|
*
|
|
138
|
-
* @example With
|
|
98
|
+
* @example With appearance customization
|
|
139
99
|
* ```tsx
|
|
140
100
|
* import { PrivyStack } from '@varity-labs/ui-kit';
|
|
141
|
-
* import { varityL3Testnet, arbitrumSepolia } from '@varity-labs/sdk';
|
|
142
101
|
*
|
|
143
102
|
* function App() {
|
|
144
103
|
* return (
|
|
145
104
|
* <PrivyStack
|
|
146
|
-
*
|
|
147
|
-
* loginMethods={['email', 'google', 'wallet']}
|
|
105
|
+
* loginMethods={['email', 'google']}
|
|
148
106
|
* appearance={{
|
|
149
107
|
* theme: 'light',
|
|
150
108
|
* accentColor: '#2563EB',
|
|
151
109
|
* logo: '/logo.png'
|
|
152
110
|
* }}
|
|
153
111
|
* onAddressChange={(address) => {
|
|
154
|
-
* console.log('
|
|
112
|
+
* console.log('User address changed:', address);
|
|
155
113
|
* }}
|
|
156
114
|
* >
|
|
157
115
|
* <YourApp />
|
|
@@ -160,6 +118,6 @@ export interface PrivyStackProps {
|
|
|
160
118
|
* }
|
|
161
119
|
* ```
|
|
162
120
|
*/
|
|
163
|
-
export declare function PrivyStack({ appId,
|
|
121
|
+
export declare function PrivyStack({ appId, chains, children, loginMethods, appearance, onAddressChange, }: PrivyStackProps): JSX.Element;
|
|
164
122
|
export default PrivyStack;
|
|
165
123
|
//# sourceMappingURL=PrivyStack.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrivyStack.d.ts","sourceRoot":"","sources":["../../src/providers/PrivyStack.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"PrivyStack.d.ts","sourceRoot":"","sources":["../../src/providers/PrivyStack.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOzC;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAmDD,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC;IACtH;;OAEG;IACH,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,MAAM,EACN,QAAQ,EACR,YAAkC,EAClC,UAGC,EACD,eAAe,GAChB,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAiE/B;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { PrivyProvider } from '@privy-io/react-auth';
|
|
3
3
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
4
|
-
import { ThirdwebProvider } from 'thirdweb/react';
|
|
5
4
|
import { PrivyReadyGate } from '../components/Privy/PrivyReadyGate';
|
|
6
5
|
import { WalletSyncProvider } from './WalletSyncProvider';
|
|
7
|
-
import {
|
|
6
|
+
import { VARITY_DEV_CREDENTIALS } from '@varity-labs/sdk';
|
|
8
7
|
/**
|
|
9
8
|
* Create React Query client (memoized singleton)
|
|
10
9
|
*/
|
|
@@ -17,71 +16,51 @@ const queryClient = new QueryClient({
|
|
|
17
16
|
},
|
|
18
17
|
});
|
|
19
18
|
/**
|
|
20
|
-
* Convert
|
|
19
|
+
* Convert Varity Chain to Privy Chain format
|
|
21
20
|
*/
|
|
22
21
|
function toPrivyChain(chain) {
|
|
23
|
-
// Ensure nativeCurrency properties are never undefined
|
|
24
|
-
const nativeCurrency = {
|
|
25
|
-
name: chain.nativeCurrency?.name ?? 'Ether',
|
|
26
|
-
symbol: chain.nativeCurrency?.symbol ?? 'ETH',
|
|
27
|
-
decimals: chain.nativeCurrency?.decimals ?? 18,
|
|
28
|
-
};
|
|
29
|
-
// Convert blockExplorers array to Privy format (object with default key)
|
|
30
|
-
let blockExplorers;
|
|
31
|
-
if (chain.blockExplorers && Array.isArray(chain.blockExplorers) && chain.blockExplorers.length > 0) {
|
|
32
|
-
const explorer = chain.blockExplorers[0];
|
|
33
|
-
blockExplorers = {
|
|
34
|
-
default: {
|
|
35
|
-
name: explorer.name,
|
|
36
|
-
url: explorer.url,
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
22
|
return {
|
|
41
23
|
id: chain.id,
|
|
42
24
|
name: chain.name || `Chain ${chain.id}`,
|
|
43
25
|
network: `chain-${chain.id}`,
|
|
44
|
-
nativeCurrency
|
|
26
|
+
nativeCurrency: {
|
|
27
|
+
name: 'USDC',
|
|
28
|
+
symbol: 'USDC',
|
|
29
|
+
decimals: 6,
|
|
30
|
+
},
|
|
45
31
|
rpcUrls: {
|
|
46
32
|
default: { http: [chain.rpc] },
|
|
47
33
|
public: { http: [chain.rpc] },
|
|
48
34
|
},
|
|
49
|
-
blockExplorers,
|
|
50
35
|
testnet: chain.testnet,
|
|
51
36
|
};
|
|
52
37
|
}
|
|
53
38
|
/**
|
|
54
|
-
* PrivyStack - All-in-one
|
|
39
|
+
* PrivyStack - All-in-one authentication and provider setup for Varity apps
|
|
55
40
|
*
|
|
56
41
|
* This component combines all necessary providers in the correct order:
|
|
57
|
-
* 1. QueryClientProvider - For React Query (
|
|
58
|
-
* 2. PrivyProvider - Authentication (email, social
|
|
42
|
+
* 1. QueryClientProvider - For React Query (data fetching)
|
|
43
|
+
* 2. PrivyProvider - Authentication (email, social login)
|
|
59
44
|
* 3. PrivyReadyGate - Prevents blank screen during initialization
|
|
60
|
-
* 4. ThirdwebProvider - Wallet management and contracts
|
|
61
|
-
* 5. WalletSyncProvider - Syncs Privy embedded wallets with thirdweb
|
|
62
45
|
*
|
|
63
|
-
* **
|
|
64
|
-
* Real credentials NEVER reach client bundles.
|
|
46
|
+
* **Production Pattern**: Extracted from generic-template-dashboard production deployment
|
|
65
47
|
*
|
|
66
48
|
* **Key Features**:
|
|
67
|
-
* - Secure server-side credentials (via credential proxy)
|
|
68
49
|
* - No blank screen during initialization (PrivyReadyGate)
|
|
69
|
-
* -
|
|
70
|
-
* - Support for email/social login
|
|
71
|
-
* -
|
|
72
|
-
* - Optimized for Varity
|
|
50
|
+
* - Zero-config with shared development credentials
|
|
51
|
+
* - Support for email/social login
|
|
52
|
+
* - Professional loading and timeout screens
|
|
53
|
+
* - Optimized for Varity by default
|
|
73
54
|
*
|
|
74
55
|
* **Stack Order** (critical - do not change):
|
|
75
56
|
* ```
|
|
76
57
|
* QueryClientProvider # React Query for data fetching
|
|
77
58
|
* └─ PrivyProvider # Authentication layer
|
|
78
59
|
* └─ PrivyReadyGate # Loading state management
|
|
79
|
-
* └─
|
|
80
|
-
* └─ WalletSyncProvider # Wallet synchronization
|
|
81
|
-
* └─ YourApp # Your application
|
|
60
|
+
* └─ YourApp # Your application
|
|
82
61
|
* ```
|
|
83
62
|
*
|
|
84
|
-
* @example Zero-config setup (
|
|
63
|
+
* @example Zero-config setup (uses shared dev credentials)
|
|
85
64
|
* ```tsx
|
|
86
65
|
* import { PrivyStack } from '@varity-labs/ui-kit';
|
|
87
66
|
*
|
|
@@ -94,53 +73,34 @@ function toPrivyChain(chain) {
|
|
|
94
73
|
* }
|
|
95
74
|
* ```
|
|
96
75
|
*
|
|
97
|
-
* @example Production
|
|
76
|
+
* @example Production setup (varitykit deploy injects appId automatically)
|
|
98
77
|
* ```tsx
|
|
99
78
|
* import { PrivyStack } from '@varity-labs/ui-kit';
|
|
100
79
|
*
|
|
101
80
|
* function App() {
|
|
102
81
|
* return (
|
|
103
|
-
* <PrivyStack
|
|
82
|
+
* <PrivyStack appId={process.env.NEXT_PUBLIC_VARITY_AUTH_ID}>
|
|
104
83
|
* <YourApp />
|
|
105
84
|
* </PrivyStack>
|
|
106
85
|
* );
|
|
107
86
|
* }
|
|
108
87
|
* ```
|
|
109
88
|
*
|
|
110
|
-
* @example
|
|
89
|
+
* @example With appearance customization
|
|
111
90
|
* ```tsx
|
|
112
91
|
* import { PrivyStack } from '@varity-labs/ui-kit';
|
|
113
92
|
*
|
|
114
93
|
* function App() {
|
|
115
94
|
* return (
|
|
116
95
|
* <PrivyStack
|
|
117
|
-
*
|
|
118
|
-
* appId={process.env.PRIVY_APP_ID}
|
|
119
|
-
* thirdwebClientId={process.env.THIRDWEB_CLIENT_ID}
|
|
120
|
-
* >
|
|
121
|
-
* <YourApp />
|
|
122
|
-
* </PrivyStack>
|
|
123
|
-
* );
|
|
124
|
-
* }
|
|
125
|
-
* ```
|
|
126
|
-
*
|
|
127
|
-
* @example With custom chains and appearance
|
|
128
|
-
* ```tsx
|
|
129
|
-
* import { PrivyStack } from '@varity-labs/ui-kit';
|
|
130
|
-
* import { varityL3Testnet, arbitrumSepolia } from '@varity-labs/sdk';
|
|
131
|
-
*
|
|
132
|
-
* function App() {
|
|
133
|
-
* return (
|
|
134
|
-
* <PrivyStack
|
|
135
|
-
* chains={[varityL3Testnet, arbitrumSepolia]}
|
|
136
|
-
* loginMethods={['email', 'google', 'wallet']}
|
|
96
|
+
* loginMethods={['email', 'google']}
|
|
137
97
|
* appearance={{
|
|
138
98
|
* theme: 'light',
|
|
139
99
|
* accentColor: '#2563EB',
|
|
140
100
|
* logo: '/logo.png'
|
|
141
101
|
* }}
|
|
142
102
|
* onAddressChange={(address) => {
|
|
143
|
-
* console.log('
|
|
103
|
+
* console.log('User address changed:', address);
|
|
144
104
|
* }}
|
|
145
105
|
* >
|
|
146
106
|
* <YourApp />
|
|
@@ -149,109 +109,22 @@ function toPrivyChain(chain) {
|
|
|
149
109
|
* }
|
|
150
110
|
* ```
|
|
151
111
|
*/
|
|
152
|
-
export function PrivyStack({ appId,
|
|
112
|
+
export function PrivyStack({ appId, chains, children, loginMethods = ['email', 'google'], appearance = {
|
|
153
113
|
theme: 'light',
|
|
154
114
|
accentColor: '#2563EB',
|
|
155
115
|
}, onAddressChange, }) {
|
|
156
|
-
//
|
|
157
|
-
const
|
|
158
|
-
|
|
159
|
-
const [error, setError] = useState(null);
|
|
160
|
-
// Load credentials on mount
|
|
161
|
-
useEffect(() => {
|
|
162
|
-
async function loadCredentials() {
|
|
163
|
-
try {
|
|
164
|
-
setIsLoading(true);
|
|
165
|
-
setError(null);
|
|
166
|
-
let resolvedCredentials;
|
|
167
|
-
if (useCredentialProxy) {
|
|
168
|
-
// Use credential proxy (RECOMMENDED)
|
|
169
|
-
resolvedCredentials = await resolveCredentialsWithProxy(appId, thirdwebClientId, {
|
|
170
|
-
proxyUrl: credentialProxyUrl,
|
|
171
|
-
debug: process.env.NODE_ENV === 'development',
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
else {
|
|
175
|
-
// Use manual credentials or fallback to dev credentials
|
|
176
|
-
// Pass usingProxy=true to suppress warnings (proxy handles messaging)
|
|
177
|
-
resolvedCredentials = resolveCredentials(appId || VARITY_DEV_CREDENTIALS.privy.appId, thirdwebClientId || VARITY_DEV_CREDENTIALS.thirdweb.clientId, true // Using Varity-managed credentials
|
|
178
|
-
);
|
|
179
|
-
}
|
|
180
|
-
setCredentials(resolvedCredentials);
|
|
181
|
-
}
|
|
182
|
-
catch (err) {
|
|
183
|
-
const errorMessage = err instanceof Error ? err.message : 'Failed to load credentials';
|
|
184
|
-
setError(errorMessage);
|
|
185
|
-
console.error('Failed to load credentials:', err);
|
|
186
|
-
}
|
|
187
|
-
finally {
|
|
188
|
-
setIsLoading(false);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
loadCredentials();
|
|
192
|
-
}, [appId, thirdwebClientId, useCredentialProxy, credentialProxyUrl]);
|
|
193
|
-
// Show loading state
|
|
194
|
-
if (isLoading) {
|
|
195
|
-
return (React.createElement("div", { style: {
|
|
196
|
-
display: 'flex',
|
|
197
|
-
justifyContent: 'center',
|
|
198
|
-
alignItems: 'center',
|
|
199
|
-
height: '100vh',
|
|
200
|
-
fontFamily: 'system-ui, -apple-system, sans-serif',
|
|
201
|
-
} },
|
|
202
|
-
React.createElement("div", { style: { textAlign: 'center' } },
|
|
203
|
-
React.createElement("div", { style: {
|
|
204
|
-
width: '48px',
|
|
205
|
-
height: '48px',
|
|
206
|
-
border: '4px solid #f3f3f3',
|
|
207
|
-
borderTop: '4px solid #2563EB',
|
|
208
|
-
borderRadius: '50%',
|
|
209
|
-
animation: 'spin 1s linear infinite',
|
|
210
|
-
margin: '0 auto 16px',
|
|
211
|
-
} }),
|
|
212
|
-
React.createElement("p", { style: { color: '#666' } }, "Initializing authentication...")),
|
|
213
|
-
React.createElement("style", null, `
|
|
214
|
-
@keyframes spin {
|
|
215
|
-
0% { transform: rotate(0deg); }
|
|
216
|
-
100% { transform: rotate(360deg); }
|
|
217
|
-
}
|
|
218
|
-
`)));
|
|
219
|
-
}
|
|
220
|
-
// Show error state
|
|
221
|
-
if (error || !credentials) {
|
|
222
|
-
return (React.createElement("div", { style: {
|
|
223
|
-
display: 'flex',
|
|
224
|
-
justifyContent: 'center',
|
|
225
|
-
alignItems: 'center',
|
|
226
|
-
height: '100vh',
|
|
227
|
-
fontFamily: 'system-ui, -apple-system, sans-serif',
|
|
228
|
-
padding: '24px',
|
|
229
|
-
} },
|
|
230
|
-
React.createElement("div", { style: {
|
|
231
|
-
maxWidth: '600px',
|
|
232
|
-
padding: '32px',
|
|
233
|
-
backgroundColor: '#FEE2E2',
|
|
234
|
-
border: '1px solid #EF4444',
|
|
235
|
-
borderRadius: '8px',
|
|
236
|
-
} },
|
|
237
|
-
React.createElement("h2", { style: { margin: '0 0 16px', color: '#991B1B' } }, "Failed to Load Credentials"),
|
|
238
|
-
React.createElement("p", { style: { margin: '0 0 16px', color: '#7F1D1D' } }, error || 'Unknown error occurred while loading credentials'),
|
|
239
|
-
React.createElement("p", { style: { margin: '0', color: '#7F1D1D', fontSize: '14px' } }, "Please check:"),
|
|
240
|
-
React.createElement("ul", { style: { margin: '8px 0 0', color: '#7F1D1D', fontSize: '14px' } },
|
|
241
|
-
React.createElement("li", null, "Credential proxy is deployed and accessible"),
|
|
242
|
-
React.createElement("li", null, "Manual credentials are provided if proxy is disabled"),
|
|
243
|
-
React.createElement("li", null, "Network connectivity is working")))));
|
|
244
|
-
}
|
|
245
|
-
// Use Varity L3 Testnet as default chain if none provided
|
|
116
|
+
// Resolve auth app ID — fall back to shared dev credentials automatically
|
|
117
|
+
const resolvedAppId = React.useMemo(() => appId || VARITY_DEV_CREDENTIALS.privy.appId, [appId]);
|
|
118
|
+
// Use Varity default chain if none provided
|
|
246
119
|
const supportedChains = React.useMemo(() => {
|
|
247
120
|
if (chains && chains.length > 0) {
|
|
248
121
|
return chains.map(toPrivyChain);
|
|
249
122
|
}
|
|
250
|
-
// Default
|
|
123
|
+
// Default Varity chain configuration
|
|
251
124
|
return [
|
|
252
125
|
{
|
|
253
126
|
id: 33529,
|
|
254
|
-
name: 'Varity
|
|
127
|
+
name: 'Varity Testnet',
|
|
255
128
|
network: 'varity-testnet',
|
|
256
129
|
nativeCurrency: {
|
|
257
130
|
name: 'USDC',
|
|
@@ -277,19 +150,18 @@ export function PrivyStack({ appId, thirdwebClientId, useCredentialProxy = true,
|
|
|
277
150
|
];
|
|
278
151
|
}, [chains]);
|
|
279
152
|
return (React.createElement(QueryClientProvider, { client: queryClient },
|
|
280
|
-
React.createElement(PrivyProvider, { appId:
|
|
153
|
+
React.createElement(PrivyProvider, { appId: resolvedAppId, config: {
|
|
281
154
|
loginMethods,
|
|
282
155
|
appearance: {
|
|
283
156
|
theme: appearance.theme || 'light',
|
|
284
157
|
accentColor: (appearance.accentColor || '#2563EB'),
|
|
285
158
|
logo: appearance.logo,
|
|
286
159
|
},
|
|
287
|
-
supportedChains,
|
|
160
|
+
supportedChains: supportedChains,
|
|
288
161
|
defaultChain: supportedChains[0],
|
|
289
162
|
} },
|
|
290
163
|
React.createElement(PrivyReadyGate, null,
|
|
291
|
-
React.createElement(
|
|
292
|
-
React.createElement(WalletSyncProvider, { onAddressChange: onAddressChange }, children))))));
|
|
164
|
+
React.createElement(WalletSyncProvider, { onAddressChange: onAddressChange }, children)))));
|
|
293
165
|
}
|
|
294
166
|
export default PrivyStack;
|
|
295
167
|
//# sourceMappingURL=PrivyStack.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrivyStack.js","sourceRoot":"","sources":["../../src/providers/PrivyStack.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"PrivyStack.js","sourceRoot":"","sources":["../../src/providers/PrivyStack.tsx"],"names":[],"mappings":"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"}
|
|
@@ -46,21 +46,18 @@ export interface VarityDashboardProviderProps {
|
|
|
46
46
|
}>;
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
|
-
* VarityDashboardProvider - Complete provider setup for Varity
|
|
49
|
+
* VarityDashboardProvider - Complete provider setup for Varity dashboards
|
|
50
50
|
*
|
|
51
51
|
* Combines:
|
|
52
|
-
* - Privy (authentication: email, social
|
|
53
|
-
* - Thirdweb (wallet management, contracts)
|
|
54
|
-
* - WalletSync (unified wallet state)
|
|
52
|
+
* - Privy (authentication: email, social login)
|
|
55
53
|
* - React Query (data fetching)
|
|
56
|
-
* -
|
|
54
|
+
* - Loading states and error handling
|
|
57
55
|
*
|
|
58
56
|
* Features:
|
|
59
|
-
* -
|
|
60
|
-
* -
|
|
61
|
-
* -
|
|
62
|
-
* -
|
|
63
|
-
* - Loading states and error handling
|
|
57
|
+
* - Email and social login for all users
|
|
58
|
+
* - Zero-config with dev credentials
|
|
59
|
+
* - Professional loading and error screens
|
|
60
|
+
* - Customizable appearance
|
|
64
61
|
*
|
|
65
62
|
* @example
|
|
66
63
|
* ```tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VarityDashboardProvider.d.ts","sourceRoot":"","sources":["../../src/providers/VarityDashboardProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAuB,SAAS,EAAW,MAAM,OAAO,CAAC;AASvE,OAAO,EAAsB,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAwM1F,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;IAC5F;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAC;CACpE;AAED
|
|
1
|
+
{"version":3,"file":"VarityDashboardProvider.d.ts","sourceRoot":"","sources":["../../src/providers/VarityDashboardProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAuB,SAAS,EAAW,MAAM,OAAO,CAAC;AASvE,OAAO,EAAsB,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAwM1F,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,UAAU,CAAC,EAAE;QACX,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;IAC5F;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAC;CACpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,UAGC,EACD,YAA4C,EAC5C,WAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,aAAa,EAAE,aAAa,GAC7B,EAAE,4BAA4B,qBAgF9B;AAGD,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,eAAe,uBAAuB,CAAC"}
|
|
@@ -50,7 +50,7 @@ const wagmiConfig = createConfig({
|
|
|
50
50
|
// Create React Query client
|
|
51
51
|
const queryClient = new QueryClient();
|
|
52
52
|
/**
|
|
53
|
-
* InitializingScreen - Shows while
|
|
53
|
+
* InitializingScreen - Shows while authentication providers initialize
|
|
54
54
|
*/
|
|
55
55
|
function InitializingScreen({ logo }) {
|
|
56
56
|
return (React.createElement("div", { className: "min-h-screen bg-gradient-to-br from-blue-50 to-indigo-100 flex items-center justify-center p-4" },
|
|
@@ -60,17 +60,17 @@ function InitializingScreen({ logo }) {
|
|
|
60
60
|
React.createElement("div", { className: "animate-spin rounded-full h-16 w-16 border-b-4 border-blue-600" }),
|
|
61
61
|
logo && (React.createElement("img", { src: logo, alt: "Logo", className: "absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-8 h-8" })))),
|
|
62
62
|
React.createElement("h1", { className: "text-2xl font-bold text-gray-900 mb-2" }, "Initializing Dashboard..."),
|
|
63
|
-
React.createElement("p", { className: "text-gray-600 mb-4" }, "Setting up
|
|
63
|
+
React.createElement("p", { className: "text-gray-600 mb-4" }, "Setting up authentication and services."),
|
|
64
64
|
React.createElement("div", { className: "text-sm text-gray-500 space-y-1" },
|
|
65
65
|
React.createElement("p", { className: "flex items-center justify-center gap-2" },
|
|
66
66
|
React.createElement("span", { className: "w-4 h-4 text-green-500" }, "\u2713"),
|
|
67
67
|
"Loading authentication"),
|
|
68
68
|
React.createElement("p", { className: "flex items-center justify-center gap-2" },
|
|
69
69
|
React.createElement("span", { className: "w-4 h-4 text-green-500" }, "\u2713"),
|
|
70
|
-
"Connecting to Varity
|
|
70
|
+
"Connecting to Varity"),
|
|
71
71
|
React.createElement("p", { className: "flex items-center justify-center gap-2" },
|
|
72
72
|
React.createElement("span", { className: "w-4 h-4 text-green-500" }, "\u2713"),
|
|
73
|
-
"Preparing
|
|
73
|
+
"Preparing your session")))));
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
76
76
|
* InitTimeoutScreen - Shows if initialization takes too long
|
|
@@ -81,7 +81,7 @@ function InitTimeoutScreen({ onRetry }) {
|
|
|
81
81
|
React.createElement("div", { className: "w-16 h-16 bg-yellow-100 rounded-full flex items-center justify-center mx-auto mb-4" },
|
|
82
82
|
React.createElement("span", { className: "text-2xl" }, "\u23F1")),
|
|
83
83
|
React.createElement("h1", { className: "text-2xl font-bold text-gray-900 mb-2" }, "Taking Longer Than Expected"),
|
|
84
|
-
React.createElement("p", { className: "text-gray-600 mb-4" }, "The
|
|
84
|
+
React.createElement("p", { className: "text-gray-600 mb-4" }, "The authentication services are taking longer than usual to initialize."),
|
|
85
85
|
React.createElement("ul", { className: "text-sm text-gray-700 space-y-2 mb-4" },
|
|
86
86
|
React.createElement("li", { className: "flex items-start gap-2" },
|
|
87
87
|
React.createElement("span", { className: "text-yellow-600 mt-0.5" }, "\u2022"),
|
|
@@ -134,21 +134,18 @@ function PrivyReadyGate({ children, logo, initTimeout = 10000, }) {
|
|
|
134
134
|
return React.createElement(InitializingScreen, { logo: logo });
|
|
135
135
|
}
|
|
136
136
|
/**
|
|
137
|
-
* VarityDashboardProvider - Complete provider setup for Varity
|
|
137
|
+
* VarityDashboardProvider - Complete provider setup for Varity dashboards
|
|
138
138
|
*
|
|
139
139
|
* Combines:
|
|
140
|
-
* - Privy (authentication: email, social
|
|
141
|
-
* - Thirdweb (wallet management, contracts)
|
|
142
|
-
* - WalletSync (unified wallet state)
|
|
140
|
+
* - Privy (authentication: email, social login)
|
|
143
141
|
* - React Query (data fetching)
|
|
144
|
-
* -
|
|
142
|
+
* - Loading states and error handling
|
|
145
143
|
*
|
|
146
144
|
* Features:
|
|
147
|
-
* -
|
|
148
|
-
* -
|
|
149
|
-
* -
|
|
150
|
-
* -
|
|
151
|
-
* - Loading states and error handling
|
|
145
|
+
* - Email and social login for all users
|
|
146
|
+
* - Zero-config with dev credentials
|
|
147
|
+
* - Professional loading and error screens
|
|
148
|
+
* - Customizable appearance
|
|
152
149
|
*
|
|
153
150
|
* @example
|
|
154
151
|
* ```tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VarityDashboardProvider.js","sourceRoot":"","sources":["../../src/providers/VarityDashboardProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAa,OAAO,EAAE,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAmB,MAAM,sBAAsB,CAAC;AAE1F;;;GAGG;AACH,MAAM,eAAe,GAAG;IACtB,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,gBAAgB;IACzB,cAAc,EAAE;QACd,QAAQ,EAAE,CAAC,EAAE,gCAAgC;QAC7C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;KACf;IACD,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,qDAAqD,CAAC;SAC9D;QACD,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,qDAAqD,CAAC;SAC9D;KACF;IACD,cAAc,EAAE;QACd,OAAO,EAAE;YACP,IAAI,EAAE,iBAAiB;YACvB,GAAG,EAAE,0DAA0D;SAChE;KACF;IACD,OAAO,EAAE,IAAI;CACL,CAAC;AAEX,gCAAgC;AAChC,MAAM,WAAW,GAAG,YAAY,CAAC;IAC/B,MAAM,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,QAAQ,CAAC;IACpD,UAAU,EAAE;QACV,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;QAC5B,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;QAC5B,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;KACtB;CACF,CAAC,CAAC;AAEH,4BAA4B;AAC5B,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC;;GAEG;AACH,SAAS,kBAAkB,CAAC,EAAE,IAAI,EAAqB;IACrD,OAAO,CACL,6BAAK,SAAS,EAAC,gGAAgG;QAC7G,6BAAK,SAAS,EAAC,wDAAwD;YACrE,6BAAK,SAAS,EAAC,0BAA0B;gBACvC,6BAAK,SAAS,EAAC,UAAU;oBACvB,6BAAK,SAAS,EAAC,gEAAgE,GAAO;oBACrF,IAAI,IAAI,CACP,6BACE,GAAG,EAAE,IAAI,EACT,GAAG,EAAC,MAAM,EACV,SAAS,EAAC,+EAA+E,GACzF,CACH,CACG,CACF;YACN,4BAAI,SAAS,EAAC,uCAAuC,gCAA+B;YACpF,2BAAG,SAAS,EAAC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"VarityDashboardProvider.js","sourceRoot":"","sources":["../../src/providers/VarityDashboardProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAa,OAAO,EAAE,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAmB,MAAM,sBAAsB,CAAC;AAE1F;;;GAGG;AACH,MAAM,eAAe,GAAG;IACtB,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,gBAAgB;IACzB,cAAc,EAAE;QACd,QAAQ,EAAE,CAAC,EAAE,gCAAgC;QAC7C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;KACf;IACD,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,qDAAqD,CAAC;SAC9D;QACD,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,qDAAqD,CAAC;SAC9D;KACF;IACD,cAAc,EAAE;QACd,OAAO,EAAE;YACP,IAAI,EAAE,iBAAiB;YACvB,GAAG,EAAE,0DAA0D;SAChE;KACF;IACD,OAAO,EAAE,IAAI;CACL,CAAC;AAEX,gCAAgC;AAChC,MAAM,WAAW,GAAG,YAAY,CAAC;IAC/B,MAAM,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,QAAQ,CAAC;IACpD,UAAU,EAAE;QACV,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;QAC5B,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;QAC5B,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;KACtB;CACF,CAAC,CAAC;AAEH,4BAA4B;AAC5B,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC;;GAEG;AACH,SAAS,kBAAkB,CAAC,EAAE,IAAI,EAAqB;IACrD,OAAO,CACL,6BAAK,SAAS,EAAC,gGAAgG;QAC7G,6BAAK,SAAS,EAAC,wDAAwD;YACrE,6BAAK,SAAS,EAAC,0BAA0B;gBACvC,6BAAK,SAAS,EAAC,UAAU;oBACvB,6BAAK,SAAS,EAAC,gEAAgE,GAAO;oBACrF,IAAI,IAAI,CACP,6BACE,GAAG,EAAE,IAAI,EACT,GAAG,EAAC,MAAM,EACV,SAAS,EAAC,+EAA+E,GACzF,CACH,CACG,CACF;YACN,4BAAI,SAAS,EAAC,uCAAuC,gCAA+B;YACpF,2BAAG,SAAS,EAAC,oBAAoB,8CAE7B;YACJ,6BAAK,SAAS,EAAC,iCAAiC;gBAC9C,2BAAG,SAAS,EAAC,wCAAwC;oBACnD,8BAAM,SAAS,EAAC,wBAAwB,aAAgB;6CAEtD;gBACJ,2BAAG,SAAS,EAAC,wCAAwC;oBACnD,8BAAM,SAAS,EAAC,wBAAwB,aAAgB;2CAEtD;gBACJ,2BAAG,SAAS,EAAC,wCAAwC;oBACnD,8BAAM,SAAS,EAAC,wBAAwB,aAAgB;6CAEtD,CACA,CACF,CACF,CACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,EAAE,OAAO,EAA2B;IAC7D,OAAO,CACL,6BAAK,SAAS,EAAC,8DAA8D;QAC3E,6BAAK,SAAS,EAAC,4CAA4C;YACzD,6BAAK,SAAS,EAAC,oFAAoF;gBACjG,8BAAM,SAAS,EAAC,UAAU,aAAe,CACrC;YACN,4BAAI,SAAS,EAAC,uCAAuC,kCAAiC;YACtF,2BAAG,SAAS,EAAC,oBAAoB,8EAE7B;YACJ,4BAAI,SAAS,EAAC,sCAAsC;gBAClD,4BAAI,SAAS,EAAC,wBAAwB;oBACpC,8BAAM,SAAS,EAAC,wBAAwB,aAAe;oBACvD,mEAA2C,CACxC;gBACL,4BAAI,SAAS,EAAC,wBAAwB;oBACpC,8BAAM,SAAS,EAAC,wBAAwB,aAAe;oBACvD,wEAAgD,CAC7C,CACF;YACL,6BAAK,SAAS,EAAC,YAAY;gBACzB,gCACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,wFAAwF,YAG3F;gBACT,gCACE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EACvC,SAAS,EAAC,2FAA2F,mBAG9F,CACL,CACF,CACF,CACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,EAAE,KAAK,EAAqB;IACrD,OAAO,CACL,6BAAK,SAAS,EAAC,8DAA8D;QAC3E,6BAAK,SAAS,EAAC,4CAA4C;YACzD,6BAAK,SAAS,EAAC,iFAAiF;gBAC9F,8BAAM,SAAS,EAAC,UAAU,aAAe,CACrC;YACN,4BAAI,SAAS,EAAC,uCAAuC,0BAAyB;YAC9E,2BAAG,SAAS,EAAC,oBAAoB;;gBACC,oCAAS,KAAK,CAAU,CACtD;YACJ,4BAAI,SAAS,EAAC,sCAAsC;gBAClD,oEAA2C;gBAC3C,kFAAyD;gBACzD,wEAA+C,CAC5C;YACL,gCACE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EACvC,SAAS,EAAC,wFAAwF,YAG3F,CACL,CACF,CACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,EACtB,QAAQ,EACR,IAAI,EACJ,WAAW,GAAG,KAAK,GAKpB;IACC,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,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,EAAE,WAAW,CAAC,CAAC;QAEhB,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IAEzB,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,0CAAG,QAAQ,CAAI,CAAC;IACzB,CAAC;IAED,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,CACL,oBAAC,iBAAiB,IAChB,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAC1C,CACH,CAAC;IACJ,CAAC;IAED,OAAO,oBAAC,kBAAkB,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC;AAC5C,CAAC;AA8CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,uBAAuB,CAAC,EACtC,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,UAAU,GAAG;IACX,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,SAAS;CACvB,EACD,YAAY,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAC5C,WAAW,GAAG,KAAK,EACnB,eAAe,EACf,kBAAkB,EAClB,aAAa,EAAE,aAAa,GACC;IAC7B,iDAAiD;IACjD,MAAM,KAAK,GAAG,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IACjE,MAAM,QAAQ,GAAG,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;IAEhF,2BAA2B;IAC3B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAEpE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,cAAc,CAAC,iFAAiF,CAAC,CAAC;QACpG,CAAC;aAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrB,cAAc,CAAC,mGAAmG,CAAC,CAAC;QACtH,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtB,yBAAyB;IACzB,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,IAAI,CAAC;YACH,OAAO,oBAAoB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,oBAAoB;IACpB,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,oBAAC,iBAAiB,IAAC,KAAK,EAAE,WAAW,GAAI,CAAC;IACnD,CAAC;IAED,sBAAsB;IACtB,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,oBAAC,iBAAiB,IAAC,KAAK,EAAC,sCAAsC,GAAG,CAAC;IAC5E,CAAC;IAED,MAAM,OAAO,GAAG,CACd,oBAAC,aAAa,IACZ,KAAK,EAAE,KAAM,EACb,MAAM,EAAE;YACN,YAAY;YACZ,UAAU,EAAE;gBACV,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,oBAAoB,EAAE,KAAK;aAC5B;YACD,eAAe,EAAE;gBACf,aAAa,EAAE,uBAAuB;aACvC;YACD,YAAY,EAAE,eAAe;YAC7B,eAAe,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,QAAQ,CAAC;SAC9D;QAED,oBAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW;YACtC,oBAAC,aAAa,IAAC,MAAM,EAAE,WAAW;gBAChC,oBAAC,cAAc,IAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW;oBAC7D,oBAAC,gBAAgB;wBACf,oBAAC,kBAAkB,IACjB,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,kBAAkB,IAEpC,QAAQ,CACU,CACJ,CACJ,CACH,CACI,CACR,CACjB,CAAC;IAEF,uCAAuC;IACvC,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,oBAAC,aAAa,QAAE,OAAO,CAAiB,CAAC;IAClD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,kCAAkC;AAClC,OAAO,EAAE,aAAa,EAAE,CAAC;AAGzB,eAAe,uBAAuB,CAAC"}
|