react-fathom 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +222 -52
- package/dist/cjs/index.cjs +3 -4
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/next/index.cjs +186 -725
- package/dist/cjs/next/index.cjs.map +1 -1
- package/dist/es/index.js +3 -4
- package/dist/es/index.js.map +1 -1
- package/dist/es/next/index.js +186 -724
- package/dist/es/next/index.js.map +1 -1
- package/dist/react-fathom.js +3 -4
- package/dist/react-fathom.js.map +1 -1
- package/dist/react-fathom.min.js +2 -2
- package/dist/react-fathom.min.js.map +1 -1
- package/package.json +16 -2
- package/src/FathomProvider.tsx +0 -1
- package/src/next/NextFathomTrackViewApp.test.tsx +265 -0
- package/src/next/NextFathomTrackViewApp.tsx +78 -0
- package/src/next/NextFathomTrackViewPages.test.tsx +222 -0
- package/src/next/NextFathomTrackViewPages.tsx +83 -0
- package/src/next/compositions/withAppRouter.test.tsx +31 -10
- package/src/next/compositions/withAppRouter.tsx +10 -3
- package/src/next/compositions/withPagesRouter.test.tsx +31 -10
- package/src/next/compositions/withPagesRouter.tsx +10 -3
- package/src/next/index.ts +3 -3
- package/src/next/types.ts +0 -7
- package/src/types.ts +0 -1
- package/types/FathomProvider.d.ts.map +1 -1
- package/types/next/NextFathomProviderApp.d.ts.map +1 -1
- package/types/next/NextFathomProviderPages.d.ts.map +1 -1
- package/types/next/NextFathomTrackViewApp.d.ts +34 -0
- package/types/next/NextFathomTrackViewApp.d.ts.map +1 -0
- package/types/next/NextFathomTrackViewPages.d.ts +30 -0
- package/types/next/NextFathomTrackViewPages.d.ts.map +1 -0
- package/types/next/compositions/withAppRouter.d.ts +1 -0
- package/types/next/compositions/withAppRouter.d.ts.map +1 -1
- package/types/next/compositions/withPagesRouter.d.ts +1 -0
- package/types/next/compositions/withPagesRouter.d.ts.map +1 -1
- package/types/next/index.d.ts +2 -3
- package/types/next/index.d.ts.map +1 -1
- package/types/next/types.d.ts +0 -6
- package/types/next/types.d.ts.map +1 -1
- package/types/types.d.ts +0 -1
- package/types/types.d.ts.map +1 -1
- package/src/next/NextFathomProvider.test.tsx +0 -131
- package/src/next/NextFathomProvider.tsx +0 -62
- package/src/next/NextFathomProviderApp.test.tsx +0 -308
- package/src/next/NextFathomProviderApp.tsx +0 -106
- package/src/next/NextFathomProviderPages.test.tsx +0 -330
- package/src/next/NextFathomProviderPages.tsx +0 -112
package/dist/es/next/index.js
CHANGED
|
@@ -1,25 +1,177 @@
|
|
|
1
|
-
/*! react-fathom - 0.1.
|
|
2
|
-
import React, { createContext, useContext,
|
|
3
|
-
import * as Fathom from 'fathom-client';
|
|
1
|
+
/*! react-fathom - 0.1.2 !*/
|
|
2
|
+
import React, { createContext, useContext, useRef, useEffect, useMemo, useCallback } from 'react';
|
|
4
3
|
import { useRouter } from 'next/router';
|
|
5
4
|
import { usePathname, useSearchParams } from 'next/navigation';
|
|
5
|
+
import * as Fathom from 'fathom-client';
|
|
6
|
+
|
|
7
|
+
var FathomContext = /*#__PURE__*/createContext({});
|
|
8
|
+
|
|
9
|
+
var useFathom = function useFathom() {
|
|
10
|
+
var context = useContext(FathomContext);
|
|
11
|
+
return context;
|
|
12
|
+
};
|
|
13
|
+
useFathom.displayName = 'useFathom';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Component that tracks pageviews for Next.js Pages Router.
|
|
17
|
+
* Must be used within a FathomProvider.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* // pages/_app.tsx
|
|
22
|
+
* import { FathomProvider } from 'react-fathom'
|
|
23
|
+
* import { NextFathomTrackViewPages } from 'react-fathom/next'
|
|
24
|
+
*
|
|
25
|
+
* function MyApp({ Component, pageProps }) {
|
|
26
|
+
* return (
|
|
27
|
+
* <FathomProvider siteId="YOUR_SITE_ID">
|
|
28
|
+
* <NextFathomTrackViewPages />
|
|
29
|
+
* <Component {...pageProps} />
|
|
30
|
+
* </FathomProvider>
|
|
31
|
+
* )
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
var NextFathomTrackViewPages = function NextFathomTrackViewPages(_ref) {
|
|
36
|
+
var _ref$disableAutoTrack = _ref.disableAutoTrack,
|
|
37
|
+
disableAutoTrack = _ref$disableAutoTrack === void 0 ? false : _ref$disableAutoTrack;
|
|
38
|
+
var router = useRouter();
|
|
39
|
+
var hasTrackedInitialPageview = useRef(false);
|
|
40
|
+
var _useFathom = useFathom(),
|
|
41
|
+
trackPageview = _useFathom.trackPageview,
|
|
42
|
+
client = _useFathom.client;
|
|
43
|
+
|
|
44
|
+
// Track pageviews on route changes
|
|
45
|
+
useEffect(function () {
|
|
46
|
+
if (!trackPageview || !client || disableAutoTrack) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
var handleRouteChangeComplete = function handleRouteChangeComplete(url) {
|
|
50
|
+
trackPageview({
|
|
51
|
+
url: window.location.origin + url
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
router.events.on('routeChangeComplete', handleRouteChangeComplete);
|
|
55
|
+
return function () {
|
|
56
|
+
router.events.off('routeChangeComplete', handleRouteChangeComplete);
|
|
57
|
+
};
|
|
58
|
+
}, [router.events, trackPageview, client, disableAutoTrack]);
|
|
59
|
+
|
|
60
|
+
// Track initial pageview (routeChangeComplete doesn't fire on initial load)
|
|
61
|
+
useEffect(function () {
|
|
62
|
+
if (!trackPageview || !client || disableAutoTrack || !router.isReady || hasTrackedInitialPageview.current) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
hasTrackedInitialPageview.current = true;
|
|
66
|
+
trackPageview({
|
|
67
|
+
url: window.location.href
|
|
68
|
+
});
|
|
69
|
+
}, [trackPageview, client, disableAutoTrack, router.isReady]);
|
|
70
|
+
|
|
71
|
+
// This component doesn't render anything
|
|
72
|
+
return null;
|
|
73
|
+
};
|
|
74
|
+
NextFathomTrackViewPages.displayName = 'NextFathomTrackViewPages';
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Component that tracks pageviews for Next.js App Router.
|
|
78
|
+
* Must be used within a FathomProvider.
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```tsx
|
|
82
|
+
* // app/layout.tsx
|
|
83
|
+
* import { FathomProvider } from 'react-fathom'
|
|
84
|
+
* import { NextFathomTrackViewApp } from 'react-fathom/next'
|
|
85
|
+
*
|
|
86
|
+
* export default function RootLayout({ children }) {
|
|
87
|
+
* return (
|
|
88
|
+
* <html>
|
|
89
|
+
* <body>
|
|
90
|
+
* <FathomProvider siteId="YOUR_SITE_ID">
|
|
91
|
+
* <NextFathomTrackViewApp />
|
|
92
|
+
* {children}
|
|
93
|
+
* </FathomProvider>
|
|
94
|
+
* </body>
|
|
95
|
+
* </html>
|
|
96
|
+
* )
|
|
97
|
+
* }
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
var NextFathomTrackViewApp = function NextFathomTrackViewApp(_ref) {
|
|
101
|
+
var _ref$disableAutoTrack = _ref.disableAutoTrack,
|
|
102
|
+
disableAutoTrack = _ref$disableAutoTrack === void 0 ? false : _ref$disableAutoTrack;
|
|
103
|
+
var pathname = usePathname();
|
|
104
|
+
var searchParams = useSearchParams();
|
|
105
|
+
var hasTrackedInitialPageview = useRef(false);
|
|
106
|
+
var _useFathom = useFathom(),
|
|
107
|
+
trackPageview = _useFathom.trackPageview,
|
|
108
|
+
client = _useFathom.client;
|
|
109
|
+
|
|
110
|
+
// Track pageviews on route changes
|
|
111
|
+
useEffect(function () {
|
|
112
|
+
if (!trackPageview || !client || disableAutoTrack) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
var searchString = searchParams === null || searchParams === void 0 ? void 0 : searchParams.toString();
|
|
116
|
+
var url = pathname + (searchString !== undefined && searchString !== '' ? "?".concat(searchString) : '');
|
|
117
|
+
|
|
118
|
+
// Track initial pageview only once
|
|
119
|
+
if (!hasTrackedInitialPageview.current) {
|
|
120
|
+
hasTrackedInitialPageview.current = true;
|
|
121
|
+
trackPageview({
|
|
122
|
+
url: window.location.origin + url
|
|
123
|
+
});
|
|
124
|
+
} else {
|
|
125
|
+
// Track subsequent route changes
|
|
126
|
+
trackPageview({
|
|
127
|
+
url: window.location.origin + url
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}, [pathname, searchParams, trackPageview, client, disableAutoTrack]);
|
|
131
|
+
|
|
132
|
+
// This component doesn't render anything
|
|
133
|
+
return null;
|
|
134
|
+
};
|
|
135
|
+
NextFathomTrackViewApp.displayName = 'NextFathomTrackViewApp';
|
|
136
|
+
|
|
137
|
+
function _objectWithoutPropertiesLoose(r, e) {
|
|
138
|
+
if (null == r) return {};
|
|
139
|
+
var t = {};
|
|
140
|
+
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
|
141
|
+
if (-1 !== e.indexOf(n)) continue;
|
|
142
|
+
t[n] = r[n];
|
|
143
|
+
}
|
|
144
|
+
return t;
|
|
145
|
+
}
|
|
6
146
|
|
|
7
|
-
function
|
|
147
|
+
function _objectWithoutProperties(e, t) {
|
|
148
|
+
if (null == e) return {};
|
|
149
|
+
var o,
|
|
150
|
+
r,
|
|
151
|
+
i = _objectWithoutPropertiesLoose(e, t);
|
|
152
|
+
if (Object.getOwnPropertySymbols) {
|
|
153
|
+
var n = Object.getOwnPropertySymbols(e);
|
|
154
|
+
for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
|
|
155
|
+
}
|
|
156
|
+
return i;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
function _typeof(o) {
|
|
8
160
|
"@babel/helpers - typeof";
|
|
9
161
|
|
|
10
|
-
return _typeof
|
|
162
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
11
163
|
return typeof o;
|
|
12
164
|
} : function (o) {
|
|
13
165
|
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
14
|
-
}, _typeof
|
|
166
|
+
}, _typeof(o);
|
|
15
167
|
}
|
|
16
168
|
|
|
17
169
|
function toPrimitive(t, r) {
|
|
18
|
-
if ("object" != _typeof
|
|
170
|
+
if ("object" != _typeof(t) || !t) return t;
|
|
19
171
|
var e = t[Symbol.toPrimitive];
|
|
20
172
|
if (void 0 !== e) {
|
|
21
173
|
var i = e.call(t, r);
|
|
22
|
-
if ("object" != _typeof
|
|
174
|
+
if ("object" != _typeof(i)) return i;
|
|
23
175
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
24
176
|
}
|
|
25
177
|
return ("string" === r ? String : Number)(t);
|
|
@@ -27,7 +179,7 @@ function toPrimitive(t, r) {
|
|
|
27
179
|
|
|
28
180
|
function toPropertyKey(t) {
|
|
29
181
|
var i = toPrimitive(t, "string");
|
|
30
|
-
return "symbol" == _typeof
|
|
182
|
+
return "symbol" == _typeof(i) ? i : i + "";
|
|
31
183
|
}
|
|
32
184
|
|
|
33
185
|
function _defineProperty(e, r, t) {
|
|
@@ -39,16 +191,13 @@ function _defineProperty(e, r, t) {
|
|
|
39
191
|
}) : e[r] = t, e;
|
|
40
192
|
}
|
|
41
193
|
|
|
42
|
-
var
|
|
43
|
-
|
|
44
|
-
function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
45
|
-
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
194
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
195
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
46
196
|
var FathomProvider = function FathomProvider(_ref) {
|
|
47
197
|
var children = _ref.children,
|
|
48
198
|
providedClient = _ref.client,
|
|
49
|
-
clientOptions = _ref.clientOptions
|
|
50
|
-
_ref.
|
|
51
|
-
var siteId = _ref.siteId,
|
|
199
|
+
clientOptions = _ref.clientOptions,
|
|
200
|
+
siteId = _ref.siteId,
|
|
52
201
|
providedDefaultPageviewOptions = _ref.defaultPageviewOptions,
|
|
53
202
|
providedDefaultEventOptions = _ref.defaultEventOptions;
|
|
54
203
|
// Read parent context if it exists
|
|
@@ -86,10 +235,10 @@ var FathomProvider = function FathomProvider(_ref) {
|
|
|
86
235
|
client.setSite(siteId);
|
|
87
236
|
}, [client]);
|
|
88
237
|
var trackEvent = useCallback(function (category, options) {
|
|
89
|
-
client.trackEvent(category, _objectSpread
|
|
238
|
+
client.trackEvent(category, _objectSpread(_objectSpread({}, defaultEventOptions), options));
|
|
90
239
|
}, [client, defaultEventOptions]);
|
|
91
240
|
var trackPageview = useCallback(function (options) {
|
|
92
|
-
client.trackPageview(_objectSpread
|
|
241
|
+
client.trackPageview(_objectSpread(_objectSpread({}, defaultPageviewOptions), options));
|
|
93
242
|
}, [client, defaultPageviewOptions]);
|
|
94
243
|
var trackGoal = useCallback(function (code, cents) {
|
|
95
244
|
client.trackGoal(code, cents);
|
|
@@ -117,711 +266,10 @@ var FathomProvider = function FathomProvider(_ref) {
|
|
|
117
266
|
};
|
|
118
267
|
FathomProvider.displayName = 'FathomProvider';
|
|
119
268
|
|
|
120
|
-
var
|
|
121
|
-
var context = useContext(FathomContext);
|
|
122
|
-
return context;
|
|
123
|
-
};
|
|
124
|
-
useFathom.displayName = 'useFathom';
|
|
125
|
-
|
|
126
|
-
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
127
|
-
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
128
|
-
var NextFathomProviderPages = function NextFathomProviderPages(_ref) {
|
|
129
|
-
var children = _ref.children,
|
|
130
|
-
providedClient = _ref.client,
|
|
131
|
-
clientOptions = _ref.clientOptions,
|
|
132
|
-
_ref$disableAutoTrack = _ref.disableAutoTrack,
|
|
133
|
-
disableAutoTrack = _ref$disableAutoTrack === void 0 ? false : _ref$disableAutoTrack,
|
|
134
|
-
siteId = _ref.siteId,
|
|
135
|
-
trackDefaultOptions = _ref.trackDefaultOptions,
|
|
136
|
-
providedDefaultPageviewOptions = _ref.defaultPageviewOptions;
|
|
137
|
-
var router = useRouter();
|
|
138
|
-
var hasTrackedInitialPageview = useRef(false);
|
|
139
|
-
var parentContext = useFathom();
|
|
140
|
-
|
|
141
|
-
// Use provided client or fall back to parent client or default Fathom
|
|
142
|
-
var client = useMemo(function () {
|
|
143
|
-
var _ref2;
|
|
144
|
-
return (_ref2 = providedClient !== null && providedClient !== void 0 ? providedClient : parentContext.client) !== null && _ref2 !== void 0 ? _ref2 : Fathom;
|
|
145
|
-
}, [providedClient, parentContext.client]);
|
|
146
|
-
|
|
147
|
-
// Support both deprecated trackDefaultOptions and new defaultPageviewOptions
|
|
148
|
-
// Priority: providedDefaultPageviewOptions > trackDefaultOptions > parent defaultPageviewOptions
|
|
149
|
-
var defaultPageviewOptions = useMemo(function () {
|
|
150
|
-
var _ref3;
|
|
151
|
-
return (_ref3 = providedDefaultPageviewOptions !== null && providedDefaultPageviewOptions !== void 0 ? providedDefaultPageviewOptions : trackDefaultOptions) !== null && _ref3 !== void 0 ? _ref3 : parentContext.defaultPageviewOptions;
|
|
152
|
-
}, [providedDefaultPageviewOptions, trackDefaultOptions, parentContext.defaultPageviewOptions]);
|
|
153
|
-
var trackPageview = useCallback(function (options) {
|
|
154
|
-
if (siteId !== undefined && client !== undefined) {
|
|
155
|
-
client.trackPageview(_objectSpread$1(_objectSpread$1({}, defaultPageviewOptions), options));
|
|
156
|
-
}
|
|
157
|
-
}, [client, siteId, defaultPageviewOptions]);
|
|
158
|
-
|
|
159
|
-
// Initialize Fathom on mount
|
|
160
|
-
useEffect(function () {
|
|
161
|
-
if (siteId !== undefined && client !== undefined) {
|
|
162
|
-
client.load(siteId, clientOptions);
|
|
163
|
-
}
|
|
164
|
-
}, [client, clientOptions, siteId]);
|
|
165
|
-
|
|
166
|
-
// Track pageviews on route changes
|
|
167
|
-
useEffect(function () {
|
|
168
|
-
if (siteId === undefined || disableAutoTrack) {
|
|
169
|
-
return;
|
|
170
|
-
}
|
|
171
|
-
var handleRouteChangeComplete = function handleRouteChangeComplete(url) {
|
|
172
|
-
trackPageview({
|
|
173
|
-
url: window.location.origin + url
|
|
174
|
-
});
|
|
175
|
-
};
|
|
176
|
-
router.events.on('routeChangeComplete', handleRouteChangeComplete);
|
|
177
|
-
return function () {
|
|
178
|
-
router.events.off('routeChangeComplete', handleRouteChangeComplete);
|
|
179
|
-
};
|
|
180
|
-
}, [router.events, siteId, disableAutoTrack, trackPageview]);
|
|
181
|
-
|
|
182
|
-
// Track initial pageview (routeChangeComplete doesn't fire on initial load)
|
|
183
|
-
useEffect(function () {
|
|
184
|
-
if (siteId !== undefined && !disableAutoTrack && router.isReady && !hasTrackedInitialPageview.current) {
|
|
185
|
-
hasTrackedInitialPageview.current = true;
|
|
186
|
-
trackPageview({
|
|
187
|
-
url: window.location.href
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
}, [siteId, disableAutoTrack, router.isReady, trackPageview]);
|
|
191
|
-
return /*#__PURE__*/React.createElement(FathomProvider, {
|
|
192
|
-
client: client,
|
|
193
|
-
clientOptions: clientOptions,
|
|
194
|
-
siteId: siteId,
|
|
195
|
-
defaultPageviewOptions: defaultPageviewOptions
|
|
196
|
-
}, children);
|
|
197
|
-
};
|
|
198
|
-
NextFathomProviderPages.displayName = 'NextFathomProviderPages';
|
|
199
|
-
|
|
200
|
-
var NextFathomProviderPages$1 = /*#__PURE__*/Object.freeze({
|
|
201
|
-
__proto__: null,
|
|
202
|
-
NextFathomProviderPages: NextFathomProviderPages,
|
|
203
|
-
default: NextFathomProviderPages
|
|
204
|
-
});
|
|
205
|
-
|
|
206
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
207
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
208
|
-
var NextFathomProviderApp = function NextFathomProviderApp(_ref) {
|
|
209
|
-
var children = _ref.children,
|
|
210
|
-
providedClient = _ref.client,
|
|
211
|
-
clientOptions = _ref.clientOptions,
|
|
212
|
-
_ref$disableAutoTrack = _ref.disableAutoTrack,
|
|
213
|
-
disableAutoTrack = _ref$disableAutoTrack === void 0 ? false : _ref$disableAutoTrack,
|
|
214
|
-
siteId = _ref.siteId,
|
|
215
|
-
trackDefaultOptions = _ref.trackDefaultOptions,
|
|
216
|
-
providedDefaultPageviewOptions = _ref.defaultPageviewOptions;
|
|
217
|
-
var pathname = usePathname();
|
|
218
|
-
var searchParams = useSearchParams();
|
|
219
|
-
var hasTrackedInitialPageview = useRef(false);
|
|
220
|
-
var parentContext = useFathom();
|
|
221
|
-
|
|
222
|
-
// Use provided client or fall back to parent client or default Fathom
|
|
223
|
-
var client = useMemo(function () {
|
|
224
|
-
var _ref2;
|
|
225
|
-
return (_ref2 = providedClient !== null && providedClient !== void 0 ? providedClient : parentContext.client) !== null && _ref2 !== void 0 ? _ref2 : Fathom;
|
|
226
|
-
}, [providedClient, parentContext.client]);
|
|
227
|
-
|
|
228
|
-
// Support both deprecated trackDefaultOptions and new defaultPageviewOptions
|
|
229
|
-
// Priority: providedDefaultPageviewOptions > trackDefaultOptions > parent defaultPageviewOptions
|
|
230
|
-
var defaultPageviewOptions = useMemo(function () {
|
|
231
|
-
var _ref3;
|
|
232
|
-
return (_ref3 = providedDefaultPageviewOptions !== null && providedDefaultPageviewOptions !== void 0 ? providedDefaultPageviewOptions : trackDefaultOptions) !== null && _ref3 !== void 0 ? _ref3 : parentContext.defaultPageviewOptions;
|
|
233
|
-
}, [providedDefaultPageviewOptions, trackDefaultOptions, parentContext.defaultPageviewOptions]);
|
|
234
|
-
var trackPageview = useCallback(function (options) {
|
|
235
|
-
if (siteId !== undefined && client !== undefined) {
|
|
236
|
-
client.trackPageview(_objectSpread(_objectSpread({}, defaultPageviewOptions), options));
|
|
237
|
-
}
|
|
238
|
-
}, [client, siteId, defaultPageviewOptions]);
|
|
239
|
-
|
|
240
|
-
// Initialize Fathom on mount
|
|
241
|
-
useEffect(function () {
|
|
242
|
-
if (siteId !== undefined && client !== undefined) {
|
|
243
|
-
client.load(siteId, clientOptions);
|
|
244
|
-
}
|
|
245
|
-
}, [client, clientOptions, siteId]);
|
|
246
|
-
|
|
247
|
-
// Track pageviews on route changes
|
|
248
|
-
useEffect(function () {
|
|
249
|
-
if (siteId === undefined || disableAutoTrack) {
|
|
250
|
-
return;
|
|
251
|
-
}
|
|
252
|
-
var searchString = searchParams === null || searchParams === void 0 ? void 0 : searchParams.toString();
|
|
253
|
-
var url = pathname + (searchString !== undefined && searchString !== '' ? "?".concat(searchString) : '');
|
|
254
|
-
|
|
255
|
-
// Track initial pageview only once
|
|
256
|
-
if (!hasTrackedInitialPageview.current) {
|
|
257
|
-
hasTrackedInitialPageview.current = true;
|
|
258
|
-
trackPageview({
|
|
259
|
-
url: window.location.origin + url
|
|
260
|
-
});
|
|
261
|
-
} else {
|
|
262
|
-
// Track subsequent route changes
|
|
263
|
-
trackPageview({
|
|
264
|
-
url: window.location.origin + url
|
|
265
|
-
});
|
|
266
|
-
}
|
|
267
|
-
}, [pathname, searchParams, siteId, disableAutoTrack, trackPageview]);
|
|
268
|
-
return /*#__PURE__*/React.createElement(FathomProvider, {
|
|
269
|
-
client: client,
|
|
270
|
-
clientOptions: clientOptions,
|
|
271
|
-
siteId: siteId,
|
|
272
|
-
defaultPageviewOptions: defaultPageviewOptions
|
|
273
|
-
}, children);
|
|
274
|
-
};
|
|
275
|
-
NextFathomProviderApp.displayName = 'NextFathomProviderApp';
|
|
276
|
-
|
|
277
|
-
var NextFathomProviderApp$1 = /*#__PURE__*/Object.freeze({
|
|
278
|
-
__proto__: null,
|
|
279
|
-
NextFathomProviderApp: NextFathomProviderApp,
|
|
280
|
-
default: NextFathomProviderApp
|
|
281
|
-
});
|
|
282
|
-
|
|
283
|
-
function _objectWithoutPropertiesLoose(r, e) {
|
|
284
|
-
if (null == r) return {};
|
|
285
|
-
var t = {};
|
|
286
|
-
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
|
287
|
-
if (-1 !== e.indexOf(n)) continue;
|
|
288
|
-
t[n] = r[n];
|
|
289
|
-
}
|
|
290
|
-
return t;
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
function _objectWithoutProperties(e, t) {
|
|
294
|
-
if (null == e) return {};
|
|
295
|
-
var o,
|
|
296
|
-
r,
|
|
297
|
-
i = _objectWithoutPropertiesLoose(e, t);
|
|
298
|
-
if (Object.getOwnPropertySymbols) {
|
|
299
|
-
var n = Object.getOwnPropertySymbols(e);
|
|
300
|
-
for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
|
|
301
|
-
}
|
|
302
|
-
return i;
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
function asyncGeneratorStep(n, t, e, r, o, a, c) {
|
|
306
|
-
try {
|
|
307
|
-
var i = n[a](c),
|
|
308
|
-
u = i.value;
|
|
309
|
-
} catch (n) {
|
|
310
|
-
return void e(n);
|
|
311
|
-
}
|
|
312
|
-
i.done ? t(u) : Promise.resolve(u).then(r, o);
|
|
313
|
-
}
|
|
314
|
-
function _asyncToGenerator(n) {
|
|
315
|
-
return function () {
|
|
316
|
-
var t = this,
|
|
317
|
-
e = arguments;
|
|
318
|
-
return new Promise(function (r, o) {
|
|
319
|
-
var a = n.apply(t, e);
|
|
320
|
-
function _next(n) {
|
|
321
|
-
asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
|
|
322
|
-
}
|
|
323
|
-
function _throw(n) {
|
|
324
|
-
asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
|
|
325
|
-
}
|
|
326
|
-
_next(void 0);
|
|
327
|
-
});
|
|
328
|
-
};
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
function getDefaultExportFromCjs (x) {
|
|
332
|
-
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
var regeneratorRuntime$1 = {exports: {}};
|
|
336
|
-
|
|
337
|
-
var OverloadYield = {exports: {}};
|
|
338
|
-
|
|
339
|
-
var hasRequiredOverloadYield;
|
|
340
|
-
|
|
341
|
-
function requireOverloadYield () {
|
|
342
|
-
if (hasRequiredOverloadYield) return OverloadYield.exports;
|
|
343
|
-
hasRequiredOverloadYield = 1;
|
|
344
|
-
(function (module) {
|
|
345
|
-
function _OverloadYield(e, d) {
|
|
346
|
-
this.v = e, this.k = d;
|
|
347
|
-
}
|
|
348
|
-
module.exports = _OverloadYield, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
349
|
-
} (OverloadYield));
|
|
350
|
-
return OverloadYield.exports;
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
var regenerator$1 = {exports: {}};
|
|
354
|
-
|
|
355
|
-
var regeneratorDefine = {exports: {}};
|
|
356
|
-
|
|
357
|
-
var hasRequiredRegeneratorDefine;
|
|
358
|
-
|
|
359
|
-
function requireRegeneratorDefine () {
|
|
360
|
-
if (hasRequiredRegeneratorDefine) return regeneratorDefine.exports;
|
|
361
|
-
hasRequiredRegeneratorDefine = 1;
|
|
362
|
-
(function (module) {
|
|
363
|
-
function _regeneratorDefine(e, r, n, t) {
|
|
364
|
-
var i = Object.defineProperty;
|
|
365
|
-
try {
|
|
366
|
-
i({}, "", {});
|
|
367
|
-
} catch (e) {
|
|
368
|
-
i = 0;
|
|
369
|
-
}
|
|
370
|
-
module.exports = _regeneratorDefine = function regeneratorDefine(e, r, n, t) {
|
|
371
|
-
function o(r, n) {
|
|
372
|
-
_regeneratorDefine(e, r, function (e) {
|
|
373
|
-
return this._invoke(r, n, e);
|
|
374
|
-
});
|
|
375
|
-
}
|
|
376
|
-
r ? i ? i(e, r, {
|
|
377
|
-
value: n,
|
|
378
|
-
enumerable: !t,
|
|
379
|
-
configurable: !t,
|
|
380
|
-
writable: !t
|
|
381
|
-
}) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
|
|
382
|
-
}, module.exports.__esModule = true, module.exports["default"] = module.exports, _regeneratorDefine(e, r, n, t);
|
|
383
|
-
}
|
|
384
|
-
module.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
385
|
-
} (regeneratorDefine));
|
|
386
|
-
return regeneratorDefine.exports;
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
var hasRequiredRegenerator$1;
|
|
390
|
-
|
|
391
|
-
function requireRegenerator$1 () {
|
|
392
|
-
if (hasRequiredRegenerator$1) return regenerator$1.exports;
|
|
393
|
-
hasRequiredRegenerator$1 = 1;
|
|
394
|
-
(function (module) {
|
|
395
|
-
var regeneratorDefine = requireRegeneratorDefine();
|
|
396
|
-
function _regenerator() {
|
|
397
|
-
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
398
|
-
var e,
|
|
399
|
-
t,
|
|
400
|
-
r = "function" == typeof Symbol ? Symbol : {},
|
|
401
|
-
n = r.iterator || "@@iterator",
|
|
402
|
-
o = r.toStringTag || "@@toStringTag";
|
|
403
|
-
function i(r, n, o, i) {
|
|
404
|
-
var c = n && n.prototype instanceof Generator ? n : Generator,
|
|
405
|
-
u = Object.create(c.prototype);
|
|
406
|
-
return regeneratorDefine(u, "_invoke", function (r, n, o) {
|
|
407
|
-
var i,
|
|
408
|
-
c,
|
|
409
|
-
u,
|
|
410
|
-
f = 0,
|
|
411
|
-
p = o || [],
|
|
412
|
-
y = false,
|
|
413
|
-
G = {
|
|
414
|
-
p: 0,
|
|
415
|
-
n: 0,
|
|
416
|
-
v: e,
|
|
417
|
-
a: d,
|
|
418
|
-
f: d.bind(e, 4),
|
|
419
|
-
d: function d(t, r) {
|
|
420
|
-
return i = t, c = 0, u = e, G.n = r, a;
|
|
421
|
-
}
|
|
422
|
-
};
|
|
423
|
-
function d(r, n) {
|
|
424
|
-
for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {
|
|
425
|
-
var o,
|
|
426
|
-
i = p[t],
|
|
427
|
-
d = G.p,
|
|
428
|
-
l = i[2];
|
|
429
|
-
r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));
|
|
430
|
-
}
|
|
431
|
-
if (o || r > 1) return a;
|
|
432
|
-
throw y = true, n;
|
|
433
|
-
}
|
|
434
|
-
return function (o, p, l) {
|
|
435
|
-
if (f > 1) throw TypeError("Generator is already running");
|
|
436
|
-
for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {
|
|
437
|
-
i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);
|
|
438
|
-
try {
|
|
439
|
-
if (f = 2, i) {
|
|
440
|
-
if (c || (o = "next"), t = i[o]) {
|
|
441
|
-
if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object");
|
|
442
|
-
if (!t.done) return t;
|
|
443
|
-
u = t.value, c < 2 && (c = 0);
|
|
444
|
-
} else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1);
|
|
445
|
-
i = e;
|
|
446
|
-
} else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;
|
|
447
|
-
} catch (t) {
|
|
448
|
-
i = e, c = 1, u = t;
|
|
449
|
-
} finally {
|
|
450
|
-
f = 1;
|
|
451
|
-
}
|
|
452
|
-
}
|
|
453
|
-
return {
|
|
454
|
-
value: t,
|
|
455
|
-
done: y
|
|
456
|
-
};
|
|
457
|
-
};
|
|
458
|
-
}(r, o, i), true), u;
|
|
459
|
-
}
|
|
460
|
-
var a = {};
|
|
461
|
-
function Generator() {}
|
|
462
|
-
function GeneratorFunction() {}
|
|
463
|
-
function GeneratorFunctionPrototype() {}
|
|
464
|
-
t = Object.getPrototypeOf;
|
|
465
|
-
var c = [][n] ? t(t([][n]())) : (regeneratorDefine(t = {}, n, function () {
|
|
466
|
-
return this;
|
|
467
|
-
}), t),
|
|
468
|
-
u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);
|
|
469
|
-
function f(e) {
|
|
470
|
-
return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e;
|
|
471
|
-
}
|
|
472
|
-
return GeneratorFunction.prototype = GeneratorFunctionPrototype, regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), regeneratorDefine(u), regeneratorDefine(u, o, "Generator"), regeneratorDefine(u, n, function () {
|
|
473
|
-
return this;
|
|
474
|
-
}), regeneratorDefine(u, "toString", function () {
|
|
475
|
-
return "[object Generator]";
|
|
476
|
-
}), (module.exports = _regenerator = function _regenerator() {
|
|
477
|
-
return {
|
|
478
|
-
w: i,
|
|
479
|
-
m: f
|
|
480
|
-
};
|
|
481
|
-
}, module.exports.__esModule = true, module.exports["default"] = module.exports)();
|
|
482
|
-
}
|
|
483
|
-
module.exports = _regenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
484
|
-
} (regenerator$1));
|
|
485
|
-
return regenerator$1.exports;
|
|
486
|
-
}
|
|
487
|
-
|
|
488
|
-
var regeneratorAsync = {exports: {}};
|
|
489
|
-
|
|
490
|
-
var regeneratorAsyncGen = {exports: {}};
|
|
491
|
-
|
|
492
|
-
var regeneratorAsyncIterator = {exports: {}};
|
|
493
|
-
|
|
494
|
-
var hasRequiredRegeneratorAsyncIterator;
|
|
495
|
-
|
|
496
|
-
function requireRegeneratorAsyncIterator () {
|
|
497
|
-
if (hasRequiredRegeneratorAsyncIterator) return regeneratorAsyncIterator.exports;
|
|
498
|
-
hasRequiredRegeneratorAsyncIterator = 1;
|
|
499
|
-
(function (module) {
|
|
500
|
-
var OverloadYield = requireOverloadYield();
|
|
501
|
-
var regeneratorDefine = requireRegeneratorDefine();
|
|
502
|
-
function AsyncIterator(t, e) {
|
|
503
|
-
function n(r, o, i, f) {
|
|
504
|
-
try {
|
|
505
|
-
var c = t[r](o),
|
|
506
|
-
u = c.value;
|
|
507
|
-
return u instanceof OverloadYield ? e.resolve(u.v).then(function (t) {
|
|
508
|
-
n("next", t, i, f);
|
|
509
|
-
}, function (t) {
|
|
510
|
-
n("throw", t, i, f);
|
|
511
|
-
}) : e.resolve(u).then(function (t) {
|
|
512
|
-
c.value = t, i(c);
|
|
513
|
-
}, function (t) {
|
|
514
|
-
return n("throw", t, i, f);
|
|
515
|
-
});
|
|
516
|
-
} catch (t) {
|
|
517
|
-
f(t);
|
|
518
|
-
}
|
|
519
|
-
}
|
|
520
|
-
var r;
|
|
521
|
-
this.next || (regeneratorDefine(AsyncIterator.prototype), regeneratorDefine(AsyncIterator.prototype, "function" == typeof Symbol && Symbol.asyncIterator || "@asyncIterator", function () {
|
|
522
|
-
return this;
|
|
523
|
-
})), regeneratorDefine(this, "_invoke", function (t, o, i) {
|
|
524
|
-
function f() {
|
|
525
|
-
return new e(function (e, r) {
|
|
526
|
-
n(t, i, e, r);
|
|
527
|
-
});
|
|
528
|
-
}
|
|
529
|
-
return r = r ? r.then(f, f) : f();
|
|
530
|
-
}, true);
|
|
531
|
-
}
|
|
532
|
-
module.exports = AsyncIterator, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
533
|
-
} (regeneratorAsyncIterator));
|
|
534
|
-
return regeneratorAsyncIterator.exports;
|
|
535
|
-
}
|
|
536
|
-
|
|
537
|
-
var hasRequiredRegeneratorAsyncGen;
|
|
538
|
-
|
|
539
|
-
function requireRegeneratorAsyncGen () {
|
|
540
|
-
if (hasRequiredRegeneratorAsyncGen) return regeneratorAsyncGen.exports;
|
|
541
|
-
hasRequiredRegeneratorAsyncGen = 1;
|
|
542
|
-
(function (module) {
|
|
543
|
-
var regenerator = requireRegenerator$1();
|
|
544
|
-
var regeneratorAsyncIterator = requireRegeneratorAsyncIterator();
|
|
545
|
-
function _regeneratorAsyncGen(r, e, t, o, n) {
|
|
546
|
-
return new regeneratorAsyncIterator(regenerator().w(r, e, t, o), n || Promise);
|
|
547
|
-
}
|
|
548
|
-
module.exports = _regeneratorAsyncGen, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
549
|
-
} (regeneratorAsyncGen));
|
|
550
|
-
return regeneratorAsyncGen.exports;
|
|
551
|
-
}
|
|
552
|
-
|
|
553
|
-
var hasRequiredRegeneratorAsync;
|
|
554
|
-
|
|
555
|
-
function requireRegeneratorAsync () {
|
|
556
|
-
if (hasRequiredRegeneratorAsync) return regeneratorAsync.exports;
|
|
557
|
-
hasRequiredRegeneratorAsync = 1;
|
|
558
|
-
(function (module) {
|
|
559
|
-
var regeneratorAsyncGen = requireRegeneratorAsyncGen();
|
|
560
|
-
function _regeneratorAsync(n, e, r, t, o) {
|
|
561
|
-
var a = regeneratorAsyncGen(n, e, r, t, o);
|
|
562
|
-
return a.next().then(function (n) {
|
|
563
|
-
return n.done ? n.value : a.next();
|
|
564
|
-
});
|
|
565
|
-
}
|
|
566
|
-
module.exports = _regeneratorAsync, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
567
|
-
} (regeneratorAsync));
|
|
568
|
-
return regeneratorAsync.exports;
|
|
569
|
-
}
|
|
570
|
-
|
|
571
|
-
var regeneratorKeys = {exports: {}};
|
|
572
|
-
|
|
573
|
-
var hasRequiredRegeneratorKeys;
|
|
574
|
-
|
|
575
|
-
function requireRegeneratorKeys () {
|
|
576
|
-
if (hasRequiredRegeneratorKeys) return regeneratorKeys.exports;
|
|
577
|
-
hasRequiredRegeneratorKeys = 1;
|
|
578
|
-
(function (module) {
|
|
579
|
-
function _regeneratorKeys(e) {
|
|
580
|
-
var n = Object(e),
|
|
581
|
-
r = [];
|
|
582
|
-
for (var t in n) r.unshift(t);
|
|
583
|
-
return function e() {
|
|
584
|
-
for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = false, e;
|
|
585
|
-
return e.done = true, e;
|
|
586
|
-
};
|
|
587
|
-
}
|
|
588
|
-
module.exports = _regeneratorKeys, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
589
|
-
} (regeneratorKeys));
|
|
590
|
-
return regeneratorKeys.exports;
|
|
591
|
-
}
|
|
592
|
-
|
|
593
|
-
var regeneratorValues = {exports: {}};
|
|
594
|
-
|
|
595
|
-
var _typeof = {exports: {}};
|
|
596
|
-
|
|
597
|
-
var hasRequired_typeof;
|
|
598
|
-
|
|
599
|
-
function require_typeof () {
|
|
600
|
-
if (hasRequired_typeof) return _typeof.exports;
|
|
601
|
-
hasRequired_typeof = 1;
|
|
602
|
-
(function (module) {
|
|
603
|
-
function _typeof(o) {
|
|
604
|
-
"@babel/helpers - typeof";
|
|
605
|
-
|
|
606
|
-
return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
607
|
-
return typeof o;
|
|
608
|
-
} : function (o) {
|
|
609
|
-
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
610
|
-
}, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o);
|
|
611
|
-
}
|
|
612
|
-
module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
613
|
-
} (_typeof));
|
|
614
|
-
return _typeof.exports;
|
|
615
|
-
}
|
|
616
|
-
|
|
617
|
-
var hasRequiredRegeneratorValues;
|
|
618
|
-
|
|
619
|
-
function requireRegeneratorValues () {
|
|
620
|
-
if (hasRequiredRegeneratorValues) return regeneratorValues.exports;
|
|
621
|
-
hasRequiredRegeneratorValues = 1;
|
|
622
|
-
(function (module) {
|
|
623
|
-
var _typeof = require_typeof()["default"];
|
|
624
|
-
function _regeneratorValues(e) {
|
|
625
|
-
if (null != e) {
|
|
626
|
-
var t = e["function" == typeof Symbol && Symbol.iterator || "@@iterator"],
|
|
627
|
-
r = 0;
|
|
628
|
-
if (t) return t.call(e);
|
|
629
|
-
if ("function" == typeof e.next) return e;
|
|
630
|
-
if (!isNaN(e.length)) return {
|
|
631
|
-
next: function next() {
|
|
632
|
-
return e && r >= e.length && (e = void 0), {
|
|
633
|
-
value: e && e[r++],
|
|
634
|
-
done: !e
|
|
635
|
-
};
|
|
636
|
-
}
|
|
637
|
-
};
|
|
638
|
-
}
|
|
639
|
-
throw new TypeError(_typeof(e) + " is not iterable");
|
|
640
|
-
}
|
|
641
|
-
module.exports = _regeneratorValues, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
642
|
-
} (regeneratorValues));
|
|
643
|
-
return regeneratorValues.exports;
|
|
644
|
-
}
|
|
645
|
-
|
|
646
|
-
var hasRequiredRegeneratorRuntime;
|
|
647
|
-
|
|
648
|
-
function requireRegeneratorRuntime () {
|
|
649
|
-
if (hasRequiredRegeneratorRuntime) return regeneratorRuntime$1.exports;
|
|
650
|
-
hasRequiredRegeneratorRuntime = 1;
|
|
651
|
-
(function (module) {
|
|
652
|
-
var OverloadYield = requireOverloadYield();
|
|
653
|
-
var regenerator = requireRegenerator$1();
|
|
654
|
-
var regeneratorAsync = requireRegeneratorAsync();
|
|
655
|
-
var regeneratorAsyncGen = requireRegeneratorAsyncGen();
|
|
656
|
-
var regeneratorAsyncIterator = requireRegeneratorAsyncIterator();
|
|
657
|
-
var regeneratorKeys = requireRegeneratorKeys();
|
|
658
|
-
var regeneratorValues = requireRegeneratorValues();
|
|
659
|
-
function _regeneratorRuntime() {
|
|
660
|
-
|
|
661
|
-
var r = regenerator(),
|
|
662
|
-
e = r.m(_regeneratorRuntime),
|
|
663
|
-
t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor;
|
|
664
|
-
function n(r) {
|
|
665
|
-
var e = "function" == typeof r && r.constructor;
|
|
666
|
-
return !!e && (e === t || "GeneratorFunction" === (e.displayName || e.name));
|
|
667
|
-
}
|
|
668
|
-
var o = {
|
|
669
|
-
"throw": 1,
|
|
670
|
-
"return": 2,
|
|
671
|
-
"break": 3,
|
|
672
|
-
"continue": 3
|
|
673
|
-
};
|
|
674
|
-
function a(r) {
|
|
675
|
-
var e, t;
|
|
676
|
-
return function (n) {
|
|
677
|
-
e || (e = {
|
|
678
|
-
stop: function stop() {
|
|
679
|
-
return t(n.a, 2);
|
|
680
|
-
},
|
|
681
|
-
"catch": function _catch() {
|
|
682
|
-
return n.v;
|
|
683
|
-
},
|
|
684
|
-
abrupt: function abrupt(r, e) {
|
|
685
|
-
return t(n.a, o[r], e);
|
|
686
|
-
},
|
|
687
|
-
delegateYield: function delegateYield(r, o, a) {
|
|
688
|
-
return e.resultName = o, t(n.d, regeneratorValues(r), a);
|
|
689
|
-
},
|
|
690
|
-
finish: function finish(r) {
|
|
691
|
-
return t(n.f, r);
|
|
692
|
-
}
|
|
693
|
-
}, t = function t(r, _t, o) {
|
|
694
|
-
n.p = e.prev, n.n = e.next;
|
|
695
|
-
try {
|
|
696
|
-
return r(_t, o);
|
|
697
|
-
} finally {
|
|
698
|
-
e.next = n.n;
|
|
699
|
-
}
|
|
700
|
-
}), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n;
|
|
701
|
-
try {
|
|
702
|
-
return r.call(this, e);
|
|
703
|
-
} finally {
|
|
704
|
-
n.p = e.prev, n.n = e.next;
|
|
705
|
-
}
|
|
706
|
-
};
|
|
707
|
-
}
|
|
708
|
-
return (module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
|
|
709
|
-
return {
|
|
710
|
-
wrap: function wrap(e, t, n, o) {
|
|
711
|
-
return r.w(a(e), t, n, o && o.reverse());
|
|
712
|
-
},
|
|
713
|
-
isGeneratorFunction: n,
|
|
714
|
-
mark: r.m,
|
|
715
|
-
awrap: function awrap(r, e) {
|
|
716
|
-
return new OverloadYield(r, e);
|
|
717
|
-
},
|
|
718
|
-
AsyncIterator: regeneratorAsyncIterator,
|
|
719
|
-
async: function async(r, e, t, o, u) {
|
|
720
|
-
return (n(e) ? regeneratorAsyncGen : regeneratorAsync)(a(r), e, t, o, u);
|
|
721
|
-
},
|
|
722
|
-
keys: regeneratorKeys,
|
|
723
|
-
values: regeneratorValues
|
|
724
|
-
};
|
|
725
|
-
}, module.exports.__esModule = true, module.exports["default"] = module.exports)();
|
|
726
|
-
}
|
|
727
|
-
module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
728
|
-
} (regeneratorRuntime$1));
|
|
729
|
-
return regeneratorRuntime$1.exports;
|
|
730
|
-
}
|
|
731
|
-
|
|
732
|
-
var regenerator;
|
|
733
|
-
var hasRequiredRegenerator;
|
|
734
|
-
|
|
735
|
-
function requireRegenerator () {
|
|
736
|
-
if (hasRequiredRegenerator) return regenerator;
|
|
737
|
-
hasRequiredRegenerator = 1;
|
|
738
|
-
// TODO(Babel 8): Remove this file.
|
|
739
|
-
|
|
740
|
-
var runtime = requireRegeneratorRuntime()();
|
|
741
|
-
regenerator = runtime;
|
|
742
|
-
|
|
743
|
-
// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
|
|
744
|
-
try {
|
|
745
|
-
regeneratorRuntime = runtime;
|
|
746
|
-
} catch (accidentalStrictMode) {
|
|
747
|
-
if (typeof globalThis === "object") {
|
|
748
|
-
globalThis.regeneratorRuntime = runtime;
|
|
749
|
-
} else {
|
|
750
|
-
Function("r", "regeneratorRuntime = r")(runtime);
|
|
751
|
-
}
|
|
752
|
-
}
|
|
753
|
-
return regenerator;
|
|
754
|
-
}
|
|
755
|
-
|
|
756
|
-
var regeneratorExports = requireRegenerator();
|
|
757
|
-
var _regeneratorRuntime = /*@__PURE__*/getDefaultExportFromCjs(regeneratorExports);
|
|
758
|
-
|
|
759
|
-
var _excluded = ["router", "fallback"];
|
|
760
|
-
// Dynamically import providers to enable code-splitting
|
|
761
|
-
var NextFathomProviderAppLazy = /*#__PURE__*/lazy(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
762
|
-
return _regeneratorRuntime.wrap(function (_context) {
|
|
763
|
-
while (1) switch (_context.prev = _context.next) {
|
|
764
|
-
case 0:
|
|
765
|
-
_context.next = 1;
|
|
766
|
-
return Promise.resolve().then(function () { return NextFathomProviderApp$1; });
|
|
767
|
-
case 1:
|
|
768
|
-
return _context.abrupt("return", _context.sent);
|
|
769
|
-
case 2:
|
|
770
|
-
case "end":
|
|
771
|
-
return _context.stop();
|
|
772
|
-
}
|
|
773
|
-
}, _callee);
|
|
774
|
-
})));
|
|
775
|
-
var NextFathomProviderPagesLazy = /*#__PURE__*/lazy(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
776
|
-
return _regeneratorRuntime.wrap(function (_context2) {
|
|
777
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
778
|
-
case 0:
|
|
779
|
-
_context2.next = 1;
|
|
780
|
-
return Promise.resolve().then(function () { return NextFathomProviderPages$1; });
|
|
781
|
-
case 1:
|
|
782
|
-
return _context2.abrupt("return", _context2.sent);
|
|
783
|
-
case 2:
|
|
784
|
-
case "end":
|
|
785
|
-
return _context2.stop();
|
|
786
|
-
}
|
|
787
|
-
}, _callee2);
|
|
788
|
-
})));
|
|
789
|
-
|
|
790
|
-
/**
|
|
791
|
-
* Unified provider component that conditionally renders the appropriate
|
|
792
|
-
* Next.js router provider based on the `router` prop.
|
|
793
|
-
* Providers are dynamically loaded to avoid bundling both router types.
|
|
794
|
-
*
|
|
795
|
-
* @example
|
|
796
|
-
* ```tsx
|
|
797
|
-
* // App Router (default)
|
|
798
|
-
* <NextFathomProvider siteId="YOUR_SITE_ID" router="app">
|
|
799
|
-
* <App>{children}</App>
|
|
800
|
-
* </NextFathomProvider>
|
|
801
|
-
*
|
|
802
|
-
* // Pages Router
|
|
803
|
-
* <NextFathomProvider siteId="YOUR_SITE_ID" router="pages">
|
|
804
|
-
* <App>{children}</App>
|
|
805
|
-
* </NextFathomProvider>
|
|
806
|
-
* ```
|
|
807
|
-
*/
|
|
808
|
-
var NextFathomProvider = function NextFathomProvider(_ref3) {
|
|
809
|
-
var _ref3$router = _ref3.router,
|
|
810
|
-
router = _ref3$router === void 0 ? 'app' : _ref3$router,
|
|
811
|
-
_ref3$fallback = _ref3.fallback,
|
|
812
|
-
fallback = _ref3$fallback === void 0 ? null : _ref3$fallback,
|
|
813
|
-
props = _objectWithoutProperties(_ref3, _excluded);
|
|
814
|
-
var Provider = useMemo(function () {
|
|
815
|
-
return router === 'pages' ? NextFathomProviderPagesLazy : NextFathomProviderAppLazy;
|
|
816
|
-
}, [router]);
|
|
817
|
-
return /*#__PURE__*/React.createElement(Suspense, {
|
|
818
|
-
fallback: fallback
|
|
819
|
-
}, /*#__PURE__*/React.createElement(Provider, props));
|
|
820
|
-
};
|
|
821
|
-
NextFathomProvider.displayName = 'NextFathomProvider';
|
|
822
|
-
|
|
269
|
+
var _excluded$1 = ["disableAutoTrack"];
|
|
823
270
|
/**
|
|
824
271
|
* Higher-order component that wraps your Next.js Pages Router app with FathomProvider
|
|
272
|
+
* and automatically tracks pageviews using NextFathomTrackViewPages.
|
|
825
273
|
*
|
|
826
274
|
* @example
|
|
827
275
|
* ```tsx
|
|
@@ -842,14 +290,22 @@ NextFathomProvider.displayName = 'NextFathomProvider';
|
|
|
842
290
|
*/
|
|
843
291
|
var withPagesRouter = function withPagesRouter(Component, providerProps) {
|
|
844
292
|
var WithPagesRouter = function WithPagesRouter(props) {
|
|
845
|
-
|
|
293
|
+
// Extract disableAutoTrack for the tracking component
|
|
294
|
+
var _ref = providerProps !== null && providerProps !== void 0 ? providerProps : {},
|
|
295
|
+
disableAutoTrack = _ref.disableAutoTrack,
|
|
296
|
+
fathomProviderProps = _objectWithoutProperties(_ref, _excluded$1);
|
|
297
|
+
return /*#__PURE__*/React.createElement(FathomProvider, fathomProviderProps, /*#__PURE__*/React.createElement(NextFathomTrackViewPages, {
|
|
298
|
+
disableAutoTrack: disableAutoTrack
|
|
299
|
+
}), /*#__PURE__*/React.createElement(Component, props));
|
|
846
300
|
};
|
|
847
301
|
WithPagesRouter.displayName = "withPagesRouter(".concat(Component.displayName || Component.name || 'Component', ")");
|
|
848
302
|
return WithPagesRouter;
|
|
849
303
|
};
|
|
850
304
|
|
|
305
|
+
var _excluded = ["disableAutoTrack"];
|
|
851
306
|
/**
|
|
852
307
|
* Higher-order component that wraps your Next.js App Router app with FathomProvider
|
|
308
|
+
* and automatically tracks pageviews using NextFathomTrackViewApp.
|
|
853
309
|
*
|
|
854
310
|
* @example
|
|
855
311
|
* ```tsx
|
|
@@ -874,12 +330,18 @@ var withPagesRouter = function withPagesRouter(Component, providerProps) {
|
|
|
874
330
|
*/
|
|
875
331
|
var withAppRouter = function withAppRouter(Component, providerProps) {
|
|
876
332
|
var WithAppRouter = function WithAppRouter(props) {
|
|
877
|
-
|
|
333
|
+
// Extract disableAutoTrack for the tracking component
|
|
334
|
+
var _ref = providerProps !== null && providerProps !== void 0 ? providerProps : {},
|
|
335
|
+
disableAutoTrack = _ref.disableAutoTrack,
|
|
336
|
+
fathomProviderProps = _objectWithoutProperties(_ref, _excluded);
|
|
337
|
+
return /*#__PURE__*/React.createElement(FathomProvider, fathomProviderProps, /*#__PURE__*/React.createElement(NextFathomTrackViewApp, {
|
|
338
|
+
disableAutoTrack: disableAutoTrack
|
|
339
|
+
}), /*#__PURE__*/React.createElement(Component, props));
|
|
878
340
|
};
|
|
879
341
|
WithAppRouter.displayName = "withAppRouter(".concat(Component.displayName || Component.name || 'Component', ")");
|
|
880
342
|
return WithAppRouter;
|
|
881
343
|
};
|
|
882
344
|
|
|
883
|
-
export {
|
|
345
|
+
export { NextFathomTrackViewApp, NextFathomTrackViewPages, withAppRouter, withPagesRouter };
|
|
884
346
|
/* Copyright 2025 - Ryan Hefner <hi@ryanhefner.com> (https://www.ryanhefner.com) */
|
|
885
347
|
//# sourceMappingURL=index.js.map
|