@thisbefine/analytics 0.2.1 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +161 -3
  2. package/dist/core/analytics.d.ts +44 -2
  3. package/dist/core/analytics.d.ts.map +1 -1
  4. package/dist/core/analytics.js +154 -17
  5. package/dist/core/analytics.js.map +1 -1
  6. package/dist/core/errors.d.ts.map +1 -1
  7. package/dist/core/errors.js +3 -2
  8. package/dist/core/errors.js.map +1 -1
  9. package/dist/core/logger.d.ts +2 -1
  10. package/dist/core/logger.d.ts.map +1 -1
  11. package/dist/core/logger.js +53 -1
  12. package/dist/core/logger.js.map +1 -1
  13. package/dist/core/privacy.d.ts +50 -2
  14. package/dist/core/privacy.d.ts.map +1 -1
  15. package/dist/core/privacy.js +118 -1
  16. package/dist/core/privacy.js.map +1 -1
  17. package/dist/core/queue.d.ts +76 -3
  18. package/dist/core/queue.d.ts.map +1 -1
  19. package/dist/core/queue.js +353 -40
  20. package/dist/core/queue.js.map +1 -1
  21. package/dist/core/session.d.ts +5 -3
  22. package/dist/core/session.d.ts.map +1 -1
  23. package/dist/core/session.js +20 -5
  24. package/dist/core/session.js.map +1 -1
  25. package/dist/core/types.d.ts +150 -1
  26. package/dist/core/types.d.ts.map +1 -1
  27. package/dist/core/types.js +10 -0
  28. package/dist/core/types.js.map +1 -1
  29. package/dist/core/version.d.ts +1 -1
  30. package/dist/core/version.js +1 -1
  31. package/dist/index.d.ts +1 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/next.d.ts +2 -0
  35. package/dist/next.d.ts.map +1 -1
  36. package/dist/next.js +2 -3
  37. package/dist/next.js.map +1 -1
  38. package/dist/react/context.d.ts +95 -0
  39. package/dist/react/context.d.ts.map +1 -0
  40. package/dist/react/context.js +120 -0
  41. package/dist/react/context.js.map +1 -0
  42. package/dist/react/hooks.d.ts.map +1 -1
  43. package/dist/react/hooks.js +38 -34
  44. package/dist/react/hooks.js.map +1 -1
  45. package/dist/react.d.ts +2 -0
  46. package/dist/react.d.ts.map +1 -1
  47. package/dist/react.js +1 -0
  48. package/dist/react.js.map +1 -1
  49. package/package.json +1 -1
@@ -4,18 +4,19 @@ import { STORAGE_KEYS } from "./types";
4
4
  const BROADCAST_CHANNEL_NAME = "thisbefine_session";
5
5
  /**
6
6
  * Session manager handles:
7
- * - Anonymous ID generation and persistence
7
+ * - Anonymous ID generation and persistence (with optional rotation)
8
8
  * - User ID management
9
9
  * - Session ID with timeout-based regeneration
10
10
  * - User traits storage
11
11
  * - Cross-tab synchronization via BroadcastChannel
12
12
  */
