@varity-labs/ui-kit 2.0.0-beta.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.
Files changed (108) hide show
  1. package/LICENSE +3 -3
  2. package/README.md +66 -35
  3. package/dist/components/Dashboard/DashboardHeader.js +4 -4
  4. package/dist/components/Dashboard/DashboardHeader.js.map +1 -1
  5. package/dist/components/Dashboard/DashboardLayout.d.ts +3 -3
  6. package/dist/components/Dashboard/DashboardLayout.d.ts.map +1 -1
  7. package/dist/components/Dashboard/DashboardLayout.js +1 -1
  8. package/dist/components/Onramp/BuyUSDCButton.d.ts +4 -4
  9. package/dist/components/Onramp/BuyUSDCButton.d.ts.map +1 -1
  10. package/dist/components/Onramp/BuyUSDCButton.js +5 -5
  11. package/dist/components/Onramp/BuyUSDCButton.js.map +1 -1
  12. package/dist/components/Onramp/OnrampWidget.d.ts +4 -4
  13. package/dist/components/Onramp/OnrampWidget.d.ts.map +1 -1
  14. package/dist/components/Onramp/OnrampWidget.js +10 -11
  15. package/dist/components/Onramp/OnrampWidget.js.map +1 -1
  16. package/dist/components/Onramp/index.d.ts +3 -4
  17. package/dist/components/Onramp/index.d.ts.map +1 -1
  18. package/dist/components/Onramp/index.js +3 -4
  19. package/dist/components/Onramp/index.js.map +1 -1
  20. package/dist/components/PaymentWidget/PaymentWidget.d.ts +15 -6
  21. package/dist/components/PaymentWidget/PaymentWidget.d.ts.map +1 -1
  22. package/dist/components/PaymentWidget/PaymentWidget.js +79 -47
  23. package/dist/components/PaymentWidget/PaymentWidget.js.map +1 -1
  24. package/dist/components/PaymentWidget/useSeamlessPayment.d.ts +51 -0
  25. package/dist/components/PaymentWidget/useSeamlessPayment.d.ts.map +1 -0
  26. package/dist/components/PaymentWidget/useSeamlessPayment.js +167 -0
  27. package/dist/components/PaymentWidget/useSeamlessPayment.js.map +1 -0
  28. package/dist/components/PaymentWidget/useVarityPayment.js +1 -1
  29. package/dist/components/PaymentWidget/useVarityPayment.js.map +1 -1
  30. package/dist/components/Payments/CheckoutModal.d.ts.map +1 -1
  31. package/dist/components/Payments/CheckoutModal.js +16 -5
  32. package/dist/components/Payments/CheckoutModal.js.map +1 -1
  33. package/dist/components/Payments/constants.d.ts +1 -1
  34. package/dist/components/Payments/constants.d.ts.map +1 -1
  35. package/dist/components/Payments/constants.js +1 -1
  36. package/dist/components/Payments/constants.js.map +1 -1
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +1 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/modules/cache/CacheClient.d.ts +48 -0
  42. package/dist/modules/cache/CacheClient.d.ts.map +1 -0
  43. package/dist/modules/cache/CacheClient.js +59 -0
  44. package/dist/modules/cache/CacheClient.js.map +1 -0
  45. package/dist/providers/PrivyStack.d.ts +21 -49
  46. package/dist/providers/PrivyStack.d.ts.map +1 -1
  47. package/dist/providers/PrivyStack.js +16 -46
  48. package/dist/providers/PrivyStack.js.map +1 -1
  49. package/dist/providers/VarityDashboardProvider.js.map +1 -1
  50. package/dist/providers/WalletSyncProvider.d.ts +17 -24
  51. package/dist/providers/WalletSyncProvider.d.ts.map +1 -1
  52. package/dist/providers/WalletSyncProvider.js +16 -27
  53. package/dist/providers/WalletSyncProvider.js.map +1 -1
  54. package/dist/providers/ZeroDevProvider.d.ts +69 -0
  55. package/dist/providers/ZeroDevProvider.d.ts.map +1 -0
  56. package/dist/providers/ZeroDevProvider.js +208 -0
  57. package/dist/providers/ZeroDevProvider.js.map +1 -0
  58. package/dist/providers/index.d.ts +1 -0
  59. package/dist/providers/index.d.ts.map +1 -1
  60. package/dist/providers/index.js +2 -0
  61. package/dist/providers/index.js.map +1 -1
  62. package/dist/wallets/SmartWalletProvider.js +1 -1
  63. package/dist/wallets/SmartWalletProvider.js.map +1 -1
  64. package/dist/wallets/config.d.ts +23 -0
  65. package/dist/wallets/config.d.ts.map +1 -1
  66. package/dist/wallets/config.js +24 -1
  67. package/dist/wallets/config.js.map +1 -1
  68. package/dist/wallets/index.d.ts +1 -1
  69. package/dist/wallets/index.d.ts.map +1 -1
  70. package/dist/wallets/index.js +1 -1
  71. package/dist/wallets/index.js.map +1 -1
  72. package/package.json +9 -7
  73. package/dist/core/VarityClient.d.ts +0 -76
  74. package/dist/core/VarityClient.d.ts.map +0 -1
  75. package/dist/core/VarityClient.js +0 -99
  76. package/dist/core/VarityClient.js.map +0 -1
  77. package/dist/core/config.d.ts +0 -136
  78. package/dist/core/config.d.ts.map +0 -1
  79. package/dist/core/config.js +0 -156
  80. package/dist/core/config.js.map +0 -1
  81. package/dist/hooks/useAnalytics.d.ts +0 -94
  82. package/dist/hooks/useAnalytics.d.ts.map +0 -1
  83. package/dist/hooks/useAnalytics.js +0 -116
  84. package/dist/hooks/useAnalytics.js.map +0 -1
  85. package/dist/hooks/useAuth.d.ts +0 -71
  86. package/dist/hooks/useAuth.d.ts.map +0 -1
  87. package/dist/hooks/useAuth.js +0 -198
  88. package/dist/hooks/useAuth.js.map +0 -1
  89. package/dist/hooks/useDashboard.d.ts +0 -110
  90. package/dist/hooks/useDashboard.d.ts.map +0 -1
  91. package/dist/hooks/useDashboard.js +0 -201
  92. package/dist/hooks/useDashboard.js.map +0 -1
  93. package/dist/hooks/useVarityAPI.d.ts +0 -88
  94. package/dist/hooks/useVarityAPI.d.ts.map +0 -1
  95. package/dist/hooks/useVarityAPI.js +0 -138
  96. package/dist/hooks/useVarityAPI.js.map +0 -1
  97. package/dist/hooks/useWalletAuth.d.ts +0 -108
  98. package/dist/hooks/useWalletAuth.d.ts.map +0 -1
  99. package/dist/hooks/useWalletAuth.js +0 -415
  100. package/dist/hooks/useWalletAuth.js.map +0 -1
  101. package/dist/modules/cache/index.d.ts +0 -12
  102. package/dist/modules/cache/index.d.ts.map +0 -1
  103. package/dist/modules/cache/index.js +0 -13
  104. package/dist/modules/cache/index.js.map +0 -1
  105. package/dist/types/api-extensions.d.ts +0 -92
  106. package/dist/types/api-extensions.d.ts.map +0 -1
  107. package/dist/types/api-extensions.js +0 -7
  108. package/dist/types/api-extensions.js.map +0 -1
