@thisbefine/analytics 0.2.0 → 0.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 (51) hide show
  1. package/dist/core/analytics.d.ts +44 -2
  2. package/dist/core/analytics.d.ts.map +1 -1
  3. package/dist/core/analytics.js +154 -20
  4. package/dist/core/analytics.js.map +1 -1
  5. package/dist/core/errors.d.ts.map +1 -1
  6. package/dist/core/errors.js +3 -2
  7. package/dist/core/errors.js.map +1 -1
  8. package/dist/core/lifecycle.d.ts.map +1 -1
  9. package/dist/core/lifecycle.js +0 -6
  10. package/dist/core/lifecycle.js.map +1 -1
  11. package/dist/core/logger.d.ts +2 -1
  12. package/dist/core/logger.d.ts.map +1 -1
  13. package/dist/core/logger.js +53 -1
  14. package/dist/core/logger.js.map +1 -1
  15. package/dist/core/privacy.d.ts +50 -2
  16. package/dist/core/privacy.d.ts.map +1 -1
  17. package/dist/core/privacy.js +118 -1
  18. package/dist/core/privacy.js.map +1 -1
  19. package/dist/core/queue.d.ts +76 -3
  20. package/dist/core/queue.d.ts.map +1 -1
  21. package/dist/core/queue.js +353 -40
  22. package/dist/core/queue.js.map +1 -1
  23. package/dist/core/session.d.ts +5 -3
  24. package/dist/core/session.d.ts.map +1 -1
  25. package/dist/core/session.js +20 -5
  26. package/dist/core/session.js.map +1 -1
  27. package/dist/core/types.d.ts +150 -1
  28. package/dist/core/types.d.ts.map +1 -1
  29. package/dist/core/types.js +10 -0
  30. package/dist/core/types.js.map +1 -1
  31. package/dist/core/version.d.ts +1 -1
  32. package/dist/core/version.js +1 -1
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/next.d.ts +4 -1
  37. package/dist/next.d.ts.map +1 -1
  38. package/dist/next.js +2 -1
  39. package/dist/next.js.map +1 -1
  40. package/dist/react/context.d.ts +95 -0
  41. package/dist/react/context.d.ts.map +1 -0
  42. package/dist/react/context.js +120 -0
  43. package/dist/react/context.js.map +1 -0
  44. package/dist/react/hooks.d.ts.map +1 -1
  45. package/dist/react/hooks.js +38 -37
  46. package/dist/react/hooks.js.map +1 -1
  47. package/dist/react.d.ts +2 -0
  48. package/dist/react.d.ts.map +1 -1
  49. package/dist/react.js +2 -3
  50. package/dist/react.js.map +1 -1
  51. package/package.json +1 -1
