@grainql/analytics-web 2.2.0 → 2.3.0

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 (128) hide show
  1. package/dist/attribution.d.ts +47 -0
  2. package/dist/attribution.d.ts.map +1 -0
  3. package/dist/attribution.js +228 -0
  4. package/dist/cjs/attribution.d.ts +47 -0
  5. package/dist/cjs/attribution.d.ts.map +1 -0
  6. package/dist/cjs/attribution.js +228 -0
  7. package/dist/cjs/attribution.js.map +1 -0
  8. package/dist/cjs/heartbeat.d.ts +1 -0
  9. package/dist/cjs/heartbeat.d.ts.map +1 -1
  10. package/dist/cjs/heartbeat.js +1 -1
  11. package/dist/cjs/heartbeat.js.map +1 -1
  12. package/dist/cjs/index.d.ts +25 -0
  13. package/dist/cjs/index.d.ts.map +1 -1
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/page-tracking.d.ts +25 -0
  16. package/dist/cjs/page-tracking.d.ts.map +1 -1
  17. package/dist/cjs/page-tracking.js +158 -9
  18. package/dist/cjs/page-tracking.js.map +1 -1
  19. package/dist/esm/attribution.d.ts +47 -0
  20. package/dist/esm/attribution.d.ts.map +1 -0
  21. package/dist/esm/attribution.js +218 -0
  22. package/dist/esm/attribution.js.map +1 -0
  23. package/dist/esm/heartbeat.d.ts +1 -0
  24. package/dist/esm/heartbeat.d.ts.map +1 -1
  25. package/dist/esm/heartbeat.js +1 -1
  26. package/dist/esm/heartbeat.js.map +1 -1
  27. package/dist/esm/index.d.ts +25 -0
  28. package/dist/esm/index.d.ts.map +1 -1
  29. package/dist/esm/index.js.map +1 -1
  30. package/dist/esm/page-tracking.d.ts +25 -0
  31. package/dist/esm/page-tracking.d.ts.map +1 -1
  32. package/dist/esm/page-tracking.js +158 -9
  33. package/dist/esm/page-tracking.js.map +1 -1
  34. package/dist/heartbeat.d.ts +1 -0
  35. package/dist/heartbeat.d.ts.map +1 -1
  36. package/dist/heartbeat.js +1 -1
  37. package/dist/index.d.ts +25 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.global.dev.js +464 -11
  40. package/dist/index.global.dev.js.map +3 -3
  41. package/dist/index.global.js +2 -2
  42. package/dist/index.global.js.map +4 -4
  43. package/dist/index.js +157 -1
  44. package/dist/index.mjs +155 -0
  45. package/dist/page-tracking.d.ts +25 -0
  46. package/dist/page-tracking.d.ts.map +1 -1
  47. package/dist/page-tracking.js +158 -9
  48. package/dist/react/index.d.ts +44 -519
  49. package/dist/react/index.d.ts.map +1 -1
  50. package/dist/react/index.js +54 -1517
  51. package/dist/react/index.mjs +42 -1514
  52. package/package.json +1 -1
  53. package/dist/react/activity.d.ts +0 -59
  54. package/dist/react/activity.d.ts.map +0 -1
  55. package/dist/react/activity.js +0 -130
  56. package/dist/react/activity.mjs +0 -126
  57. package/dist/react/consent.d.ts +0 -72
  58. package/dist/react/consent.d.ts.map +0 -1
  59. package/dist/react/consent.js +0 -195
  60. package/dist/react/consent.mjs +0 -191
  61. package/dist/react/cookies.d.ts +0 -28
  62. package/dist/react/cookies.d.ts.map +0 -1
  63. package/dist/react/cookies.js +0 -94
  64. package/dist/react/cookies.mjs +0 -88
  65. package/dist/react/heartbeat.d.ts +0 -47
  66. package/dist/react/heartbeat.d.ts.map +0 -1
  67. package/dist/react/heartbeat.js +0 -119
  68. package/dist/react/heartbeat.mjs +0 -115
  69. package/dist/react/page-tracking.d.ts +0 -60
  70. package/dist/react/page-tracking.d.ts.map +0 -1
  71. package/dist/react/page-tracking.js +0 -179
  72. package/dist/react/page-tracking.mjs +0 -175
  73. package/dist/react/react/index.d.ts +0 -47
  74. package/dist/react/react/index.d.ts.map +0 -1
  75. package/dist/react/react/index.js +0 -58
  76. package/dist/react/react/index.mjs +0 -44
  77. /package/dist/react/{react/GrainProvider.d.ts → GrainProvider.d.ts} +0 -0
  78. /package/dist/react/{react/GrainProvider.d.ts.map → GrainProvider.d.ts.map} +0 -0
  79. /package/dist/react/{react/GrainProvider.js → GrainProvider.js} +0 -0
  80. /package/dist/react/{react/GrainProvider.mjs → GrainProvider.mjs} +0 -0
  81. /package/dist/react/{react/components → components}/ConsentBanner.d.ts +0 -0
  82. /package/dist/react/{react/components → components}/ConsentBanner.d.ts.map +0 -0
  83. /package/dist/react/{react/components → components}/ConsentBanner.js +0 -0
  84. /package/dist/react/{react/components → components}/ConsentBanner.mjs +0 -0
  85. /package/dist/react/{react/components → components}/CookieNotice.d.ts +0 -0
  86. /package/dist/react/{react/components → components}/CookieNotice.d.ts.map +0 -0
  87. /package/dist/react/{react/components → components}/CookieNotice.js +0 -0
  88. /package/dist/react/{react/components → components}/CookieNotice.mjs +0 -0
  89. /package/dist/react/{react/components → components}/PrivacyPreferenceCenter.d.ts +0 -0
  90. /package/dist/react/{react/components → components}/PrivacyPreferenceCenter.d.ts.map +0 -0
  91. /package/dist/react/{react/components → components}/PrivacyPreferenceCenter.js +0 -0
  92. /package/dist/react/{react/components → components}/PrivacyPreferenceCenter.mjs +0 -0
  93. /package/dist/react/{react/context.d.ts → context.d.ts} +0 -0
  94. /package/dist/react/{react/context.d.ts.map → context.d.ts.map} +0 -0
  95. /package/dist/react/{react/context.js → context.js} +0 -0
  96. /package/dist/react/{react/context.mjs → context.mjs} +0 -0
  97. /package/dist/react/{react/hooks → hooks}/useAllConfigs.d.ts +0 -0
  98. /package/dist/react/{react/hooks → hooks}/useAllConfigs.d.ts.map +0 -0
  99. /package/dist/react/{react/hooks → hooks}/useAllConfigs.js +0 -0
  100. /package/dist/react/{react/hooks → hooks}/useAllConfigs.mjs +0 -0
  101. /package/dist/react/{react/hooks → hooks}/useConfig.d.ts +0 -0
  102. /package/dist/react/{react/hooks → hooks}/useConfig.d.ts.map +0 -0
  103. /package/dist/react/{react/hooks → hooks}/useConfig.js +0 -0
  104. /package/dist/react/{react/hooks → hooks}/useConfig.mjs +0 -0
  105. /package/dist/react/{react/hooks → hooks}/useConsent.d.ts +0 -0
  106. /package/dist/react/{react/hooks → hooks}/useConsent.d.ts.map +0 -0
  107. /package/dist/react/{react/hooks → hooks}/useConsent.js +0 -0
  108. /package/dist/react/{react/hooks → hooks}/useConsent.mjs +0 -0
  109. /package/dist/react/{react/hooks → hooks}/useDataDeletion.d.ts +0 -0
  110. /package/dist/react/{react/hooks → hooks}/useDataDeletion.d.ts.map +0 -0
  111. /package/dist/react/{react/hooks → hooks}/useDataDeletion.js +0 -0
  112. /package/dist/react/{react/hooks → hooks}/useDataDeletion.mjs +0 -0
  113. /package/dist/react/{react/hooks → hooks}/useGrainAnalytics.d.ts +0 -0
  114. /package/dist/react/{react/hooks → hooks}/useGrainAnalytics.d.ts.map +0 -0
  115. /package/dist/react/{react/hooks → hooks}/useGrainAnalytics.js +0 -0
  116. /package/dist/react/{react/hooks → hooks}/useGrainAnalytics.mjs +0 -0
  117. /package/dist/react/{react/hooks → hooks}/usePrivacyPreferences.d.ts +0 -0
  118. /package/dist/react/{react/hooks → hooks}/usePrivacyPreferences.d.ts.map +0 -0
  119. /package/dist/react/{react/hooks → hooks}/usePrivacyPreferences.js +0 -0
  120. /package/dist/react/{react/hooks → hooks}/usePrivacyPreferences.mjs +0 -0
  121. /package/dist/react/{react/hooks → hooks}/useTrack.d.ts +0 -0
  122. /package/dist/react/{react/hooks → hooks}/useTrack.d.ts.map +0 -0
  123. /package/dist/react/{react/hooks → hooks}/useTrack.js +0 -0
  124. /package/dist/react/{react/hooks → hooks}/useTrack.mjs +0 -0
  125. /package/dist/react/{react/types.d.ts → types.d.ts} +0 -0
  126. /package/dist/react/{react/types.d.ts.map → types.d.ts.map} +0 -0
  127. /package/dist/react/{react/types.js → types.js} +0 -0
  128. /package/dist/react/{react/types.mjs → types.mjs} +0 -0