@@ -1,116 +0,0 @@
1
- /**
2
- * useAnalytics - Analytics data fetching and tracking hook
3
- *
4
- * Provides easy access to analytics data with automatic caching and refresh.
5
- */
6
- import { useState, useEffect, useCallback } from 'react';
7
- import { useVarityAPI } from './useVarityAPI';
8
- /**
9
- * useAnalytics Hook
10
- *
11
- * Fetch and track analytics data.
12
- *
13
- * @example
14
- * ```tsx
15
- * const { data, loading, trackEvent } = useAnalytics({
16
- * period: 'current_month',
17
- * refreshInterval: 30000
18
- * })
19
- *
20
- * // Track custom event
21
- * await trackEvent('button_clicked', { buttonId: 'export' })
22
- * ```
23
- */
24
- export const useAnalytics = (options = {}) => {
25
- const { client } = useVarityAPI();
26
- const [data, setData] = useState(null);
27
- const [loading, setLoading] = useState(false);
28
- const [error, setError] = useState(null);
29
- const { period = 'current_month', refreshInterval, cache = true } = options;
30
- const fetchAnalytics = useCallback(async () => {
31
- setLoading(true);
32
- setError(null);
33
- try {
34
- // Fetch KPIs
35
- const kpisResponse = await client.analytics.getKPIs({ period });
36
- // Fetch trends if available
37
- let timeSeries;
38
- if (options.startDate && options.endDate) {
39
- const trendsResponse = await client.analytics.getTrends({
40
- startDate: options.startDate,
41
- endDate: options.endDate
42
- });
43
- timeSeries = trendsResponse.data;
44
- }
45
- setData({
46
- kpis: kpisResponse.kpis || [],
47
- timeSeries,
48
- metrics: kpisResponse.metrics
49
- });
50
- }
51
- catch (err) {
52
- const error = err instanceof Error ? err : new Error('Failed to fetch analytics');
53
- setError(error);
54
- }
55
- finally {
56
- setLoading(false);
57
- }
58
- }, [client, period, options.startDate, options.endDate]);
59
- // Fetch on mount and when dependencies change
60
- useEffect(() => {
61
- fetchAnalytics();
62
- }, [fetchAnalytics]);
63
- // Auto-refresh if interval is set
64
- useEffect(() => {
65
- if (!refreshInterval)
66
- return;
67
- const interval = setInterval(() => {
68
- fetchAnalytics();
69
- }, refreshInterval);
70
- return () => clearInterval(interval);
71
- }, [refreshInterval, fetchAnalytics]);
72
- const trackEvent = useCallback(async (eventName, properties) => {
73
- try {
74
- // Track event via analytics API
75
- await client.analytics.trackEvent({
76
- event: eventName,
77
- properties: properties || {},
78
- timestamp: new Date().toISOString()
79
- });
80
- }
81
- catch (err) {
82
- console.error('Failed to track event:', err);
83
- }
84
- }, [client]);
85
- return {
86
- data,
87
- loading,
88
- error,
89
- refetch: fetchAnalytics,
90
- trackEvent
91
- };
92
- };
93
- /**
94
- * useKPI Hook
95
- *
96
- * Fetch a single KPI with real-time updates.
97
- *
98
- * @example
99
- * ```tsx
100
- * const { value, trend, loading } = useKPI('total_revenue', { period: 'current_month' })
101
- * ```
102
- */
103
- export const useKPI = (kpiId, options = {}) => {
104
- const { data, loading, error, refetch } = useAnalytics(options);
105
- const kpi = data?.kpis?.find((k) => k.id === kpiId) || null;
106
- return {
107
- value: kpi?.value || null,
108
- unit: kpi?.unit,
109
- trend: kpi?.trend,
110
- trendValue: kpi?.trendValue,
111
- loading,
112
- error,
113
- refetch
114
- };
115
- };
116
- //# sourceMappingURL=useAnalytics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAnalytics.js","sourceRoot":"","sources":["../../src/hooks/useAnalytics.ts"],"names":[],"mappings":"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"}
@@ -1,71 +0,0 @@
1
- /**
2
- * useAuth - Authentication state management hook
3
- *
4
- * Manages user authentication state with SIWE (Sign-In with Ethereum).
5
- */
6
- import { Metadata } from '@varity-labs/types';
7
- export interface User {
8
- /** User's wallet address */
9
- address: string;
10
- /** User's display name */
11
- name?: string;
12
- /** User's email */
13
- email?: string;
14
- /** User's avatar URL */
15
- avatarUrl?: string;
16
- /** Additional user metadata */
17
- metadata?: Metadata;
18
- }
19
- export interface UseAuthReturn {
20
- /** Current user (null if not authenticated) */
21
- user: User | null;
22
- /** Whether user is authenticated */
23
- isAuthenticated: boolean;
24
- /** Whether auth is loading */
25
- isLoading: boolean;
26
- /** Authentication error */
27
- error: Error | null;
28
- /** Login with SIWE */
29
- login: (message: string, signature: string) => Promise<void>;
30
- /** Logout */
31
- logout: () => Promise<void>;
32
- /** Refresh user data */
33
- refreshUser: () => Promise<void>;
34
- }
35
- /**
36
- * useAuth Hook
37
- *
38
- * Manages authentication state with Sign-In with Ethereum (SIWE).
39
- *
40
- * @example
41
- * ```tsx
42
- * const { user, isAuthenticated, login, logout } = useAuth()
43
- *
44
- * // Login
45
- * await login(siweMessage, signature)
46
- *
47
- * // Logout
48
- * await logout()
49
- * ```
50
- */
51
- export declare const useAuth: () => UseAuthReturn;
52
- /**
53
- * useWalletConnect Hook
54
- *
55
- * Helper hook for connecting external wallets (MetaMask, etc).
56
- *
57
- * @example
58
- * ```tsx
59
- * const { connect, disconnect, address, isConnected } = useWalletConnect()
60
- * await connect()
61
- * ```
62
- */
63
- export declare const useWalletConnect: () => {
64
- address: string | null;
65
- isConnected: boolean;
66
- isLoading: boolean;
67
- error: Error | null;
68
- connect: () => Promise<void>;
69
- disconnect: () => void;
70
- };
71
- //# sourceMappingURL=useAuth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAuth.d.ts","sourceRoot":"","sources":["../../src/hooks/useAuth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,MAAM,WAAW,IAAI;IACnB,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;IACjB,oCAAoC;IACpC,eAAe,EAAE,OAAO,CAAA;IACxB,8BAA8B;IAC9B,SAAS,EAAE,OAAO,CAAA;IAClB,2BAA2B;IAC3B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,sBAAsB;IACtB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,aAAa;IACb,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,wBAAwB;IACxB,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACjC;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,OAAO,QAAO,aA+F1B,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB;;;;;;;CA0E5B,CAAA"}
@@ -1,198 +0,0 @@
1
- /**
2
- * useAuth - Authentication state management hook
3
- *
4
- * Manages user authentication state with SIWE (Sign-In with Ethereum).
5
- */
6
- import { useState, useCallback, useEffect } from 'react';
7
- import { useVarityAPI } from './useVarityAPI';
8
- /**
9
- * useAuth Hook
10
- *
11
- * Manages authentication state with Sign-In with Ethereum (SIWE).
12
- *
13
- * @example
14
- * ```tsx
15
- * const { user, isAuthenticated, login, logout } = useAuth()
16
- *
17
- * // Login
18
- * await login(siweMessage, signature)
19
- *
20
- * // Logout
21
- * await logout()
22
- * ```
23
- */
24
- export const useAuth = () => {
25
- const { client, isAuthenticated, setAuthenticated } = useVarityAPI();
26
- const [user, setUser] = useState(null);
27
- const [isLoading, setIsLoading] = useState(false);
28
- const [error, setError] = useState(null);
29
- const refreshUser = useCallback(async () => {
30
- setIsLoading(true);
31
- setError(null);
32
- try {
33
- const userData = await client.auth.me();
34
- setUser({
35
- address: userData.address,
36
- name: userData.name,
37
- email: userData.email,
38
- avatarUrl: userData.avatarUrl,
39
- metadata: userData.metadata
40
- });
41
- setAuthenticated(true);
42
- }
43
- catch (err) {
44
- const error = err instanceof Error ? err : new Error('Failed to fetch user');
45
- setError(error);
46
- setUser(null);
47
- setAuthenticated(false);
48
- // Clear invalid token
49
- localStorage.removeItem('varity_token');
50
- }
51
- finally {
52
- setIsLoading(false);
53
- }
54
- }, [client, setAuthenticated]);
55
- const login = useCallback(async (message, signature) => {
56
- setIsLoading(true);
57
- setError(null);
58
- try {
59
- const response = await client.auth.login(message, signature);
60
- // Store token
61
- if (response.token) {
62
- localStorage.setItem('varity_token', response.token);
63
- client.setAPIKey(response.token);
64
- }
65
- // Set user data
66
- setUser({
67
- address: response.address,
68
- name: response.name,
69
- email: response.email,
70
- avatarUrl: response.avatarUrl,
71
- metadata: response.metadata
72
- });
73
- setAuthenticated(true);
74
- }
75
- catch (err) {
76
- const error = err instanceof Error ? err : new Error('Login failed');
77
- setError(error);
78
- throw error;
79
- }
80
- finally {
81
- setIsLoading(false);
82
- }
83
- }, [client, setAuthenticated]);
84
- // Load user on mount if token exists
85
- useEffect(() => {
86
- const token = localStorage.getItem('varity_token');
87
- if (token) {
88
- refreshUser();
89
- }
90
- }, [refreshUser]);
91
- const logout = useCallback(async () => {
92
- setIsLoading(true);
93
- setError(null);
94
- try {
95
- await client.auth.logout();
96
- }
97
- catch (err) {
98
- // Log error but continue with logout
99
- console.error('Logout error:', err);
100
- }
101
- finally {
102
- // Clear local state regardless of API call success
103
- localStorage.removeItem('varity_token');
104
- setUser(null);
105
- setAuthenticated(false);
106
- setIsLoading(false);
107
- }
108
- }, [client, setAuthenticated]);
109
- return {
110
- user,
111
- isAuthenticated,
112
- isLoading,
113
- error,
114
- login,
115
- logout,
116
- refreshUser
117
- };
118
- };
119
- /**
120
- * useWalletConnect Hook
121
- *
122
- * Helper hook for connecting external wallets (MetaMask, etc).
123
- *
124
- * @example
125
- * ```tsx
126
- * const { connect, disconnect, address, isConnected } = useWalletConnect()
127
- * await connect()
128
- * ```
129
- */
130
- export const useWalletConnect = () => {
131
- const [address, setAddress] = useState(null);
132
- const [isConnected, setIsConnected] = useState(false);
133
- const [isLoading, setIsLoading] = useState(false);
134
- const [error, setError] = useState(null);
135
- const connect = useCallback(async () => {
136
- setIsLoading(true);
137
- setError(null);
138
- try {
139
- // Check if MetaMask is installed
140
- const ethereum = window.ethereum;
141
- if (!ethereum) {
142
- throw new Error('MetaMask is not installed');
143
- }
144
- // Request account access
145
- const result = await ethereum.request({
146
- method: 'eth_requestAccounts'
147
- });
148
- // Type guard for accounts array
149
- const accounts = Array.isArray(result) ? result : [];
150
- if (accounts.length === 0) {
151
- throw new Error('No accounts found');
152
- }
153
- setAddress(accounts[0]);
154
- setIsConnected(true);
155
- }
156
- catch (err) {
157
- const error = err instanceof Error ? err : new Error('Failed to connect wallet');
158
- setError(error);
159
- throw error;
160
- }
161
- finally {
162
- setIsLoading(false);
163
- }
164
- }, []);
165
- const disconnect = useCallback(() => {
166
- setAddress(null);
167
- setIsConnected(false);
168
- }, []);
169
- // Listen for account changes
170
- useEffect(() => {
171
- const ethereum = window.ethereum;
172
- if (!ethereum)
173
- return;
174
- const handleAccountsChanged = (...args) => {
175
- // Type guard for accounts parameter
176
- const accounts = Array.isArray(args[0]) ? args[0] : [];
177
- if (accounts.length === 0) {
178
- disconnect();
179
- }
180
- else {
181
- setAddress(accounts[0]);
182
- }
183
- };
184
- ethereum.on('accountsChanged', handleAccountsChanged);
185
- return () => {
186
- ethereum.removeListener('accountsChanged', handleAccountsChanged);
187
- };
188
- }, [disconnect]);
189
- return {
190
- address,
191
- isConnected,
192
- isLoading,
193
- error,
194
- connect,
195
- disconnect
196
- };
197
- };
198
- //# sourceMappingURL=useAuth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAuth.js","sourceRoot":"","sources":["../../src/hooks/useAuth.ts"],"names":[],"mappings":"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"}
@@ -1,110 +0,0 @@
1
- /**
2
- * useDashboard - Dashboard state management hook
3
- *
4
- * Manages dashboard configuration, layout, and data.
5
- */
6
- export interface DashboardWidget {
7
- /** Widget ID */
8
- id: string;
9
- /** Widget type */
10
- type: 'kpi' | 'chart' | 'table' | 'ai-chat' | 'custom';
11
- /** Widget title */
12
- title: string;
13
- /** Widget configuration */
14
- config: Record<string, any>;
15
- /** Widget position */
16
- position: {
17
- x: number;
18
- y: number;
19
- width: number;
20
- height: number;
21
- };
22
- }
23
- export interface DashboardConfig {
24
- /** Dashboard ID */
25
- id: string;
26
- /** Dashboard title */
27
- title: string;
28
- /** Dashboard description */
29
- description?: string;
30
- /** Dashboard widgets */
31
- widgets: DashboardWidget[];
32
- /** Dashboard layout */
33
- layout?: 'grid' | 'flex' | 'custom';
34
- /** Dashboard theme */
35
- theme?: string;
36
- }
37
- export interface UseDashboardOptions {
38
- /** Dashboard ID to load */
39
- dashboardId?: string;
40
- /** Auto-save changes */
41
- autoSave?: boolean;
42
- /** Auto-save interval in milliseconds */
43
- autoSaveInterval?: number;
44
- }
45
- export interface UseDashboardReturn {
46
- /** Dashboard configuration */
47
- config: DashboardConfig | null;
48
- /** Loading state */
49
- loading: boolean;
50
- /** Error state */
51
- error: Error | null;
52
- /** Update dashboard config */
53
- updateConfig: (config: Partial<DashboardConfig>) => void;
54
- /** Add widget */
55
- addWidget: (widget: DashboardWidget) => void;
56
- /** Remove widget */
57
- removeWidget: (widgetId: string) => void;
58
- /** Update widget */
59
- updateWidget: (widgetId: string, updates: Partial<DashboardWidget>) => void;
60
- /** Save dashboard */
61
- save: () => Promise<void>;
62
- /** Load dashboard */
63
- load: (dashboardId: string) => Promise<void>;
64
- /** Reset dashboard */
65
- reset: () => void;
66
- }
67
- /**
68
- * useDashboard Hook
69
- *
70
- * Manage dashboard configuration and widgets.
71
- *
72
- * @example
73
- * ```tsx
74
- * const { config, addWidget, save } = useDashboard({
75
- * dashboardId: 'my-dashboard',
76
- * autoSave: true
77
- * })
78
- *
79
- * // Add a widget
80
- * addWidget({
81
- * id: 'widget-1',
82
- * type: 'kpi',
83
- * title: 'Total Revenue',
84
- * config: { metric: 'revenue' },
85
- * position: { x: 0, y: 0, width: 4, height: 2 }
86
- * })
87
- * ```
88
- */
89
- export declare const useDashboard: (options?: UseDashboardOptions) => UseDashboardReturn;
90
- /**
91
- * useWidgetData Hook
92
- *
93
- * Fetch data for a specific dashboard widget.
94
- *
95
- * @example
96
- * ```tsx
97
- * const { data, loading } = useWidgetData({
98
- * id: 'widget-1',
99
- * type: 'kpi',
100
- * config: { metric: 'revenue' }
101
- * })
102
- * ```
103
- */
104
- export declare const useWidgetData: (widget: DashboardWidget) => {
105
- data: any;
106
- loading: boolean;
107
- error: Error | null;
108
- refetch: () => Promise<void>;
109
- };
110
- //# sourceMappingURL=useDashboard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDashboard.d.ts","sourceRoot":"","sources":["../../src/hooks/useDashboard.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,eAAe;IAC9B,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,kBAAkB;IAClB,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAA;IACtD,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,sBAAsB;IACtB,QAAQ,EAAE;QACR,CAAC,EAAE,MAAM,CAAA;QACT,CAAC,EAAE,MAAM,CAAA;QACT,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;CACF;AAED,MAAM,WAAW,eAAe;IAC9B,mBAAmB;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wBAAwB;IACxB,OAAO,EAAE,eAAe,EAAE,CAAA;IAC1B,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAA;IACnC,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,8BAA8B;IAC9B,MAAM,EAAE,eAAe,GAAG,IAAI,CAAA;IAC9B,oBAAoB;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,kBAAkB;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,8BAA8B;IAC9B,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,CAAA;IACxD,iBAAiB;IACjB,SAAS,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAA;IAC5C,oBAAoB;IACpB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,oBAAoB;IACpB,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,CAAA;IAC3E,qBAAqB;IACrB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,qBAAqB;IACrB,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C,sBAAsB;IACtB,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,YAAY,GAAI,UAAS,mBAAwB,KAAG,kBAqHhE,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,eAAe;;;;;CA8CpD,CAAA"}