@@ -0,0 +1,120 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext, useEffect, useMemo, useRef, useState, } from "react";
4
+ import { getAnalytics as getGlobalAnalytics, initAnalytics, } from "../core/analytics";
5
+ /**
6
+ * React Context for Analytics
7
+ */
8
+ export const AnalyticsContext = createContext({
9
+ analytics: null,
10
+ isReady: false,
11
+ isClient: false,
12
+ });
13
+ /**
14
+ * Analytics Provider - initializes and provides Analytics context
15
+ *
16
+ * Wrap your app with this provider to use analytics hooks.
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ *
21
+ * import { AnalyticsProvider } from '@thisbefine/analytics/react';
22
+ *
23
+ * export default function RootLayout({ children }) {
24
+ * return (
25
+ * <html>
26
+ * <body>
27
+ * <AnalyticsProvider apiKey="tbf_xxx">
28
+ * {children}
29
+ * </AnalyticsProvider>
30
+ * </body>
31
+ * </html>
32
+ * );
33
+ * }
34
+ * ```
35
+ */
36
+ export const AnalyticsProvider = ({ apiKey, host, debug = false, trackPageviews = true, config, children, }) => {
37
+ const [analytics, setAnalytics] = useState(null);
38
+ const [isReady, setIsReady] = useState(false);
39
+ const [isClient, setIsClient] = useState(false);
40
+ const initialized = useRef(false);
41
+ useEffect(() => {
42
+ setIsClient(true);
43
+ }, []);
44
+ useEffect(() => {
45
+ if (initialized.current)
46
+ return;
47
+ if (typeof window === "undefined")
48
+ return;
49
+ const resolvedApiKey = apiKey ?? process.env.NEXT_PUBLIC_TBF_API_KEY ?? "";
50
+ if (!resolvedApiKey) {
51
+ console.warn("[Thisbefine] No API key provided. Set NEXT_PUBLIC_TBF_API_KEY or pass apiKey prop.");
52
+ return;
53
+ }
54
+ const instance = initAnalytics({
55
+ apiKey: resolvedApiKey,
56
+ host,
57
+ debug,
58
+ ...config,
59
+ });
60
+ initialized.current = true;
61
+ setAnalytics(instance);
62
+ setIsReady(true);
63
+ if (trackPageviews) {
64
+ instance.page();
65
+ }
66
+ }, [apiKey, host, debug, config, trackPageviews]);
67
+ useEffect(() => {
68
+ if (!trackPageviews || !analytics)
69
+ return;
70
+ if (typeof window === "undefined")
71
+ return;
72
+ const handlePopState = () => {
73
+ analytics.page();
74
+ };
75
+ window.addEventListener("popstate", handlePopState);
76
+ return () => window.removeEventListener("popstate", handlePopState);
77
+ }, [trackPageviews, analytics]);
78
+ const value = useMemo(() => ({ analytics, isReady, isClient }), [analytics, isReady, isClient]);
79
+ return (_jsx(AnalyticsContext.Provider, { value: value, children: children }));
80
+ };
81
+ /**
82
+ * Hook to access the Analytics context
83
+ *
84
+ * SSR-safe: returns isClient=false and analytics=null during server rendering.
85
+ * Use isReady to check if analytics is initialized.
86
+ *
87
+ * For backward compatibility, falls back to global analytics instance if
88
+ * no AnalyticsProvider is used (e.g., when using the <Analytics /> component).
89
+ */
90
+ export const useAnalyticsContext = () => {
91
+ const context = useContext(AnalyticsContext);
92
+ if (context.analytics || context.isReady || context.isClient) {
93
+ return context;
94
+ }
95
+ const globalAnalytics = getGlobalAnalytics();
96
+ if (globalAnalytics) {
97
+ return { analytics: globalAnalytics, isReady: true, isClient: true };
98
+ }
99
+ return context;
100
+ };
101
+ /**
102
+ * Hook to check if we're on the client side
103
+ * Useful for SSR hydration safety
104
+ */
105
+ export const useIsClient = () => {
106
+ const [isClient, setIsClient] = useState(false);
107
+ useEffect(() => {
108
+ setIsClient(true);
109
+ }, []);
110
+ return isClient;
111
+ };
112
+ /**
113
+ * Hook to check if analytics is ready
114
+ * Combines isClient and isReady checks
115
+ */
116
+ export const useAnalyticsReady = () => {
117
+ const { isReady, isClient } = useAnalyticsContext();
118
+ return isClient && isReady;
119
+ };
120
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/react/context.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/react/hooks.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,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,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAiB1E;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,QAAO,SAE/B,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,QAAQ,GAAI,WAAW,MAAM,mBAE1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAKtC,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,iBACK,MAAM,WAAW,UAAU,SAGvD,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,QAAQ,oBACW,MAAM,WAAW,aAAa,SAG7D,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,gBACQ,MAAM,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAGvE,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,kBAIpB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,gDAItB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,gBACJ,KAAK,YAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAGnE,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,kBAEP,MAAM,SAAS,QAAQ,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAKtE,CAAC;AAmBF;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,iDAA6C,CAAC;AAEpE;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,gDAA2C,CAAC;AAEjE;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,iDAA6C,CAAC;AAEpE;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,yDAC6B,CAAC;AAE5D;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,8DACkC,CAAC;AAEtE;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,gEACoC,CAAC;AAE1E;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,8DACkC,CAAC;AAEtE;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,uDAC2B,CAAC;AAExD;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,yDAC6B,CAAC;AAE5D;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,uDAC2B,CAAC;AAExD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,qDAAqD,CAAC;AAEhF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,qDAAqD,CAAC;AAEhF;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,yDAC6B,CAAC;AAE5D;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,2DAC+B,CAAC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/react/hooks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,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,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG1E;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,QAAO,SAU/B,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,QAAQ,GAAI,WAAW,MAAM,mBAI1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAKtC,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW,iBAIb,MAAM,WAAW,UAAU,SAKrC,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,QAAQ,oBAIP,MAAM,WAAW,aAAa,SAK3C,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,gBAIV,MAAM,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAKrD,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,kBAMpB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,gDAMtB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,gBAItB,KAAK,YAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAKjD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,kBAIP,MAAM,SAAS,QAAQ,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAKtE,CAAC;AAoBF;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,iDAA6C,CAAC;AAEpE;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,gDAA2C,CAAC;AAEjE;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,iDAA6C,CAAC;AAEpE;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,yDAC6B,CAAC;AAE5D;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,8DACkC,CAAC;AAEtE;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,gEACoC,CAAC;AAE1E;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,8DACkC,CAAC;AAEtE;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,uDAC2B,CAAC;AAExD;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,yDAC6B,CAAC;AAE5D;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,uDAC2B,CAAC;AAExD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,qDAAqD,CAAC;AAEhF;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,qDAAqD,CAAC;AAEhF;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,yDAC6B,CAAC;AAE5D;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,2DAC+B,CAAC"}
@@ -1,16 +1,6 @@
1
1
  "use client";