13
13
  export class Session {
14
- constructor(storage, sessionTimeout, debug = false) {
14
+ constructor(storage, sessionTimeout, debug = false, anonymousIdMaxAge = 0) {
15
15
  this.currentSessionId = null;
16
16
  this.broadcastChannel = null;
17
17
  this.storage = storage;
18
18
  this.sessionTimeout = sessionTimeout;
19
+ this.anonymousIdMaxAge = anonymousIdMaxAge;
19
20
  this.logger = createLogger("Session", debug);
20
21
  this.ensureSession();
21
22
  this.setupCrossTabSync();
@@ -77,14 +78,27 @@ export class Session {
77
78
  catch { }
78
79
  }
79
80
  /**
80
- * Get the anonymous ID, generating one if it doesn't exist
81
+ * Get the anonymous ID, generating one if it doesn't exist or has expired.
82
+ * If anonymousIdMaxAge is set, the ID will be rotated after that duration.
81
83
  */
82
84
  getAnonymousId() {
83
85
  let anonymousId = this.storage.get(STORAGE_KEYS.ANONYMOUS_ID);
84
- if (!anonymousId) {
86
+ const createdAtStr = this.storage.get(STORAGE_KEYS.ANONYMOUS_ID_CREATED);
87
+ const createdAt = createdAtStr ? parseInt(createdAtStr, 10) : 0;
88
+ const now = Date.now();
89
+ const needsRotation = this.anonymousIdMaxAge > 0 &&
90
+ createdAt > 0 &&
91
+ now - createdAt > this.anonymousIdMaxAge;
92
+ if (!anonymousId || needsRotation) {
85
93
  anonymousId = generateId();
86
94
  this.storage.set(STORAGE_KEYS.ANONYMOUS_ID, anonymousId);
87
- this.logger.log("Generated new anonymous ID:", anonymousId);
95
+ this.storage.set(STORAGE_KEYS.ANONYMOUS_ID_CREATED, now.toString());
96
+ this.logger.log(needsRotation
97
+ ? "Rotated anonymous ID (max age exceeded):"
98
+ : "Generated new anonymous ID:", anonymousId);
99
+ }
100
+ else if (!createdAt) {
101
+ this.storage.set(STORAGE_KEYS.ANONYMOUS_ID_CREATED, now.toString());
88
102
  }
89
103
  return anonymousId;
90
104
  }
@@ -209,6 +223,7 @@ export class Session {
209
223
  this.storage.remove(STORAGE_KEYS.ACCOUNT_TRAITS);
210
224
  const newAnonymousId = generateId();
211
225
  this.storage.set(STORAGE_KEYS.ANONYMOUS_ID, newAnonymousId);
226
+ this.storage.set(STORAGE_KEYS.ANONYMOUS_ID_CREATED, Date.now().toString());
212
227
  const newSessionId = generateId();
213
228
  this.currentSessionId = newSessionId;
214
229
  this.storage.set(STORAGE_KEYS.SESSION_ID, newSessionId);
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,47 @@
1
1
  import type { ErrorCaptureConfig } from "./errors";
2
2
  import type { AccountDeletedProps, FeatureActivatedProps, InviteAcceptedProps, InviteSentProps, LoginProps, LogoutProps, PlanDowngradedProps, PlanUpgradedProps, SignupProps, SubscriptionCancelledProps, SubscriptionRenewedProps, SubscriptionStartedProps, TrialEndedProps, TrialStartedProps } from "./lifecycle";
3
3
  import type { LogLevel } from "./logging";
4
+ /**
5
+ * Flush result returned when flushing the event queue
6
+ */
7
+ export interface FlushResult {
8
+ /** Whether the flush was successful */
9
+ success: boolean;
10
+ /** Number of events that were sent */
11
+ eventCount: number;
12
+ /** Errors encountered during flush (if any) */
13
+ errors?: Error[];
14
+ }
15
+ /**
16
+ * Error callback for handling flush failures
17
+ */
18
+ export type OnFlushError = (error: Error, failedEvents: AnalyticsEvent[]) => void;
19
+ /**
20
+ * Callback to modify or filter events before they are queued.
21
+ * Return the modified event, or null to discard it.
22
+ * Useful for PII scrubbing, adding global properties, or filtering events.
23
+ */
24
+ export type BeforeSend = (event: AnalyticsEvent) => AnalyticsEvent | null;
25
+ /**
26
+ * Consent category types for granular tracking control
27
+ */
28
+ export type ConsentCategory = "analytics" | "marketing" | "functional";
29
+ /**
30
+ * Consent configuration for granular tracking control
31
+ */
32
+ export interface ConsentConfig {
33
+ /**
34
+ * Which consent categories are enabled.
35
+ * Default: all categories enabled.
36
+ */
37
+ categories?: ConsentCategory[];
38
+ /**
39
+ * Default consent state before user makes a choice.
40
+ * If false, no tracking until explicit consent.
41
+ * Default: true (tracks by default, respects DNT).
42
+ */
43
+ defaultConsent?: boolean;
44
+ }
4
45
  /**
5
46
  * Configuration options for the analytics SDK
6
47
  */
@@ -25,6 +66,60 @@ export interface AnalyticsConfig {
25
66
  maxRetries?: number;
26
67
  /** Error capture configuration */
27
68
  errors?: ErrorCaptureConfig;
69
+ /** Callback invoked when flush fails. Receives error and failed events. */
70
+ onFlushError?: OnFlushError;
71
+ /** Persist queue to storage for crash recovery. Default: true */
72
+ persistQueue?: boolean;
73
+ /** Maximum number of events to persist. Default: 1000 */
74
+ maxPersistedEvents?: number;
75
+ /**
76
+ * Callback to modify or filter events before they are queued.
77
+ * Return the modified event to send it, or null to discard it.
78
+ * Useful for PII scrubbing, adding global properties, or filtering.
79
+ */
80
+ beforeSend?: BeforeSend;
81
+ /**
82
+ * How often to rotate the anonymous ID (in milliseconds).
83
+ * Default: 30 days (2592000000ms). Set to 0 to disable rotation.
84
+ * Rotation helps with privacy compliance by limiting long-term tracking.
85
+ */
86
+ anonymousIdMaxAge?: number;
87
+ /**
88
+ * Circuit breaker: Number of consecutive failures before opening the circuit.
89
+ * When open, the SDK stops attempting to send events until the reset timeout.
90
+ * Default: 5 consecutive failures.
91
+ */
92
+ circuitBreakerThreshold?: number;
93
+ /**
94
+ * Circuit breaker: Time in ms to wait before attempting to close the circuit.
95
+ * Default: 30000 (30 seconds).
96
+ */
97
+ circuitBreakerResetTimeout?: number;
98
+ /**
99
+ * Consent categories configuration.
100
+ * Allows granular control over what types of tracking are enabled.
101
+ */
102
+ consent?: ConsentConfig;
103
+ /**
104
+ * Maximum events allowed per second.
105
+ * Events exceeding this limit will be dropped.
106
+ * Default: 100 events/second. Set to 0 to disable rate limiting.
107
+ */
108
+ maxEventsPerSecond?: number;
109
+ /**
110
+ * Sample rate for events (0 to 1).
111
+ * 1 = track all events (default)
112
+ * 0.5 = track 50% of events
113
+ * 0.1 = track 10% of events
114
+ * Useful for high-traffic sites to reduce volume.
115
+ */
116
+ sampleRate?: number;
117
+ /**
118
+ * Output debug logs as structured JSON.
119
+ * Useful for log aggregation systems (e.g., Datadog, Splunk).
120
+ * Default: false (human-readable format)
121
+ */
122
+ structuredLogging?: boolean;
28
123
  }
29
124
  /**
30
125
  * Internal resolved configuration with defaults applied
@@ -40,6 +135,17 @@ export interface ResolvedConfig {
40
135
  respectDNT: boolean;
41
136
  maxRetries: number;
42
137
  errors?: ErrorCaptureConfig;
138
+ onFlushError?: OnFlushError;
139
+ persistQueue: boolean;
140
+ maxPersistedEvents: number;
141
+ beforeSend?: BeforeSend;
142
+ anonymousIdMaxAge: number;
143
+ circuitBreakerThreshold: number;
144
+ circuitBreakerResetTimeout: number;
145
+ consent?: ConsentConfig;
146
+ maxEventsPerSecond: number;
147
+ sampleRate: number;
148
+ structuredLogging: boolean;
43
149
  }
44
150
  /**
45
151
  * Event context sent with every event
@@ -68,6 +174,8 @@ export interface EventContext {
68
174
  */
69
175
  export interface BaseEvent {
70
176
  type: "track" | "identify" | "page" | "group";
177
+ /** Unique message ID for idempotency/deduplication */
178
+ messageId: string;
71
179
  timestamp: string;
72
180
  anonymousId: string;
73
181
  userId?: string;
@@ -208,8 +316,15 @@ export interface Analytics {
208
316
  reset(): void;
209
317
  /**
210
318
  * Manually flush the event queue
319
+ * @returns Flush result with success status, event count, and any errors
320
+ */
321
+ flush(): Promise<FlushResult>;
322
+ /**
323
+ * Destroy the analytics instance, cleaning up all resources.
324
+ * Call this when unmounting or when you need to reinitialize.
325
+ * Flushes remaining events before cleanup.
211
326
  */
212
- flush(): Promise<void>;
327
+ destroy(): Promise<void>;
213
328
  /**
214
329
  * Opt out of tracking
215
330
  */
@@ -222,6 +337,30 @@ export interface Analytics {
222
337
  * Check if user has opted out
223
338
  */
224
339
  isOptedOut(): boolean;
340
+ /**
341
+ * Check if a specific consent category is enabled
342
+ * @param category - The consent category to check
343
+ */
344
+ hasConsent(category: ConsentCategory): boolean;
345
+ /**
346
+ * Get all currently consented categories
347
+ */
348
+ getConsentedCategories(): ConsentCategory[];
349
+ /**
350
+ * Set consent for specific categories (replaces current consent)
351
+ * @param categories - Array of categories to enable
352
+ */
353
+ setConsent(categories: ConsentCategory[]): void;
354
+ /**
355
+ * Grant consent for a specific category
356
+ * @param category - The category to grant consent for
357
+ */
358
+ grantConsent(category: ConsentCategory): void;
359
+ /**
360
+ * Revoke consent for a specific category
361
+ * @param category - The category to revoke consent for
362
+ */
363
+ revokeConsent(category: ConsentCategory): void;
225
364
  /**
226
365
  * Get current user state
227
366
  */
@@ -352,12 +491,21 @@ export declare const DEFAULT_CONFIG: {
352
491
  readonly debug: false;
353
492
  readonly respectDNT: true;
354
493
  readonly maxRetries: 3;
494
+ readonly persistQueue: true;
495
+ readonly maxPersistedEvents: 1000;
496
+ readonly anonymousIdMaxAge: number;
497
+ readonly circuitBreakerThreshold: 5;
498
+ readonly circuitBreakerResetTimeout: number;
499
+ readonly maxEventsPerSecond: 100;
500
+ readonly sampleRate: 1;
501
+ readonly structuredLogging: false;
355
502
  };
356
503
  /**
357
504
  * Storage key names
358
505
  */
359
506
  export declare const STORAGE_KEYS: {
360
507
  readonly ANONYMOUS_ID: "tif_anonymous_id";
508
+ readonly ANONYMOUS_ID_CREATED: "tif_anonymous_id_created";
361
509
  readonly USER_ID: "tif_user_id";
362
510
  readonly USER_TRAITS: "tif_user_traits";
363
511
  readonly ACCOUNT_ID: "tif_account_id";
@@ -365,5 +513,6 @@ export declare const STORAGE_KEYS: {
365
513
  readonly SESSION_ID: "tif_session_id";
366
514
  readonly LAST_ACTIVITY: "tif_last_activity";
367
515
  readonly OPT_OUT: "tif_opt_out";
516
+ readonly QUEUE: "tif_event_queue";
368
517
  };
369
518
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -17,12 +17,21 @@ export const DEFAULT_CONFIG = {
17
17
  debug: false,
18
18
  respectDNT: true,
19
19
  maxRetries: 3,
20
+ persistQueue: true,
21
+ maxPersistedEvents: 1000,
22
+ anonymousIdMaxAge: 30 * 24 * 60 * 60 * 1000,
23
+ circuitBreakerThreshold: 5,
24
+ circuitBreakerResetTimeout: 30 * 1000,
25
+ maxEventsPerSecond: 100,
26
+ sampleRate: 1,
27
+ structuredLogging: false,
20
28
  };
21
29
  /**
22
30
  * Storage key names
23
31
  */
24
32
  export const STORAGE_KEYS = {
25
33
  ANONYMOUS_ID: "tif_anonymous_id",
34
+ ANONYMOUS_ID_CREATED: "tif_anonymous_id_created",
26
35
  USER_ID: "tif_user_id",
27
36
  USER_TRAITS: "tif_user_traits",
28
37
  ACCOUNT_ID: "tif_account_id",
@@ -30,5 +39,6 @@ export const STORAGE_KEYS = {
30
39
  SESSION_ID: "tif_session_id",
31
40
  LAST_ACTIVITY: "tif_last_activity",
32
41
  OPT_OUT: "tif_opt_out",
42
+ QUEUE: "tif_event_queue",
33
43
  };
34
44
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+YpC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,EAAE;IACX,aAAa,EAAE,KAAK;IACpB,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IAC9B,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,CAAC;CACJ,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,YAAY,EAAE,kBAAkB;IAChC,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,iBAAiB;IAC9B,UAAU,EAAE,gBAAgB;IAC5B,cAAc,EAAE,oBAAoB;IACpC,UAAU,EAAE,gBAAgB;IAC5B,aAAa,EAAE,mBAAmB;IAClC,OAAO,EAAE,aAAa;CACb,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAojBpC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,EAAE;IACX,aAAa,EAAE,KAAK;IACpB,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;IAC9B,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,IAAI;IAClB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAC3C,uBAAuB,EAAE,CAAC;IAC1B,0BAA0B,EAAE,EAAE,GAAG,IAAI;IACrC,kBAAkB,EAAE,GAAG;IACvB,UAAU,EAAE,CAAC;IACb,iBAAiB,EAAE,KAAK;CACf,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,YAAY,EAAE,kBAAkB;IAChC,oBAAoB,EAAE,0BAA0B;IAChD,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,iBAAiB;IAC9B,UAAU,EAAE,gBAAgB;IAC5B,cAAc,EAAE,oBAAoB;IACpC,UAAU,EAAE,gBAAgB;IAC5B,aAAa,EAAE,mBAAmB;IAClC,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,iBAAiB;CACf,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.2.1";
1
+ export declare const VERSION = "0.3.1";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Auto-generated by scripts/generate-version.js
2
2
  // Do not edit manually
3
- export const VERSION = "0.2.1";
3
+ export const VERSION = "0.3.1";
4
4
  //# sourceMappingURL=version.js.map
package/dist/index.d.ts CHANGED
@@ -40,7 +40,7 @@ export type { Breadcrumb, ErrorCaptureConfig, ErrorPayload, } from "./core/error
40
40
  export type { AccountDeletedProps, FeatureActivatedProps, InviteAcceptedProps, InviteSentProps, LoginProps, LogoutProps, PlanDowngradedProps, PlanUpgradedProps, SignupProps, SubscriptionCancelledProps, SubscriptionRenewedProps, SubscriptionStartedProps, TrialEndedProps, TrialStartedProps, } from "./core/lifecycle";
41
41
  export { LIFECYCLE_EVENTS } from "./core/lifecycle";
42
42
  export type { LogLevel } from "./core/logging";
43
- export type { AccountTraits, Analytics, AnalyticsConfig, AnalyticsEvent, EventContext, GroupEvent, IdentifyEvent, PageEvent, TrackEvent, UserState, UserTraits, } from "./core/types";
43
+ export type { AccountTraits, Analytics, AnalyticsConfig, AnalyticsEvent, BeforeSend, EventContext, FlushResult, GroupEvent, IdentifyEvent, OnFlushError, PageEvent, TrackEvent, UserState, UserTraits, } from "./core/types";
44
44
  export { DEFAULT_CONFIG, LIBRARY_INFO, STORAGE_KEYS } from "./core/types";
45
45
  export type { BugReportWidgetOptions } from "./widget/bug-report";
46
46
  export { createBugReportWidget } from "./widget/bug-report";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EACN,eAAe,EACf,YAAY,EACZ,aAAa,GACb,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACX,UAAU,EACV,kBAAkB,EAClB,YAAY,GACZ,MAAM,eAAe,CAAC;AACvB,YAAY,EACX,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,YAAY,EACX,aAAa,EACb,SAAS,EACT,eAAe,EACf,cAAc,EACd,YAAY,EACZ,UAAU,EACV,aAAa,EACb,SAAS,EACT,UAAU,EACV,SAAS,EACT,UAAU,GACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1E,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EACN,eAAe,EACf,YAAY,EACZ,aAAa,GACb,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACX,UAAU,EACV,kBAAkB,EAClB,YAAY,GACZ,MAAM,eAAe,CAAC;AACvB,YAAY,EACX,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,YAAY,EACX,aAAa,EACb,SAAS,EACT,eAAe,EACf,cAAc,EACd,UAAU,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,UAAU,EACV,SAAS,EACT,UAAU,GACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1E,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EACN,eAAe,EACf,YAAY,EACZ,aAAa,GACb,MAAM,kBAAkB,CAAC;AAuB1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAiBpD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EACN,eAAe,EACf,YAAY,EACZ,aAAa,GACb,MAAM,kBAAkB,CAAC;AAuB1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAoBpD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/next.d.ts CHANGED
@@ -43,5 +43,7 @@ export type { AccountDeletedProps, FeatureActivatedProps, InviteAcceptedProps, I
43
43
  export type { AccountTraits, Analytics as AnalyticsInstance, AnalyticsConfig, UserState, UserTraits, } from "./core/types";
44
44
  export type { NextAnalyticsProps } from "./next/analytics";
45
45
  export { Analytics } from "./next/analytics";
46
+ export type { AnalyticsContextValue, AnalyticsProviderProps, } from "./react/context";
47
+ export { AnalyticsContext, AnalyticsProvider, useAnalyticsContext, useAnalyticsReady, useIsClient, } from "./react/context";
46
48
  export { useAccountDeleted, useAnalytics, useCaptureException, useFeatureActivated, useGetUser, useGroup, useIdentify, useInviteAccepted, useInviteSent, useLog, useLogin, useLogout, usePage, usePlanDowngraded, usePlanUpgraded, useReset, useSignup, useSubscriptionCancelled, useSubscriptionRenewed, useSubscriptionStarted, useTrack, useTrialEnded, useTrialStarted, } from "./react/hooks";
47
49
  //# sourceMappingURL=next.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../src/next.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAGH,YAAY,EACX,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACX,aAAa,EACb,SAAS,IAAI,iBAAiB,EAC9B,eAAe,EACf,SAAS,EACT,UAAU,GACV,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAEN,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,SAAS,EACT,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,EACR,aAAa,EACb,eAAe,GACf,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"next.d.ts","sourceRoot":"","sources":["../src/next.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,YAAY,EACX,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACX,aAAa,EACb,SAAS,IAAI,iBAAiB,EAC9B,eAAe,EACf,SAAS,EACT,UAAU,GACV,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,YAAY,EACX,qBAAqB,EACrB,sBAAsB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,GACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,SAAS,EACT,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,EACR,aAAa,EACb,eAAe,GACf,MAAM,eAAe,CAAC"}
package/dist/next.js CHANGED
@@ -40,7 +40,6 @@
40
40
  * @packageDocumentation
41
41
  */
42
42
  export { Analytics } from "./next/analytics";
43
- export {
44
- // Lifecycle hooks
45
- useAccountDeleted, useAnalytics, useCaptureException, useFeatureActivated, useGetUser, useGroup, useIdentify, useInviteAccepted, useInviteSent, useLog, useLogin, useLogout, usePage, usePlanDowngraded, usePlanUpgraded, useReset, useSignup, useSubscriptionCancelled, useSubscriptionRenewed, useSubscriptionStarted, useTrack, useTrialEnded, useTrialStarted, } from "./react/hooks";
43
+ export { AnalyticsContext, AnalyticsProvider, useAnalyticsContext, useAnalyticsReady, useIsClient, } from "./react/context";
44
+ export { useAccountDeleted, useAnalytics, useCaptureException, useFeatureActivated, useGetUser, useGroup, useIdentify, useInviteAccepted, useInviteSent, useLog, useLogin, useLogout, usePage, usePlanDowngraded, usePlanUpgraded, useReset, useSignup, useSubscriptionCancelled, useSubscriptionRenewed, useSubscriptionStarted, useTrack, useTrialEnded, useTrialStarted, } from "./react/hooks";
46
45
  //# sourceMappingURL=next.js.map
package/dist/next.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"next.js","sourceRoot":"","sources":["../src/next.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AA4BH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO;AACN,kBAAkB;AAClB,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,SAAS,EACT,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,EACR,aAAa,EACb,eAAe,GACf,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"next.js","sourceRoot":"","sources":["../src/next.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AA2BH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM7C,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,GACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,SAAS,EACT,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,EACR,aAAa,EACb,eAAe,GACf,MAAM,eAAe,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { type ReactNode } from "react";
2
+ import type { Analytics, AnalyticsConfig } from "../core/types";
3
+ /**
4
+ * Analytics context value
5
+ */
6
+ export interface AnalyticsContextValue {
7
+ /** The Analytics instance (null during SSR or before initialization) */
8
+ analytics: Analytics | null;
9
+ /** Whether analytics is ready to use (false during SSR) */
10
+ isReady: boolean;
11
+ /** Whether we're on the client side (for hydration safety) */
12
+ isClient: boolean;
13
+ }
14
+ /**
15
+ * React Context for Analytics
16
+ */
17
+ export declare const AnalyticsContext: import("react").Context<AnalyticsContextValue>;
18
+ /**
19
+ * Props for AnalyticsProvider
20
+ */
21
+ export interface AnalyticsProviderProps {
22
+ /**
23
+ * Your Thisbefine API key.
24
+ * If not provided, reads from NEXT_PUBLIC_TBF_API_KEY environment variable.
25
+ */
26
+ apiKey?: string;
27
+ /**
28
+ * API host URL.
29
+ * Defaults to https://thisbefine.com
30
+ */
31
+ host?: string;
32
+ /**
33
+ * Enable debug logging to console.
34
+ * @default false
35
+ */
36
+ debug?: boolean;
37
+ /**
38
+ * Automatically track page views.
39
+ * @default true
40
+ */
41
+ trackPageviews?: boolean;
42
+ /**
43
+ * Additional configuration options
44
+ */
45
+ config?: Omit<AnalyticsConfig, "apiKey" | "host" | "debug">;
46
+ /**
47
+ * Children to render
48
+ */
49
+ children: ReactNode;
50
+ }
51
+ /**
52
+ * Analytics Provider - initializes and provides Analytics context
53
+ *
54
+ * Wrap your app with this provider to use analytics hooks.
55
+ *
56
+ * @example
57
+ * ```tsx
58
+ *
59
+ * import { AnalyticsProvider } from '@thisbefine/analytics/react';
60
+ *
61
+ * export default function RootLayout({ children }) {
62
+ * return (
63
+ * <html>
64
+ * <body>
65
+ * <AnalyticsProvider apiKey="tbf_xxx">
66
+ * {children}
67
+ * </AnalyticsProvider>
68
+ * </body>
69
+ * </html>
70
+ * );
71
+ * }
72
+ * ```
73
+ */
74
+ export declare const AnalyticsProvider: ({ apiKey, host, debug, trackPageviews, config, children, }: AnalyticsProviderProps) => import("react/jsx-runtime").JSX.Element;
75
+ /**
76
+ * Hook to access the Analytics context
77
+ *
78
+ * SSR-safe: returns isClient=false and analytics=null during server rendering.
79
+ * Use isReady to check if analytics is initialized.
80
+ *
81
+ * For backward compatibility, falls back to global analytics instance if
82
+ * no AnalyticsProvider is used (e.g., when using the <Analytics /> component).
83
+ */
84
+ export declare const useAnalyticsContext: () => AnalyticsContextValue;
85
+ /**
86
+ * Hook to check if we're on the client side
87
+ * Useful for SSR hydration safety
88
+ */
89
+ export declare const useIsClient: () => boolean;
90
+ /**
91
+ * Hook to check if analytics is ready
92
+ * Combines isClient and isReady checks
93
+ */
94
+ export declare const useAnalyticsReady: () => boolean;
95
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/react/context.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEN,KAAK,SAAS,EAMd,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,wEAAwE;IACxE,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,2DAA2D;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,gDAI3B,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAE5D;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,iBAAiB,GAAI,4DAO/B,sBAAsB,4CA6DxB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,QAAO,qBAatC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,QAAO,OAQ9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,OAGpC,CAAC"}