react-fathom 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,11 +3,18 @@
3
3
  [![npm](https://img.shields.io/npm/v/react-fathom?style=flat-square)](https://www.pkgstats.com/pkg:react-fathom)
4
4
  [![NPM](https://img.shields.io/npm/l/react-fathom?style=flat-square)](LICENSE)
5
5
  [![npm](https://img.shields.io/npm/dt/react-fathom?style=flat-square)](https://www.pkgstats.com/pkg:react-fathom)
6
+ [![npm bundle size](https://img.shields.io/bundlephobia/minzip/react-fathom?style=flat-square)](https://bundlephobia.com/package/react-fathom)
7
+ [![GitHub stars](https://img.shields.io/github/stars/ryanhefner/react-fathom?style=flat-square)](https://github.com/ryanhefner/react-fathom/stargazers)
8
+ [![GitHub forks](https://img.shields.io/github/forks/ryanhefner/react-fathom?style=flat-square)](https://github.com/ryanhefner/react-fathom/network/members)
9
+ [![GitHub issues](https://img.shields.io/github/issues/ryanhefner/react-fathom?style=flat-square)](https://github.com/ryanhefner/react-fathom/issues)
10
+ [![GitHub pull requests](https://img.shields.io/github/issues-pr/ryanhefner/react-fathom?style=flat-square)](https://github.com/ryanhefner/react-fathom/pulls)
6
11
  [![Coveralls github](https://img.shields.io/coveralls/github/ryanhefner/react-fathom?style=flat-square)](https://coveralls.io/github/ryanhefner/react-fathom)
7
12
  [![codecov](https://codecov.io/gh/ryanhefner/react-fathom/branch/main/graph/badge.svg)](https://codecov.io/gh/ryanhefner/react-fathom)
8
13
  [![CircleCI](https://img.shields.io/circleci/build/github/ryanhefner/react-fathom?style=flat-square)](https://circleci.com/gh/ryanhefner/react-fathom)
9
- ![Known Vulnerabilities](https://snyk.io/test/github/ryanhefner/react-fathom/badge.svg)
10
- ![Twitter Follow](https://img.shields.io/twitter/follow/ryanhefner)
14
+ [![Known Vulnerabilities](https://snyk.io/test/github/ryanhefner/react-fathom/badge.svg)](https://snyk.io/test/github/ryanhefner/react-fathom)
15
+ [![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue?style=flat-square&logo=typescript)](https://www.typescriptlang.org/)
16
+ [![GitHub last commit](https://img.shields.io/github/last-commit/ryanhefner/react-fathom?style=flat-square)](https://github.com/ryanhefner/react-fathom/commits/main)
17
+ [![Twitter Follow](https://img.shields.io/twitter/follow/ryanhefner?style=flat-square)](https://twitter.com/ryanhefner)
11
18
 
12
19
  Easily compose Fathom Analytics into your React/Next.js apps with automatic pageview tracking and full TypeScript support.
13
20
 
@@ -1,4 +1,4 @@
1
- /*! react-fathom - 0.1.1 !*/
1
+ /*! react-fathom - 0.1.3 !*/
2
2
  'use strict';
3
3
 
4
4
  var React = require('react');
@@ -1,4 +1,4 @@
1
- /*! react-fathom - 0.1.1 !*/
1
+ /*! react-fathom - 0.1.3 !*/
2
2
  'use strict';
3
3
 
4
4
  var React = require('react');
package/dist/es/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! react-fathom - 0.1.1 !*/
1
+ /*! react-fathom - 0.1.3 !*/
2
2
  import React, { createContext, useContext, useMemo, useCallback, useEffect, useRef, forwardRef } from 'react';
3
3
  import * as Fathom from 'fathom-client';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! react-fathom - 0.1.1 !*/
1
+ /*! react-fathom - 0.1.3 !*/
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';
@@ -1,4 +1,4 @@
1
- /*! react-fathom - 0.1.1 !*/
1
+ /*! react-fathom - 0.1.3 !*/
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) :
@@ -1,3 +1,3 @@
1
- /*! react-fathom - 0.1.1 !*/
1
+ /*! react-fathom - 0.1.3 !*/
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-fathom",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Easily compose Fathom Analytics into your React/Next.js apps with automatic pageview tracking and full TypeScript support.",
5
5
  "keywords": [
6
6
  "fathom",
@@ -53,6 +53,13 @@
53
53
  "module": "./dist/es/index.js",
54
54
  "types": "./types/index.d.ts",
55
55
  "sideEffects": false,
56
+ "typesVersions": {
57
+ "*": {
58
+ "next": [
59
+ "./types/next/index.d.ts"
60
+ ]
61
+ }
62
+ },
56
63
  "exports": {
57
64
  ".": {
58
65
  "types": "./types/index.d.ts",
@@ -61,7 +68,7 @@
61
68
  "default": "./dist/es/index.js"
62
69
  },
63
70
  "./next": {
64
- "types": "./types/next.d.ts",
71
+ "types": "./types/next/index.d.ts",
65
72
  "import": "./dist/es/next/index.js",
66
73
  "require": "./dist/cjs/next/index.cjs",
67
74
  "default": "./dist/es/next/index.js"