2
2
  import { useCallback } from "react";
3
- import { getAnalytics } from "../core/analytics";
4
- /**
5
- * Get the analytics instance, throwing if not initialized
6
- */
7
- const getAnalyticsOrThrow = () => {
8
- const analytics = getAnalytics();
9
- if (!analytics) {
10
- throw new Error("Analytics not initialized. Make sure you have added <Analytics /> to your app.");
11
- }
12
- return analytics;
13
- };
3
+ import { useAnalyticsContext } from "./context";
14
4
  /**
15
5
  * Hook to access the Analytics instance
16
6
  *
@@ -26,7 +16,11 @@ const getAnalyticsOrThrow = () => {
26
16
  * ```
27
17
  */
28
18
  export const useAnalytics = () => {
29
- return getAnalyticsOrThrow();
19
+ const { analytics } = useAnalyticsContext();
20
+ if (!analytics) {
21
+ throw new Error("Analytics not initialized. Make sure you have added <AnalyticsProvider> to your app.");
22
+ }
23
+ return analytics;
30
24
  };
31
25
  /**
32
26
  * Hook to get a memoized track function for a specific event
@@ -48,9 +42,10 @@ export const useAnalytics = () => {
48
42
  * ```
49
43
  */
50
44
  export const useTrack = (eventName) => {
45
+ const { analytics } = useAnalyticsContext();
51
46
  return useCallback((properties) => {
52
- getAnalytics()?.track(eventName, properties);
53
- }, [eventName]);
47
+ analytics?.track(eventName, properties);
48
+ }, [analytics, eventName]);
54
49
  };
55
50
  /**
56
51
  * Hook to identify the current user
@@ -70,9 +65,10 @@ export const useTrack = (eventName) => {
70
65
  * ```
71
66
  */
72
67
  export const useIdentify = () => {
68
+ const { analytics } = useAnalyticsContext();
73
69
  return useCallback((userId, traits) => {
74
- getAnalytics()?.identify(userId, traits);
75
- }, []);
70
+ analytics?.identify(userId, traits);
71
+ }, [analytics]);
76
72
  };
77
73
  /**
78
74
  * Hook to associate the current user with an account/company
@@ -92,9 +88,10 @@ export const useIdentify = () => {
92
88
  * ```
93
89
  */
94
90
  export const useGroup = () => {
91
+ const { analytics } = useAnalyticsContext();
95
92
  return useCallback((accountId, traits) => {
96
- getAnalytics()?.group(accountId, traits);
97
- }, []);
93
+ analytics?.group(accountId, traits);
94
+ }, [analytics]);
98
95
  };
99
96
  /**
100
97
  * Hook to track page views
@@ -111,9 +108,10 @@ export const useGroup = () => {
111
108
  * ```
112
109
  */
113
110
  export const usePage = () => {
111
+ const { analytics } = useAnalyticsContext();
114
112
  return useCallback((name, properties) => {
115
- getAnalytics()?.page(name, properties);
116
- }, []);
113
+ analytics?.page(name, properties);
114
+ }, [analytics]);
117
115
  };
