@varity-labs/ui-kit 2.0.0-beta.7 → 2.0.0-beta.8
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/README.md +1 -1
- package/dist/components/PaymentWidget/PaymentWidget.d.ts +7 -19
- package/dist/components/PaymentWidget/PaymentWidget.d.ts.map +1 -1
- package/dist/components/PaymentWidget/PaymentWidget.js +10 -176
- package/dist/components/PaymentWidget/PaymentWidget.js.map +1 -1
- package/dist/components/PaymentWidget/useSeamlessPayment.d.ts +8 -34
- package/dist/components/PaymentWidget/useSeamlessPayment.d.ts.map +1 -1
- package/dist/components/PaymentWidget/useSeamlessPayment.js +12 -158
- package/dist/components/PaymentWidget/useSeamlessPayment.js.map +1 -1
- package/dist/components/PaymentWidget/useVarityPayment.d.ts +5 -6
- package/dist/components/PaymentWidget/useVarityPayment.d.ts.map +1 -1
- package/dist/components/PaymentWidget/useVarityPayment.js +11 -147
- package/dist/components/PaymentWidget/useVarityPayment.js.map +1 -1
- package/dist/providers/PrivyStack.d.ts +14 -9
- package/dist/providers/PrivyStack.d.ts.map +1 -1
- package/dist/providers/PrivyStack.js +2 -4
- package/dist/providers/PrivyStack.js.map +1 -1
- package/dist/providers/VarityDashboardProvider.d.ts +2 -2
- package/dist/providers/VarityDashboardProvider.d.ts.map +1 -1
- package/dist/providers/VarityDashboardProvider.js +3 -26
- package/dist/providers/VarityDashboardProvider.js.map +1 -1
- package/dist/providers/WalletSyncProvider.d.ts +3 -7
- package/dist/providers/WalletSyncProvider.d.ts.map +1 -1
- package/dist/providers/WalletSyncProvider.js +6 -14
- package/dist/providers/WalletSyncProvider.js.map +1 -1
- package/package.json +20 -20
- package/dist/components/Analytics/__tests__/DataTable.test.d.ts +0 -2
- package/dist/components/Analytics/__tests__/DataTable.test.d.ts.map +0 -1
- package/dist/components/Analytics/__tests__/DataTable.test.js +0 -113
- package/dist/components/Analytics/__tests__/DataTable.test.js.map +0 -1
- package/dist/components/Dashboard/__tests__/EmptyState.test.d.ts +0 -2
- package/dist/components/Dashboard/__tests__/EmptyState.test.d.ts.map +0 -1
- package/dist/components/Dashboard/__tests__/EmptyState.test.js +0 -81
- package/dist/components/Dashboard/__tests__/EmptyState.test.js.map +0 -1
- package/dist/components/Dashboard/__tests__/KPICard.test.d.ts +0 -2
- package/dist/components/Dashboard/__tests__/KPICard.test.d.ts.map +0 -1
- package/dist/components/Dashboard/__tests__/KPICard.test.js +0 -78
- package/dist/components/Dashboard/__tests__/KPICard.test.js.map +0 -1
- package/dist/components/InAppWallet/EmailLoginButton.d.ts +0 -27
- package/dist/components/InAppWallet/EmailLoginButton.d.ts.map +0 -1
- package/dist/components/InAppWallet/EmailLoginButton.js +0 -84
- package/dist/components/InAppWallet/EmailLoginButton.js.map +0 -1
- package/dist/components/InAppWallet/InAppWalletProvider.d.ts +0 -54
- package/dist/components/InAppWallet/InAppWalletProvider.d.ts.map +0 -1
- package/dist/components/InAppWallet/InAppWalletProvider.js +0 -225
- package/dist/components/InAppWallet/InAppWalletProvider.js.map +0 -1
- package/dist/components/InAppWallet/OnboardingFlow.d.ts +0 -25
- package/dist/components/InAppWallet/OnboardingFlow.d.ts.map +0 -1
- package/dist/components/InAppWallet/OnboardingFlow.js +0 -159
- package/dist/components/InAppWallet/OnboardingFlow.js.map +0 -1
- package/dist/components/InAppWallet/SocialLoginButtons.d.ts +0 -28
- package/dist/components/InAppWallet/SocialLoginButtons.d.ts.map +0 -1
- package/dist/components/InAppWallet/SocialLoginButtons.js +0 -128
- package/dist/components/InAppWallet/SocialLoginButtons.js.map +0 -1
- package/dist/components/InAppWallet/index.d.ts +0 -15
- package/dist/components/InAppWallet/index.d.ts.map +0 -1
- package/dist/components/InAppWallet/index.js +0 -14
- package/dist/components/InAppWallet/index.js.map +0 -1
- package/dist/components/Payments/CheckoutModal.d.ts +0 -19
- package/dist/components/Payments/CheckoutModal.d.ts.map +0 -1
- package/dist/components/Payments/CheckoutModal.js +0 -194
- package/dist/components/Payments/CheckoutModal.js.map +0 -1
- package/dist/components/Payments/SubscriptionWidget.d.ts +0 -17
- package/dist/components/Payments/SubscriptionWidget.d.ts.map +0 -1
- package/dist/components/Payments/SubscriptionWidget.js +0 -89
- package/dist/components/Payments/SubscriptionWidget.js.map +0 -1
- package/dist/components/Payments/constants.d.ts +0 -59
- package/dist/components/Payments/constants.d.ts.map +0 -1
- package/dist/components/Payments/constants.js +0 -145
- package/dist/components/Payments/constants.js.map +0 -1
- package/dist/components/Payments/index.d.ts +0 -10
- package/dist/components/Payments/index.d.ts.map +0 -1
- package/dist/components/Payments/index.js +0 -12
- package/dist/components/Payments/index.js.map +0 -1
- package/dist/components/Payments/types.d.ts +0 -119
- package/dist/components/Payments/types.d.ts.map +0 -1
- package/dist/components/Payments/types.js +0 -27
- package/dist/components/Payments/types.js.map +0 -1
- package/dist/components/Payments/usePayments.d.ts +0 -33
- package/dist/components/Payments/usePayments.d.ts.map +0 -1
- package/dist/components/Payments/usePayments.js +0 -249
- package/dist/components/Payments/usePayments.js.map +0 -1
- package/dist/components/Privy/__tests__/InitScreens.test.d.ts +0 -2
- package/dist/components/Privy/__tests__/InitScreens.test.d.ts.map +0 -1
- package/dist/components/Privy/__tests__/InitScreens.test.js +0 -74
- package/dist/components/Privy/__tests__/InitScreens.test.js.map +0 -1
- package/dist/components/SIWE/AuthStatus.d.ts +0 -15
- package/dist/components/SIWE/AuthStatus.d.ts.map +0 -1
- package/dist/components/SIWE/AuthStatus.js +0 -47
- package/dist/components/SIWE/AuthStatus.js.map +0 -1
- package/dist/components/SIWE/ProtectedRoute.d.ts +0 -17
- package/dist/components/SIWE/ProtectedRoute.d.ts.map +0 -1
- package/dist/components/SIWE/ProtectedRoute.js +0 -52
- package/dist/components/SIWE/ProtectedRoute.js.map +0 -1
- package/dist/components/SIWE/SIWEButton.d.ts +0 -22
- package/dist/components/SIWE/SIWEButton.d.ts.map +0 -1
- package/dist/components/SIWE/SIWEButton.js +0 -106
- package/dist/components/SIWE/SIWEButton.js.map +0 -1
- package/dist/components/SIWE/SIWEModal.d.ts +0 -19
- package/dist/components/SIWE/SIWEModal.d.ts.map +0 -1
- package/dist/components/SIWE/SIWEModal.js +0 -75
- package/dist/components/SIWE/SIWEModal.js.map +0 -1
- package/dist/components/SIWE/SIWEProvider.d.ts +0 -38
- package/dist/components/SIWE/SIWEProvider.d.ts.map +0 -1
- package/dist/components/SIWE/SIWEProvider.js +0 -227
- package/dist/components/SIWE/SIWEProvider.js.map +0 -1
- package/dist/components/SIWE/index.d.ts +0 -15
- package/dist/components/SIWE/index.d.ts.map +0 -1
- package/dist/components/SIWE/index.js +0 -10
- package/dist/components/SIWE/index.js.map +0 -1
- 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/hooks/web3/index.d.ts +0 -5
- package/dist/hooks/web3/index.d.ts.map +0 -1
- package/dist/hooks/web3/index.js +0 -6
- package/dist/hooks/web3/index.js.map +0 -1
- package/dist/hooks/web3/useAddressValidation.d.ts +0 -37
- package/dist/hooks/web3/useAddressValidation.d.ts.map +0 -1
- package/dist/hooks/web3/useAddressValidation.js +0 -59
- package/dist/hooks/web3/useAddressValidation.js.map +0 -1
- package/dist/hooks/web3/useBlockExplorer.d.ts +0 -37
- package/dist/hooks/web3/useBlockExplorer.d.ts.map +0 -1
- package/dist/hooks/web3/useBlockExplorer.js +0 -59
- package/dist/hooks/web3/useBlockExplorer.js.map +0 -1
- package/dist/hooks/web3/useUSDCFormat.d.ts +0 -34
- package/dist/hooks/web3/useUSDCFormat.d.ts.map +0 -1
- package/dist/hooks/web3/useUSDCFormat.js +0 -43
- package/dist/hooks/web3/useUSDCFormat.js.map +0 -1
- package/dist/hooks/web3/useVarityWallet.d.ts +0 -48
- package/dist/hooks/web3/useVarityWallet.d.ts.map +0 -1
- package/dist/hooks/web3/useVarityWallet.js +0 -70
- package/dist/hooks/web3/useVarityWallet.js.map +0 -1
- package/dist/modules/cache/index.d.ts +0 -12
- package/dist/modules/cache/index.d.ts.map +0 -1
- package/dist/modules/cache/index.js +0 -13
- package/dist/modules/cache/index.js.map +0 -1
- package/dist/providers/ChainContext.d.ts +0 -65
- package/dist/providers/ChainContext.d.ts.map +0 -1
- package/dist/providers/ChainContext.js +0 -92
- package/dist/providers/ChainContext.js.map +0 -1
- package/dist/providers/VarityProvider.d.ts +0 -32
- package/dist/providers/VarityProvider.d.ts.map +0 -1
- package/dist/providers/VarityProvider.js +0 -56
- package/dist/providers/VarityProvider.js.map +0 -1
- package/dist/providers/WalletContext.d.ts +0 -68
- package/dist/providers/WalletContext.d.ts.map +0 -1
- package/dist/providers/WalletContext.js +0 -98
- package/dist/providers/WalletContext.js.map +0 -1
- package/dist/providers/index.d.ts +0 -48
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/index.js +0 -53
- package/dist/providers/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
- package/dist/wallets/SimpleSmartWallet.d.ts +0 -68
- package/dist/wallets/SimpleSmartWallet.d.ts.map +0 -1
- package/dist/wallets/SimpleSmartWallet.js +0 -74
- package/dist/wallets/SimpleSmartWallet.js.map +0 -1
- package/dist/wallets/SmartWalletProvider.d.ts +0 -217
- package/dist/wallets/SmartWalletProvider.d.ts.map +0 -1
- package/dist/wallets/SmartWalletProvider.js +0 -366
- package/dist/wallets/SmartWalletProvider.js.map +0 -1
- package/dist/wallets/config.d.ts +0 -222
- package/dist/wallets/config.d.ts.map +0 -1
- package/dist/wallets/config.js +0 -206
- package/dist/wallets/config.js.map +0 -1
- package/dist/wallets/index.d.ts +0 -9
- package/dist/wallets/index.d.ts.map +0 -1
- package/dist/wallets/index.js +0 -9
- package/dist/wallets/index.js.map +0 -1
- package/dist/web3/AddressDisplay/AddressDisplay.d.ts +0 -33
- package/dist/web3/AddressDisplay/AddressDisplay.d.ts.map +0 -1
- package/dist/web3/AddressDisplay/AddressDisplay.js +0 -42
- package/dist/web3/AddressDisplay/AddressDisplay.js.map +0 -1
- package/dist/web3/AddressInput/AddressInput.d.ts +0 -36
- package/dist/web3/AddressInput/AddressInput.d.ts.map +0 -1
- package/dist/web3/AddressInput/AddressInput.js +0 -54
- package/dist/web3/AddressInput/AddressInput.js.map +0 -1
- package/dist/web3/AmountInput/AmountInput.d.ts +0 -41
- package/dist/web3/AmountInput/AmountInput.d.ts.map +0 -1
- package/dist/web3/AmountInput/AmountInput.js +0 -74
- package/dist/web3/AmountInput/AmountInput.js.map +0 -1
- package/dist/web3/BalanceDisplay/BalanceDisplay.d.ts +0 -30
- package/dist/web3/BalanceDisplay/BalanceDisplay.d.ts.map +0 -1
- package/dist/web3/BalanceDisplay/BalanceDisplay.js +0 -35
- package/dist/web3/BalanceDisplay/BalanceDisplay.js.map +0 -1
- package/dist/web3/BlockExplorerLink/BlockExplorerLink.d.ts +0 -41
- package/dist/web3/BlockExplorerLink/BlockExplorerLink.d.ts.map +0 -1
- package/dist/web3/BlockExplorerLink/BlockExplorerLink.js +0 -46
- package/dist/web3/BlockExplorerLink/BlockExplorerLink.js.map +0 -1
- package/dist/web3/ConnectWallet/ConnectWallet.d.ts +0 -35
- package/dist/web3/ConnectWallet/ConnectWallet.d.ts.map +0 -1
- package/dist/web3/ConnectWallet/ConnectWallet.js +0 -58
- package/dist/web3/ConnectWallet/ConnectWallet.js.map +0 -1
- package/dist/web3/DisconnectButton/DisconnectButton.d.ts +0 -30
- package/dist/web3/DisconnectButton/DisconnectButton.d.ts.map +0 -1
- package/dist/web3/DisconnectButton/DisconnectButton.js +0 -48
- package/dist/web3/DisconnectButton/DisconnectButton.js.map +0 -1
- package/dist/web3/WalletBalance/WalletBalance.d.ts +0 -27
- package/dist/web3/WalletBalance/WalletBalance.d.ts.map +0 -1
- package/dist/web3/WalletBalance/WalletBalance.js +0 -49
- package/dist/web3/WalletBalance/WalletBalance.js.map +0 -1
- package/dist/web3/WalletDropdown/WalletDropdown.d.ts +0 -29
- package/dist/web3/WalletDropdown/WalletDropdown.d.ts.map +0 -1
- package/dist/web3/WalletDropdown/WalletDropdown.js +0 -93
- package/dist/web3/WalletDropdown/WalletDropdown.js.map +0 -1
- package/dist/web3/WalletInfo/WalletInfo.d.ts +0 -31
- package/dist/web3/WalletInfo/WalletInfo.d.ts.map +0 -1
- package/dist/web3/WalletInfo/WalletInfo.js +0 -41
- package/dist/web3/WalletInfo/WalletInfo.js.map +0 -1
- package/dist/web3/index.d.ts +0 -11
- package/dist/web3/index.d.ts.map +0 -1
- package/dist/web3/index.js +0 -14
- package/dist/web3/index.js.map +0 -1
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* useDashboard - Dashboard state management hook
|
|
3
|
-
*
|
|
4
|
-
* Manages dashboard configuration, layout, and data.
|
|
5
|
-
*/
|
|
6
|
-
import { useState, useCallback, useEffect } from 'react';
|
|
7
|
-
import { useVarityAPI } from './useVarityAPI';
|
|
8
|
-
/**
|
|
9
|
-
* useDashboard Hook
|
|
10
|
-
*
|
|
11
|
-
* Manage dashboard configuration and widgets.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```tsx
|
|
15
|
-
* const { config, addWidget, save } = useDashboard({
|
|
16
|
-
* dashboardId: 'my-dashboard',
|
|
17
|
-
* autoSave: true
|
|
18
|
-
* })
|
|
19
|
-
*
|
|
20
|
-
* // Add a widget
|
|
21
|
-
* addWidget({
|
|
22
|
-
* id: 'widget-1',
|
|
23
|
-
* type: 'kpi',
|
|
24
|
-
* title: 'Total Revenue',
|
|
25
|
-
* config: { metric: 'revenue' },
|
|
26
|
-
* position: { x: 0, y: 0, width: 4, height: 2 }
|
|
27
|
-
* })
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
export const useDashboard = (options = {}) => {
|
|
31
|
-
const { client } = useVarityAPI();
|
|
32
|
-
const [config, setConfig] = useState(null);
|
|
33
|
-
const [loading, setLoading] = useState(false);
|
|
34
|
-
const [error, setError] = useState(null);
|
|
35
|
-
const [hasChanges, setHasChanges] = useState(false);
|
|
36
|
-
const { dashboardId, autoSave = false, autoSaveInterval = 30000 } = options;
|
|
37
|
-
const load = useCallback(async (id) => {
|
|
38
|
-
setLoading(true);
|
|
39
|
-
setError(null);
|
|
40
|
-
try {
|
|
41
|
-
const dashboard = await client.dashboard.get(id);
|
|
42
|
-
setConfig(dashboard);
|
|
43
|
-
setHasChanges(false);
|
|
44
|
-
}
|
|
45
|
-
catch (err) {
|
|
46
|
-
const error = err instanceof Error ? err : new Error('Failed to load dashboard');
|
|
47
|
-
setError(error);
|
|
48
|
-
}
|
|
49
|
-
finally {
|
|
50
|
-
setLoading(false);
|
|
51
|
-
}
|
|
52
|
-
}, [client]);
|
|
53
|
-
const save = useCallback(async () => {
|
|
54
|
-
if (!config)
|
|
55
|
-
return;
|
|
56
|
-
setLoading(true);
|
|
57
|
-
setError(null);
|
|
58
|
-
try {
|
|
59
|
-
await client.dashboard.save(config);
|
|
60
|
-
setHasChanges(false);
|
|
61
|
-
}
|
|
62
|
-
catch (err) {
|
|
63
|
-
const error = err instanceof Error ? err : new Error('Failed to save dashboard');
|
|
64
|
-
setError(error);
|
|
65
|
-
throw error;
|
|
66
|
-
}
|
|
67
|
-
finally {
|
|
68
|
-
setLoading(false);
|
|
69
|
-
}
|
|
70
|
-
}, [client, config]);
|
|
71
|
-
// Load dashboard on mount
|
|
72
|
-
useEffect(() => {
|
|
73
|
-
if (dashboardId) {
|
|
74
|
-
load(dashboardId);
|
|
75
|
-
}
|
|
76
|
-
}, [dashboardId, load]);
|
|
77
|
-
// Auto-save if enabled
|
|
78
|
-
useEffect(() => {
|
|
79
|
-
if (!autoSave || !hasChanges || !config)
|
|
80
|
-
return;
|
|
81
|
-
const interval = setInterval(() => {
|
|
82
|
-
save();
|
|
83
|
-
}, autoSaveInterval);
|
|
84
|
-
return () => clearInterval(interval);
|
|
85
|
-
}, [autoSave, hasChanges, config, autoSaveInterval, save]);
|
|
86
|
-
const updateConfig = useCallback((updates) => {
|
|
87
|
-
setConfig((prev) => prev ? { ...prev, ...updates } : null);
|
|
88
|
-
setHasChanges(true);
|
|
89
|
-
}, []);
|
|
90
|
-
const addWidget = useCallback((widget) => {
|
|
91
|
-
setConfig((prev) => {
|
|
92
|
-
if (!prev)
|
|
93
|
-
return null;
|
|
94
|
-
return {
|
|
95
|
-
...prev,
|
|
96
|
-
widgets: [...prev.widgets, widget]
|
|
97
|
-
};
|
|
98
|
-
});
|
|
99
|
-
setHasChanges(true);
|
|
100
|
-
}, []);
|
|
101
|
-
const removeWidget = useCallback((widgetId) => {
|
|
102
|
-
setConfig((prev) => {
|
|
103
|
-
if (!prev)
|
|
104
|
-
return null;
|
|
105
|
-
return {
|
|
106
|
-
...prev,
|
|
107
|
-
widgets: prev.widgets.filter((w) => w.id !== widgetId)
|
|
108
|
-
};
|
|
109
|
-
});
|
|
110
|
-
setHasChanges(true);
|
|
111
|
-
}, []);
|
|
112
|
-
const updateWidget = useCallback((widgetId, updates) => {
|
|
113
|
-
setConfig((prev) => {
|
|
114
|
-
if (!prev)
|
|
115
|
-
return null;
|
|
116
|
-
return {
|
|
117
|
-
...prev,
|
|
118
|
-
widgets: prev.widgets.map((w) => w.id === widgetId ? { ...w, ...updates } : w)
|
|
119
|
-
};
|
|
120
|
-
});
|
|
121
|
-
setHasChanges(true);
|
|
122
|
-
}, []);
|
|
123
|
-
const reset = useCallback(() => {
|
|
124
|
-
setConfig(null);
|
|
125
|
-
setHasChanges(false);
|
|
126
|
-
setError(null);
|
|
127
|
-
}, []);
|
|
128
|
-
return {
|
|
129
|
-
config,
|
|
130
|
-
loading,
|
|
131
|
-
error,
|
|
132
|
-
updateConfig,
|
|
133
|
-
addWidget,
|
|
134
|
-
removeWidget,
|
|
135
|
-
updateWidget,
|
|
136
|
-
save,
|
|
137
|
-
load,
|
|
138
|
-
reset
|
|
139
|
-
};
|
|
140
|
-
};
|
|
141
|
-
/**
|
|
142
|
-
* useWidgetData Hook
|
|
143
|
-
*
|
|
144
|
-
* Fetch data for a specific dashboard widget.
|
|
145
|
-
*
|
|
146
|
-
* @example
|
|
147
|
-
* ```tsx
|
|
148
|
-
* const { data, loading } = useWidgetData({
|
|
149
|
-
* id: 'widget-1',
|
|
150
|
-
* type: 'kpi',
|
|
151
|
-
* config: { metric: 'revenue' }
|
|
152
|
-
* })
|
|
153
|
-
* ```
|
|
154
|
-
*/
|
|
155
|
-
export const useWidgetData = (widget) => {
|
|
156
|
-
const { client } = useVarityAPI();
|
|
157
|
-
const [data, setData] = useState(null);
|
|
158
|
-
const [loading, setLoading] = useState(false);
|
|
159
|
-
const [error, setError] = useState(null);
|
|
160
|
-
const fetchData = useCallback(async () => {
|
|
161
|
-
setLoading(true);
|
|
162
|
-
setError(null);
|
|
163
|
-
try {
|
|
164
|
-
let result;
|
|
165
|
-
switch (widget.type) {
|
|
166
|
-
case 'kpi':
|
|
167
|
-
result = await client.analytics.getKPIs({ period: 'current_month' });
|
|
168
|
-
break;
|
|
169
|
-
case 'chart':
|
|
170
|
-
result = await client.analytics.getTrends({
|
|
171
|
-
startDate: widget.config.startDate,
|
|
172
|
-
endDate: widget.config.endDate
|
|
173
|
-
});
|
|
174
|
-
break;
|
|
175
|
-
case 'table':
|
|
176
|
-
result = await client.analytics.getData(widget.config);
|
|
177
|
-
break;
|
|
178
|
-
default:
|
|
179
|
-
result = null;
|
|
180
|
-
}
|
|
181
|
-
setData(result);
|
|
182
|
-
}
|
|
183
|
-
catch (err) {
|
|
184
|
-
const error = err instanceof Error ? err : new Error('Failed to fetch widget data');
|
|
185
|
-
setError(error);
|
|
186
|
-
}
|
|
187
|
-
finally {
|
|
188
|
-
setLoading(false);
|
|
189
|
-
}
|
|
190
|
-
}, [client, widget]);
|
|
191
|
-
useEffect(() => {
|
|
192
|
-
fetchData();
|
|
193
|
-
}, [fetchData]);
|
|
194
|
-
return {
|
|
195
|
-
data,
|
|
196
|
-
loading,
|
|
197
|
-
error,
|
|
198
|
-
refetch: fetchData
|
|
199
|
-
};
|
|
200
|
-
};
|
|
201
|
-
//# sourceMappingURL=useDashboard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDashboard.js","sourceRoot":"","sources":["../../src/hooks/useDashboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* useVarityAPI - Main hook for Varity API integration
|
|
3
|
-
*
|
|
4
|
-
* Provides a React hook interface to the Varity API with automatic error handling,
|
|
5
|
-
* loading states, and caching.
|
|
6
|
-
*/
|
|
7
|
-
import React, { ReactNode } from 'react';
|
|
8
|
-
import { VarityClient, VarityClientConfig } from '../core/VarityClient';
|
|
9
|
-
export interface VarityAPIContextValue {
|
|
10
|
-
/** Varity client instance */
|
|
11
|
-
client: VarityClient;
|
|
12
|
-
/** Whether client is authenticated */
|
|
13
|
-
isAuthenticated: boolean;
|
|
14
|
-
/** Set authentication status */
|
|
15
|
-
setAuthenticated: (authenticated: boolean) => void;
|
|
16
|
-
}
|
|
17
|
-
export interface VarityAPIProviderProps {
|
|
18
|
-
/** Varity client configuration */
|
|
19
|
-
config: VarityClientConfig;
|
|
20
|
-
/** Child components */
|
|
21
|
-
children: ReactNode;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* VarityAPIProvider - Context provider for Varity API
|
|
25
|
-
*
|
|
26
|
-
* Wrap your app with this provider to enable useVarityAPI hook.
|
|
27
|
-
*
|
|
28
|
-
* @example
|
|
29
|
-
* ```tsx
|
|
30
|
-
* <VarityAPIProvider config={{ apiEndpoint: 'https://api.varity.io' }}>
|
|
31
|
-
* <App />
|
|
32
|
-
* </VarityAPIProvider>
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
35
|
-
export declare const VarityAPIProvider: React.FC<VarityAPIProviderProps>;
|
|
36
|
-
/**
|
|
37
|
-
* useVarityAPI Hook
|
|
38
|
-
*
|
|
39
|
-
* Access Varity client from any component.
|
|
40
|
-
*
|
|
41
|
-
* @example
|
|
42
|
-
* ```tsx
|
|
43
|
-
* const { client, isAuthenticated } = useVarityAPI()
|
|
44
|
-
* const data = await client.analytics.getKPIs({ period: 'current_month' })
|
|
45
|
-
* ```
|
|
46
|
-
*/
|
|
47
|
-
export declare const useVarityAPI: () => VarityAPIContextValue;
|
|
48
|
-
/**
|
|
49
|
-
* useVarityQuery Hook
|
|
50
|
-
*
|
|
51
|
-
* Execute API queries with automatic loading and error states.
|
|
52
|
-
*
|
|
53
|
-
* @example
|
|
54
|
-
* ```tsx
|
|
55
|
-
* const { data, loading, error, refetch } = useVarityQuery(
|
|
56
|
-
* async (client) => client.analytics.getKPIs({ period: 'current_month' })
|
|
57
|
-
* )
|
|
58
|
-
* ```
|
|
59
|
-
*/
|
|
60
|
-
export declare function useVarityQuery<T>(queryFn: (client: VarityClient) => Promise<T>, deps?: any[]): {
|
|
61
|
-
data: T | null;
|
|
62
|
-
loading: boolean;
|
|
63
|
-
error: Error | null;
|
|
64
|
-
refetch: () => Promise<T>;
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* useVarityMutation Hook
|
|
68
|
-
*
|
|
69
|
-
* Execute API mutations with loading and error states.
|
|
70
|
-
*
|
|
71
|
-
* @example
|
|
72
|
-
* ```tsx
|
|
73
|
-
* const { mutate, loading, error } = useVarityMutation(
|
|
74
|
-
* async (client, file: File) => client.storage.uploadFile(file)
|
|
75
|
-
* )
|
|
76
|
-
*
|
|
77
|
-
* // Later in code
|
|
78
|
-
* await mutate(file)
|
|
79
|
-
* ```
|
|
80
|
-
*/
|
|
81
|
-
export declare function useVarityMutation<TArgs extends any[], TResult>(mutationFn: (client: VarityClient, ...args: TArgs) => Promise<TResult>): {
|
|
82
|
-
mutate: (...args: TArgs) => Promise<TResult>;
|
|
83
|
-
loading: boolean;
|
|
84
|
-
error: Error | null;
|
|
85
|
-
data: TResult | null;
|
|
86
|
-
reset: () => void;
|
|
87
|
-
};
|
|
88
|
-
//# sourceMappingURL=useVarityAPI.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useVarityAPI.d.ts","sourceRoot":"","sources":["../../src/hooks/useVarityAPI.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAA6B,SAAS,EAAyB,MAAM,OAAO,CAAA;AAC1F,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEvE,MAAM,WAAW,qBAAqB;IACpC,6BAA6B;IAC7B,MAAM,EAAE,YAAY,CAAA;IACpB,sCAAsC;IACtC,eAAe,EAAE,OAAO,CAAA;IACxB,gCAAgC;IAChC,gBAAgB,EAAE,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,CAAA;CACnD;AAID,MAAM,WAAW,sBAAsB;IACrC,kCAAkC;IAClC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,uBAAuB;IACvB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAS9D,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,QAAO,qBAM/B,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,EAC7C,IAAI,GAAE,GAAG,EAAO;;;;;EAkCjB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,SAAS,GAAG,EAAE,EAAE,OAAO,EAC5D,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC;sBAO3B,KAAK,KAAG,OAAO,CAAC,OAAO,CAAC;;;;;EA0BpE"}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* useVarityAPI - Main hook for Varity API integration
|
|
3
|
-
*
|
|
4
|
-
* Provides a React hook interface to the Varity API with automatic error handling,
|
|
5
|
-
* loading states, and caching.
|
|
6
|
-
*/
|
|
7
|
-
import React, { useContext, createContext, useState, useCallback } from 'react';
|
|
8
|
-
import { VarityClient } from '../core/VarityClient';
|
|
9
|
-
const VarityAPIContext = createContext(undefined);
|
|
10
|
-
/**
|
|
11
|
-
* VarityAPIProvider - Context provider for Varity API
|
|
12
|
-
*
|
|
13
|
-
* Wrap your app with this provider to enable useVarityAPI hook.
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```tsx
|
|
17
|
-
* <VarityAPIProvider config={{ apiEndpoint: 'https://api.varity.io' }}>
|
|
18
|
-
* <App />
|
|
19
|
-
* </VarityAPIProvider>
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
export const VarityAPIProvider = ({ config, children }) => {
|
|
23
|
-
const [client] = useState(() => new VarityClient(config));
|
|
24
|
-
const [isAuthenticated, setAuthenticated] = useState(false);
|
|
25
|
-
return (React.createElement(VarityAPIContext.Provider, { value: { client, isAuthenticated, setAuthenticated } }, children));
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* useVarityAPI Hook
|
|
29
|
-
*
|
|
30
|
-
* Access Varity client from any component.
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* ```tsx
|
|
34
|
-
* const { client, isAuthenticated } = useVarityAPI()
|
|
35
|
-
* const data = await client.analytics.getKPIs({ period: 'current_month' })
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
export const useVarityAPI = () => {
|
|
39
|
-
const context = useContext(VarityAPIContext);
|
|
40
|
-
if (!context) {
|
|
41
|
-
throw new Error('useVarityAPI must be used within a VarityAPIProvider');
|
|
42
|
-
}
|
|
43
|
-
return context;
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* useVarityQuery Hook
|
|
47
|
-
*
|
|
48
|
-
* Execute API queries with automatic loading and error states.
|
|
49
|
-
*
|
|
50
|
-
* @example
|
|
51
|
-
* ```tsx
|
|
52
|
-
* const { data, loading, error, refetch } = useVarityQuery(
|
|
53
|
-
* async (client) => client.analytics.getKPIs({ period: 'current_month' })
|
|
54
|
-
* )
|
|
55
|
-
* ```
|
|
56
|
-
*/
|
|
57
|
-
export function useVarityQuery(queryFn, deps = []) {
|
|
58
|
-
const { client } = useVarityAPI();
|
|
59
|
-
const [data, setData] = useState(null);
|
|
60
|
-
const [loading, setLoading] = useState(false);
|
|
61
|
-
const [error, setError] = useState(null);
|
|
62
|
-
const execute = useCallback(async () => {
|
|
63
|
-
setLoading(true);
|
|
64
|
-
setError(null);
|
|
65
|
-
try {
|
|
66
|
-
const result = await queryFn(client);
|
|
67
|
-
setData(result);
|
|
68
|
-
return result;
|
|
69
|
-
}
|
|
70
|
-
catch (err) {
|
|
71
|
-
const error = err instanceof Error ? err : new Error('Unknown error');
|
|
72
|
-
setError(error);
|
|
73
|
-
throw error;
|
|
74
|
-
}
|
|
75
|
-
finally {
|
|
76
|
-
setLoading(false);
|
|
77
|
-
}
|
|
78
|
-
}, [client, ...deps]);
|
|
79
|
-
// Auto-execute on mount
|
|
80
|
-
useState(() => {
|
|
81
|
-
execute();
|
|
82
|
-
});
|
|
83
|
-
return {
|
|
84
|
-
data,
|
|
85
|
-
loading,
|
|
86
|
-
error,
|
|
87
|
-
refetch: execute
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* useVarityMutation Hook
|
|
92
|
-
*
|
|
93
|
-
* Execute API mutations with loading and error states.
|
|
94
|
-
*
|
|
95
|
-
* @example
|
|
96
|
-
* ```tsx
|
|
97
|
-
* const { mutate, loading, error } = useVarityMutation(
|
|
98
|
-
* async (client, file: File) => client.storage.uploadFile(file)
|
|
99
|
-
* )
|
|
100
|
-
*
|
|
101
|
-
* // Later in code
|
|
102
|
-
* await mutate(file)
|
|
103
|
-
* ```
|
|
104
|
-
*/
|
|
105
|
-
export function useVarityMutation(mutationFn) {
|
|
106
|
-
const { client } = useVarityAPI();
|
|
107
|
-
const [loading, setLoading] = useState(false);
|
|
108
|
-
const [error, setError] = useState(null);
|
|
109
|
-
const [data, setData] = useState(null);
|
|
110
|
-
const mutate = useCallback(async (...args) => {
|
|
111
|
-
setLoading(true);
|
|
112
|
-
setError(null);
|
|
113
|
-
try {
|
|
114
|
-
const result = await mutationFn(client, ...args);
|
|
115
|
-
setData(result);
|
|
116
|
-
return result;
|
|
117
|
-
}
|
|
118
|
-
catch (err) {
|
|
119
|
-
const error = err instanceof Error ? err : new Error('Unknown error');
|
|
120
|
-
setError(error);
|
|
121
|
-
throw error;
|
|
122
|
-
}
|
|
123
|
-
finally {
|
|
124
|
-
setLoading(false);
|
|
125
|
-
}
|
|
126
|
-
}, [client]);
|
|
127
|
-
return {
|
|
128
|
-
mutate,
|
|
129
|
-
loading,
|
|
130
|
-
error,
|
|
131
|
-
data,
|
|
132
|
-
reset: () => {
|
|
133
|
-
setData(null);
|
|
134
|
-
setError(null);
|
|
135
|
-
}
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
//# sourceMappingURL=useVarityAPI.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useVarityAPI.js","sourceRoot":"","sources":["../../src/hooks/useVarityAPI.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wallet session information
|
|
3
|
-
*/
|
|
4
|
-
export interface WalletSession {
|
|
5
|
-
sessionToken: string;
|
|
6
|
-
walletAddress: string;
|
|
7
|
-
expiresAt: number;
|
|
8
|
-
expiresIn: number;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Session information from the backend
|
|
12
|
-
*/
|
|
13
|
-
export interface SessionInfo {
|
|
14
|
-
wallet_address: string;
|
|
15
|
-
session_token: string;
|
|
16
|
-
created_at: number;
|
|
17
|
-
expires_at: number;
|
|
18
|
-
metadata: Record<string, unknown>;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Return type for useWalletAuth hook
|
|
22
|
-
*/
|
|
23
|
-
export interface UseWalletAuthReturn {
|
|
24
|
-
/** Whether the user is authenticated with a valid session */
|
|
25
|
-
isAuthenticated: boolean;
|
|
26
|
-
/** The current session token */
|
|
27
|
-
sessionToken: string | null;
|
|
28
|
-
/** The authenticated wallet address */
|
|
29
|
-
walletAddress: string | null;
|
|
30
|
-
/** Whether authentication is in progress */
|
|
31
|
-
isAuthenticating: boolean;
|
|
32
|
-
/** Authentication error message if any */
|
|
33
|
-
authError: string | null;
|
|
34
|
-
/** List of active sessions across devices */
|
|
35
|
-
sessions: SessionInfo[];
|
|
36
|
-
/** Initiate login with wallet signature */
|
|
37
|
-
login: () => Promise<void>;
|
|
38
|
-
/** Logout and invalidate session */
|
|
39
|
-
logout: () => Promise<void>;
|
|
40
|
-
/** Refresh session expiration */
|
|
41
|
-
refreshSession: () => Promise<void>;
|
|
42
|
-
/** Get all active sessions */
|
|
43
|
-
getSessions: () => Promise<void>;
|
|
44
|
-
/** Logout from a specific session */
|
|
45
|
-
logoutFromSession: (sessionToken: string) => Promise<void>;
|
|
46
|
-
/** Logout from all devices */
|
|
47
|
-
logoutFromAllDevices: () => Promise<void>;
|
|
48
|
-
/** Add additional wallet to session (multi-wallet support) */
|
|
49
|
-
addWallet: (newWalletAddress: string) => Promise<void>;
|
|
50
|
-
/** Get axios-like fetch with auth headers */
|
|
51
|
-
authFetch: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Configuration for useWalletAuth hook
|
|
55
|
-
*/
|
|
56
|
-
export interface UseWalletAuthConfig {
|
|
57
|
-
/** Base URL for the API (default: from env or localhost:8000) */
|
|
58
|
-
apiBaseUrl?: string;
|
|
59
|
-
/** Auto-login when Privy authenticates (default: true) */
|
|
60
|
-
autoLogin?: boolean;
|
|
61
|
-
/** Auto-refresh session interval in minutes (default: 30) */
|
|
62
|
-
refreshIntervalMinutes?: number;
|
|
63
|
-
/** Callback when session changes */
|
|
64
|
-
onSessionChange?: (session: WalletSession | null) => void;
|
|
65
|
-
/** Callback when auth error occurs */
|
|
66
|
-
onAuthError?: (error: string) => void;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* useWalletAuth - Wallet-based authentication with session management
|
|
70
|
-
*
|
|
71
|
-
* This hook provides complete wallet authentication functionality:
|
|
72
|
-
* - Signs in using wallet signature (EIP-191)
|
|
73
|
-
* - Manages session tokens with auto-refresh
|
|
74
|
-
* - Handles multi-device sessions
|
|
75
|
-
* - Integrates with Privy for embedded wallets
|
|
76
|
-
*
|
|
77
|
-
* @example
|
|
78
|
-
* ```tsx
|
|
79
|
-
* import { useWalletAuth } from '@varity-labs/ui-kit';
|
|
80
|
-
*
|
|
81
|
-
* function MyComponent() {
|
|
82
|
-
* const {
|
|
83
|
-
* isAuthenticated,
|
|
84
|
-
* walletAddress,
|
|
85
|
-
* login,
|
|
86
|
-
* logout,
|
|
87
|
-
* authFetch,
|
|
88
|
-
* } = useWalletAuth({
|
|
89
|
-
* apiBaseUrl: 'https://api.example.com',
|
|
90
|
-
* });
|
|
91
|
-
*
|
|
92
|
-
* if (!isAuthenticated) {
|
|
93
|
-
* return <button onClick={login}>Sign In</button>;
|
|
94
|
-
* }
|
|
95
|
-
*
|
|
96
|
-
* const fetchData = async () => {
|
|
97
|
-
* // authFetch automatically includes session token
|
|
98
|
-
* const response = await authFetch('/api/v1/data');
|
|
99
|
-
* return response.json();
|
|
100
|
-
* };
|
|
101
|
-
*
|
|
102
|
-
* return <p>Connected: {walletAddress}</p>;
|
|
103
|
-
* }
|
|
104
|
-
* ```
|
|
105
|
-
*/
|
|
106
|
-
export declare function useWalletAuth(config?: UseWalletAuthConfig): UseWalletAuthReturn;
|
|
107
|
-
export default useWalletAuth;
|
|
108
|
-
//# sourceMappingURL=useWalletAuth.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useWalletAuth.d.ts","sourceRoot":"","sources":["../../src/hooks/useWalletAuth.ts"],"names":[],"mappings":"AAmBA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAElC,6DAA6D;IAC7D,eAAe,EAAE,OAAO,CAAC;IACzB,gCAAgC;IAChC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,uCAAuC;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,4CAA4C;IAC5C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,0CAA0C;IAC1C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAGzB,6CAA6C;IAC7C,QAAQ,EAAE,WAAW,EAAE,CAAC;IAGxB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,oCAAoC;IACpC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,iCAAiC;IACjC,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,8BAA8B;IAC9B,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,qCAAqC;IACrC,iBAAiB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,8BAA8B;IAC9B,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,8DAA8D;IAC9D,SAAS,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAGvD,6CAA6C;IAC7C,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CAChF;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6DAA6D;IAC7D,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,oCAAoC;IACpC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1D,sCAAsC;IACtC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,aAAa,CAAC,MAAM,GAAE,mBAAwB,GAAG,mBAAmB,CA4ZnF;AAED,eAAe,aAAa,CAAC"}
|