@@ -1,522 +1,47 @@
1
1
  /**
2
- * Grain Analytics Web SDK
3
- * A lightweight, dependency-free TypeScript SDK for sending analytics events to Grain's REST API
2
+ * Grain Analytics React Hooks
3
+ *
4
+ * React integration for @grainql/analytics-web
5
+ *
6
+ * @example
7
+ * ```tsx
8
+ * import { GrainProvider, useConfig, useTrack } from '@grainql/analytics-web/react';
9
+ *
10
+ * // Pattern 1: Provider-managed client
11
+ * <GrainProvider config={{ tenantId: 'xxx' }}>
12
+ * <App />
13
+ * </GrainProvider>
14
+ *
15
+ * // Pattern 2: External client
16
+ * const grain = new GrainAnalytics({ tenantId: 'xxx' });
17
+ * <GrainProvider client={grain}>
18
+ * <App />
19
+ * </GrainProvider>
20
+ *
21
+ * // Use hooks in components
22
+ * function MyComponent() {
23
+ * const { value } = useConfig('hero_variant');
24
+ * const track = useTrack();
25
+ *
26
+ * return <button onClick={() => track('clicked')}>Click</button>;
27
+ * }
28
+ * ```
4
29
  */
5
- import { ConsentState, ConsentMode } from './consent';
6
- import { CookieConfig } from './cookies';
7
- import { type HeartbeatTracker } from './heartbeat';
8
- import { type PageTracker } from './page-tracking';
9
- export interface GrainEvent {
10
- eventName: string;
11
- userId?: string;
12
- properties?: Record<string, unknown>;
13
- timestamp?: Date;
14
- }
15
- export interface EventPayload {
16
- eventName: string;
17
- userId: string;
18
- properties: Record<string, unknown>;
19
- }
20
- export type AuthStrategy = 'NONE' | 'SERVER_SIDE' | 'JWT';
21
- export interface AuthProvider {
22
- getToken(): Promise<string> | string;
23
- }
24
- export type { ConsentState, ConsentMode, CookieConfig };
25
- export interface GrainConfig {
26
- tenantId: string;
27
- apiUrl?: string;
28
- authStrategy?: AuthStrategy;
29
- secretKey?: string;
30
- authProvider?: AuthProvider;
31
- userId?: string;
32
- batchSize?: number;
33
- flushInterval?: number;
34
- retryAttempts?: number;
35
- retryDelay?: number;
36
- maxEventsPerRequest?: number;
37
- debug?: boolean;
38
- defaultConfigurations?: Record<string, string>;
39
- configCacheKey?: string;
40
- configRefreshInterval?: number;
41
- enableConfigCache?: boolean;
42
- consentMode?: ConsentMode;
43
- waitForConsent?: boolean;
44
- enableCookies?: boolean;
45
- cookieOptions?: CookieConfig;
46
- anonymizeIP?: boolean;
47
- disableAutoProperties?: boolean;
48
- allowedProperties?: string[];
49
- enableHeartbeat?: boolean;
50
- heartbeatActiveInterval?: number;
51
- heartbeatInactiveInterval?: number;
52
- enableAutoPageView?: boolean;
53
- stripQueryParams?: boolean;
54
- }
55
- export interface SendEventOptions {
56
- flush?: boolean;
57
- }
58
- export interface SetPropertyOptions {
59
- userId?: string;
60
- }
61
- export interface LoginOptions {
62
- userId?: string;
63
- authToken?: string;
64
- authStrategy?: AuthStrategy;
65
- }
66
- export interface PropertyPayload {
67
- userId: string;
68
- [key: string]: string;
69
- }
70
- export interface RemoteConfigRequest {
71
- userId: string;
72
- immediateKeys: string[];
73
- properties?: Record<string, string>;
74
- }
75
- export interface RemoteConfigResponse {
76
- userId: string;
77
- snapshotId: string;
78
- configurations: Record<string, string>;
79
- isFinal: boolean;
80
- qualifiedSegments: string[];
81
- qualifiedRuleSets: string[];
82
- timestamp: string;
83
- isFromCache: boolean;
84
- }
85
- export interface RemoteConfigOptions {
86
- immediateKeys?: string[];
87
- properties?: Record<string, string>;
88
- userId?: string;
89
- forceRefresh?: boolean;
90
- }
91
- export interface RemoteConfigCache {
92
- configurations: Record<string, string>;
93
- snapshotId: string;
94
- timestamp: string;
95
- userId: string;
96
- }
97
- export type ConfigChangeListener = (configurations: Record<string, string>) => void;
98
- export interface LoginEventProperties extends Record<string, unknown> {
99
- method?: string;
100
- success?: boolean;
101
- errorMessage?: string;
102
- loginAttempt?: number;
103
- rememberMe?: boolean;
104
- twoFactorEnabled?: boolean;
105
- }
106
- export interface SignupEventProperties extends Record<string, unknown> {
107
- method?: string;
108
- source?: string;
109
- plan?: string;
110
- success?: boolean;
111
- errorMessage?: string;
112
- }
113
- export interface CheckoutEventProperties extends Record<string, unknown> {
114
- orderId?: string;
115
- total?: number;
116
- currency?: string;
117
- items?: Array<{
118
- id: string;
119
- name: string;
120
- price: number;
121
- quantity: number;
122
- }>;
123
- paymentMethod?: string;
124
- success?: boolean;
125
- errorMessage?: string;
126
- couponCode?: string;
127
- discount?: number;
128
- }
129
- export interface PageViewEventProperties extends Record<string, unknown> {
130
- page?: string;
131
- title?: string;
132
- referrer?: string;
133
- url?: string;
134
- userAgent?: string;
135
- screenResolution?: string;
136
- viewportSize?: string;
137
- }
138
- export interface PurchaseEventProperties extends Record<string, unknown> {
139
- orderId?: string;
140
- total?: number;
141
- currency?: string;
142
- items?: Array<{
143
- id: string;
144
- name: string;
145
- price: number;
146
- quantity: number;
147
- category?: string;
148
- }>;
149
- paymentMethod?: string;
150
- shippingMethod?: string;
151
- tax?: number;
152
- shipping?: number;
153
- discount?: number;
154
- couponCode?: string;
155
- }
156
- export interface SearchEventProperties extends Record<string, unknown> {
157
- query?: string;
158
- results?: number;
159
- filters?: Record<string, unknown>;
160
- sortBy?: string;
161
- category?: string;
162
- success?: boolean;
163
- }
164
- export interface AddToCartEventProperties extends Record<string, unknown> {
165
- itemId?: string;
166
- itemName?: string;
167
- price?: number;
168
- quantity?: number;
169
- currency?: string;
170
- category?: string;
171
- variant?: string;
172
- }
173
- export interface RemoveFromCartEventProperties extends Record<string, unknown> {
174
- itemId?: string;
175
- itemName?: string;
176
- price?: number;
177
- quantity?: number;
178
- currency?: string;
179
- category?: string;
180
- variant?: string;
181
- }
182
- export interface ErrorDigest {
183
- eventCount: number;
184
- totalProperties: number;
185
- totalSize: number;
186
- eventNames: string[];
187
- userIds: string[];
188
- }
189
- export interface FormattedError {
190
- code: string;
191
- message: string;
192
- digest: ErrorDigest;
193
- timestamp: string;
194
- context: string;
195
- originalError?: unknown;
196
- }
197
- export declare class GrainAnalytics implements HeartbeatTracker, PageTracker {
198
- private config;
199
- private eventQueue;
200
- private waitingForConsentQueue;
201
- private flushTimer;
202
- private isDestroyed;
203
- private globalUserId;
204
- private persistentAnonymousUserId;
205
- private configCache;
206
- private configRefreshTimer;
207
- private configChangeListeners;
208
- private configFetchPromise;
209
- private consentManager;
210
- private cookiesEnabled;
211
- private activityDetector;
212
- private heartbeatManager;
213
- private pageTrackingManager;
214
- private ephemeralSessionId;
215
- private eventCountSinceLastHeartbeat;
216
- constructor(config: GrainConfig);
217
- private validateConfig;
218
- /**
219
- * Generate a UUID v4 string
220
- */
221
- private generateUUID;
222
- /**
223
- * Check if we should allow persistent storage (GDPR compliance)
224
- *
225
- * Returns true if:
226
- * - Consent has been granted, OR
227
- * - Not in opt-in mode, OR
228
- * - User has been explicitly identified by the site (login/identify), OR
229
- * - Using JWT auth strategy (functional/essential purpose)
230
- */
231
- private shouldAllowPersistentStorage;
232
- /**
233
- * Generate a proper UUIDv4 identifier for anonymous user ID
234
- */
235
- private generateAnonymousUserId;
236
- /**
237
- * Initialize persistent anonymous user ID from cookies or localStorage
238
- * Priority: Cookie → localStorage → generate new
239
- *
240
- * GDPR Compliance: In opt-in mode without consent, we skip loading/saving
241
- * persistent IDs unless the user has been explicitly identified by the site
242
- * or when using JWT auth (functional/essential purpose)
243
- */
244
- private initializePersistentAnonymousUserId;
245
- /**
246
- * Save persistent anonymous user ID to cookie and/or localStorage
247
- *
248
- * GDPR Compliance: In opt-in mode without consent, we don't persist IDs
249
- * unless the user has been explicitly identified or using JWT auth
250
- */
251
- private savePersistentAnonymousUserId;
252
- /**
253
- * Get the effective user ID (global userId or persistent anonymous ID)
254
- *
255
- * GDPR Compliance: In opt-in mode without consent and no explicit user identification,
256
- * this should not be called. Use getEphemeralSessionId() instead.
257
- */
258
- private getEffectiveUserIdInternal;
259
- private log;
260
- /**
261
- * Create error digest from events
262
- */
263
- private createErrorDigest;
264
- /**
265
- * Format error with beautiful structure
266
- */
267
- private formatError;
268
- /**
269
- * Log formatted error gracefully
270
- */
271
- private logError;
272
- /**
273
- * Safely execute a function with error handling
274
- */
275
- private safeExecute;
276
- private formatEvent;
277
- private getAuthHeaders;
278
- private delay;
279
- private isRetriableError;
280
- private sendEvents;
281
- private sendEventsWithBeacon;
282
- private startFlushTimer;
283
- private setupBeforeUnload;
284
- /**
285
- * Initialize automatic tracking (heartbeat and page views)
286
- */
287
- private initializeAutomaticTracking;
288
- /**
289
- * Handle consent granted - upgrade ephemeral session to persistent user
290
- */
291
- private handleConsentGranted;
292
- /**
293
- * Track system events that bypass consent checks (for necessary/functional tracking)
294
- */
295
- trackSystemEvent(eventName: string, properties: Record<string, unknown>): void;
296
- /**
297
- * Get ephemeral session ID (memory-only, not persisted)
298
- */
299
- getEphemeralSessionId(): string;
300
- /**
301
- * Get the current page path from page tracker
302
- */
303
- getCurrentPage(): string | null;
304
- /**
305
- * Get event count since last heartbeat
306
- */
307
- getEventCountSinceLastHeartbeat(): number;
308
- /**
309
- * Reset event count since last heartbeat
310
- */
311
- resetEventCountSinceLastHeartbeat(): void;
312
- /**
313
- * Get the effective user ID (public method)
314
- */
315
- getEffectiveUserId(): string;
316
- /**
317
- * Get the session ID (ephemeral or persistent based on consent)
318
- */
319
- getSessionId(): string;
320
- /**
321
- * Track an analytics event
322
- */
323
- track(eventName: string, properties?: Record<string, unknown>, options?: SendEventOptions): Promise<void>;
324
- track(event: GrainEvent, options?: SendEventOptions): Promise<void>;
325
- /**
326
- * Flush events that were waiting for consent
327
- */
328
- private flushWaitingForConsentQueue;
329
- /**
330
- * Identify a user (sets userId for subsequent events)
331
- */
332
- identify(userId: string): void;
333
- /**
334
- * Set global user ID for all subsequent events
335
- */
336
- setUserId(userId: string | null): void;
337
- /**
338
- * Get current global user ID
339
- */
340
- getUserId(): string | null;
341
- /**
342
- * Get current effective user ID (global userId or persistent anonymous ID)
343
- */
344
- getEffectiveUserIdPublic(): string;
345
- /**
346
- * Login with auth token or userId on the fly
347
- *
348
- * @example
349
- * // Login with userId only
350
- * client.login({ userId: 'user123' });
351
- *
352
- * // Login with auth token (automatically sets authStrategy to JWT)
353
- * client.login({ authToken: 'jwt-token-here' });
354
- *
355
- * // Login with both userId and auth token
356
- * client.login({ userId: 'user123', authToken: 'jwt-token-here' });
357
- *
358
- * // Override auth strategy
359
- * client.login({ userId: 'user123', authStrategy: 'SERVER_SIDE' });
360
- */
361
- login(options: LoginOptions): void;
362
- /**
363
- * Logout and clear user session, fall back to UUIDv4 identifier
364
- *
365
- * @example
366
- * // Logout user and return to anonymous mode
367
- * client.logout();
368
- *
369
- * // After logout, events will use the persistent UUIDv4 identifier
370
- * client.track('page_view', { page: 'home' });
371
- */
372
- logout(): void;
373
- /**
374
- * Set user properties
375
- */
376
- setProperty(properties: Record<string, unknown>, options?: SetPropertyOptions): Promise<void>;
377
- /**
378
- * Send properties to the API
379
- */
380
- private sendProperties;
381
- /**
382
- * Track user login event
383
- */
384
- trackLogin(properties?: LoginEventProperties, options?: SendEventOptions): Promise<void>;
385
- /**
386
- * Track user signup event
387
- */
388
- trackSignup(properties?: SignupEventProperties, options?: SendEventOptions): Promise<void>;
389
- /**
390
- * Track checkout event
391
- */
392
- trackCheckout(properties?: CheckoutEventProperties, options?: SendEventOptions): Promise<void>;
393
- /**
394
- * Track page view event
395
- */
396
- trackPageView(properties?: PageViewEventProperties, options?: SendEventOptions): Promise<void>;
397
- /**
398
- * Track purchase event
399
- */
400
- trackPurchase(properties?: PurchaseEventProperties, options?: SendEventOptions): Promise<void>;
401
- /**
402
- * Track search event
403
- */
404
- trackSearch(properties?: SearchEventProperties, options?: SendEventOptions): Promise<void>;
405
- /**
406
- * Track add to cart event
407
- */
408
- trackAddToCart(properties?: AddToCartEventProperties, options?: SendEventOptions): Promise<void>;
409
- /**
410
- * Track remove from cart event
411
- */
412
- trackRemoveFromCart(properties?: RemoveFromCartEventProperties, options?: SendEventOptions): Promise<void>;
413
- /**
414
- * Manually flush all queued events
415
- */
416
- flush(): Promise<void>;
417
- /**
418
- * Initialize configuration cache from localStorage
419
- */
420
- private initializeConfigCache;
421
- /**
422
- * Save configuration cache to localStorage
423
- */
424
- private saveConfigCache;
425
- /**
426
- * Get configuration value with fallback to defaults
427
- */
428
- getConfig(key: string): string | undefined;
429
- /**
430
- * Get all configurations with fallback to defaults
431
- */
432
- getAllConfigs(): Record<string, string>;
433
- /**
434
- * Fetch configurations from API
435
- */
436
- fetchConfig(options?: RemoteConfigOptions): Promise<RemoteConfigResponse | null>;
437
- /**
438
- * Get configuration asynchronously (cache-first with fallback to API)
439
- */
440
- getConfigAsync(key: string, options?: RemoteConfigOptions): Promise<string | undefined>;
441
- /**
442
- * Get all configurations asynchronously (cache-first with fallback to API)
443
- */
444
- getAllConfigsAsync(options?: RemoteConfigOptions): Promise<Record<string, string>>;
445
- /**
446
- * Update configuration cache and notify listeners
447
- */
448
- private updateConfigCache;
449
- /**
450
- * Add configuration change listener
451
- */
452
- addConfigChangeListener(listener: ConfigChangeListener): void;
453
- /**
454
- * Remove configuration change listener
455
- */
456
- removeConfigChangeListener(listener: ConfigChangeListener): void;
457
- /**
458
- * Notify all configuration change listeners
459
- */
460
- private notifyConfigChangeListeners;
461
- /**
462
- * Start automatic configuration refresh timer
463
- */
464
- private startConfigRefreshTimer;
465
- /**
466
- * Stop automatic configuration refresh timer
467
- */
468
- private stopConfigRefreshTimer;
469
- /**
470
- * Preload configurations for immediate access
471
- */
472
- preloadConfig(immediateKeys?: string[], properties?: Record<string, string>): Promise<void>;
473
- /**
474
- * Split events array into chunks of specified size
475
- */
476
- private chunkEvents;
477
- /**
478
- * Grant consent for tracking
479
- * @param categories - Optional array of consent categories (e.g., ['analytics', 'functional'])
480
- */
481
- grantConsent(categories?: string[]): void;
482
- /**
483
- * Revoke consent for tracking (opt-out)
484
- * @param categories - Optional array of categories to revoke (if not provided, revokes all)
485
- */
486
- revokeConsent(categories?: string[]): void;
487
- /**
488
- * Get current consent state
489
- */
490
- getConsentState(): ConsentState | null;
491
- /**
492
- * Check if user has granted consent
493
- * @param category - Optional category to check (if not provided, checks general consent)
494
- */
495
- hasConsent(category?: string): boolean;
496
- /**
497
- * Add listener for consent state changes
498
- */
499
- onConsentChange(listener: (state: ConsentState) => void): void;
500
- /**
501
- * Remove consent change listener
502
- */
503
- offConsentChange(listener: (state: ConsentState) => void): void;
504
- /**
505
- * Destroy the client and clean up resources
506
- */
507
- destroy(): void;
508
- }
509
- /**
510
- * Create a new Grain Analytics client
511
- */
512
- export declare function createGrainAnalytics(config: GrainConfig): GrainAnalytics;
513
- export default GrainAnalytics;
514
- declare global {
515
- interface Window {
516
- Grain?: {
517
- GrainAnalytics: typeof GrainAnalytics;
518
- createGrainAnalytics: typeof createGrainAnalytics;
519
- };
520
- }
521
- }
30
+ export { GrainProvider } from './GrainProvider';
31
+ export { useGrainAnalytics } from './hooks/useGrainAnalytics';
32
+ export { useConfig } from './hooks/useConfig';
33
+ export { useAllConfigs } from './hooks/useAllConfigs';
34
+ export { useTrack } from './hooks/useTrack';
35
+ export { useConsent } from './hooks/useConsent';
36
+ export { usePrivacyPreferences } from './hooks/usePrivacyPreferences';
37
+ export { useDataDeletion } from './hooks/useDataDeletion';
38
+ export { ConsentBanner } from './components/ConsentBanner';
39
+ export { PrivacyPreferenceCenter } from './components/PrivacyPreferenceCenter';
40
+ export { CookieNotice } from './components/CookieNotice';
41
+ export type { GrainProviderProps, UseConfigOptions, UseConfigResult, UseAllConfigsOptions, UseAllConfigsResult, TrackFunction, } from './types';
42
+ export type { ConsentBannerProps } from './components/ConsentBanner';
43
+ export type { PrivacyPreferenceCenterProps } from './components/PrivacyPreferenceCenter';
44
+ export type { CookieNoticeProps } from './components/CookieNotice';
45
+ export type { PrivacyPreferences } from './hooks/usePrivacyPreferences';
46
+ export type { DataDeletionOptions } from './hooks/useDataDeletion';
522
47
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,GACd,MAAM,SAAS,CAAC;AAGjB,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,YAAY,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACzF,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}