118
116
  /**
119
117
  * Hook to reset the analytics session (call on logout)
@@ -129,9 +127,10 @@ export const usePage = () => {
129
127
  * ```
130
128
  */
131
129
  export const useReset = () => {
130
+ const { analytics } = useAnalyticsContext();
132
131
  return useCallback(() => {
133
- getAnalytics()?.reset();
134
- }, []);
132
+ analytics?.reset();
133
+ }, [analytics]);
135
134
  };
136
135
  /**
137
136
  * Hook to get the current user state
@@ -147,9 +146,10 @@ export const useReset = () => {
147
146
  * ```
148
147
  */
149
148
  export const useGetUser = () => {
149
+ const { analytics } = useAnalyticsContext();
150
150
  return useCallback(() => {
151
- return getAnalytics()?.getUser();
152
- }, []);
151
+ return analytics?.getUser();
152
+ }, [analytics]);
153
153
  };
154
154
  /**
155
155
  * Hook to capture exceptions
@@ -164,9 +164,10 @@ export const useGetUser = () => {
164
164
  * ```
165
165
  */
166
166
  export const useCaptureException = () => {
167
+ const { analytics } = useAnalyticsContext();
167
168
  return useCallback((error, context) => {
168
- getAnalytics()?.captureException(error, context);
169
- }, []);
169
+ analytics?.captureException(error, context);
170
+ }, [analytics]);
170
171
  };
171
172
  /**
172
173
  * Hook to send structured log events
@@ -179,23 +180,23 @@ export const useCaptureException = () => {
179
180
  * ```
180
181
  */
181
182
  export const useLog = () => {
183
+ const { analytics } = useAnalyticsContext();
182
184
  return useCallback((message, level, metadata) => {
183
- getAnalytics()?.log(message, level, metadata);
184
- }, []);
185
+ analytics?.log(message, level, metadata);
186
+ }, [analytics]);
185
187
  };
186
- // ============================================================
187
- // Lifecycle Event Hooks
188
- // ============================================================
189
188
  /**
190
189
  * Factory helper to create lifecycle hooks
191
190
  */
192
191
  const createLifecycleHook = (method) => {
193
- return () => useCallback((props) => {
194
- const analytics = getAnalytics();
195
- if (analytics && method in analytics) {
196
- analytics[method]?.(props);
197
- }
198
- }, []);
192
+ return () => {
193
+ const { analytics } = useAnalyticsContext();
194
+ return useCallback((props) => {
195
+ if (analytics && method in analytics) {
196
+ analytics[method]?.(props);
197
+ }
198
+ }, [analytics]);
199
+ };
199
200
  };
200
201
  /**
201
202
  * Hook to track user signups
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/react/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/react/hooks.ts"],"names":[],"mappings":"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"}
package/dist/react.d.ts CHANGED
@@ -39,5 +39,7 @@ export type { AnalyticsProps } from "./react/analytics";
39
39
  export { Analytics } from "./react/analytics";
40
40
  export type { BugReportFABProps } from "./react/bug-report-widget";
41
41
  export { BugReportFAB } from "./react/bug-report-widget";
42
+ export type { AnalyticsContextValue, AnalyticsProviderProps, } from "./react/context";
43
+ export { AnalyticsContext, AnalyticsProvider, useAnalyticsContext, useAnalyticsReady, useIsClient, } from "./react/context";
42
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";
43
45
  //# sourceMappingURL=react.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;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,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,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":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;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,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,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/react.js CHANGED
@@ -35,7 +35,6 @@
35
35
  */
36
36
  export { Analytics } from "./react/analytics";
37
37
  export { BugReportFAB } from "./react/bug-report-widget";
38
- export {
39
- // Lifecycle hooks
40
- 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";
38
+ export { AnalyticsContext, AnalyticsProvider, useAnalyticsContext, useAnalyticsReady, useIsClient, } from "./react/context";
39
+ 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";
41
40
  //# sourceMappingURL=react.js.map
package/dist/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AA4BH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,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":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AA2BH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAKzD,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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisbefine/analytics",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Track events, catch errors, and pretend everything's fine. Lightweight analytics for indie SaaS.",
5
5
  "author": "Thisbefine <hello@thisbefine.com>",
6
6
  "license": "MIT",