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