react-fathom 0.1.3 → 0.1.4
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/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/next/index.cjs +5 -2
- package/dist/cjs/next/index.cjs.map +1 -1
- package/dist/es/index.js +1 -1
- package/dist/es/index.js.map +1 -1
- package/dist/es/next/index.js +5 -2
- package/dist/es/next/index.js.map +1 -1
- package/dist/react-fathom.js +1 -1
- package/dist/react-fathom.js.map +1 -1
- package/dist/react-fathom.min.js +1 -1
- package/dist/react-fathom.min.js.map +1 -1
- package/package.json +1 -1
- package/src/FathomProvider.tsx +2 -0
- package/src/next/NextFathomTrackViewApp.tsx +2 -0
- package/src/next/NextFathomTrackViewPages.tsx +3 -1
- package/types/FathomProvider.d.ts.map +1 -1
- package/types/next/NextFathomTrackViewApp.d.ts.map +1 -1
- package/types/next/NextFathomTrackViewPages.d.ts.map +1 -1
package/dist/cjs/index.cjs
CHANGED
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../src/FathomContext.tsx","../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../src/FathomProvider.tsx","../../src/hooks/useFathom.ts","../../src/hooks/useTrackOnMount.ts","../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../src/hooks/useTrackOnClick.ts","../../src/hooks/useTrackOnVisible.ts","../../src/components/TrackClick.tsx","../../src/components/TrackPageview.tsx","../../src/components/TrackVisible.tsx"],"sourcesContent":["import { createContext } from 'react'\n\nimport type { FathomContextInterface } from './types'\n\nexport const FathomContext = createContext<Partial<FathomContextInterface>>({})\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import React, { useCallback, useContext, useEffect, useMemo } from 'react'\n\nimport * as Fathom from 'fathom-client'\nimport type { EventOptions, LoadOptions, PageViewOptions } from 'fathom-client'\n\nimport { FathomContext } from './FathomContext'\nimport type { FathomProviderProps } from './types'\n\nconst FathomProvider: React.FC<FathomProviderProps> = ({\n children,\n client: providedClient,\n clientOptions,\n siteId,\n defaultPageviewOptions: providedDefaultPageviewOptions,\n defaultEventOptions: providedDefaultEventOptions,\n}) => {\n // Read parent context if it exists\n const parentContext = useContext(FathomContext)\n\n // Use provided client or fall back to parent client or default Fathom\n const client = useMemo(\n () => providedClient ?? parentContext.client ?? Fathom,\n [providedClient, parentContext.client],\n )\n\n // Merge defaultPageviewOptions: provided > parent > undefined\n const defaultPageviewOptions = useMemo(\n () =>\n providedDefaultPageviewOptions ?? parentContext.defaultPageviewOptions,\n [providedDefaultPageviewOptions, parentContext.defaultPageviewOptions],\n )\n\n // Merge defaultEventOptions: provided > parent > undefined\n const defaultEventOptions = useMemo(\n () => providedDefaultEventOptions ?? parentContext.defaultEventOptions,\n [providedDefaultEventOptions, parentContext.defaultEventOptions],\n )\n\n const blockTrackingForMe = useCallback(() => {\n client.blockTrackingForMe()\n }, [client])\n\n const enableTrackingForMe = useCallback(() => {\n client.enableTrackingForMe()\n }, [client])\n\n const isTrackingEnabled = useCallback(() => {\n return client.isTrackingEnabled() ?? false\n }, [client])\n\n const load = useCallback(\n (siteId: string, clientOptions?: LoadOptions) => {\n client.load(siteId, clientOptions)\n },\n [client],\n )\n\n const setSite = useCallback(\n (siteId: string) => {\n client.setSite(siteId)\n },\n [client],\n )\n\n const trackEvent = useCallback(\n (category: string, options?: EventOptions) => {\n client.trackEvent(category, {\n ...defaultEventOptions,\n ...options,\n })\n },\n [client, defaultEventOptions],\n )\n\n const trackPageview = useCallback(\n (options?: PageViewOptions) => {\n client.trackPageview({\n ...defaultPageviewOptions,\n ...options,\n })\n },\n [client, defaultPageviewOptions],\n )\n\n const trackGoal = useCallback(\n (code: string, cents: number) => {\n client.trackGoal(code, cents)\n },\n [client],\n )\n\n useEffect(() => {\n if (siteId !== undefined) {\n load(siteId, clientOptions)\n }\n }, [clientOptions, load, siteId])\n\n return (\n <FathomContext.Provider\n value={{\n blockTrackingForMe,\n enableTrackingForMe,\n isTrackingEnabled,\n load,\n setSite,\n trackEvent,\n trackGoal,\n trackPageview,\n client,\n defaultPageviewOptions,\n defaultEventOptions,\n }}\n >\n {children}\n </FathomContext.Provider>\n )\n}\n\nFathomProvider.displayName = 'FathomProvider'\n\nexport { FathomProvider }\n","import { useContext } from 'react'\n\nimport { FathomContext } from '../FathomContext'\nimport type { FathomContextInterface } from '../types'\n\nexport const useFathom = (): FathomContextInterface => {\n const context = useContext(FathomContext)\n return context\n}\n\nuseFathom.displayName = 'useFathom'\n","import { useEffect } from 'react'\n\nimport type { PageViewOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\n/**\n * Hook to track a pageview when a component mounts\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * useTrackOnMount({ url: '/custom-page' })\n * return <div>Content</div>\n * }\n * ```\n */\nexport const useTrackOnMount = (options?: PageViewOptions) => {\n const { trackPageview } = useFathom()\n\n useEffect(() => {\n trackPageview?.(options)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n}\n","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","import { useCallback } from 'react'\nimport type { MouseEvent } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\nexport interface UseTrackOnClickOptions extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Whether to prevent default behavior\n * @default false\n */\n preventDefault?: boolean\n /**\n * Optional callback function to run after tracking\n * Receives the click event as a parameter\n */\n callback?: (e?: MouseEvent) => void\n}\n\n/**\n * Hook that returns a click handler function that tracks an event\n *\n * @example\n * ```tsx\n * function Button() {\n * const handleClick = useTrackOnClick({\n * eventName: 'button-click',\n * id: 'signup-button',\n * callback: (e) => {\n * console.log('Button clicked!')\n * // Your custom logic here\n * },\n * })\n *\n * return <button onClick={handleClick}>Sign Up</button>\n * }\n * ```\n */\nexport const useTrackOnClick = (\n options: UseTrackOnClickOptions,\n): ((e?: MouseEvent) => void) => {\n const { trackEvent } = useFathom()\n const {\n eventName,\n preventDefault = false,\n callback,\n ...eventOptions\n } = options\n\n return useCallback(\n (e?: MouseEvent) => {\n if (preventDefault && e) {\n e.preventDefault()\n }\n trackEvent?.(eventName, eventOptions)\n callback?.(e)\n },\n [eventName, preventDefault, trackEvent, eventOptions, callback],\n )\n}\n","import { useEffect, useRef } from 'react'\nimport type { RefObject } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\nexport interface UseTrackOnVisibleOptions extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Intersection observer options\n */\n observerOptions?: IntersectionObserverInit\n /**\n * Whether to track only once or every time it becomes visible\n * @default true\n */\n trackOnce?: boolean\n /**\n * Optional callback function to run after tracking\n * Receives the intersection observer entry as a parameter\n */\n callback?: (entry: IntersectionObserverEntry) => void\n}\n\n/**\n * Hook to track an event when an element becomes visible (using Intersection Observer)\n *\n * @example\n * ```tsx\n * function Section() {\n * const ref = useTrackOnVisible({\n * eventName: 'section-viewed',\n * section: 'hero',\n * callback: (entry) => {\n * console.log('Section is visible!', entry.isIntersecting)\n * // Your custom logic here\n * },\n * })\n *\n * return <section ref={ref}>Content</section>\n * }\n * ```\n */\nexport const useTrackOnVisible = (\n options: UseTrackOnVisibleOptions,\n): RefObject<HTMLElement | null> => {\n const { trackEvent } = useFathom()\n const {\n eventName,\n observerOptions,\n trackOnce = true,\n callback,\n ...eventOptions\n } = options\n const ref = useRef<HTMLElement | null>(null)\n const hasTracked = useRef(false)\n\n useEffect(() => {\n const element = ref.current\n if (!element) return\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!trackOnce || !hasTracked.current) {\n trackEvent?.(eventName, eventOptions)\n callback?.(entry)\n hasTracked.current = true\n }\n }\n })\n },\n {\n threshold: 0.1,\n ...observerOptions,\n },\n )\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n }\n }, [\n eventName,\n eventOptions,\n observerOptions,\n trackOnce,\n trackEvent,\n callback,\n ])\n\n return ref\n}\n","import React from 'react'\nimport type { ElementType, MouseEvent, ReactNode } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackClickProps extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Child element(s) to wrap\n */\n children: ReactNode\n /**\n * Whether to prevent default behavior\n * @default false\n */\n preventDefault?: boolean\n /**\n * Custom onClick handler (will be called before tracking)\n */\n onClick?: (e: MouseEvent) => void\n /**\n * HTML element to render as wrapper\n * @default 'div'\n */\n as?: ElementType\n}\n\n/**\n * Component wrapper that automatically tracks clicks on its children\n *\n * @example\n * ```tsx\n * <TrackClick eventName=\"cta-clicked\" id=\"hero-cta\">\n * <button>Get Started</button>\n * </TrackClick>\n * ```\n */\nexport const TrackClick: React.FC<TrackClickProps> = ({\n eventName,\n children,\n preventDefault = false,\n onClick,\n as: Component = 'div',\n ...eventOptions\n}) => {\n const { trackEvent } = useFathom()\n\n const handleClick = (e: MouseEvent) => {\n if (preventDefault) {\n e.preventDefault()\n }\n onClick?.(e)\n trackEvent?.(eventName, eventOptions)\n }\n\n return <Component onClick={handleClick}>{children}</Component>\n}\n","import React, { useEffect } from 'react'\nimport type { ReactNode } from 'react'\n\nimport type { PageViewOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackPageviewProps extends PageViewOptions {\n /**\n * Child element(s) to render\n */\n children?: ReactNode\n}\n\n/**\n * Component that tracks a pageview when it mounts\n *\n * @example\n * ```tsx\n * <TrackPageview url=\"/custom-page\">\n * <div>Page content</div>\n * </TrackPageview>\n * ```\n */\nexport const TrackPageview: React.FC<TrackPageviewProps> = ({\n children,\n ...pageviewOptions\n}) => {\n const { trackPageview } = useFathom()\n\n useEffect(() => {\n trackPageview?.(pageviewOptions)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return <>{children}</>\n}\n","import React, { useEffect, useRef, forwardRef, useCallback } from 'react'\nimport type { ElementType, ReactNode } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackVisibleProps extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Child element(s) to render\n */\n children?: ReactNode\n /**\n * Intersection observer options\n */\n observerOptions?: IntersectionObserverInit\n /**\n * Whether to track only once or every time it becomes visible\n * @default true\n */\n trackOnce?: boolean\n /**\n * HTML element to render as wrapper\n * @default 'div'\n */\n as?: ElementType\n}\n\n/**\n * Component that tracks an event when it becomes visible in the viewport\n *\n * @example\n * ```tsx\n * <TrackVisible eventName=\"section-viewed\" section=\"hero\">\n * <HeroSection />\n * </TrackVisible>\n * ```\n */\nexport const TrackVisible = forwardRef<HTMLDivElement, TrackVisibleProps>(\n function TrackVisible(\n {\n eventName,\n children,\n observerOptions,\n trackOnce = true,\n as: Component = 'div',\n ...eventOptions\n },\n forwardedRef,\n ) {\n const { trackEvent } = useFathom()\n const internalRef = useRef<HTMLDivElement | null>(null)\n const hasTracked = useRef(false)\n\n // Callback ref that handles both forwarded and internal refs\n const setRef = useCallback(\n (node: HTMLDivElement | null) => {\n internalRef.current = node\n\n if (typeof forwardedRef === 'function') {\n forwardedRef(node)\n } else if (forwardedRef !== null && forwardedRef !== undefined) {\n forwardedRef.current = node\n }\n },\n [forwardedRef],\n )\n\n useEffect(() => {\n const element = internalRef.current\n if (element === null) {\n return\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!trackOnce || !hasTracked.current) {\n trackEvent?.(eventName, eventOptions)\n hasTracked.current = true\n }\n }\n })\n },\n {\n threshold: 0.1,\n ...observerOptions,\n },\n )\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n }\n }, [eventName, eventOptions, observerOptions, trackOnce, trackEvent])\n\n return <Component ref={setRef}>{children}</Component>\n },\n)\n"],"names":["FathomContext","createContext","FathomProvider","_ref","children","providedClient","client","clientOptions","siteId","providedDefaultPageviewOptions","defaultPageviewOptions","providedDefaultEventOptions","defaultEventOptions","parentContext","useContext","useMemo","_ref2","Fathom","blockTrackingForMe","useCallback","enableTrackingForMe","isTrackingEnabled","_client$isTrackingEna","load","setSite","trackEvent","category","options","_objectSpread","trackPageview","trackGoal","code","cents","useEffect","undefined","React","createElement","Provider","value","displayName","useFathom","context","useTrackOnMount","_useFathom","objectWithoutPropertiesLoose","useTrackOnClick","eventName","_options$preventDefau","preventDefault","callback","eventOptions","_objectWithoutProperties","_excluded","e","useTrackOnVisible","observerOptions","_options$trackOnce","trackOnce","ref","useRef","hasTracked","element","current","observer","IntersectionObserver","entries","forEach","entry","isIntersecting","threshold","observe","disconnect","TrackClick","_ref$preventDefault","onClick","_ref$as","as","Component","handleClick","TrackPageview","pageviewOptions","Fragment","TrackVisible","forwardRef","forwardedRef","_ref$trackOnce","internalRef","setRef","node"],"mappings":"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","x_google_ignoreList":[1,2,3,4,8,9]}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/FathomContext.tsx","../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../src/FathomProvider.tsx","../../src/hooks/useFathom.ts","../../src/hooks/useTrackOnMount.ts","../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../src/hooks/useTrackOnClick.ts","../../src/hooks/useTrackOnVisible.ts","../../src/components/TrackClick.tsx","../../src/components/TrackPageview.tsx","../../src/components/TrackVisible.tsx"],"sourcesContent":["import { createContext } from 'react'\n\nimport type { FathomContextInterface } from './types'\n\nexport const FathomContext = createContext<Partial<FathomContextInterface>>({})\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","'use client'\n\nimport React, { useCallback, useContext, useEffect, useMemo } from 'react'\n\nimport * as Fathom from 'fathom-client'\nimport type { EventOptions, LoadOptions, PageViewOptions } from 'fathom-client'\n\nimport { FathomContext } from './FathomContext'\nimport type { FathomProviderProps } from './types'\n\nconst FathomProvider: React.FC<FathomProviderProps> = ({\n children,\n client: providedClient,\n clientOptions,\n siteId,\n defaultPageviewOptions: providedDefaultPageviewOptions,\n defaultEventOptions: providedDefaultEventOptions,\n}) => {\n // Read parent context if it exists\n const parentContext = useContext(FathomContext)\n\n // Use provided client or fall back to parent client or default Fathom\n const client = useMemo(\n () => providedClient ?? parentContext.client ?? Fathom,\n [providedClient, parentContext.client],\n )\n\n // Merge defaultPageviewOptions: provided > parent > undefined\n const defaultPageviewOptions = useMemo(\n () =>\n providedDefaultPageviewOptions ?? parentContext.defaultPageviewOptions,\n [providedDefaultPageviewOptions, parentContext.defaultPageviewOptions],\n )\n\n // Merge defaultEventOptions: provided > parent > undefined\n const defaultEventOptions = useMemo(\n () => providedDefaultEventOptions ?? parentContext.defaultEventOptions,\n [providedDefaultEventOptions, parentContext.defaultEventOptions],\n )\n\n const blockTrackingForMe = useCallback(() => {\n client.blockTrackingForMe()\n }, [client])\n\n const enableTrackingForMe = useCallback(() => {\n client.enableTrackingForMe()\n }, [client])\n\n const isTrackingEnabled = useCallback(() => {\n return client.isTrackingEnabled() ?? false\n }, [client])\n\n const load = useCallback(\n (siteId: string, clientOptions?: LoadOptions) => {\n client.load(siteId, clientOptions)\n },\n [client],\n )\n\n const setSite = useCallback(\n (siteId: string) => {\n client.setSite(siteId)\n },\n [client],\n )\n\n const trackEvent = useCallback(\n (category: string, options?: EventOptions) => {\n client.trackEvent(category, {\n ...defaultEventOptions,\n ...options,\n })\n },\n [client, defaultEventOptions],\n )\n\n const trackPageview = useCallback(\n (options?: PageViewOptions) => {\n client.trackPageview({\n ...defaultPageviewOptions,\n ...options,\n })\n },\n [client, defaultPageviewOptions],\n )\n\n const trackGoal = useCallback(\n (code: string, cents: number) => {\n client.trackGoal(code, cents)\n },\n [client],\n )\n\n useEffect(() => {\n if (siteId !== undefined) {\n load(siteId, clientOptions)\n }\n }, [clientOptions, load, siteId])\n\n return (\n <FathomContext.Provider\n value={{\n blockTrackingForMe,\n enableTrackingForMe,\n isTrackingEnabled,\n load,\n setSite,\n trackEvent,\n trackGoal,\n trackPageview,\n client,\n defaultPageviewOptions,\n defaultEventOptions,\n }}\n >\n {children}\n </FathomContext.Provider>\n )\n}\n\nFathomProvider.displayName = 'FathomProvider'\n\nexport { FathomProvider }\n","import { useContext } from 'react'\n\nimport { FathomContext } from '../FathomContext'\nimport type { FathomContextInterface } from '../types'\n\nexport const useFathom = (): FathomContextInterface => {\n const context = useContext(FathomContext)\n return context\n}\n\nuseFathom.displayName = 'useFathom'\n","import { useEffect } from 'react'\n\nimport type { PageViewOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\n/**\n * Hook to track a pageview when a component mounts\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * useTrackOnMount({ url: '/custom-page' })\n * return <div>Content</div>\n * }\n * ```\n */\nexport const useTrackOnMount = (options?: PageViewOptions) => {\n const { trackPageview } = useFathom()\n\n useEffect(() => {\n trackPageview?.(options)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n}\n","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","import { useCallback } from 'react'\nimport type { MouseEvent } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\nexport interface UseTrackOnClickOptions extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Whether to prevent default behavior\n * @default false\n */\n preventDefault?: boolean\n /**\n * Optional callback function to run after tracking\n * Receives the click event as a parameter\n */\n callback?: (e?: MouseEvent) => void\n}\n\n/**\n * Hook that returns a click handler function that tracks an event\n *\n * @example\n * ```tsx\n * function Button() {\n * const handleClick = useTrackOnClick({\n * eventName: 'button-click',\n * id: 'signup-button',\n * callback: (e) => {\n * console.log('Button clicked!')\n * // Your custom logic here\n * },\n * })\n *\n * return <button onClick={handleClick}>Sign Up</button>\n * }\n * ```\n */\nexport const useTrackOnClick = (\n options: UseTrackOnClickOptions,\n): ((e?: MouseEvent) => void) => {\n const { trackEvent } = useFathom()\n const {\n eventName,\n preventDefault = false,\n callback,\n ...eventOptions\n } = options\n\n return useCallback(\n (e?: MouseEvent) => {\n if (preventDefault && e) {\n e.preventDefault()\n }\n trackEvent?.(eventName, eventOptions)\n callback?.(e)\n },\n [eventName, preventDefault, trackEvent, eventOptions, callback],\n )\n}\n","import { useEffect, useRef } from 'react'\nimport type { RefObject } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\nexport interface UseTrackOnVisibleOptions extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Intersection observer options\n */\n observerOptions?: IntersectionObserverInit\n /**\n * Whether to track only once or every time it becomes visible\n * @default true\n */\n trackOnce?: boolean\n /**\n * Optional callback function to run after tracking\n * Receives the intersection observer entry as a parameter\n */\n callback?: (entry: IntersectionObserverEntry) => void\n}\n\n/**\n * Hook to track an event when an element becomes visible (using Intersection Observer)\n *\n * @example\n * ```tsx\n * function Section() {\n * const ref = useTrackOnVisible({\n * eventName: 'section-viewed',\n * section: 'hero',\n * callback: (entry) => {\n * console.log('Section is visible!', entry.isIntersecting)\n * // Your custom logic here\n * },\n * })\n *\n * return <section ref={ref}>Content</section>\n * }\n * ```\n */\nexport const useTrackOnVisible = (\n options: UseTrackOnVisibleOptions,\n): RefObject<HTMLElement | null> => {\n const { trackEvent } = useFathom()\n const {\n eventName,\n observerOptions,\n trackOnce = true,\n callback,\n ...eventOptions\n } = options\n const ref = useRef<HTMLElement | null>(null)\n const hasTracked = useRef(false)\n\n useEffect(() => {\n const element = ref.current\n if (!element) return\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!trackOnce || !hasTracked.current) {\n trackEvent?.(eventName, eventOptions)\n callback?.(entry)\n hasTracked.current = true\n }\n }\n })\n },\n {\n threshold: 0.1,\n ...observerOptions,\n },\n )\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n }\n }, [\n eventName,\n eventOptions,\n observerOptions,\n trackOnce,\n trackEvent,\n callback,\n ])\n\n return ref\n}\n","import React from 'react'\nimport type { ElementType, MouseEvent, ReactNode } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackClickProps extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Child element(s) to wrap\n */\n children: ReactNode\n /**\n * Whether to prevent default behavior\n * @default false\n */\n preventDefault?: boolean\n /**\n * Custom onClick handler (will be called before tracking)\n */\n onClick?: (e: MouseEvent) => void\n /**\n * HTML element to render as wrapper\n * @default 'div'\n */\n as?: ElementType\n}\n\n/**\n * Component wrapper that automatically tracks clicks on its children\n *\n * @example\n * ```tsx\n * <TrackClick eventName=\"cta-clicked\" id=\"hero-cta\">\n * <button>Get Started</button>\n * </TrackClick>\n * ```\n */\nexport const TrackClick: React.FC<TrackClickProps> = ({\n eventName,\n children,\n preventDefault = false,\n onClick,\n as: Component = 'div',\n ...eventOptions\n}) => {\n const { trackEvent } = useFathom()\n\n const handleClick = (e: MouseEvent) => {\n if (preventDefault) {\n e.preventDefault()\n }\n onClick?.(e)\n trackEvent?.(eventName, eventOptions)\n }\n\n return <Component onClick={handleClick}>{children}</Component>\n}\n","import React, { useEffect } from 'react'\nimport type { ReactNode } from 'react'\n\nimport type { PageViewOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackPageviewProps extends PageViewOptions {\n /**\n * Child element(s) to render\n */\n children?: ReactNode\n}\n\n/**\n * Component that tracks a pageview when it mounts\n *\n * @example\n * ```tsx\n * <TrackPageview url=\"/custom-page\">\n * <div>Page content</div>\n * </TrackPageview>\n * ```\n */\nexport const TrackPageview: React.FC<TrackPageviewProps> = ({\n children,\n ...pageviewOptions\n}) => {\n const { trackPageview } = useFathom()\n\n useEffect(() => {\n trackPageview?.(pageviewOptions)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return <>{children}</>\n}\n","import React, { useEffect, useRef, forwardRef, useCallback } from 'react'\nimport type { ElementType, ReactNode } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackVisibleProps extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Child element(s) to render\n */\n children?: ReactNode\n /**\n * Intersection observer options\n */\n observerOptions?: IntersectionObserverInit\n /**\n * Whether to track only once or every time it becomes visible\n * @default true\n */\n trackOnce?: boolean\n /**\n * HTML element to render as wrapper\n * @default 'div'\n */\n as?: ElementType\n}\n\n/**\n * Component that tracks an event when it becomes visible in the viewport\n *\n * @example\n * ```tsx\n * <TrackVisible eventName=\"section-viewed\" section=\"hero\">\n * <HeroSection />\n * </TrackVisible>\n * ```\n */\nexport const TrackVisible = forwardRef<HTMLDivElement, TrackVisibleProps>(\n function TrackVisible(\n {\n eventName,\n children,\n observerOptions,\n trackOnce = true,\n as: Component = 'div',\n ...eventOptions\n },\n forwardedRef,\n ) {\n const { trackEvent } = useFathom()\n const internalRef = useRef<HTMLDivElement | null>(null)\n const hasTracked = useRef(false)\n\n // Callback ref that handles both forwarded and internal refs\n const setRef = useCallback(\n (node: HTMLDivElement | null) => {\n internalRef.current = node\n\n if (typeof forwardedRef === 'function') {\n forwardedRef(node)\n } else if (forwardedRef !== null && forwardedRef !== undefined) {\n forwardedRef.current = node\n }\n },\n [forwardedRef],\n )\n\n useEffect(() => {\n const element = internalRef.current\n if (element === null) {\n return\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!trackOnce || !hasTracked.current) {\n trackEvent?.(eventName, eventOptions)\n hasTracked.current = true\n }\n }\n })\n },\n {\n threshold: 0.1,\n ...observerOptions,\n },\n )\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n }\n }, [eventName, eventOptions, observerOptions, trackOnce, trackEvent])\n\n return <Component ref={setRef}>{children}</Component>\n },\n)\n"],"names":["FathomContext","createContext","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","FathomProvider","_ref","children","providedClient","client","clientOptions","siteId","providedDefaultPageviewOptions","defaultPageviewOptions","providedDefaultEventOptions","defaultEventOptions","parentContext","useContext","useMemo","_ref2","Fathom","blockTrackingForMe","useCallback","enableTrackingForMe","isTrackingEnabled","_client$isTrackingEna","load","setSite","trackEvent","category","options","trackPageview","trackGoal","code","cents","useEffect","undefined","React","createElement","Provider","value","displayName","useFathom","context","useTrackOnMount","_useFathom","objectWithoutPropertiesLoose","useTrackOnClick","eventName","_options$preventDefau","preventDefault","callback","eventOptions","_objectWithoutProperties","_excluded","useTrackOnVisible","observerOptions","_options$trackOnce","trackOnce","ref","useRef","hasTracked","element","current","observer","IntersectionObserver","entries","entry","isIntersecting","threshold","observe","disconnect","TrackClick","_ref$preventDefault","onClick","_ref$as","as","Component","handleClick","TrackPageview","pageviewOptions","Fragment","TrackVisible","forwardRef","forwardedRef","_ref$trackOnce","internalRef","setRef","node"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;IAIaA,aAAa,gBAAGC,mBAAa,CAAkC,EAAE;;ACJ9E,SAAS,OAAO,CAAC,CAAC,EAAE;AACpB,EAAE,yBAAyB;;AAE3B,EAAE,OAAO,OAAO,GAAG,UAAU,IAAI,OAAO,MAAM,IAAI,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,EAAE;AACpG,IAAI,OAAO,OAAO,CAAC;AACnB,EAAE,CAAC,GAAG,UAAU,CAAC,EAAE;AACnB,IAAI,OAAO,CAAC,IAAI,UAAU,IAAI,OAAO,MAAM,IAAI,CAAC,CAAC,WAAW,KAAK,MAAM,IAAI,CAAC,KAAK,MAAM,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AACvH,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACf;;ACPA,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE;AAC3B,EAAE,IAAI,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC;AAC5C,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;AAC/B,EAAE,IAAI,MAAM,KAAK,CAAC,EAAE;AACpB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAc,CAAC;AACrC,IAAI,IAAI,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;AACxC,IAAI,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC;AACvE,EAAE;AACF,EAAE,OAAO,CAAC,QAAQ,KAAK,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAC9C;;ACRA,SAAS,aAAa,CAAC,CAAC,EAAE;AAC1B,EAAE,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC;AAClC,EAAE,OAAO,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;AAC5C;;ACJA,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAClC,EAAE,OAAO,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE;AACnE,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,UAAU,EAAE,IAAE;AAClB,IAAI,YAAY,EAAE,IAAE;AACpB,IAAI,QAAQ,EAAE;AACd,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;AAClB;;ACRY,SAAAC,SAAAA,CAAAC,CAAA,EAAAC,CAAA,EAAA,EAAA,IAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,EAAA,EAAA,IAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,CAAA,CAAA,CAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,CAAA,UAAAN,CAAA,EAAA,EAAA,OAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAAJ,CAAA,CAAA,CAAA;AAAA,SAAAU,gBAAAZ,CAAA,EAAA,EAAA,KAAA,IAAAC,CAAA,GAAA,CAAA,EAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,EAAA,EAAA,EAAA,IAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,CAAA,GAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,GAAA,CAAA,GAAAF,SAAA,CAAAI,MAAA,CAAAD,CAAA,CAAA,EAAA,IAAA,CAAA,CAAAa,OAAA,CAAA,UAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,SAAA,CAAAI,MAAA,CAAAD,CAAA,CAAA,CAAA,CAAAa,OAAA,WAAAd,CAAA,EAAA,EAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA,CAAA,CAAA;AAUZ,IAAMoB,cAA6C,GAAG,SAAhDA,cAA6CA,CAAAC,IAAA,EAO7C;AAAA,EAAA,IANJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACAC,cAAc,GAAAF,IAAA,CAAtBG,MAAM;IACNC,aAAa,GAAAJ,IAAA,CAAbI,aAAa;IACbC,MAAM,GAAAL,IAAA,CAANK,MAAM;IACkBC,8BAA8B,GAAAN,IAAA,CAAtDO,sBAAsB;IACDC,2BAA2B,GAAAR,IAAA,CAAhDS,mBAAmB;AAEnB;AACA,EAAA,IAAMC,aAAa,GAAGC,gBAAU,CAACnC,aAAa,CAAC;;AAE/C;EACA,IAAM2B,MAAM,GAAGS,aAAO,CACpB,YAAA;AAAA,IAAA,IAAAC,KAAA;AAAA,IAAA,OAAA,CAAAA,KAAA,GAAMX,cAAc,KAAA,IAAA,IAAdA,cAAc,cAAdA,cAAc,GAAIQ,aAAa,CAACP,MAAM,MAAA,IAAA,IAAAU,KAAA,KAAA,MAAA,GAAAA,KAAA,GAAIC,iBAAM;AAAA,EAAA,CAAA,EACtD,CAACZ,cAAc,EAAEQ,aAAa,CAACP,MAAM,CACvC,CAAC;;AAED;EACA,IAAMI,sBAAsB,GAAGK,aAAO,CACpC,YAAA;IAAA,OACEN,8BAA8B,aAA9BA,8BAA8B,KAAA,MAAA,GAA9BA,8BAA8B,GAAII,aAAa,CAACH,sBAAsB;AAAA,EAAA,CAAA,EACxE,CAACD,8BAA8B,EAAEI,aAAa,CAACH,sBAAsB,CACvE,CAAC;;AAED;EACA,IAAME,mBAAmB,GAAGG,aAAO,CACjC,YAAA;IAAA,OAAMJ,2BAA2B,aAA3BA,2BAA2B,KAAA,MAAA,GAA3BA,2BAA2B,GAAIE,aAAa,CAACD,mBAAmB;AAAA,EAAA,CAAA,EACtE,CAACD,2BAA2B,EAAEE,aAAa,CAACD,mBAAmB,CACjE,CAAC;AAED,EAAA,IAAMM,kBAAkB,GAAGC,iBAAW,CAAC,YAAM;IAC3Cb,MAAM,CAACY,kBAAkB,EAAE;AAC7B,EAAA,CAAC,EAAE,CAACZ,MAAM,CAAC,CAAC;AAEZ,EAAA,IAAMc,mBAAmB,GAAGD,iBAAW,CAAC,YAAM;IAC5Cb,MAAM,CAACc,mBAAmB,EAAE;AAC9B,EAAA,CAAC,EAAE,CAACd,MAAM,CAAC,CAAC;AAEZ,EAAA,IAAMe,iBAAiB,GAAGF,iBAAW,CAAC,YAAM;AAAA,IAAA,IAAAG,qBAAA;AAC1C,IAAA,OAAA,CAAAA,qBAAA,GAAOhB,MAAM,CAACe,iBAAiB,EAAE,MAAA,IAAA,IAAAC,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,KAAK;AAC5C,EAAA,CAAC,EAAE,CAAChB,MAAM,CAAC,CAAC;EAEZ,IAAMiB,IAAI,GAAGJ,iBAAW,CACtB,UAACX,MAAc,EAAED,aAA2B,EAAK;AAC/CD,IAAAA,MAAM,CAACiB,IAAI,CAACf,MAAM,EAAED,aAAa,CAAC;AACpC,EAAA,CAAC,EACD,CAACD,MAAM,CACT,CAAC;AAED,EAAA,IAAMkB,OAAO,GAAGL,iBAAW,CACzB,UAACX,MAAc,EAAK;AAClBF,IAAAA,MAAM,CAACkB,OAAO,CAAChB,MAAM,CAAC;AACxB,EAAA,CAAC,EACD,CAACF,MAAM,CACT,CAAC;EAED,IAAMmB,UAAU,GAAGN,iBAAW,CAC5B,UAACO,QAAgB,EAAEC,OAAsB,EAAK;AAC5CrB,IAAAA,MAAM,CAACmB,UAAU,CAACC,QAAQ,EAAAhC,eAAA,CAAAA,eAAA,CAAA,EAAA,EACrBkB,mBAAmB,CAAA,EACnBe,OAAO,CACX,CAAC;AACJ,EAAA,CAAC,EACD,CAACrB,MAAM,EAAEM,mBAAmB,CAC9B,CAAC;AAED,EAAA,IAAMgB,aAAa,GAAGT,iBAAW,CAC/B,UAACQ,OAAyB,EAAK;IAC7BrB,MAAM,CAACsB,aAAa,CAAAlC,eAAA,CAAAA,eAAA,CAAA,EAAA,EACfgB,sBAAsB,CAAA,EACtBiB,OAAO,CACX,CAAC;AACJ,EAAA,CAAC,EACD,CAACrB,MAAM,EAAEI,sBAAsB,CACjC,CAAC;EAED,IAAMmB,SAAS,GAAGV,iBAAW,CAC3B,UAACW,IAAY,EAAEC,KAAa,EAAK;AAC/BzB,IAAAA,MAAM,CAACuB,SAAS,CAACC,IAAI,EAAEC,KAAK,CAAC;AAC/B,EAAA,CAAC,EACD,CAACzB,MAAM,CACT,CAAC;AAED0B,EAAAA,eAAS,CAAC,YAAM;IACd,IAAIxB,MAAM,KAAKyB,SAAS,EAAE;AACxBV,MAAAA,IAAI,CAACf,MAAM,EAAED,aAAa,CAAC;AAC7B,IAAA;EACF,CAAC,EAAE,CAACA,aAAa,EAAEgB,IAAI,EAAEf,MAAM,CAAC,CAAC;AAEjC,EAAA,oBACE0B,KAAA,CAAAC,aAAA,CAACxD,aAAa,CAACyD,QAAQ,EAAA;AACrBC,IAAAA,KAAK,EAAE;AACLnB,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBE,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBC,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBE,MAAAA,IAAI,EAAJA,IAAI;AACJC,MAAAA,OAAO,EAAPA,OAAO;AACPC,MAAAA,UAAU,EAAVA,UAAU;AACVI,MAAAA,SAAS,EAATA,SAAS;AACTD,MAAAA,aAAa,EAAbA,aAAa;AACbtB,MAAAA,MAAM,EAANA,MAAM;AACNI,MAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBE,MAAAA,mBAAmB,EAAnBA;AACF;AAAE,GAAA,EAEDR,QACqB,CAAC;AAE7B;AAEAF,cAAc,CAACoC,WAAW,GAAG,gBAAgB;;ICnHhCC,SAAS,GAAG,SAAZA,SAASA,GAAiC;AACrD,EAAA,IAAMC,OAAO,GAAG1B,gBAAU,CAACnC,aAAa,CAAC;AACzC,EAAA,OAAO6D,OAAO;AAChB;AAEAD,SAAS,CAACD,WAAW,GAAG,WAAW;;ACJnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaG,eAAe,GAAG,SAAlBA,eAAeA,CAAId,OAAyB,EAAK;AAC5D,EAAA,IAAAe,UAAA,GAA0BH,SAAS,EAAE;IAA7BX,aAAa,GAAAc,UAAA,CAAbd,aAAa;AAErBI,EAAAA,eAAS,CAAC,YAAM;AACdJ,IAAAA,aAAa,aAAbA,aAAa,KAAA,MAAA,IAAbA,aAAa,CAAGD,OAAO,CAAC;EAC1B,CAAC,EAAE,EAAE,CAAC,CAAA;AACR;;ACvBA,SAAS,6BAA6B,CAAC,CAAC,EAAE,CAAC,EAAE;AAC7C,EAAE,IAAI,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE;AAC1B,EAAE,IAAI,CAAC,GAAG,EAAE;AACZ,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AACrD,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AAC7B,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,EAAE;AACF,EAAE,OAAO,CAAC;AACV;;ACPA,SAAS,wBAAwB,CAAC,CAAC,EAAE,CAAC,EAAE;AACxC,EAAE,IAAI,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE;AAC1B,EAAE,IAAI,CAAC;AACP,IAAI,CAAC;AACL,IAAI,CAAC,GAAGgB,6BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1C,EAAE,IAAI,MAAM,CAAC,qBAAqB,EAAE;AACpC,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAC3C,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACvH,EAAE;AACF,EAAE,OAAO,CAAC;AACV;;;ACaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaC,eAAe,GAAG,SAAlBA,eAAeA,CAC1BjB,OAA+B,EACA;AAC/B,EAAA,IAAAe,UAAA,GAAuBH,SAAS,EAAE;IAA1Bd,UAAU,GAAAiB,UAAA,CAAVjB,UAAU;AAClB,EAAA,IACEoB,SAAS,GAIPlB,OAAO,CAJTkB,SAAS;IAAAC,qBAAA,GAIPnB,OAAO,CAHToB,cAAc;AAAdA,IAAAA,cAAc,GAAAD,qBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,qBAAA;IACtBE,QAAQ,GAENrB,OAAO,CAFTqB,QAAQ;AACLC,IAAAA,YAAY,GAAAC,wBAAA,CACbvB,OAAO,EAAAwB,WAAA,CAAA;AAEX,EAAA,OAAOhC,iBAAW,CAChB,UAACrC,CAAc,EAAK;IAClB,IAAIiE,cAAc,IAAIjE,CAAC,EAAE;MACvBA,CAAC,CAACiE,cAAc,EAAE;AACpB,IAAA;IACAtB,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,IAAVA,UAAU,CAAGoB,SAAS,EAAEI,YAAY,CAAC;AACrCD,IAAAA,QAAQ,aAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAGlE,CAAC,CAAC;AACf,EAAA,CAAC,EACD,CAAC+D,SAAS,EAAEE,cAAc,EAAEtB,UAAU,EAAEwB,YAAY,EAAED,QAAQ,CAChE,CAAC;AACH;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaI,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC5BzB,OAAiC,EACC;AAClC,EAAA,IAAAe,UAAA,GAAuBH,SAAS,EAAE;IAA1Bd,UAAU,GAAAiB,UAAA,CAAVjB,UAAU;AAClB,EAAA,IACEoB,SAAS,GAKPlB,OAAO,CALTkB,SAAS;IACTQ,eAAe,GAIb1B,OAAO,CAJT0B,eAAe;IAAAC,kBAAA,GAIb3B,OAAO,CAHT4B,SAAS;AAATA,IAAAA,SAAS,GAAAD,kBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,kBAAA;IAChBN,QAAQ,GAENrB,OAAO,CAFTqB,QAAQ;AACLC,IAAAA,YAAY,GAAAC,wBAAA,CACbvB,OAAO,EAAAwB,WAAA,CAAA;AACX,EAAA,IAAMK,GAAG,GAAGC,YAAM,CAAqB,IAAI,CAAC;AAC5C,EAAA,IAAMC,UAAU,GAAGD,YAAM,CAAC,KAAK,CAAC;AAEhCzB,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAM2B,OAAO,GAAGH,GAAG,CAACI,OAAO;IAC3B,IAAI,CAACD,OAAO,EAAE;AAEd,IAAA,IAAME,QAAQ,GAAG,IAAIC,oBAAoB,CACvC,UAACC,OAAO,EAAK;AACXA,MAAAA,OAAO,CAAClE,OAAO,CAAC,UAACmE,KAAK,EAAK;QACzB,IAAIA,KAAK,CAACC,cAAc,EAAE;AACxB,UAAA,IAAI,CAACV,SAAS,IAAI,CAACG,UAAU,CAACE,OAAO,EAAE;YACrCnC,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,IAAVA,UAAU,CAAGoB,SAAS,EAAEI,YAAY,CAAC;AACrCD,YAAAA,QAAQ,aAARA,QAAQ,KAAA,MAAA,IAARA,QAAQ,CAAGgB,KAAK,CAAC;YACjBN,UAAU,CAACE,OAAO,GAAG,IAAI;AAC3B,UAAA;AACF,QAAA;AACF,MAAA,CAAC,CAAC;AACJ,IAAA,CAAC,EAAAlE,eAAA,CAAA;AAECwE,MAAAA,SAAS,EAAE;KAAG,EACXb,eAAe,CAEtB,CAAC;AAEDQ,IAAAA,QAAQ,CAACM,OAAO,CAACR,OAAO,CAAC;AAEzB,IAAA,OAAO,YAAM;MACXE,QAAQ,CAACO,UAAU,EAAE;IACvB,CAAC;AACH,EAAA,CAAC,EAAE,CACDvB,SAAS,EACTI,YAAY,EACZI,eAAe,EACfE,SAAS,EACT9B,UAAU,EACVuB,QAAQ,CACT,CAAC;AAEF,EAAA,OAAOQ,GAAG;AACZ;;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaa,UAAqC,GAAG,SAAxCA,UAAqCA,CAAAlE,IAAA,EAO5C;AAAA,EAAA,IANJ0C,SAAS,GAAA1C,IAAA,CAAT0C,SAAS;IACTzC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAAkE,mBAAA,GAAAnE,IAAA,CACR4C,cAAc;AAAdA,IAAAA,cAAc,GAAAuB,mBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,mBAAA;IACtBC,OAAO,GAAApE,IAAA,CAAPoE,OAAO;IAAAC,OAAA,GAAArE,IAAA,CACPsE,EAAE;AAAEC,IAAAA,SAAS,GAAAF,OAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,OAAA;AAClBvB,IAAAA,YAAY,GAAAC,wBAAA,CAAA/C,IAAA,EAAAgD,WAAA,CAAA;AAEf,EAAA,IAAAT,UAAA,GAAuBH,SAAS,EAAE;IAA1Bd,UAAU,GAAAiB,UAAA,CAAVjB,UAAU;AAElB,EAAA,IAAMkD,WAAW,GAAG,SAAdA,WAAWA,CAAI7F,CAAa,EAAK;AACrC,IAAA,IAAIiE,cAAc,EAAE;MAClBjE,CAAC,CAACiE,cAAc,EAAE;AACpB,IAAA;AACAwB,IAAAA,OAAO,aAAPA,OAAO,KAAA,MAAA,IAAPA,OAAO,CAAGzF,CAAC,CAAC;IACZ2C,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,IAAVA,UAAU,CAAGoB,SAAS,EAAEI,YAAY,CAAC;EACvC,CAAC;AAED,EAAA,oBAAOf,KAAA,CAAAC,aAAA,CAACuC,SAAS,EAAA;AAACH,IAAAA,OAAO,EAAEI;AAAY,GAAA,EAAEvE,QAAoB,CAAC;AAChE;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACawE,aAA2C,GAAG,SAA9CA,aAA2CA,CAAAzE,IAAA,EAGlD;AAAA,EAAA,IAFJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;AACLyE,IAAAA,eAAe,GAAA3B,wBAAA,CAAA/C,IAAA,EAAAgD,WAAA,CAAA;AAElB,EAAA,IAAAT,UAAA,GAA0BH,SAAS,EAAE;IAA7BX,aAAa,GAAAc,UAAA,CAAbd,aAAa;AAErBI,EAAAA,eAAS,CAAC,YAAM;AACdJ,IAAAA,aAAa,aAAbA,aAAa,KAAA,MAAA,IAAbA,aAAa,CAAGiD,eAAe,CAAC;EAClC,CAAC,EAAE,EAAE,CAAC,CAAA;;EAEN,oBAAO3C,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAA4C,QAAA,EAAA,IAAA,EAAG1E,QAAW,CAAC;AACxB;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAM2E,YAAY,gBAAGC,gBAAU,CACpC,SAASD,YAAYA,CAAA5E,IAAA,EASnB8E,YAAY,EACZ;AAAA,EAAA,IAREpC,SAAS,GAAA1C,IAAA,CAAT0C,SAAS;IACTzC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRiD,eAAe,GAAAlD,IAAA,CAAfkD,eAAe;IAAA6B,cAAA,GAAA/E,IAAA,CACfoD,SAAS;AAATA,IAAAA,SAAS,GAAA2B,cAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,cAAA;IAAAV,OAAA,GAAArE,IAAA,CAChBsE,EAAE;AAAEC,IAAAA,SAAS,GAAAF,OAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,OAAA;AAClBvB,IAAAA,YAAY,GAAAC,wBAAA,CAAA/C,IAAA,EAAAgD,SAAA,CAAA;AAIjB,EAAA,IAAAT,UAAA,GAAuBH,SAAS,EAAE;IAA1Bd,UAAU,GAAAiB,UAAA,CAAVjB,UAAU;AAClB,EAAA,IAAM0D,WAAW,GAAG1B,YAAM,CAAwB,IAAI,CAAC;AACvD,EAAA,IAAMC,UAAU,GAAGD,YAAM,CAAC,KAAK,CAAC;;AAEhC;AACA,EAAA,IAAM2B,MAAM,GAAGjE,iBAAW,CACxB,UAACkE,IAA2B,EAAK;IAC/BF,WAAW,CAACvB,OAAO,GAAGyB,IAAI;AAE1B,IAAA,IAAI,OAAOJ,YAAY,KAAK,UAAU,EAAE;MACtCA,YAAY,CAACI,IAAI,CAAC;IACpB,CAAC,MAAM,IAAIJ,YAAY,KAAK,IAAI,IAAIA,YAAY,KAAKhD,SAAS,EAAE;MAC9DgD,YAAY,CAACrB,OAAO,GAAGyB,IAAI;AAC7B,IAAA;AACF,EAAA,CAAC,EACD,CAACJ,YAAY,CACf,CAAC;AAEDjD,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAM2B,OAAO,GAAGwB,WAAW,CAACvB,OAAO;IACnC,IAAID,OAAO,KAAK,IAAI,EAAE;AACpB,MAAA;AACF,IAAA;AAEA,IAAA,IAAME,QAAQ,GAAG,IAAIC,oBAAoB,CACvC,UAACC,OAAO,EAAK;AACXA,MAAAA,OAAO,CAAClE,OAAO,CAAC,UAACmE,KAAK,EAAK;QACzB,IAAIA,KAAK,CAACC,cAAc,EAAE;AACxB,UAAA,IAAI,CAACV,SAAS,IAAI,CAACG,UAAU,CAACE,OAAO,EAAE;YACrCnC,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,IAAVA,UAAU,CAAGoB,SAAS,EAAEI,YAAY,CAAC;YACrCS,UAAU,CAACE,OAAO,GAAG,IAAI;AAC3B,UAAA;AACF,QAAA;AACF,MAAA,CAAC,CAAC;AACJ,IAAA,CAAC,EAAAlE,aAAA,CAAA;AAECwE,MAAAA,SAAS,EAAE;KAAG,EACXb,eAAe,CAEtB,CAAC;AAEDQ,IAAAA,QAAQ,CAACM,OAAO,CAACR,OAAO,CAAC;AAEzB,IAAA,OAAO,YAAM;MACXE,QAAQ,CAACO,UAAU,EAAE;IACvB,CAAC;AACH,EAAA,CAAC,EAAE,CAACvB,SAAS,EAAEI,YAAY,EAAEI,eAAe,EAAEE,SAAS,EAAE9B,UAAU,CAAC,CAAC;AAErE,EAAA,oBAAOS,KAAA,CAAAC,aAAA,CAACuC,SAAS,EAAA;AAAClB,IAAAA,GAAG,EAAE4B;AAAO,GAAA,EAAEhF,QAAoB,CAAC;AACvD,CACF;;;;;;;;;;;;;;;","x_google_ignoreList":[1,2,3,4,8,9]}
|
package/dist/cjs/next/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! react-fathom - 0.1.
|
|
1
|
+
/*! react-fathom - 0.1.4 !*/
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var React = require('react');
|
|
@@ -72,11 +72,14 @@ var NextFathomTrackViewPages = function NextFathomTrackViewPages(_ref) {
|
|
|
72
72
|
url: window.location.origin + url
|
|
73
73
|
});
|
|
74
74
|
};
|
|
75
|
+
|
|
76
|
+
// router.events is stable in Next.js, so we can use it without including router in dependencies
|
|
75
77
|
router$1.events.on('routeChangeComplete', handleRouteChangeComplete);
|
|
76
78
|
return function () {
|
|
77
79
|
router$1.events.off('routeChangeComplete', handleRouteChangeComplete);
|
|
78
80
|
};
|
|
79
|
-
|
|
81
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
82
|
+
}, [trackPageview, client, disableAutoTrack]);
|
|
80
83
|
|
|
81
84
|
// Track initial pageview (routeChangeComplete doesn't fire on initial load)
|
|
82
85
|
React.useEffect(function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/FathomContext.tsx","../../../src/hooks/useFathom.ts","../../../src/next/NextFathomTrackViewPages.tsx","../../../src/next/NextFathomTrackViewApp.tsx","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../src/FathomProvider.tsx","../../../src/next/compositions/withPagesRouter.tsx","../../../src/next/compositions/withAppRouter.tsx"],"sourcesContent":["import { createContext } from 'react'\n\nimport type { FathomContextInterface } from './types'\n\nexport const FathomContext = createContext<Partial<FathomContextInterface>>({})\n","import { useContext } from 'react'\n\nimport { FathomContext } from '../FathomContext'\nimport type { FathomContextInterface } from '../types'\n\nexport const useFathom = (): FathomContextInterface => {\n const context = useContext(FathomContext)\n return context\n}\n\nuseFathom.displayName = 'useFathom'\n","import React, { useEffect, useRef } from 'react'\n\nimport { useRouter } from 'next/router'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface NextFathomTrackViewPagesProps {\n /**\n * Disable automatic pageview tracking on route changes\n * @default false\n */\n disableAutoTrack?: boolean\n}\n\n/**\n * Component that tracks pageviews for Next.js Pages Router.\n * Must be used within a FathomProvider.\n *\n * @example\n * ```tsx\n * // pages/_app.tsx\n * import { FathomProvider } from 'react-fathom'\n * import { NextFathomTrackViewPages } from 'react-fathom/next'\n *\n * function MyApp({ Component, pageProps }) {\n * return (\n * <FathomProvider siteId=\"YOUR_SITE_ID\">\n * <NextFathomTrackViewPages />\n * <Component {...pageProps} />\n * </FathomProvider>\n * )\n * }\n * ```\n */\nexport const NextFathomTrackViewPages: React.FC<\n NextFathomTrackViewPagesProps\n> = ({ disableAutoTrack = false }) => {\n const router = useRouter()\n const hasTrackedInitialPageview = useRef(false)\n const { trackPageview, client } = useFathom()\n\n // Track pageviews on route changes\n useEffect(() => {\n if (!trackPageview || !client || disableAutoTrack) {\n return\n }\n\n const handleRouteChangeComplete = (url: string): void => {\n trackPageview({\n url: window.location.origin + url,\n })\n }\n\n router.events.on('routeChangeComplete', handleRouteChangeComplete)\n\n return () => {\n router.events.off('routeChangeComplete', handleRouteChangeComplete)\n }\n }, [router.events, trackPageview, client, disableAutoTrack])\n\n // Track initial pageview (routeChangeComplete doesn't fire on initial load)\n useEffect(() => {\n if (\n !trackPageview ||\n !client ||\n disableAutoTrack ||\n !router.isReady ||\n hasTrackedInitialPageview.current\n ) {\n return\n }\n\n hasTrackedInitialPageview.current = true\n trackPageview({\n url: window.location.href,\n })\n }, [trackPageview, client, disableAutoTrack, router.isReady])\n\n // This component doesn't render anything\n return null\n}\n\nNextFathomTrackViewPages.displayName = 'NextFathomTrackViewPages'\n","import React, { useEffect, useRef } from 'react'\n\nimport { usePathname, useSearchParams } from 'next/navigation'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface NextFathomTrackViewAppProps {\n /**\n * Disable automatic pageview tracking on route changes\n * @default false\n */\n disableAutoTrack?: boolean\n}\n\n/**\n * Component that tracks pageviews for Next.js App Router.\n * Must be used within a FathomProvider.\n *\n * @example\n * ```tsx\n * // app/layout.tsx\n * import { FathomProvider } from 'react-fathom'\n * import { NextFathomTrackViewApp } from 'react-fathom/next'\n *\n * export default function RootLayout({ children }) {\n * return (\n * <html>\n * <body>\n * <FathomProvider siteId=\"YOUR_SITE_ID\">\n * <NextFathomTrackViewApp />\n * {children}\n * </FathomProvider>\n * </body>\n * </html>\n * )\n * }\n * ```\n */\nexport const NextFathomTrackViewApp: React.FC<NextFathomTrackViewAppProps> = ({\n disableAutoTrack = false,\n}) => {\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const hasTrackedInitialPageview = useRef(false)\n const { trackPageview, client } = useFathom()\n\n // Track pageviews on route changes\n useEffect(() => {\n if (!trackPageview || !client || disableAutoTrack) {\n return\n }\n\n const searchString = searchParams?.toString()\n const url =\n pathname +\n (searchString !== undefined && searchString !== ''\n ? `?${searchString}`\n : '')\n\n // Track initial pageview only once\n if (!hasTrackedInitialPageview.current) {\n hasTrackedInitialPageview.current = true\n trackPageview({\n url: window.location.origin + url,\n })\n } else {\n // Track subsequent route changes\n trackPageview({\n url: window.location.origin + url,\n })\n }\n }, [pathname, searchParams, trackPageview, client, disableAutoTrack])\n\n // This component doesn't render anything\n return null\n}\n\nNextFathomTrackViewApp.displayName = 'NextFathomTrackViewApp'\n","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import React, { useCallback, useContext, useEffect, useMemo } from 'react'\n\nimport * as Fathom from 'fathom-client'\nimport type { EventOptions, LoadOptions, PageViewOptions } from 'fathom-client'\n\nimport { FathomContext } from './FathomContext'\nimport type { FathomProviderProps } from './types'\n\nconst FathomProvider: React.FC<FathomProviderProps> = ({\n children,\n client: providedClient,\n clientOptions,\n siteId,\n defaultPageviewOptions: providedDefaultPageviewOptions,\n defaultEventOptions: providedDefaultEventOptions,\n}) => {\n // Read parent context if it exists\n const parentContext = useContext(FathomContext)\n\n // Use provided client or fall back to parent client or default Fathom\n const client = useMemo(\n () => providedClient ?? parentContext.client ?? Fathom,\n [providedClient, parentContext.client],\n )\n\n // Merge defaultPageviewOptions: provided > parent > undefined\n const defaultPageviewOptions = useMemo(\n () =>\n providedDefaultPageviewOptions ?? parentContext.defaultPageviewOptions,\n [providedDefaultPageviewOptions, parentContext.defaultPageviewOptions],\n )\n\n // Merge defaultEventOptions: provided > parent > undefined\n const defaultEventOptions = useMemo(\n () => providedDefaultEventOptions ?? parentContext.defaultEventOptions,\n [providedDefaultEventOptions, parentContext.defaultEventOptions],\n )\n\n const blockTrackingForMe = useCallback(() => {\n client.blockTrackingForMe()\n }, [client])\n\n const enableTrackingForMe = useCallback(() => {\n client.enableTrackingForMe()\n }, [client])\n\n const isTrackingEnabled = useCallback(() => {\n return client.isTrackingEnabled() ?? false\n }, [client])\n\n const load = useCallback(\n (siteId: string, clientOptions?: LoadOptions) => {\n client.load(siteId, clientOptions)\n },\n [client],\n )\n\n const setSite = useCallback(\n (siteId: string) => {\n client.setSite(siteId)\n },\n [client],\n )\n\n const trackEvent = useCallback(\n (category: string, options?: EventOptions) => {\n client.trackEvent(category, {\n ...defaultEventOptions,\n ...options,\n })\n },\n [client, defaultEventOptions],\n )\n\n const trackPageview = useCallback(\n (options?: PageViewOptions) => {\n client.trackPageview({\n ...defaultPageviewOptions,\n ...options,\n })\n },\n [client, defaultPageviewOptions],\n )\n\n const trackGoal = useCallback(\n (code: string, cents: number) => {\n client.trackGoal(code, cents)\n },\n [client],\n )\n\n useEffect(() => {\n if (siteId !== undefined) {\n load(siteId, clientOptions)\n }\n }, [clientOptions, load, siteId])\n\n return (\n <FathomContext.Provider\n value={{\n blockTrackingForMe,\n enableTrackingForMe,\n isTrackingEnabled,\n load,\n setSite,\n trackEvent,\n trackGoal,\n trackPageview,\n client,\n defaultPageviewOptions,\n defaultEventOptions,\n }}\n >\n {children}\n </FathomContext.Provider>\n )\n}\n\nFathomProvider.displayName = 'FathomProvider'\n\nexport { FathomProvider }\n","import React from 'react'\nimport type { ComponentType } from 'react'\n\nimport { FathomProvider } from '../../FathomProvider'\nimport type { FathomProviderProps } from '../../types'\nimport { NextFathomTrackViewPages } from '../NextFathomTrackViewPages'\nimport type { NextFathomProviderProps } from '../types'\n\n/**\n * Higher-order component that wraps your Next.js Pages Router app with FathomProvider\n * and automatically tracks pageviews using NextFathomTrackViewPages.\n *\n * @example\n * ```tsx\n * // pages/_app.tsx\n * import { withPagesRouter } from 'react-fathom/next'\n *\n * function MyApp({ Component, pageProps }) {\n * return <Component {...pageProps} />\n * }\n *\n * export default withPagesRouter(MyApp, {\n * siteId: 'YOUR_SITE_ID',\n * clientOptions: {\n * spa: 'auto',\n * },\n * })\n * ```\n */\nconst withPagesRouter = <P extends object>(\n Component: ComponentType<P>,\n providerProps?: NextFathomProviderProps,\n): ComponentType<P> => {\n const WithPagesRouter: React.FC<P> = (props) => {\n // Extract disableAutoTrack for the tracking component\n const { disableAutoTrack, ...fathomProviderProps } = providerProps ?? {}\n\n return (\n <FathomProvider {...(fathomProviderProps as FathomProviderProps)}>\n <NextFathomTrackViewPages disableAutoTrack={disableAutoTrack} />\n <Component {...props} />\n </FathomProvider>\n )\n }\n\n WithPagesRouter.displayName = `withPagesRouter(${Component.displayName || Component.name || 'Component'})`\n\n return WithPagesRouter\n}\n\nexport { withPagesRouter }\n","import React from 'react'\nimport type { ComponentType } from 'react'\n\nimport { FathomProvider } from '../../FathomProvider'\nimport type { FathomProviderProps } from '../../types'\nimport { NextFathomTrackViewApp } from '../NextFathomTrackViewApp'\nimport type { NextFathomProviderProps } from '../types'\n\n/**\n * Higher-order component that wraps your Next.js App Router app with FathomProvider\n * and automatically tracks pageviews using NextFathomTrackViewApp.\n *\n * @example\n * ```tsx\n * // app/layout.tsx\n * import { withAppRouter } from 'react-fathom/next'\n *\n * function RootLayout({ children }) {\n * return (\n * <html>\n * <body>{children}</body>\n * </html>\n * )\n * }\n *\n * export default withAppRouter(RootLayout, {\n * siteId: 'YOUR_SITE_ID',\n * clientOptions: {\n * spa: 'auto',\n * },\n * })\n * ```\n */\nconst withAppRouter = <P extends object>(\n Component: ComponentType<P>,\n providerProps?: NextFathomProviderProps,\n): ComponentType<P> => {\n const WithAppRouter: React.FC<P> = (props) => {\n // Extract disableAutoTrack for the tracking component\n const { disableAutoTrack, ...fathomProviderProps } = providerProps ?? {}\n\n return (\n <FathomProvider {...(fathomProviderProps as FathomProviderProps)}>\n <NextFathomTrackViewApp disableAutoTrack={disableAutoTrack} />\n <Component {...props} />\n </FathomProvider>\n )\n }\n\n WithAppRouter.displayName = `withAppRouter(${Component.displayName || Component.name || 'Component'})`\n\n return WithAppRouter\n}\n\nexport { withAppRouter }\n"],"names":["FathomContext","createContext","useFathom","context","useContext","displayName","NextFathomTrackViewPages","_ref","_ref$disableAutoTrack","disableAutoTrack","router","useRouter","hasTrackedInitialPageview","useRef","_useFathom","trackPageview","client","useEffect","handleRouteChangeComplete","url","window","location","origin","events","on","off","isReady","current","href","NextFathomTrackViewApp","pathname","usePathname","searchParams","useSearchParams","searchString","toString","undefined","concat","objectWithoutPropertiesLoose","FathomProvider","children","providedClient","clientOptions","siteId","providedDefaultPageviewOptions","defaultPageviewOptions","providedDefaultEventOptions","defaultEventOptions","parentContext","useMemo","_ref2","Fathom","blockTrackingForMe","useCallback","enableTrackingForMe","isTrackingEnabled","_client$isTrackingEna","load","setSite","trackEvent","category","options","_objectSpread","trackGoal","code","cents","React","createElement","Provider","value","withPagesRouter","Component","providerProps","WithPagesRouter","props","fathomProviderProps","_objectWithoutProperties","_excluded","name","withAppRouter","WithAppRouter"],"mappings":"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","x_google_ignoreList":[4,5,6,7,8,9]}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/FathomContext.tsx","../../../src/hooks/useFathom.ts","../../../src/next/NextFathomTrackViewPages.tsx","../../../src/next/NextFathomTrackViewApp.tsx","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../src/FathomProvider.tsx","../../../src/next/compositions/withPagesRouter.tsx","../../../src/next/compositions/withAppRouter.tsx"],"sourcesContent":["import { createContext } from 'react'\n\nimport type { FathomContextInterface } from './types'\n\nexport const FathomContext = createContext<Partial<FathomContextInterface>>({})\n","import { useContext } from 'react'\n\nimport { FathomContext } from '../FathomContext'\nimport type { FathomContextInterface } from '../types'\n\nexport const useFathom = (): FathomContextInterface => {\n const context = useContext(FathomContext)\n return context\n}\n\nuseFathom.displayName = 'useFathom'\n","import React, { useEffect, useRef } from 'react'\n\nimport { useRouter } from 'next/router'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface NextFathomTrackViewPagesProps {\n /**\n * Disable automatic pageview tracking on route changes\n * @default false\n */\n disableAutoTrack?: boolean\n}\n\n/**\n * Component that tracks pageviews for Next.js Pages Router.\n * Must be used within a FathomProvider.\n *\n * @example\n * ```tsx\n * // pages/_app.tsx\n * import { FathomProvider } from 'react-fathom'\n * import { NextFathomTrackViewPages } from 'react-fathom/next'\n *\n * function MyApp({ Component, pageProps }) {\n * return (\n * <FathomProvider siteId=\"YOUR_SITE_ID\">\n * <NextFathomTrackViewPages />\n * <Component {...pageProps} />\n * </FathomProvider>\n * )\n * }\n * ```\n */\nexport const NextFathomTrackViewPages: React.FC<\n NextFathomTrackViewPagesProps\n> = ({ disableAutoTrack = false }) => {\n const router = useRouter()\n const hasTrackedInitialPageview = useRef(false)\n const { trackPageview, client } = useFathom()\n\n // Track pageviews on route changes\n useEffect(() => {\n if (!trackPageview || !client || disableAutoTrack) {\n return\n }\n\n const handleRouteChangeComplete = (url: string): void => {\n trackPageview({\n url: window.location.origin + url,\n })\n }\n\n // router.events is stable in Next.js, so we can use it without including router in dependencies\n router.events.on('routeChangeComplete', handleRouteChangeComplete)\n\n return () => {\n router.events.off('routeChangeComplete', handleRouteChangeComplete)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [trackPageview, client, disableAutoTrack])\n\n // Track initial pageview (routeChangeComplete doesn't fire on initial load)\n useEffect(() => {\n if (\n !trackPageview ||\n !client ||\n disableAutoTrack ||\n !router.isReady ||\n hasTrackedInitialPageview.current\n ) {\n return\n }\n\n hasTrackedInitialPageview.current = true\n trackPageview({\n url: window.location.href,\n })\n }, [trackPageview, client, disableAutoTrack, router.isReady])\n\n // This component doesn't render anything\n return null\n}\n\nNextFathomTrackViewPages.displayName = 'NextFathomTrackViewPages'\n","'use client'\n\nimport React, { useEffect, useRef } from 'react'\n\nimport { usePathname, useSearchParams } from 'next/navigation'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface NextFathomTrackViewAppProps {\n /**\n * Disable automatic pageview tracking on route changes\n * @default false\n */\n disableAutoTrack?: boolean\n}\n\n/**\n * Component that tracks pageviews for Next.js App Router.\n * Must be used within a FathomProvider.\n *\n * @example\n * ```tsx\n * // app/layout.tsx\n * import { FathomProvider } from 'react-fathom'\n * import { NextFathomTrackViewApp } from 'react-fathom/next'\n *\n * export default function RootLayout({ children }) {\n * return (\n * <html>\n * <body>\n * <FathomProvider siteId=\"YOUR_SITE_ID\">\n * <NextFathomTrackViewApp />\n * {children}\n * </FathomProvider>\n * </body>\n * </html>\n * )\n * }\n * ```\n */\nexport const NextFathomTrackViewApp: React.FC<NextFathomTrackViewAppProps> = ({\n disableAutoTrack = false,\n}) => {\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const hasTrackedInitialPageview = useRef(false)\n const { trackPageview, client } = useFathom()\n\n // Track pageviews on route changes\n useEffect(() => {\n if (!trackPageview || !client || disableAutoTrack) {\n return\n }\n\n const searchString = searchParams?.toString()\n const url =\n pathname +\n (searchString !== undefined && searchString !== ''\n ? `?${searchString}`\n : '')\n\n // Track initial pageview only once\n if (!hasTrackedInitialPageview.current) {\n hasTrackedInitialPageview.current = true\n trackPageview({\n url: window.location.origin + url,\n })\n } else {\n // Track subsequent route changes\n trackPageview({\n url: window.location.origin + url,\n })\n }\n }, [pathname, searchParams, trackPageview, client, disableAutoTrack])\n\n // This component doesn't render anything\n return null\n}\n\nNextFathomTrackViewApp.displayName = 'NextFathomTrackViewApp'\n","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","'use client'\n\nimport React, { useCallback, useContext, useEffect, useMemo } from 'react'\n\nimport * as Fathom from 'fathom-client'\nimport type { EventOptions, LoadOptions, PageViewOptions } from 'fathom-client'\n\nimport { FathomContext } from './FathomContext'\nimport type { FathomProviderProps } from './types'\n\nconst FathomProvider: React.FC<FathomProviderProps> = ({\n children,\n client: providedClient,\n clientOptions,\n siteId,\n defaultPageviewOptions: providedDefaultPageviewOptions,\n defaultEventOptions: providedDefaultEventOptions,\n}) => {\n // Read parent context if it exists\n const parentContext = useContext(FathomContext)\n\n // Use provided client or fall back to parent client or default Fathom\n const client = useMemo(\n () => providedClient ?? parentContext.client ?? Fathom,\n [providedClient, parentContext.client],\n )\n\n // Merge defaultPageviewOptions: provided > parent > undefined\n const defaultPageviewOptions = useMemo(\n () =>\n providedDefaultPageviewOptions ?? parentContext.defaultPageviewOptions,\n [providedDefaultPageviewOptions, parentContext.defaultPageviewOptions],\n )\n\n // Merge defaultEventOptions: provided > parent > undefined\n const defaultEventOptions = useMemo(\n () => providedDefaultEventOptions ?? parentContext.defaultEventOptions,\n [providedDefaultEventOptions, parentContext.defaultEventOptions],\n )\n\n const blockTrackingForMe = useCallback(() => {\n client.blockTrackingForMe()\n }, [client])\n\n const enableTrackingForMe = useCallback(() => {\n client.enableTrackingForMe()\n }, [client])\n\n const isTrackingEnabled = useCallback(() => {\n return client.isTrackingEnabled() ?? false\n }, [client])\n\n const load = useCallback(\n (siteId: string, clientOptions?: LoadOptions) => {\n client.load(siteId, clientOptions)\n },\n [client],\n )\n\n const setSite = useCallback(\n (siteId: string) => {\n client.setSite(siteId)\n },\n [client],\n )\n\n const trackEvent = useCallback(\n (category: string, options?: EventOptions) => {\n client.trackEvent(category, {\n ...defaultEventOptions,\n ...options,\n })\n },\n [client, defaultEventOptions],\n )\n\n const trackPageview = useCallback(\n (options?: PageViewOptions) => {\n client.trackPageview({\n ...defaultPageviewOptions,\n ...options,\n })\n },\n [client, defaultPageviewOptions],\n )\n\n const trackGoal = useCallback(\n (code: string, cents: number) => {\n client.trackGoal(code, cents)\n },\n [client],\n )\n\n useEffect(() => {\n if (siteId !== undefined) {\n load(siteId, clientOptions)\n }\n }, [clientOptions, load, siteId])\n\n return (\n <FathomContext.Provider\n value={{\n blockTrackingForMe,\n enableTrackingForMe,\n isTrackingEnabled,\n load,\n setSite,\n trackEvent,\n trackGoal,\n trackPageview,\n client,\n defaultPageviewOptions,\n defaultEventOptions,\n }}\n >\n {children}\n </FathomContext.Provider>\n )\n}\n\nFathomProvider.displayName = 'FathomProvider'\n\nexport { FathomProvider }\n","import React from 'react'\nimport type { ComponentType } from 'react'\n\nimport { FathomProvider } from '../../FathomProvider'\nimport type { FathomProviderProps } from '../../types'\nimport { NextFathomTrackViewPages } from '../NextFathomTrackViewPages'\nimport type { NextFathomProviderProps } from '../types'\n\n/**\n * Higher-order component that wraps your Next.js Pages Router app with FathomProvider\n * and automatically tracks pageviews using NextFathomTrackViewPages.\n *\n * @example\n * ```tsx\n * // pages/_app.tsx\n * import { withPagesRouter } from 'react-fathom/next'\n *\n * function MyApp({ Component, pageProps }) {\n * return <Component {...pageProps} />\n * }\n *\n * export default withPagesRouter(MyApp, {\n * siteId: 'YOUR_SITE_ID',\n * clientOptions: {\n * spa: 'auto',\n * },\n * })\n * ```\n */\nconst withPagesRouter = <P extends object>(\n Component: ComponentType<P>,\n providerProps?: NextFathomProviderProps,\n): ComponentType<P> => {\n const WithPagesRouter: React.FC<P> = (props) => {\n // Extract disableAutoTrack for the tracking component\n const { disableAutoTrack, ...fathomProviderProps } = providerProps ?? {}\n\n return (\n <FathomProvider {...(fathomProviderProps as FathomProviderProps)}>\n <NextFathomTrackViewPages disableAutoTrack={disableAutoTrack} />\n <Component {...props} />\n </FathomProvider>\n )\n }\n\n WithPagesRouter.displayName = `withPagesRouter(${Component.displayName || Component.name || 'Component'})`\n\n return WithPagesRouter\n}\n\nexport { withPagesRouter }\n","import React from 'react'\nimport type { ComponentType } from 'react'\n\nimport { FathomProvider } from '../../FathomProvider'\nimport type { FathomProviderProps } from '../../types'\nimport { NextFathomTrackViewApp } from '../NextFathomTrackViewApp'\nimport type { NextFathomProviderProps } from '../types'\n\n/**\n * Higher-order component that wraps your Next.js App Router app with FathomProvider\n * and automatically tracks pageviews using NextFathomTrackViewApp.\n *\n * @example\n * ```tsx\n * // app/layout.tsx\n * import { withAppRouter } from 'react-fathom/next'\n *\n * function RootLayout({ children }) {\n * return (\n * <html>\n * <body>{children}</body>\n * </html>\n * )\n * }\n *\n * export default withAppRouter(RootLayout, {\n * siteId: 'YOUR_SITE_ID',\n * clientOptions: {\n * spa: 'auto',\n * },\n * })\n * ```\n */\nconst withAppRouter = <P extends object>(\n Component: ComponentType<P>,\n providerProps?: NextFathomProviderProps,\n): ComponentType<P> => {\n const WithAppRouter: React.FC<P> = (props) => {\n // Extract disableAutoTrack for the tracking component\n const { disableAutoTrack, ...fathomProviderProps } = providerProps ?? {}\n\n return (\n <FathomProvider {...(fathomProviderProps as FathomProviderProps)}>\n <NextFathomTrackViewApp disableAutoTrack={disableAutoTrack} />\n <Component {...props} />\n </FathomProvider>\n )\n }\n\n WithAppRouter.displayName = `withAppRouter(${Component.displayName || Component.name || 'Component'})`\n\n return WithAppRouter\n}\n\nexport { withAppRouter }\n"],"names":["FathomContext","createContext","useFathom","context","useContext","displayName","NextFathomTrackViewPages","_ref","_ref$disableAutoTrack","disableAutoTrack","router","useRouter","hasTrackedInitialPageview","useRef","_useFathom","trackPageview","client","useEffect","handleRouteChangeComplete","url","window","location","origin","events","on","off","isReady","current","href","NextFathomTrackViewApp","pathname","usePathname","searchParams","useSearchParams","searchString","toString","undefined","concat","objectWithoutPropertiesLoose","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","FathomProvider","children","providedClient","clientOptions","siteId","providedDefaultPageviewOptions","defaultPageviewOptions","providedDefaultEventOptions","defaultEventOptions","parentContext","useMemo","_ref2","Fathom","blockTrackingForMe","useCallback","enableTrackingForMe","isTrackingEnabled","_client$isTrackingEna","load","setSite","trackEvent","category","options","trackGoal","code","cents","React","createElement","Provider","value","withPagesRouter","Component","providerProps","WithPagesRouter","props","fathomProviderProps","_objectWithoutProperties","_excluded","name","withAppRouter","WithAppRouter"],"mappings":"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","x_google_ignoreList":[4,5,6,7,8,9]}
|
package/dist/es/index.js
CHANGED
package/dist/es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/FathomContext.tsx","../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../src/FathomProvider.tsx","../../src/hooks/useFathom.ts","../../src/hooks/useTrackOnMount.ts","../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../src/hooks/useTrackOnClick.ts","../../src/hooks/useTrackOnVisible.ts","../../src/components/TrackClick.tsx","../../src/components/TrackPageview.tsx","../../src/components/TrackVisible.tsx"],"sourcesContent":["import { createContext } from 'react'\n\nimport type { FathomContextInterface } from './types'\n\nexport const FathomContext = createContext<Partial<FathomContextInterface>>({})\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import React, { useCallback, useContext, useEffect, useMemo } from 'react'\n\nimport * as Fathom from 'fathom-client'\nimport type { EventOptions, LoadOptions, PageViewOptions } from 'fathom-client'\n\nimport { FathomContext } from './FathomContext'\nimport type { FathomProviderProps } from './types'\n\nconst FathomProvider: React.FC<FathomProviderProps> = ({\n children,\n client: providedClient,\n clientOptions,\n siteId,\n defaultPageviewOptions: providedDefaultPageviewOptions,\n defaultEventOptions: providedDefaultEventOptions,\n}) => {\n // Read parent context if it exists\n const parentContext = useContext(FathomContext)\n\n // Use provided client or fall back to parent client or default Fathom\n const client = useMemo(\n () => providedClient ?? parentContext.client ?? Fathom,\n [providedClient, parentContext.client],\n )\n\n // Merge defaultPageviewOptions: provided > parent > undefined\n const defaultPageviewOptions = useMemo(\n () =>\n providedDefaultPageviewOptions ?? parentContext.defaultPageviewOptions,\n [providedDefaultPageviewOptions, parentContext.defaultPageviewOptions],\n )\n\n // Merge defaultEventOptions: provided > parent > undefined\n const defaultEventOptions = useMemo(\n () => providedDefaultEventOptions ?? parentContext.defaultEventOptions,\n [providedDefaultEventOptions, parentContext.defaultEventOptions],\n )\n\n const blockTrackingForMe = useCallback(() => {\n client.blockTrackingForMe()\n }, [client])\n\n const enableTrackingForMe = useCallback(() => {\n client.enableTrackingForMe()\n }, [client])\n\n const isTrackingEnabled = useCallback(() => {\n return client.isTrackingEnabled() ?? false\n }, [client])\n\n const load = useCallback(\n (siteId: string, clientOptions?: LoadOptions) => {\n client.load(siteId, clientOptions)\n },\n [client],\n )\n\n const setSite = useCallback(\n (siteId: string) => {\n client.setSite(siteId)\n },\n [client],\n )\n\n const trackEvent = useCallback(\n (category: string, options?: EventOptions) => {\n client.trackEvent(category, {\n ...defaultEventOptions,\n ...options,\n })\n },\n [client, defaultEventOptions],\n )\n\n const trackPageview = useCallback(\n (options?: PageViewOptions) => {\n client.trackPageview({\n ...defaultPageviewOptions,\n ...options,\n })\n },\n [client, defaultPageviewOptions],\n )\n\n const trackGoal = useCallback(\n (code: string, cents: number) => {\n client.trackGoal(code, cents)\n },\n [client],\n )\n\n useEffect(() => {\n if (siteId !== undefined) {\n load(siteId, clientOptions)\n }\n }, [clientOptions, load, siteId])\n\n return (\n <FathomContext.Provider\n value={{\n blockTrackingForMe,\n enableTrackingForMe,\n isTrackingEnabled,\n load,\n setSite,\n trackEvent,\n trackGoal,\n trackPageview,\n client,\n defaultPageviewOptions,\n defaultEventOptions,\n }}\n >\n {children}\n </FathomContext.Provider>\n )\n}\n\nFathomProvider.displayName = 'FathomProvider'\n\nexport { FathomProvider }\n","import { useContext } from 'react'\n\nimport { FathomContext } from '../FathomContext'\nimport type { FathomContextInterface } from '../types'\n\nexport const useFathom = (): FathomContextInterface => {\n const context = useContext(FathomContext)\n return context\n}\n\nuseFathom.displayName = 'useFathom'\n","import { useEffect } from 'react'\n\nimport type { PageViewOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\n/**\n * Hook to track a pageview when a component mounts\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * useTrackOnMount({ url: '/custom-page' })\n * return <div>Content</div>\n * }\n * ```\n */\nexport const useTrackOnMount = (options?: PageViewOptions) => {\n const { trackPageview } = useFathom()\n\n useEffect(() => {\n trackPageview?.(options)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n}\n","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","import { useCallback } from 'react'\nimport type { MouseEvent } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\nexport interface UseTrackOnClickOptions extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Whether to prevent default behavior\n * @default false\n */\n preventDefault?: boolean\n /**\n * Optional callback function to run after tracking\n * Receives the click event as a parameter\n */\n callback?: (e?: MouseEvent) => void\n}\n\n/**\n * Hook that returns a click handler function that tracks an event\n *\n * @example\n * ```tsx\n * function Button() {\n * const handleClick = useTrackOnClick({\n * eventName: 'button-click',\n * id: 'signup-button',\n * callback: (e) => {\n * console.log('Button clicked!')\n * // Your custom logic here\n * },\n * })\n *\n * return <button onClick={handleClick}>Sign Up</button>\n * }\n * ```\n */\nexport const useTrackOnClick = (\n options: UseTrackOnClickOptions,\n): ((e?: MouseEvent) => void) => {\n const { trackEvent } = useFathom()\n const {\n eventName,\n preventDefault = false,\n callback,\n ...eventOptions\n } = options\n\n return useCallback(\n (e?: MouseEvent) => {\n if (preventDefault && e) {\n e.preventDefault()\n }\n trackEvent?.(eventName, eventOptions)\n callback?.(e)\n },\n [eventName, preventDefault, trackEvent, eventOptions, callback],\n )\n}\n","import { useEffect, useRef } from 'react'\nimport type { RefObject } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\nexport interface UseTrackOnVisibleOptions extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Intersection observer options\n */\n observerOptions?: IntersectionObserverInit\n /**\n * Whether to track only once or every time it becomes visible\n * @default true\n */\n trackOnce?: boolean\n /**\n * Optional callback function to run after tracking\n * Receives the intersection observer entry as a parameter\n */\n callback?: (entry: IntersectionObserverEntry) => void\n}\n\n/**\n * Hook to track an event when an element becomes visible (using Intersection Observer)\n *\n * @example\n * ```tsx\n * function Section() {\n * const ref = useTrackOnVisible({\n * eventName: 'section-viewed',\n * section: 'hero',\n * callback: (entry) => {\n * console.log('Section is visible!', entry.isIntersecting)\n * // Your custom logic here\n * },\n * })\n *\n * return <section ref={ref}>Content</section>\n * }\n * ```\n */\nexport const useTrackOnVisible = (\n options: UseTrackOnVisibleOptions,\n): RefObject<HTMLElement | null> => {\n const { trackEvent } = useFathom()\n const {\n eventName,\n observerOptions,\n trackOnce = true,\n callback,\n ...eventOptions\n } = options\n const ref = useRef<HTMLElement | null>(null)\n const hasTracked = useRef(false)\n\n useEffect(() => {\n const element = ref.current\n if (!element) return\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!trackOnce || !hasTracked.current) {\n trackEvent?.(eventName, eventOptions)\n callback?.(entry)\n hasTracked.current = true\n }\n }\n })\n },\n {\n threshold: 0.1,\n ...observerOptions,\n },\n )\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n }\n }, [\n eventName,\n eventOptions,\n observerOptions,\n trackOnce,\n trackEvent,\n callback,\n ])\n\n return ref\n}\n","import React from 'react'\nimport type { ElementType, MouseEvent, ReactNode } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackClickProps extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Child element(s) to wrap\n */\n children: ReactNode\n /**\n * Whether to prevent default behavior\n * @default false\n */\n preventDefault?: boolean\n /**\n * Custom onClick handler (will be called before tracking)\n */\n onClick?: (e: MouseEvent) => void\n /**\n * HTML element to render as wrapper\n * @default 'div'\n */\n as?: ElementType\n}\n\n/**\n * Component wrapper that automatically tracks clicks on its children\n *\n * @example\n * ```tsx\n * <TrackClick eventName=\"cta-clicked\" id=\"hero-cta\">\n * <button>Get Started</button>\n * </TrackClick>\n * ```\n */\nexport const TrackClick: React.FC<TrackClickProps> = ({\n eventName,\n children,\n preventDefault = false,\n onClick,\n as: Component = 'div',\n ...eventOptions\n}) => {\n const { trackEvent } = useFathom()\n\n const handleClick = (e: MouseEvent) => {\n if (preventDefault) {\n e.preventDefault()\n }\n onClick?.(e)\n trackEvent?.(eventName, eventOptions)\n }\n\n return <Component onClick={handleClick}>{children}</Component>\n}\n","import React, { useEffect } from 'react'\nimport type { ReactNode } from 'react'\n\nimport type { PageViewOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackPageviewProps extends PageViewOptions {\n /**\n * Child element(s) to render\n */\n children?: ReactNode\n}\n\n/**\n * Component that tracks a pageview when it mounts\n *\n * @example\n * ```tsx\n * <TrackPageview url=\"/custom-page\">\n * <div>Page content</div>\n * </TrackPageview>\n * ```\n */\nexport const TrackPageview: React.FC<TrackPageviewProps> = ({\n children,\n ...pageviewOptions\n}) => {\n const { trackPageview } = useFathom()\n\n useEffect(() => {\n trackPageview?.(pageviewOptions)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return <>{children}</>\n}\n","import React, { useEffect, useRef, forwardRef, useCallback } from 'react'\nimport type { ElementType, ReactNode } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackVisibleProps extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Child element(s) to render\n */\n children?: ReactNode\n /**\n * Intersection observer options\n */\n observerOptions?: IntersectionObserverInit\n /**\n * Whether to track only once or every time it becomes visible\n * @default true\n */\n trackOnce?: boolean\n /**\n * HTML element to render as wrapper\n * @default 'div'\n */\n as?: ElementType\n}\n\n/**\n * Component that tracks an event when it becomes visible in the viewport\n *\n * @example\n * ```tsx\n * <TrackVisible eventName=\"section-viewed\" section=\"hero\">\n * <HeroSection />\n * </TrackVisible>\n * ```\n */\nexport const TrackVisible = forwardRef<HTMLDivElement, TrackVisibleProps>(\n function TrackVisible(\n {\n eventName,\n children,\n observerOptions,\n trackOnce = true,\n as: Component = 'div',\n ...eventOptions\n },\n forwardedRef,\n ) {\n const { trackEvent } = useFathom()\n const internalRef = useRef<HTMLDivElement | null>(null)\n const hasTracked = useRef(false)\n\n // Callback ref that handles both forwarded and internal refs\n const setRef = useCallback(\n (node: HTMLDivElement | null) => {\n internalRef.current = node\n\n if (typeof forwardedRef === 'function') {\n forwardedRef(node)\n } else if (forwardedRef !== null && forwardedRef !== undefined) {\n forwardedRef.current = node\n }\n },\n [forwardedRef],\n )\n\n useEffect(() => {\n const element = internalRef.current\n if (element === null) {\n return\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!trackOnce || !hasTracked.current) {\n trackEvent?.(eventName, eventOptions)\n hasTracked.current = true\n }\n }\n })\n },\n {\n threshold: 0.1,\n ...observerOptions,\n },\n )\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n }\n }, [eventName, eventOptions, observerOptions, trackOnce, trackEvent])\n\n return <Component ref={setRef}>{children}</Component>\n },\n)\n"],"names":["FathomContext","createContext","FathomProvider","_ref","children","providedClient","client","clientOptions","siteId","providedDefaultPageviewOptions","defaultPageviewOptions","providedDefaultEventOptions","defaultEventOptions","parentContext","useContext","useMemo","_ref2","Fathom","blockTrackingForMe","useCallback","enableTrackingForMe","isTrackingEnabled","_client$isTrackingEna","load","setSite","trackEvent","category","options","_objectSpread","trackPageview","trackGoal","code","cents","useEffect","undefined","React","createElement","Provider","value","displayName","useFathom","context","useTrackOnMount","_useFathom","objectWithoutPropertiesLoose","useTrackOnClick","eventName","_options$preventDefau","preventDefault","callback","eventOptions","_objectWithoutProperties","_excluded","e","useTrackOnVisible","observerOptions","_options$trackOnce","trackOnce","ref","useRef","hasTracked","element","current","observer","IntersectionObserver","entries","forEach","entry","isIntersecting","threshold","observe","disconnect","TrackClick","_ref$preventDefault","onClick","_ref$as","as","Component","handleClick","TrackPageview","pageviewOptions","Fragment","TrackVisible","forwardRef","forwardedRef","_ref$trackOnce","internalRef","setRef","node"],"mappings":"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","x_google_ignoreList":[1,2,3,4,8,9]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/FathomContext.tsx","../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../src/FathomProvider.tsx","../../src/hooks/useFathom.ts","../../src/hooks/useTrackOnMount.ts","../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../src/hooks/useTrackOnClick.ts","../../src/hooks/useTrackOnVisible.ts","../../src/components/TrackClick.tsx","../../src/components/TrackPageview.tsx","../../src/components/TrackVisible.tsx"],"sourcesContent":["import { createContext } from 'react'\n\nimport type { FathomContextInterface } from './types'\n\nexport const FathomContext = createContext<Partial<FathomContextInterface>>({})\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","'use client'\n\nimport React, { useCallback, useContext, useEffect, useMemo } from 'react'\n\nimport * as Fathom from 'fathom-client'\nimport type { EventOptions, LoadOptions, PageViewOptions } from 'fathom-client'\n\nimport { FathomContext } from './FathomContext'\nimport type { FathomProviderProps } from './types'\n\nconst FathomProvider: React.FC<FathomProviderProps> = ({\n children,\n client: providedClient,\n clientOptions,\n siteId,\n defaultPageviewOptions: providedDefaultPageviewOptions,\n defaultEventOptions: providedDefaultEventOptions,\n}) => {\n // Read parent context if it exists\n const parentContext = useContext(FathomContext)\n\n // Use provided client or fall back to parent client or default Fathom\n const client = useMemo(\n () => providedClient ?? parentContext.client ?? Fathom,\n [providedClient, parentContext.client],\n )\n\n // Merge defaultPageviewOptions: provided > parent > undefined\n const defaultPageviewOptions = useMemo(\n () =>\n providedDefaultPageviewOptions ?? parentContext.defaultPageviewOptions,\n [providedDefaultPageviewOptions, parentContext.defaultPageviewOptions],\n )\n\n // Merge defaultEventOptions: provided > parent > undefined\n const defaultEventOptions = useMemo(\n () => providedDefaultEventOptions ?? parentContext.defaultEventOptions,\n [providedDefaultEventOptions, parentContext.defaultEventOptions],\n )\n\n const blockTrackingForMe = useCallback(() => {\n client.blockTrackingForMe()\n }, [client])\n\n const enableTrackingForMe = useCallback(() => {\n client.enableTrackingForMe()\n }, [client])\n\n const isTrackingEnabled = useCallback(() => {\n return client.isTrackingEnabled() ?? false\n }, [client])\n\n const load = useCallback(\n (siteId: string, clientOptions?: LoadOptions) => {\n client.load(siteId, clientOptions)\n },\n [client],\n )\n\n const setSite = useCallback(\n (siteId: string) => {\n client.setSite(siteId)\n },\n [client],\n )\n\n const trackEvent = useCallback(\n (category: string, options?: EventOptions) => {\n client.trackEvent(category, {\n ...defaultEventOptions,\n ...options,\n })\n },\n [client, defaultEventOptions],\n )\n\n const trackPageview = useCallback(\n (options?: PageViewOptions) => {\n client.trackPageview({\n ...defaultPageviewOptions,\n ...options,\n })\n },\n [client, defaultPageviewOptions],\n )\n\n const trackGoal = useCallback(\n (code: string, cents: number) => {\n client.trackGoal(code, cents)\n },\n [client],\n )\n\n useEffect(() => {\n if (siteId !== undefined) {\n load(siteId, clientOptions)\n }\n }, [clientOptions, load, siteId])\n\n return (\n <FathomContext.Provider\n value={{\n blockTrackingForMe,\n enableTrackingForMe,\n isTrackingEnabled,\n load,\n setSite,\n trackEvent,\n trackGoal,\n trackPageview,\n client,\n defaultPageviewOptions,\n defaultEventOptions,\n }}\n >\n {children}\n </FathomContext.Provider>\n )\n}\n\nFathomProvider.displayName = 'FathomProvider'\n\nexport { FathomProvider }\n","import { useContext } from 'react'\n\nimport { FathomContext } from '../FathomContext'\nimport type { FathomContextInterface } from '../types'\n\nexport const useFathom = (): FathomContextInterface => {\n const context = useContext(FathomContext)\n return context\n}\n\nuseFathom.displayName = 'useFathom'\n","import { useEffect } from 'react'\n\nimport type { PageViewOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\n/**\n * Hook to track a pageview when a component mounts\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * useTrackOnMount({ url: '/custom-page' })\n * return <div>Content</div>\n * }\n * ```\n */\nexport const useTrackOnMount = (options?: PageViewOptions) => {\n const { trackPageview } = useFathom()\n\n useEffect(() => {\n trackPageview?.(options)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n}\n","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","import { useCallback } from 'react'\nimport type { MouseEvent } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\nexport interface UseTrackOnClickOptions extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Whether to prevent default behavior\n * @default false\n */\n preventDefault?: boolean\n /**\n * Optional callback function to run after tracking\n * Receives the click event as a parameter\n */\n callback?: (e?: MouseEvent) => void\n}\n\n/**\n * Hook that returns a click handler function that tracks an event\n *\n * @example\n * ```tsx\n * function Button() {\n * const handleClick = useTrackOnClick({\n * eventName: 'button-click',\n * id: 'signup-button',\n * callback: (e) => {\n * console.log('Button clicked!')\n * // Your custom logic here\n * },\n * })\n *\n * return <button onClick={handleClick}>Sign Up</button>\n * }\n * ```\n */\nexport const useTrackOnClick = (\n options: UseTrackOnClickOptions,\n): ((e?: MouseEvent) => void) => {\n const { trackEvent } = useFathom()\n const {\n eventName,\n preventDefault = false,\n callback,\n ...eventOptions\n } = options\n\n return useCallback(\n (e?: MouseEvent) => {\n if (preventDefault && e) {\n e.preventDefault()\n }\n trackEvent?.(eventName, eventOptions)\n callback?.(e)\n },\n [eventName, preventDefault, trackEvent, eventOptions, callback],\n )\n}\n","import { useEffect, useRef } from 'react'\nimport type { RefObject } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\nexport interface UseTrackOnVisibleOptions extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Intersection observer options\n */\n observerOptions?: IntersectionObserverInit\n /**\n * Whether to track only once or every time it becomes visible\n * @default true\n */\n trackOnce?: boolean\n /**\n * Optional callback function to run after tracking\n * Receives the intersection observer entry as a parameter\n */\n callback?: (entry: IntersectionObserverEntry) => void\n}\n\n/**\n * Hook to track an event when an element becomes visible (using Intersection Observer)\n *\n * @example\n * ```tsx\n * function Section() {\n * const ref = useTrackOnVisible({\n * eventName: 'section-viewed',\n * section: 'hero',\n * callback: (entry) => {\n * console.log('Section is visible!', entry.isIntersecting)\n * // Your custom logic here\n * },\n * })\n *\n * return <section ref={ref}>Content</section>\n * }\n * ```\n */\nexport const useTrackOnVisible = (\n options: UseTrackOnVisibleOptions,\n): RefObject<HTMLElement | null> => {\n const { trackEvent } = useFathom()\n const {\n eventName,\n observerOptions,\n trackOnce = true,\n callback,\n ...eventOptions\n } = options\n const ref = useRef<HTMLElement | null>(null)\n const hasTracked = useRef(false)\n\n useEffect(() => {\n const element = ref.current\n if (!element) return\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!trackOnce || !hasTracked.current) {\n trackEvent?.(eventName, eventOptions)\n callback?.(entry)\n hasTracked.current = true\n }\n }\n })\n },\n {\n threshold: 0.1,\n ...observerOptions,\n },\n )\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n }\n }, [\n eventName,\n eventOptions,\n observerOptions,\n trackOnce,\n trackEvent,\n callback,\n ])\n\n return ref\n}\n","import React from 'react'\nimport type { ElementType, MouseEvent, ReactNode } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackClickProps extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Child element(s) to wrap\n */\n children: ReactNode\n /**\n * Whether to prevent default behavior\n * @default false\n */\n preventDefault?: boolean\n /**\n * Custom onClick handler (will be called before tracking)\n */\n onClick?: (e: MouseEvent) => void\n /**\n * HTML element to render as wrapper\n * @default 'div'\n */\n as?: ElementType\n}\n\n/**\n * Component wrapper that automatically tracks clicks on its children\n *\n * @example\n * ```tsx\n * <TrackClick eventName=\"cta-clicked\" id=\"hero-cta\">\n * <button>Get Started</button>\n * </TrackClick>\n * ```\n */\nexport const TrackClick: React.FC<TrackClickProps> = ({\n eventName,\n children,\n preventDefault = false,\n onClick,\n as: Component = 'div',\n ...eventOptions\n}) => {\n const { trackEvent } = useFathom()\n\n const handleClick = (e: MouseEvent) => {\n if (preventDefault) {\n e.preventDefault()\n }\n onClick?.(e)\n trackEvent?.(eventName, eventOptions)\n }\n\n return <Component onClick={handleClick}>{children}</Component>\n}\n","import React, { useEffect } from 'react'\nimport type { ReactNode } from 'react'\n\nimport type { PageViewOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackPageviewProps extends PageViewOptions {\n /**\n * Child element(s) to render\n */\n children?: ReactNode\n}\n\n/**\n * Component that tracks a pageview when it mounts\n *\n * @example\n * ```tsx\n * <TrackPageview url=\"/custom-page\">\n * <div>Page content</div>\n * </TrackPageview>\n * ```\n */\nexport const TrackPageview: React.FC<TrackPageviewProps> = ({\n children,\n ...pageviewOptions\n}) => {\n const { trackPageview } = useFathom()\n\n useEffect(() => {\n trackPageview?.(pageviewOptions)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return <>{children}</>\n}\n","import React, { useEffect, useRef, forwardRef, useCallback } from 'react'\nimport type { ElementType, ReactNode } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackVisibleProps extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Child element(s) to render\n */\n children?: ReactNode\n /**\n * Intersection observer options\n */\n observerOptions?: IntersectionObserverInit\n /**\n * Whether to track only once or every time it becomes visible\n * @default true\n */\n trackOnce?: boolean\n /**\n * HTML element to render as wrapper\n * @default 'div'\n */\n as?: ElementType\n}\n\n/**\n * Component that tracks an event when it becomes visible in the viewport\n *\n * @example\n * ```tsx\n * <TrackVisible eventName=\"section-viewed\" section=\"hero\">\n * <HeroSection />\n * </TrackVisible>\n * ```\n */\nexport const TrackVisible = forwardRef<HTMLDivElement, TrackVisibleProps>(\n function TrackVisible(\n {\n eventName,\n children,\n observerOptions,\n trackOnce = true,\n as: Component = 'div',\n ...eventOptions\n },\n forwardedRef,\n ) {\n const { trackEvent } = useFathom()\n const internalRef = useRef<HTMLDivElement | null>(null)\n const hasTracked = useRef(false)\n\n // Callback ref that handles both forwarded and internal refs\n const setRef = useCallback(\n (node: HTMLDivElement | null) => {\n internalRef.current = node\n\n if (typeof forwardedRef === 'function') {\n forwardedRef(node)\n } else if (forwardedRef !== null && forwardedRef !== undefined) {\n forwardedRef.current = node\n }\n },\n [forwardedRef],\n )\n\n useEffect(() => {\n const element = internalRef.current\n if (element === null) {\n return\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!trackOnce || !hasTracked.current) {\n trackEvent?.(eventName, eventOptions)\n hasTracked.current = true\n }\n }\n })\n },\n {\n threshold: 0.1,\n ...observerOptions,\n },\n )\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n }\n }, [eventName, eventOptions, observerOptions, trackOnce, trackEvent])\n\n return <Component ref={setRef}>{children}</Component>\n },\n)\n"],"names":["FathomContext","createContext","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","FathomProvider","_ref","children","providedClient","client","clientOptions","siteId","providedDefaultPageviewOptions","defaultPageviewOptions","providedDefaultEventOptions","defaultEventOptions","parentContext","useContext","useMemo","_ref2","Fathom","blockTrackingForMe","useCallback","enableTrackingForMe","isTrackingEnabled","_client$isTrackingEna","load","setSite","trackEvent","category","options","trackPageview","trackGoal","code","cents","useEffect","undefined","React","createElement","Provider","value","displayName","useFathom","context","useTrackOnMount","_useFathom","objectWithoutPropertiesLoose","useTrackOnClick","eventName","_options$preventDefau","preventDefault","callback","eventOptions","_objectWithoutProperties","_excluded","useTrackOnVisible","observerOptions","_options$trackOnce","trackOnce","ref","useRef","hasTracked","element","current","observer","IntersectionObserver","entries","entry","isIntersecting","threshold","observe","disconnect","TrackClick","_ref$preventDefault","onClick","_ref$as","as","Component","handleClick","TrackPageview","pageviewOptions","Fragment","TrackVisible","forwardRef","forwardedRef","_ref$trackOnce","internalRef","setRef","node"],"mappings":"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","x_google_ignoreList":[1,2,3,4,8,9]}
|
package/dist/es/next/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! react-fathom - 0.1.
|
|
1
|
+
/*! react-fathom - 0.1.4 !*/
|
|
2
2
|
import React, { createContext, useContext, useRef, useEffect, useMemo, useCallback } from 'react';
|
|
3
3
|
import { useRouter } from 'next/router';
|
|
4
4
|
import { usePathname, useSearchParams } from 'next/navigation';
|
|
@@ -51,11 +51,14 @@ var NextFathomTrackViewPages = function NextFathomTrackViewPages(_ref) {
|
|
|
51
51
|
url: window.location.origin + url
|
|
52
52
|
});
|
|
53
53
|
};
|
|
54
|
+
|
|
55
|
+
// router.events is stable in Next.js, so we can use it without including router in dependencies
|
|
54
56
|
router.events.on('routeChangeComplete', handleRouteChangeComplete);
|
|
55
57
|
return function () {
|
|
56
58
|
router.events.off('routeChangeComplete', handleRouteChangeComplete);
|
|
57
59
|
};
|
|
58
|
-
|
|
60
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
61
|
+
}, [trackPageview, client, disableAutoTrack]);
|
|
59
62
|
|
|
60
63
|
// Track initial pageview (routeChangeComplete doesn't fire on initial load)
|
|
61
64
|
useEffect(function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/FathomContext.tsx","../../../src/hooks/useFathom.ts","../../../src/next/NextFathomTrackViewPages.tsx","../../../src/next/NextFathomTrackViewApp.tsx","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../src/FathomProvider.tsx","../../../src/next/compositions/withPagesRouter.tsx","../../../src/next/compositions/withAppRouter.tsx"],"sourcesContent":["import { createContext } from 'react'\n\nimport type { FathomContextInterface } from './types'\n\nexport const FathomContext = createContext<Partial<FathomContextInterface>>({})\n","import { useContext } from 'react'\n\nimport { FathomContext } from '../FathomContext'\nimport type { FathomContextInterface } from '../types'\n\nexport const useFathom = (): FathomContextInterface => {\n const context = useContext(FathomContext)\n return context\n}\n\nuseFathom.displayName = 'useFathom'\n","import React, { useEffect, useRef } from 'react'\n\nimport { useRouter } from 'next/router'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface NextFathomTrackViewPagesProps {\n /**\n * Disable automatic pageview tracking on route changes\n * @default false\n */\n disableAutoTrack?: boolean\n}\n\n/**\n * Component that tracks pageviews for Next.js Pages Router.\n * Must be used within a FathomProvider.\n *\n * @example\n * ```tsx\n * // pages/_app.tsx\n * import { FathomProvider } from 'react-fathom'\n * import { NextFathomTrackViewPages } from 'react-fathom/next'\n *\n * function MyApp({ Component, pageProps }) {\n * return (\n * <FathomProvider siteId=\"YOUR_SITE_ID\">\n * <NextFathomTrackViewPages />\n * <Component {...pageProps} />\n * </FathomProvider>\n * )\n * }\n * ```\n */\nexport const NextFathomTrackViewPages: React.FC<\n NextFathomTrackViewPagesProps\n> = ({ disableAutoTrack = false }) => {\n const router = useRouter()\n const hasTrackedInitialPageview = useRef(false)\n const { trackPageview, client } = useFathom()\n\n // Track pageviews on route changes\n useEffect(() => {\n if (!trackPageview || !client || disableAutoTrack) {\n return\n }\n\n const handleRouteChangeComplete = (url: string): void => {\n trackPageview({\n url: window.location.origin + url,\n })\n }\n\n router.events.on('routeChangeComplete', handleRouteChangeComplete)\n\n return () => {\n router.events.off('routeChangeComplete', handleRouteChangeComplete)\n }\n }, [router.events, trackPageview, client, disableAutoTrack])\n\n // Track initial pageview (routeChangeComplete doesn't fire on initial load)\n useEffect(() => {\n if (\n !trackPageview ||\n !client ||\n disableAutoTrack ||\n !router.isReady ||\n hasTrackedInitialPageview.current\n ) {\n return\n }\n\n hasTrackedInitialPageview.current = true\n trackPageview({\n url: window.location.href,\n })\n }, [trackPageview, client, disableAutoTrack, router.isReady])\n\n // This component doesn't render anything\n return null\n}\n\nNextFathomTrackViewPages.displayName = 'NextFathomTrackViewPages'\n","import React, { useEffect, useRef } from 'react'\n\nimport { usePathname, useSearchParams } from 'next/navigation'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface NextFathomTrackViewAppProps {\n /**\n * Disable automatic pageview tracking on route changes\n * @default false\n */\n disableAutoTrack?: boolean\n}\n\n/**\n * Component that tracks pageviews for Next.js App Router.\n * Must be used within a FathomProvider.\n *\n * @example\n * ```tsx\n * // app/layout.tsx\n * import { FathomProvider } from 'react-fathom'\n * import { NextFathomTrackViewApp } from 'react-fathom/next'\n *\n * export default function RootLayout({ children }) {\n * return (\n * <html>\n * <body>\n * <FathomProvider siteId=\"YOUR_SITE_ID\">\n * <NextFathomTrackViewApp />\n * {children}\n * </FathomProvider>\n * </body>\n * </html>\n * )\n * }\n * ```\n */\nexport const NextFathomTrackViewApp: React.FC<NextFathomTrackViewAppProps> = ({\n disableAutoTrack = false,\n}) => {\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const hasTrackedInitialPageview = useRef(false)\n const { trackPageview, client } = useFathom()\n\n // Track pageviews on route changes\n useEffect(() => {\n if (!trackPageview || !client || disableAutoTrack) {\n return\n }\n\n const searchString = searchParams?.toString()\n const url =\n pathname +\n (searchString !== undefined && searchString !== ''\n ? `?${searchString}`\n : '')\n\n // Track initial pageview only once\n if (!hasTrackedInitialPageview.current) {\n hasTrackedInitialPageview.current = true\n trackPageview({\n url: window.location.origin + url,\n })\n } else {\n // Track subsequent route changes\n trackPageview({\n url: window.location.origin + url,\n })\n }\n }, [pathname, searchParams, trackPageview, client, disableAutoTrack])\n\n // This component doesn't render anything\n return null\n}\n\nNextFathomTrackViewApp.displayName = 'NextFathomTrackViewApp'\n","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import React, { useCallback, useContext, useEffect, useMemo } from 'react'\n\nimport * as Fathom from 'fathom-client'\nimport type { EventOptions, LoadOptions, PageViewOptions } from 'fathom-client'\n\nimport { FathomContext } from './FathomContext'\nimport type { FathomProviderProps } from './types'\n\nconst FathomProvider: React.FC<FathomProviderProps> = ({\n children,\n client: providedClient,\n clientOptions,\n siteId,\n defaultPageviewOptions: providedDefaultPageviewOptions,\n defaultEventOptions: providedDefaultEventOptions,\n}) => {\n // Read parent context if it exists\n const parentContext = useContext(FathomContext)\n\n // Use provided client or fall back to parent client or default Fathom\n const client = useMemo(\n () => providedClient ?? parentContext.client ?? Fathom,\n [providedClient, parentContext.client],\n )\n\n // Merge defaultPageviewOptions: provided > parent > undefined\n const defaultPageviewOptions = useMemo(\n () =>\n providedDefaultPageviewOptions ?? parentContext.defaultPageviewOptions,\n [providedDefaultPageviewOptions, parentContext.defaultPageviewOptions],\n )\n\n // Merge defaultEventOptions: provided > parent > undefined\n const defaultEventOptions = useMemo(\n () => providedDefaultEventOptions ?? parentContext.defaultEventOptions,\n [providedDefaultEventOptions, parentContext.defaultEventOptions],\n )\n\n const blockTrackingForMe = useCallback(() => {\n client.blockTrackingForMe()\n }, [client])\n\n const enableTrackingForMe = useCallback(() => {\n client.enableTrackingForMe()\n }, [client])\n\n const isTrackingEnabled = useCallback(() => {\n return client.isTrackingEnabled() ?? false\n }, [client])\n\n const load = useCallback(\n (siteId: string, clientOptions?: LoadOptions) => {\n client.load(siteId, clientOptions)\n },\n [client],\n )\n\n const setSite = useCallback(\n (siteId: string) => {\n client.setSite(siteId)\n },\n [client],\n )\n\n const trackEvent = useCallback(\n (category: string, options?: EventOptions) => {\n client.trackEvent(category, {\n ...defaultEventOptions,\n ...options,\n })\n },\n [client, defaultEventOptions],\n )\n\n const trackPageview = useCallback(\n (options?: PageViewOptions) => {\n client.trackPageview({\n ...defaultPageviewOptions,\n ...options,\n })\n },\n [client, defaultPageviewOptions],\n )\n\n const trackGoal = useCallback(\n (code: string, cents: number) => {\n client.trackGoal(code, cents)\n },\n [client],\n )\n\n useEffect(() => {\n if (siteId !== undefined) {\n load(siteId, clientOptions)\n }\n }, [clientOptions, load, siteId])\n\n return (\n <FathomContext.Provider\n value={{\n blockTrackingForMe,\n enableTrackingForMe,\n isTrackingEnabled,\n load,\n setSite,\n trackEvent,\n trackGoal,\n trackPageview,\n client,\n defaultPageviewOptions,\n defaultEventOptions,\n }}\n >\n {children}\n </FathomContext.Provider>\n )\n}\n\nFathomProvider.displayName = 'FathomProvider'\n\nexport { FathomProvider }\n","import React from 'react'\nimport type { ComponentType } from 'react'\n\nimport { FathomProvider } from '../../FathomProvider'\nimport type { FathomProviderProps } from '../../types'\nimport { NextFathomTrackViewPages } from '../NextFathomTrackViewPages'\nimport type { NextFathomProviderProps } from '../types'\n\n/**\n * Higher-order component that wraps your Next.js Pages Router app with FathomProvider\n * and automatically tracks pageviews using NextFathomTrackViewPages.\n *\n * @example\n * ```tsx\n * // pages/_app.tsx\n * import { withPagesRouter } from 'react-fathom/next'\n *\n * function MyApp({ Component, pageProps }) {\n * return <Component {...pageProps} />\n * }\n *\n * export default withPagesRouter(MyApp, {\n * siteId: 'YOUR_SITE_ID',\n * clientOptions: {\n * spa: 'auto',\n * },\n * })\n * ```\n */\nconst withPagesRouter = <P extends object>(\n Component: ComponentType<P>,\n providerProps?: NextFathomProviderProps,\n): ComponentType<P> => {\n const WithPagesRouter: React.FC<P> = (props) => {\n // Extract disableAutoTrack for the tracking component\n const { disableAutoTrack, ...fathomProviderProps } = providerProps ?? {}\n\n return (\n <FathomProvider {...(fathomProviderProps as FathomProviderProps)}>\n <NextFathomTrackViewPages disableAutoTrack={disableAutoTrack} />\n <Component {...props} />\n </FathomProvider>\n )\n }\n\n WithPagesRouter.displayName = `withPagesRouter(${Component.displayName || Component.name || 'Component'})`\n\n return WithPagesRouter\n}\n\nexport { withPagesRouter }\n","import React from 'react'\nimport type { ComponentType } from 'react'\n\nimport { FathomProvider } from '../../FathomProvider'\nimport type { FathomProviderProps } from '../../types'\nimport { NextFathomTrackViewApp } from '../NextFathomTrackViewApp'\nimport type { NextFathomProviderProps } from '../types'\n\n/**\n * Higher-order component that wraps your Next.js App Router app with FathomProvider\n * and automatically tracks pageviews using NextFathomTrackViewApp.\n *\n * @example\n * ```tsx\n * // app/layout.tsx\n * import { withAppRouter } from 'react-fathom/next'\n *\n * function RootLayout({ children }) {\n * return (\n * <html>\n * <body>{children}</body>\n * </html>\n * )\n * }\n *\n * export default withAppRouter(RootLayout, {\n * siteId: 'YOUR_SITE_ID',\n * clientOptions: {\n * spa: 'auto',\n * },\n * })\n * ```\n */\nconst withAppRouter = <P extends object>(\n Component: ComponentType<P>,\n providerProps?: NextFathomProviderProps,\n): ComponentType<P> => {\n const WithAppRouter: React.FC<P> = (props) => {\n // Extract disableAutoTrack for the tracking component\n const { disableAutoTrack, ...fathomProviderProps } = providerProps ?? {}\n\n return (\n <FathomProvider {...(fathomProviderProps as FathomProviderProps)}>\n <NextFathomTrackViewApp disableAutoTrack={disableAutoTrack} />\n <Component {...props} />\n </FathomProvider>\n )\n }\n\n WithAppRouter.displayName = `withAppRouter(${Component.displayName || Component.name || 'Component'})`\n\n return WithAppRouter\n}\n\nexport { withAppRouter }\n"],"names":["FathomContext","createContext","useFathom","context","useContext","displayName","NextFathomTrackViewPages","_ref","_ref$disableAutoTrack","disableAutoTrack","router","useRouter","hasTrackedInitialPageview","useRef","_useFathom","trackPageview","client","useEffect","handleRouteChangeComplete","url","window","location","origin","events","on","off","isReady","current","href","NextFathomTrackViewApp","pathname","usePathname","searchParams","useSearchParams","searchString","toString","undefined","concat","objectWithoutPropertiesLoose","FathomProvider","children","providedClient","clientOptions","siteId","providedDefaultPageviewOptions","defaultPageviewOptions","providedDefaultEventOptions","defaultEventOptions","parentContext","useMemo","_ref2","Fathom","blockTrackingForMe","useCallback","enableTrackingForMe","isTrackingEnabled","_client$isTrackingEna","load","setSite","trackEvent","category","options","_objectSpread","trackGoal","code","cents","React","createElement","Provider","value","withPagesRouter","Component","providerProps","WithPagesRouter","props","fathomProviderProps","_objectWithoutProperties","_excluded","name","withAppRouter","WithAppRouter"],"mappings":"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","x_google_ignoreList":[4,5,6,7,8,9]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/FathomContext.tsx","../../../src/hooks/useFathom.ts","../../../src/next/NextFathomTrackViewPages.tsx","../../../src/next/NextFathomTrackViewApp.tsx","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../src/FathomProvider.tsx","../../../src/next/compositions/withPagesRouter.tsx","../../../src/next/compositions/withAppRouter.tsx"],"sourcesContent":["import { createContext } from 'react'\n\nimport type { FathomContextInterface } from './types'\n\nexport const FathomContext = createContext<Partial<FathomContextInterface>>({})\n","import { useContext } from 'react'\n\nimport { FathomContext } from '../FathomContext'\nimport type { FathomContextInterface } from '../types'\n\nexport const useFathom = (): FathomContextInterface => {\n const context = useContext(FathomContext)\n return context\n}\n\nuseFathom.displayName = 'useFathom'\n","import React, { useEffect, useRef } from 'react'\n\nimport { useRouter } from 'next/router'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface NextFathomTrackViewPagesProps {\n /**\n * Disable automatic pageview tracking on route changes\n * @default false\n */\n disableAutoTrack?: boolean\n}\n\n/**\n * Component that tracks pageviews for Next.js Pages Router.\n * Must be used within a FathomProvider.\n *\n * @example\n * ```tsx\n * // pages/_app.tsx\n * import { FathomProvider } from 'react-fathom'\n * import { NextFathomTrackViewPages } from 'react-fathom/next'\n *\n * function MyApp({ Component, pageProps }) {\n * return (\n * <FathomProvider siteId=\"YOUR_SITE_ID\">\n * <NextFathomTrackViewPages />\n * <Component {...pageProps} />\n * </FathomProvider>\n * )\n * }\n * ```\n */\nexport const NextFathomTrackViewPages: React.FC<\n NextFathomTrackViewPagesProps\n> = ({ disableAutoTrack = false }) => {\n const router = useRouter()\n const hasTrackedInitialPageview = useRef(false)\n const { trackPageview, client } = useFathom()\n\n // Track pageviews on route changes\n useEffect(() => {\n if (!trackPageview || !client || disableAutoTrack) {\n return\n }\n\n const handleRouteChangeComplete = (url: string): void => {\n trackPageview({\n url: window.location.origin + url,\n })\n }\n\n // router.events is stable in Next.js, so we can use it without including router in dependencies\n router.events.on('routeChangeComplete', handleRouteChangeComplete)\n\n return () => {\n router.events.off('routeChangeComplete', handleRouteChangeComplete)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [trackPageview, client, disableAutoTrack])\n\n // Track initial pageview (routeChangeComplete doesn't fire on initial load)\n useEffect(() => {\n if (\n !trackPageview ||\n !client ||\n disableAutoTrack ||\n !router.isReady ||\n hasTrackedInitialPageview.current\n ) {\n return\n }\n\n hasTrackedInitialPageview.current = true\n trackPageview({\n url: window.location.href,\n })\n }, [trackPageview, client, disableAutoTrack, router.isReady])\n\n // This component doesn't render anything\n return null\n}\n\nNextFathomTrackViewPages.displayName = 'NextFathomTrackViewPages'\n","'use client'\n\nimport React, { useEffect, useRef } from 'react'\n\nimport { usePathname, useSearchParams } from 'next/navigation'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface NextFathomTrackViewAppProps {\n /**\n * Disable automatic pageview tracking on route changes\n * @default false\n */\n disableAutoTrack?: boolean\n}\n\n/**\n * Component that tracks pageviews for Next.js App Router.\n * Must be used within a FathomProvider.\n *\n * @example\n * ```tsx\n * // app/layout.tsx\n * import { FathomProvider } from 'react-fathom'\n * import { NextFathomTrackViewApp } from 'react-fathom/next'\n *\n * export default function RootLayout({ children }) {\n * return (\n * <html>\n * <body>\n * <FathomProvider siteId=\"YOUR_SITE_ID\">\n * <NextFathomTrackViewApp />\n * {children}\n * </FathomProvider>\n * </body>\n * </html>\n * )\n * }\n * ```\n */\nexport const NextFathomTrackViewApp: React.FC<NextFathomTrackViewAppProps> = ({\n disableAutoTrack = false,\n}) => {\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const hasTrackedInitialPageview = useRef(false)\n const { trackPageview, client } = useFathom()\n\n // Track pageviews on route changes\n useEffect(() => {\n if (!trackPageview || !client || disableAutoTrack) {\n return\n }\n\n const searchString = searchParams?.toString()\n const url =\n pathname +\n (searchString !== undefined && searchString !== ''\n ? `?${searchString}`\n : '')\n\n // Track initial pageview only once\n if (!hasTrackedInitialPageview.current) {\n hasTrackedInitialPageview.current = true\n trackPageview({\n url: window.location.origin + url,\n })\n } else {\n // Track subsequent route changes\n trackPageview({\n url: window.location.origin + url,\n })\n }\n }, [pathname, searchParams, trackPageview, client, disableAutoTrack])\n\n // This component doesn't render anything\n return null\n}\n\nNextFathomTrackViewApp.displayName = 'NextFathomTrackViewApp'\n","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","'use client'\n\nimport React, { useCallback, useContext, useEffect, useMemo } from 'react'\n\nimport * as Fathom from 'fathom-client'\nimport type { EventOptions, LoadOptions, PageViewOptions } from 'fathom-client'\n\nimport { FathomContext } from './FathomContext'\nimport type { FathomProviderProps } from './types'\n\nconst FathomProvider: React.FC<FathomProviderProps> = ({\n children,\n client: providedClient,\n clientOptions,\n siteId,\n defaultPageviewOptions: providedDefaultPageviewOptions,\n defaultEventOptions: providedDefaultEventOptions,\n}) => {\n // Read parent context if it exists\n const parentContext = useContext(FathomContext)\n\n // Use provided client or fall back to parent client or default Fathom\n const client = useMemo(\n () => providedClient ?? parentContext.client ?? Fathom,\n [providedClient, parentContext.client],\n )\n\n // Merge defaultPageviewOptions: provided > parent > undefined\n const defaultPageviewOptions = useMemo(\n () =>\n providedDefaultPageviewOptions ?? parentContext.defaultPageviewOptions,\n [providedDefaultPageviewOptions, parentContext.defaultPageviewOptions],\n )\n\n // Merge defaultEventOptions: provided > parent > undefined\n const defaultEventOptions = useMemo(\n () => providedDefaultEventOptions ?? parentContext.defaultEventOptions,\n [providedDefaultEventOptions, parentContext.defaultEventOptions],\n )\n\n const blockTrackingForMe = useCallback(() => {\n client.blockTrackingForMe()\n }, [client])\n\n const enableTrackingForMe = useCallback(() => {\n client.enableTrackingForMe()\n }, [client])\n\n const isTrackingEnabled = useCallback(() => {\n return client.isTrackingEnabled() ?? false\n }, [client])\n\n const load = useCallback(\n (siteId: string, clientOptions?: LoadOptions) => {\n client.load(siteId, clientOptions)\n },\n [client],\n )\n\n const setSite = useCallback(\n (siteId: string) => {\n client.setSite(siteId)\n },\n [client],\n )\n\n const trackEvent = useCallback(\n (category: string, options?: EventOptions) => {\n client.trackEvent(category, {\n ...defaultEventOptions,\n ...options,\n })\n },\n [client, defaultEventOptions],\n )\n\n const trackPageview = useCallback(\n (options?: PageViewOptions) => {\n client.trackPageview({\n ...defaultPageviewOptions,\n ...options,\n })\n },\n [client, defaultPageviewOptions],\n )\n\n const trackGoal = useCallback(\n (code: string, cents: number) => {\n client.trackGoal(code, cents)\n },\n [client],\n )\n\n useEffect(() => {\n if (siteId !== undefined) {\n load(siteId, clientOptions)\n }\n }, [clientOptions, load, siteId])\n\n return (\n <FathomContext.Provider\n value={{\n blockTrackingForMe,\n enableTrackingForMe,\n isTrackingEnabled,\n load,\n setSite,\n trackEvent,\n trackGoal,\n trackPageview,\n client,\n defaultPageviewOptions,\n defaultEventOptions,\n }}\n >\n {children}\n </FathomContext.Provider>\n )\n}\n\nFathomProvider.displayName = 'FathomProvider'\n\nexport { FathomProvider }\n","import React from 'react'\nimport type { ComponentType } from 'react'\n\nimport { FathomProvider } from '../../FathomProvider'\nimport type { FathomProviderProps } from '../../types'\nimport { NextFathomTrackViewPages } from '../NextFathomTrackViewPages'\nimport type { NextFathomProviderProps } from '../types'\n\n/**\n * Higher-order component that wraps your Next.js Pages Router app with FathomProvider\n * and automatically tracks pageviews using NextFathomTrackViewPages.\n *\n * @example\n * ```tsx\n * // pages/_app.tsx\n * import { withPagesRouter } from 'react-fathom/next'\n *\n * function MyApp({ Component, pageProps }) {\n * return <Component {...pageProps} />\n * }\n *\n * export default withPagesRouter(MyApp, {\n * siteId: 'YOUR_SITE_ID',\n * clientOptions: {\n * spa: 'auto',\n * },\n * })\n * ```\n */\nconst withPagesRouter = <P extends object>(\n Component: ComponentType<P>,\n providerProps?: NextFathomProviderProps,\n): ComponentType<P> => {\n const WithPagesRouter: React.FC<P> = (props) => {\n // Extract disableAutoTrack for the tracking component\n const { disableAutoTrack, ...fathomProviderProps } = providerProps ?? {}\n\n return (\n <FathomProvider {...(fathomProviderProps as FathomProviderProps)}>\n <NextFathomTrackViewPages disableAutoTrack={disableAutoTrack} />\n <Component {...props} />\n </FathomProvider>\n )\n }\n\n WithPagesRouter.displayName = `withPagesRouter(${Component.displayName || Component.name || 'Component'})`\n\n return WithPagesRouter\n}\n\nexport { withPagesRouter }\n","import React from 'react'\nimport type { ComponentType } from 'react'\n\nimport { FathomProvider } from '../../FathomProvider'\nimport type { FathomProviderProps } from '../../types'\nimport { NextFathomTrackViewApp } from '../NextFathomTrackViewApp'\nimport type { NextFathomProviderProps } from '../types'\n\n/**\n * Higher-order component that wraps your Next.js App Router app with FathomProvider\n * and automatically tracks pageviews using NextFathomTrackViewApp.\n *\n * @example\n * ```tsx\n * // app/layout.tsx\n * import { withAppRouter } from 'react-fathom/next'\n *\n * function RootLayout({ children }) {\n * return (\n * <html>\n * <body>{children}</body>\n * </html>\n * )\n * }\n *\n * export default withAppRouter(RootLayout, {\n * siteId: 'YOUR_SITE_ID',\n * clientOptions: {\n * spa: 'auto',\n * },\n * })\n * ```\n */\nconst withAppRouter = <P extends object>(\n Component: ComponentType<P>,\n providerProps?: NextFathomProviderProps,\n): ComponentType<P> => {\n const WithAppRouter: React.FC<P> = (props) => {\n // Extract disableAutoTrack for the tracking component\n const { disableAutoTrack, ...fathomProviderProps } = providerProps ?? {}\n\n return (\n <FathomProvider {...(fathomProviderProps as FathomProviderProps)}>\n <NextFathomTrackViewApp disableAutoTrack={disableAutoTrack} />\n <Component {...props} />\n </FathomProvider>\n )\n }\n\n WithAppRouter.displayName = `withAppRouter(${Component.displayName || Component.name || 'Component'})`\n\n return WithAppRouter\n}\n\nexport { withAppRouter }\n"],"names":["FathomContext","createContext","useFathom","context","useContext","displayName","NextFathomTrackViewPages","_ref","_ref$disableAutoTrack","disableAutoTrack","router","useRouter","hasTrackedInitialPageview","useRef","_useFathom","trackPageview","client","useEffect","handleRouteChangeComplete","url","window","location","origin","events","on","off","isReady","current","href","NextFathomTrackViewApp","pathname","usePathname","searchParams","useSearchParams","searchString","toString","undefined","concat","objectWithoutPropertiesLoose","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","FathomProvider","children","providedClient","clientOptions","siteId","providedDefaultPageviewOptions","defaultPageviewOptions","providedDefaultEventOptions","defaultEventOptions","parentContext","useMemo","_ref2","Fathom","blockTrackingForMe","useCallback","enableTrackingForMe","isTrackingEnabled","_client$isTrackingEna","load","setSite","trackEvent","category","options","trackGoal","code","cents","React","createElement","Provider","value","withPagesRouter","Component","providerProps","WithPagesRouter","props","fathomProviderProps","_objectWithoutProperties","_excluded","name","withAppRouter","WithAppRouter"],"mappings":"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","x_google_ignoreList":[4,5,6,7,8,9]}
|
package/dist/react-fathom.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! react-fathom - 0.1.
|
|
1
|
+
/*! react-fathom - 0.1.4 !*/
|
|
2
2
|
(function (global, factory) {
|
|
3
3
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('fathom-client')) :
|
|
4
4
|
typeof define === 'function' && define.amd ? define(['exports', 'react', 'fathom-client'], factory) :
|
package/dist/react-fathom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-fathom.js","sources":["../src/FathomContext.tsx","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../src/FathomProvider.tsx","../src/hooks/useFathom.ts","../src/hooks/useTrackOnMount.ts","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../src/hooks/useTrackOnClick.ts","../src/hooks/useTrackOnVisible.ts","../src/components/TrackClick.tsx","../src/components/TrackPageview.tsx","../src/components/TrackVisible.tsx"],"sourcesContent":["import { createContext } from 'react'\n\nimport type { FathomContextInterface } from './types'\n\nexport const FathomContext = createContext<Partial<FathomContextInterface>>({})\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import React, { useCallback, useContext, useEffect, useMemo } from 'react'\n\nimport * as Fathom from 'fathom-client'\nimport type { EventOptions, LoadOptions, PageViewOptions } from 'fathom-client'\n\nimport { FathomContext } from './FathomContext'\nimport type { FathomProviderProps } from './types'\n\nconst FathomProvider: React.FC<FathomProviderProps> = ({\n children,\n client: providedClient,\n clientOptions,\n siteId,\n defaultPageviewOptions: providedDefaultPageviewOptions,\n defaultEventOptions: providedDefaultEventOptions,\n}) => {\n // Read parent context if it exists\n const parentContext = useContext(FathomContext)\n\n // Use provided client or fall back to parent client or default Fathom\n const client = useMemo(\n () => providedClient ?? parentContext.client ?? Fathom,\n [providedClient, parentContext.client],\n )\n\n // Merge defaultPageviewOptions: provided > parent > undefined\n const defaultPageviewOptions = useMemo(\n () =>\n providedDefaultPageviewOptions ?? parentContext.defaultPageviewOptions,\n [providedDefaultPageviewOptions, parentContext.defaultPageviewOptions],\n )\n\n // Merge defaultEventOptions: provided > parent > undefined\n const defaultEventOptions = useMemo(\n () => providedDefaultEventOptions ?? parentContext.defaultEventOptions,\n [providedDefaultEventOptions, parentContext.defaultEventOptions],\n )\n\n const blockTrackingForMe = useCallback(() => {\n client.blockTrackingForMe()\n }, [client])\n\n const enableTrackingForMe = useCallback(() => {\n client.enableTrackingForMe()\n }, [client])\n\n const isTrackingEnabled = useCallback(() => {\n return client.isTrackingEnabled() ?? false\n }, [client])\n\n const load = useCallback(\n (siteId: string, clientOptions?: LoadOptions) => {\n client.load(siteId, clientOptions)\n },\n [client],\n )\n\n const setSite = useCallback(\n (siteId: string) => {\n client.setSite(siteId)\n },\n [client],\n )\n\n const trackEvent = useCallback(\n (category: string, options?: EventOptions) => {\n client.trackEvent(category, {\n ...defaultEventOptions,\n ...options,\n })\n },\n [client, defaultEventOptions],\n )\n\n const trackPageview = useCallback(\n (options?: PageViewOptions) => {\n client.trackPageview({\n ...defaultPageviewOptions,\n ...options,\n })\n },\n [client, defaultPageviewOptions],\n )\n\n const trackGoal = useCallback(\n (code: string, cents: number) => {\n client.trackGoal(code, cents)\n },\n [client],\n )\n\n useEffect(() => {\n if (siteId !== undefined) {\n load(siteId, clientOptions)\n }\n }, [clientOptions, load, siteId])\n\n return (\n <FathomContext.Provider\n value={{\n blockTrackingForMe,\n enableTrackingForMe,\n isTrackingEnabled,\n load,\n setSite,\n trackEvent,\n trackGoal,\n trackPageview,\n client,\n defaultPageviewOptions,\n defaultEventOptions,\n }}\n >\n {children}\n </FathomContext.Provider>\n )\n}\n\nFathomProvider.displayName = 'FathomProvider'\n\nexport { FathomProvider }\n","import { useContext } from 'react'\n\nimport { FathomContext } from '../FathomContext'\nimport type { FathomContextInterface } from '../types'\n\nexport const useFathom = (): FathomContextInterface => {\n const context = useContext(FathomContext)\n return context\n}\n\nuseFathom.displayName = 'useFathom'\n","import { useEffect } from 'react'\n\nimport type { PageViewOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\n/**\n * Hook to track a pageview when a component mounts\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * useTrackOnMount({ url: '/custom-page' })\n * return <div>Content</div>\n * }\n * ```\n */\nexport const useTrackOnMount = (options?: PageViewOptions) => {\n const { trackPageview } = useFathom()\n\n useEffect(() => {\n trackPageview?.(options)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n}\n","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","import { useCallback } from 'react'\nimport type { MouseEvent } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\nexport interface UseTrackOnClickOptions extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Whether to prevent default behavior\n * @default false\n */\n preventDefault?: boolean\n /**\n * Optional callback function to run after tracking\n * Receives the click event as a parameter\n */\n callback?: (e?: MouseEvent) => void\n}\n\n/**\n * Hook that returns a click handler function that tracks an event\n *\n * @example\n * ```tsx\n * function Button() {\n * const handleClick = useTrackOnClick({\n * eventName: 'button-click',\n * id: 'signup-button',\n * callback: (e) => {\n * console.log('Button clicked!')\n * // Your custom logic here\n * },\n * })\n *\n * return <button onClick={handleClick}>Sign Up</button>\n * }\n * ```\n */\nexport const useTrackOnClick = (\n options: UseTrackOnClickOptions,\n): ((e?: MouseEvent) => void) => {\n const { trackEvent } = useFathom()\n const {\n eventName,\n preventDefault = false,\n callback,\n ...eventOptions\n } = options\n\n return useCallback(\n (e?: MouseEvent) => {\n if (preventDefault && e) {\n e.preventDefault()\n }\n trackEvent?.(eventName, eventOptions)\n callback?.(e)\n },\n [eventName, preventDefault, trackEvent, eventOptions, callback],\n )\n}\n","import { useEffect, useRef } from 'react'\nimport type { RefObject } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\nexport interface UseTrackOnVisibleOptions extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Intersection observer options\n */\n observerOptions?: IntersectionObserverInit\n /**\n * Whether to track only once or every time it becomes visible\n * @default true\n */\n trackOnce?: boolean\n /**\n * Optional callback function to run after tracking\n * Receives the intersection observer entry as a parameter\n */\n callback?: (entry: IntersectionObserverEntry) => void\n}\n\n/**\n * Hook to track an event when an element becomes visible (using Intersection Observer)\n *\n * @example\n * ```tsx\n * function Section() {\n * const ref = useTrackOnVisible({\n * eventName: 'section-viewed',\n * section: 'hero',\n * callback: (entry) => {\n * console.log('Section is visible!', entry.isIntersecting)\n * // Your custom logic here\n * },\n * })\n *\n * return <section ref={ref}>Content</section>\n * }\n * ```\n */\nexport const useTrackOnVisible = (\n options: UseTrackOnVisibleOptions,\n): RefObject<HTMLElement | null> => {\n const { trackEvent } = useFathom()\n const {\n eventName,\n observerOptions,\n trackOnce = true,\n callback,\n ...eventOptions\n } = options\n const ref = useRef<HTMLElement | null>(null)\n const hasTracked = useRef(false)\n\n useEffect(() => {\n const element = ref.current\n if (!element) return\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!trackOnce || !hasTracked.current) {\n trackEvent?.(eventName, eventOptions)\n callback?.(entry)\n hasTracked.current = true\n }\n }\n })\n },\n {\n threshold: 0.1,\n ...observerOptions,\n },\n )\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n }\n }, [\n eventName,\n eventOptions,\n observerOptions,\n trackOnce,\n trackEvent,\n callback,\n ])\n\n return ref\n}\n","import React from 'react'\nimport type { ElementType, MouseEvent, ReactNode } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackClickProps extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Child element(s) to wrap\n */\n children: ReactNode\n /**\n * Whether to prevent default behavior\n * @default false\n */\n preventDefault?: boolean\n /**\n * Custom onClick handler (will be called before tracking)\n */\n onClick?: (e: MouseEvent) => void\n /**\n * HTML element to render as wrapper\n * @default 'div'\n */\n as?: ElementType\n}\n\n/**\n * Component wrapper that automatically tracks clicks on its children\n *\n * @example\n * ```tsx\n * <TrackClick eventName=\"cta-clicked\" id=\"hero-cta\">\n * <button>Get Started</button>\n * </TrackClick>\n * ```\n */\nexport const TrackClick: React.FC<TrackClickProps> = ({\n eventName,\n children,\n preventDefault = false,\n onClick,\n as: Component = 'div',\n ...eventOptions\n}) => {\n const { trackEvent } = useFathom()\n\n const handleClick = (e: MouseEvent) => {\n if (preventDefault) {\n e.preventDefault()\n }\n onClick?.(e)\n trackEvent?.(eventName, eventOptions)\n }\n\n return <Component onClick={handleClick}>{children}</Component>\n}\n","import React, { useEffect } from 'react'\nimport type { ReactNode } from 'react'\n\nimport type { PageViewOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackPageviewProps extends PageViewOptions {\n /**\n * Child element(s) to render\n */\n children?: ReactNode\n}\n\n/**\n * Component that tracks a pageview when it mounts\n *\n * @example\n * ```tsx\n * <TrackPageview url=\"/custom-page\">\n * <div>Page content</div>\n * </TrackPageview>\n * ```\n */\nexport const TrackPageview: React.FC<TrackPageviewProps> = ({\n children,\n ...pageviewOptions\n}) => {\n const { trackPageview } = useFathom()\n\n useEffect(() => {\n trackPageview?.(pageviewOptions)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return <>{children}</>\n}\n","import React, { useEffect, useRef, forwardRef, useCallback } from 'react'\nimport type { ElementType, ReactNode } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackVisibleProps extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Child element(s) to render\n */\n children?: ReactNode\n /**\n * Intersection observer options\n */\n observerOptions?: IntersectionObserverInit\n /**\n * Whether to track only once or every time it becomes visible\n * @default true\n */\n trackOnce?: boolean\n /**\n * HTML element to render as wrapper\n * @default 'div'\n */\n as?: ElementType\n}\n\n/**\n * Component that tracks an event when it becomes visible in the viewport\n *\n * @example\n * ```tsx\n * <TrackVisible eventName=\"section-viewed\" section=\"hero\">\n * <HeroSection />\n * </TrackVisible>\n * ```\n */\nexport const TrackVisible = forwardRef<HTMLDivElement, TrackVisibleProps>(\n function TrackVisible(\n {\n eventName,\n children,\n observerOptions,\n trackOnce = true,\n as: Component = 'div',\n ...eventOptions\n },\n forwardedRef,\n ) {\n const { trackEvent } = useFathom()\n const internalRef = useRef<HTMLDivElement | null>(null)\n const hasTracked = useRef(false)\n\n // Callback ref that handles both forwarded and internal refs\n const setRef = useCallback(\n (node: HTMLDivElement | null) => {\n internalRef.current = node\n\n if (typeof forwardedRef === 'function') {\n forwardedRef(node)\n } else if (forwardedRef !== null && forwardedRef !== undefined) {\n forwardedRef.current = node\n }\n },\n [forwardedRef],\n )\n\n useEffect(() => {\n const element = internalRef.current\n if (element === null) {\n return\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!trackOnce || !hasTracked.current) {\n trackEvent?.(eventName, eventOptions)\n hasTracked.current = true\n }\n }\n })\n },\n {\n threshold: 0.1,\n ...observerOptions,\n },\n )\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n }\n }, [eventName, eventOptions, observerOptions, trackOnce, trackEvent])\n\n return <Component ref={setRef}>{children}</Component>\n },\n)\n"],"names":["FathomContext","createContext","FathomProvider","_ref","children","providedClient","client","clientOptions","siteId","providedDefaultPageviewOptions","defaultPageviewOptions","providedDefaultEventOptions","defaultEventOptions","parentContext","useContext","useMemo","_ref2","Fathom","blockTrackingForMe","useCallback","enableTrackingForMe","isTrackingEnabled","_client$isTrackingEna","load","setSite","trackEvent","category","options","_objectSpread","trackPageview","trackGoal","code","cents","useEffect","undefined","React","createElement","Provider","value","displayName","useFathom","context","useTrackOnMount","_useFathom","objectWithoutPropertiesLoose","useTrackOnClick","eventName","_options$preventDefau","preventDefault","callback","eventOptions","_objectWithoutProperties","_excluded","e","useTrackOnVisible","observerOptions","_options$trackOnce","trackOnce","ref","useRef","hasTracked","element","current","observer","IntersectionObserver","entries","forEach","entry","isIntersecting","threshold","observe","disconnect","TrackClick","_ref$preventDefault","onClick","_ref$as","as","Component","handleClick","TrackPageview","pageviewOptions","Fragment","TrackVisible","forwardRef","forwardedRef","_ref$trackOnce","internalRef","setRef","node"],"mappings":"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","x_google_ignoreList":[1,2,3,4,8,9]}
|
|
1
|
+
{"version":3,"file":"react-fathom.js","sources":["../src/FathomContext.tsx","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../src/FathomProvider.tsx","../src/hooks/useFathom.ts","../src/hooks/useTrackOnMount.ts","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../src/hooks/useTrackOnClick.ts","../src/hooks/useTrackOnVisible.ts","../src/components/TrackClick.tsx","../src/components/TrackPageview.tsx","../src/components/TrackVisible.tsx"],"sourcesContent":["import { createContext } from 'react'\n\nimport type { FathomContextInterface } from './types'\n\nexport const FathomContext = createContext<Partial<FathomContextInterface>>({})\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","'use client'\n\nimport React, { useCallback, useContext, useEffect, useMemo } from 'react'\n\nimport * as Fathom from 'fathom-client'\nimport type { EventOptions, LoadOptions, PageViewOptions } from 'fathom-client'\n\nimport { FathomContext } from './FathomContext'\nimport type { FathomProviderProps } from './types'\n\nconst FathomProvider: React.FC<FathomProviderProps> = ({\n children,\n client: providedClient,\n clientOptions,\n siteId,\n defaultPageviewOptions: providedDefaultPageviewOptions,\n defaultEventOptions: providedDefaultEventOptions,\n}) => {\n // Read parent context if it exists\n const parentContext = useContext(FathomContext)\n\n // Use provided client or fall back to parent client or default Fathom\n const client = useMemo(\n () => providedClient ?? parentContext.client ?? Fathom,\n [providedClient, parentContext.client],\n )\n\n // Merge defaultPageviewOptions: provided > parent > undefined\n const defaultPageviewOptions = useMemo(\n () =>\n providedDefaultPageviewOptions ?? parentContext.defaultPageviewOptions,\n [providedDefaultPageviewOptions, parentContext.defaultPageviewOptions],\n )\n\n // Merge defaultEventOptions: provided > parent > undefined\n const defaultEventOptions = useMemo(\n () => providedDefaultEventOptions ?? parentContext.defaultEventOptions,\n [providedDefaultEventOptions, parentContext.defaultEventOptions],\n )\n\n const blockTrackingForMe = useCallback(() => {\n client.blockTrackingForMe()\n }, [client])\n\n const enableTrackingForMe = useCallback(() => {\n client.enableTrackingForMe()\n }, [client])\n\n const isTrackingEnabled = useCallback(() => {\n return client.isTrackingEnabled() ?? false\n }, [client])\n\n const load = useCallback(\n (siteId: string, clientOptions?: LoadOptions) => {\n client.load(siteId, clientOptions)\n },\n [client],\n )\n\n const setSite = useCallback(\n (siteId: string) => {\n client.setSite(siteId)\n },\n [client],\n )\n\n const trackEvent = useCallback(\n (category: string, options?: EventOptions) => {\n client.trackEvent(category, {\n ...defaultEventOptions,\n ...options,\n })\n },\n [client, defaultEventOptions],\n )\n\n const trackPageview = useCallback(\n (options?: PageViewOptions) => {\n client.trackPageview({\n ...defaultPageviewOptions,\n ...options,\n })\n },\n [client, defaultPageviewOptions],\n )\n\n const trackGoal = useCallback(\n (code: string, cents: number) => {\n client.trackGoal(code, cents)\n },\n [client],\n )\n\n useEffect(() => {\n if (siteId !== undefined) {\n load(siteId, clientOptions)\n }\n }, [clientOptions, load, siteId])\n\n return (\n <FathomContext.Provider\n value={{\n blockTrackingForMe,\n enableTrackingForMe,\n isTrackingEnabled,\n load,\n setSite,\n trackEvent,\n trackGoal,\n trackPageview,\n client,\n defaultPageviewOptions,\n defaultEventOptions,\n }}\n >\n {children}\n </FathomContext.Provider>\n )\n}\n\nFathomProvider.displayName = 'FathomProvider'\n\nexport { FathomProvider }\n","import { useContext } from 'react'\n\nimport { FathomContext } from '../FathomContext'\nimport type { FathomContextInterface } from '../types'\n\nexport const useFathom = (): FathomContextInterface => {\n const context = useContext(FathomContext)\n return context\n}\n\nuseFathom.displayName = 'useFathom'\n","import { useEffect } from 'react'\n\nimport type { PageViewOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\n/**\n * Hook to track a pageview when a component mounts\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * useTrackOnMount({ url: '/custom-page' })\n * return <div>Content</div>\n * }\n * ```\n */\nexport const useTrackOnMount = (options?: PageViewOptions) => {\n const { trackPageview } = useFathom()\n\n useEffect(() => {\n trackPageview?.(options)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n}\n","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","import { useCallback } from 'react'\nimport type { MouseEvent } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\nexport interface UseTrackOnClickOptions extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Whether to prevent default behavior\n * @default false\n */\n preventDefault?: boolean\n /**\n * Optional callback function to run after tracking\n * Receives the click event as a parameter\n */\n callback?: (e?: MouseEvent) => void\n}\n\n/**\n * Hook that returns a click handler function that tracks an event\n *\n * @example\n * ```tsx\n * function Button() {\n * const handleClick = useTrackOnClick({\n * eventName: 'button-click',\n * id: 'signup-button',\n * callback: (e) => {\n * console.log('Button clicked!')\n * // Your custom logic here\n * },\n * })\n *\n * return <button onClick={handleClick}>Sign Up</button>\n * }\n * ```\n */\nexport const useTrackOnClick = (\n options: UseTrackOnClickOptions,\n): ((e?: MouseEvent) => void) => {\n const { trackEvent } = useFathom()\n const {\n eventName,\n preventDefault = false,\n callback,\n ...eventOptions\n } = options\n\n return useCallback(\n (e?: MouseEvent) => {\n if (preventDefault && e) {\n e.preventDefault()\n }\n trackEvent?.(eventName, eventOptions)\n callback?.(e)\n },\n [eventName, preventDefault, trackEvent, eventOptions, callback],\n )\n}\n","import { useEffect, useRef } from 'react'\nimport type { RefObject } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\nexport interface UseTrackOnVisibleOptions extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Intersection observer options\n */\n observerOptions?: IntersectionObserverInit\n /**\n * Whether to track only once or every time it becomes visible\n * @default true\n */\n trackOnce?: boolean\n /**\n * Optional callback function to run after tracking\n * Receives the intersection observer entry as a parameter\n */\n callback?: (entry: IntersectionObserverEntry) => void\n}\n\n/**\n * Hook to track an event when an element becomes visible (using Intersection Observer)\n *\n * @example\n * ```tsx\n * function Section() {\n * const ref = useTrackOnVisible({\n * eventName: 'section-viewed',\n * section: 'hero',\n * callback: (entry) => {\n * console.log('Section is visible!', entry.isIntersecting)\n * // Your custom logic here\n * },\n * })\n *\n * return <section ref={ref}>Content</section>\n * }\n * ```\n */\nexport const useTrackOnVisible = (\n options: UseTrackOnVisibleOptions,\n): RefObject<HTMLElement | null> => {\n const { trackEvent } = useFathom()\n const {\n eventName,\n observerOptions,\n trackOnce = true,\n callback,\n ...eventOptions\n } = options\n const ref = useRef<HTMLElement | null>(null)\n const hasTracked = useRef(false)\n\n useEffect(() => {\n const element = ref.current\n if (!element) return\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!trackOnce || !hasTracked.current) {\n trackEvent?.(eventName, eventOptions)\n callback?.(entry)\n hasTracked.current = true\n }\n }\n })\n },\n {\n threshold: 0.1,\n ...observerOptions,\n },\n )\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n }\n }, [\n eventName,\n eventOptions,\n observerOptions,\n trackOnce,\n trackEvent,\n callback,\n ])\n\n return ref\n}\n","import React from 'react'\nimport type { ElementType, MouseEvent, ReactNode } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackClickProps extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Child element(s) to wrap\n */\n children: ReactNode\n /**\n * Whether to prevent default behavior\n * @default false\n */\n preventDefault?: boolean\n /**\n * Custom onClick handler (will be called before tracking)\n */\n onClick?: (e: MouseEvent) => void\n /**\n * HTML element to render as wrapper\n * @default 'div'\n */\n as?: ElementType\n}\n\n/**\n * Component wrapper that automatically tracks clicks on its children\n *\n * @example\n * ```tsx\n * <TrackClick eventName=\"cta-clicked\" id=\"hero-cta\">\n * <button>Get Started</button>\n * </TrackClick>\n * ```\n */\nexport const TrackClick: React.FC<TrackClickProps> = ({\n eventName,\n children,\n preventDefault = false,\n onClick,\n as: Component = 'div',\n ...eventOptions\n}) => {\n const { trackEvent } = useFathom()\n\n const handleClick = (e: MouseEvent) => {\n if (preventDefault) {\n e.preventDefault()\n }\n onClick?.(e)\n trackEvent?.(eventName, eventOptions)\n }\n\n return <Component onClick={handleClick}>{children}</Component>\n}\n","import React, { useEffect } from 'react'\nimport type { ReactNode } from 'react'\n\nimport type { PageViewOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackPageviewProps extends PageViewOptions {\n /**\n * Child element(s) to render\n */\n children?: ReactNode\n}\n\n/**\n * Component that tracks a pageview when it mounts\n *\n * @example\n * ```tsx\n * <TrackPageview url=\"/custom-page\">\n * <div>Page content</div>\n * </TrackPageview>\n * ```\n */\nexport const TrackPageview: React.FC<TrackPageviewProps> = ({\n children,\n ...pageviewOptions\n}) => {\n const { trackPageview } = useFathom()\n\n useEffect(() => {\n trackPageview?.(pageviewOptions)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return <>{children}</>\n}\n","import React, { useEffect, useRef, forwardRef, useCallback } from 'react'\nimport type { ElementType, ReactNode } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackVisibleProps extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Child element(s) to render\n */\n children?: ReactNode\n /**\n * Intersection observer options\n */\n observerOptions?: IntersectionObserverInit\n /**\n * Whether to track only once or every time it becomes visible\n * @default true\n */\n trackOnce?: boolean\n /**\n * HTML element to render as wrapper\n * @default 'div'\n */\n as?: ElementType\n}\n\n/**\n * Component that tracks an event when it becomes visible in the viewport\n *\n * @example\n * ```tsx\n * <TrackVisible eventName=\"section-viewed\" section=\"hero\">\n * <HeroSection />\n * </TrackVisible>\n * ```\n */\nexport const TrackVisible = forwardRef<HTMLDivElement, TrackVisibleProps>(\n function TrackVisible(\n {\n eventName,\n children,\n observerOptions,\n trackOnce = true,\n as: Component = 'div',\n ...eventOptions\n },\n forwardedRef,\n ) {\n const { trackEvent } = useFathom()\n const internalRef = useRef<HTMLDivElement | null>(null)\n const hasTracked = useRef(false)\n\n // Callback ref that handles both forwarded and internal refs\n const setRef = useCallback(\n (node: HTMLDivElement | null) => {\n internalRef.current = node\n\n if (typeof forwardedRef === 'function') {\n forwardedRef(node)\n } else if (forwardedRef !== null && forwardedRef !== undefined) {\n forwardedRef.current = node\n }\n },\n [forwardedRef],\n )\n\n useEffect(() => {\n const element = internalRef.current\n if (element === null) {\n return\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!trackOnce || !hasTracked.current) {\n trackEvent?.(eventName, eventOptions)\n hasTracked.current = true\n }\n }\n })\n },\n {\n threshold: 0.1,\n ...observerOptions,\n },\n )\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n }\n }, [eventName, eventOptions, observerOptions, trackOnce, trackEvent])\n\n return <Component ref={setRef}>{children}</Component>\n },\n)\n"],"names":["FathomContext","createContext","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","FathomProvider","_ref","children","providedClient","client","clientOptions","siteId","providedDefaultPageviewOptions","defaultPageviewOptions","providedDefaultEventOptions","defaultEventOptions","parentContext","useContext","useMemo","_ref2","Fathom","blockTrackingForMe","useCallback","enableTrackingForMe","isTrackingEnabled","_client$isTrackingEna","load","setSite","trackEvent","category","options","trackPageview","trackGoal","code","cents","useEffect","undefined","React","createElement","Provider","value","displayName","useFathom","context","useTrackOnMount","_useFathom","objectWithoutPropertiesLoose","useTrackOnClick","eventName","_options$preventDefau","preventDefault","callback","eventOptions","_objectWithoutProperties","_excluded","useTrackOnVisible","observerOptions","_options$trackOnce","trackOnce","ref","useRef","hasTracked","element","current","observer","IntersectionObserver","entries","entry","isIntersecting","threshold","observe","disconnect","TrackClick","_ref$preventDefault","onClick","_ref$as","as","Component","handleClick","TrackPageview","pageviewOptions","Fragment","TrackVisible","forwardRef","forwardedRef","_ref$trackOnce","internalRef","setRef","node"],"mappings":"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","x_google_ignoreList":[1,2,3,4,8,9]}
|
package/dist/react-fathom.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! react-fathom - 0.1.
|
|
1
|
+
/*! react-fathom - 0.1.4 !*/
|
|
2
2
|
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("fathom-client")):"function"==typeof define&&define.amd?define(["exports","react","fathom-client"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["react-fathom"]={},e.React,e.Fathom)}(this,function(e,t,n){"use strict";function r(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var c=r(n),o=t.createContext({});function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function u(e){var t=function(e,t){if("object"!=i(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==i(t)?t:t+""}function a(e,t,n){return(t=u(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function f(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach(function(t){a(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var s=function(e){var n=e.children,r=e.client,i=e.clientOptions,u=e.siteId,a=e.defaultPageviewOptions,l=e.defaultEventOptions,s=t.useContext(o),b=t.useMemo(function(){var e;return null!==(e=null!=r?r:s.client)&&void 0!==e?e:c},[r,s.client]),v=t.useMemo(function(){return null!=a?a:s.defaultPageviewOptions},[a,s.defaultPageviewOptions]),p=t.useMemo(function(){return null!=l?l:s.defaultEventOptions},[l,s.defaultEventOptions]),O=t.useCallback(function(){b.blockTrackingForMe()},[b]),y=t.useCallback(function(){b.enableTrackingForMe()},[b]),d=t.useCallback(function(){var e;return null!==(e=b.isTrackingEnabled())&&void 0!==e&&e},[b]),m=t.useCallback(function(e,t){b.load(e,t)},[b]),k=t.useCallback(function(e){b.setSite(e)},[b]),g=t.useCallback(function(e,t){b.trackEvent(e,f(f({},p),t))},[b,p]),j=t.useCallback(function(e){b.trackPageview(f(f({},v),e))},[b,v]),P=t.useCallback(function(e,t){b.trackGoal(e,t)},[b]);return t.useEffect(function(){void 0!==u&&m(u,i)},[i,m,u]),t.createElement(o.Provider,{value:{blockTrackingForMe:O,enableTrackingForMe:y,isTrackingEnabled:d,load:m,setSite:k,trackEvent:g,trackGoal:P,trackPageview:j,client:b,defaultPageviewOptions:v,defaultEventOptions:p}},n)};s.displayName="FathomProvider";var b=function(){return t.useContext(o)};b.displayName="useFathom";function v(e,t){if(null==e)return{};var n,r,c=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(c[n]=e[n])}return c}var p=["eventName","preventDefault","callback"],O=["eventName","observerOptions","trackOnce","callback"];function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}var d=["eventName","children","preventDefault","onClick","as"],m=["children"],k=["eventName","children","observerOptions","trackOnce","as"];function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}var j=t.forwardRef(function(e,n){var r=e.eventName,c=e.children,o=e.observerOptions,i=e.trackOnce,u=void 0===i||i,l=e.as,f=void 0===l?"div":l,s=v(e,k),p=b().trackEvent,O=t.useRef(null),y=t.useRef(!1),d=t.useCallback(function(e){O.current=e,"function"==typeof n?n(e):null!=n&&(n.current=e)},[n]);return t.useEffect(function(){var e=O.current;if(null!==e){var t=new IntersectionObserver(function(e){e.forEach(function(e){e.isIntersecting&&(u&&y.current||(null==p||p(r,s),y.current=!0))})},function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach(function(t){a(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({threshold:.1},o));return t.observe(e),function(){t.disconnect()}}},[r,s,o,u,p]),t.createElement(f,{ref:d},c)});e.FathomContext=o,e.FathomProvider=s,e.TrackClick=function(e){var n=e.eventName,r=e.children,c=e.preventDefault,o=void 0!==c&&c,i=e.onClick,u=e.as,a=void 0===u?"div":u,l=v(e,d),f=b().trackEvent;return t.createElement(a,{onClick:function(e){o&&e.preventDefault(),null==i||i(e),null==f||f(n,l)}},r)},e.TrackPageview=function(e){var n=e.children,r=v(e,m),c=b().trackPageview;return t.useEffect(function(){null==c||c(r)},[]),t.createElement(t.Fragment,null,n)},e.TrackVisible=j,e.useFathom=b,e.useTrackOnClick=function(e){var n=b().trackEvent,r=e.eventName,c=e.preventDefault,o=void 0!==c&&c,i=e.callback,u=v(e,p);return t.useCallback(function(e){o&&e&&e.preventDefault(),null==n||n(r,u),null==i||i(e)},[r,o,n,u,i])},e.useTrackOnMount=function(e){var n=b().trackPageview;t.useEffect(function(){null==n||n(e)},[])},e.useTrackOnVisible=function(e){var n=b().trackEvent,r=e.eventName,c=e.observerOptions,o=e.trackOnce,i=void 0===o||o,u=e.callback,l=v(e,O),f=t.useRef(null),s=t.useRef(!1);return t.useEffect(function(){var e=f.current;if(e){var t=new IntersectionObserver(function(e){e.forEach(function(e){e.isIntersecting&&(i&&s.current||(null==n||n(r,l),null==u||u(e),s.current=!0))})},function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y(Object(n),!0).forEach(function(t){a(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({threshold:.1},c));return t.observe(e),function(){t.disconnect()}}},[r,l,c,i,n,u]),f}});
|
|
3
3
|
//# sourceMappingURL=react-fathom.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-fathom.min.js","sources":["../src/FathomContext.tsx","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../src/FathomProvider.tsx","../src/hooks/useFathom.ts","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../src/components/TrackVisible.tsx","../src/components/TrackClick.tsx","../src/components/TrackPageview.tsx","../src/hooks/useTrackOnClick.ts","../src/hooks/useTrackOnMount.ts","../src/hooks/useTrackOnVisible.ts"],"sourcesContent":["import { createContext } from 'react'\n\nimport type { FathomContextInterface } from './types'\n\nexport const FathomContext = createContext<Partial<FathomContextInterface>>({})\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import React, { useCallback, useContext, useEffect, useMemo } from 'react'\n\nimport * as Fathom from 'fathom-client'\nimport type { EventOptions, LoadOptions, PageViewOptions } from 'fathom-client'\n\nimport { FathomContext } from './FathomContext'\nimport type { FathomProviderProps } from './types'\n\nconst FathomProvider: React.FC<FathomProviderProps> = ({\n children,\n client: providedClient,\n clientOptions,\n siteId,\n defaultPageviewOptions: providedDefaultPageviewOptions,\n defaultEventOptions: providedDefaultEventOptions,\n}) => {\n // Read parent context if it exists\n const parentContext = useContext(FathomContext)\n\n // Use provided client or fall back to parent client or default Fathom\n const client = useMemo(\n () => providedClient ?? parentContext.client ?? Fathom,\n [providedClient, parentContext.client],\n )\n\n // Merge defaultPageviewOptions: provided > parent > undefined\n const defaultPageviewOptions = useMemo(\n () =>\n providedDefaultPageviewOptions ?? parentContext.defaultPageviewOptions,\n [providedDefaultPageviewOptions, parentContext.defaultPageviewOptions],\n )\n\n // Merge defaultEventOptions: provided > parent > undefined\n const defaultEventOptions = useMemo(\n () => providedDefaultEventOptions ?? parentContext.defaultEventOptions,\n [providedDefaultEventOptions, parentContext.defaultEventOptions],\n )\n\n const blockTrackingForMe = useCallback(() => {\n client.blockTrackingForMe()\n }, [client])\n\n const enableTrackingForMe = useCallback(() => {\n client.enableTrackingForMe()\n }, [client])\n\n const isTrackingEnabled = useCallback(() => {\n return client.isTrackingEnabled() ?? false\n }, [client])\n\n const load = useCallback(\n (siteId: string, clientOptions?: LoadOptions) => {\n client.load(siteId, clientOptions)\n },\n [client],\n )\n\n const setSite = useCallback(\n (siteId: string) => {\n client.setSite(siteId)\n },\n [client],\n )\n\n const trackEvent = useCallback(\n (category: string, options?: EventOptions) => {\n client.trackEvent(category, {\n ...defaultEventOptions,\n ...options,\n })\n },\n [client, defaultEventOptions],\n )\n\n const trackPageview = useCallback(\n (options?: PageViewOptions) => {\n client.trackPageview({\n ...defaultPageviewOptions,\n ...options,\n })\n },\n [client, defaultPageviewOptions],\n )\n\n const trackGoal = useCallback(\n (code: string, cents: number) => {\n client.trackGoal(code, cents)\n },\n [client],\n )\n\n useEffect(() => {\n if (siteId !== undefined) {\n load(siteId, clientOptions)\n }\n }, [clientOptions, load, siteId])\n\n return (\n <FathomContext.Provider\n value={{\n blockTrackingForMe,\n enableTrackingForMe,\n isTrackingEnabled,\n load,\n setSite,\n trackEvent,\n trackGoal,\n trackPageview,\n client,\n defaultPageviewOptions,\n defaultEventOptions,\n }}\n >\n {children}\n </FathomContext.Provider>\n )\n}\n\nFathomProvider.displayName = 'FathomProvider'\n\nexport { FathomProvider }\n","import { useContext } from 'react'\n\nimport { FathomContext } from '../FathomContext'\nimport type { FathomContextInterface } from '../types'\n\nexport const useFathom = (): FathomContextInterface => {\n const context = useContext(FathomContext)\n return context\n}\n\nuseFathom.displayName = 'useFathom'\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import React, { useEffect, useRef, forwardRef, useCallback } from 'react'\nimport type { ElementType, ReactNode } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackVisibleProps extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Child element(s) to render\n */\n children?: ReactNode\n /**\n * Intersection observer options\n */\n observerOptions?: IntersectionObserverInit\n /**\n * Whether to track only once or every time it becomes visible\n * @default true\n */\n trackOnce?: boolean\n /**\n * HTML element to render as wrapper\n * @default 'div'\n */\n as?: ElementType\n}\n\n/**\n * Component that tracks an event when it becomes visible in the viewport\n *\n * @example\n * ```tsx\n * <TrackVisible eventName=\"section-viewed\" section=\"hero\">\n * <HeroSection />\n * </TrackVisible>\n * ```\n */\nexport const TrackVisible = forwardRef<HTMLDivElement, TrackVisibleProps>(\n function TrackVisible(\n {\n eventName,\n children,\n observerOptions,\n trackOnce = true,\n as: Component = 'div',\n ...eventOptions\n },\n forwardedRef,\n ) {\n const { trackEvent } = useFathom()\n const internalRef = useRef<HTMLDivElement | null>(null)\n const hasTracked = useRef(false)\n\n // Callback ref that handles both forwarded and internal refs\n const setRef = useCallback(\n (node: HTMLDivElement | null) => {\n internalRef.current = node\n\n if (typeof forwardedRef === 'function') {\n forwardedRef(node)\n } else if (forwardedRef !== null && forwardedRef !== undefined) {\n forwardedRef.current = node\n }\n },\n [forwardedRef],\n )\n\n useEffect(() => {\n const element = internalRef.current\n if (element === null) {\n return\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!trackOnce || !hasTracked.current) {\n trackEvent?.(eventName, eventOptions)\n hasTracked.current = true\n }\n }\n })\n },\n {\n threshold: 0.1,\n ...observerOptions,\n },\n )\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n }\n }, [eventName, eventOptions, observerOptions, trackOnce, trackEvent])\n\n return <Component ref={setRef}>{children}</Component>\n },\n)\n","import React from 'react'\nimport type { ElementType, MouseEvent, ReactNode } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackClickProps extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Child element(s) to wrap\n */\n children: ReactNode\n /**\n * Whether to prevent default behavior\n * @default false\n */\n preventDefault?: boolean\n /**\n * Custom onClick handler (will be called before tracking)\n */\n onClick?: (e: MouseEvent) => void\n /**\n * HTML element to render as wrapper\n * @default 'div'\n */\n as?: ElementType\n}\n\n/**\n * Component wrapper that automatically tracks clicks on its children\n *\n * @example\n * ```tsx\n * <TrackClick eventName=\"cta-clicked\" id=\"hero-cta\">\n * <button>Get Started</button>\n * </TrackClick>\n * ```\n */\nexport const TrackClick: React.FC<TrackClickProps> = ({\n eventName,\n children,\n preventDefault = false,\n onClick,\n as: Component = 'div',\n ...eventOptions\n}) => {\n const { trackEvent } = useFathom()\n\n const handleClick = (e: MouseEvent) => {\n if (preventDefault) {\n e.preventDefault()\n }\n onClick?.(e)\n trackEvent?.(eventName, eventOptions)\n }\n\n return <Component onClick={handleClick}>{children}</Component>\n}\n","import React, { useEffect } from 'react'\nimport type { ReactNode } from 'react'\n\nimport type { PageViewOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackPageviewProps extends PageViewOptions {\n /**\n * Child element(s) to render\n */\n children?: ReactNode\n}\n\n/**\n * Component that tracks a pageview when it mounts\n *\n * @example\n * ```tsx\n * <TrackPageview url=\"/custom-page\">\n * <div>Page content</div>\n * </TrackPageview>\n * ```\n */\nexport const TrackPageview: React.FC<TrackPageviewProps> = ({\n children,\n ...pageviewOptions\n}) => {\n const { trackPageview } = useFathom()\n\n useEffect(() => {\n trackPageview?.(pageviewOptions)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return <>{children}</>\n}\n","import { useCallback } from 'react'\nimport type { MouseEvent } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\nexport interface UseTrackOnClickOptions extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Whether to prevent default behavior\n * @default false\n */\n preventDefault?: boolean\n /**\n * Optional callback function to run after tracking\n * Receives the click event as a parameter\n */\n callback?: (e?: MouseEvent) => void\n}\n\n/**\n * Hook that returns a click handler function that tracks an event\n *\n * @example\n * ```tsx\n * function Button() {\n * const handleClick = useTrackOnClick({\n * eventName: 'button-click',\n * id: 'signup-button',\n * callback: (e) => {\n * console.log('Button clicked!')\n * // Your custom logic here\n * },\n * })\n *\n * return <button onClick={handleClick}>Sign Up</button>\n * }\n * ```\n */\nexport const useTrackOnClick = (\n options: UseTrackOnClickOptions,\n): ((e?: MouseEvent) => void) => {\n const { trackEvent } = useFathom()\n const {\n eventName,\n preventDefault = false,\n callback,\n ...eventOptions\n } = options\n\n return useCallback(\n (e?: MouseEvent) => {\n if (preventDefault && e) {\n e.preventDefault()\n }\n trackEvent?.(eventName, eventOptions)\n callback?.(e)\n },\n [eventName, preventDefault, trackEvent, eventOptions, callback],\n )\n}\n","import { useEffect } from 'react'\n\nimport type { PageViewOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\n/**\n * Hook to track a pageview when a component mounts\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * useTrackOnMount({ url: '/custom-page' })\n * return <div>Content</div>\n * }\n * ```\n */\nexport const useTrackOnMount = (options?: PageViewOptions) => {\n const { trackPageview } = useFathom()\n\n useEffect(() => {\n trackPageview?.(options)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n}\n","import { useEffect, useRef } from 'react'\nimport type { RefObject } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\nexport interface UseTrackOnVisibleOptions extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Intersection observer options\n */\n observerOptions?: IntersectionObserverInit\n /**\n * Whether to track only once or every time it becomes visible\n * @default true\n */\n trackOnce?: boolean\n /**\n * Optional callback function to run after tracking\n * Receives the intersection observer entry as a parameter\n */\n callback?: (entry: IntersectionObserverEntry) => void\n}\n\n/**\n * Hook to track an event when an element becomes visible (using Intersection Observer)\n *\n * @example\n * ```tsx\n * function Section() {\n * const ref = useTrackOnVisible({\n * eventName: 'section-viewed',\n * section: 'hero',\n * callback: (entry) => {\n * console.log('Section is visible!', entry.isIntersecting)\n * // Your custom logic here\n * },\n * })\n *\n * return <section ref={ref}>Content</section>\n * }\n * ```\n */\nexport const useTrackOnVisible = (\n options: UseTrackOnVisibleOptions,\n): RefObject<HTMLElement | null> => {\n const { trackEvent } = useFathom()\n const {\n eventName,\n observerOptions,\n trackOnce = true,\n callback,\n ...eventOptions\n } = options\n const ref = useRef<HTMLElement | null>(null)\n const hasTracked = useRef(false)\n\n useEffect(() => {\n const element = ref.current\n if (!element) return\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!trackOnce || !hasTracked.current) {\n trackEvent?.(eventName, eventOptions)\n callback?.(entry)\n hasTracked.current = true\n }\n }\n })\n },\n {\n threshold: 0.1,\n ...observerOptions,\n },\n )\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n }\n }, [\n eventName,\n eventOptions,\n observerOptions,\n trackOnce,\n trackEvent,\n callback,\n ])\n\n return ref\n}\n"],"names":["FathomContext","createContext","_typeof","o","Symbol","iterator","constructor","prototype","toPropertyKey","t","i","r","e","toPrimitive","call","TypeError","String","Number","_defineProperty","Object","defineProperty","value","enumerable","configurable","writable","FathomProvider","_ref","children","providedClient","client","clientOptions","siteId","providedDefaultPageviewOptions","defaultPageviewOptions","providedDefaultEventOptions","defaultEventOptions","parentContext","useContext","useMemo","_ref2","Fathom","blockTrackingForMe","useCallback","enableTrackingForMe","isTrackingEnabled","_client$isTrackingEna","load","setSite","trackEvent","category","options","_objectSpread","trackPageview","trackGoal","code","cents","useEffect","undefined","React","createElement","Provider","displayName","useFathom","_objectWithoutProperties","n","hasOwnProperty","indexOf","objectWithoutPropertiesLoose","getOwnPropertySymbols","length","propertyIsEnumerable","TrackVisible","forwardRef","forwardedRef","eventName","observerOptions","_ref$trackOnce","trackOnce","_ref$as","as","Component","eventOptions","_excluded","internalRef","useRef","hasTracked","setRef","node","current","element","observer","IntersectionObserver","entries","forEach","entry","isIntersecting","threshold","observe","disconnect","ref","_ref$preventDefault","preventDefault","onClick","pageviewOptions","Fragment","_options$preventDefau","callback","_options$trackOnce"],"mappings":"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","x_google_ignoreList":[1,2,3,4,7,8]}
|
|
1
|
+
{"version":3,"file":"react-fathom.min.js","sources":["../src/FathomContext.tsx","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../src/FathomProvider.tsx","../src/hooks/useFathom.ts","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../src/components/TrackVisible.tsx","../src/components/TrackClick.tsx","../src/components/TrackPageview.tsx","../src/hooks/useTrackOnClick.ts","../src/hooks/useTrackOnMount.ts","../src/hooks/useTrackOnVisible.ts"],"sourcesContent":["import { createContext } from 'react'\n\nimport type { FathomContextInterface } from './types'\n\nexport const FathomContext = createContext<Partial<FathomContextInterface>>({})\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","'use client'\n\nimport React, { useCallback, useContext, useEffect, useMemo } from 'react'\n\nimport * as Fathom from 'fathom-client'\nimport type { EventOptions, LoadOptions, PageViewOptions } from 'fathom-client'\n\nimport { FathomContext } from './FathomContext'\nimport type { FathomProviderProps } from './types'\n\nconst FathomProvider: React.FC<FathomProviderProps> = ({\n children,\n client: providedClient,\n clientOptions,\n siteId,\n defaultPageviewOptions: providedDefaultPageviewOptions,\n defaultEventOptions: providedDefaultEventOptions,\n}) => {\n // Read parent context if it exists\n const parentContext = useContext(FathomContext)\n\n // Use provided client or fall back to parent client or default Fathom\n const client = useMemo(\n () => providedClient ?? parentContext.client ?? Fathom,\n [providedClient, parentContext.client],\n )\n\n // Merge defaultPageviewOptions: provided > parent > undefined\n const defaultPageviewOptions = useMemo(\n () =>\n providedDefaultPageviewOptions ?? parentContext.defaultPageviewOptions,\n [providedDefaultPageviewOptions, parentContext.defaultPageviewOptions],\n )\n\n // Merge defaultEventOptions: provided > parent > undefined\n const defaultEventOptions = useMemo(\n () => providedDefaultEventOptions ?? parentContext.defaultEventOptions,\n [providedDefaultEventOptions, parentContext.defaultEventOptions],\n )\n\n const blockTrackingForMe = useCallback(() => {\n client.blockTrackingForMe()\n }, [client])\n\n const enableTrackingForMe = useCallback(() => {\n client.enableTrackingForMe()\n }, [client])\n\n const isTrackingEnabled = useCallback(() => {\n return client.isTrackingEnabled() ?? false\n }, [client])\n\n const load = useCallback(\n (siteId: string, clientOptions?: LoadOptions) => {\n client.load(siteId, clientOptions)\n },\n [client],\n )\n\n const setSite = useCallback(\n (siteId: string) => {\n client.setSite(siteId)\n },\n [client],\n )\n\n const trackEvent = useCallback(\n (category: string, options?: EventOptions) => {\n client.trackEvent(category, {\n ...defaultEventOptions,\n ...options,\n })\n },\n [client, defaultEventOptions],\n )\n\n const trackPageview = useCallback(\n (options?: PageViewOptions) => {\n client.trackPageview({\n ...defaultPageviewOptions,\n ...options,\n })\n },\n [client, defaultPageviewOptions],\n )\n\n const trackGoal = useCallback(\n (code: string, cents: number) => {\n client.trackGoal(code, cents)\n },\n [client],\n )\n\n useEffect(() => {\n if (siteId !== undefined) {\n load(siteId, clientOptions)\n }\n }, [clientOptions, load, siteId])\n\n return (\n <FathomContext.Provider\n value={{\n blockTrackingForMe,\n enableTrackingForMe,\n isTrackingEnabled,\n load,\n setSite,\n trackEvent,\n trackGoal,\n trackPageview,\n client,\n defaultPageviewOptions,\n defaultEventOptions,\n }}\n >\n {children}\n </FathomContext.Provider>\n )\n}\n\nFathomProvider.displayName = 'FathomProvider'\n\nexport { FathomProvider }\n","import { useContext } from 'react'\n\nimport { FathomContext } from '../FathomContext'\nimport type { FathomContextInterface } from '../types'\n\nexport const useFathom = (): FathomContextInterface => {\n const context = useContext(FathomContext)\n return context\n}\n\nuseFathom.displayName = 'useFathom'\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import React, { useEffect, useRef, forwardRef, useCallback } from 'react'\nimport type { ElementType, ReactNode } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackVisibleProps extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Child element(s) to render\n */\n children?: ReactNode\n /**\n * Intersection observer options\n */\n observerOptions?: IntersectionObserverInit\n /**\n * Whether to track only once or every time it becomes visible\n * @default true\n */\n trackOnce?: boolean\n /**\n * HTML element to render as wrapper\n * @default 'div'\n */\n as?: ElementType\n}\n\n/**\n * Component that tracks an event when it becomes visible in the viewport\n *\n * @example\n * ```tsx\n * <TrackVisible eventName=\"section-viewed\" section=\"hero\">\n * <HeroSection />\n * </TrackVisible>\n * ```\n */\nexport const TrackVisible = forwardRef<HTMLDivElement, TrackVisibleProps>(\n function TrackVisible(\n {\n eventName,\n children,\n observerOptions,\n trackOnce = true,\n as: Component = 'div',\n ...eventOptions\n },\n forwardedRef,\n ) {\n const { trackEvent } = useFathom()\n const internalRef = useRef<HTMLDivElement | null>(null)\n const hasTracked = useRef(false)\n\n // Callback ref that handles both forwarded and internal refs\n const setRef = useCallback(\n (node: HTMLDivElement | null) => {\n internalRef.current = node\n\n if (typeof forwardedRef === 'function') {\n forwardedRef(node)\n } else if (forwardedRef !== null && forwardedRef !== undefined) {\n forwardedRef.current = node\n }\n },\n [forwardedRef],\n )\n\n useEffect(() => {\n const element = internalRef.current\n if (element === null) {\n return\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!trackOnce || !hasTracked.current) {\n trackEvent?.(eventName, eventOptions)\n hasTracked.current = true\n }\n }\n })\n },\n {\n threshold: 0.1,\n ...observerOptions,\n },\n )\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n }\n }, [eventName, eventOptions, observerOptions, trackOnce, trackEvent])\n\n return <Component ref={setRef}>{children}</Component>\n },\n)\n","import React from 'react'\nimport type { ElementType, MouseEvent, ReactNode } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackClickProps extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Child element(s) to wrap\n */\n children: ReactNode\n /**\n * Whether to prevent default behavior\n * @default false\n */\n preventDefault?: boolean\n /**\n * Custom onClick handler (will be called before tracking)\n */\n onClick?: (e: MouseEvent) => void\n /**\n * HTML element to render as wrapper\n * @default 'div'\n */\n as?: ElementType\n}\n\n/**\n * Component wrapper that automatically tracks clicks on its children\n *\n * @example\n * ```tsx\n * <TrackClick eventName=\"cta-clicked\" id=\"hero-cta\">\n * <button>Get Started</button>\n * </TrackClick>\n * ```\n */\nexport const TrackClick: React.FC<TrackClickProps> = ({\n eventName,\n children,\n preventDefault = false,\n onClick,\n as: Component = 'div',\n ...eventOptions\n}) => {\n const { trackEvent } = useFathom()\n\n const handleClick = (e: MouseEvent) => {\n if (preventDefault) {\n e.preventDefault()\n }\n onClick?.(e)\n trackEvent?.(eventName, eventOptions)\n }\n\n return <Component onClick={handleClick}>{children}</Component>\n}\n","import React, { useEffect } from 'react'\nimport type { ReactNode } from 'react'\n\nimport type { PageViewOptions } from 'fathom-client'\n\nimport { useFathom } from '../hooks/useFathom'\n\nexport interface TrackPageviewProps extends PageViewOptions {\n /**\n * Child element(s) to render\n */\n children?: ReactNode\n}\n\n/**\n * Component that tracks a pageview when it mounts\n *\n * @example\n * ```tsx\n * <TrackPageview url=\"/custom-page\">\n * <div>Page content</div>\n * </TrackPageview>\n * ```\n */\nexport const TrackPageview: React.FC<TrackPageviewProps> = ({\n children,\n ...pageviewOptions\n}) => {\n const { trackPageview } = useFathom()\n\n useEffect(() => {\n trackPageview?.(pageviewOptions)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return <>{children}</>\n}\n","import { useCallback } from 'react'\nimport type { MouseEvent } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\nexport interface UseTrackOnClickOptions extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Whether to prevent default behavior\n * @default false\n */\n preventDefault?: boolean\n /**\n * Optional callback function to run after tracking\n * Receives the click event as a parameter\n */\n callback?: (e?: MouseEvent) => void\n}\n\n/**\n * Hook that returns a click handler function that tracks an event\n *\n * @example\n * ```tsx\n * function Button() {\n * const handleClick = useTrackOnClick({\n * eventName: 'button-click',\n * id: 'signup-button',\n * callback: (e) => {\n * console.log('Button clicked!')\n * // Your custom logic here\n * },\n * })\n *\n * return <button onClick={handleClick}>Sign Up</button>\n * }\n * ```\n */\nexport const useTrackOnClick = (\n options: UseTrackOnClickOptions,\n): ((e?: MouseEvent) => void) => {\n const { trackEvent } = useFathom()\n const {\n eventName,\n preventDefault = false,\n callback,\n ...eventOptions\n } = options\n\n return useCallback(\n (e?: MouseEvent) => {\n if (preventDefault && e) {\n e.preventDefault()\n }\n trackEvent?.(eventName, eventOptions)\n callback?.(e)\n },\n [eventName, preventDefault, trackEvent, eventOptions, callback],\n )\n}\n","import { useEffect } from 'react'\n\nimport type { PageViewOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\n/**\n * Hook to track a pageview when a component mounts\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * useTrackOnMount({ url: '/custom-page' })\n * return <div>Content</div>\n * }\n * ```\n */\nexport const useTrackOnMount = (options?: PageViewOptions) => {\n const { trackPageview } = useFathom()\n\n useEffect(() => {\n trackPageview?.(options)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n}\n","import { useEffect, useRef } from 'react'\nimport type { RefObject } from 'react'\n\nimport type { EventOptions } from 'fathom-client'\n\nimport { useFathom } from './useFathom'\n\nexport interface UseTrackOnVisibleOptions extends EventOptions {\n /**\n * Event name to track\n */\n eventName: string\n /**\n * Intersection observer options\n */\n observerOptions?: IntersectionObserverInit\n /**\n * Whether to track only once or every time it becomes visible\n * @default true\n */\n trackOnce?: boolean\n /**\n * Optional callback function to run after tracking\n * Receives the intersection observer entry as a parameter\n */\n callback?: (entry: IntersectionObserverEntry) => void\n}\n\n/**\n * Hook to track an event when an element becomes visible (using Intersection Observer)\n *\n * @example\n * ```tsx\n * function Section() {\n * const ref = useTrackOnVisible({\n * eventName: 'section-viewed',\n * section: 'hero',\n * callback: (entry) => {\n * console.log('Section is visible!', entry.isIntersecting)\n * // Your custom logic here\n * },\n * })\n *\n * return <section ref={ref}>Content</section>\n * }\n * ```\n */\nexport const useTrackOnVisible = (\n options: UseTrackOnVisibleOptions,\n): RefObject<HTMLElement | null> => {\n const { trackEvent } = useFathom()\n const {\n eventName,\n observerOptions,\n trackOnce = true,\n callback,\n ...eventOptions\n } = options\n const ref = useRef<HTMLElement | null>(null)\n const hasTracked = useRef(false)\n\n useEffect(() => {\n const element = ref.current\n if (!element) return\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n if (!trackOnce || !hasTracked.current) {\n trackEvent?.(eventName, eventOptions)\n callback?.(entry)\n hasTracked.current = true\n }\n }\n })\n },\n {\n threshold: 0.1,\n ...observerOptions,\n },\n )\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n }\n }, [\n eventName,\n eventOptions,\n observerOptions,\n trackOnce,\n trackEvent,\n callback,\n ])\n\n return ref\n}\n"],"names":["FathomContext","createContext","_typeof","o","Symbol","iterator","constructor","prototype","toPropertyKey","t","i","r","e","toPrimitive","call","TypeError","String","Number","_defineProperty","Object","defineProperty","value","enumerable","configurable","writable","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","apply","_objectSpread","arguments","length","forEach","getOwnPropertyDescriptors","defineProperties","FathomProvider","_ref","children","providedClient","client","clientOptions","siteId","providedDefaultPageviewOptions","defaultPageviewOptions","providedDefaultEventOptions","defaultEventOptions","parentContext","useContext","useMemo","_ref2","Fathom","blockTrackingForMe","useCallback","enableTrackingForMe","isTrackingEnabled","_client$isTrackingEna","load","setSite","trackEvent","category","options","trackPageview","trackGoal","code","cents","useEffect","undefined","React","createElement","Provider","displayName","useFathom","_objectWithoutProperties","n","hasOwnProperty","indexOf","objectWithoutPropertiesLoose","propertyIsEnumerable","TrackVisible","forwardRef","forwardedRef","eventName","observerOptions","_ref$trackOnce","trackOnce","_ref$as","as","Component","eventOptions","_excluded","internalRef","useRef","hasTracked","setRef","node","current","element","observer","IntersectionObserver","entries","entry","isIntersecting","threshold","observe","disconnect","ref","_ref$preventDefault","preventDefault","onClick","pageviewOptions","Fragment","_options$preventDefau","callback","_options$trackOnce"],"mappings":"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","x_google_ignoreList":[1,2,3,4,7,8]}
|
package/package.json
CHANGED
package/src/FathomProvider.tsx
CHANGED
|
@@ -51,12 +51,14 @@ export const NextFathomTrackViewPages: React.FC<
|
|
|
51
51
|
})
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
// router.events is stable in Next.js, so we can use it without including router in dependencies
|
|
54
55
|
router.events.on('routeChangeComplete', handleRouteChangeComplete)
|
|
55
56
|
|
|
56
57
|
return () => {
|
|
57
58
|
router.events.off('routeChangeComplete', handleRouteChangeComplete)
|
|
58
59
|
}
|
|
59
|
-
|
|
60
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
61
|
+
}, [trackPageview, client, disableAutoTrack])
|
|
60
62
|
|
|
61
63
|
// Track initial pageview (routeChangeComplete doesn't fire on initial load)
|
|
62
64
|
useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FathomProvider.d.ts","sourceRoot":"","sources":["../src/FathomProvider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FathomProvider.d.ts","sourceRoot":"","sources":["../src/FathomProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsD,MAAM,OAAO,CAAA;AAM1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAElD,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA4GjD,CAAA;AAID,OAAO,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NextFathomTrackViewApp.d.ts","sourceRoot":"","sources":["../../src/next/NextFathomTrackViewApp.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NextFathomTrackViewApp.d.ts","sourceRoot":"","sources":["../../src/next/NextFathomTrackViewApp.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAMhD,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAqCxE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NextFathomTrackViewPages.d.ts","sourceRoot":"","sources":["../../src/next/NextFathomTrackViewPages.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAMhD,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAC7C,6BAA6B,
|
|
1
|
+
{"version":3,"file":"NextFathomTrackViewPages.d.ts","sourceRoot":"","sources":["../../src/next/NextFathomTrackViewPages.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAMhD,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAC7C,6BAA6B,CA+C9B,CAAA"}
|