@usermaven/sdk-js 1.4.2 → 1.4.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.
@@ -1540,8 +1540,8 @@ var FormTracking = /** @class */ (function () {
1540
1540
 
1541
1541
  var VERSION_INFO = {
1542
1542
  env: 'production',
1543
- date: '2024-11-15T06:39:44.205Z',
1544
- version: '1.4.2'
1543
+ date: '2024-11-19T10:08:32.912Z',
1544
+ version: '1.4.3'
1545
1545
  };
1546
1546
  var USERMAVEN_VERSION = VERSION_INFO.version + "/" + VERSION_INFO.env + "@" + VERSION_INFO.date;
1547
1547
  var MAX_AGE_TEN_YEARS = 31622400 * 10;
@@ -1648,7 +1648,12 @@ var browserEnv = {
1648
1648
  doc_encoding: document.characterSet,
1649
1649
  }); },
1650
1650
  getAnonymousId: function (_a) {
1651
- var name = _a.name, domain = _a.domain, _b = _a.crossDomainLinking, crossDomainLinking = _b === void 0 ? true : _b;
1651
+ var name = _a.name, domain = _a.domain, _b = _a.crossDomainLinking, crossDomainLinking = _b === void 0 ? true : _b, _c = _a.cookiePolicy, cookiePolicy = _c === void 0 ? 'keep' : _c;
1652
+ // In strict mode (cookiePolicy === 'strict'), don't use cookies at all
1653
+ if (cookiePolicy === 'strict') {
1654
+ // Return an empty string to indicate that we don't want to use cookies
1655
+ return "";
1656
+ }
1652
1657
  expireNonRootCookies(name);
1653
1658
  // Check if cross domain linking is enabled
1654
1659
  if (crossDomainLinking) {
@@ -1712,10 +1717,15 @@ function fetchApi(req, res, opts) {
1712
1717
  if (opts === void 0) { opts = {}; }
1713
1718
  return {
1714
1719
  getAnonymousId: function (_a) {
1715
- var name = _a.name, domain = _a.domain;
1720
+ var name = _a.name, domain = _a.domain, _b = _a.cookiePolicy, cookiePolicy = _b === void 0 ? 'keep' : _b;
1716
1721
  if (opts === null || opts === void 0 ? void 0 : opts.disableCookies) {
1717
1722
  return "";
1718
1723
  }
1724
+ // In strict mode (cookiePolicy === 'strict'), don't use cookies at all
1725
+ if (cookiePolicy === 'strict') {
1726
+ // Return an empty string to indicate that we don't want to use cookies
1727
+ return "";
1728
+ }
1719
1729
  var cookie = parseCookieString(req.headers["cookie"])[name];
1720
1730
  if (!cookie) {
1721
1731
  var cookieOpts = {
@@ -1789,10 +1799,15 @@ function httpApi(req, res, opts) {
1789
1799
  };
1790
1800
  return {
1791
1801
  getAnonymousId: function (_a) {
1792
- var name = _a.name, domain = _a.domain;
1802
+ var name = _a.name, domain = _a.domain, _b = _a.cookiePolicy, cookiePolicy = _b === void 0 ? 'keep' : _b;
1793
1803
  if (opts === null || opts === void 0 ? void 0 : opts.disableCookies) {
1794
1804
  return "";
1795
1805
  }
1806
+ // In strict mode (cookiePolicy === 'strict'), don't use cookies at all
1807
+ if (cookiePolicy === 'strict') {
1808
+ // Return an empty string to indicate that we don't want to use cookies
1809
+ return "";
1810
+ }
1796
1811
  var cookie = parseCookieString(req.headers["cookie"])[name];
1797
1812
  if (!cookie) {
1798
1813
  var cookieOpts = {
@@ -2222,13 +2237,12 @@ var UsermavenClientImpl = /** @class */ (function () {
2222
2237
  var user = __assign({}, this.userProperties);
2223
2238
  var company = user['company'] || {};
2224
2239
  delete user['company'];
2225
- var payload = __assign(__assign({ event_id: "", user: __assign(__assign({}, user), { anonymous_id: this.cookiePolicy !== "strict"
2226
- ? env.getAnonymousId({
2227
- name: this.idCookieName,
2228
- domain: this.cookieDomain,
2229
- crossDomainLinking: this.crossDomainLinking,
2230
- })
2231
- : "" }), ids: this._getIds(), utc_time: reformatDate(now.toISOString()), local_tz_offset: now.getTimezoneOffset() }, props), getDataFromParams(parseQuery(props.doc_search)));
2240
+ var payload = __assign(__assign({ event_id: "", user: __assign(__assign({}, user), { anonymous_id: env.getAnonymousId({
2241
+ name: this.idCookieName,
2242
+ domain: this.cookieDomain,
2243
+ crossDomainLinking: this.crossDomainLinking,
2244
+ cookiePolicy: this.cookiePolicy
2245
+ }) }), ids: this._getIds(), utc_time: reformatDate(now.toISOString()), local_tz_offset: now.getTimezoneOffset() }, props), getDataFromParams(parseQuery(props.doc_search)));
2232
2246
  // id and name attributes will be checked on backend
2233
2247
  if (Object.keys(company).length) {
2234
2248
  payload['company'] = company;
@@ -388,7 +388,7 @@ export type TrackingEnvironment = {
388
388
  * Gets (and persists) anonymous id. Example implementation: id can be persisted in cookies or in other way.
389
389
  *
390
390
  */
391
- getAnonymousId(cookieOpts: { name: string, domain?: string, crossDomainLinking?: boolean }): string;
391
+ getAnonymousId(cookieOpts: { name: string, domain?: string, crossDomainLinking?: boolean, cookiePolicy?: Policy }): string;
392
392
  };
393
393
  /**
394
394
  * List of environments where Jitsu tracker can work. See TrackingEnvironment above
@@ -1536,8 +1536,8 @@ var FormTracking = /** @class */ (function () {
1536
1536
 
1537
1537
  var VERSION_INFO = {
1538
1538
  env: 'production',
1539
- date: '2024-11-15T06:39:44.205Z',
1540
- version: '1.4.2'
1539
+ date: '2024-11-19T10:08:32.912Z',
1540
+ version: '1.4.3'
1541
1541
  };
1542
1542
  var USERMAVEN_VERSION = VERSION_INFO.version + "/" + VERSION_INFO.env + "@" + VERSION_INFO.date;
1543
1543
  var MAX_AGE_TEN_YEARS = 31622400 * 10;
@@ -1644,7 +1644,12 @@ var browserEnv = {
1644
1644
  doc_encoding: document.characterSet,
1645
1645
  }); },
1646
1646
  getAnonymousId: function (_a) {
1647
- var name = _a.name, domain = _a.domain, _b = _a.crossDomainLinking, crossDomainLinking = _b === void 0 ? true : _b;
1647
+ var name = _a.name, domain = _a.domain, _b = _a.crossDomainLinking, crossDomainLinking = _b === void 0 ? true : _b, _c = _a.cookiePolicy, cookiePolicy = _c === void 0 ? 'keep' : _c;
1648
+ // In strict mode (cookiePolicy === 'strict'), don't use cookies at all
1649
+ if (cookiePolicy === 'strict') {
1650
+ // Return an empty string to indicate that we don't want to use cookies
1651
+ return "";
1652
+ }
1648
1653
  expireNonRootCookies(name);
1649
1654
  // Check if cross domain linking is enabled
1650
1655
  if (crossDomainLinking) {
@@ -1708,10 +1713,15 @@ function fetchApi(req, res, opts) {
1708
1713
  if (opts === void 0) { opts = {}; }
1709
1714
  return {
1710
1715
  getAnonymousId: function (_a) {
1711
- var name = _a.name, domain = _a.domain;
1716
+ var name = _a.name, domain = _a.domain, _b = _a.cookiePolicy, cookiePolicy = _b === void 0 ? 'keep' : _b;
1712
1717
  if (opts === null || opts === void 0 ? void 0 : opts.disableCookies) {
1713
1718
  return "";
1714
1719
  }
1720
+ // In strict mode (cookiePolicy === 'strict'), don't use cookies at all
1721
+ if (cookiePolicy === 'strict') {
1722
+ // Return an empty string to indicate that we don't want to use cookies
1723
+ return "";
1724
+ }
1715
1725
  var cookie = parseCookieString(req.headers["cookie"])[name];
1716
1726
  if (!cookie) {
1717
1727
  var cookieOpts = {
@@ -1785,10 +1795,15 @@ function httpApi(req, res, opts) {
1785
1795
  };
1786
1796
  return {
1787
1797
  getAnonymousId: function (_a) {
1788
- var name = _a.name, domain = _a.domain;
1798
+ var name = _a.name, domain = _a.domain, _b = _a.cookiePolicy, cookiePolicy = _b === void 0 ? 'keep' : _b;
1789
1799
  if (opts === null || opts === void 0 ? void 0 : opts.disableCookies) {
1790
1800
  return "";
1791
1801
  }
1802
+ // In strict mode (cookiePolicy === 'strict'), don't use cookies at all
1803
+ if (cookiePolicy === 'strict') {
1804
+ // Return an empty string to indicate that we don't want to use cookies
1805
+ return "";
1806
+ }
1792
1807
  var cookie = parseCookieString(req.headers["cookie"])[name];
1793
1808
  if (!cookie) {
1794
1809
  var cookieOpts = {
@@ -2218,13 +2233,12 @@ var UsermavenClientImpl = /** @class */ (function () {
2218
2233
  var user = __assign({}, this.userProperties);
2219
2234
  var company = user['company'] || {};
2220
2235
  delete user['company'];
2221
- var payload = __assign(__assign({ event_id: "", user: __assign(__assign({}, user), { anonymous_id: this.cookiePolicy !== "strict"
2222
- ? env.getAnonymousId({
2223
- name: this.idCookieName,
2224
- domain: this.cookieDomain,
2225
- crossDomainLinking: this.crossDomainLinking,
2226
- })
2227
- : "" }), ids: this._getIds(), utc_time: reformatDate(now.toISOString()), local_tz_offset: now.getTimezoneOffset() }, props), getDataFromParams(parseQuery(props.doc_search)));
2236
+ var payload = __assign(__assign({ event_id: "", user: __assign(__assign({}, user), { anonymous_id: env.getAnonymousId({
2237
+ name: this.idCookieName,
2238
+ domain: this.cookieDomain,
2239
+ crossDomainLinking: this.crossDomainLinking,
2240
+ cookiePolicy: this.cookiePolicy
2241
+ }) }), ids: this._getIds(), utc_time: reformatDate(now.toISOString()), local_tz_offset: now.getTimezoneOffset() }, props), getDataFromParams(parseQuery(props.doc_search)));
2228
2242
  // id and name attributes will be checked on backend
2229
2243
  if (Object.keys(company).length) {
2230
2244
  payload['company'] = company;
package/dist/web/lib.js CHANGED
@@ -1 +1 @@
1
- !function(){"use strict";var e=function(){return e=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},e.apply(this,arguments)};function t(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))}function n(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}}function r(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}function i(e=void 0){const t=!!globalThis.window&&!!globalThis.window.document&&!!globalThis.window.location;return!t&&e&&c().warn(e),t}function o(e=void 0){if(!i())throw new Error(e||"window' is not available. Seems like this code runs outside browser environment. It shouldn't happen");return window}"function"==typeof SuppressedError&&SuppressedError;var s={DEBUG:{name:"DEBUG",severity:10},INFO:{name:"INFO",severity:100},WARN:{name:"WARN",severity:1e3},ERROR:{name:"ERROR",severity:1e4},NONE:{name:"NONE",severity:1e4}},a=null;function c(){return a||(a=u())}function u(e){var t=i()&&window.__eventNLogLevel,n=s.WARN;if(t){var o=s[t.toUpperCase()];o&&o>0&&(n=o)}else e&&(n=e);var a={minLogLevel:n};return Object.values(s).forEach((function(e){var t=e.name,i=e.severity;a[t.toLowerCase()]=function(){for(var e=[],o=0;o<arguments.length;o++)e[o]=arguments[o];if(i>=n.severity&&e.length>0){var s=e[0],a=e.splice(1),c="[J-"+t+"] "+s;"DEBUG"===t||"INFO"===t?console.log.apply(console,r([c],a,!1)):"WARN"===t?console.warn.apply(console,r([c],a,!1)):console.error.apply(console,r([c],a,!1))}}})),function(e,t){if(i()){var n=window;n.__usermavenDebug||(n.__usermavenDebug={}),n.__usermavenDebug[e]=t}}("logger",a),a}function l(e,t,n){void 0===n&&(n={});try{var r=n.maxAge,i=n.domain,o=n.path,s=n.expires,a=n.httpOnly,u=n.secure,l=n.sameSite,p=e+"="+encodeURIComponent(t);if(i&&(p+="; domain="+i),p+=o?"; path="+o:"; path=/",s&&(p+="; expires="+s.toUTCString()),r&&(p+="; max-age="+r),a&&(p+="; httponly"),u&&(p+="; secure"),l)switch("string"==typeof l?l.toLowerCase():l){case!0:p+="; SameSite=Strict";break;case"lax":p+="; SameSite=Lax";break;case"strict":p+="; SameSite=Strict";break;case"none":p+="; SameSite=None"}else u&&(p+="; SameSite=None");return p}catch(e){return c().error("serializeCookie",e),""}}var p,d=function(){if(i())return function(e){var t=e.split(".");if(4===t.length&&t.every((function(e){return!isNaN(e)})))return e;var n=function(e){var t=e.match(/[a-z0-9][a-z0-9-]+\.[a-z.]{2,6}$/i);return t?t[0]:""}(e);return n||(n=function(e){var t=function(e){return(e.indexOf("//")>-1?e.split("/")[2]:e.split("/")[0]).split(":")[0].split("?")[0]}(e),n=t.split("."),r=n.length;return r>2&&(2==n[r-1].length?(t=n[r-2]+"."+n[r-1],2==n[r-2].length&&(t=n[r-3]+"."+t)):t=n[r-2]+"."+n[r-1]),t}(e)),n}(window.location.hostname)};function h(e){if(!e)return{};for(var t={},n=e.split(";"),r=0;r<n.length;r++){var i=n[r],o=i.indexOf("=");o>0&&(t[i.substr(r>0?1:0,r>0?o-1:o)]=i.substr(o+1))}return t}function f(e,t){return Array.from(e.attributes).forEach((function(e){t.setAttribute(e.nodeName,e.nodeValue)}))}function m(e,t){e.innerHTML=t;var n,r=e.getElementsByTagName("script");for(n=r.length-1;n>=0;n--){var i=r[n],o=document.createElement("script");f(i,o),i.innerHTML&&(o.innerHTML=i.innerHTML),o.setAttribute("data-usermaven-tag-id",e.id),document.getElementsByTagName("head")[0].appendChild(o),r[n].parentNode.removeChild(r[n])}}var g=function(e){if(!e)return null;try{for(var t=e+"=",n=o().document.cookie.split(";"),r=0;r<n.length;r++){for(var i=n[r];" "==i.charAt(0);)i=i.substring(1,i.length);if(0===i.indexOf(t))return decodeURIComponent(i.substring(t.length,i.length))}}catch(e){c().error("getCookies",e)}return null},v=function(e,t,n){void 0===n&&(n={}),o().document.cookie=l(e,t,n)},y=function(e,t){void 0===t&&(t="/"),document.cookie=e+"= ; SameSite=Strict; expires = Thu, 01 Jan 1970 00:00:00 GMT"+(t?"; path = "+t:"")},_=function(){return Math.random().toString(36).substring(2,12)},b=function(){return Math.random().toString(36).substring(2,7)},k={utm_source:"source",utm_medium:"medium",utm_campaign:"campaign",utm_term:"term",utm_content:"content"},w={gclid:!0,fbclid:!0,dclid:!0};var P=function(){function e(){this.queue=[]}return e.prototype.flush=function(){var e=this.queue;return this.queue=[],e},e.prototype.push=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];(e=this.queue).push.apply(e,t)},e}(),S=function(){function e(e){this.key=e}return e.prototype.flush=function(){var e=this.get();return e.length&&this.set([]),e},e.prototype.push=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=this.get();n.push.apply(n,e),this.set(n)},e.prototype.set=function(e){localStorage.setItem(this.key,JSON.stringify(e))},e.prototype.get=function(){var e=localStorage.getItem(this.key);return null!==e&&""!==e?JSON.parse(e):[]},e}(),x=Object.prototype,N=x.toString,E=x.hasOwnProperty,A=Array.prototype.forEach,C=Array.isArray,O={},T=C||function(e){return"[object Array]"===N.call(e)};function I(e,t,n){if(Array.isArray(e))if(A&&e.forEach===A)e.forEach(t,n);else if("length"in e&&e.length===+e.length)for(var r=0,i=e.length;r<i;r++)if(r in e&&t.call(n,e[r],r)===O)return}var D=function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")};function L(e,t,n){if(null!=e)if(A&&Array.isArray(e)&&e.forEach===A)e.forEach(t,n);else if("length"in e&&e.length===+e.length){for(var r=0,i=e.length;r<i;r++)if(r in e&&t.call(n,e[r],r)===O)return}else for(var o in e)if(E.call(e,o)&&t.call(n,e[o],o)===O)return}var j=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return I(t,(function(t){for(var n in t)void 0!==t[n]&&(e[n]=t[n])})),e};function H(e,t){return-1!==e.indexOf(t)}var F=function(e){try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}},$=function(e){return void 0===e},U=function(){function e(t){return t&&(t.preventDefault=e.preventDefault,t.stopPropagation=e.stopPropagation),t}return e.preventDefault=function(){this.returnValue=!1},e.stopPropagation=function(){this.cancelBubble=!0},function(t,n,r,i,o){if(t)if(t.addEventListener&&!i)t.addEventListener(n,r,!!o);else{var s="on"+n,a=t[s];t[s]=function(t,n,r){return function(i){if(i=i||e(window.event)){var o,s=!0;F(r)&&(o=r(i));var a=n.call(t,i);return!1!==o&&!1!==a||(s=!1),s}}}(t,r,a)}else c().error("No valid element provided to register_event")}}(),M=function(e){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];try{return e.apply(this,t)}catch(e){c().error("Implementation error. Please turn on debug and contact support@usermaven.com.",e)}}},z="undefined"!=typeof Symbol?Symbol("__deepCircularCopyInProgress__"):"__deepCircularCopyInProgress__";function R(e,t,n){return e!==Object(e)?t?t(e,n):e:e[z]?void 0:(e[z]=!0,T(e)?(r=[],I(e,(function(e){r.push(R(e,t))}))):(r={},L(e,(function(e,n){n!==z&&(r[n]=R(e,t,n))}))),delete e[z],r);var r}var q=["$performance_raw"];function J(e,t){return R(e,(function(e,n){return n&&q.indexOf(n)>-1?e:"string"==typeof e&&null!==t?e.slice(0,t):e}))}function B(e){switch(typeof e.className){case"string":return e.className;case"object":return("baseVal"in e.className?e.className.baseVal:null)||e.getAttribute("class")||"";default:return""}}function V(e){var t="";return X(e)&&!Z(e)&&e.childNodes&&e.childNodes.length&&L(e.childNodes,(function(e){K(e)&&e.textContent&&(t+=D(e.textContent).split(/(\s+)/).filter(ee).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255))})),D(t)}function W(e){return!!e&&1===e.nodeType}function G(e,t){return!!e&&!!e.tagName&&e.tagName.toLowerCase()===t.toLowerCase()}function K(e){return!!e&&3===e.nodeType}function Q(e){return!!e&&11===e.nodeType}var Y=["a","button","form","input","select","textarea","label"];function X(e){for(var t=e;t.parentNode&&!G(t,"body");t=t.parentNode){var n=B(t).split(" ");if(H(n,"ph-sensitive")||H(n,"ph-no-capture"))return!1}if(H(B(e).split(" "),"ph-include"))return!0;var r=e.type||"";if("string"==typeof r)switch(r.toLowerCase()){case"hidden":case"password":return!1}var i=e.name||e.id||"";if("string"==typeof i){if(/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(i.replace(/[^a-zA-Z0-9]/g,"")))return!1}return!0}function Z(e){return!!(G(e,"input")&&!["button","checkbox","submit","reset"].includes(e.type)||G(e,"select")||G(e,"textarea")||"true"===e.getAttribute("contenteditable"))}function ee(e){if(null===e||$(e))return!1;if("string"==typeof e){e=D(e);if(/^(?:(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11}))$/.test((e||"").replace(/[- ]/g,"")))return!1;if(/(^\d{3}-?\d{2}-?\d{4}$)/.test(e))return!1}return!0}var te=function(){function e(e,t){void 0===t&&(t=!1),this.clicks=[],this.instance=e,this.enabled=t}return e.prototype.click=function(e,t,n){if(this.enabled){var r=this.clicks[this.clicks.length-1];r&&Math.abs(e-r.x)+Math.abs(t-r.y)<30&&n-r.timestamp<1e3?(this.clicks.push({x:e,y:t,timestamp:n}),3===this.clicks.length&&this.instance.capture("$rageclick")):this.clicks=[{x:e,y:t,timestamp:n}]}},e}(),ne=function(){function e(e){this.instance=e,this.lastScrollDepth=0,this.canSend=!0,this.documentElement=document.documentElement}return e.prototype.track=function(){var e=this.getScrollDepth();e>this.lastScrollDepth&&(this.lastScrollDepth=e,this.canSend=!0)},e.prototype.send=function(e){if(void 0===e&&(e="$scroll"),this.canSend){var t={percent:this.lastScrollDepth,window_height:this.getWindowHeight(),document_height:this.getDocumentHeight(),scroll_distance:this.getScrollDistance()};this.instance.capture(e,t),this.canSend=!1}},e.prototype.getScrollDepth=function(){try{var e=this.getWindowHeight(),t=this.getDocumentHeight(),n=this.getScrollDistance(),r=t-e;return Math.min(100,Math.floor(n/r*100))}catch(e){return 0}},e.prototype.getWindowHeight=function(){try{return window.innerHeight||this.documentElement.clientHeight||document.body.clientHeight||0}catch(e){return 0}},e.prototype.getDocumentHeight=function(){try{return Math.max(document.body.scrollHeight||0,this.documentElement.scrollHeight||0,document.body.offsetHeight||0,this.documentElement.offsetHeight||0,document.body.clientHeight||0,this.documentElement.clientHeight||0)}catch(e){return 0}},e.prototype.getScrollDistance=function(){try{return window.scrollY||window.pageYOffset||document.body.scrollTop||this.documentElement.scrollTop||0}catch(e){return 0}},e}(),re={_initializedTokens:[],_previousElementSibling:function(e){if(e.previousElementSibling)return e.previousElementSibling;var t=e;do{t=t.previousSibling}while(t&&!W(t));return t},_getPropertiesFromElement:function(e,t,n){var r=e.tagName.toLowerCase(),i={tag_name:r};Y.indexOf(r)>-1&&!n&&(i.$el_text=V(e));var o=B(e);o.length>0&&(i.classes=o.split(" ").filter((function(e){return""!==e}))),L(e.attributes,(function(n){var r;Z(e)&&-1===["name","id","class"].indexOf(n.name)||!t&&ee(n.value)&&("string"!=typeof(r=n.name)||"_ngcontent"!==r.substring(0,10)&&"_nghost"!==r.substring(0,7))&&(i["attr__"+n.name]=n.value)}));for(var s=1,a=1,c=e;c=this._previousElementSibling(c);)s++,c.tagName===e.tagName&&a++;return i.nth_child=s,i.nth_of_type=a,i},_getDefaultProperties:function(e){return{$event_type:e,$ce_version:1}},_extractCustomPropertyValue:function(e){var t=[];return L(document.querySelectorAll(e.css_selector),(function(e){var n;["input","select"].indexOf(e.tagName.toLowerCase())>-1?n=e.value:e.textContent&&(n=e.textContent),ee(n)&&t.push(n)})),t.join(", ")},_getCustomProperties:function(e){var t=this,n={};return L(this._customProperties,(function(r){L(r.event_selectors,(function(i){L(document.querySelectorAll(i),(function(i){H(e,i)&&X(i)&&(n[r.name]=t._extractCustomPropertyValue(r))}))}))})),n},_getEventTarget:function(e){var t;return void 0===e.target?e.srcElement||null:(null===(t=e.target)||void 0===t?void 0:t.shadowRoot)?e.composedPath()[0]||null:e.target||null},_captureEvent:function(e,t,n){var r,i=this,o=this._getEventTarget(e);if(K(o)&&(o=o.parentNode||null),"scroll"===e.type)return this.scrollDepth.track(),!0;if("visibilitychange"===e.type&&"hidden"===document.visibilityState||"popstate"===e.type)return this.scrollDepth.send(),!0;if("click"===e.type&&e instanceof MouseEvent&&(null===(r=this.rageclicks)||void 0===r||r.click(e.clientX,e.clientY,(new Date).getTime())),o&&function(e,t){if(!e||G(e,"html")||!W(e))return!1;for(var n=e;n&&!G(n,"body");){if(n.classList&&n.classList.contains("um-no-capture"))return!1;n=n.parentNode&&Q(n.parentNode)?n.parentNode.host:n.parentNode}var r=!1;for(n=e;n&&!G(n,"body");)if(n.parentNode&&Q(n.parentNode))(n=n.parentNode.host)&&Y.indexOf(n.tagName.toLowerCase())>-1&&(r=!0);else{var i=n.parentNode;if(!i)break;if(Y.indexOf(i.tagName.toLowerCase())>-1)r=!0;else{var o=window.getComputedStyle(i);o&&"pointer"===o.getPropertyValue("cursor")&&(r=!0)}n=i}var s=window.getComputedStyle(e);if(s&&"pointer"===s.getPropertyValue("cursor")&&"click"===t.type)return!0;var a=e.tagName.toLowerCase();switch(a){case"html":return!1;case"form":return"submit"===t.type;case"input":case"select":case"textarea":return"change"===t.type||"click"===t.type;default:return r?"click"===t.type:"click"===t.type&&(Y.indexOf(a)>-1||"true"===e.getAttribute("contenteditable"))}}(o,e)){for(var s=[o],a=o;a.parentNode&&!G(a,"body");)Q(a.parentNode)?(s.push(a.parentNode.host),a=a.parentNode.host):(s.push(a.parentNode),a=a.parentNode);var c,u=[],l=!1;if(L(s,(function(e){var t=X(e);"a"===e.tagName.toLowerCase()&&(c=e.getAttribute("href"),c=t&&ee(c)&&c),H(B(e).split(" "),"ph-no-capture")&&(l=!0),u.push(i._getPropertiesFromElement(e,null==n?void 0:n.mask_all_element_attributes,null==n?void 0:n.mask_all_text))})),(null==n?void 0:n.mask_all_text)||(u[0].$el_text=V(o)),c&&(u[0].attr__href=c),l)return!1;var p=j(this._getDefaultProperties(e.type),{$elements:u},this._getCustomProperties(s));return t.capture("$autocapture",p),!0}},_navigate:function(e){window.location.href=e},_addDomEventHandlers:function(e,t){var n=this,r=function(r){r=r||window.event,n._captureEvent(r,e,t)};U(document,"submit",r,!1,!0),U(document,"change",r,!1,!0),U(document,"click",r,!1,!0),U(document,"visibilitychange",r,!1,!0),U(document,"scroll",r,!1,!0),U(window,"popstate",r,!1,!0)},_customProperties:[],rageclicks:null,scrollDepth:null,opts:{},init:function(e,t){var n=this;if(this.rageclicks=new te(e),this.scrollDepth=new ne(e),this.opts=t,!document||!document.body)return console.debug("document not ready yet, trying again in 500 milliseconds..."),void setTimeout((function(){n.readyAutocapture(e,t)}),500);this.readyAutocapture(e,t)},readyAutocapture:function(e,t){this._addDomEventHandlers(e,t)},enabledForProject:function(e,t,n){if(!e)return!0;t=$(t)?10:t,n=$(n)?10:n;for(var r=0,i=0;i<e.length;i++)r+=e.charCodeAt(i);return r%t<n},isBrowserSupported:function(){return F(document.querySelectorAll)}};!function(e){for(var t in e)"function"==typeof e[t]&&(e[t]=e[t].bind(e))}(re),function(e){for(var t in e)"function"==typeof e[t]&&(e[t]=M(e[t]))}(re);var ie=function(){function e(e,t){void 0===t&&(t="all"),this.instance=e,this.trackingType=t,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",this.track.bind(this)):this.track()}return e.prototype.track=function(){var e=this;this.formElements=document.querySelectorAll("form"),"tagged"===this.trackingType&&(this.formElements=document.querySelectorAll("form[data-um-form]")),this.formElements.forEach((function(t){t.addEventListener("submit",(function(t){var n=t.target,r=e._getFormDetails(n);e.instance.capture("$form",function(e){for(var t in e)(""===e[t]||null===e[t]||void 0===e[t]||"object"==typeof e[t]&&0===Object.keys(e[t]).length)&&delete e[t];return e}(r))}))}))},e.getInstance=function(t,n){return void 0===n&&(n="all"),e.instance||(e.instance=new e(t,n)),e.instance},e.prototype._getFormDetails=function(e){var t=this,n={form_id:e.id,form_name:e.name||"",form_action:e.action,form_method:e.method},r=e.querySelectorAll("input, select, textarea");return Array.from(r).filter((function(e){return!e.classList.contains("um-no-capture")})).forEach((function(e,r){var i=t._getFieldProps(e,r);Object.assign(n,i)})),n},e.prototype._getFieldProps=function(e,t){var n,r=Object.keys(e.dataset).length?JSON.stringify(e.dataset):void 0,i=this.getSafeText(e);return(n={})["field_"+(t+1)+"_tag"]=e.tagName.toLowerCase(),n["field_"+(t+1)+"_type"]=e instanceof HTMLInputElement?e.type:void 0,n["field_"+(t+1)+"_data_attributes"]=r,n["field_"+(t+1)+"_id"]=e.id,n["field_"+(t+1)+"_value"]=i,n["field_"+(t+1)+"_class"]=e.className,n["field_"+(t+1)+"_name"]=e.name,n},e.prototype.getSafeText=function(e){var t="";if("value"in e&&"password"!==e.type)t=e.value;else if(e.hasChildNodes()){t=Array.from(e.childNodes).filter((function(e){return e.nodeType===Node.TEXT_NODE})).map((function(e){return e.textContent})).join("")}else t=e.textContent||"";return this._scrubPotentiallySensitiveValues(t)},e.prototype._scrubPotentiallySensitiveValues=function(e){return this._shouldCaptureValue(e)?e:"<redacted>"},e.prototype._shouldCaptureValue=function(e){if(this._isNullish(e))return!1;if(this._isString(e)){e=this._trim(e);if(/^(?:(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11}))$/.test((e||"").replace(/[- ]/g,"")))return!1;if(/(^\d{3}-?\d{2}-?\d{4}$)/.test(e))return!1}return!0},e.prototype._isNullish=function(e){return null==e},e.prototype._isString=function(e){return"string"==typeof e||e instanceof String},e.prototype._trim=function(e){return e.trim().replace(/^\s+|\s+$/g,"")},e}(),oe="production",se="1.4.2"+"/"+oe+"@"+"2024-11-15T06:39:43.660Z",ae=316224e3,ce=function(e,t){c().debug("Sending beacon",t);var n=new Blob([t],{type:"text/plain"});return navigator.sendBeacon(e,n),Promise.resolve()};var ue=function(e,t){return console.debug("Jitsu client tried to send payload to "+e,function(e){if("string"==typeof e)try{return JSON.stringify(JSON.parse(e),null,2)}catch(t){return e}}(t)),Promise.resolve()};function le(e,t){void 0===t&&(t=void 0),""!=(t=null!=t?t:window.location.pathname)&&"/"!=t&&(y(e,t),le(e,t.slice(0,t.lastIndexOf("/"))))}var pe=function(){function e(e,t){this.cookieDomain=e,this.cookieName=t}return e.prototype.save=function(e){v(this.cookieName,JSON.stringify(e),{domain:this.cookieDomain,secure:"http:"!==document.location.protocol,maxAge:ae})},e.prototype.restore=function(){le(this.cookieName);var e=g(this.cookieName);if(e)try{var t=JSON.parse(decodeURIComponent(e));return"object"!=typeof t?void c().warn("Can't restore value of "+this.cookieName+"@"+this.cookieDomain+", expected to be object, but found "+("object"!=typeof t)+": "+t+". Ignoring"):t}catch(t){return void c().error("Failed to decode JSON from "+e,t)}},e.prototype.delete=function(){y(this.cookieName)},e}(),de=function(){function e(){}return e.prototype.save=function(e){},e.prototype.restore=function(){},e.prototype.delete=function(){},e}();var he={getSourceIp:function(){},describeClient:function(){return{referer:document.referrer,url:window.location.href,page_title:document.title,doc_path:document.location.pathname,doc_host:document.location.hostname,doc_search:window.location.search,screen_resolution:screen.width+"x"+screen.height,vp_size:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0)+"x"+Math.max(document.documentElement.clientHeight||0,window.innerHeight||0),user_agent:navigator.userAgent,user_language:navigator.language,doc_encoding:document.characterSet}},getAnonymousId:function(e){var t=e.name,n=e.domain,r=e.crossDomainLinking,i=void 0===r||r;if(le(t),i){var o=new URLSearchParams(window.location.search).get("_um"),s=window.location.hash.substring(1).split("~"),a=s.length>1?s[1]:void 0,u=o||a;if(u){c().debug("Existing user id from other domain",u);var l=g(t);return l&&l===u||v(t,u,{domain:n,secure:"http:"!==document.location.protocol,maxAge:ae}),u}}var p=g(t);if(p)return c().debug("Existing user id",p),p;var d=_();return c().debug("New user id",d),v(t,d,{domain:n,secure:"http:"!==document.location.protocol,maxAge:ae}),d}};var fe={getSourceIp:function(){},describeClient:function(){return{}},getAnonymousId:function(){return""}},me=function(){return he},ge=function(){return fe},ve=function(e,t,n,r){void 0===r&&(r=function(e,t){});var i=new window.XMLHttpRequest;return new Promise((function(o,s){i.onerror=function(n){c().error("Failed to send payload to "+e+": "+((null==n?void 0:n.message)||"unknown error"),t,n),r(-1,{}),s(new Error("Failed to send JSON. See console logs"))},i.onload=function(){200!==i.status?(r(i.status,{}),c().warn("Failed to send data to "+e+" (#"+i.status+" - "+i.statusText+")",t),s(new Error("Failed to send JSON. Error code: "+i.status+". See logs for details"))):r(i.status,i.responseText),o()},i.open("POST",e),i.setRequestHeader("Content-Type","application/json"),Object.entries(n||{}).forEach((function(e){var t=e[0],n=e[1];return i.setRequestHeader(t,n)})),i.send(t),c().debug("sending json",t)}))},ye=function(){function r(){this.userProperties={},this.groupProperties={},this.permanentProperties={globalProps:{},propsPerEvent:{}},this.cookieDomain="",this.trackingHost="",this.idCookieName="",this.randomizeUrl=!1,this.namespace="usermaven",this.crossDomainLinking=!0,this.formTracking=!1,this.domains=[],this.apiKey="",this.initialized=!1,this._3pCookies={},this.cookiePolicy="keep",this.ipPolicy="keep",this.beaconApi=!1,this.transport=ve,this.customHeaders=function(){return{}},this.queue=new P,this.maxSendAttempts=4,this.retryTimeout=[500,1e12],this.flushing=!1,this.attempt=1,this.propertyBlacklist=[],this.__autocapture_enabled=!1,this.__auto_pageview_enabled=!1,this.trackingHostFallback="https://events.usermaven.com"}return r.prototype.get_config=function(e){return this.config?this.config[e]:null},r.prototype.id=function(t,n){return this.userProperties=e(e({},this.userProperties),t),c().debug("Usermaven user identified",t),this.userIdPersistence?this.userIdPersistence.save(t):c().warn("Id() is called before initialization"),n?Promise.resolve():this.track("user_identify",{})},r.prototype.group=function(t,n){return this.groupProperties=e(e({},this.groupProperties),t),c().debug("Usermaven group identified",t),this.userIdPersistence?this.userIdPersistence.save({company:t}):c().warn("Group() is called before initialization"),n?Promise.resolve():this.track("group",{})},r.prototype.reset=function(e){if(this.userIdPersistence&&this.userIdPersistence.delete(),this.propsPersistance&&this.propsPersistance.delete(),e){var t=g(this.idCookieName);t&&(c().debug("Removing id cookie",t),v(this.idCookieName,"",{domain:this.cookieDomain,expires:new Date(0)}))}return Promise.resolve()},r.prototype.rawTrack=function(e){return this.sendJson(e)},r.prototype.makeEvent=function(t,n,r){var o,s=r.env,a=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}(r,["env"]);s||(s=i()?me():ge()),this.restoreId();var c=this.getCtx(s),u=e(e({},this.permanentProperties.globalProps),null!==(o=this.permanentProperties.propsPerEvent[t])&&void 0!==o?o:{}),l=e({api_key:this.apiKey,src:n,event_type:t},a),p=s.getSourceIp();return p&&(l.source_ip=p),this.compatMode?e(e(e({},u),{eventn_ctx:c}),l):e(e(e({},u),c),l)},r.prototype._send3p=function(e,t,n){var r="3rdparty";n&&""!==n&&(r=n);var i=this.makeEvent(r,e,{src_payload:t});return this.sendJson(i)},r.prototype.sendJson=function(e){return t(this,void 0,Promise,(function(){return n(this,(function(t){switch(t.label){case 0:return n="false","undefined"!=typeof window&&window.localStorage&&(n=localStorage.getItem("um_exclusion")),null!=n&&"false"!==n?[3,3]:this.maxSendAttempts>1?(this.queue.push([e,0]),this.scheduleFlush(0),[3,3]):[3,1];case 1:return[4,this.doSendJson(e)];case 2:t.sent(),t.label=3;case 3:return[2]}var n}))}))},r.prototype.doSendJson=function(e){var t=this,n="keep"!==this.cookiePolicy?"&cookie_policy="+this.cookiePolicy:"",r="keep"!==this.ipPolicy?"&ip_policy="+this.ipPolicy:"",o=i()?"/api/v1/event":"/api/v1/s2s/event",s=""+this.trackingHost+o+"?token="+this.apiKey+n+r;this.randomizeUrl&&(s=this.trackingHost+"/api."+b()+"?p_"+b()+"="+this.apiKey+n+r);var a=JSON.stringify(e);return c().debug("Sending payload to "+s,e.length),this.transport(s,a,this.customHeaders(),(function(e,n){return t.postHandle(e,n)}))},r.prototype.scheduleFlush=function(e){var t=this;if(!this.flushing){if(this.flushing=!0,void 0===e){var n=Math.random()+1,r=Math.pow(2,this.attempt++);e=Math.min(this.retryTimeout[0]*n*r,this.retryTimeout[1])}c().debug("Scheduling event queue flush in "+e+" ms."),setTimeout((function(){return t.flush()}),e)}},r.prototype.flush=function(){return t(this,void 0,Promise,(function(){var e,t,r=this;return n(this,(function(n){switch(n.label){case 0:if(i()&&!window.navigator.onLine&&(this.flushing=!1,this.scheduleFlush()),e=this.queue.flush(),this.flushing=!1,0===e.length)return[2];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this.doSendJson(e.map((function(e){return e[0]})))];case 2:return n.sent(),this.attempt=1,c().debug("Successfully flushed "+e.length+" events from queue"),[3,4];case 3:return n.sent(),this.trackingHost!==this.trackingHostFallback&&(c().debug("Using fallback tracking host "+this.trackingHostFallback+" instead of "+this.trackingHost+" on "+oe),this.trackingHost=this.trackingHostFallback),(e=e.map((function(e){return[e[0],e[1]+1]})).filter((function(e){return!(e[1]>=r.maxSendAttempts)||(c().error("Dropping queued event after "+e[1]+" attempts since max send attempts "+r.maxSendAttempts+" reached. See logs for details"),!1)}))).length>0?((t=this.queue).push.apply(t,e),this.scheduleFlush()):this.attempt=1,[3,4];case 4:return[2]}}))}))},r.prototype.postHandle=function(e,t){if("strict"===this.cookiePolicy||"comply"===this.cookiePolicy){if(200===e){var n=t;if("string"==typeof t&&(n=JSON.parse(t)),!n.delete_cookie)return}this.userIdPersistence.delete(),this.propsPersistance.delete(),y(this.idCookieName)}if(200===e){n=t;if("string"==typeof t&&t.length>0){var r=(n=JSON.parse(t)).jitsu_sdk_extras;if(r&&r.length>0)if(i())for(var o=0,s=r;o<s.length;o++){var a=s[o],u=a.type,l=a.id,p=a.value;if("tag"===u){var d=document.createElement("div");d.id=l,m(d,p),d.childElementCount>0&&document.body.appendChild(d)}}else c().error("Tags destination supported only in browser environment")}}},r.prototype.getCtx=function(t){var n=new Date,r=t.describeClient()||{},i=e({},this.userProperties),o=i.company||{};delete i.company;var s,a,c=e(e({event_id:"",user:e(e({},i),{anonymous_id:"strict"!==this.cookiePolicy?t.getAnonymousId({name:this.idCookieName,domain:this.cookieDomain,crossDomainLinking:this.crossDomainLinking}):""}),ids:this._getIds(),utc_time:(s=n.toISOString(),a=s.split(".")[1],a?a.length>=7?s:s.slice(0,-1)+"0".repeat(7-a.length)+"Z":s),local_tz_offset:n.getTimezoneOffset()},r),function(e){var t={utm:{},click_id:{}};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n],i=k[n];i?t.utm[i]=r:w[n]&&(t.click_id[n]=r)}return t}(function(e){if(!e)return{};for(var t=e.length>0&&"?"===e.charAt(0)?e.substring(1):e,n={},r=("?"===t[0]?t.substr(1):t).split("&"),i=0;i<r.length;i++){var o=r[i].split("=");n[decodeURIComponent(o[0])]=decodeURIComponent(o[1]||"")}return n}(r.doc_search)));return Object.keys(o).length&&(c.company=o),c},r.prototype._getIds=function(){if(!i())return{};for(var e=function(e){if(void 0===e&&(e=!1),e&&p)return p;var t=h(document.cookie);return p=t,t}(!1),t={},n=0,r=Object.entries(e);n<r.length;n++){var o=r[n],s=o[0],a=o[1];this._3pCookies[s]&&(t["_"==s.charAt(0)?s.substr(1):s]=a)}return t},r.prototype.pathMatches=function(e,t){return new URL(t).pathname.match(new RegExp("^"+e.trim().replace(/\*\*/g,".*").replace(/([^\.])\*/g,"$1[^\\s/]*")+"/?$"))},r.prototype.track=function(e,t){var n=this,r=t||{};c().debug("track event of type",e,r);var o=i()?me():ge(),s=this.getCtx(o);if(this.config&&this.config.exclude&&this.config.exclude.length>1&&(null==s?void 0:s.url)&&this.config.exclude.split(",").some((function(e){return n.pathMatches(e.trim(),null==s?void 0:s.url)})))return void c().debug("Page is excluded from tracking");var a=t||{};"$autocapture"!==e&&"user_identify"!==e&&"pageview"!==e&&"$pageleave"!==e&&(a={event_attributes:t});var u=this.makeEvent(e,this.compatMode?"eventn":"usermaven",a);return this.sendJson(u)},r.prototype.init=function(r){var o,l,p,h,f,m,g,v,y,_=this;if(i()&&!r.force_use_fetch)r.fetch&&c().warn("Custom fetch implementation is provided to Usermaven. However, it will be ignored since Usermaven runs in browser"),this.transport=this.beaconApi?ce:ve;else{if(!r.fetch&&!globalThis.fetch)throw new Error("Usermaven runs in Node environment. However, neither UsermavenOptions.fetch is provided, nor global fetch function is defined. \nPlease, provide custom fetch implementation. You can get it via node-fetch package");this.transport=(g=r.fetch||globalThis.fetch,function(r,i,o,s){return void 0===s&&(s=function(e,t){}),t(void 0,void 0,void 0,(function(){var t,a,u,l,p,d,h,f;return n(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,g(r,{method:"POST",headers:e({Accept:"application/json","Content-Type":"application/json"},o||{}),body:i})];case 1:return t=n.sent(),[3,3];case 2:return a=n.sent(),c().error("Failed to send data to "+r+": "+((null==a?void 0:a.message)||"unknown error"),i,a),s(-1,{}),[2];case 3:if(200!==t.status)return c().warn("Failed to send data to "+r+" (#"+t.status+" - "+t.statusText+")",i),s(t.status,{}),[2];u={},l="",p=null!==(f=null===(h=t.headers)||void 0===h?void 0:h.get("Content-Type"))&&void 0!==f?f:"",n.label=4;case 4:return n.trys.push([4,6,,7]),[4,t.text()];case 5:return l=n.sent(),u=JSON.parse(l),[3,7];case 6:return d=n.sent(),c().error("Failed to parse "+r+" response. Content-type: "+p+" text: "+l,d),[3,7];case 7:try{s(t.status,u)}catch(e){c().error("Failed to handle "+r+" response. Content-type: "+p+" text: "+l,e)}return[2]}}))}))})}if(r.custom_headers&&"function"==typeof r.custom_headers?this.customHeaders=r.custom_headers:r.custom_headers&&(this.customHeaders=function(){return r.custom_headers}),"echo"===r.tracking_host&&(c().warn('jitsuClient is configured with "echo" transport. Outgoing requests will be written to console'),this.transport=ue),r.ip_policy&&(this.ipPolicy=r.ip_policy),r.cookie_policy&&(this.cookiePolicy=r.cookie_policy),"strict"===r.privacy_policy&&(this.ipPolicy="strict",this.cookiePolicy="strict"),r.use_beacon_api&&navigator.sendBeacon&&(this.beaconApi=!0),"comply"===this.cookiePolicy&&this.beaconApi&&(this.cookiePolicy="strict"),r.log_level&&(v=r.log_level,(y=s[v.toLocaleUpperCase()])||(console.warn("Can't find log level with name "+v.toLocaleUpperCase()+", defaulting to INFO"),y=s.INFO),a=u(y)),this.initialOptions=r,c().debug("Initializing Usemaven Tracker tracker",r,se),r.key){if(this.compatMode=void 0!==r.compat_mode&&!!r.compat_mode,this.cookieDomain=r.cookie_domain||d(),this.namespace=r.namespace||"usermaven",this.crossDomainLinking=null===(o=r.cross_domain_linking)||void 0===o||o,this.formTracking=null!==(l=r.form_tracking)&&void 0!==l&&l,this.domains=r.domains?r.domains.split(",").map((function(e){return e.trim()})):[],this.trackingHost=function(e){for(;n="/",-1!==(t=e).indexOf(n,t.length-n.length);)e=e.substr(0,e.length-1);var t,n;return 0===e.indexOf("https://")||0===e.indexOf("http://")?e:"https://"+e}(r.tracking_host||"t.usermaven.com"),this.randomizeUrl=r.randomize_url||!1,this.apiKey=r.key,this.__auto_pageview_enabled=r.auto_pageview||!1,this.idCookieName=r.cookie_name||"__eventn_id_"+r.key,"strict"===this.cookiePolicy?this.propsPersistance=new de:this.propsPersistance=i()?new pe(this.cookieDomain,this.idCookieName+"_props"):new de,"strict"===this.cookiePolicy?this.userIdPersistence=new de:this.userIdPersistence=i()?new pe(this.cookieDomain,this.idCookieName+"_usr"):new de,this.propsPersistance){var b=this.propsPersistance.restore();b&&(this.permanentProperties=b,this.permanentProperties.globalProps=null!==(p=b.globalProps)&&void 0!==p?p:{},this.permanentProperties.propsPerEvent=null!==(h=b.propsPerEvent)&&void 0!==h?h:{}),c().debug("Restored persistent properties",this.permanentProperties)}this.propertyBlacklist=r.property_blacklist&&r.property_blacklist.length>0?r.property_blacklist:[];this.config=j({},{autocapture:!1,properties_string_max_length:null,property_blacklist:[],sanitize_properties:null,auto_pageview:!1},r||{},this.config||{},{token:this.apiKey}),c().debug("Default Configuration",this.config),this.manageAutoCapture(this.config),this.manageFormTracking(this.config),this.manageCrossDomainLinking({cross_domain_linking:this.crossDomainLinking,domains:this.domains,cookiePolicy:this.cookiePolicy}),!1===r.capture_3rd_party_cookies?this._3pCookies={}:(r.capture_3rd_party_cookies||["_ga","_fbp","_ym_uid","ajs_user_id","ajs_anonymous_id"]).forEach((function(e){return _._3pCookies[e]=!0})),r.ga_hook&&c().warn("GA event interceptor isn't supported anymore"),r.segment_hook&&function(e){var t=window;t.analytics||(t.analytics=[]);e.interceptAnalytics(t.analytics)}(this),i()&&(r.disable_event_persistence||(this.queue=new S(this.namespace+"-event-queue"),this.scheduleFlush(0)),window.addEventListener("beforeunload",(function(){return _.flush()}))),this.__auto_pageview_enabled&&function(e){var t=function(){return e.track("pageview")},n=history.pushState;n&&(history.pushState=function(e,r,i){n.apply(this,[e,r,i]),t()},addEventListener("popstate",t));addEventListener("hashchange",t)}(this),this.retryTimeout=[null!==(f=r.min_send_timeout)&&void 0!==f?f:this.retryTimeout[0],null!==(m=r.max_send_timeout)&&void 0!==m?m:this.retryTimeout[1]],r.max_send_attempts&&(this.maxSendAttempts=r.max_send_attempts),this.initialized=!0}else c().error("Can't initialize Usemaven, key property is not set")},r.prototype.interceptAnalytics=function(t){var n=this,r=function(t){var r;try{var i=e({},t.payload);c().debug("Intercepted segment payload",i.obj);var o=t.integrations["Segment.io"];if(o&&o.analytics){var s=o.analytics;"function"==typeof s.user&&s.user()&&"function"==typeof s.user().id&&(i.obj.userId=s.user().id())}(null===(r=null==i?void 0:i.obj)||void 0===r?void 0:r.timestamp)&&(i.obj.sentAt=i.obj.timestamp);var a=t.payload.type();"track"===a&&(a=t.payload.event()),n._send3p("ajs",i,a)}catch(e){c().warn("Failed to send an event",e)}t.next(t.payload)};"function"==typeof t.addSourceMiddleware?(c().debug("Analytics.js is initialized, calling addSourceMiddleware"),t.addSourceMiddleware(r)):(c().debug("Analytics.js is not initialized, pushing addSourceMiddleware to callstack"),t.push(["addSourceMiddleware",r])),t.__en_intercepted=!0},r.prototype.restoreId=function(){if(this.userIdPersistence){var t=this.userIdPersistence.restore();t&&(this.userProperties=e(e({},t),this.userProperties))}},r.prototype.set=function(t,n){var r,i=null==n?void 0:n.eventType,o=void 0===(null==n?void 0:n.persist)||(null==n?void 0:n.persist);if(void 0!==i){var s=null!==(r=this.permanentProperties.propsPerEvent[i])&&void 0!==r?r:{};this.permanentProperties.propsPerEvent[i]=e(e({},s),t)}else this.permanentProperties.globalProps=e(e({},this.permanentProperties.globalProps),t);this.propsPersistance&&o&&this.propsPersistance.save(this.permanentProperties)},r.prototype.unset=function(e,t){o();var n=null==t?void 0:t.eventType,r=void 0===(null==t?void 0:t.persist)||(null==t?void 0:t.persist);n?this.permanentProperties.propsPerEvent[n]&&delete this.permanentProperties.propsPerEvent[n][e]:delete this.permanentProperties.globalProps[e],this.propsPersistance&&r&&this.propsPersistance.save(this.permanentProperties)},r.prototype.manageCrossDomainLinking=function(e){if(!i()||!e.cross_domain_linking||0===e.domains.length||"strict"===e.cookiePolicy)return!1;var t=this.idCookieName,n=e.domains||[];document.addEventListener("click",(function(e){var r=function(e){for(;e&&e.tagName;){if("a"==e.tagName.toLowerCase())return e;e=e.parentNode}return null}(e.target);if(r){var i=(null==r?void 0:r.hasAttribute("href"))?null==r?void 0:r.getAttribute("href"):"";if(i&&i.startsWith("http")){var o=new URL(i),s=g(t);if(o.hostname===window.location.hostname)return;n.includes(o.hostname)&&s&&(o.searchParams.append("_um",s),r.setAttribute("href",o.toString()))}}}),!1)},r.prototype.manageAutoCapture=function(e){if(c().debug("Auto Capture Status: ",this.config.autocapture),this.__autocapture_enabled=this.config.autocapture&&i(),this.__autocapture_enabled){re.enabledForProject(this.apiKey,100,100)?re.isBrowserSupported()?(c().debug("Autocapture enabled..."),re.init(this,e)):(this.config.autocapture=!1,this.__autocapture_enabled=!1,c().debug("Disabling Automatic Event Collection because this browser is not supported")):(this.config.autocapture=!1,this.__autocapture_enabled=!1,c().debug("Not in active bucket: disabling Automatic Event Collection."))}},r.prototype.manageFormTracking=function(e){if(i()&&this.formTracking&&"none"!==this.formTracking){c().debug("Form tracking enabled...");var t=!0===this.formTracking?"all":this.formTracking;ie.getInstance(this,t).track()}},r.prototype.capture=function(e,t){var n,r;if(void 0===t&&(t={}),this.initialized)if($(e)||"string"!=typeof e)console.error("No event name provided to usermaven.capture");else{var i={event:e+(t.$event_type?"_"+t.$event_type:""),properties:this._calculate_event_properties(e,t)};(null===(r=null===(n=(i=J(i,this.get_config("properties_string_max_length"))).properties)||void 0===n?void 0:n.autocapture_attributes)||void 0===r?void 0:r.tag_name)&&this.track("$autocapture",i.properties),"$scroll"===e&&this.track(e,i.properties),"$form"===e&&this.track(e,i.properties)}else console.error("Trying to capture event before initialization")},r.prototype._calculate_event_properties=function(e,t){var n,r,i=t||{};if("$snapshot"===e||"$scroll"===e||"$form"===e)return i;T(this.propertyBlacklist)?L(this.propertyBlacklist,(function(e){delete i[e]})):console.error("Invalid value for property_blacklist config: "+this.propertyBlacklist);var o={},s=i.$elements||[];return s.length&&(o=s[0]),i.autocapture_attributes=o,i.autocapture_attributes.el_text=null!==(n=i.autocapture_attributes.$el_text)&&void 0!==n?n:"",i.autocapture_attributes.event_type=null!==(r=i.$event_type)&&void 0!==r?r:"",["$ce_version","$event_type","$initial_referrer","$initial_referring_domain","$referrer","$referring_domain","$elements"].forEach((function(e){delete i[e]})),delete i.autocapture_attributes.$el_text,delete i.autocapture_attributes.nth_child,delete i.autocapture_attributes.nth_of_type,i},r}();var _e="lib.js",be=["use_beacon_api","cookie_domain","tracking_host","cookie_name","key","ga_hook","segment_hook","randomize_url","capture_3rd_party_cookies","id_method","log_level","compat_mode","privacy_policy","cookie_policy","ip_policy","custom_headers","force_use_fetch","min_send_timeout","max_send_timeout","max_send_attempts","disable_event_persistence","project_id","autocapture","properties_string_max_length","property_blacklist","exclude","auto_pageview","namespace","cross_domain_linking","domains","form_tracking"];var ke="data-suppress-interception-warning";function we(e){return"\n ATTENTION! "+e+"-hook set to true along with defer/async attribute! If "+e+" code is inserted right after Usermaven tag,\n first tracking call might not be intercepted! Consider one of the following:\n - Inject usermaven tracking code without defer/async attribute\n - If you're sure that events won't be sent to "+e+" before Usermaven is fully initialized, set "+ke+'="true"\n script attribute\n '}function Pe(e){var t=document.currentScript;if(t){var n,r={tracking_host:(n=t.getAttribute("src"),n.replace("/s/"+_e,"").replace("/"+_e,"")),key:null},i=t.getAttribute("data-namespace")||"usermaven";be.forEach((function(e){var n="data-"+e.replace(new RegExp("_","g"),"-");if(void 0!==t.getAttribute(n)&&null!==t.getAttribute(n)){var i=t.getAttribute(n);"true"===i?i=!0:"false"===i&&(i=!1),r[e]=i}}));var o=i+"Client";e[o]=function(e){var t=new ye;return t.init(e),t}(r),!r.segment_hook||null===t.getAttribute("defer")&&null===t.getAttribute("async")||null!==t.getAttribute(ke)||c().warn(we("segment")),!r.ga_hook||null===t.getAttribute("defer")&&null===t.getAttribute("async")||null!==t.getAttribute(ke)||c().warn(we("ga")),!function(t,n){e[t]=function(){var r=e[t+"Q"]=e[t+"Q"]||[];r.push(arguments),Se(r,e[n])}}(i,o),r.project_id&&e[i]("set",{project_id:r.project_id}),"true"!==t.getAttribute("data-init-only")&&"yes"!==t.getAttribute("data-init-only")&&e[i]("track","pageview");var s="beforeunload";return(navigator.userAgent.match(/iPad/i)||navigator.userAgent.match(/iPhone/i))&&(s="pagehide"),e.addEventListener(s,(function(){e[i]("track","$pageleave")})),e[o]}c().warn("Usermaven script is not properly initialized. The definition must contain data-usermaven-api-key as a parameter")}function Se(e,t){c().debug("Processing queue",e);for(var n=0;n<e.length;n+=1){var i=r([],e[n],!0)||[],o=i[0],s=i.slice(1),a=t[o];"function"==typeof a&&a.apply(t,s)}e.length=0}!function(e){if(window){var t=window,n=e,r=Pe(t);r?(c().debug("Usermaven in-browser tracker has been initialized",n),t[n]=function(){var e=t[n+"Q"]=t[n+"Q"]||[];e.push(arguments),Se(e,r)},t[n+"Q"]&&(c().debug("Initial queue size of "+t[n+"Q"].length+" will be processed"),Se(t[n+"Q"],r))):c().error("Usermaven tracker has not been initialized (reason unknown)")}else c().warn("Usermaven tracker called outside browser context. It will be ignored")}(document.currentScript.getAttribute("data-namespace")||"usermaven")}();
1
+ !function(){"use strict";var e=function(){return e=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},e.apply(this,arguments)};function t(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))}function n(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}}function r(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}function i(e=void 0){const t=!!globalThis.window&&!!globalThis.window.document&&!!globalThis.window.location;return!t&&e&&c().warn(e),t}function o(e=void 0){if(!i())throw new Error(e||"window' is not available. Seems like this code runs outside browser environment. It shouldn't happen");return window}"function"==typeof SuppressedError&&SuppressedError;var s={DEBUG:{name:"DEBUG",severity:10},INFO:{name:"INFO",severity:100},WARN:{name:"WARN",severity:1e3},ERROR:{name:"ERROR",severity:1e4},NONE:{name:"NONE",severity:1e4}},a=null;function c(){return a||(a=u())}function u(e){var t=i()&&window.__eventNLogLevel,n=s.WARN;if(t){var o=s[t.toUpperCase()];o&&o>0&&(n=o)}else e&&(n=e);var a={minLogLevel:n};return Object.values(s).forEach((function(e){var t=e.name,i=e.severity;a[t.toLowerCase()]=function(){for(var e=[],o=0;o<arguments.length;o++)e[o]=arguments[o];if(i>=n.severity&&e.length>0){var s=e[0],a=e.splice(1),c="[J-"+t+"] "+s;"DEBUG"===t||"INFO"===t?console.log.apply(console,r([c],a,!1)):"WARN"===t?console.warn.apply(console,r([c],a,!1)):console.error.apply(console,r([c],a,!1))}}})),function(e,t){if(i()){var n=window;n.__usermavenDebug||(n.__usermavenDebug={}),n.__usermavenDebug[e]=t}}("logger",a),a}function l(e,t,n){void 0===n&&(n={});try{var r=n.maxAge,i=n.domain,o=n.path,s=n.expires,a=n.httpOnly,u=n.secure,l=n.sameSite,p=e+"="+encodeURIComponent(t);if(i&&(p+="; domain="+i),p+=o?"; path="+o:"; path=/",s&&(p+="; expires="+s.toUTCString()),r&&(p+="; max-age="+r),a&&(p+="; httponly"),u&&(p+="; secure"),l)switch("string"==typeof l?l.toLowerCase():l){case!0:p+="; SameSite=Strict";break;case"lax":p+="; SameSite=Lax";break;case"strict":p+="; SameSite=Strict";break;case"none":p+="; SameSite=None"}else u&&(p+="; SameSite=None");return p}catch(e){return c().error("serializeCookie",e),""}}var p,d=function(){if(i())return function(e){var t=e.split(".");if(4===t.length&&t.every((function(e){return!isNaN(e)})))return e;var n=function(e){var t=e.match(/[a-z0-9][a-z0-9-]+\.[a-z.]{2,6}$/i);return t?t[0]:""}(e);return n||(n=function(e){var t=function(e){return(e.indexOf("//")>-1?e.split("/")[2]:e.split("/")[0]).split(":")[0].split("?")[0]}(e),n=t.split("."),r=n.length;return r>2&&(2==n[r-1].length?(t=n[r-2]+"."+n[r-1],2==n[r-2].length&&(t=n[r-3]+"."+t)):t=n[r-2]+"."+n[r-1]),t}(e)),n}(window.location.hostname)};function h(e){if(!e)return{};for(var t={},n=e.split(";"),r=0;r<n.length;r++){var i=n[r],o=i.indexOf("=");o>0&&(t[i.substr(r>0?1:0,r>0?o-1:o)]=i.substr(o+1))}return t}function f(e,t){return Array.from(e.attributes).forEach((function(e){t.setAttribute(e.nodeName,e.nodeValue)}))}function m(e,t){e.innerHTML=t;var n,r=e.getElementsByTagName("script");for(n=r.length-1;n>=0;n--){var i=r[n],o=document.createElement("script");f(i,o),i.innerHTML&&(o.innerHTML=i.innerHTML),o.setAttribute("data-usermaven-tag-id",e.id),document.getElementsByTagName("head")[0].appendChild(o),r[n].parentNode.removeChild(r[n])}}var g=function(e){if(!e)return null;try{for(var t=e+"=",n=o().document.cookie.split(";"),r=0;r<n.length;r++){for(var i=n[r];" "==i.charAt(0);)i=i.substring(1,i.length);if(0===i.indexOf(t))return decodeURIComponent(i.substring(t.length,i.length))}}catch(e){c().error("getCookies",e)}return null},v=function(e,t,n){void 0===n&&(n={}),o().document.cookie=l(e,t,n)},y=function(e,t){void 0===t&&(t="/"),document.cookie=e+"= ; SameSite=Strict; expires = Thu, 01 Jan 1970 00:00:00 GMT"+(t?"; path = "+t:"")},_=function(){return Math.random().toString(36).substring(2,12)},b=function(){return Math.random().toString(36).substring(2,7)},k={utm_source:"source",utm_medium:"medium",utm_campaign:"campaign",utm_term:"term",utm_content:"content"},w={gclid:!0,fbclid:!0,dclid:!0};var P=function(){function e(){this.queue=[]}return e.prototype.flush=function(){var e=this.queue;return this.queue=[],e},e.prototype.push=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];(e=this.queue).push.apply(e,t)},e}(),S=function(){function e(e){this.key=e}return e.prototype.flush=function(){var e=this.get();return e.length&&this.set([]),e},e.prototype.push=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=this.get();n.push.apply(n,e),this.set(n)},e.prototype.set=function(e){localStorage.setItem(this.key,JSON.stringify(e))},e.prototype.get=function(){var e=localStorage.getItem(this.key);return null!==e&&""!==e?JSON.parse(e):[]},e}(),x=Object.prototype,N=x.toString,E=x.hasOwnProperty,A=Array.prototype.forEach,C=Array.isArray,O={},T=C||function(e){return"[object Array]"===N.call(e)};function I(e,t,n){if(Array.isArray(e))if(A&&e.forEach===A)e.forEach(t,n);else if("length"in e&&e.length===+e.length)for(var r=0,i=e.length;r<i;r++)if(r in e&&t.call(n,e[r],r)===O)return}var D=function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")};function L(e,t,n){if(null!=e)if(A&&Array.isArray(e)&&e.forEach===A)e.forEach(t,n);else if("length"in e&&e.length===+e.length){for(var r=0,i=e.length;r<i;r++)if(r in e&&t.call(n,e[r],r)===O)return}else for(var o in e)if(E.call(e,o)&&t.call(n,e[o],o)===O)return}var j=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return I(t,(function(t){for(var n in t)void 0!==t[n]&&(e[n]=t[n])})),e};function H(e,t){return-1!==e.indexOf(t)}var F=function(e){try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}},$=function(e){return void 0===e},U=function(){function e(t){return t&&(t.preventDefault=e.preventDefault,t.stopPropagation=e.stopPropagation),t}return e.preventDefault=function(){this.returnValue=!1},e.stopPropagation=function(){this.cancelBubble=!0},function(t,n,r,i,o){if(t)if(t.addEventListener&&!i)t.addEventListener(n,r,!!o);else{var s="on"+n,a=t[s];t[s]=function(t,n,r){return function(i){if(i=i||e(window.event)){var o,s=!0;F(r)&&(o=r(i));var a=n.call(t,i);return!1!==o&&!1!==a||(s=!1),s}}}(t,r,a)}else c().error("No valid element provided to register_event")}}(),M=function(e){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];try{return e.apply(this,t)}catch(e){c().error("Implementation error. Please turn on debug and contact support@usermaven.com.",e)}}},z="undefined"!=typeof Symbol?Symbol("__deepCircularCopyInProgress__"):"__deepCircularCopyInProgress__";function R(e,t,n){return e!==Object(e)?t?t(e,n):e:e[z]?void 0:(e[z]=!0,T(e)?(r=[],I(e,(function(e){r.push(R(e,t))}))):(r={},L(e,(function(e,n){n!==z&&(r[n]=R(e,t,n))}))),delete e[z],r);var r}var q=["$performance_raw"];function J(e,t){return R(e,(function(e,n){return n&&q.indexOf(n)>-1?e:"string"==typeof e&&null!==t?e.slice(0,t):e}))}function B(e){switch(typeof e.className){case"string":return e.className;case"object":return("baseVal"in e.className?e.className.baseVal:null)||e.getAttribute("class")||"";default:return""}}function V(e){var t="";return X(e)&&!Z(e)&&e.childNodes&&e.childNodes.length&&L(e.childNodes,(function(e){K(e)&&e.textContent&&(t+=D(e.textContent).split(/(\s+)/).filter(ee).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255))})),D(t)}function W(e){return!!e&&1===e.nodeType}function G(e,t){return!!e&&!!e.tagName&&e.tagName.toLowerCase()===t.toLowerCase()}function K(e){return!!e&&3===e.nodeType}function Q(e){return!!e&&11===e.nodeType}var Y=["a","button","form","input","select","textarea","label"];function X(e){for(var t=e;t.parentNode&&!G(t,"body");t=t.parentNode){var n=B(t).split(" ");if(H(n,"ph-sensitive")||H(n,"ph-no-capture"))return!1}if(H(B(e).split(" "),"ph-include"))return!0;var r=e.type||"";if("string"==typeof r)switch(r.toLowerCase()){case"hidden":case"password":return!1}var i=e.name||e.id||"";if("string"==typeof i){if(/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(i.replace(/[^a-zA-Z0-9]/g,"")))return!1}return!0}function Z(e){return!!(G(e,"input")&&!["button","checkbox","submit","reset"].includes(e.type)||G(e,"select")||G(e,"textarea")||"true"===e.getAttribute("contenteditable"))}function ee(e){if(null===e||$(e))return!1;if("string"==typeof e){e=D(e);if(/^(?:(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11}))$/.test((e||"").replace(/[- ]/g,"")))return!1;if(/(^\d{3}-?\d{2}-?\d{4}$)/.test(e))return!1}return!0}var te=function(){function e(e,t){void 0===t&&(t=!1),this.clicks=[],this.instance=e,this.enabled=t}return e.prototype.click=function(e,t,n){if(this.enabled){var r=this.clicks[this.clicks.length-1];r&&Math.abs(e-r.x)+Math.abs(t-r.y)<30&&n-r.timestamp<1e3?(this.clicks.push({x:e,y:t,timestamp:n}),3===this.clicks.length&&this.instance.capture("$rageclick")):this.clicks=[{x:e,y:t,timestamp:n}]}},e}(),ne=function(){function e(e){this.instance=e,this.lastScrollDepth=0,this.canSend=!0,this.documentElement=document.documentElement}return e.prototype.track=function(){var e=this.getScrollDepth();e>this.lastScrollDepth&&(this.lastScrollDepth=e,this.canSend=!0)},e.prototype.send=function(e){if(void 0===e&&(e="$scroll"),this.canSend){var t={percent:this.lastScrollDepth,window_height:this.getWindowHeight(),document_height:this.getDocumentHeight(),scroll_distance:this.getScrollDistance()};this.instance.capture(e,t),this.canSend=!1}},e.prototype.getScrollDepth=function(){try{var e=this.getWindowHeight(),t=this.getDocumentHeight(),n=this.getScrollDistance(),r=t-e;return Math.min(100,Math.floor(n/r*100))}catch(e){return 0}},e.prototype.getWindowHeight=function(){try{return window.innerHeight||this.documentElement.clientHeight||document.body.clientHeight||0}catch(e){return 0}},e.prototype.getDocumentHeight=function(){try{return Math.max(document.body.scrollHeight||0,this.documentElement.scrollHeight||0,document.body.offsetHeight||0,this.documentElement.offsetHeight||0,document.body.clientHeight||0,this.documentElement.clientHeight||0)}catch(e){return 0}},e.prototype.getScrollDistance=function(){try{return window.scrollY||window.pageYOffset||document.body.scrollTop||this.documentElement.scrollTop||0}catch(e){return 0}},e}(),re={_initializedTokens:[],_previousElementSibling:function(e){if(e.previousElementSibling)return e.previousElementSibling;var t=e;do{t=t.previousSibling}while(t&&!W(t));return t},_getPropertiesFromElement:function(e,t,n){var r=e.tagName.toLowerCase(),i={tag_name:r};Y.indexOf(r)>-1&&!n&&(i.$el_text=V(e));var o=B(e);o.length>0&&(i.classes=o.split(" ").filter((function(e){return""!==e}))),L(e.attributes,(function(n){var r;Z(e)&&-1===["name","id","class"].indexOf(n.name)||!t&&ee(n.value)&&("string"!=typeof(r=n.name)||"_ngcontent"!==r.substring(0,10)&&"_nghost"!==r.substring(0,7))&&(i["attr__"+n.name]=n.value)}));for(var s=1,a=1,c=e;c=this._previousElementSibling(c);)s++,c.tagName===e.tagName&&a++;return i.nth_child=s,i.nth_of_type=a,i},_getDefaultProperties:function(e){return{$event_type:e,$ce_version:1}},_extractCustomPropertyValue:function(e){var t=[];return L(document.querySelectorAll(e.css_selector),(function(e){var n;["input","select"].indexOf(e.tagName.toLowerCase())>-1?n=e.value:e.textContent&&(n=e.textContent),ee(n)&&t.push(n)})),t.join(", ")},_getCustomProperties:function(e){var t=this,n={};return L(this._customProperties,(function(r){L(r.event_selectors,(function(i){L(document.querySelectorAll(i),(function(i){H(e,i)&&X(i)&&(n[r.name]=t._extractCustomPropertyValue(r))}))}))})),n},_getEventTarget:function(e){var t;return void 0===e.target?e.srcElement||null:(null===(t=e.target)||void 0===t?void 0:t.shadowRoot)?e.composedPath()[0]||null:e.target||null},_captureEvent:function(e,t,n){var r,i=this,o=this._getEventTarget(e);if(K(o)&&(o=o.parentNode||null),"scroll"===e.type)return this.scrollDepth.track(),!0;if("visibilitychange"===e.type&&"hidden"===document.visibilityState||"popstate"===e.type)return this.scrollDepth.send(),!0;if("click"===e.type&&e instanceof MouseEvent&&(null===(r=this.rageclicks)||void 0===r||r.click(e.clientX,e.clientY,(new Date).getTime())),o&&function(e,t){if(!e||G(e,"html")||!W(e))return!1;for(var n=e;n&&!G(n,"body");){if(n.classList&&n.classList.contains("um-no-capture"))return!1;n=n.parentNode&&Q(n.parentNode)?n.parentNode.host:n.parentNode}var r=!1;for(n=e;n&&!G(n,"body");)if(n.parentNode&&Q(n.parentNode))(n=n.parentNode.host)&&Y.indexOf(n.tagName.toLowerCase())>-1&&(r=!0);else{var i=n.parentNode;if(!i)break;if(Y.indexOf(i.tagName.toLowerCase())>-1)r=!0;else{var o=window.getComputedStyle(i);o&&"pointer"===o.getPropertyValue("cursor")&&(r=!0)}n=i}var s=window.getComputedStyle(e);if(s&&"pointer"===s.getPropertyValue("cursor")&&"click"===t.type)return!0;var a=e.tagName.toLowerCase();switch(a){case"html":return!1;case"form":return"submit"===t.type;case"input":case"select":case"textarea":return"change"===t.type||"click"===t.type;default:return r?"click"===t.type:"click"===t.type&&(Y.indexOf(a)>-1||"true"===e.getAttribute("contenteditable"))}}(o,e)){for(var s=[o],a=o;a.parentNode&&!G(a,"body");)Q(a.parentNode)?(s.push(a.parentNode.host),a=a.parentNode.host):(s.push(a.parentNode),a=a.parentNode);var c,u=[],l=!1;if(L(s,(function(e){var t=X(e);"a"===e.tagName.toLowerCase()&&(c=e.getAttribute("href"),c=t&&ee(c)&&c),H(B(e).split(" "),"ph-no-capture")&&(l=!0),u.push(i._getPropertiesFromElement(e,null==n?void 0:n.mask_all_element_attributes,null==n?void 0:n.mask_all_text))})),(null==n?void 0:n.mask_all_text)||(u[0].$el_text=V(o)),c&&(u[0].attr__href=c),l)return!1;var p=j(this._getDefaultProperties(e.type),{$elements:u},this._getCustomProperties(s));return t.capture("$autocapture",p),!0}},_navigate:function(e){window.location.href=e},_addDomEventHandlers:function(e,t){var n=this,r=function(r){r=r||window.event,n._captureEvent(r,e,t)};U(document,"submit",r,!1,!0),U(document,"change",r,!1,!0),U(document,"click",r,!1,!0),U(document,"visibilitychange",r,!1,!0),U(document,"scroll",r,!1,!0),U(window,"popstate",r,!1,!0)},_customProperties:[],rageclicks:null,scrollDepth:null,opts:{},init:function(e,t){var n=this;if(this.rageclicks=new te(e),this.scrollDepth=new ne(e),this.opts=t,!document||!document.body)return console.debug("document not ready yet, trying again in 500 milliseconds..."),void setTimeout((function(){n.readyAutocapture(e,t)}),500);this.readyAutocapture(e,t)},readyAutocapture:function(e,t){this._addDomEventHandlers(e,t)},enabledForProject:function(e,t,n){if(!e)return!0;t=$(t)?10:t,n=$(n)?10:n;for(var r=0,i=0;i<e.length;i++)r+=e.charCodeAt(i);return r%t<n},isBrowserSupported:function(){return F(document.querySelectorAll)}};!function(e){for(var t in e)"function"==typeof e[t]&&(e[t]=e[t].bind(e))}(re),function(e){for(var t in e)"function"==typeof e[t]&&(e[t]=M(e[t]))}(re);var ie=function(){function e(e,t){void 0===t&&(t="all"),this.instance=e,this.trackingType=t,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",this.track.bind(this)):this.track()}return e.prototype.track=function(){var e=this;this.formElements=document.querySelectorAll("form"),"tagged"===this.trackingType&&(this.formElements=document.querySelectorAll("form[data-um-form]")),this.formElements.forEach((function(t){t.addEventListener("submit",(function(t){var n=t.target,r=e._getFormDetails(n);e.instance.capture("$form",function(e){for(var t in e)(""===e[t]||null===e[t]||void 0===e[t]||"object"==typeof e[t]&&0===Object.keys(e[t]).length)&&delete e[t];return e}(r))}))}))},e.getInstance=function(t,n){return void 0===n&&(n="all"),e.instance||(e.instance=new e(t,n)),e.instance},e.prototype._getFormDetails=function(e){var t=this,n={form_id:e.id,form_name:e.name||"",form_action:e.action,form_method:e.method},r=e.querySelectorAll("input, select, textarea");return Array.from(r).filter((function(e){return!e.classList.contains("um-no-capture")})).forEach((function(e,r){var i=t._getFieldProps(e,r);Object.assign(n,i)})),n},e.prototype._getFieldProps=function(e,t){var n,r=Object.keys(e.dataset).length?JSON.stringify(e.dataset):void 0,i=this.getSafeText(e);return(n={})["field_"+(t+1)+"_tag"]=e.tagName.toLowerCase(),n["field_"+(t+1)+"_type"]=e instanceof HTMLInputElement?e.type:void 0,n["field_"+(t+1)+"_data_attributes"]=r,n["field_"+(t+1)+"_id"]=e.id,n["field_"+(t+1)+"_value"]=i,n["field_"+(t+1)+"_class"]=e.className,n["field_"+(t+1)+"_name"]=e.name,n},e.prototype.getSafeText=function(e){var t="";if("value"in e&&"password"!==e.type)t=e.value;else if(e.hasChildNodes()){t=Array.from(e.childNodes).filter((function(e){return e.nodeType===Node.TEXT_NODE})).map((function(e){return e.textContent})).join("")}else t=e.textContent||"";return this._scrubPotentiallySensitiveValues(t)},e.prototype._scrubPotentiallySensitiveValues=function(e){return this._shouldCaptureValue(e)?e:"<redacted>"},e.prototype._shouldCaptureValue=function(e){if(this._isNullish(e))return!1;if(this._isString(e)){e=this._trim(e);if(/^(?:(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11}))$/.test((e||"").replace(/[- ]/g,"")))return!1;if(/(^\d{3}-?\d{2}-?\d{4}$)/.test(e))return!1}return!0},e.prototype._isNullish=function(e){return null==e},e.prototype._isString=function(e){return"string"==typeof e||e instanceof String},e.prototype._trim=function(e){return e.trim().replace(/^\s+|\s+$/g,"")},e}(),oe="production",se="1.4.3"+"/"+oe+"@"+"2024-11-19T10:08:32.324Z",ae=316224e3,ce=function(e,t){c().debug("Sending beacon",t);var n=new Blob([t],{type:"text/plain"});return navigator.sendBeacon(e,n),Promise.resolve()};var ue=function(e,t){return console.debug("Jitsu client tried to send payload to "+e,function(e){if("string"==typeof e)try{return JSON.stringify(JSON.parse(e),null,2)}catch(t){return e}}(t)),Promise.resolve()};function le(e,t){void 0===t&&(t=void 0),""!=(t=null!=t?t:window.location.pathname)&&"/"!=t&&(y(e,t),le(e,t.slice(0,t.lastIndexOf("/"))))}var pe=function(){function e(e,t){this.cookieDomain=e,this.cookieName=t}return e.prototype.save=function(e){v(this.cookieName,JSON.stringify(e),{domain:this.cookieDomain,secure:"http:"!==document.location.protocol,maxAge:ae})},e.prototype.restore=function(){le(this.cookieName);var e=g(this.cookieName);if(e)try{var t=JSON.parse(decodeURIComponent(e));return"object"!=typeof t?void c().warn("Can't restore value of "+this.cookieName+"@"+this.cookieDomain+", expected to be object, but found "+("object"!=typeof t)+": "+t+". Ignoring"):t}catch(t){return void c().error("Failed to decode JSON from "+e,t)}},e.prototype.delete=function(){y(this.cookieName)},e}(),de=function(){function e(){}return e.prototype.save=function(e){},e.prototype.restore=function(){},e.prototype.delete=function(){},e}();var he={getSourceIp:function(){},describeClient:function(){return{referer:document.referrer,url:window.location.href,page_title:document.title,doc_path:document.location.pathname,doc_host:document.location.hostname,doc_search:window.location.search,screen_resolution:screen.width+"x"+screen.height,vp_size:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0)+"x"+Math.max(document.documentElement.clientHeight||0,window.innerHeight||0),user_agent:navigator.userAgent,user_language:navigator.language,doc_encoding:document.characterSet}},getAnonymousId:function(e){var t=e.name,n=e.domain,r=e.crossDomainLinking,i=void 0===r||r,o=e.cookiePolicy;if("strict"===(void 0===o?"keep":o))return"";if(le(t),i){var s=new URLSearchParams(window.location.search).get("_um"),a=window.location.hash.substring(1).split("~"),u=a.length>1?a[1]:void 0,l=s||u;if(l){c().debug("Existing user id from other domain",l);var p=g(t);return p&&p===l||v(t,l,{domain:n,secure:"http:"!==document.location.protocol,maxAge:ae}),l}}var d=g(t);if(d)return c().debug("Existing user id",d),d;var h=_();return c().debug("New user id",h),v(t,h,{domain:n,secure:"http:"!==document.location.protocol,maxAge:ae}),h}};var fe={getSourceIp:function(){},describeClient:function(){return{}},getAnonymousId:function(){return""}},me=function(){return he},ge=function(){return fe},ve=function(e,t,n,r){void 0===r&&(r=function(e,t){});var i=new window.XMLHttpRequest;return new Promise((function(o,s){i.onerror=function(n){c().error("Failed to send payload to "+e+": "+((null==n?void 0:n.message)||"unknown error"),t,n),r(-1,{}),s(new Error("Failed to send JSON. See console logs"))},i.onload=function(){200!==i.status?(r(i.status,{}),c().warn("Failed to send data to "+e+" (#"+i.status+" - "+i.statusText+")",t),s(new Error("Failed to send JSON. Error code: "+i.status+". See logs for details"))):r(i.status,i.responseText),o()},i.open("POST",e),i.setRequestHeader("Content-Type","application/json"),Object.entries(n||{}).forEach((function(e){var t=e[0],n=e[1];return i.setRequestHeader(t,n)})),i.send(t),c().debug("sending json",t)}))},ye=function(){function r(){this.userProperties={},this.groupProperties={},this.permanentProperties={globalProps:{},propsPerEvent:{}},this.cookieDomain="",this.trackingHost="",this.idCookieName="",this.randomizeUrl=!1,this.namespace="usermaven",this.crossDomainLinking=!0,this.formTracking=!1,this.domains=[],this.apiKey="",this.initialized=!1,this._3pCookies={},this.cookiePolicy="keep",this.ipPolicy="keep",this.beaconApi=!1,this.transport=ve,this.customHeaders=function(){return{}},this.queue=new P,this.maxSendAttempts=4,this.retryTimeout=[500,1e12],this.flushing=!1,this.attempt=1,this.propertyBlacklist=[],this.__autocapture_enabled=!1,this.__auto_pageview_enabled=!1,this.trackingHostFallback="https://events.usermaven.com"}return r.prototype.get_config=function(e){return this.config?this.config[e]:null},r.prototype.id=function(t,n){return this.userProperties=e(e({},this.userProperties),t),c().debug("Usermaven user identified",t),this.userIdPersistence?this.userIdPersistence.save(t):c().warn("Id() is called before initialization"),n?Promise.resolve():this.track("user_identify",{})},r.prototype.group=function(t,n){return this.groupProperties=e(e({},this.groupProperties),t),c().debug("Usermaven group identified",t),this.userIdPersistence?this.userIdPersistence.save({company:t}):c().warn("Group() is called before initialization"),n?Promise.resolve():this.track("group",{})},r.prototype.reset=function(e){if(this.userIdPersistence&&this.userIdPersistence.delete(),this.propsPersistance&&this.propsPersistance.delete(),e){var t=g(this.idCookieName);t&&(c().debug("Removing id cookie",t),v(this.idCookieName,"",{domain:this.cookieDomain,expires:new Date(0)}))}return Promise.resolve()},r.prototype.rawTrack=function(e){return this.sendJson(e)},r.prototype.makeEvent=function(t,n,r){var o,s=r.env,a=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}(r,["env"]);s||(s=i()?me():ge()),this.restoreId();var c=this.getCtx(s),u=e(e({},this.permanentProperties.globalProps),null!==(o=this.permanentProperties.propsPerEvent[t])&&void 0!==o?o:{}),l=e({api_key:this.apiKey,src:n,event_type:t},a),p=s.getSourceIp();return p&&(l.source_ip=p),this.compatMode?e(e(e({},u),{eventn_ctx:c}),l):e(e(e({},u),c),l)},r.prototype._send3p=function(e,t,n){var r="3rdparty";n&&""!==n&&(r=n);var i=this.makeEvent(r,e,{src_payload:t});return this.sendJson(i)},r.prototype.sendJson=function(e){return t(this,void 0,Promise,(function(){return n(this,(function(t){switch(t.label){case 0:return n="false","undefined"!=typeof window&&window.localStorage&&(n=localStorage.getItem("um_exclusion")),null!=n&&"false"!==n?[3,3]:this.maxSendAttempts>1?(this.queue.push([e,0]),this.scheduleFlush(0),[3,3]):[3,1];case 1:return[4,this.doSendJson(e)];case 2:t.sent(),t.label=3;case 3:return[2]}var n}))}))},r.prototype.doSendJson=function(e){var t=this,n="keep"!==this.cookiePolicy?"&cookie_policy="+this.cookiePolicy:"",r="keep"!==this.ipPolicy?"&ip_policy="+this.ipPolicy:"",o=i()?"/api/v1/event":"/api/v1/s2s/event",s=""+this.trackingHost+o+"?token="+this.apiKey+n+r;this.randomizeUrl&&(s=this.trackingHost+"/api."+b()+"?p_"+b()+"="+this.apiKey+n+r);var a=JSON.stringify(e);return c().debug("Sending payload to "+s,e.length),this.transport(s,a,this.customHeaders(),(function(e,n){return t.postHandle(e,n)}))},r.prototype.scheduleFlush=function(e){var t=this;if(!this.flushing){if(this.flushing=!0,void 0===e){var n=Math.random()+1,r=Math.pow(2,this.attempt++);e=Math.min(this.retryTimeout[0]*n*r,this.retryTimeout[1])}c().debug("Scheduling event queue flush in "+e+" ms."),setTimeout((function(){return t.flush()}),e)}},r.prototype.flush=function(){return t(this,void 0,Promise,(function(){var e,t,r=this;return n(this,(function(n){switch(n.label){case 0:if(i()&&!window.navigator.onLine&&(this.flushing=!1,this.scheduleFlush()),e=this.queue.flush(),this.flushing=!1,0===e.length)return[2];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this.doSendJson(e.map((function(e){return e[0]})))];case 2:return n.sent(),this.attempt=1,c().debug("Successfully flushed "+e.length+" events from queue"),[3,4];case 3:return n.sent(),this.trackingHost!==this.trackingHostFallback&&(c().debug("Using fallback tracking host "+this.trackingHostFallback+" instead of "+this.trackingHost+" on "+oe),this.trackingHost=this.trackingHostFallback),(e=e.map((function(e){return[e[0],e[1]+1]})).filter((function(e){return!(e[1]>=r.maxSendAttempts)||(c().error("Dropping queued event after "+e[1]+" attempts since max send attempts "+r.maxSendAttempts+" reached. See logs for details"),!1)}))).length>0?((t=this.queue).push.apply(t,e),this.scheduleFlush()):this.attempt=1,[3,4];case 4:return[2]}}))}))},r.prototype.postHandle=function(e,t){if("strict"===this.cookiePolicy||"comply"===this.cookiePolicy){if(200===e){var n=t;if("string"==typeof t&&(n=JSON.parse(t)),!n.delete_cookie)return}this.userIdPersistence.delete(),this.propsPersistance.delete(),y(this.idCookieName)}if(200===e){n=t;if("string"==typeof t&&t.length>0){var r=(n=JSON.parse(t)).jitsu_sdk_extras;if(r&&r.length>0)if(i())for(var o=0,s=r;o<s.length;o++){var a=s[o],u=a.type,l=a.id,p=a.value;if("tag"===u){var d=document.createElement("div");d.id=l,m(d,p),d.childElementCount>0&&document.body.appendChild(d)}}else c().error("Tags destination supported only in browser environment")}}},r.prototype.getCtx=function(t){var n=new Date,r=t.describeClient()||{},i=e({},this.userProperties),o=i.company||{};delete i.company;var s,a,c=e(e({event_id:"",user:e(e({},i),{anonymous_id:t.getAnonymousId({name:this.idCookieName,domain:this.cookieDomain,crossDomainLinking:this.crossDomainLinking,cookiePolicy:this.cookiePolicy})}),ids:this._getIds(),utc_time:(s=n.toISOString(),a=s.split(".")[1],a?a.length>=7?s:s.slice(0,-1)+"0".repeat(7-a.length)+"Z":s),local_tz_offset:n.getTimezoneOffset()},r),function(e){var t={utm:{},click_id:{}};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n],i=k[n];i?t.utm[i]=r:w[n]&&(t.click_id[n]=r)}return t}(function(e){if(!e)return{};for(var t=e.length>0&&"?"===e.charAt(0)?e.substring(1):e,n={},r=("?"===t[0]?t.substr(1):t).split("&"),i=0;i<r.length;i++){var o=r[i].split("=");n[decodeURIComponent(o[0])]=decodeURIComponent(o[1]||"")}return n}(r.doc_search)));return Object.keys(o).length&&(c.company=o),c},r.prototype._getIds=function(){if(!i())return{};for(var e=function(e){if(void 0===e&&(e=!1),e&&p)return p;var t=h(document.cookie);return p=t,t}(!1),t={},n=0,r=Object.entries(e);n<r.length;n++){var o=r[n],s=o[0],a=o[1];this._3pCookies[s]&&(t["_"==s.charAt(0)?s.substr(1):s]=a)}return t},r.prototype.pathMatches=function(e,t){return new URL(t).pathname.match(new RegExp("^"+e.trim().replace(/\*\*/g,".*").replace(/([^\.])\*/g,"$1[^\\s/]*")+"/?$"))},r.prototype.track=function(e,t){var n=this,r=t||{};c().debug("track event of type",e,r);var o=i()?me():ge(),s=this.getCtx(o);if(this.config&&this.config.exclude&&this.config.exclude.length>1&&(null==s?void 0:s.url)&&this.config.exclude.split(",").some((function(e){return n.pathMatches(e.trim(),null==s?void 0:s.url)})))return void c().debug("Page is excluded from tracking");var a=t||{};"$autocapture"!==e&&"user_identify"!==e&&"pageview"!==e&&"$pageleave"!==e&&(a={event_attributes:t});var u=this.makeEvent(e,this.compatMode?"eventn":"usermaven",a);return this.sendJson(u)},r.prototype.init=function(r){var o,l,p,h,f,m,g,v,y,_=this;if(i()&&!r.force_use_fetch)r.fetch&&c().warn("Custom fetch implementation is provided to Usermaven. However, it will be ignored since Usermaven runs in browser"),this.transport=this.beaconApi?ce:ve;else{if(!r.fetch&&!globalThis.fetch)throw new Error("Usermaven runs in Node environment. However, neither UsermavenOptions.fetch is provided, nor global fetch function is defined. \nPlease, provide custom fetch implementation. You can get it via node-fetch package");this.transport=(g=r.fetch||globalThis.fetch,function(r,i,o,s){return void 0===s&&(s=function(e,t){}),t(void 0,void 0,void 0,(function(){var t,a,u,l,p,d,h,f;return n(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,g(r,{method:"POST",headers:e({Accept:"application/json","Content-Type":"application/json"},o||{}),body:i})];case 1:return t=n.sent(),[3,3];case 2:return a=n.sent(),c().error("Failed to send data to "+r+": "+((null==a?void 0:a.message)||"unknown error"),i,a),s(-1,{}),[2];case 3:if(200!==t.status)return c().warn("Failed to send data to "+r+" (#"+t.status+" - "+t.statusText+")",i),s(t.status,{}),[2];u={},l="",p=null!==(f=null===(h=t.headers)||void 0===h?void 0:h.get("Content-Type"))&&void 0!==f?f:"",n.label=4;case 4:return n.trys.push([4,6,,7]),[4,t.text()];case 5:return l=n.sent(),u=JSON.parse(l),[3,7];case 6:return d=n.sent(),c().error("Failed to parse "+r+" response. Content-type: "+p+" text: "+l,d),[3,7];case 7:try{s(t.status,u)}catch(e){c().error("Failed to handle "+r+" response. Content-type: "+p+" text: "+l,e)}return[2]}}))}))})}if(r.custom_headers&&"function"==typeof r.custom_headers?this.customHeaders=r.custom_headers:r.custom_headers&&(this.customHeaders=function(){return r.custom_headers}),"echo"===r.tracking_host&&(c().warn('jitsuClient is configured with "echo" transport. Outgoing requests will be written to console'),this.transport=ue),r.ip_policy&&(this.ipPolicy=r.ip_policy),r.cookie_policy&&(this.cookiePolicy=r.cookie_policy),"strict"===r.privacy_policy&&(this.ipPolicy="strict",this.cookiePolicy="strict"),r.use_beacon_api&&navigator.sendBeacon&&(this.beaconApi=!0),"comply"===this.cookiePolicy&&this.beaconApi&&(this.cookiePolicy="strict"),r.log_level&&(v=r.log_level,(y=s[v.toLocaleUpperCase()])||(console.warn("Can't find log level with name "+v.toLocaleUpperCase()+", defaulting to INFO"),y=s.INFO),a=u(y)),this.initialOptions=r,c().debug("Initializing Usemaven Tracker tracker",r,se),r.key){if(this.compatMode=void 0!==r.compat_mode&&!!r.compat_mode,this.cookieDomain=r.cookie_domain||d(),this.namespace=r.namespace||"usermaven",this.crossDomainLinking=null===(o=r.cross_domain_linking)||void 0===o||o,this.formTracking=null!==(l=r.form_tracking)&&void 0!==l&&l,this.domains=r.domains?r.domains.split(",").map((function(e){return e.trim()})):[],this.trackingHost=function(e){for(;n="/",-1!==(t=e).indexOf(n,t.length-n.length);)e=e.substr(0,e.length-1);var t,n;return 0===e.indexOf("https://")||0===e.indexOf("http://")?e:"https://"+e}(r.tracking_host||"t.usermaven.com"),this.randomizeUrl=r.randomize_url||!1,this.apiKey=r.key,this.__auto_pageview_enabled=r.auto_pageview||!1,this.idCookieName=r.cookie_name||"__eventn_id_"+r.key,"strict"===this.cookiePolicy?this.propsPersistance=new de:this.propsPersistance=i()?new pe(this.cookieDomain,this.idCookieName+"_props"):new de,"strict"===this.cookiePolicy?this.userIdPersistence=new de:this.userIdPersistence=i()?new pe(this.cookieDomain,this.idCookieName+"_usr"):new de,this.propsPersistance){var b=this.propsPersistance.restore();b&&(this.permanentProperties=b,this.permanentProperties.globalProps=null!==(p=b.globalProps)&&void 0!==p?p:{},this.permanentProperties.propsPerEvent=null!==(h=b.propsPerEvent)&&void 0!==h?h:{}),c().debug("Restored persistent properties",this.permanentProperties)}this.propertyBlacklist=r.property_blacklist&&r.property_blacklist.length>0?r.property_blacklist:[];this.config=j({},{autocapture:!1,properties_string_max_length:null,property_blacklist:[],sanitize_properties:null,auto_pageview:!1},r||{},this.config||{},{token:this.apiKey}),c().debug("Default Configuration",this.config),this.manageAutoCapture(this.config),this.manageFormTracking(this.config),this.manageCrossDomainLinking({cross_domain_linking:this.crossDomainLinking,domains:this.domains,cookiePolicy:this.cookiePolicy}),!1===r.capture_3rd_party_cookies?this._3pCookies={}:(r.capture_3rd_party_cookies||["_ga","_fbp","_ym_uid","ajs_user_id","ajs_anonymous_id"]).forEach((function(e){return _._3pCookies[e]=!0})),r.ga_hook&&c().warn("GA event interceptor isn't supported anymore"),r.segment_hook&&function(e){var t=window;t.analytics||(t.analytics=[]);e.interceptAnalytics(t.analytics)}(this),i()&&(r.disable_event_persistence||(this.queue=new S(this.namespace+"-event-queue"),this.scheduleFlush(0)),window.addEventListener("beforeunload",(function(){return _.flush()}))),this.__auto_pageview_enabled&&function(e){var t=function(){return e.track("pageview")},n=history.pushState;n&&(history.pushState=function(e,r,i){n.apply(this,[e,r,i]),t()},addEventListener("popstate",t));addEventListener("hashchange",t)}(this),this.retryTimeout=[null!==(f=r.min_send_timeout)&&void 0!==f?f:this.retryTimeout[0],null!==(m=r.max_send_timeout)&&void 0!==m?m:this.retryTimeout[1]],r.max_send_attempts&&(this.maxSendAttempts=r.max_send_attempts),this.initialized=!0}else c().error("Can't initialize Usemaven, key property is not set")},r.prototype.interceptAnalytics=function(t){var n=this,r=function(t){var r;try{var i=e({},t.payload);c().debug("Intercepted segment payload",i.obj);var o=t.integrations["Segment.io"];if(o&&o.analytics){var s=o.analytics;"function"==typeof s.user&&s.user()&&"function"==typeof s.user().id&&(i.obj.userId=s.user().id())}(null===(r=null==i?void 0:i.obj)||void 0===r?void 0:r.timestamp)&&(i.obj.sentAt=i.obj.timestamp);var a=t.payload.type();"track"===a&&(a=t.payload.event()),n._send3p("ajs",i,a)}catch(e){c().warn("Failed to send an event",e)}t.next(t.payload)};"function"==typeof t.addSourceMiddleware?(c().debug("Analytics.js is initialized, calling addSourceMiddleware"),t.addSourceMiddleware(r)):(c().debug("Analytics.js is not initialized, pushing addSourceMiddleware to callstack"),t.push(["addSourceMiddleware",r])),t.__en_intercepted=!0},r.prototype.restoreId=function(){if(this.userIdPersistence){var t=this.userIdPersistence.restore();t&&(this.userProperties=e(e({},t),this.userProperties))}},r.prototype.set=function(t,n){var r,i=null==n?void 0:n.eventType,o=void 0===(null==n?void 0:n.persist)||(null==n?void 0:n.persist);if(void 0!==i){var s=null!==(r=this.permanentProperties.propsPerEvent[i])&&void 0!==r?r:{};this.permanentProperties.propsPerEvent[i]=e(e({},s),t)}else this.permanentProperties.globalProps=e(e({},this.permanentProperties.globalProps),t);this.propsPersistance&&o&&this.propsPersistance.save(this.permanentProperties)},r.prototype.unset=function(e,t){o();var n=null==t?void 0:t.eventType,r=void 0===(null==t?void 0:t.persist)||(null==t?void 0:t.persist);n?this.permanentProperties.propsPerEvent[n]&&delete this.permanentProperties.propsPerEvent[n][e]:delete this.permanentProperties.globalProps[e],this.propsPersistance&&r&&this.propsPersistance.save(this.permanentProperties)},r.prototype.manageCrossDomainLinking=function(e){if(!i()||!e.cross_domain_linking||0===e.domains.length||"strict"===e.cookiePolicy)return!1;var t=this.idCookieName,n=e.domains||[];document.addEventListener("click",(function(e){var r=function(e){for(;e&&e.tagName;){if("a"==e.tagName.toLowerCase())return e;e=e.parentNode}return null}(e.target);if(r){var i=(null==r?void 0:r.hasAttribute("href"))?null==r?void 0:r.getAttribute("href"):"";if(i&&i.startsWith("http")){var o=new URL(i),s=g(t);if(o.hostname===window.location.hostname)return;n.includes(o.hostname)&&s&&(o.searchParams.append("_um",s),r.setAttribute("href",o.toString()))}}}),!1)},r.prototype.manageAutoCapture=function(e){if(c().debug("Auto Capture Status: ",this.config.autocapture),this.__autocapture_enabled=this.config.autocapture&&i(),this.__autocapture_enabled){re.enabledForProject(this.apiKey,100,100)?re.isBrowserSupported()?(c().debug("Autocapture enabled..."),re.init(this,e)):(this.config.autocapture=!1,this.__autocapture_enabled=!1,c().debug("Disabling Automatic Event Collection because this browser is not supported")):(this.config.autocapture=!1,this.__autocapture_enabled=!1,c().debug("Not in active bucket: disabling Automatic Event Collection."))}},r.prototype.manageFormTracking=function(e){if(i()&&this.formTracking&&"none"!==this.formTracking){c().debug("Form tracking enabled...");var t=!0===this.formTracking?"all":this.formTracking;ie.getInstance(this,t).track()}},r.prototype.capture=function(e,t){var n,r;if(void 0===t&&(t={}),this.initialized)if($(e)||"string"!=typeof e)console.error("No event name provided to usermaven.capture");else{var i={event:e+(t.$event_type?"_"+t.$event_type:""),properties:this._calculate_event_properties(e,t)};(null===(r=null===(n=(i=J(i,this.get_config("properties_string_max_length"))).properties)||void 0===n?void 0:n.autocapture_attributes)||void 0===r?void 0:r.tag_name)&&this.track("$autocapture",i.properties),"$scroll"===e&&this.track(e,i.properties),"$form"===e&&this.track(e,i.properties)}else console.error("Trying to capture event before initialization")},r.prototype._calculate_event_properties=function(e,t){var n,r,i=t||{};if("$snapshot"===e||"$scroll"===e||"$form"===e)return i;T(this.propertyBlacklist)?L(this.propertyBlacklist,(function(e){delete i[e]})):console.error("Invalid value for property_blacklist config: "+this.propertyBlacklist);var o={},s=i.$elements||[];return s.length&&(o=s[0]),i.autocapture_attributes=o,i.autocapture_attributes.el_text=null!==(n=i.autocapture_attributes.$el_text)&&void 0!==n?n:"",i.autocapture_attributes.event_type=null!==(r=i.$event_type)&&void 0!==r?r:"",["$ce_version","$event_type","$initial_referrer","$initial_referring_domain","$referrer","$referring_domain","$elements"].forEach((function(e){delete i[e]})),delete i.autocapture_attributes.$el_text,delete i.autocapture_attributes.nth_child,delete i.autocapture_attributes.nth_of_type,i},r}();var _e="lib.js",be=["use_beacon_api","cookie_domain","tracking_host","cookie_name","key","ga_hook","segment_hook","randomize_url","capture_3rd_party_cookies","id_method","log_level","compat_mode","privacy_policy","cookie_policy","ip_policy","custom_headers","force_use_fetch","min_send_timeout","max_send_timeout","max_send_attempts","disable_event_persistence","project_id","autocapture","properties_string_max_length","property_blacklist","exclude","auto_pageview","namespace","cross_domain_linking","domains","form_tracking"];var ke="data-suppress-interception-warning";function we(e){return"\n ATTENTION! "+e+"-hook set to true along with defer/async attribute! If "+e+" code is inserted right after Usermaven tag,\n first tracking call might not be intercepted! Consider one of the following:\n - Inject usermaven tracking code without defer/async attribute\n - If you're sure that events won't be sent to "+e+" before Usermaven is fully initialized, set "+ke+'="true"\n script attribute\n '}function Pe(e){var t=document.currentScript;if(t){var n,r={tracking_host:(n=t.getAttribute("src"),n.replace("/s/"+_e,"").replace("/"+_e,"")),key:null},i=t.getAttribute("data-namespace")||"usermaven";be.forEach((function(e){var n="data-"+e.replace(new RegExp("_","g"),"-");if(void 0!==t.getAttribute(n)&&null!==t.getAttribute(n)){var i=t.getAttribute(n);"true"===i?i=!0:"false"===i&&(i=!1),r[e]=i}}));var o=i+"Client";e[o]=function(e){var t=new ye;return t.init(e),t}(r),!r.segment_hook||null===t.getAttribute("defer")&&null===t.getAttribute("async")||null!==t.getAttribute(ke)||c().warn(we("segment")),!r.ga_hook||null===t.getAttribute("defer")&&null===t.getAttribute("async")||null!==t.getAttribute(ke)||c().warn(we("ga")),!function(t,n){e[t]=function(){var r=e[t+"Q"]=e[t+"Q"]||[];r.push(arguments),Se(r,e[n])}}(i,o),r.project_id&&e[i]("set",{project_id:r.project_id}),"true"!==t.getAttribute("data-init-only")&&"yes"!==t.getAttribute("data-init-only")&&e[i]("track","pageview");var s="beforeunload";return(navigator.userAgent.match(/iPad/i)||navigator.userAgent.match(/iPhone/i))&&(s="pagehide"),e.addEventListener(s,(function(){e[i]("track","$pageleave")})),e[o]}c().warn("Usermaven script is not properly initialized. The definition must contain data-usermaven-api-key as a parameter")}function Se(e,t){c().debug("Processing queue",e);for(var n=0;n<e.length;n+=1){var i=r([],e[n],!0)||[],o=i[0],s=i.slice(1),a=t[o];"function"==typeof a&&a.apply(t,s)}e.length=0}!function(e){if(window){var t=window,n=e,r=Pe(t);r?(c().debug("Usermaven in-browser tracker has been initialized",n),t[n]=function(){var e=t[n+"Q"]=t[n+"Q"]||[];e.push(arguments),Se(e,r)},t[n+"Q"]&&(c().debug("Initial queue size of "+t[n+"Q"].length+" will be processed"),Se(t[n+"Q"],r))):c().error("Usermaven tracker has not been initialized (reason unknown)")}else c().warn("Usermaven tracker called outside browser context. It will be ignored")}(document.currentScript.getAttribute("data-namespace")||"usermaven")}();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@usermaven/sdk-js",
3
- "version": "1.4.2",
3
+ "version": "1.4.3",
4
4
  "description": "Usermaven JavaScript SDK.",
5
5
  "main": "dist/npm/usermaven.cjs.js",
6
6
  "module": "dist/npm/usermaven.es.js",