react-fathom 0.1.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.
- package/LICENSE +21 -0
- package/README.md +199 -0
- package/dist/cjs/index.cjs +410 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/next/index.cjs +910 -0
- package/dist/cjs/next/index.cjs.map +1 -0
- package/dist/es/index.js +381 -0
- package/dist/es/index.js.map +1 -0
- package/dist/es/next/index.js +885 -0
- package/dist/es/next/index.js.map +1 -0
- package/dist/react-fathom.js +413 -0
- package/dist/react-fathom.js.map +1 -0
- package/dist/react-fathom.min.js +3 -0
- package/dist/react-fathom.min.js.map +1 -0
- package/package.json +127 -0
- package/src/FathomContext.tsx +5 -0
- package/src/FathomProvider.test.tsx +532 -0
- package/src/FathomProvider.tsx +122 -0
- package/src/components/TrackClick.test.tsx +191 -0
- package/src/components/TrackClick.tsx +62 -0
- package/src/components/TrackPageview.test.tsx +111 -0
- package/src/components/TrackPageview.tsx +36 -0
- package/src/components/TrackVisible.test.tsx +311 -0
- package/src/components/TrackVisible.tsx +105 -0
- package/src/components/index.ts +3 -0
- package/src/hooks/index.ts +4 -0
- package/src/hooks/useFathom.test.tsx +51 -0
- package/src/hooks/useFathom.ts +11 -0
- package/src/hooks/useTrackOnClick.test.tsx +197 -0
- package/src/hooks/useTrackOnClick.ts +65 -0
- package/src/hooks/useTrackOnMount.test.tsx +79 -0
- package/src/hooks/useTrackOnMount.ts +24 -0
- package/src/hooks/useTrackOnVisible.test.tsx +313 -0
- package/src/hooks/useTrackOnVisible.ts +99 -0
- package/src/index.ts +4 -0
- package/src/next/NextFathomProvider.test.tsx +131 -0
- package/src/next/NextFathomProvider.tsx +62 -0
- package/src/next/NextFathomProviderApp.test.tsx +308 -0
- package/src/next/NextFathomProviderApp.tsx +106 -0
- package/src/next/NextFathomProviderPages.test.tsx +330 -0
- package/src/next/NextFathomProviderPages.tsx +112 -0
- package/src/next/compositions/withAppRouter.test.tsx +113 -0
- package/src/next/compositions/withAppRouter.tsx +48 -0
- package/src/next/compositions/withPagesRouter.test.tsx +113 -0
- package/src/next/compositions/withPagesRouter.tsx +44 -0
- package/src/next/index.ts +7 -0
- package/src/next/types.ts +19 -0
- package/src/types.ts +37 -0
- package/types/FathomContext.d.ts +3 -0
- package/types/FathomContext.d.ts.map +1 -0
- package/types/FathomProvider.d.ts +5 -0
- package/types/FathomProvider.d.ts.map +1 -0
- package/types/components/TrackClick.d.ts +39 -0
- package/types/components/TrackClick.d.ts.map +1 -0
- package/types/components/TrackPageview.d.ts +21 -0
- package/types/components/TrackPageview.d.ts.map +1 -0
- package/types/components/TrackVisible.d.ts +39 -0
- package/types/components/TrackVisible.d.ts.map +1 -0
- package/types/components/index.d.ts +4 -0
- package/types/components/index.d.ts.map +1 -0
- package/types/hooks/index.d.ts +5 -0
- package/types/hooks/index.d.ts.map +1 -0
- package/types/hooks/useFathom.d.ts +6 -0
- package/types/hooks/useFathom.d.ts.map +1 -0
- package/types/hooks/useTrackOnClick.d.ts +39 -0
- package/types/hooks/useTrackOnClick.d.ts.map +1 -0
- package/types/hooks/useTrackOnMount.d.ts +14 -0
- package/types/hooks/useTrackOnMount.d.ts.map +1 -0
- package/types/hooks/useTrackOnVisible.d.ts +43 -0
- package/types/hooks/useTrackOnVisible.d.ts.map +1 -0
- package/types/index.d.ts +5 -0
- package/types/index.d.ts.map +1 -0
- package/types/next/AppRouterProvider.d.ts +7 -0
- package/types/next/AppRouterProvider.d.ts.map +1 -0
- package/types/next/NextFathomProvider.d.ts +34 -0
- package/types/next/NextFathomProvider.d.ts.map +1 -0
- package/types/next/NextFathomProviderApp.d.ts +6 -0
- package/types/next/NextFathomProviderApp.d.ts.map +1 -0
- package/types/next/NextFathomProviderPages.d.ts +6 -0
- package/types/next/NextFathomProviderPages.d.ts.map +1 -0
- package/types/next/PagesRouterProvider.d.ts +7 -0
- package/types/next/PagesRouterProvider.d.ts.map +1 -0
- package/types/next/compositions/withAppRouter.d.ts +29 -0
- package/types/next/compositions/withAppRouter.d.ts.map +1 -0
- package/types/next/compositions/withPagesRouter.d.ts +25 -0
- package/types/next/compositions/withPagesRouter.d.ts.map +1 -0
- package/types/next/index.d.ts +6 -0
- package/types/next/index.d.ts.map +1 -0
- package/types/next/types.d.ts +16 -0
- package/types/next/types.d.ts.map +1 -0
- package/types/test-setup.d.ts +2 -0
- package/types/test-setup.d.ts.map +1 -0
- package/types/types.d.ts +34 -0
- package/types/types.d.ts.map +1 -0
- package/types/useFathom.d.ts +7 -0
- package/types/useFathom.d.ts.map +1 -0
|
@@ -0,0 +1,885 @@
|
|
|
1
|
+
/*! react-fathom - 0.1.0 !*/
|
|
2
|
+
import React, { createContext, useContext, useMemo, useCallback, useEffect, useRef, lazy, Suspense } from 'react';
|
|
3
|
+
import * as Fathom from 'fathom-client';
|
|
4
|
+
import { useRouter } from 'next/router';
|
|
5
|
+
import { usePathname, useSearchParams } from 'next/navigation';
|
|
6
|
+
|
|
7
|
+
function _typeof$1(o) {
|
|
8
|
+
"@babel/helpers - typeof";
|
|
9
|
+
|
|
10
|
+
return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
11
|
+
return typeof o;
|
|
12
|
+
} : function (o) {
|
|
13
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
14
|
+
}, _typeof$1(o);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function toPrimitive(t, r) {
|
|
18
|
+
if ("object" != _typeof$1(t) || !t) return t;
|
|
19
|
+
var e = t[Symbol.toPrimitive];
|
|
20
|
+
if (void 0 !== e) {
|
|
21
|
+
var i = e.call(t, r);
|
|
22
|
+
if ("object" != _typeof$1(i)) return i;
|
|
23
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
24
|
+
}
|
|
25
|
+
return ("string" === r ? String : Number)(t);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function toPropertyKey(t) {
|
|
29
|
+
var i = toPrimitive(t, "string");
|
|
30
|
+
return "symbol" == _typeof$1(i) ? i : i + "";
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function _defineProperty(e, r, t) {
|
|
34
|
+
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
35
|
+
value: t,
|
|
36
|
+
enumerable: true,
|
|
37
|
+
configurable: true,
|
|
38
|
+
writable: true
|
|
39
|
+
}) : e[r] = t, e;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
var FathomContext = /*#__PURE__*/createContext({});
|
|
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; }
|
|
46
|
+
var FathomProvider = function FathomProvider(_ref) {
|
|
47
|
+
var children = _ref.children,
|
|
48
|
+
providedClient = _ref.client,
|
|
49
|
+
clientOptions = _ref.clientOptions;
|
|
50
|
+
_ref.disableDefaultTrack;
|
|
51
|
+
var siteId = _ref.siteId,
|
|
52
|
+
providedDefaultPageviewOptions = _ref.defaultPageviewOptions,
|
|
53
|
+
providedDefaultEventOptions = _ref.defaultEventOptions;
|
|
54
|
+
// Read parent context if it exists
|
|
55
|
+
var parentContext = useContext(FathomContext);
|
|
56
|
+
|
|
57
|
+
// Use provided client or fall back to parent client or default Fathom
|
|
58
|
+
var client = useMemo(function () {
|
|
59
|
+
var _ref2;
|
|
60
|
+
return (_ref2 = providedClient !== null && providedClient !== void 0 ? providedClient : parentContext.client) !== null && _ref2 !== void 0 ? _ref2 : Fathom;
|
|
61
|
+
}, [providedClient, parentContext.client]);
|
|
62
|
+
|
|
63
|
+
// Merge defaultPageviewOptions: provided > parent > undefined
|
|
64
|
+
var defaultPageviewOptions = useMemo(function () {
|
|
65
|
+
return providedDefaultPageviewOptions !== null && providedDefaultPageviewOptions !== void 0 ? providedDefaultPageviewOptions : parentContext.defaultPageviewOptions;
|
|
66
|
+
}, [providedDefaultPageviewOptions, parentContext.defaultPageviewOptions]);
|
|
67
|
+
|
|
68
|
+
// Merge defaultEventOptions: provided > parent > undefined
|
|
69
|
+
var defaultEventOptions = useMemo(function () {
|
|
70
|
+
return providedDefaultEventOptions !== null && providedDefaultEventOptions !== void 0 ? providedDefaultEventOptions : parentContext.defaultEventOptions;
|
|
71
|
+
}, [providedDefaultEventOptions, parentContext.defaultEventOptions]);
|
|
72
|
+
var blockTrackingForMe = useCallback(function () {
|
|
73
|
+
client.blockTrackingForMe();
|
|
74
|
+
}, [client]);
|
|
75
|
+
var enableTrackingForMe = useCallback(function () {
|
|
76
|
+
client.enableTrackingForMe();
|
|
77
|
+
}, [client]);
|
|
78
|
+
var isTrackingEnabled = useCallback(function () {
|
|
79
|
+
var _client$isTrackingEna;
|
|
80
|
+
return (_client$isTrackingEna = client.isTrackingEnabled()) !== null && _client$isTrackingEna !== void 0 ? _client$isTrackingEna : false;
|
|
81
|
+
}, [client]);
|
|
82
|
+
var load = useCallback(function (siteId, clientOptions) {
|
|
83
|
+
client.load(siteId, clientOptions);
|
|
84
|
+
}, [client]);
|
|
85
|
+
var setSite = useCallback(function (siteId) {
|
|
86
|
+
client.setSite(siteId);
|
|
87
|
+
}, [client]);
|
|
88
|
+
var trackEvent = useCallback(function (category, options) {
|
|
89
|
+
client.trackEvent(category, _objectSpread$2(_objectSpread$2({}, defaultEventOptions), options));
|
|
90
|
+
}, [client, defaultEventOptions]);
|
|
91
|
+
var trackPageview = useCallback(function (options) {
|
|
92
|
+
client.trackPageview(_objectSpread$2(_objectSpread$2({}, defaultPageviewOptions), options));
|
|
93
|
+
}, [client, defaultPageviewOptions]);
|
|
94
|
+
var trackGoal = useCallback(function (code, cents) {
|
|
95
|
+
client.trackGoal(code, cents);
|
|
96
|
+
}, [client]);
|
|
97
|
+
useEffect(function () {
|
|
98
|
+
if (siteId !== undefined) {
|
|
99
|
+
load(siteId, clientOptions);
|
|
100
|
+
}
|
|
101
|
+
}, [clientOptions, load, siteId]);
|
|
102
|
+
return /*#__PURE__*/React.createElement(FathomContext.Provider, {
|
|
103
|
+
value: {
|
|
104
|
+
blockTrackingForMe: blockTrackingForMe,
|
|
105
|
+
enableTrackingForMe: enableTrackingForMe,
|
|
106
|
+
isTrackingEnabled: isTrackingEnabled,
|
|
107
|
+
load: load,
|
|
108
|
+
setSite: setSite,
|
|
109
|
+
trackEvent: trackEvent,
|
|
110
|
+
trackGoal: trackGoal,
|
|
111
|
+
trackPageview: trackPageview,
|
|
112
|
+
client: client,
|
|
113
|
+
defaultPageviewOptions: defaultPageviewOptions,
|
|
114
|
+
defaultEventOptions: defaultEventOptions
|
|
115
|
+
}
|
|
116
|
+
}, children);
|
|
117
|
+
};
|
|
118
|
+
FathomProvider.displayName = 'FathomProvider';
|
|
119
|
+
|
|
120
|
+
var useFathom = function useFathom() {
|
|
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
|
+
|
|
823
|
+
/**
|
|
824
|
+
* Higher-order component that wraps your Next.js Pages Router app with FathomProvider
|
|
825
|
+
*
|
|
826
|
+
* @example
|
|
827
|
+
* ```tsx
|
|
828
|
+
* // pages/_app.tsx
|
|
829
|
+
* import { withPagesRouter } from 'react-fathom/next'
|
|
830
|
+
*
|
|
831
|
+
* function MyApp({ Component, pageProps }) {
|
|
832
|
+
* return <Component {...pageProps} />
|
|
833
|
+
* }
|
|
834
|
+
*
|
|
835
|
+
* export default withPagesRouter(MyApp, {
|
|
836
|
+
* siteId: 'YOUR_SITE_ID',
|
|
837
|
+
* clientOptions: {
|
|
838
|
+
* spa: 'auto',
|
|
839
|
+
* },
|
|
840
|
+
* })
|
|
841
|
+
* ```
|
|
842
|
+
*/
|
|
843
|
+
var withPagesRouter = function withPagesRouter(Component, providerProps) {
|
|
844
|
+
var WithPagesRouter = function WithPagesRouter(props) {
|
|
845
|
+
return /*#__PURE__*/React.createElement(NextFathomProviderPages, providerProps, /*#__PURE__*/React.createElement(Component, props));
|
|
846
|
+
};
|
|
847
|
+
WithPagesRouter.displayName = "withPagesRouter(".concat(Component.displayName || Component.name || 'Component', ")");
|
|
848
|
+
return WithPagesRouter;
|
|
849
|
+
};
|
|
850
|
+
|
|
851
|
+
/**
|
|
852
|
+
* Higher-order component that wraps your Next.js App Router app with FathomProvider
|
|
853
|
+
*
|
|
854
|
+
* @example
|
|
855
|
+
* ```tsx
|
|
856
|
+
* // app/layout.tsx
|
|
857
|
+
* import { withAppRouter } from 'react-fathom/next'
|
|
858
|
+
*
|
|
859
|
+
* function RootLayout({ children }) {
|
|
860
|
+
* return (
|
|
861
|
+
* <html>
|
|
862
|
+
* <body>{children}</body>
|
|
863
|
+
* </html>
|
|
864
|
+
* )
|
|
865
|
+
* }
|
|
866
|
+
*
|
|
867
|
+
* export default withAppRouter(RootLayout, {
|
|
868
|
+
* siteId: 'YOUR_SITE_ID',
|
|
869
|
+
* clientOptions: {
|
|
870
|
+
* spa: 'auto',
|
|
871
|
+
* },
|
|
872
|
+
* })
|
|
873
|
+
* ```
|
|
874
|
+
*/
|
|
875
|
+
var withAppRouter = function withAppRouter(Component, providerProps) {
|
|
876
|
+
var WithAppRouter = function WithAppRouter(props) {
|
|
877
|
+
return /*#__PURE__*/React.createElement(NextFathomProviderApp, providerProps, /*#__PURE__*/React.createElement(Component, props));
|
|
878
|
+
};
|
|
879
|
+
WithAppRouter.displayName = "withAppRouter(".concat(Component.displayName || Component.name || 'Component', ")");
|
|
880
|
+
return WithAppRouter;
|
|
881
|
+
};
|
|
882
|
+
|
|
883
|
+
export { NextFathomProvider, NextFathomProviderApp, NextFathomProviderPages, withAppRouter, withPagesRouter };
|
|
884
|
+
/* Copyright 2025 - Ryan Hefner <hi@ryanhefner.com> (https://www.ryanhefner.com) */
|
|
885
|
+
//# sourceMappingURL=index.js.map
|