react-ga
Version:
React Google Analytics Module
1 lines • 13 kB
JavaScript
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=2)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){console.warn("[react-ga]",e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e&&e.toString().replace(/^\s+|\s+$/g,"")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addTrackers=M,t.default=void 0,t.event=I,t.exception=J,t.ga=k,t.initialize=E,t.modalview=C,t.outboundLink=z,t.pageview=N,t.plugin=void 0,t.send=q,t.set=T,t.testModeAPI=void 0,t.timing=D;var r=s(n(3)),a=s(n(7)),o=s(n(1)),i=s(n(8)),u=s(n(0)),l=s(n(9)),c=s(n(10)),f=["category","action","label","value","nonInteraction","transport"];function s(e){return e&&e.__esModule?e:{default:e}}function d(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}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}function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y(e){return(y="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})(e)}function b(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return v(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return v(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var m="undefined"==typeof window||"undefined"==typeof document,h=!1,O=!0,j=!1,w=!0,A=!0,_=function(){var e;return j?c.default.ga.apply(c.default,arguments):!m&&(window.ga?(e=window).ga.apply(e,arguments):(0,u.default)("ReactGA.initialize must be called first or GoogleAnalytics should be loaded manually"))};function P(e){return(0,r.default)(e,O,A)}function S(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var a=n[0];"string"==typeof a?(!w&&Array.isArray(e)||_.apply(void 0,n),Array.isArray(e)&&e.forEach((function(e){_.apply(void 0,b(["".concat(e,".").concat(a)].concat(n.slice(1))))}))):(0,u.default)("ga command must be a string")}function x(e,t){e?t&&(t.debug&&!0===t.debug&&(h=!0),!1===t.titleCase&&(O=!1),!1===t.redactEmail&&(A=!1),t.useExistingGa)||(t&&t.gaOptions?_("create",e,t.gaOptions):_("create",e,"auto")):(0,u.default)("gaTrackingID is required in initialize()")}function M(e,t){return Array.isArray(e)?e.forEach((function(e){"object"===y(e)?x(e.trackingId,e):(0,u.default)("All configs must be an object")})):x(e,t),!0}function E(e,t){if(t&&!0===t.testMode)j=!0;else{if(m)return;t&&!0===t.standardImplementation||(0,i.default)(t)}w=!t||"boolean"!=typeof t.alwaysSendToDefaultTracker||t.alwaysSendToDefaultTracker,M(e,t)}function k(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.length>0&&(_.apply(void 0,t),h&&((0,l.default)("called ga('arguments');"),(0,l.default)("with arguments: ".concat(JSON.stringify(t))))),window.ga}function T(e,t){e?"object"===y(e)?(0===Object.keys(e).length&&(0,u.default)("empty `fieldsObject` given to .set()"),S(t,"set",e),h&&((0,l.default)("called ga('set', fieldsObject);"),(0,l.default)("with fieldsObject: ".concat(JSON.stringify(e))))):(0,u.default)("Expected `fieldsObject` arg to be an Object"):(0,u.default)("`fieldsObject` is required in .set()")}function q(e,t){S(t,"send",e),h&&((0,l.default)("called ga('send', fieldObject);"),(0,l.default)("with fieldObject: ".concat(JSON.stringify(e))),(0,l.default)("with trackers: ".concat(JSON.stringify(t))))}function N(e,t,n){if(e){var r=(0,o.default)(e);if(""!==r){var a={};if(n&&(a.title=n),S(t,"send",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){p(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}({hitType:"pageview",page:r},a)),h){(0,l.default)("called ga('send', 'pageview', path);");var i="";n&&(i=" and title: ".concat(n)),(0,l.default)("with path: ".concat(r).concat(i))}}else(0,u.default)("path cannot be an empty string in .pageview()")}else(0,u.default)("path is required in .pageview()")}function C(e,t){if(e){var n=(0,a.default)((0,o.default)(e));if(""!==n){var r="/modal/".concat(n);S(t,"send","pageview",r),h&&((0,l.default)("called ga('send', 'pageview', path);"),(0,l.default)("with path: ".concat(r)))}else(0,u.default)("modalName cannot be an empty string or a single / in .modalview()")}else(0,u.default)("modalName is required in .modalview(modalName)")}function D(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.category,n=e.variable,r=e.value,a=e.label,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(t&&n&&"number"==typeof r){var i={hitType:"timing",timingCategory:P(t),timingVar:P(n),timingValue:r};a&&(i.timingLabel=P(a)),q(i,o)}else(0,u.default)("args.category, args.variable AND args.value are required in timing() AND args.value has to be a number")}function I(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.category,n=e.action,r=e.label,a=e.value,o=e.nonInteraction,i=e.transport,l=d(e,f),c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;if(t&&n){var s={hitType:"event",eventCategory:P(t),eventAction:P(n)};r&&(s.eventLabel=P(r)),void 0!==a&&("number"!=typeof a?(0,u.default)("Expected `args.value` arg to be a Number."):s.eventValue=a),void 0!==o&&("boolean"!=typeof o?(0,u.default)("`args.nonInteraction` must be a boolean."):s.nonInteraction=o),void 0!==i&&("string"!=typeof i?(0,u.default)("`args.transport` must be a string."):(-1===["beacon","xhr","image"].indexOf(i)&&(0,u.default)("`args.transport` must be either one of these values: `beacon`, `xhr` or `image`"),s.transport=i)),Object.keys(l).filter((function(e){return"dimension"===e.substr(0,"dimension".length)})).forEach((function(e){s[e]=l[e]})),Object.keys(l).filter((function(e){return"metric"===e.substr(0,"metric".length)})).forEach((function(e){s[e]=l[e]})),q(s,c)}else(0,u.default)("args.category AND args.action are required in event()")}function J(e,t){var n=e.description,r=e.fatal,a={hitType:"exception"};n&&(a.exDescription=P(n)),void 0!==r&&("boolean"!=typeof r?(0,u.default)("`args.fatal` must be a boolean."):a.exFatal=r),q(a,t)}var L={require:function(e,t,n){if(e){var r=(0,o.default)(e);if(""!==r){var a=n?"".concat(n,".require"):"require";if(t){if("object"!==y(t))return void(0,u.default)("Expected `options` arg to be an Object");0===Object.keys(t).length&&(0,u.default)("Empty `options` given to .require()"),k(a,r,t),h&&(0,l.default)("called ga('require', '".concat(r,"', ").concat(JSON.stringify(t)))}else k(a,r),h&&(0,l.default)("called ga('require', '".concat(r,"');"))}else(0,u.default)("`name` cannot be an empty string in .require()")}else(0,u.default)("`name` is required in .require()")},execute:function(e,t){for(var n,r,a=arguments.length,o=new Array(a>2?a-2:0),i=2;i<a;i++)o[i-2]=arguments[i];if(1===o.length?n=o[0]:(r=o[0],n=o[1]),"string"!=typeof e)(0,u.default)("Expected `pluginName` arg to be a String.");else if("string"!=typeof t)(0,u.default)("Expected `action` arg to be a String.");else{var c="".concat(e,":").concat(t);n=n||null,r&&n?(k(c,r,n),h&&((0,l.default)("called ga('".concat(c,"');")),(0,l.default)('actionType: "'.concat(r,'" with payload: ').concat(JSON.stringify(n))))):n?(k(c,n),h&&((0,l.default)("called ga('".concat(c,"');")),(0,l.default)("with payload: ".concat(JSON.stringify(n))))):(k(c),h&&(0,l.default)("called ga('".concat(c,"');")))}}};function z(e,t,n){if("function"==typeof t)if(e&&e.label){var r={hitType:"event",eventCategory:"Outbound",eventAction:"Click",eventLabel:P(e.label)},a=!1,o=setTimeout((function(){a=!0,t()}),250);r.hitCallback=function(){clearTimeout(o),a||t()},q(r,n)}else(0,u.default)("args.label is required in outboundLink()");else(0,u.default)("hitCallback function is required")}t.plugin=L;var G=c.default;t.testModeAPI=G;var F={initialize:E,ga:k,set:T,send:q,pageview:N,modalview:C,timing:D,event:I,exception:J,plugin:L,outboundLink:z,testModeAPI:c.default};t.default=F},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=e||"";t&&(o=(0,a.default)(e));n&&(o=(0,r.default)(o));return o};var r=o(n(4)),a=o(n(6));function o(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if((0,a.default)(e))return(0,r.default)("This arg looks like an email address, redacting."),"REDACTED (Potential Email Address)";return e};var r=o(n(0)),a=o(n(5));function o(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"string"==typeof e&&-1!==e.indexOf("@")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,a.default)(e).replace(/[A-Za-z0-9\u00C0-\u00FF]+[^\s-]*/g,(function(e,t,n){return t>0&&t+e.length!==n.length&&e.search(o)>-1&&":"!==n.charAt(t-2)&&("-"!==n.charAt(t+e.length)||"-"===n.charAt(t-1))&&n.charAt(t-1).search(/[^\s-]/)<0?e.toLowerCase():e.substr(1).search(/[A-Z]|\../)>-1?e:e.charAt(0).toUpperCase()+e.substr(1)}))};var r,a=(r=n(1))&&r.__esModule?r:{default:r};var o=/^(a|an|and|as|at|but|by|en|for|if|in|nor|of|on|or|per|the|to|vs?\.?|via)$/i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if("/"===e.substring(0,1))return e.substring(1);return e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(r)return;r=!0;var t="https://www.google-analytics.com/analytics.js";e&&e.gaAddress?t=e.gaAddress:e&&e.debug&&(t="https://www.google-analytics.com/analytics_debug.js");var n=e&&e.onerror;a=window,o=document,i="script",u=t,l="ga",a.GoogleAnalyticsObject=l,a.ga=a.ga||function(){(a.ga.q=a.ga.q||[]).push(arguments)},a.ga.l=1*new Date,c=o.createElement(i),f=o.getElementsByTagName(i)[0],c.async=1,c.src=u,c.onerror=n,f.parentNode.insertBefore(c,f);var a,o,i,u,l,c,f};var r=!1},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){console.info("[react-ga]",e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.gaCalls=t.default=void 0;var r=[];t.gaCalls=r;var a={calls:r,ga:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.push([].concat(t))},resetCalls:function(){r.length=0}};t.default=a}])}));